141
264
589
203
924
648
963
935
956
153
451
887
43
370
912
116
229
736
729
26
243
525
551
80
827
682
383
886
857
989
573
216
926
571
988
439
773
975
223
759
892
947
58
337
757
855
41
385
565
558
383
949
942
327
973
769
702
926
962
354
342
146
914
571
721
151
470
776
837
584
713
752
562
826
113
645
934
863
134
314
923
666
365
6
2
603
302
488
780
607
882
162
473
318
450
110
357
383
819
724
432
927
860
905
980
807
898
132
162
684
290
30
447
132
93
260
257
761
71
653
65
700
96
993
112
11
245
298
404
343
394
216
876
745
358
950
846
245
803
162
373
46
632
149
454
580
405
920
66
5
797
760
893
608
272
104
572
458
810
318
512
587
840
963
281
412
275
968
484
801
367
556
505
350
553
393
989
205
243
88
513
593
169
405
948
654
431
692
643
266
734
224
613
891
996
650
307
212
854
326
547
573
238
457
321
634
729
24
457
494
975
202
650
573
290
913
725
979
992
845
271
651
441
945
852
108
689
333
299
271
0
556
747
477
0
80
487
230
132
245
888
604
845
996
961
683
888
625
504
861
59
520
779
709
556
880
949
856
24
107
318
766
356
152
900
388
73
831
299
193
830
767
642
314
200
352
763
973
129
304
455
990
134
322
696
736
955
975
342
621
760
819
694
779
62
907
834
495
262
410
9
222
491
972
745
349
220
1
760
900
889
286
618
109
814
112
755
244
442
766
56
605
438
675
758
991
453
504
699
579
128
530
878
595
223
857
255
879
888
200
333
286
372
704
178
995
493
791
528
572
848
214
1
460
931
513
633
654
130
369
392
969
702
114
903
522
239
919
840
250
483
541
119
71
548
352
862
214
872
329
622
343
939
114
851
142
579
510
728
541
245
493
828
260
198
398
913
351
284
753
407
244
233
595
206
493
375
798
46
30
556
4
396
217
790
118
175
29
440
944
658
6
633
864
905
534
136
737
341
743
174
964
999
542
514
230
866
388
824
281
262
223
101
204
936
671
750
754
581
801
28
78
411
943
666
981
472
526
253
170
569
396
343
328
589
675
847
196
169
372
20
907
451
388
60
199
564
102
549
690
513
394
790
360
327
821
228
997
106
639
26
621
769
504
957
680
195
364
901
27
71
423
899
510
850
742
390
109
850
793
692
261
819
910
972
392
190
518
58
531
533
401
627
132
746
324
474
49
219
967
555
806
683
580
573
825
865
596
386
715
425
861
798
523
631
80
204
165
170
952
822
231
132
452
276
426
642
702
137
690
414
470
511
216
828
187
52
344
224
459
977
78
367
811
347
374
759
3
226
62
929
485
71
700
772
521
1
246
682
896
598
973
554
182
773
851
217
415
58
736
445
697
19
763
725
571
598
190
341
769
659
459
401
291
795
648
281
255
920
404
423
286
956
558
721
396
889
806
574
733
615
949
711
28
953
455
306
528
890
6
476
553
172
465
75
346
512
726
945
736
401
343
630
916
493
824
629
884
289
934
442
63
188
720
757
386
767
330
469
121
896
693
80
639
685
652
864
445
389
742
926
352
92
912
902
858
241
997
753
338
785
202
726
718
906
508
110
153
314
571
721
972
291
976
971
540
370
309
648
157
153
110
769
738
713
232
936
531
697
101
586
208
794
380
723
759
779
144
111
444
808
197
502
387
243
685
772
285
997
199
489
169
319
494
774
0
262
594
746
356
340
996
237
184
380
173
170
333
874
282
141
254
404
59
929
239
779
302
590
193
575
667
58
646
497
452
559
281
863
772
313
762
298
783
57
824
305
199
962
351
677
43
212
882
767
673
732
806
133
762
62
139
896
674
226
93
96
621
74
950
242
264
960
507
13
93
576
862
741
976
196
220
176
929
237
704
923
754
227
272
887
709
938
180
526
365
564
998
352
584
387
103
30
143
650
548
282
576
546
842
894
262
667
726
229
514
687
954
844
173
119
289
54
911
833
654
285
888
219
598
516
408
129
836
750
595
306
789
32
525
332
328
819
150
565
927
1
154
224
68
557
590
381
179
28
360
36
773
637
827
986
990
980
30
252
969
337
589
779
117
739
387
671
81
605
799
190
191
156
398
762
461
124
822
695
903
813
634
861
719
105
806
328
94
631
319
973
831
231
4
359
975
336
42
542
661
146
776
787
26
751
884
554
203
649
65
970
663
361
977
574
787
90
365
758
458
312
991
881
884
2
777
235
71
623
305
331
610
326
718
54
687
966
814
730
410
109
349
435
307
912
253
550
793
292
692
773
144
374
329
271
281
194
701
264
827
986
334
647
561
429
563
43
97
408
948
729
366
81
290
283
436
143
60
773
283
153
403
864
353
404
381
352
664
447
525
175
174
58
815
358
738
966
842
82
372
8
62
188
209
573
85
493
341
571
749
350
818
816
731
495
16
69
153
984
623
88
544
868
200
495
240
646
752
145
721
182
794
90
789
250
766
600
818
50
793
121
474
729
773
745
582
515
944
549
273
858
587
984
251
462
618
969
937
63
367
551
788
941
623
190
46
816
380
757
654
991
716
133
294
724
659
807
324
787
180
452
877
137
957
391
95
123
929
674
748
755
974
836
363
344
486
150
9
212
10
976
290
836
532
446
260
310
566
327
368
115
451
290
231
664
983
818
286
269
921
23
962
873
386
104
444
774
874
674
263
726
324
227
276
626
639
326
285
860
413
591
195
2
928
749
854
579
510
326
497
755
666
93
244
461
606
290
653
995
367
246
586
488
491
929
833
706
239
615
734
982
940
140
607
147
447
989
301
592
923
49
38
796
354
184
736
579
777
224
975
272
680
626
865
211
102
62
393
109
217
365
314
715
326
442
784
875
38
82
730
23
306
91
856
109
311
801
400
563
438
520
405
934
269
24
58
480
189
584
319
20
755
927
385
158
612
554
434
230
256
371
489
746
453
418
508
123
736
533
697
110
179
850
685
692
506
479
301
772
602
4
905
272
907
361
398
927
123
216
901
345
696
694
313
559
827
356
934
649
805
51
597
743
448
589
308
839
563
303
277
212
30
828
4
969
292
592
587
483
36
925
822
875
103
782
190
681
420
715
855
986
927
553
121
827
483
451
910
235
861
715
130
354
523
290
535
605
169
212
827
872
607
849
463
248
31
60
460
661
832
68
49
680
246
636
965
185
140
898
748
144
120
655
464
593
297
205
54
119
30
516
205
275
92
873
347
439
949
156
321
413
860
283
901
288
109
361
176
363
993
448
113
862
716
605
930
332
633
865
48
677
829
872
425
577
605
914
352
298
498
76
30
452
185
496
393
58
264
615
450
795
892
585
819
926
349
172
904
889
459
58
451
626
915
805
50
509
861
371
586
322
70
911
510
300
886
121
808
957
654
101
989
603
9
471
303
618
709
901
726
21
777
59
26
750
674
724
530
951
641
527
801
865
205
102
722
338
839
75
607
688
714
888
202
430
747
69
527
762
935
27
463
568
211
213
2
234
653
626
150
947
832
237
484
480
84
97
777
69
53
291
842
687
206
247
729
578
886
552
596
93
975
670
594
672
815
631
48
392
880
584
70
852
592
278
729
469
753
905
563
551
122
248
959
67
732
913
824
14
661
339
301
707
391
236
820
692
59
977
710
587
454
488
774
365
310
185
455
512
583
753
779
481
173
458
582
612
815
599
932
382
333
446
717
468
128
750
831
634
196
406
373
163
330
984
710
650
616
602
803
737
518
238
366
762
800
864
616
409
991
441
687
39
444
634
982
209
692
340
0
903
542
142
536
994
971
469
533
228
180
540
866
746
45
728
587
555
639
111
946
814
633
646
361
866
39
674
169
401
328
626
390
984
923
278
689
48
864
35
370
905
412
535
121
149
464
414
805
770
573
18
134
55
800
555
468
625
767
110
159
304
262
142
179
154
685
86
444
315
46
575
207
676
282
839
858
931
922
831
331
694
280
940
391
77
499
423
935
392
461
330
460
302
633
2
759
825
394
399
481
225
636
851
161
678
518
814
451
973
429
543
622
745
723
789
462
943
794
459
869
866
958
454
352
946
926
760
319
733
997
877
211
874
865
1
351
426
998
183
981
369
410
189
283
384
507
125
934
279
572
958
341
354
886
256
526
41
175
901
490
7
304
756
609
835
568
339
993
408
135
805
755
827
234
754
719
341
437
976
797
259
447
704
848
445
240
643
528
100
485
165
921
644
742
88
121
116
400
95
866
751
520
85
764
312
941
770
708
791
822
61
32
901
399
67
831
178
436
126
683
6
333
405
55
797
772
734
922
771
896
992
454
605
584
31
784
593
5
117
929
60
493
703
594
720
397
597
997
327
983
340
674
772
67
648
449
869
210
779
761
102
698
100
335
271
627
760
979
299
524
427
5
404
892
981
206
703
639
439
698
497
705
920
762
757
429
453
199
608
98
111
205
167
113
141
537
346
385
775
361
855
968
906
476
131
772
809
160
987
354
532
103
482
323
141
491
333
624
506
446
530
647
220
932
848
739
179
218
7
795
982
835
254
870
675
245
125
818
768
437
623
418
145
840
514
12
220
907
588
130
909
890
752
324
877
343
615
301
22
87
759
800
223
758
350
527
311
719
239
971
576
87
731
975
831
416
207
659
829
263
181
627
902
180
242
837
212
322
568
78
297
541
793
882
578
433
587
262
99
490
237
537
99
777
559
401
583
713
347
234
393
279
343
395
687
715
365
498
50
934
920
227
208
140
835
489
872
437
375
820
171
802
229
636
691
691
938
922
385
200
557
276
122
132
353
715
464
688
943
981
438
742
797
595
745
450
256
533
589
759
486
439
612
42
868
480
879
383
800
9
286
542
286
453
237
641
347
469
922
804
502
191
380
666
829
139
823
511
942
284
67
328
300
125
90
367
38
505
137
661
614
389
958
159
370
74
755
289
15
871
610
838
887
310
100
639
31
892
162
15
749
962
13
122
668
697
396
924
77
946
716
469
234
668
991
827
887
721
396
557
98
800
513
482
268
495
748
859
180
567
577
273
495
258
597
51
143
320
494
580
929
549
616
560
383
313
676
718
284
481
897
992
528
613
16
739
714
441
87
283
355
366
367
307
437
6
186
192
489
906
659
345
335
635
580
900
315
46
644
322
504
830
465
776
650
566
121
765
933
858
847
67
696
962
540
750
642
970
983
553
368
529
521
629
332
248
907
44
766
917
948
950
434
200
172
446
674
42
979
2
97
900
706
196
453
262
825
517
130
398
261
291
375
19
239
832
81
983
335
802
577
82
915
782
833
329
298
918
419
337
46
523
374
293
247
344
972
585
405
358
107
41
479
591
934
552
551
642
596
950
490
304
876
364
979
878
846
461
871
881
156
928
793
385
740
713
125
762
189
241
448
724
839
309
335
929
705
637
261
508
81
110
242
274
262
528
946
172
877
833
906
743
583
7
478
618
493
987
903
466
398
528
595
992
193
428
197
613
219
66
763
354
546
173
907
66
295
319
424
120
123
851
174
470
907
239
642
958
680
277
209
632
126
77
108
781
51
480
766
758
856
352
153
293
514
561
340
278
382
130
88
384
473
40
2
362
152
407
184
338
66
874
429
580
535
689
390
345
722
885
238
721
29
404
671
577
709
365
755
562
955
575
652
484
174
999
882
857
564
668
763
942
36
898
380
398
523
816
769
655
228
301
18
81
362
909
736
735
732
736
35
383
827
922
377
6
99
268
178
216
716
28
521
530
86
876
783
143
520
957
710
909
750
593
226
639
926
820
252
26
157
467
467
205
781
448
615
769
85
237
278
624
186
994
63
139
26
611
175
7
966
237
734
874
250
696
161
644
648
415
292
469
99
617
962
676
148
957
364
950
78
632
532
558
638
745
16
897
533
458
909
53
970
665
145
605
540
679
199
455
7
425
553
397
880
610
255
113
660
231
120
252
824
107
911
270
520
954
686
118
819
902
904
59
792
808
638
778
725
309
274
408
492
313
0
561
690
790
789
261
275
324
675
181
845
136
782
889
624
811
493
858
547
370
500
810
866
309
19
615
634
681
517
206
85
761
331
68
870
35
616
784
296
636
47
383
158
972
948
499
585
539
177
522
283
524
107
756
405
465
986
228
257
635
18
574
967
749
440
561
192
865
237
206
422
10
431
635
612
591
427
573
941
673
291
471
51
450
773
211
650
255
228
224
330
402
581
553
160
995
498
551
76
282
816
827
304
79
900
412
627
453
58
217
625
841
711
870
889
786
12
72
75
943
425
179
869
69
707
44
275
156
956
928
69
385
522
493
656
503
688
28
342
722
683
399
421
577
612
228
852
905
584
314
204
329
130
435
824
933
682
922
108
818
506
58
160
875
745
682
771
117
526
486
19
442
957
505
89
156
887
972
64
825
508
550
129
945
180
706
24
949
152
818
200
38
465
313
596
68
890
233
902
899
370
324
396
822
618
119
299
983
612
594
55
94
131
38
981
24
586
526
637
506
337
976
381
227
553
649
762
469
469
959
406
131
757
593
860
802
336
529
102
193
973
589
135
323
846
353
188
921
242
840
846
26
776
712
554
566
756
683
196
263
610
71
540
568
255
747
613
697
388
646
869
690
181
360
542
913
347
417
970
924
787
889
341
670
375
434
227
314
453
82
485
536
840
86
992
37
853
424
486
101
805
97
670
568
520
22
582
641
900
922
775
697
964
992
300
643
352
417
296
334
566
154
202
599
311
379
364
370
253
163
778
20
127
488
215
656
832
526
601
85
85
191
785
801
663
574
784
96
117
363
261
517
611
618
438
884
113
382
131
659
701
980
904
796
68
476
485
361
273
213
165
785
599
669
437
782
874
32
810
656
97
343
277
167
158
523
487
619
356
789
503
968
44
340
481
739
226
13
167
347
971
562
83
715
263
849
264
277
846
779
821
798
865
137
409
486
573
687
575
96
850
189
137
227
477
987
969
951
637
316
713
505
302
996
418
754
353
237
641
745
343
976
425
125
154
743
641
372
296
37
80
658
863
873
940
728
222
551
892
117
715
840
286
645
935
792
189
663
158
800
817
200
295
174
224
724
523
88
812
683
292
461
430
247
592
744
713
202
221
416
905
17
396
823
601
471
371
700
588
45
211
127
429
889
22
690
106
922
474
446
37
984
399
473
250
519
108
252
867
2
912
74
726
293
413
181
535
133
765
963
968
834
214
650
107
671
661
635
708
571
898
711
674
657
111
608
441
948
184
698
558
743
142
624
5
968
2
529
971
737
926
598
483
384
469
164
810
532
764
452
426
895
837
840
318
211
229
889
110
674
302
703
706
400
506
761
786
96
713
523
49
886
474
813
870
621
328
742
951
228
295
150
524
975
982
959
919
768
201
695
869
138
908
204
192
630
943
269
35
539
345
76
699
309
511
772
119
962
878
638
494
206
116
367
791
67
412
247
988
427
312
654
956
688
633
265
440
566
400
446
125
723
961
993
824
845
469
379
432
452
800
249
393
115
509
817
633
854
72
662
373
71
912
831
644
952
129
424
940
49
128
449
656
530
803
475
578
209
865
985
344
951
375
871
460
730
584
350
800
516
657
773
217
688
300
618
149
656
904
886
579
843
195
453
150
848
407
579
263
650
714
778
931
130
417
498
869
82
816
545
375
344
387
410
349
270
75
319
35
333
420
265
792
785
477
30
34
177
228
609
440
508
450
989
23
708
307
907
348
803
712
44
540
296
113
210
281
364
617
86
167
156
867
253
403
245
545
817
150
633
167
520
869
887
66
509
209
950
25
777
611
97
512
258
412
805
306
432
519
914
154
425
601
611
594
457
571
223
558
689
887
561
657
126
400
797
882
408
889
829
775
496
385
775
383
2
695
748
101
937
935
508
161
894
247
359
87
662
973
0
17
384
827
641
115
173
103
18
775
798
386
151
217
556
741
52
631
748
636
740
78
206
734
380
660
95
793
422
773
391
596
746
219
713
704
105
504
256
85
931
902
260
152
534
818
794
925
302
841
638
347
890
49
231
815
592
235
460
419
119
115
74
142
979
664
423
975
159
218
690
268
838
203
521
394
912
216
352
188
341
968
950
241
273
644
416
905
641
551
221
306
503
579
610
772
671
88
638
687
11
905
124
754
147
305
362
393
212
426
310
534
349
228
374
417
948
380
794
411
190
176
375
171
522
991
368
877
487
110
298
42
546
519
659
184
950
555
69
477
143
329
891
489
556
528
484
42
731
601
262
967
234
134
34
550
13
829
574
764
702
469
507
958
990
948
438
410
579
723
360
540
387
19
233
106
578
427
60
29
352
421
54
843
174
631
812
199
246
305
393
598
274
879
287
902
942
490
403
261
830
247
339
761
946
901
713
14
706
51
4
762
674
505
948
738
856
69
820
997
755
962
769
435
301
58
433
757
275
175
41
588
50
583
44
220
693
235
994
237
951
919
608
313
674
469
958
351
569
414
525
943
929
914
475
740
928
384
478
288
892
500
781
474
521
221
288
560
23
880
887
105
326
111
706
408
271
809
818
51
584
99
993
221
100
562
861
912
311
219
843
250
416
478
87
111
439
892
535
728
458
676
990
403
701
295
506
446
594
457
713
739
277
856
594
53
607
590
554
663
837
20
881
849
91
28
775
604
766
235
586
510
317
714
88
831
182
162
927
418
354
566
203
496
56
915
970
345
778
487
653
670
144
581
80
901
664
349
560
619
423
125
29
515
568
547
667
479
889
945
992
962
665
461
207
47
68
928
316
227
992
239
142
498
338
845
603
811
392
441
587
998
8
333
693
739
698
65
505
287
755
457
892
643
853
26
634
164
731
506
482
603
88
149
304
969
124
161
377
309
101
682
219
364
546
570
948
75
458
316
887
184
382
680
192
764
19
914
40
16
277
196
480
314
634
701
978
304
367
507
214
22
146
782
540
386
152
40
329
329
649
762
178
6
418
483
275
135
695
107
297
338
395
659
66
628
885
127
580
671
265
917
946
889
714
359
22
373
885
537
153
811
655
321
52
756
50
753
415
837
483
678
702
455
288
173
871
522
626
474
866
330
453
936
422
539
280
862
124
715
23
104
799
887
302
188
231
132
262
479
64
841
760
633
965
433
26
701
443
831
82
376
192
889
492
243
480
729
440
96
137
735
82
85
226
550
154
325
867
18
241
105
57
739
752
502
513
907
375
322
885
214
711
972
479
439
388
201
836
677
349
303
562
627
789
224
101
648
599
472
207
78
245
400
178
243
484
169
615
495
894
561
469
610
56
524
645
528
167
230
532
664
460
507
472
359
538
491
546
903
21
629
456
326
691
842
611
655
256
800
506
209
27
878
301
763
247
776
972
288
917
893
397
958
280
897
338
511
338
225
520
519
933
805
299
759
672
329
450
686
683
883
585
889
805
548
58
607
693
947
520
424
431
104
815
48
895
684
236
167
847
513
379
1
902
875
425
813
512
710
147
314
974
77
0
857
895
349
271
672
171
657
739
235
20
883
896
175
920
614
921
206
899
366
543
490
388
302
348
77
577
395
224
506
220
831
722
485
193
87
678
616
529
906
840
159
746
408
30
221
765
832
109
627
579
501
31
875
786
93
703
660
968
418
811
503
504
286
364
115
452
340
664
649
791
101
195
411
21
481
0
37
969
493
761
212
406
211
694
572
795
128
660
485
796
417
994
277
418
269
696
234
501
505
633
565
192
563
155
936
955
235
987
928
240
68
306
297
691
910
440
614
561
514
477
957
344
832
360
884
931
2
148
92
261
102
749
32
608
328
823
69
24
100
582
217
430
658
645
319
446
163
605
63
889
579
412
919
973
142
724
978
616
757
213
85
844
533
937
5
935
216
516
560
371
73
172
939
675
434
966
360
882
101
416
820
280
535
375
616
497
67
322
292
499
156
3
367
667
428
43
474
880
582
675
608
931
606
675
382
523
779
216
491
175
970
421
748
952
406
946
509
997
630
874
846
770
964
862
563
223
384
502
547
477
273
946
483
585
835
479
744
231
421
503
253
802
752
327
923
95
523
301
410
601
741
597
756
681
67
565
701
159
280
418
600
222
438
183
123
18
52
18
597
72
438
930
462
991
673
445
362
88
512
348
873
631
323
429
307
820
206
252
889
199
162
589
394
685
332
179
762
771
714
476
40
631
883
316
195
655
795
594
819
548
395
453
996
743
985
126
657
476
999
496
638
149
812
197
214
974
966
282
519
430
20
900
913
395
730
676
499
745
911
896
210
844
894
866
308
57
18
838
274
113
410
198
909
749
313
915
16
181
673
974
911
767
924
129
800
869
643
534
363
344
472
349
360
217
501
594
594
988
831
463
710
622
4
870
436
772
771
650
326
561
68
667
54
219
653
701
652
303
947
751
59
957
408
169
152
239
776
879
2
584
715
815
479
355
380
565
362
750
562
758
430
388
728
621
651
196
589
347
718
568
793
54
603
283
899
638
184
37
753
511
877
629
91
152
559
319
238
331
149
622
146
793
569
449
576
448
799
232
526
788
956
429
518
546
945
669
391
228
520
597
36
333
49
947
138
979
515
806
312
151
968
313
489
646
299
7
239
599
634
924
676
776
937
588
91
61
914
72
575
291
628
89
530
845
815
480
705
172
988
407
982
394
508
770
334
619
384
213
965
660
9
794
450
461
184
31
506
666
61
653
283
526
3
369
41
971
752
71
640
563
980
519
914
739
765
714
976
264
849
460
966
419
599
525
369
534
801
403
424
742
944
623
206
437
158
254
272
350
741
418
606
702
864
784
101
834
983
845
868
700
598
971
303
588
132
666
85
556
533
553
36
739
649
759
674
552
15
575
589
226
95
908
574
552
435
648
306
30
344
358
850
378
169
604
141
602
374
920
284
966
592
506
729
699
787
20
111
141
535
736
389
40
421
645
437
875
743
177
1
598
275
277
39
402
966
947
347
998
58
592
507
674
237
556
273
824
329
865
521
635
268
287
417
733
697
362
454
676
691
37
327
862
596
266
613
892
156
357
675
112
144
457
950
825
53
447
570
705
574
631
604
995
885
769
477
726
978
463
964
57
918
643
213
330
568
222
497
238
785
963
684
519
437
687
222
356
76
672
20
480
93
852
166
760
20
280
22
533
348
718
477
520
6
60
596
375
201
194
328
291
869
852
643
919
273
845
437
193
616
4
885
627
773
638
197
537
16
705
170
308
694
221
260
186
275
154
201
372
623
15
504
171
423
764
991
246
114
241
169
971
804
575
571
394
480
634
331
866
663
615
158
704
744
907
83
425
494
811
368
296
223
136
380
239
659
923
926
185
689
389
320
179
984
887
381
846
332
933
216
715
876
889
484
297
41
406
244
513
906
248
820
221
682
727
640
655
52
17
851
794
592
286
101
382
61
323
481
56
822
228
111
326
876
95
135
70
335
657
299
741
853
29
892
335
173
991
675
105
110
324
406
206
978
548
316
546
291
622
120
993
333
893
566
546
695
395
317
196
162
967
737
252
893
180
514
789
538
386
992
272
676
869
610
388
98
934
274
584
862
913
716
684
746
751
960
711
171
954
915
54
663
288
280
512
57
578
699
993
152
31
484
855
826
150
722
187
807
424
237
291
353
137
708
873
743
467
295
458
889
203
842
874
226
678
819
702
438
677
71
185
138
91
550
607
378
220
927
14
853
316
439
52
393
593
582
555
332
200
625
476
287
342
962
544
462
980
631
397
999
289
719
826
916
535
70
58
356
720
176
418
315
136
407
941
317
377
716
105
198
844
262
858
513
729
633
457
212
953
668
871
333
166
168
555
787
587
360
736
793
185
392
536
481
272
9
438
778
441
246
96
859
234
228
791
378
138
959
53
700
736
294
400
383
932
682
381
619
569
925
336
404
900
514
527
128
146
656
921
578
949
101
533
908
758
906
90
881
118
641
482
361
808
805
339
492
40
367
159
780
963
381
147
769
179
572
101
32
959
762
299
124
334
737
697
196
386
915
431
971
951
426
292
793
585
138
565
390
72
410
177
347
470
56
335
950
945
782
253
960
657
240
164
930
804
109
367
476
168
356
587
300
70
682
247
499
370
440
959
556
764
530
313
888
844
485
231
230
275
337
648
389
464
383
179
212
199
751
99
540
640
338
131
198
314
229
619
83
104
932
742
80
177
340
225
172
279
276
94
936
500
574
622
829
843
173
358
875
667
932
48
772
66
90
827
668
959
75
637
577
101
420
986
828
345
756
240
721
472
375
334
275
607
461
937
71
611
139
181
199
381
654
812
877
563
111
767
579
52
130
832
531
566
709
268
483
64
458
547
106
299
731
77
156
878
23
917
150
561
831
170
552
360
206
753
996
30
904
482
560
729
402
248
731
440
952
736
773
623
472
301
528
83
950
965
841
253
592
469
913
297
873
880
785
396
821
343
114
884
264
953
420
241
911
241
722
706
455
674
591
160
956
762
931
602
793
440
648
311
113
365
783
516
680
135
153
161
966
931
503
673
183
362
22
982
786
906
248
68
543
693
567
299
52
673
510
318
723
200
557
360
46
66
190
782
329
380
176
67
544
524
297
471
252
209
769
400
695
673
787
891
774
220
697
961
263
618
600
222
610
784
118
436
316
247
977
143
680
540
281
679
555
630
163
956
518
376
203
641
850
855
180
361
428
904
60
530
896
668
799
865
526
237
687
233
218
653
205
187
198
394
427
170
337
985
523
289
813
298
480
737
65
801
880
160
800
606
427
581
346
218
165
584
410
647
365
218
703
946
509
710
368
739
85
813
140
800
207
413
683
202
688
289
623
190
907
809
896
619
714
72
504
112
226
257
250
184
735
286
76
512
879
388
769
962
604
903
374
940
612
762
745
881
857
464
892
945
913
929
537
192
294
180
930
616
724
55
714
209
590
349
372
621
47
382
427
823
335
548
644
862
724
22
958
999
114
618
707
85
295
30
629
708
129
735
141
964
722
505
271
829
354
651
683
482
236
345
75
905
348
855
637
684
11
514
302
669
826
220
812
533
152
376
526
222
893
534
533
932
401
980
78
405
433
941
438
196
241
685
971
44
289
301
711
108
678
17
182
500
519
112
176
99
960
88
624
788
70
520
848
384
183
552
613
531
221
854
889
428
936
530
514
372
704
484
101
227
662
774
45
775
502
567
782
218
334
344
539
599
11
104
394
996
661
565
683
513
805
284
139
333
139
664
872
837
183
852
418
390
625
552
554
909
204
0
904
710
634
697
319
573
322
763
863
223
401
298
916
424
366
157
603
431
582
291
654
933
182
417
957
127
923
564
246
315
758
1
985
614
531
242
84
632
912
580
596
446
448
357
463
423
807
590
553
64
587
716
181
533
613
296
510
977
864
397
877
529
524
331
196
375
191
95
909
896
479
967
937
397
889
171
975
587
909
662
987
848
815
982
679
550
221
261
350
559
300
793
717
484
366
144
329
259
704
613
339
836
442
390
670
221
44
995
348
772
268
943
478
611
349
355
965
513
110
257
44
772
40
875
263
136
621
231
131
52
608
42
41
634
766
499
402
889
452
852
492
669
20
524
79
377
736
946
331
73
700
632
464
760
261
418
122
548
746
642
240
956
47
374
877
181
390
722
812
523
403
25
782
37
366
221
952
321
423
478
582
737
170
454
517
556
288
730
237
521
384
11
928
787
94
30
610
243
910
629
202
521
738
212
824
620
549
404
624
463
166
102
523
415
479
194
218
361
677
381
997
380
759
213
465
725
672
849
302
890
499
117
771
432
850
324
95
424
503
365
967
328
46
528
193
920
98
869
861
439
216
113
375
318
14
93
187
604
156
359
528
343
344
76
871
663
630
45
239
409
973
230
582
620
30
316
941
962
782
432
493
386
95
553
101
368
997
938
401
599
633
490
658
640
143
986
599
938
866
914
235
695
661
659
458
792
506
373
225
769
728
327
907
167
858
453
531
491
474
690
73
346
742
873
959
944
97
143
329
917
302
423
512
102
36
93
576
507
276
646
907
962
210
707
979
491
948
822
706
365
902
535
495
696
93
337
715
483
106
711
57
768
722
301
414
113
948
188
602
777
114
48
676
928
868
559
244
298
71
535
731
506
224
184
870
731
949
599
821
552
308
626
29
829
25
92
967
506
868
324
943
834
979
41
986
768
165
832
977
25
359
522
629
949
667
960
675
719
641
494
284
645
800
346
476
342
831
277
957
171
32
384
239
414
507
8
522
684
551
530
877
881
913
687
595
242
605
774
826
797
999
27
344
922
246
13
325
643
438
350
69
293
208
428
733
481
709
719
890
668
301
522
442
211
878
437
750
784
198
562
765
691
407
802
909
352
377
945
464
678
223
941
459
747
552
985
959
865
610
923
664
282
748
204
498
667
62
234
724
20
189
82
35
105
805
787
314
476
524
228
605
855
396
528
501
813
589
472
680
940
827
436
118
114
138
4
973
782
228
640
638
735
164
59
611
30
818
33
540
245
862
537
723
94
341
304
349
658
409
772
590
359
13
460
16
641
723
922
741
784
443
532
557
148
744
746
99
772
738
212
7
632
823
380
158
370
351
508
803
682
876
976
784
912
933
140
829
695
85
527
200
428
405
339
749
991
42
21
307
674
131
601
983
36
381
941
609
795
647
961
837
286
263
111
166
107
717
882
551
529
163
238
759
15
76
706
806
808
338
833
229
731
944
307
106
138
103
236
841
247
293
483
771
858
297
995
337
417
524
538
277
669
253
570
690
905
101
681
121
624
173
767
82
330
983
549
469
447
822
195
78
331
68
715
691
814
401
928
63
183
845
13
11
622
191
126
434
452
174
796
23
697
863
93
229
195
417
424
901
504
508
699
19
88
995
863
645
198
416
72
975
106
593
69
875
272
38
769
412
223
523
181
295
453
143
982
52
617
551
694
428
864
161
674
165
384
335
183
352
295
886
420
706
776
925
497
61
483
100
233
669
110
57
291
882
979
292
285
383
698
183
9
903
409
89
230
224
430
124
995
187
930
682
816
811
818
975
615
808
99
816
242
454
527
877
43
677
270
367
924
23
300
805
87
482
750
171
367
406
599
217
335
887
62
570
271
361
176
615
110
585
967
70
38
429
897
89
589
793
439
750
982
136
201
366
365
533
615
279
600
783
688
6
398
788
947
848
967
488
577
65
388
766
839
385
566
916
568
443
16
985
439
202
13
372
308
634
879
966
925
855
217
625
844
576
186
445
923
720
0
673
951
959
832
886
88
461
959
576
666
466
562
405
134
8
977
320
260
634
873
2
37
540
42
48
479
672
504
565
878
314
270
497
307
667
18
107
176
554
923
854
172
726
991
96
875
817
239
593
450
739
174
501
960
430
49
20
161
728
141
831
101
246
445
665
605
761
694
956
421
112
570
130
705
430
52
794
155
640
231
214
714
558
933
739
734
416
344
112
361
230
953
906
160
194
639
542
687
963
345
454
808
671
848
761
82
299
83
105
655
833
917
289
185
988
378
978
796
583
363
422
138
280
732
19
888
755
294
468
24
425
791
227
90
396
843
682
588
166
433
214
350
609
718
378
700
540
126
176
942
411
201
818
416
270
187
389
129
597
109
474
351
187
537
530
206
633
80
766
604
603
248
865
709
736
71
666
140
121
735
858
851
754
684
948
272
7
738
448
906
352
218
2
673
234
238
507
200
831
389
569
254
292
415
74
898
666
859
588
149
838
15
312
353
618
79
162
972
748
396
765
159
24
682
14
565
240
8
590
343
655
277
284
252
576
874
932
50
939
195
601
367
97
139
905
332
180
236
783
220
750
972
533
31
38
994
806
851
826
760
370
154
547
549
910
852
409
505
903
499
745
532
60
333
67
921
491
513
742
124
67
389
56
995
821
36
567
576
189
990
734
553
708
844
430
37
421
244
353
77
495
138
803
570
771
235
990
549
750
923
206
157
837
671
490
672
412
351
24
678
824
796
699
287
360
804
236
52
499
494
349
873
84
300
283
31
591
528
401
981
876
274
873
284
454
6
666
259
587
10
589
111
398
312
19
283
673
55
227
491
37
869
114
966
426
802
991
708
209
232
857
930
293
12
84
210
510
601
346
773
514
502
28
532
731
235
413
740
235
244
495
998
436
380
163
364
191
750
314
470
982
254
860
137
37
434
297
368
331
27
339
538
974
569
404
322
26
725
544
982
89
114
321
917
510
326
571
667
158
382
588
963
893
464
87
5
756
396
34
406
532
315
612
953
942
454
877
161
551
845
463
427
642
55
328
283
966
152
628
756
365
787
172
646
662
680
195
715
357
0
472
218
979
241
523
149
846
116
416
938
966
376
941
312
615
474
189
579
958
469
351
563
198
293
356
804
132
12
592
815
147
858
975
808
570
448
267
848
266
997
548
52
183
843
457
584
869
705
497
441
920
306
571
277
387
627
652
165
81
723
946
708
845
682
224
965
637
308
441
258
390
109
155
923
961
334
879
469
736
561
315
537
409
825
942
613
586
823
697
256
299
382
872
899
595
784
959
978
197
788
723
9
469
814
566
855
626
126
86
811
88
587
903
125
864
456
430
167
117
556
779
719
554
645
401
853
330
88
707
200
966
428
766
870
102
656
918
732
30
597
563
73
411
761
621
722
753
892
461
417
556
222
569
490
347
88
56
85
434
277
856
466
908
481
779
251
797
375
84
220
973
209
604
863
761
291
139
501
121
310
886
83
879
697
809
333
190
541
131
899
89
391
755
90
433
950
68
254
785
912
32
464
980
590
123
236
455
358
917
841
910
220
778
105
737
369
102
953
881
380
172
765
453
812
270
887
340
85
835
904
691
206
417
710
5
412
57
917
408
907
650
177
92
141
439
589
361
923
914
825
758
343
285
670
904
270
647
544
672
488
488
417
462
76
846
276
377
191
193
616
133
207
592
415
820
444
163
654
73
124
27
8
161
761
728
669
721
568
994
571
723
244
203
362
973
122
173
846
691
997
860
647
329
255
151
180
841
263
176
487
528
280
0
397
525
867
804
865
382
318
712
634
585
3
453
454
329
133
65
875
633
706
206
744
875
421
478
328
301
219
604
369
108
225
668
371
438
216
164
39
873
836
929
284
72
356
972
909
986
324
884
965
867
192
82
993
984
279
908
346
710
816
55
899
686
375
619
608
398
491
434
204
180
293
224
121
261
99
633
466
445
225
243
77
944
850
434
327
425
513
312
563
257
861
788
88
782
571
526
542
695
168
47
663
964
159
446
832
349
786
14
510
444
89
5
365
820
254
841
887
850
710
208
213
819
596
845
190
211
594
178
948
63
155
516
965
895
897
334
893
175
968
471
249
423
592
12
493
344
266
768
249
968
433
149
205
971
174
271
93
191
545
830
702
616
553
844
346
775
586
773
268
68
605
472
728
655
791
169
873
633
24
768
296
151
281
905
196
725
866
868
131
315
616
45
65
103
245
130
951
983
957
301
377
302
2
756
993
855
998
926
239
564
570
570
88
112
596
106
893
846
264
456
619
181
799
334
486
451
120
111
201
454
350
600
38
834
271
991
993
951
749
705
112
388
536
782
117
61
104
888
591
61
835
92
887
207
187
900
726
273
24
524
837
55
797
567
955
189
301
772
805
157
996
378
676
260
825
492
166
694
570
786
664
679
401
135
875
35
616
775
357
957
125
6
152
331
964
524
484
598
154
315
484
297
85
29
178
847
732
843
875
86
765
632
353
662
415
641
311
420
227
465
220
558
329
573
956
49
8
571
1
158
962
9
253
705
423
891
889
698
631
909
36
276
370
60
602
231
710
893
19
654
106
110
608
921
331
768
925
775
540
627
733
520
490
956
955
749
174
953
696
319
6
184
85
906
243
416
410
117
322
74
506
984
163
575
111
479
663
434
220
706
477
800
898
796
805
57
376
496
154
481
594
962
396
105
806
424
183
451
97
564
228
364
208
469
914
525
904
862
131
799
458
281
121
640
846
493
576
889
283
967
626
587
219
235
253
682
481
964
158
337
315
57
278
950
343
870
579
303
968
269
803
505
354
798
239
280
94
423
345
28
848
805
469
539
305
150
855
262
509
725
654
745
749
801
507
869
622
918
925
440
391
860
521
218
567
461
370
767
414
168
781
8
637
969
293
541
443
622
107
532
132
761
167
570
866
238
415
662
508
322
368
459
444
630
654
402
41
550
878
262
915
848
218
530
299
670
88
277
633
605
99
552
298
406
595
541
511
563
645
65
855
819
404
233
209
359
184
81
506
329
560
499
481
717
271
635
611
136
522
142
237
445
499
369
927
459
814
554
553
750
399
682
57
586
620
885
482
163
886
218
771
839
453
434
978
299
186
536
52
343
823
415
82
94
535
999
911
140
487
238
188
103
817
459
612
41
467
606
199
744
192
69
570
73
373
743
911
402
85
857
533
175
494
581
351
152
614
168
837
596
150
142
302
429
224
120
108
612
66
231
131
593
380
355
866
726
465
425
762
763
690
758
770
575
715
956
972
772
616
334
872
179
966
731
511
146
761
285
297
716
313
206
321
19
265
157
633
265
300
279
738
38
13
836
480
425
966
79
635
41
588
557
928
894
622
54
530
144
869
343
20
940
170
905
729
475
649
926
317
642
940
888
30
492
964
621
225
555
161
547
858
349
844
511
939
193
477
413
741
524
865
22
912
539
586
336
823
114
403
957
776
526
275
494
102
944
362
956
672
192
958
361
631
373
714
392
482
341
693
209
165
878
606
631
479
208
518
734
302
954
186
989
77
979
830
877
641
454
591
869
866
720
601
431
631
610
504
570
150
651
277
220
262
988
899
296
618
158
196
215
724
408
373
72
899
915
638
852
680
807
907
103
837
288
384
800
11
57
89
916
109
878
981
924
361
785
550
581
967
257
897
65
663
891
391
866
946
300
768
121
717
2
785
138
356
584
64
174
596
476
121
748
806
367
477
222
464
242
501
404
520
210
250
509
779
186
689
97
162
174
663
105
57
106
674
670
432
745
321
523
828
405
153
516
978
831
914
688
9
430
939
530
973
908
974
396
728
358
856
578
957
815
117
339
965
74
276
447
426
495
819
107
986
975
469
117
253
196
435
291
126
444
384
86
120
893
395
373
500
0
531
92
221
800
534
714
859
163
962
503
197
743
134
352
464
811
960
434
686
728
735
293
518
902
953
794
941
648
358
322
996
80
498
215
962
101
978
308
278
716
466
694
573
712
76
480
179
492
286
35
806
433
508
276
549
221
472
200
312
100
633
595
60
328
573
983
0
863
804
534
41
539
163
176
813
902
335
479
150
601
792
494
131
531
437
131
652
737
803
875
461
223
480
979
109
885
622
689
950
790
93
443
698
585
324
437
666
594
920
55
233
411
554
367
131
428
57
389
115
503
870
986
411
124
338
414
580
212
653
248
961
950
112
767
540
279
193
433
670
386
717
891
228
917
322
390
871
38
965
694
711
275
855
489
169
615
388
719
819
272
734
224
445
794
242
7
271
944
896
816
145
485
214
238
76
979
391
246
514
229
946
952
686
719
767
147
89
870
125
11
20
165
338
950
672
761
225
139
281
378
782
584
514
242
555
472
672
391
955
127
951
268
990
964
113
369
658
689
280
521
914
227
944
940
121
928
273
449
964
242
660
64
558
750
489
362
970
590
499
901
26
680
739
55
287
674
54
258
485
634
206
724
780
274
129
82
604
67
301
259
850
328
124
809
952
49
462
218
325
616
513
464
348
67
690
831
995
165
291
698
866
377
509
751
788
483
293
3
159
126
561
368
548
115
368
292
176
283
357
31
144
543
637
754
846
920
611
1
489
279
819
392
908
422
465
185
197
905
362
9
695
345
237
375
530
858
552
956
155
797
53
392
858
231
827
512
476
702
875
717
109
379
573
225
510
393
121
227
81
138
47
245
58
150
967
536
58
276
734
763
826
967
314
397
89
624
857
69
887
743
66
891
127
151
802
801
477
420
211
392
90
237
961
9
99
369
833
886
543
419
277
953
827
676
129
144
88
284
298
181
767
482
411
233
302
506
778
749
731
523
929
530
492
341
532
187
295
790
657
62
736
717
891
378
110
119
414
222
490
847
212
242
152
912
854
527
309
206
479
787
928
182
603
313
896
891
189
681
128
89
340
484
300
798
523
237
393
469
855
851
139
488
315
329
821
330
975
727
151
692
415
40
819
582
965
267
856
849
728
248
143
230
456
254
266
556
810
22
152
704
36
181
516
548
489
279
457
769
204
529
420
727
451
958
570
885
169
175
764
540
733
483
269
981
260
621
508
381
967
423
340
468
6
243
555
169
224
188
404
824
581
142
739
922
3
994
918
454
387
177
270
867
253
891
280
357
297
387
481
668
337
828
629
23
314
816
166
767
270
287
571
185
973
737
487
424
514
356
302
127
464
396
717
947
362
433
494
853
280
535
706
7
996
889
800
423
26
445
451
756
868
221
961
554
337
420
765
688
800
49
339
450
507
304
423
121
333
717
668
91
663
260
132
616
648
469
395
856
221
317
693
596
403
467
917
330
470
3
75
481
127
455
539
977
496
887
487
623
854
584
264
891
430
917
935
313
144
201
290
450
739
802
38
109
794
582
588
952
102
910
44
679
129
384
606
103
729
935
183
867
856
900
391
193
651
513
482
98
124
269
954
550
95
461
53
452
960
844
284
314
703
660
81
643
982
751
396
485
991
345
70
985
750
710
871
618
861
539
21
509
351
0
129
16
804
251
362
419
774
471
951
816
332
943
386
213
404
880
788
669
908
413
479
342
507
280
373
179
124
933
196
10
505
852
547
172
13
289
587
118
44
417
202
137
932
531
901
152
714
279
925
774
140
19
932
743
453
951
420
803
201
863
371
35
931
199
361
315
590
104
735
256
89
592
145
678
741
213
390
324
958
879
431
918
343
712
180
103
148
883
90
27
190
450
786
769
528
615
391
33
630
42
830
149
223
611
492
683
833
152
232
436
778
725
979
758
289
361
7
983
587
915
108
856
64
622
269
881
40
563
141
359
279
670
378
950
453
783
105
476
988
672
478
468
550
350
905
727
718
829
953
122
451
20
514
271
569
252
98
581
393
631
187
496
626
631
213
847
235
930
459
603
194
246
698
192
927
245
458
835
520
36
648
687
287
360
967
867
647
434
857
8
707
150
611
529
597
58
89
299
23
647
841
625
3
826
125
56
482
452
747
152
440
270
73
283
121
561
765
533
293
719
976
557
983
705
119
109
108
328
952
694
434
875
81
691
323
297
762
743
685
900
420
984
678
166
378
235
21
827
611
140
996
43
820
914
253
392
627
694
41
287
731
592
477
321
267
364
618
985
837
54
266
484
709
708
257
593
905
593
934
372
470
337
554
201
6
808
320
110
703
435
89
231
660
575
695
267
161
31
849
512
375
149
419
903
413
246
918
666
583
924
424
127
785
688
725
791
276
434
600
858
270
315
53
169
652
560
99
870
39
55
427
420
778
468
983
7
869
100
119
221
259
346
862
514
246
614
934
260
593
363
234
217
373
580
925
705
760
75
155
209
733
266
284
570
672
609
102
318
171
419
353
686
635
666
375
627
74
69
746
148
839
694
996
991
185
414
814
576
262
334
57
193
30
220
255
155
592
241
430
24
764
664
349
452
24
36
982
326
22
435
307
807
683
710
290
118
645
65
80
376
195
556
652
669
988
601
214
463
699
765
340
716
676
198
39
962
709
922
252
305
411
91
152
796
857
83
511
133
92
182
716
695
54
73
404
398
600
517
417
806
737
846
296
143
667
121
560
449
792
802
247
262
220
416
571
411
676
986
492
947
217
110
729
680
454
216
133
395
980
283
930
200
369
363
62
488
685
890
162
390
922
310
161
308
55
876
482
493
461
828
181
267
829
551
6
676
750
729
286
635
504
714
556
190
889
536
305
88
567
596
719
105
387
954
507
784
525
583
967
294
245
161
497
367
423
480
587
445
624
779
869
679
681
20
636
147
502
675
502
482
522
192
52
480
694
585
747
46
93
259
450
471
616
664
624
676
393
231
199
941
875
597
143
414
735
967
110
591
515
569
225
149
204
753
390
290
749
913
19
638
109
41
799
395
937
171
202
159
443
165
697
556
887
915
434
829
905
704
214
568
403
161
887
58
2
799
374
876
896
408
849
773
37
830
215
187
480
495
8
513
298
73
210
972
238
58
891
247
741
718
769
509
225
907
257
960
578
614
824
356
262
627
824
318
870
915
510
773
38
133
558
160
148
826
407
804
316
418
520
626
752
581
378
501
530
550
166
929
70
466
13
356
160
52
267
799
883
764
74
572
83
984
701
815
797
861
66
228
745
828
169
34
482
803
518
790
700
904
625
867
248
372
591
74
74
557
547
785
446
558
180
392
580
631
284
274
918
302
529
607
598
385
869
260
382
207
617
761
908
786
6
433
846
764
273
993
394
607
752
249
507
447
459
487
233
152
407
184
284
548
505
412
406
959
842
279
910
607
268
838
717
235
554
54
248
164
585
23
197
143
423
708
329
530
464
795
756
514
952
139
916
349
545
771
609
235
467
18
949
767
893
691
861
771
865
628
165
711
849
660
132
163
841
216
707
923
305
312
596
437
660
611
277
878
688
726
859
533
910
5
424
315
706
164
96
732
613
6
735
63
204
357
756
446
281
655
795
898
133
754
555
639
81
494
139
589
964
802
35
424
642
246
971
760
120
217
675
130
830
962
918
936
236
950
242
468
544
415
916
233
152
589
277
630
581
982
42
946
638
300
379
835
599
311
673
691
673
357
202
614
948
519
678
976
403
9
92
960
278
513
791
466
543
824
813
167
226
540
781
272
287
213
183
334
469
946
852
299
491
491
384
802
529
517
52
716
48
256
751
618
627
857
350
932
492
530
121
421
244
845
886
109
44
140
407
389
987
755
69
964
53
968
759
350
960
488
166
834
681
843
137
576
509
636
529
389
302
740
576
328
343
667
256
604
796
632
274
792
426
952
80
955
863
487
446
406
490
74
480
52
344
716
543
16
841
247
960
202
97
453
949
722
312
700
387
14
18
795
574
164
438
165
667
630
336
239
985
623
856
251
429
610
559
889
190
112
201
368
636
966
627
305
340
746
797
905
475
868
327
886
984
92
674
590
486
9
971
446
455
593
897
277
73
439
531
209
745
723
274
171
623
795
316
162
419
570
575
420
608
880
605
376
218
926
997
47
114
349
26
342
863
9
115
777
95
137
989
406
314
506
239
775
217
590
548
541
809
791
989
743
714
139
891
770
32
847
384
175
996
522
972
265
209
163
610
96
135
578
831
308
395
385
897
677
220
44
273
776
90
794
633
154
563
894
390
6
458
331
943
348
567
607
55
681
982
88
624
386
512
740
594
482
611
428
230
356
212
107
49
842
441
480
333
766
880
72
171
845
893
9
53
651
978
532
491
685
705
688
599
476
505
607
351
406
766
892
636
636
489
591
991
243
306
179
634
78
964
756
302
120
323
733
283
526
343
779
85
831
992
763
384
711
887
189
832
552
370
627
561
684
321
154
890
541
394
528
737
576
106
687
46
604
857
466
506
856
96
863
171
735
664
684
824
757
113
367
237
846
982
583
630
541
221
475
416
612
13
164
664
35
693
522
365
981
682
478
603
114
814
485
788
104
346
521
811
972
818
708
744
747
42
684
780
512
207
182
400
59
97
730
267
70
379
179
285
303
746
216
351
756
817
764
543
87
554
645
635
139
740
636
206
781
171
521
813
757
903
787
408
318
905
549
736
614
797
436
783
698
642
195
5
665
241
737
127
627
656
919
721
7
884
518
354
830
51
582
767
53
409
485
487
362
723
172
152
609
955
689
637
496
533
442
677
807
939
248
229
860
32
439
209
303
745
84
889
24
478
39
210
76
449
459
259
793
509
980
702
619
920
592
966
567
518
444
409
555
380
72
139
130
817
981
956
641
919
233
676
36
776
286
696
79
660
724
437
495
920
549
661
284
710
539
425
241
431
180
971
237
946
541
261
778
45
97
999
428
906
169
965
887
832
4
136
951
227
603
451
147
409
504
112
916
706
515
182
301
240
611
468
511
468
894
486
593
36
684
610
545
63
643
934
9
190
451
78
700
108
806
853
365
812
27
392
699
607
361
887
879
735
505
75
442
172
591
650
706
53
707
188
26
422
34
829
97
717
158
238
91
422
592
595
33
277
176
943
615
614
428
605
471
442
360
561
315
134
607
139
995
815
4
287
276
903
444
637
606
856
794
526
889
390
20
161
481
546
77
352
700
366
772
769
808
67
330
972
485
533
925
1
994
605
563
966
284
136
195
850
819
108
5
184
900
746
875
368
643
205
204
831
372
163
390
897
769
754
10
609
567
19
700
563
943
498
724
179
316
330
305
710
69
231
327
150
12
678
217
255
308
61
478
597
755
601
376
882
952
561
636
381
600
546
803
6
991
399
826
570
296
900
689
863
457
737
411
95
26
102
681
308
48
720
505
786
592
12
629
972
641
53
285
407
977
752
246
326
786
186
354
444
616
931
840
766
795
742
145
953
455
2
77
988
1
294
796
381
830
817
413
293
389
782
302
701
703
257
972
300
449
605
260
651
492
467
171
647
743
402
681
786
888
795
628
587
206
295
857
286
846
848
367
621
264
49
146
436
210
718
253
402
573
883
561
542
567
39
233
524
356
616
937
643
262
240
487
641
862
166
519
244
292
429
946
800
848
881
541
865
245
778
984
128
727
35
414
733
314
4
180
547
176
505
671
199
630
191
921
672
242
568
46
294
11
448
681
238
785
813
947
449
425
763
489
744
825
545
510
20
24
179
982
927
65
134
138
807
793
135
465
212
923
701
553
474
602
745
295
863
965
768
370
850
348
134
483
463
95
86
150
446
869
356
329
651
211
26
710
48
438
262
142
851
418
9
330
735
422
552
710
234
309
348
401
245
393
833
430
640
646
739
437
415
584
233
43
717
397
653
530
962
946
542
962
121
821
391
255
478
298
331
400
394
821
200
659
685
201
996
443
573
983
293
204
703
50
760
70
484
748
82
426
763
678
961
723
434
546
818
549
150
299
623
942
40
720
994
77
768
824
154
862
732
116
91
264
202
455
14
640
704
470
64
632
118
480
886
836
561
661
363
567
11
884
373
755
340
832
297
416
791
859
332
755
229
9
532
186
702
55
731
395
714
332
473
490
355
419
250
200
657
781
650
21
928
310
688
417
24
238
349
451
141
721
681
803
454
676
481
848
109
278
611
458
64
575
117
986
842
551
766
373
26
584
394
362
705
571
50
812
55
661
354
963
128
781
374
790
950
639
529
964
204
554
60
201
376
472
201
246
187
434
789
667
528
419
811
990
195
759
439
11
48
87
970
570
876
109
701
605
395
891
162
191
160
81
811
339
690
814
25
132
832
881
732
778
822
444
599
394
887
951
965
721
488
475
926
465
858
675
53
670
551
739
937
13
329
759
437
311
179
636
780
95
547
772
546
622
723
745
129
785
56
477
182
230
311
163
416
865
858
289
928
457
913
76
683
786
346
774
716
628
854
959
715
64
242
109
929
353
391
522
265
750
427
717
531
611
789
79
81
623
118
450
767
261
509
668
303
239
291
440
404
416
978
819
726
378
32
320
1
13
652
6
456
102
183
332
717
972
165
795
228
267
957
162
675
718
617
197
991
624
755
10
694
985
787
965
738
599
464
753
182
762
13
152
875
806
105
964
583
268
345
338
754
71
603
390
118
841
126
728
544
324
71
910
204
128
167
630
926
9
372
337
673
600
161
109
378
421
992
723
193
633
823
897
802
525
1
924
781
94
173
836
393
951
350
837
124
148
947
446
490
788
183
393
332
863
571
927
595
619
291
974
328
708
105
118
121
521
210
726
412
20
186
600
172
693
427
871
667
962
691
677
612
152
18
30
524
343
512
56
677
586
762
55
178
752
132
127
744
785
636
298
818
11
446
42
783
991
512
591
211
489
992
784
45
886
667
594
618
348
728
881
950
801
16
704
785
267
645
515
174
882
325
489
56
758
433
435
923
662
671
825
544
565
448
66
352
660
420
757
771
131
251
750
660
910
954
76
34
307
140
794
540
594
911
577
238
881
119
647
155
134
776
535
354
381
468
380
669
76
920
458
316
583
317
400
103
821
12
392
427
11
724
424
41
16
372
279
400
411
619
503
442
980
335
120
587
922
443
812
88
426
130
658
754
460
504
229
267
133
925
425
726
212
946
549
181
294
860
501
742
398
520
273
314
699
503
925
474
566
253
649
973
322
232
358
984
285
490
518
450
376
918
452
42
4
903
801
658
528
247
359
438
515
996
7
392
955
527
995
487
838
510
580
880
964
925
710
602
522
119
373
282
268
764
434
871
540
289
611
577
999
835
306
376
303
569
750
204
536
879
611
962
312
836
233
23
121
707
946
162
375
199
752
830
68
420
832
626
533
443
700
139
798
702
94
554
755
407
943
298
186
878
104
817
476
639
607
745
882
555
243
693
491
536
440
358
154
111
275
193
547
147
306
590
500
859
28
841
183
280
996
462
970
231
884
164
123
879
196
666
942
369
728
995
552
337
749
20
536
230
326
530
50
744
936
815
533
383
283
763
657
392
579
906
858
254
74
984
265
777
544
325
524
73
155
349
319
671
116
860
38
511
774
405
206
735
999
30
408
601
179
217
151
346
70
921
309
836
610
129
355
728
971
369
399
662
553
792
612
822
879
474
197
979
966
336
659
645
224
135
574
764
658
95
69
218
309
27
907
935
105
266
458
387
646
331
337
322
999
972
393
335
334
320
773
470
268
602
994
394
353
486
367
729
3
726
398
425
363
384
939
812
75
617
122
541
129
288
919
778
330
198
458
4
871
291
25
566
770
303
793
332
562
225
743
475
55
956
45
14
594
497
907
218
340
767
56
397
277
36
943
185
357
299
966
31
115
218
58
235
227
374
357
40
746
111
707
53
852
687
997
451
581
291
843
255
102
700
255
151
962
975
922
974
201
383
1
273
467
963
575
364
242
492
376
765
304
162
651
491
565
995
259
104
799
318
757
395
139
156
503
635
784
928
352
302
436
542
381
863
169
46
568
449
820
558
365
892
814
478
572
530
376
504
468
513
118
766
596
872
790
745
775
140
167
869
363
639
519
735
601
522
17
19
215
681
789
960
483
761
65
172
871
953
784
718
564
644
222
405
556
644
920
843
483
866
272
656
384
507
239
590
201
882
304
210
798
875
338
931
315
148
576
607
592
812
918
191
143
33
977
857
992
193
42
971
450
629
810
531
218
822
507
127
870
80
858
461
824
988
700
746
176
570
18
435
446
449
806
95
970
788
585
509
269
390
835
149
839
842
254
71
3
42
106
571
606
790
493
936
146
972
34
360
25
85
807
906
626
935
385
531
569
436
155
908
480
926
274
948
865
819
482
133
169
715
697
65
224
193
640
493
792
229
999
730
389
853
293
684
611
230
156
323
273
545
461
638
112
668
606
77
894
286
768
362
431
24
277
624
346
676
579
935
611
5
86
227
472
437
383
583
325
695
433
514
758
691
142
844
918
58
891
415
482
247
260
468
277
123
274
679
472
103
363
258
947
163
463
209
770
200
491
600
83
454
555
896
291
374
342
655
384
421
542
151
120
525
326
957
514
364
83
264
39
720
18
426
247
109
659
418
712
187
844
343
276
315
159
87
621
537
47
8
703
847
675
230
145
94
157
805
458
661
302
427
323
169
94
850
293
19
91
723
323
984
14
721
426
990
931
475
551
597
372
440
937
31
494
248
684
29
854
309
491
859
808
886
638
761
663
481
360
86
369
779
60
511
510
784
751
448
30
912
617
469
716
104
913
745
523
539
787
307
596
996
141
5
99
657
780
58
982
280
335
204
350
3
766
653
790
413
880
832
805
986
907
321
545
529
14
461
9
606
945
15
639
118
463
920
723
405
928
527
297
300
350
632
727
908
298
2
868
282
924
83
494
702
241
350
543
672
379
337
152
765
30
782
552
551
531
334
49
10
701
303
99
808
104
550
288
311
394
813
600
713
321
790
300
981
918
534
975
971
174
209
429
67
909
98
805
715
968
326
526
767
889
330
748
891
981
686
438
755
483
38
954
172
250
115
562
351
492
79
614
227
58
920
957
689
703
605
147
961
98
608
335
316
953
701
446
808
377
160
921
175
302
786
237
55
502
463
779
734
631
591
640
296
55
803
84
716
602
861
193
559
483
55
406
590
608
280
362
156
1
58
575
215
893
6
488
298
670
937
204
330
940
281
507
733
172
66
113
784
540
223
166
53
26
388
410
803
751
34
599
728
91
903
418
574
312
340
616
644
711
155
280
581
904
718
340
834
446
781
327
315
988
454
657
772
115
427
702
162
316
101
4
60
238
607
297
883
448
22
679
525
561
897
433
439
430
35
986
713
278
496
127
358
890
911
850
908
379
452
701
378
942
165
571
837
367
89
610
990
790
319
545
727
549
139
201
867
496
89
943
678
854
908
613
404
290
683
207
202
849
917
980
120
854
743
727
262
519
831
902
482
240
908
333
209
352
525
860
737
509
781
844
923
343
780
656
345
610
265
156
669
253
595
679
651
351
747
915
167
133
907
996
680
552
114
772
688
498
287
812
839
837
600
118
892
449
909
178
984
189
734
244
163
695
865
552
877
939
972
577
678
1
803
5
351
798
1
686
715
679
964
206
488
525
906
803
202
988
151
579
675
694
104
635
550
865
353
113
409
377
792
860
92
44
621
841
81
454
905
621
72
760
602
844
613
797
745
888
938
870
645
822
686
968
517
856
524
199
468
503
610
747
30
8
496
233
393
175
628
172
601
364
648
76
407
837
351
451
298
978
86
753
481
690
655
459
421
23
175
135
832
436
198
42
863
267
593
942
413
401
62
961
801
858
177
539
933
622
375
536
395
543
470
546
322
360
66
859
635
236
573
0
146
762
817
787
134
493
610
897
243
363
408
76
414
515
491
166
565
956
843
562
780
152
902
822
462
558
233
286
962
901
633
467
879
200
765
997
478
441
635
229
744
886
775
105
412
649
605
545
833
81
936
82
331
896
749
842
626
336
15
729
544
471
61
346
521
951
328
123
166
373
965
909
848
948
524
587
168
607
285
646
936
317
693
605
493
618
262
173
512
319
311
636
964
122
11
540
818
940
912
243
286
63
312
521
897
509
913
593
814
992
961
18
17
689
537
490
449
162
698
335
262
345
857
472
480
105
240
481
652
160
252
259
203
874
88
13
465
252
161
367
186
332
994
899
966
970
327
525
4
420
357
353
735
514
486
589
878
602
660
393
79
862
303
429
81
282
94
407
194
345
563
537
391
890
228
118
900
299
87
269
430
921
299
219
766
83
234
444
772
383
970
346
236
501
996
379
907
102
676
73
466
679
313
413
227
375
592
812
429
399
563
302
337
923
757
949
160
869
829
474
561
369
957
946
298
504
230
216
188
61
272
732
200
375
93
382
632
220
11
414
364
292
862
149
458
368
188
253
762
71
0
526
888
520
786
281
700
390
755
262
244
682
648
206
69
29
397
631
309
542
298
838
52
540
703
817
182
968
446
569
273
615
523
486
67
712
868
314
579
577
23
867
678
896
949
58
749
549
434
357
742
178
432
713
474
254
703
457
656
270
55
773
916
79
114
515
9
799
725
555
992
130
809
441
337
840
82
736
444
956
337
579
571
642
387
698
253
857
417
652
717
716
233
531
55
899
516
23
99
930
699
602
176
906
204
29
549
432
927
370
119
547
386
398
459
740
176
862
571
781
586
752
17
546
395
855
318
994
481
366
897
575
326
564
320
764
657
291
669
595
430
493
584
317
236
639
751
973
221
951
703
718
24
464
849
280
99
202
410
30
314
781
226
185
348
263
121
713
83
123
400
541
962
408
778
1
155
830
708
558
974
352
671
276
808
627
717
388
718
327
70
112
278
896
763
823
330
587
208
745
706
390
176
813
670
744
422
363
804
827
799
882
719
307
739
973
991
540
886
949
452
824
841
564
199
645
466
565
431
367
874
308
296
267
682
627
74
53
685
470
221
199
975
320
704
605
428
242
726
47
558
285
830
69
166
981
602
169
843
134
521
811
521
725
806
944
256
418
561
357
928
229
853
807
411
158
75
151
683
735
152
413
206
969
813
776
614
908
879
839
989
973
763
987
193
490
43
299
927
455
449
640
608
12
605
260
612
820
748
218
611
498
413
236
537
903
517
398
676
622
763
337
353
621
886
318
345
79
888
599
939
31
532
568
302
49
838
822
35
385
995
235
381
891
76
809
939
988
154
251
287
532
214
577
958
377
262
303
949
556
103
722
167
295
100
498
581
839
554
842
216
281
757
38
378
621
765
798
340
70
733
528
989
850
751
462
900
780
547
977
248
330
164
782
173
550
600
965
776
592
830
162
6
700
267
889
798
456
873
442
902
236
82
27
894
160
437
199
424
946
662
489
111
844
632
171
218
637
776
367
372
822
220
678
674
439
978
665
48
627
725
553
996
978
847
926
198
129
218
912
686
795
641
740
414
755
850
286
832
955
312
3
775
109
22
409
151
995
292
331
769
55
597
623
362
156
917
985
253
933
100
74
656
693
449
227
547
93
658
596
422
162
325
750
537
956
778
840
300
897
502
900
824
318
879
786
510
203
310
423
186
856
616
705
773
464
242
942
840
785
20
281
741
390
765
833
186
778
376
977
861
1
472
863
116
917
684
134
228
759
955
957
146
980
441
646
932
371
242
1
530
200
353
886
479
506
711
323
852
831
640
758
9
814
498
376
186
789
593
732
512
57
623
37
205
61
326
856
986
204
933
376
647
668
451
429
74
603
301
399
27
438
984
883
928
293
380
680
468
232
32
516
36
41
995
788
418
429
971
270
313
687
132
999
622
349
478
268
955
976
150
924
309
257
347
966
651
50
191
152
393
349
423
777
586
181
480
332
693
137
239
890
606
912
337
736
659
879
63
854
433
908
82
375
703
262
948
522
498
364
677
352
129
210
756
809
715
285
69
53
811
18
447
416
333
92
475
610
445
96
423
816
457
306
884
296
203
989
924
710
271
243
596
454
489
156
234
476
816
389
961
369
452
514
502
989
401
32
480
596
745
19
149
513
415
987
582
390
267
565
12
917
898
887
494
205
744
369
842
913
552
969
46
616
496
936
337
343
459
718
480
79
787
431
859
178
739
78
101
922
559
165
998
86
611
788
979
638
842
442
941
93
66
163
296
869
29
325
821
179
510
188
829
354
767
738
237
773
390
427
851
931
88
831
764
668
130
860
112
783
256
77
233
200
258
418
184
333
953
708
192
941
255
282
770
321
388
879
928
385
889
809
235
287
973
443
701
389
185
16
415
158
724
969
340
744
752
44
901
419
907
54
369
893
341
996
266
261
26
324
533
879
850
336
741
577
374
632
580
728
261
702
531
555
872
145
979
525
478
54
802
609
217
579
834
302
772
171
401
827
366
82
176
429
537
415
139
196
891
2
508
137
794
469
314
233
907
26
872
516
468
195
955
931
419
427
258
333
491
670
328
628
729
821
7
189
696
45
95
226
0
986
548
747
537
709
180
454
278
973
208
31
929
70
695
731
187
456
163
643
701
74
149
802
914
399
571
78
311
91
172
640
258
499
107
942
923
399
609
666
317
277
599
872
222
161
218
97
165
532
426
814
615
149
229
634
48
394
425
665
173
651
624
411
696
207
292
414
963
265
288
30
601
503
551
99
515
637
232
95
996
355
606
271
576
809
514
210
375
213
826
940
33
127
72
304
140
848
524
859
693
394
846
651
288
591
680
70
491
718
136
981
135
902
284
30
159
285
273
44
968
520
985
73
295
716
701
499
830
349
344
457
594
409
218
666
785
836
182
296
942
985
456
162
446
689
26
466
929
571
613
0
867
765
748
415
12
740
115
386
897
969
917
812
91
226
843
792
866
283
109
590
999
614
221
424
906
800
238
837
957
518
79
169
894
187
913
903
773
108
533
628
146
216
791
954
281
310
728
737
512
449
829
373
648
217
685
127
908
788
416
817
55
835
358
387
498
154
932
185
170
403
367
846
414
442
783
752
852
743
540
447
168
785
897
743
281
934
407
903
814
399
21
647
994
212
583
998
591
110
814
331
14
746
948
218
699
279
826
760
228
348
483
272
580
906
924
581
476
586
822
638
3
163
315
788
386
190
428
629
977
740
112
108
908
122
321
411
874
201
828
228
345
618
917
72
130
406
89
382
365
612
856
484
583
813
613
8
625
686
946
712
440
699
855
783
748
582
130
590
364
760
287
755
862
809
695
897
521
631
11
806
478
592
772
307
84
144
811
790
56
293
206
807
110
212
951
609
524
782
296
396
986
116
153
816
622
761
135
792
963
787
586
788
553
334
47
19
206
733
410
229
870
172
365
116
641
839
977
229
452
171
107
334
918
485
972
172
674
999
320
424
331
845
874
407
339
144
3
957
437
294
543
80
531
455
897
908
173
293
961
681
386
452
393
385
240
11
333
591
978
849
197
311
849
543
791
504
500
283
808
647
798
849
832
717
669
353
47
96
81
914
394
934
843
337
91
676
913
144
913
949
211
939
179
503
456
165
141
352
631
199
965
951
29
664
556
155
568
17
992
63
781
23
99
113
687
800
847
595
532
522
614
680
511
435
23
387
420
657
430
93
442
603
432
526
860
450
793
6
846
429
701
406
340
168
591
344
184
446
959
601
830
422
192
353
355
283
755
411
261
19
1
558
795
640
160
964
137
720
867
942
460
369
628
49
748
154
950
813
568
477
603
754
902
608
451
967
169
550
921
548
935
299
245
556
162
485
26
148
878
648
500
748
543
489
362
480
140
318
440
444
334
697
243
270
596
475
992
435
436
621
39
987
123
245
418
241
965
487
632
636
659
844
521
847
692
30
649
807
57
385
905
68
734
770
390
407
814
309
323
747
652
284
290
106
100
83
844
236
253
333
283
853
307
983
337
358
7
455
447
219
236
535
322
917
348
51
961
728
535
253
465
556
806
180
710
435
717
515
214
737
102
961
635
939
195
201
874
356
821
964
231
358
489
719
644
530
881
873
157
320
671
143
295
750
8
158
780
660
16
604
265
462
246
824
878
421
327
224
958
452
500
464
654
140
204
625
282
619
470
378
62
211
592
47
85
817
21
256
741
620
885
9
803
347
649
491
271
403
295
918
11
182
3
975
324
147
547
123
204
58
719
229
703
13
980
841
557
508
412
148
867
995
882
756
670
138
717
175
669
11
954
432
508
337
193
764
886
142
807
312
337
133
901
637
547
81
307
349
60
596
934
769
262
549
191
298
227
360
524
14
105
115
6
952
904
7
68
484
196
792
296
137
915
73
573
81
582
400
99
745
34
260
898
367
625
601
869
414
923
669
869
781
568
959
534
872
219
745
27
117
435
623
359
191
160
441
547
274
11
389
588
192
347
968
691
682
273
126
80
135
631
476
520
427
687
847
964
459
236
759
655
16
825
341
140
359
794
39
373
506
568
887
556
374
837
821
444
966
350
441
877
987
537
950
251
412
959
29
535
112
538
15
427
840
804
2
88
460
151
636
604
220
226
993
301
669
695
153
461
523
625
334
65
517
888
485
372
669
104
760
512
682
917
236
390
86
745
472
258
146
775
706
66
598
922
668
188
21
459
441
902
101
125
139
89
856
965
761
714
567
932
115
236
813
455
525
249
187
602
491
325
452
847
657
570
123
378
892
498
551
648
661
307
948
651
223
410
427
975
614
266
555
470
688
219
35
311
796
805
474
12
184
537
62
338
171
0
98
964
720
621
998
644
50
81
280
57
870
643
760
491
923
641
942
220
427
897
887
52
230
37
831
198
947
181
118
650
5
908
943
110
557
212
864
671
945
857
367
16
111
190
832
440
59
167
640
80
575
734
90
624
56
81
470
385
637
191
206
364
422
800
21
675
909
661
634
914
37
595
558
962
632
163
26
479
238
768
305
423
249
726
366
777
418
47
353
735
936
370
998
42
4
644
75
135
728
200
530
268
702
301
150
5
493
424
479
321
169
327
401
778
66
209
505
695
545
484
696
491
760
200
371
793
585
447
749
404
426
731
795
674
358
100
980
680
977
794
846
892
634
795
175
484
382
598
866
187
477
193
0
615
280
239
209
992
181
516
463
428
995
427
135
714
172
162
577
366
926
698
533
843
121
410
476
695
53
324
108
58
895
917
157
826
990
956
109
537
804
85
81
370
489
783
163
771
298
826
495
251
503
436
71
732
742
778
471
41
889
313
921
863
701
569
432
32
912
985
305
569
87
424
751
517
764
487
399
262
353
896
959
486
56
314
519
611
243
830
322
681
389
141
310
377
787
903
789
111
351
549
858
953
814
19
129
958
54
542
66
214
118
760
845
118
739
168
655
386
535
742
754
767
461
345
78
225
359
162
78
611
360
971
424
385
842
498
263
230
584
291
477
893
105
928
4
23
119
360
520
386
60
646
349
490
588
70
810
200
645
169
3
437
271
483
484
900
805
791
533
970
473
670
443
705
849
894
69
830
235
294
517
195
314
906
474
133
508
613
614
517
343
619
564
552
26
298
178
477
923
799
301
40
474
767
415
810
196
545
386
15
450
918
788
78
719
528
204
113
428
901
379
919
286
891
24
751
834
900
223
109
787
626
345
779
617
80
578
582
376
830
318
419
127
551
458
503
713
710
602
989
399
773
809
497
323
4
203
84
743
44
568
418
440
42
638
789
295
28
855
401
818
414
165
737
44
339
719
705
454
501
193
163
384
408
310
657
157
389
908
214
786
303
418
258
7
914
599
723
347
856
52
684
436
191
74
655
387
829
67
146
461
842
579
440
600
20
944
756
858
194
55
325
151
472
283
343
542
917
352
825
735
447
638
284
132
318
853
515
246
852
187
240
87
203
514
179
118
342
809
120
783
605
283
494
578
143
882
212
903
831
793
261
802
588
92
654
888
554
209
726
995
834
820
150
642
592
695
700
510
734
450
701
604
35
380
865
600
735
625
690
227
48
994
375
699
78
988
242
927
846
744
733
196
685
22
967
758
456
155
216
925
216
382
47
957
579
132
829
373
729
516
288
509
471
282
500
777
676
298
289
837
493
84
890
21
332
900
422
630
785
950
958
386
185
461
457
540
714
0
978
400
58
521
627
669
764
82
312
252
920
877
664
694
473
674
919
8
673
646
411
794
583
873
395
64
618
101
394
150
505
853
740
63
181
298
644
540
619
499
533
755
638
6
229
696
171
1
453
976
858
289
297
756
864
107
942
880
945
449
542
385
888
148
939
849
778
919
231
947
443
561
646
280
682
953
629
586
645
450
226
474
236
746
720
385
402
682
157
156
667
859
632
102
175
383
812
943
854
101
870
832
17
725
392
728
564
664
776
203
805
802
441
308
188
427
31
114
539
318
372
426
722
571
899
964
432
315
445
552
372
813
921
444
397
169
46
184
727
827
881
259
119
79
904
884
785
342
4
902
956
269
351
361
906
746
458
325
467
760
192
901
415
604
129
439
412
587
325
719
447
306
801
494
270
657
549
505
870
163
250
578
459
254
287
712
228
205
349
459
701
626
629
518
112
761
981
872
94
67
393
270
904
157
83
770
443
320
220
457
216
177
897
761
351
680
326
300
567
300
10
410
27
483
410
278
250
94
805
413
282
515
472
54
904
243
501
527
487
737
318
896
479
90
28
455
229
469
706
827
685
191
854
729
859
9
851
5
635
642
736
328
184
437
457
714
663
384
778
175
251
397
334
356
305
346
758
95
608
641
752
833
752
492
189
547
778
126
486
925
592
898
294
476
907
893
43
765
512
25
908
589
763
178
378
324
481
491
492
183
985
884
169
440
245
476
864
24
811
943
55
460
615
277
305
769
144
409
92
757
653
211
133
531
747
678
125
47
395
134
366
595
94
388
897
213
478
342
311
937
62
40
890
659
815
619
306
43
330
795
720
58
597
213
11
93
781
985
550
131
907
323
257
637
284
732
746
956
505
851
401
27
974
851
74
231
760
936
700
129
612
317
263
926
410
964
366
244
347
93
921
271
851
981
635
852
570
411
171
18
420
759
74
480
349
453
365
392
927
369
699
167
216
781
220
410
777
677
511
87
286
794
647
392
904
653
568
848
452
339
203
710
179
113
762
152
303
185
652
821
435
707
320
968
711
504
398
859
358
394
701
135
649
640
792
875
468
383
313
955
990
940
595
994
906
419
363
954
45
42
745
550
495
805
412
471
300
653
386
771
981
97
533
124
788
161
421
689
392
212
262
187
947
978
967
798
768
159
441
355
295
781
701
738
581
432
564
622
355
257
497
915
513
61
576
102
643
296
556
63
953
412
356
654
941
951
919
813
475
103
457
854
83
581
780
794
892
559
657
554
88
516
599
961
105
166
548
858
668
369
444
453
95
601
989
376
941
583
99
60
284
912
409
0
699
608
57
425
42
275
68
845
200
864
630
774
194
558
398
395
580
220
858
711
724
772
158
284
171
111
232
738
328
251
678
343
394
631
232
849
197
434
447
669
211
392
605
391
741
620
249
846
918
58
700
750
782
303
616
57
676
293
121
114
53
423
40
805
790
787
60
179
644
566
466
516
204
994
233
792
513
909
52
242
997
113
883
128
178
759
744
422
8
952
877
429
926
442
439
160
276
639
509
199
260
127
386
3
440
20
353
429
684
448
461
468
849
42
282
723
419
336
794
748
472
171
967
491
155
867
645
33
803
926
570
4
714
860
177
768
158
848
36
433
169
802
563
447
172
270
62
472
293
6
181
719
453
322
89
446
775
608
512
726
943
18
30
339
747
523
388
851
424
46
338
306
942
430
985
305
584
938
161
952
56
358
325
597
759
623
406
831
511
894
214
802
367
896
583
362
843
37
846
967
112
586
478
531
165
678
915
409
907
672
527
418
64
257
123
213
508
292
112
462
270
547
690
353
521
456
955
913
874
554
859
159
297
944
162
17
401
700
232
523
186
451
298
191
667
185
478
45
184
405
487
494
216
879
24
449
596
851
551
798
492
778
592
539
896
823
177
869
241
851
524
603
589
162
29
358
767
269
793
973
510
305
655
308
883
970
20
124
534
899
917
258
492
369
437
418
359
502
918
665
289
405
809
580
65
298
387
912
200
332
906
135
188
152
129
493
184
590
921
470
707
313
337
264
177
269
351
404
834
319
351
669
683
940
798
583
80
360
941
786
742
579
181
265
251
298
258
294
880
469
43
398
650
163
658
392
616
582
67
480
604
159
265
919
52
619
735
877
569
798
996
69
153
613
575
465
214
21
439
480
878
772
35
743
483
347
823
709
352
939
61
314
582
197
222
618
120
720
326
275
480
570
919
181
950
769
465
87
909
371
91
350
915
936
941
714
191
534
552
716
555
187
339
878
135
270
27
544
262
865
621
957
241
484
284
456
504
576
159
848
236
229
752
759
58
385
292
191
637
646
918
981
461
933
852
672
89
218
586
116
489
109
904
404
844
26
309
717
524
673
759
953
240
858
369
116
553
524
944
328
976
983
620
753
847
859
796
693
651
699
91
511
112
987
155
285
430
707
414
493
422
278
498
734
928
814
618
549
864
28
890
542
37
640
125
363
99
923
717
979
994
898
247
760
543
924
607
90
496
263
256
33
889
350
749
27
226
896
70
205
138
751
777
860
564
691
233
474
980
821
384
402
80
743
872
223
816
770
267
984
694
490
154
819
245
776
415
302
438
232
755
398
130
159
283
101
537
612
814
544
42
706
906
757
680
773
35
265
710
966
410
553
110
944
867
26
919
499
430
486
383
835
797
268
73
418
533
961
821
588
236
800
184
583
714
483
45
180
945
57
172
258
713
38
234
236
38
939
542
425
984
596
653
816
927
647
937
836
132
844
767
258
281
959
489
439
182
184
712
275
523
559
337
864
973
994
597
447
315
201
950
668
729
979
673
131
774
73
955
931
889
422
270
152
740
221
539
228
808
128
340
655
232
130
217
289
126
580
471
405
356
491
911
341
38
353
750
845
402
74
742
563
185
607
581
604
934
45
68
945
853
267
716
201
909
819
925
603
720
43
664
922
771
987
570
816
532
543
663
69
872
456
554
713
511
209
872
580
269
385
74
649
362
137
310
324
751
710
726
616
905
453
911
494
162
796
947
855
694
109
902
54
306
132
587
72
385
200
930
969
447
280
384
865
449
321
669
664
849
391
493
739
66
774
534
539
278
543
68
376
697
963
65
703
332
139
900
944
94
368
2
708
238
228
670
609
956
766
647
463
12
26
523
899
570
400
317
754
632
382
434
322
609
510
352
275
596
728
373
751
170
551
109
747
420
447
652
987
924
889
408
130
647
606
81
67
91
845
566
70
353
980
462
88
708
288
584
993
726
484
574
942
365
994
874
943
865
947
155
304
70
724
705
454
117
916
91
591
436
420
515
491
653
910
189
658
220
317
184
52
772
828
958
807
791
704
827
347
757
422
0
817
763
847
200
503
417
654
523
121
634
137
906
340
285
149
854
446
881
553
962
45
924
554
21
95
400
279
619
296
511
320
78
987
927
754
54
854
341
538
293
99
740
244
356
571
722
292
180
614
34
508
20
391
273
384
618
521
994
155
628
419
431
904
707
769
470
52
216
109
213
563
61
264
513
769
787
689
254
461
713
445
792
272
862
771
827
474
456
381
797
408
939
28
326
744
310
88
723
900
672
58
224
506
563
535
781
955
115
3
189
978
241
681
642
303
514
928
252
326
725
140
699
90
316
144
497
27
248
529
837
362
102
938
292
770
569
684
904
97
661
621
833
71
197
266
705
869
586
804
779
241
879
339
50
237
381
755
553
850
410
649
131
144
574
325
333
635
387
682
715
381
142
372
812
262
153
340
657
536
21
160
865
120
895
969
261
769
667
127
31
930
856
308
261
23
890
439
856
922
968
226
534
955
319
395
385
459
250
534
284
58
36
294
127
229
736
789
431
706
158
507
137
333
318
50
465
551
210
617
19
687
18
23
657
380
810
339
89
935
313
379
542
783
869
256
366
867
16
734
218
368
16
846
146
941
987
74
995
502
571
470
294
273
165
907
248
724
84
625
967
404
233
895
592
228
166
67
161
341
570
692
577
961
169
287
906
351
307
958
255
821
30
812
664
967
325
910
945
395
376
569
719
913
767
379
696
954
111
852
377
548
533
459
468
336
927
287
60
569
946
251
614
180
840
29
717
206
85
600
317
494
714
18
706
632
794
125
307
756
13
202
151
244
555
671
296
407
410
951
253
243
332
732
163
843
832
880
657
285
100
986
311
58
743
768
179
485
471
431
718
9
183
776
909
717
876
900
741
77
86
806
513
314
533
50
23
699
517
456
394
129
591
311
574
566
821
346
417
936
895
266
660
716
690
786
560
806
319
20
994
78
250
912
962
904
733
17
917
535
429
161
788
464
991
526
578
246
387
316
707
890
840
887
359
536
242
416
302
659
390
716
154
713
895
897
801
121
81
707
767
201
774
532
934
118
33
345
679
697
91
352
274
948
974
869
628
228
500
319
74
873
506
339
775
583
830
806
238
5
833
711
224
813
689
637
639
159
524
664
646
436
755
409
603
513
535
81
454
2
981
51
848
493
27
240
118
557
88
125
679
177
324
946
663
261
149
19
859
555
393
755
724
116
27
128
621
774
176
391
187
729
563
673
186
308
653
947
166
638
780
947
568
79
832
276
566
885
873
266
478
606
130
265
249
797
448
957
179
741
664
614
38
970
722
283
694
396
413
573
61
796
51
553
659
416
323
957
71
618
184
549
655
527
618
496
812
361
456
340
570
721
265
757
69
664
185
250
220
460
730
172
978
198
580
295
591
572
11
413
226
278
645
817
900
19
885
695
70
638
54
497
365
599
94
533
292
846
142
282
679
772
915
643
394
724
530
415
151
210
93
736
78
439
574
928
628
389
817
557
35
387
477
422
537
446
215
744
511
652
460
647
275
286
660
495
508
404
179
247
695
607
480
189
390
424
932
40
428
551
561
178
903
352
439
394
704
101
911
759
480
73
48
982
443
739
652
648
328
993
599
679
470
703
793
434
441
172
192
25
566
299
174
874
618
846
47
617
379
616
301
969
493
739
26
396
223
936
877
840
216
185
643
59
749
866
419
634
168
795
277
646
376
364
973
95
131
849
193
975
217
301
647
41
164
649
633
676
672
534
224
852
130
16
432
883
677
840
411
581
253
181
182
690
718
420
925
225
924
747
283
318
889
815
629
173
384
838
638
162
976
400
582
27
558
807
767
0
854
837
87
88
893
817
829
713
693
762
159
250
139
60
491
767
91
337
877
750
126
729
298
539
665
856
114
216
28
810
252
11
128
627
914
540
859
304
841
265
407
282
353
38
118
76
112
486
741
576
349
501
956
812
159
92
523
399
677
464
222
866
148
757
916
907
471
710
281
972
563
904
89
482
497
539
622
485
985
660
665
426
36
794
686
666
879
954
474
353
571
3
115
443
10
813
561
591
155
202
236
773
752
158
937
637
261
469
297
81
360
186
101
997
235
154
534
432
181
65
594
184
851
801
358
996
329
744
2
26
171
247
43
810
644
832
496
241
248
951
747
275
809
55
275
424
822
869
790
460
551
304
693
373
84
375
396
891
185
880
86
6
284
31
698
817
214
951
471
366
592
247
963
285
368
747
412
8
989
183
325
265
835
432
287
203
327
643
254
720
900
826
457
364
613
193
966
199
123
565
491
719
507
335
811
160
141
590
914
353
936
858
809
894
617
136
911
411
729
504
852
161
228
668
122
401
973
185
387
336
275
86
503
357
250
373
64
490
868
669
291
653
402
992
838
862
424
440
657
791
213
865
220
329
966
365
757
716
339
813
938
704
512
342
649
108
967
509
462
818
107
501
44
367
372
709
207
485
509
274
262
516
384
804
243
392
574
54
374
835
510
354
613
565
24
400
661
810
340
308
328
261
593
732
556
737
371
831
117
51
197
970
629
165
859
771
535
741
653
867
10
989
313
300
274
532
979
596
642
823
81
312
825
914
111
538
735
639
44
468
302
517
544
640
152
868
582
285
250
36
449
994
681
184
24
495
831
672
54
530
727
342
520
569
994
36
37
558
315
702
805
691
408
218
782
15
71
792
298
315
61
535
615
363
176
729
162
674
422
648
193
174
396
470
81
903
321
436
56
393
245
522
106
546
353
621
637
372
939
787
793
236
472
632
551
744
573
19
226
817
380
550
862
756
60
118
648
483
204
181
343
57
436
929
737
330
122
98
169
540
847
159
630
386
900
410
859
867
813
199
656
935
949
218
878
642
625
35
555
214
194
316
806
885
398
777
139
682
462
489
563
862
10
790
106
82
18
851
69
296
661
654
992
275
949
345
329
235
244
419
957
559
524
197
549
97
916
75
940
36
629
654
720
861
26
34
902
877
570
279
657
566
879
330
971
393
647
674
328
969
235
981
345
685
768
442
790
821
166
851
539
433
472
448
571
918
699
406
706
776
505
997
865
522
540
190
900
916
905
478
427
893
109
355
744
271
983
830
916
678
371
463
341
470
725
25
521
740
832
988
528
88
323
272
599
321
380
133
219
934
850
927
691
542
263
597
700
818
358
457
999
287
176
68
947
617
621
492
431
816
558
945
965
798
756
211
259
449
342
627
491
533
622
85
519
95
81
321
757
985
602
151
478
851
257
488
319
654
158
922
87
68
28
801
41
392
417
314
261
594
749
540
917
925
609
324
195
325
278
881
835
801
922
209
345
539
664
205
34
382
24
254
102
689
215
846
912
766
109
444
960
573
285
846
793
323
145
616
804
127
849
263
22
27
644
236
387
218
92
779
427
166
674
300
53
61
335
406
945
199
682
285
711
108
68
920
925
429
452
435
109
378
895
542
5
675
924
898
276
582
878
486
234
648
560
820
110
838
310
902
109
508
143
436
343
196
266
479
729
864
588
643
373
485
859
971
384
111
87
509
586
665
535
244
628
764
865
152
783
591
410
665
659
573
518
680
765
635
699
90
319
574
747
417
836
239
806
633
550
417
902
848
421
672
981
645
345
404
87
808
427
762
234
373
167
1
272
835
14
138
543
386
411
770
447
566
127
994
738
376
757
114
640
706
77
705
784
126
358
979
550
211
807
440
557
354
572
225
384
900
358
148
70
887
71
135
950
647
360
733
691
108
361
354
392
683
339
866
212
208
136
65
821
805
26
964
975
854
291
149
150
908
329
333
897
225
35
521
998
815
112
944
617
595
137
816
536
61
680
252
706
16
860
876
413
660
662
542
522
190
836
715
689
740
890
171
510
654
350
717
20
913
240
728
330
87
962
13
466
121
733
663
660
469
68
978
480
906
669
196
363
786
763
182
470
969
741
84
677
346
671
417
948
40
793
383
958
353
410
960
125
988
438
449
929
319
356
855
221
965
719
249
802
965
644
775
145
7
372
711
76
366
544
761
839
767
189
30
792
755
139
233
894
836
838
381
572
84
557
807
533
864
704
482
132
237
134
248
194
195
636
92
661
534
528
189
228
218
180
780
900
103
879
316
740
480
333
203
41
543
581
403
662
207
731
930
101
546
195
15
526
381
14
610
479
658
465
202
417
35
361
930
718
171
27
209
485
46
153
477
829
224
299
501
811
402
991
296
89
131
571
897
360
266
293
729
669
407
123
408
519
995
498
352
846
923
360
153
757
45
771
743
56
889
496
107
711
1
400
832
496
446
752
2
70
921
308
440
951
657
490
502
424
946
421
352
706
199
379
613
605
771
473
127
997
657
505
497
123
317
559
319
49
981
307
388
66
556
128
2
687
85
748
387
954
226
522
845
186
348
726
575
588
519
830
635
44
302
351
965
237
790
282
521
860
143
656
653
927
333
71
453
17
797
610
530
79
132
534
74
463
998
512
884
392
743
851
809
88
770
350
376
581
140
666
682
584
190
622
48
944
804
838
754
352
182
587
249
80
527
167
615
755
286
275
883
158
935
703
936
240
477
237
526
166
38
190
826
123
678
242
831
251
219
836
253
304
69
177
232
279
672
95
590
128
865
220
720
752
618
955
73
739
167
226
297
663
236
637
951
321
361
981
414
45
21
104
121
297
612
193
96
310
9
153
684
516
187
690
487
586
600
393
475
249
969
334
693
103
227
851
28
88
851
405
157
888
350
312
132
653
466
125
782
624
714
36
652
786
911
323
820
751
365
490
986
381
845
254
198
35
26
81
970
690
894
18
244
390
623
583
963
507
592
699
262
177
167
486
186
378
650
480
574
844
718
658
888
228
300
412
454
64
952
301
814
469
992
157
478
907
311
349
510
129
37
569
791
283
826
619
919
22
684
878
357
599
932
559
783
828
738
564
579
993
861
566
844
14
852
56
182
695
53
802
645
88
123
250
655
181
342
338
534
573
615
807
694
830
176
826
77
0
694
870
629
39
685
882
318
226
496
262
981
490
400
844
987
122
785
687
259
27
660
245
235
795
552
316
948
858
0
758
229
182
841
690
264
632
397
950
260
405
939
674
162
139
148
92
199
716
597
764
238
471
680
10
554
635
574
308
633
832
433
995
533
275
472
776
639
326
880
460
8
323
139
66
988
785
317
53
886
911
666
77
18
809
948
413
156
448
611
484
42
122
304
769
487
202
354
647
10
421
55
30
256
999
95
338
359
119
293
40
802
185
803
512
761
189
179
269
805
445
138
861
965
523
663
789
740
591
210
167
534
566
369
624
510
897
98
466
718
769
167
555
138
475
672
246
280
734
861
487
348
422
539
55
17
737
453
452
499
986
643
289
310
337
684
251
456
968
579
521
99
474
84
147
150
773
544
840
922
696
448
704
341
171
757
831
117
415
236
998
192
473
761
613
239
118
602
463
872
261
404
541
404
496
437
885
981
333
206
367
237
804
958
931
429
589
778
90
301
30
817
492
535
300
189
258
802
180
608
347
668
68
446
667
941
585
80
712
77
65
756
222
107
503
517
902
750
942
524
759
628
366
496
467
865
514
941
852
700
152
48
386
561
576
186
334
537
882
566
320
614
489
870
933
574
428
826
716
375
98
233
881
755
468
180
761
325
768
566
109
369
677
499
489
925
26
316
128
798
239
380
136
442
191
804
632
737
458
582
715
451
480
802
429
623
443
779
727
38
388
774
161
700
533
656
818
121
394
201
776
676
614
110
416
26
687
664
466
561
883
373
68
413
518
633
933
173
922
753
965
665
844
223
114
995
848
325
450
702
427
218
533
431
291
780
188
749
915
229
406
377
845
916
58
62
50
491
313
193
814
513
345
66
931
881
306
66
614
472
19
885
87
647
554
161
399
449
795
920
91
139
15
273
668
981
293
943
592
810
97
283
328
455
412
177
766
920
90
11
193
585
767
43
131
303
340
97
750
394
378
295
972
129
660
454
534
386
864
812
121
363
859
862
72
141
324
746
634
865
154
569
962
332
564
105
124
17
504
551
758
454
982
7
581
102
158
161
277
254
351
726
135
870
213
631
418
912
151
888
173
514
891
899
502
432
152
734
341
440
400
16
324
248
698
339
986
396
286
785
793
206
685
692
638
351
619
339
893
235
451
52
289
583
187
474
931
678
583
473
402
256
122
416
136
1
482
196
620
164
684
434
655
82
563
986
470
757
496
154
489
171
992
368
957
924
227
188
802
292
39
32
5
610
49
611
643
366
669
73
576
507
454
171
408
719
43
86
617
678
145
534
527
557
949
101
842
583
104
685
6
561
486
430
436
955
748
335
512
977
253
264
740
829
963
661
366
782
255
808
989
841
677
137
435
838
623
825
56
934
984
685
107
113
532
749
447
524
348
490
29
938
271
737
236
851
533
830
60
773
620
768
175
434
678
223
430
890
942
935
965
624
444
692
727
267
267
247
825
430
502
975
874
296
415
916
941
645
755
721
277
661
787
819
844
310
813
337
694
989
834
271
310
574
28
315
135
151
860
944
212
681
922
624
171
131
413
862
405
172
4
156
864
775
330
617
7
847
812
237
121
485
596
607
462
74
293
474
18
190
61
144
480
587
685
135
793
119
557
466
229
78
881
411
305
976
163
157
195
523
552
587
961
102
736
243
806
911
185
505
905
5
489
249
865
228
967
53
745
147
409
412
912
315
126
561
688
622
493
14
720
719
186
781
907
526
717
732
851
862
284
178
553
668
667
143
369
999
927
489
964
31
329
945
892
712
578
22
882
235
550
342
44
66
350
846
891
972
992
847
464
101
571
4
330
515
535
463
817
135
418
594
545
72
293
905
833
710
237
250
30
524
375
778
618
476
770
901
922
423
869
652
249
20
695
81
535
917
153
731
14
859
212
655
914
645
638
38
518
113
989
380
649
85
994
730
999
566
72
827
585
278
289
274
368
89
913
748
600
427
258
658
989
813
818
843
360
293
448
195
368
620
439
493
310
23
522
852
486
834
314
628
430
585
755
144
459
568
360
505
726
205
766
788
430
357
914
265
715
98
556
499
272
535
409
46
789
620
250
93
615
542
44
222
798
578
24
925
285
527
587
660
930
747
847
722
142
411
922
560
770
146
62
466
595
346
973
674
375
434
71
863
209
170
286
541
365
332
772
194
540
738
495
86
202
165
943
842
811
82
261
949
378
727
218
914
615
606
475
688
613
503
87
657
317
754
823
39
800
688
296
681
799
188
606
883
830
876
717
136
812
412
878
834
510
494
394
41
842
109
605
936
731
158
427
779
294
402
440
994
752
37
628
482
249
231
409
931
688
820
320
824
630
329
831
635
789
50
200
643
373
85
765
545
749
503
430
839
864
65
37
929
869
404
780
848
159
395
113
832
656
208
331
986
91
897
834
319
950
607
974
856
335
961
67
601
715
552
503
212
890
893
436
613
280
234
695
258
850
111
651
663
263
20
153
273
999
731
707
62
718
255
949
879
828
753
64
401
13
753
236
109
689
846
612
816
876
802
706
396
197
182
176
657
553
147
807
674
329
486
347
940
159
25
523
823
1
967
690
957
134
386
103
23
129
337
924
439
653
308
871
107
738
851
698
925
719
503
974
864
142
253
116
277
4
628
250
404
744
525
35
882
991
824
289
604
993
109
711
543
164
19
870
751
486
6
435
622
458
30
521
440
57
627
868
33
916
327
827
600
78
989
181
398
879
396
540
641
708
251
726
694
29
427
991
537
247
556
161
738
714
379
568
909
665
103
256
835
131
647
182
977
635
395
856
672
169
251
205
904
373
526
774
604
282
19
30
389
56
675
467
259
589
385
350
129
489
156
696
314
148
810
521
708
562
273
945
979
403
548
175
30
410
462
157
480
69
500
876
365
673
179
850
494
100
384
771
965
189
545
196
875
94
407
991
794
454
704
661
633
302
19
522
145
850
208
963
922
552
798
155
661
469
200
721
382
693
206
966
71
576
128
854
473
274
595
667
185
240
902
178
213
715
350
158
723
888
246
757
615
996
451
287
510
291
981
864
735
848
122
615
133
454
798
546
895
658
666
223
487
270
923
267
947
339
661
436
671
870
197
823
942
45
193
949
527
650
411
26
700
573
5
284
594
801
275
533
415
792
976
686
272
19
947
838
418
189
675
519
979
837
787
505
731
16
989
374
820
167
932
771
831
528
768
272
859
19
651
870
188
795
612
108
270
146
760
900
692
168
457
872
795
582
425
935
827
311
458
145
375
353
964
36
185
17
752
935
259
154
472
103
24
238
505
229
997
447
270
220
774
374
691
901
375
669
0
541
720
344
248
563
17
20
397
267
11
78
352
533
512
134
685
473
251
787
870
487
944
295
281
30
997
712
628
601
78
900
635
92
611
124
317
860
887
238
711
691
498
436
857
412
451
171
559
414
447
786
889
768
257
58
483
292
428
677
723
498
843
33
19
420
695
341
992
448
140
79
783
802
542
106
428
597
862
978
209
778
22
833
655
11
891
35
269
565
182
135
977
672
952
507
761
574
475
432
158
808
359
23
0
395
396
919
236
432
520
466
433
624
461
943
283
928
543
499
374
425
102
29
229
303
289
185
598
489
508
134
262
20
296
151
626
377
532
579
37
988
241
65
131
117
27
998
528
510
155
148
288
101
907
244
354
486
672
232
358
100
717
774
675
770
934
792
870
397
209
39
371
350
694
60
704
516
130
993
213
442
18
206
716
217
635
135
381
33
792
486
468
682
803
546
821
665
679
972
115
539
952
777
204
519
2
2
696
841
651
187
82
790
950
210
135
620
141
370
232
515
919
909
95
178
237
328
172
888
871
356
625
829
912
674
338
971
234
47
160
759
166
182
890
298
270
758
771
300
589
219
614
246
826
667
131
780
511
949
181
29
584
120
667
752
628
164
896
694
277
669
529
393
308
846
841
564
916
474
533
929
866
17
560
17
956
578
488
147
126
767
521
634
194
707
358
871
576
955
547
339
423
803
843
968
809
334
601
490
436
240
34
339
804
394
452
929
781
70
824
726
55
256
644
927
680
845
126
90
802
958
715
367
699
624
459
369
616
427
441
884
801
547
329
11
565
40
576
185
555
146
718
186
194
164
359
664
888
825
876
26
642
599
222
862
828
595
506
414
767
95
475
394
576
136
726
678
394
253
995
796
907
546
91
161
383
372
397
11
714
279
254
397
55
714
860
450
303
904
365
152
570
782
267
521
764
608
221
638
952
869
24
754
172
161
191
215
329
830
871
948
639
426
667
660
744
399
364
459
587
989
299
208
727
840
777
706
218
358
583
932
903
965
39
426
182
145
572
458
942
84
157
768
86
84
523
857
745
79
121
38
352
238
111
323
657
540
48
904
989
642
220
775
883
417
35
955
110
259
165
779
725
994
81
117
268
358
872
954
713
210
211
103
530
827
175
115
537
950
234
388
684
817
384
580
916
984
146
854
468
588
840
761
121
462
917
717
315
536
154
334
565
172
243
767
584
54
292
22
296
679
982
299
267
223
466
215
446
11
714
247
542
315
916
486
67
811
307
455
880
57
551
115
778
612
151
106
886
183
559
190
166
845
845
12
962
656
841
940
153
978
962
93
749
351
714
920
254
541
499
397
788
479
443
480
516
342
431
206
398
887
156
322
579
6
863
279
417
962
256
311
198
8
837
778
187
805
634
865
709
215
997
613
726
318
171
388
164
806
89
586
455
244
275
546
418
430
321
767
316
282
504
264
507
753
201
744
339
93
491
152
36
857
530
706
584
306
14
499
810
872
193
78
389
932
336
738
685
351
43
679
128
966
395
389
419
157
131
717
129
362
953
865
458
363
743
52
9
338
849
87
910
637
840
391
512
988
777
421
979
353
875
642
804
927
719
746
267
936
28
237
909
739
103
973
351
600
342
962
160
211
98
8
570
880
148
40
951
971
311
39
305
785
362
286
600
509
380
408
941
478
806
553
63
303
536
20
443
622
91
400
275
640
758
655
724
156
168
349
695
160
763
773
762
441
283
813
787
3
718
672
671
447
68
192
966
462
972
128
939
8
327
639
824
820
788
219
399
386
20
862
969
286
506
172
317
752
144
672
722
461
101
316
509
512
377
460
759
958
96
948
837
803
993
463
128
119
468
243
170
264
991
126
621
267
190
705
453
205
772
701
210
691
270
435
93
383
470
389
542
420
438
322
142
752
485
67
315
865
762
738
216
981
591
858
0
109
960
263
539
812
465
161
441
714
759
523
5
944
441
130
725
970
735
229
219
84
257
467
375
631
971
398
643
58
292
13
866
926
485
827
840
569
305
581
534
878
30
353
854
201
940
370
819
962
828
774
43
798
851
226
384
637
960
183
795
820
356
406
439
427
759
549
197
980
207
519
14
452
313
209
986
740
634
205
404
78
71
118
315
200
351
160
699
183
152
176
53
709
744
472
559
287
595
434
390
534
261
465
954
244
854
595
878
675
474
21
469
321
637
929
762
843
440
74
880
68
647
271
497
897
912
865
499
672
78
532
340
111
656
216
945
683
183
954
719
523
84
295
913
390
406
323
46
126
498
93
193
458
726
322
658
89
55
840
59
234
950
373
713
442
354
106
736
859
964
533
549
257
190
570
629
859
688
377
391
997
274
15
210
22
862
616
231
306
179
60
103
709
18
388
715
308
741
248
731
407
596
719
153
586
233
38
397
421
346
478
959
117
429
262
233
637
981
176
746
482
479
465
397
301
346
635
480
68
899
315
717
287
753
330
490
53
736
818
782
449
608
702
25
915
944
387
558
616
424
308
723
578
776
380
382
87
135
542
74
534
117
65
31
387
676
889
520
379
658
245
910
279
78
705
571
863
717
317
982
172
211
648
743
707
452
701
62
801
25
687
433
828
545
414
332
404
742
598
591
32
866
323
281
536
861
192
902
509
651
74
219
293
616
565
844
646
601
304
857
988
346
505
446
685
534
64
311
314
543
93
874
263
21
557
662
12
823
474
22
348
512
255
714
601
687
820
901
266
708
743
103
597
668
102
930
633
461
747
379
214
643
711
483
362
672
723
24
489
500
936
659
22
104
5
337
800
928
482
258
348
694
835
198
450
554
609
135
59
277
154
806
803
421
989
451
573
525
605
995
76
561
732
864
487
867
47
655
385
381
686
749
976
218
321
472
351
865
831
30
291
483
270
543
131
243
339
374
845
918
188
923
959
871
689
312
462
444
549
981
865
102
137
868
595
721
4
908
195
233
837
84
730
549
108
820
803
695
782
699
44
39
22
801
553
696
249
668
451
277
79
611
73
271
137
189
668
19
283
57
884
897
227
604
800
784
265
639
140
744
408
209
911
416
434
360
6
22
947
119
691
620
744
368
513
297
533
885
15
244
365
411
766
185
844
817
43
55
286
728
235
979
85
978
57
88
850
810
783
198
870
509
155
407
774
834
29
840
730
42
219
334
932
817
348
662
468
53
80
894
779
847
268
624
606
454
264
960
984
126
932
905
409
274
689
84
210
73
518
454
514
852
219
998
387
454
426
14
293
816
406
151
268
668
441
482
566
210
465
736
282
348
361
193
5
987
637
264
121
943
360
673
878
435
444
747
963
727
412
645
472
571
166
80
549
355
784
277
809
969
425
356
312
139
190
779
807
49
868
340
106
863
506
319
559
316
24
92
89
647
811
800
330
843
860
835
817
781
645
765
653
737
650
402
386
312
927
552
387
322
467
248
782
988
885
894
106
642
949
967
830
683
355
943
261
577
682
758
690
758
743
356
86
807
604
88
720
0
20
432
503
544
992
902
363
445
293
38
687
564
379
894
237
914
886
190
528
265
140
819
989
566
402
184
749
470
659
102
950
343
468
634
213
882
816
665
395
222
564
786
383
356
544
69
508
294
526
232
178
32
508
895
961
764
69
77
694
542
43
92
120
411
825
533
775
738
914
77
69
899
672
81
779
361
514
806
145
950
871
14
830
745
184
878
173
793
577
736
771
195
562
525
361
708
786
335
689
100
574
927
432
885
60
65
497
844
634
395
835
960
403
84
246
638
912
921
693
68
980
348
75
809
266
571
276
983
265
257
542
61
528
15
107
836
727
508
873
87
57
495
16
725
174
632
608
214
888
258
533
454
415
879
119
186
377
616
967
292
505
551
345
477
123
141
473
768
596
422
69
414
361
19
362
327
415
606
33
58
53
358
659
680
6
66
638
251
743
813
99
889
954
389
739
911
312
838
142
293
305
803
204
263
299
351
63
493
514
138
38
827
604
596
585
18
590
252
746
167
833
717
26
924
137
339
328
239
242
757
215
93
816
418
930
103
148
158
135
12
593
116
251
742
114
197
115
696
559
792
189
112
726
904
412
521
62
631
702
838
406
917
252
376
184
994
639
12
419
96
949
726
410
461
556
835
749
435
693
137
332
377
63
603
512
898
364
987
408
855
560
654
684
210
391
734
247
338
675
52
100
243
12
429
112
141
866
675
83
794
861
819
863
840
466
104
152
897
408
433
1
26
786
926
662
981
6
731
214
115
474
855
104
378
710
182
493
399
808
447
773
140
687
817
376
125
655
909
713
484
787
537
230
741
995
420
61
34
871
859
953
950
922
998
865
13
372
136
127
529
605
17
294
411
825
915
36
528
207
120
150
138
844
56
664
610
320
605
43
291
182
670
53
556
151
325
708
369
444
884
638
421
189
185
458
338
968
231
344
137
335
755
24
631
873
829
327
64
470
505
397
490
948
658
780
899
77
452
921
826
868
543
350
157
655
747
744
990
995
866
623
335
384
142
166
867
360
726
890
195
921
485
405
562
865
230
945
916
423
338
35
562
980
84
267
73
724
167
775
950
651
377
641
933
708
883
805
453
29
626
676
976
142
112
670
914
126
810
389
983
812
553
208
499
979
31
745
859
5
333
46
698
328
815
303
672
868
485
215
662
80
467
820
390
573
200
416
798
312
400
444
878
87
109
422
473
259
833
825
38
713
254
999
270
850
291
628
13
118
83
276
799
349
326
700
750
29
756
883
342
134
104
399
598
219
179
647
75
502
842
669
0
849
569
210
902
352
871
984
170
379
340
868
333
368
725
259
719
9
349
950
503
441
924
851
618
335
571
448
442
135
209
892
947
38
45
167
278
613
139
544
965
482
702
893
375
790
42
359
557
895
701
47
626
855
233
262
530
531
907
627
234
957
159
641
995
282
517
425
887
523
687
890
653
965
679
281
947
77
681
641
61
216
727
161
316
350
140
629
192
464
967
910
818
765
420
593
316
406
311
437
285
762
405
561
702
63
374
845
154
151
31
136
881
51
764
371
525
75
70
972
49
413
424
251
940
24
37
291
671
713
364
759
158
970
324
411
804
452
543
948
398
503
439
603
390
119
42
162
691
162
616
164
234
477
685
522
934
111
532
827
575
215
945
737
422
975
461
151
529
515
597
32
198
957
877
378
517
193
113
64
534
665
939
820
271
85
509
761
968
104
764
230
360
596
585
709
142
820
715
924
536
146
457
671
965
179
147
886
352
501
576
595
472
704
842
0
239
154
532
742
814
622
823
784
937
385
605
89
882
839
723
24
745
118
751
251
806
947
340
382
20
829
939
463
755
566
297
999
408
179
965
972
166
318
828
205
207
71
275
938
350
774
747
553
749
940
251
287
182
105
603
962
249
693
71
280
100
862
614
599
439
238
191
612
91
478
850
344
363
828
632
358
982
362
865
169
955
396
638
17
85
807
330
778
26
30
720
346
699
777
924
367
729
728
652
839
312
401
143
988
568
398
730
674
486
870
627
702
102
228
935
675
513
328
304
620
359
505
129
834
399
428
545
523
589
473
205
546
770
304
281
626
839
357
208
748
535
267
831
694
897
848
806
247
185
440
997
723
966
621
264
597
442
839
907
581
639
662
711
92
900
806
918
790
220
383
211
207
532
750
252
611
588
396
126
786
172
435
212
359
739
940
22
97
623
148
804
283
51
635
554
703
663
58
330
514
231
981
170
548
832
256
781
166
18
636
215
810
854
412
772
656
614
650
882
175
205
696
192
802
187
910
180
884
617
280
937
631
997
633
805
940
149
445
44
192
183
277
131
462
372
180
113
6
717
694
911
228
732
798
862
207
189
544
580
783
453
399
591
49
186
72
350
3
500
124
158
571
276
738
233
855
853
685
208
434
912
127
300
434
732
423
231
254
389
456
289
8
509
734
57
539
768
14
940
884
69
246
477
505
89
368
247
139
740
109
171
832
27
495
102
838
757
717
215
714
641
412
530
493
516
829
956
941
673
244
456
782
435
37
482
194
52
220
651
393
153
720
206
863
437
369
103
501
674
675
586
279
306
561
335
171
122
265
24
292
130
490
800
406
545
1
715
359
743
516
772
424
194
876
453
605
215
729
48
880
80
827
471
793
860
431
383
46
849
513
232
546
243
950
690
9
342
752
882
335
86
686
82
535
534
520
248
75
864
947
663
836
855
612
676
197
54
326
462
883
640
727
673
338
29
566
592
996
484
49
909
273
83
68
315
269
891
838
901
255
358
419
351
473
627
144
944
73
705
92
409
295
772
98
842
773
413
601
895
809
785
286
35
891
134
327
729
22
403
698
828
719
660
11
38
281
919
71
237
531
612
32
468
572
846
457
402
723
553
302
68
87
681
134
414
909
271
454
635
59
172
262
426
46
435
145
642
580
688
850
402
458
733
132
573
293
710
841
935
613
808
521
406
387
988
843
415
176
156
184
867
756
145
395
968
445
988
243
104
278
262
121
11
98
110
467
662
219
274
903
38
28
562
517
574
396
832
421
623
224
182
929
59
610
615
763
107
847
44
390
324
189
880
74
507
804
31
192
664
185
880
497
782
355
75
347
517
989
125
943
668
353
745
767
119
841
70
928
852
539
242
39
288
635
316
726
581
80
0
231
755
669
586
507
128
743
840
139
216
638
720
278
340
962
846
340
232
763
981
900
289
718
311
571
751
233
961
561
374
487
763
433
998
540
393
304
287
989
971
422
659
277
618
167
968
717
702
257
970
719
468
726
225
586
878
82
971
962
122
793
164
721
730
383
362
674
198
779
361
861
564
178
331
85
410
999
61
936
546
869
65
262
383
536
93
313
275
32
796
784
58
626
371
600
328
883
613
726
977
137
198
590
61
64
612
279
277
885
520
602
38
888
368
268
273
289
844
341
305
112
368
847
73
639
735
596
988
297
448
672
197
588
504
932
713
224
879
765
853
753
627
905
839
110
29
736
11
806
101
373
276
713
103
449
482
63
706
780
314
172
324
622
314
646
687
171
145
664
406
891
115
284
977
677
172
259
987
58
627
470
664
209
816
976
698
497
475
237
714
835
784
596
638
508
810
375
952
292
831
660
928
296
346
129
732
555
266
446
42
209
80
41
868
468
841
231
651
717
701
402
913
491
55
13
171
959
558
625
554
455
405
641
330
955
425
356
170
23
253
602
341
770
974
458
712
369
10
225
972
801
979
93
271
318
351
61
120
795
248
137
139
558
227
356
140
781
199
722
218
797
289
700
674
552
376
353
607
703
742
340
338
556
443
81
673
583
907
883
844
518
180
225
71
556
189
567
165
149
271
810
35
68
972
698
407
264
739
548
719
452
543
823
895
180
86
801
926
38
191
636
778
146
330
217
265
882
819
108
517
767
50
126
269
776
837
217
20
761
300
858
278
973
243
70
93
185
544
757
399
606
831
832
725
497
495
650
646
915
486
15
173
790
644
476
783
528
247
594
164
920
753
55
668
791
901
568
52
899
615
94
966
911
219
357
572
678
206
471
854
406
1
454
902
206
69
351
294
219
208
914
180
884
316
636
780
953
89
574
221
813
812
236
140
701
388
752
399
883
22
741
722
366
932
985
163
602
354
83
391
106
322
865
938
158
508
126
762
395
73
894
680
700
137
534
592
201
898
166
507
504
72
83
30
887
765
23
841
400
515
916
123
587
538
765
928
973
900
737
796
638
464
841
792
215
749
745
292
305
878
2
862
657
552
734
257
235
999
123
647
382
89
415
555
332
924
122
832
897
316
56
284
161
213
806
361
6
662
129
392
82
813
319
400
81
1
708
65
119
176
955
265
362
52
212
601
770
148
84
44
701
501
355
236
69
318
530
45
360
988
295
583
568
379
744
311
948
913
611
909
29
132
232
82
498
356
476
244
637
743
832
336
803
768
240
622
926
786
94
701
244
140
365
834
656
382
385
579
588
178
686
575
674
310
836
604
299
761
269
877
162
625
9
650
131
356
451
887
6
455
303
801
976
282
800
28
348
312
466
384
304
421
100
145
671
208
770
674
955
653
139
579
406
77
79
655
654
341
140
217
212
108
95
987
937
478
495
264
77
193
818
740
511
904
574
322
655
45
297
942
393
268
392
651
401
120
678
347
959
516
854
147
475
110
304
526
624
56
493
436
585
930
997
986
512
158
263
505
230
289
276
758
83
996
741
460
963
86
94
713
112
179
332
879
843
529
529
271
30
991
644
57
198
975
382
639
779
241
819
806
908
669
95
751
111
754
690
192
413
865
92
851
847
89
895
238
204
712
52
502
531
174
746
885
188
783
810
389
796
534
533
138
130
377
966
868
588
548
398
840
9
675
48
159
696
125
788
995
383
794
850
271
420
458
576
646
825
367
26
27
254
661
367
512
248
375
202
573
60
160
109
316
429
219
540
236
496
950
301
306
353
60
827
959
158
289
708
130
24
542
357
31
670
530
124
762
481
611
228
4
535
116
511
855
429
537
398
985
26
885
466
651
660
994
434
942
54
276
66
182
640
368
83
586
332
281
94
45
851
374
615
221
669
877
569
648
500
375
40
620
852
884
391
617
403
363
387
821
77
884
34
719
346
992
492
786
198
279
763
616
935
964
661
600
204
544
397
454
353
637
811
910
780
335
252
985
408
712
47
649
414
196
748
760
685
457
251
333
87
296
331
438
532
627
225
113
449
232
900
494
449
463
420
274
16
876
511
780
182
701
160
641
196
285
604
124
846
417
969
570
286
525
45
959
402
14
231
802
152
390
966
601
564
161
958
824
609
844
979
291
945
280
890
301
563
933
835
936
75
704
372
709
13
860
179
448
852
686
601
510
111
377
393
391
51
470
528
555
4
768
90
464
397
238
283
744
923
320
398
620
760
598
815
639
224
660
881
204
658
640
398
93
590
115
268
228
835
320
579
48
370
161
658
432
913
499
838
219
75
826
675
281
45
643
415
479
894
882
375
939
299
488
610
933
656
669
759
581
978
981
756
261
940
519
467
68
585
298
637
280
947
448
845
714
861
313
622
897
900
440
825
662
52
353
650
692
283
951
222
304
550
147
711
460
311
71
36
647
124
217
965
234
463
42
980
189
309
74
498
922
772
438
945
649
449
410
38
133
497
312
246
231
584
650
914
912
610
376
602
343
849
100
941
943
626
264
66
374
857
410
265
273
500
893
639
445
114
245
100
834
786
606
588
254
251
305
437
997
204
872
521
831
274
361
697
316
970
539
244
449
58
381
729
154
884
152
628
348
797
446
641
989
657
443
706
401
573
917
24
474
857
914
149
780
678
977
446
750
423
290
322
69
844
125
194
59
31
972
876
710
493
791
283
283
20
732
504
992
489
770
662
807
140
968
463
494
578
525
626
407
943
235
644
777
102
553
619
892
901
391
74
733
887
473
356
31
7
305
412
173
782
28
967
319
357
193
178
163
814
467
922
786
284
341
209
816
790
984
743
154
441
362
516
166
379
844
934
295
405
444
231
27
775
430
558
445
984
517
852
356
367
946
477
522
80
14
602
462
371
728
611
200
509
981
239
266
438
219
453
180
33
501
234
283
791
431
806
617
391
568
407
671
355
368
156
814
144
218
370
274
339
527
148
631
310
773
616
86
784
408
663
791
724
126
261
418
152
60
380
320
967
439
288
617
148
663
140
128
631
949
457
840
559
653
513
9
944
980
324
409
206
310
105
261
13
990
407
345
265
547
145
993
342
952
271
7
226
526
871
346
836
515
794
299
808
314
542
463
300
705
855
792
960
994
897
733
204
197
752
320
829
777
572
533
918
824
900
982
492
602
146
29
588
33
262
965
196
996
69
225
630
24
115
31
398
401
260
205
65
817
548
665
533
623
788
62
649
289
316
346
940
829
561
393
279
300
108
823
917
657
918
289
423
771
564
253
631
365
959
976
421
468
764
619
698
560
442
186
52
928
197
562
909
577
797
841
507
415
136
101
578
376
768
834
119
839
903
739
582
793
626
613
235
396
519
402
549
619
962
715
420
949
959
342
579
445
295
456
252
710
49
246
972
701
943
629
997
870
858
674
107
804
614
386
965
776
99
789
360
987
650
391
87
660
82
216
639
137
513
577
705
313
382
375
380
857
447
658
116
209
282
501
706
335
495
707
309
928
681
448
654
900
598
359
190
224
193
630
774
374
268
435
731
327
394
736
185
641
546
367
751
783
491
645
895
307
364
631
636
597
360
711
706
704
846
732
499
987
709
525
399
83
428
882
605
960
25
248
241
934
256
249
933
650
377
390
122
914
862
997
391
385
456
82
726
208
837
873
809
20
486
315
662
785
186
241
481
325
575
398
898
845
863
734
423
969
348
3
680
933
592
303
97
392
953
964
769
704
659
329
283
292
948
515
335
581
951
980
181
284
762
543
84
40
218
26
698
202
246
294
699
198
525
234
490
289
842
181
997
21
83
734
542
261
240
706
308
498
74
51
330
74
357
674
294
452
900
551
681
698
624
655
204
763
548
985
69
806
807
228
609
819
819
583
843
493
533
62
709
483
95
649
553
785
168
165
453
843
122
645
805
109
809
620
419
355
101
608
520
926
363
527
326
702
323
222
756
973
700
575
51
941
11
345
844
510
823
959
507
522
537
938
346
575
32
156
489
430
58
202
609
66
129
667
226
719
159
73
888
538
160
116
93
571
559
811
75
121
937
550
770
768
740
202
56
91
355
337
638
833
584
638
60
470
865
87
520
242
218
179
834
867
248
986
595
628
675
476
139
304
914
578
178
921
751
768
852
359
619
451
2
660
597
886
50
568
521
254
357
503
372
375
595
439
530
337
782
133
135
311
935
603
166
740
44
591
357
845
644
436
276
452
930
796
403
997
881
910
661
350
473
443
465
947
799
668
757
331
507
906
777
290
783
277
218
680
452
896
292
816
832
631
178
938
639
369
33
609
176
867
438
143
0
629
413
639
136
258
848
598
930
805
670
22
878
226
184
955
470
536
274
284
510
900
614
50
378
25
294
881
899
541
516
920
309
925
329
502
36
736
510
361
979
101
460
809
764
769
404
524
228
6
664
175
182
374
152
335
540
6
919
847
120
215
124
538
656
289
735
836
442
340
473
284
207
652
430
582
757
192
404
850
692
170
537
38
791
597
433
284
585
748
834
276
237
121
814
491
508
126
554
458
546
640
870
405
71
713
508
976
445
904
238
463
924
489
967
6
933
608
388
65
414
305
386
325
434
85
354
492
875
579
922
775
339
351
833
854
885
84
364
3
455
335
448
533
369
316
544
508
390
130
493
446
896
88
726
396
156
660
329
25
364
833
578
271
361
647
130
91
788
827
598
307
77
949
810
320
90
199
373
102
787
643
811
7
893
445
854
0
206
404
922
181
164
328
159
988
133
257
79
917
797
964
438
926
503
589
593
214
291
860
372
217
441
295
691
49
145
504
963
80
65
371
817
419
186
835
354
886
364
898
99
158
989
501
336
333
953
575
839
183
989
890
871
343
834
37
769
501
455
626
14
745
954
460
251
550
597
531
247
829
894
308
705
500
948
869
777
812
347
542
493
585
897
90
193
973
197
158
291
612
888
550
12
358
979
797
798
576
354
588
39
303
375
895
197
117
761
710
263
346
620
272
185
848
855
139
626
581
438
243
513
782
294
613
250
989
956
8
152
673
183
505
407
202
537
403
501
653
207
127
367
269
372
538
666
965
941
656
725
500
603
996
33
911
745
820
636
968
764
899
57
864
430
862
226
965
253
321
554
536
792
370
529
487
652
72
61
58
642
976
19
147
373
819
175
21
868
137
384
200
163
541
14
7
47
791
973
732
856
266
341
390
154
946
33
796
594
209
818
868
461
649
819
94
584
233
14
697
989
921
761
518
182
62
37
437
718
379
993
24
224
583
965
628
448
663
930
20
342
426
829
793
495
234
497
445
279
459
959
113
950
308
394
692
918
935
860
646
274
851
511
63
48
665
189
566
309
328
839
16
926
123
78
524
954
270
861
918
485
899
128
255
933
507
634
581
187
649
117
339
950
800
368
863
63
385
530
445
582
701
453
63
549
695
492
939
775
361
813
918
641
801
543
968
183
35
405
130
918
326
285
181
181
356
414
880
988
208
851
774
355
183
227
140
770
593
959
756
803
601
84
384
823
327
870
924
235
551
321
871
40
707
421
950
547
328
777
318
889
309
603
9
544
322
668
550
577
935
39
197
528
162
352
520
780
777
257
250
89
715
683
121
243
27
102
472
929
738
20
942
626
245
301
635
687
241
649
987
331
180
742
644
360
374
992
662
287
962
241
142
718
702
545
71
968
815
803
822
17
17
533
660
359
141
866
38
366
413
833
743
995
766
578
153
509
987
487
763
77
692
137
368
87
545
293
448
579
629
143
309
519
458
154
627
353
132
224
903
429
665
462
535
459
314
155
768
81
999
934
27
275
119
351
410
581
347
107
310
34
161
701
497
470
990
685
955
630
707
840
190
960
497
227
79
506
843
77
353
49
442
146
174
24
264
517
134
576
356
996
224
273
422
869
43
102
178
31
398
947
765
282
133
771
886
821
661
942
739
761
155
194
41
589
609
606
557
789
862
991
96
925
766
597
255
600
108
185
617
765
477
991
106
517
706
653
130
482
872
860
494
817
120
267
119
535
20
371
52
138
426
860
792
175
370
139
66
555
184
478
111
969
264
565
59
164
233
511
457
726
613
219
669
798
180
850
444
482
775
872
123
556
681
211
709
958
278
685
571
947
243
530
973
79
445
311
38
351
582
76
193
78
646
60
498
529
637
194
100
373
717
144
945
341
354
307
709
110
971
412
73
788
98
232
967
419
366
999
69
393
802
198
380
712
137
504
810
966
261
137
139
537
605
433
909
825
190
606
278
263
834
598
713
131
164
629
807
903
343
431
67
983
47
27
145
788
689
731
773
532
68
611
649
992
341
860
311
562
409
338
996
338
834
75
351
265
530
632
561
192
299
776
784
103
262
819
464
680
812
63
347
829
15
448
59
536
88
312
61
40
834
300
964
890
788
774
158
396
983
133
762
312
94
729
677
167
730
962
432
413
519
352
61
85
175
894
31
729
534
486
615
729
37
842
179
740
447
525
923
206
771
187
649
275
496
63
115
486
748
588
598
8
714
368
349
152
480
572
553
762
583
673
868
139
560
639
370
900
466
167
90
388
919
30
735
219
745
0
14
301
519
721
200
97
211
93
274
30
292
80
71
558
369
494
461
109
183
979
750
57
696
167
875
509
81
136
584
139
380
556
640
480
272
439
601
237
107
8
400
585
989
33
694
90
986
8
668
783
497
974
26
215
820
646
54
679
328
519
971
578
654
583
408
122
441
234
481
757
184
830
505
48
330
282
679
753
410
968
826
558
964
936
324
833
464
32
51
454
639
919
170
450
894
845
630
403
17
389
251
186
383
159
540
456
618
618
539
871
806
322
722
76
462
460
130
881
102
961
707
257
76
31
910
299
252
157
981
813
227
2
974
367
663
363
67
568
871
985
965
363
895
223
989
673
235
581
814
300
692
897
53
213
823
587
4
542
25
618
495
153
654
647
678
28
899
10
172
953
952
636
574
387
283
883
301
671
285
753
914
610
370
247
744
955
266
860
663
780
275
671
224
218
428
642
69
170
26
110
31
52
360
857
521
817
455
506
527
877
296
196
893
251
890
414
476
737
661
983
539
722
118
920
472
629
77
706
155
519
608
85
148
61
621
483
412
45
25
67
206
522
559
917
239
618
351
879
420
107
33
387
591
65
232
386
986
929
131
636
726
871
299
624
500
219
105
43
407
642
580
928
223
194
544
79
940
141
197
382
747
992
461
786
854
639
603
151
202
886
712
637
722
594
378
517
475
468
786
790
712
912
689
52
25
863
650
132
996
515
713
957
720
727
689
790
16
256
598
503
425
832
20
582
207
515
347
468
587
934
500
109
89
555
630
73
441
95
292
912
61
193
167
214
5
126
636
888
906
385
488
287
377
801
231
709
323
398
538
860
485
132
747
613
789
616
76
311
141
438
988
18
708
961
486
49
325
860
395
472
813
255
783
57
260
357
132
984
428
861
860
879
986
677
541
989
922
714
816
279
847
660
200
24
138
523
590
710
287
243
310
765
644
288
694
30
141
148
550
633
786
909
235
746
857
307
143
502
641
716
606
812
286
762
261
66
554
263
32
716
147
258
452
454
578
607
848
123
301
210
778
67
152
721
926
287
189
274
139
196
507
304
695
667
397
519
774
131
545
844
124
384
327
234
475
246
837
262
165
511
751
601
247
986
992
834
213
182
97
264
780
331
696
941
463
495
573
874
810
435
243
375
657
77
672
898
677
140
45
20
789
313
215
596
383
524
644
48
111
28
802
649
208
512
522
267
145
286
570
828
279
741
436
107
252
875
949
762
582
159
556
110
369
933
813
381
746
662
807
754
917
876
745
427
281
379
156
620
219
710
172
428
258
905
873
555
387
811
688
950
651
364
102
612
327
439
541
393
274
569
400
258
924
881
992
782
949
801
803
881
169
269
374
857
159
360
924
82
473
741
263
90
378
4
820
802
644
162
382
679
298
491
222
676
980
137
461
762
306
839
390
901
298
266
971
650
194
956
190
680
170
268
25
657
30
167
765
773
852
489
111
822
484
901
719
402
426
38
461
205
721
618
594
239
415
13
51
944
432
116
393
163
582
165
553
118
383
306
997
187
315
863
942
677
224
95
398
371
715
903
136
967
15
718
683
661
985
387
5
921
510
878
757
575
18
651
432
552
465
156
567
983
819
83
324
996
471
677
0
41
289
208
532
581
500
738
344
833
417
145
403
505
336
119
767
925
161
328
816
362
130
602
703
67
327
370
811
779
772
426
555
666
980
168
148
682
661
321
725
0
380
391
118
630
684
232
351
864
960
793
108
392
941
26
440
114
580
216
800
507
144
672
698
493
357
838
558
206
567
847
957
187
913
143
803
890
753
893
964
44
196
762
878
368
308
60
513
745
713
945
629
786
455
102
232
58
361
352
999
314
997
49
82
463
720
724
148
102
822
701
3
295
46
861
228
763
561
701
619
114
967
261
163
413
513
243
426
477
754
247
863
404
190
91
939
292
78
380
929
574
876
929
978
17
309
609
105
364
493
127
59
752
747
318
562
19
519
415
514
651
101
227
296
601
768
500
532
712
477
41
901
891
472
365
670
903
424
796
176
434
760
367
458
260
280
893
523
757
256
593
79
881
622
682
981
36
291
12
930
998
832
954
452
197
558
835
561
188
628
912
972
991
447
421
703
833
294
930
406
995
2
212
87
421
558
362
291
616
21
527
971
221
903
655
810
464
737
613
195
977
991
835
932
757
493
822
499
244
512
682
709
215
290
380
346
806
527
150
137
865
184
174
15
940
804
896
550
104
223
625
697
332
553
877
730
531
142
679
494
133
128
470
184
91
553
376
605
618
868
263
412
481
574
623
129
430
541
183
198
934
747
786
85
168
446
53
800
293
22
685
467
693
433
128
384
179
662
88
579
865
830
210
509
906
650
569
284
589
537
62
566
350
454
840
301
528
759
244
145
779
840
753
46
220
950
378
45
389
884
336
326
687
518
178
559
683
386
881
48
973
128
330
749
871
160
502
657
44
82
527
827
965
16
211
474
310
617
570
28
206
107
115
66
360
62
601
259
322
267
493
201
259
28
315
492
416
800
620
207
714
673
223
917
934
369
887
857
537
820
829
356
371
916
398
31
757
617
751
789
741
99
557
492
713
775
833
795
742
354
137
168
821
237
804
584
945
84
589
948
651
992
39
977
575
821
32
422
131
525
237
660
626
384
244
708
639
727
934
963
454
805
196
17
830
496
742
218
15
847
202
215
60
961
578
104
506
975
690
413
349
498
890
456
204
249
571
140
410
989
323
717
91
807
935
347
649
524
31
590
811
314
165
648
294
866
869
139
812
512
767
317
15
862
388
799
710
948
552
523
890
683
462
219
741
301
245
427
327
284
83
179
170
253
667
574
7
693
80
964
774
791
422
183
570
897
788
542
319
358
211
137
336
21
8
106
338
313
985
775
996
282
351
918
291
368
109
79
583
436
954
747
209
990
60
103
777
618
663
823
105
117
645
903
549
63
838
308
456
668
298
506
63
746
663
334
221
260
462
143
865
797
971
572
606
562
173
337
448
786
2
454
399
429
812
353
885
383
88
508
74
963
336
142
378
371
855
857
413
845
459
532
978
849
338
701
530
45
708
103
354
289
884
915
974
192
118
197
715
228
702
130
735
525
606
405
71
865
656
690
261
460
200
684
236
272
520
213
889
340
481
969
801
305
59
793
57
866
743
579
95
202
39
692
417
831
369
271
387
741
429
334
721
610
360
960
916
312
626
42
601
550
415
910
508
84
73
779
548
156
564
998
38
463
675
761
558
225
920
393
792
876
731
284
691
300
793
159
370
327
306
93
429
973
703
17
684
345
167
955
960
530
372
112
645
557
106
84
694
180
131
753
702
557
901
494
267
613
513
274
967
742
466
170
541
554
250
170
287
465
15
531
945
888
108
358
531
230
324
455
144
212
216
443
115
994
121
878
289
10
939
893
138
673
130
536
717
644
764
172
248
162
827
114
222
378
837
80
848
663
27
185
745
328
328
353
967
706
165
395
552
451
167
317
444
582
528
830
656
914
638
426
574
716
782
472
845
630
554
868
926
30
291
222
401
80
434
292
357
332
1
368
505
988
326
562
175
837
269
1
715
303
980
432
140
203
836
665
896
52
831
956
956
913
486
492
275
88
302
182
241
649
345
525
394
196
996
73
726
788
404
699
596
247
746
212
46
443
773
927
154
196
454
211
81
261
424
867
286
842
847
951
433
980
821
192
983
632
342
977
373
806
918
676
706
262
701
87
914
87
44
608
861
96
998
516
614
436
267
752
504
290
76
179
154
636
894
563
861
371
356
281
361
533
198
765
462
356
770
590
13
742
294
109
41
985
504
444
925
845
849
255
240
592
34
194
834
963
333
577
89
887
211
466
295
358
865
792
489
376
306
556
891
576
980
873
685
482
733
809
706
263
513
144
717
575
412
386
225
478
916
493
952
745
781
354
67
628
8
508
368
329
365
56
412
772
791
605
1
289
516
199
509
653
441
789
290
111
604
681
787
531
587
128
352
668
440
710
994
866
945
836
917
253
261
238
775
640
222
50
243
929
945
317
343
132
183
460
942
470
173
138
782
417
644
264
644
366
119
583
889
956
238
339
607
512
53
861
499
52
167
133
209
3
532
967
333
206
954
775
657
315
840
630
84
209
645
457
723
733
282
290
568
387
973
816
804
10
928
746
748
547
134
580
239
837
302
339
247
809
660
595
338
589
166
548
893
162
601
275
959
306
56
354
703
317
210
488
584
400
644
231
392
598
512
279
366
357
354
168
308
726
432
444
992
115
40
843
585
858
399
264
303
960
613
806
795
902
815
27
581
342
562
86
428
43
682
579
262
932
843
258
140
619
40
812
401
301
209
219
228
176
253
338
647
108
855
5
165
797
707
396
973
610
692
700
175
655
687
251
952
405
294
309
28
761
351
71
660
179
722
369
897
265
280
663
55
811
127
775
48
884
26
794
444
674
128
229
185
238
387
341
506
962
820
13
687
847
988
240
858
341
34
931
293
632
647
370
505
142
329
69
255
909
692
41
66
24
210
523
340
172
651
541
51
216
847
15
225
167
103
446
377
21
576
239
307
425
141
273
398
201
712
965
692
242
380
918
183
844
42
304
797
688
31
741
735
192
864
818
631
501
806
776
24
558
673
173
791
379
88
738
576
816
378
920
896
21
395
45
690
536
88
629
476
383
655
434
521
468
884
792
544
271
426
678
556
450
867
407
510
904
59
428
282
823
898
172
560
742
919
481
344
383
330
787
193
995
852
591
380
238
364
354
546
170
412
315
330
463
338
194
142
968
579
27
414
551
938
345
52
967
720
834
113
606
388
858
900
964
73
712
4
810
650
964
690
132
824
313
287
686
701
288
270
137
750
565
537
742
829
267
0
554
984
43
353
973
671
961
658
49
625
985
426
173
979
795
918
857
883
723
71
574
596
457
974
135
204
974
66
375
41
611
782
754
189
510
514
619
789
905
58
730
828
611
620
950
146
323
775
956
702
908
680
346
690
805
661
137
232
864
96
588
44
110
765
481
780
701
476
70
397
919
125
544
604
526
595
684
771
387
983
347
617
663
591
259
582
646
767
387
863
29
455
386
214
985
260
748
178
698
440
747
332
135
886
352
77
262
770
369
915
698
860
145
274
125
776
958
409
323
584
267
232
696
611
214
409
419
707
395
632
434
235
550
218
52
40
87
294
851
339
499
451
477
572
178
239
786
282
874
615
454
299
101
510
150
128
240
925
292
273
123
543
352
990
732
489
303
133
498
955
322
11
773
137
49
550
823
224
453
1
535
29
726
241
954
150
295
919
107
627
453
994
881
496
227
527
439
539
170
702
743
797
582
15
501
473
744
963
500
377
374
515
974
997
997
476
39
32
831
54
477
324
272
139
785
844
886
251
189
785
219
688
537
168
88
614
848
170
655
836
693
270
275
949
196
35
169
995
295
355
890
423
571
297
925
208
618
363
478
433
544
646
282
804
239
210
899
950
639
55
634
23
850
639
31
758
281
232
53
142
207
727
299
905
205
461
592
805
102
495
248
658
8
254
891
110
381
945
559
691
276
75
700
903
560
931
382
734
598
109
678
579
817
211
933
785
824
484
512
115
501
473
210
195
691
877
691
695
284
574
271
202
280
518
231
11
599
947
956
615
686
578
698
112
85
737
554
290
377
164
25
227
112
686
181
237
460
717
997
941
19
843
957
924
157
874
220
570
653
311
804
281
507
845
997
709
584
617
910
807
804
126
43
758
608
968
357
329
974
296
599
887
236
296
874
761
963
341
606
459
872
977
302
205
300
465
460
456
663
344
728
615
559
358
55
889
278
347
41
805
94
523
284
452
482
863
529
202
924
225
500
341
965
166
104
0
43
576
171
570
63
153
750
40
487
200
496
287
671
896
656
366
520
426
253
688
219
583
749
896
997
457
994
370
257
481
82
477
30
56
870
749
456
157
89
72
102
287
857
498
878
755
205
217
97
730
374
831
459
966
486
537
714
440
306
493
748
322
734
637
477
815
940
237
503
420
955
39
318
567
196
750
667
354
547
375
363
394
590
841
52
437
838
202
253
220
870
634
693
785
763
121
208
608
345
786
799
879
500
306
210
606
49
465
247
238
54
830
46
535
255
966
725
67
847
808
604
316
650
373
686
352
2
828
444
172
54
908
122
536
917
349
775
358
669
306
704
396
227
543
451
312
1
799
877
505
145
617
170
775
869
714
702
449
604
972
324
486
630
628
757
445
348
351
429
816
387
737
58
983
867
591
19
614
384
931
945
391
109
564
63
385
890
667
592
895
660
835
633
196
139
555
234
871
988
163
4
256
540
278
431
357
318
927
799
115
95
714
409
429
135
107
149
662
609
108
53
572
255
365
526
484
973
869
392
601
702
371
964
911
368
963
83
551
692
828
334
655
164
623
713
351
676
357
175
699
751
474
88
853
290
60
492
515
25
379
259
680
90
611
203
552
813
9
203
114
587
248
988
177
464
720
491
492
312
105
500
208
474
831
732
170
682
654
968
728
109
429
249
681
692
550
710
943
749
762
550
322
9
590
382
535
432
693
775
415
420
723
263
770
84
244
310
576
879
930
450
889
929
504
771
999
826
987
664
939
699
433
941
212
252
446
664
50
402
572
904
215
633
395
637
222
747
955
235
360
169
960
813
69
548
311
112
120
484
541
735
942
499
87
122
660
360
187
248
526
356
441
782
801
184
823
1
977
279
318
250
492
454
959
525
831
996
222
874
395
911
700
98
862
457
918
30
178
806
343
959
11
33
82
0
837
790
432
905
265
679
62
946
685
641
910
873
705
938
106
606
661
597
466
621
383
280
995
599
169
393
202
138
140
119
773
823
817
493
53
504
292
700
543
454
823
948
57
674
551
846
295
298
729
803
412
531
792
276
837
491
301
259
491
347
835
401
115
7
398
431
817
539
766
13
677
479
423
324
503
633
319
912
190
403
214
245
802
816
829
214
973
868
101
669
153
383
546
327
560
915
73
908
406
755
588
890
451
846
86
918
398
344
136
146
763
42
765
557
18
821
394
764
598
730
546
304
732
651
273
396
227
455
795
430
282
86
77
228
740
572
328
165
406
64
913
219
328
394
245
546
627
548
786
403
440
258
877
901
712
874
928
696
337
292
754
265
722
172
776
821
53
419
524
467
528
847
146
604
855
981
567
713
683
567
107
920
552
437
577
69
210
745
313
155
732
253
67
250
875
333
728
41
90
249
254
457
333
687
541
821
847
129
460
820
60
902
263
164
271
63
368
906
44
226
269
100
838
809
552
809
550
12
733
652
699
212
572
966
634
99
109
571
811
705
152
142
605
221
418
221
669
927
711
202
135
291
359
249
721
959
44
546
772
989
442
244
864
195
317
868
228
844
16
70
425
54
476
996
187
933
405
607
368
747
114
554
974
349
151
633
555
522
921
261
590
117
961
702
326
565
866
748
894
995
423
508
229
836
131
16
765
304
640
86
901
173
621
618
901
978
693
874
140
179
252
310
707
930
784
15
553
206
301
967
110
421
278
522
666
611
426
531
667
563
61
436
252
772
429
233
517
44
364
114
653
71
791
924
555
67
537
401
281
762
103
600
144
904
812
944
112
750
999
138
195
252
554
269
987
492
805
908
147
21
901
647
987
251
638
855
922
149
722
644
11
737
879
499
414
795
312
859
843
460
966
519
533
395
234
612
382
809
818
440
794
794
270
47
992
922
458
393
390
490
777
350
988
150
957
734
505
78
909
857
38
187
249
713
931
968
132
199
6
235
375
722
223
344
584
218
654
869
509
249
916
180
935
58
802
652
131
451
730
647
145
497
479
415
794
227
182
10
888
880
35
446
842
169
344
526
107
25
749
176
886
922
208
93
726
746
536
938
940
851
764
204
740
239
711
651
474
467
747
189
569
938
518
598
165
842
82
571
766
409
698
135
548
567
660
284
117
60
222
759
297
555
982
421
121
642
359
831
550
847
770
890
949
565
222
444
382
634
373
715
825
875
320
870
900
779
543
691
670
97
769
537
740
556
623
843
381
84
360
426
522
597
838
858
526
510
514
930
451
770
597
19
804
106
523
379
739
492
408
482
180
978
35
491
202
711
608
151
455
665
716
73
851
572
447
477
204
49
86
560
290
787
224
706
48
241
801
555
654
744
577
765
523
712
305
132
3
371
374
665
62
257
547
702
996
53
82
850
73
363
429
955
788
325
594
702
166
524
566
442
768
753
221
358
324
147
751
99
572
374
5
839
619
189
999
726
103
411
766
286
499
793
22
996
755
934
106
832
244
625
901
197
223
618
812
203
938
166
410
781
215
925
435
173
878
312
511
306
601
304
893
659
573
896
232
803
391
540
946
674
608
120
809
11
673
253
830
376
302
915
146
171
561
738
394
187
489
675
404
854
463
421
746
313
764
5
194
427
560
696
16
739
710
793
358
638
422
316
647
115
364
866
917
261
525
197
850
586
235
742
912
777
880
458
20
761
65
998
776
54
361
819
496
0
927
516
519
239
585
361
179
631
36
936
394
347
625
810
669
371
792
716
631
440
658
954
355
937
9
607
819
208
53
321
232
747
251
669
602
505
842
777
426
740
721
132
868
188
816
484
610
117
100
42
350
318
464
470
385
354
181
954
295
476
635
322
160
164
939
396
236
580
99
77
470
74
929
356
615
381
734
558
72
402
312
160
403
84
583
597
680
672
175
356
925
595
551
946
360
567
154
696
277
895
806
862
724
109
289
104
267
855
788
964
743
377
462
185
776
457
268
870
205
120
334
454
394
146
49
597
33
471
377
629
694
820
268
156
210
499
28
3
604
816
801
173
964
960
651
909
772
558
94
809
464
429
963
403
522
663
109
377
331
401
655
638
498
485
342
765
925
680
622
460
610
319
213
114
955
567
400
910
588
400
63
591
254
187
672
182
538
457
767
466
638
562
940
153
96
418
250
927
707
469
356
103
581
204
767
667
489
533
23
824
816
250
353
828
93
700
878
898
72
124
486
10
815
152
639
6
882
283
808
846
429
124
153
341
63
21
174
479
726
980
1
839
717
84
600
740
755
752
739
140
786
655
523
358
413
624
347
811
845
174
628
152
597
356
84
267
102
802
311
878
761
954
741
51
241
18
981
404
379
374
44
728
936
872
2
386
681
913
694
9
212
485
552
245
456
987
525
187
966
611
356
125
385
505
812
2
584
325
193
795
476
39
669
228
882
321
734
814
484
614
7
511
744
796
453
165
880
360
702
601
188
597
801
190
979
949
736
269
329
332
498
523
159
530
355
981
646
392
984
746
742
37
345
868
273
298
544
306
948
373
58
800
956
983
736
418
637
938
42
659
472
133
58
957
106
120
712
730
447
455
148
801
382
905
323
699
716
776
877
161
610
430
45
854
302
894
658
657
409
787
449
906
779
701
544
823
851
946
104
653
781
147
861
433
993
705
797
261
255
327
25
668
239
0
426
583
712
227
635
650
974
446
105
962
24
701
485
102
535
82
634
849
874
887
970
224
902
577
285
483
66
12
944
726
970
289
382
16
634
85
791
146
671
945
916
414
710
191
614
769
322
500
120
539
67
539
161
527
72
565
836
401
248
716
34
639
895
773
481
551
357
887
43
258
437
254
575
716
423
182
380
34
116
423
987
121
676
307
497
350
342
932
538
751
253
650
254
362
572
859
12
667
124
878
67
724
529
757
20
605
105
499
416
889
282
217
941
479
572
240
641
504
793
488
744
646
472
271
580
985
459
563
94
50
604
572
219
877
35
808
892
583
657
438
551
874
850
131
163
277
521
869
499
427
565
792
839
364
502
759
478
173
35
659
633
139
225
110
992
226
453
367
429
477
644
783
982
41
137
938
89
416
501
560
199
782
606
674
204
329
274
497
209
198
592
736
25
411
78
749
660
342
436
774
920
204
721
669
76
569
292
365
965
974
927
393
603
957
334
52
143
372
204
206
930
959
197
851
209
9
527
270
929
354
772
598
958
569
839
588
322
886
829
614
102
488
77
175
183
577
934
88
582
92
168
419
793
239
391
127
787
906
665
907
594
712
745
393
694
849
367
36
382
381
382
870
311
26
497
760
349
243
301
180
760
634
689
409
593
752
308
446
508
847
4
72
148
885
757
759
355
431
689
780
771
95
607
615
923
568
376
531
782
762
441
974
132
181
859
84
612
111
188
595
724
745
43
244
795
750
992
493
119
409
64
421
729
251
69
179
175
49
488
284
434
9
418
151
397
181
716
225
894
424
797
176
851
920
85
918
459
625
549
954
924
923
637
839
24
134
345
616
800
411
30
680
44
424
183
756
499
206
235
868
181
134
975
416
432
225
177
297
401
804
806
531
735
827
739
609
535
630
888
363
784
719
643
656
976
489
873
159
876
388
809
780
733
137
625
592
797
493
824
709
852
188
335
387
375
458
610
253
703
337
64
663
146
610
203
284
64
314
63
922
319
706
284
169
208
165
59
713
145
645
663
756
21
461
643
784
959
896
339
723
400
964
653
470
680
409
157
922
772
124
265
366
539
752
971
436
849
208
851
732
25
309
427
447
475
917
723
282
698
475
587
578
237
572
65
570
724
517
803
664
623
596
928
779
805
583
375
627
881
731
834
14
680
557
139
354
940
155
657
571
178
967
216
620
296
882
150
97
410
180
813
359
650
719
158
290
12
798
242
473
598
931
303
734
519
43
753
590
946
918
780
526
54
577
955
691
231
209
875
310
983
985
842
517
491
353
935
152
984
14
669
37
523
744
88
764
409
885
579
59
193
587
406
610
510
729
971
195
526
899
995
136
770
620
360
302
779
580
190
38
396
28
39
695
92
654
383
399
311
638
562
282
683
207
10
543
825
310
598
115
782
460
880
491
327
323
231
129
91
467
45
807
471
893
733
379
536
181
76
682
224
266
993
236
297
328
188
476
269
313
936
692
426
319
653
702
422
581
624
34
378
456
125
433
726
895
251
695
745
468
37
831
139
731
979
870
64
821
11
928
897
600
649
510
620
435
759
535
532
306
305
596
394
626
325
863
727
65
898
860
529
935
902
181
188
487
348
985
409
487
381
386
92
606
997
863
98
167
911
269
729
951
960
268
325
494
438
319
981
215
681
285
357
908
820
698
228
51
404
359
91
614
279
764
714
34
426
950
669
18
338
451
327
363
675
761
913
874
7
55
607
183
683
136
400
797
894
83
953
130
470
763
418
60
893
839
412
928
509
242
554
468
925
639
416
604
540
887
42
869
738
551
47
985
115
83
770
5
835
821
775
188
702
546
824
604
819
960
377
377
355
519
453
933
964
391
966
54
450
217
372
966
268
675
157
693
757
382
639
197
437
405
762
791
296
63
629
761
551
277
796
693
477
87
34
446
476
724
689
912
42
281
680
790
654
669
494
121
649
997
939
537
978
214
357
961
909
757
58
867
206
392
723
360
38
546
812
765
756
910
553
960
460
922
402
488
650
49
937
694
401
210
998
796
43
608
235
133
481
622
981
100
234
271
500
240
428
117
141
545
773
256
294
270
928
78
613
585
888
61
524
606
57
143
122
65
573
646
686
486
296
924
42
126
883
636
168
839
543
756
534
2
183
123
253
128
847
465
186
748
798
559
136
651
97
578
885
986
200
283
113
893
972
140
588
235
402
38
100
660
667
4
406
802
283
673
43
124
765
901
477
202
23
568
820
565
984
88
585
816
733
933
230
654
887
44
834
984
167
332
431
40
240
386
895
982
986
818
500
430
8
639
57
108
834
34
778
514
448
804
167
747
849
231
267
850
664
542
180
576
27
237
400
10
213
148
907
992
674
642
948
604
337
153
222
572
74
591
677
154
774
793
378
461
798
126
774
744
101
415
814
707
800
320
473
12
183
334
378
523
753
766
778
742
881
297
533
586
153
17
927
642
159
474
498
22
494
531
581
871
490
147
147
174
47
308
453
765
477
930
337
33
52
506
700
635
108
832
528
732
888
421
49
256
676
868
276
582
962
667
744
518
483
168
870
148
624
194
328
7
405
599
555
334
866
382
652
649
703
694
585
255
811
811
954
45
760
277
309
270
591
913
621
515
477
479
234
600
319
751
357
848
762
350
103
930
189
726
492
864
38
666
574
397
807
399
689
555
21
161
107
417
596
116
208
555
726
783
7
458
100
222
596
742
887
16
735
451
985
827
498
748
285
394
938
885
302
848
62
424
557
703
492
88
432
531
599
977
22
253
166
626
269
869
829
955
285
710
347
445
994
243
139
70
301
896
946
976
444
402
541
396
212
385
113
717
307
598
291
702
198
835
743
573
297
135
306
272
291
193
867
759
280
972
745
133
268
505
231
552
120
295
574
278
672
331
478
418
76
953
127
731
304
375
452
14
595
658
378
99
101
594
232
515
292
898
85
78
521
289
797
661
554
508
656
929
185
181
181
660
34
879
73
445
446
937
312
170
39
681
933
386
275
447
821
810
729
398
946
954
604
653
251
319
79
130
716
754
224
970
360
855
586
370
693
545
767
867
329
774
545
103
162
53
589
731
362
916
280
583
842
546
589
482
668
586
846
250
311
894
732
139
355
563
965
727
592
831
296
736
571
340
452
489
49
267
98
599
234
525
342
140
233
759
515
394
362
175
285
495
84
27
472
265
325
149
272
803
585
550
223
722
877
838
850
659
970
385
122
649
393
99
137
105
243
983
798
26
150
32
244
479
88
146
962
81
898
954
239
885
984
368
68
516
119
276
86
271
656
121
931
575
704
767
668
57
140
54
577
560
482
127
447
397
806
701
27
361
769
850
602
65
444
640
485
501
736
143
576
840
924
980
187
108
946
354
978
977
154
263
579
356
711
429
695
275
9
556
546
822
23
559
925
547
240
302
500
638
537
134
349
204
17
908
805
716
716
883
451
902
48
489
703
455
995
58
738
454
495
126
189
568
761
345
572
668
700
487
651
661
101
197
454
439
111
927
823
695
384
421
652
582
408
554
106
645
134
502
542
918
678
324
723
536
482
916
247
327
886
97
337
712
635
346
408
805
821
302
895
910
459
114
377
33
259
322
902
898
656
222
585
907
346
117
464
506
465
853
731
309
575
231
221
56
872
108
554
114
63
613
337
463
904
924
781
109
185
587
54
198
144
94
44
469
897
111
448
203
917
222
493
57
148
744
355
289
171
949
136
567
378
542
992
184
417
392
45
402
60
456
889
300
541
81
966
490
277
818
109
170
763
445
905
425
991
454
279
287
489
843
909
71
335
837
855
982
913
5
507
535
891
285
868
344
717
996
898
905
921
212
820
420
836
730
989
589
761
349
787
745
527
0
719
843
892
654
691
327
389
272
544
672
276
54
642
743
429
68
478
877
271
419
352
169
953
840
203
601
407
324
144
444
378
899
466
57
857
378
657
336
91
357
331
822
921
808
245
94
412
202
146
274
626
949
463
441
227
64
65
333
79
143
349
151
176
749
767
482
643
96
285
803
427
563
827
507
71
105
439
621
368
416
982
401
155
862
696
59
372
660
694
49
473
32
252
89
392
46
585
814
121
276
570
620
723
96
732
237
248
779
922
152
432
786
876
725
311
95
391
229
448
674
894
400
648
454
379
510
520
159
758
641
422
968
318
892
398
600
269
726
107
14
23
714
796
247
178
403
249
914
782
170
697
802
375
343
188
762
590
506
746
467
317
895
566
594
902
230
663
719
991
83
678
291
146
283
901
34
826
61
374
433
705
822
948
826
976
717
613
446
774
18
581
894
442
379
813
16
147
482
635
139
564
324
889
89
496
969
314
216
435
121
945
495
585
797
201
429
923
572
624
650
186
507
129
738
365
621
903
488
705
293
557
21
325
412
351
344
249
432
224
210
683
717
120
847
484
715
932
309
153
169
567
232
782
706
351
24
144
124
144
131
731
188
397
820
242
170
389
853
737
447
971
826
729
877
312
262
141
962
706
688
890
300
486
766
365
779
252
219
310
849
138
837
710
238
485
242
916
819
195
583
802
99
934
352
677
493
458
888
779
564
501
77
882
558
609
160
710
406
972
671
370
933
420
732
10
43
599
19
180
468
449
86
967
968
584
959
190
328
202
465
50
117
505
468
175
121
550
34
594
367
550
195
204
548
785
548
609
767
818
837
30
468
733
200
178
329
986
340
321
410
240
27
732
545
243
602
360
277
70
762
654
501
782
154
89
904
83
75
829
652
739
493
190
856
503
675
122
67
16
398
960
534
765
976
908
32
61
607
594
139
10
173
180
914
686
498
334
485
366
315
88
231
402
390
123
311
581
673
610
166
742
123
951
565
171
761
505
835
810
78
548
537
202
763
672
437
239
114
857
233
497
356
636
712
324
742
797
728
295
676
624
420
577
395
814
620
633
55
259
999
608
353
221
949
461
721
42
953
900
993
654
837
952
517
328
443
543
211
933
413
1
801
418
375
266
3
246
192
596
680
77
119
754
218
887
696
730
357
968
93
230
144
119
828
587
763
455
947
119
888
973
410
219
170
511
254
806
351
751
760
655
165
733
34
630
183
679
925
1
245
230
19
991
352
702
469
88
102
761
725
208
722
964
474
306
337
983
713
259
62
37
104
649
167
729
315
306
957
51
167
325
495
7
961
416
808
273
316
253
430
989
917
756
167
223
766
609
787
575
621
811
77
860
853
908
739
192
968
380
883
66
308
91
247
575
6
860
982
367
609
699
860
969
325
471
49
191
42
251
73
501
208
538
139
68
249
958
464
716
678
209
273
390
675
557
568
890
930
908
354
307
422
369
103
5
73
137
851
821
185
513
19
271
864
964
360
822
14
989
914
339
214
670
620
124
708
217
689
878
830
506
87
747
513
67
224
417
674
237
448
618
823
545
522
234
851
74
784
595
345
989
499
252
439
524
486
989
907
813
845
991
186
327
472
963
277
952
827
390
272
335
599
194
156
572
257
571
868
518
238
12
227
349
240
193
73
264
994
334
611
199
863
836
998
924
26
739
883
58
903
254
872
551
923
792
683
267
806
218
502
531
825
163
610
539
315
982
881
872
411
286
855
79
355
479
526
839
410
451
203
900
91
479
375
327
339
986
328
653
869
882
21
508
527
416
157
977
245
806
404
384
731
440
878
490
816
334
114
850
618
574
73
237
542
808
874
112
595
279
227
877
30
607
814
644
644
96
941
775
958
733
462
533
641
854
553
749
710
925
196
864
591
385
261
34
378
878
956
174
382
902
229
481
664
421
858
680
394
34
125
500
82
444
951
23
737
773
199
270
969
703
841
706
199
567
351
612
841
760
449
665
29
162
729
420
764
776
440
242
501
404
66
421
917
61
806
657
872
326
390
28
278
375
75
143
85
254
337
628
794
785
514
394
968
282
724
633
763
742
469
251
66
834
48
259
159
89
527
890
567
113
742
592
471
357
999
72
910
342
286
497
475
511
467
345
323
951
863
803
988
862
562
519
707
89
385
86
359
801
536
429
487
303
467
266
555
968
937
45
404
553
894
254
165
434
672
196
61
961
440
767
341
953
262
302
624
522
525
74
56
774
428
52
205
512
42
2
461
759
909
567
857
513
451
436
115
611
397
592
669
784
54
894
200
848
786
423
176
475
545
493
438
44
104
781
441
609
712
759
929
284
309
536
90
730
439
419
832
25
486
213
608
113
843
828
925
182
346
472
635
622
215
779
46
361
635
555
306
830
693
400
267
130
679
583
727
343
972
979
82
487
193
871
501
754
499
286
639
684
659
667
650
499
305
533
619
129
657
79
868
991
318
320
680
286
444
644
934
35
688
889
104
260
417
66
418
769
225
796
197
380
313
300
34
234
755
431
708
411
182
880
238
186
181
866
803
775
881
100
380
379
830
27
904
174
465
749
918
75
558
220
513
896
138
341
520
452
86
900
323
418
844
554
399
642
13
522
934
931
196
868
156
859
986
918
187
897
274
513
859
608
21
355
51
488
344
42
517
283
138
470
495
834
458
467
96
353
845
451
232
298
31
75
699
624
92
958
563
957
405
217
942
243
772
27
29
986
628
191
777
958
973
846
854
39
310
607
350
328
202
765
491
504
177
419
611
42
335
252
691
812
691
419
98
62
74
933
543
914
912
900
314
191
942
903
976
857
67
224
413
551
373
661
26
66
500
668
529
781
746
453
48
957
796
980
726
23
678
218
34
466
449
847
638
342
521
68
997
264
442
624
626
401
289
540
621
537
480
942
175
300
958
791
851
945
925
29
458
982
505
985
596
360
242
793
958
483
527
134
419
600
260
22
976
846
84
680
66
424
910
52
933
469
494
251
385
516
969
614
7
453
885
228
228
87
107
161
893
556
676
146
24
536
151
574
775
333
852
976
143
583
919
498
13
797
913
360
957
895
427
849
996
64
141
276
21
913
298
393
967
254
109
752
655
584
71
781
311
642
206
218
165
451
482
791
258
725
198
153
915
218
490
20
850
353
328
851
321
95
310
128
489
439
458
258
828
418
173
534
486
502
769
382
967
678
517
22
896
57
277
38
983
579
223
854
527
378
638
191
442
94
555
797
349
213
339
448
363
531
78
611
603
460
507
489
818
538
18
208
853
455
238
351
36
84
253
635
679
352
933
201
383
670
784
628
899
676
705
587
273
115
502
545
185
652
111
266
514
255
748
561
757
977
558
922
754
843
706
574
390
276
483
752
232
554
819
908
802
743
238
33
834
417
704
781
816
583
225
934
847
28
809
971
287
910
95
121
364
350
964
129
806
187
476
833
831
330
619
854
498
17
112
641
900
722
875
728
171
140
50
544
943
450
142
593
15
170
91
77
883
958
346
400
794
279
167
166
980
600
122
660
512
909
817
911
281
971
931
250
91
48
681
538
252
486
560
320
403
401
263
54
89
60
705
425
862
522
142
229
574
575
878
846
203
794
328
596
657
685
370
366
702
975
988
762
341
904
13
133
610
710
383
568
318
255
361
570
515
460
946
146
186
368
850
988
439
188
725
15
627
168
324
704
353
247
355
940
612
109
550
776
158
319
764
891
58
548
978
821
824
756
285
460
163
958
604
885
117
434
102
282
765
545
492
156
571
260
142
741
229
134
192
308
765
622
415
175
996
527
528
274
985
599
143
585
167
418
774
221
683
191
942
778
754
2
169
226
732
524
156
461
243
641
945
26
326
70
319
29
97
257
365
502
661
783
178
271
519
601
215
778
536
890
398
675
734
701
870
92
658
927
27
161
631
490
633
81
373
168
846
566
593
705
463
770
39
686
997
195
602
733
509
124
452
776
543
806
295
242
238
324
544
839
671
189
457
661
537
212
141
929
650
430
590
227
513
571
642
138
898
966
823
8
738
938
26
436
45
352
241
750
733
200
631
362
124
378
205
64
948
716
317
10
725
171
330
6
309
802
985
367
94
364
223
849
943
764
801
439
955
831
27
754
551
444
111
218
309
831
794
811
553
559
263
236
897
227
830
283
140
763
308
275
876
82
287
930
720
906
828
638
923
13
200
845
765
477
605
88
52
687
951
874
617
365
163
640
417
274
166
77
299
553
530
635
92
301
696
174
807
603
84
969
201
975
244
435
198
747
118
648
897
655
980
197
722
9
368
291
572
463
130
798
882
2
402
810
861
561
228
271
178
889
206
586
345
610
50
364
550
649
622
66
196
532
124
21
944
430
604
182
375
933
157
374
213
8
776
921
111
352
447
429
898
84
749
151
894
82
608
381
155
542
188
218
366
362
826
724
144
409
35
196
831
29
577
176
948
381
66
517
662
766
481
702
620
616
460
331
422
682
187
43
849
673
258
57
17
101
511
521
78
96
393
647
969
11
998
289
722
688
932
948
34
411
97
243
87
204
262
287
705
608
854
40
584
528
311
920
283
816
238
408
366
544
515
100
139
883
852
802
562
361
981
703
537
606
956
33
507
871
114
340
299
683
623
180
329
456
12
846
749
362
751
258
392
778
201
702
128
189
458
256
693
769
440
45
299
472
300
277
391
966
153
512
439
170
844
956
692
783
625
401
911
630
947
436
63
113
952
429
200
733
421
167
597
793
182
337
406
181
683
761
348
882
593
4
518
609
661
647
830
703
175
737
505
881
269
358
545
597
920
588
32
676
794
513
139
38
570
868
810
757
203
385
784
737
40
168
736
941
628
861
587
851
41
511
985
773
329
228
513
586
422
523
108
831
729
636
140
543
988
898
174
412
394
152
649
979
277
754
396
541
836
68
143
463
785
547
768
835
378
108
292
778
767
739
746
495
296
818
973
450
129
374
690
386
606
35
932
547
656
673
25
901
429
938
828
460
796
71
364
584
734
196
549
741
940
481
213
352
970
659
832
369
310
56
208
171
221
329
10
332
586
793
148
813
241
710
769
183
119
153
753
79
692
434
326
19
826
440
134
543
393
26
762
166
770
400
68
354
376
577
355
381
42
321
602
519
645
397
480
816
361
547
439
978
767
828
902
64
471
842
155
323
540
600
54
899
338
301
803
390
442
452
161
697
233
727
552
152
446
769
789
816
836
624
582
962
54
865
986
551
524
850
527
783
820
792
742
321
871
426
8
72
422
180
94
172
336
445
839
995
112
651
467
438
204
874
568
406
609
428
222
217
811
693
672
48
708
299
865
904
683
693
19
372
465
522
275
505
537
863
838
972
998
497
455
247
480
885
139
217
386
340
107
157
327
879
591
947
495
524
884
43
550
785
865
856
395
6
542
16
829
790
334
976
275
56
506
626
891
24
854
366
469
827
443
925
148
109
10
741
980
765
665
988
836
102
612
275
932
878
679
291
740
275
965
770
84
703
504
742
936
997
830
832
584
706
379
477
218
796
756
764
718
205
154
503
549
73
134
588
202
595
722
85
992
12
47
838
526
534
774
484
789
761
511
607
890
706
949
18
445
983
718
886
913
256
387
349
484
179
783
237
989
588
438
748
960
10
206
837
635
762
34
539
224
966
41
177
434
164
167
7
787
164
456
369
44
13
208
522
203
418
396
425
69
522
445
990
33
141
508
495
731
746
420
135
788
751
208
215
277
829
424
173
647
512
771
618
885
964
104
272
889
680
294
185
804
284
619
115
847
643
963
733
73
62
774
614
647
629
774
518
261
114
526
129
244
433
729
44
80
262
550
718
599
32
740
87
781
739
384
377
100
391
346
122
941
405
52
673
455
613
728
598
631
758
991
55
478
390
148
946
270
679
944
999
731
176
213
575
969
854
548
15
347
129
547
276
942
711
42
308
325
411
963
46
586
15
77
153
850
481
328
584
106
188
951
385
316
732
903
366
133
576
244
711
242
197
164
760
305
62
429
378
260
447
64
376
300
568
70
85
407
111
316
503
218
744
360
193
776
666
782
584
9
933
98
472
442
935
446
944
942
313
64
240
833
371
715
364
721
689
861
617
393
477
537
909
311
352
399
828
312
478
319
542
491
442
299
702
759
127
294
758
100
39
278
422
71
317
348
936
420
825
680
865
471
93
130
471
909
244
80
9
585
602
636
37
285
726
918
202
213
52
999
60
957
446
611
761
752
580
323
240
487
598
414
758
710
227
255
336
290
873
574
708
470
642
728
908
125
89
533
143
988
722
304
264
492
568
501
949
235
258
441
163
492
346
382
62
898
1
597
750
640
509
743
476
929
644
41
342
885
341
779
293
48
231
462
221
144
565
322
88
927
984
187
383
576
734
347
213
299
999
539
264
762
900
475
649
594
69
298
565
235
968
831
654
473
950
579
65
724
522
569
263
275
70
257
949
269
469
453
924
999
539
171
274
315
689
396
484
577
515
871
232
50
429
954
987
706
350
827
206
992
629
303
43
530
284
527
865
68
779
342
811
613
537
906
705
721
199
178
508
207
514
596
298
571
968
376
913
657
316
971
797
625
988
608
624
634
575
728
921
182
186
683
625
742
561
652
725
729
718
542
77
937
178
274
558
839
414
636
349
408
663
851
273
712
670
267
657
289
585
959
183
940
303
377
623
276
803
47
513
88
750
310
260
194
713
857
553
645
556
97
797
911
793
946
758
653
846
878
833
625
953
871
893
522
882
191
655
57
592
100
584
634
495
733
21
408
613
469
347
953
341
663
268
714
490
51
697
901
505
471
631
305
269
562
816
706
766
201
932
11
447
10
191
718
945
708
153
361
69
425
946
601
321
884
333
392
947
965
211
182
241
854
274
594
341
667
142
391
398
932
497
81
564
76
531
743
828
974
549
869
880
945
33
182
864
275
348
598
10
654
512
702
944
723
666
660
971
562
402
750
695
831
490
565
574
1
856
334
399
151
358
250
326
313
59
54
661
804
103
442
319
803
226
766
12
897
950
596
36
749
355
752
391
588
27
371
82
229
35
679
378
222
245
616
563
567
997
460
237
399
551
37
392
31
479
410
928
318
3
671
756
993
49
564
463
753
476
881
242
440
744
123
939
172
716
43
981
156
439
395
831
3
340
929
492
677
130
142
136
473
387
750
683
572
219
761
564
372
62
919
844
219
276
551
479
322
336
320
257
736
478
4
520
884
506
511
788
833
580
222
937
652
482
830
915
914
369
171
417
380
426
840
498
245
899
898
807
143
659
160
94
3
296
958
90
993
891
898
636
750
499
132
499
372
577
279
633
921
828
394
905
641
960
274
143
694
307
248
9
513
347
579
205
302
672
663
570
632
688
872
837
122
405
374
637
615
457
299
879
750
873
421
304
298
516
140
707
536
716
252
404
53
948
848
618
253
743
882
214
681
677
470
769
3
132
92
761
573
80
840
659
30
607
971
160
121
216
150
768
718
531
949
826
243
312
842
607
385
730
682
718
220
342
639
64
917
234
360
701
808
330
458
769
201
296
264
253
754
301
537
210
142
338
273
302
21
146
300
86
227
639
832
26
741
437
242
182
648
175
742
103
144
114
648
415
71
538
400
553
507
438
128
370
259
120
810
392
156
82
317
848
930
165
351
478
666
888
436
454
427
8
914
852
801
558
712
20
573
890
346
154
912
642
0
294
400
577
335
570
881
75
807
980
341
347
977
753
527
342
782
175
337
683
400
12
178
31
470
380
811
762
286
447
609
833
388
212
749
527
562
363
333
553
433
755
728
764
744
275
663
154
443
644
556
321
444
796
292
327
63
601
755
421
442
913
998
163
688
84
592
34
210
211
957
983
854
875
866
332
726
664
365
83
764
956
734
0
133
3
978
743
440
716
965
664
110
321
327
127
189
684
168
369
969
286
781
229
804
422
293
372
747
80
3
964
961
953
415
796
157
139
61
709
701
715
670
733
35
542
833
379
342
218
462
429
212
355
27
115
202
896
341
903
529
337
839
937
537
165
643
573
570
85
481
259
565
669
41
809
378
758
397
860
465
429
32
748
83
4
855
223
260
210
439
152
577
333
45
822
707
272
502
483
804
173
523
552
13
96
667
572
675
650
709
327
466
942
549
616
406
434
501
491
264
971
337
215
713
615
626
527
538
317
929
782
177
762
801
391
169
953
256
39
736
313
749
347
947
934
834
678
54
277
15
326
857
290
833
158
223
392
470
917
484
67
170
819
328
484
911
672
546
227
842
590
781
711
689
687
534
99
109
534
711
693
441
339
66
111
126
544
164
795
450
317
626
854
340
570
530
347
623
910
884
39
866
257
714
5
527
273
12
165
238
204
806
585
648
61
53
935
719
628
59
818
697
663
92
850
138
263
723
402
512
102
637
980
434
443
275
951
576
283
360
540
470
233
973
596
838
672
949
526
928
72
846
380
937
371
897
105
961
723
468
831
973
397
750
374
176
355
108
355
742
272
546
307
280
389
851
430
376
138
710
67
183
91
83
394
26
637
315
349
143
741
908
258
713
97
735
587
36
606
562
827
32
792
934
381
171
998
181
44
215
576
627
413
402
734
559
313
989
921
907
323
366
844
957
823
780
332
221
803
984
885
701
651
297
333
249
615
758
544
358
490
39
507
939
538
687
980
409
514
441
504
863
627
889
770
706
245
287
61
56
106
153
700
266
141
670
316
894
738
925
560
830
700
923
336
74
706
31
796
237
907
934
402
822
841
649
832
744
112
176
405
180
52
796
976
395
611
368
196
733
238
571
387
985
139
915
606
602
779
282
760
224
958
568
191
174
678
464
701
749
95
961
875
337
285
423
159
52
923
645
772
564
414
250
905
838
460
852
216
454
111
675
953
132
863
134
979
483
111
335
241
420
698
782
470
74
843
886
801
956
655
186
748
279
464
917
242
247
290
629
24
558
883
36
891
314
95
780
242
217
914
70
664
913
977
39
81
679
394
662
180
422
478
449
986
818
147
590
710
648
510
563
117
97
436
873
778
789
831
992
399
309
587
449
367
15
552
678
605
279
415
907
561
964
27
375
778
678
843
585
36
760
112
137
798
12
840
815
362
2
197
486
113
625
117
338
733
678
62
597
370
16
252
821
711
330
354
750
91
533
609
510
989
840
778
951
604
398
509
360
312
101
67
223
190
633
51
54
603
223
813
210
562
684
848
316
631
461
611
755
694
883
978
145
740
645
593
193
217
993
762
249
370
819
863
674
229
427
441
69
276
986
426
422
613
907
171
614
394
416
411
544
184
749
451
387
255
49
925
834
772
109
936
435
616
493
631
785
383
683
292
689
366
83
396
389
865
64
695
639
92
605
156
880
957
747
60
267
660
860
356
982
225
715
597
381
245
393
551
890
959
236
31
725
424
808
942
958
492
735
806
422
480
849
266
32
19
129
221
704
90
177
662
879
684
695
352
359
481
951
400
220
725
930
367
627
853
421
692
523
101
144
701
476
956
984
598
202
911
740
714
186
333
84
946
105
469
170
723
439
569
560
810
797
334
161
730
197
454
559
812
239
181
484
776
782
505
252
574
30
886
534
834
150
153
321
153
753
418
929
769
896
255
522
79
728
948
915
480
837
549
335
946
778
394
773
517
475
151
861
417
569
814
277
784
856
823
813
388
594
382
902
655
65
327
919
701
443
819
162
817
359
168
535
465
937
482
348
988
132
246
51
64
706
437
52
528
325
46
642
214
192
0
985
202
505
491
114
873
642
128
92
442
793
472
867
744
441
862
737
716
745
761
989
58
900
698
902
436
108
914
95
476
387
60
278
808
372
543
190
813
195
978
853
15
704
255
754
467
394
452
258
369
745
867
592
872
827
715
664
943
444
6
819
863
195
613
275
95
992
969
662
904
387
962
778
403
290
459
944
861
285
695
545
563
58
227
480
329
316
61
185
383
797
775
482
292
974
475
0
981
621
898
914
516
593
259
3
753
819
869
858
645
249
8
812
144
853
144
481
406
105
751
712
442
111
266
939
601
815
82
826
776
255
155
600
181
278
22
47
604
897
148
637
819
366
538
693
336
205
751
81
927
615
225
363
848
265
795
219
331
579
907
495
368
359
739
274
750
88
648
940
240
389
858
375
494
842
179
193
132
768
939
504
329
131
298
900
849
701
160
294
936
826
607
81
294
132
940
824
16
882
644
158
254
226
52
603
31
809
931
604
295
276
965
398
34
776
886
801
201
450
215
982
312
499
714
893
135
917
335
155
573
298
85
891
237
885
657
440
662
224
463
678
486
607
397
279
90
486
660
625
106
746
265
109
368
960
141
391
485
155
383
278
557
616
44
96
46
873
819
776
6
663
850
748
392
319
661
0
807
484
938
13
481
779
931
653
151
47
160
78
192
906
931
892
3
252
118
349
336
763
612
590
392
756
749
210
923
717
368
829
235
123
157
481
452
229
760
196
34
101
251
944
252
863
305
437
968
80
994
332
937
84
737
236
558
417
291
576
704
97
571
729
912
912
443
284
513
787
129
988
234
465
147
994
560
259
553
18
381
226
109
425
870
811
104
962
679
996
397
61
616
118
462
968
455
453
866
473
434
894
886
443
383
246
128
212
679
687
311
833
816
159
857
312
387
802
433
605
980
706
494
84
593
880
978
211
81
551
967
385
20
597
806
878
406
239
2
717
515
674
227
669
276
984
904
738
899
188
834
740
434
98
138
672
31
688
375
458
200
966
391
743
57
512
652
365
141
851
908
153
871
710
763
375
166
134
847
694
525
18
0
163
60
288
371
559
455
754
791
614
508
304
663
666
368
997
497
591
408
813
977
579
50
141
364
423
561
210
802
605
72
516
929
132
239
565
447
372
582
141
754
740
147
739
34
74
726
698
101
119
698
560
284
535
442
29
588
648
982
551
724
6
270
287
844
272
549
458
448
660
11
10
624
599
64
90
845
683
324
132
450
266
855
74
999
630
442
407
690
640
1
908
463
660
688
128
88
60
832
46
65
651
742
725
764
273
153
707
649
299
406
313
713
194
478
210
491
369
585
892
671
843
726
630
766
990
885
65
134
717
634
133
729
968
476
658
988
549
175
912
159
674
770
957
273
133
835
47
423
908
185
724
825
922
23
63
856
200
580
201
699
554
589
874
165
841
222
253
590
888
539
401
989
292
898
256
120
626
143
273
648
885
654
973
382
396
799
978
625
968
216
734
867
175
581
984
211
354
439
571
842
599
386
819
680
443
798
857
651
702
729
379
210
984
94
134
810
939
557
31
834
545
123
63
898
813
968
54
752
503
831
39
514
595
472
346
703
916
998
43
95
520
195
427
920
855
296
551
478
464
389
307
261
975
24
944
990
8
636
303
999
647
875
576
545
99
892
654
196
736
179
390
418
457
385
153
476
23
900
515
364
973
934
533
949
912
718
884
895
826
429
546
500
252
557
772
39
124
627
127
642
666
714
884
589
812
507
554
758
56
946
3
640
922
608
935
326
616
647
468
830
688
900
999
130
340
680
210
787
491
55
827
849
572
253
54
567
768
498
978
230
416
285
805
211
290
364
507
201
814
708
337
322
955
834
796
637
881
586
781
285
631
753
13
511
603
670
594
896
172
769
114
926
964
869
708
474
169
819
513
599
167
523
538
413
130
585
889
669
200
546
516
705
669
691
487
158
866
771
774
12
558
820
822
323
515
739
900
470
998
435
25
793
176
786
782
854
802
318
907
873
217
731
668
281
456
101
62
720
33
49
445
176
946
867
237
703
657
814
912
806
24
736
493
224
47
875
480
874
684
257
0
614
596
604
662
334
301
594
624
960
470
160
724
673
880
509
818
388
898
341
238
847
714
293
997
247
791
857
0
582
658
802
935
143
480
237
195
203
117
541
137
564
707
655
444
930
224
104
87
94
93
273
54
641
899
218
447
462
705
669
760
64
427
245
13
97
208
944
627
683
558
672
927
213
543
726
68
739
597
682
42
171
250
490
106
817
397
264
107
134
732
341
681
961
645
422
307
912
492
921
784
934
332
395
417
31
10
534
850
95
565
944
684
305
104
342
568
573
930
581
941
967
267
4
349
266
999
679
943
731
192
799
201
484
913
145
542
643
298
221
21
941
466
336
568
194
180
713
282
752
79
584
71
580
554
450
594
691
818
36
600
825
657
304
700
381
750
33
179
960
56
165
969
67
80
688
433
482
28
290
350
486
475
794
875
561
246
886
623
902
844
517
984
618
575
553
514
826
454
769
796
791
580
567
659
894
38
641
783
247
549
140
307
245
117
933
850
542
49
111
779
649
908
215
336
192
174
197
345
632
797
297
911
796
264
271
368
331
391
31
241
966
592
290
674
75
743
781
460
190
672
469
974
488
837
767
646
339
764
406
561
544
744
333
16
569
97
217
425
958
543
238
999
588
209
692
975
861
20
759
950
270
87
181
668
121
914
350
675
671
175
843
172
737
144
281
663
531
307
520
519
844
616
347
944
473
283
120
240
647
696
250
198
81
758
23
4
388
399
24
827
651
6
474
420
298
986
753
744
590
330
183
724
480
537
835
109
135
768
257
509
981
704
710
737
944
843
206
356
631
247
797
986
25
188
344
555
507
994
766
380
579
217
877
952
218
191
10
836
422
316
470
200
121
58
955
752
834
919
815
432
450
11
977
907
190
963
94
899
439
50
707
655
875
232
634
958
215
790
886
33
190
975
639
325
957
826
8
914
530
514
66
232
236
124
800
13
294
598
75
215
61
99
10
0
227
378
747
29
822
438
498
948
123
981
76
676
505
286
709
608
530
268
297
859
870
93
233
634
880
183
83
292
831
749
301
53
736
316
11
127
839
159
775
207
359
850
729
842
418
683
303
647
607
378
69
495
720
48
722
215
941
348
653
689
293
522
42
438
97
284
561
137
994
881
162
828
966
336
909
123
175
167
24
255
11
799
82
768
520
19
690
299
625
69
78
948
28
503
776
908
207
716
198
214
990
755
286
290
670
409
469
358
753
191
524
894
153
420
609
261
59
167
901
15
646
592
808
987
831
428
302
450
467
875
754
88
3
696
983
330
8
560
99
447
496
366
315
322
945
216
598
421
14
816
517
653
871
952
418
325
150
466
849
58
741
507
13
631
975
666
565
843
968
286
774
839
624
190
341
163
816
587
990
787
233
997
269
19
118
129
946
835
191
580
146
822
405
884
0
35
522
332
818
309
745
631
348
467
315
99
662
402
413
907
449
440
511
386
115
995
514
467
636
860
786
733
31
999
544
134
905
123
525
153
58
23
210
24
473
173
254
351
278
957
15
517
693
307
429
611
804
687
560
917
822
621
85
198
584
280
521
245
939
11
71
165
248
310
532
14
288
98
955
355
53
517
978
676
229
997
530
219
1
656
71
674
572
732
651
105
471
83
101
451
420
214
948
62
401
394
576
109
173
168
541
111
870
761
452
319
3
694
603
342
773
805
10
87
509
408
356
8
783
158
765
243
737
169
211
533
544
232
295
871
656
107
369
373
909
494
799
19
944
950
747
295
754
49
8
203
850
877
92
635
854
643
986
0
416
925
169
499
721
439
153
791
29
50
5
203
44
878
41
225
136
196
869
556
932
843
692
308
343
287
189
874
722
294
487
710
37
850
0
350
715
772
91
389
404
971
362
151
775
761
23
648
256
760
981
655
128
621
374
625
984
46
289
472
44
805
14
853
255
625
142
645
20
648
121
237
488
229
894
128
955
944
450
961
597
616
609
943
904
521
885
356
94
173
922
981
556
294
740
677
983
140
157
661
406
287
56
110
169
498
966
411
393
509
623
942
384
630
244
17
327
566
975
929
152
5
575
768
875
772
504
231
13
225
607
880
586
83
305
519
313
410
84
15
813
136
747
818
80
733
831
30
839
110
855
974
331
168
132
790
249
459
377
828
312
718
377
162
490
31
688
218
207
79
364
543
608
821
865
94
586
696
480
573
837
481
179
467
369
465
525
48
411
271
869
727
454
620
649
358
38
93
589
661
808
578
742
530
804
111
757
456
620
765
810
169
219
231
503
453
105
134
37
526
17
390
5
731
491
640
480
248
566
505
556
894
203
39
712
165
355
589
71
566
62
888
535
490
570
253
961
620
754
117
623
907
686
251
506
843
612
977
250
268
985
761
236
573
172
133
764
710
557
877
70
240
341
505
642
394
796
421
609
795
877
26
327
500
906
805
169
411
317
118
505
350
602
765
666
572
423
272
261
677
791
602
312
154
899
367
237
100
227
846
408
564
142
306
451
11
815
630
704
832
963
62
999
278
218
686
130
497
254
526
591
597
306
697
94
382
880
59
809
610
554
624
180
501
813
687
374
855
402
977
523
44
86
799
874
400
806
94
825
577
949
529
716
893
849
349
785
712
33
489
9
127
540
946
417
437
78
754
898
534
306
147
237
208
97
136
927
89
801
830
722
87
597
877
521
497
842
454
714
682
842
752
677
164
84
352
800
454
190
401
275
269
281
505
421
535
953
175
52
402
115
169
193
608
16
750
122
345
933
13
286
633
272
14
750
468
600
386
890
738
986
344
219
350
409
197
677
363
576
460
664
390
453
285
818
369
92
886
955
803
222
721
76
81
110
45
605
93
798
439
253
892
707
730
357
371
114
22
969
848
202
435
220
759
87
893
335
45
101
432
718
6
346
258
810
149
14
513
689
52
430
319
667
518
350
475
633
431
527
218
752
268
911
206
603
608
314
705
848
124
531
579
722
7
405
723
284
902
240
449
454
649
499
706
94
447
803
922
57
947
941
754
789
716
36
467
339
713
927
286
601
898
473
311
964
267
84
26
806
172
481
365
325
919
990
921
403
445
953
650
455
182
636
848
557
567
292
382
128
871
630
496
243
984
391
939
448
984
44
867
392
845
342
638
75
720
821
511
564
493
586
848
27
404
628
772
63
385
273
111
510
478
205
594
211
19
962
878
793
78
468
171
272
590
297
537
723
851
455
634
109
404
637
265
1
481
905
516
320
561
874
871
557
612
284
387
763
246
738
724
707
312
882
758
790
199
578
408
168
798
122
227
709
423
564
763
596
997
651
139
132
512
285
589
389
393
155
484
870
510
875
214
952
68
417
48
938
616
835
74
559
977
726
876
237
469
430
589
981
659
290
342
500
595
919
50
107
742
497
321
107
261
373
790
425
94
969
505
791
674
323
705
598
375
160
48
694
835
420
744
925
312
53
6
811
327
92
976
597
178
40
698
393
152
313
534
525
516
236
268
195
405
139
298
790
481
276
488
19
26
486
901
46
660
868
519
55
405
967
577
546
793
933
515
315
257
158
250
825
311
678
197
547
341
90
291
886
825
362
207
932
181
541
600
880
389
52
42
850
359
470
563
810
68
39
672
694
405
620
328
361
28
318
944
695
768
76
300
932
570
854
880
787
938
55
391
384
917
703
259
603
32
923
912
620
140
366
995
736
163
966
177
932
408
16
234
838
103
766
852
887
974
688
256
524
750
608
698
78
89
195
327
327
928
829
817
384
372
599
519
478
238
516
576
546
127
473
205
164
154
629
788
605
532
245
391
429
571
584
504
907
377
94
90
421
488
436
376
317
375
547
847
483
787
464
405
724
369
832
216
288
913
512
295
571
662
112
769
887
881
82
103
524
665
414
418
713
200
579
68
807
334
863
317
67
462
479
934
474
176
486
267
117
38
38
347
770
422
583
59
619
785
672
335
137
8
949
159
724
631
437
562
973
827
952
339
91
530
900
574
454
286
455
591
613
451
332
643
164
468
753
774
978
19
493
916
614
334
356
536
827
10
190
461
71
479
457
137
337
113
303
20
229
492
384
391
142
463
406
377
360
286
810
763
305
538
787
123
173
170
435
675
346
513
844
287
525
712
294
149
298
816
649
605
904
50
548
821
505
765
386
223
192
716
613
844
671
548
461
203
703
517
136
745
270
915
933
939
718
123
610
830
853
343
491
245
688
880
176
34
828
554
107
587
497
821
793
159
993
379
65
23
749
660
420
227
707
36
121
541
554
423
578
977
948
226
453
741
718
542
74
171
706
244
325
648
896
313
703
815
330
22
793
870
834
661
756
82
762
650
244
615
185
822
643
524
962
191
891
167
260
616
472
637
933
344
979
23
483
392
166
758
886
689
43
83
57
653
981
62
858
519
588
593
842
542
533
124
778
897
885
656
204
770
41
927
203
812
298
715
89
381
505
368
652
714
905
740
534
7
970
502
891
510
478
755
388
357
867
882
554
56
273
940
475
334
635
289
255
703
804
710
548
320
54
411
902
403
854
465
375
371
965
350
313
508
366
274
868
660
99
450
741
662
223
658
689
265
783
803
664
429
750
964
677
688
364
501
854
774
190
901
403
501
522
542
676
576
242
303
619
928
786
457
376
680
956
521
299
528
73
209
257
695
546
500
230
135
541
642
693
633
151
745
104
483
89
331
769
474
99
41
889
567
311
789
332
158
378
24
214
482
428
522
129
368
230
317
273
858
100
62
160
735
358
56
895
443
728
701
147
537
603
879
868
353
603
539
936
791
870
724
997
262
745
740
597
974
76
954
191
533
10
803
225
949
370
414
573
161
712
762
879
940
895
661
738
230
994
307
183
431
951
890
112
196
340
324
813
883
879
580
789
208
183
625
11
439
27
201
520
179
279
758
741
547
109
588
610
266
860
91
794
570
118
447
71
743
32
509
720
373
75
347
432
33
666
770
84
852
994
998
973
457
174
329
32
52
358
454
538
461
102
730
960
519
914
789
520
393
523
941
947
891
571
943
808
539
502
311
311
377
306
477
816
446
214
427
821
888
752
162
999
376
90
243
893
236
119
146
404
489
299
769
567
360
652
166
439
725
124
475
426
791
468
563
647
801
401
918
22
964
4
63
755
635
943
31
760
257
704
875
174
838
563
392
551
714
608
632
406
941
246
795
737
952
702
896
563
483
228
487
591
157
332
385
318
42
520
924
22
862
537
491
530
583
6
47
421
366
539
636
924
943
917
992
52
627
305
92
229
722
88
15
700
940
314
201
585
622
799
752
242
827
317
428
666
552
506
235
121
261
683
115
147
339
10
9
205
999
10
524
314
184
380
839
208
310
276
394
50
894
815
417
26
658
486
68
586
805
631
52
790
217
739
804
482
689
986
713
695
974
874
754
700
191
266
926
563
324
14
823
822
604
356
297
884
156
933
924
323
841
164
787
346
770
288
696
603
720
124
266
480
619
757
578
781
532
160
761
38
384
73
824
138
258
352
537
571
363
307
843
708
60
772
629
968
221
830
489
243
116
15
561
338
5
976
699
760
190
305
935
414
593
336
766
208
592
991
24
180
893
492
459
84
763
441
518
487
960
28
243
278
366
344
317
302
452
722
603
981
700
954
493
620
70
529
953
287
508
450
24
295
840
79
178
671
249
379
639
398
443
458
762
445
271
726
594
63
758
138
989
265
907
236
90
241
125
53
742
977
844
718
305
619
478
824
319
497
790
514
544
157
62
963
344
648
439
453
533
497
519
792
632
397
89
883
399
300
847
453
9
452
514
77
657
431
960
154
553
849
657
271
171
758
676
289
781
603
456
714
981
143
150
780
518
423
894
513
870
314
326
837
107
527
675
875
493
404
673
676
179
400
422
994
447
690
727
589
805
241
880
485
137
57
85
882
312
397
659
515
159
860
132
408
782
426
415
750
549
636
147
902
22
23
95
399
690
105
663
298
574
751
452
38
72
590
856
25
593
687
250
280
867
867
861
728
813
231
600
134
668
669
538
344
786
462
325
690
41
473
456
926
367
916
2
924
934
354
526
865
676
294
958
605
702
365
29
570
312
678
390
585
835
819
961
226
116
77
490
629
691
844
569
15
363
942
10
885
521
773
108
487
448
540
926
712
17
55
654
380
332
51
417
822
828
601
561
77
848
980
763
597
518
767
532
856
713
974
581
246
484
258
270
729
317
285
601
739
998
588
363
875
439
109
15
198
106
432
919
398
110
72
827
864
761
24
701
44
565
983
887
594
349
770
502
18
287
105
730
849
631
846
696
47
374
478
269
369
242
353
712
404
115
446
438
926
893
47
948
22
284
306
279
789
385
421
117
114
760
381
317
366
671
223
199
181
600
810
187
728
277
236
863
419
260
563
486
109
730
734
700
459
131
889
924
802
543
144
741
981
103
511
77
532
237
18
906
573
700
844
911
791
807
827
398
779
939
424
862
724
137
154
132
113
188
717
114
252
978
705
974
224
631
198
355
172
151
890
826
743
906
88
878
663
132
920
192
610
689
923
311
742
442
673
478
386
397
938
46
621
432
860
54
304
276
323
666
640
155
51
471
226
313
921
521
599
482
79
519
825
382
190
790
585
818
509
502
505
943
61
566
13
723
798
78
190
178
283
499
657
487
380
847
802
351
177
313
272
558
843
71
334
612
196
932
183
791
279
130
922
452
706
895
685
833
157
296
106
145
345
565
967
243
608
126
857
141
38
164
76
505
584
197
433
771
494
100
799
239
621
590
915
100
203
698
695
575
914
363
108
790
775
143
620
207
219
187
788
757
925
712
387
580
18
511
140
832
530
944
697
383
661
449
64
315
175
737
27
584
209
618
400
929
346
44
5
908
565
469
801
283
211
733
671
960
597
454
934
155
406
414
336
235
384
862
865
740
278
292
43
240
741
334
976
299
780
566
955
741
597
925
686
588
537
904
514
797
416
105
435
591
196
831
551
283
964
245
672
717
223
455
982
166
500
654
606
557
873
925
762
991
128
861
883
146
165
265
398
875
228
57
50
937
976
947
277
622
769
146
289
637
688
856
24
563
408
674
792
29
378
779
522
131
657
973
317
381
850
444
609
195
745
954
326
681
79
661
598
372
995
675
855
716
499
876
8
387
286
660
560
66
761
177
977
724
979
877
829
655
535
528
240
335
332
2
55
263
816
806
338
271
62
233
30
437
831
453
407
417
731
775
688
110
462
951
132
344
207
191
233
865
514
219
639
964
320
892
170
156
971
848
622
263
667
955
714
764
588
160
285
520
597
139
312
561
419
644
788
60
594
793
795
696
636
148
161
623
476
527
26
39
780
718
547
622
96
525
426
755
882
324
611
454
447
357
992
718
272
551
645
442
96
769
175
503
995
956
992
162
262
416
573
881
159
875
26
171
193
390
502
703
765
561
91
136
399
887
177
25
179
89
13
183
310
290
532
320
941
324
115
866
990
869
71
421
401
659
306
17
701
545
308
669
177
110
831
176
218
150
492
47
635
435
197
660
700
500
846
715
342
780
206
973
390
259
204
223
682
22
414
169
28
314
28
701
570
513
962
616
810
283
918
65
926
713
519
768
743
307
956
889
747
945
433
271
923
174
426
823
153
423
985
941
717
394
812
127
296
25
367
32
253
343
519
935
701
295
833
478
991
440
729
644
873
681
814
902
52
429
953
223
488
789
751
528
501
716
639
145
867
331
787
652
399
781
88
533
680
860
657
889
574
173
869
441
738
142
959
620
119
817
845
136
892
768
110
240
886
989
188
111
123
27
700
445
368
871
320
250
488
314
224
81
977
897
537
453
171
769
671
169
348
804
991
582
736
347
891
156
553
624
128
326
582
246
975
811
124
258
629
254
173
205
931
455
907
428
723
912
225
32
662
425
286
859
216
894
463
702
385
358
605
350
335
887
487
809
150
686
825
34
313
125
891
711
679
843
931
134
696
845
756
100
541
91
355
267
594
798
981
393
209
502
436
619
125
411
111
397
669
926
329
783
436
24
276
631
755
566
403
660
14
421
290
204
124
905
408
211
152
724
174
551
631
403
801
405
386
992
257
446
804
434
608
281
619
282
15
895
261
77
786
409
225
599
320
986
340
671
315
866
363
357
858
784
808
450
425
462
692
4
212
706
12
940
475
223
286
277
379
912
318
226
888
697
944
752
963
98
688
341
469
319
889
552
736
273
594
467
685
93
130
43
69
591
465
463
481
387
828
780
782
456
127
954
984
803
1
251
68
130
594
606
537
386
567
879
398
523
976
481
231
375
42
376
717
660
111
983
239
137
185
921
862
247
67
640
978
553
90
19
567
954
127
850
458
548
424
875
951
397
130
724
633
231
657
254
973
682
487
220
113
683
433
979
56
380
257
923
204
757
297
916
648
912
157
463
25
926
256
431
764
224
554
248
665
153
158
572
371
757
566
295
799
47
27
46
255
439
984
115
694
168
646
923
210
488
598
817
947
679
537
529
299
868
571
592
187
216
549
212
901
204
493
181
365
991
15
367
492
343
888
372
206
698
600
741
196
999
334
676
622
454
416
532
590
583
643
201
411
700
222
270
592
667
271
998
907
731
29
737
696
526
340
504
427
474
723
804
422
575
715
386
107
328
500
159
121
61
679
44
284
722
57
927
696
283
478
679
96
120
856
344
469
94
306
329
100
210
820
662
255
308
727
705
371
222
923
763
743
933
371
912
939
46
439
894
816
126
239
929
265
979
121
89
544
595
455
101
194
618
414
580
490
479
505
969
361
883
555
873
178
135
992
14
552
35
131
184
263
646
800
128
288
845
267
610
104
973
43
508
803
47
154
529
400
60
653
426
475
295
498
326
408
220
263
928
276
860
768
733
152
496
115
348
568
896
248
46
364
204
167
895
908
775
684
623
272
403
351
670
861
808
960
639
208
163
383
410
868
899
91
906
455
819
417
910
673
380
813
855
934
621
986
730
912
198
508
398
775
323
366
729
659
67
971
685
438
414
171
470
600
699
386
447
907
626
997
664
28
386
684
232
858
325
132
717
712
247
718
649
627
520
625
441
209
54
806
491
299
521
818
417
183
128
8
842
149
135
815
914
534
440
244
837
449
579
192
917
307
462
922
410
74
756
263
689
4
750
967
421
204
935
163
647
13
217
63
611
261
328
663
585
598
887
716
92
545
334
277
682
254
255
528
628
731
284
777
105
518
500
378
199
949
616
281
91
328
604
326
424
543
13
702
393
880
897
735
434
230
364
727
692
35
799
896
654
25
591
574
633
344
258
776
907
854
205
19
947
222
563
604
627
643
475
985
362
173
776
657
312
225
894
717
906
197
406
753
283
114
565
622
866
216
871
199
585
307
860
779
38
216
880
489
575
396
582
449
893
458
498
235
173
308
157
767
749
786
219
289
211
208
694
572
414
394
348
35
810
561
57
941
505
614
298
96
815
219
181
314
938
574
755
144
136
229
144
114
541
253
653
691
120
328
824
905
494
242
993
223
468
151
638
369
682
725
885
350
523
352
979
353
685
320
750
839
994
187
587
311
622
111
245
675
369
447
756
337
219
421
840
699
955
79
689
199
265
209
525
791
69
876
826
363
143
624
737
420
930
398
879
222
580
616
633
766
576
354
711
767
692
299
418
66
272
136
656
969
598
789
379
669
102
107
252
731
485
973
836
304
747
254
993
593
608
397
470
989
392
239
34
343
714
426
969
603
28
45
403
844
972
38
123
978
611
163
787
395
576
425
168
21
965
163
407
177
208
35
51
0
850
464
931
972
871
163
786
952
711
133
587
318
95
803
116
371
941
81
603
676
125
328
479
270
870
254
278
189
445
841
579
169
924
744
106
832
427
981
131
563
390
807
695
407
111
304
361
822
581
641
985
951
214
926
682
727
855
186
749
900
598
957
799
396
542
953
709
83
128
95
845
897
621
775
128
338
17
509
565
619
119
167
693
171
660
358
551
336
180
340
576
61
68
384
6
119
304
308
650
447
586
326
207
248
887
887
711
711
357
905
638
713
725
851
555
183
773
761
336
733
988
236
176
334
110
371
373
317
605
236
154
791
336
397
561
246
151
3
902
110
92
630
523
546
99
762
257
560
141
936
390
663
515
694
347
840
980
549
509
306
162
273
709
102
300
668
646
770
913
714
231
145
590
359
709
228
698
18
979
221
706
139
34
856
986
780
632
653
332
50
566
588
654
156
386
978
751
34
467
72
220
451
708
385
937
659
437
339
666
979
231
34
185
947
378
774
306
508
319
166
274
905
974
882
52
346
374
689
285
817
521
297
112
789
661
71
51
598
859
207
495
733
8
673
618
972
669
257
278
10
791
952
468
524
55
752
72
998
316
311
565
198
872
470
822
256
183
289
873
534
445
669
219
867
341
937
610
972
372
107
930
605
529
927
417
553
603
868
383
918
167
38
626
181
880
730
924
140
13
611
171
550
682
514
553
462
974
266
507
38
196
723
386
849
757
262
837
116
289
626
738
640
997
427
563
914
486
419
53
337
576
797
541
259
279
105
113
387
860
437
725
397
44
817
271
121
677
22
777
199
511
67
573
246
796
112
911
625
122
747
877
538
749
511
364
123
268
827
679
268
779
976
926
468
867
562
132
904
841
739
425
545
86
472
769
254
45
879
332
166
444
96
855
769
538
280
178
647
597
11
170
514
425
685
544
493
137
379
738
747
424
536
245
480
880
321
725
907
317
458
715
406
418
73
695
711
706
158
538
528
829
356
449
693
11
936
20
638
469
407
387
984
817
430
213
939
871
290
529
922
836
419
606
526
537
475
557
283
637
300
438
390
817
512
464
399
627
526
54
792
585
369
502
316
955
588
196
765
750
708
458
224
176
573
671
883
86
581
892
715
884
784
205
151
415
742
286
803
274
590
830
419
555
798
131
486
711
932
837
134
88
646
958
626
945
75
632
857
512
239
117
205
214
331
302
837
429
73
527
137
81
71
939
87
989
594
140
369
444
754
444
198
561
877
536
331
565
535
715
324
628
528
678
779
210
920
775
303
976
987
403
561
508
742
361
402
848
935
605
803
216
386
969
306
199
489
828
59
100
854
484
963
235
253
125
361
932
486
337
313
734
847
691
510
905
834
714
77
281
82
457
408
404
324
864
860
645
445
775
674
474
780
410
628
850
327
623
809
311
807
796
756
264
455
820
993
267
573
194
817
7
923
329
688
134
575
362
998
449
976
28
411
56
914
342
150
351
350
993
584
390
781
807
674
475
91
346
777
307
50
382
222
776
359
311
98
6
851
29
463
584
585
778
573
10
159
934
245
505
403
936
272
12
29
155
98
117
256
934
48
626
743
60
806
172
463
975
228
957
545
616
741
338
969
382
193
42
104
2
863
844
769
39
752
309
187
406
735
382
672
84
733
386
364
672
254
657
962
282
318
85
143
480
947
795
738
263
68
121
71
655
836
202
972
211
81
47
196
899
467
784
663
517
346
655
209
502
394
839
748
849
515
445
715
929
732
295
448
176
657
864
73
651
74
383
61
907
949
780
147
348
588
843
869
879
132
45
139
223
605
495
148
852
473
866
835
691
763
333
849
376
34
510
860
639
155
223
234
96
467
89
116
576
155
837
608
504
338
84
393
955
18
117
848
398
463
197
197
816
183
374
829
771
131
747
65
562
501
496
188
858
808
943
687
963
39
495
144
925
148
949
949
960
236
97
686
99
954
387
491
730
501
449
571
108
439
317
761
686
423
127
113
258
217
924
478
669
678
384
692
804
232
533
25
204
231
988
277
273
459
776
487
617
204
719
509
776
435
125
737
276
278
434
887
399
412
246
930
403
50
750
465
578
205
382
609
34
25
338
224
587
896
710
859
362
620
569
151
10
930
690
999
779
189
108
548
555
670
626
354
942
894
413
455
414
396
160
800
576
433
921
414
449
302
93
409
720
517
959
702
68
329
610
929
132
87
292
888
334
935
947
489
245
424
466
367
53
274
812
42
491
330
728
304
12
52
6
527
184
471
522
618
618
874
316
437
728
699
416
324
974
765
591
215
0
185
806
507
409
286
128
922
248
623
759
391
422
833
389
908
271
503
672
363
504
480
772
586
750
942
821
573
461
73
421
465
43
721
981
662
208
995
10
373
688
769
253
886
60
165
319
250
191
6
324
439
620
18
421
593
282
385
557
362
470
229
282
233
351
661
352
426
964
268
250
1
923
795
984
152
849
453
192
364
566
874
939
217
391
64
32
180
593
33
780
130
948
306
581
128
50
825
920
710
308
929
1
942
938
273
432
523
882
416
199
97
71
559
440
740
808
3
857
993
587
345
940
975
332
782
886
753
31
110
282
682
854
827
679
593
539
292
617
841
349
423
358
361
359
874
148
544
683
397
839
774
440
221
647
870
906
106
582
621
110
362
927
266
478
147
80
744
628
871
256
303
445
121
675
496
617
949
232
748
533
666
940
6
977
66
297
539
194
689
79
369
252
775
320
646
275
549
137
243
796
803
274
279
821
763
250
235
552
831
786
526
568
946
951
640
315
446
592
334
867
321
730
499
640
792
187
165
469
426
992
810
461
779
904
518
670
773
166
389
408
393
886
652
323
467
255
237
614
507
340
722
260
787
739
721
221
563
713
340
814
884
225
27
36
769
151
717
901
562
476
551
783
478
8
150
447
531
72
15
82
749
457
210
143
481
836
401
112
381
372
477
723
942
425
29
325
16
838
985
361
115
525
6
742
390
999
190
470
199
578
470
908
131
773
389
862
212
377
230
258
932
654
396
333
204
893
445
302
463
914
120
284
214
864
322
880
483
263
397
356
758
785
625
429
420
723
58
28
819
958
504
621
345
145
6
630
879
453
559
389
885
901
987
882
321
525
882
369
413
237
738
955
269
440
514
137
146
917
836
841
378
133
872
88
130
249
985
371
584
411
990
72
28
497
402
671
532
945
73
421
340
338
882
435
865
133
943
654
17
610
771
798
475
935
656
185
788
168
336
900
603
829
599
516
344
307
457
508
693
20
59
738
218
980
490
267
145
14
514
943
72
417
2
132
342
12
151
102
260
392
269
673
575
854
905
998
591
467
249
562
857
876
760
160
843
781
685
254
21
794
306
2
88
63
475
536
71
628
97
146
280
84
758
547
642
973
946
758
640
32
313
165
371
300
490
812
761
474
109
235
491
381
537
424
443
270
898
47
653
550
674
330
8
447
249
778
93
894
290
780
474
242
200
512
371
516
107
296
903
783
394
394
38
864
407
400
861
436
468
19
525
358
612
906
752
541
729
871
26
661
271
303
420
954
656
452
431
216
222
948
467
457
76
217
760
686
240
103
741
251
391
251
776
379
209
876
858
853
877
559
51
190
361
903
666
92
215
811
745
206
984
98
869
438
817
307
352
690
233
166
384
54
740
972
40
15
12
88
630
887
782
886
656
716
451
94
808
173
371
336
552
955
24
173
143
29
299
598
38
845
226
308
158
242
460
450
748
567
284
750
811
484
76
364
543
151
942
553
553
378
991
193
750
876
77
822
323
157
466
572
769
773
994
597
847
726
201
583
528
735
39
583
488
198
225
106
845
567
474
345
860
550
133
527
567
473
727
974
1
875
437
765
805
463
393
807
252
212
329
109
354
920
707
955
951
523
510
228
472
289
484
80
101
386
957
966
60
442
485
851
650
976
217
215
284
194
803
475
411
437
734
400
948
474
830
671
704
65
466
939
128
554
110
578
830
30
826
689
253
681
639
498
600
276
766
147
760
151
207
920
783
117
240
694
270
747
310
283
566
702
823
823
991
241
828
359
520
33
392
846
31
965
207
448
471
613
348
664
313
786
197
726
707
202
762
420
848
143
93
186
589
106
328
648
726
649
122
739
29
720
670
52
54
664
919
370
185
804
829
597
816
767
369
114
107
270
68
224
287
709
6
863
270
956
922
523
754
327
345
126
345
375
156
430
461
516
216
909
313
913
42
938
827
408
56
18
900
339
152
493
31
753
365
651
389
410
500
442
594
289
396
935
83
399
842
819
751
508
745
114
277
495
963
672
225
130
920
886
593
81
227
978
283
329
825
452
547
368
914
808
195
90
215
799
558
579
343
694
342
672
79
84
361
804
43
645
621
788
94
955
104
885
94
701
193
805
266
640
943
43
824
319
614
552
962
52
409
780
780
982
466
58
746
111
110
944
811
230
388
433
291
442
343
915
142
877
923
123
520
798
840
788
483
427
471
846
321
200
57
474
801
831
76
411
495
610
570
398
2
740
249
452
352
179
844
741
587
56
20
203
124
386
450
649
266
818
676
4
424
135
352
6
145
711
848
202
730
433
431
830
71
278
264
335
533
404
637
925
909
580
362
32
146
900
262
878
803
381
624
130
896
106
616
692
614
387
449
982
566
905
330
321
357
860
384
1
484
659
694
512
551
399
468
297
449
916
783
414
982
140
810
470
836
422
896
641
780
325
620
914
549
434
717
107
656
447
562
880
257
5
317
171
116
413
472
22
527
111
972
23
468
261
407
489
307
580
580
661
678
924
51
237
295
779
114
577
29
337
84
967
785
909
44
402
796
301
252
604
269
880
203
338
341
29
256
644
247
514
843
528
808
733
534
947
405
397
533
833
744
648
137
482
847
150
875
541
90
646
171
449
288
120
601
293
389
514
236
567
767
700
588
75
122
983
908
298
197
909
87
812
242
226
11
7
965
173
809
49
0
132
852
82
891
525
133
939
332
910
974
251
45
197
121
842
893
895
414
437
808
607
51
392
286
221
137
472
906
438
866
75
571
895
97
178
259
551
937
184
245
598
983
34
501
371
918
562
932
362
606
613
866
107
594
733
797
873
30
360
318
42
729
574
302
790
582
323
816
469
382
674
606
288
70
70
713
238
377
701
528
70
100
590
476
529
109
242
412
496
432
164
634
134
83
757
966
799
388
756
845
414
963
553
774
613
461
260
322
689
628
814
919
153
672
228
861
23
147
498
230
946
787
79
746
729
642
934
395
546
109
659
971
515
845
625
559
639
88
899
313
41
399
716
73
24
712
794
558
244
23
313
243
400
482
277
144
263
586
549
527
227
774
602
257
53
41
588
137
691
213
283
890
756
209
421
806
631
522
404
54
988
264
280
493
472
475
877
227
338
727
388
879
676
706
604
42
694
430
639
580
372
407
557
358
985
937
903
99
292
996
751
421
49
577
822
970
315
215
207
866
866
613
326
767
443
445
511
777
949
453
834
390
31
350
197
43
344
818
22
329
184
837
891
477
233
483
423
483
220
720
394
877
35
269
564
41
301
707
252
504
7
841
935
554
110
951
679
181
1
867
871
102
264
398
864
425
805
937
821
265
988
195
551
572
689
959
666
465
396
133
710
502
158
829
239
233
108
160
309
37
555
311
647
202
230
549
980
259
360
783
38
219
144
223
660
563
564
57
120
856
60
774
593
606
473
265
734
453
940
297
765
615
342
839
408
59
409
234
75
196
714
717
50
474
100
19
192
74
361
232
576
874
155
691
597
294
234
403
709
343
651
982
95
617
900
841
24
912
147
149
921
265
962
500
7
506
376
948
221
44
792
183
615
254
649
541
808
111
199
834
125
584
342
776
379
689
999
99
522
290
611
498
270
565
452
784
39
453
135
980
357
234
116
296
804
443
925
461
141
909
359
710
950
230
885
886
205
216
54
343
751
401
459
177
168
438
929
446
222
186
93
562
429
921
41
647
209
946
171
27
98
124
877
941
273
645
69
595
170
450
351
966
139
397
214
514
302
837
135
3
277
814
377
331
936
9
382
669
553
114
338
382
601
654
319
192
288
57
253
88
525
855
267
4
112
743
256
120
916
198
31
544
929
495
904
36
709
265
275
283
925
199
344
918
167
769
423
311
588
650
443
28
575
878
887
973
139
454
231
942
571
825
126
757
869
617
579
682
947
905
626
687
482
836
131
394
746
719
719
965
683
929
923
657
520
150
309
502
428
713
956
971
589
79
639
266
796
189
794
540
625
44
269
237
879
396
489
693
737
84
235
312
138
245
604
708
165
812
258
59
197
53
935
351
520
536
121
468
29
297
922
238
109
679
405
999
246
676
529
399
786
973
992
841
494
820
737
468
82
992
679
36
365
72
341
475
996
436
621
962
102
806
428
358
377
89
999
213
156
973
90
904
913
595
122
371
754
522
891
51
251
789
780
439
293
274
832
294
665
16
512
370
346
403
844
483
735
408
317
613
199
11
784
77
427
931
555
13
549
437
511
586
753
920
580
166
858
492
210
236
187
883
857
254
991
588
730
308
95
6
82
194
691
553
772
935
188
929
700
822
496
582
715
859
775
71
292
167
284
89
624
405
975
718
631
602
215
151
626
327
361
397
444
721
872
137
193
198
345
329
758
425
692
714
695
544
879
941
348
672
923
255
99
851
74
203
176
584
124
607
53
339
982
759
922
581
455
10
969
686
729
757
775
857
516
939
480
478
774
637
507
687
711
62
591
538
767
906
563
826
734
599
631
860
656
557
494
575
632
993
690
174
154
466
253
583
429
753
982
346
265
20
31
121
770
230
986
19
377
743
789
675
155
546
765
586
857
757
797
31
141
823
410
215
77
867
896
497
280
328
35
415
142
968
895
425
814
867
305
778
954
789
690
728
831
105
282
723
217
187
420
981
792
503
847
841
573
511
280
24
635
855
689
307
608
809
478
56
141
529
85
158
135
292
766
826
480
679
231
786
189
215
872
766
883
633
433
181
159
203
722
859
138
81
484
250
66
917
132
499
279
343
247
595
938
153
457
523
254
126
286
754
615
464
334
40
657
404
744
629
192
505
444
791
719
125
366
613
693
838
133
283
915
185
116
67
761
478
411
381
592
286
951
851
981
149
521
171
704
423
415
670
679
153
458
264
114
230
351
23
942
482
263
305
349
59
990
766
604
747
97
470
235
479
498
195
252
407
366
10
244
915
838
88
579
789
193
822
892
137
401
750
46
67
991
617
169
294
690
175
29
991
571
871
951
621
526
606
938
497
192
839
309
414
729
943
356
887
929
341
298
458
729
65
330
351
584
602
264
304
445
333
838
361
463
730
406
708
795
635
221
612
993
752
612
867
905
630
292
183
804
91
999
153
428
620
787
41
807
745
597
386
777
39
721
237
772
870
364
415
431
204
266
20
47
214
670
540
279
186
914
977
115
280
39
171
269
395
688
880
19
805
951
625
964
990
157
346
793
756
851
358
124
424
651
850
905
63
283
535
993
8
276
204
691
92
68
709
326
458
646
916
190
995
256
363
847
765
85
205
665
286
333
656
455
589
15
772
887
394
606
739
312
771
455
896
381
384
830
260
715
721
681
436
950
303
216
428
647
19
576
554
448
706
692
967
729
871
491
876
308
76
460
803
862
487
297
585
390
57
366
368
300
428
156
774
425
328
994
644
784
16
653
671
822
433
317
50
83
212
801
131
192
757
893
132
781
937
170
271
61
112
300
511
692
811
918
168
74
842
308
365
520
393
128
994
785
719
762
166
663
107
854
641
459
293
394
801
614
788
753
444
946
670
886
626
391
335
421
540
751
797
880
927
292
412
527
511
788
990
318
333
947
8
404
679
801
477
461
963
348
922
144
233
516
610
738
901
150
422
230
689
87
582
636
919
526
554
78
349
270
9
168
201
620
238
917
350
617
472
953
921
121
373
751
105
167
625
384
207
579
21
878
737
58
632
993
203
760
446
422
74
814
390
650
510
744
422
972
808
503
142
310
82
635
151
512
454
670
888
981
996
594
329
222
634
488
720
311
546
506
436
954
769
9
10
476
251
9
869
697
584
0
576
700
206
334
979
745
377
455
135
786
182
555
545
916
381
469
520
444
299
609
952
378
525
251
569
319
727
509
434
503
856
613
959
320
907
997
342
302
248
891
545
831
515
760
76
121
164
115
171
132
591
481
430
954
220
512
493
460
816
813
966
328
363
27
467
807
862
413
371
450
703
958
12
509
769
557
876
160
984
54
597
539
137
928
746
592
59
433
266
669
180
513
634
534
914
176
587
761
433
961
323
642
180
471
620
963
972
908
52
216
293
756
42
137
453
404
871
433
378
440
20
146
82
736
107
57
991
389
677
252
537
375
534
794
382
770
172
712
827
464
164
675
715
322
928
125
361
685
318
50
742
247
73
318
622
991
947
773
607
531
61
30
343
330
179
292
955
610
355
947
909
850
562
908
466
861
849
842
979
141
102
79
831
417
839
887
885
163
695
52
638
846
600
827
244
419
339
98
33
105
782
307
978
131
276
774
758
148
627
29
827
263
823
685
395
411
153
33
963
612
118
542
271
918
918
224
131
136
40
935
278
835
678
844
438
80
116
633
841
609
747
271
335
58
976
424
72
694
659
284
403
909
423
750
255
880
130
316
445
667
341
386
372
963
512
337
682
443
698
589
524
691
405
21
311
884
783
12
367
42
354
189
408
563
587
515
11
746
839
567
82
542
804
631
152
747
143
211
34
735
936
299
292
249
762
457
43
45
231
200
887
528
205
863
625
198
810
713
180
384
953
169
760
13
607
779
295
32
216
389
649
314
526
521
82
212
819
759
527
244
142
161
364
35
601
509
204
54
507
214
758
900
117
179
722
189
266
317
588
984
426
751
21
145
85
913
616
555
759
551
801
812
517
905
947
301
202
584
939
628
250
464
366
715
19
806
314
553
281
532
227
722
586
258
202
184
630
566
421
518
744
287
789
766
73
355
461
745
314
793
377
347
707
771
976
975
394
350
185
225
224
332
432
311
958
83
893
871
286
714
487
83
521
926
218
149
509
109
229
937
509
257
603
391
738
67
655
900
896
701
643
181
145
260
755
595
440
215
468
216
957
817
543
206
202
590
699
916
483
860
323
224
403
93
840
526
666
863
955
153
111
173
77
197
471
50
611
661
442
130
721
875
520
166
885
223
768
499
591
291
195
880
526
12
733
379
365
950
362
145
457
841
335
483
851
96
794
308
759
291
464
871
140
232
113
115
666
569
274
322
596
304
516
760
225
972
503
245
626
606
292
173
378
313
186
786
311
163
725
192
217
121
495
717
895
271
695
458
99
339
43
713
508
285
637
527
285
685
251
529
790
636
420
568
415
634
890
426
270
795
950
717
828
697
991
399
852
54
921
966
792
903
641
383
46
101
398
582
572
464
964
300
124
434
358
33
188
997
463
649
771
902
644
265
125
410
571
442
536
68
125
268
92
517
106
750
517
626
219
31
686
654
310
407
401
815
759
922
848
317
331
186
175
431
651
554
369
984
567
441
799
965
804
712
253
315
980
770
332
123
137
555
103
654
192
408
844
714
923
220
108
343
770
466
556
198
599
900
876
997
327
561
150
469
204
730
483
163
934
874
363
144
87
380
332
338
766
236
156
373
344
175
235
567
358
524
468
960
676
196
50
278
289
400
131
494
316
455
608
553
33
452
464
196
806
0
657
63
872
581
350
833
28
555
824
21
969
367
70
887
106
866
56
569
239
444
91
50
773
430
43
292
363
278
259
55
656
668
103
401
591
506
466
700
783
416
155
889
444
43
358
663
368
712
137
584
863
195
127
414
193
653
549
106
908
535
536
737
416
406
448
118
828
768
233
541
479
399
0
590
223
533
820
917
616
254
412
316
785
922
40
520
348
937
783
673
21
130
614
14
347
990
100
977
249
130
812
396
832
210
204
797
677
438
292
4
672
64
900
548
745
778
681
749
947
980
362
226
757
232
577
521
869
342
917
339
784
845
248
700
630
828
313
91
537
957
502
597
77
126
326
110
697
881
267
458
139
548
792
365
280
665
934
632
472
318
332
8
504
301
798
720
134
938
206
955
772
530
149
530
123
777
118
818
825
186
645
345
659
237
485
807
167
185
426
641
805
512
324
399
973
615
205
832
855
665
87
402
596
856
802
676
776
287
790
440
960
849
229
689
11
482
332
928
465
451
253
415
12
409
56
340
935
473
286
247
396
511
957
690
612
515
696
256
362
797
409
495
848
577
11
489
86
610
946
704
869
726
388
892
82
484
849
171
653
90
909
519
813
750
560
630
133
664
515
739
137
980
712
663
289
956
884
210
545
780
870
101
827
956
134
175
537
487
565
641
133
41
455
718
248
656
84
40
6
17
645
478
614
264
654
270
284
81
954
538
67
943
345
266
468
786
655
328
114
366
489
537
306
771
236
337
511
426
831
471
245
80
887
585
951
573
803
924
309
541
432
385
553
789
828
474
347
516
784
562
788
207
565
366
128
605
194
506
418
365
788
934
927
706
173
932
876
218
865
183
272
211
556
367
442
799
74
213
655
11
945
787
364
308
834
1
396
875
834
909
614
163
403
45
296
814
75
912
603
674
425
142
942
748
936
555
311
76
730
883
603
103
860
598
859
745
875
122
794
13
969
888
186
615
541
408
598
270
940
525
425
382
711
726
957
200
264
386
476
368
306
48
119
956
99
878
399
52
79
707
682
162
593
777
128
564
440
974
396
185
511
878
760
70
587
708
530
858
262
133
593
588
287
830
442
63
363
509
616
570
964
378
566
854
455
290
888
687
738
898
585
387
216
406
421
899
143
842
357
321
443
696
919
258
379
945
508
992
886
394
614
412
986
643
37
125
167
605
804
794
246
567
704
30
566
341
51
722
376
750
976
891
964
972
393
91
313
91
220
104
801
867
921
129
704
238
761
684
920
211
450
224
804
984
231
793
405
837
321
871
55
379
836
893
215
342
800
900
337
410
702
130
688
334
211
481
521
873
154
115
979
983
191
779
460
529
572
828
635
92
699
265
871
279
572
289
902
73
326
736
836
663
526
84
525
377
934
160
541
992
579
888
237
996
536
54
247
753
98
224
779
84
839
778
557
18
660
16
125
27
103
330
878
838
59
539
311
8
458
499
886
998
60
364
906
761
418
619
387
108
48
192
997
286
268
251
483
62
416
727
579
516
61
537
181
497
900
134
48
898
355
930
904
84
103
840
695
354
352
561
100
439
551
172
952
564
133
644
295
252
435
721
139
968
435
968
807
560
52
12
795
256
8
879
488
58
96
676
440
885
912
14
77
11
970
270
251
485
650
159
444
889
929
996
599
646
496
417
511
497
498
372
335
531
608
807
23
206
365
992
949
197
759
616
966
875
116
905
852
800
531
612
548
825
347
881
947
744
758
215
983
255
386
604
994
596
727
345
685
636
35
192
28
882
65
189
844
507
647
674
377
432
261
339
57
888
110
435
751
441
94
969
37
608
919
589
611
491
531
573
87
851
961
63
746
799
875
495
375
668
826
11
776
572
745
174
554
405
875
260
193
682
518
973
716
479
766
517
613
509
432
784
106
510
7
969
789
684
382
473
751
22
965
895
392
361
390
796
834
467
459
36
242
706
887
367
930
62
535
844
826
299
863
957
655
286
215
503
306
357
527
292
16
675
164
608
118
965
21
347
94
15
347
208
540
583
607
651
85
74
337
117
9
604
42
888
747
355
960
341
326
74
893
275
321
42
470
841
95
582
777
928
493
473
219
937
751
783
716
435
836
503
412
245
305
680
388
795
563
598
910
679
748
374
708
751
447
736
375
730
402
80
142
597
692
488
268
78
678
618
543
632
503
696
633
39
48
750
68
833
586
471
313
589
183
678
103
365
880
613
754
623
12
971
105
340
552
450
504
529
413
429
517
11
999
776
344
391
469
38
280
624
128
270
93
917
688
437
116
438
323
754
243
997
326
896
351
336
749
395
361
196
722
865
975
17
407
850
696
285
599
865
339
506
684
714
236
120
172
417
938
300
832
653
281
869
938
761
488
100
440
54
69
767
199
825
974
719
400
772
22
754
513
805
179
774
665
3
832
763
388
962
406
989
446
858
996
734
861
885
189
70
32
36
843
144
640
659
55
631
315
588
882
67
274
301
295
277
724
62
90
849
335
612
501
425
809
138
206
802
365
138
211
136
488
640
887
728
705
27
87
227
870
943
388
622
493
990
264
153
779
234
213
14
1
595
968
55
326
845
512
502
498
214
354
562
236
218
77
208
124
511
560
719
20
88
901
251
638
141
768
723
891
882
101
878
685
294
757
957
74
751
234
360
502
930
733
941
408
624
810
775
612
375
997
87
379
752
605
120
922
266
73
835
916
66
895
251
147
425
65
907
203
133
246
667
48
502
718
106
926
148
510
336
82
709
114
641
955
545
199
652
832
128
49
513
182
652
580
986
485
183
355
521
637
296
981
39
71
735
213
635
466
44
608
467
46
714
900
352
771
979
795
296
247
816
65
55
565
51
545
891
257
387
116
956
169
741
889
226
901
191
64
690
543
274
756
626
233
834
814
413
387
125
142
508
486
242
708
890
40
88
702
114
418
816
684
793
291
321
913
231
139
638
862
548
230
838
722
852
198
845
767
437
388
23
991
400
412
969
573
553
992
772
232
659
534
33
970
668
51
342
700
856
493
168
167
571
347
224
818
136
385
276
267
811
680
111
907
426
602
223
538
472
930
623
531
678
921
270
185
652
435
347
162
733
222
729
927
872
224
410
627
864
26
245
641
538
392
749
691
612
78
527
593
399
305
687
19
631
980
783
715
737
260
202
445
860
440
893
967
673
978
198
651
341
905
271
257
599
891
942
113
447
939
603
831
54
83
433
199
486
487
824
638
340
597
939
992
324
348
992
713
289
261
285
652
13
138
604
165
843
461
942
288
805
954
869
719
108
768
760
978
812
527
443
514
694
76
56
283
609
632
304
106
264
3
488
804
816
86
593
202
361
272
915
875
819
151
499
660
644
389
32
498
267
367
129
499
375
148
321
553
355
593
897
749
382
394
746
43
57
156
487
295
310
218
259
617
194
549
492
98
929
823
563
687
471
168
997
50
668
29
362
374
755
344
664
197
566
678
47
743
608
898
955
322
251
16
346
549
974
416
73
463
216
882
938
49
983
494
411
851
910
316
577
628
695
921
714
114
892
288
897
91
80
859
843
996
536
552
154
917
957
811
298
55
605
186
331
926
468
635
842
37
946
290
775
356
283
809
77
665
241
728
972
339
551
164
629
491
294
530
292
606
169
430
117
801
117
271
53
814
157
286
605
168
812
532
802
564
86
991
756
146
539
148
484
141
562
912
263
577
289
443
762
184
565
40
772
936
608
510
984
136
873
748
823
167
745
828
984
6
459
285
64
65
20
195
563
571
676
384
997
622
674
450
745
941
268
537
923
235
570
648
144
7
790
223
672
523
924
840
423
570
395
243
463
171
687
889
895
650
311
605
752
832
573
582
800
13
31
407
979
251
947
766
742
71
624
645
313
503
986
698
700
918
296
420
593
81
774
984
749
716
903
79
91
797
306
196
368
241
820
967
90
134
136
29
779
297
763
47
964
978
249
554
803
272
186
578
949
917
316
792
305
40
388
140
477
795
73
480
63
317
670
120
323
162
292
597
521
527
131
194
766
816
772
250
411
224
958
860
264
627
591
752
667
514
289
375
232
771
537
750
913
265
514
708
701
296
213
982
209
718
294
619
340
218
246
362
976
424
963
975
723
663
827
821
277
711
790
101
105
266
757
48
664
51
409
585
899
998
328
333
627
381
796
38
675
404
607
206
837
55
482
703
248
507
836
634
870
569
867
330
219
403
873
341
268
250
55
276
734
996
718
962
714
358
516
16
235
216
487
364
714
356
781
848
94
187
793
327
954
420
496
244
348
608
403
825
361
425
399
458
979
390
674
16
119
830
656
310
957
196
683
724
299
74
31
407
920
131
973
359
247
305
55
139
734
75
595
329
167
553
817
839
821
286
936
367
685
99
644
906
230
951
198
772
113
592
563
104
636
423
552
467
666
851
27
598
425
176
289
145
201
242
370
185
226
778
822
627
956
98
971
399
634
838
810
455
228
766
993
549
176
187
51
640
617
300
213
835
886
832
358
4
617
521
474
260
716
508
471
505
602
522
472
608
267
855
896
3
302
801
466
634
76
887
411
283
455
979
502
679
448
884
732
6
11
563
752
557
326
248
678
535
737
867
230
340
393
331
747
928
596
497
526
872
703
266
215
942
786
136
790
874
488
378
420
43
3
716
724
440
45
427
711
32
836
686
52
602
988
84
115
715
899
479
500
684
931
416
361
201
360
283
333
861
931
670
429
38
741
433
833
166
287
950
401
308
269
835
471
344
750
10
888
391
604
984
0
381
888
655
43
788
339
675
415
274
804
236
336
221
762
435
47
22
357
777
310
95
181
308
743
749
338
258
485
349
645
825
585
950
988
708
337
866
126
696
575
990
800
232
424
467
942
450
813
559
388
412
826
886
477
740
839
231
847
220
808
72
447
7
78
534
554
636
719
915
753
420
406
225
607
938
583
590
110
740
16
174
711
801
799
891
674
419
161
246
320
422
867
700
207
896
176
738
415
121
325
519
266
315
297
922
943
270
939
373
998
470
678
731
219
737
638
724
800
581
404
143
556
972
805
788
655
779
94
711
795
589
118
257
398
771
762
22
803
514
260
481
263
992
71
812
138
502
804
809
149
144
66
948
575
833
756
382
313
776
804
311
726
56
367
181
225
813
349
358
855
9
693
837
903
797
309
848
193
410
824
322
161
959
346
638
876
992
390
844
347
958
31
772
346
37
920
329
672
415
423
541
915
703
256
630
691
241
628
241
238
391
654
339
862
312
860
168
149
518
850
987
686
684
252
87
224
585
471
120
10
898
560
544
620
186
452
382
557
322
429
698
353
385
785
569
924
477
377
265
172
23
879
431
238
281
280
116
248
323
631
816
361
712
457
421
547
953
432
969
534
359
577
900
106
795
819
926
609
516
275
356
77
986
604
771
898
449
677
275
665
214
245
366
265
75
498
512
587
213
136
188
621
411
511
703
595
67
161
811
875
77
691
682
610
184
771
130
189
13
94
111
76
682
936
184
953
924
616
315
836
432
874
812
847
931
537
793
433
73
229
379
431
523
998
135
635
74
626
963
951
320
140
686
843
237
698
599
393
163
869
814
550
317
732
936
368
643
624
852
81
302
936
984
236
16
684
512
147
825
713
70
582
120
640
561
842
604
804
153
665
468
262
578
910
931
461
879
875
895
326
636
898
834
463
761
321
528
51
739
715
103
23
389
892
355
855
317
348
784
494
169
924
997
516
179
248
421
854
721
633
464
369
735
286
60
879
512
175
792
354
9
844
200
509
567
615
516
746
517
251
335
541
306
606
421
565
280
585
697
108
926
236
383
72
528
451
847
337
330
691
936
286
779
333
265
891
470
459
449
792
951
953
950
408
900
454
668
342
635
521
900
483
718
564
850
258
293
804
819
384
247
320
287
990
720
439
106
15
148
880
265
621
824
99
239
828
727
839
812
526
132
919
898
18
450
471
740
459
807
467
697
677
227
534
208
819
708
215
1
129
997
88
962
848
620
392
105
224
164
551
317
486
736
50
201
706
557
119
474
101
782
739
56
616
398
150
625
648
359
998
46
436
932
118
719
689
828
327
333
721
803
216
558
70
907
476
919
859
134
314
668
92
442
979
479
509
374
46
407
394
956
250
682
368
359
670
902
665
947
325
634
489
339
918
325
930
706
144
4
772
356
262
286
368
902
968
543
484
515
742
301
267
708
85
693
51
247
222
856
807
979
22
413
235
765
916
40
610
716
609
947
649
584
692
251
85
765
595
622
573
235
279
299
212
605
719
46
921
857
913
305
687
25
158
646
823
361
225
872
884
136
944
170
946
310
655
135
76
43
777
300
958
177
961
121
837
875
41
331
93
960
634
661
983
946
137
276
837
519
211
231
44
818
271
129
152
913
744
105
306
20
621
717
107
672
211
727
938
570
493
545
61
198
314
97
199
147
275
831
592
141
404
261
693
889
118
119
964
911
443
520
868
33
309
386
657
314
877
413
563
303
112
201
762
177
926
469
355
547
600
689
491
300
360
992
53
670
141
348
965
479
868
922
432
756
154
39
728
585
26
374
203
185
822
95
658
707
212
273
833
821
751
304
221
728
935
207
276
781
400
895
892
829
244
956
746
698
838
382
517
654
631
505
623
653
517
416
916
443
74
173
775
290
219
361
861
767
84
829
516
394
225
755
465
845
270
356
857
661
764
194
493
519
120
983
69
801
743
724
331
977
88
961
260
662
808
31
132
630
874
609
358
715
461
991
502
596
590
119
529
241
161
375
531
64
868
294
724
728
345
752
191
271
441
779
521
569
51
183
216
391
777
714
541
989
890
543
85
353
143
295
474
274
663
985
761
407
742
716
908
887
64
583
795
625
986
862
901
715
337
112
929
924
621
943
181
689
342
800
834
295
373
580
995
499
324
898
984
803
146
333
637
331
826
43
239
619
885
54
2
241
515
995
519
108
485
252
457
118
253
890
577
531
738
829
84
893
253
259
97
936
246
108
216
558
840
932
947
159
704
636
775
200
12
858
208
86
231
604
708
825
800
91
1
997
485
331
488
689
619
365
876
374
747
29
552
145
319
342
39
987
428
704
409
424
618
642
683
987
298
581
423
755
42
715
873
532
157
644
177
918
374
987
154
411
515
84
745
849
37
390
75
464
459
468
131
863
859
836
659
828
464
524
749
371
352
931
657
424
654
103
285
78
427
185
659
859
795
87
867
908
93
948
235
856
129
963
812
112
899
125
690
659
19
312
229
382
27
568
31
786
992
82
383
712
832
540
956
41
607
512
665
236
215
418
925
100
358
405
109
617
468
101
890
993
528
744
220
681
340
162
271
104
717
610
247
89
879
771
752
750
898
639
788
405
488
606
973
592
558
832
481
511
994
296
365
780
176
306
192
720
304
183
340
585
596
352
29
876
201
669
154
223
555
732
685
803
120
417
306
151
55
902
54
341
398
243
429
180
9
468
316
64
870
146
995
184
829
91
603
957
878
438
635
343
604
654
355
235
656
234
990
162
932
900
406
421
619
120
190
842
928
951
748
338
821
533
7
8
235
250
742
482
377
618
741
916
457
136
336
423
247
316
672
962
504
876
177
81
595
454
888
502
330
555
63
311
75
814
534
994
738
354
910
868
951
351
551
571
950
902
820
366
132
86
368
493
890
866
477
508
405
132
303
88
752
693
730
218
918
114
629
373
54
459
173
1
807
959
925
635
890
3
619
258
83
747
420
268
786
148
556
191
599
866
803
14
471
774
337
702
862
185
608
638
565
603
761
423
39
819
948
247
686
856
876
859
40
639
173
780
700
97
34
85
281
287
291
34
351
338
429
35
250
25
582
17
43
523
213
607
530
514
67
518
603
412
755
249
547
396
526
738
579
600
229
532
203
796
33
856
393
436
850
957
759
100
162
260
110
292
712
367
395
977
764
281
415
911
181
258
688
192
531
987
393
360
133
547
4
696
857
587
18
551
239
491
399
397
363
80
653
341
594
893
195
136
122
147
889
514
518
246
610
109
307
461
657
834
829
456
690
382
202
316
795
467
150
425
175
74
327
811
762
660
146
603
278
50
881
317
46
296
964
399
280
445
118
299
788
24
374
121
200
565
521
150
110
633
829
558
17
721
555
58
688
791
54
847
990
179
250
330
775
49
731
967
765
724
145
210
325
823
592
448
874
17
340
704
466
493
814
671
240
525
697
415
657
670
411
941
446
300
588
550
274
199
780
540
364
425
58
687
45
313
957
493
51
782
34
277
702
168
233
307
741
486
172
430
33
98
935
780
220
927
241
961
727
379
31
85
360
153
210
39
134
569
723
805
189
655
776
343
397
394
753
411
859
299
228
532
699
574
970
305
4
840
448
571
988
101
493
305
785
481
309
297
816
594
777
57
476
905
922
802
65
938
109
881
926
722
648
67
328
837
210
468
314
664
528
992
483
207
976
343
844
151
170
716
627
73
954
189
722
702
206
608
151
834
408
393
339
238
359
703
158
580
14
738
56
316
871
49
231
765
601
810
982
610
187
370
311
914
411
38
603
901
748
255
766
330
773
492
959
666
772
294
710
238
503
423
949
935
565
710
547
315
68
137
33
314
64
381
980
405
236
327
72
353
661
588
324
300
49
949
381
373
171
376
126
6
454
877
530
276
956
196
406
351
389
223
312
198
606
802
164
241
628
388
128
337
437
386
398
670
232
645
260
25
236
841
945
448
65
609
957
545
949
341
57
151
541
72
528
890
943
941
329
32
753
865
741
914
399
614
175
569
638
93
264
92
377
193
436
280
649
65
474
615
458
186
547
580
92
596
839
445
864
227
839
147
477
308
441
540
989
468
965
834
717
990
71
711
884
617
691
297
699
536
103
254
458
806
884
785
805
582
953
275
559
607
579
494
293
583
376
841
590
525
868
767
545
518
410
485
705
645
317
778
243
546
120
295
491
348
595
721
282
554
601
800
167
328
108
819
691
405
260
56
763
638
876
651
712
625
631
251
674
528
157
386
439
752
730
452
125
577
530
115
68
831
995
232
944
693
313
240
104
106
687
111
148
510
679
795
18
962
43
437
301
812
834
684
80
92
591
965
399
234
823
749
674
990
81
906
150
834
834
673
569
1
556
200
934
833
889
247
698
787
802
298
24
891
778
153
906
209
344
498
149
51
606
145
137
120
811
206
472
902
799
425
249
752
707
389
334
401
65
615
312
553
19
848
215
981
808
219
303
972
65
578
933
452
88
19
980
127
923
349
822
164
915
373
16
783
247
689
18
83
227
618
15
317
317
375
444
56
796
282
463
108
605
689
186
11
365
495
694
110
349
211
950
165
427
217
739
940
365
429
754
561
924
484
39
648
523
853
705
64
920
768
406
555
314
51
995
733
368
593
125
324
436
395
575
1
706
445
549
769
160
576
774
774
819
647
53
648
701
210
797
938
573
345
412
206
647
724
274
659
421
209
853
362
642
43
353
510
463
698
345
536
205
204
871
135
575
931
343
889
615
879
373
778
563
665
346
468
901
160
336
974
352
443
856
850
201
769
802
660
260
826
44
772
845
119
37
64
539
246
886
406
255
341
564
574
639
379
668
661
343
919
164
694
902
868
247
984
445
156
613
997
265
840
997
188
423
822
409
589
950
382
281
527
811
829
250
803
932
182
172
252
597
487
152
369
499
710
361
254
206
220
972
925
331
707
79
894
566
621
230
373
433
7
261
320
412
980
743
812
848
894
886
700
619
304
194
440
115
863
255
140
765
958
527
579
234
740
203
213
748
427
829
714
700
113
430
497
366
953
157
625
846
598
470
36
325
170
244
802
482
354
201
46
379
909
363
896
785
932
86
692
619
770
674
827
758
767
70
714
849
347
910
771
56
382
208
591
781
377
843
86
718
390
514
709
510
781
647
722
860
815
801
186
642
861
417
610
158
21
513
543
926
818
741
447
282
145
925
61
63
231
157
323
325
738
860
848
844
876
125
69
143
17
161
726
923
353
465
796
656
230
366
134
509
806
331
313
256
735
503
335
225
10
114
340
11
196
602
538
71
413
841
695
63
54
536
607
441
249
896
342
556
72
15
647
153
121
811
643
646
911
946
498
690
553
639
165
863
822
101
444
705
442
187
136
744
267
778
505
844
651
249
314
149
462
504
282
816
701
145
333
455
199
941
303
360
357
974
94
113
745
542
924
912
973
388
133
716
766
534
164
851
388
214
935
941
321
906
843
776
400
118
587
53
453
843
941
408
758
72
409
782
777
50
723
458
773
899
100
998
556
491
276
141
797
528
391
933
392
367
871
435
159
538
494
483
496
9
371
436
54
520
576
122
109
89
516
870
390
339
241
400
417
178
389
627
927
571
41
467
725
346
987
867
930
972
63
857
203
283
901
147
903
169
846
826
668
99
729
11
497
738
364
527
511
269
428
646
62
830
696
938
867
514
276
941
354
520
463
36
21
375
463
874
812
811
93
552
78
381
196
940
102
429
621
190
127
14
655
293
81
12
706
223
94
237
880
782
505
615
517
327
180
694
818
639
13
314
287
536
997
186
727
268
407
633
169
914
99
132
183
275
78
339
600
958
334
955
577
470
561
0
32
879
992
240
918
782
355
844
5
61
753
83
218
535
735
600
423
897
179
551
851
949
187
102
924
262
861
225
970
622
71
79
670
91
547
172
488
857
84
308
997
212
186
484
498
701
537
258
131
630
379
791
329
870
184
379
414
364
158
680
520
644
778
702
984
718
591
922
211
609
119
354
781
99
202
589
8
178
985
619
612
11
81
723
68
53
860
888
4
332
334
838
287
597
499
612
515
339
510
920
293
855
270
658
764
745
456
913
18
682
244
503
732
609
4
762
341
190
781
682
352
231
586
358
907
695
370
623
956
170
897
250
833
540
477
564
545
101
4
380
704
161
146
434
529
364
6
508
728
569
415
693
264
929
326
829
998
840
428
637
122
176
305
543
479
134
605
70
569
907
816
134
493
980
32
254
236
629
791
988
789
708
414
95
720
210
31
497
406
831
573
58
759
716
343
232
358
47
954
126
501
22
162
833
894
113
239
182
93
79
299
843
272
622
878
54
721
815
67
154
645
100
67
816
616
244
549
427
662
483
378
802
632
882
665
790
593
645
211
687
236
338
986
181
557
876
280
92
78
729
376
76
705
478
980
821
872
368
792
239
218
267
760
205
673
706
788
956
79
303
156
467
386
399
173
125
147
793
999
465
35
227
317
217
409
806
443
766
840
410
873
946
811
93
166
731
913
196
446
153
633
225
173
416
728
993
630
876
85
771
328
283
289
43
283
752
405
655
118
937
593
559
246
944
923
719
177
266
142
851
857
184
681
847
458
720
24
432
856
730
582
709
513
436
604
104
17
110
958
801
294
201
330
284
370
378
704
629
784
551
94
736
500
938
429
260
864
958
826
268
520
934
108
666
641
90
344
557
769
418
445
471
714
747
627
455
307
542
391
66
534
243
45
291
106
785
308
601
3
779
178
69
463
723
380
952
853
884
619
834
581
931
736
401
980
675
790
432
299
613
992
798
355
697
33
480
386
579
316
280
298
735
983
893
669
707
348
242
851
855
663
954
762
464
146
427
648
902
456
461
295
854
10
415
346
231
437
544
333
632
294
370
80
911
268
617
77
999
141
536
881
931
814
537
449
695
862
488
747
61
101
46
963
84
190
388
918
199
514
788
495
832
843
296
17
154
549
27
884
955
169
309
466
940
711
280
920
400
970
634
632
325
110
38
829
637
997
264
923
242
399
314
735
561
961
572
153
693
657
415
763
569
993
346
599
690
432
702
702
876
454
852
98
832
156
573
586
894
406
205
496
883
928
798
106
464
519
532
431
535
76
735
236
104
362
494
6
225
257
224
698
112
922
153
704
38
218
681
487
569
869
499
834
406
292
663
416
316
60
255
131
777
749
306
64
435
564
565
684
741
845
22
725
655
996
214
742
61
417
116
131
531
397
72
268
782
909
894
997
812
810
937
970
909
432
305
368
578
632
313
321
969
91
713
315
821
657
138
767
328
134
689
114
722
170
242
616
593
537
894
327
632
30
331
355
677
239
784
784
914
300
253
229
149
308
908
21
556
516
915
750
885
635
378
649
583
713
861
657
420
405
239
45
497
358
546
878
43
655
659
140
556
346
665
605
223
464
713
117
85
706
941
509
968
350
33
685
172
969
780
208
586
618
49
248
459
246
692
313
574
660
518
827
794
226
152
125
654
248
203
155
712
644
753
235
477
603
330
986
68
673
353
692
988
117
171
995
670
698
768
805
521
186
501
231
435
627
616
129
194
866
901
922
243
428
880
62
679
876
135
362
883
319
211
930
961
829
370
308
861
516
186
848
483
527
817
289
889
716
986
422
338
95
95
999
630
964
797
655
213
567
402
244
872
121
26
802
229
467
864
576
971
401
623
591
548
235
690
111
521
928
179
415
864
0
659
325
625
982
942
731
503
76
163
216
408
449
17
495
22
292
119
33
358
709
733
31
432
501
540
949
435
109
223
677
559
245
118
444
443
179
842
406
58
315
279
397
510
481
900
770
390
957
809
43
634
951
814
820
375
296
306
500
108
583
305
618
289
170
776
315
159
370
596
238
580
656
35
939
540
533
609
797
39
891
64
592
818
921
867
964
134
814
488
120
728
422
446
201
737
294
716
680
44
905
479
537
386
849
873
938
634
9
567
894
542
971
434
981
396
831
988
260
976
875
719
416
538
126
410
557
314
415
339
319
878
150
14
194
691
373
508
927
775
298
135
610
196
570
809
879
466
612
902
691
421
278
752
319
56
720
351
236
269
634
746
252
431
479
521
600
577
13
145
460
739
104
343
531
981
362
575
21
195
195
426
777
917
769
436
439
487
780
50
104
614
718
456
473
799
472
931
111
851
70
937
629
631
978
55
816
676
22
293
247
380
382
271
345
885
615
948
697
237
747
978
996
826
290
148
509
514
442
216
150
567
797
727
183
302
284
785
729
910
107
387
559
102
617
820
457
222
932
644
567
861
397
771
461
35
548
145
55
707
924
423
536
549
531
123
319
914
651
97
281
148
886
113
287
796
177
993
918
995
230
934
4
75
387
694
346
58
626
944
69
564
474
115
453
20
190
766
900
69
691
502
79
551
983
976
825
464
521
610
713
871
441
293
564
712
739
670
862
303
208
778
507
47
588
338
301
45
894
825
814
537
328
180
824
15
255
69
342
362
746
961
482
249
619
961
72
818
555
254
943
81
26
830
376
351
915
188
796
350
931
864
208
151
758
541
754
194
804
66
34
537
45
211
803
751
166
305
720
424
817
511
678
113
848
745
332
639
526
245
571
453
806
860
167
652
734
130
470
726
152
397
672
188
88
369
937
901
784
376
595
565
901
216
478
0
118
261
621
304
545
162
497
172
711
894
512
942
253
569
437
859
378
994
381
733
113
273
298
500
545
133
855
784
130
798
416
463
408
0
315
426
125
142
896
412
934
107
329
550
415
177
135
997
105
775
975
506
294
531
640
65
29
235
283
349
516
735
553
820
951
944
18
472
32
419
665
935
500
421
398
102
817
522
150
464
72
972
661
604
703
123
476
749
227
620
227
646
541
685
816
930
952
995
631
970
124
477
436
350
340
228
114
669
313
581
77
361
391
691
15
280
997
39
338
934
923
162
86
914
881
492
738
43
469
303
803
444
601
83
194
540
665
241
738
227
183
695
564
90
399
182
381
862
938
749
852
252
837
847
35
338
914
181
603
241
924
457
780
712
593
923
259
194
915
386
483
965
485
504
993
656
910
54
957
957
853
42
97
783
255
182
159
677
240
818
384
100
464
800
663
440
516
825
19
192
858
5
995
116
668
414
829
220
815
56
319
597
364
26
896
853
263
845
194
761
578
283
903
687
355
376
826
790
676
33
640
852
465
456
224
688
484
912
114
715
968
434
115
696
461
772
491
355
829
777
347
923
340
265
720
527
71
277
55
688
577
660
305
153
829
691
473
945
49
797
890
356
961
614
896
508
462
287
649
749
222
970
311
721
103
454
800
698
814
546
478
824
725
927
603
997
904
355
441
817
482
679
734
423
691
997
389
474
755
12
840
544
770
638
174
957
817
975
836
107
236
464
758
270
517
443
395
908
422
810
238
981
97
220
274
576
949
98
916
14
20
432
267
385
371
13
735
562
891
540
564
258
995
16
274
255
782
456
396
763
129
915
550
466
501
253
378
478
778
581
7
593
622
887
350
727
851
874
267
961
687
464
626
211
193
672
208
528
837
441
71
142
686
571
824
397
490
85
63
108
410
258
198
22
771
838
9
848
559
28
261
988
724
56
298
223
478
547
513
998
412
315
277
449
541
341
563
660
692
324
192
115
613
809
966
486
357
933
232
638
843
809
826
568
652
27
375
388
464
502
300
416
339
561
422
977
630
375
847
60
356
24
486
823
571
879
302
877
540
509
304
654
321
57
990
762
718
148
922
812
327
166
644
934
430
476
141
275
763
535
68
981
797
378
538
211
175
216
742
129
204
308
93
76
648
22
223
465
25
871
685
327
426
95
395
754
654
366
83
339
460
110
979
857
432
581
70
105
355
756
534
835
936
375
962
714
496
641
509
496
611
865
582
361
882
376
347
676
560
387
590
481
53
120
634
419
717
550
727
814
327
238
191
693
393
700
961
909
100
202
284
382
379
183
801
307
205
576
694
260
852
249
422
411
872
90
102
915
996
814
512
85
869
524
391
389
811
623
833
802
411
101
48
86
463
444
915
951
984
942
575
259
709
842
69
274
149
443
160
370
513
219
415
30
322
657
197
426
194
806
499
865
894
457
40
959
960
952
706
160
252
580
617
679
691
777
378
450
634
867
373
191
0
116
9
358
504
422
0
822
642
959
710
514
12
316
320
246
495
50
965
603
353
976
459
439
131
456
745
939
424
505
185
222
941
556
281
240
46
264
63
841
705
343
510
16
613
793
979
791
969
470
187
395
238
318
382
38
438
622
967
482
247
681
690
721
659
834
14
220
815
461
36
532
187
51
672
97
315
7
879
317
143
89
950
502
694
401
741
967
829
433
346
21
803
720
238
826
195
91
352
980
250
333
195
995
295
112
199
368
363
277
279
272
578
218
619
475
405
64
695
100
244
820
373
465
949
456
383
442
196
542
710
357
94
971
666
715
373
130
215
65
753
577
821
233
573
464
691
707
60
449
278
239
163
84
966
192
278
928
707
805
614
767
297
199
289
130
176
636
757
555
753
823
463
886
485
573
429
703
578
218
351
189
269
741
691
152
915
396
81
480
371
783
676
936
391
521
62
316
525
245
261
458
434
797
982
40
794
976
448
834
146
29
935
397
164
134
632
454
691
574
712
483
891
958
493
38
236
841
632
759
679
704
785
307
556
782
954
816
306
351
468
630
197
827
555
621
50
535
331
604
502
901
901
784
611
154
831
393
417
54
478
258
934
383
327
722
17
858
998
862
251
313
412
317
715
590
420
918
933
773
543
600
768
14
973
177
172
530
292
214
585
301
534
908
658
766
828
551
904
570
410
111
325
399
271
643
958
370
721
857
375
561
990
756
975
575
268
19
66
137
864
865
390
324
861
167
185
887
120
498
142
100
663
82
255
96
570
340
204
925
745
149
986
990
15
917
8
461
584
855
84
407
4
664
268
412
295
530
238
930
461
492
505
466
179
222
771
501
42
5
618
703
290
904
677
821
27
65
577
285
981
187
350
767
470
508
439
3
468
704
25
970
219
175
551
417
228
542
554
237
947
793
191
363
505
607
964
963
173
693
477
96
930
932
516
308
927
541
109
955
536
838
538
851
1
720
147
473
176
184
328
416
232
981
519
232
101
251
432
768
547
900
717
202
976
90
859
840
733
793
675
224
281
439
435
171
247
901
82
900
963
415
154
517
124
960
575
160
611
826
363
772
647
209
20
811
837
21
32
463
540
690
350
207
286
147
170
61
682
657
810
37
689
943
282
533
204
613
866
848
107
579
897
296
695
795
360
508
581
176
464
635
449
698
805
748
262
366
516
243
834
131
159
133
463
147
487
632
365
169
574
325
611
44
359
398
914
891
222
550
598
732
177
305
352
945
531
655
122
996
716
991
388
39
379
638
442
758
110
177
808
472
986
402
20
277
49
492
410
257
625
123
188
383
371
131
250
912
599
106
137
404
359
479
157
147
1
412
939
878
697
670
616
396
64
103
938
697
233
783
726
523
286
817
607
87
635
158
193
454
895
963
341
366
637
474
425
741
248
10
161
282
805
642
67
81
111
873
766
671
827
544
86
982
470
929
253
662
225
142
248
559
439
769
104
985
568
90
965
222
331
833
65
358
362
640
863
634
900
470
897
67
888
248
553
495
381
53
418
64
271
979
959
508
187
847
183
380
747
352
125
747
368
526
26
165
82
308
462
530
922
336
649
479
596
370
185
318
25
596
767
111
559
826
959
441
65
434
556
135
657
268
254
592
886
69
128
635
32
166
655
717
636
171
440
276
237
484
354
676
194
953
400
595
534
142
496
201
819
36
735
902
348
478
563
764
421
385
556
668
174
23
912
66
323
421
709
663
543
879
941
844
789
435
104
216
551
66
95
856
367
495
555
730
147
460
394
842
732
667
729
618
288
487
171
650
910
252
112
790
225
129
825
488
891
563
753
540
403
959
404
575
132
658
702
768
940
544
38
463
319
492
188
907
177
310
614
198
8
976
540
588
621
925
329
411
83
809
750
67
382
284
292
934
564
570
216
194
333
803
854
349
907
890
402
244
973
391
431
748
640
425
524
210
544
98
455
253
970
176
786
808
633
722
784
911
53
380
982
634
567
977
483
729
332
149
358
236
630
892
45
821
432
701
721
256
108
96
362
250
93
478
400
166
21
552
346
707
240
837
475
124
879
864
735
989
214
832
447
842
132
120
463
971
895
189
571
514
581
826
128
676
528
456
614
170
27
372
252
644
927
636
214
832
293
534
754
465
707
508
983
771
41
653
761
773
94
265
72
947
707
685
55
337
519
590
307
305
21
433
864
525
892
766
521
9
727
370
264
808
547
176
908
66
908
331
218
888
495
486
85
187
519
88
953
231
806
57
641
489
173
362
443
42
498
441
928
597
233
756
357
542
380
519
460
478
856
991
761
396
45
611
705
287
929
76
647
782
593
201
474
2
444
955
677
284
394
686
672
840
660
675
193
57
500
329
17
533
316
636
594
806
698
765
132
145
213
287
791
361
840
717
864
750
201
889
34
887
351
196
274
992
17
6
366
740
25
196
508
874
183
543
357
749
49
352
612
307
19
59
327
66
803
227
741
734
67
204
121
862
560
54
751
92
219
172
779
406
322
266
631
949
519
562
95
830
317
244
829
781
935
93
852
866
146
620
608
338
809
501
80
900
162
315
697
886
128
642
386
921
760
139
423
116
115
549
731
336
415
608
866
36
30
37
291
758
288
411
798
522
306
984
422
313
640
862
130
921
972
501
563
27
440
182
175
957
949
792
980
531
119
519
884
114
844
929
952
166
537
870
932
463
429
160
355
836
842
629
176
126
576
406
158
446
412
34
73
190
416
848
587
222
232
974
528
604
645
194
58
174
689
931
285
486
31
648
752
675
149
536
917
944
322
372
293
925
627
478
31
208
662
636
523
588
157
319
227
152
383
519
47
140
119
858
2
97
250
144
558
564
989
878
592
659
141
513
33
945
359
553
354
870
912
521
954
421
448
906
607
203
826
183
603
176
616
943
400
586
410
739
228
462
164
641
614
911
327
532
819
834
240
812
414
999
616
305
71
43
787
848
545
39
609
649
184
386
951
181
825
881
205
703
267
902
930
131
563
212
507
760
593
654
566
142
352
574
932
335
830
346
933
463
289
920
126
808
835
476
291
384
69
738
775
112
311
248
275
203
825
476
16
206
560
856
991
237
712
174
673
557
86
254
185
412
669
206
925
169
829
96
37
875
699
674
663
203
683
645
158
830
12
465
893
422
284
275
477
716
204
506
989
925
346
766
322
142
577
562
891
588
208
499
433
496
6
711
573
992
842
614
404
549
825
851
851
23
522
522
871
302
524
454
186
44
317
222
950
227
995
145
534
66
582
571
798
104
442
1
508
135
803
308
114
254
483
206
66
778
766
3
263
686
634
896
901
953
128
891
408
463
543
519
467
474
683
790
218
547
214
931
101
500
590
511
548
340
498
466
434
598
671
30
836
430
605
881
110
458
121
277
795
761
194
608
265
466
395
802
243
448
552
237
341
48
647
798
302
31
360
398
51
20
27
718
483
364
59
805
541
85
917
737
214
990
36
326
862
607
723
627
90
683
22
761
932
562
227
337
311
271
70
405
519
216
349
81
289
900
726
267
16
273
93
69
538
857
250
415
775
479
498
414
465
885
123
23
708
18
636
693
480
784
219
836
85
119
879
245
995
600
376
187
924
533
773
953
114
242
310
545
517
497
476
524
324
267
533
672
784
852
712
163
124
123
113
483
167
996
454
113
368
982
126
859
723
447
819
854
8
405
998
484
422
1
946
566
785
258
973
673
754
810
786
368
804
834
88
879
814
889
795
586
909
315
283
677
350
344
60
888
790
719
927
981
415
906
986
806
674
847
577
867
825
843
368
898
206
910
205
724
91
866
29
992
289
514
327
513
731
979
96
464
812
792
431
117
429
264
323
299
989
517
510
185
721
846
621
94
419
858
848
787
538
410
114
372
407
651
92
770
789
524
492
11
98
344
147
102
351
876
475
439
13
148
744
183
740
862
940
510
260
35
404
234
190
701
242
783
819
793
727
956
609
233
666
26
742
969
221
858
305
577
1
148
906
853
850
51
45
823
361
35
454
734
309
892
281
972
435
818
44
442
975
783
683
512
60
293
482
154
528
246
855
825
103
654
311
3
953
752
812
575
616
251
390
810
807
117
224
70
343
703
892
761
928
836
975
338
769
791
236
628
46
482
920
654
910
0
758
55
189
777
888
269
189
675
313
493
212
755
130
584
186
789
233
154
994
722
832
605
624
348
415
727
678
454
896
897
31
329
795
439
921
869
896
146
975
13
825
611
105
267
33
790
6
619
151
294
14
938
221
784
404
245
162
520
654
32
280
741
649
38
249
871
503
990
731
928
38
32
144
190
81
948
609
703
699
785
808
335
596
396
539
438
114
745
317
300
732
207
421
458
138
764
426
566
93
603
769
815
180
944
256
878
41
388
527
881
776
658
234
388
718
574
369
493
390
102
134
752
387
736
97
72
381
50
828
878
413
324
27
303
926
388
408
598
672
587
768
350
736
165
421
888
741
936
676
800
447
507
687
850
610
907
475
901
284
336
957
972
132
607
977
799
847
459
394
177
717
649
754
691
461
89
262
179
956
731
59
156
196
107
990
503
354
163
537
284
165
307
554
538
652
124
65
982
80
729
981
264
69
182
206
206
860
428
462
232
149
863
978
22
19
59
206
12
868
629
726
226
420
656
559
46
946
535
848
930
617
630
833
565
535
258
860
801
891
720
522
852
640
867
484
980
423
709
610
117
408
263
128
330
114
314
642
654
235
898
990
884
732
223
187
280
591
757
109
855
48
839
141
69
205
196
514
304
592
923
344
891
812
147
590
389
942
839
286
285
604
455
469
311
998
460
510
5
787
574
341
497
197
288
361
327
832
344
609
570
157
319
662
850
67
761
780
911
910
459
565
179
118
269
423
761
514
339
571
950
219
307
771
68
647
556
236
183
849
381
298
100
763
952
91
797
218
870
506
167
991
554
36
16
408
722
478
834
922
926
163
541
466
857
219
293
459
626
430
601
355
770
74
865
604
698
800
832
268
273
539
532
725
657
271
280
543
534
954
313
607
299
20
800
108
682
307
622
238
8
754
265
730
83
921
518
620
534
72
524
604
864
437
780
205
311
779
510
716
737
835
771
896
573
421
529
932
822
487
475
63
728
55
144
133
617
764
713
466
639
937
895
467
456
172
616
288
840
773
161
82
947
26
513
410
384
364
687
279
992
677
682
768
18
783
297
544
675
215
511
475
232
415
929
688
318
339
799
629
374
933
365
917
810
575
990
393
174
871
448
904
571
454
423
678
27
692
166
435
211
736
170
559
389
467
823
912
411
286
206
675
951
859
868
848
376
617
160
849
554
514
860
647
890
435
271
287
550
729
700
552
122
176
275
440
592
92
22
205
798
829
606
426
205
488
945
985
92
154
65
301
858
83
90
175
231
827
923
490
962
706
545
425
229
568
388
4
765
755
137
424
924
105
535
475
573
808
760
135
365
945
818
975
485
291
980
842
743
210
423
414
876
562
271
322
703
598
908
903
829
913
817
714
775
944
514
967
646
23
415
957
300
977
419
608
817
806
431
52
232
359
249
114
53
216
636
303
195
441
88
976
279
584
738
990
195
452
356
635
501
796
51
331
841
691
619
351
191
315
441
2
141
986
767
272
802
699
892
838
650
59
947
979
521
877
840
39
906
770
605
711
508
825
349
612
199
889
774
842
798
163
302
556
636
268
721
948
836
138
344
519
465
854
329
858
629
150
462
594
446
985
263
734
333
897
934
808
200
703
884
296
166
401
935
810
576
726
219
199
341
394
434
95
272
917
486
803
218
279
395
975
888
461
140
785
514
683
538
653
739
27
862
209
655
507
622
409
348
407
113
622
828
293
512
864
457
33
72
287
68
591
645
795
162
971
983
530
846
936
700
946
522
304
493
104
300
458
219
995
298
693
882
29
735
414
404
575
672
596
358
972
229
506
788
555
68
861
213
716
319
629
612
300
611
972
406
405
672
674
582
118
728
273
529
716
12
306
563
765
260
516
976
171
802
921
941
897
904
549
964
500
905
969
553
378
125
444
705
161
618
448
101
136
892
635
965
203
402
159
84
975
202
715
28
419
942
938
456
775
191
629
305
279
163
725
529
894
317
30
170
626
46
389
782
50
276
562
865
328
300
910
229
277
95
820
866
16
244
608
914
295
142
791
983
570
297
231
94
756
511
806
459
998
45
302
751
365
233
458
618
872
503
384
139
69
983
226
197
114
248
767
685
524
150
604
722
84
727
482
873
730
661
787
367
364
795
409
481
140
532
485
591
804
964
452
458
347
282
215
645
559
664
265
992
693
211
843
955
759
653
746
283
869
701
618
37
366
192
8
565
964
423
988
110
706
346
455
505
532
231
403
337
276
607
233
690
363
844
367
437
497
893
326
403
41
972
849
555
351
938
86
224
849
576
967
318
40
696
145
28
811
20
447
963
308
664
62
746
377
735
501
425
515
936
561
335
335
405
99
617
289
849
86
60
884
14
830
430
720
570
112
933
261
207
271
794
882
932
950
140
363
186
171
54
122
769
491
841
659
300
176
342
460
312
369
319
290
713
513
295
11
13
982
759
632
378
378
384
48
195
93
431
314
73
997
924
984
904
285
878
498
779
229
706
531
286
523
370
868
780
806
863
558
60
44
685
756
463
644
654
332
414
458
28
608
828
776
378
340
207
61
196
878
423
200
988
808
928
385
993
932
979
314
719
987
98
874
467
778
907
407
405
910
461
361
889
1
808
755
181
236
235
125
446
212
714
466
133
604
71
450
194
936
258
144
980
359
530
374
921
824
208
318
860
874
857
701
799
693
775
308
866
126
429
806
375
450
138
869
255
483
537
881
325
728
570
418
639
195
235
4
764
47
430
944
534
451
187
469
716
796
148
4
377
974
674
844
183
845
932
119
653
337
227
237
159
518
787
272
104
886
236
954
383
403
682
761
511
68
836
112
444
234
258
370
690
203
807
955
573
349
470
261
732
624
263
593
707
105
204
583
850
489
439
486
651
435
490
923
236
744
274
708
601
202
357
869
682
62
441
799
884
987
52
422
234
843
848
25
217
872
104
892
894
278
568
859
576
90
716
161
295
795
462
494
880
552
614
251
868
826
207
438
447
425
534
319
331
809
558
164
186
617
648
248
171
6
320
19
990
459
286
871
263
631
491
978
589
513
149
925
972
427
229
427
394
26
152
764
367
748
618
558
756
765
28
767
976
333
999
648
95
102
633
599
84
933
715
847
720
784
201
363
765
130
446
663
797
397
436
793
27
677
767
340
881
90
761
825
785
653
331
377
89
734
77
368
664
108
153
113
752
497
544
132
544
530
614
480
689
606
141
165
253
130
95
465
673
566
147
479
109
9
10
429
23
517
398
683
385
364
92
737
33
805
574
238
613
671
376
278
826
986
547
724
593
602
908
494
284
15
765
232
551
821
670
73
380
519
38
863
785
450
242
662
876
348
765
190
629
43
203
644
636
337
359
173
43
843
132
597
645
595
282
708
370
153
951
705
103
470
218
253
381
208
569
201
26
656
553
448
993
83
224
40
838
915
790
473
188
63
828
925
804
865
777
356
173
556
292
896
82
676
337
94
90
651
104
181
673
197
728
139
131
235
342
454
827
951
534
154
75
811
309
477
527
996
77
34
278
179
88
486
174
380
106
702
642
944
262
97
344
774
106
502
462
228
587
280
550
713
585
794
66
23
649
67
779
341
151
35
860
138
40
336
183
724
77
794
433
520
471
417
237
358
277
845
96
108
71
794
887
336
443
405
50
203
190
689
553
665
772
118
330
177
37
779
548
586
232
961
235
334
32
980
744
60
652
511
696
138
769
408
591
650
11
947
753
344
414
246
487
641
555
858
343
813
581
781
758
477
582
265
481
48
620
155
607
631
422
31
853
902
232
599
228
230
423
487
162
573
322
540
389
634
382
787
367
540
594
446
528
548
862
810
239
616
162
316
94
749
752
171
856
760
725
333
897
804
167
707
921
944
694
125
217
979
647
347
24
528
45
168
467
852
552
55
721
728
274
773
40
463
917
755
264
677
192
854
19
532
953
707
269
407
429
702
209
500
175
649
21
320
710
677
374
73
768
688
802
324
565
781
330
227
428
650
969
709
225
206
378
715
420
176
205
56
491
435
318
688
401
436
996
643
61
937
933
389
729
237
279
198
508
847
685
427
592
906
140
141
959
532
269
315
873
243
56
689
216
387
287
344
834
898
105
344
735
543
187
485
165
260
624
824
114
935
773
237
800
203
831
959
912
877
635
66
412
732
777
935
213
369
144
57
224
92
110
848
958
999
682
794
259
277
240
838
372
731
514
754
969
838
705
469
795
548
53
592
257
22
750
231
275
655
464
732
70
283
561
83
668
550
851
662
243
968
558
39
397
852
829
192
422
333
169
576
439
314
187
2
518
674
588
533
687
109
734
382
992
684
72
760
760
28
280
856
186
75
803
761
152
621
45
628
802
787
587
57
228
3
859
506
429
96
39
727
644
913
989
667
635
319
304
275
634
431
431
773
873
11
964
120
765
385
426
237
694
179
3
995
66
932
508
625
755
672
969
419
895
886
800
315
401
975
279
371
728
128
424
609
78
272
775
603
216
622
52
899
813
628
59
774
269
319
937
897
965
337
184
33
773
22
789
994
401
201
269
817
480
417
94
267
915
995
405
587
948
129
987
642
913
129
505
146
569
639
238
837
452
841
71
686
803
600
331
942
389
26
171
516
369
342
171
605
678
714
680
531
594
664
441
237
29
354
821
120
751
728
816
172
130
697
318
766
301
194
946
753
53
221
848
127
925
797
882
265
701
666
792
530
241
573
268
30
633
400
124
27
385
985
269
220
462
481
557
24
655
874
155
552
292
561
848
712
191
4
507
930
707
987
544
657
785
315
649
845
933
151
209
271
63
390
335
470
413
922
210
993
789
393
170
740
808
615
63
47
483
850
70
861
128
436
357
422
543
796
566
735
370
227
292
180
192
74
696
798
658
123
131
716
283
852
904
528
803
84
850
239
447
885
45
480
562
799
106
819
845
923
275
936
651
145
771
6
946
762
168
794
0
976
685
933
438
325
762
246
52
562
653
584
450
452
328
225
408
302
651
129
124
462
760
775
802
534
52
492
141
167
56
131
557
991
835
226
805
740
898
275
974
586
125
453
727
433
958
80
736
522
582
252
962
861
21
248
735
295
544
629
173
130
926
684
203
148
10
794
64
287
908
565
175
926
201
656
207
67
953
440
499
578
457
518
951
5
243
635
408
256
199
548
973
125
676
563
354
120
388
308
602
821
698
882
54
348
925
911
538
556
256
376
880
930
74
795
754
405
421
890
711
800
693
86
30
438
795
346
888
857
287
27
36
589
682
292
725
647
810
30
479
97
120
289
353
920
336
692
2
171
211
448
78
215
641
754
316
887
375
408
606
816
657
393
475
757
304
66
937
593
154
740
516
699
19
540
846
537
858
181
549
85
659
725
995
647
897
403
790
722
332
856
511
617
407
112
814
527
861
753
265
453
880
593
243
326
110
176
976
319
61
662
841
486
183
319
235
630
103
66
82
392
690
735
130
445
522
808
95
482
258
943
273
836
447
119
916
716
548
130
997
695
89
868
717
525
357
659
693
350
953
357
758
954
167
98
356
755
770
357
960
226
479
649
419
515
984
92
229
471
764
577
405
676
320
757
596
707
529
825
123
313
176
605
193
334
104
131
656
438
980
846
885
821
575
179
402
908
916
840
730
275
334
932
942
739
417
786
926
394
918
158
475
539
384
950
650
13
815
150
738
542
692
839
122
801
841
568
253
131
3
428
496
435
952
357
258
482
519
63
530
218
996
784
698
864
520
154
260
668
108
705
900
845
792
489
848
898
805
360
926
9
804
480
241
821
807
642
314
331
363
738
166
936
644
825
58
924
414
456
91
351
534
712
613
155
288
332
78
206
934
81
578
766
37
664
810
439
914
947
123
217
409
19
179
919
898
45
278
723
685
494
964
375
727
180
841
117
601
776
58
73
165
277
768
492
236
691
516
675
510
421
737
858
881
362
471
911
698
845
71
586
145
847
909
717
57
218
259
434
261
352
703
877
198
499
853
284
763
837
501
881
879
959
269
257
244
411
68
160
619
312
768
567
77
222
891
43
490
812
132
819
963
48
766
878
280
588
299
785
52
765
336
392
882
368
424
121
311
196
929
250
326
615
69
877
698
564
886
338
284
922
247
337
461
889
829
209
163
67
963
101
993
791
620
466
232
25
606
830
385
146
924
689
976
276
426
592
578
790
536
504
255
199
918
141
619
172
816
734
411
990
268
71
14
359
394
1
907
795
25
963
336
259
318
853
996
513
709
438
742
291
978
281
386
804
766
7
647
947
338
585
738
226
685
412
167
233
142
954
684
117
778
432
924
205
650
654
771
877
731
916
394
447
996
156
804
658
393
275
274
129
238
80
844
365
823
610
796
578
189
632
645
738
323
920
998
822
852
415
395
131
512
493
156
517
478
818
660
892
568
793
901
127
790
558
219
194
284
569
875
337
112
784
814
886
678
127
721
790
116
532
150
941
261
204
536
916
436
53
729
172
653
70
833
359
763
228
166
757
115
813
483
825
421
25
67
535
870
770
44
807
341
22
265
836
88
82
166
460
295
494
395
858
858
718
319
789
730
20
620
382
959
322
611
985
200
934
506
179
711
428
961
883
148
925
157
335
975
523
217
194
720
707
248
950
123
361
179
749
305
445
465
522
113
123
980
291
388
924
381
97
995
951
921
584
319
849
183
572
407
965
92
484
915
230
146
205
318
319
134
143
733
248
434
808
198
607
851
56
208
941
662
635
620
192
392
458
196
107
324
952
129
339
589
961
135
958
445
483
823
970
460
969
826
614
868
362
332
191
18
832
977
966
195
729
815
680
75
381
665
88
689
198
914
797
357
344
421
929
352
750
452
502
946
170
503
573
579
84
87
811
787
530
266
922
263
567
921
525
354
720
49
417
506
118
616
407
879
946
974
442
826
984
779
61
9
878
73
312
139
266
490
600
839
479
270
321
921
76
529
948
239
686
266
154
699
602
372
961
897
358
837
804
963
578
165
499
541
728
407
742
663
569
387
906
542
210
418
306
87
887
531
561
383
301
30
845
673
421
735
859
813
345
234
17
800
792
366
716
153
78
725
511
479
423
694
869
355
126
530
557
306
912
978
970
688
70
836
383
904
595
849
446
74
777
904
172
299
24
119
666
473
618
671
820
307
821
602
839
621
446
567
482
353
195
222
164
710
806
493
316
628
330
138
676
749
831
621
639
457
153
335
556
264
304
677
550
57
376
753
180
629
550
36
632
845
116
181
330
608
123
170
413
913
72
196
788
457
411
106
689
395
841
130
42
298
403
854
801
547
560
810
251
432
328
619
208
815
866
90
72
807
992
144
737
943
932
431
660
838
832
86
1
932
256
712
547
9
351
492
521
125
60
280
49
83
665
865
817
244
194
28
564
222
611
908
863
698
8
469
852
601
414
221
766
142
18
491
78
741
448
623
942
56
113
3
698
284
158
306
960
838
438
190
492
795
920
882
607
671
92
435
747
202
41
872
903
331
806
427
124
961
202
565
266
730
614
343
868
940
641
216
203
576
62
303
728
857
384
855
825
227
900
515
166
906
719
177
231
64
919
186
574
192
195
723
592
49
195
456
226
155
412
41
266
103
337
602
194
805
966
799
626
750
939
61
272
907
559
403
590
567
770
104
82
606
254
752
338
692
444
950
23
812
892
299
454
125
958
216
661
598
477
165
247
329
585
802
790
985
25
163
395
269
808
588
789
615
378
952
50
989
66
215
365
19
482
220
281
39
694
947
174
43
227
101
645
780
723
916
604
453
840
718
928
994
408
9
502
296
916
613
831
794
175
744
16
262
102
838
438
208
267
814
281
618
899
256
809
732
245
683
660
471
938
140
955
495
438
856
933
564
991
196
787
979
54
693
797
892
146
589
457
311
885
550
827
165
375
839
310
298
863
247
126
373
336
922
652
434
339
943
314
273
654
171
9
931
351
8
264
930
189
96
158
941
992
779
870
565
556
832
2
615
63
711
155
541
941
649
302
475
86
487
930
370
729
506
315
460
509
839
96
43
662
441
77
414
361
885
455
748
455
504
796
643
697
112
784
349
705
573
788
225
362
166
205
675
754
4
65
989
69
276
865
183
572
292
237
616
488
365
638
734
318
5
237
974
168
767
83
495
916
634
200
97
517
662
343
423
362
568
838
74
382
594
375
326
471
666
493
574
527
747
417
185
229
631
533
307
745
128
255
753
402
903
834
114
667
253
462
391
255
293
507
887
341
182
657
102
576
911
970
185
824
386
867
56
827
158
841
183
416
556
220
95
766
374
44
645
472
122
380
959
722
752
158
445
928
954
797
851
183
934
514
154
165
746
876
906
239
89
589
37
837
189
113
584
734
858
877
862
551
80
756
132
472
721
192
739
626
9
398
330
338
632
465
285
998
193
254
106
994
886
806
835
759
586
612
914
496
301
145
830
559
750
902
905
85
663
960
783
117
674
999
624
64
457
920
37
388
57
617
589
609
548
629
694
915
338
227
827
629
912
564
685
442
334
798
528
340
1
610
849
503
642
236
465
941
608
801
441
553
577
260
93
808
26
340
666
563
962
411
987
81
826
614
882
168
714
790
609
656
667
393
804
78
148
501
566
804
144
910
374
226
617
666
441
354
238
680
880
473
620
551
214
700
335
895
128
25
715
813
657
796
856
675
287
853
440
475
857
930
116
992
187
558
120
165
927
43
348
196
535
923
633
968
248
563
100
696
440
645
275
948
748
177
602
168
35
60
390
856
749
31
10
909
703
804
80
874
957
973
414
380
919
374
713
834
481
815
255
425
178
836
724
227
408
773
947
375
525
699
45
50
816
505
0
252
840
483
124
503
711
695
163
334
587
824
420
335
889
229
82
645
672
751
928
975
399
454
927
714
877
371
422
558
341
703
817
20
384
783
103
490
494
77
6
694
190
397
148
556
19
46
424
411
922
496
918
196
266
437
681
96
588
745
906
753
175
475
181
591
409
816
14
779
762
624
346
326
515
431
371
734
413
99
918
790
339
144
226
925
562
715
773
780
675
348
69
464
398
550
286
844
522
438
338
553
350
754
689
493
466
438
99
767
795
751
569
207
826
909
968
484
474
33
351
131
245
940
928
734
968
76
632
42
812
630
832
491
547
697
781
110
435
567
422
302
234
928
510
653
195
292
372
431
211
275
349
21
76
237
155
395
158
272
27
793
149
958
30
604
346
456
259
422
194
794
895
994
788
983
511
47
709
236
228
172
31
874
823
129
467
871
855
435
61
213
384
690
422
335
634
618
59
834
362
446
804
655
190
454
633
198
761
369
449
14
273
775
203
647
622
588
446
4
408
997
699
3
260
75
433
475
468
614
729
848
110
488
687
281
102
384
483
826
541
481
763
230
185
253
734
793
71
398
988
255
978
62
743
609
849
904
340
336
585
803
687
821
288
576
309
797
118
202
344
712
574
569
560
53
632
263
27
669
599
53
76
705
515
751
892
436
125
227
455
658
769
311
57
744
990
392
443
347
473
452
474
437
612
898
813
162
918
20
804
300
910
595
205
803
291
768
718
92
523
69
347
52
898
685
985
64
902
85
300
148
4
576
411
935
440
984
902
842
511
624
410
865
397
429
713
569
860
9
601
952
128
632
656
400
640
237
180
463
916
210
186
971
946
949
744
485
260
465
251
156
647
518
644
334
117
168
863
622
682
592
347
765
741
988
796
826
329
587
429
48
301
684
144
339
363
602
715
795
429
129
599
158
405
87
768
209
76
761
102
775
733
814
784
27
835
852
479
105
205
593
850
65
384
860
339
847
526
748
438
68
634
799
642
771
450
113
62
461
69
701
748
183
924
716
157
8
93
871
656
388
668
84
432
280
217
499
587
12
94
708
592
135
927
306
834
356
44
755
12
546
259
785
476
749
581
642
373
491
817
107
178
936
454
668
523
645
411
201
911
410
112
232
245
465
631
754
516
997
954
204
632
838
20
319
456
137
403
698
69
825
116
339
816
807
857
338
764
81
631
443
89
779
659
595
900
590
865
646
372
304
917
204
445
671
500
302
354
367
910
749
122
763
677
636
247
563
496
525
734
523
923
3
176
587
920
191
938
530
805
640
221
840
169
762
133
73
192
22
145
643
148
888
786
337
413
35
723
54
692
693
687
591
615
214
414
277
122
341
90
546
380
978
279
323
777
234
455
974
463
94
701
902
951
118
995
208
701
593
884
879
215
867
338
598
116
281
459
241
265
39
28
574
981
43
846
773
872
798
561
728
413
422
781
545
747
404
32
200
525
141
49
874
827
863
617
280
145
567
374
126
119
852
739
102
517
801
914
324
854
379
966
911
401
831
106
867
752
365
689
951
905
781
332
565
209
384
621
907
428
725
554
841
844
828
227
342
916
381
100
810
494
779
889
222
21
921
608
394
724
505
762
363
220
842
450
802
50
810
395
269
932
510
832
872
504
362
842
398
854
95
163
919
112
979
630
403
573
534
940
616
695
54
786
42
966
340
589
393
62
564
725
375
806
150
84
638
531
449
674
237
593
475
810
368
319
115
183
513
882
201
660
403
16
183
309
149
581
913
23
825
423
298
17
460
653
915
732
476
682
752
546
498
100
743
238
453
383
484
314
213
498
230
471
429
323
109
478
887
401
447
419
698
818
31
844
886
182
95
633
930
944
695
193
495
408
401
994
487
782
888
417
767
890
838
302
845
0
975
819
780
103
837
272
4
337
155
870
862
677
175
47
796
635
632
820
710
211
599
879
353
682
813
812
13
834
128
157
605
865
387
210
482
644
159
921
865
628
157
547
262
258
483
267
724
665
416
490
2
295
77
81
900
596
290
822
403
870
675
890
179
482
254
451
19
373
861
814
422
497
469
378
600
956
199
575
737
547
2
271
720
917
832
425
847
881
641
178
843
629
290
913
224
544
10
20
976
782
928
397
865
972
396
482
251
222
515
49
295
944
546
153
137
714
153
673
530
675
820
636
4
215
253
519
512
914
920
591
317
797
734
893
908
867
723
619
435
284
243
281
259
80
746
964
334
956
724
345
545
158
759
478
157
966
227
280
531
498
666
698
782
268
161
562
132
571
172
36
235
313
978
8
530
438
377
66
450
668
396
571
747
737
422
313
475
742
944
696
524
928
59
587
947
322
233
890
348
679
446
70
195
630
975
766
618
552
859
68
677
190
744
374
594
67
623
751
338
471
951
662
651
141
406
677
400
303
876
281
122
722
135
848
416
68
950
848
629
423
104
745
624
876
396
22
780
657
713
799
161
430
712
258
621
458
448
474
300
884
437
348
52
318
672
730
984
661
888
629
785
696
332
930
638
625
978
500
538
690
886
479
782
973
881
767
344
307
564
62
992
666
178
646
675
631
632
42
836
250
926
373
840
581
561
19
332
401
437
176
94
69
295
561
593
51
195
247
735
789
984
243
922
889
293
184
796
244
112
863
193
614
281
156
361
240
562
701
665
727
911
221
863
348
72
422
435
895
418
624
466
936
433
666
311
823
34
558
732
392
510
621
552
758
555
669
327
662
202
737
133
871
829
568
10
458
370
476
427
452
259
953
629
738
334
573
227
408
275
296
657
631
689
243
103
668
814
271
877
911
504
385
40
418
116
169
905
896
473
978
285
366
620
847
13
895
133
215
623
168
468
233
659
356
104
675
979
489
49
726
906
109
603
305
576
549
951
475
486
270
130
474
305
128
403
59
946
84
405
299
48
275
431
602
506
842
319
407
165
454
371
264
27
880
299
836
21
280
59
445
511
791
889
525
186
867
16
179
981
124
26
285
896
253
656
112
825
626
375
787
796
727
683
415
274
403
510
27
636
356
134
85
496
666
264
646
327
96
90
365
524
237
251
283
453
854
86
156
189
964
690
667
763
332
154
415
154
578
354
342
992
174
329
47
955
571
76
830
901
44
724
628
768
366
735
592
892
445
309
251
715
553
69
269
176
310
756
762
723
677
170
530
723
841
72
777
907
875
208
883
408
772
87
620
891
340
953
228
999
461
75
82
398
387
159
117
503
306
641
944
19
721
656
222
596
983
875
860
934
600
306
268
80
108
496
70
224
506
277
197
647
502
32
556
737
952
358
833
381
779
671
467
213
274
217
220
838
809
851
251
742
154
595
168
466
159
289
704
930
736
827
568
335
730
350
545
98
467
863
438
558
983
957
334
993
224
475
469
349
487
70
780
73
418
745
808
365
710
616
413
257
525
532
479
142
398
673
976
257
228
789
817
473
687
86
357
822
597
888
788
329
322
849
375
263
610
481
425
865
590
7
4
606
792
307
349
205
263
858
740
848
948
10
160
145
461
881
353
265
751
617
131
305
655
862
945
347
943
670
785
207
496
806
150
873
784
186
916
323
721
27
851
721
911
5
25
480
213
378
974
700
483
273
96
368
276
737
809
148
841
335
574
127
628
719
436
949
514
460
555
495
794
895
828
855
657
502
233
123
283
333
397
131
527
31
53
75
268
859
612
805
490
788
427
886
872
711
175
90
154
672
233
447
94
644
932
855
166
555
747
756
869
802
18
182
288
510
60
251
483
707
988
943
733
160
151
570
442
326
630
951
868
65
652
75
564
121
913
959
224
447
326
905
738
26
274
29
837
857
288
22
981
149
180
373
879
521
379
139
436
993
225
876
444
848
949
887
669
151
854
789
781
736
425
992
47
603
139
686
879
740
901
706
403
179
750
416
892
75
40
405
533
30
840
270
577
488
589
793
296
958
906
316
45
801
59
333
880
198
816
771
864
144
875
455
816
655
536
822
909
555
861
225
54
103
339
261
95
441
36
124
159
741
992
149
556
540
277
435
767
571
592
228
39
543
877
912
824
578
417
692
782
659
55
901
865
7
965
651
378
917
970
299
532
585
776
44
899
561
272
423
968
600
219
925
807
365
486
902
92
853
822
371
65
846
973
865
642
927
911
128
656
267
610
972
610
528
318
904
73
446
430
457
451
926
662
999
957
265
780
736
486
888
424
253
380
848
243
389
402
742
118
855
265
502
412
460
168
585
997
105
12
575
806
338
338
30
839
646
28
116
36
438
943
527
784
934
111
227
544
614
648
245
162
732
361
494
277
546
401
993
590
799
895
203
101
367
491
561
597
480
54
132
139
396
645
661
332
879
376
183
746
591
995
677
595
921
260
488
459
390
749
362
575
444
611
906
792
928
40
888
248
254
984
838
792
701
660
840
961
345
557
421
552
283
654
284
125
151
657
10
841
60
484
757
307
258
1
17
916
702
657
394
790
609
837
381
223
826
665
97
397
614
776
406
662
370
447
451
155
48
195
786
390
326
316
822
956
549
480
116
529
349
171
389
140
828
193
984
108
291
146
803
338
241
577
669
869
990
818
166
523
925
23
999
523
686
495
479
576
541
896
869
255
520
936
542
472
856
191
896
992
738
39
436
314
972
535
110
582
492
677
37
277
868
540
136
86
482
460
72
489
329
34
525
246
830
168
524
524
422
355
883
841
191
663
764
191
866
764
744
362
295
492
688
237
695
686
290
670
912
971
321
5
51
505
947
455
764
704
988
541
228
935
361
22
118
840
870
43
117
620
952
307
418
650
48
204
529
725
89
476
431
420
282
514
902
62
840
487
877
700
164
13
887
682
63
396
558
519
580
931
135
888
852
988
665
761
427
173
749
91
722
568
18
465
514
861
35
863
453
155
654
645
620
361
602
777
578
991
829
992
151
728
942
866
545
866
777
237
715
788
964
615
305
52
481
289
34
823
836
140
509
112
536
675
469
782
818
465
571
770
572
721
712
938
190
434
115
852
52
36
865
277
397
174
138
568
262
446
325
441
6
100
402
21
310
146
262
656
923
739
722
822
83
38
312
639
649
799
597
331
108
812
438
25
118
519
582
674
959
968
996
876
699
434
596
63
480
652
289
25
758
958
432
549
598
517
527
673
629
832
835
484
410
875
844
202
929
783
877
94
712
59
26
527
264
803
908
632
129
87
600
951
630
204
909
701
270
565
120
892
630
351
545
601
89
397
436
88
939
580
916
343
548
296
987
765
564
354
137
833
429
783
686
719
646
536
916
50
559
989
163
373
172
410
191
224
267
14
299
414
66
301
101
508
743
930
979
233
505
925
774
280
257
588
230
953
283
678
135
43
979
267
834
78
269
948
451
913
495
693
501
844
501
792
628
526
380
645
555
69
341
754
40
907
269
536
437
429
800
595
42
380
329
806
169
924
844
493
351
784
614
615
622
413
624
766
977
612
419
484
752
273
933
77
625
401
507
702
320
638
867
435
534
624
839
694
323
413
276
12
705
656
12
672
472
72
996
195
188
312
948
418
800
831
55
419
956
998
972
795
226
294
925
676
338
810
633
691
308
993
996
705
258
990
951
289
49
200
567
963
533
551
236
910
128
366
19
593
684
973
242
701
453
910
660
459
33
703
284
732
251
465
285
764
615
601
940
918
759
653
843
629
638
207
62
634
548
870
294
246
568
772
630
209
128
333
746
810
153
476
53
982
217
693
948
328
169
421
522
781
521
128
396
475
875
9
820
322
18
681
138
865
590
808
164
801
298
876
859
854
892
742
566
200
141
521
505
825
428
646
510
875
59
831
153
245
666
997
173
732
714
36
663
674
81
721
377
98
547
407
70
446
263
188
959
725
679
427
670
903
676
62
100
601
556
351
779
23
284
807
574
263
195
689
951
460
598
878
970
480
140
502
846
540
898
750
169
818
829
31
839
113
632
618
317
820
758
80
806
359
1
779
772
629
212
549
711
261
803
178
735
636
330
844
0
216
274
874
622
277
373
472
435
434
416
803
328
89
431
944
502
444
418
225
543
286
758
313
445
697
893
423
276
46
42
854
866
16
286
918
601
377
452
601
105
586
597
141
463
946
515
634
717
52
289
667
924
495
716
816
960
821
921
362
189
136
348
318
81
570
951
992
915
850
617
971
46
331
127
307
891
656
491
571
85
237
835
196
73
335
887
646
435
90
619
658
35
771
815
796
427
907
843
49
751
967
616
176
787
627
105
611
942
603
451
619
950
197
777
334
966
405
768
844
705
474
221
60
136
854
326
947
85
88
543
351
424
20
168
412
178
967
581
42
698
633
868
84
531
182
636
424
151
297
442
543
318
420
644
501
508
864
329
560
199
917
940
598
734
116
11
970
687
235
310
825
588
903
319
837
60
95
607
180
304
728
759
570
476
696
252
833
582
475
819
92
292
628
59
757
895
779
896
421
565
19
749
541
628
43
385
88
404
250
345
207
97
331
348
835
54
472
104
873
495
171
902
482
458
336
613
547
789
658
392
590
292
575
730
650
148
331
385
301
3
199
535
180
903
769
909
282
579
970
781
547
125
974
959
632
230
917
218
464
51
200
166
279
95
401
655
521
89
166
457
367
61
512
180
32
309
636
82
290
379
298
413
125
441
222
522
492
298
833
504
823
404
191
115
860
666
305
740
365
251
420
144
684
783
685
388
302
776
209
228
452
907
788
444
264
91
505
762
351
13
67
109
328
392
737
55
202
642
709
215
334
881
234
252
381
569
63
258
602
503
686
821
375
11
660
608
290
910
263
967
70
711
174
87
222
482
656
320
184
33
93
542
121
495
588
828
727
66
954
873
893
416
691
65
485
270
992
702
635
600
26
505
702
122
637
851
175
298
437
729
51
99
258
487
477
462
461
177
549
841
193
273
75
779
130
658
127
197
74
766
26
830
614
34
744
604
68
422
691
802
619
77
861
250
550
943
808
595
501
697
725
417
702
379
589
75
106
491
376
128
110
956
614
456
429
537
680
896
382
581
416
537
571
744
614
213
350
4
286
998
72
637
925
607
137
426
922
132
442
497
137
313
387
308
201
900
951
679
857
737
470
229
679
408
227
91
531
354
135
133
496
873
506
52
287
524
646
698
931
743
51
131
785
745
886
663
777
350
824
87
324
715
649
299
333
561
848
429
69
123
500
972
17
692
120
89
653
799
499
66
890
309
143
248
67
710
597
101
945
653
146
606
297
364
119
954
751
397
7
805
925
18
998
855
320
247
768
641
947
282
227
82
159
287
114
152
950
893
930
312
753
386
691
776
518
924
282
714
835
559
284
980
10
862
313
781
983
507
155
573
4
52
824
546
547
139
166
30
626
466
999
709
230
292
972
796
739
355
59
458
847
932
175
704
700
421
309
574
668
930
437
439
557
324
493
23
647
607
701
858
459
978
775
590
145
277
708
841
229
219
810
107
731
130
594
261
436
876
978
667
708
929
563
259
0
863
981
724
699
839
47
120
140
498
706
90
774
631
35
418
506
529
841
435
921
443
553
591
356
944
321
245
560
604
276
25
641
938
998
169
696
199
672
363
134
332
470
923
434
948
711
907
243
176
766
517
781
388
527
666
243
894
183
940
801
900
521
940
640
780
234
137
163
80
837
551
348
757
318
547
498
213
777
953
395
897
842
753
901
692
155
746
884
796
440
793
815
906
731
582
273
790
300
510
614
567
235
474
51
269
747
512
321
948
42
299
26
227
732
108
375
911
713
918
271
408
461
867
992
946
355
748
1
49
661
750
821
153
36
539
746
811
736
41
886
226
551
26
654
23
32
818
638
568
777
826
628
284
643
526
402
6
716
929
199
63
94
542
837
315
635
283
5
437
333
718
819
319
537
82
681
588
18
178
21
585
895
328
65
811
952
768
309
690
601
386
821
354
40
363
226
763
836
876
893
108
229
319
187
804
289
798
211
563
292
392
392
209
276
233
357
312
179
353
184
518
177
715
683
952
118
18
57
671
269
252
273
267
812
788
374
48
114
652
319
90
949
311
64
686
267
441
927
305
339
678
188
326
690
341
297
442
666
772
916
648
471
370
952
171
203
680
749
568
834
227
855
690
508
425
440
701
498
814
499
397
815
89
564
963
382
981
770
479
394
958
675
178
378
405
275
450
807
804
245
980
803
358
426
859
125
711
265
471
388
108
64
954
379
60
145
733
669
669
398
418
450
109
449
537
600
932
193
762
468
905
583
641
627
277
572
251
934
442
900
990
657
984
354
161
983
692
961
877
202
509
941
313
124
880
907
232
250
306
817
58
731
21
139
106
713
939
235
111
662
314
208
247
390
404
462
906
649
522
932
639
604
432
637
401
47
929
376
705
277
667
652
169
567
57
911
37
771
489
880
485
613
740
576
615
7
675
95
263
159
371
858
159
540
390
921
653
731
257
717
275
748
810
422
313
925
525
48
381
818
129
934
999
69
669
716
884
545
540
272
494
877
609
115
998
261
209
722
252
39
726
251
7
137
628
157
944
10
836
76
911
682
990
820
342
859
555
930
309
780
307
378
740
487
516
900
879
370
262
765
446
604
298
268
69
353
213
289
91
544
467
599
76
924
648
45
191
869
626
139
558
348
913
393
698
863
323
393
661
859
616
618
917
50
590
803
574
418
975
100
628
27
318
444
742
641
794
539
508
911
410
718
484
124
144
873
73
458
242
537
10
221
409
555
576
716
592
586
610
886
226
372
372
386
16
166
634
166
394
580
706
902
961
335
15
932
396
885
554
702
33
788
238
307
991
95
354
561
373
154
284
875
614
744
802
555
500
940
345
516
372
551
882
27
449
135
40
778
820
181
701
634
845
462
137
476
245
881
803
183
588
611
90
711
78
178
90
842
229
989
218
37
314
260
107
245
420
46
27
358
27
547
0
927
46
541
629
186
235
728
289
948
7
309
242
32
59
598
415
754
907
476
92
225
868
907
982
117
186
899
233
744
112
948
317
491
755
144
710
763
569
559
925
465
471
310
314
697
72
172
652
261
546
349
112
970
429
76
866
947
2
44
511
740
341
494
462
98
882
57
644
667
691
776
744
964
511
236
106
490
352
318
555
312
152
91
78
481
587
272
883
492
318
350
432
986
256
917
37
23
835
633
154
960
259
134
980
378
184
780
811
68
207
343
154
839
416
712
951
598
397
904
433
870
257
134
265
133
216
224
978
600
314
252
266
344
776
205
582
390
153
68
692
260
36
876
17
241
162
103
338
309
780
360
604
964
606
508
265
504
530
68
42
637
353
247
106
800
874
469
632
753
279
240
238
185
385
789
906
635
801
820
537
33
263
279
875
868
11
309
696
180
738
697
910
591
648
323
765
6
827
222
219
58
549
383
345
910
841
107
378
31
705
12
558
892
109
466
492
165
74
193
37
238
591
397
375
767
147
996
216
648
661
569
778
618
585
248
394
83
837
201
565
668
501
368
554
881
726
164
569
487
362
455
314
461
95
598
671
84
177
53
511
446
992
727
332
513
517
192
446
351
487
886
971
436
54
466
87
238
306
701
635
394
500
658
416
924
903
336
741
810
676
658
617
856
790
145
513
866
854
651
194
736
956
774
957
74
38
926
566
681
731
341
725
528
707
498
716
983
319
90
961
548
817
863
379
746
164
967
933
661
275
844
967
102
459
471
106
454
103
695
550
475
908
655
52
747
572
568
645
72
891
202
688
18
481
839
624
846
254
321
754
811
72
826
878
110
673
363
410
537
356
256
478
149
302
462
584
691
614
403
89
772
346
541
398
469
12
422
732
385
589
701
999
964
656
490
608
638
156
457
382
631
185
694
530
204
495
156
820
953
955
951
755
13
90
422
220
519
768
467
445
531
366
382
631
764
248
93
555
189
53
176
39
579
525
480
539
994
872
856
562
648
46
526
621
737
55
910
299
621
649
636
517
624
824
599
557
74
555
720
761
725
499
885
163
706
551
566
292
99
366
997
938
403
111
162
3
591
204
768
343
376
308
227
998
450
213
313
956
945
632
470
100
35
458
931
961
64
757
515
904
113
232
262
451
977
831
648
745
641
9
578
583
716
359
927
83
761
706
830
941
744
617
371
112
92
105
371
82
98
413
176
180
626
819
601
121
324
469
806
570
976
870
253
345
927
38
887
392
127
315
103
160
850
266
605
705
214
369
921
915
724
395
782
144
169
362
25
770
170
985
646
711
216
619
9
180
120
469
415
854
555
1
781
183
44
708
613
629
143
670
639
441
809
745
795
807
65
413
98
118
59
12
630
794
340
879
664
168
93
467
488
303
309
9
552
587
65
518
958
888
49
807
822
617
55
756
508
960
996
254
524
63
974
380
673
38
797
728
473
40
843
650
226
134
492
426
333
434
986
401
947
819
318
158
549
154
491
161
610
224
494
637
437
250
618
651
123
73
802
851
224
68
277
348
287
158
185
556
355
118
456
222
368
294
504
621
480
817
0
903
937
234
418
424
161
401
96
181
433
428
990
434
153
337
174
925
395
508
666
983
892
350
117
184
512
480
202
526
704
822
846
30
592
113
646
573
61
137
796
596
351
598
790
167
367
529
507
147
926
653
840
131
125
450
101
810
918
863
515
304
932
619
930
566
229
811
671
441
597
62
391
33
626
429
4
731
276
637
826
479
275
447
673
873
12
719
193
22
218
851
604
331
227
323
210
891
192
80
237
513
416
750
6
571
52
6
220
351
751
9
817
179
845
314
557
131
625
402
59
587
516
794
341
383
111
444
491
291
150
423
223
938
11
594
819
951
910
467
838
447
93
617
419
806
319
66
403
135
861
484
514
164
174
525
389
82
886
734
95
166
182
490
438
159
827
710
264
459
959
229
206
129
24
325
32
681
674
993
984
632
285
383
708
974
162
377
584
39
683
148
946
996
372
895
167
221
413
903
387
816
582
721
932
142
757
273
154
276
31
620
406
265
315
283
266
879
518
475
796
16
430
116
124
972
669
686
387
235
736
153
214
175
964
931
790
468
135
542
842
990
572
69
190
152
353
298
527
555
214
276
541
91
309
668
454
850
53
665
793
964
80
464
203
153
976
689
141
227
396
334
256
367
113
731
967
511
767
566
876
569
761
683
173
68
699
295
17
843
208
325
114
502
747
334
630
830
895
2
183
51
366
871
236
927
714
5
785
448
316
121
619
448
734
684
847
889
189
822
805
785
724
217
573
7
362
891
813
227
954
2
220
962
403
878
355
146
741
528
768
436
249
952
575
926
725
519
111
513
364
802
152
189
666
427
930
223
947
292
194
107
438
687
940
885
333
925
671
959
996
282
200
263
818
441
960
697
919
860
649
657
78
891
319
202
261
278
265
976
249
297
868
805
553
144
44
122
348
880
505
954
304
118
360
532
796
402
958
305
935
906
449
928
53
680
143
151
853
593
40
884
214
629
258
180
805
584
231
225
635
412
751
45
877
790
893
649
768
569
757
389
344
887
629
953
73
128
156
876
109
594
182
723
164
303
898
169
150
607
219
473
677
274
925
624
691
646
615
272
91
5
829
848
929
949
316
921
39
880
580
432
979
957
287
178
9
32
678
431
62
165
522
746
646
365
829
147
711
292
703
230
74
963
392
532
4
488
631
31
222
677
328
466
647
276
736
235
530
301
293
9
795
615
243
166
672
284
877
634
183
681
57
652
427
501
456
3
205
858
952
834
731
127
199
419
155
948
277
91
21
201
419
793
856
483
344
485
146
835
249
519
850
38
933
222
737
353
800
751
692
503
129
726
491
325
393
657
37
953
955
712
418
990
421
851
952
199
741
156
156
527
231
449
214
662
181
716
225
187
203
598
388
24
351
631
712
971
811
465
769
559
908
961
627
566
22
377
348
424
925
267
584
751
588
708
373
215
453
832
9
810
59
633
482
127
900
785
455
532
941
645
945
847
214
666
715
32
791
871
281
662
340
585
591
797
751
680
111
575
869
848
87
958
82
560
363
792
283
199
278
61
221
401
380
565
962
239
70
995
448
10
410
140
651
64
142
716
526
467
757
322
694
462
98
242
506
800
589
424
200
346
924
943
80
222
394
665
33
232
848
481
6
777
603
213
521
397
243
896
354
185
356
658
947
586
820
322
205
462
158
699
789
708
383
171
838
995
285
581
597
811
951
474
690
147
129
984
42
854
844
110
835
361
53
412
368
269
703
155
634
70
40
678
459
449
299
508
488
357
925
416
492
974
87
565
193
717
299
594
462
332
763
397
239
365
803
593
999
937
583
34
707
844
990
284
932
523
793
741
691
567
601
686
428
673
214
46
122
54
654
886
534
921
727
829
251
742
456
663
701
8
232
986
219
368
393
679
122
887
816
70
651
276
413
808
809
190
473
866
375
521
531
740
220
491
808
658
419
253
656
140
395
260
602
384
213
629
493
762
989
450
278
376
743
898
579
994
357
298
320
462
922
264
353
961
613
519
388
576
201
546
828
54
904
205
162
823
168
493
73
675
863
902
522
8
660
356
737
600
988
308
586
422
39
85
740
395
985
822
319
914
836
903
92
519
270
570
507
389
911
821
820
404
966
459
531
913
380
452
890
461
355
124
572
598
851
165
191
880
434
158
968
588
298
318
901
727
814
663
731
300
213
806
340
454
492
165
616
691
57
202
992
929
602
714
555
350
394
284
103
234
92
17
203
856
116
997
985
456
46
731
876
630
863
772
279
626
336
817
790
189
389
529
646
63
64
179
911
781
285
323
634
942
122
553
699
537
782
691
463
121
738
352
826
812
320
147
998
805
731
18
983
316
259
538
140
89
932
552
930
611
705
2
121
865
21
648
807
47
528
709
965
741
457
557
859
612
802
769
220
699
81
179
338
576
884
356
88
26
522
228
806
948
773
229
602
794
708
678
899
260
273
279
177
411
501
997
569
770
796
271
870
754
399
733
502
431
498
632
61
288
272
372
937
75
604
326
657
312
867
360
173
355
904
576
247
397
862
0
996
641
698
753
750
808
846
325
326
71
221
473
291
15
731
906
946
78
20
301
302
714
494
439
810
747
552
851
965
579
281
414
843
687
688
95
585
508
476
937
868
32
786
846
408
56
912
813
25
98
740
911
152
988
846
594
408
629
78
634
33
791
154
512
306
776
814
570
635
868
576
432
712
44
757
527
276
743
330
722
456
155
221
203
317
407
540
231
548
328
542
974
964
629
631
627
356
744
649
372
705
909
761
560
40
616
996
762
618
567
481
508
642
379
558
405
439
213
503
625
77
698
816
729
243
869
492
502
795
646
24
292
265
211
288
612
403
890
272
701
652
10
529
379
758
38
149
715
564
77
102
918
730
540
969
902
749
473
545
577
287
370
917
559
450
339
311
970
629
598
997
2
823
132
252
365
822
767
20
154
756
67
764
236
970
486
341
599
595
490
412
710
495
953
996
611
122
822
474
225
388
492
847
267
387
255
225
233
676
717
841
424
961
656
832
487
744
282
783
993
175
82
905
899
955
415
472
216
583
134
991
993
796
639
768
357
570
966
222
194
329
892
781
640
323
324
666
92
916
995
55
532
168
949
269
508
524
258
623
606
445
982
977
715
732
403
484
609
266
462
998
535
71
356
668
933
305
768
20
827
246
224
963
453
724
799
125
593
77
810
243
223
605
662
362
447
531
25
373
538
827
291
932
240
923
305
205
797
475
424
25
342
480
911
707
865
282
448
580
123
244
205
651
558
649
171
556
408
699
741
923
314
632
498
787
39
257
505
361
322
516
542
324
626
866
247
726
790
473
505
274
855
254
743
121
755
219
173
111
440
7
769
612
811
229
235
38
125
89
927
270
841
187
138
306
296
10
320
519
975
636
379
961
463
820
541
756
746
167
532
819
854
782
619
314
616
55
915
246
859
564
221
300
740
885
259
282
672
357
633
106
841
230
743
722
721
820
719
749
451
53
639
847
139
153
994
818
523
523
599
447
623
491
334
389
429
700
506
53
529
886
662
419
988
245
873
742
101
80
2
942
353
434
285
418
29
856
982
475
980
347
975
505
68
804
323
425
939
66
143
261
530
635
489
402
533
918
41
18
729
251
981
243
973
666
656
836
185
294
265
154
167
948
887
162
791
110
127
822
850
259
165
22
259
914
580
541
402
223
884
562
383
917
10
805
797
15
970
713
97
903
631
563
622
910
148
560
543
647
767
871
758
360
918
238
14
823
59
644
705
676
316
267
104
590
495
121
278
799
176
752
104
573
696
431
974
757
606
780
699
807
237
50
561
389
355
209
2
234
743
18
174
484
518
354
962
248
714
332
13
925
156
615
408
98
466
465
57
989
116
928
408
616
989
44
148
825
183
452
339
438
798
228
755
601
396
366
170
300
697
957
353
498
680
155
390
254
399
547
932
858
810
423
776
300
604
3
368
563
771
933
872
517
822
774
243
652
459
300
29
144
356
146
576
289
367
818
634
579
939
274
911
780
357
426
293
762
283
249
400
991
43
362
725
682
769
779
560
954
671
274
892
887
519
654
770
908
928
926
255
234
660
612
767
925
460
392
366
973
139
62
366
737
454
425
281
914
186
614
474
379
591
269
282
764
724
210
900
541
770
634
70
971
818
795
82
720
653
649
246
552
509
607
478
113
290
638
512
965
825
455
94
264
637
482
34
657
93
782
94
593
480
540
346
851
898
235
474
536
962
289
426
811
694
217
525
898
538
45
965
944
69
750
1
679
186
567
387
844
754
921
863
105
761
647
84
351
905
796
29
124
193
118
427
152
256
345
776
499
337
355
985
580
952
67
309
73
388
657
490
908
760
342
555
95
935
182
729
997
519
278
152
960
512
317
357
698
382
364
971
696
743
110
223
175
544
588
188
152
964
228
99
177
650
216
168
824
760
68
19
339
821
516
746
971
359
679
417
888
991
526
54
851
391
356
66
274
842
104
548
826
692
853
833
23
613
837
806
276
740
359
392
308
304
153
339
904
598
681
623
226
366
92
205
222
505
159
794
840
606
131
237
74
63
376
711
84
978
677
195
663
310
486
245
522
420
256
715
387
675
150
378
588
777
327
105
178
753
1
537
931
9
874
390
729
787
815
810
181
133
425
563
83
288
945
815
895
512
602
434
144
837
383
883
117
132
847
189
111
434
930
788
734
557
187
267
579
490
301
420
949
310
519
583
717
335
531
535
64
33
693
909
876
479
195
251
990
468
825
484
631
11
981
386
66
198
622
95
22
878
645
327
286
124
33
21
667
697
248
125
875
735
375
960
438
391
367
223
463
282
400
556
62
665
982
696
282
896
744
745
386
483
313
530
176
147
683
963
593
261
82
325
376
758
215
791
630
873
376
379
874
174
923
768
743
43
972
468
77
186
776
973
750
843
402
548
788
617
869
509
229
68
953
315
616
586
745
696
108
19
829
307
243
434
62
473
205
249
519
767
991
484
903
985
176
625
549
112
800
168
866
110
903
439
500
929
537
692
701
53
227
187
350
800
416
555
485
32
490
282
355
238
206
575
613
462
385
915
163
197
221
377
636
397
680
931
679
719
324
794
805
319
661
443
457
928
932
970
135
120
560
344
710
500
137
677
383
77
875
84
857
8
591
571
626
792
469
183
54
907
793
346
321
591
473
792
387
667
696
597
543
919
545
22
228
687
97
415
664
445
330
581
324
699
580
364
993
412
652
26
716
309
831
380
974
51
189
191
651
543
29
241
971
346
373
981
691
164
275
590
42
480
626
473
676
385
751
299
994
109
777
750
11
776
505
200
461
581
614
297
202
661
250
443
949
327
550
189
851
69
694
695
547
531
1
456
574
30
12
487
778
548
635
447
56
106
538
390
127
672
969
524
810
378
620
18
847
995
647
214
25
73
522
213
695
602
891
872
378
819
541
435
608
100
438
476
201
430
515
124
590
281
535
194
917
68
257
485
818
625
253
460
456
88
677
559
410
400
274
948
593
741
778
149
248
40
215
25
197
2
895
550
12
29
434
701
969
435
79
681
332
832
748
539
747
711
678
606
320
243
922
513
603
438
903
898
530
165
162
928
50
476
763
621
614
688
225
730
684
164
466
841
456
605
99
791
325
138
143
273
652
676
239
948
7
605
142
651
9
882
106
547
540
477
229
978
484
999
336
130
518
964
205
830
391
333
552
61
336
808
282
266
844
518
332
491
980
775
474
940
448
745
718
819
462
682
311
702
424
357
187
335
681
262
263
749
335
401
427
325
758
165
695
906
977
984
193
131
82
607
482
204
68
734
263
754
510
942
340
352
283
34
137
715
539
972
384
935
28
10
892
52
872
667
215
285
456
897
247
920
648
352
357
965
412
781
804
678
789
836
712
524
61
630
562
986
756
881
560
28
151
944
128
35
164
951
836
379
640
777
874
21
260
963
66
661
287
829
852
346
38
494
599
12
113
385
626
997
175
599
704
905
434
814
428
843
136
373
680
529
151
709
765
16
271
529
987
449
856
603
262
212
657
56
556
977
593
150
409
857
826
446
464
414
630
426
750
54
581
308
429
988
18
649
802
134
895
569
912
927
705
81
128
524
245
791
355
480
194
157
610
368
108
733
821
280
318
391
38
832
669
429
544
52
775
217
309
381
482
363
928
204
775
969
543
84
9
512
898
385
414
315
355
977
51
284
800
729
968
794
599
206
491
536
925
483
728
199
496
103
170
820
415
818
951
158
527
890
649
325
619
540
955
745
550
284
452
349
28
49
305
652
815
709
547
765
805
335
480
952
939
555
992
898
685
196
986
127
3
898
18
690
832
421
690
29
902
445
601
330
720
931
244
930
744
882
474
758
786
960
544
379
968
271
259
474
283
250
219
745
423
284
225
245
626
531
426
363
757
215
844
97
907
717
236
414
464
954
585
509
513
740
737
193
245
914
448
823
847
907
994
806
819
261
584
116
161
272
751
904
35
354
540
259
519
769
795
34
852
430
112
77
135
129
727
489
325
303
897
678
884
392
626
567
662
312
874
105
564
165
10
156
77
991
996
216
555
976
675
223
707
27
472
212
878
601
116
406
730
446
34
833
469
125
39
262
992
623
624
969
494
762
458
390
938
647
195
976
833
13
998
806
337
526
272
51
811
20
396
672
140
721
732
465
871
674
116
277
13
893
256
831
100
216
549
5
385
878
136
344
597
39
459
763
243
430
550
773
103
46
296
998
434
828
524
753
466
352
59
602
161
153
624
12
304
156
909
553
264
857
919
955
479
677
735
636
694
792
865
531
610
829
736
746
745
246
703
695
704
762
308
251
996
96
678
810
648
829
468
726
465
728
391
107
504
856
778
642
34
825
198
332
619
725
91
437
291
99
901
501
518
552
220
459
313
608
542
901
841
865
605
486
0
73
216
620
915
138
200
924
304
77
440
822
453
525
615
225
676
467
536
708
480
55
764
487
205
693
196
233
389
178
296
562
23
267
867
994
252
78
150
842
375
549
969
312
111
470
422
16
363
35
570
31
998
279
291
782
898
518
203
842
152
335
28
880
792
811
686
297
186
501
559
51
643
36
132
884
149
930
499
809
377
558
101
663
954
191
354
465
644
357
490
735
911
975
244
243
773
200
931
698
420
248
180
899
230
517
20
426
793
676
346
317
289
714
189
402
439
116
230
55
363
575
582
565
344
840
180
435
205
127
701
21
465
872
578
205
165
692
704
994
763
36
438
628
162
857
970
710
453
862
677
772
569
69
291
674
27
530
58
657
197
466
768
564
193
494
822
144
573
563
901
299
429
597
31
732
872
569
337
839
52
756
842
905
685
808
563
804
592
29
773
436
610
311
307
84
312
116
220
53
796
219
471
931
153
442
99
165
522
907
848
255
928
723
421
947
180
492
850
514
505
122
801
703
44
554
183
767
162
290
289
949
260
12
190
53
598
606
266
917
523
339
558
621
891
879
877
883
36
361
238
156
83
567
868
676
578
602
65
330
207
509
83
176
684
360
405
265
54
556
756
547
57
264
85
78
743
764
848
78
679
839
502
427
668
368
594
60
988
390
416
119
844
37
395
120
542
518
480
956
412
408
532
7
865
95
248
309
573
19
421
205
616
969
268
909
964
370
797
501
516
489
301
446
148
315
976
815
741
942
534
255
129
773
329
60
213
653
382
863
994
667
249
237
275
459
295
300
660
685
72
465
321
679
547
895
864
192
760
315
262
895
837
165
72
799
843
592
359
616
607
323
170
414
413
836
565
297
199
125
601
691
591
705
868
567
550
423
741
225
162
202
132
788
814
306
968
368
933
387
412
322
956
575
298
635
362
934
978
558
657
693
102
957
576
36
113
452
723
639
757
78
307
699
240
828
464
756
825
952
366
788
980
114
254
774
376
250
992
36
187
724
654
914
491
332
392
556
805
684
150
769
261
89
824
541
185
496
405
169
763
641
498
772
327
854
964
509
303
988
742
677
930
651
115
424
369
142
719
903
717
23
863
73
989
732
873
825
967
481
802
487
26
149
624
577
716
584
364
828
205
939
139
558
48
409
673
77
921
326
220
336
843
990
114
14
398
27
360
617
892
672
851
703
903
598
40
470
868
642
827
122
479
590
544
364
973
771
234
10
598
300
155
947
285
280
85
407
216
815
166
179
709
466
298
99
855
831
76
400
859
896
675
830
829
59
537
769
729
161
836
389
854
858
695
234
479
678
497
738
707
317
786
973
718
213
318
490
269
549
456
475
302
456
871
338
428
262
955
123
444
942
48
296
666
854
18
359
209
569
434
790
754
739
184
524
890
932
29
58
874
199
670
595
756
322
340
740
403
105
215
210
173
181
325
753
215
633
831
564
543
959
442
745
592
287
62
522
204
999
136
748
189
376
738
173
973
947
317
893
102
330
197
311
620
508
28
196
528
564
987
321
267
669
752
646
213
495
700
19
76
655
682
590
889
962
415
260
959
588
370
351
336
378
992
696
980
38
90
580
781
52
143
623
996
696
524
987
40
952
912
741
53
704
639
818
914
575
446
254
347
430
574
620
110
56
37
12
527
224
388
736
270
600
833
296
324
909
727
743
982
752
920
392
818
572
135
268
506
624
999
262
966
527
996
470
570
860
455
979
708
628
90
915
875
154
776
601
790
235
494
129
776
251
935
744
40
419
512
333
177
463
709
118
912
982
474
883
624
98
523
928
0
808
154
654
664
555
392
568
408
256
289
309
158
904
324
54
676
229
44
204
184
471
495
198
172
566
879
467
233
333
95
156
796
421
546
748
97
572
9
183
902
808
480
571
261
36
722
419
852
883
324
247
913
234
357
13
959
165
221
649
386
322
603
225
441
848
5
555
469
592
47
217
202
437
918
248
696
859
788
239
423
458
706
361
675
660
453
286
362
821
566
214
507
791
475
336
73
275
323
578
437
502
563
932
934
835
150
677
555
160
710
921
50
918
768
410
411
648
284
893
832
773
53
37
388
230
225
370
465
186
852
112
507
746
110
342
186
519
957
197
413
35
374
88
478
157
672
739
234
987
953
815
210
612
754
946
224
548
594
512
594
353
526
255
664
198
817
743
237
911
722
392
598
840
782
330
541
305
14
413
113
716
512
697
499
870
14
877
559
517
226
712
52
63
390
883
929
659
226
383
166
289
785
466
578
774
900
245
777
942
784
192
155
505
843
894
359
187
807
477
374
4
420
992
767
892
420
680
882
725
246
742
874
774
687
449
389
111
377
152
767
434
57
542
114
629
259
828
24
112
862
803
712
634
919
350
709
37
883
941
508
405
928
13
443
452
356
4
552
427
778
775
32
639
227
601
638
71
679
669
270
571
460
695
313
604
210
677
651
942
383
306
819
954
590
362
4
315
760
310
361
899
673
99
381
573
123
863
44
716
441
388
610
541
84
667
136
549
195
482
343
196
259
59
253
85
380
930
822
255
653
464
128
923
885
255
838
791
551
758
334
504
49
335
457
135
103
828
900
187
929
881
390
812
267
336
481
475
953
152
354
305
142
482
977
970
716
249
764
148
432
754
184
288
369
806
492
0
257
637
650
448
261
203
26
620
365
720
853
495
989
56
410
681
238
321
609
306
838
573
276
924
54
267
222
751
22
560
104
606
730
979
147
795
159
636
958
287
897
868
273
848
78
50
440
821
536
802
251
531
582
487
352
474
715
441
555
42
826
789
174
8
609
39
831
807
25
107
36
258
422
677
548
883
33
25
316
904
401
910
73
906
596
342
590
594
518
919
170
180
207
548
963
760
791
575
515
500
562
34
739
965
50
934
959
361
916
862
991
484
45
607
408
160
280
719
862
529
278
300
726
93
677
46
355
422
620
686
974
392
975
501
341
651
534
873
964
669
943
199
546
137
608
82
607
78
529
960
937
898
194
80
668
655
806
359
65
511
219
192
135
985
686
177
248
230
394
854
312
857
389
927
436
818
47
586
422
771
115
239
292
455
685
435
508
928
809
915
474
534
977
835
409
254
562
611
151
315
522
493
599
225
359
635
33
54
706
927
609
614
885
102
207
186
415
552
445
11
584
649
134
510
347
649
524
580
45
637
900
720
349
894
693
995
583
833
6
278
396
729
12
156
617
282
816
827
565
589
581
262
168
316
631
844
173
930
65
162
562
994
628
979
639
679
935
991
168
222
885
890
687
528
798
16
816
556
395
832
836
25
81
228
150
22
714
391
399
524
232
605
597
934
698
398
900
78
727
205
511
209
864
825
924
276
685
944
355
798
202
273
843
483
568
85
124
248
866
724
753
232
66
243
308
757
93
345
425
376
918
417
292
242
892
789
334
266
288
438
505
98
698
172
959
360
702
176
539
859
58
765
863
57
108
622
577
431
582
426
68
816
932
130
921
928
551
499
946
325
77
702
534
558
925
276
408
793
415
260
30
322
234
86
233
52
523
160
510
668
865
859
771
285
874
678
22
694
367
204
661
311
859
770
831
223
643
790
888
640
883
608
272
649
885
141
725
348
656
597
261
710
391
376
167
953
305
881
208
2
843
963
805
109
111
334
956
312
245
284
286
542
770
66
495
663
518
554
9
212
831
56
249
66
272
728
45
143
108
107
133
16
162
13
220
868
426
364
547
409
736
874
707
421
438
768
208
930
326
627
791
11
743
327
829
249
468
185
905
263
296
607
763
258
377
320
781
467
489
233
898
498
940
657
79
385
90
572
974
415
934
648
683
261
288
16
708
170
179
898
305
0
766
51
549
954
372
191
466
602
580
395
727
603
141
792
512
984
217
482
285
198
808
418
2
169
152
96
895
105
182
157
495
787
763
142
269
368
867
438
33
85
70
74
564
500
191
268
986
736
936
636
114
317
825
749
779
925
909
662
907
580
833
344
14
219
474
796
910
147
324
349
722
821
979
355
210
406
186
80
651
696
635
621
133
34
538
10
184
856
159
865
23
45
75
416
934
715
463
925
992
497
915
227
105
267
353
157
310
716
503
366
364
114
403
648
619
392
597
959
641
846
36
554
159
489
263
542
569
176
404
397
118
156
192
836
665
844
506
957
382
423
398
745
304
447
890
500
243
342
297
521
313
489
862
505
883
443
881
854
846
392
926
549
573
821
575
163
70
613
663
7
349
892
36
316
788
112
192
736
987
57
64
939
631
361
799
230
651
459
62
121
460
143
929
128
43
598
485
331
613
317
762
256
343
906
997
923
726
148
562
125
46
523
141
951
134
166
669
723
697
856
722
331
304
402
372
361
194
723
215
604
660
145
176
674
588
207
943
692
723
762
818
675
993
271
539
553
759
66
953
483
454
854
746
176
441
966
376
764
308
375
71
674
793
859
781
122
441
60
113
849
99
843
672
436
155
892
336
915
813
720
269
574
67
420
563
719
629
410
252
527
365
974
385
429
631
206
759
900
616
1
692
757
186
872
715
454
207
197
655
60
870
614
423
228
119
948
114
713
730
738
550
3
782
143
119
768
706
782
533
653
100
904
481
736
172
59
945
614
377
556
8
995
205
569
924
745
564
74
150
348
20
802
362
47
840
710
34
14
489
597
713
16
400
562
746
101
954
318
189
322
336
259
291
892
570
392
889
168
223
452
666
851
424
578
883
771
913
540
534
607
847
38
458
96
241
73
321
535
208
367
255
702
53
258
393
311
832
818
736
54
239
280
729
768
40
224
152
78
392
37
204
157
685
334
95
456
875
574
253
728
587
919
125
338
884
393
872
380
258
474
407
388
205
860
989
515
16
567
791
397
404
760
604
275
102
886
488
923
593
814
108
590
261
465
920
569
415
32
77
381
476
399
77
22
288
99
899
742
409
295
921
167
559
721
237
676
515
992
141
814
18
227
522
539
363
763
175
369
646
909
59
175
47
678
592
571
305
851
693
758
564
651
36
440
787
107
902
984
267
920
893
269
465
773
663
929
793
906
913
128
883
289
647
610
715
487
879
609
463
128
401
630
991
865
674
323
813
0
865
250
540
912
258
813
826
496
905
503
784
11
377
481
324
533
939
534
455
405
336
63
959
977
35
419
151
997
833
960
564
301
760
962
996
194
236
639
524
660
393
594
592
166
95
110
148
603
948
739
280
460
678
208
652
377
251
300
44
842
693
143
96
495
441
875
663
494
635
715
78
303
811
522
628
332
453
277
265
344
606
310
335
181
3
601
266
474
353
312
264
767
897
852
318
286
802
446
786
631
95
410
384
753
620
245
4
100
674
629
12
202
45
471
464
22
594
980
756
52
394
131
625
330
42
892
322
790
346
821
799
382
22
327
14
515
521
424
982
64
703
262
217
640
113
8
998
478
42
210
920
285
306
126
648
144
288
505
183
228
332
466
335
723
210
412
180
898
252
950
747
856
694
684
234
89
554
341
101
815
515
546
327
15
341
913
195
350
155
347
103
733
364
738
907
671
230
925
873
630
360
214
8
172
76
539
71
710
180
109
745
612
126
527
608
160
747
345
9
642
389
644
14
350
12
38
575
324
332
604
759
343
56
171
718
663
753
567
903
864
283
528
377
818
260
732
482
817
79
308
586
139
480
999
708
308
856
592
239
143
55
226
77
589
817
382
335
948
20
674
602
200
230
132
943
355
666
883
930
397
332
927
129
483
662
459
369
645
616
121
129
972
138
926
585
776
517
953
455
845
817
117
221
716
633
213
334
170
561
804
301
139
472
750
822
445
205
428
450
546
263
649
311
601
62
104
237
298
362
624
449
890
567
164
959
61
66
667
217
776
22
1
131
625
210
14
131
366
806
423
824
4
227
34
975
802
22
280
54
247
119
195
107
416
806
379
706
192
836
888
950
485
879
641
153
610
411
683
559
835
62
19
174
398
885
660
489
741
985
256
394
84
160
582
663
483
873
441
348
630
571
934
866
866
80
430
410
66
25
140
825
454
263
147
260
603
452
140
260
689
209
572
933
631
138
905
838
313
131
132
951
177
567
99
735
800
32
359
985
229
410
389
423
143
238
777
294
999
644
672
41
363
155
908
964
231
671
224
712
293
626
866
761
493
648
44
834
622
853
344
427
483
242
465
213
567
73
352
368
254
615
79
255
903
69
701
304
515
416
347
327
732
229
901
536
378
973
20
48
314
234
722
375
945
503
913
538
955
57
719
938
300
616
32
30
847
372
976
945
858
813
580
16
770
516
373
852
198
322
420
114
73
327
212
837
427
805
375
641
830
435
229
575
730
738
242
222
630
376
571
510
695
471
53
881
24
81
680
177
168
864
592
601
762
733
257
529
569
857
583
214
766
371
79
771
970
503
749
150
714
102
189
829
299
604
427
152
198
299
78
681
534
41
670
561
974
44
522
181
527
620
776
379
399
756
222
87
822
267
857
18
292
673
900
663
79
321
772
221
665
574
904
210
291
552
964
244
106
601
562
48
298
900
575
20
529
945
160
238
684
763
28
76
212
615
596
852
531
988
354
705
363
875
485
657
447
618
134
98
270
835
664
667
960
334
930
649
696
987
750
815
513
496
146
60
627
743
440
987
680
346
750
508
914
473
755
567
79
127
335
668
360
396
468
150
159
771
738
245
667
848
89
673
738
604
955
870
462
535
116
950
883
847
495
188
654
990
741
370
727
385
673
523
407
807
689
674
450
820
243
172
634
484
219
564
33
986
384
135
498
952
926
92
947
59
427
121
307
781
161
256
438
393
104
884
50
583
859
66
33
660
915
673
186
24
672
176
181
497
535
684
690
242
206
647
882
906
278
146
565
691
917
121
523
123
791
803
607
572
870
821
829
644
693
360
692
359
110
714
402
194
324
328
53
247
27
732
581
978
277
58
789
87
695
965
457
298
397
78
825
326
488
908
19
137
533
184
951
635
691
963
743
440
807
187
184
233
768
55
419
385
585
362
625
207
652
181
663
725
263
641
951
278
77
90
391
138
528
185
690
244
730
468
315
37
741
108
959
964
494
647
193
264
281
656
691
80
241
245
350
750
66
541
581
257
546
594
798
612
803
866
184
457
163
907
394
505
173
261
498
569
75
421
839
814
700
743
124
865
209
575
867
985
25
637
736
46
420
273
516
782
901
868
127
43
509
308
152
736
13
810
923
924
486
677
336
642
332
930
396
532
482
239
368
927
50
685
51
87
111
477
329
964
407
781
615
749
599
409
695
633
259
515
378
66
881
950
784
290
846
489
205
246
167
690
848
48
18
761
447
374
366
120
989
378
870
632
649
70
59
282
716
449
426
479
609
529
338
467
417
60
719
902
98
705
131
775
406
244
359
858
815
280
999
864
596
558
608
563
252
187
143
747
190
493
595
145
148
538
71
28
43
482
214
637
96
356
620
713
224
938
198
788
514
459
308
487
296
322
898
113
553
644
881
241
507
351
284
295
957
270
367
813
417
924
102
225
934
198
771
502
783
263
141
785
438
930
645
557
888
563
952
193
857
558
219
990
983
509
42
280
272
131
874
437
961
686
539
357
73
162
552
606
829
506
35
425
764
119
810
449
554
115
365
175
335
426
184
390
628
934
40
808
20
505
663
156
804
720
706
923
470
187
328
783
330
574
425
82
281
22
392
629
174
885
997
813
497
979
735
47
786
853
78
884
766
231
892
448
615
36
426
693
721
15
776
82
693
107
545
598
170
913
653
0
712
146
91
439
997
509
755
223
462
421
863
249
793
176
172
568
504
44
709
504
616
868
27
356
555
979
89
378
175
734
591
212
493
586
582
782
341
237
376
298
328
58
113
64
626
920
554
332
747
483
77
987
437
469
559
359
293
386
796
501
24
341
504
353
25
127
768
393
0
509
352
477
528
644
319
73
580
970
501
268
478
935
707
642
621
7
232
820
563
823
731
883
11
104
443
51
872
76
931
133
436
338
664
734
470
546
582
828
286
932
249
701
706
653
133
808
650
663
322
355
550
634
480
428
221
518
403
553
817
967
37
827
680
967
47
870
909
676
841
136
229
715
532
206
215
264
616
348
43
390
856
503
98
461
915
438
263
942
472
183
836
610
677
351
83
843
627
33
559
101
534
13
358
696
689
145
852
480
166
991
358
918
992
808
122
364
201
449
542
184
261
604
237
260
564
433
593
500
465
6
154
256
654
438
872
200
748
938
628
681
331
372
460
968
862
99
746
694
813
423
866
809
100
392
381
468
103
15
760
936
94
822
196
498
891
806
530
426
182
212
524
309
669
270
210
622
695
5
384
857
605
201
116
267
955
754
386
99
480
905
365
785
858
856
269
537
93
808
635
896
370
695
712
945
299
165
119
329
375
114
197
879
691
294
541
656
25
117
212
352
583
376
359
475
803
516
388
209
290
608
413
261
160
153
671
896
183
611
297
270
654
473
624
802
644
126
466
666
55
861
631
507
683
671
994
94
919
657
937
434
793
541
607
211
719
827
673
676
490
649
614
604
157
654
415
31
874
310
499
426
796
294
863
1
415
476
522
770
903
418
567
539
171
24
820
790
887
160
17
481
777
688
602
139
640
105
571
849
837
335
50
27
903
787
459
958
69
402
291
353
693
670
230
713
635
581
858
214
602
638
974
324
396
347
747
614
717
204
812
422
911
682
643
891
920
160
751
714
317
284
958
739
390
17
954
827
57
678
771
969
58
735
481
497
870
590
663
438
38
419
64
750
33
529
642
618
102
171
904
707
619
757
204
666
326
722
763
209
36
965
82
576
125
860
169
864
983
374
751
745
338
967
715
675
868
976
435
748
854
343
702
407
946
888
370
727
360
573
697
529
395
730
737
935
105
314
251
463
141
353
559
10
283
434
905
648
904
578
241
259
459
974
110
651
987
274
536
62
788
244
155
109
428
142
296
962
42
979
638
551
222
825
331
952
40
220
786
39
634
677
962
483
155
367
714
542
18
667
503
357
630
345
284
17
641
59
823
565
388
843
585
424
564
425
786
808
402
526
874
733
534
388
611
463
461
310
579
922
871
373
256
513
997
257
677
508
314
231
607
748
742
248
226
896
491
259
445
158
328
335
630
608
559
397
153
247
618
670
223
589
66
808
480
114
774
730
624
105
911
99
787
556
862
133
381
150
506
577
158
196
396
275
770
714
840
140
846
488
52
349
379
304
70
750
539
916
119
176
947
679
472
903
967
903
24
176
611
883
616
16
885
260
181
497
952
218
683
848
890
303
311
57
831
541
648
736
14
391
369
824
206
970
736
726
166
527
346
16
243
982
412
88
140
408
662
193
528
110
905
452
253
99
911
671
645
213
962
61
547
401
391
914
60
958
660
827
413
624
987
718
396
477
462
511
302
897
120
99
727
162
57
572
207
490
196
527
217
964
528
408
43
185
133
680
399
646
263
373
804
580
569
900
220
9
388
559
633
923
824
89
650
806
97
366
757
387
555
171
194
483
916
930
579
597
744
862
277
366
541
938
687
25
728
804
846
781
958
590
2
358
745
629
749
623
300
495
761
889
797
698
899
700
923
245
735
555
258
602
992
39
931
389
392
370
428
660
768
96
867
563
376
845
754
375
801
455
947
13
425
254
340
41
590
648
575
76
833
633
141
274
877
418
441
288
889
620
70
60
826
479
146
965
928
612
137
898
983
447
391
826
393
326
741
41
912
357
757
165
869
938
805
919
10
928
855
384
361
141
699
126
164
392
691
369
324
751
563
897
907
183
698
513
87
28
990
544
387
61
723
210
255
263
663
678
726
452
562
906
119
92
590
183
723
522
252
68
943
557
897
630
923
379
367
851
895
309
774
296
836
333
681
964
588
850
431
833
890
918
973
488
32
421
456
222
496
905
881
122
929
943
984
106
13
122
568
778
387
830
936
732
670
97
327
436
605
28
49
11
966
184
376
959
939
973
226
820
27
489
513
459
768
86
438
348
364
46
30
362
712
174
839
715
64
458
479
671
755
74
216
60
538
25
531
149
330
575
488
359
501
899
53
703
759
850
359
988
758
14
425
767
574
642
754
219
666
575
83
767
825
658
89
110
614
912
339
437
94
85
969
559
921
726
59
107
556
641
752
238
869
503
15
256
28
269
569
358
352
393
910
427
483
315
727
181
62
189
417
504
406
94
474
793
16
226
274
992
108
47
724
158
801
6
636
657
201
107
682
321
441
968
153
797
594
682
151
100
143
409
994
813
555
702
48
521
418
449
187
956
519
444
305
365
382
991
10
188
44
878
646
102
175
582
955
994
732
713
340
274
727
63
604
953
139
263
408
69
66
3
839
686
478
881
461
552
920
626
152
369
36
909
112
639
9
564
987
78
707
330
996
622
44
558
680
747
553
714
23
945
637
377
519
721
34
394
103
242
683
531
514
726
234
492
965
350
570
25
928
769
98
396
640
876
382
511
903
170
304
720
111
578
809
498
910
636
197
558
45
828
35
446
127
30
211
437
650
113
630
199
340
318
122
957
54
958
571
526
330
391
30
238
243
355
645
411
338
478
695
840
622
872
398
174
556
587
387
363
159
387
556
515
995
415
220
970
882
998
671
877
619
599
127
484
845
646
122
218
381
92
234
310
158
586
692
874
350
104
124
37
420
387
294
446
507
793
974
191
729
702
510
178
883
576
919
512
875
85
902
887
351
279
501
318
756
151
293
63
468
782
869
936
882
952
943
822
51
272
850
460
934
191
694
767
508
105
265
261
429
744
586
737
419
672
392
214
737
838
162
151
144
514
967
588
909
905
239
194
832
78
753
915
588
83
768
69
914
543
563
279
238
913
679
603
763
438
604
610
547
469
276
222
677
948
963
658
834
800
773
3
643
196
381
923
850
756
115
68
456
904
854
727
93
703
755
682
391
734
195
416
897
875
805
358
589
11
301
298
543
242
84
379
545
487
780
123
914
593
744
191
167
488
724
784
972
735
304
284
121
674
462
160
483
640
655
481
646
964
290
466
379
10
420
219
804
935
443
223
887
715
660
351
832
451
961
295
746
470
741
310
199
753
992
276
631
333
772
705
144
918
859
440
852
57
959
425
648
426
317
787
106
494
865
767
537
323
921
570
890
3
11
867
226
270
572
910
860
978
363
200
496
373
974
555
442
651
657
523
199
858
973
972
887
527
146
100
191
18
705
177
62
984
543
955
38
391
579
244
110
53
218
520
781
713
40
635
358
397
394
69
421
926
494
930
128
457
402
634
709
594
66
221
428
921
597
238
834
848
278
96
557
288
66
931
573
628
444
989
726
411
696
405
913
87
235
130
207
135
611
770
879
126
353
366
553
206
24
959
249
742
54
525
212
979
274
966
961
699
788
286
662
476
54
379
268
946
208
536
855
857
929
310
320
692
517
810
353
299
875
526
101
314
191
799
603
222
581
52
119
254
840
527
179
655
651
331
326
616
12
351
730
515
868
365
94
523
98
427
871
856
768
848
56
273
984
332
805
611
406
796
85
705
955
432
985
445
726
697
664
695
625
340
131
459
923
702
926
358
40
11
343
801
694
769
106
363
226
151
528
625
277
233
175
945
332
586
991
601
334
446
384
695
68
220
929
943
527
171
300
3
227
718
97
136
781
564
424
914
217
288
555
988
816
401
214
696
560
914
994
148
511
242
293
690
16
560
914
948
344
407
340
273
797
616
563
236
503
811
959
509
391
573
313
349
437
447
804
818
825
696
726
63
75
898
753
853
703
151
220
262
580
343
792
963
750
552
950
513
694
584
482
939
986
828
162
657
553
799
141
605
887
851
805
947
108
21
660
61
397
894
724
226
400
240
217
690
884
386
131
229
570
305
665
514
876
452
515
110
369
0
516
241
887
868
665
59
437
484
578
677
610
604
769
88
900
729
333
436
709
86
179
686
455
645
299
175
447
819
316
672
907
760
379
91
35
580
981
909
861
818
594
93
902
189
767
162
432
39
923
651
537
640
151
877
965
220
208
863
552
525
726
57
178
50
664
596
933
688
56
881
704
120
766
171
417
699
237
541
712
44
979
131
437
144
746
976
146
598
741
357
689
669
931
680
669
365
196
152
296
875
458
695
513
998
439
738
113
457
154
871
8
547
254
364
13
869
272
113
922
316
805
317
859
513
128
848
63
507
222
11
94
595
855
928
72
483
780
826
298
901
411
636
297
474
976
75
910
41
686
559
491
249
286
54
383
675
266
154
834
459
84
297
377
908
609
451
961
568
96
187
123
796
399
326
294
798
629
97
920
948
390
499
123
452
991
12
260
330
67
571
218
846
544
257
314
923
306
336
568
510
428
940
245
468
233
428
892
923
970
122
570
729
895
594
704
91
153
307
343
8
283
899
644
407
437
890
618
834
176
462
822
347
104
905
416
200
232
69
641
362
819
317
565
65
423
526
980
792
442
588
982
633
359
436
745
588
366
708
237
534
459
791
342
748
134
259
138
199
633
612
264
248
435
955
297
498
120
337
737
958
223
882
733
626
311
0
706
493
715
19
675
683
558
448
743
761
307
570
880
425
713
892
735
689
130
509
553
44
787
81
38
670
114
228
157
886
435
459
70
158
47
324
33
388
307
453
992
566
647
622
44
6
205
288
800
391
69
717
214
378
771
259
79
946
632
45
910
898
625
57
616
339
453
639
334
210
762
576
244
983
681
979
183
372
705
589
558
205
541
318
150
828
3
680
989
143
394
526
916
251
743
589
68
436
457
893
725
437
753
101
159
326
245
645
945
82
638
49
416
786
745
936
869
786
213
580
63
748
465
256
723
53
366
474
913
192
875
488
827
614
602
588
272
441
323
724
133
226
951
123
307
804
261
219
797
443
160
46
502
752
563
472
701
220
758
404
653
693
140
473
999
74
318
288
235
885
635
730
332
233
125
770
904
500
918
772
794
104
321
757
689
289
318
30
223
785
232
87
413
405
795
394
370
135
594
671
416
722
349
613
162
685
148
297
229
139
750
17
232
200
90
871
172
693
618
507
814
142
858
627
212
573
359
916
300
925
125
700
501
501
17
180
102
732
746
149
997
452
859
60
699
895
46
759
258
628
649
326
335
916
956
508
160
309
577
183
835
219
495
578
493
407
251
508
786
303
407
137
224
989
905
574
148
103
753
17
908
127
989
342
554
70
440
784
875
769
94
557
208
76
895
116
443
639
917
343
383
865
713
299
878
234
69
59
882
712
7
594
486
187
525
469
818
478
732
687
194
393
932
117
159
559
882
685
457
32
257
513
140
795
165
295
166
104
104
15
397
390
735
726
586
954
569
93
394
160
890
716
652
926
193
866
236
568
898
584
733
453
474
913
661
505
568
588
953
477
819
707
353
450
784
630
197
427
126
586
45
725
439
97
284
375
3
903
863
343
283
733
988
772
674
228
523
426
810
616
668
894
498
970
692
624
807
821
322
774
383
219
860
382
316
168
393
75
630
247
345
201
600
289
66
749
650
404
920
34
549
323
642
690
582
310
58
969
822
21
407
140
467
722
856
968
405
669
345
326
626
547
537
905
11
916
196
52
21
445
819
843
454
836
714
639
992
125
542
799
129
850
201
541
458
696
950
84
23
399
728
211
17
231
977
766
109
564
181
22
412
992
727
640
767
888
627
327
58
62
625
980
946
699
224
251
535
688
354
473
777
955
559
309
792
609
18
179
632
922
77
226
473
888
305
770
571
92
40
711
476
293
562
674
970
567
397
654
707
17
795
48
524
734
993
971
677
352
775
58
54
979
457
564
576
825
284
147
426
98
277
268
517
61
755
874
566
70
283
829
169
231
279
34
911
283
646
31
229
920
869
354
128
268
276
338
346
732
299
917
196
481
247
79
171
121
957
75
222
636
914
850
974
938
570
218
157
9
232
54
968
126
45
166
26
86
519
696
301
968
746
676
889
258
668
137
956
531
434
661
574
874
915
229
840
399
430
273
999
184
922
879
330
335
528
660
19
111
285
286
295
246
208
965
112
711
410
364
275
921
632
760
769
727
710
8
370
114
218
711
644
25
434
658
839
910
522
629
821
910
413
191
831
44
251
276
717
662
421
540
643
228
977
702
540
309
24
240
154
867
573
225
257
920
270
826
735
477
986
639
295
99
986
627
922
362
843
163
528
948
608
495
322
824
940
901
812
960
825
93
6
132
405
147
535
630
413
535
232
626
20
95
3
560
766
304
443
157
553
14
218
96
618
890
540
512
903
671
834
665
139
701
822
751
163
244
219
249
67
988
602
831
289
326
716
372
383
685
769
264
44
983
760
786
650
592
939
243
332
290
122
195
687
50
678
615
803
173
675
502
510
409
710
278
491
955
153
718
12
852
978
153
721
948
52
669
93
313
181
64
204
990
829
184
435
223
963
59
70
207
176
659
38
177
661
505
314
838
361
979
645
420
529
731
39
273
423
546
523
636
914
594
62
680
311
514
695
725
21
596
464
619
831
150
413
758
872
879
177
920
777
253
955
737
921
577
552
649
264
334
412
786
719
198
945
188
95
170
287
128
288
609
349
307
302
7
850
925
621
763
949
737
511
466
902
614
268
702
731
769
538
747
779
333
4
611
125
980
77
872
220
614
134
823
672
197
58
119
480
218
624
973
670
889
515
739
289
60
420
594
459
335
228
788
495
293
292
420
930
723
55
805
973
604
406
652
712
554
635
915
164
371
460
12
198
522
187
914
964
811
348
110
794
956
709
648
757
494
652
471
815
739
395
67
259
797
476
86
10
566
401
257
554
486
597
782
385
598
587
611
869
713
117
250
873
637
405
532
845
445
575
445
104
81
266
185
990
281
129
437
61
781
378
519
153
710
33
843
49
846
391
587
897
754
781
544
934
91
727
224
337
527
294
488
414
765
986
330
143
390
969
926
215
103
199
377
980
152
31
992
516
942
534
117
19
50
356
78
783
469
666
575
815
779
232
615
733
807
741
472
558
23
549
0
946
581
234
251
870
938
393
134
311
658
44
127
129
633
517
232
19
805
860
951
636
70
859
250
533
221
362
485
97
100
717
752
186
480
484
992
210
869
47
708
621
514
798
353
73
188
293
105
733
551
983
665
752
866
194
660
939
74
906
386
240
405
463
110
642
753
856
912
651
995
282
904
850
928
195
468
624
104
326
34
187
602
601
547
83
268
909
47
820
473
439
288
858
892
35
12
382
68
950
943
482
499
553
509
541
679
978
903
620
212
526
297
769
533
918
539
966
749
909
696
212
646
937
966
155
46
634
662
63
841
140
872
368
396
971
347
740
469
550
472
396
676
268
613
456
361
804
312
208
736
726
415
391
69
460
634
66
214
212
425
263
97
701
109
869
21
85
154
343
76
688
969
163
677
350
751
262
658
123
924
247
974
923
395
465
497
210
308
569
404
868
400
733
680
230
938
371
693
881
671
986
519
394
498
387
859
756
951
399
168
437
134
427
82
298
815
41
694
414
128
667
170
199
324
95
657
61
344
381
718
656
319
488
25
495
870
650
406
401
988
973
648
967
438
909
942
721
260
708
864
660
746
23
685
983
398
570
212
693
909
548
164
586
644
825
645
809
486
623
679
272
692
32
820
191
569
45
328
244
728
163
638
857
443
393
674
918
954
714
801
216
478
796
920
312
338
848
336
589
996
351
772
761
900
577
813
885
53
184
60
709
491
683
305
33
392
771
712
444
135
990
902
172
976
233
330
613
578
746
5
402
683
97
718
361
164
231
527
924
830
159
267
488
649
845
450
879
230
724
985
100
244
578
41
21
121
709
806
259
35
798
350
529
526
537
956
106
145
813
409
26
548
258
701
226
791
625
147
407
973
915
431
464
581
806
36
476
531
148
60
913
292
658
394
830
700
767
354
767
993
206
782
253
46
514
569
554
286
334
180
831
602
714
649
377
485
196
391
859
534
844
417
492
172
511
716
824
156
764
631
99
622
748
717
673
364
683
928
533
156
647
808
465
772
223
85
648
185
91
967
370
245
531
878
805
781
324
375
81
172
596
850
61
479
901
19
957
393
247
279
33
464
566
819
794
823
82
548
161
808
298
230
747
184
78
987
853
297
527
363
659
685
186
243
310
890
767
543
347
762
586
543
261
668
912
910
522
275
839
157
365
898
115
903
177
410
640
152
657
783
350
762
536
387
176
921
251
575
744
392
650
665
186
65
862
969
188
991
477
594
558
591
900
19
202
972
197
981
364
95
94
564
457
755
82
814
247
96
550
704
537
359
666
492
732
288
850
435
647
510
728
582
102
645
530
865
313
807
940
292
625
471
496
703
268
682
757
529
986
149
508
782
85
805
477
189
269
398
690
682
722
207
438
67
465
883
746
941
797
723
554
620
459
186
333
452
795
217
52
694
451
774
277
43
602
943
469
477
329
966
218
544
132
821
70
175
194
572
16
883
749
506
839
29
580
334
872
147
491
777
447
945
311
905
294
195
711
434
661
472
244
189
741
942
383
57
479
575
563
119
288
556
477
103
352
415
876
249
781
285
862
472
754
266
38
986
869
362
628
4
599
952
879
75
513
772
242
445
103
558
312
111
9
504
968
51
147
312
929
422
343
370
202
225
379
654
203
147
851
179
329
200
990
412
894
594
440
742
157
538
363
812
104
135
323
356
855
104
535
217
432
217
59
923
616
261
411
569
684
690
195
899
538
652
196
730
537
727
594
406
913
979
166
763
526
34
765
626
247
960
525
854
947
312
996
278
37
571
487
158
866
478
543
331
320
991
443
334
108
46
163
664
959
163
227
167
727
794
963
578
870
767
530
239
475
913
92
807
313
123
410
885
97
285
476
440
484
564
617
549
768
397
452
789
709
872
533
365
528
446
120
207
239
703
962
618
245
453
334
741
283
173
527
580
767
825
468
498
149
559
32
320
790
692
613
605
205
53
454
746
494
3
939
953
733
858
336
892
558
190
999
44
211
526
897
400
281
585
330
869
51
588
428
219
727
233
914
207
932
388
510
424
896
337
602
471
763
387
841
258
63
703
120
509
190
273
935
472
604
82
684
908
273
896
202
475
370
613
121
382
118
235
471
935
42
659
207
706
408
14
169
293
680
1
805
624
561
848
901
354
550
771
304
392
546
118
332
696
952
161
628
758
441
996
322
18
326
431
645
137
253
124
684
333
307
334
211
312
168
873
706
42
458
354
530
459
96
259
785
508
728
641
775
280
888
844
709
689
937
559
339
289
466
844
523
819
155
781
34
772
80
76
69
582
212
86
572
916
305
769
584
720
232
462
314
426
103
624
289
894
227
938
403
186
302
525
498
473
84
684
467
292
948
292
852
148
985
232
803
217
276
683
700
428
448
195
264
592
723
821
67
881
446
904
440
166
851
361
485
629
699
403
340
197
55
252
277
853
995
203
378
841
222
295
681
831
730
780
700
898
221
239
688
450
204
498
389
89
857
681
302
491
934
148
342
265
240
992
752
851
137
417
665
226
219
246
566
714
338
900
244
408
541
742
747
748
698
942
749
458
806
357
643
569
229
379
494
341
377
928
451
875
176
585
864
655
406
552
188
287
131
748
483
665
508
751
343
591
408
844
465
599
303
882
68
531
480
223
931
636
326
160
991
857
49
960
807
783
804
197
221
555
400
456
314
984
875
147
489
271
342
940
747
160
730
680
602
340
520
827
821
246
287
386
258
855
690
492
492
422
572
464
566
312
209
630
653
725
548
292
881
332
9
163
268
530
893
189
417
360
688
576
362
229
35
353
921
635
494
484
699
828
190
117
799
230
623
234
148
975
678
366
227
412
660
482
745
55
718
892
327
816
979
924
232
198
661
863
945
667
570
415
107
473
332
199
666
384
353
770
896
750
755
121
299
939
138
28
660
461
725
334
865
813
864
994
881
410
269
24
286
94
762
819
608
355
908
955
50
666
542
350
451
710
374
494
752
738
517
851
587
866
536
90
792
338
857
330
160
63
262
603
911
979
75
61
165
683
520
24
384
110
669
290
567
971
523
553
534
859
501
724
667
936
883
269
372
857
762
909
559
20
711
209
692
930
252
784
618
909
247
718
843
426
848
360
293
116
65
464
127
342
784
563
447
429
478
488
841
153
199
754
936
934
121
219
648
929
650
422
719
604
262
987
38
356
104
707
530
349
483
898
43
381
864
82
427
338
560
198
528
445
705
468
822
440
314
170
833
742
416
126
494
459
566
125
806
186
202
690
619
412
55
267
996
153
247
162
287
521
3
6
386
519
664
65
0
586
920
677
883
313
997
222
750
580
650
383
628
457
604
715
408
560
709
899
613
585
450
22
635
987
813
788
770
802
53
203
260
990
712
919
924
493
82
569
406
891
590
511
635
197
993
204
100
376
330
640
508
552
889
197
423
38
782
523
628
458
343
238
267
413
734
227
465
828
767
962
655
535
989
891
226
718
117
617
139
448
335
249
764
768
368
4
138
729
124
256
164
320
784
660
977
692
532
752
126
63
371
57
204
738
725
615
596
739
431
245
348
787
700
606
193
810
878
466
462
882
60
504
940
118
792
264
549
160
596
416
423
632
590
669
511
638
6
829
303
407
678
297
502
805
863
434
406
153
377
128
225
434
572
292
661
472
737
357
248
473
12
41
786
622
736
592
890
50
329
35
182
830
526
849
435
374
862
615
849
349
583
224
426
927
115
118
285
121
895
845
698
467
306
646
726
382
875
199
96
208
150
13
309
875
841
579
930
439
664
824
248
967
368
478
670
730
8
971
204
969
627
281
984
532
213
96
817
407
874
775
452
359
546
224
544
465
895
955
45
284
714
901
422
77
690
78
94
545
822
315
58
171
574
366
758
175
326
514
398
790
64
286
782
980
363
37
881
834
295
26
334
133
2
474
622
878
5
426
155
24
237
641
570
827
733
787
766
438
412
483
918
279
215
537
173
370
761
90
52
26
461
748
451
563
209
33
579
783
527
704
568
907
464
713
767
764
782
289
280
814
79
459
622
687
443
283
510
916
454
395
890
146
187
748
200
146
356
50
276
544
500
31
23
156
294
421
74
349
192
466
799
0
857
460
285
976
745
879
514
392
848
98
928
256
657
784
461
441
47
107
14
244
113
288
600
12
772
189
195
685
770
938
257
955
495
733
274
966
282
137
927
15
131
790
759
175
73
35
334
226
807
60
827
722
76
306
317
637
681
970
672
743
700
564
382
86
441
305
220
480
631
132
357
485
180
758
207
373
848
641
125
968
213
966
138
377
644
901
697
47
783
203
302
221
735
717
174
427
247
24
905
514
350
410
966
151
636
907
990
306
690
791
790
344
744
453
559
712
572
334
152
307
498
713
310
306
366
356
294
288
611
24
466
241
888
114
640
934
149
593
125
178
223
531
824
23
776
476
824
842
777
332
277
558
773
599
808
1
585
454
968
853
117
600
970
763
702
703
541
400
15
696
132
658
895
283
479
975
213
61
233
675
929
285
578
189
469
966
44
76
167
293
105
384
747
130
40
939
595
966
430
158
398
415
577
630
252
829
786
271
971
204
467
442
210
215
334
847
1
941
355
265
62
438
983
170
527
336
670
969
888
345
236
440
117
308
290
127
457
978
882
882
591
929
617
713
101
234
273
856
638
370
267
365
295
151
480
699
252
395
194
277
468
46
60
141
25
464
898
540
248
972
622
347
66
967
617
46
164
449
807
390
262
960
324
336
284
205
140
448
92
374
398
802
839
463
84
375
175
251
758
427
699
823
70
281
10
319
459
505
705
699
935
945
748
180
799
318
915
405
888
631
359
58
594
994
480
539
324
273
524
84
38
703
457
298
91
463
579
846
195
737
494
327
197
519
967
983
771
785
77
741
565
160
367
132
464
618
117
697
578
610
460
147
416
404
516
199
439
239
349
79
815
462
119
491
312
944
391
657
731
573
185
410
620
257
785
78
824
802
987
334
265
561
423
439
868
300
696
537
110
775
893
861
996
245
254
957
218
124
175
297
797
200
886
509
5
301
376
733
316
63
589
523
531
961
517
204
722
386
434
324
940
519
995
7
495
999
87
945
857
754
474
391
139
576
191
497
141
727
97
366
231
667
216
697
141
432
691
253
665
192
41
911
50
298
812
895
508
786
252
987
616
280
796
689
876
644
352
580
133
76
164
259
963
125
940
384
206
30
663
527
487
94
645
570
656
657
213
263
203
901
727
800
575
896
320
597
591
358
226
189
171
748
622
888
535
384
286
584
828
451
164
484
258
955
923
191
855
151
634
173
964
418
780
173
496
969
370
485
423
3
727
769
621
616
11
742
227
18
27
204
809
396
813
535
118
350
506
777
769
403
582
927
787
49
511
179
386
89
264
420
146
617
107
630
820
695
815
195
980
710
750
547
350
334
855
642
400
556
393
428
330
778
140
90
490
664
71
362
207
171
927
944
853
406
320
216
147
270
990
919
273
821
14
212
394
446
37
877
431
292
250
323
167
767
508
38
636
391
210
67
736
322
742
776
747
66
698
691
322
805
683
463
834
917
949
787
314
953
378
429
471
235
993
577
881
192
631
387
386
782
384
696
834
800
825
320
441
343
690
355
468
454
459
555
157
182
293
83
319
785
9
832
444
466
860
224
433
842
411
706
659
689
988
347
707
746
234
491
868
521
606
672
419
480
780
793
318
712
910
740
974
994
35
701
979
240
797
671
532
764
921
754
610
756
7
749
251
363
335
110
349
353
382
73
676
315
754
343
984
916
716
708
219
127
742
677
627
553
90
718
398
795
565
652
740
162
669
678
322
70
761
893
106
784
181
344
937
965
901
636
630
152
66
776
273
200
552
907
225
192
17
393
852
278
892
900
890
846
931
23
626
915
597
40
665
971
595
124
331
791
402
875
734
90
241
174
608
447
969
269
82
262
223
343
335
444
867
758
33
654
174
610
390
460
636
265
625
835
970
511
995
867
865
480
420
118
606
583
614
406
925
778
856
660
367
621
483
755
189
360
821
526
255
974
1
612
731
325
547
625
911
75
387
152
151
145
582
854
826
191
607
97
30
490
48
281
977
550
629
612
444
182
640
666
274
360
100
159
320
465
851
795
256
907
507
6
832
265
256
578
975
181
379
266
764
335
638
969
867
842
681
644
685
960
804
80
288
600
600
362
328
242
715
201
551
335
388
20
562
290
338
468
6
788
263
677
39
263
79
800
172
903
884
498
260
220
514
328
886
372
728
280
533
514
761
168
504
47
2
592
465
339
368
506
949
218
546
95
404
388
652
89
454
507
137
224
287
164
223
616
603
735
761
183
678
806
822
901
437
181
964
165
974
390
390
798
198
426
783
453
759
144
744
7
248
67
244
673
312
183
579
30
310
562
791
695
668
59
392
52
504
757
558
932
138
672
661
237
68
551
811
480
685
681
643
325
487
154
495
453
384
519
890
110
6
917
20
822
775
430
715
198
24
805
250
579
456
121
208
682
899
989
11
46
392
971
13
768
321
886
542
139
442
510
416
722
180
553
848
223
904
612
893
55
99
671
670
844
338
569
930
270
592
957
4
463
777
487
344
290
258
754
442
254
744
744
423
396
468
51
729
109
996
466
853
355
580
864
925
68
907
151
947
927
851
231
580
139
818
952
591
228
503
476
904
292
601
851
58
222
520
887
209
810
318
308
696
550
561
267
791
829
280
167
993
842
82
773
927
555
255
781
190
512
747
124
740
862
52
604
623
99
147
998
913
854
341
49
446
50
693
64
66
51
223
530
203
343
770
465
862
90
644
438
177
419
90
680
151
998
548
207
624
163
61
329
626
627
329
621
957
651
233
812
650
86
195
402
905
953
582
149
623
65
665
208
324
911
281
182
686
845
497
700
369
397
177
951
753
710
48
586
878
166
924
228
772
434
103
111
576
972
215
986
486
818
403
145
696
421
762
305
494
575
693
330
92
95
202
562
718
552
759
481
692
976
429
382
528
785
681
533
90
939
114
981
217
296
267
621
768
436
399
609
178
634
767
658
860
574
852
270
873
535
434
126
234
89
598
982
338
351
705
437
444
920
121
814
29
479
589
947
590
320
943
396
797
509
109
324
804
350
990
7
433
474
199
142
441
483
395
416
758
103
37
681
609
233
80
823
529
818
434
200
219
948
973
640
299
609
166
954
18
703
915
478
234
559
592
966
330
664
953
637
69
406
173
169
852
809
713
699
307
504
242
751
597
259
227
257
828
772
959
311
306
829
213
676
53
798
463
52
450
757
445
777
478
647
212
308
510
720
718
770
583
566
784
87
735
118
919
573
982
818
521
799
914
353
889
557
343
195
447
403
385
609
629
451
742
874
678
204
948
888
997
68
17
805
795
702
68
698
852
909
802
499
599
201
643
642
801
457
183
481
560
981
82
604
5
627
241
514
118
0
681
894
921
180
716
205
448
553
982
20
522
86
933
133
356
65
821
942
868
804
528
524
924
348
134
642
962
200
816
183
695
426
378
940
402
890
764
470
775
125
170
592
546
777
737
911
681
488
907
885
209
975
442
466
528
632
166
123
789
597
627
735
173
562
22
270
42
125
626
171
649
273
354
679
214
568
596
450
823
547
807
509
943
478
701
404
993
877
696
503
966
219
215
115
920
811
743
573
845
935
998
608
708
747
736
682
155
336
973
490
898
301
505
829
385
733
943
213
446
454
25
453
92
639
408
266
414
428
121
699
754
943
894
215
66
816
45
41
521
616
696
140
3
293
419
424
472
239
261
739
44
457
45
203
667
686
168
698
718
712
108
289
987
198
581
37
354
815
262
468
998
650
720
218
886
490
688
806
964
825
268
151
566
275
683
191
335
900
732
236
70
768
425
930
904
134
515
578
341
428
79
899
848
411
40
253
923
560
833
441
160
840
301
742
951
303
710
701
86
364
801
867
601
223
940
537
943
276
375
904
630
633
141
440
446
28
94
516
404
153
780
852
732
158
58
335
571
775
987
428
289
67
349
0
100
745
754
430
264
172
289
310
172
24
882
480
169
865
791
600
790
379
540
705
552
202
544
370
742
466
687
985
452
885
364
455
427
510
393
114
433
132
724
12
123
928
54
407
346
684
972
552
533
499
609
949
829
597
141
713
727
758
226
709
744
401
594
827
824
241
756
90
817
991
428
141
789
31
99
570
94
461
1
255
375
586
763
78
945
642
88
97
894
531
704
904
48
540
695
525
880
285
396
449
264
666
578
93
288
682
844
969
799
150
14
919
23
759
122
566
574
296
159
95
382
856
674
564
395
254
25
737
745
408
894
381
642
454
801
739
211
412
533
580
762
573
915
174
761
999
281
985
877
391
286
540
16
855
858
458
463
874
844
341
7
635
811
42
408
485
335
420
76
741
9
783
24
260
945
197
749
163
433
991
703
781
400
631
632
359
136
663
194
352
700
445
613
61
391
664
138
395
256
226
247
471
329
224
387
280
797
855
695
924
990
348
488
212
710
714
686
755
397
818
894
757
178
620
281
9
559
556
465
868
993
542
301
193
20
778
724
398
5
702
721
818
241
84
644
136
394
324
185
328
564
645
281
920
577
150
777
208
238
426
820
371
614
635
225
286
713
469
972
363
148
602
663
880
122
538
717
939
683
778
441
188
923
397
12
787
222
981
116
122
799
231
641
440
64
104
388
422
917
883
912
499
125
416
370
293
91
787
818
186
872
794
538
559
645
924
352
245
366
471
931
838
992
943
47
930
762
298
942
536
868
645
349
323
95
557
576
808
998
384
505
132
860
889
700
34
624
319
954
710
737
442
546
963
498
538
397
95
815
719
446
407
415
164
404
798
657
306
188
426
501
968
494
773
501
515
867
239
560
72
276
853
279
737
290
474
594
578
610
876
552
240
306
151
101
861
988
22
989
354
276
158
930
254
853
847
590
936
323
735
961
662
613
128
634
428
89
854
778
219
276
906
992
400
58
377
461
769
395
398
909
424
726
183
896
721
852
83
252
206
618
45
467
622
708
640
818
606
242
80
130
815
497
702
673
414
464
218
826
960
276
147
438
111
987
907
996
648
211
592
878
749
0
10
357
122
131
730
89
686
587
318
919
190
124
50
455
430
478
938
17
971
36
974
569
823
154
738
695
95
683
60
870
906
155
11
923
662
791
533
550
858
94
437
602
291
580
186
314
456
314
520
169
583
290
194
342
838
59
875
129
325
563
951
181
572
67
405
271
664
50
224
421
312
753
394
101
164
121
316
60
573
669
674
151
51
171
35
668
311
756
729
810
234
51
844
94
967
514
502
352
362
626
255
850
764
237
702
865
542
128
928
145
585
703
668
235
779
622
964
114
284
998
197
976
665
407
91
260
240
2
470
435
913
303
24
491
238
42
213
79
73
915
408
505
424
941
661
181
475
643
327
102
716
337
645
959
178
459
370
799
661
782
640
363
92
971
475
617
96
842
980
453
338
842
811
961
387
422
583
729
636
84
984
859
164
883
151
820
224
318
668
245
475
240
220
891
505
387
17
407
392
712
392
831
202
190
950
430
712
553
137
323
275
69
377
801
501
169
307
961
435
757
174
260
941
175
286
140
713
556
574
495
1
30
818
622
28
390
468
348
686
540
382
671
968
128
982
205
816
284
477
570
40
981
359
644
930
843
757
241
211
183
886
412
306
938
664
528
212
585
974
695
533
303
975
793
187
315
739
108
49
211
225
125
878
419
428
651
595
915
320
916
631
680
83
883
494
469
953
640
838
158
690
163
947
842
215
126
886
379
929
809
900
555
156
825
104
200
954
609
403
161
749
224
231
647
256
65
927
989
752
851
459
998
250
743
710
742
104
834
162
370
468
413
269
388
246
624
214
58
36
417
704
731
213
94
88
811
437
245
83
871
401
579
724
252
383
901
4
27
383
447
400
281
986
479
452
434
724
491
259
639
540
290
146
93
8
140
779
471
362
778
572
793
490
618
709
127
521
927
354
158
169
636
484
800
474
192
764
845
6
915
141
745
532
86
853
266
941
611
513
109
225
869
530
331
468
505
921
775
302
539
463
234
403
657
644
85
4
939
366
127
974
914
138
763
336
211
222
540
494
228
855
415
793
841
422
190
168
746
592
915
892
333
63
225
592
711
238
660
448
587
620
353
380
865
702
120
652
345
251
148
195
132
553
94
517
429
746
709
240
596
672
542
371
452
198
491
943
943
435
983
82
740
8
685
938
204
445
929
22
995
931
707
86
837
546
450
77
480
24
491
346
340
823
285
265
90
584
500
88
731
115
575
578
888
346
49
810
916
300
782
929
793
352
113
51
48
848
440
311
625
513
602
912
515
782
127
672
519
795
301
411
509
694
95
397
966
456
889
306
61
822
794
855
633
907
557
932
936
532
615
438
611
726
373
445
379
159
851
325
492
845
538
838
255
568
409
189
518
538
147
426
983
785
214
531
124
740
767
868
232
746
7
314
884
440
769
269
569
158
681
986
657
880
618
712
885
731
257
972
936
798
188
200
69
964
61
667
456
734
110
838
287
148
75
547
118
771
364
835
198
130
447
67
260
910
167
234
544
709
313
536
492
780
336
813
111
402
478
829
541
349
737
435
689
760
948
251
26
87
43
184
962
530
628
799
455
849
869
456
117
948
222
912
404
598
306
491
371
516
68
150
804
944
644
622
144
329
270
426
229
979
767
127
542
176
621
991
127
267
279
224
438
48
364
53
960
421
965
386
131
365
767
577
291
669
305
364
706
425
695
138
536
863
662
68
51
369
749
451
967
793
971
344
742
58
725
65
140
683
386
552
303
421
871
200
16
432
677
557
787
434
633
481
363
169
994
513
846
121
925
786
883
746
237
370
418
257
422
436
718
883
101
221
478
190
853
897
100
314
934
895
985
605
670
43
246
268
544
772
6
51
602
883
960
648
189
986
232
979
426
251
295
149
566
718
937
502
580
212
295
494
905
58
147
783
854
250
903
12
934
17
524
656
480
737
53
484
133
757
625
23
628
357
193
202
835
46
706
468
698
958
143
113
294
88
875
4
588
661
157
804
521
485
105
308
145
423
960
920
88
160
52
405
110
752
204
737
691
434
457
203
650
931
783
775
981
271
508
217
18
773
439
59
201
305
6
248
306
890
145
353
707
109
685
650
875
92
738
711
376
204
670
750
540
207
651
354
482
787
890
755
581
888
572
806
18
7
484
902
864
56
427
289
176
80
239
959
185
691
140
439
155
570
680
528
556
914
163
487
827
817
986
629
326
353
895
215
532
260
471
254
326
626
131
956
641
471
198
877
365
159
602
502
275
282
746
400
584
693
942
647
438
838
982
749
728
457
436
848
923
373
44
237
243
160
228
535
321
913
915
992
740
369
788
415
693
158
677
122
160
473
261
315
96
171
342
640
525
361
876
282
796
18
690
627
566
770
673
783
517
937
181
30
216
890
797
997
149
188
298
595
60
321
296
498
402
644
76
939
259
677
282
195
191
126
695
342
198
613
438
811
814
41
906
718
794
431
879
786
207
488
620
194
814
357
231
969
596
965
438
211
39
346
17
20
419
45
792
527
256
937
753
615
883
735
352
367
379
716
556
88
196
694
679
849
991
436
77
753
721
354
710
172
353
71
273
99
230
290
366
339
250
119
376
403
240
698
885
95
240
12
986
98
741
546
23
252
515
439
319
995
999
251
639
996
555
957
118
479
333
790
386
157
104
879
327
294
204
573
929
265
280
567
516
126
909
845
146
661
283
884
475
19
125
743
987
275
890
912
659
979
822
567
293
774
589
328
703
775
161
946
633
472
180
474
943
173
303
919
699
545
157
146
282
143
81
6
74
631
301
768
50
346
643
691
302
383
512
352
587
707
132
76
991
500
872
893
553
597
82
127
907
22
117
727
324
759
546
813
888
89
689
209
58
844
883
169
32
537
589
962
9
409
106
679
133
612
346
231
467
213
763
883
175
438
635
916
402
48
527
700
107
942
81
893
252
31
189
611
899
497
595
302
602
229
72
837
847
949
301
65
125
471
462
457
857
227
47
201
509
261
982
109
189
397
431
194
731
829
529
965
669
439
297
685
380
984
311
422
617
421
751
406
633
609
464
391
739
970
243
511
857
184
88
388
812
734
596
878
977
141
535
16
964
315
649
724
640
294
161
867
6
301
311
562
168
683
644
243
956
833
559
168
497
882
406
166
360
662
711
837
279
124
793
844
48
847
468
866
614
568
347
640
224
558
856
123
810
915
402
314
95
944
663
321
856
698
582
948
78
864
981
957
766
802
390
456
82
668
195
868
271
950
129
81
181
376
492
10
111
46
879
680
744
38
794
861
22
922
109
976
523
492
167
340
518
782
472
282
639
20
639
447
659
121
464
169
68
262
219
783
658
147
842
488
353
196
466
595
489
785
332
538
576
765
758
925
621
876
484
852
433
309
846
392
328
901
825
420
416
649
279
454
116
514
294
779
262
971
898
708
770
855
170
468
587
828
451
949
223
988
508
480
925
315
257
734
670
406
474
920
66
930
408
622
701
619
100
363
931
40
283
479
132
155
85
903
235
829
301
768
612
385
663
401
491
763
594
994
219
68
439
671
485
115
100
26
73
132
684
728
478
568
87
476
629
335
691
847
47
789
579
127
113
29
574
307
177
556
104
505
247
313
936
804
634
715
748
351
161
985
377
671
569
93
642
47
324
759
894
293
108
879
62
400
238
266
299
643
813
36
363
950
553
387
610
756
784
523
920
835
807
556
274
175
787
253
810
439
481
530
343
344
819
685
653
891
883
404
893
369
242
732
963
180
853
110
877
94
251
781
53
631
362
134
559
348
461
605
662
96
450
433
784
372
228
923
921
354
376
807
830
340
728
767
374
212
570
744
984
41
167
25
225
471
775
85
534
375
673
94
259
830
170
575
756
206
215
745
933
450
745
159
762
738
779
429
480
716
920
159
23
94
995
847
679
186
520
381
34
403
707
155
356
593
839
625
92
4
721
57
388
4
598
776
28
395
533
420
580
729
210
948
274
842
390
30
20
564
172
96
585
42
599
632
63
862
156
665
399
140
117
12
679
826
895
569
585
327
268
939
283
628
769
552
150
182
160
706
818
978
859
646
640
782
276
109
864
609
822
63
679
679
994
243
214
508
783
11
829
771
878
507
919
781
579
278
893
89
488
526
946
752
135
828
618
883
487
486
664
360
122
832
52
443
664
364
297
179
929
680
701
779
627
166
65
43
262
386
698
206
891
18
187
327
509
979
770
203
37
986
254
925
510
749
421
131
453
506
91
60
674
458
324
679
188
684
528
678
299
311
871
491
938
611
549
696
928
257
797
311
212
396
334
106
938
765
746
965
995
895
302
31
388
237
147
179
486
919
284
685
311
373
967
182
936
848
86
85
764
731
352
573
703
349
299
529
286
415
627
118
349
863
437
46
487
264
663
947
808
295
375
302
14
82
166
427
210
497
997
866
982
796
335
200
30
499
952
914
887
15
642
292
843
999
28
579
599
992
701
790
132
920
374
103
349
803
215
922
819
177
704
82
346
633
472
58
394
28
392
89
986
695
325
372
594
226
42
124
532
141
684
184
208
584
458
727
113
342
845
85
357
857
758
743
133
668
882
430
380
785
86
103
38
637
219
159
525
590
210
225
645
738
232
735
291
314
213
808
893
248
315
46
522
591
115
390
222
129
522
95
673
929
107
941
669
85
796
633
691
516
186
785
686
553
101
179
248
620
251
536
450
176
785
502
495
102
705
887
88
240
260
738
127
173
505
315
619
127
677
947
348
660
837
109
59
160
193
454
513
293
742
948
807
561
829
754
944
957
341
5
636
963
850
79
552
260
780
41
78
975
256
677
624
622
865
932
485
119
437
848
916
46
411
172
215
899
320
769
346
262
661
738
228
818
956
963
608
85
890
467
549
259
659
934
231
873
490
454
610
545
843
884
767
550
79
641
150
258
662
386
439
483
341
41
287
711
698
769
37
729
813
925
512
296
510
998
77
626
654
664
966
586
95
958
960
531
460
158
590
992
174
398
575
417
533
115
46
447
80
765
319
588
707
483
55
592
449
362
250
36
803
728
312
389
529
537
695
243
191
905
296
979
73
811
51
10
887
241
423
248
261
862
101
585
722
422
616
272
549
113
702
658
773
211
496
548
782
857
166
817
77
931
672
744
56
241
68
652
921
348
219
18
509
698
961
32
764
842
685
898
971
669
157
916
853
369
723
445
417
721
228
246
250
890
233
888
171
664
396
429
638
227
187
627
592
496
644
356
413
541
428
463
726
323
62
635
368
621
330
102
785
700
25
814
812
665
685
865
543
296
990
522
190
943
701
296
388
305
556
531
389
656
60
379
851
287
627
909
183
124
236
838
824
591
483
783
605
105
45
134
901
757
950
334
697
648
337
499
851
477
695
477
99
717
923
221
108
183
273
733
15
734
863
475
113
118
922
918
621
800
361
634
724
57
513
584
702
417
862
261
812
749
471
236
734
579
832
315
281
582
76
682
86
683
15
791
910
554
95
246
258
481
451
168
809
702
118
138
865
408
994
437
633
611
926
734
638
862
775
997
365
965
603
130
499
498
447
722
625
87
761
433
999
965
231
277
699
753
162
657
134
801
369
60
113
998
230
327
438
856
823
184
489
240
173
141
469
121
216
906
695
222
989
629
764
758
550
986
519
303
791
538
23
179
808
146
572
866
627
106
133
232
915
840
128
246
786
965
202
667
886
231
463
113
784
149
768
516
882
471
468
710
908
798
824
973
255
155
451
974
831
556
866
243
302
904
625
806
787
517
173
111
392
552
695
136
333
945
43
494
53
913
567
991
156
640
137
942
254
737
233
573
89
713
332
807
876
955
162
281
28
672
438
170
493
899
643
394
144
900
261
698
428
405
259
353
431
470
728
520
171
468
318
884
401
610
196
622
106
422
768
144
117
250
170
649
105
753
74
53
213
516
542
536
757
454
852
883
782
745
977
429
312
149
273
656
863
29
226
256
333
37
67
242
494
883
165
214
597
738
270
286
753
548
613
876
998
837
825
615
933
89
753
302
785
181
570
547
805
513
576
580
267
673
935
670
73
996
388
741
332
424
474
245
405
321
520
852
721
621
542
329
725
8
859
693
235
42
422
647
506
953
284
968
334
459
650
913
28
417
306
589
952
250
493
644
329
323
489
972
909
634
781
463
801
460
828
594
516
225
195
182
57
360
344
328
169
359
661
971
839
919
796
351
721
354
108
56
518
600
526
433
797
1
187
816
934
540
302
47
831
361
175
867
858
746
394
942
389
250
182
572
297
16
403
282
746
682
999
980
338
111
407
576
706
642
959
485
890
862
74
626
513
979
274
86
215
381
0
378
55
560
759
509
588
232
246
628
514
251
452
821
998
289
184
216
441
483
650
902
697
161
199
561
255
697
794
739
142
23
91
389
325
203
826
913
652
598
217
749
32
44
884
334
917
14
534
699
429
663
515
375
99
255
388
337
508
849
972
828
872
190
65
947
731
925
433
274
227
667
266
53
7
566
347
790
110
159
721
0
949
262
88
344
336
497
371
393
986
98
446
866
968
687
628
879
672
77
185
355
376
682
199
377
215
673
909
295
291
862
288
52
153
347
436
424
509
384
272
952
132
244
422
182
685
948
361
284
789
217
123
29
484
315
715
483
597
150
87
484
57
387
914
946
439
503
79
917
342
853
242
358
778
947
480
162
623
274
815
46
42
949
25
0
529
738
953
44
328
866
924
619
49
272
849
741
934
41
637
582
176
846
978
598
287
1
48
301
657
1
227
163
492
501
450
497
425
836
554
254
241
236
993
671
445
740
603
803
835
778
840
822
852
253
495
474
713
658
305
397
292
219
508
526
370
626
71
152
321
237
636
881
779
700
741
351
360
892
907
56
703
624
227
458
311
86
909
937
63
89
819
33
593
459
811
924
653
612
811
696
340
468
567
213
775
541
817
488
231
42
246
324
557
993
837
809
624
105
332
914
738
26
519
773
244
834
870
166
51
446
421
923
79
573
363
825
555
281
935
21
216
747
847
486
653
512
941
374
471
29
111
591
635
48
335
353
882
945
202
376
914
999
273
924
984
961
610
993
514
595
829
617
492
680
265
798
305
781
778
134
278
656
387
844
626
300
30
458
639
359
703
570
351
847
700
411
764
464
255
375
790
588
80
775
929
154
680
403
630
903
343
357
375
532
990
422
624
162
500
769
696
411
95
987
243
734
742
448
870
547
929
116
156
328
853
591
884
200
440
475
903
776
499
159
424
61
585
249
833
321
714
108
840
195
289
315
897
853
333
468
60
273
168
907
999
223
454
362
849
2
713
786
725
776
432
942
284
58
884
680
923
741
22
562
755
972
572
58
930
122
854
486
191
600
661
360
681
572
784
295
366
353
561
364
443
292
324
203
337
337
990
536
139
173
526
275
835
192
523
218
232
791
696
778
518
394
447
564
260
917
149
50
744
831
305
680
113
870
601
212
56
647
970
480
867
94
752
556
586
967
203
247
652
613
888
750
936
335
836
346
330
276
525
201
597
706
424
87
499
849
873
146
317
645
279
233
932
415
173
788
583
168
783
391
139
861
227
508
938
154
416
268
192
102
888
80
517
835
1
533
408
389
890
765
53
361
401
461
817
330
895
985
800
481
689
827
155
322
593
362
769
876
119
353
218
731
246
201
920
681
604
874
612
618
508
906
980
846
257
629
920
385
859
683
515
695
960
8
286
10
57
269
378
884
750
45
111
571
981
529
269
17
648
395
181
605
697
74
616
697
284
239
67
47
455
353
176
509
881
222
670
885
918
602
858
794
614
129
59
705
544
635
784
59
595
415
487
159
645
115
342
89
105
584
319
16
231
401
948
53
472
259
973
502
213
712
221
493
647
982
580
880
241
702
64
563
260
301
22
495
898
560
319
904
494
725
848
858
717
989
651
260
534
56
667
141
774
523
748
948
449
97
756
216
911
821
695
19
360
420
146
19
712
499
10
659
386
861
507
265
555
51
989
911
379
824
784
914
19
207
818
226
388
534
872
632
979
907
993
699
514
935
185
604
202
592
346
248
530
444
358
579
181
875
207
815
484
282
617
486
958
511
422
104
764
777
202
440
834
945
593
519
486
982
823
186
964
453
666
985
399
604
416
654
643
767
683
804
176
643
735
78
302
969
806
503
78
800
570
577
515
946
353
390
474
777
233
502
105
477
440
797
269
280
966
655
810
758
596
997
561
49
377
720
399
131
988
646
358
762
271
423
277
74
846
358
222
173
940
787
694
943
534
790
14
857
401
664
356
364
873
53
71
277
133
162
808
70
185
609
655
269
130
128
375
216
656
540
441
733
850
885
825
473
618
572
996
672
632
346
591
749
285
583
360
953
981
372
601
220
901
656
14
654
619
821
102
847
81
783
596
785
344
116
836
887
310
388
374
559
449
950
6
977
370
617
146
55
126
577
386
197
340
841
943
263
759
352
868
290
208
819
268
600
910
453
876
733
355
920
110
729
533
987
965
390
433
30
983
742
794
617
884
665
46
642
254
878
882
522
23
488
760
23
546
461
823
164
266
185
480
911
703
471
631
303
954
711
166
3
814
499
545
428
611
958
561
31
923
175
802
43
443
950
269
503
699
457
770
2
625
34
956
82
948
884
891
958
609
297
746
491
291
122
530
971
459
159
240
610
495
630
642
437
735
107
868
909
486
348
955
314
212
14
734
712
552
418
657
13
150
735
434
540
813
185
343
907
499
669
641
973
744
132
280
189
928
11
414
592
986
674
527
938
305
699
654
801
584
160
446
318
189
586
54
798
400
621
377
130
868
320
358
56
219
371
758
602
650
963
574
48
672
805
690
270
621
995
171
367
826
552
514
741
371
793
529
568
972
752
538
778
792
209
4
635
512
615
217
184
290
209
36
864
274
392
711
581
268
912
777
698
286
588
592
164
721
233
344
252
744
879
529
589
194
166
314
270
965
35
165
784
345
269
905
304
497
447
23
894
915
241
336
998
674
919
764
67
606
894
904
322
328
577
250
847
567
927
579
644
310
682
445
182
76
430
486
871
787
718
549
956
874
316
148
368
411
620
48
578
467
371
46
702
517
474
251
101
489
1
146
337
583
238
860
201
938
755
72
55
199
877
275
972
677
358
848
283
752
428
417
607
339
269
327
568
352
473
731
766
326
937
726
873
938
324
271
486
263
42
527
490
818
161
142
705
264
139
408
861
760
76
211
537
921
296
144
556
63
970
345
892
723
802
192
162
444
981
385
834
672
920
380
247
681
109
339
614
809
388
418
300
870
535
680
822
779
226
581
50
225
977
585
108
163
132
773
492
986
732
165
440
302
662
853
781
390
202
176
554
205
761
727
110
327
60
94
735
920
205
321
671
924
42
949
124
166
791
694
436
947
565
789
481
529
376
261
46
819
997
616
807
512
960
827
634
126
562
727
202
339
547
645
341
668
954
841
466
795
446
299
740
638
430
254
623
612
844
376
871
56
399
237
390
506
643
845
510
868
584
599
968
981
774
939
622
557
222
676
273
139
763
744
145
808
749
672
72
399
660
846
197
164
415
282
436
106
704
82
604
737
955
355
80
928
920
923
250
684
155
93
564
948
327
296
21
247
287
698
508
481
524
55
462
173
275
434
686
509
134
569
288
208
540
709
787
500
338
200
61
887
921
77
108
396
470
210
49
924
532
582
834
973
158
871
531
222
167
788
19
608
78
145
149
12
731
686
177
906
325
373
807
227
763
445
24
307
889
591
71
161
786
393
315
929
798
45
460
712
42
852
314
209
485
988
541
169
925
899
184
680
586
423
479
519
235
281
607
844
701
514
597
829
278
323
896
72
206
428
5
449
32
804
851
562
355
613
110
666
53
676
143
815
128
129
917
384
902
569
581
188
2
914
115
31
950
904
779
719
550
813
638
584
139
872
551
338
238
347
749
796
724
821
705
61
826
707
374
632
358
16
688
942
614
631
541
207
393
606
425
349
976
424
803
722
577
450
29
6
358
402
89
525
601
408
451
799
392
197
82
392
179
276
912
458
324
989
7
290
672
164
929
252
307
708
183
766
805
688
593
155
78
754
680
346
916
821
524
503
784
882
920
32
551
179
977
313
630
266
884
164
306
179
276
432
3
201
839
579
175
89
712
763
913
923
675
989
964
475
596
73
472
584
453
207
781
425
195
393
74
677
950
131
323
144
547
670
720
749
430
176
270
626
427
61
802
625
209
314
530
278
310
629
556
943
484
493
976
171
892
549
456
708
52
377
895
981
893
810
31
325
709
746
324
882
376
752
884
512
207
333
865
977
504
345
781
321
839
975
364
7
41
672
777
306
480
654
638
521
985
96
849
819
330
524
206
964
668
807
972
949
2
900
576
903
294
60
274
105
451
990
277
764
522
781
599
543
96
302
372
534
224
559
560
292
800
42
657
594
914
195
313
779
255
373
741
88
411
268
92
830
170
321
651
26
342
748
127
763
436
105
900
86
852
101
272
665
960
208
339
523
951
958
477
126
755
596
624
964
113
497
378
557
755
150
75
582
159
638
548
462
596
627
677
263
425
801
129
381
21
65
546
330
707
986
71
611
864
133
1
188
728
571
476
198
621
343
14
756
440
412
108
15
281
31
610
908
728
786
990
452
363
322
249
41
144
201
349
704
239
145
533
501
149
156
364
605
595
797
691
969
120
818
161
856
255
352
350
979
836
245
123
295
0
205
219
701
865
346
922
373
657
151
543
881
529
107
386
448
351
831
90
720
841
585
360
809
705
383
695
850
721
999
319
225
559
26
429
118
968
337
849
716
809
176
483
421
706
7
671
484
768
707
704
262
194
979
350
351
686
913
495
110
235
934
606
15
603
204
159
677
847
303
396
816
104
116
668
524
454
592
807
418
629
828
173
830
643
479
174
836
821
969
695
92
492
736
148
98
361
458
226
99
148
577
949
490
875
577
699
391
272
920
184
780
373
656
365
52
926
134
939
36
373
55
142
967
827
577
733
889
382
499
190
205
689
293
857
251
553
451
794
704
231
17
307
447
816
2
762
609
726
511
288
688
691
279
60
452
155
262
56
404
494
277
290
9
859
322
337
747
745
436
287
130
114
257
457
711
580
750
677
240
827
508
833
270
576
726
311
55
63
682
786
413
814
925
48
963
75
781
866
690
801
505
133
313
486
404
154
539
205
116
654
252
36
338
187
241
491
162
890
396
939
42
803
487
258
93
873
895
782
889
453
353
476
48
385
642
70
241
989
884
396
506
852
815
743
251
920
447
658
822
537
297
253
101
398
630
446
786
636
170
718
912
517
622
18
278
408
765
613
396
21
230
965
245
603
87
45
6
18
13
438
597
736
900
205
134
796
792
821
35
372
41
425
787
994
84
292
583
318
337
55
926
672
310
199
969
840
937
705
422
303
71
529
79
926
114
873
399
930
53
251
795
980
892
955
787
494
190
874
508
873
851
640
675
672
469
755
332
74
202
677
303
685
340
260
306
464
951
139
793
269
837
44
463
573
35
638
130
547
174
666
156
437
416
357
729
107
977
758
433
335
80
815
639
323
855
480
664
801
102
341
707
84
174
645
978
785
379
257
471
920
776
505
795
526
753
77
13
999
387
382
512
933
408
308
134
291
27
2
907
570
867
571
87
663
136
536
213
311
39
606
253
315
485
797
891
462
297
359
449
348
105
878
426
429
446
544
126
973
686
782
695
626
922
415
550
432
598
760
371
826
135
187
83
837
964
583
104
28
531
611
819
944
148
469
900
396
296
738
739
839
126
379
988
964
265
332
125
895
36
676
819
800
481
492
257
715
722
914
221
808
11
605
12
928
660
628
629
571
110
213
604
294
810
353
343
451
840
532
671
751
917
880
971
102
362
524
433
256
922
809
769
647
594
436
511
88
436
767
939
764
844
30
345
140
417
971
177
922
155
271
257
697
818
820
40
597
781
339
136
701
379
792
779
375
628
376
486
613
382
694
332
907
826
678
505
746
93
665
198
922
897
88
574
651
502
386
609
33
695
65
507
919
430
757
907
124
395
996
750
503
208
171
554
861
62
791
719
639
309
404
780
560
266
546
849
517
958
515
815
735
197
592
413
262
753
487
840
292
897
709
305
857
901
802
186
651
232
509
834
996
594
914
727
877
353
605
435
829
114
850
144
833
68
556
839
982
224
599
966
173
476
382
386
774
48
646
440
474
590
448
533
426
545
559
326
419
459
868
682
948
410
768
33
223
466
260
873
583
618
11
292
812
935
916
704
861
241
913
274
649
694
114
60
199
125
629
397
775
883
4
292
659
812
388
751
452
404
597
167
866
37
238
617
376
884
16
50
155
451
942
296
773
760
535
171
352
47
734
330
520
645
159
243
51
688
78
645
503
136
949
96
757
39
123
514
293
514
396
829
996
391
727
621
100
290
218
393
324
917
203
616
876
531
363
479
485
999
737
183
279
517
280
450
570
135
205
319
200
601
369
281
260
730
56
660
284
585
445
797
596
138
730
391
501
856
505
458
678
650
581
380
992
62
891
280
433
481
536
596
104
837
888
383
543
769
504
51
32
71
844
355
414
661
881
468
786
613
220
615
616
269
298
233
156
435
217
702
104
766
676
938
889
170
818
970
332
830
893
439
617
619
938
171
136
119
891
858
657
750
38
154
837
520
762
557
832
582
336
724
509
669
59
594
583
913
796
589
41
426
680
882
980
744
393
91
726
338
507
733
180
989
661
758
867
624
364
393
233
923
852
205
687
722
303
752
966
997
393
514
366
239
140
289
744
652
521
219
899
784
331
581
238
84
157
670
125
924
287
456
298
736
853
790
649
667
54
445
381
932
567
863
737
604
186
764
474
333
150
669
896
469
578
388
428
812
957
721
433
643
832
285
513
730
459
156
10
625
202
238
43
275
605
904
532
370
496
347
402
57
804
407
652
709
728
708
517
867
927
800
66
164
630
706
878
109
633
572
523
346
25
909
750
573
612
152
506
237
264
575
808
911
581
768
478
713
278
423
123
801
222
239
845
297
830
116
91
762
819
296
217
306
131
476
315
38
541
320
563
541
149
603
234
880
883
39
791
140
451
227
985
762
793
957
713
534
296
436
715
246
372
69
294
919
948
413
452
532
976
292
85
525
329
981
572
730
172
17
204
810
530
985
156
132
176
214
480
504
4
919
800
164
326
361
148
564
157
393
616
734
618
223
10
965
698
861
766
411
220
747
42
412
507
597
299
98
838
568
677
471
299
1
570
155
680
692
970
470
646
268
177
548
556
772
117
671
667
594
737
599
310
616
658
912
533
667
809
778
904
128
621
548
303
917
725
664
216
728
495
954
3
517
220
440
4
220
348
922
701
876
534
826
772
975
349
859
590
647
204
530
812
117
355
374
607
0
317
14
822
85
764
316
205
109
860
0
804
198
156
415
277
401
598
226
214
364
398
265
96
45
169
717
63
730
675
606
286
726
516
765
10
792
418
514
293
50
656
243
229
797
670
60
261
321
545
805
684
662
541
281
827
573
486
437
780
640
180
429
908
257
313
608
66
152
64
830
654
472
317
458
343
598
188
291
388
75
43
883
615
753
756
152
28
217
486
962
746
258
118
490
884
672
881
642
850
770
537
675
740
497
869
309
466
410
344
893
906
535
148
605
401
458
962
953
183
297
721
637
371
119
659
223
835
500
196
409
951
287
211
534
424
804
948
39
359
640
445
824
351
993
395
295
87
128
859
798
510
76
93
551
550
872
445
719
273
871
684
887
942
620
444
502
282
901
353
214
22
462
679
432
13
129
840
138
433
331
815
716
135
808
185
854
272
388
521
820
356
747
254
612
191
828
175
182
594
430
393
267
513
984
163
249
623
371
87
7
524
785
154
958
657
555
21
890
340
831
967
374
498
875
13
389
566
432
677
147
172
773
730
330
352
903
505
463
313
514
425
285
530
359
191
201
78
169
76
708
38
315
252
290
247
934
653
873
410
278
747
634
364
989
521
671
524
331
363
838
441
329
651
447
20
682
137
119
131
773
966
797
770
30
287
680
961
494
757
760
702
941
494
971
618
463
447
253
207
232
342
558
802
797
114
411
450
996
150
521
322
629
733
169
264
135
234
969
470
717
215
260
981
123
857
670
595
433
560
867
129
13
253
841
821
380
258
835
608
955
502
163
657
415
25
289
271
500
318
606
493
77
451
888
134
145
538
430
628
277
52
857
591
181
47
527
232
651
794
687
329
484
208
285
203
279
501
955
114
718
545
212
601
831
598
835
211
198
784
17
858
641
627
546
183
57
427
890
120
330
598
25
342
4
760
975
397
856
82
205
973
58
603
114
776
986
909
299
983
626
809
583
524
878
59
599
840
606
32
613
258
993
554
49
796
835
138
872
471
605
581
441
177
240
394
518
770
739
999
303
791
140
968
910
63
351
167
960
846
906
533
357
828
471
985
254
840
857
754
90
430
405
853
613
539
826
822
648
950
1
490
778
281
95
260
427
60
318
131
501
363
469
545
5
887
712
454
383
677
503
26
755
557
73
969
361
815
446
465
15
190
229
663
376
794
830
115
674
20
929
730
4
895
208
176
749
981
333
806
542
427
525
489
108
302
197
192
849
964
937
896
737
719
241
465
372
274
336
93
502
683
618
522
111
748
879
741
98
655
400
135
408
699
756
522
130
461
914
172
949
33
883
907
562
707
286
293
535
511
504
502
937
515
351
276
502
654
2
199
598
910
946
254
551
420
839
185
834
474
492
481
110
641
238
259
555
524
512
442
343
524
694
715
916
754
644
130
525
919
752
211
496
490
4
129
119
768
801
724
760
927
679
772
794
977
506
597
248
66
135
440
473
804
637
707
169
34
367
211
537
533
643
459
268
194
141
144
222
937
877
233
894
812
127
601
694
99
33
568
885
739
201
202
748
241
858
94
764
293
497
107
774
940
822
807
104
861
387
357
487
755
753
113
535
355
292
848
476
965
42
20
535
913
960
142
239
838
661
251
859
63
245
431
403
805
377
263
747
697
779
472
474
71
561
689
765
882
649
507
183
238
359
417
94
275
129
703
980
656
878
234
760
560
984
345
658
575
109
246
734
73
552
115
690
762
814
601
944
299
884
879
186
525
431
928
868
880
436
527
920
461
859
975
743
595
513
567
86
629
133
642
667
628
838
319
5
158
922
886
580
758
840
431
377
101
49
132
742
146
105
14
262
477
841
770
954
434
546
990
51
875
217
656
217
621
847
703
92
439
118
642
805
222
388
546
908
68
671
743
871
487
739
921
366
857
288
360
411
95
735
770
990
22
637
568
399
682
326
963
649
760
349
997
762
311
938
845
826
791
183
348
791
401
161
769
452
593
512
728
331
509
312
506
774
636
888
161
74
941
41
656
57
241
313
410
477
141
220
807
168
59
756
648
734
742
797
10
158
918
485
875
690
133
63
58
59
47
456
546
624
894
986
510
724
157
728
519
491
644
431
265
906
97
606
592
271
952
32
954
471
643
244
192
559
793
727
916
78
633
813
800
604
292
672
585
647
939
734
199
770
358
98
389
370
730
628
523
711
30
667
282
326
602
157
65
35
208
406
579
277
960
296
136
486
57
83
583
0
692
980
257
345
92
501
352
351
974
631
107
337
492
29
236
772
859
49
306
655
390
136
535
715
691
3
384
669
998
776
525
587
281
877
613
932
954
470
322
929
383
198
612
346
438
267
494
186
383
41
688
757
220
691
300
448
45
706
554
7
378
636
565
231
469
780
740
563
151
948
685
394
615
184
865
146
241
681
612
896
77
625
530
265
977
833
816
922
712
332
293
867
497
865
817
494
178
762
307
817
382
696
329
186
179
513
324
974
125
34
960
29
481
406
665
160
92
718
574
222
111
87
369
54
9
689
279
97
885
887
835
143
942
159
410
809
410
362
140
409
476
850
366
645
155
302
407
469
219
771
761
441
21
75
711
638
179
20
305
97
694
302
873
349
267
38
164
600
30
882
762
125
862
286
173
459
957
211
530
221
937
581
46
27
41
314
670
0
258
363
35
734
721
112
888
130
681
677
545
224
102
553
747
172
642
745
541
969
85
609
216
882
540
876
996
711
371
269
514
653
588
95
875
979
397
939
687
425
217
750
605
722
718
783
269
353
993
831
938
31
358
464
757
951
876
34
932
109
530
982
932
868
505
90
781
63
218
169
144
84
944
531
632
835
461
311
116
550
466
918
460
553
713
427
795
699
85
500
472
654
17
481
298
107
196
543
211
302
341
993
831
344
842
298
115
961
386
332
33
542
772
662
968
491
226
88
749
930
579
888
112
83
351
476
954
33
6
25
128
792
576
71
626
384
126
144
441
235
132
498
597
738
572
953
591
957
613
907
858
677
882
733
382
791
376
986
501
246
67
265
20
508
263
945
73
259
524
897
255
431
156
532
20
884
99
180
560
985
66
604
465
894
539
695
963
896
347
23
720
791
873
11
251
742
523
342
518
832
18
778
200
313
67
809
403
480
211
64
392
655
850
391
59
245
839
763
457
230
498
129
836
318
503
557
304
583
0
92
489
192
854
948
574
360
981
201
220
646
395
458
228
544
542
979
365
738
774
101
371
56
495
284
379
234
398
72
347
771
303
365
617
659
580
357
397
85
143
436
131
432
104
561
44
596
477
292
643
597
582
306
182
92
537
205
830
134
207
337
484
706
443
126
185
717
668
549
862
274
964
561
417
273
788
518
704
382
603
982
282
976
302
428
698
928
894
951
415
695
507
847
327
938
507
27
517
89
814
637
911
45
232
305
652
57
931
436
890
949
628
620
556
194
52
82
237
71
270
633
849
967
915
65
938
649
598
544
398
759
768
310
511
124
10
858
585
879
920
502
632
72
390
242
837
681
125
526
252
744
294
371
849
520
962
841
894
554
918
19
936
817
569
362
933
710
278
334
209
826
52
281
959
968
384
42
803
799
188
375
777
424
750
415
726
437
67
179
897
53
971
887
402
164
662
323
30
867
279
5
0
949
954
524
186
393
998
96
596
11
126
18
99
283
95
861
531
0
793
310
389
402
127
457
444
790
245
413
962
268
313
32
49
43
157
462
749
766
313
629
302
380
120
475
150
870
64
501
938
887
635
218
975
348
995
833
979
193
445
381
983
462
566
191
937
383
157
279
349
125
380
216
244
400
621
972
729
804
895
200
129
52
425
498
462
447
849
559
794
90
373
481
225
582
740
644
384
477
436
741
207
697
381
690
644
23
108
687
312
498
764
10
42
788
884
271
728
22
463
286
312
78
905
128
52
418
860
286
786
158
203
372
731
584
240
735
585
888
306
526
57
467
42
489
429
741
220
182
830
682
275
355
888
531
426
138
428
280
635
785
397
198
434
855
946
394
5
65
915
181
884
465
1
102
268
545
483
679
554
83
438
686
330
772
507
889
717
3
227
94
912
536
342
26
549
635
964
574
604
473
580
503
434
883
904
984
590
746
878
294
688
654
517
420
309
108
250
826
131
599
918
296
614
475
712
593
186
795
768
583
803
349
635
36
776
724
466
558
576
893
510
114
475
264
52
587
324
139
663
920
194
136
802
955
408
108
310
870
224
771
356
385
614
529
293
671
183
285
747
157
461
206
165
140
671
242
413
875
294
210
829
360
28
759
295
29
671
217
257
979
360
770
118
884
436
973
116
159
886
770
901
787
385
455
626
21
121
209
581
529
655
476
645
523
761
692
557
368
926
198
341
833
387
941
670
857
880
972
278
765
406
762
193
501
861
713
125
711
550
994
309
911
862
423
490
630
593
162
599
451
85
531
645
871
59
632
900
233
799
754
979
868
865
389
154
436
107
643
642
286
532
5
507
27
507
732
739
495
738
748
754
898
366
888
811
684
361
16
153
123
390
236
373
314
689
722
279
141
430
664
368
756
193
447
784
918
279
542
328
481
528
948
151
687
76
95
65
882
910
673
966
13
788
434
892
200
1
5
442
58
445
860
626
214
37
515
858
942
59
813
602
700
500
371
628
746
926
63
433
239
946
913
45
477
398
852
600
638
942
185
556
497
328
133
430
648
571
993
7
539
480
330
222
869
674
388
48
441
760
30
771
817
238
560
37
90
566
679
695
264
991
8
90
232
295
4
835
456
32
797
428
422
530
961
912
986
829
133
815
121
718
624
626
691
678
175
290
435
957
704
664
681
321
300
890
365
405
91
189
466
646
372
446
658
124
939
93
730
27
992
587
270
745
206
439
599
222
996
62
665
369
129
463
569
118
156
594
995
353
334
297
550
470
591
664
174
750
506
81
792
328
472
625
138
56
455
637
251
937
903
896
809
626
516
498
723
665
665
173
295
647
719
990
75
716
458
61
246
541
934
194
432
663
130
611
742
943
59
24
544
393
58
730
936
718
189
989
413
503
247
48
96
838
234
121
147
510
844
757
782
713
249
453
702
927
679
525
993
473
224
728
989
945
221
658
3
468
731
608
302
620
528
69
333
563
995
601
368
94
482
113
364
215
488
731
839
793
727
713
796
254
67
310
825
312
723
413
883
538
964
35
108
473
736
120
893
339
161
130
913
739
560
243
529
99
627
762
847
153
742
196
711
462
223
441
586
51
317
267
263
189
839
349
735
346
927
503
438
883
656
659
172
737
901
637
197
37
560
64
675
609
560
707
123
590
692
39
944
293
880
981
59
927
271
624
664
888
316
339
41
627
132
718
51
895
707
12
172
779
511
352
573
669
668
85
527
738
551
549
670
7
970
933
268
800
491
416
6
165
755
728
657
605
425
436
306
884
467
829
404
286
985
202
404
212
154
28
400
149
21
582
640
772
885
593
924
787
555
410
68
532
908
808
836
37
717
538
181
488
938
717
295
636
17
673
243
429
6
360
477
866
399
783
915
24
398
599
959
166
171
746
979
305
408
657
427
985
560
754
451
815
858
142
143
17
879
478
824
532
759
152
561
230
348
836
634
701
449
199
710
177
999
461
258
341
116
439
177
201
59
687
179
365
489
18
888
597
34
467
528
532
574
344
807
203
165
97
248
529
985
768
259
108
925
286
920
364
894
336
567
453
600
882
454
74
569
198
918
181
415
281
636
625
722
156
176
60
705
180
622
588
188
43
343
557
488
278
145
167
995
335
87
698
186
921
846
645
849
36
477
588
512
554
113
666
183
442
859
937
792
467
306
164
252
239
845
469
187
760
971
199
381
630
751
206
821
713
255
849
444
678
857
740
363
516
156
468
559
75
209
86
754
167
114
769
601
490
745
450
228
475
256
438
52
877
167
877
775
76
403
494
616
996
823
622
201
547
531
290
158
288
861
266
773
443
558
2
347
594
886
322
322
91
971
875
284
806
99
434
471
452
340
611
997
967
457
803
303
321
121
234
531
307
248
753
132
699
384
199
583
672
943
579
285
784
566
80
293
951
668
364
873
209
462
507
863
883
359
634
326
427
919
475
174
888
42
232
354
938
739
824
64
979
716
959
207
311
567
119
408
509
603
387
973
126
501
618
234
159
202
854
676
773
636
773
790
156
585
817
661
177
685
341
998
429
327
182
397
496
75
356
69
31
628
516
735
700
452
977
210
332
498
696
478
290
885
929
119
915
234
212
592
533
558
470
899
812
584
954
332
644
919
211
410
281
665
606
800
216
932
76
796
943
919
343
980
170
717
651
402
194
297
559
788
857
750
737
137
620
665
587
763
928
941
926
622
301
814
297
481
514
969
608
5
457
490
550
270
0
440
519
914
545
901
648
816
639
101
524
67
789
995
797
700
928
141
82
961
852
793
307
412
447
755
430
583
438
726
0
23
198
651
715
109
809
545
484
721
289
40
396
195
464
507
912
443
161
750
463
617
464
272
906
166
389
801
263
353
732
981
700
66
681
607
224
601
669
25
58
845
257
551
929
4
255
693
649
42
418
882
919
798
471
148
732
712
567
895
808
213
513
289
957
691
23
134
495
593
512
283
45
866
981
800
44
971
597
868
457
649
675
85
988
84
172
685
235
847
419
2
784
264
938
705
160
588
759
684
658
104
870
535
7
169
39
897
524
847
272
352
316
584
950
346
351
329
253
402
628
64
982
123
269
730
348
103
904
43
346
580
323
990
143
909
848
685
613
0
681
471
599
900
110
313
820
776
705
44
600
780
93
830
669
541
968
787
131
82
543
704
539
736
331
311
122
538
768
323
469
313
659
554
984
271
203
134
206
836
905
899
294
234
488
343
824
257
842
158
163
569
860
946
19
350
556
276
100
550
964
981
229
351
239
52
248
425
338
582
383
934
413
746
690
851
324
80
936
847
922
182
222
659
246
450
588
945
177
850
749
478
2
754
825
823
448
181
529
737
388
563
982
298
768
992
536
117
406
488
345
237
242
924
204
943
253
822
638
162
13
623
166
731
88
100
881
126
192
207
781
711
863
864
187
597
474
216
713
438
214
5
547
961
287
208
103
32
837
678
271
153
783
8
603
459
370
488
552
212
892
662
856
153
517
975
404
523
1
315
412
144
53
160
231
63
642
569
696
144
61
199
415
699
245
404
451
115
620
259
897
436
79
659
881
822
63
765
328
301
579
859
981
943
549
85
305
245
901
488
556
549
385
554
930
713
281
555
78
27
859
313
796
791
490
617
736
253
688
508
155
354
844
41
223
533
323
946
218
912
300
117
205
27
518
800
535
53
940
726
827
709
147
258
736
172
585
470
547
883
211
382
61
860
220
909
498
823
505
882
838
187
928
485
854
375
534
998
140
701
592
423
524
36
88
728
467
600
752
359
260
428
396
401
708
259
111
772
251
743
616
248
404
433
563
12
92
523
733
678
781
152
761
476
98
473
842
829
956
874
371
424
168
678
900
273
659
785
758
829
477
935
10
219
635
724
290
101
944
400
527
403
225
142
163
252
637
949
416
316
249
206
44
422
886
397
191
201
915
573
258
426
76
451
510
429
399
265
900
723
844
635
266
491
402
763
897
74
497
39
986
12
642
67
600
160
893
527
459
839
997
968
172
897
885
451
156
341
279
64
413
759
645
678
726
168
236
51
613
384
256
618
653
847
992
959
810
788
503
402
717
392
536
694
596
309
569
159
726
143
450
151
488
981
635
235
258
825
160
391
217
434
4
1
182
44
537
730
583
43
997
115
610
984
532
783
672
343
258
911
719
229
642
907
955
443
461
550
119
227
41
962
479
527
268
401
208
317
23
678
330
260
567
508
739
417
69
40
838
849
613
899
71
947
57
206
916
737
321
458
444
733
800
310
225
679
784
521
24
134
671
926
265
357
779
825
845
594
553
710
681
275
698
269
474
136
714
815
852
218
372
35
362
534
35
885
693
769
494
193
787
598
528
145
732
855
646
453
607
662
155
184
96
595
319
320
501
999
373
135
289
63
447
871
366
934
383
969
547
200
185
200
987
52
76
106
468
334
163
611
594
212
842
596
381
550
700
90
127
832
792
281
738
161
934
637
567
650
634
969
600
124
233
562
194
388
11
536
418
712
692
31
96
262
755
992
33
828
190
799
286
184
305
665
233
33
575
60
309
802
780
331
897
596
932
428
576
840
729
185
641
141
213
248
636
705
717
801
98
226
459
545
958
398
846
573
489
412
699
861
373
218
667
495
701
538
208
294
685
572
194
683
162
814
542
445
825
553
334
105
568
273
722
49
146
919
94
18
534
916
675
939
817
130
450
986
621
674
19
312
346
650
964
456
287
825
364
594
211
145
112
98
43
499
17
905
717
949
20
189
341
284
422
35
482
862
143
425
650
488
271
120
317
237
281
791
967
916
586
292
483
478
347
140
927
892
890
205
240
686
584
952
131
574
844
947
668
609
403
882
986
653
406
759
966
292
35
272
306
360
874
431
881
397
403
991
503
782
594
7
720
83
551
665
167
794
623
431
181
374
445
653
285
914
368
742
665
547
593
504
925
939
680
517
444
662
549
953
115
621
405
445
123
178
653
933
98
925
490
613
306
366
110
205
858
130
363
808
256
934
189
267
137
838
841
422
104
92
598
235
379
592
50
368
609
814
610
155
375
845
392
912
439
660
774
802
966
569
5
461
410
723
634
951
575
83
340
847
413
763
164
861
108
96
910
843
399
686
671
960
352
832
176
635
128
511
601
614
29
330
634
113
437
235
806
696
782
961
912
217
415
838
257
463
402
432
217
825
963
495
76
48
881
925
406
567
685
643
462
49
169
540
724
155
85
738
687
779
139
824
199
190
323
792
84
319
627
78
749
449
930
668
87
372
167
91
850
343
739
527
368
869
348
369
880
258
160
281
435
72
830
869
336
374
628
810
11
843
945
313
454
325
503
727
817
827
186
831
350
758
486
996
162
365
420
159
514
883
703
858
409
37
376
169
496
887
995
687
928
316
528
550
308
278
865
755
904
89
888
650
503
58
921
679
480
853
596
10
657
736
748
583
559
685
520
621
498
501
251
215
17
548
375
594
394
706
592
121
378
87
822
176
410
804
143
740
188
820
253
594
576
54
252
921
593
29
709
315
385
623
735
519
910
303
387
225
496
300
785
515
874
851
131
359
598
588
357
63
299
392
501
270
378
795
33
393
259
927
834
257
171
572
831
677
623
44
190
294
439
31
964
827
221
223
149
528
242
861
701
409
182
652
911
501
19
226
772
219
658
606
220
892
464
50
844
588
283
850
779
641
293
827
193
371
520
46
750
983
756
567
813
353
114
372
953
595
371
322
294
395
41
594
558
790
324
596
684
105
980
619
621
132
689
851
79
96
888
563
41
964
226
228
576
567
847
35
616
800
749
141
849
805
829
892
225
191
586
547
462
189
179
493
950
687
273
878
637
734
127
660
215
578
255
534
614
682
857
211
600
767
617
339
101
272
199
794
129
972
509
691
885
607
543
758
633
527
820
509
838
1
599
128
49
560
258
339
816
544
310
630
537
952
49
426
34
151
296
262
194
297
77
71
674
351
672
526
863
625
735
192
560
985
194
933
511
799
712
417
994
155
136
812
214
429
222
676
436
621
632
427
70
974
968
135
299
997
332
504
629
439
817
622
412
983
505
985
721
329
405
717
868
956
246
949
548
441
344
347
822
213
695
931
145
438
510
874
559
25
821
960
927
454
883
51
557
914
969
48
588
533
551
884
606
925
5
310
233
648
66
539
707
161
120
489
205
23
389
191
317
686
387
835
914
890
36
384
924
260
278
317
994
130
426
504
238
437
441
385
401
871
145
823
604
717
655
475
311
753
283
285
434
489
290
233
433
124
984
294
24
568
604
533
727
51
177
920
804
697
342
517
655
224
118
180
346
989
741
93
826
978
954
272
399
362
851
826
912
208
624
770
819
371
591
524
361
864
746
196
588
216
222
400
396
319
904
285
998
885
638
582
424
173
66
477
145
523
211
145
222
483
500
101
73
971
489
582
407
563
289
649
974
427
940
684
725
821
804
935
15
95
687
738
144
765
510
134
362
168
251
18
362
594
395
24
891
471
884
249
31
458
806
431
947
448
68
514
236
774
877
800
860
192
379
436
264
670
500
908
444
706
489
217
4
592
327
425
811
933
763
503
426
946
143
503
104
427
90
883
758
953
634
937
334
98
265
907
469
203
969
287
888
360
550
65
580
137
606
778
606
991
128
44
65
58
749
499
395
55
968
930
902
190
819
248
718
842
239
178
448
255
639
327
59
582
199
242
324
48
419
669
637
172
265
470
707
819
60
447
206
699
934
588
965
660
868
194
469
834
941
440
814
788
96
366
273
127
247
875
769
88
503
318
691
247
287
704
18
445
540
540
503
731
186
612
350
999
130
408
464
413
266
662
309
218
24
264
877
825
24
107
869
988
77
783
777
35
88
542
875
945
71
319
553
666
731
715
666
175
301
11
467
141
203
49
42
465
421
211
438
120
135
554
423
146
191
360
741
119
889
2
782
712
276
627
812
143
724
611
993
835
354
560
407
594
713
432
512
905
466
511
125
240
853
512
38
201
740
573
476
1
218
9
426
730
613
123
583
161
201
46
691
433
456
958
82
589
128
1
842
39
825
297
190
746
258
841
227
504
831
891
32
320
871
297
252
295
882
931
464
345
376
555
639
126
75
242
852
406
683
542
49
298
843
825
759
841
185
84
978
918
996
298
844
144
730
622
311
697
401
624
811
973
0
445
972
756
312
604
845
144
787
233
662
713
617
341
945
215
180
888
865
753
909
673
593
419
563
37
232
638
501
251
166
211
128
247
468
92
243
142
703
846
112
996
871
390
524
90
979
573
8
464
104
401
854
366
940
820
230
573
679
664
148
767
702
489
459
415
656
669
259
736
929
619
564
869
569
318
876
142
716
661
603
435
889
434
897
383
784
429
420
361
165
509
512
738
993
243
785
360
853
543
652
890
156
903
950
879
12
483
548
253
172
95
616
394
525
101
633
57
791
318
972
405
936
369
131
95
252
566
238
195
933
571
164
724
279
759
215
596
881
703
22
623
283
315
423
150
537
886
930
683
365
530
389
688
311
786
211
739
839
399
655
498
909
471
909
0
629
350
541
794
644
193
298
455
801
860
995
70
670
193
77
730
147
332
292
930
25
392
912
795
401
169
276
612
431
692
177
996
742
857
616
202
935
768
865
84
782
908
565
212
934
361
650
800
106
886
589
826
822
661
459
414
476
839
876
19
698
685
306
311
989
414
314
577
64
441
462
159
970
294
325
26
516
586
596
832
533
761
631
297
90
161
869
278
102
692
131
480
562
41
929
753
910
984
423
370
107
217
775
193
354
30
343
401
650
368
873
490
626
618
56
260
638
451
459
247
324
560
656
108
362
303
819
5
56
85
685
814
14
992
360
344
556
788
495
73
881
198
535
453
459
652
435
473
876
952
563
447
702
945
375
459
722
745
649
593
624
944
334
502
19
795
666
834
173
151
373
980
738
677
891
1
83
748
265
986
326
663
982
631
454
518
297
87
846
753
921
132
156
822
760
181
522
860
142
989
120
407
157
987
773
350
189
445
250
354
16
220
589
69
794
839
30
5
382
591
985
344
149
482
595
12
786
691
826
156
211
231
472
675
624
623
183
501
86
214
173
239
98
198
127
350
943
972
886
476
716
573
902
430
564
220
137
823
479
434
842
58
920
990
88
731
519
231
791
555
641
633
563
936
4
464
687
511
345
9
39
301
217
239
212
676
464
195
306
462
286
797
335
216
67
428
406
303
395
851
854
509
406
640
347
142
836
454
986
370
782
108
893
964
754
899
696
530
740
825
715
178
71
49
467
780
885
112
74
473
299
207
676
646
459
442
338
193
935
348
280
62
743
192
696
443
923
648
350
225
456
173
536
695
866
978
785
727
784
767
797
983
37
468
648
328
653
327
235
443
779
693
124
372
227
845
252
616
325
213
269
759
510
488
985
55
886
840
681
428
869
521
380
709
842
595
490
477
684
631
958
526
992
434
268
725
204
794
637
123
78
689
620
502
489
883
571
498
1
57
374
389
276
833
78
534
666
336
740
156
240
298
77
707
737
996
226
135
422
805
542
399
478
641
493
526
515
182
894
757
538
260
146
953
412
669
141
22
267
578
933
57
925
629
313
132
914
268
967
689
625
842
86
46
984
724
739
727
163
229
778
679
66
700
392
668
969
656
64
299
811
920
875
423
836
663
615
733
881
195
263
655
822
113
542
757
815
144
921
595
533
194
785
403
499
448
95
540
135
419
111
737
715
124
348
35
319
861
812
243
366
979
979
572
479
535
403
564
771
573
269
691
79
538
37
921
118
784
34
584
218
89
219
272
292
576
1
463
595
832
912
362
326
861
657
386
566
923
721
885
78
586
403
473
880
173
421
494
447
921
139
429
701
678
122
685
201
538
322
123
550
861
895
522
697
43
120
421
334
60
992
940
857
223
527
52
924
237
200
693
633
146
144
103
746
399
495
427
573
230
981
660
498
978
443
725
402
557
381
829
146
797
709
882
561
987
240
272
982
173
392
289
924
860
179
69
243
242
647
635
784
285
423
614
233
119
614
702
835
149
461
680
592
647
232
731
452
954
114
977
971
428
972
356
901
392
154
984
92
739
205
166
481
990
206
79
426
480
123
537
760
987
681
482
53
600
718
329
692
726
853
239
413
581
191
45
790
354
850
261
822
568
121
487
593
181
413
507
842
736
20
390
191
833
501
835
500
155
296
67
293
919
383
505
476
987
280
368
38
0
75
431
200
962
109
672
202
349
240
234
258
149
663
100
295
963
326
432
304
717
278
840
108
643
104
443
933
312
915
836
120
540
667
811
310
111
651
460
530
247
687
24
783
45
732
673
609
824
766
322
397
171
900
769
163
472
374
75
658
435
497
410
7
462
18
246
680
112
857
421
439
179
312
942
292
855
468
33
110
367
47
386
848
367
673
971
776
176
753
996
683
510
798
172
525
150
785
293
378
598
655
229
950
112
986
170
893
537
814
864
81
256
708
906
321
19
250
684
551
688
503
585
897
127
982
689
605
651
473
503
223
818
430
21
549
778
336
27
477
828
995
352
816
247
818
965
364
483
613
510
813
859
119
337
736
449
582
372
447
957
259
524
695
275
576
414
1
91
747
774
772
322
445
929
67
254
856
813
912
387
195
353
702
529
527
89
831
786
887
879
540
464
870
435
91
382
534
117
924
876
60
33
926
72
174
566
315
310
272
868
354
877
228
238
756
318
642
580
421
904
907
568
48
984
89
400
787
249
329
612
852
589
870
560
226
437
414
369
869
733
814
360
506
618
488
148
233
70
289
690
500
771
973
842
397
271
751
534
121
227
623
613
469
592
108
488
509
342
452
694
987
635
447
706
334
541
153
701
363
586
750
137
879
205
772
859
429
568
555
662
835
627
661
207
893
183
631
354
989
0
332
332
432
609
851
622
887
908
559
362
449
580
378
524
494
340
131
310
396
459
174
623
81
694
796
807
325
519
454
240
707
227
381
197
705
763
862
889
307
474
63
992
796
231
140
676
356
257
848
297
377
924
859
803
620
291
162
344
90
390
511
33
72
743
724
759
732
639
437
38
627
440
841
370
751
596
468
748
333
994
322
974
712
33
687
307
560
944
564
512
609
80
417
953
399
521
4
528
104
222
18
487
308
214
423
884
922
973
946
429
667
545
731
379
545
512
255
269
121
44
397
302
665
559
271
822
154
117
444
605
69
930
682
580
870
682
406
278
940
248
644
719
33
267
196
420
117
357
396
800
939
757
200
94
123
103
721
235
322
509
159
659
161
448
669
444
48
824
6
806
883
31
737
804
58
266
619
781
114
436
918
563
989
208
395
257
47
163
758
47
723
992
598
621
861
355
557
102
858
987
242
876
484
105
114
652
944
389
572
660
613
283
26
266
161
35
36
42
96
526
145
825
987
467
34
622
380
990
264
483
744
983
598
274
276
556
190
381
718
458
506
588
929
164
69
757
449
920
484
917
299
56
850
912
112
260
757
278
765
839
902
913
95
529
958
987
860
8
269
38
665
339
56
553
837
70
712
660
311
143
152
824
739
325
206
821
415
934
609
154
45
701
252
752
730
780
422
488
431
291
779
439
576
121
710
497
640
696
57
978
707
70
724
831
45
185
64
772
963
213
642
287
447
149
534
441
487
377
903
502
183
731
255
906
452
411
608
459
105
523
419
566
167
264
292
554
651
601
656
25
742
622
405
801
298
989
368
629
142
667
99
225
365
299
644
581
324
134
914
968
27
1
13
4
638
188
23
284
656
953
714
86
910
271
184
715
305
344
180
374
723
515
953
36
271
641
454
657
357
285
386
316
429
558
959
123
380
659
495
415
725
80
298
621
879
713
44
19
462
873
726
259
390
20
480
7
336
575
673
942
775
249
528
775
644
38
831
931
85
458
347
152
676
656
833
658
191
601
691
795
666
398
954
793
596
579
360
623
187
504
272
487
938
91
794
985
11
731
412
934
601
364
470
472
532
646
272
607
390
83
160
140
989
456
918
184
330
930
691
895
730
3
480
322
285
489
158
866
204
301
890
905
773
808
493
46
115
951
768
331
803
409
681
793
916
783
111
725
573
986
916
507
48
730
148
0
458
395
612
717
447
296
195
79
920
633
436
253
121
611
337
779
731
593
822
678
746
471
175
514
757
292
606
141
503
828
299
291
507
417
175
320
708
899
665
975
376
791
587
654
751
439
311
350
832
928
648
490
639
442
377
431
649
861
23
268
217
383
245
630
832
701
721
633
102
798
807
35
515
354
921
738
688
906
125
38
161
478
542
963
941
35
125
402
276
229
392
452
532
188
467
221
121
58
730
201
509
439
763
464
383
816
571
987
878
147
944
614
335
984
360
202
484
981
987
942
914
721
144
610
411
817
935
491
518
537
315
496
983
408
708
644
370
603
517
204
457
842
760
298
320
424
748
965
436
834
830
374
896
0
382
469
72
62
697
252
430
389
776
745
915
22
723
766
814
75
952
778
407
674
845
58
724
731
706
267
483
549
713
582
548
938
165
36
457
23
896
751
526
811
616
35
258
284
291
626
751
32
366
133
689
659
627
380
864
727
317
112
942
567
761
529
369
345
118
874
723
739
6
18
925
281
300
524
128
130
468
630
94
176
425
77
388
594
528
949
715
837
671
977
868
258
942
559
904
132
855
532
728
575
84
547
156
167
808
306
502
137
993
501
923
762
392
881
731
964
950
18
629
244
344
623
72
83
199
964
789
969
55
540
384
27
587
48
550
471
417
318
964
892
555
42
608
272
250
501
840
95
958
274
514
977
915
917
30
393
103
495
999
931
187
883
877
238
178
305
382
307
915
866
751
706
477
204
609
14
426
408
4
829
978
479
123
951
346
732
674
659
958
444
584
537
556
99
21
98
699
189
772
5
197
508
50
217
69
546
210
644
758
894
435
788
664
926
93
220
231
263
618
827
65
370
815
261
80
364
565
169
237
388
835
959
29
184
16
867
56
229
339
3
124
46
155
855
556
173
499
219
249
35
169
976
34
232
854
235
229
813
299
99
151
95
64
576
333
937
478
181
711
51
39
555
675
105
774
170
37
968
975
981
979
993
779
242
649
55
490
428
84
535
182
298
607
646
131
745
790
152
815
129
227
292
617
184
436
132
862
215
994
441
175
423
576
232
676
63
405
786
754
982
696
522
527
515
201
916
35
279
649
648
525
712
589
549
545
269
995
658
463
509
945
108
692
335
843
562
82
849
412
844
57
465
366
54
645
480
909
913
606
585
490
807
397
320
877
36
170
267
775
926
616
110
758
486
455
654
428
414
922
303
386
468
53
566
831
446
285
654
73
30
175
30
787
589
997
252
953
387
921
763
380
662
530
119
566
223
802
497
388
294
27
157
721
403
975
755
788
212
491
561
61
676
7
686
293
493
402
163
945
965
583
786
930
986
81
288
846
718
21
825
14
432
732
443
28
986
958
756
248
817
517
843
552
84
276
295
441
523
808
29
170
891
226
274
792
759
469
642
677
187
238
190
328
409
564
964
903
382
558
562
748
123
415
85
708
414
175
958
480
762
789
421
201
556
707
244
324
528
544
737
418
95
969
137
204
99
483
673
498
245
768
271
480
567
31
596
418
66
965
308
945
32
367
597
376
731
50
818
807
525
435
410
30
81
399
976
74
652
611
18
872
202
333
207
667
848
764
930
848
580
710
182
873
585
802
896
772
511
359
222
457
714
644
398
764
852
282
865
348
891
540
467
639
918
381
42
486
685
533
885
291
323
294
349
237
785
953
424
167
546
150
383
511
117
499
206
754
277
762
340
292
970
197
91
512
325
307
335
130
17
12
812
535
993
462
619
111
831
586
931
410
123
107
371
478
876
503
48
441
685
275
243
616
301
874
377
324
636
401
87
858
649
981
207
576
452
101
686
174
487
211
49
541
484
720
860
635
227
758
633
251
794
70
335
494
98
124
271
971
32
859
712
310
585
170
101
331
747
171
667
567
577
669
111
10
911
860
40
799
554
771
381
988
326
89
886
538
606
193
203
209
172
841
550
373
395
537
54
567
622
671
321
421
913
556
657
772
549
403
245
914
552
827
298
987
734
923
330
456
964
546
959
708
853
579
130
952
502
125
328
923
650
526
454
569
351
395
786
749
150
32
585
465
320
153
743
662
552
212
301
802
261
730
914
862
65
460
979
275
900
594
158
920
266
859
495
869
453
587
483
146
206
146
355
5
136
339
771
556
120
960
124
266
232
567
852
968
69
847
589
516
750
920
456
707
232
74
416
150
822
891
756
507
906
629
264
786
672
913
367
22
890
692
888
72
150
834
734
355
170
620
698
407
341
698
955
257
622
112
430
901
173
944
372
504
411
433
610
461
565
84
375
312
307
816
233
741
229
867
149
288
506
884
95
922
82
127
333
688
906
945
375
174
338
957
283
127
272
624
801
503
779
532
213
804
106
870
886
342
100
316
991
860
663
865
74
211
657
105
435
173
922
794
42
347
582
126
485
923
427
315
490
810
684
449
302
44
403
472
796
766
670
413
228
63
67
467
613
664
405
2
331
959
820
920
996
830
114
111
553
808
146
568
923
884
932
88
577
703
27
248
938
392
852
729
481
313
966
562
925
875
463
602
708
58
404
399
557
993
858
593
13
576
926
362
182
568
443
709
375
138
461
928
599
149
892
839
581
537
277
226
754
855
159
85
357
922
304
549
657
169
273
127
797
842
550
914
949
942
314
126
428
750
929
360
799
796
345
215
799
155
771
268
250
337
906
730
477
155
294
71
541
369
924
965
394
499
22
509
696
979
48
805
616
461
867
480
685
622
88
125
552
533
549
172
200
289
446
418
980
221
757
390
851
753
653
641
593
86
264
175
70
684
759
116
890
880
256
34
342
751
987
704
593
741
936
383
647
278
950
167
216
495
783
23
471
954
108
123
901
123
652
802
826
413
619
393
682
829
558
433
257
23
722
628
708
411
665
506
373
199
892
927
422
287
38
50
773
14
707
16
964
497
628
818
902
587
717
788
63
667
552
954
996
307
224
438
277
65
154
45
550
15
594
953
348
413
220
141
721
542
286
513
883
958
729
571
428
27
215
632
102
296
720
86
676
922
343
382
851
156
610
466
200
613
932
400
803
790
546
126
666
318
743
438
877
869
621
513
619
665
922
814
740
158
6
894
424
71
274
725
690
634
979
628
56
864
191
363
354
278
196
195
927
487
868
813
947
16
693
110
771
493
320
106
66
211
276
947
68
17
819
776
88
75
160
398
979
181
458
551
925
128
141
407
650
54
741
735
243
534
715
695
152
389
499
254
353
343
651
697
437
72
65
710
906
742
910
805
149
148
715
217
501
290
870
137
813
467
885
161
459
100
97
954
250
621
187
773
434
496
628
648
491
687
164
873
48
211
320
326
56
183
156
289
693
805
824
822
885
466
618
300
685
677
956
921
213
204
687
729
117
731
232
242
966
652
774
320
523
918
240
801
168
49
299
968
16
936
742
738
370
245
241
144
92
930
222
248
300
609
834
97
194
870
12
173
676
361
725
255
799
593
874
185
854
290
994
759
293
912
167
342
261
379
139
178
926
82
267
731
712
686
770
408
824
234
113
818
772
319
50
900
306
936
291
805
518
489
584
690
436
721
849
73
434
686
681
796
782
79
658
988
584
905
641
942
375
763
96
467
94
412
746
346
345
870
119
780
62
946
684
279
109
142
160
463
390
746
118
912
520
84
778
169
155
769
619
338
632
430
270
508
232
109
691
259
376
393
530
370
780
242
886
986
949
329
237
579
11
881
235
885
60
628
403
267
22
71
993
298
75
709
218
386
582
771
980
228
534
875
537
433
72
679
441
34
640
993
544
428
587
667
839
372
626
684
672
863
558
21
77
365
479
775
563
859
641
547
405
647
586
954
865
38
617
556
884
136
812
403
743
247
687
268
742
127
481
249
579
682
390
422
235
222
827
259
283
379
216
705
771
814
416
606
185
816
52
665
914
11
323
601
398
204
953
888
409
865
755
306
918
479
537
339
314
321
716
665
359
595
934
755
953
812
869
967
100
604
513
777
539
592
640
575
534
616
456
272
446
55
456
499
536
260
169
13
464
176
688
404
918
339
89
576
832
664
128
454
241
209
118
909
270
642
264
373
877
52
898
885
795
820
283
248
678
899
965
969
272
635
448
6
185
403
251
281
22
988
720
117
106
97
249
243
493
537
533
68
984
231
438
264
297
597
438
807
997
529
673
252
555
960
239
42
699
243
281
275
820
32
294
926
677
125
355
807
662
28
880
316
438
179
176
737
31
790
659
973
491
110
13
891
973
639
171
27
387
902
739
623
854
896
130
896
979
309
227
573
312
169
646
322
234
437
962
453
388
788
930
573
442
53
464
465
756
306
35
114
12
415
441
799
484
634
29
771
565
553
893
215
779
860
921
839
489
982
419
55
27
816
12
560
186
526
746
896
248
133
845
133
333
300
669
137
285
227
619
461
895
148
18
959
704
376
628
412
91
406
955
297
476
136
259
999
318
154
765
713
488
554
190
894
412
393
940
602
98
456
866
387
253
729
578
613
302
469
387
540
81
447
884
312
165
333
137
743
35
462
150
140
995
628
216
846
642
181
417
606
567
779
291
559
292
21
951
108
41
1
489
155
575
34
455
865
205
889
692
168
306
617
409
417
991
799
598
22
641
391
289
925
243
454
852
605
731
187
375
841
176
347
359
516
778
390
495
746
649
622
115
190
130
657
600
193
470
178
218
454
713
58
814
951
436
501
416
278
596
745
457
373
521
410
11
126
64
988
66
983
162
594
815
998
142
653
16
566
545
903
299
963
787
250
384
953
56
217
120
826
959
628
166
766
270
804
602
525
432
370
500
315
546
530
462
537
102
281
359
151
733
476
802
239
903
944
304
582
458
826
362
159
841
577
839
429
409
884
347
919
410
270
572
853
193
65
554
897
736
133
300
628
183
678
995
51
396
255
801
413
505
485
740
439
81
700
415
20
106
584
511
483
629
396
504
957
263
910
893
84
504
939
829
599
785
17
51
753
558
135
454
745
896
58
187
338
330
760
52
872
998
690
895
406
423
12
328
991
713
4
629
990
537
173
65
252
530
913
742
423
978
887
157
367
743
536
905
370
322
371
963
247
801
468
174
566
208
647
715
2
395
312
251
873
116
889
240
943
606
796
143
870
596
709
944
9
688
843
441
114
299
105
932
296
377
945
281
196
695
493
857
384
738
145
840
258
213
96
429
631
187
984
886
685
966
413
417
23
149
390
366
201
21
100
757
510
53
437
498
52
709
947
711
661
824
853
532
891
440
674
854
253
875
155
825
805
460
628
288
399
703
302
792
212
794
505
776
572
557
872
555
957
482
353
629
653
567
233
428
784
955
580
2
646
424
454
53
993
324
752
439
768
537
588
196
258
138
221
412
850
801
895
44
560
157
63
306
28
112
86
558
231
621
152
189
784
272
316
225
954
383
372
866
966
99
116
399
518
675
427
503
454
892
55
888
493
396
220
462
649
75
793
224
228
974
721
384
121
143
854
125
565
227
913
49
832
343
197
565
6
773
790
910
268
328
888
533
554
784
264
368
264
958
549
335
188
254
690
177
283
423
151
264
196
707
235
461
367
291
884
301
52
889
962
399
924
161
184
359
650
59
230
959
989
112
656
443
592
790
848
709
437
286
285
129
595
646
85
815
984
963
220
973
496
541
70
431
668
797
147
526
93
479
531
981
412
327
806
522
399
992
485
923
526
471
342
680
848
215
615
612
929
736
356
360
655
2
162
409
99
861
810
191
582
341
125
965
572
653
985
467
308
104
407
877
758
783
501
611
237
209
224
63
523
982
235
435
691
906
88
58
151
668
427
340
417
743
931
592
435
747
522
838
495
586
825
972
997
724
227
133
960
929
481
918
292
292
557
322
173
818
889
466
308
165
972
61
915
54
191
406
559
581
732
277
437
306
742
300
211
677
6
760
243
986
17
9
17
42
120
852
608
878
382
368
560
221
600
39
331
435
962
312
86
213
641
140
18
889
789
979
932
901
136
171
247
819
549
699
401
267
517
412
251
21
423
927
157
979
155
183
582
948
733
168
233
320
12
991
157
668
184
524
595
131
110
341
492
603
140
337
234
258
575
432
190
822
296
382
627
792
365
976
953
684
426
34
365
148
646
226
427
620
452
740
396
301
911
426
8
575
433
795
160
316
68
17
429
111
427
194
289
456
551
166
736
563
415
131
767
569
512
672
26
65
906
237
728
478
620
744
775
456
586
698
606
477
575
1
489
960
383
175
652
326
34
957
126
283
929
184
683
655
539
213
995
559
13
619
632
130
804
823
908
986
280
286
784
53
164
499
21
613
208
851
998
10
210
436
853
209
455
520
398
72
612
661
584
983
659
862
449
279
832
88
622
779
18
949
918
311
324
350
493
979
725
719
31
971
79
160
57
619
241
808
599
626
343
321
35
0
681
263
13
246
789
242
651
853
116
356
945
46
760
233
728
345
603
7
119
415
997
459
549
950
7
695
85
23
864
445
817
447
926
470
206
777
3
523
191
913
819
699
915
457
150
27
874
642
770
427
484
853
972
533
999
350
44
84
31
903
660
275
445
659
483
766
949
320
932
311
684
622
421
167
884
571
74
525
536
541
359
295
658
391
23
107
862
721
208
122
631
872
648
986
466
496
200
652
265
787
119
446
699
255
74
981
48
520
887
506
975
12
844
130
484
690
169
338
425
613
419
890
907
913
912
271
144
148
500
163
911
857
491
481
600
845
424
442
858
139
393
645
220
807
398
927
294
246
32
514
656
648
588
679
64
701
784
750
643
437
529
89
465
545
534
58
333
901
646
743
83
198
973
991
110
239
993
209
145
495
626
898
798
997
286
946
583
191
119
118
814
245
283
728
146
333
70
481
454
133
237
218
972
651
313
84
396
926
819
948
800
744
701
459
535
138
757
843
427
946
491
309
29
414
998
236
922
180
827
503
14
621
463
957
131
384
943
177
460
366
574
331
382
768
305
563
565
283
313
569
35
715
59
582
802
807
479
50
553
967
567
501
92
220
823
707
205
223
885
300
964
727
761
599
277
846
287
888
526
501
339
831
470
423
856
291
786
408
674
39
570
822
694
296
307
202
195
917
986
210
207
717
81
175
836
580
61
622
877
127
176
32
565
874
975
27
969
981
6
670
830
962
971
740
397
399
49
17
84
894
455
44
298
754
74
669
843
844
402
268
385
842
574
379
860
914
420
464
999
550
349
181
949
297
167
813
473
675
911
410
85
193
598
234
453
9
724
481
441
489
433
842
200
990
188
869
847
262
970
763
208
357
666
734
788
555
916
769
107
666
347
62
191
888
658
387
252
581
295
631
678
8
7
927
113
384
956
817
148
773
366
869
537
474
724
337
358
22
95
158
727
699
962
996
190
920
565
579
189
462
240
878
771
94
946
786
545
673
436
342
182
462
489
600
306
850
129
104
961
523
170
908
891
110
720
810
750
998
627
457
377
119
801
220
136
179
903
620
628
922
516
8
854
299
360
178
737
599
74
263
612
325
364
749
51
702
877
474
401
352
977
878
767
390
66
391
109
784
369
68
442
942
88
815
291
11
376
183
28
365
991
288
349
797
613
315
783
544
934
299
519
570
434
427
355
808
771
121
86
922
67
228
593
12
614
45
581
325
341
808
5
777
215
858
98
815
732
214
24
572
805
870
777
46
319
443
143
135
327
873
199
778
468
288
316
269
106
447
938
293
789
713
928
330
958
464
98
61
6
259
741
314
969
501
751
719
456
496
368
882
58
535
80
194
567
527
543
922
128
588
612
434
107
556
347
901
590
753
804
51
906
19
319
124
481
757
26
802
176
571
841
102
855
141
157
271
186
642
689
671
687
458
713
633
862
220
212
977
866
49
706
711
62
573
752
245
524
780
845
738
141
536
16
555
718
474
825
63
825
184
930
117
345
325
669
330
595
361
286
934
877
457
51
606
586
622
726
813
710
455
488
216
167
246
852
628
116
738
707
651
319
66
496
991
708
112
72
514
175
796
160
855
233
839
412
312
613
427
527
373
418
77
858
887
136
278
284
879
288
37
225
625
192
947
982
923
379
741
278
690
349
55
862
2
325
9
763
281
885
548
521
635
144
736
932
620
73
435
305
127
303
572
4
882
128
893
306
877
23
998
331
6
598
245
167
539
585
307
548
61
703
935
655
776
385
457
585
631
45
279
415
6
190
729
851
822
210
189
678
616
290
893
740
590
438
451
87
909
135
929
344
49
53
151
793
695
945
512
263
999
574
477
549
809
691
63
762
348
672
708
491
906
49
691
139
511
361
907
800
847
277
108
470
866
915
995
228
413
239
213
66
227
144
310
429
644
137
598
296
864
717
266
127
200
997
80
425
187
9
302
409
335
599
671
828
329
503
710
634
506
708
51
465
751
727
981
54
774
246
337
567
218
903
316
610
328
615
10
474
949
843
819
967
740
704
312
536
491
170
152
554
66
357
688
471
759
906
0
473
130
3
616
425
308
810
934
739
18
221
665
853
623
471
317
222
317
305
622
774
438
458
186
246
960
944
73
431
159
895
681
732
680
307
892
902
413
698
287
786
712
866
868
892
478
940
340
313
26
820
474
714
863
341
43
508
96
344
556
771
150
827
387
421
464
790
828
310
430
420
680
121
552
827
551
268
792
421
761
344
457
152
240
416
46
468
894
971
614
342
837
252
163
575
742
464
494
507
684
540
662
968
404
307
43
772
118
667
546
876
463
246
666
8
255
908
777
81
127
150
802
841
344
988
462
3
998
126
379
968
207
32
701
69
931
907
904
537
838
987
68
351
36
155
844
574
93
637
249
724
992
727
361
459
450
538
232
972
383
978
137
684
117
316
333
482
966
298
948
24
362
630
912
232
655
139
827
296
438
296
15
846
953
149
767
647
923
798
561
362
710
869
892
531
483
111
43
635
379
673
458
156
583
418
169
764
948
155
479
693
979
868
751
178
451
836
26
1
713
905
683
418
24
945
258
511
254
981
547
909
84
609
246
269
87
561
340
477
378
930
433
699
509
290
173
495
157
491
30
136
321
994
180
52
786
937
122
206
332
63
235
790
928
668
580
269
664
515
524
740
217
219
624
664
287
520
776
167
458
251
742
924
439
263
185
477
215
502
528
447
685
519
380
994
986
353
886
131
499
585
104
802
304
671
143
95
558
396
281
467
226
532
26
121
139
752
834
692
409
328
490
735
190
682
108
334
717
500
556
404
59
269
874
725
395
947
840
663
682
424
296
928
917
473
774
21
385
406
377
533
898
859
888
659
205
716
136
719
651
716
22
184
423
487
597
664
990
355
172
990
114
384
947
632
940
700
276
971
273
557
241
749
407
479
712
456
894
965
69
105
403
135
633
380
246
415
654
391
713
336
700
496
895
6
548
88
697
331
301
277
160
437
951
3
590
441
15
929
50
58
131
745
527
97
347
292
465
140
924
103
736
633
531
101
74
929
798
569
534
139
589
745
894
89
969
666
720
96
240
364
327
388
726
388
197
765
62
434
373
794
769
441
90
563
722
68
932
692
662
337
96
265
384
169
208
888
839
184
869
936
119
434
80
42
799
845
841
286
619
535
261
399
626
215
882
502
725
296
137
925
733
844
368
932
777
498
350
128
691
425
598
842
761
4
648
997
360
797
192
608
167
654
181
356
416
273
422
452
990
799
702
354
890
215
259
268
957
455
739
44
193
615
632
370
84
440
187
481
739
369
586
924
451
942
630
731
852
173
771
809
156
130
62
673
934
21
471
361
242
561
408
249
17
924
416
489
156
626
502
70
566
787
672
812
628
884
941
560
660
521
87
337
806
755
73
507
265
639
753
24
817
827
330
282
139
386
712
549
659
353
295
417
712
228
418
593
467
275
689
26
459
478
139
80
375
570
270
185
489
371
971
278
744
526
962
479
217
711
232
753
228
849
116
688
349
151
752
391
421
529
412
664
350
401
817
789
612
896
40
517
298
115
174
781
934
187
616
660
294
612
587
382
801
593
256
311
694
277
281
744
229
230
853
246
249
444
596
468
40
882
484
965
879
323
634
914
720
13
664
368
153
71
814
614
996
965
343
108
948
72
51
27
371
572
652
766
89
236
18
389
740
660
845
728
892
721
846
877
849
29
341
241
881
520
296
702
573
234
80
248
880
941
565
49
303
196
848
183
982
215
311
126
242
357
336
124
21
113
219
818
570
799
493
809
25
605
158
548
990
807
39
518
775
20
745
636
596
319
12
994
307
886
710
505
722
499
389
95
217
59
155
54
192
168
782
268
42
574
896
504
480
256
430
518
242
719
692
610
904
481
551
989
28
978
353
178
745
668
437
306
461
827
434
43
910
462
840
901
0
147
326
358
142
104
605
254
465
265
612
984
689
481
692
298
769
456
762
642
350
153
92
992
561
753
981
199
586
731
37
673
340
921
615
680
125
839
949
848
244
517
985
299
234
307
865
570
194
954
895
252
185
418
335
881
736
69
547
717
830
496
419
933
340
916
881
625
918
388
783
34
792
459
304
828
75
318
693
940
910
888
606
859
148
258
440
676
162
730
596
562
387
891
521
381
48
702
868
977
591
758
313
933
855
816
427
595
937
529
333
138
12
306
162
474
936
581
404
481
144
641
569
764
789
333
220
172
774
802
302
866
537
564
423
420
7
325
858
411
148
129
463
32
733
178
335
256
457
575
540
674
821
128
346
108
67
452
306
973
522
903
507
200
675
471
663
60
501
120
179
17
976
418
145
673
862
955
727
795
300
811
744
45
250
928
690
694
975
544
213
687
970
257
644
476
911
227
557
416
9
452
331
939
976
658
139
897
966
741
435
310
366
726
525
856
498
89
596
375
668
435
323
33
654
574
730
972
43
463
502
366
243
442
696
229
679
143
646
681
114
951
508
226
660
935
883
788
504
967
991
667
394
50
298
619
529
154
873
336
825
768
749
113
60
550
219
753
323
767
599
507
704
550
410
382
957
276
3
723
652
810
458
418
380
25
714
26
803
216
155
13
385
337
548
662
721
663
161
715
939
427
662
969
395
221
992
739
674
639
0
771
774
384
152
147
76
440
217
57
163
935
521
309
952
147
809
487
641
842
592
215
18
286
383
529
698
551
651
997
442
816
747
314
784
682
768
874
360
83
786
274
212
452
70
428
537
219
281
404
541
137
258
993
898
571
141
170
999
530
799
55
363
906
677
314
830
337
920
377
236
748
378
510
132
944
262
284
192
147
575
506
273
633
381
290
88
303
93
465
196
356
631
136
186
82
243
940
799
846
273
533
399
655
159
749
244
365
729
807
662
766
242
664
767
446
41
922
855
724
579
925
226
980
48
742
100
836
967
29
334
140
510
236
34
375
218
808
352
720
777
18
158
612
231
659
282
698
426
296
798
856
187
953
904
82
397
318
238
411
496
362
722
990
317
445
919
906
974
875
728
727
494
786
972
735
887
640
589
872
117
228
478
852
491
125
918
291
231
879
155
460
374
929
584
400
849
254
728
875
151
584
297
734
544
916
714
695
427
407
342
409
780
949
729
498
273
771
241
368
747
836
288
442
88
374
131
24
476
768
256
887
895
885
81
17
250
322
305
773
155
643
685
852
746
502
400
199
551
739
898
858
429
852
944
250
516
488
300
594
207
262
555
534
804
557
344
505
503
64
750
894
359
12
348
136
110
771
39
427
543
395
353
607
888
293
188
943
679
665
441
993
239
826
884
309
201
574
559
25
680
535
250
296
825
889
142
829
390
952
468
858
978
510
517
112
297
295
247
951
281
713
433
932
265
215
129
377
422
691
140
59
633
220
579
958
618
46
574
838
551
255
264
916
734
207
148
481
391
460
457
10
903
194
740
977
564
88
676
514
747
320
910
645
73
473
250
698
710
254
773
121
209
764
19
978
72
60
324
480
938
633
840
667
306
157
51
949
498
116
147
671
876
285
448
725
955
212
441
608
977
190
374
346
226
373
923
842
518
585
189
272
720
475
572
672
144
406
91
35
10
882
591
747
684
655
35
490
145
641
66
686
104
284
383
946
840
590
54
127
758
384
255
948
639
942
909
367
948
250
501
452
619
387
85
291
222
985
182
855
241
342
781
456
135
25
257
362
173
919
941
572
886
754
940
493
19
854
318
44
953
146
904
769
361
358
341
336
811
93
814
990
44
769
378
46
824
530
399
298
938
914
801
828
208
152
31
420
659
314
721
940
290
396
447
273
769
43
396
663
129
155
953
119
589
872
623
263
528
357
526
617
448
473
863
284
40
206
318
488
584
835
618
11
382
144
634
109
425
584
199
140
942
185
552
140
938
265
376
994
400
419
182
803
44
76
699
726
903
625
197
340
840
421
475
635
675
75
582
954
928
688
912
634
618
780
783
111
44
117
179
298
59
618
584
656
744
550
589
355
316
744
540
357
766
528
398
561
404
756
268
685
356
283
714
362
841
355
185
652
739
276
66
397
673
717
835
334
807
772
62
262
755
682
86
394
786
529
808
100
44
569
747
501
755
485
154
713
505
972
16
688
580
964
661
834
481
633
72
921
423
827
17
41
818
491
999
688
862
440
602
249
904
524
602
534
687
641
347
65
479
231
490
977
341
779
138
546
788
541
82
621
828
601
19
814
975
739
958
238
408
162
715
776
500
941
583
943
46
736
540
233
300
482
932
61
836
735
547
693
369
43
857
482
989
678
528
576
666
932
512
833
169
522
512
177
798
42
322
691
885
225
824
911
577
886
453
488
495
376
627
687
381
529
327
36
923
891
91
505
786
903
284
813
107
645
774
290
974
878
196
554
259
142
926
452
512
631
155
596
358
144
432
959
653
323
956
10
562
979
580
981
421
307
585
68
197
642
739
136
626
872
804
408
661
136
696
284
462
470
432
92
307
238
864
531
846
494
77
972
950
519
909
658
371
590
428
773
625
403
493
545
274
601
279
199
914
354
224
658
150
981
220
592
278
565
286
909
574
161
729
888
732
760
955
590
730
152
223
427
245
149
401
155
830
305
830
111
285
756
47
532
664
212
377
632
655
432
553
756
313
355
999
981
852
206
589
379
727
719
536
22
508
19
660
296
554
817
252
594
71
892
154
444
775
331
725
308
116
156
246
996
370
633
253
230
493
247
59
194
637
742
822
523
760
425
298
174
568
523
483
247
609
199
174
333
324
364
659
752
646
855
185
607
930
502
206
224
232
473
85
700
479
818
754
341
215
866
215
3
692
898
21
340
363
975
962
308
262
28
592
465
23
576
506
758
664
820
188
13
449
759
922
133
244
448
788
611
9
906
275
103
545
331
254
544
648
514
758
367
196
471
489
923
912
254
914
176
986
998
714
290
265
948
676
517
851
189
125
835
485
900
194
455
577
707
300
289
113
802
188
523
720
572
689
366
175
660
297
303
469
798
827
795
818
464
999
551
492
610
348
819
163
688
856
628
228
656
591
958
915
462
580
933
873
73
210
671
626
678
597
883
962
462
906
682
523
456
338
961
658
971
498
161
747
267
247
966
457
620
265
145
891
31
143
830
445
122
523
23
166
391
332
857
285
689
28
198
15
147
102
961
909
546
695
561
925
909
156
773
585
331
669
355
874
960
661
797
453
852
154
83
285
382
675
394
930
453
549
561
86
125
164
723
293
521
828
129
440
475
898
503
82
503
699
687
155
472
549
109
301
782
747
79
482
553
402
966
14
239
200
679
843
771
24
355
156
388
331
754
916
227
182
578
305
320
287
4
686
257
823
450
183
901
215
797
730
756
255
122
11
694
493
608
534
453
68
185
170
403
490
118
960
367
654
320
59
608
751
640
768
211
606
573
767
589
299
425
593
272
774
783
825
300
512
685
162
982
365
261
282
156
853
114
654
126
137
761
635
894
664
315
789
849
458
716
163
425
923
265
424
357
611
905
287
770
110
85
874
874
691
801
721
467
228
146
211
624
996
554
711
302
974
707
286
459
876
296
239
241
18
331
849
290
194
520
971
143
229
335
653
718
297
362
877
8
702
930
636
249
280
910
789
907
464
959
636
654
194
308
935
634
243
608
473
871
736
924
560
643
477
601
808
621
692
876
922
603
835
149
123
703
983
729
66
684
207
278
784
528
832
576
680
277
14
13
566
710
205
718
186
221
899
434
270
998
364
591
406
176
473
348
614
106
464
221
345
243
149
92
812
733
558
869
23
250
633
490
764
626
706
978
76
876
639
389
251
190
414
303
336
395
761
234
70
660
735
869
557
5
132
238
678
691
422
458
833
943
509
357
713
686
839
978
969
609
113
65
219
784
146
191
240
400
356
787
934
992
953
269
692
321
479
829
602
553
333
343
873
385
615
426
100
785
28
624
388
33
238
497
358
42
457
110
940
322
649
256
51
596
41
400
495
983
143
35
690
514
33
223
231
807
815
985
806
819
848
181
914
613
210
724
529
143
498
639
378
565
106
105
942
797
552
521
196
799
29
925
303
821
681
377
293
271
916
361
379
364
773
181
277
413
669
831
287
648
904
60
567
503
826
124
443
908
433
90
368
367
574
544
943
707
490
288
938
965
7
352
511
807
488
732
370
672
751
933
507
894
967
451
923
733
369
684
475
480
397
31
140
247
600
240
93
106
936
531
197
228
775
61
26
797
524
915
804
494
583
106
398
804
440
533
722
322
215
739
177
806
683
824
614
852
300
807
379
479
98
876
139
406
903
171
380
715
26
259
217
975
56
772
918
941
570
568
962
470
522
233
943
527
164
620
695
302
395
348
94
827
8
708
577
404
671
258
700
295
184
892
120
193
416
339
488
314
440
181
865
949
317
395
834
274
29
619
203
971
497
428
574
906
419
24
875
945
451
432
353
648
589
764
298
835
686
887
733
744
663
616
382
983
803
417
410
632
550
604
359
569
375
840
366
469
574
24
947
310
739
103
209
672
215
88
302
820
536
332
431
582
469
780
919
446
750
783
159
759
363
449
751
395
995
330
175
367
947
417
554
349
179
40
211
426
71
93
756
190
468
986
685
941
920
849
829
871
130
807
825
30
911
64
865
101
172
700
936
673
527
186
673
710
374
13
315
868
131
280
728
57
62
644
395
548
794
118
902
533
457
23
718
223
460
230
555
869
375
383
102
634
924
967
985
768
155
246
116
147
854
50
237
198
947
106
806
534
818
698
520
409
912
348
469
628
552
444
986
132
295
938
497
896
411
121
379
332
249
93
911
859
602
114
938
71
251
684
602
40
806
112
831
922
915
247
648
958
813
4
3
869
977
320
470
113
864
185
541
423
978
860
423
893
145
14
498
354
438
975
91
551
89
550
870
156
215
418
406
475
0
530
153
351
715
969
538
349
27
154
130
561
213
564
810
426
594
412
223
975
310
758
400
744
437
73
635
107
303
233
410
437
133
409
363
700
358
199
884
597
555
242
106
394
571
149
418
828
939
548
203
492
686
104
994
403
31
574
203
776
770
274
391
892
78
812
426
449
658
469
350
251
484
527
765
86
816
757
554
659
918
230
554
135
443
306
915
309
958
432
762
657
7
227
334
423
454
467
94
946
552
490
972
835
138
742
399
522
796
488
912
127
356
808
580
743
191
165
880
932
65
102
432
557
346
234
876
227
594
38
643
920
982
94
881
985
19
429
190
334
0
402
80
79
324
275
226
812
34
46
939
187
378
692
912
720
68
404
489
543
893
96
816
647
354
631
533
968
37
16
640
809
620
774
710
73
804
31
938
903
654
772
410
675
690
706
755
962
806
180
727
713
594
618
413
2
839
801
509
768
723
351
460
405
331
486
228
272
702
910
105
913
129
934
284
835
253
520
541
265
463
34
305
973
928
579
380
613
388
801
785
432
625
503
121
841
844
80
558
364
10
339
816
601
511
459
920
844
397
68
248
627
480
950
639
272
913
488
17
295
968
222
411
362
666
669
419
759
24
279
123
251
925
924
229
695
176
428
660
969
624
2
320
588
484
630
613
571
315
461
860
836
246
634
995
602
903
668
594
633
332
143
930
351
522
522
553
783
483
233
683
370
640
101
297
57
34
111
661
52
382
262
236
583
843
647
730
155
138
194
302
717
421
235
997
246
506
873
447
474
798
839
45
138
593
438
881
340
123
643
844
12
185
624
395
160
436
296
878
135
802
241
471
995
888
441
136
828
85
488
253
147
834
699
232
970
438
429
403
475
479
689
134
566
17
150
799
688
324
635
129
584
633
66
82
213
876
261
824
369
164
425
503
70
652
605
611
907
21
986
915
272
514
828
735
951
16
419
959
532
531
643
21
46
116
487
902
378
427
826
843
724
377
73
991
551
14
791
782
722
565
733
994
235
620
407
105
376
992
758
260
388
892
183
635
495
563
585
808
184
65
442
181
65
847
358
586
447
549
63
765
151
592
152
948
617
131
341
533
618
737
671
752
610
751
952
329
42
603
585
125
126
254
344
889
95
113
391
899
909
524
765
5
377
182
971
871
757
349
3
117
830
904
309
988
180
31
421
276
311
386
956
561
994
113
184
879
578
505
165
166
368
633
38
352
883
980
300
383
870
296
495
678
454
263
550
770
544
559
692
274
940
60
113
80
48
987
71
367
846
81
74
745
64
442
890
637
241
393
546
387
555
462
443
686
253
71
523
671
228
216
903
484
794
412
313
28
689
10
339
428
777
122
389
641
65
547
802
722
866
35
129
158
511
224
620
361
846
75
351
692
513
763
417
240
270
605
138
747
627
9
936
465
654
620
19
488
540
81
768
997
203
622
886
701
735
993
269
513
313
533
531
134
932
157
271
746
775
490
584
592
302
392
309
935
721
830
131
569
196
222
391
941
536
799
710
472
910
931
173
702
418
737
473
153
20
995
314
339
263
454
129
235
580
864
315
813
870
555
922
638
686
784
754
444
551
681
707
872
347
348
711
70
348
219
953
203
20
414
361
827
154
615
689
329
71
773
616
146
786
232
993
186
400
283
901
433
180
369
364
340
945
244
973
246
737
121
393
789
120
618
32
587
307
986
297
677
533
30
196
953
355
110
466
539
214
204
622
199
475
932
182
150
562
550
538
553
554
563
724
580
396
388
50
380
64
866
253
745
600
357
930
341
367
513
901
998
535
511
101
171
828
4
682
61
524
979
769
92
891
96
134
122
241
817
818
940
624
753
100
447
780
991
866
161
602
945
725
694
233
869
441
219
886
872
995
857
454
826
459
847
368
799
457
357
750
405
634
863
536
823
402
385
77
21
39
729
905
213
348
938
311
106
762
913
555
520
32
608
366
273
711
160
476
858
530
790
105
553
316
948
148
189
144
615
803
409
275
430
392
160
452
961
401
252
984
145
202
454
574
572
522
797
61
880
385
47
564
965
540
324
422
164
872
156
319
574
984
223
884
760
978
450
177
260
872
690
10
197
44
135
337
254
57
63
979
129
149
384
978
950
86
932
618
636
911
610
559
621
646
50
744
312
624
187
297
335
726
717
512
475
356
44
287
650
943
39
37
213
689
190
680
37
502
7
183
213
332
934
608
209
462
464
508
387
230
500
198
930
611
219
753
596
276
492
74
462
160
503
248
499
741
928
731
835
827
759
934
174
31
848
807
136
128
55
40
400
190
491
354
699
831
258
748
432
21
235
175
342
43
749
732
801
71
49
435
592
727
667
473
39
760
278
356
813
551
832
535
49
279
806
877
176
724
381
174
35
404
306
922
943
964
93
52
149
907
698
934
553
482
389
549
53
517
695
273
278
339
659
315
433
445
662
724
799
572
610
730
179
349
301
920
511
322
124
996
791
1
840
942
874
244
371
112
933
43
978
298
772
347
257
101
4
763
486
973
837
793
757
895
594
990
711
770
342
222
247
429
866
52
633
506
878
48
595
687
967
793
515
179
255
71
899
532
414
555
579
329
613
716
783
579
97
454
932
681
984
431
787
234
715
856
225
161
657
546
832
287
859
698
222
682
899
716
841
20
750
374
558
188
84
593
656
575
908
368
380
249
922
211
797
608
752
26
566
188
633
706
295
713
455
503
664
814
413
388
54
728
360
173
704
256
328
795
934
941
156
542
509
390
420
679
469
529
640
209
904
985
472
101
306
872
445
487
233
523
225
264
8
59
258
851
897
940
690
70
369
767
899
752
853
552
966
868
577
710
945
492
579
800
639
405
852
363
80
12
878
167
551
61
662
96
716
135
382
579
411
237
977
930
52
347
41
135
966
381
929
110
16
67
264
814
78
746
704
739
109
178
557
570
895
682
267
58
796
622
823
382
34
20
639
726
691
881
631
15
25
320
214
772
750
584
451
256
561
120
151
690
937
195
89
834
534
68
935
39
615
368
937
725
705
64
876
118
74
875
427
635
700
806
354
330
529
152
34
828
540
987
21
418
731
353
607
903
919
371
528
518
665
536
776
614
83
805
574
579
394
826
623
924
908
400
588
24
707
435
275
785
358
929
528
557
417
31
610
127
468
762
875
696
940
524
577
474
124
847
655
983
988
738
363
251
664
947
25
949
181
462
214
796
455
776
652
322
95
52
802
262
140
109
911
276
450
898
101
194
729
969
182
618
844
109
961
900
603
793
493
285
839
342
102
31
869
353
518
793
497
203
80
520
24
494
137
748
563
72
785
628
276
608
681
14
324
579
891
68
610
39
985
938
709
721
793
631
558
431
856
648
237
609
335
756
323
991
111
871
530
340
93
237
960
462
980
584
546
967
582
574
863
429
806
293
575
287
662
191
906
751
937
576
83
805
626
923
326
339
384
258
160
481
376
698
914
918
195
44
158
405
799
370
740
225
471
111
48
185
900
713
147
570
84
549
99
400
526
882
661
344
440
860
965
719
252
199
338
297
899
540
392
244
730
514
79
895
652
47
246
973
646
935
461
337
176
451
305
599
569
171
621
91
747
613
253
367
180
724
697
342
105
913
375
299
53
122
311
776
399
496
675
212
58
296
923
369
119
626
33
379
616
869
408
164
273
508
403
618
22
876
721
942
713
936
191
847
67
283
646
877
344
911
660
734
839
878
142
67
379
39
122
710
368
67
945
306
45
265
332
855
1
634
736
812
928
271
898
599
76
467
366
479
776
459
632
594
307
666
643
564
382
366
85
863
955
797
689
782
632
302
399
505
412
704
141
957
206
303
611
36
989
585
803
369
209
48
229
825
977
226
551
96
791
123
616
989
530
991
928
682
719
904
674
337
308
285
182
263
19
255
471
127
802
791
344
32
358
282
912
790
459
381
119
670
973
181
28
641
891
626
788
409
960
238
57
649
851
315
359
112
376
551
591
767
122
980
309
938
310
809
532
990
252
59
503
432
133
512
331
250
362
95
690
227
808
341
818
22
341
970
577
903
297
937
506
982
818
778
708
882
6
993
701
410
515
523
736
433
38
901
426
424
180
27
66
26
262
352
202
927
831
250
104
12
707
175
312
47
553
628
332
850
136
135
750
892
315
458
96
12
517
410
219
40
122
325
756
996
818
74
701
185
898
818
334
812
693
171
272
95
284
70
844
888
994
281
0
948
254
398
95
69
769
36
373
830
109
547
202
808
578
39
772
116
595
96
940
692
23
678
335
814
779
612
511
323
974
594
902
354
696
142
408
779
777
239
154
467
905
72
827
790
431
197
826
884
496
226
34
47
684
779
490
399
68
403
709
831
12
375
280
49
507
126
87
83
287
159
803
269
201
567
543
872
538
725
13
989
601
718
501
250
541
1
34
268
19
358
916
321
857
863
190
200
605
155
391
222
410
35
449
369
258
289
688
348
868
83
912
363
671
612
493
750
757
446
812
715
986
741
94
141
572
888
747
410
639
159
842
802
893
921
210
432
160
287
938
605
713
642
51
472
696
558
772
816
66
39
673
5
890
797
219
146
17
486
739
168
214
930
713
372
548
247
972
761
480
832
470
279
852
462
818
168
453
130
582
960
39
655
779
658
164
740
597
128
793
224
707
819
177
587
78
734
672
902
296
265
978
4
91
591
71
310
167
32
650
596
459
769
128
241
93
618
115
320
132
999
653
563
997
985
910
822
900
596
844
180
892
826
956
588
412
627
490
526
207
256
169
819
382
630
591
16
609
865
220
342
182
510
813
215
795
703
959
905
470
438
160
603
832
551
852
196
122
64
121
530
245
741
550
571
747
608
647
785
680
391
207
374
26
394
493
347
842
631
142
159
244
43
655
653
933
826
757
193
283
209
225
989
95
974
236
281
750
215
124
835
205
308
423
46
827
342
623
288
611
762
155
212
208
274
96
920
841
382
98
513
618
192
303
871
440
988
942
800
526
258
531
353
874
800
216
685
188
237
689
778
797
599
411
740
733
881
265
50
513
420
247
817
72
394
276
149
261
904
204
104
617
716
476
282
183
148
825
773
716
254
902
51
814
270
97
162
696
505
935
888
178
174
553
222
556
775
996
483
163
832
865
112
923
89
959
255
996
132
612
414
706
615
178
371
89
209
721
284
111
777
939
820
926
245
835
16
120
312
65
812
42
935
794
729
163
77
264
35
164
313
869
889
305
152
763
411
751
213
816
248
7
751
633
147
484
434
571
735
735
557
564
229
981
676
31
194
456
382
62
38
259
591
801
75
663
535
118
317
537
763
381
390
50
52
478
23
353
431
887
331
889
458
812
921
593
698
617
522
537
950
319
282
780
634
376
911
523
407
227
186
33
259
553
147
744
866
267
750
308
289
473
625
292
459
942
736
439
406
822
801
494
92
517
5
232
425
324
577
401
1
163
310
492
930
707
705
551
423
90
544
410
615
251
755
715
430
189
200
396
802
809
647
763
399
475
555
615
323
155
347
202
480
528
615
172
375
7
445
358
548
196
601
718
819
110
713
758
776
766
414
937
904
874
297
183
361
180
378
603
58
858
69
329
132
447
794
857
288
955
54
512
522
159
782
250
919
38
302
411
181
188
832
533
629
968
938
267
318
820
684
58
529
410
462
640
288
437
933
638
600
704
505
695
642
729
868
117
88
656
900
74
330
165
298
580
416
941
222
282
68
687
756
374
286
557
389
177
482
956
609
709
72
691
569
823
503
733
349
933
424
237
745
827
870
302
704
117
4
278
317
731
276
68
589
618
290
578
437
763
301
176
105
139
539
614
749
950
245
470
848
117
508
980
70
830
620
934
318
964
779
874
315
454
244
214
251
461
169
679
511
378
469
408
672
971
124
260
660
793
8
80
995
599
598
34
363
196
245
752
971
880
42
227
623
33
892
975
299
609
79
30
865
817
467
384
629
427
773
582
28
348
520
377
712
924
785
734
100
963
481
921
235
55
797
463
658
420
909
189
927
397
492
312
595
54
248
705
329
752
327
655
504
905
185
832
522
594
406
337
529
207
220
195
143
391
965
391
21
284
52
827
512
962
793
470
447
477
862
660
692
443
471
541
268
520
446
839
479
759
859
682
752
523
297
465
889
43
410
29
228
769
733
978
25
68
680
378
818
431
686
745
322
713
536
96
491
941
449
831
954
825
694
649
539
925
193
336
882
490
320
295
782
859
940
919
92
477
795
881
296
147
691
649
35
970
815
323
95
52
504
519
366
537
28
307
356
426
622
774
799
134
516
841
302
71
278
900
582
768
331
747
506
204
690
835
649
478
573
412
590
371
484
738
895
148
511
274
950
737
836
738
104
340
634
847
71
275
848
281
546
49
266
151
601
151
118
833
733
89
370
767
946
537
313
485
663
708
455
454
734
246
170
802
711
251
780
469
563
961
139
917
660
43
958
309
184
455
892
324
637
330
637
74
293
777
63
566
239
66
57
518
340
222
186
793
481
378
223
532
715
675
65
714
290
698
421
777
940
9
260
921
692
422
453
599
546
592
176
376
963
846
365
218
680
151
618
0
182
914
955
270
445
652
165
683
248
48
914
245
564
580
244
659
785
854
892
804
682
444
601
775
517
24
148
171
849
386
51
661
710
165
123
274
914
530
471
944
296
784
517
311
995
608
174
814
360
552
991
410
895
807
571
915
216
323
824
945
422
440
595
199
973
607
202
714
749
415
205
892
429
56
458
472
112
924
663
234
765
966
275
444
411
974
658
188
366
110
878
179
684
755
456
693
808
110
879
793
824
109
147
577
415
5
641
262
655
286
588
645
276
880
778
884
863
543
569
397
925
478
576
176
111
782
153
790
533
79
450
930
577
64
723
893
794
885
3
713
61
520
941
521
824
486
217
566
467
989
571
406
355
518
520
242
299
916
501
806
626
729
767
463
493
274
305
574
530
264
217
544
693
183
637
322
625
648
72
495
478
392
676
73
594
74
148
825
791
700
79
777
835
598
959
196
745
344
626
11
22
22
301
782
17
969
830
140
415
534
505
786
483
765
424
458
819
248
579
423
813
802
874
732
960
379
54
704
64
859
717
655
404
943
544
555
533
720
244
60
356
904
282
593
562
682
327
75
3
439
105
808
529
378
157
221
711
513
168
967
217
28
670
558
742
711
565
798
853
612
295
280
762
585
770
893
585
693
706
920
279
744
868
277
420
9
771
788
552
585
940
65
667
228
684
921
230
374
761
672
116
752
812
423
405
825
394
174
516
672
494
216
613
623
237
23
174
23
777
478
525
562
174
192
215
959
91
567
871
701
463
608
36
918
147
496
448
152
327
509
765
866
173
363
802
366
580
271
81
200
920
717
883
68
718
865
617
761
386
585
297
933
837
983
615
526
949
181
343
370
134
17
184
913
643
70
383
229
864
375
494
527
352
945
501
212
710
680
392
27
708
171
754
697
152
525
398
735
229
24
497
880
978
540
994
759
282
544
305
43
710
289
428
788
965
838
50
46
841
297
160
460
469
783
389
119
852
986
405
804
352
149
752
519
421
279
227
873
836
175
920
238
261
607
948
231
89
433
636
884
122
612
366
967
763
9
307
574
487
159
175
200
902
801
944
956
848
237
866
80
790
360
841
508
313
175
470
969
187
707
715
581
781
218
49
606
646
798
138
34
432
118
535
522
213
345
390
207
74
106
847
633
928
675
830
229
953
797
92
408
83
910
907
719
473
429
538
91
309
674
479
103
166
918
243
239
275
503
767
78
947
352
104
821
656
983
297
714
105
981
701
50
546
458
97
230
155
121
703
236
147
584
598
406
786
233
435
825
551
33
709
597
297
878
987
148
517
286
281
608
424
546
775
333
947
291
737
978
500
935
938
936
184
371
318
932
140
787
250
986
909
580
320
257
145
744
806
672
409
807
809
0
874
419
62
898
435
280
362
220
99
782
182
47
243
616
849
653
776
504
219
540
729
551
901
81
969
832
375
13
691
539
551
792
407
446
108
469
361
598
870
373
848
721
602
204
714
989
233
696
324
160
645
464
849
284
185
922
271
403
205
564
516
2
584
155
738
261
898
766
840
126
785
957
227
978
2
784
737
872
12
80
881
562
984
302
539
71
493
416
877
967
183
299
97
539
732
685
951
879
146
833
86
644
106
56
111
196
140
21
140
910
385
130
345
591
430
413
247
473
132
612
460
522
820
245
224
698
208
275
624
865
65
199
772
384
976
15
61
536
657
103
201
502
905
445
560
389
606
779
106
834
750
298
753
335
239
477
732
806
897
414
309
155
853
785
626
337
444
658
800
347
808
949
4
797
948
777
717
408
317
580
926
121
767
82
551
412
924
862
348
742
668
64
253
396
837
513
259
551
201
685
374
214
149
985
401
943
263
397
448
687
407
814
242
436
158
787
103
950
302
439
27
68
893
371
125
314
18
839
866
795
923
912
991
150
739
311
277
990
295
396
147
459
240
708
483
624
462
483
816
983
818
433
710
696
762
87
604
210
497
670
178
96
625
597
824
661
486
953
755
603
362
562
410
50
255
674
853
905
985
317
739
902
193
711
324
531
142
962
725
889
941
43
675
759
264
106
956
311
783
406
989
553
267
524
3
715
553
440
417
15
548
106
237
949
794
176
846
281
373
153
632
854
799
880
766
124
745
108
380
176
833
623
134
61
794
793
380
299
543
187
504
300
940
602
171
856
257
206
9
929
276
51
92
786
267
34
638
530
289
637
146
21
810
208
246
869
588
703
256
490
6
471
41
872
229
758
892
580
326
260
693
794
963
360
5
640
310
390
924
304
362
916
29
339
534
643
830
324
112
446
857
350
26
77
633
608
348
879
167
721
996
969
784
523
573
743
801
719
949
872
142
731
694
591
322
188
305
373
303
318
8
628
531
743
865
955
159
401
623
500
313
851
578
30
337
546
133
203
542
595
218
862
215
680
618
537
822
88
408
510
35
421
440
809
893
633
281
633
368
979
971
272
664
146
512
331
984
628
625
448
983
663
954
57
747
938
630
830
41
779
384
628
89
884
346
70
826
562
100
261
276
162
277
68
989
839
10
8
332
106
105
700
157
986
112
944
615
164
526
676
722
268
315
619
117
299
638
237
211
898
870
6
177
481
700
590
822
747
752
51
440
503
980
728
788
542
558
719
377
971
44
548
443
126
798
929
756
204
925
833
34
35
666
684
575
442
321
228
739
900
192
14
235
432
788
710
956
311
727
408
767
713
714
398
170
324
273
241
803
677
613
805
656
163
570
133
173
134
439
244
984
181
893
841
90
442
811
903
121
837
744
999
993
378
601
87
572
984
900
914
150
930
133
431
379
817
543
833
59
207
755
53
475
52
232
91
487
993
167
21
52
618
75
620
184
890
311
393
993
919
764
834
666
403
292
793
87
626
398
23
769
274
211
896
291
467
628
762
151
674
53
636
309
133
109
308
379
455
945
210
911
105
44
866
830
895
503
488
182
895
48
786
369
47
435
878
383
480
393
449
302
792
163
601
18
749
215
465
747
185
243
586
213
945
882
233
357
44
63
486
374
395
511
275
287
662
292
674
911
941
626
864
743
31
201
868
284
841
259
593
119
181
587
202
537
232
129
37
527
165
686
540
923
223
730
803
127
893
82
829
69
329
63
45
897
963
342
46
579
234
828
464
208
356
842
686
705
844
963
23
178
22
383
913
44
984
474
533
572
422
730
890
122
181
648
826
861
435
408
471
221
330
532
368
645
677
751
57
39
291
48
210
934
583
160
359
382
833
679
350
542
825
941
484
125
203
158
843
452
746
781
241
752
549
980
897
337
605
719
27
889
616
44
105
213
789
974
816
854
264
223
567
564
414
759
721
412
846
393
11
478
581
741
929
136
40
463
662
137
486
560
539
892
874
439
302
791
844
137
644
463
862
643
899
536
7
258
335
445
116
821
50
144
72
676
241
70
391
228
257
603
560
76
117
993
744
123
556
843
872
471
195
171
152
856
499
125
29
759
592
36
521
246
595
215
816
529
959
179
736
955
129
864
608
998
196
530
342
120
654
637
702
557
884
326
463
497
936
838
199
569
159
613
984
552
314
966
310
537
62
580
214
639
951
665
456
272
777
272
570
732
711
218
796
942
427
448
421
986
578
821
798
871
261
984
533
675
623
920
850
125
298
857
342
519
420
368
921
989
703
126
461
691
535
731
351
654
503
671
86
255
661
331
941
807
554
872
752
892
12
671
498
470
443
745
765
640
217
88
957
180
260
775
502
5
394
398
767
634
804
227
87
409
237
842
140
829
65
48
77
734
129
803
593
444
171
486
59
884
774
0
485
654
494
951
666
997
875
460
192
523
159
625
957
811
449
840
787
335
786
172
922
252
674
903
116
96
129
73
957
916
701
10
559
876
393
958
753
253
214
121
414
388
842
238
698
307
623
36
381
712
47
587
313
163
402
574
519
552
677
482
265
328
994
567
10
260
871
347
452
789
535
72
879
357
820
2
948
526
928
487
116
761
599
478
770
600
422
998
654
257
448
578
311
576
535
564
510
743
393
606
50
274
291
972
112
971
675
877
9
183
338
934
37
882
741
803
963
514
176
851
806
718
350
14
864
80
745
949
78
158
106
601
507
969
959
360
704
313
376
448
851
77
184
481
817
406
302
809
679
124
780
317
312
794
604
671
846
781
774
452
264
642
280
974
999
714
731
170
694
958
756
177
707
158
276
271
482
170
709
468
916
430
510
892
386
901
314
189
401
39
109
882
360
572
636
344
656
921
792
63
975
417
852
548
870
265
444
177
803
762
578
83
733
383
870
890
418
660
685
931
129
699
609
10
963
494
591
437
837
664
948
435
263
490
261
703
917
609
543
729
787
221
439
674
173
102
638
655
893
199
46
711
733
850
869
488
73
408
841
656
434
495
663
898
945
334
947
145
796
330
681
451
833
688
91
42
257
817
215
631
108
592
398
535
709
188
821
351
701
752
835
289
527
125
307
729
447
298
970
558
18
796
617
933
286
798
983
817
154
923
821
624
795
596
343
341
933
121
920
608
696
884
349
446
717
858
950
176
522
450
430
638
21
451
639
678
556
513
766
366
602
925
313
213
410
168
390
121
819
998
443
331
510
131
294
936
590
787
516
346
54
665
572
362
750
658
282
578
967
413
383
712
460
635
581
888
237
715
900
660
403
920
873
598
671
788
646
553
903
521
6
888
132
702
78
436
221
224
159
629
95
39
58
580
526
29
582
143
873
991
848
117
637
292
424
697
442
598
130
403
898
421
20
693
752
747
162
773
375
632
698
849
45
474
91
622
435
725
78
9
700
736
845
582
199
376
227
276
30
381
541
592
33
630
799
420
184
155
542
603
606
95
64
202
751
806
824
864
643
209
101
841
707
718
593
200
90
105
579
407
182
324
16
65
663
414
952
307
703
162
904
650
63
549
515
941
923
246
872
839
247
896
955
376
804
309
850
516
754
715
362
489
507
811
282
139
17
277
433
453
399
236
408
28
222
15
398
631
196
174
81
75
332
485
145
682
956
572
89
845
475
517
441
123
271
160
874
53
529
66
748
358
624
972
124
66
804
254
763
385
147
561
19
956
479
934
555
126
81
642
568
828
2
537
610
926
130
709
120
400
279
982
612
981
381
890
30
125
29
484
104
595
621
585
621
139
786
762
424
107
376
82
773
812
829
255
937
323
384
668
345
610
222
678
137
942
544
553
565
913
888
651
923
196
128
494
47
281
160
99
935
770
581
201
996
867
316
588
969
454
13
763
431
199
460
665
647
291
734
133
853
577
639
114
474
143
763
505
585
71
822
258
780
107
733
709
811
588
888
678
422
239
176
311
176
178
195
9
176
897
164
914
475
32
328
754
1
39
509
498
205
636
171
415
831
392
447
415
10
894
516
648
197
199
383
182
364
936
302
96
489
507
768
169
531
517
354
90
414
838
864
808
69
689
42
352
452
545
660
867
371
316
56
694
800
43
196
936
376
919
812
819
45
398
338
641
34
665
87
798
686
86
162
725
158
327
213
377
188
573
300
232
184
199
700
797
164
399
787
9
970
282
216
951
250
836
604
831
282
820
307
376
485
638
121
130
619
6
584
124
784
603
595
265
489
417
467
146
655
727
284
334
45
255
682
890
672
988
518
85
462
3
625
830
571
911
849
876
145
506
602
658
440
659
160
526
17
538
339
527
608
241
2
714
962
874
437
970
520
901
986
193
54
890
215
474
189
605
501
417
528
540
89
522
500
434
583
758
119
389
699
584
598
311
416
429
700
934
434
253
297
944
793
797
107
430
921
600
38
500
79
722
647
385
372
362
51
870
50
948
49
437
964
307
860
191
255
651
416
908
750
849
737
470
579
922
81
777
590
564
910
61
702
280
423
965
261
413
731
606
391
111
106
250
313
722
376
436
569
561
16
273
827
475
291
514
206
230
604
516
153
311
590
569
766
668
234
17
832
999
646
692
132
663
446
536
945
163
807
435
873
886
549
974
622
428
485
361
70
738
646
774
96
271
199
752
113
265
82
387
28
340
492
242
375
279
259
539
404
354
824
78
208
754
98
857
508
123
649
927
69
746
744
121
32
777
773
564
538
298
949
163
911
88
984
705
991
272
592
306
842
960
104
418
560
307
104
646
180
811
932
55
391
756
580
935
595
180
334
694
152
688
428
145
179
888
109
109
633
239
925
199
622
143
306
999
814
336
899
963
511
735
25
439
574
688
634
585
793
691
231
774
591
728
47
470
652
367
174
976
355
265
891
401
186
900
259
755
869
629
799
161
894
189
278
120
523
64
173
216
809
580
519
185
268
761
829
568
893
957
828
206
723
132
806
714
14
732
585
927
326
61
682
314
833
740
692
519
634
730
25
721
222
634
345
353
253
716
802
348
19
914
727
926
237
609
72
783
351
436
165
219
168
227
906
775
640
603
87
616
949
595
909
543
805
417
72
997
402
506
288
564
635
119
523
289
48
880
317
437
206
601
637
54
947
364
626
371
809
106
649
986
835
700
70
791
812
660
35
521
270
94
386
98
737
66
99
215
117
473
16
758
474
911
796
475
310
890
724
896
25
982
485
702
577
410
667
311
463
378
877
225
306
289
170
748
378
837
646
278
234
889
251
973
101
552
222
365
625
484
65
817
298
57
131
130
880
549
76
906
900
493
699
730
532
283
215
812
822
240
904
335
294
152
545
365
988
645
978
929
348
733
564
327
375
108
545
379
74
404
769
634
909
994
427
858
676
952
480
754
792
531
583
928
623
7
328
365
415
117
571
983
627
715
757
791
273
592
327
698
389
566
725
801
352
971
38
670
704
188
375
590
290
104
408
714
676
372
551
945
349
20
223
440
394
681
682
50
571
56
223
629
813
11
981
715
588
281
318
754
716
989
734
271
721
21
94
613
648
665
719
916
206
716
195
18
741
22
634
749
878
510
853
552
502
532
508
843
661
399
880
312
38
251
651
818
486
650
773
450
582
300
800
554
620
174
576
468
761
170
971
966
764
109
491
207
791
138
430
818
111
610
76
988
537
196
755
223
852
150
77
479
613
950
541
925
415
167
239
236
471
744
109
648
288
924
867
341
632
865
545
115
687
504
70
814
155
566
325
581
224
305
768
12
320
726
517
391
358
68
410
122
112
240
744
710
770
748
718
682
751
583
716
232
266
30
520
708
963
148
162
732
764
748
874
488
510
478
831
238
601
676
68
730
936
20
767
319
708
624
582
197
871
411
741
565
762
462
53
722
735
147
423
161
22
522
7
446
826
223
304
162
944
493
618
440
608
115
645
4
673
830
737
172
23
34
351
504
406
245
364
542
262
492
12
419
674
71
430
216
877
455
334
569
485
351
702
980
793
387
775
999
249
942
907
497
459
883
392
208
757
62
893
106
426
321
234
813
661
79
634
972
437
156
935
276
760
760
50
728
771
815
31
753
603
426
903
334
321
789
940
106
622
773
193
20
668
368
678
291
734
606
20
861
920
965
941
416
9
298
372
9
94
269
208
112
576
444
999
302
433
834
186
446
458
191
882
963
858
752
984
30
968
435
701
39
467
116
47
366
338
490
451
479
435
927
319
695
260
146
339
567
575
4
546
340
429
539
312
12
140
137
843
997
869
447
438
859
852
356
97
103
869
333
534
58
689
563
273
663
616
613
978
359
227
536
576
188
238
510
112
659
649
213
877
891
5
139
796
999
737
4
650
331
856
251
815
398
540
449
393
861
449
725
663
68
965
756
788
507
208
254
777
796
241
251
35
45
893
373
362
550
344
507
261
584
676
532
364
505
163
791
314
608
166
182
515
464
396
933
256
566
490
83
268
265
879
437
592
294
941
139
554
8
833
144
12
786
426
274
486
759
625
691
91
362
880
81
234
822
247
801
674
775
334
766
170
142
832
844
949
950
50
936
413
760
726
999
177
550
156
952
550
294
934
362
621
835
458
964
948
308
890
993
252
669
680
783
277
809
417
542
82
936
258
89
390
301
848
787
747
836
8
127
207
214
487
512
161
449
158
852
736
521
460
908
172
529
340
756
612
571
636
372
407
392
576
542
724
468
595
863
177
485
37
784
429
654
788
699
367
609
764
656
371
302
440
854
286
858
660
982
687
916
265
175
474
948
254
712
976
831
907
310
100
283
695
306
383
350
977
940
339
269
68
200
372
352
56
619
603
393
569
460
396
41
134
785
198
771
829
184
874
138
742
316
158
903
844
347
710
397
591
164
814
342
864
681
592
309
343
677
539
923
239
911
819
257
603
227
331
13
945
668
681
871
485
102
913
160
262
529
751
345
884
243
285
138
403
461
261
382
303
819
478
511
133
736
823
79
816
1
233
580
520
575
504
919
375
750
606
695
104
636
984
978
532
541
3
263
208
742
161
136
332
236
604
412
487
548
487
187
605
499
85
190
460
270
15
872
956
783
612
913
86
236
8
149
805
494
979
527
153
345
620
67
854
868
928
934
160
414
283
760
702
713
665
40
624
396
356
855
356
948
576
731
867
140
435
581
486
481
157
176
804
234
664
899
626
772
737
387
923
339
333
309
672
246
891
842
93
342
131
938
648
402
739
914
105
82
245
49
240
928
493
243
196
744
947
452
840
281
184
515
864
401
577
588
821
138
478
353
609
639
564
974
223
426
478
401
783
760
380
984
58
728
57
901
550
967
923
453
736
880
681
442
101
104
229
620
715
118
665
390
312
927
194
283
739
373
448
64
32
882
446
316
669
471
884
489
434
668
34
801
711
837
799
563
434
898
465
884
544
212
949
556
373
709
324
8
343
472
797
490
899
778
142
420
734
383
624
986
562
5
520
908
558
297
410
78
87
58
155
311
514
222
572
423
135
993
162
873
554
186
546
23
782
678
878
931
263
444
884
172
504
992
891
71
991
102
493
605
710
561
502
738
751
65
604
153
774
159
176
351
285
277
762
303
807
810
70
979
358
282
561
969
43
945
627
271
84
832
57
464
238
76
508
123
992
192
379
358
885
821
268
566
825
136
784
0
575
37
681
95
743
268
48
443
23
2
247
776
827
713
811
372
54
992
2
1
688
207
853
370
722
760
524
161
60
605
470
150
479
583
428
17
231
33
844
605
343
649
975
96
823
135
109
68
357
213
690
756
352
823
713
501
127
843
428
400
567
98
71
621
434
759
518
830
336
793
479
920
75
724
726
901
887
822
47
557
742
741
872
489
658
521
415
958
347
910
789
594
408
148
637
355
165
849
486
106
350
455
986
266
267
206
99
870
104
68
812
320
797
105
569
504
16
717
849
711
963
941
482
517
413
386
664
369
892
761
301
404
449
668
429
386
697
387
44
135
658
999
791
97
363
281
267
673
838
95
724
942
17
949
421
927
681
282
930
905
16
624
999
253
686
946
648
317
712
260
801
673
171
848
332
759
648
278
680
165
366
68
817
549
551
317
232
298
450
912
721
385
766
935
465
226
833
707
534
747
227
289
545
420
446
237
478
651
723
150
89
484
996
983
783
942
574
267
890
57
594
256
304
281
224
419
22
159
214
35
197
887
585
565
245
72
808
132
285
599
55
174
723
433
228
664
307
896
784
198
688
872
184
169
760
488
905
515
97
753
853
358
379
553
542
756
85
327
518
159
791
943
510
547
514
109
397
731
83
236
490
439
200
559
461
579
423
500
334
698
487
805
73
384
424
876
861
452
349
448
976
582
583
699
535
246
663
825
2
18
53
855
805
561
416
473
999
367
997
652
64
970
66
847
525
972
989
949
973
598
599
958
81
748
10
322
117
733
394
6
715
336
103
646
914
182
35
465
351
843
307
309
437
112
700
540
865
573
829
844
694
537
296
565
223
385
364
727
544
744
753
335
109
605
36
176
919
508
16
97
864
779
379
851
536
443
773
695
404
295
984
237
903
629
406
400
501
353
348
430
208
624
643
901
857
161
754
335
325
594
24
154
681
219
686
790
565
808
474
611
568
976
55
283
991
640
622
539
773
935
631
283
245
962
593
889
514
475
914
6
782
512
176
610
686
397
638
592
153
692
233
641
36
592
443
108
916
893
569
526
857
977
472
153
182
818
663
137
767
847
786
921
999
597
966
874
783
94
1
758
167
821
134
555
832
620
714
74
632
106
717
339
429
940
480
527
567
764
556
611
99
505
938
238
454
760
788
238
569
682
194
674
447
481
22
258
400
123
159
72
885
685
364
803
579
19
693
562
673
92
930
328
822
225
88
506
747
176
18
996
631
522
43
863
659
471
271
606
757
972
332
578
949
110
202
94
523
126
362
346
294
454
768
156
660
575
722
392
788
658
25
454
707
136
666
271
451
226
493
274
799
62
466
447
694
429
312
495
573
842
121
7
421
30
445
568
452
229
619
907
146
737
828
509
958
547
944
216
612
171
213
279
938
68
645
556
171
439
692
46
679
96
518
501
492
901
536
360
523
341
944
643
849
901
153
177
532
15
202
118
910
980
826
485
974
799
917
856
22
741
304
413
924
383
837
772
156
413
317
551
370
298
199
968
652
235
718
146
101
940
892
691
550
468
373
255
549
791
31
715
840
499
790
128
509
584
891
785
949
816
518
773
969
222
290
488
876
527
511
836
675
398
525
782
654
117
585
1
208
511
760
153
763
355
956
993
224
383
892
657
373
674
147
357
903
929
149
687
858
919
537
344
42
276
714
58
248
280
293
207
192
750
868
475
575
490
351
658
1
565
221
347
650
476
978
204
527
452
45
350
360
752
845
396
570
7
190
394
796
215
533
365
688
875
372
926
273
914
549
555
418
799
147
837
590
378
441
568
152
897
913
135
753
724
204
450
345
704
427
799
833
484
173
145
294
637
529
735
560
628
832
113
765
755
366
744
337
653
458
797
989
94
6
949
208
862
564
118
552
519
415
543
643
420
990
4
295
422
456
289
475
528
925
106
557
984
865
967
650
80
399
707
662
655
284
505
469
978
484
700
271
882
597
292
5
393
127
567
789
351
530
920
486
462
814
946
957
345
212
818
372
801
9
257
591
240
749
113
981
276
318
404
548
540
46
38
849
992
95
620
710
101
187
105
848
715
953
984
280
468
762
672
149
314
807
435
820
314
157
250
2
248
356
811
540
687
550
848
797
940
332
787
887
973
870
823
214
535
271
233
715
320
123
163
296
19
612
501
930
166
677
474
629
391
501
861
674
942
521
305
221
944
398
182
706
582
207
607
461
726
53
173
276
376
373
38
578
281
234
585
580
757
547
706
320
564
439
245
800
523
631
862
203
794
321
232
552
583
179
753
445
231
907
324
376
122
323
699
784
928
557
711
473
597
647
277
177
223
187
70
419
407
356
161
531
312
488
891
793
76
915
993
547
994
541
714
9
525
319
383
382
20
82
342
263
916
912
220
969
416
754
425
516
316
322
654
369
275
508
364
823
480
988
959
90
665
990
174
382
496
144
367
364
755
669
905
638
394
841
905
339
823
602
197
518
63
497
26
517
669
195
936
291
359
335
360
79
795
870
909
409
419
980
159
259
277
897
354
791
302
870
617
703
396
985
859
249
465
757
576
235
796
375
655
831
741
808
176
970
110
795
108
648
156
702
289
16
603
938
431
481
741
921
172
813
129
500
366
61
994
367
111
313
339
562
327
709
739
358
257
174
660
503
997
319
9
880
578
871
929
919
130
805
49
446
874
882
948
911
663
775
762
556
436
674
718
872
511
693
811
25
380
821
171
862
447
413
719
152
979
703
468
320
29
243
691
343
670
936
354
357
686
429
409
35
49
251
552
367
918
894
296
344
43
542
118
993
549
109
62
413
587
491
719
670
345
383
232
376
20
941
252
35
772
283
58
691
708
403
199
519
432
695
393
700
503
589
603
687
952
61
275
171
753
719
524
764
829
132
923
729
246
105
763
671
489
391
614
914
957
788
435
555
397
119
435
170
398
298
209
608
982
78
836
828
221
802
861
466
581
572
514
651
756
875
371
907
435
478
712
673
97
141
124
466
754
495
264
863
856
529
244
20
922
143
845
401
890
20
601
936
671
91
641
765
5
940
993
793
120
992
603
460
251
634
628
591
493
933
784
308
521
314
8
796
459
830
98
430
353
236
242
480
173
771
611
802
404
202
860
116
520
402
279
84
882
830
159
39
227
788
656
119
268
85
970
574
162
256
490
600
183
961
405
167
434
930
372
59
682
762
866
545
504
980
722
711
808
139
453
619
462
916
146
396
173
361
413
418
648
978
905
15
180
491
852
317
661
293
910
414
253
413
947
68
808
937
689
538
290
661
466
532
407
28
280
311
148
796
248
626
610
200
739
663
470
446
661
276
211
925
693
679
675
875
653
264
691
428
838
478
467
623
842
267
471
228
436
944
124
653
444
457
593
196
427
194
709
649
32
476
982
114
474
710
252
697
19
139
179
434
251
939
651
542
439
519
328
165
847
260
972
684
422
980
507
900
702
74
336
103
964
782
168
627
278
304
235
495
70
981
193
462
78
481
738
95
524
11
124
255
112
645
524
26
740
876
157
86
380
916
760
451
993
53
467
418
747
944
5
701
880
182
977
612
770
610
661
263
713
280
843
610
3
15
146
864
983
273
680
43
933
42
687
970
330
27
229
427
182
643
222
792
156
475
401
786
934
931
839
919
291
146
257
684
769
655
988
152
829
378
482
25
615
831
124
859
96
234
191
935
39
243
648
741
108
342
766
799
39
478
771
670
579
658
974
843
24
384
206
17
368
365
496
399
157
479
589
301
523
62
590
14
19
916
684
293
723
899
82
716
663
734
62
541
937
919
967
755
184
936
455
940
848
676
186
913
811
564
87
557
51
454
906
107
834
375
816
114
33
175
732
729
777
730
982
667
889
519
688
190
853
567
435
188
346
809
80
419
297
255
358
517
890
191
572
538
329
76
623
252
490
579
355
956
105
429
710
149
592
350
288
181
12
223
961
274
84
246
272
868
226
97
664
919
303
275
454
936
240
485
518
429
719
375
361
569
928
53
552
574
173
461
606
348
728
260
343
470
503
542
592
746
98
504
452
861
72
442
646
93
512
695
229
222
943
733
659
648
368
185
47
138
233
164
588
675
4
361
342
546
146
404
590
620
121
877
235
644
514
203
471
659
949
291
80
539
878
616
893
456
809
119
647
702
450
48
947
981
641
409
785
938
852
323
467
585
378
255
509
37
695
512
471
33
181
498
250
467
618
759
755
408
65
545
1
275
309
442
651
739
581
188
54
566
702
998
12
194
248
197
531
149
430
641
52
322
49
57
280
640
89
231
524
715
793
224
90
260
492
285
385
942
345
162
193
836
653
0
823
574
378
515
485
351
550
411
262
278
362
119
763
9
30
967
770
475
170
915
651
984
582
460
23
754
329
865
102
361
421
645
960
837
0
263
961
792
592
457
572
938
319
993
576
741
235
767
196
38
984
57
676
730
280
362
281
481
496
286
718
285
650
5
767
731
471
458
827
446
700
347
536
874
781
770
618
847
873
378
451
84
80
611
473
30
552
256
524
863
485
990
170
566
94
215
796
694
661
194
545
982
272
270
827
238
287
670
95
219
373
808
455
793
924
904
534
130
61
172
906
413
680
747
338
748
155
723
197
639
708
813
997
762
518
733
712
578
954
520
674
988
679
940
967
577
108
620
75
205
911
155
48
159
115
346
177
827
453
222
895
299
132
985
926
89
737
121
169
487
439
525
19
438
173
156
953
553
338
931
479
27
362
569
844
64
12
434
894
494
871
260
342
282
799
18
892
383
801
364
542
679
180
308
119
988
351
686
374
490
108
421
93
593
431
800
897
581
249
938
492
903
451
692
109
67
190
665
299
98
491
166
232
156
218
405
683
603
843
218
17
982
967
899
9
733
533
766
413
689
917
40
306
643
26
650
728
665
847
410
584
860
425
474
681
117
702
206
893
823
702
843
967
418
971
922
74
191
884
180
787
336
454
905
496
638
661
370
134
985
395
499
605
238
972
55
487
205
922
765
535
467
670
558
319
884
991
880
555
323
8
324
282
320
155
539
822
429
549
781
354
16
399
29
321
372
73
899
888
561
657
396
519
775
343
614
127
710
195
805
804
717
720
899
599
610
252
278
901
893
85
98
969
60
106
32
247
320
43
487
566
649
697
344
193
731
777
503
156
458
407
237
908
240
721
206
536
152
409
84
314
587
960
81
647
205
17
240
301
95
664
574
752
260
527
425
680
78
672
150
788
100
331
847
155
811
788
369
152
619
314
447
215
137
687
86
572
848
616
882
516
938
314
780
308
431
288
98
469
183
274
783
137
945
319
781
847
886
669
945
129
329
102
682
537
674
880
918
194
196
434
427
612
389
963
860
542
977
345
311
15
140
284
336
786
389
695
314
38
181
596
89
651
931
47
929
673
116
69
492
423
96
72
661
946
456
458
949
64
597
488
361
973
956
436
882
96
268
576
888
825
849
218
499
91
234
570
991
769
636
674
83
196
395
729
199
269
609
699
936
513
459
381
137
837
540
117
22
282
291
602
88
967
185
262
849
153
284
707
584
414
324
192
382
977
924
851
566
694
821
976
240
455
329
86
654
437
93
861
434
326
397
501
200
302
389
303
998
988
133
732
656
890
906
129
216
157
206
77
539
250
734
361
977
448
387
846
115
881
755
196
575
470
351
608
826
314
746
687
263
186
919
570
653
952
394
876
122
888
463
208
528
246
14
539
400
886
495
74
517
348
649
143
969
580
339
292
953
854
79
889
118
298
13
567
89
488
832
982
100
539
912
122
146
87
970
412
387
624
39
818
969
960
599
251
3
512
343
828
504
441
607
621
839
291
683
83
952
917
147
247
370
845
725
407
326
579
179
242
983
554
824
377
18
110
524
152
529
656
148
684
898
761
811
588
975
75
971
352
871
693
659
691
294
98
834
158
614
963
976
55
922
855
766
223
72
466
487
819
241
423
536
546
150
24
206
619
792
257
483
268
292
945
753
790
1
103
449
322
15
860
725
403
326
774
969
279
51
793
869
318
826
847
879
713
452
602
229
1
9
986
286
215
322
454
310
853
355
222
146
225
179
331
606
837
387
278
230
592
233
106
290
146
158
762
302
71
284
153
360
818
450
358
420
705
253
528
61
10
946
57
685
463
468
858
70
490
761
531
156
308
549
716
93
680
793
290
958
289
664
698
508
256
822
354
286
869
924
254
147
717
372
630
69
360
142
967
226
310
249
178
693
980
372
789
965
571
774
445
131
319
296
959
445
375
156
825
88
237
860
265
622
877
912
46
251
590
370
499
672
506
502
644
970
601
443
407
843
393
939
716
302
59
22
514
284
407
677
800
212
991
469
354
757
141
441
297
893
392
973
216
808
676
356
484
90
956
316
890
756
744
914
539
212
571
859
775
333
376
247
845
713
522
288
836
453
263
721
810
452
289
267
959
58
949
912
228
212
747
654
164
190
816
920
584
334
616
375
620
483
237
189
303
560
700
955
899
314
677
636
887
737
208
193
626
607
855
498
180
891
304
368
444
659
276
776
25
140
491
878
16
237
448
823
67
25
795
512
37
720
291
989
8
74
107
843
437
268
513
885
486
95
287
364
137
102
533
902
86
958
222
400
378
516
628
466
643
958
175
754
902
212
717
751
828
916
153
15
572
780
371
667
759
478
273
870
202
495
19
7
644
730
300
942
707
961
258
463
847
330
140
799
391
383
439
233
533
673
374
487
382
842
504
404
768
308
97
313
470
460
15
859
189
450
525
30
289
285
77
422
846
789
145
409
740
63
567
986
190
989
264
440
595
944
917
754
672
196
551
575
688
669
72
972
637
383
291
704
6
217
338
895
524
504
558
522
799
432
829
356
225
515
785
862
653
182
668
607
188
794
650
750
541
603
307
748
799
457
714
879
246
236
310
831
930
218
396
902
117
446
186
786
653
955
834
987
993
902
716
277
680
668
158
975
803
963
886
951
163
77
855
688
710
273
637
482
65
373
809
716
705
478
766
76
285
933
121
801
444
662
387
10
844
591
789
390
422
664
549
569
896
259
759
340
965
200
957
107
479
702
273
890
782
38
425
43
61
415
70
554
554
217
726
747
704
889
351
767
519
528
150
636
756
664
111
608
231
568
590
232
44
930
514
646
6
658
940
934
736
106
820
451
900
508
517
132
490
406
32
510
659
640
877
909
807
637
699
899
347
853
123
473
950
738
512
152
971
829
262
146
521
24
319
651
331
982
966
908
311
238
801
675
446
536
419
437
340
662
528
602
342
215
916
241
747
263
472
936
232
417
724
46
270
198
96
404
795
953
76
274
66
636
655
467
985
288
280
124
350
977
524
166
971
937
326
199
411
563
377
544
37
97
350
876
92
558
84
17
298
281
135
994
885
938
646
266
189
422
572
999
611
161
96
563
308
688
91
296
843
85
778
101
14
409
4
536
463
328
586
843
838
271
903
342
966
589
799
32
106
204
288
209
977
338
797
815
953
4
976
710
880
925
611
724
81
336
362
223
519
304
525
466
507
884
980
250
150
461
373
470
634
279
909
917
106
165
383
196
880
871
862
510
587
144
504
390
402
838
245
71
430
451
934
212
802
626
769
978
929
741
486
417
699
217
794
528
35
717
453
33
269
813
194
470
314
376
6
391
794
798
491
864
753
224
879
402
439
276
453
916
787
106
821
376
869
543
699
486
101
936
496
942
989
82
143
851
841
120
568
544
166
374
866
732
423
237
46
297
668
753
685
161
885
637
878
942
5
618
691
326
385
119
441
777
385
675
443
687
967
790
757
337
424
269
686
318
281
896
752
910
209
69
1
668
333
679
795
652
122
535
698
684
626
657
445
534
831
736
391
285
857
294
568
732
385
647
611
137
687
870
410
599
989
457
306
411
444
960
813
915
127
452
952
298
377
309
893
992
149
576
809
975
788
710
50
436
35
3
328
484
939
211
873
75
643
640
414
442
779
605
239
847
874
361
370
884
745
292
210
535
881
249
162
564
491
635
150
916
111
169
848
187
535
656
717
683
78
228
826
59
198
299
666
831
42
824
32
992
276
443
44
878
421
8
995
201
589
285
168
979
106
936
329
411
364
921
85
372
45
759
671
159
879
49
873
587
46
551
510
877
480
799
8
163
467
157
436
672
933
550
504
830
293
982
775
211
360
444
899
710
328
609
538
650
597
117
91
311
307
7
506
890
481
493
124
999
411
104
921
336
181
430
873
411
986
448
679
291
790
229
538
753
82
60
119
693
557
366
863
765
968
439
326
78
618
789
672
416
859
401
83
3
589
550
473
560
368
725
571
978
717
648
744
504
3
229
754
859
42
831
484
715
317
286
440
127
228
322
131
988
593
924
682
271
18
901
660
724
433
799
160
804
132
433
135
829
755
725
184
701
562
988
148
58
471
109
56
894
298
349
113
480
74
471
725
408
639
177
187
21
64
542
531
124
897
855
645
173
671
818
975
375
383
190
677
905
970
653
389
940
63
825
322
986
509
426
554
443
229
730
30
295
427
767
952
635
757
629
581
956
947
394
780
218
162
60
189
153
262
900
729
138
364
469
287
290
739
215
494
506
659
127
44
733
614
58
700
966
542
239
588
348
277
308
856
328
683
285
231
504
417
944
687
536
543
729
967
707
217
417
973
194
35
167
410
401
58
736
641
331
724
459
332
867
30
808
963
759
1
852
25
486
754
701
989
199
476
856
742
828
896
509
931
276
744
752
625
901
835
28
952
757
718
303
884
127
572
190
994
757
327
760
903
294
782
884
579
283
676
827
503
855
201
777
249
514
40
863
457
707
163
996
666
702
776
183
444
202
638
77
553
262
639
506
73
452
442
671
930
932
382
911
610
427
509
272
697
812
924
311
871
989
714
25
965
338
324
636
967
737
102
211
844
314
96
882
337
400
298
584
136
555
403
513
9
192
538
646
624
388
598
423
33
847
647
445
787
925
438
849
611
628
55
20
590
482
141
788
643
132
358
99
886
172
523
503
724
976
235
889
205
798
647
388
859
69
841
970
717
270
888
93
144
132
700
487
695
309
729
332
722
528
525
876
13
317
210
886
792
951
232
343
625
168
757
683
292
697
514
475
912
604
410
635
809
618
847
837
865
420
664
134
32
900
30
571
803
505
137
669
919
109
653
660
915
606
442
786
5
956
191
292
582
157
922
710
947
223
357
534
341
911
528
664
758
827
336
598
819
148
159
92
412
89
642
709
129
212
251
219
126
824
50
77
107
833
772
167
454
986
564
433
615
78
519
357
351
367
886
956
966
667
701
781
345
655
520
791
233
657
444
293
87
593
753
772
131
89
346
907
866
793
988
708
730
151
458
871
20
209
70
675
423
408
498
521
113
589
641
7
84
496
558
428
312
252
638
863
194
558
902
202
866
715
933
526
751
468
906
818
583
320
10
284
380
793
693
751
735
351
847
183
146
355
248
813
886
290
273
47
453
535
599
89
707
680
712
923
226
217
143
841
44
42
442
551
802
441
509
540
325
348
482
210
565
305
84
862
263
481
844
856
694
799
432
733
480
694
200
486
680
100
793
261
394
271
194
362
891
617
145
388
204
336
535
973
139
507
295
895
169
625
162
605
626
9
133
645
252
923
144
899
735
81
642
332
75
480
209
254
768
188
710
298
100
443
137
837
19
256
460
774
230
486
938
62
586
244
832
938
183
861
932
635
0
289
387
785
492
479
791
273
40
870
143
944
268
210
922
78
544
812
105
371
835
898
885
109
513
48
573
644
393
283
833
302
959
893
193
214
380
818
353
839
505
310
864
152
131
984
833
182
739
404
725
676
477
786
74
909
731
490
413
686
256
475
412
783
959
699
547
271
889
382
648
319
668
455
437
99
873
316
47
745
930
253
91
822
170
681
240
748
51
112
927
421
21
124
870
584
687
902
122
725
746
419
638
91
604
650
486
479
837
349
578
664
560
682
188
25
28
586
849
473
657
779
335
98
554
593
206
934
620
786
888
205
609
520
352
361
698
45
27
881
770
299
136
181
997
727
819
923
65
165
541
786
173
854
299
591
737
666
826
810
392
516
946
233
411
73
679
290
497
869
314
211
974
524
757
612
696
242
36
169
720
514
135
796
236
482
208
522
837
926
781
889
562
367
649
854
912
685
752
55
824
168
841
218
143
531
582
406
679
107
183
14
474
378
837
255
326
191
915
740
221
938
299
404
990
564
926
117
221
485
89
369
343
497
868
787
999
836
134
234
101
675
977
159
971
56
668
965
929
857
211
143
452
917
347
113
729
426
856
725
823
703
102
591
54
23
736
237
931
804
547
925
835
778
186
175
911
529
34
286
845
515
164
705
258
93
476
148
607
826
837
444
82
57
867
157
245
785
972
711
512
864
894
427
887
752
224
683
308
225
151
174
911
975
441
103
346
125
353
348
669
456
16
579
542
626
818
486
843
77
939
950
146
520
794
166
591
518
372
62
937
874
222
769
231
261
211
198
628
425
263
114
860
619
698
90
507
241
38
497
124
196
296
992
484
623
151
184
183
477
392
995
550
730
998
19
935
116
685
428
937
811
305
124
508
625
360
674
377
562
459
121
31
256
285
339
829
468
192
34
21
98
650
786
605
582
930
170
891
634
475
24
843
111
621
972
284
678
129
473
179
735
263
805
334
172
147
703
161
512
334
807
296
52
330
240
496
727
184
996
999
87
862
560
875
723
490
281
689
461
237
575
475
698
142
950
867
201
128
805
267
852
452
389
375
77
778
111
564
330
597
185
214
418
319
196
429
33
424
731
721
644
172
301
713
763
110
249
927
781
322
224
966
830
755
331
413
448
956
102
773
239
349
406
275
32
816
620
905
564
73
845
894
367
450
165
506
384
704
754
646
756
442
183
365
849
289
938
901
430
803
524
439
274
905
862
277
5
868
233
957
213
651
468
91
213
673
652
9
886
111
449
163
595
603
447
284
981
197
725
568
543
138
369
973
234
386
929
91
599
396
146
213
282
727
342
657
225
901
211
703
323
426
959
735
669
158
271
839
239
38
513
600
241
391
240
169
109
611
720
718
938
676
146
886
897
187
120
679
302
382
490
726
731
20
592
508
955
146
887
267
930
6
207
565
264
124
333
198
232
85
38
646
356
282
812
105
738
147
318
967
989
565
829
583
597
494
369
531
391
718
525
630
538
517
172
11
687
435
794
288
54
412
432
925
310
323
337
606
471
109
686
509
161
952
99
290
117
289
376
661
397
333
283
69
329
171
667
94
293
877
471
715
704
296
940
562
698
900
412
665
293
522
832
786
385
42
586
832
115
893
11
433
895
64
641
538
45
925
899
287
985
369
630
278
593
752
721
979
205
187
98
924
236
159
571
633
936
601
749
843
43
126
319
36
488
978
521
168
208
546
243
713
532
90
92
650
854
613
437
539
532
397
730
782
258
609
568
533
149
573
693
373
281
863
606
311
27
484
802
823
584
59
318
272
922
675
119
331
762
82
849
393
530
46
112
774
844
447
895
333
193
557
247
139
126
225
981
104
860
697
126
979
308
305
483
554
326
709
303
802
697
759
355
136
851
608
901
791
867
937
318
391
184
177
965
169
850
672
33
629
500
912
680
243
365
330
588
757
210
317
546
847
870
566
504
658
596
323
787
206
463
486
112
459
32
575
999
548
712
905
500
580
269
9
765
246
267
676
735
795
988
380
214
200
114
310
564
705
231
574
428
899
949
468
57
742
100
304
442
126
936
592
78
587
192
326
669
913
488
113
148
774
764
466
436
890
456
905
639
600
526
587
497
851
452
503
818
6
708
520
516
5
812
944
209
672
732
498
574
984
209
270
784
905
526
937
451
453
371
283
646
53
917
580
313
962
722
981
905
866
276
256
987
144
719
991
705
403
692
141
166
372
367
764
712
884
912
170
637
758
107
637
285
671
505
585
387
551
84
840
963
632
146
250
478
996
882
782
729
57
350
373
828
154
901
346
787
72
565
900
570
223
536
303
390
418
861
391
275
785
918
573
737
262
276
369
431
868
112
436
246
774
179
372
484
875
690
551
850
211
717
610
852
234
804
448
937
634
525
79
716
677
489
821
663
319
682
915
160
100
116
747
722
936
767
161
773
724
471
977
386
118
659
2
583
31
761
755
18
47
444
415
562
999
142
592
717
506
459
956
855
312
955
282
382
34
50
165
732
534
633
979
506
964
969
110
80
677
106
103
329
978
521
213
127
408
417
797
878
783
423
860
646
623
480
537
944
704
571
204
752
975
72
81
569
92
223
454
23
831
361
470
4
897
192
200
675
774
546
811
149
797
484
596
68
224
904
131
116
55
461
370
817
424
654
807
29
44
286
68
359
623
141
947
219
498
698
292
648
844
594
660
539
511
317
489
467
435
128
615
641
487
918
933
24
421
318
853
631
736
825
116
637
6
667
960
24
457
909
451
212
13
551
522
366
713
179
502
382
90
797
289
593
918
386
51
370
166
88
102
352
233
191
592
140
513
289
667
60
114
112
895
772
644
305
70
26
830
191
615
315
881
937
196
385
516
239
959
540
246
155
999
548
526
581
828
497
63
232
409
476
354
844
790
941
497
888
382
938
924
9
942
853
222
341
465
262
421
351
106
662
59
333
975
545
770
460
890
878
143
295
574
666
178
501
774
792
324
380
606
29
585
170
932
575
165
366
266
410
884
686
482
276
215
799
325
885
900
458
77
586
511
926
535
38
450
119
648
671
134
911
689
498
556
589
570
731
799
448
240
930
57
945
784
778
922
901
974
193
813
928
733
294
958
703
538
270
511
400
24
544
374
806
722
431
718
360
398
351
464
422
149
946
784
491
374
15
426
861
491
214
110
878
839
166
999
840
543
982
631
938
552
278
261
189
3
828
132
884
790
666
752
715
888
113
793
557
525
678
343
289
414
241
656
52
579
201
378
557
971
707
591
161
248
867
545
897
621
729
936
124
602
313
320
775
850
24
452
144
852
827
593
384
887
425
302
504
357
378
890
608
286
206
721
384
85
474
227
332
844
120
425
904
450
874
512
110
197
380
732
540
924
711
862
555
9
147
250
932
389
799
657
230
472
222
860
556
774
914
877
523
876
700
220
333
665
930
316
128
600
560
40
429
455
120
551
141
69
929
674
882
700
335
613
786
503
984
125
2
425
517
172
905
857
27
272
46
183
247
867
558
382
216
467
974
63
155
679
821
720
365
485
738
798
458
577
555
448
80
165
335
932
969
633
249
398
831
378
966
863
2
99
894
316
676
582
218
885
334
263
915
99
621
864
305
886
708
590
276
608
953
315
103
405
198
893
3
674
800
151
711
279
982
159
812
327
681
145
286
259
36
807
770
301
804
650
392
938
376
39
992
470
464
215
109
650
352
172
916
870
579
392
598
701
131
938
331
654
160
663
73
514
963
141
286
36
879
182
367
852
530
744
951
884
622
841
450
0
443
9
738
6
903
984
909
218
994
226
507
330
772
231
761
933
95
910
508
942
917
306
551
909
310
396
132
558
257
515
507
382
578
482
700
916
107
728
401
269
668
752
557
502
405
478
419
526
611
350
461
88
645
50
932
835
243
108
868
383
500
511
961
36
975
143
645
673
478
419
739
233
79
85
35
321
75
938
391
481
307
783
755
372
749
565
307
637
161
783
265
616
454
696
933
607
510
138
641
24
102
672
132
353
367
759
658
998
606
112
471
667
466
200
899
878
653
71
701
217
586
134
769
994
362
509
873
395
178
677
187
861
651
626
949
845
544
264
676
380
681
703
423
259
761
467
482
809
429
719
135
410
12
158
213
763
828
417
875
740
700
130
44
477
29
500
780
834
718
407
487
646
337
150
950
614
444
148
718
311
435
388
248
885
690
653
212
999
70
625
562
195
606
689
758
874
345
605
569
482
722
546
105
376
652
586
73
816
471
245
44
199
616
854
733
483
799
434
856
159
188
240
875
599
565
40
900
275
118
932
20
797
626
684
656
379
720
252
474
758
950
7
620
231
983
212
138
725
556
542
727
226
377
205
288
754
429
161
486
363
884
603
619
613
451
322
579
407
614
192
936
409
348
853
636
860
873
886
556
771
381
841
660
803
843
912
714
959
720
908
218
115
147
985
489
467
789
522
308
328
968
307
104
741
606
595
391
350
105
702
578
290
352
472
940
835
334
132
182
925
845
305
855
329
879
999
916
815
482
666
884
212
496
150
335
885
294
216
783
648
43
806
100
228
70
704
706
93
94
219
937
258
287
970
390
89
361
758
513
888
742
556
596
918
952
192
722
894
80
801
87
108
209
937
350
831
297
924
747
439
390
161
490
904
377
2
656
879
572
986
995
70
576
812
717
944
590
179
420
732
828
270
534
23
800
733
223
612
285
760
106
959
969
104
930
229
675
453
905
986
478
96
332
617
364
280
293
368
532
311
44
105
186
671
549
596
664
427
374
1
191
761
872
140
666
878
544
293
303
729
663
538
696
398
602
456
510
976
943
567
57
645
540
623
894
98
980
396
257
111
75
740
473
878
636
510
704
209
401
738
854
960
527
797
71
245
633
339
18
757
161
1
624
958
120
790
697
504
814
722
228
22
591
57
705
948
780
464
962
885
147
438
985
386
217
138
790
949
485
719
121
27
17
122
701
815
742
549
531
268
986
793
856
817
126
140
676
269
258
886
515
636
949
549
827
230
191
135
342
948
721
800
15
171
821
18
57
235
605
83
707
173
178
185
551
948
67
681
482
74
415
793
876
395
380
16
742
121
506
233
641
939
444
611
396
709
297
837
968
773
622
534
845
329
38
175
30
819
852
928
619
80
126
361
167
533
126
992
893
402
289
349
851
64
257
344
191
865
507
680
758
272
385
39
239
142
1
215
356
34
835
745
167
377
137
631
610
993
871
226
356
237
100
794
715
858
790
435
383
944
542
861
907
388
569
381
490
64
395
893
241
614
66
29
718
652
367
885
673
238
31
236
358
751
182
785
765
947
250
666
290
87
103
325
977
435
26
373
541
534
26
562
310
915
732
958
618
13
548
561
307
719
141
25
861
577
253
969
900
118
96
931
306
438
178
382
509
778
74
861
731
893
833
307
733
734
527
140
121
886
775
6
805
199
835
391
221
288
928
880
411
783
498
971
577
542
191
30
512
876
615
865
437
319
712
912
847
427
467
351
851
448
472
769
163
502
595
577
454
27
17
332
778
524
755
676
632
924
921
452
42
681
150
441
622
953
116
202
546
905
239
257
81
441
279
695
351
921
664
662
616
371
847
70
274
987
321
588
641
429
120
566
634
648
791
40
394
238
301
875
542
208
591
497
98
840
740
704
985
317
533
811
596
673
435
33
621
416
913
638
479
990
698
429
969
624
664
573
979
545
537
396
905
689
3
334
903
886
127
864
13
314
842
508
331
340
656
384
786
65
657
772
502
394
66
426
481
511
780
459
780
75
472
372
112
759
459
949
853
13
96
858
293
456
123
677
704
812
894
651
588
619
895
448
556
707
597
481
249
807
357
109
604
292
586
723
80
703
271
369
342
226
12
117
942
799
949
339
453
717
119
921
285
550
440
425
839
642
881
777
980
293
516
401
902
901
218
419
571
960
713
629
591
848
490
77
68
702
123
922
219
441
188
531
790
535
170
556
673
43
251
383
872
737
171
147
373
614
627
318
36
302
34
46
969
657
533
123
871
415
589
42
705
619
645
228
894
702
861
742
917
530
393
561
299
149
998
191
928
466
697
18
736
934
582
399
751
47
30
831
244
851
374
991
160
210
768
215
157
191
149
484
403
699
968
717
990
150
719
993
560
121
375
943
734
20
185
112
198
978
110
54
872
185
741
495
356
602
469
521
700
644
119
13
256
739
556
451
696
584
750
278
9
308
110
301
388
137
457
13
72
150
752
42
646
956
176
746
264
666
782
789
805
14
944
450
890
226
499
635
51
552
881
447
848
424
926
922
719
740
628
497
698
552
247
724
783
973
766
812
23
708
4
202
607
431
893
665
207
128
307
550
829
167
325
916
311
722
527
243
916
233
467
661
647
582
513
493
828
372
554
737
306
717
891
949
35
911
864
19
925
366
394
694
247
574
8
319
434
780
202
225
32
188
215
580
838
542
439
208
323
1
37
445
749
919
907
317
633
712
808
252
272
210
186
599
320
272
684
681
767
658
430
330
872
544
650
203
657
883
936
853
307
835
297
489
283
801
17
487
242
745
529
914
730
987
840
655
984
917
89
947
811
924
391
741
81
526
203
34
11
503
378
911
632
159
495
384
478
210
690
74
859
787
327
147
18
514
3
514
187
686
885
960
181
659
106
993
663
185
673
66
220
392
829
33
410
650
863
135
777
278
180
788
580
814
384
619
616
569
785
230
400
692
251
666
354
384
389
148
741
604
600
254
829
821
407
325
872
576
677
692
107
258
973
470
861
298
960
583
894
117
967
227
829
708
83
889
316
116
321
662
13
347
461
826
267
280
412
220
490
979
903
339
274
349
769
328
15
347
653
227
561
752
986
186
666
49
409
739
773
284
191
371
161
99
575
404
828
299
967
913
747
410
504
385
310
124
700
898
925
956
576
421
104
116
34
660
715
94
587
111
824
329
550
130
266
226
642
268
702
457
600
724
43
693
630
377
91
889
471
655
322
952
928
727
982
363
597
596
34
939
285
272
141
28
289
159
171
253
974
853
453
533
53
199
249
820
904
890
121
420
56
393
707
527
101
126
554
949
714
594
712
642
312
188
914
860
766
149
823
464
902
216
353
427
863
855
237
65
199
686
509
898
206
775
262
558
908
587
941
867
995
585
166
897
284
219
660
827
745
271
588
260
324
969
103
330
955
585
975
916
926
210
929
278
785
576
756
378
257
873
839
708
438
262
774
700
900
679
407
158
451
105
509
106
794
226
269
38
745
324
535
196
156
61
1
702
436
685
372
917
838
265
793
224
297
544
729
899
376
832
946
495
492
67
764
278
665
828
743
306
555
304
356
985
227
131
818
67
467
708
661
75
677
651
782
734
262
627
414
936
721
917
831
21
190
76
105
713
163
638
467
414
98
674
501
366
799
123
451
32
3
975
915
522
655
260
807
603
504
569
776
161
385
880
95
506
161
567
587
674
352
523
801
124
419
814
97
126
321
737
117
40
675
544
550
715
233
612
301
127
720
148
79
581
646
338
519
3
906
66
869
886
329
374
180
326
523
977
774
296
80
89
655
86
69
396
505
369
25
814
917
172
450
369
240
987
254
178
820
51
471
699
382
449
242
463
448
351
619
611
595
977
872
631
145
564
807
84
459
336
265
22
427
853
522
372
26
197
856
483
816
784
761
183
593
351
757
372
937
324
659
822
743
112
110
757
870
694
834
963
92
287
328
643
76
298
516
544
567
906
534
550
370
872
968
762
891
111
819
468
996
832
837
176
915
565
694
108
384
128
235
14
416
949
355
510
805
770
429
415
955
56
215
674
951
42
313
829
164
624
724
160
978
562
258
571
459
8
620
262
814
758
376
590
87
698
88
993
597
419
114
946
904
420
944
612
881
8
194
631
611
698
830
990
965
738
855
451
107
933
692
328
765
451
728
819
133
962
951
358
352
80
733
808
729
353
908
601
927
324
454
646
379
912
481
559
759
475
362
828
487
955
394
200
654
805
687
912
142
479
595
575
843
548
830
631
552
424
962
542
944
405
60
133
155
981
146
197
649
427
691
604
485
353
170
126
312
716
172
952
823
197
37
374
955
248
483
646
535
778
842
689
240
937
42
38
977
901
886
27
825
598
991
369
8
222
114
531
559
870
108
793
317
683
355
174
559
488
438
424
194
817
400
886
357
848
699
335
85
186
631
661
814
34
410
671
242
527
290
157
694
794
257
55
435
608
133
208
669
814
144
133
868
833
305
782
78
53
589
164
279
116
587
761
28
225
316
33
729
653
792
526
524
647
213
554
51
347
750
14
847
359
430
922
204
53
530
364
357
943
395
221
236
258
117
271
697
611
656
76
566
96
450
814
460
263
46
847
748
338
849
248
996
942
758
425
396
281
71
631
377
519
891
78
125
636
261
71
321
64
450
167
632
731
590
744
998
646
552
702
880
734
692
152
855
508
261
798
407
427
109
0
626
915
159
623
118
649
777
745
173
615
745
801
906
800
950
374
917
673
241
10
761
622
926
314
769
426
65
842
309
499
649
673
198
19
740
624
186
617
652
918
665
700
240
172
757
310
725
479
576
921
722
558
231
392
528
325
810
671
828
150
100
87
340
547
1
820
719
997
54
654
733
136
853
353
642
495
407
189
388
512
121
254
722
816
435
400
42
73
923
716
545
637
887
151
672
193
481
183
412
304
20
292
378
186
552
656
740
866
633
622
866
440
773
592
189
215
93
716
779
453
767
809
21
328
577
6
928
746
360
115
148
778
138
698
274
133
689
807
798
841
882
720
945
229
395
42
763
888
400
583
175
164
811
955
707
606
769
122
902
117
108
757
947
979
81
723
741
855
18
936
250
895
290
723
759
663
467
236
582
57
843
330
329
690
292
141
876
991
30
184
955
238
522
156
819
959
438
105
811
589
700
996
687
635
679
296
462
896
671
127
869
858
464
951
122
885
340
982
715
882
223
864
682
833
519
636
42
840
651
974
720
129
981
554
763
648
339
263
871
447
595
814
933
433
3
304
409
948
30
631
860
732
884
206
930
716
646
903
857
628
188
686
114
406
224
494
451
979
681
384
551
764
206
226
549
472
485
31
875
903
188
587
352
730
456
191
460
688
868
441
896
631
549
451
246
200
680
835
355
758
711
674
981
276
914
8
621
429
987
964
629
362
296
857
978
274
660
14
623
94
964
563
575
756
240
723
198
740
374
520
229
655
617
298
952
6
969
37
302
472
795
63
728
346
585
117
17
44
576
92
305
590
723
724
391
218
763
301
411
398
994
791
941
655
628
825
821
721
499
580
25
985
257
503
206
269
582
298
686
385
164
878
181
242
657
678
790
827
699
726
599
614
254
693
82
361
3
611
450
918
727
713
234
414
689
158
923
906
176
447
343
521
694
60
835
438
731
747
88
585
658
995
984
545
335
446
610
136
90
887
806
693
792
290
155
944
769
131
860
357
554
117
861
509
664
293
49
281
131
960
41
974
402
913
794
391
677
881
357
507
611
748
389
676
712
648
815
875
576
599
423
984
31
623
670
166
506
91
72
29
738
804
305
824
928
234
813
959
187
522
899
919
113
390
311
494
187
95
344
933
599
501
826
478
126
223
246
703
725
858
643
986
241
708
870
605
0
832
911
642
338
484
163
436
347
414
810
198
779
88
375
459
177
949
949
198
303
12
751
89
153
822
376
928
163
380
74
807
471
570
545
245
853
19
114
632
832
411
389
944
634
753
847
585
765
17
962
37
691
212
970
542
279
222
806
587
427
579
612
735
264
54
397
854
677
666
293
995
800
761
483
907
477
857
954
905
349
126
821
351
73
611
169
688
105
422
242
839
371
850
487
989
274
80
244
846
122
868
816
649
138
21
686
896
600
657
653
621
568
624
836
767
269
918
837
161
263
989
824
565
501
101
476
490
86
377
856
911
46
63
454
825
986
114
748
652
113
314
200
340
433
115
175
398
712
72
353
473
502
852
255
591
807
908
197
279
439
756
421
124
200
146
711
77
552
816
132
47
824
322
249
814
164
819
64
482
775
52
577
116
643
810
806
790
749
526
726
334
627
809
59
701
303
209
351
361
756
631
902
382
886
248
936
347
121
198
213
82
761
748
281
955
376
702
387
731
331
290
57
252
6
577
7
747
794
597
959
268
751
420
581
453
996
56
683
533
832
10
730
748
895
952
682
152
987
865
818
343
180
912
86
962
218
47
399
727
985
318
598
152
170
210
14
704
680
567
432
349
740
311
468
732
218
354
950
811
87
827
240
905
314
886
78
235
367
817
916
681
283
712
230
994
283
615
540
195
117
98
3
880
784
496
305
689
323
662
393
876
201
901
646
293
759
845
925
860
379
995
514
443
235
455
738
973
675
980
542
51
379
344
310
900
172
146
784
386
245
923
904
218
812
620
15
369
768
118
52
441
805
480
710
113
581
803
649
574
193
970
235
290
707
553
914
583
145
345
861
843
455
740
490
279
710
152
815
150
700
701
940
746
234
122
267
466
887
483
107
925
622
443
881
916
80
653
16
150
415
904
133
6
500
940
710
279
722
325
918
621
524
927
523
247
147
298
728
247
168
897
795
334
496
425
91
414
68
583
908
25
547
978
759
784
220
428
532
750
669
776
537
607
690
830
357
754
586
973
814
800
687
974
309
998
235
787
590
405
907
185
847
827
471
500
127
349
563
377
665
181
327
705
557
687
359
819
289
708
290
65
724
635
787
112
219
426
562
772
750
24
254
418
698
818
167
799
275
864
360
413
778
458
194
620
41
384
0
65
518
974
341
208
930
445
17
912
254
25
915
674
37
289
303
31
579
635
606
216
400
955
553
690
111
775
163
948
1
512
339
704
218
252
814
947
754
356
325
450
385
232
529
386
824
269
925
462
261
748
528
351
534
801
192
838
291
64
223
841
107
95
352
111
838
223
226
618
287
415
172
881
773
126
43
398
273
752
735
833
336
483
614
156
680
932
726
495
171
265
970
801
67
828
378
106
520
154
159
963
178
729
586
402
406
196
524
794
370
649
203
411
727
215
23
645
305
446
943
450
218
368
422
298
380
256
282
624
976
492
652
817
484
74
319
782
479
101
673
953
543
193
113
307
525
282
136
287
872
731
526
498
287
126
59
17
125
399
517
460
828
835
777
194
25
141
107
418
861
10
601
421
591
757
948
987
293
821
695
46
361
613
821
54
310
797
680
747
229
576
734
271
189
568
840
815
834
904
770
693
474
421
156
865
511
251
12
399
388
598
566
508
416
369
777
597
430
975
643
996
303
376
851
225
69
745
746
535
811
631
134
365
404
38
814
693
917
939
712
571
613
459
176
371
323
490
525
843
940
395
746
395
941
890
777
562
131
231
128
948
256
80
807
268
589
36
818
888
605
816
499
214
814
576
386
548
563
447
369
9
410
508
300
714
615
912
92
166
151
175
624
590
900
867
177
657
818
479
478
595
168
986
428
921
818
468
214
55
180
920
487
606
252
514
664
174
596
200
486
101
288
132
887
920
196
417
64
415
111
292
910
685
285
240
469
781
44
248
774
140
951
314
979
648
352
623
426
830
638
43
523
191
519
834
766
700
702
462
142
371
596
755
420
712
450
916
217
422
276
771
710
853
479
649
769
277
614
856
743
964
31
635
342
297
834
82
785
559
306
150
757
87
992
874
477
183
540
971
953
782
7
19
268
977
962
190
946
107
518
459
150
942
359
957
455
797
587
772
497
797
370
23
261
727
229
839
403
93
129
81
583
348
370
63
735
525
206
655
197
310
794
162
999
262
678
559
868
102
759
641
175
83
514
834
105
842
325
177
574
541
972
693
462
304
318
947
471
645
766
135
567
783
141
939
632
288
203
938
788
193
777
251
597
240
350
821
937
2
59
501
346
380
592
58
195
470
620
604
148
468
702
354
497
603
446
511
573
202
6
196
53
244
419
359
705
20
716
166
756
924
429
407
350
64
891
733
154
229
694
884
564
590
476
497
202
453
437
862
802
600
179
859
932
218
640
315
394
712
10
680
826
721
983
232
860
202
995
563
501
537
729
728
803
38
668
321
239
682
159
771
90
410
638
1
500
139
687
841
757
474
242
498
223
311
754
678
162
349
848
423
296
49
109
456
490
375
270
605
523
517
236
175
749
481
999
731
176
30
211
94
279
885
5
653
724
326
275
708
393
97
219
715
432
278
981
132
673
482
793
7
32
682
464
400
367
847
920
92
917
966
115
837
732
893
356
144
560
212
979
849
523
52
727
49
811
33
131
548
684
628
297
443
504
278
819
115
240
659
357
28
726
87
426
305
559
139
760
91
284
403
353
248
52
205
529
922
237
837
631
241
369
986
842
651
116
187
931
764
864
388
504
872
821
60
201
483
664
171
789
463
879
648
192
377
152
733
980
954
284
478
579
204
611
356
461
445
100
974
331
310
804
630
161
16
254
507
674
470
759
33
252
240
465
543
711
236
744
554
284
663
935
256
292
106
940
963
697
761
839
392
113
46
779
283
4
174
787
587
123
293
279
183
375
516
385
348
747
740
695
431
259
734
763
895
562
782
719
473
589
673
257
271
938
771
686
212
147
44
924
931
122
756
860
741
275
889
532
934
617
635
741
80
570
447
567
902
461
625
537
817
371
990
139
288
809
220
985
890
220
237
675
247
166
179
235
357
937
649
280
295
262
990
782
675
750
4
830
340
961
164
379
181
87
540
433
671
387
925
248
672
175
251
587
549
113
486
433
525
585
865
911
468
716
823
54
127
151
410
36
684
266
429
420
134
780
156
797
756
462
926
190
208
381
215
513
584
246
576
450
722
380
209
884
4
163
271
740
383
819
162
507
463
977
228
276
961
29
296
700
293
2
984
915
206
668
343
108
281
426
759
898
619
257
318
258
773
503
847
44
219
618
242
771
977
620
641
568
853
807
592
951
352
44
453
423
779
712
63
992
606
978
304
609
411
486
453
619
950
373
218
59
777
10
915
428
382
218
3
320
322
386
345
760
777
722
681
172
234
475
471
116
826
951
725
48
239
76
675
518
39
512
99
210
241
354
679
826
713
819
127
669
477
846
914
328
180
984
282
338
993
190
654
264
210
208
381
690
124
876
195
24
744
934
135
481
205
972
704
880
351
722
432
839
819
75
238
534
975
712
503
170
310
946
441
983
767
204
240
853
25
501
712
599
907
356
705
573
891
207
780
684
840
997
235
673
998
356
682
482
839
474
827
586
842
607
51
414
214
733
81
551
184
772
81
553
758
206
630
745
352
132
84
107
843
399
711
67
779
849
107
168
715
994
692
717
180
357
768
588
100
393
328
604
454
931
198
141
48
902
432
15
842
602
510
413
429
199
227
830
917
719
806
759
92
936
549
846
591
403
461
985
49
163
327
331
337
231
983
369
300
720
991
587
642
983
428
482
179
705
134
298
504
496
165
538
423
114
694
354
907
806
516
611
642
298
746
359
450
373
559
247
993
294
389
237
248
748
733
187
364
163
702
794
850
24
444
910
459
92
552
81
321
480
53
70
564
829
338
373
852
424
396
978
397
565
592
399
481
970
563
618
147
369
512
814
387
608
929
905
557
13
494
119
133
676
545
384
990
941
275
952
129
328
784
183
328
717
140
567
627
710
917
722
899
768
821
533
884
219
205
228
378
269
77
851
372
102
818
255
143
754
186
440
637
905
848
490
581
878
846
89
77
509
561
816
838
648
303
544
932
149
961
210
882
466
899
491
846
26
737
361
319
393
731
485
282
550
175
594
73
684
49
445
302
933
729
86
773
722
175
788
551
341
710
968
306
985
234
804
1
289
931
136
757
465
961
752
607
676
156
428
758
164
454
334
604
851
642
643
973
143
319
810
580
460
162
968
589
302
729
651
762
681
772
521
635
541
580
0
202
631
436
651
463
818
570
137
746
753
1
73
160
897
453
83
521
161
115
681
587
501
902
353
56
753
883
246
756
229
510
241
460
109
617
835
657
207
163
624
349
677
249
832
222
155
828
55
891
996
779
947
111
44
940
368
2
519
285
800
617
538
562
279
408
861
71
504
698
778
332
600
24
674
229
181
778
885
510
440
285
845
374
227
716
146
473
951
274
246
315
329
269
730
455
617
208
648
195
189
21
344
644
784
423
806
753
959
164
59
75
990
184
485
949
873
391
139
313
564
999
683
939
793
676
246
741
515
43
604
58
22
5
59
854
770
381
84
479
434
996
746
323
496
156
597
77
195
13
366
425
399
462
218
295
365
284
399
682
452
480
950
307
15
75
908
528
787
286
821
593
254
494
685
858
667
316
794
965
593
162
562
104
524
565
95
203
56
593
819
498
232
156
37
359
22
955
984
575
699
264
875
591
559
861
327
896
338
660
50
896
53
431
205
136
718
163
285
300
75
811
539
494
283
501
480
126
654
182
104
241
663
401
135
652
788
215
659
380
279
424
756
183
503
9
749
134
903
153
108
472
472
126
340
16
30
114
531
838
822
609
818
160
90
318
908
599
509
75
816
483
307
339
955
578
841
534
887
697
720
706
635
369
253
130
146
612
77
258
487
525
370
744
1
37
122
175
4
269
259
195
779
15
388
708
138
581
882
134
780
65
442
250
949
219
560
882
746
300
122
246
809
579
732
31
938
604
217
967
77
443
797
595
143
525
587
425
168
324
127
80
110
699
777
437
356
502
46
949
532
311
65
249
462
188
383
801
33
223
486
776
615
154
384
916
593
479
254
703
548
315
18
110
770
179
332
367
20
381
359
912
783
72
75
710
174
185
366
690
972
506
285
631
463
407
27
121
315
833
838
811
432
731
744
268
682
385
491
239
125
465
937
822
789
837
56
559
478
364
917
825
574
515
90
224
9
416
792
290
319
714
542
712
629
944
577
236
203
89
365
763
275
676
309
899
900
628
704
238
684
966
478
845
197
631
600
732
708
222
798
786
757
758
315
69
139
703
610
964
780
204
645
614
29
107
87
585
422
853
545
184
689
829
44
640
40
831
390
592
863
289
112
351
400
570
352
834
764
81
889
849
716
647
858
632
49
349
613
533
570
750
51
93
728
80
342
55
56
684
236
357
225
831
763
660
542
790
185
150
89
986
991
881
827
219
712
246
289
982
645
806
303
771
196
159
276
110
382
306
8
661
759
352
896
563
53
76
831
865
311
482
465
993
148
836
443
916
126
651
6
294
675
228
197
88
458
463
924
744
258
991
847
980
324
900
701
443
479
209
582
579
470
1
37
279
655
930
400
381
985
849
232
328
480
705
768
679
125
525
552
218
79
264
655
854
713
607
40
507
576
66
819
171
699
322
814
867
858
697
938
124
537
847
360
311
527
776
476
646
163
776
756
819
640
486
845
937
521
282
250
863
325
956
484
925
453
536
630
567
104
641
872
419
400
642
453
626
744
214
801
337
863
338
356
739
471
950
659
97
561
907
625
792
108
376
687
51
120
725
524
46
80
823
862
60
214
475
166
135
806
534
872
899
306
219
600
994
279
3
700
435
641
454
676
232
419
46
413
614
326
718
683
855
844
302
945
547
92
685
919
329
39
902
586
144
250
752
972
778
107
841
773
0
651
254
849
90
438
746
977
76
851
474
206
172
73
254
256
748
176
305
778
830
758
301
175
375
914
814
46
90
807
798
711
643
167
696
286
387
26
609
78
717
410
84
244
657
139
514
73
593
967
455
322
62
22
519
226
555
382
795
832
149
226
634
680
548
489
12
657
57
100
973
770
625
42
879
642
96
794
675
59
380
644
102
321
482
35
349
944
147
79
120
130
896
815
406
206
356
408
946
866
520
889
359
227
227
942
883
879
484
443
135
30
52
961
758
660
212
313
957
664
296
362
604
923
990
658
64
728
458
571
632
534
800
857
193
149
488
184
952
624
370
298
253
413
163
766
810
718
214
440
450
161
211
276
989
166
746
112
248
592
852
316
129
906
669
90
441
268
684
921
672
230
327
646
870
817
100
464
916
330
742
466
937
174
687
583
102
929
857
185
237
380
928
23
224
628
439
236
421
214
671
877
718
385
725
216
584
987
165
958
542
231
850
873
534
675
486
221
679
919
545
570
132
745
200
156
490
845
859
907
610
779
214
45
409
248
840
411
500
847
617
599
712
491
184
261
260
956
785
106
192
169
983
37
241
854
760
131
399
505
748
682
425
569
974
45
581
274
23
474
673
507
674
536
14
346
220
396
775
988
189
91
994
254
306
622
507
839
232
451
272
784
77
324
631
920
799
507
175
706
882
337
628
406
490
805
994
643
65
556
903
409
137
800
600
496
713
233
517
684
361
862
57
886
278
350
16
73
718
549
181
614
56
622
861
728
703
289
179
115
899
64
668
532
895
762
680
458
842
276
101
380
953
216
822
704
108
118
404
413
809
846
545
544
637
643
929
649
58
4
285
513
71
703
650
303
210
581
631
780
940
754
604
212
228
566
66
351
390
116
510
709
872
669
744
777
875
657
199
662
755
376
816
648
288
884
303
54
140
740
637
968
871
150
277
267
397
499
292
25
907
689
508
53
306
280
74
500
80
959
41
691
868
69
670
118
44
346
505
708
514
126
3
840
565
605
12
769
944
459
711
548
170
247
123
940
674
708
423
186
537
454
563
386
12
219
27
831
206
825
802
352
755
959
90
562
691
454
273
380
817
197
248
921
844
117
137
543
597
758
224
156
413
84
854
145
384
111
466
109
59
137
266
473
381
259
228
380
896
474
564
638
885
329
819
212
515
14
375
516
932
55
100
564
38
966
223
164
60
913
951
147
996
48
716
826
424
879
8
170
310
152
514
914
325
927
730
620
957
840
504
178
806
740
649
825
4
556
492
581
910
608
767
833
91
856
943
529
572
148
345
496
266
290
429
317
450
515
373
874
442
378
67
604
833
85
210
531
58
99
512
819
659
369
266
228
613
584
249
742
154
127
523
135
715
34
353
270
548
361
542
898
948
102
443
227
113
949
535
444
772
698
267
898
790
847
878
506
2
652
793
571
507
117
122
240
956
16
821
313
174
784
61
323
443
46
627
225
262
684
685
616
357
95
969
341
286
50
942
471
663
401
4
827
830
218
635
158
732
291
715
148
936
969
994
227
710
568
116
409
664
817
710
399
303
323
264
923
683
782
93
953
146
806
653
150
118
731
291
776
259
313
132
402
150
630
815
274
726
731
226
218
857
363
960
618
627
7
157
367
914
939
81
135
350
922
687
154
435
931
892
957
782
543
358
536
172
731
141
379
124
911
79
917
202
854
826
100
825
455
829
298
69
348
810
80
554
288
346
8
799
43
482
185
274
763
974
372
478
660
665
927
439
726
947
407
10
977
460
826
993
432
434
8
450
191
926
712
261
365
209
130
184
351
655
559
652
13
955
503
469
111
576
706
764
448
929
830
466
237
985
994
188
223
71
917
326
289
509
538
236
264
411
126
240
215
445
977
863
467
661
284
681
780
447
393
893
95
151
710
160
276
147
377
919
137
553
733
499
454
168
442
442
635
480
699
931
249
594
673
916
863
8
588
740
973
582
157
159
793
530
414
613
868
511
436
91
417
898
878
201
893
524
539
309
808
284
772
984
268
411
232
274
85
572
185
701
421
662
679
538
896
994
495
171
647
189
200
421
307
858
205
760
997
267
387
945
919
12
424
859
292
869
931
424
137
615
973
924
983
714
241
394
944
839
191
618
953
535
608
108
818
780
160
812
751
373
318
321
395
454
505
227
887
225
990
480
46
207
256
939
778
458
295
792
979
386
41
291
1
371
759
444
105
852
488
261
216
134
376
498
88
181
126
587
153
767
706
3
405
684
562
958
461
456
479
65
738
230
27
805
329
435
205
121
228
107
46
676
325
308
985
713
112
372
201
831
398
410
684
235
761
838
769
183
333
726
377
770
535
82
338
912
227
685
705
923
673
732
319
330
875
689
961
629
38
182
844
169
678
414
211
148
426
442
86
704
469
288
113
285
871
110
993
148
591
797
22
155
985
29
77
486
478
555
919
695
831
483
193
481
60
67
897
311
489
584
496
661
537
789
834
711
317
684
455
798
321
116
361
63
158
132
830
537
525
676
872
677
982
973
975
357
351
682
984
625
728
323
457
354
554
434
272
473
153
600
276
159
532
834
382
114
255
444
555
592
52
724
920
851
643
160
903
30
949
229
75
476
943
725
117
168
306
195
901
956
297
156
520
837
595
131
425
200
746
455
340
499
0
469
702
33
958
938
270
993
825
300
434
262
802
933
540
419
334
178
782
391
788
697
321
792
791
365
594
150
495
109
246
243
591
723
249
922
298
215
956
493
722
566
707
944
444
594
687
833
405
602
169
72
589
677
409
154
772
533
556
451
329
154
770
115
702
995
774
890
937
774
840
572
163
367
24
395
330
433
434
277
501
559
244
417
416
814
568
285
16
312
692
444
210
701
663
77
557
985
504
740
621
292
543
223
0
52
51
878
588
255
124
886
955
997
555
360
318
262
492
929
231
384
375
742
858
363
163
975
207
146
555
749
164
736
491
856
532
160
504
921
579
934
787
478
871
778
498
789
728
69
396
23
969
917
58
874
269
818
483
326
648
924
901
592
407
135
975
918
31
708
203
839
973
363
484
515
848
201
725
232
508
307
598
326
316
986
144
764
803
999
895
926
14
973
990
575
238
721
96
568
801
446
820
761
877
970
917
976
959
90
385
901
424
226
78
997
575
702
883
659
671
800
951
236
259
479
162
142
891
966
229
767
897
32
853
41
685
644
678
485
754
570
996
912
74
712
944
183
940
220
890
812
844
21
979
48
819
651
570
644
881
745
474
769
228
325
191
248
328
927
52
847
317
139
758
85
885
498
886
789
134
292
569
750
243
93
331
740
994
558
92
521
821
486
505
406
5
743
714
912
224
303
367
829
853
558
604
664
678
733
914
200
507
374
906
149
967
731
121
595
268
211
304
24
486
999
397
337
421
914
447
770
506
150
275
399
90
605
455
678
541
533
508
665
384
162
16
563
223
652
222
100
539
160
883
121
494
893
510
809
769
543
365
174
31
842
947
497
637
670
134
245
507
291
412
460
447
309
487
701
330
217
210
192
765
723
881
18
533
806
474
471
536
107
824
964
312
62
438
378
785
790
363
970
174
942
461
826
516
586
563
27
992
839
219
982
369
48
11
89
563
312
784
251
871
322
649
19
160
989
786
269
335
130
137
795
344
244
649
293
632
831
489
89
77
608
679
153
8
553
217
622
258
652
48
845
575
386
856
828
604
325
819
233
248
919
200
255
666
990
25
836
117
857
774
392
135
182
699
405
429
331
137
634
229
183
690
472
685
801
819
867
231
126
456
866
0
338
570
424
717
89
310
568
937
366
140
21
462
218
90
859
296
323
328
370
770
180
286
31
533
7
840
100
320
660
47
698
54
908
334
352
749
183
170
422
999
605
962
6
562
826
474
105
359
189
598
670
525
587
300
319
362
981
781
652
2
110
951
50
303
630
795
110
47
35
30
528
594
755
266
846
331
424
402
768
520
116
950
159
445
166
50
503
955
191
132
398
251
195
735
424
625
991
533
265
463
873
111
870
364
823
785
510
839
598
380
532
743
735
221
119
224
917
335
997
59
800
156
27
312
213
12
109
75
247
683
442
605
291
2
664
643
574
596
533
861
954
713
517
959
170
23
448
125
985
855
57
406
353
675
998
608
609
782
162
43
865
949
274
454
100
319
355
527
775
602
306
281
19
967
718
566
625
107
358
834
477
310
894
928
39
353
822
225
997
54
372
240
475
363
813
494
595
68
740
380
319
356
976
669
97
369
421
445
672
879
499
185
895
40
959
142
976
953
371
645
832
119
768
491
717
754
483
206
122
337
974
455
693
984
670
442
961
545
983
996
260
689
959
719
473
764
809
966
528
485
343
619
924
55
26
830
593
719
837
574
41
695
136
890
383
712
405
37
559
585
145
382
866
967
907
838
879
501
224
733
814
5
794
294
671
660
938
818
946
745
734
279
227
67
712
434
10
927
504
127
618
314
344
35
593
103
567
637
165
795
647
832
43
973
525
987
484
869
455
770
567
44
137
838
454
824
4
893
394
371
524
932
761
293
211
536
789
840
58
569
118
561
821
200
785
644
119
612
303
789
210
303
488
421
809
525
90
493
852
956
366
124
406
338
473
441
910
630
986
644
842
880
812
770
809
320
721
329
846
175
359
948
209
405
276
259
583
838
292
51
758
103
693
479
339
897
957
239
710
863
893
557
897
228
204
550
866
170
870
532
72
594
232
98
592
891
263
259
801
467
713
95
646
624
663
731
536
749
701
604
483
212
350
827
309
385
276
326
293
588
527
498
244
72
630
911
920
535
394
306
132
676
179
192
987
171
426
702
412
120
775
249
794
784
510
386
450
770
626
432
799
191
332
864
317
904
463
986
983
474
38
255
646
741
860
646
810
935
641
734
794
937
409
924
718
562
644
536
538
145
724
269
50
191
870
118
731
556
710
289
647
161
513
288
62
843
435
914
520
109
456
0
160
554
775
601
237
352
670
21
964
689
695
346
281
622
898
5
392
12
218
78
867
693
545
298
904
92
665
515
422
384
646
486
697
446
972
45
88
669
30
973
668
246
829
300
832
760
248
498
279
972
943
781
783
979
740
637
654
884
458
536
576
389
648
988
152
727
112
329
192
5
16
637
955
499
150
89
276
960
121
613
25
97
634
548
820
738
881
676
436
317
25
683
353
863
89
702
155
967
230
51
609
187
476
743
479
71
485
209
111
567
205
454
557
658
328
723
567
391
998
613
887
357
323
36
966
283
992
385
168
187
816
794
675
28
570
517
466
687
827
269
200
448
180
515
600
389
439
580
347
375
237
289
361
778
300
507
937
498
357
128
399
612
624
906
560
192
544
467
638
89
487
783
89
55
16
962
576
346
131
872
678
877
446
265
582
182
486
217
214
335
320
368
188
511
652
914
110
869
124
421
808
369
824
983
223
497
15
448
490
454
935
956
171
272
76
704
86
682
387
891
863
696
303
27
164
326
296
110
97
303
964
281
598
94
552
886
332
726
571
343
89
327
114
376
969
663
921
100
378
983
207
600
574
989
602
650
588
320
753
354
195
377
769
923
260
706
784
454
490
877
725
655
122
326
759
185
925
762
905
132
163
789
830
771
454
273
341
132
852
573
892
143
839
524
23
341
149
101
630
324
872
239
945
998
887
806
643
994
944
483
859
795
829
674
922
29
341
927
57
172
181
897
92
684
980
868
565
946
714
63
90
422
76
36
726
209
60
888
884
771
613
508
49
290
999
825
722
41
917
143
30
610
780
506
260
481
931
151
849
348
759
262
957
263
450
782
912
833
377
335
226
340
401
104
532
172
782
505
186
898
721
160
763
270
132
721
342
933
432
844
511
511
979
237
625
117
254
607
247
536
703
505
113
249
432
418
184
388
355
50
584
566
447
576
884
936
422
714
510
861
373
880
824
827
85
360
986
115
638
913
75
360
266
368
117
719
291
748
199
890
991
703
434
761
405
815
6
647
152
438
488
747
823
104
141
86
740
375
583
385
429
726
443
114
61
98
159
948
927
672
968
396
2
973
567
162
971
469
599
230
885
936
423
829
32
964
119
112
911
604
671
628
316
537
523
456
61
332
266
573
606
206
441
44
276
939
630
530
70
201
438
62
717
208
466
89
819
255
593
612
316
291
85
868
74
350
637
844
454
325
841
660
601
908
630
167
123
301
465
453
923
535
991
87
180
455
851
17
59
101
128
229
925
71
972
595
14
949
605
554
67
74
143
897
463
527
998
593
920
263
969
488
258
227
281
808
378
504
684
374
707
470
291
90
911
988
278
319
335
237
196
635
725
79
544
416
623
525
135
379
921
370
597
620
393
558
277
464
534
686
43
902
43
28
810
671
598
122
313
238
149
939
135
254
787
715
435
957
301
464
742
167
707
16
186
597
637
160
624
663
557
320
171
515
569
381
449
818
813
982
846
211
780
546
50
737
154
152
723
818
821
564
48
660
482
80
19
434
30
366
271
990
235
683
594
131
475
984
859
503
737
164
348
227
700
970
533
523
168
868
503
412
616
692
676
430
494
69
542
277
924
848
491
822
814
353
637
595
160
127
485
280
813
647
930
270
244
502
169
834
409
440
196
518
792
164
934
420
502
333
609
997
82
701
411
642
375
798
38
437
170
867
1
288
347
147
119
467
225
816
170
752
209
678
361
754
398
38
154
80
775
329
816
892
281
183
501
62
673
879
329
424
167
626
716
739
945
401
549
396
794
896
730
825
839
161
82
367
547
558
890
543
230
163
829
648
860
116
339
421
67
778
17
635
184
761
983
505
98
481
808
958
464
151
917
258
855
683
10
671
510
327
311
891
14
71
581
46
291
388
298
633
757
200
503
244
552
339
77
594
627
957
310
70
431
390
340
873
325
170
43
650
484
536
685
205
827
781
120
687
474
237
816
431
754
383
73
514
978
189
424
870
78
625
199
749
582
782
21
320
960
757
346
668
684
558
402
454
820
822
366
238
532
391
249
970
208
501
660
456
307
959
12
38
892
71
838
344
277
486
807
569
827
951
938
574
686
765
524
662
116
246
378
458
767
206
237
217
281
797
288
992
569
822
776
765
341
88
551
499
912
842
469
478
822
848
246
252
712
180
466
699
621
378
122
399
911
641
832
628
834
715
400
756
700
854
582
91
278
162
9
654
902
883
294
217
447
807
936
878
587
919
711
796
494
597
813
332
313
706
205
108
729
710
829
464
217
882
627
929
615
386
578
603
414
756
446
384
678
579
604
812
93
828
931
929
570
465
374
437
525
710
70
711
849
444
586
663
180
558
137
147
567
671
753
756
336
269
93
30
98
713
21
635
885
893
993
978
545
283
217
560
63
425
928
300
6
729
71
382
152
324
410
357
351
308
951
29
702
607
116
115
10
555
20
734
443
473
235
16
279
334
386
413
138
155
184
680
37
797
161
99
539
958
314
711
626
394
234
635
720
475
384
988
533
138
26
413
4
477
467
265
555
145
911
608
135
657
372
29
53
362
807
691
388
184
527
637
298
44
565
185
650
198
842
327
797
28
684
564
115
208
929
313
387
465
983
914
288
625
346
608
569
718
198
667
49
128
611
362
504
938
593
530
615
939
162
432
176
968
376
549
519
111
193
476
532
719
351
249
694
235
484
140
431
570
595
807
282
467
522
931
708
764
472
328
967
988
971
198
529
272
165
445
423
907
238
72
688
407
862
525
384
379
751
955
528
177
333
308
570
279
945
741
77
934
165
121
389
916
439
682
204
712
672
982
208
565
850
668
980
900
663
115
515
179
721
311
162
79
849
876
324
396
391
710
674
485
730
241
626
616
397
994
643
825
571
707
784
64
336
417
203
967
407
813
930
81
455
15
310
890
662
585
267
151
216
769
1
536
132
99
730
306
1
398
373
834
262
609
422
974
664
467
559
541
668
784
532
429
581
311
660
812
396
521
46
812
415
433
113
369
57
596
263
303
229
460
861
587
722
27
914
93
543
808
321
574
111
649
794
485
235
818
474
769
500
695
549
325
267
240
62
687
80
332
792
335
308
59
848
973
989
242
88
561
632
58
728
937
533
373
498
407
7
861
465
492
936
69
57
728
609
970
267
413
237
217
403
482
395
91
652
765
951
726
181
818
427
348
563
473
545
646
227
677
791
119
276
669
154
846
123
908
709
204
320
582
312
250
775
701
822
553
577
245
540
480
596
92
345
745
542
736
721
321
131
733
4
342
844
748
539
683
69
664
961
226
43
436
223
472
484
88
6
654
172
508
875
220
560
922
640
688
583
557
71
941
955
192
906
520
315
242
577
370
627
310
302
923
384
670
933
575
975
55
731
744
950
607
852
823
851
266
478
598
165
334
738
86
379
858
8
436
65
643
621
60
660
266
780
191
868
654
368
365
671
37
553
561
444
119
249
580
729
647
43
31
749
496
672
673
303
290
940
130
376
967
489
739
683
121
84
363
457
95
310
60
992
872
234
227
251
494
125
350
482
154
310
836
619
591
80
793
395
942
329
631
118
535
287
97
732
455
545
945
455
483
307
760
757
538
420
412
676
917
68
221
161
302
952
939
1
619
40
959
882
401
368
824
894
199
125
185
845
247
814
314
705
383
234
891
365
482
939
700
593
228
796
635
450
421
176
757
265
167
938
607
25
347
411
869
629
781
890
923
413
110
542
109
933
260
946
179
689
35
5
64
1
986
249
810
197
872
262
852
155
518
611
783
627
188
351
304
584
914
278
823
961
953
726
59
814
82
969
611
798
890
456
254
906
328
29
858
764
852
378
881
102
372
696
278
619
711
511
216
53
565
929
52
753
505
618
519
524
675
92
260
95
409
211
315
288
256
530
650
56
95
675
854
293
57
106
380
188
839
204
227
812
529
864
848
290
518
671
850
926
346
0
925
213
509
605
79
279
682
227
296
775
764
570
829
631
31
637
669
716
978
54
842
198
404
510
954
283
206
892
617
667
928
619
541
422
763
946
985
150
802
482
331
409
809
350
461
744
931
478
17
694
568
681
105
671
877
193
855
720
852
50
774
350
372
234
293
316
166
828
344
888
220
333
343
845
633
68
98
404
677
557
912
378
208
590
320
758
597
387
990
460
56
126
887
237
500
638
472
657
112
522
521
245
416
599
153
426
720
629
892
20
291
537
827
165
754
859
472
839
764
178
25
66
142
477
26
3
259
587
781
542
684
703
303
614
946
293
713
966
534
819
831
690
978
533
397
884
135
738
611
787
669
387
830
47
200
248
460
383
863
510
979
835
965
80
426
751
981
9
265
333
28
619
113
880
69
503
499
877
153
379
953
432
884
163
776
982
857
525
498
263
964
572
509
602
757
879
206
208
863
102
999
975
764
63
930
508
340
374
67
135
290
363
299
224
512
599
456
770
942
714
902
213
402
324
267
920
199
485
68
807
416
171
314
92
918
80
376
27
958
82
222
81
244
136
689
409
465
860
119
186
550
257
335
45
525
989
584
458
882
682
587
928
47
158
296
776
12
864
809
24
712
244
239
747
380
184
163
979
222
901
868
335
303
49
127
575
765
339
290
716
957
98
754
503
659
622
302
695
545
528
867
625
985
9
914
804
786
876
337
498
95
337
111
426
636
294
81
182
768
185
727
609
297
19
707
775
608
184
929
792
392
513
133
438
514
366
900
452
11
190
191
771
314
186
181
906
414
784
67
869
542
244
660
903
821
527
668
902
882
199
452
888
797
394
216
300
757
724
606
723
486
936
257
77
532
323
663
95
47
277
249
364
96
230
464
341
16
738
607
494
842
355
393
714
970
464
779
821
190
301
210
949
163
288
376
259
923
726
101
604
473
349
20
81
473
111
771
955
801
344
78
774
230
87
652
579
119
302
986
255
536
311
455
97
304
85
484
880
519
265
405
566
215
8
874
590
21
47
149
671
510
675
675
905
699
341
746
234
386
90
72
569
30
716
757
995
479
229
236
749
796
845
306
971
602
404
596
152
317
434
115
475
413
911
320
317
126
638
16
73
655
679
717
36
81
523
253
429
30
768
412
515
627
412
526
71
219
663
95
515
216
191
894
223
899
359
412
436
547
49
779
200
440
686
208
159
57
575
633
274
502
382
873
638
618
652
759
426
21
762
339
723
33
117
588
419
991
613
289
541
938
797
315
595
216
869
324
133
697
351
430
719
303
388
234
173
829
279
599
241
645
905
182
793
810
934
498
79
542
54
641
867
523
77
590
3
122
598
664
634
962
16
999
652
283
639
729
906
158
925
90
723
766
231
324
989
760
216
184
133
790
635
149
222
70
696
975
303
33
340
879
354
943
20
112
632
935
702
32
597
671
706
400
814
282
542
815
600
718
158
167
361
648
180
119
954
801
279
921
845
504
953
267
235
954
18
61
480
927
639
327
517
210
59
826
502
446
655
789
360
854
946
624
454
809
825
165
700
650
648
306
256
147
637
606
608
789
268
939
137
946
274
951
103
789
910
73
27
466
255
17
183
601
839
835
453
394
990
117
700
815
186
466
528
843
935
203
220
12
711
928
277
500
766
133
972
451
556
49
437
631
738
3
297
961
733
560
61
890
921
447
69
325
643
461
213
664
928
94
274
699
71
970
847
942
89
829
329
392
156
693
70
175
775
850
943
841
442
121
251
478
513
202
703
177
56
953
274
419
758
890
627
182
740
13
52
995
753
847
498
831
439
233
706
808
142
41
526
349
423
354
142
163
628
587
639
946
738
860
382
887
173
451
242
560
397
514
519
162
47
257
291
728
353
777
966
370
668
603
225
318
50
291
860
525
120
278
185
750
921
192
913
482
161
253
112
374
328
861
259
932
976
319
63
276
191
778
667
536
837
822
646
269
559
95
787
517
463
125
500
557
102
566
402
600
649
921
269
221
544
182
619
827
702
319
734
495
567
890
108
460
859
649
264
541
863
332
137
539
321
687
536
698
624
755
209
638
789
73
349
434
127
310
14
618
166
10
787
22
501
223
783
74
646
327
417
223
156
552
377
458
682
495
43
181
661
880
713
888
816
393
907
121
26
939
558
626
337
523
224
441
284
971
160
814
858
914
403
120
157
821
105
50
599
752
614
968
395
155
509
45
932
389
141
420
63
348
904
892
186
323
383
115
856
811
826
372
192
198
384
642
913
579
294
208
846
444
193
727
634
353
714
202
393
723
433
552
724
191
943
873
770
917
188
115
189
531
10
957
979
410
278
697
993
2
956
797
351
701
631
976
166
988
478
415
870
468
926
629
56
700
361
596
870
799
453
981
468
522
987
696
373
84
773
889
601
283
332
89
722
43
290
835
980
301
983
289
33
542
322
641
82
53
56
583
805
748
852
563
802
326
414
190
699
173
139
362
43
495
194
104
449
770
419
483
999
692
775
28
504
454
890
965
239
169
749
119
586
855
657
682
944
419
907
33
956
779
361
204
447
361
352
12
392
629
891
557
900
392
950
534
789
88
233
746
415
545
807
512
468
751
947
406
802
160
505
985
107
730
56
736
475
579
778
333
614
996
34
158
344
590
947
109
840
28
464
659
616
337
576
469
494
924
700
154
68
147
388
501
737
228
822
237
706
174
278
346
458
554
221
646
185
862
158
849
234
845
823
191
858
149
486
843
130
91
560
768
46
690
336
58
508
411
707
163
258
985
204
672
580
717
83
113
265
516
325
742
321
282
973
829
607
14
331
290
322
103
691
200
301
713
357
693
821
613
564
20
557
318
204
759
186
37
28
90
679
517
586
29
563
7
168
227
557
719
612
271
248
220
922
483
842
653
547
424
545
995
924
904
661
129
782
167
621
204
624
635
285
969
769
604
460
743
663
804
638
666
822
234
261
754
663
963
219
426
73
536
900
322
121
815
981
476
618
395
495
52
623
885
704
144
976
136
970
654
612
426
617
179
879
136
616
577
139
3
670
551
424
685
462
460
903
920
389
907
308
245
74
747
533
444
165
248
949
679
173
109
722
319
63
333
49
115
448
253
289
404
269
81
350
539
665
437
600
791
452
574
442
574
20
22
91
350
389
990
688
183
448
617
378
506
227
355
102
139
662
100
657
556
143
2
289
429
540
236
69
30
642
604
105
574
711
958
628
636
903
333
134
830
874
816
221
552
51
751
133
31
686
767
289
720
958
922
169
960
463
232
925
21
221
210
652
531
262
921
771
265
180
779
259
120
953
944
990
451
780
518
115
168
873
93
480
0
818
29
321
31
576
6
639
219
77
962
426
798
481
813
311
548
170
842
756
48
744
439
311
565
524
707
361
511
210
115
613
961
76
488
935
388
679
757
360
868
571
164
46
982
132
822
230
578
220
229
202
690
662
718
783
320
410
716
109
35
695
769
940
320
821
459
503
633
311
24
666
181
148
615
223
552
298
559
761
741
419
875
704
14
151
744
396
85
204
183
308
923
849
41
837
185
640
202
749
213
903
661
348
54
849
866
805
135
722
426
765
222
633
816
233
508
718
763
665
944
996
643
307
460
242
952
84
595
814
637
518
853
653
760
146
407
881
203
232
870
72
357
115
282
435
94
939
41
252
430
627
15
289
439
650
336
325
385
342
881
788
34
857
721
856
357
600
39
778
233
324
628
504
303
474
927
50
575
981
668
458
866
670
614
24
864
36
698
788
350
280
999
744
744
393
563
70
668
78
687
377
964
955
895
150
236
730
783
662
102
650
34
244
921
819
263
660
603
773
570
167
560
943
547
970
946
146
582
353
904
800
893
471
570
967
509
468
214
709
194
719
664
878
859
250
104
605
176
798
286
45
40
151
425
579
739
244
849
267
808
587
164
858
740
134
765
444
787
108
868
423
362
861
769
932
644
719
698
691
452
324
218
212
514
864
208
257
685
753
667
142
683
589
456
212
847
448
840
428
34
38
174
364
320
66
945
362
410
50
506
864
146
105
281
545
825
448
553
152
386
47
884
128
432
418
422
604
32
323
544
467
792
106
64
531
480
422
898
284
731
753
792
986
148
956
725
436
780
844
494
413
772
415
871
673
482
465
677
385
419
853
102
689
174
310
5
903
859
79
495
761
808
476
11
372
909
662
280
517
530
889
270
674
994
738
601
457
103
554
195
968
828
112
785
406
886
573
508
741
520
606
684
849
255
710
963
805
606
566
631
396
32
957
837
156
487
75
477
959
861
601
431
633
506
919
310
487
116
103
553
542
840
3
740
619
189
797
102
379
782
710
311
991
211
11
851
791
409
3
482
840
968
429
849
210
966
967
486
37
495
755
723
270
799
731
349
641
555
880
64
506
165
556
258
75
139
953
212
499
646
245
923
543
617
563
707
45
243
530
62
292
604
115
706
336
686
820
81
125
943
645
403
630
686
407
141
802
257
873
536
735
567
590
352
871
57
966
884
482
170
893
19
209
792
604
904
801
677
584
762
193
744
709
335
32
54
622
783
667
308
588
973
796
156
582
558
617
308
591
461
547
507
615
680
384
852
226
96
85
586
178
711
590
216
674
882
80
603
820
818
776
871
814
290
758
94
382
380
438
650
270
258
326
588
97
797
908
963
784
818
509
704
690
521
874
617
927
537
804
509
63
852
752
658
749
819
919
244
649
109
224
243
795
876
240
954
395
386
783
786
520
6
138
843
53
543
886
514
985
644
75
250
585
455
6
743
105
553
576
792
47
726
657
478
31
441
481
641
929
486
765
37
47
408
19
511
724
494
862
354
439
175
871
666
541
965
891
148
447
27
124
343
164
585
177
109
68
134
294
574
913
861
187
588
541
605
268
221
890
295
339
718
194
226
571
288
564
843
303
763
265
326
997
428
713
361
102
401
138
249
931
748
911
882
402
599
586
868
466
753
132
827
787
340
765
817
81
850
248
887
505
255
429
341
160
434
582
944
161
314
547
734
47
3
411
936
638
665
956
890
107
844
876
719
225
965
102
890
813
23
454
476
494
288
863
0
902
782
197
424
437
537
97
555
344
438
477
561
875
569
680
626
15
973
799
184
455
331
374
850
495
444
74
328
316
723
761
455
375
281
711
302
993
863
411
399
484
469
126
431
970
487
769
356
244
522
334
743
124
149
876
998
198
326
423
53
908
686
345
134
345
635
107
578
928
202
205
673
921
685
34
197
523
133
823
897
194
517
634
787
876
336
950
466
798
402
112
921
210
266
577
346
890
556
850
815
861
201
799
869
69
89
270
123
215
283
974
490
856
527
525
650
379
552
745
986
10
98
979
461
640
943
345
140
859
99
995
765
560
96
261
286
47
266
801
832
374
147
962
982
265
847
305
717
150
222
77
940
249
151
809
886
765
907
912
162
580
172
980
683
48
587
711
750
8
372
423
511
81
122
809
5
251
490
871
806
873
713
586
66
313
694
713
323
600
54
680
45
260
989
353
440
438
377
949
628
717
280
928
44
707
194
322
254
97
800
484
286
274
121
451
23
415
51
466
354
815
913
864
284
603
863
907
694
313
604
281
699
585
143
458
310
83
788
54
160
445
974
404
885
650
147
456
268
266
489
588
350
159
572
725
166
510
136
528
957
2
64
442
461
893
483
828
622
368
742
615
199
561
198
274
3
97
97
737
902
96
138
20
628
997
562
410
243
625
124
703
29
899
336
709
434
152
880
316
861
45
779
365
50
453
637
456
931
147
927
297
850
12
432
923
27
890
693
977
383
546
591
75
949
635
863
755
269
308
352
358
342
278
122
862
965
516
821
200
278
879
306
855
247
556
718
44
786
937
696
889
13
32
532
554
639
246
6
417
249
21
23
230
517
225
428
930
86
783
137
502
865
539
520
885
280
430
171
403
622
854
518
435
47
607
689
864
746
814
549
230
394
363
673
506
818
666
125
627
722
636
358
178
248
398
510
928
691
110
494
423
348
539
45
293
732
717
306
341
773
544
798
419
474
548
503
73
982
672
12
909
843
98
43
511
154
486
355
783
38
405
794
759
480
850
219
477
372
635
239
949
158
633
237
685
90
173
494
885
986
976
521
594
249
617
987
851
432
158
488
861
90
393
551
608
178
897
489
372
249
95
981
274
867
969
884
702
382
10
872
950
149
681
58
492
268
512
752
781
130
634
726
400
104
757
798
999
908
599
812
347
705
182
302
488
102
733
564
821
451
570
895
686
958
225
202
433
600
25
985
70
302
23
227
12
463
439
328
22
61
626
765
259
412
996
793
898
850
798
9
450
929
961
900
193
375
328
635
671
945
310
958
874
52
449
399
171
161
64
843
528
487
989
843
133
427
476
805
604
733
232
26
980
748
386
874
394
475
140
798
692
11
818
756
962
276
729
293
442
683
596
316
363
103
732
322
894
608
617
235
435
508
112
667
837
185
194
77
534
84
435
339
583
99
606
505
673
386
393
361
611
700
509
682
276
408
342
526
584
446
706
319
947
517
218
194
308
877
419
913
580
767
276
501
19
303
392
479
493
289
444
881
964
770
57
647
971
168
436
974
671
724
183
832
892
240
487
673
938
908
491
764
22
84
549
599
82
245
423
924
985
301
38
98
561
971
606
449
661
185
191
366
271
183
909
504
996
41
184
893
196
647
291
117
154
89
137
8
97
577
965
801
444
596
311
22
301
592
899
839
295
35
658
149
315
125
771
194
718
215
359
874
359
851
253
954
372
543
325
705
926
456
16
804
136
368
266
224
394
340
44
233
985
514
716
704
379
715
497
84
155
458
277
74
150
106
112
479
702
321
904
605
144
633
917
136
766
616
481
757
805
861
354
240
267
569
340
568
161
412
717
533
810
685
501
176
182
716
296
324
278
247
478
251
991
186
527
640
245
93
727
606
831
29
430
167
575
621
846
153
689
777
753
154
905
477
79
731
242
37
715
617
169
173
441
343
759
515
845
506
617
738
962
891
479
841
215
557
743
272
506
231
610
135
556
138
134
848
560
843
330
115
732
565
349
688
484
885
102
292
451
436
780
913
873
571
507
127
922
121
787
112
995
893
813
341
321
143
593
405
933
669
893
401
181
952
238
658
762
2
739
5
170
503
888
700
476
341
645
509
293
170
450
118
888
474
327
741
436
131
186
925
639
786
524
515
505
85
341
923
477
1
691
650
259
78
169
13
650
50
40
855
823
979
506
948
382
219
492
924
872
813
21
577
525
313
82
560
951
705
951
798
187
672
176
905
839
835
442
340
397
470
666
162
138
347
120
999
181
511
225
942
863
341
617
36
562
11
88
567
218
743
454
189
212
978
910
790
414
898
113
851
284
62
638
229
554
534
757
132
582
181
323
630
875
375
898
483
742
832
779
284
112
882
581
434
143
959
977
807
352
509
807
423
542
753
166
472
89
902
177
526
867
890
588
302
602
60
368
15
909
6
250
370
185
112
334
638
68
791
731
926
300
488
947
308
904
425
703
489
318
207
969
296
373
479
475
273
776
402
322
959
96
993
879
255
586
407
968
494
689
618
787
281
789
676
893
605
593
988
88
658
681
101
553
281
841
63
8
316
503
761
448
637
92
831
918
387
917
546
939
559
10
363
846
641
412
871
672
997
670
87
215
135
81
242
263
676
9
864
317
146
222
697
403
293
223
554
995
312
385
988
586
817
538
374
63
593
111
745
183
622
167
635
867
617
397
60
682
301
206
160
955
106
332
518
63
527
891
489
524
313
920
283
302
308
275
134
888
581
911
774
606
473
961
718
894
291
277
226
709
522
148
747
361
307
41
484
171
419
582
28
884
175
80
7
409
960
396
291
810
819
833
352
485
57
532
899
680
668
426
810
962
411
673
47
836
952
878
48
991
14
769
320
287
569
186
323
838
595
397
855
719
130
684
678
579
763
663
369
165
995
167
922
95
339
999
886
436
601
830
952
502
260
42
230
503
121
665
606
282
398
838
589
275
277
240
452
514
550
319
310
154
3
118
419
160
947
18
844
494
122
775
455
328
666
31
890
297
895
159
834
690
835
122
95
10
844
250
808
782
29
605
909
317
714
211
352
377
414
927
811
787
398
908
422
321
407
179
820
307
555
76
885
786
797
183
669
617
966
408
240
146
791
993
243
473
732
288
780
675
806
954
793
861
450
552
279
464
174
974
902
122
614
276
143
675
603
454
297
633
491
235
368
482
743
675
450
179
618
934
740
538
112
339
241
349
609
834
972
837
875
779
89
478
680
319
999
888
854
368
392
501
898
677
848
295
828
466
363
999
865
88
740
785
654
839
17
253
427
976
428
239
411
851
233
459
675
926
651
748
852
192
909
834
772
120
980
415
195
46
905
821
555
313
112
176
167
912
913
144
727
934
980
18
773
779
772
456
330
86
218
401
204
437
565
192
603
626
819
365
718
359
970
221
121
903
181
280
619
393
943
397
817
683
154
672
353
185
412
628
973
681
69
283
588
232
455
789
815
326
456
629
669
301
391
783
152
58
560
780
348
77
852
947
56
594
670
361
522
719
166
948
62
531
620
61
588
653
524
351
277
857
573
68
390
899
349
749
434
133
160
306
918
326
848
448
61
474
77
945
515
555
651
735
324
553
396
16
46
156
493
434
716
419
554
374
719
826
52
427
341
725
173
131
663
479
493
962
706
326
3
919
876
841
766
263
291
131
698
604
200
951
297
533
511
736
267
99
715
256
380
223
821
607
359
926
191
489
912
241
992
150
470
294
846
319
147
305
104
483
298
25
692
656
436
125
759
160
548
778
129
488
888
610
228
201
395
538
133
453
296
381
83
92
52
654
784
252
816
640
439
648
820
933
542
14
660
983
207
546
313
696
517
579
16
420
871
743
617
637
290
293
58
161
827
788
482
205
442
936
288
438
609
820
858
178
497
472
495
654
40
968
829
236
211
630
242
209
714
647
848
371
2
775
913
295
852
152
527
83
193
729
789
167
13
253
916
996
465
160
14
577
228
951
898
613
128
980
679
532
540
724
956
17
362
356
407
90
4
632
346
878
570
278
659
204
402
541
586
366
939
90
825
158
440
252
371
174
910
697
469
424
5
494
221
145
777
14
745
57
364
505
43
154
52
145
499
661
980
237
46
408
24
992
228
761
421
141
156
102
201
167
347
803
124
180
978
177
937
524
23
829
840
586
233
772
603
43
912
454
846
256
508
235
704
970
981
940
727
360
119
836
70
811
113
795
276
912
431
10
807
895
202
37
899
664
924
756
185
956
604
740
878
826
332
791
40
393
524
327
494
58
74
606
429
2
53
940
893
281
856
116
449
688
972
702
577
116
851
84
852
352
846
169
55
257
81
645
998
491
153
68
217
469
541
620
390
689
500
883
317
66
825
717
366
463
547
257
258
754
301
864
693
291
324
939
652
89
706
569
818
113
900
125
936
942
351
474
594
293
27
195
895
750
640
65
236
109
984
386
333
630
956
595
521
605
95
246
587
111
949
641
399
409
816
278
264
412
964
996
324
903
964
889
705
50
769
652
372
71
771
223
604
660
402
394
143
631
217
943
989
369
514
392
479
979
7
535
957
132
940
690
387
442
602
469
989
486
550
294
455
151
474
886
235
614
629
385
926
163
545
93
862
698
975
881
719
687
939
759
120
152
839
391
809
726
800
253
630
226
696
956
767
390
311
198
88
367
976
214
145
258
873
251
109
253
241
678
544
50
847
480
431
271
322
264
853
407
68
158
293
566
964
128
384
158
182
290
371
442
102
14
333
393
948
640
234
701
375
639
751
406
212
469
369
62
930
381
691
657
481
290
998
188
30
188
10
913
404
653
721
867
502
181
868
47
376
491
311
369
146
319
65
194
116
993
177
306
379
762
597
226
870
924
940
424
129
855
941
455
196
391
794
679
339
385
258
344
402
253
14
6
570
437
743
867
309
813
290
185
924
916
338
851
290
222
727
571
412
418
246
461
170
112
55
688
554
279
634
326
646
818
472
954
946
235
157
895
108
167
304
557
933
364
945
622
663
593
538
889
765
734
795
769
68
163
509
270
302
425
678
739
209
757
165
504
489
769
975
645
867
891
490
53
221
308
161
434
340
739
23
700
222
155
375
781
498
99
720
882
816
670
218
592
445
972
768
417
676
404
815
227
844
745
394
560
54
766
329
649
942
4
575
507
586
349
887
381
875
902
815
504
352
536
504
59
320
485
985
110
69
414
793
346
603
272
711
465
591
444
276
423
530
130
843
366
382
715
756
132
278
269
225
879
868
288
602
82
899
195
146
817
949
429
21
811
645
288
716
16
801
728
469
419
325
685
231
129
741
463
709
701
879
212
698
183
785
546
781
620
500
140
598
863
686
543
569
676
13
84
718
5
363
347
25
373
122
582
537
243
205
550
206
887
184
78
916
145
545
749
371
908
173
55
188
473
754
657
160
834
501
850
746
784
800
517
336
722
322
125
793
619
266
842
371
161
58
325
960
619
629
164
188
847
791
909
237
714
10
94
921
850
929
950
400
168
703
185
30
548
912
575
489
289
671
945
581
759
786
998
890
570
145
472
139
979
722
935
620
768
980
633
56
444
617
718
655
840
100
766
774
134
257
511
947
402
645
161
955
479
719
234
944
183
349
438
958
402
267
43
249
286
132
626
388
876
541
712
666
883
664
310
886
512
311
942
969
781
473
573
562
746
338
783
845
278
442
348
567
134
407
679
611
405
432
912
690
539
11
995
884
282
733
284
974
442
214
825
963
425
741
123
73
226
9
170
700
661
984
895
943
590
237
476
593
368
709
558
249
774
560
688
720
682
715
68
314
958
472
838
713
156
791
991
638
399
878
570
425
29
710
646
89
411
796
102
48
650
397
777
910
854
373
730
114
288
74
90
89
7
604
183
465
29
539
562
860
411
599
593
788
998
262
130
959
338
177
684
172
317
873
447
663
158
151
749
722
764
392
817
191
411
6
862
930
400
529
168
791
131
902
53
586
54
638
946
680
183
253
432
102
197
16
55
502
649
262
931
766
144
256
532
638
919
904
505
125
525
365
857
431
445
588
156
896
652
28
867
266
582
785
424
747
589
233
606
167
18
670
856
79
382
793
686
140
274
2
929
325
189
613
560
612
623
205
849
521
268
659
472
673
193
29
313
238
774
776
250
777
482
688
842
133
868
808
767
710
280
203
699
313
12
145
597
593
495
310
24
444
308
834
828
659
995
954
104
369
799
560
433
295
860
234
362
661
678
632
877
428
972
208
663
602
14
1
222
218
764
776
177
832
333
195
511
642
316
588
699
108
637
614
132
113
27
562
237
165
919
53
769
157
974
823
716
828
44
918
265
998
8
190
528
886
363
795
875
221
406
460
162
722
694
574
781
821
893
109
966
318
914
450
19
109
605
887
382
555
359
458
542
19
800
432
216
372
595
691
809
962
503
3
486
863
833
592
946
679
729
502
97
447
199
283
513
396
874
784
607
222
39
45
189
816
681
975
768
353
553
206
332
486
863
976
903
165
754
904
692
566
777
560
402
136
35
850
463
185
318
167
232
74
712
874
97
749
822
80
788
103
532
80
874
644
255
746
414
204
366
193
71
956
168
404
888
585
254
331
382
651
536
423
89
116
636
664
572
88
11
115
237
262
366
515
379
470
472
118
534
304
769
71
975
872
991
999
876
20
963
686
755
764
430
751
183
220
763
545
83
970
897
588
105
993
50
500
700
39
67
904
510
237
958
52
130
513
183
207
206
836
192
343
0
407
67
845
364
107
612
319
660
843
271
641
46
641
748
237
190
656
494
762
535
512
921
307
351
862
855
480
852
907
573
249
155
263
112
520
332
634
474
931
924
561
94
83
265
963
785
803
837
799
257
668
262
661
961
722
670
453
639
935
826
36
990
833
237
944
518
209
262
213
474
748
296
508
91
100
365
325
536
479
522
334
425
550
491
815
292
311
690
328
873
581
146
666
799
396
297
516
983
40
803
532
313
254
884
68
320
671
546
68
631
861
16
470
433
478
454
979
15
340
456
232
427
347
908
688
127
36
608
382
867
746
939
380
788
431
299
253
215
270
635
384
679
370
786
209
735
609
135
660
596
549
611
548
549
25
469
188
575
738
252
818
533
941
912
94
527
914
164
270
475
332
671
616
66
97
734
17
423
307
861
50
718
192
578
906
477
698
399
152
41
424
547
833
597
41
192
345
958
195
406
809
216
613
4
567
934
683
298
91
201
634
203
999
507
240
583
322
670
829
925
308
9
252
420
599
112
589
223
429
603
600
17
394
861
445
239
186
937
561
100
994
871
905
770
397
103
664
267
371
576
186
8
501
53
400
368
857
418
190
743
886
825
874
526
109
248
770
939
690
656
143
581
360
190
504
110
712
780
773
677
937
534
138
311
893
940
211
422
106
860
190
661
25
623
364
151
562
171
745
655
604
264
986
856
24
370
147
807
489
515
347
534
394
626
387
31
714
290
666
717
899
417
697
893
520
352
397
825
121
289
289
949
857
634
377
391
589
685
273
112
267
237
289
849
954
766
437
919
730
528
62
581
229
899
667
992
131
818
797
417
910
646
978
366
252
740
545
763
297
850
872
878
272
113
388
513
301
49
481
512
693
211
958
343
542
83
769
481
896
533
317
524
586
906
581
611
899
427
594
762
716
376
464
238
351
915
945
914
149
874
654
857
100
966
815
677
30
176
334
815
740
734
71
32
72
136
778
888
715
137
396
131
37
607
115
809
954
674
270
570
847
770
11
887
636
251
438
336
563
289
204
971
446
220
2
382
602
13
8
149
171
177
537
707
29
748
77
48
185
672
0
118
534
548
817
630
262
467
52
108
831
819
470
437
610
419
861
870
60
564
803
380
550
59
712
777
689
503
495
200
161
613
705
939
537
10
978
747
443
446
39
658
738
919
510
181
456
978
205
258
347
138
101
77
16
91
926
644
201
935
55
428
85
995
893
782
210
956
146
539
719
706
144
378
71
639
779
745
424
423
6
243
330
478
180
150
438
162
603
226
392
410
734
463
865
6
763
309
301
497
627
459
632
123
259
809
13
906
747
131
290
897
292
961
732
607
311
172
846
72
241
882
654
607
260
110
810
481
346
383
694
285
858
137
163
345
780
967
746
238
161
459
971
630
982
825
94
692
448
114
942
18
17
84
548
392
799
47
223
590
31
215
757
949
626
872
866
75
568
313
590
863
968
300
656
304
765
534
877
206
284
100
619
140
527
276
679
324
23
236
900
236
136
988
76
242
963
866
886
257
809
812
591
699
47
208
613
755
401
36
822
873
324
25
529
639
0
957
945
451
542
756
210
595
431
156
411
990
378
490
557
890
868
249
380
568
605
725
798
75
447
803
567
108
395
664
164
128
451
54
935
981
437
708
975
465
150
633
846
181
921
160
196
201
137
326
334
95
787
367
612
760
957
152
873
766
603
75
865
643
311
948
101
964
829
21
273
338
553
292
177
182
728
896
942
275
602
734
90
925
74
490
814
57
930
271
672
154
546
780
318
671
257
356
699
298
235
94
519
893
885
506
50
63
726
647
629
971
512
132
635
590
281
494
602
302
312
263
934
737
976
339
452
368
975
316
17
727
351
380
324
659
825
629
380
134
280
296
288
826
990
916
710
821
286
135
629
346
43
687
658
858
64
275
156
643
297
882
909
43
803
927
436
527
636
759
468
791
177
764
125
450
773
864
741
231
959
481
579
421
743
385
251
854
272
422
523
830
426
618
957
230
424
212
610
53
615
759
825
723
876
558
906
643
634
555
455
608
45
343
694
703
519
193
325
353
670
653
296
39
152
262
645
122
766
697
731
687
269
697
926
894
631
387
435
856
617
49
407
682
763
801
479
106
276
206
287
356
723
679
36
823
13
133
172
689
106
57
578
838
45
643
603
239
38
591
391
245
866
97
530
959
460
241
929
963
190
533
633
820
587
438
246
315
894
595
342
247
254
960
739
730
215
563
540
959
750
660
736
965
117
922
408
779
756
714
892
127
867
939
648
336
384
837
46
528
917
528
665
4
431
402
897
769
310
665
46
735
598
403
570
780
392
73
819
549
161
425
675
515
656
620
917
219
174
943
303
210
225
370
376
601
443
296
524
233
757
469
443
78
122
28
784
310
590
801
686
146
98
489
39
959
44
40
155
535
955
121
526
843
701
811
134
988
429
682
877
611
521
879
202
193
291
252
568
7
474
918
127
42
93
67
503
472
176
942
5
286
611
582
803
990
135
691
347
858
867
234
727
564
417
401
246
723
820
265
507
110
962
172
242
389
621
743
290
906
156
147
131
274
201
149
688
974
816
430
345
154
660
773
396
730
525
955
456
573
69
446
277
783
845
758
732
923
509
20
428
734
890
185
556
756
92
368
620
807
798
341
258
542
869
874
487
965
656
229
591
657
597
619
119
879
716
926
654
123
324
850
744
161
105
442
65
438
44
302
459
574
469
351
60
150
699
529
674
273
720
939
538
647
158
563
399
773
884
776
139
186
953
486
929
965
681
828
666
199
961
191
451
603
701
277
392
359
947
654
233
102
339
616
168
483
954
558
96
500
796
47
500
92
32
430
718
247
762
64
107
435
788
949
1
532
441
565
913
574
182
714
910
595
503
908
434
396
11
212
39
370
447
32
666
441
285
32
629
255
402
140
921
110
20
832
434
918
55
703
760
455
576
857
525
565
248
279
738
97
360
16
574
601
378
373
322
886
494
122
390
551
960
335
525
952
155
623
186
765
814
861
350
928
226
36
101
400
963
846
117
212
500
483
471
334
916
775
153
468
335
875
608
117
736
359
820
428
935
494
680
333
806
900
449
925
210
559
634
168
691
196
174
648
862
555
422
88
286
311
360
313
806
730
92
117
789
880
819
254
442
370
133
463
688
841
374
251
706
97
873
861
186
2
312
811
757
887
745
237
136
551
149
761
569
381
317
471
101
745
927
476
210
186
51
445
307
617
258
648
310
884
168
995
812
988
672
600
444
654
328
863
880
959
112
747
729
202
607
349
776
975
84
197
788
287
65
518
691
597
165
186
759
484
174
53
950
94
178
992
594
664
95
323
177
286
593
118
546
483
296
929
151
833
898
203
590
446
363
444
856
981
967
851
474
414
203
903
77
75
234
893
320
464
317
876
901
992
692
846
550
545
156
627
298
79
978
548
688
77
514
140
524
317
332
272
5
728
484
634
783
358
686
265
970
457
5
420
698
561
606
832
437
592
879
38
284
131
543
19
937
553
478
848
166
765
17
136
134
509
604
330
260
40
346
913
598
669
861
220
641
338
886
675
762
540
750
388
347
348
672
14
375
889
977
426
421
576
819
711
735
693
19
676
980
559
662
614
138
464
539
849
256
971
853
466
566
422
670
66
768
952
327
946
789
386
209
756
538
800
240
569
174
163
166
183
696
741
271
200
93
566
916
674
597
855
921
822
812
946
595
331
222
633
235
947
528
115
579
980
523
180
378
430
436
66
420
116
483
508
952
651
438
687
239
665
745
587
258
257
863
905
341
189
998
921
535
353
116
607
621
156
391
359
578
859
601
55
574
401
758
767
408
593
481
657
899
53
814
221
437
661
827
783
840
113
13
5
882
838
339
384
847
929
346
352
725
250
639
262
263
413
71
183
379
815
299
488
443
342
363
774
941
528
492
205
755
456
293
499
504
781
850
522
315
189
666
110
750
381
174
145
53
492
415
693
864
620
597
903
434
147
538
773
183
450
206
281
231
372
35
221
375
845
929
410
538
476
931
448
556
753
727
944
85
593
461
168
882
961
845
281
118
995
831
467
505
11
311
412
422
221
659
919
790
122
237
938
882
914
498
249
144
302
607
26
456
10
188
30
494
115
632
790
399
131
771
925
284
23
641
130
624
304
805
536
900
888
412
807
775
287
832
884
618
188
157
515
826
674
960
123
757
965
969
240
829
875
998
728
115
427
561
994
62
291
632
234
843
306
395
446
873
312
381
246
65
290
236
243
754
707
950
392
48
688
11
531
943
990
811
960
718
719
193
403
347
712
46
892
521
508
510
353
371
900
642
324
103
533
43
402
547
830
535
669
832
492
246
15
814
421
162
834
363
133
687
438
626
569
805
878
934
738
272
703
3
309
319
961
429
721
90
816
535
233
726
97
829
724
796
971
569
949
570
652
615
885
672
147
377
741
661
714
354
814
76
550
534
144
918
852
709
109
389
524
931
607
467
228
81
13
308
602
452
457
931
324
459
638
518
484
378
130
651
998
820
763
29
821
99
719
155
572
771
88
829
829
383
757
712
84
466
990
580
776
220
23
660
280
411
549
692
776
826
641
675
611
837
987
655
157
646
615
738
982
152
332
614
805
44
531
921
102
733
489
498
229
339
98
181
252
270
322
357
123
906
712
353
933
537
978
679
422
68
789
176
974
341
757
830
787
928
678
122
446
923
988
382
603
389
492
806
346
839
440
973
548
813
148
771
173
772
35
641
290
572
179
87
76
665
996
644
913
895
378
435
720
920
859
446
17
798
737
302
197
305
470
621
712
917
691
452
213
905
834
289
629
251
889
801
547
243
255
588
797
915
767
984
248
487
914
415
95
887
129
803
341
221
237
909
639
809
671
827
5
894
134
866
762
0
723
944
384
276
886
899
282
923
91
629
602
655
393
581
638
189
848
361
908
958
373
767
361
320
865
136
434
719
225
850
621
80
269
629
206
687
194
972
328
802
263
804
128
71
230
105
953
871
546
490
332
348
331
577
637
828
164
451
800
659
579
351
813
720
238
876
142
676
256
951
33
579
922
262
90
233
916
467
361
846
867
293
564
181
806
888
964
298
880
877
432
247
202
739
670
299
656
749
103
808
113
589
32
388
862
699
916
349
474
678
824
96
757
90
31
229
335
494
182
368
419
143
343
863
564
667
532
954
466
774
917
173
177
559
108
530
554
468
961
497
243
582
615
703
419
133
49
652
580
636
391
229
860
205
396
230
415
988
737
949
545
295
373
53
934
176
44
996
300
247
295
639
146
700
676
917
417
492
777
594
932
246
154
145
333
691
380
460
744
514
644
681
827
664
982
433
774
396
489
720
670
616
743
326
793
521
792
773
59
101
648
884
488
943
630
689
212
355
554
154
505
51
600
162
221
671
646
10
964
961
500
587
727
509
839
599
177
466
483
256
234
226
762
566
625
47
221
497
604
479
977
581
581
196
754
618
793
727
124
732
234
324
904
199
381
92
125
890
635
326
510
439
533
92
242
728
610
226
817
410
883
71
171
506
971
313
826
394
423
79
995
368
261
592
147
646
171
458
618
915
83
552
734
435
123
75
527
929
793
838
217
789
867
669
874
194
449
149
842
605
179
455
877
380
217
990
309
345
833
440
31
458
783
111
467
597
177
334
755
156
15
897
696
895
406
14
719
799
18
529
361
777
769
195
745
975
577
665
36
444
228
362
881
720
455
939
481
783
753
376
70
381
879
214
719
618
570
98
891
501
41
153
138
782
776
566
188
804
25
180
672
334
508
300
637
91
390
516
832
653
175
700
75
914
974
670
3
237
508
898
777
36
702
938
470
146
902
839
345
687
283
433
369
24
333
756
679
323
675
811
455
569
487
796
519
909
833
281
678
121
32
338
272
787
678
593
938
686
687
826
732
116
513
719
995
172
404
688
592
399
762
363
172
281
920
441
287
730
443
245
109
944
962
837
200
808
92
856
808
420
976
189
87
351
199
827
356
340
415
150
249
157
119
322
318
427
888
624
947
937
922
363
650
592
503
92
987
837
446
18
329
434
638
645
208
608
334
253
380
651
587
867
71
698
575
928
178
678
793
283
832
296
295
997
633
702
970
534
30
705
615
509
437
275
77
113
492
156
50
142
85
777
163
560
187
668
486
495
471
235
886
942
202
662
678
916
79
229
951
778
769
117
44
546
938
588
963
481
278
761
779
458
304
87
949
219
875
67
374
110
469
124
875
825
795
968
126
612
891
463
525
759
566
636
836
170
905
118
200
748
787
160
804
42
877
417
248
626
934
972
51
743
201
503
949
245
781
846
388
616
383
749
240
103
460
78
505
442
850
995
10
318
785
322
977
423
445
954
536
170
429
754
725
705
320
829
696
542
292
499
518
412
375
894
306
188
286
967
158
939
920
794
90
129
3
953
744
839
466
720
247
791
15
862
906
528
350
288
54
146
36
501
85
37
848
135
975
13
101
930
184
444
91
712
572
409
643
371
702
705
647
41
632
312
737
513
398
532
386
376
538
844
776
303
597
848
9
298
85
390
119
518
379
977
897
354
710
407
66
404
921
715
881
454
850
35
124
635
746
648
211
684
857
235
996
303
711
153
610
896
648
250
976
634
427
218
835
18
860
512
744
536
232
84
299
918
600
524
250
267
962
172
46
420
830
150
376
181
261
96
233
902
369
490
558
414
390
450
733
725
771
203
34
975
519
823
317
235
751
175
661
857
977
944
397
495
155
575
211
958
582
733
403
997
953
142
613
452
513
92
358
532
629
167
514
933
369
140
368
798
671
428
716
31
647
324
978
507
758
23
57
757
325
854
286
820
373
948
922
782
183
389
919
834
217
806
213
827
598
927
690
994
52
510
220
202
995
359
351
250
718
176
224
776
648
398
769
540
772
909
991
721
713
916
153
781
940
982
927
788
523
309
642
435
937
182
922
958
946
765
771
850
787
965
326
703
371
19
726
999
626
550
366
18
669
76
968
856
44
36
784
844
815
697
316
528
810
89
618
383
42
536
832
59
723
416
345
258
503
975
234
949
856
681
504
95
624
785
836
420
530
145
24
284
699
64
334
221
243
217
938
418
883
274
243
500
126
161
537
309
399
827
845
259
19
563
663
207
290
659
280
348
259
468
848
150
278
609
387
532
509
16
960
541
266
411
995
181
406
648
887
948
249
932
855
647
851
999
567
532
237
726
875
88
767
74
520
131
364
294
739
73
626
396
507
113
772
764
822
256
245
431
624
46
434
634
134
392
138
751
333
86
368
457
93
635
943
694
527
205
234
227
641
457
703
965
534
410
846
994
473
147
82
500
469
516
146
881
821
677
803
533
438
124
683
677
601
21
294
758
883
235
383
96
434
112
806
912
156
539
174
595
229
533
885
473
349
616
759
763
964
627
46
832
883
862
662
727
626
696
51
742
802
587
702
672
753
383
625
115
254
89
570
804
936
193
75
451
816
670
176
388
249
740
84
784
382
520
830
975
122
227
658
207
222
125
726
862
662
272
928
48
165
461
892
257
314
490
892
27
628
514
86
223
485
175
829
374
753
42
559
393
412
949
986
457
758
737
216
881
849
834
527
658
818
916
883
367
191
737
470
132
133
17
568
959
722
393
227
519
253
412
4
22
379
282
720
872
693
641
453
337
141
956
604
277
139
977
72
845
171
731
166
295
489
625
898
703
932
558
162
359
888
103
105
423
671
414
216
703
198
488
553
236
524
643
308
200
327
86
420
194
589
505
371
650
851
523
568
26
641
477
389
102
312
571
275
786
392
195
587
517
386
259
997
16
477
360
400
574
852
346
594
78
865
646
412
876
331
801
926
404
509
295
135
495
389
822
88
784
787
338
108
128
176
260
523
197
253
270
217
311
152
658
146
826
601
128
308
363
904
111
104
875
326
714
985
572
94
514
663
111
281
930
165
606
213
306
886
126
970
563
333
189
982
844
281
430
565
70
91
678
778
35
782
309
469
320
246
892
402
146
824
689
256
919
74
197
100
10
707
631
128
87
164
94
1
961
272
89
466
254
915
20
879
909
586
289
842
296
167
310
739
86
334
244
371
676
991
531
793
568
661
829
265
980
872
985
983
989
781
771
128
347
992
961
904
309
798
24
183
741
860
864
963
676
596
300
918
994
657
777
642
248
691
693
648
76
978
681
895
506
841
75
26
255
178
662
784
69
358
359
893
509
370
188
631
111
901
455
834
914
174
350
971
692
248
939
399
295
409
584
193
896
656
709
515
770
938
906
897
525
574
492
27
972
600
141
23
152
555
738
216
87
550
321
983
116
42
363
755
506
54
549
955
602
355
286
399
270
419
220
79
689
315
961
675
591
804
797
624
638
502
627
343
103
924
55
594
454
359
685
850
909
267
927
579
453
812
110
460
280
929
280
72
299
460
694
339
875
797
313
254
218
896
835
986
91
171
387
239
110
312
826
84
678
582
523
270
4
627
208
587
91
667
527
498
624
657
949
464
27
205
455
957
39
33
316
482
886
817
294
87
519
90
383
906
306
746
346
84
727
570
546
477
156
298
389
364
579
594
700
135
930
31
512
317
432
588
632
213
265
926
105
778
444
415
325
835
95
659
329
930
443
674
634
554
320
56
517
973
922
50
974
457
98
231
807
94
566
799
346
296
567
764
549
58
219
226
386
280
106
69
518
887
430
479
578
794
258
893
856
109
921
466
230
505
283
848
545
246
734
73
370
194
78
107
489
838
698
201
651
936
315
619
654
719
236
359
536
934
24
515
387
744
488
248
658
592
733
240
332
860
875
961
936
423
761
459
416
819
588
375
331
740
189
225
452
140
944
25
158
336
995
360
868
898
941
567
667
447
280
553
210
728
756
456
341
110
913
747
716
593
816
182
881
933
141
508
869
225
176
948
935
586
216
972
296
352
650
320
16
400
219
235
202
135
162
925
134
455
183
838
464
256
205
908
524
194
806
321
68
17
888
139
613
150
732
191
632
412
388
175
40
452
533
64
743
64
694
44
726
834
66
831
573
20
849
571
169
4
633
597
909
599
890
527
397
298
445
946
221
192
960
389
562
706
979
771
369
142
761
995
290
960
460
478
778
733
76
532
249
821
122
245
302
326
694
468
140
423
441
614
856
615
783
486
756
453
513
670
942
712
630
408
382
442
445
672
974
738
795
219
622
959
97
466
730
909
300
21
191
358
275
556
427
909
2
6
466
527
163
848
630
11
366
230
325
26
191
642
521
816
73
415
520
368
637
87
157
223
640
542
413
946
107
419
987
893
470
578
323
582
947
526
453
14
406
784
305
79
741
858
269
898
811
634
106
49
744
37
333
241
323
433
784
393
998
584
624
114
5
37
427
161
335
653
214
736
628
610
368
60
16
97
105
929
913
452
232
539
945
125
419
586
408
821
687
12
612
902
770
181
399
264
162
849
246
64
238
409
401
516
422
553
590
547
857
911
44
854
150
560
662
609
650
256
441
958
530
501
893
968
493
94
408
150
717
880
11
636
227
625
606
63
231
345
685
531
423
577
895
930
472
398
784
360
243
232
660
847
380
363
826
851
562
288
878
126
615
522
319
195
419
81
488
755
719
638
350
569
715
638
638
93
622
396
308
931
390
6
984
771
986
843
998
106
256
244
624
304
219
695
543
809
355
841
504
658
600
984
847
395
25
772
882
869
515
614
663
331
815
184
742
906
301
45
856
534
427
720
178
918
211
106
854
810
667
880
987
576
417
565
303
792
483
71
658
534
997
531
65
210
540
27
909
160
33
204
893
916
69
597
62
384
718
834
141
257
660
482
167
169
17
270
414
751
161
552
125
238
618
720
442
465
221
930
237
404
320
961
582
57
184
570
625
934
364
610
92
125
655
69
391
595
159
470
317
737
412
50
12
264
388
796
57
934
236
673
280
34
418
58
195
460
346
247
155
915
830
838
864
834
163
466
712
891
236
657
241
132
840
648
379
352
738
861
429
308
991
691
957
781
545
637
471
541
613
593
936
372
939
967
639
329
533
525
11
577
287
565
102
972
600
922
944
708
734
334
92
287
767
958
62
629
129
583
135
26
301
929
750
558
440
599
672
6
833
798
145
861
902
786
172
701
736
114
884
274
795
611
852
648
706
275
675
48
736
605
621
134
933
558
448
899
138
475
121
536
573
389
616
544
557
110
261
176
109
476
337
808
92
893
526
262
756
291
916
288
749
487
616
761
74
427
684
238
557
778
190
817
354
727
774
38
295
9
855
252
872
1
203
589
601
27
774
48
438
296
256
598
37
780
436
72
674
205
648
430
375
327
155
850
250
39
885
842
21
602
296
398
826
861
925
69
989
715
16
789
145
335
72
824
475
526
219
925
7
836
253
501
999
219
936
646
867
831
669
329
676
360
984
509
974
62
874
785
224
225
859
795
201
495
124
809
762
507
627
441
767
824
66
872
322
140
565
865
789
992
908
751
39
396
549
836
568
757
896
181
643
354
91
106
95
962
825
947
968
187
25
721
304
281
435
435
934
924
524
47
114
43
585
260
449
529
693
885
182
624
743
747
826
854
228
35
925
184
553
885
430
830
238
577
146
402
449
198
279
583
950
103
142
3
432
369
785
109
399
867
936
301
823
267
589
13
68
717
122
849
955
492
961
508
818
396
761
358
989
890
328
505
866
915
581
266
983
100
326
727
238
845
122
622
60
459
447
800
541
629
857
57
449
248
8
101
81
376
976
897
958
189
837
945
249
407
996
536
733
343
973
208
222
403
910
733
4
553
69
821
267
158
651
360
736
70
854
300
849
316
746
225
598
600
773
617
691
65
250
404
918
582
968
484
661
630
844
513
750
667
64
852
248
259
143
173
628
887
683
154
54
55
749
655
618
658
447
41
744
79
363
399
844
912
172
461
538
209
437
847
766
287
793
526
600
938
905
54
868
984
689
193
339
732
517
269
912
746
21
638
710
455
136
960
646
693
172
205
85
183
433
91
509
610
624
723
758
257
798
999
125
690
467
491
950
117
322
530
697
50
639
925
615
379
120
940
759
864
54
635
946
186
637
434
985
874
104
546
238
147
374
443
895
315
819
738
600
577
733
111
75
308
65
801
880
735
64
309
847
12
196
108
804
554
200
191
356
7
850
629
979
180
935
734
148
211
417
556
494
709
2
727
458
332
785
279
978
615
150
207
342
48
603
706
187
57
383
873
767
958
90
699
509
763
281
717
240
841
863
519
596
832
422
800
467
403
938
932
318
995
23
430
151
543
181
307
278
862
567
566
836
645
170
862
326
821
903
898
14
205
366
105
599
750
265
994
774
526
364
124
596
183
531
679
38
179
605
810
239
235
220
572
528
303
780
313
122
610
143
814
749
911
804
847
787
844
375
687
147
909
719
333
248
430
349
648
664
849
593
733
787
343
310
451
909
494
736
761
336
887
376
858
762
2
276
814
366
241
26
343
778
141
463
835
614
995
521
330
153
387
870
965
280
115
361
593
80
807
965
50
407
822
604
452
173
106
293
33
372
974
406
317
69
567
310
977
802
90
376
567
605
417
809
752
660
678
34
84
360
350
189
507
297
892
15
165
104
126
213
192
305
502
674
256
388
593
259
704
272
117
686
840
407
613
469
972
657
120
827
498
762
294
436
208
445
264
104
968
107
660
890
736
453
609
560
161
728
566
582
949
764
642
279
635
422
80
747
664
568
470
647
730
89
894
282
825
544
890
448
977
983
399
48
235
45
286
152
824
941
924
965
495
164
526
829
168
266
514
369
862
667
841
656
767
711
716
332
68
354
478
591
770
905
581
577
270
901
939
830
49
810
964
473
532
306
363
97
203
968
818
645
569
216
728
380
452
672
264
396
791
844
787
647
926
682
183
717
800
286
289
939
25
937
66
772
582
707
881
425
134
469
592
511
855
358
240
501
977
161
236
389
275
487
271
533
255
894
461
492
294
945
298
718
599
2
605
574
687
566
402
319
658
175
977
859
518
617
688
755
493
989
600
407
711
557
602
431
969
562
448
489
774
820
631
31
242
16
905
238
55
704
188
657
426
963
190
583
246
639
854
384
927
366
328
831
99
850
590
354
174
598
820
845
658
751
659
962
493
672
981
196
546
71
110
61
112
413
806
653
503
976
6
459
716
499
406
512
247
310
152
104
233
928
13
414
453
771
765
723
501
47
276
23
882
652
243
768
961
662
487
298
467
43
437
855
282
531
619
663
19
164
794
297
676
955
425
669
721
874
747
200
435
651
176
919
386
64
557
593
875
497
333
155
870
849
146
135
269
468
984
551
247
548
742
71
309
853
347
523
523
700
855
367
613
870
440
819
60
166
360
883
383
142
769
890
701
150
146
473
52
597
315
790
482
171
230
779
627
790
343
813
133
661
571
40
308
430
19
546
822
20
464
529
46
859
998
499
522
468
744
310
555
101
185
331
192
765
755
674
9
280
428
171
668
235
356
866
90
727
284
722
168
601
967
365
747
650
513
908
889
41
144
997
947
200
486
280
448
364
695
947
559
185
858
860
843
5
33
656
563
708
224
910
128
711
879
391
965
640
463
279
262
643
159
806
892
127
96
544
151
972
691
960
696
269
470
77
95
638
309
90
561
79
565
334
426
921
148
805
612
671
875
608
138
231
935
627
941
615
595
871
696
375
711
939
500
628
370
223
430
839
321
133
215
5
639
851
60
845
476
685
196
503
81
836
220
432
89
836
418
275
953
468
763
283
192
155
723
938
669
170
929
262
164
327
623
209
258
952
191
731
891
677
718
818
245
795
570
519
925
294
321
10
78
21
347
711
480
686
85
842
754
955
555
847
356
138
99
76
195
383
348
233
254
111
148
166
549
235
782
94
133
118
584
367
334
290
466
45
79
71
11
210
60
300
701
97
572
565
769
607
814
418
874
647
346
747
346
855
926
767
332
545
186
967
771
80
781
752
607
499
221
103
798
329
444
985
497
889
513
654
892
546
780
72
402
995
624
39
155
883
238
867
828
837
374
755
129
25
249
338
174
934
82
802
92
885
75
628
334
13
917
413
851
396
299
245
430
185
918
700
979
895
930
653
945
925
336
375
395
655
902
936
772
47
134
499
400
159
838
584
349
436
489
956
380
609
893
459
302
665
927
355
610
89
416
300
929
894
705
763
149
677
407
912
447
259
550
874
46
716
984
229
890
775
501
201
145
218
255
580
148
672
437
238
312
432
414
760
88
985
768
714
732
146
149
199
803
289
794
314
521
248
677
291
579
890
936
894
112
328
23
789
649
480
915
708
518
610
798
401
513
320
260
240
477
804
596
512
239
946
333
177
815
278
920
654
503
744
116
959
816
230
132
836
895
792
781
856
216
585
608
619
914
885
958
604
809
292
293
584
772
572
968
21
872
606
195
893
944
457
821
570
886
751
626
377
804
35
948
100
828
563
677
833
934
106
617
486
579
732
466
988
506
38
570
333
450
751
631
459
716
57
388
219
426
435
305
266
646
650
181
60
124
519
781
955
872
612
296
345
292
951
561
651
106
889
228
481
377
480
397
872
730
693
525
94
915
229
419
267
234
33
199
542
770
110
393
302
190
965
783
772
846
833
911
339
228
976
322
216
120
233
42
982
902
593
294
332
276
997
151
262
191
42
42
488
587
901
693
908
255
689
18
261
214
834
215
704
513
417
202
236
510
816
801
526
334
759
232
1
482
186
716
418
346
158
267
450
852
926
994
568
416
519
214
197
182
309
492
339
427
103
565
272
550
793
77
595
269
741
913
139
832
330
29
227
968
149
67
756
199
751
390
958
46
536
985
391
999
995
267
490
437
110
547
198
319
240
532
99
797
367
119
959
665
159
937
952
932
614
866
220
415
811
475
566
829
85
495
109
314
879
942
482
618
853
928
10
394
646
645
336
932
992
828
544
587
834
391
778
202
505
627
368
360
956
52
649
260
318
57
441
848
500
279
648
931
619
718
673
320
323
387
695
983
326
572
637
497
572
360
740
897
319
615
859
734
735
920
772
612
269
369
799
233
901
317
924
70
357
405
104
232
638
87
873
119
840
649
351
957
809
109
136
8
169
904
898
579
828
63
207
316
533
881
576
882
567
65
429
758
714
950
912
146
154
870
829
574
24
653
614
895
893
776
340
859
762
392
933
893
804
150
49
780
470
619
85
658
862
66
488
632
736
135
276
424
749
774
393
246
911
950
605
46
144
610
561
803
572
670
381
43
512
212
80
414
417
379
788
564
632
904
252
482
140
855
15
188
534
730
679
152
703
144
499
377
146
389
858
771
906
597
512
578
768
910
912
542
936
503
602
781
426
337
924
125
999
49
831
146
107
490
661
18
214
938
94
823
216
587
222
231
539
187
957
888
33
854
905
98
869
269
85
244
960
188
668
952
708
7
833
94
682
246
630
792
91
412
328
918
475
618
728
954
634
974
422
310
321
34
452
75
722
738
213
361
388
263
865
518
347
805
741
290
599
984
398
648
796
812
662
134
105
813
625
504
260
744
632
647
772
517
718
119
847
248
764
161
987
951
833
730
242
920
265
783
467
824
300
611
170
154
984
994
266
942
714
298
738
920
984
493
192
959
115
849
110
367
368
57
278
367
901
232
406
591
478
998
375
199
562
322
476
404
502
919
777
680
943
27
29
847
79
87
139
266
637
536
706
330
584
62
2
309
363
272
875
714
231
111
996
143
298
928
422
180
183
50
175
309
169
79
733
841
675
116
232
658
677
851
600
665
588
130
221
940
598
211
264
338
412
242
817
761
845
756
749
637
101
183
69
696
129
917
926
831
308
395
746
304
252
345
658
844
485
267
421
77
445
342
300
632
458
147
679
964
605
34
934
329
367
455
957
311
388
641
509
552
481
118
424
483
505
55
249
651
255
820
559
249
827
57
231
162
59
611
588
503
203
552
897
747
46
501
370
285
838
316
896
357
331
998
420
98
954
671
858
21
615
537
764
610
51
85
929
112
15
201
459
708
349
845
467
543
144
55
769
806
523
222
705
967
602
684
691
67
517
643
121
752
740
148
173
57
685
145
840
476
706
477
150
108
914
621
211
861
525
520
280
659
491
260
846
125
810
914
940
337
916
26
974
18
992
629
982
473
835
515
104
301
619
206
50
623
529
906
413
462
294
132
901
712
669
872
229
657
335
427
549
529
236
936
317
899
516
990
456
75
961
57
172
523
268
178
890
231
957
17
208
591
206
46
596
933
625
187
383
943
816
309
571
643
25
614
991
450
147
872
9
652
148
54
144
109
492
38
211
140
388
452
151
118
15
952
239
149
558
708
737
742
316
813
442
171
244
612
915
826
233
384
973
170
142
901
392
388
360
269
514
357
772
126
647
963
647
18
341
116
791
474
139
147
992
385
753
532
723
683
883
372
481
607
566
778
975
375
558
699
243
122
897
838
760
796
186
946
417
35
241
576
706
10
208
544
696
909
23
772
832
541
680
695
967
229
630
417
295
110
838
386
280
526
440
59
435
343
313
322
147
791
758
169
397
276
106
692
533
498
996
427
787
689
665
423
26
286
166
176
640
844
668
222
638
578
837
454
531
338
30
249
329
904
644
218
934
276
477
625
364
923
411
323
90
120
432
394
633
253
946
850
349
897
835
142
372
407
522
596
55
380
574
526
810
391
593
291
24
647
132
841
760
87
460
80
66
728
415
263
90
431
92
471
399
798
513
878
362
11
329
697
928
296
958
69
607
847
221
67
601
227
719
454
711
310
32
76
15
410
645
371
506
430
847
95
352
0
270
51
202
719
623
263
269
866
499
985
668
143
183
264
276
891
218
544
659
828
263
647
799
491
906
337
60
84
71
799
267
987
988
466
251
811
962
841
936
518
447
679
517
971
103
784
4
156
852
17
980
435
581
289
885
9
778
115
545
302
810
672
907
146
734
328
578
790
50
292
545
348
562
990
832
885
982
773
529
166
544
882
691
16
764
486
657
156
517
624
189
209
498
698
25
235
819
322
550
920
259
903
899
138
914
711
318
644
928
207
208
751
60
901
772
267
194
78
427
565
132
774
38
24
556
600
669
896
84
580
315
188
236
341
650
425
275
865
789
948
328
298
154
474
820
346
235
170
873
210
118
788
48
801
388
371
147
414
809
677
908
624
380
494
338
616
120
135
463
909
633
167
736
267
214
10
814
986
682
178
187
733
328
894
176
866
468
678
348
136
904
480
329
931
237
284
67
289
432
501
790
521
703
402
404
588
419
688
959
207
280
745
575
745
381
741
171
786
43
744
757
936
914
955
718
372
603
66
895
571
738
518
530
934
862
424
21
966
294
247
261
870
133
722
281
148
966
697
707
101
49
940
327
251
967
151
683
895
222
268
714
357
65
88
583
102
489
862
330
323
965
124
95
426
823
450
721
664
206
169
269
883
569
884
968
395
34
293
168
750
589
289
223
220
359
331
957
887
943
516
84
62
462
23
334
503
658
222
690
638
607
971
893
800
476
703
418
852
718
857
822
545
834
385
524
765
480
26
952
165
623
653
794
607
373
195
494
492
716
494
541
409
168
395
310
744
613
463
885
325
393
252
514
716
261
359
655
654
621
314
107
265
675
761
540
378
78
701
440
134
509
40
603
738
772
391
695
629
210
959
830
411
261
125
738
817
262
877
789
821
881
782
698
165
134
828
767
484
543
685
593
551
311
970
984
950
686
13
388
30
513
275
839
245
958
341
74
236
688
598
376
652
782
850
321
133
288
749
625
998
855
265
341
90
971
317
254
189
556
987
898
718
459
842
259
0
229
297
712
230
532
148
284
393
37
804
337
163
375
304
167
702
242
922
880
855
327
90
191
815
541
869
532
663
307
784
899
650
693
258
144
664
77
408
834
914
418
493
322
139
897
506
572
361
213
949
404
738
930
138
773
980
212
603
726
969
821
941
66
422
58
511
949
570
170
491
795
184
103
787
443
380
498
737
513
391
74
443
250
830
283
425
166
625
125
7
21
712
512
932
214
422
158
191
13
912
932
506
399
90
57
537
737
583
109
283
295
167
401
323
534
810
222
443
79
711
650
39
288
823
449
614
852
709
790
63
35
998
478
959
737
139
732
572
486
862
92
392
169
429
247
11
318
537
858
774
917
781
298
110
698
797
298
303
573
464
637
901
431
988
52
5
335
615
148
289
258
47
260
457
444
514
841
717
603
658
184
662
409
769
736
788
387
448
170
635
706
893
412
254
591
352
373
411
878
167
976
154
23
820
310
423
808
353
605
171
769
49
501
168
892
133
751
14
889
246
877
189
743
397
214
896
469
521
998
427
512
957
87
27
615
768
640
35
965
894
49
332
125
35
497
813
391
54
271
13
654
557
289
471
960
675
71
845
418
370
814
509
627
997
963
135
483
227
393
113
943
924
839
849
63
324
452
386
900
187
253
862
315
160
6
499
291
218
386
139
885
21
162
51
297
329
989
474
678
748
868
357
450
929
766
914
655
914
810
754
621
757
998
564
399
918
832
564
237
834
331
697
654
903
54
961
85
896
217
246
21
576
576
751
918
599
435
284
497
666
86
886
175
471
246
905
976
366
22
189
656
373
54
295
359
903
553
686
300
975
421
921
208
786
504
611
466
264
35
690
875
250
62
528
641
972
21
33
524
442
43
417
450
957
420
572
797
854
160
73
428
507
370
101
747
956
46
327
218
396
297
734
14
449
386
664
158
88
972
695
349
292
797
968
732
914
547
396
407
770
184
359
647
548
103
694
859
53
496
507
569
545
617
460
564
520
470
799
867
350
407
560
800
951
527
988
20
938
882
446
906
600
281
944
766
924
722
38
968
725
45
150
516
290
584
617
510
356
418
740
451
62
627
304
798
864
318
623
10
864
856
762
354
73
638
899
754
6
956
978
438
206
642
517
54
44
249
948
11
682
485
218
515
874
646
725
665
992
374
689
943
628
718
652
365
110
807
685
816
77
721
335
790
233
598
664
889
690
952
575
325
442
184
270
659
957
99
330
530
865
505
863
234
405
711
61
267
390
283
273
469
365
515
830
80
955
246
843
243
286
521
233
121
522
972
682
147
246
326
850
19
18
528
874
246
436
901
625
360
126
791
761
725
498
58
924
135
120
984
174
347
28
996
381
504
762
519
696
555
393
172
609
867
713
410
894
612
353
929
578
888
753
573
602
271
773
707
675
565
384
817
818
160
252
770
116
225
141
515
344
792
101
632
20
718
326
755
887
602
434
832
39
435
747
779
777
869
192
264
126
588
654
273
483
937
209
404
943
277
642
943
481
137
392
431
614
633
726
139
235
123
580
557
579
340
487
819
946
808
608
57
180
959
163
704
691
136
340
860
406
535
27
28
860
305
759
400
42
763
627
420
839
811
575
557
334
575
728
281
423
963
82
703
342
363
663
237
358
407
177
760
853
982
42
821
889
622
229
267
800
952
566
746
566
977
986
45
214
4
575
941
483
771
671
812
707
342
577
168
130
609
70
157
227
460
871
490
846
828
321
163
784
947
788
71
157
847
336
839
257
460
756
368
824
539
448
992
80
336
614
338
222
233
822
898
382
742
131
910
876
174
212
510
986
64
846
950
122
452
721
889
373
816
703
566
416
832
434
213
732
577
77
918
519
261
163
780
832
378
524
641
514
539
967
718
860
141
457
257
240
746
103
762
992
89
595
908
146
579
469
673
368
820
249
465
494
91
228
202
519
947
232
531
799
499
845
108
935
122
228
918
990
34
139
90
599
246
303
422
23
503
416
939
116
444
18
373
669
898
383
293
522
498
866
995
515
347
435
125
260
623
968
503
252
96
655
186
910
787
114
310
526
384
443
191
260
390
823
755
502
426
822
77
172
322
958
415
604
47
178
293
261
958
169
843
431
363
858
277
442
773
205
339
201
480
51
253
967
188
575
938
776
872
305
364
851
600
905
43
844
685
86
409
474
364
190
40
780
456
621
203
971
371
968
582
358
597
578
372
795
849
896
154
964
600
29
746
15
770
749
929
696
784
13
951
569
45
393
94
660
833
155
651
926
342
836
47
521
349
757
479
504
958
603
111
139
362
105
562
784
301
383
555
204
105
254
337
471
198
970
216
736
978
2
48
757
152
498
997
281
423
84
125
113
617
689
851
964
616
191
814
766
227
595
621
515
24
558
57
504
135
655
518
500
158
705
506
501
6
297
749
800
712
490
584
159
296
648
140
164
63
198
55
289
992
195
92
461
879
16
437
830
876
65
309
340
522
400
576
219
824
300
51
314
525
691
280
289
155
117
937
166
263
601
777
852
16
17
71
314
135
470
268
272
61
698
413
308
349
787
258
626
318
743
34
434
630
31
183
23
50
645
867
419
100
913
616
689
920
675
169
760
876
123
186
48
539
956
358
121
60
544
989
52
445
558
290
666
139
526
247
736
194
172
935
554
93
572
892
145
713
477
324
882
168
927
891
868
402
797
196
225
426
695
622
558
215
258
722
374
707
770
512
603
947
194
419
163
845
906
977
110
663
118
250
433
897
446
964
527
440
937
122
213
897
196
22
649
275
712
932
937
363
825
517
537
848
528
52
506
892
5
430
182
280
503
514
408
42
416
855
504
315
371
380
780
717
583
446
863
649
994
699
32
87
655
566
641
772
804
395
459
805
85
308
955
77
880
635
111
455
245
610
862
10
975
600
991
900
541
730
195
696
515
866
943
14
113
79
416
664
261
247
697
218
794
861
50
225
911
138
386
296
912
271
713
110
247
152
220
381
937
149
143
242
815
118
308
629
9
485
350
33
97
445
724
235
32
181
606
38
822
678
474
298
923
301
324
771
54
34
30
216
95
826
255
561
99
713
999
750
584
263
917
590
867
784
448
125
421
355
380
501
643
986
356
235
178
297
576
452
429
763
519
584
804
16
549
143
694
3
426
860
872
122
762
593
120
554
667
112
546
777
293
990
919
781
555
891
881
583
267
392
740
88
759
499
881
832
939
224
515
96
720
814
29
411
854
381
539
510
289
46
587
904
483
220
717
791
309
540
527
776
795
892
214
844
26
692
362
580
463
478
8
521
819
451
162
629
186
498
170
167
361
890
487
222
653
364
177
321
276
389
239
583
246
152
333
732
294
212
175
586
447
702
151
308
711
556
380
289
378
657
543
380
572
468
702
977
399
74
530
514
655
468
850
680
157
365
49
551
953
815
106
181
174
791
4
757
281
926
618
61
616
161
388
556
952
719
797
938
788
384
44
803
636
722
469
559
55
708
77
335
741
369
486
932
119
460
43
795
57
916
896
199
479
966
861
295
214
43
803
228
383
759
617
911
337
288
680
945
131
750
468
263
687
47
67
942
573
991
275
992
933
828
574
760
368
290
396
769
200
285
2
573
949
854
639
554
957
296
865
164
178
108
966
716
156
82
166
852
743
113
755
957
60
907
720
589
267
210
400
16
871
762
275
734
458
81
620
486
618
120
649
342
248
528
260
644
644
407
518
291
500
4
374
740
46
621
720
776
202
917
966
109
462
180
780
658
565
651
872
540
373
750
210
28
70
583
226
93
259
745
775
701
914
781
14
714
262
833
216
512
450
45
956
261
219
360
625
412
650
462
370
721
720
339
308
542
96
364
846
551
149
16
448
719
284
58
692
201
897
1
560
538
137
660
272
832
457
710
500
873
347
352
480
753
175
266
490
735
363
904
105
605
968
190
648
364
52
550
308
968
299
268
552
132
946
312
22
182
853
321
947
521
806
552
823
835
497
709
107
31
425
686
698
749
235
861
842
167
405
187
847
182
599
289
949
398
428
852
657
458
681
652
679
672
461
248
595
671
306
394
816
650
801
427
805
385
906
699
496
884
52
543
487
327
856
126
669
727
607
77
499
214
603
680
15
234
827
732
68
923
599
187
669
746
119
165
981
425
994
675
354
266
598
225
772
448
640
373
177
602
368
62
293
708
332
372
713
965
813
340
277
68
567
297
232
730
848
607
359
400
668
519
109
821
678
468
814
677
354
547
401
536
970
413
792
905
713
105
314
114
575
693
757
28
799
349
397
606
242
921
441
299
609
952
610
931
782
810
538
343
515
714
711
335
623
144
439
274
100
298
978
505
458
298
153
475
889
80
838
982
542
385
283
585
859
706
547
88
989
176
321
325
928
489
531
225
390
826
138
894
352
115
28
432
20
857
206
389
833
828
610
752
659
869
598
743
17
613
383
988
745
700
439
3
80
89
219
58
470
367
624
23
766
112
557
5
257
213
209
913
941
929
595
867
544
331
509
350
341
191
224
964
671
751
319
993
860
148
483
45
405
823
685
792
229
718
894
326
801
523
106
788
301
660
898
127
957
537
775
354
847
450
866
628
470
788
857
576
17
227
647
329
529
414
576
307
919
215
448
661
965
141
680
306
308
802
407
329
17
481
447
965
721
732
373
960
453
578
741
296
93
102
511
901
990
78
333
550
525
585
796
116
29
121
886
214
964
322
137
591
304
866
423
298
222
568
321
407
527
402
924
536
615
159
675
971
26
839
361
44
562
595
960
408
33
94
171
936
633
593
783
470
787
767
437
778
659
878
155
669
546
321
187
997
11
80
89
433
641
296
407
236
379
407
247
298
809
667
498
934
693
895
663
845
822
71
731
123
876
889
858
140
581
116
582
230
723
634
729
505
565
835
423
318
522
748
71
981
295
274
937
521
908
992
721
785
863
92
416
146
747
289
412
488
464
44
606
367
742
793
697
504
460
463
411
116
127
515
593
567
420
837
359
430
196
432
17
839
447
31
441
17
641
594
794
788
683
469
88
834
150
633
114
417
365
836
804
459
154
664
77
105
86
914
61
788
955
486
603
795
366
591
636
408
232
546
555
546
583
306
508
864
361
937
489
852
163
351
668
130
990
505
771
493
683
367
46
274
161
163
881
164
199
584
999
187
938
375
526
69
638
682
563
268
59
929
983
833
834
132
688
543
742
193
430
674
692
925
181
621
980
321
835
550
777
935
217
516
117
95
688
484
451
814
728
803
913
443
248
848
293
992
198
699
89
33
619
921
193
945
412
60
721
590
373
963
471
343
349
401
789
678
227
692
357
662
660
304
412
686
887
194
318
0
138
374
235
194
868
706
524
537
589
443
123
626
554
840
58
797
666
387
109
967
844
76
77
754
444
150
347
608
411
870
518
538
743
881
32
366
823
896
762
948
64
663
151
284
882
378
534
614
824
291
825
749
253
410
740
502
985
685
274
488
894
689
438
33
222
12
497
307
78
857
960
76
377
83
724
644
182
957
651
665
335
327
982
897
772
582
749
628
814
367
803
601
833
198
318
933
523
348
717
142
389
451
585
82
771
379
251
750
671
131
677
312
469
222
256
890
955
335
177
67
717
81
70
874
447
106
538
602
246
220
847
414
291
903
552
658
621
233
933
216
519
859
866
132
696
334
303
472
252
425
645
756
832
415
243
127
831
645
751
734
117
854
622
907
978
44
100
324
444
541
239
886
931
844
103
70
865
378
678
992
58
483
85
481
470
239
429
77
872
680
388
918
74
768
794
908
551
826
674
80
814
29
469
113
202
496
521
358
83
917
777
288
988
962
742
311
978
171
926
327
843
493
422
913
137
294
497
611
99
134
210
785
854
170
456
463
474
821
37
87
656
600
579
103
179
831
974
383
825
562
672
434
804
748
656
495
209
621
323
696
925
275
401
77
789
165
136
889
171
762
452
798
741
295
956
97
257
623
971
144
938
998
203
127
511
381
979
265
951
338
540
554
996
887
491
664
350
332
73
20
426
719
774
794
917
273
682
482
637
430
322
550
138
539
848
609
158
216
729
959
268
921
198
736
923
353
331
839
890
703
530
164
514
491
881
771
495
566
939
136
69
252
441
352
652
155
336
428
805
289
448
293
897
12
169
17
856
397
784
348
897
785
547
857
861
272
120
639
298
527
63
961
486
146
175
321
190
939
849
441
726
331
759
295
219
838
516
248
132
760
725
809
16
279
66
565
342
693
854
849
321
754
530
992
953
1
524
881
826
801
678
959
674
489
460
4
421
859
191
366
263
292
701
640
114
177
473
414
849
344
465
668
175
952
934
767
881
589
374
278
535
255
694
172
77
691
220
704
717
253
746
586
980
441
975
804
933
570
286
914
946
593
348
848
560
838
501
758
366
600
866
705
34
739
416
285
388
216
882
132
238
508
548
279
922
505
183
710
9
806
167
158
935
776
987
623
425
633
835
226
193
565
563
878
599
638
271
320
457
982
292
328
460
295
467
496
640
856
429
529
440
562
591
109
463
837
380
508
457
349
700
329
666
333
371
781
824
859
884
185
44
253
93
843
721
697
117
12
585
894
673
703
698
414
832
677
44
722
336
612
415
787
202
699
918
822
638
801
350
545
319
846
957
85
769
548
621
92
964
787
990
813
336
39
112
414
597
739
918
324
287
806
831
103
523
482
586
780
972
196
168
50
268
358
744
26
826
449
445
64
586
512
742
435
17
731
356
402
605
275
743
169
62
181
589
393
786
790
954
288
590
863
294
316
822
437
443
125
777
710
543
854
5
389
629
234
35
91
325
60
519
549
495
623
24
343
512
575
196
895
849
501
477
962
900
836
106
294
369
486
739
554
220
293
54
935
875
727
662
552
860
798
542
72
71
407
294
321
678
522
20
774
42
439
633
200
897
582
376
985
977
429
239
450
882
808
112
353
690
832
446
292
873
282
962
699
387
254
706
52
570
985
873
812
748
618
216
907
172
815
63
359
43
377
857
157
636
376
777
744
977
276
997
701
406
809
611
546
315
866
657
829
637
310
525
998
858
392
14
606
61
531
173
452
292
998
930
853
783
985
187
569
914
311
416
534
257
279
360
154
896
588
965
79
246
858
550
791
277
157
844
653
429
445
707
473
509
442
448
818
839
293
327
233
845
810
979
499
510
795
145
17
171
996
664
830
829
164
661
470
657
360
698
785
394
547
650
72
952
599
123
175
526
600
325
536
649
398
178
858
865
282
339
426
409
175
194
809
151
544
807
100
126
768
779
643
900
194
288
517
857
498
875
615
409
658
980
66
462
405
850
91
582
969
148
257
593
922
359
465
396
854
650
701
793
90
880
765
895
349
189
959
863
837
231
260
318
507
16
987
638
190
137
360
527
964
351
839
337
929
389
57
496
115
378
489
410
197
218
922
457
649
39
616
402
374
399
875
293
334
712
187
238
643
68
481
92
992
171
467
965
702
362
858
826
452
52
826
642
526
969
224
497
385
459
929
618
973
276
211
229
269
395
925
435
131
411
398
165
614
548
805
487
219
535
373
5
496
739
740
884
923
936
572
993
338
886
655
607
223
400
869
449
477
385
102
465
175
217
292
975
78
221
175
657
221
462
926
896
531
932
496
635
610
725
386
901
190
993
7
504
12
857
56
741
648
326
346
81
230
320
421
352
563
250
695
311
468
713
607
661
646
484
53
554
710
473
168
829
251
127
847
51
996
428
207
416
328
845
193
917
858
806
382
815
90
293
753
978
736
213
776
22
115
663
917
9
592
211
843
124
667
237
757
501
291
877
272
858
615
191
451
288
275
444
422
27
235
314
203
246
825
893
775
923
283
79
340
452
59
95
245
983
285
568
480
690
499
826
812
221
445
672
369
107
166
803
653
795
506
764
714
524
633
330
844
631
61
415
475
690
790
554
191
435
28
980
234
548
156
821
835
659
791
837
233
268
343
996
960
730
734
825
825
739
152
583
391
291
819
856
578
944
907
318
156
876
165
612
436
19
996
411
616
914
302
143
739
681
322
810
425
554
994
450
256
825
732
66
932
514
783
763
304
315
612
249
516
747
22
107
304
559
324
259
818
37
721
328
738
457
285
490
36
90
453
295
544
449
908
735
986
42
88
100
283
712
272
808
143
295
0
129
983
469
367
252
239
304
496
288
170
222
850
323
764
601
320
742
520
529
957
301
681
937
505
615
68
539
149
613
119
369
171
814
593
640
946
973
969
170
620
98
923
353
775
545
229
938
533
953
260
405
561
291
196
951
519
824
845
685
986
421
564
166
327
247
256
187
7
889
687
540
142
70
318
740
176
366
921
696
589
241
413
530
52
173
654
892
913
206
237
332
311
717
816
73
567
775
277
390
124
358
638
102
596
7
998
71
65
590
624
563
202
648
76
54
229
508
405
701
136
376
544
208
797
693
728
851
131
542
8
412
872
25
486
486
547
130
724
229
202
163
240
291
587
937
11
300
796
51
880
591
144
220
728
918
760
122
329
21
504
532
835
153
586
238
32
808
498
321
980
446
181
520
94
203
625
632
25
765
243
743
406
52
104
236
472
47
503
286
769
814
917
438
212
452
948
155
461
57
978
548
965
450
518
262
314
931
77
735
704
851
303
411
669
103
614
416
634
368
252
590
174
355
940
324
843
730
887
420
120
553
527
529
886
88
792
805
299
279
454
787
549
825
883
558
917
353
674
450
831
264
720
43
987
234
229
195
485
890
38
485
1
507
740
430
470
552
777
501
729
308
818
85
858
46
786
882
479
367
485
517
140
979
353
659
502
328
633
797
195
938
225
721
917
220
456
637
279
795
979
493
184
762
822
515
415
872
97
744
787
600
34
798
154
325
451
148
453
320
594
857
617
929
211
668
245
396
258
954
344
487
72
305
308
423
775
938
695
404
981
760
48
6
375
374
802
606
159
404
393
980
474
186
508
642
764
33
638
273
41
317
669
547
932
29
515
796
116
174
71
30
879
20
736
140
610
246
264
675
76
66
309
847
74
956
221
255
194
862
622
716
247
635
569
285
586
751
734
816
620
332
998
338
239
709
514
66
538
234
766
335
768
592
182
918
151
204
5
141
484
40
48
389
258
810
798
286
928
889
843
733
805
514
528
664
612
667
388
850
899
614
993
581
776
193
477
562
156
205
934
180
754
895
429
698
58
901
41
190
727
268
727
638
410
936
939
649
284
122
352
849
691
660
470
522
269
507
365
602
351
130
932
379
66
153
903
374
237
873
866
146
965
389
506
621
472
618
149
95
146
304
27
502
48
624
786
184
98
249
916
683
200
123
1
363
905
991
297
845
808
499
689
190
313
947
365
394
94
622
783
704
782
71
287
379
106
396
859
407
715
29
430
16
923
213
69
168
687
256
840
869
795
988
409
294
215
327
291
14
264
2
577
404
207
212
543
516
812
254
882
191
87
662
173
828
269
795
79
507
455
597
583
751
421
279
586
956
225
172
386
47
669
888
699
587
248
49
578
523
65
358
434
202
816
356
479
946
830
402
250
418
113
652
281
706
85
868
989
966
3
581
676
565
532
843
999
183
748
110
723
182
194
173
414
430
424
372
460
11
253
176
298
728
175
113
553
902
33
771
851
19
552
641
263
543
179
427
806
168
41
286
428
717
809
49
966
403
407
248
697
399
561
535
237
452
395
711
208
491
10
534
344
280
303
442
787
22
621
904
559
999
194
400
115
226
433
577
377
888
389
569
253
503
454
884
904
126
313
361
111
802
893
757
442
165
882
304
413
582
585
991
942
118
993
488
888
588
927
916
912
519
854
441
414
291
496
420
975
881
559
78
161
357
846
47
248
163
262
552
626
336
273
175
208
429
179
37
500
825
583
656
658
545
57
149
71
720
356
165
172
511
664
373
77
515
990
946
270
138
365
396
953
802
288
157
426
426
576
734
311
836
65
645
790
588
576
471
384
888
76
740
108
21
186
913
894
19
106
572
34
695
628
20
537
242
264
107
919
32
472
176
293
824
784
810
931
492
13
931
194
450
895
784
207
53
3
257
811
225
721
265
698
557
572
260
506
722
911
865
488
46
546
348
822
783
292
260
579
415
665
974
289
803
943
54
435
478
564
819
382
34
239
83
998
758
707
352
808
262
551
577
693
167
463
855
706
120
628
852
910
954
195
182
540
982
94
993
159
519
2
460
767
865
387
898
839
13
409
255
29
636
978
355
925
247
581
10
539
685
153
427
526
83
223
79
496
245
554
987
501
993
422
606
666
809
906
863
183
832
508
686
85
913
223
728
709
493
671
313
513
128
757
180
968
375
520
435
538
754
300
817
891
349
960
363
646
494
241
151
127
697
930
14
101
837
756
641
424
140
423
13
627
185
382
483
967
856
811
969
274
1
148
518
768
344
131
137
466
458
986
249
553
542
760
274
27
947
778
69
888
48
791
190
767
153
819
860
477
168
72
125
597
311
139
692
580
949
362
536
262
28
723
377
879
69
53
101
649
476
625
710
823
632
565
55
987
812
525
339
214
109
955
750
305
879
112
400
548
899
495
447
591
825
109
40
299
191
651
661
369
977
220
327
257
882
901
264
907
423
491
156
772
206
208
968
810
652
268
932
821
315
943
829
603
969
651
195
639
185
562
910
128
383
352
796
636
46
232
553
888
569
570
346
722
160
40
608
475
551
199
504
419
384
416
842
277
894
380
312
405
865
20
268
975
421
845
342
897
188
475
406
153
725
345
484
300
247
64
114
310
88
312
604
621
189
419
123
240
57
569
762
966
122
645
215
169
753
529
922
510
364
584
731
344
712
298
17
602
510
287
645
269
168
161
930
975
480
218
643
342
260
406
842
302
608
735
571
816
423
92
877
707
376
124
609
22
429
822
122
207
765
452
463
166
236
340
3
707
55
902
707
389
481
319
518
767
143
309
408
987
955
470
602
221
392
433
179
667
485
158
806
987
438
816
906
622
799
906
333
541
170
211
28
240
15
560
540
343
679
666
878
927
164
428
117
290
880
136
887
245
73
500
584
679
945
883
813
405
934
949
895
358
128
37
23
725
305
925
711
59
457
197
47
543
592
767
396
405
667
376
155
820
864
504
152
389
926
983
225
641
189
454
925
711
377
908
169
705
880
75
312
664
101
858
528
80
963
604
903
992
978
49
586
801
127
928
121
453
535
635
469
232
377
114
812
336
703
187
876
927
448
495
273
350
369
640
445
776
850
855
932
605
277
448
31
39
923
573
336
4
304
8
942
842
295
631
446
44
223
175
795
801
754
9
330
183
673
489
451
271
539
689
128
624
186
872
372
330
348
620
634
43
402
659
140
685
716
761
737
284
461
570
367
983
356
873
910
49
765
268
272
390
723
565
206
201
180
323
843
325
296
668
305
376
698
84
169
515
122
653
272
408
310
506
386
972
39
477
963
872
729
500
86
225
61
45
313
216
653
327
427
191
494
117
932
772
476
977
397
507
478
540
106
773
419
313
125
926
940
159
254
36
144
552
573
461
248
554
145
258
850
789
268
624
312
801
515
859
723
454
252
927
286
847
707
717
338
255
998
116
775
834
748
49
885
951
125
168
400
784
319
836
739
203
625
497
749
314
897
206
267
198
720
617
289
521
309
657
398
871
402
632
576
446
130
533
432
808
890
197
285
186
71
134
400
489
75
692
760
717
328
825
890
774
576
190
466
759
174
432
954
614
444
884
100
282
742
497
633
639
940
558
473
576
615
228
178
650
139
450
850
15
822
198
988
6
922
998
117
953
796
707
222
28
356
746
47
105
438
975
301
497
621
690
899
96
964
120
548
155
58
607
641
386
298
260
760
776
434
75
369
769
34
419
925
522
736
731
378
932
162
490
622
102
649
286
866
681
532
447
762
970
685
978
70
416
154
155
559
623
674
197
885
724
110
510
460
281
537
112
387
774
939
972
222
6
92
521
337
979
248
841
763
878
71
718
498
697
297
933
668
99
568
630
140
496
56
186
704
96
225
961
316
90
216
650
787
842
281
607
188
179
977
211
677
678
86
138
939
229
163
797
983
59
319
345
878
436
573
646
301
744
219
883
846
732
604
938
422
931
584
9
672
70
567
356
425
375
707
783
776
541
251
394
600
218
571
512
900
57
862
211
862
621
822
257
790
553
787
151
150
973
169
555
864
289
947
641
255
718
556
673
945
110
584
944
138
129
248
465
571
208
492
333
225
26
306
480
116
587
287
127
771
354
724
473
15
739
264
278
34
471
109
957
608
611
783
103
114
183
364
602
160
977
237
391
512
513
640
974
727
489
292
307
103
400
785
800
474
87
6
349
499
245
473
535
441
197
284
460
773
552
891
107
738
578
708
755
366
613
311
361
530
283
678
369
643
422
388
976
805
412
522
137
225
753
94
804
100
289
236
472
839
238
291
137
634
282
137
411
441
351
808
63
947
483
334
927
455
935
812
346
340
611
836
851
706
20
32
991
415
528
556
433
549
486
176
527
489
959
948
694
291
841
816
766
831
190
324
497
272
5
586
769
590
150
805
107
57
111
198
712
978
71
24
210
632
442
165
633
933
587
977
288
676
903
854
947
407
77
98
696
282
103
527
183
679
696
243
383
352
780
497
28
5
255
212
897
473
588
746
903
235
940
663
630
385
613
797
376
652
437
588
733
159
377
450
190
508
847
623
869
207
777
771
485
414
948
468
399
153
461
493
882
579
252
347
255
331
983
554
707
905
453
281
650
96
234
258
863
133
826
887
118
939
380
255
742
512
756
805
369
810
650
873
622
127
328
642
286
572
414
128
133
171
247
657
354
116
106
783
693
571
690
176
206
928
297
857
694
214
951
52
589
526
150
337
796
148
815
306
648
336
591
367
344
278
393
436
550
496
212
34
351
81
874
544
252
538
635
447
275
538
506
457
40
105
363
464
659
673
388
23
667
63
985
37
936
470
943
895
752
830
722
446
205
553
79
297
542
660
882
108
16
493
798
514
271
801
129
976
136
306
729
62
376
701
919
124
676
910
526
987
894
534
458
32
411
169
828
137
181
220
216
778
391
382
424
388
290
313
789
966
824
255
904
763
380
652
226
838
609
306
188
770
997
429
70
243
331
830
283
499
70
779
34
823
440
653
335
215
942
97
39
94
298
487
250
960
503
992
822
915
799
754
957
603
120
472
678
977
440
689
29
956
94
378
430
750
117
921
106
165
286
521
929
754
52
306
241
761
856
113
774
399
443
847
328
948
800
273
639
640
763
704
481
894
214
112
183
531
699
663
244
356
47
591
726
151
590
833
946
683
782
623
146
124
741
969
344
340
985
796
646
922
309
821
884
36
121
697
52
828
368
6
458
732
700
497
361
537
572
470
293
417
595
36
572
375
825
844
589
488
980
676
848
63
377
327
846
766
679
329
939
346
165
519
20
125
611
699
169
767
547
128
71
298
145
746
246
65
207
687
158
728
900
159
155
162
353
616
485
437
142
849
470
19
389
886
720
714
633
743
908
533
925
608
149
744
11
913
21
376
9
7
569
40
659
436
203
288
210
258
266
391
2
561
547
573
443
740
881
586
84
264
486
326
489
214
74
921
763
414
917
794
258
503
690
861
206
632
176
973
310
546
659
603
168
800
893
608
480
712
424
204
396
724
216
464
110
6
879
882
292
74
484
733
159
524
978
512
50
26
385
793
179
728
66
374
958
507
508
768
184
141
370
91
919
846
953
443
955
126
165
988
164
300
534
783
319
444
573
884
333
823
529
927
150
197
514
675
334
951
979
833
4
847
135
995
974
526
464
948
429
568
179
949
851
826
799
505
674
763
897
143
994
194
502
888
880
231
35
189
503
953
493
354
577
298
310
236
790
248
469
735
732
624
892
369
988
69
635
2
126
187
482
215
677
993
249
850
387
658
93
475
502
523
903
112
369
196
904
967
87
223
677
202
68
260
177
916
718
689
582
886
387
79
771
648
422
588
999
328
518
485
500
669
389
37
904
872
584
316
512
362
302
498
414
442
650
556
84
886
49
803
826
337
983
707
515
474
243
991
569
962
279
132
822
710
696
728
239
827
526
725
263
793
128
504
985
783
364
19
956
734
22
512
613
387
689
355
952
680
900
637
446
357
112
804
356
686
104
524
7
365
829
706
903
999
932
512
368
656
856
2
674
781
715
683
613
903
800
329
392
489
860
432
167
890
914
249
313
247
551
806
871
894
523
44
604
822
406
708
837
177
508
564
285
591
55
790
278
261
637
34
96
488
830
411
818
410
624
130
662
404
933
858
16
179
380
452
852
787
971
646
4
646
560
916
945
426
685
123
949
277
741
714
263
845
129
965
143
692
375
553
469
590
808
471
134
300
889
480
424
175
911
847
894
647
669
437
216
968
11
604
26
138
353
301
188
377
741
490
430
546
48
887
573
731
716
543
837
550
809
845
731
726
898
672
285
807
863
295
304
293
396
938
651
898
146
826
343
336
894
321
550
432
882
225
339
440
39
368
849
528
546
404
408
462
7
358
886
958
422
324
882
580
139
306
457
459
337
290
303
274
502
457
873
764
756
252
702
521
868
824
962
602
791
85
943
340
507
64
190
442
453
200
2
810
901
477
884
653
636
277
176
185
397
565
525
324
605
796
646
489
386
160
852
843
378
539
994
925
254
345
98
227
662
719
497
473
981
602
875
36
754
452
566
280
579
169
123
876
622
127
234
890
976
18
779
169
708
326
278
148
43
119
525
149
555
655
848
375
883
497
351
628
826
120
781
162
169
752
239
876
367
828
696
171
999
283
735
958
135
583
20
563
571
717
947
507
403
962
410
582
336
248
103
330
63
572
469
310
287
691
57
486
410
928
849
868
861
930
557
396
334
749
334
204
625
689
21
135
900
363
559
216
93
277
369
905
296
597
924
605
106
429
690
333
474
118
847
798
991
814
570
995
306
401
268
451
737
350
858
159
847
33
238
8
817
96
906
40
221
301
733
657
718
551
350
503
606
629
218
484
939
682
829
64
570
215
385
890
878
811
947
974
244
74
161
185
282
15
494
94
386
425
992
642
98
427
792
45
202
241
663
494
236
611
796
633
862
693
793
738
288
779
194
767
507
597
892
209
217
373
572
542
730
783
329
954
287
988
478
899
410
787
163
365
620
786
323
36
601
828
873
226
992
42
180
575
164
698
142
408
122
416
447
608
977
135
705
821
973
319
362
841
395
48
839
525
574
674
787
215
135
609
462
276
18
352
798
208
54
975
988
705
105
505
585
350
735
626
950
310
21
536
5
201
36
941
923
931
10
41
327
868
283
559
545
128
770
456
986
433
801
731
910
462
108
152
166
577
813
89
387
12
11
781
202
195
597
178
954
705
883
415
512
250
393
410
197
504
813
547
742
106
838
410
456
614
167
664
286
752
920
14
437
56
305
626
473
202
341
435
127
250
951
323
356
450
105
365
282
427
109
276
907
193
98
193
369
574
66
616
474
536
36
845
402
53
406
198
885
695
91
51
186
237
618
89
960
788
384
583
439
597
925
129
901
216
681
201
909
650
618
508
175
396
123
958
716
827
284
538
437
899
688
780
243
411
830
873
484
475
38
12
934
926
750
789
423
19
224
590
350
302
122
645
16
876
994
268
460
259
209
615
663
699
664
997
273
676
524
96
896
274
360
557
444
484
0
991
413
920
918
205
87
395
2
53
701
12
754
577
604
628
424
948
589
353
164
34
452
824
511
312
848
209
986
160
140
601
449
116
680
9
739
725
178
124
353
868
807
281
815
469
374
229
605
126
24
606
376
858
276
31
465
2
531
831
189
76
381
7
27
855
853
767
421
497
749
593
175
669
883
248
895
41
432
477
952
68
552
922
327
898
431
104
703
358
367
143
200
280
909
735
227
967
510
118
140
894
168
730
861
470
559
368
701
989
489
735
604
36
141
371
123
297
936
378
837
879
953
315
565
109
455
800
777
532
363
526
823
391
485
905
137
955
277
733
7
832
661
67
158
802
917
264
456
246
224
343
394
822
501
470
23
255
866
750
448
729
751
460
594
230
555
216
714
939
553
803
936
436
430
195
50
55
750
792
7
61
7
27
985
926
129
978
913
975
562
505
494
721
207
354
960
128
424
236
697
538
90
207
663
678
867
194
402
13
474
73
524
11
240
521
945
944
990
300
24
163
6
517
975
997
828
105
713
348
610
461
567
961
421
95
365
341
164
318
398
75
315
31
523
881
472
144
119
643
58
549
384
940
747
292
339
35
884
913
233
34
351
91
371
104
58
839
235
773
823
16
44
98
765
28
756
740
955
891
935
602
437
367
891
596
771
912
429
26
76
385
168
50
504
233
938
317
8
407
552
793
601
60
964
11
845
406
97
842
379
24
953
635
72
27
981
103
396
984
270
573
87
179
845
95
152
330
699
296
823
516
87
375
214
500
286
670
675
736
795
175
338
777
153
214
949
901
415
812
824
146
384
750
882
13
87
49
83
456
677
651
63
498
65
742
720
406
804
878
107
861
345
724
236
300
506
581
690
632
793
142
762
898
751
459
160
88
631
227
74
561
652
468
966
949
804
262
373
848
272
518
558
776
384
849
588
999
508
517
845
609
512
110
152
921
739
726
352
792
759
463
413
267
62
187
887
747
836
113
165
343
841
543
508
220
219
671
889
810
185
797
20
527
402
564
118
58
399
689
156
919
40
78
664
825
80
142
892
62
960
298
614
34
517
193
502
357
859
776
525
252
684
66
534
587
415
864
748
508
244
224
35
616
758
249
277
489
599
553
184
135
982
107
985
169
209
109
196
484
329
768
616
728
393
528
983
225
502
870
42
593
565
355
696
899
168
10
189
86
574
29
955
643
699
746
905
717
143
113
763
42
778
795
533
65
330
16
12
169
355
257
742
719
295
935
535
45
434
9
980
314
722
546
574
382
784
704
830
754
645
320
183
692
265
48
389
44
695
869
642
421
834
15
395
145
245
616
675
608
756
634
989
158
744
83
347
478
177
35
619
149
787
455
972
163
817
43
173
981
641
693
726
326
488
863
709
432
225
394
757
118
357
911
208
345
729
817
749
48
508
802
697
553
553
489
385
22
795
216
370
354
802
30
820
211
205
127
935
94
76
492
448
643
761
685
394
230
302
109
268
870
918
862
978
835
466
888
413
955
860
450
240
246
755
279
472
793
315
286
698
336
675
487
193
415
309
312
828
417
10
323
316
648
620
855
878
575
650
744
554
66
105
395
584
720
4
93
80
962
333
379
188
142
75
11
502
86
120
640
784
508
778
610
997
228
840
373
678
881
168
549
793
165
675
472
170
810
754
552
85
247
848
627
208
699
555
532
449
822
553
253
38
110
5
948
855
181
103
741
863
680
794
534
571
419
833
627
656
883
506
53
584
217
903
316
951
631
929
386
73
805
698
130
593
788
506
697
511
37
337
434
533
519
710
919
852
962
945
115
90
404
139
101
599
806
479
106
1
743
293
123
84
801
189
121
905
968
987
352
20
552
736
284
245
17
677
835
132
31
190
170
874
815
430
245
493
930
482
344
321
999
806
769
113
582
492
73
491
828
993
10
924
129
825
902
818
294
359
743
791
941
950
944
354
185
302
890
921
585
982
539
882
719
717
907
401
485
548
323
804
516
480
291
604
458
984
362
420
907
769
825
930
935
484
583
202
229
107
387
152
466
155
956
331
637
901
871
42
455
443
961
520
15
955
573
409
200
257
696
492
283
856
891
954
361
714
170
63
459
853
36
803
425
591
136
728
347
114
452
539
838
728
499
318
976
2
791
58
898
121
311
304
798
130
497
686
129
490
271
916
686
242
479
326
586
130
879
709
745
500
404
1
218
911
445
562
378
538
110
447
479
370
60
982
310
934
103
830
634
442
400
753
389
508
718
373
574
834
11
315
46
447
76
894
813
500
969
794
677
120
265
402
264
480
979
858
990
444
7
767
104
829
146
773
304
599
49
469
248
413
653
624
116
123
825
668
371
230
771
844
106
561
843
388
277
235
716
464
565
77
193
179
229
252
116
560
184
199
26
138
186
0
49
657
491
218
379
127
197
147
964
526
803
84
657
456
681
428
669
563
620
97
738
478
961
845
91
212
713
598
156
342
196
401
85
165
881
395
145
441
716
111
144
703
182
330
829
536
388
968
923
988
893
29
952
782
97
44
281
54
352
892
786
944
760
297
131
497
915
611
197
665
472
440
140
903
217
694
313
166
974
877
639
241
482
538
694
673
525
258
59
100
998
600
254
569
860
796
147
477
331
329
465
326
461
181
496
937
614
500
942
297
529
242
316
400
153
308
901
658
847
826
56
492
334
598
687
202
449
29
150
594
842
133
713
526
701
755
55
680
751
896
558
71
866
18
376
549
650
70
636
812
849
12
131
232
793
551
86
126
3
769
596
360
414
329
199
221
159
73
615
752
696
77
734
411
650
14
199
369
595
266
229
134
138
298
630
564
999
888
280
206
897
982
255
597
793
391
215
29
903
366
764
280
338
386
146
487
865
298
770
36
589
764
648
472
994
161
398
356
290
208
901
675
252
831
853
127
39
929
158
709
384
605
40
342
689
208
355
27
526
313
86
802
571
60
955
749
364
508
518
864
922
578
695
350
998
977
305
808
726
527
586
240
597
470
190
654
154
292
540
405
48
719
927
277
983
833
750
945
617
832
598
315
527
722
534
194
443
378
386
679
987
368
427
708
648
811
890
997
369
270
915
258
589
632
97
839
500
622
413
221
507
375
21
460
66
373
515
686
439
594
758
458
681
466
798
149
945
516
448
821
211
683
735
419
704
157
680
160
159
869
461
192
856
11
164
978
449
100
11
574
141
381
85
123
699
157
972
508
764
597
713
855
368
955
507
789
754
852
958
562
580
623
645
242
25
585
714
850
707
603
999
75
147
262
638
220
282
670
634
613
371
700
419
602
224
668
456
782
104
765
668
421
888
190
643
375
24
585
101
405
129
738
594
309
656
784
967
703
294
753
853
642
647
711
975
249
833
199
579
770
427
589
948
723
107
505
127
294
98
98
650
369
566
655
340
94
556
891
644
591
996
708
82
808
880
728
862
744
662
343
827
397
904
314
383
395
267
372
220
356
407
98
463
205
30
562
208
92
379
419
357
691
966
255
898
391
62
725
942
725
926
136
133
431
747
212
864
721
626
457
814
850
407
158
898
863
132
956
112
890
153
295
775
898
550
720
418
623
668
349
732
519
576
726
817
834
409
701
95
365
929
119
757
842
590
595
175
628
24
697
346
973
449
998
854
60
109
802
481
861
127
915
569
380
303
225
546
540
23
989
847
44
812
290
450
950
275
483
666
413
865
770
842
847
403
698
949
716
60
900
407
381
373
136
174
352
316
273
471
377
873
82
532
185
122
780
543
949
658
702
216
33
700
80
511
442
800
258
198
331
905
480
258
31
968
739
23
108
941
602
577
956
734
366
321
350
52
111
172
219
995
760
371
787
388
373
716
459
128
427
967
502
936
991
929
96
812
602
518
62
643
956
274
350
83
246
672
539
452
246
406
548
478
661
325
565
882
817
337
547
731
987
392
599
106
277
421
269
484
105
355
385
647
223
170
989
27
714
390
908
857
102
348
529
844
211
909
224
168
672
991
82
145
407
786
999
252
704
128
685
318
981
369
516
875
980
760
358
996
204
640
284
286
261
140
58
977
965
62
877
40
599
493
201
222
110
563
51
324
145
192
843
886
919
126
804
614
556
797
232
75
713
66
193
141
583
17
677
628
500
110
585
583
941
237
864
15
755
807
147
80
283
174
971
904
733
611
809
278
745
695
79
740
405
751
135
305
716
412
796
233
73
698
733
949
799
120
615
238
278
442
963
569
161
141
670
26
931
978
190
299
416
51
104
883
920
904
453
984
122
470
357
481
328
317
277
227
9
321
648
174
500
738
874
494
230
4
346
29
906
36
96
363
964
862
344
329
579
203
223
206
351
154
111
448
201
975
211
996
618
282
580
691
192
447
176
442
355
962
309
980
36
490
59
70
865
113
669
88
977
525
815
814
614
915
187
811
802
662
457
863
240
354
256
241
345
368
779
572
110
956
506
734
529
34
871
535
849
840
501
131
744
676
646
361
984
711
525
739
310
98
22
123
142
884
497
451
781
625
408
713
545
26
19
695
801
31
963
631
496
159
287
774
289
918
411
30
692
467
460
341
658
391
87
42
973
441
773
43
481
259
14
754
473
624
784
697
839
90
711
831
176
308
797
207
605
227
336
857
883
876
615
346
854
654
850
17
364
423
845
655
337
86
588
915
503
7
96
449
851
260
473
651
233
24
845
763
936
969
533
382
973
487
974
720
383
982
778
485
808
838
802
958
65
340
185
791
545
145
766
118
853
166
525
390
27
92
865
517
802
186
114
900
994
235
235
874
313
231
46
71
841
634
380
889
957
947
531
388
576
999
531
675
687
50
653
843
495
919
22
133
941
931
877
159
849
5
346
157
517
376
385
33
614
377
289
180
772
385
545
186
361
296
731
459
104
544
48
834
25
837
838
46
63
276
208
883
272
560
446
309
551
536
239
355
716
191
82
293
586
724
119
623
27
749
133
248
529
503
238
631
313
510
753
314
597
484
87
666
672
691
152
479
479
843
48
981
361
741
905
945
862
729
358
217
17
660
588
473
396
488
501
268
16
625
924
43
267
503
262
932
958
65
555
437
893
887
970
28
825
997
592
329
646
156
881
773
159
784
884
859
339
465
836
358
529
469
707
500
187
161
666
385
174
978
685
208
147
422
563
789
686
223
408
227
481
917
715
734
934
655
77
499
28
304
254
221
934
418
228
558
494
574
71
641
808
919
636
18
320
64
815
419
654
116
331
699
389
847
725
712
930
837
478
161
307
661
317
326
549
521
762
987
807
477
752
248
49
136
922
620
962
910
450
103
961
267
522
245
991
183
415
285
337
483
791
178
711
773
588
139
851
243
258
61
755
836
862
994
768
432
895
829
100
857
273
192
681
428
618
516
954
284
587
691
772
289
596
259
432
510
94
953
897
476
551
368
839
699
458
440
798
454
978
810
325
207
161
406
381
554
372
24
574
151
944
659
797
522
823
68
382
912
163
846
538
678
110
398
197
328
205
202
954
62
19
565
773
95
783
375
989
844
435
637
349
39
183
439
283
500
704
76
567
428
346
923
334
633
247
369
698
327
72
306
708
644
84
65
11
794
863
698
341
154
48
514
877
148
991
952
234
721
931
852
405
349
96
457
407
959
978
116
96
829
992
262
248
394
330
342
174
441
268
648
856
188
357
917
65
399
235
382
172
708
618
121
854
602
952
199
520
112
911
823
209
635
988
179
0
950
259
667
202
428
636
430
65
252
311
783
821
979
495
594
170
515
336
864
751
101
16
893
85
888
30
494
482
828
793
961
327
912
315
518
445
526
979
629
702
601
57
353
338
846
669
297
316
715
744
717
245
470
522
906
733
156
382
178
291
848
699
779
335
817
628
774
321
893
734
741
771
803
296
434
319
440
390
67
194
121
162
904
89
708
813
915
340
932
963
996
27
913
593
674
144
301
939
377
345
757
8
601
49
638
233
320
804
45
796
875
592
267
502
318
234
470
524
386
970
607
886
827
551
749
901
852
692
80
629
748
902
809
859
587
802
164
105
685
272
274
363
792
420
913
876
176
608
65
464
798
906
821
338
10
206
784
536
613
137
306
971
119
83
786
750
707
692
346
32
24
494
11
895
556
157
40
60
487
949
578
969
621
336
381
678
878
328
801
105
308
633
775
999
181
19
2
280
657
168
549
43
998
663
866
167
83
649
76
617
790
648
697
180
118
49
994
680
529
437
931
472
153
454
205
292
770
133
22
375
702
161
77
88
225
168
704
99
71
750
784
113
783
142
253
130
892
515
485
356
633
562
627
684
335
405
290
515
835
668
604
373
897
328
626
666
149
936
564
947
161
68
666
195
628
796
388
619
950
340
688
479
781
370
844
957
699
230
538
870
807
566
323
64
692
394
243
305
79
94
769
181
285
635
48
437
96
640
776
18
603
845
209
480
174
76
480
399
885
972
723
635
434
607
404
64
380
961
487
589
290
349
308
488
213
102
221
205
537
935
986
957
924
795
769
196
500
878
170
817
679
912
103
492
592
941
842
529
911
605
779
378
824
398
792
468
427
678
44
740
358
756
665
832
710
795
610
92
901
345
242
795
921
78
693
293
968
138
292
212
50
35
957
224
924
401
271
690
265
520
242
553
526
176
465
686
190
233
217
650
757
898
815
461
548
707
300
98
696
141
493
216
226
776
492
633
245
972
813
131
809
866
406
398
870
274
454
327
238
397
382
703
213
40
509
599
985
955
62
805
551
223
759
381
21
726
487
404
814
215
973
16
126
840
565
610
429
299
449
514
510
77
830
269
762
507
906
488
773
322
808
235
367
767
224
74
131
829
959
668
279
887
987
947
728
760
532
115
37
534
884
278
993
341
829
592
469
712
959
340
263
188
369
133
409
807
210
636
324
854
785
913
569
475
155
791
748
652
918
559
927
590
922
963
756
974
221
830
706
354
540
927
374
500
826
609
450
355
598
458
291
348
314
67
861
594
383
372
796
245
17
154
336
811
931
79
917
778
202
127
197
165
328
679
884
79
215
364
801
135
753
590
390
867
51
833
478
250
350
317
186
715
951
104
145
364
995
402
381
556
892
485
459
85
300
226
69
396
488
719
431
741
951
113
874
662
198
956
487
842
551
736
208
140
23
785
507
604
545
914
65
631
169
532
290
755
612
264
742
975
384
192
357
615
112
36
607
385
516
587
370
334
439
29
172
533
927
495
789
238
424
164
107
244
607
920
745
91
839
57
465
685
736
193
579
132
843
493
454
626
372
225
293
194
307
837
958
159
699
43
397
189
139
681
520
45
422
702
880
276
745
126
904
556
181
897
535
915
930
233
832
877
747
967
488
14
125
74
958
850
211
560
260
33
615
910
915
82
796
81
353
434
784
979
618
856
656
864
732
953
486
830
614
207
316
663
324
3
388
276
203
498
436
700
249
930
71
197
486
860
982
758
483
689
233
926
757
275
775
724
150
933
212
676
952
619
404
663
922
923
806
693
623
370
227
26
849
769
824
142
419
458
442
807
351
599
998
410
585
350
212
684
91
956
87
296
23
376
341
874
318
823
282
973
40
236
489
60
139
165
358
704
561
83
148
491
986
164
725
240
315
926
174
975
737
376
137
157
870
783
78
783
119
348
703
839
570
782
358
829
548
560
76
921
905
565
46
627
189
946
397
699
856
800
983
317
174
353
426
559
581
530
774
175
102
51
8
254
453
445
449
461
900
808
414
600
173
107
671
267
219
573
837
855
402
922
712
51
549
909
93
207
822
110
245
855
493
272
150
220
107
996
54
769
240
939
833
209
444
668
583
636
359
671
993
449
120
393
466
814
861
815
721
395
597
429
14
160
451
280
425
279
957
536
297
199
365
762
526
705
187
849
832
150
912
896
38
657
29
660
601
243
561
668
235
477
702
613
549
944
188
920
611
449
152
853
203
393
656
175
728
48
743
890
681
293
902
536
251
243
494
70
754
356
815
835
829
740
755
910
58
335
632
30
31
120
298
291
138
101
590
121
698
215
792
991
642
538
800
816
416
266
128
477
209
990
41
891
135
215
756
44
96
253
840
923
975
344
823
993
612
728
174
75
844
916
277
487
759
8
286
858
736
47
365
89
432
25
982
716
815
840
324
566
148
444
344
545
680
663
84
598
422
521
867
813
738
96
858
957
265
977
117
635
126
66
264
962
422
7
517
79
211
484
621
635
293
111
354
382
651
4
206
967
10
783
248
663
613
564
64
997
957
313
92
951
998
942
31
678
792
460
386
23
637
660
128
317
574
232
70
308
362
232
851
705
75
43
302
595
578
747
363
639
403
450
624
967
252
242
784
483
547
619
90
876
985
470
920
183
862
895
292
621
787
712
75
79
781
674
114
148
927
265
653
206
626
76
318
476
448
617
214
243
433
149
300
578
223
881
599
593
215
216
923
662
175
742
434
210
910
211
104
50
268
400
986
515
655
44
636
410
393
214
767
204
377
999
296
637
651
450
371
844
77
402
573
105
90
248
381
359
952
411
384
16
166
819
911
547
276
743
472
390
3
136
569
446
377
511
661
724
942
545
692
792
352
23
691
642
439
632
7
24
633
723
95
330
154
573
214
382
437
629
884
599
962
612
640
723
74
481
41
560
38
948
736
572
190
306
420
812
102
125
702
50
524
148
971
230
929
458
860
638
454
740
135
267
464
848
414
844
396
359
588
859
215
103
588
997
471
859
303
903
937
285
474
992
645
442
821
815
336
994
414
543
224
70
579
498
460
918
254
246
326
981
596
700
614
506
89
449
417
850
529
996
348
745
14
8
306
195
889
162
358
474
215
621
128
200
583
862
994
951
88
831
73
299
994
944
447
808
273
430
421
836
113
126
43
989
492
919
892
514
624
312
420
30
980
701
857
190
278
416
944
545
883
565
167
517
253
31
636
125
200
828
398
803
807
365
55
774
520
739
20
765
255
313
524
747
391
981
946
377
778
65
919
322
608
345
244
406
740
961
671
550
180
117
392
112
355
853
24
741
485
253
13
946
253
24
58
573
31
4
412
334
676
446
272
37
829
45
568
718
976
655
624
671
855
592
557
299
46
879
28
543
817
230
851
102
232
862
757
456
771
202
108
896
825
678
799
715
187
737
287
778
684
346
410
46
599
823
116
725
401
608
517
445
472
502
830
554
529
537
209
30
134
571
716
351
498
472
961
939
499
974
624
902
157
487
250
555
770
736
337
451
843
656
752
892
41
226
621
390
196
243
901
961
569
439
716
870
28
838
128
571
654
723
734
938
883
230
352
706
662
898
805
550
61
339
574
751
996
883
362
243
141
695
548
609
325
678
363
983
573
818
454
940
304
3
508
866
646
439
764
925
632
273
964
651
413
72
419
286
457
393
486
439
62
815
620
525
116
536
646
248
782
404
619
838
979
591
605
457
361
450
338
36
350
930
942
248
287
889
344
365
91
136
362
214
320
609
448
622
695
900
978
536
888
671
53
937
257
405
447
816
737
48
759
382
752
786
619
748
284
911
542
433
43
315
453
36
460
151
438
775
650
816
122
498
186
105
835
586
593
66
953
296
29
208
667
290
294
916
954
639
188
845
816
555
307
649
172
674
351
188
159
146
22
882
874
474
650
983
728
282
322
481
646
705
664
897
934
296
902
13
818
681
775
723
454
922
546
748
985
259
556
669
698
559
436
26
996
154
218
685
171
403
48
601
639
305
745
726
578
37
811
30
954
760
90
845
613
462
374
175
603
28
94
597
546
83
468
983
951
850
536
924
302
312
689
285
145
636
911
538
516
556
536
912
223
426
730
500
978
144
92
488
748
951
151
260
353
19
307
587
640
67
98
210
11
136
194
164
163
986
328
845
568
904
939
305
389
914
344
375
438
672
785
645
163
65
173
387
911
582
256
194
137
1
980
539
932
669
592
674
523
147
182
236
696
571
203
684
561
442
884
942
788
949
551
547
866
948
948
315
244
897
66
209
830
214
669
808
467
882
89
396
197
533
649
115
52
15
205
279
251
546
795
73
273
586
560
320
369
655
80
249
911
185
841
50
916
427
890
759
383
771
856
270
212
488
743
657
34
558
500
553
359
55
703
188
576
464
18
709
225
428
409
567
463
788
431
121
191
310
531
981
712
419
306
205
125
936
285
987
965
495
174
296
850
59
438
649
94
156
315
63
392
18
930
479
245
4
805
433
268
584
479
834
229
836
668
66
187
605
889
430
719
356
331
487
785
385
455
550
165
595
411
704
187
370
771
241
446
493
859
924
993
577
609
385
189
659
99
354
862
215
411
909
324
780
209
819
762
45
940
467
306
706
358
681
616
276
331
49
232
684
787
498
412
137
382
703
471
477
868
304
165
679
330
849
599
385
152
15
545
457
178
586
796
619
791
285
895
889
850
402
149
798
223
38
538
760
356
838
975
799
734
331
530
725
935
10
569
158
102
34
645
795
979
595
493
286
581
969
799
138
123
413
373
351
432
872
366
843
769
237
517
335
695
563
394
983
21
374
212
137
139
233
407
746
5
118
491
756
164
579
20
29
75
434
258
680
500
550
913
545
628
411
927
208
441
501
618
99
22
807
354
718
607
907
606
265
598
254
190
12
545
803
609
705
986
94
857
959
597
298
126
221
967
139
438
391
849
844
695
104
311
360
128
488
98
441
708
759
642
611
295
356
714
310
756
3
997
81
154
926
475
4
881
532
266
335
226
333
783
173
818
329
827
761
415
444
210
131
985
626
134
69
463
323
498
143
726
899
377
282
378
803
730
722
572
398
635
447
946
725
818
601
709
956
620
55
253
614
509
902
298
736
939
742
848
279
783
842
221
197
163
456
306
811
13
213
302
431
727
497
345
853
123
850
219
78
670
725
326
589
460
545
152
603
86
248
849
684
338
180
773
312
686
347
930
4
442
825
194
284
602
900
879
877
102
716
222
283
879
79
505
33
267
163
949
237
307
825
308
757
810
534
106
644
741
201
571
932
995
772
855
410
899
633
128
720
502
369
739
278
395
769
790
982
203
608
990
746
921
927
932
393
247
615
765
145
748
713
131
413
687
977
263
405
222
545
806
576
754
852
80
508
235
399
867
459
326
701
428
277
535
728
274
816
88
727
77
16
206
667
653
62
666
100
310
917
9
201
233
479
588
765
415
427
304
515
783
343
668
653
473
222
13
787
385
26
149
354
420
845
671
533
679
987
42
871
9
40
92
148
852
277
91
384
228
913
447
67
966
300
298
722
488
275
441
678
2
664
907
456
932
676
728
527
224
450
441
868
655
97
675
276
333
97
859
189
917
888
693
735
731
91
341
886
168
448
284
938
114
475
843
690
82
232
941
454
174
946
155
429
945
190
932
23
359
322
56
578
699
167
794
92
22
547
524
798
759
92
904
665
965
944
218
772
234
2
450
808
453
504
713
433
288
979
752
67
109
881
168
632
610
813
218
743
404
824
899
605
508
38
927
827
76
45
782
933
430
970
670
757
313
949
912
11
681
314
342
761
145
965
221
772
368
243
300
317
252
846
613
471
221
385
701
424
820
430
312
609
50
568
912
796
367
93
739
176
791
936
346
862
16
185
582
31
233
124
546
26
233
273
341
205
517
559
211
542
123
496
869
793
428
245
806
239
75
903
210
348
685
64
363
635
559
6
455
468
321
909
110
901
988
856
106
351
651
717
833
299
206
170
609
792
763
41
980
88
566
213
804
106
129
919
804
707
255
498
360
570
532
206
458
207
920
971
567
722
330
232
682
133
648
184
15
725
873
643
895
902
386
599
622
873
315
942
976
909
738
949
560
358
857
665
4
109
613
769
426
628
397
353
86
285
612
613
241
451
829
530
759
978
139
923
302
162
460
956
654
231
945
507
84
732
881
836
173
0
814
64
572
424
21
482
148
803
997
310
93
65
705
559
448
375
608
462
809
181
436
397
254
491
105
527
194
819
10
616
326
740
833
86
731
521
405
19
303
34
368
261
743
237
535
236
716
775
14
480
339
111
427
762
283
502
411
282
137
378
856
377
340
320
800
590
276
543
328
688
710
281
574
757
730
863
132
69
618
957
718
153
207
741
715
817
614
214
460
869
419
128
404
653
175
256
568
236
294
18
517
501
177
913
143
943
599
988
378
15
30
237
576
321
128
477
498
337
634
901
623
995
338
570
427
803
730
683
245
10
547
928
417
888
402
145
169
382
372
584
944
104
947
198
921
322
875
11
410
810
526
470
959
899
571
406
102
625
219
767
855
856
867
36
803
93
342
32
215
584
908
388
862
860
941
806
334
711
514
237
829
805
82
70
209
825
342
383
269
873
690
329
313
387
94
648
279
239
75
16
429
607
901
557
97
893
482
718
241
862
594
613
276
886
542
645
119
589
784
372
885
935
538
665
726
550
746
920
576
473
829
634
36
548
646
78
26
404
695
179
516
584
683
11
822
357
290
217
406
512
220
194
363
714
336
391
923
618
120
857
292
351
228
1
557
149
14
319
968
515
219
62
100
625
915
893
893
70
628
100
801
958
517
39
173
778
412
186
307
852
642
273
13
260
790
460
250
881
391
405
790
894
175
849
552
184
309
533
610
816
972
55
652
95
639
439
99
440
561
179
466
896
724
949
12
849
897
338
281
427
556
573
836
885
640
589
254
250
43
592
357
166
749
0
737
7
129
392
105
966
190
825
846
269
371
326
391
782
244
482
835
704
952
68
445
227
259
349
647
173
717
64
628
133
695
966
254
655
565
936
483
146
746
420
311
893
541
909
500
892
460
636
32
232
637
615
968
993
129
307
614
120
197
386
636
368
299
631
641
198
154
608
618
139
943
983
323
309
522
307
38
162
185
915
135
158
104
864
806
845
290
491
193
340
853
893
840
19
471
407
502
102
36
127
956
154
539
341
680
950
63
242
343
646
508
475
468
514
764
724
583
388
969
971
971
212
98
527
220
253
625
921
433
861
707
942
174
676
841
592
691
580
107
704
335
750
21
976
325
449
439
619
690
266
650
165
558
862
965
971
445
318
5
316
596
535
84
631
377
77
279
390
639
474
480
35
447
269
80
978
414
125
211
764
31
919
37
275
942
300
978
102
526
64
981
950
300
998
227
95
577
84
735
601
311
632
492
675
231
574
262
531
491
685
683
678
26
268
861
819
913
566
357
590
73
165
698
912
850
83
801
121
919
269
671
173
668
325
52
373
973
59
398
704
74
571
621
345
996
58
109
686
550
538
126
921
230
826
37
694
72
801
961
641
5
833
708
474
742
573
696
117
831
125
300
945
16
870
552
728
125
895
655
524
797
195
514
177
108
25
720
744
806
700
946
390
935
956
927
760
168
345
200
375
775
391
357
471
860
588
582
416
46
770
289
143
224
929
155
738
135
858
885
73
748
616
620
713
9
800
116
582
865
216
554
265
99
438
869
758
426
502
90
239
87
752
13
759
580
832
348
353
975
183
557
654
129
267
295
229
453
92
191
168
125
581
215
299
867
506
124
335
848
965
304
820
235
855
94
713
847
649
522
320
227
279
594
142
247
524
944
306
836
613
79
594
262
593
46
959
724
346
313
950
344
28
885
492
387
395
414
963
892
370
451
980
896
754
147
759
108
773
379
163
471
144
520
367
645
88
110
833
419
280
731
703
987
419
175
654
10
163
951
654
728
490
812
985
370
181
623
695
381
336
253
201
826
993
151
419
823
962
991
689
173
528
768
37
263
245
814
198
711
767
684
532
34
492
470
540
22
429
881
582
602
227
897
179
455
384
760
538
476
412
796
325
699
976
811
206
169
112
55
210
819
390
720
514
531
965
968
110
609
752
230
79
448
682
735
372
667
436
211
793
290
526
53
902
863
12
599
648
768
665
161
136
414
59
738
728
760
104
315
127
77
139
127
223
272
145
890
579
860
700
888
385
414
92
220
145
324
267
27
28
809
221
870
827
22
52
829
543
18
165
339
944
192
945
373
704
825
991
807
448
189
69
169
528
391
614
776
543
458
158
720
830
354
664
425
58
402
296
269
513
433
141
63
698
862
329
462
937
105
569
376
257
206
429
184
802
383
783
35
406
410
108
647
20
407
485
261
709
583
769
830
333
596
432
942
827
466
379
797
991
578
423
869
294
294
259
193
153
126
61
876
975
578
555
927
590
351
26
856
32
419
818
373
462
645
39
514
584
583
233
139
598
573
94
187
365
640
868
740
840
318
224
916
351
266
840
532
838
815
290
931
190
498
224
799
347
778
695
486
19
602
722
520
934
335
541
750
95
298
457
850
96
400
368
444
947
135
268
648
905
721
232
556
71
878
509
548
179
568
977
193
734
899
454
672
775
910
383
186
137
440
637
614
845
708
498
240
539
988
827
191
822
115
888
127
458
630
901
837
754
217
840
396
399
339
979
712
555
667
308
406
965
12
532
972
168
635
587
305
55
842
844
234
16
755
253
953
697
869
709
890
594
817
429
202
920
178
327
74
70
654
807
177
974
149
175
224
735
780
755
420
711
454
757
468
73
760
59
323
102
210
256
234
965
202
738
366
664
122
595
730
58
226
995
338
773
86
233
363
646
624
891
759
987
52
106
26
286
229
186
710
473
744
488
552
358
667
153
107
553
70
261
997
584
706
703
237
207
588
450
274
658
727
921
418
582
556
630
390
726
889
911
168
168
783
806
796
504
983
525
861
178
482
434
284
989
488
884
703
50
263
313
196
336
619
264
47
522
841
593
491
886
147
78
345
291
656
368
302
165
567
967
520
485
801
333
181
102
748
639
162
339
169
160
83
283
114
492
984
63
686
53
117
461
234
7
100
694
716
966
579
632
611
765
31
407
597
425
107
265
639
38
986
595
66
857
292
61
820
970
772
445
142
772
701
386
48
371
479
818
619
246
354
112
33
303
442
711
645
741
232
218
792
152
879
933
877
629
507
982
721
163
429
393
878
844
342
369
800
826
954
17
572
439
808
669
446
926
778
75
224
360
974
66
218
924
498
933
237
873
980
760
612
191
501
670
521
32
744
909
799
680
836
803
446
830
930
253
872
751
811
827
836
97
606
685
829
364
429
326
420
397
349
633
844
2
519
443
884
671
398
558
99
587
511
836
812
214
56
980
104
823
844
906
505
191
414
347
388
429
631
745
581
32
399
664
275
412
831
141
128
535
612
637
481
261
434
41
139
465
60
855
680
480
313
813
674
342
104
692
896
784
421
143
127
850
257
59
338
334
675
337
300
266
956
333
184
682
933
409
837
226
970
0
142
616
513
194
474
659
371
567
593
658
298
275
760
667
11
79
20
738
188
952
356
630
292
695
582
819
471
380
401
132
607
760
854
966
810
458
812
678
606
518
838
160
223
605
333
864
540
173
456
52
799
348
242
78
208
643
962
889
924
716
524
434
686
229
446
620
136
771
58
617
264
443
90
206
757
495
262
836
703
569
789
260
167
950
206
194
525
288
463
193
471
675
212
627
820
951
958
449
906
664
329
897
445
583
529
611
414
48
463
259
504
803
283
314
106
49
918
792
12
453
544
478
235
733
321
458
990
686
414
493
568
82
447
263
486
118
339
669
515
789
305
849
875
83
537
637
607
66
347
104
316
379
468
931
876
380
509
552
773
735
599
168
731
467
382
419
611
97
213
51
812
604
36
728
429
767
853
11
968
876
62
954
539
673
851
365
41
637
276
420
76
871
894
353
662
816
127
174
96
686
790
26
805
191
963
439
937
614
273
42
410
606
327
702
365
94
979
518
769
839
735
792
4
875
777
253
294
455
739
237
296
453
927
34
934
256
671
115
590
448
935
952
111
486
876
82
212
988
343
405
464
971
116
766
122
438
405
206
50
120
421
753
15
85
654
15
314
149
77
842
143
363
215
562
234
732
722
583
780
593
898
793
788
971
630
782
575
919
208
615
867
169
39
847
590
964
968
291
129
752
148
31
159
941
606
992
393
142
843
397
794
161
292
822
737
954
228
558
190
570
140
314
863
12
499
605
612
325
66
388
80
779
662
756
532
199
815
625
495
423
17
250
714
988
324
878
193
496
805
718
860
474
196
109
320
953
108
51
496
187
9
359
281
976
389
411
408
510
102
336
562
275
362
338
394
80
749
235
90
305
19
331
903
883
938
196
512
129
2
613
62
72
209
805
518
747
560
478
247
618
839
747
302
436
725
400
405
681
698
471
483
991
548
555
179
654
912
82
410
558
373
975
466
886
770
503
313
832
400
101
615
41
476
678
601
923
484
492
596
736
908
339
479
893
869
875
441
82
28
779
651
868
120
11
353
926
633
805
721
240
103
188
553
63
955
659
899
130
934
611
870
162
734
478
703
259
834
103
637
734
882
804
98
314
447
666
605
648
486
633
500
780
174
522
904
788
316
507
211
749
209
363
680
965
298
698
560
552
655
403
296
642
349
142
129
950
112
269
662
163
789
952
676
785
271
731
160
1
824
647
19
168
403
822
409
906
356
511
667
374
734
0
777
477
116
119
267
286
514
885
577
522
332
724
400
838
334
258
263
884
615
282
316
463
399
193
961
737
882
649
459
656
118
364
336
598
341
872
720
447
498
311
738
750
842
340
932
491
222
492
20
318
807
38
769
567
971
958
493
998
701
169
381
261
81
470
450
795
818
855
560
417
666
123
106
322
440
335
18
795
960
315
91
522
405
280
839
12
73
923
725
760
847
108
960
31
545
693
606
317
74
372
20
303
387
766
311
554
128
947
482
807
719
460
331
190
483
518
745
8
972
331
317
380
397
776
49
817
606
258
149
361
691
577
838
442
107
171
848
520
855
698
261
875
631
867
841
421
509
516
802
922
591
162
556
351
434
43
533
19
54
645
437
876
988
123
324
253
341
790
138
828
538
848
995
253
768
370
805
969
359
638
229
419
148
457
197
753
705
315
278
754
650
968
233
235
374
105
911
882
765
923
296
424
861
742
733
194
556
842
886
84
335
918
112
508
429
833
628
374
561
612
381
135
424
655
659
529
171
173
283
690
653
504
932
957
232
766
163
607
285
193
580
53
452
189
652
236
964
593
438
769
39
79
295
878
594
695
77
794
388
927
155
742
974
590
208
702
212
584
224
674
750
237
35
701
708
430
185
89
751
231
415
603
498
462
350
346
800
106
866
739
943
991
205
286
862
582
117
701
793
581
120
923
960
772
598
835
347
516
641
75
480
723
28
279
69
161
506
258
626
96
498
874
131
362
670
545
621
638
521
731
474
665
284
567
930
86
276
662
48
791
566
873
511
732
499
762
650
31
990
983
169
854
315
795
175
765
428
716
416
352
419
58
229
980
613
658
362
515
323
56
702
450
805
234
257
672
219
50
189
132
127
283
576
619
412
35
536
12
945
138
122
503
406
859
839
994
683
838
485
86
90
666
135
683
255
196
425
532
664
901
362
2
741
685
819
935
687
547
669
483
714
566
759
440
521
543
699
972
413
795
346
691
271
230
318
332
482
594
970
561
283
7
444
875
555
748
389
163
218
818
515
786
841
0
813
898
702
939
783
12
66
153
125
364
216
269
243
506
709
747
678
616
954
452
657
811
856
918
905
951
538
403
763
624
904
957
693
924
997
424
744
312
887
907
964
867
769
694
969
136
799
737
240
338
787
354
684
943
425
319
986
937
735
908
482
931
61
565
773
738
791
145
968
427
850
908
264
247
120
112
179
116
404
549
644
530
495
957
264
959
481
44
48
850
676
304
796
729
70
160
987
312
917
103
864
406
633
700
175
632
557
716
331
761
677
971
841
666
792
247
194
632
290
664
453
700
453
782
915
679
133
667
797
437
77
819
754
407
889
795
329
724
999
178
715
296
435
777
891
613
792
791
128
433
213
204
669
283
414
848
302
205
429
827
87
123
376
521
315
509
77
841
238
501
921
241
709
194
994
128
816
469
441
761
159
488
887
154
902
873
118
653
100
195
418
583
545
666
79
254
346
791
803
208
573
807
434
569
488
563
931
462
904
84
445
399
632
173
459
637
876
835
910
462
790
10
12
982
509
486
170
282
44
391
456
261
868
22
674
665
440
188
778
526
461
468
722
538
56
612
586
885
208
550
568
935
254
136
47
22
593
657
486
489
806
215
95
311
458
985
706
53
600
857
378
229
799
329
52
989
556
83
7
48
586
735
327
818
706
296
164
433
617
650
411
571
760
176
152
553
645
72
144
724
537
823
812
121
293
787
720
725
372
574
461
671
913
722
613
51
423
360
508
448
31
153
454
788
907
652
588
750
148
164
507
851
119
329
753
220
354
462
81
776
247
629
997
466
648
718
387
718
249
51
87
292
250
598
654
541
988
815
525
881
704
254
805
995
960
195
830
796
110
809
279
659
20
43
337
949
143
120
87
715
920
809
893
726
713
139
44
234
217
496
197
192
626
523
381
487
823
285
362
148
921
437
950
249
228
781
481
234
699
162
22
293
727
739
408
801
901
202
508
301
415
10
390
92
95
99
18
459
88
672
15
889
228
198
201
621
741
62
908
582
543
552
542
93
542
770
400
551
314
597
619
594
589
832
985
30
583
590
370
230
221
823
357
694
673
956
445
865
73
963
732
725
13
812
106
639
821
37
261
345
683
616
752
514
590
275
976
661
331
249
159
90
115
968
436
247
296
294
191
593
935
113
573
13
504
390
124
687
699
873
716
86
282
69
146
422
903
31
906
708
884
560
819
110
344
378
142
625
2
525
314
965
217
37
322
368
499
232
540
852
406
759
328
942
676
997
844
485
229
849
773
773
310
998
108
140
910
155
131
547
770
821
392
829
338
37
324
313
956
169
72
103
281
693
7
854
510
598
594
360
186
5
105
467
541
615
358
10
721
852
658
111
524
557
780
986
69
439
606
466
112
942
386
369
560
580
995
196
222
674
569
47
418
326
623
387
584
80
643
845
590
666
189
770
222
137
894
135
553
398
495
141
518
329
970
885
514
841
642
899
365
993
428
687
520
332
550
201
385
744
536
451
822
267
179
0
115
922
334
63
908
407
219
848
230
804
227
197
937
343
359
615
868
83
595
30
209
54
36
72
378
730
320
408
60
351
819
375
331
31
994
796
536
929
71
228
847
879
678
620
748
531
15
445
509
255
791
37
252
608
866
532
621
197
862
395
844
322
746
216
895
741
920
539
550
629
707
853
93
397
940
377
84
133
859
184
5
482
513
620
134
30
594
635
539
686
937
919
915
263
918
967
733
75
797
449
339
318
69
851
623
577
115
690
942
383
165
422
21
948
342
545
102
984
399
220
153
102
45
403
359
622
760
43
498
184
321
789
559
646
191
706
209
887
597
229
912
79
677
760
266
158
950
348
638
518
1
64
139
366
37
438
760
930
770
67
44
291
999
815
256
546
52
213
753
408
264
133
462
358
90
743
613
288
8
572
933
808
424
635
415
745
387
705
831
491
534
854
352
520
507
551
164
66
95
306
109
2
317
484
671
359
241
965
657
59
709
584
971
991
415
266
896
220
645
388
584
485
599
634
380
723
773
365
634
652
85
855
890
160
246
724
343
386
573
366
87
330
803
772
98
781
918
317
914
114
229
871
889
543
747
185
716
337
498
373
172
142
614
252
16
717
117
877
218
797
175
969
836
336
37
704
561
699
289
251
903
838
704
145
111
584
682
358
675
768
251
505
158
32
656
30
846
407
805
218
570
226
365
95
689
657
810
617
899
212
602
634
757
752
674
682
388
838
199
126
653
348
12
843
409
202
225
568
904
173
633
895
803
97
765
867
52
64
32
158
396
937
950
740
311
413
737
744
218
402
501
164
197
39
622
830
345
347
321
673
24
613
87
254
295
131
81
158
814
177
365
809
704
707
765
329
674
512
517
471
31
174
771
446
526
699
31
187
636
263
35
699
3
651
892
979
239
462
336
156
810
389
199
318
235
720
545
790
771
915
594
990
79
704
829
896
92
863
275
278
209
44
33
100
480
157
188
814
81
353
668
590
881
28
259
918
241
869
327
175
556
582
705
930
401
200
324
601
151
914
717
643
524
482
829
858
748
748
170
317
371
802
378
858
992
739
671
939
577
77
471
959
66
186
291
963
685
262
491
205
212
251
675
211
807
16
971
928
248
664
426
841
253
778
513
369
225
56
191
249
234
107
303
937
778
959
588
125
351
230
895
986
997
743
332
944
652
819
351
151
589
831
497
866
586
471
204
136
633
221
323
389
911
176
294
650
941
190
589
837
272
381
46
416
548
875
94
682
475
755
512
355
176
136
464
842
854
408
283
650
202
240
710
242
737
220
172
117
58
71
3
965
694
448
88
504
489
595
524
456
946
590
347
593
933
128
524
563
216
783
659
608
714
897
190
465
44
629
496
130
888
862
527
315
306
827
307
525
904
178
667
993
481
632
65
195
350
815
466
64
116
323
864
754
264
684
840
476
464
988
876
813
119
911
931
850
378
989
320
637
868
779
815
742
270
28
805
68
801
104
789
350
563
739
319
757
520
720
824
147
829
976
967
135
474
363
829
513
524
646
54
896
962
235
829
935
159
849
20
99
115
161
907
139
0
219
825
290
735
23
808
627
4
34
749
360
63
522
98
954
8
204
883
790
702
244
251
759
963
620
351
540
35
818
553
873
962
644
903
8
103
877
118
795
483
193
65
572
686
680
384
238
307
383
28
168
825
600
869
558
589
238
185
795
901
8
566
775
896
298
427
545
977
102
245
700
890
278
679
569
39
613
857
140
646
548
934
818
920
930
744
454
643
871
585
544
609
465
361
537
354
39
717
381
39
237
335
590
196
532
110
635
532
226
505
443
946
743
960
474
646
552
88
492
740
722
838
420
745
202
765
799
173
806
57
326
925
333
923
110
759
832
772
66
658
289
319
402
746
895
372
464
590
200
988
209
537
853
280
833
850
857
713
397
599
690
283
321
158
6
207
980
877
583
322
367
781
990
911
473
340
903
115
923
232
190
50
926
199
464
640
231
962
850
321
648
968
370
752
604
258
420
696
666
955
258
351
647
611
782
316
198
721
595
608
395
279
978
121
205
100
853
586
507
179
37
692
415
379
604
911
17
699
714
665
426
87
792
427
551
740
575
701
351
827
957
146
797
306
336
490
459
60
695
7
530
458
573
885
289
671
869
968
170
710
654
355
483
992
893
512
96
826
28
499
231
877
169
596
185
338
179
199
327
175
379
465
618
0
176
97
495
864
921
335
287
276
63
942
334
116
286
831
235
604
248
933
477
997
769
698
761
732
130
524
237
726
354
333
354
960
545
310
854
935
862
633
674
137
467
698
256
839
772
199
920
901
334
249
680
44
35
249
657
201
930
919
477
793
62
968
477
505
635
26
350
875
62
734
301
316
495
934
182
782
225
961
845
129
483
697
485
235
19
20
997
967
380
737
802
194
702
686
983
431
412
157
931
382
714
170
963
121
342
147
745
590
82
254
115
558
233
843
830
446
213
704
216
148
476
824
694
728
177
830
821
628
626
250
320
983
561
7
416
833
324
330
545
33
361
356
108
290
604
454
685
807
767
253
342
133
868
339
287
412
878
787
932
461
275
8
767
456
966
56
464
539
169
361
523
71
378
773
307
48
146
281
538
906
644
657
671
86
829
559
931
418
73
711
597
380
605
255
602
689
796
472
908
652
16
342
760
355
471
390
591
601
864
712
187
570
802
135
854
50
284
141
283
387
608
432
247
761
570
629
66
894
13
944
948
53
842
401
134
649
315
598
415
493
408
957
971
615
276
320
895
416
21
183
413
237
888
834
876
118
713
182
957
801
397
234
106
243
348
894
333
824
646
852
518
160
536
101
665
577
219
322
941
289
743
585
97
623
712
653
166
875
626
450
154
873
156
771
535
207
562
825
945
298
140
348
867
145
120
712
60
327
705
577
684
245
34
419
952
419
238
824
837
100
867
603
5
515
43
802
201
45
790
4
360
621
322
152
46
119
770
746
58
380
795
502
336
256
298
957
429
844
187
302
223
45
830
573
416
37
484
446
877
569
533
955
11
982
85
743
735
111
663
321
393
556
234
788
861
293
306
313
481
964
63
416
576
460
172
953
332
241
517
229
107
924
125
226
389
549
350
35
13
123
474
227
667
278
674
522
984
191
65
668
806
117
962
547
378
871
712
137
924
480
697
278
79
793
190
308
859
104
572
924
767
73
630
411
85
289
134
951
91
259
857
213
968
156
912
987
526
278
530
323
280
149
542
167
884
137
173
210
227
46
212
876
103
953
745
613
756
35
190
46
142
292
915
767
616
998
381
381
428
743
670
44
765
115
572
401
303
401
890
328
244
507
270
332
185
120
650
799
553
400
529
776
54
294
759
153
855
645
159
290
602
567
511
975
424
17
689
129
688
972
294
937
111
882
827
441
786
959
281
794
786
679
979
211
599
843
408
586
241
691
64
221
655
795
269
998
569
730
38
597
762
639
711
489
749
198
31
140
113
16
714
298
426
120
84
122
162
910
755
961
297
832
766
124
396
554
824
41
539
293
510
704
626
932
352
221
277
978
308
815
348
644
233
258
494
261
574
556
349
192
941
748
887
25
636
985
600
249
998
134
484
774
79
903
107
735
63
863
322
516
583
497
769
204
622
200
39
284
200
386
759
498
426
984
421
229
598
844
939
120
338
309
446
937
22
744
474
112
802
600
599
758
482
425
926
762
78
510
841
107
683
696
371
975
448
488
389
652
738
628
390
789
502
112
191
272
865
681
562
916
987
961
531
405
756
870
68
499
553
605
540
517
252
218
488
960
425
444
381
41
433
756
400
719
482
744
10
615
134
136
532
731
926
501
660
154
828
472
486
757
826
191
149
827
111
51
70
738
647
520
659
836
105
730
899
781
229
532
365
688
338
702
804
746
202
945
683
71
488
116
442
661
516
818
668
507
279
268
9
747
648
394
461
396
579
40
386
52
174
887
169
236
323
822
941
341
189
233
271
660
233
559
297
100
175
568
807
108
112
631
413
449
293
788
4
249
537
716
521
939
34
356
313
247
578
384
844
357
878
20
265
994
221
558
519
614
936
921
939
533
415
406
30
6
141
101
836
53
50
588
34
748
122
752
304
995
12
485
711
717
606
123
696
752
156
139
982
495
751
389
766
972
945
920
961
969
34
233
623
771
291
666
12
320
300
971
35
894
228
67
551
254
16
805
943
137
824
6
97
724
752
361
481
266
788
237
377
149
706
154
880
294
520
790
825
311
926
641
126
436
221
456
929
981
312
135
71
432
792
656
511
120
928
151
931
429
312
49
197
727
997
283
505
681
365
915
613
384
60
591
894
142
806
988
469
117
430
394
944
863
676
66
306
179
61
622
781
537
481
680
924
480
255
5
632
539
829
404
617
321
26
717
587
170
993
998
18
698
263
870
226
954
298
73
461
133
707
585
619
920
618
36
239
306
376
115
555
203
346
802
594
579
669
931
327
288
916
323
122
636
678
266
268
120
965
758
904
604
474
845
687
578
857
841
570
443
273
593
457
770
186
213
93
272
969
50
674
665
657
805
537
664
772
115
248
9
982
901
62
666
779
356
923
31
528
426
66
449
275
408
265
923
906
468
111
860
476
348
65
328
825
319
586
414
592
368
444
720
516
917
181
649
109
960
348
300
34
224
799
674
551
51
371
792
629
739
814
35
529
102
127
948
716
811
478
384
330
353
142
426
733
535
10
100
739
776
671
970
911
750
322
696
225
357
871
253
891
437
10
269
659
25
998
513
322
67
968
714
487
697
788
455
299
501
572
305
652
386
917
838
549
726
672
661
462
484
208
859
70
972
338
291
750
75
546
990
514
901
347
363
258
931
104
712
637
345
755
732
224
13
373
872
334
408
307
874
539
144
617
859
691
686
68
128
635
450
324
679
353
237
245
236
248
557
528
658
970
112
414
545
273
67
919
71
925
204
130
955
805
878
237
210
816
632
145
451
939
952
949
782
457
635
95
610
438
887
37
90
105
988
790
81
560
123
881
53
164
772
268
786
333
410
660
428
996
822
954
774
542
788
640
450
470
206
111
225
726
87
824
437
484
324
637
843
188
992
405
587
611
297
608
21
53
779
992
53
289
563
215
725
9
341
109
425
815
992
157
391
795
53
393
940
564
230
816
554
56
742
234
546
559
801
876
103
579
150
307
872
686
984
388
167
622
29
278
821
506
989
392
72
638
615
106
896
877
428
773
649
62
270
442
4
285
897
757
157
795
762
642
729
413
20
705
327
62
296
147
216
940
77
615
883
808
6
541
366
847
966
614
805
773
18
404
589
571
705
633
890
870
86
964
447
499
330
811
450
104
665
732
644
481
510
516
557
94
497
4
102
673
958
822
307
693
239
924
376
962
376
836
617
993
344
749
494
71
925
739
940
394
708
108
344
840
590
382
118
453
969
745
822
160
141
978
510
414
328
324
21
504
636
271
778
610
437
632
360
957
590
271
888
151
453
978
6
645
210
703
849
438
347
732
297
373
570
382
769
349
870
851
44
11
398
411
830
272
710
745
528
67
987
388
582
11
176
714
671
465
59
599
435
977
392
586
712
245
695
857
960
328
171
152
904
723
900
41
68
882
940
381
841
937
511
599
80
303
379
134
378
813
468
112
521
1
355
354
408
675
37
843
804
154
335
601
271
599
537
807
456
840
458
488
625
70
908
761
957
18
713
82
948
856
780
637
67
685
220
59
984
435
685
912
464
97
577
562
509
957
875
392
85
629
75
184
829
689
538
374
371
293
656
959
64
315
627
31
464
658
665
787
85
135
64
444
130
204
581
110
164
546
733
750
687
570
107
208
34
30
510
216
110
709
909
909
209
510
931
67
430
140
142
471
825
312
628
252
109
518
626
435
833
460
360
844
280
879
315
995
362
693
507
38
239
976
955
570
995
630
618
701
66
303
167
117
166
522
725
612
247
163
132
644
807
66
252
932
223
501
436
712
181
685
416
982
571
881
161
858
293
170
400
570
35
559
224
899
146
535
947
105
579
150
887
178
362
506
434
171
865
463
798
988
812
294
977
559
779
952
829
572
411
136
788
231
287
87
310
6
195
454
78
184
260
508
82
859
703
423
382
837
683
501
756
395
832
480
247
320
241
285
784
144
379
176
304
144
683
402
70
51
553
903
176
281
705
777
723
147
200
747
99
747
165
768
368
882
653
256
475
937
346
195
227
361
230
560
752
804
196
424
176
660
895
900
409
760
173
845
309
313
774
464
737
370
361
172
365
639
868
68
667
219
699
683
632
954
141
976
627
178
23
168
228
817
959
422
165
727
672
541
655
721
492
136
655
434
433
909
289
174
905
539
435
414
638
729
460
426
253
13
218
826
884
341
119
399
182
102
72
960
964
1
489
542
12
125
570
78
650
223
684
395
571
521
95
69
946
575
26
167
304
719
133
695
80
24
300
696
670
365
798
8
122
489
12
618
851
171
682
372
786
384
655
75
346
435
148
906
109
685
479
837
785
532
581
859
964
401
501
647
808
160
443
632
242
919
397
203
954
921
203
883
46
998
789
312
350
752
214
335
407
231
295
823
277
23
768
342
392
374
71
636
371
131
798
498
873
342
461
780
173
844
621
915
251
596
793
166
314
585
562
802
618
336
219
429
537
473
101
667
768
208
818
558
955
919
129
590
232
191
627
860
671
649
526
929
154
642
493
596
195
538
297
234
376
502
112
537
525
158
705
534
458
669
152
373
572
719
713
414
67
539
707
621
677
405
363
652
415
168
286
236
788
935
55
641
544
272
924
539
257
847
893
752
146
77
127
419
156
90
683
647
594
423
603
993
381
15
560
919
392
531
841
90
975
303
213
65
258
762
653
807
141
791
964
968
811
15
826
412
512
521
90
796
92
289
96
246
367
288
813
189
560
932
808
24
129
825
716
393
967
149
594
4
963
757
887
692
669
691
895
71
63
950
676
411
217
905
757
975
422
871
108
792
341
360
177
763
317
407
816
777
489
102
492
715
889
875
446
329
224
62
913
298
342
647
930
637
227
240
458
341
343
338
941
269
938
772
463
611
212
659
821
583
746
659
855
9
88
149
78
681
803
63
757
518
130
189
891
757
247
108
271
644
754
572
575
431
652
438
252
994
546
376
755
844
417
297
76
229
909
364
848
905
570
855
199
142
895
715
224
947
528
490
553
841
653
288
690
921
167
179
470
812
670
947
62
894
160
238
996
875
577
264
587
704
996
538
221
731
153
603
276
939
274
110
115
918
548
794
633
457
607
307
330
549
163
166
244
285
479
775
627
833
650
834
928
660
607
854
623
992
391
557
126
970
453
928
266
831
859
20
70
412
236
823
604
798
967
540
153
598
909
822
220
818
117
488
675
733
905
517
874
767
286
222
378
331
196
637
719
615
67
144
908
894
520
968
605
71
666
633
739
236
240
975
966
885
482
921
697
145
525
329
215
438
855
833
68
351
731
833
74
767
847
590
452
322
731
13
123
177
42
345
161
446
195
459
505
153
588
687
145
344
64
917
892
256
743
601
402
412
988
610
869
773
940
949
375
100
739
491
408
722
658
276
163
922
930
195
639
590
0
133
256
759
449
504
561
449
74
868
248
126
229
563
208
978
618
636
489
438
909
332
149
588
208
990
633
179
709
761
544
180
388
384
766
420
296
487
375
461
156
802
902
339
354
246
607
982
686
615
802
819
299
475
9
783
557
723
412
840
736
77
517
672
15
611
950
848
427
500
300
848
77
188
631
227
695
299
830
57
405
408
481
340
700
753
10
469
472
893
341
216
903
309
507
251
63
381
832
607
189
130
900
521
197
818
992
991
88
272
293
136
510
331
937
830
351
667
224
347
458
828
706
383
416
514
289
713
397
162
496
159
625
324
704
459
397
684
485
931
821
612
272
867
412
624
459
620
944
468
751
420
573
588
219
364
551
486
949
169
725
131
331
261
443
846
316
887
333
93
864
84
818
183
410
198
611
957
904
692
504
679
367
103
512
491
468
986
421
254
199
500
81
427
106
78
846
665
640
154
382
472
864
757
532
473
894
397
89
747
2
76
521
257
974
372
151
477
438
91
350
455
221
141
135
732
803
908
844
166
276
635
643
481
333
383
244
64
140
531
16
293
969
597
767
556
866
531
971
698
154
942
896
66
11
429
69
551
616
790
741
939
114
808
306
519
489
875
771
786
709
840
672
28
71
521
685
584
437
522
360
762
498
622
187
630
92
204
729
414
54
771
489
540
493
37
574
579
78
408
168
113
42
691
220
668
928
948
110
414
730
890
482
358
123
539
920
913
745
314
107
295
838
262
990
878
547
461
65
827
629
520
715
432
490
7
443
888
831
936
616
722
604
166
492
326
637
653
114
834
708
26
786
883
855
898
539
644
5
252
134
986
678
995
24
87
622
451
735
143
363
626
995
716
230
401
440
892
944
198
493
89
356
621
174
586
192
978
493
224
420
616
441
321
515
67
868
474
413
669
349
585
2
563
485
309
595
151
795
152
514
656
665
436
556
296
214
92
593
492
921
764
355
283
813
207
989
116
146
299
282
34
974
556
41
299
978
56
126
926
354
112
304
567
681
928
716
108
449
99
568
600
306
44
529
162
13
975
22
107
555
617
163
6
142
852
206
301
799
993
602
322
722
467
255
901
450
696
310
521
885
426
374
769
955
278
554
321
809
405
145
297
950
658
576
74
434
204
460
97
589
574
169
314
29
556
121
175
490
462
519
297
729
26
90
322
443
552
653
904
139
459
92
610
170
933
119
138
219
623
897
92
47
356
842
813
15
793
888
499
639
221
823
893
780
400
32
871
171
338
905
722
468
426
309
333
959
901
73
127
557
119
695
100
474
408
732
587
529
355
358
244
392
531
922
838
57
427
370
953
849
339
912
987
79
587
843
460
248
843
738
279
172
580
914
927
604
320
753
364
2
843
115
290
246
127
315
176
547
102
128
321
995
455
745
497
359
611
490
180
618
969
412
308
180
396
693
214
721
594
175
993
327
99
398
368
421
314
427
172
239
835
597
533
244
698
946
561
584
920
815
558
551
879
194
309
988
13
387
140
745
444
805
301
79
969
442
702
856
467
679
855
244
402
546
725
231
216
687
880
703
241
259
976
352
655
150
241
662
393
796
338
901
752
451
987
409
745
76
668
111
957
594
351
704
257
194
612
774
935
118
521
705
346
259
178
190
249
139
997
315
562
185
277
342
186
679
456
516
430
117
261
478
394
915
675
572
918
24
357
973
56
710
349
325
783
749
978
661
813
382
212
846
133
749
126
370
571
454
333
630
871
484
637
772
18
531
110
1
662
134
814
135
64
333
690
495
434
881
966
952
118
43
726
941
193
804
271
242
570
989
841
920
455
815
94
727
16
507
850
460
256
525
819
478
958
704
446
338
133
802
694
901
115
746
695
156
4
784
660
779
513
805
922
37
103
173
233
664
499
312
328
845
84
945
57
38
873
73
990
751
838
76
462
193
385
985
561
31
466
520
152
568
708
994
461
553
962
469
9
183
383
791
391
2
102
701
779
896
875
432
597
998
507
179
607
696
842
160
807
967
824
679
702
37
45
766
427
235
966
508
629
25
536
970
195
530
325
471
454
328
834
565
273
98
293
228
925
625
949
526
126
263
515
408
346
494
112
823
375
159
707
461
606
694
442
926
593
45
305
323
856
394
142
323
513
141
488
424
93
147
115
582
757
361
593
3
616
27
629
674
914
697
607
378
27
255
515
459
312
913
909
284
243
471
885
667
112
118
977
553
705
656
987
771
338
983
756
175
795
656
927
279
391
569
313
610
690
780
250
748
908
339
556
495
522
733
33
160
353
494
432
12
264
528
423
505
451
216
418
555
425
873
396
765
867
340
698
762
758
380
539
597
254
555
461
975
168
400
784
924
208
789
467
124
620
495
654
925
230
195
183
148
238
493
96
67
184
756
224
396
373
791
942
677
541
621
755
50
767
441
228
711
535
531
327
355
338
135
161
657
317
604
344
431
530
716
906
567
773
919
365
606
864
618
224
403
375
38
329
705
166
939
903
736
985
887
690
890
37
531
263
466
955
824
751
792
740
822
804
799
17
863
464
139
590
349
128
870
723
539
716
252
823
75
562
558
314
452
822
344
17
22
43
18
378
540
619
897
777
242
147
394
167
126
733
609
43
994
669
656
582
112
627
767
342
735
176
967
445
206
557
883
285
349
269
313
475
170
734
865
164
635
712
193
986
287
997
124
621
662
325
882
400
110
951
570
407
132
410
127
245
933
962
35
18
612
721
780
426
583
680
822
235
968
669
168
580
943
708
740
10
587
354
980
126
97
414
691
57
773
787
935
474
625
430
148
53
779
707
969
945
110
790
385
417
797
509
447
502
21
472
638
473
228
414
928
694
877
661
533
985
737
377
543
453
849
309
521
427
71
905
79
516
917
95
456
886
224
278
149
701
707
929
330
92
573
891
661
637
840
295
753
345
867
139
782
40
392
135
613
949
22
19
19
690
216
971
596
257
16
770
112
210
589
434
896
876
371
514
710
755
673
290
764
35
964
634
34
71
879
978
862
560
925
125
622
4
214
335
921
674
655
870
47
147
226
18
782
900
193
978
37
943
192
95
62
579
305
328
381
211
540
110
950
864
905
570
109
403
164
364
791
673
681
882
724
960
141
406
464
724
618
145
612
384
649
882
836
949
903
574
367
772
820
168
730
856
963
917
521
904
17
755
921
942
219
499
88
981
643
388
42
910
464
602
677
586
925
107
613
303
429
981
716
44
919
497
801
656
975
661
672
91
130
734
361
169
839
691
484
450
438
187
433
331
463
560
231
59
684
541
331
995
830
531
443
401
733
30
217
346
78
270
710
369
947
150
345
590
457
873
428
250
180
833
830
929
15
273
605
965
483
678
24
387
351
598
851
830
514
223
395
675
140
564
771
21
689
113
240
231
500
221
344
836
946
344
335
128
171
974
257
215
122
857
139
364
299
543
437
356
748
260
561
781
910
244
606
743
106
428
340
904
837
530
116
262
991
592
377
130
765
937
796
73
513
60
548
277
603
625
42
765
371
330
762
758
776
122
151
404
714
234
298
311
658
970
82
288
503
706
36
53
67
932
988
912
738
815
601
222
926
211
424
485
955
580
404
977
119
29
404
303
423
357
658
399
284
828
891
39
493
995
863
748
432
779
598
549
818
151
790
448
163
2
344
12
750
317
277
978
992
843
306
685
515
418
666
693
573
542
402
970
435
443
275
683
590
366
141
822
153
864
984
356
70
110
733
942
365
236
405
559
437
181
335
372
627
743
691
623
916
299
984
573
47
424
103
927
947
848
794
302
713
740
844
21
651
858
127
399
399
504
800
52
397
864
879
939
451
506
520
695
245
707
403
428
280
6
92
309
765
460
583
15
54
717
958
969
54
725
512
452
87
441
26
673
273
419
554
488
566
548
313
179
154
441
231
97
882
145
785
589
437
808
104
723
134
341
558
930
898
658
609
458
73
657
179
590
356
936
803
536
710
642
847
643
450
14
415
608
328
181
911
972
378
349
47
806
106
976
607
688
744
790
78
654
186
513
231
776
101
27
798
697
151
915
420
290
66
78
648
189
962
316
618
503
349
302
958
435
749
969
851
590
806
748
408
811
337
264
144
395
378
690
31
115
70
484
650
494
152
376
736
594
618
102
930
983
640
189
412
531
7
292
18
633
880
815
775
755
607
99
962
466
769
285
697
988
935
622
34
884
40
472
687
963
848
786
255
648
370
70
513
575
513
801
363
162
167
965
396
954
106
644
109
285
706
630
848
863
586
189
596
336
568
852
632
886
341
365
690
26
855
400
344
858
732
720
154
194
415
516
21
451
446
267
765
511
108
472
760
382
25
986
332
962
652
813
359
512
961
890
810
480
880
820
527
402
814
513
757
809
84
178
976
863
947
886
547
516
992
815
223
281
400
430
544
930
973
218
353
21
41
871
682
937
634
553
475
248
773
227
150
39
976
735
129
9
964
499
450
547
194
789
129
393
828
569
64
748
501
563
369
456
252
980
96
156
63
528
148
712
778
370
189
278
422
928
723
239
23
263
698
627
305
620
396
619
813
64
92
218
107
872
991
699
60
125
307
870
840
162
278
561
253
961
566
671
178
356
191
678
287
412
862
65
969
101
376
892
786
618
18
994
535
282
640
380
597
654
578
724
388
438
635
808
212
31
695
147
981
702
271
452
207
29
66
487
990
435
278
260
80
118
805
409
747
612
681
169
552
273
725
655
512
384
513
186
759
5
682
169
867
874
334
576
481
823
844
560
127
176
635
873
670
437
517
318
518
254
546
796
485
781
176
529
870
755
445
14
940
253
858
950
355
668
501
369
852
987
809
330
95
748
130
355
827
109
758
611
507
855
853
402
682
906
578
570
699
613
601
386
485
264
762
808
532
629
748
345
761
684
920
101
192
12
957
18
645
422
665
698
635
492
944
469
610
859
812
93
979
260
427
970
251
389
161
692
545
686
200
878
130
198
345
221
124
349
685
89
426
24
543
833
668
654
528
849
731
619
811
619
427
155
701
403
326
760
110
338
877
249
227
746
70
616
389
136
587
338
855
386
214
225
149
235
82
958
484
72
477
412
542
354
21
256
362
595
142
853
241
945
145
534
905
581
566
275
943
376
232
492
676
828
368
22
525
172
479
381
933
495
536
696
40
532
126
105
772
632
730
25
265
765
631
304
411
68
593
871
970
175
695
568
387
854
350
134
603
616
167
909
198
505
673
911
571
375
691
863
692
133
195
369
797
925
216
368
512
201
784
301
161
858
71
681
551
848
932
386
6
246
326
521
637
537
724
140
224
837
758
310
516
582
851
877
328
932
778
184
83
772
610
15
425
89
991
820
969
864
147
148
260
969
716
362
508
779
972
601
656
658
590
144
716
827
200
639
426
283
407
892
190
55
896
212
892
313
66
41
556
345
201
725
37
351
11
4
62
662
431
177
926
672
102
54
584
501
362
905
795
522
116
468
797
411
249
270
651
822
996
609
47
465
919
479
152
133
592
74
681
380
107
460
916
989
986
750
970
122
720
177
220
34
655
518
269
874
670
729
441
171
481
675
9
25
717
64
263
446
961
403
84
907
719
884
389
681
950
922
149
277
420
427
32
660
634
285
801
164
793
767
883
748
447
927
666
394
101
418
547
799
885
959
542
611
246
743
625
752
688
290
624
159
95
57
959
989
686
978
265
558
775
407
347
781
274
571
25
300
366
634
306
933
465
317
823
381
860
723
378
492
271
761
858
773
951
771
89
409
400
203
170
352
244
829
679
322
505
205
579
248
768
337
744
672
713
416
886
7
806
373
162
906
30
266
17
10
101
149
793
41
390
901
455
964
752
300
497
837
975
834
829
929
499
128
53
984
882
680
971
116
168
897
315
223
178
231
277
164
762
843
474
82
235
690
838
405
149
817
502
661
236
316
888
137
351
219
519
85
162
894
997
993
922
646
144
734
825
180
105
288
776
577
316
732
570
624
613
110
689
558
476
747
568
249
272
452
535
400
670
698
611
491
864
495
3
470
864
938
237
560
107
549
188
303
481
295
793
377
848
802
490
93
950
527
887
90
442
836
489
760
744
47
654
562
311
610
954
864
792
880
470
551
370
975
296
206
834
990
996
443
790
194
407
396
697
675
404
631
408
40
903
415
112
772
62
642
533
55
118
799
349
432
605
36
566
734
704
378
95
135
316
126
823
991
411
640
156
778
289
919
248
934
781
63
838
126
840
334
270
891
304
742
370
456
677
284
554
155
221
699
211
229
693
717
224
20
850
559
76
20
635
299
747
790
238
292
770
390
50
410
373
738
926
850
81
298
377
669
136
798
159
91
49
970
317
504
595
418
470
843
382
461
426
835
487
673
916
679
651
654
879
907
848
266
997
229
124
83
625
307
483
659
100
942
165
273
654
650
725
962
689
65
626
501
886
197
762
22
275
552
901
526
618
459
337
506
228
465
583
310
759
992
967
252
773
568
399
419
90
519
981
631
471
249
744
317
515
493
516
937
990
371
668
962
634
394
154
128
797
323
744
279
990
950
85
456
309
369
541
141
354
85
151
515
790
879
897
636
613
246
100
408
54
795
721
723
651
956
317
150
7
840
930
28
902
374
59
610
998
916
558
839
430
948
302
684
530
322
846
795
807
458
967
103
927
106
864
240
747
120
595
789
230
792
455
60
230
953
309
238
390
810
726
727
266
322
989
117
53
968
88
126
836
190
423
978
451
742
629
233
364
999
251
162
381
615
426
305
738
534
660
386
812
192
224
267
100
967
973
392
340
644
233
475
71
671
449
520
941
887
80
670
441
591
647
256
398
141
767
932
924
748
305
471
781
260
534
861
98
369
218
787
623
810
576
573
790
308
702
109
977
994
198
90
434
459
672
741
935
88
676
639
811
815
556
344
677
990
755
831
29
882
300
474
57
40
326
992
667
200
852
719
317
12
533
141
243
118
83
352
664
781
103
957
416
304
736
171
903
920
613
753
636
267
595
949
504
999
127
317
720
233
861
238
402
276
448
616
445
688
357
460
391
969
611
270
596
467
779
221
23
960
108
597
404
201
439
850
879
792
811
731
666
987
773
955
663
474
320
780
910
265
193
186
92
914
304
181
162
64
809
505
989
772
146
926
60
358
807
489
528
161
438
547
973
881
447
615
646
186
973
788
813
493
895
931
533
289
533
651
812
773
728
924
174
833
531
941
692
306
868
953
346
895
451
671
962
224
538
580
855
441
155
244
748
76
927
848
331
11
442
333
42
507
534
72
284
186
810
913
153
555
20
808
375
658
816
35
320
74
999
631
25
645
493
237
592
786
157
982
282
93
772
89
270
477
266
353
896
41
551
316
573
896
949
889
298
295
7
772
506
207
42
370
951
425
468
848
600
889
58
234
347
501
589
20
686
313
604
553
219
699
182
579
520
440
676
859
725
842
92
362
168
23
531
731
384
277
479
208
314
76
646
814
942
660
71
988
904
639
268
602
475
164
750
573
618
121
487
19
687
470
282
867
357
981
826
950
872
781
105
874
541
509
347
339
884
211
847
355
811
71
92
149
948
39
566
665
280
596
35
488
338
463
727
846
816
937
729
374
588
454
973
534
510
521
91
276
796
312
8
298
286
635
324
173
741
441
150
981
597
989
972
352
69
959
380
554
971
111
384
450
930
957
641
859
651
104
640
737
995
830
614
200
144
420
80
493
365
48
270
723
637
133
23
975
825
356
92
877
883
96
179
528
201
85
949
795
40
967
543
425
262
806
244
813
482
257
860
656
974
218
677
994
730
757
765
81
379
206
271
214
824
338
768
498
821
871
453
478
553
335
544
670
745
775
692
739
92
9
662
477
429
88
50
210
786
234
275
81
655
593
875
836
527
277
307
500
218
187
629
753
881
437
541
904
304
92
417
352
367
743
979
784
464
78
8
972
265
509
250
426
652
478
422
608
674
196
723
261
296
198
575
961
330
184
576
560
273
281
561
861
126
629
872
196
82
216
596
394
549
642
353
888
134
980
401
169
794
962
45
772
458
349
802
836
97
155
921
29
111
463
798
721
950
980
574
797
921
19
224
943
560
29
283
886
77
675
743
934
759
607
100
239
316
245
838
729
11
37
689
619
329
236
85
142
725
145
206
170
863
105
383
947
18
200
895
125
734
326
0
330
836
730
754
33
952
954
409
134
111
823
729
479
764
772
50
554
900
573
381
317
864
823
542
877
502
607
455
39
763
792
956
186
679
619
728
815
89
738
137
3
96
36
301
536
652
880
311
243
924
453
992
638
957
177
280
490
821
398
576
366
207
85
221
417
722
151
204
577
189
662
246
128
535
818
164
15
683
46
378
770
649
837
490
260
125
594
56
791
901
570
155
577
240
465
73
58
521
380
83
476
370
615
532
151
150
472
205
711
436
695
35
756
366
636
518
813
870
349
201
171
290
78
494
82
310
700
600
575
737
158
723
381
615
53
650
959
918
541
925
305
641
808
284
222
413
478
157
307
579
719
822
902
390
767
52
504
215
276
162
354
630
766
8
942
959
60
358
991
75
30
875
880
545
211
306
262
256
414
599
128
369
769
1
397
99
432
615
318
173
604
280
183
563
832
770
724
338
724
820
752
887
341
791
807
369
711
814
993
557
259
323
184
669
136
773
491
550
478
819
53
913
794
358
697
215
442
552
319
448
756
623
119
57
665
499
319
63
709
601
132
824
601
481
219
418
725
63
397
926
551
427
302
929
845
26
237
752
195
885
169
587
629
831
351
816
452
769
88
242
947
749
37
209
871
621
990
251
143
168
762
259
190
232
269
53
13
382
956
219
317
39
120
780
336
338
538
371
638
507
200
521
546
819
241
721
445
551
455
684
5
386
498
943
60
175
267
717
977
821
495
477
218
326
383
211
755
969
244
359
422
997
473
122
656
224
189
946
115
715
840
276
769
689
184
116
595
699
302
679
616
800
872
413
809
911
322
936
497
239
570
716
784
622
519
942
74
82
214
107
621
177
473
833
237
534
832
168
777
379
973
118
36
589
1
710
514
233
8
89
22
562
275
290
752
480
629
457
843
233
434
72
711
363
789
723
710
667
400
441
791
108
955
816
822
823
669
608
395
784
453
540
622
952
2
463
858
870
833
153
758
590
967
408
517
992
41
344
771
529
875
356
235
97
241
303
993
218
233
210
366
511
358
903
426
476
961
140
825
732
167
317
306
340
450
937
972
217
687
849
125
183
982
827
459
622
92
99
540
56
31
913
611
881
70
220
896
269
29
933
491
816
248
693
179
632
40
268
640
580
581
344
998
756
658
804
441
775
630
240
496
230
497
957
291
242
85
724
426
846
626
523
833
954
618
814
704
771
988
382
750
982
972
590
711
478
466
281
679
838
439
777
877
872
633
440
412
430
146
244
606
303
690
121
347
683
133
447
989
998
12
554
122
307
674
206
753
395
579
58
789
530
648
924
554
849
428
90
806
610
805
433
139
159
365
977
465
512
597
464
870
865
415
34
342
763
295
704
200
47
617
641
992
186
149
851
944
521
470
465
708
720
954
738
74
178
484
560
31
327
36
609
810
581
165
286
599
431
725
766
258
237
118
113
23
983
868
594
487
786
823
102
996
842
906
860
616
319
776
312
780
284
725
27
340
737
436
364
88
298
248
682
931
268
666
121
114
949
170
362
156
243
267
112
656
430
522
633
272
481
131
255
772
360
872
686
542
79
395
752
142
618
649
386
703
691
866
625
913
220
293
572
950
41
179
135
154
80
903
815
527
277
319
280
559
352
473
323
307
537
962
481
528
472
376
696
279
808
679
991
241
989
714
707
333
9
557
619
375
369
905
44
731
478
170
151
648
937
511
276
535
630
30
18
58
532
513
331
0
568
269
719
272
300
343
235
666
315
905
456
947
939
318
831
558
675
399
685
526
828
516
94
908
529
865
317
829
483
968
133
436
962
571
753
569
722
65
662
784
885
946
228
653
800
700
736
917
199
34
331
732
771
296
671
610
447
584
319
229
378
555
188
591
829
986
48
968
46
524
423
248
503
38
694
541
731
165
743
912
904
787
796
152
648
81
632
945
28
136
51
968
203
955
334
152
803
58
518
922
574
299
924
254
156
126
714
843
243
531
136
552
135
451
65
947
896
958
346
980
261
327
437
511
289
561
275
378
359
931
429
250
379
610
357
989
19
565
687
495
444
926
558
628
510
337
672
17
31
115
284
815
277
657
657
736
167
283
710
266
165
40
425
89
110
723
317
573
145
170
484
627
18
438
368
261
794
290
353
556
319
168
907
326
367
554
387
134
54
495
601
968
878
372
646
193
792
671
61
929
893
142
214
771
219
341
871
377
133
132
967
827
787
18
735
399
445
298
57
516
385
554
398
30
344
494
40
762
134
316
79
951
188
493
5
14
437
707
239
347
549
97
636
818
751
960
186
618
956
907
16
120
178
417
859
978
186
869
741
686
318
22
813
711
478
148
256
132
973
803
109
117
191
967
353
615
396
545
31
375
168
397
120
271
656
733
381
879
320
722
824
961
410
918
664
712
80
259
384
673
508
801
802
38
311
681
719
362
335
725
355
95
877
165
387
403
122
714
135
548
926
483
329
152
106
125
390
670
287
278
813
410
855
187
534
3
365
459
981
734
117
466
10
356
400
424
386
409
775
67
969
13
977
384
887
686
684
910
72
242
46
194
879
390
784
638
473
483
662
322
896
682
862
304
194
631
442
915
971
26
677
799
645
924
178
557
397
289
589
261
405
502
298
831
541
390
338
802
998
822
91
162
437
226
258
428
519
588
311
106
260
693
684
243
329
930
844
615
980
508
460
821
565
666
428
811
79
880
735
745
516
951
873
587
55
264
354
494
355
452
785
581
452
291
271
106
172
440
529
696
363
960
816
35
638
662
157
337
443
964
115
845
622
295
789
532
940
816
415
20
49
826
326
138
410
774
664
37
556
987
708
974
612
132
200
124
598
820
938
705
634
645
975
331
251
143
455
596
715
148
354
137
594
631
920
228
388
709
271
837
23
377
840
199
132
177
717
320
870
679
648
155
860
247
525
217
507
231
743
665
653
259
804
965
226
988
485
313
436
271
159
224
76
879
379
457
988
224
314
728
533
233
291
484
390
558
189
575
559
65
826
538
214
626
778
20
82
129
759
270
497
538
402
704
54
900
399
488
339
763
215
582
51
891
919
898
429
631
366
746
885
816
859
62
903
723
415
488
347
782
398
306
8
87
720
598
36
811
579
701
133
133
555
693
530
997
23
326
696
931
569
283
963
511
883
87
937
47
429
211
627
534
351
180
502
222
834
366
82
66
916
970
547
627
46
22
497
82
578
511
65
445
715
54
960
440
342
270
329
529
981
867
438
408
806
810
94
385
609
841
666
996
431
870
118
708
916
258
767
954
426
629
656
770
246
528
924
434
345
234
652
348
580
8
500
181
693
233
41
953
685
275
994
314
27
417
228
531
61
756
272
394
241
268
723
410
840
955
134
208
473
160
665
204
636
634
840
344
234
625
694
136
480
199
472
34
373
686
591
785
115
359
528
120
630
827
274
72
927
437
561
386
795
377
86
159
118
816
674
728
959
767
907
27
499
24
684
747
207
500
655
518
729
660
886
873
686
337
374
688
664
924
667
871
725
332
241
562
3
955
325
546
740
21
110
860
682
653
79
933
942
120
158
634
697
418
233
974
381
663
974
549
408
601
811
576
561
32
703
774
255
493
858
853
897
532
438
779
724
172
969
528
494
900
211
236
686
162
439
603
605
462
887
478
685
762
218
638
875
576
673
408
461
206
369
70
792
731
814
133
999
312
687
847
565
396
526
390
796
962
807
400
125
857
663
855
704
455
195
135
485
703
172
926
839
776
535
298
189
488
736
111
30
363
753
829
187
653
580
827
67
940
946
751
276
918
774
358
771
667
235
159
975
883
79
540
784
161
945
545
70
249
560
151
165
781
902
980
398
607
93
95
696
441
376
452
325
105
461
572
614
893
27
179
362
672
810
902
678
615
390
388
652
177
11
726
783
880
388
438
863
133
782
618
116
38
220
366
333
760
710
142
915
521
571
476
563
930
788
13
134
443
84
728
367
36
108
429
635
850
994
577
187
123
392
854
304
487
985
583
414
373
441
218
439
159
922
159
559
831
695
197
864
898
302
194
968
811
987
50
177
351
215
665
357
867
864
644
696
634
843
617
503
68
440
227
538
678
49
394
229
190
35
598
784
142
162
175
741
832
127
5
790
702
94
828
956
653
177
78
671
440
771
927
632
860
0
720
512
926
331
256
130
375
949
717
311
561
679
156
689
566
856
33
214
244
753
804
883
57
192
862
325
321
259
773
175
385
854
307
119
634
224
817
807
625
732
685
713
89
550
642
231
764
867
884
346
56
263
251
969
382
360
638
308
882
287
798
681
952
811
386
415
27
241
989
61
815
581
358
0
104
578
479
291
766
433
544
674
305
423
340
935
778
527
892
23
660
485
618
208
702
881
867
730
477
432
470
251
961
303
211
873
758
666
22
773
898
357
360
335
938
579
928
552
335
806
460
597
99
462
162
834
128
229
328
480
937
127
78
377
664
163
201
52
376
131
241
93
709
940
608
316
569
798
213
717
400
525
896
706
896
276
98
437
129
651
401
308
225
507
419
91
451
39
899
80
761
713
867
164
689
747
532
960
252
498
875
651
317
247
564
631
988
53
199
527
92
204
745
934
241
168
995
462
571
478
53
374
130
297
676
565
254
152
268
514
594
119
591
992
302
749
391
46
426
260
96
344
710
601
782
22
262
195
60
862
33
198
745
709
596
275
206
137
528
362
260
519
539
863
99
748
622
606
559
112
262
52
22
10
925
995
565
955
466
595
88
143
740
604
763
993
7
51
100
711
556
106
561
160
590
888
374
310
984
763
473
357
196
72
631
197
250
831
38
259
379
386
671
895
428
135
474
669
641
690
502
591
186
338
215
286
587
319
228
75
660
94
529
808
33
616
293
93
248
951
258
271
93
311
35
515
628
129
341
825
832
457
572
817
919
527
772
484
876
317
881
229
931
329
847
737
651
955
201
269
531
670
79
925
158
695
262
642
878
367
294
908
705
472
743
895
205
606
811
544
233
549
958
479
43
478
888
267
171
659
214
872
447
780
26
146
469
82
177
760
474
959
155
93
29
60
527
108
648
487
455
815
297
25
383
700
886
735
626
696
38
465
296
248
545
745
652
152
456
112
673
608
231
591
28
438
436
207
262
280
801
501
120
862
897
582
869
55
840
15
294
644
603
743
466
983
816
679
772
920
4
63
87
982
737
593
996
726
192
850
579
646
954
573
625
434
1
527
923
458
487
963
871
476
340
975
0
373
502
903
914
356
158
811
495
996
904
643
148
80
228
483
479
226
153
774
984
30
891
330
988
251
192
740
787
526
578
30
629
883
520
829
531
97
440
177
850
610
781
339
447
186
924
837
817
871
442
419
719
77
689
612
480
947
155
11
721
702
940
284
452
557
647
118
459
578
429
567
657
687
676
899
156
997
833
762
796
200
887
245
323
534
825
182
571
336
399
961
361
518
343
157
28
445
567
505
895
850
673
659
812
143
591
799
437
615
530
102
297
20
587
310
260
264
38
211
732
58
850
208
285
202
971
835
889
713
900
193
72
613
412
279
9
404
888
464
562
19
173
728
931
154
594
125
641
52
568
224
5
983
178
882
836
93
110
27
175
236
521
794
151
694
184
2
14
337
781
293
220
133
540
415
405
754
61
201
903
539
678
248
854
221
599
429
163
292
865
333
345
316
512
95
540
215
949
268
268
643
951
757
10
431
642
202
246
731
635
403
67
706
843
885
449
45
823
114
745
700
176
761
654
239
678
778
915
125
508
531
771
978
432
582
801
569
607
767
708
241
203
927
362
507
673
850
89
836
73
882
860
652
359
685
886
54
327
51
933
648
713
304
77
839
249
941
508
810
693
271
600
409
389
809
2
198
376
335
83
627
48
124
493
845
878
205
170
708
375
199
151
687
794
225
285
57
944
41
176
138
493
470
501
757
66
67
842
520
614
700
980
876
345
795
328
882
578
914
284
767
696
154
116
479
519
64
627
463
884
469
555
339
371
416
669
813
928
393
514
482
626
235
683
800
575
609
494
365
395
468
728
823
775
426
687
554
63
183
316
932
227
340
2
165
545
742
669
31
593
247
310
467
92
690
697
586
88
596
681
199
974
65
81
506
141
130
61
549
395
67
197
527
821
833
496
246
141
580
367
844
826
270
543
484
741
231
842
151
605
697
35
283
58
48
946
105
432
919
304
349
204
227
931
844
98
474
923
762
560
114
922
565
828
912
707
165
615
975
761
735
460
78
139
816
208
629
868
849
180
894
5
498
909
738
249
7
584
357
360
295
642
346
345
429
607
545
737
984
477
48
81
750
351
42
240
923
399
420
457
266
510
712
290
455
967
665
277
199
914
394
177
155
560
896
821
808
837
131
608
408
870
198
211
305
974
760
92
912
276
349
797
187
393
16
31
98
532
213
976
260
256
159
288
232
437
165
83
810
714
463
71
2
225
666
102
638
127
680
198
469
432
10
851
101
604
362
846
635
792
676
526
955
753
162
751
943
621
238
613
706
895
789
976
300
520
331
221
908
979
455
501
19
368
900
19
772
120
599
105
770
410
198
366
543
530
665
411
930
106
683
486
824
79
827
127
825
533
811
273
789
677
763
917
202
168
456
33
696
436
932
801
428
42
18
860
784
581
570
234
75
206
895
400
990
62
463
134
819
49
38
961
275
815
215
623
433
653
459
112
883
844
418
970
315
653
71
424
707
471
358
613
939
384
889
79
728
621
945
429
909
798
933
432
558
679
704
830
607
781
380
1
975
328
546
835
933
27
200
389
242
579
641
849
171
525
689
448
216
196
579
75
677
581
207
761
785
367
639
299
148
539
693
69
675
27
491
362
47
582
247
461
242
192
317
41
252
457
564
670
233
556
364
558
487
280
827
669
48
545
391
586
227
560
990
154
384
417
735
293
460
694
54
246
931
540
384
784
269
576
577
553
197
670
194
898
325
221
421
742
703
793
155
431
233
723
37
574
558
504
165
259
184
167
905
818
261
508
410
258
515
925
447
898
673
785
241
665
679
889
305
518
14
674
855
801
700
359
648
135
658
518
72
441
915
810
139
326
410
322
722
11
11
390
423
131
674
206
540
16
427
852
469
207
587
366
438
534
773
155
676
383
414
415
651
259
569
806
527
41
718
728
395
279
890
624
148
798
701
330
78
635
342
51
584
973
505
244
113
335
951
405
392
429
285
359
330
247
121
804
398
937
795
124
461
465
757
218
29
160
91
314
109
990
421
970
512
271
353
643
85
855
895
150
582
936
341
255
666
691
291
506
832
341
373
584
85
674
583
58
977
938
780
424
566
909
991
211
839
397
27
641
549
702
115
436
711
389
259
409
753
734
109
372
239
989
135
36
102
818
464
462
621
414
316
928
126
451
339
572
332
757
300
288
458
708
768
851
163
654
39
110
910
31
524
588
39
102
300
459
604
603
891
820
141
898
487
185
400
721
686
399
549
267
14
242
839
642
375
906
847
134
183
683
380
909
874
221
606
327
999
487
330
124
978
627
278
766
192
786
748
978
319
854
477
999
916
905
999
2
391
248
914
855
961
296
925
184
742
702
520
944
870
850
721
420
917
529
42
993
626
961
695
834
288
742
836
488
739
35
95
682
997
80
589
819
145
494
806
161
657
286
16
219
91
652
925
785
582
835
490
582
507
674
467
386
801
665
201
951
824
441
620
642
978
586
432
806
710
2
773
446
412
98
144
509
239
223
352
813
882
904
571
874
134
294
415
335
52
228
110
528
158
959
198
224
177
34
137
885
509
426
967
695
275
8
330
543
511
268
54
553
808
750
865
585
591
728
521
808
563
858
411
455
97
285
229
352
347
218
345
271
855
567
467
568
511
119
258
334
390
289
423
82
642
12
616
9
995
555
976
534
548
974
631
999
822
508
864
133
705
512
911
335
478
531
639
882
614
353
980
394
641
531
250
871
812
193
547
556
188
4
304
89
97
60
269
711
452
751
663
970
61
286
801
312
34
914
151
799
946
904
611
940
536
506
421
108
927
322
708
14
875
967
319
852
504
18
441
33
763
226
183
988
750
468
806
679
848
985
43
827
320
626
225
693
903
323
883
933
10
127
172
154
275
23
181
523
98
471
124
35
77
62
804
125
970
181
680
971
58
879
713
865
963
425
946
594
928
718
498
160
274
719
228
720
284
172
273
450
692
269
529
333
694
935
819
209
486
135
619
222
132
839
891
464
179
657
969
339
112
247
243
669
950
38
383
880
27
134
96
44
109
381
185
888
77
769
134
240
68
858
915
389
351
622
991
638
943
704
349
413
155
446
598
438
995
774
785
364
226
722
336
133
806
527
532
76
903
578
907
863
834
987
198
316
165
622
535
671
651
31
369
455
578
187
36
162
268
626
344
217
84
934
861
405
305
644
523
649
915
740
223
23
30
30
440
834
515
580
33
710
745
965
729
329
985
699
103
165
693
817
290
0
946
876
705
257
558
926
121
724
603
352
396
138
144
46
660
322
8
532
726
460
249
709
893
565
559
833
72
853
39
182
69
162
101
261
683
947
888
803
164
11
216
566
201
192
97
131
292
36
403
554
498
996
271
792
665
723
743
286
182
306
586
931
443
254
128
500
43
777
694
393
826
405
824
751
393
23
156
36
801
160
571
301
272
795
216
270
402
937
808
840
999
253
533
23
374
909
718
514
121
112
296
517
940
245
650
668
196
435
867
203
642
199
799
221
131
883
860
75
341
918
976
594
330
153
925
157
771
870
714
986
224
506
688
180
972
831
658
538
872
302
404
189
832
100
52
919
780
37
363
304
460
165
926
370
283
288
615
694
767
528
791
1
813
549
712
89
631
545
423
604
972
193
93
151
140
474
365
675
638
31
118
171
414
596
156
56
427
427
628
329
57
744
137
507
970
658
846
955
29
369
535
690
606
116
407
851
336
883
340
424
627
442
564
385
278
418
205
32
179
516
885
488
72
323
382
449
985
686
97
650
212
184
221
634
477
701
688
730
466
784
121
98
177
739
951
275
614
480
724
447
955
661
596
457
782
989
587
815
970
179
926
167
23
613
391
239
978
592
373
296
152
192
347
991
108
226
445
257
851
453
532
468
83
8
861
970
141
564
233
629
774
637
453
25
734
51
629
657
507
839
416
126
294
477
62
493
826
263
786
885
991
545
453
633
921
456
51
337
924
138
139
998
341
948
914
603
397
10
607
985
736
469
302
248
310
994
126
798
237
847
246
885
130
405
874
890
732
456
634
128
468
768
325
138
656
76
595
657
646
461
287
613
644
611
709
318
179
908
933
590
192
34
704
145
256
387
669
424
517
755
543
240
85
558
307
505
777
18
458
140
451
896
781
513
93
516
875
11
392
349
86
66
660
356
502
626
665
99
628
996
947
259
926
667
106
853
111
832
115
121
122
290
54
801
849
743
552
15
147
214
320
378
162
169
862
674
624
912
321
140
964
167
335
556
526
289
319
399
79
733
650
175
322
140
522
891
48
119
429
311
318
911
89
198
785
906
402
858
443
201
221
891
102
599
299
440
82
585
889
756
178
398
496
658
631
818
1
574
574
752
917
266
493
797
630
963
493
226
249
798
276
841
570
698
728
58
742
177
438
14
824
727
107
986
581
717
917
693
55
116
878
639
196
795
579
69
562
333
201
129
850
45
97
443
700
814
652
285
31
203
175
227
11
381
738
234
640
292
938
321
3
198
280
395
694
244
474
300
836
617
232
778
422
879
561
957
549
321
915
421
662
782
927
435
848
618
211
269
224
984
659
469
879
644
499
375
53
554
862
231
525
742
89
417
11
861
100
192
390
199
591
702
471
302
477
808
820
762
537
919
125
883
224
181
882
137
928
640
988
582
653
728
234
467
459
633
865
878
581
172
469
437
494
269
93
869
135
673
121
194
963
262
914
367
829
848
379
693
623
814
155
558
135
861
940
492
373
928
679
198
723
683
755
9
900
890
162
58
319
126
257
858
531
322
154
507
504
174
611
173
94
820
630
379
542
514
643
851
828
142
850
177
18
752
398
965
430
281
56
348
951
847
615
773
162
193
775
225
454
187
382
411
493
370
239
299
521
724
547
239
352
339
335
427
903
772
438
277
800
112
128
943
256
714
314
234
441
680
871
186
642
561
696
358
501
290
382
105
550
337
317
439
5
643
695
883
636
555
901
456
131
330
722
944
296
959
346
277
683
254
439
754
759
210
576
704
460
146
22
856
956
418
551
614
785
28
771
738
703
570
666
381
376
860
695
536
380
668
302
554
977
780
923
673
214
272
409
314
536
408
186
905
625
33
215
218
179
263
604
431
807
874
44
593
859
900
533
684
185
402
747
121
466
134
869
894
237
734
731
10
235
99
842
473
457
158
379
288
612
225
898
855
351
932
204
888
792
729
204
359
693
502
943
994
490
685
612
323
23
706
169
932
359
740
206
746
670
492
986
868
715
871
862
272
796
860
919
405
472
379
113
501
540
341
659
184
927
272
980
255
729
504
160
218
287
97
176
361
503
157
857
351
152
106
273
559
104
601
306
487
789
637
523
766
403
846
556
102
151
391
623
882
895
315
237
188
715
39
553
842
883
617
883
376
841
229
820
698
463
718
212
469
932
773
168
849
7
583
372
513
446
730
329
523
749
542
498
644
329
979
744
96
459
448
127
225
767
206
848
58
233
234
732
480
468
577
21
871
593
260
803
878
439
614
673
773
945
416
786
449
182
179
266
85
317
634
931
908
728
0
658
35
423
937
73
823
675
897
819
453
754
786
640
115
226
658
579
378
314
686
786
765
941
304
189
903
1
383
681
268
141
367
141
704
726
890
557
858
328
924
398
640
225
765
260
582
686
452
276
344
52
410
260
610
612
337
763
703
755
270
675
25
225
517
456
927
80
118
968
437
894
491
404
336
39
257
152
803
300
967
117
69
599
90
983
978
976
865
820
948
439
363
690
146
519
656
452
685
985
246
935
850
501
380
392
399
16
100
188
971
891
156
762
480
191
22
951
160
956
428
14
169
855
698
167
704
834
993
114
772
698
501
788
357
59
895
164
823
960
601
358
679
659
631
323
207
601
624
926
940
378
197
811
983
129
313
588
75
791
166
159
362
390
21
706
325
724
293
684
358
765
958
831
295
361
540
436
538
168
364
683
312
182
823
821
385
946
595
777
147
314
716
488
581
216
902
91
495
634
414
477
911
755
379
201
418
855
854
696
913
126
988
572
549
393
486
977
386
975
375
229
737
638
146
426
541
769
975
576
574
627
642
582
533
32
676
457
785
453
905
757
900
317
302
303
40
327
335
406
105
764
357
162
978
282
444
492
501
331
290
850
75
429
485
696
877
126
594
951
307
237
972
144
136
738
402
705
324
955
941
421
935
135
155
917
250
540
948
479
87
616
525
269
809
739
941
399
491
932
918
132
66
492
668
973
889
408
594
270
589
118
309
694
367
113
392
401
136
346
45
998
680
782
178
65
61
6
96
636
44
390
702
241
309
465
747
883
859
799
285
597
590
560
382
38
251
742
672
234
944
36
141
28
489
168
274
163
347
599
641
568
57
569
246
559
296
386
206
613
652
497
552
155
328
650
402
214
138
345
216
610
571
285
856
961
378
693
19
627
981
354
728
358
112
480
742
659
494
192
753
984
832
373
816
995
311
229
568
71
186
48
237
39
228
749
443
862
464
164
43
308
708
497
275
315
575
670
340
496
13
518
209
149
347
914
330
10
404
642
801
549
223
860
205
767
154
814
903
175
599
689
474
33
446
830
706
573
151
840
317
128
756
576
815
133
527
538
909
244
754
600
336
598
771
905
586
386
883
774
986
946
341
142
584
236
167
735
950
166
376
622
513
369
305
725
148
793
48
619
528
16
627
534
421
454
158
976
807
609
210
806
334
856
727
189
522
590
490
946
559
104
18
720
841
895
830
100
99
671
47
410
864
863
286
693
207
925
513
769
588
54
725
345
670
70
403
171
491
909
552
99
523
184
334
850
879
475
577
253
498
285
404
668
513
241
285
367
883
410
798
735
859
954
424
220
314
195
498
186
725
680
406
757
737
603
266
281
223
633
443
585
705
161
351
681
280
46
602
510
799
37
369
945
834
198
915
828
612
742
259
295
603
878
196
748
842
927
782
137
5
358
90
399
959
781
578
543
710
30
503
963
591
50
974
974
578
604
831
571
279
609
924
136
869
540
158
605
456
933
245
430
770
988
681
673
97
602
290
770
773
172
678
42
63
763
859
905
800
74
554
251
169
533
574
404
733
496
264
574
217
516
162
223
278
953
46
406
405
204
318
770
121
122
858
914
504
927
197
82
509
106
780
694
634
685
21
547
154
328
888
824
35
322
554
110
461
351
291
956
542
904
808
94
37
741
160
950
739
244
29
55
181
113
167
437
431
458
623
830
902
713
505
297
744
732
48
193
346
77
372
563
649
347
241
702
437
380
79
745
587
382
98
555
187
604
904
287
74
111
493
91
779
46
623
431
994
950
432
212
87
220
299
798
899
936
107
876
694
412
174
818
729
153
499
483
958
17
208
539
679
142
464
557
77
681
921
535
375
77
185
784
660
830
31
414
142
324
61
112
579
620
261
820
22
546
161
296
119
796
802
796
928
959
880
220
454
728
843
841
962
774
907
453
2
103
786
742
306
994
434
46
837
100
554
614
682
591
218
596
828
9
220
561
846
548
90
940
547
818
160
15
259
991
484
316
795
917
516
245
908
119
893
26
636
896
914
267
753
880
708
444
507
474
817
333
861
842
722
354
785
721
841
960
795
285
469
981
635
954
213
211
206
554
476
503
174
854
633
502
561
81
969
440
77
938
3
353
807
558
420
218
795
948
941
673
955
526
103
519
386
531
931
37
393
933
852
941
704
248
576
209
271
159
156
940
173
62
303
126
455
255
882
707
222
937
742
645
597
935
856
376
852
191
965
569
91
189
507
102
199
970
490
141
347
455
326
203
105
615
49
944
917
207
587
453
830
355
726
82
609
287
321
591
959
346
906
27
43
42
314
270
376
140
134
893
628
535
552
660
408
174
517
804
512
143
489
224
298
921
672
468
31
826
638
536
0
275
907
624
787
954
834
300
439
517
183
678
399
8
880
396
749
450
584
906
868
384
688
811
465
61
866
85
152
671
912
974
649
722
405
347
82
68
852
244
403
436
776
124
564
720
336
799
646
336
792
381
312
993
328
752
189
51
91
334
149
650
545
622
470
525
983
490
508
497
835
239
275
60
259
122
294
538
139
168
610
259
257
787
311
794
604
970
13
641
422
895
116
420
136
85
860
801
50
281
673
993
671
41
731
365
875
78
36
490
730
712
183
500
686
241
898
43
325
739
942
688
802
356
973
860
239
376
156
356
278
108
829
812
161
150
259
230
454
307
44
148
834
442
387
304
674
598
412
876
43
633
931
965
722
84
633
72
309
262
930
925
801
600
700
930
192
312
568
579
495
31
433
375
592
673
232
665
423
58
128
864
143
565
864
494
760
546
385
52
962
426
330
938
775
903
519
618
392
571
349
521
701
351
650
509
604
458
487
279
100
196
91
429
601
177
459
209
714
684
161
448
155
971
404
49
410
908
441
20
2
591
901
993
691
99
608
307
456
240
78
870
515
222
396
644
585
497
699
296
639
748
803
739
276
989
509
54
700
729
554
10
91
270
148
787
404
501
169
398
649
357
682
59
536
112
903
635
95
345
136
141
105
647
755
431
337
575
906
997
990
388
772
852
495
148
841
168
201
99
534
64
451
105
141
35
183
533
502
30
218
241
308
516
770
315
137
680
697
912
19
578
950
211
677
938
928
369
36
592
75
136
305
526
104
143
778
278
917
856
392
185
929
118
396
243
59
310
898
831
132
750
48
212
608
281
365
638
588
519
975
30
940
491
72
800
808
735
293
190
736
376
476
712
94
112
875
716
543
696
536
484
147
989
129
442
759
432
726
986
406
367
407
977
24
764
985
880
61
498
218
559
43
989
892
295
850
689
181
589
863
969
659
867
729
317
444
817
326
549
316
410
405
86
9
58
225
783
779
715
125
317
42
492
857
305
277
300
36
247
288
166
323
983
6
432
192
36
35
924
478
939
731
165
101
667
876
986
516
585
482
288
174
419
749
437
327
664
215
62
66
536
742
757
999
864
612
489
670
886
924
964
788
909
830
212
970
30
437
824
855
262
573
449
198
487
417
143
815
350
596
926
460
747
100
284
364
498
491
387
528
542
911
832
226
488
239
470
250
5
725
118
579
226
659
986
409
71
454
494
404
887
489
442
459
333
554
25
978
601
394
695
559
303
29
746
165
730
401
8
512
947
412
107
292
248
85
639
58
941
347
995
246
826
324
397
356
657
113
133
975
821
389
225
554
878
282
809
116
400
596
64
237
364
335
917
582
153
563
715
930
733
17
187
445
578
331
359
220
645
74
700
590
407
511
904
29
895
525
279
525
952
626
233
780
535
159
837
862
292
994
693
172
620
739
109
650
136
434
958
685
51
720
728
723
671
134
144
233
210
206
77
110
313
428
575
147
669
788
145
276
249
868
832
414
449
806
576
702
116
935
509
848
795
954
327
812
280
301
932
131
214
204
73
230
853
561
712
859
558
129
698
498
867
94
511
979
878
860
890
569
157
347
655
955
977
426
60
72
844
986
592
581
399
654
781
136
118
706
899
146
725
645
286
207
467
824
878
814
862
482
813
889
120
138
96
654
849
31
818
133
781
365
63
855
724
772
500
492
377
430
654
862
953
282
55
861
508
581
69
7
935
445
103
431
612
913
642
571
792
627
245
292
533
473
582
934
321
309
149
168
866
368
291
764
647
535
589
348
687
719
844
940
725
540
636
70
41
698
358
352
845
864
939
168
904
883
119
264
314
358
679
512
284
616
617
610
299
131
157
880
833
279
457
970
323
760
35
581
126
299
811
857
477
729
173
313
495
74
425
821
336
96
599
79
564
593
72
963
486
517
133
84
878
331
367
245
614
360
7
17
868
227
659
916
23
309
640
972
272
614
183
25
643
655
34
720
380
549
707
726
381
452
89
97
327
952
595
178
268
85
973
606
150
824
25
460
908
326
522
293
974
401
148
27
241
897
190
849
917
805
942
156
86
978
371
976
970
881
736
781
381
871
887
811
821
927
431
299
664
731
336
525
410
620
211
710
300
185
767
282
164
172
601
951
593
263
163
934
680
334
552
721
308
280
888
182
470
514
304
139
54
198
357
555
586
351
470
554
250
316
524
443
936
663
346
668
902
587
555
11
849
161
287
990
808
616
237
561
312
699
293
672
587
263
361
144
798
754
67
998
167
301
212
18
985
833
449
317
556
462
838
800
620
681
563
881
656
306
474
690
919
251
246
424
204
922
648
529
773
209
241
989
460
103
485
93
992
734
352
859
549
93
680
533
894
168
144
982
505
339
685
340
694
539
975
222
568
617
450
370
873
143
677
486
417
946
468
304
321
386
21
630
714
509
233
668
279
438
268
277
218
810
956
268
59
324
74
913
106
827
817
688
342
342
857
854
55
823
901
193
568
826
804
182
190
643
204
808
931
989
854
391
19
323
754
254
514
584
374
29
221
767
549
945
904
872
556
711
849
190
153
413
901
914
789
632
301
126
929
727
45
945
201
513
574
743
728
860
179
743
437
165
663
550
866
434
692
444
775
852
238
6
827
836
17
321
226
21
568
235
80
915
273
434
336
237
811
953
376
497
279
820
55
69
664
818
911
269
873
253
345
698
35
307
696
191
226
235
791
554
961
768
136
332
256
916
610
19
824
627
504
592
429
343
356
356
279
219
240
115
785
853
993
719
483
901
114
665
170
973
472
391
700
676
420
370
907
572
112
904
535
871
257
356
669
608
562
69
33
28
919
406
411
973
527
57
801
733
570
856
355
977
477
829
982
92
274
134
561
768
438
408
6
914
544
827
485
905
613
221
285
92
351
387
309
562
374
909
301
80
172
716
192
392
895
915
372
164
43
583
657
266
127
352
185
756
845
588
437
823
514
5
869
536
565
410
929
993
98
789
141
453
733
424
627
763
678
797
167
201
582
824
280
688
448
171
663
204
118
902
621
741
427
962
177
545
26
550
773
293
899
839
856
258
278
324
168
152
162
272
695
744
438
758
936
142
331
658
718
585
685
761
640
823
180
519
839
812
496
989
449
485
768
618
432
801
316
679
840
343
534
592
762
839
76
206
442
895
351
297
873
575
399
569
60
185
198
962
968
388
821
165
459
609
389
139
403
383
75
318
938
256
618
162
775
152
656
873
228
626
62
921
691
441
624
249
212
494
535
571
116
609
999
684
951
414
609
539
324
463
66
946
169
784
718
148
122
989
109
843
962
690
30
161
49
660
682
579
958
787
995
642
47
964
113
552
685
617
961
517
444
837
417
681
841
519
595
731
296
796
395
366
407
909
12
649
892
295
9
470
572
623
567
205
216
38
689
22
170
690
250
790
386
604
35
836
430
224
478
451
787
256
729
76
392
795
209
122
362
523
234
448
16
587
282
823
35
735
633
86
609
96
226
983
926
993
685
75
386
853
711
79
749
293
393
908
189
888
379
852
604
221
954
560
357
108
354
500
376
517
398
627
426
53
298
756
525
843
105
125
778
65
111
730
615
29
367
47
870
142
248
265
744
575
944
909
536
687
216
993
340
997
517
767
656
315
353
239
716
169
399
160
778
709
283
362
390
183
210
126
713
593
289
114
789
832
989
59
399
160
508
800
688
656
939
652
772
425
395
500
769
546
474
713
566
347
38
242
634
29
639
587
759
59
501
443
404
244
159
577
801
749
14
426
343
420
116
706
547
797
270
579
31
582
777
246
73
112
71
901
823
487
198
305
522
499
207
407
466
185
75
384
154
430
223
715
992
631
139
479
226
447
697
565
237
390
984
257
21
801
976
884
145
286
845
920
789
2
961
491
629
198
920
375
892
141
323
912
969
685
818
173
914
894
879
231
894
415
516
784
539
803
497
812
511
336
974
731
22
497
979
543
738
32
707
870
283
301
270
256
30
411
407
390
735
93
112
411
337
20
154
234
241
77
420
827
431
828
301
917
465
93
738
290
51
990
212
691
711
211
893
516
49
947
365
439
580
104
329
463
4
754
367
758
506
547
885
515
877
201
800
870
762
915
543
389
29
7
501
85
444
163
800
263
704
627
38
376
431
116
763
594
128
489
127
271
52
912
799
616
998
633
721
467
492
146
108
701
559
314
165
202
641
635
608
218
233
635
251
57
457
258
277
890
449
923
393
666
406
409
2
798
748
848
84
663
951
770
144
741
711
428
578
687
931
200
716
665
496
8
870
311
608
311
177
428
773
583
89
778
601
143
709
12
730
907
634
414
552
633
394
155
661
39
90
549
657
664
393
770
912
208
224
460
268
378
755
43
900
989
396
404
992
985
589
616
743
36
301
312
725
564
930
102
559
656
927
427
215
669
536
724
106
635
219
854
340
508
953
107
631
339
593
713
962
520
580
643
77
488
725
955
901
149
493
434
982
988
384
145
360
496
304
868
774
684
121
62
592
501
692
526
104
834
827
232
446
468
25
83
204
295
43
591
357
208
12
951
366
456
705
625
69
135
426
547
32
524
722
248
987
391
800
469
820
208
68
724
280
601
893
40
555
790
248
15
821
246
839
861
476
550
430
139
25
151
83
697
828
575
132
306
935
137
611
241
752
929
61
810
481
389
135
710
530
188
679
531
450
712
933
329
586
902
166
675
152
22
947
883
121
380
396
445
439
173
537
793
125
980
252
408
218
699
103
990
965
783
37
291
847
756
204
737
550
920
222
849
416
152
481
161
544
355
640
12
512
792
563
522
152
842
121
409
242
724
551
134
310
432
734
754
42
752
586
789
353
733
154
668
305
545
384
728
528
411
338
944
484
540
671
75
946
82
99
940
276
482
978
787
232
101
78
225
431
541
578
266
461
342
2
467
451
822
723
297
848
301
320
231
94
830
493
574
287
976
294
568
637
597
850
370
110
922
46
432
97
201
808
556
647
355
927
278
262
758
259
341
744
572
642
449
965
642
871
595
103
934
132
277
972
675
853
174
973
694
239
960
977
384
70
757
564
284
431
589
835
504
962
166
754
741
612
648
942
790
359
854
469
278
658
609
559
205
182
701
821
505
652
969
228
191
992
990
426
949
856
171
824
665
671
289
585
171
536
294
927
640
90
146
82
806
493
762
240
97
141
977
990
850
683
511
783
546
431
217
755
403
922
137
21
1
707
323
248
153
921
648
526
144
89
134
994
608
791
652
33
582
244
788
320
776
474
637
19
826
539
891
94
404
892
294
88
867
680
837
508
440
905
634
608
17
451
978
537
951
533
564
565
627
788
732
813
819
32
944
926
240
35
603
946
255
318
100
592
948
728
5
666
55
811
26
636
732
533
261
272
537
616
209
985
753
395
923
72
777
605
654
586
434
189
166
968
927
3
470
59
53
880
674
247
334
309
657
762
159
5
581
759
5
474
850
537
440
978
945
298
48
129
750
597
163
56
682
487
634
391
571
127
770
656
398
829
892
904
780
982
316
329
493
88
343
770
838
464
499
372
290
324
102
626
170
463
273
649
929
217
282
187
5
201
423
761
236
553
141
646
415
26
423
651
771
959
594
49
974
81
843
29
443
753
363
478
302
58
112
514
108
865
210
279
476
878
468
289
914
836
230
421
222
781
389
644
475
885
850
791
277
612
428
220
508
196
919
557
818
664
109
804
929
364
903
625
282
903
303
188
12
901
28
122
172
924
655
545
244
65
156
44
72
277
422
585
804
1
97
312
41
792
379
526
780
649
765
107
858
804
259
261
46
470
284
412
538
518
473
780
820
46
538
469
644
325
644
473
124
24
818
490
403
385
762
37
182
302
190
851
193
1
430
936
900
416
458
449
596
718
389
866
355
61
727
206
272
573
962
941
100
958
587
873
990
418
18
221
605
605
591
933
437
43
567
672
478
791
17
957
126
392
321
130
966
655
952
742
838
397
516
820
733
921
684
322
907
632
36
426
967
905
181
295
327
520
27
811
377
987
136
88
89
382
653
265
794
581
986
617
591
625
708
366
543
70
305
838
202
659
443
745
503
959
791
773
38
435
152
535
279
276
122
735
557
311
607
136
281
598
270
411
46
924
344
929
671
88
204
223
151
951
551
345
556
601
473
423
423
187
189
139
692
696
406
107
137
343
38
714
715
328
763
413
903
2
308
184
952
9
954
795
217
395
378
849
103
579
333
231
954
493
639
370
813
286
134
21
557
606
317
228
214
255
653
238
276
337
852
267
272
772
836
991
272
771
779
445
624
700
698
391
760
480
415
295
51
276
491
101
184
419
513
391
270
771
361
964
114
108
133
825
612
270
62
433
310
108
85
582
579
783
882
255
400
694
344
512
277
479
10
705
929
570
920
313
976
688
902
178
358
375
184
815
187
368
593
508
965
546
741
763
815
953
622
830
26
838
131
190
134
884
561
56
938
321
737
101
425
991
639
949
629
863
560
610
404
55
840
326
110
67
238
408
572
599
262
680
559
948
87
419
62
256
222
265
173
549
977
692
502
764
955
519
260
386
304
778
521
42
425
93
136
361
998
618
310
515
553
740
919
982
356
507
497
979
395
709
796
254
839
499
132
628
425
258
195
77
863
634
983
936
623
954
794
603
38
533
963
803
768
282
139
853
765
754
959
739
588
47
369
747
129
645
419
799
954
357
442
1
892
142
154
410
716
473
75
822
33
609
274
851
148
989
503
352
948
540
2
416
913
353
66
248
549
693
287
285
288
154
316
959
602
681
248
923
277
745
498
60
410
253
654
202
639
101
715
444
916
589
620
29
324
169
532
527
136
777
594
326
320
230
518
881
982
945
337
427
265
887
712
457
492
92
368
112
993
533
923
477
130
908
907
445
422
701
718
832
724
177
383
737
95
814
895
626
729
989
843
745
715
294
757
537
305
842
214
314
209
208
828
38
544
226
488
64
744
673
707
180
787
687
972
809
773
246
607
900
672
291
526
716
359
330
215
912
812
454
153
337
22
864
169
782
128
505
72
186
426
27
511
480
634
296
334
998
20
845
211
925
423
423
324
650
888
70
666
141
94
378
624
715
398
825
722
742
939
8
290
905
324
470
529
294
804
351
613
403
91
293
720
646
857
841
557
604
372
637
205
860
723
230
773
307
607
769
74
752
732
909
670
828
156
786
896
384
322
751
453
590
757
479
419
80
971
116
601
610
10
314
707
600
896
276
707
356
928
563
877
624
583
12
259
417
631
382
2
308
500
360
426
571
910
41
692
816
593
749
973
478
72
550
202
425
403
656
924
426
646
39
596
122
689
65
223
607
916
438
599
849
942
488
769
394
401
729
298
170
614
343
129
846
289
523
178
859
714
7
416
485
601
318
631
653
681
951
312
314
855
252
135
758
747
997
16
643
47
605
426
11
765
310
605
684
197
19
687
786
478
535
407
343
836
719
591
572
35
161
747
433
188
472
68
60
474
227
658
340
149
351
919
384
629
194
884
988
351
24
646
443
638
424
914
858
494
658
57
351
978
140
435
233
434
390
391
730
645
712
853
5
122
292
121
942
963
968
675
936
543
59
108
534
956
978
735
636
78
814
200
523
504
990
580
838
630
414
203
91
443
724
314
726
529
363
285
186
217
417
631
281
823
959
2
325
806
455
180
283
205
615
493
929
368
911
113
517
70
765
911
720
399
490
950
709
487
252
101
206
252
989
604
500
590
942
25
150
821
29
601
250
879
774
946
868
170
368
985
69
258
72
330
146
629
710
481
823
276
336
204
69
853
706
792
125
700
726
481
155
609
193
391
404
371
76
526
683
977
93
618
412
14
841
905
898
245
813
341
950
754
970
347
847
633
298
146
352
391
252
751
91
891
779
554
254
717
939
410
24
535
892
217
2
244
830
307
681
102
887
713
736
428
327
517
542
347
457
301
483
153
438
185
755
956
816
482
463
647
592
766
427
23
554
945
601
32
616
263
132
53
302
113
857
15
821
500
982
969
789
471
358
333
731
785
316
383
696
651
971
127
281
589
63
842
666
21
899
203
389
618
553
847
227
287
694
192
963
163
650
784
671
255
675
214
447
231
491
804
324
866
651
123
800
92
194
846
333
526
523
141
626
622
38
2
429
12
914
480
587
532
193
505
932
271
725
781
35
192
515
207
626
104
897
389
786
1
6
451
673
482
750
842
408
809
55
607
623
973
689
689
67
962
168
759
630
693
444
292
280
872
96
625
820
181
218
296
897
3
146
654
778
593
596
628
4
129
391
591
508
509
764
962
880
857
692
692
49
139
699
421
962
783
378
699
186
130
21
909
600
952
145
368
467
576
257
866
460
742
748
780
430
677
300
532
367
657
862
146
930
455
485
614
57
182
631
476
986
644
162
476
265
825
691
476
4
125
557
105
536
376
420
361
601
539
312
785
866
164
522
838
449
614
765
733
440
823
509
413
314
785
538
506
646
640
466
645
400
764
25
419
878
790
490
240
976
247
424
350
714
860
45
189
691
401
428
796
214
128
770
347
80
811
368
263
186
148
173
203
246
503
534
584
549
278
129
607
638
830
49
565
205
157
362
189
586
251
482
251
671
764
99
328
436
172
847
792
546
597
620
887
865
967
259
719
876
165
591
77
918
584
165
636
36
861
297
559
860
645
351
427
764
960
768
467
163
533
875
399
269
564
987
776
284
287
533
936
965
508
589
980
226
288
676
877
701
984
752
231
134
44
726
938
144
533
465
78
65
178
959
930
828
766
649
350
338
60
422
729
468
409
733
678
507
154
15
865
314
846
630
24
678
223
432
263
65
792
636
370
477
221
98
189
300
269
155
538
468
175
621
958
140
72
829
363
944
827
902
242
561
688
752
289
612
223
144
102
349
295
171
454
728
557
133
47
680
815
863
524
775
435
785
711
247
928
259
50
273
921
273
918
735
595
313
810
111
343
686
277
247
208
938
786
629
730
419
357
328
409
44
5
556
289
167
903
462
293
418
798
747
209
254
627
287
943
772
961
369
94
675
774
431
861
211
284
294
925
596
533
276
302
433
54
783
346
423
236
885
109
634
458
868
302
117
905
94
350
588
650
239
156
640
747
463
565
535
328
731
910
353
854
927
86
617
511
243
530
371
641
48
720
809
79
311
901
387
907
95
94
76
522
219
678
468
306
786
789
691
732
913
852
843
889
801
933
842
865
320
964
170
410
236
432
804
500
448
47
367
894
384
477
852
664
306
687
243
273
493
343
598
592
24
178
807
440
622
703
679
428
948
198
246
882
388
47
354
679
55
196
442
555
155
599
965
917
408
975
216
107
475
907
619
545
644
194
827
333
487
16
149
153
461
289
702
608
101
245
788
931
127
940
83
846
922
506
804
678
634
424
408
833
603
417
780
342
957
54
335
19
481
142
427
407
527
284
334
428
698
853
325
42
465
287
628
270
428
319
382
277
500
465
382
414
653
451
793
129
980
49
360
313
559
903
534
798
931
851
900
776
274
640
449
972
128
935
197
657
242
976
321
709
72
80
122
423
468
409
227
197
147
146
760
381
588
726
419
482
915
532
455
844
653
8
719
945
38
952
769
407
87
886
918
754
966
285
837
914
914
836
277
303
740
374
231
895
755
582
286
249
863
626
251
664
520
293
859
759
839
574
655
84
871
498
321
770
157
99
429
452
928
583
44
308
371
904
166
190
812
328
590
212
211
972
828
421
470
864
349
84
637
54
170
903
707
65
646
841
399
620
42
228
335
55
224
247
354
364
484
688
453
315
714
724
769
794
553
544
880
127
658
289
946
219
549
317
253
193
393
506
35
220
990
989
499
964
250
64
798
970
443
315
666
705
466
701
575
258
239
813
691
188
849
809
59
135
399
471
792
679
53
331
422
34
235
985
961
800
287
175
271
829
917
666
728
627
433
970
490
494
244
217
864
441
279
311
116
466
662
642
85
950
673
791
462
137
377
360
729
341
365
244
293
679
842
110
384
854
922
784
941
97
876
284
286
475
391
755
47
814
3
201
230
854
749
671
847
368
852
558
734
577
319
150
969
953
509
633
710
960
102
82
400
235
917
925
247
519
66
758
94
245
647
579
843
418
269
843
613
734
242
174
69
418
819
973
161
945
766
420
557
83
175
820
406
439
134
206
648
448
121
684
646
941
892
899
30
666
72
58
151
967
297
96
113
482
595
864
50
588
61
649
475
911
805
277
941
77
316
260
385
740
334
340
236
273
629
93
825
905
897
630
475
688
950
169
599
672
921
944
240
943
451
72
476
144
244
841
260
877
976
260
921
657
936
357
43
880
104
705
409
643
801
834
678
743
908
226
738
957
856
608
557
773
131
785
216
731
421
970
786
524
266
985
915
157
247
356
241
416
853
610
634
158
815
304
812
599
626
187
412
150
179
200
722
631
546
460
593
835
52
187
922
119
448
573
710
429
478
308
420
821
149
980
936
104
906
799
725
301
608
790
406
433
378
376
289
806
395
33
684
260
828
894
763
790
263
179
802
405
924
306
61
436
217
980
8
86
459
695
971
86
543
240
453
578
70
254
814
301
402
206
306
872
75
615
431
836
385
131
654
611
449
381
791
908
59
744
74
364
566
851
281
753
4
169
57
858
910
569
508
44
616
366
58
817
590
48
344
641
229
393
679
79
500
869
756
207
996
148
551
194
301
54
369
178
869
41
30
530
477
399
30
357
750
824
476
528
713
842
588
241
83
963
815
143
312
593
354
741
17
574
187
264
233
129
610
483
66
524
616
573
107
826
276
217
998
838
681
436
143
993
850
605
564
942
870
264
533
891
826
302
982
112
966
331
603
320
219
912
85
959
807
368
822
152
954
578
856
244
50
627
770
452
42
411
298
109
354
173
336
174
246
287
494
260
892
146
589
438
126
846
749
265
933
221
239
868
414
43
493
750
611
24
363
712
720
574
749
11
495
364
493
566
122
716
77
849
479
683
819
312
281
163
674
219
300
195
576
447
141
177
93
578
978
821
905
275
680
367
699
830
356
392
95
149
854
879
805
143
672
24
810
612
76
267
835
98
446
420
277
962
625
937
244
296
821
546
476
641
50
812
977
294
748
318
728
679
552
456
102
474
328
768
503
719
881
781
348
167
174
325
934
104
571
334
123
256
480
414
855
760
78
501
827
994
569
473
422
522
782
505
963
863
800
735
60
624
386
613
979
978
213
461
417
434
637
359
809
674
114
130
589
62
56
505
869
868
522
701
471
248
337
376
930
606
801
538
939
968
735
577
860
713
693
502
411
628
988
739
262
244
880
381
897
57
944
370
987
105
321
647
761
86
633
21
905
956
109
300
69
561
98
215
681
302
660
144
864
5
488
394
443
775
4
301
48
479
740
991
948
692
721
168
974
878
777
192
593
848
844
827
536
784
363
435
882
676
626
999
98
920
956
448
210
583
146
263
141
385
80
33
453
596
239
402
192
238
88
914
762
247
865
454
373
734
855
644
532
615
798
560
898
501
426
995
540
127
357
909
123
139
425
906
813
842
504
481
313
149
890
889
50
455
568
782
145
827
270
289
393
760
56
584
915
684
482
711
416
427
643
639
730
877
632
131
11
896
755
458
726
555
114
822
527
2
174
46
152
936
983
212
421
234
626
605
13
684
582
924
702
779
973
438
434
235
168
435
371
200
72
213
182
495
73
953
436
573
901
544
756
338
264
409
386
801
26
411
802
400
926
624
610
740
603
407
881
356
515
273
379
778
838
703
764
133
209
782
998
617
333
224
408
752
622
16
121
828
356
789
591
247
99
802
534
533
522
422
165
898
211
260
32
214
102
877
420
342
2
760
258
867
613
178
446
17
661
999
752
74
550
419
141
404
766
246
597
599
860
474
384
880
78
953
523
835
775
655
843
143
504
188
208
515
646
653
465
788
674
800
674
845
588
951
125
986
160
776
548
669
637
637
646
855
383
7
3
213
977
213
733
113
802
992
397
284
734
710
4
498
449
345
21
718
237
239
66
908
533
291
448
518
582
151
12
561
546
557
178
791
24
642
959
473
96
496
583
765
160
765
647
342
169
899
124
834
237
80
828
557
146
825
198
292
871
542
950
460
288
963
813
323
45
280
478
182
5
653
714
448
801
788
840
213
497
142
190
268
240
488
589
525
495
981
497
409
470
871
852
286
370
624
996
492
746
599
613
705
848
735
156
547
767
268
187
968
419
506
75
87
652
542
476
669
334
442
135
503
680
470
607
425
915
831
255
238
526
907
318
1
505
529
282
128
202
539
796
43
497
115
8
175
378
743
138
564
925
387
597
862
909
491
7
759
893
379
515
196
610
650
226
364
330
193
664
470
132
396
19
127
244
123
789
856
727
43
65
704
347
460
962
108
938
162
291
811
398
364
497
920
469
990
563
67
852
222
144
869
132
501
906
49
519
62
904
320
336
26
681
480
569
592
70
256
249
662
558
71
520
789
154
959
932
58
915
696
896
944
117
955
213
420
249
819
867
76
843
844
171
277
763
897
659
648
383
399
651
579
708
737
915
658
286
175
215
232
412
792
969
351
0
396
21
478
172
929
643
478
431
981
836
901
429
119
647
633
376
495
91
703
983
652
62
406
382
250
710
197
745
832
779
181
736
841
267
134
720
791
706
210
192
430
121
613
121
138
553
399
284
728
766
907
665
481
145
817
667
290
664
369
146
847
336
426
309
704
972
996
442
986
844
752
944
165
474
801
912
750
420
979
608
302
250
325
834
854
78
144
560
4
174
442
262
264
328
176
979
85
756
376
695
652
81
973
719
455
354
882
619
507
347
175
33
221
352
27
712
968
495
754
846
472
548
82
562
615
627
678
802
63
255
808
69
154
764
94
15
568
616
996
997
252
472
943
700
946
99
269
495
965
361
430
200
179
238
988
603
698
281
802
203
744
532
418
79
73
921
490
680
833
979
145
785
753
256
82
999
946
581
912
851
296
148
217
905
544
555
239
293
921
136
471
346
215
596
448
99
197
844
229
625
33
962
412
950
949
887
794
404
532
420
825
184
435
404
643
910
133
785
590
414
924
693
975
571
978
869
637
237
617
462
862
436
66
894
338
692
746
254
68
809
59
773
242
790
488
188
502
762
176
597
904
885
587
508
576
654
175
351
435
285
188
416
777
382
508
551
53
681
472
932
99
219
878
581
981
659
967
800
797
956
487
822
646
453
557
28
708
985
296
974
267
681
834
173
492
909
302
755
728
62
513
387
772
486
67
253
948
912
905
987
680
315
858
207
969
568
439
515
920
998
912
857
751
653
409
98
114
1
683
312
476
238
600
825
707
746
920
874
560
951
492
857
162
756
907
999
30
554
897
619
0
696
356
768
939
821
979
420
807
160
143
487
641
666
336
548
558
179
991
30
408
402
628
325
741
326
495
71
295
469
668
706
782
379
202
513
979
778
225
183
513
533
550
531
6
633
80
133
893
415
149
12
118
674
856
816
563
963
932
846
769
792
5
571
200
746
988
58
264
958
995
554
149
807
440
584
681
556
154
966
471
243
907
270
557
154
772
722
49
236
648
318
156
783
657
7
607
177
117
455
711
913
255
763
160
374
133
640
234
915
1
673
178
315
96
977
600
595
201
160
25
866
372
510
314
774
790
400
578
266
359
289
548
110
836
218
774
3
353
292
615
797
965
186
189
251
193
419
901
45
948
599
781
309
866
488
724
876
810
54
788
765
168
186
497
991
31
833
489
505
710
147
68
945
596
175
532
932
400
6
43
942
534
614
231
803
242
654
740
337
821
874
94
977
59
689
989
243
670
323
103
653
323
782
208
397
389
364
898
142
940
390
34
864
570
147
607
729
4
4
176
368
202
391
837
29
219
225
243
171
485
336
341
340
723
574
709
347
913
543
6
613
663
808
440
781
441
644
469
449
31
26
191
751
666
196
419
230
482
770
648
493
242
172
146
295
47
843
362
957
777
719
861
206
501
870
467
175
307
434
429
700
581
405
791
693
926
588
9
561
897
601
851
148
233
911
786
882
518
876
738
98
355
168
918
295
626
166
533
874
533
623
974
748
569
774
512
941
340
743
430
474
951
130
694
430
968
810
935
881
116
92
653
120
155
678
166
528
568
985
163
345
830
273
444
184
658
270
480
781
637
883
96
610
495
316
174
457
132
779
754
996
710
541
712
504
565
691
708
110
450
288
578
533
79
882
581
320
998
313
858
837
951
541
681
534
158
87
155
520
978
446
785
253
696
534
957
467
900
322
980
134
57
198
496
511
715
242
997
760
21
471
608
515
287
583
316
120
747
400
844
679
925
515
302
420
857
895
787
745
654
471
437
746
872
379
13
855
200
46
864
145
79
289
382
112
999
22
28
38
635
639
164
624
711
68
377
15
202
27
643
134
899
627
38
929
55
156
604
377
956
668
177
612
959
509
993
937
300
827
595
626
451
254
947
872
949
349
139
416
133
977
335
460
321
821
899
565
140
106
737
588
174
965
388
877
912
270
606
174
90
681
756
429
22
81
697
776
642
746
976
41
341
216
351
760
789
78
456
37
100
880
796
646
292
776
649
106
127
334
439
227
859
942
327
961
229
33
19
17
108
481
86
468
54
788
962
252
367
107
464
542
603
563
865
358
369
414
942
826
557
375
411
176
897
411
805
12
338
620
223
361
864
680
652
451
713
676
647
131
707
747
932
237
790
189
561
459
187
476
264
46
430
970
31
598
862
441
693
546
204
200
799
218
327
824
261
975
719
713
156
457
773
376
106
41
431
456
136
821
625
235
658
774
910
877
357
226
479
859
931
412
816
4
376
247
852
435
431
238
535
818
422
99
671
920
146
382
793
685
291
427
684
147
125
992
819
758
541
629
532
894
940
937
739
220
644
24
138
350
220
364
428
583
412
735
336
933
362
367
350
209
488
461
20
356
938
322
171
642
536
852
768
373
462
639
498
720
599
135
712
131
25
29
637
371
965
386
404
993
905
859
325
562
360
393
516
748
648
935
349
613
774
812
649
842
131
780
586
840
614
696
635
118
758
686
588
345
354
918
452
648
475
65
112
418
958
105
913
538
218
54
951
388
436
627
241
443
306
589
722
613
737
639
488
406
696
896
804
689
40
283
771
29
620
244
943
536
811
350
149
665
106
241
98
518
450
390
680
50
194
464
346
760
577
125
885
545
555
418
728
937
179
348
546
319
763
593
578
436
543
391
991
966
10
311
360
156
893
912
380
193
145
1
856
271
679
44
753
390
607
573
659
97
621
90
666
485
176
205
969
336
71
997
275
265
236
200
760
617
365
263
339
725
92
574
229
317
501
452
945
475
622
238
211
197
162
139
363
971
820
314
911
175
642
171
739
689
508
6
928
538
691
437
865
341
628
550
151
556
844
737
415
77
239
403
925
209
186
519
247
923
443
817
330
883
838
783
863
332
285
220
988
601
707
619
242
783
911
593
424
432
573
317
451
153
440
254
133
428
813
589
834
755
753
188
558
158
492
252
83
840
933
521
495
305
358
348
744
147
404
443
490
478
30
672
38
339
666
621
864
298
802
126
14
857
58
325
176
686
550
897
973
796
266
428
731
365
718
914
913
610
808
396
270
449
719
809
335
890
466
645
645
245
183
79
800
767
808
678
950
581
526
536
591
737
702
585
510
961
619
734
465
774
764
637
933
809
844
817
12
906
805
244
116
952
695
21
286
269
727
685
96
495
236
525
125
338
106
397
942
158
895
91
8
193
523
318
72
165
339
599
272
98
560
647
805
157
484
843
441
903
905
578
924
922
287
199
288
463
948
351
290
650
386
529
828
814
357
609
731
947
389
110
718
579
260
159
117
854
944
930
201
629
152
384
290
392
362
419
343
41
171
258
318
701
925
840
121
243
407
54
297
939
66
349
138
289
318
723
838
338
236
638
399
630
225
505
890
401
981
162
158
678
157
486
460
390
546
928
891
84
145
382
939
329
63
366
545
763
379
752
32
601
891
917
251
616
425
303
407
52
39
413
79
33
270
19
864
250
124
476
642
97
665
816
160
612
469
812
941
438
326
384
647
646
223
710
448
897
209
760
579
939
594
904
869
768
727
602
976
971
880
223
213
459
650
15
7
851
684
885
657
191
114
350
773
76
914
273
994
492
868
338
773
558
742
203
890
277
135
613
367
480
693
971
220
927
384
549
843
478
364
713
300
525
914
971
420
673
353
10
6
954
441
871
589
888
55
704
324
777
736
461
296
792
746
580
396
572
296
676
212
233
964
975
414
652
204
978
273
131
843
257
853
935
860
938
22
92
738
17
714
766
562
38
462
697
206
119
660
462
541
954
508
761
17
56
481
882
496
963
57
515
576
280
906
170
567
34
84
71
690
722
190
965
195
422
551
333
538
463
490
347
780
249
335
732
318
535
431
399
540
879
556
227
897
45
771
498
39
75
555
163
450
795
951
455
65
361
412
642
729
752
216
143
112
860
302
96
554
36
420
951
695
905
293
690
444
471
63
401
278
740
781
955
410
357
667
335
611
170
236
643
137
406
989
533
359
862
517
228
297
681
334
366
133
742
238
161
867
830
227
752
727
988
560
316
215
237
474
863
976
533
350
848
772
795
78
232
288
397
109
365
994
760
211
993
524
582
63
862
769
153
818
907
826
477
361
319
850
55
994
576
161
93
689
167
431
133
731
961
36
523
814
846
225
80
954
806
185
366
233
944
831
162
419
919
422
297
551
93
7
653
679
129
478
596
553
846
316
197
84
527
90
401
544
61
817
221
45
631
336
144
433
698
741
347
216
221
198
579
174
368
649
123
871
935
757
760
354
408
588
325
480
687
436
834
958
468
66
991
602
275
415
990
37
585
402
216
973
197
958
270
71
961
3
572
154
567
893
448
479
744
820
247
122
329
160
141
348
969
461
641
348
430
489
362
34
38
918
412
828
907
979
34
121
354
220
52
667
429
16
842
88
819
440
670
782
903
783
651
270
832
474
613
755
635
494
156
301
564
773
742
734
951
922
589
692
88
699
803
597
459
972
660
705
547
117
737
832
441
413
296
198
953
779
38
992
972
330
638
97
37
559
392
223
869
725
810
644
406
132
543
545
61
97
71
224
725
198
190
814
645
757
902
827
475
471
688
999
886
297
495
430
579
132
867
940
30
272
415
5
519
719
216
507
240
386
115
872
717
96
64
20
11
162
541
117
965
118
393
667
136
455
596
640
597
723
282
429
62
249
592
425
828
940
940
814
331
779
639
638
152
934
251
43
49
465
36
832
550
22
186
546
177
829
359
224
663
530
103
577
316
535
196
825
495
29
228
944
389
569
849
447
222
93
263
735
872
828
931
916
140
36
826
292
817
965
457
833
788
170
904
228
971
364
305
72
118
836
493
163
361
131
967
315
315
958
698
609
657
34
511
472
838
474
660
849
386
317
99
634
270
890
3
11
782
839
734
28
472
506
904
855
508
912
685
211
0
837
191
947
898
374
873
663
217
847
409
288
158
333
955
569
842
423
580
23
588
501
968
864
245
128
152
410
172
44
911
483
929
281
312
436
483
95
290
713
709
672
472
552
74
120
196
424
196
675
281
427
806
423
570
102
461
329
312
548
205
105
617
687
169
168
717
778
124
470
683
595
13
17
925
780
760
843
471
104
512
342
883
770
184
658
255
457
530
495
963
906
245
735
440
265
42
923
477
669
256
398
719
453
543
133
424
590
111
234
60
967
44
756
390
31
116
872
313
900
183
981
254
981
474
375
915
980
77
656
430
349
255
993
707
646
579
705
491
576
833
704
499
813
912
361
347
468
287
714
816
128
456
889
525
324
742
493
452
266
742
44
500
297
662
470
534
153
493
136
27
73
135
61
535
46
476
747
53
491
922
962
963
366
252
221
51
407
272
727
775
256
237
553
83
10
639
911
624
570
158
754
659
919
749
974
392
758
19
517
393
982
930
483
221
648
427
156
216
737
181
90
447
757
94
302
869
272
160
57
188
52
625
939
31
450
589
810
697
221
729
495
470
35
270
131
907
913
524
822
644
942
204
629
285
728
545
137
16
619
221
587
541
364
409
526
264
414
391
325
574
227
149
859
404
614
326
382
664
868
286
674
787
562
332
23
567
262
429
406
648
950
642
327
2
506
298
296
408
116
332
247
101
662
366
818
53
150
291
921
695
766
747
926
347
962
918
338
858
29
635
19
790
808
729
865
598
951
983
666
875
671
516
129
678
918
196
988
845
422
807
106
754
534
228
297
151
639
870
466
893
258
108
787
423
399
139
187
109
378
519
273
150
619
502
549
658
915
97
343
494
924
337
568
151
657
983
832
802
482
137
767
442
113
377
332
273
814
748
435
660
350
769
652
783
756
599
962
361
870
981
783
58
640
572
526
221
76
105
569
813
322
789
547
296
178
861
639
948
498
979
788
372
509
451
576
160
99
762
735
376
364
379
814
145
704
958
99
608
582
237
447
641
441
928
85
887
402
747
324
637
335
152
8
913
151
272
356
946
739
792
435
998
187
90
227
381
49
312
134
133
573
695
153
282
426
728
132
824
597
816
269
775
710
946
348
798
730
722
466
194
646
955
457
872
205
812
944
458
295
739
188
760
279
461
770
800
46
415
696
753
317
733
484
163
638
387
338
795
356
138
264
964
663
187
594
975
197
526
731
634
165
462
265
995
435
658
751
402
367
291
42
151
542
130
953
455
573
601
722
45
557
503
899
578
848
305
432
689
321
963
166
339
135
105
522
895
683
778
248
70
518
212
932
655
757
127
857
685
861
754
319
151
25
12
623
65
669
632
370
608
32
586
329
865
380
870
863
411
506
426
925
704
668
613
555
785
94
870
72
332
903
663
593
273
350
78
739
720
582
827
209
19
287
925
161
77
722
773
643
68
180
437
813
761
428
141
95
953
873
624
311
615
845
352
557
449
534
127
627
131
671
32
352
291
30
298
91
524
430
116
407
775
565
292
613
815
835
956
232
606
126
459
536
843
413
306
438
147
72
19
700
549
385
231
458
802
745
713
45
91
51
184
359
825
847
607
133
674
890
105
146
352
691
149
181
455
30
798
135
988
486
313
594
787
655
194
186
523
444
779
389
988
33
282
187
60
956
509
402
956
41
899
269
568
180
437
92
468
281
440
319
838
81
953
388
156
718
397
107
98
86
59
845
230
703
723
6
817
562
200
452
460
237
230
725
425
120
178
10
111
989
61
750
37
707
147
116
821
49
411
378
653
963
999
548
919
751
689
256
812
349
477
148
939
213
766
216
379
650
118
894
796
576
58
638
765
616
209
110
770
373
818
782
501
148
273
556
883
400
672
984
973
895
529
519
767
44
825
800
577
642
356
846
250
935
440
93
497
996
316
87
959
111
993
554
553
483
54
52
27
309
904
369
320
211
163
763
494
10
487
721
588
979
414
709
447
359
158
508
843
750
843
973
207
457
742
242
113
865
941
572
492
647
810
418
408
285
118
720
717
111
631
497
92
810
894
133
615
633
793
568
487
274
184
92
747
539
539
133
732
906
33
319
849
337
69
344
397
21
559
823
207
776
650
415
81
608
57
843
626
506
803
422
509
147
421
369
255
636
689
966
950
546
578
958
202
397
2
747
231
636
918
552
445
704
24
503
311
683
648
509
829
870
701
350
992
19
7
125
441
75
57
487
524
611
621
383
369
622
842
26
212
25
716
639
423
497
655
233
967
78
603
473
173
528
379
308
890
762
139
70
595
585
192
287
868
274
761
241
748
114
510
999
217
615
740
311
87
772
488
124
15
654
33
675
161
289
603
272
347
419
961
856
386
661
937
857
34
57
169
766
780
499
740
154
734
919
667
906
53
613
78
893
436
63
449
119
206
577
896
554
619
456
678
88
55
183
313
254
313
129
305
84
366
901
137
314
942
676
196
559
324
764
670
838
235
557
568
110
848
471
14
448
703
522
876
206
958
828
725
834
434
854
6
149
497
51
365
991
337
164
945
696
189
582
439
522
521
881
68
378
820
153
686
550
257
635
439
578
315
237
598
209
989
643
686
249
193
263
343
119
982
494
274
84
421
403
644
728
632
402
875
382
632
108
659
126
2
348
540
859
318
492
392
35
194
787
164
671
369
388
384
520
273
403
916
461
777
928
986
73
398
933
289
490
854
332
83
344
102
213
549
41
21
203
248
646
444
20
17
216
796
668
564
370
182
111
112
633
484
916
895
462
666
891
468
248
658
182
892
738
906
876
265
7
685
696
295
24
823
757
534
21
981
340
800
869
874
739
253
543
797
785
485
712
562
552
972
454
173
551
543
505
239
603
112
778
976
173
162
642
358
994
55
884
395
865
434
932
880
472
411
340
496
678
320
470
248
634
25
651
597
865
892
495
923
176
916
130
846
311
616
484
472
608
611
38
415
435
317
406
204
245
674
600
647
472
173
925
728
478
729
508
797
653
903
838
936
476
341
633
131
227
966
478
754
444
874
675
479
53
247
835
328
451
444
539
931
488
577
544
477
51
301
491
729
427
423
805
751
200
475
311
46
843
700
384
623
704
44
315
717
159
354
70
930
874
651
742
525
265
633
179
120
537
49
981
36
381
792
489
812
380
317
2
524
926
900
868
588
40
140
731
255
624
782
816
860
888
396
149
110
336
259
275
746
789
997
413
298
429
356
729
602
454
283
412
211
773
917
836
376
85
955
459
164
57
201
989
446
257
59
255
239
993
749
406
735
305
800
215
161
426
764
80
888
489
683
209
53
12
540
350
890
218
979
73
631
732
845
688
891
554
944
30
889
861
325
295
36
79
186
673
912
567
706
388
176
699
923
849
757
367
819
328
130
985
879
952
153
31
590
286
893
794
29
721
393
983
778
559
321
303
437
770
165
650
675
98
213
508
926
615
783
978
282
438
783
627
976
193
929
555
669
295
198
971
611
746
117
581
946
114
173
731
109
844
31
338
516
975
594
970
551
208
88
776
917
22
410
192
334
102
631
307
387
27
274
663
684
458
377
485
748
285
191
953
352
567
285
390
417
983
185
434
379
354
310
911
869
988
722
550
7
854
729
73
592
405
371
708
921
719
289
634
179
765
4
298
970
752
355
115
78
676
348
962
830
167
636
326
925
452
328
816
776
295
307
154
597
797
612
816
940
466
574
579
793
800
400
129
131
372
27
521
804
498
42
315
916
535
579
823
862
244
155
127
700
963
481
938
663
63
984
994
267
627
646
501
412
991
215
376
819
802
384
507
253
97
103
33
389
734
679
437
358
119
703
936
732
95
425
393
362
546
19
60
241
6
327
538
336
124
487
846
914
506
336
366
895
699
142
673
685
26
172
61
888
262
722
984
25
968
83
395
721
929
154
523
398
459
317
679
286
411
156
478
921
84
288
353
357
965
622
740
578
717
565
625
495
731
562
152
901
560
228
166
757
787
1
477
311
803
946
3
636
19
837
648
857
193
565
206
704
588
50
271
724
790
609
982
456
515
17
484
912
522
33
119
419
629
862
38
942
118
51
692
649
40
182
656
74
242
249
428
559
109
664
387
377
352
893
421
631
221
344
692
61
838
365
414
739
142
551
261
546
90
375
867
942
358
510
419
856
803
790
825
802
410
987
339
887
125
128
824
648
710
837
798
122
283
533
821
591
809
983
424
867
319
249
470
626
169
388
806
33
18
67
286
702
651
148
307
45
751
869
825
593
394
315
629
265
606
517
965
385
268
415
798
315
677
799
541
4
847
962
685
807
334
680
229
165
498
404
654
886
307
195
487
608
883
116
561
453
374
588
98
508
4
919
743
919
666
748
568
673
388
201
214
984
969
185
600
280
406
115
989
260
355
528
693
263
848
198
817
483
788
82
827
942
953
551
2
167
581
422
275
464
690
540
665
978
744
760
879
162
852
852
764
116
542
941
186
147
734
650
673
489
576
21
629
105
554
928
865
856
17
75
537
835
761
752
590
302
740
109
708
630
474
265
746
5
102
835
575
441
655
156
332
408
357
152
563
640
337
787
884
153
104
82
45
80
481
447
331
693
128
615
622
796
165
591
146
100
743
211
612
843
447
706
204
226
840
351
882
393
272
939
763
785
528
791
892
463
416
789
550
119
37
237
140
707
83
785
148
796
16
200
229
299
308
977
16
726
469
781
895
638
844
42
188
498
749
131
347
853
592
761
882
471
156
891
323
744
386
154
427
384
827
586
472
46
854
480
364
12
74
598
446
121
264
675
968
210
890
266
871
693
738
275
193
954
969
904
595
93
228
103
228
454
469
141
620
997
114
357
824
21
6
19
341
992
645
904
77
230
43
450
200
451
454
192
700
897
233
127
867
198
468
501
983
967
873
893
254
254
985
108
346
478
378
53
668
832
124
384
319
744
295
87
479
681
114
580
184
184
637
589
634
720
749
460
753
124
675
116
154
635
575
566
497
895
311
997
736
200
124
753
883
766
859
243
976
947
729
596
257
859
335
345
176
90
673
809
956
622
960
918
300
965
487
724
763
284
426
797
670
294
566
412
12
900
105
987
130
814
903
133
623
340
179
667
994
821
735
581
362
216
119
308
70
746
47
114
514
649
80
738
267
625
31
270
899
549
946
908
489
889
465
535
986
218
922
824
118
550
247
133
656
902
975
188
650
157
218
667
273
156
383
601
175
406
756
686
520
576
272
326
705
643
665
13
462
372
432
826
418
714
622
959
669
982
848
740
112
467
718
218
59
504
348
107
114
841
528
994
796
482
536
141
442
313
683
217
936
996
602
839
782
805
77
46
267
415
432
720
782
761
487
968
306
971
893
278
718
793
78
981
622
74
996
590
349
597
492
277
638
48
166
962
733
753
324
791
676
61
963
366
801
633
827
25
412
276
434
115
766
759
320
776
111
261
446
648
933
824
381
433
656
226
494
800
512
280
902
360
451
103
150
676
664
629
39
485
723
288
248
927
4
578
385
961
7
498
786
410
544
548
635
507
823
778
259
562
104
701
797
95
811
315
144
316
888
269
442
929
962
537
191
52
531
227
612
649
141
544
92
775
378
526
892
334
489
586
980
731
496
219
591
610
618
434
268
788
705
179
291
37
281
425
580
489
54
418
740
357
372
606
657
342
944
942
187
3
481
911
710
584
567
35
371
23
930
985
71
381
663
161
648
638
370
765
920
168
234
62
488
65
774
733
675
950
143
807
893
535
708
750
810
849
795
870
513
541
376
111
57
564
382
881
647
175
258
809
255
147
173
100
386
59
46
43
72
662
860
70
254
648
759
25
313
700
615
461
910
443
790
114
469
471
242
978
779
281
828
890
746
637
475
995
438
986
261
958
450
179
704
864
274
165
818
107
192
354
262
466
640
816
14
720
810
965
130
642
979
160
208
574
554
523
11
547
686
319
461
599
783
688
733
182
31
933
653
544
979
291
886
234
6
895
272
830
304
128
997
154
14
110
696
999
45
882
718
163
292
512
733
662
550
163
233
532
868
881
60
914
400
985
60
80
503
559
471
310
55
696
984
416
329
634
883
886
792
823
273
126
170
80
775
973
979
770
197
544
930
34
48
711
874
520
744
659
755
630
543
232
455
652
392
324
601
764
318
84
57
873
988
700
358
930
375
905
508
33
167
483
456
51
187
914
45
605
22
60
747
812
13
167
115
40
891
986
832
159
174
924
387
633
560
133
641
137
476
674
168
679
24
188
842
861
957
208
964
758
361
681
439
591
158
493
708
537
394
55
731
820
958
522
702
474
789
281
703
930
40
936
399
530
382
412
520
860
503
783
291
101
277
449
98
476
239
58
606
895
787
438
228
535
77
377
664
633
512
788
707
268
412
771
558
406
593
574
150
772
871
764
996
337
188
964
724
519
273
262
459
195
427
292
914
462
946
547
213
566
730
545
143
108
922
932
745
502
856
240
538
495
885
895
989
464
843
862
262
3
288
976
441
296
774
181
648
21
105
745
319
931
225
402
971
810
851
884
131
412
308
706
293
95
644
195
103
903
434
183
548
554
464
736
458
592
549
416
277
93
837
830
955
336
805
537
291
837
373
93
326
212
23
521
628
977
296
877
718
515
502
999
480
30
653
363
285
798
807
226
582
613
215
313
687
223
842
742
60
873
139
351
390
503
140
175
123
129
970
255
951
250
97
355
106
65
529
340
484
990
295
188
179
653
547
364
980
554
177
41
462
443
601
343
295
385
348
471
976
4
361
997
756
401
555
615
303
188
597
835
244
151
572
392
648
680
362
457
203
211
367
78
625
238
737
699
870
841
438
648
429
129
692
827
470
522
596
590
991
912
596
54
859
254
806
500
163
487
606
39
199
43
211
94
490
241
27
839
932
220
72
523
475
574
825
16
502
253
59
170
637
532
437
441
322
817
505
270
283
58
213
774
611
688
355
365
851
328
617
851
554
329
218
73
473
491
921
146
821
579
541
252
646
796
476
993
800
766
211
897
693
81
507
591
227
105
123
880
213
444
607
762
844
198
459
783
342
559
948
58
659
884
542
133
641
484
653
283
521
867
285
350
862
166
564
493
912
355
957
718
78
114
935
603
617
154
728
922
286
388
150
114
618
533
2
193
839
747
890
338
293
623
559
388
284
345
60
531
573
595
69
976
332
704
335
350
81
907
233
462
443
64
386
213
635
637
221
684
597
104
311
223
29
823
469
361
104
493
484
642
676
262
59
537
254
561
730
726
737
610
701
828
254
836
950
755
985
34
340
176
954
260
623
6
927
749
164
943
917
428
83
25
914
737
777
626
485
129
84
195
984
442
160
215
113
944
385
422
5
491
944
727
869
113
665
21
610
673
457
457
278
941
856
975
402
446
74
393
325
759
285
787
112
383
463
565
373
441
3
672
256
911
995
876
896
439
266
224
340
741
51
427
667
546
172
613
335
903
514
970
819
683
700
771
137
624
26
460
520
414
53
885
79
553
408
594
242
60
448
353
323
525
985
468
55
376
138
356
753
921
675
672
221
895
351
614
924
986
867
114
180
67
779
157
768
144
961
448
564
998
335
851
317
728
623
965
823
466
865
715
12
787
860
734
547
386
813
349
559
450
827
219
113
514
675
342
763
214
172
297
976
692
362
380
692
989
554
168
367
907
24
955
932
769
737
28
851
432
232
429
689
924
889
210
682
218
957
892
423
907
7
949
224
666
864
614
880
861
561
976
40
475
437
91
228
265
526
115
673
704
0
6
859
988
221
29
686
779
257
959
642
993
593
785
33
900
453
482
203
800
370
621
472
463
741
218
750
481
383
459
643
154
73
455
841
219
927
8
993
721
15
687
638
73
204
287
925
481
18
496
579
298
752
715
182
32
592
257
820
462
328
193
713
717
236
817
799
147
971
505
561
229
895
736
307
358
139
536
931
477
516
292
436
930
48
433
914
500
279
587
909
551
522
983
888
943
850
217
94
728
666
721
674
830
970
542
194
87
36
45
236
662
921
961
298
430
213
499
89
82
379
647
452
584
912
133
416
38
882
559
717
370
563
985
399
645
633
846
395
809
264
238
146
132
781
759
241
762
16
290
319
246
22
848
581
383
847
271
539
721
112
59
153
69
256
508
614
606
71
330
666
486
73
803
765
927
734
644
162
481
322
386
460
584
383
785
826
760
615
69
845
444
790
11
493
12
416
678
762
190
424
842
985
993
597
543
303
943
509
190
854
87
784
921
300
509
14
756
407
939
159
411
672
432
383
680
705
96
25
795
784
918
940
806
493
382
618
554
423
629
916
298
630
899
359
197
688
740
111
151
670
824
765
667
874
547
226
954
799
84
646
167
266
478
615
55
255
639
700
968
43
540
178
353
330
863
452
749
979
93
950
138
45
967
857
222
384
641
599
477
91
917
446
190
120
500
941
81
696
866
429
536
477
396
632
840
913
625
762
334
179
391
547
242
278
319
109
457
909
436
594
476
350
409
51
432
330
644
363
294
698
664
538
629
707
578
901
112
263
497
471
75
615
118
180
616
110
761
493
333
331
115
388
719
526
802
494
171
660
387
705
862
60
151
628
458
452
947
587
81
191
219
58
918
238
864
399
503
155
288
846
743
608
290
986
974
680
963
531
792
330
688
803
361
213
912
251
418
807
594
576
986
309
738
16
640
573
360
141
43
923
158
138
308
492
400
233
749
123
413
386
11
781
548
314
381
287
586
841
985
163
65
998
222
994
632
222
548
555
959
607
961
642
828
426
535
427
944
663
815
316
416
991
381
947
47
139
611
374
237
786
511
463
433
866
224
293
207
934
305
941
289
735
682
566
385
572
278
21
987
525
968
202
611
382
745
543
303
172
588
888
87
658
198
417
59
119
967
618
603
346
779
282
952
875
908
497
456
605
455
423
198
304
400
452
939
112
595
819
367
150
248
230
934
431
521
907
606
864
167
426
39
820
397
657
830
200
306
120
286
846
681
461
837
664
739
166
645
167
887
830
195
559
712
523
755
504
630
382
947
259
381
902
364
397
464
456
355
612
375
383
699
153
764
893
387
392
690
300
685
997
640
437
525
752
589
164
765
281
172
742
569
235
285
327
733
203
102
757
152
347
503
390
248
613
311
677
472
469
18
854
899
349
142
388
415
547
285
730
506
650
72
748
323
713
996
206
743
952
260
954
801
977
178
52
925
747
699
751
451
228
535
340
820
790
80
154
572
466
221
412
214
236
116
342
778
254
735
747
657
836
900
738
199
514
184
764
744
327
321
878
263
853
324
762
939
807
808
926
3
826
687
283
601
639
438
505
175
784
781
926
378
874
346
755
428
763
687
704
498
454
858
618
273
109
795
542
249
720
130
393
68
28
411
332
693
371
350
919
807
807
357
892
309
594
521
697
670
458
474
626
611
102
15
960
690
886
663
91
818
639
995
13
666
608
362
978
132
304
263
349
926
691
31
896
635
69
216
844
174
943
531
850
668
427
512
334
771
278
724
610
713
626
480
94
565
438
701
242
105
856
713
206
766
527
876
541
905
184
671
210
767
69
96
160
137
293
989
488
346
682
673
368
523
42
259
485
13
384
719
344
200
735
788
593
128
93
770
983
65
569
944
513
428
146
223
714
823
410
392
960
948
581
960
430
267
884
39
194
863
285
668
997
574
351
718
779
394
461
653
834
693
596
580
86
744
431
308
203
660
526
374
581
495
189
50
740
879
867
982
498
672
503
318
725
781
837
337
22
406
801
428
657
999
391
916
96
644
392
295
494
171
209
358
59
922
116
537
2
325
907
155
882
773
419
486
964
551
190
325
594
887
538
290
212
314
485
142
391
455
858
929
500
287
676
240
590
987
541
395
246
241
203
679
976
602
948
822
354
327
751
406
96
24
394
221
868
635
96
397
910
765
988
997
914
419
644
678
245
280
310
979
249
592
933
461
941
224
616
217
139
893
811
599
59
58
651
812
931
176
216
725
220
439
248
868
96
76
87
235
310
937
885
910
202
390
236
708
53
445
761
633
186
398
661
984
808
753
600
163
775
492
169
821
64
166
64
281
467
553
733
985
9
946
990
428
98
607
830
443
903
729
119
261
140
375
415
669
696
536
554
300
108
525
100
18
657
279
886
37
806
809
890
860
2
15
524
736
708
39
389
643
509
309
749
252
253
307
739
516
676
951
52
304
15
912
594
54
742
154
947
287
167
37
283
69
302
297
866
176
734
501
820
324
612
707
668
943
893
504
820
460
175
45
5
681
49
942
663
374
188
707
572
30
833
480
435
398
252
228
333
444
299
240
344
678
990
450
903
311
595
980
273
296
287
671
615
151
551
282
562
642
712
450
227
66
45
221
400
574
28
598
665
486
984
387
385
469
401
98
638
83
878
324
887
310
737
84
780
106
730
291
61
133
429
981
501
526
182
742
22
502
155
21
941
276
558
509
803
173
297
181
963
51
369
965
420
721
899
721
267
207
40
347
126
501
22
207
192
930
37
773
957
464
711
196
607
673
726
607
502
283
27
657
121
611
347
467
507
102
647
894
871
456
851
932
141
647
89
350
470
55
234
432
937
850
1
517
263
856
696
449
691
936
788
859
726
860
627
469
606
949
324
356
603
309
119
861
672
595
631
467
387
390
175
495
300
284
152
574
693
302
775
667
934
913
380
309
802
241
735
644
74
701
740
332
379
537
82
60
240
8
834
99
987
786
423
416
115
846
611
428
2
15
659
731
133
901
431
129
617
39
376
880
952
632
286
279
724
363
956
39
481
17
19
230
856
640
26
103
616
719
979
741
981
482
886
103
687
867
290
291
98
406
543
404
626
924
47
659
27
406
673
896
379
10
159
396
149
953
858
470
422
389
520
948
298
662
528
559
380
310
889
233
786
271
98
672
430
636
48
594
779
436
484
434
366
102
642
135
968
577
592
149
77
870
156
385
118
851
314
662
851
249
367
838
634
732
466
551
333
880
981
237
502
474
690
883
713
557
806
899
358
311
580
430
717
660
646
23
702
351
893
11
749
908
539
72
324
992
774
690
198
663
259
53
64
280
295
270
519
626
102
434
622
800
522
325
74
541
338
513
387
238
581
770
431
265
41
922
54
901
685
155
465
888
517
663
498
281
73
357
4
552
577
673
235
702
108
565
226
545
156
349
166
344
431
704
136
961
510
288
30
428
601
594
421
446
315
515
332
74
330
96
173
944
869
597
185
147
437
244
6
611
112
443
489
996
412
13
927
170
332
304
884
124
754
765
6
585
821
977
410
59
648
755
311
499
786
551
658
851
7
816
293
950
746
208
462
981
912
996
647
734
100
299
537
62
796
106
624
227
350
515
557
402
441
754
441
824
136
763
225
225
753
723
178
740
793
723
666
508
670
585
453
856
173
368
296
436
566
68
906
597
116
176
305
784
282
857
49
524
806
619
980
320
217
104
688
659
535
76
464
836
931
174
913
629
636
508
34
78
945
974
587
75
958
359
468
269
348
920
885
838
308
310
866
348
882
826
129
163
721
980
854
707
826
11
167
857
55
710
665
706
493
678
866
869
4
86
603
537
510
300
52
645
241
137
235
928
147
227
56
852
498
299
626
711
309
795
804
770
843
259
387
265
531
740
5
942
860
617
990
380
384
506
510
920
811
676
218
366
798
669
646
855
436
678
719
248
643
546
431
208
650
475
809
11
459
51
163
952
122
539
147
75
471
654
5
123
447
258
810
865
853
771
918
881
121
742
997
487
518
815
67
450
612
658
411
477
754
916
932
586
63
8
49
421
734
15
940
835
265
632
395
167
584
350
544
137
944
428
411
227
575
984
585
197
90
546
931
243
444
645
169
419
228
963
267
829
837
968
247
16
244
711
890
756
423
148
244
345
655
789
622
966
288
823
762
950
463
893
571
142
247
682
567
531
878
106
287
845
937
380
892
309
688
67
486
80
557
168
9
389
788
724
406
525
182
769
826
32
658
453
200
8
215
666
803
868
60
811
126
285
864
304
182
747
862
79
953
491
995
206
70
821
350
884
409
862
368
745
935
205
444
549
952
877
205
715
817
916
166
630
859
947
936
963
799
187
454
152
405
876
759
995
856
973
57
105
269
85
869
249
894
369
942
183
713
416
569
988
361
525
924
899
615
803
815
81
959
420
251
969
11
905
37
816
902
675
813
115
578
348
120
431
441
393
403
104
411
689
165
926
34
13
478
885
42
788
297
791
796
504
133
672
748
747
878
720
721
374
505
837
106
816
207
793
998
600
787
133
723
11
60
758
700
987
368
769
549
893
815
985
446
418
788
458
683
816
404
705
100
317
440
565
839
770
352
835
770
169
315
479
269
578
265
440
446
855
524
295
955
883
569
476
151
180
417
792
457
354
532
922
523
528
121
724
768
16
523
982
306
609
803
341
897
752
503
562
538
34
771
689
382
502
766
700
370
165
194
780
137
38
953
884
105
510
665
945
60
891
101
444
211
114
645
117
719
630
775
616
18
410
25
442
899
589
939
909
163
297
876
468
796
449
189
878
106
394
925
507
770
662
541
867
984
899
286
470
882
745
689
727
918
681
338
472
567
974
71
370
528
408
112
312
229
296
729
661
934
964
422
524
786
382
650
212
120
405
765
215
56
623
811
261
50
505
595
348
985
568
731
912
437
624
795
691
322
898
52
716
336
866
804
887
64
569
219
598
663
665
986
459
77
943
805
971
152
406
305
405
627
123
571
704
516
867
51
568
923
388
740
211
815
596
803
941
998
469
779
687
517
516
548
964
818
965
315
442
866
746
164
832
364
592
644
823
1
442
99
409
248
71
62
738
551
887
379
960
274
236
609
575
29
330
68
135
64
935
697
259
985
294
743
105
463
793
20
368
421
892
299
909
5
288
200
792
71
133
504
860
345
49
399
453
506
33
36
985
264
188
681
947
181
943
454
734
580
884
661
772
646
139
258
101
590
957
482
97
250
649
597
735
608
309
484
545
128
227
260
172
574
220
282
151
227
99
479
38
982
130
131
557
247
273
70
784
182
55
343
555
195
106
838
555
341
231
987
30
614
926
87
500
25
181
723
329
804
1
105
456
765
36
885
543
215
289
284
112
395
329
837
218
207
38
182
44
525
484
744
195
251
700
397
288
691
418
461
799
453
798
398
708
250
443
798
363
921
460
675
468
834
441
508
995
745
846
830
336
266
304
597
239
353
324
147
383
921
486
345
33
751
435
409
511
849
799
117
810
742
322
508
79
70
946
2
378
22
189
356
687
366
789
955
197
744
732
4
817
366
521
498
942
621
223
152
944
527
607
726
419
292
625
341
602
351
992
298
974
433
632
802
907
160
466
11
96
859
933
357
342
706
38
586
592
872
513
764
781
773
222
784
982
832
51
75
315
207
160
277
284
285
559
755
667
665
505
290
938
140
576
924
742
888
978
731
598
945
498
743
698
549
816
50
366
23
195
782
487
6
239
108
48
955
650
380
32
863
65
817
54
964
622
262
374
552
793
85
859
510
437
195
255
803
240
194
764
246
409
977
442
518
482
121
472
53
739
11
61
648
662
636
396
602
909
479
108
596
523
457
457
348
493
355
684
395
677
511
28
368
1
799
111
435
910
236
556
807
727
850
918
650
142
43
421
156
358
58
47
18
126
857
127
469
812
924
995
45
10
578
629
12
110
252
735
378
787
54
15
692
598
54
389
575
755
922
454
424
340
454
788
707
891
635
395
337
63
140
452
254
414
187
295
26
87
117
879
903
801
673
884
484
858
576
434
855
769
844
905
23
720
570
870
308
285
739
136
367
6
776
726
600
831
679
403
672
495
507
220
633
980
513
859
447
709
158
668
215
886
870
858
780
487
313
489
742
644
701
596
276
898
477
484
862
339
277
203
187
363
368
31
438
773
273
344
645
771
965
911
991
713
164
650
479
904
398
215
396
330
850
377
562
261
844
352
589
743
73
770
194
68
446
951
239
592
83
287
751
219
660
795
717
169
193
362
590
145
520
630
696
482
880
877
676
633
454
405
239
583
646
540
53
189
308
397
788
500
921
750
378
751
444
968
732
727
443
957
129
757
7
14
302
134
799
809
527
839
320
21
280
943
38
128
837
474
111
524
724
394
883
45
349
341
650
987
969
686
853
606
641
440
379
328
575
275
600
6
868
480
570
412
437
584
278
429
12
367
202
873
778
326
415
592
770
254
837
566
120
498
886
936
960
427
398
747
237
633
225
169
483
780
286
855
925
962
808
881
978
940
778
526
229
622
431
372
823
945
817
850
529
661
750
212
67
211
462
387
420
917
961
487
178
611
825
884
298
748
845
210
735
530
877
284
790
747
967
241
93
773
658
380
595
496
45
343
7
782
622
81
697
261
437
721
859
549
3
785
726
433
810
424
743
538
602
473
362
105
489
737
970
4
511
245
210
301
477
747
479
125
142
856
298
149
901
294
854
772
788
186
756
430
549
879
944
506
770
49
853
187
965
990
257
855
16
377
110
231
77
232
976
732
104
610
134
664
459
927
475
641
80
870
608
762
119
511
229
723
246
158
752
874
793
955
559
853
678
919
589
510
61
20
614
55
626
845
853
462
307
159
114
963
826
32
880
444
36
84
985
143
772
711
823
118
616
618
6
912
195
835
670
71
239
56
94
831
214
148
689
565
516
686
769
767
368
383
97
852
89
128
333
930
890
979
506
102
744
612
870
280
452
724
64
994
447
613
845
463
506
585
312
39
74
606
631
30
568
609
752
464
794
229
31
444
821
605
479
942
316
426
627
877
98
867
990
486
858
298
528
112
884
182
829
386
591
546
321
978
93
836
347
186
266
978
598
379
897
398
929
896
97
538
886
135
127
122
948
825
869
515
576
700
590
676
589
415
790
495
31
875
590
860
633
892
735
734
629
915
950
740
470
73
363
604
915
677
815
395
719
917
956
28
954
93
813
526
505
480
926
136
839
570
450
839
691
863
823
948
173
41
656
17
961
636
274
958
570
719
835
339
402
878
134
515
292
362
815
389
897
822
575
315
801
3
302
408
345
172
771
257
593
737
749
644
217
907
448
965
632
880
167
499
693
116
210
942
394
848
249
14
54
154
652
818
627
634
284
365
589
468
423
161
210
809
768
577
143
459
930
731
166
103
298
405
845
828
220
869
6
673
443
150
63
731
358
869
510
955
275
497
295
651
1
897
585
124
825
757
596
398
774
9
839
339
976
738
289
486
178
815
226
109
244
353
994
36
122
822
37
222
263
178
776
853
361
364
332
917
888
587
626
313
859
169
861
432
31
528
903
855
176
908
193
740
794
167
576
647
430
224
41
499
364
233
176
470
194
912
327
376
768
235
99
607
244
644
923
499
967
11
719
706
469
639
59
150
998
224
179
570
389
863
491
115
450
148
191
979
521
303
133
157
322
777
734
617
854
41
301
982
791
881
927
799
208
844
256
815
379
795
526
186
150
498
110
815
6
955
901
244
926
211
64
464
54
449
548
209
366
491
255
218
549
786
375
63
468
4
524
181
602
38
160
382
317
657
880
772
957
388
933
915
259
867
561
429
370
871
416
0
475
495
113
342
947
153
481
394
528
384
238
740
43
648
800
923
222
206
485
107
699
890
776
428
356
909
357
604
362
65
981
17
649
292
981
974
571
367
716
557
161
177
18
847
150
43
896
77
588
625
520
672
86
835
999
21
44
550
856
154
652
800
163
798
158
191
871
986
58
847
230
718
158
497
354
332
39
15
342
657
469
5
16
969
525
681
508
612
964
639
867
949
503
828
362
88
869
663
72
578
702
701
414
811
620
617
973
176
205
758
930
369
654
104
317
79
342
410
537
312
183
835
465
158
285
575
577
900
944
81
438
946
208
726
237
246
243
708
109
967
664
619
607
432
101
228
42
660
175
67
475
904
344
987
988
973
886
891
177
639
123
269
735
928
961
710
6
556
473
796
513
969
810
509
869
326
698
273
154
669
457
384
918
543
565
514
999
16
422
140
320
287
255
775
830
511
691
738
530
403
555
344
129
903
235
785
354
757
688
285
773
994
807
86
703
162
695
524
247
492
883
882
539
725
123
904
228
430
266
779
182
360
153
684
613
779
988
39
560
79
196
360
369
403
936
583
94
511
673
406
555
736
312
617
504
695
712
529
301
793
842
747
35
359
435
618
747
888
241
429
141
713
585
300
22
579
145
550
356
727
578
217
815
856
135
522
914
709
162
772
515
822
496
306
896
275
71
904
672
9
903
438
655
738
613
944
143
149
172
470
614
548
694
147
891
897
807
112
891
718
488
257
937
577
401
301
975
88
909
686
87
515
681
728
244
67
209
640
332
948
631
20
581
728
65
87
448
920
909
894
802
197
594
809
398
166
599
538
798
221
870
898
64
867
946
797
257
815
255
776
698
702
904
164
240
299
505
493
81
307
376
307
781
624
602
833
873
633
662
464
835
354
510
494
871
739
17
327
477
306
105
35
539
433
828
943
898
114
20
723
835
33
385
535
408
76
439
926
143
594
100
334
94
978
279
570
883
521
355
325
408
250
972
318
85
221
59
626
575
111
188
799
45
446
823
271
401
419
643
521
689
161
790
815
434
948
132
374
60
706
644
225
61
931
732
159
725
659
623
557
982
681
289
205
785
257
879
373
373
175
626
159
443
12
27
752
29
357
593
542
264
853
725
237
270
966
36
344
92
883
56
960
40
65
828
488
907
407
194
952
376
121
276
577
463
850
795
309
929
415
526
887
260
611
557
733
20
298
29
338
769
964
718
242
556
979
392
564
529
101
279
991
306
635
242
635
176
501
43
37
341
465
792
598
912
931
772
264
458
863
712
815
807
263
177
777
253
299
212
916
443
758
276
189
65
421
6
419
530
620
144
570
264
337
741
331
703
129
589
900
98
911
769
76
657
880
313
164
44
237
656
897
108
42
592
121
414
375
167
974
730
718
634
801
918
87
992
305
195
924
12
673
485
331
305
718
621
295
582
680
591
769
162
14
592
600
250
769
108
462
643
14
148
349
517
727
614
680
273
578
150
948
318
781
504
121
623
126
387
82
12
143
548
455
234
965
74
47
574
785
359
521
459
212
260
862
751
866
581
680
830
38
866
859
117
675
418
195
653
465
113
304
352
177
880
194
183
354
145
898
613
227
701
480
395
768
227
412
353
826
57
149
897
454
682
424
655
13
58
279
810
593
250
922
619
493
119
656
42
422
425
140
304
379
668
745
807
237
740
992
401
495
457
733
471
821
893
598
215
481
946
168
86
614
333
794
747
860
976
857
183
45
809
471
364
859
695
681
456
845
537
364
243
925
51
298
798
151
414
36
641
18
246
255
112
299
861
540
189
160
861
285
407
195
403
913
848
164
316
943
262
0
866
459
422
397
304
674
956
318
177
986
320
152
282
546
192
642
0
680
666
265
80
383
754
608
896
741
713
74
364
614
111
599
920
246
79
47
52
485
20
345
168
269
118
504
13
78
795
582
321
848
949
82
307
584
360
124
259
147
268
445
923
756
887
461
33
661
92
374
120
731
352
915
945
40
906
693
401
1
42
954
441
604
475
560
222
83
647
529
371
822
526
399
253
345
26
307
186
157
699
290
921
311
486
672
560
990
466
552
111
167
251
571
380
226
68
105
157
435
485
819
361
480
668
745
44
740
448
340
462
310
169
79
322
300
298
72
793
930
14
543
414
975
167
51
531
164
399
631
178
542
431
559
671
39
410
763
763
531
1
638
476
103
56
784
149
985
439
497
515
576
868
846
290
728
472
152
68
39
444
225
454
955
890
831
207
951
88
667
660
87
919
58
327
615
993
237
238
588
462
830
435
804
246
308
855
727
60
699
251
972
739
487
127
808
769
423
204
398
180
516
891
374
324
272
111
520
563
213
578
269
602
595
447
567
993
285
752
171
533
64
600
87
225
870
403
862
482
119
952
546
306
804
351
378
510
827
219
509
517
917
515
575
872
59
665
713
578
612
925
883
516
628
27
956
948
669
152
319
465
972
900
625
817
46
759
886
835
549
437
191
155
52
627
218
938
569
950
686
800
357
389
747
466
564
777
206
187
412
66
205
979
329
652
458
298
735
475
394
47
963
43
178
520
396
646
243
506
356
964
855
168
659
711
278
745
694
680
481
955
689
40
104
805
489
346
976
25
549
821
325
151
371
958
594
640
18
257
490
408
411
354
310
590
200
660
155
16
521
699
871
684
410
888
503
589
868
828
79
660
439
869
647
860
963
309
16
236
191
353
171
183
46
746
214
336
643
344
935
938
275
669
844
234
74
97
749
307
211
420
834
827
63
664
685
442
64
550
921
402
476
595
177
329
460
345
479
830
589
555
611
551
311
792
884
382
78
822
877
592
358
525
124
751
130
785
577
601
768
198
581
240
360
22
617
413
309
621
250
38
684
23
864
766
274
24
487
353
501
285
670
393
706
995
921
230
291
393
423
129
508
949
160
349
426
516
226
77
882
821
551
311
669
256
428
940
8
922
168
660
570
169
268
919
722
320
56
834
336
910
950
663
699
628
314
513
444
758
900
246
263
847
662
611
557
421
706
438
62
182
830
844
453
689
701
263
550
413
291
521
531
594
846
404
444
186
121
55
669
231
33
189
751
833
841
58
542
202
877
814
481
334
545
857
725
40
830
60
433
337
568
559
941
380
640
337
472
906
966
881
583
150
640
256
571
239
875
621
931
348
527
763
418
916
281
597
503
697
802
243
422
266
173
417
330
992
154
389
391
620
532
234
277
696
721
319
398
438
514
995
830
351
102
933
880
695
999
934
656
593
362
287
469
162
395
259
974
491
680
12
32
518
984
654
395
59
478
992
881
183
489
422
356
581
418
67
217
480
307
645
616
137
882
789
861
564
55
358
554
645
373
254
607
625
461
344
786
205
876
586
36
623
207
659
159
575
583
646
504
833
783
525
94
102
545
852
622
676
900
524
800
470
840
694
434
838
822
131
509
851
659
272
549
236
721
71
765
904
572
95
779
537
634
236
458
200
707
338
664
984
415
441
939
67
213
105
305
525
423
622
815
101
855
304
710
795
377
206
655
216
497
470
263
990
645
392
386
264
366
241
732
348
28
836
543
968
59
818
945
868
520
252
757
683
626
156
137
605
487
849
307
88
103
787
726
594
644
171
342
279
274
449
161
736
470
8
616
698
650
987
699
786
748
4
419
603
58
125
506
640
64
86
738
519
715
116
575
191
363
29
48
968
485
569
347
529
890
621
949
651
562
563
915
3
618
620
608
50
349
471
748
491
138
312
227
159
999
643
732
194
370
281
833
816
97
602
151
269
744
582
24
524
856
916
271
772
554
336
702
312
643
826
468
719
383
384
991
899
121
472
487
799
736
640
97
681
795
565
223
109
371
528
902
315
751
680
527
878
12
529
378
654
789
165
191
794
649
52
503
882
251
43
852
765
881
652
282
322
346
902
161
782
611
975
46
16
377
758
915
789
235
57
569
585
338
4
140
519
832
991
492
728
440
177
374
695
891
447
477
275
638
670
277
0
157
331
771
639
977
393
256
84
306
414
928
643
610
785
665
30
137
732
164
198
743
961
789
197
325
551
613
653
510
308
519
361
410
642
623
710
11
951
356
714
318
902
275
840
295
185
561
592
85
932
332
388
573
944
809
66
488
318
578
46
741
21
365
537
522
344
504
83
840
674
950
210
664
545
540
854
561
561
657
35
678
858
946
503
908
260
485
508
863
821
257
897
542
182
434
156
581
284
12
950
279
973
50
68
788
101
26
148
572
704
878
417
545
188
918
422
644
754
949
550
605
328
644
764
756
535
826
996
680
762
959
131
415
776
233
419
201
387
179
55
37
275
727
819
46
60
576
666
711
498
130
49
174
36
283
870
878
533
6
120
662
259
247
696
586
305
424
61
50
14
906
586
901
319
944
477
427
91
734
962
879
939
887
209
10
874
632
245
70
785
64
366
329
807
257
508
873
198
530
58
937
152
683
148
360
119
984
496
180
344
770
364
808
455
799
190
192
611
200
200
761
860
444
75
644
318
346
854
634
117
130
885
118
28
872
148
123
369
180
455
624
39
857
531
878
258
797
67
893
91
418
689
887
531
327
230
579
238
804
786
152
409
32
453
676
14
321
632
251
433
879
254
267
808
658
282
644
417
915
261
653
446
452
676
868
637
642
683
553
936
929
943
555
811
821
329
527
360
568
984
941
269
84
314
520
95
367
667
397
938
453
906
214
106
275
767
988
828
494
941
608
666
254
75
954
551
464
254
219
725
537
346
179
491
506
562
902
151
125
668
284
378
625
823
165
38
775
672
397
554
791
57
400
836
785
72
137
512
896
583
635
328
255
260
725
341
222
393
200
757
621
852
721
988
395
303
191
248
705
454
496
592
606
520
22
144
202
183
124
946
757
679
260
25
549
892
282
706
998
961
670
982
625
787
39
234
873
321
331
550
8
476
296
519
386
148
77
824
346
691
265
876
991
719
601
920
467
562
48
150
876
606
158
955
526
59
54
919
907
275
629
39
493
850
152
775
807
511
148
137
747
912
363
410
237
902
46
635
172
587
366
612
623
930
68
570
816
792
985
382
294
342
272
839
340
383
160
743
601
830
530
154
518
561
617
402
242
676
210
276
997
907
843
460
261
199
980
319
819
938
17
755
994
652
508
574
204
549
101
81
791
878
712
704
26
613
525
769
131
887
991
293
591
730
107
755
874
402
511
522
875
506
120
389
182
1
887
464
584
798
637
583
419
363
812
926
772
487
992
628
509
773
311
608
45
954
622
764
955
700
764
275
377
760
546
872
257
984
618
975
227
635
42
662
915
399
734
129
327
499
148
432
640
472
57
413
16
697
533
241
158
797
879
683
826
148
860
454
985
535
452
731
821
64
859
212
45
99
149
462
538
231
983
414
998
959
741
353
322
837
113
842
894
21
469
753
641
288
737
483
885
574
447
466
921
75
183
153
614
292
658
836
77
17
992
295
463
248
169
610
734
20
826
54
234
938
894
80
59
993
333
251
31
990
587
248
935
851
37
509
80
985
186
27
212
357
530
600
769
858
955
7
415
133
181
850
417
741
174
701
125
774
240
380
640
628
940
296
526
486
161
566
196
764
320
430
940
300
38
100
83
557
910
419
982
880
804
203
220
937
754
134
72
603
995
186
936
544
152
96
41
167
517
24
429
954
404
888
207
746
328
554
171
770
944
897
430
171
23
149
191
100
461
364
296
697
359
925
780
494
767
891
959
445
209
47
236
24
290
643
330
863
910
100
826
279
534
267
419
247
346
986
764
333
440
800
926
132
396
328
740
11
17
734
739
616
994
964
540
885
736
440
692
810
699
549
58
477
666
662
357
77
719
473
683
256
819
702
957
858
284
387
122
524
455
466
976
119
829
708
818
327
96
912
834
484
478
88
986
670
822
675
86
338
38
96
930
275
865
58
141
118
694
2
599
689
364
41
759
685
726
588
50
773
566
351
349
162
828
532
171
664
123
764
535
588
435
342
69
93
425
778
478
785
870
354
288
779
85
388
434
922
860
301
842
586
829
455
804
622
540
99
281
80
893
5
249
863
659
718
679
908
843
670
344
533
321
548
600
46
984
316
22
427
250
615
941
366
285
913
177
63
85
820
349
33
700
562
412
99
24
548
681
361
947
342
862
134
954
91
694
55
470
290
427
763
289
659
982
917
233
718
443
92
7
144
880
529
938
338
913
35
174
776
667
714
857
421
62
78
700
709
859
206
546
744
360
178
85
454
67
133
561
256
540
867
294
332
825
436
172
229
156
275
638
425
952
103
527
368
993
179
666
629
834
414
216
475
197
271
432
342
39
969
363
593
492
163
282
373
355
149
507
82
310
960
578
230
802
495
243
69
292
751
355
404
688
991
743
294
908
427
327
894
565
382
364
945
529
219
419
101
449
599
111
635
503
893
200
311
348
155
652
170
549
650
298
323
357
794
43
479
605
186
185
504
519
623
297
209
859
717
230
423
723
558
303
733
587
513
619
156
513
280
277
83
942
312
659
447
826
655
974
66
67
73
404
17
967
188
67
855
295
117
163
366
989
141
35
592
49
597
684
276
300
938
488
372
980
754
486
741
874
181
647
875
111
640
135
411
849
798
278
506
943
839
593
913
275
581
234
453
293
383
135
852
815
394
36
935
715
416
911
576
479
311
634
241
429
175
354
777
226
77
126
217
107
905
90
863
454
632
303
213
252
513
656
284
797
864
206
848
838
27
644
547
7
455
72
531
823
609
966
75
223
596
905
101
682
631
942
500
720
396
493
969
774
191
907
984
866
22
74
76
375
434
603
513
814
480
506
152
527
238
172
129
756
174
723
904
307
150
221
591
954
915
323
228
523
453
438
893
163
977
242
203
928
707
828
183
139
537
431
871
190
448
350
68
262
213
261
305
459
773
205
680
522
436
550
74
600
661
834
751
864
787
646
139
678
810
563
714
158
206
772
841
129
900
802
900
775
154
185
454
928
684
439
348
878
22
605
770
169
176
649
244
820
560
367
733
316
804
114
931
130
301
862
561
851
923
863
206
364
302
66
132
823
599
204
550
101
244
995
549
135
117
480
900
275
910
789
930
753
60
413
167
938
244
150
385
588
82
12
589
866
416
731
732
211
926
832
217
340
729
733
905
67
595
453
814
60
852
223
329
377
321
759
768
793
887
40
317
284
321
836
669
632
256
643
164
443
694
92
142
214
217
978
334
197
145
106
259
727
812
267
204
630
959
850
696
402
60
35
208
489
975
59
843
254
808
62
335
639
648
973
567
419
736
330
700
645
233
714
320
942
609
301
441
595
180
377
849
832
732
980
152
39
441
426
635
465
18
462
385
786
912
758
237
701
558
547
868
153
595
84
594
136
570
424
724
492
449
31
874
440
503
325
780
810
481
290
364
81
361
77
355
986
395
831
835
907
954
671
320
204
79
499
361
39
13
815
149
90
958
811
713
41
160
564
523
631
942
663
307
348
396
484
140
270
232
360
391
119
869
122
760
201
201
327
84
999
339
736
646
736
447
765
391
503
311
758
753
224
778
849
69
939
589
258
643
41
833
175
91
678
831
805
114
466
963
816
800
614
672
549
253
547
410
85
562
908
572
493
723
768
694
62
95
808
921
960
938
626
827
245
797
748
905
487
987
511
85
879
24
272
599
849
704
293
781
360
898
571
868
410
823
706
287
177
658
493
864
246
99
596
701
811
528
145
603
197
573
831
626
634
984
138
960
857
702
447
768
325
20
889
835
91
539
584
554
683
726
976
756
290
104
657
795
848
432
510
65
966
214
115
686
905
416
897
297
602
916
460
731
10
257
569
856
117
637
666
768
539
137
365
54
249
728
731
269
291
942
558
513
311
972
741
57
727
651
825
41
318
935
517
994
977
38
399
223
441
189
733
771
28
173
105
32
688
559
65
394
158
800
578
899
442
346
266
404
682
283
618
430
288
162
196
166
271
136
19
808
664
451
682
982
706
459
541
13
156
243
712
75
505
728
511
449
326
347
273
938
778
70
441
69
283
692
898
948
120
165
451
271
682
116
34
204
273
484
699
540
547
406
617
563
782
658
344
184
412
394
14
691
456
966
272
970
918
28
835
750
491
452
989
9
688
947
496
275
636
28
965
761
84
721
278
578
784
357
921
413
100
19
236
13
329
394
814
979
815
310
776
913
956
313
842
195
862
931
788
728
519
340
171
95
73
431
236
247
399
680
933
505
580
27
857
564
955
44
943
797
571
97
892
226
629
595
877
648
676
125
532
760
748
690
522
814
367
912
319
756
72
674
426
980
254
971
208
184
943
510
464
579
909
632
229
276
7
345
728
527
521
302
106
475
321
135
355
231
11
203
671
920
430
162
823
522
616
859
943
841
567
879
903
84
983
794
531
145
214
741
786
813
349
747
53
640
364
958
675
504
618
777
358
342
226
801
823
953
603
909
893
799
944
579
390
588
349
638
759
204
658
389
682
683
659
15
401
329
390
897
784
921
452
916
593
473
622
478
448
8
856
240
54
169
358
493
830
921
336
338
800
34
800
766
676
393
853
981
88
210
298
218
272
361
48
292
70
832
7
581
958
69
525
716
636
418
25
232
256
271
324
983
145
572
970
604
483
451
764
204
525
13
689
463
603
625
615
948
811
168
787
855
469
142
679
60
475
911
740
221
279
382
557
128
512
359
291
803
378
339
534
113
930
109
316
38
398
379
383
275
81
496
538
644
26
440
705
853
878
983
254
329
33
667
716
59
341
342
901
314
523
531
646
141
383
301
624
660
367
574
94
300
39
627
137
106
884
953
250
501
370
622
506
490
349
205
971
13
952
130
640
662
696
926
52
746
765
881
208
500
61
689
926
957
973
141
831
881
571
288
15
412
733
100
964
995
432
890
766
393
27
868
952
399
91
519
566
641
19
444
67
608
209
195
327
5
12
709
152
348
257
961
274
262
166
630
311
946
897
788
100
990
597
51
771
909
84
109
143
113
496
216
692
608
617
718
138
656
277
593
359
250
580
538
596
848
493
139
761
504
541
651
837
673
893
572
926
412
413
164
19
665
601
372
133
381
796
426
850
870
18
566
456
872
140
215
652
909
396
831
647
236
994
998
956
968
264
957
241
957
629
419
274
90
932
437
701
224
448
743
380
129
587
66
924
734
953
866
433
416
571
864
978
380
290
815
372
847
384
444
361
335
100
139
977
584
225
151
972
708
19
644
319
745
110
537
326
106
493
132
968
470
964
617
26
849
150
187
208
106
672
586
903
524
259
808
97
275
513
157
244
615
615
369
514
771
941
985
140
625
777
46
766
968
878
65
232
530
32
308
239
98
709
122
876
148
103
276
854
26
680
518
181
818
521
864
548
947
210
993
207
69
884
638
871
393
741
100
832
576
71
207
849
253
574
7
944
530
250
837
775
273
427
716
977
905
811
428
752
878
652
241
756
15
828
192
571
816
55
797
900
549
70
641
523
192
462
158
293
595
238
456
674
840
910
978
947
39
947
591
728
102
77
308
458
598
978
558
277
940
135
674
939
457
968
306
281
748
463
920
653
302
282
983
311
907
974
21
810
695
488
773
368
875
142
217
598
657
172
40
810
574
804
345
116
59
649
144
278
531
271
7
231
223
569
494
353
137
319
664
987
593
304
580
73
36
368
224
866
383
163
471
847
388
382
326
227
572
108
410
911
753
9
116
752
672
201
614
81
967
6
458
321
476
159
426
24
217
606
843
581
807
166
788
719
111
105
123
960
280
612
712
99
311
800
400
790
450
904
182
228
497
526
744
233
772
129
644
84
983
608
877
537
12
760
66
349
490
174
46
207
12
869
119
302
703
594
189
243
42
733
756
22
448
998
70
94
802
684
892
77
252
34
694
860
560
783
541
314
601
611
736
492
704
916
945
988
240
969
476
992
95
574
37
767
69
382
671
49
992
152
732
590
438
595
67
914
356
757
610
41
808
812
438
592
72
679
101
228
717
37
306
203
975
576
869
271
61
930
885
259
978
14
560
815
471
60
929
525
987
174
752
670
65
90
364
574
445
354
842
677
523
39
182
716
110
491
659
218
760
532
154
620
670
267
63
591
287
756
599
851
305
216
482
12
360
794
176
84
440
111
935
584
948
641
659
817
272
906
93
756
82
488
305
784
38
420
437
685
451
495
818
976
616
305
310
824
743
823
404
72
164
6
135
151
388
708
718
238
197
913
398
191
447
289
894
942
695
777
98
911
103
12
791
446
186
772
574
785
294
335
618
523
558
780
520
69
789
179
522
876
694
947
277
878
486
233
650
147
18
806
217
412
746
766
864
136
960
308
255
890
963
848
359
496
589
673
972
261
720
933
249
584
755
347
646
644
629
317
875
432
993
113
967
178
50
709
706
527
503
193
221
582
413
498
68
119
723
811
117
137
348
498
699
473
699
879
21
874
55
986
149
826
370
18
820
537
257
163
248
668
364
765
468
116
545
171
814
414
184
283
192
340
502
378
827
637
395
642
81
486
811
996
802
535
43
916
158
29
498
84
363
199
223
315
367
780
565
926
326
170
851
323
610
677
398
29
132
219
880
750
228
275
837
604
60
483
776
526
724
66
601
282
434
17
696
915
426
417
538
718
462
884
625
623
666
581
730
372
826
665
369
859
78
495
278
893
983
469
369
209
14
356
96
353
13
591
611
671
105
647
377
869
407
985
783
588
504
406
231
505
973
83
549
330
628
306
741
894
294
286
546
704
436
456
428
805
193
620
654
494
543
316
181
464
633
877
452
184
104
504
952
978
649
729
626
941
663
705
528
785
728
250
880
228
957
67
874
932
452
53
522
582
438
191
578
273
183
981
922
933
35
15
393
850
150
501
152
209
73
270
611
152
855
490
101
325
396
812
983
44
709
509
7
829
821
550
133
432
347
686
65
862
405
342
131
708
1
416
224
280
0
622
844
104
955
191
319
580
287
690
567
923
989
945
464
741
750
400
630
711
422
947
324
541
916
306
333
673
87
675
563
381
276
610
476
415
714
55
403
407
30
217
425
659
281
123
14
527
777
312
45
134
224
526
75
50
895
610
915
820
655
128
521
211
397
527
81
362
528
431
390
970
795
366
294
671
927
604
277
32
973
876
302
35
765
650
202
598
409
585
252
595
579
687
863
835
711
930
756
465
373
449
688
584
441
127
760
579
982
63
703
585
949
5
315
949
977
977
588
289
598
198
454
798
882
213
790
807
223
356
563
368
566
229
281
44
39
978
835
200
703
815
650
714
98
407
820
871
387
470
993
598
620
397
812
219
817
537
66
633
740
348
198
857
925
754
56
803
755
428
41
686
317
258
343
873
414
17
732
875
133
530
447
955
594
659
877
12
863
201
415
789
707
464
704
244
888
430
643
122
886
51
459
965
702
167
896
71
472
835
333
615
885
969
866
22
116
672
976
384
79
612
858
958
100
566
503
819
694
713
917
649
410
513
174
574
243
178
71
123
347
648
823
338
831
518
221
590
119
292
860
40
739
983
821
977
406
531
791
529
808
616
935
446
438
371
715
484
912
618
532
731
933
975
739
517
188
785
680
914
167
515
105
23
513
428
166
168
421
193
783
949
763
976
253
850
149
530
232
220
529
44
550
105
182
108
966
267
222
900
76
813
363
776
491
19
436
789
931
660
282
628
696
751
919
126
158
403
398
637
795
105
778
584
517
514
636
187
135
326
989
516
454
159
3
185
191
120
751
78
943
867
346
330
515
970
261
263
317
939
478
389
448
849
947
79
585
555
829
44
319
443
10
573
199
150
785
677
347
442
41
231
606
553
787
360
228
430
317
924
85
879
783
50
702
570
49
264
500
271
406
944
614
846
733
194
778
645
801
351
920
125
860
830
48
547
958
996
316
809
554
884
651
202
873
892
575
697
359
940
227
143
326
763
379
343
294
447
722
496
77
880
652
929
8
193
488
440
703
554
900
101
722
509
430
738
299
87
418
366
558
114
906
115
260
686
818
918
167
638
790
159
481
664
782
691
408
285
850
516
298
861
710
983
643
360
416
486
116
597
619
159
737
344
838
314
257
17
63
565
165
847
868
157
109
786
517
542
99
405
223
235
265
839
51
99
649
774
167
801
874
548
996
29
549
440
201
205
665
409
170
919
56
533
137
136
506
811
220
300
803
611
667
699
619
91
625
713
802
361
755
818
967
140
736
738
259
117
732
959
531
99
265
106
819
265
221
295
367
257
904
342
73
328
126
324
137
337
229
71
357
198
213
965
557
823
199
165
200
918
754
862
365
266
470
375
144
621
601
289
452
756
266
905
914
483
479
556
558
236
345
571
632
990
229
718
901
340
618
69
517
229
954
493
594
985
630
726
253
753
263
647
500
644
849
384
226
420
814
8
923
214
379
913
956
166
461
57
946
519
229
536
318
567
753
804
192
79
181
293
79
821
74
98
215
23
501
724
740
197
935
417
403
8
192
767
227
940
771
484
510
568
212
777
891
288
771
566
353
965
923
323
500
332
15
509
818
0
665
757
622
44
805
996
973
689
397
670
352
304
269
723
529
743
829
565
914
150
156
677
311
586
482
130
183
198
324
962
385
644
227
906
54
99
743
567
336
724
871
434
290
502
821
998
697
399
911
256
261
720
455
632
805
995
87
321
828
807
557
765
892
527
412
121
339
66
862
112
369
733
934
343
141
925
89
807
120
755
649
112
895
138
317
563
887
473
250
398
478
771
60
388
350
565
193
259
305
732
636
824
164
205
241
19
120
408
749
240
453
657
965
610
486
59
220
901
432
253
907
120
921
91
577
786
118
5
947
965
141
287
926
829
306
375
614
174
362
155
647
665
992
62
100
897
371
56
941
870
668
718
811
387
959
510
677
586
97
871
941
657
363
620
532
796
506
433
677
338
496
811
914
354
530
987
944
889
684
755
147
381
573
449
383
87
403
904
229
100
18
347
876
341
552
744
77
534
778
194
891
144
414
572
607
232
992
813
772
250
588
339
324
111
241
388
321
511
944
200
896
570
956
227
655
861
403
518
923
872
386
124
500
16
545
255
627
228
595
346
57
853
986
491
661
822
689
808
556
608
460
39
150
946
791
235
2
209
65
403
528
735
127
702
797
988
592
170
187
451
670
903
457
272
357
48
692
249
282
631
661
612
111
208
264
989
247
397
621
719
353
666
873
405
164
882
532
92
322
403
816
665
40
522
794
848
309
831
153
753
480
969
925
504
787
130
191
639
950
909
617
210
15
376
663
251
433
524
898
955
953
642
477
24
481
909
468
464
144
981
527
322
578
651
252
65
456
956
56
448
492
89
985
920
656
286
586
831
365
132
453
633
732
687
819
602
953
704
341
25
989
357
739
118
982
887
204
585
57
887
616
53
333
980
77
87
111
961
624
270
752
605
805
234
25
142
416
692
476
385
896
37
544
379
37
464
430
22
84
209
900
653
421
595
912
598
326
200
405
545
739
659
990
874
645
34
50
666
639
71
742
522
525
338
693
841
476
217
227
897
489
255
145
168
376
162
99
996
547
299
449
783
36
658
966
907
404
841
569
267
74
366
804
592
802
878
602
29
738
657
660
11
813
983
947
374
552
925
319
492
439
530
796
816
532
174
322
2
566
23
788
688
357
48
988
203
27
746
255
969
403
984
780
411
400
946
536
558
570
666
813
373
700
373
539
57
933
352
344
971
31
952
729
684
671
79
143
407
19
686
763
73
954
420
991
733
513
870
280
890
355
498
800
164
406
968
199
174
568
145
15
220
728
278
573
831
211
275
863
563
478
165
230
133
305
82
575
660
642
920
411
104
60
537
872
683
550
681
736
929
37
539
277
935
251
477
730
130
693
825
726
856
972
857
679
926
180
59
18
341
6
187
970
276
239
352
383
383
331
701
973
351
967
741
951
499
411
804
662
383
610
805
553
483
786
641
850
838
237
354
560
535
589
433
858
387
801
141
779
581
4
720
196
359
821
776
656
850
381
247
689
963
684
66
513
948
496
613
122
40
268
548
825
46
327
675
771
869
410
4
185
471
831
890
857
208
938
671
565
663
105
319
452
519
31
627
392
71
584
418
713
122
294
753
331
826
57
744
840
774
310
596
166
993
939
946
591
259
597
726
505
488
32
934
857
332
695
16
450
31
244
619
805
590
496
348
973
496
276
756
895
805
534
944
319
755
492
760
32
375
776
657
231
760
736
595
391
347
937
51
85
116
104
71
962
936
886
674
732
86
634
795
990
509
764
276
766
97
109
911
325
727
386
307
678
299
939
802
504
129
473
361
324
626
343
190
425
239
602
486
78
541
860
480
692
945
159
876
416
650
56
105
222
963
335
193
905
876
771
306
180
244
262
273
262
469
114
467
514
546
843
596
935
762
619
734
358
310
5
853
188
245
199
784
723
255
78
932
1
201
946
924
136
650
645
760
961
113
412
154
81
632
314
216
764
539
509
255
937
131
269
323
529
742
957
890
559
992
418
263
246
618
781
226
560
315
389
844
497
37
46
764
614
837
958
267
403
376
225
277
567
380
31
896
218
565
174
23
194
705
340
54
541
386
754
121
668
870
909
88
552
933
339
242
130
189
308
919
561
904
321
496
638
421
100
472
951
835
461
789
140
986
659
212
665
428
173
788
247
513
495
695
23
801
8
50
982
305
856
326
861
715
447
471
153
878
529
757
266
565
378
74
657
304
753
750
294
409
263
224
672
62
859
662
23
118
222
629
68
955
371
345
93
167
703
129
555
373
934
663
192
758
686
73
490
437
10
939
641
102
282
279
8
424
386
657
603
720
835
28
336
437
598
813
994
778
231
910
344
984
12
392
683
655
440
851
175
633
256
320
462
406
79
547
288
239
735
650
329
10
307
898
128
587
371
917
455
933
766
840
218
720
306
101
152
744
62
276
624
452
460
728
129
665
169
766
703
884
111
993
806
266
676
295
991
809
446
679
655
937
371
901
99
110
522
698
344
775
376
254
156
227
5
438
500
323
567
360
449
789
336
993
309
836
366
900
455
873
65
507
109
531
86
920
403
792
455
810
147
470
828
424
602
562
788
922
476
498
551
7
525
364
81
349
444
110
427
325
502
495
160
384
553
73
985
764
370
510
640
488
661
223
240
439
924
9
477
826
208
77
921
218
389
84
996
325
294
313
138
541
935
167
756
100
390
216
6
12
557
781
58
76
389
943
269
120
695
384
224
551
564
383
138
61
602
870
950
415
349
868
365
282
186
955
975
276
802
441
437
412
456
113
268
888
182
128
5
740
184
785
940
400
843
827
919
965
988
645
299
222
193
175
342
202
709
206
145
535
666
199
972
311
332
122
47
334
338
68
672
633
327
384
408
550
627
924
948
276
111
871
306
707
715
897
480
751
47
510
405
419
920
499
832
504
41
915
691
768
997
711
91
467
498
365
777
554
877
681
727
168
514
297
841
252
223
540
479
857
432
445
338
699
837
226
767
317
195
593
364
855
612
592
271
742
897
444
587
437
184
919
62
557
78
633
610
688
769
495
213
645
999
565
688
711
297
431
710
604
849
598
986
667
981
9
211
188
244
392
858
748
482
567
346
881
784
673
391
756
553
494
951
273
431
492
248
844
393
193
987
888
250
353
324
0
869
153
724
870
189
423
765
825
157
195
316
929
509
25
424
668
36
998
689
115
957
774
458
968
598
596
361
225
516
681
240
63
939
719
175
450
817
338
8
934
827
688
72
596
949
875
279
619
36
642
920
783
903
767
563
503
642
500
109
14
851
961
761
874
655
928
642
95
218
727
220
485
658
152
70
380
874
567
327
641
870
394
626
842
115
993
902
966
225
421
856
210
935
971
263
958
757
109
647
227
783
953
266
686
639
678
823
721
147
754
105
880
839
997
858
799
753
441
807
552
899
201
622
244
574
332
866
260
133
441
926
965
451
85
581
90
277
596
540
330
665
959
575
758
901
515
974
712
354
207
303
753
123
632
942
760
795
924
980
299
590
600
341
318
118
641
535
451
577
990
128
765
814
503
288
28
209
664
448
505
786
283
473
192
890
508
50
799
742
644
164
70
679
966
751
736
417
578
463
328
43
63
832
490
704
580
549
244
190
374
910
778
152
431
478
989
68
479
53
120
811
564
852
113
870
676
33
741
13
655
114
519
709
559
501
195
416
871
175
856
717
834
123
492
824
80
408
455
441
234
15
925
614
81
564
669
972
47
416
168
173
206
787
131
169
974
47
329
815
207
616
684
948
408
373
146
793
439
228
134
769
461
951
580
841
183
339
637
200
508
155
195
794
975
6
703
559
593
641
396
185
640
844
141
119
671
206
561
859
557
740
768
450
66
604
48
110
357
227
823
621
361
822
48
887
819
686
51
232
144
579
547
555
722
72
261
763
851
839
329
541
793
422
294
338
391
122
917
431
613
875
779
361
372
146
450
422
799
163
611
134
687
818
345
247
989
552
918
895
495
526
111
644
272
277
470
388
768
629
954
306
742
647
918
598
623
825
802
67
665
865
806
364
454
362
466
285
415
537
666
603
691
936
777
480
163
21
339
348
316
815
137
807
538
740
279
798
226
465
56
887
495
951
534
790
665
175
86
754
53
542
279
116
454
326
400
819
342
974
968
540
533
68
535
909
892
659
540
961
626
971
773
524
166
782
461
105
72
73
559
3
351
622
563
678
188
329
988
542
632
346
104
301
897
742
615
707
260
641
936
872
764
845
288
482
796
863
375
834
931
54
733
941
684
25
912
481
306
948
329
375
413
953
148
196
993
232
410
811
374
973
270
849
8
759
870
201
113
784
426
787
831
125
583
626
714
360
834
80
191
952
608
206
624
730
921
326
393
142
550
929
548
892
133
815
294
337
985
565
660
511
475
818
235
408
340
314
521
17
75
714
291
642
995
421
439
273
653
681
315
282
829
138
124
631
227
151
709
785
835
729
213
440
645
24
64
449
672
730
535
18
413
682
13
679
249
811
22
627
917
700
97
606
917
12
804
259
86
101
520
867
679
598
830
399
482
390
659
5
175
220
271
268
765
2
917
78
659
328
437
102
278
967
774
532
290
227
871
211
865
309
271
282
774
904
674
869
678
683
112
598
478
905
105
932
243
782
77
375
359
438
544
332
306
292
598
347
713
571
351
85
142
268
23
531
573
647
848
145
778
106
174
798
946
714
397
835
161
592
882
274
479
559
888
412
61
105
797
84
758
593
482
801
672
860
74
1
329
233
265
932
612
81
286
59
798
204
165
598
886
443
833
113
826
375
904
170
646
508
225
775
553
540
922
831
546
880
630
483
510
94
130
995
748
425
349
179
798
67
11
166
898
50
296
793
408
746
380
904
466
395
106
409
348
706
157
138
853
792
568
468
317
411
180
920
456
706
304
715
384
163
511
576
569
140
453
972
123
857
749
596
964
177
492
224
121
832
374
372
336
959
643
853
156
302
219
196
599
128
842
325
103
512
798
75
994
858
271
606
169
93
460
537
595
182
929
23
6
301
574
352
67
276
721
205
437
350
839
325
267
749
113
188
718
325
691
426
140
593
201
661
615
452
863
211
729
896
851
120
764
44
244
706
529
903
490
377
974
700
56
115
428
922
206
861
319
574
952
700
326
975
581
876
199
478
384
644
898
909
917
461
772
148
173
181
357
582
639
118
78
388
530
973
331
404
552
439
921
548
216
60
713
37
186
264
975
698
325
534
686
897
261
195
494
268
897
586
438
174
21
253
73
840
590
741
662
211
658
755
476
997
540
716
856
212
142
747
868
333
64
627
553
907
469
342
350
97
260
169
28
753
355
404
837
993
715
739
947
153
679
200
164
894
915
609
303
426
647
981
720
467
474
360
35
393
597
312
777
133
467
902
14
132
98
925
162
904
704
145
369
904
201
33
375
324
798
395
740
504
125
532
167
690
561
951
175
615
958
139
316
14
32
753
426
473
257
622
562
558
819
589
632
260
909
409
465
578
669
650
610
314
102
140
916
668
149
161
21
785
650
504
116
223
181
106
299
776
363
540
70
74
889
50
47
375
102
461
317
302
4
219
641
39
91
826
41
131
773
794
128
156
513
496
190
488
153
290
707
113
155
798
886
719
670
99
748
352
460
431
164
499
559
239
568
857
632
994
719
243
623
963
971
724
125
17
933
773
220
800
913
765
178
18
291
587
208
559
79
640
370
120
208
931
148
22
626
371
225
455
679
826
907
950
412
120
807
225
137
185
703
904
729
621
988
95
302
566
907
500
663
623
477
435
428
418
677
573
911
595
585
169
116
347
707
33
77
123
559
1
787
415
511
22
902
28
500
539
27
678
218
372
411
16
996
793
965
887
523
996
170
237
631
572
886
631
910
20
974
630
768
746
918
189
802
291
225
417
86
321
491
887
106
695
412
651
795
665
942
282
198
1
163
827
331
135
452
77
843
50
370
464
438
774
550
891
648
955
822
164
994
95
39
843
394
614
857
552
404
973
961
978
536
47
205
489
349
145
966
260
83
138
734
232
947
469
621
943
615
600
645
588
116
303
128
248
500
550
631
380
937
293
99
241
246
484
946
626
74
84
362
995
713
679
756
70
4
952
997
453
234
970
658
715
355
447
1
267
730
364
813
14
774
51
544
1
977
796
231
674
837
29
661
378
831
580
756
647
625
585
76
488
645
249
419
874
812
81
651
972
532
737
421
210
582
299
815
596
480
418
56
715
281
912
370
968
312
458
858
524
627
628
544
882
312
787
476
165
829
429
409
244
940
897
901
118
23
395
808
253
34
713
120
930
570
719
626
953
240
389
305
754
515
965
61
803
389
742
510
879
629
425
473
249
648
756
953
836
408
325
707
284
528
116
655
15
559
107
714
876
259
671
659
97
293
392
390
25
894
746
954
811
937
984
894
363
984
232
343
271
101
237
263
448
70
552
761
86
416
781
256
997
416
24
419
576
507
611
615
792
515
522
173
686
535
231
908
405
50
304
34
930
401
692
518
289
457
665
323
978
586
696
724
756
690
936
371
582
894
909
544
297
636
792
695
978
962
209
690
305
54
62
949
80
748
141
317
178
517
341
260
149
38
29
25
607
682
159
775
241
633
173
697
38
880
492
830
73
452
360
713
24
290
531
32
196
139
534
917
925
739
636
632
192
997
735
47
973
361
973
896
356
691
442
453
809
400
6
369
899
466
103
749
114
775
533
206
754
792
407
188
545
483
328
245
972
718
959
416
91
490
866
681
959
985
563
90
820
322
87
765
588
582
345
5
608
821
537
500
714
202
183
227
84
575
268
300
384
610
636
227
177
628
279
414
772
171
568
113
93
950
718
325
642
288
589
815
282
309
392
222
812
678
864
55
521
9
579
378
966
757
641
809
437
849
526
229
475
652
450
269
719
923
219
761
999
235
928
285
807
599
560
115
168
143
315
719
369
101
482
835
797
76
241
43
615
872
358
837
751
705
926
945
665
9
243
412
966
55
266
681
716
395
783
196
861
571
43
514
612
98
417
980
444
989
844
943
313
374
940
219
616
725
65
467
571
839
7
730
191
863
750
942
879
978
738
327
191
411
501
137
820
837
891
166
600
273
539
936
416
679
187
117
223
845
122
406
101
81
59
295
366
889
678
876
463
67
201
430
57
775
785
281
585
416
407
106
317
662
706
178
971
123
664
270
846
147
98
291
276
753
934
316
485
281
393
545
60
551
665
998
625
940
498
215
238
785
661
328
854
675
122
358
280
250
117
260
88
889
482
161
912
817
953
151
974
662
716
852
990
634
164
746
818
793
548
161
767
345
409
652
21
934
730
430
824
448
664
339
431
321
726
684
664
44
52
94
887
997
493
203
167
750
505
568
82
782
82
351
85
911
731
134
26
75
247
567
410
233
860
398
795
837
702
535
873
616
201
343
558
458
528
943
819
516
699
975
325
904
235
883
549
446
518
591
915
991
304
469
58
523
995
243
465
539
856
110
826
332
809
972
553
874
464
422
305
90
432
781
952
326
914
84
802
612
688
364
856
230
723
363
876
180
663
714
745
12
105
864
266
274
84
408
141
919
324
494
912
362
601
967
3
613
791
513
850
362
486
699
425
628
662
617
260
964
868
101
150
883
961
962
594
650
226
679
308
897
272
121
327
699
74
359
528
952
572
307
361
894
98
720
565
607
111
424
357
322
346
513
41
879
983
146
0
94
231
437
368
973
872
765
166
686
822
463
277
203
91
603
976
668
488
392
995
884
156
697
233
663
625
111
441
784
66
483
708
535
739
866
886
680
821
103
13
534
491
404
421
402
970
688
705
799
599
401
91
163
393
237
588
165
397
765
814
925
730
951
690
722
848
660
138
624
476
578
418
22
278
912
506
378
428
893
485
413
187
730
750
690
369
874
144
93
570
886
936
575
724
56
887
765
842
62
714
978
641
335
766
587
85
375
407
584
666
979
621
560
132
258
83
218
343
703
985
259
82
98
261
619
931
97
640
44
175
212
474
94
217
419
664
21
559
892
340
493
434
256
694
616
216
417
652
263
325
569
348
883
5
491
18
825
950
372
711
459
742
599
418
253
298
182
856
978
564
432
101
380
724
335
724
347
482
923
549
985
105
572
835
505
86
306
294
99
608
334
576
416
433
387
594
612
558
324
718
755
646
248
201
284
607
146
938
990
775
917
91
535
696
580
499
553
745
574
170
4
425
101
111
902
434
218
558
608
265
131
236
715
578
627
303
443
342
447
891
4
610
897
303
727
443
517
916
908
269
13
30
972
292
246
625
68
81
323
459
924
528
593
167
391
658
452
63
410
569
742
753
856
545
305
64
605
20
924
166
255
383
716
674
933
440
210
280
186
282
847
224
218
643
500
209
363
455
387
966
426
279
314
316
789
792
301
623
315
405
444
255
359
825
589
419
537
135
437
102
503
110
99
927
959
85
705
511
861
727
336
123
588
862
77
225
293
406
572
776
941
185
270
722
354
623
387
467
875
682
346
688
572
24
560
822
445
796
518
859
608
54
501
40
259
671
332
507
484
159
607
243
18
650
827
257
414
787
194
972
376
191
88
235
127
396
613
608
877
851
515
630
75
616
718
549
339
385
727
855
966
560
751
183
713
760
170
167
245
560
901
9
287
389
869
328
613
815
437
408
918
978
890
423
935
671
773
632
300
262
455
264
556
241
942
355
455
27
635
556
882
893
974
828
684
235
617
480
938
807
748
600
983
480
954
185
297
280
504
330
398
496
424
765
250
940
57
378
188
708
150
379
88
874
613
877
911
427
646
832
198
917
822
19
866
33
403
332
960
351
211
540
905
465
192
391
300
690
5
736
583
863
705
667
339
640
630
335
869
377
831
534
787
300
665
558
134
883
977
220
464
805
907
549
871
752
477
505
628
413
171
953
610
970
539
110
210
39
441
650
279
405
186
661
295
370
668
512
292
707
39
543
283
20
534
125
292
273
770
969
231
200
735
242
190
565
517
899
486
558
627
755
118
252
615
901
804
354
842
608
58
180
457
290
290
961
948
543
935
212
973
105
309
505
973
556
266
204
205
358
931
585
209
361
483
893
419
755
401
834
404
712
378
31
735
925
265
305
69
316
646
394
871
849
585
218
746
834
39
113
442
579
504
399
271
773
597
30
102
553
515
49
485
338
962
701
765
329
679
951
798
366
863
33
418
729
411
887
0
337
626
13
511
399
365
837
378
314
694
503
358
504
39
953
393
635
332
871
944
534
226
85
821
583
756
174
566
221
792
79
406
443
810
715
768
658
690
809
316
176
567
771
469
533
929
320
521
709
639
174
220
324
250
854
649
445
579
617
604
770
340
587
974
216
189
292
358
768
819
342
595
207
768
986
649
855
961
461
551
428
929
374
518
697
914
357
593
192
694
748
239
917
314
71
897
309
824
117
482
911
840
10
562
324
472
555
952
536
503
515
708
355
690
667
947
581
30
850
60
313
934
2
535
490
353
755
837
669
634
812
884
117
924
351
350
0
826
230
408
959
341
841
658
125
762
9
761
702
936
922
534
918
883
672
939
449
167
995
726
705
465
49
474
509
220
749
340
415
228
28
153
329
772
794
147
536
632
978
930
616
140
906
522
377
766
259
760
242
516
115
365
424
24
699
935
982
508
806
995
560
247
755
552
321
281
359
88
893
184
476
900
257
556
630
419
63
825
459
489
162
742
790
987
251
659
222
400
652
864
937
404
880
560
849
776
887
306
554
839
504
240
637
77
259
735
17
163
950
792
465
302
601
34
78
719
524
804
518
690
418
44
184
191
490
16
105
147
567
412
645
560
360
734
797
164
239
48
783
305
139
462
881
733
706
788
122
754
81
804
542
52
864
411
772
264
121
756
393
82
134
128
888
153
850
543
215
888
270
883
669
892
628
746
677
466
921
377
632
506
944
400
583
895
125
602
774
564
0
54
994
7
307
446
878
538
955
527
361
500
842
811
611
525
547
767
549
109
149
906
109
191
130
642
949
418
494
165
56
849
819
476
6
302
592
491
717
25
467
834
671
61
90
87
7
607
815
967
941
908
966
738
789
492
781
176
91
203
145
201
270
925
361
551
800
803
509
196
207
738
848
780
174
103
113
775
634
799
159
731
868
621
85
833
562
791
515
595
581
914
218
420
113
502
61
653
7
664
10
951
961
694
765
654
361
234
980
655
543
707
5
167
874
77
524
101
402
538
537
45
892
928
121
760
933
394
67
280
202
258
576
517
865
912
684
119
97
58
732
503
117
650
515
514
72
960
165
139
476
413
120
483
958
948
847
295
321
806
354
103
991
245
37
398
74
240
121
790
41
701
909
684
280
566
826
335
529
585
620
619
863
411
270
290
326
793
470
387
309
804
344
390
348
788
263
730
180
72
831
856
532
208
349
298
206
433
112
798
307
939
557
464
976
418
582
382
21
464
292
671
828
16
290
426
950
372
407
705
611
240
831
735
211
432
236
750
207
429
385
661
125
181
415
627
458
272
834
462
230
737
498
563
819
826
907
752
646
935
23
984
267
838
914
142
344
372
618
809
106
741
49
734
21
850
232
379
518
796
161
7
894
27
439
285
811
675
329
664
771
260
377
764
188
270
387
48
203
363
190
851
132
334
88
22
333
856
633
680
424
735
70
964
665
860
536
452
416
584
441
862
723
232
468
376
259
420
468
190
535
958
59
905
399
769
237
167
163
351
518
281
314
996
519
706
991
653
795
321
188
563
434
354
859
843
813
372
193
728
263
897
867
236
956
674
825
111
421
401
293
305
861
430
34
720
911
139
725
841
347
922
475
586
417
768
401
946
754
576
352
939
953
836
698
389
718
119
95
882
152
707
916
89
139
681
51
796
287
362
238
921
381
756
74
141
127
973
623
143
41
568
854
318
665
28
320
649
141
967
554
743
447
167
634
745
423
744
298
276
515
708
148
634
548
928
34
686
247
79
885
322
927
694
907
790
250
467
559
127
116
138
857
711
941
955
522
124
855
876
324
208
977
863
198
981
146
389
218
561
273
141
328
921
230
150
294
185
284
414
702
897
263
883
329
311
790
155
895
301
216
354
876
288
424
827
782
446
160
240
525
101
62
873
954
62
467
661
348
814
389
889
635
131
195
262
687
76
853
192
790
287
9
323
251
932
693
501
321
68
431
888
43
379
382
355
293
663
663
564
875
212
845
778
544
896
32
893
411
857
783
440
205
246
312
192
346
42
163
475
917
478
615
124
489
42
494
876
155
125
119
760
239
998
372
505
768
375
167
1
902
94
597
595
340
36
974
116
626
786
968
378
268
574
762
257
1
104
149
692
401
172
973
978
879
417
88
877
531
969
329
591
740
417
357
114
19
476
13
342
47
715
73
313
587
356
695
157
593
346
3
94
836
277
943
624
218
896
594
90
502
875
867
190
795
129
515
473
239
589
574
362
620
276
46
312
360
194
237
517
691
859
432
636
25
732
844
618
513
304
803
403
848
103
675
640
259
579
790
695
148
639
766
157
582
703
872
338
277
805
898
525
375
857
642
897
91
698
373
866
457
445
101
78
731
930
894
876
97
290
558
127
723
374
648
35
397
41
46
784
685
559
987
708
150
650
620
246
349
146
679
55
716
414
343
246
254
482
69
802
637
665
805
799
354
714
417
725
197
863
47
642
688
30
590
408
967
300
19
812
417
85
911
43
764
976
980
732
670
912
888
862
804
995
735
696
426
467
764
896
898
836
104
367
621
744
792
435
720
828
887
440
819
727
925
276
38
339
669
364
473
740
79
242
721
708
823
863
669
330
496
874
755
646
974
882
939
342
980
126
69
502
314
832
764
402
435
988
565
27
497
507
225
96
4
392
292
115
770
520
522
821
349
91
658
407
569
162
551
363
713
452
118
555
880
930
419
582
332
74
795
346
245
330
606
618
987
973
754
595
460
917
513
362
609
622
150
645
574
46
606
61
415
419
970
754
355
748
274
67
256
472
484
798
452
117
921
919
489
715
327
232
355
153
729
533
820
608
70
309
559
856
529
31
904
62
604
759
102
830
101
342
372
236
340
351
440
357
424
160
28
567
383
82
353
93
356
896
757
115
812
352
37
181
907
245
859
352
134
606
293
19
474
54
757
524
42
855
660
223
803
7
659
249
722
160
437
292
345
934
511
177
813
179
913
468
673
802
331
338
97
90
740
684
615
313
408
763
524
421
446
864
170
481
419
605
890
873
404
332
700
614
508
492
410
408
636
76
840
665
840
770
272
215
936
940
992
327
64
310
205
864
859
519
702
310
185
251
781
378
755
621
311
802
926
961
761
727
744
103
828
145
331
613
317
282
920
888
559
772
98
198
671
346
742
775
33
871
582
234
492
949
756
154
589
70
9
855
981
936
510
436
934
996
875
42
141
25
347
842
817
540
288
126
511
383
904
578
848
372
116
860
434
490
202
477
91
234
103
849
569
161
674
120
417
476
861
872
326
112
37
855
591
390
583
139
991
418
9
761
442
95
528
504
386
853
110
507
24
876
20
722
726
491
384
844
3
509
5
176
430
1
539
902
746
445
226
9
505
801
271
187
357
994
958
428
114
39
126
823
527
271
619
141
506
170
931
231
140
992
125
703
41
326
576
356
799
564
705
458
36
883
428
75
279
320
634
193
348
506
607
777
519
647
172
517
747
501
994
12
65
418
14
760
322
657
829
717
800
718
542
131
159
735
133
2
238
698
398
921
854
240
637
838
606
80
792
290
792
616
158
466
503
361
889
296
63
955
204
132
217
586
284
813
694
846
788
8
806
223
68
65
395
742
99
129
606
649
789
327
190
852
842
380
710
965
520
7
82
715
661
715
137
969
731
568
949
233
312
375
898
878
960
362
793
421
316
401
440
900
226
636
354
17
555
539
816
669
557
31
236
759
161
465
753
130
294
996
791
199
589
813
533
432
554
577
599
448
963
43
801
144
724
219
105
744
962
804
702
3
281
975
338
43
374
777
944
857
419
206
411
184
301
816
407
77
110
691
286
431
9
815
228
42
325
680
702
417
900
372
310
388
975
965
871
242
459
586
257
642
187
65
327
941
725
797
532
77
510
262
731
71
4
198
638
429
631
268
406
109
854
411
360
825
596
669
759
57
178
173
958
592
562
872
620
890
955
510
905
312
852
733
275
479
268
86
500
585
316
882
108
762
43
997
530
207
878
565
713
846
11
661
147
785
704
29
692
124
658
465
570
191
698
780
55
582
429
944
343
15
673
477
606
718
331
70
549
986
484
844
845
996
939
423
706
379
758
699
216
33
821
250
158
754
357
961
436
953
920
684
646
101
41
64
180
592
642
877
313
978
990
350
837
612
66
78
36
708
584
474
698
493
46
873
579
579
13
516
434
695
287
131
472
120
237
15
419
106
247
82
316
738
787
888
750
585
960
737
857
90
439
415
747
284
141
767
484
883
381
590
788
113
240
146
377
419
316
991
161
807
737
157
414
959
818
319
655
946
863
683
609
550
624
69
569
52
36
609
685
573
160
141
171
223
708
641
542
437
40
513
58
45
634
10
715
70
773
861
502
67
74
574
960
466
102
881
733
751
328
49
108
559
122
98
373
618
818
382
70
144
970
425
327
102
327
838
606
871
852
45
96
692
811
660
919
303
725
248
456
841
790
420
58
917
641
172
953
433
336
30
898
160
500
335
426
426
356
562
104
227
689
755
26
854
211
996
489
500
709
648
947
570
818
696
756
848
252
610
185
246
960
79
656
192
790
95
582
29
70
504
282
865
702
355
8
545
663
822
24
562
971
153
552
25
840
674
641
56
866
265
836
182
94
256
923
427
878
610
459
461
28
315
708
96
669
941
959
128
160
810
753
598
572
675
267
338
622
198
572
462
830
793
725
227
731
390
992
920
352
936
804
524
984
679
837
410
688
911
881
241
137
981
96
581
984
611
654
21
442
409
838
881
895
631
812
427
59
931
558
221
114
459
343
314
290
59
243
843
312
37
897
116
518
688
42
851
977
834
769
801
181
414
342
654
113
166
181
814
4
174
800
295
370
880
415
235
875
463
115
811
186
998
374
715
624
480
599
540
702
958
917
506
131
299
461
555
683
941
328
758
868
982
604
833
749
116
124
50
555
361
544
897
565
567
1
130
104
778
186
744
576
462
321
607
993
611
58
27
17
790
535
324
834
543
501
626
997
530
988
433
634
935
569
132
407
580
675
372
417
639
177
487
696
732
683
335
394
821
342
551
366
645
505
955
458
952
947
722
435
895
493
103
701
8
797
257
37
991
302
787
885
604
230
689
585
44
458
198
28
740
127
224
711
144
33
349
529
18
373
879
467
262
23
129
879
656
905
112
378
856
176
243
715
276
923
690
597
618
831
567
8
394
394
287
495
913
336
113
519
106
544
371
39
480
33
995
135
775
606
510
963
130
578
791
701
610
871
127
894
181
383
497
181
919
615
266
330
167
242
161
753
98
511
965
663
39
826
255
122
3
822
785
132
441
373
423
616
41
232
758
772
901
775
662
443
652
324
402
152
339
670
226
340
431
41
493
767
679
872
9
328
696
477
9
317
357
552
330
493
908
643
617
677
253
932
714
257
722
210
186
148
890
387
788
498
671
727
305
956
293
469
551
573
347
314
216
498
375
538
891
532
613
242
649
117
2
417
726
502
478
54
451
318
258
820
595
115
309
617
661
642
873
925
389
69
16
398
172
361
737
757
292
681
955
818
369
853
930
198
893
601
685
380
467
79
836
301
298
967
982
970
28
364
58
150
609
813
973
578
54
177
879
457
355
32
708
487
433
891
52
557
485
928
240
372
152
687
494
61
954
995
883
93
157
246
789
316
658
69
869
291
195
526
164
933
302
968
888
598
105
561
335
801
639
186
61
971
793
640
305
665
34
769
88
821
14
196
747
127
532
724
413
251
143
976
749
817
535
791
337
167
116
186
254
776
850
700
472
598
327
942
637
870
107
269
507
585
927
965
306
733
678
457
793
865
501
616
257
756
669
104
657
706
846
921
481
878
437
187
239
303
655
278
585
623
714
418
213
242
454
107
345
985
644
568
605
369
835
698
869
327
576
489
520
982
211
27
87
173
662
743
830
227
684
205
989
372
100
24
57
176
276
584
777
313
367
635
113
732
264
668
621
980
890
690
924
426
877
42
101
450
405
742
870
966
373
502
881
597
556
834
263
678
384
729
192
897
294
678
718
713
919
708
793
866
664
993
421
404
924
469
5
777
365
848
250
830
364
465
773
498
721
69
165
127
892
888
738
666
621
67
791
356
771
467
482
58
563
725
1
848
742
762
233
926
856
171
57
984
11
439
356
733
443
522
743
938
610
471
435
189
556
974
853
953
374
260
249
662
269
364
106
446
678
462
638
142
287
420
916
765
779
191
359
982
501
508
132
658
320
77
530
784
539
334
694
102
366
896
8
652
484
919
598
579
237
906
359
589
267
810
835
349
780
128
206
153
245
763
812
233
792
212
725
96
615
270
445
567
571
936
172
637
965
347
365
894
31
548
184
209
391
123
392
491
660
112
979
456
895
340
506
849
619
327
783
505
71
288
753
349
662
551
584
476
328
380
400
960
804
514
979
420
745
179
497
181
626
867
356
531
702
567
392
424
142
60
458
124
519
928
863
890
412
444
490
137
54
466
77
89
730
797
781
447
671
137
228
629
179
80
499
65
32
611
259
725
455
365
542
419
185
787
308
888
909
698
743
574
282
512
818
82
726
954
615
864
909
699
382
403
920
928
696
758
168
778
639
74
916
269
183
647
44
142
745
298
750
390
343
416
360
586
434
532
770
972
515
595
392
72
110
149
595
553
506
708
359
607
264
223
460
982
339
167
186
395
308
490
597
656
321
715
229
386
725
263
889
187
364
50
277
260
504
496
281
763
528
760
144
354
132
489
596
899
651
106
451
949
772
85
628
147
308
998
45
454
333
484
920
781
438
938
960
141
114
706
698
946
441
104
908
771
507
675
745
139
148
75
51
36
415
294
385
235
379
294
876
576
187
620
506
333
563
102
205
487
931
820
712
784
224
161
72
613
374
771
364
656
573
668
696
498
388
846
82
722
92
636
493
125
971
339
684
201
422
70
77
48
438
933
293
600
335
566
23
551
207
668
880
420
880
201
34
698
454
441
733
767
139
954
468
58
261
410
391
559
18
183
828
720
38
396
882
668
577
926
517
598
857
547
678
468
701
450
761
998
603
234
447
51
559
523
635
722
972
758
239
665
120
841
472
873
713
778
254
683
245
18
637
280
896
340
211
195
535
157
833
317
263
495
803
467
798
864
148
711
709
589
956
188
136
328
411
20
694
751
543
902
14
390
774
668
528
649
874
171
242
295
428
543
963
88
149
550
491
632
725
661
999
870
573
166
504
155
703
584
233
523
255
274
348
414
52
655
974
57
441
67
729
484
334
689
995
882
238
57
796
681
353
604
264
639
476
8
248
416
649
384
880
626
695
714
270
957
907
821
475
180
946
482
904
891
99
460
999
444
289
733
66
598
694
614
427
820
46
810
377
811
534
988
918
39
69
29
711
745
565
866
622
388
499
433
919
68
555
461
741
679
937
3
318
470
998
901
520
590
40
549
612
659
600
785
680
422
35
731
714
654
262
885
447
586
247
915
56
555
95
579
226
181
890
338
366
635
241
955
154
437
868
995
937
513
489
776
970
817
518
120
802
25
991
315
292
424
67
677
375
532
320
263
774
295
684
841
207
563
456
690
391
913
807
447
181
833
761
688
884
332
793
688
199
241
762
617
49
350
953
856
987
67
275
2
333
141
767
105
243
467
878
555
795
399
88
926
230
442
177
274
343
644
19
695
688
929
791
812
586
908
686
989
580
697
940
506
472
128
721
100
40
497
850
288
788
511
429
667
640
827
419
56
207
204
454
378
606
637
39
606
810
514
818
740
35
91
772
510
890
912
324
613
385
90
324
283
520
103
312
579
661
654
739
944
610
632
857
222
880
768
328
723
311
924
588
188
54
301
916
798
441
841
262
493
458
680
711
40
226
196
524
828
319
520
362
32
171
502
499
496
77
834
416
191
306
183
333
556
308
648
528
155
54
434
270
937
315
297
445
562
608
925
62
196
610
187
587
772
763
343
175
141
588
802
40
157
306
915
392
341
950
663
218
136
654
764
455
685
126
984
891
923
800
712
762
974
774
208
222
457
467
930
721
643
221
287
595
70
638
509
388
581
86
5
250
244
739
114
861
475
51
669
523
427
486
615
635
545
337
823
444
976
876
631
691
174
863
894
118
50
309
114
684
579
429
894
618
268
610
653
458
92
844
815
502
56
688
981
534
856
348
298
965
866
453
544
635
715
240
978
92
364
363
52
481
735
626
483
582
238
976
944
16
319
786
689
718
486
47
332
990
965
858
48
61
533
361
769
659
535
736
213
415
898
626
677
933
757
645
772
367
273
851
808
370
133
17
80
981
329
420
46
777
126
854
108
35
712
486
174
970
231
48
148
964
803
491
974
986
982
68
20
758
222
808
349
113
72
602
614
710
988
739
358
862
466
683
971
684
858
998
668
286
537
263
795
770
840
968
343
993
120
41
24
653
247
624
962
280
203
147
657
421
784
456
629
915
614
911
461
609
504
545
560
0
417
346
74
707
235
376
942
70
904
354
522
831
877
516
699
780
227
631
884
891
104
526
420
208
919
841
673
706
655
666
826
261
143
861
468
451
774
801
624
22
917
447
925
789
677
304
46
255
67
876
809
829
481
227
677
727
243
371
686
917
330
910
451
481
222
926
83
385
213
364
31
835
570
230
371
779
527
29
187
307
918
710
922
877
427
224
616
915
719
65
902
277
526
910
99
983
975
547
704
582
549
803
996
57
411
912
477
792
98
986
201
246
168
587
227
253
401
391
394
688
949
391
950
310
721
484
952
576
846
61
732
281
908
506
464
750
455
236
921
74
484
991
621
415
809
225
649
98
124
922
126
54
977
556
317
509
697
211
243
883
750
652
638
46
962
764
704
796
154
146
249
704
294
95
647
637
290
807
131
344
496
43
783
530
148
420
166
436
968
72
671
4
313
453
284
629
686
493
154
668
241
104
117
271
646
145
803
184
894
158
999
124
14
991
443
102
609
571
513
174
863
277
326
708
652
339
667
231
257
207
434
137
326
780
251
618
129
175
846
563
235
955
595
410
358
90
972
514
134
491
427
86
695
738
521
493
164
656
122
859
64
358
722
948
541
922
358
447
966
812
389
496
622
474
175
526
256
941
665
444
129
908
411
249
519
31
970
364
361
959
201
164
856
701
167
524
144
468
571
92
758
792
749
496
341
329
555
240
175
523
446
705
258
219
880
699
878
291
918
348
159
9
770
922
11
296
151
471
976
449
516
100
747
926
929
225
878
766
205
253
221
298
687
557
34
150
603
318
16
445
830
683
276
635
619
334
360
807
32
469
555
987
108
658
899
771
712
528
446
824
824
954
826
501
983
986
470
249
111
449
519
70
811
680
234
331
778
376
465
148
123
588
202
203
47
60
492
510
953
653
697
147
238
396
814
911
714
565
638
942
935
905
796
106
278
953
400
44
398
164
976
812
279
590
224
108
568
900
911
91
370
333
715
654
562
427
118
422
260
960
12
153
436
425
473
220
304
8
220
115
190
606
477
491
558
450
272
795
874
346
328
641
196
402
853
431
632
411
513
101
206
100
379
405
598
292
96
940
211
657
331
147
397
377
947
203
952
286
639
657
848
110
730
690
83
831
54
927
194
269
789
692
645
760
522
639
763
942
402
813
741
965
48
501
864
186
247
356
210
901
504
221
909
968
830
671
140
907
396
823
769
623
10
796
1
841
827
682
189
289
528
880
738
351
583
632
637
709
714
61
293
476
614
417
204
941
895
256
299
800
402
921
846
550
335
670
651
496
472
837
990
808
777
250
142
302
213
291
962
123
936
891
343
987
883
143
590
862
609
9
557
921
201
294
125
482
65
123
729
645
761
526
550
138
187
237
383
841
16
701
167
594
899
598
369
341
672
792
926
972
27
916
111
827
28
189
357
163
69
499
109
613
453
530
818
306
269
606
866
343
982
218
729
166
177
163
482
545
148
814
642
408
716
447
391
876
608
781
838
73
310
519
431
354
953
866
999
491
904
180
784
950
690
53
558
937
258
237
820
893
682
957
431
487
343
60
272
848
344
778
819
150
986
236
181
957
203
608
640
939
920
956
520
305
761
434
687
542
954
100
702
542
473
703
687
876
977
117
887
493
774
67
822
468
262
990
523
74
241
25
62
577
603
878
575
735
277
168
53
427
694
302
4
450
968
631
136
223
204
800
932
20
749
771
956
958
732
414
744
486
184
340
336
315
228
207
195
255
785
760
873
417
49
20
304
862
934
26
279
614
975
686
894
428
116
785
605
161
729
825
615
879
311
954
268
730
877
635
427
589
827
935
341
850
229
118
916
670
938
414
901
708
475
923
75
831
838
315
710
391
310
783
915
10
497
524
562
200
515
958
120
956
368
409
748
177
590
999
409
267
544
614
34
970
97
360
107
537
564
191
551
800
381
632
780
111
13
73
137
662
744
584
561
17
313
908
764
63
694
773
154
844
838
885
442
322
326
808
847
607
73
857
727
983
238
531
774
212
712
388
546
634
883
383
315
678
901
436
217
930
576
561
962
621
126
642
973
600
213
124
939
140
528
645
868
981
135
741
967
470
957
938
195
209
526
238
131
483
742
132
306
509
554
39
15
480
687
733
464
533
315
838
999
697
139
82
891
563
737
482
922
534
901
951
660
323
612
900
70
684
262
680
848
189
953
770
103
938
635
55
479
693
227
936
487
834
2
85
676
731
721
854
445
236
563
268
458
874
755
534
162
358
850
874
376
905
719
29
393
927
90
241
68
904
9
373
37
417
245
582
833
293
957
49
753
528
806
710
694
996
342
715
269
473
790
198
885
110
319
873
790
519
102
198
19
267
266
706
982
60
206
267
305
584
634
884
825
522
257
825
320
587
62
682
489
329
984
62
678
77
827
922
579
59
698
759
158
868
769
950
835
496
759
494
744
378
340
801
716
110
194
701
712
295
777
718
87
921
540
823
826
246
761
538
540
821
554
250
106
706
313
48
653
185
256
383
556
535
146
393
579
471
191
768
855
764
275
82
557
437
325
628
834
262
814
905
9
229
971
623
867
23
713
376
43
686
933
860
196
449
729
239
611
33
648
101
51
45
212
357
451
116
529
859
281
679
653
353
687
984
186
307
679
396
587
782
944
123
55
873
291
767
194
203
445
825
358
290
286
676
270
191
648
98
998
364
444
312
311
860
391
263
163
213
187
155
137
167
405
473
682
29
576
263
970
309
635
455
569
867
737
209
288
298
297
912
484
602
47
578
321
23
401
57
801
652
736
781
674
898
230
20
39
399
184
613
823
496
34
216
129
741
256
261
777
748
739
856
647
8
183
152
214
668
728
493
846
730
137
871
862
629
679
896
653
186
786
638
281
304
692
622
255
68
713
321
194
634
746
142
57
379
768
779
957
829
800
359
49
98
254
505
128
223
248
611
65
598
593
337
341
706
725
882
286
804
72
12
737
11
890
396
583
878
587
385
489
229
607
372
913
857
562
685
415
663
287
235
587
604
121
724
91
216
291
344
153
386
214
997
980
169
246
490
87
242
109
16
842
149
317
598
460
343
505
601
468
65
635
216
494
645
833
533
286
824
283
737
443
118
116
246
971
870
406
686
516
186
960
246
29
135
536
377
588
54
285
212
859
21
694
75
431
204
535
876
762
38
141
983
206
385
62
703
923
266
564
303
329
61
269
594
161
282
945
805
419
161
159
703
570
670
688
698
707
877
541
634
252
146
531
18
423
37
405
316
312
976
757
771
238
917
856
87
723
249
376
993
612
510
43
240
114
400
710
392
202
755
143
437
659
167
842
427
516
426
671
605
695
563
557
743
860
806
562
608
10
431
634
257
983
521
344
32
248
309
460
160
272
400
830
322
566
300
921
669
693
800
786
166
78
296
186
945
801
108
6
724
685
316
694
141
834
794
935
292
63
967
957
463
730
834
654
357
411
100
861
819
646
281
914
463
139
230
592
469
20
316
773
799
966
204
822
27
138
716
109
238
20
740
630
14
322
993
275
501
379
338
601
957
447
863
490
193
196
173
85
288
433
98
948
608
744
702
62
667
526
822
341
834
299
840
761
523
261
120
819
617
97
570
574
344
692
169
927
735
407
368
51
136
679
968
917
352
235
21
18
213
45
550
218
683
754
34
986
262
610
221
246
938
792
837
465
149
153
802
473
139
699
75
835
484
265
671
83
394
775
735
760
931
199
174
376
626
12
939
225
327
576
639
669
65
493
561
638
593
827
479
815
801
124
728
336
792
401
179
790
167
428
639
700
966
128
407
331
383
409
677
735
588
319
956
769
47
24
370
750
937
419
594
701
964
545
313
530
429
605
102
923
160
452
502
92
192
497
923
922
550
345
785
671
384
876
54
178
398
898
824
276
723
922
660
227
429
270
163
582
92
826
937
677
646
388
821
726
48
31
746
849
206
566
380
86
216
784
639
735
843
540
872
204
467
243
197
598
5
697
512
647
316
798
336
278
511
396
886
813
261
806
449
813
129
269
323
65
31
121
773
598
198
275
558
141
978
378
812
927
481
752
509
886
544
49
899
804
700
989
102
963
632
807
782
938
202
244
93
490
752
937
964
338
327
308
529
592
174
512
260
63
757
827
997
770
770
309
7
350
967
424
810
658
901
599
250
29
859
235
707
689
694
542
989
572
944
186
279
424
237
194
571
433
725
338
886
720
513
199
802
794
941
232
759
514
166
380
304
555
409
897
441
952
348
585
409
382
175
700
103
309
463
342
171
681
951
840
758
23
536
388
172
342
47
234
888
865
681
410
268
423
616
643
380
658
958
979
704
478
848
639
387
241
823
61
5
305
96
217
139
960
812
926
401
331
694
269
41
723
590
320
624
350
455
459
519
929
171
557
647
20
855
956
25
913
505
898
578
763
647
967
948
952
231
788
748
771
422
715
45
770
781
919
728
671
826
839
568
606
440
532
309
447
625
825
472
926
313
894
449
871
17
558
129
783
276
611
142
401
859
704
878
173
721
182
849
646
210
178
968
564
74
894
934
625
454
53
84
833
760
400
231
800
246
365
924
658
234
224
71
594
651
612
125
196
887
724
945
150
189
680
794
709
111
858
594
639
484
197
21
902
363
22
764
170
813
632
420
639
562
532
214
576
784
209
493
359
156
940
664
903
921
190
702
200
529
840
403
561
578
737
549
189
944
563
842
173
796
666
167
989
923
864
461
505
51
790
271
371
375
9
207
844
301
725
617
940
318
988
231
550
436
33
846
766
403
285
366
204
638
411
44
910
133
68
639
395
689
906
4
611
197
639
187
606
302
685
477
300
641
715
361
693
59
924
833
589
311
375
102
187
6
723
37
961
512
976
255
859
282
476
986
204
759
983
154
899
964
885
823
875
567
436
476
328
595
549
302
725
704
696
554
681
868
791
78
817
148
757
93
89
479
99
242
497
737
500
625
983
49
369
246
747
958
370
933
301
394
318
786
118
995
666
805
753
345
722
810
439
52
735
988
698
344
29
736
300
262
934
12
348
747
48
672
842
654
334
591
931
419
753
233
69
158
345
601
510
326
682
325
52
170
823
583
505
403
10
691
640
785
330
710
200
29
4
327
233
960
451
69
384
171
980
578
657
48
805
517
603
243
410
803
169
851
876
613
753
667
317
411
550
258
598
712
449
700
438
684
812
366
260
597
452
165
133
803
65
430
903
417
862
169
131
612
327
334
553
76
800
507
133
924
868
598
276
689
57
886
260
981
897
637
945
871
790
325
107
535
117
352
231
438
927
39
799
304
920
314
839
500
885
258
860
515
288
797
790
353
955
739
567
799
393
508
151
502
402
545
910
519
345
317
966
615
847
74
644
796
868
747
204
817
653
280
575
968
793
139
399
32
715
955
716
594
285
932
968
168
721
616
464
435
997
830
385
37
669
244
708
299
611
35
724
413
846
575
987
588
137
904
846
607
954
844
130
763
64
355
510
309
440
27
807
359
173
229
943
664
648
602
253
455
766
366
624
949
479
980
269
432
222
789
547
678
688
847
123
854
687
310
172
132
864
218
219
699
514
564
40
455
648
673
291
940
30
999
903
378
729
964
794
711
263
711
219
532
954
540
249
408
72
399
127
564
371
952
955
537
522
336
451
356
722
437
221
278
913
424
199
281
393
633
26
80
537
934
119
484
599
19
799
441
814
592
134
272
894
475
374
823
809
420
333
743
719
537
527
196
362
135
304
978
705
212
969
484
788
688
486
642
462
461
479
597
798
795
393
763
740
50
792
49
92
105
312
162
755
656
913
862
2
838
826
414
697
861
508
680
191
390
98
954
459
881
372
457
87
309
693
739
954
489
244
382
474
691
636
636
286
935
119
884
114
960
909
754
356
468
610
936
435
984
100
102
676
677
120
314
662
999
564
671
808
851
423
95
27
994
806
747
426
597
960
731
330
805
383
785
487
98
651
748
829
712
334
711
582
18
916
610
716
8
466
970
237
72
77
375
48
92
421
964
593
895
894
815
935
244
936
345
343
527
126
768
372
687
185
832
576
894
609
83
169
435
228
697
682
518
984
386
849
147
687
132
157
144
27
841
37
196
569
568
994
551
2
640
606
609
867
615
927
146
11
917
703
694
268
627
165
274
663
858
890
12
185
404
426
204
128
564
724
503
47
619
317
834
286
172
363
77
649
714
495
485
199
849
363
715
29
992
826
345
601
574
289
300
192
611
651
213
537
356
293
218
413
556
59
278
401
801
642
462
613
701
749
744
972
234
133
218
93
646
537
519
361
315
884
74
838
477
442
676
478
428
201
527
607
958
990
439
40
190
700
921
824
403
559
505
974
451
39
189
133
745
439
382
104
739
977
630
288
385
275
32
162
543
298
656
285
789
474
64
820
514
551
763
65
507
855
196
725
826
403
121
764
394
563
677
863
220
1
119
616
517
867
210
412
886
873
432
863
449
935
562
317
365
110
501
374
274
8
933
362
430
83
792
431
85
326
36
385
72
579
384
114
449
981
448
165
478
896
399
210
805
457
538
468
288
931
196
39
739
187
873
329
290
748
556
789
138
319
695
191
479
249
858
138
25
76
138
620
819
182
708
721
575
828
116
71
361
345
984
816
2
205
603
944
402
674
636
947
250
863
376
446
923
464
400
426
556
431
660
466
897
155
335
722
608
552
718
686
101
502
929
902
199
567
130
40
489
12
501
561
46
62
849
252
996
19
155
887
415
101
863
25
580
599
209
443
391
90
646
790
540
266
609
929
858
784
761
545
606
46
562
106
750
983
329
762
298
248
101
488
858
165
965
602
793
600
513
659
860
309
844
729
186
803
213
471
861
337
681
249
88
598
284
468
480
897
334
854
306
927
703
968
885
905
37
505
953
912
800
192
849
148
620
409
944
750
634
504
499
595
178
293
360
151
125
631
340
245
122
637
119
983
816
363
410
466
271
62
371
128
608
940
689
677
163
127
870
393
930
872
790
484
273
90
962
395
500
858
849
242
700
339
697
426
369
641
451
502
326
476
328
297
359
600
161
858
226
204
529
920
548
542
121
505
284
899
978
994
375
729
278
183
522
801
848
96
733
919
635
556
955
768
961
742
765
507
867
53
121
39
675
734
566
382
361
700
947
278
405
994
699
219
362
719
499
85
116
169
193
114
56
840
370
635
721
121
672
53
144
192
706
34
3
394
162
181
26
179
931
737
944
336
409
992
328
423
483
363
769
161
407
444
472
880
594
401
24
205
868
982
845
307
725
143
510
831
217
111
7
559
823
772
429
243
309
630
598
524
486
986
698
744
24
303
710
458
497
377
733
838
524
700
715
428
641
702
524
964
30
310
936
439
953
12
258
872
144
554
188
232
792
814
177
915
648
485
324
114
537
863
480
443
171
897
539
738
963
734
964
60
337
551
503
586
953
923
370
505
861
945
222
233
451
50
634
921
619
767
22
311
566
788
618
292
282
337
293
801
776
251
752
672
239
563
446
482
732
967
903
599
897
473
656
26
821
110
795
327
745
11
35
510
129
757
219
237
200
770
272
522
123
575
744
241
466
151
881
844
716
991
436
363
334
155
104
653
227
818
364
152
8
142
322
937
943
116
746
877
733
760
457
820
965
941
489
414
187
928
677
760
934
253
298
651
697
997
21
775
812
707
535
619
309
385
367
890
51
780
285
613
138
110
437
359
670
814
937
433
4
252
645
742
708
746
849
100
798
806
675
884
703
622
600
582
462
577
778
299
55
27
79
346
563
950
469
638
473
969
647
29
207
628
609
928
86
313
348
587
946
292
320
3
694
163
466
729
241
418
291
243
328
314
935
900
676
981
661
7
618
457
863
150
353
419
529
511
422
484
803
454
781
855
430
67
118
552
569
544
650
557
65
740
794
121
259
70
144
107
337
198
675
176
69
921
194
559
534
606
817
383
137
286
266
878
48
205
340
532
410
107
798
167
448
879
787
987
406
612
716
797
685
948
600
886
586
305
173
671
461
799
0
438
598
12
559
6
15
371
608
455
40
786
467
692
526
259
627
613
865
139
167
366
2
172
779
350
996
195
549
544
700
918
445
283
716
363
904
627
463
158
192
157
554
62
734
646
392
490
488
892
98
79
413
792
734
91
587
958
814
721
106
593
47
29
873
794
439
575
245
699
913
926
476
635
977
793
369
452
431
900
433
834
832
679
847
603
433
15
290
976
926
59
232
330
607
459
384
373
805
365
512
578
265
858
731
191
623
674
343
888
578
591
892
502
567
552
229
159
341
908
210
998
341
276
209
977
181
718
630
603
807
126
859
226
937
50
701
10
696
63
797
277
279
161
527
952
85
695
525
414
28
494
724
29
146
290
386
660
314
688
177
707
505
561
510
932
30
375
494
706
392
866
61
744
557
458
6
508
149
152
509
604
966
586
588
153
864
978
429
977
901
944
22
16
465
786
256
214
710
689
921
725
467
963
932
138
170
433
52
302
680
835
988
144
247
354
144
336
415
914
298
400
577
744
372
359
908
305
940
561
393
184
158
226
378
809
885
300
712
83
887
345
474
473
892
62
735
242
428
526
554
206
398
194
345
620
947
494
625
15
694
665
865
510
991
225
592
876
611
624
990
681
692
477
796
448
907
363
469
623
39
715
882
378
193
481
136
42
525
861
986
517
225
31
34
180
435
153
438
174
894
448
899
887
334
479
8
227
689
589
357
504
687
278
865
887
659
138
416
135
46
759
674
304
12
706
836
447
294
776
560
153
173
750
537
592
304
202
120
958
65
218
315
382
249
448
833
61
470
229
137
97
235
294
220
914
186
876
57
414
971
250
19
443
17
425
896
330
206
896
669
257
496
31
462
198
213
543
6
0
203
101
854
163
576
747
824
220
104
619
198
46
715
605
822
70
57
951
24
899
826
213
523
624
922
901
733
643
510
890
995
888
189
769
664
429
714
673
945
67
810
781
887
844
567
527
425
921
280
599
434
922
440
142
493
367
596
215
376
45
933
616
340
56
566
951
906
364
721
738
778
631
921
880
500
579
924
163
241
290
244
404
826
9
967
388
740
273
5
870
41
609
605
559
824
105
529
650
647
427
423
557
451
779
181
835
558
800
118
390
643
131
174
751
735
430
661
453
203
602
718
323
482
234
472
793
710
287
490
319
863
570
855
73
974
737
48
46
629
963
90
368
532
565
660
138
172
129
549
164
408
911
743
510
300
813
672
719
655
593
88
892
72
702
401
87
692
27
243
158
59
802
643
73
912
770
999
371
48
923
960
697
758
723
847
318
74
576
881
883
251
738
28
805
405
613
73
143
159
500
492
430
667
508
793
854
33
540
57
351
694
461
760
400
862
837
778
548
969
738
448
980
876
911
429
425
905
308
123
900
618
561
599
476
546
126
584
130
303
914
949
857
179
303
433
443
797
315
990
614
575
686
183
516
877
811
232
145
847
854
683
731
539
327
579
11
414
181
268
659
977
489
804
761
829
930
753
724
354
711
425
297
517
97
742
912
60
69
866
536
658
459
640
192
368
115
411
272
359
25
486
293
643
838
781
178
858
746
271
15
424
399
892
880
847
583
819
395
156
799
472
260
717
263
985
287
804
707
925
441
600
329
303
429
0
201
919
936
121
519
250
444
236
123
861
957
809
157
195
331
192
725
122
920
640
818
14
496
667
442
150
953
239
800
1
686
340
883
44
267
497
771
486
115
946
510
704
60
729
975
254
757
330
853
722
106
642
358
511
599
102
942
518
345
721
912
113
712
329
433
206
917
65
389
804
458
808
927
47
46
159
214
740
211
9
856
406
4
44
676
571
399
99
958
538
329
805
523
890
131
377
245
444
724
978
865
388
19
395
285
831
305
219
698
771
539
671
224
422
887
233
401
815
965
743
518
511
742
82
443
181
918
348
641
765
880
377
586
392
384
314
830
282
297
634
169
768
755
779
379
66
73
16
198
638
183
468
825
372
366
595
51
707
969
867
205
905
514
18
698
605
529
219
636
83
229
650
814
704
798
558
966
918
452
732
204
413
259
190
24
973
517
430
790
724
581
660
94
475
626
950
446
863
596
370
820
478
793
418
391
54
629
404
178
573
934
610
595
975
862
582
403
197
435
928
962
442
304
517
320
19
153
870
208
532
191
289
561
623
796
497
703
904
957
466
595
714
543
100
444
570
457
238
855
311
488
770
921
643
539
540
518
538
15
746
125
751
899
703
777
614
982
886
634
858
543
922
712
843
719
699
591
526
642
272
756
545
163
992
952
986
99
366
700
234
548
23
37
220
462
848
952
412
589
630
432
64
545
853
121
457
301
235
482
116
732
433
142
832
167
320
494
186
936
584
589
415
61
768
37
651
46
375
397
694
687
117
217
470
231
684
934
560
26
48
860
650
924
434
355
241
484
744
120
502
401
585
548
56
160
175
127
799
514
366
171
986
182
141
115
55
292
507
110
51
655
747
878
637
579
328
47
388
590
481
995
338
336
202
950
588
514
563
70
580
619
903
758
90
45
173
220
971
851
483
992
381
57
323
17
608
544
927
687
735
151
17
512
826
88
412
85
753
658
751
877
315
152
436
988
248
913
825
297
56
76
252
545
859
302
81
216
921
887
532
885
895
304
801
959
604
362
260
249
156
777
736
392
811
319
754
531
686
23
813
906
669
623
216
531
535
261
236
545
774
327
909
987
385
478
421
157
314
511
423
571
688
797
675
594
418
255
452
339
282
353
114
234
107
121
678
541
681
199
713
651
113
848
359
767
726
316
925
320
171
624
412
89
568
377
835
148
223
155
674
322
793
892
955
239
739
400
299
816
424
73
704
839
284
961
12
888
640
936
553
221
66
175
274
85
604
244
450
367
848
573
228
830
963
991
879
577
933
407
938
675
920
721
714
171
846
739
889
446
871
727
108
195
694
894
678
870
392
406
417
789
569
662
662
229
101
669
859
487
361
943
836
12
467
9
726
775
897
73
100
330
349
127
674
493
431
85
91
643
362
135
852
824
640
460
42
66
228
90
371
586
234
545
740
758
395
210
112
295
586
763
104
983
385
802
99
60
226
363
314
671
68
408
878
915
868
876
386
893
17
24
123
911
900
833
172
739
452
265
941
609
465
314
760
899
669
295
689
545
66
713
344
247
126
74
688
535
806
538
812
188
327
655
193
516
284
412
775
369
902
745
335
154
455
755
953
16
159
70
771
327
113
254
478
302
219
532
213
152
866
956
323
524
660
241
832
331
550
24
920
573
92
567
983
62
89
805
492
37
941
248
461
281
765
270
80
443
92
69
512
304
89
928
206
415
859
67
23
961
505
319
402
641
428
192
725
39
410
996
735
326
565
186
285
83
870
882
529
921
724
99
374
744
313
401
873
667
820
402
356
101
852
847
368
657
199
209
315
367
993
148
983
435
979
786
860
748
897
326
176
653
4
916
430
608
29
256
997
986
214
218
57
274
368
215
159
657
501
402
106
74
483
581
869
123
53
213
923
388
470
349
850
398
477
755
6
689
872
877
178
824
388
875
445
10
667
733
123
316
865
375
553
501
858
7
441
773
651
489
323
151
56
933
362
174
769
470
653
787
699
96
144
235
912
229
451
843
167
23
140
560
310
319
725
74
518
174
933
573
952
808
999
343
637
34
346
120
751
961
481
267
968
102
84
112
403
883
741
472
484
424
452
781
277
272
379
68
928
491
763
974
679
253
240
995
211
768
217
291
952
606
552
454
10
220
833
804
926
210
168
932
431
106
935
169
657
501
944
537
751
880
822
671
708
465
78
225
492
6
200
798
684
178
190
4
910
217
118
283
394
400
509
75
953
610
465
560
717
480
860
712
148
98
798
994
442
20
422
344
402
591
944
683
467
682
845
269
435
143
734
326
991
623
983
626
570
428
864
429
384
944
468
830
108
1
931
77
29
467
90
679
232
247
794
744
980
726
460
99
136
949
432
276
970
466
304
315
76
322
567
120
177
599
207
498
657
421
9
480
279
714
753
495
845
143
566
833
19
384
575
23
692
425
859
960
786
681
610
387
103
400
578
233
698
66
499
46
927
346
953
249
301
960
437
636
247
70
108
162
431
358
192
409
479
632
782
99
960
207
312
22
350
855
151
49
74
221
746
66
267
997
93
171
969
342
375
985
794
516
577
0
522
917
631
956
936
588
180
891
884
447
810
165
489
673
456
234
812
299
678
338
733
361
504
978
214
827
537
176
421
466
318
511
174
659
159
473
161
198
834
359
760
127
937
837
541
688
434
828
331
588
949
475
666
764
473
411
30
247
70
534
90
331
378
770
604
582
342
58
734
456
773
755
345
13
806
342
298
957
81
6
746
775
127
407
782
69
224
425
734
121
376
537
886
216
686
688
200
970
513
795
556
705
174
765
201
42
693
198
317
946
737
458
565
501
149
665
145
172
902
115
178
645
194
416
74
40
696
540
544
549
836
597
323
771
392
93
436
152
648
468
338
53
127
832
569
700
794
234
707
327
439
271
149
98
996
782
294
795
569
58
302
109
939
769
225
113
210
863
245
246
360
95
162
713
35
35
477
582
759
225
810
271
272
58
997
342
876
572
159
343
42
864
176
940
642
78
745
690
729
543
82
916
604
887
427
492
211
634
202
238
492
428
389
786
85
801
261
288
427
180
764
388
467
119
428
671
889
249
892
983
868
919
272
208
862
507
985
962
477
470
276
534
837
396
116
209
904
299
976
285
802
270
48
970
183
345
403
293
254
691
930
618
812
34
727
909
973
556
117
586
816
827
639
256
183
748
2
421
507
198
73
518
707
452
309
309
793
258
759
155
697
750
330
904
481
543
276
172
382
832
432
629
559
55
603
465
973
51
193
966
801
671
501
597
615
257
276
951
145
843
5
148
437
196
469
593
433
592
145
726
656
796
815
596
571
261
642
583
454
825
511
215
871
896
557
996
77
352
962
765
878
704
157
76
566
827
337
238
443
949
816
781
185
880
399
320
805
600
128
903
696
953
270
903
434
969
158
750
5
779
726
273
204
313
218
83
589
498
272
822
112
138
388
970
804
188
164
300
334
754
878
877
735
647
873
268
926
912
492
533
789
286
468
939
945
687
368
8
944
91
807
642
112
606
133
357
496
597
80
66
665
53
221
204
127
212
671
606
737
885
329
17
218
924
792
841
279
703
165
938
949
205
285
208
858
127
32
13
932
622
308
358
766
561
394
120
802
820
910
707
584
11
893
763
645
81
878
995
360
825
661
637
277
216
611
223
134
145
538
242
887
599
678
666
507
88
94
358
678
862
488
552
399
799
399
174
755
334
498
264
826
198
904
82
543
58
978
574
973
307
250
413
18
711
421
198
778
280
841
65
415
973
770
503
368
557
30
853
378
215
719
639
465
90
112
338
896
653
766
373
38
8
206
412
680
395
446
691
85
17
601
518
740
214
135
799
916
607
784
176
768
110
825
803
30
892
246
388
652
25
546
792
853
529
412
32
731
254
52
558
422
959
153
457
230
939
613
655
27
643
55
172
951
896
471
612
91
925
274
348
375
469
287
504
331
431
834
94
888
736
82
202
288
367
120
195
19
912
112
42
162
981
574
119
672
920
535
966
481
715
950
350
642
729
589
747
47
961
633
744
382
246
663
320
966
209
955
866
791
308
935
611
995
895
196
67
731
708
389
747
540
515
233
69
19
205
493
687
618
92
169
61
318
31
855
541
26
918
695
463
790
40
614
941
935
196
164
591
768
648
737
540
314
204
686
673
276
288
130
322
553
393
670
737
705
987
846
978
915
300
519
696
81
984
936
680
875
675
278
707
331
707
185
483
701
362
122
598
923
432
267
387
306
587
43
774
834
805
961
815
664
972
99
889
380
896
305
178
515
781
967
585
931
143
168
998
588
164
173
140
295
344
40
645
96
116
58
336
935
341
601
396
248
879
448
576
532
323
751
6
437
519
730
815
64
191
121
832
221
666
921
284
726
813
63
5
346
346
618
773
131
728
750
381
394
58
771
236
284
30
313
426
11
36
419
859
976
834
337
771
814
421
378
295
395
985
543
834
685
231
518
727
80
596
874
24
594
803
11
484
481
906
832
319
516
387
469
95
418
331
454
991
958
518
807
844
92
365
702
408
893
92
152
940
671
817
836
656
922
747
676
628
586
131
220
297
398
345
158
868
649
214
456
960
239
994
519
207
790
122
464
82
483
656
462
929
103
659
544
258
916
162
36
586
866
505
453
108
234
928
645
809
255
66
851
9
21
91
330
814
658
391
825
837
56
975
566
42
566
219
928
280
186
509
396
458
468
343
515
949
599
969
19
552
774
791
13
652
596
736
49
529
103
534
481
277
57
768
528
707
824
89
568
175
314
419
368
623
432
931
168
779
21
407
785
886
481
228
977
591
624
258
611
303
743
323
257
491
274
37
357
622
502
621
73
100
839
172
224
292
854
765
398
982
380
672
740
4
199
397
405
930
156
900
253
787
927
73
663
100
129
91
629
226
600
732
863
441
282
962
329
169
793
26
908
873
356
531
20
791
483
325
554
137
833
378
563
561
146
888
866
24
760
652
513
522
666
842
189
454
211
462
614
275
914
495
544
497
665
799
491
868
365
698
709
207
192
43
369
357
187
348
752
208
859
225
854
555
476
746
283
54
887
737
878
825
77
458
18
391
574
584
832
513
82
477
87
953
5
626
714
39
549
292
562
901
135
739
473
506
952
873
121
515
795
432
270
970
141
903
211
987
753
875
714
80
758
504
792
236
534
338
122
719
926
43
426
619
942
842
306
0
924
526
908
185
620
665
749
74
473
11
79
767
442
70
542
955
315
593
922
989
399
261
83
619
611
809
299
547
99
878
959
144
495
583
419
268
539
867
293
938
619
222
767
800
526
753
637
0
539
965
252
589
791
333
995
321
555
524
414
378
746
501
152
431
487
176
956
683
449
18
302
658
962
777
273
902
869
592
663
95
629
833
718
936
58
517
271
439
430
321
579
9
868
285
850
977
236
249
503
612
466
114
492
978
390
901
79
409
435
627
104
80
382
976
946
765
855
267
65
808
778
63
187
572
339
519
569
68
502
864
623
881
717
291
55
547
803
1
674
681
741
384
626
217
999
72
44
252
180
306
691
62
85
582
272
716
611
942
333
985
831
524
972
226
760
312
633
193
758
552
278
886
604
499
668
218
257
396
472
826
11
863
728
576
455
413
684
110
244
222
643
137
970
491
877
523
910
273
969
34
578
67
930
983
104
809
236
309
794
490
684
682
126
689
616
713
653
929
803
895
558
592
291
578
975
824
697
388
324
162
696
751
514
46
265
139
849
609
526
924
687
9
208
48
394
713
360
851
805
167
8
546
701
597
243
456
584
255
747
511
633
624
529
727
118
790
821
712
60
697
871
876
873
958
861
912
667
633
103
348
18
289
37
849
556
182
46
546
444
744
874
391
109
380
773
272
460
506
938
578
975
648
906
260
388
362
609
327
61
404
887
866
532
649
285
800
405
219
665
869
288
142
372
358
93
270
109
90
683
196
90
148
269
98
462
315
662
867
244
367
282
154
162
437
736
895
677
244
77
925
225
335
506
656
848
251
230
876
78
118
795
966
232
161
506
10
498
592
637
219
986
594
164
921
486
288
910
347
521
501
515
8
43
220
413
379
159
311
744
685
397
776
958
32
286
128
486
466
163
507
903
694
645
954
716
812
496
763
249
551
494
377
379
975
25
11
690
762
662
199
741
365
94
91
880
361
670
394
785
284
322
335
547
498
50
716
411
58
506
913
726
132
260
49
774
201
942
243
294
593
466
132
3
753
306
775
313
120
896
421
979
419
182
549
672
552
966
508
317
77
163
246
822
431
320
245
37
355
726
253
472
896
638
331
927
490
182
919
102
80
593
253
912
475
663
147
525
5
243
892
5
435
33
44
588
375
539
509
803
203
319
495
291
876
525
221
688
843
777
276
49
257
857
421
231
883
579
368
690
152
259
278
725
86
886
915
863
805
303
342
861
496
1
856
683
321
5
331
293
467
298
817
525
384
257
279
115
905
536
396
280
316
622
679
52
60
904
257
265
768
655
305
283
129
501
704
334
699
471
129
293
633
980
925
421
830
528
658
626
264
334
119
767
640
465
158
689
700
982
632
580
690
675
810
499
133
446
419
956
271
323
492
857
515
718
570
740
856
302
690
357
157
518
535
203
294
779
413
448
724
95
979
232
111
404
130
96
646
653
741
725
18
315
90
592
109
304
69
137
302
621
943
26
415
117
586
844
868
34
749
539
389
2
835
163
670
866
664
273
345
972
344
778
919
962
523
277
38
520
829
637
905
813
551
964
912
629
799
749
677
156
905
813
830
242
841
65
174
240
350
784
645
212
93
951
2
708
734
15
328
984
553
534
434
491
809
789
750
988
808
906
604
76
44
275
673
276
203
462
312
368
320
915
81
516
931
877
693
577
526
219
855
870
355
837
288
711
399
230
578
179
527
827
981
676
592
822
617
424
396
560
671
116
521
296
386
931
930
702
158
54
813
541
204
154
617
942
687
918
769
50
890
904
741
704
714
891
124
796
522
493
231
370
186
239
655
138
913
90
56
322
824
245
477
985
580
881
205
181
918
562
384
221
853
35
57
562
211
684
435
42
757
988
443
19
795
979
86
644
174
121
820
947
287
100
754
854
303
222
294
301
118
582
502
624
381
221
404
973
630
549
360
733
404
947
809
461
206
607
724
47
345
310
401
894
80
556
462
201
163
98
592
419
715
598
781
575
479
715
605
583
134
236
171
25
686
455
997
758
16
285
746
761
11
51
618
620
982
831
908
188
651
140
76
97
733
370
821
138
753
589
357
289
661
451
742
318
392
811
56
896
654
969
647
133
978
198
865
978
668
724
302
620
639
856
343
899
469
388
140
887
408
368
941
297
57
926
258
998
732
517
228
978
875
772
742
827
998
550
551
321
38
953
328
688
424
388
436
785
508
154
910
97
736
825
891
399
750
584
477
840
531
830
337
394
824
818
65
717
369
701
417
729
2
902
129
313
33
234
527
559
218
401
208
544
266
381
996
301
917
265
744
608
242
808
76
396
166
413
97
388
803
436
519
619
488
608
963
963
481
801
917
877
100
737
468
680
704
512
577
148
530
57
841
619
348
528
915
191
453
717
984
730
23
798
151
667
258
77
860
194
877
259
145
967
517
945
790
719
9
31
99
128
111
684
1
684
989
853
270
288
66
820
876
347
198
195
854
243
596
69
703
690
50
56
518
714
408
548
518
125
795
959
141
804
904
10
143
861
722
219
689
344
309
475
300
275
22
672
161
505
672
7
365
935
565
193
429
47
255
404
927
393
288
372
441
475
57
71
923
143
204
229
298
425
97
424
179
687
591
871
648
524
995
145
328
564
79
939
919
864
510
564
57
596
271
155
438
166
510
265
75
620
207
405
422
396
684
379
889
166
73
90
829
923
92
56
657
55
460
606
715
351
987
886
662
419
463
478
204
516
284
115
297
534
339
776
274
635
167
969
141
551
9
311
484
89
10
36
522
663
852
366
60
476
209
571
320
790
511
286
651
24
821
671
447
776
721
301
57
180
851
448
501
980
101
201
81
25
220
916
156
363
297
147
762
368
54
297
644
697
92
874
95
178
138
106
703
558
232
987
153
366
966
464
804
259
294
969
758
860
625
567
621
958
75
169
181
594
718
930
394
958
643
848
34
542
308
515
480
211
639
13
338
596
32
604
212
913
27
190
911
680
437
40
355
876
80
743
854
897
213
641
249
179
323
696
264
237
707
817
239
475
636
564
68
875
287
591
32
833
519
7
769
80
487
14
195
133
415
340
394
2
647
587
211
148
654
928
446
86
567
151
62
699
893
929
585
56
709
465
418
172
589
167
279
167
645
983
566
78
768
822
624
126
761
163
415
687
268
185
37
835
451
579
714
802
836
701
109
317
457
380
581
737
128
43
891
816
899
256
940
525
824
269
399
2
361
255
839
827
476
508
626
318
171
461
708
154
13
877
80
284
341
432
124
944
979
628
128
398
394
207
554
921
308
753
33
838
550
406
971
354
615
707
758
891
643
311
982
831
933
699
666
824
648
662
935
128
956
241
819
522
707
125
312
60
512
715
972
305
347
467
117
569
947
877
974
885
379
305
628
451
686
71
551
143
999
751
311
108
824
130
166
567
813
669
520
264
264
667
251
33
889
519
447
735
528
852
851
888
511
921
618
637
336
244
347
735
902
817
638
607
359
184
887
334
190
442
460
218
388
966
528
237
126
408
16
18
915
638
204
108
823
161
507
218
777
955
928
428
602
311
298
239
223
231
833
89
276
14
49
824
865
328
163
140
450
963
287
137
426
235
129
879
522
357
698
672
834
609
876
463
621
728
604
774
395
807
540
360
162
297
421
376
233
643
965
677
953
501
136
380
233
566
979
137
809
780
413
990
690
341
922
306
687
754
383
229
785
750
479
406
955
783
470
528
109
337
479
688
110
407
168
40
785
883
777
450
587
253
545
782
199
273
838
584
511
118
520
900
877
704
708
42
247
243
425
822
959
43
11
928
407
261
781
141
371
276
93
743
237
315
961
55
245
851
489
188
616
604
144
998
417
636
684
626
364
71
448
877
522
101
560
143
454
16
842
588
778
927
659
784
48
731
948
851
504
521
703
362
746
180
469
465
92
74
874
906
308
20
462
989
623
494
985
22
771
536
341
710
120
631
247
442
871
49
421
32
109
438
159
246
165
139
354
906
321
63
898
912
726
650
831
368
415
102
271
157
643
744
67
586
71
794
729
268
785
205
372
341
822
411
246
51
239
225
248
75
587
330
94
930
490
924
213
364
876
30
876
473
687
231
866
232
324
820
718
287
887
680
950
112
437
778
271
895
378
243
78
807
223
488
739
700
611
853
401
635
832
482
386
827
261
896
806
109
314
541
897
389
301
786
907
242
624
703
909
321
363
369
355
962
900
56
835
292
500
283
447
679
721
146
586
425
906
753
219
552
143
106
403
524
625
234
679
613
232
276
634
474
210
815
826
437
63
50
18
477
265
646
617
110
70
315
89
796
614
797
32
898
325
180
568
678
257
645
390
445
587
765
844
48
883
724
894
99
754
655
443
682
853
848
592
93
548
366
6
136
504
469
909
908
871
191
881
139
58
569
734
792
447
288
7
206
456
847
162
386
143
243
118
809
571
424
781
983
179
246
285
663
518
805
288
255
634
839
409
226
419
619
736
328
460
336
687
955
941
306
60
962
87
496
131
316
160
258
484
858
141
702
591
815
965
697
413
682
240
755
290
867
913
393
218
345
868
73
835
222
827
780
49
361
610
180
541
851
125
338
54
925
158
316
41
507
657
397
247
181
420
467
106
260
800
88
795
547
5
629
900
286
222
425
844
514
193
791
316
172
435
406
161
357
389
986
278
361
951
844
68
370
985
514
211
887
428
414
938
746
691
480
111
827
719
532
387
97
999
235
785
389
32
753
713
669
925
215
320
948
551
791
619
888
942
965
926
568
781
918
948
430
262
629
578
72
811
725
431
664
900
218
102
807
598
838
237
32
23
413
304
465
625
917
709
216
988
73
426
693
262
137
899
310
208
418
964
55
794
626
371
348
776
303
475
914
692
777
355
767
510
828
642
222
52
415
55
615
494
192
261
781
856
94
824
971
842
705
638
753
98
896
984
506
391
24
257
931
163
951
240
977
430
917
878
144
602
958
207
271
458
387
537
776
878
227
815
114
876
42
666
178
207
798
844
369
226
79
148
253
906
912
386
646
466
90
221
673
508
168
567
697
764
480
530
441
596
235
295
812
187
664
309
141
697
214
352
430
582
795
505
539
13
428
142
319
534
665
961
477
983
990
247
430
242
174
758
786
907
389
528
397
663
748
932
838
370
129
249
20
171
274
808
90
699
993
559
398
280
622
758
704
509
360
374
142
577
609
335
675
762
147
297
518
936
89
685
777
333
690
775
7
870
644
572
226
520
180
252
430
139
281
48
683
321
161
765
43
670
368
551
900
633
873
582
631
215
583
904
764
188
514
881
579
359
401
518
972
663
823
538
311
589
657
599
450
571
123
147
395
292
775
23
168
889
720
773
750
472
780
604
76
563
528
314
530
625
864
159
851
863
101
805
425
383
223
232
302
266
862
898
146
970
249
762
640
213
379
60
933
984
200
828
911
160
474
955
161
134
119
496
314
684
10
790
34
666
458
558
363
847
495
230
56
571
179
613
934
513
757
562
765
807
335
543
262
582
560
496
974
529
658
531
850
610
639
130
214
412
510
385
608
394
161
644
565
621
388
291
40
640
381
266
756
792
148
776
316
718
418
215
7
531
719
436
866
949
492
503
200
483
681
796
767
303
296
666
934
573
611
433
712
468
667
342
387
427
774
651
26
191
568
953
10
183
69
182
291
887
351
336
808
286
303
237
303
930
124
494
23
120
106
176
539
877
475
377
901
324
726
805
814
569
60
419
730
598
29
901
792
266
819
656
872
40
160
286
893
977
801
486
263
736
488
886
197
170
784
874
558
508
151
960
28
22
100
706
23
16
509
144
91
902
211
917
266
263
663
926
377
288
781
664
774
93
621
585
489
671
79
167
674
122
992
379
175
533
479
26
166
347
916
981
784
614
982
409
482
434
924
968
146
552
842
968
827
796
874
840
727
922
924
320
67
960
964
520
867
976
79
851
469
414
374
111
74
230
808
634
970
299
271
763
687
528
731
607
985
71
450
269
293
109
745
166
424
710
671
630
986
927
326
103
125
41
339
996
761
284
82
543
168
809
913
229
102
55
113
340
247
946
521
418
915
404
770
842
939
37
136
57
243
295
56
555
929
156
81
509
945
484
66
728
264
436
788
611
893
350
52
299
969
459
380
738
101
244
398
244
371
133
449
725
28
882
853
653
401
201
646
684
864
532
882
175
301
737
715
872
102
916
186
705
885
801
269
471
962
181
866
332
511
172
298
638
900
389
865
797
271
303
944
597
818
54
485
668
213
240
614
236
333
420
954
232
962
366
261
925
189
928
388
39
739
862
895
16
149
185
571
910
126
824
263
460
411
539
33
993
358
701
362
266
569
945
179
219
912
731
370
773
202
425
104
36
294
11
519
704
880
425
36
421
679
246
15
992
377
741
608
52
666
301
429
207
282
161
615
709
671
530
763
839
817
976
636
332
881
543
501
453
525
376
751
8
314
36
337
519
627
519
804
73
832
649
282
484
30
510
183
703
631
394
268
744
256
984
454
822
915
463
719
498
433
388
152
328
524
780
97
40
964
596
941
550
438
125
35
301
701
45
992
144
207
192
547
715
662
888
587
420
86
220
9
541
416
81
771
578
415
804
940
438
873
614
461
943
828
863
36
506
30
919
903
436
745
558
782
544
11
24
990
759
970
181
558
751
454
240
310
497
8
973
867
432
673
490
717
989
511
810
503
587
460
583
832
960
332
849
426
672
950
237
739
29
562
370
509
248
963
108
355
842
638
793
599
372
773
528
88
436
223
279
671
977
387
886
820
381
587
888
297
840
675
391
406
984
871
827
598
39
294
901
690
962
188
462
172
179
486
883
967
65
778
890
296
332
45
949
186
568
503
955
125
766
895
930
448
599
751
719
190
789
41
664
580
696
445
750
956
766
781
260
904
225
497
678
454
834
954
953
368
682
996
356
186
53
995
732
459
515
293
854
261
236
599
50
523
40
574
150
75
264
190
947
299
155
540
118
402
738
610
389
975
859
443
991
504
95
431
913
582
245
631
564
950
101
575
850
61
906
141
486
587
299
74
844
443
208
505
576
720
60
69
126
111
355
796
975
43
534
981
44
439
809
17
379
112
116
751
862
350
112
314
285
499
804
720
618
158
238
984
513
689
706
781
273
265
264
603
647
365
426
954
491
107
196
664
558
365
277
387
156
278
278
79
903
391
664
625
803
853
222
107
837
676
249
964
332
566
241
360
365
585
289
598
428
933
525
407
998
666
970
425
9
638
685
990
167
31
752
101
754
872
836
269
273
371
767
254
796
13
267
716
538
851
406
994
433
492
551
708
63
800
130
187
678
586
775
30
967
420
765
720
338
485
30
879
492
481
195
249
490
631
29
292
40
568
347
933
291
866
83
411
440
324
257
70
460
893
921
500
590
217
72
17
206
511
393
215
20
579
784
100
671
249
855
677
368
7
869
431
12
360
734
219
743
83
844
311
12
568
437
236
7
541
704
802
899
501
398
966
885
726
541
126
824
672
154
144
113
326
388
464
79
582
382
766
1
64
172
375
932
985
603
620
299
211
496
814
879
874
865
927
362
702
402
111
551
163
310
825
560
96
607
156
353
968
14
55
174
879
918
149
704
33
78
220
167
23
744
873
332
998
131
658
760
841
582
371
254
936
10
567
555
702
169
898
396
406
79
670
315
137
956
247
59
578
264
664
254
743
540
780
528
755
325
34
377
762
932
281
221
68
527
724
892
802
425
427
224
887
640
437
454
738
114
962
552
496
20
570
73
235
671
208
939
281
813
984
326
604
293
924
176
724
133
545
899
621
258
768
257
294
679
160
210
989
270
823
859
867
843
653
485
660
497
871
626
655
177
802
200
43
107
189
156
747
543
178
434
58
465
217
198
723
485
20
977
24
110
35
25
246
764
455
177
873
180
746
301
842
487
860
940
715
486
66
805
307
677
517
859
616
197
664
476
925
609
345
849
712
92
704
19
314
513
428
484
679
579
626
169
342
182
31
298
430
700
307
960
908
31
438
117
172
487
497
538
269
207
329
478
974
531
542
197
742
701
522
616
677
796
632
942
328
288
864
45
521
124
916
238
761
628
126
557
90
841
959
858
170
831
196
378
28
191
956
946
174
759
267
578
658
442
169
495
635
562
29
858
166
695
524
248
138
14
190
842
420
933
247
269
509
258
199
435
130
653
261
906
598
553
73
309
610
24
230
833
878
79
449
59
82
219
714
518
772
966
944
172
472
201
157
668
949
245
21
422
508
705
520
602
460
670
153
205
813
878
672
569
3
510
734
835
281
477
338
636
148
482
958
588
782
3
927
122
790
689
960
244
286
393
114
145
542
845
683
172
574
792
580
25
350
494
207
122
426
457
417
734
506
859
392
659
451
879
873
488
374
448
72
946
88
618
458
310
979
882
638
190
426
408
473
362
292
574
57
548
905
132
418
3
667
780
179
527
125
221
538
153
232
942
526
64
79
277
492
39
258
469
635
7
805
762
328
129
961
686
779
907
846
879
111
831
56
219
317
702
89
740
741
210
633
688
200
311
271
754
35
996
977
699
965
937
137
879
125
845
737
839
499
634
326
389
796
82
732
897
321
914
545
689
342
972
300
647
963
376
62
526
810
351
465
273
186
802
143
535
238
907
918
880
572
450
424
255
497
515
397
32
215
526
702
638
81
998
770
86
183
618
568
456
9
439
925
610
412
640
956
78
648
256
138
0
256
668
109
638
49
618
643
570
852
810
587
637
61
273
272
345
90
232
498
997
596
375
564
833
636
988
698
23
226
691
657
611
366
470
778
961
300
382
341
37
420
397
137
263
891
523
217
434
161
706
461
813
290
821
115
586
465
698
692
555
322
658
482
510
863
371
11
957
601
3
927
488
440
617
983
150
441
577
279
167
319
183
256
698
233
846
299
60
517
332
636
769
851
736
463
685
305
797
468
507
326
278
58
759
165
218
766
648
26
440
680
336
824
790
2
279
359
879
524
590
667
165
62
88
834
954
718
155
153
697
204
110
20
40
81
398
936
984
973
345
356
226
805
377
143
387
596
713
701
817
728
328
907
512
978
70
340
357
877
489
79
62
884
827
207
618
788
458
131
625
44
826
234
200
500
893
450
980
367
571
277
114
352
915
529
304
735
318
963
689
843
918
827
606
423
405
292
817
518
576
431
576
40
648
127
45
757
684
612
259
473
878
639
822
250
985
520
376
919
164
125
158
152
215
47
116
945
947
446
637
541
26
561
872
645
253
863
72
931
356
475
508
506
442
584
277
723
677
613
42
3
296
216
433
621
373
20
681
450
260
981
312
519
19
76
920
872
0
770
613
624
978
837
60
450
623
280
703
472
977
378
105
916
345
751
773
516
369
670
691
810
683
126
650
765
532
26
518
20
464
890
927
815
410
211
776
527
290
784
876
570
405
491
867
12
503
431
599
70
543
502
870
540
946
546
955
555
399
37
868
431
637
860
615
220
482
983
680
93
218
864
338
665
51
423
595
354
786
280
832
887
469
567
355
146
689
770
372
6
165
92
405
415
79
198
675
298
255
824
176
897
966
848
620
961
610
717
770
240
412
193
296
838
950
503
883
277
684
97
653
457
117
725
730
80
97
380
194
57
596
688
622
258
981
752
485
843
917
567
841
962
833
43
119
587
398
165
546
142
83
134
509
35
423
904
117
22
204
815
502
379
82
261
283
547
545
484
394
822
744
162
831
562
273
402
799
179
310
262
253
664
506
548
972
222
462
475
428
282
529
197
398
805
437
58
249
632
36
522
875
539
300
527
518
95
681
776
194
61
174
677
716
463
308
370
782
774
30
200
341
278
831
6
21
935
270
558
994
839
926
748
799
949
477
466
875
330
75
266
99
175
957
809
212
225
728
385
219
586
708
262
159
433
42
919
482
952
667
381
128
898
746
61
925
366
149
557
523
123
40
633
756
872
388
847
529
239
547
998
898
139
42
439
787
313
227
430
705
674
826
621
241
595
455
112
201
938
600
20
333
43
454
279
99
472
296
653
454
553
925
60
962
177
558
884
198
188
340
843
228
402
486
593
335
342
282
787
238
629
768
158
348
218
580
629
270
930
862
951
816
649
941
718
231
264
673
361
780
335
375
719
2
278
358
779
272
868
841
283
714
163
864
986
231
884
732
466
99
378
535
157
16
468
585
566
763
165
57
368
517
130
269
503
746
208
123
482
271
97
685
364
465
66
341
654
907
195
40
2
533
866
21
203
264
923
95
965
184
916
581
319
441
20
231
237
930
353
514
486
72
575
303
904
805
655
358
94
310
137
532
781
691
644
137
538
409
713
237
462
775
730
152
845
204
704
801
779
412
655
164
96
60
783
751
124
905
254
386
223
251
365
372
581
347
29
224
847
349
287
47
894
210
355
986
364
485
122
626
671
682
782
77
743
315
371
986
280
149
114
732
748
780
476
805
628
271
41
379
133
269
681
525
756
275
901
124
525
406
813
37
934
302
371
575
416
344
364
494
287
442
461
153
771
525
397
732
985
880
198
849
591
922
648
414
226
498
801
454
471
173
432
88
677
599
626
624
484
269
459
891
606
407
446
696
683
347
247
759
484
732
654
79
628
224
249
832
433
590
216
658
282
865
808
690
734
617
819
362
85
318
874
275
276
505
864
494
208
749
771
493
313
187
61
625
680
129
962
10
281
674
444
995
137
438
684
669
557
298
413
413
682
527
698
342
257
685
860
872
572
842
174
891
153
121
325
696
796
524
139
196
136
893
265
813
730
801
619
513
251
40
902
319
88
650
182
16
12
172
223
634
777
621
118
585
780
207
763
569
906
472
527
275
345
142
232
186
880
519
837
309
717
981
253
323
174
634
204
941
451
638
514
112
913
796
790
211
998
224
680
217
987
89
709
215
524
595
95
502
552
682
279
51
236
787
73
815
949
705
294
345
732
921
734
197
122
506
307
348
358
452
649
601
285
303
879
465
436
641
305
996
329
626
589
200
627
996
474
109
454
841
205
925
123
107
528
459
106
812
872
29
978
234
390
478
332
944
369
209
837
733
426
247
646
366
62
875
596
277
372
498
146
531
579
64
80
148
285
443
80
867
955
108
679
940
581
422
904
446
366
733
971
896
847
793
374
797
630
964
23
395
617
677
254
122
122
376
927
255
564
130
140
148
890
696
566
507
647
627
207
370
416
67
272
134
603
705
182
361
702
624
241
133
77
31
494
73
340
239
449
675
633
835
788
358
161
192
487
260
847
976
331
92
22
791
212
670
773
871
893
980
909
458
478
612
104
297
80
647
249
816
489
103
419
235
173
933
534
434
11
131
581
361
801
442
237
360
503
502
958
553
59
870
291
964
954
876
289
237
14
362
476
378
841
447
792
733
101
119
488
887
414
605
611
684
293
556
777
233
523
387
706
457
900
175
309
129
585
124
55
1
556
482
467
983
83
282
63
317
742
90
108
174
224
409
268
191
954
650
401
390
890
187
282
536
30
123
731
421
368
328
701
581
50
856
558
16
289
29
994
698
432
566
186
280
774
287
62
477
157
449
803
529
286
588
603
898
43
458
399
69
185
33
917
453
38
380
408
711
969
282
740
668
825
297
73
249
254
602
695
830
316
555
691
249
630
541
302
357
966
369
966
871
161
794
864
943
407
762
221
147
710
434
487
962
360
731
150
244
721
172
358
716
794
184
246
881
792
894
27
407
242
568
37
723
879
837
323
895
676
637
811
705
986
421
618
730
631
84
735
868
587
184
308
87
864
221
754
37
74
119
235
921
157
490
551
127
970
463
223
82
939
245
767
720
488
140
114
152
679
85
396
368
516
504
143
442
396
368
152
33
675
211
488
849
729
619
595
109
677
98
826
546
489
506
251
525
654
116
908
204
34
274
748
526
147
990
659
423
945
708
873
806
327
80
77
487
504
250
821
957
193
181
866
616
551
682
226
91
94
269
266
833
517
746
9
538
419
303
736
17
714
732
252
761
17
323
444
154
720
446
8
42
415
429
201
717
276
842
264
320
512
891
966
815
81
962
275
827
610
209
582
142
635
929
91
740
43
657
196
240
639
567
294
172
410
32
528
504
447
803
538
92
955
314
871
853
655
822
471
205
850
162
460
826
778
458
751
239
981
440
336
437
225
818
890
120
151
591
150
254
244
521
287
509
44
288
792
689
542
213
274
436
410
189
695
36
836
242
453
42
218
153
504
914
213
760
380
873
783
546
312
285
355
341
232
410
380
897
383
112
961
616
287
945
627
697
106
37
346
5
494
750
175
904
730
442
39
173
27
358
83
837
429
293
147
852
108
596
67
353
523
508
495
501
116
330
607
246
96
38
741
307
259
83
103
441
542
313
245
719
755
124
732
250
982
351
302
230
723
934
548
928
381
831
445
973
233
559
970
693
141
536
809
718
544
542
201
211
754
881
189
773
365
75
562
961
136
258
563
431
321
463
682
328
4
845
218
7
5
666
175
315
825
839
753
791
495
971
796
676
334
837
899
411
960
12
651
517
435
665
755
727
576
868
738
558
726
509
61
104
348
632
816
278
517
340
399
85
72
879
262
311
878
567
506
602
486
389
723
293
458
447
111
347
482
366
57
795
754
159
358
901
487
208
168
113
653
438
370
343
224
508
379
225
534
520
31
454
878
333
768
369
187
733
962
515
212
679
828
316
177
914
490
2
850
599
152
160
157
192
572
869
199
943
839
187
408
307
530
709
665
13
140
588
173
411
743
571
371
937
69
843
710
556
458
836
20
948
31
296
819
392
43
456
404
570
113
492
529
714
209
922
835
448
830
752
48
455
949
787
252
321
969
131
326
979
903
610
469
613
371
107
105
473
222
289
505
145
400
369
952
322
887
782
479
311
607
112
567
214
174
657
929
328
125
576
342
930
255
424
339
890
318
335
342
596
524
745
490
902
44
210
694
117
464
188
257
981
814
951
52
216
168
989
677
549
187
609
216
626
102
531
659
251
101
709
889
84
858
651
876
640
228
318
62
406
984
950
15
182
455
677
103
528
39
557
415
676
748
809
963
70
130
513
361
822
774
316
489
597
232
844
82
404
986
96
188
810
125
713
203
842
283
75
674
416
239
218
922
211
494
916
837
871
161
850
170
129
256
564
959
476
496
467
795
677
512
526
332
621
841
901
1
74
139
791
184
601
71
257
876
543
198
399
254
819
586
217
855
633
485
919
645
282
871
279
650
725
848
473
338
564
502
211
207
172
727
56
409
476
824
914
449
216
635
784
920
322
704
998
186
653
945
763
198
854
451
179
86
907
861
449
750
999
43
532
664
937
795
943
173
669
719
443
272
258
985
601
190
201
111
371
567
193
691
597
535
913
47
875
709
973
57
451
957
791
99
591
675
295
385
962
20
351
698
313
898
742
770
731
966
908
189
963
139
490
949
540
273
682
923
79
960
918
402
709
438
159
837
190
313
661
616
615
950
143
484
744
742
801
701
405
430
434
839
82
7
595
693
811
192
474
988
854
333
853
755
527
224
170
4
482
21
435
514
711
146
736
232
597
481
103
807
203
173
363
630
613
61
718
179
903
633
712
289
402
298
37
526
589
875
554
866
801
529
452
119
73
64
224
914
760
933
992
185
513
455
539
359
816
504
81
314
852
782
252
30
660
706
826
587
820
531
688
958
463
595
134
593
286
131
422
190
474
735
955
400
142
465
270
926
461
693
79
345
986
893
988
521
190
64
923
378
451
99
405
826
210
666
464
680
306
958
698
626
769
887
378
428
18
179
198
917
443
608
905
422
869
205
909
781
434
139
15
350
427
695
899
865
39
277
987
308
643
995
629
542
386
634
130
722
281
165
478
386
462
971
954
403
387
276
188
352
865
152
797
73
263
479
457
632
681
234
156
644
839
234
93
510
462
680
16
119
505
989
729
150
799
560
93
638
832
249
367
106
49
219
248
654
596
988
41
184
491
63
800
45
30
267
729
622
909
679
507
936
4
180
290
924
828
162
631
954
918
174
746
512
827
183
720
73
927
636
932
898
580
180
67
135
853
583
702
13
739
530
86
556
505
972
31
489
746
312
114
380
234
888
205
805
881
797
893
577
115
940
795
26
527
155
740
395
310
343
238
819
999
197
640
84
702
523
894
383
130
539
807
631
570
855
138
319
260
367
336
962
835
70
51
825
233
216
585
164
944
534
47
644
718
332
65
160
91
108
619
348
566
517
689
813
196
476
796
268
250
901
199
491
129
460
445
697
808
129
5
460
323
169
0
619
774
933
202
639
369
708
476
819
239
919
349
721
998
477
907
66
551
927
589
407
332
290
767
362
140
177
308
196
880
873
497
667
360
930
3
311
869
108
210
924
706
50
103
851
622
217
913
887
215
57
74
364
380
986
768
513
145
642
56
994
605
743
128
369
108
14
672
64
343
574
87
671
816
586
907
79
420
748
929
941
410
14
969
550
603
699
677
966
532
531
590
947
811
31
731
169
647
751
385
446
815
21
520
544
948
108
814
877
308
531
821
698
170
49
233
663
487
237
559
539
534
255
198
523
875
467
560
816
322
54
557
899
756
7
688
581
370
147
851
75
631
903
588
913
75
212
32
242
429
178
134
160
700
334
898
488
772
367
702
385
774
508
372
619
940
748
277
370
862
290
661
446
636
740
44
124
328
433
282
142
382
218
440
697
405
129
635
349
536
663
195
964
516
982
530
555
574
999
915
651
350
616
465
329
544
604
578
423
247
450
373
768
549
953
206
867
263
232
599
860
77
188
987
662
70
723
959
100
378
421
418
78
660
811
40
366
894
971
298
842
32
816
483
34
391
661
923
420
115
187
69
327
504
43
228
620
90
824
591
503
727
212
337
341
168
447
973
992
775
229
263
136
692
233
382
71
450
968
33
353
381
276
156
459
672
477
736
544
999
632
153
100
646
992
171
217
154
136
395
343
849
906
122
66
393
786
638
390
291
631
801
65
687
654
564
468
512
28
398
209
853
887
567
529
460
271
239
478
525
884
223
913
519
470
566
429
315
535
308
972
13
805
983
498
146
629
884
717
157
478
509
610
878
806
385
689
399
665
148
828
216
443
183
917
613
216
789
541
502
385
949
464
471
372
435
669
2
64
837
865
416
266
820
154
129
368
495
327
138
751
114
690
133
495
233
472
786
426
613
605
593
141
49
392
409
892
214
933
377
945
185
7
847
242
597
953
168
322
462
520
360
914
957
352
614
467
571
724
623
560
692
63
641
337
93
180
801
697
945
634
311
899
313
387
260
119
600
142
287
232
8
919
532
699
959
168
790
108
914
112
277
357
544
661
704
561
438
329
121
504
327
917
449
58
295
271
263
151
637
739
18
499
841
333
178
588
496
617
895
331
831
667
931
599
816
625
810
266
525
994
955
599
610
151
170
972
794
105
635
878
534
231
105
163
773
260
69
85
766
455
95
258
876
684
855
805
250
141
108
226
308
968
480
658
429
744
569
14
739
814
620
322
794
607
841
151
724
187
343
939
699
252
981
8
904
700
692
824
853
847
273
713
118
918
95
596
707
963
923
780
959
397
724
661
319
25
855
877
73
527
530
985
672
872
603
914
118
739
910
504
196
256
456
50
911
935
223
12
905
76
888
302
557
880
345
368
168
24
10
539
774
447
760
578
665
80
678
122
317
912
572
239
826
721
997
943
420
367
205
612
567
386
11
754
834
679
929
16
600
447
410
42
103
382
535
461
84
10
215
833
577
905
804
809
716
12
590
916
452
477
850
58
533
415
301
867
984
125
491
348
919
90
510
149
47
802
63
531
115
195
132
265
282
985
688
623
469
898
27
674
909
149
321
717
659
269
284
411
175
191
726
610
27
339
195
158
349
261
191
340
772
745
824
526
276
617
684
22
65
269
140
52
146
33
291
726
525
485
634
89
80
6
147
435
549
769
839
190
753
507
407
360
187
789
677
19
706
677
580
430
334
667
224
637
616
57
370
774
83
811
136
778
198
172
806
639
439
139
637
479
335
623
282
149
235
26
39
253
168
123
95
171
316
128
653
171
980
130
623
577
475
440
186
27
206
981
269
56
858
101
225
791
539
249
170
89
560
220
486
953
591
325
333
19
355
337
538
42
220
178
508
614
344
690
269
278
67
558
701
964
348
363
202
410
541
290
333
384
714
901
977
590
270
917
230
569
927
991
382
106
499
869
610
607
294
269
814
721
136
247
17
972
657
488
636
883
144
391
743
989
365
581
717
175
963
589
683
300
476
265
723
406
196
257
616
893
818
215
496
238
482
792
88
923
937
857
740
434
387
510
932
592
569
170
27
800
607
313
803
944
394
105
499
722
111
310
707
127
343
218
427
512
209
814
189
875
814
303
975
677
707
976
884
816
835
26
312
229
372
919
793
429
472
132
69
519
854
524
882
892
594
766
269
241
400
82
448
816
949
864
761
997
70
460
774
730
179
741
150
361
922
792
546
845
262
730
400
986
827
305
16
493
543
104
476
396
739
856
814
803
167
523
369
807
563
393
174
628
616
836
638
992
663
544
983
787
453
665
241
699
848
220
93
754
920
224
387
773
675
965
49
773
955
137
939
389
979
203
463
100
841
217
555
765
44
261
700
843
700
139
945
935
639
767
130
418
441
168
434
867
558
607
408
552
622
360
150
281
438
599
273
27
333
253
75
19
310
176
639
346
578
185
215
985
530
866
785
466
667
506
835
828
111
156
245
694
512
393
482
210
889
128
917
195
80
301
426
281
830
642
678
561
919
794
316
146
138
190
361
64
256
413
480
953
441
237
119
658
736
729
901
796
869
834
790
851
630
773
362
794
741
952
72
59
503
109
729
145
660
633
220
108
248
325
379
623
873
935
877
263
144
257
524
321
853
771
666
818
988
87
349
603
848
20
511
44
147
603
511
229
823
725
100
802
394
886
304
847
309
910
211
22
40
506
194
449
353
280
105
924
880
17
401
666
308
386
509
199
861
556
321
643
761
274
11
18
120
759
628
59
806
772
983
797
454
889
853
390
852
586
906
771
892
624
334
913
232
785
718
62
692
453
876
750
361
901
657
273
820
327
478
823
858
106
271
251
618
325
992
112
621
364
876
946
486
558
346
948
327
413
786
480
547
928
967
882
43
364
871
413
83
813
888
700
225
656
243
345
82
26
542
601
185
768
951
444
131
201
352
310
593
714
817
567
944
212
961
821
893
575
874
902
907
158
991
295
447
665
258
539
847
990
839
681
850
318
192
73
837
500
418
381
333
39
611
64
631
782
391
40
862
908
60
369
55
659
902
450
263
566
493
702
670
680
347
869
806
106
840
985
336
104
473
363
282
699
110
298
922
954
766
716
801
810
178
272
606
613
52
702
270
679
155
649
654
291
539
652
116
18
401
991
664
484
330
15
723
978
858
756
111
456
287
808
163
546
616
356
589
985
871
55
497
602
57
458
950
477
197
378
466
100
119
404
399
458
543
111
528
856
336
83
247
311
84
99
44
141
367
292
528
468
601
471
921
933
420
248
408
855
64
490
469
379
495
74
297
351
830
460
363
419
901
129
876
722
733
817
202
427
660
834
312
786
241
136
47
601
368
949
804
630
739
377
388
747
826
528
286
469
368
945
254
933
686
681
132
264
108
860
873
471
490
44
804
939
68
73
623
341
264
364
535
309
499
171
495
833
495
339
5
975
504
297
491
713
434
969
931
729
315
922
67
704
441
802
10
172
3
798
633
69
820
614
899
723
985
343
145
506
11
138
723
565
173
269
163
224
390
329
52
492
640
125
248
310
469
63
325
544
868
160
761
282
637
40
680
14
459
892
176
790
354
51
410
471
339
287
444
362
536
421
392
906
863
432
655
154
742
960
69
886
613
274
253
497
600
428
793
72
862
698
280
49
517
599
973
387
345
262
217
574
176
276
706
897
260
649
854
730
627
854
897
53
920
176
234
109
169
89
264
554
174
782
585
908
867
356
43
350
607
694
488
198
358
113
901
597
211
358
29
432
880
594
779
673
323
472
297
939
871
491
912
504
285
585
976
683
149
302
515
597
586
349
78
396
179
928
575
428
138
88
268
381
992
643
898
280
961
788
535
865
914
525
956
502
686
819
556
378
16
305
387
31
870
519
96
593
11
934
610
296
526
189
619
839
437
202
84
496
588
326
437
627
696
42
261
591
424
509
552
163
720
690
310
972
382
187
717
932
683
405
200
626
70
53
946
743
894
279
503
330
649
817
134
973
181
284
848
10
222
425
300
792
982
142
853
919
789
114
165
764
687
994
56
300
994
628
673
643
158
851
28
119
110
647
745
92
28
345
8
455
504
120
14
317
420
272
475
594
794
974
497
101
242
353
582
427
458
44
952
191
97
929
663
520
687
7
151
309
637
253
854
102
149
571
542
444
464
715
658
276
822
654
364
774
702
790
831
361
12
282
778
765
197
59
966
764
267
264
183
40
930
618
42
291
778
747
177
761
298
631
430
79
280
719
2
321
24
338
576
600
417
597
277
482
569
169
811
865
383
222
447
684
56
935
671
843
228
793
736
834
86
539
130
882
277
822
643
692
903
851
32
709
296
473
747
95
896
27
435
380
653
746
481
991
789
76
449
61
317
340
119
619
445
691
741
922
444
995
675
979
537
545
917
597
471
896
418
194
452
468
875
5
801
446
147
267
824
788
620
730
751
797
981
540
544
802
177
694
764
661
51
655
668
736
713
909
583
424
719
610
766
361
51
962
740
297
344
174
499
239
6
763
782
682
330
457
402
994
417
515
532
749
486
870
18
335
526
781
640
825
955
541
127
477
19
396
724
522
280
263
942
174
37
349
558
755
998
109
812
198
740
886
481
196
457
77
390
264
689
420
178
812
548
800
869
233
38
538
735
349
575
660
823
485
709
887
795
105
818
914
345
271
890
727
299
266
787
621
110
58
913
373
161
582
398
481
831
254
308
645
706
111
997
997
181
971
939
912
402
300
190
692
783
377
179
919
221
409
555
540
756
408
130
742
265
347
279
900
714
627
418
897
413
912
944
934
626
838
152
776
927
686
209
28
859
153
915
856
328
325
886
363
685
73
573
9
281
659
3
982
326
775
168
859
769
486
629
109
635
999
428
299
220
232
9
505
583
107
907
179
739
644
77
967
585
38
221
544
964
650
965
151
688
645
399
244
738
675
817
825
753
314
115
833
214
188
178
210
621
356
904
109
35
24
244
365
222
240
224
573
467
188
961
811
134
997
236
324
949
557
200
599
292
378
427
797
295
755
587
674
438
483
650
157
555
225
224
630
848
890
104
469
43
495
759
935
435
999
835
589
148
944
751
15
863
8
13
403
475
228
33
654
885
57
239
880
701
603
331
353
167
535
939
390
388
274
853
569
818
399
653
893
316
724
113
413
491
472
472
325
197
828
555
282
157
741
190
958
602
198
803
140
699
714
900
405
902
101
114
465
681
961
909
271
636
734
926
406
294
612
329
939
660
379
872
509
223
543
517
23
997
856
950
521
152
144
461
670
393
23
231
245
90
171
55
523
558
522
849
949
902
859
204
709
321
211
558
491
595
799
765
423
601
815
696
948
51
196
348
471
952
70
389
184
831
386
608
576
236
510
824
34
834
232
75
115
578
383
358
187
176
464
485
290
20
616
943
910
632
228
829
453
805
959
290
161
118
93
831
240
683
117
835
296
485
625
436
608
915
926
135
378
709
571
676
761
996
782
124
567
93
170
575
630
296
211
88
559
306
680
922
456
523
494
642
848
459
692
372
970
510
715
651
480
822
213
473
234
645
177
115
955
994
766
8
417
65
515
629
773
523
257
29
920
719
573
963
107
773
21
354
197
902
777
437
553
385
326
24
521
351
750
986
74
840
176
181
398
895
916
354
722
337
714
170
874
119
766
105
675
693
870
231
527
220
829
275
504
691
41
565
150
206
688
951
287
183
96
600
192
939
191
729
706
535
204
417
649
284
657
47
861
560
426
987
335
810
211
340
922
153
554
361
2
722
391
739
167
658
317
395
698
634
889
425
150
701
402
418
525
822
519
71
547
314
50
933
76
599
267
533
895
71
452
897
266
925
742
719
187
8
102
218
978
417
141
360
808
899
130
645
606
299
977
123
310
867
986
402
638
225
936
161
618
279
758
698
861
825
948
457
557
398
720
847
516
89
912
345
725
230
542
309
657
42
213
586
638
950
302
100
637
599
754
887
148
484
801
819
454
888
363
944
180
74
173
229
417
974
940
147
320
684
832
382
753
742
870
975
864
119
107
587
534
813
98
925
714
497
678
818
512
564
808
210
797
288
485
24
864
596
281
166
401
637
312
272
848
918
891
37
808
421
931
319
11
568
28
206
668
268
740
612
755
882
160
271
130
762
488
84
277
737
84
704
150
911
411
221
887
747
606
688
93
786
626
280
620
26
417
599
788
38
677
817
594
930
331
485
637
76
544
355
175
856
767
373
460
192
169
393
852
665
783
745
68
200
203
369
228
663
667
105
195
709
651
429
666
99
9
803
2
649
901
653
150
527
348
555
648
623
798
88
141
844
827
833
575
443
695
527
108
199
882
20
150
579
554
515
276
277
518
856
709
715
849
963
621
688
517
949
183
260
386
97
432
6
163
859
269
889
841
701
185
195
82
180
889
695
110
850
448
958
905
581
17
719
358
827
119
274
488
433
968
961
419
370
198
548
130
404
78
928
938
882
488
100
488
385
970
153
710
794
67
914
499
923
783
421
52
69
683
474
933
717
100
94
293
61
529
647
619
504
621
182
993
199
927
912
861
315
274
464
813
785
224
195
146
121
105
719
330
27
502
153
845
435
997
692
590
887
989
574
153
615
106
240
125
455
616
751
829
819
915
849
917
335
287
999
852
943
187
717
472
119
578
760
818
226
533
48
805
804
149
209
542
905
949
237
778
348
815
619
285
767
947
24
681
635
185
158
894
933
514
917
732
537
889
69
638
845
659
967
934
29
606
273
558
609
233
375
639
251
350
264
51
81
272
966
611
508
925
371
176
370
506
753
330
346
457
132
952
766
824
348
234
355
729
211
489
936
151
15
946
734
413
993
179
860
629
946
253
21
219
625
101
977
795
217
724
735
834
164
493
576
334
366
216
848
85
795
967
426
785
209
423
66
584
621
216
453
294
475
159
897
890
379
489
831
424
553
217
171
311
381
618
398
399
244
88
315
393
399
521
785
571
61
832
192
560
800
165
987
544
691
47
23
910
761
379
840
148
709
220
54
659
961
298
17
915
823
739
673
694
484
935
312
742
656
181
174
210
204
360
335
943
461
951
9
781
19
815
486
979
701
74
995
721
827
172
296
950
902
44
860
301
510
733
486
977
443
958
959
44
546
212
408
956
699
504
903
929
730
506
717
83
381
202
695
145
612
634
623
350
665
191
422
411
658
63
152
126
133
379
742
565
635
371
165
143
914
773
503
691
730
436
554
525
772
70
142
971
560
224
149
260
829
171
854
918
4
116
452
991
910
779
99
544
268
871
94
915
0
991
226
548
221
149
658
740
593
776
977
535
567
457
946
695
577
585
756
351
620
682
553
226
785
47
845
914
798
551
635
584
765
768
623
891
458
574
827
750
665
306
654
614
77
335
19
529
743
24
368
970
472
388
98
476
209
292
288
171
446
262
114
320
890
450
136
951
137
896
64
485
914
529
856
876
271
479
354
616
774
29
791
710
210
520
300
741
649
801
206
279
905
490
753
59
215
747
444
895
508
131
309
265
973
389
262
14
824
728
193
654
722
130
849
889
864
304
562
400
628
698
453
104
729
261
355
49
924
122
861
604
115
27
497
277
723
15
406
369
497
969
736
288
70
147
560
190
263
326
187
613
786
230
310
890
924
510
360
816
828
133
174
459
814
399
227
823
496
502
645
206
332
43
91
410
614
280
582
523
664
153
560
975
324
296
653
283
120
757
924
185
648
689
649
27
308
419
770
207
989
368
590
403
158
842
268
112
606
588
772
980
712
66
812
100
606
712
943
888
400
48
111
686
399
555
203
379
915
518
563
961
312
906
662
560
607
972
242
794
710
138
827
738
313
119
912
691
569
750
442
610
805
998
235
185
891
316
525
337
304
811
775
110
424
583
810
693
148
669
413
490
92
802
893
415
610
122
989
267
142
725
704
370
103
605
400
390
260
609
222
967
454
393
517
648
950
286
170
383
135
656
937
299
881
689
915
238
832
748
475
14
139
342
903
221
75
645
608
916
856
304
199
975
553
772
120
125
232
417
966
404
401
550
23
683
960
904
220
355
792
270
832
220
218
208
972
116
52
938
707
39
677
850
72
52
827
318
139
146
208
715
217
212
197
523
168
846
485
184
78
834
650
849
433
733
652
889
944
685
547
927
906
580
837
744
362
129
183
104
302
265
572
323
322
241
847
139
261
174
47
646
250
743
895
765
923
813
3
286
16
58
628
836
237
969
412
932
669
541
50
347
528
630
299
343
606
319
622
105
641
119
739
865
501
222
611
716
793
595
684
639
545
865
751
43
371
408
728
88
573
58
813
55
718
479
965
258
994
386
637
585
458
276
452
790
706
282
244
124
44
328
322
15
431
141
15
582
675
40
940
522
337
376
904
260
735
295
578
941
822
149
769
316
570
64
251
854
584
477
418
200
70
622
986
579
696
165
366
885
309
797
859
919
485
144
918
174
724
331
692
582
71
382
355
867
505
912
123
643
679
886
78
7
837
978
330
79
817
455
112
386
476
986
734
193
529
999
538
653
706
101
457
594
559
826
15
918
429
357
386
105
419
519
42
709
975
913
853
518
818
829
801
673
620
560
279
713
706
378
130
602
729
462
903
383
625
512
342
151
690
818
2
976
864
738
910
991
787
730
891
717
212
950
703
994
600
978
695
790
388
388
570
250
540
324
605
846
291
180
19
178
88
1
58
582
205
209
982
427
311
404
676
227
403
412
537
32
429
930
950
656
829
830
85
433
717
12
334
548
854
971
873
467
723
710
251
658
376
822
825
569
745
637
122
514
904
802
642
659
407
253
134
166
469
212
424
504
648
885
189
869
30
275
366
631
52
659
582
921
58
379
663
847
384
820
551
688
409
295
70
645
577
890
724
270
625
978
594
860
998
352
175
643
145
875
504
485
696
371
727
240
65
338
349
574
688
305
336
99
142
696
840
630
829
669
751
770
121
42
96
564
68
20
668
535
473
305
744
884
36
119
179
837
667
703
953
400
161
876
334
957
877
558
897
30
531
338
862
755
637
840
441
932
712
821
736
64
772
67
736
493
73
612
947
863
580
903
217
897
692
484
671
858
645
420
325
469
584
898
541
305
35
492
788
966
108
985
287
252
92
348
344
109
845
169
297
983
264
848
428
536
536
43
301
132
706
141
177
487
800
423
782
568
875
262
42
806
174
700
254
177
339
783
561
936
807
534
643
771
519
990
796
529
875
481
495
964
350
572
500
935
263
605
266
126
652
761
548
317
717
850
205
465
956
296
381
577
354
585
312
994
676
606
244
888
672
877
318
357
9
681
859
570
577
27
485
130
198
885
502
827
562
844
801
578
645
278
545
947
198
154
299
312
105
524
911
559
876
952
772
342
637
607
634
776
6
391
632
833
112
745
831
989
92
455
279
188
54
218
286
780
941
873
390
887
821
589
682
406
57
729
109
591
961
604
156
486
643
909
764
671
123
80
725
429
927
519
323
764
440
250
286
535
494
148
27
908
457
244
188
712
641
959
465
92
360
139
213
915
373
362
215
597
656
481
375
348
486
495
167
569
850
454
278
198
631
387
766
208
599
576
344
336
878
599
189
329
698
872
816
366
811
437
816
32
45
569
424
149
330
674
62
438
482
383
428
890
637
341
701
250
940
701
75
390
219
748
40
729
20
219
288
295
282
451
978
291
550
690
789
41
685
723
611
202
89
660
915
308
986
847
517
361
76
342
290
424
936
824
111
830
923
401
212
85
953
125
205
562
313
103
66
606
680
267
229
131
390
560
497
406
967
651
638
908
151
981
405
735
403
13
156
206
618
337
246
367
290
909
427
971
386
457
399
457
300
298
211
156
882
944
759
557
417
518
97
224
754
413
716
796
385
239
937
386
381
299
898
276
477
743
505
831
24
513
665
210
978
177
138
316
511
5
882
435
947
470
935
833
912
714
515
969
764
324
549
334
468
633
623
735
185
220
574
310
722
901
160
56
559
110
750
665
865
709
275
674
443
623
339
179
103
586
339
974
428
388
119
199
230
327
704
25
687
359
606
832
436
136
437
345
336
338
308
683
712
256
839
715
907
835
646
439
375
4
654
11
185
339
512
803
744
725
601
226
565
352
468
623
391
132
602
274
369
649
783
102
180
887
156
387
936
375
888
645
197
851
980
700
884
908
283
142
406
35
305
51
699
159
241
765
115
765
671
610
845
11
854
465
97
215
700
587
935
872
197
886
9
92
186
230
849
366
205
360
504
15
763
697
971
135
750
283
529
252
849
307
668
676
753
536
93
322
644
247
288
643
483
192
754
865
463
351
839
193
575
805
146
217
168
937
578
888
384
553
600
968
463
289
511
967
815
436
878
436
252
513
255
709
224
602
284
919
86
681
901
502
834
842
326
166
536
394
337
591
595
325
427
446
771
206
919
7
498
68
314
933
986
623
126
224
505
242
452
798
5
31
901
93
384
743
129
869
55
19
492
680
625
1
811
956
558
507
462
774
681
481
418
26
387
935
251
181
347
466
209
595
563
917
269
414
522
226
165
287
126
574
697
740
994
540
232
71
381
591
24
472
672
907
528
203
186
237
404
704
315
600
691
985
353
745
706
90
950
182
984
470
457
859
953
244
701
8
232
743
253
818
613
258
912
152
532
679
702
471
607
401
545
610
418
486
325
53
686
538
425
699
391
483
762
958
810
926
69
40
883
326
247
971
622
488
636
245
204
28
257
873
332
70
120
521
832
472
725
283
431
144
628
384
687
452
698
772
237
136
481
818
406
668
977
605
178
906
546
943
873
211
399
167
28
51
46
107
102
961
663
24
967
231
436
736
592
686
380
406
700
522
66
141
665
491
878
290
104
811
821
517
984
904
574
94
534
306
240
954
460
711
264
425
395
605
631
852
735
718
961
249
789
676
970
231
648
151
945
127
635
658
985
95
152
271
815
518
699
789
436
91
94
847
933
963
475
524
156
659
376
275
660
976
479
55
892
323
681
715
568
593
232
173
463
512
646
338
750
673
903
477
365
515
340
27
849
270
798
665
34
853
173
729
166
633
57
12
950
554
107
886
5
970
655
215
465
415
67
530
74
521
20
711
432
871
62
197
926
400
17
103
366
145
198
868
944
381
823
917
677
85
954
779
877
726
152
31
662
277
532
648
565
748
617
420
451
589
291
151
816
209
435
260
207
140
41
225
881
196
954
814
355
473
507
881
942
310
768
187
80
227
586
648
163
427
763
836
3
40
732
782
685
701
930
160
942
514
910
350
602
105
781
710
35
251
814
39
724
719
120
569
395
581
36
776
249
568
436
12
39
334
567
86
760
872
980
250
298
809
634
785
441
916
975
944
849
211
607
757
623
119
107
963
586
426
869
367
860
954
904
351
399
604
807
882
970
258
657
791
746
496
512
620
900
208
271
391
910
837
753
75
296
809
400
150
508
708
10
987
770
636
259
919
708
98
836
823
173
710
540
34
755
120
767
22
389
33
509
588
8
382
720
485
448
778
804
659
656
604
904
385
304
983
590
819
336
865
357
838
378
171
802
627
130
661
410
805
554
936
837
783
494
438
34
115
939
82
161
221
411
938
744
308
622
751
123
689
885
946
167
865
856
75
706
549
795
844
908
512
457
513
621
654
990
735
413
152
822
421
300
607
708
399
663
458
265
177
35
825
649
673
702
361
876
330
903
408
665
126
292
473
85
544
699
47
160
529
533
496
232
478
20
731
490
181
446
576
973
707
628
942
678
667
886
650
888
17
325
173
643
162
56
541
608
516
127
561
705
806
677
874
967
217
787
442
12
255
799
662
750
337
478
557
691
985
551
295
839
617
264
858
568
842
251
295
371
722
954
523
595
189
615
532
739
299
485
607
586
545
650
693
571
125
606
252
511
261
132
761
711
80
213
785
78
936
688
930
888
945
650
47
583
753
208
270
799
311
637
888
849
39
106
579
759
488
454
765
410
264
645
808
910
259
765
750
313
120
285
570
142
763
307
684
836
763
810
897
546
221
43
46
603
923
186
104
238
658
130
221
901
840
294
495
899
271
500
653
611
654
65
103
911
747
487
472
373
817
847
794
769
347
596
326
181
867
212
975
345
458
302
706
966
644
518
618
623
703
891
287
811
634
984
184
950
160
97
414
578
267
304
147
489
239
154
976
232
338
452
536
750
116
575
341
147
68
8
338
164
56
939
190
251
393
850
172
521
75
984
218
44
885
443
429
819
9
736
817
711
904
463
889
486
113
725
825
612
707
254
278
822
461
195
737
503
740
601
346
95
996
926
621
263
971
135
246
820
767
737
997
155
942
897
51
312
137
284
336
619
898
173
305
115
398
154
934
67
699
435
157
695
644
162
793
218
172
1
30
840
401
97
262
698
620
253
659
382
484
262
138
961
278
433
636
659
499
323
204
698
616
883
406
846
616
281
552
763
927
999
320
575
378
628
51
443
818
280
944
905
778
354
15
268
71
621
46
278
69
209
321
122
874
866
391
729
276
578
32
990
920
966
874
282
512
425
467
710
840
63
249
281
147
350
354
818
803
616
850
176
225
418
772
147
376
387
418
419
961
842
705
617
895
330
474
943
980
260
364
406
353
19
856
23
424
333
130
414
436
832
701
539
999
60
617
280
250
350
979
432
360
230
945
400
453
718
978
695
881
168
394
58
239
934
134
286
104
226
16
3
869
103
824
628
769
976
779
631
670
603
739
653
957
830
48
907
905
962
610
448
278
344
448
696
283
436
764
428
676
268
685
548
98
518
484
314
853
334
629
159
556
643
124
257
307
311
191
989
606
741
218
163
212
282
313
563
4
934
612
674
772
806
370
639
237
457
354
135
755
627
532
785
79
520
383
20
488
725
360
842
567
336
444
810
946
194
153
259
548
285
581
840
315
630
613
186
247
32
346
296
54
138
461
624
991
780
70
172
162
80
807
582
703
414
131
108
30
587
955
417
935
392
653
571
612
699
923
118
56
749
700
915
760
792
474
138
582
215
589
972
896
804
695
64
42
218
514
17
807
8
457
225
232
444
515
433
901
972
976
496
188
300
995
905
927
286
364
707
505
17
17
318
295
291
926
51
55
135
34
972
752
748
124
549
774
128
239
926
423
589
613
172
492
581
664
604
454
627
695
772
500
567
648
807
790
958
706
729
531
730
716
10
827
142
73
757
891
80
505
956
555
294
699
773
754
158
149
886
693
449
500
648
517
744
623
104
717
134
911
659
313
878
891
906
46
754
394
639
178
467
706
986
496
14
742
152
102
991
243
127
897
224
839
17
163
528
617
467
557
286
81
925
235
558
737
518
212
822
101
608
97
296
706
359
993
800
464
929
544
715
550
659
387
792
226
95
642
672
374
806
884
49
130
172
831
847
493
185
481
650
256
14
47
809
368
234
885
877
308
372
193
541
879
556
295
296
13
386
156
912
797
864
27
650
185
296
283
470
613
814
124
112
386
478
214
599
682
734
37
896
960
312
375
406
13
556
395
707
875
679
520
485
291
801
442
594
402
4
796
770
814
790
214
228
835
978
587
601
458
661
862
314
718
676
530
957
533
933
535
1
978
180
663
41
789
519
974
14
499
803
69
197
501
700
954
626
479
155
449
489
871
923
111
488
39
217
390
545
206
770
0
53
479
702
658
25
218
335
831
629
273
479
412
332
724
407
349
181
419
406
851
965
602
279
91
659
978
789
579
849
454
476
482
289
35
89
454
221
445
936
184
699
228
831
544
888
930
795
658
909
502
11
572
50
13
970
908
20
409
697
431
705
216
420
698
788
239
353
100
217
220
142
49
879
759
64
128
97
646
306
616
439
752
434
735
751
958
216
125
282
83
330
16
957
721
109
173
259
925
889
779
132
993
984
746
207
132
142
133
747
168
765
219
593
291
401
62
185
374
811
689
833
675
558
74
521
47
350
743
332
85
499
573
47
250
852
822
500
664
223
816
911
328
543
441
742
357
601
247
832
102
798
198
217
407
820
109
129
203
425
910
829
607
362
450
432
25
310
186
431
810
208
743
678
588
607
865
533
819
875
177
74
541
889
618
622
49
912
120
718
944
477
326
470
178
361
241
131
996
168
256
273
575
360
38
265
572
662
85
372
98
603
96
691
822
628
360
186
744
688
404
155
4
104
0
538
95
653
321
474
963
851
623
719
504
19
43
410
458
364
431
655
808
525
358
605
166
337
807
131
916
969
975
368
997
413
103
823
526
524
318
68
412
802
799
653
70
213
526
415
560
973
664
563
820
649
837
98
933
515
213
692
765
619
305
625
138
416
949
86
743
510
238
510
860
717
322
646
207
876
849
277
476
328
727
851
562
384
572
166
278
400
851
646
818
776
100
622
370
791
38
235
62
167
869
267
723
456
455
802
997
71
394
840
200
160
609
262
207
732
549
613
876
224
926
404
798
648
303
408
753
745
331
348
921
781
686
763
775
27
554
489
194
574
344
373
337
731
729
644
687
660
198
382
686
598
334
1
837
70
360
204
595
920
678
379
518
160
489
542
757
588
65
437
221
716
114
150
782
33
831
506
527
181
671
521
843
501
453
257
224
476
881
826
926
215
700
241
112
170
384
544
790
338
257
688
92
277
268
533
120
600
579
302
601
983
135
275
813
384
787
584
351
889
488
312
432
691
915
103
613
816
642
129
746
396
951
847
53
458
128
152
990
556
151
147
477
329
60
257
521
21
577
847
616
586
280
835
715
782
282
818
818
437
257
266
612
115
196
498
108
549
897
597
805
466
492
275
607
173
732
278
716
283
949
54
212
364
784
938
156
980
303
635
632
410
775
106
473
166
241
853
177
671
60
482
75
759
428
343
179
79
447
366
350
86
899
875
840
866
200
483
384
861
893
929
371
997
119
353
670
413
170
543
894
694
245
834
979
210
933
517
981
191
719
406
43
333
767
900
299
720
841
359
102
86
708
164
810
740
897
940
568
541
799
310
821
748
787
392
662
533
427
566
780
349
49
760
818
614
5
393
934
2
305
951
638
949
515
517
378
566
461
667
346
60
244
485
547
62
678
674
20
859
93
22
187
39
150
669
174
468
249
434
438
874
605
523
131
681
784
372
608
242
826
353
824
722
790
895
434
896
95
192
436
122
460
373
99
651
152
862
663
154
984
317
182
254
761
521
386
454
517
318
333
454
683
808
46
672
174
966
184
403
839
788
96
415
314
484
610
861
753
976
913
558
610
601
988
127
520
225
807
145
541
465
781
176
616
248
63
805
574
818
571
236
784
120
419
775
22
194
502
703
686
229
59
195
131
368
761
210
610
458
93
646
382
478
333
937
249
231
962
443
174
198
130
24
430
263
32
480
375
183
457
484
718
281
53
966
765
269
366
309
245
52
707
440
338
436
530
357
568
979
837
468
669
455
225
376
475
186
475
318
781
625
506
465
642
766
509
501
432
320
916
423
56
586
799
365
63
616
304
375
484
949
574
753
910
867
343
736
507
811
851
728
925
58
216
279
169
347
335
735
732
72
163
794
89
841
798
59
200
576
130
251
742
365
492
65
675
174
449
561
423
607
197
56
116
711
640
696
30
194
978
674
291
587
89
4
224
959
416
749
342
318
900
426
730
269
412
103
844
517
462
213
892
313
957
350
946
997
456
537
845
239
611
379
638
640
275
902
943
90
4
465
989
7
219
620
554
446
547
669
186
996
541
527
321
125
724
267
812
440
580
656
562
386
638
579
647
274
596
198
343
817
482
559
826
537
770
970
915
30
856
242
719
8
552
63
469
805
217
549
537
487
814
964
330
250
310
300
577
339
937
837
144
842
233
966
612
16
957
255
16
836
78
159
238
847
996
303
4
46
683
610
575
484
705
141
608
755
695
498
249
677
96
560
457
713
802
874
711
666
333
656
143
368
790
814
804
428
25
434
294
151
388
200
540
312
409
160
188
73
63
80
552
340
506
474
979
648
124
678
669
445
792
793
294
900
84
677
633
545
928
903
817
793
57
280
1
612
838
940
102
328
934
671
362
921
216
997
648
408
596
352
521
215
199
561
411
687
187
357
197
76
754
984
627
791
829
278
12
271
822
42
415
6
643
998
174
214
623
259
402
731
169
802
964
527
586
734
730
579
832
416
999
337
276
159
139
651
600
168
193
214
90
116
943
828
384
717
363
79
534
597
201
278
988
284
611
809
131
956
210
350
985
932
507
175
80
224
746
743
74
869
938
508
525
715
270
393
183
27
135
612
983
521
661
267
387
944
620
24
851
781
670
487
451
946
955
352
742
502
512
90
184
596
128
597
763
317
984
843
319
387
164
891
435
72
799
616
100
335
265
347
304
829
701
310
737
185
388
813
760
84
22
147
142
364
289
150
590
78
783
835
994
182
249
142
153
541
5
351
545
725
331
4
664
801
247
38
137
139
822
92
908
197
631
312
742
423
203
548
331
650
921
165
375
738
541
824
492
297
70
291
781
951
72
934
121
761
832
869
344
581
533
147
532
485
657
478
620
32
149
849
866
20
464
12
300
46
281
821
460
298
41
178
914
492
691
647
573
979
892
764
561
884
788
442
435
534
689
622
672
994
860
476
65
918
456
874
69
289
758
296
652
613
360
742
529
378
607
763
671
126
56
113
138
724
764
459
482
56
102
403
721
993
860
990
597
668
425
478
41
589
220
980
344
197
304
628
569
838
381
7
310
234
158
791
722
291
463
471
739
992
415
248
951
634
763
682
46
693
908
567
417
407
932
698
227
46
633
513
197
415
734
581
908
233
458
805
13
97
525
546
925
803
12
284
870
64
438
147
14
383
545
750
738
79
412
478
226
739
31
306
462
308
580
833
177
449
360
184
656
55
961
487
54
523
298
794
566
167
132
339
662
21
10
180
442
477
248
685
689
670
770
559
354
353
120
835
974
340
863
232
426
383
283
692
884
873
269
469
375
89
356
300
671
961
16
948
755
766
534
495
774
872
35
365
95
247
225
820
204
440
1
416
315
141
586
866
784
302
678
785
888
954
346
980
364
385
604
162
314
346
912
116
791
665
460
91
914
128
122
269
877
501
428
203
525
498
325
488
868
493
789
405
633
104
291
329
320
332
822
252
417
572
68
690
138
10
148
752
248
132
872
510
518
716
407
739
959
296
299
628
712
352
262
167
351
797
706
887
376
506
70
340
120
628
948
219
597
111
271
941
296
305
974
572
313
984
472
265
218
528
47
610
605
436
456
38
644
563
620
212
443
749
886
515
267
961
327
531
178
302
594
428
350
696
888
672
5
203
295
565
144
631
335
528
923
454
453
172
133
126
139
628
80
465
309
707
27
42
790
620
691
563
459
384
95
74
213
167
556
314
774
553
651
970
627
237
771
602
257
498
243
188
769
424
53
415
555
343
681
451
290
28
778
236
796
63
881
980
100
296
570
538
937
441
810
293
411
190
184
850
632
505
710
605
52
711
629
877
302
607
547
135
755
989
932
119
322
996
577
212
321
78
526
839
414
945
90
190
347
418
47
991
833
512
157
139
138
148
600
650
705
235
862
493
497
229
177
254
582
818
734
622
363
618
518
57
683
811
810
475
273
185
304
334
784
332
459
607
718
302
778
373
243
409
148
467
420
968
764
897
279
761
163
417
153
287
533
339
984
832
708
186
264
271
248
592
273
940
54
886
60
647
321
125
306
211
604
26
280
87
701
761
849
25
618
212
295
568
1
197
177
135
435
764
674
547
569
247
146
171
568
532
145
507
797
402
921
957
167
247
635
800
85
122
310
833
424
223
358
994
241
102
413
5
630
447
999
947
57
701
898
627
86
728
600
99
117
788
999
355
998
266
620
897
456
866
876
777
737
241
671
768
741
429
239
110
543
174
570
745
857
665
133
797
871
527
86
519
652
241
438
527
182
588
251
495
813
269
806
555
609
196
845
235
188
310
14
42
395
523
624
230
542
554
227
452
311
884
8
744
302
936
587
953
74
485
293
526
90
909
185
686
268
42
964
574
21
670
317
256
299
103
387
533
828
607
481
511
921
938
580
654
572
456
868
938
30
267
669
55
25
977
656
16
863
83
276
535
115
561
735
49
826
760
712
947
26
489
404
543
728
123
443
836
939
198
409
541
697
706
431
332
619
772
744
153
261
438
402
415
649
45
43
611
738
345
543
124
334
761
446
348
608
251
686
754
491
719
292
302
358
568
888
53
506
506
679
307
915
992
331
566
595
163
6
292
16
944
704
855
173
33
902
150
210
605
963
593
557
777
995
471
810
735
895
827
935
385
307
179
563
34
600
809
49
342
952
37
952
750
397
941
116
942
7
107
685
757
115
18
502
637
274
129
187
128
332
244
551
789
693
505
790
223
892
671
537
851
94
51
223
943
981
500
960
422
444
728
270
770
182
8
216
648
85
479
443
636
36
506
185
204
964
873
899
157
273
678
644
864
640
679
913
828
318
694
873
246
986
147
19
538
602
638
437
711
690
189
631
885
953
240
394
714
58
430
651
441
397
307
789
42
918
547
570
600
275
976
537
712
541
580
237
951
507
180
566
957
75
707
249
368
259
453
552
950
368
162
26
300
119
620
327
24
566
932
907
574
254
982
614
451
1
513
72
128
673
631
143
444
478
592
44
743
440
173
976
975
825
595
129
770
805
153
448
635
734
249
187
748
939
36
425
609
728
332
374
369
525
105
577
871
691
673
272
76
679
706
387
645
33
570
662
461
421
629
812
610
92
443
641
492
28
990
253
456
154
66
428
510
9
903
859
420
662
180
588
900
972
271
737
49
259
286
250
627
225
36
494
629
997
876
859
506
293
52
312
144
590
114
250
849
102
471
848
475
303
353
768
365
872
914
723
875
384
760
308
683
376
279
299
620
421
861
335
510
395
308
875
366
464
140
574
784
55
904
689
363
83
309
347
197
54
802
830
25
570
738
592
530
793
231
781
559
938
987
258
636
876
62
369
389
130
664
417
491
73
611
981
149
684
215
411
493
169
183
280
490
824
445
142
809
799
925
839
699
344
209
663
794
765
29
93
867
967
207
307
454
532
961
78
807
66
325
147
789
160
631
116
810
800
627
724
383
919
262
461
866
200
394
61
656
245
599
819
625
983
728
298
34
234
251
751
259
271
765
303
976
462
980
845
571
895
775
43
751
323
33
533
559
277
755
389
779
444
147
829
487
919
882
164
84
114
190
802
908
592
695
390
183
842
96
102
841
676
149
404
644
745
576
28
129
525
307
130
448
633
861
271
108
318
752
115
481
81
394
693
531
944
245
428
3
856
334
829
318
663
22
786
668
431
536
13
270
221
852
477
608
75
243
371
745
187
861
705
432
87
358
757
449
479
121
360
948
600
166
905
535
592
731
278
365
988
743
892
113
378
162
756
513
386
111
487
880
985
666
10
205
845
854
133
780
794
559
452
71
183
905
223
836
225
512
527
730
942
693
318
471
842
133
963
921
305
645
307
637
348
185
68
596
100
577
2
708
903
659
623
647
220
263
763
242
490
761
763
75
643
748
342
151
535
506
496
551
96
821
315
350
578
897
790
376
751
422
968
198
727
420
887
223
597
147
831
537
617
598
657
837
762
986
703
104
986
607
935
405
545
559
593
88
981
63
760
28
731
965
455
285
459
624
905
78
796
980
8
214
661
177
131
579
631
779
970
887
602
616
229
935
85
502
245
851
815
396
794
69
803
596
395
73
754
43
524
623
761
307
601
766
157
492
668
143
797
844
644
931
399
621
275
520
462
974
504
764
101
86
962
841
984
317
746
896
861
925
487
244
262
271
733
628
837
569
243
989
989
860
854
6
293
446
487
318
678
534
797
245
87
246
635
150
48
73
771
648
449
59
249
391
954
18
605
665
905
409
534
185
270
299
503
659
534
437
767
680
701
789
666
221
503
690
258
611
267
711
695
951
199
903
162
920
841
241
996
329
245
524
838
503
416
653
41
759
661
765
389
50
657
914
246
304
212
59
950
791
899
826
517
582
77
857
790
816
788
40
224
614
560
828
500
889
665
636
706
412
210
761
736
396
754
587
356
679
114
624
860
925
360
926
303
682
889
327
584
619
89
310
265
580
218
750
591
546
778
276
982
566
695
770
872
467
638
25
960
86
516
445
956
273
552
570
68
670
870
530
915
273
319
340
875
938
555
582
388
298
962
465
234
514
547
676
177
149
553
893
651
559
658
710
730
534
324
150
411
297
670
49
223
653
288
421
92
119
516
679
509
365
442
870
229
402
478
283
180
532
414
835
854
251
161
713
656
501
254
388
424
143
736
437
702
618
276
58
158
698
520
755
302
293
547
406
132
566
0
635
498
67
306
199
501
859
317
487
82
787
395
522
400
734
603
483
625
92
283
973
135
619
896
692
43
663
129
335
205
585
958
529
131
470
62
596
899
291
675
462
676
392
982
822
473
333
668
720
919
752
63
998
769
575
741
512
452
947
439
505
768
932
541
766
758
247
115
851
605
220
56
369
489
25
193
324
491
289
102
519
228
643
843
653
177
283
560
121
562
185
171
773
64
595
676
303
347
288
34
228
67
700
242
467
307
894
836
993
499
754
141
290
206
332
256
780
550
156
236
424
187
240
132
194
509
965
226
738
918
576
816
575
771
402
281
328
63
178
856
403
658
935
394
365
68
944
142
759
855
433
60
573
755
250
25
63
835
856
183
324
544
823
359
5
348
237
193
991
298
319
729
947
379
778
597
601
682
21
904
237
174
120
591
562
413
876
927
4
610
399
789
938
504
510
152
647
414
949
581
622
135
125
811
554
515
560
927
942
112
887
578
295
191
485
120
66
58
983
670
167
377
378
488
836
522
766
106
222
500
32
946
579
297
524
40
356
465
786
669
775
223
634
812
662
371
349
957
130
139
698
111
374
342
80
879
279
554
230
652
794
713
258
227
130
346
521
222
587
66
960
709
274
79
156
380
479
356
159
410
645
832
526
886
201
745
991
257
564
254
105
307
778
303
486
309
75
923
42
888
17
808
204
856
336
515
318
470
976
441
666
97
701
645
601
507
594
962
48
636
829
442
312
967
105
936
755
520
90
376
74
517
831
929
77
975
419
196
580
68
883
44
422
141
931
339
33
781
37
126
122
572
448
68
360
935
751
161
636
66
359
109
509
973
497
642
785
638
239
574
446
728
64
457
755
212
788
428
225
270
24
972
680
363
316
711
172
120
458
50
394
489
740
512
23
911
333
420
256
372
853
182
324
305
600
168
749
328
982
637
99
511
523
953
805
234
263
439
614
696
84
878
996
631
633
641
826
81
792
171
370
456
368
166
351
958
393
552
586
674
53
755
901
54
952
104
248
172
243
714
36
937
638
492
701
476
135
793
545
302
823
845
303
93
478
104
506
583
90
556
891
414
209
856
62
836
432
23
921
97
698
340
95
204
640
822
199
100
344
962
538
310
706
498
698
806
491
582
205
722
8
433
460
521
703
304
561
8
318
600
848
106
150
180
231
362
278
885
298
411
667
843
728
786
756
267
560
727
956
323
531
230
386
792
923
325
116
86
130
1
569
473
765
227
992
475
690
433
845
958
166
373
506
17
774
527
249
823
422
911
422
773
978
789
860
881
138
227
482
347
166
539
402
163
979
67
428
624
349
74
869
133
524
425
548
798
75
998
914
364
799
133
261
571
986
589
949
286
660
405
270
221
476
418
516
105
83
919
311
57
249
634
889
843
682
950
837
30
380
782
409
76
972
969
578
39
28
611
309
474
132
501
145
29
976
438
15
400
297
543
868
334
713
689
366
169
226
652
329
293
192
405
883
229
379
667
517
270
823
44
627
929
496
191
499
182
332
974
856
213
452
79
52
619
425
997
145
627
124
553
171
596
745
964
94
444
716
195
577
176
655
532
654
239
771
627
723
319
30
25
995
391
886
416
333
230
731
352
783
365
48
35
234
215
622
712
734
873
629
915
137
392
888
536
691
580
742
898
469
728
24
488
86
5
427
14
90
108
247
615
318
694
710
114
19
652
171
974
188
572
707
720
810
782
839
205
714
632
838
31
488
208
923
30
83
708
191
366
817
623
801
540
1
248
213
290
383
765
758
389
824
1
214
985
435
328
232
266
159
502
74
238
823
429
979
157
642
751
141
747
694
115
513
969
318
337
837
332
577
399
99
927
905
187
672
17
666
589
355
947
488
689
717
409
841
13
971
308
314
371
454
415
351
98
656
268
226
781
847
165
905
547
160
2
65
389
946
896
304
509
653
204
705
67
695
418
353
104
426
250
293
734
407
514
600
759
862
469
852
286
78
341
732
418
460
631
619
654
547
121
630
765
440
915
476
643
200
716
791
196
625
248
119
690
450
881
876
916
450
250
709
954
637
817
695
406
554
741
805
351
821
248
55
924
590
524
457
601
33
266
159
537
506
856
722
736
98
127
964
601
755
715
310
216
754
749
230
72
215
369
601
215
415
333
332
261
995
52
587
192
583
346
339
27
796
137
808
378
353
681
99
472
804
157
778
221
644
640
664
920
171
834
501
414
967
420
672
359
581
670
183
570
727
489
557
247
594
780
658
422
545
669
104
967
627
618
153
400
406
186
39
652
237
688
198
207
757
741
85
316
198
324
896
256
559
338
448
444
281
671
916
916
229
827
991
546
322
555
427
52
898
828
541
968
355
651
583
595
174
876
500
953
161
846
412
592
993
550
968
865
392
249
349
187
107
599
176
528
151
397
457
708
441
450
421
124
998
146
161
622
953
745
993
991
561
216
899
340
342
22
788
592
340
250
239
9
413
995
808
323
82
88
808
788
133
208
110
705
147
240
963
405
553
988
881
498
20
549
984
544
489
233
4
824
938
746
665
987
728
668
488
731
227
364
590
34
618
113
975
557
749
803
374
387
470
688
770
420
261
496
414
247
744
184
864
876
945
441
402
387
350
578
920
514
337
821
473
831
200
246
357
969
540
515
917
131
404
485
358
793
877
740
360
512
200
462
439
215
265
46
891
540
166
328
549
66
36
735
238
519
791
641
782
523
251
949
527
19
250
785
532
64
688
642
288
824
926
136
325
326
786
472
46
311
79
172
584
434
819
658
149
793
493
201
943
376
980
507
166
686
421
55
331
204
966
729
423
88
686
539
926
3
988
231
129
730
822
390
466
648
975
613
591
940
145
525
389
490
570
183
346
516
120
882
445
190
750
947
608
946
491
295
296
579
547
654
182
665
941
708
34
654
267
499
207
166
739
114
723
21
19
114
846
95
74
742
605
954
70
985
980
337
400
861
323
687
867
928
646
400
407
814
97
632
31
1
566
851
406
257
961
151
382
236
964
148
272
926
398
69
20
152
511
515
945
636
97
959
146
264
321
539
327
920
839
973
847
790
713
253
965
21
239
848
426
243
122
69
916
959
995
435
437
366
933
225
837
779
892
33
365
476
993
289
256
206
835
317
494
3
532
123
613
634
135
157
416
396
287
275
366
751
308
840
537
368
532
989
677
209
41
146
227
574
290
523
885
614
342
264
509
545
359
398
783
183
911
620
560
953
215
174
256
959
652
19
198
793
927
77
442
542
201
384
3
904
461
668
558
653
72
93
101
866
129
101
537
544
876
904
942
465
175
984
114
155
661
629
708
613
110
768
67
438
247
835
44
170
319
697
927
67
979
705
780
299
122
824
3
247
964
390
735
996
371
272
674
556
267
331
253
5
263
472
956
596
657
423
414
184
334
206
653
53
885
936
806
529
207
640
544
998
99
908
976
602
441
551
651
232
784
308
268
184
403
470
721
9
501
330
644
215
135
675
777
197
593
451
50
579
980
62
418
685
430
462
547
961
408
920
623
14
242
515
987
253
100
757
690
832
10
664
17
972
55
100
585
579
342
269
607
462
48
611
120
340
803
379
379
207
733
392
714
181
467
207
715
30
311
293
656
697
961
244
261
133
416
710
843
301
392
358
673
188
768
598
393
865
98
378
265
653
247
677
398
965
455
873
186
179
276
4
481
900
616
957
654
463
84
586
891
705
787
517
621
365
789
920
844
764
100
801
588
765
772
380
733
739
961
378
406
20
200
11
227
282
380
514
782
608
233
639
427
806
545
197
343
187
463
477
104
338
754
572
2
441
203
870
686
852
822
756
44
887
997
857
883
197
672
703
838
300
752
618
949
562
427
160
463
320
622
660
227
858
215
637
932
543
617
43
745
363
284
839
301
486
558
685
85
874
399
336
159
731
864
489
289
515
859
387
440
693
451
68
340
459
869
416
240
29
922
488
858
965
464
217
301
600
40
458
159
678
127
201
735
445
153
396
800
753
910
268
668
730
1
967
251
499
672
668
898
152
812
471
482
324
887
833
93
914
282
613
298
363
912
418
28
475
939
33
31
292
544
430
503
72
18
836
645
936
795
240
656
374
119
514
863
400
332
249
828
895
493
301
880
259
111
223
734
32
638
677
126
621
615
638
625
41
493
316
561
786
508
141
25
838
248
51
478
698
346
459
526
328
139
173
430
4
807
867
625
938
144
182
517
635
653
405
663
270
368
509
528
324
935
855
180
835
225
789
67
617
669
24
510
655
884
691
67
707
749
911
678
596
843
137
214
172
209
456
56
960
570
457
943
208
202
84
902
954
329
732
726
349
901
701
408
230
536
416
742
500
625
906
459
381
0
684
206
124
47
923
573
542
455
349
291
269
288
541
952
264
158
669
924
634
584
782
740
106
975
261
59
324
294
98
7
723
62
839
859
247
891
159
890
306
444
766
544
630
746
561
227
414
390
338
138
194
331
153
638
924
532
211
189
60
813
580
41
150
502
391
662
866
262
102
672
266
596
526
692
745
295
165
35
434
803
353
955
422
877
406
813
750
778
96
531
660
673
577
158
664
13
267
169
903
967
804
885
634
821
9
576
423
396
270
447
308
733
401
509
328
688
149
431
473
428
223
732
47
598
124
426
833
374
74
581
263
509
802
994
664
898
450
743
792
637
708
857
956
66
440
151
532
325
821
461
948
417
853
881
587
626
491
347
580
261
886
223
848
146
646
215
611
227
791
743
823
112
261
272
689
512
379
651
321
209
895
903
995
393
972
992
914
308
4
552
557
579
700
329
521
606
485
100
349
711
446
2
651
304
55
573
605
857
285
257
598
76
848
658
624
603
660
873
597
891
383
665
166
9
972
738
466
402
59
332
903
469
259
602
761
262
393
563
749
883
363
649
145
161
614
646
281
656
643
401
452
700
414
36
84
885
384
276
584
986
797
129
581
230
482
643
466
69
15
917
767
773
455
860
698
285
116
687
688
456
326
493
685
858
400
795
921
531
384
422
954
100
362
626
106
671
241
282
11
86
422
51
757
139
10
123
206
335
986
485
700
815
180
409
872
383
49
777
169
713
790
893
166
86
758
165
214
913
204
893
527
776
363
550
714
261
16
775
761
208
975
606
238
865
554
910
24
839
527
208
990
958
215
270
822
793
215
910
909
459
356
570
513
464
902
605
794
483
912
527
375
900
239
981
134
254
736
276
795
811
186
237
303
51
893
592
991
255
0
582
314
244
286
67
768
510
318
275
882
63
880
566
21
233
200
316
629
622
693
956
54
586
968
987
0
672
303
506
880
712
642
143
785
955
427
603
625
814
555
943
768
638
155
600
40
723
850
318
522
359
685
926
433
747
786
100
699
268
540
930
591
556
996
578
511
292
509
14
691
904
130
226
88
655
839
507
651
212
600
833
91
192
496
110
783
876
554
390
912
169
136
328
986
80
780
839
971
159
706
948
128
680
201
582
83
41
543
21
494
928
694
198
431
796
87
321
854
933
899
389
951
122
478
879
503
850
212
818
461
267
693
626
564
763
924
826
308
154
784
494
183
564
267
603
806
262
392
623
867
972
843
486
755
222
364
788
610
749
600
964
293
513
896
978
37
594
475
376
807
975
389
624
797
893
236
672
210
587
845
393
596
940
835
553
252
771
759
454
387
920
795
230
485
529
381
997
917
382
418
57
25
705
815
421
333
386
664
205
876
428
913
741
868
605
266
813
638
889
951
552
453
247
203
938
21
561
741
514
581
506
660
936
108
38
510
703
836
842
110
306
857
816
420
194
974
158
385
354
438
626
977
785
47
703
581
296
566
206
61
528
413
275
702
984
886
561
576
384
490
368
725
912
517
541
96
912
764
2
243
32
914
20
923
571
92
473
673
546
354
151
474
487
754
155
649
556
246
69
790
988
570
119
466
460
868
995
886
658
528
437
315
233
343
48
176
288
173
967
460
71
824
903
489
960
697
514
677
518
477
546
979
529
6
309
871
178
995
629
279
430
816
891
272
657
683
149
620
270
291
481
963
919
793
573
814
787
463
471
198
984
769
966
30
697
998
960
219
986
491
691
750
913
504
979
104
102
693
22
421
123
810
877
775
843
72
509
76
777
633
329
745
683
603
998
315
579
840
106
707
156
307
228
591
950
109
39
336
586
69
972
521
436
862
722
424
95
660
406
601
668
583
914
398
424
919
358
2
605
739
907
918
418
502
700
522
89
628
630
204
76
254
757
150
23
691
936
171
398
110
311
808
17
242
837
894
886
165
759
847
501
23
690
711
10
864
990
833
471
994
420
211
833
843
487
248
931
928
139
760
789
968
723
553
334
941
866
145
461
53
674
443
175
298
568
296
662
176
686
300
661
890
831
414
390
661
217
962
449
865
23
196
136
450
896
520
517
815
482
974
854
95
626
252
516
504
319
930
31
206
442
374
800
217
369
384
10
514
460
422
290
674
841
484
82
644
697
294
464
42
819
46
955
851
859
937
543
480
753
681
733
712
158
354
290
561
845
448
449
917
631
286
551
927
592
23
456
750
689
916
174
968
688
337
897
841
432
408
464
148
723
148
482
803
456
333
141
191
801
84
120
45
646
929
422
783
704
454
691
833
16
15
330
378
321
428
669
521
586
111
91
73
93
848
890
594
242
539
938
154
26
386
241
183
628
461
844
605
167
89
758
349
506
829
370
382
765
246
853
755
814
118
423
718
936
448
958
422
590
381
707
246
583
674
445
982
105
116
521
808
453
434
199
278
949
472
88
886
786
721
81
617
325
757
928
927
443
260
76
333
92
471
284
98
31
115
506
533
639
23
849
631
608
143
902
976
579
543
639
33
716
951
317
780
585
501
713
807
623
549
64
0
401
748
641
338
373
591
147
18
998
302
666
20
905
733
687
744
552
577
854
636
863
752
366
352
581
650
726
693
310
918
12
877
118
76
972
839
428
856
238
341
735
21
573
827
667
905
519
583
143
806
419
165
700
289
947
862
534
869
135
248
531
129
57
210
64
627
960
975
422
400
380
334
586
685
669
729
20
983
278
597
460
293
4
96
394
952
73
321
102
398
90
976
89
143
712
423
353
108
23
566
315
125
592
180
776
407
307
15
342
680
509
92
434
357
147
557
662
897
929
89
335
746
308
747
252
133
261
740
732
505
559
298
37
904
82
592
512
652
433
678
937
753
54
77
118
380
959
154
669
399
933
37
852
173
114
430
804
251
447
107
923
622
986
102
446
92
42
193
11
348
805
995
730
991
595
261
249
948
606
840
163
858
332
545
236
873
970
196
367
345
694
440
157
193
201
136
164
540
176
713
777
917
139
258
287
692
579
306
17
956
627
367
16
800
120
891
240
657
695
911
666
47
939
648
400
168
750
724
765
285
846
688
188
334
264
582
768
857
890
192
80
897
735
148
19
587
74
429
137
731
634
622
476
222
168
201
264
111
679
382
801
122
392
351
970
921
300
894
951
588
591
398
36
225
857
943
54
489
720
990
943
941
889
648
524
918
467
839
708
203
385
437
613
777
484
952
511
263
465
926
242
356
686
264
884
131
658
971
33
335
481
601
210
279
374
762
732
578
564
873
714
580
892
768
812
346
438
719
71
543
370
454
390
927
65
111
603
376
880
723
63
746
282
170
370
649
701
810
230
618
921
59
216
166
210
752
941
140
86
432
187
666
114
321
195
493
194
298
657
740
766
781
58
965
312
440
621
957
442
653
206
727
543
374
47
36
584
645
488
359
388
521
675
914
107
645
984
71
15
25
753
378
220
173
592
594
643
691
182
265
593
531
933
594
79
2
956
766
500
342
116
228
881
162
726
929
194
109
485
514
971
392
947
917
390
353
546
478
231
676
591
957
374
588
801
416
903
365
674
732
91
27
266
367
731
731
18
71
499
570
528
581
576
662
316
137
260
10
885
17
54
700
621
860
894
825
347
267
525
342
16
247
678
234
405
65
25
914
285
246
112
47
83
463
737
683
472
870
45
700
137
825
558
214
950
870
160
283
906
418
631
661
427
842
274
244
413
627
856
245
400
788
147
320
312
663
356
966
499
599
111
929
655
907
308
867
914
298
480
359
540
302
876
980
475
254
956
799
755
413
732
799
243
73
177
694
788
479
96
83
92
657
369
980
877
533
508
877
855
505
835
385
720
151
163
963
884
732
595
434
249
327
50
986
432
483
711
146
83
48
747
107
564
17
887
870
773
192
664
66
447
212
817
452
380
448
309
56
155
518
811
822
638
937
398
654
441
17
956
301
402
457
408
571
222
843
774
636
919
835
172
761
157
278
869
975
422
440
617
405
410
16
925
763
540
589
242
985
611
173
726
105
574
550
854
809
459
0
543
578
857
882
526
4
107
719
278
3
592
812
660
831
264
379
286
621
318
613
921
108
614
964
328
207
907
265
519
518
125
75
313
7
543
217
73
700
611
727
495
992
765
892
642
801
941
191
534
716
556
869
168
213
338
385
778
189
403
288
884
858
937
920
970
940
695
750
510
237
748
877
958
542
693
248
754
90
659
865
128
53
878
394
81
391
409
419
644
590
130
174
346
309
87
423
327
292
584
134
69
454
180
427
124
684
876
612
930
101
396
266
463
834
170
338
706
693
304
779
135
658
794
686
408
228
327
305
451
432
198
413
280
339
501
282
513
206
636
398
648
485
581
641
46
445
903
114
321
14
110
623
571
369
83
555
478
19
344
82
13
789
110
168
577
544
343
130
651
867
980
631
600
688
864
574
277
159
199
122
318
553
540
7
792
632
625
860
649
133
191
202
907
491
158
656
27
670
826
763
692
257
909
633
281
2
23
156
927
450
589
913
618
926
198
714
528
132
573
457
888
843
508
852
374
66
504
219
154
254
687
378
335
468
91
108
558
439
845
600
451
486
223
121
566
32
515
422
863
326
645
617
717
829
460
399
962
484
727
951
337
986
786
164
87
544
77
603
474
242
75
498
382
33
919
385
590
374
714
479
29
964
348
434
848
292
599
369
81
481
485
772
157
876
969
426
115
559
45
198
972
762
698
705
981
213
367
429
866
429
937
186
357
547
579
671
897
14
997
54
615
208
820
217
50
229
311
728
964
545
406
475
368
508
696
798
743
704
814
596
492
684
629
466
943
136
563
183
800
155
565
861
835
63
712
980
720
432
72
172
256
326
612
177
106
237
450
262
283
914
709
174
735
27
961
741
181
44
990
131
950
186
614
916
752
513
207
300
835
419
238
811
689
705
178
965
947
906
260
909
310
352
359
119
569
618
138
265
616
907
116
918
52
449
409
727
426
957
822
859
166
438
663
525
193
532
424
976
268
115
204
61
435
935
228
444
556
517
190
754
397
429
337
857
155
549
312
931
97
664
637
744
402
509
799
816
907
898
832
278
807
636
939
536
826
294
95
216
694
389
859
297
262
379
476
179
333
297
849
107
772
683
294
784
853
809
442
851
150
859
699
183
858
868
508
212
643
632
61
452
678
171
524
743
820
992
519
444
839
197
785
498
229
416
931
162
229
922
326
24
460
159
670
448
171
829
2
102
752
920
983
113
930
194
719
961
963
985
678
291
6
298
28
874
20
254
650
358
597
448
953
997
546
59
716
142
661
647
108
293
322
21
19
761
667
19
293
782
293
925
533
406
301
779
700
749
960
374
5
410
424
937
673
294
415
54
806
931
212
535
162
117
166
969
266
565
860
651
762
189
39
278
650
90
541
933
787
317
67
928
565
540
681
851
52
988
577
48
936
619
192
69
254
391
394
883
167
817
990
365
48
415
751
652
835
523
175
696
713
592
509
481
340
973
558
694
583
855
220
334
223
7
997
980
348
11
394
528
45
704
983
322
693
131
880
795
608
54
859
908
283
120
258
166
782
346
735
158
192
543
822
825
718
312
802
755
922
830
835
182
956
530
714
894
608
792
118
971
319
93
829
904
967
140
3
340
724
182
9
712
200
791
321
895
327
450
564
700
438
344
173
577
368
345
446
312
911
616
893
338
198
935
641
837
967
513
321
662
309
344
56
268
863
107
321
905
284
639
785
98
123
318
649
732
533
675
696
866
931
89
124
880
544
912
418
314
71
616
909
973
697
105
972
238
686
869
218
2
367
479
344
941
595
386
487
642
567
208
117
587
95
678
651
275
239
554
26
952
663
364
15
288
858
731
912
776
766
912
887
659
350
899
52
888
407
381
676
989
209
500
491
454
441
864
366
469
520
701
929
548
256
654
70
949
64
658
450
688
805
645
798
375
933
794
356
303
620
738
634
578
193
387
942
307
549
636
175
575
171
267
789
245
927
326
560
940
94
286
879
336
650
184
301
864
116
110
573
110
743
895
507
956
192
840
786
282
534
252
47
939
778
371
645
851
929
309
823
559
838
465
498
752
713
28
583
456
962
6
637
721
870
103
824
306
924
513
913
545
184
34
268
392
633
865
216
623
958
106
136
676
633
273
969
205
67
227
534
386
610
458
70
41
882
248
850
656
504
674
998
985
463
156
918
939
870
704
508
167
369
762
683
522
59
479
187
721
360
470
822
878
854
655
937
727
469
101
921
714
409
838
773
27
976
276
50
895
520
977
89
611
832
658
97
881
926
899
284
734
988
429
430
762
176
845
1
994
844
604
257
281
142
732
40
639
738
845
744
237
383
419
491
186
585
619
22
223
348
445
802
313
867
597
554
129
973
934
442
998
236
482
154
867
567
533
362
935
953
463
414
29
569
512
361
630
36
933
797
741
235
748
993
369
227
627
788
758
710
327
980
589
684
117
745
28
337
375
80
912
540
335
666
160
981
573
747
936
179
863
911
503
110
146
5
506
247
929
64
234
892
893
454
241
789
446
869
398
921
30
289
642
807
507
776
748
550
460
490
706
818
770
420
452
893
900
586
968
4
344
825
228
283
221
435
352
415
337
538
413
596
462
366
590
51
896
993
688
341
874
669
823
474
469
2
457
118
156
289
995
707
806
862
292
896
257
178
631
643
835
851
948
235
330
68
415
708
152
704
817
947
515
550
327
875
813
523
581
356
834
426
253
197
528
125
263
438
247
107
556
348
932
8
479
382
622
487
743
547
949
649
695
455
696
169
873
300
376
685
89
307
704
798
715
429
676
767
389
916
482
286
14
980
47
85
766
987
123
282
115
428
654
133
559
842
327
262
372
498
509
641
7
67
204
917
991
727
704
245
345
364
924
480
977
882
466
152
327
845
741
380
598
400
844
157
50
411
611
866
589
595
752
383
38
961
737
247
626
500
511
851
248
165
952
18
985
188
551
843
593
424
462
828
170
787
590
858
828
699
413
55
749
733
958
184
42
798
630
301
110
661
696
500
847
7
19
113
236
165
979
593
401
912
824
641
651
157
411
236
632
13
472
885
122
459
539
611
123
240
905
1
958
227
730
419
186
819
475
462
181
237
542
182
970
604
330
874
976
479
530
123
821
864
184
489
525
24
409
325
821
967
900
774
229
422
733
111
124
94
322
252
966
585
134
666
278
803
227
242
380
645
796
167
309
916
288
201
391
762
490
0
784
674
281
98
815
49
468
130
786
441
641
313
222
288
196
295
968
785
549
601
918
720
69
27
600
516
994
945
794
569
767
793
374
844
528
286
980
37
846
764
661
257
527
696
908
346
164
514
436
36
832
484
68
882
261
238
676
180
664
793
741
663
294
583
543
883
280
191
792
160
580
512
361
207
587
553
721
497
548
170
247
452
727
119
270
119
94
918
785
979
253
954
316
161
284
609
644
231
745
943
547
941
870
828
376
114
844
164
249
806
709
459
613
234
36
43
402
492
266
689
144
10
499
689
878
537
602
275
293
463
688
664
262
618
300
999
891
409
134
977
374
986
7
183
367
216
447
800
195
783
951
294
669
936
270
518
332
909
310
116
260
554
534
483
529
365
893
697
350
693
734
48
959
516
567
542
156
380
211
310
125
292
472
935
510
370
790
710
784
957
175
816
816
155
76
486
741
189
461
149
989
655
992
382
200
42
374
436
35
674
870
437
436
968
944
287
764
423
581
275
660
379
500
48
821
989
686
132
259
748
632
321
389
594
347
0
982
336
999
705
147
226
900
781
414
939
998
270
259
840
341
100
188
203
142
174
725
149
414
882
663
877
9
424
954
554
504
554
158
319
126
393
210
609
263
343
739
368
420
994
335
526
355
386
95
235
380
560
606
318
491
505
288
59
667
196
920
590
49
277
937
645
72
755
256
433
544
180
722
338
391
479
67
995
158
74
328
826
532
899
165
789
164
938
760
142
34
436
298
400
19
296
587
902
233
923
804
141
772
548
960
312
436
56
945
134
554
461
243
563
434
804
87
245
20
849
341
325
597
114
636
648
10
536
384
623
700
633
545
411
261
687
958
9
527
569
422
975
850
27
96
782
591
27
938
173
964
123
175
137
942
724
659
560
346
22
552
362
284
569
221
94
130
949
36
607
689
807
411
644
34
655
260
199
676
730
799
21
280
499
747
273
767
606
406
637
509
816
558
60
677
736
479
454
817
974
438
905
951
750
797
461
969
215
303
732
188
33
748
649
18
162
893
960
212
208
30
389
133
221
950
616
985
820
924
502
96
987
620
650
730
978
943
455
55
89
976
763
481
468
296
149
541
743
946
234
118
605
456
802
52
350
937
311
88
653
81
872
873
635
621
365
97
639
517
947
619
721
80
974
735
979
146
965
351
543
331
381
887
853
70
993
119
264
745
214
764
538
701
65
438
869
565
869
7
53
728
418
697
220
575
860
245
841
971
737
593
705
932
527
496
705
101
228
891
961
930
614
506
605
378
876
649
627
64
514
957
292
190
526
405
412
277
507
73
741
136
770
696
505
947
885
255
749
714
272
358
278
567
865
607
345
911
731
983
894
439
164
590
334
870
560
151
400
6
914
451
62
349
773
822
568
868
181
941
224
311
970
716
698
621
387
948
659
276
447
389
19
218
514
979
265
334
561
186
216
220
474
955
571
505
65
4
975
549
102
729
626
599
72
371
438
593
226
181
504
59
769
99
334
673
311
445
695
26
877
479
979
573
549
926
561
823
567
27
655
428
740
658
160
223
952
227
729
317
593
257
844
494
137
509
333
999
300
704
591
850
203
166
363
66
224
502
699
325
37
343
321
933
934
812
35
659
199
257
19
428
207
134
3
551
774
581
616
754
680
835
571
76
292
977
286
796
304
912
810
698
478
237
671
165
398
582
295
395
417
225
23
345
880
561
801
784
138
948
453
543
465
118
583
229
386
100
829
315
676
100
28
99
166
280
757
382
285
164
176
353
906
604
522
17
704
971
633
164
418
91
950
78
48
95
115
656
933
737
983
723
741
552
653
701
122
92
685
33
335
339
459
964
731
280
59
280
862
101
710
242
19
295
483
218
779
411
867
225
405
642
455
70
832
157
909
129
985
969
567
50
362
298
282
675
350
138
663
244
665
895
438
302
434
53
546
266
497
787
682
84
223
102
387
79
383
759
544
854
782
336
775
689
409
418
119
251
364
847
106
783
8
5
24
936
999
578
854
594
607
537
403
318
307
228
130
175
189
968
634
674
500
152
303
682
890
984
402
226
781
813
47
765
143
353
741
361
967
22
978
489
273
806
812
836
631
13
955
944
140
125
430
675
902
989
628
189
367
293
792
748
137
322
325
973
214
237
454
72
643
776
744
100
524
480
308
817
556
953
202
919
901
159
854
169
300
284
432
910
524
352
338
485
646
200
232
689
846
996
53
747
78
794
796
9
532
412
163
748
312
543
701
974
669
563
310
751
875
433
975
915
529
19
11
848
899
868
514
493
839
139
663
715
620
416
705
778
867
420
394
784
567
71
129
831
642
266
710
606
650
351
599
465
500
118
219
609
501
52
486
883
156
934
400
427
269
174
315
929
379
229
589
887
724
784
476
859
998
192
150
145
435
292
481
934
492
505
317
467
76
150
972
69
383
344
954
963
363
448
321
269
543
44
712
461
961
135
745
41
421
862
958
276
195
260
396
577
4
887
114
658
225
497
292
287
317
732
993
536
424
495
428
595
483
539
516
794
853
626
476
693
769
675
50
78
22
603
549
379
794
856
559
231
716
329
770
693
568
3
795
910
693
15
398
651
194
130
242
533
839
474
610
294
192
22
498
423
741
619
18
702
848
900
458
401
782
696
914
467
580
996
532
309
309
949
93
596
977
279
857
914
695
658
869
388
355
965
126
22
336
616
211
746
138
794
902
864
836
411
568
690
565
822
170
422
911
313
173
441
442
345
333
14
462
408
185
539
757
505
479
499
544
403
572
182
216
220
992
58
326
299
125
622
945
923
843
64
759
353
167
671
471
248
817
939
862
469
504
949
14
933
43
917
609
206
934
148
961
830
842
238
191
725
587
732
256
275
458
44
190
541
947
151
982
221
221
546
935
569
862
625
949
554
646
351
530
851
664
108
461
551
133
767
938
391
352
560
921
51
85
370
796
853
919
788
243
607
639
939
533
18
288
155
157
787
814
683
517
874
636
143
988
204
211
102
196
229
883
780
459
56
351
79
388
572
98
308
32
671
679
219
927
871
57
460
116
960
725
588
694
107
714
705
638
930
828
235
238
103
881
773
162
564
937
856
576
92
620
146
233
585
946
857
439
117
192
955
823
642
834
586
971
471
677
771
514
175
865
996
984
305
704
955
755
1
371
365
258
949
43
692
568
442
866
450
575
111
763
409
415
912
21
77
524
147
924
574
616
817
856
691
243
818
877
85
978
586
809
927
250
498
259
459
727
891
267
246
368
564
921
16
116
867
588
680
368
386
492
945
437
189
778
935
995
546
872
359
752
2
108
664
661
61
262
944
622
84
950
201
699
631
4
986
88
849
236
715
178
932
655
537
559
917
579
364
270
722
340
197
295
552
66
767
186
593
494
425
991
845
369
11
607
980
801
95
6
501
258
38
756
531
30
187
136
438
203
576
740
128
841
145
505
205
289
959
59
756
190
664
481
190
902
567
292
218
771
762
140
151
670
872
497
489
456
324
249
179
741
525
202
789
813
10
865
52
346
773
82
16
511
913
222
627
801
936
340
153
564
232
267
444
538
680
139
317
375
780
439
292
867
0
805
68
650
107
700
451
158
497
31
360
550
138
540
604
940
542
310
721
351
345
178
943
56
280
661
405
737
366
580
626
72
456
299
173
292
427
676
923
732
719
147
940
356
768
771
579
903
211
182
862
117
556
706
508
205
87
419
914
867
589
83
467
155
268
410
779
253
493
461
919
838
106
351
22
856
435
921
930
319
527
633
535
238
815
521
643
362
387
95
717
334
261
62
145
345
895
62
147
316
253
621
97
259
569
853
68
974
383
176
948
0
805
863
424
87
443
64
417
24
400
210
154
774
239
575
932
644
653
394
888
529
912
397
456
528
8
719
36
213
56
7
494
959
459
950
14
322
943
894
979
586
760
196
784
3
393
310
681
28
980
195
122
62
901
190
49
529
455
663
261
320
32
928
915
545
486
419
957
832
402
418
895
97
528
330
646
604
478
263
429
674
552
451
262
787
788
788
717
357
719
819
506
126
397
304
383
772
841
782
231
120
435
769
257
323
121
427
545
88
122
270
760
505
737
955
957
313
714
82
533
733
989
777
554
871
504
928
784
430
375
841
367
306
299
465
649
300
415
300
490
882
633
531
917
153
449
303
723
805
285
938
607
311
705
649
461
525
668
408
789
593
448
574
54
257
381
596
622
472
912
24
137
326
214
257
787
319
116
470
880
142
145
571
160
469
96
591
854
429
670
749
43
512
229
418
70
123
853
28
166
555
715
196
202
715
184
513
399
693
549
807
22
444
132
371
893
893
442
25
171
770
839
561
945
850
484
719
347
342
350
43
162
495
105
261
663
617
847
71
957
879
250
247
998
780
373
135
624
957
290
830
871
706
63
682
273
641
942
630
986
288
798
937
65
325
626
7
653
177
284
906
109
939
358
111
227
161
836
694
680
334
688
523
895
858
632
275
432
677
334
850
290
278
259
913
609
327
537
292
255
888
525
798
573
790
841
473
128
927
117
371
173
334
760
856
797
649
35
997
853
114
670
734
11
181
843
528
155
727
981
254
255
894
904
722
820
890
67
569
31
467
937
694
982
70
611
147
230
799
927
588
171
425
181
686
901
919
285
797
791
643
151
106
616
283
9
93
767
486
708
518
103
192
134
811
634
979
503
639
905
78
467
461
223
839
970
74
95
874
981
609
225
761
210
607
616
336
599
464
807
169
823
544
670
402
394
257
23
656
613
593
204
156
202
162
182
784
945
488
516
560
665
819
357
307
653
95
389
216
54
100
349
202
284
391
243
249
363
399
195
402
347
624
247
130
21
861
205
859
458
794
554
244
48
873
989
641
805
154
790
618
287
18
765
358
864
439
874
811
780
625
613
737
653
899
753
615
416
37
785
378
309
77
766
283
119
584
982
318
843
898
511
899
795
345
323
916
410
127
540
206
203
60
306
890
304
306
625
888
451
150
938
218
677
512
940
26
671
779
627
275
567
281
365
711
737
252
965
212
4
792
704
339
696
585
132
801
109
482
914
69
495
160
785
211
839
581
295
848
127
942
36
386
860
668
332
487
587
463
477
498
789
367
346
300
735
583
60
100
905
153
515
401
814
42
118
207
139
793
450
155
165
122
492
200
738
551
70
448
179
226
263
398
586
629
774
520
971
158
968
177
975
541
776
972
19
236
878
481
393
902
873
944
649
272
40
839
339
856
566
24
116
378
345
389
405
476
204
221
850
738
278
83
931
315
288
599
405
853
485
177
342
27
902
838
121
547
864
218
601
314
741
50
378
788
182
14
341
279
23
297
108
538
505
477
655
521
124
365
865
229
229
472
340
325
958
88
109
429
573
461
945
935
232
621
914
202
754
226
561
266
769
621
455
406
739
420
799
377
47
39
423
337
518
454
64
702
907
171
414
748
768
278
469
878
286
763
486
942
398
337
397
956
793
938
933
169
726
222
672
331
595
886
835
286
79
619
742
71
524
167
591
10
413
245
736
393
390
496
150
215
260
281
66
153
731
415
292
26
852
284
612
557
709
916
894
512
629
467
852
316
75
184
704
268
997
385
164
498
549
196
734
722
815
788
971
751
815
796
532
432
814
399
963
325
453
239
757
189
57
410
796
475
812
740
701
351
142
986
628
487
573
13
12
885
94
263
806
663
947
440
151
168
234
509
391
328
20
691
934
543
128
449
825
414
108
642
343
342
450
441
426
591
301
937
171
556
311
539
46
901
163
628
600
272
11
842
680
918
670
360
32
433
48
559
31
545
651
123
524
588
103
334
672
656
59
652
220
737
512
738
48
242
743
638
597
170
412
717
457
121
387
870
156
686
126
882
680
736
743
394
160
617
124
443
99
161
597
629
4
837
811
654
432
257
863
751
29
952
966
798
56
607
683
900
80
43
714
165
581
910
357
448
604
632
593
834
16
891
384
950
979
45
114
181
121
586
234
155
807
447
680
135
57
541
902
426
15
142
927
258
796
174
837
549
456
226
933
310
340
682
353
79
964
547
314
743
393
876
855
4
529
82
336
421
216
773
599
552
893
878
110
192
650
721
613
276
751
379
843
762
349
576
142
918
222
274
997
700
81
857
80
742
519
299
153
433
124
580
927
257
15
577
387
35
418
761
373
984
912
709
68
353
646
856
946
435
484
867
412
574
630
83
865
730
756
102
891
244
425
257
365
605
921
757
517
594
483
611
499
615
484
831
306
46
935
107
775
831
725
350
656
55
220
614
310
362
420
756
676
382
169
679
883
812
829
846
770
454
520
661
840
203
882
165
734
781
749
912
946
550
108
297
557
774
165
643
362
393
525
705
792
879
292
817
549
273
117
316
998
568
763
48
56
694
566
749
313
483
506
971
625
593
320
243
961
537
622
266
687
685
839
519
698
879
705
13
888
560
300
743
565
137
576
359
962
64
307
826
308
582
136
825
543
992
440
84
106
745
635
407
305
432
619
981
870
213
219
200
589
197
240
129
296
187
547
345
382
973
274
433
0
683
986
687
324
568
485
888
690
656
566
627
829
90
276
838
829
386
224
845
876
251
53
983
324
480
242
360
761
513
821
277
864
52
888
674
141
918
972
140
103
572
620
346
191
553
942
698
479
85
373
836
236
354
845
161
2
596
457
374
402
746
817
518
826
323
718
949
649
630
389
544
114
525
613
42
490
17
94
182
425
80
485
742
89
279
542
25
409
239
927
81
40
596
8
992
896
812
972
228
431
81
929
994
713
717
567
712
780
904
627
384
542
611
509
27
629
318
349
51
638
975
31
271
627
281
875
508
817
597
752
562
782
40
574
450
437
568
962
51
577
33
528
770
14
18
305
335
68
688
163
696
130
4
967
990
352
116
553
674
27
78
487
347
275
284
525
922
287
710
27
869
428
873
385
252
177
567
458
445
519
592
940
86
17
232
32
630
384
320
303
731
982
777
946
894
282
988
173
40
160
466
282
115
190
99
261
463
67
25
700
384
442
572
352
275
74
874
609
203
58
638
344
910
772
41
647
625
434
419
467
517
971
689
675
18
378
669
490
368
335
670
504
616
797
981
351
468
702
641
245
768
234
45
563
433
476
465
338
244
313
936
87
629
312
721
554
938
236
150
968
762
156
748
878
765
666
967
704
679
79
623
840
203
134
258
287
690
744
974
214
195
111
374
428
478
630
403
926
818
393
663
105
121
123
44
442
398
723
517
169
757
457
81
326
338
979
27
757
678
547
11
905
335
936
130
373
644
220
301
937
242
863
897
908
741
770
581
592
328
809
935
400
211
913
614
559
353
845
49
972
822
681
695
850
942
90
239
514
639
711
556
509
31
193
49
739
368
219
793
91
557
896
593
995
766
307
742
370
666
30
33
674
615
220
803
190
818
720
922
335
28
831
387
774
978
596
558
288
421
334
383
824
374
51
425
700
81
435
848
105
573
232
14
306
629
572
351
533
131
652
593
140
940
260
150
519
240
117
954
874
821
928
907
941
824
178
56
577
958
932
476
219
668
614
789
234
81
898
517
817
484
397
116
744
296
769
408
545
246
768
351
467
409
476
345
863
215
185
79
655
613
600
677
116
737
675
884
499
891
773
316
902
477
322
735
818
974
596
702
341
856
27
436
392
285
946
906
377
27
655
390
712
366
955
41
579
982
421
949
174
564
28
724
143
7
447
309
147
323
215
393
258
867
397
51
64
894
992
381
61
896
876
699
124
985
360
685
706
923
367
751
523
54
216
459
791
838
144
356
781
931
837
559
173
429
968
747
714
336
624
368
822
159
941
926
917
327
336
235
678
929
481
220
83
722
496
545
194
484
6
164
552
684
788
787
416
917
426
923
417
753
443
160
348
105
678
455
331
207
524
651
162
906
352
485
790
311
185
456
724
177
697
26
471
80
291
618
439
76
955
181
90
952
674
924
285
17
804
672
905
157
892
555
769
938
908
713
281
255
338
60
770
891
137
340
350
803
570
636
509
922
794
608
484
747
325
729
828
863
665
187
340
419
359
272
636
845
551
118
651
405
910
251
359
488
234
385
183
110
823
764
322
824
658
514
709
384
145
460
731
889
272
190
387
698
293
461
782
603
1
145
362
356
166
879
708
322
329
335
559
96
395
605
562
958
156
765
947
603
876
956
62
222
990
406
95
796
972
648
325
104
406
413
846
683
120
225
815
873
879
134
731
969
611
377
328
837
369
654
552
580
164
519
854
589
7
200
998
674
797
938
135
831
501
92
643
335
821
537
604
26
92
7
288
512
18
781
848
210
640
438
500
526
369
508
294
553
49
610
838
817
937
594
24
297
948
837
221
399
369
166
704
552
70
31
195
987
975
999
487
912
101
848
573
461
741
168
718
610
146
852
772
567
871
640
178
253
707
411
465
585
849
207
418
477
191
779
512
63
276
843
815
57
358
487
648
131
621
279
542
149
810
519
787
743
476
865
814
647
207
491
390
691
569
954
169
57
958
828
76
590
489
646
585
365
860
262
136
26
44
619
85
707
650
949
598
511
151
806
119
622
832
146
36
300
330
0
629
704
145
461
474
604
398
35
998
304
791
226
569
850
51
85
260
153
652
709
35
803
933
991
466
557
965
402
740
445
857
98
864
516
332
392
275
573
98
544
856
223
856
339
622
643
57
52
427
47
805
431
326
697
853
631
109
467
444
671
987
111
544
271
576
218
441
912
739
481
694
793
149
65
62
254
941
744
494
71
238
943
562
313
903
589
595
502
961
155
480
451
368
879
898
150
947
662
685
629
249
560
650
754
407
153
664
931
770
572
476
340
813
358
763
693
841
150
875
923
91
157
210
572
177
188
947
550
847
964
216
157
690
434
985
928
7
924
589
963
449
373
565
309
722
432
816
927
708
417
308
51
603
933
355
901
265
763
738
7
761
282
624
985
877
488
211
69
796
920
858
590
649
965
680
497
137
230
444
718
385
881
904
256
72
887
900
795
939
841
697
508
521
912
965
404
807
319
813
181
910
275
879
537
19
107
944
149
536
406
62
219
705
536
286
689
886
849
932
783
585
454
275
219
429
197
355
975
886
255
383
446
837
33
577
700
614
566
700
131
890
718
502
707
117
527
508
618
101
492
489
497
110
542
955
405
41
827
490
294
54
141
748
669
435
340
293
209
962
846
715
780
898
675
819
174
805
911
136
413
537
847
463
781
631
749
700
90
755
341
150
86
226
728
785
595
135
480
212
7
113
202
687
329
346
868
322
595
708
652
144
599
332
258
854
493
407
69
305
747
6
192
593
500
749
112
731
569
370
974
357
573
303
257
633
794
706
430
541
785
404
618
609
961
18
822
626
329
841
530
111
882
960
979
667
862
478
397
114
633
392
723
716
522
900
663
216
844
559
900
688
171
20
60
610
837
952
679
729
728
117
628
755
165
663
125
154
308
315
592
777
500
440
459
146
958
733
647
474
613
827
689
650
762
21
935
379
618
415
774
102
630
670
810
440
826
189
37
209
776
354
539
48
403
246
233
771
60
259
218
963
307
206
806
717
982
142
3
400
952
259
295
466
605
871
48
207
516
514
645
669
394
996
536
0
569
586
132
529
363
270
801
639
221
52
30
917
418
891
451
454
863
822
626
939
252
958
741
829
422
669
793
379
72
10
175
90
20
998
888
898
444
945
570
720
131
671
543
964
393
20
763
431
583
835
897
157
686
79
768
12
347
642
490
722
13
584
212
515
745
297
756
706
999
202
827
96
915
2
533
674
198
816
332
369
982
411
78
751
674
879
349
378
484
607
575
638
243
997
706
616
78
259
735
615
601
300
581
941
574
680
972
396
276
506
625
513
563
693
65
616
826
322
515
692
799
676
594
578
306
248
998
332
826
86
819
539
799
524
657
122
861
538
157
652
149
838
405
464
189
689
801
124
661
729
979
387
900
35
578
809
367
970
906
381
732
551
382
576
92
80
284
20
373
462
623
746
439
225
914
454
824
142
102
81
674
69
528
420
33
794
756
263
52
6
568
142
392
345
340
526
657
912
383
304
818
348
340
619
306
541
195
169
827
941
113
664
814
904
163
165
168
39
359
528
995
686
377
605
61
901
770
460
726
210
291
820
823
25
255
696
978
296
893
445
525
608
17
753
581
949
590
782
101
831
962
457
483
388
596
579
106
927
151
713
913
394
995
663
390
70
253
827
508
832
541
727
785
37
784
188
917
438
262
880
840
10
627
359
878
366
527
679
303
432
515
648
90
646
897
801
626
135
623
576
608
726
303
472
496
746
571
723
228
499
502
659
445
880
464
613
382
188
459
187
132
334
304
56
74
766
876
790
786
580
113
519
685
295
272
982
160
932
242
193
795
944
948
31
524
941
137
773
793
843
786
62
268
484
423
92
690
336
70
323
326
44
187
12
52
904
268
259
514
139
876
814
223
416
993
628
247
608
322
346
667
861
220
473
819
995
865
826
592
741
307
370
855
631
156
904
262
686
136
229
551
846
701
40
736
917
150
805
789
807
812
402
24
604
610
999
97
435
444
502
418
524
5
167
719
910
217
777
831
463
10
47
687
677
605
81
992
144
104
897
714
572
846
971
515
639
501
40
881
657
41
14
459
725
772
49
234
820
701
345
976
784
459
847
246
962
993
561
662
919
434
539
706
410
422
908
857
140
806
646
929
703
252
848
834
209
624
674
154
836
10
287
971
781
148
688
853
495
683
583
226
760
774
188
213
388
569
455
375
385
519
871
980
892
456
962
219
362
340
320
112
912
998
5
59
331
321
521
779
505
966
818
731
734
83
578
937
413
554
487
118
559
550
245
703
138
213
874
601
263
376
126
884
366
284
86
855
888
697
853
442
15
425
551
163
343
307
883
529
148
284
668
390
480
36
165
552
792
864
852
48
752
511
46
608
45
500
517
310
610
544
174
201
291
43
79
252
231
284
727
918
311
487
22
538
224
829
313
620
904
732
405
101
966
702
526
777
136
178
161
965
193
457
740
585
327
932
303
361
24
421
251
653
652
636
187
141
371
608
937
928
500
974
737
550
163
657
65
299
697
840
671
561
130
390
896
434
648
277
56
971
818
355
899
998
642
658
500
994
905
476
630
759
851
332
687
381
268
344
261
616
427
578
496
400
816
828
600
944
537
981
403
773
216
78
379
876
404
212
63
897
710
66
963
679
690
897
811
418
451
41
831
179
310
643
108
236
535
821
67
553
380
562
659
117
599
676
544
224
761
290
947
601
817
762
548
597
164
979
626
562
304
797
2
304
982
399
936
592
64
106
99
369
196
7
801
390
619
518
104
538
163
694
27
565
949
294
54
948
296
886
254
342
899
810
831
116
809
26
153
461
758
826
634
468
742
961
428
995
696
211
693
391
98
81
241
36
253
607
782
831
407
273
607
244
333
484
966
122
669
308
176
678
412
456
968
125
36
520
167
116
226
243
449
271
565
646
196
341
855
225
831
203
418
125
592
658
861
17
141
333
893
93
952
464
271
47
345
970
459
566
481
461
226
993
964
611
642
608
455
238
663
625
222
731
285
43
12
52
844
179
941
622
169
609
370
637
732
60
656
403
89
159
261
298
258
661
119
271
419
403
565
640
719
705
573
88
932
265
147
593
768
85
850
379
650
301
902
113
91
195
558
624
872
646
557
782
347
73
901
12
184
321
237
672
40
572
505
890
5
573
776
112
43
65
37
295
947
873
715
233
537
681
426
173
790
431
340
993
45
805
365
24
842
17
232
19
126
360
847
79
495
560
334
201
475
426
85
952
259
460
6
948
114
881
375
712
720
22
998
701
579
14
676
652
162
445
813
865
239
444
823
471
143
999
894
592
159
200
370
852
921
620
582
128
81
956
283
96
593
242
193
968
599
284
185
909
955
867
456
454
307
330
367
166
414
355
420
918
901
89
849
270
115
3
202
165
456
214
487
732
27
221
613
465
564
952
212
674
356
618
312
611
110
404
494
713
728
664
172
683
577
159
672
238
303
780
736
193
175
774
965
104
439
763
568
907
679
608
176
524
822
182
906
126
883
446
981
576
517
294
736
52
71
447
722
303
773
701
71
416
706
47
430
287
605
308
596
168
270
400
950
987
283
603
733
242
223
309
743
928
88
728
250
163
294
783
668
972
516
978
72
235
893
768
175
40
810
242
811
496
187
521
887
717
820
668
282
926
585
882
165
632
524
730
897
983
55
54
111
872
221
157
794
249
416
859
960
429
688
811
151
148
963
540
335
768
0
589
549
795
769
549
695
531
244
807
918
460
919
795
556
27
920
609
721
66
881
179
843
482
802
602
682
34
186
11
252
454
337
373
312
31
665
14
265
690
434
671
168
345
970
384
961
34
45
183
223
207
813
304
38
192
384
76
667
240
397
426
204
913
527
77
312
677
8
547
367
471
843
863
626
5
237
216
736
994
272
347
42
119
548
128
863
497
30
867
924
303
502
442
51
751
285
484
850
454
304
656
505
147
993
723
909
891
38
726
369
579
617
253
291
505
309
286
605
393
525
539
892
626
943
922
225
84
58
105
401
479
444
898
929
644
237
672
461
392
437
745
167
242
198
675
755
921
861
712
237
469
264
247
985
923
500
765
953
14
471
933
118
817
964
602
322
422
474
369
660
260
588
504
436
71
263
302
310
663
412
946
699
839
760
88
25
81
290
165
861
816
277
868
4
781
996
6
530
198
784
261
876
664
661
884
70
69
813
591
272
925
507
287
372
536
586
664
471
629
977
675
793
498
681
293
931
223
608
313
547
942
157
351
744
222
855
57
382
279
813
549
173
411
236
784
535
272
67
9
681
760
826
987
67
946
290
437
384
382
58
773
517
898
200
399
207
786
208
8
758
964
350
268
500
560
793
486
779
224
702
88
275
705
656
278
509
571
683
705
491
750
81
334
438
761
886
11
171
175
663
49
957
445
614
562
301
493
559
236
322
605
113
566
934
40
351
98
190
827
700
309
345
334
382
795
299
355
62
426
618
916
846
296
524
943
62
117
535
83
557
324
75
30
127
617
857
526
895
248
164
154
718
863
836
275
441
397
565
748
318
776
585
595
485
653
676
876
472
172
47
235
131
431
683
639
794
953
242
453
559
272
84
310
425
966
498
446
244
48
913
689
949
563
860
194
608
155
493
950
510
505
174
888
852
406
818
290
536
973
268
427
237
761
362
996
979
111
715
870
329
99
822
54
909
545
370
138
818
893
965
0
42
865
511
231
772
727
671
776
697
29
990
918
95
924
447
921
853
589
89
893
920
887
969
64
357
57
443
143
8
396
68
672
954
482
165
981
895
357
754
228
721
210
644
532
64
635
708
849
47
513
232
64
20
708
96
878
294
364
796
969
189
155
5
876
787
117
102
13
706
885
697
496
852
28
534
810
670
773
313
300
651
616
100
757
678
642
6
830
849
570
555
697
386
5
423
273
830
329
223
799
145
546
529
496
769
845
858
425
651
473
57
289
147
443
738
945
121
541
279
889
771
956
430
806
103
118
186
699
987
981
278
423
573
445
981
821
363
741
609
880
643
663
991
545
977
706
484
490
772
806
536
843
180
0
693
986
178
270
173
908
504
783
820
936
478
971
326
978
597
233
266
100
403
703
699
754
82
290
291
413
821
731
178
840
570
356
262
652
441
333
569
15
128
12
164
260
976
978
340
223
471
376
873
732
418
847
324
974
663
196
573
285
700
899
713
64
346
138
369
465
445
358
456
117
906
311
390
456
724
890
191
167
733
579
705
285
357
964
395
52
813
564
309
818
480
920
213
729
999
59
872
639
283
861
617
824
247
798
800
159
265
896
846
337
600
797
3
899
580
72
944
275
946
425
573
753
802
272
592
258
750
875
286
932
801
216
397
737
459
162
975
304
552
552
975
255
600
239
532
383
68
264
73
238
990
568
682
263
787
705
6
31
985
723
497
641
959
137
38
463
900
719
815
349
937
502
434
54
766
755
35
4
679
181
945
39
99
37
906
809
16
383
470
555
886
381
467
72
476
906
575
618
621
537
752
80
109
103
512
484
116
19
153
31
131
216
816
928
429
901
2
381
366
980
959
55
626
276
711
161
984
75
412
785
845
941
457
807
520
367
422
189
884
271
463
33
106
723
864
984
963
15
575
906
616
614
957
993
400
996
165
315
689
71
626
95
688
567
111
465
572
887
14
43
585
229
156
251
57
143
642
913
149
927
208
693
399
318
247
752
846
129
753
598
417
103
48
98
659
599
613
56
171
705
525
502
613
237
289
358
635
754
83
64
328
290
819
428
23
483
266
457
258
133
506
153
335
938
71
895
822
561
490
780
241
712
356
485
681
383
570
382
600
377
236
946
778
467
702
477
906
737
649
835
219
386
659
903
961
567
927
64
674
472
780
777
878
454
106
81
785
181
767
212
779
480
233
678
664
920
806
214
727
451
75
103
365
557
416
354
729
624
518
415
295
951
271
778
501
624
496
949
659
186
979
618
614
660
796
531
826
971
323
483
935
248
414
135
364
387
906
730
598
439
843
865
227
980
381
915
644
197
919
362
847
903
654
29
341
218
397
143
805
393
172
633
696
70
855
897
587
430
920
138
749
245
156
647
205
886
828
626
742
588
162
219
612
154
182
104
921
325
810
900
763
770
838
81
203
841
37
565
597
328
821
226
403
454
420
574
359
139
390
763
681
237
946
681
178
507
139
428
621
808
989
85
782
437
333
139
52
555
821
777
547
286
542
620
21
166
493
534
846
786
234
865
791
465
815
964
521
997
137
439
310
953
904
962
796
863
674
308
546
968
331
758
559
860
65
664
101
426
595
663
168
448
835
608
10
297
827
427
13
543
702
742
241
647
365
101
943
411
23
694
669
264
795
527
177
578
285
559
262
350
206
6
193
346
535
175
906
337
675
559
513
766
318
185
237
530
734
357
571
489
3
273
768
655
501
701
495
430
519
983
38
48
908
857
892
428
518
140
529
180
342
310
890
819
662
786
747
650
656
331
993
711
217
864
32
723
893
934
876
539
132
425
149
611
902
886
797
49
488
361
501
314
951
390
93
965
421
389
821
5
304
884
986
990
750
165
633
759
705
706
34
851
565
46
243
704
259
79
612
915
187
875
454
397
785
776
512
264
138
35
454
164
131
97
203
422
584
915
89
279
229
513
737
796
769
248
208
969
356
538
220
505
257
537
344
456
500
711
328
819
927
688
700
872
657
633
556
728
151
915
475
758
425
628
173
704
608
91
41
794
300
228
192
562
588
521
280
190
585
871
839
733
540
250
753
686
530
808
596
616
196
281
282
722
362
95
215
16
683
762
643
68
574
2
465
715
308
52
109
260
302
576
217
246
255
243
377
583
789
372
738
464
726
181
958
709
643
150
857
285
738
12
185
585
582
887
388
533
88
325
117
778
181
499
344
790
541
334
304
254
856
26
974
600
46
710
442
753
430
520
265
999
43
6
731
467
473
527
103
808
761
584
905
695
859
947
683
744
935
837
571
281
640
656
404
669
654
864
943
832
3
55
220
7
77
404
36
564
315
200
46
9
727
35
379
195
78
868
301
353
699
602
912
286
660
394
212
119
860
631
633
736
228
546
667
837
684
190
309
616
913
279
787
307
761
117
644
289
589
750
555
315
359
446
264
135
93
817
965
8
942
185
425
75
789
273
413
89
573
506
311
762
468
132
516
284
741
729
322
45
326
456
790
39
549
787
574
379
716
515
269
461
403
411
255
471
154
268
315
181
455
834
695
421
278
331
317
925
78
90
861
106
754
719
839
607
820
116
413
19
536
591
560
341
723
395
858
734
833
838
438
579
192
155
139
156
301
685
450
819
500
577
797
698
747
650
516
556
532
987
562
666
137
446
358
979
106
39
673
538
531
669
710
806
960
700
114
302
366
984
643
930
149
729
234
15
51
284
313
450
527
543
892
595
585
942
406
981
736
292
271
441
528
418
752
620
255
668
25
678
455
862
998
953
236
632
470
817
345
365
201
589
249
930
654
757
205
955
643
978
223
170
915
605
492
721
183
187
364
928
210
826
323
325
726
619
911
964
739
369
506
167
30
237
609
733
803
640
20
572
447
73
640
947
675
222
186
749
758
379
251
539
368
674
159
963
341
826
106
871
713
69
692
299
503
102
997
975
104
173
259
407
540
202
37
387
720
527
477
336
199
37
555
632
689
627
531
291
888
994
820
120
684
679
646
945
905
406
24
504
201
18
500
351
957
30
102
354
989
559
690
922
478
419
374
502
714
381
621
482
368
402
729
359
245
614
582
696
386
656
868
300
27
693
817
937
37
281
964
721
633
378
497
666
121
122
796
541
66
501
682
596
852
678
552
411
450
661
394
166
869
758
10
709
574
716
718
188
914
643
553
272
247
363
293
173
643
859
245
487
137
179
106
746
229
126
185
58
624
354
827
844
805
545
205
774
101
710
944
35
451
253
314
379
878
181
783
393
112
401
692
173
427
355
129
431
96
570
236
706
831
480
88
255
624
807
58
259
896
734
79
334
200
677
755
967
492
954
50
842
771
369
362
287
461
76
297
829
83
627
395
8
972
556
549
339
949
876
37
288
386
578
360
69
524
557
609
785
581
190
252
453
759
913
140
483
6
921
178
322
749
28
316
757
495
346
247
252
776
2
150
666
108
217
812
251
157
767
58
915
576
784
374
38
955
297
855
703
0
731
762
939
533
636
634
183
814
993
259
813
653
41
127
557
935
563
632
120
173
1
989
9
311
761
434
364
289
939
587
104
105
624
688
666
451
994
149
327
751
732
946
617
189
745
592
972
590
654
864
924
754
572
427
387
808
494
491
422
72
320
211
177
509
721
249
33
183
400
490
668
773
964
708
853
694
932
852
580
61
156
73
58
473
972
591
234
62
652
846
964
641
662
966
119
338
648
300
406
341
492
570
418
107
978
98
200
63
661
217
670
513
382
369
137
964
858
967
204
54
670
794
193
666
191
886
392
136
739
465
435
813
447
155
959
230
710
380
784
406
796
68
330
721
259
898
969
259
299
466
215
225
539
241
444
563
82
106
597
302
804
363
529
385
659
88
46
32
833
957
363
116
995
355
869
430
193
10
142
867
164
361
883
175
257
647
900
402
608
987
138
476
724
636
504
435
748
298
511
501
741
731
791
153
888
209
682
828
628
923
417
756
529
611
743
417
893
844
734
198
300
160
908
537
192
777
680
376
664
672
889
237
382
988
655
430
815
924
30
249
238
647
214
664
36
575
429
236
441
169
508
306
62
256
291
978
857
526
484
556
796
189
301
791
776
327
280
283
331
410
799
580
201
189
429
274
158
767
695
720
899
18
95
424
535
265
809
99
980
189
401
710
717
676
122
768
892
820
699
360
485
607
77
623
247
266
880
170
804
106
869
282
487
674
651
506
782
444
635
424
597
817
139
39
146
452
215
76
389
893
932
282
245
326
724
791
567
636
644
948
187
488
919
943
458
999
473
449
348
463
520
497
687
369
167
164
805
332
877
657
25
579
570
538
108
919
102
593
889
657
218
829
172
249
260
174
103
633
294
991
26
977
938
192
346
818
690
715
271
794
330
270
769
861
859
846
100
728
130
342
975
348
143
528
132
114
25
112
265
938
401
779
335
685
93
429
974
716
278
390
19
895
105
586
619
597
448
753
950
643
322
731
944
351
840
378
665
612
43
750
852
519
726
245
678
527
551
16
239
456
271
988
387
540
362
713
695
862
593
504
991
736
436
243
29
16
567
904
773
758
918
176
919
666
443
84
91
411
289
444
482
537
395
135
149
532
630
421
977
194
9
215
158
62
639
216
807
108
299
525
247
965
683
469
245
322
931
484
239
180
612
919
789
170
461
513
486
78
633
268
162
479
312
764
129
746
212
382
910
343
277
157
516
481
17
859
222
222
692
395
628
335
195
476
380
839
237
938
53
654
231
318
943
911
512
661
826
144
643
172
738
992
708
382
383
820
371
683
432
642
612
156
491
996
110
24
136
732
608
556
721
207
22
441
855
360
280
740
975
513
909
974
318
243
133
667
557
327
760
508
798
183
16
225
430
517
175
185
544
771
496
515
843
922
544
519
351
162
702
359
893
160
494
462
940
528
456
911
402
637
109
858
790
31
300
745
88
205
333
494
129
219
138
384
60
366
577
493
29
563
155
253
935
609
100
889
12
840
281
720
421
894
903
364
942
692
656
448
232
280
295
8
727
290
803
807
22
521
4
627
409
262
922
283
309
903
655
29
82
869
719
223
724
953
794
448
237
827
696
611
50
519
964
266
54
637
574
646
856
447
464
559
677
18
797
827
988
586
967
811
264
310
307
397
472
152
61
626
956
548
715
508
531
248
184
406
524
523
278
526
270
665
8
276
11
401
437
169
547
747
504
278
180
851
965
688
153
409
624
384
157
724
134
876
138
225
618
314
537
172
447
214
200
953
421
29
182
53
113
98
215
317
945
103
274
288
463
454
969
356
493
640
215
460
113
705
34
895
515
829
7
639
718
866
388
926
764
86
587
280
603
232
961
649
152
683
590
866
102
535
551
979
436
895
377
47
988
708
574
134
581
804
741
105
616
70
211
84
158
210
803
221
453
447
985
250
917
8
479
515
182
126
719
178
597
174
723
630
561
769
871
413
702
694
98
914
591
886
652
286
435
81
331
50
25
824
878
641
958
6
901
910
505
789
158
131
174
6
579
491
449
980
834
378
850
430
86
38
752
857
690
654
372
511
596
973
246
598
858
385
853
507
142
294
932
522
855
595
95
872
278
801
968
275
667
756
329
789
779
270
219
422
1
964
995
118
468
261
549
551
83
440
358
635
512
947
979
940
278
889
740
460
186
241
966
233
298
218
591
260
352
896
273
989
578
838
10
157
734
879
162
41
214
550
974
594
28
424
691
623
57
993
485
546
510
171
593
766
387
326
833
50
216
108
760
870
43
206
402
830
767
140
45
385
170
299
950
695
826
81
189
459
32
694
416
708
875
205
380
10
354
917
875
120
224
923
898
886
597
706
853
121
529
344
86
11
936
80
324
12
995
548
936
163
311
785
108
313
715
893
810
836
272
233
6
353
458
829
118
94
508
484
214
994
857
52
0
982
736
468
142
84
996
85
961
730
713
844
3
269
320
462
231
347
684
932
74
354
384
21
514
617
91
637
986
151
905
313
437
97
746
420
775
100
398
428
46
922
700
45
61
784
814
157
265
601
733
340
265
964
765
676
444
435
368
819
837
878
597
298
748
764
900
34
471
846
978
400
876
870
124
215
270
670
60
139
608
574
776
728
136
487
574
813
893
592
793
526
448
850
217
675
672
766
925
163
601
713
72
34
861
333
41
443
131
308
770
175
217
307
778
656
496
299
198
637
865
465
498
24
411
697
457
740
916
944
582
253
36
307
77
687
758
980
761
429
881
209
34
883
667
789
302
662
870
694
70
346
141
809
838
728
888
214
424
982
670
944
599
443
151
620
536
834
674
85
64
787
479
19
71
245
126
97
30
443
684
111
801
856
852
421
733
485
748
66
47
670
274
370
347
644
123
721
809
226
845
779
201
553
85
989
433
893
450
106
320
586
368
731
602
474
524
995
956
951
438
79
135
786
106
448
698
117
696
603
116
825
449
897
201
883
564
605
27
906
620
567
287
42
992
835
889
87
906
392
692
231
461
626
293
624
209
592
459
431
998
130
691
714
860
592
639
90
262
912
470
766
425
549
710
782
604
809
99
35
177
276
304
334
282
437
31
252
107
24
69
502
708
184
307
385
684
202
686
709
806
47
94
878
873
841
752
796
401
311
228
256
733
276
947
814
967
58
730
532
37
373
562
640
900
986
543
447
743
982
490
592
808
23
660
296
726
136
371
51
446
770
74
989
911
977
173
119
612
83
455
611
946
337
526
700
452
184
650
472
4
890
454
878
410
542
717
349
310
757
280
271
121
163
430
935
734
114
331
346
57
893
822
873
701
705
341
121
45
830
714
75
703
982
684
903
145
621
992
372
84
98
213
775
395
979
269
145
516
583
690
384
280
629
185
75
917
193
694
872
425
46
579
629
678
672
210
87
419
128
62
590
260
145
912
257
224
39
30
956
332
962
591
761
607
30
481
262
597
583
807
792
939
162
291
112
278
561
604
722
731
790
212
554
154
749
396
913
603
611
100
488
706
598
957
819
303
460
962
284
837
430
153
211
642
458
151
656
506
401
28
505
528
915
742
155
410
346
48
249
534
582
867
417
341
140
941
830
871
104
353
506
287
472
575
310
221
446
204
284
722
350
531
42
527
109
862
556
54
998
365
405
441
948
462
574
402
178
100
601
678
757
140
573
364
89
855
658
302
125
928
795
928
759
874
968
876
849
849
725
158
545
15
832
48
373
12
44
79
147
76
231
266
909
656
675
70
393
835
549
331
51
445
590
970
504
449
974
557
915
705
774
262
509
654
871
670
370
50
417
362
614
499
639
743
959
801
764
327
226
60
585
214
864
188
369
646
325
561
746
953
214
379
46
96
896
862
606
29
476
9
214
506
850
762
725
32
559
455
530
312
833
482
194
166
431
667
733
119
231
538
803
685
549
701
308
890
186
540
80
138
334
136
478
10
601
303
608
195
416
272
267
422
632
300
350
393
843
135
774
355
270
637
687
943
233
746
996
605
700
594
438
239
181
244
750
401
712
342
676
215
928
465
658
971
818
200
713
859
930
161
383
107
940
165
616
469
584
468
245
728
65
234
452
72
941
507
333
601
968
104
664
332
680
947
708
742
631
485
888
883
642
805
566
414
946
564
131
788
374
641
876
701
39
565
623
900
880
355
833
243
492
83
849
829
852
601
325
135
55
162
862
441
969
286
682
858
4
585
18
541
830
682
663
844
265
194
75
822
618
570
890
795
250
931
716
195
480
1
209
116
776
111
762
84
149
253
601
768
293
991
817
784
192
473
154
537
870
122
188
24
13
558
648
357
56
162
800
645
812
335
929
632
17
848
604
197
528
317
205
44
492
790
813
753
732
120
983
67
956
976
819
675
379
730
429
734
631
320
572
296
373
511
60
618
162
683
119
808
495
65
752
856
953
66
614
930
714
491
323
135
128
409
230
969
915
746
46
597
226
467
674
427
597
334
837
805
166
400
424
781
759
666
872
178
286
396
113
80
361
30
987
766
71
754
894
252
255
155
692
916
857
14
472
424
84
477
295
757
246
170
336
784
498
482
588
696
808
38
784
391
118
559
288
91
343
711
891
603
804
498
629
651
11
449
268
80
672
919
353
203
992
210
638
723
426
578
713
999
253
202
4
18
192
791
738
824
488
624
876
201
241
440
10
843
661
969
386
533
792
552
905
348
87
478
576
32
125
540
855
75
437
548
906
201
650
554
660
171
712
302
54
230
380
970
429
427
531
716
309
290
683
711
546
236
123
129
713
348
120
713
485
200
775
970
369
465
161
285
838
20
768
997
299
133
207
587
316
877
215
559
20
423
453
299
304
181
218
584
239
613
664
643
612
87
892
293
628
949
562
185
750
27
54
610
353
208
490
560
154
847
382
278
387
684
61
559
500
853
833
470
556
459
78
702
493
730
848
728
393
702
981
10
839
153
429
349
653
860
918
761
735
919
556
220
278
595
828
582
592
170
665
594
288
597
467
153
436
81
172
6
905
515
731
748
679
460
687
593
352
926
255
52
883
977
191
752
413
36
975
110
732
983
169
966
239
16
979
561
45
794
142
711
615
481
491
992
186
988
743
830
79
721
945
393
506
540
633
321
522
431
338
649
346
902
331
532
516
109
659
778
689
817
280
360
615
729
580
31
663
813
165
734
725
54
659
209
604
614
858
150
740
913
195
217
895
120
461
38
364
104
507
975
559
974
257
912
914
973
291
519
795
70
774
595
661
365
492
128
327
622
275
851
882
392
167
753
508
898
816
48
26
211
159
506
689
169
926
149
991
365
646
596
139
464
39
803
452
33
331
279
624
499
804
798
491
10
413
923
102
590
812
92
360
511
92
952
350
98
552
354
303
341
622
432
890
204
160
751
294
12
936
825
492
152
681
184
448
267
398
185
137
973
684
651
925
176
186
211
515
481
147
505
603
104
952
79
322
478
315
788
911
992
937
932
971
705
546
117
846
78
713
776
774
879
494
338
751
295
320
903
155
514
904
131
92
781
612
973
899
24
115
321
519
348
254
417
296
210
643
912
260
255
859
359
343
118
556
332
50
153
166
260
859
52
967
980
44
158
480
458
276
614
53
342
859
885
385
134
838
333
312
505
111
615
901
831
461
919
491
562
956
378
190
981
948
259
225
284
812
817
69
897
205
841
860
418
646
213
927
224
903
653
186
663
12
938
944
901
916
471
514
363
100
771
489
355
284
274
303
786
147
13
22
912
24
514
783
120
775
774
495
282
679
158
608
741
38
682
886
690
602
582
520
50
91
192
240
722
811
171
399
672
889
56
69
872
356
414
494
75
695
946
795
683
885
602
421
506
536
333
484
678
667
197
924
372
878
761
877
668
73
251
953
536
784
546
526
893
62
612
687
609
394
652
790
443
131
698
200
350
95
772
356
383
750
97
785
92
154
706
669
389
325
621
395
548
835
885
751
429
113
786
617
134
278
580
706
882
934
850
37
887
72
772
267
430
598
468
124
616
931
853
301
13
25
783
858
73
853
510
378
140
525
983
876
616
985
371
924
390
71
389
769
472
434
537
107
700
776
199
138
437
101
599
535
270
263
449
608
51
213
108
286
857
354
386
856
220
969
303
422
529
311
894
782
26
342
887
650
8
986
302
330
758
239
581
934
413
459
694
470
963
810
48
348
162
392
456
181
697
732
217
953
172
454
972
623
463
42
603
623
819
400
474
358
242
291
404
173
604
413
215
55
176
812
968
275
888
454
318
343
717
880
981
188
908
462
531
743
938
865
238
51
155
970
130
156
0
797
171
534
984
12
741
747
79
356
606
658
826
791
647
6
732
201
679
738
557
327
333
535
179
74
719
436
247
857
987
963
166
758
133
761
470
986
686
742
52
840
395
233
607
671
958
470
730
522
264
683
946
156
281
979
184
8
781
498
476
957
952
640
367
753
751
293
304
402
779
124
565
744
593
90
180
574
226
288
839
837
509
826
35
293
76
332
933
417
485
770
740
755
730
264
626
678
250
548
295
457
426
188
789
437
126
145
736
464
588
339
838
351
925
59
868
755
620
439
345
601
942
168
927
661
724
151
788
233
935
585
272
133
705
103
482
486
720
994
593
98
197
961
43
968
683
587
417
7
30
843
556
661
876
161
442
535
406
717
22
313
458
761
906
976
444
956
39
174
93
946
567
915
458
978
627
739
771
406
247
113
816
107
654
148
237
516
217
395
899
543
366
499
979
666
693
552
393
838
837
955
521
688
193
853
557
687
468
759
86
926
280
337
595
210
622
849
419
174
563
427
648
905
499
528
51
450
572
377
648
84
328
547
795
921
738
651
971
521
610
990
755
800
393
953
504
799
926
108
985
811
701
51
120
995
872
408
60
631
44
703
454
453
250
171
419
642
875
882
809
510
554
743
714
848
924
690
681
623
805
579
777
255
177
546
64
89
352
687
193
106
470
644
531
318
728
935
581
789
319
491
972
583
210
97
332
450
26
824
644
365
677
904
271
576
871
155
811
153
77
990
44
816
233
155
728
49
959
885
242
853
450
763
362
76
451
767
308
996
739
536
85
708
949
196
528
410
343
198
347
298
44
77
545
460
984
2
732
437
508
460
992
506
912
806
183
74
253
963
79
616
905
809
186
221
946
426
279
831
695
648
367
844
80
846
488
860
704
931
653
906
879
814
96
826
635
486
324
812
584
359
16
356
973
323
507
794
693
980
862
660
66
749
372
211
499
373
77
637
592
271
93
393
463
574
63
13
500
856
941
620
973
157
243
534
551
537
964
688
499
306
342
759
192
957
488
131
717
891
996
732
466
699
272
503
223
416
109
665
359
900
481
511
508
812
363
307
226
609
589
904
80
603
232
51
964
958
779
282
515
897
457
397
414
591
925
848
96
863
161
274
457
246
431
794
955
368
613
95
990
623
954
947
719
669
687
566
975
414
773
289
552
271
238
486
134
98
888
273
124
79
664
542
501
672
792
138
820
670
365
560
969
518
713
188
853
395
694
635
665
515
35
997
883
659
694
401
698
257
89
112
19
579
107
155
934
212
843
939
674
846
50
358
849
795
613
239
492
23
187
586
711
695
472
346
671
71
267
285
783
881
190
289
345
484
968
53
194
564
578
894
651
699
17
892
813
600
600
928
639
831
823
282
375
852
427
849
627
855
607
994
174
410
143
451
115
396
639
114
904
321
829
11
346
406
459
12
487
974
977
326
943
515
257
145
642
896
108
459
150
351
104
968
104
663
493
83
242
391
467
807
788
239
606
172
881
423
387
517
50
946
180
966
40
324
598
204
902
191
957
192
56
1
593
873
689
417
469
840
811
483
596
86
774
11
541
472
239
242
315
904
794
338
731
513
396
867
455
788
817
326
102
7
956
262
683
168
457
125
663
724
589
463
409
582
196
574
761
466
655
815
391
756
215
599
562
578
996
510
193
676
622
768
553
358
407
364
978
668
951
529
609
67
78
25
895
156
923
452
599
827
5
451
896
654
51
891
444
601
842
997
19
597
115
162
968
256
402
235
228
625
626
545
50
313
694
743
121
694
168
202
750
177
957
268
580
314
729
121
836
13
111
556
219
550
28
807
896
686
95
978
197
401
666
988
921
354
145
921
268
857
967
979
960
286
748
960
811
732
641
660
181
421
719
272
531
202
438
782
234
325
933
971
88
544
234
299
81
405
154
334
520
724
294
959
517
743
764
164
218
275
634
426
836
776
187
849
16
648
945
399
616
193
458
356
898
411
52
221
199
948
36
641
959
341
862
254
214
406
911
656
537
873
84
116
638
948
559
750
619
424
186
333
57
770
243
917
806
413
235
556
712
360
467
630
183
965
970
218
699
302
281
949
975
881
943
375
832
709
452
736
609
749
273
551
80
165
228
903
774
198
451
731
896
503
520
132
212
997
443
176
564
284
543
505
381
121
326
560
688
909
447
15
269
235
156
504
604
901
273
719
19
633
591
437
609
544
295
167
519
920
280
296
48
242
971
578
972
109
411
920
450
821
444
965
973
169
673
652
382
774
427
951
688
758
839
841
970
328
670
312
917
207
564
280
889
180
268
408
431
625
441
440
989
274
345
208
237
501
764
298
710
411
297
492
701
587
656
160
484
512
939
534
545
355
605
916
233
619
943
481
966
186
730
247
656
179
409
519
203
208
151
714
101
457
890
823
818
239
52
160
201
424
902
46
713
110
136
69
964
880
929
533
624
730
236
794
968
423
687
930
198
271
666
365
880
782
473
109
534
675
379
533
596
748
459
709
611
581
644
472
879
755
671
738
20
513
484
542
922
829
672
138
224
286
153
421
29
219
804
751
808
102
492
295
353
145
768
822
355
571
967
366
155
437
548
617
736
784
566
495
548
923
944
728
394
647
363
727
18
569
579
588
42
977
566
508
993
593
840
120
757
417
44
689
933
103
255
156
557
358
377
479
216
393
390
379
131
518
419
610
440
669
343
612
497
686
51
872
703
751
123
235
839
251
396
200
570
939
877
10
613
255
880
676
37
262
831
423
51
865
440
869
943
662
60
653
971
323
333
190
603
362
200
858
345
323
949
135
660
171
177
214
188
336
472
649
647
246
504
5
210
886
217
513
433
325
264
816
750
277
953
710
906
200
396
165
902
145
224
579
825
787
210
366
204
565
655
905
626
129
106
629
991
498
581
966
410
292
273
582
126
150
578
788
442
618
835
155
869
596
904
79
863
559
441
838
174
43
464
686
635
346
158
874
674
533
771
87
139
880
389
745
454
256
644
989
361
141
822
108
907
84
41
229
875
630
611
285
915
913
566
811
83
1
724
435
268
841
97
261
421
686
267
99
985
540
489
831
952
61
264
768
198
649
961
82
186
521
284
160
728
707
381
371
735
16
108
593
511
662
868
484
756
697
887
8
280
962
833
942
439
243
941
159
438
273
775
643
270
933
745
954
240
495
944
888
803
250
533
880
473
90
410
164
828
658
64
210
870
714
435
570
270
459
435
805
845
570
437
698
849
538
335
802
535
314
641
830
816
582
578
581
500
552
862
495
483
83
955
405
531
142
243
333
38
425
573
519
611
999
652
301
658
302
487
941
311
166
659
436
482
400
963
297
51
933
193
415
153
204
543
132
815
879
814
755
410
954
634
606
432
406
249
244
199
107
719
972
644
74
655
443
602
715
8
969
711
531
538
572
222
80
996
933
110
593
917
254
538
107
631
254
706
420
35
300
620
424
12
951
771
392
43
267
918
327
667
263
383
626
679
467
588
40
431
283
692
443
812
569
964
372
223
789
428
77
405
424
463
21
621
620
396
331
355
865
119
496
846
531
370
153
89
278
322
738
394
588
206
721
325
640
826
347
673
492
827
763
817
561
761
188
521
913
18
78
222
547
123
796
126
40
417
368
401
598
500
582
45
999
637
170
630
76
495
826
495
484
343
662
661
403
120
633
8
921
754
845
720
407
449
899
820
388
548
801
967
301
277
672
985
186
354
368
430
893
138
404
53
496
794
908
793
914
28
738
594
800
307
787
452
832
168
762
714
858
743
749
733
104
299
391
721
157
150
190
210
787
777
494
339
377
894
83
347
488
927
155
714
399
402
299
481
855
93
61
123
884
617
601
763
506
123
158
960
576
341
380
533
808
890
957
88
232
50
401
838
89
0
49
237
321
25
243
998
744
322
814
836
220
654
691
411
449
473
442
312
730
27
544
663
300
610
668
726
767
122
809
452
463
295
631
252
953
615
678
425
489
898
949
585
991
874
381
795
702
368
874
602
506
706
757
322
475
705
211
342
68
605
599
95
892
499
393
292
745
521
856
268
456
49
142
249
694
5
496
822
674
835
906
127
695
222
263
95
326
707
12
272
836
609
860
745
773
992
70
745
517
474
630
260
165
640
930
172
661
125
757
30
265
977
916
1
571
815
427
577
438
94
393
656
480
943
577
65
627
847
326
606
295
577
795
566
986
328
767
906
42
272
180
170
300
364
565
478
407
923
773
570
231
649
936
512
154
559
708
738
464
797
452
862
821
778
192
472
482
91
970
614
357
98
606
257
521
701
900
440
758
930
86
892
944
186
475
984
494
230
166
48
454
732
874
913
239
772
726
693
36
133
891
790
617
237
223
65
412
284
761
271
386
622
392
904
748
801
372
425
640
49
703
623
487
893
28
378
272
217
613
997
871
760
660
165
183
86
485
721
881
170
3
962
885
886
501
918
454
90
840
390
371
178
383
711
798
188
349
277
156
18
194
266
745
683
989
918
570
444
994
776
62
394
59
783
942
162
914
186
287
533
19
581
940
570
718
557
438
468
253
985
177
529
934
623
894
686
184
513
342
721
533
482
607
601
387
717
625
238
810
225
345
11
382
943
620
76
419
914
460
931
69
749
943
902
26
227
86
236
776
954
679
231
593
438
830
495
185
364
242
48
719
654
368
382
17
750
655
361
23
477
405
217
477
705
256
696
740
280
540
179
482
434
856
926
557
600
592
832
534
202
831
601
811
625
426
260
358
71
242
83
600
958
347
339
616
471
729
462
539
848
249
32
762
132
464
721
172
19
801
131
721
981
559
34
7
186
797
992
260
573
788
477
970
245
36
794
348
130
763
568
38
728
754
565
123
233
784
627
392
83
393
311
931
639
676
333
641
784
48
452
585
282
169
42
112
609
433
719
930
731
364
940
611
684
482
55
945
443
440
273
908
899
693
392
821
200
121
112
77
215
466
388
114
318
366
183
865
335
291
119
845
479
769
995
959
196
986
517
195
77
95
719
650
402
855
384
755
391
326
881
793
89
949
55
355
136
134
79
461
218
98
613
834
0
514
657
509
208
304
65
600
880
672
177
151
30
845
331
371
38
660
842
28
84
926
368
791
464
484
781
286
432
453
88
220
31
21
85
815
320
124
280
341
305
705
442
729
934
773
830
833
32
293
982
863
298
383
646
684
572
839
857
701
66
41
169
872
678
282
637
69
639
740
4
489
485
8
481
965
522
233
255
359
466
623
64
879
378
486
495
9
347
410
339
422
141
64
939
150
955
244
586
589
367
317
47
0
517
391
813
723
211
659
127
430
662
635
337
890
322
601
713
508
943
245
98
448
441
891
541
813
22
507
22
328
177
197
447
537
853
821
830
410
292
945
801
869
786
255
971
85
445
690
706
963
147
647
706
262
134
261
397
998
149
400
85
680
432
122
419
747
376
192
576
232
313
165
247
453
146
200
181
917
931
727
459
946
65
589
229
255
634
189
434
395
81
526
257
976
925
103
988
865
694
815
573
843
817
253
69
695
411
307
109
888
281
467
531
724
532
866
179
130
581
362
304
109
400
95
94
754
172
52
505
768
69
880
704
476
812
407
679
162
659
997
918
339
991
863
254
395
157
555
438
328
530
580
294
573
996
818
483
206
428
61
95
507
620
106
406
578
715
540
285
821
358
768
381
732
403
690
563
733
538
164
195
48
44
520
53
403
157
672
190
698
204
847
779
697
105
31
751
860
224
253
107
999
541
683
568
253
39
510
63
564
983
988
190
742
605
359
805
37
757
22
928
895
699
586
201
708
918
901
723
210
187
383
439
481
301
612
86
200
189
191
62
462
565
396
140
335
633
62
377
118
509
836
384
73
978
258
506
687
952
189
125
930
758
858
489
505
586
183
574
762
423
452
956
462
435
288
336
527
890
601
765
591
910
970
440
756
678
816
426
637
786
649
487
545
815
297
795
242
23
21
476
113
392
370
760
799
597
238
241
692
368
212
497
872
768
794
18
652
559
947
843
963
831
775
989
848
362
258
498
248
147
265
650
293
271
109
808
100
311
683
943
541
250
674
648
235
322
836
547
181
349
214
791
382
559
564
508
315
682
884
443
344
153
685
78
286
291
830
910
633
993
335
427
844
957
524
871
915
644
168
627
740
71
879
458
395
25
501
308
894
155
493
739
719
133
955
464
395
233
803
831
360
382
946
900
56
62
741
280
489
47
30
430
436
907
517
233
5
702
767
231
968
51
479
779
630
889
586
963
507
99
990
668
953
992
489
223
90
1
511
501
418
232
668
696
76
60
843
111
230
168
369
99
615
790
488
644
289
408
691
201
447
592
109
89
209
693
332
855
615
217
441
89
480
860
76
904
977
57
861
32
212
864
334
828
381
119
899
803
762
819
699
532
336
675
898
533
27
50
537
171
448
581
533
324
491
236
786
532
654
252
199
421
602
673
145
978
511
853
474
854
348
798
349
309
536
15
672
89
875
387
861
455
358
667
878
360
110
257
324
664
349
162
564
797
340
248
970
447
175
620
791
634
337
525
725
789
63
770
659
980
379
814
274
153
554
68
84
959
666
876
483
790
657
717
712
346
7
808
923
16
245
15
917
839
871
169
602
983
611
528
650
681
271
394
786
392
263
173
93
337
787
971
697
380
431
971
149
631
887
589
812
465
113
795
99
805
671
859
436
624
408
338
865
84
904
292
221
680
871
542
736
863
768
99
645
166
209
967
373
922
774
126
640
565
26
521
274
787
216
394
678
504
94
429
403
716
978
110
895
529
4
701
730
890
711
257
539
451
495
27
879
816
118
767
578
767
310
545
335
908
469
328
678
285
64
512
872
448
231
705
16
322
927
861
666
813
416
985
381
833
720
698
178
145
583
35
532
657
296
647
254
682
564
239
785
143
572
15
547
456
314
639
8
726
886
886
158
364
98
143
400
994
654
501
442
321
809
217
987
971
47
400
388
870
828
121
471
129
284
38
917
419
575
590
685
344
11
725
963
498
264
694
372
582
967
47
281
723
903
242
785
89
624
771
668
849
194
558
746
684
784
733
808
388
928
333
516
686
412
51
847
914
132
521
163
712
35
516
345
197
658
64
992
51
403
872
25
28
135
215
844
341
340
390
902
446
720
203
579
114
461
547
406
890
904
73
22
673
990
101
23
900
525
528
897
644
420
434
150
435
789
852
909
626
184
482
81
355
338
610
889
798
207
665
24
748
284
315
351
280
446
566
897
234
869
277
284
468
267
227
102
640
56
647
463
469
250
603
116
227
56
582
186
543
372
544
798
716
687
437
436
865
420
834
456
842
415
737
242
254
657
773
447
877
931
437
2
835
436
407
182
811
777
287
590
521
157
521
372
36
10
527
892
288
871
366
243
909
849
766
629
88
149
532
445
982
61
725
343
335
838
50
962
801
640
908
754
704
999
988
34
7
823
299
908
603
544
85
916
839
60
461
810
179
485
243
378
988
692
464
218
399
246
52
487
372
999
304
457
372
767
415
637
473
764
812
214
206
419
219
757
466
995
734
558
902
903
297
101
804
741
63
761
640
816
740
964
125
655
49
617
993
993
23
443
624
221
166
441
749
622
318
86
763
359
376
241
662
414
307
292
161
242
876
735
71
253
56
386
844
558
967
65
32
548
996
648
323
157
167
877
635
243
578
84
308
672
471
598
483
906
248
990
304
721
568
586
212
939
364
998
644
881
124
72
870
23
823
817
798
553
385
182
738
945
159
976
309
502
859
753
410
589
784
573
253
172
758
715
388
273
676
729
51
438
94
129
248
591
884
335
119
250
631
150
927
69
268
565
408
38
799
620
77
484
895
886
749
808
252
125
145
531
812
480
487
23
701
344
482
850
924
865
291
652
265
939
241
512
901
162
909
202
218
45
855
944
484
815
751
71
613
424
192
421
392
160
327
45
97
719
582
372
98
404
36
275
961
379
331
249
678
548
316
113
617
275
161
838
305
382
902
894
636
936
997
398
966
927
912
345
454
820
563
812
195
511
948
324
438
348
492
270
799
324
118
289
899
733
744
326
682
334
212
354
952
903
276
800
204
619
464
980
229
652
901
890
903
220
489
318
798
152
964
578
112
90
814
100
372
666
927
195
846
336
379
869
697
496
455
594
2
596
806
74
149
924
919
947
861
181
582
618
540
551
360
886
998
629
675
260
545
80
519
542
501
344
577
1
872
635
756
980
285
989
651
360
371
635
473
414
427
285
417
373
941
661
153
353
28
772
38
177
508
528
613
285
127
808
620
446
544
540
823
104
197
871
914
218
413
651
284
552
388
654
759
418
651
937
900
691
124
913
720
708
274
670
236
547
600
786
18
417
415
885
651
128
840
220
340
374
314
876
646
184
963
775
527
822
33
649
735
258
191
175
264
16
626
41
459
786
954
802
628
479
222
197
590
588
356
16
111
744
57
399
471
660
500
92
864
953
472
188
606
262
850
919
820
752
495
621
467
959
54
92
793
190
96
178
242
113
709
492
133
82
480
289
951
909
7
679
897
289
715
203
677
634
616
25
572
412
416
490
598
49
565
163
288
57
219
770
9
82
76
277
25
543
982
794
40
246
897
509
964
20
136
349
325
633
380
286
257
195
886
504
535
393
549
824
230
819
591
401
27
388
577
453
696
345
731
192
394
444
202
362
986
914
242
367
142
317
659
164
612
243
589
90
14
44
961
485
242
358
787
76
486
493
592
353
967
540
448
243
571
929
688
418
158
740
823
211
21
951
339
678
264
464
409
839
783
444
767
905
236
439
806
288
342
691
97
36
504
292
283
589
560
955
123
641
52
416
368
903
843
53
92
505
668
267
510
798
763
643
994
476
469
469
129
572
59
119
694
939
20
848
383
103
218
228
933
388
415
748
717
276
115
741
653
452
191
202
632
383
719
839
846
202
990
759
774
403
345
817
176
657
799
850
59
206
571
106
526
615
444
181
241
615
900
895
826
477
971
607
518
748
520
136
935
520
379
511
312
966
846
31
208
738
169
852
258
876
961
181
598
121
595
791
501
368
496
545
694
105
186
759
781
49
946
304
810
618
670
98
403
473
913
66
885
675
779
704
824
408
161
56
361
689
367
359
325
95
468
282
254
811
359
236
157
352
740
530
370
369
151
640
831
496
257
347
356
21
290
851
696
716
318
271
759
543
761
263
313
660
485
466
270
692
825
911
215
447
634
603
66
247
573
894
633
879
987
81
693
275
629
261
971
348
91
701
622
191
963
532
123
671
354
836
465
763
861
284
883
411
303
362
75
495
449
636
785
950
993
753
958
638
860
438
364
532
563
237
263
513
705
304
394
981
866
525
795
862
981
935
814
740
153
629
233
536
453
127
610
606
842
113
247
463
993
246
984
636
404
525
953
472
4
340
687
836
263
221
586
596
475
807
103
193
13
42
26
818
375
642
302
529
584
510
619
951
402
130
44
774
432
688
369
593
362
559
393
399
958
461
411
458
47
616
932
148
503
292
589
36
896
876
553
34
36
193
839
983
295
679
889
167
304
297
172
998
514
730
317
591
474
515
139
23
56
822
257
132
883
681
70
468
449
498
609
633
813
660
947
272
764
499
62
180
226
173
92
784
155
232
704
409
20
660
162
542
644
258
495
643
803
59
824
937
132
419
882
703
172
441
190
570
214
203
541
236
423
241
67
635
427
734
803
395
653
190
550
396
206
373
831
55
823
796
46
413
808
12
511
728
951
947
286
622
493
616
793
17
177
130
425
402
494
479
432
985
51
747
408
260
9
322
360
136
56
910
56
233
535
567
41
419
677
177
701
390
97
748
344
185
929
923
246
805
984
548
696
274
555
887
97
639
278
89
507
955
631
593
727
617
300
73
842
917
275
246
580
414
515
32
921
295
788
538
298
803
440
633
89
119
100
628
343
451
507
346
223
807
418
740
842
617
462
426
961
951
368
334
92
863
538
978
752
260
597
58
943
260
33
152
431
693
170
998
713
104
687
854
526
670
717
229
709
440
377
868
444
92
953
211
746
661
307
352
544
611
780
500
617
545
884
810
794
669
244
818
415
832
462
944
230
626
231
853
451
593
983
404
851
310
770
240
18
852
719
252
512
575
104
719
626
753
366
230
595
838
537
510
831
243
801
362
717
802
184
178
156
890
159
987
981
725
701
634
239
271
506
807
593
504
764
712
25
270
108
335
42
760
800
911
314
362
932
550
437
636
227
910
463
933
613
255
310
714
776
347
44
169
133
120
232
146
587
620
242
36
80
412
453
817
70
748
707
411
749
864
466
489
171
373
574
435
381
361
349
287
81
399
251
720
618
355
490
341
918
106
773
241
649
870
100
822
109
75
331
945
443
104
925
381
575
385
833
655
853
763
239
598
243
102
348
371
168
200
473
509
628
822
632
824
654
735
970
931
721
6
362
1
900
791
306
113
718
773
75
915
945
380
897
739
345
367
735
677
180
321
524
585
630
789
221
541
205
983
446
400
424
26
411
996
844
779
590
168
854
434
36
395
632
871
635
418
6
361
391
485
202
508
278
671
894
667
439
563
854
421
582
777
725
617
963
753
706
830
75
891
985
412
589
194
550
301
961
819
587
189
179
763
694
574
98
274
672
639
246
227
33
514
90
586
579
987
173
352
61
338
722
926
273
869
158
227
49
899
919
75
561
191
858
627
223
232
963
140
789
331
279
155
484
183
946
104
144
968
156
997
80
272
444
146
356
765
392
455
73
713
953
605
380
249
882
974
628
425
139
56
313
54
927
437
227
148
835
613
947
409
700
717
112
198
907
751
138
675
714
785
485
401
920
309
305
259
562
392
836
350
419
507
679
429
915
456
993
278
520
469
854
226
621
212
838
807
203
998
22
679
220
324
998
147
195
434
887
708
819
840
871
975
27
9
95
471
905
589
539
883
605
751
791
643
292
450
322
948
268
742
32
747
215
810
254
54
224
696
301
930
874
513
281
850
273
944
348
927
819
618
778
989
887
698
843
228
260
400
509
65
96
95
101
179
942
149
258
19
533
739
870
270
697
685
105
262
658
890
54
330
627
573
314
604
221
908
872
633
660
326
987
773
950
300
51
683
123
38
643
403
567
277
212
150
847
841
856
102
439
818
110
547
261
173
902
89
780
630
9
577
264
457
148
504
398
640
603
880
841
544
524
843
456
576
940
875
145
382
808
304
691
576
100
698
357
272
245
399
715
347
833
51
676
210
71
32
790
968
421
261
675
902
110
271
414
627
569
574
557
579
706
417
716
378
49
171
827
337
64
544
449
21
376
373
93
51
660
164
207
631
201
394
648
936
94
340
44
363
750
653
116
369
701
242
170
232
146
641
201
479
85
367
371
178
131
225
583
941
428
300
125
282
650
512
100
202
169
495
388
328
633
650
495
574
268
629
537
350
845
868
769
704
212
983
369
836
577
72
319
775
750
526
802
297
14
427
810
734
732
819
671
413
122
145
493
226
232
805
870
605
596
59
639
550
815
544
117
5
736
718
272
440
227
105
600
374
922
921
985
769
666
471
304
353
420
769
313
827
281
577
978
442
629
520
776
156
853
538
141
998
723
34
860
381
587
328
93
153
837
116
615
829
3
186
616
336
294
782
368
221
479
608
813
630
440
540
512
488
283
841
706
478
996
414
673
618
615
106
718
198
26
506
854
628
83
332
239
325
495
671
540
315
408
834
98
449
906
302
457
22
212
379
509
835
447
743
394
961
992
694
727
550
215
798
509
464
334
864
374
523
188
279
407
710
141
274
351
315
536
605
587
900
590
937
9
460
974
245
407
718
640
76
443
998
209
128
561
194
808
618
710
693
584
396
82
756
235
360
982
370
82
413
703
804
394
622
698
273
545
721
736
478
712
480
309
785
621
151
62
156
393
819
220
294
592
113
929
114
547
260
371
153
641
396
986
355
97
379
105
170
279
339
80
77
940
86
416
265
853
791
569
537
287
808
794
879
194
468
228
116
740
880
899
657
905
232
909
409
57
460
674
950
149
790
789
969
256
748
740
368
163
355
670
662
129
752
674
543
738
750
115
177
592
475
858
854
228
504
922
932
390
26
201
18
400
425
585
723
496
925
342
394
613
29
515
703
569
514
657
723
51
956
231
406
517
188
700
403
198
890
381
449
132
97
577
233
65
52
209
981
493
299
731
178
290
329
414
499
64
277
476
941
287
52
864
644
806
614
549
416
725
513
349
591
445
111
831
840
767
971
805
655
649
401
330
97
695
277
26
481
691
588
624
546
308
695
474
606
999
615
943
219
132
189
745
495
131
911
902
816
666
35
573
577
891
636
973
143
889
235
925
106
225
448
975
697
90
374
207
947
754
992
462
790
702
62
912
672
371
977
458
566
389
759
600
273
714
603
568
173
787
334
650
932
74
695
761
924
927
339
353
594
372
985
414
458
34
840
907
244
297
5
252
330
608
395
625
542
208
564
98
229
846
778
333
149
682
906
922
474
976
839
64
386
265
97
90
718
138
360
46
876
10
556
213
257
304
441
186
134
765
466
703
585
378
374
77
168
475
564
311
296
341
373
373
429
112
802
844
503
105
172
761
918
415
832
976
431
498
671
854
508
548
280
432
53
247
976
10
345
807
541
601
829
961
169
16
161
814
496
543
366
434
685
795
499
232
769
282
77
50
426
793
749
285
75
343
888
317
958
536
544
734
805
587
591
864
905
330
794
249
2
583
998
369
307
594
37
731
758
835
957
271
264
965
278
777
439
478
726
212
629
840
672
519
790
479
456
256
616
232
502
180
83
167
996
240
258
338
292
473
580
324
939
261
20
167
146
269
357
785
121
196
713
316
602
92
585
135
486
381
896
162
472
761
415
378
448
36
28
386
435
695
25
607
89
430
274
309
305
728
180
633
41
761
420
10
121
343
710
543
661
542
670
478
414
600
993
877
774
880
569
95
661
934
419
793
571
923
625
845
115
814
852
386
500
989
468
229
602
257
972
974
963
686
747
610
261
165
623
261
517
159
708
132
61
551
58
697
806
931
178
609
57
971
517
225
607
909
445
342
977
3
391
779
199
813
697
27
236
32
251
505
570
995
607
93
735
753
302
936
75
993
296
914
409
214
889
330
934
118
377
968
615
493
965
350
671
946
916
72
315
834
653
655
370
842
834
712
578
589
537
124
463
303
656
429
976
548
983
207
97
448
835
890
427
519
499
416
602
430
74
705
811
956
755
117
602
222
561
546
886
319
954
81
446
873
944
121
192
481
856
636
631
229
737
926
493
959
783
337
422
976
556
828
934
732
959
948
805
892
410
935
232
110
590
265
165
998
689
466
409
993
181
971
153
287
27
465
158
17
260
106
550
70
795
844
596
663
212
642
744
649
8
476
630
191
518
273
853
143
569
528
265
519
273
469
972
754
822
487
463
452
377
946
5
808
69
974
208
729
134
893
187
626
6
707
726
499
705
482
716
347
455
664
424
834
411
366
891
656
874
426
582
687
463
557
696
479
878
921
940
471
184
131
444
587
787
575
495
518
187
449
883
677
469
384
322
435
74
237
770
914
584
389
918
434
708
933
622
470
695
942
325
183
268
560
772
193
907
425
195
204
200
376
758
211
96
182
526
221
813
220
256
422
864
921
546
515
969
523
94
789
335
699
743
467
601
694
642
867
946
659
123
564
115
715
501
317
274
624
875
721
780
407
343
878
482
289
880
392
361
659
729
419
694
988
284
29
907
464
593
993
722
873
290
996
534
906
429
415
966
524
38
47
825
502
517
848
583
91
152
175
287
260
858
257
283
875
139
551
977
712
210
735
551
574
465
750
524
531
949
333
477
441
206
545
609
462
624
801
998
87
512
142
535
182
126
525
717
196
353
584
441
784
872
76
705
931
365
228
397
464
105
894
685
592
837
405
907
938
655
448
454
326
206
963
333
75
480
111
721
304
834
441
785
436
164
505
603
902
737
366
154
413
322
230
563
487
699
444
685
676
671
659
686
373
68
199
670
997
155
472
413
723
142
453
242
13
962
48
822
326
176
673
482
517
134
533
75
8
140
289
55
514
533
796
93
374
674
758
337
290
737
108
59
927
159
691
280
812
697
984
363
309
727
764
576
122
15
25
164
231
790
262
188
825
609
288
331
847
138
271
921
60
770
768
807
589
955
729
685
524
619
294
232
727
301
46
499
870
59
763
871
1
227
875
184
214
822
30
804
113
587
166
12
571
234
100
343
838
561
536
653
777
514
374
750
946
910
898
576
595
948
817
288
358
117
646
895
807
887
983
168
27
837
641
132
848
320
822
101
793
734
660
681
338
520
762
635
962
310
690
957
421
880
865
382
689
813
941
702
996
749
39
725
629
149
313
32
939
707
807
166
322
404
306
585
594
996
623
309
547
4
185
74
508
84
719
912
434
195
774
354
918
139
467
299
719
392
565
784
430
776
7
963
324
806
141
809
980
585
640
432
461
189
620
149
201
641
352
963
908
730
75
899
822
504
645
12
143
744
410
492
579
721
35
274
915
286
406
747
684
571
202
66
760
176
588
733
48
82
526
525
27
438
292
111
988
578
727
174
946
937
864
925
368
500
217
552
48
691
861
209
903
837
879
766
758
66
961
193
718
789
807
571
348
119
993
918
341
30
546
931
59
167
641
66
517
650
191
268
179
312
897
871
478
909
143
365
671
578
13
342
488
419
42
662
355
741
811
529
310
6
802
319
647
35
274
809
276
90
627
879
628
240
690
916
464
488
725
503
100
123
921
247
502
707
937
448
839
554
125
622
21
612
216
194
158
294
434
933
549
435
562
254
968
63
376
542
207
591
140
508
382
458
699
274
878
67
943
338
753
334
138
779
106
627
21
20
252
230
533
237
52
95
419
912
690
54
856
976
192
140
69
81
323
971
146
432
720
748
380
389
677
301
566
721
453
285
555
560
671
212
117
892
143
351
485
639
600
753
484
330
281
655
924
837
583
988
544
68
935
765
522
43
121
88
169
771
512
227
532
676
505
948
453
992
598
492
599
283
156
771
773
104
611
885
568
171
967
24
884
551
524
977
948
710
717
165
124
764
334
144
682
419
744
603
717
583
493
346
604
18
505
468
696
57
817
320
59
451
695
451
35
565
117
132
167
360
764
179
887
157
720
972
350
231
826
149
68
552
711
557
382
981
330
575
480
246
339
860
192
333
444
645
52
434
497
669
242
654
394
894
618
479
4
965
708
163
973
612
706
475
264
90
239
278
815
805
315
255
1
250
49
229
836
789
75
589
614
1
681
656
931
268
40
741
37
598
366
418
244
312
30
494
338
338
467
606
544
447
595
817
989
903
371
754
238
952
287
779
723
659
222
731
586
238
508
868
992
687
852
218
900
311
430
498
38
348
891
527
585
284
429
350
365
950
809
734
401
234
292
928
77
347
206
563
917
743
53
534
72
200
821
857
15
412
264
904
888
439
472
701
209
716
385
429
801
996
956
226
264
513
957
682
384
802
635
847
414
104
177
447
588
990
943
965
604
552
942
972
2
155
32
109
623
260
164
423
650
41
951
767
337
368
813
606
658
809
19
432
185
92
205
781
611
418
985
562
137
90
201
775
932
741
679
516
67
128
890
169
7
184
832
109
624
158
314
754
545
439
601
255
721
979
892
657
271
720
259
146
602
975
760
262
983
102
48
415
111
300
801
541
526
566
478
1
251
670
815
109
654
668
641
277
781
897
690
70
514
730
933
238
667
675
726
458
969
927
224
223
145
747
809
691
522
671
449
944
271
237
147
925
238
568
189
20
732
666
933
919
315
118
254
390
741
717
366
303
407
687
38
502
70
542
481
547
454
712
248
780
24
966
585
669
860
493
307
882
91
44
910
577
421
283
469
666
866
789
364
704
702
132
353
655
917
878
389
206
674
337
56
231
724
879
872
796
115
178
378
334
9
974
489
261
234
997
143
287
930
8
824
13
65
942
789
664
223
740
116
884
150
838
378
230
394
607
882
802
417
161
913
945
530
956
202
407
305
0
550
995
80
938
29
625
125
860
567
639
222
106
65
144
531
309
115
198
535
85
558
185
880
156
47
171
734
755
902
421
637
148
74
810
657
472
78
687
746
543
495
382
309
447
931
692
610
925
540
282
860
204
483
812
522
9
852
968
143
827
331
83
247
660
535
476
738
744
568
390
836
453
884
167
230
980
132
875
663
102
51
179
253
706
85
250
538
283
614
919
945
610
318
697
112
592
604
533
578
214
778
466
989
531
70
139
580
195
193
706
995
153
876
821
605
115
847
522
640
469
664
475
45
754
844
631
829
627
986
631
533
246
505
969
294
772
154
656
134
531
199
496
195
271
926
52
240
338
961
4
900
623
120
169
226
490
436
144
703
169
495
150
245
16
478
288
849
990
751
309
366
710
868
896
251
195
234
32
67
111
92
490
74
850
819
29
149
461
133
170
311
295
81
35
691
906
960
282
270
948
110
121
570
825
652
930
619
980
494
829
531
785
846
990
444
388
612
601
765
937
995
261
736
143
992
848
709
301
410
489
202
521
677
965
801
610
797
811
220
947
470
517
402
698
737
975
956
777
638
591
981
965
350
216
750
924
867
663
282
87
935
567
928
212
927
198
966
282
3
717
559
210
774
754
487
61
78
698
553
362
436
816
899
764
242
221
853
891
765
478
260
494
264
571
71
465
667
615
76
613
347
230
738
435
385
274
87
521
824
223
531
320
861
346
727
430
523
984
642
684
463
744
480
261
342
61
236
309
529
673
472
813
841
168
151
628
87
288
766
749
365
867
21
207
160
574
375
793
955
677
922
986
238
822
263
680
890
190
459
543
849
253
619
29
200
418
308
138
944
776
113
213
966
201
535
272
715
520
346
575
252
122
995
99
204
646
580
920
345
893
338
452
509
380
811
615
358
313
179
869
787
284
189
875
381
666
529
551
703
891
306
977
496
24
733
220
785
615
219
613
225
224
133
181
172
749
128
638
935
159
860
899
68
889
586
537
168
10
365
113
393
136
709
845
767
212
101
379
580
967
838
74
437
907
696
913
864
22
853
664
339
600
473
827
232
125
924
270
499
301
914
117
666
570
737
303
513
212
383
242
410
403
206
510
900
101
878
45
289
15
392
23
51
169
709
634
207
109
668
879
854
992
512
798
607
366
335
12
628
571
904
745
805
120
380
681
514
178
434
638
736
972
411
784
226
785
353
299
250
438
974
555
299
480
777
605
317
38
107
889
146
188
219
95
83
985
682
593
401
745
578
292
991
237
360
999
757
636
165
242
881
268
109
471
198
629
139
259
298
835
139
421
913
926
40
149
112
543
454
134
737
813
461
658
417
293
856
500
248
390
809
81
65
930
389
774
521
756
438
646
18
9
134
228
548
614
358
738
4
586
299
806
45
52
227
396
929
793
297
587
826
981
648
177
61
304
355
157
811
555
624
966
273
443
37
562
455
174
499
701
985
549
907
415
663
508
590
894
53
77
837
330
373
259
729
123
801
889
556
491
753
394
452
199
976
675
419
416
688
661
805
871
928
760
561
552
420
200
684
74
728
416
788
166
190
893
493
336
462
86
659
78
865
510
627
790
483
43
144
709
119
613
518
677
948
504
80
207
618
570
772
321
288
97
203
968
882
773
37
903
523
605
993
566
52
141
292
981
570
960
172
131
850
705
636
860
761
793
807
711
246
233
289
975
971
8
823
769
263
486
356
776
263
606
424
56
52
13
130
336
411
118
181
392
153
224
997
466
163
306
451
413
508
590
376
917
597
182
850
352
174
442
434
833
638
123
961
135
56
890
858
292
310
243
907
710
419
225
151
455
130
877
147
390
14
370
81
666
591
429
695
274
711
21
377
0
809
361
342
757
592
889
166
782
779
145
749
494
574
338
980
318
384
649
645
491
655
245
103
276
640
178
563
536
126
703
748
295
93
105
77
175
158
766
5
900
582
273
440
217
222
899
822
424
731
628
217
792
716
567
869
619
500
348
265
897
945
545
521
688
623
108
48
599
948
205
312
794
579
528
933
274
931
831
730
918
86
567
91
929
301
547
914
422
493
653
280
817
170
134
696
649
430
764
137
899
97
779
482
756
312
697
779
205
876
980
281
873
492
413
368
256
373
299
502
73
383
113
765
930
41
785
941
473
873
839
394
506
926
611
480
857
560
906
454
469
433
859
288
657
19
244
681
470
60
728
73
987
570
385
498
375
889
141
686
38
606
866
97
884
756
791
299
149
825
531
331
311
258
862
743
707
111
969
315
531
763
401
494
81
16
693
446
303
665
527
195
316
260
858
547
62
967
886
269
718
553
481
301
523
705
240
39
819
940
960
632
727
547
910
958
696
90
944
151
514
660
793
369
634
929
300
586
292
641
390
32
909
22
395
313
161
732
836
902
692
103
392
576
241
194
298
211
889
450
350
866
447
187
981
269
210
967
566
831
701
693
777
332
238
909
68
439
315
580
659
386
698
89
318
692
388
91
847
372
885
797
125
580
552
499
768
808
370
61
907
599
785
30
25
842
585
83
962
153
563
148
720
926
465
271
209
815
616
708
206
377
512
970
431
717
670
535
966
993
949
576
765
118
409
73
580
461
630
578
596
817
233
906
3
625
837
845
705
752
294
97
41
432
22
997
375
939
167
568
820
462
720
328
391
866
6
551
29
368
300
603
279
196
868
475
484
603
68
211
846
777
262
480
343
558
599
597
130
681
387
604
121
967
849
890
971
923
244
459
943
877
136
346
242
606
544
576
691
925
741
162
727
358
91
910
990
444
809
499
878
841
805
300
429
797
621
982
849
310
471
884
70
872
475
998
142
837
390
824
430
577
685
706
787
220
18
803
563
130
281
196
989
238
74
164
137
791
644
86
605
461
670
831
374
655
243
445
581
595
126
193
446
874
992
590
421
385
237
104
344
418
772
16
373
20
853
956
281
237
286
972
988
662
99
954
524
857
740
477
994
667
89
367
318
399
495
115
778
311
413
565
182
741
118
561
664
679
675
717
385
953
198
826
728
383
252
906
410
399
740
362
107
320
825
652
172
770
952
241
813
981
827
149
94
281
458
529
312
77
992
263
90
168
853
63
185
575
719
378
421
159
43
832
475
853
815
778
641
555
707
421
899
980
184
317
564
884
256
747
947
881
815
14
248
928
189
719
777
250
276
395
512
459
673
571
340
311
389
217
949
237
571
567
8
6
523
128
381
771
470
506
478
109
761
12
115
17
79
136
349
216
569
720
104
812
425
861
384
74
863
580
169
484
278
22
276
240
30
97
327
648
210
827
536
644
547
742
118
589
668
157
848
785
463
835
5
763
511
619
258
209
135
67
909
367
267
54
305
427
551
862
605
896
158
841
565
173
909
384
979
784
768
925
17
368
847
413
432
999
665
933
434
685
642
579
482
900
534
885
83
704
845
329
258
842
812
985
166
774
300
43
271
154
877
998
347
253
983
257
418
11
647
541
769
189
411
747
46
930
75
666
980
250
728
973
430
412
190
771
542
258
366
793
636
824
968
610
22
783
325
648
370
947
840
79
822
939
94
935
739
727
822
102
832
217
12
484
136
512
489
185
501
61
676
663
821
509
833
805
695
496
856
604
254
903
990
83
512
762
90
746
827
304
685
661
563
89
825
266
212
646
17
277
137
580
607
502
393
507
313
761
898
994
238
313
620
180
942
970
821
204
982
553
647
920
848
995
191
246
107
525
529
581
862
513
59
772
457
646
177
35
221
712
981
552
651
843
573
285
835
789
741
879
255
967
349
218
18
856
489
974
375
829
75
452
648
569
846
323
302
215
116
394
437
27
537
858
756
309
269
364
506
996
954
69
912
877
483
209
231
838
74
4
596
791
280
940
89
3
11
556
743
82
273
630
822
840
586
846
320
822
623
838
584
7
238
579
275
483
177
113
988
614
931
199
550
47
707
720
276
412
910
712
296
419
604
574
332
844
288
500
70
937
849
33
310
410
380
165
5
22
597
629
841
355
815
454
11
489
753
594
249
614
859
277
673
956
126
592
872
397
123
701
563
644
412
390
927
187
943
495
247
906
273
417
480
895
938
164
602
591
69
101
199
402
732
102
772
651
272
872
28
409
414
327
411
726
324
552
725
829
574
202
146
621
120
250
895
969
498
668
820
758
223
635
771
990
633
822
96
193
406
397
703
897
568
6
566
733
313
823
856
756
582
540
414
409
667
929
398
56
954
818
604
772
696
540
52
60
86
644
334
765
742
361
589
90
123
862
335
818
889
244
692
653
719
499
702
898
620
679
417
790
486
165
250
908
257
389
60
50
202
777
948
174
333
422
296
608
737
712
889
144
471
592
690
865
87
953
131
668
71
893
883
194
878
62
554
938
632
455
97
668
894
33
909
823
640
559
797
742
719
884
36
22
945
552
561
863
906
257
230
275
192
225
605
265
653
833
632
326
53
614
115
96
539
314
682
903
934
176
48
69
268
396
129
958
681
954
982
751
391
562
158
324
898
734
30
547
778
510
993
987
145
209
871
641
238
701
452
5
349
662
348
763
187
167
235
387
219
208
47
209
377
464
719
351
287
531
418
62
886
832
211
338
423
389
504
686
92
934
531
63
835
327
955
828
8
77
117
351
642
974
951
982
667
339
162
524
490
312
426
609
464
412
248
722
49
414
344
875
103
442
348
339
480
240
369
521
980
468
271
565
630
864
99
286
879
594
162
945
403
191
282
6
586
348
443
757
336
145
356
226
513
848
826
85
630
835
566
759
835
633
653
615
716
729
499
961
424
320
496
108
208
251
540
933
879
837
26
885
432
94
346
375
276
389
654
566
957
968
624
167
686
422
288
466
764
460
601
848
266
53
949
540
69
762
524
383
427
549
343
406
464
495
940
849
487
850
121
247
480
544
978
287
587
730
610
981
344
53
364
901
37
580
310
208
516
135
949
352
19
959
186
925
430
374
516
370
257
334
371
481
310
830
217
79
4
383
963
441
728
869
219
372
610
587
726
613
350
657
207
253
602
607
730
315
799
959
674
835
82
358
57
511
355
181
882
282
819
706
477
19
595
777
311
848
19
589
43
463
389
579
156
832
566
802
641
743
209
715
170
480
710
882
258
713
854
615
417
523
163
284
771
407
39
638
60
369
287
350
356
595
156
50
88
157
209
411
603
735
385
521
431
318
41
257
550
420
677
376
702
531
892
906
498
610
355
783
415
474
936
254
878
72
609
456
241
4
955
855
913
959
809
171
683
309
712
382
249
127
771
821
731
905
647
432
40
374
643
816
741
466
998
117
419
55
972
29
605
502
277
702
26
596
918
969
447
682
809
576
324
749
361
383
530
65
752
728
610
55
476
633
225
900
208
923
805
557
739
356
385
283
600
697
788
833
325
665
233
316
307
734
504
690
355
349
474
822
825
610
759
226
783
803
634
965
694
132
92
425
348
439
592
395
770
840
211
261
367
863
151
161
483
674
959
742
32
395
888
211
707
842
137
586
547
237
98
579
361
284
849
725
550
828
764
573
195
158
393
226
545
776
875
378
707
106
409
595
664
886
691
609
696
347
804
368
758
452
801
171
304
80
93
242
253
500
77
542
442
985
763
4
206
126
114
926
566
139
23
184
489
175
157
289
1
212
680
522
491
541
239
177
992
592
235
285
915
128
271
399
394
660
139
564
773
340
538
48
151
473
954
816
913
580
743
456
794
104
167
353
403
908
966
101
969
646
117
176
592
384
329
903
885
448
567
104
329
589
770
16
926
369
933
820
799
471
186
767
51
612
168
86
700
894
124
695
919
625
919
139
859
163
335
739
33
882
495
562
597
575
712
724
825
379
226
682
931
701
964
429
462
275
794
740
777
398
633
803
268
181
681
631
490
772
616
81
341
438
942
50
75
1
652
113
157
128
597
988
66
192
955
455
770
255
936
440
481
183
636
351
914
292
594
920
272
564
460
763
525
434
787
235
407
331
314
90
413
153
121
948
215
505
311
999
190
219
243
330
765
104
644
543
262
134
687
398
686
101
311
29
416
245
811
608
965
604
228
533
511
335
937
214
131
189
183
868
399
606
595
416
591
892
861
203
822
446
830
787
711
107
141
223
685
713
286
441
752
230
914
549
314
714
551
518
511
974
977
672
196
660
219
415
664
284
922
154
278
997
744
754
118
280
95
348
932
940
877
399
298
434
74
481
623
309
529
308
340
41
893
941
753
228
841
970
487
879
905
304
724
994
821
369
401
628
639
644
625
810
84
118
144
497
446
509
983
613
130
315
606
460
268
714
955
795
931
441
803
895
342
968
462
467
471
340
76
813
93
318
594
281
548
862
699
340
408
648
548
325
909
517
799
7
690
213
295
877
890
839
633
762
781
13
620
189
624
756
106
715
584
686
259
319
444
651
408
696
687
909
720
380
747
992
897
42
35
187
683
163
197
229
111
253
100
374
325
484
913
760
152
897
710
367
942
881
872
637
209
376
698
219
236
926
290
674
247
213
591
632
111
462
724
744
52
965
706
293
303
783
998
439
612
41
588
958
138
296
873
161
896
478
654
205
894
351
98
807
235
670
838
856
697
145
199
697
814
512
976
486
37
105
218
69
313
458
693
63
922
778
775
250
360
870
951
453
553
285
349
237
268
191
36
89
339
110
813
451
154
811
9
6
636
25
223
255
690
44
767
749
63
482
29
710
122
780
593
922
221
445
686
620
743
581
577
967
2
606
463
315
85
13
746
112
405
68
84
976
9
810
397
471
338
767
717
582
709
42
37
133
728
949
332
226
245
910
371
331
921
839
651
751
225
183
65
582
917
844
168
705
251
152
337
908
957
581
84
462
916
639
26
423
473
851
527
518
63
364
844
696
479
882
198
641
103
798
886
50
615
116
455
886
131
664
624
207
231
69
143
401
992
898
731
698
444
638
427
927
348
541
794
569
337
11
445
545
275
743
365
613
657
502
700
805
886
85
948
707
666
653
632
608
218
995
359
273
790
703
351
845
946
612
632
72
775
638
627
720
379
152
997
709
570
302
521
466
435
621
397
583
146
255
547
309
370
229
183
326
449
562
936
62
556
350
840
498
705
615
873
645
452
621
589
655
410
557
553
388
561
331
410
900
116
84
338
861
727
235
920
600
330
86
290
17
331
389
477
799
447
826
889
582
695
986
256
314
592
531
762
604
157
734
863
145
436
548
193
506
54
834
979
602
497
393
108
671
394
848
282
935
272
574
620
374
399
959
677
871
749
618
114
76
319
655
777
732
59
124
74
794
624
459
922
99
726
18
778
248
108
61
479
895
539
219
440
153
572
302
542
938
988
645
75
72
85
409
220
593
977
303
434
643
738
75
197
161
712
691
29
411
81
764
223
9
59
92
710
991
569
984
952
893
274
768
836
326
198
789
589
146
820
323
56
86
556
140
710
575
21
404
880
432
0
850
596
573
663
668
968
263
121
671
741
800
756
154
186
811
186
693
450
570
160
143
622
692
571
441
417
537
674
349
95
510
739
674
963
897
292
579
17
339
621
600
578
721
723
201
779
62
878
294
304
136
301
319
414
75
408
316
543
667
729
109
350
949
88
13
178
274
16
717
862
636
181
929
427
230
187
736
191
631
837
11
685
966
466
121
531
7
393
392
2
600
682
32
603
227
197
893
125
238
926
919
249
227
986
824
350
450
34
421
179
616
525
834
553
912
333
121
971
286
418
155
407
620
170
678
303
473
794
265
450
262
168
141
515
323
970
520
253
840
602
818
206
347
781
165
185
332
663
69
496
867
867
534
489
480
235
814
93
435
700
228
500
238
872
591
769
973
182
903
654
230
337
680
34
495
850
512
338
380
7
794
100
676
252
336
408
161
883
760
483
600
126
31
1
365
836
129
223
777
443
767
186
377
286
660
546
747
672
480
497
15
309
407
726
202
430
884
89
817
472
772
919
507
305
62
868
847
219
75
380
552
508
577
164
278
729
338
859
445
148
731
384
967
66
512
174
610
990
269
380
960
604
341
478
760
806
895
475
262
413
93
724
36
89
445
492
263
795
479
929
954
316
4
741
607
542
921
794
322
632
751
523
433
156
609
483
611
537
494
673
758
657
752
709
613
325
900
825
701
181
590
183
354
303
217
978
334
489
587
32
695
150
511
924
175
120
266
19
32
818
447
389
849
131
112
409
44
12
195
896
133
669
677
311
866
85
601
64
284
546
51
676
934
555
443
152
12
704
439
817
457
268
178
809
615
506
927
456
711
854
449
349
983
417
55
560
984
707
76
850
491
130
553
747
885
931
165
684
583
131
800
174
921
685
957
3
275
28
411
518
866
751
612
952
788
123
48
77
331
365
694
45
202
119
832
235
560
776
53
117
709
588
660
58
846
117
986
947
973
814
897
402
364
859
665
842
633
241
359
147
766
62
652
117
601
512
621
103
976
27
76
550
545
507
159
288
839
344
937
368
316
343
872
516
45
332
481
891
176
367
787
325
165
168
969
18
720
856
964
840
949
457
701
446
46
88
545
961
437
794
685
88
497
929
192
471
433
51
525
149
709
842
127
676
272
516
413
704
638
610
918
604
996
88
82
815
102
843
896
1
610
387
499
170
607
485
615
425
373
250
17
887
456
540
913
130
731
120
34
54
690
846
935
854
821
914
846
559
182
309
929
954
210
189
33
363
561
719
704
110
386
890
10
216
829
635
554
126
762
49
632
322
480
96
265
374
926
639
698
206
284
709
443
574
631
464
693
818
404
829
831
527
298
782
486
278
415
111
546
855
119
269
599
929
585
439
750
797
946
349
148
162
831
317
550
790
574
798
414
711
526
246
835
386
417
172
512
166
310
948
684
118
972
419
629
874
768
163
77
371
429
342
631
807
999
414
284
989
977
168
274
814
142
108
65
266
132
348
286
409
75
19
642
639
665
199
717
817
750
724
976
714
745
890
991
288
456
840
609
92
728
351
313
445
619
445
979
254
440
776
52
287
146
556
255
673
971
402
150
211
326
93
610
54
468
318
115
256
998
517
274
500
87
658
732
804
986
632
215
385
970
233
435
254
648
706
68
723
825
736
123
706
530
702
277
542
283
206
388
524
885
940
818
739
243
10
79
109
410
138
860
412
493
836
87
582
226
228
763
675
42
170
431
641
743
320
698
483
874
986
36
796
406
955
184
991
440
38
416
7
296
386
4
341
738
990
193
686
320
682
724
95
630
725
364
758
686
939
574
960
304
591
492
314
215
288
999
9
646
435
345
570
473
496
409
1
717
38
202
621
482
156
999
410
60
33
651
172
585
825
76
819
359
807
982
449
894
952
49
664
120
304
203
826
731
84
251
816
417
549
257
448
53
163
854
761
554
785
748
299
631
463
525
594
566
458
911
27
594
7
456
599
662
905
451
68
312
100
752
172
423
541
464
296
623
230
592
41
164
232
787
402
712
917
102
94
294
672
721
805
928
516
963
984
284
465
520
147
565
44
797
943
157
588
434
67
215
862
400
252
381
265
833
61
233
838
980
223
66
704
298
689
452
684
135
753
855
152
776
811
939
133
623
972
50
672
834
512
666
888
284
105
764
124
629
740
781
135
236
397
503
617
109
846
879
330
700
528
236
542
595
756
860
647
537
370
857
889
311
918
293
278
661
756
315
283
335
147
847
215
553
213
920
898
454
343
919
884
529
526
910
808
132
491
922
92
309
455
189
986
331
457
273
768
525
109
528
749
428
239
819
333
384
461
457
396
669
376
692
237
210
347
12
467
337
782
862
193
434
304
286
782
16
503
222
975
950
63
32
674
400
189
510
557
277
900
339
832
387
997
133
187
755
574
872
566
731
797
89
96
636
993
437
346
333
784
637
623
461
669
819
88
79
939
552
992
355
560
236
455
967
980
620
947
189
423
76
389
992
129
833
827
251
206
773
99
171
179
513
983
35
300
730
977
875
234
676
301
682
586
271
759
916
736
22
120
953
795
98
434
154
946
383
567
868
315
656
657
578
23
322
137
66
244
392
558
501
961
685
592
209
903
869
599
174
315
428
552
276
675
798
298
605
665
658
591
105
599
878
417
785
396
392
747
807
163
294
255
264
997
89
620
902
851
327
276
30
571
294
330
239
476
313
739
171
227
844
462
716
951
284
730
484
186
272
818
393
691
714
518
958
921
755
589
241
5
353
697
416
686
677
567
159
311
967
116
479
404
789
262
946
602
924
457
259
214
653
16
857
512
873
884
798
670
816
605
266
207
664
35
214
159
340
43
529
154
821
426
197
754
841
45
979
664
572
244
604
560
506
555
456
382
431
955
680
107
589
92
738
835
694
804
666
40
665
587
906
84
791
615
566
587
122
26
635
13
167
477
695
795
309
70
670
970
929
136
699
130
892
818
642
211
267
742
121
942
286
901
66
329
909
535
602
534
682
968
212
771
887
434
78
785
44
961
32
55
192
526
661
221
252
419
102
562
294
49
955
612
962
975
802
300
788
646
744
613
118
724
611
858
866
465
448
698
83
67
348
454
84
18
602
880
287
905
621
36
68
722
565
477
413
107
74
610
940
512
735
244
310
169
944
211
907
845
426
25
910
433
903
165
221
595
608
789
253
497
76
236
238
768
170
485
132
544
718
236
682
644
207
844
118
211
919
755
473
925
821
325
347
844
795
649
746
757
631
935
204
931
702
824
43
354
633
960
8
821
664
142
25
584
779
154
404
165
304
225
810
796
466
435
265
983
547
482
339
276
503
825
965
341
106
126
973
260
253
661
461
982
345
565
713
630
92
628
309
629
903
230
915
166
140
968
930
388
324
455
529
140
381
633
79
552
535
864
753
434
964
618
298
790
386
708
824
10
388
153
208
890
625
602
592
601
71
811
571
940
167
882
175
421
744
549
556
898
221
282
211
452
236
864
487
396
597
495
283
364
628
114
579
167
702
979
449
354
968
361
739
123
452
897
737
104
697
434
97
218
739
312
852
863
929
1
129
756
429
283
273
933
417
877
482
939
596
777
394
23
349
252
216
254
742
85
50
843
413
752
348
683
16
190
780
776
514
624
752
653
267
866
238
158
906
930
6
368
136
336
704
318
265
62
787
48
480
9
43
639
952
628
104
159
423
897
219
746
505
775
601
842
648
670
66
591
871
268
959
768
516
782
487
523
111
208
487
706
747
244
582
187
35
738
699
984
702
921
784
781
373
821
478
22
676
768
624
392
347
690
813
62
797
996
740
887
337
562
22
895
718
555
655
188
403
500
866
579
491
349
951
509
463
924
521
884
62
627
76
942
171
541
260
362
309
390
541
614
757
894
698
136
235
439
272
784
149
39
631
788
742
94
255
408
853
985
613
314
30
592
255
694
508
875
949
806
792
318
524
948
866
870
790
192
541
4
146
541
969
439
699
585
705
986
768
379
281
591
517
384
651
233
316
887
298
307
660
720
394
928
902
85
246
228
422
151
46
429
603
703
29
849
540
746
102
119
893
681
565
583
875
700
732
900
428
414
259
136
543
651
478
241
154
704
611
131
242
927
547
13
116
631
715
53
546
184
884
579
504
34
307
283
902
262
492
754
658
459
144
117
657
487
18
352
611
928
764
121
399
752
779
14
539
50
934
143
121
877
145
452
81
885
912
633
146
26
260
445
885
623
483
85
477
428
595
156
319
541
809
75
93
163
707
201
551
464
266
326
829
895
308
41
221
23
70
900
615
311
166
772
366
881
998
995
570
976
188
297
600
706
975
873
658
119
578
921
194
708
710
925
273
642
99
650
563
957
534
352
901
655
988
135
483
5
43
698
286
804
672
608
297
565
726
104
755
740
32
358
877
432
899
210
672
903
299
692
703
567
709
175
845
212
962
63
229
989
932
109
535
350
30
788
495
599
151
820
770
190
988
124
967
114
73
584
732
346
106
655
323
335
152
970
484
942
153
12
891
310
762
367
328
353
703
469
338
322
295
97
108
930
733
308
164
9
331
502
442
750
253
320
736
403
208
608
511
31
436
19
670
135
37
319
275
589
0
276
648
307
111
533
38
119
784
477
396
612
981
458
250
631
913
767
935
744
444
618
909
63
259
177
900
70
77
775
87
756
596
859
201
113
132
805
13
453
45
862
566
654
449
13
334
376
620
408
810
179
890
721
2
427
168
268
294
163
29
175
593
560
506
766
66
853
248
85
459
538
898
711
376
865
556
561
115
71
764
309
205
571
295
957
474
497
957
831
201
859
179
963
513
660
974
303
322
569
559
674
874
50
39
834
461
338
155
391
697
558
996
957
758
817
497
534
696
415
535
171
270
128
788
387
976
296
614
461
722
446
52
639
57
955
583
964
730
140
38
735
961
464
411
403
164
765
855
450
675
678
244
274
605
748
17
296
627
915
71
632
23
48
206
437
764
446
885
108
197
638
65
253
182
115
221
691
225
204
256
849
565
936
670
326
70
511
636
84
865
565
439
428
184
696
120
607
134
438
922
84
844
705
283
11
994
830
497
970
482
255
606
142
915
38
730
146
935
946
270
979
64
311
661
649
688
734
669
527
77
929
123
483
672
337
277
474
418
480
189
334
858
28
872
896
597
531
881
544
674
768
590
193
494
139
424
603
538
1
947
981
476
608
838
494
921
737
17
935
510
404
559
783
214
752
621
459
619
512
840
277
158
861
990
681
681
893
837
908
108
337
586
232
731
402
709
627
651
357
994
173
818
183
33
503
825
749
935
715
24
409
83
928
54
419
2
455
708
324
175
37
920
203
793
572
308
552
251
505
295
338
733
385
185
798
140
937
186
884
698
831
950
662
654
964
933
740
593
339
860
92
464
753
420
589
898
961
93
283
328
600
559
322
40
896
998
162
505
234
210
337
430
689
135
306
874
522
692
615
135
120
118
715
900
570
580
346
462
241
665
378
520
542
727
319
922
745
41
715
413
92
622
82
499
394
867
986
791
468
629
904
726
631
366
26
96
593
817
210
550
919
247
677
201
6
787
281
632
842
42
950
39
589
202
817
566
347
225
663
20
663
665
690
939
234
244
917
493
344
772
206
664
762
726
424
622
677
131
207
103
650
187
405
219
621
157
848
951
154
530
781
638
865
912
55
935
185
436
128
440
676
853
673
504
204
249
386
530
443
620
349
53
653
32
312
804
144
494
602
84
958
212
531
550
663
637
965
649
46
361
262
624
302
566
951
908
938
305
244
632
43
929
639
680
108
6
826
785
439
252
161
748
459
344
277
395
11
948
692
393
563
987
665
462
396
829
428
483
227
249
428
453
518
675
82
63
574
943
92
564
905
962
245
843
474
582
550
258
493
809
255
332
576
157
478
732
317
9
218
775
538
853
463
13
587
767
36
897
594
977
294
3
224
784
566
202
9
768
88
309
459
451
269
443
195
913
337
87
116
718
228
854
774
171
914
156
355
966
889
952
69
222
391
792
940
227
889
127
39
133
900
439
653
819
615
406
108
308
321
383
373
925
49
55
77
634
849
84
938
599
875
363
151
143
528
795
403
819
239
929
118
979
914
656
25
771
602
872
461
265
357
639
410
311
595
573
944
486
171
563
327
918
428
482
353
953
250
480
586
295
883
399
431
116
396
611
748
898
901
358
48
381
12
725
991
356
148
807
145
3
530
477
484
999
374
1
521
282
535
878
495
435
432
139
933
303
152
300
629
745
763
412
304
108
398
466
521
452
930
229
175
496
529
236
359
169
274
358
368
146
1
224
415
788
859
664
862
326
53
58
920
464
593
984
841
737
190
34
747
752
18
603
490
706
966
58
477
716
905
801
410
460
83
85
395
675
232
892
271
526
689
573
704
887
695
712
779
187
418
85
274
494
769
839
595
214
803
697
675
855
134
835
997
254
890
141
185
119
963
939
792
170
737
696
226
543
898
124
980
860
793
617
622
624
638
152
38
2
900
464
773
224
302
392
219
984
398
430
399
777
991
806
733
925
449
634
843
78
685
865
675
68
41
69
609
916
512
675
944
465
244
246
24
851
593
222
353
622
175
267
437
210
672
495
872
522
976
615
97
345
474
711
556
997
983
985
717
312
270
534
329
240
482
190
18
527
246
619
389
840
894
785
915
620
404
376
840
897
675
195
459
367
561
584
324
155
154
542
457
865
828
778
988
613
717
908
370
274
493
786
443
498
287
685
531
852
474
343
323
179
785
946
779
13
48
461
54
937
172
398
832
865
984
374
874
761
995
23
494
743
197
488
152
432
839
507
602
71
297
400
976
513
595
514
935
716
643
358
281
365
232
532
876
746
668
248
978
334
130
234
852
390
990
16
705
189
752
134
552
698
860
51
815
962
529
773
257
69
692
767
351
269
881
881
685
776
753
689
782
555
533
627
330
553
581
223
408
2
455
292
477
229
996
631
330
724
643
856
323
221
939
582
53
77
81
469
945
861
795
154
180
100
320
93
683
432
763
165
471
104
433
555
282
212
434
34
530
727
441
456
956
860
247
630
50
354
668
328
704
773
621
121
903
946
536
45
314
998
816
301
222
779
483
948
763
834
949
215
793
874
757
510
670
627
362
384
156
358
938
797
494
704
600
253
884
134
293
621
683
480
660
407
830
788
760
343
398
504
593
808
654
339
129
378
533
428
221
751
338
851
397
427
11
994
334
923
816
458
333
461
611
219
582
625
179
610
448
143
272
411
492
821
509
64
301
763
945
94
762
496
257
827
237
703
610
261
328
926
20
794
673
783
884
202
86
898
188
937
232
315
697
14
94
378
325
723
263
933
207
387
533
899
291
205
122
112
289
453
524
679
98
163
990
860
880
462
753
528
956
464
928
977
330
460
458
657
275
325
438
767
557
664
304
267
638
460
600
166
438
957
20
702
804
843
330
635
851
174
570
107
391
580
378
319
62
108
276
845
157
656
479
691
217
332
18
495
703
241
912
148
66
560
925
429
708
105
440
569
449
477
300
476
547
823
257
808
491
411
436
797
585
870
379
109
930
638
577
246
154
955
594
911
531
701
731
830
432
900
898
871
55
306
835
709
818
846
655
723
53
339
189
388
55
712
841
90
669
111
877
274
387
377
463
462
697
469
867
628
537
73
636
692
311
638
424
727
865
647
983
765
882
390
943
708
92
512
614
582
902
782
186
882
361
888
657
23
500
885
622
288
193
930
179
927
757
237
146
969
4
341
114
751
71
624
527
818
874
365
21
74
473
824
195
342
847
964
29
907
142
854
521
696
518
242
247
829
473
842
178
104
389
788
79
865
166
377
577
619
565
690
166
910
378
142
418
798
218
350
503
182
516
418
784
132
695
190
456
239
762
607
121
204
52
565
479
435
71
913
409
396
992
334
472
801
849
203
309
419
29
431
875
476
660
151
695
322
632
49
305
743
582
502
57
459
174
89
221
165
243
896
74
690
457
820
153
244
848
809
0
878
782
549
534
744
940
657
833
103
430
844
6
240
57
140
565
733
56
66
634
664
406
107
206
946
80
488
848
6
187
489
6
317
996
206
787
56
730
785
132
836
244
6
405
760
297
309
543
209
645
247
165
521
137
314
580
910
521
692
484
245
123
170
100
700
584
711
763
730
136
356
526
765
949
171
490
445
905
115
939
524
344
8
663
306
226
978
909
679
852
469
969
285
381
108
892
611
180
53
373
189
803
622
158
996
356
656
4
36
980
11
745
225
147
717
605
856
466
38
972
674
843
829
914
919
310
701
702
449
172
115
952
252
807
535
962
737
560
446
241
54
717
139
568
971
326
172
664
659
68
180
704
836
371
880
670
205
663
220
801
643
398
702
346
666
53
785
633
70
188
530
151
162
368
271
544
173
508
398
188
955
660
792
872
379
358
293
723
225
696
776
320
593
18
481
789
843
689
460
648
88
354
527
228
29
759
547
13
501
913
124
724
24
476
320
350
418
157
728
122
631
276
476
252
328
692
975
592
932
75
26
908
722
853
285
999
396
949
86
0
254
665
719
598
149
143
946
980
164
925
689
678
479
148
72
856
79
645
3
394
290
133
628
745
922
569
567
381
455
579
878
301
620
472
149
242
294
38
698
612
668
142
159
714
792
848
645
831
41
476
880
608
742
984
570
20
268
285
246
692
79
878
533
427
705
322
952
810
882
811
813
216
109
370
700
756
540
61
355
224
904
95
251
944
331
82
609
644
484
619
745
8
604
475
700
408
51
243
169
493
743
344
289
624
19
381
451
161
243
766
187
239
217
314
413
868
516
779
88
284
226
924
191
40
527
540
849
64
159
69
150
833
430
302
145
413
812
336
219
605
709
695
958
65
711
218
372
460
91
169
886
990
540
7
916
168
996
424
364
566
728
720
584
144
846
278
461
574
940
43
800
84
601
669
199
695
81
266
162
820
992
409
884
213
287
670
785
688
985
247
862
201
114
296
751
386
179
787
148
639
87
47
366
562
291
474
804
198
624
39
126
951
964
991
357
389
30
768
514
326
26
517
395
131
175
182
83
530
726
540
626
619
701
356
969
680
482
616
191
916
478
439
478
810
719
372
173
233
75
72
442
90
369
937
592
159
497
258
155
336
472
496
813
919
964
503
738
120
57
479
530
617
172
617
802
822
378
273
691
601
790
1
390
969
574
207
834
619
260
817
410
194
57
603
469
826
592
197
293
618
41
115
642
693
492
45
403
401
642
64
285
810
942
272
905
697
828
554
85
418
534
155
703
789
571
338
245
89
149
307
495
945
608
726
567
819
600
500
598
996
363
414
880
557
807
510
52
288
992
698
361
154
702
301
733
182
405
346
545
490
188
736
283
156
894
766
246
769
646
127
684
598
168
492
926
216
142
504
462
483
108
600
664
536
778
374
316
551
566
55
370
338
649
906
518
492
49
667
405
204
664
301
337
346
842
405
269
706
176
438
206
256
143
489
797
787
676
267
123
999
524
447
590
434
43
811
566
692
374
748
833
192
365
565
815
890
239
298
761
798
0
610
844
317
373
617
940
583
788
186
595
552
394
370
276
361
770
429
921
405
913
142
636
684
557
636
263
56
976
784
388
274
551
626
221
271
139
617
488
328
677
673
825
313
799
638
936
590
586
59
838
643
427
89
936
409
915
855
611
577
480
282
336
102
384
58
561
15
900
952
640
722
971
459
168
669
474
607
95
384
736
45
52
896
931
53
54
618
953
400
621
683
587
937
149
667
988
118
909
583
138
498
113
580
799
291
445
315
513
333
971
22
48
599
769
493
940
367
752
299
3
750
46
475
309
7
363
15
514
152
899
803
613
7
64
878
639
838
340
369
613
617
130
58
605
450
839
701
317
765
648
500
870
116
750
849
771
292
41
511
399
611
860
837
142
307
23
625
416
444
594
461
275
729
325
244
587
840
695
268
15
581
399
147
715
444
302
155
78
98
224
883
419
70
208
495
415
904
538
966
701
441
126
97
721
536
987
655
897
134
822
295
85
391
395
855
593
334
935
575
794
443
123
79
720
411
507
825
316
600
83
884
311
125
894
162
659
948
820
317
547
712
101
781
516
154
182
310
220
307
411
18
295
33
304
5
38
611
154
54
931
609
50
944
388
578
89
213
605
821
372
685
142
602
94
10
659
930
10
421
500
282
942
194
156
950
355
716
488
172
536
887
121
563
671
411
947
490
723
165
767
732
787
904
703
512
606
343
182
535
11
39
695
586
448
485
977
542
261
662
682
727
936
176
635
400
288
218
214
271
871
282
524
135
470
206
722
25
926
810
429
651
590
703
896
857
107
874
22
757
655
293
327
902
279
875
465
258
258
316
201
230
32
935
594
382
177
167
486
14
859
128
562
686
164
888
950
652
452
390
543
717
388
414
460
999
213
909
871
582
514
243
218
750
988
269
998
732
221
658
569
87
85
501
303
59
232
235
147
861
74
679
59
137
863
151
904
194
24
612
587
347
747
667
348
730
913
567
443
387
237
830
226
648
983
603
292
58
409
157
285
112
720
382
998
817
471
58
569
94
465
885
5
113
502
838
802
22
30
537
833
455
897
109
287
674
705
551
142
345
271
206
259
149
991
55
214
586
286
944
188
464
764
248
622
882
229
668
812
164
843
749
583
781
695
373
837
873
547
905
706
749
35
871
939
352
780
595
697
186
560
50
181
824
345
825
59
84
948
203
353
691
484
10
641
698
389
213
271
464
71
652
200
605
725
224
828
23
153
243
906
280
457
133
30
580
698
837
318
737
279
752
447
735
28
795
669
7
491
264
654
562
61
437
11
270
740
331
383
258
53
171
911
384
644
838
553
94
339
308
837
45
917
290
880
688
76
978
689
174
17
398
664
100
407
889
818
721
173
516
570
748
973
835
473
450
877
992
377
177
988
853
583
221
180
501
800
232
25
22
148
368
276
469
593
369
237
722
651
736
848
735
620
214
764
274
296
493
359
619
516
812
187
777
475
8
833
309
903
763
11
797
257
514
238
705
852
516
774
658
467
630
157
302
463
156
13
966
206
630
532
538
982
744
764
479
741
865
375
749
300
746
815
927
346
163
221
990
99
583
750
634
145
818
783
255
902
434
836
809
33
173
565
677
735
837
27
483
33
359
85
29
263
365
538
189
585
740
913
838
295
217
539
835
770
428
831
865
716
752
355
196
19
210
648
73
433
996
538
114
153
773
544
254
181
601
36
863
554
203
194
333
820
247
586
885
764
773
358
643
148
600
174
311
282
963
921
720
237
431
791
565
919
451
204
360
649
445
346
674
241
838
519
160
97
893
615
261
550
648
848
182
457
357
273
941
655
61
343
576
911
386
446
785
137
321
475
458
25
923
338
899
699
891
243
939
417
822
942
737
835
149
812
776
532
776
483
64
214
95
247
281
34
903
803
997
392
338
475
804
919
827
291
655
547
191
637
546
945
31
76
625
372
440
520
621
609
682
100
774
677
398
963
903
732
785
820
728
143
592
927
322
152
448
614
203
707
470
733
572
583
193
425
587
800
198
467
447
944
244
545
771
565
476
98
392
88
46
925
618
679
826
287
517
903
106
153
509
926
174
569
532
480
169
204
176
262
550
43
802
706
253
337
507
505
939
677
961
867
665
164
512
635
147
341
91
388
936
165
619
273
527
107
108
408
896
284
297
480
687
396
658
152
544
402
662
977
926
863
180
696
66
184
854
130
39
896
418
839
756
32
213
600
518
558
393
432
74
89
244
820
463
959
782
494
346
933
719
705
835
267
898
221
416
715
971
61
276
183
18
652
886
338
406
262
943
776
268
315
266
830
358
300
339
421
1
446
804
614
335
897
334
394
625
218
946
240
150
999
628
110
822
593
592
661
955
454
589
226
131
360
191
521
1
461
856
755
883
879
968
888
355
625
376
92
184
809
613
276
150
777
771
509
575
896
959
416
218
331
111
945
770
630
953
145
274
654
214
916
280
373
934
168
303
807
394
90
311
576
576
95
340
274
689
308
915
941
522
962
228
392
10
635
47
839
813
592
191
590
404
643
610
554
923
291
822
485
611
80
569
473
539
524
239
544
167
149
565
870
535
514
421
495
720
575
654
445
29
689
185
5
649
20
933
953
448
264
751
322
352
408
165
341
685
20
245
128
641
898
643
978
112
838
622
56
526
716
595
97
836
528
317
983
609
308
5
710
118
291
288
185
295
160
636
796
127
929
85
965
752
518
70
873
98
406
397
923
6
588
292
836
910
857
559
644
167
360
62
120
558
388
743
259
152
533
319
163
42
938
82
567
422
642
459
753
878
438
433
85
70
478
788
158
792
741
502
802
818
662
193
624
547
255
974
883
717
293
715
480
378
398
270
28
173
804
142
837
455
519
367
385
679
227
779
898
46
988
189
972
300
167
343
424
419
595
612
37
274
194
32
907
878
553
557
15
658
983
167
227
684
406
926
996
996
23
359
318
405
8
191
938
843
167
862
960
784
319
681
196
18
335
810
732
666
413
349
475
66
581
189
855
344
985
923
831
817
827
375
338
856
485
773
632
885
740
572
763
832
124
754
232
866
227
361
3
199
799
722
579
705
108
302
605
594
184
501
85
919
15
941
59
941
51
39
55
923
395
164
374
156
36
719
429
439
540
342
900
993
798
395
38
199
28
695
584
213
233
92
21
970
522
916
515
562
206
184
745
853
215
306
554
5
964
810
151
377
180
785
267
230
626
82
605
717
773
438
233
348
24
277
341
172
101
81
812
963
896
121
309
444
849
113
939
320
797
659
518
18
499
363
864
163
997
431
426
622
578
902
987
85
959
519
218
516
807
489
87
65
925
217
386
885
720
539
692
827
676
528
817
671
403
784
28
765
397
497
646
839
222
867
945
918
922
302
484
809
623
560
264
153
489
909
763
165
410
923
655
90
134
330
287
585
24
386
66
841
90
720
900
540
971
495
33
766
76
138
842
596
323
321
596
173
912
944
896
790
554
413
851
376
291
11
819
148
975
66
500
12
15
107
404
175
27
669
806
184
889
627
170
476
595
406
661
950
91
445
66
943
992
264
883
92
178
947
969
132
507
312
549
897
588
501
245
165
500
880
215
446
241
479
323
809
500
89
883
301
579
90
76
96
43
856
669
482
845
687
579
379
582
141
417
269
123
444
239
78
161
827
780
682
105
655
886
246
865
731
921
176
620
703
834
365
258
588
370
14
231
355
717
629
507
355
65
462
596
117
377
332
379
405
21
376
623
53
862
978
915
324
966
65
232
194
685
529
356
692
772
224
650
72
35
279
162
859
70
502
214
296
976
315
230
523
940
335
253
226
373
706
887
437
311
122
251
204
978
872
619
109
365
625
421
726
258
309
944
550
614
851
251
232
606
635
755
320
709
804
121
734
470
149
309
666
690
458
43
329
997
825
344
287
361
820
327
355
985
331
401
323
767
650
604
948
651
912
503
229
167
217
512
497
975
120
226
583
989
485
910
987
178
78
968
610
786
893
714
333
225
12
464
674
968
766
624
22
361
841
804
835
590
282
448
563
809
228
890
194
181
977
760
892
901
119
428
541
192
315
242
547
227
391
226
85
720
388
347
107
736
96
495
181
327
430
635
854
287
464
291
154
839
720
224
850
46
391
75
305
109
101
890
145
637
476
994
544
447
954
623
180
111
741
40
687
629
235
992
336
357
630
866
594
513
502
17
480
146
247
818
629
38
670
194
664
972
384
651
469
152
546
529
735
332
75
90
608
944
364
294
510
835
132
245
35
97
113
714
158
440
119
335
326
8
170
485
742
628
638
367
675
617
737
496
724
101
619
989
907
565
301
602
119
212
731
241
254
347
297
127
857
925
855
482
397
687
760
521
2
846
476
236
170
513
564
958
589
793
719
578
521
4
349
289
117
652
86
664
273
550
234
209
576
327
889
679
570
319
350
566
677
727
524
98
541
893
490
680
264
2
688
652
586
956
797
252
926
744
270
511
924
712
404
592
186
593
933
751
189
443
902
996
942
32
735
895
714
714
963
550
37
126
557
764
155
945
807
887
79
412
631
745
454
610
809
727
8
348
292
23
818
73
303
441
990
664
817
482
296
562
753
471
23
475
466
534
362
592
48
265
923
147
801
851
634
95
979
536
605
262
40
534
19
40
722
547
865
384
470
973
72
350
416
619
779
870
858
762
841
36
921
342
648
714
330
25
992
839
520
719
661
700
466
861
962
890
107
899
608
417
191
768
312
44
255
82
508
136
280
726
932
86
221
558
620
491
479
825
441
325
613
24
63
443
54
402
471
985
371
862
84
856
850
890
441
429
567
961
934
991
773
990
293
610
875
733
679
691
325
107
36
802
861
42
290
333
39
943
169
679
819
163
623
577
947
484
634
63
877
654
885
109
34
221
351
824
27
981
806
44
30
545
518
905
910
226
897
493
844
931
441
831
560
733
575
641
134
659
534
166
117
594
234
489
656
829
772
97
578
589
268
195
544
611
794
570
178
727
209
117
753
371
497
174
603
301
921
502
209
16
728
86
106
749
46
802
917
265
693
34
566
637
396
6
258
92
469
529
946
821
222
235
149
131
148
795
304
518
394
577
793
851
206
614
619
454
632
525
855
69
937
787
953
626
13
611
811
401
318
904
964
764
789
722
152
721
184
352
642
239
412
120
331
111
53
330
792
853
286
221
615
43
674
268
542
39
133
841
928
153
381
767
121
50
378
218
235
224
983
956
640
536
355
674
85
481
818
84
557
686
389
315
972
13
891
126
498
144
59
624
55
221
226
508
412
342
368
601
810
860
225
800
428
292
136
905
559
261
334
19
299
290
232
631
524
934
895
362
473
843
291
983
541
51
487
221
727
827
160
703
901
871
41
661
799
520
74
244
649
780
724
772
632
477
714
367
750
65
570
970
843
259
26
18
939
791
686
670
68
178
297
244
76
66
273
172
81
644
84
986
424
256
300
715
511
921
580
253
985
666
361
981
26
345
279
225
156
499
622
531
359
339
913
467
169
383
914
204
457
443
398
136
934
93
592
448
646
941
643
374
437
300
847
590
97
893
775
112
48
580
432
182
125
754
703
42
61
669
519
990
876
440
849
620
267
803
199
992
601
313
993
132
920
127
540
999
353
469
872
757
984
435
507
945
701
782
921
837
53
921
975
135
789
490
7
274
128
854
734
222
779
133
582
360
924
979
471
172
25
536
697
879
240
251
993
412
64
12
161
226
229
317
104
827
45
375
906
908
418
974
620
765
840
175
911
407
190
837
629
958
411
423
383
86
65
991
101
458
405
425
543
158
439
224
218
405
364
662
473
358
714
665
657
950
684
671
4
840
370
984
195
945
641
340
394
248
241
186
980
236
749
376
608
321
516
536
851
363
134
804
793
227
851
958
329
52
181
603
658
541
676
668
473
368
627
70
524
789
592
587
627
511
117
973
559
419
867
988
967
989
192
108
165
327
74
296
16
434
209
308
897
215
829
681
640
64
503
804
138
179
756
348
896
590
79
530
618
490
708
586
325
91
554
912
91
337
800
435
318
294
913
415
165
71
442
326
342
708
893
868
625
612
875
163
58
342
137
795
926
213
564
23
651
745
522
511
549
991
599
138
342
731
256
198
859
480
982
294
763
705
250
578
846
223
854
532
302
908
276
254
875
334
501
218
484
332
443
244
659
113
973
125
170
851
303
644
248
296
370
621
623
504
981
483
744
519
141
381
156
857
28
338
514
382
319
627
353
150
986
232
529
312
93
998
235
607
42
102
157
444
871
550
23
510
427
278
509
973
973
397
634
501
256
995
880
606
530
554
797
952
490
517
328
457
514
990
117
345
195
124
357
28
187
229
60
754
950
206
355
988
415
706
989
151
647
757
52
732
390
309
499
758
479
610
883
855
819
166
511
614
947
988
686
806
666
713
581
854
710
753
522
244
227
913
770
985
872
697
165
982
139
489
608
417
453
340
518
376
960
919
260
184
343
720
640
550
171
525
633
504
881
349
420
386
442
710
938
430
717
722
416
897
192
956
822
550
657
179
772
258
82
790
137
203
239
674
106
790
444
503
108
377
48
360
664
121
535
20
121
207
500
902
91
56
203
807
382
305
825
184
254
167
110
599
544
33
383
550
997
116
699
698
381
369
131
421
17
653
141
570
370
812
348
630
879
278
712
819
224
41
214
348
102
23
976
242
760
724
798
877
893
369
728
912
14
16
237
865
266
33
685
234
771
860
309
396
160
643
973
985
406
978
800
140
68
933
881
312
462
331
386
656
391
229
515
651
898
820
936
188
580
404
48
674
563
853
24
580
697
769
787
977
240
815
471
165
439
242
602
891
473
408
594
556
745
910
987
710
370
33
518
863
508
969
357
36
678
938
364
648
916
460
61
867
757
123
60
829
90
605
418
662
76
613
785
961
675
540
255
250
104
186
783
961
114
163
604
824
823
647
647
142
871
83
741
14
224
818
989
246
712
70
42
777
430
407
835
28
302
875
983
816
411
80
741
149
647
711
668
201
834
103
97
55
424
980
584
365
647
689
977
72
10
381
530
446
734
873
422
824
665
69
693
980
334
402
204
229
965
880
142
696
910
203
221
288
191
857
531
662
46
287
304
616
247
513
730
728
461
645
455
415
475
34
220
66
655
949
942
729
780
529
209
357
799
859
607
923
677
432
125
304
529
581
741
77
334
366
650
16
370
492
741
937
912
266
904
216
777
863
204
389
309
621
715
355
36
123
179
180
548
704
931
609
870
738
635
354
107
648
566
557
940
721
211
457
622
216
345
921
475
945
615
385
820
974
870
538
477
687
996
943
948
290
804
916
23
735
351
14
363
859
908
560
416
580
1
841
437
297
546
699
971
941
873
540
166
354
484
466
244
880
797
252
790
653
488
336
995
68
281
653
423
356
750
841
78
250
756
755
195
858
731
101
772
2
884
267
543
283
144
286
959
608
661
986
731
268
881
691
799
260
136
289
647
663
815
199
500
410
550
872
220
306
880
89
477
721
0
346
914
384
316
1
178
754
788
403
229
94
224
743
203
408
893
579
784
484
12
609
900
846
629
696
268
879
545
215
620
221
135
79
779
518
8
204
225
754
317
988
724
306
580
263
307
121
125
240
116
821
320
910
571
366
768
716
881
840
25
429
528
678
573
612
830
621
946
741
643
887
580
619
758
626
161
402
406
686
429
246
73
427
146
539
611
197
881
160
698
631
272
727
692
375
778
22
379
81
180
346
6
725
907
91
346
201
109
930
564
254
535
106
740
144
500
180
813
210
523
733
390
447
393
233
128
949
773
267
419
294
474
262
284
176
192
151
5
629
545
596
969
790
305
578
951
643
680
471
993
669
410
225
369
769
492
631
571
651
577
304
549
218
670
362
419
613
822
82
967
447
860
808
571
139
26
93
396
548
196
105
869
231
384
563
477
107
323
940
974
726
921
829
144
955
327
126
68
621
738
419
293
243
383
151
267
952
244
259
616
108
651
238
569
591
419
115
299
734
99
228
889
848
987
571
885
762
843
883
199
977
790
181
511
404
292
256
854
472
733
851
978
361
258
534
122
57
738
44
249
267
700
257
756
685
517
584
650
221
583
689
328
997
851
605
785
711
30
236
681
185
219
818
661
245
523
354
584
859
443
520
211
397
131
729
737
747
539
813
707
320
416
698
692
927
197
87
659
788
655
693
83
988
367
438
123
633
144
302
258
571
542
196
880
761
364
755
509
702
383
32
842
245
182
486
257
780
704
796
964
407
880
366
364
566
844
862
107
854
560
771
196
575
741
951
507
553
703
543
666
30
158
861
342
815
341
87
161
237
435
493
419
568
887
527
15
165
85
516
281
700
60
926
867
11
388
336
937
496
739
26
729
20
161
195
926
12
313
300
142
386
280
776
40
288
108
88
68
620
188
60
245
810
847
403
539
303
384
158
794
599
106
872
78
525
475
744
355
475
424
584
259
658
152
103
161
947
424
645
379
647
243
713
699
966
437
489
888
858
2
387
204
906
865
70
768
262
982
375
566
834
226
566
272
87
34
992
700
776
989
778
762
720
283
492
692
546
325
915
94
434
483
109
604
563
115
876
580
495
42
783
924
579
550
504
925
118
472
408
590
397
156
736
590
651
736
211
563
1
450
409
249
727
194
757
266
348
775
933
503
332
191
569
417
105
357
895
584
10
510
621
712
376
789
616
868
699
792
939
174
414
780
610
780
967
954
306
450
55
156
420
55
132
511
921
992
371
706
639
265
989
97
246
284
763
891
989
87
250
745
624
257
827
246
913
80
681
195
639
344
639
725
793
610
547
41
430
889
639
364
225
843
351
711
834
390
234
6
793
178
786
656
695
267
290
807
540
470
548
128
199
278
213
564
430
721
244
981
473
710
707
242
433
922
955
973
461
250
169
123
617
429
678
498
769
311
417
741
385
458
221
714
417
580
530
43
778
753
164
855
856
927
441
519
885
742
522
91
582
898
810
970
800
933
818
574
517
874
407
793
206
247
694
428
874
181
621
167
769
958
701
338
737
493
5
396
949
311
814
51
650
184
683
832
507
541
553
979
313
938
194
415
309
143
60
81
690
227
399
431
781
6
265
26
788
741
28
994
521
518
714
748
957
425
213
489
806
692
727
670
997
412
418
77
941
759
93
500
799
311
302
992
961
881
726
584
644
781
249
847
889
555
739
513
481
751
102
312
977
847
839
126
398
779
683
898
496
416
704
209
838
625
600
436
452
290
694
375
835
206
395
899
158
506
332
697
161
510
85
17
322
414
292
933
58
162
339
281
321
687
466
940
895
319
658
219
815
656
366
309
969
840
366
577
145
465
290
569
860
314
346
297
146
800
828
878
970
590
895
402
681
738
865
263
410
600
956
440
275
676
14
975
743
818
929
732
975
439
196
474
986
20
888
437
445
667
926
926
780
2
773
456
327
809
192
787
263
563
958
208
762
779
490
706
29
29
577
623
551
859
79
305
343
97
173
943
26
622
400
494
516
983
294
565
335
265
581
952
576
368
393
356
124
687
684
956
854
921
268
415
61
759
257
62
778
799
203
803
74
11
275
260
665
530
35
589
838
328
884
376
930
596
995
705
933
326
135
856
389
895
990
104
186
499
702
855
85
700
352
300
745
151
410
77
622
187
924
311
635
757
552
111
814
734
695
814
801
161
547
2
488
531
856
164
785
42
472
671
209
940
743
275
38
183
11
260
795
576
398
447
554
359
113
191
9
1
411
296
953
554
452
692
614
31
714
973
639
340
782
118
854
832
375
227
509
152
556
594
833
151
948
654
674
987
488
941
195
829
938
262
409
572
822
131
343
849
834
536
327
843
538
375
149
613
927
757
743
276
556
319
953
236
469
280
7
222
636
740
425
777
990
409
862
109
226
757
167
554
244
586
367
777
382
277
789
112
840
758
89
203
313
708
994
168
203
862
864
392
87
798
126
565
191
601
81
22
522
189
815
583
447
828
314
639
466
872
673
659
36
974
330
936
12
58
999
930
146
15
766
980
295
927
98
897
574
241
276
101
461
565
162
196
27
631
810
145
88
387
799
143
823
686
128
533
435
725
162
386
455
0
921
883
950
611
426
87
805
605
749
262
199
673
693
389
458
394
644
891
625
471
538
669
755
90
739
633
541
286
463
71
441
506
535
282
690
967
917
986
657
579
32
605
610
9
112
44
859
3
860
462
936
493
54
644
493
296
24
366
962
235
476
552
901
702
725
845
365
827
173
30
843
442
199
438
410
974
117
358
932
451
902
133
260
810
919
596
943
812
379
373
179
507
220
520
694
305
386
988
411
853
223
679
70
761
663
538
657
945
988
678
829
974
234
355
781
859
826
795
600
773
278
104
213
821
753
406
251
675
79
142
519
693
947
471
307
203
520
559
453
732
517
209
118
469
6
764
988
447
802
708
691
318
751
800
254
959
683
964
130
676
346
72
409
540
349
703
829
749
954
291
919
396
710
288
991
314
280
932
46
824
318
905
994
584
486
112
650
201
574
646
758
277
974
52
291
521
172
435
398
698
84
921
681
895
800
445
125
787
635
388
78
548
733
847
897
874
729
97
698
511
219
749
914
63
383
570
295
373
308
585
405
723
550
119
760
55
276
975
648
699
701
645
903
82
681
988
828
854
995
323
554
906
247
508
781
97
456
962
758
672
970
558
246
346
83
797
147
582
322
363
410
432
379
185
894
227
376
168
830
960
924
643
883
385
174
131
481
924
268
302
44
239
674
56
324
84
588
147
266
343
232
90
98
534
57
267
306
545
467
973
675
101
419
206
477
258
965
55
463
574
539
807
114
839
436
878
220
332
492
686
589
694
701
869
508
889
301
546
582
95
991
422
652
515
151
551
658
201
608
461
446
488
256
128
789
25
798
885
587
266
679
640
224
460
142
889
861
70
174
4
469
387
770
210
398
391
292
487
803
873
102
103
573
246
475
396
923
502
449
739
414
297
409
713
570
120
43
374
17
129
949
750
245
811
275
434
757
223
759
183
738
380
385
235
481
157
870
408
913
642
813
556
594
387
808
190
391
630
73
67
734
301
550
129
592
365
59
379
840
427
381
283
138
796
427
708
704
135
464
523
822
301
220
262
644
134
593
23
36
145
616
167
116
371
866
574
369
901
43
598
427
265
617
825
597
129
68
859
56
382
267
763
324
264
78
976
131
53
320
583
893
343
629
739
150
883
565
68
665
253
688
480
757
220
594
245
693
157
105
896
40
121
500
845
960
833
855
828
724
346
120
416
7
161
968
797
389
837
308
183
894
860
918
630
835
463
895
379
882
211
827
150
457
27
648
934
93
127
634
517
210
328
318
441
615
263
930
638
376
304
918
773
636
516
951
950
284
458
836
857
71
853
775
503
288
88
899
673
497
335
589
566
41
325
973
349
708
243
497
287
804
187
885
652
608
128
297
855
700
195
545
0
511
961
368
582
189
915
402
434
438
583
137
313
780
784
511
640
660
431
979
120
455
746
123
367
771
715
70
380
857
400
586
694
381
333
654
135
116
416
532
398
752
616
932
456
999
561
739
470
494
953
614
45
603
799
332
882
845
371
899
418
507
678
847
871
530
956
345
15
829
901
406
225
612
675
671
216
734
735
670
829
777
305
891
133
92
88
577
768
784
55
636
997
186
117
654
975
54
500
213
746
104
805
805
510
971
260
714
965
106
193
86
893
282
90
75
309
708
512
485
832
693
238
548
609
766
520
811
532
107
870
595
689
994
784
433
458
542
685
479
190
102
630
804
745
28
746
715
507
378
732
179
294
892
592
402
94
184
45
315
863
145
337
815
684
836
168
25
566
942
724
40
488
712
498
65
303
79
183
892
574
517
253
921
746
506
582
61
497
647
621
299
977
136
344
183
490
599
680
542
691
842
239
262
751
360
320
160
976
772
320
613
993
46
324
500
502
200
957
132
447
551
724
847
95
941
242
895
91
673
735
72
543
38
735
108
815
10
80
911
254
174
35
210
801
454
202
405
523
849
913
827
418
562
362
974
624
623
482
809
840
408
581
53
905
841
856
524
702
660
240
807
983
311
991
768
134
39
408
565
645
196
460
839
360
182
487
952
609
765
464
856
191
844
875
837
77
424
501
800
449
266
49
570
996
703
260
264
127
543
64
309
535
311
595
782
747
103
771
12
96
411
200
4
858
933
264
848
742
961
989
825
968
4
145
552
141
647
614
554
726
460
668
577
886
242
128
168
122
550
250
784
619
572
332
887
907
457
481
596
798
824
547
107
402
390
395
21
489
155
437
410
216
368
396
889
396
258
20
605
945
696
288
157
203
816
137
313
536
167
727
505
603
142
264
977
539
859
246
840
587
601
297
87
173
756
751
785
247
619
324
241
160
711
675
697
616
622
666
795
751
734
16
226
452
432
198
828
805
198
82
297
65
33
574
760
36
294
134
192
286
999
449
875
933
341
337
480
48
309
438
215
489
268
655
59
906
232
663
492
36
705
324
92
79
4
848
57
712
27
967
759
771
619
937
581
42
702
536
781
727
92
319
769
788
223
878
434
871
72
624
528
353
515
684
771
3
961
660
367
982
882
893
127
593
940
294
603
921
177
370
116
94
677
2
18
567
62
507
152
141
915
912
222
30
489
232
415
692
825
588
164
929
416
817
780
747
835
14
859
361
885
119
424
296
4
236
539
409
601
121
670
270
74
55
647
416
838
82
420
591
349
841
253
639
120
659
208
973
30
413
972
471
33
685
627
944
543
700
97
35
829
834
598
829
278
780
152
606
373
193
634
822
303
911
895
845
119
701
237
728
347
238
853
514
433
831
655
601
135
351
237
637
518
443
559
518
413
647
26
104
557
521
354
787
450
27
917
800
851
235
451
331
295
735
95
621
400
332
767
910
853
467
733
570
931
688
172
323
119
970
861
544
62
781
231
599
98
271
405
20
359
901
858
149
744
119
778
439
283
995
493
813
108
651
837
879
827
8
928
34
529
808
145
793
733
46
705
957
649
668
311
693
120
577
855
510
296
466
510
523
708
336
163
284
146
891
195
511
848
840
975
366
548
248
899
944
182
46
586
995
425
846
0
981
328
154
19
960
370
66
792
204
914
889
221
354
870
648
728
693
863
466
603
817
341
503
891
938
283
911
512
215
177
844
338
355
947
807
935
859
106
782
540
634
278
816
426
219
304
785
217
591
74
633
982
595
226
341
720
440
207
202
600
941
263
940
242
126
504
712
786
568
487
856
975
566
55
909
424
782
560
471
737
492
365
251
657
228
859
933
758
16
285
273
491
777
950
597
2
748
532
745
597
120
769
457
861
15
208
507
397
830
594
921
259
958
286
204
509
511
647
811
74
433
851
729
243
196
460
967
954
465
122
641
686
767
815
954
729
523
196
317
825
63
138
198
878
866
361
897
989
475
249
835
537
765
678
511
556
928
91
416
201
672
282
461
632
569
587
118
378
770
105
224
696
351
30
316
591
11
842
331
766
92
766
104
770
801
634
179
397
651
293
687
701
806
790
597
837
347
41
466
712
41
398
843
569
72
787
437
13
268
308
460
855
914
963
847
866
495
710
98
945
910
169
810
42
647
499
985
526
1
216
670
786
417
590
113
627
952
26
310
737
656
812
199
348
69
272
435
601
149
649
438
349
698
955
520
785
8
330
810
491
866
882
369
809
859
743
202
908
447
204
654
289
187
593
993
686
840
342
482
625
381
89
213
722
704
558
692
839
759
912
963
843
200
851
1
376
542
438
262
205
230
191
235
325
842
741
253
696
44
642
703
36
625
431
225
520
231
238
363
217
230
809
556
217
511
209
754
821
911
638
414
520
372
990
316
594
98
258
704
26
129
77
242
293
356
658
251
706
983
59
713
919
67
636
311
386
678
413
870
113
546
772
944
827
776
872
610
218
90
912
391
24
878
158
972
18
70
867
519
44
586
25
63
746
981
417
42
73
984
701
140
816
390
641
246
344
123
120
690
124
703
29
177
314
231
499
318
390
17
260
732
720
423
380
309
629
336
316
356
980
616
271
352
663
922
186
487
907
730
60
748
205
127
589
862
585
480
997
828
312
46
408
669
203
181
483
116
687
95
538
333
44
183
892
508
972
109
603
181
931
442
324
682
868
122
885
927
199
861
721
285
395
174
332
538
477
288
141
322
190
546
688
33
399
887
532
395
832
184
35
443
247
860
925
597
891
124
219
403
416
425
121
319
217
159
439
124
903
217
515
53
366
977
797
519
379
413
428
663
123
951
333
4
779
728
141
84
447
453
179
370
168
656
623
951
336
415
611
663
139
553
257
269
225
79
286
323
421
261
21
423
938
739
314
603
101
149
515
668
373
445
389
738
133
28
722
308
558
704
761
861
339
523
432
662
18
310
695
946
221
879
678
589
907
956
6
927
634
588
971
917
836
824
238
910
563
132
405
35
118
599
313
135
407
616
869
607
343
847
734
520
605
48
799
670
127
994
834
580
74
150
380
361
574
244
876
269
827
923
210
689
79
480
659
488
957
902
602
790
916
602
931
515
258
234
659
134
894
504
247
16
856
769
792
494
529
459
608
663
253
157
397
493
439
563
437
423
942
988
993
182
427
702
131
395
659
592
438
20
837
78
707
27
78
860
830
811
758
644
34
799
850
171
147
698
905
777
3
561
856
305
701
753
634
304
361
791
164
986
221
823
619
260
341
298
590
476
935
664
27
301
940
633
76
848
143
546
860
489
697
882
964
689
986
485
731
581
37
798
149
431
198
80
784
217
210
483
861
183
973
187
588
142
431
699
216
304
765
502
962
385
350
470
297
305
745
781
479
375
261
19
390
711
318
797
992
904
735
935
25
838
199
830
383
736
863
39
555
925
173
284
193
951
877
146
226
109
390
760
966
337
854
846
503
149
818
590
770
151
985
505
139
894
124
836
693
902
867
519
537
261
294
702
621
634
488
395
892
874
805
221
818
928
342
484
914
320
583
453
900
471
284
46
750
536
662
528
207
678
553
398
649
778
464
715
791
6
765
35
399
242
235
534
582
438
714
666
411
894
185
188
415
204
757
706
678
404
865
449
889
781
875
266
568
809
244
771
891
528
500
187
234
148
934
133
176
520
787
239
748
96
240
767
925
851
152
45
535
275
534
130
57
460
969
464
447
51
802
909
479
279
758
382
355
792
849
101
780
870
420
360
476
106
943
649
834
600
221
916
6
637
472
734
898
861
673
38
636
344
524
775
147
817
465
295
507
111
799
642
111
794
579
856
523
372
957
119
530
832
558
91
82
753
312
663
2
425
347
319
321
598
875
528
331
205
612
652
893
706
714
228
939
594
498
658
809
80
574
410
38
956
419
716
584
155
33
68
183
701
703
384
488
635
271
148
794
696
309
648
253
53
130
78
867
700
402
911
130
550
939
218
214
180
660
244
634
40
360
332
75
201
75
574
52
300
438
678
967
352
754
551
907
678
899
337
552
534
713
667
644
676
434
828
524
384
528
285
584
820
285
55
896
687
708
410
236
891
931
994
245
466
875
183
52
593
437
218
116
743
36
293
432
308
268
172
929
339
891
22
529
9
232
561
468
770
868
901
748
532
902
390
996
59
298
381
191
454
754
896
906
821
360
636
647
162
586
650
243
975
925
733
927
463
398
868
647
95
656
551
809
459
751
374
85
917
271
388
846
439
102
637
380
820
781
102
769
550
337
141
92
452
711
57
432
722
231
913
469
391
114
402
657
419
198
198
820
967
275
21
402
140
52
620
621
113
833
600
192
684
52
684
435
60
372
0
244
297
478
635
669
745
117
282
384
721
166
377
732
607
717
369
159
889
528
975
817
94
826
17
135
228
417
930
924
119
99
194
917
319
706
656
378
858
565
343
692
348
795
456
26
40
746
163
273
228
778
55
914
856
429
64
959
591
109
259
117
296
902
979
530
571
762
370
423
48
75
20
148
444
30
884
227
308
329
327
512
896
731
703
698
523
432
864
748
535
661
760
667
10
154
47
481
156
310
936
230
691
391
168
680
44
363
428
458
885
328
953
699
850
727
257
797
644
736
526
524
12
708
39
804
87
621
307
863
497
54
669
134
746
862
738
42
364
430
578
490
543
971
630
309
117
624
767
167
599
369
428
655
608
845
364
594
555
771
557
60
770
435
595
902
445
728
982
359
638
352
482
354
900
476
954
547
872
825
72
990
180
142
608
606
687
461
118
541
625
287
927
359
571
212
872
741
496
653
91
839
635
394
65
39
155
685
107
618
500
988
547
155
39
27
31
861
913
130
124
185
440
835
827
767
385
808
820
79
779
610
772
78
752
979
939
420
112
647
459
422
666
641
700
19
446
751
969
661
779
157
348
677
476
627
779
814
965
295
300
477
629
122
658
934
210
678
286
368
248
647
927
711
976
912
721
499
632
315
36
917
246
388
964
872
450
771
476
909
589
566
856
239
347
735
598
312
973
148
356
879
190
426
886
200
816
641
241
117
949
809
94
477
879
634
942
11
474
425
221
48
287
125
232
932
715
152
716
462
118
561
690
154
606
495
120
153
968
867
627
505
998
991
81
227
313
545
612
723
440
681
541
975
188
159
965
296
304
98
873
617
688
948
427
151
563
773
228
302
70
871
7
725
481
608
996
447
714
529
952
725
6
184
517
852
327
458
566
260
597
218
328
199
350
378
15
970
874
381
53
240
495
103
625
314
230
161
184
383
75
30
754
618
68
35
255
982
229
585
989
669
615
43
309
850
437
624
784
473
179
456
810
434
294
724
83
840
820
896
371
312
343
771
404
288
624
806
159
31
245
452
175
856
667
998
989
450
511
446
159
222
684
885
632
750
343
583
99
235
28
258
200
372
960
911
503
866
366
691
545
481
265
607
710
930
93
118
435
176
300
884
440
607
117
878
855
597
782
833
738
935
402
790
775
223
764
988
682
347
305
315
872
620
157
44
87
220
518
833
58
157
43
529
907
638
864
586
163
4
371
163
335
46
165
682
221
200
481
288
323
819
149
836
270
833
152
350
52
551
524
517
656
362
141
932
428
637
213
454
768
20
415
415
899
213
162
561
965
540
754
274
65
786
65
364
679
5
941
703
569
547
354
701
428
241
454
852
281
923
442
675
814
845
249
100
973
867
667
242
339
204
103
251
950
29
279
668
582
627
630
341
220
308
406
479
17
163
475
461
39
715
447
451
841
663
470
104
776
979
159
789
683
574
322
459
510
654
387
453
932
119
383
434
336
90
492
625
641
962
525
830
9
168
86
740
539
750
424
0
990
255
366
218
8
64
809
348
117
257
362
225
555
707
843
843
998
776
700
45
737
567
157
647
66
394
510
508
484
265
240
437
154
130
483
552
80
254
879
994
8
274
932
972
537
716
604
780
308
813
746
527
515
131
11
102
547
88
203
751
100
994
441
46
898
286
920
396
318
53
155
623
654
35
133
211
633
778
798
999
427
837
920
577
322
713
402
845
479
353
283
783
133
45
678
766
859
893
995
268
701
762
669
75
223
91
867
531
477
757
178
43
27
363
901
183
322
794
42
983
676
352
745
663
355
410
45
45
64
750
796
122
136
965
644
427
516
233
669
610
167
108
869
440
237
603
120
604
794
426
59
297
47
394
629
900
5
985
941
689
438
941
463
76
702
529
91
634
805
221
30
596
877
383
963
406
113
49
225
866
993
350
198
203
918
375
365
754
658
152
523
124
442
819
675
55
978
473
740
968
776
468
294
272
684
458
43
531
937
453
826
308
649
452
169
509
892
685
791
673
977
635
686
93
582
718
663
2
949
734
357
630
636
485
687
15
29
36
651
696
762
510
552
89
701
27
962
631
392
427
297
252
890
352
369
293
66
34
55
809
46
77
554
114
573
912
203
877
236
969
894
116
155
431
703
506
978
391
508
501
107
898
505
425
775
311
812
373
108
162
562
694
592
34
315
289
858
395
393
491
218
933
876
959
63
924
330
122
128
998
682
599
658
554
126
356
611
8
873
326
536
454
251
7
563
382
8
336
895
960
356
507
572
784
236
694
750
732
29
678
302
10
760
515
193
84
18
480
446
538
369
445
621
102
552
450
820
299
219
903
553
351
410
710
814
922
88
959
44
228
298
321
49
413
488
688
27
369
815
134
216
718
681
324
834
284
622
217
438
233
889
897
260
578
392
731
834
159
809
934
861
848
817
543
750
83
25
541
590
454
315
889
851
991
729
411
226
912
713
150
503
534
768
814
54
23
890
132
471
423
49
498
395
238
88
1
394
321
694
597
648
93
470
191
681
308
643
318
143
281
212
164
696
217
541
78
806
716
551
541
889
361
662
154
38
445
185
850
136
819
948
282
512
401
269
434
84
445
286
471
408
762
993
628
947
552
330
148
760
817
727
240
879
617
50
660
812
88
46
204
106
630
137
391
81
585
676
746
807
46
904
178
1
435
454
674
576
448
208
953
886
823
113
821
734
961
640
418
598
399
949
822
624
525
949
871
475
656
573
536
378
159
258
750
179
36
48
191
134
726
941
932
826
595
733
475
862
322
358
4
319
275
558
191
448
609
986
934
410
688
199
931
653
463
57
418
41
403
378
347
876
749
660
494
645
453
999
682
241
447
827
6
693
729
974
443
771
456
944
170
447
57
821
351
191
267
143
192
873
298
297
26
939
64
681
779
971
565
551
634
125
250
747
366
149
507
298
57
673
502
698
702
247
814
593
375
645
825
647
179
476
737
989
552
345
812
213
193
317
381
355
653
231
696
398
694
126
685
787
370
567
323
182
229
348
799
192
947
99
350
323
92
644
201
149
400
672
666
343
39
531
715
514
112
920
646
461
696
698
566
11
836
743
999
651
255
693
843
772
900
228
808
734
703
692
754
936
330
590
830
328
677
516
855
155
621
512
533
415
877
847
227
860
10
416
676
753
679
691
878
88
463
931
691
650
633
20
264
21
618
768
80
547
203
403
621
229
408
550
0
748
705
634
817
148
363
836
357
266
290
961
362
312
953
803
425
932
651
327
603
245
887
944
408
263
334
256
740
594
678
736
358
6
837
726
375
500
385
337
687
834
385
859
658
490
914
427
268
386
553
957
557
289
121
685
275
38
878
109
606
281
656
65
549
725
668
407
133
893
153
485
153
919
244
322
93
657
2
281
635
742
551
148
451
726
981
579
661
537
891
42
346
294
993
595
635
50
339
138
142
425
224
875
373
687
505
348
755
163
935
907
546
726
801
948
103
897
800
447
574
968
708
347
526
139
646
548
420
601
627
52
247
604
217
907
662
371
816
870
820
745
795
586
763
629
229
880
152
136
920
961
262
652
927
649
515
185
578
479
473
998
783
39
99
22
417
715
482
248
54
417
456
651
637
657
264
395
35
522
773
149
725
799
140
538
5
224
319
4
944
347
448
409
584
589
743
265
975
417
207
243
110
593
128
285
176
163
138
340
182
256
204
425
584
264
478
221
319
55
239
457
631
700
201
769
379
829
22
681
437
159
506
733
704
385
274
221
477
822
916
357
368
426
990
630
258
564
95
503
974
602
980
797
127
186
96
361
228
802
969
222
171
40
501
794
857
874
572
441
425
213
689
650
577
474
419
199
168
260
56
362
807
68
332
710
469
922
399
13
705
51
288
683
550
980
29
948
860
765
881
780
24
790
667
788
588
704
129
639
654
521
998
526
476
95
382
536
694
527
847
211
492
350
614
249
672
247
850
511
838
636
269
771
248
259
106
567
935
716
298
687
11
714
864
495
409
532
343
116
165
849
912
238
973
333
228
783
49
168
729
75
736
884
671
248
843
158
216
881
219
718
716
419
459
544
676
911
866
202
310
704
345
503
51
527
114
396
766
2
345
74
946
817
546
417
206
491
939
741
113
54
288
641
977
43
230
596
157
900
456
332
2
766
45
256
255
112
335
805
871
161
493
282
664
120
202
797
215
314
675
715
1
292
51
499
229
251
370
284
597
691
684
218
46
783
34
402
347
294
621
171
105
616
897
471
939
94
360
803
905
826
213
321
657
250
823
982
166
245
498
339
310
826
893
628
791
469
469
710
580
86
664
511
797
932
941
59
958
71
330
308
668
591
879
307
984
392
670
333
737
487
62
412
478
721
725
181
922
545
883
292
790
449
137
524
978
753
180
210
254
629
847
180
273
16
279
205
706
640
84
590
313
156
65
134
95
654
538
777
680
53
398
10
861
852
660
172
773
400
460
433
894
45
59
345
754
112
467
925
724
710
52
898
319
884
232
914
788
545
132
334
559
581
270
929
954
562
296
836
256
698
768
28
142
749
255
446
798
284
716
304
941
481
75
282
187
718
689
950
207
180
507
985
46
116
590
54
830
907
674
882
29
625
594
378
897
50
345
281
200
191
532
365
136
248
950
509
149
260
95
768
156
219
478
361
710
208
756
904
671
201
515
573
681
982
334
961
928
19
152
920
811
504
623
775
275
402
329
537
67
765
694
924
631
571
117
229
491
183
640
3
99
814
412
590
910
630
365
403
246
708
147
209
592
716
906
562
914
781
740
873
379
146
542
977
264
91
993
342
616
115
800
348
771
676
596
725
672
917
186
421
337
15
366
832
382
41
854
887
284
91
378
83
759
347
137
318
755
460
908
16
323
6
56
374
238
381
961
88
202
523
517
669
586
519
232
643
522
6
442
944
751
917
691
998
906
748
37
560
315
109
947
537
179
547
524
365
123
785
603
958
834
420
86
215
457
810
436
528
494
501
18
144
911
339
726
736
956
152
950
573
484
815
570
221
702
980
586
517
664
756
760
468
586
318
882
502
874
620
824
31
518
795
478
899
388
403
985
114
317
98
893
845
779
838
586
929
915
472
791
755
559
646
233
603
547
839
374
122
997
333
13
858
314
932
432
388
639
538
103
117
722
936
688
988
947
191
487
680
545
417
530
195
691
475
584
13
153
72
462
18
679
717
812
29
715
171
36
655
951
931
31
425
764
705
84
158
899
869
852
782
57
56
284
634
577
351
984
561
506
713
499
176
752
453
676
876
737
242
102
401
836
122
346
853
176
787
394
960
131
744
274
174
639
807
218
245
121
44
858
813
104
135
568
939
24
864
174
481
471
30
342
181
940
83
177
891
63
759
557
916
877
171
739
238
523
888
414
171
417
206
512
792
342
846
395
12
797
85
646
79
160
867
626
132
159
386
654
333
866
530
460
661
64
904
271
736
256
370
751
394
324
607
401
657
925
564
276
150
182
35
485
9
170
867
641
563
235
398
761
670
71
340
82
740
94
386
448
26
729
385
614
529
528
88
158
923
781
751
155
183
102
699
668
617
515
246
575
956
2
787
76
516
949
698
779
53
443
846
175
753
452
808
992
48
82
758
552
329
548
448
1
493
52
848
836
63
700
168
796
648
941
177
933
901
821
567
185
511
423
202
980
176
611
718
464
319
381
56
553
14
722
330
755
832
91
729
666
510
848
869
701
116
523
325
392
764
776
578
844
796
647
654
329
502
519
652
121
863
386
704
609
894
551
572
99
648
254
395
587
531
318
498
504
52
457
282
731
117
617
882
969
771
308
360
77
385
226
711
501
274
43
260
870
330
527
44
640
235
85
795
354
998
409
53
384
959
567
631
177
707
192
633
427
891
867
593
102
569
176
429
234
27
808
681
88
609
986
803
811
777
131
421
201
88
908
850
446
491
172
521
898
795
706
434
96
334
542
451
462
485
927
828
341
92
741
325
515
324
911
287
315
190
157
426
279
325
845
593
257
369
328
907
540
668
655
401
286
269
591
368
992
544
506
103
729
231
733
859
78
205
824
106
695
859
143
385
310
457
628
966
234
98
309
836
281
280
894
588
437
331
338
325
194
301
893
377
584
789
904
128
613
315
104
386
107
803
984
195
868
527
601
496
780
945
875
628
205
639
359
5
104
452
449
515
780
262
628
922
402
902
872
315
673
245
509
468
132
790
697
8
646
141
473
534
767
785
67
177
774
972
835
610
947
122
19
827
789
812
300
462
754
849
586
395
137
807
996
193
805
46
166
438
547
54
217
689
177
406
165
56
276
316
316
705
602
577
539
833
194
430
27
535
116
685
96
885
39
36
113
175
569
522
780
252
23
906
163
126
399
7
25
903
669
920
496
259
412
759
908
955
285
138
534
563
181
988
784
587
833
593
369
679
103
999
625
885
527
790
287
187
80
203
864
98
624
471
471
200
137
3
973
717
460
427
651
528
787
668
359
594
542
545
749
142
660
331
659
77
46
816
905
599
593
51
442
298
954
129
12
720
107
317
544
486
157
828
800
32
625
715
209
168
166
915
208
768
133
606
196
85
545
960
326
370
436
317
893
484
855
198
612
931
531
859
58
949
788
89
943
585
99
157
338
644
861
442
459
37
291
816
25
144
399
280
868
842
650
183
731
70
29
296
885
805
576
154
704
793
371
202
683
806
294
373
140
581
397
328
888
648
637
776
862
600
91
991
447
928
562
558
137
128
267
211
226
526
259
716
342
170
782
902
82
239
675
151
246
42
139
339
601
177
455
995
93
265
467
937
167
401
325
894
929
328
53
697
664
406
215
698
931
99
101
678
347
250
59
259
891
943
592
188
203
900
951
37
132
110
287
643
513
771
145
161
392
186
512
498
453
632
837
805
634
69
758
385
638
679
624
806
351
695
347
383
74
910
594
804
507
419
584
837
256
473
330
471
587
682
73
248
705
670
372
446
798
975
803
632
136
935
279
845
112
33
912
840
84
977
516
956
104
63
391
686
953
514
395
502
753
452
49
582
780
737
619
260
473
187
161
715
633
158
625
611
273
921
719
374
104
622
147
375
164
936
903
566
883
605
893
680
235
907
276
884
554
617
373
317
87
73
693
579
200
518
717
369
67
525
847
195
419
897
904
719
934
851
527
930
424
824
98
394
308
449
409
617
896
700
727
336
27
201
429
782
266
312
737
50
174
899
277
436
843
813
239
316
868
852
373
108
561
36
311
685
353
854
580
168
487
457
401
68
603
610
975
748
482
299
564
355
612
736
727
704
122
447
791
145
976
182
2
342
347
88
607
300
39
319
435
693
824
451
778
981
688
95
594
623
714
566
847
634
20
438
677
764
566
46
750
968
177
392
283
552
29
836
600
785
869
69
119
475
858
499
182
322
472
565
360
541
616
853
319
915
713
955
587
985
578
382
567
563
591
212
50
13
77
559
148
310
632
215
879
657
444
602
300
877
589
799
910
66
808
985
395
771
42
459
824
470
912
834
636
130
61
598
442
105
780
408
493
389
734
420
212
972
432
245
392
321
501
159
471
329
536
139
363
80
427
786
494
465
555
903
771
463
353
875
41
993
597
864
862
198
162
932
331
831
238
726
752
734
695
111
83
909
256
623
619
724
187
963
794
437
70
958
59
428
815
735
65
633
398
391
834
633
145
577
525
736
972
273
900
905
764
775
354
865
791
944
555
267
565
900
349
274
695
261
534
565
498
389
328
85
748
979
306
590
326
693
834
233
832
264
717
163
898
112
374
628
878
708
344
677
56
149
147
508
19
564
664
301
56
130
765
497
710
782
632
986
151
363
108
671
584
693
299
249
967
987
200
241
118
351
979
96
950
960
807
938
722
309
269
645
128
460
445
31
819
145
410
786
867
724
254
12
129
407
364
103
353
409
285
220
793
384
925
835
13
364
6
689
24
644
201
615
988
941
579
498
420
241
426
651
201
63
770
638
18
718
135
613
531
383
68
470
548
990
163
995
748
340
837
16
985
921
555
167
578
492
379
475
823
135
97
317
960
862
349
434
193
418
608
831
107
910
72
723
598
855
140
601
255
914
462
264
397
129
279
642
707
310
126
320
53
43
170
663
302
91
209
438
716
534
293
968
333
245
72
20
316
259
814
531
150
582
279
244
71
942
152
924
49
51
405
872
661
300
143
827
324
266
262
327
456
3
473
23
870
144
906
546
221
431
154
142
107
95
173
467
68
419
647
133
554
751
709
531
782
949
875
37
533
834
95
309
418
101
785
834
98
802
844
518
510
242
89
328
287
486
328
21
542
565
495
535
153
312
808
857
75
254
248
807
839
704
302
323
963
486
908
447
780
944
361
583
888
512
300
718
407
738
614
780
309
310
178
465
440
70
206
841
813
573
540
969
415
89
266
618
314
572
73
102
374
798
150
6
710
110
831
520
408
639
292
141
752
875
406
634
172
932
361
210
352
912
109
934
975
673
157
596
907
395
776
580
1
797
530
23
697
741
412
879
92
582
750
348
507
930
529
421
817
182
219
256
540
758
439
390
54
10
25
215
956
983
479
222
70
342
446
574
807
997
700
540
84
355
761
652
311
277
382
290
292
211
305
573
607
194
891
20
410
865
290
221
273
724
33
829
666
295
291
103
580
900
303
859
430
402
143
124
756
455
816
162
889
143
616
13
485
229
989
732
994
374
161
128
32
384
554
896
422
81
731
569
505
327
826
842
458
182
953
922
947
164
906
224
208
992
800
803
716
267
152
395
43
648
235
362
927
714
442
944
173
422
617
629
752
660
309
980
14
302
317
257
43
928
878
385
728
322
422
475
784
272
409
815
938
285
360
168
660
973
674
241
610
684
20
389
179
107
594
378
748
441
386
840
721
584
628
666
77
119
211
734
314
159
895
508
614
326
802
775
68
858
522
313
68
365
337
254
18
841
122
952
968
668
907
446
572
941
131
903
804
492
768
642
437
553
519
237
529
633
328
164
785
699
437
138
484
23
605
749
59
895
762
514
401
47
776
203
807
32
569
65
460
513
864
549
844
825
175
593
290
513
868
847
831
738
722
984
623
187
825
324
36
190
715
808
61
727
993
370
785
559
332
871
43
925
881
313
661
999
26
631
948
309
371
575
9
272
743
923
641
709
298
274
124
71
159
319
884
46
819
679
733
592
104
186
82
402
10
404
936
621
11
686
175
269
975
527
389
665
452
760
139
949
470
189
9
149
776
462
715
95
740
963
531
515
573
614
263
953
514
169
696
352
86
424
637
935
591
923
389
562
878
296
939
449
575
975
474
357
27
410
181
919
871
625
422
885
429
455
707
431
691
481
453
625
297
676
150
810
177
719
961
63
127
778
468
148
140
628
239
247
292
292
366
305
536
814
281
793
384
457
924
126
74
971
703
917
141
184
932
369
614
985
31
2
462
618
548
437
464
552
539
293
700
435
99
734
574
147
345
234
617
570
932
826
789
524
601
564
748
193
748
622
507
270
437
351
241
548
208
60
929
103
583
287
555
852
43
908
181
807
25
444
371
700
309
440
162
854
915
605
547
485
234
379
444
742
355
126
879
487
485
29
317
956
510
344
589
35
339
756
92
826
309
120
828
613
702
698
111
366
14
869
996
126
280
17
945
103
153
823
944
257
856
928
575
374
118
374
870
371
612
208
210
576
893
685
919
512
104
333
13
923
639
91
78
200
523
858
187
223
65
56
840
125
594
493
934
529
7
731
251
645
809
572
926
275
274
199
25
131
26
797
90
112
546
636
87
623
720
990
473
919
96
75
868
252
602
790
425
284
309
423
202
998
968
548
593
802
211
389
650
831
396
809
907
763
209
757
409
698
486
606
72
133
496
357
423
698
273
105
54
823
997
224
365
278
491
137
430
853
864
756
864
178
429
853
443
761
589
564
833
663
859
825
343
340
687
781
12
650
281
465
283
313
519
271
961
161
159
458
759
87
452
523
885
159
250
660
287
196
734
613
657
481
390
824
360
273
394
132
787
326
403
586
62
638
526
506
226
86
566
617
914
199
531
883
96
626
435
284
864
254
451
646
136
247
821
644
326
692
204
291
602
441
119
591
254
518
173
687
966
654
560
430
37
125
772
226
579
73
62
910
160
14
791
241
225
708
971
958
299
121
390
477
294
997
289
472
283
797
475
243
4
419
502
966
209
933
611
891
762
12
553
43
246
606
546
116
463
949
139
415
858
495
442
463
557
510
346
929
495
261
740
227
111
545
63
98
144
165
725
795
646
17
751
417
225
109
568
712
360
721
121
538
535
69
516
431
105
38
420
125
678
219
787
123
485
494
439
582
985
495
367
249
775
495
336
263
914
191
462
542
798
297
343
864
948
590
208
991
449
572
576
939
975
919
292
27
485
146
824
852
153
397
740
699
492
390
78
24
389
33
105
682
460
283
8
451
914
773
83
182
846
513
590
0
147
225
255
504
55
55
93
376
662
591
453
262
685
705
129
709
368
389
360
565
573
516
388
938
815
41
838
336
455
589
863
881
824
555
791
145
840
914
577
78
535
388
19
951
633
201
46
486
310
473
782
774
629
924
361
654
270
37
313
61
546
567
50
350
911
445
600
976
548
151
70
795
962
315
291
201
98
160
748
18
52
743
444
675
567
875
406
715
419
401
806
498
663
459
242
337
52
940
40
660
816
710
33
658
463
463
400
959
863
688
246
244
981
180
891
754
592
331
605
45
946
76
20
234
160
997
546
23
972
743
865
961
394
139
788
610
266
216
321
775
223
704
502
886
272
293
909
583
439
42
800
246
951
938
415
764
773
839
384
269
794
969
164
789
824
209
122
473
61
655
166
827
383
868
414
882
281
881
780
622
958
202
603
515
541
594
474
527
748
672
677
945
816
221
9
306
671
825
742
257
794
855
143
848
702
763
299
906
128
697
192
31
696
113
507
131
560
987
425
304
57
253
143
131
365
942
194
28
371
750
361
776
835
203
411
174
870
472
689
578
866
623
370
752
658
333
513
293
159
600
425
351
318
907
86
338
916
298
561
353
698
727
66
366
178
354
253
580
937
652
441
290
162
753
162
175
433
17
251
148
58
738
91
342
721
264
819
712
400
855
272
1
811
378
388
92
75
263
196
568
686
986
382
16
991
241
112
357
95
313
813
94
745
423
103
400
403
186
434
91
990
844
994
570
399
47
716
161
878
704
397
434
780
126
207
507
760
691
468
254
957
561
588
213
391
317
577
264
935
538
575
781
448
588
567
409
59
511
13
309
365
832
934
185
610
853
58
124
945
451
576
6
269
185
583
151
335
853
993
44
322
992
399
639
941
124
578
263
439
113
396
357
776
532
147
903
342
776
765
992
205
532
397
810
790
763
362
219
935
886
619
144
602
734
984
412
900
577
937
248
301
765
474
336
364
696
842
999
859
665
990
74
165
53
895
307
276
202
723
914
239
562
522
263
123
725
234
727
264
888
260
86
156
332
335
868
799
174
765
364
486
702
738
344
984
569
100
610
182
553
937
928
63
872
364
334
186
901
91
596
624
108
372
544
851
490
918
470
743
872
995
576
821
719
801
151
482
303
920
942
780
420
293
374
213
118
526
998
757
410
665
501
15
860
202
51
916
961
280
153
739
623
585
881
332
832
356
205
571
212
891
265
718
984
954
189
488
137
945
630
251
314
172
862
485
378
140
388
284
580
568
219
490
246
284
556
890
696
968
584
294
234
35
700
278
738
284
13
578
397
151
323
663
751
394
332
697
224
927
394
290
130
610
797
215
821
475
251
467
151
779
300
319
65
111
982
554
526
279
511
16
111
440
413
929
833
220
16
816
11
565
699
587
176
2
138
692
435
965
281
824
436
224
816
816
521
456
44
981
542
575
988
67
737
189
527
900
43
370
532
166
951
495
790
947
55
625
569
910
119
342
82
323
453
273
155
138
714
571
549
633
684
43
511
592
954
676
796
52
122
868
612
689
687
617
553
937
407
220
471
891
202
324
121
476
637
43
531
226
733
245
921
397
685
325
118
941
317
918
928
513
272
368
688
285
957
831
287
96
715
879
4
972
866
126
956
648
213
185
616
375
538
319
679
958
495
244
26
590
348
684
478
446
955
997
450
238
983
162
308
554
439
713
605
221
53
990
941
117
77
744
314
141
728
626
210
137
390
682
779
148
800
999
742
910
417
449
653
631
302
102
195
557
837
456
624
757
803
433
883
998
94
630
612
400
4
725
722
765
373
921
97
348
620
552
522
10
724
490
941
389
660
587
9
451
161
374
793
434
595
114
781
995
311
342
148
703
152
466
231
924
618
847
739
931
772
564
414
231
354
934
351
107
998
993
983
405
305
301
903
251
153
25
322
687
961
805
77
704
914
19
548
883
610
897
942
474
991
388
938
551
966
819
696
458
895
737
937
251
404
431
627
404
684
629
827
610
947
395
682
964
798
453
687
381
887
983
125
142
723
118
976
142
732
307
467
574
899
732
904
194
780
82
491
949
514
712
475
88
968
296
692
322
535
54
703
87
652
62
236
212
941
372
213
668
103
455
516
817
558
855
258
654
278
774
845
129
340
498
203
411
179
840
922
720
662
351
458
916
442
543
1
284
788
307
410
400
941
102
652
251
831
964
913
913
55
476
750
161
429
874
325
972
484
920
50
640
72
29
693
694
561
730
160
612
186
459
505
562
940
924
525
333
383
642
138
751
763
71
949
997
845
82
435
837
606
239
650
956
74
125
165
410
776
883
654
294
192
530
958
62
575
510
710
813
743
597
688
246
387
83
319
219
905
514
421
449
363
99
974
804
36
221
397
540
69
597
514
47
293
802
101
454
266
26
177
665
961
173
995
342
922
192
574
62
229
66
394
946
334
808
345
704
66
712
200
715
641
429
690
765
966
171
929
214
555
162
169
371
212
668
837
392
384
402
870
582
66
195
453
724
521
49
98
84
276
334
855
985
962
567
272
400
431
89
350
690
976
826
182
943
747
855
564
78
232
816
357
285
828
805
555
188
725
304
636
35
252
836
257
264
164
748
195
924
915
472
411
617
508
971
406
428
932
308
277
596
378
398
164
204
629
259
60
967
202
229
813
942
530
543
59
670
436
836
346
667
26
381
904
253
118
271
96
992
498
718
610
160
177
596
827
326
33
346
570
880
434
737
971
813
152
138
230
271
668
488
705
477
968
148
98
518
407
384
130
476
396
329
701
767
666
64
287
629
716
899
301
251
104
924
883
764
153
202
501
677
256
610
533
375
520
534
226
120
746
418
140
730
936
132
834
967
840
2
538
752
798
140
288
319
968
729
114
426
747
293
838
952
136
737
344
192
92
185
325
25
83
76
396
366
642
736
134
726
316
501
775
217
266
824
933
942
155
110
581
134
422
855
962
41
128
234
370
764
551
168
947
549
760
229
160
684
132
826
529
467
260
979
76
365
468
118
384
201
278
151
870
425
309
385
966
757
633
735
32
508
437
308
26
901
772
390
377
856
101
586
591
634
885
925
569
826
422
380
762
899
516
426
891
677
281
309
943
854
251
207
476
83
494
138
967
567
213
882
951
853
174
560
853
874
669
756
650
602
656
743
909
143
649
398
539
694
641
262
575
580
436
819
948
393
731
394
82
968
551
750
404
341
990
508
269
110
557
549
767
319
808
81
375
417
255
606
678
7
106
523
729
681
30
51
485
280
515
627
995
839
176
278
923
696
681
932
175
372
500
958
374
954
712
675
648
984
555
941
499
160
346
866
324
782
20
582
328
116
531
343
17
33
550
561
728
68
110
976
425
718
7
83
671
939
739
224
328
235
803
726
417
412
960
194
616
311
472
859
462
757
960
853
123
799
98
471
690
244
527
602
892
42
139
409
12
329
667
565
171
527
749
933
772
663
363
755
332
137
593
683
112
379
528
962
242
392
832
968
547
407
297
836
473
450
697
729
82
296
952
350
190
213
158
680
104
239
562
108
690
621
31
719
647
843
670
50
500
438
484
589
738
930
942
598
32
722
506
192
534
13
855
164
258
218
954
684
76
767
50
453
900
621
983
278
734
266
566
913
447
523
288
193
435
857
313
456
578
733
632
208
230
223
973
26
243
985
505
840
25
75
977
918
713
313
383
808
589
219
899
601
297
903
473
520
517
783
845
80
3
679
792
408
482
226
603
650
760
534
984
793
114
476
88
642
520
646
310
434
805
238
19
50
299
527
258
706
496
944
560
478
4
136
131
81
62
616
226
449
640
203
661
483
771
300
371
526
950
493
565
374
141
235
196
899
461
109
491
346
931
499
645
689
68
397
105
254
679
614
683
378
536
741
836
715
67
739
101
996
970
13
933
332
222
195
297
210
939
269
641
715
973
437
947
706
971
74
344
122
108
838
713
880
797
762
157
633
833
290
706
736
993
197
469
888
210
916
815
490
573
511
188
348
214
412
587
561
942
957
980
916
808
255
438
683
101
344
716
961
951
667
681
451
129
843
12
203
234
764
24
702
256
830
146
171
810
653
524
978
119
110
561
17
729
580
718
672
578
502
30
733
707
188
615
651
488
859
190
649
398
46
129
716
842
553
245
361
514
727
832
402
285
406
21
759
367
318
844
645
160
176
159
408
994
249
965
731
943
916
494
862
993
804
161
49
325
449
58
693
733
344
757
308
268
876
857
500
875
504
710
534
506
580
269
475
101
234
455
526
217
862
599
876
558
63
557
855
935
420
974
942
961
688
367
989
306
30
628
334
788
678
674
762
363
820
907
625
154
829
422
215
599
27
880
587
228
382
777
598
594
425
292
587
696
773
9
505
21
267
796
555
808
900
742
351
338
365
429
417
852
672
532
237
777
245
107
604
850
470
309
32
588
115
199
125
506
86
599
92
796
798
146
241
951
555
966
966
211
750
508
72
965
604
432
834
113
209
911
773
632
964
486
163
568
651
653
942
20
250
5
26
228
401
712
904
603
369
272
647
390
441
290
198
90
783
871
17
334
468
216
92
132
608
914
222
652
80
81
194
875
793
413
567
701
841
140
322
25
446
356
400
583
973
519
432
916
431
689
180
542
948
603
329
797
334
129
222
357
207
630
988
745
514
692
456
589
964
577
836
781
979
391
507
865
660
223
78
605
169
477
42
371
65
959
504
132
964
876
274
883
689
627
199
855
962
901
676
484
258
951
212
239
232
346
375
71
498
430
865
419
836
484
905
268
810
456
979
651
342
167
120
68
169
779
138
73
663
670
806
713
343
370
219
395
788
224
594
579
663
898
195
454
968
132
515
428
929
3
773
814
437
327
459
730
11
662
108
216
331
178
770
936
991
299
683
261
882
282
62
858
203
177
824
880
240
535
519
842
571
270
22
393
450
544
333
391
466
508
394
47
85
637
156
21
1
73
288
611
899
877
213
398
931
673
350
632
968
811
769
146
965
247
785
78
418
595
370
617
461
107
127
719
133
992
110
828
839
957
913
468
230
828
293
658
530
915
398
292
792
621
713
700
455
264
525
184
830
344
663
307
96
49
69
508
877
180
161
872
171
576
399
522
374
460
762
886
146
310
644
538
979
60
160
933
946
70
320
802
595
514
985
396
376
395
709
120
681
811
612
339
189
210
676
657
734
610
519
881
902
772
56
5
15
776
670
68
747
533
568
67
306
600
388
336
154
205
553
758
709
608
104
251
526
480
986
261
569
468
617
762
407
549
734
942
300
767
672
894
790
828
218
340
219
375
949
32
939
192
136
237
949
637
245
536
711
400
718
794
324
299
325
821
45
636
585
303
823
496
194
48
891
378
711
739
45
12
220
809
503
947
682
899
258
52
125
477
263
954
753
944
465
774
970
770
427
423
706
369
239
536
991
330
683
335
110
79
278
320
410
26
773
287
795
347
506
620
370
654
860
989
350
484
850
626
230
484
739
6
558
705
793
559
203
270
483
421
3
387
760
470
747
377
559
637
774
25
824
234
216
280
912
241
618
441
787
939
640
961
545
236
677
46
560
92
752
208
64
694
532
465
179
54
33
986
599
399
591
779
53
92
746
47
97
146
2
551
979
886
929
216
832
833
781
911
222
43
85
365
144
138
940
635
531
656
59
306
720
789
229
941
645
913
868
209
96
999
279
295
731
255
212
984
397
523
64
268
801
268
350
914
719
586
817
491
688
186
288
354
707
403
491
650
352
427
817
623
720
390
459
933
615
254
695
64
509
856
420
81
450
341
113
489
129
877
180
460
802
713
218
972
221
295
8
31
776
438
275
362
932
970
707
526
455
180
945
700
574
640
556
809
298
165
859
327
82
386
895
337
593
570
517
677
476
737
876
134
172
722
129
358
889
901
903
166
877
119
285
141
241
561
155
44
685
800
342
91
100
979
9
786
621
897
989
612
18
418
801
204
378
330
655
91
774
823
114
461
84
471
942
594
766
330
655
622
247
502
830
727
426
827
108
574
716
53
912
363
647
667
978
545
597
751
138
261
604
944
737
744
256
885
545
638
72
443
813
671
633
335
300
24
741
17
904
539
452
449
630
368
728
944
732
184
578
21
355
608
576
510
336
462
78
7
107
543
279
824
440
710
476
200
957
799
105
342
392
51
966
16
692
549
578
307
556
493
968
157
176
406
340
494
827
563
773
775
28
534
749
333
40
695
470
786
552
69
677
271
277
822
3
596
617
300
140
244
864
39
796
781
51
445
764
798
524
555
110
679
599
985
598
158
11
604
445
450
578
126
717
293
866
562
803
979
302
307
860
52
648
429
624
191
355
322
251
14
11
93
137
517
765
489
36
90
132
342
844
680
21
209
169
375
58
774
708
22
271
452
590
997
314
775
859
22
985
63
849
286
943
697
152
792
639
661
872
647
590
470
394
712
341
462
998
541
53
697
408
322
688
268
307
310
673
21
759
926
292
124
181
970
752
471
224
514
459
9
940
719
27
799
672
218
250
552
2
826
684
299
17
376
347
451
940
827
486
285
160
960
479
321
768
383
448
611
555
271
658
797
858
732
616
137
584
901
941
491
879
848
886
411
374
9
952
292
543
930
581
969
454
528
781
573
405
107
783
15
272
307
313
605
549
124
147
395
376
252
664
856
127
401
933
157
746
758
504
653
233
253
62
256
456
68
24
876
55
895
631
776
573
409
828
967
739
305
901
501
174
295
207
812
818
98
342
403
880
863
294
722
443
584
101
430
518
457
607
226
272
906
522
751
381
415
221
713
703
264
884
472
686
545
705
634
513
539
602
804
367
319
754
605
75
280
31
854
314
204
250
161
944
474
689
544
590
138
751
116
710
893
684
64
101
348
683
741
480
92
345
465
343
75
956
683
241
717
730
991
308
199
73
815
971
432
515
113
39
417
896
74
140
592
618
236
628
554
482
367
711
372
739
526
578
334
67
156
886
933
621
699
836
644
522
323
659
115
438
636
906
43
492
414
149
706
317
862
243
97
580
547
618
441
74
284
502
117
431
304
480
481
423
54
378
180
519
716
920
140
409
160
679
186
537
353
862
429
495
58
488
421
805
438
772
374
729
357
325
43
954
130
777
217
579
851
938
28
520
694
547
883
299
852
988
875
521
619
622
318
105
111
836
627
623
71
806
172
649
678
360
858
711
809
994
435
907
145
339
331
804
798
831
945
208
841
198
64
3
469
42
93
559
765
858
347
290
676
748
195
777
50
981
922
162
843
762
238
915
15
815
524
778
87
512
912
858
617
624
69
835
36
319
536
742
290
333
116
22
287
223
914
772
775
891
460
463
722
252
316
695
945
214
767
811
192
791
989
695
101
951
345
414
183
545
63
413
85
815
325
272
903
775
309
492
121
100
447
7
152
139
165
838
806
921
29
945
550
953
116
437
383
764
90
468
796
415
196
856
818
807
628
669
988
973
314
686
815
525
24
204
638
957
337
874
137
149
247
678
187
497
936
653
922
34
136
933
684
353
113
301
124
264
41
520
396
319
469
665
556
851
804
797
343
62
263
932
864
730
936
968
485
190
812
897
519
631
700
597
123
916
350
906
577
508
733
128
285
293
294
835
553
186
9
183
976
585
556
969
969
785
826
861
9
386
37
568
892
452
147
3
271
887
747
571
723
916
530
5
748
19
151
308
29
596
775
647
422
538
902
551
560
831
485
563
802
669
310
452
541
489
795
90
845
367
68
633
860
385
551
759
57
622
585
624
797
342
365
24
681
67
143
884
855
509
757
701
152
526
103
227
26
681
153
96
215
195
280
956
996
695
715
640
109
364
125
126
963
207
273
996
655
159
121
945
231
239
124
635
94
818
643
426
926
206
734
223
483
190
660
535
43
199
437
131
388
854
503
541
752
782
759
716
150
775
838
521
452
104
944
212
935
557
718
168
741
801
302
303
261
515
353
130
205
692
805
774
294
813
838
80
347
275
921
391
575
853
167
398
542
689
85
654
214
158
291
354
329
849
452
343
225
672
703
829
668
758
495
583
766
672
523
254
579
860
319
212
540
809
214
613
609
810
595
761
787
421
402
313
289
656
203
597
907
174
657
940
292
517
567
743
685
103
635
945
251
804
834
945
987
451
776
91
484
569
194
204
213
577
750
91
870
506
194
429
607
620
719
739
701
773
830
530
485
75
60
705
250
834
155
583
299
914
914
243
865
227
380
523
136
172
551
766
699
379
343
522
33
562
842
480
450
553
389
937
822
488
872
205
383
187
33
625
996
732
579
699
80
55
249
47
997
997
250
113
688
886
452
917
867
107
89
844
520
188
218
777
822
728
734
563
835
949
808
908
100
848
572
819
255
745
913
298
445
111
391
339
847
363
787
865
112
199
883
538
482
93
677
272
94
715
920
814
362
382
133
579
729
503
835
689
985
422
617
574
181
672
335
266
525
916
363
477
164
648
224
251
444
730
826
850
149
944
779
678
937
72
471
511
602
126
572
670
896
720
962
47
288
627
948
228
468
957
949
160
647
919
188
153
648
279
17
390
404
440
698
71
436
598
564
355
321
103
3
490
428
587
351
137
159
199
946
952
555
183
98
601
541
286
944
481
462
945
727
399
961
437
541
492
422
965
91
523
532
757
686
263
584
360
592
602
804
309
113
321
445
577
722
263
328
993
731
524
926
965
566
54
723
703
3
880
460
944
690
363
573
381
352
345
586
410
53
832
342
152
366
57
571
330
860
298
937
530
672
488
955
812
69
251
449
304
196
815
807
587
820
169
990
245
716
393
846
247
574
822
237
418
588
334
275
294
283
929
506
447
664
532
849
983
781
502
160
718
331
843
428
578
142
908
762
584
797
176
64
98
873
719
713
446
605
520
954
489
71
850
270
156
354
294
98
724
43
275
873
1
790
505
719
111
972
959
770
878
535
473
925
870
715
863
955
676
21
627
941
995
383
364
413
939
746
409
772
348
273
693
201
820
94
938
293
489
741
428
287
223
61
495
945
60
80
659
387
371
754
54
953
468
802
901
413
200
319
838
326
622
971
2
163
161
805
209
340
308
858
685
186
726
682
183
209
602
427
943
5
17
517
955
29
557
810
774
961
181
458
5
643
372
339
299
562
521
723
738
893
790
402
145
92
786
462
693
26
51
863
65
700
727
746
168
337
908
809
29
24
212
456
212
670
230
633
307
921
246
425
133
649
347
389
66
825
302
547
259
715
745
246
301
424
349
940
972
678
358
993
956
963
783
172
571
206
651
895
260
849
168
173
454
895
597
949
466
318
841
214
171
556
467
220
462
931
504
131
552
837
798
515
914
605
289
786
77
442
471
272
583
240
293
524
80
460
873
384
823
282
946
16
76
303
251
252
948
635
785
216
150
9
840
324
704
360
192
687
648
24
3
782
581
456
895
110
174
193
900
744
529
202
385
739
771
572
845
57
258
359
133
994
458
210
156
438
189
31
604
12
789
12
989
134
667
722
269
196
355
262
265
731
563
494
127
462
381
71
584
160
816
854
767
397
614
506
298
714
500
880
431
645
370
450
878
816
502
869
425
490
902
906
58
390
745
996
731
412
571
822
326
455
920
339
967
501
328
909
273
14
385
942
57
447
557
437
115
3
340
564
987
139
930
507
263
182
361
933
530
485
570
727
165
979
678
554
928
397
514
883
456
987
508
163
196
818
378
993
635
977
936
382
248
485
289
490
716
487
575
155
681
12
252
29
902
759
138
298
42
621
375
447
911
622
223
781
551
120
696
463
284
834
665
256
693
668
576
709
34
822
707
383
610
572
722
96
274
261
313
883
278
674
905
770
930
559
650
631
907
693
758
293
748
354
395
490
239
497
619
305
901
649
970
716
589
545
414
716
920
807
785
455
669
570
817
356
437
281
884
392
180
284
883
464
30
666
976
217
359
584
787
819
203
208
936
567
503
284
334
581
80
361
849
475
238
748
156
906
393
979
291
718
389
604
712
999
667
471
419
559
410
531
350
173
467
555
540
248
838
301
946
579
43
617
292
115
138
588
775
776
50
335
597
304
964
876
881
997
422
247
128
258
31
63
704
320
872
483
515
941
288
563
42
0
562
257
296
829
139
224
821
670
798
838
950
699
919
141
735
978
349
172
931
574
141
394
320
195
2
0
561
307
236
748
901
954
234
187
896
253
686
398
3
849
200
636
926
825
852
737
781
190
607
686
744
906
15
601
91
824
132
358
286
718
936
388
720
492
193
823
557
551
426
285
200
65
664
3
688
691
494
78
68
369
503
486
0
614
240
628
259
109
148
329
3
506
83
707
212
547
361
295
524
298
945
21
664
919
412
733
575
660
233
990
586
150
258
217
691
870
933
863
943
581
730
720
404
394
640
391
753
55
89
7
897
501
122
542
572
524
939
263
620
399
957
413
689
285
874
284
32
253
838
255
584
159
630
845
318
217
550
43
517
178
948
470
440
988
688
978
184
95
847
846
633
95
340
495
772
943
465
162
365
242
613
559
504
78
541
550
51
425
949
641
144
58
64
941
271
390
494
700
755
758
54
93
41
606
594
750
333
644
714
305
239
766
641
72
256
679
805
865
148
688
428
204
540
532
258
148
891
548
275
757
608
56
202
589
562
139
126
844
347
807
893
488
378
385
361
387
164
871
666
5
238
145
291
265
983
379
395
241
232
640
385
353
827
20
176
996
590
28
382
531
839
916
497
664
646
279
134
103
583
273
125
183
651
557
560
293
69
282
334
444
570
102
641
58
610
355
924
768
643
319
899
581
351
231
718
766
841
263
498
866
157
500
808
176
818
455
934
635
455
594
556
80
256
516
918
421
320
417
849
226
778
357
655
91
109
84
203
865
360
744
533
60
59
967
856
860
910
836
859
533
283
201
364
960
569
309
609
919
9
50
495
794
72
307
227
726
854
843
536
622
924
816
292
605
800
772
275
601
398
130
78
666
2
540
113
109
173
342
14
488
107
607
779
855
215
620
142
819
714
917
235
968
66
592
20
177
493
923
788
602
690
718
426
604
250
762
601
96
818
546
980
287
920
945
338
434
113
499
697
169
286
690
766
462
81
164
429
945
699
838
106
26
929
567
547
405
324
202
924
857
73
300
827
305
904
881
316
703
907
204
91
347
721
641
754
805
766
356
621
810
996
19
116
864
679
865
338
21
551
616
43
966
30
984
506
395
911
156
268
810
292
822
181
814
395
47
1
347
427
673
779
985
876
526
159
318
942
925
509
950
856
675
91
936
554
959
248
149
246
318
651
713
637
538
648
184
277
428
223
198
525
219
682
217
999
606
921
349
411
826
140
373
949
473
80
532
881
702
889
884
367
88
0
23
602
985
378
61
667
227
312
298
663
103
312
918
472
438
263
793
652
17
685
173
180
982
88
379
199
796
386
963
271
460
373
440
696
981
465
227
246
481
42
552
254
915
689
117
860
81
227
286
561
782
142
701
760
840
367
296
316
29
91
736
110
713
667
67
455
99
139
812
624
981
762
681
236
479
833
499
286
483
153
620
812
416
446
584
455
862
992
939
785
156
55
519
670
676
758
720
115
623
759
379
32
433
195
326
218
802
794
824
687
737
298
732
650
73
271
753
188
528
731
292
40
173
885
572
296
576
446
642
966
54
262
839
56
813
269
995
253
272
367
95
782
302
319
757
68
513
773
983
751
808
155
371
421
647
584
971
533
580
902
580
476
901
602
83
520
746
376
482
944
552
832
766
37
424
95
463
403
639
596
132
662
542
113
867
759
358
431
166
151
137
379
809
162
480
277
397
740
672
661
487
801
709
784
259
121
930
124
20
497
353
761
203
417
286
761
142
864
135
411
876
627
169
232
249
283
233
30
420
924
599
343
150
369
970
339
941
17
391
907
680
989
264
821
982
543
469
156
885
849
881
374
618
623
628
145
641
771
296
60
138
111
100
526
690
415
550
315
233
93
986
79
983
295
969
689
136
433
842
487
297
139
662
542
686
77
782
17
766
940
89
581
556
736
414
679
334
859
513
959
147
128
359
310
847
116
189
474
233
796
616
765
950
673
944
503
227
156
853
924
300
40
635
52
168
885
417
841
576
996
278
340
218
777
369
840
670
740
866
942
949
816
127
926
448
693
378
518
972
542
928
685
229
540
376
691
165
335
389
676
588
334
452
451
259
111
654
348
99
391
960
255
320
726
193
597
752
558
383
516
523
346
439
523
948
594
499
142
802
395
571
615
631
622
657
340
764
996
130
989
104
836
507
126
395
531
253
484
303
153
999
167
229
28
400
872
954
975
345
77
718
746
985
728
273
865
361
313
998
914
240
538
800
965
926
363
857
182
514
981
695
603
170
303
50
822
660
838
878
116
599
757
494
939
749
547
83
537
19
902
259
88
531
782
843
90
777
151
682
42
455
893
940
270
416
272
521
959
577
787
127
948
444
114
947
973
586
739
382
209
672
399
252
777
999
622
978
527
45
121
471
980
887
84
239
454
210
466
820
814
259
827
913
633
224
453
368
230
376
598
329
847
348
534
252
515
145
243
494
960
815
185
453
497
915
566
375
473
798
559
918
161
632
252
652
224
280
422
953
481
239
352
271
903
572
991
450
312
99
168
752
283
58
486
771
350
411
808
741
424
514
115
333
409
474
941
869
976
502
729
417
429
71
554
81
226
58
536
552
666
172
774
213
468
671
183
156
341
529
747
29
638
284
97
857
704
520
224
539
797
768
789
998
573
612
290
482
954
606
510
358
115
109
799
946
667
844
496
48
49
80
950
654
678
141
500
998
840
633
72
295
29
537
511
504
342
537
0
27
878
918
162
739
495
513
927
925
695
985
831
430
651
572
292
619
425
546
515
527
582
861
474
780
925
220
819
247
966
110
95
764
483
950
939
766
167
513
956
288
482
932
786
413
892
513
164
83
663
321
553
255
529
721
627
342
210
816
313
522
71
699
97
247
655
767
676
842
330
687
155
986
860
473
150
477
74
542
765
343
77
914
222
124
665
621
387
356
978
502
496
950
216
881
393
345
635
524
489
779
517
872
648
717
579
908
206
73
681
880
882
160
513
794
591
510
872
446
580
444
680
97
967
780
692
107
449
865
902
317
134
654
343
297
428
127
845
331
147
774
36
38
830
891
970
290
101
166
783
12
334
13
893
978
918
119
647
119
970
259
751
295
990
167
568
801
614
963
633
91
61
614
386
621
947
857
674
173
968
911
937
229
740
729
495
605
212
13
564
887
432
738
979
114
810
213
601
402
843
2
976
111
133
361
459
594
299
264
699
669
949
274
207
498
198
475
980
344
577
710
655
35
480
753
48
532
431
250
865
202
793
970
938
202
167
10
413
110
200
72
701
396
850
277
430
469
452
599
277
843
66
658
212
304
149
101
997
552
501
958
577
469
52
768
783
413
149
396
83
448
984
764
237
347
29
399
53
531
326
991
59
869
806
151
777
497
937
112
372
553
136
601
183
963
683
341
311
613
799
620
439
278
21
292
701
403
388
176
465
203
204
174
200
41
231
174
278
484
581
859
310
49
202
700
43
192
593
413
217
5
18
417
102
7
821
184
779
152
984
143
98
699
828
696
690
969
423
650
563
778
523
473
134
709
137
729
153
408
7
614
998
159
513
182
499
288
858
399
182
369
47
477
262
479
753
487
513
247
735
181
899
618
537
974
901
411
771
90
490
189
716
66
475
300
549
747
489
507
421
345
612
745
303
921
236
747
922
759
914
461
67
477
35
479
69
602
922
348
154
866
255
882
426
833
632
52
436
356
189
592
846
356
322
814
841
643
21
709
931
948
400
913
906
505
99
307
686
271
239
940
310
23
339
220
418
520
559
653
843
168
838
220
384
234
387
393
274
458
9
225
906
393
412
488
504
763
124
849
989
778
513
69
592
96
371
832
911
196
14
932
659
358
247
275
318
115
635
129
405
738
575
755
170
104
9
103
566
855
923
784
991
994
923
552
286
844
741
261
642
131
82
567
356
221
917
229
385
618
788
399
843
7
242
350
23
637
31
234
192
74
975
995
396
814
974
894
150
845
498
650
426
162
996
188
905
394
129
407
861
163
852
494
878
342
678
407
830
65
331
72
420
958
221
463
214
339
195
790
269
765
987
678
622
177
21
463
867
940
236
18
455
11
390
756
489
613
907
768
768
291
932
476
644
940
46
393
275
335
837
136
648
87
360
147
509
755
448
307
339
687
112
891
396
323
987
231
353
130
938
560
797
634
17
439
202
301
380
444
939
255
255
717
912
953
515
385
79
519
860
547
237
135
662
470
69
983
124
882
944
751
263
11
226
751
786
177
480
114
686
922
876
670
73
483
955
209
347
189
669
860
102
747
511
459
796
812
102
740
284
660
844
348
851
419
561
131
936
185
511
777
611
587
679
424
400
938
343
236
93
639
242
173
441
927
646
101
571
265
418
928
656
708
962
514
819
821
812
526
360
741
77
844
857
22
906
986
910
208
758
325
814
346
122
960
397
165
999
833
936
535
178
67
392
751
572
401
43
901
38
279
160
947
51
461
435
608
479
338
731
626
882
119
422
357
113
12
314
894
423
409
667
978
792
462
561
993
931
818
940
638
833
727
254
899
148
677
707
85
119
841
275
967
390
583
283
59
19
994
859
913
171
925
915
932
251
486
690
485
357
378
264
244
665
370
440
701
699
517
763
368
200
160
606
44
811
701
254
196
545
38
372
706
733
596
868
76
948
728
930
46
607
605
100
974
113
540
592
725
634
59
800
331
98
436
896
163
279
259
150
426
295
825
394
8
517
567
727
136
991
639
682
864
505
911
946
326
827
1
7
265
354
978
988
901
677
834
38
173
393
559
16
530
9
860
643
557
261
746
884
188
141
708
261
97
971
581
431
471
940
494
713
573
591
157
399
486
131
335
575
844
672
569
734
943
328
250
25
664
523
23
147
269
809
975
997
765
478
445
374
55
259
461
947
38
231
374
982
430
918
937
413
163
507
125
374
917
659
253
965
323
998
205
271
113
325
917
280
571
207
137
733
3
454
944
972
778
657
459
589
276
886
484
422
563
681
990
69
793
558
514
366
902
171
468
499
224
410
162
961
106
548
558
550
88
988
30
16
644
131
956
995
824
591
890
143
495
796
917
231
753
904
164
292
297
440
655
650
668
697
363
951
656
410
792
231
870
87
928
395
995
974
426
853
829
397
184
64
710
561
888
561
825
4
293
575
504
276
560
842
111
87
31
116
695
200
109
856
994
371
856
10
414
273
786
205
980
835
303
903
464
883
722
192
151
855
11
350
799
431
541
280
299
700
633
983
687
578
768
222
694
727
824
268
96
953
708
995
317
875
915
59
333
440
67
893
391
729
542
342
31
769
746
66
590
448
700
76
476
24
891
827
512
392
19
195
268
1
754
596
625
808
855
13
137
784
413
894
60
532
301
308
36
420
343
877
748
430
103
357
250
837
868
540
160
773
202
202
906
24
265
53
774
160
215
171
433
605
145
876
926
10
0
310
93
376
306
12
412
849
912
536
100
428
482
966
411
600
692
0
641
725
944
171
653
328
361
592
722
678
318
409
449
225
741
840
163
241
235
377
415
154
4
361
417
393
117
376
628
168
289
315
940
723
876
933
189
762
20
210
501
819
411
738
365
594
514
248
888
42
316
762
729
842
979
409
23
174
492
596
523
806
196
911
588
794
427
597
170
45
352
3
617
328
841
250
446
819
180
136
976
771
458
257
896
498
206
338
381
159
418
988
198
701
690
660
760
252
437
238
733
864
272
944
481
603
815
16
352
285
950
490
653
252
686
997
219
746
958
69
762
632
575
382
390
578
420
765
364
61
102
484
746
447
771
925
554
402
665
210
947
615
259
766
251
145
32
159
318
131
388
234
200
763
548
655
184
165
824
509
934
88
529
205
552
769
963
104
569
881
531
309
972
225
772
474
437
857
737
526
86
680
750
883
373
898
857
300
982
793
724
293
35
334
903
838
883
776
558
918
69
899
265
687
265
890
425
191
730
934
940
826
297
438
394
607
206
501
841
908
478
539
967
931
770
422
953
746
577
738
956
120
178
296
186
523
228
642
965
964
912
248
897
233
729
225
673
139
613
115
727
890
116
600
704
932
598
299
902
339
178
87
565
507
379
866
257
450
457
934
911
990
161
739
222
983
475
409
783
334
196
348
891
803
504
919
30
433
488
873
721
901
929
698
832
739
259
90
871
837
31
971
292
82
101
236
69
415
118
375
426
365
566
575
35
392
966
730
681
44
349
924
412
717
282
525
904
955
131
933
775
497
84
863
568
232
528
542
12
764
466
375
899
662
932
957
574
575
62
787
258
216
187
680
681
934
115
408
926
13
893
605
241
493
492
777
376
441
488
144
673
913
85
540
340
243
719
752
323
710
302
455
120
896
969
646
750
753
392
711
753
754
887
269
657
758
22
626
542
433
800
894
599
515
812
784
768
163
354
56
173
902
378
361
159
567
422
700
878
824
249
447
820
245
357
234
610
822
990
510
721
381
879
435
787
160
559
741
474
810
271
214
297
102
874
761
194
634
615
546
813
62
675
391
711
429
705
204
447
221
847
804
640
261
937
370
473
702
826
15
50
805
717
718
307
298
946
559
823
697
852
436
206
555
342
998
974
110
135
793
613
191
19
655
332
852
927
566
15
50
183
7
720
661
945
415
36
388
697
692
172
530
481
701
864
758
435
878
778
465
383
569
51
540
472
34
971
699
872
755
618
67
652
220
445
739
985
492
94
691
72
346
836
943
255
85
358
309
277
687
176
689
670
500
544
596
115
379
840
154
922
598
793
949
936
768
334
473
327
619
389
655
417
373
56
986
994
579
456
659
558
886
4
343
712
927
872
997
388
846
620
591
692
432
93
681
470
98
467
666
3
619
637
323
515
392
142
230
437
465
121
863
573
491
418
533
444
358
375
285
368
948
927
772
334
672
428
606
634
125
862
78
501
158
658
873
936
54
451
895
653
540
663
976
484
635
830
910
162
56
537
205
151
632
841
880
822
899
143
526
447
637
301
879
952
253
404
481
670
818
405
844
357
422
45
409
370
549
483
555
440
70
364
954
1
880
906
630
476
401
772
397
417
746
712
782
22
875
375
641
698
716
177
986
886
507
974
354
793
619
537
780
72
725
221
247
240
645
641
790
919
837
828
603
39
669
166
378
953
184
789
960
346
545
459
776
211
469
520
745
916
754
456
216
43
110
601
732
393
875
63
329
926
226
406
307
476
587
46
747
647
302
557
804
485
54
239
703
362
953
513
508
136
53
46
503
31
198
191
173
89
747
536
287
152
986
540
650
616
925
772
510
665
1
26
144
113
925
167
320
22
152
766
978
657
871
344
57
719
359
192
909
731
365
628
729
332
455
39
584
736
134
265
603
900
556
303
683
728
404
44
10
667
880
317
710
32
608
999
406
981
20
458
730
869
270
401
952
724
435
30
54
655
82
614
430
493
645
638
564
471
970
49
859
578
737
173
804
887
224
446
645
388
782
629
46
132
88
276
630
733
513
955
859
21
570
358
919
844
121
719
285
429
952
188
746
998
521
671
771
518
116
882
205
789
852
891
1
1
631
941
151
850
90
407
171
520
865
344
620
934
716
240
677
731
680
783
389
433
733
82
529
933
830
880
201
367
672
319
753
972
907
82
407
560
847
652
247
704
457
973
761
860
533
997
470
454
798
838
970
496
526
326
869
979
71
787
52
641
778
241
741
837
719
404
999
958
750
722
794
63
575
600
916
912
919
386
52
327
498
781
214
300
338
232
153
805
226
645
195
234
694
770
761
429
607
650
493
173
530
642
278
745
304
641
269
412
127
60
691
976
425
548
351
987
234
549
262
384
852
876
508
280
527
360
267
208
191
846
794
194
97
691
323
10
898
583
402
748
921
522
706
280
83
711
390
263
275
496
833
224
955
967
647
885
348
280
492
193
836
226
6
464
187
953
500
901
804
693
119
777
138
288
389
112
969
601
699
615
670
796
837
83
565
549
372
290
260
767
265
888
596
407
613
340
116
687
571
238
306
229
720
454
154
592
895
554
655
629
540
322
518
320
200
617
430
251
474
389
181
92
344
322
768
305
647
95
543
234
667
833
306
561
314
751
631
362
676
868
411
133
808
338
398
421
947
210
921
165
624
83
842
180
420
163
795
220
123
268
948
66
729
510
737
999
949
18
342
536
648
315
237
741
132
858
169
887
434
730
831
760
289
1
847
480
213
655
904
607
251
368
873
262
226
108
30
890
960
546
185
47
644
132
952
938
25
832
362
962
881
952
404
928
980
89
656
735
191
915
570
183
464
101
625
326
486
571
30
569
622
208
871
213
651
377
841
526
339
848
736
519
835
3
273
388
912
566
702
879
849
647
220
513
332
446
896
200
676
831
266
32
547
610
899
776
924
546
888
68
302
334
161
478
310
603
468
24
643
683
267
890
123
198
729
224
687
522
188
915
803
370
866
986
692
158
919
573
543
710
64
115
164
401
618
151
927
148
581
81
53
350
715
383
137
518
847
698
719
513
16
453
422
283
933
484
2
496
710
203
867
352
870
307
727
547
896
594
787
24
989
362
548
99
382
768
453
703
6
78
171
138
422
724
342
753
859
10
83
452
619
55
946
223
421
400
726
433
431
983
418
416
895
851
674
517
215
838
692
296
823
949
331
708
105
199
159
333
915
486
950
580
185
746
204
855
6
6
979
477
982
44
836
735
889
334
983
910
485
330
16
421
53
619
167
541
506
952
759
318
581
339
368
722
643
93
666
262
975
759
814
973
896
455
368
647
46
952
365
78
448
112
916
716
562
293
206
313
539
699
249
347
289
737
735
774
851
723
499
701
216
120
615
941
73
611
971
189
730
864
418
852
799
204
683
392
846
435
700
133
5
48
76
743
616
853
587
786
789
23
201
672
633
576
246
616
505
650
455
885
648
289
382
765
34
371
458
852
891
887
39
476
840
504
334
610
776
949
771
114
37
520
244
46
356
97
764
131
719
168
959
51
333
538
587
832
559
525
793
270
666
950
41
882
170
937
345
731
656
638
788
594
635
316
131
373
180
505
173
526
112
723
696
6
671
310
814
472
550
278
673
747
506
43
28
618
847
459
683
279
258
460
360
63
713
18
770
518
589
952
129
891
237
109
23
772
181
621
105
454
424
853
371
881
235
630
630
985
363
837
801
440
389
857
438
88
73
664
91
914
277
741
306
832
409
602
2
235
11
344
463
101
863
958
488
39
595
836
263
788
617
720
889
179
247
70
776
212
186
783
283
366
320
711
413
193
276
407
923
517
886
337
941
651
153
266
700
661
113
988
535
532
655
679
656
631
790
447
58
60
313
967
130
640
486
185
106
992
304
541
770
617
387
423
504
418
611
561
490
255
600
85
502
825
823
780
247
514
456
459
763
438
369
963
868
482
668
351
159
448
120
317
950
420
630
715
925
566
48
650
295
354
317
773
967
128
910
963
332
578
678
921
391
950
623
154
984
596
426
93
458
938
820
99
816
736
681
524
131
209
625
308
871
180
88
765
937
990
768
601
31
615
801
496
833
328
513
785
389
884
649
530
166
360
819
806
681
361
323
516
134
864
183
457
998
195
397
682
628
315
362
875
98
155
249
318
593
720
266
794
860
914
813
891
188
650
570
535
283
643
661
734
476
415
62
842
1
172
488
518
367
395
12
667
178
510
52
222
797
767
625
27
505
611
759
62
387
606
320
829
757
737
770
56
53
811
41
359
209
793
998
971
194
96
473
192
785
92
856
346
747
552
737
93
386
232
34
755
720
403
813
754
44
832
400
932
131
439
692
597
344
975
688
942
287
551
492
847
685
190
552
344
223
256
261
302
840
368
206
913
1
834
111
183
877
173
360
8
186
434
781
36
124
231
946
755
309
753
443
179
403
984
935
681
885
547
956
341
722
214
187
467
459
535
787
696
398
135
916
99
96
169
668
596
74
787
191
74
316
192
455
956
231
966
517
6
815
899
12
360
897
633
476
469
947
915
614
255
312
960
946
700
520
946
686
159
179
163
751
680
671
507
498
282
435
729
271
775
281
732
310
868
14
525
188
98
16
274
46
274
795
951
846
38
664
194
702
983
421
961
981
222
753
233
862
89
215
978
575
41
391
149
218
908
468
179
955
74
999
461
640
22
696
937
124
661
771
824
256
5
274
104
909
99
60
221
171
926
795
304
736
916
418
928
786
570
223
576
973
254
999
449
974
533
181
779
588
975
376
859
272
637
948
176
698
158
417
77
355
175
535
521
758
889
559
555
957
690
728
280
886
720
692
238
24
911
525
944
326
857
872
400
285
416
983
395
719
543
869
408
458
725
669
93
11
421
387
911
839
621
927
450
247
848
678
194
525
969
700
625
370
108
51
628
106
708
712
888
720
186
205
75
442
806
687
346
672
183
194
927
834
374
205
677
563
332
61
456
57
852
154
248
459
731
906
960
382
630
458
318
527
462
330
717
651
833
687
128
374
423
847
893
622
407
50
230
498
940
658
510
203
902
146
902
651
717
173
298
79
265
883
547
902
818
878
535
770
353
62
454
602
880
440
986
293
138
771
850
349
120
344
280
928
562
127
182
302
425
943
462
545
643
174
264
835
962
837
101
947
772
597
604
416
565
187
802
247
563
258
464
895
384
815
192
201
491
547
232
76
547
699
819
392
674
57
541
160
42
615
924
943
627
87
314
893
204
552
180
602
849
79
483
587
603
790
830
894
413
27
571
840
901
67
183
102
60
340
814
86
517
752
677
540
109
800
718
889
119
480
100
87
222
91
112
539
905
415
231
226
998
357
230
424
661
4
742
839
100
891
175
591
737
485
435
227
891
578
622
531
448
354
881
628
637
101
216
847
85
456
984
185
204
466
812
927
262
803
189
547
543
711
306
687
801
913
653
664
824
917
57
397
797
729
890
318
522
441
817
876
959
573
200
57
855
302
585
639
853
766
458
773
350
918
780
164
280
211
313
30
579
520
594
208
842
945
850
613
428
340
630
469
231
347
167
462
557
377
934
589
33
823
165
65
631
752
704
231
563
313
344
925
961
591
515
203
205
38
477
438
504
867
904
192
628
20
579
471
404
998
357
91
872
761
677
30
614
458
461
430
181
705
688
925
612
974
98
940
279
645
184
602
837
604
103
735
52
55
146
374
777
77
966
471
264
651
787
762
813
321
739
492
886
313
331
127
817
548
764
422
32
33
784
352
105
474
257
844
161
790
885
458
500
385
451
319
188
95
717
267
548
177
202
938
419
383
406
538
225
483
728
382
194
103
677
124
415
621
72
108
254
208
112
851
397
195
524
399
730
175
457
122
181
206
416
922
869
215
900
718
193
344
874
11
243
380
526
647
175
292
105
774
116
762
12
608
865
34
754
933
418
190
488
437
404
701
330
581
341
443
482
471
136
573
948
383
738
235
84
145
546
137
531
145
165
64
675
49
292
806
220
329
223
408
651
223
995
284
520
155
337
873
40
778
331
136
761
983
185
192
133
956
778
819
819
54
849
840
629
544
719
717
770
881
94
145
581
957
98
945
674
627
337
656
197
161
941
623
424
27
242
613
565
909
633
618
82
114
908
457
18
623
152
797
962
514
64
327
437
705
547
683
203
245
222
406
308
646
583
636
837
104
699
478
507
579
710
916
73
625
672
972
955
859
601
718
962
726
470
158
471
397
433
88
269
20
867
588
384
412
592
28
859
94
771
154
46
267
409
192
840
583
79
632
817
166
279
337
897
421
503
479
399
811
189
675
589
740
553
548
722
92
359
783
594
460
237
205
250
521
740
336
354
810
425
623
150
622
54
843
217
339
719
556
182
616
266
86
797
399
562
462
590
812
725
347
151
31
3
594
848
859
44
20
885
116
900
101
784
390
878
662
571
802
209
274
238
936
871
737
391
733
488
361
355
157
997
276
365
326
668
468
921
155
899
385
275
48
649
884
310
399
957
953
468
844
977
833
5
880
905
634
416
693
403
657
265
696
558
756
870
967
559
509
815
294
268
596
147
138
723
307
135
585
423
366
559
417
17
645
615
355
718
837
772
34
910
781
732
161
733
947
419
202
639
321
810
398
782
964
727
701
872
375
161
780
74
112
611
319
272
846
9
12
182
842
268
763
546
740
506
425
196
304
407
923
704
679
118
400
590
775
571
509
103
397
696
460
502
911
65
900
216
722
283
397
843
312
287
905
446
210
888
220
14
322
82
431
454
676
554
959
219
297
90
575
651
941
587
659
249
378
787
842
740
97
85
382
325
757
907
606
847
454
464
36
354
987
464
15
516
527
524
960
905
836
170
624
967
158
964
644
603
810
599
516
82
426
28
279
865
807
647
862
813
217
788
0
788
495
601
175
712
607
206
284
749
749
186
361
294
52
177
675
40
579
65
632
788
772
22
180
737
798
865
867
486
92
192
167
359
642
660
353
243
290
863
103
149
943
24
490
357
859
617
671
464
675
853
529
799
162
958
263
230
221
619
609
410
402
811
232
417
286
804
796
784
724
738
171
289
478
94
128
337
571
369
132
241
259
168
937
416
915
943
36
470
646
108
300
69
960
728
89
925
993
354
802
316
432
913
692
305
823
282
971
456
816
520
3
801
739
629
394
330
268
197
121
338
627
302
184
906
125
509
14
73
480
741
532
971
837
514
166
695
996
751
242
277
780
82
901
890
386
719
297
750
587
169
255
815
348
965
898
558
752
86
362
761
969
78
667
509
278
190
40
843
671
658
735
92
636
746
757
823
664
908
681
18
138
494
930
676
323
717
332
480
798
581
232
34
575
947
96
654
610
557
733
353
394
731
687
847
730
861
907
526
411
274
833
665
854
870
982
713
223
453
409
982
484
382
327
655
230
800
528
971
628
787
831
606
905
32
351
821
245
766
216
22
286
950
801
181
933
679
393
971
139
345
195
297
262
141
241
129
168
163
200
307
140
815
563
887
135
50
169
692
387
323
885
780
872
282
148
378
69
594
181
819
454
819
522
145
932
801
808
193
338
775
488
872
114
770
364
266
624
800
679
723
477
337
8
232
74
934
598
667
816
740
572
89
754
97
752
283
551
640
179
973
878
153
423
829
884
27
341
309
764
475
402
262
77
675
279
275
209
188
168
678
596
604
661
564
82
20
999
159
150
928
560
5
262
829
683
639
738
927
309
157
473
741
998
284
65
857
364
784
911
271
83
478
718
63
515
181
227
664
303
433
964
733
568
399
268
167
712
21
54
661
122
670
137
732
992
849
529
493
90
460
591
717
996
750
963
103
448
251
261
532
752
522
193
695
621
803
316
562
590
233
213
596
28
332
824
936
895
680
776
868
136
91
875
80
39
755
623
387
135
910
771
412
267
812
163
335
614
525
239
200
368
320
226
850
667
100
860
605
509
422
802
148
935
379
29
760
356
115
81
369
936
208
910
884
784
980
245
146
147
26
81
181
894
850
21
801
673
37
200
693
222
828
978
800
863
926
19
802
174
542
597
703
302
152
53
907
975
624
675
254
388
81
40
261
537
455
882
750
808
510
816
397
869
922
994
90
351
784
709
876
642
49
913
38
878
727
459
494
3
618
504
598
497
206
487
325
544
578
127
247
779
822
618
182
106
405
669
904
177
894
711
890
750
214
955
759
994
95
148
82
247
783
586
697
823
104
198
70
582
12
50
594
121
325
527
14
315
50
54
886
439
589
256
724
492
172
234
652
223
851
200
637
593
72
24
239
464
659
461
310
574
138
902
709
891
918
119
630
507
703
764
243
303
35
873
680
190
877
726
200
127
519
430
72
976
992
247
581
111
223
330
405
52
510
526
528
152
135
618
545
854
941
424
298
405
756
394
475
650
606
764
430
67
973
598
509
601
980
701
104
513
258
503
774
99
0
6
675
490
217
84
295
470
59
268
377
731
147
634
427
561
23
384
541
415
727
744
247
326
339
336
484
168
228
206
803
453
28
830
457
495
821
500
164
451
717
946
942
533
259
845
668
901
987
811
38
764
164
280
651
961
468
447
202
105
706
419
554
564
877
937
310
440
55
67
133
624
540
419
371
420
595
214
593
70
669
593
319
15
653
780
604
764
619
390
826
124
976
397
461
917
306
290
720
456
670
338
702
863
442
938
141
163
432
201
494
935
641
898
866
348
367
174
91
44
456
751
93
444
246
932
831
439
558
802
639
281
993
725
966
459
342
376
77
286
793
448
478
967
951
376
458
975
98
605
760
134
725
415
301
525
381
571
525
859
596
157
891
681
871
747
561
79
35
598
477
255
575
470
168
886
371
762
313
110
180
956
774
565
327
723
43
442
139
29
120
782
788
453
847
229
583
505
975
557
490
522
299
654
483
651
223
288
922
3
881
596
359
109
822
79
512
333
589
85
789
639
581
767
30
167
104
692
421
754
146
266
478
61
298
367
798
381
791
229
681
146
30
630
824
311
416
364
816
126
570
176
213
7
665
742
335
783
118
21
748
102
374
948
674
558
169
84
369
835
702
481
48
22
778
902
549
835
439
988
384
484
149
529
670
292
464
775
884
127
847
512
382
440
204
160
548
571
287
210
898
507
154
207
112
286
751
341
67
624
549
680
140
707
797
954
476
791
938
991
162
998
599
504
183
915
232
744
46
395
454
385
759
189
759
99
808
249
688
78
213
753
143
534
168
864
594
484
168
305
116
598
911
914
722
477
425
903
558
156
398
569
156
628
492
70
148
353
766
506
924
500
755
185
190
48
49
394
75
554
341
930
245
283
244
946
294
410
600
8
79
487
357
453
209
99
0
758
496
993
963
752
60
34
205
472
390
226
575
325
671
690
127
791
153
165
810
142
843
956
215
260
444
323
260
522
764
400
908
431
856
732
122
892
501
37
945
763
639
589
231
818
49
99
287
597
313
741
169
12
457
453
230
159
731
322
368
905
999
426
398
234
341
52
985
129
198
976
291
468
578
195
5
7
977
807
157
887
381
589
786
323
612
640
715
343
930
31
488
828
370
810
145
465
376
395
252
552
681
523
847
143
522
5
613
189
936
37
57
902
901
645
81
428
553
590
66
285
555
738
265
332
491
214
455
86
651
313
333
292
3
698
738
863
359
880
2
664
671
94
321
14
112
297
46
263
602
765
545
648
559
741
428
877
988
440
426
203
595
990
200
869
458
551
837
275
582
627
974
519
397
725
894
781
966
978
92
42
315
738
804
418
962
816
161
588
478
458
130
843
523
763
839
444
699
423
153
832
667
303
367
243
703
933
587
473
583
323
158
546
900
153
448
555
610
107
6
697
629
580
419
843
553
794
656
595
127
883
925
280
490
638
623
609
522
134
483
449
461
510
511
570
439
759
309
528
167
951
83
378
21
496
552
15
456
288
861
310
642
267
853
353
42
128
250
862
743
851
751
496
965
688
521
190
475
198
67
923
870
654
526
63
962
204
980
397
588
286
622
42
910
365
482
577
932
523
741
311
281
790
189
260
981
741
900
939
306
986
303
50
781
829
203
25
14
517
823
437
340
76
335
983
385
17
364
660
428
182
614
299
233
615
55
127
442
900
601
128
343
727
802
597
454
175
785
454
666
317
642
926
589
311
484
940
889
243
895
130
282
590
861
829
694
17
400
97
707
676
717
174
583
259
234
534
638
930
231
613
839
614
704
456
456
356
622
40
240
97
138
993
633
817
238
70
924
415
663
156
903
698
275
237
704
480
564
183
859
580
433
84
161
300
288
973
200
16
768
848
609
674
576
636
500
903
91
986
799
63
274
553
498
821
89
661
697
599
140
231
820
936
38
157
715
928
897
71
220
286
638
567
342
335
636
842
212
642
905
972
127
605
34
374
196
917
446
79
66
713
297
523
131
571
824
308
887
53
911
502
768
595
790
188
240
138
377
577
828
512
967
575
318
677
957
854
547
962
93
577
230
158
181
761
424
95
190
129
292
570
103
916
126
272
576
979
470
783
312
924
412
22
32
481
681
229
556
276
495
530
147
508
314
667
347
648
318
147
916
348
859
247
805
87
75
185
91
758
221
789
848
213
259
965
585
779
157
706
727
510
27
849
464
266
167
834
862
914
74
766
446
37
610
768
127
79
602
752
59
7
395
432
406
926
235
540
840
487
602
445
226
847
968
834
492
307
774
385
707
152
528
524
404
487
656
311
183
638
289
9
877
874
862
338
489
709
432
490
629
431
778
996
620
488
339
525
369
107
840
523
131
748
187
526
192
196
414
251
890
459
623
917
141
977
483
189
773
489
211
787
628
764
689
423
564
416
94
457
560
976
713
199
718
762
465
118
707
963
783
619
658
555
291
948
770
39
274
623
739
893
335
101
516
332
542
264
702
950
955
511
361
680
335
3
288
794
974
422
32
33
481
893
903
633
935
823
31
523
954
567
516
88
691
363
695
995
916
277
405
916
602
48
34
935
752
580
263
113
438
67
743
481
479
921
902
854
863
756
270
884
352
981
430
136
781
937
43
143
89
315
376
723
519
204
592
665
371
823
435
950
104
429
647
664
99
306
51
253
442
111
180
555
588
350
87
205
325
923
324
80
157
405
963
14
655
990
389
333
971
533
689
216
624
986
658
15
76
470
181
187
606
532
144
46
655
101
9
262
671
116
169
25
220
548
784
663
952
469
47
501
689
900
750
946
256
59
864
858
642
458
531
779
941
542
438
576
211
586
355
720
182
686
962
909
658
362
609
747
766
417
69
176
90
52
659
18
406
517
383
745
171
444
743
612
456
895
592
169
553
35
613
84
554
16
432
287
548
821
717
108
702
714
861
519
934
265
488
604
865
207
399
362
68
924
425
301
147
464
145
81
675
353
684
774
703
54
769
337
823
322
286
746
284
864
401
399
216
507
994
508
479
197
337
256
482
36
970
512
225
756
50
809
583
769
552
73
507
818
64
57
296
943
899
114
142
135
755
332
852
785
317
885
73
605
349
453
472
692
954
480
61
486
754
224
755
361
378
652
672
998
198
656
77
121
545
868
703
464
67
885
408
861
680
370
429
960
396
925
963
710
781
142
85
589
808
493
956
82
443
158
803
464
772
479
897
100
450
364
619
63
517
49
328
499
74
956
135
726
911
177
551
153
527
581
204
287
904
839
72
468
142
15
166
96
368
936
290
213
392
19
66
938
359
111
532
956
315
891
788
931
743
201
719
354
225
411
242
162
502
250
395
582
145
450
570
203
308
867
13
966
38
252
821
682
581
463
681
269
354
175
943
466
222
900
426
10
502
504
72
742
805
645
127
245
655
652
7
675
588
688
159
661
667
547
349
716
332
926
703
679
781
352
251
275
387
614
631
548
255
984
298
414
690
420
283
881
628
175
557
969
84
841
11
268
88
698
51
292
521
592
877
97
83
215
31
700
371
822
996
746
601
80
287
696
112
114
709
79
937
15
551
137
634
636
424
309
322
82
222
235
529
334
155
139
907
666
171
91
644
546
761
90
748
240
400
407
981
281
213
288
962
128
202
837
951
973
66
608
608
758
878
745
675
84
589
597
509
735
694
328
486
993
988
773
495
48
16
882
902
393
270
850
513
330
43
189
147
636
677
139
191
120
393
49
854
129
173
432
388
31
752
198
630
225
584
989
872
454
265
916
605
129
337
143
252
627
626
473
352
957
879
579
729
823
508
636
0
985
914
63
509
665
902
270
85
570
163
530
67
38
399
882
956
437
373
814
253
658
766
863
4
827
538
356
94
998
809
962
272
142
225
830
938
220
974
82
740
254
516
414
0
202
357
155
120
584
146
366
225
923
712
79
965
238
729
358
835
420
835
973
286
388
857
870
240
330
472
634
717
1
698
769
617
101
659
445
699
42
194
307
553
964
841
713
574
919
996
875
105
781
258
19
482
410
11
692
467
528
883
641
523
998
230
193
358
521
185
318
462
643
387
543
777
55
248
692
484
454
268
560
299
206
153
158
748
323
700
642
490
214
613
241
215
604
789
867
99
561
992
229
711
601
500
221
132
168
252
885
456
407
186
903
936
82
510
393
182
924
936
115
34
252
710
393
742
398
613
265
902
442
598
654
427
357
17
636
730
354
931
567
7
218
955
37
307
374
52
544
273
903
444
97
582
810
189
93
661
818
525
336
33
915
847
662
582
96
949
119
578
792
222
326
853
816
897
256
417
260
161
122
902
947
796
232
899
59
861
411
999
423
363
109
419
116
638
430
35
476
750
646
410
636
372
302
424
759
336
307
959
475
958
565
801
556
448
410
992
428
876
398
161
745
598
535
63
388
562
197
786
946
94
160
542
281
29
732
874
335
89
314
813
536
781
410
771
472
665
226
490
1
973
474
96
791
690
233
421
591
440
727
417
795
28
457
235
935
589
823
517
979
220
96
319
691
141
660
858
407
480
676
751
608
873
0
514
164
154
986
60
370
11
354
805
479
169
151
640
62
980
302
234
592
710
882
553
296
801
784
165
405
887
885
486
16
483
445
746
109
911
810
733
489
54
500
781
45
547
758
471
626
336
165
408
919
170
61
557
593
632
101
426
595
455
78
258
959
830
796
37
2
472
130
345
533
523
720
686
993
625
338
212
753
593
12
840
784
453
223
109
736
131
936
955
603
715
920
590
385
386
605
386
299
777
997
812
506
858
32
876
49
537
798
604
792
549
363
97
696
798
110
825
310
68
681
712
839
424
263
287
847
546
663
957
680
209
653
745
916
376
974
356
802
823
668
37
86
330
76
427
771
714
799
233
578
499
939
482
148
149
342
17
74
573
662
6
522
446
928
546
891
565
677
115
655
701
371
874
18
858
610
280
919
374
333
811
853
917
295
660
368
137
920
533
62
695
419
298
432
180
64
755
920
228
482
219
680
980
725
407
682
971
702
424
140
472
379
646
383
369
840
58
211
640
10
860
139
116
116
602
885
558
539
18
316
59
129
493
973
439
37
664
601
11
992
847
316
538
271
534
286
187
588
852
328
648
317
162
386
453
611
83
662
816
890
13
220
199
300
987
46
265
668
811
508
981
469
881
152
713
632
408
967
387
806
609
476
567
551
641
533
850
811
785
252
504
367
618
105
104
874
463
916
351
144
468
561
54
280
496
507
264
807
13
499
658
715
558
440
150
139
961
579
706
896
828
998
713
349
453
380
480
303
721
584
828
490
83
449
730
417
840
629
336
168
170
587
756
153
766
300
953
527
824
986
555
32
744
258
416
645
303
306
97
857
772
279
222
662
642
724
593
588
62
267
816
217
90
852
18
706
49
856
118
46
603
873
642
436
256
170
25
84
751
179
664
971
128
274
544
293
105
694
176
986
262
336
794
159
51
93
484
869
58
299
244
970
917
278
692
285
751
720
686
140
490
249
313
816
879
239
673
981
481
604
274
250
356
84
861
586
151
852
161
792
405
878
244
239
502
66
772
487
761
328
632
476
988
376
72
9
502
115
517
968
343
200
258
522
340
866
759
847
336
177
78
733
584
301
464
796
266
116
991
746
291
331
512
217
112
396
632
285
832
380
569
880
176
624
802
885
345
142
564
170
278
798
171
332
69
423
711
984
502
864
595
311
308
469
573
75
611
349
86
208
112
506
359
231
376
788
151
522
88
790
63
270
156
584
483
93
431
655
825
759
708
150
292
909
870
637
896
997
261
263
617
995
669
667
774
482
691
115
265
330
423
655
28
298
198
632
232
919
816
137
46
553
753
138
483
571
512
922
730
143
344
982
821
335
616
273
168
331
739
372
112
793
737
690
727
518
177
435
706
91
599
184
866
554
169
370
684
942
799
524
231
107
801
248
624
389
436
527
677
417
229
480
332
276
612
792
684
339
228
347
553
886
704
948
428
280
173
494
275
861
796
22
801
605
826
142
240
831
183
612
158
290
855
68
600
64
636
801
202
235
115
502
332
918
990
994
97
202
432
333
434
960
895
331
863
670
564
981
769
270
366
374
712
611
770
482
765
128
226
31
379
88
474
81
964
793
366
108
469
132
527
403
231
518
220
52
63
768
615
949
668
352
237
232
601
261
731
206
95
814
351
150
958
929
831
772
166
196
835
568
196
749
99
365
773
557
566
696
221
804
750
287
796
682
745
27
41
617
655
990
234
822
455
262
315
546
541
850
720
825
265
958
5
151
331
624
497
705
367
295
504
154
469
500
578
435
166
89
982
558
694
410
214
923
84
354
445
578
143
197
69
267
27
872
113
686
165
441
685
520
771
97
134
41
741
669
207
916
280
174
663
3
758
174
682
194
988
913
261
680
478
233
903
939
515
86
418
842
795
913
155
462
684
257
305
845
327
499
973
312
182
957
594
228
351
32
768
781
463
169
635
65
718
164
875
221
787
895
591
427
724
625
726
211
65
202
231
276
958
519
308
392
157
712
238
446
861
439
779
58
348
561
834
948
737
974
255
258
49
17
114
791
712
573
665
964
935
616
213
623
430
344
775
835
884
399
874
274
757
390
630
561
639
235
51
218
688
394
884
792
972
575
132
710
506
128
777
678
479
613
497
936
852
554
603
159
468
178
337
45
143
319
430
301
976
738
771
371
167
276
446
159
518
166
616
22
853
208
591
11
666
663
773
375
725
944
911
207
307
576
297
215
250
952
416
556
11
930
422
407
862
562
948
322
50
414
202
120
505
618
641
173
422
341
166
899
995
668
836
629
828
986
217
591
922
649
434
70
909
144
493
918
644
766
858
473
247
24
373
503
994
207
974
409
599
552
123
93
171
347
904
583
227
87
659
325
903
356
343
893
304
47
490
315
97
904
764
187
228
143
73
576
838
223
314
960
487
491
963
622
605
51
634
407
444
441
246
786
299
480
629
702
61
938
622
349
542
876
418
504
747
960
395
926
42
85
410
794
614
896
805
875
246
753
687
763
717
374
485
523
586
106
962
380
617
787
575
879
163
794
434
23
79
364
328
862
538
155
907
789
326
497
776
542
366
731
183
105
98
125
459
402
997
632
135
122
274
330
121
819
909
331
697
693
727
766
986
166
321
775
965
35
680
786
937
29
507
100
305
107
407
388
745
840
679
195
759
116
35
963
33
924
863
980
726
851
66
951
99
192
803
47
549
480
82
899
676
776
27
945
278
634
51
349
685
355
90
121
731
744
9
93
830
910
932
271
160
0
548
514
206
581
357
769
208
151
185
782
398
768
341
361
836
272
822
365
583
870
426
344
399
33
378
915
398
4
387
713
146
931
212
942
115
110
411
953
987
700
732
646
444
210
891
678
67
215
969
753
388
481
376
372
607
732
81
704
803
935
120
395
97
593
871
197
339
248
929
438
916
10
554
622
246
619
513
315
399
516
938
716
643
194
419
130
390
979
47
800
273
257
558
256
388
127
357
665
164
477
648
160
403
505
698
592
648
175
70
961
694
118
200
895
598
316
209
657
726
920
257
965
535
824
728
763
842
432
239
163
675
1
301
347
161
952
73
623
57
910
356
562
933
337
60
789
859
698
523
53
771
743
767
808
446
791
459
597
509
674
188
529
500
764
662
518
223
13
652
251
380
92
841
769
858
361
655
867
691
192
344
431
900
453
472
471
824
576
426
10
526
198
703
492
976
252
261
669
679
113
388
618
488
652
786
148
773
94
105
222
573
235
459
306
974
503
843
410
464
888
5
689
281
652
585
277
879
995
346
747
50
909
747
877
19
564
493
306
366
673
976
671
615
993
534
908
330
103
564
203
759
1
922
753
935
979
114
196
581
399
951
296
429
949
92
207
687
564
752
822
676
960
816
95
951
719
510
71
874
503
688
710
132
109
783
592
308
722
503
498
269
889
238
39
877
198
493
33
330
434
626
764
389
627
914
228
550
710
526
576
781
306
828
897
393
513
363
438
631
970
460
578
272
414
629
615
913
510
126
169
104
430
625
61
565
685
555
822
684
855
109
966
787
902
325
388
664
711
784
673
231
974
830
684
630
655
492
286
496
809
389
514
667
972
316
583
170
154
2
424
9
482
52
585
86
250
263
41
712
351
73
902
825
678
786
91
532
466
810
772
308
836
486
279
316
428
996
171
514
466
780
793
538
989
524
252
565
350
177
245
503
937
591
843
378
34
269
19
399
881
801
392
328
863
436
353
203
195
568
157
820
417
63
682
523
139
784
258
527
504
547
539
98
93
926
138
392
669
663
343
494
940
97
873
706
476
113
267
417
981
392
585
623
984
584
562
587
81
542
244
728
397
147
183
948
95
914
109
238
679
569
966
2
424
360
697
360
549
840
14
998
761
825
784
843
466
16
239
557
276
570
180
365
48
214
989
205
287
455
517
706
520
952
264
129
626
778
422
664
410
588
917
137
331
42
942
118
91
677
843
50
636
863
316
726
909
563
591
273
669
244
496
256
204
523
130
598
229
813
333
419
702
937
542
835
190
758
283
764
674
230
746
537
735
459
17
199
522
866
752
430
399
768
420
83
574
276
480
154
205
688
165
959
983
840
133
254
263
635
960
971
768
673
212
749
843
691
364
985
614
238
108
205
147
507
58
981
108
204
90
281
205
664
756
814
59
912
768
81
961
929
570
823
326
379
522
962
882
839
655
954
228
844
481
674
839
709
810
726
429
222
66
410
309
629
880
268
876
76
202
986
328
627
107
521
876
176
690
67
657
580
897
964
242
966
145
479
95
203
925
216
173
246
763
671
734
767
166
328
752
849
772
317
232
82
855
170
210
554
704
849
583
88
655
853
14
328
405
693
635
420
70
546
148
687
557
141
676
230
486
202
366
554
11
86
686
835
611
377
572
610
817
974
558
139
533
541
232
989
843
505
675
748
46
468
367
277
278
453
930
123
7
238
877
222
59
850
25
826
321
846
105
956
437
918
153
696
393
186
839
371
277
357
286
981
399
306
983
982
688
8
366
22
24
879
878
485
898
914
950
742
760
822
3
624
91
416
742
493
842
738
121
891
394
541
186
382
489
638
919
446
244
113
124
77
803
158
574
666
966
931
506
526
827
215
487
638
265
224
925
86
138
247
824
37
847
48
792
171
699
381
525
487
959
799
439
630
794
529
743
386
205
526
713
860
252
18
2
730
991
342
866
243
550
452
947
376
728
799
834
565
932
453
166
459
76
654
676
188
339
558
494
27
187
186
352
420
141
400
76
381
793
287
77
866
223
293
71
126
176
73
193
928
304
476
979
135
750
408
420
594
51
495
634
835
519
551
469
803
333
401
490
922
136
879
626
40
12
913
510
39
304
821
606
758
772
576
59
645
403
775
32
463
39
142
675
429
111
143
729
878
212
648
625
978
323
145
367
876
918
760
854
153
447
534
792
853
177
118
791
870
351
130
467
859
571
549
585
557
357
901
985
437
916
615
907
199
151
436
330
48
480
438
174
682
343
136
795
568
596
787
196
561
393
979
302
110
656
668
530
459
903
366
864
440
183
66
254
614
507
416
890
88
142
776
951
170
430
170
807
845
785
214
401
851
288
802
487
850
362
555
150
921
104
188
703
692
74
118
281
475
698
654
232
418
476
100
59
568
629
891
769
356
262
804
139
974
281
26
56
459
795
295
569
309
684
786
802
219
800
49
976
218
936
169
160
477
19
931
595
713
811
151
588
216
949
503
211
218
116
160
566
948
260
958
476
8
21
785
714
395
140
925
79
340
522
382
975
285
200
152
125
924
804
58
938
128
337
577
933
773
744
691
351
986
63
235
117
564
410
616
117
903
289
322
703
619
19
80
476
861
654
343
329
330
181
569
754
658
252
403
359
213
649
275
480
253
874
410
27
965
928
282
548
570
783
131
489
591
405
610
188
585
910
798
396
107
743
687
256
846
388
502
943
183
859
942
669
266
221
699
239
619
429
37
316
104
520
371
597
517
523
790
704
113
419
127
532
129
196
510
774
365
998
845
761
854
346
865
562
55
335
453
246
931
413
135
786
849
5
784
701
559
423
981
679
758
959
703
431
44
792
265
24
756
725
157
841
548
148
159
993
668
531
338
848
296
64
546
651
628
713
21
693
843
892
405
760
392
401
476
969
962
270
254
132
2
137
504
728
43
701
95
654
659
113
678
461
34
932
62
587
62
545
839
441
457
603
692
285
940
415
34
778
669
449
226
424
367
395
323
350
59
982
115
672
627
50
692
498
133
904
881
963
641
664
813
855
656
168
709
846
440
632
298
926
479
663
4
137
271
926
259
29
948
678
702
456
102
668
395
153
830
900
544
605
181
168
282
176
251
721
486
554
361
376
735
656
561
411
551
759
831
265
128
689
430
373
348
885
977
205
975
702
899
172
27
203
25
194
349
410
42
496
278
847
935
236
26
245
736
605
142
300
1
269
187
365
370
596
474
808
748
669
184
329
62
154
850
295
958
636
30
303
648
238
911
129
184
992
735
935
506
807
748
210
490
561
729
800
562
534
281
835
339
306
622
422
988
41
274
619
558
98
140
370
617
990
554
836
857
258
699
579
545
727
855
133
329
961
745
598
486
72
301
469
522
705
749
443
363
287
518
724
226
107
607
689
435
523
934
918
692
828
284
949
874
711
850
291
679
513
871
605
158
176
381
249
253
334
398
692
444
991
749
761
674
310
38
660
709
505
995
257
741
456
900
126
395
390
102
698
797
556
137
35
105
242
459
891
866
981
971
882
397
298
614
333
392
449
127
324
591
511
520
889
443
40
986
697
249
873
724
756
232
375
585
401
117
38
558
599
563
272
953
436
800
263
226
780
419
269
851
262
421
662
768
456
381
840
720
933
929
310
590
22
679
397
605
890
255
710
91
415
617
691
419
294
738
913
447
276
270
144
543
636
135
902
606
511
994
396
827
563
89
960
861
230
277
657
618
942
191
221
739
994
961
67
751
660
459
737
596
740
746
133
35
272
840
669
742
433
455
123
661
253
951
542
319
705
546
25
810
750
525
505
243
442
962
505
577
818
891
622
703
361
383
27
22
663
538
943
951
159
806
322
394
130
859
193
700
330
384
614
393
999
122
438
60
95
27
387
235
262
451
358
537
834
290
843
641
220
885
941
912
663
304
316
705
792
998
497
931
698
933
460
730
548
947
924
647
373
497
738
689
811
678
82
73
410
324
794
246
675
742
907
577
711
753
148
605
238
949
524
221
27
705
799
484
258
84
148
429
397
998
795
748
122
324
28
538
39
875
460
29
584
307
330
820
256
534
662
939
908
594
187
553
276
476
115
444
659
862
193
373
805
345
268
679
497
762
39
866
613
850
577
991
413
933
339
395
402
502
679
792
226
560
623
855
567
44
429
123
52
225
151
452
537
760
855
984
571
807
261
862
399
572
501
837
317
382
314
275
619
364
218
776
22
84
429
187
171
11
84
635
837
334
305
411
487
627
70
476
279
358
460
454
257
10
224
224
304
521
880
717
164
577
925
334
752
369
656
414
342
152
719
53
33
888
428
300
994
673
510
957
342
761
999
125
18
754
427
308
331
911
7
406
896
331
352
97
321
917
351
143
755
661
178
610
858
464
582
337
58
406
243
34
319
780
699
391
389
45
105
237
460
184
468
78
50
298
980
214
619
186
16
743
622
216
187
70
317
520
81
67
785
242
210
614
11
571
694
591
530
494
590
318
626
180
325
623
371
571
617
283
570
872
71
880
883
395
592
362
134
511
956
181
804
299
828
695
20
849
112
523
195
627
136
883
723
32
987
171
147
236
851
539
465
694
554
224
775
197
763
970
736
123
538
80
92
23
833
227
799
30
319
275
785
676
952
556
122
805
826
353
930
941
648
697
171
484
688
803
182
281
256
756
255
509
987
200
171
754
928
962
781
708
263
107
932
405
78
270
27
435
94
523
826
370
647
875
672
4
307
562
313
381
326
199
960
455
917
557
94
183
26
679
792
318
842
631
13
468
917
312
695
485
22
714
224
888
461
559
584
138
860
52
243
192
309
877
377
119
798
211
727
413
955
786
901
563
318
325
271
865
232
746
982
894
347
56
154
705
58
25
137
216
525
156
384
984
627
526
467
27
48
865
348
607
625
371
15
686
628
668
635
503
573
647
525
185
553
886
582
736
378
48
874
478
686
203
391
394
44
599
961
243
221
482
683
617
809
41
189
446
38
754
302
989
864
590
532
723
225
449
992
19
592
64
873
212
475
550
583
93
13
921
204
642
718
139
147
612
958
756
861
81
46
770
63
562
130
15
510
592
285
904
995
217
900
850
248
936
85
808
464
812
490
459
96
180
714
774
66
672
339
664
1
587
80
617
989
328
51
918
814
993
163
759
410
686
662
117
37
802
623
342
901
162
782
751
187
21
76
598
380
630
910
308
467
968
496
334
444
763
186
889
814
633
780
694
16
657
650
216
659
411
754
75
818
941
299
184
208
377
136
77
240
187
62
458
766
641
114
951
291
842
741
219
422
245
815
408
789
878
8
14
83
914
648
338
267
204
577
269
84
487
71
176
298
48
301
355
245
399
580
397
297
599
769
935
493
800
78
606
278
109
449
121
311
205
370
773
401
180
699
575
51
513
969
825
790
974
161
17
825
668
930
812
191
930
440
71
69
755
374
600
766
55
516
935
365
764
125
220
19
955
368
532
157
956
415
754
70
937
993
611
40
612
699
68
220
859
806
476
331
24
356
70
699
795
5
394
316
75
755
662
659
142
570
370
417
135
86
482
165
515
54
111
384
23
662
439
77
688
496
530
238
36
849
391
191
336
72
726
794
529
586
507
816
350
518
28
878
111
755
614
818
549
72
131
64
866
877
385
257
73
307
73
872
43
780
58
298
854
599
621
218
30
617
724
728
609
457
948
894
791
98
527
858
740
837
843
723
139
274
699
79
269
8
505
511
621
236
995
282
947
124
947
759
286
759
394
241
262
884
217
339
213
871
10
273
983
990
354
379
373
713
10
423
221
228
825
673
343
157
98
102
91
412
959
131
565
252
257
49
930
402
848
113
581
142
151
875
91
633
854
260
573
283
28
21
305
313
655
502
574
474
198
396
951
834
457
886
816
243
643
89
751
802
678
273
139
475
306
502
572
521
250
556
150
434
681
683
770
620
411
206
843
930
536
423
786
0
588
60
652
301
838
159
234
254
453
440
141
743
952
663
941
852
498
726
891
198
617
9
543
407
923
654
519
425
948
317
732
386
246
853
681
612
148
493
730
583
117
719
698
143
313
21
745
519
564
724
721
756
352
994
307
97
860
400
445
328
937
393
551
110
148
659
471
15
368
469
471
466
217
185
653
50
3
322
283
107
511
236
533
579
276
479
229
65
609
733
555
604
112
101
898
553
33
580
846
683
208
182
785
843
92
19
297
903
595
891
844
645
663
296
994
981
619
428
271
255
790
566
84
383
823
106
305
669
16
302
686
341
364
389
902
685
839
973
261
385
598
850
519
769
349
847
808
405
496
642
251
438
940
605
969
849
323
766
99
39
418
145
250
75
573
926
844
671
437
609
577
953
349
469
136
67
134
569
900
814
530
835
26
638
327
310
191
789
117
584
478
832
944
733
71
771
538
926
377
838
47
222
100
147
701
678
993
632
413
939
8
97
964
569
921
962
976
790
810
780
482
223
536
37
684
892
312
455
537
408
69
250
81
608
963
47
234
163
610
727
903
624
976
985
360
720
214
734
792
392
201
479
358
501
578
115
262
448
412
221
549
625
275
137
248
93
298
105
677
281
994
275
970
987
714
848
958
279
862
284
676
196
390
392
997
305
892
594
140
281
116
901
715
309
614
89
143
397
338
127
383
869
470
765
90
984
949
79
500
11
480
850
259
558
174
946
206
549
6
76
106
227
633
713
211
13
434
458
875
930
970
656
93
610
22
239
676
556
381
275
326
749
983
339
402
951
434
99
591
475
109
955
464
626
209
54
352
991
534
264
785
854
806
170
113
973
689
121
627
799
64
787
409
953
612
155
246
603
514
570
139
490
656
71
467
714
77
378
317
802
155
148
328
988
175
162
408
226
379
644
955
620
836
798
4
317
459
804
721
701
210
381
273
64
251
9
196
903
822
352
286
463
365
685
836
159
950
118
13
498
804
268
118
49
164
761
998
301
609
828
68
762
975
219
465
703
363
774
132
257
781
776
187
848
577
566
710
570
855
594
774
518
405
498
393
311
669
748
363
317
856
674
777
956
335
988
709
521
995
880
478
860
59
195
112
112
715
892
936
256
72
992
57
248
678
761
858
303
780
30
775
614
270
518
815
110
233
597
108
246
657
808
780
525
389
126
291
357
209
190
161
96
775
205
378
805
873
146
347
865
868
474
523
949
678
290
159
911
163
268
338
603
323
723
218
232
552
512
796
169
284
940
532
225
540
614
565
278
753
501
967
724
393
290
409
467
355
827
644
208
223
569
44
817
341
348
522
992
999
427
824
77
808
979
150
923
414
358
965
725
554
467
340
742
864
229
345
431
693
931
630
938
781
85
595
431
166
985
489
49
370
573
388
568
826
401
805
243
462
553
556
619
22
778
47
234
612
592
849
141
490
88
145
789
369
977
292
200
966
862
638
401
430
524
224
169
872
741
408
678
47
835
738
184
837
381
107
628
220
213
682
739
649
710
729
765
72
698
998
242
590
108
139
175
584
539
467
202
374
365
864
920
876
666
251
456
178
86
132
430
942
752
192
517
317
663
355
195
250
234
88
21
150
927
60
306
92
543
435
874
813
99
480
875
353
65
592
313
485
221
208
674
901
823
130
182
157
136
503
26
811
339
798
409
586
972
371
187
808
750
899
381
857
181
330
780
957
143
311
313
484
634
493
654
659
488
748
238
269
939
629
737
116
621
264
419
852
453
660
832
432
672
25
199
19
446
455
119
544
134
415
684
270
655
873
594
441
111
372
451
736
628
694
447
815
336
185
603
218
273
338
344
903
64
710
967
601
561
53
36
170
607
888
762
292
455
193
622
884
148
54
456
286
107
216
806
492
772
834
722
187
203
247
313
162
635
697
53
807
912
493
679
248
221
942
662
529
790
555
883
754
754
600
286
13
276
532
164
703
96
624
330
943
653
710
494
955
361
377
584
602
793
145
514
805
811
886
530
394
794
336
120
793
656
84
319
32
815
459
582
189
564
62
876
486
605
354
394
298
78
543
423
992
672
30
236
948
809
679
468
114
286
44
444
350
661
147
823
92
738
963
207
131
523
632
569
631
643
580
867
848
612
668
739
697
625
320
423
660
174
696
89
779
481
892
108
318
511
315
526
947
786
601
789
200
631
922
118
92
60
97
538
986
170
907
155
82
745
412
466
589
580
181
140
107
503
687
618
933
446
158
831
804
766
903
457
573
970
330
291
693
390
976
651
701
875
364
811
998
575
510
805
689
419
916
850
211
838
134
18
71
992
797
249
672
14
501
171
174
812
222
328
501
93
297
82
668
102
816
271
628
842
567
127
421
385
35
86
612
617
78
895
702
312
198
817
788
517
677
870
404
512
494
899
940
64
379
520
63
642
441
68
231
976
498
92
534
28
240
894
257
337
641
454
278
521
840
38
21
288
87
65
606
400
782
671
932
310
634
392
694
850
377
531
636
735
232
119
955
188
45
934
260
216
949
480
865
923
743
789
984
682
853
110
96
744
481
375
356
810
305
310
229
250
631
858
496
466
133
949
289
208
91
633
49
220
480
790
564
475
176
280
59
934
56
249
681
107
571
694
685
876
796
356
825
77
14
563
702
479
539
772
315
946
0
914
609
115
932
184
435
748
315
346
282
681
181
574
993
311
848
751
382
627
47
610
129
499
795
751
270
882
254
613
4
769
510
40
506
651
984
938
28
923
183
8
59
238
427
58
27
641
421
668
501
949
481
274
395
809
765
734
202
515
375
812
945
904
757
933
592
224
544
186
998
988
755
402
723
209
541
957
297
121
486
802
544
577
803
60
521
162
196
531
234
317
574
729
102
555
340
977
730
36
589
40
66
445
707
313
172
252
982
199
433
233
657
857
120
926
708
286
763
972
429
315
705
177
445
541
300
475
776
566
282
608
412
942
560
219
666
792
637
457
279
553
489
684
824
770
124
580
238
877
559
878
744
343
601
496
659
744
56
907
594
452
997
634
75
428
98
554
302
227
447
741
183
114
401
290
113
293
464
588
116
143
242
454
40
383
435
306
633
890
961
465
752
531
124
223
256
443
131
647
593
323
863
726
28
820
675
236
557
936
779
59
599
184
288
750
256
440
932
947
516
163
244
860
55
588
179
117
28
265
445
40
63
883
846
504
91
474
104
840
397
322
231
152
904
966
129
23
372
445
95
807
266
625
117
483
124
807
397
609
619
969
210
216
282
616
632
6
834
194
123
979
499
669
632
747
961
569
452
130
285
791
320
555
597
613
751
657
685
241
995
479
549
749
627
920
262
22
141
229
441
379
311
315
666
565
924
949
945
384
58
194
98
755
476
849
491
680
600
531
408
57
512
446
769
585
196
715
208
59
700
436
572
984
839
121
800
688
739
836
611
472
782
598
366
418
138
186
921
947
568
474
945
509
116
416
837
690
382
612
561
239
235
330
408
140
366
116
269
287
821
576
127
39
153
446
492
43
610
745
676
156
220
169
254
123
90
324
160
273
707
759
11
401
966
837
788
208
443
409
245
427
328
120
747
6
364
124
672
719
960
172
319
259
747
783
880
437
819
77
63
996
203
863
15
287
505
376
340
911
65
582
695
705
424
95
205
492
955
540
624
885
812
852
590
178
474
349
771
222
912
366
894
865
725
534
0
858
937
354
823
916
959
244
395
666
694
568
416
512
570
327
278
13
375
443
936
597
973
181
32
81
928
944
701
673
733
680
608
974
993
238
794
697
219
837
920
592
400
339
207
908
947
591
97
41
176
854
112
572
692
769
657
729
723
706
998
0
102
59
449
437
968
880
461
558
853
966
543
579
186
438
111
262
825
696
25
224
928
334
682
438
74
394
898
2
471
312
534
963
97
714
183
381
846
162
795
912
315
591
59
541
47
406
245
668
274
503
901
663
323
645
276
552
512
788
675
332
44
327
399
351
745
738
601
229
230
841
296
113
96
292
806
859
406
670
277
804
320
848
81
335
984
35
850
804
122
735
742
220
835
188
895
13
39
503
306
658
679
607
818
626
246
692
599
148
482
648
272
490
196
357
814
26
770
228
339
747
585
82
397
519
626
128
818
864
368
443
143
912
907
903
805
124
430
28
498
150
346
484
687
885
722
113
134
749
84
276
478
387
897
922
942
8
747
165
408
39
242
402
386
299
911
647
969
481
433
763
323
46
39
838
745
380
349
783
50
145
548
494
103
498
932
783
17
652
812
159
678
803
645
26
8
130
520
192
163
985
656
358
383
694
540
263
492
612
695
594
824
786
4
167
170
765
952
695
687
351
444
815
486
159
836
166
933
127
334
203
987
383
218
825
758
439
317
685
330
437
372
514
296
698
947
654
375
470
260
947
843
72
869
190
263
45
397
48
754
682
16
723
24
31
298
976
459
521
96
996
516
212
285
111
370
395
770
855
976
179
125
246
763
919
55
847
16
959
689
75
980
966
978
901
825
919
112
727
786
843
132
440
758
926
579
392
205
735
73
362
193
226
189
267
418
508
527
94
578
644
715
961
746
24
264
501
513
617
213
423
790
442
67
933
704
301
637
486
571
933
177
945
667
215
901
288
67
125
392
276
2
830
67
887
410
320
401
123
473
824
340
576
927
604
61
671
277
471
799
31
621
604
946
31
621
521
145
520
999
710
195
88
464
882
744
600
519
777
727
229
447
812
402
527
117
969
70
406
731
333
356
851
557
373
35
37
643
3
146
659
302
272
63
522
465
953
387
691
648
93
114
394
652
753
893
336
680
407
185
260
859
483
524
552
336
62
870
963
818
848
631
167
641
853
701
347
462
70
415
377
993
865
888
287
363
93
526
389
591
566
751
591
223
904
133
178
348
779
380
802
895
316
333
846
347
823
884
941
97
718
186
894
754
646
714
259
69
489
617
513
539
852
439
993
657
593
241
141
783
89
978
443
103
738
47
815
38
437
69
99
752
479
491
102
717
561
922
395
327
107
676
176
926
238
853
279
253
327
938
295
175
362
915
508
720
832
975
801
137
981
717
769
160
224
174
282
736
989
710
517
432
384
396
26
709
754
222
729
896
618
328
212
760
671
901
967
49
434
381
344
150
851
656
279
757
326
931
350
791
760
875
874
1
674
409
702
22
44
676
479
120
705
212
138
305
728
964
741
731
435
570
864
27
851
69
107
809
697
526
519
111
923
392
62
895
266
394
338
890
367
128
544
983
42
115
337
431
130
327
668
652
931
587
441
466
123
298
870
305
660
738
132
314
445
738
186
243
823
15
925
754
297
777
558
966
15
181
113
444
691
488
941
956
719
134
68
368
556
513
749
931
653
870
28
158
879
698
955
95
318
223
240
772
16
909
991
276
974
47
438
451
683
870
590
787
648
633
400
933
194
301
741
777
155
780
461
124
134
779
469
302
981
38
691
212
938
513
812
949
359
137
978
292
562
999
784
609
272
324
193
254
692
656
466
339
2
370
375
800
586
956
547
423
525
781
470
781
729
712
212
987
211
937
282
970
327
429
17
647
112
55
931
4
156
329
737
803
353
951
308
309
874
41
733
74
159
442
510
286
831
639
15
201
590
309
514
45
671
626
510
344
144
873
540
152
822
146
797
833
373
826
293
946
585
717
869
835
192
27
587
393
239
95
683
291
740
528
890
467
397
165
892
631
395
962
618
112
339
393
682
930
250
8
214
516
887
210
77
476
319
485
449
138
200
877
487
716
182
980
849
244
335
842
818
572
387
993
175
748
160
752
400
447
310
2
164
989
930
748
540
43
66
452
142
399
680
154
848
411
470
382
951
655
134
571
667
876
3
186
96
384
803
240
827
606
262
824
855
10
689
268
9
93
644
766
454
903
191
363
132
752
239
466
431
601
104
464
200
887
259
717
565
813
262
123
177
192
581
878
163
681
757
182
891
189
384
358
839
593
736
720
439
312
971
948
480
620
705
783
837
238
275
779
656
702
346
600
916
149
802
990
35
896
46
490
938
104
310
887
212
519
725
74
798
534
365
365
52
540
344
570
434
429
708
459
921
841
315
23
710
576
664
410
455
298
410
837
318
493
221
181
974
67
490
852
363
623
491
191
250
477
889
9
317
487
627
950
23
829
548
270
488
442
207
651
442
354
258
201
392
820
341
501
692
167
926
816
646
710
982
519
459
897
168
625
436
559
52
313
444
501
96
16
263
153
428
249
992
234
676
218
14
95
968
697
622
570
839
262
115
186
884
477
603
495
780
268
914
31
725
24
77
212
459
391
83
17
169
489
300
202
347
486
265
552
203
496
862
873
431
20
854
734
607
653
839
388
806
994
994
108
353
127
92
398
846
603
339
643
782
450
955
11
507
449
592
482
635
175
172
694
395
729
357
7
821
269
809
254
191
547
888
461
259
159
93
391
728
895
498
935
364
776
830
954
223
415
203
390
157
240
284
234
790
924
968
221
101
28
5
732
335
703
705
388
17
350
40
261
330
120
879
846
581
407
902
46
737
396
901
849
125
804
865
23
191
245
513
945
823
698
796
677
236
971
215
103
918
14
632
604
196
277
278
850
102
672
185
144
827
987
714
543
488
997
251
509
964
128
783
40
174
125
954
948
989
44
381
382
330
381
70
817
727
200
995
968
615
562
4
974
926
340
536
680
870
830
203
972
365
455
400
56
613
925
273
166
602
328
206
704
703
241
558
469
880
157
776
530
725
899
680
331
231
996
79
17
857
122
319
50
809
110
639
42
822
97
142
856
993
323
223
109
287
153
365
378
87
308
619
362
274
115
488
780
336
421
186
326
870
85
813
964
188
170
694
667
836
783
100
285
979
83
92
859
643
432
156
920
622
672
533
917
463
883
500
430
821
641
854
159
314
508
541
923
714
639
224
629
665
290
646
342
590
297
147
447
433
191
433
183
389
857
53
618
926
440
973
872
603
801
251
774
404
738
132
875
770
1
709
914
486
409
697
101
221
77
852
921
107
896
999
51
874
298
134
193
736
240
752
724
873
469
550
661
919
163
429
464
231
566
909
280
380
834
997
977
224
819
699
918
661
493
150
361
552
858
124
331
45
831
831
949
604
437
804
905
297
968
151
860
944
926
774
86
893
76
997
989
614
795
453
514
123
68
130
198
637
366
415
669
481
588
827
94
305
295
945
21
192
236
385
597
610
901
751
170
158
349
924
983
148
313
620
103
917
855
202
364
910
506
595
748
630
413
856
236
637
488
296
918
479
679
357
575
58
122
308
254
233
781
80
34
561
100
984
663
76
734
985
363
903
518
56
737
774
513
43
661
344
184
823
573
52
305
881
776
487
364
218
791
934
417
259
381
689
336
129
991
550
707
361
263
131
929
786
804
636
454
127
999
219
951
34
763
539
378
281
264
303
515
440
668
510
233
449
665
459
665
565
869
587
257
15
366
848
346
921
243
230
669
11
352
332
301
119
331
669
160
353
816
532
545
129
480
149
4
411
8
242
417
285
390
180
746
639
438
918
981
816
447
622
747
385
811
392
857
707
830
172
590
903
794
657
550
620
982
637
256
841
565
790
489
614
404
674
580
946
97
503
808
858
34
146
314
18
856
890
557
437
66
909
927
482
533
378
515
239
445
715
616
574
994
34
227
900
715
976
276
102
250
274
500
28
358
597
992
969
965
118
593
305
469
831
348
481
110
486
990
188
151
545
563
253
198
212
737
994
533
856
949
812
262
328
531
240
751
350
431
73
556
621
881
214
420
638
685
746
946
188
809
385
777
766
1
107
272
214
315
208
681
996
320
635
92
377
999
366
823
436
858
398
366
299
112
318
287
970
350
858
254
690
475
559
270
58
158
286
542
478
455
105
364
897
791
125
540
352
436
665
123
456
900
204
325
378
747
401
225
523
368
862
29
794
680
51
501
735
477
835
915
4
600
626
515
170
199
849
755
986
757
716
820
806
40
709
488
251
294
952
347
861
73
794
790
401
42
74
432
977
0
191
799
822
284
921
317
429
340
781
561
117
983
675
53
686
667
910
488
883
252
830
839
633
954
792
626
279
605
953
171
451
696
676
669
974
27
143
228
525
496
661
410
87
636
203
674
378
386
600
874
948
555
269
249
370
736
73
105
106
21
587
711
468
540
886
711
696
547
221
912
365
228
607
659
725
722
151
311
545
808
801
215
286
392
253
967
688
620
448
334
181
766
689
912
963
526
556
247
114
182
263
787
463
989
617
207
996
324
944
754
420
309
154
620
508
345
884
356
929
773
450
367
368
335
700
241
973
677
0
672
105
547
963
869
444
769
120
979
157
482
54
283
528
983
300
84
576
243
673
683
364
833
494
655
619
423
428
698
216
574
760
788
772
77
190
295
567
135
583
301
744
324
755
328
513
718
383
600
537
378
150
820
868
389
494
785
339
537
566
740
217
818
821
991
198
320
289
133
302
992
185
608
320
49
701
38
829
884
286
928
903
811
594
520
423
118
650
707
467
810
361
601
835
838
472
599
226
420
743
316
357
395
573
806
631
627
147
784
743
124
836
971
659
593
698
249
662
432
226
372
364
951
131
854
26
286
435
759
110
58
336
836
656
626
403
160
250
899
391
587
286
599
545
916
307
26
928
145
736
409
531
505
123
800
957
428
736
365
915
656
397
774
195
210
389
567
132
111
252
72
885
521
230
647
28
550
104
161
878
123
682
431
176
573
177
457
940
385
665
430
170
117
743
785
513
347
668
665
954
969
836
160
368
569
702
290
200
73
274
203
39
799
652
371
713
518
202
143
197
215
286
839
141
709
673
205
933
183
576
208
147
437
194
611
639
323
769
569
68
893
530
278
7
931
165
129
509
172
939
302
906
991
943
775
771
488
856
248
350
829
923
180
992
643
912
899
382
475
243
664
148
812
940
730
141
855
655
674
482
351
11
33
4
49
808
286
989
791
33
960
316
817
988
761
541
357
34
73
985
461
904
937
49
896
489
536
990
552
1
320
380
328
624
268
622
56
851
490
694
925
397
418
384
816
992
715
752
515
662
910
265
844
575
667
690
107
701
136
737
251
320
76
490
80
700
363
9
805
355
198
709
905
905
266
123
153
76
730
515
69
620
188
318
802
616
107
937
270
394
994
8
517
929
899
526
806
215
115
259
608
533
20
905
189
398
650
45
82
41
193
925
426
552
187
802
622
54
187
896
513
289
900
415
314
696
166
81
418
963
147
73
809
408
629
573
658
533
291
452
796
623
377
588
884
854
108
848
725
27
673
149
8
165
105
53
115
121
961
302
906
919
465
307
816
630
218
540
252
933
248
436
949
111
976
302
59
932
930
325
496
514
307
347
498
518
318
242
344
684
602
842
747
173
672
81
863
573
130
532
748
914
728
10
311
930
908
729
312
387
589
906
437
860
39
337
389
564
861
280
640
565
159
140
29
244
608
293
367
843
946
956
379
353
614
25
85
179
122
274
769
149
167
656
167
863
135
550
915
842
958
308
40
463
130
822
222
23
118
429
465
816
904
489
453
107
835
64
66
12
337
398
117
685
343
856
893
206
808
0
325
901
519
92
642
548
420
751
970
587
533
718
593
975
624
332
851
118
122
852
247
515
496
33
465
234
368
29
216
19
459
483
335
644
66
356
663
22
371
821
719
53
808
245
907
288
463
817
309
795
558
32
169
794
812
324
381
296
17
795
569
12
934
685
495
702
187
501
654
171
452
275
324
469
826
356
788
985
899
145
180
304
883
64
117
299
143
796
199
644
604
374
778
501
280
759
510
332
901
688
915
474
508
666
291
286
389
542
421
212
373
376
563
389
872
781
547
161
849
656
311
318
412
231
373
804
336
479
281
953
511
545
517
565
97
626
618
895
489
364
465
902
122
68
220
614
951
215
199
532
517
927
369
392
716
251
946
346
812
175
885
382
124
687
811
924
479
749
779
607
196
326
585
412
706
755
610
263
885
247
49
769
796
350
717
545
370
770
53
805
698
119
478
745
495
975
881
573
405
249
890
90
137
756
875
774
339
372
554
67
278
338
594
906
565
711
255
942
898
164
400
84
963
369
345
138
11
331
0
690
66
132
602
718
679
722
265
408
645
422
311
134
28
615
363
888
569
9
695
828
408
643
518
96
692
197
460
349
566
465
358
546
668
37
260
256
537
618
737
705
435
700
298
558
34
478
236
576
548
484
971
223
221
245
376
160
190
448
284
41
876
52
906
265
303
816
824
607
474
122
258
951
24
13
56
666
325
912
724
212
124
56
381
43
560
894
80
158
809
339
604
916
266
583
576
712
808
406
137
349
637
173
786
727
744
259
245
951
900
428
407
164
129
62
673
50
829
325
97
158
423
519
347
620
738
894
216
488
117
31
381
885
674
997
61
293
769
637
149
331
136
776
883
745
429
473
582
222
302
206
448
80
254
583
459
783
202
989
510
526
271
625
828
592
758
258
650
837
33
13
922
621
348
63
784
595
532
959
705
844
482
103
507
534
587
976
164
47
5
371
121
555
439
483
399
173
519
65
956
430
197
912
616
638
956
986
128
148
555
449
535
454
190
904
50
142
853
630
471
962
138
355
415
311
695
779
229
499
385
685
279
403
781
338
232
88
764
931
835
711
392
625
13
778
348
925
665
20
734
821
903
552
993
962
380
1
981
70
153
760
697
247
849
360
695
157
215
218
31
646
28
128
268
998
205
329
323
86
39
300
800
163
519
713
278
488
68
459
436
794
959
733
244
183
764
961
33
347
128
885
51
913
820
152
697
459
445
977
810
913
740
415
456
788
211
786
860
663
584
402
189
955
115
170
188
157
293
314
867
758
774
430
418
853
368
756
163
645
248
116
38
884
40
51
15
839
974
930
961
99
391
418
472
154
668
567
295
591
913
797
656
216
554
855
728
810
91
293
344
729
649
634
874
22
993
764
337
238
324
112
942
341
453
990
391
276
485
488
600
677
146
511
412
40
228
719
671
662
712
556
842
694
228
133
523
555
266
108
999
453
456
149
956
462
942
76
132
548
816
748
758
774
687
325
921
205
834
215
255
628
403
104
449
471
923
709
64
581
960
964
464
90
406
350
531
417
749
698
224
727
651
117
970
764
881
105
596
947
0
964
615
342
629
250
908
370
568
691
757
8
975
45
352
725
424
423
784
223
377
830
412
55
626
128
728
19
359
282
75
34
948
961
916
476
109
553
793
209
450
596
994
975
541
940
182
808
633
956
788
20
435
9
468
499
989
346
61
649
420
439
276
757
847
981
481
221
396
203
963
827
275
37
164
76
609
283
841
842
780
247
45
370
89
441
859
759
335
388
621
9
184
119
270
67
483
393
401
641
428
852
658
375
954
93
683
741
194
278
765
687
459
160
356
948
909
541
756
18
78
545
412
371
738
14
894
881
360
893
5
10
119
769
250
978
974
62
531
771
640
844
692
70
403
545
811
232
451
973
915
961
694
328
475
966
656
389
24
933
608
51
645
670
429
558
35
940
143
271
268
600
679
689
657
713
674
9
323
193
245
500
529
33
231
591
176
59
989
195
601
134
428
359
919
179
676
68
546
965
838
717
489
120
832
835
73
20
451
264
647
311
711
327
538
49
959
895
785
883
284
542
806
134
250
998
862
385
595
765
949
859
150
156
750
771
696
185
602
457
31
465
321
409
10
115
133
884
497
499
141
224
581
712
361
594
728
694
250
302
398
906
734
277
175
230
37
782
940
590
804
783
812
56
453
240
742
991
652
162
241
782
638
381
613
205
887
821
627
466
757
629
438
650
131
45
472
115
343
228
858
983
664
904
95
779
190
677
156
885
486
973
23
664
337
795
227
647
890
957
667
220
561
420
408
130
654
299
873
655
381
730
862
684
843
702
50
899
131
871
758
827
86
748
686
271
630
315
547
492
216
424
361
891
467
536
550
124
669
593
496
217
502
358
104
748
333
822
847
886
183
327
421
334
724
427
445
437
367
728
168
802
937
988
478
275
929
579
411
408
51
562
735
622
366
54
43
247
808
545
365
141
733
537
672
357
909
354
687
835
274
166
67
237
253
218
248
206
599
984
115
684
892
1
296
915
701
229
655
674
175
710
340
583
469
221
846
621
755
929
34
255
92
926
441
630
840
187
792
521
804
784
357
120
448
535
866
462
419
217
533
803
894
975
679
748
481
214
706
427
266
391
435
666
777
921
481
384
167
938
578
70
714
83
275
2
750
530
348
557
41
844
391
87
660
848
544
278
700
381
940
950
155
254
788
321
797
308
657
172
11
5
195
419
546
285
601
423
739
184
935
724
393
972
592
202
190
949
211
865
553
972
483
958
967
502
106
729
50
755
268
962
139
692
254
398
596
795
175
129
151
429
425
421
848
531
809
229
575
73
225
535
978
721
71
935
347
297
574
73
793
128
66
634
268
212
352
483
85
340
910
874
773
149
794
398
879
497
818
359
478
117
877
188
14
329
289
521
712
982
718
771
506
181
613
385
319
380
437
268
968
294
252
702
172
320
205
135
646
628
647
883
16
403
864
519
412
899
469
594
417
241
711
189
327
107
627
299
722
392
217
782
525
172
23
728
758
417
142
931
83
548
922
146
444
927
237
892
948
946
137
754
349
940
603
616
438
465
184
331
800
70
208
730
11
998
54
906
617
355
210
954
679
799
329
852
522
625
898
286
29
700
530
725
421
666
941
382
308
755
659
329
449
444
213
943
827
693
280
310
45
681
394
508
60
436
999
145
731
804
299
155
169
21
466
625
130
632
996
354
621
812
613
556
574
377
24
499
936
917
786
296
138
992
565
934
142
266
472
259
404
190
402
418
308
773
531
883
355
233
394
581
616
344
842
476
148
716
903
311
929
871
231
480
865
128
553
145
775
694
906
619
705
16
305
454
34
569
534
441
873
909
850
787
877
440
776
423
908
600
445
854
289
4
173
675
496
12
527
271
853
825
577
504
164
623
977
566
790
902
746
268
180
78
795
557
929
929
769
279
435
226
206
648
238
669
519
993
402
206
171
767
353
905
615
870
93
868
53
372
624
318
787
72
704
49
446
14
491
188
119
556
627
28
360
708
982
624
568
197
563
952
332
350
865
519
118
718
597
942
635
113
246
210
812
27
399
224
258
706
272
476
416
229
323
556
142
346
760
615
484
668
754
903
564
436
375
448
294
961
998
480
166
456
41
596
153
347
493
269
92
301
32
29
773
942
159
132
676
784
676
305
583
816
327
79
568
240
263
256
903
33
554
218
420
713
718
985
180
365
503
562
74
873
622
681
640
472
572
646
868
327
522
221
950
366
521
643
684
468
801
264
111
668
637
895
661
205
470
783
793
331
876
163
404
412
423
652
45
332
569
308
947
558
227
799
551
2
118
463
164
250
913
223
419
76
970
896
761
947
917
456
369
161
325
976
281
773
678
414
339
538
225
578
731
163
796
274
910
43
621
455
333
647
210
318
592
761
592
993
280
143
625
253
73
989
37
835
246
161
610
407
422
912
105
411
60
895
881
18
81
720
169
144
182
114
923
691
75
316
274
756
752
95
45
592
747
90
969
746
592
721
377
576
712
259
537
685
430
410
265
144
365
180
849
474
959
854
414
792
848
438
137
772
257
755
662
698
104
536
586
578
762
707
300
290
291
972
685
416
402
932
571
117
617
701
53
791
970
366
818
501
607
885
644
556
459
349
945
590
578
720
442
525
53
808
666
413
820
685
105
115
526
18
228
330
964
369
216
908
706
656
581
113
445
631
307
559
856
811
133
806
604
868
532
444
384
115
501
107
725
460
952
673
778
601
308
273
142
96
893
993
156
498
258
198
543
40
962
384
997
444
41
554
256
606
826
144
295
328
267
426
234
383
107
600
452
500
232
875
0
619
238
215
1
57
264
187
265
724
828
971
6
118
712
174
801
246
953
742
225
597
181
92
47
336
865
836
734
855
358
195
517
182
437
40
875
683
701
514
65
483
348
74
265
913
423
748
666
668
118
282
292
704
159
96
491
90
520
327
429
807
932
260
530
377
287
574
10
504
377
343
129
227
234
187
858
26
24
258
694
123
962
234
867
911
795
682
255
182
914
857
981
755
984
892
254
479
683
94
477
685
755
859
659
68
748
420
207
111
297
113
128
365
197
301
366
374
721
616
68
408
991
229
677
308
380
628
117
47
890
585
265
625
355
36
862
457
965
505
23
422
473
571
202
639
132
947
812
904
271
878
56
355
425
968
713
365
761
44
136
679
255
243
258
945
855
606
766
228
960
647
94
835
895
777
949
640
775
665
812
772
606
576
896
604
541
858
401
201
27
54
656
595
495
574
476
115
495
317
748
809
936
144
701
584
731
997
757
126
523
341
127
632
435
289
327
582
124
84
579
357
705
174
11
740
758
290
230
76
488
139
569
698
658
165
737
355
952
864
810
221
71
103
649
201
697
556
878
251
989
175
902
430
623
157
891
608
363
735
501
57
210
285
578
289
932
558
850
843
535
355
833
707
190
311
606
518
851
283
315
560
811
65
543
942
656
709
622
168
757
310
914
669
94
269
584
426
647
107
604
886
8
583
295
736
944
574
558
153
823
911
130
597
891
255
581
983
906
593
209
200
288
896
983
538
861
265
599
69
579
622
646
70
764
305
305
78
925
252
415
836
614
224
556
581
335
609
865
890
489
515
109
546
846
2
749
917
719
129
111
912
708
740
992
26
192
333
313
250
622
472
169
159
859
5
453
252
571
725
193
157
64
998
523
500
263
359
936
571
565
770
360
788
766
596
242
712
902
678
570
513
197
696
914
504
808
102
363
675
798
949
704
737
986
475
685
829
270
824
925
862
556
411
493
397
776
135
28
117
438
353
187
172
402
938
469
544
66
132
36
509
98
879
466
243
448
201
186
22
683
43
176
940
248
732
524
259
718
870
308
199
154
759
813
213
151
329
125
277
995
952
867
371
794
663
810
537
855
870
636
744
332
305
793
244
499
674
258
502
588
306
804
152
60
173
74
847
915
162
765
302
362
423
44
291
441
789
682
817
774
42
411
550
288
869
67
375
77
271
253
202
789
294
845
992
895
742
186
103
254
812
950
185
547
121
76
860
853
159
274
249
960
775
642
835
963
921
202
376
677
937
90
456
138
291
719
497
529
373
995
673
53
281
570
298
216
700
408
974
786
829
832
629
682
720
921
67
989
879
882
145
431
836
68
293
686
292
906
928
511
400
321
566
341
528
170
994
910
530
429
14
897
668
425
880
301
310
608
411
385
156
169
936
67
304
527
618
380
83
518
534
664
357
282
626
662
409
217
535
532
835
92
256
185
351
631
740
969
66
158
176
778
455
234
975
822
702
543
289
737
537
414
632
865
547
964
44
722
2
325
622
123
626
448
39
898
829
804
877
996
989
782
542
423
80
920
469
720
394
354
76
164
956
967
387
157
722
884
326
118
538
843
838
4
745
858
852
902
539
678
398
912
937
684
734
969
957
282
429
530
913
519
624
534
143
773
388
303
736
202
774
345
856
929
385
481
332
977
435
600
823
141
128
470
698
168
627
361
686
873
207
203
168
917
212
344
685
175
434
670
239
6
347
953
750
797
686
621
189
334
464
182
729
392
367
61
289
77
579
40
279
523
759
141
505
475
806
233
255
861
517
117
998
755
39
944
497
20
890
530
826
81
884
539
859
778
81
524
274
540
552
234
614
108
831
467
27
115
890
644
776
311
689
91
640
906
488
279
476
401
139
704
484
921
87
478
139
191
309
35
128
436
823
123
774
363
856
411
914
3
363
546
19
230
947
670
864
992
413
794
612
742
248
9
787
487
710
706
769
426
782
22
524
505
543
76
175
846
401
243
660
506
694
879
347
520
124
701
300
713
265
119
2
477
833
664
521
293
797
257
470
540
732
726
687
641
780
615
121
453
93
700
460
150
74
791
24
71
347
747
56
944
328
45
127
997
622
109
413
776
382
152
931
134
84
660
822
184
272
230
759
545
839
510
454
43
892
716
774
548
280
904
352
387
831
41
326
918
225
463
743
769
816
302
829
596
920
238
713
246
249
716
598
825
4
719
579
33
468
615
865
920
774
256
973
920
96
721
745
469
396
165
257
616
324
430
880
354
940
757
233
369
409
81
231
383
379
539
425
547
582
780
61
135
240
603
954
796
897
7
857
651
308
15
794
99
430
332
647
886
592
64
780
457
753
335
964
619
899
392
461
671
988
510
801
108
251
237
175
886
736
990
400
783
179
50
706
668
368
890
882
176
582
176
914
845
718
370
729
312
940
594
462
106
741
254
145
924
782
812
34
136
614
786
795
22
299
390
750
664
354
15
966
988
765
71
529
869
594
154
613
43
169
583
75
849
341
170
492
161
968
4
463
988
847
105
922
508
80
911
566
996
390
295
771
689
708
689
900
232
674
349
65
523
269
936
406
600
305
711
315
449
467
685
178
525
493
707
805
714
989
578
96
331
117
837
997
983
896
706
679
144
134
63
527
550
606
289
955
221
460
612
918
544
761
890
830
29
386
156
413
588
640
701
392
712
885
926
790
112
50
577
904
256
160
673
701
604
665
876
452
382
468
672
175
373
736
390
452
506
40
231
144
784
463
345
802
955
653
203
874
867
855
74
970
211
822
911
471
12
717
909
66
641
299
193
840
925
239
210
730
710
847
305
264
763
719
313
745
154
840
558
746
463
850
802
518
439
377
178
224
402
337
527
743
53
150
636
128
688
867
951
809
344
487
827
579
97
454
724
540
176
724
916
485
112
731
144
589
648
727
920
890
229
483
965
836
194
681
281
606
796
49
799
922
911
339
398
905
335
412
403
98
425
533
470
869
908
58
866
73
102
662
383
783
158
468
25
969
396
175
623
88
517
542
742
914
439
82
339
707
120
605
2
503
717
69
409
587
127
510
670
96
507
353
245
510
955
228
25
688
70
122
417
950
706
462
181
109
793
842
590
641
739
582
939
69
978
153
303
100
470
187
19
932
757
104
108
12
922
169
609
117
937
612
739
517
557
855
202
536
554
973
243
647
596
725
922
933
159
158
343
303
748
763
273
104
871
35
929
262
503
899
139
672
674
758
915
170
326
326
205
483
910
725
180
891
276
379
163
860
153
730
220
55
895
802
511
481
620
346
854
199
909
280
27
782
53
528
778
444
641
464
616
110
778
490
276
700
33
851
160
411
108
26
147
5
154
838
953
609
452
437
807
419
939
755
439
158
950
874
548
89
573
353
713
658
826
486
792
590
681
87
741
246
435
575
866
87
796
878
605
521
648
611
838
806
277
256
401
840
706
295
249
362
582
870
968
971
576
426
300
902
179
106
268
675
959
512
138
72
992
62
940
146
946
869
84
556
351
10
766
973
509
710
121
508
561
827
201
237
775
162
563
51
71
171
516
259
838
373
16
877
755
339
326
415
576
5
679
538
279
15
152
245
334
567
60
938
725
751
874
952
226
997
453
88
154
1
166
307
514
579
63
809
173
159
715
758
305
758
947
535
34
263
695
65
145
369
190
56
289
57
536
537
340
712
814
702
509
517
442
182
989
76
112
217
623
210
461
379
18
811
291
582
453
801
536
555
427
480
116
555
253
964
198
165
812
999
395
763
432
628
789
315
667
356
727
244
327
530
419
954
861
273
699
466
423
374
318
412
615
31
442
215
381
328
985
341
745
214
730
900
210
115
655
797
428
331
123
478
934
751
762
581
230
440
1
223
522
368
552
886
847
313
173
935
586
167
356
173
118
235
122
891
900
34
129
293
20
723
729
678
227
995
126
496
759
911
797
736
858
303
132
189
190
884
260
969
944
393
684
537
936
810
893
574
10
890
834
907
765
218
272
280
229
228
661
877
460
552
482
140
994
412
425
427
590
253
713
118
641
751
954
79
952
885
165
847
755
358
487
199
233
854
726
702
769
941
807
464
386
115
469
924
638
684
528
558
479
703
607
342
287
409
895
586
807
751
516
768
746
416
915
310
646
847
427
860
810
759
665
517
650
798
470
351
635
325
441
279
546
930
660
423
863
405
299
775
98
180
358
779
791
16
13
365
559
575
978
246
435
125
309
773
598
728
991
819
680
840
221
980
202
255
38
106
320
817
211
847
763
875
179
992
576
859
58
933
348
307
438
210
549
893
308
107
219
715
876
628
139
630
725
511
818
905
177
880
996
446
933
208
237
915
68
203
8
744
842
769
536
838
77
477
172
169
482
644
474
291
678
354
557
192
110
997
729
962
273
679
25
457
263
454
198
879
50
330
797
826
330
363
702
975
350
999
883
695
315
313
856
650
871
8
530
693
499
244
858
777
425
463
361
189
440
698
647
155
364
665
789
722
940
441
389
765
368
312
591
130
34
577
147
773
63
198
417
994
150
548
443
513
756
478
325
601
464
137
348
828
325
48
719
136
713
7
729
590
498
60
50
22
246
80
812
817
32
517
495
724
923
713
915
439
16
842
73
833
771
46
522
321
109
857
371
769
912
79
72
454
166
790
966
33
620
174
397
20
170
202
678
585
268
31
844
694
472
280
929
990
587
380
737
249
188
214
755
996
306
42
573
82
864
647
820
448
800
678
333
816
168
612
325
945
621
812
876
157
122
438
118
18
595
804
593
520
736
804
539
623
750
868
73
155
5
884
253
124
573
383
180
22
349
551
995
316
735
827
859
233
158
643
469
787
652
375
962
958
699
180
240
989
752
648
132
192
59
34
643
143
392
42
986
344
922
394
484
723
728
770
514
306
844
483
955
11
633
590
47
465
744
770
643
377
919
183
714
494
897
974
708
225
245
988
830
870
650
65
501
604
591
757
119
606
649
944
457
400
317
837
945
816
766
838
466
969
764
696
889
441
840
110
472
199
801
329
308
335
839
181
122
331
499
858
969
808
589
837
846
400
482
217
597
382
605
283
175
419
447
572
793
47
581
198
865
93
229
453
733
897
804
556
65
409
137
934
508
646
711
394
403
939
504
75
187
722
759
851
800
307
607
486
205
596
10
248
735
870
875
319
327
745
405
538
404
173
254
28
551
336
941
329
482
581
689
63
437
81
424
193
195
432
743
22
350
450
754
815
678
122
658
725
888
216
620
775
65
75
827
679
556
791
640
325
473
206
532
222
178
998
943
137
831
664
426
59
793
601
8
373
326
310
774
682
496
737
643
109
808
617
879
864
128
231
589
154
509
927
260
30
672
1
900
384
532
41
906
612
544
446
165
811
975
965
701
166
315
912
651
452
101
1
84
823
298
417
354
16
134
538
880
374
748
700
550
908
9
517
465
260
73
275
727
928
394
620
346
567
192
838
267
899
859
617
221
681
682
828
131
325
812
97
314
414
114
820
85
127
272
180
706
704
973
921
483
719
646
940
154
161
483
929
923
980
982
798
952
551
255
389
832
489
534
421
31
598
51
669
78
984
645
247
131
541
643
40
281
652
100
301
917
587
811
226
759
191
225
799
768
427
510
567
704
202
484
810
631
268
515
588
433
424
142
844
464
666
390
805
705
170
930
523
45
20
856
253
547
269
502
775
853
49
522
514
493
515
925
426
353
348
593
682
433
492
902
494
961
419
309
34
172
205
656
231
747
648
727
141
665
58
39
927
828
199
861
291
819
450
969
145
488
585
561
541
50
386
254
21
320
578
638
625
903
273
716
731
51
993
620
802
572
2
953
721
254
228
97
263
107
816
292
935
196
305
900
465
687
621
41
684
724
437
943
699
633
163
959
382
676
107
770
323
995
409
248
2
839
625
519
783
610
81
519
657
746
491
394
263
173
59
394
452
323
947
936
716
425
362
364
134
489
684
964
486
507
710
84
874
692
597
895
651
440
357
354
172
372
30
49
458
793
988
925
23
476
329
630
513
226
745
820
550
30
946
242
486
325
202
485
666
388
415
544
918
76
927
685
343
321
452
861
547
620
738
777
331
560
739
353
64
516
838
100
921
520
227
256
576
210
61
613
895
811
806
995
156
16
682
323
3
812
226
792
59
320
566
168
55
920
403
278
716
261
506
441
797
801
248
215
505
873
76
144
59
710
248
907
967
276
608
871
567
782
937
730
153
875
8
893
137
13
23
330
801
372
517
994
986
543
393
47
531
837
163
564
578
71
472
303
223
793
796
55
849
82
386
227
239
83
607
653
348
4
810
348
58
318
855
217
306
501
600
853
184
651
528
981
410
998
967
374
895
388
970
455
92
858
921
614
405
56
214
22
982
262
677
614
815
695
919
497
717
96
591
130
993
572
692
853
485
433
298
600
985
104
898
413
909
505
659
408
697
681
25
134
962
319
267
681
50
361
112
471
950
604
235
715
551
215
607
319
564
451
339
357
97
141
241
629
153
926
168
939
412
716
465
482
761
969
701
404
382
676
523
126
722
240
505
433
483
327
649
399
189
730
964
760
945
600
315
939
202
845
603
730
811
541
775
780
856
466
612
806
110
351
275
933
666
379
257
632
172
833
38
451
50
300
38
380
410
139
968
872
404
588
858
641
260
753
810
895
17
572
872
967
308
550
523
170
331
508
686
603
939
951
474
365
87
675
505
556
885
591
629
199
911
385
922
302
86
393
891
805
105
823
678
225
135
59
636
30
772
649
127
4
563
49
5
272
96
327
672
251
456
897
638
632
612
385
987
207
487
548
930
190
533
480
769
161
515
40
2
769
614
981
387
200
664
578
306
41
802
472
932
230
408
237
133
0
898
804
303
241
405
951
510
782
124
420
476
356
480
725
338
698
886
430
907
9
509
327
849
203
277
551
94
947
44
314
516
921
542
774
466
944
609
729
760
430
103
137
501
36
821
241
504
567
141
165
403
884
27
515
160
174
179
157
666
260
592
861
796
924
52
781
923
687
785
81
473
948
437
185
808
602
889
441
337
991
158
813
790
387
616
254
754
491
944
249
471
685
672
968
271
477
913
68
316
422
760
8
465
203
996
353
268
922
963
50
40
734
432
975
717
874
900
517
932
437
437
824
226
33
755
58
230
843
65
899
765
599
929
135
69
210
457
153
476
194
597
631
302
689
579
80
160
836
430
589
912
288
173
90
639
135
502
404
530
307
948
835
912
755
518
9
763
159
914
238
234
937
101
786
706
414
456
618
273
205
442
740
315
230
29
565
656
876
775
420
798
608
545
985
164
930
158
785
563
29
688
418
158
499
858
628
904
869
80
668
210
133
263
220
39
158
556
428
949
633
192
738
791
27
78
123
419
506
107
769
579
841
899
353
567
962
988
823
949
433
430
167
469
675
672
236
719
638
56
229
456
411
292
227
159
269
642
422
831
755
650
119
362
527
781
429
269
633
971
874
321
386
147
186
543
772
993
273
280
475
701
525
768
760
306
939
367
306
886
663
559
925
390
961
46
920
810
269
845
60
861
12
496
579
225
777
977
91
728
78
287
669
469
253
193
562
991
523
976
459
827
221
995
813
940
68
106
259
775
843
860
959
507
187
7
389
173
52
48
453
606
586
625
963
701
209
380
735
944
909
612
814
938
176
622
926
446
131
611
628
608
805
882
495
583
816
131
82
434
179
425
720
399
417
898
657
698
831
509
434
830
66
942
936
157
488
951
599
972
981
12
921
610
946
71
70
461
130
513
270
268
811
723
232
230
8
443
241
324
751
33
640
858
874
470
316
900
35
617
64
84
933
795
614
410
170
710
701
637
325
423
340
110
849
468
207
808
192
657
580
567
814
310
775
739
53
365
834
305
283
496
608
411
136
741
386
300
584
546
268
816
123
875
724
124
492
565
465
783
739
606
202
555
724
770
342
571
804
688
691
24
212
406
176
702
64
508
678
369
798
711
696
274
698
119
33
40
242
622
849
371
817
747
674
909
823
259
540
623
683
782
347
893
712
269
544
483
153
498
796
797
977
686
268
917
364
612
90
268
858
277
992
102
623
297
485
335
442
664
327
552
138
624
876
752
219
573
779
102
438
95
478
691
660
275
504
442
210
757
833
728
394
491
563
865
649
868
596
411
360
294
128
30
137
402
339
890
256
144
892
915
638
644
353
537
472
101
218
881
592
770
896
565
251
638
858
731
307
754
207
142
755
112
26
265
227
395
185
123
654
822
281
142
655
923
105
866
953
659
319
123
386
303
179
365
205
507
76
940
609
251
234
740
144
820
671
441
237
947
969
511
336
374
785
356
798
27
658
380
981
770
320
338
438
571
869
719
369
551
324
736
102
28
92
624
100
129
215
134
463
35
100
756
588
729
948
767
770
463
149
864
781
204
325
497
633
235
840
14
666
405
848
197
81
561
886
36
828
57
853
423
940
967
515
366
39
263
182
715
603
420
944
529
689
404
601
491
841
102
934
15
770
360
944
963
383
47
362
290
127
665
712
370
40
805
11
410
465
364
200
322
57
339
692
57
916
123
90
600
660
141
64
513
747
727
202
162
2
121
872
95
781
444
81
636
624
323
565
185
278
239
351
654
39
887
902
804
253
598
492
290
390
52
476
892
682
596
895
863
792
279
270
88
691
599
677
705
266
918
183
72
825
871
457
69
670
779
644
892
376
522
527
594
925
939
493
420
988
867
111
399
139
123
111
157
285
137
215
924
128
20
225
560
429
231
345
974
673
586
932
83
724
572
120
835
196
496
399
699
600
793
674
185
234
547
921
830
360
195
456
918
265
445
17
469
453
970
79
246
883
27
567
47
451
415
447
448
464
244
65
411
839
346
756
678
772
639
311
946
460
775
675
130
348
277
702
775
300
363
490
481
637
903
188
172
428
514
397
484
157
981
453
4
81
802
567
464
386
365
892
754
827
924
26
638
817
775
649
341
717
547
181
297
658
645
996
193
730
914
902
218
390
271
49
107
48
73
534
84
262
378
492
572
230
174
625
408
295
356
890
848
474
758
198
897
194
727
679
519
954
295
61
336
642
345
873
714
78
489
501
791
514
979
804
668
633
461
266
478
65
955
965
560
833
214
416
84
779
246
106
677
205
123
717
549
2
484
669
947
153
985
991
718
995
506
973
212
140
70
638
649
514
910
934
409
330
145
867
657
223
283
606
348
478
295
175
300
622
566
200
335
832
797
420
370
906
396
997
573
540
360
346
800
507
689
987
856
423
659
202
884
583
927
844
922
726
157
177
742
189
499
927
904
431
921
229
345
423
125
471
889
133
932
436
801
287
387
741
929
199
659
532
665
357
713
518
917
430
208
974
967
872
725
331
371
634
818
476
62
699
295
972
26
858
420
893
928
812
506
594
962
172
528
189
616
918
822
119
764
930
711
204
914
991
431
442
287
155
243
4
166
113
296
641
152
189
456
478
522
756
64
900
781
878
654
688
436
431
267
723
252
116
582
619
513
289
866
658
508
652
949
391
299
284
748
579
377
508
916
511
505
797
303
339
755
965
842
181
50
298
859
747
529
804
458
809
539
212
471
681
977
912
757
674
947
962
659
288
348
292
582
366
316
399
37
441
632
799
623
822
12
457
165
31
653
278
46
358
192
865
510
791
918
852
622
809
233
964
157
459
513
944
184
616
245
216
253
428
902
935
794
148
72
166
658
879
748
800
968
977
347
933
233
843
636
110
236
263
926
230
790
373
863
481
297
639
808
331
816
42
588
625
59
622
92
170
333
266
836
773
528
349
752
444
781
296
210
456
710
281
336
604
369
200
301
239
909
564
972
58
495
688
622
977
947
258
55
123
411
959
76
54
646
419
586
475
84
254
947
364
718
210
308
433
987
279
647
985
525
67
769
19
978
126
869
340
641
680
945
576
802
658
959
337
847
659
923
623
419
324
438
699
60
82
479
829
848
938
359
989
958
290
296
560
790
862
256
635
646
695
469
944
977
914
955
283
25
419
55
377
865
406
505
121
562
661
848
87
608
948
201
834
358
298
124
161
261
794
340
431
227
116
388
933
994
341
873
484
798
677
484
920
301
44
813
67
5
550
605
543
825
555
290
364
90
379
383
998
78
251
732
967
695
967
507
303
921
689
653
206
293
421
994
433
696
4
482
39
859
665
549
743
672
592
139
217
868
689
301
839
673
72
148
510
329
863
553
460
372
609
171
75
97
720
30
765
422
331
650
605
895
783
796
217
696
746
894
392
644
718
643
67
614
713
234
641
332
699
469
317
224
6
244
186
683
695
67
899
470
751
400
855
943
31
131
64
531
241
411
704
491
153
618
964
748
159
74
798
318
98
311
979
904
376
246
958
727
377
338
977
211
771
139
524
243
710
922
884
62
805
803
215
156
275
344
858
410
367
896
326
167
874
945
259
582
749
810
50
926
253
630
997
61
311
377
552
892
862
603
461
3
572
667
397
960
959
212
600
403
435
587
890
812
555
428
444
830
445
230
793
416
901
726
814
941
982
504
205
366
129
586
343
658
429
580
332
735
373
872
239
211
247
754
41
453
415
952
663
122
354
10
971
150
615
711
634
596
596
497
953
868
347
532
229
791
574
221
286
767
568
142
421
578
536
425
924
210
6
528
994
359
165
813
544
79
828
210
198
498
435
38
127
117
900
242
553
983
31
605
261
403
834
974
440
752
697
806
91
363
620
613
198
301
216
791
695
153
432
676
830
120
694
399
177
687
242
664
171
918
404
460
514
216
825
486
619
749
619
755
286
438
535
651
492
100
149
266
242
677
423
946
761
997
485
345
830
154
353
947
139
641
377
201
235
353
321
433
701
487
989
379
586
74
924
725
687
671
922
189
459
447
641
891
947
602
508
32
638
676
801
596
513
852
677
643
734
856
590
565
610
959
702
210
449
803
489
728
894
915
557
25
492
447
669
231
529
439
664
932
343
38
458
732
482
846
299
849
844
820
629
993
784
577
846
790
933
549
476
71
490
544
952
906
684
760
555
857
866
928
796
481
649
478
6
242
542
280
467
951
376
354
577
26
359
909
852
835
815
892
42
506
144
688
362
498
694
458
196
760
573
452
231
861
623
862
710
830
645
919
155
558
772
599
146
124
533
301
524
151
426
215
957
648
447
840
513
451
2
50
175
585
395
662
587
701
577
472
82
658
803
635
83
284
411
562
130
861
375
546
316
1
648
72
36
426
795
881
676
943
865
768
202
406
937
739
601
258
517
569
7
155
78
439
55
528
502
438
414
584
8
846
235
604
195
637
949
911
776
992
125
793
686
773
207
31
269
975
545
481
814
944
229
327
853
76
540
16
728
338
676
394
75
821
77
957
677
453
72
866
588
171
439
289
822
238
760
341
316
231
244
692
355
523
172
147
538
937
490
528
837
716
291
581
584
292
330
543
464
985
56
920
114
180
264
793
352
709
364
294
672
880
72
930
426
227
169
55
729
676
874
397
403
208
703
19
32
353
61
374
218
992
265
133
479
396
875
607
282
929
337
224
123
974
540
859
225
182
946
510
655
601
879
261
317
121
562
507
230
394
919
243
961
847
670
990
799
632
296
51
550
55
819
947
271
717
906
122
116
398
496
135
696
158
159
360
351
573
149
464
160
495
498
21
990
270
635
44
365
408
637
344
876
975
777
294
855
359
767
137
799
718
712
46
511
0
762
65
532
880
492
830
143
184
702
189
452
815
632
376
906
626
58
813
370
7
429
257
518
211
993
48
5
216
164
463
511
824
353
85
403
417
978
810
315
9
275
686
337
789
698
961
715
63
448
273
354
845
864
475
704
404
627
763
703
676
982
585
128
325
985
962
51
785
181
924
396
708
150
130
305
125
217
861
383
899
155
200
358
75
113
534
786
472
887
286
381
834
554
445
93
427
593
675
830
617
643
212
178
870
278
548
755
733
11
561
13
986
970
926
515
282
105
334
713
511
836
847
80
507
483
566
200
717
287
550
32
183
954
503
936
912
308
942
90
572
264
729
463
563
196
921
718
802
223
865
751
514
930
78
363
82
117
707
973
353
866
549
894
832
756
807
383
283
653
478
161
247
348
580
707
507
718
837
196
971
901
814
471
530
426
896
476
446
215
429
715
817
507
884
105
743
378
795
153
308
867
571
131
628
207
943
751
785
583
130
211
780
347
117
621
793
250
272
857
848
297
655
644
22
31
754
599
44
324
255
284
556
865
291
574
111
257
504
768
203
81
969
650
593
553
225
52
655
338
590
193
4
135
976
866
541
283
908
12
428
656
627
332
888
661
842
622
109
87
362
431
751
987
249
257
83
235
569
893
278
60
850
734
180
584
701
865
657
354
465
254
556
67
740
995
179
461
936
65
271
764
984
834
142
260
170
565
833
439
237
957
622
975
75
681
84
920
246
596
358
58
262
169
862
146
887
445
395
208
858
998
522
535
209
225
865
11
30
645
496
353
131
99
263
728
489
964
311
142
187
559
525
519
491
600
711
473
974
762
197
154
772
614
381
392
412
372
186
357
785
282
827
858
20
659
478
151
744
564
271
352
947
863
197
861
515
890
994
133
776
724
80
665
759
3
441
539
223
305
977
778
125
329
308
754
977
414
789
648
596
426
898
542
638
986
67
83
916
382
211
845
870
321
904
214
277
746
127
908
922
195
0
670
694
613
733
493
749
975
270
801
164
961
975
734
692
517
419
163
686
978
186
26
531
298
616
166
162
592
135
929
735
991
601
252
352
778
245
969
943
516
409
893
442
647
857
628
692
147
623
738
671
263
258
463
729
628
304
992
905
224
827
75
764
988
80
728
8
566
870
969
617
238
379
735
695
266
855
244
785
303
956
393
845
416
250
728
295
703
52
180
138
94
925
203
579
34
749
56
677
202
749
213
853
563
5
890
988
173
807
92
894
989
98
783
549
52
164
452
610
141
651
793
990
735
401
574
987
212
738
956
177
844
758
691
799
964
261
909
873
971
627
837
779
498
602
195
771
665
600
297
325
889
864
955
259
736
906
673
330
221
861
190
805
984
675
475
608
144
568
667
276
37
526
726
888
742
65
962
921
673
313
42
921
28
102
965
650
352
498
472
912
187
262
735
304
113
171
503
275
624
499
265
435
387
575
776
643
519
594
683
835
524
632
249
520
461
973
576
839
153
326
287
358
720
115
971
928
993
350
644
596
399
530
769
505
492
818
900
347
920
277
527
774
553
585
424
710
684
80
280
835
658
63
268
253
992
337
270
393
891
937
692
92
705
732
998
128
835
72
456
808
674
956
229
191
285
330
857
67
829
982
267
740
77
747
482
596
484
659
997
235
301
670
80
654
316
468
683
461
205
822
390
763
688
776
649
615
620
229
899
874
870
890
58
339
841
529
659
376
142
235
308
21
86
581
781
72
737
853
798
114
229
389
401
769
335
143
346
350
572
937
358
421
362
848
989
775
620
411
993
240
543
98
306
432
4
923
192
307
519
477
812
437
958
962
534
111
576
335
131
292
441
16
341
225
83
736
715
960
165
92
785
476
642
780
834
510
420
299
76
24
132
849
885
238
467
713
871
297
197
997
803
179
421
7
697
904
815
418
46
128
796
6
698
880
291
457
415
275
351
991
58
801
881
989
772
548
187
234
955
517
156
338
630
271
140
962
673
260
522
418
483
422
857
806
824
265
668
169
286
451
401
231
366
160
843
263
40
258
393
912
310
668
684
579
553
370
343
450
660
54
87
469
837
556
369
404
121
778
434
973
681
83
121
360
24
1
592
21
786
254
230
249
63
6
373
562
549
770
725
369
321
752
80
42
126
518
360
32
743
153
607
434
572
99
100
718
829
992
142
298
354
189
993
592
35
999
370
327
645
377
601
235
829
678
291
410
415
891
449
621
754
612
633
978
556
573
272
433
23
187
28
593
318
763
346
732
451
710
809
589
368
571
310
398
903
474
850
439
112
978
317
142
153
133
461
366
16
570
652
554
113
872
311
530
710
958
17
32
325
416
348
812
486
771
790
781
417
178
517
647
583
254
565
672
406
611
42
162
571
391
351
76
855
102
353
926
277
923
912
484
842
993
541
425
525
295
698
341
180
106
422
538
12
405
915
205
311
243
172
426
861
466
631
139
885
370
791
262
454
846
512
765
282
440
698
848
630
556
819
511
692
420
419
924
116
38
197
988
294
902
297
736
828
181
251
298
415
432
586
889
144
944
358
586
361
428
857
241
374
217
57
407
874
462
703
886
590
502
369
778
652
239
507
126
988
959
717
503
342
731
779
645
487
185
610
171
4
444
356
139
299
485
975
658
457
141
89
400
556
424
234
395
34
680
479
227
109
597
251
28
891
647
318
625
730
470
133
872
198
484
918
525
276
357
479
272
564
591
623
507
19
590
558
666
337
484
674
180
188
983
743
796
687
948
899
45
212
472
712
883
198
56
625
249
103
562
235
985
807
806
610
540
139
3
4
842
404
873
992
804
245
926
455
955
415
322
504
778
408
737
233
660
145
249
103
118
622
34
54
780
637
162
812
159
547
303
889
467
671
841
90
207
777
392
427
938
417
851
911
284
347
286
869
987
325
529
887
110
987
229
878
289
216
310
608
203
744
378
753
132
822
445
407
553
245
195
150
357
558
917
870
407
518
629
717
616
288
730
354
684
621
719
507
452
441
420
703
558
368
789
596
49
829
659
771
755
54
902
777
78
667
358
504
145
24
934
524
661
499
935
77
739
806
7
833
923
231
864
275
783
332
182
979
483
233
571
14
651
753
64
332
376
168
558
532
272
777
109
981
856
321
745
500
41
796
18
24
168
40
31
950
170
284
451
435
741
643
957
0
372
187
121
825
457
372
522
991
919
4
417
671
278
881
563
193
926
139
733
786
546
414
229
449
387
405
537
648
493
269
548
622
946
28
791
847
653
692
32
258
734
770
78
920
968
190
300
181
66
926
863
540
52
198
555
472
803
471
425
798
375
637
326
402
498
687
362
737
199
713
248
628
288
368
575
664
480
210
952
585
607
423
879
978
960
712
572
393
77
252
578
374
124
500
23
712
769
320
484
54
398
383
562
870
553
790
748
839
480
901
945
601
120
809
64
946
204
418
51
795
151
920
219
526
776
278
479
385
91
467
253
938
685
912
105
762
810
943
334
491
520
806
955
546
611
274
160
782
585
430
918
328
788
327
687
502
567
899
837
111
670
285
496
721
321
211
539
813
316
486
95
405
929
41
415
92
624
109
551
424
678
502
972
544
806
511
28
914
437
793
160
449
398
734
881
357
48
196
635
37
117
834
594
569
793
469
784
722
451
742
649
626
934
538
31
720
830
706
703
32
996
548
950
753
396
385
600
571
801
503
840
939
871
884
723
8
729
953
764
240
987
487
548
975
351
686
607
449
597
180
718
711
761
31
913
873
145
786
223
260
547
893
474
230
589
289
954
36
543
789
220
572
901
955
942
848
677
957
178
780
554
432
648
719
921
659
169
729
447
880
353
289
550
171
643
569
195
897
729
488
627
599
689
243
695
797
990
791
596
623
898
961
931
795
290
285
884
486
695
459
892
773
939
409
737
847
20
939
331
517
724
59
70
560
272
539
828
47
585
98
193
696
679
216
433
872
492
402
915
545
405
86
950
178
248
314
465
44
142
965
351
728
304
672
133
946
759
860
162
554
420
143
614
432
782
403
320
617
69
443
690
109
84
184
899
844
856
914
872
354
364
188
454
441
95
839
560
876
660
773
662
349
849
15
542
69
428
967
501
206
163
313
330
616
96
452
694
476
353
124
39
472
996
381
966
175
436
363
229
64
786
338
788
470
936
736
666
745
866
766
55
184
509
847
469
533
506
514
115
83
800
511
999
856
28
639
573
783
395
823
49
82
684
723
611
143
188
959
523
178
667
475
589
122
23
829
835
21
799
489
146
552
73
915
551
432
663
952
27
38
131
379
203
212
831
23
305
653
621
509
753
308
341
221
713
865
818
781
223
512
254
839
170
924
57
181
148
230
912
926
279
625
600
16
496
246
942
304
694
225
590
258
286
377
229
20
342
641
961
951
126
989
766
958
290
368
611
103
81
621
591
141
472
780
274
664
22
705
483
170
622
666
358
618
543
725
919
408
324
423
636
164
105
321
594
357
340
757
41
398
285
56
798
786
37
139
633
907
580
228
104
183
683
395
441
947
526
450
203
127
859
758
272
201
847
11
824
253
189
717
577
808
975
804
658
709
147
45
697
547
735
877
801
189
238
608
532
574
661
910
102
448
155
150
342
928
941
298
765
692
81
660
14
864
113
147
0
442
758
993
955
20
736
619
262
968
976
275
448
111
931
818
858
294
662
669
176
695
48
163
667
335
680
665
884
902
461
551
70
1
202
896
339
52
83
192
359
459
338
319
523
43
346
977
183
59
10
816
911
346
720
534
748
373
500
572
254
553
219
558
453
195
574
642
43
280
477
839
751
648
477
888
796
205
474
539
437
47
575
818
356
41
605
226
471
577
95
519
804
322
391
303
447
241
25
274
828
263
897
858
855
526
383
65
890
26
874
747
648
801
822
414
701
706
906
771
138
653
864
354
751
683
361
552
303
748
935
627
357
624
124
124
509
217
456
908
435
119
0
835
495
63
551
870
557
586
994
537
528
320
233
974
55
98
999
635
205
198
890
299
518
833
916
196
273
790
973
775
96
98
10
513
574
30
336
16
508
353
608
278
879
92
461
966
712
413
556
132
607
774
936
150
193
169
255
340
36
847
669
900
370
393
951
685
839
979
314
286
484
70
934
605
224
775
820
774
113
29
101
169
795
232
535
227
416
281
442
708
622
980
489
728
575
797
621
591
423
238
598
386
111
682
643
424
548
222
824
525
730
406
145
16
347
105
44
384
164
387
420
418
424
991
328
467
869
170
186
748
781
689
471
259
676
129
123
252
248
991
682
122
855
75
560
899
927
993
124
920
531
675
24
630
696
398
159
258
159
361
840
440
556
280
603
770
564
772
586
868
916
267
564
503
141
613
97
571
865
613
242
886
386
744
195
557
823
345
826
532
621
346
829
363
421
366
992
447
396
514
99
954
696
584
516
469
994
809
801
756
252
930
992
802
763
371
333
144
115
166
647
53
729
296
887
828
241
424
536
940
228
58
358
955
569
328
334
607
162
252
453
11
325
745
860
892
822
180
75
643
195
515
965
563
689
607
678
111
760
938
910
673
826
467
878
516
16
188
328
41
960
73
179
749
625
81
46
35
73
937
548
196
882
399
153
559
59
460
787
348
654
838
534
497
652
143
657
240
643
444
887
849
315
598
281
981
330
92
157
241
757
354
898
204
802
892
656
492
743
53
400
463
164
904
607
831
879
987
637
137
331
732
847
448
153
198
224
646
908
93
236
737
626
570
926
371
615
880
242
614
523
491
903
77
973
621
488
956
756
555
414
776
742
432
548
928
356
428
764
704
385
137
936
901
66
28
145
797
939
136
225
332
734
630
555
497
675
50
749
311
407
840
373
719
650
319
145
662
71
383
497
603
123
112
574
580
795
818
208
183
331
126
990
425
314
474
870
494
135
570
642
78
4
186
824
38
667
673
792
931
157
982
616
119
342
867
386
587
316
491
969
221
696
956
528
172
149
959
704
67
613
680
547
175
145
769
812
995
59
455
415
547
577
911
782
194
775
778
977
690
758
647
339
244
0
735
189
27
26
489
461
233
706
461
188
282
165
375
678
751
932
575
378
267
307
887
354
166
420
753
81
237
870
419
790
489
417
481
380
214
794
83
229
91
672
262
193
3
651
3
2
906
64
202
783
142
297
4
614
959
938
380
895
984
293
986
171
92
645
341
579
162
669
334
425
92
445
215
190
274
198
626
860
402
886
433
823
761
875
952
972
477
371
874
539
607
861
586
213
619
947
245
192
778
793
441
135
415
396
865
982
240
494
970
485
335
414
639
865
280
101
349
662
59
109
908
498
613
901
302
146
315
865
174
30
808
426
939
621
522
887
806
910
602
497
586
796
36
115
834
631
892
648
788
33
690
968
381
191
122
657
671
376
356
468
994
331
452
357
156
263
741
18
815
982
177
731
943
984
641
609
401
699
778
867
247
477
232
478
67
396
491
351
289
960
478
116
835
311
545
817
430
592
232
472
711
107
957
537
772
364
455
468
160
722
501
574
401
528
299
18
13
342
144
952
952
57
7
787
963
875
538
738
84
16
195
825
735
259
758
832
628
496
808
257
503
952
247
41
809
530
948
497
66
742
407
407
161
49
907
636
572
205
461
914
420
864
659
715
503
536
528
528
461
580
112
730
425
788
816
552
350
502
763
612
293
922
554
388
131
396
969
238
167
354
792
244
165
150
586
731
932
523
390
554
266
750
889
27
645
964
498
376
810
776
444
97
575
258
700
893
913
43
932
991
115
39
910
987
537
425
918
344
210
976
138
1
401
641
118
549
318
942
766
971
952
320
318
730
172
828
100
908
828
902
443
302
407
705
580
500
862
131
263
473
65
470
654
149
972
226
220
96
177
450
562
736
367
513
259
843
641
885
34
787
230
854
3
660
131
571
35
889
33
687
619
278
777
228
835
312
73
826
207
984
696
733
822
726
75
97
270
224
844
602
697
694
381
760
969
807
288
39
311
921
890
44
434
560
790
227
623
893
231
899
45
538
561
408
347
55
197
931
572
512
478
5
160
45
595
242
657
220
742
41
723
430
415
875
950
151
419
105
962
48
14
196
634
590
256
936
475
208
137
24
958
22
189
445
725
371
378
979
733
254
260
425
736
667
771
167
275
18
603
606
758
94
64
504
993
764
68
336
309
446
549
14
56
387
450
867
915
284
14
660
82
666
650
352
417
734
23
98
393
650
86
530
91
905
282
525
786
492
264
337
221
851
29
396
760
878
725
429
283
79
302
971
366
472
870
745
521
4
141
408
792
456
888
929
281
330
488
294
723
914
877
65
412
990
434
736
205
458
2
46
298
640
791
405
465
53
20
277
927
816
528
252
318
141
633
473
172
496
955
237
189
321
179
834
86
544
330
848
362
871
172
728
526
548
387
925
854
779
988
901
130
456
221
803
353
922
737
513
776
370
332
437
838
87
697
244
501
865
598
263
408
763
619
639
744
382
499
358
154
312
813
595
299
718
860
12
997
177
543
932
506
405
551
628
411
824
280
190
698
809
32
127
659
568
573
907
348
545
124
29
195
134
343
389
24
75
782
683
537
406
616
269
129
167
651
714
230
502
481
647
297
423
645
49
201
118
907
259
905
402
487
818
944
381
860
404
631
933
678
832
122
337
216
491
451
325
467
680
683
363
313
254
997
838
631
815
579
369
934
268
479
142
429
967
97
266
456
279
202
171
143
114
385
413
597
764
74
397
621
897
491
352
160
80
199
643
454
648
555
233
136
331
146
594
586
524
575
898
995
312
776
370
413
61
717
569
535
641
638
442
786
160
93
833
600
63
896
402
704
863
282
836
198
494
18
513
502
197
312
813
294
980
724
249
219
937
381
877
552
569
593
144
604
917
609
638
632
796
35
895
742
132
526
886
21
245
966
618
502
226
198
465
535
373
843
846
382
409
171
495
571
991
740
69
48
222
506
506
937
416
812
410
947
722
393
621
130
376
578
964
863
663
591
268
874
988
515
811
230
722
711
320
129
993
886
898
556
417
150
963
862
917
105
262
654
457
990
576
784
759
620
116
975
847
154
315
871
187
605
109
538
80
734
523
47
672
787
925
908
130
546
491
680
250
821
461
847
976
895
490
466
603
214
764
51
376
137
485
581
112
900
472
685
95
411
634
562
108
533
766
862
264
871
586
697
232
196
114
795
501
617
673
879
758
852
905
793
853
455
462
709
0
955
206
669
745
58
73
381
999
468
262
85
63
576
749
201
257
288
786
961
427
241
174
371
710
120
770
656
629
404
383
165
394
596
951
42
121
558
112
920
818
360
439
703
270
435
244
956
812
302
114
65
121
465
14
350
874
555
554
55
998
73
555
327
673
736
112
213
75
863
395
313
227
485
124
78
924
495
70
574
438
94
112
478
739
877
244
769
245
533
824
184
462
947
351
768
50
983
925
294
485
800
837
299
456
14
483
484
448
333
462
522
883
20
581
471
790
633
37
895
585
315
685
169
380
66
96
716
808
2
187
499
241
232
922
226
12
118
887
122
994
617
877
48
637
958
536
830
752
11
322
951
290
91
867
827
618
445
992
20
367
505
136
269
344
837
736
406
75
669
290
670
340
489
783
344
821
521
516
374
489
257
679
923
217
782
34
515
859
975
144
501
894
374
714
388
891
783
77
349
279
520
137
537
315
137
349
816
149
730
908
656
246
286
530
830
14
431
235
306
312
29
329
774
257
938
581
662
969
904
185
985
778
108
250
914
114
738
888
339
177
331
226
177
653
55
501
482
835
608
338
88
236
478
740
415
133
756
983
71
525
866
303
156
936
972
338
952
228
356
767
193
386
96
539
459
423
282
900
797
637
284
132
607
467
627
195
331
997
578
610
565
596
11
235
297
806
873
798
166
471
552
821
253
547
765
210
502
212
427
760
44
814
929
443
905
273
504
953
98
566
857
100
807
469
339
126
140
239
942
57
995
320
118
3
25
993
276
727
611
593
797
711
456
734
56
57
896
610
847
704
496
776
100
121
109
652
438
124
194
986
482
124
271
808
885
335
178
562
647
456
767
673
995
264
863
32
732
270
690
937
128
484
583
359
747
412
926
237
894
995
187
543
215
572
471
519
824
381
857
651
130
688
958
49
785
820
970
667
128
790
822
724
215
522
413
966
265
328
390
432
323
668
874
268
705
542
958
523
932
933
533
781
976
244
502
683
507
982
871
740
272
873
844
134
913
418
435
935
649
477
37
448
553
509
336
396
585
171
282
379
47
597
482
765
345
539
713
870
742
760
331
944
607
277
431
676
723
891
196
30
678
713
145
818
623
681
611
371
377
944
218
662
526
542
492
154
74
19
941
776
324
194
935
301
376
302
719
46
886
428
636
871
437
20
807
578
310
809
617
177
425
835
778
868
139
346
871
46
332
51
936
141
770
170
628
62
788
285
986
196
675
782
245
571
897
80
371
531
560
247
343
910
300
311
523
855
284
934
15
699
1
882
229
362
778
306
265
296
32
90
785
681
941
231
822
126
570
252
96
512
14
129
360
481
43
429
869
603
42
709
414
975
185
750
151
428
302
925
703
277
581
520
301
933
396
500
148
480
750
546
853
269
53
991
823
209
861
619
446
902
862
326
36
80
98
821
379
915
789
165
99
336
716
356
284
388
729
287
138
335
13
318
319
888
568
991
689
851
603
237
373
270
95
566
385
669
380
73
337
350
853
191
382
885
297
700
670
468
954
690
405
463
654
366
104
829
830
38
557
221
105
66
908
927
862
330
279
422
747
646
536
166
302
686
527
861
606
383
747
612
67
872
664
834
38
130
433
683
309
129
282
782
806
535
516
529
219
997
143
706
94
100
877
244
356
124
487
767
449
953
480
576
833
882
354
149
521
736
187
773
583
876
851
765
54
391
756
39
984
564
456
524
602
71
438
863
950
742
230
613
965
854
409
553
683
643
69
36
866
141
697
233
44
289
475
77
48
633
967
179
968
669
188
111
166
560
613
890
247
862
539
515
129
560
734
588
558
262
827
65
239
267
973
231
651
443
630
207
348
106
635
573
402
921
545
941
638
984
770
892
819
42
431
8
283
953
969
344
106
645
681
932
974
708
867
493
772
639
255
394
179
554
474
182
20
102
996
104
169
924
972
681
737
531
545
167
910
164
14
952
11
747
313
506
67
884
205
511
770
494
96
554
525
905
499
349
893
263
637
518
394
580
22
841
114
112
395
804
493
651
762
278
588
972
938
939
944
849
924
11
794
893
494
500
335
370
480
896
75
676
138
784
312
590
670
24
475
422
606
422
373
25
565
99
734
231
411
783
165
113
335
290
934
721
416
438
40
856
883
362
647
352
946
759
896
982
209
844
654
385
218
2
114
78
206
948
736
580
940
561
662
386
276
288
779
657
779
771
178
410
589
284
625
620
298
510
975
468
358
233
150
465
447
593
389
9
385
901
594
839
78
480
972
692
45
356
916
664
509
611
639
448
578
586
743
141
910
30
73
618
617
551
219
887
566
515
822
526
450
969
235
164
189
138
175
511
948
508
824
227
503
753
735
190
336
699
390
553
78
608
50
290
857
464
156
578
215
962
372
945
978
882
637
677
289
709
205
81
501
783
71
977
869
470
372
583
208
591
38
276
739
286
314
655
929
59
937
988
472
332
646
508
150
121
563
36
18
781
536
575
581
573
870
754
923
513
550
650
850
614
154
284
631
667
683
376
376
720
352
6
902
30
399
464
97
408
755
253
583
631
844
392
721
187
413
147
901
334
887
800
44
606
501
399
937
570
907
127
23
858
580
735
727
832
992
162
466
184
311
437
673
352
529
825
648
83
781
727
514
650
320
713
985
176
150
461
243
32
430
642
69
436
537
883
272
812
641
281
839
18
964
190
367
878
302
408
162
174
397
551
61
678
727
171
229
237
586
615
739
427
943
140
505
0
229
313
251
857
234
641
629
536
624
538
134
950
242
76
936
829
123
496
589
623
586
268
475
232
70
683
533
443
719
871
308
907
599
687
687
238
19
430
817
254
913
805
126
631
50
290
379
252
256
100
120
282
88
97
665
919
167
768
7
445
264
357
310
415
667
260
434
329
648
929
327
442
728
529
511
208
400
778
653
563
74
629
211
502
982
598
714
439
163
825
927
298
794
192
580
879
990
266
85
873
336
743
728
787
477
194
327
705
644
377
669
650
374
264
637
581
713
950
731
541
413
755
514
753
59
184
593
9
807
916
29
542
183
178
6
729
147
71
366
939
600
38
7
727
254
759
554
574
294
151
612
618
406
134
842
717
872
907
541
89
228
382
261
846
326
652
643
781
507
654
260
715
861
248
110
261
303
202
913
825
932
889
592
509
767
639
14
907
331
626
874
249
883
947
385
394
573
329
952
315
217
342
985
458
887
98
568
841
737
21
439
701
928
790
759
573
946
649
625
207
314
22
84
205
903
58
887
98
829
964
102
845
147
369
499
475
365
571
413
90
408
754
433
159
473
63
908
429
828
569
805
226
666
155
664
938
517
859
605
904
167
74
0
710
684
168
430
617
379
135
991
440
11
188
697
541
840
35
286
307
94
562
530
450
802
831
150
828
526
548
367
999
41
628
399
182
277
605
143
352
568
167
359
683
44
675
132
435
632
90
986
586
628
948
492
987
465
880
315
392
319
507
326
520
951
69
573
447
290
532
579
514
614
472
206
106
613
311
760
939
583
85
928
585
289
935
261
478
320
857
513
634
240
430
656
106
369
386
840
243
597
164
487
83
682
21
360
309
665
151
333
251
797
13
45
924
674
306
691
153
505
527
148
136
835
834
212
975
75
626
390
533
820
437
99
827
891
638
421
493
445
661
979
821
969
717
455
892
572
764
716
812
17
709
816
498
225
409
110
923
498
532
669
352
174
365
734
83
670
25
937
533
596
939
588
384
312
633
405
642
276
625
354
334
532
168
991
581
423
448
35
229
558
68
871
765
778
926
451
253
346
905
331
49
802
873
168
435
32
696
374
611
101
742
88
372
126
63
271
85
10
44
118
396
253
719
772
360
577
273
588
244
375
752
389
450
505
487
743
445
35
467
365
529
434
553
888
535
368
33
344
664
945
986
863
817
500
271
324
167
910
942
809
869
170
923
895
108
245
238
617
457
591
812
808
352
407
600
377
114
957
171
1
949
804
946
674
947
788
935
766
874
206
226
749
188
413
323
899
173
994
599
395
358
64
304
163
865
826
975
629
380
151
108
694
645
59
73
439
290
193
882
47
947
769
568
666
449
860
415
799
500
267
975
738
445
883
928
946
447
222
547
354
312
939
636
345
16
918
996
966
571
557
482
206
765
705
969
232
833
9
638
566
356
2
838
867
607
13
570
163
70
40
314
412
41
159
815
408
497
213
577
557
462
474
637
829
854
459
679
371
550
793
757
777
79
534
225
81
252
869
227
104
151
206
950
870
846
318
651
650
274
261
719
927
486
385
52
223
802
400
240
282
667
420
160
756
765
723
142
583
442
993
942
223
512
199
394
708
678
537
840
796
645
670
288
557
475
84
127
119
695
815
121
801
16
69
808
626
560
530
552
762
117
111
66
786
650
138
41
713
341
307
381
526
984
798
386
562
276
841
408
71
412
846
229
837
325
225
501
299
78
416
598
708
548
129
968
562
501
622
50
63
718
467
481
727
966
187
442
43
714
285
158
543
594
203
876
977
24
418
661
870
994
373
590
563
690
146
396
733
986
383
427
84
163
233
402
521
534
692
23
190
798
880
235
534
715
900
897
620
995
274
63
504
5
84
275
863
590
677
366
652
751
743
724
442
318
190
456
362
196
254
243
946
676
908
617
822
324
160
631
668
185
790
206
386
82
96
993
101
986
715
125
52
311
234
217
555
60
507
848
30
754
463
702
0
959
608
478
684
8
898
543
546
217
898
389
675
963
383
652
393
930
478
196
199
246
67
641
840
903
750
770
342
958
643
344
471
788
447
789
853
781
426
591
494
551
237
519
122
876
477
771
886
29
642
83
266
359
645
571
492
642
937
580
202
636
338
728
604
207
233
968
872
594
955
16
370
625
689
61
333
496
762
517
168
419
619
857
709
915
967
77
120
276
642
53
370
978
950
32
562
301
26
374
365
791
227
975
96
465
244
264
875
182
254
903
795
317
757
757
196
197
641
119
661
877
569
981
214
447
377
379
442
748
881
232
602
348
383
232
103
236
548
897
212
671
587
396
601
274
842
940
719
967
30
240
480
664
265
350
220
603
443
344
802
799
708
790
830
543
243
340
353
878
42
231
50
756
555
599
847
101
753
672
888
432
146
911
421
182
578
308
30
988
155
475
622
748
268
331
304
503
411
630
93
141
654
354
716
39
431
552
56
522
251
470
260
369
787
19
329
852
485
321
557
357
542
141
17
68
815
800
653
313
613
225
748
915
637
557
510
594
495
179
719
332
969
213
647
472
417
577
920
718
696
760
218
956
227
80
667
196
321
860
326
260
604
109
889
537
343
682
42
351
128
90
194
747
800
706
371
757
312
948
92
944
946
808
826
609
57
449
703
675
509
963
11
950
192
541
610
910
633
659
237
197
480
711
79
218
168
979
930
672
812
683
971
43
499
250
845
810
914
335
260
98
908
870
208
71
264
994
956
882
57
610
679
908
663
487
572
184
7
332
935
349
745
545
75
416
404
426
338
746
164
447
600
626
612
81
395
727
305
562
270
539
175
774
836
170
549
707
982
298
434
890
872
814
299
801
115
900
703
46
558
840
285
924
972
479
806
480
800
822
562
387
84
393
525
726
540
236
899
93
256
773
65
560
728
951
723
775
865
500
307
407
202
649
324
637
319
850
695
592
592
927
309
432
940
519
480
100
458
662
922
739
95
926
782
768
755
163
20
965
783
8
19
125
519
765
834
490
490
775
747
144
467
838
278
93
129
929
658
253
728
520
942
26
922
49
998
274
357
156
806
739
500
368
332
610
966
834
638
170
604
142
549
352
512
613
635
558
648
678
228
467
615
18
8
230
445
82
353
670
241
408
977
128
647
924
489
211
495
173
568
910
651
692
496
562
444
416
230
339
449
707
219
681
399
697
689
10
616
386
920
692
373
101
983
44
408
21
470
301
887
889
353
687
510
569
137
949
594
895
136
855
870
611
603
421
643
271
99
162
289
53
774
461
485
492
693
733
745
222
237
995
608
378
715
758
66
299
253
570
60
942
761
240
467
125
368
341
808
50
65
178
756
918
327
797
210
502
997
258
321
865
296
2
490
998
928
623
413
23
153
996
903
498
837
653
549
187
909
328
37
926
267
437
500
256
7
569
17
705
617
842
389
326
474
789
127
706
112
611
514
476
729
502
909
6
693
270
646
688
794
497
930
891
388
697
118
53
627
985
146
610
937
480
103
838
780
863
329
745
93
460
827
582
123
698
155
82
347
731
660
865
513
693
562
954
951
16
948
323
579
847
995
166
266
680
114
918
186
895
655
517
223
558
183
269
530
27
960
547
457
83
136
692
967
34
331
37
117
780
911
996
726
494
129
738
550
203
347
65
571
587
377
780
842
339
138
395
303
609
270
990
953
122
136
56
897
71
110
56
960
958
442
620
433
649
13
319
609
487
646
544
666
768
672
46
663
780
964
876
861
956
135
160
493
819
48
11
893
692
298
549
935
889
602
539
447
91
172
74
796
905
123
857
991
524
447
860
512
892
617
642
686
282
832
21
372
853
771
851
230
414
178
90
468
765
79
460
760
29
313
898
922
831
28
261
908
494
378
966
552
323
353
386
800
149
300
744
903
878
822
13
662
43
424
806
225
891
663
189
772
450
54
936
64
50
230
880
397
263
248
77
162
216
663
24
628
558
401
327
968
944
513
162
533
958
55
193
737
265
818
732
850
744
186
942
198
269
803
229
154
233
336
875
744
336
308
768
375
126
485
939
468
615
643
182
180
753
931
808
839
16
437
90
973
172
404
185
81
768
862
975
415
90
471
241
303
263
707
228
592
868
19
140
631
360
797
201
102
489
150
826
789
504
353
632
94
15
701
447
952
545
414
963
367
502
989
811
522
44
425
792
324
447
157
430
339
590
152
102
228
4
773
746
175
177
34
995
552
621
573
548
921
815
728
335
26
863
170
240
141
528
24
112
535
987
790
688
333
748
169
706
742
560
567
370
291
63
421
265
433
194
618
190
443
328
919
14
153
814
884
69
291
136
971
897
172
531
401
570
0
695
208
240
709
797
199
310
237
349
639
810
602
91
494
108
537
747
621
839
165
234
833
691
561
646
264
281
897
206
493
384
443
390
614
302
738
545
517
863
405
531
802
181
997
193
500
522
302
11
699
738
749
187
967
233
461
168
503
225
83
621
735
695
745
876
622
716
703
22
344
645
921
605
355
614
287
991
455
144
196
158
273
287
169
645
534
743
941
799
599
121
659
474
635
248
934
530
82
333
495
658
5
209
879
165
630
443
250
384
535
885
792
908
102
631
11
469
454
357
231
867
592
490
701
11
787
734
170
677
381
303
130
574
878
396
597
962
905
471
106
105
355
402
147
511
935
234
309
954
387
3
69
616
431
30
661
214
512
44
100
574
691
548
392
388
120
706
662
967
827
13
578
347
729
611
793
511
401
182
478
695
369
133
67
489
214
494
28
138
1
123
338
379
78
818
272
558
789
520
78
282
326
929
446
604
107
658
683
999
85
25
485
447
332
739
525
83
874
721
204
750
234
309
726
707
359
751
223
479
860
658
390
569
181
899
711
288
808
42
676
713
529
637
929
618
187
172
683
50
645
306
617
509
837
295
656
256
68
304
838
873
756
94
37
821
749
730
735
448
740
785
880
432
464
553
287
236
475
983
306
376
373
129
156
845
968
532
876
76
447
595
311
3
271
853
20
861
538
533
553
275
566
368
769
642
802
115
981
509
328
35
4
883
50
75
265
826
20
260
921
72
864
362
876
76
975
896
750
488
698
860
687
283
717
733
784
711
469
505
823
941
761
218
236
740
428
334
513
631
660
387
732
818
846
306
704
299
981
319
905
267
343
922
496
209
10
944
19
27
826
223
209
532
638
321
463
464
513
735
547
222
55
30
900
825
304
389
142
468
907
278
273
355
983
816
758
16
27
440
666
742
997
570
281
58
548
739
186
5
947
256
20
80
841
768
722
351
932
747
353
398
300
581
271
697
53
321
4
684
796
658
417
116
318
96
660
827
630
131
583
608
638
545
581
412
58
882
694
112
167
14
15
609
944
129
72
453
859
70
940
353
462
233
299
650
295
897
819
766
199
863
299
321
634
101
641
874
176
904
731
441
365
247
416
53
870
252
251
606
277
712
617
923
751
342
429
616
815
783
387
873
746
229
741
698
968
665
350
456
90
708
733
499
147
561
249
539
612
646
438
551
893
717
236
57
235
478
788
358
635
729
629
620
845
28
162
86
824
263
854
312
300
180
345
528
947
668
388
557
308
103
655
790
942
960
935
485
128
580
354
421
274
445
864
272
844
648
467
417
499
95
5
207
25
131
455
111
790
339
441
274
7
527
694
862
789
406
149
368
840
448
401
628
383
505
637
80
521
549
555
166
711
231
946
248
337
828
660
120
687
532
329
239
353
300
972
234
39
215
792
588
882
324
161
175
586
270
490
27
395
127
432
470
603
770
337
510
233
895
522
611
268
546
757
24
69
497
57
119
183
889
683
274
58
557
612
37
971
142
794
894
240
288
333
222
53
96
302
785
573
39
287
240
911
702
961
334
353
365
793
521
739
257
618
750
799
792
883
26
184
298
904
32
253
396
209
531
500
26
406
339
421
796
775
141
379
908
862
828
43
613
543
730
672
84
576
30
363
910
247
248
473
212
752
46
613
988
99
477
294
660
249
301
774
713
693
134
613
550
79
253
814
558
208
394
668
273
957
701
887
702
558
289
400
310
347
180
121
820
206
495
333
428
106
633
625
635
305
750
336
43
943
63
493
980
173
951
171
747
389
541
640
995
260
661
824
629
444
477
303
624
191
61
336
460
258
982
113
594
475
690
675
11
654
721
317
4
268
740
566
973
769
195
712
464
597
330
472
454
790
166
631
226
549
773
514
700
938
383
520
532
590
160
92
838
283
563
981
989
895
127
169
149
374
676
871
221
247
286
149
210
967
113
146
148
454
658
145
378
556
206
71
734
676
498
409
671
945
768
807
409
712
725
637
822
478
765
726
631
398
841
987
849
43
166
536
289
147
439
909
338
90
915
271
165
403
449
172
111
397
666
309
818
450
786
204
488
199
576
762
559
601
341
216
630
410
888
418
501
610
742
922
821
231
580
104
939
423
128
668
67
209
89
452
726
921
251
864
109
905
893
291
831
907
289
879
840
600
162
525
973
366
729
565
819
223
448
412
703
81
605
166
863
87
329
981
384
620
676
642
437
763
223
975
37
833
198
237
863
744
285
920
210
328
33
53
618
892
916
890
695
882
131
747
496
751
198
522
623
425
235
828
160
571
688
635
808
560
846
194
602
194
350
732
894
689
961
863
184
826
625
766
414
816
495
733
520
329
333
290
756
390
24
128
578
623
777
722
869
827
238
487
687
413
734
702
682
948
152
335
529
378
226
515
228
17
644
180
223
857
657
693
813
579
859
568
209
417
542
990
17
604
620
154
272
374
72
746
768
968
740
715
722
116
342
720
547
119
835
835
897
428
991
542
129
344
38
740
435
31
186
847
538
345
864
40
300
711
789
540
36
8
462
450
345
599
719
634
301
392
742
50
625
718
832
785
302
604
124
912
956
126
885
537
17
196
977
665
631
622
446
633
272
796
744
873
23
973
503
741
343
739
134
655
957
235
400
191
497
129
500
45
17
219
838
666
811
818
839
991
815
320
917
358
296
877
187
162
459
254
347
281
510
111
952
897
528
521
27
524
327
963
271
398
667
543
242
737
891
899
774
626
767
537
248
547
341
891
604
975
340
33
378
319
238
372
999
304
421
420
255
654
852
203
133
728
167
455
751
584
586
934
117
580
346
692
939
370
693
369
112
377
762
556
997
521
309
39
959
199
731
97
743
812
752
292
56
133
833
722
167
626
822
219
1
39
449
339
58
771
636
605
628
805
321
8
83
621
268
979
923
191
235
578
308
651
962
860
673
742
938
497
113
648
994
730
324
400
593
181
780
427
807
86
641
412
63
373
983
987
916
469
847
676
837
399
102
970
437
437
571
193
283
974
993
791
86
329
527
356
932
177
730
807
809
480
92
981
18
805
258
61
331
489
979
504
591
872
440
177
105
494
376
842
634
572
113
366
600
539
514
618
519
488
847
382
348
921
789
853
190
382
2
288
602
895
957
985
210
212
47
125
659
197
362
235
642
712
225
117
367
622
276
141
543
739
288
685
34
801
80
814
578
103
670
909
34
9
404
518
929
184
579
67
553
761
617
485
532
216
488
233
120
37
771
697
654
561
596
67
793
111
93
807
260
147
195
922
113
71
253
102
597
211
836
249
903
150
287
660
757
795
354
544
115
789
130
239
835
9
902
552
126
916
91
581
526
337
510
6
196
780
404
872
514
269
979
473
324
630
634
711
877
454
262
22
633
514
846
475
517
763
451
72
959
199
346
362
932
388
68
933
585
596
3
691
541
223
772
930
34
962
957
815
855
433
85
790
181
450
395
458
826
542
968
954
637
179
824
109
396
650
547
256
529
450
19
640
895
947
901
147
366
646
486
60
748
617
670
583
509
649
86
763
955
538
995
377
815
411
444
646
163
65
673
62
566
278
263
340
541
853
906
504
819
441
402
32
761
96
869
347
828
305
410
942
587
884
639
414
340
697
418
635
492
107
429
315
649
50
334
430
991
437
826
331
700
466
695
976
322
444
951
860
600
760
772
446
623
843
340
998
502
772
291
90
907
722
216
838
662
75
77
646
60
448
786
112
531
591
121
629
676
454
45
996
722
906
732
504
210
890
505
241
343
934
770
402
271
325
455
616
27
389
311
247
587
136
777
649
136
38
109
378
546
350
765
972
752
742
744
614
569
4
31
396
376
426
260
899
290
808
145
618
583
716
208
216
814
563
130
698
398
899
297
353
735
611
514
874
664
95
257
451
105
732
12
366
349
681
773
79
196
21
732
649
27
125
293
71
789
194
229
774
888
535
934
773
455
667
541
294
116
628
112
575
863
935
486
766
917
886
839
364
112
766
2
804
399
68
655
765
332
919
412
528
119
409
821
633
703
193
117
415
844
658
172
970
961
632
222
516
633
455
790
966
589
732
215
271
9
320
677
576
453
965
251
664
170
309
844
804
343
345
843
976
19
339
685
961
128
503
809
989
59
963
506
889
118
361
529
636
440
522
954
309
360
976
96
145
768
40
57
985
160
927
942
357
549
82
567
534
796
956
419
28
200
529
673
448
628
750
295
410
912
203
486
423
220
261
972
292
279
844
734
699
183
976
71
227
907
56
478
563
98
312
626
512
831
615
913
996
287
79
110
824
958
192
198
897
951
636
71
20
316
186
170
912
391
559
62
341
404
817
234
63
348
862
383
967
282
552
519
390
517
531
428
279
490
807
477
112
133
730
92
422
230
599
422
194
806
374
192
838
93
63
446
12
8
426
363
603
469
959
233
677
148
55
750
612
107
670
283
791
979
249
651
31
618
149
934
624
658
429
896
921
580
612
362
486
960
182
746
710
609
513
978
646
911
680
443
444
773
761
240
725
272
419
801
919
83
167
500
102
469
203
210
877
608
894
682
531
844
560
878
461
821
524
13
122
527
589
597
830
62
379
822
909
837
69
770
531
603
613
135
37
262
0
143
348
917
335
904
702
991
62
344
758
544
382
20
593
34
996
216
705
623
587
806
400
575
601
525
767
765
874
577
908
55
592
893
306
704
985
289
163
337
919
927
164
381
907
510
424
189
471
374
295
87
847
755
976
947
489
547
960
464
948
773
816
266
168
219
679
86
445
815
841
992
254
520
243
951
460
219
462
307
705
598
199
726
94
504
890
216
10
282
195
358
817
236
794
605
783
632
826
774
968
504
457
661
156
424
197
381
766
408
924
231
825
595
871
65
404
564
757
845
587
96
453
161
486
446
965
319
536
745
601
413
499
581
197
382
570
367
258
675
835
461
966
497
524
349
599
441
838
924
251
18
23
352
286
323
744
322
124
163
107
480
284
620
92
627
243
943
340
164
496
642
270
263
699
515
751
741
63
456
145
235
741
359
191
826
207
540
997
310
822
381
367
692
751
155
472
996
686
598
56
628
743
726
790
628
5
818
576
791
102
235
496
623
485
407
301
770
978
367
133
348
820
13
577
630
445
642
509
451
411
280
527
751
136
621
324
779
708
176
625
944
192
526
86
672
782
872
383
235
613
901
290
455
122
447
312
520
736
36
789
759
873
759
38
48
507
233
788
36
173
576
305
496
814
814
110
254
412
919
568
537
382
734
605
922
58
167
656
377
378
71
374
20
471
645
10
345
299
298
278
838
784
346
141
626
597
923
468
658
563
514
111
993
640
661
396
747
586
954
550
451
969
605
207
660
355
949
257
195
603
949
87
770
919
218
738
370
169
252
404
40
671
758
662
386
56
568
625
945
685
177
209
210
496
713
856
685
963
596
779
191
179
800
603
310
354
34
226
672
572
338
111
192
489
829
116
789
604
79
307
656
223
168
454
640
597
75
17
336
613
908
911
709
40
820
999
930
409
116
258
460
119
191
193
31
792
915
824
429
825
684
30
274
345
987
733
442
182
571
511
976
203
761
514
329
659
767
986
340
436
826
446
604
804
337
52
999
968
166
705
933
913
224
433
814
204
754
900
726
929
998
568
300
685
87
647
139
472
760
837
842
25
474
129
363
793
900
252
204
665
285
600
667
206
767
471
679
744
745
99
478
761
603
797
201
935
297
220
402
887
758
888
591
360
355
407
538
558
499
836
912
68
763
75
165
570
926
502
842
644
390
686
763
616
53
739
581
298
40
451
123
21
328
765
656
268
509
223
99
239
844
975
499
567
105
931
94
373
324
23
252
104
420
236
821
613
755
426
133
791
976
436
761
962
341
793
372
93
356
592
407
586
263
73
984
844
891
557
950
447
21
128
233
791
647
301
488
963
166
807
142
824
588
9
819
646
959
676
506
11
897
809
22
37
247
190
796
727
288
3
263
191
190
834
380
95
743
632
915
75
953
730
319
964
163
652
67
91
315
52
738
43
761
681
789
157
165
893
260
162
544
237
394
53
973
429
701
873
911
659
750
157
282
571
686
927
875
8
662
861
955
273
845
383
556
142
699
70
714
131
715
198
488
629
978
343
354
734
838
967
679
536
770
206
807
395
249
609
344
133
801
472
34
321
893
247
499
477
430
488
399
90
148
251
908
892
616
480
296
539
901
885
354
193
35
439
12
337
847
632
624
448
781
579
907
388
623
221
132
122
740
655
227
500
619
258
234
221
816
691
978
386
884
532
440
673
278
936
976
911
617
559
315
374
5
89
329
242
594
483
990
310
881
427
507
602
893
208
134
478
254
116
211
197
609
68
969
904
316
520
317
104
825
740
192
88
946
618
350
594
105
495
362
707
903
631
98
387
836
635
71
936
852
720
591
866
940
870
702
698
168
640
657
645
932
956
599
418
361
2
35
945
216
461
159
112
228
692
868
874
492
199
519
209
192
629
116
800
880
973
932
675
840
740
76
595
293
479
970
416
432
8
436
238
664
577
357
852
709
812
414
947
974
54
737
829
615
714
334
237
424
187
338
644
369
783
576
533
382
264
873
430
619
128
383
97
355
876
745
404
761
312
477
235
953
651
998
758
604
0
80
90
898
575
182
551
382
325
593
565
155
669
504
466
744
286
526
692
330
966
319
56
395
875
663
284
525
115
708
229
87
542
864
358
559
604
485
986
558
42
709
812
872
851
593
594
601
68
0
511
647
449
117
895
404
455
407
588
725
87
787
412
823
769
168
847
594
610
810
73
74
658
335
370
10
32
48
597
112
303
990
198
170
453
329
966
44
961
844
282
588
730
871
225
538
974
626
251
850
484
521
104
277
948
922
140
131
244
13
477
404
371
565
337
963
552
905
627
285
29
235
981
237
826
329
368
989
503
904
590
533
574
968
331
250
433
471
291
353
404
470
27
344
706
797
568
167
999
822
5
669
492
292
173
360
651
918
711
868
153
910
663
209
949
797
741
549
718
720
751
60
187
975
796
901
973
174
264
723
880
638
141
325
580
496
845
241
567
92
173
760
113
491
180
75
763
829
208
79
188
426
716
156
22
361
250
734
608
612
245
791
717
961
976
500
750
570
352
598
481
938
103
900
898
988
197
428
456
465
396
646
14
632
629
65
238
155
640
640
363
565
329
753
287
348
570
593
325
768
527
808
563
894
136
707
528
451
297
319
425
179
878
214
315
789
628
599
990
292
202
707
959
561
633
38
687
480
272
330
859
204
706
349
13
566
536
233
680
622
918
411
966
468
99
910
661
740
978
728
767
363
930
114
609
148
769
532
367
162
476
924
33
620
832
310
637
82
220
880
292
318
402
488
988
321
409
788
990
815
257
823
741
849
552
309
761
803
274
941
782
570
199
923
334
987
391
233
407
110
244
660
626
326
398
861
224
871
834
203
990
337
62
931
63
257
858
408
354
504
181
831
714
742
150
354
342
15
769
920
415
10
597
736
497
322
95
861
663
986
348
969
753
357
161
99
266
506
287
449
662
646
245
390
980
458
948
714
194
326
24
203
207
124
459
272
722
919
966
645
216
896
348
938
385
393
745
333
503
460
300
941
408
28
180
348
274
840
885
250
913
187
969
339
21
619
318
147
12
40
413
600
643
367
175
195
368
236
301
344
865
285
973
423
836
607
819
496
890
130
233
321
409
435
282
548
761
644
307
111
63
843
93
75
335
88
491
214
302
513
781
67
88
168
257
210
679
833
545
526
471
632
73
163
318
426
678
49
601
615
392
85
938
538
58
31
263
242
486
70
975
143
980
425
922
930
296
102
619
886
794
815
270
666
100
829
163
761
1
91
229
865
318
582
699
310
182
179
686
667
880
270
896
977
308
427
873
171
104
60
403
423
13
178
384
419
822
794
565
904
645
60
571
82
121
509
104
28
165
803
709
769
59
277
841
110
334
721
409
644
25
463
922
258
745
955
981
837
14
487
142
259
206
401
224
400
885
545
739
829
551
416
267
867
572
860
73
187
365
323
198
142
862
403
948
501
507
792
561
863
847
78
653
204
216
945
147
30
268
813
784
894
414
952
280
727
173
678
912
345
403
651
767
458
384
365
763
779
840
782
20
91
463
942
704
656
290
735
969
835
139
611
556
365
387
303
422
359
1
353
678
26
747
604
240
948
402
201
329
69
662
54
497
896
617
421
558
437
2
340
167
519
994
868
676
757
388
577
212
840
234
435
256
258
119
5
182
746
689
847
694
167
12
684
836
820
310
433
823
214
203
291
494
986
822
798
435
747
0
397
71
828
433
98
634
413
776
327
784
151
514
107
159
217
626
322
89
8
499
596
446
33
932
866
610
322
612
894
775
379
290
722
903
887
354
804
86
639
257
799
530
878
443
597
524
542
439
521
755
84
700
145
722
561
418
158
801
992
615
341
242
311
613
172
220
435
364
531
150
570
366
182
356
11
119
677
714
7
696
694
201
10
490
202
518
721
467
879
513
31
921
903
375
440
605
20
614
54
68
157
832
218
595
48
997
68
815
486
391
293
214
381
473
612
943
250
84
441
680
472
125
158
204
70
726
300
615
595
616
186
55
155
378
147
968
971
336
522
453
824
320
966
582
676
935
799
82
478
976
904
813
521
685
91
664
618
612
335
239
472
366
284
242
183
465
650
16
975
884
306
82
475
164
804
771
995
809
181
172
19
778
761
353
422
111
463
420
56
331
953
876
907
282
240
757
546
464
538
627
708
368
34
101
410
378
309
357
780
820
430
215
901
118
324
161
932
355
17
279
327
298
318
726
541
407
832
944
949
418
348
508
550
808
910
984
359
778
537
314
571
282
163
346
836
625
390
711
234
411
966
341
523
52
199
792
979
800
646
482
508
221
702
383
88
345
549
621
651
19
55
542
405
377
554
983
620
605
657
919
743
567
378
292
346
577
482
924
133
548
803
651
837
75
241
101
902
520
865
14
165
771
711
356
831
111
987
176
591
377
997
643
996
148
743
512
802
579
137
175
698
380
300
117
28
908
398
82
911
810
3
489
27
784
152
329
390
946
610
646
792
543
760
130
405
999
839
491
336
286
133
862
700
265
291
562
813
108
158
843
510
948
281
538
256
34
212
306
173
952
429
335
315
589
280
835
570
284
659
418
909
138
371
715
897
42
453
461
358
175
182
996
629
410
813
68
802
296
784
437
571
546
742
575
820
470
117
147
511
48
975
381
713
418
369
917
180
412
853
657
878
520
123
800
903
506
598
289
996
27
919
951
244
219
343
391
899
43
338
969
52
424
257
195
615
971
931
471
214
621
117
991
614
898
203
915
866
916
478
993
201
664
906
523
483
452
802
759
930
530
118
640
718
311
895
956
694
949
13
269
347
843
299
91
229
16
7
353
906
516
852
281
0
38
533
99
84
271
360
737
736
443
509
926
939
704
787
534
269
533
816
918
62
430
541
777
656
361
808
814
237
730
996
359
20
921
203
593
600
318
261
934
799
991
376
870
682
333
686
316
238
891
548
880
515
583
784
4
837
174
23
934
895
292
879
44
614
209
698
39
455
175
579
716
555
349
914
174
520
542
318
546
792
399
466
89
679
16
415
592
794
335
276
517
108
963
980
971
773
419
974
379
555
155
632
174
649
83
88
307
386
139
855
68
142
290
812
191
750
569
574
866
186
430
676
50
638
258
324
876
809
119
952
365
58
169
973
891
421
228
298
616
152
275
187
130
119
53
368
41
871
315
93
867
903
178
824
498
430
363
631
502
181
646
470
775
147
124
815
543
125
379
730
397
811
991
963
775
605
447
568
770
328
565
205
251
446
573
159
191
760
759
798
760
209
141
935
700
400
461
485
638
717
848
508
64
815
754
553
212
40
431
628
675
352
671
587
319
813
500
42
243
249
19
488
528
329
578
563
927
219
151
797
793
893
876
923
845
857
909
232
68
850
806
478
520
19
144
356
451
249
918
8
803
94
452
581
924
252
366
572
177
789
404
486
342
76
755
422
491
219
215
513
62
830
187
852
9
818
670
875
172
512
81
528
984
254
278
720
411
38
888
255
821
907
499
114
625
544
948
179
20
951
345
634
333
555
149
255
751
37
74
850
231
817
110
335
278
364
680
263
666
210
864
48
828
510
389
994
850
694
504
732
139
217
947
526
676
372
591
628
921
18
633
454
680
645
762
319
377
468
484
614
525
924
374
460
370
779
210
761
834
399
339
632
991
194
166
733
690
985
78
414
103
71
982
786
938
948
163
628
896
55
21
521
591
242
423
746
991
526
730
877
189
500
401
300
440
146
278
950
251
320
27
22
335
650
878
216
149
538
350
500
321
191
606
661
986
467
284
758
139
535
638
972
876
219
713
522
253
904
532
166
5
271
134
867
299
56
23
971
907
203
889
921
959
588
233
193
14
842
458
967
372
132
394
519
653
578
589
137
977
692
835
809
551
696
217
807
478
725
333
280
683
941
175
739
104
358
669
103
170
100
772
457
779
193
657
487
344
228
866
552
814
801
560
599
81
805
458
954
484
469
831
729
858
660
188
845
647
376
605
822
185
407
521
974
456
476
569
931
110
89
523
637
606
653
566
106
767
911
461
271
181
684
252
92
633
617
798
59
281
909
232
774
576
207
536
274
833
787
952
294
769
410
511
372
130
152
237
729
189
426
483
624
719
41
975
742
477
819
44
413
221
254
302
674
590
826
466
237
943
968
17
651
895
382
118
199
588
619
794
273
755
262
576
335
478
0
130
764
590
731
984
366
628
101
465
765
609
574
94
988
135
362
830
889
140
927
44
882
70
355
409
422
929
421
911
341
122
613
354
447
9
187
146
10
757
11
11
676
986
272
95
273
95
739
643
915
592
198
297
133
568
983
931
98
1
425
85
698
838
42
580
811
675
960
512
970
505
642
253
282
899
545
618
669
300
11
266
891
334
541
89
89
592
39
592
533
330
732
755
442
884
805
877
833
832
900
7
106
687
570
30
174
405
271
158
677
463
748
320
704
477
58
732
376
989
391
391
591
764
399
738
860
668
239
342
809
320
913
950
750
369
94
713
184
729
765
789
427
34
546
300
91
767
480
224
257
686
120
881
534
203
773
515
539
335
469
96
117
186
906
403
712
367
863
308
949
306
42
430
603
747
274
377
726
826
981
152
727
89
940
805
458
164
530
630
333
524
490
665
297
95
161
264
150
14
876
236
728
221
985
330
716
749
289
37
906
678
190
366
41
207
901
315
806
461
234
476
471
748
988
513
122
364
224
477
151
153
277
237
915
540
761
428
856
28
993
126
311
640
691
107
706
422
340
100
953
418
61
461
439
108
415
727
998
710
882
702
955
277
553
113
239
557
675
572
990
533
795
727
604
139
806
127
786
636
977
31
54
555
981
412
923
978
927
568
713
388
731
346
630
224
287
918
633
503
133
7
458
312
354
643
723
467
651
301
359
516
564
165
514
251
833
41
221
723
264
912
861
178
600
988
923
394
131
737
5
757
164
632
625
6
74
612
279
825
852
3
751
986
560
983
393
6
832
677
906
769
666
172
601
452
606
635
10
274
540
163
218
378
554
712
505
447
215
300
464
795
122
78
277
126
430
307
304
641
510
732
734
699
889
255
655
786
769
936
516
950
288
606
689
799
745
541
278
120
91
426
144
697
107
838
884
386
879
867
895
520
292
92
91
262
791
789
505
264
521
511
795
309
479
407
477
234
185
722
536
36
312
958
291
407
691
988
412
729
546
752
551
148
63
847
953
693
547
280
373
26
373
646
782
39
642
931
919
413
121
977
10
76
815
817
430
246
537
584
439
169
823
640
737
860
853
654
40
266
976
253
19
381
234
109
694
941
2
810
90
923
367
814
292
797
129
503
814
508
394
442
73
260
50
644
388
760
682
993
741
928
900
404
338
783
838
906
25
937
331
273
331
793
637
731
389
697
668
334
976
234
510
821
666
847
571
721
437
671
715
369
213
352
82
969
599
910
941
968
296
578
887
769
423
521
369
548
550
307
279
280
616
476
605
833
722
539
228
37
554
952
355
166
125
772
34
780
628
935
279
397
699
925
264
864
891
69
91
824
574
881
898
494
951
655
996
179
658
236
635
909
893
625
456
442
549
138
873
82
716
165
941
73
286
461
760
625
639
264
339
813
829
813
142
871
502
599
720
26
889
852
777
86
410
357
539
317
656
603
674
162
11
471
399
298
773
648
253
243
724
443
512
738
916
768
638
570
148
72
501
878
645
835
20
690
295
19
308
580
501
260
549
236
442
1
346
956
317
671
231
548
236
217
595
982
388
984
492
542
800
265
398
762
950
540
173
640
499
302
38
148
495
930
695
248
875
232
524
870
355
458
356
726
870
693
848
698
33
300
344
232
22
99
158
38
856
956
250
757
758
760
776
476
980
11
940
687
492
15
444
985
93
744
802
440
11
104
137
465
506
188
478
362
132
550
800
102
389
764
448
138
517
724
291
919
680
635
272
166
118
423
948
147
103
537
841
792
681
402
84
679
898
444
342
747
979
159
636
638
120
562
183
89
902
541
173
601
55
938
622
905
662
308
769
421
259
147
637
650
938
584
142
763
86
623
786
784
974
930
412
710
38
576
248
616
723
790
793
834
797
643
131
924
19
580
100
905
899
994
515
725
307
306
592
134
48
451
486
461
412
385
296
476
380
40
653
623
536
960
359
893
256
861
269
480
212
530
541
528
53
35
844
275
522
485
889
886
352
19
413
103
20
919
986
329
872
663
550
489
458
848
59
870
216
811
852
590
475
823
156
842
557
477
13
761
8
731
201
52
938
936
409
572
897
679
187
918
146
16
780
36
73
30
975
965
526
782
759
2
415
939
521
890
652
928
245
438
936
320
871
89
587
437
751
314
544
610
348
894
594
79
230
560
663
147
33
762
360
932
249
558
858
555
693
376
74
186
715
471
758
868
955
538
431
606
49
159
952
374
454
338
138
998
343
176
859
429
467
51
672
39
932
442
354
258
9
465
88
992
342
477
419
850
309
663
592
372
753
990
305
846
85
898
808
593
525
575
254
256
741
811
744
769
162
565
536
730
267
137
262
65
830
46
110
995
984
16
73
96
26
200
344
54
662
216
260
958
317
723
260
989
342
459
740
710
65
281
322
410
814
164
473
957
417
800
189
53
848
132
914
878
944
602
166
248
667
876
671
306
110
524
794
456
314
767
901
927
464
575
873
259
722
611
316
129
233
523
129
53
765
292
163
217
89
779
566
446
979
100
860
109
572
288
855
548
926
287
744
218
531
23
696
835
555
672
267
761
941
436
220
359
44
153
220
408
557
427
913
87
329
689
927
945
470
446
161
99
603
632
111
787
249
790
84
420
718
161
942
815
514
563
996
234
98
221
902
901
295
258
263
611
156
303
947
848
622
647
871
373
840
71
954
484
938
510
164
252
454
998
867
696
992
45
161
432
457
274
243
480
658
197
334
348
759
258
554
788
399
997
77
976
728
714
250
40
275
157
991
105
833
653
546
266
877
819
724
693
63
430
187
966
18
868
307
984
388
495
672
700
520
854
379
51
75
866
162
767
666
309
906
500
127
361
234
979
611
916
926
457
716
922
542
21
170
785
769
96
612
321
174
347
526
950
53
261
62
923
142
472
813
157
800
651
252
657
661
61
215
234
145
718
622
786
926
957
994
376
449
588
742
363
312
934
112
700
826
239
389
947
93
333
757
498
709
162
775
865
995
330
218
848
687
743
751
330
157
81
651
179
66
582
677
554
384
652
537
401
370
855
686
133
631
502
742
475
533
877
113
272
838
0
719
117
678
130
264
520
495
421
262
22
197
193
165
892
761
127
639
167
416
133
931
331
729
418
580
762
132
936
842
228
549
435
17
918
715
980
77
621
804
322
421
764
636
641
10
456
305
117
168
152
639
379
772
243
612
337
27
206
663
791
442
299
512
278
973
233
199
963
788
638
649
258
961
362
451
410
158
539
184
409
330
800
985
351
912
632
92
852
593
456
372
109
611
567
805
536
835
364
523
549
203
540
399
819
840
744
421
10
697
127
518
899
158
258
649
775
628
655
270
193
791
719
141
634
496
332
630
953
167
687
955
233
910
348
393
583
179
831
344
405
278
431
338
54
328
162
926
517
530
529
977
832
686
418
766
581
333
671
954
237
241
171
834
619
268
170
89
555
713
416
205
209
71
444
551
626
250
885
270
458
10
692
794
689
746
209
532
708
280
28
879
294
591
7
620
652
120
911
688
362
878
604
735
191
359
60
427
599
689
450
763
756
459
580
722
148
80
218
553
953
780
537
899
836
571
297
552
64
586
635
685
913
6
749
728
532
445
187
9
8
217
86
345
309
870
140
213
440
79
981
201
279
888
232
443
655
958
818
772
848
265
988
24
688
405
911
545
140
217
972
639
515
124
671
985
111
996
883
698
885
17
726
952
833
626
773
536
88
106
691
359
419
373
697
122
84
943
252
886
641
511
650
438
991
795
344
49
909
651
661
204
236
981
607
35
894
781
560
1
879
864
482
805
86
596
0
755
630
229
893
339
94
162
883
940
4
27
481
197
660
560
621
271
528
408
817
623
888
117
178
876
682
128
293
904
286
816
714
213
656
997
952
754
661
546
759
872
676
493
201
183
35
208
251
823
968
947
634
911
159
682
736
299
346
921
234
684
332
979
615
358
887
286
438
837
917
947
221
438
376
365
962
548
417
384
944
65
657
416
729
805
512
327
183
241
693
406
73
649
230
861
881
366
728
899
558
352
516
386
555
19
732
152
463
655
191
292
136
384
69
624
120
356
231
28
176
526
822
599
70
367
698
849
54
848
16
595
959
771
975
885
360
251
511
127
470
71
666
557
660
378
692
182
283
996
863
789
740
143
727
694
605
541
484
449
950
303
862
579
704
888
339
513
816
336
661
536
936
396
353
930
202
749
713
860
515
508
391
51
318
166
492
359
12
952
623
161
879
246
782
887
944
894
10
95
555
69
338
427
839
148
666
438
325
492
613
682
575
104
921
493
161
15
696
941
210
526
539
381
255
554
842
344
683
711
665
18
210
55
931
20
4
303
713
308
116
996
141
543
813
222
600
569
27
212
177
506
967
832
3
202
553
42
494
43
898
914
738
282
683
432
137
150
557
737
107
418
560
984
758
696
246
361
696
185
870
817
462
853
208
57
14
983
933
756
3
996
347
759
657
556
862
710
212
357
147
873
451
177
899
356
742
677
437
836
71
25
695
603
724
299
946
527
725
378
539
498
909
740
117
668
526
691
863
68
282
937
730
272
508
9
465
358
778
316
236
730
926
888
355
386
820
314
383
667
237
280
266
667
259
41
478
9
216
594
775
961
293
730
270
610
917
483
682
108
794
8
390
91
544
462
648
864
675
372
798
748
376
522
267
201
575
147
755
344
351
429
642
725
746
140
671
528
136
686
751
946
993
164
917
521
687
694
649
877
411
114
715
138
880
609
342
104
717
904
793
966
986
80
902
23
266
897
823
552
906
307
943
62
394
705
332
194
20
753
321
11
136
949
72
392
32
428
47
119
528
855
885
619
697
645
281
735
15
134
87
933
858
219
190
6
948
981
565
629
159
701
41
72
834
639
112
171
694
952
935
879
390
732
269
139
157
429
713
65
853
446
417
148
265
872
621
269
168
751
789
234
575
897
270
287
918
926
951
885
548
931
915
40
225
556
889
279
618
363
799
429
208
765
780
488
282
787
14
452
97
890
393
772
439
6
703
875
882
914
854
726
775
594
24
58
929
183
484
229
156
978
80
754
863
720
359
662
807
594
599
200
432
705
255
905
867
493
820
566
632
498
699
674
94
464
111
322
236
572
488
436
812
105
473
706
142
86
92
740
178
975
979
693
853
104
930
22
778
957
44
312
923
64
870
890
146
412
450
9
447
705
642
168
346
763
198
657
914
62
651
289
321
99
565
962
444
422
715
92
788
363
822
503
995
291
872
271
612
710
453
907
790
474
900
564
186
13
284
575
145
536
995
566
699
856
287
803
480
854
769
749
736
607
801
34
585
450
216
708
574
704
190
480
126
75
887
128
114
265
631
150
389
877
708
46
238
275
251
495
959
429
591
568
906
500
434
960
406
374
493
485
369
22
701
747
886
532
641
732
416
824
474
626
826
713
936
738
798
343
396
534
171
602
973
351
18
850
270
321
339
302
335
236
945
411
897
584
37
603
102
148
996
765
562
51
638
178
479
774
167
419
93
915
30
62
433
487
991
583
789
905
449
669
932
149
496
90
8
988
923
623
876
100
72
188
941
3
500
926
192
137
411
133
814
389
352
427
738
541
913
145
553
68
148
190
805
281
847
926
354
183
110
673
856
437
481
984
766
775
425
74
396
720
498
567
553
719
435
685
986
867
996
981
337
889
459
119
547
242
867
396
763
884
701
265
478
287
337
420
562
118
179
582
4
588
651
978
901
19
799
818
161
706
430
444
365
522
261
983
158
943
703
105
243
825
459
549
846
399
859
344
816
460
499
252
662
78
676
20
736
628
779
328
464
439
490
918
876
98
969
309
998
530
11
706
245
323
189
532
80
637
27
815
394
256
704
599
937
478
615
705
494
709
279
740
606
963
878
663
784
14
540
620
456
184
389
429
723
480
263
130
266
325
865
876
995
725
448
925
456
132
668
390
547
85
449
64
18
880
807
58
13
645
19
536
621
289
914
464
880
828
712
751
568
201
336
762
793
604
144
746
753
779
133
116
720
839
718
470
914
738
313
523
895
481
724
586
271
443
51
525
571
532
6
672
124
382
699
370
890
399
823
145
578
718
58
236
895
810
999
31
331
414
163
96
818
148
779
594
781
23
249
422
916
531
334
353
388
77
855
78
364
878
377
756
392
294
222
151
735
867
846
602
974
409
605
430
141
800
10
547
862
113
982
947
484
500
593
540
684
557
368
387
830
325
794
916
14
659
673
117
980
619
196
355
990
499
352
706
483
652
453
364
519
755
246
374
457
123
951
331
420
515
497
687
770
115
537
279
762
159
275
404
51
256
609
354
222
211
495
9
207
725
212
56
721
701
88
716
835
1
939
241
357
953
431
517
888
139
805
679
143
720
260
221
492
411
326
242
551
957
471
145
183
770
334
747
186
619
850
521
113
588
308
228
620
964
278
365
638
768
666
402
212
743
703
953
785
528
356
87
684
931
972
843
463
570
335
362
834
440
871
678
484
240
53
861
822
990
351
62
412
901
741
153
243
426
480
342
620
731
948
947
84
822
471
376
756
613
162
747
625
175
653
500
788
555
245
350
744
159
866
993
139
124
100
762
431
828
168
523
547
846
162
302
167
467
857
416
477
906
127
448
239
982
978
193
953
302
618
750
712
300
312
129
564
950
243
435
567
871
979
471
605
843
612
314
873
133
945
191
528
592
248
689
629
573
952
258
766
401
163
509
283
998
82
246
985
680
122
748
86
765
500
971
915
126
823
336
166
45
163
349
550
756
144
142
796
279
800
836
986
234
318
520
117
770
607
511
809
144
817
99
480
257
975
271
784
290
634
827
542
321
621
639
232
244
252
427
679
904
52
390
461
126
572
824
688
841
649
95
71
477
235
803
959
728
243
617
36
329
194
30
916
911
828
989
808
591
327
832
30
212
249
967
707
936
573
796
943
634
531
483
70
41
335
539
269
931
51
608
469
440
350
660
56
724
670
429
583
548
83
821
27
851
228
899
366
309
657
830
594
91
561
634
271
610
226
2
722
144
831
144
725
119
865
151
527
672
533
523
949
623
324
114
927
742
644
82
22
971
256
178
981
368
755
67
977
326
294
723
848
426
475
282
331
124
130
661
904
660
268
602
463
60
539
585
73
767
285
123
58
363
94
542
722
961
21
128
306
14
747
123
980
68
382
179
101
22
926
296
190
650
196
975
876
709
36
326
159
103
4
90
881
451
368
127
610
198
774
248
9
998
115
95
482
102
907
522
637
338
67
723
382
781
191
593
722
553
720
897
635
124
774
257
34
179
225
71
478
43
91
30
684
302
517
865
481
934
92
630
250
695
48
662
699
961
759
835
868
967
967
473
574
260
139
609
566
344
675
112
625
166
272
60
116
348
455
34
768
440
178
995
604
575
975
940
893
439
588
310
819
164
496
8
977
761
695
881
571
36
269
150
12
144
626
865
634
940
397
924
154
126
216
756
164
41
841
991
557
211
913
427
410
257
870
891
240
106
746
241
115
952
602
9
49
790
695
567
156
373
446
362
379
377
386
924
288
479
868
290
423
822
125
178
407
754
991
38
137
747
832
393
704
122
225
370
494
64
383
932
771
815
766
658
910
234
3
322
119
215
334
429
571
84
537
896
817
188
558
813
996
828
282
962
370
814
510
839
243
125
818
207
465
446
394
848
795
279
917
439
240
327
616
610
905
16
68
930
337
724
445
292
106
148
101
310
356
501
629
1
727
958
418
407
563
150
639
262
824
819
635
552
23
431
223
31
470
879
547
288
266
388
443
108
314
870
720
765
202
687
580
569
483
353
720
704
723
479
379
615
765
861
790
536
619
735
722
221
56
582
779
640
546
771
82
273
705
90
854
985
756
599
117
4
923
128
521
394
507
556
991
801
861
656
187
625
374
347
846
986
381
667
9
488
315
931
401
751
475
572
360
405
997
681
515
646
827
774
992
321
648
635
485
96
896
433
427
36
464
931
142
604
125
135
593
377
78
347
769
222
733
871
589
987
635
297
28
744
667
957
504
139
296
198
481
65
258
527
112
390
425
111
724
931
774
328
999
454
928
213
666
18
52
115
348
288
972
53
905
978
614
18
386
960
385
48
361
661
898
74
300
229
346
577
565
692
472
216
35
786
310
964
716
24
964
146
259
540
100
328
550
712
944
349
398
287
336
467
453
473
484
383
749
979
893
865
543
601
585
42
91
300
148
178
781
591
956
900
344
301
767
956
690
921
222
741
193
766
311
953
803
746
3
658
226
550
278
573
903
615
51
801
90
192
876
405
515
145
496
5
120
277
134
382
970
21
697
620
601
961
137
952
802
12
501
996
456
685
52
258
745
956
799
264
264
98
249
88
776
161
64
762
26
837
893
154
498
645
795
981
452
933
613
186
444
760
185
27
496
117
521
438
249
830
450
350
416
910
940
648
691
493
391
76
420
51
413
636
327
574
598
830
861
954
582
256
548
293
225
385
420
26
462
972
645
381
268
985
415
635
907
246
462
216
133
213
968
590
996
741
692
642
615
212
850
776
132
59
533
607
408
21
252
678
773
877
789
844
405
885
796
961
473
783
913
717
782
629
964
163
908
875
214
213
679
619
184
216
946
26
705
738
134
194
33
193
451
325
154
359
50
178
153
163
842
87
604
488
155
284
264
631
858
196
778
381
66
216
729
422
500
451
523
970
321
25
172
914
311
471
108
997
84
307
365
617
330
8
312
297
280
584
747
280
505
192
895
603
666
26
789
743
533
666
469
119
870
567
679
486
452
118
969
283
734
194
422
438
466
904
115
218
536
204
801
974
558
685
960
821
620
849
935
69
105
675
539
535
787
510
431
604
84
860
347
313
43
356
307
506
466
684
414
970
995
362
609
172
369
10
711
91
743
545
146
850
883
190
706
237
427
611
504
130
721
887
267
522
787
980
495
535
978
785
952
944
833
134
623
357
890
276
693
365
129
206
514
313
509
72
978
821
282
873
770
368
697
759
143
375
471
539
617
990
974
380
897
217
570
428
947
525
978
779
454
539
167
182
939
84
103
229
133
85
460
789
562
928
151
871
338
666
995
997
231
974
800
996
68
808
980
657
799
273
587
832
419
972
879
210
962
870
122
785
287
729
19
450
877
759
175
559
270
116
738
763
540
364
337
943
963
599
366
828
418
300
7
17
643
701
300
679
249
17
273
15
874
424
617
411
507
595
992
241
961
404
164
601
348
570
896
939
849
913
563
626
546
81
833
224
16
2
268
490
438
187
716
182
866
497
150
819
205
236
942
944
111
14
143
667
559
899
57
336
399
861
570
586
914
902
715
689
229
839
60
697
388
954
703
154
760
235
783
936
862
981
229
325
286
852
151
956
771
345
3
473
640
729
976
879
247
947
355
541
168
938
130
913
653
588
372
620
199
969
985
609
837
400
360
523
139
607
821
238
780
201
963
882
940
132
177
151
536
244
408
47
89
922
625
871
495
40
302
210
580
574
607
4
846
130
668
162
633
670
934
854
216
131
715
452
387
878
617
290
566
724
379
996
437
968
22
384
167
193
541
968
722
998
109
758
143
654
870
63
606
966
354
267
881
313
749
612
270
830
406
23
770
989
746
247
568
861
849
587
529
289
125
195
387
946
198
420
807
341
895
459
865
70
268
180
324
743
827
273
890
931
118
361
980
122
212
198
801
614
624
506
765
722
856
739
286
633
206
934
875
443
293
953
988
22
267
522
823
923
79
689
682
598
918
603
782
302
583
260
305
594
600
199
890
587
948
737
354
446
970
165
436
767
766
740
121
122
776
317
911
840
317
876
85
767
577
596
464
515
384
358
320
373
979
189
198
712
712
239
10
951
982
147
512
24
476
795
143
88
482
143
612
923
759
470
978
284
152
758
459
65
126
739
93
864
625
191
958
908
182
762
242
654
717
58
861
891
783
176
900
117
747
800
214
694
879
384
405
238
764
705
768
509
520
551
493
412
169
584
738
911
282
673
606
494
530
287
25
232
961
31
999
651
966
448
348
299
937
781
144
12
564
784
276
271
580
148
528
409
931
459
158
687
361
498
570
880
156
221
467
623
985
953
102
660
434
191
347
127
856
412
190
640
393
741
614
371
415
440
542
272
4
843
792
27
662
61
343
899
689
405
63
189
408
48
291
188
916
575
260
217
37
722
845
951
704
961
816
872
992
653
306
489
970
3
908
968
954
823
265
0
355
154
685
928
427
292
775
780
383
297
249
694
660
178
233
29
867
587
951
799
264
525
477
379
40
794
386
351
535
432
292
827
519
604
579
893
607
982
255
189
289
211
482
512
232
39
234
355
248
525
350
804
290
900
94
962
350
109
865
779
137
464
565
561
232
889
454
114
873
173
402
836
315
88
796
228
768
411
765
215
365
842
962
323
43
62
836
958
573
638
516
174
742
673
543
968
622
915
281
837
349
726
699
860
165
53
874
815
154
738
840
856
161
281
16
253
229
11
3
580
945
963
670
468
842
72
630
853
397
179
410
956
493
221
269
420
593
478
311
297
467
247
124
305
175
202
790
900
22
212
456
823
111
987
304
616
221
189
377
535
198
940
776
716
123
941
680
297
28
404
505
984
893
503
259
82
700
983
322
231
138
975
387
664
984
761
673
364
836
587
708
633
998
420
927
415
781
593
202
362
559
538
602
322
263
856
908
878
294
608
246
767
40
383
779
147
534
80
412
656
993
446
990
287
726
260
684
341
498
699
890
94
608
295
659
934
843
36
278
332
769
875
538
666
916
723
466
715
612
829
897
225
693
8
477
737
688
262
205
404
912
107
580
368
352
911
636
913
743
783
452
721
940
207
605
715
696
54
34
245
826
175
990
624
834
790
455
409
93
719
580
619
2
545
604
838
980
66
716
728
619
285
908
351
343
952
781
746
757
220
901
710
60
349
794
46
579
307
749
790
313
988
189
923
847
391
714
558
290
0
594
719
905
519
270
563
796
831
887
771
65
610
177
851
279
11
745
940
65
373
25
22
246
303
39
715
360
565
632
727
818
357
988
250
796
657
576
655
465
586
196
476
146
293
371
269
684
813
239
86
582
318
368
757
577
422
967
887
188
70
564
963
459
522
240
779
1
882
785
291
346
874
529
286
442
167
265
415
912
644
460
142
307
334
570
938
368
49
881
864
42
291
478
500
165
836
355
1
105
194
744
728
674
730
996
885
865
840
973
589
826
173
840
839
653
538
470
429
457
840
855
392
643
697
885
252
49
371
524
31
971
766
319
732
148
772
657
695
88
342
700
488
670
743
572
169
944
110
531
125
929
724
277
215
101
658
654
341
799
471
115
999
692
201
328
281
740
502
233
733
988
820
755
575
884
940
684
313
888
486
742
902
626
234
735
402
644
450
179
36
618
558
492
24
778
587
744
257
572
172
832
506
482
110
711
206
801
247
796
718
32
627
978
384
41
371
920
940
732
970
191
541
255
459
13
3
146
275
371
975
907
208
557
894
235
336
699
933
259
589
559
175
692
985
403
460
512
325
60
143
162
645
953
405
320
117
572
849
452
852
221
398
144
187
352
914
515
671
103
874
353
89
785
107
496
404
846
594
555
547
555
348
681
944
478
885
398
354
592
0
542
320
583
126
32
14
209
882
306
345
394
763
280
588
147
107
165
230
282
47
553
903
951
499
662
617
746
512
202
173
633
653
869
450
302
247
847
675
54
329
476
119
479
949
974
490
173
710
330
875
378
61
481
951
385
930
212
634
101
826
639
605
88
721
620
318
596
104
815
754
767
277
801
259
562
572
215
398
562
83
623
48
173
142
991
466
529
845
619
720
339
652
233
358
794
875
997
256
254
94
355
859
140
927
187
583
196
634
825
135
314
926
861
523
274
610
164
655
340
323
81
121
537
803
90
644
820
1
695
537
334
562
214
92
787
677
321
748
50
968
798
475
640
262
134
407
955
136
962
275
510
157
155
769
629
619
492
80
837
601
809
516
168
590
189
89
967
460
437
335
107
174
514
628
572
29
210
471
837
977
905
126
932
224
314
496
354
97
982
290
147
297
327
26
296
424
163
138
856
161
861
138
10
417
2
871
331
715
319
802
92
433
329
819
91
391
92
89
921
370
946
842
613
909
347
93
642
18
99
864
453
500
527
137
374
322
799
137
709
728
475
440
407
671
263
464
843
454
777
630
853
442
604
337
882
370
763
706
585
82
186
375
703
768
111
333
944
518
636
293
54
658
28
197
142
156
655
82
447
804
747
105
177
703
426
39
788
557
431
140
478
74
122
273
262
615
866
161
368
667
751
42
177
376
385
827
149
84
880
320
50
794
624
147
881
37
277
402
243
234
813
552
906
157
554
767
662
259
61
986
306
400
289
821
949
409
789
672
690
80
528
855
592
342
348
212
909
953
216
23
232
941
252
75
441
182
845
952
343
665
158
753
216
353
833
282
384
936
348
843
339
164
501
479
37
612
276
266
752
431
164
402
565
409
117
106
160
834
301
476
463
147
115
102
742
98
755
956
838
177
410
180
872
57
95
671
320
694
788
425
49
123
699
164
328
687
241
126
600
101
883
614
645
689
446
243
857
75
409
828
772
563
19
588
479
932
537
924
730
644
793
251
842
314
935
523
952
468
12
766
240
54
335
714
456
363
54
391
799
702
291
415
373
634
300
9
263
590
224
186
547
527
114
7
865
270
153
453
377
27
831
920
158
877
841
536
612
630
300
280
166
264
911
810
261
591
55
519
312
763
795
688
313
20
721
448
401
234
11
708
980
599
136
762
964
900
337
162
840
783
382
698
541
832
410
74
649
746
53
907
410
399
384
401
345
385
77
132
143
699
421
142
943
600
963
416
576
153
220
129
893
818
331
38
960
957
760
393
992
28
36
764
148
460
414
419
541
57
377
629
380
593
393
328
850
497
756
832
683
547
44
167
689
633
239
979
571
312
519
357
925
939
815
228
280
156
627
450
476
263
433
777
178
466
105
58
933
5
737
997
152
966
182
867
2
609
709
775
970
989
869
575
137
65
752
34
936
484
432
108
526
943
29
588
451
725
597
819
230
150
495
760
777
906
897
171
15
259
757
106
525
26
958
204
437
961
317
918
578
245
652
946
588
990
749
98
255
582
855
839
65
192
896
112
638
57
256
615
727
178
674
95
725
873
611
115
296
100
686
282
339
202
441
512
954
900
674
67
276
748
587
350
977
24
499
412
748
820
116
231
196
98
539
180
65
624
476
725
269
424
94
583
535
490
255
685
747
643
636
181
684
62
461
403
369
805
498
524
561
591
712
141
300
408
766
29
696
161
653
44
384
838
508
235
857
962
596
369
183
216
791
11
541
42
134
562
178
174
392
341
925
329
905
220
983
575
96
835
608
205
230
583
870
394
922
462
285
66
790
698
409
287
11
522
760
583
394
620
401
193
696
877
681
623
958
828
819
661
68
211
574
166
576
671
871
851
375
892
40
187
390
76
210
807
570
584
585
624
222
960
686
370
515
832
927
892
107
497
141
975
448
287
730
296
360
123
989
784
4
57
291
58
171
459
499
347
620
689
61
327
771
141
469
414
376
819
617
96
660
79
748
765
693
803
539
706
681
597
746
541
208
832
340
509
185
516
265
206
359
329
137
339
611
878
940
394
811
875
779
902
188
131
363
471
612
991
100
12
744
26
424
545
138
590
259
998
871
565
358
789
859
125
897
839
585
396
298
436
943
470
680
406
820
827
589
677
865
443
743
476
688
251
997
408
872
247
214
712
775
395
295
198
312
351
121
556
856
454
354
720
708
898
846
35
546
155
153
198
419
24
203
379
446
258
828
578
430
740
961
869
64
4
971
973
774
392
698
728
243
712
788
384
411
193
815
853
871
291
557
968
544
940
79
438
675
568
494
737
671
46
516
336
127
520
118
841
185
205
905
469
286
262
199
944
581
752
907
867
503
889
585
633
86
489
619
584
766
126
771
92
273
102
795
377
95
28
396
679
297
180
452
361
48
447
561
420
390
372
923
941
284
860
629
956
581
891
499
584
508
685
423
790
191
575
961
209
921
645
749
904
426
248
281
471
79
854
527
109
848
989
411
625
532
229
714
182
876
13
869
492
299
376
57
384
526
510
489
883
690
499
813
909
317
13
882
364
709
3
199
458
404
666
667
0
237
610
765
815
106
184
409
837
912
413
975
933
318
188
404
244
10
30
884
249
568
237
551
194
607
291
689
491
367
192
988
213
5
203
521
729
385
696
254
720
339
789
10
984
887
319
775
388
256
592
800
106
846
393
277
246
565
130
962
862
793
350
656
795
84
270
270
824
670
567
405
306
884
420
942
467
189
293
190
816
85
179
560
766
39
497
760
240
866
622
530
771
530
264
671
889
542
402
900
503
971
833
185
934
330
908
529
152
625
595
916
907
298
616
711
904
831
648
209
234
268
434
206
215
294
635
96
109
184
123
578
480
287
208
101
266
328
530
118
499
956
945
113
391
241
64
646
803
319
519
915
275
572
872
808
666
164
766
261
917
188
612
147
658
309
417
45
739
4
429
903
69
994
745
249
397
18
991
502
883
934
463
818
984
239
693
977
18
375
760
599
662
9
121
664
951
545
296
685
457
952
563
286
91
517
47
348
801
564
137
35
98
432
966
293
419
875
172
163
82
694
725
765
812
202
320
391
178
654
919
183
241
303
712
525
479
648
824
663
348
896
914
345
219
42
928
996
158
675
236
94
573
527
463
597
74
509
653
438
647
795
361
96
515
473
966
820
127
244
89
146
593
396
180
524
542
891
74
90
766
287
139
972
810
677
613
513
91
62
365
254
276
607
250
507
834
734
228
414
315
842
646
815
977
283
143
989
911
994
496
679
437
578
398
967
460
67
741
757
207
132
47
753
917
30
861
715
258
795
757
369
914
556
393
852
821
957
412
79
768
734
683
525
775
113
883
691
594
904
993
768
37
518
518
254
964
507
841
634
458
780
322
512
677
257
687
220
881
815
571
950
115
482
487
111
815
490
181
240
874
558
862
327
347
528
328
239
334
857
803
113
442
534
467
387
65
371
870
288
899
52
339
465
768
184
882
578
659
554
148
495
91
876
260
833
262
712
378
944
606
29
281
922
927
532
567
412
30
677
6
290
795
987
435
640
575
219
842
764
239
374
309
988
151
1
744
464
877
444
879
475
535
675
222
415
954
5
825
602
325
717
190
132
377
893
831
403
801
812
228
51
911
997
977
434
766
282
518
78
422
386
883
421
272
749
337
492
845
733
120
759
651
91
393
61
534
840
190
732
161
247
809
878
920
949
452
870
686
717
65
261
580
61
851
39
918
701
636
375
856
433
407
746
264
266
809
37
957
47
31
97
76
864
105
692
438
894
992
361
24
253
511
969
165
612
937
285
65
305
471
368
924
109
353
556
563
422
649
474
674
285
370
876
857
768
528
466
585
444
181
942
672
454
104
41
174
218
362
251
345
34
754
286
138
417
724
599
562
718
946
349
130
974
162
946
74
48
440
639
512
143
6
748
916
285
626
228
197
615
758
570
310
293
737
451
437
158
994
746
601
120
12
24
841
258
498
734
921
986
443
301
591
639
632
731
256
790
805
855
734
559
177
682
912
783
917
999
681
537
392
277
304
47
294
547
897
55
146
811
968
703
226
793
88
989
11
145
922
691
365
555
683
527
165
859
222
537
325
66
159
198
141
671
769
14
321
772
275
685
243
633
693
514
619
905
255
354
246
259
262
708
695
443
42
226
651
634
341
231
44
533
734
622
939
679
639
438
187
605
81
250
157
833
139
119
198
65
668
913
68
213
991
577
404
638
277
23
484
439
131
929
523
581
56
39
973
832
427
139
107
395
246
877
901
339
538
112
297
719
309
606
996
768
484
16
915
776
824
959
222
74
119
541
432
853
187
720
840
533
376
780
437
704
753
734
324
150
439
959
255
350
242
224
559
20
230
337
915
87
841
264
44
723
461
8
454
127
377
529
101
142
279
747
813
330
151
601
346
419
538
520
427
164
196
724
371
465
47
889
679
560
580
487
605
975
680
183
967
311
380
823
302
824
974
476
842
816
273
65
480
622
262
893
43
830
140
337
910
604
487
773
59
443
64
914
697
537
880
812
262
262
263
800
570
2
367
899
387
909
595
745
274
911
969
770
955
565
131
480
211
53
908
858
893
540
126
122
342
919
657
640
914
744
82
953
605
847
438
748
374
701
728
798
180
454
94
919
571
396
723
211
323
830
764
99
774
296
856
164
233
638
593
802
776
880
796
419
892
132
855
795
501
771
939
303
45
924
753
123
165
760
380
141
953
627
915
835
967
94
361
324
211
353
932
324
263
607
943
721
240
113
99
449
264
558
510
753
811
584
55
232
517
834
358
364
509
141
122
593
765
30
865
989
613
368
242
958
176
876
845
19
921
309
97
776
883
279
972
317
780
151
818
869
386
969
188
980
382
674
689
836
184
371
602
523
47
47
492
405
151
26
532
762
132
649
441
713
218
820
539
469
913
533
466
228
338
111
150
819
363
476
940
16
890
799
609
510
1
533
429
583
513
830
834
323
720
428
784
528
96
856
347
502
82
37
369
819
228
752
455
901
534
716
872
182
930
182
362
497
204
815
211
757
750
862
117
96
404
49
193
536
474
461
801
619
708
529
525
258
425
316
567
309
945
412
555
634
874
859
273
172
759
478
436
365
717
26
250
76
831
832
988
806
718
283
685
33
867
359
863
422
389
324
400
93
422
505
852
47
50
612
296
860
429
237
252
111
112
459
341
82
463
156
594
978
898
61
976
521
128
977
386
404
177
319
263
527
505
203
94
339
913
868
620
511
5
761
996
678
744
643
729
648
904
190
559
457
337
86
669
373
331
873
757
977
1
37
87
882
854
5
147
980
532
132
453
339
703
641
169
203
639
180
689
688
450
734
489
945
545
543
658
734
993
466
827
211
523
707
842
702
778
693
798
751
219
834
660
385
571
892
248
440
176
70
474
399
210
651
546
683
613
17
511
29
761
689
734
259
620
654
362
900
166
735
100
343
529
823
11
403
108
249
825
214
1
469
109
353
867
134
80
335
873
169
996
662
616
812
234
105
821
184
557
724
797
466
739
451
845
11
467
763
224
735
866
244
320
826
520
457
765
555
28
104
335
185
178
69
645
390
492
686
446
44
463
988
831
220
838
23
148
561
158
475
888
994
747
838
7
879
93
215
681
512
324
251
639
24
438
344
560
814
883
365
209
110
978
864
682
138
714
524
107
346
89
618
15
565
993
989
893
45
153
512
315
648
272
897
717
911
233
241
70
740
776
736
507
643
583
221
586
149
306
204
555
451
655
731
663
736
98
975
102
277
71
383
569
936
126
515
125
313
596
17
607
102
966
775
510
628
587
883
261
237
509
637
398
979
974
678
815
636
973
748
174
6
61
979
205
585
323
88
631
569
174
547
82
394
52
920
246
601
616
148
30
316
422
99
288
764
300
175
476
492
746
424
356
868
349
226
310
692
999
769
598
971
179
181
839
87
834
173
327
307
417
281
814
195
546
927
345
530
592
957
353
414
451
941
433
242
525
158
369
178
171
537
341
725
475
385
985
187
680
390
381
457
977
576
943
643
374
314
742
240
890
726
301
198
498
940
105
277
654
912
242
406
651
281
950
973
13
518
804
533
116
172
90
436
677
491
617
652
18
404
385
21
212
501
225
548
688
973
688
715
708
581
192
914
123
518
773
365
138
623
108
345
895
855
846
167
995
880
741
195
463
421
14
417
417
587
995
190
413
535
740
968
307
2
17
81
861
424
778
285
671
965
40
80
416
812
338
913
30
766
869
683
775
727
403
504
432
810
178
522
359
986
863
783
899
500
557
789
218
61
859
17
433
141
174
260
197
160
421
772
1
385
381
519
600
883
34
60
500
173
116
851
951
871
790
512
952
556
541
152
611
519
152
212
237
278
725
751
648
909
36
417
891
469
148
999
569
188
741
993
296
45
803
970
96
432
616
8
219
150
830
572
307
691
598
212
897
259
445
610
956
47
683
503
260
324
245
526
319
920
672
437
659
122
374
367
825
385
491
292
833
793
409
46
561
698
534
23
890
953
421
645
776
496
289
681
781
63
664
974
922
393
369
349
349
554
128
593
602
184
688
697
456
484
886
296
712
197
516
80
81
353
213
385
784
866
957
432
167
151
759
405
850
255
590
133
997
586
314
332
603
317
835
248
814
57
796
248
0
869
767
672
70
427
940
377
471
466
191
196
548
97
50
396
444
482
981
93
419
78
390
519
39
276
141
692
526
926
155
540
131
725
760
401
500
127
193
536
446
724
892
323
583
206
373
698
882
807
72
467
735
62
573
228
86
522
854
372
991
746
363
34
93
511
640
34
484
960
29
996
905
551
416
410
929
4
242
636
78
16
254
947
511
727
388
216
172
618
295
151
137
362
130
462
897
698
366
875
673
984
351
931
48
385
265
589
631
789
22
17
579
498
202
441
22
879
720
99
812
74
29
648
859
337
157
824
627
463
906
221
72
935
160
83
160
749
608
246
414
716
206
614
805
276
782
884
878
497
302
794
799
919
689
645
902
160
547
529
286
644
987
274
780
493
237
919
737
19
371
152
97
175
932
647
546
785
202
793
209
684
678
130
417
716
793
673
106
531
346
864
455
191
703
251
231
638
252
683
349
911
297
138
335
329
224
861
909
159
333
583
719
247
424
104
655
667
405
188
371
875
143
937
720
599
405
741
999
459
376
879
485
852
983
37
700
81
730
673
230
36
852
696
689
838
676
589
960
5
645
57
385
128
708
668
988
389
101
278
653
481
527
964
227
349
803
201
220
546
207
893
321
131
56
285
161
220
758
732
748
929
259
949
504
561
251
573
910
713
535
105
794
959
614
576
921
230
851
42
94
843
788
257
881
999
821
78
451
416
943
256
855
51
653
524
434
564
354
279
305
683
604
978
60
423
450
587
417
407
353
629
115
542
357
844
706
852
720
48
158
890
311
303
102
897
480
726
250
665
500
180
762
496
100
493
547
89
142
252
909
293
184
23
543
422
838
619
944
516
86
465
407
939
221
679
101
854
457
400
200
752
962
154
928
779
555
665
683
361
29
955
999
341
558
187
70
992
647
695
368
399
431
784
393
867
284
701
589
451
943
184
143
951
470
818
804
871
0
998
608
660
721
234
552
25
954
429
560
742
471
289
675
13
456
987
128
56
775
481
469
6
863
123
992
176
179
604
418
539
862
487
442
915
184
263
205
521
189
127
94
167
585
31
249
820
65
848
495
887
221
527
58
659
312
315
991
502
742
221
71
666
103
668
966
446
174
684
450
356
452
125
735
360
936
660
724
863
733
868
564
788
268
154
573
550
241
762
102
310
12
398
895
782
688
7
105
419
549
985
571
525
322
353
442
769
732
522
962
599
786
15
870
891
264
269
501
476
975
203
704
150
191
265
275
540
817
716
826
432
73
404
996
744
683
655
847
881
229
237
208
738
282
547
607
472
260
639
175
541
194
759
143
686
677
995
972
414
307
427
710
95
957
520
838
457
579
972
547
98
651
688
783
15
141
607
303
747
310
498
645
643
927
4
297
516
768
843
898
42
304
953
0
879
233
991
46
717
517
787
566
985
842
106
988
114
245
855
380
303
848
394
271
684
809
161
970
485
126
748
4
832
223
546
206
395
14
41
826
799
295
240
154
553
612
611
142
355
209
431
408
99
940
658
289
874
578
43
868
940
869
992
108
329
75
619
125
868
190
974
67
6
653
169
522
144
397
377
68
175
24
211
348
810
120
538
9
86
627
127
901
964
456
470
156
223
268
316
181
906
208
905
137
116
270
641
377
681
446
45
905
101
356
687
829
442
204
607
879
604
476
624
156
99
460
868
822
340
418
161
745
715
879
735
763
88
186
788
715
557
918
209
613
605
875
144
612
526
193
555
428
523
817
657
125
326
265
570
778
977
668
964
468
651
209
252
689
361
821
790
424
440
32
428
524
322
435
334
154
142
795
976
476
288
342
201
72
721
805
80
912
284
653
903
436
862
834
601
482
563
118
547
78
255
504
735
919
717
523
619
112
24
983
558
519
70
603
161
229
397
836
1
586
941
864
180
102
484
970
285
406
302
47
249
766
999
981
76
438
400
489
971
8
433
575
636
279
38
96
963
246
80
393
906
276
429
409
611
833
576
763
819
157
460
387
353
667
797
544
739
392
837
676
291
944
704
472
948
114
854
930
630
915
576
263
970
608
589
959
536
604
751
481
630
304
902
587
927
348
428
860
53
790
988
630
766
44
657
592
683
988
100
180
965
214
597
984
473
114
424
864
708
357
212
730
17
361
278
695
855
950
381
662
591
715
73
202
515
251
109
155
354
668
146
388
37
991
608
857
618
138
481
14
189
144
85
201
408
187
597
72
31
298
262
391
141
175
181
478
405
554
745
788
932
961
256
304
936
47
700
324
239
352
665
47
306
99
769
598
900
335
852
84
296
569
665
220
727
653
292
904
479
657
427
936
236
340
238
678
756
225
168
907
158
401
796
242
76
509
944
848
273
479
241
19
467
996
153
589
629
567
320
262
461
997
516
11
459
147
883
965
284
552
255
223
110
399
139
633
497
12
253
533
574
553
865
920
68
353
705
788
100
51
982
474
249
904
890
800
38
709
311
677
46
40
975
753
744
56
747
222
423
393
14
373
274
483
645
866
476
28
935
501
254
864
454
254
19
583
146
504
310
478
285
474
282
639
386
639
514
809
260
926
150
96
601
274
533
634
764
638
822
888
156
521
526
178
528
565
39
125
822
46
88
95
311
407
841
429
850
209
781
64
100
229
313
732
580
855
710
54
920
447
544
235
197
833
988
990
119
459
892
620
157
846
715
341
115
31
289
141
267
815
914
530
984
637
156
584
870
832
964
983
989
982
729
605
769
430
664
360
196
390
45
973
788
647
600
839
600
639
992
894
723
334
873
394
116
269
503
318
595
739
465
151
186
718
219
19
5
873
773
36
237
815
123
283
883
577
915
544
736
535
259
45
377
501
474
100
185
477
102
871
340
869
96
5
439
520
1
591
426
22
529
167
687
415
868
431
84
375
951
937
777
584
273
315
713
297
611
872
655
476
351
383
266
763
896
309
710
257
484
987
535
249
669
743
683
904
579
457
134
451
409
739
399
526
895
556
958
727
298
235
316
427
541
832
528
366
832
874
369
629
430
297
32
34
752
939
122
305
757
463
579
831
723
904
354
49
22
850
444
582
709
299
246
778
477
434
375
333
377
459
918
368
458
79
20
763
555
153
334
363
323
40
482
243
496
770
327
463
697
64
337
890
385
874
805
454
561
691
38
32
922
471
845
400
864
667
978
87
379
115
260
398
935
103
26
908
838
187
65
69
111
162
990
12
700
927
801
500
924
827
33
352
311
854
695
383
337
866
218
333
840
288
366
560
734
19
920
848
856
847
403
252
414
155
49
170
632
406
882
178
260
600
809
406
889
401
38
279
59
125
302
754
596
262
741
867
374
904
5
860
669
830
77
247
122
398
999
465
425
621
190
501
451
363
339
698
900
837
107
165
8
231
89
490
628
852
665
423
616
967
424
990
926
307
474
242
364
691
364
340
108
22
171
577
525
77
516
872
156
550
363
607
510
352
831
588
557
501
496
485
770
157
716
336
854
384
65
381
665
422
752
77
438
901
571
787
570
133
884
526
455
99
477
643
620
951
432
839
158
251
816
54
532
150
913
416
930
720
73
33
698
129
439
8
636
517
799
705
120
966
824
300
189
759
861
118
39
760
248
515
55
523
550
712
242
667
672
33
692
432
346
372
498
83
948
925
452
629
867
557
594
576
99
496
524
968
146
597
693
81
713
242
990
642
532
416
927
87
301
132
471
270
370
740
812
219
905
760
230
138
273
640
580
522
760
842
174
944
3
703
113
793
543
400
906
378
886
504
5
290
27
128
70
885
803
109
834
695
905
453
879
979
365
746
827
737
699
934
499
154
398
367
910
678
337
114
620
115
625
159
514
10
856
683
530
998
787
234
838
669
103
250
869
237
738
727
450
954
892
768
573
865
129
721
925
157
205
745
549
113
917
771
412
94
546
545
991
954
834
972
889
264
596
269
705
338
196
997
124
335
661
562
847
465
150
738
39
567
926
511
74
950
14
515
782
468
400
274
797
282
521
410
983
567
848
111
824
962
823
832
552
624
754
451
50
778
158
687
693
448
252
495
733
388
272
965
936
167
647
938
188
599
923
609
452
433
768
657
963
687
521
81
984
419
585
895
514
868
235
464
208
242
53
2
158
306
172
610
52
271
161
815
365
291
458
236
603
240
104
94
56
177
334
590
949
438
627
442
985
269
803
370
238
293
378
825
988
642
616
876
89
724
328
295
424
734
501
12
412
226
535
765
304
305
244
294
403
465
869
1
30
595
735
140
292
877
436
484
472
914
353
1
494
68
79
649
276
839
730
553
669
849
595
615
987
967
20
53
856
244
973
591
706
777
285
473
702
613
808
992
466
235
369
354
764
538
100
141
480
437
156
85
311
58
341
553
202
276
770
716
880
736
574
193
212
735
427
338
148
30
990
914
22
304
547
708
10
297
721
443
222
688
386
327
102
734
437
130
348
117
537
564
878
376
28
788
402
130
148
677
961
886
632
627
966
61
191
987
619
456
675
232
888
240
344
527
280
972
466
70
399
549
404
489
906
14
982
337
360
677
736
76
956
320
872
155
300
776
234
620
806
829
981
83
125
746
29
980
564
761
678
863
690
627
998
677
175
768
93
631
869
513
940
279
126
290
48
324
482
492
731
531
549
85
617
221
166
357
458
46
330
73
837
336
143
428
758
620
845
410
209
76
496
430
743
918
618
702
260
938
873
219
388
288
26
942
668
407
894
791
988
521
130
514
893
627
891
78
312
141
26
871
237
503
754
902
696
196
890
577
623
854
792
937
672
963
713
9
530
871
688
422
85
544
427
82
684
777
85
493
412
990
963
439
564
872
459
669
712
39
715
690
223
140
868
90
550
95
522
742
634
763
905
771
297
443
372
290
848
798
228
742
828
315
615
419
455
933
994
490
492
73
444
987
35
723
166
950
214
387
83
702
730
868
928
836
915
932
560
795
25
717
1
594
703
60
234
689
53
936
157
181
162
927
873
155
993
379
910
122
187
272
733
472
287
640
778
302
596
748
284
375
507
771
115
735
73
966
552
235
384
301
503
317
50
37
447
706
583
782
813
961
727
109
199
909
776
845
71
470
322
761
811
79
919
727
107
673
550
557
820
852
899
769
769
951
12
411
547
373
355
277
713
510
711
308
616
368
32
968
160
454
891
624
260
13
109
887
400
43
751
806
359
537
2
938
38
920
446
112
643
637
844
357
46
869
756
939
767
682
886
690
475
354
602
798
979
293
120
710
229
296
530
813
690
226
56
705
754
660
616
841
22
569
976
192
649
789
180
25
931
915
554
484
227
859
175
293
292
100
342
468
303
173
159
783
510
59
38
198
246
712
214
523
889
597
385
149
746
365
483
832
307
723
771
381
347
812
731
355
3
564
315
366
284
903
410
934
286
421
976
913
328
954
402
907
254
647
720
170
923
859
260
334
732
653
875
499
469
284
466
191
628
855
653
789
376
782
559
145
582
875
915
587
413
831
193
2
416
723
627
320
661
397
495
22
464
487
152
180
616
439
755
665
225
184
197
785
421
918
693
655
112
362
163
842
349
47
785
449
854
698
388
451
260
234
862
632
782
659
762
652
40
83
786
36
534
215
903
650
393
218
91
987
995
693
42
486
815
53
545
248
761
396
277
353
194
100
962
720
339
58
813
214
499
196
866
941
112
333
682
596
443
16
741
471
831
606
459
800
963
228
881
500
258
134
814
707
540
225
72
691
750
300
900
557
920
711
643
764
146
768
590
904
115
909
488
946
532
913
931
315
865
855
353
33
738
897
0
735
992
919
365
274
240
969
820
261
381
865
714
646
872
153
473
576
379
620
128
497
197
592
969
366
419
795
780
615
572
776
974
521
421
491
129
711
586
685
269
294
680
252
693
139
43
8
355
812
524
595
135
716
944
806
13
433
502
352
504
425
515
518
555
121
844
468
16
670
129
691
990
228
663
461
572
299
527
470
568
150
387
690
928
754
946
527
429
897
741
256
764
770
788
810
569
300
503
311
883
742
277
937
70
502
569
946
420
731
426
474
939
33
6
886
529
239
198
582
477
798
862
450
992
399
455
239
284
705
306
614
871
607
710
670
390
835
834
32
241
780
721
185
77
807
801
5
167
350
629
907
954
987
625
369
708
854
669
931
838
238
812
820
892
551
899
627
840
262
712
690
482
791
403
432
177
302
277
714
976
207
715
835
125
225
830
798
450
237
41
719
497
874
444
339
564
889
866
769
585
790
933
356
373
923
838
517
772
25
584
728
743
546
493
792
725
670
929
600
492
680
962
139
932
884
140
249
909
28
843
371
437
774
616
476
522
367
284
72
969
417
589
105
299
602
471
570
881
850
317
652
419
472
62
619
275
714
922
697
744
557
337
633
576
989
378
137
819
719
297
962
58
275
505
2
394
775
100
755
833
562
292
167
563
70
534
126
30
174
41
231
445
652
470
12
792
232
862
446
566
950
136
538
337
666
690
198
91
642
20
351
488
987
135
135
159
391
247
25
170
694
930
178
979
271
600
834
992
10
150
864
978
788
806
73
792
36
157
955
181
938
117
789
51
456
573
623
399
310
386
227
322
51
818
740
491
253
151
833
757
0
703
816
839
551
329
553
651
497
371
798
317
946
890
159
385
214
194
39
785
728
780
497
913
863
258
839
195
146
468
861
60
150
692
876
359
976
292
691
884
886
11
707
921
211
850
238
959
138
635
540
988
101
327
164
788
473
433
902
594
336
989
313
177
721
801
464
754
805
908
673
828
203
71
240
676
806
326
46
705
674
930
416
903
745
137
451
70
309
946
908
760
923
932
847
435
72
909
636
77
681
74
633
999
181
632
666
726
997
227
837
799
700
446
593
477
743
128
839
962
263
350
331
673
48
402
274
3
990
166
905
492
826
42
146
915
234
307
232
453
982
655
340
318
825
796
290
276
904
326
956
613
858
590
671
307
72
414
172
681
588
786
724
634
862
568
882
803
595
911
100
961
696
916
865
258
26
607
217
494
641
727
881
996
931
431
631
540
479
949
363
221
874
229
220
581
562
449
186
914
666
987
875
975
561
516
269
804
991
705
393
861
783
649
992
164
110
218
189
898
890
681
152
378
0
418
305
174
16
49
654
523
598
356
473
132
17
658
496
964
408
373
577
350
831
353
815
451
622
225
867
713
896
808
143
782
865
949
830
560
773
609
568
704
629
762
67
194
119
217
547
141
973
343
717
493
829
27
671
501
388
850
749
470
126
360
625
122
740
360
147
780
895
875
900
938
624
449
137
899
72
864
481
401
705
25
191
923
327
288
925
293
641
688
134
764
428
906
344
93
321
73
692
929
780
672
363
509
804
636
68
409
546
55
517
628
954
886
420
16
297
231
435
145
821
659
925
886
594
786
424
476
186
136
354
892
181
534
342
980
365
293
691
580
158
187
770
642
665
186
33
80
370
100
295
782
17
212
418
783
512
27
541
517
820
753
367
782
10
982
832
35
641
370
302
810
791
819
309
798
602
839
677
682
446
477
640
222
235
133
742
989
161
981
265
93
606
646
611
451
924
462
632
419
102
176
911
113
517
916
980
342
104
868
98
386
216
759
960
211
579
607
575
89
402
260
529
62
605
796
970
156
545
783
313
734
556
508
194
772
954
812
835
935
910
858
706
508
846
403
590
438
223
46
291
46
362
49
484
596
780
902
859
888
192
556
992
847
660
191
971
802
292
864
845
139
858
766
596
245
598
222
823
589
772
200
546
706
988
410
898
843
660
467
397
862
66
796
485
893
560
263
438
784
783
174
213
316
186
489
78
152
671
787
676
286
514
409
830
245
760
807
288
749
834
705
352
287
657
782
394
129
354
511
894
816
895
284
104
383
735
42
391
638
773
762
89
739
483
578
75
367
228
219
902
181
994
322
69
343
320
199
794
714
839
900
522
572
715
408
248
429
41
857
798
220
940
22
294
760
342
914
889
948
654
224
331
725
259
871
981
333
200
815
639
363
644
583
307
714
520
934
250
204
427
453
13
319
377
313
495
447
483
973
367
312
341
858
216
816
886
142
89
677
785
703
170
288
38
930
460
255
742
106
601
229
557
533
888
209
835
818
62
714
525
90
520
908
565
482
510
11
539
444
984
856
825
72
573
716
884
333
842
233
503
778
671
863
926
470
733
302
577
589
690
515
661
257
862
673
591
830
4
635
555
400
232
49
377
474
99
79
685
576
12
126
383
184
437
438
173
933
910
389
194
466
983
120
661
587
374
984
955
82
266
546
340
72
249
606
667
398
559
437
579
42
948
27
551
603
524
878
784
908
553
157
171
688
951
753
810
777
422
108
539
249
147
211
953
397
831
72
196
633
716
727
514
383
424
12
30
147
325
649
421
219
320
465
69
870
633
744
572
820
439
877
408
153
840
459
995
65
910
72
302
145
532
294
940
884
145
314
415
890
233
330
685
180
453
837
393
478
307
845
397
343
735
497
891
215
22
955
989
896
979
161
241
723
567
657
871
95
679
234
786
713
13
554
718
244
49
461
485
374
55
730
838
589
486
358
308
170
662
759
638
421
932
80
667
47
45
506
600
692
483
426
913
520
789
660
918
614
271
342
637
175
772
923
884
999
778
600
921
840
172
620
811
915
853
25
264
408
674
837
749
18
132
828
79
492
7
325
128
493
320
444
647
297
540
90
7
882
823
901
820
794
983
572
480
53
691
604
874
752
683
831
135
537
984
135
627
954
32
831
360
278
849
420
70
591
338
543
636
565
736
373
731
460
271
614
703
952
697
992
97
738
131
256
811
442
805
699
153
941
907
210
835
18
314
95
988
522
896
98
623
34
735
783
335
372
525
817
794
468
12
563
820
489
794
899
365
392
631
887
928
814
840
295
325
834
460
116
467
427
369
148
921
752
910
460
808
126
60
673
791
870
858
147
255
206
222
254
48
206
938
583
41
52
777
878
54
379
496
590
986
621
985
131
361
719
200
603
755
583
333
84
235
414
772
546
963
762
46
987
630
718
188
160
379
550
514
601
977
800
717
836
546
323
81
50
643
492
56
187
411
671
971
832
689
996
813
452
342
796
917
526
621
475
801
343
999
643
963
399
801
642
496
389
974
68
454
252
369
535
864
714
908
582
776
547
38
733
211
539
22
168
972
736
603
630
442
673
276
69
585
661
919
682
305
734
913
284
389
959
488
294
306
29
808
48
473
408
862
553
66
187
107
858
324
509
545
171
388
792
542
891
725
8
163
424
842
754
723
84
564
464
303
821
240
556
371
224
596
998
130
702
688
21
167
752
865
356
37
731
834
135
992
872
977
188
995
756
184
123
219
553
827
937
549
316
39
991
799
408
226
251
454
489
461
639
184
944
168
758
277
191
341
487
712
894
635
57
305
786
848
646
387
561
648
411
227
311
14
574
455
60
90
171
231
143
675
825
82
819
369
333
517
450
109
278
615
501
889
365
572
139
116
968
906
3
647
782
627
300
532
143
854
658
13
277
639
696
383
829
754
654
471
44
65
114
544
84
31
877
79
337
576
92
349
37
436
532
465
696
914
890
273
291
651
384
70
725
792
721
16
600
893
24
961
97
596
689
831
42
108
998
351
975
262
15
773
187
501
87
37
111
64
2
485
53
584
569
713
844
979
589
693
630
303
752
947
556
384
800
541
586
145
490
360
537
960
705
260
362
594
275
378
566
759
48
539
822
546
236
315
998
692
918
924
519
886
1
291
230
191
979
478
737
466
496
628
306
651
190
103
772
290
206
148
892
683
369
282
270
402
331
547
96
400
435
806
28
333
671
453
363
529
677
29
143
492
408
570
27
388
130
900
397
295
56
449
328
804
169
662
598
36
232
849
635
914
980
450
452
530
842
391
298
851
656
814
135
324
598
271
117
195
431
700
37
65
862
609
950
490
115
627
294
243
883
744
178
633
516
679
703
43
291
61
477
817
316
4
633
250
839
777
893
723
13
912
906
136
945
593
994
512
744
93
82
465
387
291
480
317
278
591
435
491
936
215
462
460
123
305
303
636
100
94
622
755
968
77
349
142
339
348
928
581
657
1
252
210
657
320
729
510
440
343
777
867
462
715
939
303
32
958
487
104
456
495
197
99
838
779
744
965
981
427
623
222
285
473
202
635
17
566
426
465
592
881
201
352
666
883
536
941
527
542
313
511
614
135
22
888
242
577
349
12
271
407
438
979
143
348
100
607
432
917
683
681
593
754
9
53
978
316
783
522
427
901
282
869
415
81
728
672
356
952
945
601
208
570
66
958
190
221
73
989
955
539
570
754
699
754
227
123
408
555
247
552
205
761
836
261
899
423
112
25
612
157
171
672
206
197
145
247
567
389
859
435
202
72
799
824
270
644
874
879
32
57
49
628
132
845
905
533
432
823
0
612
713
178
706
642
354
614
993
256
445
871
111
982
204
420
373
475
272
896
647
231
184
580
4
857
927
457
392
969
891
806
815
31
987
195
74
330
148
844
736
375
214
880
514
929
893
839
848
985
285
378
587
523
620
581
856
105
500
842
964
891
564
980
639
68
390
133
911
240
420
567
834
430
57
892
96
377
391
376
989
621
291
720
510
785
684
195
563
724
79
284
907
593
649
422
58
287
9
744
233
225
529
822
473
362
625
377
569
317
540
576
626
508
8
376
441
855
939
259
385
610
3
437
547
360
88
292
149
465
68
67
118
351
330
604
645
445
732
964
61
220
153
746
700
387
152
349
645
239
868
660
211
389
121
330
430
969
603
881
21
276
382
46
441
196
503
617
458
398
138
901
796
85
31
548
377
669
460
337
642
638
198
891
870
13
912
621
747
860
752
274
129
390
782
673
12
561
358
445
560
135
693
104
635
893
601
764
771
429
787
356
398
93
58
665
391
950
44
692
651
114
194
182
494
718
252
879
820
582
991
843
128
258
205
323
744
981
521
472
312
158
213
236
3
329
226
557
713
924
757
322
603
390
64
560
692
722
546
83
151
248
604
732
821
183
624
950
12
401
688
120
18
303
493
383
47
772
524
527
146
502
827
77
161
850
82
8
587
158
832
122
909
898
165
656
950
985
845
249
935
512
849
236
385
153
668
651
729
136
640
309
341
658
679
232
396
60
986
987
951
998
618
472
365
713
266
390
729
109
839
444
378
569
66
77
112
853
646
740
791
796
885
593
206
440
110
964
549
75
680
311
570
981
990
573
270
970
683
423
53
756
750
160
788
952
737
646
867
361
689
810
807
144
243
892
418
731
254
320
147
470
987
22
978
850
631
585
476
415
198
512
354
890
781
626
264
180
729
604
279
773
144
688
59
438
253
149
426
959
204
200
574
265
339
679
902
276
635
368
611
14
436
942
738
520
58
790
994
887
311
953
607
26
699
930
201
116
268
315
827
249
805
807
520
644
501
621
142
155
521
574
30
885
431
558
111
440
167
273
62
765
386
790
104
683
888
966
311
395
617
266
994
848
44
108
224
161
110
924
42
152
233
268
945
289
639
325
986
756
739
626
79
641
735
368
745
537
955
499
504
915
391
635
929
412
616
161
889
464
602
644
134
867
269
69
815
122
383
525
582
312
618
832
900
576
258
429
510
151
946
411
496
332
220
51
473
709
433
23
310
272
464
504
944
993
53
618
101
867
23
885
112
361
837
761
702
968
157
195
936
126
380
917
100
931
906
823
893
704
561
577
797
884
991
452
116
184
455
955
156
103
515
148
524
633
524
633
188
421
83
238
130
125
929
872
507
943
740
803
890
758
757
898
218
267
32
808
708
916
950
828
150
348
944
455
738
435
103
29
548
501
58
399
188
113
14
618
590
633
847
374
841
429
187
575
925
11
327
699
506
406
457
51
926
611
27
96
208
711
792
698
560
415
193
640
234
245
42
986
767
399
165
904
268
430
874
949
983
688
603
229
518
7
768
716
753
793
55
881
7
89
580
611
126
798
776
404
397
314
784
585
265
230
996
932
581
24
980
982
15
495
153
353
550
412
492
499
829
344
265
84
486
25
372
604
742
15
928
132
495
341
861
461
947
948
601
940
267
267
614
829
189
126
369
931
786
857
499
48
907
55
211
19
736
632
967
214
42
55
491
123
977
33
416
514
714
483
305
225
6
196
105
642
15
317
999
286
341
998
562
161
221
253
996
33
253
646
784
469
434
728
355
46
11
272
498
294
442
893
85
442
667
530
124
665
325
309
422
138
570
139
25
938
892
996
520
681
620
384
255
356
171
92
277
746
224
592
195
199
685
438
521
700
428
989
349
987
143
407
382
362
270
221
378
127
172
280
831
844
866
32
430
410
773
991
164
548
414
999
856
340
292
563
57
768
415
484
603
905
506
486
127
923
525
930
461
991
308
576
402
428
755
41
903
41
581
331
31
995
30
497
234
743
159
623
158
348
542
746
22
944
398
767
54
530
119
976
176
880
328
149
171
339
562
110
483
930
875
635
452
268
375
518
224
274
672
71
598
872
509
834
286
684
887
721
78
968
515
137
624
3
520
296
770
40
380
53
860
327
80
728
598
568
628
824
599
872
546
367
944
573
154
677
449
365
438
302
768
986
925
895
544
76
0
762
816
802
250
83
868
324
658
861
26
523
446
237
541
307
260
157
80
42
449
568
906
335
82
542
299
827
390
453
140
517
134
123
614
401
817
454
803
806
753
387
785
42
842
533
5
989
869
469
464
614
555
574
839
105
140
763
155
373
335
948
238
48
48
188
309
151
102
719
771
293
610
868
783
974
894
845
808
84
951
110
350
267
889
101
180
644
632
343
542
61
506
614
209
775
970
650
334
975
51
496
525
384
802
916
224
20
564
783
271
477
522
591
423
930
963
890
833
18
964
547
951
68
960
139
517
150
307
472
565
934
608
974
637
293
906
598
846
103
230
525
454
278
745
34
222
999
488
966
207
886
349
721
757
896
500
500
103
148
870
993
937
659
991
584
654
23
953
872
395
823
315
234
136
730
430
164
124
21
932
761
919
154
269
304
62
40
546
187
791
430
134
320
831
156
353
682
700
947
362
450
141
303
492
348
869
125
422
331
235
689
790
430
518
205
594
725
93
703
683
70
703
85
818
868
265
830
822
861
985
716
344
439
461
827
768
825
32
42
847
543
284
687
28
597
454
567
572
608
787
167
438
48
664
729
190
321
119
609
973
18
896
279
930
580
535
648
298
349
499
768
222
427
510
846
278
838
721
637
341
610
610
937
892
180
701
645
397
569
693
456
231
582
763
899
710
84
605
626
803
74
457
23
118
810
611
92
480
762
628
933
530
910
817
322
892
720
874
693
189
546
884
68
753
748
790
950
299
940
983
465
556
485
327
951
362
27
43
991
243
628
654
198
599
853
73
199
377
586
478
735
188
739
1
472
607
588
284
303
347
210
415
416
960
343
209
501
818
464
211
403
790
871
997
306
112
448
374
419
662
888
627
72
202
111
550
222
439
841
639
153
813
448
839
738
241
115
755
218
241
588
336
109
428
829
538
681
396
937
974
531
824
529
15
332
13
539
904
660
834
977
309
538
782
659
595
326
530
316
668
802
180
305
790
0
106
966
815
598
520
405
745
184
897
353
999
789
125
646
654
690
447
833
772
113
45
71
272
400
566
477
868
685
365
778
975
777
31
339
584
463
982
996
718
211
909
673
841
778
38
180
992
829
746
727
713
977
495
406
959
848
547
696
273
571
890
258
971
225
887
4
176
944
25
490
221
642
66
535
551
819
189
983
26
485
746
821
140
130
578
22
647
946
812
993
848
824
658
593
120
843
875
129
270
129
779
984
938
151
116
513
683
452
449
381
53
140
544
191
660
185
269
233
891
753
197
740
877
674
188
903
988
904
834
23
677
707
644
898
890
204
374
593
365
928
621
851
774
345
962
390
208
32
699
245
559
168
435
701
319
525
572
473
36
374
467
799
123
867
98
732
506
802
85
929
808
858
803
653
125
609
28
743
619
946
75
969
532
111
75
584
544
763
418
387
828
63
289
782
518
371
870
413
618
715
818
661
810
323
658
882
796
6
150
747
570
199
454
936
530
453
913
336
583
374
966
191
103
119
104
772
586
782
313
884
929
151
586
739
467
197
583
0
574
452
645
113
169
947
594
228
840
374
950
520
517
403
907
4
236
14
326
93
547
112
474
881
293
322
769
76
40
130
330
78
53
551
834
618
781
769
756
517
329
688
47
245
595
962
837
453
777
915
840
806
983
647
166
205
194
804
869
853
248
110
245
348
576
321
163
16
394
724
31
644
466
109
512
379
804
196
326
807
853
696
130
840
244
519
956
497
490
798
732
525
162
764
215
376
95
351
857
302
391
246
435
945
295
968
539
824
410
558
290
107
295
561
511
286
651
636
170
549
789
382
941
238
369
673
327
849
344
331
470
207
92
734
447
387
157
180
62
757
109
621
621
88
410
626
886
419
153
6
426
912
984
543
256
807
689
910
438
797
172
869
414
932
683
812
28
562
355
615
386
39
587
902
593
929
13
677
984
753
565
622
3
796
201
677
837
912
668
131
171
308
478
230
685
937
847
574
288
825
652
607
119
596
998
913
370
476
886
611
27
853
845
257
9
147
294
97
153
905
992
303
487
7
308
418
462
547
703
291
155
27
581
937
713
275
194
175
653
805
18
396
642
718
566
426
249
113
344
407
548
660
933
334
620
894
680
79
208
748
373
873
581
324
791
764
441
124
407
846
4
850
253
439
260
512
337
121
778
596
60
658
98
993
209
625
190
997
972
81
341
614
739
397
678
225
726
520
880
102
83
926
2
298
370
874
932
263
931
274
113
206
16
142
814
744
663
687
968
51
43
375
841
962
228
46
613
882
106
997
216
979
635
229
493
417
522
567
175
155
174
782
762
632
605
554
14
72
759
834
842
937
978
247
540
789
142
614
190
465
209
345
611
349
22
283
533
279
851
178
582
882
757
474
853
436
117
609
178
178
244
627
484
454
2
90
64
556
80
613
940
59
886
40
436
847
939
942
691
342
658
16
505
489
465
942
625
729
962
470
19
112
658
109
419
61
496
83
91
87
976
177
989
77
640
156
213
94
186
168
794
739
482
104
293
6
227
711
178
307
237
398
148
751
533
179
113
476
674
237
649
112
858
106
800
257
453
71
646
87
698
108
596
889
856
219
553
566
404
256
530
725
853
443
699
113
676
907
173
76
922
308
299
22
347
420
66
588
912
928
824
528
369
305
361
794
91
183
258
508
301
911
30
483
590
839
649
414
200
638
898
764
200
84
465
351
567
937
49
854
140
855
265
24
863
688
821
850
244
3
170
589
270
911
511
864
875
156
387
377
530
338
778
369
209
632
329
836
736
947
611
45
297
318
836
610
701
933
262
469
859
237
577
325
739
104
121
776
201
98
991
623
767
78
634
528
30
285
657
179
771
895
102
506
160
683
439
341
704
430
836
23
977
910
79
630
976
799
359
121
234
495
610
853
116
525
361
271
724
50
65
504
751
40
184
797
712
221
697
178
76
258
241
44
503
391
931
116
477
31
44
52
943
219
384
114
874
905
517
134
414
894
803
586
187
605
164
664
0
938
594
221
50
34
379
584
638
331
269
972
877
771
150
304
442
693
93
422
693
569
933
908
462
840
833
729
403
788
949
769
41
250
436
430
200
277
926
950
450
535
461
259
168
644
549
131
861
833
995
68
555
302
191
255
607
912
959
627
891
323
13
833
201
563
832
387
839
299
901
531
936
312
346
720
288
581
603
187
945
910
335
479
402
172
376
109
287
869
66
967
562
983
880
301
537
995
921
656
999
442
884
766
340
583
872
295
532
612
459
205
963
169
209
808
83
402
190
872
337
713
246
171
178
532
255
749
746
984
693
169
233
106
51
30
190
894
60
713
904
610
564
71
117
224
291
83
611
409
587
215
497
678
713
693
87
969
403
272
211
371
815
368
113
136
35
665
601
815
320
42
772
95
251
110
967
270
506
306
297
819
527
274
148
432
874
677
577
337
23
715
922
312
471
993
229
247
523
688
996
383
288
512
724
566
425
571
968
888
522
345
61
791
385
253
137
338
805
765
510
105
127
384
450
710
869
589
245
75
138
855
893
862
190
680
336
894
314
320
898
935
315
737
615
672
977
996
899
427
922
903
925
321
406
81
852
743
284
25
483
258
339
666
997
226
843
998
216
727
840
407
268
235
538
99
213
446
515
730
722
680
940
287
652
411
931
376
116
878
241
193
632
436
36
667
602
726
484
507
928
476
293
719
36
345
180
305
275
658
899
920
327
269
614
861
485
849
984
993
669
100
334
534
864
338
392
743
610
768
549
493
358
328
736
282
741
844
243
415
187
710
112
975
758
201
898
915
451
53
931
246
209
374
34
533
450
646
444
839
244
407
639
882
741
856
647
86
542
966
446
501
748
250
435
777
719
549
834
890
113
858
361
264
217
329
16
929
999
784
394
682
905
548
713
12
297
343
497
813
545
499
908
803
402
853
962
178
996
988
420
214
523
253
496
917
475
580
894
11
795
372
26
144
452
503
777
136
639
855
524
687
100
980
789
594
948
584
713
249
788
288
983
863
83
423
946
434
105
905
235
140
182
295
306
618
751
443
807
801
268
65
468
142
587
337
51
289
890
3
884
722
869
525
433
845
181
42
41
655
991
799
857
526
353
74
103
107
19
893
965
67
21
718
67
623
453
209
383
308
359
740
521
127
400
719
33
227
206
926
128
876
709
272
429
894
147
585
330
166
622
742
907
138
542
808
330
653
346
854
132
814
668
54
226
789
661
81
375
50
159
525
26
824
702
989
294
936
224
949
185
717
571
399
921
399
645
956
134
952
725
517
240
513
503
75
187
684
727
619
800
594
993
48
884
708
174
667
701
791
561
572
902
287
666
59
875
250
590
793
511
910
682
808
402
433
302
655
477
91
112
157
72
242
374
90
974
944
239
316
954
960
571
573
624
954
148
391
295
465
243
705
683
941
893
41
753
642
239
188
338
946
839
180
987
316
961
878
488
207
795
260
112
143
516
922
508
532
423
291
861
335
508
792
205
896
443
960
747
275
704
723
327
963
602
585
92
18
484
646
68
379
211
316
725
813
566
391
624
288
546
671
113
636
396
60
590
686
304
28
984
723
485
958
188
644
501
776
765
796
862
874
770
804
630
286
850
664
161
352
561
528
395
715
537
574
721
767
471
362
918
430
441
299
411
925
946
591
42
98
197
761
455
882
387
273
394
987
735
935
812
378
672
344
628
454
667
649
273
824
7
176
636
113
411
72
451
834
277
922
874
467
369
867
41
941
477
221
639
228
258
881
784
874
695
957
106
156
80
550
279
850
297
871
665
176
774
613
712
191
414
65
753
781
316
931
645
797
610
510
736
981
547
684
105
861
588
926
220
580
856
509
278
830
768
686
853
492
460
203
620
430
768
669
737
896
559
594
398
624
660
635
285
455
414
305
876
455
372
215
850
723
559
89
46
379
842
585
738
997
24
283
210
483
344
961
597
224
167
22
501
41
257
89
69
170
162
533
56
694
761
138
811
77
624
552
970
767
112
330
465
40
848
57
612
648
824
108
180
527
787
20
103
30
189
701
770
999
387
144
513
950
113
832
646
51
150
329
519
110
935
837
721
130
888
550
548
989
769
751
272
736
203
312
237
87
589
674
177
848
669
977
8
887
734
532
151
687
630
788
848
886
485
880
913
691
931
64
9
988
577
783
694
13
809
670
437
620
183
816
664
105
140
969
231
222
592
570
314
762
12
138
809
732
417
8
889
422
920
900
105
371
284
199
978
642
697
518
449
201
379
603
941
921
508
799
914
620
950
371
123
717
192
860
645
433
574
127
661
435
845
473
174
386
506
330
499
990
80
808
335
231
14
245
446
470
756
241
756
4
884
724
889
237
490
80
291
695
691
922
967
250
210
799
422
386
417
396
127
715
840
116
411
748
261
161
500
200
5
312
289
757
562
374
336
469
610
784
611
110
671
220
520
669
13
648
924
808
743
948
717
907
388
716
608
171
561
670
374
810
629
740
53
360
293
688
692
891
271
296
341
344
554
888
82
293
281
119
729
510
416
520
187
374
547
267
818
992
414
883
682
679
111
867
90
139
656
685
976
470
949
845
737
623
692
818
882
702
543
592
598
21
771
577
576
435
263
396
704
481
241
76
216
104
967
665
152
272
871
445
996
769
992
214
328
838
91
138
758
688
626
819
154
148
504
766
21
656
785
112
204
562
360
292
719
645
484
1
260
552
38
47
805
410
17
447
543
650
369
276
958
312
619
57
614
878
731
194
807
585
650
820
636
429
56
239
910
67
784
859
154
74
897
533
663
573
407
878
85
486
363
913
531
121
647
769
66
36
629
254
629
995
762
848
63
303
292
633
515
871
197
264
333
378
105
446
41
65
12
2
571
461
303
50
921
686
936
744
810
728
111
448
322
888
819
437
298
567
387
691
471
322
938
640
808
919
491
90
131
290
142
904
329
15
429
792
552
388
460
476
748
768
942
429
995
839
610
657
509
455
339
907
148
213
438
764
909
574
851
254
808
193
332
507
518
589
873
310
584
685
626
90
124
461
998
182
664
67
192
630
813
410
97
290
882
837
621
501
469
97
639
172
385
735
173
293
521
972
325
533
790
197
863
595
171
721
390
547
517
199
280
504
879
818
965
343
810
447
691
278
678
629
532
983
160
23
332
804
746
172
113
836
379
499
326
881
828
29
120
186
532
772
971
370
443
841
580
925
958
898
200
673
603
575
572
684
170
177
720
282
813
4
517
705
847
634
602
32
170
478
887
404
807
159
347
798
305
188
688
236
195
16
993
374
239
351
511
455
729
422
843
617
481
29
517
363
660
592
333
446
53
221
957
5
321
637
17
928
36
338
809
836
617
821
487
821
827
227
966
748
425
270
629
933
557
953
467
730
664
518
897
717
144
219
581
714
104
993
765
435
112
922
724
851
5
746
579
729
654
987
754
419
426
868
139
858
973
361
955
161
342
955
880
373
871
288
938
587
967
622
916
746
435
317
285
871
358
601
574
716
232
628
58
632
22
422
245
556
288
354
654
612
149
823
40
447
806
701
494
781
744
689
501
188
299
133
320
62
794
377
69
851
84
980
124
465
583
252
672
781
137
417
476
578
306
680
458
400
832
571
584
467
690
31
506
454
88
544
85
997
819
200
99
656
57
949
742
698
318
585
279
554
741
300
891
154
384
511
856
521
386
383
505
943
722
203
137
662
382
805
235
883
140
618
198
677
853
806
431
741
617
943
39
358
93
891
176
824
726
592
368
171
688
41
567
354
693
160
798
623
19
276
327
443
371
584
515
279
661
202
797
754
453
29
89
161
946
130
3
445
830
32
747
595
191
178
753
306
701
760
428
555
557
14
107
66
763
260
393
799
939
270
209
80
171
314
959
322
476
63
929
730
472
453
360
558
848
966
487
200
424
43
314
393
820
423
234
818
976
603
16
725
691
906
408
951
517
209
32
242
817
95
160
778
445
458
471
804
431
509
142
963
323
214
351
170
519
616
200
551
529
261
596
805
155
937
477
559
728
874
818
847
266
340
143
660
375
125
260
14
478
648
942
780
95
578
216
208
970
466
765
146
565
556
282
488
867
321
838
643
356
840
7
372
920
862
846
955
793
473
296
871
550
887
504
712
968
747
183
389
772
680
902
404
543
46
288
817
15
201
813
316
506
316
825
974
645
898
186
539
379
204
500
73
466
609
927
215
569
450
803
98
55
484
806
982
347
294
627
805
798
398
70
946
935
228
853
661
341
854
774
146
808
105
228
578
285
87
805
592
54
972
16
904
455
500
67
514
208
841
84
136
94
52
482
887
182
96
533
901
716
315
779
936
739
40
862
837
388
777
784
620
927
456
702
283
762
546
61
473
21
307
132
270
832
605
23
958
596
675
175
744
98
25
399
470
540
695
420
783
124
162
206
472
140
981
589
51
621
797
1
589
835
603
799
374
354
291
667
56
135
550
26
599
899
835
251
521
702
700
129
830
597
421
788
997
117
308
317
107
321
327
604
200
703
316
562
837
407
615
102
942
36
944
160
811
556
840
351
807
637
173
310
174
912
905
348
901
903
194
732
564
445
49
680
619
404
910
580
629
941
899
82
377
36
345
75
872
266
645
490
412
443
839
804
356
563
293
409
169
615
60
372
412
18
851
235
131
446
409
968
108
861
973
293
710
292
331
128
75
646
120
312
241
843
227
158
36
158
504
570
258
719
240
725
905
50
231
517
101
189
587
117
23
191
987
819
234
160
643
553
422
136
84
133
744
931
266
586
163
713
775
858
251
750
137
494
382
273
949
868
964
303
121
235
370
809
503
789
276
698
439
623
56
714
84
769
996
56
662
717
220
769
407
101
968
305
305
905
74
829
518
34
925
927
768
841
944
783
333
412
328
282
749
183
960
368
620
96
297
940
820
750
895
445
571
950
374
125
730
640
46
380
190
775
591
638
784
6
815
732
584
830
282
536
917
414
446
608
784
740
387
18
926
182
283
997
595
965
29
362
599
689
37
935
374
828
278
86
467
16
825
809
777
643
383
124
648
498
621
830
908
29
696
191
962
257
444
678
277
401
178
239
910
580
600
507
95
735
671
258
326
874
907
306
319
828
190
965
751
916
163
939
114
574
264
378
668
314
848
624
814
723
767
712
119
25
193
987
247
678
900
272
863
909
221
657
712
445
750
479
108
358
780
719
735
488
623
475
836
988
346
551
155
673
101
757
296
734
886
172
554
237
127
323
133
793
681
944
875
218
56
830
690
658
588
855
781
343
445
640
195
679
517
553
138
210
769
869
649
883
309
487
783
39
314
328
55
440
928
971
752
585
560
976
327
772
466
837
310
518
9
76
697
673
814
965
228
204
785
565
511
963
833
729
467
143
752
669
67
954
805
525
93
328
449
990
800
128
29
787
89
221
933
251
584
835
842
263
162
978
819
717
328
279
128
846
340
87
486
738
450
894
843
849
869
802
908
939
792
461
359
295
92
683
247
230
383
136
883
644
887
656
240
277
666
624
615
119
834
326
188
474
727
3
720
84
4
114
478
415
723
301
534
824
985
157
464
367
704
854
560
334
500
43
402
77
978
954
347
849
214
19
607
14
734
542
415
848
415
870
386
357
590
477
917
554
698
735
94
69
341
160
298
25
839
479
597
703
342
994
596
882
237
111
551
398
684
244
925
595
736
447
142
730
270
986
675
182
635
967
998
943
448
113
82
461
522
622
582
663
948
293
233
871
426
306
579
3
731
454
686
827
642
744
260
199
349
556
120
142
604
383
389
36
709
140
693
364
630
27
116
13
795
307
902
187
438
607
437
854
583
194
282
494
925
413
290
331
896
400
790
500
233
501
816
176
924
343
823
484
821
542
1
945
379
4
606
701
870
915
880
444
496
74
222
312
854
627
63
417
47
70
239
876
981
985
604
255
722
117
904
330
144
633
857
707
364
232
361
942
886
9
433
679
29
351
451
520
801
709
925
770
4
783
195
267
637
699
697
673
250
443
40
361
236
844
398
131
638
437
374
413
642
289
66
19
218
559
749
670
542
900
38
431
783
91
587
138
992
220
497
34
3
472
450
312
461
642
741
138
258
447
883
477
624
464
68
600
891
563
183
808
848
907
769
153
735
300
470
117
634
142
436
714
938
319
731
562
120
6
136
791
499
754
956
328
244
473
427
589
974
380
36
647
751
36
502
527
145
654
723
918
282
185
591
526
346
466
228
459
873
583
638
929
176
507
87
644
556
911
129
587
383
789
78
957
600
507
28
939
183
384
662
730
864
203
703
45
977
806
831
668
86
277
15
536
545
635
394
971
151
233
963
319
280
813
103
505
423
738
762
551
505
729
764
484
720
556
686
350
946
799
619
456
380
282
597
972
245
629
724
415
883
934
49
899
861
365
450
711
965
928
229
982
972
78
132
797
839
662
934
885
350
18
173
170
53
892
966
842
609
232
285
720
336
820
242
112
51
780
403
440
699
135
900
938
132
773
762
576
923
49
437
606
598
797
760
357
606
528
258
132
768
297
840
253
794
199
530
221
706
297
737
498
935
332
382
632
224
595
400
75
525
440
997
3
628
224
122
177
863
27
406
949
426
935
601
827
40
427
286
615
58
848
580
781
323
162
943
594
187
310
218
755
128
760
822
112
871
822
415
13
918
975
556
913
946
780
986
280
575
994
254
731
387
915
917
773
796
754
281
246
152
680
804
881
349
608
529
85
971
661
479
796
539
973
119
114
20
293
171
818
731
266
841
262
773
418
210
637
108
409
559
292
336
767
161
977
494
605
343
731
369
706
414
269
441
362
842
984
328
115
914
970
213
337
605
918
49
42
373
948
289
60
784
809
641
624
821
349
324
75
315
830
746
137
558
562
533
933
241
886
329
435
45
38
312
872
12
490
206
400
416
150
595
428
524
385
159
860
884
631
489
538
911
783
675
167
185
207
96
590
397
526
161
841
218
91
545
799
866
364
923
723
26
903
64
944
168
336
4
849
246
907
300
737
658
765
930
643
903
793
341
428
681
314
722
664
550
574
854
562
81
485
27
455
157
359
932
12
179
767
257
842
164
391
432
772
88
65
951
44
846
684
716
320
550
234
587
733
26
344
636
255
41
325
207
15
844
942
314
109
103
364
235
500
913
608
978
629
498
664
702
786
158
663
904
16
69
703
655
11
311
22
375
700
986
179
379
582
94
986
465
586
271
844
248
604
321
273
702
507
795
274
144
84
453
506
393
858
355
665
105
544
479
449
232
484
811
808
211
645
703
415
472
370
936
88
616
987
120
110
114
525
401
540
544
95
977
26
65
202
344
682
95
953
29
125
452
849
722
578
156
999
337
506
631
767
782
218
498
161
863
462
905
337
647
737
392
741
277
607
458
974
429
1
713
491
70
597
178
535
896
931
764
610
977
764
265
963
893
223
517
527
983
835
998
230
405
130
662
810
16
491
323
647
885
474
458
576
123
34
595
63
827
61
157
669
35
526
105
714
433
751
267
357
895
100
891
946
526
113
96
155
391
73
200
489
226
249
592
192
839
161
671
836
904
903
851
33
898
764
35
862
780
458
24
53
911
914
861
181
754
67
813
156
950
359
285
581
480
890
766
200
373
670
124
508
232
749
579
676
719
486
794
110
982
36
255
978
969
445
510
162
51
625
575
195
625
625
841
154
530
689
695
283
782
188
347
401
771
107
844
914
13
495
676
819
713
112
320
566
916
619
678
847
522
93
272
425
653
848
959
838
747
585
122
676
809
328
366
682
446
388
406
208
793
718
477
53
511
502
895
773
444
879
486
566
593
941
928
94
975
266
615
806
813
0
79
85
749
801
773
743
665
501
602
280
859
935
191
541
214
190
380
411
102
5
462
929
376
221
541
179
869
548
33
555
200
961
83
980
949
867
467
392
37
199
596
175
474
66
861
619
262
582
203
393
538
378
712
480
159
528
290
484
587
173
573
344
21
102
380
884
16
539
527
120
722
351
465
386
706
291
419
107
787
636
229
284
458
205
673
197
506
765
132
661
950
789
39
28
842
513
238
250
664
268
397
487
638
964
834
542
238
323
805
111
18
78
269
521
436
165
371
135
358
974
858
186
562
816
340
237
245
751
440
88
186
882
401
455
423
732
1
87
860
640
667
578
508
176
816
559
612
771
744
380
570
369
855
830
723
647
72
387
303
258
293
812
175
287
160
523
749
595
653
243
520
734
212
704
120
457
247
309
238
692
226
188
860
972
414
305
614
961
460
563
46
368
338
145
663
780
83
280
677
199
338
506
738
995
272
40
129
453
380
294
368
521
368
821
947
567
124
933
184
79
410
751
761
778
322
652
576
332
793
824
106
498
33
769
178
619
130
22
580
976
27
387
714
929
643
199
233
660
615
485
395
503
204
440
715
928
801
359
328
671
987
12
207
893
221
167
880
263
780
989
293
136
628
343
110
414
453
248
668
872
562
594
937
407
265
144
30
879
477
809
500
649
71
727
605
43
183
912
600
957
735
730
93
915
990
773
364
735
333
472
590
615
4
955
409
498
25
196
645
449
57
203
402
900
801
782
984
245
678
619
175
305
920
752
374
115
589
889
207
417
50
673
187
610
113
62
825
932
594
887
224
13
265
77
901
629
867
980
455
480
448
677
222
491
442
269
76
993
738
183
531
957
413
378
944
216
637
420
166
436
176
42
957
617
653
613
1
242
389
153
478
151
825
820
442
122
187
291
651
685
703
512
829
767
181
822
570
71
411
127
644
457
940
104
618
905
713
806
442
548
525
604
68
746
656
688
480
926
546
503
776
607
406
558
429
944
482
749
790
425
329
949
674
382
244
616
382
197
189
810
201
397
822
311
449
417
417
101
707
1
989
463
534
526
527
4
320
196
945
596
340
807
368
829
998
810
176
501
504
622
178
728
241
922
597
153
144
847
996
131
91
506
805
721
383
922
679
71
638
847
591
393
978
71
264
49
572
992
122
663
387
487
405
496
803
283
363
788
492
225
341
949
148
256
728
248
907
504
939
138
38
153
678
900
905
136
910
824
653
633
350
426
321
441
571
873
237
582
745
315
507
887
641
564
320
551
947
248
32
935
159
114
399
479
138
0
129
562
505
168
933
446
182
894
545
127
388
589
901
310
3
854
302
688
144
720
35
302
483
363
250
24
278
583
562
645
540
285
765
291
460
329
828
929
592
647
341
732
488
306
609
129
154
340
306
624
141
308
581
613
915
797
654
269
138
936
627
384
488
295
335
498
736
693
257
954
537
155
580
661
90
93
818
276
378
925
595
502
365
497
411
802
481
185
900
177
262
872
854
147
702
164
54
886
830
991
223
998
540
395
841
763
3
453
155
294
708
812
949
978
710
605
952
651
365
28
271
696
841
150
736
352
483
606
393
232
532
989
162
59
822
790
709
969
713
866
128
95
465
753
457
563
251
668
280
171
784
712
874
94
844
652
867
805
570
217
628
157
568
817
404
241
843
139
186
11
926
311
49
551
35
427
931
88
100
395
717
818
960
548
169
189
736
396
429
831
200
659
749
569
310
416
616
254
507
748
115
298
772
39
579
634
225
836
595
385
185
53
970
959
461
842
658
844
913
971
950
750
148
765
440
312
455
537
886
16
524
337
236
228
556
638
170
276
243
500
828
344
358
95
284
22
964
10
572
963
355
520
961
618
54
535
158
593
96
833
700
123
170
806
738
863
355
723
445
451
554
25
540
985
370
603
550
520
921
388
64
118
912
842
750
860
375
637
809
422
402
655
383
709
877
983
751
961
702
500
676
880
566
619
530
77
693
562
400
62
853
828
119
326
645
213
492
424
109
487
994
111
729
103
409
160
811
215
697
325
695
46
315
372
353
254
854
550
426
345
425
405
442
121
34
687
376
721
704
277
20
64
488
990
646
880
498
399
791
96
806
654
329
80
774
811
379
534
365
730
389
955
294
294
981
978
604
909
778
405
16
798
520
154
651
401
333
309
160
53
440
742
818
433
921
411
705
561
471
912
569
934
304
677
458
264
724
735
377
149
530
96
863
170
773
777
773
839
814
343
40
252
338
526
460
750
86
347
522
746
121
183
803
897
721
601
91
648
806
921
479
881
133
41
818
232
903
402
80
237
610
34
309
638
421
102
549
221
117
874
480
863
976
484
387
685
74
204
299
177
151
74
256
384
758
845
891
353
503
489
724
728
78
44
820
202
735
696
313
948
245
446
426
584
765
38
584
190
573
920
498
96
317
419
209
290
264
872
667
305
988
679
468
150
28
663
917
827
538
318
617
290
647
745
796
160
873
436
682
540
311
610
928
527
653
982
705
116
879
183
690
64
793
79
429
772
471
62
180
200
439
286
535
724
615
595
818
939
645
692
393
26
358
299
425
48
436
88
650
319
279
347
43
264
745
328
200
666
908
23
74
896
823
446
608
469
862
596
350
768
416
197
632
524
487
535
602
888
973
16
379
660
427
577
813
318
557
84
416
11
953
354
870
971
575
495
876
986
153
601
92
443
997
358
493
80
729
511
802
629
767
744
967
328
561
334
921
321
112
401
668
933
166
561
338
73
667
286
542
725
807
159
78
767
867
782
305
426
924
588
888
622
983
418
476
999
287
104
815
864
499
336
886
94
214
341
983
621
393
17
61
207
312
49
541
979
241
999
737
955
86
13
678
543
654
723
885
958
864
264
329
990
40
72
401
529
411
12
819
260
70
207
938
505
342
329
381
47
763
804
408
788
218
564
763
263
118
868
837
620
253
165
31
232
822
790
437
701
276
985
556
223
427
228
593
410
365
950
311
809
708
579
81
589
562
626
735
894
419
322
741
501
902
905
584
344
899
897
648
162
819
897
317
699
362
500
199
741
407
448
577
270
676
174
689
445
736
808
445
119
388
10
468
495
983
286
140
156
916
448
275
675
108
659
299
552
513
216
493
450
134
945
37
631
386
748
271
155
889
20
313
36
212
460
305
401
829
661
485
404
958
61
778
850
621
406
971
622
789
360
672
989
785
275
30
424
327
550
17
537
460
145
572
502
379
478
805
815
75
581
673
148
804
387
278
763
571
724
570
55
53
875
639
686
150
591
317
3
496
753
63
427
241
728
392
332
29
319
90
171
683
862
813
606
237
780
516
630
641
529
61
61
58
488
938
516
681
267
863
49
338
311
419
940
907
546
457
350
719
125
719
535
929
641
580
473
377
977
511
8
878
864
213
881
69
633
155
866
73
92
85
86
425
930
127
605
53
720
739
207
357
240
272
495
562
400
572
686
921
894
571
993
141
816
223
555
684
40
619
544
457
491
319
151
94
596
270
75
35
492
208
17
406
730
844
743
806
334
280
839
680
312
19
508
7
504
922
866
366
187
321
959
429
695
717
503
598
714
731
929
177
830
726
185
642
436
559
358
440
66
798
341
920
529
156
632
318
806
688
790
355
509
576
292
658
694
955
385
930
481
924
495
647
452
752
194
768
800
495
489
790
379
49
465
821
704
30
6
213
202
633
625
719
816
933
351
833
255
856
217
326
749
74
987
514
998
725
279
847
82
786
420
777
900
296
156
893
796
810
288
733
511
678
225
879
190
93
498
766
223
542
42
207
146
107
870
851
899
719
869
33
747
18
896
801
955
665
741
736
209
305
668
710
649
860
376
27
850
470
715
629
62
615
507
932
939
923
371
784
151
534
516
605
419
446
545
543
235
14
764
79
820
215
417
445
346
948
810
661
574
291
813
852
588
171
895
68
172
552
356
767
578
611
330
589
288
868
233
832
493
913
408
937
615
558
28
908
124
246
68
862
145
113
3
117
567
175
843
476
467
735
483
40
901
391
992
653
474
473
711
785
955
114
972
155
51
669
813
805
241
930
534
545
303
42
614
731
255
202
518
64
797
582
91
420
31
419
877
318
631
89
676
507
485
356
687
212
603
677
18
611
16
254
14
404
704
279
950
70
532
328
185
303
202
601
550
833
133
688
250
914
724
140
234
74
481
89
588
416
449
579
854
87
825
47
792
584
120
60
326
597
584
333
843
611
952
529
91
637
673
515
163
479
187
256
386
484
682
187
265
62
899
310
370
838
357
383
859
689
953
432
405
819
560
872
736
760
157
550
396
998
272
854
304
432
596
129
663
620
270
69
12
710
725
226
863
705
531
439
61
316
135
715
825
329
693
456
736
748
937
624
488
557
840
43
574
606
278
284
754
696
394
535
705
683
234
264
85
605
820
627
448
233
807
403
140
41
512
207
107
963
114
847
993
308
758
122
929
144
394
771
5
97
938
775
638
16
630
228
27
774
267
101
422
481
973
541
976
636
508
94
807
873
887
663
25
937
861
289
225
282
945
111
0
208
557
408
914
492
80
215
665
814
506
263
883
728
988
456
302
805
975
526
825
301
283
565
402
950
424
153
840
538
245
549
153
234
708
368
833
526
369
833
105
5
386
749
577
694
913
567
157
17
367
501
590
660
119
297
475
223
43
855
797
506
251
507
609
378
539
381
424
226
729
617
313
899
327
121
254
981
272
965
574
717
619
520
908
493
652
447
722
781
616
414
714
648
158
737
77
351
288
672
863
682
901
668
754
996
767
289
177
911
504
620
744
917
944
273
63
912
396
681
20
88
124
840
696
57
155
218
369
186
843
972
672
104
86
56
863
861
60
542
91
242
707
514
335
825
972
426
587
445
658
413
389
558
703
539
292
825
244
227
725
973
341
605
728
244
34
488
448
88
600
719
904
225
230
525
443
481
636
793
416
705
572
760
489
594
899
173
762
688
950
627
351
338
506
238
980
133
358
623
98
518
365
18
270
603
116
702
803
958
5
382
14
471
404
736
94
161
68
601
801
256
541
764
422
396
962
492
631
563
580
874
819
146
59
764
230
843
545
629
348
437
230
852
965
797
825
773
62
973
843
139
100
134
322
244
166
233
19
666
493
512
269
288
700
504
233
417
440
674
526
752
177
432
678
483
270
314
584
735
384
487
166
911
148
249
18
373
609
785
310
898
280
549
713
566
492
351
147
20
392
888
446
562
796
940
485
32
803
493
618
220
523
701
180
980
215
868
546
182
524
314
65
403
24
118
516
790
626
661
382
192
920
862
54
72
777
531
308
500
460
791
901
41
447
305
102
450
232
142
526
710
182
495
409
213
368
497
66
29
752
353
38
104
436
25
319
844
579
622
387
605
465
488
694
161
986
884
231
322
561
880
78
857
638
493
537
862
43
926
498
939
267
188
118
589
230
94
103
475
132
228
564
411
984
205
186
633
814
111
39
885
357
153
430
376
349
663
246
536
29
159
961
330
777
885
632
860
797
513
590
676
75
653
310
322
612
18
610
46
140
792
586
348
51
656
981
453
952
584
605
655
585
431
128
155
45
187
995
911
465
60
919
871
950
271
701
724
47
390
100
528
148
541
975
454
960
751
284
217
490
976
3
159
689
803
979
427
411
898
210
454
389
769
226
204
486
87
530
835
426
980
722
871
46
474
98
495
841
119
233
544
339
470
316
336
614
884
491
584
861
826
10
668
828
52
477
859
448
981
512
756
479
328
727
42
152
701
0
651
822
825
950
589
702
329
835
138
981
221
869
625
529
94
890
788
967
185
162
357
681
217
460
891
22
929
532
100
981
446
194
758
218
200
975
775
60
195
627
480
52
293
854
857
649
909
217
593
560
622
958
494
436
411
45
3
9
438
391
458
568
748
219
557
550
506
138
307
145
448
59
266
585
595
217
818
314
910
448
973
776
922
723
654
164
131
542
969
654
982
879
976
23
428
363
434
801
981
759
464
644
749
353
830
432
414
313
463
633
658
48
511
593
788
173
362
296
18
608
927
769
776
915
721
896
274
793
415
756
23
677
981
341
860
216
957
364
596
798
367
336
219
845
579
478
159
723
632
777
609
277
185
412
817
535
521
55
238
289
387
528
986
657
678
347
890
304
364
125
294
165
327
24
85
250
473
137
501
652
310
318
501
483
423
428
460
977
534
732
183
432
561
300
609
294
180
117
527
494
283
134
165
940
879
816
621
693
358
538
5
454
649
80
518
107
130
273
710
132
595
644
923
9
839
290
34
542
935
47
322
40
303
513
55
904
147
142
775
103
31
620
193
2
97
310
290
439
556
434
372
757
625
663
329
802
117
261
686
260
175
890
682
712
652
27
630
49
643
227
765
293
431
344
391
658
605
384
124
631
678
217
95
990
238
121
983
888
628
78
384
987
682
379
476
958
608
968
840
890
355
957
678
252
387
493
578
634
688
397
644
698
777
8
623
303
509
763
965
227
614
474
334
312
338
578
30
525
244
344
837
565
229
771
89
307
538
897
224
638
283
27
85
685
841
277
962
851
66
154
626
242
843
989
714
296
215
247
355
582
235
498
644
902
462
142
38
338
122
105
3
514
841
479
392
52
951
586
938
230
996
300
701
643
557
0
243
235
219
326
228
783
762
896
454
88
816
928
418
551
736
34
653
746
524
767
870
992
530
286
242
151
81
845
439
481
170
199
71
251
478
846
607
701
285
924
63
327
384
25
930
691
311
537
508
858
76
87
996
821
804
358
156
712
716
34
341
333
75
797
710
664
434
619
71
439
559
285
824
83
602
553
216
250
281
721
621
654
329
678
383
751
673
533
208
334
223
420
674
434
797
462
412
523
795
552
29
356
971
923
477
798
161
236
538
507
351
93
248
730
844
325
401
583
359
855
117
963
768
696
404
491
8
551
367
573
631
245
914
941
863
294
833
665
10
272
445
115
894
664
519
419
682
545
793
127
99
538
716
448
697
724
329
88
635
509
980
943
579
105
811
434
901
618
986
566
237
465
911
564
120
379
933
552
895
775
681
599
944
861
473
357
304
951
86
14
49
830
90
599
706
896
364
146
735
607
688
858
594
166
871
329
398
600
474
484
439
111
58
275
70
351
135
926
702
417
612
707
515
594
264
284
991
412
227
242
971
80
94
949
13
666
249
18
382
349
730
636
862
304
960
832
716
114
812
764
756
104
143
620
491
123
810
466
244
619
461
50
165
279
257
525
797
575
374
361
907
158
417
306
429
944
712
270
619
560
518
326
98
813
463
472
134
705
704
426
82
192
967
304
975
463
564
440
958
645
541
445
957
250
61
998
797
204
870
365
496
686
847
879
951
90
989
351
440
403
499
984
267
990
824
405
539
634
925
619
275
647
573
979
702
838
416
921
424
734
683
304
893
189
472
352
750
5
846
283
789
521
87
854
65
415
539
979
495
481
418
131
686
898
916
362
962
306
82
820
862
947
605
230
78
863
197
95
81
621
952
101
372
888
615
44
529
850
794
894
444
617
11
341
986
436
819
351
978
549
204
827
458
255
912
316
590
138
191
361
64
141
584
358
832
170
897
367
127
867
829
728
989
815
598
278
430
182
221
198
828
971
371
232
873
409
152
887
963
229
608
504
256
511
276
989
861
766
867
804
216
946
451
310
122
622
870
572
587
850
649
660
867
432
629
802
803
506
397
933
78
651
358
4
127
94
628
189
14
625
250
706
316
336
730
468
94
320
774
14
568
788
109
538
425
98
513
911
790
555
466
851
103
72
467
784
206
632
224
57
854
285
272
610
59
554
875
246
495
421
845
363
415
274
718
949
953
913
763
432
20
389
315
943
561
494
427
27
499
182
872
232
865
817
711
474
980
858
357
215
233
659
104
292
537
159
659
541
672
478
723
336
788
277
860
559
42
891
240
909
311
505
690
434
668
431
273
196
719
70
254
375
908
103
77
511
67
955
522
900
798
283
109
967
519
936
151
768
376
628
191
407
715
451
789
594
254
353
625
236
871
603
127
560
209
991
763
229
407
445
50
332
588
886
158
438
309
967
158
119
285
562
227
921
380
385
499
808
652
386
723
145
999
414
856
843
389
362
117
755
387
779
246
35
711
710
763
980
34
293
369
584
810
646
405
190
406
87
948
266
792
743
981
244
105
210
566
910
383
814
592
477
692
651
328
917
277
577
711
633
410
690
23
763
862
603
104
794
764
9
684
790
629
731
212
748
290
428
286
380
832
321
245
135
527
933
800
193
159
845
659
818
238
935
23
108
557
8
193
619
384
414
981
356
195
786
800
391
646
393
690
153
814
918
445
618
611
293
758
749
78
714
857
458
24
53
656
786
836
490
99
290
694
396
411
949
17
99
118
217
399
620
731
736
537
210
705
644
628
770
663
634
749
232
632
285
810
907
564
264
227
330
718
95
24
223
556
641
345
176
67
914
90
514
248
925
823
961
303
866
238
852
453
752
268
19
579
663
608
741
843
714
952
73
228
321
700
815
384
573
154
945
743
364
771
810
73
988
571
295
609
496
849
718
779
118
330
317
326
944
874
386
600
778
584
137
706
446
128
254
140
199
211
160
723
480
993
650
641
798
351
380
200
815
516
557
319
301
50
434
820
906
236
855
683
145
647
120
908
504
889
463
270
441
572
153
392
808
667
703
742
90
277
791
734
745
171
403
768
748
814
433
832
311
673
462
11
590
48
884
641
22
892
766
617
369
734
114
602
923
179
322
578
538
718
424
108
355
593
953
94
428
644
955
937
168
796
64
302
479
332
620
486
44
815
59
564
474
257
867
880
383
591
530
520
818
410
632
767
649
59
11
764
267
451
289
142
44
509
260
282
155
783
626
333
241
897
106
337
801
497
578
368
358
719
368
119
841
676
412
985
829
225
101
96
52
690
207
862
722
223
78
997
239
496
81
124
184
520
75
685
243
770
599
101
722
585
917
394
641
824
893
360
551
365
658
346
392
302
996
965
630
336
268
841
10
905
328
231
528
708
201
767
390
137
597
419
275
548
926
859
275
23
37
708
801
918
398
674
524
156
600
692
95
721
56
679
871
616
585
141
518
874
292
9
285
667
423
586
770
854
725
260
291
325
537
602
287
41
104
800
770
969
410
940
965
971
988
123
739
791
271
703
769
206
858
143
443
436
421
578
293
480
924
448
869
495
948
947
435
53
821
498
280
453
150
682
675
519
550
145
666
893
523
421
263
271
22
804
671
549
69
577
557
300
240
931
983
971
942
374
4
798
683
66
925
465
672
272
731
960
642
971
997
158
578
806
66
613
265
623
423
239
329
90
504
367
721
320
379
194
722
866
211
324
327
848
637
414
467
940
86
727
925
832
292
828
948
27
806
779
749
961
270
984
652
102
909
338
880
444
958
874
841
939
889
746
868
809
360
542
95
350
775
935
295
105
624
860
25
274
99
949
531
538
725
419
526
921
616
86
478
733
63
374
998
889
31
460
485
943
173
475
525
982
6
325
641
669
251
93
934
264
651
460
413
761
932
81
188
202
558
324
25
392
211
930
115
515
446
851
712
190
532
931
407
161
581
575
502
373
408
997
479
196
937
365
406
621
452
451
50
449
748
63
920
628
348
2
141
610
917
21
269
137
242
855
458
407
523
466
52
911
313
977
812
648
816
478
706
21
340
610
357
388
775
137
193
138
872
187
340
970
888
880
469
6
168
512
736
622
294
664
687
690
57
722
884
241
737
342
242
963
154
453
237
471
213
564
700
893
74
466
253
167
881
677
493
537
512
393
986
377
199
904
759
159
862
559
786
20
231
522
607
717
714
922
803
276
777
316
671
350
318
377
983
597
509
362
287
663
987
58
871
249
740
553
106
527
784
783
125
92
718
340
198
824
874
716
509
358
373
865
931
899
282
118
575
783
117
529
609
176
943
219
176
321
759
659
474
586
642
262
31
240
21
450
814
843
629
780
715
360
203
194
958
770
506
894
762
538
685
493
347
24
257
230
783
420
481
831
594
637
745
515
227
825
66
35
627
627
787
954
265
109
420
579
944
622
365
918
162
394
456
206
902
125
981
46
26
846
690
10
661
329
451
449
254
569
195
30
283
584
332
984
381
274
11
971
551
718
770
395
684
398
718
541
918
355
763
672
966
489
52
100
129
874
330
528
567
524
940
850
889
946
964
978
85
572
578
364
640
671
471
725
751
162
854
773
898
624
576
613
263
94
207
738
339
597
305
755
455
168
131
996
687
294
715
36
505
829
79
389
183
397
380
245
694
97
516
758
449
740
131
586
282
773
209
873
474
881
278
888
14
490
458
156
186
72
850
71
242
459
103
640
354
719
426
426
278
653
121
504
625
842
76
908
905
768
357
204
561
604
252
879
347
381
826
709
719
138
65
508
404
149
196
554
12
687
353
312
702
777
545
376
261
209
691
211
953
739
32
794
526
730
631
945
647
390
871
157
113
429
28
105
947
952
569
108
833
424
186
60
313
993
798
416
716
745
809
224
895
156
944
407
597
359
19
126
890
822
975
628
360
131
207
133
732
66
726
674
85
909
632
686
289
205
500
133
710
434
831
903
190
642
112
903
896
36
706
891
614
458
448
361
783
862
626
279
150
905
4
64
153
40
899
481
48
487
986
28
67
732
58
415
664
486
726
61
812
908
22
660
613
160
911
539
280
316
759
120
395
436
297
410
131
672
937
424
345
743
425
27
654
154
797
701
211
639
808
941
619
267
476
825
334
557
695
304
902
813
324
844
896
676
389
802
628
444
428
261
814
74
88
115
669
388
408
320
462
317
128
653
287
827
739
42
524
539
331
106
730
157
46
372
186
533
591
382
698
855
16
805
54
865
840
626
942
502
526
329
372
721
285
442
121
479
408
961
779
370
366
196
834
505
753
109
613
790
121
182
562
469
182
244
561
904
998
298
62
20
100
475
66
260
201
37
230
168
168
70
584
87
479
180
723
987
382
394
535
344
489
548
727
394
197
844
515
472
686
801
39
208
228
37
800
901
829
953
644
173
735
115
977
331
923
399
804
631
544
449
147
23
73
316
195
374
825
35
70
521
525
553
543
585
383
740
668
421
799
348
238
548
351
803
526
22
230
608
224
67
256
89
523
780
1
663
721
568
119
924
255
32
161
407
515
166
318
171
296
324
684
496
316
314
769
759
574
458
121
967
995
720
363
498
712
239
823
59
605
798
422
345
144
673
958
618
81
194
977
215
300
996
825
8
427
512
167
963
844
491
43
963
566
757
466
961
998
478
168
695
473
292
801
385
500
335
18
698
1
738
534
594
314
886
628
581
32
747
754
924
68
945
203
361
599
616
714
451
39
968
346
40
709
648
413
830
177
421
168
857
120
653
663
712
444
141
988
755
712
36
97
878
476
779
211
325
958
355
444
300
545
422
985
753
884
104
931
472
625
872
176
463
844
213
66
122
752
47
517
608
933
120
217
664
568
399
388
143
8
676
805
671
965
400
449
521
663
995
962
373
772
862
925
700
357
536
702
765
818
83
84
967
530
238
9
74
812
395
242
641
678
348
65
366
511
219
872
869
847
791
249
165
799
112
55
946
203
912
137
56
372
721
471
599
182
472
623
802
729
371
483
319
662
275
204
685
776
776
262
497
258
603
658
456
999
731
493
794
665
817
373
691
879
989
817
665
972
79
702
398
434
883
890
434
189
86
278
903
155
556
75
731
179
669
813
294
785
249
380
777
152
70
438
555
748
423
664
254
433
962
387
484
789
599
181
230
69
387
887
157
124
298
921
8
362
677
992
714
307
859
902
957
473
358
796
749
426
504
759
816
472
983
762
782
742
783
29
545
659
721
279
419
192
906
237
609
357
92
774
419
96
758
930
361
231
966
641
637
363
806
572
2
775
951
964
672
879
464
673
235
644
569
296
698
80
926
196
34
781
864
658
643
927
260
106
899
439
756
794
493
881
100
978
722
315
540
939
670
330
719
525
806
808
129
148
777
465
713
688
355
776
230
344
230
646
696
698
466
836
428
443
213
327
893
298
522
995
665
128
855
871
167
437
501
863
860
782
748
950
457
44
192
936
265
122
160
214
806
537
953
959
389
723
766
715
498
709
109
10
940
134
454
679
395
531
480
387
934
111
422
180
779
477
534
633
219
448
79
842
470
651
307
476
842
893
297
20
480
642
408
361
778
981
287
4
361
389
274
285
572
744
645
583
797
927
81
151
644
24
590
900
356
369
246
955
271
233
17
447
498
347
223
721
886
350
65
634
500
61
807
6
134
102
998
750
446
703
801
21
259
362
195
964
67
398
653
179
947
282
337
800
849
222
264
674
330
224
660
786
480
0
58
256
102
638
652
114
244
760
29
215
892
121
552
534
601
454
425
909
833
280
651
41
936
352
626
618
698
577
554
622
467
722
604
848
718
986
337
156
629
438
921
669
650
436
211
790
516
671
281
187
83
428
790
76
125
512
74
274
518
966
807
681
847
377
227
374
573
496
757
880
819
769
333
760
728
126
774
995
176
733
523
850
752
211
355
612
816
32
305
354
288
113
296
697
981
225
593
70
199
631
526
340
55
261
217
371
964
650
227
110
86
616
483
88
371
430
58
559
124
481
630
325
890
700
610
799
410
485
206
55
9
315
39
952
713
773
178
171
935
385
558
426
848
351
176
707
129
749
338
704
296
738
709
220
308
269
950
644
31
647
347
642
857
196
394
847
477
985
640
896
625
968
687
190
623
667
125
925
521
59
845
666
897
730
300
829
607
856
205
796
840
943
240
112
779
953
330
165
843
209
776
822
408
927
40
387
373
465
194
157
481
93
897
493
11
260
710
3
232
81
122
499
851
556
488
582
417
280
750
255
594
130
879
721
757
400
786
399
374
260
197
688
625
26
61
78
667
741
914
713
864
396
766
381
646
484
894
758
988
171
963
413
347
851
540
120
37
865
434
547
599
508
688
415
28
615
627
22
387
757
813
512
300
537
557
784
705
288
351
113
934
561
925
675
237
941
966
401
710
614
56
7
354
73
806
79
641
395
969
19
617
795
182
805
110
43
441
562
254
635
87
980
468
880
889
113
925
251
199
964
828
766
575
602
625
616
465
622
336
784
881
970
694
525
534
467
359
448
938
669
727
199
6
336
131
889
658
602
21
320
542
973
678
979
10
561
873
242
558
321
60
480
395
503
504
297
303
690
511
617
474
583
414
489
906
625
251
190
423
17
802
900
660
689
314
759
275
315
946
776
101
404
169
370
345
129
181
478
650
186
622
999
443
14
540
556
550
823
828
968
787
850
422
947
29
748
110
554
490
773
732
653
216
904
673
772
708
271
118
626
676
695
529
825
779
569
642
476
270
510
722
915
405
940
434
653
405
73
618
619
692
256
787
815
49
496
937
45
772
180
201
894
579
253
971
456
56
782
459
941
134
113
520
222
260
319
53
587
920
306
970
651
696
597
216
112
615
521
538
158
221
269
291
530
198
209
664
578
805
512
318
567
559
768
237
816
674
668
234
571
872
24
136
769
996
541
578
121
993
917
765
323
996
592
941
199
972
924
590
342
537
610
767
473
77
229
235
752
736
313
337
191
99
139
442
418
350
76
1
911
758
792
428
800
57
883
780
95
751
577
393
964
210
819
201
186
642
853
878
185
677
120
292
91
665
674
587
182
458
773
738
273
476
873
530
298
885
563
659
90
810
214
968
563
538
264
128
609
101
685
36
731
983
536
885
348
623
556
23
399
540
475
267
359
282
807
325
567
697
638
760
339
34
74
603
275
407
568
951
863
187
587
358
438
64
202
911
502
509
806
365
579
524
481
472
232
34
996
211
332
765
46
456
211
872
654
15
579
483
414
247
709
241
290
82
490
594
523
295
167
303
632
392
138
849
154
927
709
73
478
627
246
270
868
487
814
713
340
502
708
287
15
232
145
361
800
644
997
617
132
442
723
633
400
80
317
884
157
246
684
924
434
806
121
97
140
711
60
598
195
861
491
333
990
550
667
493
228
785
865
807
125
469
981
471
329
751
625
298
699
879
535
760
222
24
674
355
431
53
747
975
143
869
204
85
437
22
136
123
52
962
736
583
277
450
313
668
872
950
610
373
687
277
323
344
202
413
42
73
70
183
157
12
823
422
828
9
540
358
136
649
751
278
462
535
834
654
603
660
614
170
67
152
588
772
213
136
948
148
694
836
122
486
191
62
534
268
480
526
249
500
712
165
351
326
877
287
73
683
842
922
358
851
807
906
629
424
359
397
239
819
961
290
966
354
449
169
141
508
659
250
682
567
60
258
527
248
679
482
290
7
371
449
68
416
688
582
571
494
80
177
98
241
527
70
29
167
80
91
366
69
362
409
972
7
26
103
879
360
955
644
354
264
433
540
688
87
572
158
472
526
503
98
109
583
78
809
879
595
257
85
104
91
574
764
315
100
113
779
282
645
387
167
942
160
982
863
94
636
661
345
997
598
613
200
689
671
362
280
795
820
555
24
79
920
818
342
47
758
804
34
259
233
942
192
105
98
989
26
764
969
370
579
383
518
956
335
540
751
478
406
395
530
958
516
914
834
423
666
929
535
204
736
158
446
324
311
294
801
999
678
617
34
560
661
271
664
336
181
14
537
662
270
987
76
75
631
720
937
13
691
344
415
201
395
142
125
649
979
658
838
765
279
533
951
265
176
332
208
360
470
205
913
465
612
93
12
125
941
834
683
583
656
660
210
767
224
118
109
216
748
801
548
193
446
908
947
577
948
396
522
501
929
104
262
753
402
915
144
810
588
141
78
811
274
852
682
935
133
633
702
995
818
443
959
565
17
247
679
189
34
471
606
107
471
971
711
347
598
8
307
331
694
961
400
566
284
423
4
770
854
778
729
726
348
321
596
264
728
884
241
534
93
406
197
982
772
13
732
825
758
549
895
688
551
300
627
619
637
821
940
591
82
488
432
660
354
308
489
414
321
835
420
982
266
812
898
148
487
59
185
229
168
973
660
238
492
194
487
943
751
239
364
194
40
351
138
431
22
289
256
289
378
256
615
391
873
387
314
510
154
791
53
578
7
292
801
815
92
927
94
826
928
541
227
59
907
605
184
962
115
479
306
649
818
460
623
663
335
499
114
6
649
292
855
809
772
92
229
107
768
579
376
882
106
439
967
594
976
554
841
992
952
865
897
799
830
468
455
164
421
179
18
738
733
676
910
826
257
512
4
391
789
895
814
421
691
957
218
333
850
305
578
618
311
684
646
912
90
145
68
818
276
707
41
65
452
174
396
766
790
149
236
276
21
373
935
125
470
730
146
401
679
629
174
164
185
908
143
722
636
870
17
472
675
708
906
179
773
831
628
457
174
203
11
970
290
800
191
985
681
114
536
686
616
182
227
229
693
843
406
165
611
309
355
485
465
53
420
605
996
568
258
744
196
430
460
811
638
141
16
929
265
802
854
387
551
78
467
304
326
518
658
574
607
389
992
716
66
528
611
921
925
139
460
713
97
412
15
213
955
841
414
605
588
196
698
556
307
750
153
758
465
423
156
203
296
201
227
500
293
625
370
825
308
748
886
309
214
697
285
866
669
814
431
371
139
186
996
692
344
754
55
997
861
226
837
115
897
669
991
7
491
203
47
71
7
51
637
404
244
599
484
949
66
937
99
53
614
589
594
839
969
311
104
730
856
284
586
676
972
736
335
159
901
180
672
100
186
575
81
139
470
714
717
976
745
551
795
561
223
520
583
346
2
538
632
921
755
643
416
713
95
156
905
561
354
524
131
327
179
128
211
137
815
844
242
894
239
109
738
217
317
881
650
816
153
923
778
619
863
74
197
840
422
909
951
902
477
882
745
456
554
137
602
657
542
654
922
694
16
537
903
546
949
814
647
975
518
341
781
579
129
228
567
887
188
103
902
34
455
772
61
361
322
480
660
85
174
140
114
537
732
367
777
929
843
53
973
244
677
108
88
615
788
153
582
928
888
743
750
712
361
88
653
958
173
630
428
674
64
618
524
399
97
818
604
398
705
989
746
632
473
996
498
413
247
785
929
115
924
320
966
71
29
276
408
125
401
118
731
8
203
268
85
762
143
832
561
859
440
988
302
306
166
497
70
868
956
971
491
629
580
335
811
904
541
54
163
730
712
944
683
767
298
514
805
317
893
236
602
913
93
880
149
78
230
456
5
55
262
882
86
251
940
704
463
127
726
446
607
508
649
995
306
256
994
958
201
56
108
196
753
644
691
190
56
815
207
213
180
763
450
931
294
743
500
147
628
920
138
440
759
576
794
221
981
228
517
976
471
131
751
515
290
416
69
532
429
216
14
521
206
697
841
890
907
51
266
225
828
362
404
948
352
953
263
595
69
511
814
373
404
128
677
523
822
446
474
282
98
702
815
457
638
181
540
670
978
387
340
880
451
122
906
585
37
721
21
323
173
113
275
701
425
581
580
229
764
406
840
677
823
682
807
312
194
885
520
644
375
417
33
288
195
225
374
543
188
705
496
850
981
176
222
921
322
319
149
987
465
794
330
909
899
830
107
690
913
785
395
322
446
997
137
632
531
343
114
763
45
727
857
313
601
665
417
374
644
654
514
170
12
884
929
709
974
388
254
884
886
359
668
488
969
900
174
932
551
684
290
36
545
979
125
534
738
438
854
113
556
536
460
187
488
617
337
883
536
597
945
171
795
633
84
399
79
462
82
676
510
166
749
241
118
303
303
824
7
231
535
319
320
801
118
220
708
947
276
920
922
559
900
166
660
175
49
622
435
194
205
35
733
424
428
241
164
376
362
405
524
743
662
886
723
705
301
706
282
418
759
365
616
509
85
643
531
261
505
343
428
56
865
912
853
834
733
595
47
617
553
121
37
684
988
891
858
474
646
707
48
742
234
934
238
370
772
842
611
97
510
915
834
538
220
337
321
429
936
402
93
683
596
450
941
991
245
157
474
483
302
793
144
843
567
65
799
602
316
580
361
454
514
589
806
604
632
470
984
107
376
680
204
450
29
765
118
829
436
982
219
828
924
495
876
805
107
431
608
530
15
671
595
515
206
15
500
875
406
533
358
410
724
386
2
240
692
124
336
250
382
67
885
875
940
283
110
622
765
770
305
253
682
617
226
385
992
929
279
916
817
384
841
371
828
789
682
652
535
316
442
94
879
958
148
21
548
165
30
117
91
244
571
924
772
36
763
24
570
609
796
954
734
694
431
226
727
263
126
676
606
153
299
195
933
601
817
606
589
215
354
326
940
505
340
76
782
920
270
772
810
912
844
815
448
141
661
722
449
197
563
883
913
306
397
463
62
502
609
610
384
461
584
637
840
766
468
122
767
668
623
829
72
766
424
659
517
255
940
855
810
271
552
276
901
476
665
464
541
322
741
704
922
822
816
297
214
717
860
668
310
994
353
462
779
414
87
309
66
563
348
97
225
504
924
185
288
110
231
571
136
580
714
135
315
557
111
684
100
77
489
503
110
478
625
987
333
71
90
989
257
742
274
198
966
982
564
623
85
468
579
889
892
376
570
667
874
65
786
160
615
830
849
988
39
688
794
27
766
874
475
834
721
88
636
550
956
246
565
865
526
26
408
280
708
617
58
558
278
495
962
419
61
329
845
85
958
843
832
80
556
695
563
179
335
937
94
73
881
581
167
922
664
706
319
123
915
482
624
851
850
793
219
837
363
183
89
441
373
649
282
754
817
203
713
951
49
618
493
821
698
256
818
578
819
515
997
90
605
914
931
393
676
723
177
922
897
299
742
658
214
718
523
842
289
570
137
245
912
833
998
28
730
203
484
890
890
802
169
899
201
536
688
721
645
246
619
885
132
918
466
499
852
190
399
475
617
255
846
660
745
303
931
954
980
686
822
406
53
824
215
680
632
533
191
712
217
809
778
907
875
456
255
27
395
228
381
103
297
812
539
247
258
160
987
430
245
640
464
435
198
827
699
252
4
475
421
666
578
651
500
381
888
192
110
617
130
384
193
232
459
927
759
259
772
386
737
106
244
982
872
963
112
177
121
963
760
465
952
237
868
608
439
327
806
834
496
353
211
114
665
572
562
606
23
431
490
799
470
238
538
983
877
670
58
901
602
245
557
747
929
135
953
367
752
108
94
274
864
118
92
529
156
816
799
94
347
864
334
230
104
635
731
658
464
633
160
596
303
207
218
28
329
339
924
333
211
419
153
388
258
642
713
774
730
910
682
576
975
407
780
815
752
356
228
158
273
72
487
900
497
563
222
284
428
107
958
173
888
246
49
846
418
655
946
531
575
241
239
229
595
442
715
238
915
160
418
853
380
512
314
246
154
395
170
920
628
414
899
656
845
260
310
96
529
155
424
412
339
573
522
319
838
841
755
452
861
626
391
129
920
565
974
945
73
474
948
374
898
161
615
432
336
593
431
744
671
787
933
954
198
846
270
996
674
617
462
266
666
547
542
496
602
513
297
912
386
159
625
697
203
920
429
553
125
876
388
528
407
471
762
792
140
165
688
137
788
473
800
352
89
62
927
16
826
61
653
974
11
473
926
771
259
369
509
322
809
678
133
262
43
229
375
775
569
627
799
646
192
694
785
56
552
460
893
223
536
323
929
976
843
215
382
816
994
205
160
486
593
857
628
187
890
929
854
738
278
382
521
881
485
780
795
110
77
597
268
124
284
624
4
189
98
923
539
390
524
240
978
504
118
568
136
610
605
342
893
784
682
809
850
977
464
628
799
130
31
567
58
533
359
882
315
765
145
884
768
162
634
936
416
131
382
178
382
954
797
957
396
383
857
987
40
641
965
824
615
918
169
290
105
866
409
471
579
813
111
776
525
705
204
593
156
729
547
243
96
673
297
441
101
393
366
186
994
36
392
858
233
258
591
964
71
845
659
955
778
547
244
507
570
294
893
460
410
282
290
331
850
510
748
481
365
130
331
658
743
776
990
236
873
677
524
389
963
802
542
115
670
569
708
569
66
519
122
701
925
602
645
61
544
47
133
773
208
200
896
521
230
784
367
400
45
791
434
499
467
301
926
693
980
684
926
13
156
805
806
859
518
602
275
340
424
412
267
621
838
518
527
55
937
435
830
187
746
85
399
671
498
840
273
446
858
353
727
709
469
848
290
221
953
851
74
30
802
979
364
477
687
947
795
260
503
956
917
295
447
773
306
164
940
131
844
249
521
819
487
845
545
850
139
668
12
468
878
472
720
989
733
733
802
619
890
158
837
176
520
445
327
408
614
409
630
402
74
586
58
499
665
205
593
93
820
500
90
267
420
791
586
276
487
894
41
899
598
436
460
645
892
87
461
518
303
817
389
21
940
824
170
95
825
15
334
363
983
212
811
634
846
353
864
450
184
404
779
798
274
278
796
818
943
286
623
536
968
812
122
805
826
341
570
553
827
80
31
359
116
154
534
451
595
360
604
523
841
39
498
465
715
828
38
488
698
489
770
503
717
700
772
743
23
434
45
699
482
29
75
491
562
157
464
462
433
625
793
433
185
718
863
780
901
259
88
645
424
720
98
238
196
382
366
423
607
511
703
845
854
651
961
188
701
933
455
374
774
394
287
645
983
997
562
191
618
936
332
520
99
696
596
179
241
502
353
700
696
78
663
475
35
721
17
68
897
967
232
517
389
937
113
712
200
470
579
358
142
873
911
310
478
559
170
822
471
294
343
765
164
354
607
780
928
612
383
502
378
127
293
330
255
149
543
223
916
842
693
210
743
862
687
682
379
184
301
748
630
486
825
380
928
142
777
473
166
29
28
863
709
469
573
90
165
823
894
61
690
858
195
655
527
240
996
30
90
466
709
116
338
305
331
53
982
974
880
708
938
31
971
775
328
655
453
984
790
214
834
462
658
15
649
659
263
737
62
126
620
992
341
188
503
747
710
560
198
624
191
113
731
145
613
5
6
572
311
170
663
823
975
542
828
636
29
919
596
626
591
401
786
338
500
49
58
456
756
851
202
323
427
109
753
256
103
409
607
73
378
293
292
197
838
77
794
758
201
577
535
784
819
547
843
869
667
779
454
950
127
256
508
727
908
64
60
231
379
528
478
435
743
178
337
86
405
965
823
826
312
962
1
950
693
190
677
592
571
22
55
575
191
274
688
291
155
121
687
749
185
857
899
312
794
833
985
601
793
658
943
276
598
419
867
314
85
661
499
683
388
949
67
150
452
836
128
165
161
343
966
180
908
222
734
701
792
5
198
561
26
665
603
466
435
899
510
367
927
424
64
428
949
621
361
537
368
582
485
302
466
361
62
170
108
972
627
189
449
757
30
115
615
368
468
924
491
438
793
941
293
631
688
397
288
875
650
740
811
726
115
897
966
805
574
700
72
785
808
284
205
766
501
182
98
182
836
218
792
594
370
516
20
636
78
3
257
775
440
731
441
7
427
150
22
76
963
271
458
267
833
692
410
190
852
754
570
359
427
764
108
264
371
360
282
842
939
588
26
73
508
874
245
40
67
415
822
863
475
220
171
464
381
719
316
57
931
263
657
110
850
240
976
877
928
347
591
673
289
855
220
819
743
385
709
674
275
672
837
594
281
157
599
558
867
603
118
949
289
567
811
232
945
471
136
894
407
556
678
455
797
715
275
366
307
320
350
178
827
521
818
553
355
61
777
258
370
357
142
780
396
968
441
470
301
109
181
535
256
487
834
639
590
502
237
874
616
910
791
500
976
585
70
620
542
351
17
503
79
864
2
310
707
245
132
53
517
784
291
659
623
428
906
144
729
318
368
901
625
983
471
315
48
765
631
99
163
11
332
472
909
319
196
155
320
567
786
106
224
474
326
758
24
196
212
755
137
947
446
880
107
152
726
931
380
208
727
358
136
11
50
639
344
598
721
874
285
183
829
51
983
707
646
613
698
996
636
917
991
556
278
612
507
250
155
511
347
528
850
506
169
310
506
767
54
443
736
191
582
292
538
281
909
160
621
775
313
381
482
569
13
874
332
421
96
412
60
122
306
120
133
760
934
383
415
739
821
41
493
15
248
339
8
517
194
442
884
507
463
932
326
561
340
858
446
13
847
947
866
856
608
95
319
252
824
934
624
371
504
172
95
278
718
921
382
541
917
744
965
628
912
865
7
748
257
394
858
936
186
863
458
874
994
464
41
210
26
441
626
927
243
318
561
753
758
308
766
402
556
274
323
89
546
661
453
352
967
51
55
38
756
853
235
820
657
538
663
217
579
36
15
111
596
723
251
808
249
49
641
953
834
992
527
148
359
930
649
768
672
982
393
156
23
839
754
293
733
12
379
335
878
726
648
836
911
830
878
938
451
749
956
493
790
806
430
343
157
797
935
295
543
687
367
451
120
423
140
897
599
982
739
733
432
699
714
15
677
435
343
182
217
376
475
180
248
776
130
111
428
673
586
850
829
576
884
122
397
170
216
756
685
494
608
195
588
903
198
555
217
136
574
50
473
937
876
904
623
707
743
6
745
120
29
610
549
598
93
665
521
689
780
341
581
484
665
80
819
218
21
605
863
421
704
156
629
347
806
761
259
637
212
119
768
337
515
193
608
369
410
835
63
832
923
993
72
582
377
727
72
825
751
976
864
913
26
862
803
426
999
753
990
133
569
567
982
382
176
410
539
224
771
454
164
901
954
826
37
26
514
351
572
213
6
749
325
283
421
588
337
68
979
819
432
776
830
628
760
648
78
138
524
778
256
805
585
183
993
241
821
866
640
591
396
511
324
520
231
545
112
626
5
66
301
641
532
261
348
975
337
673
222
524
238
772
995
806
117
457
160
79
447
544
766
505
40
849
183
41
667
732
41
699
839
676
641
822
483
589
91
402
809
446
612
355
146
570
558
49
920
767
496
408
138
849
698
403
531
620
851
455
927
315
779
650
978
657
450
396
807
190
922
370
953
430
41
402
397
977
742
865
304
66
241
945
968
598
98
650
279
610
44
21
898
161
210
921
959
561
453
404
421
379
552
194
336
993
592
166
837
15
391
176
776
941
437
978
458
734
824
485
372
26
185
258
856
379
954
876
986
896
432
566
614
722
135
150
573
287
45
347
213
215
938
271
276
613
905
642
352
838
260
962
226
164
864
259
482
6
294
226
955
324
94
494
233
398
329
871
90
276
677
280
936
712
327
596
551
670
826
570
991
775
723
734
907
335
808
337
222
344
848
439
75
394
383
881
820
384
747
881
50
298
677
399
769
479
932
971
443
822
199
818
741
9
544
108
379
296
847
4
993
508
520
575
592
996
289
161
72
96
538
623
179
317
623
508
857
891
452
106
396
679
82
586
28
137
48
653
971
55
682
168
324
47
254
10
197
210
239
67
834
441
775
370
850
588
269
989
662
631
670
159
556
105
776
408
640
79
912
870
91
997
738
575
236
458
429
882
404
661
879
972
834
921
255
466
290
447
170
166
933
993
285
273
252
642
719
398
438
902
557
981
849
892
515
29
636
544
894
809
55
187
713
121
321
753
237
209
710
566
545
890
791
834
734
484
850
910
319
335
966
879
281
921
616
609
263
759
301
421
964
836
818
674
171
501
937
778
528
876
528
821
338
340
766
84
606
809
178
823
262
299
869
110
966
608
383
822
841
695
169
226
136
967
941
240
533
830
305
131
698
409
645
123
117
931
855
299
182
521
284
175
439
457
166
959
706
824
610
559
948
516
405
690
82
505
562
869
171
555
968
954
301
629
983
246
524
59
606
565
258
294
858
263
409
211
562
351
799
863
958
956
691
193
661
998
315
641
79
442
252
967
569
534
362
415
537
930
361
709
443
716
334
678
662
25
314
628
32
116
995
588
112
471
547
393
529
355
39
678
408
115
819
462
859
918
939
160
523
647
392
614
574
534
321
269
358
784
795
970
723
871
348
277
56
746
383
20
799
616
491
826
631
42
348
853
279
625
843
625
301
673
690
211
107
335
693
959
612
161
67
536
758
75
948
746
752
704
43
424
407
729
971
157
70
965
714
231
866
23
630
469
945
922
769
215
776
891
303
885
751
615
787
900
268
428
175
916
871
80
458
429
879
188
535
415
751
258
738
7
121
814
551
878
29
794
269
96
844
568
549
875
15
853
537
173
817
845
9
515
663
410
453
252
632
276
758
832
59
487
649
785
34
970
729
497
879
752
251
15
968
974
32
508
227
808
723
419
649
134
881
942
79
500
299
406
560
995
561
660
849
244
118
452
279
68
286
561
772
828
564
703
639
417
809
969
802
826
135
824
873
913
371
615
454
182
397
956
93
793
14
681
408
332
899
266
54
905
690
958
801
467
299
526
431
975
345
132
676
47
139
956
449
50
679
621
666
604
96
310
33
454
641
779
411
160
915
609
814
984
491
347
809
467
9
417
608
478
428
711
964
550
18
76
401
459
811
949
57
518
834
801
981
8
41
894
129
155
628
360
841
333
489
852
137
90
900
344
807
257
446
491
484
90
845
71
618
922
209
818
821
685
542
964
919
251
687
520
135
12
55
876
172
423
858
570
811
181
528
926
901
639
377
955
902
485
139
359
297
399
369
776
445
897
200
382
615
333
239
998
187
104
630
328
990
484
824
19
792
504
975
238
325
40
488
432
154
405
636
272
230
471
238
407
241
897
365
36
281
574
156
654
269
254
870
776
695
26
385
308
560
213
615
139
427
310
58
582
628
540
287
584
117
171
757
779
649
839
477
109
813
44
566
345
147
82
64
289
130
895
778
403
453
617
22
215
860
932
547
1
913
991
923
153
452
535
267
459
535
437
772
724
650
663
361
146
292
340
398
775
130
852
242
892
437
337
486
539
361
853
455
499
751
21
953
833
781
719
661
520
503
421
678
307
390
438
548
286
969
412
64
702
613
681
325
239
712
240
773
665
765
575
895
672
21
178
885
86
313
995
492
106
537
385
76
415
387
262
336
110
913
237
383
292
430
947
449
590
986
66
76
362
835
359
86
716
597
152
688
1
339
57
170
978
431
752
105
417
409
141
983
883
251
651
770
539
326
730
765
566
510
272
357
428
477
972
318
966
989
666
647
475
543
167
344
276
218
231
441
459
768
179
54
35
386
398
214
400
627
889
449
710
39
572
958
309
100
357
318
906
275
241
784
573
822
887
596
177
156
823
253
68
123
689
285
849
364
174
439
278
280
42
509
562
784
624
809
733
344
871
840
319
57
28
611
841
186
142
808
244
43
875
94
477
552
690
442
811
430
409
51
488
218
95
981
134
526
738
590
604
966
673
461
500
266
878
299
84
901
186
563
813
990
880
480
965
568
119
394
132
866
901
726
595
169
691
849
900
984
971
478
476
659
519
931
44
532
70
931
897
776
484
243
355
900
809
660
414
252
927
495
283
322
524
636
510
146
61
809
836
45
483
94
812
1
363
273
288
453
626
947
903
850
386
411
790
122
129
245
320
961
554
30
842
449
764
153
6
90
852
31
212
694
114
860
550
146
226
300
38
6
907
937
641
825
604
186
821
734
940
584
448
324
99
586
769
330
543
945
707
413
771
90
146
146
591
445
429
80
385
679
637
955
448
611
472
336
716
492
898
521
442
151
878
47
786
269
580
382
756
117
71
113
191
576
785
964
431
767
120
335
961
492
782
547
697
666
468
115
306
999
668
897
359
804
428
179
665
224
628
223
763
671
290
6
732
601
468
922
319
334
332
679
782
465
86
982
470
223
69
733
524
956
217
688
442
943
766
46
487
249
145
509
237
874
356
814
818
358
757
874
576
301
735
918
791
653
32
697
716
877
443
573
46
771
730
876
162
764
400
162
784
760
564
381
297
565
543
449
380
41
613
194
22
720
578
486
611
358
598
992
395
455
911
729
106
687
809
664
886
22
772
67
677
867
406
638
427
188
915
677
68
135
980
185
374
234
562
389
668
475
862
669
698
250
759
424
955
377
949
334
928
399
352
561
894
117
953
699
520
31
85
355
240
354
720
510
276
787
756
518
18
576
747
82
648
771
156
288
539
698
146
644
279
326
325
782
194
442
450
514
361
434
85
679
548
887
337
768
422
753
233
366
342
464
850
678
395
891
237
642
520
736
15
416
765
170
572
178
124
399
886
108
344
739
141
712
216
179
808
422
655
907
552
11
94
276
868
512
830
634
340
550
420
669
934
549
909
50
41
112
565
788
175
765
478
261
568
971
347
30
33
560
571
812
636
145
415
721
771
12
384
984
311
723
320
304
616
708
221
762
995
566
206
626
384
560
616
354
490
727
675
360
99
621
569
1
417
964
749
715
992
966
707
962
941
614
662
297
237
67
506
64
146
224
734
830
687
774
494
416
738
1
547
256
749
849
559
768
739
107
868
691
848
468
31
573
45
801
359
692
974
232
610
167
35
115
886
337
740
797
810
359
968
56
807
793
872
865
432
340
591
458
119
531
971
915
257
257
667
191
897
352
136
69
717
650
594
370
505
25
822
873
546
109
768
457
282
261
644
93
438
633
345
605
227
587
227
229
941
232
262
775
566
59
2
606
511
155
572
885
57
237
40
345
469
685
182
317
821
721
982
207
57
40
404
32
361
578
538
729
966
892
715
748
11
56
452
609
295
267
988
17
294
93
685
382
975
104
892
769
642
147
696
495
70
39
196
143
82
530
521
319
556
262
151
322
65
250
670
267
865
987
166
937
870
601
719
956
509
650
438
657
570
29
637
452
277
603
67
91
938
577
893
679
698
919
585
69
319
799
620
334
373
973
590
423
914
452
154
865
140
554
489
441
246
623
984
26
983
840
790
24
850
869
518
511
151
226
499
973
163
55
39
580
246
298
104
745
171
570
90
149
135
413
137
600
497
620
118
149
784
857
353
717
364
761
99
845
221
902
344
604
219
148
952
862
206
193
793
700
995
438
367
376
828
478
221
947
184
117
267
252
822
229
397
72
518
51
155
712
928
91
317
395
709
401
644
588
890
306
445
806
114
364
557
681
918
500
224
691
723
284
598
485
601
124
145
905
968
941
69
912
192
181
812
790
210
995
670
630
401
217
730
727
646
118
820
649
572
12
687
744
205
571
780
282
276
757
327
159
666
391
331
237
883
49
479
447
520
397
725
71
115
770
275
731
239
497
276
290
687
293
995
870
95
643
15
547
859
541
807
544
793
590
395
614
561
7
317
68
354
595
966
846
127
548
953
848
231
257
538
232
769
811
4
624
808
592
889
285
108
17
480
75
470
369
407
342
715
673
962
160
770
677
552
864
986
50
641
882
7
648
774
678
80
560
70
476
934
826
541
125
733
43
912
271
348
405
924
629
250
990
837
644
931
255
526
207
586
450
455
100
966
872
9
865
624
791
61
722
661
567
987
144
122
700
390
438
938
38
577
437
15
399
398
901
472
604
860
811
533
35
134
108
429
837
88
340
365
621
928
413
471
733
432
129
306
256
95
346
454
832
225
892
819
338
712
630
418
671
64
789
68
522
132
6
108
657
213
173
165
299
758
37
808
907
394
625
705
983
990
593
502
231
748
518
300
387
740
218
666
728
251
668
978
448
105
730
409
281
418
656
942
472
917
822
406
466
954
439
127
273
136
635
808
868
928
940
479
154
611
747
307
291
956
771
546
290
558
326
762
83
622
308
558
575
708
550
946
717
651
581
932
704
863
752
23
72
840
581
517
784
604
179
213
149
959
606
275
281
21
21
987
996
952
851
176
989
72
922
743
108
143
873
113
614
833
326
875
112
969
611
621
679
857
503
835
475
546
726
770
249
367
79
396
73
689
585
738
633
258
57
400
290
53
245
939
486
349
268
589
927
876
961
226
104
410
461
349
484
314
312
192
128
510
298
898
953
649
584
779
958
900
481
189
322
223
476
447
126
889
309
23
813
980
304
546
865
273
964
507
33
575
399
54
449
632
700
879
723
578
317
366
450
655
534
911
691
322
73
40
93
164
914
575
625
801
559
855
517
785
627
576
189
935
401
121
560
452
189
300
972
232
723
278
834
666
228
633
266
507
797
594
789
448
757
130
515
245
390
781
470
635
598
96
772
864
931
385
534
360
871
137
105
514
676
24
252
572
540
537
692
831
497
842
375
850
546
29
769
791
726
105
624
822
337
634
679
813
460
205
730
689
194
441
681
399
209
903
893
430
554
741
995
963
605
325
217
815
633
626
922
610
607
162
836
680
259
819
344
231
712
876
500
574
208
81
25
374
849
621
337
340
452
535
309
525
891
410
526
18
594
110
338
153
589
736
27
221
263
790
974
724
65
340
297
155
250
202
255
954
449
215
858
273
194
814
988
573
855
908
76
912
275
498
272
135
113
242
21
768
64
715
200
489
351
578
812
301
59
110
307
693
131
305
84
216
472
885
843
494
534
527
464
46
555
273
483
974
646
283
499
918
101
16
172
638
537
965
179
704
988
845
735
156
104
814
633
344
812
800
786
622
878
618
72
416
244
823
345
202
968
789
375
942
917
391
852
89
171
718
842
515
962
313
58
527
534
999
977
849
466
141
821
495
198
753
360
788
792
512
553
2
716
819
433
620
722
656
59
276
193
658
394
130
61
266
619
468
457
598
262
99
675
622
205
244
589
677
464
335
468
661
602
52
782
658
70
665
668
948
419
537
490
263
53
586
582
785
822
476
610
753
861
518
780
742
425
969
31
716
605
625
823
468
391
932
414
74
845
22
467
140
828
350
175
143
460
140
145
571
17
294
737
35
102
880
858
519
116
817
302
838
94
188
44
814
532
165
290
211
108
993
439
152
506
853
153
724
758
258
209
600
285
408
563
803
928
704
835
446
405
65
179
325
569
613
104
18
656
656
355
789
249
426
938
568
379
967
660
421
916
990
863
488
409
433
814
992
734
305
731
79
847
107
880
741
828
963
949
759
894
70
924
4
642
848
846
220
916
278
679
545
840
441
600
247
963
794
960
893
770
457
318
759
829
811
278
949
488
116
958
265
20
467
674
1
72
785
833
692
954
343
413
359
795
566
270
391
613
958
206
402
644
716
403
109
84
920
354
537
713
655
997
985
324
15
714
15
993
755
944
169
418
942
422
208
276
235
660
968
809
372
626
381
767
343
777
264
407
393
436
823
983
363
643
770
479
672
359
895
778
584
210
925
722
464
858
785
128
456
544
640
678
874
916
967
44
775
106
656
841
55
94
480
390
389
941
343
836
53
896
11
678
566
34
414
158
891
193
664
358
487
145
39
51
392
538
50
572
801
695
947
127
865
93
113
610
953
115
718
252
485
86
289
756
461
607
35
513
315
140
515
635
671
891
654
870
412
492
735
101
404
49
830
771
997
867
855
67
522
959
310
84
129
43
307
415
856
871
388
181
291
105
190
410
327
756
855
556
959
185
251
434
936
797
151
933
837
347
753
262
543
724
21
623
704
342
911
513
463
468
64
530
76
796
235
74
38
940
519
403
343
28
946
709
940
754
96
888
57
289
702
811
349
599
394
321
108
368
63
217
557
278
709
219
980
518
827
59
734
419
619
603
555
637
112
759
7
254
417
328
485
579
147
439
263
201
398
771
982
444
556
800
789
449
427
349
984
980
49
16
468
680
976
520
177
811
866
565
386
903
749
3
67
993
719
760
488
90
242
598
417
834
47
312
639
593
739
831
606
819
321
692
407
906
119
635
389
410
290
538
969
425
993
37
487
173
807
865
137
511
148
449
883
751
301
634
375
238
354
892
811
562
272
560
691
784
39
634
611
155
306
678
572
400
534
4
61
999
784
749
363
963
223
696
877
864
520
797
731
328
278
517
221
688
42
770
336
421
577
121
609
323
910
58
433
731
793
790
826
399
199
153
304
894
609
861
712
446
555
396
252
394
648
641
436
347
937
618
291
48
576
133
808
532
139
714
81
540
652
814
699
810
616
958
170
951
185
683
137
953
672
601
510
688
151
946
739
340
115
508
967
297
233
2
660
492
600
334
948
772
945
945
22
387
269
285
599
88
298
748
947
761
446
329
222
356
302
593
445
114
898
150
541
639
373
988
98
77
115
586
606
163
535
201
537
312
862
852
783
881
183
310
424
356
485
410
509
918
522
828
825
956
530
295
630
250
917
568
747
491
1
671
346
8
972
938
8
831
126
113
659
754
66
808
126
400
798
551
472
434
272
722
952
710
926
989
155
460
8
633
13
452
60
291
775
386
761
49
791
467
690
966
281
973
794
265
896
184
746
739
509
340
7
643
853
846
417
961
570
658
500
149
533
942
140
278
533
821
31
852
295
976
451
474
475
681
255
192
56
789
745
352
139
165
177
135
299
415
390
217
172
749
62
947
79
83
205
506
21
533
627
405
909
719
177
739
666
708
206
931
857
701
540
823
787
460
483
627
497
955
892
680
241
402
24
765
637
358
469
617
518
201
664
135
559
445
871
398
348
625
130
615
254
994
53
796
12
831
247
328
432
71
884
320
221
76
164
522
739
996
620
242
314
352
141
122
648
666
115
865
511
606
596
934
356
161
45
192
190
807
911
884
745
340
889
748
963
308
784
616
6
67
487
45
467
460
358
68
940
592
298
952
804
20
4
270
286
855
487
65
520
380
752
630
877
871
25
481
289
47
86
901
785
815
67
748
274
765
185
419
73
178
307
65
600
342
534
665
519
215
152
155
583
385
199
101
407
475
345
747
84
844
330
538
129
641
24
821
608
192
1
70
903
907
36
713
800
796
748
145
121
149
959
898
947
745
691
82
847
514
865
14
551
210
410
144
78
98
575
92
398
722
708
300
212
858
581
875
560
548
486
952
136
178
805
763
139
981
191
823
607
709
281
877
360
307
295
938
406
500
910
207
268
524
64
198
458
794
200
50
378
120
97
906
461
840
351
276
45
371
421
959
408
296
911
262
6
759
819
492
540
790
721
136
883
134
363
863
376
476
554
144
608
982
526
585
230
960
826
269
18
753
916
728
244
450
143
124
433
901
435
849
47
104
544
852
109
220
834
489
651
28
438
656
140
546
52
38
450
464
188
408
219
779
403
511
236
343
696
738
382
158
242
295
176
228
176
406
665
910
993
83
485
132
499
836
101
588
52
212
651
112
469
390
658
302
217
759
932
843
93
9
77
333
163
189
468
295
928
763
458
882
229
660
803
908
887
871
997
512
751
393
779
26
16
149
211
460
867
460
732
821
887
657
204
630
37
199
984
927
603
994
772
18
476
925
1
967
16
661
422
895
488
104
823
319
477
255
678
426
961
779
471
683
708
151
297
175
567
287
46
503
960
909
729
257
142
408
641
814
692
704
95
567
251
707
552
910
380
430
935
575
709
200
939
223
537
667
417
442
467
399
676
610
621
817
548
30
265
158
57
294
641
385
241
562
826
926
51
755
361
629
947
600
796
373
63
291
635
700
688
667
385
237
273
825
625
693
359
33
817
351
327
104
256
472
172
220
644
520
89
44
216
720
593
82
281
574
254
575
786
93
263
418
77
725
762
635
207
320
934
278
753
940
326
955
982
720
761
644
768
988
302
132
157
102
133
592
991
892
352
240
911
468
147
332
198
632
177
595
485
434
193
725
24
451
683
859
222
115
330
988
107
291
658
295
577
370
445
489
512
971
461
993
54
735
161
885
256
153
152
704
370
409
938
197
5
134
420
207
153
151
98
305
549
536
948
167
744
48
587
791
314
339
428
591
816
423
365
678
109
667
190
396
676
646
410
636
892
725
647
968
8
855
652
757
741
609
737
664
942
9
446
774
128
628
642
755
725
990
650
762
506
344
401
350
909
363
13
783
994
782
427
472
267
923
294
600
601
121
122
329
106
783
463
523
493
422
638
219
477
98
336
60
347
931
324
972
313
871
393
976
145
976
657
252
799
751
147
764
665
441
906
106
477
36
546
346
765
342
603
770
228
462
852
171
996
7
952
540
697
879
615
936
353
639
558
350
238
69
404
794
902
326
224
204
57
926
471
926
705
187
93
678
59
677
602
673
141
521
329
233
78
138
294
943
270
973
611
640
406
527
120
86
249
524
823
954
347
697
788
958
333
813
418
918
251
304
651
903
405
866
87
955
88
707
748
489
930
951
525
363
670
105
761
898
118
630
189
792
882
414
901
860
966
483
727
393
776
500
806
438
186
28
22
266
959
729
826
867
836
194
95
276
729
409
60
856
151
844
434
810
615
136
593
847
764
501
416
842
791
655
807
54
831
392
792
674
157
390
770
671
248
312
481
523
776
168
56
20
354
956
446
897
876
307
388
327
562
750
267
145
669
372
529
535
373
777
470
612
506
768
689
553
377
445
58
419
269
369
329
361
639
592
396
417
615
387
941
355
989
548
923
821
663
135
238
610
517
986
815
823
742
333
316
698
872
554
558
378
599
174
731
141
129
197
453
835
433
341
364
911
650
2
830
42
466
521
387
103
822
283
586
954
248
335
477
798
537
208
31
89
971
69
573
199
458
104
653
344
360
153
647
367
975
111
48
891
235
262
651
70
898
963
165
163
101
376
684
928
660
325
270
999
585
396
547
717
50
208
430
967
168
959
628
445
137
835
609
862
390
9
923
675
561
202
442
694
485
230
459
455
725
819
819
776
501
89
116
150
589
194
296
222
491
151
406
77
209
399
941
588
972
770
269
480
605
357
610
925
202
942
479
151
401
825
459
471
42
633
706
334
267
451
602
276
249
729
231
631
24
561
62
68
31
466
808
208
433
430
976
694
8
499
47
225
456
879
275
453
982
377
334
68
295
307
639
221
935
805
37
498
508
211
742
391
507
751
364
665
450
569
374
803
260
81
767
0
994
964
917
170
933
624
644
701
567
489
420
457
978
931
252
889
599
239
500
963
920
979
692
904
338
273
384
130
642
425
786
492
624
743
137
29
679
363
893
142
199
65
450
701
156
108
857
293
819
843
941
906
260
34
337
799
982
409
432
989
625
890
860
730
134
539
277
107
963
894
61
274
540
445
61
619
20
823
663
298
225
116
305
188
133
129
40
55
595
327
959
194
163
455
144
955
534
510
620
821
944
1
641
3
74
695
818
771
629
388
351
490
387
67
217
948
836
911
66
206
519
826
189
917
31
108
209
731
513
647
349
16
261
180
511
865
181
896
625
544
682
941
145
889
713
715
49
794
300
180
1
164
390
446
979
913
679
403
824
567
198
305
372
206
189
843
843
67
259
540
217
582
407
874
50
986
562
137
668
818
414
847
926
736
191
875
230
77
973
208
899
299
454
192
664
395
154
401
669
525
121
723
201
303
52
21
338
242
894
282
911
352
497
246
57
448
943
945
975
970
620
721
366
475
997
304
77
628
757
190
90
482
68
520
682
474
117
883
357
148
755
392
450
738
760
609
114
327
932
727
783
329
352
737
38
845
565
609
8
894
576
607
910
645
762
681
928
154
35
911
704
912
304
916
180
667
228
919
889
626
734
278
313
149
833
183
264
784
696
946
712
609
602
811
313
910
3
668
147
635
812
915
815
493
48
637
396
35
544
144
433
696
389
87
529
255
570
139
259
750
213
198
337
340
384
336
937
469
975
111
189
520
64
190
915
672
95
904
114
718
223
951
348
463
882
100
296
882
385
145
466
990
38
486
348
272
584
155
313
124
862
743
55
797
482
16
781
406
160
482
273
467
946
600
859
103
244
97
995
838
482
967
266
108
896
557
915
468
500
51
698
519
411
570
953
688
749
476
271
438
205
7
547
12
943
244
807
995
362
542
763
472
559
911
528
242
973
488
456
698
217
409
191
761
873
355
726
396
837
629
259
883
398
515
599
62
629
297
758
633
974
590
868
795
969
202
782
882
738
416
807
280
97
319
111
689
946
859
668
848
810
308
234
204
654
44
550
861
788
218
572
169
597
862
280
221
512
680
150
726
168
385
200
17
35
603
713
34
47
882
276
479
609
650
267
214
318
121
541
368
939
458
368
308
492
759
623
275
427
131
482
310
805
108
484
30
548
546
382
275
550
857
182
439
508
294
998
704
794
74
157
450
795
562
496
210
341
18
509
244
996
78
398
271
848
993
816
319
98
981
811
635
573
35
519
386
914
641
874
329
648
910
506
460
714
433
328
915
382
950
282
264
157
206
360
689
553
238
390
673
146
693
780
878
341
493
896
147
25
386
579
872
905
510
762
576
287
650
998
874
59
506
710
210
762
214
194
256
552
692
864
372
754
708
944
356
606
212
148
50
858
133
649
47
257
863
588
592
370
189
498
903
993
73
71
230
34
9
697
84
524
884
923
54
767
113
869
156
522
75
375
152
92
965
849
488
928
377
21
119
77
393
787
133
679
318
186
901
686
843
326
23
727
810
663
979
888
245
602
250
75
416
378
466
24
292
881
26
364
850
528
786
689
571
91
791
6
717
462
286
837
406
474
907
281
200
560
975
873
559
815
273
808
464
506
517
881
699
557
698
859
584
720
232
613
11
223
109
672
662
426
569
935
770
140
844
961
619
931
324
747
82
89
657
318
561
525
628
821
619
828
546
534
782
219
321
381
911
459
700
428
183
947
61
172
829
317
48
51
41
60
686
277
724
572
785
239
8
152
543
853
437
106
988
222
468
103
952
368
408
383
80
699
497
841
676
404
430
160
371
884
51
352
735
755
471
414
745
981
357
775
557
870
888
17
197
207
863
300
339
975
156
809
545
174
166
186
746
889
845
728
921
953
225
972
943
642
725
332
143
364
62
924
774
848
238
740
342
669
278
604
728
957
232
979
984
396
134
907
59
300
976
84
665
664
94
863
155
513
799
826
557
807
858
167
308
57
84
663
455
855
54
47
28
317
312
58
937
627
238
363
703
633
137
535
239
989
169
283
865
510
378
395
797
371
34
234
99
599
381
404
813
270
775
32
95
754
712
265
509
948
553
895
918
345
482
325
555
453
363
465
538
844
508
547
428
930
102
32
207
463
806
190
865
666
190
543
326
98
861
416
816
471
425
443
436
293
384
515
571
319
495
880
952
222
502
587
234
913
892
3
672
47
75
965
759
586
420
745
34
579
260
960
182
958
352
908
557
703
264
828
554
689
318
335
818
627
79
455
555
4
130
679
480
623
823
413
341
821
296
702
279
566
103
235
518
434
72
863
492
171
489
665
811
923
784
209
707
209
604
552
830
632
524
157
963
209
614
630
718
428
846
876
816
627
789
478
941
147
868
160
165
290
662
612
189
197
995
56
325
924
511
967
921
985
178
996
783
308
813
39
568
574
413
206
430
634
397
972
28
366
583
47
931
0
514
681
393
197
36
535
752
490
470
40
270
59
453
351
140
924
432
498
899
849
261
468
832
341
467
247
99
644
459
396
459
127
204
941
830
859
807
336
613
838
217
682
377
552
207
570
260
80
145
464
539
785
860
447
351
596
505
681
51
15
773
202
246
7
1
369
874
132
38
474
658
737
544
759
741
590
279
341
453
860
878
1
595
181
435
500
790
721
787
74
754
749
949
908
128
434
424
502
858
231
224
330
357
528
651
204
835
541
698
379
738
759
625
591
108
882
930
309
937
863
550
367
276
453
319
414
718
667
854
898
970
37
734
144
883
808
12
642
654
145
590
870
292
466
646
11
652
42
679
103
762
468
843
880
119
985
403
269
652
74
839
752
562
258
825
136
931
437
40
84
681
658
738
147
632
944
205
646
542
734
350
935
338
270
358
89
711
502
14
961
926
867
454
879
312
488
745
957
622
666
76
221
655
412
922
655
194
493
502
991
110
698
157
122
406
503
853
73
661
620
608
848
139
336
202
361
897
240
571
663
876
128
47
764
406
514
177
169
296
286
362
960
667
878
380
979
751
368
818
562
849
712
270
240
382
445
853
927
602
214
581
844
436
450
758
14
503
299
579
25
804
415
332
184
559
57
188
6
307
207
176
442
757
821
812
872
292
30
310
135
897
102
127
312
556
86
14
815
275
828
180
62
76
640
193
370
375
243
683
103
887
17
788
755
411
335
3
252
672
729
736
668
676
476
502
629
677
840
924
103
745
743
130
812
428
753
14
742
237
867
242
757
77
444
114
716
985
561
660
457
978
731
823
524
31
115
944
783
97
216
185
839
100
970
710
185
769
878
932
476
758
167
141
207
146
340
567
768
969
463
376
199
147
610
476
849
684
355
37
853
506
64
604
37
798
252
669
309
703
379
294
556
803
528
371
939
19
821
743
693
93
566
210
541
501
61
488
415
731
5
705
96
0
713
585
31
552
789
319
924
209
694
629
568
622
490
700
537
937
209
313
89
575
962
613
860
484
298
453
513
99
986
65
899
785
35
229
220
963
488
560
825
691
730
966
419
688
482
971
375
248
622
799
277
722
78
566
516
603
327
155
142
479
434
188
517
888
51
677
46
844
845
847
973
92
667
492
904
782
495
664
238
433
805
27
180
383
240
661
222
802
742
298
251
54
629
22
104
604
78
405
931
599
739
69
911
583
673
804
452
951
225
476
59
703
531
343
812
305
572
377
153
150
867
807
827
711
719
787
849
824
275
162
618
410
621
599
760
293
111
262
222
432
728
14
741
122
896
340
217
979
732
793
903
74
898
268
676
773
745
69
136
189
331
942
114
694
787
972
492
12
536
276
254
413
855
992
548
950
463
433
397
308
210
872
922
979
36
450
200
171
853
240
218
714
997
722
641
582
730
46
53
611
843
206
283
226
855
595
184
249
393
567
908
859
278
163
52
338
720
81
613
306
899
175
573
817
622
723
306
824
329
19
740
954
595
907
877
112
719
328
280
514
648
908
841
17
415
744
518
63
784
347
68
870
69
19
617
161
880
810
802
971
68
41
985
919
804
79
6
819
345
592
359
738
695
477
590
611
495
644
186
894
982
313
819
706
530
89
832
508
554
68
613
346
577
336
556
675
108
417
843
596
915
376
47
705
653
882
343
432
523
272
538
65
375
159
434
309
969
84
708
851
659
93
155
883
83
593
715
642
24
409
293
401
427
77
42
613
955
390
534
768
504
367
274
74
472
736
196
18
108
354
922
903
644
797
867
952
664
704
706
610
303
681
276
344
192
644
565
372
440
802
22
516
918
734
223
942
920
193
462
836
737
646
990
30
466
164
893
463
344
985
248
63
110
794
336
930
234
572
509
93
639
610
182
365
823
630
195
978
72
747
180
430
7
982
924
531
785
368
366
230
411
1
148
581
913
206
6
673
434
407
405
191
77
277
671
491
875
313
825
152
636
278
703
692
403
94
72
330
434
544
863
614
206
313
141
632
827
826
775
25
780
689
235
685
532
437
958
331
175
187
805
603
64
303
639
551
42
626
883
753
206
310
247
744
300
762
666
474
494
494
460
203
370
193
128
842
785
252
108
395
81
485
172
737
921
61
353
828
177
302
964
783
706
417
755
199
195
965
869
913
142
609
73
57
453
394
718
259
283
627
779
557
288
917
917
492
11
216
74
50
807
877
360
878
809
713
917
130
653
410
912
686
239
528
76
116
820
161
234
93
526
752
780
896
211
699
167
648
475
521
678
297
625
837
331
161
304
561
157
836
136
107
361
581
379
853
240
656
883
224
319
188
362
217
752
520
564
750
89
184
466
475
93
198
575
749
849
89
877
27
363
432
447
807
193
297
951
44
592
905
459
431
550
887
770
178
620
965
254
122
155
743
398
508
151
59
691
629
978
974
70
880
671
896
934
202
248
407
660
81
160
536
807
739
620
628
22
339
335
633
111
260
527
509
275
945
910
124
827
572
264
333
805
988
851
829
320
87
974
17
298
995
403
321
47
509
522
715
173
205
131
595
402
212
776
892
381
11
504
640
89
222
784
622
128
901
156
388
28
553
540
52
591
858
450
26
122
255
186
290
509
139
452
543
179
316
303
612
306
358
939
915
305
67
168
37
200
12
842
852
695
217
802
359
879
471
942
422
74
518
542
420
992
374
454
197
882
706
834
541
945
677
350
107
252
189
746
768
214
122
676
454
267
74
454
73
527
360
158
742
505
462
438
670
314
738
34
827
17
584
90
956
723
650
446
274
392
344
327
396
981
923
682
744
110
573
527
706
69
368
342
905
239
695
283
156
742
545
129
425
950
502
992
37
684
144
672
918
612
480
193
673
71
707
39
228
673
29
973
484
50
743
681
343
398
626
143
274
337
478
786
355
856
330
512
538
850
109
535
137
581
801
853
283
173
328
672
722
557
353
855
767
646
357
141
911
142
490
54
630
293
57
803
551
895
303
481
148
272
12
346
380
754
184
109
286
835
251
255
606
219
740
57
269
149
182
153
256
727
293
979
169
380
658
975
781
758
980
637
213
767
79
860
628
993
232
783
560
421
311
1
722
591
794
391
724
275
303
967
481
386
191
954
836
260
121
427
177
727
372
33
260
382
917
864
727
452
607
13
528
119
681
317
338
383
329
880
185
150
20
755
88
530
372
184
842
289
368
201
936
841
464
758
610
238
508
944
346
495
111
565
922
168
481
743
424
214
271
443
547
404
234
568
703
993
170
317
692
648
644
875
830
379
973
644
922
402
792
443
187
791
562
501
487
559
286
524
228
595
620
695
884
896
772
738
376
450
897
810
609
993
353
428
821
160
216
486
578
921
744
965
599
582
20
832
821
886
13
382
684
758
760
641
658
12
517
203
745
36
876
61
648
307
295
41
97
284
734
851
303
848
290
792
542
37
346
496
627
878
69
712
432
865
269
17
779
257
970
67
398
115
481
329
831
165
246
813
698
162
976
142
297
613
401
108
307
117
688
360
561
278
337
517
672
378
129
841
903
336
372
463
563
840
222
948
468
825
775
233
769
220
991
809
397
436
24
365
944
634
77
67
203
270
855
857
657
36
54
915
379
46
918
722
962
505
629
778
782
698
506
955
369
768
175
342
497
134
920
273
868
228
207
915
202
386
745
383
960
738
428
856
586
143
308
305
736
882
922
690
848
859
689
877
638
395
585
230
951
414
863
620
661
187
847
876
561
217
280
942
463
36
464
708
164
89
272
69
469
554
345
779
762
961
134
634
325
680
802
822
380
47
751
872
976
740
983
326
675
295
51
914
886
617
302
372
955
943
201
187
394
269
566
541
259
310
931
786
255
575
647
831
75
987
519
501
220
141
630
56
599
208
489
589
930
277
906
240
774
590
800
724
260
585
681
394
36
401
252
978
849
378
309
478
944
717
677
318
872
186
374
125
493
433
479
752
113
884
286
936
754
720
422
101
269
884
344
452
121
685
879
342
928
575
65
946
296
880
116
113
384
260
484
843
630
552
19
525
344
689
343
877
64
102
181
445
533
581
66
321
764
33
191
166
784
379
106
777
916
809
17
784
552
647
837
817
630
632
226
980
730
838
474
286
112
994
421
389
439
4
720
871
54
271
359
680
749
473
927
641
79
71
534
432
917
142
224
241
412
861
577
266
646
17
763
151
184
767
825
33
272
420
887
723
801
212
971
612
104
776
450
745
967
87
785
821
113
530
700
75
256
44
662
798
427
930
390
567
189
334
205
214
396
161
2
253
150
537
286
778
439
47
904
100
737
445
53
301
970
304
564
763
612
730
999
366
261
104
769
119
97
12
695
474
970
884
784
510
726
218
376
313
263
48
77
727
347
616
74
345
163
314
835
72
295
346
939
284
558
670
42
249
686
935
112
6
885
550
250
913
503
816
208
542
494
38
644
142
257
696
15
878
738
18
852
22
852
39
371
86
827
69
570
330
995
0
78
660
405
333
938
612
326
533
296
893
425
860
843
603
192
382
252
172
860
159
535
128
88
443
854
456
159
52
174
887
645
713
321
669
471
237
153
696
932
855
57
279
198
714
382
466
810
448
558
563
390
530
256
717
293
177
251
864
445
501
24
282
886
484
392
995
309
434
146
688
223
349
733
610
572
485
171
645
484
758
835
999
677
31
627
82
129
794
58
487
266
104
181
637
384
986
790
878
206
150
485
145
521
365
926
884
785
899
653
332
326
526
618
100
326
999
698
971
206
336
900
869
331
626
605
357
876
625
379
579
666
292
846
383
8
405
365
500
67
687
774
186
745
504
950
297
344
125
596
530
293
50
831
93
432
788
303
393
19
407
140
346
885
718
463
259
49
596
173
834
190
680
492
645
936
925
834
846
888
307
597
730
154
842
383
94
703
361
393
808
908
861
969
101
688
34
787
98
963
796
298
244
387
722
365
751
545
208
973
431
967
562
498
172
928
409
63
669
513
535
548
419
701
612
202
195
915
318
372
239
857
708
944
555
14
337
66
533
412
706
119
603
737
481
94
877
757
872
81
544
906
898
815
575
357
710
437
222
691
613
61
89
488
665
285
653
995
237
12
276
927
319
934
11
198
185
345
459
964
544
18
115
645
984
935
829
329
588
679
645
827
244
416
164
929
839
772
386
725
370
665
318
534
895
208
928
47
671
179
312
548
618
672
777
200
878
572
241
857
366
482
825
964
146
886
679
393
111
135
283
714
420
624
298
836
984
308
168
471
546
508
699
691
877
972
436
599
870
389
592
946
739
211
882
502
88
954
41
871
221
674
123
567
700
692
692
556
564
678
571
176
488
563
410
306
695
342
479
864
284
428
742
557
935
275
438
398
905
305
543
127
719
940
944
705
856
111
282
724
526
942
835
689
12
690
680
715
177
503
972
583
477
286
165
145
704
118
520
706
538
262
273
959
120
610
508
213
671
488
597
674
882
137
163
587
258
570
976
596
481
119
749
963
340
361
126
213
507
320
576
556
557
704
866
354
539
26
174
526
352
82
317
638
613
458
448
327
258
885
388
696
219
673
355
162
180
30
775
850
861
272
999
413
618
457
308
744
793
107
27
368
673
452
707
723
246
116
759
553
843
417
413
160
75
375
245
403
649
388
719
892
515
183
213
254
697
862
965
705
829
600
469
820
3
228
135
982
364
242
204
98
566
435
124
13
788
554
132
730
11
149
85
490
538
615
715
988
9
732
224
939
116
326
907
304
114
507
692
974
93
405
6
594
73
110
271
905
631
461
224
769
490
693
838
460
30
98
260
707
260
295
941
648
512
321
467
742
113
22
661
474
823
674
663
310
629
462
445
148
494
193
70
29
371
759
962
284
736
547
305
466
884
475
577
209
388
27
75
740
801
71
987
476
992
654
765
742
943
391
526
972
252
580
10
296
390
911
775
803
191
842
764
930
62
349
958
769
430
853
967
174
677
593
917
230
858
508
80
30
76
256
375
214
638
533
586
534
981
198
449
93
230
806
151
731
589
963
214
94
794
914
668
4
155
206
644
199
251
816
825
888
217
699
886
672
926
797
969
53
235
353
11
388
382
465
612
377
473
471
118
142
358
876
793
516
970
30
69
233
919
387
443
304
445
741
245
941
662
793
370
920
144
462
311
184
818
177
565
810
694
652
635
231
346
583
198
491
907
296
573
705
131
811
881
30
540
351
476
554
309
238
213
435
610
598
558
526
790
375
244
690
588
748
617
347
650
964
84
385
808
623
176
565
180
495
267
865
506
24
733
39
824
21
299
844
40
649
571
719
677
650
187
968
882
762
69
351
871
893
184
477
991
316
395
695
335
177
869
926
64
87
564
995
585
571
858
882
730
220
773
804
231
415
941
578
980
50
871
954
817
778
9
587
836
3
994
646
30
825
988
582
772
80
329
230
836
726
115
92
886
630
597
925
732
158
655
961
703
166
529
504
577
362
493
950
528
224
579
888
190
871
533
429
603
134
902
786
577
683
180
609
679
57
14
170
258
387
354
468
163
933
931
221
762
805
573
541
456
787
441
272
411
384
419
554
483
713
375
844
15
186
3
350
134
531
240
984
989
328
903
295
575
713
923
715
333
110
386
978
0
271
58
665
961
991
589
729
45
646
109
638
307
312
42
398
989
27
912
631
105
89
452
241
965
970
625
914
152
805
690
871
620
914
251
566
12
205
615
158
861
837
382
766
45
210
389
641
944
74
424
132
137
440
549
896
994
790
851
474
475
716
779
873
28
619
706
430
706
379
647
992
369
709
437
34
900
75
482
875
391
595
441
335
76
509
164
2
711
559
665
241
648
734
579
910
67
223
164
611
98
163
153
877
307
843
846
198
660
247
254
13
939
153
373
62
70
934
928
936
253
56
666
892
131
180
364
132
32
137
510
988
788
343
23
406
709
652
310
102
877
33
820
239
880
657
657
97
437
519
328
640
48
810
323
195
51
417
885
327
187
332
381
925
457
195
503
377
750
776
272
458
770
336
174
842
682
25
174
529
957
821
150
998
70
60
701
58
775
737
878
541
691
708
761
295
311
951
110
782
652
121
161
174
341
995
883
39
56
86
251
565
516
461
741
622
109
531
71
921
573
570
148
507
367
275
671
824
120
588
810
25
257
273
147
494
279
136
467
163
242
64
636
648
434
7
965
579
920
37
93
359
105
34
619
629
698
355
60
52
817
572
978
88
198
502
546
237
440
17
446
501
931
730
690
543
18
263
921
975
973
123
696
124
56
260
783
604
668
876
726
895
293
789
972
637
515
341
319
385
522
449
473
85
431
938
176
171
170
215
738
593
438
606
385
634
939
291
943
748
439
745
608
202
933
933
771
642
462
861
414
594
751
890
104
114
142
481
436
794
713
164
787
536
38
929
570
200
660
736
778
863
342
841
910
986
563
329
819
888
484
294
509
39
34
775
477
265
976
350
414
387
900
73
659
759
636
297
292
108
177
86
31
485
628
653
988
882
637
507
233
827
159
951
17
251
839
983
834
496
370
596
814
631
307
625
122
98
933
982
806
748
251
390
619
406
732
689
714
630
473
94
349
919
860
498
937
961
135
742
462
18
408
879
601
992
908
998
214
132
868
40
114
188
314
681
616
854
259
435
683
693
917
221
476
542
383
873
314
553
236
258
207
968
370
844
657
20
132
987
34
588
234
295
670
51
843
544
491
196
859
364
660
801
38
168
479
861
751
538
383
651
859
659
502
776
759
471
226
847
755
219
574
427
181
323
893
709
600
344
328
326
371
640
809
788
147
188
581
398
825
139
996
45
784
171
610
935
275
296
558
66
195
617
917
393
115
395
960
615
895
569
527
43
318
136
831
331
834
451
792
466
275
899
847
850
580
514
736
910
429
226
325
914
360
639
47
611
219
808
538
943
861
520
122
723
700
167
33
3
875
416
638
287
372
568
95
320
725
803
752
997
49
898
8
1
220
791
416
881
935
438
980
936
35
97
400
96
439
786
111
313
502
344
681
774
338
955
453
460
568
616
419
239
346
114
473
23
623
617
166
432
770
998
488
471
157
890
15
512
825
569
582
110
746
696
271
901
808
918
15
136
555
594
824
410
784
511
765
984
481
341
141
807
82
251
332
194
481
632
611
548
849
359
518
23
774
45
622
873
666
306
926
857
699
719
642
887
22
956
96
754
700
633
224
213
380
248
859
859
135
153
383
701
762
919
40
536
949
361
543
655
609
92
619
258
372
14
583
941
527
581
459
434
329
610
755
442
625
311
142
980
737
477
409
988
961
172
368
780
544
357
110
739
826
651
520
452
79
335
781
251
627
214
460
757
448
671
249
870
506
917
722
298
542
887
834
59
829
808
441
693
833
357
571
72
624
185
454
692
498
624
5
111
193
82
949
632
371
26
298
315
665
505
852
583
928
657
669
436
172
506
197
388
131
912
849
911
398
410
519
496
480
982
288
945
759
142
433
126
579
844
905
298
276
59
692
192
578
435
292
589
918
754
242
432
5
49
94
216
716
495
761
113
184
313
669
430
489
18
127
716
337
492
631
234
71
651
997
233
888
877
392
102
415
138
696
662
754
587
273
808
317
789
944
516
132
885
528
221
45
284
829
862
976
367
9
594
118
226
498
529
756
556
516
358
587
2
684
305
522
839
211
751
820
1
861
107
699
239
337
657
916
484
625
681
733
182
518
983
371
219
637
793
636
241
520
597
827
506
567
677
490
925
142
78
203
858
335
141
514
98
431
348
464
332
986
275
534
387
800
414
53
272
830
43
651
471
501
440
319
87
717
377
795
429
629
154
267
144
123
624
498
957
785
456
59
595
391
189
659
417
965
622
701
807
230
677
278
563
936
408
587
871
39
148
155
572
211
544
892
807
125
187
704
612
197
761
535
138
292
740
812
541
762
816
848
707
59
658
834
974
68
190
606
843
503
584
864
679
154
468
876
42
753
937
501
855
315
202
947
191
970
595
5
597
129
932
86
613
387
52
230
511
507
360
740
429
89
77
12
372
475
551
118
768
666
144
805
24
714
839
200
411
489
405
327
432
14
886
247
243
591
943
380
490
915
569
970
965
915
456
683
837
285
44
581
33
530
236
675
393
968
940
423
199
254
392
505
644
80
187
750
987
583
665
471
411
741
504
571
391
163
986
215
630
652
109
725
334
634
715
303
418
706
87
746
295
258
944
431
133
689
933
316
534
344
653
591
909
213
148
49
491
637
788
678
618
404
704
507
814
685
385
851
142
611
886
200
958
460
665
519
72
260
3
951
317
221
799
963
707
147
307
203
379
51
212
137
652
703
971
530
62
118
659
665
963
807
303
111
826
189
909
813
93
323
350
526
728
166
79
186
671
534
635
215
749
346
48
132
40
80
323
795
874
131
682
784
439
331
672
265
708
631
975
203
631
489
948
758
508
36
64
978
603
721
889
861
125
553
91
613
552
209
170
372
173
266
475
90
864
60
678
363
696
979
277
560
69
745
343
512
304
441
691
261
146
685
591
326
394
244
651
597
546
672
292
699
718
287
867
604
982
217
437
525
295
163
18
230
756
453
69
654
15
588
541
471
995
88
808
616
485
260
191
903
640
790
527
577
575
202
273
701
564
313
341
664
524
728
93
665
914
529
347
268
565
97
212
167
40
885
852
126
232
808
67
654
701
567
584
144
439
162
97
414
595
711
998
459
189
267
606
440
981
409
299
188
851
459
235
748
529
967
402
408
577
547
994
927
159
4
913
860
132
319
659
473
115
961
774
819
213
925
766
246
312
611
325
3
953
113
743
772
673
285
15
93
549
879
775
521
627
641
15
393
552
129
650
381
370
281
776
663
460
215
765
682
328
719
684
201
704
834
607
560
132
485
322
271
29
91
527
475
84
952
719
59
416
402
817
926
793
485
32
884
447
631
253
731
819
466
645
511
592
590
22
719
229
752
523
634
334
446
111
421
705
597
890
3
114
135
700
714
648
598
329
321
494
10
687
207
534
313
849
140
375
527
410
172
968
530
653
928
189
619
478
529
453
265
473
671
913
176
70
166
812
387
25
172
989
886
652
316
290
960
73
751
947
407
677
25
933
526
782
280
657
256
83
256
767
825
798
330
99
301
591
246
210
369
945
388
81
71
54
506
224
356
816
233
923
581
565
134
441
216
796
125
340
615
752
931
587
443
708
594
932
159
268
234
810
366
270
78
813
459
988
117
159
812
343
340
581
401
148
250
945
590
71
677
834
269
697
738
18
572
335
211
201
525
300
461
526
528
709
588
165
576
277
883
530
104
824
164
428
891
941
585
695
983
875
520
271
252
23
363
320
57
384
190
411
262
388
125
895
57
279
24
570
396
363
216
73
531
157
731
251
766
600
769
814
719
678
392
309
799
839
22
718
259
918
694
51
219
113
305
717
707
323
447
164
878
373
577
240
596
420
689
704
492
687
834
912
315
914
561
752
293
564
525
970
367
46
675
429
61
924
27
806
652
172
668
78
635
270
104
38
990
177
70
996
723
570
973
493
93
793
440
532
284
547
536
489
874
185
647
666
116
893
528
220
108
450
892
705
653
614
499
660
811
832
609
502
298
811
675
350
307
602
285
42
8
653
664
137
262
579
114
368
586
623
482
756
288
582
503
913
302
560
242
952
393
636
942
710
583
574
795
257
827
777
520
781
611
535
401
203
735
875
582
389
999
432
517
9
495
75
953
730
591
589
107
991
972
975
644
303
712
471
287
392
568
996
97
44
500
624
356
365
122
31
727
124
875
887
447
655
894
835
281
454
381
221
413
507
496
229
285
581
467
246
737
571
292
519
508
79
500
530
650
811
837
413
615
24
242
998
322
566
434
756
448
419
508
277
963
428
31
670
896
926
679
310
63
559
13
432
466
658
524
398
697
73
817
985
231
82
845
8
514
296
919
595
45
379
128
784
988
480
869
914
592
933
76
35
298
507
485
779
240
381
196
420
925
19
741
138
45
504
636
840
861
263
715
575
59
155
969
832
74
377
232
592
4
592
614
877
842
998
999
902
569
902
929
49
881
3
904
287
323
421
538
227
48
142
367
979
209
61
747
278
322
615
618
902
894
336
407
996
884
870
903
296
511
377
511
513
643
979
324
779
117
864
105
153
200
703
109
967
226
993
958
833
680
547
106
993
483
878
387
647
568
525
458
199
800
103
610
60
147
604
585
798
145
156
525
227
716
598
797
10
42
428
994
67
521
877
878
361
639
987
47
513
976
235
869
148
617
909
702
67
640
17
204
102
118
594
161
389
767
485
149
897
812
629
23
588
498
520
334
631
439
69
654
436
270
150
213
904
77
678
995
438
109
912
753
41
122
256
516
603
816
173
526
405
927
61
368
265
410
105
923
565
432
924
132
479
900
277
127
217
662
453
409
115
830
731
30
779
930
486
244
938
416
461
687
669
673
504
497
880
850
205
800
892
505
65
643
989
29
997
756
500
685
650
408
243
319
425
723
633
968
97
533
222
501
445
92
894
91
204
725
718
150
329
713
265
258
117
932
902
310
86
367
237
494
16
237
44
732
327
358
499
684
983
989
595
249
716
756
215
800
593
67
894
937
862
4
688
538
679
605
315
192
375
894
125
665
506
741
762
81
110
308
53
42
537
770
938
838
223
333
932
744
342
157
518
906
357
697
558
284
483
100
162
319
262
417
308
212
679
386
13
357
400
250
768
701
393
41
970
801
993
903
572
491
567
1
328
467
452
672
524
770
552
79
803
863
361
616
179
711
447
822
420
823
395
525
930
22
370
113
370
691
127
765
201
158
412
347
809
752
558
157
306
514
402
750
321
773
409
829
908
98
486
254
278
352
40
985
279
985
625
607
156
841
286
349
254
800
349
255
844
271
866
199
767
633
717
532
939
771
802
867
618
587
453
836
701
789
481
959
215
38
213
230
581
238
715
216
441
815
270
410
50
84
706
201
667
680
725
658
960
372
371
870
460
841
558
988
226
273
773
21
227
922
869
443
401
531
470
720
210
379
821
351
722
102
606
621
879
586
962
375
98
448
380
154
325
877
587
973
146
421
924
919
499
982
671
740
800
416
882
778
506
809
753
790
894
689
408
893
544
517
360
527
695
532
906
910
546
666
831
329
227
25
863
268
339
909
121
239
592
250
258
36
213
564
261
144
789
850
707
119
374
662
507
277
823
87
459
721
600
896
617
292
189
519
677
357
423
162
735
349
246
177
601
485
86
893
249
642
725
654
555
639
532
66
200
778
154
408
580
43
901
80
820
306
447
124
936
601
63
292
995
953
579
666
962
617
203
948
617
651
21
594
218
867
928
30
963
332
903
918
302
514
752
827
943
840
244
303
710
144
341
784
747
823
501
158
986
487
67
89
458
211
578
780
347
551
492
106
907
323
669
501
913
476
379
332
71
833
367
44
563
836
196
563
285
882
952
664
552
971
358
777
14
958
805
227
146
198
401
165
842
905
573
628
247
512
129
449
773
766
388
222
144
636
807
830
740
838
85
774
523
479
492
954
863
906
642
732
679
293
321
881
333
72
360
889
911
455
796
456
317
610
920
823
301
34
916
298
212
896
478
543
201
835
692
757
470
514
343
71
708
436
615
646
12
835
114
583
796
294
61
442
662
824
941
530
555
193
162
130
319
899
366
102
604
929
186
630
207
280
512
409
842
496
379
885
450
454
384
884
513
173
884
100
429
291
281
130
572
459
269
837
830
31
412
274
167
750
776
386
659
187
865
62
513
794
155
185
907
110
993
125
396
38
625
494
321
62
570
917
54
997
847
186
406
7
957
427
470
346
260
568
556
489
956
2
472
880
182
325
373
19
584
19
233
425
958
833
687
777
718
655
162
766
762
802
234
548
951
588
659
335
442
828
147
492
19
605
199
329
761
770
808
881
609
66
917
48
167
507
961
788
605
83
586
950
848
778
476
315
196
380
825
147
242
915
583
990
695
686
165
991
716
526
386
866
404
136
472
299
65
825
722
519
678
169
963
32
221
644
186
634
893
101
9
456
507
179
367
12
563
360
708
20
474
766
137
291
709
109
374
864
23
528
695
594
813
818
106
341
713
183
562
468
856
947
518
589
502
994
831
945
865
802
549
550
977
672
155
80
472
543
642
745
550
910
533
705
449
894
516
710
595
249
975
532
830
215
103
808
250
923
499
429
165
844
649
627
666
495
761
648
299
772
771
492
86
828
262
813
171
578
649
618
423
78
425
545
907
716
319
159
780
75
408
264
143
301
936
773
4
311
501
963
759
406
724
991
821
762
738
943
575
641
577
599
599
531
708
437
512
769
209
262
86
631
397
71
236
146
892
265
427
408
193
663
226
959
331
292
55
676
765
777
469
757
234
221
908
471
251
821
756
788
746
160
526
803
512
49
944
303
970
364
480
45
401
415
547
132
247
64
881
181
423
809
725
927
444
977
860
523
497
290
289
619
150
92
109
590
708
195
211
714
726
396
437
273
374
941
425
584
10
918
811
360
848
576
936
951
405
896
819
995
52
90
982
808
779
196
305
612
65
106
685
205
541
502
701
180
996
216
147
649
97
329
298
326
733
469
231
509
508
758
43
252
465
594
265
771
162
172
565
605
811
936
983
632
410
257
876
658
865
406
983
25
255
141
47
825
442
269
46
276
610
71
990
194
449
608
333
2
518
871
465
222
422
51
642
944
849
778
309
976
954
218
466
712
710
103
474
201
710
260
415
435
942
846
386
746
620
674
154
800
699
721
221
479
797
159
460
668
77
871
585
865
996
846
495
94
158
580
314
917
938
32
308
153
108
716
289
424
362
33
877
112
587
742
459
444
38
393
925
853
367
553
780
133
692
896
573
233
915
516
411
193
167
979
239
696
776
704
415
827
794
555
399
55
956
45
229
306
336
930
149
977
233
536
989
165
110
737
875
521
726
60
721
41
774
62
316
76
582
752
171
684
383
173
677
693
865
3
823
804
777
563
849
606
407
448
416
212
83
31
792
598
129
367
891
296
807
415
223
889
431
882
928
958
16
25
673
387
575
215
652
343
884
762
309
811
303
559
6
958
974
775
217
17
495
270
910
611
444
119
18
548
55
838
638
569
695
358
126
30
515
192
149
573
911
13
231
850
64
30
543
545
798
263
583
454
219
75
73
718
245
552
243
817
454
211
321
822
906
137
402
347
879
382
114
647
311
163
936
322
454
173
451
633
701
407
144
155
31
897
69
292
165
545
735
674
297
453
930
57
800
288
924
930
59
665
874
369
929
341
332
315
676
219
19
162
601
505
199
627
136
15
793
728
937
587
62
341
814
266
421
187
891
791
996
889
241
637
255
533
737
987
889
590
176
186
115
504
39
368
638
831
828
929
793
974
173
62
797
679
421
264
955
36
703
946
535
346
441
488
596
408
962
950
586
682
138
697
396
469
761
241
669
306
78
778
573
979
361
155
565
408
958
381
157
232
286
52
910
925
903
785
606
821
98
233
800
308
822
416
316
204
798
299
469
499
645
822
691
704
84
368
941
802
137
9
839
947
404
651
575
65
896
266
756
747
248
505
766
575
375
596
639
832
221
731
374
740
270
911
318
362
862
12
415
595
270
627
664
471
564
315
486
200
628
151
14
367
82
948
189
89
912
347
613
792
436
831
590
569
983
54
753
525
816
716
308
525
356
329
57
832
691
57
637
285
713
624
267
776
743
799
218
490
610
558
744
934
77
621
213
429
345
789
790
780
140
408
762
364
832
64
785
934
247
110
94
972
241
366
411
569
557
304
55
960
269
707
453
404
267
64
385
966
723
912
874
421
110
876
548
398
408
857
77
729
238
111
868
707
714
923
486
159
367
747
389
641
224
993
408
879
673
809
51
69
699
529
99
187
975
867
173
923
532
830
9
908
580
436
129
341
393
303
984
275
980
470
915
130
826
116
99
178
88
214
25
148
779
252
920
49
356
185
246
549
266
391
563
237
621
590
279
73
167
502
946
44
479
401
816
973
107
734
901
957
715
455
576
615
906
183
509
297
317
229
272
336
904
261
470
39
129
462
560
975
520
892
151
714
559
484
730
946
27
822
370
844
225
785
503
237
266
393
216
57
739
841
743
7
11
731
709
268
443
266
252
351
779
740
388
641
26
964
252
641
273
74
681
474
327
404
996
663
206
174
412
948
835
364
768
709
32
718
591
115
54
354
49
648
431
682
124
573
57
975
42
997
346
456
192
810
806
180
730
575
488
663
622
572
15
317
560
99
490
14
771
125
162
684
974
627
131
773
578
574
967
281
428
647
989
57
557
527
40
489
477
372
904
191
152
817
191
285
996
520
621
41
363
748
928
118
729
535
505
924
831
797
491
267
793
299
278
830
87
226
363
32
970
169
259
585
756
482
147
620
207
905
937
228
77
578
892
525
602
414
121
411
901
409
826
124
78
321
633
925
319
797
69
999
449
975
371
971
270
35
245
51
970
420
410
544
475
553
436
643
858
453
685
79
724
70
248
501
439
460
238
285
461
65
130
722
40
773
191
28
555
392
799
995
779
773
27
219
968
790
684
328
522
396
426
758
827
861
601
888
448
474
179
502
638
295
977
600
116
23
378
937
552
92
913
548
999
505
691
51
691
966
786
207
641
792
316
20
862
349
364
36
541
210
572
440
682
435
100
10
85
896
345
149
260
260
154
975
717
771
937
820
179
870
309
218
537
962
405
275
403
558
16
107
284
557
359
356
832
526
124
637
66
570
844
791
744
843
928
483
297
219
440
853
885
458
862
842
529
640
826
569
758
952
596
657
822
89
148
111
51
29
833
427
402
790
26
551
732
683
865
79
100
661
721
704
191
628
629
468
510
375
543
355
14
615
808
757
197
593
589
628
152
987
153
539
684
165
215
390
685
592
754
977
539
329
206
31
772
191
414
678
555
864
239
373
829
875
864
342
876
771
912
352
845
167
935
582
831
612
184
252
367
661
607
326
8
671
917
283
780
15
92
938
427
309
903
996
523
603
679
639
125
542
282
983
868
943
77
391
210
670
941
271
588
929
568
860
203
876
149
616
800
257
979
960
783
228
30
941
75
909
797
982
444
174
347
177
3
565
5
488
329
404
36
730
190
866
520
349
582
409
522
100
357
815
279
124
335
370
882
363
521
100
320
534
60
122
851
70
42
240
155
984
681
79
111
323
418
172
377
770
804
85
640
523
877
451
185
710
827
289
737
810
532
505
94
943
484
173
294
91
917
563
864
662
180
820
531
569
222
950
295
314
473
880
341
658
851
341
903
423
847
375
764
349
629
43
149
229
639
629
184
683
97
70
261
779
570
785
887
322
371
869
597
623
337
761
566
641
586
490
451
948
959
214
238
947
948
566
768
700
808
13
395
497
672
707
697
232
470
985
964
962
754
149
74
543
925
973
374
176
423
136
128
136
596
679
975
305
21
243
928
970
688
39
584
403
422
460
200
725
718
574
387
411
730
128
445
100
878
296
599
343
950
994
381
219
171
575
40
428
6
255
433
507
296
125
705
867
472
6
391
376
949
858
684
789
664
160
238
907
929
69
613
436
334
246
413
155
141
595
721
759
83
128
86
197
898
222
748
833
992
590
960
438
330
100
530
220
636
61
112
454
551
716
601
920
952
585
397
921
365
914
918
809
634
845
444
669
135
56
11
146
318
442
869
879
331
110
985
952
861
811
187
872
440
578
513
43
533
917
130
213
702
778
432
562
72
765
741
14
246
148
760
224
743
239
622
93
301
173
290
44
676
11
518
32
816
699
981
805
88
94
704
919
626
531
473
5
483
406
449
206
288
765
575
339
872
564
9
88
804
106
847
196
473
268
820
837
633
595
458
879
794
554
250
525
609
488
988
611
333
800
252
548
257
259
158
800
146
95
460
257
568
152
828
283
154
884
544
41
289
718
397
684
981
183
968
428
853
747
237
878
161
390
728
724
211
491
985
684
942
992
133
626
581
708
658
840
729
407
33
532
384
45
850
825
606
414
275
928
427
385
806
567
284
671
375
927
28
21
253
627
243
441
443
881
370
871
410
322
366
503
679
860
8
219
929
324
560
670
205
776
97
533
803
756
293
355
944
993
782
403
433
761
943
276
628
42
155
960
606
279
950
984
417
297
620
106
128
428
57
190
516
33
94
969
635
273
714
614
568
47
943
964
334
253
211
599
352
381
518
751
483
943
760
823
632
850
827
344
104
797
695
383
530
591
181
426
128
511
927
765
102
305
97
66
336
524
602
269
193
590
510
429
147
860
288
756
883
721
131
651
21
172
248
993
558
886
332
782
787
368
385
362
639
793
264
368
553
99
383
876
600
817
412
259
454
654
521
64
937
582
970
296
545
536
358
423
696
134
827
870
720
339
177
988
518
895
334
194
535
683
276
204
695
345
393
341
820
141
65
803
192
860
197
582
36
899
908
491
153
926
571
733
493
600
295
874
156
937
207
330
724
973
695
635
883
313
915
582
365
650
145
687
301
76
214
584
851
704
779
348
407
126
616
354
171
919
971
489
763
963
106
681
708
178
601
100
254
880
777
375
678
405
757
292
416
0
209
139
590
88
642
679
260
527
163
255
105
495
170
930
959
201
648
868
877
481
987
304
821
54
832
802
553
311
783
403
364
549
735
551
848
41
576
49
250
227
440
555
364
683
415
747
196
674
583
902
549
552
662
101
685
534
128
601
797
551
991
471
762
631
389
383
882
372
343
679
249
356
146
878
24
674
632
889
724
929
674
987
357
105
147
29
272
921
505
538
875
308
549
730
987
424
431
589
56
681
817
354
88
457
576
330
938
337
234
868
114
668
514
482
40
232
247
685
942
968
516
53
124
101
116
392
458
921
642
740
374
74
338
487
589
999
97
692
144
11
944
949
45
863
543
206
807
401
228
180
729
447
129
528
772
860
945
452
557
527
460
902
108
211
443
318
342
953
242
40
312
306
454
518
534
575
515
362
192
630
910
574
410
831
954
126
436
535
159
781
893
20
864
661
855
336
62
133
280
135
909
969
211
297
951
166
664
835
510
768
525
722
759
575
834
211
836
991
466
399
166
233
639
844
557
81
390
995
320
734
938
256
153
253
35
521
339
690
14
604
372
82
467
603
191
39
72
46
346
842
379
164
14
581
259
84
596
772
843
884
825
385
660
570
277
635
791
686
166
824
800
851
371
818
274
583
4
287
795
746
173
659
947
505
483
285
818
518
629
481
251
391
597
757
238
218
777
641
961
784
275
553
686
658
81
90
582
510
490
233
893
161
365
997
7
2
245
914
471
151
550
552
286
587
626
79
371
693
500
56
158
591
716
532
931
799
219
718
6
466
217
887
817
336
170
348
377
392
592
363
168
423
478
441
435
925
584
535
925
527
738
678
495
406
399
185
678
656
977
108
607
925
49
167
58
783
187
519
559
109
48
753
758
34
760
875
118
740
560
902
220
634
107
655
961
560
0
608
219
443
493
929
311
703
766
421
254
306
613
833
4
711
520
702
391
713
874
147
306
2
971
779
512
953
974
892
987
287
103
452
215
798
167
358
69
300
130
961
640
916
585
450
371
839
696
683
906
432
26
318
240
308
833
71
702
718
397
909
469
971
628
230
296
15
679
422
675
157
611
800
980
996
522
721
532
302
229
326
986
553
172
131
229
375
884
83
592
708
527
470
93
445
16
135
688
519
71
71
180
706
235
798
982
885
767
17
938
841
102
222
773
383
680
434
647
293
352
148
209
513
771
612
828
239
811
2
222
841
174
9
530
72
63
84
993
651
736
439
439
374
88
804
556
917
942
44
969
529
131
989
861
437
152
991
167
218
267
600
337
295
529
387
415
367
106
693
622
106
52
994
279
338
985
996
947
77
927
697
575
891
239
292
197
274
433
389
54
342
958
671
847
332
281
964
163
177
941
510
876
374
712
563
109
489
398
32
281
809
609
639
312
938
977
824
673
600
109
916
689
638
189
373
258
653
435
712
559
728
671
626
983
744
187
875
704
995
443
79
256
529
538
648
448
333
19
974
663
784
484
209
639
177
465
956
440
915
174
122
913
735
652
7
892
603
939
57
685
609
361
194
591
964
113
753
93
299
526
567
522
876
565
84
154
87
997
111
716
943
344
6
688
157
947
200
399
409
401
12
965
108
912
619
569
590
696
787
393
543
619
693
192
424
478
82
606
260
879
645
967
517
861
967
98
96
329
521
957
13
588
899
228
395
418
328
931
523
305
420
202
285
400
522
109
315
661
374
649
196
421
331
639
862
69
340
807
982
972
225
412
154
462
62
660
758
111
243
560
232
786
541
298
207
207
204
56
526
15
304
981
706
994
53
945
29
682
131
810
405
113
412
591
818
934
559
757
277
35
934
280
970
19
810
381
194
850
883
191
179
411
321
561
794
497
728
190
364
190
726
906
558
721
695
477
333
852
542
580
197
890
202
363
742
995
565
796
876
142
242
665
959
956
521
233
128
320
173
292
189
548
688
181
441
852
985
572
823
193
910
441
763
301
513
350
314
675
352
463
431
51
32
94
420
810
385
125
420
700
909
684
559
356
895
179
340
585
65
826
952
685
500
538
458
392
942
110
997
701
243
198
32
249
932
643
243
694
126
463
322
603
971
378
297
414
797
89
580
154
76
249
894
10
873
79
266
388
270
530
297
258
56
489
303
278
80
492
72
737
697
276
375
320
245
585
162
138
334
350
333
153
856
979
936
228
836
425
758
507
105
464
691
601
199
461
725
514
62
253
651
911
286
588
981
801
461
871
142
309
191
778
245
558
737
21
575
861
562
75
55
738
202
27
681
488
324
180
671
305
955
557
612
953
453
436
679
2
427
226
367
121
420
537
789
424
560
61
200
117
182
538
668
916
194
271
92
512
878
587
665
462
980
137
670
954
509
658
409
725
616
818
448
933
69
767
787
876
610
419
359
86
925
265
826
892
223
657
362
238
75
23
585
569
465
923
394
38
168
211
574
330
972
918
90
164
354
588
748
739
959
45
182
894
398
996
829
484
836
650
352
640
679
782
6
495
264
482
952
869
988
951
36
926
456
70
528
4
606
876
249
260
121
657
329
117
366
477
129
953
915
514
180
423
507
529
421
290
702
171
432
810
634
248
723
405
343
632
922
978
584
796
40
308
554
612
587
491
107
2
752
215
990
995
492
736
508
209
955
853
414
714
637
852
369
396
354
59
844
341
63
17
305
852
342
956
531
673
520
115
646
481
742
373
819
321
507
378
25
422
120
874
659
632
950
294
632
336
14
175
409
611
930
992
905
432
937
234
605
173
312
104
794
121
654
821
171
20
567
895
608
318
856
744
849
396
321
475
60
157
446
697
593
108
638
801
465
658
996
111
234
423
191
308
854
668
321
498
271
723
463
42
787
58
528
892
230
158
493
987
329
853
703
960
685
171
148
749
853
766
48
28
431
53
776
184
560
646
328
113
771
285
559
733
471
771
408
640
256
80
479
372
371
259
826
884
783
793
886
43
957
961
988
282
370
290
280
228
490
857
752
614
131
13
98
950
205
671
488
643
76
170
850
933
456
364
596
84
964
404
110
766
575
789
677
704
7
487
994
66
813
545
193
857
907
715
893
859
127
974
788
100
864
137
297
272
131
345
327
694
619
713
120
877
56
430
818
909
293
256
753
517
371
636
774
50
817
439
306
665
933
699
432
444
515
400
111
161
474
677
162
116
542
294
490
522
594
266
658
631
103
78
690
633
772
0
931
381
14
670
884
949
972
466
107
191
78
111
889
695
706
97
861
747
543
767
379
500
460
628
98
805
414
486
608
454
988
118
574
197
780
645
917
133
583
986
812
982
683
495
336
142
679
943
219
772
463
657
430
119
505
326
274
810
568
216
172
450
665
802
651
344
610
364
398
124
190
795
836
971
695
705
534
685
453
230
644
364
921
521
935
219
777
962
37
501
634
989
771
976
178
984
20
440
994
657
401
11
1
659
493
625
261
872
22
441
7
183
455
195
573
678
46
69
603
320
910
143
904
373
792
611
234
400
841
396
993
994
943
884
405
513
377
579
345
139
312
537
220
175
216
508
558
40
159
453
400
799
787
31
140
68
320
252
72
664
96
424
429
665
85
94
565
977
285
69
596
568
108
493
879
839
800
5
98
26
479
951
313
819
155
423
3
733
451
470
205
493
647
220
443
815
52
476
698
236
913
872
976
80
724
337
326
824
253
146
508
334
432
327
768
593
196
945
840
558
378
834
25
351
682
228
886
318
849
666
760
384
335
22
72
557
196
756
191
105
257
845
859
951
777
389
636
31
749
351
877
390
45
798
963
898
593
339
966
336
812
802
61
105
225
505
861
696
597
887
204
433
447
970
555
610
581
668
837
101
43
86
319
934
571
168
312
679
724
373
288
600
491
839
680
198
960
337
879
492
115
478
29
199
946
279
480
601
518
516
537
934
550
821
23
596
511
154
706
514
586
466
411
711
962
189
941
750
6
312
963
498
738
338
942
688
30
481
172
464
101
445
975
48
529
193
205
94
984
933
842
242
476
85
532
782
577
849
23
715
597
8
110
485
296
47
658
319
853
17
175
51
327
659
782
198
860
634
381
109
422
557
675
255
580
955
15
281
940
382
644
147
875
640
250
90
532
232
521
436
219
227
198
936
215
361
633
660
556
711
749
444
111
399
722
952
373
16
49
564
424
372
812
898
792
632
323
745
31
361
235
12
415
968
781
238
118
439
415
298
370
747
966
457
698
248
682
693
992
249
450
14
649
422
55
960
478
476
195
716
545
362
549
769
10
16
261
985
235
599
321
37
486
790
899
113
941
783
523
967
395
696
245
833
62
81
893
327
483
706
702
401
342
665
316
22
929
494
175
312
787
745
186
378
925
535
166
902
510
162
258
319
371
641
146
797
307
327
520
714
55
155
999
318
880
397
430
969
316
319
558
93
360
380
951
82
176
233
522
158
327
118
148
29
140
518
924
369
672
128
319
27
422
565
668
819
782
735
460
907
202
777
50
174
270
44
848
210
45
406
335
901
617
713
145
279
467
829
801
646
968
486
644
846
243
852
442
566
988
757
558
77
339
889
155
51
440
359
112
932
894
365
301
397
148
201
708
917
25
50
712
455
509
451
833
867
689
464
269
640
642
550
473
967
578
153
280
520
570
688
839
988
901
621
641
885
776
815
490
25
381
731
197
79
154
803
641
171
261
509
372
613
231
863
277
835
867
576
364
15
504
522
855
62
4
409
295
958
7
69
904
50
103
365
722
307
531
268
862
871
334
525
227
818
410
960
940
391
855
358
887
483
359
100
909
270
335
812
487
838
553
949
414
24
298
442
508
752
283
673
261
819
654
180
214
109
707
797
957
844
491
687
921
201
196
799
472
85
44
736
256
127
955
647
894
968
126
777
683
205
868
179
762
215
82
729
314
52
870
585
150
210
712
744
17
887
58
788
246
500
766
103
605
72
719
306
936
203
454
834
759
43
215
1
274
925
405
746
606
450
874
767
659
453
31
421
968
201
813
485
371
327
577
504
303
60
939
5
948
22
16
946
651
535
10
425
57
78
18
813
393
727
303
130
592
294
469
562
390
592
27
350
59
764
18
316
601
973
38
959
961
976
822
464
658
419
469
671
226
599
831
354
436
113
626
950
215
563
305
288
657
784
611
811
240
973
887
977
65
276
707
105
576
1
869
657
9
526
319
696
597
169
495
912
727
377
244
350
279
235
217
769
971
426
162
409
408
441
476
0
260
468
409
613
586
831
899
884
225
53
943
890
841
444
729
252
400
143
997
517
516
537
153
365
159
38
376
311
466
177
925
422
728
43
437
497
290
963
858
223
287
57
968
534
561
469
996
996
22
879
91
902
816
519
207
758
509
781
591
727
836
962
148
309
52
215
816
397
671
997
346
66
676
499
326
522
849
803
967
442
302
189
25
256
890
983
376
143
343
987
442
932
414
166
694
19
515
904
952
688
635
83
58
77
486
599
141
307
903
537
992
210
391
863
399
267
415
235
872
654
796
817
915
145
90
602
129
662
472
341
256
196
925
269
469
79
61
978
520
622
145
508
809
159
879
284
215
111
284
488
551
105
109
555
286
509
69
876
888
560
315
103
994
156
225
693
317
964
762
540
576
287
713
445
319
134
29
238
583
990
873
870
469
984
630
675
445
249
886
3
396
742
658
157
235
791
793
948
33
730
51
456
86
428
314
354
965
617
843
233
889
557
451
973
351
354
451
270
163
113
875
584
612
980
922
933
183
258
397
615
962
925
81
830
30
749
828
410
204
745
783
862
129
153
766
625
927
717
628
205
817
62
808
669
709
430
546
941
175
642
298
985
127
141
760
751
157
380
627
484
123
56
13
963
416
524
507
993
649
990
178
162
315
581
251
560
250
433
970
135
39
997
561
207
745
659
324
72
910
955
760
966
976
788
30
864
570
665
521
846
927
656
829
871
14
227
371
826
541
181
149
496
101
829
362
297
201
71
371
251
337
628
100
992
650
26
58
509
232
640
784
572
368
499
558
980
58
949
361
670
147
665
262
773
931
30
897
488
128
517
282
214
503
730
769
792
619
239
832
203
835
567
140
504
587
189
575
627
105
226
874
975
485
979
662
269
244
166
556
610
79
403
737
600
789
872
903
421
248
404
180
29
582
609
886
607
867
309
317
916
523
753
100
929
233
989
729
959
698
395
60
301
498
282
755
95
991
945
768
508
542
139
576
373
644
945
53
656
397
610
877
524
112
731
792
456
387
974
105
333
74
618
688
380
266
879
96
985
583
461
995
308
188
771
663
767
966
562
379
431
467
650
162
191
553
156
11
212
991
164
581
897
114
137
146
845
861
199
452
724
576
603
900
537
115
857
899
427
703
688
85
307
520
630
525
379
75
358
409
652
785
521
185
471
781
473
616
84
922
444
918
783
875
823
410
224
785
436
840
428
62
130
160
998
28
480
706
213
820
406
232
638
256
42
377
588
377
449
291
302
999
539
14
276
497
851
17
240
539
234
859
437
925
402
641
724
27
872
835
266
286
5
510
111
520
265
828
164
743
699
902
230
758
506
268
172
230
391
806
579
672
399
352
828
160
668
370
101
750
512
478
4
964
670
18
312
435
348
334
668
948
298
637
357
584
124
543
733
368
234
321
641
324
801
663
35
249
152
746
895
327
350
831
919
654
539
525
631
872
313
993
670
11
414
841
994
852
26
164
911
832
250
450
840
366
697
335
654
216
64
106
819
920
951
4
675
470
882
96
422
420
293
0
87
721
387
943
911
882
769
544
606
170
882
132
481
263
100
255
968
172
760
241
506
97
143
812
1
282
529
331
402
446
753
761
943
164
412
604
307
290
356
158
781
656
488
143
932
871
305
725
740
32
38
726
500
855
389
639
402
4
673
381
509
746
436
750
883
560
790
800
494
720
595
675
864
786
656
681
361
960
238
158
91
101
570
780
272
717
885
512
59
382
145
618
19
708
503
249
738
521
353
926
338
657
4
132
8
838
536
913
642
963
672
47
591
821
486
844
278
101
822
611
542
755
33
938
827
946
319
653
27
149
584
596
668
604
13
222
193
133
672
398
703
238
918
710
778
261
109
178
641
630
55
786
609
221
564
309
504
857
98
436
430
800
976
92
315
667
951
80
764
621
157
881
631
993
147
84
595
482
763
348
142
512
215
75
231
261
566
534
153
185
955
104
488
261
644
759
170
94
17
434
509
267
576
485
613
208
48
643
542
377
296
112
105
240
235
803
497
230
370
830
873
388
643
325
192
529
529
476
555
142
161
892
727
757
563
777
253
472
573
812
594
177
76
38
965
599
893
795
775
189
432
352
287
631
796
405
191
322
87
490
259
692
291
898
671
681
178
204
818
467
188
970
346
67
108
865
869
505
502
407
340
638
307
141
11
521
731
796
200
990
222
24
169
67
213
550
684
262
613
761
436
915
962
657
106
779
205
80
48
245
110
356
497
443
8
263
270
450
434
283
971
467
148
75
305
464
927
446
614
287
12
114
90
124
792
169
554
981
882
252
170
375
167
407
10
582
334
762
400
378
834
369
9
902
983
341
71
334
500
854
584
668
829
520
940
271
598
579
248
871
376
873
407
266
410
237
393
363
467
815
637
909
342
516
60
716
460
400
50
414
47
849
635
655
549
392
19
234
336
682
441
442
793
512
305
968
205
574
350
529
442
67
639
62
406
60
584
891
752
390
690
681
377
288
503
868
550
0
284
711
126
931
507
615
408
90
194
398
483
737
323
638
405
255
401
833
795
614
266
25
943
519
535
135
341
216
471
455
427
719
549
8
16
120
818
826
166
807
299
140
223
401
543
257
904
941
717
750
654
147
340
78
957
814
705
412
164
464
966
305
175
692
671
717
135
490
676
960
46
37
589
442
793
133
114
294
698
741
958
28
820
148
628
439
861
655
518
713
712
477
592
511
812
729
13
55
470
219
244
651
498
182
474
193
831
211
110
189
126
413
953
955
497
254
161
82
68
494
418
109
797
961
525
664
849
441
914
53
297
799
580
901
267
626
877
488
807
951
304
255
597
757
448
609
572
463
577
107
357
215
662
942
252
995
653
942
181
948
912
504
269
154
739
25
137
678
805
756
810
870
46
255
7
662
851
706
709
134
160
783
732
472
797
71
153
366
91
31
85
230
660
518
73
208
944
975
380
941
757
190
943
296
412
443
959
365
669
86
319
3
721
728
440
629
435
340
117
468
894
110
173
391
854
860
998
620
454
720
754
998
908
510
964
950
368
847
569
166
588
681
339
366
931
542
294
279
745
103
399
904
657
646
680
681
110
699
5
435
194
870
213
8
744
955
6
556
980
921
93
237
202
838
554
242
767
310
797
387
913
440
647
138
313
394
484
223
137
837
673
307
792
114
239
754
262
661
447
725
963
34
617
381
812
525
789
485
215
785
219
158
385
732
821
383
909
729
106
961
275
205
120
353
955
254
152
956
142
164
863
450
631
419
646
39
921
193
308
372
79
19
154
141
291
999
635
374
441
527
708
129
379
491
304
282
711
258
119
404
431
774
823
484
655
229
726
838
647
680
159
742
594
715
168
879
992
999
247
983
319
137
96
19
163
753
640
422
595
974
794
27
561
858
276
405
125
242
599
18
293
991
548
701
461
222
822
296
873
979
822
877
122
441
14
317
137
575
707
823
28
131
516
564
765
969
719
546
208
161
69
256
2
303
958
959
15
604
697
978
730
657
515
419
247
860
68
587
595
880
948
643
841
199
358
68
612
885
411
290
717
827
341
817
180
97
185
119
851
713
710
125
63
947
930
607
387
665
346
633
560
986
608
77
554
76
112
649
181
170
952
426
529
106
977
667
62
550
885
7
488
905
401
536
693
762
786
89
55
709
656
193
728
480
758
971
822
632
305
371
718
208
801
679
815
872
246
58
507
98
19
761
616
797
280
169
445
783
49
184
594
906
991
125
239
588
21
3
538
579
440
578
322
960
919
358
799
924
725
719
164
146
806
231
912
906
313
32
705
752
976
60
136
295
206
895
272
654
443
147
621
98
138
104
485
142
76
133
387
447
987
621
988
440
576
91
754
603
744
467
700
346
363
586
844
63
144
511
118
705
583
627
79
442
677
914
776
763
22
280
54
113
848
693
883
761
250
466
730
488
705
901
479
119
82
876
621
717
159
661
154
630
129
887
885
101
3
418
834
139
576
138
2
313
8
199
434
731
498
216
192
235
266
872
299
965
344
646
747
575
2
576
784
662
168
55
857
23
349
164
995
903
411
163
102
633
754
957
732
874
982
639
808
527
384
491
635
312
898
336
30
605
870
842
930
313
58
662
558
253
811
45
304
43
942
412
50
323
720
51
343
879
778
387
959
524
399
232
688
524
592
485
634
649
605
540
830
850
727
618
722
611
657
613
616
733
31
6
578
111
743
639
944
302
281
401
968
723
506
442
262
298
176
493
64
903
681
465
732
932
165
419
287
539
340
231
575
296
5
698
117
179
147
98
259
556
252
123
768
466
155
766
39
710
968
9
425
835
822
171
919
952
506
907
294
80
492
537
445
897
972
207
512
169
225
184
470
531
311
55
892
318
765
42
472
241
406
545
767
280
11
291
539
212
997
54
539
128
554
930
721
415
768
674
348
703
136
938
331
250
593
620
981
306
60
491
32
485
531
571
317
356
253
105
576
326
988
303
921
335
827
499
237
444
554
519
582
93
896
742
982
998
263
55
768
745
196
937
800
453
99
508
683
194
113
606
200
185
371
563
390
954
18
926
721
554
549
385
417
939
507
864
292
833
394
710
961
52
297
610
0
362
102
485
816
199
215
436
257
365
154
207
593
128
747
182
401
459
192
192
72
235
32
743
468
20
274
27
879
626
383
331
711
183
357
565
997
696
579
114
302
65
713
302
429
287
774
213
939
749
847
125
399
615
372
684
637
875
651
259
25
636
77
472
665
527
815
566
208
747
878
415
879
568
39
530
275
926
81
707
630
340
48
698
920
171
991
762
780
908
608
968
231
403
84
912
130
779
158
376
762
276
749
646
992
710
193
877
136
614
699
24
758
888
569
37
643
614
391
940
159
451
193
496
211
459
711
994
368
294
530
761
710
386
469
695
545
831
613
469
221
622
236
682
460
686
161
412
655
451
692
847
376
451
454
671
996
574
28
563
200
712
202
161
589
320
831
522
30
233
162
535
882
93
898
725
65
403
81
769
410
983
959
777
557
567
574
581
473
832
948
807
258
676
244
574
326
885
544
401
925
65
2
435
252
526
238
674
608
623
977
186
77
329
543
249
18
107
869
925
93
68
70
319
620
532
472
686
916
973
574
596
903
613
965
344
119
36
763
45
946
295
999
286
872
790
303
666
380
104
831
953
297
416
571
950
800
32
375
899
251
415
808
245
991
901
217
667
589
227
866
245
452
271
815
666
77
202
677
366
282
339
87
350
160
141
344
366
913
181
322
476
285
535
811
981
304
703
157
928
189
468
87
375
284
564
126
129
94
801
475
444
847
947
716
771
447
668
648
200
322
76
940
546
266
146
40
778
615
960
772
604
752
783
6
834
24
328
54
390
206
287
616
490
9
604
60
281
978
611
35
66
68
17
778
815
333
36
428
973
829
264
815
428
154
910
774
575
33
868
162
446
131
111
785
406
450
847
603
295
197
16
530
488
68
707
29
923
982
823
500
152
753
442
487
352
797
32
336
836
613
744
785
951
591
791
706
824
753
36
562
268
427
648
679
633
566
313
646
973
419
881
557
702
733
123
775
617
22
685
316
13
270
998
629
383
100
783
954
183
53
439
366
858
255
23
590
774
52
121
246
305
157
308
595
726
404
450
110
798
922
332
271
327
864
239
85
671
981
824
926
226
691
869
409
775
792
561
146
460
498
676
361
984
797
818
860
933
16
196
465
378
407
516
954
958
988
686
392
424
233
638
669
109
215
29
602
119
955
614
143
538
115
861
351
709
877
48
672
101
750
279
12
686
54
531
644
271
965
45
315
53
917
863
621
862
382
284
567
381
655
32
835
44
433
383
517
154
824
487
80
912
953
94
10
93
88
767
853
562
584
652
490
648
448
145
151
266
801
566
300
909
579
873
679
328
712
619
68
753
381
540
404
761
31
506
942
121
300
374
986
641
409
150
458
738
119
21
757
271
649
823
332
948
29
787
79
740
233
248
941
806
97
684
223
546
706
541
414
2
616
702
722
127
552
524
188
158
99
828
699
210
686
101
79
407
329
740
615
960
350
218
404
163
664
265
518
756
556
235
850
38
126
892
129
916
518
433
167
627
618
208
708
358
174
44
325
294
334
395
194
464
858
91
707
901
299
452
698
768
684
635
912
119
473
988
143
946
777
420
770
182
915
558
187
132
874
914
367
401
579
629
745
957
4
198
988
562
263
371
380
850
811
905
113
221
513
147
199
288
173
891
223
543
780
776
779
531
881
407
275
628
614
387
16
725
832
110
9
124
635
701
518
465
888
101
5
368
988
554
656
769
5
405
554
703
716
991
692
582
117
66
806
344
516
406
755
18
212
852
686
783
701
139
797
877
214
926
447
255
77
892
922
503
618
31
64
35
80
658
525
442
578
317
898
142
689
865
147
399
218
792
225
402
365
696
473
531
130
678
101
236
107
284
43
192
177
925
597
359
214
37
441
807
983
724
926
190
16
774
449
421
783
969
286
722
339
238
661
270
437
42
384
467
558
72
40
343
602
621
259
420
211
216
271
789
11
358
411
814
956
219
956
998
617
748
375
558
437
823
890
656
162
409
536
757
917
686
399
67
895
808
291
825
437
834
185
746
319
79
323
600
795
706
16
612
284
63
18
216
215
765
86
885
390
398
532
842
564
165
982
726
332
248
968
176
295
265
526
500
583
110
387
61
224
160
727
238
984
559
658
14
505
668
209
672
339
360
749
165
493
338
148
108
681
244
173
617
409
874
950
866
43
175
147
248
660
463
1
239
630
763
830
557
855
581
955
65
47
573
414
597
401
717
132
749
123
905
913
121
920
966
100
695
803
614
13
899
831
253
406
420
393
807
407
422
59
308
591
831
475
259
894
854
235
725
450
253
664
857
683
772
755
116
562
11
906
662
14
982
632
694
244
151
449
186
868
111
4
221
897
272
740
259
905
666
567
542
814
156
745
793
288
179
108
191
544
17
525
65
182
138
19
794
603
45
60
659
781
393
534
648
772
342
805
801
590
49
123
192
314
875
883
679
912
428
602
470
462
310
506
923
862
582
565
214
509
772
528
513
705
629
518
204
250
924
899
422
592
843
236
789
440
671
368
799
566
825
57
596
273
539
8
639
987
452
833
403
782
74
435
228
808
743
38
785
440
604
907
938
521
975
889
209
353
801
849
483
485
839
170
843
85
311
888
486
395
173
531
738
555
112
225
557
84
225
377
849
348
466
627
898
697
646
693
177
17
622
319
908
544
79
329
187
374
871
737
189
299
211
318
431
379
433
478
212
434
390
508
782
693
157
987
633
12
780
212
100
754
640
427
845
617
395
821
727
142
423
870
748
683
779
291
518
847
570
436
769
84
463
596
332
950
942
240
934
950
934
914
138
232
725
292
677
796
419
156
461
234
273
706
975
366
901
615
119
749
773
673
895
423
868
324
681
645
334
474
961
413
194
364
995
231
250
934
66
674
573
779
767
352
546
634
606
415
842
505
380
30
638
38
240
491
621
440
127
817
543
925
170
764
670
842
725
392
535
215
292
482
271
863
765
656
902
163
414
800
729
511
145
918
255
786
752
744
948
730
625
46
41
830
714
712
908
679
995
700
970
208
842
706
977
49
784
411
211
169
649
922
27
146
590
659
182
516
615
318
231
89
938
749
865
686
693
668
409
60
492
212
839
389
533
775
3
310
343
696
23
620
369
480
688
483
690
427
153
885
535
53
832
513
847
208
842
935
140
205
734
226
191
852
683
529
357
5
851
446
665
178
102
779
320
995
57
750
699
887
249
757
635
298
966
967
209
776
591
181
503
805
146
537
708
406
65
871
630
300
467
292
543
742
684
387
236
656
510
690
512
622
371
116
869
204
51
317
96
279
254
594
623
587
473
452
104
900
882
225
929
810
41
682
2
30
374
740
655
985
513
675
238
876
971
283
321
89
899
930
240
907
70
650
361
270
157
658
300
110
137
341
564
431
431
27
668
810
579
122
814
626
554
935
554
748
725
346
951
104
873
65
395
178
757
787
474
838
195
632
41
623
863
984
766
581
350
179
405
434
33
278
177
262
665
474
623
773
309
114
512
440
186
809
883
671
643
406
224
823
931
647
678
230
889
602
814
379
296
663
41
604
270
624
155
796
92
881
156
445
459
7
980
870
139
532
208
278
72
52
638
406
681
557
778
225
964
364
53
893
413
298
479
428
269
478
283
759
380
102
65
153
729
267
285
122
76
202
73
679
901
5
10
932
768
588
714
244
586
434
839
181
360
811
210
160
505
401
23
650
308
917
6
371
415
667
307
991
858
374
976
334
271
535
134
154
434
86
565
989
48
345
379
113
823
930
929
569
216
154
910
925
306
10
76
530
630
71
500
407
7
237
765
970
63
937
189
807
860
283
44
482
229
330
864
9
704
642
690
10
401
609
497
851
482
372
88
392
577
497
662
740
284
706
439
449
209
967
149
807
421
240
367
781
672
258
797
954
553
334
801
429
562
678
777
359
646
301
975
137
912
408
259
290
886
862
968
746
346
12
652
324
808
951
35
378
25
314
246
97
290
103
402
5
850
552
433
428
978
676
254
308
327
741
986
822
2
241
639
931
595
365
399
873
894
220
116
750
953
994
552
368
824
630
334
0
690
915
641
365
680
204
839
469
598
65
236
140
326
800
914
712
946
76
218
172
384
701
116
258
698
350
772
963
225
250
940
182
492
695
802
945
14
442
225
7
174
307
837
921
76
354
620
203
828
685
57
594
56
476
259
804
270
552
370
234
702
436
87
520
4
584
882
792
692
136
238
710
458
155
273
725
691
417
288
81
470
566
836
925
837
123
182
190
41
720
48
660
253
71
537
446
169
501
802
2
407
692
160
637
957
624
784
317
829
504
379
894
46
309
958
807
646
17
723
447
195
557
852
324
377
872
578
613
725
267
504
73
470
381
877
205
198
694
901
548
547
91
107
622
956
575
687
292
520
104
112
904
710
601
197
825
323
150
118
279
516
602
840
873
163
220
760
237
41
517
198
270
183
93
731
569
268
116
909
391
550
167
718
959
327
871
825
630
795
268
788
846
607
499
86
305
839
258
892
591
217
444
152
822
864
91
872
362
281
713
390
571
708
289
970
179
744
924
216
455
189
225
282
797
648
519
263
544
601
857
46
230
453
72
45
408
392
148
623
232
787
6
710
554
990
931
794
765
697
260
659
583
804
522
891
962
81
300
249
645
943
561
671
259
780
428
367
390
710
22
496
616
316
11
522
542
912
774
107
963
665
563
147
260
502
256
951
809
669
982
841
719
38
140
982
258
765
624
532
465
556
525
325
701
751
453
753
268
220
512
808
215
49
195
431
190
45
394
169
815
658
143
375
401
687
269
637
405
293
241
268
125
636
351
328
884
427
405
965
446
737
665
848
959
500
997
622
810
956
472
725
591
729
307
420
557
904
301
267
438
464
205
48
573
643
208
5
580
238
148
262
958
367
460
359
410
440
453
21
517
988
419
104
641
349
392
938
164
346
10
844
529
35
90
307
449
474
379
341
2
551
152
367
325
135
181
588
901
182
210
558
577
56
488
271
601
532
761
59
327
393
26
266
355
291
828
59
700
462
792
199
270
370
449
270
142
894
944
416
268
178
209
308
877
953
263
349
50
204
303
796
721
347
722
229
682
227
201
712
711
601
918
554
249
477
8
842
496
603
366
181
43
823
881
870
24
346
336
162
211
998
936
490
933
352
303
791
260
657
637
785
115
494
105
618
939
561
171
156
776
454
61
566
942
241
800
715
840
331
757
217
918
460
262
320
843
445
219
152
848
324
59
2
599
99
779
470
38
994
219
944
452
299
163
330
804
726
652
48
904
50
482
806
212
829
878
700
37
944
131
236
555
27
98
128
276
585
555
932
354
348
920
68
291
304
893
827
476
906
203
595
856
347
757
905
968
786
415
928
398
280
840
233
302
273
760
608
386
284
391
161
112
317
177
43
975
28
845
907
442
112
347
236
280
539
486
862
275
464
153
337
368
825
575
99
670
409
310
557
779
763
205
484
557
410
69
960
201
339
251
931
708
700
668
937
551
743
125
787
323
96
439
983
496
670
118
97
749
564
614
686
545
316
766
642
579
702
909
725
540
910
561
63
722
550
347
775
721
530
967
632
163
727
482
229
588
171
832
494
611
545
7
517
559
787
578
882
773
935
942
132
476
171
875
473
446
595
369
545
505
957
931
904
97
97
297
467
150
74
711
543
538
607
242
289
183
16
753
421
130
983
820
6
896
123
424
296
132
904
279
362
575
660
518
420
509
665
714
408
445
507
119
408
963
701
472
777
719
835
283
538
955
118
274
254
798
906
613
421
32
738
290
713
719
484
674
212
970
443
725
352
21
90
8
629
314
756
986
939
447
212
477
422
916
224
703
330
842
245
622
594
229
72
736
366
410
395
962
665
667
426
757
835
904
505
754
55
767
834
691
663
470
149
57
509
298
921
446
301
83
695
786
182
152
576
341
312
109
956
296
792
429
728
480
971
200
339
931
198
431
653
794
74
355
813
414
737
187
800
924
922
953
604
175
682
525
889
288
380
641
582
396
786
982
232
809
672
614
946
744
439
778
63
677
216
703
257
441
132
526
37
928
897
913
797
519
463
939
18
99
664
287
4
324
972
332
691
589
285
343
583
355
653
451
463
672
83
394
354
785
623
374
181
332
226
216
787
528
836
731
792
553
890
507
531
114
284
243
181
398
432
647
166
720
270
33
89
196
887
463
497
825
364
676
411
115
727
91
149
56
627
943
304
191
314
531
165
970
755
109
982
719
512
412
5
651
89
24
647
524
640
31
555
259
101
261
842
305
289
417
553
109
77
684
315
0
627
947
827
158
5
716
134
790
619
126
648
860
541
962
681
595
840
466
430
685
941
136
996
263
113
216
625
592
913
487
482
620
153
939
193
875
414
330
520
721
177
80
448
640
296
337
58
66
141
61
939
765
143
279
18
450
251
462
923
751
657
448
897
939
673
9
173
126
871
492
311
58
252
445
592
935
508
647
750
90
846
375
396
433
5
41
718
622
104
376
750
837
967
343
625
403
29
129
514
911
266
11
895
198
548
596
322
423
272
344
234
356
744
363
98
52
46
909
153
307
713
484
993
826
161
386
43
467
1
165
999
291
815
935
102
170
436
278
151
197
997
721
462
443
307
902
599
373
972
581
510
315
744
697
595
505
538
137
695
848
513
851
94
413
429
327
262
140
483
0
731
862
794
215
638
857
325
535
536
468
53
258
957
895
355
635
57
687
684
909
663
456
78
906
507
499
695
461
515
608
98
42
254
592
231
107
807
70
743
883
884
483
241
783
366
37
120
197
582
690
334
118
826
577
290
762
468
891
42
213
384
497
368
755
955
612
798
493
411
821
343
533
24
450
157
436
992
121
881
142
617
612
368
906
591
434
983
726
328
662
105
530
832
632
871
480
608
340
241
445
338
437
646
77
301
779
549
434
244
53
91
316
39
82
268
960
356
816
75
599
394
918
999
466
334
622
510
403
884
15
587
641
416
862
535
699
217
89
435
77
710
288
432
137
882
717
957
763
147
624
455
193
21
323
560
150
942
782
963
202
508
903
58
870
34
361
818
433
479
274
115
771
144
827
929
146
435
672
921
29
729
819
70
927
915
800
926
138
238
288
251
87
666
904
329
606
290
651
596
184
432
225
809
892
982
670
65
556
770
732
363
941
848
859
834
1
227
869
905
141
314
434
855
522
810
435
927
683
995
674
440
474
835
49
220
837
196
385
154
384
298
945
437
339
796
296
226
560
604
822
594
634
194
369
564
835
342
49
849
872
196
466
697
372
76
913
826
609
373
162
669
798
676
128
398
86
896
702
525
984
596
841
269
923
3
252
234
220
44
351
143
599
629
535
431
733
367
164
227
648
27
824
398
909
317
752
24
377
972
422
160
105
649
273
482
130
398
253
75
744
63
409
841
658
599
308
754
57
368
693
457
4
289
488
858
552
326
860
327
415
581
217
782
837
406
728
718
295
261
183
823
13
577
146
168
811
789
930
168
727
153
833
393
654
658
361
181
32
304
656
777
685
466
260
1
757
728
752
896
606
104
350
761
807
948
663
90
489
101
818
624
574
195
933
425
636
243
808
66
875
679
690
698
895
690
530
624
434
284
179
543
651
748
53
766
872
119
639
34
58
328
903
258
677
480
898
447
404
612
554
308
348
85
883
529
206
179
294
765
742
909
603
876
487
383
221
458
359
360
596
413
535
295
325
997
772
964
53
581
278
768
868
695
995
124
54
661
307
737
385
529
110
457
379
624
839
871
744
399
888
890
419
324
813
220
171
915
123
161
35
813
969
634
399
433
762
593
24
589
532
744
297
753
961
945
888
825
60
766
822
70
105
834
870
438
660
99
463
247
925
758
713
378
403
805
641
918
694
872
192
874
492
56
97
582
164
822
336
99
430
766
557
122
40
775
507
566
701
860
787
459
761
728
450
617
391
444
439
938
735
625
793
113
860
225
888
459
523
688
436
101
495
562
410
550
767
567
965
771
226
706
21
231
181
633
991
169
512
99
651
953
661
599
693
51
499
1
795
811
888
345
703
226
83
140
955
33
899
763
413
767
903
93
790
676
675
179
331
347
715
331
80
522
505
993
668
808
604
617
95
753
490
355
379
856
100
410
334
308
6
712
772
720
536
943
933
684
822
56
960
118
561
34
206
7
434
612
905
646
852
485
55
21
713
323
701
23
943
290
50
82
252
180
64
752
535
718
856
55
313
87
563
15
436
907
750
878
61
997
84
790
569
770
586
677
615
659
623
802
403
55
164
711
937
625
84
152
348
668
388
261
784
312
381
244
230
568
969
704
814
117
939
994
253
758
556
655
287
595
851
89
483
173
226
924
293
133
832
802
973
429
789
797
959
113
639
166
774
986
307
486
65
186
12
128
875
540
30
518
234
724
551
112
876
119
349
941
830
587
658
438
935
624
772
157
564
326
168
982
108
449
852
438
180
990
119
860
239
23
999
568
73
535
859
872
2
500
153
283
56
830
382
897
956
557
509
81
230
952
463
641
489
146
33
997
406
545
373
223
665
617
343
280
929
527
648
337
835
66
646
121
989
178
929
912
263
578
754
17
973
286
211
211
59
979
403
454
43
234
522
851
760
369
744
216
527
383
140
577
721
707
118
363
306
25
153
897
950
935
808
520
897
172
598
387
448
436
422
682
66
492
935
746
599
546
743
645
879
866
995
366
638
468
219
267
260
112
14
156
661
738
560
865
795
458
514
495
816
650
942
826
966
796
161
948
120
24
604
167
781
338
650
862
955
343
544
770
404
487
928
591
97
429
730
153
719
736
879
681
480
758
682
208
631
676
434
744
139
322
139
776
244
259
885
872
8
403
484
73
860
501
717
603
370
628
722
104
625
526
997
499
457
605
825
586
706
982
873
467
669
713
694
530
297
620
459
358
907
1
353
211
290
532
811
835
244
863
607
384
93
125
407
689
538
492
900
993
983
734
240
885
180
792
876
576
792
248
211
151
267
599
512
406
659
650
471
949
191
545
557
38
124
978
943
362
604
578
249
495
318
376
661
259
557
347
341
6
934
297
249
252
525
329
496
806
174
472
417
348
839
17
199
392
143
943
800
693
320
312
696
856
848
733
82
209
31
982
170
665
813
875
315
625
848
547
506
647
371
611
193
820
334
50
729
754
444
243
193
858
615
975
320
65
134
685
953
815
91
529
579
325
186
758
921
125
105
856
832
434
776
436
376
206
71
81
666
981
976
649
300
822
984
927
350
519
950
799
910
249
772
249
921
421
707
337
564
559
152
833
562
876
361
789
91
0
105
932
630
521
235
456
232
196
523
131
511
691
873
742
860
131
228
783
223
841
387
1
276
15
781
316
357
675
685
944
529
226
726
669
698
147
271
736
980
330
827
261
390
145
223
763
735
870
527
734
46
575
290
210
41
170
828
99
966
332
895
967
979
283
752
778
18
596
36
796
108
715
332
682
86
847
10
22
926
213
893
899
512
659
59
409
595
320
987
655
840
985
522
222
105
345
294
21
998
504
543
853
870
191
85
809
826
479
71
392
54
337
411
259
331
81
40
11
346
565
445
280
303
172
999
147
239
155
638
8
831
785
606
905
362
659
194
513
922
113
247
879
846
711
818
733
82
190
130
731
435
727
358
690
598
950
930
74
437
589
622
511
230
541
564
253
225
953
77
250
678
183
962
633
720
716
589
297
860
420
789
919
649
13
514
293
139
722
144
797
981
830
185
698
991
394
108
137
705
694
820
846
654
864
424
902
144
930
312
489
675
819
715
809
922
572
562
645
10
508
577
540
283
351
21
682
429
529
68
470
757
469
874
586
427
741
344
891
715
903
124
614
226
580
244
22
253
688
68
881
720
108
490
716
463
436
20
309
535
1
173
511
477
195
356
293
899
426
745
99
784
809
734
362
888
156
679
113
464
274
249
498
404
8
515
99
971
685
463
961
506
521
980
809
8
190
145
952
405
211
412
165
426
272
76
462
373
494
411
588
848
40
130
482
368
117
115
874
329
728
569
91
511
485
870
242
64
585
360
374
813
138
915
304
273
900
464
483
640
229
30
531
192
109
397
256
142
24
667
699
528
575
141
288
337
568
763
907
577
816
873
744
886
946
83
806
924
250
469
978
533
5
754
447
228
310
615
882
210
453
159
979
278
364
703
943
259
63
704
502
998
287
429
977
955
272
737
665
895
17
738
891
784
199
679
459
160
792
996
121
626
138
306
89
326
303
844
636
874
19
53
11
196
685
528
434
206
203
897
95
168
232
50
273
290
480
845
28
652
180
206
720
944
939
319
720
923
910
47
989
317
532
776
815
596
242
73
833
211
464
110
68
337
181
90
886
827
356
833
619
537
225
610
760
292
294
42
144
31
354
629
355
505
412
412
902
615
73
756
804
856
842
202
510
202
139
462
123
989
399
550
508
227
306
926
210
12
990
842
482
933
580
830
220
794
529
9
134
364
809
515
743
698
525
663
78
316
744
600
94
964
709
577
753
684
803
222
727
706
716
460
289
449
541
421
108
83
38
903
478
853
279
504
356
722
489
390
6
964
482
476
310
496
862
818
237
180
963
281
77
179
937
536
263
222
961
890
927
64
602
654
297
94
741
208
898
147
235
671
513
922
841
995
315
657
52
507
974
827
760
746
46
210
843
468
612
962
269
914
578
520
32
219
517
832
85
831
951
159
255
957
568
600
326
232
9
697
903
556
299
748
286
259
462
806
128
445
786
230
801
339
408
253
659
834
158
954
779
685
19
443
176
297
971
661
629
792
935
211
288
211
581
109
824
881
74
474
497
194
891
699
286
811
547
538
499
597
946
462
293
482
158
46
700
809
600
340
705
426
171
285
863
266
970
166
167
898
360
921
928
904
269
245
744
756
9
735
726
231
213
999
282
764
95
291
895
363
255
535
435
531
786
675
870
689
433
926
596
971
489
474
521
833
784
971
243
299
210
126
313
357
171
975
128
237
266
579
530
255
976
657
423
372
662
104
955
454
950
33
139
218
213
288
65
835
235
138
704
903
749
315
757
3
901
434
769
85
529
179
764
788
971
974
648
162
806
408
244
556
803
631
191
143
396
17
803
495
840
979
434
957
461
709
300
737
363
256
722
194
550
626
221
399
265
661
954
471
5
116
969
832
35
4
384
642
136
382
674
444
731
448
534
692
558
459
732
689
996
2
165
389
579
418
485
855
759
57
385
537
340
442
991
938
10
766
678
559
519
3
512
454
184
864
271
723
656
119
854
657
714
932
319
949
795
327
68
804
111
451
849
12
808
935
812
21
228
355
434
449
197
234
660
718
561
733
341
985
353
994
576
533
484
125
589
932
690
956
948
164
485
184
692
855
764
415
136
463
238
533
127
506
628
758
242
978
386
278
341
148
675
639
61
966
468
417
212
542
263
343
151
311
553
611
364
492
217
472
989
83
31
529
165
229
572
849
674
265
667
173
754
721
707
793
662
218
704
587
64
46
571
598
357
119
191
40
429
854
647
971
592
641
393
320
48
323
224
96
592
397
858
823
762
843
640
703
300
878
679
562
988
526
287
231
721
406
812
821
605
932
127
778
940
654
724
780
942
943
166
707
346
880
322
347
24
448
272
393
799
91
642
864
392
839
657
337
475
181
833
382
995
851
838
236
81
605
543
548
944
359
784
526
812
258
656
851
250
694
118
323
71
291
171
232
831
960
317
905
583
307
852
80
97
446
748
115
986
332
492
364
315
30
520
463
922
636
956
824
298
636
656
338
293
322
485
347
310
577
229
74
336
351
25
745
707
19
674
886
716
708
703
205
815
991
868
710
858
986
644
953
684
18
765
738
528
41
662
663
687
456
73
180
970
461
494
119
317
43
898
920
100
291
335
283
481
633
133
388
940
790
276
896
204
514
288
566
992
813
104
821
383
496
245
648
320
391
688
228
158
93
230
383
295
551
130
929
910
107
457
356
254
178
816
669
639
0
347
197
40
383
236
504
500
686
439
397
487
304
324
163
511
144
692
520
202
842
15
879
842
749
68
73
936
996
132
414
474
275
836
258
208
227
72
681
950
946
6
244
421
476
820
524
274
488
22
345
833
420
435
33
548
346
916
583
576
67
585
185
665
870
162
29
856
141
901
93
724
859
303
824
286
66
460
506
764
193
130
502
233
442
845
886
282
302
760
165
581
202
576
622
782
132
682
95
591
37
445
27
559
368
845
753
559
437
704
107
529
797
187
186
187
783
700
156
440
993
600
832
684
755
580
864
706
191
379
359
244
170
911
771
646
775
710
736
114
731
449
374
71
524
510
685
90
289
665
978
228
859
635
781
788
220
810
354
606
880
95
415
848
625
196
617
206
795
99
922
344
353
271
122
117
254
709
681
321
1
260
83
789
440
588
169
137
546
529
25
352
679
94
658
518
477
792
201
993
414
305
159
236
821
419
226
214
932
837
895
761
706
366
323
165
529
325
947
362
814
951
698
323
746
223
960
691
526
162
336
505
339
106
309
490
591
775
355
726
192
420
706
894
935
851
888
805
21
353
711
31
779
493
827
466
987
381
469
698
163
100
440
344
936
101
15
5
459
866
422
677
704
475
292
114
146
129
596
520
856
750
426
525
69
676
278
458
914
473
380
615
433
97
634
223
633
298
44
180
941
21
575
121
96
820
394
699
759
434
184
638
624
50
128
5
255
434
839
882
163
653
874
231
501
694
872
786
822
909
482
624
651
537
372
287
566
939
429
461
727
704
452
800
8
54
88
360
161
920
70
708
776
843
511
138
286
807
652
280
927
944
221
953
516
197
394
664
460
99
673
123
156
293
217
46
235
929
768
516
968
250
786
474
161
559
945
99
740
957
381
310
560
584
418
123
526
662
328
177
271
97
820
608
660
696
528
835
353
271
885
584
701
492
40
823
597
887
483
395
501
382
692
184
649
319
49
79
131
439
969
771
505
104
988
15
580
930
76
535
872
653
267
430
723
31
623
816
587
482
356
938
205
492
548
862
361
838
227
616
806
454
646
580
861
588
348
331
457
512
465
912
247
977
397
270
652
984
202
338
600
906
916
271
892
548
495
72
585
741
871
320
132
394
705
882
448
851
488
1
75
159
189
294
755
127
900
534
845
485
955
163
956
440
317
878
929
137
312
67
991
243
428
365
142
299
223
595
142
426
140
825
964
783
104
499
231
159
302
520
372
105
448
87
140
542
314
101
702
220
713
257
516
748
375
152
895
242
938
288
618
538
655
329
690
923
812
5
686
594
428
910
655
230
159
959
320
509
629
808
632
157
789
448
169
647
973
125
727
436
227
606
418
175
384
160
330
828
235
776
358
732
429
426
596
347
321
934
869
532
816
674
843
998
929
134
964
585
706
589
577
369
634
458
669
608
537
823
117
251
450
304
431
405
588
34
195
769
788
908
334
15
719
891
626
432
637
837
488
504
208
806
722
636
452
796
787
363
549
714
514
986
762
999
571
905
219
334
435
391
295
263
461
50
677
476
121
385
211
740
442
647
411
676
924
238
87
510
150
320
624
737
57
924
727
339
776
968
935
597
905
15
242
853
984
32
802
760
1
324
359
648
786
846
682
841
335
608
521
460
767
307
615
44
836
641
985
538
462
203
905
636
346
927
429
563
531
114
805
274
781
939
932
47
354
23
963
347
730
384
52
988
586
998
210
649
63
897
420
984
356
938
444
866
570
37
864
659
51
517
305
934
839
320
128
494
193
95
190
77
687
501
982
740
390
410
500
239
202
550
269
606
395
551
60
929
576
663
785
687
836
166
694
632
284
1
455
391
777
670
397
506
308
623
261
360
819
819
260
63
481
707
44
615
206
621
668
741
783
623
853
215
234
634
640
368
759
333
878
745
862
441
805
871
283
703
254
577
436
387
455
144
31
104
714
538
165
976
917
156
321
606
685
171
472
983
944
830
94
918
108
745
215
348
224
374
251
350
110
62
605
91
953
705
480
905
630
259
233
595
354
861
83
474
649
916
70
252
252
506
207
764
619
842
652
40
916
596
832
803
832
811
593
631
945
497
754
69
871
558
354
23
570
983
550
885
780
52
862
323
277
935
159
995
447
485
976
317
664
23
592
254
265
941
998
749
993
929
739
664
681
974
882
3
410
877
433
300
650
25
904
782
33
294
184
890
611
793
570
254
711
340
132
21
297
485
403
702
52
476
372
138
376
896
118
829
209
48
869
673
233
797
16
274
988
540
248
620
814
237
328
567
930
70
451
660
148
264
276
667
267
932
557
250
576
335
101
16
119
519
63
869
799
280
211
568
328
724
673
762
553
685
539
28
786
864
617
353
304
559
122
822
19
468
10
438
982
880
462
241
678
916
341
402
574
866
352
306
918
257
486
766
906
36
565
407
70
953
298
992
261
554
669
901
600
179
972
380
974
129
398
667
954
192
973
711
654
751
460
882
298
817
527
992
669
855
515
319
856
239
69
144
16
913
305
313
135
344
396
522
433
687
707
550
623
125
971
264
28
505
936
889
850
872
133
230
782
735
677
703
406
561
203
66
799
447
479
908
810
488
805
411
227
814
566
252
255
655
393
390
539
374
778
629
510
506
709
17
45
531
457
405
436
215
715
408
731
572
464
951
241
352
212
327
560
605
975
347
641
315
382
469
514
85
804
671
970
845
190
788
565
340
250
33
155
988
959
635
227
310
504
894
136
881
398
390
99
462
25
655
86
765
590
457
698
518
919
548
108
341
747
356
774
613
723
741
623
575
769
81
132
5
274
717
588
439
121
879
100
684
572
481
826
420
392
962
658
948
287
178
603
572
863
531
390
877
202
990
399
194
22
820
691
491
296
361
894
738
99
850
11
591
877
198
390
322
948
374
672
937
715
156
241
447
466
20
761
337
921
55
431
642
309
475
21
759
187
568
360
227
730
452
458
451
236
661
920
470
396
815
739
594
836
170
528
902
440
191
997
960
846
407
639
39
228
578
508
714
836
880
882
218
60
855
749
186
329
203
243
109
869
375
69
992
118
331
778
941
775
771
439
430
500
148
83
368
982
308
993
27
761
509
46
556
994
976
856
810
924
612
950
657
68
329
223
332
82
614
543
394
981
536
11
764
127
900
829
550
69
432
559
855
12
847
151
666
130
214
436
239
518
361
169
61
589
697
50
530
43
938
4
503
810
610
787
813
709
336
881
950
653
515
639
59
847
950
678
213
554
513
59
312
297
580
822
146
689
503
124
297
923
98
52
653
271
782
558
12
512
808
303
248
920
784
151
405
29
58
762
861
978
712
228
648
292
40
925
785
724
458
633
400
371
25
990
80
884
27
151
356
555
694
130
984
96
113
738
895
170
716
109
633
948
720
243
795
194
589
148
662
990
60
93
994
450
850
260
389
765
425
674
27
62
58
803
786
150
26
463
328
901
170
670
210
953
443
421
10
725
517
282
500
94
822
651
19
939
841
968
890
685
1
759
718
32
211
51
858
488
490
68
427
751
331
664
846
872
688
463
334
709
836
561
233
29
338
623
850
702
199
16
833
371
866
731
443
775
241
577
992
706
449
290
694
514
699
345
550
32
564
657
55
911
333
609
13
390
797
774
908
365
241
741
932
45
367
487
49
336
568
118
704
742
192
581
819
419
898
728
349
459
596
319
139
956
345
540
602
658
95
232
501
823
625
842
136
816
511
335
300
949
762
644
146
622
395
911
355
428
234
273
729
617
698
125
462
304
159
910
348
266
841
256
104
553
759
631
488
755
671
244
703
590
767
636
709
231
161
995
11
585
673
482
897
667
999
586
358
526
735
67
136
276
81
214
126
18
577
588
565
402
893
615
852
406
455
608
971
568
554
947
28
320
730
21
640
710
523
172
2
120
714
97
392
790
762
366
845
398
952
740
458
332
840
257
712
383
587
881
851
585
140
180
102
237
814
486
360
889
620
157
486
642
202
822
111
296
578
550
850
234
907
447
997
143
917
929
653
898
61
357
619
128
996
812
174
346
431
203
435
538
319
735
848
620
801
45
42
598
804
885
248
437
698
565
70
609
389
80
601
994
978
5
378
96
191
788
766
66
924
836
529
510
87
182
814
231
439
60
773
556
256
65
621
737
90
475
485
441
488
308
335
875
925
71
127
834
988
264
921
202
426
674
760
76
717
734
616
736
242
382
59
908
453
140
21
646
148
760
636
713
140
935
438
573
113
586
132
112
977
870
293
564
222
356
327
249
818
202
716
477
214
27
490
521
638
867
99
334
880
589
214
768
468
971
782
315
555
699
101
817
905
328
265
860
498
182
280
515
568
645
958
164
121
184
395
56
310
0
629
178
193
63
587
17
47
965
106
132
435
290
663
103
779
342
467
18
586
207
98
724
173
947
41
85
126
36
711
337
834
793
845
605
853
85
736
539
327
192
238
489
363
720
789
652
467
38
0
775
409
416
135
610
441
494
548
334
230
121
601
513
650
573
562
434
560
609
760
145
302
903
618
663
240
694
770
12
952
173
912
48
498
247
110
234
249
354
634
252
199
722
542
596
361
391
484
710
613
580
558
486
21
331
104
958
342
570
463
584
380
302
203
973
212
476
909
14
534
477
908
802
996
232
619
121
53
892
358
766
177
501
931
929
42
149
131
178
341
869
196
640
745
963
292
215
273
679
198
263
16
462
177
281
235
598
515
624
185
745
675
737
295
489
611
735
275
957
696
768
900
445
560
844
389
644
409
501
6
323
800
626
688
532
410
164
288
496
517
566
688
855
188
88
955
984
444
762
617
171
265
857
909
649
891
627
240
177
687
900
456
155
877
935
690
82
610
222
591
796
874
766
150
373
638
4
112
919
145
846
77
992
171
247
627
20
955
101
199
133
173
943
805
658
292
450
134
58
973
14
923
351
601
942
683
297
640
650
385
548
99
132
961
902
818
532
849
956
981
469
907
614
958
611
519
237
378
637
585
328
164
590
350
708
831
308
388
928
852
941
62
51
607
828
647
283
967
89
72
26
264
515
925
888
847
429
66
355
813
558
174
437
432
986
21
70
700
29
4
944
88
457
409
74
298
701
417
25
306
911
503
273
836
98
571
614
189
714
44
379
546
691
16
912
698
658
908
873
539
767
526
305
190
680
257
420
129
174
298
662
472
756
893
379
30
504
665
484
717
199
735
898
304
753
469
704
206
94
889
933
639
244
143
152
902
234
760
843
89
811
372
193
857
117
237
156
797
834
396
951
555
962
486
459
401
303
918
934
162
590
249
534
24
490
282
396
495
83
949
854
962
993
712
573
531
472
794
723
194
265
216
322
651
704
132
559
279
456
686
39
15
552
412
646
956
769
129
171
572
729
28
737
878
445
304
207
826
152
134
849
918
991
773
178
563
230
216
927
999
90
559
704
478
462
334
208
81
30
45
780
220
254
356
532
428
590
892
329
832
555
192
592
790
257
548
795
202
323
730
878
12
397
389
727
40
444
346
314
324
510
691
529
319
977
702
757
96
98
762
853
57
458
525
333
339
847
805
537
235
436
769
594
724
331
831
769
733
442
907
578
376
111
202
727
929
684
853
804
667
881
716
832
938
907
844
452
325
226
628
121
463
160
542
24
934
108
528
357
817
415
840
207
431
226
759
696
570
214
337
386
127
546
37
836
260
839
973
739
727
123
606
267
855
920
752
506
698
510
285
174
371
687
932
698
744
11
950
308
270
428
746
570
179
683
378
512
952
215
728
478
544
203
421
407
236
635
649
414
592
664
796
10
359
982
212
786
74
904
897
772
351
128
90
220
756
331
961
711
267
229
644
98
691
231
586
166
714
101
708
299
443
595
5
6
229
757
337
874
904
267
425
23
350
326
134
458
86
654
498
16
710
832
627
519
688
204
436
666
658
3
423
72
112
107
746
93
360
388
868
8
683
133
859
428
345
709
291
822
965
931
88
926
588
431
831
204
587
668
991
961
326
686
663
141
236
742
382
772
241
225
719
318
726
173
56
705
980
961
431
613
330
49
831
242
16
442
50
632
498
290
771
156
984
757
956
284
534
756
100
765
519
764
939
208
266
895
360
616
454
384
43
143
42
168
389
164
515
121
168
781
1
563
726
247
290
99
365
289
580
476
610
399
801
967
192
317
168
692
246
816
65
470
907
295
893
737
797
833
60
750
63
714
176
485
37
216
528
588
191
558
450
262
381
820
919
98
94
843
155
213
703
132
382
404
292
167
429
283
788
476
488
894
816
330
650
716
289
89
313
570
615
310
960
392
850
684
996
64
160
935
330
566
453
384
882
63
68
842
434
866
60
557
190
879
210
752
445
15
501
976
626
254
339
795
328
858
483
955
70
622
247
798
823
959
66
88
546
758
20
13
844
928
953
710
187
386
186
194
595
434
778
650
618
638
445
675
9
578
165
261
924
805
333
515
189
219
655
206
689
929
730
489
141
621
847
587
948
760
201
705
526
148
920
226
526
169
960
513
864
574
782
319
300
964
457
635
625
602
764
911
22
985
369
618
905
457
936
935
767
488
218
844
418
437
121
619
561
735
273
269
954
586
654
727
164
842
301
310
15
227
759
814
320
780
716
924
892
810
642
905
124
836
982
769
525
34
577
829
534
525
572
134
73
769
745
194
964
781
135
160
986
239
263
781
166
38
927
666
242
497
241
391
183
271
690
806
817
36
331
743
683
324
861
869
163
541
684
825
890
248
375
587
752
521
91
896
767
396
282
622
257
689
240
434
753
749
212
987
778
938
241
486
258
748
707
952
988
168
84
802
690
972
960
698
982
916
447
851
998
648
796
974
845
688
429
321
940
903
905
948
418
671
660
354
523
484
377
552
396
416
965
337
32
449
322
903
719
745
321
758
494
949
570
502
410
652
718
344
375
869
405
63
232
891
804
870
601
498
3
961
913
905
531
278
332
164
702
234
693
650
521
806
236
726
835
132
306
881
427
524
441
171
440
342
776
338
896
823
244
945
490
809
435
527
963
771
682
691
360
111
773
761
843
203
718
100
247
670
739
693
334
233
850
479
191
687
798
666
118
383
80
131
792
799
344
508
629
521
600
344
35
193
494
795
535
431
193
411
467
387
658
404
617
537
872
814
606
558
173
638
999
175
504
687
438
78
846
29
677
269
782
330
66
729
824
195
586
474
392
317
603
287
781
662
453
751
2
764
510
250
549
257
511
253
290
53
388
393
393
985
283
48
514
473
271
898
107
51
341
286
425
859
984
54
17
46
902
641
591
233
437
473
421
690
858
7
518
765
779
18
416
344
951
846
97
518
410
223
335
24
987
861
711
920
345
129
493
653
255
654
972
202
268
242
293
906
807
507
303
711
403
114
417
853
576
895
520
994
982
788
40
441
692
844
441
107
447
401
802
476
827
579
409
651
695
353
116
442
308
674
442
261
512
963
153
895
342
806
242
439
828
973
809
421
24
916
976
339
865
868
731
346
23
21
386
981
854
471
700
895
440
728
524
572
227
504
806
321
297
282
79
334
313
295
850
117
65
232
362
16
319
899
223
826
266
145
253
904
759
179
198
135
761
465
692
101
590
732
991
396
804
127
934
762
795
325
693
903
814
332
869
188
290
149
195
247
446
340
280
991
820
414
300
503
951
962
525
74
405
885
637
169
270
43
803
599
677
509
433
716
13
995
983
855
649
299
631
692
414
638
480
394
941
871
595
561
993
862
945
82
469
275
141
73
533
398
334
588
345
955
172
979
467
752
234
657
227
545
433
26
873
497
823
487
504
575
697
869
311
258
175
879
598
319
466
143
910
773
828
863
287
221
708
508
197
301
787
142
203
533
972
538
67
711
574
406
392
333
802
625
294
127
994
472
523
202
657
107
912
82
274
755
981
437
568
893
588
260
846
756
85
970
884
74
349
836
686
453
976
631
662
160
397
232
496
669
254
510
410
426
378
944
287
192
25
265
243
157
677
763
32
58
214
392
788
683
992
660
53
344
457
590
919
939
951
808
720
826
453
472
729
722
612
6
704
954
943
504
466
22
252
573
513
140
47
273
478
368
604
807
977
66
765
76
355
638
207
665
97
81
823
356
470
704
843
276
730
426
67
532
477
311
989
556
578
903
198
3
262
213
158
178
989
639
653
854
405
153
949
853
643
140
2
43
782
823
845
595
12
807
697
818
403
651
700
316
523
961
190
463
984
26
991
545
155
378
87
320
932
401
891
213
755
700
318
343
591
323
994
333
487
369
872
314
31
877
509
307
755
732
412
934
261
931
823
988
5
850
246
895
603
454
409
316
489
673
653
283
695
192
521
105
152
473
271
78
191
93
269
696
339
366
856
195
916
670
746
894
123
319
317
213
952
763
457
862
959
76
728
779
401
160
434
213
947
293
739
657
902
73
275
945
964
52
390
324
573
229
222
694
132
185
329
261
562
207
23
100
795
38
555
927
26
962
80
907
497
845
900
226
756
296
858
179
951
26
131
447
774
690
288
762
784
789
882
170
964
660
687
190
542
491
637
421
243
932
278
303
595
168
963
869
430
799
493
975
770
51
536
723
183
903
633
53
845
727
583
667
960
697
623
924
333
168
447
610
397
565
558
184
197
427
128
254
916
303
199
754
996
931
196
783
133
460
247
531
473
376
6
418
843
398
759
916
158
962
642
403
443
178
124
48
556
903
708
691
750
649
689
160
969
604
696
548
289
836
5
932
125
311
577
67
372
55
406
158
773
91
561
501
447
688
498
835
802
773
771
447
988
248
427
619
361
1
527
925
668
152
858
841
302
508
747
618
84
152
9
49
411
266
199
726
87
889
872
329
259
39
368
288
1
84
465
453
213
720
354
473
163
202
344
248
419
691
178
619
292
488
70
770
822
729
513
336
108
999
561
849
815
811
533
943
330
4
934
680
823
897
543
903
12
872
635
37
54
661
428
267
805
862
771
587
877
146
100
416
794
203
243
95
339
156
348
996
707
19
53
135
712
603
721
350
115
522
129
833
236
493
556
655
88
978
354
130
659
46
349
756
815
902
713
402
983
875
500
629
966
736
442
949
161
874
327
412
524
118
860
153
263
800
147
713
304
569
474
444
811
320
849
188
519
357
75
212
104
447
998
758
868
261
834
773
718
467
810
143
305
66
758
408
540
679
966
162
473
573
804
875
418
99
358
916
899
640
498
184
466
96
660
675
894
71
348
517
143
431
77
927
697
176
730
748
320
95
16
57
780
645
996
940
140
513
716
810
674
4
196
962
395
378
23
156
925
729
637
369
386
600
496
54
990
460
292
890
677
42
674
444
878
513
10
642
963
880
965
12
947
480
865
905
318
131
647
989
349
807
744
69
320
770
667
310
456
129
430
73
717
886
904
656
103
958
930
431
804
999
606
399
287
881
511
716
501
32
68
296
358
960
338
168
575
90
996
47
304
295
633
492
583
646
294
912
728
236
916
836
714
390
491
383
537
270
457
857
562
406
708
603
193
366
137
827
653
420
900
95
440
681
550
903
150
586
157
600
87
26
516
941
29
379
752
940
733
148
349
797
979
195
400
179
67
500
95
656
185
981
265
222
795
989
225
376
475
697
354
761
0
151
398
518
774
132
445
699
258
229
564
795
171
223
982
17
663
891
694
307
54
45
651
536
192
293
783
899
156
369
209
457
596
741
790
794
244
170
354
294
221
845
857
734
641
364
930
628
861
3
760
88
218
291
295
850
532
903
402
607
73
610
595
702
19
233
288
289
520
853
357
969
148
369
829
86
324
866
257
807
258
222
333
921
806
356
82
54
414
872
464
962
935
866
694
841
932
90
786
330
73
938
215
332
661
525
173
727
508
933
685
942
63
744
102
755
391
234
288
655
569
579
34
847
919
98
661
911
967
715
347
790
191
675
209
963
496
96
100
430
162
591
248
312
315
258
415
113
617
623
616
335
870
960
611
666
379
105
628
212
737
170
938
969
550
749
529
750
369
336
930
222
844
579
913
543
323
839
314
809
670
226
333
531
944
465
174
648
985
552
934
688
564
855
136
466
602
675
191
403
50
794
932
268
979
833
614
110
38
356
235
374
7
884
83
969
367
712
725
984
146
941
366
729
114
678
153
61
165
206
424
461
32
989
375
874
903
744
941
521
697
990
526
806
271
373
275
843
951
554
837
175
55
385
502
288
235
349
443
848
117
667
847
44
539
626
558
825
727
49
195
377
239
83
957
101
43
431
278
341
662
512
793
357
910
452
158
606
465
54
635
345
106
690
738
796
476
316
470
118
700
45
1
302
295
542
669
429
290
92
549
274
73
479
735
726
323
392
169
991
617
186
304
754
719
385
839
567
389
790
471
204
361
175
728
475
447
221
846
396
95
805
127
472
106
80
415
484
706
444
978
432
227
5
135
793
944
215
632
876
740
317
521
819
145
159
367
796
895
575
589
7
531
366
191
432
795
874
296
703
471
912
740
623
727
52
357
595
822
46
523
172
871
251
185
352
149
725
506
468
156
42
56
41
728
395
419
391
249
327
267
294
734
104
430
45
492
317
609
268
611
217
71
792
236
115
612
972
809
860
257
797
43
880
750
978
572
267
605
948
6
320
592
297
74
417
847
775
740
436
428
767
272
480
948
562
907
102
520
927
576
724
831
676
621
184
533
477
247
820
275
965
650
755
159
654
240
713
976
656
476
397
348
572
589
450
600
858
976
960
252
309
343
664
812
187
957
402
652
209
540
693
397
880
83
516
454
244
698
473
884
129
800
279
340
797
414
69
17
404
774
247
362
250
767
667
568
554
250
534
348
853
119
259
719
940
317
303
164
744
606
972
825
37
156
803
286
495
742
745
368
755
225
971
335
219
266
164
644
205
865
101
378
768
257
244
922
675
446
614
753
883
61
277
842
436
65
3
323
369
590
813
400
898
577
166
369
96
535
578
232
640
798
802
599
649
395
780
457
924
293
229
34
513
574
0
282
668
977
576
589
603
93
738
980
641
618
203
704
368
788
285
292
546
397
465
749
397
987
959
353
187
325
467
979
439
37
957
460
460
209
654
77
204
993
24
328
744
51
741
366
308
143
358
812
837
706
994
893
44
393
519
89
410
429
183
963
526
361
433
900
716
945
597
210
931
732
958
792
173
240
788
848
210
285
169
195
454
717
749
685
339
611
552
241
31
904
604
717
492
73
356
844
885
13
94
273
309
784
900
2
709
616
619
523
898
524
795
154
712
902
112
653
179
541
815
979
43
744
833
519
698
694
301
491
478
342
930
401
435
792
342
294
163
58
109
181
159
241
419
93
558
895
570
181
691
813
540
418
886
71
464
196
304
774
689
944
210
213
186
647
959
817
388
125
178
817
932
445
130
605
903
655
477
647
849
323
508
661
476
865
346
492
788
393
238
811
158
32
106
127
553
248
46
458
144
286
79
950
634
587
995
670
207
475
613
477
150
787
452
310
80
201
358
925
436
214
569
807
828
134
947
740
166
532
843
287
24
32
345
818
963
180
761
697
460
892
146
369
174
834
416
132
917
791
987
179
572
815
467
283
996
286
538
862
903
321
717
52
21
130
928
294
420
747
558
551
127
263
420
832
532
823
807
215
18
669
495
510
161
673
833
964
861
482
529
68
473
37
214
496
415
35
762
991
644
333
881
844
43
15
379
315
446
143
457
787
445
77
432
428
992
17
607
814
216
770
112
35
511
784
983
259
475
126
944
370
109
842
493
245
327
843
128
464
531
781
941
455
570
358
307
185
527
657
859
10
940
15
319
774
358
540
660
281
807
958
14
259
274
478
354
53
311
715
999
874
923
859
866
877
206
763
891
772
221
131
135
545
471
172
796
444
230
643
547
791
171
974
0
275
457
396
80
104
946
926
42
162
315
237
8
745
967
405
758
399
348
323
461
740
404
402
452
642
872
29
172
262
508
397
937
540
840
367
753
162
436
748
707
471
160
716
231
17
433
623
656
345
918
159
392
891
411
527
495
462
748
851
769
916
780
546
483
819
6
445
337
303
709
843
834
516
671
645
766
316
187
342
513
675
571
967
910
586
462
869
964
960
845
244
230
134
348
308
197
362
778
456
266
618
415
697
607
264
904
863
121
44
692
949
596
177
607
46
523
336
517
919
687
867
717
912
134
704
839
305
72
274
379
528
955
216
864
981
831
513
368
465
861
988
852
550
167
583
334
696
926
239
52
126
82
563
297
813
406
428
477
151
919
457
849
764
783
278
256
603
238
948
449
673
338
877
301
388
128
727
87
601
251
122
735
205
228
815
594
146
216
62
101
323
814
954
992
347
481
428
804
555
717
893
662
172
573
949
468
998
963
362
640
59
985
134
332
542
48
257
717
207
699
310
735
753
307
385
700
497
490
514
855
915
260
929
672
540
454
838
622
746
944
633
837
345
287
884
482
783
36
207
167
560
426
177
569
719
527
68
253
829
384
143
976
384
205
634
784
820
138
130
258
455
480
629
863
247
345
406
937
849
793
212
562
11
980
555
512
562
53
320
710
400
829
414
484
272
596
123
429
290
190
828
260
47
904
728
260
844
783
695
263
67
160
302
886
981
999
576
120
237
697
534
244
626
493
708
24
567
815
309
189
897
412
770
426
774
853
3
320
560
42
424
864
804
660
386
131
710
397
595
951
40
20
163
382
247
479
332
830
132
558
718
406
586
875
550
513
906
446
390
914
956
963
161
510
644
792
80
42
699
930
63
416
866
970
787
588
237
641
40
63
295
395
411
420
460
711
164
921
617
671
156
374
613
739
602
783
2
711
87
503
742
728
523
597
706
852
53
556
101
966
4
540
466
48
923
709
143
762
845
457
504
190
782
667
516
155
735
666
204
530
0
959
62
473
656
53
981
349
7
690
809
646
862
260
215
221
728
568
840
8
570
745
57
546
847
676
909
222
478
704
58
19
287
142
242
421
633
257
871
276
107
630
868
840
160
34
97
263
529
696
779
282
731
10
333
579
388
890
700
20
135
627
62
108
936
449
430
858
205
24
225
145
665
101
278
433
337
38
668
864
787
404
218
294
645
975
513
585
998
118
846
105
600
807
309
702
700
157
74
181
941
126
995
248
13
217
830
802
302
910
700
168
812
320
836
842
277
316
26
539
805
599
29
394
548
662
124
597
103
526
38
408
365
636
556
633
117
840
997
815
466
142
480
614
7
132
657
75
492
261
629
390
148
260
152
822
108
40
809
347
51
405
281
915
550
718
488
231
119
179
797
846
376
498
785
433
893
802
784
98
38
462
414
641
204
208
379
929
21
480
631
808
968
570
183
247
64
537
163
857
451
373
312
255
327
432
640
220
270
331
157
980
858
438
682
505
537
797
289
212
348
542
38
517
109
350
649
948
309
107
479
361
283
458
41
247
7
425
634
766
545
984
385
211
235
525
25
136
962
609
576
199
499
823
226
742
208
380
625
625
950
830
526
461
813
882
463
678
498
128
444
704
907
293
954
995
688
966
521
245
747
753
383
947
695
203
247
701
763
357
773
734
432
217
537
179
930
123
316
166
531
201
229
173
782
254
666
157
784
800
650
182
424
20
97
552
392
764
962
238
148
686
982
318
287
342
306
87
973
691
262
596
560
624
247
727
241
70
660
228
786
208
678
90
959
819
219
829
376
976
445
979
371
934
423
538
55
532
573
919
87
553
325
578
833
804
692
384
309
55
162
831
217
543
863
396
354
346
439
208
69
762
869
130
725
607
245
122
880
487
299
803
218
79
571
353
671
353
182
545
69
498
476
430
849
130
844
908
107
611
855
363
380
977
738
551
571
621
684
944
330
5
905
680
448
816
71
471
501
945
186
963
591
883
120
817
712
808
844
506
758
910
416
568
251
230
532
355
689
957
122
432
43
746
192
321
928
668
971
765
483
230
0
500
379
193
572
295
571
338
259
834
682
90
946
658
262
301
422
816
194
948
263
975
973
851
248
168
207
642
478
331
946
873
803
857
31
17
796
56
933
271
745
388
310
2
369
91
729
274
160
195
346
480
81
345
328
552
194
732
144
973
987
476
287
201
684
863
311
462
767
416
22
912
167
122
5
166
513
264
726
65
390
853
554
966
437
572
788
543
790
493
218
122
973
911
332
870
456
962
719
392
838
180
640
997
35
436
573
512
631
589
789
869
434
42
379
466
594
413
190
650
449
79
250
613
406
195
747
646
508
802
299
459
45
555
683
815
112
899
597
274
757
155
248
860
708
317
579
847
352
1
414
997
995
623
43
858
247
665
576
810
47
15
881
238
558
646
562
150
254
351
595
611
895
217
869
160
590
147
805
859
44
519
131
817
760
586
904
201
906
101
697
251
591
843
959
894
292
676
846
707
77
700
318
481
291
872
645
31
389
866
751
827
707
70
313
286
647
927
954
903
734
515
449
223
460
724
705
528
987
474
356
802
27
770
125
791
560
53
80
562
48
731
602
762
797
3
422
329
460
416
908
247
36
94
216
872
417
811
373
769
830
512
288
700
435
147
170
901
88
606
805
438
581
47
866
108
107
956
539
460
353
536
627
269
799
595
519
155
468
113
671
235
210
331
987
244
875
353
142
941
571
402
333
892
356
758
292
660
73
400
408
897
844
636
63
545
228
737
359
586
494
268
467
785
791
779
590
223
776
23
211
548
314
587
623
295
625
70
333
650
687
366
874
711
327
270
432
731
599
291
591
805
895
516
479
139
779
24
208
194
368
897
613
775
389
69
628
250
55
915
30
759
982
940
115
460
880
941
262
281
13
709
859
884
470
86
626
885
825
998
164
841
381
490
930
495
663
441
572
266
504
694
672
598
0
686
216
368
324
741
915
456
683
91
280
152
895
308
844
4
985
631
796
319
360
646
995
360
750
783
406
898
121
446
66
661
130
90
933
44
994
639
161
189
211
943
187
565
609
412
569
726
836
5
138
803
30
57
918
626
489
856
690
179
890
964
272
828
385
727
462
546
732
36
65
486
830
426
323
413
879
194
48
797
754
852
604
700
910
774
764
128
886
389
441
611
220
531
193
366
931
518
938
980
948
575
987
118
768
524
561
62
381
621
466
468
99
855
121
546
426
39
315
305
412
724
626
829
881
680
394
480
174
834
879
273
868
230
417
476
18
877
767
238
613
137
641
180
531
66
185
254
866
475
26
230
333
628
767
551
16
175
170
337
218
373
123
958
403
607
371
952
864
278
323
241
680
678
904
762
861
276
972
291
321
105
245
36
998
291
930
384
44
72
58
501
0
633
711
794
102
83
76
613
987
715
905
958
973
879
880
154
400
36
112
731
157
399
677
761
345
744
63
579
34
723
910
315
858
740
84
898
517
846
527
347
879
885
425
826
618
510
262
179
695
466
464
25
697
653
266
316
261
314
488
906
462
915
647
249
287
228
838
85
515
224
899
233
757
16
929
513
413
883
929
797
188
781
170
186
307
898
996
209
59
871
353
31
256
300
299
556
758
428
895
483
886
309
946
901
271
304
864
884
326
10
991
869
642
407
295
138
85
411
430
489
669
650
867
231
734
198
470
270
276
257
587
662
16
788
317
412
933
148
174
561
334
891
278
670
765
885
124
608
320
708
35
98
108
492
25
337
726
397
995
398
84
36
577
360
663
611
318
633
60
720
93
868
249
797
60
226
354
861
95
447
371
50
623
581
0
256
645
723
439
268
915
708
632
188
545
207
257
615
143
644
459
565
194
130
183
874
774
593
791
229
893
279
990
507
914
137
247
714
888
469
449
371
343
96
549
255
2
337
289
557
185
422
355
126
469
118
764
997
523
873
922
100
94
449
225
705
451
136
922
462
718
501
445
387
292
469
925
429
244
131
433
421
218
685
685
786
608
2
183
244
731
111
980
939
978
512
713
710
794
11
20
252
817
550
356
317
908
446
18
620
886
865
165
103
453
515
874
177
918
644
894
459
870
300
437
139
535
592
29
537
137
907
575
401
306
325
853
362
109
583
769
82
299
871
855
859
662
989
793
526
392
490
515
506
117
220
564
626
28
652
891
337
568
541
26
80
688
937
659
231
52
223
238
844
702
911
255
150
207
849
546
489
369
110
930
258
785
244
774
532
30
578
998
528
250
238
517
130
447
637
464
779
305
566
693
699
907
380
149
110
95
498
613
109
636
350
618
169
710
81
992
730
745
891
149
364
792
420
156
514
486
77
682
165
268
557
207
433
896
588
269
412
661
471
330
468
977
408
823
985
264
655
548
700
389
276
2
512
522
920
790
796
360
316
447
766
577
301
490
112
316
452
727
731
813
874
863
854
804
648
857
105
850
554
47
240
891
551
704
130
88
173
781
161
38
105
60
251
648
361
69
564
754
737
684
57
713
557
544
32
724
263
215
871
370
402
171
246
705
754
453
764
161
31
763
827
926
2
983
296
679
467
652
750
651
783
259
551
591
76
585
544
405
727
278
325
796
727
134
943
141
587
981
88
427
133
962
849
456
738
16
64
938
322
469
508
825
261
74
101
528
330
434
523
707
362
504
698
595
968
134
778
225
987
20
709
198
852
172
215
442
894
417
295
792
567
518
832
679
741
589
864
825
284
691
398
603
286
59
640
919
518
691
142
676
427
129
904
198
470
220
305
256
110
241
216
14
366
381
511
556
598
201
291
663
662
702
662
872
739
133
750
654
880
419
609
959
810
357
830
910
152
305
135
642
581
502
118
414
121
796
820
769
675
674
900
514
849
926
37
510
902
742
944
104
778
694
44
942
189
951
974
345
930
446
863
500
13
634
903
444
560
629
827
642
565
490
806
833
658
778
68
523
65
923
705
680
205
532
988
450
19
258
615
839
342
183
797
456
118
992
455
38
354
36
826
677
309
356
237
348
844
69
88
159
24
445
446
757
220
969
391
227
394
168
574
598
75
135
507
438
89
933
790
949
424
369
191
166
136
746
19
164
812
796
989
947
343
627
234
901
821
282
976
767
435
218
306
114
627
136
572
788
835
65
866
241
862
693
215
327
237
283
141
211
767
462
895
882
317
594
975
645
578
815
89
794
540
13
879
910
661
61
696
161
236
490
749
56
160
478
459
134
265
95
558
111
833
428
323
70
653
624
803
12
710
786
945
163
920
660
851
465
299
855
66
414
105
357
535
717
274
172
635
676
305
193
146
165
824
331
952
363
254
273
469
473
489
182
616
41
229
954
616
586
921
559
36
55
566
456
401
314
265
53
199
964
151
636
33
116
129
117
683
903
641
530
278
542
543
21
48
245
352
146
948
528
274
983
966
591
558
926
407
202
931
478
742
329
59
463
845
841
814
987
703
62
407
294
14
92
611
445
341
593
729
113
742
735
200
488
301
525
679
903
213
307
316
186
784
927
925
668
438
27
908
323
303
160
237
894
382
396
987
734
279
387
891
158
85
538
303
951
17
113
686
669
966
141
351
569
700
610
557
828
806
529
373
981
11
459
507
36
804
801
939
54
14
684
728
810
154
796
233
714
510
745
606
980
215
893
500
406
152
104
188
219
65
382
680
410
958
404
312
621
596
57
808
345
9
360
765
595
824
394
99
269
253
473
761
944
202
60
44
299
123
623
165
28
586
215
521
297
140
790
569
590
225
447
933
60
158
699
430
463
455
928
591
514
991
33
953
676
517
172
316
355
385
623
784
978
916
447
433
301
344
353
718
852
355
28
674
113
737
751
704
458
555
927
858
960
193
355
58
768
501
245
569
112
596
973
688
58
992
405
284
635
980
160
407
928
731
99
963
952
293
104
106
997
46
43
515
48
336
479
129
224
579
248
613
262
150
419
847
679
785
386
578
159
233
406
192
746
986
919
308
623
851
808
502
880
851
249
143
558
658
492
918
552
764
360
41
680
980
950
877
541
162
712
609
389
243
48
749
139
368
52
312
791
168
20
945
60
194
931
254
411
948
997
515
4
556
140
44
550
536
372
635
763
293
559
239
592
561
794
712
951
774
272
638
230
293
793
160
383
280
490
975
795
835
852
245
102
880
264
329
757
937
390
775
170
201
808
964
246
694
561
961
807
355
0
764
291
40
828
745
426
86
581
559
607
93
509
743
563
382
654
1
271
161
200
290
396
602
166
696
632
184
982
235
894
630
79
682
508
525
746
833
101
468
135
525
548
792
689
26
475
707
925
242
808
477
211
217
464
810
345
628
110
358
803
54
785
346
670
826
829
459
300
418
248
74
818
244
104
604
872
939
900
394
671
425
666
500
870
921
252
639
102
295
407
778
978
88
239
616
151
474
627
504
586
420
368
12
741
139
16
268
939
913
557
426
545
763
841
609
213
455
166
173
289
736
809
557
622
157
461
895
506
221
662
689
374
261
275
270
984
670
706
402
822
447
774
544
178
905
611
755
554
445
557
280
125
680
125
391
745
532
758
557
850
967
720
968
784
673
633
617
96
216
627
954
871
941
871
647
71
555
924
476
431
906
50
214
314
634
712
903
382
6
773
626
678
573
810
96
535
247
461
117
236
809
696
376
982
47
199
40
475
454
718
52
531
675
895
321
150
823
151
446
820
520
221
379
504
782
572
412
505
817
82
453
760
660
18
96
629
278
281
9
767
498
815
681
977
362
328
269
207
180
167
380
970
992
624
706
414
210
732
143
531
825
176
930
547
963
689
293
293
619
795
378
455
324
832
686
554
389
148
655
769
375
553
442
8
716
827
2
63
314
940
680
114
666
620
15
79
221
298
726
981
996
166
485
30
283
798
264
628
78
609
709
268
199
281
105
615
224
661
848
717
556
86
723
767
237
552
632
12
621
686
597
614
566
120
214
166
897
980
7
390
231
425
596
157
694
28
654
574
498
379
471
543
87
109
182
565
881
772
602
349
234
68
448
960
435
878
595
730
139
283
319
864
570
795
842
148
450
219
97
1
176
261
755
209
77
724
748
313
996
111
350
562
788
83
269
366
608
440
747
947
25
399
152
265
280
121
810
749
959
174
178
613
851
63
586
95
6
906
441
174
924
896
519
802
896
765
756
440
349
846
849
142
558
234
293
70
69
180
501
233
879
494
827
78
460
705
48
839
761
861
252
702
536
232
486
692
96
363
279
553
927
106
386
279
649
699
982
448
185
488
44
692
67
166
124
707
967
868
724
405
357
231
503
632
185
101
958
465
108
107
629
42
464
184
264
840
414
668
91
74
49
828
437
988
456
467
110
754
354
31
894
167
244
319
651
19
157
233
883
84
367
487
449
552
420
562
148
980
7
160
929
639
349
694
742
683
91
100
947
244
605
712
847
950
274
114
133
643
538
479
410
763
857
968
207
387
201
632
138
829
967
567
933
655
267
560
207
514
885
251
927
469
863
735
500
913
994
83
538
760
475
674
129
659
828
146
531
555
843
991
678
75
664
570
622
314
284
606
507
197
650
173
510
923
35
62
496
868
290
196
925
644
853
712
386
201
342
826
635
478
477
247
335
174
747
11
846
396
899
61
312
227
464
995
971
497
717
153
179
175
754
106
202
49
198
662
957
141
368
35
49
896
376
584
371
339
650
787
552
356
152
667
634
510
31
215
146
967
934
142
598
737
571
771
961
503
803
880
350
580
571
746
174
402
920
373
974
732
559
894
649
864
826
658
210
586
112
71
970
660
156
487
701
146
476
128
887
932
30
915
392
1
835
420
400
249
67
237
406
503
986
990
441
610
365
375
275
11
4
237
647
713
733
265
685
732
344
459
251
426
443
438
937
190
849
199
668
28
536
390
106
615
657
720
124
478
518
223
832
526
54
603
644
889
643
382
201
595
33
298
66
740
419
337
895
3
883
953
565
739
88
174
757
649
25
163
397
517
599
654
520
400
184
885
844
595
260
655
67
96
265
854
874
252
629
511
511
3
561
934
62
635
550
476
886
180
137
401
408
633
248
928
91
859
646
733
113
764
57
734
775
818
83
610
423
404
505
430
885
36
119
160
234
19
816
656
400
645
523
497
849
816
382
379
419
648
792
600
787
345
94
243
977
182
779
243
55
85
246
681
43
706
439
289
869
156
178
11
521
843
163
5
169
283
590
210
751
191
797
709
260
100
238
337
101
346
922
802
603
591
395
44
110
63
743
137
932
57
592
696
568
601
383
301
971
130
131
125
621
273
550
795
596
208
516
344
920
326
364
587
931
761
370
230
263
622
712
888
628
909
956
970
527
679
764
268
463
951
272
32
687
575
10
270
735
383
468
909
121
573
722
571
839
751
693
138
609
192
505
40
389
688
731
831
331
948
390
732
573
330
878
398
737
265
297
187
143
72
760
218
561
960
243
271
82
440
583
13
294
6
755
669
368
250
9
425
664
795
519
345
172
11
269
569
861
664
312
97
885
585
751
835
326
986
247
342
953
553
858
844
300
98
340
495
602
319
913
183
164
742
244
287
90
714
629
324
308
116
709
883
247
120
60
619
411
168
664
79
301
968
301
668
636
195
457
421
649
348
442
485
82
20
667
164
529
500
286
664
632
690
485
27
959
655
440
589
618
171
686
790
644
650
624
575
108
239
54
891
931
551
259
510
396
783
221
940
627
991
660
827
885
731
67
296
532
20
389
347
345
198
931
655
544
229
228
332
556
959
74
108
703
965
425
299
21
675
138
220
846
428
515
389
290
760
946
220
158
827
299
877
205
213
916
411
960
188
169
540
722
399
808
61
756
981
593
782
805
125
760
82
971
607
443
767
352
568
953
9
143
441
464
287
165
211
405
327
866
919
259
244
588
954
863
620
515
996
215
145
371
986
800
808
449
153
465
705
150
571
439
219
789
689
966
870
788
121
638
914
331
594
714
742
481
447
59
816
838
496
812
547
638
283
933
554
507
466
294
339
837
788
494
510
322
956
857
349
383
686
217
510
47
830
131
779
347
481
702
351
11
399
587
220
988
55
181
55
252
736
72
299
556
748
985
485
133
637
992
827
236
516
224
890
600
407
851
444
642
173
904
888
391
692
854
235
797
140
580
206
347
942
389
550
199
363
790
92
96
529
918
369
602
339
103
917
960
789
219
273
480
958
838
887
922
158
626
173
92
401
41
29
386
705
905
125
78
439
884
177
791
90
91
251
6
478
399
395
332
761
845
568
902
687
370
916
665
665
903
925
375
25
348
424
68
951
185
626
633
318
686
732
801
308
949
385
243
879
884
25
317
86
955
287
29
196
455
131
432
117
893
175
183
655
591
648
469
69
42
856
9
195
107
984
147
464
96
117
341
458
792
592
872
170
318
211
659
591
785
631
629
373
789
619
118
156
500
821
693
42
510
553
612
595
256
50
464
806
59
127
880
532
365
557
509
231
897
559
375
523
76
126
519
577
384
796
54
4
392
681
947
549
150
607
275
842
401
213
238
4
433
9
459
633
629
61
206
704
447
485
102
713
372
349
277
524
767
277
561
54
860
36
278
530
894
440
431
756
32
386
343
490
67
807
965
149
742
261
451
820
165
834
558
909
865
576
748
993
49
523
791
57
347
143
686
285
510
517
881
257
436
895
552
547
191
409
945
383
712
51
957
520
854
344
8
21
676
242
732
97
200
60
918
904
938
145
159
771
155
434
898
33
585
813
788
860
442
921
540
66
30
296
92
536
261
499
986
706
759
944
555
569
124
570
401
721
565
607
502
435
58
485
578
111
882
720
125
484
204
941
145
996
631
495
502
911
958
900
354
981
848
98
753
338
972
236
169
246
708
49
913
146
625
274
520
496
212
251
58
162
595
935
472
373
323
530
74
261
466
348
532
479
421
388
887
552
797
100
813
210
695
519
224
942
183
217
939
752
802
68
915
952
550
447
24
451
904
110
306
578
868
105
322
518
579
190
169
601
416
661
442
730
154
296
825
620
348
496
456
296
69
899
239
985
807
664
941
572
424
806
615
531
404
640
334
828
63
904
650
837
172
886
141
867
323
265
417
194
118
495
727
637
541
172
276
554
852
553
874
817
899
274
790
632
369
915
365
435
231
91
540
651
980
395
635
341
443
358
220
137
290
297
890
589
34
325
735
722
814
222
538
604
914
378
548
504
762
622
423
16
302
386
243
184
252
618
72
515
546
450
526
310
591
976
210
830
455
817
663
344
212
976
221
901
604
513
309
690
379
59
341
693
435
867
284
306
54
332
506
703
334
343
258
411
762
39
434
990
419
821
715
66
372
433
864
260
503
310
746
244
608
79
795
123
500
52
237
699
154
386
489
404
565
131
61
214
290
955
398
588
734
207
586
311
342
771
227
805
642
498
218
532
124
922
557
344
791
316
718
46
663
414
348
220
257
698
823
782
354
471
567
967
379
638
696
619
308
535
746
398
888
701
61
987
116
300
517
431
57
652
958
962
36
576
368
391
839
392
406
40
686
151
643
386
370
762
761
139
545
118
97
945
514
795
269
891
510
822
743
843
148
443
490
11
686
98
56
317
559
581
260
196
950
832
202
65
500
936
617
440
273
609
13
784
982
371
579
556
924
731
304
379
683
798
154
315
714
936
320
250
814
403
675
367
870
14
223
515
528
188
80
406
57
442
19
617
647
131
680
586
880
551
712
294
781
753
672
774
245
77
487
59
49
557
825
805
281
160
804
754
310
115
602
917
581
724
98
927
11
812
635
924
349
587
416
703
48
800
154
645
321
283
265
721
607
697
929
695
339
805
940
2
375
440
747
928
879
104
499
892
87
395
943
914
979
925
639
192
192
457
678
162
418
232
12
527
174
804
532
707
519
65
653
662
281
233
889
58
142
277
783
474
533
773
670
808
173
835
164
315
963
709
947
380
663
998
771
641
622
831
462
233
433
447
398
969
131
509
636
771
457
90
559
102
797
970
141
673
942
751
319
170
962
750
483
527
197
64
830
345
435
27
619
816
307
937
833
995
538
99
677
60
428
184
786
865
94
821
442
538
279
447
273
205
504
994
759
680
198
262
372
800
54
134
809
739
841
682
562
632
41
59
999
760
786
104
935
541
260
721
692
500
386
819
979
333
536
946
713
284
498
557
301
850
866
968
329
406
162
681
92
931
977
251
636
960
433
552
91
593
338
99
150
76
760
438
439
870
358
235
821
326
672
261
180
16
970
525
703
119
404
237
20
691
860
783
907
461
497
491
133
770
77
712
955
103
495
580
567
721
635
993
271
706
548
73
85
13
662
750
835
171
26
951
581
519
94
957
783
503
191
733
462
802
322
361
994
78
900
298
567
990
516
35
477
700
872
691
878
941
462
667
842
756
711
670
103
116
104
539
273
165
706
408
433
875
579
591
973
227
796
72
933
168
12
80
455
372
593
884
653
105
411
554
583
904
984
640
689
269
904
654
126
133
295
990
620
89
927
322
245
286
938
211
364
83
320
546
455
299
940
732
541
730
884
74
311
346
198
429
323
314
796
985
278
536
190
434
778
246
543
442
42
613
354
88
834
812
959
871
227
744
96
123
416
315
933
211
260
93
77
985
76
491
811
814
778
565
813
801
123
5
788
237
149
697
660
815
720
689
669
766
84
394
932
612
117
471
199
19
943
881
790
651
959
418
488
141
480
535
966
308
524
191
687
277
834
25
996
612
702
298
488
463
645
286
546
620
340
426
540
49
596
815
720
904
712
478
666
727
188
605
834
196
521
705
224
283
817
293
32
709
927
985
537
326
470
820
856
296
237
597
896
720
589
531
115
461
902
105
387
941
198
614
561
404
850
333
337
466
821
589
929
891
19
308
887
614
526
655
707
565
508
531
244
950
100
151
977
554
260
679
487
634
224
879
117
385
325
602
56
851
808
541
995
611
804
660
517
994
423
481
862
488
800
263
822
939
866
935
446
206
899
296
711
777
766
805
870
283
175
819
25
522
906
716
435
100
946
382
169
666
376
325
346
471
96
767
786
157
851
271
64
317
15
729
465
179
199
174
132
812
561
57
935
147
836
991
264
925
151
187
152
930
38
225
927
474
928
301
371
749
13
974
883
792
102
745
791
186
2
951
966
443
661
724
744
52
327
109
317
544
630
966
715
629
980
322
340
12
300
685
665
979
367
885
34
834
13
500
46
261
560
712
961
735
202
802
496
806
709
556
728
270
561
43
577
691
981
136
261
920
359
476
376
420
79
92
146
440
928
79
663
297
522
231
412
134
232
516
135
672
765
811
111
108
105
665
268
748
621
833
948
274
73
656
539
254
189
507
79
229
713
617
763
354
278
225
579
608
959
680
164
488
412
267
266
473
635
716
621
110
674
392
960
180
264
730
513
499
963
606
708
767
311
860
536
776
627
133
515
616
77
495
221
293
3
192
277
684
309
752
636
979
35
591
585
172
592
832
926
677
57
332
580
131
993
374
963
896
823
359
715
621
551
710
132
82
924
26
202
262
499
399
809
494
59
898
439
703
659
567
10
143
321
220
739
284
63
508
208
441
389
873
18
775
519
129
400
222
853
239
743
555
738
75
344
413
778
346
188
752
986
345
991
241
205
202
128
679
209
322
104
611
279
877
516
44
591
301
583
497
622
983
728
18
784
568
300
191
306
797
87
603
365
474
864
806
895
239
591
429
164
85
596
835
78
8
873
442
516
694
449
134
27
147
182
817
589
750
969
649
456
105
762
611
374
554
22
979
624
314
62
69
55
314
297
2
950
437
109
419
53
948
629
199
605
27
571
92
420
804
363
595
746
406
681
963
192
309
452
740
557
52
593
31
922
128
989
73
206
376
328
424
420
852
216
322
356
67
261
83
959
233
370
531
501
197
578
577
461
461
112
29
90
98
588
160
903
34
361
289
318
426
43
247
157
916
838
167
34
743
639
999
511
118
698
288
102
109
468
425
254
468
665
589
973
895
439
987
519
769
276
693
90
935
316
400
757
249
307
637
307
88
540
660
810
462
201
23
650
58
30
784
237
325
386
163
22
249
840
401
95
970
407
682
488
66
506
790
202
717
408
656
629
179
916
149
692
18
0
243
796
34
191
198
79
879
350
212
893
120
979
366
934
266
457
693
547
813
826
335
863
770
203
986
804
793
165
505
52
818
41
931
714
975
779
480
191
804
372
885
104
732
7
632
818
793
872
704
268
34
938
838
3
448
216
321
932
194
867
186
872
90
146
956
6
293
936
938
655
612
176
957
200
469
674
745
93
625
413
759
414
758
448
229
572
367
415
839
133
599
920
326
10
487
489
767
880
415
231
594
563
604
978
183
652
748
983
862
263
447
290
310
79
160
367
728
55
383
341
292
600
919
310
104
944
712
158
783
800
158
365
774
933
770
532
349
344
821
802
41
992
74
981
877
586
514
907
282
902
551
846
486
11
833
330
49
991
840
591
730
783
809
285
764
599
763
299
316
456
886
629
659
461
211
961
500
990
234
167
369
795
99
160
609
38
78
972
112
286
512
474
70
955
275
338
291
355
310
948
997
870
987
585
32
870
734
557
419
469
150
717
837
206
214
590
610
403
988
65
436
361
29
264
306
493
725
214
202
248
755
599
968
701
221
471
93
856
520
109
105
421
500
475
719
988
733
421
989
879
213
745
724
326
840
744
323
964
425
494
419
614
608
228
698
742
891
792
333
211
584
50
944
224
240
399
380
904
476
687
620
659
265
980
128
190
524
13
943
87
521
969
556
289
457
228
728
553
699
303
367
437
338
668
456
371
848
50
432
174
59
750
756
941
156
224
429
190
90
201
470
80
219
492
666
638
281
420
57
259
289
731
661
664
958
927
440
56
121
865
836
238
496
382
345
816
697
121
245
916
742
183
674
217
450
500
18
309
129
393
112
166
197
116
717
115
264
75
26
998
386
624
912
676
245
458
744
656
645
52
310
117
604
957
242
398
103
181
984
612
470
233
848
997
386
636
529
297
344
214
345
455
471
857
784
699
541
438
296
672
130
882
832
45
321
884
727
818
39
479
711
768
626
693
234
625
356
152
551
97
119
475
173
213
989
626
482
302
37
520
627
170
352
256
995
545
919
240
111
964
429
610
451
88
863
499
32
101
740
740
158
185
937
955
563
417
439
553
759
345
631
713
755
267
219
697
100
39
348
749
800
907
806
634
13
374
468
290
449
307
203
663
692
415
566
935
393
322
366
585
488
137
991
228
502
562
677
723
164
413
418
657
388
196
832
503
594
517
123
394
298
270
409
260
117
846
787
849
897
219
336
921
992
587
926
660
345
558
816
551
936
374
591
346
513
870
103
604
389
744
93
794
616
366
3
967
359
763
462
132
646
830
654
501
998
160
953
489
609
667
918
626
985
976
323
621
872
578
499
902
70
836
794
66
877
757
492
196
134
826
571
848
383
987
279
751
524
185
967
709
802
199
713
902
260
681
663
27
256
924
181
662
391
326
386
291
807
572
671
214
886
404
277
978
335
567
575
377
963
444
585
866
325
108
111
94
357
761
267
536
822
506
972
917
566
458
883
398
965
672
905
654
257
632
399
596
555
488
843
312
512
112
411
8
910
678
728
793
647
173
264
272
953
204
153
60
269
770
442
809
693
672
435
807
845
708
753
469
99
986
810
266
703
567
752
520
382
874
832
382
24
534
295
317
554
643
877
917
161
246
151
55
578
582
306
799
857
203
176
279
951
843
817
775
26
9
871
867
740
127
13
23
593
578
683
484
465
109
949
734
931
935
347
681
764
201
412
853
626
642
16
247
167
867
285
147
575
334
65
977
653
373
420
708
33
311
132
833
545
393
551
883
852
74
411
811
993
241
106
938
959
725
840
369
712
648
67
507
56
205
536
358
855
958
423
158
947
137
35
296
402
111
261
867
490
620
718
462
596
107
590
971
593
729
417
661
934
370
900
569
177
281
581
545
425
686
231
282
349
148
794
603
870
345
495
459
191
326
55
10
324
893
932
234
668
788
52
837
87
448
6
725
707
697
303
298
308
617
511
571
890
469
966
749
87
162
64
198
355
418
146
559
81
17
193
933
445
934
548
87
71
406
838
782
331
813
994
234
604
737
926
257
547
376
840
15
826
447
786
90
944
732
73
790
147
60
11
645
57
481
431
187
478
271
565
694
18
107
28
846
204
260
418
991
114
389
649
678
584
923
288
848
349
889
99
614
831
9
953
481
651
523
320
879
629
44
11
129
603
719
31
762
15
711
335
828
3
598
596
749
3
17
216
737
607
360
14
117
87
520
633
595
598
76
846
198
73
893
437
195
466
502
289
206
155
784
391
273
673
138
68
370
645
128
325
781
276
164
484
250
793
584
961
389
832
948
878
368
566
930
726
383
821
932
99
725
464
285
96
851
21
29
34
434
221
788
514
946
567
607
451
518
772
418
871
769
209
866
10
600
544
747
851
833
603
486
584
561
220
471
295
88
133
782
229
390
355
317
651
598
370
986
713
103
428
900
775
147
612
785
380
140
158
767
121
728
537
284
376
372
764
588
492
507
763
95
663
355
895
471
17
362
615
538
69
738
756
622
28
557
512
868
636
275
124
76
409
641
109
851
693
121
104
966
152
65
422
613
211
990
788
751
28
891
831
497
583
51
608
854
325
25
919
120
867
313
998
800
305
729
884
753
152
938
107
588
159
421
983
983
866
114
81
310
125
227
155
46
386
123
240
731
475
909
780
676
111
301
531
806
664
815
513
183
21
452
216
60
22
499
163
133
965
87
894
758
309
184
372
95
475
713
901
116
725
262
336
49
194
858
608
790
70
742
661
291
662
31
117
906
383
943
989
25
254
676
166
768
576
566
186
471
365
626
305
87
141
371
881
252
585
146
70
466
674
787
539
714
682
520
765
737
647
192
55
538
194
32
687
429
814
496
784
15
953
820
926
611
471
106
877
580
441
0
848
750
987
389
107
883
18
456
314
282
153
320
473
361
518
241
105
148
336
688
263
452
407
853
338
299
257
532
914
325
109
258
814
774
144
935
15
826
182
973
370
740
894
407
515
822
444
364
310
249
271
165
225
170
35
263
359
422
755
299
392
362
49
311
223
911
661
741
689
344
779
316
754
128
659
365
484
111
911
326
954
991
378
986
563
769
997
356
540
688
758
532
50
443
211
233
711
767
634
757
484
463
846
619
16
789
41
274
571
637
965
154
121
990
582
964
477
880
523
428
310
537
501
282
421
6
934
6
10
437
952
303
695
107
824
551
732
698
496
294
904
283
421
451
94
459
327
838
404
938
833
864
222
22
427
863
179
867
201
722
86
823
692
46
590
129
224
254
123
376
596
994
223
698
826
116
904
103
515
20
95
700
528
691
766
481
524
661
303
163
448
399
398
366
979
600
493
970
922
593
855
879
105
272
922
190
991
120
997
378
47
550
337
228
780
422
612
550
581
962
547
444
123
245
401
42
722
489
213
166
327
860
429
565
715
431
858
0
962
356
315
669
363
829
207
246
603
542
965
382
823
68
621
388
639
196
841
712
42
454
514
755
795
296
951
567
859
338
395
699
641
696
5
901
774
683
770
293
959
17
242
318
11
675
687
661
772
63
497
588
971
658
52
176
454
374
957
405
394
828
497
359
487
180
554
814
584
577
214
711
899
220
750
152
599
642
775
415
956
587
830
223
302
133
232
557
768
65
894
863
123
699
489
268
632
229
34
121
819
35
319
430
148
469
396
875
181
461
876
996
77
113
636
608
504
385
578
333
908
157
345
554
479
74
618
345
788
778
222
636
40
635
54
991
687
135
241
819
804
555
902
946
463
198
411
982
633
411
564
369
284
686
717
558
513
71
909
381
358
81
766
32
353
182
962
618
592
716
62
410
362
597
29
873
940
201
367
430
794
344
89
421
169
124
400
31
470
977
710
318
150
628
817
193
841
981
534
744
49
816
591
941
920
238
516
628
347
191
198
690
631
27
912
734
6
298
174
341
7
367
741
294
673
119
128
257
359
666
904
384
581
941
133
472
35
431
848
139
851
202
97
187
729
571
477
532
446
613
529
865
42
992
348
143
771
819
452
238
947
346
626
60
416
554
247
350
103
163
99
771
622
985
626
534
167
494
45
411
572
454
534
431
717
194
926
188
533
948
541
875
236
880
490
757
444
24
457
34
434
214
825
378
692
942
87
503
19
71
710
490
195
31
882
921
254
29
589
136
482
566
871
447
463
848
270
420
235
643
8
607
920
531
800
815
881
563
263
302
462
380
88
62
922
44
147
445
154
93
141
232
759
425
734
348
253
511
407
917
481
746
404
363
187
431
158
594
443
266
724
679
378
207
253
708
123
31
401
271
577
482
636
534
392
510
343
912
159
342
482
240
848
72
7
305
540
609
992
341
287
11
777
933
988
503
36
969
837
918
274
476
685
641
802
974
635
527
560
317
411
293
253
488
364
328
948
281
881
850
446
43
96
914
369
341
199
850
322
77
178
651
87
31
549
746
976
878
238
986
913
31
642
602
110
210
752
986
315
455
31
546
460
15
539
848
805
632
297
500
711
197
557
888
134
477
136
72
595
673
956
48
294
111
886
110
681
342
470
860
397
827
223
476
713
445
488
238
648
58
238
79
684
447
712
465
907
192
680
757
672
519
470
589
441
219
348
686
368
884
455
665
222
274
969
387
136
5
9
573
441
467
99
246
106
995
63
841
860
768
440
686
598
770
163
391
571
552
906
120
430
570
163
114
853
327
224
877
982
525
632
26
82
618
907
194
676
238
841
746
683
908
274
991
271
428
440
699
287
469
25
575
335
979
236
217
361
153
154
836
613
884
546
930
562
396
451
47
87
301
365
819
395
603
786
293
716
790
976
766
157
674
206
515
473
803
704
390
889
310
0
433
620
459
824
1
928
36
547
31
111
804
903
564
137
728
628
510
798
141
919
939
154
477
637
865
32
125
225
539
637
850
593
38
111
316
196
731
277
908
44
71
452
668
54
841
303
512
316
149
100
130
113
964
504
546
56
187
87
919
305
593
305
635
242
439
772
606
715
340
985
149
824
903
78
868
711
349
552
427
46
521
986
242
884
830
846
551
300
581
567
512
401
829
443
688
958
150
702
240
709
972
257
878
660
315
261
614
617
108
730
306
735
516
484
411
766
896
631
397
97
336
681
14
54
16
575
501
92
324
537
36
281
760
425
673
7
561
534
151
839
674
365
153
308
898
871
731
190
202
461
213
928
683
500
941
689
944
705
952
171
111
666
907
795
754
603
579
884
343
604
11
692
680
182
275
227
557
136
412
254
37
388
621
896
679
138
827
530
202
15
377
969
197
902
821
751
471
343
619
209
287
557
117
812
538
999
95
155
795
845
80
329
906
495
102
47
160
962
110
837
854
619
738
367
495
109
800
729
57
513
923
646
921
523
889
899
832
44
137
118
114
824
548
891
422
121
974
664
412
572
729
696
364
699
474
239
326
566
701
876
914
580
681
422
192
662
630
554
473
84
211
742
686
719
489
448
549
23
411
651
553
808
370
463
565
602
881
576
755
735
526
234
785
170
347
429
14
677
390
205
568
638
667
276
17
5
942
175
143
306
620
221
177
515
404
754
528
310
348
823
290
184
238
987
804
413
790
716
359
870
993
132
990
874
665
87
53
954
718
910
901
759
41
580
286
425
182
496
5
231
877
289
893
698
767
565
391
979
996
17
869
32
178
133
24
6
156
274
472
146
825
246
401
280
624
463
194
574
616
71
612
760
911
100
359
587
161
322
660
95
337
957
266
844
899
665
739
300
538
223
160
826
702
542
276
884
42
596
28
540
208
746
624
203
220
925
551
63
851
301
194
466
227
745
812
178
373
68
97
133
107
891
973
995
588
485
641
34
5
432
264
56
216
322
300
508
96
359
747
161
830
297
56
148
474
187
810
144
124
670
770
531
493
318
598
711
113
763
781
237
487
704
922
863
839
573
489
339
347
743
192
3
593
801
612
984
363
924
16
588
129
892
99
856
562
204
754
76
17
487
294
9
313
674
149
581
170
354
819
866
436
273
948
490
956
10
642
792
364
784
934
824
736
677
181
937
824
77
786
567
650
711
543
174
951
315
131
545
391
207
441
552
468
111
617
669
728
715
158
191
452
759
727
99
988
59
931
352
132
178
970
349
560
121
91
142
267
708
415
971
252
67
476
475
291
921
682
976
146
247
713
106
199
324
752
145
789
241
792
466
103
916
899
242
851
273
225
912
735
411
109
956
379
198
26
55
85
412
659
989
475
388
517
524
42
965
366
326
832
36
166
520
985
489
44
579
612
936
753
123
33
739
602
675
514
298
88
819
967
156
52
551
822
687
910
363
245
540
916
703
332
354
630
69
972
639
630
26
904
758
670
923
12
812
356
245
373
633
917
13
807
7
425
361
803
74
535
713
173
373
623
891
651
37
592
715
491
683
818
532
995
272
908
524
929
659
332
251
144
544
774
378
244
709
477
33
337
939
11
327
359
872
833
645
480
623
813
527
174
277
418
305
663
503
905
991
104
314
10
876
51
374
219
59
307
846
446
93
956
925
130
299
519
583
761
950
105
689
910
254
745
152
220
158
68
642
626
959
774
690
362
298
403
779
380
397
634
534
446
491
488
564
646
699
468
288
434
88
39
731
83
481
90
891
485
915
471
780
89
579
971
146
357
287
703
297
270
126
303
694
855
239
563
566
50
167
920
233
198
219
734
292
442
308
915
236
780
221
582
598
129
937
670
12
667
993
53
72
85
836
203
901
203
973
871
884
484
777
246
970
527
637
264
831
254
373
494
727
353
853
877
404
334
340
977
783
518
197
436
338
765
431
177
366
319
497
5
487
563
453
552
274
555
56
732
682
586
964
619
385
343
630
336
46
887
828
429
569
917
870
313
154
443
993
375
8
665
918
450
342
893
511
788
751
359
234
998
670
278
600
321
448
228
573
436
408
508
831
515
719
305
933
783
593
695
518
186
660
293
837
916
894
109
673
64
144
85
368
397
882
623
994
677
544
430
296
199
467
386
633
814
926
199
541
452
22
421
929
742
45
379
443
33
244
243
974
593
566
898
582
866
171
641
205
782
403
698
864
281
822
377
458
27
402
688
712
598
518
911
272
58
390
278
561
207
131
634
967
919
819
280
161
303
711
502
154
934
451
336
557
634
790
620
787
198
36
762
929
747
832
557
640
908
781
339
741
86
698
423
253
497
563
773
93
657
416
340
178
776
717
450
697
490
586
471
644
490
471
482
180
771
320
829
607
111
404
97
192
162
44
474
308
508
989
367
673
800
896
207
540
330
244
842
785
347
135
248
735
756
360
218
848
883
681
434
555
216
812
230
561
149
960
486
979
76
930
344
61
126
635
983
925
282
576
418
935
630
808
125
710
70
739
351
728
771
35
958
30
553
199
547
653
632
90
79
563
176
983
888
456
460
827
946
617
453
398
393
661
656
762
958
241
699
893
848
46
797
600
305
236
369
545
463
73
354
393
971
320
617
705
38
590
594
806
316
218
219
617
862
536
559
513
772
749
472
926
702
334
811
246
971
191
580
549
859
614
603
489
343
826
343
150
598
872
790
710
836
397
959
198
212
189
108
545
933
450
657
246
96
934
62
896
533
685
121
626
494
700
711
138
486
212
326
439
845
122
229
196
47
686
553
572
210
532
591
389
470
580
816
149
270
478
790
840
703
278
876
880
887
873
902
577
121
144
928
50
87
640
14
560
954
627
814
422
574
886
957
61
671
410
818
484
776
518
406
503
592
294
42
723
122
970
413
723
125
618
469
779
573
172
765
876
919
946
440
28
0
98
196
824
538
66
618
807
885
599
379
58
471
239
910
285
925
744
856
216
516
634
639
522
422
64
755
86
149
263
678
508
509
972
90
187
264
8
695
160
689
161
396
614
280
15
733
205
195
413
461
878
564
340
524
473
669
530
685
925
888
272
494
702
379
279
831
648
751
246
997
993
478
106
661
642
64
123
79
249
318
105
706
173
510
140
242
960
630
260
506
514
623
41
686
202
247
283
773
191
867
22
860
865
831
844
553
214
457
646
866
998
736
107
840
167
907
524
605
706
396
506
200
485
719
524
829
207
792
270
359
374
332
493
305
258
133
211
932
710
769
258
945
516
894
358
939
34
16
526
700
178
489
643
598
96
433
595
868
68
615
323
845
225
468
415
449
467
604
808
803
900
991
170
412
45
401
743
784
139
768
888
815
590
967
268
485
740
395
608
474
745
637
238
407
352
798
791
994
474
216
963
32
959
496
643
49
803
719
69
571
334
353
686
732
750
658
913
217
38
6
63
570
275
278
622
86
432
210
483
338
694
209
724
27
330
952
32
177
969
915
1
423
356
756
735
699
757
387
919
112
529
301
922
705
890
301
221
381
84
862
20
496
525
645
907
670
199
328
906
96
8
296
724
349
403
815
369
12
643
817
567
653
919
985
23
38
967
538
446
957
512
481
401
358
990
363
850
980
986
459
570
354
154
328
350
584
21
895
419
389
86
211
698
346
622
180
785
9
396
670
913
280
87
354
229
637
350
299
296
866
78
195
235
77
796
282
926
523
756
833
557
835
87
993
862
826
780
944
405
132
170
308
677
289
283
509
746
776
276
259
898
805
649
422
845
425
798
570
35
132
228
580
363
572
404
626
820
912
599
524
991
306
713
715
865
91
173
255
864
632
77
128
590
166
924
861
375
122
199
211
104
753
432
532
731
714
639
518
256
570
173
776
423
355
0
693
974
546
86
448
747
22
133
297
735
527
928
226
693
297
292
578
858
660
778
713
761
427
532
864
0
230
644
255
93
433
258
996
657
924
599
728
455
898
237
861
650
202
515
999
328
0
129
569
646
782
978
740
789
850
910
435
533
1
361
994
865
297
535
84
622
37
985
204
684
354
847
949
253
828
324
301
189
804
640
687
456
298
474
373
517
685
255
66
823
370
207
430
238
570
851
247
475
407
686
235
17
655
891
511
573
912
601
52
698
398
110
927
531
726
546
9
433
745
24
174
754
141
878
234
113
922
814
64
61
938
437
256
993
626
278
259
349
209
2
126
879
388
256
12
21
731
327
493
131
917
266
683
276
238
490
318
157
683
428
960
753
654
404
453
740
272
17
115
510
672
50
82
464
200
573
28
655
294
468
239
961
661
858
571
276
764
698
439
233
537
555
97
169
480
611
139
575
229
929
996
20
755
896
47
853
190
728
526
909
220
458
56
751
763
702
136
301
128
415
756
585
497
295
214
580
859
270
824
10
818
124
225
447
526
904
264
917
788
384
305
269
278
462
381
301
150
246
893
108
839
483
843
828
598
610
848
188
38
713
398
409
866
191
940
333
478
869
277
407
811
674
598
923
360
212
114
505
234
841
958
773
702
735
32
381
991
679
344
48
645
343
687
542
560
497
647
8
462
147
152
10
367
177
116
216
300
553
717
214
129
136
901
531
138
761
369
397
790
98
43
600
734
622
419
766
730
179
534
772
914
935
742
465
340
636
351
560
400
870
207
451
245
56
283
402
273
737
857
829
697
766
85
960
929
638
180
166
853
794
959
222
793
678
156
319
593
387
418
852
159
750
32
690
939
888
485
934
734
875
300
614
210
343
914
983
318
170
397
885
131
647
973
151
398
276
607
353
574
59
291
558
90
51
774
22
299
997
755
959
826
817
15
650
242
113
448
168
183
287
705
21
317
516
614
222
391
601
226
356
33
729
837
993
994
808
503
668
874
843
80
886
649
873
442
322
328
645
721
935
775
436
759
759
124
461
55
847
515
496
594
159
519
119
564
621
91
320
174
136
435
999
706
93
25
70
729
120
337
737
350
841
971
696
704
77
450
87
105
631
902
211
882
113
873
629
56
391
464
234
609
623
670
849
893
455
50
684
130
289
822
573
462
95
117
931
524
608
701
484
830
872
878
904
22
812
979
723
72
142
925
985
120
597
734
474
389
944
311
11
949
847
384
185
589
192
10
256
112
781
20
688
781
742
304
553
985
854
522
688
73
114
455
87
926
313
886
932
298
652
164
487
474
764
819
828
427
958
747
877
625
451
496
813
286
517
699
902
603
698
781
655
926
39
806
86
147
482
380
156
3
771
214
91
194
741
682
6
63
750
66
215
583
141
77
944
57
217
560
892
391
663
611
310
211
173
194
39
575
528
737
995
190
396
363
526
714
808
360
882
654
800
733
708
810
558
329
342
590
967
439
645
972
557
14
8
347
274
217
714
357
262
971
699
383
615
270
713
330
60
157
75
230
13
302
653
794
151
163
842
749
683
471
457
535
297
280
870
925
639
454
797
512
805
208
842
207
619
50
787
156
940
978
414
434
909
205
600
924
830
743
895
775
581
636
55
402
770
56
418
687
738
180
215
820
828
591
473
465
374
717
414
502
587
554
780
699
795
800
630
594
266
460
334
261
928
592
328
323
597
361
550
518
430
808
971
272
870
662
672
818
744
576
652
646
222
996
552
821
468
853
608
238
930
53
528
779
111
819
47
539
911
419
51
925
896
551
991
548
520
698
388
875
117
678
273
560
64
196
130
154
465
764
874
806
447
664
790
845
881
801
840
323
87
138
341
861
45
63
63
724
219
617
7
16
710
36
907
988
33
733
135
862
724
57
146
270
579
896
709
324
574
491
868
496
172
183
761
274
170
194
924
587
381
729
44
717
733
119
944
758
679
647
59
810
461
726
29
583
518
189
251
745
918
571
942
821
864
868
808
912
421
451
718
206
145
191
508
250
191
592
21
635
2
514
678
714
502
88
239
445
689
457
872
695
93
142
20
613
340
223
256
345
220
341
476
220
568
882
360
942
232
946
400
568
238
23
430
783
172
871
464
471
334
270
935
926
810
194
416
85
728
440
476
270
445
197
648
410
828
867
664
820
797
587
383
588
542
549
942
374
250
202
887
962
843
740
448
163
630
33
821
568
494
60
596
721
638
873
607
302
250
687
23
328
985
322
178
987
33
474
295
372
259
462
292
732
776
910
868
521
470
534
548
595
507
437
104
148
885
106
153
969
544
411
991
554
466
595
751
93
977
857
589
721
401
462
613
184
373
752
278
67
640
535
498
159
379
950
331
330
530
450
666
943
845
586
227
374
246
315
72
501
833
582
998
92
243
922
159
970
384
965
128
320
301
169
15
67
281
925
405
176
387
782
228
577
769
589
571
41
844
144
624
366
532
16
266
952
122
562
180
601
834
56
513
695
656
122
986
600
254
134
975
260
33
852
768
48
898
335
306
596
933
515
417
806
514
562
54
686
733
945
745
542
684
376
730
754
860
832
249
512
864
190
235
319
594
280
273
942
676
591
601
94
660
82
805
471
366
339
668
203
379
720
763
36
760
111
510
404
412
295
292
139
876
365
781
630
814
712
191
352
926
656
761
74
108
944
37
620
573
651
147
402
162
124
908
355
325
887
679
924
550
678
62
385
944
415
679
494
271
479
246
32
834
557
361
401
980
911
548
812
104
112
816
174
469
960
323
711
158
208
293
759
342
530
564
645
263
584
537
472
707
984
118
510
908
286
437
933
904
377
709
149
594
627
109
390
877
739
648
189
515
672
457
699
32
33
230
601
569
796
69
225
124
77
99
830
461
182
322
689
525
878
489
918
305
118
484
403
436
188
285
693
6
69
88
780
275
801
461
817
505
961
690
645
975
763
219
125
969
621
494
189
872
477
973
323
899
732
500
643
244
238
768
116
434
896
621
88
319
709
50
254
523
319
124
988
780
425
420
81
443
647
112
704
663
430
192
732
98
135
132
503
31
85
277
561
103
426
544
341
804
410
713
66
437
872
339
892
941
851
631
265
933
96
2
17
343
481
860
149
799
819
375
809
585
649
843
945
822
298
329
68
24
283
528
250
397
292
696
176
42
100
954
603
677
678
100
446
121
230
258
411
554
174
726
813
335
423
266
365
551
629
455
704
855
292
677
997
132
141
351
341
553
456
112
915
204
855
25
413
668
824
357
257
961
743
91
83
975
515
41
580
417
601
476
679
132
30
968
762
563
734
142
402
0
935
734
409
519
882
192
885
842
811
334
339
434
59
408
754
960
315
57
776
733
939
772
870
153
856
133
249
957
478
960
259
874
582
68
614
781
99
473
423
214
608
671
524
367
672
299
698
825
385
231
357
430
447
919
22
255
641
457
173
883
955
636
372
881
358
70
171
308
615
131
988
966
693
884
344
823
62
448
550
969
154
334
77
306
937
54
999
790
703
375
655
151
970
171
335
659
163
264
392
192
668
694
61
389
758
191
603
463
463
966
223
770
167
108
498
796
122
863
574
197
693
6
708
844
512
69
905
720
333
487
145
8
335
793
851
689
873
350
570
833
273
144
224
861
470
1
639
479
958
762
166
591
50
771
934
239
724
850
348
27
939
512
228
594
777
59
893
733
719
683
259
992
696
512
176
869
260
415
66
816
415
390
908
37
387
213
492
534
237
290
224
84
499
929
109
690
182
945
622
745
542
555
721
415
926
487
937
131
943
580
350
987
775
418
637
514
426
41
651
866
515
478
801
918
771
963
786
879
157
121
310
232
270
561
524
674
536
820
237
698
766
891
618
210
211
713
379
945
334
492
4
916
471
311
955
861
762
735
897
527
152
913
375
883
727
283
197
890
693
720
51
525
746
30
664
217
859
342
198
285
475
188
929
917
517
553
295
623
680
166
541
598
3
111
357
585
809
529
82
761
150
437
94
732
794
431
437
876
170
178
974
510
388
814
539
651
399
979
676
700
6
935
430
519
380
2
903
121
795
125
411
674
664
766
261
248
110
555
147
23
878
265
246
959
874
263
122
402
539
148
428
896
951
928
568
653
805
588
286
936
696
383
229
334
482
441
694
17
657
387
88
928
92
417
351
874
787
680
629
301
618
112
557
446
473
237
179
640
70
347
18
317
603
605
42
981
990
241
846
241
331
376
4
801
622
163
282
857
462
736
752
242
380
609
790
582
955
614
221
524
741
668
925
218
295
939
663
917
680
909
130
844
278
386
50
401
677
657
387
489
511
410
354
44
614
294
166
508
938
38
361
51
472
117
912
14
665
442
51
677
153
861
23
299
264
993
489
472
677
940
186
223
359
70
373
716
503
137
486
192
256
307
799
349
468
642
849
568
959
990
807
666
7
500
785
601
987
418
76
393
336
509
606
390
722
809
368
442
856
221
707
195
717
216
992
323
496
969
523
554
927
745
758
142
645
755
485
243
784
544
384
749
765
962
862
206
52
183
721
822
66
701
547
864
839
984
738
810
507
263
204
14
345
950
224
1
914
486
248
545
964
449
417
558
764
535
161
771
135
657
29
566
540
300
125
165
416
915
641
142
676
269
404
813
516
264
296
692
815
233
772
355
727
549
696
467
800
157
66
883
899
493
656
821
583
26
365
318
893
724
659
76
14
265
853
943
975
417
988
107
390
483
692
775
415
902
623
189
129
967
296
633
441
624
841
863
521
168
850
33
708
556
940
407
432
210
657
416
217
982
982
688
940
75
653
8
215
697
369
121
999
527
516
896
412
734
857
16
496
433
540
779
122
847
414
982
345
678
594
525
257
797
870
846
562
338
522
554
890
88
279
180
604
262
191
310
270
882
709
972
6
142
905
868
937
108
317
444
563
676
521
920
24
960
785
657
482
591
957
231
15
176
820
314
542
545
691
330
749
410
734
696
111
38
877
938
705
29
76
960
531
136
960
3
560
499
530
717
439
282
534
314
884
513
313
384
907
167
230
195
818
18
725
857
578
667
667
778
301
922
259
528
382
668
571
767
179
311
697
824
714
879
984
335
606
485
784
748
519
240
671
954
492
857
523
238
653
576
105
982
520
597
269
454
56
613
35
910
125
447
264
800
301
371
596
988
134
936
409
107
652
977
791
865
623
227
267
532
670
63
57
590
508
84
695
180
280
188
857
850
90
686
585
279
466
706
379
425
747
942
946
714
91
92
892
423
833
392
818
39
375
918
503
332
164
396
973
277
535
369
743
535
304
8
40
84
624
838
521
781
14
634
341
744
546
837
606
258
161
876
702
167
93
59
309
33
559
917
98
152
667
817
124
880
747
535
404
909
224
89
105
939
283
737
201
921
994
513
241
351
803
281
579
673
756
494
624
218
788
978
913
211
135
361
508
266
920
698
997
716
959
215
509
790
377
288
453
148
352
653
953
178
823
374
210
875
962
575
927
859
963
222
238
404
32
769
665
427
776
187
192
269
358
34
810
186
112
793
916
528
346
567
63
451
251
718
410
786
758
840
234
205
930
219
490
184
801
858
251
176
96
57
124
813
531
555
459
842
494
538
876
439
193
661
226
892
175
134
290
943
227
722
561
522
187
95
752
998
219
425
336
903
614
188
589
367
600
809
98
349
335
288
886
523
422
622
299
98
22
898
857
53
58
558
687
934
558
721
383
700
635
883
574
458
945
800
475
351
62
485
509
182
726
460
616
303
146
528
12
36
278
170
904
565
205
507
52
192
738
190
529
939
875
487
181
491
795
895
35
420
698
638
922
244
947
996
12
596
624
408
407
389
585
542
148
163
69
97
698
650
495
118
15
474
598
950
529
533
488
830
236
831
921
488
548
389
874
475
886
517
921
703
418
918
722
276
842
986
929
84
604
207
72
931
364
757
986
179
197
664
138
147
900
266
991
488
474
571
363
421
7
252
226
815
454
396
452
196
956
519
86
392
786
115
139
134
133
445
384
248
755
398
742
262
302
369
874
66
923
134
768
234
688
455
710
349
380
485
239
490
142
466
435
290
81
591
714
571
999
145
322
100
915
402
936
87
204
624
422
456
362
60
753
469
825
129
520
668
921
34
788
447
849
62
282
465
127
991
295
676
460
336
30
534
77
773
146
506
799
157
286
654
113
198
860
84
265
692
40
516
488
858
332
185
104
885
507
569
139
774
755
639
861
94
536
891
95
469
798
302
449
690
692
576
873
303
695
627
151
486
199
477
742
448
584
196
491
393
518
963
389
564
874
565
942
307
978
38
867
355
244
140
374
658
756
766
896
394
24
544
877
922
970
157
294
435
978
263
891
560
642
806
957
376
386
282
139
261
275
460
267
251
812
167
95
659
303
502
907
865
0
64
139
426
286
755
944
133
145
580
348
848
468
923
468
114
86
624
687
751
337
354
152
658
986
500
478
355
492
423
140
3
122
249
894
907
409
235
679
153
296
297
465
18
301
544
578
686
784
106
784
179
912
511
136
127
131
833
523
303
473
942
279
709
526
651
180
226
727
20
44
66
84
184
682
292
112
911
853
401
751
847
103
878
735
340
168
898
966
22
643
754
885
402
772
906
636
242
216
795
8
582
105
338
73
139
889
106
368
613
999
413
594
288
82
208
251
842
216
707
399
190
797
803
483
150
872
481
53
196
340
389
24
607
756
600
508
119
465
514
748
402
640
11
200
50
855
359
76
937
759
589
141
352
451
977
976
289
632
309
230
878
220
518
561
503
242
892
770
204
646
905
119
863
392
614
383
74
125
506
427
213
718
783
474
875
288
588
838
945
68
129
907
762
430
544
788
914
129
703
86
456
341
637
771
447
232
488
972
982
688
815
284
896
502
794
348
150
189
673
37
885
840
132
221
895
464
888
51
178
985
339
757
475
801
659
308
576
182
311
858
799
572
580
587
702
427
752
957
581
899
578
956
850
359
741
275
384
332
849
159
686
400
468
52
256
303
234
96
786
616
778
193
820
415
387
937
301
882
195
329
39
674
458
592
582
679
494
150
463
685
21
456
355
421
754
451
145
879
208
319
57
592
649
916
64
360
574
968
712
414
906
644
953
958
50
137
70
579
848
173
618
946
679
833
477
368
631
981
286
392
840
132
727
45
188
818
670
591
584
105
536
498
174
325
95
515
611
128
401
178
555
808
646
312
700
539
41
641
0
517
463
157
167
895
538
272
186
86
415
330
680
12
770
181
321
537
805
74
621
927
668
893
423
601
685
787
975
744
430
832
129
291
137
279
154
543
134
885
783
283
337
483
700
465
957
952
505
483
347
488
619
321
629
513
171
795
293
409
228
721
371
384
363
865
218
313
785
731
149
807
689
546
29
60
122
243
498
200
674
984
85
907
507
503
753
815
987
45
412
291
618
494
640
450
568
287
837
885
182
339
469
510
81
233
379
996
771
738
298
706
511
347
496
495
392
372
412
171
980
711
733
89
152
956
550
438
259
69
146
11
545
847
241
48
340
209
947
327
397
594
797
241
484
342
676
504
751
68
814
751
868
203
160
909
580
242
535
851
35
109
773
516
655
113
424
955
548
307
833
582
403
624
237
514
687
424
740
41
926
415
640
804
845
283
645
369
577
108
575
787
550
51
222
268
676
917
221
740
291
53
177
387
342
786
775
654
514
993
575
587
284
813
690
229
108
652
36
931
603
950
140
545
112
310
716
111
418
432
410
431
566
371
568
53
883
990
324
132
26
774
467
793
132
174
950
79
901
423
457
192
932
120
633
976
874
831
971
200
531
115
98
828
445
95
717
377
79
867
68
910
160
844
145
905
629
482
69
322
917
109
830
852
48
658
460
515
785
220
410
248
879
469
235
81
263
152
804
45
281
898
149
208
941
566
482
495
607
265
126
58
0
918
148
396
481
462
127
683
685
914
879
230
385
57
492
310
663
124
989
750
563
713
857
825
574
516
42
416
718
897
680
106
533
142
277
239
217
502
410
662
239
498
948
614
627
320
679
648
693
430
476
731
422
661
265
259
274
676
823
774
93
470
246
811
912
253
747
26
312
160
378
782
889
474
955
203
797
43
467
358
42
742
344
587
250
224
77
317
947
48
833
590
509
334
877
248
985
744
843
996
552
286
550
643
721
657
864
747
288
737
136
739
636
348
157
648
665
190
606
121
265
940
685
240
242
46
246
147
394
800
703
105
292
497
322
528
530
984
926
472
891
334
187
958
209
606
404
739
216
589
580
168
663
230
707
930
149
856
639
483
350
22
119
579
77
63
980
916
862
650
576
66
198
211
114
854
542
345
114
659
781
778
198
131
662
599
249
183
581
186
58
769
321
351
819
447
900
954
674
834
862
921
822
852
767
747
391
270
904
956
926
707
349
59
236
816
115
95
0
102
446
489
828
90
147
375
635
228
96
309
511
343
16
515
421
939
171
477
226
714
812
925
197
916
307
335
182
731
291
18
743
202
321
761
130
149
851
442
205
644
229
796
630
676
899
842
510
152
534
129
1
424
217
187
487
601
830
68
460
617
920
147
676
794
984
126
119
804
561
110
58
261
553
525
333
489
109
96
471
189
884
822
284
892
902
997
180
281
882
146
375
624
110
751
360
284
479
293
673
322
318
323
614
469
399
729
500
667
624
637
338
155
725
811
882
384
438
882
784
877
352
427
389
618
893
223
8
21
123
733
75
579
22
576
615
832
962
612
380
848
910
34
290
699
170
54
26
319
549
587
497
95
3
263
882
902
172
22
721
998
451
8
427
638
781
368
618
572
76
951
76
751
502
793
140
38
388
394
961
460
129
256
364
648
953
48
481
368
547
886
693
700
216
233
615
435
585
568
408
214
961
784
38
474
53
773
228
815
998
900
683
569
546
563
357
568
926
536
179
907
580
787
129
448
984
60
958
682
872
670
645
132
828
611
264
160
107
625
919
368
232
724
536
614
991
654
367
837
505
192
688
565
930
121
396
305
903
639
196
786
706
163
487
494
67
123
539
672
193
800
619
838
701
388
257
702
935
824
222
758
693
248
382
686
478
196
652
722
675
374
62
53
7
498
571
23
199
855
308
198
726
348
352
160
727
152
853
311
352
970
649
436
166
319
231
651
677
971
473
18
219
231
159
990
887
613
393
975
584
967
429
105
290
407
566
380
345
876
193
991
230
395
465
481
385
744
762
799
449
268
186
773
540
168
634
656
650
176
453
499
737
836
475
81
761
937
854
363
44
507
247
807
475
934
49
216
128
923
144
759
36
903
383
916
959
473
5
580
174
589
577
931
986
547
499
855
160
198
602
998
130
86
622
422
932
833
539
196
879
492
986
671
952
327
662
990
940
54
842
658
989
39
514
613
778
109
507
424
481
896
831
433
662
256
887
737
160
198
126
402
647
557
989
910
190
210
830
307
627
141
817
525
630
111
20
499
60
269
122
285
243
286
714
145
953
461
312
129
24
517
794
107
25
583
289
690
299
315
909
786
495
235
330
118
800
390
9
942
684
47
928
450
724
872
884
942
961
659
505
641
967
109
156
639
992
776
499
504
498
765
839
210
460
735
589
998
772
824
996
122
784
711
511
453
154
614
616
15
314
745
592
616
657
942
313
343
903
869
18
524
692
713
548
127
450
995
241
437
209
436
809
26
750
922
146
999
640
520
150
291
162
73
140
872
743
524
318
981
767
553
281
659
549
432
16
364
912
1
670
288
679
732
438
40
72
756
281
527
192
641
516
412
529
577
777
918
15
912
793
503
7
393
104
627
612
190
899
516
687
543
610
718
773
664
974
318
59
426
336
6
718
240
993
325
417
418
983
438
293
257
685
296
482
26
126
773
886
259
999
162
791
991
821
570
30
849
828
486
542
787
183
215
880
267
63
346
328
489
160
167
173
773
133
250
56
374
435
457
690
882
974
533
904
370
768
796
530
740
257
130
971
895
457
707
181
643
738
486
489
884
543
486
568
640
638
302
939
448
702
100
964
829
891
166
390
724
487
184
536
603
675
577
328
908
477
111
16
957
714
446
748
685
194
163
80
394
944
289
352
868
853
961
951
231
786
83
418
17
346
218
674
241
247
626
469
753
81
647
52
187
298
754
340
607
960
909
773
231
756
257
730
348
86
798
808
785
921
277
511
331
129
73
169
923
124
402
226
396
627
112
527
726
697
225
600
608
520
604
721
736
267
914
856
264
328
705
997
730
230
194
821
218
608
719
695
3
568
906
581
262
963
267
635
926
815
935
794
877
469
272
829
221
741
668
315
232
31
463
749
782
722
770
444
794
291
942
991
10
391
736
986
89
172
47
555
555
134
142
321
682
549
539
839
105
889
459
71
495
519
745
208
976
753
786
73
543
196
506
410
492
836
96
554
993
425
674
160
682
929
717
498
572
0
414
67
969
744
536
998
672
437
834
414
539
350
172
834
329
726
376
502
175
756
55
176
132
811
711
809
55
86
950
872
716
613
290
974
984
33
868
970
31
347
947
169
937
915
932
530
461
611
515
393
460
404
651
226
74
757
576
987
36
365
837
802
655
873
857
56
17
119
334
492
880
611
565
80
73
813
519
850
866
91
387
527
421
419
990
867
541
27
925
380
125
452
912
239
469
410
760
37
416
654
258
851
549
517
204
117
568
553
626
174
205
89
621
75
947
832
151
954
405
36
209
874
199
344
340
307
841
821
66
355
579
840
877
132
642
55
94
430
778
297
932
110
311
615
665
629
365
797
651
2
639
15
143
813
732
858
121
139
117
766
791
614
502
333
709
317
610
394
991
330
238
41
359
460
643
572
492
793
998
168
689
208
923
79
646
758
523
813
309
707
777
126
108
798
846
877
996
219
467
206
494
633
320
705
398
49
248
828
439
600
297
776
819
992
452
104
489
619
606
657
906
542
209
766
345
980
344
127
410
139
474
517
462
900
405
337
176
294
650
520
540
306
138
913
486
145
551
7
679
214
285
509
613
71
110
448
750
287
651
236
763
891
421
380
897
533
662
733
898
359
50
870
354
546
549
211
396
953
123
542
625
634
875
734
978
853
880
826
239
820
704
104
181
21
671
237
926
857
608
187
478
238
771
780
501
590
675
563
206
66
740
797
881
495
952
335
174
359
49
904
419
418
260
544
574
904
582
36
458
986
197
675
798
765
67
490
415
85
973
483
867
412
659
741
770
369
163
337
704
557
715
984
933
922
732
529
34
203
692
540
618
957
153
946
807
95
597
666
765
473
934
498
975
723
500
216
533
277
623
515
76
792
60
651
399
595
136
797
345
56
673
973
840
817
774
417
947
630
175
165
817
579
447
614
521
670
833
329
396
499
171
875
674
56
263
724
821
397
263
605
415
694
217
831
660
380
724
455
128
149
70
118
345
306
573
254
940
34
528
692
244
613
9
594
599
426
69
664
318
671
754
708
301
178
237
82
7
724
751
923
856
761
979
648
726
58
233
648
14
732
668
547
113
335
558
535
969
750
672
128
510
496
220
199
781
278
298
362
502
29
355
387
256
318
892
730
371
136
439
356
658
767
242
794
453
106
516
900
836
197
313
72
7
605
729
617
816
240
409
500
580
302
572
403
501
413
205
536
93
486
189
968
324
971
365
333
809
401
695
404
852
506
961
75
531
547
234
752
292
100
560
516
698
120
56
345
591
523
998
253
545
225
316
436
832
619
81
120
129
849
838
387
558
235
567
637
482
519
494
538
369
456
858
983
848
254
823
910
662
262
457
326
74
845
595
643
15
556
189
702
355
307
937
366
898
511
416
295
809
343
7
39
378
412
99
362
21
442
629
349
135
574
455
139
574
286
919
737
48
196
64
147
282
952
33
538
866
618
374
680
557
756
59
145
858
652
318
695
832
686
879
195
274
309
160
737
947
521
512
99
201
375
622
20
925
755
66
353
95
762
262
542
628
434
922
742
428
373
976
578
652
916
17
860
880
566
37
824
909
904
129
186
931
96
933
45
892
268
714
907
150
899
967
285
363
869
471
120
786
486
59
991
900
87
143
903
589
531
190
207
665
778
122
330
108
828
60
319
469
817
522
279
121
241
20
877
287
822
273
423
906
291
629
708
424
856
384
578
360
35
930
509
14
6
515
456
956
142
88
108
419
770
302
622
679
885
320
543
289
113
795
364
128
867
887
286
896
109
254
493
203
575
486
682
946
480
125
290
830
328
856
322
68
379
48
30
103
332
324
72
253
564
197
576
754
718
674
929
658
507
590
470
727
575
537
226
737
514
898
247
99
301
914
245
456
564
870
724
514
125
982
513
707
490
794
65
406
730
939
294
382
363
96
744
821
448
72
850
784
599
897
755
819
190
665
55
812
133
114
978
59
479
145
718
41
394
75
114
956
723
72
403
858
180
564
258
837
137
537
812
545
281
777
952
597
608
179
580
434
616
569
81
681
32
640
427
426
669
434
288
241
907
996
645
60
722
584
433
800
605
678
629
297
645
346
715
784
321
71
598
880
803
944
571
591
900
313
594
653
214
890
574
293
787
770
237
175
266
706
420
769
695
889
617
356
277
948
362
664
426
161
338
658
567
831
131
686
292
909
903
434
793
802
684
242
898
824
271
857
3
360
863
926
941
895
768
460
98
685
64
931
270
876
745
110
263
796
368
982
626
717
404
978
953
104
29
128
434
663
557
832
826
376
636
447
52
878
774
819
959
130
535
387
364
716
523
521
578
764
731
972
38
378
385
754
436
338
610
900
579
83
844
551
438
550
248
365
676
241
287
525
813
443
380
920
635
973
51
199
435
899
618
493
239
457
106
581
448
141
250
369
520
263
426
508
482
389
533
403
253
267
239
189
271
935
529
681
391
874
746
191
917
117
117
535
484
224
195
937
529
145
581
608
299
794
40
461
67
330
608
702
311
119
3
117
738
897
582
394
48
222
138
368
47
422
477
276
308
656
314
897
398
805
834
101
767
173
336
553
581
435
858
20
909
133
576
675
417
135
847
242
500
716
722
791
831
466
729
50
812
718
264
698
597
391
201
574
650
853
27
97
177
464
427
857
604
879
174
382
242
253
335
910
197
472
400
462
167
442
652
282
151
288
681
786
39
524
162
704
185
907
134
709
987
929
420
262
944
946
697
360
697
3
66
603
244
483
699
83
844
590
117
226
956
288
781
213
364
463
307
693
241
177
96
655
681
571
833
83
885
234
741
955
387
816
981
709
696
770
785
592
113
414
335
801
596
135
766
221
73
672
26
684
307
846
462
914
841
178
187
758
146
952
941
263
839
265
445
299
597
994
81
307
575
523
512
909
71
888
139
202
172
750
819
109
362
600
150
968
113
940
441
804
5
779
987
533
98
28
857
36
288
142
45
323
116
307
318
657
245
765
601
273
84
733
635
385
747
714
245
669
893
587
962
583
45
164
888
753
822
146
323
142
758
945
421
325
947
240
656
973
703
76
46
388
781
506
57
358
63
525
140
78
588
237
701
750
945
271
399
569
711
486
387
531
222
507
785
285
882
850
628
685
145
37
977
555
207
271
636
923
175
305
136
705
855
648
89
263
789
343
520
925
571
713
803
913
845
104
523
406
620
400
841
400
569
428
992
698
137
900
240
921
582
621
560
335
481
751
874
995
942
115
176
86
514
587
779
859
300
434
168
361
473
855
879
196
230
425
931
362
575
102
211
63
389
538
569
698
607
249
185
440
409
984
57
251
261
568
3
714
55
500
715
14
264
210
299
67
745
947
902
974
694
921
100
372
22
669
859
947
313
331
556
754
534
611
331
873
727
427
678
353
408
925
160
176
161
656
138
523
943
92
234
952
475
254
989
196
651
98
444
763
762
244
391
652
778
297
893
430
527
269
257
691
868
502
137
258
610
855
566
544
734
506
638
131
979
619
745
27
438
441
258
741
71
651
242
602
150
214
555
734
298
609
299
784
348
655
805
648
306
481
194
919
936
660
506
88
896
573
903
534
8
657
864
426
37
971
142
963
205
319
198
776
742
585
40
667
147
612
360
404
816
494
524
968
669
3
23
563
438
393
746
715
351
16
944
99
869
355
220
23
41
433
466
263
198
457
226
475
692
812
461
843
284
12
194
408
785
857
893
861
871
443
19
645
379
674
244
111
146
120
458
66
552
108
690
448
197
148
454
147
931
87
158
953
84
785
665
458
995
159
812
277
847
794
565
198
755
636
699
277
710
299
51
175
317
298
208
236
241
564
221
77
169
809
856
526
845
3
70
381
933
477
457
158
497
403
680
255
147
930
917
212
568
214
270
877
866
954
554
323
31
813
566
676
146
658
286
945
757
447
329
497
977
404
366
256
35
503
988
775
808
366
406
820
194
876
725
158
592
184
813
823
179
414
565
179
327
804
673
872
303
635
229
273
449
123
296
135
396
315
488
639
491
961
576
666
206
767
980
477
848
146
576
704
401
382
199
800
28
42
330
590
888
9
521
950
445
899
67
654
829
917
640
681
347
486
133
15
870
28
345
774
349
188
466
44
280
190
992
196
331
322
719
771
796
27
553
151
25
569
904
676
885
983
823
487
44
560
333
113
325
484
630
916
422
64
686
837
854
414
733
192
637
301
450
12
861
952
974
210
569
105
789
315
985
355
411
39
433
825
181
217
331
267
851
160
876
466
972
846
537
851
273
490
658
649
340
57
267
827
621
211
787
156
860
538
500
701
127
560
272
399
796
13
207
703
249
143
846
145
273
570
481
792
750
346
944
855
646
846
120
563
259
262
492
253
516
609
791
487
600
515
887
194
133
745
871
108
312
299
20
841
804
563
487
804
156
167
880
674
106
159
40
572
49
815
122
368
764
904
492
497
205
736
326
277
220
840
845
619
870
979
395
362
295
877
485
894
329
97
192
754
666
945
353
882
811
917
670
447
760
517
519
993
988
720
717
27
239
853
723
973
577
860
948
736
99
882
951
928
343
251
976
198
679
308
984
840
343
946
911
978
638
881
882
249
306
788
791
803
584
458
367
561
345
961
568
95
875
663
951
317
186
298
371
430
498
422
178
909
284
949
248
953
328
428
438
181
600
746
202
5
803
981
110
980
877
208
289
789
874
221
76
567
748
424
330
90
392
154
270
38
552
422
664
190
42
540
541
683
973
843
246
365
50
990
608
322
784
990
491
192
183
894
855
381
121
829
824
974
98
300
101
264
160
859
981
615
168
776
135
837
725
350
902
1
192
271
448
733
536
133
597
139
957
315
162
966
449
488
153
671
45
585
468
336
91
99
837
680
798
298
614
477
697
286
300
371
916
963
694
736
213
101
470
252
690
290
212
362
126
713
570
706
228
924
978
836
201
601
111
189
662
258
263
952
319
265
573
899
554
46
842
622
410
991
293
671
802
25
793
96
32
401
607
789
964
223
273
210
612
335
61
572
631
50
385
986
951
728
801
543
839
726
710
870
181
928
378
243
309
800
609
460
320
16
43
209
766
591
478
70
128
659
250
115
882
837
116
103
237
838
531
654
227
558
253
570
442
931
103
830
535
36
453
258
702
123
128
310
685
695
740
961
129
881
84
331
958
328
924
915
434
933
593
86
6
83
150
854
668
500
97
294
29
518
666
887
202
236
952
920
221
573
553
396
503
505
971
526
233
410
939
189
119
62
595
664
854
724
967
281
355
464
135
227
365
124
890
447
534
723
891
889
910
661
233
312
154
867
673
11
325
46
639
628
464
840
930
768
14
101
304
188
576
784
733
821
943
240
908
207
772
221
922
47
171
773
316
127
460
921
362
644
22
844
358
255
439
82
107
734
438
343
625
740
886
819
309
478
336
652
936
437
543
200
229
935
178
127
283
587
278
403
421
737
463
496
84
180
163
465
432
117
532
151
410
334
677
149
891
322
752
777
631
700
379
962
799
240
713
51
826
45
974
229
986
400
287
765
796
285
55
975
753
961
182
5
684
412
352
970
389
765
313
357
832
440
652
496
23
723
200
330
143
755
966
199
594
105
554
832
632
604
727
102
75
240
790
244
944
339
873
294
958
291
968
964
162
343
579
252
796
760
559
337
864
987
259
969
391
857
902
213
719
916
361
394
903
782
997
304
438
455
39
621
267
968
592
812
853
221
882
718
344
714
687
520
385
552
150
784
4
222
7
681
236
291
207
770
141
529
759
610
472
429
32
520
261
214
518
592
795
815
746
331
792
34
717
235
474
389
843
698
51
451
174
834
651
6
229
721
983
463
719
649
579
216
664
966
408
769
262
812
400
415
811
267
672
737
313
820
577
474
917
754
389
435
833
555
103
867
18
268
680
871
350
819
265
9
928
750
91
915
967
369
867
250
654
390
94
834
111
681
776
850
539
919
792
349
688
659
685
12
771
645
696
183
340
782
53
162
34
325
484
949
18
313
716
458
863
577
821
95
5
372
434
699
154
78
809
793
157
167
271
853
241
662
213
728
10
467
816
143
803
250
102
490
749
313
81
490
537
768
810
429
416
7
710
70
174
751
320
249
722
232
399
583
463
856
317
486
517
572
325
122
734
35
465
794
810
465
349
291
355
916
363
229
519
577
834
776
282
45
352
773
63
208
57
335
231
761
189
397
688
960
73
87
414
743
81
25
964
727
307
167
713
16
499
693
28
573
586
704
336
358
866
116
771
339
580
644
817
883
711
263
529
113
128
384
429
779
885
183
110
287
589
352
568
176
41
315
233
145
320
383
885
955
454
700
495
923
323
635
628
611
770
803
759
73
357
298
91
424
62
615
875
378
360
744
651
842
849
554
701
754
70
798
422
281
34
748
303
554
674
905
604
125
22
494
959
978
337
990
774
301
546
944
188
390
763
722
141
767
699
173
623
965
829
618
938
714
263
831
842
312
913
891
320
93
91
548
588
738
395
90
243
306
574
54
857
957
975
178
265
720
384
464
403
234
452
592
649
505
938
213
460
36
163
351
132
894
488
91
754
485
655
567
138
278
522
105
4
473
878
126
466
737
829
494
95
471
491
320
721
208
904
79
262
206
537
891
687
4
393
383
49
362
851
427
260
214
912
505
400
40
339
166
772
18
871
996
629
604
525
791
860
808
625
133
779
288
924
680
972
558
411
902
940
721
366
318
856
459
386
875
64
103
487
710
642
172
88
971
46
472
193
234
263
894
143
497
608
235
417
322
44
437
5
740
62
688
472
312
372
89
123
508
483
161
397
236
639
71
726
1
973
235
5
401
429
675
626
243
304
719
986
425
8
830
484
900
320
589
168
439
627
716
642
597
741
668
677
829
406
566
448
203
538
520
899
277
109
42
34
571
907
383
701
559
745
344
628
88
439
541
554
827
228
223
446
447
695
783
959
869
812
60
890
152
774
438
701
903
599
465
520
674
202
873
895
568
98
103
168
912
59
355
243
459
454
977
701
12
288
470
374
307
636
271
270
645
730
344
834
641
837
724
525
59
373
109
455
965
393
257
881
397
278
456
570
965
730
37
235
966
286
731
446
675
737
94
519
217
478
82
677
903
759
535
881
80
82
982
88
277
765
163
84
937
418
247
411
99
60
270
40
473
706
268
602
537
593
424
275
787
267
647
610
225
271
356
606
516
216
716
577
275
4
442
774
451
151
231
976
843
625
665
563
371
759
392
394
85
554
123
562
425
756
800
706
577
257
850
228
640
892
787
699
927
353
487
460
171
584
415
64
517
501
776
379
588
515
324
326
144
766
255
950
734
210
295
884
254
620
476
885
540
40
972
206
435
990
0
69
337
89
887
755
977
684
232
728
813
128
155
928
537
827
269
718
155
219
17
943
57
359
777
466
669
761
375
419
55
445
479
790
396
508
538
634
669
132
21
89
463
548
952
684
431
930
90
551
986
526
362
34
151
713
424
276
625
212
297
213
622
631
76
783
269
508
788
165
274
601
200
104
837
327
833
284
821
149
376
129
237
737
851
161
927
292
418
789
926
932
546
594
779
539
663
505
549
967
675
615
788
427
435
626
512
179
139
591
378
944
213
510
857
131
855
34
187
601
930
853
486
221
807
699
176
614
327
810
860
91
212
229
576
820
497
123
33
992
289
350
137
621
839
501
387
279
669
612
393
948
35
321
817
12
848
537
865
939
756
901
768
800
76
733
852
372
319
922
972
945
168
403
916
813
597
394
387
272
182
314
656
765
600
746
423
943
544
691
425
326
509
882
465
79
535
411
525
923
539
802
69
509
108
197
192
999
124
807
967
131
83
312
230
513
164
315
694
868
462
669
117
697
524
825
329
631
485
330
948
705
285
680
549
857
419
57
513
834
906
41
617
685
566
157
295
375
918
346
452
951
266
295
821
381
137
729
489
868
772
153
401
561
41
754
191
126
639
609
800
892
896
367
433
980
453
459
116
860
829
354
223
362
152
595
56
198
523
544
870
408
189
560
764
136
852
197
670
352
135
453
827
283
793
729
934
0
697
119
689
690
916
594
970
620
594
364
460
711
891
170
102
539
520
257
379
497
348
978
304
682
590
310
909
142
657
962
323
474
665
237
188
576
385
173
404
140
912
510
309
252
687
456
918
405
271
817
455
716
447
337
500
739
977
340
835
765
762
493
743
67
748
974
508
814
986
608
342
779
289
845
319
639
131
325
409
600
806
220
753
115
682
447
833
657
446
963
427
527
35
907
131
116
700
912
900
155
670
712
781
366
761
733
525
885
529
883
303
682
302
461
8
229
91
145
942
622
768
66
104
510
737
254
167
852
541
758
933
840
837
972
1
976
463
85
335
55
463
12
368
580
951
416
94
271
152
470
784
23
95
529
77
415
131
119
948
241
701
28
302
273
526
381
51
635
549
278
347
433
795
625
650
399
210
873
704
339
175
264
455
195
959
412
214
555
305
788
612
996
733
744
745
556
283
940
555
389
80
571
183
598
616
694
840
857
597
619
565
464
524
633
206
682
665
607
785
753
596
39
643
340
31
223
182
821
429
667
59
299
800
962
309
827
610
654
149
879
562
911
104
911
712
221
131
974
683
787
802
834
388
16
257
788
580
489
67
240
980
855
18
7
567
359
419
564
553
140
828
721
34
126
994
218
173
858
11
180
116
986
530
766
481
252
963
577
257
488
916
808
463
60
37
478
282
803
619
459
151
974
810
74
778
122
799
351
992
332
746
234
353
14
399
180
754
703
866
132
945
260
693
332
196
72
106
388
259
678
305
116
578
41
484
349
687
279
699
903
911
928
420
182
144
829
454
652
594
479
952
534
814
428
905
458
769
513
966
210
539
838
58
791
560
494
799
859
509
484
509
170
664
893
452
246
560
993
415
911
343
167
429
856
843
392
360
149
512
353
767
944
859
309
137
850
405
626
912
692
933
490
665
810
850
408
276
121
899
52
199
796
266
7
252
890
680
2
451
174
590
244
206
65
629
747
64
421
220
439
49
9
85
266
441
129
877
770
876
749
212
629
75
367
259
635
750
513
591
876
167
608
55
685
876
496
467
724
999
493
754
33
155
977
799
936
296
779
44
238
484
244
319
802
567
236
403
167
129
916
708
6
352
913
95
392
98
902
742
374
257
804
16
440
126
272
952
103
237
21
677
572
252
430
926
409
542
193
803
669
327
350
460
505
300
247
378
915
796
120
42
449
710
674
535
544
319
478
212
278
126
535
994
663
996
26
491
508
927
75
577
297
926
878
184
87
370
614
186
771
539
527
816
637
516
812
726
957
931
939
186
876
930
116
953
746
37
628
802
417
984
116
324
129
432
918
889
649
462
18
589
944
971
56
926
937
995
465
257
80
270
597
778
318
256
47
404
93
306
937
599
337
434
617
258
358
964
544
763
133
191
506
413
413
686
119
658
973
927
701
633
866
224
125
909
943
982
275
350
160
851
3
389
196
614
320
266
108
446
842
611
136
838
779
378
388
33
960
425
969
563
39
180
715
712
928
41
169
496
659
348
713
406
240
178
231
300
402
139
790
242
381
423
844
652
922
970
733
406
794
64
401
748
471
80
291
201
913
761
605
883
808
290
320
185
298
250
990
414
347
329
919
648
619
226
619
555
595
258
748
788
834
404
112
939
995
47
107
135
835
13
377
666
111
398
143
982
747
133
709
522
525
452
704
170
649
674
264
215
190
920
17
143
790
944
514
185
611
890
556
874
512
721
268
320
478
296
841
206
656
176
824
633
482
733
266
991
38
322
743
451
907
399
370
303
940
1
485
544
224
882
317
175
460
537
485
502
733
375
136
169
104
156
186
837
544
870
809
64
875
701
646
869
57
455
98
468
919
601
613
315
888
165
414
987
892
449
902
584
694
717
984
853
166
568
238
608
576
440
64
715
878
120
612
952
32
269
885
903
432
253
29
782
283
451
801
584
895
738
575
717
282
599
192
811
163
927
326
503
120
389
721
918
364
424
54
417
116
733
695
737
191
875
447
262
757
826
571
663
153
80
465
250
277
549
850
333
493
555
588
129
949
783
822
695
719
219
507
17
147
467
15
839
497
915
545
47
446
209
651
61
449
633
42
619
644
528
684
854
627
872
263
196
201
624
261
789
761
909
934
634
674
112
301
794
503
0
93
98
519
975
924
857
61
339
811
32
993
605
898
687
533
441
240
628
174
418
700
656
370
284
982
474
196
667
999
768
764
769
956
131
126
342
930
973
50
516
602
225
508
638
556
252
711
914
408
867
347
511
495
447
438
32
488
762
50
228
327
359
537
750
436
285
315
123
379
312
287
872
546
732
208
121
804
589
369
510
263
536
151
752
397
957
228
276
320
95
252
640
599
166
572
272
396
102
61
283
24
678
302
750
132
446
479
377
759
327
726
902
246
374
82
348
435
137
310
641
177
938
415
627
886
800
217
91
948
742
431
830
926
858
700
195
740
84
732
668
252
638
225
796
902
745
53
276
540
784
275
609
918
7
131
807
153
818
512
867
897
692
59
168
549
150
128
712
144
649
138
464
809
853
598
381
993
410
585
95
317
470
452
491
611
830
500
330
78
75
447
681
760
552
838
4
683
691
60
494
934
995
737
222
424
799
985
120
405
573
417
354
500
783
765
216
13
404
737
119
270
8
341
364
914
815
624
688
291
668
943
651
432
99
170
344
907
387
199
15
33
213
465
583
764
14
238
772
371
307
950
18
497
52
638
917
799
516
824
778
752
528
829
216
960
269
759
888
734
591
755
66
736
811
369
161
568
814
927
110
487
235
680
914
338
191
794
266
306
108
150
44
191
563
210
634
658
424
488
806
111
434
297
263
355
34
822
641
699
676
987
433
857
560
151
362
854
9
855
319
108
840
773
885
503
453
265
581
495
663
146
123
903
525
285
846
897
109
883
758
604
193
490
904
75
723
126
125
518
612
911
63
790
152
231
887
895
625
916
569
388
682
307
614
632
237
265
916
821
415
918
983
911
82
449
789
415
406
396
136
767
699
538
747
17
514
50
787
110
195
959
243
144
949
82
341
92
976
236
873
804
387
631
316
404
637
475
840
987
945
209
559
906
457
466
241
867
210
489
77
59
677
794
186
795
605
552
513
520
468
161
993
459
680
104
838
809
768
928
88
958
934
194
956
578
821
362
713
743
362
571
268
39
142
650
431
179
456
767
725
892
457
690
110
641
209
274
479
132
177
994
580
993
556
323
920
477
970
139
977
321
895
658
176
77
516
582
531
937
527
692
501
758
283
349
489
570
42
956
387
981
848
320
930
461
250
743
751
388
594
395
917
626
674
983
189
357
517
523
928
252
185
124
479
713
455
44
750
989
562
485
751
779
763
397
58
317
471
868
48
352
766
217
795
774
184
756
806
582
569
790
349
392
720
4
851
628
938
661
378
20
786
249
530
376
470
932
862
423
320
975
707
617
627
369
236
706
531
24
246
162
742
384
884
949
372
755
65
561
263
424
59
717
212
89
664
204
172
8
914
102
280
945
683
789
216
630
2
757
904
342
476
23
336
224
514
632
541
662
749
533
226
645
8
239
100
115
52
260
228
553
321
182
851
380
84
441
718
945
229
855
291
506
900
486
838
683
723
532
776
373
620
185
719
622
150
817
648
32
589
417
249
540
217
474
800
903
293
118
584
53
968
545
327
673
623
153
552
187
593
156
631
559
588
524
417
582
361
436
838
225
83
723
155
262
319
784
643
528
889
425
294
592
568
897
65
889
794
944
900
675
420
284
994
406
531
972
242
148
307
987
363
729
555
323
403
918
978
953
624
271
871
874
561
606
25
256
690
947
772
300
311
162
286
557
764
700
375
438
337
934
929
457
535
628
286
732
574
455
795
310
218
228
9
667
743
691
374
730
619
116
378
899
258
347
162
95
294
34
380
846
239
49
979
770
498
149
666
852
116
338
425
624
951
31
238
324
828
315
75
714
854
40
24
727
550
877
668
949
72
816
876
58
758
712
20
544
0
255
674
133
251
541
381
334
262
407
564
463
376
445
782
148
390
436
683
453
478
665
872
617
594
516
992
487
914
351
678
761
895
417
444
76
757
119
988
599
958
464
408
570
628
202
328
771
958
57
339
989
105
155
868
217
466
940
381
851
861
823
633
737
643
703
583
943
305
335
752
953
975
169
250
738
101
64
866
101
269
150
890
13
836
822
341
417
116
936
377
735
974
869
355
293
504
740
687
468
570
979
56
654
822
15
868
418
843
677
405
605
260
4
364
315
800
586
187
188
25
237
813
377
835
973
206
496
856
831
675
417
593
649
615
141
292
381
7
342
990
507
930
612
772
8
612
96
762
854
410
182
623
449
282
386
427
589
19
397
63
454
568
447
937
95
931
948
252
728
527
452
700
514
703
859
873
169
572
382
558
912
678
595
769
678
862
870
646
638
873
262
573
190
612
452
973
853
563
298
923
827
780
133
345
470
946
277
459
526
145
698
903
35
220
854
897
313
443
957
635
444
295
504
107
410
958
622
373
796
954
495
371
187
367
108
450
703
589
595
664
720
133
950
18
31
922
993
397
191
362
149
587
490
114
619
834
24
936
801
713
301
720
516
55
991
714
834
685
256
242
756
451
548
116
440
231
233
648
873
937
514
436
288
405
647
650
142
809
901
914
643
220
234
49
544
778
177
656
7
662
700
205
166
489
817
511
972
671
643
217
358
599
153
875
554
215
56
808
911
280
459
171
623
278
646
881
940
90
347
450
556
78
61
108
866
699
434
845
264
230
18
561
337
575
200
704
852
883
446
534
604
420
952
539
969
334
467
861
288
283
445
876
916
744
80
654
121
327
172
385
881
319
242
159
615
323
405
882
199
233
680
829
506
572
596
820
633
224
239
108
64
735
118
231
285
59
831
837
214
282
743
848
945
885
753
990
495
746
981
5
948
237
543
547
943
316
387
25
760
388
465
587
825
112
660
62
759
505
826
272
824
749
439
880
894
451
816
887
892
770
631
591
381
267
56
135
640
241
772
26
559
770
230
350
84
323
738
627
765
495
984
289
905
182
974
963
702
807
114
643
558
516
601
40
58
353
145
241
712
365
400
120
893
930
858
904
92
561
264
399
475
512
223
800
95
919
312
679
262
651
221
767
549
887
685
403
538
46
417
374
755
906
228
627
369
441
587
967
709
677
346
494
741
593
340
127
656
503
686
448
961
622
9
458
135
57
347
457
220
37
748
664
612
590
162
858
820
500
771
559
622
623
123
712
573
301
71
877
70
355
627
859
372
321
507
758
668
531
865
232
799
482
241
48
332
965
109
976
193
88
561
612
508
840
695
844
10
50
470
39
401
941
852
276
486
828
652
465
282
262
607
851
327
633
136
370
255
963
992
621
295
644
978
62
102
233
353
578
795
61
894
525
148
911
972
390
860
533
148
936
464
454
994
729
705
371
643
78
224
518
621
421
678
495
529
965
393
2
709
122
511
188
759
139
83
421
233
937
263
442
872
28
759
320
162
186
23
540
207
667
226
508
174
812
58
216
859
514
677
317
704
627
355
572
505
200
283
817
149
988
180
303
136
204
543
18
291
231
614
929
379
392
222
842
605
288
760
421
693
147
876
510
645
264
108
670
937
875
750
935
697
553
424
814
552
416
175
167
591
835
429
44
678
467
469
184
137
856
197
380
806
838
65
460
917
868
709
484
586
928
627
366
940
586
714
442
422
329
515
421
462
173
950
836
364
406
836
946
143
556
80
340
234
435
899
288
345
249
361
472
155
526
156
833
689
397
909
604
73
386
889
662
287
472
886
93
564
786
400
195
262
423
827
82
221
712
50
649
535
560
388
74
329
913
920
424
604
283
938
75
748
773
215
92
196
34
237
73
567
307
696
758
477
428
652
906
27
693
117
529
994
834
818
599
934
734
828
501
938
835
54
996
368
154
653
115
615
258
311
173
400
410
280
212
442
494
23
320
511
17
92
978
840
649
969
122
827
335
647
998
44
231
566
646
756
424
885
891
140
581
782
340
48
830
291
214
693
266
408
725
131
311
733
855
48
196
439
676
411
29
480
818
60
626
256
950
736
290
285
903
974
248
826
674
739
702
872
402
123
867
519
891
355
562
55
957
839
835
288
826
387
426
953
911
946
299
173
75
607
664
437
715
685
717
437
557
613
361
87
603
684
16
770
640
611
218
331
256
593
920
812
149
742
395
44
632
301
384
26
37
402
422
147
833
167
924
183
765
869
747
509
631
862
563
494
470
358
694
214
455
400
505
391
614
824
569
358
800
971
130
426
952
653
957
185
419
33
364
811
420
161
727
277
581
215
747
188
792
48
988
810
252
181
304
334
466
221
827
363
252
640
970
499
759
685
84
946
256
685
865
557
708
987
405
341
353
741
730
572
891
987
470
106
769
652
161
997
90
201
51
564
320
474
168
201
375
644
642
390
972
473
695
935
795
138
327
810
189
115
765
14
443
852
842
655
35
270
70
171
102
201
281
985
336
487
193
494
726
281
78
753
437
13
733
842
269
405
666
859
621
407
108
920
4
777
488
390
674
277
838
723
330
93
594
670
419
962
272
508
659
293
232
218
450
410
509
848
714
321
686
232
914
601
898
838
902
389
123
84
301
598
245
400
905
524
509
348
181
507
724
632
822
985
788
992
382
546
59
44
171
737
331
854
438
424
869
865
185
858
365
998
589
207
219
236
674
47
756
909
386
977
541
977
364
247
748
301
321
143
696
286
431
828
696
219
413
808
687
412
356
552
562
101
862
299
809
125
868
976
644
765
678
278
750
33
831
58
921
395
301
819
949
338
945
58
176
263
319
858
773
311
274
456
804
268
672
947
353
78
959
0
410
522
951
850
277
802
352
31
737
118
82
949
480
586
733
508
19
476
170
301
875
720
799
797
639
918
104
501
608
26
789
239
735
418
174
935
354
115
808
338
356
368
302
190
439
916
567
298
195
65
705
648
815
778
986
864
185
255
283
443
287
951
999
18
722
885
80
869
371
538
722
855
713
453
525
40
308
382
36
765
32
601
118
484
301
254
227
860
940
885
208
201
658
377
996
275
516
713
837
671
681
943
100
167
369
15
226
514
529
799
768
579
47
106
945
907
916
985
619
77
184
35
604
919
633
684
917
716
943
851
224
260
890
20
777
912
507
665
417
838
49
618
156
659
594
456
743
723
807
241
916
787
843
966
526
621
934
54
714
531
354
287
185
754
424
557
650
846
784
217
126
817
443
17
372
753
874
901
75
999
914
361
468
802
394
547
522
451
628
35
533
591
609
28
369
852
446
780
610
694
845
268
763
248
375
22
812
580
847
73
118
30
188
903
818
451
137
655
238
254
278
63
717
724
987
567
833
174
168
757
737
797
262
907
325
276
307
991
407
930
708
71
896
478
997
751
39
307
434
96
883
611
376
466
424
581
895
161
520
296
528
92
712
118
911
168
882
542
528
820
711
184
817
22
732
823
42
41
654
77
203
959
735
335
242
43
764
583
577
236
226
414
808
669
324
653
29
231
546
985
856
631
396
180
556
623
316
921
693
699
468
889
354
338
33
782
659
157
961
406
8
776
516
914
338
130
229
755
408
956
548
214
270
15
707
785
627
560
547
502
685
635
298
696
856
114
625
370
724
164
693
454
282
398
244
589
735
591
356
792
754
854
448
463
864
558
108
614
630
631
908
566
616
164
602
557
656
25
537
373
306
611
841
196
581
793
975
40
566
846
732
910
902
982
350
351
889
894
272
205
847
509
775
848
755
441
273
444
505
553
558
645
957
631
591
267
294
199
137
670
599
349
483
339
365
103
720
71
634
656
559
95
793
14
606
202
899
650
517
152
34
502
920
907
703
464
275
469
856
426
913
715
887
555
96
651
973
555
904
368
320
32
499
932
839
849
604
874
946
930
723
855
185
282
299
685
367
685
117
269
95
912
366
393
898
567
656
47
74
922
789
516
144
199
289
501
273
921
737
837
409
585
955
1
24
392
265
481
891
557
835
153
399
759
738
319
510
899
309
368
484
683
350
619
32
240
115
984
739
653
426
723
362
34
740
159
897
506
733
654
980
194
301
93
15
77
627
371
43
753
956
135
18
684
979
388
494
864
111
64
81
789
463
83
399
76
531
269
669
962
155
978
343
417
187
291
773
720
476
444
357
69
207
815
126
67
534
60
21
173
123
660
327
550
578
826
314
643
680
240
615
438
343
818
550
582
301
299
212
645
27
306
12
390
979
993
299
877
609
431
596
147
629
118
234
917
275
617
58
702
876
441
917
570
585
700
410
799
424
811
324
520
617
865
444
678
58
277
592
240
10
792
264
313
98
256
460
14
817
420
101
422
186
933
57
322
779
154
411
173
511
381
332
698
619
45
290
881
863
26
60
750
819
205
138
505
39
443
514
425
649
31
163
857
37
478
885
350
739
448
794
309
523
43
774
208
897
455
461
540
585
500
714
681
64
525
581
489
361
485
752
7
820
525
281
564
521
248
105
944
300
43
407
302
7
46
968
577
765
942
541
620
53
911
78
59
591
100
561
415
191
23
967
561
719
378
320
96
416
480
874
597
416
758
313
622
775
758
410
885
260
898
651
481
810
457
493
14
891
861
955
992
279
636
313
252
186
32
913
470
770
28
107
864
923
448
57
359
591
317
884
174
505
40
10
327
15
772
699
528
502
535
382
427
49
140
7
621
374
867
181
176
802
728
413
757
672
536
997
230
1
627
51
721
980
673
455
145
869
940
160
544
442
622
254
279
284
619
817
459
21
433
763
840
537
108
396
607
422
499
907
77
543
127
476
478
288
125
466
334
821
737
10
588
413
361
550
643
576
934
293
978
269
497
53
320
519
106
226
439
281
599
323
958
363
44
177
875
898
480
301
477
102
204
435
361
665
811
955
928
189
34
412
545
511
472
900
942
194
300
77
206
866
321
263
956
514
918
126
222
613
36
683
544
54
346
641
593
906
448
802
38
709
927
897
5
234
474
221
345
751
953
400
687
690
664
29
963
546
672
14
708
605
25
980
181
582
229
342
839
316
178
386
276
285
763
406
158
254
436
192
285
665
977
755
106
352
498
717
336
177
692
221
749
263
57
237
875
50
465
162
402
857
748
548
655
673
51
699
781
421
573
390
419
670
313
465
871
336
366
739
304
94
50
220
24
371
62
98
12
373
361
92
423
971
909
260
628
177
624
197
763
744
601
581
733
30
990
836
285
870
893
342
279
349
953
291
917
600
149
847
952
768
109
324
722
71
836
565
950
480
453
196
155
375
865
179
985
272
898
44
431
60
862
82
656
988
758
329
461
219
839
342
635
96
684
499
275
344
819
109
744
781
340
162
655
396
730
198
112
237
994
814
125
505
76
879
779
878
188
780
821
365
977
373
994
346
242
755
990
378
774
937
678
708
630
708
382
950
544
330
88
191
332
143
986
651
369
298
521
603
511
418
360
654
216
452
321
895
327
161
990
737
287
152
661
314
99
138
333
164
841
691
814
668
319
736
683
767
733
222
235
915
947
327
542
928
517
465
226
821
747
10
712
358
16
724
827
15
973
387
385
648
308
643
572
842
345
503
332
100
814
960
987
297
117
883
559
744
466
441
847
973
837
334
146
630
926
856
545
709
496
867
419
744
828
464
328
891
725
112
568
901
306
781
280
215
784
706
960
348
770
625
45
531
70
22
46
4
740
927
500
176
258
575
85
583
915
784
726
413
380
76
864
151
798
916
624
136
682
337
69
851
712
143
178
866
270
111
503
349
533
931
998
134
695
845
340
811
662
277
106
769
233
401
462
296
246
596
349
746
474
345
786
76
832
775
48
482
311
253
606
457
474
909
60
382
546
697
722
215
215
455
921
162
810
206
662
701
332
357
999
357
984
378
811
635
294
264
321
509
481
670
415
719
241
867
594
628
299
161
586
452
366
558
180
752
172
200
842
923
886
610
530
187
755
489
615
897
977
290
74
181
152
350
602
667
129
361
829
214
793
467
495
181
956
81
58
586
225
648
831
12
737
899
325
903
563
879
745
701
334
120
844
591
615
309
116
140
510
403
33
63
814
977
400
87
475
946
975
264
37
329
568
27
453
137
94
661
85
397
210
306
513
632
977
446
272
962
973
923
715
860
505
439
955
176
389
307
510
791
383
985
983
802
721
789
630
755
164
168
362
327
942
942
780
676
208
275
453
681
757
176
765
101
352
399
266
892
898
820
557
881
71
276
653
154
595
6
524
871
786
383
870
464
719
878
65
658
558
598
532
918
957
538
181
234
855
397
760
42
487
666
921
968
968
486
578
892
52
962
824
752
747
789
830
29
338
613
940
241
698
475
650
134
647
273
876
34
630
160
927
415
978
287
370
687
141
595
721
15
946
734
540
804
135
748
107
891
50
371
988
27
23
994
889
691
834
897
63
974
465
646
670
996
844
110
432
217
20
552
544
619
984
251
248
506
485
439
635
164
352
524
214
753
795
102
401
220
157
45
620
669
535
823
244
478
153
750
709
369
203
263
936
982
399
552
320
94
711
210
185
623
639
229
556
741
758
111
633
254
783
16
502
813
877
904
750
395
871
862
486
34
328
311
211
733
928
510
428
178
44
781
368
185
104
921
175
437
497
244
554
247
662
646
288
555
554
799
888
165
368
806
867
758
911
458
260
95
503
134
38
443
697
949
591
392
124
145
184
426
234
112
167
623
15
23
860
664
492
157
352
545
981
308
969
659
553
750
284
330
371
516
977
545
823
304
807
51
50
481
398
752
808
457
863
447
356
811
456
428
920
517
154
121
225
828
256
53
286
223
726
25
612
613
767
935
984
844
757
412
467
914
478
159
65
613
424
932
885
713
120
489
649
81
729
951
537
85
532
369
658
45
195
249
80
267
695
192
521
827
206
856
538
895
417
32
482
408
478
619
549
372
14
426
386
910
459
597
993
230
498
876
570
513
669
539
398
551
265
427
145
856
386
598
276
883
487
389
450
304
955
234
126
566
236
609
820
185
622
876
483
17
40
756
400
275
844
675
72
926
252
64
807
658
704
652
546
588
466
320
125
117
576
269
561
195
151
692
761
784
347
579
916
950
309
482
171
45
749
17
258
313
292
967
327
980
937
599
132
515
723
197
879
800
445
887
106
258
101
20
605
596
244
37
446
800
63
543
862
691
540
836
323
744
274
480
916
785
475
166
605
505
193
537
663
817
591
354
993
934
512
739
50
974
702
28
553
505
37
92
915
428
502
104
558
531
15
28
692
476
527
657
72
752
638
710
76
17
492
824
525
509
865
483
776
406
519
303
248
551
624
865
91
208
578
230
386
70
400
532
814
400
68
561
327
918
163
704
272
8
634
157
56
202
780
146
984
629
192
161
651
196
657
375
865
673
734
34
187
47
858
103
328
563
354
755
860
452
552
128
460
944
167
599
492
236
908
794
191
395
770
285
204
759
140
734
373
95
409
390
426
655
653
107
134
303
401
846
426
890
399
252
512
842
313
115
628
152
670
198
208
869
78
732
164
804
440
730
915
824
530
896
749
160
505
445
689
617
610
431
655
317
607
506
274
163
867
826
215
264
145
204
537
509
426
663
485
368
835
47
602
89
739
645
622
153
495
87
174
633
654
864
101
842
631
605
806
207
972
729
80
949
190
163
423
914
264
372
98
14
817
402
863
102
11
876
115
511
785
911
644
718
888
610
228
649
256
46
450
973
87
428
946
836
714
766
228
931
939
94
554
611
324
878
702
911
702
970
94
63
519
843
555
229
217
42
848
678
895
823
76
698
655
382
765
944
101
236
92
86
211
332
546
952
703
441
760
290
980
65
718
386
219
851
756
668
480
557
413
825
44
570
837
191
410
318
47
684
248
719
911
383
859
266
845
942
270
975
586
879
89
494
784
64
895
302
123
142
406
933
558
843
729
987
37
444
393
351
338
864
96
682
806
425
140
657
814
392
394
967
843
89
702
699
383
543
802
877
738
240
167
492
352
947
445
693
727
608
184
227
695
139
256
820
871
704
732
987
639
413
346
819
359
909
545
583
494
851
120
990
214
425
485
154
957
245
546
907
469
25
740
616
484
290
208
106
713
448
483
913
814
911
441
48
861
60
79
604
276
720
685
610
429
603
409
109
116
243
490
193
527
752
923
819
608
353
30
221
875
863
806
259
871
619
572
61
807
104
653
489
820
422
804
66
396
95
595
904
35
889
155
322
733
649
285
848
618
832
340
334
253
931
120
547
966
804
75
767
803
629
40
459
74
113
727
288
382
302
261
536
765
788
765
807
247
934
899
543
251
41
606
152
865
988
505
226
470
191
657
580
631
157
44
443
859
579
556
431
594
79
437
663
829
61
153
500
684
248
474
444
924
205
345
184
245
237
856
158
934
894
53
116
181
649
779
528
490
831
454
881
175
44
388
285
585
12
17
159
611
245
198
88
201
12
219
166
605
243
708
132
134
646
668
342
808
907
358
658
763
211
949
199
276
101
836
593
970
501
768
638
622
485
565
483
88
252
510
586
533
849
434
372
765
111
744
995
302
656
437
378
822
826
201
247
582
921
836
873
696
118
480
498
561
852
570
450
145
185
338
108
638
815
586
547
681
580
343
828
82
273
228
362
758
421
288
506
983
73
551
219
641
268
161
179
213
914
739
81
524
888
461
349
689
389
995
38
101
701
663
509
960
511
649
87
396
114
812
225
175
554
33
645
179
835
822
153
258
711
98
387
160
151
412
164
698
262
932
20
523
738
441
634
200
859
829
426
575
964
644
480
925
798
797
200
503
822
163
841
173
387
623
271
904
668
986
907
278
348
791
285
269
773
652
624
213
113
84
319
55
553
288
176
653
733
417
400
666
648
444
539
78
857
771
281
723
350
76
847
951
402
194
21
95
281
798
61
379
931
897
567
368
922
213
529
971
630
603
634
618
729
549
124
824
838
766
8
837
848
793
661
835
302
981
244
686
989
695
84
880
576
706
153
247
776
32
817
606
237
592
216
933
55
760
370
476
375
629
667
367
433
483
967
893
120
728
547
293
18
691
425
357
220
951
156
350
934
868
532
241
622
640
405
614
864
752
137
217
729
102
817
37
720
150
19
630
691
79
588
442
638
216
157
476
317
157
748
463
256
5
306
846
604
621
684
350
332
441
587
763
819
23
455
648
106
39
643
7
223
67
11
919
413
578
969
871
719
248
636
300
483
657
840
577
130
879
945
321
900
318
391
491
972
250
909
478
679
337
848
232
781
48
376
927
451
752
485
929
611
510
664
280
192
927
733
212
19
82
104
364
100
871
174
628
184
205
279
715
512
811
738
452
972
804
869
941
807
7
666
105
225
93
44
500
878
453
642
635
561
118
746
728
188
588
333
964
17
124
444
594
751
732
829
113
130
915
317
189
841
299
971
662
433
45
979
777
124
629
107
52
160
314
718
929
952
619
387
130
286
920
11
87
445
939
950
923
617
272
786
144
257
330
568
50
193
853
258
7
525
711
474
305
40
793
630
122
455
19
433
38
517
586
466
872
67
244
920
553
576
830
468
347
83
140
201
980
214
509
575
942
296
633
582
802
972
243
74
500
507
550
894
454
335
713
518
1
218
465
167
830
214
417
470
433
654
30
77
222
900
601
407
158
67
530
655
190
519
969
427
109
156
255
681
320
507
604
96
932
52
370
95
938
965
158
850
870
783
21
628
922
354
674
386
814
598
912
599
335
991
876
483
202
471
321
901
707
150
419
558
996
539
382
121
717
815
481
710
816
232
663
932
202
369
883
719
297
51
499
990
580
666
576
821
609
544
908
552
896
395
679
882
132
242
275
762
929
299
712
821
246
525
892
549
325
496
869
291
930
736
823
690
433
595
687
299
944
472
179
25
814
50
448
154
984
522
232
593
770
769
579
207
917
208
952
479
696
807
590
198
959
929
984
274
867
261
68
165
637
366
819
638
648
665
98
173
950
263
244
186
718
773
930
362
303
135
560
715
232
793
950
61
850
279
477
731
867
360
135
168
623
14
961
343
87
246
947
437
80
880
711
389
142
401
879
173
476
733
902
882
309
844
589
652
566
287
791
799
862
954
592
203
900
63
736
68
835
988
918
185
127
436
310
749
160
474
212
216
718
175
79
453
746
85
555
458
500
482
730
688
411
172
565
896
23
103
176
270
154
21
681
187
481
923
347
602
969
322
534
500
248
719
413
515
548
978
666
945
620
674
409
801
816
837
847
811
382
413
377
337
293
732
103
164
565
858
915
472
241
864
952
220
128
434
695
538
378
888
672
15
5
357
710
260
178
552
868
553
779
594
627
872
180
465
70
476
664
915
428
117
534
847
798
694
485
591
574
347
656
131
472
497
662
428
345
342
815
190
408
139
723
955
165
243
466
177
969
213
232
546
537
791
573
536
822
965
214
384
306
354
487
635
872
280
596
41
25
916
500
118
720
87
640
264
361
82
432
685
230
533
143
683
57
313
885
649
26
441
989
921
551
533
443
524
19
279
619
965
109
459
73
68
330
958
42
464
703
772
386
61
300
629
362
495
786
115
791
712
739
736
61
949
88
520
625
330
372
187
302
409
477
224
587
591
670
590
813
109
865
406
195
267
567
493
320
427
707
694
882
976
687
414
591
399
6
339
229
105
337
536
645
339
832
652
397
457
32
126
660
464
218
985
663
726
423
979
279
293
797
986
498
186
411
661
970
782
945
522
856
513
432
653
432
425
568
505
470
346
233
309
144
205
587
589
901
453
761
218
842
216
436
601
699
326
265
471
72
568
867
490
895
862
8
887
744
74
295
9
464
983
967
754
710
229
556
802
993
834
817
624
18
247
444
195
978
815
795
158
670
706
256
426
545
447
746
767
464
836
819
662
844
856
654
23
884
837
286
42
142
346
36
954
633
520
174
33
75
40
945
376
620
230
789
137
97
677
327
146
327
30
814
871
253
886
703
646
72
156
334
948
198
931
735
60
163
713
229
699
532
337
237
976
621
829
818
694
409
466
82
766
964
600
289
400
843
552
749
270
491
566
851
690
720
274
640
101
11
197
858
586
114
912
84
706
527
835
170
928
53
143
688
773
639
295
800
129
308
211
944
801
617
587
929
372
33
880
106
467
173
744
881
866
937
120
332
729
478
694
385
180
912
261
387
468
790
400
903
134
194
617
325
345
301
691
704
888
531
594
63
167
24
148
763
433
827
198
740
677
386
893
813
693
682
536
21
129
196
631
478
220
28
821
27
626
435
699
739
234
194
776
711
431
498
260
911
60
23
489
467
314
962
49
787
238
681
681
402
644
600
763
785
242
758
210
144
768
234
855
734
297
463
70
602
348
370
966
24
182
499
349
55
307
204
719
467
410
778
720
589
276
230
678
236
256
111
497
230
350
433
138
677
393
863
410
215
48
806
391
76
842
274
444
594
423
14
504
686
678
619
679
544
99
304
119
395
786
253
783
237
614
600
158
77
582
118
765
998
852
240
977
672
340
529
606
382
656
349
246
63
686
913
898
708
313
815
138
10
451
64
782
936
461
312
425
250
613
122
94
177
50
568
188
254
80
558
705
495
815
536
114
149
295
203
671
177
87
466
866
572
978
248
998
608
97
333
379
711
785
660
108
58
431
580
523
141
397
171
345
715
990
670
459
821
164
479
698
5
384
986
193
938
338
669
177
872
885
148
297
663
153
356
29
256
221
113
881
600
131
761
608
219
471
883
604
304
346
97
96
913
766
175
809
185
151
541
230
168
652
161
15
255
673
382
804
635
422
408
669
369
648
27
223
910
149
279
471
342
68
788
228
189
6
738
763
473
44
950
57
521
240
326
196
50
452
738
494
229
93
757
488
484
839
788
552
409
196
819
528
308
434
402
494
4
617
625
768
506
542
384
393
415
396
748
333
734
375
237
845
998
84
933
800
267
915
515
62
632
285
169
390
809
451
371
134
589
879
894
319
801
121
135
593
538
339
196
899
979
243
173
163
16
438
914
698
925
578
202
137
641
189
603
466
320
126
59
98
791
558
640
462
261
605
163
238
218
888
421
532
193
101
916
106
343
936
189
147
598
799
358
415
667
30
128
359
382
60
789
595
392
511
44
703
827
210
364
312
715
256
162
329
83
610
769
915
571
92
133
841
115
902
721
757
284
873
245
178
394
447
769
7
842
302
409
547
861
141
115
213
733
613
211
190
62
342
253
159
125
597
217
767
490
979
117
785
692
299
507
549
16
257
566
885
188
16
402
195
78
154
116
66
170
150
152
107
880
738
192
538
950
515
197
246
201
865
564
818
662
976
192
550
478
557
236
80
642
452
545
661
994
202
571
758
584
884
680
638
114
734
248
928
643
81
274
584
761
404
491
242
922
407
574
465
688
885
346
537
865
140
273
184
109
932
321
792
44
40
727
318
59
996
157
785
830
646
302
863
438
544
117
533
136
213
236
65
750
481
496
985
88
372
630
4
699
114
312
816
594
206
411
604
986
711
808
527
151
216
261
692
173
793
738
995
223
967
254
194
775
543
30
425
665
785
261
546
209
247
622
668
265
681
616
276
856
636
21
846
24
876
78
920
625
17
88
487
722
682
127
302
335
898
836
173
855
136
845
259
443
713
567
677
497
3
442
31
717
356
304
857
870
539
801
241
249
266
626
492
774
155
778
35
568
959
120
456
80
134
453
811
405
209
803
795
375
648
748
444
529
412
291
180
208
634
529
532
463
829
884
468
959
981
51
106
789
502
287
301
799
920
115
597
297
483
123
160
70
712
773
379
479
791
186
714
51
198
712
326
694
458
761
793
399
27
116
58
271
227
731
177
368
151
939
323
930
817
607
206
882
944
705
61
690
961
460
715
281
468
67
695
514
45
78
253
156
12
975
862
262
486
377
966
219
598
615
573
899
528
820
99
288
77
251
187
875
561
75
914
306
518
282
161
296
528
114
363
344
9
263
342
527
354
330
226
978
653
986
118
719
114
958
319
553
195
123
87
334
435
44
800
246
60
873
773
445
628
275
477
499
381
539
446
572
333
173
376
203
681
177
742
480
336
499
191
810
52
160
805
173
705
640
963
746
360
295
560
946
79
759
639
610
593
798
691
226
558
93
205
260
797
53
411
265
623
866
552
150
914
307
834
938
526
747
430
683
908
996
357
296
248
767
187
486
856
494
592
398
161
857
616
324
972
150
22
379
62
662
881
892
394
948
93
141
960
798
273
537
343
801
845
256
923
936
694
716
997
42
516
336
378
210
429
893
695
918
711
325
967
674
665
174
658
402
979
509
508
10
424
942
220
878
609
122
788
81
290
855
146
176
35
724
266
62
732
639
869
831
369
82
355
824
129
444
228
38
415
794
374
404
974
137
60
975
67
252
48
31
135
424
267
442
365
842
342
674
721
412
311
534
73
775
96
827
458
525
214
987
580
676
851
277
486
456
455
609
110
962
197
856
188
916
700
552
637
800
988
227
761
961
987
401
851
498
360
287
659
840
235
750
549
134
255
946
51
719
795
261
899
797
362
315
920
115
831
707
572
981
568
192
302
959
163
702
745
112
38
950
676
167
572
691
394
174
27
802
507
133
747
33
940
0
761
58
931
634
948
407
927
72
425
385
887
216
343
123
81
191
806
2
126
176
376
696
776
103
614
746
983
937
120
368
999
400
683
368
170
292
96
757
597
35
601
648
159
500
962
103
70
130
135
736
624
680
656
340
946
6
416
517
51
993
440
54
762
447
872
457
642
518
350
875
636
299
128
18
327
99
180
990
809
890
369
430
199
109
825
973
795
163
231
818
326
731
107
949
730
209
390
105
307
934
498
911
569
157
965
191
251
623
131
477
990
80
355
256
324
430
386
386
380
841
493
631
161
164
382
65
760
693
976
277
745
362
491
815
818
348
404
288
746
617
821
200
980
909
376
162
918
314
22
428
173
73
681
274
669
602
268
44
635
399
414
569
908
448
0
855
329
874
461
476
558
835
135
792
542
122
866
831
260
246
332
180
130
614
896
961
399
172
75
520
557
603
731
859
159
917
363
142
86
26
851
495
910
397
521
385
90
348
790
767
488
434
67
313
392
275
478
620
383
625
409
540
503
653
188
609
786
350
422
993
780
319
650
550
554
699
110
602
951
53
727
653
5
922
969
608
57
838
180
980
288
313
122
338
905
132
109
567
539
223
711
723
829
743
542
155
741
930
872
894
913
322
23
320
865
266
73
99
120
548
860
582
298
540
957
446
103
66
448
369
812
376
126
900
636
841
110
513
450
4
927
449
179
661
882
154
414
117
181
291
360
943
529
515
279
148
536
667
616
847
961
952
523
112
870
808
350
385
825
279
660
520
220
69
585
872
363
651
659
549
615
240
177
689
284
148
299
404
593
871
519
586
445
144
696
828
19
19
977
226
139
549
326
122
350
867
207
626
984
545
877
621
811
403
366
460
352
72
339
624
341
403
439
318
317
565
402
298
269
155
462
624
734
198
883
220
751
807
553
715
163
903
161
997
476
349
721
251
614
946
390
542
653
454
621
445
980
864
56
803
717
711
919
451
706
496
437
171
47
956
653
594
938
410
654
55
120
350
65
131
702
966
336
94
752
810
620
200
731
892
613
961
984
997
43
48
899
56
329
115
141
871
897
491
33
525
666
145
296
375
62
74
275
170
827
663
556
83
272
741
401
696
307
622
914
77
450
73
87
105
100
196
468
792
650
349
255
714
951
278
357
904
354
706
163
500
862
604
492
357
825
7
160
478
567
64
265
774
290
933
522
113
498
339
478
108
186
161
806
145
925
692
277
10
567
821
443
104
815
618
894
342
63
993
986
259
565
693
130
43
775
687
817
706
743
149
84
165
197
705
417
46
201
300
762
832
839
895
70
767
118
449
133
27
760
815
74
946
877
609
356
469
957
43
151
298
44
929
573
333
324
350
44
867
712
176
91
555
743
81
71
249
862
47
40
637
514
549
321
502
914
851
297
116
806
590
452
982
41
548
644
410
943
631
536
865
695
940
981
516
947
589
493
48
161
387
214
991
409
753
736
155
194
846
742
74
769
429
658
8
314
192
631
943
242
444
212
444
706
994
719
191
224
537
915
708
615
452
986
222
169
776
593
155
61
252
833
489
395
430
736
573
531
577
333
62
359
671
622
24
805
14
283
58
234
213
716
807
59
591
969
145
117
43
452
68
136
177
878
588
168
338
1
510
512
525
696
285
541
673
528
211
803
368
955
733
413
6
820
238
255
341
206
357
734
21
814
35
198
6
699
600
534
789
515
189
371
666
308
63
19
208
937
50
918
431
18
77
490
694
981
758
478
45
42
616
744
154
425
78
752
729
929
700
116
750
775
766
94
976
958
926
697
84
379
858
857
604
619
194
474
311
781
207
34
712
813
738
47
535
363
942
483
309
815
40
380
894
503
638
654
559
272
234
679
483
843
73
921
388
166
280
156
729
687
389
48
167
40
186
222
555
723
154
257
553
8
951
462
588
751
871
439
499
880
670
297
118
727
282
976
235
98
501
950
72
665
37
785
730
393
488
547
185
223
604
419
21
13
292
20
621
293
875
718
889
449
55
864
2
645
485
890
204
555
181
552
317
976
575
578
59
334
379
196
928
463
170
676
165
58
633
404
143
935
447
444
201
939
28
395
465
829
88
148
677
461
57
187
631
41
760
679
765
125
374
225
543
685
301
658
622
237
60
462
741
798
940
174
958
231
111
146
569
793
498
538
938
696
452
501
44
465
825
456
379
809
365
206
643
232
703
298
565
416
830
66
387
496
517
236
708
64
236
590
791
609
364
581
166
423
649
816
199
279
834
286
961
951
959
63
164
24
699
537
37
743
618
408
97
631
498
868
63
531
69
0
295
649
616
367
952
130
724
459
628
718
622
236
531
937
98
980
474
943
242
13
907
763
46
502
696
19
597
472
306
759
258
478
123
638
305
884
251
315
123
647
878
679
909
921
739
154
856
575
275
219
326
145
911
42
155
9
865
142
893
379
158
820
820
290
192
866
941
215
168
550
522
969
120
626
164
755
339
339
143
460
224
441
960
501
818
451
666
293
213
511
367
295
958
429
278
124
248
624
380
766
85
93
639
170
548
830
846
304
763
816
184
245
494
109
503
113
444
719
82
570
201
430
650
942
816
407
240
667
96
565
975
405
596
39
949
599
170
924
334
206
691
395
476
157
799
741
607
781
736
338
32
744
481
796
260
731
479
164
738
688
608
403
75
954
969
17
705
903
152
693
439
80
666
603
324
438
349
660
536
107
808
762
397
476
901
283
945
27
605
371
235
136
941
917
71
720
222
874
623
381
89
830
10
690
643
553
11
981
473
698
841
50
465
418
768
674
864
556
344
26
418
225
455
346
800
742
705
388
731
781
992
649
43
48
804
483
611
259
331
419
272
529
982
174
700
448
717
511
771
66
951
907
744
765
290
548
300
434
671
592
311
567
754
642
168
885
422
159
641
596
493
313
242
906
440
596
965
764
84
879
808
422
644
409
8
830
763
63
293
249
42
734
601
854
826
209
18
435
217
599
197
865
566
127
64
326
613
469
372
85
426
893
594
476
743
490
37
938
510
619
751
500
971
658
761
433
742
142
844
432
912
941
685
468
333
212
350
712
752
633
764
308
682
519
164
565
356
957
847
464
635
787
626
39
31
466
225
49
69
251
188
51
453
500
748
448
234
562
743
219
408
639
58
847
803
970
367
28
464
626
882
641
31
498
806
800
922
93
29
595
839
712
272
469
562
854
564
520
243
813
91
654
196
696
794
390
990
411
789
381
570
816
534
670
202
714
240
802
409
444
316
971
510
297
501
321
616
609
562
568
566
779
268
419
453
515
892
726
577
348
972
41
231
283
381
749
650
143
734
457
549
538
882
707
848
123
438
233
891
834
461
908
497
37
983
388
522
80
607
902
157
504
526
588
202
83
10
397
355
285
981
109
833
428
590
500
39
534
145
913
443
575
126
962
4
719
359
702
652
711
633
272
851
133
970
50
681
481
54
467
486
512
443
832
780
767
916
523
405
515
650
471
988
822
678
771
845
576
179
663
561
664
323
235
957
722
639
476
130
248
797
868
277
7
373
667
890
903
361
899
12
825
311
82
30
912
68
937
767
40
616
288
189
927
368
536
576
236
416
414
164
422
695
346
339
752
462
451
495
430
815
675
474
907
103
684
359
889
281
398
130
454
436
991
751
520
722
313
457
338
461
625
704
440
229
572
368
519
937
513
139
158
158
363
893
286
267
315
855
684
388
10
296
887
579
623
774
955
374
463
817
133
646
497
20
564
189
467
419
29
778
330
442
474
943
792
528
242
683
712
762
375
580
36
96
311
270
945
587
279
505
483
640
958
598
535
410
913
262
907
90
519
261
751
60
341
854
11
521
465
632
219
354
100
235
25
508
621
889
847
472
470
843
805
258
469
417
2
377
43
743
793
899
453
603
84
189
475
196
404
267
132
958
0
828
537
87
208
678
230
157
68
116
462
502
52
489
153
533
403
610
982
664
141
692
557
853
740
898
326
425
642
468
212
678
775
681
622
557
299
912
345
126
206
977
241
124
922
669
530
934
319
2
257
447
468
14
837
774
272
588
522
67
514
902
860
515
433
236
20
665
37
330
78
319
933
891
38
322
766
443
80
76
323
41
547
160
418
595
368
156
994
410
954
332
839
219
610
826
745
745
984
564
65
761
570
941
578
176
137
730
605
428
911
879
815
620
277
862
323
208
202
77
339
134
409
66
273
115
456
545
241
604
882
120
711
466
235
286
450
192
290
394
138
903
653
696
716
645
556
990
425
767
600
317
463
806
967
438
192
149
153
124
367
248
726
548
51
222
439
988
356
222
401
947
732
244
163
688
878
638
522
907
737
845
688
23
153
765
684
728
436
427
450
607
622
265
103
371
850
628
220
844
753
185
337
621
826
545
940
867
966
73
796
978
301
26
289
16
34
135
970
983
605
292
787
402
25
678
346
865
579
349
815
705
540
845
661
95
859
787
951
209
411
420
922
285
866
62
90
971
475
874
871
719
319
689
228
429
891
705
17
678
283
871
218
605
986
6
142
637
840
329
180
330
943
450
17
238
832
35
334
233
270
280
28
94
16
427
339
258
524
596
441
654
501
471
849
494
383
508
604
139
693
428
498
43
686
820
665
83
496
710
809
753
683
898
477
113
648
339
773
812
293
481
524
475
979
815
366
816
465
641
313
444
826
91
227
87
914
312
626
888
301
557
838
162
631
588
124
16
929
66
572
929
120
826
537
82
278
501
354
689
571
857
29
615
331
400
977
713
324
195
195
783
206
426
203
46
183
394
369
795
93
521
11
210
526
463
163
472
201
406
243
855
336
34
198
465
895
594
234
48
518
767
792
758
560
583
760
8
133
664
569
157
555
477
372
23
71
55
800
308
427
351
683
644
417
713
528
786
678
558
213
203
812
71
506
282
806
210
961
41
276
55
597
207
843
928
6
75
370
409
127
207
539
131
123
236
590
938
852
675
739
547
624
849
268
450
440
507
381
574
619
152
128
223
694
101
185
555
539
304
293
689
404
859
576
487
863
418
383
914
268
174
938
65
537
871
830
117
688
124
10
503
221
762
582
753
424
379
761
926
641
835
764
416
148
810
757
123
581
471
900
296
389
785
963
172
663
885
749
79
232
142
443
291
637
332
96
423
942
624
488
349
274
596
602
586
314
498
597
273
183
194
603
347
949
358
660
845
525
691
227
571
31
101
554
63
598
769
396
834
667
823
562
732
787
807
776
896
778
66
218
849
127
974
735
375
709
923
957
746
643
460
809
513
380
66
725
163
233
913
866
129
249
706
564
640
574
236
666
284
947
145
401
590
966
56
209
63
154
37
506
199
541
368
580
138
785
66
841
205
747
943
294
881
365
768
725
57
155
855
718
754
339
106
322
736
876
343
550
765
738
343
550
38
190
613
585
199
683
338
24
893
559
261
639
505
39
793
693
695
971
520
92
596
696
535
196
9
654
659
632
949
500
949
381
146
265
593
171
574
749
161
618
684
673
670
463
964
647
382
679
209
49
122
156
503
393
940
507
285
198
632
714
730
904
435
836
568
989
274
440
142
670
301
208
590
616
209
424
862
558
580
57
96
303
315
566
931
405
96
43
164
139
317
652
885
880
55
841
495
372
844
5
902
413
55
39
965
407
114
783
751
927
571
718
617
370
470
170
837
761
313
211
190
871
658
131
736
782
241
988
947
880
406
421
901
327
494
97
23
854
671
558
71
605
555
577
88
933
826
55
892
887
938
149
966
505
739
447
434
352
776
755
105
991
229
992
379
848
964
530
67
352
409
358
57
801
254
199
705
692
681
56
329
835
715
957
79
813
996
669
945
926
273
757
82
882
215
734
96
598
437
672
443
662
13
361
368
891
413
501
893
865
344
648
991
523
458
135
910
76
196
948
757
66
202
733
135
800
73
848
962
29
377
58
675
763
86
723
601
950
321
451
521
500
68
334
300
222
685
950
481
135
818
900
218
336
669
17
122
561
397
399
354
361
128
494
865
202
268
231
44
255
312
553
463
899
49
751
606
576
752
279
180
492
720
249
741
197
545
963
725
701
465
525
220
337
757
677
625
577
595
745
643
762
362
686
681
543
460
223
81
389
586
357
71
446
242
38
393
773
949
321
921
388
175
762
794
318
740
797
33
842
622
334
820
828
972
854
647
918
211
845
213
580
896
23
761
579
368
132
920
232
874
9
970
445
575
690
692
13
833
346
940
495
185
504
504
559
239
803
174
91
640
974
790
425
74
476
377
71
992
567
183
459
624
279
139
917
162
992
98
373
688
213
835
723
700
436
988
162
674
24
284
615
677
438
401
13
360
416
499
670
893
454
965
557
342
275
895
689
523
225
421
542
18
448
262
939
521
259
706
631
482
966
859
789
636
267
956
31
640
898
202
40
566
3
282
188
828
111
908
643
410
495
144
136
529
343
231
391
986
712
683
710
551
384
26
999
871
463
212
904
360
313
214
607
348
861
4
585
311
174
462
597
779
393
423
553
689
991
820
79
912
687
766
701
101
492
111
392
403
202
785
110
810
304
163
895
554
497
480
634
452
908
594
942
683
674
935
13
904
990
648
924
173
110
888
539
924
5
665
796
788
161
598
516
618
167
72
755
556
807
30
613
806
783
929
889
37
426
951
145
738
419
152
77
24
602
488
860
776
703
780
322
579
430
498
306
147
435
792
421
528
761
638
459
466
750
721
258
859
184
51
527
111
308
785
171
482
141
769
111
416
174
743
627
235
133
583
238
746
488
16
907
11
129
132
486
686
738
68
491
969
688
446
512
673
850
433
632
24
1
240
282
339
855
378
224
370
916
407
799
701
951
655
511
314
710
106
139
567
934
930
863
551
414
531
359
857
411
535
337
166
884
99
749
61
846
976
936
476
704
12
675
921
5
57
734
760
228
526
744
737
147
882
545
127
530
897
387
796
922
297
35
503
447
1
622
662
865
870
487
896
85
390
404
759
69
681
258
100
496
519
718
147
860
208
405
370
341
937
334
501
229
357
370
903
472
472
888
791
278
95
133
897
318
795
241
27
233
881
62
723
955
13
106
237
232
298
601
928
66
81
25
417
61
153
320
640
356
934
298
906
537
4
29
840
627
843
343
524
404
144
404
647
960
410
109
444
233
573
596
633
649
958
378
465
893
898
361
696
871
431
448
128
963
462
160
573
333
648
905
230
124
321
23
725
289
977
930
688
709
936
504
617
519
908
250
187
627
871
177
402
868
294
380
560
19
557
755
725
820
327
934
551
562
762
298
61
616
706
402
494
4
994
805
444
234
115
944
171
902
158
890
131
567
394
865
572
618
286
599
671
957
514
808
321
212
13
672
977
664
904
496
727
396
449
803
154
765
247
517
874
376
690
313
739
133
659
213
425
554
153
967
228
764
34
530
703
99
444
28
961
946
408
151
445
584
809
794
599
17
530
410
107
252
192
210
755
847
308
161
896
857
435
329
449
571
852
735
952
235
166
141
686
617
484
386
368
441
923
116
972
18
433
380
136
407
522
965
694
200
675
602
620
805
87
604
636
531
192
681
699
93
662
937
18
450
562
882
478
608
152
166
710
917
120
559
338
544
938
20
156
84
941
37
467
178
607
818
847
293
90
223
105
515
273
998
510
927
629
828
353
816
738
35
971
522
486
563
600
994
583
930
865
39
281
491
58
959
718
333
63
976
786
993
686
433
305
46
204
417
674
214
456
953
99
685
303
377
474
787
295
241
585
324
425
851
537
396
755
201
920
735
216
994
712
351
118
836
372
738
408
96
927
315
121
894
83
42
609
773
395
582
613
971
658
507
75
57
765
701
878
346
745
604
181
846
802
210
3
895
498
555
747
776
621
299
234
416
102
680
478
417
298
86
700
966
569
403
562
899
195
716
128
102
288
361
912
894
843
38
177
38
140
202
231
839
938
625
700
117
607
967
18
305
735
316
330
467
428
641
292
395
591
266
303
128
94
366
652
285
458
143
811
809
402
546
564
262
710
603
582
804
379
17
545
529
396
427
149
771
935
743
328
559
304
451
606
325
346
544
464
87
788
65
472
975
896
760
682
508
210
655
864
303
357
513
556
512
203
329
257
549
574
536
476
398
698
707
252
352
782
162
793
261
515
223
813
445
509
913
765
242
641
747
849
772
847
721
34
700
548
520
386
703
721
787
787
932
412
899
549
15
936
56
559
290
729
997
484
132
547
852
462
513
433
487
144
284
507
639
684
295
53
772
870
403
381
190
308
785
241
869
558
380
60
6
766
956
771
357
488
241
397
310
835
165
874
611
75
244
780
118
417
672
457
939
940
963
537
449
131
723
470
541
272
422
299
413
837
976
891
201
47
511
553
858
318
402
305
497
656
24
73
319
349
539
547
882
348
973
258
654
590
507
48
595
680
646
303
770
347
316
710
563
874
957
249
937
290
218
869
200
464
230
707
983
642
794
443
984
762
931
537
619
635
101
139
218
448
367
496
491
69
367
217
441
792
222
678
819
333
613
664
582
543
732
764
859
459
531
999
779
994
446
601
548
178
636
325
34
337
888
627
61
143
941
485
189
395
855
270
931
192
327
22
683
124
432
416
981
675
602
128
668
966
696
151
257
281
882
929
224
278
130
470
939
115
119
1
635
721
355
147
715
736
366
862
629
630
959
514
853
296
962
211
680
981
851
98
240
426
859
893
309
99
301
977
273
991
166
914
932
733
603
944
416
28
262
249
58
669
790
506
505
364
205
956
690
55
709
399
412
427
313
120
950
164
324
670
296
118
924
523
776
40
846
145
986
917
499
424
6
686
199
851
949
793
490
747
681
103
731
243
870
27
549
986
67
449
71
919
53
468
864
198
309
676
545
633
347
549
361
933
509
768
850
860
895
775
902
151
713
524
529
321
655
759
430
217
387
375
440
514
744
873
434
549
25
742
904
582
358
271
585
326
390
728
878
723
96
19
329
681
63
944
547
572
821
926
464
514
643
77
680
859
577
190
625
955
519
115
497
925
956
911
619
850
736
904
327
585
685
811
880
447
536
580
379
723
418
24
533
425
873
123
546
577
875
391
168
843
892
902
125
620
634
39
810
811
144
69
504
15
54
523
215
694
2
750
126
515
359
625
854
629
135
215
850
30
198
15
769
278
213
939
739
29
206
875
482
472
510
7
7
103
34
193
441
116
692
844
123
806
59
266
827
940
405
902
894
832
258
617
727
635
814
494
306
18
491
536
553
820
6
456
392
747
861
932
331
25
22
207
633
67
300
543
591
445
696
969
644
341
95
449
355
792
733
904
985
329
578
93
545
754
448
554
266
539
459
7
938
536
993
529
348
742
577
53
727
693
511
646
398
222
961
157
851
788
762
403
328
99
118
547
825
800
692
122
828
649
581
133
981
723
678
32
492
217
474
94
805
270
900
40
193
97
131
616
531
930
931
385
805
559
451
935
988
442
48
565
233
94
30
572
231
954
497
843
891
252
626
362
680
997
454
737
439
345
544
354
289
750
110
469
577
540
73
140
481
485
829
969
293
811
115
925
635
526
250
163
692
654
627
740
629
963
745
985
6
50
45
58
339
112
320
374
984
103
27
744
492
107
308
528
518
616
715
561
976
806
542
463
222
295
689
431
33
381
684
329
53
204
387
487
716
933
416
351
938
628
706
858
524
881
499
149
60
18
978
482
729
32
513
231
825
363
217
337
787
121
421
820
341
680
964
606
773
119
706
74
354
926
281
419
525
208
471
776
290
44
922
412
154
144
409
584
686
486
780
447
458
57
822
652
800
821
333
214
623
24
383
724
833
554
991
906
6
492
396
200
605
72
229
608
207
27
667
164
951
328
231
783
416
562
331
114
77
219
916
512
208
489
204
305
864
512
919
945
257
32
92
712
132
78
655
141
925
459
900
674
849
530
911
316
573
200
583
617
723
308
172
526
946
422
425
680
895
333
589
713
361
596
392
214
764
313
675
182
117
675
594
431
99
575
681
722
37
413
880
382
899
898
726
393
609
962
486
606
791
458
435
157
778
514
75
721
330
79
119
851
678
930
463
194
906
201
542
6
622
890
118
924
714
134
86
131
974
315
167
700
479
774
620
238
70
288
275
893
627
767
52
971
591
947
412
190
84
610
644
858
624
897
350
88
689
739
653
71
490
163
976
544
23
834
623
457
311
403
552
314
605
779
554
405
40
34
490
400
758
628
516
343
621
427
257
570
450
260
299
631
245
69
756
318
640
447
215
490
671
466
101
950
507
386
850
316
923
401
795
949
691
793
719
133
753
699
416
75
498
477
466
754
998
590
547
551
534
957
754
627
780
268
886
352
83
485
94
318
544
949
94
407
678
334
553
934
210
58
829
287
506
589
670
168
862
931
560
218
807
627
247
680
450
963
280
998
970
653
456
929
913
39
523
674
980
300
820
269
303
938
453
507
605
654
812
147
773
749
473
336
217
226
184
938
175
61
347
165
124
340
325
989
45
336
337
547
781
53
544
81
371
823
393
921
571
730
722
997
651
324
735
324
738
674
25
531
525
354
865
912
412
288
677
91
32
499
799
25
121
151
58
854
831
222
781
408
364
308
752
341
477
677
125
884
298
327
787
524
712
442
468
988
300
556
215
779
904
779
312
878
115
315
821
217
425
642
833
192
863
246
483
507
115
252
280
636
770
684
193
838
112
798
801
365
877
896
871
469
817
208
490
955
920
121
813
356
906
433
627
169
470
654
49
60
864
646
815
984
865
210
796
346
833
71
136
191
664
411
72
135
754
845
665
302
563
439
880
520
332
831
172
214
180
972
87
599
952
515
596
41
668
431
893
397
732
675
442
27
706
324
188
538
988
997
758
570
285
0
168
171
408
111
391
934
604
203
758
788
890
4
163
862
957
723
919
291
715
600
355
517
507
21
3
887
552
630
471
586
553
492
192
784
991
852
824
295
828
851
963
387
393
79
957
834
667
761
647
867
406
614
359
505
435
59
770
132
649
262
659
428
288
208
621
628
780
187
731
887
113
138
546
131
63
290
798
218
688
295
735
772
229
221
674
406
715
773
217
253
572
965
668
601
186
675
527
985
197
705
256
793
524
155
405
503
56
233
406
433
511
50
704
672
365
675
822
959
421
885
950
875
377
726
55
118
174
455
844
312
614
502
665
474
609
45
114
537
471
482
730
832
539
937
100
851
195
774
746
554
788
32
370
541
843
568
351
262
634
347
730
699
613
734
443
815
722
150
243
742
441
922
363
252
987
698
201
105
111
610
152
393
881
561
193
181
171
398
258
300
863
528
12
427
296
156
520
157
539
397
623
335
384
914
651
107
721
942
508
647
380
326
43
737
117
642
84
644
570
652
656
48
61
478
928
186
113
393
616
407
578
878
800
303
342
390
55
85
383
825
508
284
606
453
859
313
815
84
384
745
336
691
788
371
943
706
231
897
922
332
563
394
970
187
254
3
627
539
348
682
680
188
512
418
500
538
612
606
142
672
964
124
431
764
112
854
517
260
92
445
282
292
980
635
408
683
890
941
222
856
54
415
983
285
691
90
744
332
504
835
368
134
928
121
143
564
912
464
342
346
775
581
597
197
938
709
966
731
1
468
22
600
254
907
85
120
528
852
160
69
66
468
669
487
249
322
822
703
606
78
471
683
60
415
365
823
766
937
0
454
627
517
898
898
99
558
822
618
1
465
922
685
378
907
664
127
450
759
130
525
408
247
745
726
511
127
44
997
534
665
32
992
882
372
982
844
195
618
467
318
161
679
611
282
348
436
326
938
398
958
212
60
477
790
847
562
318
670
600
50
483
667
870
201
167
783
164
562
935
238
123
330
134
313
800
923
531
224
444
115
590
645
611
218
721
7
135
525
388
651
960
801
497
314
872
948
473
901
438
912
692
769
622
355
185
825
894
330
570
740
482
640
214
463
852
239
771
371
232
390
764
219
761
643
328
731
711
269
470
443
738
469
225
611
707
317
678
892
16
878
253
319
235
475
801
411
542
487
619
912
228
958
396
380
584
942
813
752
90
219
690
345
3
245
347
522
446
753
641
150
243
375
648
726
404
347
798
492
888
83
160
392
540
972
71
887
855
46
762
957
759
688
364
595
610
647
982
336
66
306
649
574
10
551
579
891
954
586
930
161
917
360
670
736
328
804
174
161
527
741
230
599
353
334
915
201
849
244
767
180
582
807
404
728
136
245
448
667
307
434
168
389
760
278
979
538
430
51
549
563
958
466
549
326
6
429
154
622
635
894
840
424
797
964
116
264
939
805
591
293
242
586
271
721
971
773
684
173
243
949
212
174
643
359
246
335
484
385
654
203
117
37
160
518
986
442
798
325
265
95
906
652
58
206
50
97
92
811
80
545
540
516
314
496
412
493
480
408
732
571
717
627
556
184
864
403
715
939
930
136
521
728
776
645
594
512
41
117
61
891
77
473
491
709
892
830
148
803
263
811
500
788
594
511
933
221
301
765
639
455
670
188
959
487
488
516
827
303
544
134
329
662
986
923
696
584
292
624
668
323
4
328
796
469
918
366
944
998
355
92
337
893
856
159
490
776
426
64
144
981
216
881
707
15
962
363
280
353
483
199
692
484
723
239
273
215
814
967
136
312
56
720
676
864
345
95
267
996
164
397
813
326
662
954
803
48
584
995
444
51
92
697
904
947
179
491
766
834
770
142
749
97
485
412
879
236
649
206
672
139
826
359
927
753
653
366
34
469
284
282
156
733
544
977
195
448
611
216
426
386
55
660
863
550
608
419
817
281
866
941
354
791
625
397
435
471
190
843
791
743
307
201
85
410
753
14
920
267
818
985
498
425
706
150
214
215
453
425
43
547
371
387
635
517
384
839
705
322
508
995
918
479
991
540
907
383
4
765
789
10
277
125
526
125
298
909
627
163
829
543
203
64
212
866
126
549
502
824
109
98
396
730
81
24
367
280
608
90
147
462
275
709
828
888
833
951
740
866
47
751
873
580
877
914
853
186
353
871
552
150
553
829
433
576
62
829
298
222
661
953
782
499
647
626
382
841
30
379
246
236
220
275
346
828
770
272
652
568
99
927
333
369
948
211
860
252
494
581
336
929
190
986
868
17
289
345
862
879
568
156
583
750
527
949
802
796
428
453
519
785
391
852
321
388
385
750
271
1
218
584
775
129
382
512
17
334
275
385
718
884
51
868
1
490
336
914
923
109
888
403
602
366
92
307
891
316
262
73
883
122
987
18
135
967
54
141
475
614
915
385
792
691
289
664
746
298
732
928
584
100
884
22
341
146
15
670
911
97
804
565
303
718
369
96
243
81
584
649
840
511
950
900
348
630
249
608
818
364
923
948
496
630
404
117
801
423
350
634
53
649
881
28
929
685
532
624
356
970
577
468
367
439
695
699
702
882
345
898
517
406
926
991
847
532
235
646
905
945
753
954
459
252
507
373
629
835
113
939
644
759
372
501
268
307
247
254
402
837
129
777
263
21
286
771
437
993
325
206
87
968
999
421
207
214
825
24
546
70
197
288
951
825
143
258
305
132
231
597
473
452
174
507
209
494
452
963
543
531
345
251
710
381
641
233
330
825
935
352
164
528
776
792
104
874
191
942
329
791
644
794
977
663
713
800
488
604
762
917
275
288
874
531
157
693
868
469
509
517
888
70
667
899
141
227
271
813
916
82
68
310
52
568
946
411
58
961
528
116
973
477
830
586
91
354
268
654
780
496
214
456
786
473
924
381
349
183
870
795
687
187
741
793
787
133
530
559
452
762
553
480
908
750
272
946
660
475
739
773
485
792
824
937
267
444
744
182
861
730
118
108
859
626
768
252
316
732
365
244
985
902
43
994
993
743
549
721
178
216
510
884
504
209
580
577
547
324
808
97
865
472
834
142
323
769
649
821
840
770
381
480
611
770
919
353
416
374
861
986
320
557
265
777
868
571
589
880
498
169
455
162
743
188
145
507
778
655
657
134
40
354
37
623
466
934
419
179
114
898
19
838
233
66
32
98
391
176
964
953
312
282
57
478
79
809
916
718
597
476
169
377
806
693
849
444
164
527
252
889
381
174
705
334
70
996
902
980
342
848
991
14
482
353
337
501
171
232
903
368
432
94
748
431
140
404
892
263
90
77
289
802
704
63
545
560
711
351
67
47
460
17
776
983
893
613
234
29
389
349
960
527
459
22
520
314
888
549
335
673
390
394
21
558
485
996
175
701
452
691
181
698
153
868
977
443
556
501
396
368
608
305
219
652
899
343
104
453
64
647
775
441
622
305
52
661
759
145
541
736
20
453
956
394
307
503
119
26
962
731
915
790
911
319
320
503
163
517
789
335
415
565
379
22
925
159
621
687
445
65
595
884
163
456
726
355
306
515
694
17
905
895
679
613
567
242
416
598
758
998
23
671
333
250
443
689
106
725
940
503
636
436
905
946
532
621
393
10
500
660
136
780
633
267
207
365
414
136
445
999
75
443
49
633
326
486
111
331
723
142
93
105
187
48
906
511
369
625
713
10
416
690
222
123
837
765
557
849
693
371
173
437
866
895
37
260
972
905
228
667
703
778
515
863
259
809
66
534
281
754
900
454
821
645
12
931
609
558
557
611
800
952
607
31
154
958
506
501
457
651
867
173
473
231
902
302
822
914
714
259
49
763
758
505
770
664
162
242
366
680
564
190
538
297
48
896
281
234
181
257
826
171
521
383
171
342
762
744
891
352
450
659
34
495
570
741
836
584
994
314
253
65
641
186
706
497
830
366
326
402
783
629
48
100
702
775
57
607
448
715
560
366
212
253
162
68
911
58
13
763
882
957
1
596
698
352
422
54
553
841
821
282
500
901
850
937
169
639
478
468
743
809
605
107
694
191
643
904
864
70
791
9
307
875
837
766
310
226
92
964
142
791
783
560
948
525
192
330
22
471
517
739
156
135
662
921
141
752
59
190
72
895
99
343
413
261
803
494
151
977
922
454
522
669
536
234
8
464
326
544
406
933
408
736
735
70
810
908
756
263
813
848
996
205
983
868
102
10
246
758
531
919
969
153
286
16
969
638
365
144
865
561
586
512
850
505
670
823
629
883
672
889
501
889
690
333
689
851
129
741
452
649
999
483
233
367
329
109
325
580
50
16
491
165
915
240
455
561
507
438
833
430
522
104
81
832
367
669
846
91
206
529
366
836
563
689
977
662
742
257
644
864
719
206
531
506
946
635
579
11
616
664
856
732
876
198
56
751
237
536
763
115
807
27
26
73
388
364
226
671
542
685
559
743
786
677
456
254
294
675
14
179
164
107
974
93
516
976
990
969
404
361
263
607
730
350
88
561
740
363
826
334
578
376
696
458
803
163
472
736
504
441
332
892
2
56
621
795
391
965
59
695
80
480
596
148
183
707
691
510
954
427
175
179
216
474
897
865
792
314
942
215
691
146
274
650
200
736
437
609
223
581
122
88
876
431
381
732
989
525
773
144
620
250
964
743
483
927
609
148
953
95
213
243
369
280
469
779
74
167
53
766
587
350
785
684
698
933
395
402
799
338
806
351
403
7
92
961
833
549
41
842
0
528
569
176
481
641
836
142
226
485
727
758
593
183
267
471
221
444
671
535
484
6
441
580
703
564
66
606
907
814
978
111
38
435
959
52
109
344
167
851
954
604
233
870
637
919
887
741
690
205
485
436
13
283
214
740
197
172
93
10
100
466
993
134
120
861
960
696
524
441
39
606
336
961
665
431
425
414
9
531
651
782
710
683
841
260
23
401
312
262
424
877
191
988
365
467
422
878
12
886
403
334
92
128
223
188
183
205
67
364
88
650
893
798
406
537
887
374
81
993
766
415
188
630
584
126
116
987
454
132
209
775
545
319
104
630
673
951
631
341
929
606
687
466
127
76
317
404
83
881
486
604
205
555
774
982
603
410
350
324
584
577
427
567
265
547
93
328
350
7
439
975
818
475
177
437
50
246
716
249
427
128
847
217
221
602
755
941
578
457
907
225
489
579
384
483
289
40
376
527
636
176
408
922
447
557
252
436
331
954
874
275
424
362
507
620
329
463
398
95
719
457
855
877
832
771
381
8
344
742
990
175
883
396
235
636
540
537
298
597
205
261
793
850
725
799
300
229
206
152
104
426
685
979
109
369
76
888
381
873
550
576
175
728
922
290
468
442
2
864
594
909
673
463
424
889
499
607
392
177
715
163
446
886
409
196
678
335
188
17
902
549
58
673
729
806
833
649
171
505
554
82
456
704
858
609
313
377
322
762
141
337
256
500
327
32
776
736
980
219
199
222
197
803
815
456
652
54
960
63
685
643
405
807
541
818
136
881
289
196
457
842
140
19
145
44
700
447
866
358
417
400
642
768
707
297
941
533
259
19
7
341
633
258
375
358
267
228
25
751
27
236
245
465
726
319
82
976
859
860
41
675
956
985
486
44
204
658
49
751
881
730
667
636
508
860
101
727
416
711
498
610
494
822
255
464
476
607
498
303
136
340
215
252
17
867
601
743
276
266
912
797
255
71
979
613
946
109
989
850
429
898
549
828
592
616
825
611
766
543
874
242
104
767
137
189
355
357
875
776
117
512
49
167
353
672
533
542
373
576
879
818
654
226
567
254
841
329
540
689
482
796
684
201
164
138
502
390
7
432
706
751
256
862
918
320
509
304
134
613
24
839
369
690
484
77
800
966
799
689
755
674
937
574
628
104
297
730
587
290
819
703
629
281
333
886
538
984
973
741
290
153
481
459
13
384
590
784
676
281
749
506
53
804
931
673
431
608
593
795
114
827
808
96
130
7
901
165
808
881
76
191
805
841
289
573
731
869
52
733
274
869
509
144
723
44
835
808
204
362
625
763
358
865
751
178
876
769
879
468
774
926
611
283
493
621
822
351
689
678
824
603
986
251
761
485
2
729
61
251
932
998
539
538
236
266
772
436
919
451
225
128
225
330
261
557
385
690
64
451
518
960
575
950
227
505
861
117
380
325
295
311
909
622
467
169
902
695
895
40
618
257
727
737
117
200
823
597
808
215
966
606
878
298
403
119
960
554
75
811
716
142
160
934
164
330
367
926
991
245
458
205
911
611
869
963
32
985
61
690
421
980
946
294
518
171
215
989
391
638
879
577
331
385
855
149
321
24
715
279
195
686
608
500
245
901
458
789
958
385
825
227
272
858
792
310
251
560
965
648
216
259
419
985
717
176
873
384
967
835
470
560
233
353
530
20
498
691
156
403
340
555
933
421
30
601
474
866
17
373
489
943
926
104
546
589
146
102
211
732
290
23
297
20
155
147
141
136
36
206
800
917
650
285
668
844
502
733
543
249
902
57
89
847
29
194
288
67
438
51
513
174
901
678
777
109
666
394
926
663
536
248
800
20
416
291
447
807
774
625
875
258
832
450
716
344
511
191
35
419
304
475
181
725
894
319
523
444
145
720
273
257
638
571
645
967
257
586
569
87
73
250
935
270
795
256
124
129
896
860
864
369
689
877
925
750
619
19
438
526
600
582
437
982
136
70
418
8
579
772
828
25
430
227
138
646
615
293
199
51
955
692
475
72
795
491
585
783
932
19
717
854
220
481
448
337
236
356
317
835
547
182
202
734
708
108
234
302
699
991
188
695
20
822
452
935
284
656
760
965
954
48
440
879
755
806
162
993
646
572
905
865
139
811
977
254
33
734
292
28
734
405
368
795
488
870
819
334
205
468
111
306
777
250
174
266
646
666
726
648
752
88
849
633
339
241
674
608
953
375
233
157
354
934
90
372
133
872
771
179
455
663
839
484
545
97
884
370
489
75
2
479
373
839
956
642
861
558
364
36
582
564
176
706
347
216
426
102
292
263
467
231
142
957
112
229
91
491
863
645
214
892
224
586
630
790
684
57
181
943
112
660
804
733
497
106
585
70
366
256
181
186
115
415
120
813
266
993
236
702
696
790
264
354
345
475
107
694
944
273
138
662
702
8
5
516
353
2
641
355
563
537
443
764
532
97
38
491
800
834
148
950
202
834
730
161
222
350
398
764
754
72
874
497
909
481
44
448
252
392
507
281
989
441
202
415
957
785
736
508
877
442
167
80
421
736
508
653
890
704
675
33
638
793
654
634
600
550
211
75
684
979
56
866
715
933
83
357
916
11
104
779
685
669
82
498
253
497
918
741
286
144
641
883
462
837
826
930
935
635
220
194
88
777
8
712
335
226
252
916
495
241
146
693
538
130
493
613
955
913
388
673
365
985
818
768
297
839
423
745
521
330
108
686
158
425
50
663
974
481
672
657
862
388
186
373
272
219
424
722
769
890
375
663
39
86
695
989
301
664
74
876
951
41
957
674
951
962
578
681
276
540
672
494
96
789
849
19
886
50
134
675
94
846
402
209
489
790
214
3
859
333
69
413
275
641
952
29
161
593
43
479
772
937
284
471
481
499
475
562
291
443
432
671
100
841
159
878
90
927
701
349
584
833
720
553
28
975
613
202
638
85
731
567
720
152
242
188
15
728
898
762
78
548
94
452
431
339
817
593
872
240
735
169
699
120
273
276
257
244
978
845
144
992
3
571
784
826
864
301
148
487
546
409
201
116
645
122
724
330
872
194
352
178
258
382
999
666
557
180
650
137
29
163
348
152
820
469
425
487
746
30
362
352
822
856
603
799
624
532
442
302
777
552
495
34
211
331
50
261
509
715
805
902
205
105
293
754
646
752
415
836
366
314
140
818
755
920
202
508
535
838
932
474
955
137
481
952
898
445
240
602
855
683
130
49
571
648
795
223
302
208
564
884
949
300
975
407
78
152
996
97
205
507
239
64
697
409
125
237
34
524
12
0
425
227
482
437
283
351
759
36
609
438
525
893
561
107
433
910
437
520
687
186
522
621
343
505
91
419
845
771
595
994
940
838
96
737
434
237
303
649
846
87
35
180
929
775
726
177
986
602
509
346
410
226
322
163
634
130
520
145
93
732
840
81
496
533
941
460
13
146
225
430
639
660
111
306
270
378
1
568
675
325
240
866
531
606
947
958
977
707
542
226
725
95
862
380
821
762
922
183
660
756
514
972
969
315
887
446
544
639
242
729
679
591
817
617
583
462
989
257
275
751
29
330
379
138
795
503
817
131
710
325
484
407
300
430
810
239
267
799
980
307
618
806
666
149
154
189
988
274
14
999
639
576
589
904
305
272
545
375
854
82
827
74
117
608
781
16
453
850
558
316
936
815
474
868
412
628
967
590
645
289
830
559
297
278
166
430
227
45
312
748
417
358
931
81
181
685
19
564
394
463
205
291
668
829
458
903
784
731
674
850
591
895
734
421
667
38
409
726
868
582
459
986
108
439
36
988
990
741
820
548
264
478
139
388
615
260
793
512
578
713
497
931
729
432
597
836
863
721
585
409
5
656
118
101
536
111
911
431
853
292
914
494
279
24
422
545
281
786
177
376
825
379
282
686
419
263
342
730
958
964
395
460
190
830
915
990
199
480
678
334
596
164
576
74
488
458
391
552
310
632
593
833
533
238
737
706
126
770
883
353
533
631
353
15
975
406
435
325
143
335
102
296
450
805
971
801
503
658
643
695
753
986
976
340
325
778
378
438
802
694
298
228
30
148
305
24
435
706
828
158
514
339
584
55
317
945
494
307
559
776
764
627
102
701
705
121
166
995
26
785
526
725
347
893
618
627
749
596
786
713
276
79
246
316
641
410
871
731
774
603
237
911
253
796
965
88
169
565
806
639
843
817
336
200
237
530
513
981
520
672
82
345
170
449
87
569
511
232
481
796
681
89
269
955
167
573
224
182
896
409
550
628
121
36
659
921
38
93
180
969
781
911
701
108
682
246
954
922
538
191
394
273
722
569
305
897
71
75
940
10
528
636
30
557
389
365
606
62
717
206
437
934
157
514
967
939
810
60
624
145
551
874
746
188
984
887
881
722
92
522
963
268
923
730
567
798
455
718
905
943
932
984
59
775
117
939
74
286
984
628
812
957
694
958
438
75
375
382
138
94
154
106
77
583
448
357
34
611
406
887
384
146
903
190
59
628
473
501
167
706
984
940
310
255
68
201
589
929
381
14
561
557
524
839
934
559
468
164
728
884
595
938
28
244
661
515
208
920
365
612
43
907
458
681
116
177
958
957
391
759
982
405
558
138
128
451
479
660
219
592
214
482
346
159
206
493
688
268
448
82
515
458
216
846
899
581
373
141
336
322
245
781
69
316
358
483
973
626
382
849
128
682
838
815
57
206
516
143
38
335
126
271
423
616
203
807
720
41
559
657
433
340
96
341
775
116
186
343
993
454
808
476
511
728
751
937
777
483
152
428
149
855
875
488
41
882
533
663
499
479
912
324
342
61
350
254
328
451
915
792
710
806
312
835
187
872
337
158
389
861
739
229
426
155
962
736
818
845
64
975
999
102
318
100
750
142
417
245
635
766
88
22
561
878
792
425
845
328
283
486
595
731
310
973
607
546
74
239
140
466
183
960
70
945
636
153
63
679
760
359
597
603
71
378
374
997
414
789
679
981
786
51
745
513
757
315
852
530
25
584
132
684
325
516
378
990
482
832
551
253
307
265
11
60
618
238
814
593
523
353
318
442
620
226
450
806
731
860
462
99
814
828
488
910
852
290
418
73
113
689
526
522
902
693
251
668
871
241
392
223
289
719
283
475
617
740
986
349
194
535
329
911
416
701
344
8
640
630
437
880
208
863
946
357
646
954
66
363
126
423
389
515
617
877
989
82
469
598
559
646
374
572
439
481
68
927
87
533
30
407
600
725
508
219
560
936
23
947
929
463
253
15
584
267
306
56
406
678
374
414
309
988
872
199
421
883
647
973
263
198
225
369
936
652
369
520
538
995
896
467
157
619
468
381
507
434
678
998
887
747
775
548
556
686
754
297
817
373
192
684
782
148
819
61
244
146
284
207
680
762
391
546
579
148
499
639
143
721
482
481
707
855
975
145
78
905
772
556
672
691
953
477
433
668
101
720
219
262
591
891
574
620
416
994
286
954
246
60
916
619
733
294
388
786
441
385
370
517
811
275
543
808
794
266
411
549
887
971
324
430
570
16
4
249
368
930
159
270
945
275
901
111
406
677
75
389
771
955
998
232
728
985
192
645
347
438
969
204
358
551
780
939
758
688
874
899
921
880
60
546
532
758
525
790
532
517
697
980
982
738
676
98
6
610
177
745
229
410
13
8
9
648
428
41
466
533
54
274
257
99
836
134
752
719
224
923
464
969
247
500
399
584
645
136
803
326
270
724
22
154
503
934
851
164
992
444
414
595
250
187
53
103
938
92
763
839
162
612
508
434
641
909
906
393
3
913
715
718
638
197
805
465
327
326
869
748
300
848
29
294
378
205
806
733
469
530
287
117
566
368
391
533
575
510
707
61
594
202
112
258
200
838
391
183
79
31
372
228
443
104
489
891
689
435
718
150
169
523
429
157
218
117
40
317
336
773
491
943
731
705
957
226
954
475
34
695
189
505
639
785
928
255
762
752
902
320
976
29
203
295
261
627
228
900
652
50
487
696
826
974
279
556
933
253
657
738
849
525
357
460
663
185
35
954
214
858
929
943
332
484
445
635
692
376
905
390
913
978
546
589
82
348
622
584
5
692
687
281
55
530
664
122
1
510
435
946
499
410
285
599
991
320
718
566
531
249
430
966
267
266
223
553
457
114
416
170
814
100
933
198
199
134
152
8
815
675
884
744
816
703
147
530
942
126
75
486
290
268
45
171
782
635
440
801
156
16
930
809
725
798
527
805
878
348
178
123
863
532
877
797
941
791
810
525
631
778
245
848
364
499
858
391
396
245
309
964
537
818
816
628
325
755
802
747
23
769
307
731
49
65
669
37
762
371
240
292
582
358
931
899
961
740
413
5
346
685
622
578
235
330
161
574
572
511
860
983
999
302
457
371
447
73
459
48
93
820
714
767
138
885
844
741
181
677
480
400
274
348
341
746
804
268
692
957
2
326
253
710
852
810
856
526
228
161
241
879
701
920
417
705
168
435
193
738
549
813
961
610
827
895
866
637
908
955
356
276
384
439
823
364
606
700
166
120
56
111
240
696
347
509
600
748
737
373
194
185
144
866
741
761
991
885
963
598
425
374
458
139
24
928
78
13
512
154
101
862
567
593
473
311
70
746
622
71
423
56
482
202
885
446
497
722
343
842
768
140
514
655
181
604
621
391
422
289
514
175
614
897
222
13
172
560
978
593
923
80
686
482
196
233
763
166
595
350
42
579
709
244
483
17
218
478
922
235
341
809
4
155
716
769
418
39
425
866
824
439
15
354
632
61
912
181
671
929
597
443
595
268
19
136
951
348
890
838
770
669
567
94
604
639
29
226
11
710
77
768
878
809
966
322
213
392
791
405
984
114
425
84
934
147
75
239
399
190
924
390
434
218
939
603
737
697
98
639
895
731
168
104
334
112
562
753
979
802
616
906
517
44
195
749
963
270
243
103
455
624
17
230
748
41
984
623
178
812
396
86
484
818
433
53
961
97
313
820
744
473
450
397
678
334
575
316
538
455
470
94
405
130
781
610
367
313
969
464
356
380
409
524
565
670
134
686
9
304
911
943
973
516
851
844
95
823
431
568
727
516
909
296
714
739
395
443
161
743
731
445
962
432
849
171
606
720
49
933
306
539
512
595
561
217
856
76
193
107
8
487
391
477
898
280
664
696
566
785
360
787
501
745
451
985
649
341
957
9
784
774
992
708
519
372
103
90
228
684
276
511
331
988
72
56
401
180
767
75
845
613
701
936
274
653
892
956
887
699
611
329
844
74
119
658
918
353
809
656
923
647
105
401
375
18
211
50
692
11
929
958
494
129
54
33
626
50
226
733
509
269
842
226
968
845
382
878
101
829
44
361
830
766
361
189
437
778
973
940
850
520
774
127
618
152
933
3
413
163
973
219
21
193
643
140
385
28
984
750
905
524
928
917
500
627
184
79
611
790
825
490
916
149
693
2
545
373
191
301
688
539
375
195
48
547
572
948
401
797
142
225
640
111
338
443
280
417
165
368
207
363
151
537
955
865
22
763
758
848
865
872
189
274
100
986
885
853
246
625
336
365
974
855
412
416
158
360
138
420
435
460
842
835
147
371
83
944
71
158
72
765
621
49
650
807
544
144
984
345
352
567
991
311
258
326
124
60
975
268
263
92
614
385
120
229
607
252
299
856
676
791
657
289
111
895
907
250
781
631
263
901
734
701
479
845
183
197
891
143
965
76
880
990
368
910
382
206
558
825
924
527
362
581
443
885
825
715
596
870
246
729
590
711
882
464
994
401
869
596
828
15
295
109
212
670
409
203
696
474
534
639
521
457
239
373
729
605
461
989
392
440
790
7
138
477
172
369
917
531
916
540
508
642
390
141
28
485
256
62
865
688
190
497
674
174
178
573
237
530
268
302
637
190
549
458
613
281
859
981
181
199
747
146
796
64
900
447
64
559
168
189
82
327
676
585
473
624
323
579
791
804
51
607
772
923
464
215
427
546
968
143
829
501
245
92
744
814
456
150
894
215
40
785
869
444
574
112
561
586
366
717
867
215
215
669
473
92
135
445
561
341
241
176
866
477
880
6
933
394
197
236
754
540
210
247
761
912
610
216
767
541
437
728
302
436
75
826
636
550
516
519
14
65
779
598
376
432
182
410
713
223
104
961
955
322
315
639
187
331
320
981
698
280
938
267
408
458
634
432
487
927
374
9
227
702
904
49
185
149
812
866
402
513
94
799
231
651
882
994
622
797
637
17
903
501
270
25
516
403
544
277
517
989
548
167
682
671
646
946
655
164
102
486
711
400
674
16
277
851
812
280
134
753
934
483
307
171
144
942
216
680
432
549
307
966
829
188
497
146
78
510
134
975
261
236
493
697
416
569
129
735
674
267
544
421
66
744
136
319
12
593
444
427
3
452
956
182
560
811
595
434
281
489
658
938
477
587
991
272
282
812
544
328
932
90
662
775
693
15
26
961
28
440
130
659
222
28
501
633
599
240
335
198
62
544
81
894
643
226
522
299
11
19
22
430
667
954
898
96
721
883
471
456
963
426
128
532
43
631
366
823
765
256
938
432
465
459
741
476
423
610
993
785
839
929
628
258
132
966
606
965
140
330
121
427
198
727
818
430
552
654
562
40
579
317
151
848
301
666
688
265
846
532
570
524
166
133
385
39
991
872
942
514
937
159
463
168
647
878
198
496
399
64
332
359
636
302
688
717
148
763
976
238
733
91
407
239
673
990
924
882
697
449
351
761
500
584
399
413
76
805
533
870
584
406
403
87
753
441
387
826
546
881
494
637
296
885
623
787
82
877
557
955
838
433
526
80
795
941
851
69
974
30
545
574
218
418
33
777
989
316
703
26
707
165
32
526
151
745
735
903
121
813
999
264
392
524
751
468
325
271
329
798
188
123
608
131
245
335
463
524
135
137
827
280
583
408
933
960
175
239
770
888
790
60
796
978
140
794
731
886
657
198
827
363
663
609
584
543
115
563
814
87
660
459
120
242
953
714
217
947
333
999
637
922
578
851
115
160
941
794
848
693
206
298
402
708
375
799
544
146
611
270
980
633
996
823
466
179
490
126
526
655
349
637
165
98
502
356
897
269
805
987
308
120
261
274
416
209
557
460
910
362
941
649
10
670
748
434
963
391
825
596
192
777
136
624
244
391
601
729
616
39
539
989
979
320
820
956
224
93
865
252
851
469
84
904
818
271
153
511
563
866
946
605
402
818
535
289
984
719
919
135
514
293
788
996
647
24
643
408
370
813
57
17
228
221
454
801
120
86
131
409
231
474
103
867
372
777
605
689
273
413
619
47
157
574
966
625
641
889
661
877
398
442
708
361
891
265
839
99
38
73
709
764
809
152
530
306
758
71
979
615
919
83
779
611
585
32
420
897
303
807
958
455
693
308
809
683
737
592
98
472
171
910
661
146
339
687
838
514
347
878
556
12
345
654
274
704
821
873
375
748
613
507
190
497
230
723
237
534
922
386
37
910
9
949
689
18
308
430
764
335
585
216
902
63
157
531
74
751
937
354
681
639
990
468
44
775
287
814
289
670
225
203
755
586
749
134
340
560
406
394
675
641
905
636
444
881
913
456
987
227
292
287
452
191
659
929
977
786
446
551
664
549
104
274
172
718
187
735
888
678
212
74
332
736
359
607
907
345
547
631
250
127
829
699
339
509
826
904
826
470
527
692
31
632
878
914
428
778
196
389
251
982
995
963
723
558
296
174
845
403
686
944
444
295
25
194
86
109
229
677
923
181
669
892
732
13
961
402
386
197
493
956
307
236
160
582
968
26
137
74
36
554
96
222
819
737
411
892
596
894
411
348
970
324
142
629
15
733
62
806
460
670
402
566
959
940
910
670
854
401
945
458
832
614
204
545
56
683
105
802
705
665
142
639
206
802
947
941
304
386
815
416
550
759
215
583
900
264
520
495
729
676
783
971
743
945
725
277
54
127
903
556
487
515
793
126
395
333
390
112
558
670
42
731
342
93
790
535
986
248
158
416
244
202
838
60
789
429
679
4
409
777
402
712
955
531
350
26
320
520
33
724
424
993
513
23
58
527
893
363
492
974
726
689
63
718
109
299
124
595
112
670
625
328
967
723
832
626
910
126
565
807
587
367
226
74
857
859
684
679
830
765
239
640
641
981
6
684
251
381
561
169
859
689
267
336
219
567
100
701
739
962
68
38
843
53
228
513
740
437
634
289
895
94
65
163
906
448
762
351
445
813
810
754
243
932
140
581
28
17
236
148
93
457
118
603
387
540
248
577
415
64
252
660
63
314
871
531
245
927
527
279
301
133
155
836
535
526
83
104
797
70
414
169
240
837
348
964
852
901
535
794
737
756
638
355
473
662
585
902
803
426
42
297
894
930
94
379
487
384
382
226
942
300
605
195
32
381
156
644
605
745
482
368
906
260
678
625
5
420
215
312
463
640
16
776
681
213
104
74
726
638
349
924
345
973
849
509
654
925
617
195
789
741
884
455
309
485
440
675
435
290
391
624
220
56
128
61
210
845
321
793
889
745
671
962
984
963
707
750
716
649
106
332
449
14
995
107
66
220
159
589
737
408
394
483
598
526
898
67
458
263
725
147
939
315
837
134
871
953
507
540
35
982
653
96
775
393
650
825
242
306
163
818
805
133
282
265
406
703
777
306
521
309
247
80
276
106
908
328
265
775
253
785
714
427
997
104
823
798
618
534
55
780
69
388
138
235
125
127
277
788
73
550
877
902
421
735
971
135
59
319
487
947
329
576
272
989
269
455
517
795
268
770
500
236
522
811
459
644
43
518
838
391
32
379
496
398
667
327
900
532
262
363
656
638
968
320
71
155
683
259
791
269
182
821
753
322
362
552
13
552
126
993
621
730
256
511
886
214
680
925
668
418
46
272
831
957
171
273
638
243
0
646
733
597
379
830
95
263
157
58
513
80
109
323
946
164
170
637
882
546
476
481
10
218
368
54
612
105
698
641
64
651
288
122
637
288
800
423
312
265
685
249
987
428
335
414
43
717
727
70
996
655
931
312
969
954
442
908
203
88
540
547
22
701
807
988
284
471
440
999
832
511
119
290
226
617
673
261
325
555
919
329
683
673
170
525
139
953
503
575
141
812
63
257
768
816
715
844
608
500
345
234
34
426
643
153
530
498
643
950
403
453
625
872
545
464
429
44
721
973
948
325
302
684
271
721
849
349
800
0
152
216
564
380
191
696
77
140
766
5
752
79
907
416
54
925
737
944
341
302
46
78
190
619
259
277
879
382
469
755
882
61
660
650
191
316
350
60
15
931
81
703
535
260
731
546
670
125
46
327
256
904
671
416
21
555
651
304
115
990
316
354
657
668
383
168
669
326
129
950
46
292
240
880
48
43
386
485
197
113
447
498
987
861
378
459
196
522
900
879
667
470
52
926
541
844
763
528
234
875
843
43
684
69
336
375
178
165
398
136
988
978
668
417
850
423
713
75
544
157
9
564
273
144
620
128
358
708
565
572
216
588
642
75
68
412
810
182
706
781
438
592
368
39
690
801
667
450
885
703
589
913
203
854
435
8
642
815
971
538
906
329
684
648
898
98
542
400
606
929
167
181
986
665
91
89
153
818
584
193
49
205
829
959
384
554
698
939
326
529
728
655
758
934
227
819
7
183
710
401
716
441
383
764
324
918
723
839
153
741
81
131
667
770
537
797
977
472
282
481
590
386
605
649
595
826
589
600
342
434
236
858
44
121
548
749
157
898
500
368
613
991
953
623
373
909
101
385
942
315
147
897
543
612
998
600
701
488
446
71
411
72
938
992
765
918
682
700
165
6
869
710
473
207
425
406
381
837
845
636
283
11
698
596
640
599
502
407
543
313
380
891
33
835
5
898
639
138
993
841
759
375
95
140
782
103
233
791
855
994
895
779
300
833
180
218
755
229
544
26
739
151
959
683
664
125
393
436
733
365
961
195
69
23
745
521
574
240
854
946
734
651
794
487
988
456
215
833
461
493
932
591
186
863
688
521
716
557
244
811
460
843
512
165
902
598
476
102
799
817
621
494
16
37
796
5
846
875
775
953
798
713
583
273
138
716
715
903
555
726
778
900
203
405
771
982
791
15
164
873
328
922
43
969
305
392
530
860
929
502
452
763
655
947
661
876
797
971
230
386
334
524
785
153
25
907
942
549
539
266
952
102
418
886
102
95
925
513
904
735
302
75
835
504
609
158
749
184
400
296
257
487
952
568
369
599
300
146
656
968
867
278
398
780
49
957
610
425
435
163
482
839
642
174
768
706
218
183
480
507
63
599
47
958
520
575
408
489
734
26
601
434
540
167
258
722
593
223
461
459
429
504
177
756
176
21
311
882
229
554
819
737
971
999
907
875
685
117
634
843
416
367
116
472
779
121
106
643
805
947
8
416
334
990
794
373
847
5
860
61
51
985
769
366
109
357
603
305
106
378
643
2
315
586
304
690
173
708
371
34
695
948
40
660
416
88
353
939
690
597
536
945
631
718
626
571
178
238
666
983
84
716
668
791
250
796
478
593
762
924
785
93
201
93
720
533
555
105
552
417
5
305
670
369
874
836
41
428
570
50
308
677
681
955
963
511
856
53
357
720
295
23
845
195
568
44
34
974
502
250
234
835
950
729
43
268
728
677
227
584
212
366
81
934
394
652
75
881
497
176
948
190
139
782
367
511
545
158
658
803
517
601
34
389
281
729
577
96
744
864
827
212
619
969
680
484
977
257
464
285
238
3
792
952
257
18
452
687
455
563
604
50
387
272
889
170
281
187
797
216
178
286
958
823
977
854
361
254
672
745
186
517
299
318
821
538
415
418
954
867
92
486
417
523
689
572
374
73
932
631
62
402
240
474
188
620
353
125
252
838
909
607
120
319
765
354
309
929
477
780
797
670
607
316
797
309
719
430
54
702
758
784
456
173
113
750
462
855
427
386
412
796
933
222
685
691
338
778
7
524
164
765
621
222
687
141
562
725
481
845
490
824
868
869
434
369
923
294
413
976
756
576
31
939
381
606
360
214
24
739
25
825
412
5
918
361
182
449
645
327
530
883
705
756
113
618
36
42
601
356
477
826
171
306
65
617
787
549
970
224
459
689
504
798
896
481
954
639
433
741
545
910
411
210
735
918
549
789
611
804
71
258
933
231
173
758
402
184
149
428
602
403
863
764
260
303
113
877
987
975
331
646
430
275
378
913
905
985
883
508
249
400
557
279
104
876
255
149
551
936
526
810
491
32
172
962
320
396
226
217
996
602
454
35
241
144
923
828
866
300
513
898
27
235
114
187
70
137
284
592
624
734
593
772
103
601
440
138
762
693
849
520
703
221
237
323
723
31
172
880
556
134
687
693
948
26
227
327
291
313
182
543
672
684
251
442
705
450
385
263
632
300
960
820
212
699
222
383
356
500
241
579
162
34
856
427
287
759
425
290
97
647
733
261
48
979
817
671
801
677
595
39
107
169
64
992
757
246
114
537
322
284
339
752
626
841
992
693
271
614
792
39
329
427
749
70
388
318
437
138
195
412
443
31
52
476
746
165
99
34
701
24
759
993
787
35
548
446
466
110
226
553
256
119
658
952
621
916
394
882
88
954
393
713
988
934
231
198
311
460
145
225
57
739
439
331
54
126
551
190
126
945
10
914
405
141
148
860
265
833
63
396
903
806
864
907
105
203
360
120
269
318
144
698
917
397
937
725
269
602
56
577
816
946
467
697
541
189
339
399
914
827
124
286
437
406
553
207
221
130
31
4
997
676
495
626
579
601
420
877
225
482
928
181
342
302
676
702
253
751
765
847
444
378
121
337
729
116
13
885
39
290
720
701
905
775
684
803
739
702
527
847
716
222
837
873
916
968
611
239
108
724
826
395
875
417
523
943
252
568
866
75
509
498
167
838
286
246
368
424
190
999
727
984
658
806
108
913
405
5
397
618
382
466
270
700
68
719
506
765
751
60
214
36
548
43
756
79
633
897
659
615
698
993
233
799
656
2
792
317
155
769
13
365
549
9
395
270
246
346
446
136
658
391
518
830
168
880
830
201
74
878
634
329
324
523
773
580
842
380
805
182
296
252
128
121
215
254
106
978
543
569
238
673
726
674
411
594
352
204
891
99
767
733
189
997
679
682
632
558
442
488
2
399
957
261
742
544
737
955
298
465
927
58
788
580
997
60
883
131
793
308
849
365
662
903
482
644
227
691
704
676
768
303
623
253
735
980
114
891
383
460
414
683
353
157
334
741
740
744
422
118
938
602
152
258
406
194
768
791
915
903
715
743
35
625
275
977
51
666
622
569
29
445
905
388
440
282
183
237
587
340
534
459
14
597
529
955
930
591
678
726
852
241
8
944
638
599
172
455
881
891
159
168
498
209
350
954
722
257
851
919
793
167
885
957
614
653
164
563
520
853
606
524
147
353
822
916
438
192
523
970
784
960
965
924
79
726
521
472
139
697
502
578
353
657
430
610
246
470
796
951
490
519
740
303
6
203
936
349
849
163
333
925
138
354
116
225
827
999
199
18
332
164
491
905
122
584
369
596
262
744
143
583
43
19
410
527
37
494
97
321
928
615
281
206
266
382
380
509
404
769
751
218
867
856
305
688
174
947
574
23
527
341
664
784
598
101
574
765
848
509
437
468
578
18
448
17
49
78
594
876
941
587
559
263
187
973
64
749
700
937
221
141
888
309
438
717
759
161
973
206
228
440
782
159
231
660
54
769
643
968
226
55
105
723
14
354
546
625
377
380
596
567
765
151
915
598
619
231
434
25
878
972
716
285
551
765
966
955
560
178
603
547
644
42
573
486
843
953
868
189
103
266
67
494
279
47
438
814
949
623
22
123
971
644
66
220
937
204
876
421
81
552
590
876
170
340
691
529
671
71
892
65
49
208
899
252
680
573
298
509
887
13
823
392
498
289
706
193
364
703
735
111
513
174
587
362
583
726
559
453
324
134
544
589
56
293
875
350
309
164
359
819
439
20
267
164
589
110
218
636
786
420
959
153
394
887
506
947
657
676
267
862
941
376
15
528
539
974
535
55
505
499
367
511
370
106
935
448
450
658
170
613
825
972
708
539
674
812
399
98
395
40
988
65
763
180
198
882
697
573
625
107
302
732
696
25
787
587
340
38
776
496
633
884
439
299
997
321
835
983
390
819
999
879
146
432
183
680
197
94
951
416
144
85
235
741
820
400
766
546
413
829
371
248
370
98
239
252
593
594
258
575
203
889
418
754
427
30
894
675
383
661
109
192
420
524
542
947
104
457
96
192
715
257
108
634
835
605
803
956
350
498
488
695
632
430
140
645
708
197
951
782
736
95
152
299
892
924
644
572
279
13
917
460
897
654
709
392
913
595
4
795
97
666
31
61
369
748
198
621
88
932
756
726
653
333
545
339
873
76
54
245
544
450
558
518
229
516
412
334
423
173
216
906
317
179
891
104
518
305
610
578
374
674
481
291
857
581
527
801
142
763
412
180
675
687
808
497
870
548
978
509
731
583
241
832
342
127
598
146
968
46
365
339
932
729
243
605
815
701
391
196
829
650
592
917
209
131
818
502
175
607
588
254
472
801
200
872
817
316
373
977
355
430
364
858
339
93
18
928
65
574
33
845
43
995
467
550
534
712
551
878
67
73
725
982
686
666
358
685
847
144
645
56
791
563
532
768
377
762
868
412
390
487
449
941
358
72
319
846
937
548
439
373
246
132
210
903
797
437
499
335
380
175
232
948
701
89
514
389
488
848
264
500
450
768
810
764
764
608
311
108
484
983
987
697
987
317
921
874
56
320
737
731
715
948
903
899
763
614
425
229
451
3
143
464
353
769
584
814
272
305
528
538
808
254
719
538
993
500
446
585
393
931
605
429
498
823
771
904
946
136
772
300
590
727
340
101
357
486
825
945
464
824
911
586
222
315
368
415
493
161
544
866
263
569
831
17
44
329
501
137
439
509
873
780
490
187
465
25
709
142
486
181
237
451
451
235
645
192
915
904
489
432
697
979
16
328
232
934
507
297
417
494
708
566
196
940
578
964
580
45
541
307
350
240
207
228
250
637
949
372
627
395
472
882
641
816
450
680
324
989
115
632
113
210
790
228
895
707
97
827
733
14
502
903
983
864
410
954
368
914
615
131
138
343
829
843
552
926
370
622
905
344
889
119
108
655
553
383
810
740
339
434
480
349
513
288
481
245
503
588
173
656
29
958
490
566
16
963
592
379
613
162
839
947
416
736
254
63
586
666
143
27
564
777
121
857
244
154
537
307
249
184
511
325
419
30
928
291
324
845
288
683
562
376
444
881
115
560
810
418
599
37
318
848
494
508
279
118
763
13
212
234
936
834
101
520
862
152
998
514
553
217
904
571
251
448
259
932
827
320
472
142
127
16
133
780
872
441
999
65
370
874
503
856
202
757
737
819
686
422
461
370
506
940
162
579
479
282
915
894
464
719
814
594
102
964
35
419
645
698
731
314
743
989
610
607
620
382
755
533
139
589
928
208
295
296
294
824
683
257
16
954
988
638
114
881
119
599
789
987
122
865
905
210
135
747
997
429
978
632
61
114
293
655
131
358
332
634
410
747
875
259
624
176
465
353
13
595
654
650
516
187
991
645
223
443
519
570
270
225
527
283
802
97
834
83
296
864
564
266
905
479
873
956
492
819
604
80
54
236
631
540
519
74
693
574
688
611
162
202
689
400
543
222
705
472
293
428
193
995
341
746
338
994
896
247
230
84
661
480
426
649
958
577
916
709
14
142
456
414
821
946
219
168
95
438
262
492
751
419
313
40
193
941
536
531
154
869
873
438
30
801
105
196
996
937
275
485
322
964
392
284
153
827
725
568
751
944
585
680
612
508
992
682
803
843
926
103
842
801
98
337
440
178
852
442
796
615
683
675
819
433
316
834
959
229
106
32
469
675
7
195
748
146
967
959
174
197
841
558
312
115
597
285
688
960
974
564
626
959
849
709
395
997
801
597
362
391
744
398
50
22
483
427
592
446
744
994
443
613
465
165
736
194
445
584
343
939
556
343
669
859
191
987
169
205
852
383
40
99
870
270
804
652
704
983
698
2
231
50
159
925
144
441
824
257
687
194
44
862
538
601
682
123
749
66
572
281
921
516
388
460
694
729
144
123
610
858
452
622
705
560
739
806
393
430
602
498
320
140
942
749
273
663
251
862
27
70
680
373
103
623
754
978
358
905
179
481
68
147
572
622
46
193
552
400
0
331
82
83
533
163
460
492
860
927
682
110
590
617
417
173
599
470
806
392
439
703
25
711
1
388
812
469
127
46
815
729
428
889
508
140
124
909
336
196
925
917
246
381
87
249
832
921
687
598
131
165
484
453
960
619
754
181
514
94
835
904
550
358
179
999
758
463
931
709
83
709
125
771
260
632
67
821
653
767
456
969
584
168
461
683
832
94
607
172
877
266
862
618
267
270
61
354
895
968
97
558
5
806
179
698
325
288
573
486
892
477
164
693
309
87
955
566
176
345
487
855
776
808
487
330
610
325
440
849
159
89
548
601
965
480
399
142
433
500
555
651
650
147
58
190
836
923
32
623
541
221
674
233
486
957
924
871
243
391
515
96
447
172
290
941
684
252
132
785
442
247
805
28
971
936
2
545
815
652
322
570
373
952
193
315
805
618
779
332
155
333
280
48
364
440
834
593
198
851
563
111
538
57
278
437
444
982
779
415
538
507
54
831
619
896
832
356
348
430
99
330
684
124
541
366
663
150
221
879
563
226
32
318
625
664
794
325
469
351
13
808
94
660
259
654
932
40
166
413
598
33
950
266
890
153
941
0
345
884
219
174
557
720
234
840
998
47
447
524
805
734
695
340
713
55
505
233
65
700
15
106
581
506
729
472
828
934
973
851
951
161
421
581
732
223
16
615
845
862
973
202
843
747
345
224
681
840
725
384
343
296
262
958
828
192
672
890
599
336
389
526
213
224
223
508
927
284
343
354
926
744
342
564
427
234
441
707
170
991
666
59
785
785
85
180
148
623
683
327
514
414
500
777
633
496
909
152
131
125
97
569
80
543
856
487
230
194
734
607
398
69
415
165
882
761
131
891
161
581
265
406
404
295
472
54
14
3
873
410
993
942
715
713
986
135
556
538
59
743
933
446
614
712
34
282
214
732
743
402
319
538
673
755
723
415
61
531
684
146
991
343
159
700
955
533
930
451
94
485
610
370
490
773
943
525
790
236
510
22
292
529
680
839
488
239
146
788
593
421
450
466
219
165
984
574
873
903
688
764
820
739
272
787
445
251
685
927
159
832
602
75
528
678
516
532
751
971
510
487
656
589
111
46
862
627
742
291
29
801
267
870
609
558
640
331
288
291
80
790
762
473
368
74
126
600
961
582
664
600
8
532
327
242
424
199
28
307
29
523
403
535
529
734
215
479
637
645
46
154
58
364
276
114
433
872
846
347
517
465
58
739
330
892
924
792
548
140
898
812
628
734
27
702
509
752
531
262
675
79
263
636
731
916
157
976
594
532
175
484
558
710
368
33
334
176
946
764
574
189
234
373
853
103
774
596
120
289
221
90
301
319
233
124
691
467
622
54
438
561
158
436
722
425
170
250
468
427
551
856
216
864
417
54
375
370
509
799
670
657
367
306
230
20
215
918
703
807
965
165
574
948
871
190
516
302
908
791
70
654
276
871
315
562
46
87
224
875
510
990
296
842
34
622
91
737
513
157
529
361
586
852
36
677
160
153
338
919
662
546
677
766
53
441
824
283
855
755
240
987
398
121
61
571
390
687
403
959
401
207
838
961
32
437
542
613
1
118
581
956
697
363
986
3
773
669
279
751
461
982
182
798
720
584
881
309
73
905
617
556
248
229
61
921
855
917
641
245
538
183
279
796
35
471
539
265
461
903
770
531
902
324
266
51
864
361
812
367
562
318
445
197
220
206
603
245
880
102
441
826
160
550
613
336
203
47
137
488
528
34
736
383
538
874
589
538
235
665
302
295
973
487
269
156
281
164
388
609
796
161
558
907
430
915
578
587
360
676
623
827
984
826
303
874
963
706
370
791
229
572
944
373
499
64
634
521
966
675
434
874
689
136
325
826
611
997
930
884
614
948
186
601
405
954
941
382
312
311
862
122
367
594
665
500
54
603
435
340
976
742
110
936
849
732
197
176
501
834
709
969
535
928
487
465
942
463
238
775
598
150
138
247
778
565
61
846
496
114
120
599
181
348
356
44
263
979
688
129
785
426
612
839
415
905
980
147
200
697
508
645
911
601
329
619
819
92
800
788
597
902
394
265
772
779
872
764
73
79
149
876
455
171
434
515
769
272
827
877
955
742
220
256
972
419
499
210
115
119
184
717
471
422
251
767
816
9
980
499
432
857
371
584
856
521
582
264
209
974
625
391
541
469
589
196
697
692
618
809
717
678
169
380
524
487
10
825
628
879
664
581
727
42
189
3
970
430
708
382
620
204
338
665
638
151
807
369
232
745
408
929
333
81
724
148
297
998
197
768
638
822
488
996
136
674
826
957
935
597
91
106
527
373
29
340
228
239
271
312
255
225
39
403
19
910
782
552
274
511
674
731
654
542
529
681
195
728
866
4
494
471
894
447
75
600
515
81
427
565
37
641
609
170
425
563
828
895
696
686
344
959
578
93
18
535
542
334
966
175
128
843
389
167
423
944
385
665
273
132
621
300
857
801
458
41
134
12
620
530
933
17
141
645
530
750
147
495
785
388
1
269
617
951
620
370
93
683
518
904
462
951
76
892
420
325
629
45
207
460
794
373
219
851
211
336
733
479
847
889
480
246
916
969
182
184
499
584
591
125
216
551
320
716
705
365
11
818
464
359
381
111
53
348
236
911
832
698
667
469
324
191
946
425
487
874
422
885
783
673
333
292
829
158
576
397
445
688
6
676
204
394
429
435
632
478
35
766
430
161
213
786
885
134
401
503
60
74
405
899
72
364
427
178
169
295
837
889
382
88
680
459
418
599
986
367
210
445
854
165
923
328
988
291
648
825
540
159
455
943
24
960
377
734
739
20
643
115
516
952
580
707
385
498
244
98
250
32
400
12
235
889
656
198
796
891
436
334
567
445
225
696
372
805
150
991
603
659
213
179
32
692
350
48
133
14
871
779
915
651
212
721
862
20
837
637
621
967
718
18
612
413
730
551
591
159
902
541
221
585
588
714
680
631
86
755
199
898
577
516
268
34
210
913
493
544
447
98
127
100
166
477
140
690
508
569
121
249
570
599
585
227
829
162
537
687
177
387
639
372
888
341
939
665
36
874
420
910
14
66
844
286
321
638
182
804
901
522
666
851
585
308
945
291
890
281
314
422
511
762
655
213
521
887
423
517
797
890
52
800
504
218
729
17
600
796
680
994
111
179
704
191
204
275
150
251
469
588
70
226
756
776
299
677
46
931
372
693
117
431
307
563
625
580
693
815
331
400
390
275
363
511
860
647
133
418
302
122
9
81
925
938
918
45
876
375
369
748
294
576
532
499
479
232
329
62
256
363
259
60
131
958
226
992
842
113
36
519
385
94
869
929
491
629
474
55
12
71
306
41
498
935
351
294
270
278
425
886
360
248
905
425
739
457
520
187
459
882
842
559
152
61
153
770
932
244
478
146
687
117
819
677
955
619
533
861
673
9
368
608
324
902
205
463
746
957
189
124
631
709
776
155
351
521
907
831
92
107
299
988
231
840
415
73
598
389
151
199
402
497
177
192
703
836
663
509
655
122
369
875
798
271
697
948
255
983
844
210
163
296
308
818
440
624
8
920
710
656
84
418
646
82
292
733
300
708
243
635
350
209
339
656
735
416
430
676
20
413
395
570
656
612
401
179
437
769
626
308
120
973
760
486
634
486
336
459
433
918
729
847
760
539
757
317
80
892
294
988
96
43
256
45
618
798
382
816
656
374
660
324
14
388
378
347
181
690
970
933
223
616
860
38
338
615
821
535
196
36
651
678
450
106
285
259
171
964
235
141
83
110
131
42
168
264
651
124
777
65
704
686
925
998
617
100
359
66
626
861
548
421
446
966
507
549
332
931
29
489
838
994
234
352
213
905
157
845
737
300
740
836
382
329
157
522
17
800
777
891
246
182
554
578
961
55
372
468
688
42
728
729
276
885
950
750
337
192
215
706
227
230
252
606
186
913
690
859
919
688
142
886
5
942
164
611
857
807
92
614
651
754
887
707
910
266
572
134
552
861
624
167
103
822
820
5
367
382
973
697
335
364
769
471
198
93
146
769
147
721
590
628
137
742
931
601
945
538
463
119
669
452
974
185
685
71
368
88
284
19
593
705
666
989
886
175
455
314
865
766
796
898
431
422
886
943
953
329
922
929
119
213
92
998
817
741
207
423
855
442
846
586
668
475
336
335
461
381
144
341
805
616
405
207
949
905
270
322
972
355
293
367
789
494
805
649
725
323
207
5
743
536
652
205
114
617
576
947
995
933
337
117
799
853
19
756
435
12
614
623
483
139
339
450
356
372
526
862
297
609
480
805
348
345
963
72
847
528
651
973
773
608
743
221
333
624
194
755
964
480
648
443
689
551
841
210
877
154
989
862
891
417
918
387
148
289
45
371
185
516
547
774
845
593
722
934
312
251
319
555
357
440
996
660
840
696
326
834
312
269
720
691
459
327
441
446
930
134
517
543
296
629
995
844
965
75
352
561
484
231
717
431
667
229
976
438
38
818
971
774
957
832
304
230
923
982
656
294
835
220
903
316
78
904
307
369
926
113
463
842
856
503
344
205
412
241
945
526
244
802
505
121
206
834
635
736
707
694
37
760
584
247
83
195
926
840
426
903
518
276
922
803
407
994
650
327
768
774
391
762
420
476
913
399
824
556
515
623
674
896
880
190
215
187
900
224
471
235
474
22
506
856
187
378
46
435
471
993
1
771
974
621
308
198
354
612
575
145
441
173
897
298
898
967
65
305
325
200
546
835
608
557
477
654
116
943
715
426
70
5
374
444
455
14
236
793
422
24
937
274
985
35
536
800
808
379
27
701
854
519
47
732
952
894
532
317
630
799
874
273
413
63
555
716
479
130
767
762
706
909
578
183
647
627
591
829
365
200
932
516
813
23
479
381
718
599
498
851
632
68
704
506
475
740
343
252
679
691
507
148
908
541
934
923
138
435
934
963
253
86
467
390
79
80
978
526
168
149
370
981
526
306
348
105
876
325
119
109
780
427
216
413
74
660
990
339
11
87
674
43
303
330
213
936
103
994
849
579
349
455
349
580
432
571
826
602
516
42
221
354
397
334
174
522
358
185
612
915
964
39
138
75
106
110
940
421
209
402
430
887
65
983
125
283
804
603
832
435
361
225
697
861
230
100
392
26
841
354
526
891
48
114
221
737
911
789
466
591
192
573
845
285
879
150
157
509
732
108
205
651
921
579
790
744
128
333
480
511
508
360
3
187
962
669
326
409
398
928
690
685
805
917
792
436
477
712
804
145
156
547
775
38
444
311
303
250
186
621
687
547
802
890
164
413
173
514
961
858
510
956
579
470
319
914
99
416
371
249
649
800
84
117
177
867
259
87
265
707
420
494
886
983
70
831
27
729
989
628
565
228
493
146
556
2
179
719
387
349
139
756
699
323
425
786
404
838
314
537
339
842
638
319
733
85
976
475
167
805
116
669
812
4
868
594
320
290
18
490
519
176
877
635
781
437
11
322
154
810
865
922
330
951
408
742
153
187
890
525
308
461
467
941
458
667
830
987
183
619
414
628
259
692
246
261
443
574
848
68
600
538
793
9
47
214
506
473
10
516
857
869
856
826
189
746
632
980
20
914
489
256
664
445
677
661
843
220
414
420
962
883
497
897
294
964
686
217
355
148
996
322
507
192
333
505
63
675
40
836
432
192
642
494
651
243
301
105
677
434
351
259
132
260
0
740
602
820
132
785
146
167
273
86
473
888
80
386
397
480
888
941
681
635
644
206
100
39
418
779
570
838
3
558
253
474
566
731
299
235
593
784
43
341
422
412
951
642
487
428
301
862
439
886
702
560
283
177
574
635
73
866
974
334
998
872
110
203
855
889
678
436
994
744
366
429
740
958
956
18
397
744
13
287
774
537
366
583
254
185
357
389
597
650
931
568
749
552
105
231
184
208
993
431
536
461
70
958
804
180
399
18
451
183
204
143
921
345
269
734
976
237
278
307
790
456
831
303
910
255
602
12
303
290
609
332
767
246
126
804
658
254
778
201
128
123
748
753
385
43
86
761
146
780
545
665
532
190
24
132
511
220
241
372
724
622
993
159
536
833
709
505
329
348
359
110
997
238
768
65
81
233
554
917
736
122
505
8
900
660
522
579
297
356
591
368
245
439
552
812
229
917
620
442
640
882
224
664
588
831
97
507
592
246
612
169
912
176
184
228
872
458
188
750
147
648
302
684
704
32
333
784
302
709
533
354
372
169
491
45
893
43
668
205
39
584
89
837
124
817
9
31
74
954
396
971
506
944
529
505
964
760
545
38
523
697
151
587
47
434
581
116
377
372
862
515
444
837
733
593
698
270
608
745
511
282
84
328
75
344
143
876
150
8
882
707
572
553
357
489
392
106
215
903
141
563
731
558
780
176
873
831
271
337
601
194
746
469
420
19
507
888
93
394
361
896
1
647
920
224
513
766
403
694
405
169
719
445
864
29
872
16
538
178
606
578
77
737
888
348
501
369
770
389
171
208
465
784
289
833
116
362
190
651
517
104
264
83
670
68
41
414
828
127
652
761
396
308
153
658
964
938
385
11
887
63
61
635
226
727
570
306
722
798
716
275
46
832
912
966
621
84
268
808
373
729
341
713
251
351
303
739
680
363
378
777
39
729
875
653
606
631
760
331
269
497
733
142
961
965
802
633
206
181
80
358
138
379
504
145
220
554
71
823
841
752
167
721
718
825
236
696
196
866
397
292
649
292
132
77
412
320
526
519
723
253
993
441
339
378
421
803
398
789
235
663
810
51
369
967
336
317
25
295
716
37
329
502
184
252
361
398
878
278
198
603
19
424
189
90
48
162
284
89
564
350
490
529
540
696
131
198
253
773
396
115
355
676
707
110
242
361
820
478
330
661
265
165
287
691
765
26
533
997
275
166
478
170
911
38
355
386
404
403
43
841
155
810
236
405
519
424
606
103
462
648
180
453
938
38
34
174
859
704
46
59
378
441
432
202
886
39
219
265
126
921
49
779
638
62
910
29
932
569
833
352
244
91
688
316
280
767
628
593
292
908
273
675
284
956
350
938
913
911
312
644
846
184
313
915
255
812
450
521
472
282
371
740
546
25
245
203
656
406
650
911
956
986
151
701
104
853
743
750
516
737
958
977
307
428
521
531
226
944
206
273
975
828
725
849
630
417
925
989
980
880
465
219
969
388
508
518
27
202
470
400
46
339
84
798
559
359
109
827
831
75
586
818
569
666
389
563
887
786
430
7
891
292
809
981
332
587
165
788
320
695
284
876
252
889
349
325
265
352
451
659
210
16
492
943
986
331
628
424
52
775
894
977
98
320
361
724
631
910
576
259
414
746
345
683
177
480
534
335
823
928
664
166
541
948
479
754
771
393
472
584
468
368
531
131
515
588
79
465
237
287
98
866
559
701
931
344
785
692
239
872
554
903
805
882
415
331
463
433
516
620
712
320
563
14
259
488
346
646
655
543
667
19
961
893
736
676
481
949
941
728
658
668
750
735
283
941
452
534
169
461
197
77
648
430
896
698
432
31
629
976
864
180
283
878
992
322
417
36
316
494
492
468
895
994
534
665
251
570
358
924
982
912
538
621
382
754
965
137
910
277
165
610
149
197
221
16
868
297
265
492
565
517
409
579
151
174
126
51
553
78
122
12
600
986
377
799
303
176
476
403
762
264
35
113
800
848
771
602
851
169
955
974
500
990
765
520
648
163
479
411
751
913
172
761
268
878
230
775
682
98
498
89
181
216
885
358
689
557
817
503
593
754
763
161
118
974
779
552
997
694
812
753
483
674
805
684
865
965
628
374
651
340
117
992
605
653
670
877
788
624
368
160
254
689
541
844
853
903
670
257
858
745
385
405
201
395
908
740
889
653
92
829
238
252
526
677
412
869
705
901
787
32
544
827
905
505
413
377
811
692
1
100
226
677
785
148
93
703
15
832
36
87
404
32
891
0
118
778
627
168
959
361
808
870
303
361
999
833
202
151
143
167
641
173
318
856
900
90
610
285
680
743
112
406
197
974
991
298
830
340
354
41
288
872
586
804
449
977
539
126
319
640
748
716
530
346
421
118
796
197
603
303
470
541
226
314
261
433
525
798
703
922
249
337
123
74
463
142
547
836
238
294
838
664
583
864
141
138
936
682
970
802
810
883
915
998
951
46
224
929
672
952
804
292
449
429
394
185
387
315
652
606
820
118
616
657
769
518
646
11
172
95
5
57
70
837
576
352
147
582
566
425
962
337
320
739
459
360
224
712
339
234
171
596
903
321
950
127
901
809
42
375
664
573
430
609
188
589
612
313
879
683
333
449
377
165
575
342
210
404
427
222
939
36
33
822
957
677
532
257
166
866
638
714
634
739
466
40
52
256
137
564
311
897
315
443
688
782
921
555
8
12
485
327
546
719
837
270
75
86
395
249
467
757
129
275
964
26
444
688
39
874
173
478
93
318
569
820
154
520
116
154
910
643
843
540
134
14
149
573
648
955
893
976
466
561
47
208
652
914
902
920
239
647
504
997
601
747
89
767
37
390
561
750
435
926
52
689
674
979
115
940
134
265
833
855
157
989
199
808
843
420
585
45
229
227
519
625
225
466
770
953
311
689
695
691
279
48
527
430
676
237
76
516
33
219
437
797
955
596
933
545
686
527
731
836
176
835
117
548
675
571
906
861
641
453
508
108
756
115
14
47
218
483
163
37
115
780
173
742
8
293
818
851
19
770
399
540
385
62
614
767
234
880
428
697
685
282
456
406
521
61
61
695
250
956
391
691
150
765
409
821
632
312
385
858
239
584
430
990
723
8
971
801
454
258
637
697
501
193
622
448
673
345
871
613
652
507
638
217
50
318
325
613
961
219
600
921
898
205
448
650
136
935
264
374
388
576
214
402
265
65
909
14
601
311
407
558
253
202
93
531
689
404
779
486
758
349
68
331
864
940
128
403
931
364
487
244
372
704
898
458
43
111
713
639
986
506
297
702
805
790
802
446
845
840
900
12
732
842
696
912
728
499
426
506
539
120
574
695
199
339
984
24
482
608
78
948
863
863
831
515
261
746
258
608
24
191
648
743
892
106
665
297
902
966
936
111
66
682
614
660
229
789
859
294
147
284
883
291
977
67
280
989
442
428
808
649
69
603
223
919
837
90
206
418
964
573
249
704
738
821
303
429
766
208
332
804
240
828
328
416
928
838
969
8
297
652
802
198
21
366
48
330
970
687
226
38
721
823
447
54
200
72
781
91
268
280
379
495
255
309
367
107
497
855
770
843
270
486
123
323
502
305
477
535
559
18
840
401
727
512
594
107
412
660
676
506
262
588
543
557
394
958
456
691
545
973
301
43
42
794
755
283
967
963
893
482
128
399
81
716
684
324
802
515
656
573
216
209
985
329
426
165
975
165
486
893
499
207
969
101
674
701
234
618
228
889
931
341
907
233
373
565
945
447
197
593
910
396
769
706
962
952
774
1
414
616
8
6
693
604
932
591
672
346
805
841
254
834
440
31
336
588
402
15
937
200
516
179
9
274
663
604
374
246
390
9
853
619
734
481
403
276
735
968
369
29
923
624
195
766
429
544
459
626
494
740
266
147
341
206
335
767
623
73
774
380
751
740
639
237
944
406
935
959
815
847
730
969
811
43
41
428
875
725
231
960
760
479
514
140
621
558
567
876
732
476
547
775
984
958
249
79
755
558
10
300
203
650
545
818
659
378
861
203
37
663
398
999
476
772
737
360
175
12
104
864
516
511
322
604
662
183
733
157
577
239
647
792
863
847
569
799
917
668
950
919
269
779
700
288
610
242
843
532
604
947
139
4
194
464
735
432
135
817
164
301
220
183
566
671
146
604
558
824
239
633
680
987
956
154
643
104
887
625
307
759
341
481
369
361
811
960
78
242
83
234
20
571
280
198
421
765
791
316
277
347
699
604
398
759
488
90
788
268
561
969
419
101
657
962
523
90
453
469
249
37
912
513
603
789
264
217
465
327
619
437
395
30
449
208
961
652
88
633
127
698
688
689
719
979
423
996
407
429
879
184
276
145
277
54
129
729
99
16
277
59
855
23
762
684
385
777
318
234
812
864
207
630
879
74
223
909
604
460
470
261
114
631
836
18
861
334
452
743
545
979
518
881
732
721
192
635
368
620
616
876
357
951
358
463
662
464
462
376
643
148
225
445
937
929
764
15
930
528
361
340
340
640
556
286
173
194
917
823
108
87
552
569
3
331
766
18
96
518
930
207
61
955
16
437
623
932
476
83
195
292
910
910
649
671
120
864
664
37
219
637
193
969
58
100
975
530
813
661
770
51
822
470
795
724
500
835
723
182
282
865
259
702
255
940
87
544
995
647
246
651
288
977
175
424
259
795
106
597
867
642
734
426
50
84
181
92
303
847
243
932
276
430
666
705
591
913
643
641
172
85
247
383
529
332
273
853
748
467
825
184
458
377
683
252
831
707
115
46
610
936
864
512
23
968
236
246
844
242
141
35
979
310
589
63
817
142
671
358
8
654
166
591
727
910
640
431
964
199
516
834
948
190
206
365
393
237
806
514
373
635
781
487
748
764
801
848
976
195
983
133
262
114
111
260
258
371
438
748
645
859
582
274
98
680
377
52
914
570
306
247
329
825
88
823
759
883
319
768
276
659
155
306
31
545
895
487
892
433
285
502
376
36
534
74
50
685
433
42
821
311
198
208
2
250
984
893
335
0
166
400
806
363
920
729
216
864
930
535
32
214
990
513
725
218
947
531
409
581
763
383
792
732
27
967
747
703
955
345
774
148
636
385
320
128
120
565
902
447
992
770
329
949
0
608
6
754
672
873
839
845
275
608
274
533
22
274
253
236
810
242
694
224
248
98
28
705
464
777
482
454
629
166
863
286
26
941
594
892
993
887
351
929
45
384
48
159
275
156
466
728
601
985
188
481
259
479
279
935
648
865
311
900
715
750
37
186
356
408
3
324
259
96
558
120
246
735
293
164
845
901
402
326
170
676
982
769
940
178
47
132
576
501
960
502
765
852
517
781
515
112
978
280
706
862
109
26
439
173
74
503
425
623
327
337
706
46
624
896
111
342
719
624
469
633
154
494
880
864
271
225
772
595
470
908
447
276
275
404
235
996
167
361
407
856
11
930
847
398
530
170
476
150
622
130
271
423
87
504
686
368
796
841
549
876
674
38
730
244
775
894
460
59
365
955
7
738
81
37
274
410
508
598
931
269
999
553
95
491
209
778
72
12
642
987
333
676
380
453
681
552
13
320
9
837
886
515
934
879
758
240
764
14
836
347
194
564
206
568
432
100
389
366
544
153
438
615
38
728
279
207
863
559
887
647
435
388
285
806
831
114
490
391
382
30
657
420
858
409
702
677
297
709
645
395
294
584
581
673
539
768
436
707
968
410
552
68
624
774
924
314
239
895
985
189
535
586
500
922
790
22
923
162
646
368
870
430
925
255
451
870
786
56
993
130
269
561
978
592
270
848
320
144
495
610
590
372
269
587
472
63
886
636
104
975
695
547
706
334
911
649
629
781
262
916
523
727
95
299
171
813
22
120
930
160
608
848
863
609
875
331
425
629
65
532
825
319
379
35
688
330
362
364
430
44
331
331
136
927
926
766
942
112
537
275
532
219
454
472
635
68
807
166
194
247
937
188
27
891
796
876
892
240
167
572
820
190
584
0
841
382
942
46
42
313
791
637
260
37
53
936
778
304
575
325
402
285
260
292
79
275
365
760
97
965
291
799
952
891
672
882
211
417
588
962
379
722
189
590
814
660
170
692
155
145
745
563
329
431
184
386
796
795
801
883
654
334
856
218
72
673
420
354
858
605
92
75
792
672
470
410
882
153
270
404
926
85
148
768
521
353
526
579
212
165
804
253
23
420
611
347
978
617
847
52
121
137
73
581
666
805
196
323
554
613
294
942
693
767
355
318
57
65
482
409
623
954
965
316
809
72
528
11
94
373
151
581
987
481
334
754
758
861
78
647
851
324
951
903
313
781
942
202
248
230
145
363
530
493
475
131
952
426
413
149
548
803
944
411
165
69
652
731
483
183
16
593
843
349
165
891
174
360
690
97
509
43
279
503
838
906
637
874
417
823
107
870
573
739
400
651
277
926
840
334
986
371
94
940
553
532
844
932
496
647
476
191
679
697
68
707
247
797
361
22
332
256
513
711
767
823
178
640
626
484
508
575
550
173
847
678
399
65
273
767
402
479
651
483
763
248
102
562
510
650
549
533
459
797
872
577
146
126
483
280
828
445
902
151
833
206
187
401
360
60
913
346
636
800
831
6
800
120
871
843
612
912
543
994
944
746
253
902
889
873
987
116
821
509
805
978
636
644
583
117
950
563
40
878
592
951
527
318
209
826
799
371
878
960
643
709
752
486
21
264
45
718
273
697
511
88
521
508
143
41
906
855
540
956
732
375
866
857
765
477
850
219
511
957
93
589
578
692
416
160
242
691
834
469
756
386
0
827
384
124
503
842
772
288
843
346
588
770
94
73
524
93
428
344
979
470
554
978
652
234
636
395
117
366
484
359
777
68
390
841
926
971
69
289
249
997
790
893
802
155
124
12
925
437
863
170
169
477
603
991
297
714
216
761
932
242
647
522
384
735
304
333
735
783
942
104
739
217
207
731
143
467
820
915
84
624
645
621
463
180
277
593
583
563
166
903
810
566
193
199
900
436
818
66
842
590
329
138
266
104
342
683
563
483
700
114
905
256
945
567
367
220
348
168
938
969
672
826
442
574
103
886
151
735
826
241
994
752
638
850
519
714
551
25
680
572
557
599
199
499
333
777
349
596
895
94
156
208
451
971
337
377
363
594
399
62
518
644
823
180
305
845
26
155
731
443
884
158
384
385
808
55
709
799
824
745
424
242
743
425
454
386
269
431
484
181
901
294
240
281
105
829
620
878
469
994
560
396
440
580
419
648
390
707
507
38
376
514
566
462
72
517
115
868
421
302
119
832
935
792
448
605
95
637
712
118
849
565
813
559
444
542
54
46
172
110
705
900
298
448
413
301
331
506
286
209
30
300
312
254
652
388
711
359
560
26
637
958
439
444
664
712
986
141
679
45
764
305
947
235
791
843
576
98
912
499
76
813
700
719
992
191
311
248
132
168
264
676
939
100
525
549
813
229
886
635
279
17
447
738
758
55
812
972
249
50
658
998
39
904
88
212
610
390
731
36
393
897
224
355
982
256
265
597
695
216
6
573
484
256
358
733
750
781
290
294
735
876
494
866
606
883
201
653
614
466
341
807
614
897
309
323
290
457
726
693
833
425
414
61
235
435
844
901
251
61
219
911
103
39
711
334
600
196
989
21
900
50
918
487
210
849
429
652
355
648
804
320
519
984
36
457
521
304
162
255
447
202
359
575
424
379
666
339
623
920
407
259
358
597
450
585
204
278
54
79
452
447
732
366
511
461
498
439
428
468
936
514
740
755
62
412
502
215
555
165
97
308
36
398
444
673
934
460
883
403
889
381
680
224
665
338
44
999
839
334
177
115
145
892
345
798
983
703
313
148
148
228
364
505
797
979
509
548
996
413
958
87
123
86
150
508
277
708
222
701
485
137
687
257
523
245
497
572
142
699
208
282
579
52
823
951
27
927
943
248
435
815
680
208
523
580
456
460
256
550
663
634
641
269
38
601
519
571
353
758
736
330
73
553
544
71
675
584
646
350
968
21
354
234
555
903
291
262
233
432
560
724
385
552
49
453
840
35
97
800
656
571
65
562
458
672
150
942
432
13
264
505
515
435
552
593
268
592
522
43
915
182
923
187
435
116
317
395
328
583
410
132
841
143
275
852
433
618
992
366
373
935
260
91
571
502
564
785
547
402
894
239
973
782
106
614
473
694
372
477
144
723
214
433
819
865
657
301
507
472
93
359
276
874
499
537
481
563
34
488
735
451
604
636
580
396
220
45
739
26
5
628
533
480
35
151
717
123
646
784
448
467
0
568
797
314
935
13
820
440
374
847
771
942
867
768
554
320
177
257
41
787
195
433
146
847
175
759
566
181
120
393
751
586
429
441
964
100
143
235
44
899
63
725
899
463
55
139
546
52
720
227
363
40
742
457
610
32
454
746
169
388
623
682
771
236
159
698
134
195
377
911
788
943
746
533
676
4
255
169
794
334
486
767
908
864
854
253
100
641
249
950
492
711
832
981
123
917
387
668
548
80
534
202
472
971
510
614
405
644
467
905
212
854
12
644
789
794
682
981
472
48
823
448
933
534
912
463
520
187
70
71
546
878
909
127
498
148
836
7
784
4
575
793
157
915
902
263
498
528
347
511
589
440
738
160
751
902
227
276
465
566
818
23
154
82
104
513
659
505
148
246
732
515
466
291
659
442
407
638
563
233
46
485
940
470
911
985
270
61
895
845
324
479
826
987
235
444
751
168
512
755
587
505
516
954
542
386
756
718
483
831
468
670
765
69
132
870
266
882
927
145
503
831
271
515
741
960
916
808
927
684
400
554
681
215
915
115
497
79
788
663
483
231
523
299
679
357
762
3
577
771
568
429
686
815
310
675
655
219
979
646
356
844
792
464
497
46
562
968
353
853
630
225
64
966
980
952
765
767
799
762
726
379
17
329
951
604
680
901
785
153
927
436
790
429
727
572
167
126
315
116
416
188
546
647
856
724
724
636
806
205
649
614
441
100
266
606
926
188
887
370
745
269
838
327
592
666
81
785
747
158
497
82
58
749
651
173
559
988
912
309
371
281
206
647
720
608
892
865
956
282
878
98
645
175
76
884
323
910
331
101
619
80
133
20
590
947
63
883
931
578
206
498
142
238
668
907
199
265
665
286
660
241
82
41
831
473
455
478
992
317
117
963
407
297
548
237
619
578
421
837
536
438
191
616
280
653
338
467
932
956
930
361
171
379
506
517
415
374
307
511
658
483
662
254
128
519
753
259
848
706
471
462
911
520
777
712
461
997
782
799
244
463
137
962
272
533
738
967
409
372
609
51
975
860
677
43
438
792
311
566
501
658
643
338
86
867
950
157
821
976
410
454
830
734
280
522
225
268
531
144
106
529
511
446
381
655
780
157
935
384
131
219
667
59
517
518
800
566
100
938
897
222
75
940
735
66
471
808
840
960
531
856
861
4
583
380
582
782
319
998
113
147
620
271
540
582
482
301
934
675
386
76
459
294
578
387
740
936
116
899
491
689
839
604
223
353
83
436
431
335
76
645
596
855
145
762
24
771
666
171
248
389
79
777
153
722
885
2
484
265
431
928
785
821
695
905
467
177
173
442
566
135
185
564
226
954
479
63
346
774
258
102
595
363
721
929
718
873
387
768
592
163
228
579
864
691
32
234
812
676
232
487
805
386
280
659
643
177
41
894
838
718
621
673
477
665
122
320
582
409
474
662
18
132
186
976
382
346
945
435
101
889
218
36
137
349
893
524
755
368
152
885
327
315
353
706
618
592
332
812
324
644
136
343
606
512
696
834
911
823
887
656
486
445
949
767
137
555
485
300
55
546
868
631
880
163
140
787
159
942
967
831
487
312
162
501
268
177
682
896
335
961
130
588
205
186
126
167
443
670
23
221
542
249
336
972
402
993
54
87
279
668
159
346
358
406
477
19
643
426
526
400
217
778
734
351
553
389
18
468
354
650
785
228
38
498
478
85
994
975
976
879
444
69
229
42
409
811
952
722
708
345
88
605
483
435
171
39
864
600
72
828
820
887
672
106
297
823
757
408
14
595
169
159
42
197
545
554
578
659
57
990
972
986
813
716
318
801
860
424
299
898
897
963
518
163
21
912
881
73
79
397
554
753
534
391
823
65
272
346
914
411
772
447
239
617
281
971
946
943
249
188
826
265
201
842
698
596
363
477
852
155
376
880
243
956
765
32
827
748
693
291
465
533
924
727
218
10
813
580
350
613
670
516
596
412
97
842
503
458
954
3
650
52
84
55
404
532
732
572
54
540
155
688
118
873
251
642
594
823
502
867
27
128
702
955
510
104
234
608
955
431
260
293
461
316
910
475
30
639
76
677
373
230
936
899
493
116
619
121
876
175
106
140
337
524
203
92
499
458
820
380
922
879
777
423
366
70
971
193
999
716
156
743
448
978
198
209
904
111
591
139
253
336
784
136
937
468
355
706
805
571
139
445
328
286
831
617
344
872
249
927
297
763
578
961
485
809
348
571
41
636
493
1
153
10
395
689
79
26
921
606
919
264
227
454
227
200
735
373
439
593
91
183
197
369
64
797
203
348
676
45
268
633
486
210
812
841
748
413
453
397
460
416
271
184
323
395
558
30
595
922
968
780
306
650
635
730
684
774
112
849
430
870
343
753
143
44
413
465
168
26
315
255
969
603
668
647
337
384
511
64
76
601
681
479
106
880
784
5
781
40
962
93
262
800
953
169
84
218
685
212
588
231
294
3
9
104
484
991
573
805
855
327
181
446
858
139
235
146
573
699
575
7
174
574
754
138
247
223
105
607
844
310
598
105
619
808
881
758
291
722
644
164
871
832
354
605
654
750
802
243
684
132
439
9
394
170
238
323
167
802
741
66
424
600
528
240
333
106
431
767
502
7
394
479
738
964
806
624
674
575
701
486
475
815
879
912
201
797
763
442
154
865
639
235
69
663
154
987
750
625
64
77
935
927
934
903
249
299
329
879
571
131
359
402
92
923
613
648
486
760
461
922
486
461
913
402
731
10
231
593
799
320
894
127
701
623
832
852
454
212
506
515
820
300
178
918
822
707
343
99
133
977
57
63
415
385
5
756
263
86
234
193
252
609
744
720
217
399
620
38
679
316
424
277
773
961
90
651
724
777
230
356
886
937
815
778
824
231
692
806
889
900
949
746
560
262
509
903
177
973
648
249
893
822
926
896
747
129
985
441
438
139
63
805
832
58
345
101
417
714
959
650
382
710
793
106
621
342
396
471
349
415
134
41
378
134
479
725
623
756
313
359
455
749
293
345
854
309
833
713
252
270
599
146
926
848
229
814
591
566
803
957
815
908
628
188
824
236
277
739
28
692
794
535
87
657
81
295
806
375
111
441
939
67
305
958
288
547
90
341
472
785
298
369
665
729
460
4
142
997
392
822
44
472
570
378
889
958
374
422
917
879
780
853
84
451
180
536
64
85
388
651
125
965
495
977
392
874
707
540
888
630
766
495
10
24
76
51
132
902
217
715
664
429
693
570
411
580
485
363
310
942
551
738
294
642
732
326
977
624
403
797
823
825
966
644
96
913
854
769
673
642
484
198
257
426
571
206
461
474
81
630
150
598
580
545
761
627
366
233
535
948
843
273
420
203
77
295
729
130
710
73
807
601
288
302
181
124
498
199
933
341
367
406
576
32
105
899
622
886
162
909
488
129
494
234
566
897
558
651
389
309
187
845
918
100
701
434
628
353
756
51
236
412
433
5
439
201
457
310
17
670
981
151
16
652
371
269
148
179
643
157
90
267
914
266
884
990
379
119
310
362
359
792
390
277
229
807
827
219
699
413
789
798
797
425
630
287
587
464
406
118
171
329
340
140
983
282
735
955
405
29
672
117
492
3
273
882
821
403
11
305
580
383
164
93
628
838
736
495
26
677
230
929
159
214
952
943
254
369
157
32
67
717
830
392
474
876
859
736
678
316
840
365
14
66
9
614
29
21
999
929
251
477
193
230
71
136
14
169
350
115
100
838
482
16
57
955
994
37
303
528
990
97
862
243
193
658
430
539
417
400
452
452
392
569
998
464
828
356
323
939
560
912
277
640
76
438
614
55
10
545
451
11
505
481
772
625
763
717
767
892
175
40
581
698
872
156
903
782
132
279
9
143
726
78
218
809
395
582
882
190
135
144
433
914
884
499
730
152
525
495
102
668
766
38
613
455
912
480
857
533
979
806
501
126
256
133
314
114
301
674
753
665
951
160
825
975
711
368
110
627
402
476
243
518
295
944
445
107
794
693
294
814
367
517
341
872
768
908
884
732
415
811
453
743
53
259
984
150
272
485
689
78
835
854
202
479
751
16
475
608
232
28
822
415
139
212
386
738
851
725
856
530
431
535
483
276
881
940
870
592
28
460
688
781
19
668
423
415
481
154
23
871
648
137
602
436
195
153
388
803
198
624
481
835
344
18
873
255
630
747
608
282
148
256
656
273
138
366
210
533
519
428
575
152
862
891
681
699
753
517
241
84
571
771
992
748
876
43
834
671
239
840
347
261
914
239
650
939
706
834
248
851
560
37
394
781
585
234
483
963
400
684
915
662
208
567
752
791
394
623
158
484
700
290
384
501
59
23
960
750
96
467
79
804
614
906
243
498
381
36
546
404
688
281
378
130
308
32
667
400
272
595
35
194
54
811
415
103
796
931
121
147
664
871
194
691
448
441
563
768
889
141
621
956
327
492
998
418
520
223
866
502
170
711
616
186
294
322
715
203
208
716
874
562
290
605
223
159
249
249
438
435
407
398
616
745
625
897
935
985
813
883
305
487
324
121
644
461
681
662
860
803
928
652
231
78
516
43
424
508
903
900
311
798
786
971
285
792
709
385
877
270
783
448
785
861
86
305
756
683
916
586
433
905
141
664
897
141
359
608
289
796
817
784
584
316
795
510
285
620
960
192
157
349
283
846
119
522
312
66
996
109
409
311
716
600
881
431
119
130
762
26
290
844
148
435
114
411
145
558
182
622
183
348
249
278
979
245
911
143
163
188
27
813
14
697
194
320
537
841
820
799
321
804
472
60
535
213
788
73
867
67
883
259
418
827
150
625
635
776
28
555
511
517
909
36
596
263
358
67
773
992
41
679
888
766
481
713
476
580
286
208
823
946
179
380
495
372
190
447
222
884
349
639
696
728
767
420
686
935
388
988
870
829
182
287
520
425
599
674
780
974
649
412
131
533
32
258
968
204
690
847
995
526
972
213
414
321
225
513
32
109
513
334
150
752
988
899
35
179
95
912
207
486
611
486
292
438
604
38
667
552
523
569
89
423
453
374
684
87
131
531
567
261
756
316
776
754
313
543
689
878
992
676
492
64
868
465
265
822
236
541
892
180
233
238
682
305
359
906
324
830
825
451
712
466
621
251
538
822
717
336
653
797
730
914
508
572
339
21
171
74
895
354
863
190
292
986
170
546
323
404
107
991
914
657
199
124
197
402
942
246
961
710
222
226
569
974
155
844
885
68
535
185
986
534
97
690
276
85
767
496
176
680
568
163
224
368
842
535
595
503
542
669
713
583
264
9
314
494
245
114
977
99
779
843
206
609
980
222
563
943
972
375
491
427
278
310
953
594
425
577
515
380
369
151
697
191
164
884
566
344
153
598
682
144
215
710
178
268
269
578
447
686
841
900
474
312
723
624
363
196
35
734
580
408
632
359
325
761
58
432
187
267
728
995
948
401
815
606
233
154
442
107
318
25
828
993
372
422
721
772
719
619
834
453
356
333
806
592
458
957
174
277
502
972
52
619
379
819
998
920
991
364
943
399
476
985
268
490
380
928
198
801
19
428
638
394
980
407
339
686
994
236
192
566
102
108
613
20
353
191
895
386
818
782
279
110
735
88
841
361
0
718
586
618
500
576
612
985
697
953
70
546
450
206
139
534
416
266
123
949
390
76
312
252
128
417
715
327
903
923
633
558
545
823
590
557
446
525
198
413
870
711
11
939
690
825
716
811
587
640
392
871
798
122
569
242
282
794
632
269
151
980
693
360
804
242
2
579
37
906
960
839
488
92
716
111
473
944
173
950
955
781
503
642
503
827
698
997
173
879
866
880
656
519
229
691
452
635
921
559
374
205
871
334
811
757
613
313
185
313
48
698
840
773
974
648
674
741
591
35
8
403
290
195
906
835
324
331
330
565
768
774
916
844
848
488
346
894
255
197
291
321
291
525
907
875
806
815
916
160
926
405
16
365
505
803
584
994
873
627
769
346
160
393
135
810
598
853
266
80
333
489
156
604
441
546
270
154
547
337
236
759
928
298
899
868
453
860
35
599
632
741
68
727
100
430
864
886
712
911
154
28
796
738
149
37
13
499
610
258
866
468
100
575
370
678
962
601
49
44
190
910
488
443
682
719
730
708
875
687
202
556
294
198
99
436
630
567
898
553
460
993
924
467
798
502
896
463
310
573
168
631
600
879
270
732
817
635
509
54
7
990
80
516
207
692
110
504
689
601
754
288
159
95
338
944
221
889
343
605
490
918
520
259
67
912
509
722
905
631
41
604
748
133
308
380
183
364
735
944
300
437
79
946
179
184
469
959
224
674
252
589
406
78
496
339
184
654
75
209
130
508
167
102
510
490
79
863
624
931
364
219
394
426
321
879
103
840
720
16
557
868
471
142
252
74
795
162
713
367
972
853
713
507
812
306
631
362
392
294
35
923
284
903
742
947
191
868
529
47
917
670
181
950
262
800
117
324
719
26
294
262
799
449
342
592
66
821
1
296
631
500
556
758
944
965
0
459
493
164
111
60
776
772
158
300
589
520
912
95
311
412
609
56
984
621
140
917
377
64
693
626
558
142
971
543
328
96
672
810
848
511
704
896
273
239
661
952
874
998
696
35
577
836
82
197
388
875
624
254
149
777
102
493
890
962
46
232
654
157
98
697
76
942
150
566
905
221
929
903
141
324
761
100
255
32
368
638
733
920
476
661
291
900
808
654
547
537
587
936
261
530
972
54
221
172
334
20
350
676
795
512
579
838
828
94
534
906
574
479
536
444
165
175
372
482
48
256
220
808
280
778
515
529
711
862
828
628
504
668
189
50
764
142
885
445
542
229
220
330
196
776
76
183
336
77
830
386
1
243
759
96
172
995
121
550
274
560
986
685
269
126
982
160
125
845
743
104
451
450
441
838
79
63
133
610
32
170
339
48
621
656
734
201
216
526
555
535
989
899
686
176
177
127
275
593
431
893
543
555
177
34
33
962
802
652
928
62
742
361
668
569
761
714
182
479
516
241
483
721
43
527
911
738
103
598
741
840
324
907
427
699
943
840
656
390
909
888
366
319
944
949
911
168
523
646
952
330
97
564
995
591
998
77
977
367
730
530
770
123
541
720
399
214
392
94
266
431
461
424
30
512
710
37
415
554
72
869
820
969
743
529
267
820
580
59
52
461
131
447
555
195
154
954
650
289
811
390
856
976
723
674
817
510
291
73
114
215
466
312
479
668
263
642
81
410
604
851
421
820
580
294
21
770
760
113
519
456
578
573
966
981
288
685
646
384
143
172
620
583
373
147
198
344
324
460
180
440
726
404
613
929
968
942
429
300
460
906
199
907
205
802
30
385
302
616
402
251
335
595
803
25
955
881
92
446
198
55
913
997
476
863
781
180
529
794
710
887
914
791
335
347
498
627
92
457
358
205
693
911
393
523
654
334
732
165
637
590
511
316
315
652
602
724
229
990
391
995
470
605
635
742
870
465
915
433
242
176
25
924
870
795
461
421
294
998
391
713
849
164
656
926
286
151
670
657
874
636
42
353
672
847
985
317
370
914
5
57
27
854
95
740
244
858
659
56
358
219
779
314
174
175
409
220
764
278
722
4
54
239
171
434
246
668
872
769
43
932
451
210
111
682
703
663
595
71
408
55
787
203
577
694
577
10
508
869
554
477
991
686
284
15
347
965
347
207
947
879
856
184
324
846
630
870
515
779
871
801
562
454
213
32
772
106
59
423
786
391
944
106
287
167
357
34
84
719
94
383
61
129
75
236
73
258
34
725
965
482
873
392
210
55
311
445
225
478
806
494
489
748
54
37
248
91
435
641
419
406
162
20
930
891
15
880
839
782
913
418
600
404
208
445
4
981
617
354
772
760
506
613
817
182
81
106
470
259
361
689
238
83
263
41
602
681
470
117
142
827
779
251
718
956
472
130
656
663
443
822
273
988
942
648
789
570
164
829
630
441
939
399
701
607
668
394
628
694
607
666
664
908
80
65
457
170
181
823
792
845
229
841
753
990
393
5
687
528
155
228
758
544
211
756
522
127
40
225
355
834
429
962
280
325
862
954
48
830
405
483
460
442
535
243
980
304
919
330
679
944
303
436
99
546
864
300
715
823
257
413
688
173
898
693
760
735
372
428
689
163
990
864
671
496
526
857
119
966
172
255
305
149
650
260
329
82
619
949
698
970
235
542
128
200
208
240
548
637
944
696
603
189
42
740
651
91
841
512
336
345
532
343
437
982
619
605
768
844
968
346
824
630
929
317
869
695
252
752
721
619
928
292
265
471
508
517
259
862
817
195
494
316
237
384
613
432
983
155
825
880
11
655
593
467
542
708
755
663
762
99
321
21
824
245
305
862
532
275
461
356
949
261
577
637
353
798
613
849
430
332
55
495
585
984
703
441
378
177
119
96
154
20
145
270
467
718
159
36
733
880
907
174
295
620
454
891
16
327
756
677
847
987
422
396
545
915
990
603
233
273
802
339
851
573
171
435
984
252
299
149
83
97
148
283
793
889
671
727
863
306
483
307
736
733
110
941
8
785
585
293
165
768
949
863
723
968
406
254
506
920
979
256
328
690
330
41
228
688
810
792
595
810
794
76
360
375
257
967
681
590
867
925
602
646
617
820
710
328
785
20
885
791
879
230
990
167
751
175
19
331
59
137
197
571
215
65
953
861
153
684
36
474
584
548
872
210
755
487
371
227
280
786
628
989
59
18
346
922
250
46
274
479
453
8
355
50
592
80
82
353
473
113
858
361
272
475
21
800
24
801
649
525
128
462
291
813
425
89
645
413
650
73
321
793
771
676
736
252
150
676
382
234
334
237
693
310
461
810
559
434
547
236
947
464
306
948
565
58
373
169
527
670
590
872
869
674
778
418
681
639
479
754
493
703
35
882
304
877
796
828
808
870
517
549
229
600
466
346
243
708
748
410
926
888
567
805
155
524
25
43
9
435
536
593
204
595
407
287
411
270
324
401
130
151
234
861
774
580
887
887
961
832
982
39
589
441
131
601
543
533
838
771
837
15
233
216
437
323
937
224
276
656
927
426
208
601
89
33
602
273
29
716
948
106
310
76
356
689
776
779
299
308
444
320
462
326
855
685
348
461
674
526
333
554
447
458
824
531
292
124
337
393
117
200
987
528
329
770
638
413
196
134
157
705
489
154
89
714
688
779
892
723
730
340
306
246
829
986
594
762
628
991
227
477
587
901
554
122
708
472
885
889
62
214
827
705
29
711
454
610
420
982
986
378
89
210
851
332
113
460
837
389
940
152
751
782
187
904
265
145
216
236
676
700
254
467
791
585
717
608
526
96
340
151
679
16
803
697
11
422
617
88
318
546
798
474
356
1
414
908
779
205
137
463
314
677
872
349
367
298
149
141
400
824
831
127
899
416
274
519
842
943
550
583
858
427
388
766
451
276
644
434
234
386
899
132
587
692
591
517
167
793
209
721
246
838
851
54
218
852
230
451
798
644
539
84
559
878
767
82
262
100
524
876
524
673
447
378
254
776
670
384
362
264
465
847
919
650
643
5
568
614
429
120
814
125
626
179
536
173
146
789
447
709
632
676
144
440
210
480
927
172
790
406
162
572
213
514
404
902
318
725
302
534
488
153
723
171
725
220
377
967
86
755
800
665
577
269
741
378
23
286
54
791
949
164
55
800
382
928
240
47
573
998
499
18
371
244
37
276
774
84
555
662
305
878
225
268
419
869
757
430
818
75
982
267
281
706
458
434
284
936
919
1
515
468
760
883
864
673
641
659
186
308
487
609
124
922
608
651
258
539
397
330
587
932
628
901
797
995
704
504
765
922
234
684
585
358
908
540
348
413
147
192
44
921
754
441
325
220
424
728
202
797
391
431
838
762
245
742
425
299
393
648
963
820
27
855
29
916
413
831
23
585
2
637
402
234
266
432
162
482
54
9
555
641
130
784
349
371
440
259
584
568
314
569
400
206
306
192
877
956
61
991
615
441
558
963
344
59
342
67
226
488
381
399
761
788
362
58
839
773
559
183
966
78
121
905
979
193
439
268
778
600
644
714
63
707
899
251
413
227
799
770
666
938
893
571
887
12
885
922
388
515
863
295
169
313
271
444
865
610
451
519
389
179
871
896
391
814
110
114
896
906
915
735
612
440
69
838
56
424
829
955
979
973
533
275
234
556
895
159
204
32
697
266
748
336
861
890
242
567
164
671
172
365
99
301
689
211
7
603
99
526
907
674
29
693
385
283
263
420
934
400
411
492
80
696
323
211
615
162
401
752
108
424
137
657
810
576
204
995
188
461
131
636
278
176
567
154
762
367
448
13
215
236
629
390
330
775
382
965
438
208
677
274
130
886
368
291
198
195
468
67
641
625
707
570
148
125
800
94
333
155
781
610
308
48
909
488
877
897
969
680
882
597
553
820
232
856
976
668
633
752
722
331
99
157
660
115
512
121
838
345
805
873
777
233
552
263
174
53
122
621
190
630
487
275
269
652
510
936
228
803
727
934
867
762
342
760
28
960
191
521
530
708
179
700
524
122
43
940
932
495
86
386
912
291
166
596
531
769
851
3
146
765
542
202
225
444
267
918
19
949
713
41
392
833
769
723
899
797
657
210
244
519
267
33
85
363
31
364
826
759
99
746
248
653
771
252
758
214
779
352
808
864
28
539
931
841
243
868
554
658
809
141
652
413
718
438
373
776
720
905
144
621
390
565
370
685
930
267
226
429
578
837
405
193
447
22
493
373
996
116
333
159
40
52
752
254
332
538
898
938
224
557
857
572
779
904
705
442
243
676
890
179
394
475
364
303
641
378
277
911
898
32
995
746
658
811
72
887
175
319
50
386
715
775
248
494
746
221
430
492
427
878
854
681
214
620
154
898
50
959
596
199
769
831
159
831
339
42
659
707
711
553
338
519
275
796
287
590
909
84
707
460
623
331
135
425
473
803
639
155
602
10
445
842
767
319
146
459
266
311
475
32
237
745
285
57
81
663
929
531
502
524
88
735
150
952
964
767
501
108
216
152
207
752
471
115
128
156
288
987
825
825
794
878
661
642
928
190
849
608
396
364
59
624
210
960
444
945
349
856
823
853
287
500
43
805
645
214
271
161
638
195
779
588
874
537
161
905
991
72
68
590
653
651
407
973
694
175
226
311
861
831
690
285
690
197
769
126
431
424
900
562
815
181
170
940
33
238
853
745
600
49
912
894
34
428
897
955
740
531
532
349
43
65
645
408
990
461
734
376
629
915
332
349
745
165
760
673
801
651
915
349
969
662
128
467
53
907
865
546
120
186
655
540
241
686
554
360
874
858
277
535
520
13
493
456
244
238
943
920
883
952
593
307
973
212
56
435
789
362
585
825
527
97
81
704
670
115
335
966
971
93
208
585
513
64
148
541
714
480
428
128
549
473
667
452
534
27
887
933
44
233
984
605
188
445
621
50
401
992
879
358
721
989
757
40
40
164
672
739
699
435
337
791
832
5
613
296
265
177
123
405
517
113
110
123
28
39
261
581
262
379
828
952
41
688
549
955
568
309
726
622
876
173
466
339
605
758
454
544
216
469
788
663
310
828
315
997
722
178
389
245
83
567
424
914
384
288
342
352
634
68
358
164
36
872
757
119
334
314
245
398
528
369
332
981
975
322
667
133
850
806
708
703
536
551
447
569
894
637
779
87
136
956
986
147
252
216
487
498
321
945
229
196
421
564
621
549
409
315
361
139
181
646
966
753
113
417
746
2
861
512
82
86
958
546
491
512
319
422
487
830
958
298
727
399
56
880
959
737
736
890
691
493
420
88
238
334
842
833
255
846
114
845
213
689
226
370
56
900
862
21
989
608
140
761
552
590
323
67
124
345
827
851
762
607
114
198
13
407
86
946
664
531
275
254
948
197
644
147
698
985
751
87
864
529
449
692
955
465
888
90
204
451
250
758
130
407
334
541
777
612
849
513
252
797
282
168
438
109
589
444
478
997
603
244
863
939
223
469
504
909
252
887
494
662
764
404
177
248
596
92
626
917
337
465
976
695
275
536
259
683
754
75
616
677
406
825
736
750
393
564
485
854
390
358
69
282
646
102
802
675
222
103
345
609
59
212
657
317
115
269
746
19
488
300
708
996
286
892
177
536
927
815
255
477
141
239
177
868
874
429
149
470
908
579
191
561
132
691
714
595
415
623
727
121
463
579
251
261
555
705
726
988
399
790
222
832
425
820
444
213
442
428
840
443
79
333
212
658
896
620
974
410
248
631
878
241
794
313
759
999
318
374
594
864
798
88
251
748
976
923
25
314
918
430
781
876
708
153
616
733
85
997
257
486
404
912
28
657
945
390
319
439
624
859
267
435
708
655
436
827
865
633
869
496
775
825
814
491
788
147
943
606
966
265
186
255
1
475
86
769
373
127
41
702
224
486
969
654
332
753
607
702
355
796
673
124
362
611
561
646
912
666
967
142
665
739
973
213
294
826
331
487
384
568
111
199
894
741
516
984
74
297
649
228
301
57
622
584
729
290
584
645
628
380
811
867
730
674
633
169
162
260
699
615
769
437
256
831
173
234
514
222
413
587
907
706
696
615
526
495
591
830
536
519
760
525
271
914
945
879
108
515
518
471
789
74
550
0
71
957
286
672
233
984
400
970
491
99
80
431
357
932
979
467
638
574
97
214
108
261
851
679
227
869
948
131
803
260
195
546
305
154
867
319
256
877
574
192
385
179
350
182
358
382
961
316
483
953
747
939
887
177
654
152
743
763
992
275
828
208
854
718
403
737
222
806
355
497
852
155
563
714
764
156
338
432
920
601
639
197
624
568
632
14
430
932
196
560
331
687
475
745
864
520
916
21
344
759
549
978
361
279
275
705
778
51
634
423
313
219
746
414
366
89
0
484
115
546
95
670
562
434
495
814
945
147
69
248
826
39
172
5
205
741
325
245
605
93
330
870
388
900
50
347
880
420
304
366
796
33
803
327
552
297
898
362
885
982
704
336
470
623
686
66
356
183
748
876
788
710
232
849
592
296
969
291
26
296
760
686
624
325
590
64
334
190
203
66
876
339
228
46
965
632
592
175
666
900
849
778
417
944
474
660
855
517
325
623
19
874
644
116
806
684
120
365
25
601
961
725
518
168
384
760
12
436
565
592
339
734
168
219
922
594
113
516
840
229
881
485
35
307
864
643
876
58
480
398
737
991
753
861
861
435
565
53
896
69
219
555
846
674
110
293
99
614
306
520
161
467
769
306
30
892
801
163
30
804
303
238
976
488
446
872
511
743
956
189
816
517
705
775
688
588
661
0
290
944
723
453
378
985
328
935
912
637
493
908
102
91
221
812
26
208
497
810
420
534
34
630
785
848
963
960
595
321
191
453
199
91
196
759
621
707
829
18
564
540
748
745
775
670
445
164
472
674
385
502
697
845
751
351
700
398
805
453
364
496
271
752
812
279
945
471
388
713
113
560
823
527
506
777
527
941
318
372
548
722
942
536
632
380
634
49
771
709
492
868
402
367
90
308
726
917
687
555
2
310
557
734
69
553
754
951
946
429
186
664
647
339
688
670
380
330
682
9
490
710
340
979
331
267
54
662
868
968
64
726
970
645
576
265
531
165
50
699
593
583
452
770
413
237
236
913
123
720
620
917
423
464
521
744
449
898
762
214
461
23
351
525
742
466
865
24
826
736
668
929
101
199
946
773
618
504
810
689
478
433
912
330
24
73
44
184
368
158
167
849
409
906
417
418
671
405
676
213
604
501
128
554
601
792
564
98
691
697
347
620
935
317
22
126
47
875
189
69
205
615
141
855
609
254
706
920
374
540
439
286
114
355
741
37
312
896
10
924
506
673
908
514
30
760
822
953
816
445
685
599
43
562
511
486
455
772
449
363
604
532
922
761
788
662
150
693
656
64
215
518
206
802
78
452
755
179
644
755
182
538
284
146
643
76
234
42
360
292
471
989
97
625
430
753
4
220
402
378
593
281
103
405
739
829
636
355
348
337
174
526
139
224
393
230
881
470
509
226
587
507
86
939
891
551
365
120
704
860
51
215
529
695
241
143
769
151
335
680
236
747
925
704
629
923
962
559
408
209
894
390
125
108
842
489
281
254
389
798
656
279
976
481
76
892
846
807
746
127
697
328
820
88
789
936
683
550
478
51
656
703
30
122
642
76
786
761
785
954
310
602
146
835
514
528
539
274
736
353
618
155
766
758
587
969
829
349
557
990
766
519
358
234
387
881
229
214
345
770
608
4
352
170
339
63
782
580
909
351
30
833
535
198
682
235
310
763
822
150
430
590
88
887
350
189
698
143
273
304
72
146
165
665
220
408
696
444
308
92
319
384
28
992
216
61
286
537
423
550
231
24
970
93
777
98
165
816
17
50
362
943
836
297
851
542
528
675
898
306
303
130
508
84
431
999
873
303
123
101
488
999
959
174
77
852
404
835
795
907
912
387
119
74
51
98
893
807
201
642
833
781
295
376
673
647
783
809
955
122
252
787
878
250
897
76
573
337
443
768
139
96
547
287
833
699
664
580
76
261
815
940
887
198
912
566
42
550
602
894
679
432
681
688
820
62
334
503
712
964
847
824
970
716
420
954
510
543
290
18
987
217
721
786
826
802
103
690
733
532
490
853
431
934
904
294
188
365
516
625
757
366
280
796
918
343
394
823
798
533
291
668
904
131
308
195
480
428
844
860
676
524
893
202
554
369
880
199
418
650
942
202
57
552
281
587
922
206
489
546
323
668
428
381
860
848
586
231
842
857
857
838
363
863
318
354
666
811
463
633
66
254
415
364
963
619
247
26
969
376
22
997
156
333
801
672
175
494
147
98
931
657
625
838
764
343
628
189
995
86
197
222
198
158
831
18
411
146
242
389
397
593
687
445
204
858
983
842
367
692
612
500
924
211
31
242
3
771
244
635
753
513
505
837
514
214
801
708
961
491
672
511
357
777
695
482
319
988
417
869
594
710
261
439
700
936
584
148
681
216
50
23
976
480
284
624
71
426
300
384
462
503
489
823
83
37
911
354
38
780
391
994
264
516
526
287
678
534
135
161
675
15
898
230
383
509
219
746
497
870
303
193
463
138
712
265
337
54
569
276
513
533
527
986
380
42
151
957
897
785
769
684
108
506
807
573
572
995
825
705
983
128
489
345
576
226
136
669
405
46
597
417
98
575
931
112
890
284
207
38
844
785
521
228
247
179
687
791
209
510
618
737
891
248
422
117
605
15
964
177
142
896
328
775
871
823
97
507
898
440
324
771
880
959
270
213
611
297
175
663
908
398
721
676
539
382
445
466
383
171
798
496
399
89
290
174
137
704
857
47
785
10
695
94
719
593
410
813
751
834
887
354
50
253
874
156
189
6
752
971
999
394
336
906
525
759
746
816
300
181
11
268
365
236
798
936
585
678
618
73
410
767
66
217
845
780
112
41
613
595
182
123
514
863
356
549
792
379
919
239
741
132
353
594
607
308
994
311
991
595
168
763
317
638
92
962
869
331
277
87
335
730
909
660
133
311
331
366
373
38
696
823
555
801
135
175
956
710
758
199
330
795
710
779
932
892
406
635
787
954
984
261
465
980
174
263
188
729
808
475
361
480
964
497
296
60
950
377
888
675
967
89
166
563
289
584
661
445
769
772
619
558
556
572
950
938
619
955
527
736
523
23
372
330
563
565
172
325
837
74
301
614
256
840
396
987
616
7
135
344
232
528
61
567
267
134
215
621
208
207
854
151
877
494
841
686
548
942
142
889
538
654
504
644
52
469
756
394
746
368
175
61
831
274
485
502
444
825
730
374
950
212
551
962
441
403
493
886
642
764
121
625
731
526
38
80
858
814
247
809
733
188
839
471
177
996
165
950
280
585
435
224
921
853
907
477
499
182
388
624
546
777
410
344
649
261
342
642
955
807
424
518
826
606
162
567
699
953
785
621
937
679
240
800
60
84
815
20
11
895
257
369
438
568
987
761
428
294
242
215
846
807
82
896
854
796
229
364
437
794
344
38
698
214
35
693
390
672
890
685
107
642
123
185
112
285
666
35
731
383
330
136
963
764
56
181
729
181
283
742
107
286
839
524
79
469
199
823
154
673
866
820
532
443
382
451
271
700
830
45
853
258
292
934
77
0
781
51
494
383
806
558
944
880
385
446
23
298
429
620
671
27
617
597
541
330
418
945
336
728
842
293
652
112
28
959
596
197
296
766
761
722
504
506
243
779
761
411
223
149
495
880
263
798
667
662
387
614
55
643
336
82
823
25
445
795
263
100
14
540
17
355
50
318
693
884
938
366
868
363
721
532
916
139
963
138
96
249
139
100
24
137
470
214
113
869
313
536
40
430
873
137
590
894
476
205
182
367
15
909
455
716
818
254
916
104
615
521
773
142
893
290
709
68
238
844
758
574
981
567
940
316
330
730
977
909
790
206
891
661
363
607
754
297
488
261
562
57
684
597
533
208
112
374
458
689
509
853
949
914
154
156
879
520
606
12
340
278
88
506
89
82
602
127
801
696
950
820
656
373
851
45
893
475
895
432
945
39
891
893
787
408
368
584
962
423
10
438
482
862
496
724
480
595
914
309
158
653
447
718
491
18
314
791
709
26
993
817
257
565
717
143
335
994
660
66
408
918
187
259
15
443
19
463
883
111
453
48
230
607
184
5
269
398
801
569
370
816
326
135
966
577
458
855
824
505
372
551
634
792
372
316
803
459
151
134
499
910
433
731
389
111
421
42
172
692
76
843
354
478
776
59
493
973
133
477
778
607
919
113
29
185
875
37
669
956
506
856
536
724
972
82
502
229
41
392
702
889
753
290
277
785
327
101
204
477
142
790
48
541
730
72
944
134
268
46
745
643
34
259
462
404
205
385
730
350
170
26
529
842
721
685
977
301
531
534
247
281
705
526
250
98
479
424
835
430
472
324
542
622
419
960
815
954
19
900
869
612
829
417
135
116
633
428
577
664
608
495
937
425
671
969
63
821
352
435
825
233
778
473
661
772
439
0
591
902
72
802
836
138
793
860
461
489
791
405
531
855
313
657
37
55
280
593
822
936
415
784
63
36
93
997
97
126
558
635
56
612
24
541
254
359
618
137
180
635
208
419
582
831
195
547
819
669
835
677
39
909
138
73
343
19
739
215
376
310
448
172
730
203
130
677
545
475
863
860
272
674
130
246
507
984
223
649
14
255
221
648
144
16
221
803
362
424
429
967
975
647
706
921
26
892
630
332
75
90
940
656
381
219
144
493
761
31
846
209
692
203
875
682
210
513
880
369
276
235
343
720
78
84
310
129
265
666
713
834
748
736
587
94
541
660
150
271
945
615
454
0
874
234
128
980
634
31
994
135
795
318
43
695
64
139
68
976
341
917
717
439
543
718
681
808
277
324
992
936
191
490
247
60
992
751
982
412
206
40
81
483
206
316
195
680
712
80
349
961
468
170
517
22
827
653
469
811
87
418
507
782
456
178
248
711
931
672
699
456
252
224
736
514
779
409
902
893
1
37
417
306
219
880
298
901
279
200
820
42
436
774
463
490
818
39
161
584
175
916
911
292
231
218
86
826
182
85
678
471
679
193
793
483
285
280
295
395
914
601
345
46
292
69
307
291
972
800
364
312
17
632
640
434
671
819
73
253
420
139
569
656
202
677
610
330
65
228
146
230
605
132
515
965
62
413
533
801
272
164
737
864
316
265
978
897
460
753
755
241
724
527
541
680
936
204
553
385
406
823
20
343
186
194
266
301
173
162
506
83
873
678
631
54
272
672
415
717
690
529
747
302
350
108
906
746
43
180
54
9
490
183
573
956
411
919
121
761
282
817
104
376
87
389
771
173
331
187
793
911
823
334
91
354
885
393
206
717
477
952
120
117
425
718
220
565
456
451
317
101
460
266
940
593
426
350
230
768
110
860
228
342
605
30
806
192
302
315
408
444
64
973
500
327
263
248
856
566
193
254
918
85
908
185
117
365
6
389
40
550
248
886
305
810
635
462
651
831
190
888
734
149
966
606
990
520
408
528
269
788
395
143
317
148
485
721
174
31
299
288
107
724
561
600
77
897
281
882
636
268
816
21
339
227
755
300
565
600
577
741
518
172
807
881
515
142
403
26
662
470
691
192
494
521
7
228
811
174
311
761
858
615
778
139
50
86
117
342
628
533
111
2
204
230
980
612
481
256
390
257
719
846
119
123
580
906
514
334
388
631
905
683
391
828
92
222
422
758
333
624
93
963
672
853
901
316
721
374
962
34
359
581
308
26
370
629
324
571
944
717
784
611
835
111
544
189
383
34
201
789
114
997
463
431
558
299
81
531
582
589
97
225
532
36
551
271
753
801
348
37
467
676
688
243
748
236
662
681
824
623
611
734
738
96
431
974
778
891
42
315
529
411
137
162
194
90
384
534
912
336
414
830
814
702
811
175
918
77
846
862
625
996
840
116
965
273
240
92
382
845
193
421
504
915
395
940
21
895
372
332
281
558
561
923
744
676
174
586
927
102
787
79
395
619
160
400
867
354
126
545
574
722
854
858
368
407
524
404
790
429
272
502
542
720
389
530
503
989
102
142
327
113
889
376
642
292
280
16
542
696
888
172
160
462
11
545
87
76
193
113
291
393
54
558
269
865
985
554
839
674
243
498
878
153
729
459
137
859
810
823
332
821
644
569
622
39
275
375
477
379
977
147
795
950
304
205
909
53
330
381
498
637
144
521
376
332
411
933
136
998
234
132
812
706
478
831
454
249
75
484
13
798
547
761
702
608
259
824
484
637
248
469
466
990
219
201
268
981
952
959
490
118
472
319
136
391
800
917
334
668
10
710
162
94
997
785
844
912
997
900
802
515
94
466
112
519
636
377
527
896
919
912
947
898
90
728
717
205
521
70
801
379
82
578
816
527
287
837
666
375
729
349
615
158
297
296
240
166
763
973
746
856
736
447
64
190
992
867
62
971
516
654
770
242
810
560
582
111
877
343
64
41
672
12
832
209
630
450
641
908
359
701
119
454
885
523
796
680
39
92
248
271
759
576
783
55
949
200
773
289
930
202
365
320
814
70
179
587
436
965
719
864
348
79
313
237
807
915
861
406
288
36
819
40
609
44
500
753
130
543
995
930
871
226
105
686
380
327
812
845
833
685
440
771
68
326
753
643
477
119
923
478
459
880
212
42
90
141
575
632
315
736
879
727
610
804
709
349
2
809
214
633
109
817
698
652
835
921
368
812
741
928
932
708
83
903
565
550
151
444
136
38
277
644
717
330
447
377
148
112
26
792
990
741
957
926
544
764
722
127
186
756
266
597
800
270
765
877
54
266
901
587
931
960
607
934
794
468
129
543
984
628
99
874
276
27
761
648
616
168
600
366
846
762
852
752
477
777
422
331
148
237
449
387
896
807
288
925
884
375
157
679
341
912
480
792
90
280
76
537
630
860
346
266
847
986
530
877
160
952
752
452
638
162
413
603
315
593
134
892
252
313
499
618
952
490
195
727
984
329
194
874
855
534
648
495
573
983
14
127
609
286
642
977
969
386
897
110
49
134
683
409
67
843
66
760
266
269
798
586
506
290
565
430
112
978
468
573
127
210
588
8
647
646
284
203
111
486
429
362
582
336
291
780
811
164
973
6
785
622
347
594
485
304
1
766
518
704
231
148
815
746
183
596
787
398
648
86
975
551
82
235
139
662
0
376
588
627
362
340
666
724
673
14
867
304
540
954
755
66
492
63
721
399
474
377
980
655
521
943
392
845
704
625
115
323
272
209
66
149
298
500
577
229
360
872
709
371
870
307
533
911
191
461
941
658
647
986
777
550
561
533
242
152
837
608
636
898
919
384
985
205
977
992
179
134
173
955
952
736
680
177
113
956
544
987
710
591
152
708
259
57
850
87
378
129
186
752
410
475
894
775
928
462
210
335
17
618
598
942
573
74
634
432
574
107
218
688
277
702
717
953
349
9
875
987
489
224
753
38
340
583
442
616
390
548
204
941
399
484
265
666
387
46
143
553
428
71
123
770
881
642
36
589
103
466
908
170
335
544
182
374
620
992
915
738
829
152
933
581
0
201
218
861
954
113
809
579
481
56
647
789
157
382
731
231
478
344
818
743
633
805
660
321
879
733
334
911
607
630
610
0
702
50
424
331
7
950
135
960
428
290
975
294
777
701
541
771
678
655
280
179
472
539
237
203
798
463
535
852
209
763
970
501
930
103
368
569
83
576
813
67
306
558
679
758
766
720
188
761
222
792
889
886
349
242
409
826
40
602
945
951
299
648
142
457
200
822
500
246
781
754
743
969
595
301
835
340
913
819
452
311
124
943
490
932
972
596
486
148
171
606
622
965
795
304
187
833
509
585
657
46
483
959
839
429
88
375
76
16
866
741
370
741
479
381
222
129
290
526
476
282
182
591
196
792
554
389
452
490
471
968
448
574
622
947
209
697
577
525
479
236
369
751
104
890
619
711
395
276
353
274
986
533
375
415
221
96
737
575
576
55
990
590
857
659
323
70
313
92
512
402
881
682
983
503
420
691
343
852
271
500
192
267
446
21
98
474
799
448
306
693
81
210
939
910
923
791
722
859
169
451
10
193
593
425
384
639
831
123
651
422
849
144
692
338
320
277
420
130
809
541
453
443
589
696
875
552
596
316
573
370
909
214
268
351
553
883
487
963
998
799
216
255
566
724
460
410
740
798
168
574
405
763
868
739
332
887
112
376
445
561
299
23
337
626
321
925
450
248
481
647
588
6
66
778
910
603
634
528
845
48
565
165
880
55
706
160
649
247
198
422
813
236
649
173
749
841
721
757
868
94
107
182
133
345
808
783
637
104
533
750
511
657
35
615
147
374
903
31
554
652
539
444
513
327
3
397
344
467
543
723
247
429
37
167
989
754
938
820
936
193
718
704
696
914
898
206
361
421
455
557
634
424
226
436
771
913
47
75
320
746
19
624
869
247
825
343
221
684
831
411
782
832
290
981
130
891
58
680
60
464
958
198
730
211
882
84
970
935
418
368
843
899
986
333
549
82
668
751
895
670
920
821
574
65
933
121
587
38
336
796
498
817
389
148
954
441
964
912
125
522
131
311
863
533
262
284
778
78
157
622
625
974
101
368
946
89
325
878
258
467
457
19
773
624
823
296
378
34
204
331
952
506
15
705
674
428
296
746
825
117
706
301
996
596
130
494
975
753
372
521
704
719
763
668
837
575
852
417
522
660
572
126
513
780
707
923
844
274
878
393
143
713
129
753
981
727
663
248
187
970
654
306
74
552
467
178
155
443
707
67
544
395
125
12
983
504
442
381
685
388
556
98
761
312
938
307
635
472
684
584
386
103
621
273
15
880
400
479
757
286
415
36
326
875
272
999
915
866
467
281
775
418
626
632
772
500
708
199
177
848
468
403
259
96
445
798
402
86
602
552
327
169
402
597
222
1
157
432
325
622
229
130
129
208
155
237
822
734
412
215
408
997
170
335
195
752
470
827
470
276
873
295
54
670
434
726
967
828
710
719
562
860
792
585
214
887
921
82
584
506
188
689
426
690
681
382
579
251
815
57
950
83
822
775
81
61
197
340
943
373
781
327
98
249
524
92
184
563
172
290
692
885
98
876
725
435
692
54
933
763
520
814
505
127
993
606
14
690
364
173
993
689
381
117
980
968
728
579
110
976
371
783
687
463
650
249
481
166
823
494
78
771
999
613
552
168
825
736
376
505
653
557
665
627
194
525
424
483
329
189
682
150
428
444
657
914
41
884
449
847
754
949
877
452
602
977
143
9
778
585
457
175
256
244
638
264
689
608
466
502
733
450
260
382
873
321
428
31
911
27
477
329
98
67
928
731
611
228
158
622
590
45
365
230
369
133
681
94
850
102
521
368
330
915
334
471
841
120
678
360
196
100
279
612
506
931
592
402
23
196
551
823
952
417
476
978
47
51
567
344
77
528
64
63
953
110
164
961
273
210
291
277
813
427
26
512
395
66
421
860
282
517
708
375
161
282
843
890
57
879
741
774
136
669
186
940
82
455
702
79
918
734
123
175
60
545
898
421
561
620
746
380
864
801
439
888
3
93
133
318
494
954
208
31
510
62
65
372
543
359
778
265
101
470
641
53
762
429
579
721
511
179
641
637
529
563
141
759
738
661
16
478
365
207
616
928
471
548
965
33
319
917
890
671
700
65
304
439
255
679
93
349
915
918
786
108
484
963
191
551
820
958
345
69
123
785
472
836
885
66
227
451
796
483
151
352
668
21
828
116
290
712
959
964
593
965
409
119
598
402
820
389
153
263
582
866
299
260
150
204
643
498
166
218
607
859
784
159
249
78
616
865
92
455
606
751
620
1
482
875
931
382
843
123
284
200
541
791
228
871
956
56
634
251
421
407
500
491
423
383
293
723
965
152
229
388
82
487
61
243
259
521
615
363
182
966
100
745
750
604
366
797
992
750
51
632
545
638
910
383
522
856
367
231
787
730
458
721
82
325
507
262
8
380
879
718
17
799
760
29
526
578
417
48
657
851
173
81
37
649
112
50
119
853
57
492
222
85
541
476
837
592
59
984
327
106
38
928
312
86
623
371
996
989
617
810
22
22
253
191
761
343
749
721
567
869
847
617
633
196
298
681
442
872
909
708
856
777
270
203
148
822
121
315
386
128
287
128
209
174
910
547
511
719
127
896
783
636
742
675
9
33
239
432
61
739
465
820
227
62
653
100
320
930
22
633
221
754
851
796
340
582
309
642
541
430
770
323
811
554
626
574
951
635
192
724
558
81
458
17
211
37
652
931
654
713
753
50
200
89
771
835
972
872
624
611
935
18
563
390
622
453
657
878
117
811
606
753
884
651
416
666
32
485
781
281
802
38
843
473
767
646
567
110
964
364
914
172
540
895
415
624
702
792
676
813
262
302
993
761
937
79
966
669
91
827
612
378
404
677
28
96
54
607
7
725
148
428
524
360
7
144
390
694
77
898
560
85
263
598
707
835
957
445
460
295
381
269
3
426
734
553
519
974
836
330
447
164
879
21
689
215
365
708
915
722
250
144
387
207
111
263
542
797
219
444
280
154
30
86
380
526
969
511
742
885
399
565
636
832
284
566
279
697
509
184
103
86
625
232
925
366
184
467
153
451
968
867
572
992
925
228
299
697
181
588
290
668
785
600
497
378
839
636
170
182
810
865
683
283
277
428
804
159
699
359
346
339
810
7
584
638
422
533
802
534
758
319
394
568
744
360
933
800
511
811
562
677
852
689
564
799
709
484
447
998
949
954
130
439
574
331
403
554
684
390
657
303
163
457
680
844
820
678
794
345
686
548
531
992
969
298
116
798
491
483
980
349
753
362
835
564
106
106
400
364
829
847
583
772
938
581
438
687
472
701
648
866
693
231
640
310
157
578
939
4
61
439
376
67
668
959
494
363
518
770
538
990
493
53
791
404
36
676
808
220
982
699
337
761
590
188
601
89
68
334
382
609
662
515
729
916
974
645
743
121
110
100
12
185
698
930
814
820
724
544
886
201
9
575
702
902
255
689
128
662
122
979
217
410
634
349
945
281
250
863
404
921
229
10
462
631
468
571
102
144
83
65
874
110
771
370
449
804
441
528
660
127
520
874
252
663
151
988
271
557
174
28
351
943
664
333
972
689
118
243
190
686
220
959
748
280
394
430
694
470
66
744
161
585
352
998
614
635
671
219
74
363
622
609
779
834
80
736
209
873
564
620
911
520
586
519
250
29
742
534
604
718
100
443
761
216
573
185
502
144
433
684
616
350
338
740
647
788
498
843
48
19
911
671
740
169
766
130
826
629
66
313
550
627
674
689
902
924
251
855
909
487
287
171
964
433
860
246
877
64
901
546
169
47
956
295
556
669
973
77
242
348
748
255
714
582
597
5
975
344
956
824
843
575
69
99
460
547
704
829
462
0
414
836
452
1
505
623
207
685
995
933
778
806
270
460
816
169
990
255
237
625
496
848
146
731
746
584
166
661
218
886
107
72
484
8
634
184
738
860
724
219
757
605
118
645
537
960
317
957
247
409
207
994
798
401
985
214
311
518
417
136
932
608
372
275
952
541
0
959
598
256
119
417
578
518
836
595
102
765
255
676
27
405
471
16
659
127
172
589
295
341
53
262
77
401
250
856
629
425
73
966
981
672
10
72
771
803
121
387
778
606
807
381
634
436
509
574
240
666
95
574
357
31
678
626
339
805
143
972
788
463
977
568
978
722
732
844
744
162
698
433
880
250
978
729
193
128
533
657
14
925
785
522
345
897
475
238
686
629
787
133
716
438
152
426
167
285
481
57
653
802
44
162
427
848
520
398
234
461
564
682
59
989
838
687
500
822
661
360
111
60
907
26
979
89
530
389
145
981
873
636
674
752
917
877
399
929
141
805
273
18
839
132
304
410
180
417
968
864
590
176
110
338
705
184
422
976
169
771
737
167
988
651
435
774
166
189
512
486
809
646
685
766
445
77
26
658
236
155
828
89
129
609
587
951
305
951
402
571
414
271
488
207
356
47
696
600
53
574
589
664
623
766
883
680
276
636
734
32
717
47
771
512
719
131
597
180
499
182
841
402
969
226
493
54
2
981
10
678
22
36
355
851
78
25
799
986
582
886
789
855
792
488
228
362
397
429
165
865
819
406
446
477
310
748
177
209
772
235
924
319
533
831
753
248
76
338
413
888
109
112
930
53
539
551
131
819
146
627
888
204
113
261
313
306
939
930
444
215
450
765
727
201
310
840
340
905
149
19
358
240
759
624
832
696
322
940
336
873
961
682
427
822
171
201
978
461
788
143
21
221
735
338
298
414
535
472
274
99
365
908
817
862
845
261
326
272
685
585
256
958
190
939
484
583
725
914
360
801
451
463
804
612
501
272
951
307
651
97
344
927
765
589
798
813
666
613
633
179
4
626
947
32
782
759
784
886
253
489
234
281
749
642
44
955
588
401
541
300
331
847
769
613
246
72
269
918
416
984
711
12
308
589
981
821
436
214
605
181
596
62
553
868
924
617
406
517
889
520
398
819
31
18
216
676
141
872
976
125
6
542
733
192
276
597
198
391
534
197
405
39
885
709
710
907
459
32
390
630
961
239
378
437
812
16
560
69
736
98
791
559
965
69
276
538
212
604
414
981
542
227
903
975
400
712
287
208
679
191
561
687
435
967
541
673
866
280
33
203
359
549
33
157
340
875
515
930
962
166
937
274
570
339
868
695
738
469
590
225
86
558
960
765
149
711
522
64
715
574
14
601
983
688
884
242
89
328
850
456
689
344
871
871
685
106
467
226
93
53
641
473
920
59
903
570
51
657
61
456
631
903
611
106
55
323
351
936
853
218
738
362
165
91
558
280
842
598
980
608
560
770
47
159
46
376
96
312
122
886
587
434
402
917
640
31
426
534
119
605
303
513
507
40
157
17
860
389
731
479
685
773
904
587
811
266
188
582
136
79
485
650
109
685
825
764
29
818
339
367
507
476
266
138
924
134
950
329
73
352
748
197
599
164
741
405
406
169
733
237
338
197
19
432
341
245
820
111
684
924
621
638
276
433
540
289
54
399
387
151
183
576
463
575
330
62
214
309
566
258
38
976
894
43
172
353
151
104
411
141
928
862
601
773
467
280
72
922
292
630
865
261
667
837
217
559
301
363
179
931
845
256
415
426
737
623
354
492
141
645
489
371
609
838
646
286
616
925
49
12
748
267
223
726
330
895
140
491
376
784
819
24
689
563
269
881
66
799
950
409
246
775
321
160
549
391
337
153
622
877
672
542
784
669
462
675
138
564
398
758
791
816
299
209
956
41
70
638
157
323
641
614
856
401
520
495
524
235
671
44
997
459
23
596
801
316
344
233
653
578
780
189
519
405
580
428
877
490
408
751
914
249
548
761
176
825
340
541
481
63
389
908
421
733
334
670
157
533
264
183
649
876
616
383
25
158
878
519
152
610
273
253
343
147
955
68
770
185
322
973
83
942
586
960
598
464
131
849
495
783
131
425
490
835
678
717
45
471
126
10
696
667
772
447
347
544
965
181
485
218
50
890
167
988
828
153
173
283
731
18
335
571
586
110
483
132
72
396
196
666
58
45
796
278
852
807
224
808
133
943
855
738
844
309
957
401
652
124
209
797
842
491
349
500
701
710
273
335
676
864
286
183
488
711
849
569
190
509
451
739
504
105
540
14
189
58
796
728
17
122
52
481
854
957
554
940
774
802
675
319
885
293
537
501
519
954
660
837
300
285
93
762
621
955
10
723
187
500
90
934
883
211
99
765
448
338
896
843
557
611
952
661
16
691
835
728
465
744
562
196
586
539
710
931
234
229
99
972
65
921
49
233
235
565
824
585
502
715
793
78
878
942
460
675
669
66
357
496
964
95
702
33
528
782
794
92
522
781
178
906
2
440
578
718
481
955
282
482
289
315
20
7
943
78
497
736
666
776
155
196
978
583
246
947
475
727
732
595
838
718
964
659
373
213
878
484
57
693
304
836
986
668
217
540
708
640
114
773
269
704
508
255
494
629
473
265
706
393
712
356
852
141
787
17
119
157
183
755
586
785
378
139
510
844
235
308
173
646
851
831
140
136
172
160
316
299
495
666
978
839
669
320
460
877
717
46
796
338
242
55
490
757
267
601
65
342
326
252
519
927
491
471
634
24
833
365
610
546
514
815
629
457
419
965
771
390
986
654
679
366
140
974
267
584
872
918
396
287
78
103
504
659
151
317
436
70
77
506
992
97
890
677
488
904
639
701
750
10
769
656
213
279
994
394
318
577
71
314
934
352
419
304
1
750
519
667
618
412
953
336
146
566
131
563
638
48
407
440
746
23
792
443
477
906
364
214
796
98
220
645
158
799
290
57
688
462
858
456
653
837
185
751
969
823
668
285
317
725
837
928
963
58
151
724
217
531
500
119
899
554
238
906
437
612
8
874
613
576
651
190
68
171
231
290
901
107
565
178
940
220
944
340
369
761
928
101
942
972
672
203
38
243
399
870
81
580
741
702
373
811
385
233
375
736
796
200
751
610
2
541
97
825
201
129
294
609
888
290
87
35
911
14
327
550
710
386
403
660
42
225
368
896
141
83
247
8
264
658
503
639
726
979
610
934
34
828
487
531
97
50
953
373
677
550
737
416
855
208
295
616
459
121
259
966
33
286
158
455
788
564
777
751
240
739
634
531
187
799
303
802
982
386
111
30
379
282
863
657
343
601
982
304
857
194
776
274
602
537
127
500
96
217
834
970
926
194
671
555
805
838
906
685
262
619
882
512
352
771
960
896
374
606
693
642
38
364
9
155
431
642
739
239
160
754
232
945
866
11
140
132
69
823
144
915
491
541
568
700
895
753
67
802
88
895
920
926
920
638
518
312
70
606
984
216
370
126
866
862
918
972
684
369
190
559
518
159
18
317
374
769
534
678
514
950
360
598
158
565
675
300
690
60
718
482
445
78
783
44
213
590
965
554
114
555
370
93
707
372
413
723
866
860
405
835
740
585
969
768
927
884
794
629
534
198
690
337
272
258
713
344
611
277
513
349
406
194
618
333
533
210
457
434
835
659
271
75
185
804
939
683
585
628
188
336
254
774
127
782
0
768
501
578
64
845
178
90
538
443
201
998
268
228
47
942
320
603
625
222
1
589
122
704
90
539
210
431
241
548
949
248
914
167
400
464
62
328
654
27
147
156
911
552
874
627
398
132
424
178
463
823
793
624
108
812
875
737
302
523
611
218
860
134
404
68
411
412
485
792
800
89
771
886
695
498
581
708
705
274
51
358
478
226
111
862
309
948
722
65
831
614
849
580
92
201
768
844
404
857
930
784
388
481
614
965
574
87
708
802
509
997
955
111
298
214
466
635
206
16
390
960
558
775
918
948
435
186
502
404
239
13
133
97
767
332
976
983
805
568
953
810
154
171
985
352
943
633
571
548
826
764
734
209
268
259
126
704
299
710
408
962
123
759
932
308
527
196
252
628
704
946
741
361
657
214
237
302
24
536
45
668
185
676
249
41
36
518
53
678
544
293
519
191
84
346
142
572
733
997
686
839
640
49
266
651
473
540
410
125
314
175
958
874
678
663
633
153
843
154
244
706
270
581
731
593
335
862
488
402
220
759
23
534
912
736
312
332
43
110
198
592
269
251
896
601
494
722
303
278
999
134
355
435
462
46
242
688
269
398
706
707
778
906
537
895
851
151
968
916
353
624
734
939
789
661
322
577
571
196
639
238
75
906
765
301
718
835
699
419
854
632
801
265
489
154
160
146
831
108
508
986
926
42
639
290
111
167
283
348
709
898
554
674
450
660
270
971
687
309
501
412
271
328
852
806
902
205
141
886
224
672
357
691
722
882
475
988
301
456
816
442
805
217
552
606
653
181
275
911
709
197
451
745
788
410
985
841
945
32
53
853
519
573
685
652
822
417
33
298
47
707
31
151
541
599
437
320
291
937
586
315
881
102
930
224
323
721
282
757
69
632
512
699
811
393
926
501
704
235
917
615
240
857
3
685
167
350
540
180
384
28
768
333
655
867
579
453
129
450
891
977
47
913
992
156
90
196
567
878
270
301
201
943
314
915
137
30
618
316
870
838
569
809
474
799
162
994
84
244
969
557
545
773
47
208
70
636
232
112
171
838
509
69
278
502
788
454
41
159
325
712
369
726
518
418
158
910
390
521
187
551
977
554
979
169
778
655
899
494
248
162
545
140
409
357
152
657
855
127
280
39
946
499
274
560
729
737
431
856
29
810
814
901
880
503
532
587
151
645
726
368
820
764
635
854
834
979
340
183
99
575
836
863
326
573
614
934
837
837
680
532
808
779
377
528
698
51
340
166
879
873
723
301
650
92
500
595
478
7
302
26
911
31
245
815
519
190
2
327
767
946
420
393
936
521
479
629
681
840
976
534
906
616
463
423
321
319
837
619
654
849
572
170
937
155
643
500
809
891
504
691
888
282
681
852
959
386
575
808
474
805
34
548
738
771
457
51
285
737
340
575
967
925
361
661
257
895
736
963
239
341
489
951
288
721
577
676
274
899
793
30
245
314
753
270
773
55
764
253
317
826
996
80
663
90
876
442
395
608
253
99
116
618
108
705
856
401
47
584
506
104
252
938
821
760
916
798
650
236
572
116
546
633
955
175
298
892
597
893
228
754
857
559
560
402
664
509
270
854
233
974
161
439
697
997
396
70
576
179
833
275
2
811
808
457
532
305
561
401
285
104
790
388
247
664
611
354
259
588
662
820
137
514
419
237
815
358
50
365
992
792
193
314
457
488
271
138
843
773
792
537
740
800
89
684
78
817
632
348
757
253
577
411
432
930
187
866
293
145
324
449
0
397
939
266
718
748
432
505
961
568
603
387
280
92
571
336
999
226
114
636
10
340
976
456
398
12
261
400
571
632
572
479
260
545
247
543
783
861
730
972
842
956
638
534
164
356
779
248
408
251
192
590
221
763
647
169
634
184
251
422
559
480
354
329
320
395
741
157
933
131
851
391
735
712
310
720
416
539
950
506
948
462
980
718
336
114
568
446
902
48
902
147
260
530
617
88
728
29
74
286
370
767
4
371
576
226
729
16
789
816
909
322
309
785
176
367
176
362
976
850
830
910
37
884
848
342
927
837
597
60
794
640
681
898
300
420
656
632
6
474
134
903
857
988
58
649
336
294
416
694
722
102
102
744
677
623
366
958
972
190
697
786
171
931
833
738
107
540
374
930
127
444
879
180
506
566
182
423
129
278
450
458
67
213
121
861
382
113
104
348
325
387
375
537
24
548
328
187
397
824
295
522
243
96
992
474
580
789
907
413
529
748
639
296
980
254
353
260
739
473
653
912
487
425
163
563
898
307
171
988
481
549
170
979
759
21
420
461
597
751
821
292
330
723
484
841
266
252
486
915
249
835
446
244
929
485
291
415
848
913
504
992
733
323
707
26
408
140
530
303
630
598
903
267
476
714
809
69
41
928
806
491
944
536
680
882
106
188
735
836
686
242
515
214
302
127
880
565
424
351
725
198
772
604
371
415
96
756
668
897
820
932
497
540
252
292
837
527
360
260
704
772
306
449
714
733
537
613
92
137
694
338
895
916
828
541
157
882
104
942
741
494
964
401
432
226
151
251
31
556
734
25
573
105
383
117
32
328
928
824
736
221
145
256
279
759
308
808
346
235
552
801
45
197
782
70
314
770
772
761
503
112
73
486
276
924
766
271
361
772
471
560
283
948
173
197
897
510
778
196
837
351
790
96
522
210
450
932
646
168
210
539
673
949
744
983
938
453
572
514
439
755
320
506
618
475
350
970
233
520
294
84
108
158
451
604
445
568
348
555
739
738
528
548
115
507
382
876
737
887
332
348
627
993
565
977
542
599
880
140
477
75
630
319
996
605
539
924
913
728
678
653
671
315
308
896
422
290
903
708
162
986
895
718
755
918
343
382
711
685
12
680
176
522
902
993
385
735
539
158
82
641
355
395
664
543
199
540
816
461
893
936
843
299
388
200
14
204
552
371
720
122
67
41
834
269
919
689
954
457
271
167
683
422
80
300
399
770
37
788
919
601
860
354
554
784
246
13
502
356
989
250
278
799
252
409
421
712
874
370
760
959
363
419
78
819
167
925
984
711
577
99
835
630
770
23
619
799
198
817
611
957
21
405
940
775
395
917
105
428
729
304
953
434
297
343
206
172
924
839
629
981
477
293
441
645
273
428
696
312
840
180
172
531
799
582
96
415
541
406
561
756
959
562
20
65
330
578
621
820
247
77
333
805
405
422
400
324
82
813
482
704
765
524
524
949
50
956
463
13
227
6
918
204
795
439
278
184
612
279
807
148
723
269
748
671
697
476
397
107
14
23
792
41
862
645
740
888
516
633
133
804
267
849
860
394
692
405
78
120
464
911
103
889
19
128
728
726
279
263
458
434
576
750
718
369
132
953
203
853
929
160
108
536
475
871
715
438
229
443
675
799
32
986
966
300
517
754
961
491
19
26
595
757
178
700
704
824
435
671
437
182
125
92
647
423
901
935
467
949
252
841
484
343
224
92
146
188
589
605
22
739
580
698
978
770
490
197
937
403
509
344
552
901
526
890
338
778
312
164
256
405
841
444
55
90
731
731
90
109
288
465
350
149
375
443
785
9
464
747
408
819
790
5
161
852
608
724
864
524
498
266
341
693
977
982
155
380
516
292
304
453
182
859
26
215
746
215
904
158
515
597
409
78
866
115
239
252
526
203
990
206
177
801
705
704
658
726
894
913
398
577
621
621
584
546
234
812
769
587
363
200
613
721
963
961
570
681
44
697
692
982
677
486
428
605
74
84
455
946
475
103
973
326
149
503
567
538
547
372
570
682
447
331
232
598
737
364
73
87
502
724
961
182
271
323
898
783
78
134
623
995
422
561
339
706
766
994
273
674
427
168
973
592
664
859
198
540
528
696
48
717
148
760
63
364
900
927
322
7
917
349
330
473
693
512
292
265
5
75
971
241
943
695
204
368
21
808
627
916
744
124
555
791
9
868
141
350
570
774
11
574
24
497
3
307
123
740
820
542
582
846
295
121
846
613
849
845
794
56
354
915
887
776
976
270
160
774
638
905
590
105
321
705
117
164
425
295
103
641
885
158
444
941
671
997
575
390
588
595
854
355
331
318
718
247
408
832
897
871
786
466
130
674
10
486
732
906
586
4
968
366
552
932
180
304
790
41
873
665
922
111
456
747
862
830
247
34
926
663
34
791
791
45
7
166
795
4
204
192
428
582
263
90
645
109
211
237
654
780
840
520
570
2
820
927
52
233
272
440
415
115
142
889
580
943
920
862
372
208
108
970
317
391
9
996
658
523
128
548
18
420
607
75
307
547
643
273
708
754
325
34
454
476
987
932
587
983
627
320
186
965
561
870
717
910
434
618
843
2
174
195
781
262
667
734
834
392
232
201
269
917
752
317
183
718
910
532
807
24
144
720
71
744
687
100
80
574
403
399
58
381
986
267
272
33
911
52
734
464
191
774
643
106
58
673
865
811
568
154
319
288
191
503
488
832
705
857
446
31
158
442
975
528
258
373
456
793
403
805
515
259
611
353
822
238
442
496
850
309
3
335
901
489
408
425
218
879
401
553
477
274
118
940
107
606
265
785
575
624
437
523
567
634
452
767
564
995
526
750
923
743
101
308
951
863
289
358
763
468
165
492
339
559
619
617
106
524
571
806
639
34
33
459
361
654
732
412
922
227
980
809
896
830
505
600
241
552
359
794
726
701
542
873
434
534
67
182
909
215
629
716
513
701
357
484
211
38
27
486
727
496
603
322
101
324
142
825
179
371
994
483
983
281
436
497
66
319
271
913
740
489
155
736
233
916
389
967
833
540
808
779
82
179
438
35
953
826
685
865
2
338
461
929
392
690
584
657
943
991
148
812
103
534
513
605
560
715
2
169
938
530
601
615
783
504
921
444
993
453
122
793
832
786
310
407
231
29
619
90
579
391
134
632
474
221
29
885
41
401
211
169
736
517
954
897
121
325
93
392
488
381
180
366
854
960
227
94
904
523
341
87
535
136
879
629
726
818
119
126
577
75
698
93
422
730
886
957
729
745
673
707
402
718
325
452
597
875
194
65
224
324
534
853
401
387
194
155
740
716
74
305
535
22
467
160
299
31
493
998
110
137
204
593
642
26
879
574
956
799
200
537
971
166
483
476
904
585
493
21
295
223
772
480
648
333
438
633
734
902
671
607
493
511
724
824
500
668
986
870
649
733
931
497
112
945
503
909
53
57
670
526
140
71
178
957
161
805
49
213
815
117
791
186
7
862
667
928
455
601
357
257
976
964
799
645
490
697
526
691
937
36
199
489
848
66
131
368
45
853
492
117
814
282
42
43
181
202
127
578
803
849
496
691
512
124
557
9
649
517
856
86
662
350
777
609
656
479
85
688
705
237
556
737
341
828
355
215
182
557
647
169
379
798
114
159
438
691
640
984
791
926
850
365
758
440
677
801
920
872
616
124
343
673
952
24
357
444
54
219
868
456
960
236
944
127
141
116
25
278
863
10
378
977
591
389
535
673
501
560
491
506
658
810
292
566
817
257
559
722
328
172
685
581
562
30
85
393
84
395
187
374
543
301
858
513
574
976
128
604
777
607
651
331
102
766
680
813
76
340
987
220
422
920
960
718
497
300
405
121
925
176
777
457
422
888
375
871
728
343
478
813
583
859
691
8
179
738
732
307
539
475
986
964
180
845
561
565
929
824
961
572
909
92
529
754
675
758
986
66
221
750
660
820
911
666
297
578
318
536
384
842
901
668
331
132
335
682
831
106
370
402
853
17
842
319
454
390
360
139
49
617
123
960
959
755
479
659
696
881
392
773
99
825
964
8
414
246
409
872
920
670
499
403
513
667
42
701
207
943
521
574
253
476
473
405
91
329
985
239
454
632
710
419
820
365
860
820
934
715
457
853
996
655
480
663
87
17
148
365
243
336
377
880
121
64
579
524
102
47
880
587
362
147
548
146
49
660
499
460
865
848
881
176
399
984
500
786
553
16
577
302
813
752
41
610
419
931
423
8
802
833
546
874
365
712
929
634
711
211
633
702
389
471
306
216
299
653
605
987
190
784
939
867
325
88
407
564
987
390
256
836
593
194
690
977
323
965
84
712
589
269
698
180
605
930
797
774
656
435
324
724
874
653
480
974
922
534
506
600
123
396
726
404
643
914
663
202
235
127
442
35
756
635
948
867
318
985
143
794
682
421
796
226
696
150
663
418
57
167
142
70
884
663
884
705
100
412
221
969
914
445
220
499
609
413
587
435
306
668
798
997
511
280
85
771
330
734
465
116
323
526
974
728
736
555
592
198
902
708
613
816
28
925
232
566
858
335
54
316
957
505
44
539
778
290
557
627
291
790
766
332
833
477
955
655
996
834
81
245
356
147
664
315
14
130
559
122
295
668
146
966
488
903
607
898
89
473
489
669
424
677
463
856
301
202
764
503
749
844
565
501
153
413
365
487
500
248
683
7
406
969
81
619
498
851
961
736
939
885
874
603
502
574
155
955
445
863
880
827
219
201
206
436
251
123
245
768
889
57
749
697
986
141
11
208
921
690
397
899
921
106
924
575
716
972
283
671
370
369
368
335
488
92
757
894
143
973
409
319
470
186
102
861
444
83
187
389
727
7
46
461
294
470
832
758
814
83
201
723
785
476
577
58
458
551
625
273
376
652
363
101
69
525
146
813
265
247
783
888
895
228
821
599
987
325
153
445
833
128
281
133
218
232
997
103
700
151
356
727
35
932
112
986
312
774
152
68
907
525
919
834
983
251
145
793
7
820
9
268
277
140
574
366
183
919
471
469
322
58
850
637
390
606
328
30
235
271
355
946
615
524
662
191
80
676
455
618
143
646
740
329
644
827
15
598
95
707
986
80
211
664
114
991
947
680
346
274
473
769
471
888
221
808
678
24
900
653
311
226
925
632
355
412
84
212
622
919
383
200
369
349
916
798
399
517
537
988
107
465
421
687
689
66
689
171
501
360
120
312
171
794
524
251
799
774
755
709
901
455
384
276
355
330
58
746
749
695
144
90
902
960
601
214
258
221
830
216
0
219
668
385
670
257
823
590
707
862
296
991
218
273
35
240
858
475
358
522
69
848
811
679
564
220
379
692
209
883
855
581
292
578
694
285
327
227
113
24
806
169
55
6
825
259
704
424
103
362
965
426
999
685
109
294
816
408
288
512
715
145
335
308
565
481
174
328
410
936
291
353
635
289
525
449
408
230
297
598
435
587
785
882
641
558
916
262
194
199
648
287
15
912
660
814
636
571
852
315
628
764
473
976
247
511
718
455
803
780
538
314
449
432
858
235
49
358
95
729
485
778
128
722
346
18
23
772
794
654
899
715
826
482
889
77
602
881
649
588
625
565
713
653
525
196
264
40
583
438
823
824
165
884
178
121
348
801
915
90
844
239
266
710
159
592
690
907
638
709
653
975
823
115
367
172
277
796
892
840
77
68
410
213
864
331
322
864
538
583
829
815
942
160
944
298
267
621
609
967
270
911
246
398
455
371
711
837
330
170
513
377
173
245
226
555
138
492
124
773
735
790
145
425
583
107
539
840
260
767
936
115
620
884
134
506
325
516
28
863
589
454
625
720
542
265
797
14
24
739
204
305
813
264
212
42
783
818
253
455
612
667
934
707
93
211
570
182
875
336
792
828
659
573
633
191
352
976
483
870
465
264
110
874
438
342
252
155
67
720
986
545
770
212
687
282
885
663
405
557
393
280
993
851
64
924
162
60
207
32
95
409
659
53
837
127
390
576
531
745
427
488
782
501
498
521
222
594
7
502
618
517
904
983
556
759
631
805
845
367
896
392
29
392
50
263
494
675
194
99
294
320
302
434
347
111
877
3
371
280
373
47
142
357
406
856
164
103
706
386
655
811
814
275
982
522
900
467
12
529
32
155
110
736
996
959
859
826
596
556
995
537
384
795
330
421
685
531
382
106
373
724
194
310
761
114
445
934
74
662
345
480
478
835
503
552
745
750
980
90
263
116
391
407
434
482
945
949
738
259
878
994
755
183
201
99
856
510
448
616
20
237
55
245
238
442
940
423
193
172
355
706
901
29
146
594
200
584
362
504
950
438
265
307
742
61
449
912
382
195
452
230
944
537
301
169
350
958
752
38
271
320
555
583
325
362
639
524
735
684
640
164
510
761
388
848
187
532
156
152
563
458
337
472
25
561
837
777
411
577
293
45
288
7
743
317
706
812
658
577
775
454
204
333
171
169
423
619
511
400
216
402
253
923
414
381
70
1
671
908
594
34
877
732
550
413
253
574
523
208
770
445
593
529
792
252
363
470
103
363
31
986
14
32
156
366
561
274
393
504
972
41
595
84
744
161
867
938
297
299
692
430
778
897
577
707
274
917
485
327
258
807
348
449
454
54
917
678
831
112
325
793
25
745
679
859
951
535
311
850
188
547
28
215
545
252
829
844
83
251
756
843
769
879
446
458
12
169
35
150
402
33
160
696
517
637
214
643
10
685
816
425
352
401
606
44
649
373
105
2
556
867
11
710
411
363
412
472
740
717
193
149
571
682
92
226
477
555
134
111
913
45
920
565
835
439
222
77
988
234
471
40
314
345
663
855
530
248
66
759
760
990
131
752
332
164
337
595
776
835
864
138
379
619
886
445
857
383
272
606
777
823
539
68
781
69
73
454
222
36
527
266
73
258
831
958
729
332
471
897
613
264
118
915
188
227
738
42
369
137
360
54
465
774
265
105
699
383
615
35
133
908
244
230
275
17
157
348
74
70
634
466
302
861
965
496
528
761
820
225
232
758
987
466
406
269
122
389
177
311
450
975
41
911
994
794
567
360
603
286
148
76
597
233
107
247
855
567
64
357
829
626
330
411
482
560
413
380
665
361
449
249
322
544
684
474
873
177
958
162
2
32
42
436
354
726
571
35
567
669
902
942
779
440
750
115
295
729
511
761
783
454
854
425
704
428
465
422
716
543
729
859
439
500
99
551
908
694
690
610
876
204
668
122
394
59
452
794
306
125
769
977
734
191
81
545
778
64
453
664
903
35
762
142
434
152
873
514
230
814
658
918
644
130
875
674
210
990
687
741
807
414
571
151
934
538
143
26
945
191
822
716
427
990
574
176
192
441
50
895
92
720
915
157
799
392
526
634
703
752
564
652
509
861
317
342
752
72
796
368
217
387
800
620
136
283
381
787
42
48
235
395
566
562
657
786
49
964
453
93
849
733
219
293
561
194
579
517
782
631
747
710
231
101
781
483
512
655
862
454
482
816
121
662
984
986
295
47
183
436
201
334
615
100
144
956
601
77
404
836
25
183
766
462
128
562
133
721
668
811
998
6
129
926
75
161
112
208
62
128
944
556
718
250
600
564
603
873
673
412
233
876
990
368
886
557
860
652
127
983
869
224
460
32
751
83
845
943
403
461
978
501
580
46
431
663
330
480
445
759
358
738
414
709
112
32
633
936
613
213
30
797
604
330
454
432
532
74
41
609
686
497
277
156
282
476
440
832
669
544
985
924
701
156
556
946
375
233
528
17
55
667
47
411
727
43
758
101
999
331
408
308
678
435
624
555
668
957
90
343
856
44
496
241
743
914
25
405
796
507
987
52
481
363
714
262
175
54
500
553
1
70
740
534
629
38
832
160
198
240
467
244
400
245
3
774
417
753
684
962
261
953
506
642
356
974
128
546
744
660
383
805
89
571
323
205
992
882
427
733
301
298
702
871
245
371
668
603
288
211
912
649
538
317
382
214
145
743
916
160
93
89
894
500
417
757
815
367
797
730
662
926
613
791
888
897
385
661
245
577
158
735
23
171
185
74
331
12
710
317
967
310
12
848
996
249
406
387
455
614
270
80
259
735
381
553
299
542
110
925
477
999
50
747
156
204
90
45
666
6
704
706
527
781
642
445
498
149
960
565
539
218
801
164
273
254
391
604
613
590
35
181
923
500
512
274
4
689
104
825
633
895
767
260
852
725
18
449
40
277
851
40
342
214
805
729
267
652
349
586
588
253
707
376
48
268
712
454
174
418
918
459
612
818
750
141
923
114
175
570
14
622
994
553
323
212
133
381
35
219
894
125
757
188
582
360
792
518
696
422
874
293
534
461
175
74
541
615
981
41
701
850
978
18
708
601
340
760
251
98
729
508
41
198
563
48
643
959
249
363
603
553
303
268
848
554
153
647
53
859
422
830
869
409
693
78
748
178
690
177
567
773
51
186
390
284
464
993
304
934
228
521
810
795
318
714
540
47
547
390
526
598
762
65
399
498
298
420
515
953
912
654
784
500
600
590
909
923
366
932
465
970
468
964
949
754
37
758
660
580
275
487
19
286
519
336
391
258
120
932
537
952
921
755
71
22
880
985
159
962
376
545
141
945
663
816
907
783
594
101
964
788
666
891
953
298
286
460
734
850
862
105
38
482
329
606
440
76
310
573
394
494
14
953
297
677
748
217
259
282
991
862
148
478
115
940
23
54
606
87
278
262
923
555
775
41
273
297
211
596
234
664
573
39
967
433
104
635
359
255
715
649
485
942
463
620
3
820
51
137
624
14
315
191
802
905
542
543
746
583
318
663
961
458
349
503
950
132
422
321
744
329
533
489
177
988
149
524
629
279
826
718
755
472
575
991
374
656
90
467
469
602
802
9
117
989
912
678
74
322
756
326
896
278
890
200
6
918
852
207
390
907
559
604
332
104
89
85
388
682
571
931
684
439
635
256
823
854
946
457
813
797
418
726
903
588
64
940
57
166
216
772
247
123
196
766
541
696
867
854
882
424
873
822
940
371
963
305
264
552
705
621
280
607
482
782
501
379
725
331
22
77
609
484
671
493
468
327
892
352
744
771
638
675
313
197
629
450
162
72
25
498
205
909
650
848
724
368
780
374
463
807
250
734
414
121
893
460
751
63
352
492
307
709
522
378
630
762
548
965
585
252
219
648
358
204
57
302
115
345
678
76
636
333
518
852
688
226
180
81
284
147
980
615
928
719
273
816
894
389
241
870
637
46
95
536
645
205
433
294
454
140
395
580
737
733
877
528
438
919
632
351
88
533
661
802
851
510
991
792
584
841
900
116
485
126
955
130
160
231
236
845
215
419
860
112
649
387
959
74
139
163
25
409
841
843
321
842
822
172
35
13
707
545
318
978
391
675
626
603
348
686
2
796
452
380
77
901
707
409
571
120
247
321
942
997
974
612
500
776
548
332
923
918
590
853
955
192
916
851
582
737
687
443
80
268
250
752
913
900
387
502
736
226
348
596
910
587
556
264
166
811
488
364
306
550
215
65
489
688
726
265
551
303
162
617
470
496
989
794
912
247
279
535
774
457
590
302
461
265
668
450
955
582
737
249
260
825
463
849
43
874
306
444
475
475
150
371
90
172
56
797
819
243
489
527
617
479
352
321
631
948
291
219
629
940
592
513
232
597
270
234
935
949
866
633
291
427
49
52
976
457
840
32
288
537
730
463
910
931
163
650
161
328
690
49
845
150
726
537
906
168
479
647
789
290
711
609
917
74
68
855
269
882
595
83
491
628
461
814
925
838
396
15
224
866
863
993
64
528
894
657
571
562
651
873
325
659
597
670
94
85
202
253
303
715
126
371
705
284
710
697
670
428
299
422
559
267
297
754
514
897
514
771
737
711
683
113
79
229
849
14
781
640
431
974
739
600
906
110
666
719
420
590
232
465
539
752
62
90
312
877
377
192
960
306
212
347
164
123
908
937
796
660
526
771
604
191
308
537
209
389
616
328
179
432
676
471
600
900
665
129
508
848
718
895
559
571
466
653
760
703
648
512
813
233
650
492
564
85
593
980
368
535
700
954
584
24
462
898
816
80
578
57
833
984
871
59
215
559
774
510
551
256
965
131
806
263
408
265
56
590
77
319
710
753
620
926
678
61
208
494
135
972
637
830
770
694
297
416
340
120
398
914
802
403
735
234
568
26
274
813
161
95
141
619
876
617
521
210
979
374
468
145
132
750
943
530
811
532
183
169
733
250
111
617
898
604
481
162
175
538
381
846
96
803
762
914
239
462
265
231
925
192
72
954
369
95
864
654
79
123
517
340
273
268
413
167
933
337
711
394
188
626
346
909
518
821
671
755
398
476
276
771
803
681
147
672
562
903
391
258
34
883
739
578
461
914
333
425
534
35
404
39
959
462
309
618
609
843
793
449
120
841
862
148
406
507
476
312
381
911
136
778
473
673
886
606
512
422
450
953
4
848
869
501
482
616
425
505
434
963
478
247
29
898
593
97
314
937
703
760
781
542
551
863
798
201
567
733
545
57
703
37
643
981
72
449
418
205
460
660
410
119
363
24
375
365
20
748
773
726
871
591
28
302
225
120
473
35
303
374
790
113
226
424
390
479
219
864
403
704
29
180
483
961
850
819
850
678
183
850
953
659
508
978
477
629
500
311
302
367
63
670
72
279
415
400
949
211
247
809
75
987
124
419
775
402
482
993
64
364
189
679
702
576
707
22
500
341
882
416
799
3
181
209
611
541
533
645
302
94
236
386
2
596
901
141
664
437
816
117
40
308
749
110
941
835
360
766
488
622
306
226
321
850
250
134
172
163
120
815
9
753
540
361
904
218
134
324
248
441
420
771
835
532
884
841
685
281
1
455
319
741
897
608
605
626
755
208
105
137
907
646
486
668
458
312
531
786
810
391
102
150
403
322
795
275
941
754
689
772
95
455
813
582
270
392
97
623
507
159
62
896
183
507
926
208
628
367
804
666
950
245
184
98
835
957
73
694
528
138
55
958
410
533
148
749
993
40
914
519
800
923
914
676
189
581
85
808
907
681
559
609
44
902
51
652
156
72
459
406
878
157
200
860
959
685
575
471
491
321
58
623
278
161
452
838
83
183
623
799
732
28
110
274
859
865
323
941
766
397
38
993
773
99
613
879
356
232
903
120
819
902
809
852
54
211
472
291
96
387
280
65
257
943
939
299
873
784
50
508
618
587
702
227
432
296
139
994
467
64
977
784
313
590
536
887
588
888
244
247
77
625
610
965
973
843
833
983
51
948
819
992
495
828
141
919
79
302
90
199
851
232
26
117
221
718
396
313
792
298
466
286
492
96
552
202
383
227
535
329
322
258
375
417
247
619
119
136
898
572
349
94
990
350
254
709
721
779
369
360
396
506
434
408
177
322
553
500
427
51
352
694
482
251
459
367
868
372
165
570
540
494
775
874
642
964
163
224
341
287
63
239
226
593
874
825
55
672
427
936
834
905
112
51
862
756
446
640
888
532
865
262
297
88
520
716
163
520
455
490
182
542
342
637
868
480
707
494
251
283
377
972
688
85
595
917
883
859
629
605
156
102
528
899
285
74
60
268
992
619
434
734
622
17
994
634
86
630
559
187
370
352
337
56
626
219
719
642
314
41
138
616
475
49
318
959
349
448
844
131
692
475
689
877
771
398
441
4
194
507
366
502
183
181
498
725
344
970
511
999
202
990
974
788
891
572
726
869
199
289
588
408
692
172
37
746
228
345
673
467
992
450
570
340
635
0
128
304
483
123
945
291
909
860
369
423
900
860
63
664
614
963
598
269
944
233
369
104
128
13
949
328
475
193
762
822
164
552
250
56
602
82
736
243
443
418
739
212
563
956
255
12
758
618
60
451
214
106
852
58
530
58
423
492
988
295
496
399
112
811
402
119
487
174
185
822
313
613
205
549
804
824
348
85
936
344
952
38
340
112
660
592
4
572
104
832
402
865
746
820
795
380
203
526
590
716
656
944
660
126
919
595
492
227
646
606
767
771
840
372
578
674
144
940
107
485
598
97
74
185
129
945
438
629
131
112
726
837
942
998
613
277
763
168
557
951
360
328
819
174
916
481
204
80
122
99
680
377
666
182
2
934
319
341
331
497
810
938
486
22
180
740
845
792
515
924
502
821
755
508
212
855
945
966
441
754
537
144
290
660
231
199
920
45
164
270
428
457
888
752
360
768
676
7
181
876
684
826
830
699
871
172
751
55
660
966
986
846
679
29
499
614
857
257
505
717
171
191
105
95
543
972
625
796
118
491
835
204
726
949
253
932
653
246
155
428
977
531
986
517
765
535
221
973
109
339
326
550
727
927
375
234
506
446
195
764
897
774
105
272
129
9
918
552
59
527
6
629
950
608
291
902
454
372
575
722
944
353
808
914
33
969
953
781
123
954
649
399
605
734
305
398
492
604
156
443
19
183
499
870
241
189
176
833
873
926
490
6
77
526
53
884
275
184
113
714
612
295
349
75
351
703
570
842
376
593
28
676
247
565
547
308
779
832
714
93
266
811
517
518
997
402
467
591
560
404
2
398
427
22
712
341
650
902
998
787
742
430
166
997
907
729
961
35
383
832
735
808
928
935
767
434
169
433
710
307
901
105
811
560
37
294
463
923
798
542
212
774
748
668
616
330
195
334
41
960
688
313
314
304
341
947
451
810
975
352
168
418
816
861
175
417
546
691
343
854
455
200
889
908
402
605
301
931
902
82
125
738
972
585
257
58
123
504
238
15
937
767
651
874
990
429
327
407
596
672
543
232
940
10
281
489
482
717
129
267
574
135
422
397
335
915
125
494
702
209
784
844
235
719
757
726
849
702
282
579
45
837
556
251
134
903
891
358
758
476
286
195
805
343
361
976
494
525
941
270
660
997
220
431
853
221
916
742
164
953
583
481
831
715
396
253
869
900
9
107
427
229
694
576
376
305
397
707
968
730
875
881
52
724
836
728
557
853
80
482
249
418
975
384
154
716
172
76
120
483
238
966
394
130
446
575
976
142
976
919
25
519
785
429
373
99
570
543
892
886
361
570
449
224
250
921
694
657
738
833
28
267
742
88
887
479
826
963
148
831
297
6
972
377
217
71
354
452
54
471
265
234
98
517
900
142
927
553
164
294
386
592
274
894
222
966
987
949
373
902
131
216
695
847
342
22
913
597
362
218
889
344
153
892
33
414
288
361
576
69
81
941
60
718
278
750
547
875
721
681
104
752
463
228
146
207
642
185
211
991
768
462
269
844
519
429
703
733
975
712
134
370
147
655
917
33
388
763
850
508
897
296
557
888
704
460
827
697
731
647
15
423
284
947
308
214
386
304
775
24
149
918
589
394
992
319
123
173
464
884
613
696
136
225
903
272
685
989
975
620
543
427
613
655
40
677
959
921
180
873
806
498
895
134
155
921
355
772
384
667
583
425
740
880
248
405
562
759
47
495
988
650
919
559
286
908
356
958
838
29
116
796
349
676
982
804
422
866
355
364
589
750
43
311
309
65
320
777
919
44
927
137
564
978
34
895
474
599
442
355
7
298
387
863
380
94
676
314
396
993
357
512
94
19
376
604
78
621
235
215
681
899
541
592
664
677
399
660
776
948
572
728
791
114
511
226
132
470
351
272
953
921
593
21
790
628
755
160
833
13
656
174
981
971
272
224
560
934
392
885
176
742
220
789
98
205
763
776
846
817
197
758
876
180
510
856
160
106
42
544
144
357
736
867
942
230
754
435
342
615
961
41
439
528
492
961
875
151
345
378
989
966
576
474
875
779
705
438
502
317
973
756
880
214
224
565
462
280
324
944
956
229
635
661
443
977
162
552
675
275
968
331
180
867
285
646
528
460
325
872
298
639
904
432
809
321
605
655
489
775
36
698
64
712
83
547
260
397
732
468
211
943
617
142
285
179
253
67
361
573
553
632
728
761
605
430
377
450
867
980
477
402
286
305
402
734
858
785
750
885
870
607
452
10
550
139
362
332
537
438
809
75
251
649
176
437
258
860
163
798
382
45
327
128
620
329
332
773
115
609
444
384
288
531
430
77
747
909
147
829
571
223
328
943
866
475
148
631
979
473
744
204
118
26
735
804
720
773
833
173
447
288
502
871
232
137
234
715
670
687
941
422
462
588
127
895
861
608
446
267
456
40
256
993
32
725
578
937
426
384
177
780
207
803
186
981
378
84
422
788
597
326
178
449
384
974
752
785
499
521
265
442
833
443
704
817
852
451
474
880
74
844
15
947
829
109
984
756
669
573
202
135
300
163
663
888
372
756
209
657
54
791
596
863
582
436
81
391
803
839
168
970
608
808
34
831
748
632
951
884
197
736
911
864
977
468
296
805
153
827
779
668
249
358
59
930
501
169
763
293
155
134
985
174
851
720
725
254
64
862
904
780
597
20
118
401
698
149
479
242
505
990
249
391
129
409
142
204
894
572
256
347
773
149
792
782
712
167
869
241
379
219
474
530
136
69
516
601
784
460
181
654
439
545
11
80
613
883
384
220
523
751
305
424
447
822
267
503
478
66
897
432
971
148
690
386
41
19
140
78
63
226
556
247
613
133
38
448
432
517
775
950
109
171
292
803
275
719
687
736
495
177
13
670
70
311
594
998
47
957
330
796
269
847
226
214
160
826
122
309
244
809
363
189
663
98
261
195
77
837
3
492
565
576
606
651
211
231
797
896
285
799
839
267
994
733
441
970
133
563
241
458
876
502
684
637
146
489
385
605
928
321
561
514
810
225
967
520
227
760
44
891
762
189
797
419
735
71
869
245
104
420
55
772
133
228
203
82
28
132
230
761
682
458
940
542
782
361
224
945
754
7
520
483
349
56
317
424
287
179
410
336
568
968
365
156
593
527
358
167
638
458
302
335
424
545
857
517
918
305
342
134
142
324
962
415
770
996
689
836
121
841
775
863
892
21
62
694
469
813
180
903
722
67
697
420
683
9
49
927
682
253
291
960
222
5
907
600
262
499
972
546
489
38
646
340
972
203
377
70
140
491
648
36
205
949
532
705
507
127
722
84
640
774
512
806
152
450
267
961
707
250
134
603
744
449
620
674
555
93
24
700
183
513
681
895
547
819
769
620
277
305
765
284
130
340
937
548
329
560
732
289
762
237
422
351
444
301
544
317
611
116
899
874
845
481
124
422
32
469
397
32
680
849
391
586
432
288
552
715
138
169
877
977
156
981
887
602
162
968
208
283
786
425
263
36
994
760
442
77
926
862
487
624
822
143
390
464
331
913
920
593
496
489
599
87
513
789
914
988
235
884
873
971
272
887
8
847
737
868
271
584
574
296
381
429
902
55
157
26
988
221
753
791
175
73
38
457
908
896
61
666
878
706
63
743
804
835
240
127
120
239
976
823
751
722
20
409
718
933
186
35
305
728
608
795
770
581
299
702
77
631
172
623
87
78
710
99
697
149
658
429
547
817
425
138
969
262
937
675
480
979
280
4
638
561
235
690
81
436
680
487
697
258
683
29
729
554
905
660
501
891
955
782
698
436
161
440
280
236
540
815
410
962
966
818
799
881
951
898
495
885
93
249
557
988
796
703
739
929
8
207
537
826
172
491
986
114
188
149
951
135
391
119
5
499
82
124
30
625
252
687
436
11
429
669
965
127
89
153
838
621
698
379
985
525
779
219
948
644
675
311
767
579
985
312
34
491
936
124
462
458
482
75
106
636
841
300
676
414
355
724
326
738
416
306
276
248
668
948
807
612
102
551
588
743
524
58
649
826
310
929
529
535
866
413
692
148
977
305
289
21
551
690
669
142
77
109
40
962
322
37
635
898
203
549
692
771
253
684
773
667
243
622
350
844
446
918
3
255
696
250
855
515
68
147
816
525
543
890
476
55
544
740
987
778
628
188
526
73
243
342
864
168
163
141
763
340
273
673
5
296
537
795
210
457
495
931
865
827
649
467
763
699
62
742
278
34
242
17
314
122
939
46
153
44
235
633
271
752
879
935
577
152
356
682
347
526
823
560
64
212
934
121
306
716
743
546
977
529
477
463
595
665
48
428
270
863
273
380
568
555
335
393
899
1
566
438
293
691
313
216
572
319
542
723
317
705
63
809
365
800
536
377
508
60
560
79
306
403
214
64
570
293
57
853
326
476
306
921
427
142
290
243
477
418
330
288
778
191
617
943
889
265
184
402
191
490
519
725
116
394
759
503
600
264
497
46
134
975
88
586
322
684
284
136
129
976
502
150
627
731
315
226
857
205
360
770
875
377
402
904
960
592
61
770
399
346
88
778
619
296
183
707
701
447
95
392
724
150
237
874
128
862
277
353
575
198
797
373
314
191
399
0
246
841
786
731
667
949
876
30
646
964
635
407
615
344
993
712
489
796
531
139
677
879
819
394
85
88
80
557
775
705
103
134
206
189
774
156
716
81
90
630
581
406
98
859
687
160
39
867
907
680
332
668
767
30
70
730
288
497
555
947
285
164
330
218
206
722
465
16
282
359
768
893
361
219
456
542
322
18
123
63
577
35
83
540
392
649
84
890
881
347
644
113
232
943
308
117
892
211
481
89
685
896
799
985
47
411
119
977
920
258
65
130
130
44
516
34
749
379
371
988
505
694
226
721
401
933
986
648
811
47
872
402
534
506
87
77
704
918
190
898
547
54
421
610
448
920
343
170
590
991
792
332
203
721
586
820
905
982
577
813
349
181
118
711
743
892
982
996
923
256
900
26
842
177
969
275
154
238
416
56
946
790
899
433
914
933
584
943
796
910
900
519
65
459
442
916
342
835
13
604
533
215
30
525
145
445
120
374
324
385
468
208
386
392
21
447
713
527
346
766
608
224
991
797
788
957
649
84
273
519
202
247
156
874
126
405
575
882
478
246
287
193
56
30
336
640
818
774
10
200
881
591
436
692
298
55
537
10
798
409
83
139
72
397
701
424
337
354
816
259
135
749
836
123
173
871
992
627
211
57
980
399
238
194
749
848
190
138
603
41
109
338
590
547
6
568
272
45
631
750
709
638
952
332
854
384
261
133
30
930
980
457
630
923
827
873
319
505
154
822
683
899
137
655
72
747
151
619
934
161
710
183
263
190
718
807
786
577
269
558
83
711
493
39
293
683
370
837
644
310
208
675
431
350
898
878
156
744
129
944
984
735
309
368
833
457
50
571
233
923
345
425
155
530
8
559
182
586
113
905
202
892
157
733
817
454
880
942
581
443
302
982
385
396
479
239
841
806
162
685
795
528
815
386
173
579
639
874
912
536
638
804
393
91
206
14
423
665
173
466
612
673
854
144
759
243
892
239
776
205
486
52
25
390
431
564
791
882
754
929
181
841
846
223
801
763
633
540
767
730
694
851
563
307
39
386
747
244
165
708
803
333
249
845
670
665
537
859
645
802
30
543
730
319
302
807
988
310
593
86
636
36
22
869
146
547
661
780
592
104
108
141
896
901
483
472
569
871
689
823
743
608
871
462
754
420
428
77
147
789
455
796
836
18
907
196
468
801
168
5
958
261
724
680
632
283
634
889
348
239
714
100
997
625
141
80
711
33
377
385
442
269
208
868
417
660
339
428
167
231
863
388
943
735
431
226
392
929
977
308
254
819
189
676
773
92
890
523
619
224
259
516
194
100
920
597
221
131
984
513
475
510
873
321
319
61
427
774
881
727
916
388
696
817
694
69
49
155
168
228
386
550
672
971
396
87
311
566
571
867
80
875
497
730
129
287
64
833
73
679
459
746
802
734
816
859
693
406
881
620
729
80
511
533
454
119
251
989
938
260
424
327
942
597
810
40
521
917
793
819
545
167
828
31
795
536
372
507
285
147
504
8
996
398
691
881
356
599
156
282
309
263
837
87
5
299
687
337
884
515
506
740
67
624
604
279
482
191
541
448
61
501
447
3
900
331
419
778
210
371
570
977
825
267
454
880
173
662
519
366
556
678
302
750
242
683
48
671
891
35
287
610
578
676
408
538
354
538
33
670
28
134
733
11
708
408
62
740
719
226
789
939
248
793
676
568
657
456
541
93
645
381
244
793
132
445
772
851
124
630
59
899
763
842
951
798
714
855
726
992
427
833
720
972
529
53
169
75
715
470
46
170
257
995
395
36
588
344
138
579
802
65
240
808
839
626
22
468
114
591
39
469
218
107
900
223
216
1
209
691
327
926
371
366
684
5
11
190
295
411
737
672
575
661
448
492
114
983
524
698
82
347
984
694
146
830
702
457
381
550
713
694
500
600
362
210
28
681
812
357
341
493
835
407
541
13
397
430
632
803
941
755
185
173
714
307
823
970
204
973
84
79
357
881
693
330
101
171
493
466
53
476
360
115
907
452
962
13
414
659
777
979
453
989
362
957
346
593
366
362
394
738
774
898
312
443
102
781
24
489
820
397
353
814
414
45
197
273
677
326
384
768
288
244
710
93
486
128
819
274
730
488
572
57
969
64
560
53
522
124
609
194
639
100
194
643
444
976
388
3
193
773
235
196
746
753
816
497
577
126
495
62
466
168
153
546
855
418
361
102
690
503
801
331
913
878
421
432
824
869
971
815
843
278
916
624
2
708
375
166
793
18
585
802
189
261
760
984
317
14
112
999
467
603
56
175
819
312
448
914
202
594
530
912
565
947
804
578
81
459
943
475
825
355
243
984
224
450
712
802
312
71
639
256
15
432
787
410
657
20
180
136
840
893
754
632
397
485
89
654
239
57
118
827
510
885
392
717
617
342
336
987
361
111
775
257
437
924
595
536
202
229
727
5
155
206
654
956
75
576
246
578
352
187
274
268
404
650
109
887
586
262
365
817
271
605
38
186
744
37
596
756
127
358
530
967
939
545
90
688
249
290
923
502
435
2
413
801
864
966
955
39
799
45
779
344
990
552
592
17
531
700
133
31
550
223
97
105
742
36
799
286
728
707
975
862
927
308
405
898
379
731
188
685
181
431
724
201
577
879
129
222
810
407
413
799
185
657
208
395
277
800
912
227
13
523
717
515
690
503
672
752
672
106
590
426
743
919
634
814
895
876
390
892
207
520
696
539
143
71
867
877
105
321
590
239
579
942
165
955
450
484
868
920
190
232
416
456
720
359
885
549
777
303
691
213
590
8
792
969
662
149
248
278
878
431
331
379
150
618
993
716
457
603
502
216
804
341
862
180
774
615
576
368
316
383
84
920
938
59
99
948
532
279
837
609
409
415
564
354
484
230
643
831
532
326
750
368
110
871
327
985
888
498
795
272
663
140
23
585
742
585
256
757
906
143
84
998
146
382
144
95
319
272
839
310
501
103
638
372
879
348
829
644
83
771
102
379
746
62
974
427
217
111
581
800
747
375
953
626
225
47
693
270
893
806
179
837
250
429
503
473
713
525
32
387
83
520
365
338
848
4
411
179
389
301
910
610
647
559
223
79
304
494
519
180
909
223
780
927
635
312
597
932
98
196
368
377
864
788
747
820
637
743
275
332
971
753
148
173
684
174
85
839
0
708
502
685
765
766
377
246
940
456
877
161
851
984
558
323
683
797
46
792
996
850
415
777
659
639
788
129
817
716
887
585
284
183
700
600
41
585
75
127
41
39
737
772
928
835
392
179
733
422
57
662
338
279
790
649
57
660
21
143
472
85
280
172
953
542
608
150
560
86
439
351
461
511
700
496
565
786
967
671
834
398
699
42
110
568
97
682
657
857
863
915
333
143
716
792
510
931
659
78
150
466
399
676
567
696
484
860
850
209
45
693
526
679
996
33
108
263
328
650
341
873
16
617
736
784
976
297
680
89
191
872
460
173
446
925
498
372
973
231
972
910
857
708
268
959
45
30
866
318
235
737
115
314
372
500
887
979
738
933
532
313
969
26
693
292
852
201
310
63
183
326
844
324
969
860
507
769
753
595
531
332
105
720
970
919
163
614
929
881
737
469
934
612
636
27
114
10
398
600
763
395
714
216
434
411
983
643
57
314
696
688
899
331
349
152
797
527
16
415
366
134
653
394
521
59
137
693
66
208
754
31
304
289
458
943
252
580
249
793
491
913
349
89
285
556
71
424
680
447
728
425
474
109
621
643
217
457
684
870
615
728
871
805
451
981
483
688
38
540
812
583
316
884
126
722
522
183
922
888
179
621
634
919
198
34
767
796
773
654
444
916
841
896
612
226
116
418
964
306
177
414
403
882
291
667
709
591
280
836
962
572
965
77
520
889
247
136
467
12
605
458
708
378
645
811
946
217
354
600
433
291
850
859
814
944
167
17
430
871
551
222
518
350
126
760
975
585
85
270
217
268
170
639
819
435
233
227
369
303
258
792
798
634
216
291
119
592
230
274
431
579
22
248
880
485
214
252
562
243
719
88
53
796
889
755
504
819
758
710
540
533
253
916
758
825
929
264
585
303
17
140
298
225
405
613
929
500
336
992
761
860
532
174
913
37
584
463
955
233
833
811
861
622
895
20
977
311
999
67
595
760
770
657
203
466
186
521
684
394
787
428
340
122
865
372
536
916
531
266
998
983
464
86
371
112
520
987
611
329
241
328
194
211
248
404
133
307
943
23
439
67
487
767
851
557
323
876
971
343
336
945
448
803
262
229
132
11
391
337
181
208
666
987
243
55
385
180
239
957
479
1
390
0
926
340
56
654
292
24
372
844
102
694
543
828
702
264
45
583
518
855
531
852
706
277
746
827
730
480
766
683
52
131
612
94
819
902
92
121
624
627
25
379
192
422
963
892
619
596
714
922
739
628
85
761
947
854
319
249
504
84
765
92
751
699
948
560
808
177
735
638
606
174
993
475
105
31
596
140
583
185
68
459
781
601
673
43
941
298
716
507
613
568
10
117
654
536
455
994
936
8
657
403
218
419
353
108
222
842
764
215
670
407
545
973
441
24
616
128
414
177
323
910
334
512
417
353
573
557
569
405
208
607
10
575
268
889
268
941
477
699
230
966
52
940
646
824
58
919
92
176
194
722
508
509
71
180
344
637
387
78
420
991
493
150
382
122
96
93
957
796
355
113
945
167
471
335
613
408
333
75
493
883
212
289
38
135
85
852
219
15
264
345
88
790
490
95
592
12
867
339
64
279
780
281
431
407
360
252
423
997
9
520
468
334
943
494
255
253
762
387
556
675
915
635
363
485
524
248
840
252
207
484
705
91
364
674
466
376
651
524
541
631
292
494
599
868
362
804
862
408
755
449
42
894
771
709
659
181
520
580
757
939
355
27
251
550
821
211
918
61
848
39
318
410
636
729
535
282
616
337
880
616
137
991
159
76
508
724
936
704
759
97
453
605
220
188
286
681
639
285
565
16
558
166
15
163
451
638
842
98
712
729
163
576
337
710
333
320
761
66
252
934
165
531
920
41
309
630
349
110
631
554
306
245
550
168
370
822
758
899
579
211
923
536
530
534
414
579
440
234
147
486
106
636
800
353
676
772
285
913
142
728
335
861
109
230
722
807
173
351
959
853
643
323
480
592
823
754
921
341
437
31
462
475
650
357
945
103
771
68
992
563
368
866
0
121
472
186
446
510
414
708
278
352
884
658
676
385
688
579
308
556
315
630
534
646
972
643
562
824
243
486
789
412
124
120
210
194
397
802
681
918
734
10
356
331
546
796
407
478
352
475
758
365
507
324
408
507
249
153
509
311
124
438
345
723
964
685
203
135
267
394
57
287
926
829
358
626
668
659
851
215
540
604
46
775
817
667
511
716
930
406
430
913
791
814
892
771
857
642
424
53
551
29
215
522
73
147
28
344
923
135
677
357
199
486
95
614
362
94
266
460
368
329
242
52
472
454
522
16
150
2
161
759
640
330
689
686
108
537
33
588
92
661
503
640
850
408
827
997
913
254
643
976
275
938
745
375
68
913
625
636
343
43
816
792
839
7
708
444
741
979
651
139
342
448
445
500
223
115
326
347
632
734
582
730
230
702
409
360
296
699
41
709
830
840
488
472
883
84
81
161
430
176
493
735
387
340
630
146
863
334
604
170
668
884
238
419
183
105
283
305
652
458
677
39
189
659
576
935
417
231
362
424
584
788
557
662
775
110
479
919
906
466
678
999
520
537
275
928
618
692
374
8
260
969
237
850
427
434
911
50
987
864
240
709
756
346
79
164
621
309
778
138
978
187
585
655
608
279
503
976
19
419
301
662
996
823
857
635
431
675
202
328
458
486
956
152
801
593
845
183
114
153
792
346
730
488
691
686
658
604
197
314
711
636
615
333
337
933
762
555
405
734
351
224
973
666
538
945
444
428
177
581
462
493
25
419
333
239
868
373
791
344
72
466
169
538
770
813
760
343
991
135
514
590
257
213
710
752
100
453
90
549
706
49
437
958
738
711
3
906
868
2
804
888
444
777
747
311
802
402
797
139
697
539
625
636
643
282
206
676
890
435
811
142
514
125
109
177
91
542
364
931
642
500
745
385
412
888
825
452
18
581
255
382
971
645
148
639
972
187
47
894
738
662
353
370
716
82
124
95
194
70
948
996
449
706
567
891
708
272
712
238
620
359
227
491
80
965
354
335
896
836
244
669
559
993
836
210
768
554
508
539
343
799
632
507
702
326
372
443
67
77
836
315
617
830
137
935
576
395
361
339
22
183
266
596
73
406
986
497
714
967
683
364
369
793
945
563
859
367
391
156
677
555
458
436
756
103
778
324
923
874
17
196
800
102
924
363
830
528
824
307
230
632
217
586
347
144
774
687
845
925
835
201
28
229
566
123
623
596
863
952
960
999
120
757
808
109
623
148
716
890
6
142
178
402
683
735
179
479
455
850
151
818
576
929
646
467
340
2
3
509
189
903
470
864
765
759
427
698
101
103
6
549
810
726
870
108
818
51
293
852
698
747
930
676
219
278
731
177
385
511
956
220
326
353
669
631
170
211
132
456
971
570
332
71
291
956
573
901
127
998
748
664
546
791
196
682
513
573
829
277
587
838
61
468
783
175
612
4
307
930
836
225
875
890
812
921
882
976
754
896
911
545
188
411
883
661
195
146
970
176
833
322
554
510
394
302
584
31
585
173
704
717
748
254
423
226
449
184
747
141
908
648
862
421
366
367
210
349
859
524
696
757
61
664
593
836
579
851
825
909
124
617
781
598
836
710
565
370
199
190
779
124
405
13
771
966
297
863
524
42
584
132
994
43
605
974
810
809
691
384
396
862
279
44
909
6
458
434
331
64
16
321
311
893
980
926
754
56
768
318
573
771
265
662
526
287
115
945
295
283
508
202
781
567
879
550
101
562
760
729
492
172
443
718
474
991
478
873
978
184
238
869
867
78
865
757
541
753
705
991
12
930
501
26
472
79
366
469
837
392
117
541
804
295
948
655
734
621
988
881
790
555
296
25
275
89
656
498
80
421
367
218
846
874
4
356
543
247
990
953
201
318
872
382
673
758
208
324
435
751
367
929
83
852
954
967
5
260
593
654
58
81
60
204
605
998
981
653
489
506
802
358
918
259
642
210
44
386
349
643
178
278
926
426
408
873
453
919
773
256
139
265
455
814
972
114
86
11
768
902
793
477
704
664
661
988
67
103
672
453
840
564
795
426
124
130
475
118
839
251
63
576
498
630
941
532
110
307
496
500
822
318
460
376
332
123
72
267
193
297
794
118
545
90
586
68
15
434
397
522
140
21
680
227
118
267
544
110
166
169
343
178
82
319
237
763
57
248
950
341
872
687
584
178
863
408
314
834
33
609
861
428
635
564
502
294
179
998
645
546
883
654
302
920
197
577
804
574
370
585
648
592
235
270
832
688
61
246
495
751
475
484
520
569
607
557
59
246
474
988
320
280
105
98
560
620
356
668
133
826
988
635
95
842
332
774
218
140
71
891
28
2
684
197
198
102
293
37
528
527
678
505
681
680
797
355
975
391
122
169
145
925
73
673
616
709
519
393
923
301
932
585
179
985
35
32
444
161
19
968
742
718
974
321
43
411
206
396
167
739
704
321
688
490
757
710
598
232
302
609
690
113
612
808
157
254
922
559
112
945
857
883
716
207
590
200
486
61
290
455
851
678
648
374
975
558
852
857
915
899
911
646
226
337
157
572
688
664
514
405
339
381
214
594
444
399
139
426
292
789
61
880
17
705
293
965
422
5
866
128
454
194
433
925
459
886
738
980
810
918
414
17
452
596
326
442
400
222
394
306
991
670
273
809
487
953
137
301
903
403
747
258
686
68
595
758
804
898
355
168
15
74
651
228
146
184
86
13
57
733
80
381
139
628
705
891
917
26
884
841
592
252
919
984
654
403
939
735
310
801
368
273
573
917
467
981
496
136
797
776
301
622
977
466
368
251
526
615
133
966
748
11
941
318
651
369
892
340
729
323
930
190
574
268
23
614
873
982
907
299
416
376
146
667
89
334
606
977
492
509
133
549
163
81
718
486
166
87
195
621
890
875
672
180
408
903
27
112
368
685
928
304
215
142
723
948
931
747
653
386
249
849
132
364
683
780
382
502
841
449
747
821
764
158
569
36
785
986
54
367
560
663
626
849
887
796
290
707
101
402
438
180
996
121
568
884
640
222
52
625
779
325
143
219
239
998
452
734
367
32
76
385
2
843
153
397
273
20
673
558
254
340
244
705
501
21
360
953
235
559
137
521
255
191
386
649
430
42
628
847
955
728
207
350
693
313
971
360
471
917
503
342
43
450
341
664
590
616
211
92
875
610
49
423
563
853
539
931
341
348
646
54
352
342
857
400
244
273
245
790
515
626
619
208
393
741
488
886
961
427
679
81
897
887
328
519
850
840
769
498
391
35
954
373
672
302
384
749
698
903
121
490
862
889
776
79
650
283
707
611
274
124
866
87
346
86
155
462
916
252
343
831
570
549
270
394
595
432
281
651
991
899
130
399
975
405
904
293
212
887
71
631
866
661
224
774
315
683
698
818
478
893
926
832
549
68
681
781
461
778
807
209
351
221
190
853
327
324
62
380
548
362
285
784
28
596
218
808
813
534
209
618
201
684
747
582
133
23
926
38
385
971
344
30
240
15
908
220
427
985
661
301
277
1
38
614
661
837
958
913
302
714
740
205
244
173
20
828
52
310
268
967
482
344
400
916
629
145
152
770
10
5
260
234
193
647
460
169
260
408
930
483
795
262
329
378
230
293
869
912
657
622
864
849
178
44
44
869
740
44
579
163
231
875
865
345
774
908
950
908
564
340
571
789
279
102
732
220
27
140
699
456
929
193
529
948
479
507
436
314
588
791
939
717
813
784
250
731
619
438
642
563
429
555
670
967
213
105
181
681
369
663
586
544
370
68
752
471
200
112
237
584
393
225
911
744
454
558
576
319
376
979
82
868
771
435
388
126
914
458
259
419
691
825
473
133
299
739
1
123
863
186
372
572
539
317
931
681
729
827
53
278
3
405
434
85
64
94
280
978
714
841
588
474
24
398
936
922
546
681
936
981
787
521
548
292
397
178
229
980
485
19
259
372
485
362
19
373
11
878
280
182
199
282
620
548
512
954
535
814
226
508
51
823
823
268
560
685
421
290
65
533
392
784
822
628
839
336
252
965
154
973
449
481
110
186
464
506
303
389
312
974
371
498
888
537
246
565
494
126
685
851
591
544
148
364
576
778
993
502
800
58
597
472
738
744
269
964
209
781
56
113
360
334
535
474
374
459
494
691
31
265
241
534
368
363
466
558
112
378
38
831
264
223
567
979
658
913
14
523
14
382
709
159
149
459
605
988
839
582
220
135
548
634
539
957
793
148
156
64
728
398
627
608
12
993
705
596
307
422
901
582
841
810
713
58
493
849
917
735
592
645
570
259
295
685
391
102
528
205
337
522
579
636
287
570
360
584
390
297
363
775
692
292
274
60
882
298
517
935
816
902
209
228
952
965
573
121
186
332
612
715
733
642
682
117
882
652
400
518
196
49
461
545
890
790
640
849
518
71
852
459
105
537
175
635
789
716
282
923
48
743
275
201
659
134
675
457
443
152
464
879
826
392
875
448
121
973
446
873
817
198
904
350
152
945
495
734
310
284
919
623
458
966
228
242
593
318
220
283
887
722
306
290
234
232
614
484
365
283
920
198
806
547
319
955
799
47
127
938
37
633
336
223
773
963
947
984
860
62
864
50
153
428
914
416
208
445
287
287
704
838
650
505
433
269
48
330
900
652
804
904
662
43
488
278
896
947
148
419
915
169
656
369
665
55
465
788
372
403
768
378
826
333
629
849
718
620
689
427
654
572
720
246
960
703
757
639
202
492
670
551
286
213
493
282
228
310
208
823
513
362
344
755
451
325
430
102
68
177
359
397
130
7
915
713
477
986
947
591
343
957
138
640
590
75
417
815
183
992
684
519
703
189
781
552
147
982
898
861
623
41
385
630
906
879
430
245
998
198
496
319
745
141
653
920
824
655
989
899
87
265
414
931
910
196
370
359
312
783
955
410
982
669
172
614
981
631
274
997
397
118
432
79
810
168
406
604
520
779
689
65
363
324
602
537
816
892
338
337
75
324
88
145
661
427
300
214
635
459
752
970
913
247
78
62
379
379
588
980
604
955
405
798
636
343
138
443
824
169
892
100
26
220
171
597
957
606
699
820
756
622
256
621
154
235
581
462
980
198
604
300
177
471
890
377
281
958
456
597
493
957
39
194
76
278
653
865
181
473
402
504
808
636
625
545
966
225
112
377
734
481
709
104
682
217
656
725
434
791
777
211
98
606
749
192
308
927
416
833
31
187
489
555
918
235
837
562
577
586
461
73
445
534
908
897
295
203
932
799
866
139
215
695
595
320
559
155
802
958
194
316
123
842
768
325
953
402
276
7
270
52
416
352
133
724
247
231
563
662
865
218
27
29
438
669
257
318
134
754
266
890
964
36
106
990
502
657
688
847
190
244
279
244
753
650
983
609
976
982
805
814
13
966
421
250
362
351
731
865
755
948
444
792
818
260
643
138
234
295
594
575
70
424
168
655
509
977
753
666
54
341
230
478
270
185
450
628
953
411
150
417
919
938
818
704
95
89
397
984
50
899
610
719
683
6
111
744
385
969
702
83
579
141
691
672
916
753
716
548
807
669
462
868
838
393
971
749
878
604
218
435
581
387
165
668
124
103
999
195
138
572
523
718
985
524
598
727
849
790
363
770
525
54
485
704
9
911
766
513
762
154
126
182
34
629
982
384
903
427
963
167
117
288
54
901
229
606
539
489
702
646
351
37
317
492
568
198
811
628
912
111
802
35
157
960
181
42
934
871
586
525
140
427
360
675
411
165
211
49
115
69
297
953
206
583
514
929
540
343
272
939
333
815
549
317
782
225
988
393
483
265
107
945
286
89
950
903
928
901
361
780
939
16
734
184
546
756
459
612
655
504
978
157
972
690
478
565
635
527
911
563
942
206
210
299
840
348
901
897
325
87
596
461
550
779
835
73
710
54
982
35
367
302
520
408
241
848
580
700
278
937
895
0
696
431
121
117
193
395
639
416
404
815
136
928
604
270
864
631
587
665
986
48
851
271
249
208
387
173
451
246
844
355
650
809
193
527
594
264
828
452
885
194
354
125
730
445
515
259
528
88
478
372
267
421
629
774
566
569
826
947
78
665
673
838
904
429
526
274
501
663
244
376
356
45
42
319
833
478
87
247
706
628
379
537
724
725
510
241
183
540
489
317
92
347
681
37
39
965
652
272
960
979
781
92
708
238
259
524
823
672
882
276
870
106
499
952
524
555
640
930
688
922
945
671
852
983
59
209
657
463
111
255
411
558
81
84
956
719
914
820
210
424
877
927
814
639
752
24
940
478
977
541
298
175
250
23
208
960
761
315
206
866
857
614
304
249
776
110
382
106
742
351
236
989
129
637
613
875
958
804
530
132
481
35
894
618
334
22
423
36
214
895
852
615
530
980
650
445
849
792
286
514
974
837
756
663
899
650
534
799
648
613
364
12
942
847
894
722
623
965
328
552
553
85
714
608
74
797
725
725
636
949
501
6
329
987
239
446
813
605
271
598
729
816
990
192
660
395
376
519
868
775
334
899
610
818
192
171
216
252
548
711
557
644
398
165
779
29
20
725
341
674
639
564
642
870
811
978
495
529
919
419
44
453
880
323
578
976
660
660
652
720
152
584
15
818
295
92
893
118
9
954
259
793
719
101
445
472
894
827
725
289
947
855
492
450
734
435
398
459
618
46
641
555
880
423
849
582
745
138
618
608
294
65
479
870
677
481
494
884
438
698
971
116
966
395
760
913
325
650
455
671
867
747
932
676
848
404
182
886
933
802
569
908
251
315
382
627
722
23
573
272
244
200
918
668
928
76
281
285
693
240
26
842
582
516
312
467
507
366
401
356
529
886
944
854
388
302
895
798
231
723
968
26
467
670
315
955
990
530
154
393
539
531
413
191
613
793
933
837
921
389
940
321
884
93
342
705
636
248
206
954
542
899
806
142
582
396
985
917
444
93
558
249
716
475
846
41
204
113
461
844
313
175
668
550
393
716
227
310
160
420
537
807
273
625
32
327
908
451
679
657
228
34
637
129
520
579
299
14
181
366
874
15
725
807
606
997
344
862
193
81
616
930
405
51
751
368
388
539
217
84
465
680
596
175
85
454
99
49
246
502
895
649
818
543
441
11
491
675
71
271
415
157
64
829
657
369
559
763
543
682
400
48
362
300
955
783
121
304
284
761
15
218
269
914
811
386
274
717
895
398
233
144
951
803
242
43
227
377
653
610
854
613
678
644
100
800
165
147
497
804
206
239
100
508
303
966
532
444
344
240
943
129
189
204
868
520
664
629
496
190
633
351
764
441
695
308
785
700
266
370
735
499
375
735
854
951
512
211
695
127
751
901
381
537
0
73
464
248
414
661
54
75
481
526
349
713
225
795
30
200
429
318
678
708
823
146
894
846
792
412
209
634
756
616
447
727
903
898
877
962
218
800
642
940
217
439
709
764
79
34
795
652
118
412
415
929
997
11
648
834
179
868
726
846
105
711
690
967
313
285
606
21
226
618
373
776
249
189
473
237
665
414
399
605
565
404
354
801
20
679
670
403
936
90
29
830
30
389
338
513
307
636
671
654
385
172
842
270
740
268
258
987
266
457
645
795
60
88
984
903
415
118
528
364
943
421
916
81
727
382
621
680
869
428
446
810
691
783
630
374
760
161
146
677
877
106
381
696
485
95
969
161
117
519
39
379
865
693
367
957
779
388
738
459
938
863
7
828
373
724
348
542
470
625
675
179
63
44
722
20
113
414
328
513
106
265
896
422
949
885
642
926
627
863
371
416
812
28
348
57
628
403
632
998
313
891
737
522
630
660
582
902
626
365
942
661
586
683
783
60
848
239
195
596
369
307
898
472
500
829
891
232
309
10
367
71
538
486
140
841
224
178
223
576
826
748
868
351
48
412
249
879
89
541
929
763
391
244
162
297
590
858
84
92
927
750
680
418
477
618
784
217
963
624
624
947
244
712
80
120
236
736
57
664
372
142
908
974
73
649
351
495
573
224
63
139
473
379
399
78
20
395
575
264
383
645
218
377
759
161
325
453
681
108
163
204
351
697
876
4
747
981
57
570
229
926
961
327
975
676
409
201
595
989
528
910
609
13
118
728
904
873
335
135
775
110
660
139
857
618
601
159
710
88
729
489
104
783
224
194
462
356
463
603
322
355
818
807
850
341
789
332
111
377
125
72
367
701
244
203
491
849
910
254
514
627
23
107
40
287
317
397
569
39
465
890
406
777
925
405
955
531
802
335
532
233
68
967
993
598
509
222
369
145
387
192
503
790
465
251
290
768
203
793
896
191
580
760
179
241
511
245
614
624
34
194
653
140
674
708
941
498
521
880
309
585
234
5
67
793
490
863
359
480
659
584
901
195
220
667
867
762
59
532
409
801
420
102
69
649
375
68
893
193
734
692
985
586
457
263
82
349
750
894
607
232
612
521
980
132
850
766
233
596
832
138
929
442
333
223
257
268
683
16
671
137
759
551
450
771
413
686
45
989
222
97
125
208
782
146
741
946
846
768
946
1
846
123
470
412
72
300
767
339
408
964
627
608
542
331
307
527
73
440
400
665
999
739
981
693
917
145
259
838
267
31
203
929
254
839
994
563
26
887
753
624
81
166
938
496
413
652
812
151
883
925
575
446
997
385
341
435
607
564
527
453
357
344
278
291
329
523
854
294
480
55
767
559
754
614
991
238
352
566
2
362
107
708
704
114
158
518
803
46
42
610
274
614
924
271
629
627
374
947
878
290
248
342
714
976
669
105
651
803
898
666
205
422
23
715
569
838
379
116
482
926
500
610
914
788
209
298
84
512
329
157
169
453
346
476
884
713
444
312
858
216
692
525
423
714
926
386
278
585
992
708
294
240
207
392
124
253
217
441
661
103
617
186
385
498
404
171
322
705
583
588
65
43
474
571
653
259
931
973
212
399
659
295
812
982
912
996
833
154
716
309
477
364
746
809
618
401
170
227
252
322
276
699
525
422
975
524
325
322
500
368
171
906
309
668
204
364
56
546
530
741
946
73
840
418
685
332
969
447
484
222
135
810
940
695
973
799
10
345
258
388
27
703
634
819
370
575
149
915
550
968
77
616
775
405
768
998
672
644
987
806
936
689
985
912
31
393
619
281
200
366
120
399
918
980
55
499
897
873
467
459
758
254
316
930
552
257
408
545
670
615
823
372
509
52
503
108
682
859
124
645
643
507
894
668
124
839
104
723
228
906
555
375
54
369
469
193
712
556
1
786
526
870
642
260
542
566
592
825
71
653
766
589
263
798
999
79
579
854
339
702
757
667
811
597
510
689
165
45
840
171
600
647
444
850
727
984
774
409
359
183
609
842
438
765
772
186
414
626
167
531
16
886
543
885
312
349
349
670
711
44
213
254
77
629
898
427
603
175
229
426
858
169
532
479
767
444
174
823
984
379
494
18
665
557
966
213
813
91
47
662
6
549
60
216
837
747
362
811
875
995
704
292
142
651
103
456
819
86
603
973
631
466
142
357
133
558
477
811
327
880
30
573
64
290
85
102
750
350
768
10
252
872
178
458
62
221
213
208
294
620
350
79
969
713
569
58
900
960
703
829
212
992
45
425
206
93
35
162
68
263
623
777
405
515
287
55
812
601
629
883
232
99
844
517
421
457
55
107
148
590
448
240
895
218
530
55
107
508
367
493
438
187
634
465
412
493
685
27
546
179
851
506
989
750
204
966
321
236
308
75
43
966
451
323
468
113
767
656
865
498
994
549
133
524
101
12
972
709
572
681
734
786
521
830
306
61
947
886
311
721
888
809
550
170
301
340
267
732
534
41
6
186
110
464
110
90
7
23
95
766
883
443
689
306
782
623
400
102
578
302
907
374
993
636
399
223
754
842
91
883
446
380
807
542
299
389
944
681
420
772
384
927
343
43
301
432
60
684
330
98
612
563
331
875
685
50
498
847
240
588
406
604
290
333
50
453
12
715
338
755
700
78
238
863
256
908
233
751
947
405
250
729
529
565
332
574
472
210
847
512
229
23
843
29
429
793
599
533
527
389
189
185
608
649
743
87
995
56
908
168
250
934
480
163
173
901
656
41
950
483
46
40
519
204
190
231
183
557
557
538
597
429
790
565
492
786
401
404
650
375
497
455
845
257
687
910
963
826
481
850
751
378
660
723
562
352
736
61
26
127
360
661
603
366
409
810
641
276
299
939
639
297
246
829
232
425
855
36
115
936
699
623
535
592
603
876
887
495
752
64
922
390
488
4
902
577
86
823
69
99
649
469
265
558
219
72
937
800
330
712
306
650
518
903
963
784
445
446
236
148
596
918
137
682
582
731
613
969
33
156
335
490
509
260
370
124
253
728
579
273
799
154
9
191
549
705
511
50
523
102
588
808
79
936
391
781
65
109
286
439
471
800
56
23
353
837
677
79
770
41
130
51
827
650
175
692
522
923
151
377
689
743
212
720
117
93
123
740
244
149
59
516
891
462
209
534
411
417
553
151
733
356
486
604
306
357
947
315
420
386
253
58
721
503
500
963
788
874
693
326
255
520
363
41
958
969
10
751
271
626
701
12
512
648
165
985
778
949
304
765
492
651
290
175
460
356
986
358
295
365
854
344
195
797
432
130
863
114
34
550
814
142
474
423
32
714
904
172
698
905
163
754
285
434
472
588
627
454
12
199
241
721
530
620
690
383
365
846
51
205
327
926
680
740
429
716
674
213
919
998
663
725
849
56
3
829
145
510
517
429
750
860
51
978
239
554
869
736
827
343
184
672
418
399
898
974
211
80
344
46
3
338
40
379
419
601
836
250
108
535
337
78
930
608
478
152
535
814
625
884
835
860
945
514
398
508
384
30
23
514
658
224
394
518
163
564
333
689
543
24
633
897
289
69
557
725
527
960
539
96
858
123
566
540
183
326
517
750
389
923
57
402
236
461
452
216
491
351
934
805
366
713
208
485
326
243
87
384
992
266
805
871
857
573
426
760
945
13
905
43
20
938
263
285
73
200
959
779
852
126
896
420
56
437
720
98
556
62
47
881
327
435
697
739
787
838
302
216
431
820
995
353
440
865
282
871
307
29
304
729
871
897
269
779
390
825
676
710
172
985
424
486
5
104
746
985
256
725
654
722
67
386
453
651
197
376
759
986
660
515
918
891
741
544
601
828
801
679
251
183
930
164
969
712
333
249
283
158
998
821
361
242
342
363
253
974
34
582
914
985
805
717
281
497
716
123
490
538
861
310
157
603
357
401
408
919
155
821
831
302
614
30
391
363
30
977
55
846
934
970
910
346
902
740
655
297
464
294
187
294
301
515
660
522
668
146
204
73
564
679
433
583
830
236
833
159
967
845
346
740
917
418
383
730
942
767
988
52
448
327
707
269
826
594
753
574
734
508
636
839
293
239
630
193
558
759
330
357
865
238
526
284
338
807
831
862
153
634
749
793
884
98
861
522
389
162
642
698
880
491
393
660
982
299
235
578
266
894
463
32
967
852
510
457
502
886
323
97
782
697
411
209
243
317
713
574
63
924
136
976
505
468
431
74
427
169
253
778
370
225
799
793
754
262
254
981
869
831
621
765
738
697
650
789
774
514
648
963
682
120
510
284
469
791
720
109
865
505
341
384
716
266
342
606
940
213
978
230
292
466
583
687
228
611
959
755
350
121
770
263
876
797
883
610
617
138
294
88
758
297
216
217
299
63
158
652
786
274
128
936
454
60
793
979
817
393
89
122
741
921
413
508
542
361
124
582
160
408
582
337
805
33
423
108
392
905
468
83
151
577
130
498
0
879
100
794
151
984
131
94
95
150
651
988
765
884
76
389
469
788
164
867
724
306
159
512
308
3
11
46
213
753
536
238
626
894
598
822
65
310
789
748
660
658
544
728
651
163
804
868
460
429
708
372
349
402
13
296
962
404
519
689
566
698
229
648
408
319
451
258
184
269
728
368
518
659
532
767
145
111
801
814
373
310
20
883
969
915
254
994
617
908
35
39
102
890
914
361
852
770
985
831
814
382
636
382
123
282
142
825
318
541
781
530
722
522
113
302
405
598
284
804
710
969
553
202
835
543
739
268
82
699
294
955
392
487
578
929
932
796
899
399
550
188
966
321
500
601
641
751
20
93
721
366
724
932
527
350
674
144
34
909
742
937
863
154
649
537
907
335
953
450
157
491
750
798
252
712
677
614
826
630
962
804
589
942
371
539
508
456
488
11
710
829
69
276
336
293
546
888
516
985
237
620
818
877
686
689
489
445
318
56
873
334
824
806
534
723
154
443
699
506
727
499
64
761
770
116
389
676
326
525
330
239
107
765
941
590
642
243
163
984
372
646
835
0
882
645
143
152
416
756
434
448
497
241
152
326
843
128
434
646
981
8
865
30
131
981
184
107
936
452
301
276
205
138
471
319
42
310
954
523
371
256
627
12
999
825
392
89
300
60
476
27
717
458
876
149
834
970
673
796
86
95
494
82
568
966
530
969
279
612
837
393
707
962
69
984
662
435
643
608
978
160
808
655
485
955
599
462
244
380
513
530
19
912
69
607
13
371
251
451
686
737
31
140
590
768
605
762
278
966
350
269
69
330
459
527
615
707
419
903
229
676
889
642
166
533
36
587
781
513
292
887
739
713
534
840
412
324
232
670
698
765
435
931
990
939
141
727
14
23
236
688
772
631
815
675
46
428
161
503
934
384
565
633
393
704
536
998
199
104
754
895
166
635
677
620
116
622
402
793
675
922
638
872
476
825
414
674
122
565
631
32
700
848
105
165
900
818
26
933
673
640
585
983
247
285
930
491
935
609
768
724
637
68
254
567
680
748
579
362
48
478
213
851
449
820
244
82
656
570
926
54
205
691
244
873
804
431
646
245
944
376
253
688
811
710
79
235
134
974
933
630
423
3
665
167
476
200
121
33
49
470
33
841
88
140
686
719
782
836
204
698
988
844
647
790
318
705
298
587
315
518
947
311
803
974
143
645
303
693
886
127
835
450
501
742
381
651
956
518
587
354
86
686
424
308
237
907
13
557
875
933
681
92
683
435
792
769
504
20
104
891
223
908
284
13
496
81
592
815
474
989
408
709
597
204
964
447
588
938
273
151
276
650
250
766
605
172
316
328
239
653
615
35
521
288
212
761
45
500
844
64
884
557
488
948
614
276
123
46
809
498
156
441
940
256
888
189
246
137
167
938
611
453
590
929
233
748
835
270
380
141
359
578
280
180
65
818
819
628
765
63
869
632
547
696
106
477
393
536
618
820
134
959
767
452
622
587
18
541
373
924
944
247
338
713
987
585
240
52
664
218
463
280
379
756
838
950
326
702
256
569
517
572
893
900
84
856
643
212
142
855
233
417
941
606
183
437
645
974
412
211
446
636
703
601
734
234
283
394
128
587
750
905
345
969
483
794
683
868
991
725
38
847
287
849
573
693
620
425
913
18
442
983
74
709
206
677
264
394
910
324
477
513
219
433
165
46
937
531
39
750
346
946
853
184
100
269
26
972
602
902
122
992
674
887
194
653
390
410
699
490
834
55
143
241
134
141
256
358
665
225
932
878
989
372
549
600
431
838
428
436
221
759
394
551
145
408
567
708
363
17
681
147
969
435
42
716
555
298
163
302
348
40
64
957
326
661
441
728
265
129
983
338
284
233
310
631
428
849
650
953
0
98
757
876
639
548
999
25
984
571
59
626
18
899
464
747
542
741
834
86
844
267
111
896
724
172
542
247
663
824
792
983
552
336
253
289
477
713
274
268
162
168
74
592
525
553
253
949
265
8
469
394
555
143
396
343
720
154
855
960
488
890
645
359
338
538
533
157
564
868
202
445
604
60
457
83
368
701
145
471
904
398
692
425
680
275
704
821
963
476
297
742
93
267
813
112
537
157
651
499
545
15
206
200
587
643
364
306
653
162
403
178
68
929
368
488
731
534
115
170
959
403
163
736
612
243
746
235
858
213
187
199
305
698
784
240
652
194
840
321
156
847
998
308
632
763
217
973
184
404
879
870
272
10
402
405
840
377
684
609
970
737
114
780
515
29
637
194
976
904
825
737
803
79
217
532
151
919
959
913
412
146
526
740
70
166
426
56
984
508
448
485
499
218
122
63
361
997
852
670
974
210
700
33
938
328
510
998
889
284
516
155
444
315
569
477
824
608
374
467
677
908
114
399
558
708
691
973
484
601
357
94
790
173
773
388
958
33
51
151
290
18
361
253
709
774
487
591
400
274
382
702
41
183
751
926
759
308
679
938
800
155
907
508
369
404
551
205
142
911
853
44
453
234
715
803
758
271
10
24
807
689
347
403
882
828
258
864
597
9
45
222
998
472
283
627
652
41
499
481
511
137
828
257
540
204
957
419
173
653
393
368
29
721
775
295
728
219
733
769
378
457
305
299
921
610
209
467
592
14
277
611
201
55
587
714
513
782
450
192
704
147
440
752
809
232
882
971
476
400
923
193
531
650
872
291
154
228
707
759
451
344
756
383
453
953
848
772
100
62
355
440
621
208
616
476
184
984
322
416
539
582
705
154
4
431
640
791
46
277
334
511
347
991
498
356
526
414
740
302
119
325
643
554
424
155
929
319
900
63
743
585
673
176
907
256
291
668
515
716
750
868
421
167
131
845
603
994
568
60
879
461
854
696
368
538
246
359
969
404
630
37
259
984
824
98
310
210
705
488
393
945
671
311
537
683
504
197
110
283
62
510
861
561
516
433
451
27
808
657
828
269
505
575
987
59
368
883
376
240
875
891
484
227
773
244
9
567
816
163
841
278
507
978
808
922
634
985
984
170
848
449
519
405
969
73
957
177
766
694
896
168
170
571
831
454
384
918
597
405
983
819
716
229
592
584
991
453
101
491
168
234
20
670
424
660
757
729
67
6
496
726
398
268
357
444
174
720
159
680
314
720
964
899
176
471
823
16
739
354
994
431
854
352
295
218
175
576
294
333
108
656
288
202
394
366
258
749
899
846
571
927
835
897
517
182
494
718
678
441
181
710
906
784
238
124
330
994
634
470
253
711
474
537
245
793
969
740
152
381
730
315
157
164
235
919
982
51
530
236
136
786
161
846
981
328
137
255
556
716
410
193
322
539
255
14
991
678
976
736
75
414
459
991
901
710
733
926
548
136
68
700
236
41
98
602
83
804
192
596
985
686
696
997
10
371
117
73
571
619
405
835
520
543
46
437
613
46
615
95
774
162
636
988
725
930
547
368
298
456
886
852
183
411
132
335
687
161
786
235
495
336
993
601
743
661
789
418
295
950
217
350
1
206
303
527
748
38
557
501
277
98
391
884
791
67
13
391
724
677
731
551
116
502
118
555
608
598
730
27
551
829
259
422
272
57
181
805
80
604
25
399
295
529
290
189
778
294
214
377
129
740
845
814
122
13
644
834
759
255
325
721
961
668
218
278
957
2
797
984
867
572
353
872
424
738
523
36
827
757
771
516
577
65
258
696
297
14
284
281
341
151
101
691
206
151
601
416
747
183
836
14
480
406
980
743
665
289
79
493
740
932
48
741
133
361
509
594
88
802
102
494
428
232
962
2
615
489
370
49
396
788
595
818
259
119
889
285
866
946
587
291
143
222
72
621
956
312
963
769
704
409
472
509
566
430
841
849
279
481
494
867
156
344
21
383
440
967
59
782
886
432
59
521
760
781
385
997
888
130
184
685
845
443
429
381
122
108
713
304
300
342
215
365
817
24
661
592
547
423
76
356
801
554
33
416
35
53
66
666
542
728
477
374
289
381
959
71
522
552
631
613
870
273
363
806
994
286
248
122
494
114
310
430
255
733
690
185
912
881
355
540
988
427
513
970
47
676
462
439
606
713
597
861
982
552
53
359
776
458
515
771
445
756
285
849
601
273
46
717
665
784
305
165
68
100
489
508
270
488
953
730
984
872
916
615
793
804
883
283
458
624
127
41
462
341
867
426
428
590
881
158
795
294
92
931
305
557
9
318
922
380
850
578
816
816
885
980
446
668
303
595
0
477
189
734
376
903
354
265
986
807
289
418
494
322
619
846
186
959
939
969
561
712
666
270
224
80
857
782
284
489
259
264
855
565
42
723
27
887
568
875
980
825
118
639
471
763
120
481
338
529
112
685
413
228
692
846
306
8
896
587
864
925
69
824
359
732
510
607
138
402
763
532
148
238
95
744
218
664
336
851
385
483
384
326
415
41
135
296
436
927
748
896
495
825
542
780
886
680
839
577
249
208
763
733
892
864
219
576
176
362
754
335
184
9
548
395
373
598
542
276
627
106
303
787
19
172
864
390
466
872
690
208
69
629
117
252
301
129
47
439
356
570
224
998
475
15
144
701
166
654
791
979
410
467
1
239
682
443
616
380
747
826
29
50
332
747
104
11
380
670
296
890
724
624
339
871
479
214
864
426
910
338
622
625
964
81
400
946
717
700
393
457
929
690
833
960
484
936
752
138
204
244
254
16
113
56
470
448
523
479
330
41
612
732
970
502
735
21
739
56
194
439
673
692
316
959
276
952
232
560
834
2
247
289
132
122
969
27
547
503
431
26
760
822
109
209
537
380
981
888
629
790
676
822
774
971
674
397
45
808
818
612
606
818
568
961
15
166
638
845
30
814
369
559
564
348
83
129
281
801
924
94
632
468
413
97
452
944
224
309
858
958
238
181
643
929
328
900
401
536
18
465
482
565
996
459
678
754
125
7
994
626
240
582
263
407
814
629
696
837
329
397
434
100
986
696
331
426
149
889
866
707
259
231
68
468
621
942
998
782
40
435
830
518
958
241
848
846
27
967
160
595
668
894
225
600
166
835
879
131
251
159
137
16
148
965
474
312
189
207
642
952
554
864
261
962
542
152
450
991
95
966
906
964
875
206
279
353
176
631
487
975
9
449
835
707
478
446
191
175
124
901
836
423
654
227
806
504
353
756
284
208
261
952
579
51
578
244
374
681
450
207
360
909
846
0
643
210
399
618
246
567
828
479
55
52
967
561
902
871
169
109
169
633
535
436
252
694
815
878
819
42
751
877
171
34
913
336
304
900
865
298
402
761
723
334
997
975
674
67
812
205
745
378
172
114
559
102
376
507
852
953
629
10
210
410
350
942
321
161
970
563
38
95
656
867
242
262
748
472
252
726
463
943
551
782
873
79
408
19
857
980
190
786
244
877
166
914
536
166
430
41
230
294
330
260
490
403
455
303
744
412
193
909
755
619
236
600
852
991
603
251
553
989
541
475
191
884
727
345
629
469
567
367
693
756
40
352
796
876
783
906
287
360
484
439
903
686
118
112
107
332
38
411
250
504
402
603
599
43
518
451
584
610
738
66
361
269
290
615
617
895
772
333
433
574
284
346
219
568
348
161
468
37
565
327
460
109
355
725
361
485
950
368
35
661
33
888
199
555
148
79
565
694
689
227
23
581
48
71
158
194
750
34
570
400
135
402
51
542
463
876
498
613
71
973
156
547
918
690
515
471
128
168
805
35
605
374
740
795
864
16
559
596
991
16
353
185
721
895
679
248
429
110
183
173
793
398
521
586
149
990
30
387
693
857
99
233
547
583
868
287
969
635
923
774
168
504
531
872
950
674
384
204
902
546
615
497
800
44
594
452
904
412
945
258
764
577
419
344
693
46
748
257
126
426
374
454
32
556
973
513
915
965
226
49
848
465
488
351
439
756
96
700
313
46
676
96
970
266
802
544
522
137
324
769
963
714
147
672
621
920
419
709
427
29
173
421
216
831
323
942
987
504
457
192
168
456
670
980
227
422
313
378
578
352
895
506
418
735
739
232
774
959
569
60
35
576
405
282
372
403
427
586
510
214
713
621
842
272
304
584
553
183
313
837
522
466
57
525
439
993
572
369
896
388
325
104
454
45
454
644
184
935
915
709
982
918
93
465
191
244
540
908
325
532
945
549
493
28
331
554
915
217
701
452
588
930
301
382
823
504
939
869
500
97
799
580
370
862
2
665
557
115
569
542
574
903
751
694
330
881
172
450
231
879
389
645
359
300
453
534
269
271
902
395
874
96
850
276
841
70
520
907
857
948
597
604
960
512
607
854
647
759
586
568
862
734
161
907
720
735
154
510
404
960
924
811
699
541
178
988
638
578
290
179
784
64
880
388
426
69
570
499
653
301
523
621
920
268
475
612
328
952
626
904
637
555
665
700
287
768
635
68
101
443
896
606
634
968
659
296
23
360
831
449
761
256
927
597
253
906
636
872
550
610
104
674
780
709
561
940
52
719
740
255
52
295
808
825
6
442
949
821
848
464
560
414
636
339
162
662
779
267
289
183
889
387
84
113
150
530
682
934
205
341
134
786
776
91
849
414
801
839
738
813
661
268
63
644
855
765
867
386
703
294
899
342
563
397
143
535
802
395
538
411
894
700
627
214
467
830
519
223
385
53
94
272
399
334
849
368
344
537
34
623
917
677
511
488
529
136
671
691
349
393
968
724
557
606
425
5
272
328
335
988
607
189
857
696
715
43
816
651
673
826
459
765
978
100
182
537
267
852
187
86
943
7
735
171
208
842
349
799
396
861
266
734
169
886
825
115
581
75
226
424
830
884
370
25
781
882
733
990
254
126
560
51
547
406
79
191
159
413
967
394
41
479
538
188
487
186
84
180
973
854
268
656
441
873
843
430
227
540
545
707
936
865
286
44
889
383
233
670
627
651
100
74
670
45
979
140
928
108
356
708
242
214
275
347
217
370
939
673
133
502
347
656
341
895
809
193
118
856
675
2
660
102
997
796
448
143
957
357
278
340
383
323
844
86
432
563
345
271
473
612
141
343
991
791
374
352
728
248
89
537
375
926
215
519
301
752
93
131
128
409
417
199
902
556
167
701
806
890
235
204
204
681
891
524
84
907
705
422
550
565
855
599
712
374
433
398
366
763
665
937
507
30
802
973
190
165
854
546
492
343
771
955
439
225
64
232
181
28
579
997
349
357
576
355
328
437
806
821
11
511
241
102
866
409
104
955
125
278
698
48
932
969
832
876
693
434
922
76
691
964
314
418
871
734
428
906
782
435
122
813
820
20
751
91
671
738
701
378
1
297
811
639
510
636
443
250
896
580
844
36
875
792
866
178
337
891
168
106
301
375
851
672
872
743
279
147
754
794
398
899
715
190
610
786
967
504
580
400
456
328
302
996
661
722
36
215
262
934
446
186
727
430
744
710
47
601
394
623
831
423
559
59
588
933
729
982
731
520
783
784
83
33
488
600
92
968
811
749
54
289
741
163
562
832
496
336
125
260
579
384
899
992
130
892
970
954
59
470
81
474
438
221
788
722
923
2
442
111
743
669
881
946
256
345
758
590
735
568
401
693
390
182
65
515
635
778
472
597
875
806
703
315
929
526
97
384
695
388
301
77
960
780
438
74
366
365
446
843
605
394
493
596
615
102
53
667
126
337
916
507
718
392
591
85
286
8
173
5
838
965
214
642
897
599
585
441
851
390
985
832
897
708
97
627
522
933
680
177
282
262
493
258
795
806
524
764
303
360
248
833
376
741
930
670
848
361
220
516
672
937
868
552
3
447
221
722
710
483
607
551
962
413
842
351
648
876
769
878
946
83
248
833
640
467
984
969
587
650
461
670
981
187
389
506
485
584
548
405
186
406
61
12
558
423
635
706
381
18
794
528
189
708
483
6
172
759
670
240
823
272
129
497
448
176
567
395
834
76
11
155
332
141
527
364
220
596
96
30
329
780
920
836
973
64
700
895
958
540
672
162
243
52
584
616
501
999
358
958
224
401
564
69
128
164
8
336
938
941
977
411
20
674
613
612
339
936
565
951
173
287
397
447
529
569
144
35
330
133
482
172
872
27
202
547
202
452
839
338
479
484
809
689
90
152
28
840
821
163
333
37
1
101
257
200
278
740
122
323
140
838
619
352
717
90
54
971
397
912
401
90
231
763
750
665
330
124
476
396
571
963
821
899
204
824
419
155
913
428
270
197
565
714
598
536
996
288
460
119
846
187
683
807
938
913
335
749
238
236
400
454
544
917
310
251
461
910
88
662
776
59
997
433
610
277
773
247
720
789
167
306
473
737
140
808
304
692
14
66
172
31
848
849
188
988
105
155
592
389
948
212
324
228
220
343
218
554
771
762
415
207
319
390
55
65
855
614
468
173
414
345
659
906
192
614
168
663
923
909
225
301
816
43
147
643
142
260
822
958
117
896
447
756
878
332
220
322
138
518
693
590
687
555
57
344
735
20
829
208
883
210
98
508
582
300
245
4
613
42
721
416
615
629
893
93
158
907
751
866
510
846
25
732
702
39
599
357
431
164
855
303
179
151
709
371
95
774
363
128
64
903
758
355
69
877
392
176
741
927
313
131
824
351
811
909
352
267
862
892
353
625
138
724
122
510
304
896
420
348
766
699
135
116
810
325
429
790
600
607
86
197
506
594
127
15
752
850
403
149
710
598
46
559
795
768
513
800
495
324
341
349
344
697
395
318
442
295
704
722
505
909
49
375
422
722
215
856
991
32
214
244
757
773
474
691
362
803
732
77
520
532
886
221
478
217
419
313
165
316
605
753
844
711
961
479
604
238
333
682
569
902
712
834
269
596
545
578
360
108
590
997
619
169
353
334
728
535
678
703
771
711
134
954
537
122
7
194
268
241
672
362
106
45
851
338
650
375
711
240
879
11
953
400
701
694
342
370
809
407
523
450
648
90
672
344
76
368
384
361
692
37
438
519
185
16
308
224
227
947
376
35
28
391
854
115
760
929
462
817
560
518
858
413
393
425
243
574
594
713
684
891
828
774
687
627
404
264
649
340
563
830
273
79
212
134
551
866
128
155
986
194
36
742
1
542
727
258
337
861
941
147
403
199
249
806
719
485
295
522
76
740
298
211
35
861
293
381
990
519
195
471
640
623
394
468
238
617
247
673
575
824
254
492
288
285
268
503
713
301
129
208
253
997
909
557
698
65
313
716
415
423
104
39
967
353
13
519
959
627
233
947
159
2
114
211
595
122
412
631
0
59
726
241
686
633
593
796
902
588
66
932
245
613
123
182
985
414
584
245
239
339
205
203
547
843
745
755
8
147
478
343
334
241
505
778
93
152
664
130
559
545
410
648
821
133
282
72
28
170
397
52
568
877
154
336
348
969
452
989
158
12
982
332
242
325
104
109
417
477
874
80
50
639
440
257
900
989
624
828
608
57
499
226
856
377
37
452
109
757
278
85
873
662
601
102
788
264
782
428
921
952
825
970
814
214
350
324
457
76
21
859
708
329
433
814
508
195
83
375
727
389
835
329
12
701
318
916
683
386
313
463
954
147
583
578
435
482
317
289
349
665
498
258
637
378
168
516
464
65
454
32
732
135
166
889
140
15
110
239
388
618
798
394
73
6
300
565
98
423
877
846
639
330
192
281
838
931
466
720
958
144
202
183
290
454
523
479
138
787
779
708
533
258
431
211
726
813
140
272
192
65
612
524
184
171
322
68
647
423
36
841
948
377
634
717
667
860
842
72
157
534
4
805
867
429
45
151
71
819
803
37
642
520
414
740
152
405
635
35
31
557
494
297
270
806
376
633
888
680
449
154
917
842
947
26
956
210
554
100
268
997
526
392
186
156
942
650
98
522
503
942
853
754
29
610
840
235
905
419
244
779
381
960
403
919
780
692
216
138
620
854
92
692
669
1
800
489
584
213
878
797
817
429
776
273
206
98
661
234
872
380
516
822
911
219
623
890
513
348
463
898
647
924
137
590
584
749
563
135
175
377
887
805
168
597
760
480
1
915
187
995
885
991
850
430
925
25
774
979
609
841
9
144
911
855
191
936
887
652
473
967
156
327
47
4
962
23
541
764
664
175
332
18
75
600
599
331
332
63
187
192
866
659
649
775
829
483
270
43
54
766
889
441
515
340
569
327
664
920
59
962
903
953
51
672
560
328
126
674
129
76
227
545
305
793
756
885
237
423
735
5
977
269
402
584
962
665
682
850
729
780
444
414
485
573
751
595
42
521
601
589
49
830
850
766
816
575
929
595
150
967
132
705
571
147
442
438
24
758
475
232
474
726
150
497
480
276
832
760
366
930
704
291
175
91
879
363
283
299
717
207
569
802
808
711
817
327
715
136
660
255
627
591
126
636
193
604
738
401
595
940
138
605
200
189
667
979
94
821
889
155
470
531
914
642
837
366
296
906
470
242
550
919
107
770
270
71
685
444
522
205
223
215
925
840
349
187
565
487
933
920
341
607
648
336
382
156
250
748
566
860
711
148
330
848
775
157
538
702
615
27
795
966
77
949
463
918
174
775
11
50
23
711
365
37
680
499
167
499
750
707
957
986
29
83
679
758
154
433
728
613
49
30
730
827
229
851
894
117
507
612
679
720
295
631
539
155
632
802
323
960
453
358
909
678
515
945
651
482
198
546
680
685
979
857
890
248
197
355
789
572
862
143
773
331
174
871
784
834
430
398
260
435
972
462
792
548
362
305
502
958
469
733
96
193
736
416
892
287
921
543
345
464
587
432
428
976
984
712
738
581
563
152
307
926
861
641
728
438
863
211
966
563
566
533
10
289
687
127
716
548
18
792
542
94
517
129
675
80
333
949
297
800
726
344
76
459
12
876
514
990
924
658
249
100
388
518
353
325
506
830
89
479
410
633
518
789
667
938
784
283
812
77
490
677
266
90
352
28
240
681
619
482
440
396
821
684
222
935
414
945
775
644
104
863
354
918
165
997
513
351
534
357
973
227
186
222
471
944
840
653
967
362
362
789
413
583
329
175
632
853
164
936
255
765
381
71
285
605
10
0
331
982
777
369
942
821
959
660
511
214
831
145
825
263
462
649
328
103
204
630
479
434
842
155
176
454
148
297
314
608
551
163
87
30
432
792
329
168
174
55
566
268
829
515
640
263
808
33
910
843
15
364
368
557
213
235
840
849
81
258
733
622
847
39
800
509
91
152
840
783
786
629
251
651
863
678
188
232
680
892
908
477
908
561
226
913
329
354
65
541
254
682
207
988
112
39
919
617
815
813
684
708
682
898
232
530
731
361
902
124
348
255
73
967
260
913
553
963
94
595
949
336
656
995
667
517
683
247
577
286
515
896
198
582
8
332
802
759
821
161
461
989
246
15
65
811
951
484
233
43
628
358
124
329
801
252
192
290
661
911
813
841
724
551
635
28
790
69
403
237
316
364
55
121
640
337
63
369
973
716
285
253
896
546
518
181
787
385
222
943
711
58
818
602
564
189
487
525
982
605
925
366
172
277
360
598
553
840
602
330
801
965
338
13
49
399
582
310
179
361
70
895
863
909
121
339
851
380
959
561
897
882
515
169
264
566
482
879
334
360
582
576
666
507
803
728
545
115
312
384
983
376
35
765
318
948
541
926
40
96
523
845
602
405
168
484
103
783
297
264
823
710
664
289
801
142
815
419
248
217
287
274
416
696
334
95
779
610
3
304
684
608
204
144
227
303
825
192
734
118
984
396
2
346
253
5
40
854
801
361
872
862
964
375
770
674
114
600
370
994
480
399
647
645
467
684
846
943
377
495
841
769
787
947
364
221
990
33
563
325
181
358
872
731
547
703
647
796
226
77
681
799
173
778
391
454
702
462
22
605
18
686
317
736
67
458
898
705
176
228
865
733
162
672
208
166
479
98
2
465
590
955
370
12
338
691
306
906
167
157
640
130
243
940
364
463
419
136
817
944
452
345
553
35
536
934
517
892
711
343
35
306
855
683
824
754
625
627
561
851
54
634
531
529
381
498
635
951
410
282
968
346
152
370
873
175
852
90
602
422
289
148
102
624
744
821
977
106
272
917
394
761
612
103
907
233
746
781
520
646
947
749
369
556
886
185
85
491
395
440
916
956
130
426
483
382
771
410
352
873
317
33
837
182
522
38
643
390
608
181
31
714
934
211
500
501
461
85
673
833
783
188
687
254
580
184
656
558
878
351
720
926
58
287
487
556
682
279
586
137
26
86
569
318
398
915
23
290
453
721
49
513
957
73
976
140
222
678
799
893
367
113
609
473
247
647
71
179
69
960
308
362
569
70
575
19
707
704
137
583
920
609
211
202
401
701
241
220
324
996
602
690
579
551
461
714
85
73
156
546
924
289
459
130
842
695
338
581
373
505
356
613
136
398
755
126
880
333
616
289
372
750
753
762
555
87
850
265
301
622
595
288
929
264
478
137
70
905
459
658
322
631
269
353
612
832
269
979
943
531
581
444
982
604
167
864
899
434
287
236
266
438
643
899
578
477
337
120
96
575
92
117
646
292
70
667
210
32
136
556
896
569
865
199
943
633
535
131
789
349
77
246
261
494
215
551
921
177
440
529
959
79
7
741
594
31
242
660
489
482
473
952
202
570
318
186
28
987
827
593
401
86
586
666
180
256
327
537
626
453
74
744
632
68
908
970
870
387
252
510
421
56
375
256
588
256
389
884
165
230
428
469
995
327
698
258
815
972
61
170
187
388
263
347
595
590
255
923
328
443
460
580
216
208
255
419
245
152
219
209
478
730
789
645
821
555
721
881
347
800
583
936
109
856
874
490
897
357
347
760
560
164
494
373
129
403
106
557
314
226
230
371
624
169
438
304
791
169
753
419
853
135
561
410
967
847
943
930
286
995
996
533
298
370
220
227
472
237
507
638
826
566
592
470
774
828
507
308
587
835
228
711
916
91
167
88
156
962
159
194
167
154
623
255
656
537
124
818
252
306
556
219
633
137
256
580
481
79
456
293
869
795
239
678
168
549
336
287
996
489
27
34
811
25
970
435
335
347
565
369
272
805
70
89
917
447
211
340
240
247
204
867
186
726
955
657
557
419
902
139
75
544
223
896
367
705
514
397
628
49
854
378
627
891
71
597
646
211
692
907
115
968
14
917
841
961
994
481
852
127
883
47
952
795
692
817
299
498
756
191
920
311
870
806
908
577
47
918
681
248
530
27
209
451
798
653
686
220
464
517
76
39
96
842
392
17
483
949
831
554
483
620
700
760
855
548
126
255
137
212
93
445
783
116
103
963
960
531
462
660
570
441
387
899
155
462
364
781
550
730
717
463
56
144
136
586
463
357
108
423
995
649
49
493
481
507
731
311
487
991
637
594
656
781
18
106
380
630
549
991
802
276
351
551
41
482
205
843
935
806
328
329
66
669
328
166
485
485
26
7
721
77
803
819
484
445
23
521
555
243
987
959
979
510
572
634
339
854
282
397
567
777
115
998
649
937
755
147
160
979
702
33
407
233
173
5
784
794
115
622
152
713
480
243
420
677
437
969
191
81
148
280
535
366
334
313
502
712
581
240
943
15
845
460
688
414
58
91
422
763
983
831
867
780
983
618
860
149
747
535
786
886
376
863
988
923
854
483
355
117
881
614
802
426
739
270
850
735
265
750
446
928
327
128
389
189
442
180
327
556
116
584
481
315
589
629
580
166
740
726
948
337
123
99
552
510
852
405
934
874
899
605
210
968
135
142
833
154
616
711
365
702
600
903
202
696
950
960
847
844
952
176
460
352
556
570
214
45
490
632
29
457
143
294
234
758
879
348
773
938
87
794
798
602
223
445
126
734
959
268
606
755
19
588
668
834
93
528
326
465
467
14
855
834
692
416
307
750
314
73
771
165
115
771
720
739
896
649
496
560
917
922
51
607
94
329
323
73
605
639
881
209
35
767
904
745
927
845
637
419
997
622
626
937
923
935
479
114
129
849
62
225
560
866
886
550
852
129
677
253
235
999
208
343
950
821
958
456
895
586
404
862
466
779
78
182
353
318
261
25
800
215
934
329
838
435
274
969
528
137
70
523
582
198
276
896
792
735
746
386
957
790
661
528
862
254
535
740
948
600
535
310
337
769
442
803
85
137
552
499
474
180
820
781
90
444
26
698
146
205
429
401
640
11
142
938
86
581
415
193
427
265
649
858
167
660
160
872
490
278
466
133
627
920
527
87
715
214
323
325
505
900
326
359
414
257
507
148
142
334
970
571
907
25
950
697
507
136
175
257
754
14
942
754
768
696
644
430
504
178
304
70
848
311
412
741
650
273
527
445
784
701
656
894
817
277
715
698
828
815
74
339
527
184
998
525
543
459
304
939
533
207
679
647
38
904
417
421
523
85
844
766
405
907
627
316
379
633
781
119
710
746
420
440
152
102
327
179
757
371
53
927
151
85
336
640
670
195
374
162
808
57
306
859
358
360
125
508
436
460
647
198
402
298
34
487
709
135
733
391
873
25
476
76
995
793
451
472
723
147
944
414
580
960
96
136
715
888
932
70
866
184
94
856
588
561
614
361
501
871
506
2
397
532
368
825
243
621
783
112
952
619
809
624
182
660
855
620
615
258
371
758
100
330
694
72
799
454
186
480
723
704
282
944
51
447
481
864
651
185
126
360
796
895
858
133
921
310
925
894
234
265
416
217
308
944
888
87
576
834
904
716
165
66
505
285
539
914
761
605
872
599
313
152
29
75
785
310
934
660
149
177
695
973
703
121
89
794
458
376
268
817
586
907
773
263
640
343
48
868
915
365
759
774
588
474
704
64
392
424
355
532
947
899
462
298
222
754
53
946
574
573
802
890
123
137
698
951
583
897
760
247
582
660
485
76
382
492
970
181
977
927
541
94
940
60
970
19
70
989
994
494
124
591
115
360
249
121
275
838
285
815
274
155
582
714
794
42
8
33
329
682
3
832
902
980
676
582
763
322
833
248
421
350
983
356
654
53
574
550
274
857
692
997
396
482
723
32
890
950
974
427
18
972
850
542
722
70
236
532
173
155
132
174
812
731
237
991
794
997
911
235
806
807
582
577
67
288
302
451
744
463
505
384
582
883
518
557
154
754
99
492
73
590
959
477
917
989
373
12
409
549
772
72
718
644
287
789
51
143
940
899
890
860
794
2
494
526
29
449
673
539
700
794
643
268
32
963
922
194
795
200
149
160
813
353
755
486
776
245
282
858
200
272
442
615
702
98
27
223
745
614
279
375
183
218
179
390
920
98
713
899
372
995
390
6
863
130
644
724
980
786
300
707
442
872
250
627
723
0
128
611
571
250
405
395
878
921
922
693
272
154
76
550
974
965
627
222
737
765
420
409
163
48
464
595
955
730
646
846
815
905
896
567
703
658
620
486
945
381
815
178
498
604
939
912
533
711
236
207
640
225
757
812
170
764
628
484
78
497
295
990
205
734
270
690
720
571
33
620
437
762
145
13
712
607
924
673
536
692
244
823
497
704
958
368
699
69
264
917
375
889
732
685
191
90
716
314
717
585
516
619
487
178
641
921
547
626
968
185
40
788
830
269
828
620
537
214
931
811
520
443
507
578
758
482
454
278
991
246
644
25
300
740
84
818
333
305
295
557
195
47
44
890
279
228
146
457
103
785
360
85
486
297
105
805
608
629
111
988
303
134
36
993
572
687
822
192
132
331
368
382
983
473
544
166
736
760
30
251
85
707
144
31
70
542
112
536
817
607
426
950
928
584
57
662
108
131
497
107
777
972
17
989
317
552
256
705
833
401
313
746
298
376
953
974
155
381
543
918
849
539
220
826
68
846
548
710
203
873
119
578
285
492
673
211
902
531
231
597
922
265
375
77
636
352
67
279
236
102
575
391
235
449
752
506
616
818
504
139
784
915
448
919
486
29
840
444
972
520
524
782
133
284
436
13
489
738
503
862
461
293
291
178
948
361
265
369
499
734
788
873
721
822
66
886
74
620
593
62
82
446
390
557
671
830
867
96
258
959
844
891
853
770
454
484
569
255
431
127
966
54
156
86
528
289
330
668
615
218
613
248
960
733
783
843
865
460
146
315
332
541
324
288
996
720
884
560
257
573
710
466
454
545
352
498
419
960
953
8
782
858
888
574
531
601
91
581
182
941
700
974
907
176
386
690
559
669
438
310
999
792
10
183
68
400
172
649
63
106
749
182
606
977
706
24
718
71
524
117
48
658
83
755
68
603
758
998
236
452
587
354
913
209
469
998
267
51
14
272
997
779
909
916
638
383
242
95
114
449
273
698
646
57
922
745
28
567
471
78
778
531
772
161
381
82
425
801
765
867
586
900
544
56
144
439
514
909
412
471
635
862
609
515
548
675
189
575
8
108
453
953
173
963
203
601
500
423
814
638
445
973
282
341
195
337
106
720
497
384
358
239
121
786
320
656
405
650
604
823
204
592
341
345
437
90
278
894
998
771
405
103
819
522
634
579
542
944
52
359
933
760
380
598
965
370
961
300
42
397
316
353
141
143
183
763
982
643
415
135
209
552
727
674
661
712
461
89
136
300
928
479
944
165
444
10
856
417
1
162
913
724
394
206
1
240
870
583
679
726
436
880
733
295
934
160
619
15
291
824
655
330
821
960
668
621
429
484
755
926
72
996
881
310
132
344
368
83
921
545
505
480
817
404
202
281
502
928
180
821
863
315
980
816
323
884
487
702
955
153
737
806
737
336
407
241
412
706
454
437
644
933
653
71
653
58
699
391
947
975
765
535
616
873
990
286
182
86
935
226
821
337
89
161
17
690
914
956
419
732
900
99
616
730
72
13
421
101
364
524
794
688
995
601
512
162
232
118
29
911
933
947
913
656
56
219
392
258
426
630
707
559
137
287
244
680
83
257
165
346
336
377
11
605
860
213
919
101
638
841
738
960
650
704
350
29
151
461
516
644
319
504
738
625
954
305
889
969
819
381
14
608
25
540
259
642
785
139
680
238
123
316
978
468
515
184
337
363
548
84
458
841
943
213
164
859
801
673
865
350
617
648
381
458
318
519
143
717
334
228
402
805
410
762
609
864
59
199
468
131
878
559
458
399
336
220
275
949
317
662
414
81
668
769
172
254
863
83
914
512
452
995
630
232
37
410
123
765
447
387
838
405
260
704
701
798
497
359
933
733
322
579
859
403
461
232
597
409
355
840
852
587
77
676
560
729
919
51
39
195
784
940
153
131
332
443
348
77
861
471
90
624
856
618
232
294
860
165
452
219
711
118
111
801
446
481
597
841
644
239
520
919
503
535
382
141
177
109
978
409
736
229
316
419
797
254
601
924
887
627
110
543
424
428
354
838
223
864
38
557
468
478
328
782
991
82
76
989
280
457
936
104
738
705
61
12
923
262
625
550
205
870
924
396
979
560
695
732
758
811
808
871
526
459
118
633
680
186
575
351
237
774
247
770
658
776
989
292
213
609
863
269
995
199
204
127
542
990
130
812
385
811
76
93
927
257
353
879
547
932
700
959
329
274
357
996
422
983
45
578
892
866
117
516
209
328
676
627
919
918
320
590
935
125
474
736
833
882
141
889
974
200
312
859
612
954
116
244
960
260
818
212
576
784
146
222
260
867
875
551
887
357
511
487
545
436
600
584
40
318
538
467
936
354
684
395
294
191
623
842
893
471
943
173
840
224
637
649
149
897
613
706
358
378
42
97
976
203
776
750
382
767
899
214
460
324
498
356
477
449
479
297
496
993
423
453
723
427
660
664
387
836
782
903
209
430
659
424
445
24
977
178
612
217
251
419
142
571
491
997
539
687
246
145
249
601
354
607
919
81
701
85
326
200
916
232
459
283
364
789
831
597
762
836
997
363
842
264
462
248
750
589
772
255
692
665
80
483
165
143
882
39
619
142
861
524
968
391
731
170
127
354
929
139
355
152
288
790
517
25
430
162
632
452
614
9
7
145
465
978
374
406
360
138
757
237
663
329
573
497
852
690
167
113
305
403
392
484
548
113
380
635
757
352
901
257
443
903
896
449
719
433
932
60
165
182
855
519
869
676
351
454
905
732
900
577
733
623
890
234
225
749
64
533
204
525
610
105
771
971
864
676
534
457
6
446
433
415
191
305
107
206
393
567
178
969
183
679
837
484
106
771
667
775
378
853
601
289
421
73
200
998
303
342
79
496
810
687
798
349
329
485
805
5
728
804
467
181
455
583
239
451
542
38
197
581
557
452
395
682
315
760
760
996
313
852
156
435
348
717
417
748
703
102
477
127
647
609
586
747
691
589
813
637
162
420
165
334
563
273
323
445
820
243
473
44
652
327
40
50
521
264
925
175
659
720
777
657
930
115
259
920
467
490
81
266
238
954
630
979
328
545
123
357
870
613
671
340
886
726
188
349
63
27
802
759
722
591
195
987
148
243
143
807
415
113
938
507
759
419
332
674
826
353
365
553
39
348
671
266
909
419
823
240
878
852
864
881
600
82
436
397
959
386
892
264
401
516
631
140
95
318
784
6
591
447
361
298
716
311
878
453
758
296
858
850
58
251
527
139
146
809
518
707
128
497
311
488
168
545
425
583
615
784
757
137
699
788
213
65
423
723
903
942
564
419
286
55
48
54
129
329
113
689
325
12
988
541
227
0
401
838
251
962
217
254
438
33
34
584
340
552
144
226
547
652
795
232
737
121
454
640
755
529
403
205
98
223
226
512
299
662
778
95
657
812
835
570
641
741
962
352
189
910
534
759
630
800
794
220
789
168
754
710
983
760
449
234
240
218
740
407
300
411
295
561
11
158
189
809
902
880
759
939
924
109
742
640
347
731
436
575
945
646
385
229
780
364
760
172
74
589
341
223
61
339
997
550
662
391
556
937
804
178
692
534
946
996
966
98
605
791
238
341
155
542
82
663
159
242
734
950
544
953
873
697
985
336
459
338
370
737
776
621
672
478
17
115
418
169
397
127
240
245
987
766
263
301
942
833
930
29
48
172
463
690
45
14
939
866
385
804
182
354
351
777
338
198
758
399
147
82
986
123
879
537
208
337
38
171
382
278
369
149
285
42
275
356
773
188
810
84
686
641
309
654
242
539
786
215
664
339
401
108
346
859
7
796
459
640
925
425
726
310
893
277
189
548
212
641
887
966
848
478
985
401
656
800
517
647
953
639
850
563
735
149
952
366
453
171
413
875
954
197
561
896
581
475
382
879
591
826
508
107
40
305
645
197
625
660
124
15
117
434
84
432
938
729
32
648
349
647
840
95
857
650
363
872
294
977
292
627
590
726
794
183
11
606
298
958
139
72
386
945
912
814
149
427
331
149
137
307
687
688
46
356
676
689
151
413
547
789
338
218
645
555
422
120
741
632
564
995
268
836
29
260
690
628
135
576
699
55
508
981
887
136
784
2
954
718
382
3
266
626
988
196
510
873
462
498
326
397
50
59
898
130
463
698
68
171
535
680
943
419
317
152
531
201
567
485
300
832
242
46
646
819
157
449
798
772
983
198
630
869
292
963
718
865
194
375
199
644
17
585
811
341
153
911
765
903
720
327
299
103
696
666
17
94
912
561
117
96
835
773
582
919
967
306
204
118
788
373
129
372
384
805
464
214
770
430
261
409
259
789
30
290
822
829
997
972
144
125
238
758
648
870
335
400
664
589
902
876
854
546
869
206
948
506
640
279
524
714
875
585
828
871
312
915
478
390
942
525
542
946
772
58
107
120
736
758
942
594
707
762
312
435
858
677
38
180
555
13
506
834
834
775
967
830
17
456
952
516
712
979
465
83
771
831
54
83
550
447
398
354
220
541
419
672
270
979
343
467
644
450
378
439
50
225
631
124
284
402
769
267
579
550
536
782
724
70
185
132
665
282
923
240
443
530
183
832
396
253
11
989
758
108
106
383
150
890
129
682
364
408
423
699
121
828
688
816
694
919
829
486
625
456
455
775
127
504
552
939
598
4
327
250
89
469
241
72
513
191
431
64
927
559
789
735
214
377
275
839
492
950
718
686
249
242
387
855
519
312
932
739
732
699
369
187
591
784
929
811
882
242
817
180
581
217
541
341
708
887
284
728
906
210
297
87
617
578
475
217
255
262
461
521
995
734
554
844
378
58
40
218
321
594
227
928
445
237
504
132
259
591
17
222
169
945
418
356
642
763
727
369
320
658
324
206
423
521
1
734
729
862
439
73
669
577
300
532
483
226
79
288
960
871
830
419
615
801
740
615
570
888
119
796
678
437
458
612
693
283
838
708
104
343
891
903
95
73
795
26
232
507
753
120
572
812
836
91
965
224
474
289
551
191
291
594
49
460
872
435
756
984
251
684
547
494
474
408
92
731
497
69
795
848
276
319
465
101
210
26
59
836
105
741
939
3
288
620
50
320
307
404
412
378
647
196
887
401
242
765
447
90
34
939
633
46
390
263
269
547
285
879
540
371
491
960
878
547
997
555
164
177
1
859
606
689
441
79
443
912
758
408
534
58
879
915
213
832
981
891
965
569
100
227
683
629
585
272
519
274
841
957
94
833
599
198
214
777
10
331
501
302
754
784
902
894
949
895
266
322
190
272
845
45
671
883
969
320
481
992
880
41
951
805
593
291
195
381
102
895
772
626
520
488
29
805
706
915
8
355
899
72
226
429
389
39
937
580
768
485
609
822
399
646
44
855
191
276
239
568
651
382
401
636
446
723
423
531
10
340
708
749
168
795
863
737
656
518
643
363
638
570
271
698
142
595
253
475
190
165
576
836
217
543
456
614
805
447
301
223
419
420
213
961
638
10
274
304
996
103
26
442
919
457
84
127
815
434
990
300
688
135
597
375
407
685
478
369
135
912
850
361
837
937
665
448
294
120
83
877
784
669
293
745
672
434
422
7
796
809
295
90
415
389
359
913
820
929
868
572
658
26
906
819
121
88
813
196
828
149
859
515
262
181
588
438
710
1
999
489
511
330
310
613
906
142
972
290
986
972
174
834
452
342
886
407
793
818
879
612
925
588
513
363
552
794
579
25
940
608
73
589
547
76
689
802
453
769
398
435
465
784
367
197
569
655
714
130
690
0
914
290
626
499
604
390
16
58
365
602
11
223
915
194
843
734
64
478
372
896
744
433
232
663
194
478
808
522
941
654
802
917
649
79
745
363
930
38
754
129
649
774
269
343
808
131
161
985
279
220
72
860
908
696
372
30
901
356
354
111
742
178
55
951
133
112
33
298
305
907
705
716
57
232
321
570
765
382
89
162
166
859
785
328
961
163
620
293
422
158
415
631
578
353
706
455
391
759
717
312
173
278
745
44
612
434
855
692
380
632
947
804
389
215
6
769
25
60
383
416
990
892
650
444
556
532
819
351
501
217
381
531
634
658
394
419
649
572
444
360
244
29
310
396
722
710
409
119
677
582
546
82
225
173
966
653
766
549
348
158
880
713
179
106
701
714
138
532
157
794
21
584
713
165
18
995
108
268
60
298
220
190
420
71
646
999
859
458
80
957
598
940
738
782
800
450
203
131
267
581
661
564
272
73
729
184
754
62
823
63
16
781
810
994
422
872
872
515
825
945
11
804
216
268
233
518
672
943
878
257
701
306
347
506
794
53
644
874
848
555
47
946
386
518
943
477
880
998
287
961
297
723
674
126
398
722
305
35
644
15
682
372
331
914
88
801
630
379
952
941
893
776
490
144
10
325
809
430
441
124
906
477
389
41
343
911
120
329
154
390
244
967
537
654
502
538
525
964
668
238
930
477
687
790
148
56
737
242
604
197
470
326
351
742
689
13
934
166
221
764
867
849
964
892
368
679
962
86
845
26
941
696
590
680
472
278
563
135
767
199
626
800
557
255
710
259
165
206
262
688
580
10
107
462
721
365
196
718
380
13
616
951
942
530
425
257
927
532
581
774
153
316
759
994
269
683
424
410
968
575
11
745
69
768
474
137
892
178
671
486
237
328
307
662
881
26
249
372
638
854
695
102
86
947
746
696
167
532
147
814
757
151
411
141
17
709
110
827
2
908
778
698
847
808
217
909
330
229
867
633
916
417
404
160
114
917
90
47
985
16
607
641
478
6
807
590
910
649
376
82
260
329
154
270
337
846
499
361
273
915
552
753
181
132
990
46
861
882
907
104
171
135
458
910
492
559
165
885
674
463
764
215
77
614
627
88
845
482
590
720
650
815
150
906
985
889
42
38
456
300
929
408
790
534
454
79
643
27
818
224
476
809
697
738
792
779
246
654
533
475
669
637
861
159
186
278
791
665
386
460
444
960
321
826
314
606
684
207
67
318
156
700
884
563
964
644
734
47
951
613
252
682
349
862
693
560
287
211
992
699
290
299
830
122
634
372
91
194
899
464
877
639
418
245
952
199
731
58
932
138
561
317
512
51
71
215
553
730
823
377
985
152
719
342
907
59
328
493
507
644
591
785
31
92
462
309
820
344
965
128
521
41
707
185
460
413
896
274
990
57
759
679
752
948
9
517
166
812
481
180
993
364
498
995
301
521
294
173
79
738
886
308
431
323
351
46
489
610
117
460
692
947
385
916
918
616
435
127
504
446
930
351
545
474
897
756
488
270
132
988
571
22
140
582
606
491
839
307
649
593
384
532
140
241
471
128
924
938
603
92
423
665
613
248
730
151
494
20
47
695
587
204
268
679
622
71
789
103
36
971
193
23
558
685
783
833
577
592
462
776
81
261
38
984
375
696
345
133
864
676
783
134
924
257
497
194
800
95
7
221
494
683
880
697
5
827
827
800
234
993
60
485
36
745
17
841
24
653
489
680
590
138
766
996
365
828
241
577
989
158
485
190
840
107
7
324
645
475
25
601
93
394
121
573
488
142
760
152
468
491
291
896
427
756
144
736
753
992
579
7
342
446
971
938
428
568
658
418
819
998
551
616
188
344
180
103
590
681
665
749
370
189
674
640
670
707
182
550
878
742
694
905
625
538
447
302
915
325
221
886
899
771
54
776
607
698
751
533
904
186
398
53
562
228
911
683
883
410
83
354
991
425
551
606
943
380
10
712
90
258
557
463
577
398
89
577
941
880
862
832
664
177
785
458
737
258
630
372
122
509
352
127
695
423
828
845
197
353
712
115
177
135
287
228
917
835
955
555
631
23
137
452
563
239
784
117
48
413
54
584
588
770
305
812
371
992
755
710
605
375
971
347
191
679
912
850
938
832
317
825
876
772
545
750
809
365
736
290
730
251
810
773
442
979
385
739
51
397
337
198
135
163
665
651
134
418
751
346
400
209
332
818
960
148
316
702
76
317
17
573
573
722
987
878
386
422
690
86
749
961
733
973
384
394
601
107
129
756
449
537
918
258
215
992
158
931
876
959
563
570
129
680
914
981
204
600
46
414
607
924
902
302
755
886
713
656
780
587
79
631
286
259
846
759
391
699
548
918
627
382
746
509
628
442
867
7
139
850
519
316
601
954
801
748
524
143
716
780
300
807
909
11
817
602
947
597
253
689
970
265
367
900
516
86
21
830
737
846
989
935
259
618
898
831
459
298
484
293
763
453
53
535
234
809
495
336
159
303
642
262
691
975
531
913
132
824
832
967
202
828
496
246
980
382
839
970
932
675
117
334
526
899
930
109
349
385
830
939
199
613
432
320
461
679
142
599
571
924
704
508
682
872
769
608
23
424
180
996
815
100
701
677
711
626
107
91
388
334
986
932
534
742
269
117
251
485
187
490
418
261
4
115
672
738
15
722
893
270
311
236
58
187
298
899
272
267
173
669
917
588
405
512
828
641
51
248
875
782
52
766
452
442
276
22
524
916
934
750
630
795
265
97
485
37
352
467
684
992
265
227
938
774
275
937
737
530
535
357
359
276
979
609
115
558
734
349
233
259
798
328
390
895
369
78
427
644
889
218
728
543
221
851
333
209
611
41
49
977
382
227
548
14
578
158
12
72
247
803
271
627
82
960
427
310
170
185
97
249
166
51
8
5
200
679
221
509
689
973
890
769
689
171
812
260
399
577
973
554
884
949
276
310
826
227
727
733
443
384
567
565
170
70
721
804
548
494
158
947
511
831
642
930
908
642
948
330
280
407
930
354
849
954
63
146
551
504
139
597
941
176
430
844
907
911
187
51
126
946
505
854
458
74
964
61
624
127
85
989
311
841
433
377
459
522
900
814
768
457
989
293
69
993
829
222
500
185
614
398
511
947
180
45
62
211
350
907
961
4
40
348
361
48
951
106
514
426
554
116
743
479
726
354
653
88
562
100
760
73
537
570
987
100
271
353
699
502
924
304
296
18
160
816
553
830
216
359
932
721
437
474
15
41
223
432
226
585
377
248
756
914
57
857
122
242
228
867
254
529
989
654
940
48
961
221
860
450
677
84
208
996
815
60
315
733
187
159
836
175
197
791
391
362
639
965
857
744
392
194
936
435
569
788
201
474
676
902
161
928
88
182
615
819
691
426
180
27
84
937
235
113
817
284
535
502
699
185
690
93
212
52
28
175
57
247
294
682
796
798
864
737
397
692
300
961
181
574
511
298
825
67
234
740
431
335
549
966
996
643
691
41
249
328
63
334
985
631
992
263
670
9
153
715
757
685
897
327
735
546
187
728
284
383
116
700
872
109
941
549
754
226
234
869
471
870
869
815
854
781
627
771
73
196
522
329
868
586
569
217
164
719
966
620
164
744
841
487
860
594
683
223
34
559
567
589
24
46
436
527
826
603
149
597
747
312
203
527
900
907
118
553
317
780
49
105
935
526
725
624
292
660
860
154
648
647
956
9
187
375
516
966
137
711
468
66
279
740
745
261
832
247
344
165
172
418
623
740
746
213
53
125
376
100
63
534
898
290
594
718
421
336
712
883
768
452
52
527
139
980
438
198
838
638
892
748
2
289
659
793
509
973
956
657
188
677
407
706
741
280
923
234
776
79
594
26
838
641
617
993
855
210
105
8
756
666
738
274
157
375
128
509
156
212
93
818
447
531
866
662
859
835
479
283
929
212
454
607
302
718
58
253
826
868
952
943
430
659
935
278
113
592
228
125
149
335
585
620
865
633
85
287
999
753
544
856
613
442
309
927
949
343
281
624
935
432
534
295
636
268
865
504
619
687
661
363
616
102
525
612
487
289
36
907
126
702
362
184
530
480
329
113
312
657
962
691
546
967
623
248
26
461
780
429
147
75
914
913
655
17
533
920
146
372
572
625
90
928
213
405
856
475
651
804
971
772
578
898
190
485
617
771
747
332
838
232
976
407
802
359
89
470
683
231
708
926
347
856
519
451
80
801
569
887
815
358
875
748
901
349
978
173
362
546
802
211
484
249
628
836
771
849
215
494
868
205
974
280
319
789
978
49
352
709
748
528
567
329
102
107
206
799
563
834
510
257
578
213
480
287
483
573
961
266
6
839
771
445
726
138
485
311
954
555
421
218
7
755
975
712
271
561
853
857
58
583
492
354
417
529
25
571
339
988
327
712
376
82
383
830
350
366
6
157
288
139
843
268
644
690
972
553
83
681
345
681
504
691
211
863
749
226
810
477
819
737
814
256
264
132
306
851
94
133
771
168
464
981
214
482
246
913
440
889
992
223
577
690
894
980
805
987
364
220
34
653
760
334
76
470
919
10
293
809
662
925
874
464
977
862
344
233
96
130
966
376
893
459
236
574
500
800
401
53
416
36
45
15
247
929
560
989
333
834
410
243
599
379
718
16
190
426
733
315
89
846
248
235
978
196
706
907
977
15
190
314
434
128
176
154
177
162
690
860
453
969
155
739
985
502
16
119
899
909
413
795
591
696
604
677
144
3
701
248
354
337
522
14
150
688
625
903
279
235
925
317
901
633
462
536
753
743
653
424
201
48
240
747
533
685
328
23
946
603
347
397
805
242
924
592
956
439
176
518
654
954
204
110
117
673
862
594
36
314
33
264
339
360
570
781
235
558
698
575
41
729
331
427
375
733
479
424
986
638
75
854
708
33
351
580
724
744
108
346
312
700
268
358
836
220
135
563
374
493
393
731
714
645
287
898
819
378
387
94
93
983
332
500
295
290
354
375
990
226
273
868
485
329
916
416
856
115
152
353
167
985
126
652
68
731
393
242
571
992
63
387
798
792
291
856
202
281
765
529
668
222
292
829
501
193
121
853
966
971
485
911
240
822
56
946
957
907
356
254
254
962
398
228
883
56
62
311
317
45
402
148
585
801
630
414
621
537
913
390
596
55
819
770
214
545
914
531
791
926
842
286
832
328
948
85
166
290
450
967
348
48
294
599
904
49
353
847
752
446
968
366
343
246
258
55
787
711
932
253
365
536
200
7
87
179
21
643
87
262
559
293
186
447
619
560
815
135
611
524
400
544
713
536
144
209
138
820
537
151
472
739
283
544
870
765
997
293
389
347
937
813
207
389
349
458
995
427
165
845
789
31
482
316
552
423
106
77
856
924
59
579
522
990
763
565
553
896
222
800
781
606
284
63
938
23
558
377
41
774
712
406
939
40
530
235
331
294
405
479
511
525
128
310
747
521
952
818
898
103
497
851
655
689
518
641
13
322
534
331
44
93
347
883
1
636
319
683
244
237
683
752
698
62
707
296
177
962
833
326
719
610
22
617
930
314
833
326
874
54
498
3
472
94
208
161
167
574
689
149
535
971
55
946
118
0
227
396
436
490
739
384
859
201
244
141
823
749
347
189
230
688
633
343
649
47
785
233
827
102
907
409
688
858
942
550
30
656
64
966
248
804
301
552
683
478
907
657
376
238
36
576
737
881
415
490
639
282
19
7
769
229
346
989
216
729
979
808
345
282
987
468
805
767
971
655
844
739
340
826
655
191
311
555
145
699
258
729
970
621
937
875
447
4
755
344
23
946
412
185
912
0
131
951
648
716
468
655
749
586
479
475
190
344
589
304
280
805
8
208
528
773
720
229
542
454
230
629
742
682
210
751
20
383
724
730
116
12
516
666
160
615
789
347
725
31
683
944
608
796
204
265
539
96
798
624
415
362
13
679
306
329
494
178
547
348
73
819
282
612
466
184
384
456
466
630
617
646
947
931
893
895
931
383
443
817
316
428
730
94
363
214
193
30
395
81
59
934
608
508
791
665
992
598
150
161
453
371
866
182
395
876
182
107
926
665
978
53
916
171
692
946
504
675
96
300
143
947
500
728
612
154
917
609
222
828
464
396
266
425
406
10
475
416
780
80
570
421
558
588
678
369
82
557
185
281
946
572
610
666
169
264
359
962
964
456
13
478
861
227
916
262
516
300
130
639
353
45
961
119
232
632
859
666
457
771
792
541
488
862
448
118
352
591
721
57
94
102
533
902
662
654
253
887
998
15
251
853
942
490
15
457
251
711
358
883
324
786
94
799
802
539
702
708
99
347
946
479
668
865
907
914
478
858
369
6
690
878
480
36
604
280
897
715
939
960
537
763
658
505
666
705
923
36
483
705
835
937
822
709
757
435
610
225
997
413
18
693
174
407
129
885
30
553
52
257
637
824
152
234
874
24
808
801
528
889
743
748
105
819
335
727
529
355
347
789
461
824
336
265
479
637
809
6
597
506
214
29
504
242
520
615
704
128
475
684
760
97
838
434
129
732
676
185
31
554
575
109
453
379
533
904
746
426
964
675
110
553
523
58
748
218
913
123
402
524
664
96
629
344
786
138
414
206
605
497
411
265
704
825
41
792
555
959
399
225
369
374
379
327
979
892
992
141
301
534
453
416
648
321
152
489
837
296
104
953
156
799
629
683
195
831
464
979
489
739
317
539
644
698
491
298
495
366
696
317
53
101
932
154
294
297
151
940
633
334
520
454
273
630
417
144
574
607
22
187
307
763
107
474
776
510
37
908
9
428
925
676
699
248
415
248
629
464
744
753
382
79
571
740
711
622
899
345
75
849
64
628
537
582
995
57
510
358
750
887
186
477
858
534
983
257
342
122
355
955
678
657
290
586
675
501
249
490
310
388
226
987
881
608
52
465
500
54
550
660
319
463
964
774
342
371
359
237
724
666
764
623
920
352
643
350
631
319
383
98
626
767
738
157
950
67
400
975
324
868
995
399
347
103
367
263
933
620
909
392
475
756
140
951
214
868
865
493
20
483
242
513
952
667
461
686
616
660
971
4
937
36
990
626
374
767
384
826
484
176
829
770
752
244
940
4
899
9
430
377
209
355
649
210
711
878
221
561
928
424
59
786
994
460
243
691
129
882
479
236
498
926
599
998
433
526
737
770
837
250
995
745
988
332
165
598
209
208
823
96
847
893
57
991
588
512
723
232
52
961
355
243
167
13
548
897
709
504
933
187
448
309
691
513
153
618
85
151
800
616
41
556
820
443
828
788
667
731
18
496
163
66
814
733
273
477
522
254
898
938
816
285
428
845
77
276
819
917
53
903
775
789
437
897
484
15
494
111
487
92
649
435
15
513
174
266
266
891
969
705
88
806
127
278
569
668
341
855
740
906
163
521
719
938
777
266
536
156
819
693
661
991
653
738
193
472
3
678
226
375
219
365
955
347
81
530
920
901
13
144
690
294
434
920
322
971
157
983
379
159
741
348
56
101
562
683
665
703
776
312
943
81
129
769
793
284
413
830
889
486
7
459
634
473
67
425
763
323
158
234
186
647
356
773
68
530
172
680
115
942
198
813
661
959
577
359
423
880
287
600
991
112
592
332
146
159
962
224
500
841
244
168
295
792
5
641
739
284
486
37
243
666
942
696
518
790
372
729
541
41
543
526
674
217
206
963
664
269
561
822
660
79
248
619
839
350
670
661
461
150
230
466
882
921
78
336
816
636
317
607
809
982
909
880
344
457
90
46
15
828
102
931
348
729
188
875
434
301
399
372
794
117
234
757
488
855
712
992
840
710
754
681
477
383
902
270
401
698
871
951
280
864
808
940
226
738
878
201
802
547
688
758
272
109
411
608
829
237
31
542
592
472
519
887
599
52
126
338
149
974
404
214
25
802
467
858
429
553
10
743
958
657
302
530
85
995
328
648
70
835
560
463
67
756
431
45
919
896
968
669
741
268
733
905
777
804
413
773
285
666
51
60
355
41
646
921
38
431
479
464
835
350
203
630
745
83
609
686
115
196
560
994
148
160
16
192
369
592
513
346
914
17
102
190
190
707
954
431
238
230
378
938
115
884
923
253
722
59
605
711
990
593
419
503
102
164
662
625
194
204
611
217
653
280
254
171
536
392
826
46
226
62
584
728
391
464
528
753
825
481
155
369
440
511
425
319
220
980
159
617
5
380
174
271
830
727
950
641
784
348
318
679
391
316
492
192
407
985
70
467
448
143
43
559
146
75
422
185
852
92
789
580
445
130
217
880
746
476
342
855
712
641
583
287
223
546
363
818
736
277
841
132
20
709
425
568
667
294
120
925
117
264
722
317
625
278
831
96
225
552
629
454
520
790
311
301
802
383
820
584
716
806
532
113
632
133
734
554
190
986
137
299
188
399
432
693
181
542
274
782
144
295
141
181
518
143
704
609
351
630
700
144
236
5
751
181
569
413
142
257
359
567
607
188
240
779
41
231
74
702
435
273
232
690
440
663
339
15
335
669
498
564
564
756
653
960
701
409
946
222
726
767
308
357
456
61
614
515
700
466
166
10
31
989
54
340
890
305
152
120
28
12
690
708
364
271
186
698
792
243
359
912
62
688
372
904
306
549
549
420
716
920
967
478
39
412
232
395
376
32
422
622
334
210
746
349
428
15
782
904
443
27
816
343
406
266
692
563
932
466
548
642
840
846
28
848
292
25
594
911
956
524
412
430
84
377
569
435
172
996
543
277
497
411
899
589
954
176
525
901
313
431
174
78
707
854
161
22
862
778
535
528
784
797
611
553
657
48
148
685
373
290
289
380
990
967
777
842
180
344
63
481
332
212
756
512
861
415
42
325
537
552
434
828
151
395
161
609
93
367
568
887
477
342
549
222
660
353
798
62
198
168
64
425
413
568
617
846
178
406
34
507
296
229
772
907
602
554
279
809
600
574
475
973
410
299
66
527
217
518
996
592
633
152
986
637
361
698
757
738
238
243
126
419
878
892
263
996
586
399
432
672
460
859
572
900
155
232
332
430
563
410
906
89
128
330
571
73
596
845
727
892
389
7
386
392
807
527
703
739
76
734
151
64
209
787
327
619
578
612
76
75
240
503
923
350
81
604
340
53
950
595
608
63
723
12
625
428
318
475
853
226
660
989
487
394
553
440
903
566
803
177
743
957
109
29
535
893
11
825
188
933
939
943
197
791
14
372
377
194
870
833
84
487
789
301
499
451
620
546
314
169
708
629
473
38
892
99
199
826
483
984
495
605
97
688
648
523
898
656
551
758
336
738
902
617
817
392
881
917
137
259
182
290
739
642
648
816
558
556
321
694
321
488
529
340
841
845
580
105
622
309
134
705
775
720
387
5
7
818
440
788
59
847
788
400
280
630
937
137
929
874
430
913
5
152
302
927
705
806
897
296
185
136
767
120
256
103
253
311
447
276
79
454
575
743
330
27
242
216
302
326
968
35
113
842
199
780
292
849
95
260
990
31
577
105
635
466
939
15
272
934
921
593
19
31
67
795
100
920
79
955
504
721
984
24
165
4
817
106
39
872
929
307
266
487
916
298
132
477
967
595
519
673
983
769
548
752
199
5
725
749
256
637
52
917
834
157
969
153
128
83
59
691
929
697
409
201
669
325
227
929
545
500
418
185
458
61
450
814
815
96
574
279
329
809
108
835
377
567
126
11
256
476
144
461
755
846
959
186
152
939
65
356
493
238
306
435
790
479
769
412
318
984
286
312
642
722
981
884
277
66
452
256
23
48
672
919
463
255
680
870
420
633
267
216
13
445
694
690
937
627
709
823
228
672
840
113
924
838
608
849
439
796
386
242
474
241
119
78
995
586
297
168
432
851
37
873
977
711
56
323
944
168
608
623
114
569
443
618
785
213
302
858
944
269
67
484
792
142
595
156
911
586
100
988
272
166
467
944
14
658
254
299
701
719
23
461
34
451
325
113
972
377
690
244
691
997
560
246
824
853
365
249
633
802
346
491
175
215
310
565
635
500
728
687
550
814
916
927
240
210
923
695
777
790
79
340
82
675
396
751
567
308
915
276
543
989
396
682
210
530
801
164
396
377
351
526
597
315
680
546
700
114
614
717
440
23
957
440
345
367
551
350
514
277
836
998
679
798
188
949
589
432
135
153
307
130
921
234
673
536
726
86
466
514
416
102
860
358
923
989
938
387
137
84
225
193
227
968
484
695
299
711
295
493
250
964
212
509
117
60
332
216
144
159
82
629
44
654
743
207
484
215
938
315
598
675
239
272
47
21
317
544
423
568
882
413
93
155
632
913
542
187
602
287
953
501
684
770
290
519
196
34
503
244
169
738
425
660
236
546
266
905
705
158
127
437
136
787
574
639
8
94
379
768
917
38
298
854
994
307
187
848
172
879
108
487
156
521
225
437
808
200
187
100
701
607
879
288
327
172
13
307
915
128
579
125
391
329
547
581
888
947
303
745
871
596
572
658
481
551
423
122
608
481
829
736
687
516
85
84
896
860
138
59
418
830
96
366
206
346
273
904
511
420
428
251
173
839
503
403
15
752
328
537
826
416
92
102
896
306
752
734
847
874
540
692
808
214
963
583
872
179
863
673
616
515
972
633
57
471
533
629
691
192
330
316
679
902
946
174
354
416
239
261
60
66
185
312
606
625
800
8
241
833
536
203
792
290
883
568
595
627
776
0
108
543
28
62
583
121
370
566
140
601
64
556
658
678
245
618
123
159
382
79
256
624
56
712
94
759
977
460
882
246
279
338
254
898
507
111
7
226
966
624
165
318
864
985
128
27
187
435
912
447
535
528
39
574
698
368
496
227
135
8
292
537
727
167
116
511
609
46
442
399
76
480
438
706
653
423
144
90
156
654
146
989
518
136
894
52
305
451
396
292
89
561
154
804
758
313
361
850
875
339
416
520
139
198
292
114
171
599
36
471
752
553
351
488
459
606
370
676
196
212
536
106
518
921
672
452
815
467
127
970
852
316
738
321
111
377
201
437
332
276
158
816
636
565
250
863
167
783
305
365
554
631
446
250
539
913
445
858
838
888
344
425
584
174
227
421
742
286
784
860
408
955
179
493
569
608
10
325
849
19
415
673
516
57
67
826
867
705
245
390
579
645
698
105
110
994
336
954
275
204
496
171
491
949
990
734
893
958
566
674
51
829
111
828
105
236
843
518
950
897
448
650
877
268
729
665
128
172
60
411
689
553
273
887
611
296
949
253
261
844
657
720
933
608
262
516
516
678
610
541
747
804
439
325
494
362
52
292
692
521
127
790
818
669
968
550
527
127
214
529
917
383
524
633
54
556
470
410
7
600
447
327
863
23
671
683
375
299
958
86
565
640
592
56
96
672
966
129
20
141
649
417
556
63
108
406
805
1
385
332
79
449
70
121
325
616
644
13
586
899
647
362
63
539
522
912
198
10
352
991
3
791
546
556
812
916
917
904
263
668
941
11
235
640
678
586
149
800
155
829
527
999
80
303
692
795
967
112
609
768
183
608
103
946
862
963
532
840
231
289
442
553
692
796
292
713
577
540
155
209
943
864
880
618
956
259
836
867
745
878
680
874
286
867
425
754
55
86
693
804
54
969
409
906
843
501
457
469
611
787
43
985
999
489
62
402
173
340
748
177
583
797
152
180
590
177
926
618
998
869
759
113
595
746
965
983
778
33
39
885
798
132
399
515
568
461
404
202
964
476
958
987
210
305
65
976
464
871
925
569
741
64
129
913
658
996
807
205
783
310
350
329
251
534
915
41
14
846
314
761
389
371
512
270
816
205
729
726
904
186
849
703
333
93
902
486
89
232
159
272
982
962
603
218
664
94
719
58
384
272
164
216
108
800
68
739
127
365
795
37
665
452
823
959
499
776
831
52
254
20
755
951
497
577
106
349
824
151
838
275
73
825
299
843
78
747
46
455
623
243
769
444
123
700
491
498
913
187
673
365
122
53
472
28
947
787
464
65
420
826
848
315
787
829
743
957
941
129
817
44
675
470
474
729
124
948
670
813
128
59
608
13
542
801
33
818
161
570
689
656
356
98
879
295
776
45
97
270
888
721
966
951
283
892
71
108
330
724
246
873
999
796
824
666
904
573
521
604
885
823
134
121
422
515
109
613
426
257
498
833
502
494
822
492
726
383
336
561
631
525
755
952
625
656
76
342
31
238
905
246
463
947
83
665
392
51
523
749
712
240
800
864
411
378
959
224
720
145
161
842
661
859
936
215
331
675
798
468
836
573
59
536
234
582
614
999
840
333
988
752
196
217
354
801
360
928
273
182
309
151
783
431
294
645
237
629
699
264
414
362
202
203
108
941
343
335
483
679
241
392
986
111
266
773
433
798
533
164
928
860
340
449
202
875
939
315
427
506
851
11
851
804
290
822
193
605
826
346
459
128
990
339
598
973
472
618
3
741
769
81
847
634
491
581
351
767
187
47
647
949
993
503
301
769
925
183
227
567
279
193
383
672
338
616
348
135
561
245
633
122
365
168
811
65
876
784
511
83
876
538
631
776
414
712
853
631
996
38
482
458
63
671
517
710
170
639
898
111
299
357
389
967
663
99
628
872
821
676
640
85
964
8
103
536
498
419
989
265
318
285
999
585
579
485
278
483
789
389
57
208
302
597
958
341
424
252
564
658
672
34
754
193
905
975
245
618
442
845
346
290
169
67
792
32
570
911
548
453
277
886
981
636
96
995
733
467
731
984
182
390
369
938
601
874
228
259
991
261
510
780
562
577
16
811
239
290
786
881
768
350
740
313
239
820
213
295
722
551
400
607
582
861
708
232
90
688
978
76
765
949
11
813
707
436
123
821
797
979
776
0
528
705
482
540
498
929
808
622
582
306
792
268
123
183
635
873
344
391
815
295
643
988
151
964
635
953
839
526
161
796
482
857
72
444
309
220
112
388
741
144
422
120
918
465
354
454
858
299
296
434
475
257
502
532
384
777
177
737
446
307
989
293
309
608
707
980
436
688
353
768
381
738
926
437
735
477
408
381
891
45
183
954
805
491
849
183
376
860
847
593
826
474
215
654
444
791
389
327
580
247
910
958
108
847
521
200
994
929
574
526
693
245
801
245
17
114
730
484
772
460
392
656
505
241
234
383
496
844
886
528
271
261
779
655
592
389
569
881
474
812
159
622
169
360
38
431
915
437
556
753
418
873
740
680
976
609
275
762
783
719
251
681
293
451
197
237
826
57
74
641
958
837
212
144
788
895
724
162
262
680
903
910
998
205
114
65
538
32
827
493
980
902
582
665
84
570
528
542
11
786
642
922
466
901
572
374
971
888
732
249
860
423
730
990
304
120
461
63
991
435
769
646
671
913
959
359
573
421
809
55
40
785
39
608
625
130
911
600
218
809
56
433
181
14
171
600
647
582
947
623
940
585
749
902
192
661
664
396
572
710
668
294
834
803
475
872
816
536
830
764
785
97
219
989
619
197
196
116
837
471
108
147
598
383
746
272
561
247
227
139
213
434
495
801
204
972
544
181
825
712
813
515
339
142
29
483
371
631
333
30
940
28
646
301
492
963
302
501
825
637
499
55
649
379
992
333
990
132
918
118
711
308
942
314
985
798
313
22
65
861
7
430
617
19
618
669
936
407
462
492
813
184
493
576
714
140
482
712
531
368
664
983
308
226
811
583
691
982
942
327
860
240
731
528
633
671
661
667
90
240
466
156
7
440
257
164
106
451
163
71
285
901
454
99
305
57
542
825
690
334
735
364
235
769
574
306
381
694
306
776
336
854
46
381
989
324
572
633
91
817
190
115
358
56
227
76
223
664
35
794
871
368
226
649
484
410
203
401
122
148
477
661
916
567
510
815
827
100
126
390
592
960
389
762
217
501
115
431
261
353
366
755
150
718
407
779
77
336
70
387
890
188
333
402
535
759
687
79
801
560
488
220
923
536
847
544
284
584
275
699
849
545
136
481
731
939
846
831
772
463
277
757
97
166
469
587
468
401
928
141
27
395
54
15
24
291
857
938
455
871
204
12
419
967
625
554
416
965
531
171
211
632
319
562
462
340
464
978
374
749
485
856
76
15
192
29
402
752
270
479
792
851
98
411
491
637
387
79
14
792
9
224
831
940
158
260
542
889
788
831
330
812
797
404
553
622
121
916
829
337
57
233
734
962
451
80
135
830
963
405
593
255
417
905
808
945
971
979
933
570
688
16
791
601
291
571
155
61
315
315
677
310
791
26
704
614
476
236
418
33
148
411
403
577
913
187
414
181
621
593
793
816
14
103
508
653
273
651
479
667
633
875
399
80
194
297
957
43
891
707
201
671
649
319
83
860
63
474
251
181
145
665
704
910
279
435
626
212
515
292
940
870
89
43
405
918
886
837
652
983
240
65
252
264
18
765
160
762
163
667
887
130
593
283
344
871
594
614
795
289
25
598
832
39
493
401
122
913
947
616
620
548
80
461
224
64
30
317
921
371
966
114
467
73
570
698
9
650
171
884
319
613
832
980
504
523
36
167
690
716
587
372
924
50
286
733
598
659
750
546
799
442
790
122
89
972
584
911
234
736
346
778
581
724
791
340
320
425
9
133
196
473
510
326
126
248
245
471
723
951
738
560
40
653
379
544
936
812
235
893
390
320
843
131
103
588
118
52
975
379
961
579
824
800
145
344
743
787
447
106
980
527
783
878
250
176
749
553
104
326
18
481
318
52
604
567
920
986
777
767
12
805
872
795
930
989
881
688
222
51
927
964
206
751
679
744
965
613
850
581
348
357
561
827
754
776
633
332
792
515
326
382
199
479
612
16
944
197
649
872
297
63
585
544
272
300
129
906
443
154
94
152
925
906
107
479
264
943
919
40
391
850
236
628
846
151
646
876
273
680
2
631
732
923
668
150
51
127
43
894
321
449
351
222
834
277
470
435
343
12
250
548
775
784
480
847
724
263
614
536
746
0
398
428
528
455
941
243
944
471
935
530
895
657
163
695
874
684
598
997
700
429
948
674
263
794
86
379
969
499
447
719
382
978
661
298
8
118
847
141
693
78
287
99
524
470
437
833
841
994
999
570
856
770
51
394
477
879
804
375
251
484
853
587
717
899
919
944
474
461
981
774
842
931
320
501
359
141
882
407
166
407
133
344
416
840
619
856
499
733
792
557
952
487
910
566
447
292
767
569
702
312
624
591
779
901
385
901
891
843
689
135
841
807
95
457
978
301
655
73
112
943
223
495
34
411
279
697
597
957
683
707
660
524
25
600
897
697
967
723
402
116
659
561
769
844
226
13
351
904
5
788
186
329
49
605
150
780
624
397
115
526
105
45
25
116
731
194
585
704
231
986
984
687
162
830
313
857
39
553
624
590
481
433
766
299
709
881
626
701
548
945
677
703
737
703
695
455
684
219
504
788
21
764
573
908
419
83
66
168
383
32
582
40
683
120
824
380
65
808
697
829
826
424
201
830
414
332
409
448
182
976
887
728
192
463
53
89
881
770
583
527
571
231
534
66
516
199
52
614
908
64
718
721
867
785
358
986
961
100
679
839
617
887
275
448
492
20
210
780
211
589
186
309
848
724
511
100
450
453
894
851
207
82
763
85
123
479
894
360
137
760
773
309
710
990
433
392
876
745
901
674
409
247
960
438
856
713
593
725
603
345
102
415
129
273
237
579
567
127
773
41
206
485
636
207
402
220
532
381
232
140
236
200
859
23
501
298
340
571
965
801
911
430
654
849
431
566
485
342
590
725
996
49
785
228
312
584
905
444
520
173
335
632
222
962
307
767
46
445
264
491
353
970
127
101
95
22
821
794
546
501
527
139
578
311
772
157
323
469
976
569
967
689
726
435
711
638
989
464
824
920
415
651
800
604
693
902
156
392
766
501
913
685
679
989
403
492
945
98
532
562
902
61
652
51
868
47
717
864
845
919
519
970
44
428
565
722
272
888
234
437
665
898
936
607
452
816
1
786
50
660
34
108
166
19
192
397
647
849
117
583
144
680
41
798
451
942
817
148
816
126
677
767
130
280
250
722
813
574
353
747
628
223
172
303
826
293
881
991
346
445
904
697
435
869
187
30
463
612
11
365
116
914
942
641
334
575
235
584
21
735
832
799
327
319
596
755
22
641
74
525
57
571
588
573
824
723
170
337
93
753
478
629
827
80
927
688
133
847
733
817
280
922
0
814
856
998
67
589
229
473
505
614
853
382
63
641
849
835
834
422
303
52
789
772
719
306
625
774
20
542
577
391
843
355
584
486
955
241
418
714
808
522
663
735
240
8
628
499
401
278
56
208
392
69
491
745
166
595
973
319
231
892
535
75
43
333
732
629
492
548
939
388
851
323
553
734
269
469
361
282
231
984
345
719
907
75
799
125
283
585
207
19
687
497
994
906
445
962
76
963
844
752
751
901
100
370
219
617
0
268
94
684
762
103
720
54
84
573
210
617
191
613
439
305
96
204
925
311
47
664
765
489
551
656
248
355
862
865
350
180
218
602
871
424
433
596
267
71
453
922
615
229
506
348
457
512
344
791
25
113
794
620
787
652
65
48
208
422
285
175
103
561
573
643
389
514
983
267
708
778
714
632
245
621
162
639
612
920
778
586
611
552
763
983
925
774
885
580
661
316
603
803
74
58
581
683
567
881
458
58
914
398
758
412
571
38
440
866
577
34
927
144
583
369
318
187
693
621
920
10
322
360
23
694
320
668
271
65
949
86
980
972
144
637
331
436
472
278
204
775
886
611
107
895
559
304
48
767
272
623
889
227
750
898
326
330
239
264
472
465
681
29
373
854
28
319
106
624
783
772
997
669
228
902
374
248
192
988
811
243
545
99
132
71
659
148
718
317
970
8
414
481
55
831
423
678
823
154
600
302
403
815
289
164
229
776
564
95
979
364
473
656
177
602
446
366
752
627
379
974
353
359
315
968
987
741
402
908
286
784
739
966
202
2
167
690
383
179
11
492
13
521
89
920
116
365
472
758
366
723
567
436
123
690
96
868
136
749
63
134
851
324
229
272
288
999
914
204
266
888
361
993
184
487
372
586
125
710
905
438
810
121
235
170
355
446
956
505
446
909
180
235
424
160
701
655
271
498
623
372
262
689
64
369
388
584
466
724
186
979
969
608
947
921
490
598
756
334
899
719
660
649
48
669
256
783
540
757
111
994
503
494
140
867
746
959
377
303
805
438
337
8
342
452
479
76
41
395
108
259
232
972
110
190
612
552
804
596
499
903
547
767
787
93
96
935
855
319
831
808
855
217
614
301
185
551
304
20
801
419
105
81
237
582
687
156
554
101
906
792
177
25
444
684
430
574
669
511
653
748
592
350
503
572
624
942
436
413
556
48
796
28
346
200
216
733
70
911
49
487
129
234
326
811
701
440
372
563
840
684
992
112
177
867
571
335
961
685
474
898
763
301
842
702
147
266
34
723
336
971
243
27
639
786
680
326
543
366
150
223
492
326
637
695
476
312
246
838
242
244
394
730
701
996
141
400
223
916
59
521
439
473
672
916
285
368
999
250
713
381
172
951
730
893
935
717
732
994
481
308
327
108
511
256
74
267
519
42
723
664
685
445
584
466
605
840
917
679
761
160
703
15
892
748
241
647
709
636
725
433
923
71
817
531
297
384
830
657
792
54
872
715
131
121
978
38
483
911
939
950
849
208
51
5
83
805
334
558
913
957
429
311
381
21
409
324
992
487
312
924
105
199
868
434
605
684
366
877
830
0
996
278
36
382
524
266
453
215
950
121
167
65
690
750
510
759
48
524
579
221
667
25
248
999
93
278
206
205
611
612
662
649
254
116
408
49
818
378
489
72
204
521
604
566
765
729
622
581
349
431
578
71
103
778
704
103
638
65
716
430
890
355
338
232
848
316
652
996
972
58
241
732
533
826
854
304
187
435
251
567
198
503
516
586
756
360
335
399
857
218
656
687
741
308
339
360
776
453
126
480
332
782
653
262
639
191
78
733
615
252
226
902
176
821
497
819
156
514
274
726
748
843
928
505
287
110
492
868
937
372
718
521
252
484
287
760
607
352
373
414
147
123
869
236
158
205
220
998
889
538
320
448
892
427
470
711
122
574
613
352
140
520
138
184
30
552
55
987
609
805
133
735
7
870
465
648
435
535
510
109
646
685
961
271
344
492
47
53
840
501
276
163
20
598
548
110
702
553
72
825
368
992
323
426
37
241
75
987
273
395
947
722
776
8
586
752
963
896
208
71
113
286
334
429
265
394
340
42
716
222
778
928
317
435
118
103
7
376
628
898
473
570
426
669
653
639
649
965
507
64
184
780
551
997
297
995
991
731
651
422
690
524
106
521
675
122
734
712
546
969
54
49
383
810
206
35
721
124
553
684
568
516
377
336
754
29
617
292
83
438
610
705
956
247
872
798
987
863
274
879
47
376
536
117
812
261
10
831
28
624
297
463
775
664
894
27
661
541
66
939
483
313
26
257
987
551
590
521
50
987
46
92
414
705
259
97
50
915
55
982
745
810
641
525
486
790
775
590
564
104
547
784
891
473
997
185
761
156
718
97
974
662
126
766
769
837
33
847
514
332
821
495
479
270
358
660
99
624
6
607
896
212
657
219
221
1
14
495
742
343
671
455
818
401
586
60
756
336
517
600
894
497
941
867
727
508
671
690
64
143
571
354
123
838
253
159
598
172
579
97
975
446
102
309
213
862
334
632
958
829
620
723
109
995
614
183
118
670
872
114
629
316
143
27
209
807
582
134
450
80
485
466
99
544
81
183
969
987
578
16
77
254
357
106
418
603
690
51
384
862
752
753
886
946
801
621
121
145
567
541
317
162
296
334
759
458
192
348
643
50
366
215
588
623
959
413
45
24
749
923
983
87
843
280
808
223
373
257
767
606
882
841
579
808
415
467
370
916
777
95
565
630
581
618
921
230
955
502
820
608
992
541
117
836
475
262
707
628
306
806
614
763
801
489
120
312
95
963
973
489
20
170
320
294
934
455
136
569
166
136
984
189
607
816
960
183
589
540
189
772
586
812
738
754
734
255
61
564
826
211
788
323
599
561
718
121
967
630
625
127
171
340
395
547
264
323
50
485
794
868
368
883
667
663
689
823
717
290
681
206
749
111
122
227
35
765
747
993
195
647
261
59
890
76
468
325
937
759
198
594
461
503
990
193
822
180
356
633
131
945
22
521
95
9
288
443
397
26
780
635
783
255
34
891
204
491
581
843
639
725
23
840
441
819
773
862
863
572
196
681
696
197
200
194
356
666
192
888
839
265
540
510
484
207
354
163
799
295
742
689
811
193
453
37
871
556
65
583
831
159
371
622
105
688
669
361
631
530
87
898
676
306
48
663
814
504
346
333
15
538
145
186
249
595
346
665
141
446
363
708
338
874
206
722
390
385
918
512
322
522
725
535
906
110
354
665
898
494
469
719
193
669
96
776
582
166
687
83
381
184
431
498
301
481
959
349
445
471
71
588
461
364
120
551
467
909
283
518
96
576
81
428
145
783
970
894
634
144
57
82
711
972
248
254
471
801
548
141
852
909
562
135
64
704
506
856
661
669
391
132
774
513
676
962
264
435
975
519
335
2
158
371
600
933
896
654
501
377
385
916
745
615
259
475
778
215
99
723
768
519
482
876
356
738
501
899
620
743
367
933
781
231
975
860
411
592
292
743
464
99
464
466
772
454
223
934
29
371
723
58
35
971
221
952
305
274
248
310
14
712
679
354
653
816
65
837
329
393
691
103
587
949
994
931
757
333
117
288
735
98
57
767
738
757
614
348
157
459
187
354
818
538
309
424
112
275
453
619
713
658
168
6
567
123
484
364
646
125
142
360
140
131
181
346
714
759
29
663
603
741
905
411
953
720
42
850
496
865
415
803
654
478
761
700
948
971
339
753
638
95
339
402
949
13
713
207
263
360
180
641
746
936
510
100
315
498
99
362
177
902
70
426
408
272
364
235
609
621
606
351
476
663
844
628
389
565
301
991
346
408
69
348
583
667
644
147
374
122
470
819
748
838
887
635
57
199
11
754
776
454
621
60
745
937
919
596
64
721
656
63
664
749
904
490
716
949
517
344
321
873
703
220
543
854
149
221
187
749
767
786
276
699
756
921
117
718
32
441
403
204
673
757
435
20
594
324
890
862
466
956
125
218
849
986
261
14
932
723
932
269
557
733
872
397
747
368
376
77
418
284
49
565
294
802
156
8
893
294
0
830
271
337
247
377
98
373
976
311
205
147
821
702
779
540
900
135
66
580
602
942
269
618
69
601
322
382
86
901
980
85
669
399
775
313
607
19
110
407
126
374
404
733
792
249
790
638
28
95
210
351
816
264
25
22
356
476
41
933
970
681
607
338
373
673
861
174
635
992
402
435
12
769
676
621
484
199
230
758
534
109
35
792
212
114
270
739
573
812
290
276
955
919
572
137
674
861
92
692
485
645
250
935
184
239
274
799
474
841
831
506
255
104
572
101
295
767
900
63
719
662
284
795
288
923
899
104
647
493
498
563
313
468
346
270
100
676
130
510
701
604
684
262
832
572
235
571
817
625
743
147
434
549
315
281
835
985
505
73
247
117
296
541
280
571
853
454
280
406
874
151
966
778
827
834
899
184
891
90
413
180
361
711
512
303
344
430
299
590
21
518
665
460
363
316
706
125
423
917
230
46
363
141
757
185
842
167
448
494
280
700
164
582
913
739
300
812
713
61
530
315
384
637
722
106
666
976
776
253
863
625
198
647
547
269
198
862
430
763
900
444
276
837
935
973
603
986
317
764
289
971
934
668
422
822
969
940
735
279
199
396
854
936
574
639
694
695
592
382
33
953
332
383
668
271
307
32
469
525
432
515
668
942
794
126
534
315
859
265
869
13
602
450
654
76
23
281
990
365
801
450
540
326
496
234
172
627
384
260
98
81
448
256
840
300
344
523
727
165
10
535
845
26
816
829
490
513
452
526
798
562
368
465
587
577
953
439
321
86
601
588
901
311
587
295
419
609
810
865
508
415
808
793
986
538
571
840
315
708
652
884
898
983
616
311
257
968
49
894
777
718
46
95
972
853
414
644
421
638
301
642
467
102
434
326
904
873
10
978
42
443
613
227
80
252
256
844
878
26
552
834
18
271
661
888
337
863
639
545
528
19
566
722
385
750
645
620
787
734
935
429
787
826
748
864
12
203
999
50
424
797
717
105
643
142
499
657
166
681
294
331
195
612
979
832
435
614
520
853
590
472
677
802
909
508
515
408
507
923
433
479
450
105
48
630
832
227
658
407
733
528
163
841
896
779
793
916
678
723
552
998
820
591
434
555
472
349
738
468
58
968
146
519
996
611
132
716
597
342
298
974
850
586
370
841
815
451
993
623
660
225
442
376
829
579
702
26
788
570
424
130
247
401
473
623
567
216
894
352
298
161
160
393
655
494
123
819
348
382
679
916
159
918
857
420
247
416
156
736
905
98
792
178
946
839
967
509
342
319
372
370
282
16
200
230
314
714
119
748
596
398
591
443
176
822
334
779
965
668
371
134
438
938
782
63
422
507
124
242
825
694
833
687
179
749
812
890
780
436
870
310
45
454
173
294
787
603
470
799
308
750
834
444
723
793
1
746
218
439
939
140
733
946
764
393
50
835
310
997
860
829
807
877
461
566
366
405
364
758
214
892
946
903
100
14
814
716
980
776
223
608
537
934
436
397
592
461
6
161
217
393
139
714
997
536
67
710
458
624
450
406
789
338
919
515
689
325
428
860
450
203
313
348
769
833
111
912
606
482
269
460
755
561
844
509
545
263
45
796
397
485
124
364
495
488
897
8
854
814
983
865
570
617
405
271
506
815
422
782
603
409
817
367
93
954
614
126
499
524
264
230
789
374
198
685
889
448
657
730
940
643
39
652
177
994
849
224
215
189
689
370
830
179
869
186
356
772
295
965
500
174
857
586
249
333
407
319
314
807
728
127
963
692
836
411
761
795
49
439
361
39
706
171
143
695
205
825
808
667
58
529
732
972
597
659
281
790
748
123
578
103
657
36
23
289
530
460
23
238
538
801
825
439
680
651
906
743
76
942
833
777
976
953
426
102
263
367
133
967
96
344
706
866
125
866
529
6
93
419
430
50
839
820
774
31
719
142
846
172
958
331
595
794
469
454
480
833
985
187
824
202
473
686
143
998
11
284
272
447
977
25
859
260
776
40
590
114
590
799
787
801
739
597
118
241
355
637
665
857
947
955
830
713
279
522
378
592
952
787
63
693
695
111
524
347
316
951
81
231
19
772
413
617
554
128
907
601
381
21
638
725
385
719
728
512
142
40
693
544
287
155
963
362
360
311
703
741
667
453
359
364
347
735
298
194
167
527
639
248
24
303
157
329
668
566
336
210
271
953
8
891
372
378
231
542
856
205
434
517
416
177
351
188
328
110
723
45
995
467
273
505
339
792
301
114
619
723
902
511
664
500
449
265
108
116
620
150
237
461
81
553
307
828
954
900
839
93
634
208
790
109
224
845
841
818
862
822
258
742
351
426
950
708
859
321
582
478
302
221
800
369
827
765
524
104
813
817
930
61
652
388
187
153
969
617
811
353
440
884
874
559
84
183
209
226
288
169
581
470
227
241
173
166
355
299
779
315
954
752
897
721
850
237
815
472
808
462
243
530
476
652
568
499
365
888
299
575
625
473
465
40
339
27
781
786
801
332
916
467
639
549
850
115
71
280
93
901
973
12
817
636
737
915
695
101
177
340
578
912
409
47
896
596
548
94
774
811
907
963
176
230
906
45
95
411
818
300
656
943
478
958
643
937
474
197
46
552
899
367
110
944
954
3
356
975
962
760
481
285
770
721
705
126
390
619
508
570
23
311
625
53
594
68
413
98
496
400
59
979
477
505
957
948
939
181
702
520
941
563
601
423
643
65
488
415
859
824
375
284
35
538
76
300
601
431
952
917
980
223
895
184
426
521
843
659
943
877
450
479
713
662
678
861
558
939
707
786
842
531
568
862
332
422
472
845
443
709
104
497
562
210
302
419
714
44
60
415
351
991
45
949
381
972
793
746
999
167
387
17
890
11
632
573
231
633
623
423
999
97
66
496
995
88
458
844
899
492
793
971
861
477
210
774
743
767
291
122
423
51
33
52
793
761
243
507
480
304
659
910
454
973
646
954
761
238
477
759
576
0
494
98
295
939
569
740
106
799
250
815
447
929
901
227
573
649
352
616
324
980
822
258
236
780
932
706
668
416
942
78
245
605
972
105
5
397
43
381
932
194
302
571
718
873
295
807
171
527
98
885
241
745
498
872
411
855
491
9
615
836
201
104
191
115
333
538
608
308
366
117
415
866
144
497
491
576
252
494
303
645
978
432
201
824
468
412
421
626
362
697
829
226
547
242
999
441
847
133
918
798
446
228
611
895
623
95
116
666
886
143
804
88
158
48
311
305
825
960
688
128
763
405
171
571
619
169
297
857
663
909
301
94
198
315
417
990
923
909
923
882
916
362
693
641
268
906
131
626
59
746
369
503
937
800
802
897
727
22
348
605
742
69
49
701
514
551
935
186
92
865
653
770
843
795
681
708
297
939
485
996
385
852
19
257
150
195
61
545
676
831
873
141
265
861
316
748
741
911
545
312
773
782
766
934
471
794
280
654
367
139
969
508
61
625
871
535
599
895
38
922
780
399
939
611
534
517
385
165
212
417
158
732
34
757
906
508
874
732
58
989
495
109
637
483
995
578
892
586
511
72
333
662
649
325
713
396
230
185
608
211
858
976
354
953
489
709
308
976
430
920
999
669
912
288
570
921
874
236
982
446
561
399
989
106
786
212
276
53
479
318
110
584
898
149
175
655
515
757
887
232
733
233
559
56
598
10
739
991
739
194
81
950
358
377
78
207
398
75
432
581
812
667
674
923
72
730
720
839
682
835
953
265
803
810
667
180
703
86
629
414
290
653
390
691
188
568
643
700
625
70
788
604
924
491
200
391
998
433
497
360
797
376
230
985
907
129
78
766
106
589
30
173
310
97
372
895
863
522
489
678
76
436
943
718
579
517
842
200
47
538
326
301
139
137
25
370
501
320
192
264
472
269
943
729
649
595
559
946
749
857
388
962
948
918
321
773
805
651
293
42
840
381
5
385
573
689
212
418
831
233
816
123
929
243
950
125
579
384
612
646
80
500
215
724
974
351
392
436
631
39
243
829
912
688
832
82
106
840
283
849
516
737
992
611
370
747
843
915
34
137
207
173
809
314
18
432
352
733
639
643
141
502
260
281
5
844
259
845
267
446
849
278
966
725
489
955
450
496
731
764
306
53
176
57
72
78
290
996
504
345
314
316
898
920
59
712
181
48
508
605
357
195
363
101
241
358
489
542
217
777
472
269
551
992
445
158
29
927
566
508
965
364
962
319
50
155
906
671
981
770
222
234
44
289
92
341
809
299
503
164
699
420
929
149
83
563
773
755
140
983
903
174
93
592
723
680
895
358
487
666
150
356
147
688
342
292
279
974
445
914
933
910
941
731
957
47
153
406
93
649
84
692
213
591
732
426
787
817
902
47
503
512
290
803
771
844
583
164
201
880
29
512
306
275
677
502
579
600
446
540
639
384
625
690
453
215
963
692
118
788
0
280
70
546
712
138
103
716
188
546
816
972
507
784
647
841
566
996
740
530
506
479
195
455
704
870
931
323
671
233
169
132
549
693
920
171
547
369
139
262
695
749
858
261
559
651
499
531
809
350
121
327
552
530
327
66
632
87
48
702
808
878
876
57
53
813
216
113
864
969
197
253
755
256
145
38
745
100
787
260
186
739
46
316
136
458
849
479
58
89
645
633
158
569
496
617
689
301
567
7
399
308
464
407
495
110
760
10
131
567
162
431
429
105
323
44
87
322
352
56
804
361
607
656
761
363
609
41
318
360
996
842
961
941
52
619
993
994
937
298
481
877
845
739
138
985
438
580
118
133
275
734
547
813
328
352
147
91
834
899
686
262
390
399
757
274
701
289
921
804
971
397
869
74
214
620
70
214
14
801
288
236
78
840
903
664
338
339
461
149
506
589
410
388
265
108
280
361
699
92
933
767
931
405
18
99
339
146
729
947
461
782
603
797
369
498
586
145
983
862
820
108
798
77
892
755
644
579
285
437
370
621
351
985
246
223
274
320
272
515
874
77
176
772
584
856
650
425
945
11
64
910
93
234
948
362
587
468
55
540
696
971
695
565
757
533
647
853
611
452
651
351
460
52
206
538
696
599
753
833
251
824
323
861
376
790
112
428
346
227
297
519
167
835
262
473
537
416
762
719
358
446
326
180
721
496
672
442
643
666
801
631
728
141
206
194
262
556
701
470
940
410
25
28
850
403
742
115
381
71
527
517
777
137
230
177
594
797
910
100
830
191
735
999
56
346
932
829
822
537
929
945
447
717
289
494
324
28
916
27
217
26
387
853
125
427
127
421
181
62
673
185
657
730
106
936
211
545
872
413
282
218
138
610
613
602
663
945
847
403
50
678
258
974
371
108
845
1
558
782
751
539
733
332
987
816
666
476
95
209
929
105
679
539
937
563
709
955
894
615
279
708
537
661
715
113
539
563
596
457
393
898
3
268
212
593
218
707
71
903
174
719
929
636
494
338
56
801
473
32
433
970
550
817
201
750
0
490
754
766
146
726
546
403
870
529
224
516
646
210
261
626
283
190
593
188
14
262
494
439
89
119
627
700
481
531
561
196
488
231
180
160
713
810
47
663
859
200
248
221
720
943
969
669
564
767
556
278
939
97
140
328
874
832
896
779
736
200
397
655
766
896
141
468
661
903
873
349
635
357
203
244
17
391
439
743
498
834
739
564
502
797
882
899
203
970
538
342
695
51
640
568
290
536
307
422
754
624
985
222
238
280
659
658
308
642
474
236
646
941
261
99
365
770
806
962
138
863
352
387
11
11
228
473
561
291
763
383
130
214
704
312
923
659
280
835
179
595
277
301
664
720
896
63
896
252
876
850
32
312
180
732
620
844
999
590
575
588
430
220
323
362
912
233
229
447
202
218
439
443
685
893
582
688
327
62
70
295
979
27
418
290
145
49
783
357
368
533
99
138
880
146
106
243
182
946
886
343
27
75
870
300
978
316
217
155
266
949
380
39
44
586
985
317
645
223
62
423
372
969
27
607
497
499
274
194
400
672
272
993
925
754
369
235
481
831
810
669
274
54
844
904
860
710
353
303
989
885
556
264
760
430
300
53
928
908
30
365
774
615
883
856
926
345
398
573
21
823
331
896
751
238
780
328
987
626
643
289
492
922
776
799
711
609
604
186
782
354
610
182
705
40
482
649
448
836
826
234
929
950
611
587
426
396
127
88
601
576
72
431
181
146
37
744
949
220
954
184
967
245
60
345
729
686
423
904
326
302
885
280
750
834
380
832
383
897
326
185
761
288
752
17
302
521
545
708
100
279
202
582
876
959
81
887
495
502
912
331
708
644
9
654
958
895
858
625
799
556
290
354
828
263
657
274
456
184
600
383
236
888
542
988
191
727
577
680
805
347
800
43
277
738
472
18
626
407
644
959
177
74
462
977
33
960
268
877
990
679
601
52
533
436
153
204
252
716
702
70
388
101
139
991
871
516
763
101
636
489
653
857
61
579
268
715
153
832
552
238
15
271
973
659
952
222
369
811
765
406
571
221
887
752
964
140
999
489
270
733
798
116
467
232
788
916
586
40
890
951
307
93
231
45
327
681
457
805
818
810
383
388
296
229
533
277
51
917
346
725
107
841
554
699
276
91
916
155
525
791
146
6
298
548
576
876
694
617
561
276
592
758
456
237
910
128
499
147
728
326
348
545
47
112
3
153
953
87
975
972
751
869
25
47
628
483
246
211
334
812
803
294
710
638
64
767
612
222
848
927
559
203
816
437
865
212
663
798
740
598
512
869
470
733
86
243
692
151
851
733
963
636
700
826
185
254
3
680
437
160
201
681
174
637
681
86
427
599
512
34
516
293
128
757
529
38
559
515
525
135
838
303
754
50
225
228
962
388
969
839
862
81
523
642
938
599
833
393
897
314
375
973
55
69
982
455
791
569
142
589
629
944
879
208
553
595
580
198
992
253
140
80
78
42
642
488
409
499
335
155
453
182
28
817
659
491
770
305
249
939
62
617
643
890
451
243
228
804
250
348
126
607
442
696
532
264
792
53
636
402
302
438
800
104
487
845
533
429
697
322
176
135
522
620
836
525
666
900
967
168
137
958
862
750
267
93
721
59
345
979
399
597
937
567
257
570
806
781
590
469
62
769
114
677
866
184
483
506
711
932
241
544
44
234
252
956
945
848
195
845
457
296
170
652
414
573
414
905
284
441
985
84
767
931
112
515
850
645
858
402
424
968
738
175
206
328
34
961
238
364
793
534
33
380
392
657
758
811
213
191
761
64
895
694
898
645
80
260
543
70
666
831
266
74
313
284
670
765
540
533
501
36
48
170
996
517
299
546
681
995
321
927
813
664
813
835
43
400
668
852
966
717
998
688
417
331
273
524
809
996
334
897
923
471
939
944
553
42
974
784
912
172
640
394
911
32
260
733
572
223
978
396
680
473
525
813
509
950
954
929
232
52
742
879
260
897
273
376
609
673
315
812
703
315
214
788
678
381
129
523
669
440
393
39
589
335
223
217
227
311
841
378
338
73
267
193
533
768
693
362
836
253
91
798
962
72
564
602
65
234
582
953
405
480
976
166
52
976
402
404
759
781
206
138
908
198
530
133
209
622
195
121
147
333
379
42
13
867
572
686
850
356
986
104
40
123
285
137
233
29
393
428
399
796
359
83
113
393
408
292
970
387
58
784
622
109
825
466
145
292
149
999
932
90
284
673
557
990
876
472
348
349
582
394
882
979
32
226
457
787
967
622
294
673
702
744
504
417
337
589
727
774
644
410
220
802
956
955
909
779
973
22
636
15
591
9
437
106
348
983
48
89
891
293
731
729
705
843
82
121
380
608
516
35
286
493
913
956
246
670
942
40
625
354
952
725
482
433
997
584
653
211
0
216
980
579
789
629
173
878
547
628
401
242
410
859
908
596
407
543
384
443
590
377
51
915
66
302
774
798
426
358
888
532
961
997
808
657
676
589
379
629
150
355
953
860
668
278
970
515
734
131
564
499
527
512
810
981
558
896
233
444
930
8
212
217
311
703
503
104
57
507
853
374
830
43
485
487
865
926
343
321
244
567
300
580
421
338
330
984
329
459
245
230
937
181
484
926
600
873
77
568
114
690
168
890
788
415
909
432
794
835
774
575
915
825
564
257
551
903
582
163
408
312
713
818
248
455
118
659
230
128
487
82
574
6
497
740
471
843
375
926
80
346
278
627
442
770
640
42
793
562
204
283
950
187
697
209
533
661
435
482
324
604
628
185
617
616
361
0
649
658
787
2
850
560
337
916
335
286
287
104
868
836
6
46
268
290
26
450
836
884
729
841
215
441
316
848
141
956
333
147
197
975
772
865
762
644
315
781
517
936
493
33
472
138
863
848
296
476
554
606
974
722
525
73
756
870
789
225
264
696
396
609
770
145
85
444
761
707
21
328
80
503
799
118
628
370
265
767
611
769
434
979
825
597
876
935
345
912
685
741
347
317
341
528
379
452
910
414
44
496
635
347
748
224
851
880
140
418
365
800
627
731
130
801
326
482
129
400
104
274
625
796
115
444
45
783
209
99
681
884
288
459
374
107
161
978
622
248
96
439
780
127
245
991
68
93
353
572
959
166
583
460
700
566
239
732
567
919
251
127
436
357
402
528
420
954
585
670
512
770
239
535
306
589
609
637
158
360
951
598
752
569
546
595
544
81
264
412
948
177
965
132
126
261
122
989
580
69
85
395
607
448
216
773
247
775
110
117
852
18
280
846
323
175
921
899
843
659
733
419
161
407
104
914
272
925
989
443
358
304
396
819
186
247
809
727
62
532
822
629
576
296
360
561
542
713
773
297
244
983
367
508
292
339
715
167
632
448
378
916
570
707
898
933
801
928
787
153
721
395
975
438
795
291
797
365
620
564
966
43
65
554
126
470
888
423
556
435
163
194
717
726
603
750
205
333
994
951
358
416
846
365
225
123
579
477
129
448
382
309
515
914
255
740
49
803
170
502
420
334
172
513
152
846
681
735
552
857
216
905
959
704
930
826
378
117
144
413
822
211
784
437
486
328
937
687
299
19
199
823
623
587
957
34
936
849
967
763
637
997
493
130
708
13
253
461
232
387
931
683
824
948
580
793
832
365
953
23
49
253
213
13
914
900
298
280
106
998
689
842
833
859
743
302
606
345
543
743
230
358
516
727
97
993
176
569
982
680
719
901
45
558
510
243
867
887
824
596
872
719
648
31
977
713
984
653
924
234
472
215
957
459
863
833
502
306
92
726
293
828
420
42
581
340
993
625
744
962
441
373
34
299
42
257
543
957
596
10
205
10
413
5
503
871
145
925
784
694
22
677
589
437
190
67
344
100
730
618
927
975
455
478
543
629
140
387
15
262
148
243
0
490
389
366
617
151
696
162
752
315
613
158
785
574
54
396
804
258
217
558
359
825
762
417
931
855
989
182
392
758
827
627
471
458
50
937
824
451
797
635
53
197
967
792
982
546
587
764
148
547
942
717
946
496
275
853
779
21
795
672
165
59
818
728
559
24
570
451
459
650
564
12
525
508
574
286
294
694
1
720
148
275
526
753
319
635
379
492
906
818
698
36
596
223
660
211
808
650
530
18
774
932
762
726
46
796
718
641
771
555
239
854
389
539
301
522
164
870
151
118
132
141
837
790
654
237
951
780
237
735
796
964
260
607
629
781
806
385
228
176
269
906
186
868
308
955
698
60
153
646
614
597
537
416
538
462
659
514
235
526
345
116
184
156
149
502
591
94
956
371
980
220
26
378
832
433
644
344
828
209
788
281
126
527
926
802
907
523
364
486
126
316
339
767
257
864
602
135
344
41
689
169
340
353
462
787
401
759
352
929
912
86
162
44
414
949
327
112
26
437
102
441
995
194
350
686
809
78
612
290
958
284
826
161
768
343
536
648
505
37
695
366
231
430
336
14
182
144
885
26
207
970
783
192
17
635
167
434
128
312
348
8
352
291
46
208
293
823
690
67
257
274
676
772
929
659
64
543
588
774
201
30
55
993
111
987
614
631
569
140
57
616
566
453
677
165
889
125
977
473
123
875
946
631
163
851
206
34
735
725
133
601
842
581
911
854
451
0
431
367
602
282
723
517
759
431
958
373
728
311
14
142
972
785
147
71
561
0
285
181
802
132
185
402
31
540
698
334
643
801
134
528
96
417
777
160
543
271
210
28
377
200
246
414
442
17
560
255
100
53
779
486
220
551
250
182
959
409
421
52
666
251
826
816
936
100
886
847
59
788
924
40
144
332
482
450
22
912
151
497
329
472
548
407
451
914
894
199
691
996
725
827
198
396
752
893
906
502
430
911
602
145
933
265
237
542
62
470
548
876
482
254
757
515
711
521
848
697
42
337
897
522
213
501
248
166
382
425
520
650
143
576
690
64
770
840
180
723
730
611
487
545
613
316
705
160
397
328
180
696
428
541
513
449
638
129
312
608
888
897
330
687
724
497
817
915
977
419
246
162
154
225
204
40
257
569
857
595
53
101
808
861
152
88
231
579
193
10
857
382
520
733
427
947
434
39
871
802
497
717
42
994
300
876
132
118
105
742
966
921
776
28
602
862
799
809
879
276
694
786
998
775
470
847
7
332
431
861
170
928
364
456
820
962
362
139
860
25
719
623
935
998
450
588
888
577
339
644
115
269
959
358
676
735
425
350
816
668
84
963
698
666
107
55
435
92
16
732
437
570
0
288
26
255
183
80
819
333
686
400
452
631
774
779
417
210
268
318
821
275
259
335
986
80
521
924
362
97
646
797
820
125
616
565
782
159
546
83
698
87
812
195
409
787
189
99
4
668
725
408
255
186
404
338
928
68
58
147
467
1
371
529
352
208
298
569
857
623
30
236
287
985
614
330
213
999
334
455
450
374
94
922
141
947
270
937
652
195
342
870
920
450
904
270
95
567
448
767
518
615
18
562
780
666
705
267
577
703
98
383
160
745
323
126
787
692
126
90
32
950
195
382
272
819
665
12
117
170
670
782
821
838
967
145
810
987
903
553
826
100
144
439
878
912
999
358
382
903
858
612
634
629
898
896
132
451
673
168
714
965
680
737
617
55
203
276
657
552
859
494
718
173
720
235
288
696
213
259
342
349
988
536
614
832
138
777
177
679
600
540
363
671
333
310
293
432
688
265
399
913
266
933
186
208
423
586
734
402
750
440
891
115
267
146
53
854
615
827
8
523
425
635
830
848
271
350
770
523
2
165
739
271
801
215
390
480
343
39
663
213
89
574
275
69
332
585
649
185
457
802
691
586
508
825
958
261
240
825
528
15
489
614
762
921
471
256
695
641
223
599
116
287
836
594
70
812
377
450
466
610
255
24
277
357
921
603
782
26
533
612
483
466
687
409
22
394
569
899
279
424
596
74
974
628
490
964
412
536
66
637
151
462
773
819
660
102
573
112
38
16
262
494
244
111
232
409
307
811
830
814
237
514
913
988
215
729
851
910
374
797
919
19
38
104
889
397
161
125
314
29
706
700
3
436
508
494
595
91
542
586
428
347
527
814
587
509
0
253
798
221
986
785
441
194
654
283
780
187
605
337
43
139
79
94
395
536
104
968
793
5
131
567
824
211
395
60
185
681
634
838
182
378
723
998
289
666
300
195
917
108
326
276
650
967
416
241
447
323
439
612
22
424
839
743
128
574
493
179
543
822
586
962
193
305
575
516
920
690
636
179
328
305
786
772
409
562
473
449
477
652
159
100
944
134
37
306
659
621
452
719
762
52
295
161
478
19
151
457
419
532
34
330
234
209
428
472
651
662
453
739
895
68
225
534
298
851
674
898
93
438
494
109
754
81
368
904
833
332
953
850
385
629
770
626
11
169
38
568
47
621
177
80
971
328
887
774
450
619
267
810
623
998
893
619
290
264
711
704
382
677
338
377
593
687
717
969
800
525
34
905
747
376
961
175
536
138
866
904
220
180
581
780
616
191
740
994
650
562
175
492
273
34
350
879
663
198
355
254
743
606
694
759
620
881
512
416
136
293
780
868
148
839
43
290
858
690
293
193
784
89
721
901
672
607
849
713
939
951
566
410
524
429
925
897
404
536
683
111
329
798
179
316
643
912
974
429
436
471
442
50
857
192
89
401
965
988
527
77
658
893
569
50
336
393
554
429
755
690
335
228
242
279
257
761
415
277
93
915
34
66
9
168
966
63
861
222
125
166
884
400
627
948
593
222
946
572
982
903
744
682
517
218
620
582
79
479
258
910
105
402
902
765
28
734
150
403
462
152
83
860
974
152
642
541
951
841
412
916
308
257
220
695
760
316
266
833
63
181
322
90
408
810
785
330
851
385
547
911
71
572
790
596
557
58
852
328
652
66
822
464
132
981
928
883
625
558
522
140
66
253
770
685
92
590
165
122
799
650
338
949
235
558
221
921
365
625
562
80
497
614
729
297
384
269
505
59
47
825
446
501
571
340
841
947
485
597
824
267
537
794
719
208
919
344
499
253
149
618
481
473
45
453
649
11
919
871
541
386
975
826
944
785
310
655
856
559
550
832
329
440
335
18
203
291
679
608
759
759
451
118
156
353
143
575
981
753
54
625
557
302
368
242
346
633
685
54
359
232
110
603
471
380
372
100
108
488
167
872
372
629
327
317
680
946
343
473
87
539
305
396
519
713
72
532
112
863
743
110
927
304
619
657
214
853
100
832
567
482
652
618
225
849
350
938
101
584
471
217
502
841
809
883
5
721
348
754
764
309
924
732
50
232
931
922
641
921
345
894
109
178
728
414
34
80
994
363
309
970
263
961
111
170
507
709
792
293
851
159
804
102
728
455
161
454
542
660
815
149
666
445
104
971
507
94
80
287
666
604
513
339
363
916
398
467
176
373
832
676
944
163
711
218
19
694
914
285
608
170
898
402
105
680
787
954
394
953
590
874
485
256
193
582
747
546
449
436
50
698
165
800
329
138
907
248
891
877
123
808
609
348
906
207
932
687
719
832
849
778
82
413
484
283
633
440
910
456
903
42
267
358
718
35
834
944
163
743
187
46
263
8
301
260
885
517
515
136
386
236
257
955
813
150
942
872
532
255
308
850
461
109
793
288
254
530
672
665
699
46
685
683
428
905
16
33
700
514
50
733
368
176
596
709
228
781
803
292
76
373
906
681
342
564
265
722
299
591
681
277
801
894
312
321
527
607
983
813
505
828
409
602
280
698
4
108
645
460
678
22
259
250
431
471
236
652
155
617
12
549
508
531
321
36
395
96
103
239
857
35
749
762
804
35
31
238
760
63
507
685
21
677
58
793
618
77
750
706
467
759
279
181
604
190
329
75
276
63
110
92
440
233
219
863
65
780
970
873
295
670
411
994
760
251
215
95
526
202
518
177
182
224
311
593
571
676
665
712
262
97
299
80
744
314
88
402
998
637
989
648
612
211
501
719
954
242
639
728
593
155
164
795
619
927
617
211
487
729
741
215
892
630
518
843
872
761
576
429
551
625
351
858
835
645
462
727
567
289
699
342
962
925
410
111
730
560
860
388
849
175
648
828
469
239
427
325
453
210
285
27
197
636
873
795
126
800
507
202
781
312
907
570
86
104
823
317
81
102
824
739
173
897
890
290
821
111
696
699
582
652
233
344
492
827
530
91
222
195
877
476
845
215
383
958
952
960
572
794
825
45
517
445
585
363
472
64
174
561
671
481
19
1
832
97
366
788
989
828
414
285
349
832
252
436
562
224
429
808
865
462
318
950
187
702
486
487
746
259
742
889
475
580
174
408
379
945
226
12
150
592
84
295
485
718
971
118
198
257
523
554
33
469
150
686
937
504
995
381
547
973
729
381
699
684
534
333
108
263
80
650
354
403
934
832
784
566
284
40
385
797
824
451
226
756
247
400
92
854
120
999
982
106
93
56
438
154
436
144
862
586
191
71
456
940
428
116
391
103
897
930
762
703
985
26
120
167
159
980
667
257
522
625
808
642
619
997
204
719
253
94
814
763
435
928
496
816
150
996
633
219
788
704
672
926
409
802
235
337
66
301
216
811
677
600
591
175
409
456
233
395
421
21
22
987
733
340
2
94
209
385
614
895
285
226
864
502
427
106
502
71
35
731
780
429
176
9
644
446
200
272
334
641
323
258
736
334
65
154
501
466
93
562
976
478
209
988
225
294
937
281
90
882
991
375
815
376
163
800
892
559
992
929
65
900
391
586
39
94
31
255
736
903
863
566
354
998
393
138
115
872
562
904
457
754
440
124
168
904
655
959
542
726
437
488
786
479
805
219
278
364
796
802
799
519
634
307
687
722
445
544
27
575
103
318
954
644
567
12
923
780
672
262
354
243
852
424
298
575
718
227
749
791
434
666
604
653
409
72
82
713
935
195
721
591
159
416
414
951
130
974
45
327
510
394
699
651
822
23
790
477
683
450
949
421
459
258
864
745
531
755
997
346
720
870
647
588
379
235
952
586
348
82
96
900
495
992
893
974
179
229
2
711
986
936
433
3
926
122
371
488
567
974
154
717
257
576
438
437
626
382
487
499
809
266
21
696
103
791
247
479
257
658
12
656
661
721
993
112
63
410
632
604
463
988
77
908
256
71
185
718
772
281
333
862
845
923
594
392
483
842
996
63
484
276
895
283
471
390
194
404
612
515
132
264
925
630
774
978
594
482
52
390
138
466
285
94
378
772
679
28
961
783
96
271
936
80
471
600
903
866
9
982
452
809
331
35
251
734
595
84
709
445
207
296
489
559
688
950
555
483
638
398
263
489
279
411
199
14
993
759
585
307
721
244
720
835
893
911
4
163
772
922
539
646
563
432
604
629
975
491
933
389
50
698
152
198
375
240
676
807
543
33
871
293
350
127
141
121
592
566
407
186
957
537
470
604
960
174
875
244
835
450
447
853
941
347
268
377
518
61
701
849
327
862
289
875
307
525
513
844
402
697
765
701
62
92
35
943
333
122
600
979
301
355
524
154
920
935
502
17
927
32
235
617
24
149
943
884
484
103
388
454
367
33
293
212
597
480
289
988
698
415
232
274
627
57
554
269
442
746
444
266
158
535
5
698
655
632
820
985
495
881
158
810
993
169
678
32
850
918
362
131
503
760
783
828
504
4
521
673
488
892
926
574
417
775
175
796
630
229
730
804
501
756
794
652
743
759
20
79
480
558
861
738
504
201
297
586
171
776
943
360
599
642
81
962
905
25
977
471
401
869
291
126
81
714
719
868
733
862
302
381
926
667
926
874
154
592
343
139
852
88
215
254
652
142
946
346
488
925
957
199
31
73
278
310
28
958
983
785
714
866
15
856
712
283
256
910
212
85
453
329
558
445
123
240
233
841
895
292
118
920
626
788
525
703
467
967
911
719
716
249
980
787
37
755
208
120
763
596
343
176
332
380
203
600
925
395
466
738
665
661
207
682
140
77
717
104
681
834
198
301
12
421
370
202
495
2
488
655
897
446
604
901
340
592
854
256
62
696
916
193
854
739
466
435
683
918
858
865
366
333
812
627
890
569
120
889
898
992
62
180
425
997
961
82
886
413
664
387
36
440
144
701
254
473
981
443
348
46
544
151
949
321
314
905
929
275
426
160
767
837
122
493
977
470
599
445
739
458
27
193
444
894
887
355
476
693
9
519
365
790
660
378
255
64
412
797
752
529
538
614
414
319
715
656
495
769
936
900
186
96
986
963
250
945
994
433
435
692
924
137
255
322
940
790
655
556
443
16
793
901
175
484
894
337
475
899
391
921
520
397
949
81
335
231
267
245
53
307
64
434
436
363
681
446
543
594
142
556
868
958
897
993
694
319
996
530
75
298
426
774
775
357
507
161
689
254
150
799
950
177
809
617
929
358
965
122
376
444
92
381
392
352
82
632
105
794
791
97
851
922
192
400
450
492
65
676
79
740
650
261
643
894
456
337
346
150
556
965
174
270
597
316
764
644
442
454
54
207
308
384
967
373
315
288
487
694
875
192
878
555
803
545
97
105
359
190
960
643
779
282
951
174
176
843
701
125
223
402
589
372
281
484
500
956
639
965
532
589
720
814
16
317
596
801
541
811
757
216
193
252
379
414
428
352
691
266
756
874
863
186
352
193
529
437
576
464
320
851
677
152
851
573
214
601
578
903
584
121
827
639
39
94
410
492
188
583
748
426
726
489
65
370
574
290
527
397
917
664
712
824
335
490
20
607
100
894
454
765
194
695
373
594
851
679
882
205
715
446
330
521
368
435
875
654
127
404
497
114
383
517
668
529
826
367
63
127
594
540
218
226
908
845
663
784
646
187
427
453
595
664
256
589
595
424
984
729
271
645
743
360
120
578
815
81
231
488
269
208
95
523
662
683
49
357
764
387
402
909
268
552
306
283
716
781
603
597
617
501
123
683
554
33
820
250
260
359
855
250
646
880
232
453
700
606
22
287
430
563
745
502
861
312
235
997
907
64
521
288
140
686
219
222
507
793
333
445
491
371
807
683
15
681
489
716
522
433
635
515
54
823
666
315
130
218
232
998
443
639
409
64
998
690
731
971
507
778
259
778
466
889
264
988
124
366
230
592
134
673
57
722
315
462
898
29
511
715
288
941
143
926
775
937
357
258
70
413
564
867
476
654
544
944
969
506
3
534
899
935
39
243
513
780
580
482
824
433
567
503
487
292
523
765
286
384
139
737
365
193
209
136
321
62
176
635
677
602
496
841
496
39
389
668
848
369
520
939
134
874
597
111
143
297
52
34
682
799
146
525
750
746
221
958
851
90
105
518
509
2
41
826
585
805
979
852
660
746
303
39
605
977
541
660
784
98
49
911
866
242
163
310
420
592
136
809
123
127
149
234
941
827
515
870
170
352
315
791
507
433
347
122
227
954
580
819
569
969
700
152
696
701
273
377
831
300
400
798
71
737
552
756
123
779
556
375
822
656
474
869
713
100
618
946
175
259
999
426
561
204
350
581
455
375
353
215
128
176
765
689
630
812
630
29
895
97
487
713
844
426
148
964
87
499
406
644
189
541
16
942
712
335
595
686
363
791
373
987
653
354
28
166
669
295
119
903
638
184
502
934
497
883
682
31
602
0
574
814
456
56
470
611
982
995
473
134
645
716
513
318
105
455
183
993
684
938
3
548
430
361
517
708
427
326
932
377
411
523
364
702
63
118
882
774
34
779
829
231
796
180
596
591
104
193
403
688
28
664
636
359
164
157
869
529
263
711
156
844
964
3
348
907
641
565
663
597
518
463
769
616
954
375
308
302
117
697
196
933
72
309
288
399
727
405
928
638
98
28
753
111
70
642
769
368
834
850
445
596
632
519
534
157
90
198
867
585
444
886
796
944
176
389
830
5
776
513
886
132
449
832
91
551
353
913
773
220
611
454
581
445
923
355
669
900
272
669
914
268
354
311
303
653
585
785
757
544
71
153
516
601
293
553
700
468
383
110
163
259
230
854
806
831
567
853
601
435
67
693
958
4
821
506
345
718
720
381
636
627
636
533
982
812
96
120
535
788
445
526
356
252
919
416
616
173
615
7
45
627
992
607
131
118
14
415
457
287
434
564
977
657
693
919
325
680
525
547
906
416
126
301
977
648
724
416
189
833
662
494
716
211
863
975
490
489
267
937
286
917
477
21
241
526
697
740
61
533
216
559
918
730
71
468
10
118
462
522
351
437
720
177
539
847
225
344
319
50
681
670
377
378
180
80
873
824
449
725
797
612
709
616
975
448
832
735
689
251
60
354
119
49
440
636
371
536
216
246
855
93
262
187
233
465
397
561
433
170
87
444
808
694
274
662
798
160
241
204
651
516
171
402
498
864
632
847
407
331
94
999
772
803
428
523
979
337
444
674
4
826
25
854
484
148
39
676
430
17
349
278
647
967
137
984
12
896
229
828
104
703
869
310
235
740
698
367
449
654
387
549
895
281
194
165
957
683
296
819
405
420
307
963
389
215
198
998
232
630
104
507
397
656
716
306
762
679
971
326
118
69
200
973
686
457
527
850
656
640
364
16
274
731
943
815
211
254
362
593
524
836
311
700
998
542
321
163
74
584
970
485
976
763
313
452
656
428
77
634
89
557
232
376
177
629
344
730
10
536
956
918
795
151
512
767
201
713
529
386
321
380
782
676
300
175
355
393
430
272
643
593
825
838
473
804
19
190
509
552
289
97
111
168
917
314
221
183
944
212
217
378
439
844
478
861
560
4
697
65
367
468
56
230
355
566
268
266
515
809
476
879
457
127
263
589
484
437
742
174
650
793
816
152
435
907
214
462
781
763
299
201
160
271
898
616
606
999
811
554
223
715
765
510
319
633
278
789
146
143
149
403
754
379
78
335
880
967
462
362
714
376
174
741
647
247
493
536
439
890
444
442
66
513
615
996
273
452
847
700
280
843
255
801
999
975
83
410
233
993
992
640
769
493
395
544
164
525
422
910
69
779
167
141
549
207
760
789
108
695
485
862
468
579
251
611
452
485
825
648
667
356
140
810
384
168
212
522
624
185
414
515
99
583
138
523
296
494
251
681
769
519
41
108
440
366
198
649
504
985
154
942
496
833
387
842
637
97
1
232
322
695
142
541
436
953
578
951
288
263
838
809
872
255
222
365
366
723
764
826
166
838
360
718
697
579
131
469
976
207
284
263
422
288
179
988
919
883
316
303
122
890
364
280
681
575
722
370
642
258
252
595
705
690
273
565
213
232
217
815
373
875
735
657
437
705
487
848
358
359
169
623
947
702
935
642
955
792
902
593
670
639
951
510
683
724
931
312
107
1
972
16
134
635
583
317
469
807
480
718
355
680
492
900
934
280
34
172
530
131
77
51
21
412
818
91
324
426
300
385
596
889
101
722
559
732
293
744
831
452
821
23
505
85
327
586
443
720
910
996
51
122
819
973
614
435
347
30
649
671
155
565
356
330
378
558
200
841
442
475
819
229
699
418
746
286
128
645
119
686
577
729
615
543
387
145
807
491
137
849
714
36
481
319
614
699
206
30
465
986
220
653
518
866
664
947
153
827
162
118
752
67
682
710
530
322
811
585
112
757
649
457
121
722
698
220
508
695
513
791
146
942
881
99
795
750
112
850
137
20
679
329
264
322
875
928
337
641
522
342
150
352
684
632
442
419
69
694
716
144
902
923
1
662
604
847
353
141
882
973
591
698
325
501
898
58
112
25
899
597
599
949
27
333
104
682
291
731
630
999
134
845
822
779
113
245
462
520
816
595
95
938
453
54
604
698
474
660
182
74
345
221
929
237
594
996
777
608
425
50
618
417
566
604
549
344
535
570
304
858
920
969
588
309
278
193
243
515
211
823
654
611
589
519
288
861
632
171
895
993
122
637
125
891
886
521
442
869
541
97
106
580
28
630
785
713
576
797
215
197
448
829
997
958
665
927
21
186
827
449
23
588
737
375
787
121
400
440
190
44
165
326
909
376
642
165
926
868
265
964
400
679
247
966
825
994
707
692
685
186
908
465
924
718
159
398
85
409
651
827
575
79
704
121
592
584
55
682
664
11
757
654
505
865
814
685
973
450
552
37
916
403
447
178
706
579
59
294
688
833
118
827
452
937
494
509
821
503
703
37
10
345
367
426
369
100
355
759
995
3
872
488
262
299
902
21
659
299
585
182
224
921
152
656
994
9
71
762
304
661
101
641
86
528
238
312
128
350
995
273
782
567
883
70
797
185
682
179
624
859
968
82
698
907
880
53
827
669
287
383
541
983
132
950
259
633
107
19
328
120
212
783
659
645
124
665
54
824
518
172
96
65
807
455
656
797
268
6
342
557
929
369
407
707
139
700
863
196
9
783
312
351
433
850
69
320
180
956
13
703
170
564
627
515
657
339
295
43
502
826
907
417
310
846
93
990
265
371
139
971
971
293
618
604
3
214
742
534
463
24
163
990
469
24
241
107
529
514
851
741
257
734
182
840
803
87
15
946
630
409
320
672
162
125
779
208
596
613
793
953
596
769
981
596
568
954
526
143
419
365
141
340
482
31
776
385
283
193
354
407
475
126
137
267
14
106
828
729
133
876
219
362
145
401
880
457
437
747
380
499
506
707
450
526
172
579
763
301
16
396
679
911
912
120
688
440
685
649
875
959
605
898
667
768
882
882
896
565
736
597
939
136
420
336
911
19
718
923
48
579
71
640
713
714
251
867
524
950
14
241
971
11
532
487
340
141
789
344
126
884
642
523
2
480
308
277
322
591
338
373
86
767
856
285
781
436
564
37
281
650
819
567
136
807
298
924
96
269
772
342
59
480
234
265
499
79
783
492
769
293
466
430
583
435
244
139
537
37
663
519
880
792
201
387
147
887
97
95
377
929
256
818
588
177
938
905
751
861
248
175
293
983
539
346
542
810
149
916
496
624
82
526
421
59
462
865
942
15
674
373
146
882
62
888
256
784
711
627
954
503
204
206
833
190
249
655
942
292
920
616
284
808
531
394
997
113
912
380
411
165
980
646
326
678
323
573
658
899
707
719
630
584
730
508
770
87
902
361
314
349
799
196
85
579
275
855
150
408
217
763
988
899
859
836
419
626
494
789
800
842
196
365
407
866
846
834
260
36
165
393
518
368
307
189
5
741
887
383
362
270
961
310
796
601
373
779
977
116
726
227
67
890
190
387
711
779
966
153
129
375
449
144
571
565
118
158
364
844
260
940
204
651
189
742
71
310
48
310
941
805
268
659
671
317
937
127
955
649
564
911
897
758
690
852
562
606
75
559
132
194
425
232
380
433
25
771
230
375
133
617
990
603
940
366
855
344
191
123
603
958
656
539
82
120
235
223
416
127
964
892
767
688
572
966
693
640
679
125
446
403
480
219
719
33
375
274
863
695
211
956
555
517
26
129
379
182
278
999
509
418
100
621
424
938
507
562
990
652
611
841
907
26
456
243
274
412
873
316
236
376
48
473
185
107
658
714
885
206
278
258
995
28
322
21
206
320
577
903
183
932
565
163
408
22
127
645
782
941
66
295
704
913
12
400
262
340
411
180
728
502
323
855
126
493
141
716
933
830
682
204
488
606
846
509
761
223
104
436
91
131
225
736
69
234
854
0
551
150
589
478
101
748
285
753
848
7
786
119
400
352
310
85
616
323
12
541
391
788
735
533
461
740
616
662
452
459
449
327
598
279
544
299
627
440
422
201
931
183
166
645
857
586
287
111
70
591
485
512
899
200
590
181
85
303
920
388
696
81
538
118
835
143
51
774
58
538
417
982
446
920
707
216
98
932
977
719
414
441
626
226
787
306
985
236
203
386
216
879
584
924
302
106
982
918
529
362
330
76
768
458
582
527
821
233
208
451
84
116
749
888
749
634
864
267
44
885
327
412
15
789
185
258
270
693
74
604
552
80
660
446
441
433
286
803
35
525
792
258
526
712
823
637
350
296
439
518
305
973
746
835
445
841
46
52
77
647
519
626
65
486
308
706
85
430
454
616
844
90
748
955
124
998
853
770
751
650
476
271
907
125
123
592
355
95
740
523
587
943
30
275
542
637
899
352
774
891
637
899
675
486
304
962
903
764
82
71
368
464
473
523
352
246
255
628
866
277
169
884
57
352
348
440
731
715
753
807
452
429
271
163
187
363
744
891
842
779
334
581
34
169
995
488
421
690
762
74
451
443
969
664
924
979
922
251
942
772
429
202
619
252
203
55
269
646
11
620
626
524
652
731
924
292
153
22
56
798
246
134
941
222
327
282
342
142
372
931
938
315
546
626
319
566
163
976
408
75
66
643
487
3
844
86
153
366
560
158
182
36
662
574
730
344
493
652
751
815
639
716
220
832
211
999
28
64
688
950
951
864
136
183
312
487
153
285
376
503
943
212
984
673
457
158
985
535
678
337
565
394
351
383
371
138
441
747
162
681
766
530
890
362
800
105
234
476
169
971
230
500
201
291
518
560
622
513
285
841
788
140
302
998
745
799
319
727
953
14
353
372
265
233
429
597
95
423
389
479
300
519
668
98
599
692
544
687
383
684
240
649
239
384
59
530
279
89
467
581
304
460
175
176
871
365
872
141
998
550
791
113
780
574
726
770
228
442
183
140
131
287
33
731
509
399
325
449
98
39
883
906
995
761
553
900
653
675
795
402
962
157
667
190
86
353
246
828
236
32
913
853
628
660
977
983
251
700
665
859
200
937
899
804
947
813
261
189
944
387
451
312
378
258
607
670
616
359
160
677
515
881
201
429
531
725
534
519
621
426
496
330
58
137
591
380
10
550
60
282
515
400
762
198
582
140
351
509
301
243
938
442
615
208
645
495
259
308
160
869
50
139
385
277
206
825
844
798
230
651
567
594
763
107
673
576
524
823
681
842
122
253
607
402
777
576
116
768
473
890
537
718
926
393
745
782
260
525
216
174
737
590
32
500
797
932
128
466
579
162
274
131
621
456
313
117
357
220
945
431
941
843
924
887
198
807
441
977
904
564
465
284
716
555
492
866
254
912
754
247
288
757
283
963
741
497
406
777
911
10
425
648
80
527
982
941
819
968
653
153
79
268
158
600
451
841
741
217
537
45
728
812
804
832
412
490
299
78
917
466
741
80
930
738
92
381
402
875
348
309
977
660
291
744
682
250
977
47
911
753
810
220
231
40
440
738
58
660
55
13
814
195
951
747
803
704
432
533
571
235
693
989
104
714
990
233
551
685
659
179
571
508
469
615
660
832
297
179
768
114
597
277
800
601
315
30
588
992
364
114
784
828
288
378
141
503
879
446
75
276
690
699
396
726
662
402
179
252
602
231
478
367
291
6
468
167
770
55
612
654
675
461
622
192
444
22
805
427
863
686
344
919
622
85
561
202
470
944
4
553
802
407
328
847
898
5
827
222
212
758
105
237
88
519
732
22
750
484
575
682
982
668
218
976
225
31
985
447
337
903
108
771
474
791
614
239
187
205
436
206
933
191
192
699
97
921
200
683
845
705
52
92
874
499
906
690
768
591
557
507
609
777
806
873
768
210
161
86
354
534
137
663
694
969
641
53
50
289
580
374
168
539
261
997
493
474
698
220
887
172
356
794
682
260
483
870
64
107
289
899
108
133
34
792
779
847
552
524
693
406
199
720
512
384
496
213
972
839
7
676
636
53
229
418
802
46
947
721
230
548
545
293
370
829
475
685
760
710
888
816
204
350
505
193
515
471
172
174
102
112
488
123
572
959
788
820
304
649
510
995
745
895
19
119
194
817
427
997
856
214
623
94
338
442
927
374
904
963
311
436
195
687
413
276
31
119
46
181
341
290
692
197
102
810
544
749
430
855
401
689
587
416
296
25
323
133
640
471
98
61
247
146
964
886
165
382
644
15
505
370
795
39
372
309
729
647
556
526
369
576
523
972
377
71
490
494
98
526
186
568
230
874
929
661
101
900
449
35
503
974
632
620
409
734
558
813
980
50
286
43
831
22
404
505
740
635
248
988
123
154
126
493
505
702
303
229
935
534
161
58
320
918
234
861
219
990
273
332
366
677
274
432
492
377
543
195
806
847
554
496
94
829
774
697
973
548
699
438
367
216
889
294
604
273
447
943
890
67
951
303
659
632
878
507
504
457
32
889
906
507
497
917
647
806
79
728
831
327
277
921
401
302
897
804
708
299
262
973
533
270
418
775
665
500
943
788
673
957
155
732
384
347
684
885
237
397
923
319
247
294
386
462
380
543
657
896
395
333
954
899
206
677
295
935
19
288
519
109
211
25
534
474
395
24
836
322
645
995
228
156
787
493
850
1
349
38
998
722
87
852
85
527
723
701
228
750
302
742
350
834
554
527
670
105
30
328
360
830
271
574
282
917
17
138
924
980
923
256
661
302
335
473
787
621
198
51
920
654
805
839
538
866
138
236
708
9
69
397
869
897
999
466
579
714
632
605
641
52
305
186
256
876
723
585
189
217
530
610
160
348
819
843
490
138
32
74
820
932
125
783
194
918
916
216
539
389
765
381
891
658
16
7
124
403
886
138
291
997
573
989
926
575
918
956
549
241
256
689
890
782
948
748
807
664
623
738
807
819
743
668
761
441
360
998
745
367
167
834
481
85
478
364
229
332
948
920
311
210
0
241
215
328
952
145
319
355
759
33
339
937
313
700
420
96
157
911
590
563
762
121
296
474
902
754
384
702
827
198
99
983
89
459
863
964
367
586
646
203
90
625
219
180
47
371
737
773
727
328
798
502
411
783
398
779
330
621
371
326
773
480
304
478
854
765
254
725
700
326
588
755
772
272
652
951
746
710
937
937
58
979
127
799
865
164
943
184
154
719
146
124
731
923
164
269
254
218
522
358
858
70
874
970
785
47
407
779
246
240
859
674
707
899
76
524
732
774
311
811
220
150
62
512
159
887
558
830
345
847
875
658
711
644
113
494
39
730
97
386
84
634
666
151
36
997
633
334
129
406
206
152
296
935
150
682
956
603
489
190
104
952
117
414
663
275
175
760
581
459
96
659
160
667
792
179
137
152
867
306
370
828
944
461
396
670
15
777
677
645
934
444
417
744
967
181
709
171
297
689
933
755
45
682
900
363
714
617
205
443
939
774
318
843
768
303
745
901
98
720
118
984
414
300
105
414
564
6
743
245
151
814
448
645
100
81
331
970
869
641
528
253
768
64
477
663
64
857
992
914
589
255
889
97
472
795
662
709
479
42
782
944
848
182
597
605
712
47
640
664
564
608
785
570
333
709
236
271
168
427
161
665
133
893
38
122
815
278
119
729
357
529
408
179
884
516
41
64
289
847
609
319
928
491
672
309
765
262
64
222
996
558
845
364
433
757
300
399
429
939
386
244
97
870
86
174
662
937
952
388
128
825
573
272
978
206
824
581
103
417
373
592
735
127
56
201
388
900
792
57
667
845
438
621
574
331
644
845
305
402
918
730
887
388
682
688
233
580
41
476
149
374
466
718
39
745
572
240
182
820
166
511
259
264
731
651
179
657
833
403
524
570
253
258
762
729
746
568
67
557
514
866
747
15
800
502
659
676
754
830
809
634
821
743
312
692
152
603
40
848
105
327
412
920
332
215
818
857
253
738
123
736
831
38
49
131
298
886
868
108
189
845
924
763
904
499
362
73
234
119
947
119
592
378
213
854
873
248
74
952
153
400
476
50
814
379
744
488
154
281
771
642
893
921
727
289
804
518
239
897
720
601
718
932
78
624
388
132
672
507
197
767
457
285
400
77
57
701
595
574
922
39
615
549
881
345
434
457
49
436
669
72
798
767
871
217
421
751
303
623
490
922
995
893
634
909
277
965
131
479
707
805
698
820
248
52
638
69
938
441
277
833
593
3
580
763
901
836
113
969
829
29
553
635
230
225
914
529
998
461
430
223
547
693
671
869
833
210
365
893
688
678
635
431
774
681
226
293
704
280
714
309
246
948
115
617
110
211
979
820
869
349
313
414
378
239
698
563
371
723
554
587
209
461
580
847
441
848
796
853
776
782
106
238
462
373
57
415
764
911
172
440
487
850
127
467
494
936
20
32
258
537
13
664
309
562
462
368
679
759
530
710
175
255
95
733
243
540
94
21
263
833
288
23
501
639
5
466
488
871
144
235
938
514
455
707
431
734
819
354
491
814
532
74
889
292
36
56
410
653
468
220
571
627
893
784
761
921
977
917
409
25
569
880
305
448
320
392
447
976
315
939
793
14
939
642
812
484
431
763
626
596
529
25
575
498
794
135
669
974
990
201
450
881
352
669
426
55
520
712
673
867
253
862
510
127
685
451
261
836
703
533
206
481
757
942
255
869
529
901
469
892
865
257
713
607
471
381
421
531
744
20
235
862
571
481
801
565
779
419
155
380
21
901
321
525
771
68
673
677
131
704
416
888
221
881
343
349
518
582
605
162
369
596
137
970
218
211
509
605
846
801
11
944
819
958
253
983
694
832
554
535
956
448
636
192
369
592
822
162
870
37
552
312
755
2
433
333
612
357
439
247
982
148
278
2
170
662
14
936
672
336
859
918
385
401
473
127
7
655
423
353
729
49
424
751
574
690
479
303
931
321
169
191
885
286
116
713
260
789
130
246
186
173
712
88
871
728
349
219
786
300
372
907
138
557
793
324
107
176
999
796
788
700
629
74
394
633
960
512
373
498
119
671
754
206
500
517
127
433
279
461
167
718
597
41
753
404
592
227
879
641
68
824
619
470
227
182
493
743
350
420
306
524
668
627
137
848
651
279
603
257
209
278
53
588
19
755
386
916
460
760
65
511
263
660
206
672
620
525
287
287
366
230
150
967
51
476
687
598
993
525
397
152
67
199
484
672
798
357
562
837
674
24
705
107
151
907
522
522
863
607
531
395
884
155
741
634
811
356
729
497
962
136
509
0
278
302
567
974
666
184
235
501
971
812
674
107
192
137
222
250
525
149
102
167
669
322
537
910
905
541
438
606
39
18
137
786
913
737
842
923
442
157
945
297
926
864
638
859
809
922
762
164
547
559
7
706
678
465
980
212
292
232
265
465
377
339
128
711
190
253
622
400
903
63
625
851
578
306
11
786
206
179
530
685
984
896
741
93
774
547
479
638
173
761
571
794
535
88
524
604
569
302
196
324
244
614
631
757
669
180
883
19
636
984
58
972
119
304
623
883
42
583
277
42
5
3
210
91
906
313
224
799
799
700
710
894
339
157
146
671
651
252
272
842
526
477
477
196
272
403
359
844
622
476
499
6
523
449
65
506
677
663
806
543
253
105
135
603
210
866
578
638
604
21
285
349
14
691
280
489
839
350
314
196
961
355
4
892
150
443
475
575
473
854
557
325
948
178
147
800
896
704
560
819
606
17
802
406
476
893
27
186
370
954
213
828
180
831
768
773
670
799
462
106
952
194
488
118
638
936
237
363
357
156
755
932
292
584
634
259
760
184
326
171
825
646
855
628
17
355
650
15
266
559
458
229
272
578
927
36
328
451
536
206
883
1
800
663
485
322
192
480
394
891
665
548
866
212
13
915
568
97
466
311
514
478
94
290
273
135
962
172
436
522
343
744
170
586
364
639
723
184
36
741
539
566
553
147
510
486
609
350
376
35
747
418
685
164
996
591
205
564
77
579
236
53
779
897
695
578
216
592
161
300
537
653
686
351
445
341
253
949
666
408
298
583
255
683
804
459
409
763
959
523
592
398
485
382
242
375
264
658
426
202
751
92
682
715
777
849
808
882
735
202
225
946
59
246
34
542
199
356
466
352
999
427
309
670
669
981
138
483
621
938
972
385
559
913
622
216
660
884
437
704
122
480
257
342
222
154
470
526
338
813
629
950
288
749
219
313
792
841
560
212
819
679
886
755
424
256
335
989
588
241
32
695
249
746
657
817
218
979
994
552
908
295
726
922
633
507
746
37
233
686
23
5
774
795
456
318
937
60
40
316
791
391
176
815
449
745
293
315
148
974
965
707
762
844
569
658
223
214
41
33
949
458
112
464
687
858
442
326
498
582
592
734
661
394
471
398
997
293
611
398
518
293
204
177
132
307
45
427
796
142
45
567
64
879
283
718
675
760
363
155
47
929
834
813
725
200
812
424
131
853
570
373
550
886
981
473
925
655
633
43
175
371
725
298
551
507
250
191
764
418
632
17
617
142
814
297
289
939
902
55
263
182
795
666
978
286
225
402
247
222
69
517
194
130
98
347
404
641
936
715
197
209
632
826
165
118
861
425
514
313
289
253
289
930
469
724
645
201
349
311
405
471
935
82
379
890
91
929
613
577
260
85
415
322
944
30
99
631
244
737
353
646
12
732
489
427
567
765
779
369
78
61
54
686
903
698
450
323
319
28
402
670
38
500
165
317
216
277
210
131
288
938
751
756
864
439
848
175
56
312
390
754
535
351
175
359
389
70
104
884
924
928
431
511
352
554
40
809
352
870
925
974
515
870
146
693
606
473
54
304
332
522
51
686
496
412
455
132
364
876
948
20
880
502
82
874
335
713
20
608
235
177
787
684
112
313
770
302
903
571
421
416
117
369
669
541
768
51
663
275
26
687
983
916
944
892
802
724
940
815
914
653
206
866
87
305
157
648
859
451
301
311
38
831
853
200
219
45
860
753
127
199
525
319
700
849
762
643
957
934
575
196
659
358
757
296
860
77
318
375
562
275
331
885
233
583
50
729
464
71
237
61
786
954
421
447
921
592
349
484
34
231
177
837
100
663
968
674
254
890
846
190
657
424
189
159
923
341
82
442
986
303
311
463
816
904
773
624
68
493
13
295
997
368
640
437
345
649
548
611
56
167
858
413
19
75
973
752
769
154
77
8
452
426
672
569
566
112
222
585
233
942
261
257
535
286
354
420
428
115
291
58
828
955
551
679
971
68
975
148
38
194
414
648
447
188
276
268
563
554
558
162
988
482
635
114
213
677
646
466
458
603
94
378
257
788
560
89
971
140
810
429
610
858
914
54
462
413
622
314
381
157
988
43
201
512
595
356
31
574
788
90
543
433
233
821
740
324
343
480
626
617
682
447
794
647
643
666
183
303
559
584
356
340
164
797
439
526
976
353
265
713
380
414
202
450
960
965
216
92
312
12
477
717
400
519
68
470
357
114
988
511
751
102
973
775
2
299
747
83
833
37
329
885
500
579
924
406
992
863
728
62
8
559
304
921
421
290
608
776
504
526
892
790
390
254
368
825
559
142
478
737
550
792
212
485
883
774
908
746
89
179
525
830
438
854
915
918
79
890
927
756
96
587
484
140
355
30
5
397
757
147
270
850
313
586
982
357
589
560
181
609
277
93
384
282
520
532
276
324
210
617
433
89
587
481
343
784
391
560
436
936
873
750
97
260
48
945
253
991
423
33
858
468
766
548
912
186
590
718
599
536
583
864
176
478
428
814
58
574
227
77
191
447
506
497
869
122
715
785
531
286
508
952
311
806
666
731
275
312
383
95
374
384
894
608
520
817
538
794
25
55
811
107
411
323
435
380
138
906
545
572
780
468
2
389
49
898
271
705
307
697
941
700
347
270
993
251
601
537
38
271
884
904
200
17
250
405
354
40
71
238
673
93
918
942
932
66
324
30
627
119
748
542
510
748
986
871
851
473
90
399
317
407
229
302
114
980
912
475
746
940
936
590
717
75
359
471
844
128
323
227
566
140
950
889
819
956
675
321
183
487
677
883
593
696
778
17
824
183
135
448
163
256
74
250
257
299
94
220
519
7
255
621
420
771
927
162
909
123
228
14
87
980
663
474
203
474
327
448
132
653
1
738
163
739
597
908
14
335
23
792
774
441
808
32
145
583
430
102
664
860
921
130
201
250
725
56
507
692
436
681
132
191
342
120
539
713
696
456
423
442
980
185
334
919
64
685
444
468
876
893
931
805
776
458
753
182
260
97
767
383
732
930
326
768
109
163
343
374
417
820
586
713
794
439
770
88
635
809
27
953
442
405
651
273
652
105
17
250
330
113
138
746
747
209
216
376
374
551
775
963
614
335
406
105
829
71
821
445
429
538
272
459
827
417
436
439
538
323
161
542
525
270
961
465
725
406
395
614
142
601
394
615
784
693
800
610
91
636
827
711
877
68
885
44
125
265
305
678
564
87
912
632
242
592
539
69
161
491
333
417
780
256
327
871
554
945
987
305
849
448
244
523
849
725
670
961
896
366
367
765
380
174
63
39
815
885
347
560
748
350
30
642
867
192
344
228
272
103
296
529
755
485
578
596
558
121
38
665
247
957
648
880
268
220
430
563
554
200
844
874
966
58
727
803
373
133
638
515
696
278
883
670
868
859
327
320
838
553
653
159
461
575
426
821
395
806
648
852
947
302
433
228
834
473
516
598
228
624
854
83
692
861
995
252
986
604
115
558
515
272
508
971
674
307
163
285
171
923
265
932
446
660
438
669
62
383
597
258
821
391
599
125
759
385
155
78
849
449
810
220
53
942
655
414
835
138
28
561
9
69
641
866
753
226
605
6
128
848
38
540
262
350
964
78
509
927
339
840
987
688
161
259
573
371
390
678
701
250
166
24
801
716
122
209
573
139
803
531
886
690
838
117
139
616
825
984
889
459
463
561
154
490
232
341
971
316
33
558
495
531
285
941
819
583
631
388
969
351
911
3
409
724
701
567
148
611
47
557
525
660
348
478
669
802
264
460
462
48
856
307
983
772
348
817
971
785
668
504
983
124
524
335
851
202
155
636
840
691
113
351
227
842
201
732
183
162
113
259
89
572
435
699
469
251
717
448
166
683
185
56
917
864
164
798
318
200
548
203
519
276
259
662
470
518
561
24
895
125
311
94
556
248
759
681
478
984
297
717
896
650
366
462
958
612
88
495
98
206
98
875
334
872
901
313
31
168
138
142
451
807
23
733
855
19
84
228
908
563
878
743
892
415
665
84
44
144
178
52
924
65
510
235
725
984
199
656
890
904
989
716
407
946
168
182
78
496
506
474
751
683
380
315
15
790
510
206
245
473
512
540
715
967
67
98
237
449
720
35
804
702
312
1
379
15
589
978
552
39
682
699
180
191
431
836
37
212
701
820
74
543
311
770
87
605
308
228
349
96
311
438
155
417
551
42
677
677
700
669
116
240
769
369
968
97
364
19
761
674
123
124
651
159
47
228
540
627
607
880
292
610
758
142
339
360
73
599
244
921
708
104
108
350
232
113
249
172
348
267
509
150
722
589
288
794
402
923
601
386
882
20
711
298
253
630
560
133
891
515
216
907
49
849
168
189
847
220
544
967
598
325
654
626
874
401
789
766
360
235
342
195
574
490
567
333
160
655
703
589
289
361
747
838
36
819
937
902
667
310
395
652
919
223
725
268
712
759
128
987
165
268
679
955
760
692
786
612
61
376
358
476
415
218
818
862
592
108
133
115
686
110
336
31
293
138
744
813
205
753
402
420
275
221
626
885
332
36
828
828
27
788
481
727
586
917
933
62
521
381
231
303
689
894
202
901
919
605
862
770
390
771
935
291
806
948
925
459
690
575
452
85
792
548
202
125
410
909
619
933
669
788
381
327
673
850
912
285
381
155
74
411
854
550
693
943
214
321
329
950
314
611
549
478
877
622
571
402
590
122
971
836
901
774
271
596
214
417
930
257
120
812
34
354
716
369
330
760
177
975
817
899
193
997
252
113
325
767
253
826
647
228
523
183
377
780
418
324
665
178
382
741
23
59
371
168
736
745
914
901
813
560
29
402
750
253
440
740
599
189
301
886
537
932
763
660
485
934
296
940
887
984
879
617
863
900
173
799
5
80
304
293
984
810
48
383
384
514
953
574
305
141
660
40
969
85
570
538
804
525
377
421
59
335
451
357
899
237
465
833
785
226
320
859
803
848
942
866
520
472
985
416
122
956
583
980
941
632
488
733
777
257
977
608
717
871
394
551
930
846
124
108
102
454
465
891
935
565
756
846
980
571
647
299
117
607
189
665
209
555
513
17
150
693
326
50
259
760
619
486
107
87
443
372
843
378
419
332
648
40
773
968
972
472
828
186
156
841
489
442
843
15
468
364
85
900
828
865
227
367
879
324
121
494
912
217
760
757
614
973
290
532
305
819
87
899
769
756
453
445
186
918
93
783
43
524
952
382
792
534
924
243
884
169
757
489
453
158
316
431
410
80
324
858
149
520
954
954
899
201
348
174
253
455
523
817
97
855
202
889
172
920
370
861
284
593
836
648
48
118
524
728
904
947
981
665
128
755
464
443
660
840
263
447
48
453
193
917
477
670
308
110
146
311
784
986
119
382
870
2
879
702
324
129
85
617
348
935
82
913
89
269
210
576
957
383
225
697
809
686
601
798
306
791
706
660
908
904
284
735
20
861
703
215
848
608
865
757
587
603
127
586
732
345
285
0
241
13
316
11
981
888
817
749
872
585
514
182
275
221
367
279
314
765
339
520
627
985
913
593
831
480
831
802
541
450
418
440
775
32
554
384
628
265
186
769
152
941
111
859
980
322
963
892
798
675
288
1
293
370
229
374
303
353
864
899
872
183
176
277
264
627
455
318
366
979
163
434
383
194
918
116
559
95
742
789
304
224
11
938
100
469
736
219
363
882
496
779
445
700
897
759
864
438
863
244
88
957
457
483
431
195
261
428
261
627
212
208
913
205
38
468
535
270
796
989
554
747
234
745
700
691
39
507
937
470
644
474
392
792
355
305
436
426
842
1
320
678
910
213
863
897
515
29
858
239
145
716
955
915
459
992
993
459
370
710
22
754
945
760
3
45
261
499
679
255
861
608
200
920
692
192
329
962
710
155
343
40
388
756
929
557
767
172
687
59
158
839
865
541
378
63
173
56
480
305
543
334
16
282
371
680
649
753
675
58
175
939
305
606
801
516
664
979
760
584
172
778
575
139
684
972
267
765
764
503
948
90
546
836
62
33
908
355
346
34
942
363
515
276
196
506
168
600
121
35
469
157
500
551
275
803
816
748
681
452
161
907
557
790
725
325
61
552
32
565
53
123
8
433
71
92
968
25
977
503
650
918
604
949
144
282
446
28
606
981
511
398
479
953
238
198
766
820
116
917
737
402
984
172
962
963
129
32
27
955
850
963
771
844
564
260
759
390
54
628
351
259
648
552
218
455
314
757
344
540
316
321
146
19
81
928
570
972
862
235
284
521
877
969
190
213
914
929
186
302
236
939
658
914
886
44
45
653
60
325
469
101
937
386
793
938
880
191
491
440
469
142
86
234
114
875
894
51
789
490
715
706
301
762
815
835
410
916
554
817
364
612
252
332
807
660
840
954
857
237
327
289
987
727
875
74
656
350
362
296
664
997
878
952
275
998
264
117
310
617
466
431
318
866
897
479
524
584
23
778
915
687
488
810
799
511
324
535
218
888
262
498
555
58
543
778
262
164
744
71
618
682
399
770
909
730
990
908
207
298
168
636
941
662
332
70
126
411
993
58
157
511
551
598
977
335
491
925
851
721
820
6
130
171
752
680
436
702
528
302
702
791
963
245
455
439
928
918
245
181
83
704
766
204
656
206
554
904
386
955
124
183
947
178
444
863
121
411
46
430
683
612
62
50
848
395
541
570
301
288
240
149
376
352
909
250
257
444
489
347
183
770
274
356
725
433
513
616
47
184
346
154
575
57
509
395
899
789
443
28
322
590
428
906
502
362
981
101
562
865
923
797
986
41
488
701
993
679
14
908
575
250
386
539
713
759
677
239
319
676
500
19
79
488
66
203
849
605
441
19
151
190
83
354
630
173
890
278
762
172
192
858
448
395
481
622
999
631
605
557
454
292
754
258
494
951
932
454
298
859
863
549
216
414
580
321
430
615
7
736
392
55
100
561
739
291
252
343
505
546
387
708
937
65
501
352
104
904
115
567
948
784
381
409
406
942
780
764
155
347
462
43
320
103
495
201
811
78
236
499
482
815
108
364
717
671
335
862
57
643
677
953
709
334
472
336
357
178
446
724
646
818
861
5
166
212
159
317
838
879
852
190
851
333
981
514
764
506
96
302
685
882
134
941
798
111
590
636
576
373
366
69
9
588
715
848
43
534
333
15
425
31
365
563
945
977
473
226
820
461
722
903
126
790
383
81
142
66
938
108
133
186
375
177
917
245
4
177
439
401
351
243
267
808
393
636
116
697
586
388
757
793
216
586
898
557
476
757
420
647
823
125
942
309
631
249
487
385
815
487
35
231
209
946
391
341
403
62
450
374
180
877
613
921
716
163
887
674
512
851
90
613
217
443
98
906
135
922
682
779
437
66
179
767
647
758
302
225
923
279
258
512
926
206
138
627
796
159
502
800
638
305
258
230
185
523
187
303
429
530
531
409
701
191
428
235
318
132
679
877
754
597
629
225
541
715
689
953
437
514
674
22
362
255
478
605
419
713
865
963
742
400
441
76
321
610
496
678
155
30
244
672
419
923
970
336
70
163
80
487
483
752
350
602
112
655
608
879
851
365
115
550
682
279
931
426
584
710
30
823
699
786
552
848
127
776
837
257
236
286
540
770
422
216
240
17
478
914
575
497
719
256
217
374
707
508
541
132
369
382
534
629
379
636
927
403
952
694
203
57
263
460
307
294
621
496
467
582
194
489
844
49
516
938
69
218
797
13
983
934
235
720
484
814
962
999
59
284
453
180
9
647
753
633
405
975
809
276
948
784
71
404
339
2
899
54
748
961
924
589
484
346
797
269
165
295
963
733
130
499
343
208
401
298
113
472
612
434
231
635
795
372
107
541
341
479
91
236
966
479
509
671
651
438
466
593
772
328
408
987
343
3
186
568
454
219
590
98
55
874
757
315
666
360
831
762
745
271
846
102
294
300
54
580
293
110
747
335
382
747
778
221
338
651
246
28
408
348
516
182
33
464
626
271
820
803
120
835
681
517
847
213
579
400
495
970
459
290
438
756
148
191
497
523
755
957
949
859
854
73
733
878
518
780
91
188
2
281
783
704
85
656
229
490
443
728
174
253
715
162
682
749
577
546
529
621
717
273
157
585
72
753
452
835
777
556
579
223
109
943
449
575
11
672
506
358
545
354
646
215
548
544
455
924
285
31
654
46
528
892
781
975
128
377
192
773
228
133
978
533
954
490
373
946
851
44
378
584
665
720
351
879
678
685
960
798
814
494
643
195
424
345
361
797
957
884
572
225
285
790
66
721
604
332
903
251
885
843
826
629
256
547
430
988
657
697
847
931
43
427
79
538
556
274
415
21
632
405
695
294
177
426
564
61
680
918
238
302
369
31
506
389
777
52
397
822
743
117
776
702
516
792
97
290
567
527
545
603
52
976
142
412
602
889
910
915
629
80
855
103
197
361
389
702
301
130
659
62
355
982
997
614
232
446
426
485
624
896
26
763
909
974
755
534
372
915
73
437
203
366
208
562
778
381
211
517
692
539
495
719
460
541
203
183
867
997
60
416
907
209
500
619
955
157
908
292
15
464
402
151
388
912
238
248
949
919
357
376
520
466
829
733
324
561
233
348
155
199
518
695
165
550
717
135
335
694
393
281
28
985
804
665
323
980
861
150
436
560
271
360
208
42
918
967
444
24
154
306
227
950
948
210
690
453
198
872
166
869
135
656
812
972
638
644
501
165
504
780
368
495
123
292
860
242
708
209
852
818
731
934
633
102
123
306
589
26
989
344
391
635
439
136
618
793
651
564
304
960
712
632
849
217
264
219
250
582
354
509
387
786
95
240
829
630
251
980
671
275
999
143
437
613
285
753
613
812
413
597
846
25
490
657
993
210
688
920
668
561
809
819
840
594
127
355
16
228
45
184
927
641
807
291
956
377
993
118
165
594
191
622
609
850
328
224
457
156
680
6
171
499
521
51
78
593
578
458
506
434
671
5
497
341
761
909
577
826
496
371
690
462
388
36
772
588
644
659
786
197
980
963
429
130
677
154
794
181
16
381
673
255
587
646
707
182
375
96
535
136
339
530
689
207
190
813
533
629
632
747
694
982
509
455
463
994
452
494
808
713
497
211
329
184
372
292
105
334
714
249
799
36
803
339
913
370
341
763
729
509
612
806
246
929
887
805
324
599
122
830
462
874
932
952
121
36
826
487
913
35
554
727
176
153
149
671
558
505
756
434
979
161
146
834
49
21
874
612
50
108
754
274
540
452
590
906
800
815
522
833
203
214
204
957
172
363
724
324
251
137
552
86
361
632
203
56
369
24
965
867
161
256
336
24
317
745
472
542
636
600
308
874
413
503
863
931
755
296
759
408
87
242
766
34
413
377
141
715
4
603
159
781
840
193
69
241
240
434
511
205
953
579
76
311
330
73
536
746
725
189
935
773
537
815
917
9
206
733
684
910
138
29
718
190
179
608
854
32
968
910
503
750
853
628
675
313
200
508
625
577
755
94
562
964
639
113
804
968
215
652
586
832
998
239
367
792
338
24
175
767
945
260
636
730
218
993
689
559
747
769
981
215
606
18
285
871
704
196
496
591
947
616
53
869
618
473
886
761
15
826
400
907
926
390
536
903
949
876
857
601
393
565
318
931
439
5
661
494
334
181
847
446
641
155
323
623
289
724
860
129
380
900
745
112
336
186
600
292
860
430
731
665
225
885
524
309
187
283
148
111
167
149
752
838
400
723
295
720
579
493
588
501
687
143
225
263
437
558
658
284
481
247
955
696
404
238
562
234
972
509
631
652
797
339
78
372
769
640
568
346
833
449
790
120
90
745
956
779
740
371
539
110
721
842
20
939
869
662
781
681
60
425
379
962
399
800
936
175
319
696
573
763
547
986
116
41
279
52
112
361
557
536
488
788
68
413
720
4
721
404
468
23
24
616
219
122
352
455
148
96
503
710
997
789
370
580
302
19
154
228
221
800
61
835
716
228
579
16
416
262
733
179
749
405
552
221
458
232
600
25
191
578
6
203
434
970
975
563
550
846
377
962
156
640
753
769
182
435
871
995
824
453
306
163
657
696
520
969
921
614
38
366
900
499
577
245
215
322
65
489
436
392
41
709
108
323
253
956
424
485
119
179
217
959
964
601
972
928
38
473
615
266
766
612
631
434
209
803
904
177
301
658
678
22
949
776
859
376
615
902
504
476
636
189
220
257
883
142
53
263
556
126
793
111
737
209
888
12
498
468
373
187
8
65
535
964
746
263
341
888
969
765
842
251
266
410
735
275
363
113
389
627
770
718
845
494
14
838
866
309
944
261
173
712
120
418
206
381
895
393
938
690
138
594
333
33
728
315
644
400
477
111
148
282
580
108
236
900
831
507
391
564
628
318
245
439
828
466
383
742
661
432
277
663
757
931
303
581
751
793
229
289
292
264
477
191
281
988
795
484
91
908
339
858
284
638
430
436
825
203
550
608
25
349
184
237
379
324
540
972
213
136
506
394
572
300
134
754
900
328
385
379
826
19
293
493
912
821
443
789
39
867
621
344
312
478
33
23
268
717
877
446
672
289
568
994
108
357
768
223
449
390
249
768
368
44
502
42
333
161
46
310
676
262
827
297
539
868
682
765
421
91
531
702
415
171
382
615
467
691
457
124
541
463
276
21
469
952
361
432
671
889
958
250
193
92
641
55
57
390
129
179
70
204
864
630
188
281
391
178
358
20
713
408
992
50
490
913
74
860
445
234
381
717
987
840
457
458
987
276
315
864
280
138
697
609
420
114
772
117
941
308
280
327
702
152
411
181
91
497
495
86
6
389
682
112
55
11
268
425
474
646
5
325
821
114
315
552
45
23
388
342
19
310
443
217
921
549
827
308
664
714
884
829
636
929
188
559
664
767
823
960
540
661
465
620
316
649
87
127
741
895
388
546
576
310
66
870
421
217
119
8
639
520
918
119
550
552
593
522
726
923
709
703
48
388
128
969
45
874
551
29
0
670
821
936
668
617
424
404
53
451
873
796
942
341
958
977
306
219
516
4
813
876
63
708
891
842
548
549
796
662
305
886
514
685
823
306
89
225
733
212
513
120
937
713
8
631
399
841
35
44
704
608
600
891
965
370
180
428
489
472
768
616
227
58
334
637
769
724
312
970
718
783
828
682
374
854
205
556
760
685
255
311
148
366
731
401
460
869
158
142
574
16
202
441
127
112
424
694
106
594
967
611
738
139
967
274
611
675
541
890
133
353
841
587
602
794
548
218
193
393
587
144
947
113
583
160
851
104
57
896
786
452
334
806
118
74
43
981
873
815
793
297
495
733
884
920
445
494
582
305
793
3
183
606
933
125
468
636
909
541
342
935
555
625
718
28
91
684
781
774
950
190
775
6
763
690
387
987
376
245
901
641
666
718
240
814
109
656
315
745
418
611
407
578
385
139
430
677
426
518
875
222
130
787
672
141
312
335
482
110
838
769
291
584
42
353
953
577
150
645
988
879
691
159
101
152
434
696
187
518
166
787
95
321
749
335
794
160
581
891
659
974
453
986
991
392
461
578
270
110
740
166
123
436
171
118
973
841
368
526
484
350
419
940
870
743
805
986
529
967
182
175
58
563
832
235
615
265
728
135
389
352
785
974
834
18
679
174
390
178
436
522
345
726
267
392
564
796
527
296
417
461
199
9
549
949
818
205
252
166
687
446
356
137
94
56
390
708
53
654
431
743
440
866
180
405
617
486
6
164
399
12
338
790
126
478
329
11
775
321
260
231
155
984
274
495
62
113
397
871
731
953
114
871
899
189
725
716
946
444
319
495
983
615
504
225
126
556
316
254
234
239
27
877
271
525
843
247
267
301
666
754
478
10
715
224
957
373
531
838
146
329
817
917
533
735
702
840
941
397
252
264
286
699
251
67
591
381
197
584
142
907
178
699
921
232
764
297
468
271
41
396
34
174
405
0
425
229
651
897
665
826
686
502
342
646
630
179
802
190
19
208
342
543
173
885
590
723
809
941
524
827
267
76
213
349
238
130
738
897
202
461
640
725
331
382
927
674
669
508
221
607
906
756
869
423
324
206
909
800
962
498
645
835
669
702
703
311
178
831
309
218
875
214
738
849
43
809
728
420
846
24
575
961
255
307
920
476
458
990
359
934
95
336
791
731
285
93
169
876
567
575
784
756
182
320
354
459
649
93
433
493
699
39
511
147
499
852
958
253
734
682
371
391
371
106
117
645
593
948
630
983
634
346
810
823
123
39
403
841
794
623
721
524
415
810
861
177
688
819
70
233
367
585
286
464
147
122
378
424
916
521
305
531
6
656
963
601
534
56
691
349
420
697
530
223
320
851
457
380
159
263
37
14
935
737
477
624
172
882
270
586
415
131
283
259
928
910
687
570
116
888
598
329
817
625
467
600
702
551
89
278
722
582
859
313
749
857
255
530
121
775
455
684
397
475
877
63
445
821
41
175
698
687
829
731
165
920
977
123
694
190
812
517
56
611
560
507
318
967
220
730
804
156
254
414
557
113
482
222
305
871
670
398
923
60
643
358
155
639
93
901
922
545
602
627
236
772
982
901
438
203
838
326
312
7
985
979
565
482
411
572
97
234
340
703
72
879
307
739
813
129
125
302
731
461
258
830
590
89
246
249
45
387
188
922
988
835
531
243
467
741
910
718
591
263
471
956
327
302
390
459
86
606
734
405
514
605
877
28
598
722
597
899
723
443
645
612
168
218
674
118
345
251
771
808
314
762
172
770
898
148
916
939
478
53
160
820
36
220
293
257
703
429
55
725
626
123
758
756
277
949
763
842
675
95
973
643
910
509
100
924
97
540
837
683
415
652
860
912
487
328
523
462
434
892
228
528
250
422
320
954
432
377
331
627
744
175
332
629
220
816
346
415
807
645
52
399
812
649
270
538
708
366
147
452
686
788
887
471
987
57
971
682
768
519
539
916
55
181
125
702
622
612
630
761
360
368
903
220
344
586
216
478
242
13
426
101
672
88
111
978
317
253
404
637
155
172
355
450
326
280
76
922
529
443
105
381
475
39
54
723
933
632
615
959
563
88
109
40
986
661
947
718
435
712
661
316
100
979
704
305
702
977
381
358
384
889
519
539
375
912
563
84
273
419
158
842
303
452
118
101
498
631
363
880
828
260
520
527
534
501
259
501
257
128
968
710
586
542
391
422
597
901
960
877
300
169
440
681
622
818
264
831
355
853
667
948
854
194
882
38
555
813
403
699
65
906
846
47
795
996
959
323
956
797
368
293
73
769
825
472
490
740
380
732
636
638
971
731
901
370
847
764
280
86
132
824
397
301
866
99
164
735
839
815
673
115
388
466
537
574
700
807
407
930
482
235
531
799
21
569
614
561
91
149
269
465
850
161
522
847
624
837
935
61
821
615
877
748
922
328
334
386
82
594
408
372
50
819
660
332
613
733
782
896
974
284
487
110
316
149
415
410
314
307
293
78
47
300
952
961
356
316
442
761
270
116
442
339
813
733
826
510
396
536
219
379
489
584
16
462
577
238
475
648
894
393
876
400
8
798
324
273
774
743
278
290
20
354
768
253
635
370
540
30
701
221
341
577
345
387
543
795
256
941
530
929
191
947
647
305
234
783
939
851
241
579
548
563
10
652
401
15
78
276
591
831
955
439
64
712
680
269
262
519
487
797
234
375
939
878
900
709
944
811
224
90
345
770
123
209
157
528
141
20
153
70
426
263
628
359
776
682
704
690
594
115
107
678
25
643
379
57
200
661
976
121
735
154
528
404
614
42
53
789
546
234
470
488
941
713
780
220
602
938
205
408
427
396
667
357
914
174
234
974
391
139
456
293
492
785
445
768
541
508
548
86
525
985
99
414
472
394
927
684
398
886
79
794
585
801
318
432
373
295
582
302
218
293
59
915
686
359
116
76
153
895
158
285
236
155
405
856
548
958
679
112
849
566
713
796
759
760
701
79
314
71
493
854
850
831
292
992
326
481
529
468
954
897
40
200
78
652
633
294
466
121
692
256
897
178
338
867
836
266
255
335
47
743
322
762
414
20
301
972
354
524
569
88
74
87
292
647
186
178
953
441
247
273
114
92
714
494
420
544
725
535
341
99
663
251
125
439
589
101
50
684
205
72
812
228
323
120
843
560
338
748
856
19
716
622
506
748
753
535
787
736
26
585
610
500
521
11
137
479
596
452
521
934
710
98
973
836
454
959
161
533
200
109
12
58
550
412
157
946
837
320
388
64
0
526
658
645
899
765
684
260
879
701
867
181
303
294
549
909
898
747
949
451
93
574
502
138
428
742
36
123
769
291
484
553
587
598
356
733
919
433
49
133
473
762
712
935
316
904
87
989
584
425
147
430
486
792
693
217
844
998
933
578
250
233
792
390
129
936
30
257
171
703
97
757
632
941
678
435
516
730
51
573
390
947
803
107
770
646
398
123
173
185
972
287
748
63
290
408
17
163
773
376
505
922
785
990
626
917
424
477
881
491
489
34
157
915
727
786
405
353
698
656
793
118
594
23
615
676
185
181
839
938
887
961
747
323
684
451
284
394
241
375
395
893
842
554
510
226
144
783
139
396
454
692
123
10
712
179
904
712
73
362
925
23
539
949
341
667
490
523
559
84
812
105
52
386
908
913
135
852
222
935
311
202
121
699
723
776
948
785
46
576
777
541
612
285
118
253
430
145
911
811
958
69
700
883
5
601
778
967
31
698
182
445
11
567
264
925
797
744
823
420
942
216
403
276
607
617
207
533
781
603
6
650
714
623
140
561
254
880
20
666
594
786
445
571
445
666
706
432
982
196
93
476
845
694
828
178
323
149
946
933
690
493
478
33
6
652
564
955
112
683
421
289
120
715
807
425
325
154
725
99
93
980
98
832
122
16
451
463
610
880
670
935
697
940
48
469
783
714
419
643
496
236
847
324
668
991
53
315
349
401
496
691
257
103
546
904
142
48
409
641
932
526
499
212
487
171
126
954
480
122
785
10
242
774
356
76
102
56
370
352
725
373
95
71
330
270
665
309
107
792
289
91
155
169
51
554
880
408
625
901
98
741
934
954
900
849
735
603
335
152
46
516
923
504
955
585
836
760
109
614
791
501
551
936
557
701
628
403
586
398
719
666
348
873
135
170
784
761
795
515
57
936
350
813
764
260
90
53
500
126
510
952
185
48
2
405
138
57
148
493
196
59
912
795
507
767
27
292
13
973
776
398
710
42
676
958
570
116
484
143
684
286
145
966
819
422
720
103
672
479
20
60
855
295
360
916
888
631
329
990
728
796
671
228
230
997
176
174
824
751
724
981
406
10
769
853
53
588
588
413
390
163
379
813
827
95
168
811
165
29
563
712
107
41
446
960
122
165
220
337
168
62
240
891
729
751
310
693
438
848
607
925
194
926
341
404
248
856
891
976
772
411
636
786
805
192
957
771
314
38
563
837
492
384
217
911
858
638
466
797
963
211
211
47
549
432
835
724
175
943
868
652
382
882
564
815
567
836
632
37
977
63
655
293
134
566
434
428
229
533
410
215
107
706
401
823
377
444
828
293
90
156
355
909
61
616
709
51
451
967
401
164
65
589
340
48
759
805
536
640
541
606
346
170
841
350
979
875
239
67
583
977
927
262
182
919
261
956
75
870
375
637
901
716
174
91
787
320
864
332
584
880
676
778
435
69
752
291
586
433
461
868
685
217
381
327
160
350
480
319
585
479
585
216
315
763
958
615
197
12
222
554
391
819
225
828
681
16
887
282
600
511
29
266
36
763
962
708
383
0
871
767
598
879
157
220
106
964
375
835
392
729
288
670
79
393
581
193
49
838
856
493
223
845
417
629
489
547
826
517
827
961
239
986
696
295
977
714
852
451
565
675
852
60
952
224
941
7
704
209
350
168
4
298
92
756
741
819
272
811
445
337
462
274
962
491
910
504
20
322
433
198
293
555
173
429
626
92
222
906
645
900
174
526
192
459
830
299
487
612
380
780
653
20
796
668
261
135
856
748
900
635
362
424
773
228
566
849
266
922
155
8
358
944
642
133
239
272
454
657
935
180
974
254
217
653
738
541
424
45
332
253
568
521
339
865
801
172
64
104
936
57
663
90
606
31
385
552
705
676
101
448
198
932
223
170
100
754
865
459
785
119
52
752
775
926
599
502
582
978
595
567
885
144
507
657
694
154
846
928
21
76
906
938
680
92
835
856
209
955
342
794
765
415
886
481
29
462
104
27
213
426
873
485
586
15
156
642
28
500
153
533
81
147
625
144
256
449
905
770
980
768
304
33
235
919
853
425
924
407
955
631
270
1
283
865
560
436
648
113
681
697
974
255
643
576
667
0
331
63
111
422
363
218
95
852
956
262
593
985
269
470
999
722
918
495
500
703
765
460
755
359
956
820
347
984
776
869
306
893
862
550
643
452
22
187
139
484
892
269
943
451
257
2
728
432
383
569
511
683
616
796
500
142
528
629
628
797
949
12
364
143
546
291
752
972
390
722
822
940
155
546
238
425
931
803
212
920
658
18
516
100
10
691
776
533
901
55
797
470
488
273
124
671
852
259
626
961
133
564
362
11
501
860
739
279
897
411
782
441
349
666
171
967
635
983
532
711
0
14
991
810
8
385
426
355
467
560
481
210
591
427
414
326
946
738
320
585
655
129
41
919
393
533
862
965
816
470
678
120
102
164
284
850
883
421
583
427
947
223
260
191
114
155
575
824
960
633
908
427
556
861
781
902
987
452
750
310
140
593
621
609
842
220
244
908
247
853
619
657
880
746
216
942
105
157
420
761
347
621
639
918
783
777
79
315
439
860
605
685
532
338
254
657
464
431
86
534
614
207
53
772
399
4
325
898
254
222
317
395
486
680
80
286
407
942
631
469
162
124
244
535
493
710
810
543
397
148
68
860
78
18
387
755
421
510
190
101
258
715
736
593
162
654
680
572
25
95
483
163
839
39
630
287
922
379
450
713
796
667
645
605
894
804
92
323
469
842
25
318
598
740
127
835
377
355
637
471
607
824
632
774
821
551
45
97
801
331
689
625
864
555
906
995
179
621
206
57
798
741
30
600
150
202
295
525
293
826
256
641
747
142
289
453
420
963
19
892
617
285
413
51
462
632
419
769
535
198
81
162
676
158
240
349
287
471
33
796
382
937
877
602
578
383
960
954
287
524
415
318
873
709
669
940
385
500
100
39
509
555
925
857
489
982
119
963
690
409
296
826
379
720
924
299
273
231
476
327
408
669
215
984
344
262
857
237
843
991
709
2
20
302
576
609
686
26
698
230
877
546
53
752
821
777
465
213
554
657
209
789
651
200
837
656
966
477
327
736
258
588
653
598
801
365
388
716
694
131
106
171
24
160
33
94
242
217
330
812
666
779
500
289
761
501
41
818
69
297
433
899
806
155
824
582
858
592
819
683
732
242
678
384
812
996
377
522
135
651
58
905
914
297
586
964
672
168
821
419
306
588
496
465
600
695
724
830
967
62
991
38
798
793
117
992
452
966
320
536
100
424
952
280
206
18
548
769
957
979
326
991
614
983
761
57
516
144
29
550
822
349
518
182
673
726
193
268
236
11
659
615
799
274
574
797
666
524
376
237
762
266
442
663
802
78
674
384
920
79
762
918
674
792
635
388
126
699
353
490
647
364
975
923
744
564
413
772
664
552
157
274
581
103
114
243
331
933
225
501
693
872
580
503
545
350
809
766
533
718
824
576
415
463
167
228
276
434
833
877
923
181
530
542
244
710
10
930
570
575
645
812
821
953
855
337
107
536
228
676
459
142
527
538
72
634
395
981
40
479
693
570
505
244
156
48
728
456
30
181
902
65
22
724
164
892
898
638
312
948
489
450
792
606
483
470
534
904
525
204
994
239
106
875
509
995
347
367
66
682
142
757
972
621
896
587
828
300
530
844
253
290
930
345
833
996
102
546
598
97
955
854
401
250
883
141
46
863
196
697
856
856
361
466
839
904
430
105
76
583
528
290
509
370
112
540
22
957
400
439
322
453
68
171
99
569
688
787
583
79
161
64
141
160
241
828
999
569
571
945
904
179
711
333
599
261
77
200
578
127
960
8
757
733
826
854
698
65
308
653
309
887
615
840
968
662
693
637
145
114
690
108
814
542
517
360
963
860
237
971
803
921
355
134
468
870
775
410
734
126
198
330
998
67
678
137
727
587
779
943
283
896
268
185
393
441
72
690
685
491
983
356
676
177
224
497
438
132
220
459
276
624
575
448
475
323
116
734
568
827
982
778
816
406
77
108
961
837
876
207
537
525
386
156
906
765
226
430
161
244
333
567
555
248
814
74
270
0
64
871
751
190
624
861
786
252
129
747
501
406
485
295
246
497
79
190
875
675
656
369
542
333
757
583
108
560
690
577
640
817
573
890
355
628
619
801
312
826
747
42
121
414
162
438
785
359
119
53
566
230
411
160
586
337
65
76
888
186
620
450
179
810
561
328
404
471
613
421
183
22
939
259
615
955
428
249
13
634
439
78
649
167
823
441
554
454
667
966
65
53
650
629
387
978
199
349
738
462
77
327
397
384
230
678
408
147
260
203
319
536
2
984
152
859
232
516
267
400
756
836
256
676
884
731
724
649
211
556
100
136
993
497
514
467
93
800
270
862
788
713
682
584
899
227
700
570
911
966
131
413
21
231
303
331
367
676
504
400
77
873
175
47
761
977
420
254
184
409
895
558
169
675
687
22
829
862
368
994
845
795
526
693
358
207
404
993
663
148
443
315
758
890
358
196
922
486
701
872
964
159
609
253
17
413
978
469
513
797
224
785
876
118
149
94
227
672
714
801
177
909
640
800
968
338
249
11
556
471
368
567
491
892
513
289
723
598
52
779
164
525
297
423
538
337
626
698
710
674
730
304
855
926
46
341
883
291
348
787
547
101
74
386
313
977
823
413
922
198
485
860
728
764
941
801
637
715
650
720
356
374
904
159
454
58
77
623
898
429
682
361
167
83
873
968
477
185
842
962
634
860
114
600
365
811
302
439
403
893
185
22
927
986
520
419
262
757
10
60
819
384
387
135
369
107
57
329
25
465
486
416
767
898
368
290
390
625
562
442
224
767
485
514
539
358
165
342
826
319
838
748
668
572
445
577
947
919
931
886
583
174
386
20
733
857
498
666
920
641
269
883
455
865
675
737
108
216
143
870
605
755
400
574
96
452
307
556
107
469
512
384
34
626
45
390
624
484
658
549
332
556
17
541
420
478
784
584
212
589
66
747
882
705
930
725
523
92
893
833
292
206
349
644
433
922
36
915
899
335
284
318
28
322
629
482
479
367
616
160
740
389
972
247
165
130
306
358
367
692
438
897
515
648
424
376
73
129
977
661
217
439
883
549
371
433
468
582
393
992
929
474
550
508
654
155
866
277
240
430
977
491
488
260
4
866
381
950
649
16
197
233
717
23
225
980
109
55
110
201
521
195
63
988
36
58
232
590
503
870
267
154
805
349
328
788
129
987
71
335
524
979
691
936
616
416
522
220
902
828
415
588
544
933
878
141
273
121
558
680
981
884
461
836
665
125
292
784
55
143
399
768
265
541
409
592
590
48
427
413
784
46
744
962
24
381
862
280
724
633
310
454
660
933
527
338
393
328
729
791
370
757
73
92
197
798
381
676
690
980
241
307
248
574
895
119
247
231
850
753
693
425
843
535
22
203
427
287
380
906
93
529
371
510
442
708
34
98
213
915
178
46
92
137
248
713
337
686
250
500
684
149
780
630
743
715
641
874
71
292
773
203
493
186
519
246
490
486
697
973
839
601
904
577
740
409
666
551
565
700
946
138
613
211
701
149
219
248
431
884
599
759
682
695
921
708
465
480
674
336
719
41
184
433
520
937
457
553
782
542
609
435
476
624
513
353
771
473
442
585
239
49
567
12
607
306
386
860
169
437
23
17
15
398
811
354
586
795
692
944
572
875
836
401
914
318
136
933
866
432
530
596
497
588
191
240
167
843
461
642
107
461
223
301
871
33
949
547
521
419
329
850
705
894
419
821
550
717
751
688
345
582
523
158
171
200
525
839
322
472
940
744
246
825
115
682
40
455
48
716
629
434
505
927
9
422
780
790
753
400
620
595
854
87
461
552
243
110
926
225
926
761
79
686
508
346
650
745
485
73
536
351
423
453
761
337
175
151
820
929
149
668
404
553
821
308
998
173
89
998
338
312
191
803
831
354
601
406
643
525
824
310
658
701
794
362
788
675
775
802
889
16
810
927
269
777
425
658
499
849
116
965
366
738
716
135
771
826
377
607
337
975
596
502
104
609
216
887
664
171
855
881
715
504
176
635
980
705
492
352
408
685
723
673
137
499
161
995
31
887
36
844
732
427
279
657
148
451
184
537
862
552
730
298
664
744
593
320
252
214
896
707
458
11
666
68
592
686
379
929
58
173
735
318
133
872
582
989
212
127
981
538
976
858
505
798
715
267
938
547
631
41
246
388
700
469
79
108
294
224
776
362
15
858
705
472
16
216
9
771
420
574
364
909
926
981
956
860
191
206
380
519
762
969
354
956
971
157
208
792
800
493
149
173
31
482
918
226
583
161
429
684
701
832
456
395
273
542
576
391
480
709
722
950
412
881
975
716
867
305
6
215
586
810
874
513
648
34
880
342
440
847
489
173
267
42
566
841
306
936
735
547
651
691
154
122
243
725
304
822
694
336
542
846
856
437
343
261
92
199
234
448
129
288
730
827
40
463
959
188
607
182
14
969
57
112
739
475
557
55
909
194
167
432
762
460
565
648
679
734
108
650
13
261
29
465
744
873
392
609
389
212
867
460
147
242
177
15
756
794
519
193
942
59
792
103
81
53
189
173
769
600
823
145
619
778
874
559
717
141
833
762
42
191
175
461
207
160
527
290
554
399
28
67
19
452
902
826
350
52
898
865
685
856
174
670
657
444
712
703
202
850
907
990
257
684
331
615
292
307
875
129
226
617
670
412
135
626
116
994
569
179
790
808
448
55
272
16
641
410
740
795
32
846
994
89
614
983
234
924
371
398
119
730
583
464
613
463
210
369
91
417
123
642
463
863
338
988
932
33
612
475
514
531
372
797
884
37
166
771
713
815
828
721
830
449
69
229
258
972
251
987
219
870
972
823
235
86
361
191
7
799
654
969
267
413
76
742
35
555
283
244
639
919
341
191
794
825
999
283
718
296
625
184
740
785
933
414
500
194
361
218
429
649
186
408
567
357
856
864
940
169
683
194
443
467
208
332
348
121
797
436
996
287
108
675
691
34
371
293
506
646
14
248
793
246
372
101
397
715
342
401
744
317
844
637
927
420
22
157
813
414
390
553
93
733
642
831
226
105
981
852
633
272
870
856
851
86
90
60
58
746
539
428
598
771
907
410
387
100
252
675
498
811
51
629
525
106
14
946
649
363
7
651
141
330
333
732
240
203
372
496
341
842
296
879
703
357
179
889
294
406
47
700
321
682
681
98
866
8
146
919
236
553
560
83
359
83
481
713
57
272
553
795
599
264
440
583
977
677
228
698
11
405
584
240
431
924
255
5
940
314
485
744
96
422
180
509
978
338
526
941
362
272
850
858
107
785
207
107
574
55
472
486
48
488
805
832
388
16
337
833
412
80
502
539
835
421
684
428
196
625
854
235
725
538
343
65
373
158
423
461
630
516
372
558
703
547
163
202
158
136
115
623
494
944
112
83
446
571
367
806
577
507
752
891
124
565
190
883
763
953
207
471
470
327
38
606
279
548
756
608
689
199
590
353
436
728
51
362
640
417
203
670
305
891
668
912
562
551
441
716
333
69
183
190
844
501
686
520
836
847
79
183
516
144
495
51
197
398
238
416
82
211
209
730
782
120
144
986
732
33
715
966
37
890
704
702
815
513
549
236
733
986
949
361
801
489
636
907
765
53
33
132
862
73
235
384
825
180
505
394
186
915
931
986
231
735
416
271
883
239
250
442
99
726
972
809
628
996
128
935
411
910
439
692
898
744
858
623
196
778
224
864
156
454
899
457
711
940
195
216
914
79
596
357
555
640
227
334
370
980
335
43
342
16
761
54
392
348
679
5
798
417
538
278
478
496
970
815
762
711
707
379
705
521
763
148
596
651
528
888
993
737
302
528
741
946
519
724
513
48
883
245
153
96
681
260
977
606
938
937
38
118
727
923
495
305
537
423
326
130
227
723
319
567
892
45
150
475
226
624
700
831
455
679
350
420
708
886
375
80
362
220
786
730
950
198
509
828
985
44
761
538
76
957
874
233
259
707
847
832
662
736
527
428
161
692
372
636
578
379
196
134
580
775
214
190
972
890
945
460
739
893
557
932
727
491
502
759
487
339
609
740
122
668
679
610
512
213
558
246
779
646
118
380
7
441
990
705
845
975
815
666
747
930
589
852
65
72
611
549
815
327
415
589
241
93
189
306
592
25
121
722
147
887
621
801
780
771
40
246
161
734
573
58
885
124
329
789
817
544
590
193
897
91
872
900
196
539
446
861
142
860
376
679
341
79
277
629
140
743
938
329
277
501
169
343
962
157
660
517
364
485
385
681
921
9
476
175
125
620
68
66
434
752
361
657
429
989
644
649
619
33
208
917
611
643
427
907
663
672
321
726
73
451
357
247
425
204
611
596
928
30
598
144
252
142
434
595
466
644
191
565
577
363
993
355
607
217
996
765
289
637
27
325
720
139
901
460
536
651
373
459
468
425
648
892
867
527
483
722
925
571
493
287
3
410
15
116
488
849
355
586
123
566
963
31
452
832
860
915
901
53
190
162
415
533
723
456
63
698
605
858
638
850
262
714
344
669
138
215
510
610
94
33
314
801
359
880
271
430
852
565
390
31
306
678
234
621
420
789
598
49
636
918
142
379
439
786
358
956
500
763
431
40
720
565
379
77
976
265
260
617
804
858
492
727
74
919
981
638
839
965
944
815
474
547
567
446
830
229
90
201
717
777
852
35
396
459
928
71
141
789
577
560
304
568
312
267
116
804
952
155
532
532
590
462
377
230
756
664
120
816
232
628
355
916
656
910
617
300
75
891
760
361
359
923
810
755
62
960
88
482
613
725
575
169
598
118
94
49
80
340
601
807
23
863
119
164
1
609
91
558
547
376
623
21
835
432
710
185
672
679
253
923
829
323
774
901
140
771
344
91
658
133
398
343
825
284
199
934
196
982
859
549
118
175
87
554
196
829
943
641
416
918
658
868
50
935
764
27
661
9
899
606
18
693
782
762
924
139
922
223
205
554
196
867
742
228
957
91
15
688
527
443
241
958
950
80
580
348
14
798
988
511
984
323
73
202
182
306
282
194
65
570
662
148
537
527
63
622
416
757
731
913
24
45
917
807
471
133
500
210
351
730
431
680
889
47
609
363
540
110
356
980
492
679
124
956
481
160
985
424
743
202
39
972
222
758
162
42
638
772
203
863
246
325
877
440
557
89
461
927
938
693
239
931
409
706
225
91
84
981
687
37
181
868
17
132
101
275
16
556
767
448
316
979
630
585
377
944
968
637
161
732
549
616
636
776
114
128
787
601
627
637
689
363
317
79
938
496
403
159
749
259
452
791
433
108
100
592
146
511
774
576
29
982
238
135
980
939
524
363
351
511
625
896
480
826
52
849
509
374
353
903
17
697
471
311
124
975
203
911
416
362
792
669
711
594
224
731
976
230
640
792
781
1
501
132
788
534
441
437
339
853
395
928
198
723
196
125
372
244
78
383
409
261
881
789
325
28
552
351
22
436
750
385
91
820
478
419
301
639
258
162
857
264
928
884
299
233
506
118
796
679
693
494
45
399
954
223
851
732
624
531
559
262
278
674
275
810
962
649
210
268
651
658
906
135
494
279
565
412
821
513
374
111
955
792
178
412
255
979
612
52
316
628
61
162
476
551
705
610
241
674
711
433
944
267
265
76
758
963
481
991
912
574
485
589
429
398
502
886
673
347
596
943
835
577
507
833
42
48
740
719
732
933
918
621
408
741
483
952
298
275
453
917
393
998
148
566
137
633
806
603
868
428
456
881
330
645
558
914
91
158
712
704
922
869
509
285
69
167
15
146
429
93
433
524
412
691
275
801
124
475
50
188
573
464
229
427
929
58
765
71
372
542
38
586
905
501
698
746
955
121
209
324
64
539
595
564
281
734
762
144
417
180
755
694
825
197
342
528
471
583
79
942
188
76
279
948
75
479
354
440
864
712
203
556
687
233
232
706
116
190
672
816
363
870
504
875
817
788
393
563
918
21
118
262
755
646
621
76
837
646
23
753
29
718
565
531
476
40
239
308
816
82
254
956
979
197
73
734
997
18
908
249
834
353
412
473
750
708
261
20
415
37
551
886
650
643
450
651
190
799
494
941
493
769
510
58
384
979
916
617
899
557
798
907
551
87
786
466
199
580
272
833
300
349
574
603
478
746
24
573
994
810
853
322
679
284
331
189
47
420
429
933
817
61
145
933
72
180
692
825
48
277
202
562
405
238
917
885
799
485
691
472
62
721
417
876
573
8
513
122
831
625
102
322
462
254
953
750
15
595
768
226
689
689
803
156
239
518
460
628
536
16
421
429
75
299
527
102
169
146
659
421
199
803
634
682
635
677
598
627
985
686
25
471
242
919
633
212
865
723
372
832
596
22
970
880
300
200
418
425
278
627
932
537
825
123
653
781
828
632
282
771
70
453
112
351
940
685
850
75
9
871
686
565
951
923
77
429
749
271
175
460
382
293
733
672
78
117
264
55
625
824
719
11
494
341
716
296
396
248
164
566
724
523
204
711
347
111
16
142
237
114
400
966
711
143
761
379
789
740
432
727
655
999
777
562
870
414
681
904
834
503
299
951
533
20
199
374
983
415
503
176
904
737
641
28
860
252
898
870
11
593
66
82
908
603
777
183
391
924
782
405
986
892
714
862
876
106
552
807
649
991
590
516
121
118
207
570
347
511
903
162
135
68
661
145
493
165
74
444
131
174
733
375
182
214
493
401
315
821
430
475
357
507
480
495
295
691
550
265
545
927
370
915
216
200
431
528
989
419
745
526
117
638
289
963
351
4
846
806
326
612
420
868
690
207
790
974
276
19
353
828
327
398
111
138
502
579
860
194
673
645
795
68
348
82
12
744
795
0
250
856
780
202
95
814
897
688
609
966
241
980
985
738
474
244
485
682
63
72
201
971
607
641
58
580
448
765
673
593
778
476
305
140
196
185
105
995
984
282
37
153
881
532
201
683
180
842
537
622
544
888
641
583
870
270
895
832
762
789
136
121
957
790
858
437
613
949
31
783
578
192
946
641
903
443
668
249
16
935
375
332
907
815
540
70
195
368
967
862
742
310
824
907
829
391
610
874
581
921
847
571
768
525
587
905
201
700
307
530
151
9
711
390
651
564
226
854
443
553
553
449
715
566
627
286
216
720
256
982
660
731
492
64
351
323
19
676
28
655
57
139
740
481
250
93
278
962
154
35
65
22
961
985
410
710
894
137
656
916
678
261
459
66
31
703
893
498
600
258
765
417
481
428
840
409
78
656
824
682
680
727
319
389
255
36
10
41
313
526
761
734
770
160
366
224
924
197
626
246
396
140
624
623
287
929
446
959
147
942
475
305
867
205
928
333
30
998
756
947
336
24
392
311
679
895
539
429
502
657
503
187
755
377
462
579
378
800
936
878
583
214
253
858
556
890
343
202
341
255
15
976
372
234
779
316
144
182
681
429
780
49
471
263
124
211
223
833
239
740
659
860
353
679
804
631
213
255
445
126
640
894
713
541
338
646
933
487
91
354
777
846
508
861
748
930
753
792
740
919
456
400
422
909
137
203
258
558
935
374
542
811
216
2
21
393
523
380
456
610
688
651
170
31
750
763
104
34
50
485
460
203
542
851
194
933
214
63
341
565
956
594
579
806
488
773
935
618
448
299
207
869
484
922
528
597
20
615
782
936
194
982
977
535
568
109
58
253
513
494
226
718
683
591
534
399
675
215
737
162
597
461
331
998
882
19
808
717
37
516
990
393
889
979
219
271
659
122
106
887
434
285
124
930
637
876
385
50
209
851
888
222
653
844
325
902
407
628
123
202
178
777
22
611
919
555
227
841
694
934
36
520
803
532
921
307
580
194
752
843
550
23
811
438
746
126
292
317
2
37
129
643
653
438
996
711
725
464
824
435
358
362
407
166
419
748
534
540
422
109
590
976
237
242
483
282
312
630
367
42
616
812
924
306
601
226
85
925
373
201
651
980
39
134
302
527
214
745
880
575
209
664
878
772
902
305
897
308
488
340
302
440
572
121
893
847
451
282
403
660
99
844
350
250
666
490
25
385
294
130
751
668
968
678
133
213
268
512
883
275
208
5
646
106
835
661
627
104
226
872
568
302
682
535
932
209
634
575
158
957
993
56
65
366
776
82
565
416
440
375
304
874
394
907
63
487
19
868
142
78
789
359
147
705
222
222
450
625
828
102
676
906
168
659
313
626
705
7
276
674
236
275
744
322
186
709
991
735
205
267
670
511
293
422
49
834
887
299
885
666
593
83
241
764
624
810
582
265
717
919
779
999
202
268
693
9
732
934
108
186
758
868
858
764
636
836
17
517
166
554
387
447
834
44
356
848
540
999
675
859
746
241
992
592
429
953
402
654
350
514
130
218
890
702
281
527
825
380
614
39
648
201
425
887
748
418
486
575
132
305
731
125
936
470
788
787
739
54
521
48
559
655
199
505
325
266
153
548
57
235
205
457
138
258
231
548
96
916
240
979
178
569
578
672
492
365
344
636
690
240
590
49
670
656
970
0
33
625
891
625
418
150
179
402
919
31
328
719
769
212
36
980
154
963
686
696
630
13
728
778
26
854
189
148
583
339
18
303
947
876
947
316
303
58
239
616
841
479
931
865
816
950
439
84
114
224
212
481
805
159
763
636
786
619
431
927
673
772
816
931
545
983
802
84
39
602
871
561
315
616
413
67
796
927
220
862
803
87
692
7
734
680
566
658
576
180
489
539
68
87
918
940
707
791
555
677
829
31
844
132
163
959
821
627
67
934
384
26
757
112
631
585
143
959
668
598
704
171
684
882
816
646
0
678
549
685
932
776
243
222
321
521
166
245
811
879
384
649
325
270
73
489
816
712
80
923
366
356
189
132
428
206
474
307
81
649
932
201
114
308
936
74
121
85
240
278
178
69
897
474
549
291
402
543
235
222
172
634
559
361
476
734
491
683
212
288
183
344
196
295
274
82
420
798
95
440
685
992
58
80
542
427
156
988
35
134
404
539
213
236
178
559
710
370
359
913
52
537
843
900
205
436
471
214
566
457
990
562
534
172
1
58
958
364
940
667
359
734
73
384
495
512
557
312
260
82
566
317
612
799
443
852
672
307
697
282
726
334
433
74
647
382
150
876
500
574
475
491
504
906
387
111
437
692
22
282
584
895
854
87
207
436
348
348
489
979
121
303
387
391
362
326
717
809
645
673
448
649
737
961
924
560
873
378
876
929
682
584
302
366
627
705
277
299
741
214
500
145
901
914
355
261
730
830
701
483
446
114
104
860
919
591
302
545
762
551
969
286
420
442
112
395
301
751
963
693
898
206
447
636
235
604
532
409
596
604
933
23
958
636
414
251
761
972
582
865
244
999
153
652
827
509
858
533
87
811
696
650
791
177
811
622
222
216
17
377
589
834
567
424
769
254
584
488
175
322
459
925
946
193
28
159
570
380
741
807
160
135
912
341
53
114
990
789
892
318
94
169
388
598
471
921
775
369
374
214
994
188
579
255
535
184
425
63
382
762
130
748
107
182
452
607
203
110
568
461
76
718
134
269
887
882
877
884
772
437
424
546
12
70
769
167
882
909
803
36
239
525
21
685
858
162
149
349
50
265
39
667
128
104
538
404
514
999
962
295
211
275
597
206
923
428
663
239
661
530
768
684
686
922
176
988
551
38
355
970
656
617
496
782
49
638
359
899
189
648
329
665
117
235
657
504
879
867
380
894
801
374
963
86
193
306
194
198
643
966
239
327
35
734
169
18
424
728
656
813
461
687
709
249
289
755
790
353
789
289
319
275
70
508
849
997
426
434
857
534
558
108
239
491
146
681
946
775
352
724
53
936
640
10
260
54
224
172
748
742
156
319
698
836
185
169
471
418
312
860
401
585
969
629
399
675
158
463
598
475
179
488
181
717
771
126
624
615
521
654
685
140
699
17
993
614
615
801
337
255
338
10
485
776
127
75
796
246
355
718
44
474
132
710
965
659
699
836
684
280
380
400
933
874
541
24
829
660
725
415
384
194
441
815
133
880
829
165
364
958
799
459
378
232
159
573
897
32
88
344
319
45
668
433
854
40
891
934
207
192
840
430
240
55
515
506
753
57
110
970
291
646
729
580
478
461
281
950
475
756
414
59
629
768
601
934
888
909
146
40
797
864
793
355
633
134
424
507
311
141
513
272
968
200
252
820
77
791
287
104
504
306
880
846
825
590
255
154
200
286
216
100
315
474
154
654
154
680
256
621
60
54
974
748
7
994
49
246
491
213
141
865
881
919
968
879
442
710
531
585
122
588
353
263
762
462
806
36
225
819
717
183
829
590
237
487
209
105
556
139
894
323
142
661
271
101
792
530
390
40
718
743
336
831
549
192
757
79
873
394
877
885
843
941
712
727
966
344
68
393
414
616
681
175
131
772
511
765
451
778
93
594
546
408
807
751
148
446
133
955
966
484
672
898
239
232
929
912
484
615
43
150
542
56
147
672
818
160
636
359
349
292
540
432
572
804
282
896
965
543
992
849
468
161
164
372
546
189
575
192
2
144
263
370
217
136
105
555
426
248
803
317
810
86
353
536
53
578
833
697
528
275
814
387
436
910
248
452
290
303
972
133
400
151
673
174
308
102
295
213
736
938
627
978
119
101
712
566
727
885
375
684
577
728
624
861
863
857
621
383
191
333
702
914
50
720
682
79
718
137
182
615
301
8
223
269
405
850
986
177
750
424
124
638
547
502
306
74
69
388
917
267
49
90
467
770
672
663
0
74
195
826
676
437
15
660
624
592
748
297
341
274
28
912
845
282
479
482
724
412
174
491
479
59
374
660
897
306
874
703
958
275
429
53
74
452
125
277
227
968
380
846
362
964
138
597
866
8
176
447
748
815
880
826
93
682
849
225
901
154
903
511
710
311
440
248
551
474
45
255
189
231
860
800
894
806
950
180
101
73
574
245
681
293
528
580
787
62
542
509
922
70
987
786
805
890
950
867
746
244
878
204
30
390
980
848
157
626
112
985
343
757
648
572
163
649
673
95
947
796
587
377
424
112
181
172
381
955
81
788
171
656
676
865
630
943
811
947
370
115
214
346
600
296
600
594
870
120
530
246
604
912
797
286
697
599
362
262
620
619
788
462
622
595
57
450
969
302
40
568
226
882
265
960
321
53
692
525
843
653
776
165
687
405
943
893
409
738
694
154
965
626
18
600
377
459
850
129
129
56
695
409
550
711
353
410
244
290
53
325
80
479
899
139
203
662
668
175
333
220
898
143
800
40
162
646
669
399
226
723
305
429
454
52
971
479
666
471
762
671
353
947
456
227
902
106
953
259
7
838
263
995
181
523
487
383
515
205
571
643
458
428
628
821
844
399
744
364
180
917
253
40
960
420
255
3
322
845
329
775
295
316
230
915
395
858
627
304
241
874
618
453
707
21
875
378
985
713
611
114
502
894
896
58
795
362
231
994
158
892
346
690
700
982
897
73
96
43
545
105
612
984
455
542
732
671
801
499
243
890
721
492
340
96
469
634
463
691
602
709
439
460
183
46
636
954
287
289
108
956
226
132
112
152
634
752
189
39
749
630
900
650
277
933
203
420
556
494
98
378
787
415
97
70
706
579
820
24
359
827
664
584
557
257
699
203
331
988
347
930
842
380
419
646
540
610
862
857
823
925
177
817
241
270
290
944
338
665
721
200
574
174
490
831
324
654
0
314
576
443
964
977
325
525
525
363
348
172
203
760
762
837
734
714
824
41
182
654
312
304
3
532
359
893
325
548
706
148
226
17
20
395
763
928
711
560
998
173
331
602
177
743
741
982
57
439
956
513
392
965
655
295
710
369
477
1
384
479
789
672
318
622
267
242
404
747
680
617
755
933
357
744
654
459
816
846
906
784
490
850
441
634
224
693
729
305
621
475
618
239
10
152
947
880
569
818
186
93
666
504
973
617
997
913
388
119
695
888
214
220
810
146
185
688
646
698
403
534
309
493
342
550
220
455
348
377
849
128
159
873
770
743
487
830
581
764
297
383
383
66
602
71
832
63
99
465
231
667
587
44
194
829
702
26
210
111
642
616
319
321
346
3
45
897
401
134
811
101
739
978
251
955
23
610
0
586
780
308
965
564
521
489
838
555
128
638
199
27
678
197
840
508
909
677
344
785
702
551
703
270
546
887
671
154
594
245
323
996
352
5
64
815
241
12
371
506
769
389
789
147
771
653
885
845
489
164
730
917
956
618
257
886
837
44
202
972
121
841
538
27
891
720
587
909
443
305
980
802
245
457
10
331
919
346
262
418
76
817
891
594
61
326
159
6
845
620
93
500
905
702
916
874
847
193
769
960
408
756
406
362
545
400
134
114
352
894
575
109
871
421
195
967
622
463
171
714
119
764
650
655
340
784
819
849
812
747
990
927
377
673
371
491
115
344
930
149
590
899
238
357
185
329
196
218
194
614
550
911
858
592
451
307
540
271
975
871
645
975
424
440
954
981
38
821
192
772
506
239
609
997
342
739
511
994
171
760
291
761
559
951
227
382
7
750
812
233
672
423
306
516
978
714
461
592
73
10
475
961
200
558
543
608
233
633
971
702
918
139
101
330
555
914
553
953
5
66
155
500
60
418
613
371
425
922
517
636
956
198
804
272
257
159
296
128
807
537
420
807
632
668
558
339
235
805
550
708
70
252
225
299
204
456
173
719
529
507
730
832
980
694
437
604
750
960
396
953
615
591
642
912
855
748
534
732
529
958
425
957
982
637
740
575
408
832
588
345
140
20
374
43
392
715
156
960
566
554
830
404
722
131
4
90
968
279
641
746
60
841
508
227
405
50
512
245
839
879
32
95
974
225
448
648
600
314
827
337
911
603
909
670
698
814
628
562
33
368
418
681
627
186
462
363
34
210
185
572
592
646
807
772
161
439
387
276
225
460
11
727
943
796
887
154
468
14
569
806
47
525
51
707
552
106
274
195
531
985
660
69
838
611
385
78
695
266
555
426
999
122
759
568
236
415
16
239
128
783
193
291
770
260
705
178
940
665
136
717
898
602
78
152
476
183
106
157
377
65
558
706
745
930
540
656
756
959
830
178
834
971
160
677
798
450
812
895
556
859
611
472
623
131
344
66
795
829
526
341
493
341
117
423
44
769
367
990
742
251
431
713
798
125
338
882
934
190
738
683
405
930
491
912
492
845
750
512
885
857
382
809
160
348
67
471
914
189
991
462
755
819
310
964
470
87
31
420
758
86
920
91
942
364
412
93
918
209
23
546
197
462
322
822
29
789
375
533
490
392
947
329
11
335
287
618
780
755
429
796
882
828
413
516
292
700
955
71
261
389
400
406
456
136
807
141
273
507
208
897
717
493
75
755
468
94
102
900
60
760
184
565
636
590
865
453
615
668
223
908
530
327
413
948
810
880
61
28
920
67
872
746
463
25
553
222
620
649
893
447
60
846
100
305
241
186
41
566
289
984
215
452
519
627
898
424
612
680
259
632
761
274
370
245
290
309
280
130
605
119
878
714
531
603
798
180
799
609
863
267
965
221
560
509
156
113
817
541
256
972
885
949
169
920
421
956
924
740
602
851
505
379
457
498
725
984
546
782
56
33
76
884
211
756
325
692
402
231
396
286
38
570
86
933
253
287
61
300
573
832
984
210
500
977
294
836
650
845
738
684
957
529
121
532
369
750
933
103
278
56
787
341
420
250
300
221
92
787
306
642
426
138
201
300
987
489
457
933
923
52
816
457
131
279
219
754
908
460
775
541
58
419
202
570
114
392
859
429
203
510
884
355
616
572
502
14
399
966
956
680
436
491
657
471
211
698
77
614
778
525
450
950
501
328
143
395
30
216
566
760
968
678
419
436
768
238
631
437
303
146
894
138
514
77
111
588
125
148
624
869
655
426
562
629
338
870
857
155
248
44
368
5
434
165
46
170
268
497
456
538
850
576
389
511
978
207
47
944
71
261
385
32
262
634
702
594
431
106
85
796
724
645
778
684
199
700
991
782
187
79
743
371
469
2
401
890
509
851
294
999
177
917
95
316
333
346
201
768
461
124
261
420
604
30
573
138
98
323
735
890
569
479
594
819
317
203
552
806
120
606
327
932
43
567
776
537
455
915
463
66
591
892
51
991
692
431
557
341
971
305
386
183
412
861
863
157
292
201
896
961
428
704
249
463
183
121
843
564
633
190
140
85
826
388
601
494
926
182
752
65
302
787
328
18
745
537
928
318
22
967
841
105
919
26
547
894
190
200
885
267
355
379
606
741
346
139
154
642
578
186
971
880
646
334
568
155
887
513
337
748
385
687
434
360
697
724
383
337
373
872
687
262
34
347
608
866
831
153
612
831
677
735
389
48
671
767
547
359
655
831
888
259
290
45
958
881
431
775
711
485
615
896
15
751
946
404
920
965
36
388
159
317
190
467
289
439
708
465
928
338
469
767
46
855
115
429
128
69
279
640
163
952
208
133
244
16
108
198
316
287
151
273
621
756
291
112
77
687
138
228
815
418
176
280
25
435
325
245
332
631
25
939
150
393
108
841
874
735
69
741
457
416
949
643
565
36
910
555
927
962
658
633
527
861
628
62
771
153
406
609
355
882
920
775
842
968
903
283
377
62
62
562
255
762
258
749
946
571
472
217
775
442
380
379
745
805
966
759
967
653
956
982
544
708
506
75
343
821
984
232
910
336
611
346
807
865
460
134
654
400
448
237
875
721
456
455
250
630
196
429
710
597
729
672
513
442
592
52
82
746
956
463
828
518
260
673
37
471
299
754
128
735
24
240
390
212
321
227
460
966
877
171
979
754
232
96
183
306
792
224
898
468
407
330
950
586
130
390
810
210
163
874
14
241
789
121
912
322
591
206
271
352
875
755
177
98
184
610
991
427
153
606
364
748
790
287
848
543
26
396
40
348
923
9
866
221
791
327
784
256
98
805
707
979
157
439
346
668
382
825
497
194
95
371
89
611
953
411
578
453
960
812
44
51
991
920
281
395
650
508
45
629
640
971
72
819
170
369
568
57
660
938
74
45
400
724
245
864
392
472
33
59
477
484
97
966
39
827
564
990
70
651
742
502
925
679
289
331
261
770
561
649
365
898
921
971
591
762
648
192
513
841
95
761
174
15
681
748
650
597
699
489
729
831
943
886
405
834
517
722
884
337
527
843
507
226
108
943
703
929
159
13
432
305
783
871
830
400
150
523
464
963
434
344
555
269
359
245
885
856
271
31
395
927
401
154
87
450
381
808
758
755
736
947
210
429
294
538
831
926
848
605
503
666
955
830
191
146
496
932
446
260
376
630
550
565
342
771
695
979
210
746
862
270
821
73
146
821
562
545
659
914
184
160
172
191
609
739
344
690
484
917
69
829
507
240
410
306
195
232
877
659
314
309
325
165
63
729
101
332
7
681
178
813
524
443
449
862
258
510
520
209
680
659
678
122
386
443
315
680
719
993
898
870
161
340
647
307
331
223
312
625
97
922
733
751
963
119
473
222
979
916
531
367
481
672
386
364
93
179
486
397
573
345
352
329
919
727
929
361
547
20
503
395
992
239
552
244
242
245
864
825
804
879
695
851
545
795
909
622
261
517
668
594
348
609
785
413
446
479
325
720
515
617
572
996
42
829
100
912
499
444
61
263
312
49
150
896
442
405
372
112
215
827
298
683
251
373
627
307
901
158
722
230
725
898
164
317
80
587
519
978
127
618
671
364
158
515
836
789
957
16
201
619
964
663
988
340
772
299
537
956
389
6
773
965
764
898
252
107
759
864
365
19
575
361
670
479
365
740
389
10
98
577
357
706
251
627
987
758
289
619
816
314
6
465
667
183
925
533
988
368
275
820
19
688
606
562
654
242
952
111
395
75
599
623
466
296
233
462
377
141
587
309
10
392
633
29
730
656
397
458
552
172
610
342
330
546
448
175
292
97
380
836
178
851
135
360
215
605
917
4
300
460
476
142
739
847
900
177
986
344
403
764
991
334
638
575
238
329
751
149
858
232
874
556
547
324
891
950
288
501
556
831
752
83
26
585
342
970
943
55
399
922
299
975
854
504
538
239
587
561
982
418
880
978
610
452
821
129
560
977
753
737
810
14
984
936
413
129
471
189
397
726
714
195
635
229
831
796
615
805
862
985
465
58
476
571
427
684
3
380
724
116
941
500
725
738
836
241
708
410
161
430
906
748
537
710
839
770
917
877
552
523
755
91
344
744
696
452
471
464
657
66
156
501
868
980
609
584
586
476
352
208
771
185
504
198
483
713
730
831
127
723
96
148
309
5
340
971
315
302
11
54
175
705
843
99
903
607
412
749
0
348
867
758
478
281
813
103
608
950
420
618
840
138
512
314
86
106
153
609
51
889
167
979
849
690
772
698
508
65
503
535
324
164
927
949
52
195
577
136
275
907
312
159
473
979
423
378
671
910
787
466
698
105
266
954
963
482
183
976
30
718
377
591
10
450
454
713
958
581
355
536
14
959
299
277
132
741
834
313
629
830
402
354
339
983
992
786
474
815
548
981
835
303
477
488
784
487
773
550
648
928
320
812
996
776
572
306
47
197
925
776
986
255
738
134
652
142
182
664
406
703
810
180
285
731
900
171
491
583
575
594
818
493
393
712
313
211
890
392
182
232
439
683
449
522
563
675
553
157
947
107
18
188
445
870
844
407
325
708
224
831
817
863
71
194
701
962
594
998
96
926
894
970
728
261
39
197
388
147
982
250
233
168
746
322
613
430
829
724
980
203
916
852
870
190
566
560
764
397
659
517
205
625
875
686
342
149
868
576
729
544
943
633
50
772
144
377
635
730
615
134
549
918
739
580
244
306
671
772
688
736
849
160
620
734
326
849
793
596
853
870
467
5
761
430
672
100
341
839
950
948
177
214
324
745
490
459
180
412
230
636
402
190
431
160
575
228
151
399
533
977
359
15
335
402
459
566
918
782
441
631
915
584
524
806
513
165
167
516
295
165
69
206
692
487
434
13
992
887
378
757
86
694
81
73
479
170
583
360
71
576
544
398
472
687
407
744
977
857
303
528
444
712
313
563
193
510
439
290
196
115
867
438
752
954
287
321
733
965
995
523
809
802
665
363
224
472
765
561
573
769
647
346
691
186
363
927
88
867
53
603
534
836
257
794
718
714
738
245
18
552
84
5
455
187
771
630
10
985
739
203
589
158
801
682
646
947
569
11
783
90
775
807
117
973
832
669
23
648
892
512
905
264
859
16
239
224
282
402
212
867
168
684
647
717
334
432
676
390
846
957
559
71
150
42
652
863
203
980
818
191
664
622
168
315
778
957
342
213
462
687
394
400
475
807
304
45
142
169
316
721
765
11
908
879
694
262
73
439
364
706
650
289
775
49
245
157
484
336
319
976
443
950
467
650
733
986
49
684
583
546
0
940
747
728
475
831
142
77
344
219
941
165
895
269
710
611
204
431
90
73
309
621
535
997
845
600
749
401
104
165
528
213
323
340
425
698
703
476
930
600
64
729
994
329
805
156
75
450
655
630
395
337
292
864
341
942
228
49
495
375
711
208
244
284
600
398
898
225
143
865
404
241
149
230
788
246
438
831
588
985
505
636
427
364
268
80
46
948
868
660
170
499
671
452
280
384
638
504
227
673
915
983
616
247
40
718
719
373
657
737
914
554
294
490
64
646
708
722
710
370
534
262
537
194
118
526
680
105
713
158
186
630
749
847
773
576
635
352
406
28
852
373
740
241
271
689
617
70
404
186
380
493
898
678
621
246
284
896
927
979
586
322
242
424
616
324
296
466
541
546
758
256
547
298
940
710
444
49
864
309
840
656
984
288
260
67
952
503
117
484
927
999
763
208
808
820
703
553
226
855
697
582
88
328
694
715
883
770
351
384
759
140
238
330
358
628
371
636
379
136
785
1
794
51
752
327
124
805
789
217
682
111
509
182
188
345
824
536
220
811
435
649
764
783
863
860
327
405
636
134
952
572
722
269
785
533
391
59
807
499
530
346
430
280
508
60
400
694
650
410
485
569
988
160
704
104
542
924
897
930
12
544
432
290
423
746
56
148
463
896
501
84
715
68
339
414
31
38
980
662
649
530
944
885
134
740
376
410
370
377
823
52
351
890
584
605
627
857
77
727
620
935
586
259
422
80
915
92
587
499
579
140
197
661
571
876
548
461
906
117
477
274
552
306
59
33
329
575
614
833
626
93
780
682
889
526
615
33
241
583
189
66
684
754
16
104
605
70
322
976
438
208
978
28
81
75
94
989
164
485
506
289
530
49
950
257
335
435
833
525
123
156
265
404
794
907
465
119
537
162
7
584
454
884
683
875
45
295
531
306
101
628
776
249
566
867
93
545
279
426
724
206
327
125
817
222
319
240
847
96
392
169
27
468
861
309
188
279
358
856
457
143
652
234
186
153
554
416
557
605
961
345
848
987
676
577
496
96
894
909
806
373
643
347
82
343
903
411
732
34
53
85
240
317
935
24
951
684
915
500
421
849
574
146
689
158
790
865
279
108
301
681
545
288
996
401
105
63
661
477
209
705
738
822
98
228
128
915
960
573
415
691
815
983
249
355
962
115
973
814
259
639
659
61
798
849
950
377
217
580
347
940
410
544
39
598
359
152
354
894
92
826
463
682
330
900
627
436
702
191
447
746
310
914
292
889
526
362
666
478
734
869
741
261
977
140
113
971
182
520
436
31
550
495
873
586
60
74
726
317
425
220
870
105
288
586
786
852
632
769
944
99
538
650
592
192
944
384
337
47
710
336
750
564
377
435
463
197
993
839
20
530
775
645
910
827
992
467
29
771
734
446
725
131
384
107
153
622
73
216
813
937
578
817
708
751
373
715
118
834
741
434
868
318
861
401
453
258
295
368
428
492
168
328
829
962
910
434
482
199
430
832
624
664
953
429
634
60
857
610
492
149
813
998
798
400
268
856
790
279
278
944
637
927
713
489
854
517
431
999
393
118
869
406
170
32
119
658
989
663
657
544
330
345
435
172
343
543
340
934
883
754
260
586
715
502
94
519
423
591
112
665
131
803
620
354
540
774
869
952
100
158
383
520
787
740
940
407
874
174
559
820
426
798
827
952
18
513
146
974
729
144
659
491
205
648
47
101
7
337
917
989
327
878
94
446
911
44
743
253
655
212
681
733
19
222
449
212
123
484
259
689
208
108
202
121
112
801
223
149
313
42
628
533
937
307
55
534
656
489
866
37
453
560
722
856
60
183
781
643
466
145
130
600
927
782
945
55
301
181
79
161
708
295
19
65
487
478
313
394
770
322
816
136
421
340
495
208
193
145
135
364
528
290
794
406
702
749
110
57
738
704
815
723
936
128
217
685
945
890
961
239
720
902
193
434
675
830
191
283
699
846
586
941
591
661
838
989
151
389
971
248
575
522
800
251
815
244
143
501
616
446
900
275
778
48
438
935
494
950
214
529
937
609
264
551
955
171
538
721
371
551
224
108
8
47
375
852
494
77
952
490
528
781
538
156
450
549
264
931
539
457
305
383
762
810
341
154
776
876
283
314
755
82
321
271
39
886
359
812
394
117
388
150
692
183
866
580
35
431
113
948
787
249
627
875
73
745
377
98
911
438
687
753
433
400
337
259
248
638
719
990
60
882
143
455
640
5
14
111
827
520
134
904
629
609
71
195
81
543
333
465
883
505
846
998
2
440
301
78
516
915
223
327
33
755
333
375
766
151
917
734
369
662
960
898
190
607
711
364
510
288
181
307
327
274
586
292
908
475
889
18
524
310
448
890
90
322
129
689
543
71
371
721
326
960
797
511
178
714
23
840
644
148
273
719
522
241
564
188
848
393
173
276
23
357
464
156
927
612
848
130
927
522
57
315
954
394
775
469
89
39
949
307
550
753
410
335
791
146
429
815
402
179
723
643
787
949
460
775
297
677
179
881
117
827
469
110
925
320
628
993
38
555
17
182
390
357
966
940
61
945
834
607
277
205
479
210
958
477
786
970
959
269
849
793
888
282
953
664
257
662
177
545
272
295
880
416
813
363
484
657
994
179
823
837
406
135
110
222
993
646
596
208
790
820
887
401
591
690
793
27
97
622
229
778
964
554
191
974
905
762
226
624
157
432
59
88
151
735
568
25
593
646
932
601
559
673
720
266
600
9
122
697
341
324
880
573
517
331
655
155
241
673
319
17
523
133
68
489
712
651
702
452
240
959
546
893
761
425
770
565
649
916
795
527
355
210
809
362
689
907
440
965
810
583
669
394
94
606
242
479
463
459
633
64
971
709
3
153
566
713
699
57
345
175
187
613
198
911
517
122
102
146
849
245
232
300
126
586
647
588
35
364
108
734
980
976
600
991
368
394
381
572
495
867
525
768
66
339
966
762
297
388
907
331
408
643
879
28
613
60
164
866
906
71
474
74
514
426
888
550
876
811
486
413
614
326
628
838
558
477
694
177
648
490
391
351
945
701
663
426
893
644
380
677
407
296
512
49
732
788
989
874
521
643
277
739
827
254
45
722
910
363
537
162
53
216
717
65
775
896
288
42
916
554
745
198
903
294
124
337
563
796
848
870
565
758
984
407
272
284
898
896
647
1
362
849
232
121
649
128
535
183
521
325
682
498
542
43
690
178
684
668
271
894
640
749
522
698
162
24
588
801
796
570
690
834
801
673
769
779
293
332
62
617
814
323
43
485
446
893
100
906
767
484
268
366
784
51
127
819
384
822
806
190
344
828
480
572
72
506
844
845
352
549
129
484
790
41
541
427
852
759
284
193
887
387
162
743
173
931
274
933
75
695
936
711
471
199
801
532
836
478
992
618
634
876
317
265
569
661
347
713
874
440
619
411
156
629
386
215
980
84
235
404
22
364
525
927
425
694
147
619
471
277
990
323
329
730
852
769
257
710
477
758
259
88
726
585
979
235
59
942
116
857
941
961
32
940
82
682
40
42
970
628
59
778
533
672
488
977
662
352
326
424
387
724
34
997
22
57
613
312
362
413
438
212
894
388
320
550
87
23
451
108
991
746
858
652
474
459
567
74
584
478
997
872
363
811
900
863
555
743
312
94
112
639
530
426
481
830
709
52
126
554
436
266
833
173
464
782
892
285
751
76
469
398
979
359
775
834
996
252
372
896
433
395
258
955
389
474
523
44
756
203
34
717
95
305
410
889
148
255
500
837
813
763
197
972
967
735
48
51
987
535
983
140
695
672
924
61
149
682
517
342
85
532
64
116
971
590
856
394
225
230
424
351
675
14
567
880
742
562
317
970
515
723
788
269
996
117
34
123
679
318
706
294
902
751
810
673
888
17
386
877
121
218
900
646
310
404
517
114
426
306
738
122
407
859
117
348
965
675
940
82
98
478
577
662
298
739
489
238
464
902
224
152
207
687
230
954
89
473
635
876
919
202
261
737
692
723
672
480
689
309
90
896
87
6
484
128
480
940
649
771
12
386
145
305
135
160
124
754
722
141
720
210
553
614
578
28
172
681
741
728
492
71
197
516
249
828
855
334
497
634
927
922
240
14
226
143
736
439
10
93
360
622
281
389
94
842
0
502
459
822
295
940
664
877
493
448
334
377
366
642
914
872
521
262
449
364
255
549
135
330
600
296
61
206
857
860
319
896
794
167
572
227
305
326
821
769
845
765
944
982
886
704
758
624
288
637
767
658
636
362
530
924
962
266
610
976
769
131
283
807
551
330
757
211
756
551
908
788
955
18
982
906
447
550
123
856
858
167
718
924
131
897
383
495
635
283
194
808
665
967
965
95
195
52
173
469
845
291
835
705
802
814
479
266
665
439
920
744
204
850
932
501
406
359
72
814
208
117
340
368
630
178
418
92
304
357
279
836
194
818
458
601
80
841
147
441
575
993
470
622
440
19
889
136
505
348
534
813
195
901
299
905
308
654
274
766
705
777
263
538
44
705
592
331
914
60
263
722
65
306
131
57
638
33
83
284
926
561
992
93
944
530
698
329
249
206
675
780
651
894
557
701
188
825
798
181
809
461
472
564
777
198
384
921
83
213
800
211
594
929
913
356
624
301
167
693
498
814
811
449
448
219
432
452
99
184
957
957
126
587
533
958
562
197
772
357
862
794
71
367
659
649
262
646
370
247
744
718
627
584
990
902
773
200
667
398
747
178
945
205
591
753
391
7
407
681
377
877
261
479
49
245
884
518
489
747
292
143
405
391
764
555
181
897
938
464
455
915
547
410
932
737
152
811
399
450
243
505
432
392
711
906
38
181
218
269
91
149
569
454
13
918
360
91
19
662
337
688
113
423
276
420
665
168
463
288
744
858
525
656
423
524
85
501
876
264
629
704
908
111
60
198
331
336
757
586
213
738
638
359
520
166
7
701
854
756
768
79
756
122
798
230
667
949
774
96
513
16
339
630
189
878
139
955
604
239
582
458
161
212
617
687
457
387
282
318
130
915
195
778
408
796
521
482
984
56
199
992
39
410
253
548
248
273
256
680
374
312
598
181
791
877
706
57
462
573
706
414
134
676
329
347
866
256
398
286
894
88
243
579
459
339
377
859
177
707
320
745
87
663
473
274
25
654
522
728
597
963
782
920
683
189
831
725
339
44
232
741
859
455
781
536
834
28
386
809
963
226
245
131
829
268
494
707
136
43
354
815
356
453
911
761
338
216
269
467
688
527
325
991
190
430
589
299
95
799
227
656
325
239
938
837
153
537
990
302
760
119
208
574
765
194
627
202
941
91
134
346
524
80
298
483
889
405
836
233
397
130
881
574
911
414
277
748
326
134
28
333
891
517
575
259
526
724
213
198
557
942
584
953
121
820
263
198
962
376
334
93
136
455
470
924
46
832
451
543
717
549
779
129
174
923
395
566
937
363
940
52
83
741
409
254
507
336
66
85
124
472
552
760
222
394
657
857
260
141
995
190
406
482
805
891
988
265
515
743
112
268
185
209
995
65
458
427
331
938
757
613
686
99
893
282
619
900
693
695
242
257
189
63
163
430
119
339
465
544
453
436
158
771
441
203
408
375
985
146
9
228
118
256
975
146
815
414
353
436
55
235
303
145
398
833
95
362
549
400
3
75
797
342
436
901
364
153
464
932
461
589
655
226
630
640
118
109
921
176
440
602
617
26
255
946
594
525
544
504
831
798
451
783
624
589
792
236
339
794
705
620
38
855
995
357
419
46
346
803
880
911
562
990
564
498
285
858
959
69
527
25
830
346
571
316
594
739
499
22
348
86
139
726
157
658
783
256
777
426
323
844
467
560
415
554
911
592
982
107
840
35
280
650
306
67
256
83
757
409
655
947
39
612
464
669
34
287
0
988
316
776
834
556
956
302
994
79
806
594
654
290
354
746
54
796
968
665
173
908
206
879
985
988
154
33
79
369
414
738
641
278
809
412
381
539
72
36
318
346
256
779
844
607
22
487
522
69
619
724
663
492
281
28
263
595
833
678
4
817
549
962
368
829
498
250
361
596
338
28
466
383
700
302
603
534
307
580
571
227
451
772
943
973
846
794
421
846
830
382
863
510
759
745
175
862
748
362
333
766
804
153
834
710
764
731
532
211
89
960
121
778
175
155
52
70
279
518
854
157
47
123
314
835
849
300
733
959
123
548
809
827
629
351
618
755
369
1
366
289
151
744
766
284
959
383
128
532
948
983
801
299
664
71
7
809
474
758
477
216
867
700
552
790
451
618
238
863
195
364
853
401
239
665
316
844
982
655
300
232
139
578
931
746
464
721
126
626
214
601
299
608
475
789
380
592
656
817
831
334
900
877
326
972
924
380
619
874
317
648
120
474
935
514
763
483
648
914
96
906
585
651
617
601
289
103
451
146
651
942
632
391
105
545
784
634
842
809
328
553
787
55
232
544
727
902
799
465
922
867
457
335
579
119
242
869
933
914
142
234
613
182
297
809
563
368
187
362
743
551
358
822
831
432
863
575
8
717
644
5
761
247
69
913
607
582
933
683
235
97
267
421
345
277
560
893
153
234
318
466
597
909
489
970
973
635
825
821
626
896
675
916
444
483
429
176
162
108
437
507
248
660
54
473
194
627
11
82
964
364
998
759
610
494
466
843
766
710
919
155
134
57
495
254
997
429
950
15
432
67
500
375
418
425
446
707
105
419
274
228
964
837
923
394
501
237
984
277
50
599
805
449
180
3
51
933
562
295
657
236
746
499
724
18
586
499
376
414
476
658
587
891
459
250
648
915
533
443
751
778
566
754
531
353
713
441
550
952
373
817
937
141
175
372
613
82
702
239
15
926
382
314
753
187
255
524
667
440
224
654
912
832
214
207
680
965
922
958
947
513
253
32
918
40
397
85
350
186
322
81
856
925
438
842
678
191
350
617
228
251
184
578
54
56
707
169
8
603
255
308
141
699
237
871
331
320
573
566
728
329
213
302
687
463
46
112
311
225
546
851
371
611
813
640
763
439
84
469
63
429
165
318
335
764
220
681
781
969
759
237
883
846
645
46
266
230
698
674
181
868
39
789
555
826
207
413
814
812
513
916
308
350
611
201
528
97
724
476
679
404
713
470
135
769
223
436
974
395
260
873
300
65
646
522
912
383
700
338
612
482
125
640
181
56
212
687
918
290
423
39
74
364
759
266
914
268
705
747
614
518
309
330
50
8
988
966
615
339
207
562
992
352
289
72
203
290
22
11
544
59
437
518
811
415
307
540
992
150
564
797
203
883
693
636
413
771
971
349
191
524
125
412
932
969
479
9
983
548
266
48
147
637
934
160
571
951
590
802
347
194
451
843
547
419
867
586
401
709
903
228
596
532
955
321
37
34
706
200
868
169
670
721
264
520
601
819
309
488
673
426
135
484
674
457
302
20
213
559
127
460
60
188
677
877
412
107
122
208
264
399
249
953
172
983
665
305
392
973
789
951
355
107
826
676
527
77
674
44
224
256
189
546
127
878
194
294
198
140
555
590
909
54
711
560
525
11
615
420
133
369
862
784
155
760
382
335
79
148
190
274
232
295
895
328
684
100
737
287
750
795
79
539
30
926
718
261
500
508
70
441
491
487
938
85
446
843
486
526
517
907
284
761
770
468
317
708
850
431
191
538
832
681
326
150
248
181
293
219
925
925
835
707
843
889
122
656
44
247
665
793
422
35
630
3
681
251
127
520
220
817
60
96
480
417
302
420
652
984
522
93
659
787
234
863
5
78
958
279
72
488
789
457
352
807
546
972
335
874
686
897
921
110
692
486
534
470
110
682
3
523
328
628
486
275
510
313
701
346
282
982
696
689
72
573
242
504
846
769
166
830
91
264
575
186
610
782
649
163
522
44
111
76
416
721
944
517
700
468
722
366
594
885
493
369
406
516
417
172
709
720
867
679
996
344
850
800
724
544
714
132
603
156
525
181
993
348
541
570
216
531
933
958
582
491
852
802
580
434
323
250
429
898
629
49
71
385
554
239
156
411
252
173
666
343
71
108
262
612
332
262
780
921
961
985
639
155
430
550
389
367
133
406
787
680
641
899
946
27
459
61
170
245
414
416
120
650
774
665
960
515
614
335
656
596
536
655
248
649
624
626
801
825
658
177
60
917
693
30
972
799
545
869
472
305
57
780
43
940
815
951
933
927
775
478
204
397
678
977
971
632
651
917
248
546
747
908
60
206
559
128
926
783
439
163
525
349
113
538
111
210
623
360
80
475
997
258
334
722
717
787
15
959
139
215
386
967
562
397
465
407
601
874
143
675
841
833
211
776
812
236
391
195
267
880
217
401
981
359
131
271
180
984
462
952
638
933
788
747
778
737
511
285
310
105
927
38
683
157
80
707
521
221
130
286
395
99
387
515
137
900
80
657
508
266
283
438
928
788
825
209
29
413
210
90
670
713
574
374
238
422
798
558
344
618
328
535
409
76
26
315
786
394
312
137
160
609
334
971
669
515
823
798
670
376
634
22
755
57
17
501
561
703
195
650
501
238
79
956
526
209
318
645
253
544
813
405
538
326
430
915
764
400
753
804
927
142
510
931
898
725
205
754
658
633
3
463
992
977
89
838
708
88
372
416
788
117
462
197
970
329
118
281
250
458
471
280
516
572
177
664
397
515
332
27
238
419
75
59
91
189
810
664
748
173
326
831
876
385
281
310
849
108
246
664
883
15
448
114
895
316
220
344
620
664
774
60
281
239
162
926
30
801
224
670
758
723
467
469
873
772
72
705
62
389
442
401
180
59
285
686
363
298
60
171
365
848
989
210
367
558
227
226
252
471
345
40
895
865
513
82
545
569
237
790
422
961
171
339
61
655
994
15
115
886
982
338
557
981
483
37
692
222
873
913
670
506
326
277
222
699
261
785
844
236
242
50
611
834
828
982
65
80
726
177
707
906
890
119
360
35
975
463
701
132
632
356
368
669
624
796
695
759
516
278
989
203
859
710
318
364
895
683
718
972
77
324
139
252
175
276
725
434
672
944
534
152
367
316
988
533
848
84
898
198
34
338
504
552
304
105
579
206
533
7
522
605
812
230
405
54
278
574
705
772
658
75
528
524
934
855
307
257
54
168
416
715
55
424
175
605
711
737
842
320
143
442
91
6
18
91
82
724
39
115
349
316
403
940
756
356
737
570
587
215
525
647
169
813
611
294
131
987
176
932
385
68
625
115
307
661
238
875
99
952
847
119
166
874
240
339
67
95
190
88
314
887
56
551
815
33
37
365
872
44
408
260
83
908
14
489
323
997
117
731
22
447
590
753
421
3
688
251
835
176
680
881
101
939
133
146
919
186
792
563
706
417
60
401
264
632
189
999
765
198
517
984
790
365
272
867
106
426
405
169
18
867
903
354
230
720
377
228
972
842
30
624
245
541
216
772
903
884
114
905
206
10
815
780
296
642
299
334
595
778
453
690
890
794
528
382
477
165
679
196
817
251
753
365
669
943
459
380
727
198
889
244
392
71
646
786
25
636
195
420
656
997
603
74
556
333
529
58
470
214
472
733
298
297
413
614
10
32
114
632
635
62
178
139
228
398
913
228
727
186
253
425
429
830
402
581
590
517
791
60
539
537
992
834
129
553
954
485
941
22
963
712
546
211
340
764
30
365
880
742
556
432
191
342
461
984
320
927
135
960
398
820
26
924
455
256
186
774
75
863
374
370
993
923
482
961
997
760
511
834
366
702
999
790
888
778
0
594
219
142
883
839
893
249
227
970
192
301
360
622
544
193
384
550
692
24
387
508
378
943
489
623
183
730
639
922
955
219
485
243
73
549
304
156
949
965
785
785
15
943
491
761
129
445
883
110
378
251
496
182
695
603
209
80
114
610
968
654
888
901
546
679
715
504
150
947
336
224
967
620
679
1
911
382
728
585
428
227
908
743
895
823
294
826
650
131
616
124
512
66
700
246
752
79
910
786
408
300
683
99
405
597
346
622
632
988
196
491
170
623
444
712
773
476
360
332
995
387
212
605
568
734
294
805
381
256
373
741
161
43
433
974
908
739
545
69
505
945
103
665
416
457
116
842
5
198
237
746
235
869
572
236
623
861
721
133
5
68
825
71
53
664
224
618
446
456
899
848
862
638
907
600
45
300
68
96
272
628
680
535
607
938
955
902
454
319
107
620
727
591
175
119
151
205
416
862
609
552
786
756
906
820
118
3
986
593
666
402
786
636
777
79
497
226
989
929
360
265
320
158
37
500
43
216
382
995
816
546
111
941
26
964
729
347
634
844
292
923
618
727
375
116
970
648
413
161
612
955
222
254
856
440
704
306
784
237
577
932
27
482
221
773
953
778
790
717
90
221
343
416
16
549
291
318
28
512
72
279
43
859
129
16
155
966
339
198
777
376
456
589
440
418
340
949
90
427
115
615
639
773
386
18
675
182
990
710
331
148
251
17
477
444
438
864
579
592
359
44
728
159
853
913
222
115
413
533
924
814
864
923
694
685
133
46
493
120
501
122
358
525
354
396
439
889
94
42
87
472
242
513
146
702
191
27
973
128
247
109
894
631
660
1
411
71
11
545
944
145
976
122
988
750
788
38
65
426
58
657
134
260
890
635
793
143
239
109
678
544
984
760
605
784
210
623
344
127
231
395
211
415
457
651
874
596
454
666
870
528
783
328
364
932
383
932
446
495
356
517
866
774
936
768
909
335
44
330
482
623
390
552
464
861
255
339
660
926
673
254
882
82
784
784
584
90
313
168
830
87
36
918
796
749
395
633
665
741
294
993
638
583
664
892
164
563
453
118
816
44
192
441
73
901
256
500
253
288
801
238
689
478
136
291
668
411
719
43
731
269
720
972
886
313
560
73
175
958
528
905
183
924
126
346
630
34
617
742
638
932
169
621
788
762
23
992
657
564
340
836
575
733
812
482
115
264
492
814
775
652
367
599
175
662
452
273
50
961
538
730
538
733
447
656
671
473
679
550
544
988
131
528
563
822
934
949
430
800
864
699
598
75
857
19
50
116
682
413
586
163
403
250
90
278
192
529
317
699
242
678
5
887
28
892
707
729
600
78
122
177
848
803
575
32
49
905
180
269
316
498
590
92
991
950
42
941
456
475
996
432
667
196
270
742
238
134
606
676
55
245
648
219
393
633
58
810
508
425
602
761
800
243
197
331
825
954
629
522
863
262
933
631
505
723
674
657
810
950
95
221
224
79
616
314
239
795
797
796
494
255
117
424
194
860
417
768
103
43
11
275
513
710
697
648
227
593
476
234
688
170
337
96
123
45
817
861
830
499
279
216
189
445
917
776
905
836
441
623
114
997
585
931
396
285
672
489
521
690
735
148
947
916
601
13
49
495
338
135
498
770
69
808
539
984
334
759
37
997
980
550
219
613
660
600
266
875
321
707
674
89
155
505
442
922
364
7
580
371
452
436
656
331
615
815
171
127
701
654
964
631
675
754
250
175
801
887
504
770
455
940
151
943
553
36
265
928
829
625
633
787
840
369
979
400
562
570
694
887
559
92
642
814
226
936
115
818
411
907
399
153
313
516
893
487
758
900
290
882
576
127
782
19
461
848
859
892
841
495
777
955
400
781
461
223
306
675
697
918
703
901
678
907
108
111
73
759
210
61
46
883
149
125
633
413
924
794
527
414
918
859
13
577
130
622
620
306
221
508
165
885
378
241
820
165
930
347
573
435
424
360
738
420
65
397
952
774
577
441
926
591
443
129
45
565
162
449
620
561
372
299
374
170
397
96
917
247
91
322
853
856
143
737
974
849
542
630
31
784
497
607
863
514
891
35
206
787
544
17
351
541
416
927
241
281
113
668
11
645
467
40
707
623
785
616
352
210
565
717
80
376
835
538
402
352
278
833
561
991
333
584
94
250
344
408
778
96
718
550
490
731
323
912
642
217
405
25
855
151
686
158
373
756
716
758
819
681
644
884
705
810
325
480
558
280
261
346
71
914
762
180
526
287
932
667
985
888
751
109
881
219
261
546
152
991
533
490
981
221
897
577
440
310
287
806
627
449
160
70
228
969
859
835
125
348
312
626
283
763
547
228
383
462
583
690
822
28
123
987
975
36
273
898
251
572
802
97
560
659
665
381
54
189
281
387
754
246
477
856
615
904
650
327
815
14
639
978
418
563
512
477
401
205
96
913
515
890
153
935
155
841
998
182
546
963
94
364
744
718
407
239
659
584
36
546
485
0
523
912
450
913
30
113
928
323
371
220
957
954
956
337
143
871
605
837
963
801
211
133
665
157
712
969
318
591
241
51
587
190
702
39
288
206
227
155
909
605
970
760
857
158
673
762
323
130
436
166
807
778
106
529
447
472
613
83
541
20
378
109
264
417
756
486
434
447
636
877
495
724
108
419
417
418
151
676
668
78
719
676
983
321
868
290
131
120
266
664
589
808
19
295
425
575
913
686
132
204
587
717
72
302
802
132
189
555
738
25
421
153
851
936
827
877
244
868
113
68
258
204
774
374
853
288
883
76
739
66
800
772
100
165
374
299
47
314
832
103
854
300
256
764
89
360
494
32
781
215
427
355
472
978
309
974
10
511
23
12
43
478
151
760
679
728
296
473
521
95
922
789
191
650
819
757
177
799
323
303
468
945
483
762
537
560
664
662
837
827
584
438
40
574
358
218
99
494
565
437
913
677
337
601
237
843
121
737
251
667
80
291
444
430
310
747
743
474
740
830
891
684
409
465
370
978
566
909
909
467
221
356
832
882
112
548
568
12
994
777
755
983
990
479
682
971
730
330
22
675
881
642
159
862
75
735
116
388
582
754
640
154
212
625
789
124
808
790
364
700
338
340
609
627
29
705
288
185
870
968
220
714
868
51
803
765
376
394
354
284
738
268
483
534
186
364
801
438
79
674
864
337
737
873
328
898
172
78
913
758
186
810
490
273
85
28
259
771
598
847
494
478
171
512
516
715
147
66
558
511
678
26
134
578
615
921
10
200
0
471
423
676
870
355
535
782
916
28
640
434
361
944
649
16
341
467
718
455
183
520
603
676
732
251
484
307
183
38
539
944
291
983
427
40
747
799
742
26
359
948
948
696
26
353
733
598
151
832
191
833
603
615
173
251
572
231
88
100
454
573
185
431
442
758
733
961
282
445
65
550
865
695
739
64
216
782
540
803
675
362
113
84
21
968
959
751
537
496
463
315
418
707
674
121
972
916
839
60
876
309
472
834
646
771
659
521
688
207
591
634
364
584
534
75
560
420
430
556
139
828
877
363
562
396
73
693
655
281
427
52
663
908
140
158
500
835
799
235
383
192
380
229
122
623
93
635
867
900
576
373
130
330
809
133
10
930
691
424
917
125
514
519
445
193
908
141
437
597
528
543
676
131
424
802
835
370
402
217
135
886
612
469
978
520
229
796
993
80
645
850
398
955
415
631
61
860
516
612
727
277
847
379
825
333
792
161
495
731
705
28
368
945
18
707
249
477
946
486
237
748
858
742
551
699
473
674
378
360
239
513
376
523
517
509
743
276
995
349
974
320
45
6
280
260
754
1
196
719
497
419
627
459
875
323
206
656
352
560
825
761
809
224
603
784
820
411
803
696
711
557
472
954
586
367
522
562
481
758
337
730
620
456
395
211
352
68
466
912
517
24
351
477
852
40
942
726
549
201
830
429
309
637
254
13
124
338
800
561
316
753
293
833
998
802
704
488
159
443
655
907
658
54
239
522
370
517
588
526
672
591
883
529
315
227
670
574
426
938
162
344
774
974
243
400
888
25
757
263
331
639
154
561
198
666
404
596
881
478
790
651
553
447
276
124
287
892
542
724
120
709
315
588
600
400
395
245
758
70
15
311
781
715
851
587
940
782
873
33
475
304
180
778
318
612
149
531
126
669
160
525
839
328
522
594
866
997
992
757
941
8
637
623
914
623
547
320
536
314
975
678
881
856
897
761
776
106
155
780
739
18
348
33
448
276
73
725
353
291
119
318
212
515
631
791
446
943
878
396
161
718
299
909
218
472
429
797
120
752
928
657
413
610
730
781
514
525
920
687
386
947
173
690
636
31
818
229
750
235
439
732
947
551
359
586
869
667
10
677
193
503
793
31
84
859
636
698
281
987
131
284
992
723
650
39
545
876
919
187
666
595
250
994
626
659
41
861
624
60
532
150
561
631
736
826
180
276
366
78
162
628
573
573
384
456
694
901
930
692
562
33
390
124
595
295
413
477
109
836
13
721
833
913
467
200
916
502
551
956
293
473
991
765
849
345
82
143
661
398
638
174
926
422
604
12
640
749
252
864
778
443
71
387
175
179
872
600
626
548
565
814
509
274
431
560
785
72
843
643
680
132
955
278
890
408
979
826
911
338
339
900
13
551
354
72
102
722
243
131
205
140
611
639
591
541
442
332
584
581
881
946
180
567
185
776
206
288
820
209
331
351
428
706
655
634
341
369
826
411
183
253
325
953
162
382
336
613
801
815
504
907
872
156
538
70
741
1
971
415
859
918
186
816
760
831
418
32
707
223
764
903
699
809
365
955
337
277
533
157
787
44
662
804
707
841
657
620
331
339
617
859
329
831
596
506
885
23
647
320
46
838
479
600
73
321
79
57
44
9
808
618
174
674
81
274
455
746
775
961
820
777
599
130
688
926
405
969
734
383
541
36
414
963
912
702
583
212
454
250
864
478
855
854
636
756
310
698
140
201
48
750
184
214
314
516
192
190
208
678
239
584
276
806
523
388
924
595
935
740
485
978
197
3
360
593
452
318
48
296
421
323
681
849
956
515
721
323
235
157
267
912
213
410
310
320
649
155
713
249
161
559
340
148
502
704
681
952
1
944
737
610
406
432
560
529
846
326
899
535
819
24
652
203
505
168
334
77
66
898
650
72
656
577
963
613
495
455
187
786
368
137
26
432
750
152
218
387
264
442
281
154
253
823
774
122
315
982
572
662
733
777
630
181
231
582
517
847
479
806
725
991
983
480
97
795
687
858
462
698
394
212
285
460
561
966
969
189
73
840
427
831
527
930
516
960
937
613
197
325
241
947
541
638
215
154
921
778
640
479
874
773
406
894
269
73
672
58
903
165
84
128
75
774
386
737
363
31
898
112
86
316
944
237
400
848
215
730
416
549
517
31
762
900
744
234
459
416
718
638
198
941
671
812
197
68
661
702
231
734
988
500
993
616
879
991
848
494
508
978
779
245
921
386
407
505
701
141
924
601
989
144
549
844
584
222
240
872
933
311
159
454
709
410
679
387
977
249
957
68
547
221
350
491
601
692
876
801
707
109
739
471
567
332
729
43
464
957
648
632
434
540
380
148
855
578
256
897
950
728
733
432
108
626
980
154
741
316
188
566
120
939
537
959
798
706
684
309
72
78
172
240
745
673
991
604
121
965
802
474
967
465
347
852
869
983
161
774
964
500
377
385
560
280
374
938
812
261
349
252
906
227
117
373
321
518
513
40
722
731
179
317
659
70
881
275
634
542
334
789
80
611
278
306
412
826
730
41
915
622
144
270
20
218
681
827
192
462
286
696
781
706
398
604
699
305
562
142
934
245
943
331
67
144
807
624
19
194
614
191
268
287
295
157
720
266
495
243
503
554
966
571
669
852
930
86
252
69
394
522
473
805
608
405
677
380
947
6
386
387
356
3
492
944
704
178
526
306
999
191
656
53
124
608
695
677
359
383
242
230
584
594
391
423
335
54
917
857
25
233
169
553
896
954
118
495
865
37
898
79
572
9
408
926
387
672
701
981
751
688
62
675
41
791
145
481
662
737
531
115
474
761
810
712
575
903
902
472
42
620
215
960
19
961
806
584
276
215
236
685
683
409
174
627
6
664
21
613
180
25
147
26
462
810
654
962
239
130
424
613
516
112
945
685
599
638
284
380
93
837
477
721
164
408
610
705
592
592
648
699
565
451
920
750
889
703
785
313
442
418
252
615
430
8
744
339
107
904
593
940
713
944
153
86
368
557
182
557
508
659
234
992
785
378
737
394
180
199
456
79
576
216
365
575
365
747
321
452
508
379
435
370
613
725
206
654
201
418
666
558
326
894
463
567
171
739
615
526
414
491
852
682
410
282
474
656
815
698
174
580
620
755
433
2
482
810
331
197
224
783
664
135
424
404
176
219
518
814
28
448
183
588
799
801
794
70
286
856
416
183
330
14
843
847
154
965
710
377
623
833
839
771
742
36
363
74
47
603
26
435
877
798
719
426
486
742
437
395
856
954
572
336
340
30
434
711
633
657
647
466
371
740
505
399
619
42
765
894
627
266
888
528
201
207
861
564
407
304
545
400
737
450
998
110
940
945
310
611
327
102
340
731
307
673
691
842
757
461
806
698
317
410
753
151
283
238
466
849
199
935
291
455
806
903
921
8
959
836
433
683
339
239
539
782
561
495
828
160
316
303
787
67
256
502
446
277
236
850
855
167
349
352
567
777
471
214
797
147
891
809
89
612
411
903
439
794
301
463
304
235
222
774
638
783
669
536
758
89
235
274
511
431
226
586
437
312
787
928
511
495
209
758
428
774
60
554
939
42
67
258
512
953
152
589
713
194
698
58
426
102
646
79
962
150
504
436
932
561
477
699
164
753
564
474
150
79
208
759
243
631
88
846
567
687
958
666
23
212
358
720
318
609
981
763
994
593
774
692
950
669
389
198
727
98
969
721
426
184
883
519
924
183
128
904
932
935
813
206
574
514
899
198
272
47
401
513
865
383
153
466
481
296
78
496
189
47
699
596
172
37
443
942
934
417
594
12
464
147
955
633
262
588
644
174
149
109
788
804
587
246
699
625
102
919
266
804
576
413
295
178
17
123
778
639
312
566
373
745
457
834
523
165
796
73
756
464
64
633
857
454
330
101
543
826
100
337
294
775
415
60
290
776
943
432
307
366
520
137
436
507
234
313
152
155
155
159
524
824
969
961
181
754
717
69
959
101
954
615
505
383
125
733
95
296
872
169
642
643
100
828
101
305
398
518
379
616
130
47
23
95
929
363
840
262
720
198
706
611
985
686
8
229
995
345
576
957
418
572
397
440
368
347
751
892
850
761
481
644
774
977
320
430
737
911
417
430
401
827
715
661
455
441
126
823
769
697
79
795
507
933
208
215
99
601
999
528
683
532
211
111
561
521
602
216
776
357
904
2
891
821
972
956
895
530
308
947
910
231
312
95
341
77
85
218
100
553
240
783
540
706
19
585
460
290
482
954
199
892
727
623
548
216
935
791
610
906
917
271
256
688
351
679
646
626
201
72
82
650
900
166
315
707
43
977
950
90
20
692
319
548
979
234
597
14
450
923
961
637
852
976
731
981
538
1
816
72
650
252
69
892
435
851
454
934
725
916
359
664
324
963
616
976
629
410
536
413
951
223
824
509
206
699
239
554
875
714
483
816
208
78
245
53
31
87
623
238
698
865
32
778
383
64
623
459
134
646
530
393
129
365
152
912
501
626
126
332
430
343
513
347
442
981
854
899
937
516
382
402
228
909
889
483
58
172
209
659
764
246
904
948
105
135
777
91
23
464
693
509
432
61
267
622
712
875
887
825
889
11
808
11
68
484
210
799
760
601
524
678
712
949
798
100
912
476
310
53
462
244
218
747
181
908
912
286
44
776
136
9
381
764
807
398
611
809
418
464
138
761
926
139
783
803
307
223
922
538
618
289
877
614
178
533
840
370
346
212
334
417
942
229
755
38
383
455
83
723
62
524
350
522
712
824
373
113
220
793
67
185
918
825
739
739
537
234
838
206
775
286
297
84
673
543
486
526
774
361
61
734
532
740
703
254
746
980
111
814
517
325
785
877
798
340
599
596
840
95
265
175
538
19
279
96
955
840
641
935
289
96
722
858
858
256
285
466
356
78
712
853
588
147
144
117
578
294
77
440
280
121
593
679
874
303
60
347
708
931
364
967
629
461
101
227
882
628
668
170
17
883
734
158
357
346
868
991
271
130
25
290
8
220
488
35
152
963
219
604
40
357
651
15
708
780
935
326
75
350
341
33
800
662
406
255
988
745
447
509
135
310
435
971
780
333
742
870
59
252
66
963
866
494
699
353
550
38
452
180
534
458
972
424
789
345
118
370
710
229
202
647
317
844
40
87
872
740
683
3
209
573
510
149
451
812
656
549
378
311
807
677
733
889
489
68
114
850
211
695
755
826
476
655
323
716
93
263
63
473
527
83
307
243
353
798
966
881
0
131
887
127
869
708
208
24
232
22
54
562
455
99
658
434
346
660
211
616
116
820
890
193
340
44
720
157
615
978
486
459
99
808
115
520
610
194
792
229
465
193
407
922
180
864
71
659
152
125
405
195
583
76
293
568
402
779
543
66
503
968
162
61
905
838
394
327
950
227
136
388
71
549
781
208
182
892
936
685
84
26
813
420
752
499
997
891
615
31
459
982
623
405
975
4
783
236
509
282
795
483
407
138
777
8
668
971
147
102
250
259
925
753
679
3
538
402
532
238
812
159
283
993
52
711
318
994
998
761
51
775
415
698
718
863
16
189
902
374
563
9
808
631
333
981
447
442
719
243
215
727
491
195
644
147
410
126
489
566
492
151
550
927
340
274
677
700
614
836
553
58
623
241
140
917
348
289
288
264
973
210
100
628
234
279
318
897
282
991
593
45
120
981
323
785
680
172
456
93
987
591
402
209
7
504
194
388
928
755
309
45
647
763
271
987
57
571
993
215
764
146
134
853
986
869
371
66
979
765
52
446
76
244
55
377
624
290
402
675
395
599
315
720
275
459
738
640
703
699
34
401
307
684
101
274
814
868
305
400
951
719
376
49
7
921
423
440
105
92
787
958
306
693
417
763
83
610
2
591
349
751
882
129
69
147
891
789
689
548
933
69
888
732
331
864
835
342
441
341
81
161
820
990
592
440
237
906
807
492
284
337
913
638
493
971
748
676
191
608
992
538
191
396
302
476
684
531
620
402
179
764
438
474
129
643
97
183
986
141
440
698
577
8
162
210
890
915
411
402
700
942
9
621
66
674
167
109
97
138
630
544
293
384
776
226
541
196
449
68
144
282
606
346
967
839
418
429
270
41
803
782
551
618
807
155
440
243
935
736
821
275
519
353
37
950
318
538
239
401
568
701
207
651
129
783
468
962
662
403
101
584
60
842
350
385
417
353
295
558
817
944
631
230
245
351
671
319
242
102
843
954
325
702
136
414
73
457
668
10
514
6
799
520
758
900
292
886
553
290
682
64
991
853
564
212
529
480
394
713
959
711
100
112
943
386
533
833
996
335
570
470
278
556
580
189
182
554
352
549
465
679
101
650
966
326
547
141
413
371
203
224
268
363
456
255
707
170
425
277
981
926
320
499
73
675
988
241
207
796
298
383
700
701
475
385
840
51
206
21
458
56
382
400
643
8
745
757
999
805
516
372
127
687
436
647
681
211
409
152
713
208
771
864
485
684
542
316
301
763
564
721
623
905
706
895
849
851
182
682
170
67
217
562
226
656
820
917
32
453
51
759
904
942
625
432
905
795
39
347
334
933
134
724
551
4
638
98
196
46
761
185
320
308
890
283
749
747
921
541
962
708
820
945
520
565
377
866
875
959
229
900
996
901
906
345
550
595
636
908
581
710
97
30
958
506
581
804
146
158
389
849
854
169
953
646
581
507
469
779
111
944
254
535
61
416
448
961
719
321
998
263
956
562
83
65
418
642
7
403
235
594
110
294
182
342
331
160
320
651
54
291
135
4
870
21
822
425
38
664
553
261
48
606
825
696
118
877
54
283
772
627
525
639
636
247
374
766
862
620
247
401
548
544
444
680
563
560
318
679
310
458
166
235
482
407
277
945
127
285
429
568
574
689
460
531
715
640
379
434
817
333
80
286
15
199
361
34
921
863
807
679
964
483
894
838
496
958
811
178
91
959
667
245
649
187
47
856
392
345
747
369
778
377
790
37
731
46
208
63
497
668
681
814
191
973
874
938
966
749
670
725
434
775
978
681
971
282
26
109
4
887
592
625
451
412
338
89
846
244
103
529
664
312
237
233
148
783
416
629
644
162
613
850
246
236
225
616
96
207
161
997
767
443
794
78
381
96
517
290
727
739
130
604
388
796
340
961
577
140
227
219
262
807
100
981
807
324
32
727
546
460
423
887
12
560
321
116
176
563
577
297
47
30
3
690
565
738
681
825
621
505
175
377
184
435
815
141
244
165
205
871
28
765
542
927
747
129
461
640
195
594
471
799
451
571
254
251
454
546
423
593
560
934
104
958
613
240
513
48
454
415
916
520
688
833
894
429
107
66
449
20
829
450
12
917
630
241
157
263
589
205
517
589
144
29
321
432
141
598
977
444
205
566
932
625
505
353
40
670
278
661
251
759
130
703
29
408
318
736
359
752
974
832
37
292
103
166
535
869
516
622
737
378
735
822
541
163
776
452
894
772
403
899
97
130
970
5
401
706
265
741
911
396
966
56
476
821
861
506
999
413
347
301
997
498
308
904
807
70
384
95
665
863
556
158
842
769
378
526
787
799
928
720
56
296
154
453
884
674
78
779
614
499
864
441
220
512
458
343
4
981
4
213
193
881
868
775
463
646
507
57
895
232
597
268
248
130
929
331
287
353
767
807
167
532
797
695
337
604
223
776
908
934
406
864
591
973
21
145
122
354
475
968
564
953
777
254
698
231
774
713
695
129
176
129
649
76
22
429
953
638
748
289
221
949
413
285
294
561
884
515
590
817
474
7
629
416
130
286
536
364
100
443
988
45
408
885
228
769
331
489
374
523
169
941
998
786
35
730
126
638
696
345
239
164
10
451
169
176
231
328
700
887
810
472
330
989
509
551
735
91
365
922
870
527
360
866
680
380
952
694
246
590
198
95
344
851
443
629
9
173
432
591
47
275
195
831
387
12
758
967
940
358
529
113
266
567
638
746
212
369
306
447
590
721
773
168
798
328
728
363
566
635
656
503
853
335
937
995
141
866
966
138
832
216
73
939
886
165
561
889
15
565
202
862
467
911
76
393
658
906
351
261
132
922
647
495
585
241
1
96
428
413
293
748
459
989
738
288
955
757
526
817
229
159
472
698
541
35
432
892
308
625
727
368
239
384
946
989
235
671
494
208
356
145
669
596
657
39
821
660
354
142
596
47
125
846
815
527
96
69
115
376
625
615
246
778
726
193
811
839
398
653
778
363
907
304
418
398
464
374
770
148
359
831
893
611
900
615
91
813
639
344
488
817
508
536
981
726
498
309
506
66
196
277
272
251
381
62
331
817
640
665
654
708
611
297
934
843
158
366
543
699
125
786
605
15
401
638
660
721
62
709
244
445
8
317
502
775
693
557
161
793
604
397
444
20
89
609
565
35
255
581
59
902
297
53
450
735
902
348
219
562
938
140
107
719
326
596
499
197
856
525
751
616
465
196
261
558
348
220
836
328
940
667
693
771
212
772
965
357
385
517
589
713
721
907
214
176
417
24
160
696
573
360
628
867
841
311
709
607
888
670
612
645
343
60
153
566
444
82
107
548
956
458
485
707
378
630
496
179
749
855
346
12
629
819
523
195
673
986
944
847
651
610
940
839
398
740
175
574
183
717
933
841
625
281
843
13
974
68
365
576
97
330
503
934
405
292
569
7
801
555
453
231
219
99
819
165
795
389
291
565
474
715
201
364
734
159
642
755
758
600
504
575
346
942
643
408
531
238
648
676
467
99
971
475
839
854
566
465
853
39
191
233
882
298
812
649
181
548
592
121
917
769
625
409
124
788
919
970
105
809
270
274
950
777
834
903
72
265
944
753
507
793
294
313
24
590
29
325
506
310
308
840
726
344
213
709
559
370
512
431
644
118
777
633
636
640
452
582
801
254
390
880
643
374
250
693
498
107
836
836
618
437
27
391
392
671
299
107
797
688
269
780
159
55
361
586
312
34
388
749
180
439
900
793
144
804
310
847
46
120
652
297
818
903
473
980
541
368
668
534
227
414
679
423
158
811
673
158
698
444
150
604
103
976
668
684
305
818
270
541
212
132
690
548
5
276
811
968
327
154
406
14
270
244
342
557
711
899
150
62
565
56
89
47
836
397
521
731
138
320
551
550
134
778
516
603
833
961
449
95
290
567
904
371
234
382
528
915
672
244
402
351
12
546
64
837
214
145
975
218
869
70
875
6
627
854
544
574
441
981
882
241
510
229
228
213
86
900
724
810
902
772
205
93
771
225
59
603
247
216
888
219
657
834
196
384
336
653
900
125
318
670
742
362
890
357
948
729
758
510
79
296
685
556
549
29
150
536
220
431
463
530
324
572
973
498
802
696
640
229
142
598
832
317
787
780
52
473
202
750
354
892
975
530
855
674
944
510
27
202
490
142
425
516
32
21
147
501
958
583
910
626
279
168
213
866
558
130
773
189
777
71
578
686
964
908
697
838
870
674
334
206
855
580
688
669
421
427
890
316
706
852
299
624
245
110
180
449
36
214
606
687
775
711
836
568
937
782
417
409
406
964
0
932
467
454
201
732
328
477
837
578
889
29
699
338
888
333
559
547
497
261
270
505
109
768
24
158
680
155
823
992
137
853
767
540
985
405
739
311
961
962
944
582
839
179
215
360
90
527
498
920
418
947
106
961
290
516
58
644
804
787
17
735
248
615
800
396
379
753
538
724
59
81
317
171
213
775
715
409
735
759
885
429
573
643
965
700
450
916
63
229
790
947
857
685
855
328
851
574
837
852
464
493
520
844
189
194
546
738
717
126
894
77
66
160
291
292
691
688
823
90
863
625
281
262
865
781
606
437
127
900
374
635
173
646
778
485
836
383
979
711
81
828
68
533
955
479
556
433
782
813
556
811
300
924
236
938
909
509
783
725
660
374
762
614
843
145
529
680
433
631
656
148
381
449
190
839
472
80
850
173
723
280
682
220
290
124
618
425
638
579
910
497
632
662
859
328
694
515
20
189
9
183
987
688
687
762
508
587
516
49
918
748
803
265
37
809
935
231
122
662
864
739
884
648
294
874
507
654
562
192
61
913
890
434
438
901
999
499
488
773
889
78
840
870
972
644
760
884
797
190
554
887
323
896
100
373
923
440
793
534
921
353
752
864
690
749
762
575
308
349
643
51
255
681
528
722
640
374
36
670
521
749
267
875
61
953
130
219
909
542
307
643
694
503
553
8
258
972
164
422
328
66
361
106
426
380
158
587
126
250
863
347
305
900
421
729
256
515
882
63
210
544
278
863
290
597
214
261
366
839
140
184
632
920
20
34
652
621
100
966
741
57
750
709
86
143
390
738
500
979
885
606
645
139
776
217
321
880
557
336
184
821
568
648
457
29
84
278
654
584
790
598
185
795
463
261
434
721
455
711
600
951
157
397
352
330
807
412
628
807
116
726
894
533
520
544
662
856
922
104
174
47
499
288
589
230
926
228
95
552
809
541
358
689
220
516
89
659
207
744
907
497
441
256
151
338
221
139
907
943
120
774
460
896
890
834
47
34
624
929
27
326
645
571
343
746
7
939
471
617
291
134
497
247
347
801
331
990
358
287
970
343
693
540
889
288
244
574
334
979
256
112
678
494
970
369
141
197
594
219
334
445
357
12
274
939
432
628
174
580
116
94
570
224
868
123
320
484
772
503
192
77
485
883
745
996
91
109
506
635
773
679
561
44
21
139
703
94
453
224
274
32
366
712
840
169
825
167
115
336
113
995
949
168
417
428
716
582
769
371
644
275
1
689
23
474
771
565
881
116
792
246
834
935
873
653
490
541
191
716
698
37
127
763
326
965
541
765
252
499
895
747
390
948
407
691
114
619
430
347
392
624
542
436
53
749
663
93
874
403
62
752
244
934
354
851
419
509
455
57
755
353
486
675
465
320
616
832
850
368
830
662
947
518
937
938
606
372
513
17
637
489
655
124
347
968
580
172
255
996
986
523
80
382
928
711
624
400
113
645
415
157
31
587
913
484
909
398
205
629
346
387
491
237
883
146
229
68
615
946
374
372
642
704
610
133
577
157
191
47
986
465
247
369
189
388
593
47
710
142
795
76
335
592
480
273
672
654
170
453
997
176
347
828
248
981
126
27
759
753
139
902
144
786
709
643
445
521
143
185
825
326
952
169
838
454
272
789
620
152
768
99
579
474
883
587
235
215
655
480
963
76
155
402
846
299
716
385
357
325
184
636
107
617
56
468
105
813
359
894
749
141
85
493
90
866
46
486
510
733
669
426
463
479
55
626
659
512
154
202
962
868
84
6
605
25
662
52
974
979
69
556
377
116
753
185
222
852
701
213
318
77
454
314
911
13
922
19
430
167
27
787
782
864
92
563
60
242
107
946
764
628
808
437
718
887
840
77
957
459
856
161
770
698
263
49
617
216
211
531
260
585
785
557
517
206
926
790
492
464
805
949
13
939
549
180
371
91
910
974
498
9
3
487
752
961
517
165
843
487
773
225
528
752
198
709
340
17
747
290
109
632
377
343
796
698
940
528
739
565
430
830
847
87
358
395
105
793
199
353
521
105
402
785
704
63
775
145
76
40
738
461
735
421
36
144
251
567
276
299
480
317
942
501
899
901
888
73
812
348
171
59
595
739
920
101
9
556
167
995
572
608
353
610
285
699
459
706
87
556
459
828
990
359
609
226
274
980
665
650
659
310
950
177
37
186
40
952
964
513
133
734
908
410
445
325
614
730
96
57
373
564
410
390
320
478
383
664
304
727
211
818
197
494
416
729
577
334
778
586
339
553
409
193
436
856
562
25
938
392
460
857
104
502
324
867
318
350
473
76
200
465
294
575
367
726
166
344
364
938
758
664
284
689
48
529
492
792
30
387
749
762
4
759
607
283
203
251
642
243
770
368
171
107
230
397
401
851
989
208
874
229
671
459
548
504
673
569
810
954
627
812
77
540
951
164
106
220
587
346
694
692
743
168
83
109
66
116
171
1
757
595
819
225
825
794
369
217
249
731
49
748
721
140
4
310
489
897
709
542
707
475
570
718
401
826
559
498
189
830
543
371
984
347
824
482
883
918
608
591
967
226
33
66
922
758
290
61
65
69
418
987
692
610
104
441
404
918
239
2
430
15
999
55
146
703
450
51
240
965
934
234
696
589
850
194
702
528
436
532
627
386
659
971
851
55
391
667
321
486
312
63
570
996
95
880
842
441
822
750
887
553
36
361
866
599
81
773
748
71
350
709
571
203
488
867
726
807
180
178
445
323
841
145
590
30
51
538
825
991
939
654
726
478
846
495
917
562
966
752
248
981
732
692
41
678
612
701
759
48
528
418
931
276
658
202
554
640
400
394
369
180
577
385
876
275
884
846
646
329
843
272
707
656
110
214
309
860
965
232
286
717
550
276
600
691
303
904
66
735
912
539
247
860
516
276
695
668
367
99
101
552
968
937
809
335
946
820
768
138
574
520
695
299
133
787
146
835
156
663
696
82
228
594
674
107
803
917
267
667
468
723
45
741
33
72
195
446
307
688
959
919
677
819
485
734
273
174
40
534
601
258
886
38
135
632
953
866
681
83
316
233
668
291
736
944
757
967
876
782
180
186
264
294
869
23
698
606
238
429
185
56
353
784
558
193
455
716
155
11
641
825
444
240
33
357
481
183
449
453
222
956
654
444
120
998
473
715
511
332
713
565
104
828
816
221
847
862
989
893
248
595
682
198
691
371
887
10
923
600
719
196
939
612
377
486
63
744
783
778
642
999
286
888
716
347
995
591
56
599
844
779
425
518
962
283
249
903
793
497
892
167
755
681
339
632
499
569
594
516
877
114
54
870
364
316
849
751
266
529
67
499
345
31
695
83
376
542
840
643
133
540
554
57
335
236
469
832
745
363
648
712
742
772
363
217
231
391
415
449
64
986
179
214
105
841
560
926
25
766
661
864
622
519
992
717
385
528
594
692
272
707
87
471
674
479
737
477
196
251
53
895
654
567
298
729
268
772
897
853
470
417
974
913
80
721
290
168
456
513
502
886
207
563
473
456
456
781
692
594
342
493
298
226
823
212
143
280
251
799
323
277
130
147
229
489
519
627
587
581
504
178
476
740
984
814
406
334
565
441
586
425
219
33
360
329
855
355
27
975
144
139
152
1
792
732
464
656
456
280
358
692
451
483
42
105
896
430
544
375
939
997
596
227
640
619
168
888
137
930
723
680
584
774
175
511
779
833
35
982
603
32
807
289
588
118
319
52
998
918
257
278
318
982
823
480
595
611
218
495
648
87
215
118
464
716
342
728
537
230
452
73
845
250
471
760
617
348
220
707
637
786
795
217
806
337
299
87
9
970
343
348
118
355
169
365
607
821
515
120
331
631
653
126
169
273
684
112
240
166
680
472
500
428
465
596
657
485
847
334
547
267
72
227
316
325
812
761
903
752
360
196
772
306
459
281
635
205
656
976
182
882
95
669
968
915
536
546
359
203
627
433
88
785
332
867
503
601
912
375
312
425
93
827
669
81
175
74
573
3
798
623
447
837
87
809
891
298
615
223
962
142
707
646
345
130
143
298
798
374
648
450
694
424
863
451
969
79
304
118
844
74
404
512
885
51
959
117
615
867
52
841
995
853
572
300
772
815
667
127
494
118
44
968
500
773
381
168
439
181
767
330
272
304
928
987
968
3
528
647
194
628
643
954
637
414
355
948
665
679
535
402
443
399
983
893
556
10
698
298
129
274
94
901
799
390
300
915
498
528
234
354
464
800
38
461
875
679
4
881
284
187
305
628
526
743
617
498
835
137
860
426
757
623
506
348
95
340
778
434
53
649
338
519
178
947
231
505
155
919
345
215
463
385
832
950
838
233
957
71
80
432
409
171
258
256
834
801
520
72
316
312
618
266
182
78
490
367
483
587
703
227
367
58
847
251
723
34
94
29
528
649
716
277
831
426
981
467
514
155
35
631
166
732
174
11
236
860
169
671
609
653
177
386
634
875
373
946
695
76
57
906
91
358
387
783
821
263
364
290
294
903
274
163
958
187
894
376
948
476
693
915
730
284
108
138
934
755
391
671
848
281
148
689
960
286
633
566
214
325
734
825
942
407
449
353
704
495
466
861
669
697
353
830
711
105
889
760
243
35
947
445
627
609
32
746
216
731
445
929
916
539
393
300
359
934
868
151
266
234
698
442
991
19
964
45
376
826
881
681
941
42
615
497
685
638
542
155
59
124
38
821
35
358
526
939
668
725
547
917
246
774
952
652
716
832
846
303
674
580
617
281
259
861
549
567
40
316
385
799
878
45
992
917
458
682
795
614
595
878
271
631
745
717
374
135
542
795
764
7
839
680
185
832
424
647
865
667
88
605
382
436
291
187
538
866
108
189
684
389
398
811
165
897
47
590
376
214
676
109
817
654
781
76
630
637
598
454
457
916
307
48
465
491
471
407
870
842
72
348
489
243
377
361
584
837
490
365
819
81
219
706
407
636
963
459
212
371
98
951
881
165
166
61
619
901
121
651
119
71
981
375
51
182
525
928
864
170
178
52
559
829
65
115
715
713
292
868
385
623
927
702
679
887
831
691
997
938
589
470
277
33
980
177
426
298
869
57
224
446
786
851
263
712
84
785
864
549
576
206
273
699
263
622
432
557
356
590
668
823
24
797
770
401
630
896
414
136
592
206
560
666
600
206
455
518
882
601
826
546
717
942
222
444
917
203
960
450
80
368
241
906
296
744
772
874
656
496
811
681
902
433
198
802
152
160
402
264
457
224
605
322
845
145
819
323
50
403
721
73
120
548
305
113
580
56
553
481
354
421
68
457
589
565
668
649
872
427
728
847
903
509
342
897
365
18
462
41
352
107
743
690
361
69
449
659
938
385
627
538
189
856
559
457
706
450
413
260
310
464
845
492
580
434
518
518
501
835
796
125
242
981
479
34
316
222
967
827
528
926
470
619
125
49
392
2
554
147
205
113
87
527
319
729
263
496
569
898
600
230
968
846
634
430
314
597
245
410
643
55
475
868
831
880
396
199
632
684
351
306
753
407
116
470
326
449
190
40
357
199
969
521
340
596
936
226
454
32
98
948
406
447
762
873
618
256
287
667
974
994
917
200
184
625
596
121
416
410
977
956
797
189
326
922
357
308
338
569
103
499
844
175
939
391
514
333
455
840
961
850
382
380
109
388
503
247
707
3
798
222
224
223
706
786
532
759
773
204
576
353
677
240
312
157
776
203
464
654
738
146
28
846
515
466
283
921
582
908
406
955
533
498
411
761
876
47
692
270
673
423
186
461
483
833
716
909
821
129
962
704
925
126
730
91
94
603
255
542
234
409
947
30
122
620
190
542
646
16
109
646
299
742
152
103
355
25
357
398
20
733
732
524
396
627
417
837
641
389
170
941
603
559
544
734
590
473
918
716
794
731
913
123
191
320
146
769
929
961
583
936
982
288
601
758
254
992
296
687
505
806
477
347
216
329
813
177
714
367
912
245
440
780
888
663
207
308
551
181
957
403
143
577
802
217
777
758
869
774
232
819
352
733
289
278
643
725
279
48
495
765
539
760
668
827
200
606
851
107
923
274
834
256
814
485
720
804
424
162
586
884
948
741
845
511
85
842
432
58
804
359
197
64
672
36
881
917
541
427
825
973
541
539
661
115
469
452
351
933
305
391
334
953
183
781
129
328
6
799
418
196
557
412
86
305
36
694
596
260
548
895
107
515
39
222
239
226
591
274
241
478
618
893
719
650
364
70
481
172
912
433
609
412
188
532
539
38
902
136
648
142
787
74
113
360
273
510
414
461
297
626
437
575
76
750
209
157
869
914
173
854
280
133
543
177
381
398
371
874
220
336
771
745
463
386
758
494
258
407
367
199
191
561
662
442
724
571
895
727
692
406
844
632
427
729
110
78
413
828
136
73
425
46
64
912
476
497
380
601
466
124
191
279
868
25
148
286
693
90
541
641
171
699
333
593
873
174
355
361
843
901
37
998
947
471
527
851
513
269
898
334
910
685
690
378
956
366
884
303
821
130
298
333
684
97
736
93
988
947
8
701
479
112
334
847
510
437
225
918
929
745
85
579
95
985
153
319
282
917
279
948
636
906
398
900
536
160
758
622
509
846
513
204
64
744
933
302
39
439
982
259
498
803
23
270
806
360
879
961
573
451
482
258
805
578
682
609
586
273
5
953
786
771
705
150
843
619
253
901
31
874
129
876
587
532
117
509
331
364
414
907
402
41
112
731
577
286
148
807
67
432
772
211
407
546
487
352
115
615
903
415
170
625
295
676
73
376
129
167
172
986
661
50
29
264
64
510
653
601
402
805
414
338
834
498
168
668
745
484
97
119
395
228
449
975
580
76
694
367
901
287
575
779
907
142
658
868
588
400
83
755
878
590
419
257
553
512
440
702
402
764
945
863
664
257
906
477
862
192
971
637
462
654
894
416
566
291
35
612
142
808
867
466
994
503
492
281
337
320
203
901
876
172
525
994
232
499
610
616
432
876
582
948
967
812
856
954
609
439
574
396
657
284
688
838
898
732
766
202
806
92
883
751
284
488
775
330
293
643
990
258
810
372
565
970
619
158
835
635
456
705
654
127
423
883
174
553
718
712
714
405
268
675
640
639
598
701
425
895
416
137
444
228
130
743
64
280
246
993
564
131
780
792
450
826
721
900
71
742
862
581
349
286
329
913
742
666
925
839
774
607
676
234
160
185
621
550
254
77
857
782
708
15
621
246
760
675
587
882
140
614
775
400
165
112
537
804
850
263
781
568
21
955
150
994
816
179
30
487
401
179
469
188
536
607
887
354
268
908
306
362
55
128
96
718
808
633
265
763
286
207
626
471
844
332
379
691
665
591
645
169
34
256
104
812
80
977
588
822
577
48
44
191
877
456
655
794
983
284
864
675
33
745
140
500
458
776
560
994
126
526
613
167
899
681
875
475
555
874
522
620
600
532
365
173
496
733
249
760
148
284
959
80
556
557
284
141
473
872
203
46
989
92
435
879
694
285
949
772
788
943
517
490
95
674
344
96
736
72
705
557
180
840
211
689
175
38
578
839
342
186
616
611
10
658
790
637
518
324
133
717
742
382
243
909
924
28
481
682
27
841
727
942
614
771
594
172
816
437
644
107
208
775
972
192
744
386
659
123
321
486
86
622
564
851
137
616
887
311
579
695
493
440
528
689
902
327
80
522
254
633
103
395
137
852
572
313
19
843
792
585
151
488
693
763
319
510
932
912
255
912
413
270
66
598
806
339
816
156
570
886
303
901
614
972
873
902
851
410
879
995
599
731
107
358
684
11
955
281
221
857
21
213
476
595
490
747
828
752
987
373
767
101
181
9
426
390
238
259
105
609
292
640
68
350
555
53
195
280
459
758
658
147
269
770
526
88
335
119
890
867
34
929
472
475
647
910
80
116
283
113
636
616
805
84
604
970
989
77
122
724
221
428
737
650
503
727
383
301
224
944
607
373
65
854
237
935
736
785
819
80
647
143
406
690
659
150
632
523
743
678
715
277
752
985
582
251
425
226
7
560
47
899
288
743
472
383
889
73
446
83
679
954
711
8
738
8
427
409
685
519
297
562
388
699
174
687
724
67
915
136
492
434
18
3
209
673
9
702
945
35
499
652
229
131
713
824
425
91
740
81
100
481
145
214
145
830
969
116
970
637
417
454
194
210
721
38
922
534
265
518
310
434
45
661
909
771
662
973
234
820
579
631
803
730
905
697
706
186
358
504
129
738
845
667
195
579
233
721
975
999
805
659
435
782
986
193
606
669
736
146
597
384
419
438
617
963
567
119
256
184
26
286
310
770
573
831
746
737
567
692
263
935
702
184
472
241
707
294
173
740
454
941
948
248
899
416
655
957
708
347
387
446
474
912
387
762
377
272
532
191
892
753
281
118
195
384
54
900
877
684
537
914
470
489
211
425
796
473
752
663
467
949
638
158
741
260
551
920
171
26
940
864
243
750
933
389
98
564
485
798
339
603
998
167
465
966
154
311
981
670
445
690
359
386
271
766
779
536
863
71
72
975
569
610
964
58
734
843
705
621
502
971
652
123
314
76
485
890
755
480
71
26
732
849
914
48
920
798
635
441
217
422
304
107
783
293
630
354
496
668
939
647
413
730
448
48
91
85
492
745
781
356
799
563
424
587
26
394
125
728
638
166
462
681
400
375
354
578
940
718
582
683
22
973
746
195
68
432
906
513
358
996
221
403
838
253
980
55
147
668
725
942
740
774
593
781
416
252
799
743
588
227
508
786
669
288
32
759
955
694
245
355
558
339
456
707
293
184
614
418
132
950
371
823
657
641
687
528
156
862
953
266
686
605
593
993
355
319
812
457
315
282
671
479
88
817
582
451
734
823
89
10
644
400
562
949
484
243
707
962
622
182
290
403
397
219
150
74
173
17
857
228
122
412
674
188
101
492
294
627
988
178
505
253
130
484
608
730
511
606
963
319
507
736
688
122
374
189
487
407
970
990
973
549
999
582
520
393
992
663
649
518
339
462
847
933
237
974
111
478
404
779
73
249
470
948
287
994
666
834
703
922
56
752
163
162
836
22
202
519
204
914
262
686
661
960
219
400
433
932
739
345
31
532
553
464
899
393
72
423
453
257
942
770
219
603
657
97
104
658
784
605
124
683
372
819
95
612
892
906
485
818
82
117
348
712
749
266
439
534
825
450
790
316
143
399
567
367
687
694
326
382
900
888
461
148
767
190
785
451
912
18
452
939
556
711
485
76
152
349
586
812
679
34
308
660
8
265
451
661
39
937
990
588
711
502
458
965
531
877
720
471
537
811
181
911
689
457
779
137
272
241
258
198
740
198
82
400
733
161
972
772
171
231
919
228
278
407
421
779
746
321
193
582
804
941
324
698
652
551
172
833
668
407
860
395
697
336
426
625
816
93
276
213
216
554
502
721
490
354
517
148
561
644
893
953
960
16
15
992
326
248
635
832
823
662
375
471
393
70
603
622
746
662
157
96
248
407
595
866
897
761
411
250
391
394
673
575
854
779
438
130
685
983
284
883
483
737
884
226
897
369
271
522
115
629
98
794
606
702
111
98
175
960
570
865
234
493
160
738
38
431
791
387
845
320
733
15
536
59
37
732
688
883
545
625
284
824
65
170
375
16
329
668
48
260
209
699
444
515
96
166
894
607
355
155
59
274
452
57
156
298
617
416
926
629
370
392
545
768
361
401
798
571
634
980
957
757
88
308
444
533
583
679
789
605
416
44
148
414
677
365
497
732
719
151
31
29
645
431
109
564
383
848
907
586
964
423
533
141
835
970
183
325
121
41
352
771
604
225
897
678
935
195
228
724
328
8
947
816
417
954
201
907
384
976
744
347
752
503
202
826
12
479
11
800
67
508
570
148
535
276
228
683
182
817
645
166
367
668
72
2
720
351
870
783
714
752
50
170
698
108
573
715
49
545
77
621
290
512
532
825
905
142
626
66
108
597
346
759
195
169
449
271
970
866
631
335
347
466
364
171
477
433
393
225
300
400
217
279
749
601
94
569
743
809
273
962
879
750
583
662
755
835
896
622
229
622
648
821
616
295
234
422
775
194
722
754
374
874
118
633
545
734
678
415
928
672
467
70
488
835
276
788
254
742
296
805
399
637
392
48
926
525
116
461
33
424
294
819
777
843
14
532
482
51
500
944
287
805
859
611
282
454
684
202
806
961
808
864
594
608
849
397
268
883
877
902
26
86
376
595
778
333
913
122
671
806
331
963
492
350
333
631
702
940
564
637
447
847
440
911
159
494
540
547
600
797
898
848
172
121
121
139
992
170
528
421
999
97
903
711
606
294
378
827
91
258
276
153
101
134
657
45
212
693
208
783
239
299
698
64
21
920
63
639
349
889
256
306
220
871
298
509
269
416
472
318
567
3
275
228
379
641
797
902
485
544
762
648
887
372
424
499
178
831
394
900
238
173
619
293
969
2
714
718
80
130
496
746
803
448
221
158
630
529
712
913
381
281
931
51
423
8
44
689
657
893
863
295
149
883
965
234
997
902
950
915
714
641
680
923
819
431
555
699
116
764
519
414
456
836
753
171
211
924
628
22
99
476
803
868
833
575
145
912
711
230
446
31
683
589
451
44
70
976
877
610
390
904
192
483
493
335
224
465
637
442
937
313
738
626
697
626
995
617
924
552
724
715
777
104
836
830
380
435
412
582
19
897
179
278
626
245
745
218
209
644
449
339
157
907
678
574
663
710
100
451
606
911
761
165
663
8
795
18
253
111
770
738
258
88
109
290
352
765
231
462
942
47
305
60
815
285
350
533
807
339
65
362
515
400
162
798
27
116
785
70
967
520
829
426
242
504
725
808
970
327
889
521
933
490
58
271
882
595
181
113
441
673
913
366
796
281
416
947
697
645
733
815
846
345
964
499
163
88
481
766
378
908
556
491
117
128
572
152
507
71
239
781
435
602
585
852
427
724
723
192
632
889
368
991
112
179
100
619
626
502
350
604
906
558
296
593
627
444
548
857
443
452
708
213
598
397
162
938
500
651
154
292
94
292
414
574
358
408
645
207
121
960
479
706
840
134
248
722
201
280
293
550
469
311
30
996
213
911
94
886
235
597
635
557
444
848
844
657
508
135
813
812
49
516
695
345
956
479
462
516
170
982
75
995
424
929
422
331
83
387
358
79
871
810
665
40
509
234
345
39
458
423
705
531
732
748
43
483
2
13
197
254
368
238
377
940
507
637
922
586
303
33
513
317
354
153
269
80
970
394
218
755
231
316
876
601
318
699
562
747
998
157
200
479
696
329
494
917
87
305
514
884
945
122
562
748
176
503
185
481
616
64
960
475
462
41
217
179
695
365
250
941
357
993
416
869
684
674
131
957
474
490
668
768
879
863
367
915
544
547
558
532
728
137
521
313
847
613
204
392
955
547
173
807
214
966
752
556
440
193
497
695
785
627
920
278
404
558
728
186
632
252
847
147
215
515
129
870
789
843
412
832
833
836
750
408
940
470
166
63
520
822
546
245
17
392
217
874
243
255
771
29
431
993
632
208
27
29
236
34
721
420
882
54
115
71
297
991
443
157
145
824
850
171
195
653
553
73
300
260
703
229
29
275
368
794
69
763
844
899
107
81
540
379
708
734
572
255
76
882
837
516
21
29
557
135
809
357
337
405
671
644
935
352
235
1
363
544
332
533
487
429
368
535
844
799
976
742
113
829
334
209
769
340
541
242
587
954
273
561
317
120
607
492
200
917
730
142
950
762
53
44
132
293
527
499
245
669
159
554
529
131
334
782
692
577
950
125
998
467
447
8
72
873
747
843
936
588
954
54
409
780
582
540
483
999
129
20
363
106
990
166
513
820
207
947
397
495
389
370
944
915
175
52
625
649
108
81
418
94
886
855
52
158
175
284
516
702
559
143
622
297
490
998
219
305
881
520
411
12
164
836
655
495
393
951
707
720
872
102
133
784
138
383
163
54
995
784
594
648
796
863
554
338
999
533
758
827
527
942
235
214
673
916
582
86
302
304
327
327
861
302
33
667
654
244
629
9
792
301
198
14
137
193
126
164
793
457
340
414
167
680
717
397
150
733
340
246
561
998
714
858
324
761
320
859
332
722
664
467
138
343
627
285
454
571
679
326
0
870
604
171
438
646
596
708
153
565
459
614
29
859
588
484
378
712
516
923
580
977
474
783
529
657
237
301
975
535
876
789
255
233
510
169
698
419
875
36
29
509
418
837
175
181
612
652
578
458
138
136
106
315
909
846
742
32
145
400
441
911
704
96
471
234
396
75
447
888
529
985
722
164
989
299
472
173
517
940
540
484
277
692
17
213
905
663
918
106
927
87
215
517
531
132
502
839
342
520
89
629
466
557
884
533
656
378
395
630
844
155
586
453
802
148
670
595
212
416
81
755
508
367
971
557
446
620
392
123
335
75
652
283
326
498
849
76
710
22
884
293
611
437
711
807
537
637
810
713
512
791
443
712
399
694
135
60
165
901
283
218
74
495
802
169
68
26
967
768
142
802
31
201
817
229
343
406
478
629
621
245
622
527
606
728
700
804
522
296
97
190
620
992
505
892
536
260
241
917
948
830
882
797
719
506
398
603
330
949
397
880
301
298
890
986
734
533
420
217
142
623
861
994
895
912
773
384
799
798
120
794
87
308
658
28
125
785
866
483
370
535
232
241
230
402
735
508
148
802
10
111
514
778
38
776
453
297
15
367
612
305
403
171
68
138
254
182
475
523
932
427
319
764
489
99
426
822
166
395
914
308
273
260
307
759
71
406
928
955
384
273
972
519
276
747
74
54
402
305
41
969
598
345
763
479
673
618
907
769
769
32
25
163
998
381
45
872
365
912
141
398
134
525
466
1
441
170
149
598
273
452
466
661
929
978
362
554
101
842
715
128
484
852
440
966
354
17
901
557
689
268
501
755
378
843
444
237
83
557
615
380
616
866
819
674
261
992
706
319
858
147
117
426
892
668
369
253
875
25
73
72
549
465
916
383
742
129
165
919
920
974
952
350
744
770
169
621
998
192
743
824
133
529
69
167
726
598
304
474
57
907
554
803
252
383
595
429
271
788
823
785
671
90
41
858
403
573
532
296
495
232
271
895
431
406
896
629
240
484
567
229
37
102
370
639
295
975
418
460
926
51
467
779
215
809
46
899
721
768
589
262
489
846
212
559
868
341
385
168
465
969
477
453
458
23
356
187
928
268
395
129
290
926
347
563
348
838
334
669
269
330
153
703
718
90
545
710
57
742
89
423
60
761
756
593
355
516
415
654
413
297
475
937
860
612
172
887
51
95
410
411
95
795
203
497
381
442
329
490
690
427
552
450
67
387
31
134
485
213
729
315
366
923
87
682
909
724
570
742
36
822
530
85
774
522
948
306
952
421
223
631
386
300
851
624
433
285
543
85
357
726
908
115
904
126
672
476
747
116
602
741
895
106
599
632
669
281
819
908
886
480
381
662
505
737
969
669
178
10
538
522
486
893
724
738
189
844
478
480
199
333
71
868
341
147
657
816
15
999
670
886
491
965
207
778
274
21
836
272
268
984
685
281
647
716
599
271
475
227
637
295
372
139
130
83
228
266
928
772
139
428
198
107
667
90
982
607
506
788
530
645
247
470
626
234
742
780
577
165
313
440
504
642
73
458
468
782
408
879
750
119
945
170
35
175
973
399
996
784
910
981
784
516
997
572
869
78
44
135
170
277
476
150
626
51
144
233
694
496
336
7
734
356
420
249
735
258
663
155
741
470
888
754
86
986
112
384
468
377
343
727
760
846
756
105
371
925
304
901
602
104
590
909
796
377
618
674
308
109
61
23
807
833
580
165
846
260
342
181
359
765
612
961
852
842
293
649
910
315
73
499
732
121
979
434
401
729
52
460
216
381
327
834
751
458
203
959
148
507
911
910
429
636
413
563
484
538
407
574
592
236
660
515
678
731
897
592
566
159
531
59
457
977
341
684
562
272
429
668
701
695
582
183
261
425
129
53
621
249
106
893
594
960
305
697
991
237
717
624
520
81
664
675
789
830
870
928
44
783
665
647
344
117
6
740
977
402
746
678
803
872
137
95
140
32
321
351
929
296
800
340
551
128
165
721
679
657
466
533
61
485
82
154
428
928
962
826
941
6
126
757
16
842
132
804
120
110
749
387
81
258
901
473
861
295
845
448
790
359
778
303
264
451
180
593
734
502
759
334
934
678
889
726
301
54
542
406
154
945
511
586
897
773
825
638
782
233
191
816
132
236
584
149
890
133
590
715
916
207
645
96
860
250
740
599
61
690
701
464
350
874
862
663
784
573
918
109
270
240
887
542
584
571
70
776
776
393
437
221
139
561
356
451
110
210
620
109
434
966
265
371
515
672
637
691
930
67
655
861
824
434
899
131
749
768
955
200
622
123
484
439
352
697
163
998
88
179
832
488
552
80
712
216
649
217
249
852
745
145
589
421
718
116
621
450
250
408
867
635
469
444
183
576
381
730
62
63
542
317
758
46
821
185
766
512
39
926
773
145
219
370
934
263
98
758
515
372
403
978
11
635
923
960
232
831
979
994
492
222
783
840
89
124
133
811
320
348
352
853
419
647
519
75
122
976
263
943
199
608
869
183
56
991
596
763
729
67
42
155
42
863
468
333
373
558
161
575
649
724
805
357
436
699
395
147
305
4
304
833
55
961
770
222
655
140
960
945
186
681
808
568
597
645
393
842
455
817
263
440
835
663
931
551
804
850
474
671
137
940
216
238
734
249
431
870
302
897
449
796
343
796
631
60
844
928
883
36
215
583
970
0
51
650
728
303
252
561
265
300
392
832
176
524
921
675
689
900
548
120
993
197
488
334
622
173
740
767
242
396
295
843
688
272
961
934
518
271
527
912
165
245
211
85
195
869
879
636
98
54
404
712
118
174
507
972
163
382
548
144
545
612
287
69
787
83
882
435
754
757
211
510
971
335
536
225
321
588
478
164
962
481
480
201
9
459
745
609
678
629
26
484
664
854
767
833
619
478
894
460
403
314
550
224
352
881
995
923
940
142
952
282
375
192
771
356
337
441
424
55
986
103
970
455
879
947
653
199
802
707
543
938
656
123
628
26
117
650
2
855
90
328
740
842
748
811
738
102
337
373
206
698
209
976
795
462
606
453
497
741
658
979
264
495
200
167
362
959
649
43
642
324
933
270
861
362
977
553
875
470
56
883
799
421
446
331
361
433
606
184
929
149
836
274
221
115
885
745
858
757
976
60
504
882
435
879
505
31
422
951
804
608
815
866
892
728
925
582
246
831
723
982
963
172
933
107
20
901
74
482
363
540
364
230
61
877
467
572
425
770
73
147
886
619
680
524
232
913
644
666
587
76
356
897
947
906
177
764
442
870
416
798
922
604
252
417
316
440
366
209
204
188
982
153
462
791
642
769
522
173
778
372
447
13
832
980
429
48
244
524
255
782
762
676
79
795
445
327
473
739
227
421
719
127
776
796
99
35
771
801
824
434
899
600
887
799
428
362
753
603
371
455
724
129
583
263
239
65
743
416
760
480
556
296
970
701
771
313
417
799
222
522
25
776
825
121
524
435
109
863
202
869
683
490
621
353
653
883
866
512
245
497
333
849
738
540
557
112
603
824
833
652
677
874
669
549
940
175
391
553
520
942
997
67
199
69
638
343
770
74
313
828
567
115
739
636
330
296
233
975
549
595
316
869
130
14
580
778
118
812
662
588
193
932
416
675
335
958
497
360
925
795
979
437
881
667
32
597
531
168
461
281
539
671
16
432
205
529
917
291
631
117
64
9
429
360
171
19
263
488
639
163
711
894
255
519
286
127
326
801
820
888
650
63
747
526
584
556
951
65
154
187
443
906
474
873
18
452
958
706
819
942
38
175
664
588
371
0
354
512
730
339
124
482
273
366
543
621
442
241
190
291
655
207
13
646
579
75
103
118
852
710
501
251
577
208
935
258
244
341
108
500
85
645
945
230
128
299
873
554
942
723
1
107
680
166
371
671
350
60
660
976
150
638
687
407
34
782
304
624
700
549
174
852
949
586
199
760
652
305
670
472
414
718
879
332
342
93
16
70
282
468
800
830
179
254
998
31
253
861
746
43
734
264
107
797
355
214
414
838
564
501
221
128
328
155
136
441
743
677
426
24
272
869
159
468
347
407
312
848
370
256
416
359
473
907
646
436
564
660
140
129
753
726
202
327
910
812
86
978
768
172
965
889
785
967
697
72
944
275
30
621
77
158
246
625
431
992
929
48
729
834
755
311
395
385
182
747
874
922
233
910
54
906
517
975
78
501
442
213
945
943
310
361
134
200
542
800
57
909
883
856
947
567
851
213
108
264
718
293
791
101
29
49
336
613
423
825
83
158
826
274
688
842
399
185
126
210
310
919
382
657
132
362
7
900
915
555
710
569
108
776
731
853
294
383
751
183
720
421
727
100
183
734
213
892
27
388
326
253
99
189
915
130
374
901
308
551
615
736
194
203
611
406
901
2
152
532
918
61
525
715
920
333
849
372
782
800
978
377
648
182
437
482
71
259
172
360
687
985
150
395
822
259
988
175
828
921
767
687
385
196
583
549
915
237
699
253
988
602
13
72
390
332
394
174
323
173
322
531
72
965
183
629
140
260
320
889
574
267
825
638
342
138
136
746
419
26
595
730
22
864
891
9
30
113
942
933
101
840
658
976
356
193
314
199
640
841
212
525
772
236
334
286
554
80
186
447
11
784
525
189
319
614
3
538
592
104
817
706
493
52
817
355
441
712
795
564
526
282
632
649
726
226
108
971
310
820
211
169
341
359
12
803
919
973
509
422
459
668
36
949
400
293
253
697
240
766
759
479
990
307
640
707
523
943
460
836
694
869
149
530
260
23
623
499
919
565
830
924
270
790
558
476
869
201
347
254
415
331
391
970
282
888
849
156
381
455
668
166
550
582
358
13
645
437
598
934
487
505
548
124
972
955
241
76
928
740
530
693
812
523
576
901
93
522
251
336
659
585
168
870
385
697
322
764
851
861
878
279
663
915
386
62
639
317
252
997
981
163
187
73
81
723
126
901
532
47
87
300
999
463
17
34
642
267
91
422
393
632
44
965
223
263
666
289
425
76
781
747
733
503
956
972
570
923
746
123
232
621
626
868
193
810
671
303
635
396
611
343
16
441
702
998
307
487
207
206
510
497
279
145
623
800
530
673
742
39
939
394
189
1
142
701
748
443
443
973
620
738
620
303
468
389
923
922
754
446
887
631
719
493
684
610
869
547
78
810
917
109
530
706
134
281
578
986
211
148
124
949
25
151
147
603
7
498
708
742
46
287
284
230
666
109
47
752
230
891
988
182
94
349
410
622
514
932
441
233
708
612
868
870
101
803
769
32
692
282
830
556
790
49
717
882
191
339
700
993
543
286
334
186
82
444
964
633
254
735
798
537
973
17
361
295
891
923
161
318
683
254
174
212
362
844
210
349
396
271
710
719
339
436
486
376
624
472
23
436
660
3
472
598
15
920
85
238
42
514
747
813
715
463
562
573
27
56
491
510
383
727
929
594
156
889
972
869
152
301
144
68
106
551
710
366
534
456
126
533
94
75
668
474
807
471
109
164
425
202
578
650
852
212
654
293
373
38
25
92
824
168
493
751
464
23
481
571
913
285
439
772
191
320
932
549
382
359
932
0
389
841
615
138
886
136
712
50
663
648
192
635
385
116
482
791
549
0
468
87
111
283
166
456
777
462
995
838
945
833
271
324
755
381
890
663
200
23
388
341
319
304
820
285
757
694
595
247
977
984
143
687
638
141
672
503
734
381
285
185
440
519
745
334
572
325
288
604
685
535
402
347
411
62
906
181
682
977
410
523
149
124
697
277
721
721
904
753
74
188
281
674
844
83
742
584
956
585
836
59
783
826
212
493
899
486
203
827
363
735
943
263
11
268
270
82
65
986
777
332
339
332
399
838
419
843
119
121
841
92
295
513
598
944
691
537
610
384
86
248
857
821
109
131
316
941
170
351
737
262
42
108
625
783
492
31
626
752
521
6
12
939
383
168
147
184
845
316
317
617
394
901
939
569
516
595
179
87
716
602
639
717
609
435
476
143
348
595
633
309
240
801
938
585
907
817
574
696
598
821
104
355
341
193
370
106
773
804
101
462
403
74
761
799
254
441
792
34
912
675
842
213
388
414
150
336
366
120
49
711
99
73
441
434
761
977
588
321
882
184
383
561
957
949
815
853
311
542
634
795
611
476
28
432
638
399
755
122
17
513
293
337
863
691
934
920
445
259
770
644
702
420
841
624
114
702
320
122
726
713
618
555
890
136
137
74
814
336
478
660
43
552
450
192
974
489
65
887
169
127
313
733
738
248
144
292
903
533
765
444
696
768
70
275
331
489
760
717
696
14
792
924
421
580
272
896
448
950
215
957
245
490
72
104
519
834
591
239
7
78
540
927
267
482
21
867
768
314
830
689
933
505
867
554
850
752
936
443
750
907
511
334
283
187
565
260
91
975
76
8
819
32
118
202
306
259
100
400
931
261
803
212
100
809
996
269
72
501
932
822
490
197
686
34
643
688
710
543
649
843
751
471
628
595
611
843
558
236
181
121
299
247
115
965
897
876
897
306
822
656
239
148
480
724
396
945
22
796
613
42
814
120
657
272
549
140
562
747
54
757
134
349
403
75
878
816
242
192
961
773
85
430
553
997
62
467
516
593
890
159
40
408
696
686
455
700
728
232
893
567
83
900
382
529
755
820
191
947
413
469
189
778
682
206
173
910
719
444
873
516
897
621
575
672
200
480
627
495
495
621
125
726
781
594
98
678
115
236
153
699
438
811
851
36
916
229
613
631
960
206
330
171
545
381
214
639
330
513
779
701
186
411
848
653
844
782
302
614
739
85
589
181
503
158
658
380
790
900
535
866
379
801
643
331
321
172
686
355
540
963
298
276
510
915
166
604
873
988
468
379
661
78
89
343
148
295
196
288
544
808
208
988
637
533
64
432
298
915
187
679
612
447
35
962
785
512
627
407
85
890
49
77
170
186
414
631
64
753
258
537
11
650
647
133
157
973
213
232
511
930
542
124
469
102
323
532
533
616
726
847
746
996
444
920
465
738
154
451
501
930
535
641
923
32
917
303
624
888
625
493
910
388
410
559
599
725
149
174
884
259
139
931
375
434
940
810
235
284
501
357
517
929
164
920
894
586
970
115
907
523
910
429
904
438
281
750
515
855
541
645
208
194
824
509
874
855
90
521
621
95
188
889
533
116
328
387
835
825
621
895
715
520
824
957
439
260
752
8
623
876
109
173
727
611
521
609
2
908
980
803
287
653
647
847
931
247
598
983
88
116
17
51
18
851
325
937
443
180
995
32
639
374
981
468
908
758
839
788
343
786
863
633
735
894
517
847
846
714
593
398
355
932
869
287
893
255
272
22
929
955
597
695
863
45
692
7
311
182
119
612
807
672
525
351
659
697
258
559
319
540
824
65
857
542
248
523
841
882
103
257
59
549
505
663
928
974
141
595
369
879
468
71
745
137
986
863
828
245
771
331
366
820
372
485
308
228
382
614
452
857
649
97
617
758
157
449
454
12
234
917
751
555
722
978
491
820
178
671
843
473
438
676
852
416
773
993
244
349
727
67
339
873
864
143
85
788
462
625
949
525
795
477
634
98
711
326
276
806
720
246
34
987
148
489
236
300
583
301
967
919
912
757
141
571
599
339
549
884
368
108
198
531
550
191
119
572
372
323
515
912
838
401
624
466
294
325
22
658
464
748
148
954
755
766
650
479
366
915
795
477
491
295
202
596
387
71
164
579
165
171
797
264
762
732
263
225
44
614
775
442
941
353
414
694
882
733
232
372
317
888
704
24
669
24
593
861
15
886
530
511
734
888
369
489
332
448
442
88
89
90
742
88
774
292
956
286
56
45
322
486
129
936
53
231
346
184
629
784
389
355
367
952
752
164
563
964
906
505
866
719
245
119
568
828
877
420
267
642
383
624
15
449
712
918
792
179
293
998
756
963
753
786
709
882
687
612
803
754
226
268
246
695
499
218
209
949
371
661
432
408
108
76
380
822
563
269
801
425
234
395
224
985
945
681
124
275
880
303
267
218
911
822
870
382
576
576
230
39
522
110
14
317
214
135
599
394
639
888
537
603
519
6
644
370
583
309
166
416
392
150
349
888
540
849
442
323
219
930
523
791
669
202
653
436
618
168
65
241
519
801
833
61
881
45
163
238
155
981
984
734
654
811
93
51
330
340
252
510
904
18
122
910
320
32
399
87
789
930
350
545
6
531
257
333
576
897
241
641
110
737
236
459
691
789
514
128
370
213
266
896
960
491
591
999
974
644
120
504
90
573
939
970
472
910
63
960
324
708
642
769
781
264
538
894
566
590
922
12
188
448
243
6
201
683
686
225
450
15
847
395
428
304
873
718
879
886
904
934
908
79
161
572
175
965
252
393
991
518
168
784
541
959
375
937
162
754
444
559
818
757
201
863
225
187
111
629
655
965
751
522
640
733
385
204
154
338
602
650
62
295
767
75
220
846
624
19
151
38
917
785
648
219
936
450
866
288
721
606
778
470
362
274
218
283
386
359
247
242
327
922
365
83
921
355
791
291
49
742
271
433
570
718
717
338
62
219
681
574
334
220
361
379
540
673
748
18
703
689
507
487
254
470
426
832
709
686
51
87
290
448
404
347
903
531
998
235
588
955
538
986
23
93
286
959
474
482
976
862
450
63
167
811
440
533
66
665
937
430
751
818
624
526
774
203
670
315
807
659
343
997
708
986
626
202
869
721
867
738
968
484
168
843
161
646
911
418
915
271
341
784
48
606
212
856
691
409
156
963
525
236
558
671
154
627
399
646
276
692
471
419
267
116
415
758
5
878
800
221
364
765
201
200
329
861
953
857
310
392
404
329
456
870
392
974
612
407
532
274
246
245
559
223
668
347
297
594
707
531
83
640
643
675
255
729
249
476
281
637
895
18
498
61
17
564
323
610
698
867
646
77
249
129
280
813
691
201
680
524
326
988
337
388
650
769
915
830
147
158
619
507
969
326
79
510
707
2
29
21
830
402
536
944
883
868
143
826
422
285
330
491
408
85
68
123
253
972
37
489
304
630
894
504
335
894
118
203
213
205
765
601
541
710
212
558
136
596
426
608
30
564
473
162
835
277
394
682
305
975
287
710
63
160
328
970
344
266
380
250
355
925
84
237
798
914
458
952
384
210
163
429
872
247
170
121
710
80
363
436
564
676
513
160
762
892
445
632
603
738
681
587
799
152
858
221
901
546
81
109
73
206
867
232
280
389
556
102
949
554
725
814
478
183
75
585
405
56
836
87
731
769
501
176
259
574
696
567
7
513
819
670
314
87
880
679
240
906
195
15
788
176
320
246
430
763
352
131
91
410
0
881
881
413
502
689
220
549
59
797
941
945
767
94
727
71
564
439
480
292
895
603
591
778
592
119
335
261
93
530
345
969
0
417
480
27
892
972
502
323
810
586
90
38
119
69
87
348
242
231
340
996
595
90
893
720
17
958
632
437
588
699
775
534
563
9
72
287
558
204
585
745
818
563
975
570
198
9
803
720
273
739
205
197
783
703
248
447
609
200
640
820
798
598
198
227
662
906
267
419
644
298
570
428
725
635
556
877
574
701
916
744
958
504
516
854
736
923
876
864
933
633
446
925
113
533
892
184
8
655
235
455
510
965
271
818
274
61
617
60
958
702
387
244
298
749
623
449
971
397
524
527
173
523
248
173
552
527
321
631
499
948
443
250
608
845
258
60
117
296
857
820
50
394
416
315
461
336
882
173
727
30
646
50
243
970
974
504
820
184
698
423
793
759
338
85
952
1
502
141
966
464
852
594
775
544
997
45
316
517
427
187
738
77
199
468
375
425
387
892
854
606
656
96
654
501
837
937
318
920
615
462
494
378
9
18
245
11
866
294
276
993
920
166
185
442
112
358
615
474
282
169
829
54
529
45
318
828
191
952
367
842
661
904
417
929
966
398
568
623
866
380
971
344
613
965
433
346
328
229
94
356
757
875
574
849
432
959
622
326
777
324
207
51
107
574
978
49
284
559
179
850
693
790
705
729
596
934
159
908
499
201
605
826
499
792
904
79
574
470
799
226
141
855
197
490
9
747
104
39
727
388
971
84
602
978
919
636
130
119
988
469
869
598
288
649
377
158
928
338
580
856
635
60
879
343
984
297
201
321
716
640
613
725
512
645
391
66
461
56
47
919
36
46
923
813
108
362
95
0
217
440
717
922
733
361
749
3
860
861
177
167
46
809
447
216
378
384
439
580
146
693
232
585
328
928
51
945
552
599
421
925
480
145
531
839
540
782
410
925
356
382
239
774
617
947
443
643
511
233
370
643
320
796
517
932
88
815
596
366
184
730
470
821
741
873
585
902
672
45
952
148
431
758
465
411
710
557
387
820
11
795
442
250
883
36
296
304
166
535
416
722
570
833
333
718
408
845
659
994
999
811
680
60
38
470
566
333
45
871
827
251
25
294
51
962
513
605
292
803
555
555
925
347
215
236
665
832
525
306
579
315
820
15
66
899
860
991
821
18
695
239
96
544
885
550
81
786
286
556
766
586
432
413
517
916
848
377
91
769
537
58
981
404
237
119
298
535
604
111
907
823
112
783
960
367
754
368
657
166
839
271
427
838
873
669
357
85
107
288
882
603
992
724
326
197
449
840
734
672
685
685
354
175
277
944
756
87
225
814
245
602
883
23
70
834
352
529
470
914
793
880
127
790
766
291
411
866
256
351
824
549
670
82
773
301
359
723
728
327
778
728
188
142
161
792
59
566
556
68
864
969
499
555
810
506
326
183
124
276
376
416
944
139
742
941
564
948
517
478
492
927
661
498
772
338
632
738
658
208
677
634
562
192
165
239
305
896
968
537
913
643
337
419
863
641
299
869
71
462
880
78
89
673
20
117
104
963
525
128
234
396
425
208
330
359
387
899
298
194
902
397
342
479
279
444
384
228
823
682
283
615
963
842
771
310
511
706
372
762
895
702
699
879
997
137
848
896
86
56
76
83
152
259
792
857
656
882
50
22
337
297
461
980
780
378
840
108
868
417
201
690
319
274
980
917
681
643
509
345
670
225
742
783
787
241
145
398
821
258
274
248
323
610
664
166
647
297
877
963
812
851
359
242
183
804
832
256
48
841
153
945
344
84
497
125
745
684
234
677
398
192
387
314
853
582
234
936
490
416
400
709
152
10
987
752
778
626
507
674
94
322
62
416
733
985
651
162
311
394
18
173
159
237
286
470
504
423
147
74
498
159
109
553
629
271
513
612
82
867
522
905
709
552
703
581
163
522
246
465
151
187
765
907
23
339
291
667
818
228
142
512
593
731
798
907
30
160
227
179
845
684
407
965
433
749
155
91
518
104
75
85
579
773
437
895
632
817
780
130
496
454
415
753
168
973
17
303
11
285
907
559
286
464
417
425
54
943
95
882
612
650
174
180
753
933
425
588
736
387
6
415
400
425
765
354
403
878
684
30
71
494
976
618
354
930
810
227
140
322
199
777
465
427
87
177
768
407
943
354
157
303
399
544
278
198
353
798
447
888
874
184
930
973
181
355
706
80
740
215
332
918
784
935
172
164
126
220
167
585
451
772
891
848
992
179
137
581
127
841
860
359
529
1
102
825
891
535
394
907
65
820
385
84
694
969
685
90
646
237
565
621
374
101
474
476
37
583
398
397
950
599
893
354
87
910
554
660
827
847
861
697
189
650
828
73
724
459
506
833
902
379
765
55
458
164
325
910
821
363
913
248
839
182
478
661
110
305
535
976
177
820
899
617
961
869
3
590
101
673
178
171
121
331
536
213
583
231
57
365
205
180
653
544
448
182
569
180
100
831
829
407
238
736
307
284
639
301
825
679
532
807
947
381
912
159
759
331
595
789
202
345
186
634
238
749
6
280
35
148
212
607
843
94
912
51
664
616
966
264
437
818
41
51
618
358
857
944
94
890
744
249
950
146
260
749
870
517
655
541
290
951
211
296
905
920
129
178
564
493
700
809
119
934
500
943
176
42
677
874
457
399
320
900
571
469
141
133
628
481
603
919
863
394
672
540
513
968
983
96
732
916
530
222
353
816
614
293
331
233
689
97
567
44
746
490
190
531
134
885
868
91
954
879
42
682
738
225
391
346
461
712
654
253
450
367
635
632
132
702
574
794
362
497
438
485
260
591
123
153
300
780
718
564
440
342
681
909
543
654
754
150
210
542
986
333
980
73
429
711
89
326
494
440
55
516
830
293
377
100
378
705
500
390
551
474
658
826
732
99
814
32
254
131
671
263
747
720
245
33
259
763
132
15
630
826
737
271
226
241
776
996
33
721
47
502
288
464
840
993
887
272
438
582
376
549
347
38
707
577
374
47
358
509
723
1
949
527
875
105
851
418
250
399
602
742
20
936
49
529
39
324
413
110
811
779
779
244
372
223
719
267
878
22
944
476
369
434
882
324
501
744
91
513
826
945
30
556
60
44
493
790
450
893
968
279
113
714
897
959
410
797
362
271
127
32
299
33
524
568
437
21
708
0
19
48
609
414
228
779
873
266
376
781
494
858
277
999
627
361
283
18
522
241
406
282
811
274
857
490
130
653
767
187
700
193
324
603
544
514
401
232
777
117
590
518
621
330
412
40
881
408
653
574
935
197
694
51
628
969
165
665
398
807
841
519
421
172
241
211
355
630
392
216
23
762
853
29
853
495
537
178
334
151
34
343
492
817
474
979
131
604
90
549
400
320
458
222
188
580
225
157
345
684
740
527
903
251
456
989
147
593
435
240
278
403
999
268
319
710
673
418
868
624
88
607
477
798
818
139
337
237
991
437
302
52
341
427
192
470
607
807
116
460
753
602
670
95
985
529
73
503
90
724
606
984
945
397
444
804
704
578
199
822
929
530
348
782
754
263
938
935
954
773
812
169
761
211
154
747
542
120
479
300
343
39
148
799
139
542
987
455
859
704
269
266
778
590
154
441
555
32
950
631
294
382
772
965
37
613
481
212
145
856
964
210
416
661
909
744
976
889
532
642
439
32
833
307
988
527
809
220
762
502
177
396
706
594
399
452
503
385
784
332
408
885
183
664
373
329
946
373
189
93
54
932
99
496
573
730
159
812
979
787
653
929
385
455
621
146
847
969
794
828
271
92
315
600
395
784
226
675
230
306
957
949
490
569
495
218
176
643
117
882
567
517
508
357
941
393
890
186
666
100
472
785
165
382
870
268
964
720
623
707
282
292
556
333
850
812
5
991
281
373
228
464
164
677
568
647
286
100
884
683
379
274
409
989
653
723
502
848
708
425
287
574
905
531
892
908
302
263
412
228
88
11
758
281
694
547
270
769
330
487
917
779
104
966
427
84
526
5
421
623
995
224
75
408
934
102
287
346
231
367
322
727
253
105
21
751
229
311
575
940
126
319
230
774
773
948
17
960
338
818
936
738
377
162
770
739
107
233
341
239
3
840
211
655
702
425
368
142
325
76
169
923
764
382
918
428
969
929
600
45
36
810
931
180
567
540
452
365
149
756
868
252
683
117
529
571
557
408
957
632
838
490
68
595
656
601
261
266
583
663
107
978
222
188
494
291
710
945
471
178
188
373
983
478
603
156
578
243
575
566
174
142
81
658
436
810
555
15
582
909
562
618
812
153
111
452
864
87
725
171
811
521
892
353
215
141
334
748
481
219
179
777
31
590
492
628
436
281
487
576
215
488
447
705
930
53
159
427
546
543
322
959
602
437
64
199
243
743
435
334
750
888
961
195
30
464
447
602
62
361
329
190
297
902
424
220
210
692
770
278
102
961
220
671
944
543
316
391
102
567
617
279
675
282
982
755
99
953
692
668
988
328
514
772
666
349
265
98
877
795
392
933
519
290
288
544
420
69
841
365
295
665
744
659
727
173
923
921
67
391
601
326
805
748
886
137
930
36
589
955
368
868
876
871
701
213
617
360
295
976
90
467
370
125
626
511
631
55
301
130
763
808
60
161
173
631
890
70
685
110
751
764
684
565
782
772
602
521
45
53
172
585
197
273
364
135
470
9
401
357
85
528
35
364
442
296
242
746
94
556
57
685
872
878
220
694
288
588
519
751
453
612
46
572
790
877
142
988
18
161
722
996
288
918
892
390
863
346
713
506
239
241
54
422
868
130
596
570
714
655
621
210
401
631
65
172
865
579
372
72
775
928
109
876
426
679
321
134
986
272
193
856
951
219
663
956
596
451
533
262
824
678
276
890
638
813
849
650
737
237
905
248
569
98
744
337
212
527
841
664
63
341
868
464
260
700
79
777
429
968
719
996
843
770
831
848
382
877
431
668
230
744
620
999
384
429
971
820
651
961
638
10
709
965
124
447
933
175
353
323
193
295
890
255
478
162
498
327
76
98
968
162
412
437
363
140
98
73
559
978
576
495
27
537
719
537
725
646
469
776
183
292
312
174
541
445
463
358
187
794
883
760
473
224
720
157
659
953
224
627
245
525
838
316
410
417
42
892
673
516
327
74
524
713
725
67
506
969
35
877
605
606
995
537
849
843
785
576
720
878
278
930
434
846
636
255
473
102
890
825
713
345
429
778
540
571
945
468
641
145
68
420
138
891
363
209
90
924
37
4
728
427
200
443
762
33
73
813
221
384
588
184
296
409
774
562
863
12
759
66
800
308
226
460
605
132
909
994
523
507
49
481
24
672
103
25
332
414
496
921
754
134
644
547
919
615
771
579
667
322
515
599
895
567
659
4
445
92
498
788
817
663
859
372
917
907
999
140
196
56
592
13
286
925
192
486
957
275
20
552
601
469
113
631
263
576
752
976
480
941
627
648
991
143
167
532
146
977
371
362
646
668
294
149
502
91
195
255
511
345
204
854
307
555
510
88
312
440
864
787
855
2
652
586
808
953
688
566
373
335
73
943
594
495
374
289
534
634
793
323
57
867
435
971
99
225
332
727
387
755
367
453
760
295
646
758
989
564
320
482
336
235
391
77
188
502
846
815
255
711
759
947
508
204
898
904
224
132
734
746
939
54
234
35
548
954
998
904
441
439
144
968
186
559
277
831
224
224
166
608
246
250
156
97
563
858
360
167
798
833
266
809
757
669
511
612
207
261
200
73
549
387
944
42
147
263
374
745
712
295
777
786
450
905
246
227
393
837
702
412
670
291
140
307
741
749
214
818
420
464
665
142
127
548
715
85
151
695
593
506
353
380
540
822
6
479
973
243
406
4
209
935
306
30
376
676
256
59
40
890
975
484
573
378
238
219
147
29
454
212
671
569
614
637
693
684
433
423
188
360
313
190
744
70
818
451
55
317
186
325
833
19
20
511
136
199
238
872
87
257
842
145
814
283
147
845
458
304
534
726
442
842
840
557
816
182
552
890
871
958
312
120
757
257
30
19
243
593
220
616
419
678
921
764
186
419
913
924
569
405
820
933
478
457
461
618
794
26
636
817
298
683
740
938
368
7
165
382
38
772
827
828
638
214
960
485
308
374
847
340
524
771
468
588
28
252
307
592
751
312
42
979
229
248
580
643
2
638
853
300
616
75
530
177
320
656
657
119
335
932
49
13
478
581
665
543
653
352
513
677
543
670
344
554
921
359
85
775
745
568
918
46
414
80
950
226
341
865
940
40
607
601
953
441
645
173
486
115
272
421
632
901
287
24
89
42
518
217
874
553
486
452
393
323
402
286
785
893
352
692
163
789
882
637
515
639
537
566
92
393
553
306
273
305
810
393
582
398
955
405
683
95
174
715
617
232
603
247
52
184
989
137
138
823
564
364
35
368
995
22
49
469
827
956
868
771
633
778
552
972
51
838
372
263
2
380
738
616
545
495
291
401
376
938
664
119
220
62
917
476
649
634
958
507
691
107
949
927
618
577
856
905
551
132
721
399
446
744
467
387
876
320
962
927
115
240
0
973
651
177
376
956
746
187
178
633
849
673
670
832
822
644
380
33
88
912
745
145
632
479
34
465
678
855
538
275
641
547
16
57
61
894
919
954
855
259
353
205
253
445
939
894
349
246
792
334
247
693
163
943
656
266
291
28
508
765
176
693
190
45
498
745
594
713
683
797
517
818
853
854
722
633
199
129
990
864
369
457
943
530
854
390
738
304
524
405
455
591
773
38
153
318
906
930
687
689
65
498
478
976
962
176
643
146
984
101
649
974
337
317
303
41
579
393
330
250
259
856
891
76
905
456
650
859
664
642
190
312
491
77
862
787
323
924
540
331
407
862
687
429
228
625
324
544
825
556
348
445
631
835
524
142
21
420
984
409
260
884
374
493
322
697
526
476
239
249
691
928
598
11
860
674
637
36
625
372
260
929
576
442
313
83
306
900
478
794
893
78
796
153
848
548
451
740
471
872
324
91
889
887
130
167
882
555
815
978
360
250
657
923
811
483
896
907
260
678
706
867
432
944
556
202
353
805
879
838
402
660
782
249
346
674
272
885
549
460
110
750
930
256
971
605
538
530
396
498
741
490
315
39
864
432
664
538
594
445
963
682
785
372
945
607
854
793
663
854
805
130
519
831
91
956
120
83
819
649
514
382
244
326
696
579
193
928
174
879
530
816
717
217
359
694
419
155
703
876
336
664
437
708
759
371
895
420
722
752
779
104
123
751
745
253
475
881
688
116
88
881
114
196
148
967
118
851
524
206
285
679
193
357
504
29
754
157
228
45
188
391
492
874
615
675
119
92
217
799
310
787
125
741
408
705
904
841
849
896
703
742
740
280
15
743
461
777
991
714
379
210
333
981
165
158
247
343
124
886
678
843
717
133
794
956
754
134
36
444
629
531
870
486
921
471
299
382
280
639
986
579
502
631
613
931
657
768
174
489
22
946
758
318
310
212
921
418
462
919
558
780
481
256
777
255
177
622
853
490
81
47
835
406
334
778
667
358
985
749
942
0
338
42
923
29
536
251
75
952
487
571
823
440
199
591
552
367
441
408
157
852
448
253
495
417
794
55
432
146
210
708
511
712
116
0
277
629
342
922
38
277
253
339
331
225
361
661
164
537
276
172
347
616
259
533
965
432
266
479
91
484
381
94
511
606
975
193
337
295
532
252
393
158
27
394
188
516
185
410
818
379
460
621
658
556
878
523
807
410
682
813
698
493
529
287
938
7
373
775
425
604
775
889
148
772
579
197
864
581
39
103
187
884
889
218
910
758
15
488
132
110
398
686
520
354
649
37
842
14
97
587
612
798
825
362
982
160
270
979
491
554
665
176
354
99
205
490
268
277
211
759
864
807
340
306
519
883
682
459
94
59
227
182
153
635
533
143
805
492
839
95
965
34
747
540
737
870
154
629
289
502
459
946
131
222
223
672
879
535
721
636
905
893
461
493
351
378
710
590
541
570
225
112
497
86
69
806
109
163
352
857
361
811
466
309
996
991
790
519
159
372
176
391
299
643
992
845
331
636
707
821
646
330
683
880
314
101
3
968
53
40
509
516
325
618
93
30
668
793
191
809
702
239
902
937
538
201
568
524
924
458
520
507
507
124
480
137
915
937
960
867
638
576
675
798
549
633
815
203
683
161
253
848
219
620
256
696
64
99
914
219
250
213
861
281
580
124
373
968
632
918
201
229
608
544
399
519
319
778
894
782
633
966
191
821
712
375
353
500
673
321
262
576
600
977
252
994
211
502
499
535
386
999
141
31
690
519
8
674
111
409
41
577
422
989
858
872
418
88
115
89
848
584
846
122
517
677
580
415
502
58
842
98
243
599
155
822
513
611
484
915
614
920
235
708
934
365
533
945
196
147
597
642
143
987
808
967
757
840
246
602
811
817
508
215
671
57
600
646
839
939
317
434
917
887
350
607
606
513
623
92
602
656
229
533
565
239
804
131
278
329
628
777
883
845
690
634
375
980
848
277
687
479
867
240
272
882
846
291
938
287
357
320
968
219
136
500
614
529
460
747
10
440
903
145
942
213
858
302
29
982
190
185
390
966
262
948
786
47
647
513
99
844
557
436
750
871
336
269
940
46
952
201
217
635
474
132
748
365
438
414
450
154
375
95
906
376
434
11
403
744
975
911
429
240
615
798
911
181
712
629
490
250
301
734
327
614
188
392
671
163
549
781
335
296
21
143
390
450
681
917
400
170
830
240
673
331
912
990
334
893
180
947
920
960
229
48
329
290
763
229
459
324
667
429
671
169
151
803
650
955
303
11
647
75
59
699
239
429
113
367
908
687
176
664
418
711
845
205
566
791
306
557
652
114
157
661
147
323
292
347
741
690
262
456
575
542
517
136
271
896
718
460
484
506
418
194
906
518
0
514
365
372
430
66
254
942
917
300
323
394
429
679
194
594
535
174
51
983
108
907
957
918
572
679
253
962
867
399
55
712
630
273
359
167
393
298
632
356
324
415
956
218
179
850
466
870
425
989
229
683
608
99
631
672
537
770
523
995
835
160
401
50
746
850
923
285
400
918
764
828
567
50
758
663
547
862
909
59
585
688
417
576
975
119
0
217
672
996
480
690
134
130
448
958
625
420
864
276
866
181
417
296
938
927
631
242
911
205
235
915
74
739
413
284
205
631
368
713
432
419
636
541
339
688
372
278
932
666
471
777
872
390
512
665
429
368
923
871
987
255
666
70
636
165
801
680
588
885
223
247
982
81
865
545
184
806
788
390
465
278
588
30
729
846
372
578
637
345
886
894
321
13
720
907
595
621
941
735
69
679
345
569
723
716
612
258
621
367
934
678
876
63
733
352
213
919
988
678
688
903
128
113
283
982
422
735
829
161
981
695
108
652
704
227
121
46
992
104
92
313
608
940
197
713
497
180
798
620
390
977
375
832
73
918
220
721
184
274
638
549
686
532
954
272
975
120
795
38
893
293
563
371
982
384
231
919
501
351
265
962
681
49
425
8
13
685
41
218
6
126
148
574
203
716
863
11
291
411
462
310
884
717
337
645
636
403
742
86
548
649
638
690
105
79
232
601
510
588
547
798
193
666
724
508
118
316
368
653
424
420
855
263
807
999
640
951
394
419
685
574
847
609
718
529
649
539
897
821
280
80
600
231
209
679
596
989
959
818
452
658
247
149
129
486
924
756
131
682
625
835
392
693
558
614
243
740
272
984
655
226
213
760
712
683
798
365
109
483
132
925
860
329
690
84
635
33
588
845
79
338
712
492
846
259
182
812
523
871
355
957
106
10
207
409
285
573
674
565
735
270
457
359
600
260
381
45
792
430
975
896
646
37
488
380
238
843
535
724
700
348
21
448
116
209
561
134
949
9
439
203
569
298
458
308
703
243
587
898
104
216
851
932
182
979
825
500
546
220
946
12
115
737
699
764
647
756
91
707
576
348
12
293
132
619
376
65
348
338
252
987
63
128
38
582
878
736
622
693
741
577
28
800
704
799
157
822
161
503
174
846
578
170
217
777
767
689
510
423
503
268
915
402
42
158
787
628
156
431
768
210
868
88
446
564
839
701
326
727
76
400
475
360
924
67
229
85
661
965
626
988
948
753
566
731
86
667
153
731
95
573
109
636
886
831
23
65
849
249
922
752
76
72
852
806
408
50
400
642
279
581
657
648
183
604
453
369
840
806
268
694
398
331
613
717
314
363
235
665
346
77
969
475
240
279
520
242
304
202
316
569
287
337
124
609
929
748
795
552
650
167
235
283
988
659
391
240
82
858
392
293
247
472
226
300
113
443
31
524
845
998
332
420
672
763
101
253
877
796
529
780
185
25
396
936
541
890
105
623
623
162
710
970
619
989
35
968
705
100
717
553
997
256
253
741
505
458
779
719
668
763
839
788
832
239
452
351
104
761
67
98
953
434
429
779
178
995
601
964
267
18
970
854
856
165
72
66
123
779
711
977
510
524
493
398
198
526
441
331
313
834
811
316
283
414
674
581
645
397
170
802
544
471
64
482
989
327
778
440
638
974
244
931
414
85
337
649
872
263
894
714
960
884
960
727
726
882
308
187
344
424
454
489
56
928
997
578
274
120
604
91
583
591
150
470
829
236
863
313
25
681
142
238
67
749
737
45
421
754
364
373
658
809
573
500
346
231
387
500
596
545
290
685
912
889
452
191
696
871
510
501
83
529
250
621
182
76
235
223
513
124
209
878
131
640
57
606
962
218
942
429
412
343
110
787
370
413
338
778
564
246
146
965
575
922
512
411
595
802
332
571
724
885
835
428
745
771
970
310
11
285
829
388
111
824
670
937
623
138
373
531
6
408
194
782
873
480
971
971
448
702
322
266
951
151
758
385
138
76
900
988
381
266
445
897
632
846
457
938
699
855
719
276
529
477
381
312
242
634
482
896
168
594
307
57
53
667
863
600
959
96
667
254
115
672
944
410
643
745
387
700
858
278
640
384
445
183
439
372
807
332
743
332
619
458
946
374
365
642
988
499
919
128
88
205
845
833
460
257
343
988
134
649
715
237
213
505
123
618
341
588
403
553
517
485
397
873
142
572
203
705
321
3
230
234
893
522
477
888
169
30
525
914
970
798
328
341
892
225
66
207
509
900
913
946
28
859
756
257
866
811
89
119
527
853
349
872
607
128
572
188
405
370
837
224
728
130
293
950
702
980
948
992
584
289
512
861
977
741
97
266
880
969
479
637
297
235
728
280
706
574
113
599
548
574
77
24
400
331
646
190
402
23
502
743
818
495
961
614
532
626
877
96
964
383
157
687
43
273
586
547
960
955
441
512
752
56
250
751
519
665
209
610
82
260
71
88
534
985
86
883
327
339
628
558
733
383
210
616
545
377
816
876
307
906
786
225
878
46
465
279
964
791
573
174
578
805
653
453
934
645
30
930
204
856
594
422
907
19
978
748
108
249
634
948
554
258
998
72
349
750
539
202
853
643
251
214
603
766
907
344
748
308
267
618
360
433
2
343
558
782
360
653
432
97
85
157
99
566
321
134
610
537
52
857
839
329
655
692
340
699
227
33
697
995
131
536
252
99
808
253
583
808
645
947
435
620
890
25
817
389
228
778
130
380
495
335
149
810
825
343
261
720
854
399
758
71
710
589
672
909
761
406
327
208
195
707
798
889
124
427
300
484
586
725
12
62
675
525
151
138
452
73
157
959
279
913
923
260
307
714
762
822
781
35
263
578
0
7
494
117
694
131
108
21
724
400
907
945
443
409
957
518
515
775
314
327
801
590
932
398
464
494
68
890
211
472
238
908
311
222
967
760
779
461
839
620
319
99
784
388
851
810
273
104
61
252
812
471
491
732
509
835
455
23
92
246
26
180
425
465
687
743
232
161
158
230
857
271
302
977
618
315
329
57
915
310
345
163
324
870
968
433
606
388
431
940
688
116
562
363
323
373
830
800
452
552
92
871
24
214
967
597
824
556
892
402
874
878
108
515
855
646
616
389
161
480
516
105
634
561
83
237
781
66
656
394
99
776
41
496
712
738
273
327
832
938
732
132
355
726
71
517
268
126
966
897
602
471
486
715
292
813
141
851
51
203
683
670
411
687
979
455
720
219
240
53
79
202
210
251
203
651
859
870
781
557
990
163
346
156
456
701
235
901
338
907
351
986
968
306
16
654
617
432
980
938
949
532
682
95
563
768
21
337
857
486
295
459
742
149
136
59
413
366
34
514
463
769
778
239
677
228
426
662
29
141
501
722
292
176
718
774
839
676
483
11
349
485
287
513
342
521
693
192
447
331
237
978
923
322
141
269
824
234
657
319
961
747
363
367
379
791
736
458
796
105
88
888
132
861
94
855
267
174
121
262
86
596
250
915
946
346
556
814
433
683
477
664
318
24
893
208
212
91
605
427
667
516
896
782
29
918
818
309
705
569
828
930
530
256
475
14
405
10
687
451
728
567
845
822
478
800
868
711
845
761
76
78
331
966
255
416
500
101
715
288
524
303
478
943
522
30
5
299
63
27
845
901
253
457
504
957
21
501
285
734
326
867
375
682
714
331
478
804
570
781
861
584
424
470
735
81
755
520
104
627
390
104
945
164
77
954
558
430
851
915
522
837
29
309
246
712
605
260
343
674
456
656
86
502
626
753
786
38
592
357
392
642
806
113
161
731
716
73
23
729
819
478
770
413
41
185
705
184
843
535
346
754
230
350
572
645
932
827
616
374
77
829
259
593
828
398
124
511
115
614
306
74
226
290
101
274
729
833
638
781
716
77
509
125
280
425
778
809
607
368
93
330
284
734
740
131
935
990
137
71
233
945
628
497
276
873
549
334
789
101
680
694
189
694
370
779
216
532
738
143
97
136
383
56
871
310
624
519
419
768
251
563
193
369
129
791
661
85
327
688
279
592
374
818
751
583
743
280
310
308
377
7
440
890
486
897
217
118
581
311
63
292
709
120
361
660
314
679
823
6
373
962
162
654
678
200
152
242
463
874
899
48
903
753
501
743
613
532
577
63
901
402
826
517
142
456
545
570
799
614
563
83
776
811
352
697
872
88
64
692
400
475
427
518
235
159
273
459
466
404
225
820
548
915
686
167
248
993
31
368
362
808
443
612
394
481
864
495
664
253
109
737
579
801
588
112
278
706
845
544
154
748
379
917
350
430
882
339
528
96
841
463
287
832
658
190
828
174
228
88
137
528
3
74
163
41
439
657
48
970
967
10
311
966
893
99
486
790
780
359
274
967
811
242
152
172
159
452
236
356
857
388
559
17
374
661
907
216
92
720
828
840
526
797
204
745
161
65
225
970
683
381
827
540
78
59
571
565
337
989
139
230
445
971
215
550
707
797
952
295
81
82
308
924
843
582
320
251
207
917
402
904
297
59
715
822
353
281
80
549
985
123
809
339
684
62
954
277
304
670
635
528
402
305
821
935
767
877
881
230
1
159
725
591
452
68
153
318
670
461
512
868
256
804
619
370
485
634
522
514
68
122
957
102
644
226
436
922
952
533
700
337
452
753
882
663
840
609
386
486
421
282
811
150
537
212
767
216
877
189
3
296
906
800
417
927
798
450
985
927
873
454
895
357
192
394
766
626
220
253
55
816
532
917
516
592
204
752
155
396
7
52
800
424
846
89
746
162
650
403
679
614
438
187
912
975
278
420
949
507
500
730
656
167
536
695
805
467
352
983
407
672
60
748
912
737
895
304
259
370
386
760
741
578
143
540
46
188
992
395
815
178
259
394
312
838
702
756
822
755
646
783
168
480
478
935
230
808
584
882
294
180
309
797
940
473
163
343
216
526
87
233
833
367
16
180
228
294
571
612
766
724
244
325
703
670
708
730
492
150
220
929
81
235
146
220
522
264
785
124
298
723
172
359
870
886
490
663
986
250
264
44
896
141
339
969
231
543
441
708
40
572
803
576
181
276
136
392
523
818
112
522
663
935
368
464
771
821
869
346
364
423
954
746
152
973
171
22
602
616
726
630
621
974
44
8
917
403
524
887
118
627
230
554
557
20
140
934
512
806
97
358
122
809
894
480
184
950
240
430
425
685
279
139
793
497
82
333
695
800
186
394
931
187
991
759
265
358
853
199
918
419
914
15
283
536
770
551
218
469
563
756
118
408
475
490
378
838
180
604
274
57
845
719
296
145
262
782
124
759
587
252
154
587
264
119
298
25
294
636
611
34
629
98
819
850
193
700
308
728
134
715
345
974
399
7
312
606
456
776
704
527
880
400
21
890
541
984
488
383
752
337
535
205
2
163
306
174
47
826
355
416
54
564
614
319
372
823
282
468
152
632
351
774
55
720
904
727
523
409
651
991
86
34
112
45
669
517
985
539
797
646
573
456
341
853
825
700
687
818
416
442
50
493
686
92
655
376
978
331
635
934
70
582
399
948
55
889
757
607
508
289
531
529
236
667
239
727
653
484
2
428
492
164
459
47
854
119
793
960
805
39
199
227
250
742
821
210
408
357
744
663
169
201
84
652
949
142
853
558
683
221
586
796
411
825
321
653
326
518
121
270
67
88
2
532
375
83
485
366
191
902
892
320
601
357
237
560
583
316
961
480
812
46
548
682
486
915
52
920
880
611
109
993
649
89
73
999
216
289
957
478
238
379
345
704
291
482
859
48
435
805
602
610
68
781
632
649
34
650
879
453
676
972
338
239
355
70
179
212
785
606
138
517
83
991
863
355
895
946
524
278
253
835
554
936
380
329
679
760
16
886
442
997
143
189
887
91
573
287
584
140
325
351
551
287
651
449
415
819
957
897
24
200
527
944
641
812
807
121
274
819
272
202
307
759
281
778
353
274
320
342
916
29
97
597
463
953
364
938
936
530
900
617
646
614
912
283
452
467
870
855
874
188
361
531
219
607
450
0
150
610
432
940
313
439
841
911
828
553
981
420
113
398
198
655
534
956
316
466
270
829
399
136
161
251
312
401
627
124
247
856
147
536
439
754
233
26
645
106
123
651
996
895
274
362
746
594
136
341
299
715
356
607
130
46
266
336
121
262
489
283
737
616
311
611
607
902
431
295
470
796
883
533
495
851
294
437
156
232
52
685
308
527
710
756
889
104
8
583
148
843
212
366
336
574
987
264
575
352
77
550
554
289
467
379
505
3
273
329
763
82
668
751
884
455
702
664
119
154
503
669
644
483
679
109
876
655
992
409
684
17
695
764
678
808
427
645
628
269
886
726
705
923
340
757
79
967
958
167
60
564
777
512
499
932
748
227
885
308
262
559
780
27
302
87
131
63
334
255
500
666
904
221
917
521
640
589
620
448
844
486
51
724
990
327
566
335
578
721
385
966
98
47
784
575
274
814
75
503
227
686
59
412
807
896
693
304
850
701
616
382
835
33
825
204
313
282
855
595
942
277
622
699
266
691
888
962
313
77
201
319
761
480
421
489
158
247
992
120
925
966
837
351
837
242
699
443
414
346
9
92
938
88
215
611
416
933
932
631
769
207
979
721
140
800
682
774
96
225
459
231
69
796
617
776
907
160
117
515
29
865
997
519
304
164
807
383
386
477
736
551
242
546
438
192
27
522
263
177
703
24
547
669
749
433
206
460
505
722
396
279
526
941
672
31
652
289
129
591
84
660
682
116
600
365
485
153
464
188
459
789
951
798
660
452
446
285
920
317
288
724
969
278
40
411
928
358
216
930
93
661
790
516
902
82
804
51
576
334
244
441
882
479
24
393
983
781
4
344
550
107
638
645
422
686
455
285
922
12
464
37
149
629
262
434
229
641
123
549
362
606
983
344
629
125
380
767
318
520
689
914
932
811
348
302
830
218
608
209
409
675
826
661
474
791
698
30
378
251
284
457
304
155
73
987
10
849
528
365
400
334
572
685
781
885
6
741
877
799
839
228
695
805
141
449
167
721
781
613
137
220
400
178
795
459
979
337
312
109
557
341
902
604
495
446
254
964
331
888
814
866
89
729
370
378
513
698
154
152
344
525
362
442
555
648
615
529
63
698
780
827
94
977
961
640
525
826
980
401
805
72
65
140
631
632
454
126
399
31
578
213
98
828
158
121
165
115
366
234
620
174
609
805
424
765
714
269
61
552
387
250
552
326
787
367
463
718
855
596
876
25
419
666
109
254
793
235
682
954
362
994
296
336
382
133
567
966
13
177
394
39
292
756
688
677
43
654
327
355
668
878
690
780
937
790
517
371
487
663
750
142
286
149
64
133
669
714
406
777
753
610
67
868
785
495
914
904
801
250
632
875
66
270
242
14
786
882
357
69
624
948
324
665
603
233
351
832
68
478
157
332
645
833
180
617
193
807
981
491
579
802
879
249
221
107
992
506
235
564
607
819
367
962
259
567
950
396
868
24
674
311
47
587
543
308
313
762
317
562
942
245
116
106
600
366
416
492
341
961
715
645
601
17
54
399
583
943
403
196
625
665
379
146
535
727
189
818
536
217
542
751
372
82
452
640
480
545
251
148
185
967
324
302
46
252
716
582
422
923
17
156
453
944
647
866
441
917
810
589
569
121
550
718
474
22
377
518
764
659
480
881
279
573
243
656
513
701
35
508
151
65
412
858
465
65
446
678
926
885
894
183
833
228
372
359
472
356
235
470
597
884
545
782
72
930
262
987
64
388
645
467
27
992
411
173
550
331
690
849
160
402
524
19
234
112
85
502
41
644
960
259
311
12
597
84
842
73
179
421
857
990
110
128
998
913
51
833
636
910
506
913
494
967
730
588
863
959
75
526
703
577
542
190
755
765
638
984
863
507
971
240
764
192
452
307
471
893
644
927
176
997
499
617
450
200
596
176
802
844
812
717
190
366
371
65
477
313
671
745
823
938
710
816
450
701
416
699
190
485
338
279
892
303
379
392
709
269
916
727
905
553
404
206
869
982
209
363
214
529
949
842
237
483
280
794
208
783
757
199
821
519
49
617
319
580
790
124
278
313
594
882
209
356
593
473
661
334
913
556
427
217
604
728
437
201
518
442
273
474
52
250
215
838
3
866
753
404
786
861
135
367
378
660
628
749
504
864
528
511
154
112
346
589
489
339
277
836
662
267
654
758
805
46
756
63
955
499
702
409
405
280
536
106
609
181
511
684
949
138
663
48
207
517
459
47
936
827
616
959
640
842
611
146
76
34
339
69
27
219
97
637
477
421
439
773
710
977
444
382
456
591
289
570
944
202
480
698
223
185
173
3
887
799
65
817
661
20
654
42
842
83
909
25
189
838
970
579
519
464
823
990
860
114
572
905
552
83
243
977
322
817
885
638
962
23
934
46
816
865
54
163
508
150
21
4
906
993
845
631
575
612
168
561
88
637
119
736
920
612
140
840
930
4
734
149
724
163
264
332
952
617
272
771
83
395
166
679
98
358
84
512
886
954
369
374
111
438
61
973
248
869
171
510
289
720
577
592
846
4
792
420
717
127
46
728
33
741
584
121
431
348
901
699
977
700
575
499
56
470
824
351
791
688
109
554
648
779
165
924
35
844
783
573
686
447
74
663
635
371
556
68
166
532
899
526
688
816
482
125
145
861
488
186
242
279
699
779
825
433
662
620
455
851
987
804
127
413
569
693
910
741
909
494
497
349
827
668
829
861
503
463
839
545
607
865
887
29
412
442
114
96
735
587
600
794
25
294
616
183
674
134
210
102
191
563
950
78
429
960
399
531
733
564
657
202
991
357
534
609
295
377
395
169
38
959
636
861
599
628
277
709
516
624
456
921
815
752
348
606
840
839
82
161
615
892
484
439
677
631
176
360
295
61
356
164
827
733
842
763
806
567
913
90
656
138
400
228
295
770
393
571
564
87
912
958
510
476
622
746
76
868
913
976
676
692
683
858
867
638
252
41
504
223
432
261
733
906
953
487
82
355
181
930
939
970
89
106
940
875
897
448
96
272
954
599
140
206
799
672
800
821
659
52
331
99
832
436
396
808
937
735
778
964
348
153
958
23
207
248
31
820
575
164
274
934
528
241
266
881
679
522
925
798
212
493
227
480
421
37
552
11
678
209
315
962
422
49
791
646
488
312
64
9
681
716
789
971
362
165
115
411
985
793
954
222
7
463
211
809
102
127
21
657
289
348
857
432
118
113
99
897
285
334
909
559
167
375
641
824
828
464
72
108
551
749
737
324
633
508
825
606
905
590
552
817
659
738
52
190
305
253
544
53
32
726
370
680
881
801
180
665
601
830
986
692
60
762
924
724
158
879
986
900
824
7
63
9
783
625
446
803
268
894
991
802
39
472
688
708
356
23
235
888
402
46
348
514
864
846
42
852
280
988
622
385
310
780
267
319
280
833
971
208
269
695
945
874
224
1
311
355
609
263
439
305
637
314
751
418
397
223
33
285
871
654
449
507
17
814
175
807
606
153
416
963
24
209
910
624
576
654
146
41
949
137
602
836
231
583
579
376
411
108
722
95
486
773
783
291
638
302
42
769
50
125
12
741
899
787
104
239
638
96
327
302
125
220
580
987
837
332
776
163
24
158
460
150
860
497
369
481
902
466
241
51
215
668
929
248
59
421
379
830
190
797
104
386
989
723
934
446
624
117
482
939
596
920
808
77
314
287
370
723
327
351
349
921
483
481
948
814
844
408
279
299
499
485
806
298
646
7
316
118
195
732
475
916
554
1
949
979
27
662
925
805
85
440
207
91
266
17
533
271
36
836
540
811
651
351
532
475
355
359
651
776
669
742
63
373
430
948
851
633
241
585
687
799
533
698
203
488
144
571
768
78
928
828
767
715
579
434
972
989
67
992
78
562
557
512
271
867
617
274
410
986
141
674
43
314
135
932
943
255
406
432
38
475
605
115
226
547
968
356
263
396
18
302
732
105
466
526
989
60
991
969
958
747
295
321
148
267
88
231
66
813
162
893
934
151
847
654
772
19
188
367
998
568
537
968
622
992
113
876
685
913
562
912
787
625
989
990
587
527
638
21
317
835
918
507
714
923
870
526
881
713
78
793
641
331
129
235
347
465
20
793
80
390
679
955
680
467
84
755
574
151
983
90
408
525
82
635
535
44
86
238
926
307
12
824
260
219
240
294
893
368
204
730
947
148
311
43
176
974
135
925
58
625
486
943
925
298
804
427
269
889
753
490
284
330
29
596
267
8
358
930
536
304
439
379
913
921
586
925
855
802
815
723
943
3
992
589
475
15
933
851
725
11
832
959
306
188
456
936
944
136
650
488
738
520
607
708
150
173
571
324
606
794
992
892
456
550
212
730
118
42
566
538
957
630
843
524
927
296
947
661
905
79
486
620
648
991
135
909
189
492
326
288
527
186
888
711
33
7
580
257
865
163
658
262
49
190
120
425
206
604
291
14
610
257
948
508
407
225
678
823
177
478
622
170
873
169
386
221
435
205
156
421
184
156
657
195
19
190
65
313
266
979
548
604
366
615
901
521
742
739
387
1
611
142
130
739
376
710
50
743
991
239
855
560
592
570
781
226
158
820
76
110
259
364
748
105
193
440
758
121
516
314
319
29
452
358
38
300
74
974
914
70
859
959
913
493
118
408
361
879
490
637
585
815
934
152
845
89
34
279
945
342
82
466
9
384
398
990
970
765
464
717
928
275
901
964
700
338
145
534
711
250
576
216
524
895
350
515
564
523
802
329
285
546
718
501
560
796
787
560
1
33
639
332
511
306
409
947
849
157
723
701
778
271
595
643
698
656
547
890
300
69
421
629
334
42
175
165
37
401
547
239
359
960
75
822
981
340
243
793
300
965
552
849
567
921
663
693
424
476
195
339
58
779
442
635
222
645
857
419
438
103
236
19
310
342
378
627
491
229
632
775
589
864
165
637
675
377
779
277
675
517
314
990
468
854
789
311
546
829
500
268
314
706
434
406
32
424
452
79
419
365
82
213
683
955
479
316
763
847
569
221
802
960
701
19
540
794
376
644
268
730
594
934
569
700
950
463
789
992
873
788
283
855
83
76
568
796
338
73
935
179
585
425
530
38
12
540
755
513
419
433
386
842
614
963
766
690
508
323
794
38
172
301
560
49
207
191
331
112
108
328
256
357
500
292
550
793
816
717
969
827
155
860
449
146
12
618
15
269
589
399
157
68
790
306
624
181
855
332
640
172
773
666
329
423
620
643
628
163
102
86
617
264
435
289
472
659
793
787
658
273
822
75
177
574
862
543
647
821
90
976
861
467
164
7
484
324
704
327
652
355
121
943
569
212
49
805
581
949
787
938
955
480
105
275
162
240
44
435
975
553
987
664
373
52
606
315
644
553
719
786
410
930
211
471
398
120
239
182
466
351
891
546
812
944
613
791
781
92
444
922
631
816
347
626
942
817
219
2
597
334
910
673
298
820
378
766
649
309
345
768
659
760
346
962
668
303
683
758
419
171
798
853
847
200
426
341
42
731
787
631
950
252
538
131
154
348
481
942
789
960
946
370
120
963
746
811
139
529
116
134
614
561
456
436
623
273
746
555
127
679
754
414
509
693
815
54
168
540
756
941
708
179
16
947
177
96
502
647
384
983
289
521
170
612
837
443
527
495
603
590
170
590
254
320
166
487
741
345
361
465
145
409
710
140
716
220
241
646
281
761
645
688
978
943
922
649
542
648
375
608
434
6
479
665
793
618
352
803
712
144
397
127
541
954
328
257
336
690
722
389
272
301
260
90
999
608
174
625
892
61
913
763
172
459
92
618
260
863
552
70
672
919
848
311
841
774
580
945
63
726
618
984
379
382
309
141
229
493
575
779
322
205
358
452
854
240
181
957
406
673
136
561
64
721
914
683
458
566
478
746
570
507
343
372
966
972
696
297
838
651
199
515
831
927
24
707
796
894
380
851
106
745
15
403
777
691
11
864
10
214
558
439
828
980
391
178
329
17
940
257
936
470
755
461
91
15
249
697
190
230
726
369
46
639
193
646
50
895
89
9
296
731
350
115
318
481
599
31
147
112
198
436
800
222
122
429
578
279
296
35
908
320
74
959
570
404
694
943
471
712
692
415
477
178
8
80
394
903
441
115
345
494
869
8
692
760
522
358
766
613
636
858
21
414
880
445
737
305
666
174
882
263
684
889
164
864
310
572
133
347
529
992
220
80
312
456
686
919
113
712
855
99
585
836
490
542
729
266
91
965
856
679
327
367
258
204
243
222
218
670
559
747
944
591
203
214
720
623
116
599
121
957
567
716
777
44
3
831
628
544
945
778
948
861
671
226
657
365
672
400
69
15
608
284
658
274
871
234
991
791
806
453
63
698
357
513
737
827
581
765
761
415
910
991
244
738
283
389
906
129
651
158
439
289
693
721
722
846
561
426
715
855
336
182
679
502
406
34
822
966
444
861
274
246
310
32
442
912
199
794
48
623
746
195
895
806
481
97
439
75
561
591
479
210
593
630
40
228
246
342
159
816
643
898
448
796
218
210
480
769
247
200
445
713
968
133
656
742
285
466
145
690
224
649
413
162
329
465
346
75
540
568
613
296
348
846
779
787
289
25
527
931
281
740
480
555
861
100
579
137
823
149
999
913
93
499
479
188
334
361
256
453
261
791
168
160
810
256
545
545
102
936
423
456
5
936
388
170
690
581
144
847
105
546
292
598
273
70
692
638
687
907
432
0
478
59
37
995
619
747
829
537
79
327
417
171
333
783
660
181
608
623
66
643
217
72
716
460
17
344
632
763
509
476
870
710
145
942
343
250
206
585
259
201
820
901
464
538
492
760
952
509
385
667
183
567
929
871
593
514
833
80
995
915
712
153
705
260
720
939
473
935
877
322
993
104
977
66
52
152
812
545
836
190
534
695
261
340
598
476
543
184
832
459
396
889
808
643
640
269
210
119
381
507
370
783
395
909
700
369
275
666
177
239
148
588
332
930
822
469
792
234
633
266
161
746
419
994
176
862
624
744
304
20
780
335
818
117
329
632
834
61
86
618
215
488
186
722
364
854
328
714
767
196
1
903
617
156
759
629
890
158
426
388
501
550
825
32
219
163
622
135
98
949
251
617
386
306
830
440
925
911
132
211
392
596
294
714
162
806
309
307
3
578
711
729
496
711
955
543
99
212
346
52
818
336
158
47
643
897
201
776
762
226
310
663
459
67
938
254
542
570
11
815
709
469
434
470
764
300
925
657
838
830
610
514
81
649
266
266
350
461
653
963
781
605
202
442
514
410
2
915
258
124
801
958
63
992
629
587
450
97
299
638
391
321
893
852
957
28
269
477
500
482
750
89
576
294
5
771
778
35
374
341
484
86
931
342
474
129
142
334
134
691
939
744
292
612
651
398
682
391
214
164
274
65
272
716
649
804
215
885
267
441
875
368
937
913
620
597
513
170
767
641
20
36
543
951
200
9
610
443
140
269
685
657
616
883
854
254
497
426
842
233
807
334
299
779
517
428
591
92
561
632
553
888
742
348
342
17
798
901
501
171
678
231
849
410
198
218
38
962
414
951
605
206
848
738
772
675
491
481
665
856
780
506
845
162
358
907
204
734
499
103
520
686
415
216
311
252
886
478
837
280
854
807
529
599
405
636
461
644
86
797
897
446
631
65
936
551
553
904
560
714
353
251
298
616
744
867
585
217
468
388
931
854
850
984
41
612
862
694
419
949
62
509
21
207
84
106
131
401
631
91
386
375
454
417
144
675
687
162
525
778
868
519
21
644
856
294
565
522
800
806
261
531
110
413
247
561
651
845
643
329
329
646
520
574
717
890
334
869
910
688
115
567
238
940
855
399
930
464
153
273
92
77
452
187
42
366
436
553
713
286
860
516
794
941
742
419
794
613
861
199
871
337
403
40
58
544
576
348
296
714
346
517
97
177
180
123
523
244
464
607
992
960
575
757
662
27
68
57
184
471
900
554
299
444
738
192
463
493
334
918
969
980
540
373
265
606
545
572
155
53
153
103
910
573
174
609
990
561
149
914
268
195
797
138
104
630
997
444
96
951
348
393
361
433
343
598
737
6
854
51
57
128
553
810
110
247
542
418
375
451
447
298
564
113
795
269
464
167
404
423
648
522
387
402
480
343
356
515
225
482
724
298
918
552
290
566
25
141
75
917
435
570
666
945
323
33
942
226
380
467
725
645
678
191
640
285
454
708
301
759
961
895
679
90
137
953
452
344
423
556
615
381
82
25
591
397
999
683
826
593
271
234
947
281
272
15
480
67
322
601
721
428
371
824
607
824
35
750
764
237
760
802
507
275
851
990
200
489
76
962
999
733
88
897
255
173
394
589
886
501
801
904
986
228
250
323
673
674
117
672
568
421
496
934
305
903
310
223
827
735
765
914
874
838
996
877
589
508
892
556
279
932
7
942
138
549
428
178
390
677
12
341
314
462
442
114
849
300
148
38
286
234
841
541
546
105
415
947
780
574
178
259
735
393
994
719
609
802
573
210
328
536
661
600
52
326
320
575
45
55
289
689
588
892
926
752
131
163
265
182
457
154
247
909
838
322
385
843
935
364
660
838
995
159
847
665
189
952
849
948
882
729
920
55
355
597
680
411
491
96
238
549
21
53
418
270
760
365
253
619
642
402
945
597
648
206
105
956
111
906
8
279
686
939
255
700
480
959
120
207
849
378
992
104
957
373
117
370
775
463
329
993
215
871
52
31
929
591
505
698
313
838
115
895
717
350
46
141
638
866
616
306
487
573
291
331
839
491
618
546
372
139
435
834
42
155
524
24
867
237
980
531
853
368
645
878
729
826
350
237
869
715
658
530
435
580
919
989
606
67
372
900
704
847
132
307
69
775
786
812
840
6
30
125
731
346
512
375
99
230
640
808
749
517
897
564
494
801
468
30
736
668
919
354
89
814
100
730
97
24
920
305
895
456
299
228
829
37
183
1
803
789
159
552
558
647
214
270
476
30
671
732
255
829
781
804
97
272
411
27
195
433
78
585
263
609
226
104
691
340
118
885
514
20
36
797
191
901
638
493
273
755
416
58
546
739
778
756
511
666
753
471
845
923
174
248
945
43
398
354
506
658
340
724
720
894
25
260
252
883
123
586
144
538
555
288
526
345
630
659
340
547
114
34
964
143
145
298
544
664
49
80
759
3
789
101
792
954
30
130
680
549
5
263
999
152
648
255
611
799
7
490
759
442
7
942
683
15
686
785
205
139
893
599
764
325
389
563
899
880
318
605
730
261
176
379
370
446
563
219
432
819
982
825
970
718
916
800
266
705
673
313
22
85
300
42
488
199
232
351
108
684
512
43
289
673
215
397
669
981
19
487
851
535
380
354
882
551
712
209
780
583
252
234
728
92
567
879
765
527
540
736
881
187
193
67
442
707
154
481
685
701
729
458
123
44
458
149
567
736
533
386
802
387
979
248
377
676
520
401
407
234
6
516
883
756
523
993
313
128
141
23
770
845
577
311
171
565
924
704
66
428
470
911
967
886
514
317
735
279
263
991
378
285
945
280
186
587
332
26
518
400
236
690
833
538
307
393
231
409
432
157
858
434
319
39
810
597
722
714
363
949
33
367
720
737
14
331
938
586
400
102
107
281
820
440
598
879
391
356
302
268
240
500
614
73
107
138
508
237
292
706
149
822
291
343
181
88
474
865
712
25
952
583
736
367
56
759
737
766
483
678
505
87
90
34
756
504
848
542
675
899
766
454
490
358
433
771
923
462
857
161
103
432
485
229
892
353
188
417
384
489
689
835
452
54
216
558
762
131
73
938
235
704
779
245
870
451
309
131
98
579
780
373
784
234
394
995
118
539
513
293
949
968
265
798
372
387
893
185
723
121
701
643
46
77
137
738
138
404
370
436
774
47
933
498
146
426
681
486
653
375
280
909
27
325
325
798
933
107
149
872
45
364
177
195
535
214
537
594
139
437
938
948
426
246
941
39
673
62
637
170
699
370
759
642
247
896
33
535
868
285
215
908
690
817
679
404
267
235
919
912
771
137
938
908
169
930
974
752
728
193
139
199
525
224
438
198
956
589
740
232
324
193
343
456
728
951
25
691
929
273
322
915
299
378
465
406
785
546
236
490
909
707
923
485
973
513
322
97
536
672
167
273
932
447
786
34
878
639
234
923
639
481
530
374
960
552
228
539
13
891
49
517
879
485
99
582
364
102
346
711
388
394
575
764
747
736
912
808
511
31
598
50
479
18
655
539
643
404
986
722
205
340
87
794
716
977
953
272
341
731
98
734
633
559
205
155
131
313
361
828
284
383
389
181
479
371
482
336
332
879
749
64
713
848
467
144
436
727
478
828
558
262
508
115
666
269
305
838
289
981
607
8
885
390
919
111
730
966
436
970
178
333
109
55
635
911
517
712
907
857
768
664
386
809
455
966
958
184
459
787
130
60
875
30
547
833
212
416
101
627
821
697
820
198
734
144
146
60
846
840
680
169
838
641
145
688
478
700
19
403
282
125
490
938
554
19
815
77
295
929
490
534
628
982
406
942
515
509
18
56
23
681
940
873
692
665
151
924
120
635
348
635
391
29
496
610
816
965
19
223
163
477
606
814
109
915
393
842
399
302
386
982
209
312
450
245
701
459
85
683
128
672
285
204
266
247
495
496
643
717
751
954
372
452
825
53
714
599
213
964
848
951
423
607
461
423
599
56
823
480
890
435
44
519
755
181
234
450
661
343
332
89
142
847
257
870
250
198
27
111
339
842
836
205
582
493
293
680
687
54
280
628
728
612
86
724
815
252
609
439
649
218
813
762
782
744
855
947
188
53
916
402
967
317
153
137
161
745
892
79
930
863
719
534
675
330
32
576
549
844
371
468
534
296
328
397
298
873
947
830
103
293
467
858
845
526
536
150
777
780
926
340
274
423
913
600
556
865
620
891
719
720
777
518
657
574
24
935
98
738
154
138
488
93
238
276
385
952
409
263
755
82
803
759
768
940
88
988
513
37
989
917
497
642
578
937
323
254
563
368
760
32
453
650
777
530
963
585
774
500
23
786
331
391
475
66
97
246
38
622
828
501
442
619
386
117
342
47
766
430
365
359
817
881
649
435
593
85
245
11
753
421
147
728
131
515
803
204
81
907
158
479
22
292
821
821
110
576
490
208
814
280
976
840
334
198
509
63
33
462
594
243
34
7
964
366
859
766
378
544
869
526
676
291
554
957
944
565
703
747
771
601
147
725
855
466
477
946
29
257
430
898
323
457
148
774
184
66
396
308
233
135
769
859
112
170
167
696
567
646
507
357
884
451
681
298
431
77
213
356
428
324
74
341
100
63
428
165
8
527
685
877
399
969
15
711
172
615
900
534
16
125
734
693
237
822
606
466
424
297
521
557
653
709
682
629
65
251
858
595
138
77
791
910
683
289
750
964
810
971
542
218
445
313
888
438
714
44
643
814
730
613
660
916
342
156
280
249
849
604
776
19
356
499
402
414
229
113
420
483
982
442
34
714
598
72
419
387
188
353
895
362
63
780
527
146
240
319
713
966
881
788
482
585
10
631
243
513
589
500
936
981
529
346
84
633
206
492
264
418
556
33
23
818
824
404
895
315
814
521
445
308
748
989
338
264
330
160
770
225
432
712
451
306
74
143
351
88
826
405
267
619
422
536
170
952
780
602
159
390
934
758
375
475
890
485
582
560
849
966
356
588
982
881
498
801
537
920
411
668
917
79
236
318
762
746
648
464
444
184
670
420
605
171
624
59
403
757
581
771
661
303
570
374
121
321
811
491
229
818
785
856
184
194
276
265
813
312
152
787
947
217
979
600
413
977
492
438
300
439
214
573
188
273
359
269
986
668
598
515
700
376
592
162
325
448
412
426
471
579
277
626
248
183
765
109
290
569
175
523
417
448
18
550
443
448
72
835
540
210
341
396
817
358
113
120
108
642
310
511
246
299
951
930
594
604
836
408
17
750
407
157
964
101
122
640
676
344
827
333
60
33
406
379
537
896
771
360
991
857
177
482
429
423
720
288
149
128
605
59
168
27
340
947
423
774
176
23
4
375
948
250
756
768
879
976
143
675
61
254
764
577
631
967
97
177
992
864
558
54
229
547
497
597
677
404
930
467
985
770
516
415
633
716
237
218
774
681
30
673
889
784
578
584
793
811
339
593
137
798
58
550
392
447
896
116
691
836
304
736
375
172
61
533
677
685
674
644
150
613
585
87
407
352
866
657
391
638
207
699
221
284
764
785
473
89
1
422
763
290
250
998
436
334
282
234
811
420
312
944
464
162
535
829
899
859
60
218
947
181
797
932
884
524
221
54
901
135
224
973
778
994
945
979
466
700
878
742
648
94
601
809
871
876
934
81
321
670
454
967
767
585
654
515
592
812
738
351
528
529
529
919
684
676
284
341
365
717
368
111
673
203
74
791
530
659
172
576
83
315
863
160
422
653
7
993
633
810
770
526
907
550
813
635
933
169
232
404
967
918
597
73
457
685
397
553
107
452
904
368
838
87
629
708
101
930
566
949
730
295
158
126
438
304
321
601
807
471
668
923
498
613
981
416
774
409
170
209
257
931
116
192
190
999
775
808
430
364
364
808
188
197
968
998
854
473
375
584
176
958
995
775
87
255
561
24
178
637
402
694
123
745
42
585
368
200
445
0
164
173
989
601
912
907
416
864
407
334
536
88
512
478
506
461
817
186
663
281
835
138
403
829
595
984
595
725
516
359
751
106
539
623
58
252
388
394
413
953
387
491
494
309
859
937
642
513
648
374
775
900
343
699
946
992
933
928
150
122
846
460
712
703
960
922
788
637
991
258
451
218
399
129
877
7
199
656
975
907
592
567
519
250
888
685
440
676
497
875
392
413
808
99
788
821
34
571
671
300
812
947
715
812
787
844
612
536
761
914
265
44
305
217
500
953
796
263
214
846
612
736
43
573
849
766
593
472
901
444
927
484
409
889
517
418
691
605
738
746
484
492
162
667
719
829
720
214
696
860
52
247
709
772
939
908
951
823
954
411
815
479
906
47
702
471
697
212
178
827
927
706
358
135
949
304
872
482
857
971
445
646
206
271
748
573
380
946
526
750
288
104
300
194
87
509
350
162
937
77
650
98
66
161
570
190
831
712
290
84
678
911
227
651
816
540
865
353
998
853
452
867
53
729
963
633
207
465
881
95
248
366
678
585
364
600
590
933
422
737
517
59
877
734
135
820
110
839
62
106
505
16
940
805
143
300
322
318
897
835
845
462
571
426
255
500
819
996
667
841
382
981
219
317
321
447
319
852
961
930
577
136
801
680
872
295
366
49
931
896
913
455
261
866
41
532
308
558
200
620
42
928
293
833
303
918
564
850
264
951
428
639
511
929
15
56
116
625
422
192
903
201
605
88
390
408
463
966
344
335
532
694
75
743
85
231
126
481
520
800
780
817
250
503
645
529
929
690
86
731
241
957
481
679
538
575
423
698
527
158
381
461
31
581
70
100
693
185
152
28
377
27
364
303
434
764
712
916
818
621
599
174
45
547
284
452
269
968
448
767
854
903
451
918
595
534
744
122
217
279
797
873
897
472
469
134
597
41
891
837
540
743
818
32
292
46
837
672
887
618
581
688
682
338
185
577
604
432
918
593
892
39
986
283
40
673
813
294
690
692
129
642
432
512
896
966
138
625
165
411
714
148
281
38
596
146
413
552
1
37
221
186
446
59
672
266
336
465
691
272
628
198
611
345
431
539
504
280
219
960
765
747
430
963
420
716
98
288
54
497
957
643
478
228
920
108
535
532
578
908
57
640
708
197
945
779
918
491
624
124
951
912
467
60
619
132
474
270
431
379
8
72
542
832
697
285
295
941
514
630
323
526
951
886
680
914
235
322
20
140
617
311
686
543
67
713
560
77
904
572
821
838
673
370
354
581
191
681
716
88
546
858
339
562
963
280
163
326
803
488
716
343
574
591
466
800
160
595
128
42
701
181
262
818
306
762
707
137
424
599
517
304
495
158
495
685
694
365
147
245
460
398
858
579
295
424
906
1
319
521
768
911
472
290
393
610
889
68
778
304
196
576
617
532
52
320
511
917
168
865
792
213
450
784
407
845
87
763
272
847
233
710
394
115
292
638
906
235
842
640
897
540
215
98
974
386
263
974
520
610
738
126
603
94
793
441
484
381
640
785
81
698
231
714
103
907
10
774
384
422
769
840
722
727
788
779
666
224
314
219
956
709
545
719
784
543
644
592
873
270
735
497
615
802
65
412
39
28
470
907
212
876
722
133
430
37
710
909
248
652
100
288
769
29
320
298
258
732
983
109
26
810
766
613
970
1
890
276
79
11
662
563
265
879
114
141
661
295
873
842
107
893
567
704
779
198
192
482
446
939
511
250
72
537
268
263
619
848
445
453
959
932
273
366
266
737
730
200
651
783
421
476
719
819
672
155
15
105
530
997
99
147
820
657
428
756
730
697
256
950
757
62
668
667
906
352
16
292
779
635
923
777
836
849
408
391
947
379
108
325
42
132
661
818
150
329
577
836
507
357
575
30
12
307
387
641
849
464
688
884
88
374
490
75
668
177
746
811
835
549
455
387
578
196
384
957
224
102
521
232
955
520
42
985
732
634
427
531
8
817
949
425
235
984
494
283
109
794
586
251
673
93
844
304
387
898
213
201
199
588
964
20
341
840
769
193
499
801
78
841
4
845
345
193
644
258
600
321
727
73
0
302
138
715
746
687
900
811
190
886
25
666
204
227
861
394
15
267
243
725
743
981
888
468
263
875
330
905
397
593
299
476
988
928
561
803
255
380
956
271
857
333
332
340
460
74
444
66
673
656
319
392
451
355
69
200
522
946
516
268
799
687
560
97
707
80
169
178
238
128
153
589
49
461
60
437
943
591
234
808
763
292
147
576
557
398
837
638
48
338
913
932
80
436
473
725
625
740
841
707
920
908
494
589
177
850
353
91
142
207
225
782
214
408
7
430
701
993
382
396
706
963
576
749
950
670
288
962
542
177
298
678
226
428
734
40
993
935
248
895
306
207
913
441
745
936
272
849
690
480
355
825
203
447
749
258
552
943
280
435
764
208
982
671
290
532
585
192
321
837
503
697
514
972
714
855
740
257
159
973
423
513
183
700
110
254
651
549
919
667
386
850
371
985
722
396
152
753
614
763
16
785
661
967
759
718
9
18
363
674
676
251
562
325
336
38
640
429
995
989
270
698
280
721
172
255
676
476
888
650
232
875
110
482
860
158
715
916
443
462
993
759
914
830
910
280
483
167
461
766
774
672
613
627
389
145
838
437
523
100
802
176
18
72
563
676
280
570
316
792
287
847
964
127
574
605
927
350
357
594
757
888
0
146
492
426
699
531
280
54
124
167
307
835
992
812
74
845
583
7
513
468
746
390
275
993
746
352
440
812
844
678
488
189
406
998
314
391
516
495
702
900
997
514
724
819
47
462
979
643
268
669
579
218
292
624
202
290
901
365
216
916
354
188
211
77
733
484
530
990
137
893
911
438
12
424
141
391
404
515
911
404
6
955
219
445
822
207
293
769
691
447
619
594
8
760
61
88
588
884
104
635
789
558
993
405
379
796
175
364
476
54
603
71
244
257
951
613
760
59
618
635
847
957
872
972
945
908
14
731
641
131
904
272
154
684
423
101
105
402
763
81
888
586
752
212
452
119
241
844
372
40
372
392
207
104
477
845
906
781
278
750
252
652
867
480
461
590
885
375
891
785
75
548
339
569
845
638
353
743
633
439
630
341
873
324
87
176
183
752
535
185
276
974
579
943
442
549
862
158
848
389
556
29
711
465
23
222
472
379
446
426
186
842
348
119
297
958
278
779
224
31
866
345
748
579
488
863
967
124
360
778
987
152
21
611
107
494
943
196
856
297
86
613
370
111
658
578
553
101
893
629
389
176
540
607
728
514
880
59
101
86
416
427
81
515
861
969
801
131
202
919
861
8
24
887
381
377
663
563
851
318
839
958
656
951
560
133
790
338
288
802
455
913
280
893
384
388
147
492
316
426
532
514
200
176
118
311
15
625
685
873
851
134
62
749
80
856
784
14
936
809
378
977
163
758
931
16
37
906
625
1
859
462
510
476
318
406
528
697
245
252
674
43
559
678
980
31
301
442
89
480
144
44
414
435
626
238
991
144
811
78
176
772
218
614
653
41
273
241
901
838
397
321
162
740
181
706
929
729
578
294
5
160
436
822
995
856
953
701
532
416
643
386
499
279
984
873
702
23
442
52
31
913
756
113
778
713
885
609
109
895
483
295
762
305
63
558
998
994
125
266
466
496
451
205
913
319
288
880
952
193
304
269
648
14
228
432
721
384
448
262
137
15
261
514
877
79
86
418
561
918
542
83
265
162
853
18
313
899
114
340
187
156
996
364
138
117
964
537
42
114
376
819
638
554
966
220
942
729
993
991
27
761
373
31
904
252
123
261
405
115
803
52
926
213
264
852
581
610
210
431
837
908
408
532
343
850
594
893
604
889
33
457
105
461
768
661
330
668
576
626
89
678
497
60
244
244
230
862
197
980
759
716
328
782
855
281
469
157
373
342
403
692
567
94
838
629
905
750
355
102
971
878
997
806
321
720
578
358
108
742
708
175
407
569
785
225
102
716
868
433
706
367
759
886
266
364
756
647
521
667
619
653
953
609
835
305
760
182
303
360
468
118
579
613
631
411
613
432
721
636
4
506
938
504
554
236
367
896
692
735
169
191
912
27
897
924
146
663
733
690
498
555
671
310
549
590
560
668
668
854
761
871
171
426
870
833
986
835
93
392
519
598
176
33
791
895
403
749
11
842
858
713
337
578
322
420
845
358
439
227
615
464
794
233
131
609
294
272
417
826
501
663
121
920
430
750
994
757
264
731
343
823
773
729
880
608
953
417
695
61
153
429
63
396
274
675
578
773
825
606
140
486
304
783
988
664
737
449
846
590
857
778
741
588
470
525
10
806
110
467
325
834
485
714
157
401
988
767
472
184
358
920
599
719
319
740
102
45
752
359
932
531
645
157
100
700
265
305
191
0
87
602
834
825
665
821
312
314
852
319
400
912
2
3
438
442
778
665
775
188
686
177
675
893
84
452
878
270
905
130
988
605
603
986
142
630
480
690
755
87
317
335
879
816
709
733
162
584
255
80
908
381
894
848
788
235
617
157
170
967
256
576
123
969
380
160
9
382
329
48
200
335
816
138
215
223
996
289
558
869
547
596
518
946
762
564
131
549
228
610
201
516
215
586
923
855
460
742
614
290
305
212
272
439
313
882
699
125
329
936
789
486
221
421
222
284
583
650
957
933
988
67
687
660
914
361
34
585
418
872
962
752
490
871
936
344
748
324
829
489
587
185
178
737
43
244
793
382
892
717
721
327
279
681
207
508
175
126
171
554
394
764
838
159
151
509
550
458
989
794
934
142
183
238
125
134
877
283
981
447
499
49
375
81
301
605
533
804
831
381
220
998
255
197
496
65
236
596
814
458
381
627
713
98
791
807
750
636
412
150
570
426
473
112
698
546
795
300
562
191
191
222
438
198
689
104
337
121
750
624
41
349
522
934
135
335
78
910
176
443
813
327
810
941
676
952
621
728
530
643
294
120
80
876
766
165
669
330
384
299
464
569
165
632
237
300
68
602
362
730
856
703
482
914
996
39
296
641
450
149
189
197
516
574
40
154
675
136
726
498
728
896
60
85
174
527
487
31
136
111
33
692
980
169
689
819
499
840
412
928
337
972
835
114
484
304
870
328
199
54
505
780
6
30
992
565
244
205
810
952
66
940
642
960
922
825
407
782
111
381
686
647
742
433
908
466
399
287
497
491
516
950
164
42
432
964
740
509
300
273
257
742
339
455
727
194
79
639
212
400
824
598
111
681
605
62
517
188
223
477
257
758
393
795
264
587
979
201
635
299
869
895
744
81
787
89
808
890
916
678
346
62
892
10
484
817
873
492
457
91
239
181
447
404
977
815
930
109
505
888
386
876
106
132
357
273
148
802
756
824
434
36
666
81
697
618
935
658
337
692
190
576
856
382
823
372
569
637
725
751
541
867
418
148
58
760
64
155
922
664
169
648
296
15
717
410
428
621
429
259
36
134
105
139
399
220
286
570
671
760
825
81
477
648
690
629
368
527
638
102
708
622
199
101
632
64
525
812
241
851
456
410
920
377
571
418
681
428
308
201
530
36
114
244
711
895
741
601
760
864
405
550
64
93
797
361
21
279
726
649
296
363
129
983
234
280
616
790
352
28
285
225
950
99
304
380
409
906
474
215
717
756
866
565
91
525
346
8
912
810
581
377
949
973
121
886
823
817
641
517
876
710
583
531
841
60
619
256
176
844
784
938
780
53
53
506
979
158
102
29
145
655
36
248
893
684
917
817
721
100
374
238
112
227
644
755
903
391
468
237
794
518
335
799
520
353
113
484
69
493
407
115
399
628
941
632
971
296
545
777
943
418
748
445
585
406
595
205
178
124
585
487
309
601
213
556
54
913
968
81
992
313
478
737
431
891
506
862
123
935
339
741
827
989
197
790
75
465
523
904
173
878
965
616
92
145
926
294
667
889
147
346
308
754
939
711
824
199
478
350
752
300
715
202
872
71
603
716
866
375
773
380
542
865
605
623
419
841
900
768
133
6
711
74
212
278
773
698
996
374
193
855
17
887
628
262
416
338
427
270
817
726
561
157
512
882
710
0
592
842
290
467
642
974
441
846
401
101
607
138
377
529
417
516
55
240
614
184
92
298
148
282
895
247
238
952
629
563
725
517
60
365
135
557
640
329
692
733
975
221
579
305
925
583
335
872
321
977
199
693
547
50
199
28
3
675
384
386
616
511
314
333
640
31
410
959
617
19
302
419
722
627
385
409
507
128
970
453
391
358
671
193
614
698
74
243
558
924
849
484
0
865
410
904
690
409
831
909
794
697
934
825
304
481
742
464
615
311
27
659
228
57
405
170
624
610
351
658
847
310
723
891
651
666
381
643
888
70
631
609
123
546
510
714
550
70
219
837
428
151
60
274
715
223
329
613
654
108
90
914
684
174
307
812
574
64
992
844
89
121
605
521
132
921
64
322
882
93
613
133
938
392
543
921
414
963
702
693
428
515
484
383
667
293
131
466
597
444
876
37
972
491
477
731
355
838
901
948
426
150
584
124
57
843
453
43
218
162
244
513
784
670
676
867
86
843
601
329
802
203
941
241
136
204
808
158
479
117
843
649
275
946
427
598
166
69
579
223
375
185
327
859
87
477
332
766
989
209
881
13
736
664
303
159
742
210
458
55
20
902
349
208
523
79
222
630
217
457
455
86
986
804
724
632
610
779
868
555
297
348
353
570
848
741
167
69
972
89
864
762
491
870
178
640
614
991
691
390
145
842
710
451
630
247
455
342
425
483
920
776
651
55
573
729
158
173
840
817
293
370
659
578
960
721
325
269
986
983
496
712
680
879
548
574
469
142
571
265
18
973
848
977
854
419
511
804
110
138
884
983
67
454
715
189
7
427
867
80
242
248
954
269
656
927
197
399
746
480
459
526
97
816
317
319
399
246
765
931
171
76
136
679
368
55
470
328
667
291
46
346
17
361
22
948
710
561
978
337
787
713
796
867
995
25
969
248
449
91
248
802
564
436
740
354
373
63
122
734
761
201
592
396
857
212
443
955
838
607
88
675
357
841
613
683
179
387
294
238
491
7
689
74
914
456
876
790
149
563
679
754
943
676
575
499
454
947
898
242
396
811
434
666
905
362
679
259
817
61
641
231
939
587
195
494
534
514
455
597
902
724
166
135
393
33
479
93
743
508
769
835
615
909
482
377
812
429
390
598
246
23
280
820
984
216
708
173
929
437
464
235
220
323
770
222
806
337
10
132
651
600
217
485
662
251
548
736
641
783
76
499
101
508
353
782
173
363
454
158
164
562
128
784
228
359
787
361
436
31
171
336
523
240
314
353
1
242
122
434
297
299
90
388
401
136
211
872
16
298
114
617
601
988
546
961
828
975
986
537
81
151
852
615
228
327
328
556
763
129
611
275
919
572
480
476
531
864
539
500
743
392
102
722
688
341
10
786
733
122
589
467
290
831
875
233
577
883
273
432
783
34
925
185
512
633
38
402
102
940
162
982
832
238
318
559
619
183
362
154
439
994
837
661
630
150
642
562
432
168
127
823
250
97
899
220
88
256
477
697
50
907
641
726
12
653
330
731
547
579
735
206
382
262
328
407
139
622
261
787
936
734
532
323
945
117
837
741
732
716
406
700
828
488
90
873
547
501
966
685
768
147
85
606
939
132
153
328
743
716
865
996
235
414
950
497
981
236
371
141
751
507
796
501
14
725
676
260
848
20
915
44
159
792
710
686
646
797
319
806
215
494
118
762
681
124
421
511
621
428
312
170
43
108
530
359
902
772
346
987
725
439
124
132
935
675
836
531
685
834
819
74
198
122
540
878
872
329
459
171
749
624
820
61
665
365
379
585
734
175
866
766
790
288
277
205
483
959
38
757
128
635
703
232
333
95
947
358
71
57
41
146
45
162
930
731
899
925
413
115
616
959
262
988
594
626
902
749
998
22
696
698
469
763
778
318
377
423
822
543
65
659
189
832
720
306
72
570
16
358
465
266
73
633
327
897
48
56
718
96
940
455
425
813
315
440
806
894
895
160
264
342
936
56
998
529
921
721
92
992
310
907
775
261
494
963
23
358
737
962
906
167
472
574
951
102
515
909
210
458
896
292
968
426
771
870
536
619
406
302
925
884
301
316
600
173
340
117
973
408
210
554
945
788
904
591
585
867
694
559
74
591
847
855
535
672
265
661
242
169
565
263
75
481
964
532
786
245
133
979
824
86
299
942
313
294
443
845
572
9
199
715
561
506
343
605
702
393
917
103
580
511
328
936
520
359
592
319
197
201
611
311
637
853
668
915
559
478
232
337
664
596
308
960
385
388
513
572
435
863
995
551
920
653
463
497
176
745
984
824
254
471
713
767
470
312
500
441
925
939
646
314
788
712
614
395
939
571
945
352
684
11
636
265
863
310
821
675
675
805
614
574
10
609
912
431
892
302
858
832
955
236
939
175
201
899
981
433
358
722
271
997
813
26
739
8
286
955
759
51
507
188
136
936
651
200
237
725
902
804
849
177
517
1
259
221
646
70
431
532
842
495
295
878
524
748
424
963
766
684
289
120
213
909
691
383
767
302
629
435
902
384
68
333
85
73
301
906
227
116
100
414
358
576
491
145
279
978
729
686
56
54
468
677
791
311
401
671
828
809
165
67
796
988
584
138
668
59
408
870
865
608
684
321
56
820
661
906
99
562
131
286
594
221
95
767
332
465
82
759
855
649
206
810
132
219
269
586
862
927
933
279
734
65
48
949
695
520
901
272
517
319
567
922
926
436
884
664
374
186
862
276
803
996
335
927
1
986
450
948
364
792
943
175
713
495
424
95
94
383
418
109
655
837
594
403
855
589
320
107
930
264
611
661
599
166
132
837
476
881
448
666
1
464
285
751
993
582
73
565
989
688
849
219
975
90
97
821
547
373
346
715
564
453
969
423
57
208
243
96
533
697
930
640
329
209
971
632
94
520
741
571
856
45
99
980
343
256
128
651
764
191
512
940
390
26
13
530
241
137
571
418
848
613
979
251
458
952
372
610
962
157
946
909
929
782
860
719
662
456
767
872
821
398
31
402
135
219
555
889
505
694
281
591
533
659
883
588
707
985
42
176
631
518
219
606
602
675
403
360
572
52
95
712
22
877
194
39
639
255
165
525
638
906
529
177
616
921
828
966
152
589
488
480
138
993
803
179
689
957
189
298
984
715
542
323
663
322
447
376
972
711
85
129
753
934
812
940
75
719
392
236
109
160
803
998
577
274
418
561
758
22
756
879
482
572
681
900
262
465
957
706
239
267
273
760
973
878
247
109
740
504
779
250
815
308
711
180
103
910
892
512
42
63
386
853
516
670
839
714
446
304
474
853
224
243
347
876
360
440
647
844
978
725
311
343
104
116
39
649
855
766
969
558
411
24
104
729
282
622
484
416
995
377
455
344
682
870
950
939
378
244
61
76
614
990
235
119
385
484
357
225
590
593
174
119
235
33
64
797
239
102
652
21
597
56
320
923
770
307
631
42
179
60
273
684
963
396
791
663
332
155
124
848
955
957
621
505
280
270
401
288
454
724
673
921
252
63
386
592
292
584
832
375
133
778
912
546
70
224
362
929
597
682
557
135
963
564
388
71
968
149
457
665
930
945
86
886
307
481
669
783
373
684
597
917
955
337
445
495
247
55
410
470
901
811
721
428
17
847
725
844
127
517
367
441
946
92
772
195
14
533
630
634
271
630
38
695
848
657
684
555
383
346
0
833
615
387
835
93
209
794
560
776
971
859
495
588
102
354
899
15
833
949
900
734
619
313
801
681
54
642
481
439
896
154
423
873
474
789
383
873
545
758
784
962
691
385
571
814
912
388
558
44
620
620
734
289
942
777
569
69
439
6
485
530
271
449
899
7
878
841
235
983
589
522
272
378
992
745
725
339
598
613
445
86
847
175
750
777
434
510
8
514
865
694
541
589
270
502
463
431
729
695
742
712
249
607
151
65
374
806
343
18
365
569
285
330
522
397
452
767
443
665
658
494
531
127
1
15
415
655
31
12
874
204
690
316
402
72
651
543
37
708
562
116
706
317
710
541
556
131
684
150
954
880
26
441
61
505
823
113
745
353
28
785
138
214
412
341
632
534
697
759
243
318
643
321
765
404
901
522
276
768
389
182
188
379
527
74
281
707
978
178
529
988
417
968
386
1
885
272
548
91
39
727
225
755
801
310
914
147
712
953
707
450
210
289
741
950
168
714
781
389
280
112
481
984
358
402
648
704
222
382
882
352
534
393
69
178
905
525
243
862
998
166
556
539
274
873
44
962
532
770
552
382
789
678
966
101
705
200
142
697
42
844
597
653
825
577
604
102
487
668
336
935
802
228
423
888
203
942
306
309
847
749
978
249
781
580
722
897
834
429
947
855
937
423
352
711
931
363
652
814
379
934
630
817
544
774
634
667
69
243
244
124
598
641
181
729
271
239
410
188
914
400
119
469
372
707
706
362
802
386
972
942
914
680
257
464
789
161
431
141
381
816
652
132
630
164
83
784
164
253
250
644
795
702
900
243
103
531
547
528
873
187
19
769
278
4
822
881
142
360
294
821
958
555
692
450
461
831
970
976
49
261
228
203
437
40
573
674
451
853
913
595
557
640
517
959
979
11
522
674
311
153
491
139
479
881
218
113
526
226
865
60
84
302
495
278
470
910
530
309
848
498
391
256
867
868
534
636
594
944
921
332
375
74
813
200
106
517
74
1
311
979
917
448
928
136
258
269
974
496
61
942
292
176
229
944
807
772
154
178
64
627
96
282
82
62
152
45
919
391
615
757
616
450
425
954
563
145
656
913
856
388
648
211
211
588
127
701
721
148
309
180
564
847
249
950
81
876
683
582
931
286
481
200
935
944
610
236
820
746
29
816
612
997
799
341
841
668
285
279
485
910
122
434
650
843
921
390
186
526
249
383
748
782
442
361
432
775
532
365
17
920
89
643
614
46
166
887
301
545
818
735
947
378
921
500
795
572
158
345
465
539
552
645
805
536
870
856
652
731
467
940
686
816
375
173
43
585
161
157
340
739
234
970
882
973
647
504
329
461
152
978
966
390
21
295
483
634
728
225
242
993
349
92
732
817
222
991
661
59
938
965
64
737
605
240
145
366
859
93
416
941
943
410
649
489
774
856
388
710
190
651
280
237
808
31
207
787
531
761
224
311
957
314
616
447
123
879
859
277
146
239
107
985
300
531
167
534
143
230
971
409
627
236
388
125
858
360
643
476
534
358
224
223
99
733
750
803
494
169
195
696
666
312
992
613
27
117
267
336
253
136
841
420
82
164
384
670
44
479
692
429
695
399
150
816
648
670
499
788
85
619
187
934
526
330
691
772
919
602
497
220
378
303
674
808
330
217
51
358
928
795
15
600
279
408
239
597
311
688
809
597
149
243
230
316
15
878
256
28
666
370
3
894
394
50
429
607
176
987
804
499
119
3
750
853
517
714
800
411
717
813
694
253
688
98
402
878
885
251
598
974
738
951
710
40
457
431
142
895
807
598
974
608
989
156
487
827
206
532
242
707
581
184
304
764
466
182
643
952
341
736
484
505
364
434
503
443
887
748
359
162
196
979
683
569
177
433
417
490
760
921
746
122
378
897
252
678
599
564
881
240
181
560
437
516
50
583
142
496
563
748
205
320
378
142
507
784
75
47
735
241
566
44
830
944
915
763
665
69
68
20
846
335
733
821
668
918
242
46
212
341
320
545
74
277
155
29
147
539
724
862
512
960
597
148
329
560
274
109
126
942
349
395
166
360
979
677
978
235
970
628
464
919
641
576
241
176
445
401
551
622
15
554
892
924
636
823
958
637
591
21
145
998
480
659
483
583
604
114
712
612
210
795
201
185
422
166
252
978
652
193
270
251
709
622
198
395
189
988
127
562
68
902
991
335
675
682
382
102
427
673
559
863
661
527
430
715
490
378
17
350
467
501
231
620
261
860
842
211
954
259
715
777
166
961
810
485
127
774
256
429
864
581
802
785
827
956
580
852
804
672
350
520
88
337
583
122
750
408
878
420
334
151
683
856
447
129
807
370
763
88
979
902
206
261
27
3
244
429
946
18
44
251
838
560
182
335
780
54
186
262
374
844
14
982
317
436
263
522
414
259
227
523
390
155
982
85
716
782
270
333
205
485
941
295
522
340
171
826
757
799
955
897
705
8
988
148
682
748
844
214
225
540
66
953
200
333
107
242
449
578
40
326
309
881
89
624
492
672
771
717
869
564
118
330
24
870
882
57
736
476
865
691
453
613
63
938
511
451
89
526
6
263
107
646
20
661
915
983
583
492
583
712
940
246
241
690
289
381
811
320
629
565
455
755
915
701
680
961
623
10
101
564
249
376
585
907
90
769
914
910
630
418
580
816
958
923
186
177
495
969
519
323
423
342
853
395
391
491
23
338
496
753
562
978
519
557
282
584
619
687
845
432
171
464
426
259
7
98
377
700
192
702
244
70
235
169
41
240
520
715
432
639
676
969
472
128
352
217
285
465
223
85
482
465
269
69
869
638
918
181
199
547
875
66
647
867
583
831
465
169
95
114
561
822
451
87
239
444
111
377
378
856
661
206
70
746
770
818
601
953
568
574
927
646
896
906
500
220
67
389
164
235
843
917
301
630
716
385
965
170
110
327
660
392
19
372
90
244
528
866
880
207
118
185
644
388
548
915
801
345
150
701
96
720
623
488
708
500
724
277
347
519
877
391
605
368
362
490
18
700
812
608
686
666
686
170
847
366
671
876
10
151
351
60
991
911
341
992
906
4
965
119
158
849
425
788
431
503
653
964
10
104
249
967
615
220
582
380
762
314
697
461
518
687
686
9
155
409
545
962
826
712
563
446
317
573
553
729
136
164
114
547
128
94
146
892
28
854
915
15
812
641
478
61
225
936
660
427
680
55
235
101
74
249
295
773
595
40
916
722
474
962
575
825
36
439
100
211
374
212
159
951
957
56
288
663
627
51
450
893
321
92
539
634
898
64
998
924
296
568
231
865
172
657
2
107
302
31
51
689
177
739
980
214
292
374
629
563
606
317
237
717
851
955
725
446
74
414
452
216
436
742
856
43
811
179
327
389
671
160
260
440
597
149
692
483
620
320
189
791
322
479
237
633
277
625
848
339
556
476
52
744
558
462
525
983
367
678
67
322
504
36
12
339
746
606
196
379
533
865
347
802
314
411
267
195
493
426
277
357
409
251
297
763
768
300
920
661
960
788
414
498
101
771
60
790
926
738
195
358
686
49
486
977
434
404
8
4
100
231
373
458
770
160
137
688
319
966
386
481
13
716
992
466
581
597
545
753
808
720
897
648
457
866
870
46
390
995
649
245
729
473
330
238
477
141
614
871
333
355
239
93
314
651
436
199
979
487
59
870
308
589
772
964
110
693
453
104
694
362
131
396
475
593
425
855
895
936
783
242
123
738
247
583
232
578
34
474
949
731
680
548
289
631
140
667
958
778
400
847
993
357
551
340
454
462
876
174
407
571
488
268
185
248
202
568
271
138
221
208
189
193
271
523
848
371
512
3
284
516
594
491
489
727
758
530
33
302
632
73
988
831
443
506
91
557
386
329
707
528
546
521
61
393
617
79
313
518
536
853
715
226
225
43
906
472
853
418
646
553
549
950
421
923
56
547
341
492
749
661
450
26
106
274
406
749
490
499
593
7
986
686
296
855
322
926
779
685
37
525
838
853
834
99
557
939
59
697
405
415
865
919
52
441
484
345
698
924
420
85
502
747
925
327
764
286
240
240
334
512
2
975
340
32
646
320
848
717
258
391
316
384
540
190
307
772
978
923
547
542
166
549
402
259
288
279
48
433
479
754
831
628
7
13
627
304
134
564
30
213
494
993
668
327
655
121
327
776
733
14
598
393
736
812
126
848
524
50
229
457
476
863
967
746
492
198
452
452
501
86
300
522
252
762
295
790
800
417
380
424
915
344
320
973
840
887
993
133
461
419
256
585
859
74
633
779
434
291
301
299
25
731
283
335
53
920
524
564
221
990
73
913
320
35
323
913
734
793
533
369
755
961
186
504
329
828
797
965
510
446
189
254
960
645
969
444
437
281
964
815
399
840
213
374
527
793
871
460
561
503
723
674
992
100
653
680
442
871
399
889
625
522
804
543
366
383
384
317
722
303
859
949
757
326
808
548
231
707
17
154
776
153
738
861
680
553
478
468
668
210
936
621
715
210
705
557
340
102
639
510
59
252
891
745
16
992
638
144
470
350
674
486
706
408
827
664
265
441
191
930
392
131
777
704
534
900
670
342
161
337
89
183
368
65
331
995
750
352
484
316
52
656
939
867
213
763
360
817
533
921
229
881
607
508
80
102
128
186
703
480
489
193
241
320
349
435
811
724
28
84
252
298
911
37
338
436
146
974
360
869
757
953
307
915
345
472
302
787
332
204
893
411
924
87
662
867
915
730
431
772
853
891
60
324
889
373
779
285
192
871
702
203
576
635
352
869
354
98
51
418
121
478
288
501
162
961
381
931
731
30
237
15
913
570
946
138
550
880
662
719
171
3
772
748
615
403
334
323
50
472
503
860
255
993
210
240
998
149
190
325
573
595
751
677
974
606
98
968
777
678
267
416
576
613
267
788
883
937
276
262
868
994
1
952
54
520
393
784
453
865
812
680
752
440
454
794
954
347
585
374
681
505
967
866
6
412
828
667
374
252
252
536
926
876
589
992
712
480
562
257
391
751
998
203
650
356
331
995
135
33
527
192
258
821
127
18
913
602
610
644
137
920
214
129
145
403
81
795
180
510
159
728
470
819
791
944
1
864
464
630
697
499
336
59
722
863
226
200
740
37
387
729
199
868
309
186
933
839
811
514
706
657
203
967
85
374
839
331
375
468
441
95
50
769
333
412
32
799
559
845
651
87
430
888
229
725
586
860
671
225
850
125
983
436
597
631
266
73
341
518
351
76
740
546
418
545
652
782
122
582
480
425
220
466
394
866
351
251
145
214
675
569
32
251
259
211
804
431
998
308
879
649
449
612
945
406
158
504
599
714
210
222
470
142
607
753
420
358
912
86
942
945
917
911
713
629
479
625
916
272
795
532
297
684
717
996
6
257
731
980
448
972
520
437
328
125
533
894
758
140
256
568
224
598
303
70
890
259
614
220
473
377
16
307
419
800
922
567
703
161
127
664
514
110
314
858
98
246
475
595
430
599
903
882
92
696
271
992
859
687
506
383
384
354
433
839
812
117
454
50
123
528
569
982
363
619
321
100
493
274
255
732
885
444
641
821
756
162
931
980
44
640
713
281
579
254
651
735
469
446
494
284
598
111
160
210
586
678
801
932
437
182
930
478
688
842
184
934
565
744
416
923
144
755
718
465
936
483
625
909
659
610
671
717
995
928
670
533
849
821
302
574
571
72
995
474
760
662
201
361
268
541
780
963
684
729
9
913
711
782
475
588
625
839
432
825
732
214
694
665
394
975
510
262
226
211
830
87
135
961
475
783
60
599
126
728
347
347
589
722
934
293
939
9
306
587
309
221
898
204
64
945
643
228
893
761
891
845
780
892
853
595
555
182
247
566
783
284
868
745
868
918
210
220
971
325
279
49
324
648
57
665
235
729
584
328
134
916
589
475
742
597
175
234
465
538
165
272
764
593
298
172
250
821
349
332
153
779
601
792
707
439
568
380
636
683
107
942
493
111
41
195
170
117
840
818
364
655
83
754
85
168
366
484
460
287
375
247
339
477
527
785
774
435
571
267
988
337
5
980
911
931
199
577
999
652
28
305
524
16
814
788
917
804
866
678
295
984
823
803
711
707
196
391
144
147
992
9
289
567
353
470
605
470
974
477
510
810
489
527
605
115
844
780
906
505
741
693
992
324
867
787
286
932
171
75
864
512
607
429
39
944
827
949
192
291
960
921
847
635
333
227
280
721
825
870
44
628
139
999
659
376
348
664
683
594
517
724
493
889
925
802
884
42
920
6
581
169
953
786
788
402
53
676
180
733
408
714
552
190
218
838
61
765
534
620
364
533
632
392
891
297
389
712
894
34
390
551
483
742
751
786
956
949
543
316
43
408
995
509
381
445
837
892
6
775
744
257
179
299
101
840
936
600
862
440
918
873
184
630
801
0
797
815
562
817
525
227
559
609
422
186
507
953
793
729
264
160
784
484
635
534
566
734
22
697
870
648
414
430
263
987
57
74
268
500
327
429
464
580
374
586
787
274
531
370
501
867
493
355
960
202
854
983
556
965
978
49
633
602
386
673
439
781
26
544
279
703
433
852
842
485
613
326
952
65
150
106
532
302
958
422
663
426
79
262
412
581
921
711
417
692
346
249
728
426
101
752
468
718
536
199
236
138
918
136
606
370
672
916
681
449
662
3
723
665
241
670
961
506
677
97
852
178
923
924
593
800
163
765
693
990
530
370
412
730
982
645
301
913
662
963
212
904
325
897
452
331
547
800
869
141
543
572
606
625
195
251
931
354
722
238
247
154
596
718
521
704
382
757
235
846
831
133
359
341
728
94
335
724
7
35
835
692
471
41
173
551
452
132
281
441
215
395
457
56
128
233
150
425
352
77
137
499
399
936
566
103
454
43
89
79
79
765
587
12
711
801
180
677
494
299
807
101
736
52
488
213
684
587
103
305
701
270
684
758
977
326
334
650
795
402
396
977
262
738
870
679
202
949
419
285
618
960
581
434
691
735
550
700
532
991
503
151
317
693
754
969
167
114
604
551
471
933
626
929
707
280
345
839
859
691
576
395
603
163
291
333
140
322
592
903
559
638
726
947
824
967
71
935
426
387
517
873
489
782
964
999
215
453
321
834
933
795
169
759
248
538
219
547
150
941
325
698
811
832
543
459
744
20
479
358
48
8
860
594
983
404
445
932
470
184
418
477
526
795
436
891
630
469
959
293
674
850
235
736
525
741
223
653
752
455
975
550
141
835
811
411
638
651
90
950
191
959
444
519
457
287
954
339
551
148
157
802
543
986
315
881
739
622
519
922
380
183
174
142
917
691
826
446
441
852
695
439
452
412
172
970
810
289
452
349
873
859
114
645
868
606
539
778
685
553
604
388
528
831
488
976
479
824
166
834
177
875
260
906
539
197
945
257
336
614
695
956
225
813
470
864
312
689
32
665
642
315
648
531
907
34
381
994
921
671
885
893
909
830
678
729
752
371
985
834
161
906
608
250
301
565
28
910
768
641
498
685
686
139
890
281
98
717
632
133
372
856
403
322
395
890
547
190
804
875
3
763
443
997
410
725
48
377
114
493
779
241
438
397
794
420
583
517
736
130
542
946
195
903
280
964
784
26
102
37
113
239
3
843
947
69
271
542
156
407
278
983
221
342
864
171
450
126
845
61
294
273
103
503
750
90
435
368
52
111
216
814
462
325
516
24
533
67
271
554
725
710
821
105
889
448
653
290
546
852
873
178
736
379
852
957
59
408
493
818
845
249
606
270
864
86
899
931
854
320
642
935
550
520
695
338
154
536
626
766
504
884
975
996
194
598
751
859
462
64
333
520
218
303
888
600
62
817
944
346
316
482
530
128
327
960
184
962
96
726
776
390
763
709
736
452
19
314
699
786
697
280
760
136
855
475
781
187
515
801
414
952
186
679
342
70
907
792
750
455
720
226
404
489
996
472
17
441
16
533
739
301
832
81
678
965
697
958
363
179
603
881
246
437
416
748
624
61
432
175
819
961
196
654
228
393
868
797
423
869
299
648
671
506
319
943
158
910
608
563
797
855
729
483
69
314
782
298
367
67
492
379
720
319
443
234
982
764
132
28
151
462
716
844
215
306
8
568
929
684
983
441
275
864
314
882
792
175
952
378
493
722
812
865
777
958
531
832
448
956
949
243
327
402
903
850
195
529
666
9
988
37
218
192
431
915
378
521
522
982
874
616
652
76
713
651
624
153
369
151
989
882
439
761
216
324
644
895
138
686
320
397
609
999
688
507
914
451
269
24
586
338
748
859
752
43
348
680
831
697
742
660
158
804
203
600
642
741
606
759
321
367
896
830
917
4
359
255
922
967
89
564
925
303
827
228
418
980
162
772
152
569
348
701
487
533
669
857
771
48
59
954
688
880
267
424
236
754
170
364
219
439
434
48
720
583
154
256
518
594
805
644
860
109
339
750
835
568
336
973
668
190
920
644
867
151
882
336
874
251
658
436
704
663
160
145
937
350
526
369
731
544
178
906
833
600
294
142
432
387
53
465
49
270
767
153
349
51
228
719
598
414
692
659
706
720
414
340
587
253
829
992
175
773
570
443
231
294
900
786
886
397
269
754
684
945
804
124
247
677
854
860
60
243
361
992
817
992
658
990
824
924
170
983
453
732
865
727
823
876
243
389
579
575
852
644
534
882
420
536
478
51
326
320
917
449
886
781
848
483
421
967
353
843
360
984
731
456
63
544
565
865
411
123
908
336
297
700
110
324
634
881
336
1
269
208
391
434
518
720
242
674
527
252
305
813
84
743
163
489
377
476
898
265
327
833
149
335
186
298
947
561
285
366
604
430
917
986
565
254
601
12
328
205
475
5
959
164
902
112
164
679
526
907
100
501
174
23
901
895
980
802
52
484
730
578
744
30
430
991
904
334
427
568
56
420
109
785
715
507
113
894
504
445
25
996
404
979
853
573
853
985
253
831
828
131
771
509
876
891
680
387
780
47
204
854
693
298
201
747
15
315
723
110
686
370
641
532
765
873
321
82
100
583
390
131
408
982
162
873
362
90
59
79
951
174
541
348
425
138
956
3
943
800
745
731
792
862
488
36
31
91
114
684
138
736
546
884
785
91
804
666
951
372
111
150
275
978
768
286
298
67
493
380
281
70
784
303
36
136
445
80
434
395
743
407
27
745
122
637
952
2
532
774
553
977
480
625
804
955
609
441
843
486
346
386
704
592
811
385
133
793
672
311
497
595
289
252
235
309
785
352
635
259
151
128
733
101
937
186
800
926
1
301
7
721
116
944
225
799
687
145
718
455
112
198
172
294
835
710
736
382
213
839
280
929
146
52
707
667
102
272
590
107
997
907
476
639
622
406
816
605
468
851
156
638
496
9
676
155
202
926
241
99
543
23
271
821
716
691
157
720
33
410
743
569
390
33
934
664
122
591
776
919
472
781
200
490
826
484
185
0
886
445
850
839
235
966
395
216
841
773
830
183
870
383
544
408
234
985
827
365
829
50
305
634
785
46
598
376
638
967
499
539
180
489
181
433
842
868
922
625
805
173
327
784
9
766
882
707
139
976
48
187
419
908
638
486
55
375
192
431
420
397
844
935
730
792
140
537
161
230
253
68
780
612
152
996
592
357
998
4
304
542
888
507
393
535
7
734
609
30
283
213
449
18
756
909
521
721
485
861
659
748
444
482
598
75
472
750
107
859
765
54
18
107
37
333
368
245
730
846
323
523
514
696
105
290
552
393
245
330
992
533
576
766
155
334
113
822
958
965
421
899
252
979
107
597
182
82
284
878
676
264
267
728
51
84
690
716
74
797
53
459
9
637
902
411
435
21
952
599
68
572
875
74
148
839
810
268
930
549
34
72
69
580
704
461
286
380
450
345
55
848
655
367
892
615
731
842
993
859
249
647
382
800
674
388
729
658
586
867
686
999
877
99
663
42
41
667
500
830
776
321
511
37
450
492
422
690
612
631
453
689
204
187
382
418
786
635
797
543
16
777
982
674
40
911
165
976
997
176
390
495
790
431
363
152
160
458
41
337
135
37
595
266
361
629
620
291
472
273
955
150
281
32
520
864
107
471
886
12
838
61
942
333
897
883
691
971
556
19
931
211
969
732
330
905
90
751
812
269
889
663
229
777
982
719
620
465
834
673
936
12
282
76
211
54
760
443
831
57
462
14
468
898
803
968
140
42
648
6
363
198
154
876
722
696
367
916
736
771
684
589
114
731
244
959
670
979
232
495
154
67
560
997
524
245
655
550
309
103
918
502
5
73
742
127
118
654
793
109
122
654
764
849
254
101
228
713
975
12
770
210
436
51
461
180
537
938
940
368
419
15
941
743
299
502
920
865
576
256
19
504
931
695
204
762
692
319
360
784
76
42
957
671
611
186
486
813
307
30
222
138
475
389
93
748
831
716
838
587
743
150
62
709
812
759
462
700
323
523
200
299
350
988
43
156
150
793
228
194
860
312
965
302
628
370
903
907
460
66
518
319
834
923
111
442
942
304
926
441
590
703
978
904
484
234
355
737
573
153
862
559
300
113
981
798
205
897
865
508
738
522
35
365
870
32
548
711
120
330
256
939
315
204
760
650
280
469
645
31
801
756
7
720
106
55
0
863
20
803
738
919
378
827
904
952
596
461
456
746
844
64
330
562
725
737
103
409
394
679
453
606
945
215
851
541
587
740
453
971
579
804
220
45
566
578
727
82
772
848
470
41
114
826
260
849
247
889
431
567
266
275
438
331
478
901
264
779
985
880
585
459
921
27
46
709
820
994
759
666
746
168
288
541
27
588
406
386
224
343
959
34
122
895
920
378
552
789
146
482
884
372
412
592
187
397
763
429
612
730
484
449
314
767
940
230
988
799
222
839
652
787
453
502
829
606
734
363
485
975
865
918
834
93
644
846
636
712
312
336
504
957
282
803
540
838
994
272
775
382
50
630
704
550
267
463
674
957
797
326
469
363
126
387
813
490
4
398
445
462
563
612
676
22
218
371
6
63
458
635
491
713
533
356
342
897
80
386
77
720
372
776
826
442
390
792
577
508
720
537
447
902
782
373
534
197
455
448
659
752
950
674
755
583
331
15
773
886
753
961
875
44
348
267
555
366
857
188
845
167
298
452
989
347
986
592
304
345
626
15
733
688
280
736
240
752
89
292
604
545
342
797
449
326
143
355
816
700
436
580
949
302
512
863
854
267
893
500
403
374
2
822
108
344
669
206
148
474
72
901
414
150
366
599
433
369
783
581
622
475
641
672
607
164
301
649
45
498
5
266
322
784
821
795
15
202
280
940
734
358
460
224
485
191
676
640
232
247
194
85
89
364
548
141
900
555
928
378
303
343
550
355
988
204
83
875
506
2
93
19
744
479
114
501
896
662
936
890
619
561
162
873
215
583
45
928
628
466
457
33
702
622
683
45
965
655
967
676
225
79
671
779
523
791
244
608
33
195
849
541
888
476
844
165
87
264
561
318
976
419
201
388
908
920
635
658
604
793
286
239
510
64
833
468
237
197
473
228
368
235
255
295
748
768
510
270
820
356
950
7
777
59
102
78
949
858
444
704
544
998
160
346
971
171
803
234
488
859
537
858
500
212
818
535
379
824
248
800
408
352
623
462
99
815
883
388
446
998
971
894
817
365
436
64
786
383
412
871
986
922
748
835
908
420
564
116
469
48
681
102
408
331
221
988
673
248
287
676
242
479
934
2
429
111
458
40
464
855
84
302
712
191
182
302
695
696
869
631
339
74
414
787
525
571
15
274
603
199
437
671
324
571
388
83
775
226
542
946
437
445
262
569
693
468
419
8
941
192
187
785
286
147
303
217
134
542
599
244
215
490
50
804
309
170
958
440
29
851
870
115
131
868
822
431
853
276
358
796
249
43
186
61
881
515
520
975
864
838
915
659
198
163
739
97
493
481
565
980
663
878
940
789
592
136
80
685
79
361
702
938
632
598
887
517
821
736
417
694
10
609
743
60
714
527
97
785
898
856
238
501
68
354
696
371
411
714
180
501
140
923
661
272
809
981
144
816
681
258
291
12
156
51
408
919
992
429
107
766
266
664
548
851
729
833
554
825
237
572
719
390
923
724
980
21
581
37
770
48
369
700
821
836
542
343
246
114
138
515
457
797
859
46
33
200
556
872
981
39
0
122
84
59
217
860
852
898
11
373
585
485
353
685
959
377
371
662
541
818
799
814
274
381
863
330
407
382
125
905
663
255
640
110
499
992
502
238
528
746
854
981
777
186
480
787
328
671
631
410
5
120
590
401
585
975
360
380
835
29
680
912
549
556
654
252
344
976
14
412
565
502
757
481
431
561
965
722
75
76
79
5
319
537
191
638
909
607
678
395
18
602
815
948
902
690
171
675
172
642
3
454
688
233
782
884
627
543
787
816
612
146
509
328
897
812
347
530
135
473
717
180
408
188
839
441
264
359
697
255
464
394
855
788
102
949
162
353
294
202
806
461
833
68
785
662
873
651
244
705
199
603
95
964
253
582
706
807
627
493
711
629
768
469
626
917
974
441
459
594
203
734
65
568
230
717
994
316
711
388
899
48
343
480
478
284
142
845
693
124
535
191
817
214
712
136
315
464
96
933
237
640
509
601
447
299
34
351
683
356
600
877
143
376
73
469
373
532
438
729
204
225
619
225
178
585
280
533
257
634
834
48
576
156
739
466
459
644
616
104
663
293
666
494
746
785
116
510
175
996
360
358
775
854
576
340
285
447
115
51
898
123
810
744
882
114
551
841
819
623
484
154
248
63
625
792
342
803
807
917
198
386
507
494
133
532
295
368
59
300
136
850
218
195
524
950
742
527
257
515
558
790
883
94
973
640
990
933
912
500
426
776
428
212
458
483
9
244
614
507
316
390
177
166
519
89
89
848
224
162
69
321
108
739
642
730
678
334
487
666
986
22
823
764
904
431
503
186
233
793
132
401
803
613
942
893
413
510
903
325
808
201
673
71
982
184
663
286
46
969
953
258
267
147
746
793
262
183
994
568
14
570
918
473
249
374
161
276
659
154
994
684
641
409
793
212
147
127
480
391
887
280
65
951
599
74
925
53
245
450
924
195
138
678
463
332
820
697
685
820
570
763
464
41
851
541
670
291
602
494
471
29
102
137
46
75
563
931
388
795
755
346
721
982
533
580
172
203
297
564
101
315
855
361
328
340
746
622
312
57
186
430
660
546
912
289
127
442
747
842
47
834
777
180
569
542
353
613
861
961
544
586
104
776
526
324
314
739
51
964
440
458
377
599
900
826
938
125
91
125
878
39
402
378
586
441
417
150
958
776
998
254
939
366
430
972
284
701
139
867
182
260
898
189
836
99
792
989
387
706
49
76
748
797
519
559
973
103
764
890
674
125
565
936
904
527
814
170
631
513
254
94
830
609
249
611
349
545
46
29
62
410
971
870
210
553
279
307
681
885
148
233
401
183
52
773
890
917
98
723
189
677
836
656
164
189
144
406
448
407
568
924
462
577
690
146
64
38
957
464
10
879
725
763
403
320
300
976
730
568
94
772
71
963
558
876
381
730
562
620
396
782
693
244
633
965
893
983
152
786
314
9
399
886
532
352
629
769
233
363
121
881
449
676
866
231
833
279
980
978
864
964
852
327
309
279
941
902
842
57
41
961
634
92
235
62
540
744
475
385
789
45
352
228
867
578
962
723
445
637
841
545
107
663
947
659
898
48
857
139
568
11
963
510
28
728
170
782
717
437
527
114
229
226
722
342
912
205
136
886
201
384
870
287
644
784
109
700
768
855
801
98
58
936
619
722
473
354
569
724
891
629
211
832
910
282
907
816
620
119
192
557
462
467
86
606
290
556
204
902
915
577
286
966
108
67
143
604
736
605
941
37
644
485
601
721
547
196
986
726
969
161
329
473
70
611
369
247
785
17
819
234
227
366
157
993
95
630
792
228
169
71
129
899
233
229
88
692
154
659
990
227
822
678
184
744
707
501
492
101
199
857
991
762
665
453
955
834
383
401
782
508
884
954
579
576
195
292
586
912
940
915
833
446
130
168
30
344
658
368
908
363
404
602
450
677
234
129
542
734
322
250
494
901
38
419
688
649
745
690
31
523
197
783
446
595
466
697
880
276
56
394
454
566
385
952
672
894
31
711
112
416
242
529
72
309
271
173
360
176
511
387
896
68
69
693
745
118
759
896
692
982
172
674
246
943
162
201
11
29
108
768
969
313
768
131
24
481
985
530
392
194
89
793
760
884
65
269
342
175
714
540
199
572
855
545
357
639
628
824
758
211
693
669
440
120
376
575
836
683
956
80
626
488
728
670
467
401
221
330
921
522
142
852
694
255
573
374
192
125
394
437
313
486
780
157
981
886
225
360
424
715
568
603
648
764
833
482
425
257
457
0
480
599
474
15
146
916
872
387
92
212
413
198
519
213
719
589
477
231
804
9
973
623
46
262
239
238
468
124
324
963
940
48
57
570
544
119
319
151
352
249
921
674
169
144
218
295
796
180
540
515
327
234
269
654
169
284
110
552
836
234
551
578
892
51
156
366
731
629
301
424
43
326
162
523
494
502
565
992
861
733
151
957
770
683
678
878
931
971
634
829
984
426
822
465
941
71
972
140
232
904
891
84
660
878
587
322
839
283
467
848
875
657
44
640
712
247
572
274
309
750
179
217
691
975
258
330
729
386
344
764
813
77
838
266
504
248
371
532
234
233
102
199
225
243
183
785
690
290
53
859
946
194
23
322
368
619
978
777
476
47
286
898
486
407
78
26
955
798
346
472
771
274
306
30
192
766
321
212
56
745
749
3
901
22
14
120
64
649
935
867
852
453
348
767
573
468
781
937
671
303
748
531
519
101
850
710
33
996
368
866
130
2
109
555
301
868
146
471
236
988
931
767
681
38
822
34
446
231
257
239
632
362
450
647
275
297
845
18
624
488
538
294
227
896
36
221
26
423
875
521
64
680
980
484
255
334
588
946
979
638
673
991
778
22
860
204
62
293
412
895
769
886
911
453
296
958
524
433
828
247
290
963
105
164
503
345
201
505
483
241
285
127
778
360
538
756
467
990
828
23
345
828
298
769
76
635
540
522
984
471
942
769
665
399
757
326
867
748
590
89
675
670
104
777
753
977
320
162
909
368
613
984
505
896
753
799
480
794
183
6
904
896
36
57
719
811
177
226
19
491
685
852
341
611
729
379
835
247
455
928
700
603
913
667
56
792
171
192
20
714
757
606
295
425
660
223
410
910
621
640
367
219
974
767
945
457
701
34
604
655
286
645
17
354
502
237
46
56
237
596
254
729
643
255
358
49
414
908
892
619
687
394
207
262
868
188
899
282
127
800
690
359
481
691
619
708
698
23
815
157
227
2
433
174
301
552
958
498
613
993
446
81
811
670
944
628
91
431
695
822
737
595
911
12
531
785
218
883
264
616
564
88
534
924
659
626
210
798
80
124
574
627
184
393
343
274
946
432
922
446
946
718
745
630
849
232
353
805
524
496
493
784
994
807
843
76
478
38
328
767
586
851
340
760
946
336
492
441
219
391
886
722
36
735
26
62
258
65
306
726
908
42
642
385
353
27
282
786
42
721
273
163
693
355
172
702
867
104
166
477
465
856
998
418
96
103
339
760
741
243
552
194
713
398
597
349
137
17
851
736
584
363
90
460
883
203
568
922
79
235
42
522
21
939
988
441
406
694
285
874
154
209
743
845
632
24
380
187
251
416
615
60
368
70
117
381
124
112
144
75
698
14
447
117
231
622
908
453
64
781
489
926
623
672
316
890
664
222
236
365
21
475
672
430
548
807
382
665
549
233
100
894
64
427
457
938
573
131
540
825
372
336
282
218
620
814
38
92
188
210
280
316
36
880
266
782
548
579
791
843
411
332
472
948
859
202
340
368
92
914
125
855
994
77
412
894
926
617
832
188
997
97
885
972
767
562
938
22
352
361
937
826
958
566
830
794
819
894
461
755
571
524
991
371
150
423
123
353
410
330
207
790
98
220
321
912
693
346
343
856
186
369
962
523
583
31
134
245
838
92
249
213
154
419
635
378
819
480
837
847
795
590
334
28
523
415
245
880
146
785
116
729
412
970
88
260
978
807
508
131
389
675
38
992
426
3
779
981
823
930
893
933
133
774
239
414
442
666
159
735
404
637
892
194
787
734
378
181
492
870
987
241
201
901
738
696
414
364
886
788
285
191
859
210
479
981
305
920
187
962
938
584
320
960
295
528
12
840
641
570
341
148
936
922
568
430
16
636
161
249
369
210
221
277
482
362
5
251
452
818
168
536
563
365
669
419
225
598
313
356
732
931
662
422
517
79
68
429
494
382
444
474
666
569
890
758
364
43
390
157
619
377
874
299
87
580
458
791
985
284
747
35
814
142
755
82
579
612
102
837
245
303
298
814
236
67
36
903
34
969
278
725
473
648
891
557
162
508
926
46
139
38
89
731
601
269
550
888
599
317
772
856
8
344
952
36
109
803
458
390
661
108
467
429
135
62
641
193
925
361
52
656
151
289
693
900
263
744
969
796
938
787
733
813
855
442
984
805
566
502
223
730
917
494
835
2
619
134
343
865
5
595
585
844
907
55
273
273
75
69
832
761
294
506
582
162
902
776
812
252
711
581
107
982
503
753
1
710
428
671
344
72
671
467
700
996
905
201
676
552
57
97
914
40
791
588
76
588
380
235
608
802
317
192
430
327
25
447
679
585
372
62
64
489
200
54
332
717
627
721
918
2
460
527
679
922
931
18
640
196
207
361
653
523
509
811
451
683
895
339
271
33
299
633
10
824
120
722
385
500
347
419
252
437
781
874
550
425
253
353
369
796
283
865
405
139
465
153
227
8
712
531
456
142
182
516
13
411
105
444
818
620
332
982
310
773
855
110
156
699
823
862
863
912
533
983
344
790
541
683
674
57
913
348
695
535
534
741
99
834
502
694
503
88
723
0
833
243
861
175
545
856
734
698
96
756
94
147
849
411
585
778
945
610
554
144
224
582
595
808
18
543
36
133
95
957
578
839
396
554
226
999
213
758
301
893
116
988
549
551
900
487
665
554
811
30
770
392
77
7
178
544
760
642
21
173
128
967
490
410
535
893
980
678
420
665
342
409
89
245
713
909
328
130
235
898
449
107
345
151
500
534
963
770
429
948
257
824
358
991
625
750
902
804
38
249
476
168
549
471
27
527
604
248
501
523
457
362
883
630
960
268
650
385
728
883
957
696
574
128
749
56
144
786
251
893
374
450
437
931
3
936
45
982
674
309
767
799
339
607
789
556
633
469
595
631
0
586
818
734
593
204
322
70
451
686
45
131
641
632
248
585
731
860
580
525
941
264
37
61
799
52
921
719
107
218
47
256
69
362
632
987
37
641
859
80
41
475
240
414
732
877
432
19
885
263
323
462
55
17
862
553
65
172
631
583
613
984
848
532
452
696
274
484
863
35
612
239
728
18
924
706
384
509
164
35
688
301
985
248
261
732
449
757
884
954
449
280
768
260
133
936
572
129
785
937
208
912
404
349
957
924
688
908
145
664
636
588
889
91
603
55
232
866
668
903
773
233
681
580
734
132
368
795
782
21
400
325
214
12
643
777
645
515
620
266
83
573
636
571
677
601
29
914
739
646
425
177
314
230
274
894
563
508
132
180
747
221
880
965
847
395
242
863
167
894
644
155
209
255
10
359
962
304
92
168
762
616
435
121
273
483
950
499
318
243
654
467
353
639
846
753
789
392
533
850
904
634
16
184
167
321
75
184
593
359
55
220
383
4
47
919
979
75
71
988
460
140
544
560
112
453
807
995
87
494
201
54
144
421
560
514
559
602
295
455
928
233
183
313
77
8
77
116
118
219
183
530
533
774
102
435
158
337
789
229
493
222
677
72
961
658
447
598
586
993
959
787
491
487
572
403
34
644
6
883
671
173
244
853
629
561
917
909
977
262
161
810
648
789
551
632
463
207
194
778
856
918
539
504
372
411
220
425
449
938
91
273
34
698
290
829
797
163
31
38
85
340
640
652
539
366
982
423
106
377
795
459
790
498
947
832
886
298
27
847
29
340
420
844
660
817
82
838
174
228
923
828
52
221
612
631
893
860
559
723
735
971
675
952
587
805
341
393
952
456
931
608
818
725
709
614
776
65
715
363
664
859
417
778
113
842
714
585
441
738
159
827
511
134
162
237
827
88
557
591
366
650
656
798
108
645
530
780
969
723
673
262
474
181
599
296
22
387
764
384
555
904
594
160
897
768
471
239
789
597
316
973
553
723
906
651
367
633
799
734
810
609
42
606
113
50
635
201
979
975
738
699
754
868
100
265
950
6
611
626
597
934
248
0
96
184
570
929
569
417
838
865
203
82
787
899
541
635
379
592
667
154
80
584
102
900
257
682
700
482
332
307
980
105
442
620
960
744
230
889
874
571
128
512
914
954
446
269
142
885
690
643
319
312
804
689
0
338
975
939
271
766
811
246
131
126
720
979
815
693
703
984
296
690
878
87
768
13
198
668
58
859
167
734
457
720
433
592
388
31
979
89
315
186
778
902
516
656
138
196
71
880
475
970
714
952
800
449
847
86
360
643
403
814
428
132
926
645
753
60
533
249
323
699
137
704
231
948
573
296
384
901
146
84
154
158
107
80
978
469
267
981
932
205
316
928
15
873
72
850
681
998
853
308
149
497
143
312
97
612
60
395
185
178
808
559
126
670
197
525
763
164
180
443
0
52
89
952
944
619
400
979
469
908
810
552
884
633
759
654
675
162
175
641
215
616
109
142
100
564
561
275
761
588
131
483
614
696
738
297
146
919
686
276
877
532
170
922
631
597
646
278
695
44
527
298
818
876
568
804
6
222
528
103
501
727
108
494
664
353
164
185
950
760
368
731
140
390
38
248
380
821
525
525
601
877
440
717
208
557
407
701
369
29
806
393
177
706
315
783
514
209
636
784
385
308
23
197
3
461
696
151
387
155
555
571
193
85
17
946
292
935
537
417
793
987
254
168
14
467
413
887
409
295
141
786
186
602
462
137
488
64
193
792
341
621
539
439
438
678
503
788
648
946
708
235
487
410
668
928
526
48
150
581
103
723
586
583
793
654
979
123
437
637
197
829
877
49
445
451
53
32
208
498
975
662
404
13
666
284
339
303
138
654
858
454
544
784
770
188
965
124
996
992
383
403
232
111
267
89
212
302
763
34
488
640
128
873
261
521
564
284
352
195
568
736
536
353
608
47
465
561
300
559
900
829
862
715
312
815
937
813
821
502
648
639
25
744
148
489
10
69
391
210
560
174
564
782
827
459
76
572
387
4
659
347
24
656
283
191
72
398
395
284
249
323
931
877
734
252
126
995
290
125
349
549
833
273
876
637
432
229
901
461
66
559
483
58
665
454
680
817
624
188
242
13
856
138
418
258
409
911
457
539
206
925
345
145
485
313
458
95
748
125
532
382
54
958
626
144
387
28
449
794
122
688
855
418
548
288
280
254
745
501
208
977
541
77
22
400
473
912
9
676
528
183
931
872
873
209
321
3
728
347
827
968
560
187
301
845
713
224
596
176
887
693
514
139
417
335
610
708
124
55
859
845
614
290
605
171
115
411
150
917
254
398
561
404
826
199
934
541
144
686
28
662
616
986
588
647
378
860
91
700
256
716
684
753
900
374
787
267
631
996
848
78
132
54
470
852
6
709
891
166
445
660
248
821
137
129
67
310
317
760
77
686
449
163
129
852
502
425
732
17
770
161
145
346
885
667
797
518
937
857
728
676
562
567
779
889
230
322
294
5
540
152
71
44
773
617
235
856
581
423
361
55
831
645
27
246
397
361
814
434
466
662
933
710
683
550
250
820
21
548
713
118
63
390
927
63
760
968
109
630
692
470
156
49
585
938
688
902
836
290
13
323
634
688
973
278
991
107
373
652
227
195
520
221
628
757
737
990
347
962
806
793
241
848
225
643
326
621
268
825
638
994
952
10
831
973
941
830
549
888
483
335
684
277
309
962
767
412
727
939
202
628
500
965
696
804
121
512
897
681
154
95
328
801
201
458
472
975
119
201
497
692
497
906
564
253
839
117
588
168
921
887
505
359
834
819
245
607
667
426
992
690
187
634
239
49
153
339
579
546
745
657
506
792
510
791
442
5
797
453
769
658
684
69
7
179
749
771
793
358
251
414
610
408
636
505
477
725
461
925
511
944
731
850
984
717
368
513
516
839
782
446
650
226
236
832
576
747
709
69
201
6
31
550
210
758
485
69
236
814
437
872
498
971
998
619
533
605
360
938
946
103
786
300
304
353
980
273
878
184
836
607
233
888
570
100
70
45
119
543
289
680
60
693
91
191
299
787
874
199
379
495
59
466
709
300
403
333
647
854
349
758
236
939
559
497
82
171
825
488
530
651
381
753
247
530
513
729
232
481
535
150
7
42
347
914
472
558
57
444
483
874
355
583
414
246
475
492
686
573
823
273
5
850
677
326
492
185
231
820
43
1
72
140
199
675
690
261
693
402
209
530
147
900
419
608
324
587
989
485
441
288
734
205
327
59
218
534
266
785
161
182
429
243
628
384
346
113
700
48
355
732
996
118
843
248
171
603
289
437
558
192
569
315
955
955
716
480
414
187
2
398
561
757
560
568
339
969
264
781
984
866
643
751
585
402
99
733
955
656
14
728
160
402
91
308
190
167
807
623
380
719
863
187
758
234
929
965
499
346
427
693
549
920
332
977
263
732
947
223
803
370
824
704
543
31
494
420
878
276
924
934
41
95
200
458
906
486
437
68
616
47
805
352
397
888
355
743
775
352
967
787
488
151
53
438
66
948
653
935
632
494
767
300
342
774
841
630
695
301
775
225
985
522
979
446
626
543
410
106
431
47
950
465
644
351
634
766
982
155
775
747
490
683
453
801
186
174
668
193
616
159
0
11
85
492
28
111
262
928
772
657
379
577
218
3
329
593
951
986
80
409
729
910
770
642
683
282
33
839
567
676
571
737
893
690
822
179
598
254
536
76
238
587
28
767
965
409
583
986
11
466
413
245
446
341
39
654
205
568
553
628
628
852
174
948
57
260
274
287
497
588
105
967
898
413
971
523
223
997
264
675
726
954
280
733
694
67
386
678
608
806
941
678
341
45
925
275
919
382
450
125
305
346
735
164
505
390
896
196
853
649
538
335
10
711
294
760
998
9
266
164
269
407
79
387
179
961
265
106
150
307
933
795
797
447
47
803
985
209
404
740
224
641
202
354
944
267
687
388
785
541
65
719
281
827
907
225
92
214
955
692
354
123
163
569
993
744
749
718
855
885
932
400
617
884
180
239
916
470
925
151
448
62
8
547
407
515
295
862
375
336
893
798
552
375
66
672
328
103
348
558
325
350
291
474
28
755
802
654
335
518
704
306
886
422
626
512
943
156
867
908
967
469
184
727
923
668
440
640
280
335
400
220
155
385
607
920
145
98
291
956
565
702
780
625
6
592
965
383
727
580
922
906
362
623
23
678
837
378
727
252
561
529
605
706
367
745
105
677
177
697
826
68
152
141
358
444
108
510
700
534
363
627
623
285
791
800
203
52
970
434
788
796
254
873
319
757
747
177
439
584
798
869
290
737
574
272
90
684
952
469
37
739
166
176
119
850
765
733
389
591
537
569
190
262
864
584
467
980
359
758
274
687
728
285
945
791
562
92
855
84
361
518
640
645
962
86
190
553
221
852
28
581
979
420
196
414
279
74
365
512
259
277
704
393
733
371
535
592
7
234
213
118
982
289
524
387
572
260
891
925
730
172
986
197
6
346
185
50
208
978
185
669
146
640
745
775
113
518
357
586
762
792
861
785
926
720
644
942
963
529
721
859
275
269
455
381
486
621
920
216
808
195
825
268
556
580
271
150
202
658
60
686
355
692
711
143
33
115
933
154
331
585
149
847
548
699
86
681
331
935
904
882
645
649
609
690
175
448
854
632
252
133
644
814
621
797
791
412
371
712
154
552
333
56
291
938
898
108
52
457
931
429
529
358
907
54
237
331
836
761
931
664
993
803
167
294
493
787
588
425
462
268
700
324
828
320
391
853
268
493
771
735
913
580
971
265
468
360
368
845
305
33
946
372
223
682
645
753
936
692
310
731
204
854
612
464
743
727
463
827
72
559
174
466
388
765
483
74
508
998
342
447
728
992
109
433
170
588
854
774
908
827
116
373
277
627
995
664
849
310
802
812
377
557
204
771
426
89
206
713
19
408
552
477
741
45
252
999
448
969
939
926
577
158
691
786
41
538
296
11
847
345
153
653
575
260
29
822
649
570
219
329
939
200
837
283
131
610
365
433
685
190
358
862
195
575
156
586
113
202
12
162
136
833
506
810
808
358
523
559
871
828
890
307
15
576
420
312
970
253
445
258
457
461
397
282
119
631
88
27
987
961
703
161
701
627
420
994
685
54
411
77
999
875
965
196
90
577
678
284
651
386
796
578
722
738
129
828
515
463
619
299
879
904
357
310
273
376
167
631
941
206
657
887
11
108
820
483
859
178
50
34
220
684
168
318
692
636
610
841
226
68
585
165
154
470
593
74
732
981
420
507
989
810
158
349
702
179
403
517
886
68
743
131
189
827
331
409
970
798
84
749
26
817
119
429
102
987
656
723
732
266
238
9
467
911
773
33
158
306
137
670
203
963
618
950
826
551
110
895
708
367
34
403
439
21
745
294
931
515
235
803
612
462
512
867
786
830
489
492
267
327
536
340
414
857
953
958
360
496
895
949
418
478
817
122
775
198
652
733
483
272
298
712
262
618
693
830
815
420
894
738
213
631
160
945
789
899
319
208
815
368
624
566
471
351
77
622
491
945
180
673
294
12
322
712
247
184
169
831
424
799
419
385
86
760
959
384
47
283
330
573
681
446
861
451
196
561
184
922
919
410
868
713
399
303
744
652
32
349
745
369
563
344
242
632
484
193
234
764
887
758
876
602
569
723
456
508
21
283
565
303
212
143
715
533
16
790
275
531
344
116
524
645
104
927
78
634
903
326
820
481
329
180
327
393
556
576
571
135
762
165
221
476
547
716
432
546
233
199
582
552
609
848
105
305
340
145
328
98
360
506
633
723
743
836
247
927
545
752
36
452
990
726
853
151
458
66
711
465
548
423
818
942
29
555
663
78
220
307
323
144
734
649
204
204
57
745
889
914
81
739
591
581
652
359
124
75
230
160
801
576
437
851
752
743
974
710
932
46
642
962
845
663
603
523
928
311
354
163
601
526
780
381
465
298
526
994
202
694
523
921
870
382
288
86
512
16
395
727
576
359
198
903
703
45
411
945
937
35
248
427
18
3
201
179
769
625
188
878
632
456
819
571
281
700
370
540
186
70
531
801
476
691
112
415
665
707
520
188
203
128
226
422
272
755
531
97
547
153
184
133
133
181
888
384
786
226
510
489
278
158
474
365
146
380
705
990
755
502
355
209
445
908
786
396
7
449
921
36
704
926
945
867
866
475
356
48
913
21
564
612
541
28
144
16
497
18
17
610
139
932
230
663
677
49
338
327
695
299
642
592
519
325
853
751
24
528
604
890
318
88
120
436
975
421
324
425
316
37
812
693
815
114
196
290
304
29
882
95
535
716
999
384
519
35
883
154
976
22
359
209
126
4
592
359
390
397
218
564
876
627
335
279
337
550
598
624
252
743
76
499
292
239
367
34
490
396
694
619
830
116
833
413
310
624
375
529
746
656
700
894
590
277
974
297
814
284
634
749
218
414
342
468
720
851
19
583
655
826
390
252
643
294
278
229
705
140
426
27
330
781
802
723
367
851
49
882
747
63
958
333
888
512
204
570
33
934
783
847
862
555
945
205
560
928
877
882
218
560
360
908
417
819
802
618
508
851
351
241
776
637
891
208
829
700
312
311
530
696
416
61
981
660
19
141
534
382
853
916
959
681
417
790
840
281
225
454
874
842
441
711
76
488
366
500
433
649
667
138
415
46
905
904
213
94
436
797
465
301
346
721
118
957
688
780
668
118
335
320
820
355
27
586
922
931
73
665
678
688
55
272
754
368
899
888
972
405
562
401
130
980
20
430
536
704
836
855
95
334
47
364
770
782
450
841
788
464
400
351
293
210
121
594
182
138
790
526
617
891
163
488
504
535
642
513
267
177
673
415
954
267
279
629
444
228
298
983
692
855
898
768
897
969
720
597
214
991
232
712
534
566
233
775
469
208
223
779
904
420
512
60
35
317
586
216
674
365
257
89
56
844
392
412
936
473
331
961
900
453
886
846
145
149
565
793
304
671
809
891
377
99
206
94
82
135
239
412
929
800
988
414
973
410
505
883
789
393
799
584
116
729
232
920
927
551
655
179
499
17
441
227
220
483
154
576
330
560
719
346
51
209
506
711
563
738
834
454
587
961
412
816
53
323
364
964
48
330
100
173
156
574
268
732
940
279
288
68
393
551
395
808
813
128
123
104
408
516
150
193
222
656
798
164
487
459
515
178
469
835
284
16
260
866
964
49
911
603
534
101
638
542
24
314
916
661
986
947
106
985
205
52
569
536
910
675
481
765
316
761
747
127
211
622
21
893
348
595
550
776
77
492
960
341
113
618
331
113
477
371
105
344
413
372
822
952
241
687
213
670
210
546
521
345
237
735
385
708
247
60
438
579
305
450
885
950
151
807
755
824
813
615
502
6
592
340
94
126
26
471
487
953
316
233
371
356
308
258
962
195
892
288
622
803
725
606
190
23
582
382
614
866
659
217
555
557
704
739
241
762
858
391
573
851
264
158
240
274
174
517
327
768
520
58
713
502
260
818
1
41
366
870
98
453
34
776
581
344
269
931
273
946
470
171
103
448
565
272
772
61
411
248
92
621
591
764
189
405
644
129
691
778
663
229
983
132
838
651
827
841
222
161
319
83
769
230
634
782
24
814
248
690
775
87
472
940
997
160
699
175
562
551
319
91
926
766
48
925
790
569
154
961
19
446
663
112
942
583
574
301
11
638
944
59
299
721
147
720
341
959
574
379
957
157
32
815
702
593
852
59
463
843
908
77
317
682
478
321
139
357
526
987
583
673
145
437
169
433
57
468
195
832
818
650
949
163
12
679
323
576
320
801
511
291
603
592
679
862
371
508
243
570
930
634
897
184
236
36
347
971
317
385
288
39
357
34
113
360
330
16
324
729
179
325
327
321
287
441
349
552
474
985
53
375
35
943
833
77
227
46
806
61
899
867
952
251
319
53
816
328
9
736
447
73
581
886
179
532
486
677
379
28
665
553
112
54
846
775
714
313
414
501
500
189
885
243
637
444
118
336
35
100
458
172
223
18
531
13
841
503
610
832
125
638
114
229
353
556
666
135
528
376
121
971
613
41
284
127
809
458
283
522
237
263
322
842
869
71
851
681
826
453
750
288
247
468
154
362
94
809
925
862
325
341
159
830
944
679
115
771
931
488
496
739
149
594
376
59
475
964
510
860
739
705
732
190
601
901
764
363
904
960
153
54
409
467
117
957
599
643
154
57
890
76
380
303
695
275
206
820
990
517
808
723
605
711
329
138
143
543
243
156
243
820
625
332
303
47
238
910
687
825
149
65
681
404
36
892
799
332
562
418
450
133
481
857
624
651
678
966
746
891
784
472
985
1
167
192
904
853
333
113
146
664
866
217
673
929
720
973
331
766
370
842
596
269
726
651
898
475
741
79
88
240
73
392
153
163
477
78
241
484
797
20
734
792
413
795
52
41
974
927
350
747
837
831
231
950
886
188
776
373
62
218
175
608
755
119
194
144
393
197
950
460
91
337
384
102
530
65
833
235
938
494
464
609
216
595
451
785
72
216
710
891
669
108
481
517
678
541
481
415
759
27
359
172
920
469
152
129
383
846
248
537
528
934
197
601
627
162
762
606
297
743
973
141
661
603
640
487
430
848
409
125
354
129
378
149
529
786
562
877
941
882
58
535
879
290
974
382
495
256
257
604
512
831
459
997
319
130
438
861
573
729
123
120
411
225
762
962
629
758
897
688
873
483
277
803
64
267
543
57
735
540
640
28
642
664
73
878
611
461
411
197
319
14
212
434
493
451
254
357
139
299
481
586
210
194
815
584
377
767
809
762
520
768
958
811
962
973
233
65
660
840
89
713
817
978
891
431
172
782
183
430
276
924
797
305
104
528
597
716
63
294
626
934
151
738
418
716
159
381
860
302
572
773
361
790
543
468
694
276
752
320
858
817
487
122
874
633
273
880
156
707
212
375
27
265
976
657
216
650
403
43
734
700
614
130
802
469
778
743
308
363
906
164
188
500
182
663
992
786
70
977
924
166
819
171
86
923
901
4
41
759
837
774
678
390
302
58
60
746
961
738
721
510
170
810
445
461
901
910
134
346
857
386
457
167
919
563
897
954
960
249
537
660
817
357
702
921
392
675
536
911
58
915
450
854
239
303
748
972
423
572
184
788
309
216
409
246
97
808
452
964
224
79
769
454
725
437
768
337
834
448
784
243
951
387
584
580
620
978
255
329
74
2
751
621
62
564
752
232
723
518
925
480
323
51
425
869
746
235
826
890
742
909
281
395
108
528
963
108
261
377
55
880
397
183
475
761
727
532
842
825
424
516
54
289
774
196
647
383
55
258
210
298
859
564
23
208
175
219
974
705
374
379
747
672
787
773
684
56
176
931
858
880
910
154
483
343
583
416
326
218
867
933
709
322
936
870
866
469
469
328
380
674
38
75
253
872
317
477
371
80
373
531
10
258
794
863
848
790
987
111
105
774
209
762
870
935
211
204
412
482
352
443
749
50
128
9
531
858
781
495
444
193
446
623
590
251
663
568
246
43
87
605
842
980
553
364
9
26
663
59
808
47
144
970
487
266
468
321
741
701
891
170
525
436
748
418
812
256
511
536
202
59
941
499
495
129
651
629
554
939
864
563
665
722
820
653
237
577
534
211
170
300
849
825
394
661
974
501
113
24
529
93
296
162
565
56
607
993
113
130
500
900
507
793
711
645
676
748
341
37
415
517
605
300
320
300
66
85
565
780
231
76
108
999
489
12
796
441
694
846
509
897
845
43
513
447
776
484
180
618
105
817
854
516
660
361
681
704
289
178
199
169
48
834
641
786
134
543
6
79
848
403
395
625
39
364
380
210
356
806
141
506
815
197
941
79
999
839
913
816
596
520
797
99
840
266
322
476
495
525
283
636
384
996
528
910
97
243
800
910
931
620
309
995
118
410
270
207
764
63
835
283
811
816
405
810
802
503
831
46
704
49
927
983
800
882
961
873
805
391
117
635
608
535
646
77
553
494
413
185
612
202
271
811
637
167
717
263
437
826
168
607
979
183
550
487
644
822
809
15
295
721
482
298
12
733
175
107
44
120
335
554
383
541
795
77
617
278
405
128
103
284
702
305
110
361
697
402
526
747
907
990
552
953
858
192
449
495
277
329
458
623
235
138
489
503
330
37
559
198
9
194
599
356
887
46
530
3
10
549
382
991
398
581
675
455
720
630
613
448
22
392
936
696
666
935
774
423
238
854
517
922
788
735
881
138
472
299
440
163
47
280
581
508
989
370
122
886
1
915
732
236
248
225
971
920
732
23
26
256
197
384
266
821
595
59
774
756
497
989
208
354
280
206
521
83
455
952
851
227
473
588
569
338
167
272
296
514
745
278
348
515
984
659
923
194
227
121
324
339
703
139
392
906
139
426
772
281
17
451
977
579
894
522
682
553
540
219
443
656
126
768
801
927
462
507
662
242
859
846
897
470
319
820
343
484
667
4
861
961
746
672
220
183
525
237
719
476
500
857
748
570
87
855
732
963
95
624
332
929
27
236
383
79
387
955
957
366
104
660
804
284
965
859
789
164
810
349
926
566
401
102
591
437
777
582
875
6
292
200
356
348
795
406
548
454
497
753
682
347
794
523
698
212
130
626
309
207
81
731
757
534
566
506
435
506
475
304
651
457
872
664
538
648
514
169
844
828
222
268
995
798
434
474
432
892
695
15
929
418
705
683
224
16
338
789
632
293
115
919
439
39
213
753
207
905
391
184
64
802
402
763
150
838
129
435
932
326
963
649
353
890
867
570
699
623
537
193
501
848
948
240
411
247
83
957
920
732
708
702
523
839
374
639
605
706
864
975
679
223
657
264
296
681
193
68
977
91
332
567
986
893
24
707
729
678
60
590
125
998
561
759
623
294
899
37
950
117
247
872
569
98
494
262
331
316
280
18
147
18
836
625
771
763
143
226
969
359
203
685
505
921
698
336
589
18
732
431
503
965
630
678
86
276
480
639
800
241
637
689
685
536
266
929
837
686
929
713
209
4
728
321
851
433
768
175
476
912
430
366
113
371
969
699
123
366
240
272
936
95
798
819
839
887
818
277
438
161
992
519
821
35
120
556
482
405
166
833
505
167
965
523
757
46
775
476
372
842
966
845
355
70
398
424
531
229
670
362
271
219
612
656
805
191
276
198
330
131
558
435
316
944
499
436
67
983
718
824
349
746
510
686
12
672
937
731
662
79
806
731
843
711
269
151
409
685
469
945
576
835
890
884
876
67
788
384
858
524
904
378
644
655
372
279
886
201
984
887
904
698
200
239
400
856
732
407
741
66
674
670
384
703
201
680
604
522
798
651
472
699
515
37
366
12
933
283
767
227
762
923
50
846
140
462
979
736
611
697
373
490
52
944
261
812
552
983
627
227
718
170
923
244
179
861
886
889
314
836
329
708
88
47
765
352
687
91
804
144
183
611
911
929
900
230
285
478
770
488
184
317
395
900
149
592
547
412
107
927
457
13
531
991
71
402
544
869
648
73
907
656
86
863
854
860
251
7
396
21
949
676
89
224
278
503
884
491
37
28
335
436
120
194
809
200
214
734
512
374
758
720
250
70
4
610
313
78
698
636
469
129
534
608
542
976
415
556
248
602
133
985
119
923
652
803
85
578
506
573
468
488
783
462
622
887
248
557
110
112
988
966
345
648
888
254
206
168
923
145
438
750
382
343
439
220
6
689
110
962
19
819
43
235
970
916
52
168
304
765
828
979
703
892
852
760
813
642
336
350
891
356
216
697
877
995
86
23
793
168
450
815
279
325
796
694
87
434
327
645
28
215
593
306
826
747
555
359
825
832
209
345
363
109
63
887
140
532
23
268
809
111
916
202
911
19
924
41
273
812
329
689
398
673
425
239
973
780
438
136
948
916
20
485
955
415
389
870
873
761
32
290
253
328
690
836
51
11
87
673
450
225
385
977
46
484
451
719
757
594
504
289
203
153
968
420
135
800
563
3
954
568
17
874
679
368
424
666
598
784
300
839
653
266
754
837
120
581
892
121
508
454
896
826
693
456
503
7
482
720
907
823
186
794
466
367
441
519
454
914
739
51
556
364
523
360
696
411
410
525
955
684
770
419
937
993
421
408
606
788
651
604
529
53
706
226
995
675
868
580
616
722
995
647
634
9
453
422
221
690
46
993
592
993
678
950
944
27
349
596
783
102
874
95
911
331
822
620
912
505
967
85
602
164
771
167
834
750
988
991
201
370
245
423
815
534
961
861
266
478
890
824
431
8
262
514
806
582
212
213
748
509
462
805
967
596
949
94
709
694
843
782
832
99
85
127
631
629
221
64
532
880
290
670
472
583
752
436
602
451
723
888
233
637
940
485
334
594
397
217
538
676
797
457
874
660
496
377
4
952
504
978
765
196
990
613
408
39
477
970
678
253
912
105
611
538
88
554
864
33
467
528
258
135
268
769
708
76
977
462
614
920
707
633
410
76
152
731
360
207
185
222
58
486
822
38
564
390
208
747
584
382
836
438
462
255
509
645
262
173
498
336
372
565
89
780
934
824
204
77
353
829
802
247
400
976
645
599
345
753
253
590
254
613
934
638
795
110
954
671
688
903
24
946
832
470
313
768
681
833
612
285
566
115
60
731
406
212
454
717
120
304
891
942
179
414
4
414
984
492
670
312
780
513
549
498
6
833
904
68
52
318
949
688
985
929
671
824
96
154
259
484
71
15
756
588
699
606
883
655
301
974
308
145
840
155
245
36
542
757
508
774
68
884
49
25
104
500
553
171
686
27
874
394
696
159
558
664
381
488
429
938
232
996
556
141
857
930
232
228
12
30
138
362
705
54
586
352
136
412
138
256
128
1
982
839
679
672
250
386
137
47
477
994
196
842
406
67
165
367
292
216
257
59
494
416
259
956
102
128
473
709
894
240
678
584
547
144
165
881
962
237
881
755
696
583
12
258
408
950
414
14
535
784
189
328
996
518
293
356
366
243
976
180
152
96
229
239
890
49
872
893
507
48
861
552
840
733
955
52
196
170
499
70
317
51
491
10
309
828
863
11
446
855
428
401
710
456
66
645
953
246
320
93
125
468
766
613
395
722
605
838
281
621
978
303
155
624
85
355
870
314
452
426
639
511
931
798
905
800
355
288
21
415
312
865
594
290
0
187
201
599
48
616
743
45
670
108
848
310
517
216
583
819
413
517
803
702
179
65
110
229
752
639
969
627
676
846
888
889
684
392
624
663
640
914
720
154
844
253
249
808
694
617
726
789
299
187
489
300
961
915
928
545
253
717
933
612
5
745
54
142
501
375
85
31
420
430
888
996
256
308
172
182
560
731
457
5
23
418
85
937
168
139
892
290
849
279
422
983
215
174
645
567
914
656
36
806
962
979
483
399
843
546
938
224
972
231
305
537
902
133
992
110
870
861
256
814
211
439
701
417
924
939
424
174
297
616
975
7
975
741
511
648
568
55
641
907
334
568
83
373
24
457
116
608
308
808
395
187
111
519
584
322
917
219
450
939
631
446
207
704
655
775
457
892
829
653
52
249
617
108
721
101
797
617
439
860
146
774
733
506
9
492
702
137
655
410
811
25
672
791
564
909
292
746
47
588
53
237
360
758
15
638
593
190
958
476
469
557
515
710
605
245
335
479
412
178
427
890
473
740
878
539
858
309
949
775
621
366
963
417
456
757
824
930
594
962
214
978
984
514
72
75
465
258
131
628
359
544
798
492
26
694
199
138
459
859
290
500
45
722
179
186
819
2
194
886
682
277
43
542
708
830
753
207
833
299
775
390
495
974
911
702
139
865
479
663
355
475
545
515
575
354
554
932
646
564
331
401
450
714
796
511
770
237
103
596
46
316
682
652
817
153
924
179
156
412
540
225
873
706
738
283
129
663
722
442
5
579
880
823
569
216
189
864
53
706
724
739
398
565
956
63
355
901
371
455
190
115
222
733
583
355
838
889
547
516
337
914
623
286
87
262
789
757
205
390
746
457
65
326
751
372
363
500
651
876
259
500
503
17
349
465
872
499
791
745
466
871
584
249
785
268
884
863
849
276
432
697
658
871
652
314
465
241
585
913
714
86
637
553
469
797
53
164
976
508
271
151
188
537
105
740
449
858
785
666
467
287
933
704
764
260
388
611
448
127
896
876
858
618
692
802
616
860
242
672
528
352
466
222
599
764
610
649
422
721
836
832
815
30
369
153
246
474
247
669
512
967
787
863
232
894
858
533
697
766
333
563
396
120
929
562
873
261
32
989
457
882
783
782
421
556
485
890
636
779
604
208
828
449
546
875
43
107
381
58
11
794
107
492
599
569
71
651
502
237
218
184
369
183
865
202
562
12
161
91
589
723
468
547
502
623
116
336
664
406
547
765
284
425
896
308
89
739
340
285
388
676
52
456
140
4
211
488
339
956
829
224
48
107
193
491
573
769
885
293
917
65
50
995
264
650
805
642
201
997
801
203
455
181
906
656
399
370
307
575
630
39
635
609
275
246
844
60
950
384
847
624
627
845
748
85
857
269
622
768
82
523
761
733
935
494
408
307
472
197
594
832
9
137
904
421
194
696
252
939
404
464
788
895
377
222
291
878
309
598
278
672
479
592
170
167
796
858
913
742
453
572
80
320
964
112
275
900
133
637
130
743
948
329
997
677
762
664
16
760
2
310
45
502
396
367
117
772
301
527
475
465
618
803
851
301
896
305
179
778
19
797
939
835
411
175
923
978
480
162
590
481
759
741
114
255
345
501
6
920
376
428
454
939
223
52
332
2
39
623
276
36
950
96
556
466
304
435
550
440
439
729
336
419
993
571
727
114
431
205
698
113
353
60
992
493
329
452
990
372
241
335
801
86
572
672
847
595
91
62
199
936
773
615
738
67
809
961
132
666
521
912
445
858
13
405
450
528
949
947
567
631
395
806
717
402
167
706
176
55
52
998
708
860
605
303
891
181
755
3
837
406
666
619
133
692
596
556
890
346
741
713
659
426
209
305
732
932
56
570
971
177
919
792
601
310
909
503
973
528
592
693
606
199
535
888
454
158
967
308
901
348
484
965
709
990
761
429
838
719
147
125
45
210
125
647
347
310
33
905
727
338
472
433
127
365
935
317
612
736
243
369
157
385
774
344
770
3
928
16
149
904
992
919
213
646
967
76
991
471
528
525
97
685
478
699
244
581
427
806
892
287
784
159
751
983
714
218
633
418
695
14
636
714
991
118
835
519
788
197
737
723
705
257
908
383
145
768
53
949
989
649
863
710
276
457
886
136
856
910
821
476
512
71
999
824
532
838
551
310
228
76
632
89
646
845
809
475
869
290
9
725
20
682
563
433
486
822
82
732
339
498
20
603
689
343
849
769
50
761
989
415
977
260
563
51
901
894
319
502
719
337
549
390
361
517
629
302
27
782
374
598
802
780
627
891
325
214
370
237
378
958
25
912
730
35
255
615
995
406
615
24
965
647
223
185
224
16
957
37
865
360
475
544
635
643
398
737
602
61
344
645
602
754
896
830
910
993
538
979
168
859
108
757
662
460
965
366
283
959
781
800
285
933
947
743
83
727
328
300
14
561
345
511
606
124
259
839
73
63
633
649
582
823
761
270
240
554
432
494
612
693
744
738
827
974
355
738
727
290
336
928
293
90
776
575
626
831
222
140
231
551
147
620
499
503
944
574
905
958
855
653
551
551
247
594
415
830
314
537
480
29
848
687
299
577
166
680
138
199
531
58
465
893
995
110
716
218
330
665
540
760
492
726
926
849
830
23
305
656
518
123
475
784
198
75
194
19
441
194
379
465
565
853
552
954
72
708
217
480
273
512
979
192
126
450
721
900
651
860
217
513
868
281
144
694
25
127
406
654
150
424
901
519
31
737
215
919
458
923
882
332
301
756
95
587
643
518
223
447
932
1
494
369
871
31
943
668
185
385
635
842
562
852
558
305
767
601
760
290
306
103
895
114
932
562
59
715
952
729
506
384
285
8
834
433
534
259
62
377
299
144
889
249
264
836
727
414
403
288
979
877
77
712
178
178
435
740
877
710
675
544
386
911
624
733
121
420
889
974
136
972
337
79
249
643
477
364
340
497
102
728
355
502
724
679
800
781
44
79
978
496
831
225
361
271
740
798
593
787
405
807
310
548
562
284
346
348
616
750
870
43
970
370
992
813
568
773
130
8
414
233
210
373
19
612
782
897
761
737
669
417
972
678
94
81
472
47
348
62
226
579
726
110
226
879
295
930
418
140
781
329
51
22
699
624
90
535
262
201
693
507
433
474
767
498
309
844
483
419
540
25
357
453
894
460
994
544
884
623
870
952
417
856
845
527
61
779
860
575
333
154
491
206
440
619
337
612
329
589
138
354
281
113
49
910
51
50
617
394
28
860
595
917
922
761
815
787
770
25
883
226
349
902
466
160
469
491
395
711
745
431
876
85
777
763
667
993
521
64
81
714
691
299
370
627
994
43
284
985
893
401
237
332
591
630
695
153
30
633
113
913
188
125
757
494
277
945
892
315
106
90
106
155
567
114
312
845
637
536
542
283
213
788
57
813
279
6
47
466
844
362
904
197
818
585
203
815
509
273
462
346
691
580
450
787
529
202
908
114
641
329
494
75
865
23
330
339
152
978
686
872
931
900
294
269
871
989
321
866
35
578
245
650
776
794
236
993
57
817
170
0
235
311
551
131
216
109
905
263
493
903
925
516
584
893
630
377
231
550
546
735
825
413
690
691
542
223
979
306
629
907
80
622
536
480
606
834
616
855
928
420
552
838
53
644
3
560
737
64
696
698
911
860
594
602
584
59
909
117
466
412
221
680
229
358
537
894
42
17
671
633
29
899
141
78
427
657
851
704
554
938
679
369
882
133
203
924
344
431
87
101
73
201
744
318
980
525
184
51
536
707
505
89
859
518
192
925
458
609
42
859
220
128
154
630
189
601
575
807
142
582
571
684
467
205
930
259
504
655
900
711
46
242
911
970
772
272
843
418
703
777
967
231
36
864
635
116
799
46
554
215
923
575
973
364
445
486
139
416
819
662
361
52
212
701
839
919
954
760
821
940
550
935
168
701
99
949
505
911
945
878
53
507
274
328
699
6
841
801
897
62
233
998
642
146
416
805
195
664
282
335
481
687
364
255
558
461
55
638
277
580
738
517
351
990
949
565
993
277
256
196
660
970
906
79
213
426
898
529
847
244
387
595
400
632
590
16
307
689
308
952
738
144
714
261
83
712
555
586
395
891
465
675
207
41
8
73
521
832
517
884
185
846
479
3
376
737
949
533
340
390
386
399
337
313
78
857
343
810
893
824
407
678
937
349
132
610
262
668
62
40
645
345
571
434
744
226
782
654
925
276
940
15
732
676
608
582
460
84
893
648
813
357
726
248
925
549
820
594
380
284
142
992
365
461
851
305
194
395
64
561
707
189
410
541
483
367
802
574
260
979
187
633
34
754
576
38
629
584
690
736
432
374
771
290
246
272
157
202
272
523
402
477
876
876
867
50
666
628
78
948
669
241
747
260
957
426
699
854
407
789
759
512
92
36
948
178
550
373
923
448
403
493
794
568
161
286
427
764
585
246
135
387
393
222
702
457
733
653
35
348
704
359
613
177
725
830
19
587
878
813
859
248
153
198
482
617
624
314
869
316
985
497
711
614
838
963
966
932
156
258
860
347
495
472
781
851
205
301
345
959
537
804
403
629
877
86
959
426
585
460
541
289
402
506
658
372
834
218
224
480
860
921
185
913
900
68
82
228
572
615
260
361
807
113
153
714
758
834
687
611
145
91
470
105
309
28
345
165
490
654
43
269
853
197
872
322
487
26
947
269
775
564
366
500
872
791
709
54
651
263
492
600
750
705
535
499
859
734
378
266
746
726
303
99
360
387
316
389
264
664
622
267
11
527
92
369
178
939
2
166
528
544
657
609
442
60
529
660
946
480
256
815
396
109
595
224
858
419
256
538
562
704
359
104
604
853
814
477
285
637
259
575
748
776
533
212
101
892
948
696
308
261
870
729
14
337
974
248
790
193
150
876
175
453
383
862
702
508
410
715
2
467
807
51
627
604
770
437
990
784
161
91
2
231
995
245
842
169
352
854
797
428
416
70
955
865
247
369
78
391
385
754
473
342
2
916
579
492
330
986
637
970
219
359
76
135
913
805
210
547
529
636
104
544
641
283
639
16
513
787
393
294
692
209
552
779
177
770
351
181
949
741
319
222
226
67
506
976
560
267
904
607
361
16
825
628
524
321
460
463
238
47
740
303
913
897
145
845
486
436
106
626
894
40
249
65
689
405
605
989
858
602
438
584
701
697
378
409
669
34
100
198
513
906
557
682
62
476
93
720
511
635
703
910
343
990
849
437
129
746
10
917
506
790
667
756
730
279
393
399
844
813
640
477
227
148
479
42
117
641
496
561
383
389
74
967
67
952
15
524
985
148
176
914
692
72
187
687
228
376
333
77
644
318
688
746
396
231
127
248
252
175
977
557
104
367
432
925
884
506
210
608
745
865
903
775
390
116
557
793
394
968
532
179
518
472
577
212
213
87
515
536
739
302
893
949
756
523
819
652
549
776
824
616
732
261
893
829
752
793
687
223
935
476
15
767
133
250
510
486
273
139
719
149
242
656
754
512
163
678
267
489
414
354
723
300
208
412
737
441
824
219
754
163
793
267
140
239
479
201
614
905
604
760
727
490
96
581
86
801
381
147
647
612
477
805
211
844
207
514
97
859
258
639
480
591
915
432
857
250
943
756
280
696
593
751
85
529
905
775
651
68
219
852
762
789
813
499
848
177
37
950
218
2
970
711
646
959
886
544
100
626
17
807
370
415
427
848
69
104
885
54
881
715
354
760
104
703
988
651
295
10
240
590
433
106
266
47
109
742
645
506
388
614
696
855
758
521
654
246
675
660
467
354
475
849
87
585
317
217
568
740
23
70
991
146
610
329
631
153
915
999
977
708
613
148
818
264
523
466
131
52
548
206
465
985
874
90
965
75
211
669
819
577
644
514
384
370
286
923
764
752
933
504
424
518
591
936
722
76
909
37
908
654
78
970
410
519
166
674
343
229
559
373
675
754
958
878
710
678
497
390
470
3
313
405
570
464
583
735
700
418
446
805
564
822
693
284
625
295
776
333
287
409
227
836
702
631
25
540
600
170
633
344
650
445
528
870
190
317
155
919
319
786
249
796
589
266
793
15
347
506
800
151
919
403
219
644
78
438
169
102
703
41
595
169
21
559
319
296
738
490
608
63
314
715
769
265
35
227
918
920
937
210
466
714
120
228
230
648
40
550
174
724
131
460
555
129
395
8
254
845
207
278
559
706
110
144
824
135
931
364
362
3
511
467
187
901
11
428
637
184
614
100
229
869
583
825
756
498
76
219
418
66
24
756
67
544
775
51
222
317
464
867
187
228
236
693
268
119
775
368
999
762
336
906
699
652
912
157
822
573
708
407
278
976
569
843
419
768
86
834
854
720
845
328
335
841
17
462
256
565
904
24
781
864
925
548
1
58
677
396
670
836
569
566
375
766
157
473
114
105
117
313
943
689
569
234
767
630
331
54
873
205
165
859
621
825
702
377
105
110
118
52
105
167
841
754
275
126
941
740
733
417
122
0
526
831
40
957
811
601
116
678
485
669
187
646
534
958
636
224
939
494
235
205
712
158
728
485
249
312
382
647
258
667
311
853
152
342
753
345
753
401
129
502
432
998
406
22
926
333
890
442
943
553
502
281
478
145
264
440
107
93
514
700
873
674
467
309
18
986
474
943
837
675
788
782
162
617
153
589
44
772
737
680
728
435
743
446
624
367
411
838
674
617
485
312
607
479
171
498
595
725
794
980
701
169
219
585
722
135
859
382
848
194
795
799
558
865
994
875
343
851
2
340
797
834
334
873
405
207
92
548
272
132
997
637
461
235
332
64
554
474
100
564
546
55
422
520
633
351
591
340
19
188
208
912
920
295
942
839
941
561
185
908
610
486
682
728
279
201
523
900
19
190
642
678
32
124
480
709
846
295
612
684
818
968
698
747
157
711
109
835
985
133
762
64
764
193
545
798
201
651
481
498
742
706
289
220
472
503
291
805
64
272
132
78
60
654
779
630
523
433
77
961
16
274
150
26
251
350
175
884
140
671
396
626
628
473
183
410
207
31
140
386
538
556
156
36
392
811
487
524
473
342
526
120
978
514
146
577
662
827
8
14
621
39
221
12
501
896
959
943
980
488
90
447
82
345
85
368
980
667
473
865
50
134
200
302
412
103
426
129
897
400
711
242
141
892
940
750
748
676
599
383
628
30
419
209
882
319
604
917
300
853
84
112
756
964
376
251
232
689
395
319
599
654
496
67
921
859
71
474
704
726
837
365
343
169
228
630
980
724
184
101
488
907
55
782
824
414
253
494
852
515
74
698
621
522
925
161
409
292
73
77
243
974
763
831
849
821
517
252
630
265
266
679
632
642
301
539
552
734
937
744
490
328
739
194
769
269
540
903
722
381
976
36
247
764
219
103
526
130
833
949
96
513
397
424
661
280
537
795
337
241
243
983
465
235
400
16
10
307
237
971
21
993
265
568
684
376
383
212
900
354
582
98
624
131
773
661
689
547
615
345
172
338
827
340
220
230
504
622
115
715
783
855
408
306
364
695
793
919
548
590
857
759
364
665
374
977
456
694
194
613
53
285
763
531
437
549
964
72
344
793
726
172
293
1
27
946
45
505
959
484
609
273
731
547
608
349
884
828
569
665
188
302
552
98
338
515
55
649
398
727
89
646
62
116
35
504
559
129
485
123
976
841
90
533
178
797
127
122
547
680
654
631
661
326
440
757
397
623
533
282
409
186
430
986
436
438
656
724
505
276
810
959
108
934
697
646
318
697
57
725
475
790
527
237
520
534
577
45
966
743
757
144
9
91
196
700
971
736
976
697
365
949
660
288
29
80
402
200
940
455
384
818
185
329
735
629
310
415
597
942
832
525
345
959
916
600
59
842
589
589
527
275
503
692
831
48
964
62
724
814
71
707
777
330
662
185
572
286
603
282
146
570
561
416
65
927
184
956
716
33
417
331
442
971
114
811
163
57
729
893
859
789
690
271
627
49
609
493
984
762
568
784
493
85
981
801
951
939
55
971
113
22
169
822
594
995
273
454
769
971
565
835
118
61
459
216
808
374
25
250
286
44
471
408
611
365
909
519
177
226
50
746
661
975
272
735
502
263
441
122
367
987
558
643
405
107
640
154
867
713
675
767
273
991
825
448
927
769
689
547
111
672
185
831
836
42
486
360
485
317
343
797
394
569
292
751
991
886
474
760
322
624
101
538
224
665
371
291
620
209
843
895
494
466
44
991
401
182
228
223
487
135
831
11
162
483
557
348
525
826
761
88
193
611
706
388
165
725
371
212
505
704
954
40
840
478
38
738
882
333
387
127
620
554
308
637
685
52
841
417
766
108
280
78
798
867
771
920
392
136
654
39
822
52
839
683
587
2
484
411
686
486
938
210
689
138
876
266
909
593
781
705
970
572
622
295
632
757
137
987
180
934
993
533
459
639
208
679
563
540
519
886
858
296
968
13
674
415
973
68
442
553
576
654
904
362
294
603
333
663
668
717
507
69
501
532
931
86
758
705
683
36
633
873
66
521
930
726
111
471
991
612
92
28
436
757
338
311
182
325
586
824
381
299
122
347
291
133
347
250
467
790
498
479
59
359
48
709
158
842
618
734
180
70
730
196
652
166
466
51
73
876
838
575
144
630
169
914
33
897
270
41
528
955
370
659
785
984
858
146
189
404
72
701
48
71
346
156
625
988
415
224
314
298
437
78
776
175
79
379
254
482
243
167
301
233
173
784
222
458
202
500
269
144
444
995
891
298
114
567
578
817
583
700
267
19
796
573
80
465
98
187
959
574
276
370
557
223
214
356
487
396
194
726
369
784
386
690
799
266
412
924
286
38
680
954
889
734
427
212
364
873
689
125
206
805
260
704
326
77
277
996
380
86
663
73
372
744
752
47
423
906
139
146
211
226
40
885
439
656
601
936
139
803
10
960
278
475
933
432
35
649
797
755
345
545
627
380
421
992
600
509
635
924
405
696
536
979
107
973
655
518
721
890
162
818
173
492
205
459
349
440
996
602
559
259
558
339
911
12
928
158
497
351
768
578
68
207
748
387
458
105
293
243
577
528
229
144
681
26
594
12
574
843
360
997
878
977
787
78
824
679
960
132
947
114
399
480
206
759
888
142
65
713
705
501
573
327
869
432
383
759
430
100
858
654
183
902
692
35
953
815
58
571
853
574
48
960
105
436
75
670
190
386
656
404
984
371
763
174
201
902
959
43
620
870
981
752
791
760
510
49
180
226
81
473
694
131
684
501
689
937
251
929
39
65
136
439
430
734
618
93
495
946
25
80
222
267
806
569
948
208
792
924
155
583
248
874
743
716
950
157
339
214
941
85
438
545
739
158
667
366
124
21
964
967
730
663
496
271
512
175
466
153
43
372
326
307
560
302
366
190
623
775
12
83
23
781
529
469
658
334
890
666
623
110
56
767
543
130
217
837
894
627
90
577
943
844
771
491
434
64
427
649
355
49
790
173
840
123
123
2
624
276
9
7
927
716
675
584
498
698
574
202
681
156
187
803
398
346
502
433
21
160
669
974
972
788
249
498
454
338
897
545
922
244
10
659
312
281
218
720
604
977
969
183
132
872
232
254
94
404
832
853
987
649
268
739
798
599
459
345
805
314
558
257
672
767
176
617
568
637
736
838
551
29
157
191
106
376
577
190
704
770
178
504
557
590
584
562
362
575
374
180
645
55
884
949
934
585
981
439
794
355
11
466
118
577
264
604
522
355
699
485
86
403
869
545
462
213
349
587
421
137
854
879
983
277
605
952
319
328
419
173
72
763
324
861
663
301
75
483
641
708
384
965
665
515
164
543
74
267
210
198
208
721
446
507
691
69
873
168
194
786
302
659
245
332
587
968
56
522
373
876
899
509
29
606
943
32
857
29
500
758
31
409
736
255
886
229
889
376
344
407
467
463
172
857
830
681
866
118
594
631
874
529
314
858
536
893
214
461
284
702
669
713
488
497
91
401
222
934
548
494
936
507
607
158
904
112
252
13
202
930
718
672
136
528
298
410
359
700
707
171
630
118
985
535
275
205
366
660
381
442
198
986
845
102
263
371
233
468
675
676
25
342
445
330
779
241
267
574
930
836
273
717
56
393
275
966
54
765
454
502
776
1
970
288
385
912
129
357
691
709
442
261
23
575
622
401
580
969
601
303
839
124
693
917
355
100
500
398
331
630
120
39
695
432
643
276
322
500
186
909
345
872
73
181
346
388
256
587
550
256
646
487
306
754
700
616
242
44
549
929
671
962
467
865
627
324
803
946
158
513
607
284
192
219
518
603
716
941
113
501
540
354
666
948
560
473
811
208
764
815
245
424
269
25
951
530
127
562
976
649
107
268
887
528
639
715
699
159
843
133
943
338
153
615
124
935
841
780
517
148
170
405
846
698
664
250
481
295
685
781
647
460
150
524
52
568
273
875
707
7
121
115
7
933
993
198
394
603
114
781
918
147
442
817
61
517
850
915
888
849
527
859
617
848
971
110
829
210
303
711
397
163
528
531
449
614
713
178
760
448
521
894
44
79
713
769
62
109
741
518
519
95
432
958
707
173
44
953
386
405
670
609
439
939
978
525
562
707
868
648
837
86
497
541
541
486
685
872
747
312
996
336
862
295
821
811
327
903
375
955
210
355
277
779
691
653
86
651
617
556
659
897
764
385
974
90
926
535
291
969
940
605
99
938
938
919
812
774
352
857
271
636
685
935
854
950
992
248
91
861
210
314
925
168
968
479
142
481
440
306
87
200
447
870
283
959
69
688
731
118
864
24
54
886
131
461
280
223
451
931
416
374
570
231
946
946
601
807
455
404
932
353
614
162
170
77
354
254
592
325
347
530
468
450
467
391
389
329
98
684
857
702
632
993
244
563
772
657
206
37
926
823
955
825
812
350
345
157
52
940
282
645
769
229
38
895
404
826
844
997
552
187
261
425
813
616
736
826
48
379
373
901
382
375
681
694
981
131
452
282
625
251
317
89
599
539
955
409
680
414
310
871
416
64
986
284
576
928
296
174
938
988
691
873
114
896
363
243
295
157
317
343
849
141
673
22
283
622
2
311
63
488
665
302
430
926
526
267
616
987
936
527
829
13
149
595
401
183
370
626
431
417
264
315
239
30
771
934
623
335
989
518
203
172
999
64
42
75
134
736
537
660
146
768
595
846
113
758
675
611
576
233
777
18
708
33
821
667
77
144
973
690
570
388
437
466
934
216
942
701
176
795
741
542
216
280
71
353
460
373
637
80
536
522
256
490
67
928
397
553
324
977
281
495
31
914
771
959
859
396
636
185
517
153
277
533
0
988
601
500
574
5
101
278
896
834
522
223
614
656
789
981
111
919
723
934
937
72
969
111
743
432
412
371
756
637
149
675
542
99
905
186
14
855
428
762
225
794
823
192
685
825
536
84
493
96
957
531
861
285
406
460
454
532
706
440
254
796
615
679
839
951
794
943
285
258
405
741
653
581
381
940
541
278
763
651
312
889
860
525
950
753
886
898
214
380
18
727
562
88
322
309
44
180
565
550
646
216
554
776
486
250
714
219
339
313
689
552
967
499
269
769
987
260
913
510
316
106
621
550
125
249
624
125
939
560
970
366
346
587
328
392
788
986
813
625
322
771
781
613
957
995
423
603
4
727
835
213
101
349
847
855
582
416
284
22
990
603
854
426
92
998
589
927
330
232
403
955
267
789
222
985
735
706
34
297
98
965
5
38
487
664
311
581
554
537
559
806
250
858
147
345
964
509
492
489
317
304
586
441
625
856
24
822
341
645
569
255
351
215
140
527
391
410
382
529
945
981
264
381
255
55
888
980
490
420
197
330
653
470
802
621
762
666
556
671
339
204
468
504
261
728
941
483
560
981
39
150
344
625
655
87
346
400
937
45
193
592
166
442
3
101
657
642
661
20
421
841
878
306
165
599
979
892
434
681
562
24
322
154
13
344
154
66
943
420
184
112
920
868
627
169
325
964
572
851
216
621
135
219
768
373
744
766
868
466
567
269
786
306
139
944
517
202
13
336
174
442
191
336
516
505
543
940
685
798
265
919
808
535
704
265
949
283
752
476
840
864
557
151
850
59
540
499
809
278
461
829
219
349
971
17
655
746
432
838
187
30
699
144
640
362
213
930
785
917
703
193
952
953
346
647
845
280
113
14
25
814
945
123
571
104
867
642
810
595
771
972
366
894
329
30
66
784
900
615
503
464
744
318
421
762
548
769
474
496
725
813
130
726
142
706
115
473
79
871
467
266
683
493
413
856
523
235
479
244
298
330
407
986
875
829
732
963
6
579
386
755
358
124
624
565
850
727
966
12
285
918
184
729
188
630
462
782
596
870
644
185
356
413
375
101
944
144
377
523
142
488
363
776
442
463
246
583
602
601
553
328
112
67
485
92
189
765
379
563
878
695
873
131
861
254
196
679
240
6
963
866
488
12
981
134
879
834
421
642
592
294
930
928
718
14
879
274
264
317
142
577
543
894
299
212
449
976
835
650
604
804
153
379
477
111
472
14
827
822
539
87
764
101
729
471
398
105
721
808
904
78
494
12
656
618
266
831
738
774
460
58
5
359
351
405
66
504
567
851
502
119
800
715
727
681
5
745
320
914
612
815
434
114
121
78
385
95
722
78
416
432
48
846
611
200
476
718
733
435
928
108
199
305
528
774
679
937
848
510
692
778
685
560
210
795
98
805
940
515
791
670
899
857
84
505
772
340
670
965
866
650
487
309
511
433
271
845
855
153
904
737
797
539
173
818
56
371
829
926
263
714
55
979
824
672
927
667
243
303
331
474
413
853
147
66
513
202
108
611
130
314
43
226
22
719
552
326
898
825
358
478
873
639
355
420
298
395
732
575
661
860
535
643
691
52
992
600
911
305
762
245
756
386
165
397
553
286
488
907
176
321
143
479
313
758
627
485
158
848
838
651
847
83
50
857
818
853
361
85
808
64
22
716
90
804
617
939
836
938
431
772
446
968
14
923
460
305
785
777
384
555
104
996
461
534
804
176
792
141
225
339
726
763
54
819
413
208
537
203
753
785
360
210
665
381
572
407
421
653
597
427
756
774
948
141
393
924
960
578
397
927
13
450
383
351
635
498
940
322
218
530
392
594
977
276
177
937
695
412
430
307
325
178
45
876
610
437
296
912
936
111
537
964
287
187
942
439
189
90
749
150
166
646
259
770
279
890
608
263
14
87
671
833
669
25
352
265
834
151
317
585
48
290
103
297
308
933
523
88
226
40
417
868
143
331
632
661
61
731
459
878
890
377
212
658
60
307
276
605
22
672
855
165
576
515
483
847
305
151
78
26
62
308
561
354
934
747
281
777
687
306
836
223
851
14
178
948
912
314
77
724
343
41
317
706
129
721
527
559
810
767
973
879
135
733
32
965
323
907
762
225
466
689
10
330
439
210
859
296
724
309
920
150
252
557
672
965
890
971
981
8
308
502
818
245
815
461
180
315
237
400
393
652
721
531
234
912
225
607
43
937
908
160
166
492
215
444
874
790
700
538
60
240
679
585
2
32
180
5
945
151
321
176
90
961
617
211
995
659
254
845
330
18
672
190
843
953
973
747
480
11
447
909
436
551
61
951
400
479
998
119
838
897
212
524
22
382
122
683
351
105
596
84
285
649
966
748
19
823
874
614
189
713
298
243
790
628
573
543
519
231
431
348
889
900
344
892
603
200
767
188
446
129
473
886
708
18
822
346
874
346
340
445
564
835
878
127
927
951
764
823
184
987
217
20
904
379
827
321
320
140
917
269
51
955
257
859
737
128
28
575
306
582
136
33
521
319
133
907
724
490
413
908
799
73
749
459
462
857
715
733
5
552
261
464
626
760
833
499
186
977
765
177
501
887
673
605
187
456
983
988
884
850
440
575
626
691
89
224
112
795
826
355
950
625
121
807
862
971
925
826
134
54
338
104
364
417
871
882
724
715
18
743
638
497
18
836
723
774
167
865
90
143
933
295
275
401
210
690
127
699
448
903
593
784
92
321
506
976
639
835
491
778
522
789
122
532
657
272
125
657
208
778
316
42
127
727
670
373
273
305
703
256
741
591
251
395
300
300
413
590
765
401
678
121
977
881
61
502
10
237
560
638
57
285
31
76
606
712
161
602
693
866
213
66
284
866
675
505
147
635
515
280
272
208
249
952
765
227
918
713
775
499
437
407
682
776
60
721
886
206
579
409
525
489
734
202
269
190
49
10
756
229
80
60
998
969
391
611
670
760
7
37
206
525
174
453
133
730
921
568
430
26
656
987
186
132
677
440
992
390
498
17
202
496
591
849
513
103
366
438
340
428
204
0
815
425
699
577
513
584
711
804
274
63
123
338
634
456
26
124
783
350
293
938
208
790
835
118
810
553
280
102
908
646
774
54
979
454
324
219
498
69
64
898
379
527
493
431
183
856
984
8
835
953
386
20
538
511
991
958
139
69
198
706
856
389
620
776
974
734
541
997
89
190
114
920
984
201
98
424
10
485
312
203
912
1
151
658
246
165
540
964
289
418
382
512
109
582
593
233
217
282
357
664
960
730
170
941
688
308
524
664
997
408
269
171
955
388
762
416
420
195
921
421
445
783
455
743
612
70
76
122
121
314
412
425
979
637
894
130
708
479
33
784
313
150
49
909
977
307
107
297
771
515
525
270
249
239
182
491
912
715
247
976
693
649
911
871
96
649
869
910
410
104
765
268
481
691
408
53
732
933
888
679
802
220
816
775
537
899
643
91
627
434
511
885
317
926
80
488
740
725
806
551
198
726
662
195
792
672
572
304
354
653
511
790
944
398
991
449
798
989
511
548
297
835
438
524
52
996
288
618
284
727
107
693
556
371
986
693
944
379
175
828
93
146
735
100
100
650
525
427
331
552
44
241
417
100
132
759
489
487
141
692
185
925
963
119
177
316
893
632
581
700
622
908
967
664
738
926
24
586
203
315
845
839
333
522
63
942
586
58
705
79
556
496
469
748
571
956
532
885
201
372
381
283
498
581
993
741
319
72
513
61
572
694
32
746
333
229
280
141
551
99
100
626
7
688
41
393
620
704
977
786
926
120
626
49
395
719
264
641
509
631
915
854
213
855
982
730
755
501
551
132
644
483
736
440
713
120
521
593
254
878
590
151
465
559
812
578
518
859
331
780
415
44
715
294
490
962
940
678
800
790
728
661
966
62
42
501
422
434
406
789
134
927
553
718
69
564
323
76
253
720
104
871
603
974
222
347
373
387
703
999
875
484
495
158
733
687
959
507
697
311
774
692
620
302
878
233
334
500
337
794
545
407
720
530
490
394
778
992
811
213
871
312
902
732
803
835
353
354
367
209
533
227
63
536
389
265
275
7
452
838
120
941
233
251
556
567
959
195
218
866
608
3
728
390
573
110
662
970
523
74
99
264
723
67
206
535
897
193
461
48
46
418
994
524
490
435
932
839
578
949
768
938
785
152
867
210
863
245
878
262
625
832
368
39
210
95
389
448
42
575
562
268
58
519
998
532
218
735
990
702
765
168
182
929
389
881
60
851
803
791
851
978
469
62
720
426
610
826
542
722
36
408
706
803
12
760
478
368
867
686
655
14
912
102
931
159
63
918
933
26
874
791
716
864
557
757
901
440
141
126
420
575
990
394
461
100
424
862
107
963
502
619
244
514
342
617
167
109
110
165
746
980
109
330
739
776
754
128
204
799
501
740
508
757
443
659
870
298
310
636
767
2
715
170
899
178
854
67
776
851
527
77
254
555
62
721
656
565
493
329
34
534
786
284
522
969
168
356
708
122
201
481
182
812
841
580
991
998
102
189
762
228
751
246
488
932
678
441
874
539
343
715
214
593
177
888
868
971
279
296
293
345
772
945
525
978
536
61
333
493
232
920
901
895
651
994
122
717
686
468
187
375
296
144
227
973
560
661
583
267
117
756
239
342
342
362
872
932
802
860
168
740
224
679
418
805
153
942
203
717
887
590
550
468
227
906
990
924
397
983
725
490
80
272
441
580
24
768
707
517
825
769
994
689
570
558
629
66
732
217
520
625
110
685
722
321
971
190
111
583
241
344
886
758
109
144
192
144
952
667
411
572
631
602
483
498
482
425
44
193
525
804
259
100
240
340
591
336
596
162
995
347
859
230
465
354
378
595
130
907
526
458
154
225
99
387
508
418
871
707
701
252
796
528
790
774
386
123
933
524
277
320
427
360
407
662
246
187
139
163
123
934
647
837
576
205
245
424
821
534
231
967
251
576
154
701
41
480
255
782
70
422
301
62
891
69
629
691
194
108
101
160
754
81
115
996
145
754
543
830
769
430
626
353
290
448
466
199
683
757
840
699
862
19
768
325
531
839
563
333
178
836
713
877
605
417
854
826
624
163
874
346
579
577
611
493
696
519
494
329
748
63
321
939
940
568
54
852
121
587
607
714
149
456
240
544
560
514
381
1
64
106
61
473
474
98
517
715
315
682
2
293
663
976
530
587
685
614
76
838
392
370
972
466
146
7
625
777
17
975
446
395
555
839
621
499
963
581
540
195
151
126
422
741
168
974
551
400
751
146
443
418
345
568
969
668
281
267
716
472
762
408
961
81
53
869
222
823
532
920
481
155
539
753
816
762
483
811
16
532
618
174
603
175
327
87
193
798
300
841
400
221
7
898
215
681
242
863
101
664
16
99
385
797
79
342
979
725
631
432
98
494
621
425
498
536
190
869
909
69
538
87
956
661
831
596
110
962
170
506
227
585
555
31
181
37
410
63
859
704
301
413
445
486
617
585
524
719
84
307
114
185
43
603
148
847
352
412
585
809
207
271
673
548
137
742
476
374
334
520
313
183
562
298
793
712
245
59
867
865
574
800
308
88
293
750
574
757
131
717
944
241
792
459
172
781
452
336
194
793
914
73
596
924
241
84
10
7
361
155
976
389
952
443
394
645
942
75
904
549
74
879
735
222
280
675
229
500
999
749
957
380
277
952
40
640
776
668
190
864
660
373
797
561
528
118
235
402
341
252
399
668
740
760
673
699
841
447
650
254
856
774
899
575
971
261
914
624
429
755
479
357
337
425
688
44
493
211
989
613
386
221
842
383
823
811
463
432
514
734
260
758
636
612
473
99
585
427
663
458
385
668
147
972
715
897
22
53
833
61
78
348
775
223
551
313
88
239
933
32
883
348
582
98
492
170
29
570
470
925
902
913
502
477
333
957
345
943
767
266
998
112
58
677
953
134
314
448
829
49
347
921
343
933
674
543
972
981
380
614
497
710
315
344
888
883
567
978
871
59
639
165
285
366
839
412
753
451
969
761
20
931
674
942
327
598
408
407
278
55
177
269
374
665
410
926
369
570
497
918
295
835
335
343
103
102
799
15
887
148
994
465
814
203
270
774
944
600
943
514
161
735
982
774
681
102
839
539
157
642
982
181
349
399
840
701
244
518
76
989
148
857
461
920
995
817
170
395
848
407
810
96
802
256
592
7
595
555
933
974
851
687
111
39
936
777
935
870
987
926
61
122
116
109
75
0
561
458
314
242
175
818
40
322
805
632
220
183
354
277
528
744
343
577
543
476
537
514
230
410
801
712
828
961
149
8
49
996
55
129
657
899
699
87
595
369
417
538
981
272
488
807
133
108
837
125
151
127
427
928
167
527
378
886
491
318
821
500
518
319
155
159
604
259
588
11
292
151
68
405
472
84
670
156
127
894
896
397
557
295
927
200
689
86
919
142
435
740
391
761
26
43
624
939
812
883
411
125
678
687
962
400
585
979
631
591
915
308
592
177
577
939
205
170
597
467
47
967
96
188
917
587
673
701
594
429
542
539
326
271
754
454
610
495
320
585
829
977
405
942
634
488
991
104
449
221
216
371
104
14
874
818
497
37
868
464
24
800
84
774
159
908
826
136
628
548
37
488
306
126
650
893
947
283
754
815
672
395
847
2
779
868
935
355
566
286
77
524
179
829
909
966
936
641
429
219
829
528
694
73
508
822
707
45
658
110
955
980
514
39
896
573
436
371
416
472
125
831
959
296
992
798
795
143
376
872
37
830
103
47
778
242
458
661
752
729
607
682
477
576
921
840
658
745
780
123
428
632
683
625
95
807
332
541
10
215
664
945
228
499
816
852
491
144
794
916
206
406
665
995
89
471
455
40
95
205
413
5
33
154
145
544
431
219
483
834
118
596
400
505
564
118
275
908
998
7
582
559
873
310
641
188
867
781
174
283
707
559
413
546
190
548
127
508
73
147
810
223
675
367
991
970
716
329
625
236
447
899
477
327
488
335
842
450
903
847
995
853
652
686
892
921
646
265
540
908
519
525
273
250
783
364
715
566
84
32
764
774
17
875
298
161
370
659
570
48
508
806
222
264
224
727
288
421
248
828
554
717
173
951
300
583
374
772
574
427
166
735
930
558
718
862
542
811
969
504
828
422
375
471
786
772
169
666
130
151
901
514
871
274
957
162
124
369
916
482
649
632
123
700
420
927
793
876
153
813
786
130
402
913
372
164
791
74
916
857
592
118
243
628
263
97
75
966
121
832
784
462
602
446
998
866
189
928
577
562
162
352
929
773
37
355
574
47
92
872
873
545
849
615
707
528
50
421
546
993
640
240
417
840
413
460
416
811
494
549
392
193
556
215
80
48
832
259
392
547
727
210
934
359
856
937
91
683
620
303
1
51
106
190
436
341
859
561
46
609
583
90
88
130
885
541
865
712
289
820
478
653
932
695
657
90
158
307
324
944
483
349
791
801
225
830
386
555
789
944
251
910
338
898
976
237
625
250
143
120
58
180
160
492
845
369
797
710
890
57
175
614
405
918
590
18
11
617
363
297
119
406
487
94
731
757
532
311
842
579
941
476
439
757
393
40
798
39
247
527
685
178
594
203
212
98
798
973
703
269
617
587
217
525
300
328
595
48
814
355
736
892
649
508
497
874
624
60
476
675
655
300
664
198
677
665
14
994
707
305
939
751
594
796
156
897
505
682
960
22
135
305
474
488
75
992
269
280
389
624
269
144
877
136
986
312
877
38
739
162
518
54
660
361
795
255
193
427
153
821
293
537
350
706
20
528
339
673
587
338
901
421
230
166
308
247
306
449
310
546
76
573
754
239
237
522
456
772
162
657
396
921
977
440
403
647
690
803
420
100
67
866
980
194
296
405
39
209
630
514
627
521
964
439
675
300
553
802
502
147
709
517
305
294
144
497
450
148
496
30
986
17
323
389
483
695
124
318
908
102
2
282
626
579
527
938
374
133
124
82
513
850
871
169
977
711
210
661
49
377
196
339
976
461
600
944
649
770
876
850
457
507
3
623
473
402
179
672
332
67
755
670
551
247
912
221
300
316
221
365
115
979
174
783
328
943
655
654
304
360
576
677
633
925
1
803
323
103
558
752
652
70
204
426
678
31
250
347
520
287
899
549
305
592
657
189
839
95
412
369
723
992
390
175
315
876
792
280
69
802
947
554
90
386
343
379
767
811
451
290
461
395
598
911
72
909
438
250
365
665
112
52
141
298
762
313
59
807
109
731
441
16
120
371
813
853
40
501
337
698
515
17
215
13
720
887
123
372
134
671
177
676
889
475
966
166
401
601
247
819
19
289
608
77
105
760
994
222
860
990
333
609
639
931
412
402
178
376
936
539
864
1
388
858
40
821
510
27
540
706
128
300
953
265
835
426
553
560
844
692
697
415
164
252
428
244
828
593
923
487
48
519
199
564
491
69
195
782
437
606
690
85
509
273
644
942
733
649
143
751
352
640
830
902
680
611
419
942
528
258
125
543
789
701
443
688
378
308
708
490
614
136
209
643
757
255
319
451
123
731
170
242
60
880
633
395
336
623
100
727
58
912
139
590
937
296
310
942
297
634
165
698
373
744
978
618
349
911
837
989
900
530
162
447
369
657
844
35
433
234
161
280
796
154
765
18
766
946
170
818
105
95
373
182
615
819
1
535
338
951
833
505
930
792
192
816
806
356
615
604
297
610
492
631
259
5
358
707
725
905
899
19
343
173
744
451
36
296
787
6
413
341
354
369
961
356
586
630
895
468
807
720
953
210
414
629
69
418
933
359
145
345
250
535
809
924
940
562
261
864
947
478
182
429
829
279
652
568
907
753
393
10
13
335
208
10
353
150
175
315
900
124
595
170
714
148
414
858
399
421
166
293
596
545
622
173
122
839
279
909
533
662
595
976
666
126
39
958
104
507
983
775
556
269
298
447
557
612
287
470
241
522
310
405
81
96
779
890
12
251
683
529
681
669
84
750
937
114
858
176
805
556
830
848
586
830
494
676
621
998
323
412
393
449
411
439
278
880
605
533
11
894
131
752
114
237
438
995
855
491
281
581
499
952
619
456
752
717
728
816
644
445
122
492
290
902
177
894
532
272
397
942
941
802
214
832
406
136
989
686
428
555
177
881
608
373
346
604
514
528
741
551
279
20
969
804
678
422
847
32
988
731
965
102
469
917
241
159
689
453
417
135
919
570
276
620
893
965
199
301
281
879
779
73
486
522
201
402
360
558
820
895
364
872
17
953
316
46
398
902
382
567
299
703
46
471
720
969
940
278
96
348
334
540
399
71
189
982
755
619
383
958
643
863
838
554
461
104
95
242
405
993
322
914
707
32
734
653
211
652
179
696
851
968
368
307
170
98
391
968
877
372
805
741
450
208
261
658
752
103
183
202
178
352
831
916
967
798
679
854
45
940
852
162
243
188
615
42
563
875
681
303
446
223
416
274
530
308
454
774
340
911
580
63
703
878
982
424
364
747
105
195
592
685
454
422
710
16
519
349
961
495
247
143
876
997
765
441
624
660
135
8
443
126
26
173
605
726
754
995
388
289
707
777
243
786
190
258
987
17
167
451
774
634
553
468
469
525
930
212
564
359
510
889
608
543
355
827
60
770
308
477
102
442
830
743
625
419
826
779
357
282
670
771
292
43
250
41
396
394
260
518
747
11
278
612
145
145
281
341
50
46
830
92
569
711
193
447
387
67
795
918
287
969
446
155
899
521
893
355
98
719
60
957
396
699
55
841
106
281
957
543
914
532
514
16
595
18
625
658
269
769
921
151
472
869
443
664
970
577
815
259
916
246
484
89
262
749
521
849
606
610
978
62
877
463
199
43
196
283
867
585
101
39
901
398
544
94
270
196
254
329
353
70
847
382
292
635
70
963
638
683
428
757
884
397
882
783
364
154
901
976
762
149
431
391
308
52
475
313
401
309
359
74
578
839
625
758
936
363
4
884
424
927
758
36
184
590
891
923
680
757
407
617
326
279
156
682
200
200
292
2
219
326
56
487
649
189
953
799
799
501
157
774
730
677
640
417
532
967
477
719
844
58
802
900
706
761
418
68
522
354
665
178
185
622
157
364
622
970
137
816
153
674
286
365
958
275
561
304
903
173
260
211
51
513
58
247
376
715
207
929
534
619
374
432
261
803
109
66
248
227
897
879
718
227
251
519
524
17
715
30
760
953
493
394
178
888
847
586
967
542
625
385
123
710
704
998
139
5
626
472
823
369
233
980
654
387
412
957
945
819
532
430
495
999
214
297
864
206
10
300
378
654
364
629
565
37
548
910
605
542
483
862
954
559
737
40
306
331
110
360
426
450
897
895
654
387
501
97
657
538
822
469
77
689
97
853
303
774
458
639
443
747
775
739
286
717
783
611
391
200
101
107
802
624
184
811
455
127
780
849
70
722
273
745
6
693
89
678
333
797
717
857
4
303
762
575
355
433
808
541
335
346
94
293
586
139
666
397
680
747
96
514
64
978
591
380
776
491
805
527
736
722
255
311
982
109
107
626
539
574
115
982
159
115
437
621
248
806
39
278
811
563
463
414
189
13
684
861
964
879
347
242
723
926
485
130
288
709
286
958
751
837
605
510
639
713
903
996
892
18
504
458
998
142
62
650
166
404
869
79
627
156
819
281
744
88
310
697
251
500
20
97
592
546
360
721
758
529
829
199
737
766
190
743
471
136
645
141
867
824
701
527
269
386
785
53
371
52
979
409
538
351
551
82
459
203
509
170
914
664
438
878
492
698
264
938
892
369
673
962
731
643
851
491
894
979
958
395
283
123
390
760
249
63
525
162
886
833
453
126
241
817
384
779
1
918
154
916
392
311
225
785
204
920
617
205
407
609
500
646
79
329
716
805
644
555
271
659
68
939
270
473
990
415
228
744
562
537
217
700
529
81
759
987
673
627
574
347
503
183
284
228
252
863
913
541
908
687
867
39
557
79
587
833
312
611
306
71
434
982
45
312
854
769
553
156
474
386
291
664
591
791
842
90
733
36
61
340
742
777
412
308
862
873
849
919
989
800
373
916
667
544
815
400
50
204
764
505
875
714
519
97
979
52
536
291
639
162
507
63
251
894
285
554
334
895
991
362
663
269
353
880
589
793
246
868
386
116
411
157
210
941
805
477
306
411
88
462
469
259
435
823
687
349
35
950
675
378
858
830
654
737
775
171
27
222
757
577
290
477
94
309
32
809
820
303
947
567
795
321
769
603
993
455
684
70
715
687
887
673
698
720
605
200
586
902
839
374
444
684
158
396
408
522
768
242
761
563
222
558
659
677
603
175
625
108
879
776
931
717
133
255
854
985
534
204
528
936
889
828
476
275
36
13
757
236
271
485
822
556
720
510
981
188
824
895
503
978
377
282
548
576
35
843
207
925
683
552
970
212
569
762
350
64
747
358
669
862
383
116
504
87
558
266
959
947
146
431
108
729
9
687
335
247
946
79
922
888
889
756
605
500
764
360
828
447
548
932
703
806
259
683
900
726
125
416
772
469
121
378
379
744
204
224
628
814
805
801
492
811
384
173
335
71
285
824
965
238
439
396
514
306
818
548
322
423
932
331
785
704
679
71
52
649
449
822
794
434
136
810
171
776
401
350
555
109
137
42
962
931
120
559
692
727
200
823
15
307
779
100
150
834
800
304
540
440
51
635
643
453
486
664
773
777
600
437
592
423
837
975
867
973
663
640
696
945
163
291
174
893
363
709
777
258
676
986
883
613
910
405
667
818
576
713
723
37
14
712
183
789
695
554
358
8
240
989
27
246
471
480
604
576
999
925
253
97
389
50
124
776
913
500
773
496
505
333
261
121
150
802
999
519
192
420
252
239
104
386
614
972
132
839
996
767
449
52
428
655
75
275
182
629
182
927
167
405
746
958
741
259
262
397
692
401
352
570
907
432
33
775
85
425
86
520
455
419
790
92
36
306
850
475
510
637
312
621
981
51
906
353
802
950
972
674
263
756
312
965
604
555
951
986
527
12
926
943
858
421
415
586
977
732
518
646
725
406
578
414
666
122
858
648
414
875
623
360
0
172
331
439
150
456
262
841
203
973
186
492
9
824
933
421
1
692
945
357
544
563
725
769
145
965
568
863
392
149
236
39
234
562
228
109
36
301
988
364
347
261
2
914
346
374
816
593
702
542
371
324
381
422
880
576
987
637
283
720
719
591
621
331
88
155
195
460
166
784
9
532
391
73
671
464
614
438
864
78
279
26
930
164
559
30
763
997
736
447
748
896
624
736
562
336
278
463
6
630
173
525
833
4
94
731
509
925
723
30
275
404
232
198
928
192
245
755
359
139
549
237
106
812
428
407
71
269
897
709
582
559
175
842
31
176
382
791
433
372
780
551
200
362
306
962
390
100
118
960
495
483
261
973
505
363
230
15
418
670
667
424
475
769
933
829
966
705
293
580
721
62
927
403
293
717
430
683
789
929
219
953
307
416
241
394
776
137
395
784
523
164
589
364
537
243
68
680
832
56
785
20
579
512
301
87
510
60
791
461
410
381
0
384
961
493
423
952
693
513
831
274
25
14
90
796
796
575
253
207
94
71
710
628
941
916
808
854
671
911
911
448
123
987
22
959
321
185
996
641
206
198
728
705
258
247
893
325
993
147
467
262
672
978
427
674
301
88
517
857
431
220
512
410
676
477
415
986
114
843
77
426
623
533
206
870
24
691
135
144
375
573
472
561
525
580
11
643
975
829
532
494
691
320
355
533
619
988
18
511
779
421
106
557
146
563
974
827
962
104
250
661
347
590
384
410
755
489
48
436
555
241
17
618
988
241
235
810
584
257
490
325
113
84
191
391
389
261
585
539
21
310
706
744
378
689
687
89
47
239
489
170
27
73
762
99
886
691
723
545
802
143
520
122
206
226
954
89
374
693
995
831
356
574
993
45
298
614
217
844
54
438
544
124
667
322
999
843
812
781
958
22
675
741
234
17
767
491
780
508
958
935
273
455
837
642
484
528
418
894
983
616
835
326
889
243
188
81
861
14
623
633
422
679
295
163
653
94
604
732
368
769
415
193
177
783
391
131
831
536
611
128
577
667
993
995
364
342
121
900
803
746
61
977
708
600
32
528
735
964
570
144
221
411
300
235
38
878
921
493
70
843
503
800
282
283
286
579
778
65
997
271
319
9
919
312
77
262
921
888
691
688
140
412
223
657
653
82
784
792
901
257
230
12
985
462
170
240
158
150
74
580
480
811
593
734
189
171
693
245
766
416
186
185
213
874
679
977
949
413
981
83
257
731
9
307
994
182
985
294
364
701
593
961
314
47
849
281
366
925
994
604
16
68
36
685
313
279
753
544
39
921
268
522
241
988
685
313
309
702
926
176
24
594
871
32
407
207
237
293
942
619
217
317
780
553
645
118
848
82
68
821
675
373
895
877
160
667
816
719
624
437
540
249
719
298
401
684
957
864
441
57
574
787
615
123
924
252
985
211
901
802
353
703
173
44
529
424
568
969
183
213
313
664
241
775
824
911
155
517
234
313
411
689
645
213
431
948
762
933
841
96
233
880
214
176
253
526
132
975
923
562
235
366
302
543
826
707
11
672
144
874
651
390
382
610
295
102
37
534
815
379
818
386
785
27
627
804
260
767
493
470
486
512
349
862
572
738
477
574
115
435
546
575
741
972
527
430
860
369
168
149
212
144
637
501
303
944
434
769
760
131
189
217
713
123
310
672
995
976
316
504
54
141
775
469
711
124
468
682
268
274
528
560
204
232
485
383
952
362
576
286
360
602
58
811
965
538
929
32
962
17
421
515
934
397
15
867
224
128
48
77
398
980
758
135
462
879
480
35
841
764
639
396
561
663
450
323
384
312
898
312
454
153
971
711
743
948
362
11
796
328
56
483
914
964
454
73
561
693
332
468
350
738
172
161
742
588
873
890
982
83
904
225
275
189
574
658
804
279
250
555
612
676
612
629
786
789
950
519
855
817
768
496
919
692
130
730
783
89
399
718
525
600
824
682
139
70
250
220
255
564
546
921
828
616
565
145
924
771
49
924
646
885
183
343
947
23
579
783
749
657
451
260
641
399
390
323
540
292
718
83
188
25
762
494
31
170
539
831
646
693
311
236
93
977
172
340
746
136
304
580
861
625
587
571
248
812
177
482
434
16
717
932
606
750
510
682
187
241
950
377
250
216
2
44
346
738
613
104
123
814
976
141
699
446
19
893
560
538
13
470
884
581
579
50
314
229
520
47
619
499
393
971
80
324
432
725
893
966
24
187
995
391
603
990
240
382
731
17
959
699
678
787
676
181
541
782
769
88
872
707
246
747
165
59
10
716
369
556
911
334
7
595
471
947
820
265
42
735
723
722
212
168
587
785
221
30
500
299
483
858
159
443
740
68
195
386
472
121
209
14
423
690
200
382
175
152
656
8
889
664
799
839
897
984
295
772
877
533
565
527
111
479
549
107
839
440
652
567
195
120
656
954
478
884
359
780
822
58
337
136
879
663
863
90
134
621
147
249
536
185
128
582
304
260
574
980
451
256
177
769
210
975
581
736
868
76
290
350
850
605
62
193
229
411
234
592
601
471
115
122
544
368
708
562
845
866
515
685
365
655
899
609
285
858
37
847
221
41
908
218
991
826
532
643
96
353
288
299
327
163
986
437
888
542
928
254
580
495
323
242
468
622
909
989
992
549
962
18
483
336
142
418
144
488
968
955
40
206
648
240
264
144
69
205
943
485
840
349
650
345
407
987
33
852
73
16
297
895
662
781
196
79
527
985
614
655
677
784
511
810
568
298
523
628
586
68
397
554
745
42
843
467
800
82
437
506
513
521
498
484
199
972
497
893
920
414
663
573
463
122
828
450
731
786
559
904
315
144
315
803
603
937
714
10
1
728
970
695
702
739
209
338
171
653
317
715
510
441
865
806
297
580
446
106
32
237
464
887
486
218
526
560
928
172
748
233
520
757
566
390
217
585
516
356
596
368
498
849
772
650
650
776
519
666
526
106
391
162
557
957
967
300
923
252
123
519
377
303
145
268
567
226
686
944
679
640
775
32
163
682
358
303
26
621
83
889
43
931
575
150
347
554
903
459
396
168
684
648
332
477
939
53
622
310
171
861
815
20
104
6
999
122
696
367
437
801
785
751
318
482
277
642
199
903
273
653
639
972
415
563
268
689
129
743
811
898
417
355
259
848
532
667
555
799
440
403
238
874
317
424
761
703
1
168
312
495
773
978
312
795
827
524
591
578
182
759
114
234
646
32
221
158
785
798
667
423
668
900
221
885
277
838
188
217
186
701
140
692
971
640
560
118
569
371
249
307
535
986
388
715
123
169
187
674
23
757
205
778
657
127
583
120
221
651
918
678
111
952
903
824
190
328
292
411
645
352
80
850
502
45
878
137
785
698
427
518
140
256
398
732
509
979
795
492
46
296
197
837
451
933
432
610
668
697
214
958
348
816
630
975
602
635
462
179
986
656
243
431
837
503
790
656
712
799
745
618
516
24
452
101
604
388
235
803
351
19
587
947
373
930
26
206
812
943
276
297
675
635
83
888
400
73
42
46
201
490
359
874
21
724
541
695
908
664
351
935
177
520
599
160
180
169
267
239
868
439
508
710
311
894
539
871
401
352
154
351
253
962
338
861
168
888
98
781
352
573
969
989
566
927
380
601
0
961
675
215
961
428
149
935
159
35
642
552
263
901
129
18
199
933
719
420
58
640
516
104
393
92
567
967
550
714
586
50
772
133
23
259
551
186
739
284
994
155
860
382
372
128
731
170
998
508
990
904
130
829
138
323
341
615
691
457
47
496
416
192
187
269
881
305
215
638
424
911
549
992
568
264
386
121
250
620
445
989
358
900
221
621
271
185
5
287
341
192
537
319
900
647
7
105
212
688
186
124
320
763
57
41
501
592
844
575
634
254
505
59
718
838
102
142
50
180
476
761
529
772
153
315
306
441
110
751
628
837
568
563
623
535
123
692
916
4
755
795
298
558
503
695
282
972
966
286
739
292
165
444
872
510
743
32
700
814
687
705
433
710
652
467
607
763
690
430
121
134
182
370
589
462
110
990
497
467
875
41
78
321
687
292
63
841
386
188
227
823
478
773
596
923
44
825
976
526
483
289
884
918
786
682
283
441
881
594
268
562
164
676
63
793
928
245
204
356
154
762
453
750
532
25
64
158
460
399
216
887
119
164
113
495
39
548
321
547
139
382
742
588
911
227
208
478
586
633
419
428
335
901
376
42
478
844
798
677
209
655
205
251
965
509
704
940
714
310
327
819
894
707
228
285
421
432
163
276
8
13
891
787
886
304
781
813
592
988
634
315
520
655
47
620
454
922
538
705
105
9
250
608
328
887
35
115
47
370
833
258
626
29
611
422
624
205
141
673
340
87
178
971
636
422
49
900
534
446
209
673
244
394
268
780
848
847
497
834
87
213
92
97
718
856
616
71
926
793
22
641
674
421
200
202
923
841
98
289
276
550
777
532
235
369
389
794
589
396
808
253
948
660
782
610
224
109
875
402
189
401
401
940
765
875
568
780
599
459
685
900
201
627
581
723
986
435
684
1
426
357
2
244
724
269
322
66
285
479
496
892
620
788
115
918
606
529
12
953
621
543
465
888
923
333
543
314
912
249
454
350
960
507
1
588
404
924
951
574
497
602
831
173
912
978
318
830
456
866
555
626
760
680
791
596
676
277
493
256
31
893
69
806
341
893
318
704
2
473
888
624
535
467
792
592
428
630
842
219
911
970
503
679
399
206
571
540
691
224
702
253
233
303
381
636
147
876
602
883
912
119
535
476
294
822
507
667
875
587
657
540
256
700
63
289
165
847
832
705
232
539
166
467
118
557
891
463
594
116
901
562
479
129
870
958
489
525
948
65
676
870
368
470
168
683
30
90
823
374
415
991
670
397
877
891
897
389
924
321
760
781
560
191
510
997
9
581
443
626
832
510
902
598
198
437
512
955
440
427
463
240
475
126
322
951
992
818
316
302
956
266
393
956
170
355
640
393
562
129
496
800
822
592
558
608
727
316
261
475
598
939
677
884
275
810
989
980
436
437
274
664
339
172
397
845
240
945
80
51
979
169
714
513
649
833
653
794
29
828
134
558
864
389
755
588
362
851
751
352
865
499
945
381
327
381
379
724
712
4
463
306
683
47
952
560
223
433
883
422
724
221
105
657
71
195
95
323
197
925
828
970
738
843
717
983
146
35
645
422
538
55
699
392
191
696
556
875
981
958
816
940
506
883
673
10
665
597
205
928
883
21
449
383
479
632
419
803
126
257
129
544
719
691
118
590
235
77
700
453
719
120
832
521
31
334
380
177
427
6
463
837
939
536
502
524
304
940
10
236
881
532
357
836
357
247
897
392
338
5
685
153
340
332
425
208
346
737
787
34
515
589
538
863
396
663
627
255
375
568
180
76
262
364
850
44
525
919
279
447
189
509
267
652
701
179
516
294
12
624
152
399
23
563
341
271
438
454
807
274
445
317
990
221
669
419
664
764
825
223
648
531
693
365
566
830
970
687
284
788
123
214
286
839
364
353
56
253
422
106
76
760
590
120
699
838
30
71
698
980
361
755
306
86
30
294
218
134
42
568
176
23
861
564
433
4
564
334
224
725
601
309
699
485
507
463
535
643
889
624
429
72
421
888
717
685
202
612
140
355
35
187
444
579
538
717
603
388
609
687
881
374
691
840
561
526
713
425
931
125
102
740
847
931
947
162
690
738
418
122
170
280
363
760
762
119
526
759
835
292
669
979
349
443
662
648
252
474
472
292
248
673
367
665
573
332
290
137
355
510
211
159
929
883
314
770
65
91
426
277
883
90
695
978
379
806
961
379
562
644
390
632
749
525
491
554
856
700
45
893
675
902
179
134
719
415
232
559
574
890
751
878
578
234
459
53
71
997
423
623
369
308
44
928
45
211
51
223
22
105
780
443
38
158
790
554
161
425
941
989
702
452
391
564
634
374
820
740
928
326
615
31
100
446
5
674
704
963
535
537
349
393
348
399
151
841
620
712
585
120
67
588
864
279
895
714
809
783
336
747
411
446
766
918
260
15
481
600
648
578
349
548
758
484
901
96
179
364
369
763
680
953
259
354
656
419
572
346
343
963
68
942
190
756
209
428
529
317
789
203
977
89
291
425
723
569
589
27
228
758
79
128
100
574
504
336
938
448
773
296
448
485
783
819
256
572
481
701
925
235
99
923
616
481
93
778
122
338
954
274
109
83
771
16
186
519
93
186
11
663
312
661
723
964
752
42
913
290
346
341
632
639
366
567
574
633
43
847
593
934
692
218
30
858
726
305
915
290
786
637
109
826
375
226
902
521
459
736
471
173
388
469
671
456
41
700
104
504
334
598
716
691
317
549
705
264
415
689
865
107
250
464
282
430
914
596
271
605
825
921
728
903
515
201
202
66
631
491
246
0
10
21
507
369
83
310
274
664
111
44
95
115
60
614
815
441
438
887
84
495
606
145
621
953
446
718
790
403
22
217
715
321
903
852
464
384
74
880
346
107
392
166
296
454
466
662
520
550
62
334
555
314
881
141
874
274
98
470
323
426
544
502
445
581
869
266
810
444
138
853
705
418
743
140
480
213
231
745
429
938
258
581
778
792
854
873
722
938
304
220
247
229
670
841
276
28
698
86
711
497
746
195
53
897
209
57
449
98
300
146
201
449
66
559
606
170
56
844
243
398
524
71
136
420
902
652
645
987
416
239
69
775
970
131
878
139
126
523
811
63
245
800
287
199
322
321
914
942
113
180
222
905
126
315
347
519
376
612
599
88
407
307
819
301
504
416
423
641
371
408
407
403
761
68
841
569
833
434
895
204
497
146
355
954
402
216
665
18
279
870
92
146
268
299
585
895
49
508
11
600
531
715
470
370
341
184
225
892
991
334
992
207
739
110
810
31
252
210
854
838
313
182
65
18
3
97
793
773
33
305
294
957
167
221
543
792
322
955
229
287
986
938
229
663
399
816
429
892
240
140
622
605
0
510
377
295
846
569
360
483
588
240
922
425
348
516
409
445
22
873
793
782
524
170
553
167
53
987
601
967
873
840
952
344
269
966
437
383
389
172
166
272
878
311
811
213
919
360
997
883
14
599
869
509
144
609
602
550
128
103
467
922
839
992
530
44
872
703
91
859
45
561
191
879
758
313
453
450
124
501
86
872
311
668
378
594
780
531
560
274
671
534
302
172
938
548
87
138
343
466
959
419
673
904
239
271
75
886
832
924
136
280
727
887
997
634
800
528
461
835
228
151
629
158
576
972
623
428
422
570
728
368
382
805
937
223
700
462
323
52
508
752
417
41
842
959
4
17
582
748
196
166
274
760
17
686
698
834
695
333
237
774
64
461
184
702
2
98
888
58
890
432
284
899
611
563
957
781
253
727
315
133
880
32
295
861
583
915
778
333
340
531
506
844
325
574
910
6
788
411
209
412
512
878
257
774
81
890
561
151
595
880
525
825
770
775
373
345
256
726
361
529
604
606
740
364
416
151
486
190
935
429
981
904
846
354
913
207
208
924
451
692
664
276
209
78
491
532
784
383
879
835
880
692
656
326
857
221
138
522
578
352
828
696
216
587
745
370
801
531
736
399
615
602
367
249
304
266
708
38
126
384
8
121
562
247
472
624
810
602
378
820
923
486
503
450
527
525
52
528
987
52
836
177
313
415
193
277
757
26
709
282
273
337
689
68
998
902
877
443
378
472
734
656
385
948
381
88
600
367
60
76
636
573
543
180
740
422
366
439
345
442
606
644
280
805
21
866
934
246
422
116
670
840
238
766
510
638
558
646
115
555
408
774
657
455
253
569
704
903
648
203
381
69
712
723
417
563
392
261
705
757
352
687
125
202
867
627
687
800
252
559
660
228
202
988
274
126
684
743
136
277
426
285
486
515
587
383
429
388
27
406
456
682
541
599
461
772
860
382
72
844
941
792
597
849
818
795
554
436
738
668
625
169
187
245
431
313
526
625
72
180
663
867
725
181
102
776
917
525
138
969
196
380
201
447
850
528
563
932
72
225
446
818
415
186
39
306
456
461
932
45
199
388
7
153
857
61
706
669
720
258
903
36
495
966
650
155
530
562
86
385
977
385
273
999
162
803
685
418
789
61
8
757
514
591
228
952
74
866
823
971
369
708
950
831
589
265
6
928
434
952
524
275
568
659
86
776
670
777
916
736
315
140
160
483
79
461
158
555
715
698
597
224
277
24
616
383
958
774
867
547
809
786
780
316
366
790
156
156
1
931
186
807
182
62
828
601
181
755
746
511
56
317
805
242
45
281
120
988
777
582
798
0
373
638
700
196
825
82
399
846
197
339
333
117
81
513
306
264
981
29
323
191
560
379
757
982
664
788
799
873
418
706
389
815
815
725
77
559
331
93
8
362
836
234
407
833
561
90
570
499
360
496
186
79
896
994
101
116
376
881
895
212
466
476
311
203
553
894
722
120
296
929
724
326
997
450
382
328
918
869
104
130
212
318
802
29
834
512
422
168
169
607
768
637
858
179
738
531
622
440
442
981
22
603
164
648
871
906
799
735
283
30
61
898
884
497
128
65
606
164
646
284
848
615
268
396
733
862
427
582
798
287
589
323
345
676
210
848
547
316
311
514
875
201
970
395
486
471
181
350
685
375
409
454
129
618
636
945
761
121
488
591
811
803
256
582
460
468
229
776
742
373
309
6
989
419
62
79
278
158
877
444
285
600
847
742
874
12
8
94
828
462
648
212
378
362
376
188
846
580
764
802
756
284
150
692
119
131
222
611
995
323
225
170
900
424
110
371
504
610
405
669
309
49
59
752
339
63
609
109
942
771
888
304
535
34
41
629
15
207
914
479
830
998
65
952
909
53
963
974
389
795
108
179
347
691
967
896
386
33
319
484
478
870
284
615
102
894
553
445
790
875
652
95
78
465
181
982
916
785
744
12
768
165
69
932
631
724
206
427
762
471
481
938
111
839
536
90
373
492
840
198
619
118
670
598
413
490
389
422
515
272
877
583
692
754
40
945
868
556
519
484
175
594
146
847
904
625
467
10
128
148
582
622
37
312
224
318
364
484
530
712
68
736
915
683
818
659
80
342
932
798
114
395
634
526
930
531
53
620
255
42
750
177
921
957
484
541
375
855
83
735
395
847
345
648
916
283
106
172
349
92
522
492
113
35
534
644
305
183
882
454
247
320
119
865
352
648
388
966
191
266
234
479
80
714
542
949
240
467
721
622
718
282
746
159
709
464
895
837
552
804
628
324
128
526
139
598
167
739
668
633
2
185
914
491
395
248
668
493
704
514
329
224
676
596
585
438
573
463
861
731
935
808
786
733
737
487
607
29
713
162
654
147
684
856
537
857
880
845
225
554
161
618
778
230
174
114
622
351
79
879
400
978
670
471
57
146
187
363
600
20
573
835
484
211
371
657
88
652
409
724
548
319
97
545
786
546
146
776
231
470
253
339
715
821
495
600
958
976
181
902
158
92
201
312
298
460
196
162
440
76
428
623
413
604
688
666
883
620
973
291
878
499
688
893
925
231
469
770
990
89
21
998
756
715
392
510
176
348
714
819
944
318
57
134
559
343
558
717
467
5
793
847
149
609
744
739
776
880
889
291
839
763
116
154
437
628
488
678
257
567
833
116
237
809
477
423
151
739
164
894
409
913
321
252
702
166
597
117
715
790
992
444
850
577
40
462
866
262
321
935
90
176
648
932
256
998
520
26
589
159
304
516
608
280
618
453
413
883
486
919
632
581
992
468
530
4
704
914
293
345
67
646
467
788
598
57
114
566
794
454
133
46
222
776
540
456
338
109
600
516
366
112
360
882
542
712
341
909
616
360
730
595
309
448
263
596
125
499
354
392
412
7
984
133
817
229
907
92
811
632
378
722
959
551
647
327
236
942
336
66
682
461
380
547
189
76
700
776
32
757
185
76
399
576
823
991
830
477
671
454
30
51
118
845
938
205
397
322
862
482
879
13
688
89
146
547
939
0
700
135
123
427
598
137
529
732
264
786
569
510
429
732
344
91
729
370
553
127
734
650
64
506
83
377
930
88
28
446
722
518
877
246
708
468
811
570
965
714
253
847
662
682
648
911
302
173
124
950
467
337
512
803
352
248
950
181
51
944
667
692
841
146
266
888
355
124
830
397
789
752
734
753
700
578
933
778
768
278
984
411
541
581
474
133
974
815
551
673
981
650
6
681
577
917
132
536
167
16
309
0
745
914
949
8
944
582
21
317
695
334
8
863
809
177
828
401
443
948
494
410
307
372
406
41
516
563
42
54
176
190
932
26
523
413
278
378
890
213
55
896
975
416
566
466
935
838
946
453
856
43
877
459
766
693
507
113
995
894
519
549
298
490
832
291
960
607
422
608
109
85
147
136
403
710
170
949
786
989
418
383
927
504
140
30
843
288
935
956
594
212
735
806
724
657
252
538
293
739
693
211
290
139
113
631
714
21
216
543
487
474
822
163
584
355
297
380
198
993
636
5
401
803
975
580
66
593
431
54
772
73
32
9
965
638
864
468
465
283
431
491
523
434
373
675
567
96
343
687
15
815
43
178
645
780
904
836
729
413
884
493
691
327
492
969
452
133
875
741
689
4
266
747
947
538
829
626
743
186
759
675
641
217
871
748
718
221
504
599
424
983
683
411
716
28
404
230
675
813
128
281
962
176
245
375
749
265
487
283
378
827
888
364
506
496
276
979
2
116
346
942
892
748
824
438
786
98
749
171
953
234
837
143
718
608
109
307
710
92
452
812
630
539
122
868
333
331
121
198
612
336
639
930
751
693
369
27
942
961
145
941
302
716
703
695
474
907
861
651
94
78
868
54
698
307
789
844
123
650
98
349
534
690
441
558
487
140
922
384
506
484
203
582
872
167
237
985
863
327
604
210
148
887
947
56
480
595
681
233
453
660
77
795
361
460
649
15
962
723
816
651
77
977
825
758
141
882
177
878
822
625
911
19
544
735
518
393
76
178
609
755
111
405
357
419
486
740
786
123
107
492
791
857
224
799
779
363
168
446
216
106
803
737
310
214
412
835
828
368
630
661
144
233
205
684
837
145
402
279
213
404
962
678
713
917
615
632
769
458
821
971
183
665
744
870
23
620
648
418
664
223
677
951
214
704
336
128
55
555
545
748
122
109
672
74
174
96
137
628
619
998
781
973
701
599
651
320
34
996
274
9
426
430
979
512
811
239
712
411
456
837
928
453
522
563
970
605
30
197
426
390
569
152
437
683
696
415
176
351
452
490
223
736
97
204
8
206
404
895
421
471
700
381
59
933
911
155
307
77
139
182
697
419
251
535
959
90
754
343
446
366
142
364
550
267
21
721
195
635
134
739
805
157
973
477
219
69
367
888
91
246
847
916
230
429
941
446
821
787
878
77
735
822
193
573
76
637
646
332
842
241
421
94
52
82
523
528
608
124
555
652
717
206
50
0
170
952
25
524
800
754
409
234
525
760
481
218
769
898
941
770
123
206
982
939
478
943
53
675
121
805
884
362
239
572
256
920
314
471
528
483
223
901
493
345
242
668
455
952
335
172
393
330
764
990
734
74
622
849
557
468
535
549
359
984
69
233
707
569
29
403
561
533
887
871
576
381
96
803
971
55
410
858
707
881
394
626
325
815
449
340
102
263
732
525
612
901
885
962
901
335
113
450
734
167
869
978
52
95
744
461
62
939
35
754
303
533
530
976
113
944
106
806
141
262
153
295
68
982
202
821
156
270
513
252
234
39
118
331
631
114
30
612
256
990
794
788
983
141
246
616
545
630
856
278
686
759
915
313
272
161
465
871
860
715
877
444
794
684
892
580
877
179
210
584
350
554
616
435
705
49
641
922
517
586
420
688
310
958
280
203
632
414
87
603
700
415
140
509
770
936
195
741
886
608
849
281
415
364
850
127
968
702
750
841
176
978
27
833
738
337
562
634
374
842
519
172
706
650
373
605
958
860
388
65
486
85
492
474
982
643
220
900
532
854
492
452
135
573
486
192
350
431
733
830
277
879
256
445
194
20
177
169
342
167
972
749
777
377
621
206
101
114
680
315
263
911
732
511
280
512
675
736
814
267
56
598
722
396
229
887
552
632
448
51
124
201
397
805
953
495
18
169
688
470
340
904
881
240
327
95
173
484
219
518
843
449
83
739
266
189
10
603
202
986
373
752
38
163
774
361
304
474
456
388
422
886
158
495
30
839
473
31
562
356
866
805
905
334
95
916
601
683
324
728
783
719
378
390
504
229
24
192
828
656
203
898
671
493
637
335
762
501
859
674
429
583
677
653
702
559
871
650
437
81
18
610
836
257
649
403
506
115
450
412
600
336
320
709
300
84
304
472
117
493
624
63
256
717
115
866
24
102
934
150
889
903
218
367
126
825
572
107
926
304
977
439
345
771
819
699
24
254
208
128
809
323
668
128
249
628
925
199
505
526
539
446
461
808
331
606
739
69
905
923
331
419
577
490
53
942
399
561
89
43
868
948
739
727
238
7
492
762
726
736
389
910
287
118
189
385
211
346
629
163
921
535
487
841
907
608
23
167
280
82
320
49
852
439
191
266
991
232
199
185
929
190
556
619
241
192
183
427
613
238
972
633
265
455
639
711
636
730
423
198
344
879
867
196
996
423
560
335
177
514
436
712
793
636
319
820
404
779
125
258
862
725
942
393
180
27
309
882
227
34
281
895
979
310
865
602
404
937
436
484
781
337
469
845
459
142
291
17
338
237
94
603
580
98
999
664
134
401
945
651
685
143
302
161
205
227
269
132
642
764
865
940
857
607
374
256
474
178
278
733
414
816
59
392
403
898
312
368
128
270
105
704
363
708
550
754
710
898
362
757
267
231
29
964
834
60
3
159
168
827
35
780
700
387
937
287
817
902
192
259
729
263
111
812
306
414
202
598
310
228
641
905
120
153
370
723
355
83
360
85
643
699
442
472
518
302
658
637
879
318
866
421
959
881
893
613
444
948
541
889
787
603
227
480
666
692
937
562
837
482
582
962
5
647
106
777
581
204
79
905
588
78
233
73
150
338
326
237
783
368
423
607
20
972
798
256
87
238
465
575
291
662
586
932
791
966
943
812
664
63
107
271
520
953
223
411
662
892
388
59
0
25
426
50
458
398
105
158
972
503
755
901
980
36
648
157
255
71
953
727
501
64
688
776
182
379
111
88
698
549
960
859
719
365
0
1
718
164
585
696
282
894
574
945
312
501
798
2
36
655
137
877
534
909
214
410
419
371
662
238
285
190
999
79
524
238
229
32
662
378
865
37
640
892
887
243
908
246
542
267
327
602
728
607
459
20
45
260
529
381
999
295
532
772
453
446
922
972
13
144
926
18
732
180
527
470
45
64
413
990
834
474
602
434
437
446
48
463
674
710
600
866
981
509
768
309
242
817
408
547
834
72
443
137
460
370
907
470
912
851
725
338
445
695
682
270
156
556
206
973
498
320
202
823
330
539
842
988
124
117
59
804
599
115
566
474
438
45
861
76
908
492
56
47
789
683
810
709
765
779
576
431
529
203
103
200
251
889
219
566
577
475
351
251
24
332
759
404
291
855
933
957
861
228
530
577
748
854
173
142
585
97
102
587
857
639
935
621
517
802
480
156
576
164
752
762
385
89
352
692
64
792
851
870
166
969
858
52
696
37
377
244
822
322
716
731
681
407
467
439
658
386
443
69
155
38
596
10
100
489
167
269
882
22
307
61
25
22
350
457
768
979
10
831
457
774
829
14
887
62
71
68
94
939
180
661
499
253
594
584
451
488
226
609
993
281
442
217
0
633
847
23
967
202
644
969
580
760
649
614
310
181
925
970
338
356
729
194
214
932
580
432
747
492
249
224
203
183
623
268
87
191
985
804
760
672
233
338
899
36
967
368
650
656
553
397
484
556
855
292
474
862
121
429
7
188
197
780
804
139
426
740
275
554
661
297
856
377
561
929
403
504
220
737
783
95
202
146
166
211
702
880
830
411
298
258
861
313
333
437
443
926
591
373
401
313
546
766
990
958
120
184
309
732
806
809
57
634
290
218
295
705
136
343
563
711
703
385
35
170
280
374
691
635
380
91
626
236
118
490
107
196
241
655
800
259
201
391
708
125
720
465
614
410
96
528
140
449
62
188
794
628
700
317
189
170
480
462
146
854
870
736
199
22
798
512
258
696
846
10
280
969
959
633
653
727
295
355
993
281
807
831
769
81
625
156
198
963
920
580
372
425
477
253
361
483
292
755
110
30
886
283
152
729
669
901
667
260
397
899
157
460
116
779
712
180
69
942
772
891
347
404
78
158
45
295
434
937
282
635
535
272
848
708
838
949
661
388
357
644
548
904
483
606
476
808
812
642
372
931
683
315
103
976
21
643
908
377
423
797
914
394
993
167
804
271
501
269
264
986
982
842
214
347
945
583
330
453
528
939
98
419
997
871
284
540
818
152
356
640
866
503
573
698
680
510
865
174
449
508
435
758
113
618
378
722
950
741
521
929
924
950
867
801
182
541
931
642
86
451
969
696
559
673
694
908
881
39
439
309
811
710
82
815
169
675
91
967
902
628
582
706
57
550
253
617
846
392
607
868
866
312
71
948
164
567
576
316
321
655
42
209
653
396
633
161
666
487
521
709
475
575
419
173
855
178
501
376
551
327
417
479
88
500
229
730
256
923
177
257
592
167
222
302
401
727
864
27
975
58
18
380
877
872
925
485
71
927
357
703
276
95
704
553
932
948
595
542
471
657
817
816
100
786
180
140
687
622
531
458
184
47
204
941
832
900
978
434
715
664
490
16
355
409
78
932
1
181
363
817
900
802
549
787
497
834
895
958
441
235
345
380
7
190
177
236
874
563
428
627
38
170
660
706
973
426
570
222
566
184
672
415
694
59
797
366
173
902
488
281
530
412
514
688
988
44
179
854
260
285
626
537
603
40
338
551
831
422
5
414
636
366
340
748
959
59
592
911
449
306
515
94
696
989
159
170
804
945
831
785
488
342
525
687
405
521
957
785
341
888
56
272
943
707
438
264
713
343
766
393
757
61
48
113
508
78
823
975
908
63
186
766
792
622
685
583
708
204
482
419
733
405
757
443
164
753
824
566
58
396
678
473
148
848
612
929
877
365
875
387
840
151
53
734
417
531
166
798
818
324
973
765
617
857
659
63
895
205
374
392
628
644
265
530
22
981
132
680
401
950
690
54
107
698
0
802
28
462
335
246
146
177
38
588
907
435
264
526
791
849
266
191
129
94
589
357
535
622
142
260
101
617
70
128
21
432
849
374
721
672
98
6
540
214
41
141
224
882
497
800
30
936
318
27
211
813
305
113
210
690
97
67
944
348
430
336
204
909
224
81
275
411
276
374
85
219
3
998
182
867
839
824
719
198
27
505
558
300
71
715
462
2
283
5
580
760
556
692
650
570
114
341
674
208
737
958
667
599
130
538
660
287
634
279
6
909
497
876
784
563
956
744
257
738
849
714
188
722
672
443
332
463
476
487
900
760
47
340
265
748
67
764
519
338
341
944
210
949
131
394
19
875
777
482
212
482
769
256
617
466
768
358
43
489
641
579
287
395
419
20
645
509
734
159
297
778
227
652
937
141
845
346
356
629
632
162
982
9
913
243
654
793
889
5
813
379
559
212
296
43
512
619
583
285
263
830
494
219
830
975
983
857
158
672
115
572
566
758
549
582
681
603
77
654
335
632
187
575
755
773
353
709
477
802
601
382
147
716
56
108
873
438
685
480
705
358
555
470
170
521
658
87
277
238
385
356
617
55
367
669
932
965
870
683
545
37
764
933
731
649
531
203
653
950
628
249
244
690
833
388
110
160
545
54
646
625
508
687
585
309
882
725
241
73
478
116
644
655
390
12
578
156
515
556
507
475
979
554
873
637
701
576
789
984
953
315
320
569
282
547
409
95
398
464
358
327
763
533
714
575
279
390
659
968
255
971
810
22
86
99
982
745
200
972
255
179
390
291
932
950
755
962
930
529
453
177
335
32
908
150
109
161
884
152
648
424
769
648
407
390
910
156
807
49
308
569
95
268
292
47
156
977
398
518
609
40
451
317
534
289
187
27
473
411
874
451
215
285
360
386
397
742
735
432
329
229
50
494
25
124
77
664
131
96
225
123
240
434
317
692
371
110
65
81
238
952
158
418
681
884
249
189
414
739
605
181
189
373
339
384
995
787
396
851
430
250
360
939
531
20
15
126
758
535
611
448
692
878
396
839
480
471
58
676
202
413
973
981
223
749
112
193
229
799
673
208
109
747
851
152
859
542
462
638
162
671
743
136
542
225
924
442
269
902
680
36
817
172
461
760
39
663
734
51
229
471
791
204
512
72
748
608
311
459
630
139
831
454
459
748
797
593
903
931
78
787
219
513
701
199
988
555
451
313
503
502
53
125
513
565
568
329
66
858
253
917
743
850
661
706
961
51
5
541
70
488
122
285
21
111
909
770
953
139
718
238
806
738
148
324
78
736
306
827
125
122
619
752
579
398
349
876
975
654
662
528
621
824
531
766
560
614
371
200
380
20
862
570
320
180
263
223
101
789
854
761
84
910
193
815
336
33
819
301
444
732
664
4
823
278
739
48
40
525
49
694
302
471
641
132
376
650
641
428
505
57
993
592
412
18
204
229
186
244
24
531
818
756
758
632
683
399
373
236
79
953
34
454
206
243
970
187
285
902
728
336
65
713
760
30
295
332
907
340
966
0
118
833
607
696
348
174
560
879
496
199
23
44
143
295
811
355
548
32
598
231
96
636
155
890
880
338
636
704
607
305
829
219
566
432
919
122
144
25
554
829
886
551
358
519
795
597
91
526
973
168
400
376
562
533
766
472
46
627
911
126
970
67
730
700
5
987
541
118
93
357
31
676
476
558
318
254
84
345
469
710
124
576
884
456
404
935
866
297
724
200
276
673
706
883
232
230
708
867
389
853
973
52
416
479
727
595
799
302
895
529
274
587
237
652
846
247
558
710
218
285
732
683
574
226
247
242
803
804
804
772
735
707
664
888
397
799
393
684
408
59
968
20
609
256
211
805
483
940
35
468
6
784
745
452
767
136
701
148
60
949
719
948
143
18
355
364
867
184
733
755
235
702
8
262
602
75
958
564
605
91
803
578
38
315
409
263
945
793
608
134
687
763
381
667
816
779
405
162
45
97
497
682
319
588
851
785
699
539
157
407
144
922
869
197
913
327
354
513
840
921
323
371
827
286
97
870
654
277
741
647
484
460
81
621
188
393
239
282
536
686
606
106
639
618
381
432
940
303
916
896
183
484
319
534
349
502
719
41
987
700
855
600
626
832
975
666
388
627
484
591
739
29
34
760
370
668
640
17
996
937
715
560
430
864
872
169
435
888
118
522
202
89
374
352
7
246
966
604
122
323
874
966
630
430
98
729
674
720
519
126
701
124
342
418
542
408
841
541
385
689
665
697
386
828
642
109
926
38
457
346
47
872
235
342
181
840
164
762
998
534
197
216
530
891
494
347
527
833
737
930
912
448
815
979
805
914
501
564
791
479
613
121
241
768
327
832
904
131
683
909
310
300
903
170
63
796
850
601
268
596
535
796
150
453
156
193
914
844
93
518
392
368
878
357
220
118
168
929
326
754
268
687
430
438
166
644
261
517
508
175
381
931
422
3
91
909
136
970
913
926
139
282
444
305
140
289
678
794
15
733
56
837
861
556
157
203
381
914
879
736
752
826
404
865
525
505
909
525
377
837
555
332
982
32
55
259
42
179
425
459
903
740
67
642
862
717
443
743
230
242
308
393
214
693
477
807
427
354
797
368
649
341
724
911
180
0
228
846
346
45
334
465
296
606
201
433
890
564
416
138
7
583
143
388
645
292
115
687
305
453
933
704
637
131
364
764
119
213
348
175
759
533
692
902
267
827
527
86
692
807
475
964
516
174
235
46
142
827
420
286
669
548
319
801
165
394
131
247
871
59
895
830
873
757
468
59
22
701
360
892
526
930
264
835
279
752
259
38
820
45
431
807
644
947
959
557
747
627
897
700
97
675
644
807
542
604
838
312
269
502
664
588
505
674
676
60
411
35
873
368
670
988
672
436
482
958
646
109
943
321
810
848
648
94
358
80
449
462
73
767
500
882
291
777
230
964
960
902
391
472
492
146
396
752
996
960
823
793
328
528
581
523
709
399
703
355
632
547
645
919
610
178
791
221
198
36
769
291
394
683
144
366
516
624
783
223
567
556
895
32
578
270
750
251
45
887
948
570
136
898
0
273
324
493
629
345
191
712
833
451
786
318
887
379
8
905
200
466
224
850
190
778
234
500
537
88
426
855
337
742
338
418
956
905
850
410
662
869
230
905
783
578
266
383
549
793
841
935
315
65
117
816
315
862
619
786
157
554
121
275
495
619
86
124
428
575
869
510
648
54
176
612
144
887
400
157
436
206
666
270
676
33
209
807
176
989
58
37
816
510
412
729
227
683
718
434
278
597
468
796
717
666
620
363
838
81
880
97
396
639
651
657
365
722
934
984
33
183
233
417
603
813
810
21
439
85
232
20
893
132
190
819
854
590
951
912
348
68
489
374
791
656
973
853
177
457
585
186
797
981
793
279
350
975
647
29
476
598
688
342
174
175
168
651
285
770
60
70
848
389
58
84
496
656
24
597
937
828
286
541
884
699
203
80
51
361
830
885
282
193
394
558
238
694
754
428
153
815
209
456
730
665
653
114
885
766
389
75
739
945
332
828
40
590
497
448
44
667
543
96
59
541
202
303
80
65
345
928
970
540
235
175
926
563
488
944
29
422
785
220
153
513
534
75
357
473
818
657
200
155
209
705
214
936
143
11
132
433
456
786
989
347
326
852
98
509
981
133
308
54
496
427
788
376
340
889
743
911
234
58
85
683
782
389
371
339
169
326
534
627
369
528
140
587
138
290
752
654
895
217
546
366
424
785
555
651
167
23
19
397
305
656
189
644
627
37
114
75
854
403
855
513
682
547
76
431
448
544
378
556
478
410
752
879
616
7
988
328
513
304
875
26
289
11
800
834
473
913
635
340
425
541
11
419
729
466
92
501
373
529
258
326
907
442
885
182
817
99
231
673
381
391
349
432
656
152
23
979
478
891
185
12
625
71
898
846
784
771
467
977
821
238
993
297
202
928
647
457
651
679
453
665
554
698
75
306
457
360
785
345
78
360
320
328
516
569
314
433
181
856
531
934
263
197
606
261
869
867
610
761
268
339
183
643
539
832
297
696
681
587
40
229
978
319
116
84
174
934
264
882
218
53
457
222
69
186
11
822
711
704
866
430
849
940
789
713
409
173
385
714
836
524
516
877
980
357
606
310
968
227
415
30
117
49
756
710
792
19
655
686
866
731
65
5
61
201
508
601
430
162
550
708
319
444
573
246
892
610
638
875
815
42
831
242
581
555
328
953
81
491
304
485
573
166
856
205
919
41
952
305
977
519
557
462
291
249
734
789
397
287
647
764
970
864
869
584
60
130
446
690
651
382
32
381
190
413
300
398
257
450
427
382
690
769
336
746
999
133
917
427
722
639
776
32
417
205
692
133
901
421
111
947
661
924
614
757
312
436
950
608
246
59
485
706
607
292
887
64
427
42
986
557
522
808
27
138
382
645
680
405
814
283
908
475
741
873
723
297
35
355
494
149
466
495
803
120
433
684
935
34
896
355
96
491
351
217
694
445
689
165
603
485
643
715
860
542
871
786
416
102
868
567
657
375
105
443
930
633
475
229
420
436
211
612
221
645
983
284
670
27
282
829
967
693
418
492
955
462
365
638
92
236
235
384
140
621
562
187
574
693
147
540
641
26
560
489
138
61
110
500
184
318
608
982
446
631
459
679
356
223
967
350
256
966
306
675
230
612
81
574
861
840
407
594
189
626
303
720
358
419
229
132
962
115
435
767
702
38
521
978
452
125
143
551
368
297
775
877
423
863
459
961
973
922
258
80
84
783
221
73
189
159
512
952
140
837
797
662
215
420
620
557
868
734
967
124
519
371
382
429
201
160
198
309
735
390
106
658
648
965
564
233
273
406
603
988
484
270
787
943
45
534
393
291
966
471
859
840
697
711
977
656
140
183
701
26
575
437
521
671
616
824
669
356
907
474
704
347
632
325
379
12
597
900
675
590
128
301
448
297
578
489
138
807
464
444
869
370
819
878
423
415
135
643
367
191
317
212
938
621
529
151
87
853
175
864
427
750
723
273
385
926
191
226
464
272
24
282
465
231
879
683
976
312
850
941
733
634
945
91
150
456
783
197
18
347
848
7
746
395
877
188
620
156
256
529
765
955
653
310
886
126
966
115
645
39
579
690
573
439
578
667
365
594
180
188
758
147
905
556
636
451
556
518
139
133
288
176
432
765
906
868
467
23
847
696
19
341
183
773
955
547
720
907
62
185
821
20
279
599
627
258
863
526
430
930
510
190
706
422
104
59
855
899
647
209
629
219
925
548
696
302
5
731
755
164
365
522
162
463
742
493
470
640
533
993
821
68
78
135
136
471
442
73
640
523
645
199
826
342
268
417
725
888
927
319
439
636
799
733
599
333
251
999
900
82
330
162
249
304
27
97
537
490
981
2
315
595
407
0
909
301
333
215
367
865
180
720
887
642
610
504
272
290
916
492
735
152
883
305
803
603
990
640
847
127
470
185
183
293
8
552
405
207
90
316
101
40
19
166
696
586
917
380
953
722
458
995
572
437
796
349
671
24
231
71
515
931
583
600
788
923
672
122
873
408
963
17
263
660
176
749
60
686
231
217
572
811
994
109
301
762
549
742
787
376
916
65
108
947
169
378
199
272
991
20
496
50
315
966
665
140
431
713
686
741
23
586
737
440
532
826
192
580
825
577
421
268
345
967
562
590
253
301
416
650
109
408
453
745
207
303
84
510
401
456
386
251
837
851
53
390
832
604
32
136
694
906
340
387
798
886
946
693
209
703
40
766
256
390
854
759
197
228
616
175
249
307
292
120
532
64
450
985
720
610
194
499
616
93
50
872
526
704
304
486
185
720
772
103
535
414
468
747
793
978
909
367
965
684
93
412
656
239
423
778
45
80
319
252
947
792
245
279
329
427
874
488
391
807
968
277
244
761
168
455
261
386
362
910
40
879
168
699
692
468
287
613
803
306
337
980
283
607
861
642
136
621
365
527
734
605
803
722
253
189
675
318
943
20
921
70
519
57
497
72
112
677
434
641
233
537
753
792
106
210
507
0
735
267
824
561
362
285
768
933
581
353
462
32
574
380
853
519
744
576
524
443
414
652
79
997
254
318
640
286
530
931
535
532
318
645
883
47
891
164
594
288
222
661
368
594
187
461
544
649
342
734
271
466
826
88
914
81
924
379
860
213
173
603
46
430
995
682
270
689
854
458
500
724
702
349
647
211
623
85
337
13
33
103
475
877
359
399
880
12
513
251
712
431
636
8
847
378
247
151
403
771
245
841
70
845
780
710
668
278
752
697
888
108
136
771
412
876
844
921
890
517
824
185
63
233
395
115
169
404
922
972
307
259
403
917
336
533
874
527
672
781
957
928
681
407
170
431
453
274
446
313
737
821
663
561
449
211
232
656
407
219
548
206
797
608
62
387
813
96
134
256
725
599
524
395
592
682
643
913
208
112
700
374
109
269
815
534
958
188
978
798
679
234
777
503
128
796
131
867
249
299
857
249
927
456
977
947
221
98
231
301
273
239
344
163
585
936
75
348
287
606
321
311
532
403
431
271
907
632
97
564
820
104
191
491
256
483
374
842
933
344
605
986
716
920
792
332
727
693
151
910
840
683
62
158
543
55
935
116
3
436
524
9
112
738
903
445
688
898
768
150
259
883
106
661
605
424
218
203
633
794
39
20
851
315
916
570
170
902
728
978
587
678
276
344
609
326
75
140
350
916
701
66
849
943
785
549
769
669
310
121
151
687
224
257
690
817
967
301
502
285
32
285
291
994
48
895
531
378
817
14
463
61
328
779
267
536
865
862
841
385
934
130
771
769
10
944
152
271
711
752
887
467
748
35
691
727
435
711
492
815
967
569
527
232
855
505
955
863
782
115
680
250
836
825
681
979
275
903
509
421
931
608
630
342
119
764
13
335
264
174
50
691
554
616
548
276
477
890
197
712
671
770
363
854
573
516
145
902
713
682
409
922
560
355
770
955
472
854
62
803
776
388
720
581
610
789
827
243
776
528
663
438
30
716
157
11
771
762
49
542
432
973
541
737
248
670
993
17
931
926
143
142
675
413
827
526
848
507
130
437
790
641
755
305
999
715
848
604
998
614
761
151
597
781
216
62
615
795
104
366
3
350
964
98
489
978
237
198
908
171
870
722
355
997
226
102
470
920
94
467
649
363
545
149
37
637
990
294
344
347
2
93
963
159
60
188
768
250
898
412
181
319
680
497
472
77
43
204
355
983
627
392
916
327
565
270
774
440
682
794
737
812
174
569
575
314
658
7
748
573
134
489
556
965
260
502
85
392
759
934
777
449
666
1
224
963
518
483
465
586
676
253
586
236
655
405
906
97
44
195
584
212
370
214
174
58
296
285
858
689
989
27
296
670
470
262
303
863
585
18
989
918
208
189
458
241
29
925
726
554
519
474
972
595
633
11
22
282
665
293
307
792
989
121
51
521
358
104
100
831
740
323
545
37
612
360
715
87
507
497
897
666
312
497
861
553
512
996
178
94
506
616
66
448
187
42
697
549
717
441
342
377
151
248
333
860
368
798
510
175
912
18
199
747
119
216
765
501
813
654
289
423
477
548
408
525
497
413
827
915
824
62
737
309
326
142
288
433
66
574
610
722
782
913
170
18
52
862
570
972
218
890
736
525
587
802
45
572
433
820
635
985
639
399
157
169
284
699
984
727
407
102
701
477
252
94
980
283
526
456
288
695
456
176
779
293
568
293
286
62
959
116
718
752
441
916
346
973
811
121
753
98
580
52
494
883
256
435
245
879
481
57
827
569
768
799
492
935
592
321
609
122
629
925
450
554
74
8
720
254
71
958
581
337
487
374
866
189
138
524
775
892
429
274
100
514
870
661
282
705
284
756
366
238
111
763
743
734
880
425
31
544
522
602
695
917
898
565
197
734
809
181
199
839
622
296
54
129
640
62
361
507
431
479
710
61
609
23
494
706
84
287
664
222
23
40
664
672
672
299
330
900
793
597
110
157
599
125
674
997
302
81
875
365
588
252
916
577
879
383
445
785
858
724
35
485
118
517
631
237
875
647
12
297
793
34
962
219
351
705
551
652
701
905
304
903
970
472
380
909
393
17
536
149
904
575
974
391
985
764
308
778
877
629
224
678
713
793
405
564
791
802
853
995
673
669
575
201
208
838
881
223
617
179
958
244
21
863
802
343
950
493
924
75
519
628
363
334
782
685
458
363
461
365
312
293
108
231
895
71
622
79
476
602
420
483
166
947
933
438
974
423
987
824
631
583
552
196
768
806
459
595
180
380
568
167
95
912
560
634
992
366
311
841
725
555
188
161
372
53
763
653
400
869
777
268
177
734
203
253
861
421
277
814
811
691
625
464
10
890
254
763
966
686
640
957
764
74
997
787
789
86
946
113
856
162
3
438
172
267
112
553
701
769
472
290
41
861
242
316
717
946
660
941
507
312
64
116
734
397
751
166
846
89
958
378
981
383
316
32
692
340
656
433
204
828
725
577
444
344
858
845
140
636
9
0
875
387
850
999
47
410
706
102
908
571
492
419
589
34
896
140
571
201
835
74
716
736
506
765
659
724
942
493
891
556
640
795
681
355
824
301
379
287
791
797
528
125
176
913
654
76
488
676
231
846
821
273
447
463
584
620
498
460
367
350
746
612
36
43
953
819
254
432
63
104
387
836
956
523
282
716
622
214
173
339
432
760
852
221
656
266
281
643
106
806
148
620
137
449
225
109
402
496
995
710
216
283
638
577
731
895
930
630
427
290
217
765
984
742
4
950
546
63
66
113
518
367
806
174
91
889
581
77
59
539
757
273
648
287
767
229
229
162
616
237
939
334
820
631
805
111
704
514
42
392
577
443
888
197
207
790
55
622
281
729
75
447
560
818
708
698
554
5
416
465
18
704
154
995
964
454
967
726
925
954
103
553
146
668
671
642
151
788
434
182
604
775
431
277
586
469
391
216
510
16
248
917
489
547
721
403
434
297
265
16
767
568
66
761
28
663
128
160
993
948
329
909
233
875
371
718
979
720
269
515
77
667
384
812
921
359
622
177
121
594
752
416
30
389
299
657
593
24
78
845
886
734
665
483
709
841
586
448
882
444
895
855
702
788
406
834
680
391
762
700
595
958
933
452
696
590
417
289
297
734
745
44
92
796
752
369
221
992
219
864
309
725
475
460
98
461
273
325
349
907
147
763
230
697
459
627
867
43
653
529
109
697
769
891
483
105
130
850
213
159
23
149
590
355
88
846
126
291
762
407
774
983
565
975
691
902
426
119
414
276
892
901
274
262
676
391
73
965
423
804
438
686
32
524
788
802
724
917
936
437
456
56
310
978
292
231
915
102
672
456
525
789
91
305
459
386
262
973
612
640
509
705
561
906
381
253
829
469
728
52
743
891
57
176
582
86
516
761
661
520
513
441
128
262
868
483
702
627
33
248
821
921
204
404
846
411
363
679
794
507
760
222
139
818
645
89
2
395
202
59
520
958
119
642
931
314
349
757
727
63
182
631
248
591
228
342
844
302
863
132
514
162
380
332
132
879
605
473
653
604
319
883
963
774
145
456
910
478
105
374
258
702
792
447
530
290
883
344
722
533
968
469
354
941
294
218
217
176
613
78
766
293
661
868
719
272
126
989
454
540
508
455
989
168
881
462
908
97
836
90
676
257
847
776
251
397
619
434
608
639
139
428
733
45
40
740
751
224
68
805
411
103
395
162
488
494
354
56
206
712
814
233
332
696
595
419
216
694
863
409
430
433
111
323
562
522
534
85
134
295
113
90
613
492
443
817
652
843
761
328
435
872
825
973
894
779
535
126
471
303
75
792
341
993
409
847
765
362
290
12
919
645
412
627
32
384
218
302
342
590
789
246
974
666
561
207
214
618
743
799
312
315
947
245
671
986
363
961
564
815
92
150
219
538
485
59
198
86
837
471
527
317
601
791
424
88
358
906
603
589
208
34
567
38
740
677
512
167
936
970
794
351
848
117
711
72
448
205
447
325
0
748
998
107
879
99
174
828
247
219
462
938
373
166
890
805
501
780
493
123
355
275
857
748
93
309
356
592
232
10
721
235
269
220
987
511
153
134
722
650
229
757
741
542
542
534
17
406
869
797
683
149
107
420
748
736
774
416
667
515
128
596
21
41
158
969
685
958
420
503
817
732
494
311
396
560
45
49
347
519
550
29
833
215
454
856
49
411
685
619
574
569
311
373
468
513
680
483
550
359
371
599
7
149
716
862
72
342
348
852
925
471
380
847
259
850
861
341
720
703
6
445
436
34
35
567
610
741
947
524
227
866
783
900
181
379
11
160
666
733
826
839
482
763
71
432
845
778
29
293
408
844
69
541
62
353
106
889
3
864
534
26
145
164
24
745
719
712
620
582
525
259
987
756
806
528
159
876
440
791
528
826
21
682
957
70
460
524
490
197
971
465
736
347
959
659
411
261
100
196
301
587
533
60
520
774
897
894
591
641
990
3
150
786
273
540
433
66
320
679
27
933
179
854
833
858
725
614
814
469
536
177
634
584
841
422
545
465
594
83
527
104
191
838
175
596
647
31
707
655
940
832
937
46
574
487
665
555
306
414
398
623
118
754
276
8
592
937
425
825
108
868
965
400
731
823
369
725
849
530
86
739
306
965
124
591
377
811
446
941
770
582
41
258
441
80
15
61
884
41
766
852
632
931
802
344
776
605
538
872
419
889
92
558
631
5
675
800
487
542
472
418
285
383
622
272
845
990
237
312
650
791
539
582
128
71
640
607
430
985
117
333
60
351
43
233
274
307
171
648
103
813
790
130
853
287
728
290
508
372
219
900
110
356
858
26
107
542
59
421
180
495
355
833
122
337
647
492
377
903
923
692
21
48
123
819
960
940
639
975
411
585
251
286
29
756
735
779
425
565
604
703
785
935
478
925
842
491
790
594
177
753
511
464
448
463
730
888
975
872
941
956
879
864
766
487
245
648
543
442
225
842
612
382
539
753
197
990
151
563
339
987
575
49
677
416
53
624
871
839
294
171
915
108
775
848
761
116
570
744
145
344
379
155
882
178
369
161
208
694
201
847
479
711
604
99
206
198
941
691
77
260
51
166
972
687
996
745
488
227
2
374
703
389
178
107
972
520
918
566
373
809
285
354
432
458
412
774
518
123
365
989
378
536
416
952
197
640
581
126
125
664
351
764
949
38
459
237
153
357
294
758
586
785
267
663
271
928
791
233
933
125
419
139
299
262
896
751
879
681
374
967
780
103
600
417
131
383
902
600
362
222
194
836
887
549
436
96
375
792
716
374
350
388
542
14
367
406
422
343
983
326
226
316
741
704
199
943
796
647
285
849
81
289
797
710
407
181
167
405
189
554
910
897
428
557
108
233
718
451
949
452
455
64
958
859
756
859
739
323
898
865
985
143
84
683
267
56
241
849
192
486
221
959
437
293
22
68
711
188
127
205
99
407
25
175
498
355
306
291
177
340
169
387
551
56
232
930
554
222
685
252
135
815
12
453
434
158
502
676
15
577
909
68
280
267
822
280
22
447
315
548
639
721
985
652
159
712
781
862
46
903
848
291
144
307
366
284
425
844
657
784
663
474
257
161
857
75
269
767
57
271
364
415
949
326
725
559
324
156
251
146
119
390
38
563
549
70
964
709
799
681
447
635
870
919
57
961
494
127
111
84
284
817
347
344
530
123
205
364
105
788
516
293
663
980
458
801
940
18
578
944
869
506
666
283
858
352
154
610
519
865
508
22
624
133
436
351
498
181
687
776
574
419
820
852
433
871
494
522
975
744
753
260
172
611
594
788
947
72
8
337
143
950
593
937
10
208
709
960
541
388
49
839
175
782
974
347
268
504
964
159
859
487
717
615
403
183
346
899
421
851
823
74
458
599
158
2
81
61
761
827
635
221
937
460
992
307
184
479
497
623
977
313
238
212
887
875
19
935
978
150
977
735
802
137
443
354
22
583
530
40
265
594
958
498
679
47
373
227
681
331
618
376
25
573
828
585
512
881
33
630
425
620
675
48
391
281
755
287
610
196
7
103
115
103
562
292
275
510
935
507
187
55
635
253
867
250
446
524
133
420
470
497
56
738
560
318
631
723
170
991
836
104
121
377
220
924
941
300
46
388
863
306
263
437
643
341
169
750
754
851
685
927
425
447
46
269
390
543
912
422
112
471
499
348
740
797
467
708
747
721
890
525
635
255
787
4
750
790
33
722
772
860
742
82
863
794
158
628
421
607
467
276
262
593
404
406
917
851
233
56
294
957
749
79
465
118
276
504
329
686
730
293
685
705
743
403
451
411
487
359
717
23
616
223
605
92
789
743
156
790
843
426
899
489
176
556
724
847
649
445
312
449
14
953
84
111
214
377
146
217
88
768
321
260
188
908
95
816
450
576
315
710
294
673
86
131
904
117
532
634
912
214
23
51
955
837
679
54
971
390
840
258
581
828
569
199
757
81
483
9
434
115
452
192
398
761
682
268
521
447
259
86
560
269
859
490
34
553
33
227
38
30
31
105
245
13
96
696
551
720
957
841
606
359
647
427
199
270
883
45
358
926
681
761
582
403
153
679
242
974
604
949
477
961
881
428
386
105
371
531
727
87
329
853
447
303
206
40
377
256
327
602
619
216
637
226
771
651
601
57
724
395
194
236
895
81
731
172
632
911
753
547
428
117
84
520
765
514
384
317
501
451
760
123
130
354
921
413
654
756
775
887
482
835
778
596
241
21
653
172
264
384
710
850
973
563
26
408
934
150
156
149
258
836
431
980
897
677
358
985
172
275
146
151
966
440
928
703
426
219
52
376
603
110
595
999
210
141
132
70
760
765
936
126
962
533
926
714
470
910
633
479
198
858
726
515
383
172
897
550
897
722
185
678
983
109
333
318
665
364
687
827
770
796
760
819
778
914
348
488
890
342
465
591
403
235
208
269
317
122
976
532
211
453
892
526
906
690
751
425
64
680
900
250
596
219
933
245
223
95
292
530
450
139
656
23
596
794
144
848
763
327
685
556
160
179
338
540
970
126
660
797
225
45
853
506
921
677
59
497
75
466
435
991
820
586
656
628
736
584
338
268
853
671
917
940
387
515
649
197
746
70
812
89
358
645
481
951
920
419
753
281
336
501
352
294
238
282
106
678
411
65
763
263
682
604
386
75
896
351
915
459
53
894
764
524
824
838
201
478
648
355
530
485
497
208
110
104
383
587
5
537
563
982
596
267
987
976
392
296
240
654
238
659
202
719
370
393
221
856
316
118
288
637
365
72
300
451
497
971
736
569
643
528
175
273
939
832
632
373
572
604
278
981
562
375
564
583
980
21
221
187
625
770
290
251
325
117
276
693
866
877
554
610
937
780
453
446
721
548
981
731
463
908
824
411
482
772
942
705
987
54
729
220
726
22
991
170
966
698
235
792
952
780
112
41
266
363
659
76
938
926
409
86
848
393
731
988
183
632
908
917
653
305
862
697
402
920
110
592
947
338
694
564
244
28
889
803
260
654
852
543
432
421
14
805
159
874
229
137
846
70
798
137
494
737
278
570
290
316
383
806
187
324
512
101
277
98
890
783
112
610
689
455
679
995
640
930
784
162
166
338
888
45
27
648
548
715
542
282
878
150
180
168
876
627
876
382
849
912
248
852
162
722
806
672
796
436
798
449
891
876
596
648
113
868
854
876
914
339
642
389
384
527
972
988
582
312
350
44
369
324
606
920
613
696
515
689
988
427
182
494
719
71
928
855
249
479
491
343
700
524
41
424
252
69
9
309
25
652
562
610
47
643
670
894
160
358
803
16
539
794
644
412
631
676
876
931
575
30
850
898
932
506
339
618
848
226
744
102
894
931
375
105
733
345
695
917
268
100
684
277
414
578
395
334
864
972
290
918
423
350
655
966
18
118
874
105
522
718
423
279
713
488
684
851
71
974
203
635
945
851
751
456
543
217
718
48
868
575
16
817
67
236
464
319
16
52
771
350
746
615
441
585
187
192
194
567
208
609
773
498
569
555
517
200
35
64
512
449
708
580
347
770
382
310
993
632
62
269
618
673
954
245
436
89
70
977
37
13
180
858
912
661
358
681
621
149
946
503
524
426
418
195
892
721
176
48
862
895
596
153
48
893
143
713
343
119
780
637
867
173
892
314
842
325
346
785
589
602
562
956
505
160
590
340
108
459
834
516
337
702
598
956
69
993
137
660
73
616
294
149
429
803
613
696
31
118
241
251
14
246
746
21
168
414
570
3
509
337
528
771
954
281
5
924
21
805
940
476
459
357
311
384
526
814
138
791
50
229
920
170
244
185
372
404
447
939
49
745
509
506
398
194
760
78
864
579
693
788
404
975
876
731
591
460
148
207
351
752
446
757
45
149
526
197
632
392
110
287
772
900
732
595
948
847
450
233
473
625
957
119
208
156
636
841
746
704
13
642
543
88
369
333
224
720
760
600
459
15
580
275
219
585
308
871
130
446
520
532
596
356
62
743
568
795
846
231
492
213
151
494
483
74
165
442
287
697
22
843
28
272
524
967
164
518
381
581
365
184
954
551
115
431
584
978
646
195
638
35
639
740
345
132
699
523
330
58
94
127
548
991
142
237
875
288
255
466
523
328
772
412
756
831
908
879
611
445
299
869
638
579
589
533
525
641
965
574
176
474
457
727
82
745
192
210
5
986
211
641
782
878
701
47
191
59
440
417
517
645
342
882
11
235
796
272
322
882
127
719
327
552
623
34
985
728
834
606
771
321
525
891
758
878
779
506
595
29
374
811
107
523
564
227
162
360
531
66
943
898
434
287
566
128
899
389
980
308
863
398
483
596
834
742
900
443
603
132
537
761
108
302
447
178
135
423
385
822
182
414
352
219
72
712
511
916
90
996
109
448
720
602
494
874
341
176
802
385
339
280
795
505
526
622
292
466
76
359
332
610
411
64
103
692
533
901
895
696
394
242
771
47
313
885
463
189
278
155
430
314
250
393
504
939
671
638
984
892
621
623
744
818
427
829
712
12
606
132
184
434
763
644
275
211
778
111
45
663
318
500
229
885
713
174
466
469
488
53
629
820
9
79
576
887
967
103
554
78
405
214
355
426
268
592
58
622
999
676
920
611
415
803
85
615
159
309
222
233
235
214
909
5
194
573
255
203
178
166
315
562
4
112
338
481
215
54
613
360
517
963
261
801
38
150
179
469
132
915
792
965
915
729
85
273
86
684
246
107
835
522
708
726
866
389
411
934
613
567
238
161
522
786
120
172
938
164
701
68
463
406
89
236
825
469
823
286
625
357
912
213
581
827
143
650
832
971
191
382
748
729
494
0
145
565
503
712
728
454
564
616
448
731
889
378
596
695
775
147
263
418
559
729
679
238
401
587
231
984
507
942
612
33
516
583
961
435
259
382
871
561
586
827
45
481
573
921
907
231
477
462
951
324
544
348
64
226
937
726
123
192
845
248
596
784
708
745
431
189
150
611
867
985
121
834
894
151
581
353
348
274
376
892
435
448
443
956
208
580
375
899
709
565
424
638
728
887
492
855
228
299
783
738
103
794
172
615
724
575
772
821
243
258
539
224
179
772
221
434
67
446
527
212
700
8
334
323
219
171
315
871
872
769
38
707
179
822
122
305
210
790
210
945
43
307
639
109
251
71
259
648
689
637
277
847
400
366
918
620
129
459
910
32
937
216
417
131
213
109
845
293
268
283
68
664
908
497
600
57
197
187
205
391
49
172
411
103
513
225
579
605
27
769
339
776
446
993
679
375
945
579
989
298
971
783
353
889
33
124
85
770
795
657
592
703
163
658
84
629
907
546
896
231
814
11
271
205
902
660
580
562
459
623
873
37
209
457
174
710
531
672
617
423
113
543
662
190
835
857
544
708
698
495
880
44
527
877
766
722
820
773
758
732
512
892
14
291
47
544
714
449
289
594
910
226
445
479
967
887
7
283
470
490
212
964
698
711
454
594
146
690
180
799
613
354
674
979
193
728
655
713
381
996
941
743
122
732
996
658
271
973
578
290
499
593
843
6
812
63
851
41
180
268
794
637
151
592
600
367
203
389
896
7
1
707
551
771
837
660
831
518
766
795
745
781
313
713
741
30
42
793
788
756
881
295
302
862
145
982
443
390
893
799
602
210
597
160
759
509
791
793
700
317
357
901
17
874
605
365
37
487
773
932
990
594
699
169
497
189
266
935
710
630
507
558
694
879
359
152
836
568
186
36
911
496
645
661
361
505
469
131
983
726
305
621
888
747
89
470
252
425
304
414
514
819
193
765
288
660
922
866
671
725
387
898
590
211
105
764
136
715
543
478
531
651
891
400
267
843
2
937
701
521
820
404
81
511
600
28
146
231
335
392
651
169
190
484
572
764
60
14
887
957
700
759
975
235
926
970
520
850
152
201
734
478
722
952
638
708
291
636
558
221
299
675
933
98
635
629
965
326
12
222
196
506
774
630
476
560
117
680
449
386
398
901
403
555
895
703
500
423
896
291
551
287
771
931
28
565
725
441
738
949
253
273
164
250
930
155
919
335
585
867
238
137
641
854
923
939
504
974
23
422
132
934
188
728
422
119
428
104
27
104
742
358
889
943
56
954
984
632
523
835
22
398
989
751
782
467
767
168
683
421
145
321
995
889
894
489
126
781
210
882
803
414
12
650
841
466
887
91
216
345
877
480
454
107
950
833
345
883
926
804
915
46
18
986
228
911
524
390
932
374
791
544
498
489
676
621
54
625
117
355
851
30
55
824
853
394
589
195
527
682
69
743
749
447
115
729
677
950
626
327
172
631
356
121
581
263
413
67
605
976
258
841
886
491
501
417
327
568
206
496
250
820
240
644
532
840
941
923
359
649
661
84
554
472
671
749
6
293
447
617
728
891
745
485
490
570
139
239
80
754
441
374
101
311
773
982
1
129
892
972
783
45
604
862
384
303
69
854
761
294
951
777
302
635
421
352
645
400
814
141
517
958
516
160
761
465
915
137
224
461
80
266
582
244
933
447
445
558
636
865
492
953
606
928
921
473
239
857
33
829
126
759
38
31
89
303
424
947
412
915
599
322
359
993
385
482
865
593
513
569
284
8
408
590
972
21
964
921
858
787
638
144
1
155
214
775
194
902
809
114
466
904
811
597
846
745
789
173
244
996
151
438
684
398
144
597
781
800
572
534
608
131
34
296
77
513
136
507
222
50
62
872
518
498
617
274
884
488
678
385
210
236
100
902
850
878
639
879
677
578
396
748
5
480
940
361
232
791
257
239
577
729
824
87
220
839
305
821
833
248
322
389
130
202
665
418
324
178
320
783
964
321
922
7
901
887
747
20
553
244
142
253
12
713
286
172
987
280
181
803
664
696
280
400
910
462
998
761
105
801
604
937
386
837
73
919
775
772
624
585
602
969
505
950
775
857
592
190
395
217
146
151
325
98
994
66
992
879
693
375
943
936
6
278
966
655
754
111
51
147
199
450
869
965
288
976
891
121
996
145
854
121
286
226
406
829
561
310
688
739
96
430
467
6
112
238
70
533
374
579
846
46
291
225
52
860
111
418
619
970
3
639
960
876
242
737
433
243
198
549
27
144
138
212
243
710
598
330
990
4
263
338
18
57
191
694
998
357
935
224
998
757
557
509
257
932
368
76
17
260
346
250
25
211
431
721
975
69
220
823
743
163
485
19
231
169
662
502
266
984
256
808
240
239
733
374
919
645
945
453
119
935
86
833
406
102
956
998
668
812
617
621
661
822
230
560
899
817
912
160
538
647
508
351
163
144
284
788
453
209
785
966
833
452
634
727
545
516
905
470
465
907
390
845
253
228
151
541
376
13
2
857
710
837
705
482
977
308
928
278
320
899
578
764
467
520
489
785
244
283
61
126
88
436
240
584
510
446
712
306
473
751
945
78
929
591
19
104
104
701
277
487
381
973
660
236
817
309
6
644
918
598
364
653
23
212
214
228
84
229
39
337
807
586
568
683
550
590
836
894
606
33
691
82
345
933
367
442
559
971
138
726
918
697
111
285
441
113
904
405
563
378
211
17
404
76
574
485
543
166
1
350
715
72
625
629
72
190
851
403
154
645
809
303
879
561
285
964
25
343
646
659
879
352
246
884
186
572
125
771
977
132
737
632
931
583
815
357
45
320
224
476
696
476
51
356
956
436
471
237
408
36
921
637
55
466
839
817
772
979
850
914
799
474
97
500
749
610
957
989
811
895
645
931
129
302
748
947
461
51
935
827
264
478
162
762
691
670
248
301
862
877
340
91
156
243
951
470
314
75
546
359
933
97
548
403
231
55
471
391
344
781
485
441
1
564
954
598
844
670
837
174
757
917
34
693
59
320
281
719
973
776
254
398
801
496
176
243
669
4
631
763
49
440
723
457
301
359
709
411
764
714
903
599
943
869
697
77
463
387
603
698
816
262
586
146
713
728
279
55
919
406
299
38
369
382
549
732
31
249
240
920
875
878
195
253
179
686
215
93
596
248
725
708
566
332
607
64
454
355
105
928
311
98
147
478
730
441
98
306
861
392
151
453
71
628
518
832
791
671
819
607
56
450
81
145
33
828
444
452
647
274
7
407
365
920
435
705
147
637
426
395
667
815
889
14
479
983
128
905
852
502
916
134
813
454
568
277
600
107
818
549
485
262
625
102
517
394
703
426
895
56
842
782
90
872
44
262
538
638
558
407
663
793
305
147
771
591
68
293
614
866
329
234
573
643
484
409
196
344
451
48
359
83
369
251
420
735
868
715
865
611
678
829
483
41
789
29
360
615
709
126
302
593
557
707
670
388
380
272
867
606
113
26
517
920
543
546
981
94
515
246
448
230
978
479
489
127
814
646
725
283
553
618
910
104
146
732
767
692
42
677
340
30
20
483
414
357
794
471
594
199
934
320
693
967
598
631
476
916
539
668
816
814
545
258
609
943
948
716
772
642
959
21
590
981
17
922
655
329
59
808
534
989
616
669
151
421
823
704
810
541
493
497
629
857
62
384
98
419
773
537
302
949
118
941
225
68
857
839
478
469
572
539
885
472
120
764
632
474
446
71
776
436
803
580
359
566
675
914
0
547
370
135
557
625
909
460
120
998
924
313
903
522
35
975
461
97
941
108
283
738
708
572
467
143
784
218
678
356
593
917
409
518
543
61
411
457
457
165
71
62
523
560
696
38
893
949
689
496
182
656
673
366
435
649
372
166
146
94
461
511
918
299
277
630
184
519
262
410
797
705
868
900
913
696
82
924
191
487
748
143
942
676
539
181
585
679
242
846
536
998
458
831
128
43
613
252
126
938
584
718
755
350
587
552
414
480
618
740
105
94
206
638
601
449
718
248
85
573
299
527
54
491
734
632
285
685
111
937
56
564
131
579
628
545
650
383
56
32
846
527
443
218
385
172
424
791
937
980
910
891
226
38
417
875
861
943
87
940
455
670
18
680
559
43
587
97
461
635
441
312
142
315
729
395
383
11
43
493
433
261
476
349
969
614
81
610
83
530
41
642
714
946
898
176
745
451
79
977
693
290
56
539
503
529
663
890
829
417
730
231
214
448
685
589
422
737
628
5
960
491
626
68
385
297
214
450
377
106
160
390
763
925
336
759
409
988
750
606
440
521
827
739
528
789
93
370
489
326
796
244
439
332
925
731
900
917
359
358
629
319
123
682
379
537
9
621
542
530
613
689
720
725
663
701
468
429
71
724
722
421
32
828
231
294
861
289
624
220
26
660
984
838
19
800
788
488
618
631
729
487
670
147
927
216
73
488
883
971
170
134
212
428
886
224
791
826
274
811
57
664
686
378
186
37
722
438
411
482
949
728
863
330
98
337
597
751
252
344
368
469
654
111
874
503
877
313
325
940
917
677
445
341
14
927
684
142
143
171
824
819
41
669
59
443
867
844
652
645
814
441
58
374
386
308
432
272
517
318
645
663
75
356
529
370
944
839
134
468
31
32
852
202
406
955
903
102
389
527
588
227
789
362
578
681
150
370
797
598
132
426
99
762
57
501
835
687
549
901
177
336
869
38
348
654
302
407
101
525
584
859
408
886
361
77
82
216
86
221
839
582
440
949
957
594
525
278
462
845
0
323
855
248
29
569
360
318
908
130
168
917
191
834
427
570
537
488
656
181
428
297
224
124
47
838
325
880
854
156
287
636
342
410
317
779
476
91
464
539
608
913
77
818
584
345
39
309
859
868
623
948
673
134
558
24
731
642
984
879
148
370
300
927
832
447
33
892
751
94
106
711
266
58
914
891
348
843
230
287
761
417
214
344
684
621
455
744
398
391
240
796
558
899
52
851
710
925
69
326
838
238
504
956
861
633
193
753
809
739
878
310
740
33
169
940
586
937
502
213
121
421
849
698
42
364
51
770
132
370
349
412
24
614
207
708
712
949
888
783
562
315
14
253
314
84
759
823
321
191
999
602
47
686
901
449
600
646
226
5
183
717
234
633
534
768
207
319
511
917
195
449
387
513
95
763
301
89
714
976
422
776
366
415
862
19
969
592
258
562
250
761
988
319
143
53
654
345
868
379
591
946
34
316
800
257
324
835
634
31
725
844
56
827
940
804
350
975
759
240
223
481
295
987
652
112
376
165
250
75
788
973
572
158
712
4
123
11
819
592
485
256
519
989
524
151
580
713
326
881
742
613
925
195
164
663
669
962
648
672
575
626
702
934
11
764
757
677
196
803
929
487
718
205
491
57
489
477
697
967
204
406
908
876
903
437
910
944
964
681
778
763
945
64
72
250
814
239
439
197
982
343
145
534
466
908
15
369
848
593
85
417
492
323
183
414
913
163
277
434
710
224
653
292
571
460
984
344
785
443
614
961
892
667
459
354
980
984
886
363
528
938
38
491
776
971
437
976
598
914
799
411
124
525
842
16
495
370
340
851
85
823
290
452
780
76
573
946
757
558
392
162
444
599
360
946
554
680
907
998
951
512
120
267
377
791
29
794
137
69
464
482
756
114
41
402
470
603
452
564
144
869
909
455
633
613
205
388
251
298
695
533
362
950
663
751
740
465
199
870
782
544
787
251
850
491
85
545
268
928
725
893
322
689
406
240
693
8
32
275
113
413
632
918
934
894
536
732
878
111
197
914
460
757
37
317
201
44
423
797
689
44
155
308
490
122
91
897
196
349
894
423
134
515
454
271
131
595
337
662
947
22
245
175
894
273
821
628
872
237
386
685
747
168
981
961
23
945
873
713
235
7
648
833
494
395
326
974
461
752
655
619
201
375
566
485
547
341
610
682
618
374
691
483
529
518
791
993
93
6
509
253
117
800
909
736
217
673
282
148
578
23
223
159
687
196
923
642
662
101
698
254
828
706
218
668
524
832
858
140
389
785
282
632
274
485
566
907
985
807
393
248
514
606
542
246
572
332
625
9
954
231
817
132
258
596
190
702
650
597
788
295
509
946
750
496
526
216
327
156
354
963
575
910
170
516
209
198
688
667
904
657
197
843
727
399
591
899
517
849
503
838
615
567
801
253
629
687
810
293
114
266
797
217
373
259
769
385
428
252
616
746
835
590
201
764
21
918
130
725
810
518
958
53
465
750
976
135
899
906
381
971
473
296
989
917
439
488
59
100
879
917
944
650
926
570
489
670
105
736
506
896
983
53
339
188
346
538
95
762
1
741
405
661
393
64
674
874
294
298
384
141
537
572
564
816
152
262
387
323
556
880
838
874
4
238
277
182
157
779
35
394
53
835
268
393
985
27
532
361
199
869
484
488
789
592
742
104
374
858
159
107
181
648
174
495
52
898
364
605
88
22
507
563
677
842
836
804
543
65
712
382
126
83
781
727
736
809
449
299
715
624
57
262
733
644
955
651
691
794
762
118
586
125
826
612
26
171
762
374
547
2
249
568
268
404
425
107
249
627
939
933
725
636
882
33
983
874
437
939
491
302
296
718
40
496
549
411
70
791
849
414
540
442
463
504
223
879
311
728
693
579
495
825
508
58
463
304
398
337
528
438
124
403
367
554
471
521
424
88
315
579
554
454
296
868
881
608
932
745
168
982
302
356
235
621
998
756
340
448
534
700
387
113
127
2
791
703
746
425
6
80
613
117
651
986
789
974
286
585
135
466
32
963
66
135
591
383
431
215
668
331
474
552
446
943
559
207
297
927
571
101
645
612
625
284
920
842
95
453
525
4
947
204
245
474
293
862
361
323
842
763
565
328
626
499
73
670
428
330
813
732
979
409
915
354
746
826
544
663
775
88
332
618
649
534
525
457
645
401
566
13
418
529
803
449
454
886
175
812
948
658
72
774
805
38
407
547
916
226
92
630
477
321
937
230
917
906
795
424
195
68
720
828
651
328
433
906
314
320
12
307
554
469
99
860
936
611
991
601
124
607
962
46
732
553
883
1
85
447
558
924
122
156
14
688
438
422
655
302
673
819
183
414
852
872
303
506
917
900
492
485
103
819
578
913
192
859
313
230
450
621
707
999
887
600
903
415
200
576
435
293
636
918
714
912
384
518
107
729
614
867
769
225
131
224
16
780
358
867
344
450
644
26
636
766
5
633
608
476
971
980
514
788
166
741
394
300
335
75
131
275
705
268
458
64
403
787
385
331
860
32
776
793
597
787
447
900
852
596
775
683
276
448
703
223
962
566
276
442
43
312
628
604
362
840
266
304
719
681
47
501
413
815
132
184
206
281
230
877
516
237
253
619
884
195
310
722
683
326
893
733
495
107
755
997
523
22
275
86
754
225
361
684
54
9
451
85
679
562
445
392
197
990
687
5
859
622
920
626
396
147
948
608
579
513
241
965
641
891
191
66
8
843
444
260
13
294
171
181
875
778
286
376
185
988
391
464
717
132
321
619
863
607
318
675
448
952
638
814
616
991
969
84
54
594
817
21
531
354
825
461
947
145
266
917
799
802
423
427
91
453
914
344
290
614
675
188
88
841
640
201
323
618
874
696
110
238
440
104
641
523
959
689
277
225
620
210
375
712
935
720
766
257
252
582
800
318
955
765
592
240
292
935
209
356
689
847
11
291
64
273
265
861
581
112
195
231
347
417
258
853
298
759
356
846
672
172
361
263
941
551
787
578
735
536
60
142
713
650
717
58
406
145
493
99
409
991
801
207
679
177
558
433
95
326
660
461
172
795
77
852
157
728
189
353
643
184
7
906
417
133
759
224
632
162
664
301
693
368
268
420
382
304
71
166
431
385
895
563
780
584
963
535
996
817
353
214
343
593
893
611
905
58
909
491
810
676
710
530
256
385
837
568
241
191
946
546
246
917
584
418
566
775
427
560
508
916
869
985
169
104
585
961
647
592
307
756
399
307
787
207
845
830
658
726
96
821
67
932
326
485
151
215
285
711
171
634
221
939
926
616
263
947
682
838
186
185
233
690
558
548
625
582
926
709
941
615
921
27
100
91
253
337
113
168
433
712
109
776
525
867
589
497
225
826
926
281
171
451
430
210
567
864
593
195
987
584
112
808
720
608
748
456
648
507
85
484
577
360
893
28
679
366
989
631
302
908
767
876
419
951
994
393
440
522
319
638
62
455
871
581
779
826
772
278
889
39
720
297
137
638
346
53
843
50
480
379
941
850
599
806
192
374
176
102
727
362
258
388
764
128
735
477
104
385
934
470
527
442
34
368
157
575
781
422
507
300
791
387
295
703
520
877
917
192
866
457
266
687
931
812
718
264
486
355
290
983
948
44
133
389
717
355
285
74
626
628
701
765
390
743
153
217
577
628
619
265
243
757
697
576
128
893
171
385
227
335
182
857
312
108
789
801
978
564
666
770
536
434
776
45
102
33
653
511
155
277
755
448
809
632
227
519
592
300
760
797
544
207
790
938
873
877
204
961
907
423
334
184
188
843
370
957
726
671
130
257
280
835
417
249
247
431
318
23
427
920
115
770
592
426
915
144
949
569
498
966
389
808
737
53
809
963
404
24
808
344
207
690
301
9
790
448
285
181
879
165
77
242
218
112
926
610
660
585
985
688
610
629
526
670
704
553
844
529
645
117
346
918
839
255
868
794
137
4
10
328
836
296
630
649
981
435
606
670
976
916
242
913
536
579
137
872
458
50
651
462
733
515
413
290
634
758
601
364
463
799
621
615
145
994
393
2
892
689
906
719
341
369
512
85
505
427
71
481
894
903
274
321
743
949
799
994
98
112
27
431
156
671
425
359
342
788
421
879
767
718
428
774
636
418
279
562
675
105
166
594
495
348
579
346
4
323
98
32
692
22
495
755
676
589
452
932
234
495
582
790
599
920
564
661
3
992
805
182
679
378
736
185
260
187
531
919
134
976
431
885
481
638
539
904
550
216
38
94
588
796
848
446
417
998
661
875
342
527
711
379
538
457
273
455
166
293
325
237
858
48
139
539
288
235
139
77
996
869
781
198
587
453
740
344
147
339
353
232
671
434
322
266
946
205
739
4
948
823
309
217
866
664
429
623
812
393
792
260
188
920
729
492
47
361
627
357
679
299
938
339
227
236
561
172
228
229
365
928
678
876
69
328
954
727
850
278
816
315
9
930
479
642
609
639
359
72
646
36
27
733
476
57
896
700
208
54
975
801
374
115
276
724
970
793
509
364
351
782
964
766
72
852
878
490
353
215
87
39
192
888
485
619
339
724
192
854
473
524
427
87
121
490
890
45
575
464
78
824
774
67
139
454
28
822
837
46
45
351
387
831
296
325
205
638
824
565
710
514
315
437
587
943
841
877
846
323
398
469
779
914
85
100
434
455
549
449
210
391
915
117
82
23
814
658
618
501
79
732
258
230
388
113
417
506
42
289
840
872
516
121
81
123
126
319
771
465
484
326
797
154
337
588
453
682
317
611
202
420
912
885
503
796
55
914
983
185
235
273
528
689
932
846
493
870
50
213
974
238
888
302
786
496
847
398
336
383
774
528
390
483
564
853
330
7
658
170
830
445
266
796
831
215
897
21
955
584
712
790
50
801
967
367
706
200
510
850
834
582
887
850
5
70
110
659
539
57
757
991
511
212
798
533
991
668
964
148
729
227
267
446
44
12
107
303
148
19
840
850
903
214
117
752
148
1
211
824
69
759
219
23
91
361
427
642
720
610
887
908
568
624
196
524
808
210
377
379
120
347
33
533
75
629
392
4
107
20
513
496
790
557
833
390
546
958
886
737
664
482
405
857
406
404
410
193
224
985
650
972
339
570
540
741
842
111
562
785
657
449
909
290
121
819
592
485
584
31
859
108
691
911
504
974
546
200
185
241
972
199
310
834
944
894
399
946
129
160
167
56
978
988
163
402
300
159
389
174
824
303
322
234
934
773
510
737
719
882
96
44
586
230
688
546
200
355
303
467
847
561
38
822
920
507
48
809
945
82
548
102
940
569
184
835
976
812
372
958
120
395
301
164
419
85
431
76
233
902
29
851
516
419
868
178
667
414
457
134
902
904
474
3
160
432
241
720
60
199
271
666
704
359
321
228
10
185
189
679
542
711
122
365
513
376
624
4
525
724
998
218
281
788
214
277
685
841
428
300
777
372
427
558
862
667
132
950
513
595
329
767
95
125
541
943
157
783
931
522
156
480
992
99
741
803
997
862
429
616
250
88
418
424
810
711
413
417
538
434
173
789
80
632
124
425
114
507
210
870
447
944
126
486
135
564
176
857
2
501
70
658
235
371
201
294
144
90
71
958
378
318
156
909
610
547
457
56
329
273
538
875
729
210
241
791
419
4
601
246
649
546
132
955
401
632
7
606
321
179
102
159
298
449
232
398
751
333
107
929
782
744
762
415
169
267
324
7
119
354
459
193
442
28
518
225
600
673
130
288
803
481
997
44
309
128
632
555
834
140
535
54
716
653
143
910
616
545
551
546
975
545
868
950
23
805
722
277
699
186
876
503
951
259
614
345
164
146
304
726
73
954
157
581
269
557
213
743
437
440
792
717
873
862
38
894
973
373
112
592
660
672
576
625
745
602
542
651
291
274
733
883
446
51
76
277
225
812
512
584
922
829
337
775
713
771
45
531
91
86
972
965
274
458
996
168
190
61
915
86
359
719
312
846
897
597
517
171
464
153
672
206
122
779
783
276
465
449
277
31
124
656
765
419
392
12
323
946
580
354
891
374
595
767
136
345
171
80
512
430
361
531
336
42
447
585
29
665
488
516
633
651
456
43
562
284
888
989
356
435
407
597
784
668
325
801
606
361
93
166
391
726
121
142
856
133
65
8
816
957
241
334
780
595
211
111
782
148
307
5
818
787
131
979
878
35
248
455
951
585
218
181
695
381
272
534
525
435
31
616
861
745
544
411
8
934
720
152
576
46
21
627
32
704
552
400
343
723
511
845
533
4
674
923
485
57
162
108
462
899
951
725
90
610
875
400
438
541
897
894
264
888
261
103
677
102
409
182
658
315
86
709
379
73
311
255
503
407
145
505
530
617
608
360
121
809
149
373
652
703
382
1
49
236
619
959
243
881
475
247
253
452
561
127
762
987
251
428
391
511
295
176
898
666
202
264
541
138
840
582
825
672
166
450
198
819
740
142
695
142
69
869
9
753
2
58
695
707
284
146
390
681
310
242
583
455
22
219
293
832
350
320
348
496
266
101
366
641
605
392
109
324
532
105
692
321
434
606
993
349
354
120
65
683
485
30
436
571
164
2
101
491
174
335
560
100
426
443
318
294
227
368
957
291
682
951
225
929
833
318
333
769
165
428
467
436
755
954
230
82
922
349
653
967
995
62
82
8
534
666
876
743
611
715
916
566
974
381
435
811
267
766
160
238
959
405
954
595
491
802
732
236
356
476
890
535
546
407
672
710
163
268
659
126
303
990
195
477
782
185
906
840
900
348
848
977
575
274
448
891
597
921
863
478
333
371
752
232
908
898
429
114
872
337
908
8
471
217
478
779
783
316
870
720
103
356
218
29
228
231
737
463
436
331
978
687
627
160
395
691
878
296
902
229
484
387
925
129
872
291
792
267
341
694
594
821
676
543
373
127
2
88
981
958
894
599
954
908
878
433
115
178
152
372
521
228
814
68
990
200
937
614
301
92
704
123
269
539
295
405
527
710
369
497
178
888
425
30
879
473
491
24
930
844
978
487
217
873
383
664
348
127
172
31
854
93
32
351
31
861
564
339
101
895
757
280
804
318
703
719
997
770
914
728
954
24
32
818
457
672
83
797
44
63
119
885
110
963
286
395
920
540
967
439
234
982
752
91
20
88
916
759
526
650
41
939
152
329
854
395
213
964
383
714
398
299
189
677
870
780
767
510
870
270
48
562
633
949
945
117
947
684
871
711
167
592
421
409
106
157
389
108
744
501
395
285
109
95
986
955
747
675
492
674
49
595
925
178
51
990
934
954
506
889
723
437
259
346
493
902
956
540
724
831
805
370
287
333
431
755
106
464
908
127
324
861
694
462
697
115
483
713
302
254
134
614
633
174
152
87
926
655
620
435
517
459
988
487
570
704
557
847
807
499
848
696
468
220
821
764
621
964
162
118
778
151
811
468
585
344
421
686
219
512
731
808
358
396
951
91
942
523
56
748
588
161
36
924
576
607
375
467
96
726
568
844
320
90
284
17
440
370
45
930
351
507
144
822
318
146
631
295
437
580
13
918
852
581
519
228
423
821
152
661
557
308
634
347
109
80
610
296
449
768
777
144
715
483
17
509
2
733
131
918
24
503
436
803
930
726
348
432
911
89
150
722
248
781
35
998
961
929
593
133
192
619
359
575
301
191
465
858
277
433
468
679
358
344
541
51
435
145
863
125
606
348
22
729
678
498
981
254
418
295
577
869
605
103
847
304
862
407
863
321
822
313
275
143
483
849
344
672
432
301
492
73
486
541
923
662
384
961
560
855
256
515
688
250
268
817
251
179
564
308
582
856
528
602
568
457
821
673
381
780
778
951
98
749
195
208
90
641
971
399
662
92
520
777
231
187
887
809
167
541
731
625
102
590
54
882
212
770
65
743
345
323
60
979
643
720
176
315
132
118
404
457
18
359
51
350
361
426
218
901
916
225
243
471
258
423
512
205
774
141
554
949
61
135
886
797
673
449
352
130
118
437
842
936
925
583
504
748
509
16
509
489
51
726
323
816
355
935
667
154
916
777
17
879
85
471
615
527
381
681
302
75
638
767
987
583
519
864
15
313
258
953
550
535
981
712
309
208
641
236
827
785
322
859
260
943
142
529
222
593
83
240
107
533
956
65
807
226
943
307
498
172
132
274
932
276
197
312
171
796
88
415
850
262
579
386
375
127
260
767
928
861
369
554
467
215
716
874
332
309
87
743
858
14
771
269
768
578
177
249
287
262
372
567
619
6
214
238
80
923
391
575
281
332
106
638
849
776
549
352
412
965
991
691
30
238
344
812
35
998
349
858
690
357
896
910
9
348
41
915
117
48
275
923
508
555
392
198
414
961
717
398
647
545
322
285
902
662
153
339
474
648
823
718
327
14
817
83
313
559
622
587
844
567
668
706
415
197
638
454
768
200
211
247
6
356
851
885
406
204
225
476
75
698
285
183
154
752
962
97
435
889
482
887
536
678
130
936
527
111
406
159
446
494
303
28
631
268
440
235
89
10
486
212
737
374
254
519
334
386
212
754
114
818
909
507
608
881
179
851
839
783
881
990
616
390
957
91
831
293
59
256
416
824
361
808
261
303
214
798
903
918
277
637
752
867
446
44
235
434
507
609
969
616
286
511
436
879
779
867
818
449
567
240
67
620
715
77
794
166
822
559
850
598
229
170
816
656
527
377
6
190
688
900
275
647
959
517
582
577
771
226
748
546
519
670
117
760
899
704
476
754
699
311
237
717
224
852
86
158
675
924
469
65
42
9
599
316
569
554
0
656
334
869
34
848
575
288
356
360
327
94
979
247
516
672
327
647
924
643
531
268
137
608
118
258
395
538
886
123
976
469
341
681
425
335
514
301
574
486
877
745
353
172
90
721
164
375
85
431
189
673
957
576
488
741
542
541
617
443
6
605
372
421
371
41
351
3
776
279
619
575
618
331
293
43
323
476
111
751
285
787
399
132
115
668
131
8
956
711
764
301
575
93
571
217
574
50
752
892
558
162
155
119
704
738
834
239
18
697
104
42
598
793
519
168
205
935
219
71
280
876
417
112
764
361
482
777
475
426
705
655
896
931
162
229
667
856
318
127
945
397
951
13
69
730
694
809
911
438
511
126
667
62
456
930
404
99
45
33
624
632
642
504
269
814
803
258
741
272
290
906
678
984
825
694
691
533
913
950
748
959
541
410
420
321
675
739
820
224
778
672
722
360
766
749
875
38
942
298
689
205
973
319
534
796
905
90
996
868
764
432
509
918
372
147
830
158
474
716
178
597
730
847
846
47
318
641
13
871
873
349
855
855
471
884
129
939
945
240
313
946
596
881
81
717
940
482
65
110
184
411
979
103
982
68
58
711
287
972
461
452
985
626
842
913
386
593
621
164
674
458
192
832
19
145
883
902
264
318
155
779
584
342
947
769
237
530
782
309
292
48
480
231
334
316
450
486
445
158
749
101
355
287
931
730
221
308
271
491
972
126
497
15
420
217
477
877
744
442
854
487
720
600
278
664
671
971
361
319
679
825
277
532
930
426
260
636
912
0
834
852
416
459
294
910
575
347
105
965
621
631
941
860
585
493
780
741
328
311
335
288
130
884
172
247
685
607
419
911
272
73
642
451
836
74
130
275
944
911
470
368
431
419
309
603
125
237
968
382
218
59
602
364
903
968
751
610
718
40
286
761
587
634
758
239
921
472
120
280
430
200
407
723
659
686
619
882
847
442
93
88
306
293
49
760
297
648
899
351
694
139
877
471
70
947
320
852
978
182
140
966
632
975
805
750
507
360
30
616
586
822
150
899
314
600
416
467
22
81
263
321
681
258
191
143
818
958
184
759
459
924
682
757
378
485
867
332
18
201
63
727
452
979
435
865
783
46
439
927
704
216
99
870
332
639
800
311
872
40
512
427
479
193
907
840
761
405
458
259
545
533
695
736
116
937
721
306
510
69
569
655
260
267
776
434
17
91
979
183
373
990
45
156
588
951
715
234
68
522
132
465
242
919
150
827
4
197
500
247
483
976
506
378
585
694
307
932
169
490
296
839
620
920
150
866
488
18
306
689
989
254
102
366
849
691
564
615
997
246
295
316
287
636
408
272
65
725
724
216
387
636
590
503
434
50
55
630
101
388
993
455
506
846
2
122
746
649
799
592
537
619
892
602
308
508
364
923
46
99
101
384
401
925
752
754
56
194
675
276
763
151
348
884
937
883
345
564
299
83
552
233
912
436
339
771
560
976
657
101
549
928
134
628
889
908
115
758
43
532
528
763
230
177
454
421
123
198
867
910
913
113
475
16
697
746
684
359
668
86
421
522
697
63
835
609
130
207
88
428
274
201
959
19
928
906
189
384
19
192
495
62
405
606
800
322
255
50
292
370
390
83
907
567
743
817
228
387
666
70
17
163
137
966
176
491
750
991
758
666
664
191
453
987
331
293
569
957
865
265
636
978
790
48
533
170
237
991
773
230
905
259
821
678
611
432
621
371
53
783
346
776
151
285
101
394
750
565
788
495
933
14
393
886
843
515
455
628
528
85
709
763
341
386
554
123
434
845
772
181
786
433
903
162
741
698
209
356
774
495
30
652
549
991
137
618
107
678
217
972
504
840
476
235
202
335
455
593
525
521
648
368
163
969
150
535
686
363
976
453
426
624
495
153
621
334
936
605
62
821
235
705
927
240
490
405
552
76
812
750
992
607
414
277
146
663
746
842
438
791
465
150
941
295
901
466
334
622
454
93
130
813
434
929
555
466
419
428
274
822
13
704
690
949
220
951
514
771
926
776
437
349
739
744
914
967
242
732
90
481
253
190
734
618
854
729
775
982
515
493
736
705
57
445
919
506
549
225
487
792
760
788
846
861
239
665
412
59
573
675
457
678
124
112
286
836
895
921
289
224
102
823
525
845
934
460
894
488
169
698
93
491
597
882
380
375
495
161
586
575
513
518
768
691
409
375
780
359
519
305
574
715
731
642
691
789
764
803
603
180
454
117
324
207
371
607
389
680
69
491
742
837
459
191
463
924
791
592
796
433
95
289
519
104
406
882
157
258
985
691
650
791
373
318
697
227
637
777
111
368
443
615
322
801
785
218
419
942
386
414
557
678
455
916
203
859
314
360
164
423
494
718
67
849
67
552
302
751
48
9
703
495
758
209
144
166
429
435
250
315
76
758
280
937
654
506
539
581
118
753
45
335
116
826
946
982
722
691
852
46
191
717
359
43
513
817
879
544
943
209
898
614
446
309
549
362
824
110
56
182
402
71
816
483
256
823
567
930
69
143
420
480
914
47
0
350
774
77
679
671
524
796
661
707
340
306
1
27
308
420
362
583
344
474
119
463
724
499
243
117
358
820
971
187
975
614
738
289
616
903
86
513
79
216
847
57
415
968
15
630
158
678
846
358
573
913
200
823
130
153
146
305
486
7
440
582
366
235
315
387
399
204
23
620
749
219
48
815
148
809
311
243
658
801
644
43
656
836
664
626
556
552
249
812
861
388
688
68
914
197
127
562
500
542
542
655
484
783
89
498
903
759
134
708
854
295
760
928
390
80
783
935
915
694
639
22
422
805
491
929
222
636
110
445
823
581
984
654
272
884
901
900
820
354
435
5
91
98
642
730
380
880
280
916
616
810
157
381
525
914
395
409
184
914
494
884
664
964
198
213
471
763
0
644
307
975
2
535
89
520
277
881
926
409
836
881
809
251
967
540
469
550
729
473
759
26
71
739
958
89
58
416
728
186
941
545
936
115
411
140
738
872
614
888
246
105
358
798
196
209
344
396
966
776
862
398
337
879
673
771
630
35
510
449
566
713
986
976
378
345
918
517
486
745
490
680
255
501
932
614
160
526
381
940
273
833
523
712
857
883
903
898
947
986
178
871
314
70
317
835
830
352
230
443
182
861
637
553
292
483
243
490
924
143
374
169
882
556
900
981
765
849
564
566
419
100
184
128
750
887
962
199
532
519
678
569
725
784
19
912
727
969
650
714
765
456
746
777
239
68
35
187
242
425
967
295
189
187
901
598
761
734
99
47
728
519
695
292
863
348
574
648
196
947
529
778
730
908
741
160
559
894
260
445
82
30
858
56
640
774
718
782
179
521
404
271
842
178
312
715
838
635
586
559
761
901
290
805
348
455
907
728
828
709
395
843
621
633
139
861
467
214
147
991
514
141
722
159
839
656
849
282
741
113
174
649
310
907
71
229
826
258
904
174
321
524
999
750
262
973
933
24
298
294
846
235
197
550
517
679
389
388
549
632
619
324
519
60
723
572
658
351
957
944
630
459
6
206
118
517
161
449
814
819
992
533
842
983
167
38
889
309
9
584
689
735
0
526
164
472
566
14
587
141
243
110
320
366
789
98
273
824
344
528
66
488
569
170
228
912
982
105
824
177
703
356
271
395
714
500
266
567
713
165
639
596
108
327
629
197
622
129
282
362
593
12
222
939
68
912
664
504
493
177
434
553
721
605
972
460
654
766
256
781
526
657
287
76
311
87
913
267
423
997
433
110
5
258
622
222
943
269
653
843
436
228
749
569
786
468
670
528
759
358
588
879
513
288
833
474
952
863
895
196
59
748
351
520
883
489
397
515
343
834
851
178
141
431
523
545
89
380
444
899
749
435
395
109
850
513
678
865
271
848
686
257
261
999
266
647
677
756
777
46
434
842
158
940
147
281
546
246
914
85
729
993
320
350
48
197
93
806
679
183
577
567
114
249
869
786
504
153
650
526
481
902
470
485
304
947
297
677
385
943
740
147
571
947
701
122
763
732
481
561
941
611
488
714
555
262
592
151
190
546
1
6
33
482
667
853
768
937
226
771
424
228
359
858
16
591
173
671
519
894
725
339
794
248
288
145
196
420
628
128
772
279
814
12
656
711
579
445
314
451
312
665
313
59
644
412
860
504
790
216
487
793
694
0
151
630
752
830
44
6
547
457
853
500
755
668
106
220
862
452
459
117
5
248
186
890
518
646
482
23
245
347
191
325
306
89
707
325
229
473
231
873
786
396
402
814
177
45
386
721
166
376
478
981
364
31
479
460
156
128
818
306
501
326
118
547
871
980
625
915
810
34
361
345
467
636
963
382
675
546
467
133
47
424
328
536
123
652
245
571
607
310
646
911
95
553
319
454
408
845
645
980
283
851
387
626
354
627
923
865
544
481
277
925
524
580
75
433
64
243
368
942
437
310
801
312
151
169
481
657
328
183
130
860
754
860
321
66
693
293
888
331
26
403
59
404
467
848
977
835
777
315
974
214
980
123
358
875
847
116
809
646
980
555
983
455
259
400
341
950
514
950
599
52
992
466
410
263
537
934
852
408
651
240
135
242
265
314
705
748
361
806
591
484
972
385
986
961
702
64
644
320
360
468
609
529
978
157
527
542
245
59
806
765
347
487
997
152
945
703
639
652
256
904
746
565
104
821
171
619
383
494
531
598
669
146
851
94
12
145
452
558
935
330
48
535
595
474
974
405
360
438
892
461
195
9
416
850
198
292
63
696
280
180
547
926
358
687
657
611
597
744
144
299
589
179
879
907
43
781
777
113
90
807
380
341
742
919
246
155
349
329
138
124
776
986
977
525
220
827
765
21
306
404
629
218
919
823
9
113
182
62
99
30
51
694
3
729
937
776
64
802
722
6
415
320
730
514
353
789
900
647
399
374
562
424
659
312
22
762
57
316
904
428
938
932
336
921
518
96
139
439
927
551
122
352
383
737
581
988
262
937
107
506
291
131
888
107
722
112
475
58
762
938
565
700
439
455
936
120
717
64
523
92
612
565
246
122
417
417
305
967
669
74
292
410
141
286
131
241
714
585
65
325
38
365
229
183
453
81
196
543
535
581
414
384
552
289
141
597
88
612
965
775
117
911
2
532
363
431
180
721
664
408
428
384
762
690
209
188
289
294
6
181
691
777
186
493
965
546
417
879
692
135
225
948
159
509
791
942
907
473
292
606
188
926
913
117
924
413
319
921
902
61
623
926
645
870
103
822
367
520
467
914
86
198
735
666
509
558
494
826
636
506
13
992
371
619
849
845
718
558
986
522
993
843
868
482
984
302
522
446
615
248
267
791
625
488
11
231
586
481
660
66
765
746
291
124
15
116
605
833
663
369
108
855
751
722
201
790
949
766
798
886
777
408
868
361
601
880
704
40
751
747
244
83
358
477
178
126
667
422
300
585
484
487
274
733
268
200
943
330
758
493
42
934
896
489
371
461
469
963
888
183
259
749
807
506
953
605
987
451
838
405
648
632
707
923
630
927
500
245
310
538
530
915
598
351
867
467
174
635
162
197
286
818
161
267
89
73
312
488
697
220
330
405
890
216
888
118
710
386
658
371
25
894
413
707
834
626
451
986
79
180
113
716
53
183
375
340
75
838
598
276
917
135
177
696
920
596
441
590
646
428
605
874
341
161
873
618
904
555
265
292
359
983
110
564
530
93
465
26
714
106
430
648
297
46
169
824
536
119
710
76
479
493
110
650
502
809
185
117
411
510
507
727
290
546
786
675
322
48
181
545
276
893
463
103
942
871
769
10
98
204
252
598
731
573
370
813
621
927
47
540
617
531
242
687
571
116
591
170
483
878
546
423
994
394
435
638
322
952
250
807
337
624
718
704
995
499
791
973
260
96
366
956
698
534
371
488
504
735
635
576
601
941
232
217
334
73
145
13
574
564
899
714
606
478
667
474
858
448
738
592
689
569
790
116
573
935
293
999
567
601
236
976
183
258
680
791
181
244
569
961
520
888
704
430
86
957
374
98
311
645
187
587
102
804
609
784
156
283
940
135
501
123
856
786
356
552
710
900
271
966
935
891
68
984
119
164
753
803
878
610
180
405
595
901
72
60
738
282
705
563
154
29
510
490
235
104
925
777
357
172
66
849
195
105
96
878
389
729
433
161
109
578
319
787
942
894
813
663
695
620
805
432
758
871
654
887
81
168
173
255
299
998
414
265
381
648
141
684
525
526
122
275
375
622
34
239
945
834
943
83
889
567
314
264
86
149
165
512
911
259
904
890
941
948
49
95
725
782
929
126
29
851
527
746
216
752
486
826
609
610
297
627
22
241
890
106
328
265
925
630
81
409
829
556
264
817
571
947
98
428
925
842
702
599
627
112
728
588
330
353
190
417
298
22
261
114
958
474
830
981
72
327
703
334
728
475
959
203
305
732
279
713
298
404
304
631
170
273
906
315
644
674
603
871
337
69
199
13
760
431
586
368
281
268
939
889
738
374
204
64
780
652
912
128
845
104
442
360
702
544
952
168
553
405
901
811
25
197
230
309
118
842
290
997
722
620
86
956
166
827
920
114
304
732
780
277
162
567
985
40
993
784
246
227
595
154
656
426
833
260
13
647
197
266
649
942
469
326
571
526
922
324
514
117
914
271
143
718
45
250
586
791
869
576
682
671
71
670
387
414
731
681
234
198
985
391
324
281
958
98
736
23
706
366
853
885
830
259
210
561
339
99
183
846
139
477
656
0
685
348
143
111
582
503
886
8
579
300
152
905
442
140
494
854
691
208
491
348
117
565
892
24
125
442
121
645
557
649
715
491
143
335
716
852
62
244
462
382
567
709
791
946
443
410
873
755
474
877
173
422
239
799
679
771
716
583
375
392
882
48
256
503
255
128
454
958
871
496
742
484
637
319
714
536
438
289
160
834
690
118
936
371
883
289
181
395
340
968
170
21
973
0
999
780
254
672
380
612
46
756
684
296
857
103
784
661
752
484
231
911
791
540
204
996
100
771
188
903
477
459
136
911
463
953
215
413
277
608
501
70
853
354
362
889
752
864
277
64
26
40
679
182
587
91
315
265
623
827
29
635
650
378
447
612
31
410
34
915
414
97
342
713
21
973
951
468
788
468
48
845
890
360
849
155
144
690
659
554
440
725
534
467
763
680
357
859
37
532
610
609
285
466
726
897
241
803
33
935
127
240
192
921
89
867
892
37
681
578
687
987
140
638
299
904
147
308
370
304
843
751
110
76
32
170
128
257
212
806
26
394
358
144
34
902
673
334
991
236
691
884
296
348
689
593
924
27
610
467
941
276
221
238
709
525
311
974
427
241
803
568
532
471
513
355
490
152
131
491
147
787
35
146
429
452
505
25
951
202
977
368
812
274
801
290
899
476
20
192
805
940
114
226
830
160
777
967
183
317
581
704
206
824
527
311
321
249
340
502
387
489
540
821
729
34
297
230
277
85
675
319
13
444
66
204
476
113
602
944
798
977
522
957
417
490
350
408
426
736
487
271
381
965
21
827
121
195
307
417
924
466
651
833
375
552
262
794
909
112
674
907
153
882
464
141
829
240
722
691
838
390
464
664
518
729
597
378
246
27
835
815
160
501
915
476
177
127
526
991
922
890
738
651
827
79
128
830
320
99
36
380
805
807
336
323
836
830
295
696
559
863
574
796
424
643
463
100
5
899
504
340
517
159
152
201
107
787
372
503
142
60
2
892
482
390
824
996
691
379
872
791
559
322
822
444
175
878
289
89
524
732
862
695
82
65
384
250
643
576
139
8
284
891
996
259
883
617
972
431
140
311
550
30
979
653
369
590
50
194
989
701
403
179
46
839
140
447
163
190
676
605
140
30
393
76
633
383
805
647
508
921
983
213
880
620
804
851
1
112
121
371
415
898
881
478
541
910
310
451
862
814
157
656
312
485
350
331
344
591
370
541
657
295
181
627
883
858
76
70
414
429
223
710
399
748
435
775
141
292
443
237
44
375
751
348
543
870
179
943
337
57
646
749
816
694
636
314
136
894
878
519
625
407
948
90
557
910
433
816
710
582
477
693
294
868
901
106
625
12
941
263
504
520
737
382
107
400
173
893
612
258
329
286
466
394
292
639
638
122
243
35
841
441
357
780
415
180
833
937
106
924
331
389
489
378
637
183
875
253
826
528
342
825
836
21
685
400
874
106
327
878
439
814
95
637
782
473
750
883
317
173
992
552
895
503
575
288
900
573
378
104
42
702
152
765
717
726
94
478
623
255
754
429
16
854
658
826
619
694
250
746
214
170
210
405
881
155
293
818
650
291
534
343
71
284
785
108
847
806
525
400
785
312
167
646
488
439
320
927
132
75
240
974
987
687
837
855
261
948
247
955
273
64
481
598
173
707
171
577
153
712
442
996
936
492
830
557
8
899
697
301
984
903
274
809
461
304
305
154
205
677
669
206
91
169
866
380
143
656
57
800
420
584
985
51
466
491
909
892
865
91
900
738
795
396
412
243
902
944
4
273
17
9
79
820
624
88
419
864
752
649
551
422
560
968
958
298
718
276
747
824
978
59
935
251
690
930
955
192
278
903
770
293
332
183
21
76
64
668
712
791
842
561
103
41
70
175
249
76
214
844
295
731
399
813
445
322
19
425
552
932
240
995
718
168
964
516
808
484
792
807
955
750
667
536
473
936
586
286
384
461
734
49
592
900
500
806
800
917
898
564
761
475
316
829
98
926
426
291
118
141
346
949
674
921
395
20
955
876
1
41
608
123
645
528
127
256
776
782
317
873
743
997
140
654
28
732
903
472
628
506
735
338
15
320
563
632
300
824
427
348
650
791
50
841
260
124
858
968
226
315
884
473
900
272
9
147
929
783
879
729
507
439
629
170
323
382
602
577
859
512
765
309
164
238
246
67
827
410
810
504
226
633
927
18
123
165
314
273
775
823
282
187
351
424
260
213
431
414
301
518
231
850
820
302
714
965
190
554
212
968
844
160
597
37
732
865
484
914
725
774
597
803
194
738
357
308
884
650
205
73
542
25
726
2
403
732
293
855
146
218
241
598
216
307
443
849
817
626
374
893
202
642
64
870
45
136
619
434
577
505
244
569
543
951
275
456
366
954
33
980
304
76
725
383
375
206
733
921
210
894
628
759
102
741
550
675
630
219
846
16
294
630
672
403
732
695
805
844
260
507
645
450
762
175
350
973
731
848
328
604
414
190
461
789
41
193
630
907
781
918
104
994
360
992
367
809
493
605
809
875
675
418
988
230
119
136
644
5
951
632
105
927
580
35
989
508
502
886
167
899
660
632
585
822
173
864
748
255
320
274
330
277
280
690
373
2
782
447
593
884
287
897
542
600
363
600
354
305
774
139
721
63
744
835
669
804
748
196
84
928
204
754
25
745
154
488
29
59
682
684
139
630
10
140
23
811
179
338
826
461
242
243
551
162
421
668
911
243
737
225
275
708
27
987
449
720
411
575
635
274
430
914
224
224
184
761
90
340
183
202
476
970
451
310
318
67
387
140
63
290
15
395
928
888
538
22
197
225
712
91
72
368
932
705
341
856
728
919
928
424
303
889
609
870
664
258
418
430
257
389
269
842
137
234
808
686
102
392
734
832
244
891
107
909
106
750
554
864
729
742
5
61
482
413
305
333
141
75
810
435
161
783
648
967
756
626
599
596
297
854
469
828
913
758
712
217
863
4
455
267
903
453
511
281
297
103
663
887
41
221
597
174
601
933
215
936
655
904
394
664
955
550
698
25
316
825
451
508
339
521
228
250
821
890
912
528
213
660
695
919
644
755
717
949
111
786
400
159
323
959
675
707
439
667
503
636
951
701
382
624
111
548
913
171
142
875
400
434
205
749
691
104
823
685
546
153
13
5
319
81
171
651
903
140
150
395
964
463
676
693
237
212
670
861
341
947
133
682
519
569
267
362
671
84
296
727
103
600
467
92
423
143
974
484
154
261
25
351
386
618
470
547
69
785
299
516
997
494
993
257
355
826
256
595
934
996
678
409
84
251
71
600
772
940
447
716
398
107
797
44
250
263
464
338
440
59
599
388
387
133
574
805
954
329
747
752
387
564
816
131
941
919
575
708
307
411
490
750
925
170
513
182
156
409
858
631
323
218
344
644
689
895
937
754
316
930
224
411
753
513
816
797
773
230
384
161
231
446
166
830
119
813
676
528
152
694
265
46
551
275
846
411
955
103
956
324
46
898
588
466
949
366
682
325
18
235
109
483
315
696
688
535
98
423
658
650
754
756
587
36
570
353
336
387
701
676
611
474
992
701
198
572
937
137
81
387
271
317
775
899
862
937
965
66
97
441
330
697
494
970
238
935
391
942
283
170
494
82
659
429
613
949
301
418
918
340
981
404
699
401
983
178
342
6
220
510
421
166
692
894
110
9
285
880
3
125
686
656
201
723
537
868
463
205
417
861
151
355
758
358
596
57
427
582
212
49
990
868
401
33
324
680
887
954
297
104
864
974
94
692
5
788
780
164
928
486
211
4
980
384
334
377
985
274
570
896
287
914
527
63
861
106
503
984
939
293
80
500
778
601
54
598
628
938
706
330
483
76
975
319
684
564
371
627
190
471
376
329
720
816
232
642
893
514
902
906
29
338
144
431
422
523
675
202
60
297
458
590
104
856
532
966
731
768
143
906
34
760
752
222
436
174
320
554
211
603
660
711
463
337
0
927
470
112
350
450
517
601
428
661
78
840
783
143
217
232
358
695
221
524
107
470
73
899
359
65
545
104
997
360
402
482
933
790
137
637
59
357
869
963
84
791
13
152
922
358
571
897
591
507
931
494
803
475
897
981
75
50
922
520
149
454
880
438
75
519
700
182
239
766
307
115
42
500
241
139
567
385
982
262
484
60
506
911
335
59
203
117
496
801
756
159
524
618
559
207
690
4
868
758
850
131
280
708
577
733
777
64
703
741
167
303
156
82
929
970
299
146
348
318
146
708
694
454
520
946
863
423
392
130
197
372
846
504
899
551
352
49
947
56
75
958
799
137
22
264
438
329
233
33
108
144
372
840
612
89
28
15
124
508
449
320
56
813
33
168
209
325
814
944
844
542
713
265
797
972
879
503
269
466
29
918
633
290
407
319
669
877
901
979
595
163
834
648
462
327
411
495
877
600
793
127
592
912
20
726
52
653
906
201
528
277
14
978
886
858
4
869
535
617
319
828
297
178
263
435
173
280
441
243
907
70
30
478
383
668
951
827
508
10
633
411
35
341
431
132
790
397
447
956
566
833
516
467
909
339
972
757
531
100
957
955
490
48
74
323
457
249
850
73
89
888
976
140
275
365
343
741
477
143
70
994
737
184
363
760
841
565
246
478
597
592
921
846
614
551
179
451
116
936
20
163
175
169
839
318
775
465
656
453
378
256
670
404
789
644
253
850
840
636
150
204
356
198
490
541
672
126
994
386
257
291
644
624
30
905
475
598
777
444
67
791
293
828
947
305
926
617
709
209
80
309
656
590
465
83
968
893
855
877
241
953
266
175
863
532
15
808
986
655
518
827
688
868
362
57
293
979
439
637
987
58
590
614
776
588
691
649
727
654
35
111
682
509
14
179
796
626
419
656
917
364
950
886
950
622
232
512
673
174
577
70
841
687
661
268
448
663
956
373
184
426
772
537
549
339
533
862
993
10
965
345
437
474
374
371
671
155
678
283
961
529
344
362
493
608
524
154
100
436
711
655
655
860
721
757
647
664
471
176
405
12
333
683
269
182
167
600
611
739
708
436
18
289
487
837
28
672
565
762
917
94
434
704
267
203
89
260
882
593
314
912
994
443
596
493
811
484
710
382
682
838
730
379
486
331
273
920
377
990
451
12
327
263
29
318
482
216
22
293
714
455
352
796
79
497
192
752
431
70
825
263
644
770
543
983
404
267
551
97
577
607
120
960
648
785
726
5
814
427
304
970
470
833
666
896
426
579
943
896
597
91
676
174
79
30
533
649
14
428
616
646
662
736
104
758
363
1
998
470
856
569
540
372
783
923
668
126
40
881
908
443
511
251
756
6
52
393
844
917
535
342
713
428
785
128
598
451
561
309
936
331
769
543
826
748
279
656
242
87
513
292
161
88
367
758
55
443
338
24
275
517
767
423
885
5
597
586
543
389
300
441
593
756
859
93
698
666
74
86
293
461
988
448
579
708
14
984
111
767
458
667
386
387
211
129
631
399
315
443
895
325
742
532
468
40
529
655
520
167
728
671
283
299
670
89
70
638
32
280
788
489
611
773
903
776
626
924
529
265
803
115
15
455
378
763
923
92
279
252
764
238
905
322
855
767
227
181
900
831
533
805
462
623
101
909
232
117
461
341
947
721
408
271
15
48
918
644
378
202
739
681
349
393
283
284
34
308
300
963
362
615
608
457
446
599
129
49
257
190
569
27
265
659
283
486
813
214
143
597
273
542
185
101
337
406
328
82
718
111
672
614
247
785
482
579
126
824
188
340
863
91
750
669
93
8
536
22
301
721
692
553
17
466
466
825
140
447
80
853
768
76
484
156
459
194
191
985
105
678
909
143
575
115
505
498
1
581
764
674
408
710
457
465
418
268
420
21
255
629
626
260
373
310
48
137
268
107
917
761
497
271
420
227
266
585
164
352
27
506
393
169
996
943
86
868
792
46
837
403
998
319
620
977
244
609
174
357
89
430
290
130
425
195
337
68
654
87
248
233
856
745
401
804
192
909
413
195
160
221
146
124
612
831
714
951
160
678
144
709
224
408
917
957
59
277
556
321
596
827
504
666
763
637
74
51
231
360
200
124
31
500
99
833
916
284
300
995
770
730
120
175
280
967
869
587
936
128
739
361
99
542
445
980
974
959
940
129
25
555
93
678
735
800
895
112
546
392
903
433
63
295
565
689
641
405
581
583
658
652
859
143
159
753
281
425
484
793
802
707
714
83
274
310
844
767
31
963
340
216
529
155
696
172
2
326
788
147
495
446
243
566
181
355
418
650
720
3
785
504
699
565
33
536
412
849
751
249
162
330
475
271
872
151
228
693
709
678
998
178
314
838
610
469
374
911
361
545
132
319
445
916
432
693
794
960
936
835
265
148
904
591
782
435
220
3
634
998
831
148
368
26
975
188
965
179
913
700
243
779
35
388
131
611
78
146
651
491
655
820
564
76
712
258
381
870
118
752
337
425
390
953
28
647
119
132
970
848
503
772
958
19
294
875
698
895
128
897
165
610
794
315
843
335
287
856
692
330
676
216
930
465
210
299
985
791
251
330
942
702
547
306
607
702
371
205
946
756
337
56
475
521
98
976
109
246
981
875
294
877
144
583
988
675
991
818
49
239
921
166
793
416
681
906
126
974
747
834
167
454
684
422
112
15
160
115
490
637
977
893
764
409
768
281
394
615
623
498
626
574
60
636
33
487
857
941
219
790
762
555
395
220
698
768
700
66
967
267
275
206
482
366
927
517
753
188
493
626
427
343
736
483
500
776
436
428
875
623
853
806
945
806
230
657
164
751
31
138
786
901
292
804
654
683
523
169
830
975
578
630
860
520
505
199
793
859
269
745
222
961
96
193
755
180
483
335
318
963
327
997
851
210
228
965
990
971
733
484
770
125
621
239
897
82
625
649
503
85
843
84
800
944
735
67
108
91
397
370
611
184
291
285
607
347
62
328
167
782
964
0
551
700
825
659
366
356
66
983
954
444
750
948
167
863
770
244
600
602
65
538
75
889
962
191
115
605
877
742
773
352
944
894
186
63
228
785
255
674
138
845
813
660
335
631
364
495
217
314
344
430
629
21
915
695
334
854
303
351
77
862
311
413
406
355
248
277
890
36
725
862
198
650
791
523
723
581
397
823
278
905
34
436
53
475
995
543
644
742
350
160
48
996
32
651
775
423
864
320
551
777
369
947
680
826
489
396
104
715
129
83
664
352
189
443
533
414
674
801
278
875
988
997
690
974
710
756
160
595
659
830
675
472
271
927
80
869
794
991
38
598
570
797
618
253
552
521
74
752
349
311
620
563
546
823
797
570
838
58
968
85
322
974
514
570
92
410
808
4
307
962
334
943
238
220
448
442
551
543
503
284
840
239
414
831
670
474
63
651
420
900
305
421
646
407
410
161
732
52
921
663
996
996
516
127
339
917
942
9
802
417
546
586
93
761
926
608
826
386
822
529
636
674
163
765
118
126
91
710
650
462
29
495
345
911
189
846
569
830
912
695
702
356
955
135
695
158
215
845
886
996
631
134
750
63
612
252
977
676
239
785
496
630
886
862
90
153
754
183
485
985
984
607
800
214
164
733
262
559
310
641
320
816
193
63
381
329
812
209
984
866
440
357
330
659
766
473
757
584
301
400
283
743
126
171
364
7
36
315
761
203
678
864
480
544
937
991
872
518
917
442
638
10
392
744
589
167
993
7
128
395
336
926
323
413
651
2
93
212
975
93
102
301
418
466
826
912
441
817
737
491
382
815
235
755
691
982
374
139
886
889
407
430
685
49
948
758
897
683
861
835
254
281
161
207
703
60
16
107
867
958
527
868
898
657
504
72
953
873
827
650
841
701
443
909
385
708
437
967
140
630
114
956
18
159
605
683
575
493
58
753
568
292
289
432
470
567
820
509
24
410
795
500
347
385
10
983
156
555
259
485
212
976
972
141
450
782
42
189
38
519
151
705
807
973
215
267
100
552
627
274
510
704
736
440
491
63
148
465
594
314
893
379
485
805
580
60
673
871
84
300
936
710
948
17
610
595
76
191
380
170
393
835
526
229
593
832
439
956
959
981
319
232
629
755
16
651
402
122
9
274
644
391
872
124
273
399
738
638
903
785
714
621
16
783
318
266
679
327
207
232
408
614
717
4
372
359
932
802
606
300
262
125
452
742
964
606
617
793
298
358
89
515
834
669
198
695
18
309
567
133
419
919
142
483
592
218
450
549
59
474
746
820
696
267
977
634
652
289
913
139
502
609
271
96
700
660
34
633
952
105
779
674
548
405
222
841
640
101
114
22
679
159
704
216
390
451
173
430
281
136
898
571
614
973
747
591
410
600
793
934
666
130
896
907
660
671
911
285
745
245
523
714
769
48
532
918
695
604
828
254
632
399
698
793
774
803
423
651
995
599
191
685
485
741
348
203
63
352
525
513
731
368
305
25
683
578
183
462
638
66
521
285
726
246
279
716
98
124
388
809
520
65
190
909
789
424
548
785
791
885
525
987
897
812
375
580
984
348
941
580
529
172
584
286
914
427
101
302
473
912
271
659
736
309
739
55
96
399
267
752
972
181
982
76
873
249
964
420
420
452
696
872
489
736
827
863
320
605
389
354
526
831
833
486
373
262
378
61
715
875
625
127
795
964
304
932
6
48
476
25
285
258
345
708
246
842
426
912
944
607
809
217
486
247
605
766
227
984
104
980
985
122
387
998
884
269
820
740
327
980
196
802
473
812
67
252
257
863
984
946
485
121
221
449
745
614
340
464
288
691
953
282
979
899
268
944
769
467
150
573
488
193
831
463
567
17
548
857
372
420
47
871
365
917
416
286
192
54
16
315
564
96
18
954
517
650
53
363
995
538
574
856
452
420
297
812
372
334
651
748
494
719
314
755
579
251
470
86
248
711
50
601
397
946
305
81
743
64
735
115
71
979
954
852
873
304
182
698
948
422
716
712
515
389
507
355
334
270
603
482
228
71
338
305
75
941
480
911
437
371
521
641
823
534
931
900
619
806
657
960
855
914
362
37
406
664
491
544
131
254
750
649
72
415
51
589
91
461
892
953
335
938
475
642
841
638
498
312
335
293
823
900
163
113
518
165
105
417
810
199
994
616
353
951
562
70
438
163
695
680
547
326
243
699
89
567
957
240
754
129
249
317
316
946
634
129
148
689
329
712
465
807
820
412
640
244
199
216
791
688
639
623
265
799
699
509
295
836
817
983
774
558
606
845
585
526
546
112
895
944
949
114
609
799
990
106
337
28
306
593
51
537
574
791
549
688
5
738
747
871
451
57
675
636
711
508
608
276
55
660
832
186
391
785
856
341
778
348
486
833
488
680
571
830
885
212
158
189
325
633
794
58
139
391
637
593
722
169
161
700
18
950
932
83
375
218
91
659
594
347
114
281
109
230
987
878
203
185
364
231
639
33
349
73
640
530
491
47
378
124
694
586
729
592
788
157
830
827
521
87
833
582
728
695
378
616
968
843
158
526
716
627
144
754
481
43
852
468
558
218
276
198
995
280
344
936
434
98
580
319
384
673
915
966
774
995
282
664
630
366
408
949
42
212
553
231
961
825
110
220
300
777
645
25
263
910
998
450
331
452
669
659
545
576
117
757
344
101
518
103
45
233
270
215
22
614
215
278
95
885
745
142
566
947
168
81
114
14
274
741
957
607
808
404
774
822
839
418
4
680
25
388
959
728
708
793
633
102
148
875
511
935
698
524
281
672
840
218
632
685
778
666
90
263
658
875
219
342
741
673
246
78
643
339
726
17
387
878
99
933
812
844
523
564
136
225
205
236
475
44
275
898
993
616
721
791
833
503
11
544
470
618
450
484
10
609
369
23
93
768
537
925
356
606
21
887
446
738
397
29
589
759
70
108
706
173
27
484
287
834
511
383
48
211
685
42
840
167
320
986
46
522
695
252
869
293
461
447
341
360
985
342
899
393
279
255
380
953
180
455
165
793
61
194
51
862
624
521
378
827
24
85
653
813
76
653
875
821
369
719
815
907
548
852
726
993
456
982
583
304
482
999
631
653
710
271
909
645
63
165
424
17
647
354
117
341
296
86
745
398
52
918
1
336
957
45
641
780
340
75
925
446
723
633
983
445
424
981
435
900
388
899
289
760
87
936
233
414
935
462
455
609
376
110
742
914
3
855
174
553
187
482
104
265
374
489
8
608
634
952
357
803
139
997
359
274
727
472
557
410
415
953
739
128
891
254
320
208
296
763
148
138
715
515
863
569
43
759
688
736
202
65
835
711
50
278
415
59
354
532
742
39
214
441
39
873
714
881
669
346
684
990
316
692
130
212
910
708
402
85
811
977
736
62
919
921
720
64
574
486
315
147
813
264
878
945
289
273
30
929
176
186
905
351
389
502
188
766
11
202
203
247
592
872
242
465
786
204
32
437
852
927
213
54
578
307
713
419
868
786
677
818
345
660
941
821
819
341
410
113
554
22
576
350
818
723
5
6
501
338
730
72
358
482
968
302
774
847
707
541
452
957
713
321
629
931
799
509
969
924
265
951
470
590
118
337
333
75
135
36
130
198
498
558
504
668
402
866
509
958
51
482
422
54
281
365
935
856
293
286
473
297
215
819
577
662
156
982
494
488
295
825
365
638
330
550
297
490
269
653
891
952
443
499
527
441
817
266
87
479
300
541
426
642
233
677
20
274
591
623
31
933
222
719
59
334
596
96
42
669
706
18
260
417
273
584
452
677
695
153
783
177
410
371
714
1
986
604
646
377
263
570
650
618
842
318
664
575
678
935
982
245
587
631
952
955
433
848
540
510
712
441
945
518
90
510
29
11
585
850
691
221
910
498
449
234
971
93
415
318
7
787
249
684
797
403
775
213
524
241
288
136
239
357
861
907
611
217
118
312
30
304
42
711
95
488
542
993
464
876
556
182
853
421
662
133
305
466
109
495
460
132
259
660
787
604
327
63
576
87
49
800
362
968
164
481
652
950
843
912
90
150
409
581
26
758
565
660
619
770
893
846
536
587
523
141
309
502
818
712
613
563
586
523
868
529
44
371
509
792
735
284
436
350
342
865
205
772
72
689
742
412
497
365
707
987
641
56
413
728
293
113
184
455
333
363
380
684
921
770
585
66
366
795
148
814
293
0
240
631
734
882
962
696
767
532
205
823
630
69
364
95
327
311
580
953
867
257
593
233
492
380
808
182
275
976
129
934
554
80
165
276
390
19
126
537
391
518
40
388
67
80
254
55
477
737
68
854
521
104
222
497
613
25
108
231
323
457
505
56
781
678
18
936
973
57
585
409
916
612
955
522
176
152
735
877
937
803
749
85
159
304
548
348
263
591
233
293
113
885
2
28
53
147
817
939
99
297
317
739
131
895
968
549
70
871
600
797
323
757
25
186
386
724
47
654
803
975
930
763
78
301
283
421
120
99
906
131
339
611
456
437
361
894
879
832
676
844
135
392
998
447
402
981
285
811
838
238
954
428
311
659
441
867
357
153
200
486
45
166
88
659
870
439
533
251
306
210
897
173
183
644
655
6
630
162
281
627
374
847
247
208
399
143
295
706
912
409
849
816
957
254
388
0
906
33
211
725
824
877
66
628
738
886
977
337
272
336
947
235
627
72
246
298
558
309
971
108
575
322
91
954
505
97
998
47
609
904
550
483
440
293
695
333
370
493
632
932
285
635
568
128
940
515
96
773
296
496
268
735
589
36
469
623
488
79
696
310
379
995
665
349
237
549
340
284
660
112
167
95
400
688
569
200
36
166
12
735
92
285
837
83
152
144
37
138
65
89
49
166
708
944
315
879
831
949
102
861
793
928
307
798
556
379
166
571
706
489
659
230
11
309
486
712
224
321
756
70
9
841
192
738
491
493
301
347
111
33
343
803
507
152
430
910
856
495
914
311
528
832
968
682
975
678
564
683
299
74
432
838
273
198
520
855
284
576
190
8
70
471
646
764
888
101
147
277
639
929
6
703
375
174
504
413
64
551
825
921
768
912
64
797
712
563
701
659
334
224
702
873
62
176
185
418
244
372
223
623
636
165
204
374
787
123
844
85
768
279
194
805
365
890
28
433
749
469
119
81
68
911
720
861
534
493
884
276
917
322
552
538
82
564
338
170
791
653
262
904
209
523
990
145
987
317
934
609
7
314
645
486
667
634
479
543
690
438
76
624
594
158
904
243
46
859
883
908
975
398
655
738
654
612
724
245
837
29
558
124
372
237
563
650
430
176
302
17
175
279
440
568
981
12
23
386
158
156
128
84
44
85
546
280
203
364
357
565
68
860
141
906
420
742
391
900
278
429
635
333
322
7
729
645
112
953
397
819
398
210
485
345
517
533
60
52
977
92
529
628
806
756
897
765
459
787
6
31
198
835
851
912
101
648
194
961
250
151
237
860
997
787
650
258
355
939
268
118
821
308
889
242
362
644
88
177
244
320
441
389
221
665
481
747
780
931
661
47
509
348
545
28
377
348
121
456
82
367
730
77
739
160
312
24
757
173
692
695
792
743
609
296
421
599
66
234
695
598
113
234
921
468
84
579
527
804
451
603
9
15
996
202
744
989
804
724
321
85
840
194
63
153
713
212
936
288
234
756
419
124
859
664
500
358
127
827
892
119
200
3
450
441
908
652
139
690
257
661
328
448
744
344
293
610
804
574
310
989
894
573
619
856
456
209
594
639
131
362
934
608
5
734
266
641
309
661
3
762
768
988
662
412
496
594
711
363
985
163
137
111
800
478
348
154
435
576
106
970
61
878
247
775
641
857
463
445
489
147
124
223
152
150
363
85
176
410
23
237
820
964
241
787
160
9
589
412
946
487
142
586
702
868
95
469
593
625
405
580
612
664
159
321
860
785
566
997
56
505
211
189
594
801
657
286
550
447
340
212
801
950
398
877
458
20
78
806
757
30
835
7
948
53
871
954
960
169
133
268
301
649
15
457
223
499
854
834
877
894
540
412
681
131
431
554
415
13
943
10
642
990
811
688
691
410
856
283
100
336
429
94
91
749
82
497
829
42
34
915
696
384
793
394
762
944
582
727
355
476
910
993
764
117
281
629
550
290
534
591
628
431
698
3
41
878
674
978
981
484
141
607
935
244
643
498
324
86
70
124
279
333
605
881
573
515
250
746
550
627
335
624
421
560
102
273
248
22
436
246
828
812
369
301
360
941
416
167
647
113
444
373
871
826
419
88
306
442
800
20
511
629
675
812
863
722
455
91
645
836
610
945
941
901
695
849
480
488
883
901
840
590
0
942
541
271
779
869
539
548
966
3
165
76
301
978
239
44
586
101
249
254
25
606
58
956
862
343
302
98
381
643
376
855
502
535
311
130
898
837
655
704
311
68
420
973
779
680
707
204
365
859
356
667
778
533
130
66
537
689
135
966
765
979
647
769
107
75
61
309
632
398
977
181
268
667
373
38
358
353
173
206
874
561
144
959
505
573
499
356
897
201
291
365
742
488
321
537
72
138
454
935
528
771
655
0
692
700
305
998
134
14
540
410
788
720
21
602
751
367
628
441
129
127
683
62
561
320
87
743
697
896
966
799
624
668
958
197
187
400
857
874
815
225
700
693
632
349
103
811
528
770
481
220
905
183
338
545
817
800
230
625
284
696
344
535
163
201
131
670
17
988
311
525
512
414
290
755
580
840
194
570
780
478
663
970
771
564
404
704
159
834
8
188
499
132
845
547
840
188
415
173
303
62
683
399
609
25
384
942
732
443
115
111
922
768
940
99
530
494
732
143
486
692
721
55
934
443
382
481
543
262
376
938
658
862
228
513
29
402
828
71
712
590
427
356
559
913
931
512
840
582
747
809
376
451
309
964
142
830
383
363
372
838
639
890
322
977
35
309
294
743
429
813
653
19
994
828
332
998
943
867
983
622
600
680
20
135
422
78
15
47
629
254
880
337
713
331
14
689
165
987
374
743
957
136
716
789
448
16
544
901
321
882
161
829
820
442
833
36
928
352
646
821
650
149
287
424
450
324
933
739
93
272
935
41
101
438
323
647
10
794
956
991
994
144
789
203
86
956
1
754
404
779
271
826
589
167
750
813
224
94
985
441
744
971
381
135
192
141
706
107
502
299
796
123
139
294
604
802
937
415
95
689
302
382
896
18
287
420
647
679
477
900
40
301
713
125
397
986
90
969
248
385
408
631
859
513
677
331
333
313
760
75
885
969
741
925
54
993
583
950
408
695
823
44
276
438
670
363
533
153
900
950
713
140
155
159
419
515
501
617
880
705
194
257
325
473
132
99
250
2
235
6
20
372
993
866
92
843
662
347
119
615
898
684
232
606
54
783
79
327
186
772
71
193
767
212
549
658
14
27
902
781
225
224
718
131
917
722
865
387
25
240
698
815
763
721
826
252
32
430
765
597
961
93
460
632
388
595
535
827
792
135
426
57
484
292
668
555
858
864
778
957
715
482
91
615
328
327
107
401
64
675
978
994
863
422
326
780
496
794
334
647
415
241
950
448
97
710
435
885
128
580
555
862
805
675
831
47
642
621
840
956
208
420
153
374
247
917
221
352
110
951
451
958
242
855
734
33
121
870
132
871
839
782
119
328
369
16
74
835
606
359
528
30
9
124
199
915
819
521
19
368
167
319
761
60
770
488
587
501
54
580
733
852
829
267
971
293
892
674
516
683
20
135
878
467
235
824
22
246
801
696
629
935
877
524
192
772
919
109
332
815
271
493
529
971
174
919
249
246
686
728
607
500
53
623
624
478
872
24
99
687
236
214
570
446
322
57
299
514
50
625
682
539
988
702
363
252
240
278
889
599
416
883
813
285
442
406
445
847
930
451
724
656
68
890
358
936
662
987
656
626
303
828
878
308
772
22
165
394
66
459
18
519
315
632
96
540
10
446
261
964
688
878
239
412
392
243
945
59
60
310
522
760
60
583
850
140
967
275
43
615
925
349
602
97
652
166
735
535
50
96
503
701
266
825
540
735
551
84
147
249
26
835
696
636
7
7
676
130
731
975
242
53
140
766
395
169
808
88
274
906
546
384
567
976
937
53
79
397
5
802
250
919
708
791
920
438
524
658
913
943
171
841
76
244
554
319
191
171
194
899
135
795
128
955
831
940
40
163
63
640
584
922
688
390
54
174
776
555
684
227
160
975
518
671
646
528
807
967
854
266
977
380
688
895
159
952
973
27
110
800
679
836
243
743
757
347
908
20
799
554
952
117
250
737
559
525
337
280
438
849
634
900
361
568
259
995
466
687
974
663
852
908
862
998
935
260
370
467
168
843
445
961
481
453
229
977
673
602
645
615
811
440
296
759
412
180
168
624
217
389
792
85
799
504
459
557
83
687
700
726
13
515
89
256
95
285
476
919
560
466
448
188
167
625
864
668
287
628
296
450
855
101
148
681
495
545
421
914
569
612
288
228
885
895
647
383
763
273
433
242
399
446
531
695
159
5
9
491
876
733
791
792
383
312
748
969
924
24
403
608
577
19
351
538
618
207
349
779
996
160
193
958
760
201
325
601
750
681
263
442
49
891
189
284
249
193
832
951
351
830
173
989
54
401
72
113
130
648
520
199
606
10
139
771
764
129
545
217
821
339
971
287
142
494
582
893
590
532
247
558
12
735
802
932
458
874
199
207
865
719
150
50
385
633
51
853
591
939
786
953
377
338
48
293
745
725
438
823
319
342
589
73
226
44
436
832
30
549
788
869
494
307
532
885
449
986
71
810
888
617
332
549
140
971
579
980
404
147
83
376
689
113
762
725
755
20
389
115
94
880
116
821
971
821
226
584
831
881
714
803
842
635
795
874
412
880
403
928
272
715
665
454
407
728
498
440
674
205
734
794
822
232
560
894
579
819
955
173
144
936
932
121
574
323
658
877
195
666
921
621
628
502
937
60
488
344
381
939
567
965
52
768
567
570
628
641
504
165
373
645
63
938
184
64
944
35
830
672
779
563
150
303
526
580
505
488
289
176
54
700
143
374
939
207
874
935
222
621
840
437
995
421
844
226
355
585
59
501
249
92
470
143
315
454
275
125
618
405
980
990
553
850
660
491
601
69
891
851
737
980
331
896
772
186
423
847
527
345
109
224
876
168
419
640
961
310
686
568
766
353
991
594
549
65
995
594
668
156
772
687
695
25
583
20
247
240
658
672
292
57
427
179
667
843
92
646
327
520
571
576
3
694
429
62
130
418
194
483
988
714
712
273
147
68
692
338
322
895
304
25
774
780
84
89
523
439
846
837
258
465
414
382
137
46
268
676
337
774
811
686
244
142
993
581
763
793
813
532
565
199
51
961
214
488
352
345
760
634
445
801
573
717
905
751
518
801
219
769
413
219
681
890
119
515
18
492
216
686
774
924
670
310
269
515
968
612
476
580
204
72
487
195
587
453
289
145
384
185
725
640
638
304
3
448
363
122
533
183
247
205
671
611
786
404
467
141
801
824
802
447
636
787
227
10
466
456
664
558
475
585
10
134
306
796
126
920
838
635
707
97
49
600
211
23
432
145
191
976
221
494
269
796
682
775
823
91
823
520
398
735
812
545
70
996
649
76
579
961
318
830
521
27
765
460
932
271
184
916
971
76
301
337
347
412
136
463
423
875
631
338
1
686
134
281
794
644
37
843
694
150
531
181
453
23
226
35
655
686
118
823
864
527
677
45
12
801
800
836
283
144
377
176
672
76
918
603
306
456
787
947
66
132
34
596
298
953
345
812
908
517
914
222
795
45
663
322
816
721
868
466
931
153
702
415
82
776
875
144
664
468
538
645
734
822
620
588
632
220
642
728
194
399
499
110
283
437
390
112
447
874
601
390
158
881
795
761
730
709
198
279
239
122
769
459
712
201
983
15
180
354
15
547
781
791
112
309
443
445
33
669
224
260
532
912
660
910
936
666
129
589
274
33
833
494
168
396
869
922
82
101
732
64
663
632
678
888
849
84
638
641
319
236
458
161
542
363
339
285
862
409
36
411
10
878
79
769
332
2
791
692
734
453
250
594
978
720
797
54
227
329
932
781
653
326
295
974
848
859
621
934
185
365
62
503
883
859
519
607
774
534
575
553
190
611
707
617
847
919
716
487
250
989
117
360
487
523
726
500
378
3
136
720
87
492
563
845
6
762
975
783
93
11
841
748
369
647
199
765
586
134
754
553
551
842
732
906
626
762
81
799
771
316
82
593
725
919
417
346
86
203
336
648
589
459
635
840
31
364
931
849
521
187
112
809
383
544
114
232
345
810
579
584
817
166
972
742
159
775
375
538
14
591
666
832
29
44
901
843
441
726
479
155
932
550
358
280
219
934
185
385
866
706
651
565
676
275
744
838
679
396
638
962
867
240
365
200
107
871
716
861
232
234
821
919
643
671
633
923
285
275
373
851
405
365
591
38
699
735
156
343
577
240
810
782
168
45
345
552
525
51
681
532
518
126
855
971
704
16
720
843
572
533
261
609
687
932
827
359
432
863
182
795
152
819
978
13
868
0
772
192
220
841
457
747
275
180
632
733
280
655
434
560
547
883
220
977
869
93
759
152
270
225
752
310
634
920
282
762
339
638
138
341
844
689
296
915
817
212
269
665
944
742
831
847
875
633
171
43
155
569
721
315
290
309
914
594
850
981
158
598
322
739
595
793
383
423
619
773
211
956
577
981
56
983
443
233
609
396
541
54
43
711
336
195
968
982
779
762
914
909
437
498
611
320
756
287
899
654
403
263
794
493
86
389
705
752
245
4
346
445
688
993
805
904
677
568
469
844
337
600
368
237
311
734
594
839
454
696
71
529
734
803
678
549
77
92
112
826
209
678
93
986
959
122
969
682
84
152
485
648
111
329
295
20
265
569
431
12
676
456
643
893
540
622
782
479
843
444
488
86
240
930
890
238
557
737
979
9
237
679
29
704
788
966
985
611
23
50
655
752
221
476
823
583
378
924
16
243
530
642
224
362
413
721
992
78
69
786
818
90
963
611
958
911
805
116
641
590
46
367
1
979
240
662
211
174
578
220
862
114
346
835
805
836
28
162
326
600
337
501
29
489
497
46
953
215
510
534
570
916
99
449
638
747
347
659
123
572
367
739
787
250
146
12
745
199
33
595
431
884
197
223
468
51
295
664
559
360
922
359
23
628
507
880
744
556
76
2
812
647
511
127
194
228
663
411
326
779
820
205
342
474
521
983
94
331
42
685
494
316
309
935
300
383
94
949
885
221
282
186
648
449
321
700
756
705
322
330
935
487
478
674
713
6
65
245
182
478
866
182
99
500
958
661
83
249
493
598
833
644
354
433
682
592
105
765
783
819
259
783
642
156
295
294
817
93
64
730
207
465
428
630
533
879
235
783
496
434
753
227
718
302
394
267
28
185
908
423
133
118
253
373
887
465
214
488
492
463
305
231
889
254
905
424
145
718
148
169
605
281
431
301
988
375
91
777
196
915
661
506
863
476
690
648
246
259
872
345
482
508
866
768
142
267
612
641
189
755
170
86
839
309
659
446
129
507
463
434
677
157
205
665
40
454
675
47
511
909
161
590
76
834
828
867
945
625
15
729
433
461
727
27
19
530
416
399
638
919
988
658
769
824
356
297
612
679
93
26
327
592
978
681
245
55
577
620
843
368
422
831
537
154
905
558
803
148
795
586
54
861
941
528
168
127
660
8
436
398
312
120
41
414
508
428
183
608
180
901
343
945
315
357
514
452
304
904
58
299
598
296
689
134
607
140
40
234
273
514
670
137
77
278
579
941
217
204
260
863
121
720
864
230
586
860
800
405
522
471
329
491
929
710
908
57
885
813
257
110
180
298
459
73
271
530
117
741
938
68
403
816
523
619
367
567
421
106
99
406
322
456
437
416
472
470
758
164
199
227
489
279
934
906
323
248
251
379
27
497
100
508
209
552
160
788
999
383
474
850
225
54
615
273
506
669
931
753
991
582
765
584
854
6
654
6
187
244
764
136
82
436
324
552
591
897
375
436
630
749
426
436
182
539
118
533
837
178
264
452
290
676
489
751
641
842
361
139
124
434
518
943
514
517
612
787
691
892
218
398
669
233
891
62
966
903
145
310
113
53
836
595
887
610
493
39
350
153
720
929
1
816
267
15
226
57
821
215
95
345
528
532
977
2
658
293
443
77
78
417
216
22
806
653
331
115
579
830
804
826
770
778
197
727
369
694
461
741
999
339
626
620
941
821
730
659
241
245
73
360
674
230
865
533
70
800
320
782
786
24
832
330
298
788
491
784
20
996
21
699
110
206
481
218
470
680
991
960
687
327
611
854
362
939
633
813
185
227
258
767
693
92
588
468
841
408
302
903
487
898
939
762
411
31
493
589
647
694
439
447
184
688
772
529
139
518
654
761
191
559
715
839
651
790
753
261
666
502
819
705
265
489
844
898
899
342
871
163
160
954
303
862
298
391
167
779
681
412
697
620
214
187
237
653
403
665
100
309
89
206
655
554
95
839
222
569
187
531
165
685
252
843
662
742
391
409
859
490
63
915
634
759
307
158
228
537
2
551
268
843
146
563
998
991
585
455
996
83
558
150
567
511
945
883
978
718
956
671
321
499
134
639
432
670
440
798
292
373
315
536
408
639
18
145
376
11
299
35
834
396
915
829
175
949
739
628
736
128
958
94
831
676
500
484
871
380
620
92
19
643
960
856
362
125
856
460
782
39
925
394
952
332
328
207
431
898
487
258
88
480
308
808
954
75
147
240
6
809
497
155
295
116
498
934
390
831
131
918
187
69
192
843
985
435
295
592
163
635
394
198
859
951
204
773
667
317
403
512
5
702
607
558
187
375
375
316
843
786
800
34
524
854
453
638
170
410
993
85
431
6
230
304
505
243
150
85
277
395
216
513
916
251
832
642
792
367
626
40
966
377
271
965
448
367
936
330
423
827
134
954
948
266
416
624
280
124
465
880
104
639
783
281
185
765
253
22
208
318
395
439
878
785
247
194
662
794
454
223
89
379
202
903
347
4
358
126
313
772
547
516
954
529
157
513
870
824
680
80
90
964
331
252
592
732
945
311
64
319
847
22
51
680
23
262
752
804
820
858
313
393
760
136
618
872
723
101
78
481
31
838
130
442
803
169
298
377
957
199
974
7
813
381
40
629
862
664
634
777
544
206
572
877
127
796
368
930
685
271
887
916
953
283
148
467
790
638
709
704
125
530
929
421
241
347
114
962
630
145
779
823
303
746
405
458
468
19
842
482
814
257
312
201
961
920
465
14
223
729
183
136
125
174
441
88
869
818
835
478
900
806
763
480
406
218
196
765
228
701
869
701
455
355
127
219
236
163
886
107
846
449
611
436
718
969
793
41
171
860
76
982
619
611
295
649
744
134
574
190
670
801
584
253
188
447
834
348
389
836
775
598
547
703
761
738
757
681
327
510
729
179
78
210
391
669
339
959
886
46
870
708
872
508
265
120
557
14
196
351
266
199
948
844
763
46
718
217
538
15
537
855
4
847
730
580
335
707
996
799
18
859
823
33
676
188
913
456
991
234
541
424
317
814
581
45
937
869
375
50
539
852
867
151
973
584
137
829
637
999
145
677
491
396
884
939
801
927
448
36
252
612
649
822
150
397
526
841
747
396
850
24
368
11
106
920
659
346
278
624
330
819
742
273
302
113
623
428
303
899
694
185
478
636
978
778
69
267
110
590
442
676
389
993
266
913
351
931
408
666
133
716
563
111
481
123
925
871
512
453
42
390
583
184
798
786
340
854
723
231
903
430
924
364
277
434
456
623
83
875
233
982
472
235
65
31
888
290
308
627
533
505
612
450
346
883
109
676
920
399
638
879
899
230
662
477
36
491
393
974
997
223
754
989
208
677
332
58
270
880
26
304
751
77
165
255
820
963
326
371
187
358
595
500
785
883
451
257
461
95
677
822
113
228
210
379
989
698
539
699
246
351
850
58
150
451
483
501
485
524
650
921
442
714
579
14
879
180
946
488
704
572
388
571
698
439
330
773
492
788
599
548
499
400
41
359
87
401
40
94
649
887
657
54
299
675
737
570
994
665
444
52
787
297
406
83
405
530
783
399
978
979
237
362
45
517
769
287
941
672
139
623
315
690
104
549
601
71
278
92
260
270
396
578
895
346
821
651
983
807
791
365
143
54
35
411
947
879
78
802
113
260
839
797
399
663
366
159
834
756
464
712
827
864
703
480
786
34
217
275
37
737
594
349
603
457
803
446
413
686
442
777
358
670
480
852
872
328
922
955
642
325
450
305
387
675
824
321
954
676
280
799
967
661
717
943
327
493
444
127
24
37
594
315
58
674
12
948
253
657
949
882
572
182
243
476
204
743
39
626
459
886
147
243
327
60
658
737
723
525
983
877
148
122
219
789
417
20
731
99
626
232
957
582
629
865
998
822
772
13
483
954
644
42
127
407
206
152
367
399
852
943
36
109
410
927
80
844
689
969
234
285
707
748
333
504
868
422
440
74
148
164
131
743
189
181
637
691
741
638
321
922
274
808
116
909
571
396
158
517
843
478
784
373
358
684
751
837
766
888
263
725
115
952
667
105
795
114
52
643
767
271
709
876
186
692
88
728
829
967
266
759
932
672
73
936
516
571
492
503
678
844
951
611
673
571
861
941
101
354
930
698
856
561
344
351
272
730
33
232
287
123
374
656
376
981
772
571
161
624
357
297
329
795
234
463
56
642
275
300
330
507
279
975
928
972
941
943
589
173
782
748
155
286
132
975
811
567
888
240
702
412
255
372
286
62
444
185
169
91
710
91
11
219
114
388
665
815
299
93
691
754
160
973
366
364
754
891
549
565
932
140
688
228
225
441
554
724
679
319
539
996
323
151
573
500
568
448
72
456
58
816
965
214
533
899
217
444
802
954
94
107
532
734
648
870
22
209
554
162
575
575
206
113
637
807
966
354
42
992
218
450
403
121
642
368
698
485
560
519
949
807
50
698
919
658
625
751
688
786
357
873
600
782
892
330
246
269
92
758
84
7
432
555
468
734
859
19
761
290
304
914
58
925
913
718
229
377
296
622
935
849
606
317
707
646
604
734
747
570
145
279
181
500
219
848
483
222
771
425
921
386
758
575
755
736
275
110
634
776
441
828
212
185
970
357
257
192
636
408
111
294
740
597
161
82
266
608
358
207
87
835
355
59
169
413
602
64
787
966
441
348
486
262
158
584
639
689
984
45
143
643
487
706
553
822
643
348
648
734
2
343
131
610
432
580
741
999
682
781
757
613
533
660
296
937
988
956
487
105
418
853
177
855
401
898
674
251
327
826
540
106
915
188
635
300
809
698
217
667
179
963
190
444
597
426
136
966
695
570
717
280
965
743
249
451
207
193
909
507
337
42
678
966
551
637
62
990
328
411
162
192
949
629
392
43
466
190
703
267
411
260
776
774
967
863
642
219
126
15
506
644
210
886
10
678
992
814
563
985
638
664
739
388
979
998
392
697
882
652
355
95
878
817
621
154
404
190
201
323
898
202
112
539
899
501
15
583
803
258
173
901
928
778
992
533
236
172
59
622
364
913
761
60
145
545
343
307
798
73
553
576
697
559
492
714
781
444
513
295
668
759
686
253
545
517
604
831
786
40
424
363
815
86
749
181
59
320
375
158
204
449
41
380
640
968
384
272
205
714
144
262
697
707
406
615
739
801
231
237
712
555
504
890
954
974
384
133
835
558
534
65
152
618
283
457
88
401
815
876
513
246
84
557
815
104
755
714
593
119
52
739
317
888
924
797
693
734
732
357
118
870
234
293
725
402
148
222
912
432
929
609
454
260
416
831
432
954
754
981
671
633
418
259
37
793
614
593
560
538
529
260
827
996
913
936
721
179
937
939
746
291
898
1
598
236
856
350
422
233
871
240
559
97
597
82
85
509
29
529
50
743
210
305
77
889
812
868
991
76
700
725
946
820
834
347
395
941
705
471
347
689
879
217
678
250
609
863
417
78
23
86
838
569
341
724
951
957
883
762
585
716
426
988
619
388
988
642
645
622
305
907
602
870
684
428
437
446
943
416
224
341
141
890
687
78
196
965
885
187
989
656
443
49
276
368
627
908
898
833
47
164
854
362
183
846
528
787
172
390
953
670
685
540
831
311
955
354
673
555
645
147
639
870
924
33
752
540
816
646
775
909
816
540
6
391
877
26
716
600
516
465
530
68
177
472
595
139
460
163
847
598
596
393
482
50
112
139
54
479
557
575
580
987
941
801
941
953
726
989
331
750
94
122
355
462
733
972
559
532
27
301
845
944
2
794
899
74
478
416
105
599
908
256
474
824
675
677
140
738
156
277
861
615
346
122
274
131
410
844
857
592
85
221
973
423
603
247
652
717
574
449
919
348
450
555
432
468
804
185
993
87
564
203
610
986
859
873
875
523
568
644
450
656
689
976
782
223
818
379
295
37
853
463
152
278
843
387
285
46
233
215
401
482
765
690
189
633
758
568
554
337
221
419
659
946
225
983
596
908
106
189
13
517
582
152
372
292
593
43
336
424
804
336
406
807
442
869
299
917
233
775
964
117
388
753
571
875
332
750
576
152
522
627
213
758
191
872
571
639
34
433
237
27
617
292
398
256
373
274
241
901
218
630
386
330
501
322
4
903
837
871
333
842
792
748
44
876
214
451
516
645
546
490
641
869
878
904
838
205
388
672
580
654
689
705
56
117
975
55
468
849
656
975
242
914
227
387
877
892
214
312
368
108
559
815
919
666
613
835
313
306
370
672
523
596
47
914
168
204
827
206
194
556
885
445
20
110
315
276
503
907
107
462
5
616
606
521
994
590
529
431
848
827
977
609
160
614
903
976
35
734
339
367
955
407
152
216
677
664
527
429
2
290
173
626
899
473
784
886
732
831
235
273
374
430
586
729
659
906
937
329
858
279
275
583
693
150
236
84
482
460
74
939
533
28
733
858
88
730
359
539
997
858
120
877
977
908
503
687
876
257
482
306
37
346
319
888
975
129
851
550
750
57
893
165
113
262
217
634
376
332
76
649
863
754
880
408
559
382
611
486
450
659
912
726
584
269
162
175
12
98
312
591
486
613
673
848
921
875
123
435
298
685
68
647
463
85
791
552
30
281
460
863
75
791
566
202
691
122
72
855
682
658
617
342
177
148
653
741
341
530
283
43
593
274
458
203
359
365
18
391
820
620
907
595
586
363
497
484
320
75
508
561
920
77
358
839
548
640
970
260
584
709
256
783
629
491
364
128
543
370
348
840
230
723
272
72
267
837
322
219
852
50
687
445
407
355
282
449
943
860
313
150
985
402
567
727
228
12
434
85
610
792
338
336
175
318
413
447
96
160
303
286
128
627
748
812
370
574
968
904
0
499
282
856
537
807
31
277
279
520
892
260
932
838
130
372
65
223
466
582
547
102
643
695
621
903
915
922
675
854
221
382
263
472
123
830
855
543
536
597
264
444
995
67
472
328
783
852
379
782
146
566
2
776
114
812
925
445
759
475
950
693
411
967
205
623
485
450
571
277
714
841
741
954
751
590
176
462
926
781
43
588
442
903
12
554
160
648
592
658
121
392
527
822
747
145
496
634
366
387
77
285
842
171
773
244
200
643
66
620
3
310
953
921
271
28
968
15
489
123
825
234
584
702
645
588
45
578
58
432
329
239
692
327
997
720
364
604
44
748
349
239
189
264
500
172
441
587
37
652
733
214
190
725
527
564
451
521
653
71
677
984
863
99
511
690
800
569
414
977
649
871
175
699
957
467
839
931
531
938
5
159
620
585
428
507
351
792
174
212
799
397
375
624
535
880
53
60
964
705
635
411
681
537
769
969
196
483
556
365
588
129
360
616
673
118
340
163
382
232
348
445
321
630
857
317
558
299
132
144
492
333
380
126
320
900
284
913
186
377
27
254
326
497
220
824
884
485
4
851
670
235
706
739
684
518
268
755
426
717
367
146
945
736
715
554
901
326
341
291
765
498
614
123
227
650
947
65
888
463
648
538
132
822
233
253
98
124
932
963
982
168
400
380
677
305
51
844
999
717
250
84
290
405
637
914
36
859
161
383
866
410
158
689
526
939
772
985
877
265
356
334
967
939
663
268
516
442
130
356
679
658
670
440
800
70
598
732
121
759
339
451
964
439
418
988
65
844
658
824
797
903
254
612
599
188
363
277
285
497
413
747
259
826
678
759
641
929
939
690
845
263
684
929
313
178
446
922
511
914
76
174
200
778
864
982
444
362
220
77
768
988
47
892
122
490
400
671
595
947
556
146
631
752
866
470
600
29
146
401
421
922
749
626
499
990
931
960
273
590
780
7
132
673
390
795
412
998
351
990
236
514
372
61
493
138
697
476
82
967
587
755
742
157
113
853
228
200
528
437
241
926
575
17
233
324
451
688
254
653
395
858
356
56
683
627
133
808
883
797
291
666
306
526
82
398
31
15
711
502
387
525
361
815
747
799
706
457
982
876
252
586
266
325
887
81
922
579
447
16
167
813
365
823
24
303
160
876
536
887
712
557
596
493
807
317
715
207
682
895
202
18
535
146
479
743
118
401
787
359
386
497
703
422
289
527
549
304
125
24
995
531
325
378
243
851
584
168
250
394
188
123
886
682
600
494
403
964
568
161
320
926
668
19
421
809
450
151
8
757
772
701
232
94
782
858
437
331
952
498
93
541
721
932
42
336
134
569
379
48
52
815
362
471
894
529
356
221
21
903
9
672
749
146
860
981
404
852
931
556
567
47
571
592
843
846
800
898
944
535
785
383
231
634
69
85
995
325
684
275
684
332
778
401
770
336
927
159
297
812
260
382
376
112
299
330
407
451
610
151
225
241
971
830
64
853
709
623
189
287
515
295
951
15
371
85
33
603
239
733
227
817
976
91
157
103
704
539
335
176
867
484
524
152
178
1
289
551
655
202
109
361
427
753
784
990
856
50
834
600
293
868
495
390
400
192
715
823
909
534
205
673
602
735
449
751
462
670
602
966
536
993
144
73
778
72
814
378
201
701
518
830
372
60
254
774
218
190
862
231
915
827
177
715
147
22
335
828
21
506
764
474
484
384
37
28
566
406
967
835
6
880
800
398
586
930
592
727
305
200
42
621
637
817
551
533
510
560
513
563
972
997
617
917
951
422
932
74
20
592
315
422
687
679
106
23
370
251
518
618
510
375
383
966
628
414
333
797
763
405
551
225
219
705
961
863
337
499
859
163
826
580
108
81
603
319
226
584
388
501
275
993
449
101
269
4
240
442
432
937
648
432
913
889
969
897
762
770
116
34
785
478
631
25
278
175
947
282
93
400
579
193
532
210
993
240
932
362
268
322
380
13
604
967
994
157
481
355
456
41
37
299
132
164
432
699
549
780
358
343
251
819
206
252
851
753
850
730
595
603
748
915
96
301
253
207
629
290
699
999
761
353
199
771
115
413
177
299
808
678
20
425
137
565
307
281
984
880
869
278
475
141
736
355
519
862
661
923
327
748
837
839
123
987
621
739
898
908
670
581
866
692
998
925
863
492
571
757
172
843
929
311
472
574
421
377
449
435
304
548
299
359
990
682
302
78
777
590
466
346
272
852
479
737
651
429
872
489
398
54
62
72
540
666
583
611
300
252
627
216
485
910
859
701
895
130
794
803
109
509
579
30
209
357
101
870
813
712
4
243
958
387
388
17
348
74
101
998
798
383
726
463
779
175
353
799
160
190
483
338
689
615
836
230
28
967
297
655
852
411
446
308
676
630
442
807
659
580
426
496
984
13
731
795
945
590
653
529
623
751
610
884
1
889
8
686
509
40
81
967
280
792
787
870
770
310
790
999
549
798
183
169
678
716
730
715
182
208
593
181
708
991
516
257
445
394
714
4
470
566
946
641
48
213
864
84
218
616
374
302
916
573
44
352
785
53
170
926
963
868
907
22
494
839
76
469
408
213
269
507
200
711
529
757
662
789
460
616
557
756
379
685
985
112
508
811
564
588
996
909
596
865
878
725
741
612
515
424
635
90
11
669
434
271
235
192
305
25
533
58
922
601
714
79
109
475
181
887
907
436
694
545
894
905
633
357
590
546
278
891
942
852
428
805
171
343
263
726
122
994
436
948
784
355
299
976
980
586
41
439
394
698
451
73
999
927
561
816
341
792
304
619
789
584
66
949
370
53
25
768
539
741
346
330
129
306
672
583
509
310
591
720
717
701
552
54
382
368
972
20
385
777
982
229
161
776
453
162
708
340
628
687
969
641
541
593
550
726
200
366
40
434
389
632
298
582
286
778
52
485
215
410
981
271
66
520
214
693
951
811
955
939
719
226
254
572
927
621
351
305
80
190
690
909
707
674
662
433
188
403
220
357
909
308
390
841
373
854
74
233
117
576
78
16
95
977
566
721
623
597
895
159
691
94
368
929
28
76
945
737
423
961
660
401
380
542
883
949
450
91
317
244
322
101
32
612
627
997
99
806
75
870
792
480
244
701
108
998
83
654
341
59
339
355
983
812
150
952
840
406
459
760
446
899
195
922
438
292
137
522
685
671
593
868
250
585
4
273
567
117
469
247
285
40
274
745
608
690
317
682
164
466
724
788
340
468
752
304
597
273
988
983
248
787
586
778
707
341
990
255
909
140
904
718
646
417
373
859
842
108
406
31
555
816
813
96
703
721
866
407
881
754
318
743
260
578
757
132
359
869
48
875
610
571
10
291
954
76
726
718
558
549
778
592
254
861
17
432
646
199
120
327
891
623
649
856
218
231
883
670
156
286
512
454
578
436
55
742
63
700
715
72
580
869
597
35
620
947
627
801
475
160
618
995
958
446
98
881
795
521
319
436
552
81
933
790
207
486
839
993
210
913
37
906
906
279
287
441
989
539
342
878
16
386
324
237
558
970
767
446
967
658
390
564
316
331
595
332
313
46
576
402
991
950
697
215
856
468
486
662
561
490
241
524
738
256
602
896
106
483
777
847
65
464
893
754
509
117
101
292
953
83
671
118
483
133
858
112
798
374
264
316
309
88
481
3
434
865
259
525
930
481
222
371
469
323
873
350
948
368
787
417
887
62
45
112
220
173
122
147
5
875
961
693
850
83
226
95
45
856
394
178
108
208
989
515
158
48
292
133
74
494
453
149
347
341
984
373
150
65
751
256
540
504
756
749
448
85
66
703
693
161
424
892
680
602
39
668
460
44
197
889
383
89
417
799
821
179
485
265
559
836
434
52
798
694
696
510
372
863
737
287
591
619
987
587
159
223
445
16
649
353
189
737
340
323
751
120
392
893
398
562
456
486
317
80
341
839
28
248
901
264
606
639
728
755
531
795
927
901
985
257
550
333
441
958
179
472
498
773
462
255
166
459
18
666
963
455
33
281
747
631
603
505
462
446
73
311
312
260
400
333
704
636
420
152
231
510
457
367
279
959
761
951
901
741
468
532
676
823
862
654
722
299
710
853
194
460
282
664
151
376
853
523
702
32
962
21
23
403
466
954
96
47
272
989
311
248
72
107
167
614
377
994
187
891
448
930
540
547
904
144
162
222
573
366
861
563
444
696
667
156
651
766
848
540
989
6
251
630
663
286
521
259
968
613
529
701
953
744
999
34
570
406
259
491
540
335
410
478
523
673
417
406
170
360
681
360
884
852
248
102
814
979
146
554
849
619
351
15
33
30
337
984
675
333
524
624
536
157
512
660
202
682
695
445
202
772
632
704
40
178
504
91
893
119
25
369
64
470
607
477
952
128
463
51
81
178
393
693
438
186
602
465
916
552
14
200
57
146
382
760
807
824
289
533
210
450
849
528
453
154
290
255
239
5
818
536
528
120
92
848
220
192
585
935
143
368
819
786
293
296
838
334
310
835
496
402
82
258
572
728
724
112
738
365
795
198
29
351
738
364
720
263
923
752
964
370
39
735
19
292
930
743
184
564
336
575
398
691
851
838
475
467
555
666
580
28
963
834
595
307
544
130
380
891
880
525
690
411
545
242
476
946
828
181
776
319
992
312
232
417
457
388
672
408
814
80
83
102
118
51
156
495
748
205
359
932
50
901
428
123
122
332
240
360
525
606
520
356
780
746
421
928
781
580
845
751
680
746
286
152
799
11
476
99
14
0
796
925
678
306
259
220
656
1
308
45
866
389
459
835
147
308
737
726
939
622
670
318
58
811
158
414
40
45
341
14
334
434
74
63
5
583
712
140
969
902
922
388
697
883
577
616
311
774
704
621
18
675
438
847
687
528
214
533
68
693
706
552
287
297
389
811
812
629
616
510
456
731
459
317
358
762
754
705
931
607
855
39
940
938
721
366
169
6
915
684
303
872
42
873
189
443
225
38
237
501
618
516
857
286
660
403
897
37
235
267
805
316
316
354
585
638
319
738
269
148
138
939
157
991
416
570
627
14
709
242
14
968
120
53
201
311
771
345
79
335
90
159
713
767
972
1
523
317
976
35
333
495
1
709
32
276
735
893
439
514
602
546
422
509
856
948
615
269
245
52
639
411
629
382
598
482
822
969
530
331
362
47
182
490
694
712
954
448
767
275
887
214
459
490
207
393
208
701
348
658
249
139
410
542
888
789
670
98
963
880
94
604
462
332
840
251
922
529
791
290
785
766
413
433
671
17
534
99
877
885
861
407
247
282
318
966
456
792
732
53
434
150
53
893
665
779
247
276
377
897
875
376
739
988
484
915
798
134
927
106
246
481
949
686
121
433
813
745
892
580
30
214
913
92
850
150
622
691
428
668
754
201
510
280
928
81
362
354
318
312
880
728
354
330
230
337
554
490
918
242
464
967
105
780
301
3
992
546
880
460
416
434
241
83
751
888
491
912
102
73
117
159
514
206
676
116
758
598
742
910
307
675
897
367
590
846
352
852
556
688
265
469
519
401
602
491
634
958
247
433
686
365
564
771
666
773
626
150
516
861
963
482
139
590
222
757
220
804
308
545
132
242
711
960
662
992
590
552
235
276
355
374
498
159
255
505
440
905
357
199
985
10
832
788
98
320
230
94
151
781
328
782
904
250
821
485
174
977
472
297
179
936
419
358
930
810
919
219
28
921
215
103
347
940
498
92
565
999
77
954
877
585
974
170
701
897
117
535
783
400
184
949
361
931
19
374
1
78
109
763
416
877
971
596
193
967
390
50
60
897
653
709
583
737
241
249
302
431
738
798
969
774
671
328
967
672
699
772
285
877
433
546
565
72
771
77
977
182
36
171
393
822
440
122
701
710
404
908
791
386
353
535
17
967
445
643
186
95
711
431
541
307
825
160
584
940
13
934
646
160
755
518
168
158
277
798
945
115
750
220
394
408
631
89
728
65
544
854
857
490
404
192
276
274
256
214
82
245
322
31
209
601
378
758
93
382
24
317
237
440
606
721
398
528
738
168
595
544
54
876
131
159
33
187
109
902
781
43
159
593
104
420
218
412
15
145
562
917
105
241
264
492
579
381
675
184
201
655
692
670
184
775
552
540
268
723
593
910
194
317
672
474
887
497
781
71
566
696
640
394
701
329
48
365
335
719
353
691
137
453
474
796
715
716
594
468
65
621
153
354
376
396
503
914
400
808
812
777
12
544
403
146
472
637
324
326
603
719
231
759
904
707
73
126
943
972
269
283
730
252
161
594
392
553
285
128
43
301
363
774
633
345
506
821
735
160
523
849
401
887
349
388
299
942
942
589
523
186
887
552
653
339
334
707
422
586
810
252
737
295
264
461
396
152
122
290
831
719
467
193
481
436
355
925
534
720
334
947
707
669
397
573
879
897
232
892
501
277
890
203
85
54
147
551
447
698
482
129
246
672
364
346
849
984
353
614
723
793
897
631
539
46
261
794
46
405
837
984
500
716
998
466
890
52
875
906
29
162
35
529
896
584
664
729
272
847
63
719
451
950
815
637
918
31
792
488
877
817
161
520
123
237
172
313
652
940
339
196
351
904
287
473
846
828
143
108
365
308
525
32
989
699
373
67
600
979
504
820
593
857
389
195
869
978
438
666
585
240
276
95
661
869
752
158
24
556
391
696
262
2
12
149
90
4
60
282
72
493
455
87
633
538
535
667
755
362
640
169
512
729
250
170
43
23
169
852
34
237
981
613
226
408
792
730
715
960
776
175
157
780
836
134
54
319
973
126
41
52
236
385
155
212
937
155
89
190
737
83
170
859
906
31
578
213
972
739
453
52
158
479
722
313
209
847
123
987
63
819
66
932
479
886
473
719
230
645
400
39
245
829
719
770
211
705
784
650
350
167
297
213
677
894
517
35
842
996
626
375
338
266
164
6
296
455
784
220
412
314
249
824
233
745
661
358
24
698
72
262
93
122
464
312
485
170
509
350
348
762
435
693
848
194
649
405
688
497
437
622
606
646
961
731
314
20
392
953
759
557
570
133
109
885
392
825
97
871
206
604
654
357
357
811
245
681
981
836
307
178
701
714
230
917
37
801
312
705
44
580
560
797
550
618
18
802
58
88
476
296
451
785
412
353
115
812
480
36
372
453
757
841
754
589
490
127
988
342
540
728
374
745
170
928
560
165
233
675
55
238
624
637
921
965
253
909
462
802
804
410
307
162
158
973
911
497
883
618
295
831
829
992
577
721
406
531
237
804
306
670
946
839
766
220
477
623
739
577
498
115
153
268
24
217
638
87
113
309
166
840
510
613
757
797
934
966
503
140
921
425
242
737
683
634
686
973
416
558
641
644
830
520
974
973
396
384
667
46
673
695
259
637
449
536
377
842
714
795
238
513
159
618
154
518
321
792
759
571
838
699
631
618
877
816
477
408
541
596
695
747
348
511
121
961
357
125
581
670
217
399
613
753
540
888
804
490
69
367
421
888
847
269
406
195
880
14
273
157
572
786
69
560
937
121
1
489
836
395
149
689
758
665
915
389
113
277
992
456
998
866
436
699
929
269
708
485
285
471
938
956
648
266
93
368
806
726
70
984
691
534
735
582
997
617
281
438
0
431
422
85
542
389
287
177
211
184
50
930
505
371
714
557
860
242
879
231
412
187
667
309
261
940
282
239
356
138
63
229
483
665
920
758
729
836
581
135
208
973
669
916
208
203
720
247
607
19
62
18
468
648
277
654
641
715
718
150
295
754
492
753
786
879
89
135
347
660
386
322
175
876
820
475
839
758
773
633
741
972
32
174
161
109
925
501
918
54
765
457
309
777
75
287
887
115
630
339
962
450
748
752
208
178
603
320
359
306
695
239
856
407
308
212
966
530
784
722
736
974
866
693
260
202
106
246
9
756
840
582
929
402
521
55
595
848
274
391
570
11
870
534
400
402
715
398
776
619
101
295
103
113
486
233
30
41
923
704
115
98
997
889
865
33
463
471
762
655
623
796
639
977
158
487
532
8
70
489
253
288
514
842
715
73
651
676
623
107
316
660
768
930
494
689
989
624
925
25
203
593
728
504
192
930
38
852
449
183
200
499
909
32
89
202
497
493
544
536
417
769
26
16
626
445
377
159
601
322
376
337
787
378
741
764
167
234
615
454
714
908
765
21
242
394
358
337
312
116
696
367
414
808
308
50
756
453
822
575
428
615
324
192
840
771
243
82
192
469
100
528
495
335
23
987
197
531
66
258
516
196
642
30
200
581
706
502
535
900
689
922
229
49
731
588
695
343
875
11
419
650
256
770
91
164
653
194
977
516
93
989
337
538
691
338
650
635
133
338
920
720
551
837
503
811
938
828
905
824
411
796
357
750
964
349
644
82
450
618
843
501
226
258
300
629
407
30
955
118
920
556
254
888
480
874
882
452
59
891
40
558
219
341
227
217
802
439
87
887
709
170
21
603
170
202
425
170
191
323
464
373
360
878
466
439
629
278
826
407
798
620
862
212
145
214
232
137
13
726
476
137
830
112
514
115
298
796
587
256
842
852
91
992
618
405
481
40
809
58
305
938
49
876
32
625
8
929
823
183
108
636
118
952
217
324
293
728
817
72
464
956
658
501
598
970
243
234
224
856
130
350
124
546
280
691
208
771
509
782
12
188
683
297
417
666
779
472
823
554
673
695
352
617
158
877
300
537
821
590
964
289
464
121
489
680
723
193
18
414
819
937
863
149
351
760
960
839
167
169
476
480
333
897
258
913
16
960
834
264
735
595
238
345
658
344
40
834
222
30
409
768
893
607
692
751
420
898
851
382
353
108
353
801
941
450
940
157
327
270
183
940
487
920
547
80
900
749
834
513
853
663
310
873
448
698
479
109
76
502
882
103
461
967
490
435
612
897
692
494
48
131
961
202
226
590
937
796
296
381
821
504
41
996
400
783
711
75
817
750
749
667
123
355
373
418
42
782
430
79
71
125
573
424
749
884
699
584
190
138
660
565
557
244
875
562
20
83
240
282
399
920
964
786
174
580
590
27
297
814
212
507
83
984
540
940
773
608
641
521
119
731
369
642
676
44
232
786
770
842
493
415
436
245
118
5
639
699
284
71
573
13
223
929
324
587
243
627
645
173
276
939
754
249
127
362
478
480
254
784
741
681
56
631
691
979
853
957
45
126
130
714
133
938
247
913
743
214
626
167
446
195
521
928
833
4
649
522
256
474
592
25
193
377
500
930
496
497
405
216
368
57
784
548
708
850
603
328
726
13
254
673
771
663
785
596
534
216
460
623
29
107
566
932
503
717
188
105
377
214
527
574
925
133
642
822
693
735
888
801
167
409
489
745
904
809
196
686
611
280
345
469
179
316
149
89
150
904
810
553
41
714
910
291
705
393
539
928
414
116
569
612
905
819
574
79
373
291
989
57
434
702
546
268
393
330
566
590
879
107
799
21
362
248
798
366
229
203
707
624
586
215
916
835
209
805
706
615
185
704
432
143
710
678
695
610
810
280
752
92
847
156
115
657
537
546
832
299
399
179
23
172
188
538
457
252
379
183
368
781
930
325
622
560
375
258
472
724
673
172
336
206
324
951
498
949
217
928
187
401
409
731
443
173
337
176
930
814
838
476
399
879
170
525
76
539
372
410
346
817
284
939
849
286
179
317
910
524
740
671
676
664
158
906
293
494
852
468
586
618
940
726
522
512
722
278
946
802
102
870
687
482
718
152
526
139
137
19
303
616
860
890
928
380
352
758
615
76
857
549
706
279
959
329
24
224
75
20
963
878
294
721
825
24
68
778
105
962
960
6
61
769
200
514
194
975
672
66
945
413
524
232
900
942
288
331
418
297
844
928
517
740
470
585
705
476
443
864
117
159
678
453
177
829
231
80
365
338
992
910
556
223
697
643
126
253
757
669
346
88
900
807
525
232
346
400
893
328
429
188
354
981
733
85
508
835
896
609
577
294
133
359
369
492
490
340
358
240
679
58
919
96
769
858
883
322
537
761
734
974
621
717
935
956
664
818
724
71
525
31
365
292
674
616
981
418
925
148
333
613
523
220
1
206
529
109
700
822
352
633
149
201
462
131
368
747
289
446
320
808
12
987
266
141
821
695
780
626
256
539
88
509
699
727
199
554
776
734
508
67
555
26
516
233
290
968
193
888
964
851
666
799
90
941
633
488
311
363
593
59
532
994
91
309
242
624
262
157
239
30
669
67
578
813
612
685
964
137
356
363
339
986
142
793
408
779
888
973
642
305
932
196
400
494
540
508
381
80
79
360
85
502
691
351
14
651
653
529
996
958
570
445
893
472
594
171
524
318
28
382
983
170
480
444
245
303
956
637
303
20
737
735
92
649
664
697
519
974
642
859
881
294
890
866
118
786
277
239
322
70
743
477
726
432
120
119
872
895
453
502
739
557
219
945
992
828
298
103
413
84
709
476
926
554
270
635
51
784
865
473
642
94
356
929
755
46
719
353
370
545
566
169
124
899
352
635
622
296
324
890
613
94
496
955
339
6
793
150
981
1
399
692
964
915
118
292
809
423
675
222
726
49
394
516
722
107
594
688
40
18
44
869
357
569
985
877
5
301
310
513
456
689
800
233
976
756
227
160
99
491
967
771
43
917
451
504
736
322
280
843
734
293
717
445
711
194
140
940
189
722
231
318
676
114
965
531
466
138
550
402
428
919
540
108
278
949
621
596
907
279
375
671
131
337
626
949
187
143
986
923
106
574
306
845
56
112
132
901
221
755
750
299
936
52
240
989
988
621
156
188
706
889
862
57
642
338
896
633
793
516
702
973
595
381
687
607
429
747
872
983
479
447
975
407
541
149
901
437
986
259
629
169
313
593
522
150
321
489
779
459
135
987
91
821
227
482
89
176
703
658
333
596
764
823
144
606
680
684
653
49
674
111
415
394
11
165
715
68
514
288
466
895
549
737
778
443
962
559
104
768
7
244
687
353
492
768
228
877
498
46
342
32
902
709
646
357
372
824
79
812
349
66
533
449
634
648
12
561
999
890
819
373
116
251
6
697
923
14
923
52
990
48
946
264
80
260
376
409
495
267
138
193
986
572
814
412
835
189
359
400
291
783
906
587
314
844
550
747
929
611
684
57
248
729
871
445
411
224
718
174
5
47
227
783
683
459
7
953
477
12
275
758
233
96
33
817
65
586
902
115
36
364
701
337
43
720
741
955
82
936
601
741
416
697
592
277
165
231
999
305
408
365
733
729
2
250
326
809
644
833
39
434
631
908
823
856
311
128
480
268
472
517
182
888
968
4
666
648
321
9
497
253
588
383
794
324
12
603
210
816
453
90
268
725
935
24
978
27
43
48
830
959
343
27
427
475
851
29
421
574
472
989
324
421
26
173
204
530
622
562
191
992
20
148
477
246
668
28
124
107
605
853
819
521
319
648
495
664
595
785
700
567
307
987
449
253
912
68
682
793
161
175
716
430
687
901
331
817
485
376
381
786
389
310
79
931
431
470
669
929
700
935
126
538
930
587
390
484
723
246
838
969
504
784
563
900
891
343
411
570
752
35
756
342
938
527
717
72
168
459
536
974
48
378
570
887
68
111
452
14
179
287
933
495
15
182
53
924
633
412
162
357
467
815
773
180
254
896
343
993
937
296
397
388
781
922
100
415
742
124
355
426
175
837
119
936
281
614
50
132
539
8
304
266
703
665
227
656
406
238
359
350
447
839
897
461
536
197
984
636
89
566
805
18
331
135
3
447
388
401
361
966
317
856
58
864
792
530
684
98
244
485
134
634
14
412
455
538
807
925
706
994
869
385
223
34
298
276
992
505
638
366
135
483
674
627
603
252
631
908
219
276
536
475
135
477
14
335
503
313
379
483
962
104
659
80
894
686
609
993
863
23
823
638
271
717
473
955
249
852
443
217
846
269
69
370
225
146
739
711
592
246
355
325
121
685
654
669
279
206
128
66
455
667
57
569
552
664
558
731
864
695
300
799
999
251
513
371
372
421
972
542
604
28
989
277
660
413
858
556
855
471
209
629
389
220
427
380
118
873
482
18
855
982
292
722
512
275
345
578
447
719
89
710
209
380
542
785
529
331
188
448
731
913
69
133
790
738
529
123
405
972
873
804
842
644
840
771
70
413
117
399
291
802
431
631
268
90
159
434
392
507
745
454
103
177
987
357
77
262
614
258
258
775
559
144
660
436
197
545
17
854
806
553
593
913
467
718
129
58
802
147
690
595
658
501
318
375
682
516
765
222
706
755
812
72
444
539
621
858
647
529
160
906
945
526
462
847
781
871
182
394
688
175
156
544
965
728
406
236
939
418
353
947
610
250
40
374
915
41
311
327
547
158
27
267
459
101
538
856
523
365
870
941
739
517
524
302
537
200
889
724
112
613
690
97
98
646
520
501
794
557
599
126
576
307
846
274
428
294
480
206
599
942
566
639
8
620
477
601
101
706
359
858
642
378
326
705
462
510
141
618
327
91
162
202
156
446
756
167
158
238
306
929
908
492
111
675
797
457
959
562
671
562
272
500
867
815
499
732
583
203
754
316
395
781
674
24
894
528
162
978
828
399
946
127
244
506
134
38
121
861
843
920
837
631
83
863
981
292
614
528
987
233
535
928
263
705
378
315
838
130
243
77
315
617
260
932
338
153
28
796
939
558
671
850
373
940
462
318
78
192
94
224
806
625
562
315
131
504
37
479
369
924
303
255
309
407
221
905
6
494
965
703
387
325
586
967
994
674
286
895
223
104
442
216
750
7
984
980
158
703
241
939
250
440
663
306
757
78
602
312
130
808
414
230
341
137
567
318
827
79
850
578
986
27
707
231
587
632
383
242
204
433
372
563
43
591
998
183
799
340
313
13
826
313
406
778
622
665
713
460
727
73
983
204
896
599
493
799
96
34
44
480
747
651
617
961
363
311
303
493
364
191
787
994
833
98
934
503
558
387
8
750
316
832
223
565
678
937
471
437
84
463
378
367
700
566
606
520
282
276
768
61
852
112
412
895
580
168
612
108
978
89
772
72
808
836
162
204
338
501
978
719
111
137
981
220
773
243
538
746
576
647
946
223
961
835
524
840
687
206
519
608
233
223
167
514
224
56
621
556
19
217
826
555
977
193
623
939
646
236
880
605
226
877
850
7
456
270
893
706
19
414
81
251
75
923
378
22
251
993
783
409
911
776
101
140
479
950
751
314
9
49
318
337
6
250
260
752
942
662
144
233
444
389
782
295
585
763
29
336
400
377
728
468
233
251
0
254
138
43
119
317
383
498
257
556
497
76
667
409
728
900
733
908
390
232
539
485
407
18
363
238
779
86
847
381
916
649
446
587
858
998
98
15
551
10
828
919
862
102
93
758
600
652
106
186
58
711
18
179
704
436
959
450
998
600
93
395
593
865
198
686
57
755
962
700
7
490
88
574
635
921
502
228
174
72
726
703
227
237
261
164
565
339
231
632
798
830
470
648
821
53
70
693
886
528
730
386
228
654
226
345
509
211
255
38
685
578
684
692
585
721
410
472
23
381
143
813
684
263
481
981
561
592
384
963
110
493
623
373
785
565
711
623
865
616
210
285
143
810
909
297
843
630
506
332
671
357
137
682
981
354
971
791
200
198
146
423
279
59
175
259
742
766
537
646
658
905
61
648
475
603
428
814
355
851
598
394
461
69
826
492
62
880
900
710
983
504
818
451
607
779
39
160
649
16
383
287
30
642
214
447
486
7
405
965
740
485
261
804
954
81
539
629
217
831
274
969
91
404
840
842
863
909
701
147
87
54
943
892
858
802
753
515
15
244
297
739
989
319
873
190
530
304
727
567
720
360
383
41
892
967
946
250
183
353
204
376
267
108
262
194
563
880
555
242
58
771
349
541
475
294
570
606
58
357
593
20
471
183
615
46
702
798
300
615
420
20
248
323
947
439
595
348
161
323
453
281
10
695
212
903
571
733
293
658
648
212
192
570
992
261
922
31
506
121
8
434
34
387
535
308
981
629
478
960
600
681
768
818
441
71
807
873
716
255
291
278
589
488
4
690
492
444
833
676
936
36
870
745
407
480
508
175
643
661
236
138
872
64
656
97
462
103
885
480
316
64
253
821
672
435
973
307
240
276
724
83
554
587
523
458
292
822
69
844
243
537
740
321
825
666
764
21
593
462
233
361
670
628
721
238
980
948
517
7
671
46
528
472
327
64
611
745
348
946
648
912
467
89
443
440
12
305
908
637
455
233
330
679
881
48
719
899
142
154
177
659
321
814
106
326
945
345
947
87
545
141
537
773
137
94
448
574
849
125
743
636
367
558
296
662
792
44
0
338
838
379
70
158
312
665
475
198
724
144
626
865
768
35
474
420
204
218
491
701
812
167
948
418
465
488
893
586
958
790
940
809
388
724
715
81
124
737
730
140
765
267
188
667
549
670
529
452
226
466
639
364
26
955
203
385
761
744
808
884
651
967
716
379
411
638
340
509
638
933
243
920
835
678
317
225
332
797
499
134
305
624
219
703
985
591
118
47
751
950
158
979
382
858
151
522
371
271
702
894
779
190
88
226
786
817
611
269
211
978
122
915
779
200
421
657
70
152
903
807
813
813
403
518
303
19
111
944
480
167
519
706
558
923
723
852
510
201
774
449
158
274
299
754
178
423
440
754
243
947
562
90
228
54
843
311
562
41
19
63
4
718
813
399
438
143
694
856
520
176
843
118
773
46
528
172
762
292
887
868
941
782
736
438
434
841
2
264
503
703
91
82
592
922
699
676
955
302
895
61
872
252
20
263
142
335
574
928
474
476
796
55
668
630
947
697
458
638
362
455
551
822
691
4
597
557
780
351
449
792
126
908
912
44
26
870
770
18
343
316
65
147
21
681
7
724
514
397
476
893
97
152
658
394
253
472
868
452
968
260
243
871
36
805
67
920
453
259
703
566
189
889
237
196
477
835
146
778
899
185
103
646
794
923
711
92
951
867
41
619
270
499
48
14
725
180
490
313
742
475
437
172
576
920
35
488
670
468
3
970
653
818
486
734
208
929
70
240
218
452
192
268
987
248
304
462
693
621
137
423
480
14
421
450
202
76
997
609
719
91
896
902
166
73
418
213
390
652
254
697
126
610
294
608
715
711
548
193
493
376
817
849
755
142
185
170
770
533
648
406
584
847
663
133
502
120
177
331
974
225
613
654
15
837
826
140
903
79
212
894
330
742
460
982
417
272
835
530
564
661
530
804
754
516
485
368
632
350
427
897
937
64
11
484
164
845
957
868
613
86
215
46
536
862
905
811
918
999
992
738
711
173
722
147
993
469
63
124
885
224
617
326
315
589
51
82
673
791
105
380
601
674
130
374
540
988
815
674
721
655
326
819
24
608
418
550
45
230
842
902
439
225
783
637
663
142
200
319
733
440
740
580
446
159
94
698
54
713
508
465
782
895
974
558
139
445
233
79
997
119
916
966
379
221
52
170
81
529
17
195
538
937
692
998
297
876
267
125
10
242
849
165
986
631
249
985
687
212
372
804
466
191
616
236
79
776
434
499
888
218
533
224
718
810
438
368
648
838
434
824
81
678
498
874
643
236
561
965
53
176
866
124
429
63
484
99
473
477
623
653
185
714
823
494
213
421
643
869
803
395
293
27
38
978
608
955
55
986
583
411
49
233
680
899
689
802
908
354
421
481
895
912
324
820
773
970
76
473
620
223
425
979
777
410
950
416
413
138
849
789
596
499
505
609
520
476
201
996
188
99
855
662
176
159
831
157
217
654
503
856
69
26
613
18
299
782
488
964
706
523
990
792
619
70
414
212
334
245
864
274
23
627
394
351
225
699
705
193
55
848
971
634
791
465
506
196
842
921
463
800
42
249
887
483
990
986
658
518
187
308
811
900
602
73
715
184
47
212
560
183
492
55
253
423
539
97
616
744
438
459
384
855
884
698
180
775
134
15
542
222
21
383
830
306
425
363
261
182
568
698
963
719
243
597
344
821
660
395
136
409
870
652
385
208
838
675
797
806
278
568
421
57
689
703
807
22
326
217
418
846
423
330
922
587
596
392
277
96
443
279
89
693
242
907
500
275
243
949
286
506
183
516
681
520
999
387
56
407
477
994
98
863
901
598
430
275
463
822
204
583
176
243
241
946
198
5
502
758
600
434
991
292
566
592
825
678
24
645
145
55
687
958
320
602
148
194
387
358
213
82
11
461
201
317
353
196
974
197
3
636
307
451
892
354
933
357
388
358
904
146
539
90
154
362
9
371
356
887
230
956
692
106
852
745
719
872
208
377
167
591
29
721
681
134
284
437
170
434
79
927
397
91
548
384
769
605
742
760
765
577
61
461
489
177
454
300
368
68
135
422
11
431
970
922
399
910
266
971
184
548
204
63
24
0
497
17
228
990
43
190
116
927
275
770
164
851
135
764
428
615
194
187
306
405
909
429
636
511
446
8
222
267
655
258
423
571
496
508
572
788
750
131
31
847
854
233
23
702
377
887
996
494
479
736
262
226
548
250
334
969
391
518
151
764
452
936
160
148
899
199
682
884
536
361
616
303
183
927
663
283
823
408
340
829
178
603
910
799
766
543
971
601
889
959
857
181
88
114
104
758
868
826
141
126
303
385
860
262
360
60
705
675
884
197
905
800
696
315
264
841
860
741
208
740
69
874
32
785
822
801
282
472
272
473
689
787
649
92
404
107
226
36
166
363
59
437
972
643
217
341
871
207
441
827
239
115
328
717
30
428
74
962
835
720
164
412
447
377
539
492
859
122
819
736
424
244
736
50
119
592
348
876
124
769
730
853
559
342
542
92
486
546
230
302
420
513
641
1
160
216
779
783
760
719
83
530
414
537
387
185
232
533
309
649
676
337
526
258
602
496
41
186
701
990
373
741
133
609
386
539
54
465
809
707
691
860
268
128
82
596
791
375
376
29
746
207
949
609
247
857
583
777
593
853
835
811
746
203
12
713
667
289
507
395
514
673
708
288
367
612
995
509
378
346
222
432
154
822
726
748
127
730
757
421
104
298
250
219
709
368
827
57
369
598
537
815
412
7
890
79
398
120
183
464
151
423
717
601
579
823
965
343
479
254
292
77
656
370
389
972
284
466
136
324
640
245
293
5
723
675
203
16
350
810
549
739
629
72
803
874
826
843
38
596
779
546
459
308
103
147
459
200
661
359
739
747
780
712
85
317
338
238
777
554
109
298
759
797
642
731
876
767
36
861
202
973
471
179
160
94
455
742
107
972
481
484
88
163
870
123
512
927
318
352
454
694
447
794
689
330
216
712
818
512
843
156
704
898
556
497
452
584
606
710
705
424
381
154
296
606
396
840
111
390
484
807
627
946
22
967
483
305
134
6
560
619
14
411
246
859
826
504
824
375
338
982
345
540
282
665
564
52
271
364
185
724
685
157
970
316
276
354
445
303
288
395
57
990
836
206
499
462
582
334
195
875
562
302
356
240
94
359
545
593
418
899
591
120
940
469
592
253
350
698
348
853
860
727
284
360
265
504
658
923
354
875
331
846
618
507
234
338
375
130
136
306
74
27
720
525
325
11
305
402
520
927
543
246
685
895
168
871
938
668
208
825
584
138
368
754
642
778
54
143
604
757
934
754
516
445
673
697
98
973
186
235
326
899
295
198
52
304
616
818
778
542
196
88
434
200
289
358
439
905
242
798
13
803
207
430
781
986
30
790
308
201
138
812
177
78
130
9
54
979
73
81
231
980
373
754
178
114
195
424
356
373
363
179
835
73
554
593
491
93
67
67
475
709
721
664
101
87
630
973
910
461
424
652
208
542
866
139
909
672
671
444
619
701
478
266
887
889
110
18
391
785
395
447
454
738
615
36
677
133
821
420
158
139
865
254
727
102
420
853
696
558
804
912
998
577
635
882
855
751
5
41
994
77
294
284
184
468
299
655
786
261
593
832
646
996
600
832
950
861
699
873
964
79
878
187
604
979
652
833
242
156
113
771
636
414
10
501
894
252
482
672
451
9
611
564
829
736
520
885
689
363
376
631
552
153
153
895
418
779
816
645
580
76
933
109
187
306
180
48
15
215
883
998
502
519
834
242
802
292
490
802
599
293
331
243
395
988
805
846
627
674
248
412
155
236
713
22
943
518
771
855
331
161
596
604
543
122
391
51
114
194
681
589
491
458
87
259
853
329
593
678
961
492
425
200
454
436
74
107
67
405
157
177
691
52
995
705
395
777
696
124
304
457
178
309
192
435
919
336
783
367
773
676
896
717
893
447
992
545
918
38
243
625
972
750
968
877
246
227
401
407
67
424
432
19
82
262
879
612
627
261
754
499
136
843
352
973
502
333
280
795
803
336
532
137
509
561
693
688
338
344
365
152
936
874
885
789
493
208
88
243
5
217
401
404
127
37
347
716
908
43
642
664
449
497
858
712
486
727
276
809
30
906
157
763
172
143
449
622
850
288
134
433
138
242
721
365
413
550
90
211
989
747
752
996
689
17
819
267
391
695
77
953
857
879
944
967
746
570
685
318
414
689
763
719
805
497
457
727
141
956
104
635
918
778
73
185
507
590
511
145
510
922
961
901
75
938
429
844
524
620
374
372
184
335
398
770
769
106
618
381
113
137
249
23
555
724
17
201
749
352
365
893
970
875
988
468
564
295
382
346
17
297
923
458
710
626
261
649
896
761
796
602
154
970
768
271
180
631
472
601
910
824
965
319
294
500
809
698
273
300
324
736
552
277
751
304
466
375
972
196
81
807
52
714
843
42
498
17
248
859
623
543
333
914
977
251
99
296
400
936
368
860
477
240
801
754
949
724
240
3
296
64
862
3
865
213
488
650
151
642
785
138
381
924
961
418
209
552
586
520
556
633
2
140
749
862
480
772
950
58
64
704
385
901
400
551
661
396
776
338
209
609
728
633
163
968
535
426
329
534
63
598
874
157
876
555
359
619
561
127
644
601
795
305
842
782
839
156
570
669
173
899
22
873
955
627
488
826
528
116
846
134
5
287
277
243
332
129
141
557
921
265
760
120
458
492
634
718
757
226
28
242
445
140
424
354
879
719
625
738
38
871
27
217
610
166
980
637
678
355
957
991
380
294
913
116
882
342
121
827
563
144
653
149
692
991
169
809
366
722
566
28
219
428
645
323
379
271
518
588
195
114
244
836
712
401
217
750
674
308
924
678
51
996
700
311
982
480
327
244
60
629
700
459
35
641
726
727
821
783
464
295
742
429
454
398
691
620
59
891
154
239
399
492
396
934
464
654
108
232
849
702
280
672
750
67
591
663
549
332
743
330
627
465
976
201
663
267
188
628
357
771
701
411
999
644
127
172
937
327
743
831
646
184
443
250
742
547
190
372
661
565
202
141
814
138
122
359
884
988
31
258
610
83
254
231
536
20
236
345
414
654
957
586
925
107
595
353
342
176
676
524
980
240
984
563
673
213
290
160
680
561
112
718
390
500
722
198
51
367
937
667
28
188
313
141
806
900
864
146
811
242
476
491
353
493
667
778
641
181
359
396
432
204
439
788
713
702
346
391
792
369
413
107
715
926
105
702
625
862
628
151
505
135
269
173
296
433
151
696
247
874
117
414
898
176
350
901
796
279
762
116
753
791
204
772
891
937
396
33
934
420
84
188
290
112
12
742
404
977
989
770
960
901
44
614
753
244
458
557
47
535
369
555
439
590
132
456
483
703
391
26
713
627
504
45
6
737
966
556
970
809
229
542
291
143
822
362
496
174
448
119
697
390
522
642
389
441
17
48
658
788
291
917
72
20
501
949
14
803
810
621
589
142
240
688
423
491
208
798
880
686
258
462
848
686
628
92
609
190
274
722
37
480
706
723
248
545
568
42
181
539
61
238
930
694
489
123
944
317
437
227
216
705
488
104
234
234
630
615
802
328
588
111
943
652
202
873
137
832
890
933
849
354
77
554
539
861
573
940
156
827
535
922
725
953
860
593
667
202
884
232
224
647
85
267
852
242
958
445
654
633
504
300
560
433
953
241
58
565
494
839
969
305
422
258
889
676
24
142
278
241
435
257
341
535
752
454
820
223
369
479
329
871
194
83
184
414
73
241
568
584
119
195
525
223
888
71
929
679
914
521
528
369
1
774
288
266
880
309
650
489
87
125
610
890
928
353
447
58
36
117
58
283
420
750
785
889
521
367
179
688
625
651
192
729
522
819
445
172
230
615
169
447
733
0
326
9
873
495
165
498
341
835
993
63
99
652
936
602
2
321
559
597
993
508
804
27
84
250
722
250
797
612
451
617
693
50
25
94
903
767
455
319
318
411
214
64
22
816
661
252
579
511
672
444
772
953
764
485
557
56
668
666
668
599
233
263
709
875
568
668
458
916
729
21
835
530
348
671
379
345
463
215
360
43
355
0
549
871
958
734
68
252
376
308
559
748
346
553
911
696
946
937
841
270
432
695
198
965
182
985
475
375
616
182
204
764
275
229
451
292
116
898
724
580
893
665
590
940
730
490
104
172
61
660
775
841
223
823
167
761
465
693
315
347
76
611
401
545
605
530
565
218
264
794
235
935
430
386
888
745
407
407
565
607
483
755
912
889
213
640
199
675
611
679
705
608
160
559
944
299
153
819
833
457
152
102
607
796
872
654
412
204
213
308
424
481
661
611
940
931
992
252
218
818
751
456
981
203
660
487
374
445
317
454
169
708
786
82
10
872
876
844
435
274
148
460
593
139
178
821
161
335
965
853
481
15
268
603
134
98
834
842
552
529
498
643
67
534
662
677
589
7
848
860
28
116
947
343
261
532
337
393
379
92
805
467
587
444
914
443
189
972
747
317
423
945
527
963
716
87
560
932
484
20
12
161
255
397
3
82
77
669
676
871
618
152
427
388
837
302
930
871
240
826
15
248
416
802
770
931
647
365
422
261
878
839
608
68
433
854
193
573
179
652
892
718
173
506
598
526
121
682
669
291
855
800
954
502
772
806
980
919
220
148
440
12
998
888
704
938
697
103
582
852
987
105
795
68
753
575
514
93
200
579
845
126
441
252
750
413
908
791
206
315
20
779
643
186
752
972
588
900
196
970
662
688
491
657
405
440
942
187
77
787
825
889
892
934
700
648
464
382
35
88
53
578
940
757
587
10
129
781
607
279
427
519
73
934
452
330
101
505
800
66
768
254
249
5
722
298
504
113
465
860
363
632
180
516
486
0
45
496
737
983
780
0
580
962
991
134
372
964
584
25
962
830
4
710
535
660
307
87
509
553
162
405
658
881
948
614
221
644
999
475
971
468
407
327
28
312
868
200
800
744
878
303
280
791
663
527
616
675
689
276
906
931
797
254
643
711
95
109
338
496
441
862
607
641
698
814
934
698
311
388
394
448
906
999
260
601
471
623
690
729
471
887
107
220
254
10
447
124
698
958
569
866
875
200
644
365
595
874
881
738
381
735
752
414
811
749
386
526
883
947
583
551
731
855
963
901
586
402
991
655
907
36
477
545
852
14
213
324
597
229
372
225
835
513
920
329
221
528
184
493
286
515
587
597
77
934
436
346
448
891
755
429
774
538
866
816
188
543
416
771
56
762
966
37
879
92
380
149
691
592
319
651
906
760
560
116
112
753
843
567
274
912
571
480
327
600
4
548
626
88
899
844
782
222
744
299
280
438
552
713
523
102
166
463
645
492
173
577
965
992
464
827
756
848
942
576
434
553
35
140
757
152
963
823
90
499
560
732
389
985
869
109
286
210
685
868
695
191
175
392
17
224
251
331
850
359
561
321
73
643
600
552
779
456
293
823
82
358
964
726
73
888
782
928
606
42
398
308
265
428
830
512
125
445
102
869
869
646
110
825
342
315
240
730
298
125
859
940
345
436
349
767
155
548
138
152
298
440
309
509
292
398
977
281
135
509
375
565
550
127
330
323
842
171
405
190
556
907
166
431
688
491
148
835
120
571
814
987
394
147
298
153
743
703
119
844
565
756
777
177
516
894
43
743
479
343
361
871
869
812
351
13
339
698
637
658
157
85
361
959
500
472
464
238
670
853
912
897
714
491
120
397
804
816
448
67
257
417
5
120
870
678
956
500
979
364
779
642
431
717
832
311
126
283
840
629
854
527
604
493
650
714
568
286
395
472
505
348
607
577
108
866
9
144
240
247
808
896
334
892
950
364
980
355
141
472
266
984
526
895
778
378
144
207
443
613
886
714
399
797
915
610
150
134
497
889
918
888
840
696
438
953
625
210
824
835
480
339
822
53
734
435
107
294
379
593
491
277
473
525
674
29
352
162
379
479
667
206
333
859
329
223
714
804
670
483
496
356
649
374
650
825
835
272
296
678
201
53
280
359
728
415
757
293
968
467
53
776
551
919
488
685
289
672
394
417
325
319
864
465
477
872
14
690
198
407
196
319
232
539
421
119
919
112
927
423
743
755
251
310
114
53
43
704
162
402
845
549
413
303
308
100
589
770
586
42
445
548
919
216
462
897
392
719
26
126
289
414
962
139
390
616
75
133
884
543
179
503
383
74
87
403
808
62
660
665
904
680
474
846
881
123
741
103
590
360
853
299
46
894
905
152
876
50
587
478
965
373
506
548
179
468
138
950
408
397
892
645
240
717
456
449
131
931
486
25
344
150
452
428
720
621
123
98
263
866
152
933
940
931
540
704
361
777
794
876
941
346
265
937
63
740
764
145
128
882
819
821
662
953
116
272
817
454
987
313
572
190
94
496
764
932
198
958
529
834
293
346
33
35
885
390
829
491
619
524
443
940
438
713
782
547
860
582
557
579
305
577
427
475
489
703
565
21
892
152
971
532
870
357
275
782
356
905
84
579
94
287
547
639
942
642
293
231
744
432
363
796
688
70
277
401
472
902
352
275
171
589
582
156
444
679
718
14
238
227
84
864
532
112
738
34
592
499
90
210
503
955
70
892
843
974
564
443
822
144
98
966
37
622
885
258
757
453
515
978
238
654
147
636
814
303
190
838
657
761
265
98
682
897
730
703
129
109
774
621
379
61
615
491
502
600
38
361
565
366
442
512
1
406
471
686
195
535
286
12
965
74
46
797
6
659
928
356
901
329
820
240
810
637
594
225
166
579
86
270
210
734
695
480
247
712
478
948
293
889
736
780
349
957
243
385
978
522
0
551
653
10
496
826
786
664
706
561
582
91
781
972
796
464
644
551
883
96
857
790
319
458
369
705
715
97
307
311
968
384
396
597
320
311
31
842
383
178
870
852
251
784
284
671
479
112
944
636
958
30
417
943
663
785
880
151
358
262
595
190
914
412
983
986
327
565
866
819
980
767
620
553
173
236
577
389
602
872
672
528
396
384
436
311
891
622
435
720
675
784
996
753
704
377
647
451
282
797
439
277
954
745
834
399
955
394
672
539
601
792
899
89
155
764
68
700
874
898
45
337
694
840
800
167
691
125
689
77
669
764
613
606
89
262
641
430
873
483
373
212
567
530
346
501
971
673
396
618
463
489
211
433
399
99
957
500
906
900
292
374
893
155
698
574
623
98
686
944
476
689
239
338
965
400
418
395
82
399
679
795
698
254
70
964
362
297
726
376
552
677
500
917
431
502
767
981
454
776
36
838
456
977
575
420
658
949
443
841
196
747
687
809
151
524
566
150
334
783
509
950
32
608
746
214
299
438
398
983
253
338
362
995
314
920
451
390
105
408
792
714
732
744
493
521
886
895
774
643
402
704
196
748
694
395
599
696
275
657
899
921
213
435
48
74
509
641
867
927
420
272
173
648
141
785
317
596
811
395
659
278
613
662
813
5
224
865
650
352
481
348
762
985
792
397
898
470
939
53
414
747
787
841
270
499
288
88
961
618
580
890
547
236
903
749
639
580
424
935
662
661
150
316
142
150
516
618
19
848
452
532
728
205
568
533
103
706
678
836
159
70
594
765
857
52
490
576
983
411
982
741
240
294
56
917
876
290
235
62
361
599
399
614
182
846
876
521
155
664
914
828
298
515
864
383
64
615
7
939
849
225
29
698
185
756
180
189
292
359
56
702
128
213
283
821
533
25
446
986
809
386
874
878
362
513
328
961
305
736
737
47
56
8
475
335
158
56
494
214
575
688
962
262
264
111
10
753
682
661
235
621
21
653
489
955
387
128
1
673
943
209
923
322
594
867
425
568
708
889
594
683
672
951
693
922
889
291
487
801
723
15
910
907
550
132
188
927
269
315
854
118
237
406
931
578
402
870
467
427
976
328
624
298
579
53
91
7
693
930
252
611
979
912
84
910
501
751
901
241
800
522
683
205
193
52
317
59
804
38
453
351
400
137
930
769
915
930
76
541
393
465
705
183
928
47
629
361
468
896
9
243
187
912
182
425
124
40
272
196
848
424
31
80
441
679
784
559
790
950
221
824
223
73
540
37
270
287
598
306
113
923
119
231
439
278
544
471
295
27
664
220
981
214
332
459
229
280
590
914
958
621
828
846
449
539
563
73
629
378
620
686
979
612
784
22
439
511
647
578
472
714
236
620
288
315
867
235
550
528
31
621
740
237
208
170
947
318
376
813
77
111
53
544
360
517
549
681
826
159
301
360
784
447
802
457
451
489
295
893
640
932
780
840
802
159
923
438
287
230
900
882
657
920
370
330
14
66
6
346
604
672
612
287
946
223
975
214
96
999
70
760
851
196
916
741
886
558
27
798
228
919
499
259
111
207
179
398
21
516
343
238
647
8
84
310
703
491
377
450
800
175
759
859
595
228
136
401
112
313
205
411
542
243
272
178
760
790
90
846
678
903
590
978
256
86
131
330
382
527
167
853
946
870
93
463
902
883
27
562
943
147
990
386
782
195
762
792
766
407
734
861
659
181
108
377
898
783
588
657
842
832
846
273
751
849
11
119
505
587
805
573
210
642
23
344
65
236
35
339
69
32
485
369
546
113
796
195
577
120
941
145
776
598
510
518
842
302
882
337
688
736
837
481
884
475
757
559
742
399
85
736
683
840
36
818
933
401
186
489
469
123
606
169
970
437
457
742
501
807
220
27
393
131
284
48
539
291
905
65
316
662
238
276
566
233
558
825
230
481
518
854
787
987
260
944
784
145
473
880
254
60
490
623
50
2
178
564
959
187
684
594
982
690
802
704
556
396
934
125
368
503
856
857
96
389
442
204
936
948
228
682
151
953
173
337
969
161
145
962
690
630
990
363
789
619
45
985
301
35
570
31
694
359
678
993
791
609
195
799
295
923
374
48
110
630
229
396
344
233
857
830
23
989
114
650
524
416
85
929
354
663
196
233
173
887
495
636
872
651
128
759
758
361
218
838
775
256
310
332
871
570
391
463
739
328
28
945
966
862
678
196
113
651
642
122
886
874
213
196
970
378
957
782
317
913
227
96
970
197
544
764
572
281
510
121
735
225
759
622
714
296
336
949
161
188
794
377
959
219
48
403
584
390
627
136
216
354
664
363
198
148
561
412
750
453
632
516
95
27
86
619
672
482
882
483
554
343
178
737
186
631
862
665
381
484
473
721
447
635
489
331
34
900
377
278
486
890
90
797
419
495
848
685
383
441
164
22
505
728
395
72
421
407
509
795
642
85
119
202
512
258
806
52
373
827
512
984
386
64
599
327
262
840
96
271
498
802
915
333
631
176
145
474
839
584
381
964
76
132
26
537
832
177
842
405
554
274
840
203
895
981
576
217
956
303
127
280
567
345
644
897
864
793
805
773
417
649
159
885
641
196
821
252
328
337
893
608
420
554
382
450
449
203
534
523
363
701
153
764
288
621
472
636
704
781
111
172
305
886
756
591
990
310
399
935
811
99
751
816
849
811
418
534
230
413
756
160
662
376
192
796
487
624
39
303
729
800
687
18
651
442
179
109
44
967
993
371
427
417
437
493
682
268
873
872
446
854
492
530
386
83
806
6
114
623
486
472
9
573
137
773
234
522
40
447
827
941
147
249
160
889
365
558
83
464
699
636
151
513
548
893
794
294
64
201
333
167
897
637
948
237
471
721
559
32
23
224
99
377
166
729
811
333
834
746
244
206
81
772
384
975
805
49
227
902
312
574
550
543
521
389
586
873
879
155
518
721
532
181
885
302
813
847
643
198
572
388
584
525
807
832
942
847
509
152
870
453
795
660
32
636
43
650
212
579
205
132
820
362
94
913
744
116
102
946
517
938
867
378
147
909
869
404
250
295
157
108
884
51
340
502
633
758
615
673
743
874
954
561
537
633
481
686
636
780
60
917
498
573
754
557
708
863
720
979
455
842
549
898
767
220
154
338
197
702
952
263
975
492
999
860
296
564
178
562
81
977
566
873
514
804
485
917
645
697
434
192
141
861
420
349
724
259
547
144
7
403
644
722
494
973
951
78
390
660
281
811
637
374
711
983
503
394
612
429
106
695
129
209
814
787
861
39
633
702
64
733
186
859
8
325
256
859
767
380
569
836
480
517
828
202
983
95
202
281
407
660
900
912
127
772
461
5
328
672
881
9
772
349
419
176
161
934
100
792
235
750
268
387
749
81
524
173
249
374
908
889
874
297
694
563
677
637
574
426
980
858
725
486
930
360
413
603
382
537
373
481
546
889
698
739
277
516
537
434
214
713
361
577
2
759
691
648
850
322
571
935
307
848
98
764
338
911
949
96
499
661
617
573
264
843
852
896
243
182
912
922
357
264
534
322
589
559
601
519
991
693
568
446
0
676
108
462
397
733
418
650
506
121
1
1
56
869
412
976
782
482
693
213
788
42
216
867
737
886
913
679
275
554
906
568
942
182
929
29
445
296
952
550
823
746
773
619
170
251
954
819
88
365
13
287
622
554
474
207
208
58
951
613
226
302
189
932
128
688
621
753
315
827
70
381
487
743
959
799
303
305
778
960
654
270
157
659
513
72
873
36
618
341
198
777
228
479
296
967
742
957
486
761
27
51
869
716
289
66
598
741
580
951
971
681
2
588
466
214
918
80
818
897
73
589
351
249
360
724
162
672
599
468
500
652
154
587
882
374
839
914
508
392
847
870
144
521
795
132
974
92
512
930
793
619
106
25
911
4
351
440
536
151
943
1
491
40
160
255
915
833
673
41
714
201
27
32
19
921
336
590
595
430
886
46
3
768
620
153
98
474
929
671
171
336
492
788
925
132
345
268
1
16
972
409
912
579
929
168
497
301
310
987
994
136
337
737
871
664
950
852
751
817
69
613
631
688
949
515
248
912
932
139
625
624
421
230
28
9
859
506
244
298
142
856
341
245
808
97
124
406
262
242
124
802
223
572
840
559
228
128
662
164
425
170
228
322
764
187
70
220
627
429
961
562
33
157
670
488
693
983
358
732
168
62
702
623
459
436
779
793
181
773
686
710
717
663
653
659
783
56
3
24
257
155
370
400
184
144
346
704
893
467
527
901
953
933
100
365
587
785
199
164
188
458
850
732
537
802
220
44
293
535
4
312
637
893
295
45
263
221
793
85
346
83
614
45
624
234
299
184
722
821
37
838
865
225
621
710
916
165
462
181
0
898
507
408
938
466
142
681
483
664
271
662
325
524
675
299
389
583
56
724
719
214
725
712
321
521
18
130
227
492
533
702
715
349
803
798
783
289
250
42
146
117
531
684
69
371
654
465
848
724
752
452
548
817
352
886
540
529
471
309
784
255
312
571
985
220
797
679
105
601
262
64
768
25
820
525
390
558
562
838
698
580
716
493
921
689
771
29
822
658
362
617
897
338
379
136
748
40
452
682
184
536
715
49
712
111
41
760
152
998
991
202
268
265
112
830
160
184
34
915
587
126
745
241
377
580
738
532
875
753
224
184
913
660
601
98
328
575
662
568
670
813
938
157
283
772
946
227
446
842
278
781
426
378
999
226
960
643
318
741
48
836
210
245
574
535
726
939
78
320
877
745
300
293
589
335
257
488
773
569
272
761
882
115
154
328
948
167
956
380
516
640
530
858
275
322
343
864
549
77
754
173
776
289
60
100
131
832
105
197
217
613
251
913
773
682
105
815
622
394
598
282
182
276
806
210
880
69
978
367
214
26
413
225
485
209
151
154
903
11
583
383
289
260
355
574
45
551
176
269
578
361
492
605
183
498
500
587
70
546
996
910
282
71
519
441
857
563
981
756
413
344
749
732
295
211
733
875
650
936
818
367
316
782
459
922
976
567
181
559
679
525
788
520
147
480
322
424
251
518
309
729
272
545
757
21
553
315
289
668
153
776
746
306
978
996
363
643
759
912
271
961
444
617
662
943
248
739
858
456
70
961
859
316
686
768
794
460
754
213
411
721
534
465
511
505
212
262
893
152
292
229
756
900
655
314
631
926
166
49
940
321
513
362
362
108
515
383
215
758
773
375
993
906
159
850
499
342
396
733
618
946
699
325
909
538
978
20
801
640
73
364
367
962
78
84
217
517
217
998
723
956
709
251
962
892
364
699
546
483
552
66
88
340
812
222
515
620
517
272
96
970
431
823
633
251
833
347
358
917
93
416
814
646
865
839
44
838
301
623
202
62
663
380
193
264
168
589
778
150
962
656
361
221
117
259
781
531
463
318
665
931
681
684
697
205
722
860
664
347
62
105
513
500
508
60
611
319
728
571
74
511
656
936
34
4
817
4
929
375
962
537
624
149
870
936
161
669
440
44
430
641
307
134
172
199
723
840
21
36
343
278
638
582
852
609
699
720
83
900
531
491
739
240
806
329
962
271
840
687
338
638
455
149
351
407
864
388
529
848
567
756
529
674
592
579
890
268
319
506
611
947
867
400
119
951
243
707
778
613
770
792
267
618
520
413
350
877
728
855
533
739
940
556
548
125
704
801
715
953
557
973
698
742
534
436
302
890
931
815
449
588
951
978
579
18
15
251
842
75
953
536
39
729
291
236
142
813
506
383
798
420
813
244
842
68
559
742
9
772
81
142
670
73
286
425
686
142
788
649
411
849
947
980
502
731
778
702
321
787
759
323
925
114
303
634
818
731
248
237
747
601
342
543
759
473
446
191
429
293
405
547
852
990
276
709
297
576
326
39
466
13
659
27
335
835
625
480
227
295
796
465
891
785
569
941
770
291
533
972
500
148
756
201
713
886
869
296
533
681
620
376
157
26
458
143
468
822
583
140
180
503
652
979
972
795
858
847
582
179
986
864
604
819
748
125
138
712
997
445
735
681
969
318
931
320
575
301
892
160
720
788
847
690
585
786
90
450
564
543
754
986
500
100
255
713
711
906
678
42
711
835
100
710
143
776
345
106
386
933
984
530
219
399
817
140
860
785
912
838
679
141
443
245
85
636
354
463
549
55
657
171
958
687
786
721
106
864
837
729
654
822
798
814
137
998
321
895
657
387
840
679
697
916
157
605
314
554
791
987
879
174
691
971
911
64
563
228
62
158
202
351
50
64
763
630
245
375
155
472
375
775
123
655
798
198
663
297
617
532
550
887
726
153
591
743
43
368
931
552
620
180
964
194
561
554
212
689
227
748
477
996
862
82
28
551
965
685
381
34
298
707
428
644
21
993
781
762
242
889
317
61
874
564
426
639
383
192
84
395
228
609
769
818
105
57
372
711
6
396
137
338
136
325
978
258
590
204
644
82
107
898
801
212
278
636
201
6
876
948
639
649
219
545
524
384
473
503
767
699
555
64
711
846
864
674
684
200
478
556
756
497
128
525
856
384
729
963
342
574
80
427
997
198
425
310
14
814
840
42
345
946
979
304
65
607
758
286
873
157
846
733
600
418
85
527
692
499
836
102
404
702
515
783
163
386
672
151
361
858
212
480
152
824
247
460
57
309
782
806
76
48
953
243
883
194
897
32
68
111
494
517
349
915
533
435
234
133
189
472
736
354
635
864
980
676
207
727
839
211
435
251
572
891
760
175
90
330
361
54
545
981
68
370
359
44
324
972
173
436
357
344
728
865
461
319
809
358
930
107
506
91
854
215
179
764
860
243
518
620
89
350
361
554
728
839
118
108
99
716
627
49
483
869
946
980
418
927
374
957
17
708
97
788
646
76
358
64
507
403
871
339
516
705
118
134
924
392
567
655
225
307
297
292
410
311
108
435
870
683
418
205
842
227
823
720
246
542
4
215
183
616
29
33
872
501
53
389
373
852
559
244
910
441
344
301
959
495
834
25
674
477
639
49
936
521
391
967
120
144
325
354
12
585
363
182
372
504
188
42
874
961
793
925
185
625
71
688
818
874
999
930
505
408
953
616
935
837
260
36
222
344
248
494
832
175
775
579
622
550
741
857
522
568
189
584
720
738
163
628
61
540
391
955
714
548
422
287
378
724
674
123
894
598
948
240
70
165
983
888
781
154
974
784
53
289
31
991
395
710
678
643
323
181
232
426
318
880
667
98
128
307
885
974
161
265
25
817
102
29
0
244
894
247
533
357
506
144
971
283
661
211
300
869
277
726
985
310
301
805
244
880
446
532
195
759
480
300
838
662
481
651
317
613
124
102
401
832
645
104
200
736
40
500
446
158
531
580
117
727
885
461
989
646
291
386
37
713
92
323
287
987
258
424
825
335
95
517
636
2
733
507
178
39
476
121
354
215
689
427
81
31
42
264
897
199
713
963
324
719
925
330
65
465
126
390
836
584
212
931
936
222
472
521
128
612
280
427
298
569
350
16
617
213
197
286
42
154
275
21
615
557
948
418
719
425
925
314
795
751
735
953
96
486
122
861
183
210
806
473
776
246
678
877
211
147
96
127
720
904
172
367
131
17
48
181
607
485
26
678
31
931
556
828
992
165
715
302
868
232
660
366
159
18
788
49
222
656
555
232
886
805
94
665
827
732
866
396
175
364
579
720
682
53
396
848
77
101
959
96
852
66
930
365
4
461
47
818
984
822
364
899
255
40
190
688
601
688
519
628
363
865
382
820
145
215
204
724
549
130
959
963
26
280
483
700
375
253
693
429
851
988
794
794
463
268
870
788
884
557
810
569
278
23
788
629
645
548
838
714
421
125
364
282
416
206
779
183
724
901
815
981
780
96
249
431
860
913
100
162
490
678
175
222
334
415
381
632
825
531
679
336
323
11
851
67
50
407
845
624
1
235
300
816
111
640
303
750
939
800
305
986
211
971
218
989
830
178
509
8
534
661
318
864
707
730
861
350
114
63
167
925
331
815
606
84
1
27
507
236
585
841
125
199
253
729
860
590
610
234
177
89
34
206
207
517
661
816
789
406
29
949
162
649
457
85
73
616
464
821
39
436
996
282
270
392
559
855
172
544
660
159
830
439
228
33
678
123
769
386
378
153
631
698
440
784
980
358
844
154
156
89
631
38
767
104
381
245
600
957
16
445
749
381
277
279
609
118
101
638
240
117
231
226
815
348
14
719
940
479
926
676
128
456
334
702
241
378
424
456
900
492
108
738
796
38
353
209
641
556
516
480
560
903
215
590
409
844
423
569
192
718
483
516
83
27
244
475
921
401
616
544
397
784
568
386
741
528
404
269
412
348
389
955
84
55
988
481
733
746
76
85
432
115
612
395
866
473
815
439
782
561
29
981
90
849
918
752
782
172
529
395
651
868
549
521
930
140
297
377
734
374
616
130
427
583
536
884
688
884
829
464
285
751
442
160
703
230
534
360
779
32
856
155
126
730
217
896
839
490
213
410
651
89
756
63
178
489
838
37
677
208
128
82
114
756
470
464
972
698
83
302
734
517
548
812
849
788
391
735
884
148
239
830
406
271
109
10
9
222
170
680
892
672
855
716
477
545
294
130
224
777
516
200
960
880
34
619
495
541
677
66
249
761
899
518
268
336
645
745
748
135
278
297
23
254
335
798
213
359
297
137
114
106
233
529
99
889
182
127
723
962
200
598
362
472
223
497
335
554
999
669
515
695
551
712
673
939
857
7
430
17
203
163
748
380
583
984
290
28
911
924
150
267
963
963
841
244
542
474
320
822
652
739
473
792
10
428
154
284
305
231
238
318
502
325
770
154
430
946
239
513
944
342
714
892
653
62
79
892
53
991
713
675
605
260
775
14
96
93
933
875
509
772
661
799
33
96
648
793
706
633
668
194
825
29
770
73
876
288
873
50
358
998
410
120
110
110
329
887
324
813
22
694
112
447
761
501
474
870
181
771
629
52
804
300
356
725
276
483
974
172
142
601
427
731
584
211
238
975
611
655
483
143
260
844
594
460
95
908
264
831
992
524
149
987
622
343
421
517
825
597
766
360
230
718
642
550
616
935
893
961
264
848
277
208
519
422
786
459
403
411
480
337
230
503
116
872
971
552
421
825
550
325
930
634
504
500
740
325
659
870
649
501
474
457
238
550
278
256
708
405
757
285
221
586
165
583
220
540
448
138
382
152
369
584
357
20
180
746
617
484
465
906
927
494
537
356
570
127
697
873
416
524
676
744
17
840
968
652
476
6
459
839
627
510
985
49
939
67
439
827
919
641
688
367
115
2
610
670
695
316
231
985
317
918
158
226
583
870
355
678
870
912
474
683
682
354
694
285
842
939
478
631
203
991
999
527
453
244
870
91
15
969
570
117
237
623
747
195
702
920
70
505
254
639
272
330
423
113
911
198
756
53
583
457
93
947
536
552
116
330
95
779
143
997
302
500
293
834
304
64
512
348
930
487
224
348
867
444
647
944
555
278
267
171
957
897
611
367
278
204
325
37
811
315
606
861
236
59
583
186
271
217
680
587
785
958
769
523
853
154
398
522
34
225
980
303
338
74
388
47
644
142
451
570
824
705
855
310
443
217
948
812
69
372
136
847
813
533
274
658
751
875
120
462
13
53
168
478
726
634
502
991
703
612
557
670
742
136
975
282
982
992
609
277
323
956
270
590
431
863
487
699
526
55
967
737
203
521
689
647
954
592
566
36
780
169
709
299
672
308
227
738
261
384
986
621
919
419
675
362
960
458
50
208
21
332
797
263
659
206
372
460
239
215
670
611
209
821
979
691
419
101
275
696
907
201
697
800
808
511
738
958
272
446
587
286
686
692
886
910
24
877
161
738
189
432
315
520
636
763
342
939
486
546
170
673
54
182
746
247
360
723
285
286
38
94
912
859
297
934
58
932
530
778
643
737
147
200
848
818
818
838
739
4
136
148
127
109
345
960
297
556
997
589
497
250
883
12
577
200
622
637
321
745
28
41
364
229
465
944
97
77
478
547
602
968
24
363
150
675
856
126
96
992
793
96
380
979
493
640
583
261
219
493
149
650
304
528
413
485
792
654
358
175
250
287
450
166
223
128
563
996
689
174
147
654
996
314
537
350
946
278
547
525
530
895
530
584
53
470
724
931
712
341
138
275
868
900
717
216
863
284
602
624
921
261
580
68
872
292
434
786
565
846
469
999
804
996
892
585
59
828
652
325
420
956
44
833
230
544
917
174
206
285
364
50
529
247
343
722
276
392
536
594
709
936
139
768
74
504
1
435
383
536
346
691
877
389
902
522
214
168
496
89
66
358
372
186
863
868
569
150
905
621
816
353
291
708
79
129
244
722
777
725
839
923
740
202
594
462
109
305
710
277
315
146
984
808
179
88
26
214
707
742
341
670
292
569
52
138
621
229
780
617
106
226
904
217
626
656
652
813
401
190
661
740
343
400
58
136
861
327
639
404
762
105
44
4
102
631
848
750
278
502
633
967
621
897
827
228
451
283
430
54
323
425
618
347
863
218
949
845
791
925
672
856
714
299
541
405
908
199
147
682
296
783
777
459
416
624
911
108
159
461
416
134
739
55
263
161
177
651
724
950
406
656
669
208
23
175
158
539
755
231
148
37
360
727
411
537
63
79
493
310
571
493
632
619
882
977
138
426
65
371
558
633
661
662
535
826
668
697
174
41
279
902
774
764
814
437
650
832
47
26
327
553
252
387
691
473
390
35
714
556
688
392
215
774
470
598
347
789
686
122
449
674
495
804
146
730
11
967
368
318
651
143
718
771
444
868
3
4
716
588
689
7
829
114
556
187
330
498
195
309
962
271
344
652
776
899
683
666
445
986
333
762
335
43
531
749
136
39
82
533
674
539
855
719
348
730
549
543
117
793
723
139
894
58
106
791
812
702
915
73
307
487
920
951
439
406
169
830
592
389
936
364
975
996
377
541
98
743
395
613
793
400
756
983
389
548
77
802
9
515
219
660
636
747
535
940
848
177
15
727
503
140
766
426
312
884
855
284
679
675
637
999
280
610
713
582
456
533
696
919
726
704
628
167
67
888
994
93
370
764
329
77
45
800
395
623
672
649
847
649
976
515
319
355
268
811
827
744
354
711
217
265
861
532
193
459
910
208
238
759
4
573
625
457
227
459
267
907
472
17
304
940
569
154
171
921
110
67
502
355
344
673
115
751
594
563
683
540
262
453
457
71
746
476
399
474
757
62
316
701
703
269
948
194
86
573
547
454
540
921
155
824
175
175
223
657
426
917
406
637
128
91
772
344
578
236
988
449
918
393
872
197
796
208
789
141
664
840
776
846
980
563
350
873
238
243
883
978
914
961
732
634
513
341
823
199
656
170
254
371
801
494
742
701
703
146
441
19
627
112
809
476
270
143
911
79
792
129
233
307
795
107
303
46
87
142
901
474
751
9
313
408
591
921
418
296
446
458
708
912
428
264
459
562
980
101
414
929
388
21
464
436
976
914
418
158
855
882
762
929
980
632
73
998
115
108
715
985
43
780
997
288
881
578
806
345
169
54
71
366
956
471
250
541
97
640
223
405
228
646
720
334
431
772
172
263
844
308
605
966
968
336
765
738
253
293
148
744
969
878
86
475
271
303
554
503
1
401
261
576
944
963
755
722
287
659
818
592
744
130
884
704
59
808
476
39
920
288
777
567
938
130
875
991
515
222
669
805
578
515
760
21
82
754
187
601
426
854
882
434
588
828
622
326
587
999
435
77
65
515
909
230
142
996
757
945
189
663
856
820
677
478
30
592
863
167
121
60
777
305
208
814
455
185
714
45
112
344
55
560
834
418
463
378
422
521
457
369
509
417
706
632
387
898
634
746
310
245
348
455
767
737
729
954
365
916
162
153
238
721
653
345
886
414
961
986
358
945
713
827
467
76
518
716
268
819
670
282
997
450
135
186
200
960
452
332
865
717
67
230
23
416
434
898
817
589
341
185
400
471
70
952
107
956
961
931
231
506
624
960
778
803
675
321
890
311
98
211
114
162
766
968
579
425
516
112
706
793
29
971
271
661
3
608
691
260
69
645
135
77
263
570
500
645
449
298
254
14
393
919
335
474
184
414
913
792
183
27
319
35
818
23
454
530
848
506
582
958
865
468
207
792
164
285
18
501
864
852
79
183
238
775
519
608
261
369
42
961
579
370
655
167
95
683
578
709
749
964
43
375
793
756
90
846
350
787
110
181
967
934
302
908
827
72
646
582
686
38
215
377
622
460
960
687
667
755
353
831
94
707
515
868
501
234
934
811
656
395
946
6
721
682
795
266
35
681
826
615
922
160
197
74
246
216
707
770
829
600
263
842
583
577
419
480
293
933
42
961
893
226
121
947
325
461
94
165
864
382
599
461
379
29
848
730
47
679
195
183
624
898
884
899
59
31
311
894
465
276
973
259
646
243
309
480
252
668
255
730
873
422
41
533
622
918
771
525
751
330
729
915
97
95
424
895
642
236
147
425
818
524
26
489
100
746
293
958
978
780
618
649
331
599
834
606
565
98
949
20
223
513
541
627
422
207
450
866
896
420
180
383
507
192
591
609
28
657
495
523
784
865
327
488
202
299
667
620
606
399
603
619
48
499
868
639
508
491
290
855
445
32
543
725
323
783
281
291
967
386
165
327
847
739
950
68
964
705
682
331
644
298
446
930
421
943
523
867
321
77
418
367
57
675
504
96
804
568
59
193
661
587
546
604
407
966
309
330
570
752
48
9
541
6
225
583
705
11
741
314
109
817
634
919
988
644
531
528
941
478
572
394
671
385
130
317
499
333
628
380
816
196
879
589
801
134
523
630
403
13
579
882
174
695
527
37
393
449
324
498
387
156
770
464
850
712
37
123
995
11
533
504
940
55
463
62
107
702
110
655
184
723
249
730
907
318
359
722
211
98
64
57
882
179
536
760
835
394
325
92
151
96
252
432
295
221
42
369
944
660
929
603
577
664
97
62
682
827
699
25
865
757
641
436
950
93
348
739
984
829
257
538
106
936
504
284
707
230
839
924
849
793
925
33
89
809
498
778
79
454
487
611
197
356
201
886
938
867
127
138
947
132
153
262
432
582
382
972
8
566
855
718
229
240
704
461
537
943
533
378
970
327
184
586
237
494
108
584
450
577
116
609
439
902
899
360
161
909
516
132
978
356
768
831
95
218
302
65
754
703
984
641
619
527
972
61
44
301
705
842
867
231
806
546
971
440
37
146
143
457
92
420
242
76
889
237
593
959
123
22
999
899
391
642
316
347
104
790
799
525
811
645
391
701
12
588
532
163
313
122
214
246
149
180
119
170
938
201
671
311
374
122
184
242
839
86
840
382
574
850
296
832
163
339
208
758
430
863
184
434
409
810
540
137
685
368
99
173
188
317
742
300
822
282
982
213
657
468
775
825
273
708
917
430
735
893
290
711
625
836
652
299
435
833
380
460
821
850
607
929
85
98
856
348
493
307
403
255
296
422
192
568
525
407
873
258
38
854
936
86
9
689
677
675
268
584
924
948
843
110
547
755
659
187
578
35
78
649
993
896
604
875
76
757
603
509
715
86
622
403
158
793
531
789
595
562
508
137
848
272
600
915
936
395
882
407
697
104
511
704
281
308
756
827
792
515
541
337
6
976
190
827
260
588
164
584
643
259
780
544
837
458
769
17
132
453
787
315
730
319
9
540
386
905
514
750
594
349
386
311
930
153
943
632
889
383
748
936
23
893
953
98
905
587
915
175
639
945
280
54
386
761
707
657
471
125
264
451
664
18
4
856
412
250
620
613
785
956
517
847
876
352
415
639
757
599
372
993
166
112
482
97
485
758
616
527
274
838
957
192
677
533
2
97
685
94
411
19
596
798
300
406
897
869
19
375
152
973
767
960
761
664
373
860
593
453
214
45
238
329
207
78
644
802
653
665
908
165
830
638
654
333
541
174
673
733
74
526
467
58
339
258
15
367
450
181
866
342
142
859
737
107
385
529
926
495
411
850
844
28
256
47
422
266
841
370
84
96
564
113
8
643
275
287
914
374
448
602
464
993
179
603
419
6
217
0
557
110
897
488
557
251
365
564
416
985
787
967
465
883
523
256
373
336
662
248
897
157
144
847
499
480
673
288
284
881
353
298
91
955
630
84
178
55
162
605
678
193
927
131
816
451
336
308
53
567
236
696
853
901
443
845
990
397
324
402
46
704
948
3
749
498
27
919
358
816
313
462
439
666
317
181
522
707
266
313
687
77
635
255
173
123
961
985
998
714
106
75
481
301
464
838
93
958
898
29
213
549
370
479
492
792
240
697
913
682
558
551
915
622
443
431
205
591
847
348
566
595
664
145
523
134
287
53
187
372
202
497
863
763
576
395
742
27
203
83
343
98
457
471
974
415
199
610
475
951
569
668
247
113
343
924
401
536
110
172
196
329
143
757
903
925
935
210
44
690
66
651
893
943
406
801
696
45
594
796
440
86
881
765
157
65
818
956
471
811
417
976
816
975
740
877
554
802
560
914
782
912
576
667
42
97
939
628
964
901
988
237
827
427
270
347
596
612
581
49
457
477
672
197
512
735
854
10
476
949
100
857
706
955
785
393
134
992
572
707
491
309
644
785
240
877
229
87
890
360
243
99
660
883
574
268
433
315
530
583
134
179
232
77
45
851
133
515
313
908
529
528
635
476
889
845
415
341
36
380
217
308
837
8
638
194
371
962
594
325
122
628
984
451
543
802
801
688
61
954
576
471
591
327
573
392
273
757
190
384
853
661
752
219
365
598
977
974
676
992
857
273
599
608
644
545
586
547
517
17
282
508
948
14
207
730
946
743
862
444
162
240
794
104
679
657
130
587
155
529
623
300
525
885
991
806
629
330
369
422
145
313
211
288
922
960
595
516
186
808
994
138
839
130
322
191
293
439
328
596
185
396
456
127
396
240
999
976
724
684
36
182
167
868
659
913
170
994
98
464
165
240
38
82
932
784
902
92
20
905
922
732
6
452
284
185
660
533
909
297
201
636
662
572
224
196
897
29
92
471
951
87
906
252
460
617
385
365
718
923
766
390
467
581
831
291
208
801
882
270
955
430
475
359
554
923
498
166
193
292
388
950
548
545
393
715
442
637
544
50
638
722
197
557
775
597
604
456
656
265
765
503
235
681
397
550
977
865
495
367
913
237
503
936
49
377
246
485
832
812
387
400
288
505
509
458
29
481
536
420
129
299
42
803
561
896
677
64
731
837
573
912
848
940
231
310
182
872
643
986
202
514
171
855
192
906
353
247
886
932
706
628
399
498
710
35
982
717
375
73
207
819
576
531
667
483
732
789
738
79
28
218
541
433
742
108
708
735
440
929
880
122
149
78
858
354
153
261
843
92
245
969
20
760
599
104
741
477
232
462
826
696
533
20
113
459
690
489
334
183
965
955
247
750
155
856
158
367
290
869
424
687
136
660
374
483
697
758
967
373
829
513
993
380
238
27
725
984
662
929
880
66
897
859
432
852
918
333
66
40
12
732
813
77
923
55
742
825
969
236
531
294
744
74
508
571
902
100
247
148
788
23
951
830
778
192
654
538
917
672
898
226
626
787
655
71
76
646
299
419
692
33
505
58
255
33
794
397
48
395
455
30
890
739
256
403
445
932
676
200
335
362
945
28
857
940
470
356
631
197
327
814
591
690
592
28
900
34
676
761
235
691
527
384
107
53
556
518
634
582
425
960
260
895
889
689
770
547
214
184
631
475
204
849
668
636
882
717
364
254
477
730
651
597
647
968
297
991
821
548
495
454
41
234
314
918
551
533
819
271
12
734
24
461
476
458
806
331
619
189
968
943
712
429
693
846
402
212
366
642
456
619
324
210
25
569
122
160
816
658
49
465
181
91
835
147
639
552
52
396
94
728
410
474
455
303
785
236
752
201
149
505
583
976
755
828
49
747
693
198
974
576
67
911
960
910
808
483
635
895
47
131
595
31
740
893
762
973
404
869
519
124
79
916
761
973
621
242
893
612
784
504
5
402
327
607
267
708
129
537
817
910
298
806
245
848
52
375
355
229
966
532
776
40
318
72
972
686
284
222
659
292
596
773
104
472
209
790
656
149
817
263
903
246
403
729
439
149
60
466
980
80
148
43
106
543
564
428
52
529
493
138
841
748
459
305
906
576
295
339
981
997
663
947
134
207
641
899
222
827
417
119
238
879
828
251
993
854
801
803
240
466
234
901
210
737
338
444
257
483
937
489
595
893
945
534
591
739
356
547
935
119
116
223
575
510
906
893
345
473
44
226
293
86
473
799
254
611
278
113
899
511
790
579
621
688
125
906
42
391
799
82
226
717
86
220
268
565
386
884
915
912
55
998
411
537
593
681
187
455
652
787
659
362
2
550
341
4
504
887
14
817
532
209
633
127
387
412
943
477
32
435
328
877
356
278
877
159
71
683
61
849
884
109
654
781
406
438
173
402
371
793
107
10
149
47
903
397
10
281
680
506
105
777
857
282
810
820
719
25
760
340
647
69
526
445
336
915
318
113
188
381
902
298
905
193
907
639
259
742
330
161
917
548
338
533
6
499
530
865
763
606
916
744
819
879
593
673
32
171
955
914
953
854
690
407
184
422
278
528
210
57
793
897
561
129
749
532
981
222
649
1
890
761
997
320
367
736
542
460
232
683
343
597
263
789
795
402
25
521
849
866
127
679
300
442
325
887
856
540
416
4
681
69
907
635
307
809
231
519
292
77
644
926
276
426
523
5
133
247
329
446
349
660
851
829
329
17
765
487
804
430
138
77
485
209
966
293
311
825
540
126
759
901
385
749
514
809
183
851
556
542
416
113
414
876
234
6
239
879
650
628
832
357
806
302
958
208
598
257
505
113
502
68
595
846
118
828
270
675
919
273
2
153
107
650
641
952
263
302
165
501
377
850
624
166
685
735
686
629
677
595
594
197
34
397
606
900
133
573
79
2
444
583
141
855
955
172
633
285
852
894
221
760
462
247
512
478
264
890
12
2
334
357
809
876
173
322
351
222
156
214
558
197
982
685
440
195
218
874
531
815
544
854
833
132
668
330
612
604
57
648
390
580
956
823
258
349
694
66
75
21
991
832
683
468
911
75
426
352
713
92
224
940
892
932
266
50
869
901
872
26
776
84
677
596
208
288
984
132
935
326
236
767
944
291
574
247
184
321
51
536
884
793
742
246
208
978
467
568
308
26
247
288
690
570
127
539
820
441
494
416
544
156
657
465
825
651
30
99
629
714
418
337
184
912
737
559
458
827
759
401
408
693
444
718
618
982
441
552
895
431
732
243
801
666
104
297
220
178
974
522
290
345
559
494
461
845
326
83
289
271
651
579
652
113
649
564
242
392
31
315
963
687
176
59
878
863
636
489
603
878
231
969
741
97
699
290
458
174
690
97
619
633
105
504
905
234
792
58
640
558
894
762
123
356
927
115
716
943
941
808
170
538
24
287
133
432
175
12
876
456
743
815
292
68
10
804
891
773
240
325
692
86
884
181
611
625
777
907
920
425
471
386
31
20
681
883
183
808
311
824
84
182
312
803
644
140
17
530
605
234
770
219
671
431
227
825
959
614
869
524
777
882
174
559
105
777
400
859
158
554
664
784
812
380
630
710
255
151
846
827
933
62
387
798
431
149
106
845
6
568
238
106
748
621
288
478
230
380
294
822
809
478
110
703
768
312
725
824
944
429
554
848
26
277
978
358
180
488
121
431
476
175
721
428
189
961
874
82
917
759
577
198
362
69
158
622
428
641
393
639
15
718
127
43
848
605
158
621
56
934
116
932
482
470
622
237
916
43
317
854
405
463
508
342
245
352
901
139
829
872
63
817
452
939
761
392
301
762
293
658
753
71
237
692
401
884
587
958
432
770
960
525
631
693
462
971
550
711
772
757
429
380
628
889
740
524
481
954
496
677
388
975
830
951
159
820
784
235
207
739
819
98
903
716
558
199
31
963
708
94
716
185
801
919
440
166
999
106
724
168
616
749
314
559
146
581
7
659
524
675
711
729
303
509
512
843
226
999
469
553
319
834
732
947
219
900
997
447
569
918
395
210
535
121
226
96
428
72
256
280
353
957
431
111
558
244
458
833
19
889
28
387
481
502
310
359
485
803
153
269
784
72
74
60
18
868
902
522
720
568
447
397
379
122
753
834
21
682
560
733
946
536
65
32
242
204
952
354
653
956
821
377
670
528
355
415
175
359
435
522
880
958
62
742
403
851
483
180
994
39
81
870
778
493
270
484
819
11
434
158
108
754
651
347
537
185
757
186
218
252
517
964
525
541
784
184
899
618
713
553
262
814
591
172
589
828
544
898
319
231
817
29
326
741
420
813
185
868
243
921
132
569
435
634
439
30
535
458
540
168
714
910
112
269
249
712
698
570
541
854
780
38
529
725
900
106
272
21
664
133
638
790
663
734
131
581
217
955
393
538
687
402
352
603
632
511
980
671
411
404
564
601
323
145
696
195
308
985
120
732
315
5
305
940
304
372
976
353
392
400
786
802
918
938
472
583
7
945
614
113
411
469
609
408
121
762
625
417
88
719
519
133
727
923
848
823
331
214
908
933
172
170
817
917
990
172
759
220
28
890
585
732
672
982
353
933
429
136
545
702
955
507
960
408
492
467
364
865
702
753
301
698
703
280
291
367
564
280
413
566
312
983
365
543
803
156
827
970
597
355
911
780
447
118
463
335
860
669
947
26
449
219
742
541
475
463
668
486
954
659
916
220
861
429
103
514
760
464
405
704
62
303
218
989
490
833
0
831
133
375
624
960
420
579
482
584
285
107
995
189
723
763
187
676
111
70
464
810
843
779
742
585
632
659
663
417
764
115
199
52
365
224
973
561
354
989
608
63
110
224
421
47
27
914
756
6
150
611
806
998
230
659
800
617
349
52
648
898
945
470
553
985
57
909
684
778
335
128
723
286
19
152
968
435
601
160
77
794
810
382
840
547
173
374
372
908
87
345
721
183
659
289
92
605
514
2
964
374
401
324
330
97
96
990
347
565
537
794
666
78
688
466
662
87
530
244
954
292
992
819
672
83
785
779
857
554
135
50
356
249
618
713
853
77
359
986
23
5
421
14
526
483
943
117
438
877
937
922
211
137
867
54
687
652
368
406
462
316
338
838
53
107
100
42
694
888
302
144
416
430
370
397
457
87
159
892
534
66
906
175
72
399
317
558
345
666
836
358
84
951
840
528
218
298
53
81
364
477
402
753
42
753
488
818
893
720
620
753
722
93
931
975
782
198
113
365
9
931
621
585
357
747
905
957
522
736
458
162
612
780
366
731
78
707
300
64
670
437
347
327
833
35
814
32
895
930
852
694
814
952
169
954
391
974
214
35
673
567
319
291
94
377
827
805
54
547
967
565
18
766
989
476
589
605
786
352
547
312
865
108
650
643
871
299
782
774
52
122
973
926
844
935
537
455
259
993
554
554
796
203
2
315
408
350
274
966
543
319
768
521
191
877
926
808
981
639
844
311
99
255
863
25
386
230
74
28
277
410
688
47
364
920
541
31
820
513
575
625
939
533
852
874
874
52
701
377
135
847
372
648
17
884
969
35
255
148
609
59
424
510
709
112
327
825
709
303
739
443
331
559
954
575
20
878
859
916
628
202
671
467
398
188
398
7
693
467
337
477
527
929
402
487
909
644
368
517
722
978
208
750
706
810
306
568
713
3
966
386
102
385
784
304
305
991
158
615
965
531
289
459
903
851
570
317
756
647
619
273
723
586
843
910
985
748
595
203
716
240
437
370
402
675
782
984
447
711
225
180
582
285
363
278
378
530
16
569
191
822
837
297
317
213
320
812
603
976
92
341
974
53
410
919
763
233
264
136
878
287
135
203
26
850
909
18
618
961
903
427
787
687
575
102
522
693
660
704
502
470
532
232
49
275
734
750
114
634
750
903
88
565
324
750
623
35
281
483
63
246
973
312
338
29
361
12
750
222
499
943
824
84
333
338
185
309
98
831
344
477
602
564
955
677
701
426
209
671
281
487
0
487
430
497
873
792
958
256
168
238
220
397
114
514
688
877
70
217
965
320
243
498
672
172
428
486
199
585
199
773
521
421
453
652
422
337
457
863
551
236
918
242
338
566
756
366
170
344
27
585
375
880
870
136
127
271
308
499
461
793
281
245
383
623
910
940
161
719
713
866
437
774
791
889
896
385
164
980
262
289
301
432
149
104
976
728
247
974
417
731
263
675
16
747
847
738
900
521
147
6
876
572
202
485
826
752
587
795
26
914
758
734
545
59
277
114
243
433
913
564
739
115
940
559
117
282
883
302
614
96
811
536
771
684
84
3
858
875
425
441
263
923
96
342
486
259
199
140
981
889
192
926
788
372
426
226
751
944
446
255
179
142
653
292
452
396
434
768
446
641
941
457
807
413
784
307
116
326
935
971
794
595
432
576
857
867
680
750
803
188
986
332
962
352
517
989
337
273
480
546
537
944
75
631
303
821
937
481
620
888
742
349
776
595
429
141
302
517
424
36
925
548
780
303
958
410
396
987
378
372
932
997
364
8
374
251
476
602
448
291
845
313
152
142
434
103
643
457
278
771
277
3
371
497
338
945
894
480
325
63
402
577
652
66
861
315
41
211
30
28
717
654
515
971
947
610
596
444
972
583
744
876
219
372
851
188
821
825
724
434
829
78
626
265
289
495
529
286
618
902
24
301
604
121
385
796
912
324
114
521
277
929
322
23
650
724
527
460
118
411
572
653
223
885
969
314
331
468
488
931
67
747
294
955
274
277
122
986
8
458
800
556
423
33
289
426
29
190
401
244
710
269
481
348
173
628
745
690
907
737
413
20
677
288
744
383
163
860
516
169
903
316
946
194
235
25
988
508
407
796
49
529
814
76
378
934
385
983
862
150
779
526
750
249
510
230
520
822
49
621
563
745
409
512
402
851
411
448
42
533
63
662
267
328
863
257
491
804
282
374
877
465
517
293
585
780
458
179
328
363
511
479
769
373
323
3
578
861
824
628
701
384
774
501
856
865
609
21
891
533
350
475
616
427
543
789
94
927
320
700
603
335
152
659
727
34
693
692
382
548
686
909
907
926
963
560
747
874
186
138
83
598
914
250
225
957
884
721
452
811
971
188
473
591
223
127
39
901
993
197
541
967
105
313
753
306
64
45
612
140
757
439
927
856
155
752
561
478
789
346
805
459
943
97
558
675
218
825
111
962
705
482
33
806
792
428
115
323
976
763
585
261
554
970
182
353
310
374
603
790
205
700
834
431
600
59
644
173
470
285
12
770
152
411
464
944
84
278
651
556
809
385
407
607
415
188
826
5
359
237
543
170
709
798
994
220
747
733
769
154
225
600
711
726
358
689
302
164
902
857
383
627
665
811
829
377
532
882
342
259
454
455
754
819
942
465
723
780
829
806
500
723
656
895
914
109
908
73
865
273
606
794
276
558
517
602
904
811
174
782
359
355
763
588
727
349
908
912
114
394
975
935
477
402
183
760
110
689
800
745
124
485
606
704
303
510
538
339
830
837
715
981
410
130
59
14
918
225
403
272
217
80
46
49
444
732
256
752
861
267
690
374
206
982
411
710
655
487
76
656
647
735
868
549
100
401
402
47
587
683
502
62
430
358
3
979
397
828
16
266
469
913
717
570
382
156
395
113
678
383
652
914
59
645
99
529
728
585
865
391
206
328
249
465
373
852
238
767
15
634
32
891
184
187
183
986
423
260
991
943
651
960
138
75
106
469
320
729
585
99
188
212
830
519
1
612
444
4
860
624
322
213
17
683
744
921
433
620
636
35
661
803
376
601
610
351
560
949
872
392
550
444
33
407
621
529
225
553
336
861
946
960
270
106
636
873
617
672
887
73
861
278
742
701
675
958
646
917
758
951
206
638
205
895
285
436
170
573
703
391
982
584
603
847
793
490
762
590
294
240
196
566
539
242
428
220
257
260
353
96
189
340
284
791
395
65
839
27
400
74
119
598
746
246
251
609
508
799
741
655
361
104
402
939
308
403
320
723
244
79
108
698
26
512
255
826
474
340
728
536
278
293
408
494
551
284
153
258
38
686
237
182
545
13
427
404
803
700
475
325
0
212
830
868
119
176
29
396
343
660
318
954
963
160
122
615
616
577
845
876
523
834
667
432
893
244
625
287
825
699
131
207
608
293
699
31
463
337
13
217
294
466
680
3
192
118
984
257
808
879
285
437
756
525
785
35
988
927
49
718
805
789
58
937
46
1
804
77
729
976
992
404
884
345
137
113
94
133
92
500
604
444
634
90
675
565
486
118
35
636
818
291
944
89
373
715
903
165
430
468
655
65
760
984
842
651
613
984
186
604
718
556
917
197
944
723
438
122
329
817
784
179
473
761
400
27
977
840
461
134
900
774
567
899
967
31
772
460
516
993
379
989
559
489
698
635
947
745
373
915
631
53
649
620
808
551
338
314
893
181
548
569
868
483
661
630
700
470
954
169
197
343
574
375
617
816
821
555
505
634
869
49
88
886
273
144
537
328
732
320
306
916
952
746
805
447
376
691
803
559
345
656
251
920
449
522
31
587
763
328
975
721
803
831
486
14
975
528
255
203
658
748
909
718
767
744
530
792
459
490
766
126
448
923
466
493
545
838
649
535
366
275
855
0
921
668
714
664
474
68
455
860
352
501
321
839
364
198
177
859
109
652
247
763
752
300
336
538
469
744
918
59
326
6
696
873
471
138
688
916
741
529
729
900
237
324
453
338
220
827
711
125
391
239
718
940
364
542
150
156
731
219
545
732
134
993
444
570
544
716
410
86
419
266
47
554
245
384
725
839
305
938
901
622
584
673
80
923
525
363
629
758
500
500
458
342
95
752
986
823
855
143
527
499
780
564
962
995
606
532
126
406
558
6
900
607
981
686
601
509
470
569
719
861
978
155
725
786
439
121
112
470
810
167
376
755
10
583
726
342
954
623
900
824
41
686
36
895
506
337
108
916
238
313
509
229
159
608
104
543
608
901
764
179
979
470
690
732
198
595
517
714
779
140
484
642
47
478
979
911
464
515
428
865
219
480
244
496
867
244
922
21
905
962
501
15
290
802
659
600
898
672
711
366
625
247
920
916
478
475
895
729
218
336
392
969
425
671
28
448
525
540
320
155
444
851
658
534
300
794
328
743
617
139
614
719
605
698
844
48
964
790
119
365
631
754
669
469
463
914
308
627
417
810
851
841
870
195
357
632
104
387
876
726
562
82
724
118
676
331
284
204
273
873
120
964
483
465
174
550
30
31
801
987
674
429
980
630
542
638
447
746
77
541
569
750
737
339
122
368
232
851
534
465
537
941
805
961
765
188
437
719
916
954
579
20
462
723
740
133
191
17
947
341
812
69
253
267
456
165
312
779
763
20
981
954
334
232
628
595
687
443
741
258
570
479
941
486
564
971
598
223
742
797
815
217
693
117
273
817
50
995
344
522
899
894
467
794
159
417
816
199
216
518
239
890
975
305
300
497
279
490
323
10
518
283
944
711
538
933
384
420
251
965
542
111
820
506
680
175
875
679
595
845
216
764
121
321
702
110
656
168
384
473
60
82
269
616
173
619
879
860
321
547
871
281
96
854
456
689
43
630
390
432
992
855
603
260
189
722
894
620
778
5
634
53
923
985
199
925
322
696
65
139
191
760
474
620
102
231
647
322
482
755
696
475
182
276
246
313
272
396
300
477
20
254
828
416
738
808
284
740
418
875
407
177
390
990
441
655
19
739
646
817
354
752
719
593
121
527
234
112
503
188
725
167
663
675
108
546
149
767
963
295
177
254
381
883
980
828
483
423
425
598
106
82
306
941
712
869
919
456
80
741
576
273
511
468
503
953
40
509
705
294
796
954
900
96
135
719
493
524
328
238
136
460
41
46
669
92
490
41
558
174
975
150
132
682
867
143
938
220
381
87
270
420
71
946
684
639
354
397
848
262
433
793
633
267
820
432
901
455
319
572
619
502
829
507
548
33
318
569
403
371
538
359
532
886
632
563
986
941
586
980
292
428
215
250
59
436
608
780
744
98
158
190
56
145
833
318
905
582
21
443
810
342
370
467
382
81
370
162
252
487
705
7
879
516
26
189
984
359
560
407
193
637
304
343
113
28
55
128
963
944
274
978
616
598
845
645
78
105
440
701
358
965
586
157
41
293
862
918
925
912
971
751
102
410
883
445
545
790
405
358
927
130
287
789
13
444
20
78
479
515
9
973
787
442
195
61
312
215
718
108
467
907
780
88
850
273
297
235
761
73
712
66
67
400
961
192
57
651
53
237
403
819
629
680
945
441
15
263
293
388
885
917
547
874
688
538
848
438
650
179
569
423
821
264
660
607
717
328
753
875
407
734
197
52
969
478
587
433
443
379
981
913
889
560
923
780
792
935
452
68
118
19
943
911
430
342
267
91
475
624
970
314
758
535
310
702
89
483
825
196
424
235
68
240
238
749
31
170
144
48
992
743
408
533
143
477
595
313
41
232
204
126
983
932
117
607
40
841
909
632
419
228
127
674
315
14
103
754
885
676
878
649
618
451
367
581
70
237
850
345
178
514
33
139
889
513
921
442
658
816
384
838
137
589
167
491
754
653
368
997
876
538
26
737
707
531
104
555
424
539
161
528
176
698
561
778
398
313
492
792
704
994
716
211
821
156
929
739
88
720
956
617
397
972
807
33
621
58
504
687
672
145
248
421
616
534
223
377
382
761
957
289
509
906
536
212
909
264
697
615
234
629
351
511
324
294
486
3
9
230
844
739
974
122
297
947
547
192
602
220
912
129
140
378
436
690
595
265
668
377
695
602
672
219
438
263
891
455
888
338
541
881
953
850
725
623
591
625
311
549
37
720
798
851
414
901
401
690
921
879
373
728
717
647
384
537
726
606
8
676
931
681
15
481
208
201
457
160
364
564
175
214
888
330
65
338
550
181
447
448
348
988
818
633
327
486
488
920
179
942
133
69
461
235
602
266
462
78
340
215
88
837
80
156
512
703
905
699
713
522
364
573
862
7
265
462
553
532
595
886
665
244
521
239
653
126
110
554
93
685
196
355
520
429
440
519
565
96
101
841
346
241
84
343
381
979
745
289
213
104
925
429
916
899
431
954
594
79
532
805
988
450
940
319
216
832
930
309
607
822
30
172
915
487
993
550
790
169
232
129
248
887
862
927
838
323
460
480
121
796
229
224
520
664
665
826
319
986
626
940
351
269
157
295
918
284
923
479
882
975
283
668
721
859
519
712
681
235
140
861
798
452
10
730
227
766
325
91
374
308
483
524
76
945
770
351
234
868
575
819
664
605
934
361
269
163
909
902
705
229
264
2
38
274
734
583
418
52
398
690
690
231
565
606
347
324
663
643
942
145
945
596
12
417
63
875
989
435
510
668
775
845
718
926
279
281
784
845
618
949
703
440
192
929
38
714
716
889
830
309
735
676
797
628
575
602
953
396
925
647
731
736
231
428
359
757
741
271
366
17
197
168
32
807
60
500
267
258
446
98
709
344
182
65
697
106
690
581
114
327
65
509
266
645
366
18
979
957
858
767
585
445
252
721
621
92
650
527
568
536
333
368
883
159
282
390
353
519
696
204
988
419
440
601
131
98
685
570
965
907
931
618
740
735
400
144
977
317
259
344
766
283
884
61
803
396
865
324
226
820
747
13
603
32
594
734
713
692
659
376
221
374
765
231
752
516
661
434
18
170
207
49
554
31
821
341
996
704
557
921
693
129
436
951
681
313
100
196
760
534
195
792
824
8
508
714
920
667
180
399
791
3
854
688
948
317
127
619
683
40
990
297
844
214
570
851
637
333
407
171
654
527
23
727
94
579
455
201
198
7
352
213
546
521
959
999
550
939
481
572
841
887
623
74
10
417
262
95
385
998
925
451
697
42
825
555
942
308
13
853
821
502
175
513
437
353
859
795
505
417
187
707
338
346
280
455
272
478
38
283
934
183
488
763
356
818
207
684
768
402
112
117
567
69
785
627
887
466
351
939
619
949
41
103
3
176
427
130
443
569
992
463
449
562
501
987
459
945
877
84
870
295
899
693
687
796
311
963
72
184
796
820
830
777
960
990
285
659
882
540
367
981
601
129
504
732
904
278
620
967
284
97
333
214
886
832
48
303
11
658
24
423
832
628
601
152
929
446
131
451
238
943
575
192
444
65
920
733
748
965
167
913
808
227
181
115
312
844
384
59
958
903
761
738
480
946
646
457
417
379
170
920
911
806
844
689
263
327
483
973
392
810
894
204
489
284
837
753
334
138
655
976
789
801
873
366
84
117
760
634
986
620
463
327
812
500
545
306
368
366
914
167
601
126
206
840
371
970
773
43
318
533
531
824
993
926
268
665
478
706
103
393
414
614
461
747
259
134
114
264
51
638
941
476
396
677
270
552
99
513
640
597
246
670
934
868
650
575
683
405
877
475
785
987
602
375
360
554
880
967
121
325
688
126
13
26
111
269
416
630
797
932
89
596
14
1
567
629
794
396
533
923
720
144
864
228
133
781
157
423
480
817
169
10
992
631
495
386
349
106
989
924
717
161
201
198
177
153
202
471
707
142
861
519
353
698
899
405
270
273
60
192
892
383
549
437
771
354
755
453
568
446
289
263
110
889
912
764
460
435
570
955
476
200
716
683
516
970
404
805
333
325
218
828
218
969
551
663
421
851
728
846
2
408
761
664
999
335
647
53
274
601
752
922
368
399
778
41
804
481
948
754
471
294
910
619
459
695
801
602
276
293
396
537
157
481
435
638
309
998
20
640
993
115
788
924
212
8
356
853
182
667
278
633
701
14
749
685
750
50
975
669
890
461
867
550
999
46
941
819
248
603
951
380
714
583
203
805
221
20
22
785
413
235
600
423
47
150
955
257
621
788
592
298
753
368
649
357
75
47
472
296
849
201
335
24
697
63
720
38
171
823
907
651
815
998
69
969
54
422
685
288
501
374
231
15
452
240
386
280
357
470
147
12
38
725
546
21
455
995
680
424
750
422
289
554
813
236
73
641
512
155
492
419
657
802
580
779
790
408
292
775
419
680
200
811
834
702
392
624
479
678
406
226
690
585
534
782
275
590
451
154
120
885
986
710
849
78
574
752
937
526
969
311
229
49
178
635
320
229
435
980
879
70
29
902
389
583
902
497
34
32
452
292
539
528
825
787
340
28
339
259
439
296
94
512
61
1
53
266
366
870
950
747
200
275
989
443
519
759
156
964
227
676
183
343
439
948
954
109
163
92
199
212
396
756
776
39
200
688
751
598
955
89
996
356
791
537
327
950
216
113
450
511
483
709
539
62
297
642
175
155
568
49
825
845
133
707
213
784
864
782
647
448
479
816
448
646
106
259
79
429
415
317
30
36
385
568
541
849
855
41
469
728
750
409
431
298
588
821
624
209
129
623
508
508
893
382
581
545
203
756
321
433
955
224
882
929
555
222
259
803
534
545
496
68
971
896
674
269
161
949
698
311
950
440
886
3
7
744
691
943
720
961
167
386
359
123
376
764
51
290
537
857
593
33
784
90
351
403
631
47
189
493
51
864
882
653
294
660
520
331
47
502
819
674
216
666
36
973
248
476
597
191
377
431
365
34
201
61
352
747
630
192
835
952
753
9
270
663
707
980
929
450
419
440
890
638
823
877
178
422
314
900
911
705
384
761
10
224
216
781
695
306
457
849
300
665
526
628
122
892
808
288
880
310
146
935
418
35
375
875
946
555
557
723
219
0
257
218
963
780
560
5
155
677
923
167
650
408
29
142
118
922
974
515
129
73
522
78
432
667
869
918
814
516
93
821
631
749
12
836
492
397
410
882
848
71
461
731
749
725
452
656
605
560
923
896
210
123
170
349
711
706
986
767
157
85
736
646
989
345
892
293
791
328
602
762
881
287
938
137
350
23
668
427
900
950
84
554
935
543
470
756
473
819
814
406
570
787
89
310
356
967
301
61
558
403
62
512
516
205
705
248
505
137
66
173
138
998
352
600
686
467
165
292
575
991
261
780
791
90
156
218
618
767
73
257
565
104
297
773
643
317
452
732
203
186
137
574
251
472
683
98
476
480
98
533
188
12
645
988
568
440
762
524
28
324
440
865
291
482
304
990
651
352
151
355
985
463
286
865
437
119
373
566
774
158
893
748
123
607
710
670
501
576
766
779
659
231
649
792
218
719
964
898
178
790
606
662
228
346
626
788
766
32
939
416
366
154
257
378
19
808
375
302
707
699
634
262
253
845
118
186
240
142
498
511
379
209
802
668
739
338
511
535
117
265
183
331
807
462
279
91
207
669
46
299
106
607
239
296
383
908
481
506
980
295
532
677
748
968
644
378
464
59
58
307
664
1
981
822
780
184
269
602
750
254
887
960
875
298
87
42
248
381
232
176
437
527
381
323
715
90
572
834
206
996
380
948
235
829
198
114
905
115
856
348
452
903
977
616
601
98
536
759
275
500
153
691
898
749
484
25
818
699
335
530
8
545
420
525
480
632
420
404
950
550
863
400
973
735
572
888
232
919
990
99
75
610
475
940
488
430
281
637
780
407
889
83
520
380
185
976
719
101
627
958
843
585
373
770
914
184
199
371
412
725
317
958
917
405
543
48
246
985
999
951
941
967
387
937
635
546
891
480
816
494
724
960
654
65
212
528
231
620
347
460
5
919
724
577
334
282
183
539
992
652
844
680
760
952
515
879
283
35
585
743
842
45
570
900
582
281
154
395
411
624
263
191
303
121
363
580
574
99
382
600
166
72
606
576
269
604
398
47
598
19
901
65
830
557
696
475
257
841
831
223
249
642
610
951
663
942
735
162
318
198
931
703
533
290
756
626
0
407
332
911
335
849
567
770
747
983
137
203
672
246
836
263
731
669
56
645
311
304
41
834
90
151
857
855
489
828
362
377
425
206
636
504
40
303
21
813
148
624
265
93
289
985
84
212
557
958
41
807
622
803
135
53
961
373
175
639
535
4
434
511
736
464
118
90
518
627
238
961
665
259
61
157
127
21
192
131
633
342
9
567
232
733
500
26
475
89
337
189
457
548
56
217
698
96
246
704
136
364
315
140
521
872
451
954
76
908
318
524
161
496
755
131
692
521
188
432
847
822
244
214
310
302
77
685
922
126
845
831
540
833
396
490
252
547
943
354
931
428
186
417
541
962
981
677
196
571
844
44
974
603
0
922
421
532
851
624
780
593
605
10
951
741
859
879
873
754
387
626
70
877
430
735
483
361
461
42
389
207
257
926
684
913
635
834
60
907
199
425
869
404
902
936
515
388
872
650
93
361
833
886
998
464
989
367
699
14
382
581
165
735
383
707
186
879
718
566
23
888
623
876
233
816
889
344
863
647
91
389
364
386
342
817
813
729
738
588
393
82
254
444
517
261
258
607
568
656
126
115
671
316
71
900
946
760
586
290
37
618
547
911
903
50
520
342
385
587
755
791
561
23
646
59
28
852
438
941
851
35
320
676
737
443
419
510
654
713
859
762
507
391
133
487
334
319
770
296
406
532
361
681
276
144
532
662
257
746
829
436
159
671
448
164
929
225
967
318
73
679
710
394
817
262
496
584
108
299
578
612
808
164
464
573
69
134
869
929
761
578
425
490
4
418
919
642
635
198
929
189
423
913
741
937
841
312
758
467
311
78
381
910
952
558
839
617
377
82
488
293
465
496
565
96
58
718
392
559
445
137
906
873
69
778
411
67
108
546
341
37
986
543
60
182
719
674
220
418
841
399
652
345
670
279
784
229
560
561
729
330
26
350
438
238
690
198
789
335
371
500
674
76
568
777
39
908
152
220
378
798
250
75
989
548
454
144
651
822
72
782
856
54
376
840
557
161
439
557
704
84
798
318
998
605
633
463
207
398
307
199
820
360
227
857
910
203
99
666
313
178
105
747
491
330
0
585
637
995
677
158
197
660
170
274
609
216
212
701
55
835
463
631
362
297
574
950
686
851
757
475
582
658
698
329
520
210
853
842
312
337
755
519
612
111
717
30
536
48
292
316
763
817
489
76
221
972
454
837
471
606
340
508
663
970
710
702
14
224
848
954
45
655
599
325
26
781
312
303
24
38
894
558
936
602
268
222
894
665
330
317
586
215
753
923
446
901
518
608
594
813
927
227
162
467
104
692
272
338
403
956
967
117
411
574
902
450
145
92
907
765
601
607
734
547
407
737
42
377
441
161
139
129
747
52
324
222
10
898
875
46
730
809
352
383
430
936
958
937
504
336
270
431
743
605
528
33
106
94
381
330
845
532
804
473
680
275
14
49
44
704
783
442
335
150
64
832
744
822
53
46
305
614
57
984
935
660
792
678
293
582
726
146
478
618
47
694
267
721
620
142
928
993
492
619
549
143
452
269
735
561
654
111
990
22
60
673
94
120
747
517
205
973
814
365
584
921
289
169
293
722
602
34
281
352
602
750
98
577
406
643
363
953
670
453
82
151
151
38
806
763
909
742
909
627
789
972
518
445
587
444
288
554
77
365
784
803
477
491
573
521
963
283
296
885
125
661
655
117
454
218
127
248
682
412
469
336
531
652
861
78
275
458
222
553
768
338
152
833
907
551
940
741
7
623
679
456
677
980
286
323
654
520
798
909
171
897
107
937
787
915
505
906
933
964
420
492
529
353
810
181
631
287
269
991
180
512
165
679
832
357
448
988
399
649
393
423
288
710
864
813
239
873
390
738
549
744
994
451
549
377
678
657
929
690
751
460
667
395
654
615
282
471
364
264
84
862
806
447
320
278
963
31
668
71
181
841
154
566
797
318
275
968
643
15
367
128
270
874
803
296
654
317
477
246
449
675
355
412
716
963
39
947
515
483
678
866
709
309
967
284
925
854
100
763
98
624
998
576
855
992
622
812
268
304
297
850
601
440
894
155
346
192
170
60
154
811
257
316
873
13
278
533
941
383
131
226
810
69
274
74
413
411
301
812
901
498
272
248
426
672
589
512
688
359
889
736
458
145
607
997
979
226
643
527
934
681
45
232
895
984
832
397
372
423
584
740
35
431
680
450
931
468
229
811
611
400
451
663
481
290
112
958
386
284
602
498
85
902
112
959
876
582
222
846
852
140
162
148
215
155
598
948
179
134
487
632
945
402
832
114
229
294
587
931
47
615
426
111
797
996
439
545
695
998
5
199
842
839
483
13
723
80
497
739
506
617
49
968
22
304
310
632
245
194
370
390
396
27
95
143
564
416
162
381
412
508
441
625
451
254
390
927
541
624
470
657
393
377
342
863
591
387
787
316
885
827
690
775
267
106
434
723
68
872
242
496
136
722
962
713
207
348
940
629
281
718
675
648
410
669
106
177
435
880
233
424
44
323
159
140
219
24
647
249
450
330
589
964
384
272
820
504
572
564
679
738
129
398
860
699
736
239
985
449
383
951
547
944
728
136
881
597
412
444
535
919
257
601
847
983
698
417
960
548
270
225
45
278
290
194
483
677
899
559
1
45
776
330
134
561
467
869
621
528
294
698
596
592
484
538
496
777
562
725
712
528
56
742
172
245
956
891
413
718
302
877
425
161
927
52
409
22
308
142
604
249
484
875
437
630
204
188
1
868
394
922
862
372
75
498
664
207
909
447
618
267
23
728
411
140
625
54
98
229
359
355
888
308
852
996
363
24
669
261
730
86
842
46
833
541
570
129
98
926
794
578
470
623
203
328
224
27
240
109
614
768
223
792
186
395
978
548
263
159
828
210
541
92
525
976
93
750
941
168
28
264
561
529
980
670
914
439
293
340
152
519
541
953
106
476
977
655
314
10
631
661
447
326
87
361
646
916
519
935
137
473
680
561
152
541
690
583
294
774
598
767
580
711
129
473
48
227
863
676
593
499
890
706
701
206
646
862
954
343
496
345
949
26
323
583
715
470
512
655
794
750
175
112
578
866
625
490
871
880
12
525
225
729
654
547
996
437
694
839
188
661
43
843
531
807
136
687
82
666
885
503
546
970
684
856
879
369
156
57
701
206
472
779
756
229
266
519
870
653
115
810
401
524
216
908
632
377
46
196
449
573
280
325
356
741
71
399
234
61
540
848
230
89
135
500
252
353
863
803
715
306
484
53
603
141
764
258
968
139
202
10
318
213
458
715
25
22
6
477
16
566
89
454
486
839
206
471
481
7
462
260
267
458
1
734
733
324
551
11
206
774
741
395
515
592
458
129
111
706
87
925
19
214
889
884
668
978
386
391
845
412
245
75
981
626
436
290
692
339
70
394
929
970
606
821
170
293
606
268
866
723
12
790
146
736
547
49
123
34
545
561
130
615
636
487
286
764
713
666
145
241
108
695
826
790
759
941
90
581
150
521
268
451
673
436
558
974
570
846
768
797
117
592
355
767
683
888
29
297
987
439
865
417
248
806
416
110
617
128
418
289
595
751
537
958
486
62
124
663
539
750
151
647
314
852
470
639
188
919
239
461
121
303
889
732
32
661
301
173
607
775
297
980
447
607
326
525
439
587
712
887
299
462
777
98
249
785
976
524
454
860
93
958
949
982
205
979
703
79
748
505
113
911
562
694
689
428
457
942
500
36
539
334
27
796
473
433
510
697
309
959
262
81
724
382
619
613
533
512
199
467
11
72
807
249
805
581
244
621
266
317
188
437
592
894
400
385
807
467
492
852
942
148
976
95
819
634
976
582
367
83
949
972
257
186
282
168
181
115
149
839
763
449
415
173
834
674
476
931
526
26
836
166
357
589
332
734
20
18
859
223
684
178
869
701
44
897
413
623
847
387
207
141
578
744
785
90
440
102
429
643
697
14
834
829
444
485
301
358
550
548
491
555
102
476
825
296
688
527
82
966
101
34
767
786
162
851
735
207
378
954
751
713
760
676
262
125
95
179
833
91
938
536
96
21
467
593
930
160
77
820
353
8
589
470
544
341
121
352
75
70
913
510
651
916
874
436
273
145
772
806
487
868
205
715
724
337
851
562
996
343
236
707
471
421
640
941
5
956
311
562
752
607
332
771
777
563
949
491
346
809
505
485
282
437
79
701
476
328
963
307
176
42
611
798
309
97
511
559
621
849
129
536
824
922
318
570
214
283
820
654
831
910
932
30
346
441
15
102
199
515
72
687
845
873
102
154
189
475
304
59
144
230
145
758
107
225
439
488
272
956
562
551
905
930
507
406
928
344
82
477
548
976
407
132
551
318
474
600
910
88
58
646
641
98
940
308
33
24
156
98
768
186
784
97
924
781
962
699
514
887
434
216
332
833
883
788
16
676
746
395
413
21
710
216
647
758
754
841
921
110
555
520
351
486
339
568
546
869
679
860
729
135
577
126
578
378
665
143
11
707
98
150
174
502
13
625
756
86
918
929
716
983
474
655
389
942
33
470
245
864
820
906
704
953
506
87
392
576
172
14
948
439
230
402
987
166
475
736
713
300
375
596
766
680
104
788
264
259
670
849
402
340
157
550
619
100
222
292
498
772
943
747
705
628
191
834
329
424
193
146
78
931
256
582
54
477
917
898
152
492
318
834
379
340
965
70
570
4
634
662
864
853
844
81
343
554
654
211
719
89
933
487
721
323
182
196
684
14
838
101
335
376
853
101
213
4
67
980
368
644
451
466
990
412
900
856
446
685
495
501
864
556
573
347
915
961
924
627
692
710
183
783
516
998
131
12
709
998
244
617
888
962
655
269
220
305
262
264
863
906
896
302
518
166
660
447
742
833
401
379
559
260
719
495
931
505
188
180
379
883
987
385
353
262
208
766
80
539
170
897
624
823
837
972
631
402
902
885
616
817
801
384
230
91
237
361
491
887
546
495
447
577
656
544
215
315
769
111
185
614
911
888
245
102
187
536
877
977
672
11
338
26
438
347
321
993
879
304
987
922
478
917
145
977
34
815
407
242
90
532
578
385
139
629
778
209
47
320
890
642
305
937
909
728
531
560
588
891
964
44
227
750
450
687
439
265
923
190
480
1
208
57
367
151
482
4
414
358
152
178
160
731
677
632
386
995
556
486
141
643
640
75
231
35
271
185
560
770
266
731
139
360
318
980
484
876
628
24
371
949
825
924
0
380
497
131
363
68
707
81
917
427
703
15
53
516
450
707
547
144
428
236
195
612
468
214
237
388
993
420
712
443
464
843
478
897
709
742
0
293
867
132
231
784
68
299
625
446
878
968
490
100
23
453
841
439
584
359
498
621
21
729
425
921
463
548
408
306
779
109
330
708
708
709
955
146
22
289
800
48
741
879
929
489
487
925
650
514
543
409
115
48
172
996
542
595
234
707
964
104
562
115
710
684
807
826
349
301
617
598
485
631
964
176
825
402
814
737
362
715
467
863
884
783
285
218
546
882
517
747
869
941
656
846
430
672
891
286
237
276
755
474
147
553
727
102
91
435
857
708
174
140
962
193
289
398
489
344
693
730
911
634
955
372
705
959
859
241
212
680
78
971
244
777
378
279
2
956
275
529
372
81
405
182
997
530
897
9
986
220
498
16
981
221
656
433
185
298
174
916
241
746
268
898
492
40
210
617
141
755
582
11
873
283
469
297
303
725
521
42
267
899
21
63
380
550
633
269
23
918
752
575
703
314
467
508
946
565
93
529
826
996
170
43
128
279
425
760
100
810
78
511
521
953
509
396
159
45
791
255
48
196
292
1
793
346
661
283
286
115
776
78
931
537
986
845
700
629
54
782
521
5
352
656
342
440
710
776
931
430
257
124
621
688
470
182
306
442
277
870
260
458
865
969
689
328
72
56
557
565
21
337
645
815
159
565
504
194
665
244
486
732
653
381
89
652
459
18
433
526
618
235
116
218
512
237
810
525
655
543
747
432
124
128
207
415
496
767
941
293
876
608
63
793
653
940
687
203
993
141
834
292
745
316
370
745
446
738
526
970
5
470
580
399
445
441
801
155
422
163
93
960
179
928
201
129
720
519
303
244
380
813
806
604
137
606
553
111
103
324
155
997
962
576
83
563
29
311
945
635
875
563
869
61
875
248
600
10
997
427
779
55
924
87
728
583
837
442
493
95
505
458
47
571
196
329
288
900
949
274
90
866
892
924
604
977
796
599
266
962
821
237
291
440
404
196
529
167
845
441
420
248
233
687
438
667
416
821
82
754
235
891
262
284
858
169
803
979
779
773
349
842
961
480
718
692
884
955
784
975
665
231
973
831
539
159
108
158
971
87
808
664
868
464
51
691
112
689
1
176
577
850
566
342
617
260
251
551
128
564
607
593
700
201
226
796
922
719
596
242
357
84
486
447
184
255
356
884
36
654
518
354
39
448
569
80
454
492
165
247
70
667
808
276
866
585
771
32
710
863
408
855
359
120
24
932
326
812
227
101
134
604
398
428
862
847
636
980
535
707
616
629
902
478
725
190
951
31
231
315
6
187
493
83
868
591
861
908
628
408
46
717
443
905
243
520
647
564
202
292
911
688
851
796
318
127
105
191
588
154
726
461
501
796
997
441
241
491
467
199
24
39
183
147
357
472
706
452
651
360
511
979
715
279
378
936
157
447
69
720
529
519
961
620
439
202
881
3
701
452
538
407
68
264
942
85
41
400
315
996
329
303
115
75
88
653
722
819
777
554
171
936
976
117
556
935
427
32
67
560
500
244
663
955
958
984
997
902
225
479
458
672
882
731
869
650
673
153
413
749
245
837
487
80
32
67
42
124
901
633
467
472
330
166
220
651
44
412
776
976
589
376
906
89
428
269
705
659
941
861
295
130
661
938
300
435
475
840
778
965
895
371
337
653
653
961
457
648
395
419
757
533
895
835
81
700
669
664
244
577
17
838
212
397
179
497
525
36
723
578
803
177
84
578
173
21
619
176
901
544
740
757
839
794
188
513
498
449
412
230
614
202
771
133
75
901
228
81
316
463
496
948
14
95
471
375
758
622
102
1
488
296
210
362
705
727
607
883
118
652
545
436
556
865
118
637
691
996
433
371
366
689
265
62
13
469
128
898
169
227
658
355
35
822
235
67
151
597
78
84
923
904
813
773
999
656
821
245
682
649
767
523
855
593
557
906
21
214
724
880
912
363
907
637
595
536
180
908
272
818
233
59
840
509
789
267
747
519
978
472
904
493
344
758
409
1
208
729
601
615
480
247
848
389
568
913
339
401
634
183
397
791
498
62
91
159
742
11
738
70
827
630
575
563
314
511
255
133
706
375
802
941
852
619
745
794
408
37
548
783
653
802
959
416
279
819
635
967
136
745
439
946
754
352
122
748
472
461
778
469
110
925
945
92
509
372
990
31
163
474
616
95
250
216
561
541
74
75
799
521
498
620
202
346
658
731
335
784
65
120
980
430
73
687
212
834
364
587
527
247
52
658
604
327
810
616
856
204
49
807
816
97
687
165
743
476
705
941
196
515
76
371
386
790
3
797
563
254
238
569
19
353
699
94
663
725
201
914
357
867
58
751
720
41
371
876
405
530
368
590
341
308
219
737
564
428
435
881
274
649
893
445
783
709
705
877
248
438
923
341
607
299
217
885
895
210
59
663
596
336
671
453
162
527
919
115
249
939
137
475
980
722
540
997
69
922
518
771
447
824
797
549
819
735
703
304
213
529
531
706
805
931
522
523
249
607
977
477
823
581
445
459
646
647
15
868
966
766
79
891
211
39
249
382
654
578
466
845
225
966
515
337
92
661
56
213
791
760
981
780
946
502
169
177
680
925
323
652
666
676
76
219
231
253
637
881
989
969
497
957
574
373
39
427
725
390
804
799
761
928
983
500
555
452
862
76
330
266
64
832
735
369
930
884
273
973
575
605
7
296
777
138
734
914
559
879
1
869
399
894
355
361
196
624
150
473
923
978
458
806
701
83
352
88
29
882
23
82
458
689
418
126
381
488
369
221
61
107
272
531
957
532
761
401
165
801
337
927
79
124
289
232
740
462
559
585
63
10
320
140
429
614
442
188
461
349
390
492
778
458
724
199
167
563
987
326
346
316
242
988
277
146
684
689
137
130
17
84
421
554
615
53
29
170
840
425
772
86
177
308
66
885
363
465
81
134
386
250
439
194
646
6
346
982
225
281
788
585
449
470
303
73
465
55
203
807
630
696
873
937
214
481
280
862
813
77
522
454
718
130
218
869
701
234
603
287
229
783
299
248
942
498
776
532
892
940
945
782
644
548
731
321
36
193
976
335
4
45
368
948
316
99
684
261
754
910
974
916
108
348
950
772
601
723
845
781
45
674
411
318
16
684
813
193
161
758
23
325
98
422
400
257
744
348
359
27
877
788
804
959
47
913
519
436
97
801
280
166
924
675
392
218
205
558
259
531
521
537
203
67
766
251
227
285
639
457
536
982
853
98
443
909
665
781
184
264
234
232
773
174
927
181
614
463
863
891
212
754
910
965
999
970
258
115
794
949
173
415
153
169
760
787
273
6
940
646
919
475
77
392
985
868
632
801
375
73
34
250
56
949
978
230
207
406
297
266
839
843
942
899
471
120
500
340
397
286
727
233
171
337
961
950
359
384
51
185
589
694
13
116
294
698
406
487
681
990
32
503
25
368
239
574
681
778
746
809
958
263
888
607
175
725
762
514
186
161
922
566
555
2
704
181
154
86
995
324
159
863
951
49
313
105
815
658
489
183
530
307
969
404
957
581
207
112
157
802
70
853
445
25
834
512
921
319
11
794
30
964
145
848
304
288
816
913
812
586
188
355
524
355
831
590
541
98
493
928
770
404
687
549
128
163
922
394
674
669
582
641
983
18
240
273
56
292
901
500
707
145
110
118
336
68
121
995
454
868
228
837
62
14
538
516
273
285
435
280
897
161
591
682
102
67
972
455
932
672
571
990
864
792
435
571
639
431
993
636
798
216
540
958
247
310
579
644
636
488
82
851
754
232
351
734
330
408
209
185
539
623
9
238
776
182
773
658
91
969
546
299
560
32
77
18
630
737
381
118
998
879
520
916
439
148
254
972
126
14
132
148
733
130
985
85
550
565
201
252
74
361
884
413
829
674
649
89
590
173
414
177
591
812
825
356
610
572
558
573
727
740
530
733
447
720
929
784
903
746
490
716
958
805
156
286
94
653
947
831
516
890
360
794
360
710
301
350
379
743
652
3
682
225
178
968
212
749
637
838
305
344
520
568
752
472
569
188
186
561
314
578
452
451
784
489
747
726
347
907
23
410
141
424
578
501
346
545
552
197
549
349
793
463
294
600
136
431
934
438
961
493
776
602
464
700
354
299
988
516
695
848
298
395
386
383
713
434
508
629
553
21
243
595
728
414
6
835
310
963
158
512
176
790
752
584
44
970
85
40
801
287
660
905
195
21
780
703
278
578
577
284
653
379
259
693
653
717
550
433
300
450
854
140
901
427
511
425
304
240
261
115
182
933
24
930
31
926
682
841
931
325
621
767
522
120
148
121
592
243
762
496
302
944
377
521
75
144
390
351
356
80
47
73
183
445
104
344
378
186
40
295
547
660
333
151
648
285
461
812
242
618
244
274
200
109
584
571
162
719
582
10
786
242
492
883
529
846
860
811
105
787
961
966
684
612
501
441
593
472
46
231
671
354
328
668
598
719
449
364
516
295
683
80
382
900
796
766
155
976
335
198
390
305
863
479
402
302
189
730
416
950
710
388
961
977
41
720
209
634
256
899
798
471
919
299
678
521
363
860
933
596
686
865
298
958
68
773
635
589
220
958
124
560
788
157
785
534
706
881
726
694
225
115
337
969
519
240
168
65
509
415
974
313
443
878
22
171
300
647
912
154
922
172
547
734
289
705
578
810
480
745
405
840
892
750
756
457
571
267
535
148
935
573
753
473
895
817
19
60
571
609
692
61
305
54
103
182
939
735
172
726
199
278
427
41
555
615
836
715
880
87
97
693
945
43
290
380
104
126
532
450
290
56
994
131
842
37
473
703
146
481
352
820
775
431
693
168
552
656
651
214
782
252
519
319
289
490
463
923
91
404
739
892
255
665
585
130
394
127
765
33
826
593
651
186
985
679
54
969
155
530
876
967
398
753
947
518
94
821
595
14
847
731
893
466
576
145
147
504
314
132
290
990
940
326
259
947
615
532
67
633
417
339
912
288
54
499
988
267
607
549
773
556
754
292
643
387
420
900
778
571
209
700
774
482
871
270
291
533
630
610
904
583
260
711
7
69
83
501
366
906
154
321
179
208
391
602
492
909
733
773
81
758
155
465
226
542
321
401
453
291
715
890
292
395
459
275
634
550
794
423
889
919
203
835
258
59
177
459
414
921
816
338
793
452
466
56
224
409
516
553
924
254
907
718
165
165
106
722
868
588
779
10
866
577
727
271
537
694
257
308
255
64
836
180
742
362
147
455
410
854
5
482
739
637
67
341
644
845
165
762
889
55
969
766
13
180
105
741
748
863
942
365
687
62
749
850
961
736
169
329
332
716
335
286
890
91
683
975
436
888
926
681
664
953
367
67
851
903
778
906
859
549
457
879
201
806
449
265
542
756
561
578
649
328
480
411
951
3
65
318
971
922
812
871
245
510
585
361
372
323
441
593
864
702
514
575
253
991
399
365
643
173
946
288
717
552
153
90
385
251
891
336
50
365
861
739
66
554
768
721
592
747
998
540
693
568
631
555
324
48
849
113
690
805
242
424
503
885
608
360
709
102
619
91
385
493
497
492
634
808
212
823
465
614
835
14
165
714
802
950
791
315
17
397
943
756
851
356
535
253
430
144
981
887
32
495
936
751
287
313
221
994
130
824
196
507
219
781
231
388
548
603
261
732
112
65
915
949
606
754
311
893
82
304
889
951
98
163
922
842
297
618
446
84
591
203
913
373
531
364
601
156
862
982
428
825
10
435
498
430
274
681
724
722
689
700
514
898
530
628
533
640
3
44
546
981
725
451
309
505
663
420
946
413
580
872
618
533
191
284
907
200
974
846
567
531
435
241
404
650
285
279
156
950
432
798
318
318
749
876
990
914
105
80
455
574
78
563
984
622
825
925
175
641
133
704
261
725
52
264
742
961
993
865
77
223
696
828
811
865
365
103
373
465
566
241
524
489
745
476
606
125
134
649
793
276
61
377
635
336
304
151
82
351
429
355
812
155
811
491
868
582
657
123
836
97
858
484
547
144
196
628
38
11
108
409
996
480
69
938
320
187
861
313
166
802
435
130
185
860
337
527
198
850
106
703
266
745
654
664
421
198
100
976
723
369
460
274
867
667
393
652
975
252
182
894
268
379
605
378
28
341
283
693
811
995
315
443
197
345
377
248
574
93
111
894
452
809
333
531
889
175
377
359
591
53
534
90
776
41
754
138
833
70
145
302
936
585
26
646
290
653
97
848
127
268
426
338
93
190
345
445
32
919
156
703
914
203
743
816
457
747
21
710
293
17
266
76
798
593
45
198
683
765
313
749
732
760
618
92
159
939
5
186
13
817
711
658
544
428
885
609
254
53
62
25
311
934
356
810
707
558
995
356
367
870
256
539
423
583
574
119
863
171
562
227
397
843
174
805
339
484
453
878
867
327
791
968
589
94
798
412
242
164
854
84
53
856
743
77
80
568
978
77
841
879
14
640
896
612
447
153
860
413
609
854
855
207
481
177
540
841
767
778
261
710
627
728
355
603
613
729
528
670
180
698
618
423
267
561
701
237
837
114
323
302
455
542
866
860
549
581
442
186
229
947
214
437
368
911
610
699
791
935
921
158
192
624
563
392
985
413
476
91
846
317
495
846
411
284
969
435
54
641
581
551
93
664
638
684
706
251
946
438
378
628
746
945
786
815
639
137
885
57
897
592
323
113
418
587
643
485
864
169
352
585
452
325
348
609
542
731
434
795
122
699
611
761
532
156
938
870
484
14
785
216
720
641
92
269
421
637
321
883
762
868
355
329
51
359
670
787
251
749
863
458
265
887
434
899
434
483
377
873
371
283
667
636
811
919
882
732
776
758
164
784
241
859
843
708
195
468
965
862
689
838
702
140
840
959
779
177
49
171
457
310
880
168
882
721
754
565
761
497
246
66
934
171
778
116
298
219
474
183
374
836
553
686
532
964
506
618
588
387
855
917
509
420
340
269
181
614
402
755
597
43
251
950
868
136
155
987
300
483
332
466
282
869
641
734
376
711
903
50
421
705
42
401
506
592
93
330
352
386
33
741
315
238
630
386
674
605
979
56
934
998
337
959
235
854
537
301
123
579
726
421
270
923
66
772
649
485
687
941
509
867
995
791
287
578
703
489
684
70
479
356
400
353
297
560
993
176
377
366
989
570
543
559
660
964
559
711
135
741
349
371
703
919
506
790
28
558
477
376
663
209
822
735
82
956
985
234
751
276
40
684
743
671
370
143
438
654
919
195
943
561
530
637
849
703
112
294
502
61
107
97
452
962
105
690
309
773
319
274
35
702
535
213
676
984
219
882
107
339
383
875
62
772
464
992
248
580
278
4
199
644
906
24
476
596
570
417
110
73
613
91
757
782
668
277
349
656
169
740
187
43
355
438
110
343
883
276
325
234
446
351
761
446
293
485
272
618
899
194
266
454
550
782
197
504
365
504
191
603
942
779
895
806
478
576
743
538
597
827
309
950
400
935
886
340
249
629
759
762
95
555
404
90
671
294
131
1
219
243
999
423
18
36
388
536
757
175
267
978
611
216
567
332
128
452
899
528
13
754
932
503
982
90
307
365
651
484
309
313
887
338
677
201
451
230
605
591
895
527
173
351
191
169
90
270
466
366
352
927
553
697
780
2
193
175
834
58
87
11
717
88
650
869
9
767
637
267
404
690
161
525
780
60
714
631
619
269
516
624
335
416
727
913
668
47
890
486
458
783
809
734
424
749
102
444
185
489
127
614
775
607
499
488
962
342
212
445
108
134
662
145
59
782
569
941
77
884
518
430
84
295
943
58
351
581
539
282
58
540
815
238
654
16
759
7
319
89
339
244
672
656
74
927
770
917
939
860
794
319
110
611
239
545
489
813
84
126
562
67
617
815
122
13
750
333
610
530
544
0
183
148
898
615
295
997
271
617
658
150
844
134
283
768
80
990
782
219
530
905
503
325
427
634
951
58
187
310
735
53
724
892
316
174
901
949
245
59
441
484
973
602
344
675
846
403
172
201
817
681
146
34
799
92
868
587
699
106
901
452
623
668
798
391
959
222
529
874
201
930
68
202
981
373
811
238
572
865
323
595
131
880
586
322
421
811
141
57
323
396
704
796
777
537
661
220
703
416
967
647
482
792
678
259
664
757
607
464
869
307
288
96
351
292
519
917
143
648
720
442
710
579
478
510
281
98
250
762
902
227
636
1
697
689
334
299
223
713
909
261
503
632
783
323
83
376
343
947
482
796
127
608
729
445
125
499
923
203
166
464
206
585
804
501
749
865
681
785
161
662
520
222
682
265
998
793
14
121
953
787
304
105
184
340
76
74
400
739
996
778
395
460
927
460
183
955
979
892
343
668
612
611
533
485
404
907
516
996
131
621
190
533
73
968
386
296
29
613
385
663
403
505
783
413
369
96
663
569
17
933
465
580
140
36
190
511
70
320
694
902
692
770
558
468
2
908
211
842
546
413
859
136
132
647
909
668
919
252
134
762
844
417
276
865
76
897
749
777
348
150
702
466
128
14
887
840
792
826
672
538
498
523
120
678
58
95
681
41
456
140
157
52
344
405
179
559
666
511
776
189
951
881
323
623
673
698
64
437
682
516
87
329
682
456
385
100
686
687
114
39
627
829
470
309
3
532
422
908
841
44
182
240
742
590
301
927
724
884
874
958
573
704
496
512
798
222
2
892
934
248
910
688
493
470
93
56
832
257
975
774
748
617
637
978
217
287
307
245
95
749
770
913
200
904
485
373
504
469
105
538
348
80
391
807
451
551
698
774
835
669
108
39
102
818
29
816
611
521
356
658
829
808
834
516
119
282
218
909
724
976
516
286
616
182
259
571
787
807
599
978
291
546
679
719
178
16
352
295
811
405
726
230
11
30
193
279
728
19
425
414
352
812
955
801
502
95
753
28
236
308
90
906
145
251
232
953
30
964
107
257
709
717
181
771
19
367
586
587
988
410
24
670
234
50
621
179
394
479
702
565
940
141
12
205
922
222
782
313
773
836
920
462
383
576
624
44
613
376
958
73
183
959
998
375
248
259
818
71
209
88
916
506
703
62
357
664
753
366
498
613
543
631
706
539
777
779
939
167
487
902
761
404
300
977
426
871
559
445
759
146
291
366
986
782
608
742
851
385
370
78
2
143
76
971
345
846
865
876
580
775
992
860
405
505
43
412
901
604
201
196
190
358
431
510
309
193
343
789
957
741
571
440
214
885
337
559
506
704
295
553
97
8
639
761
319
286
864
808
222
370
213
787
778
96
262
17
300
873
336
112
443
951
466
719
95
833
459
237
609
467
750
364
631
925
754
883
130
982
74
168
834
199
376
334
157
728
936
685
625
654
960
388
780
154
555
734
364
815
44
168
868
472
173
20
15
489
653
14
252
330
102
856
22
840
594
779
575
187
757
19
260
129
353
653
538
557
282
382
585
595
588
750
859
481
271
664
854
199
133
69
52
523
94
318
279
61
512
206
103
244
138
883
906
935
446
772
766
898
832
846
842
577
918
759
570
708
81
279
257
690
556
771
575
533
589
607
30
669
146
509
92
911
563
850
277
929
592
947
27
994
154
112
755
357
536
555
814
338
474
749
57
132
393
808
427
794
592
447
543
256
106
957
386
155
883
385
538
724
24
459
665
43
974
966
949
828
735
85
74
703
225
589
536
877
434
647
426
386
691
38
98
499
127
488
55
162
269
151
601
724
923
81
256
256
538
397
418
579
285
954
238
113
691
970
326
404
949
391
35
911
477
106
639
139
610
787
241
775
729
226
172
501
379
210
80
723
266
923
375
878
272
230
494
701
618
274
840
453
155
652
157
90
969
229
832
336
49
41
957
256
700
3
559
743
162
94
824
378
725
364
544
9
485
47
573
430
886
190
405
231
478
332
109
100
297
485
170
464
108
14
305
94
683
982
210
253
2
38
286
893
414
873
443
527
896
449
833
133
305
989
812
424
12
330
797
901
577
664
880
819
120
216
975
390
29
185
5
960
856
891
892
492
295
80
4
179
293
245
398
656
912
33
922
941
694
267
481
211
882
755
983
1
676
374
456
915
758
180
861
791
245
0
410
851
694
932
603
82
192
478
612
116
47
856
582
996
317
589
603
389
348
518
610
132
852
426
744
84
504
464
976
305
818
154
974
246
806
402
304
58
38
271
247
33
512
58
934
129
169
951
213
525
508
285
177
90
833
51
483
986
910
277
301
283
571
799
455
638
121
929
64
945
42
155
259
905
690
943
970
94
642
947
205
480
234
142
40
849
410
895
513
152
72
888
768
2
649
804
626
351
140
436
117
621
731
347
486
113
178
143
686
472
762
29
827
27
615
148
147
988
990
974
984
124
878
608
203
683
58
27
86
402
789
426
176
833
962
952
439
540
364
15
810
677
605
294
760
842
883
678
54
336
699
771
963
367
786
405
921
76
624
658
295
949
335
674
684
20
135
374
195
634
449
396
559
161
584
830
19
83
304
782
57
198
83
221
871
436
427
203
643
488
921
901
781
93
487
467
429
605
832
701
37
315
857
249
281
571
358
378
569
91
390
62
934
221
166
288
61
381
756
720
414
177
705
84
417
412
104
411
673
720
38
228
171
776
89
650
990
728
900
396
786
575
42
219
969
172
569
273
52
254
301
437
100
448
323
948
368
700
484
538
607
568
802
330
384
219
121
72
584
895
962
88
831
200
456
701
323
948
901
811
936
527
595
31
420
65
589
501
951
440
675
776
304
110
971
753
368
625
621
327
61
175
487
535
533
434
691
157
177
845
829
770
51
178
791
801
831
558
719
698
221
40
920
923
21
460
659
170
71
569
227
993
941
173
740
876
709
372
844
77
10
418
133
654
20
907
483
677
401
964
949
600
577
814
533
12
106
376
792
55
306
498
468
393
505
534
838
748
630
957
507
449
273
155
516
986
419
233
237
913
989
438
421
785
728
841
856
644
669
435
35
104
109
696
378
806
280
605
908
244
809
147
721
270
529
485
508
448
212
592
688
727
491
295
273
303
678
256
433
182
163
209
15
990
689
581
126
873
430
300
803
947
58
191
34
256
898
348
300
254
812
956
995
507
416
552
244
317
24
56
427
755
433
582
30
336
92
756
566
369
542
521
736
624
961
35
379
941
306
588
956
295
777
764
586
843
353
916
21
605
941
402
279
815
248
27
383
676
136
803
161
412
173
397
693
466
851
221
531
295
477
643
563
264
319
650
736
78
576
134
180
967
898
48
286
836
294
15
42
326
971
372
785
871
397
928
924
684
117
702
356
524
662
240
652
855
88
250
71
987
575
755
892
184
117
890
363
470
462
910
291
293
163
786
660
10
700
832
7
526
299
211
697
858
551
224
71
599
350
614
320
209
684
872
315
679
873
518
876
947
15
313
980
308
953
529
943
400
885
827
544
786
668
468
615
216
323
318
417
896
955
183
772
831
339
977
920
331
519
900
379
52
30
310
622
807
703
92
822
604
611
197
276
788
6
578
972
359
992
883
951
782
998
219
474
192
640
259
372
680
381
962
835
57
235
833
997
506
474
244
542
774
523
666
842
36
59
564
322
976
995
97
83
632
251
730
269
856
233
448
94
209
686
369
335
101
671
799
868
642
201
578
959
968
328
165
76
648
511
548
540
24
302
690
305
78
807
25
68
728
737
427
670
864
48
160
755
896
845
171
592
359
807
351
263
726
244
665
95
628
231
621
888
754
911
98
399
49
147
986
239
286
792
821
418
221
10
179
131
949
278
3
28
132
332
94
897
411
216
719
967
962
622
717
542
581
322
280
795
121
332
281
368
996
533
786
611
172
196
373
610
242
128
435
625
668
878
96
703
902
546
464
561
420
364
313
333
577
916
221
509
722
256
65
65
741
626
112
752
329
620
158
999
318
597
349
174
548
478
935
614
976
947
756
406
747
156
908
866
163
922
255
508
297
458
429
749
933
178
363
110
844
748
651
456
603
721
472
13
135
638
762
57
499
699
561
59
127
8
876
846
160
541
818
811
242
258
614
553
636
807
372
308
955
222
848
566
751
579
896
162
486
324
981
91
261
959
554
221
785
237
11
139
615
243
32
139
693
572
895
624
692
844
95
402
338
79
583
654
142
674
565
716
649
212
292
976
538
576
390
656
20
328
978
409
320
405
513
708
622
955
666
208
43
348
676
669
61
23
626
927
877
592
920
263
640
807
531
200
586
1
605
393
90
305
407
215
76
437
316
576
194
479
49
484
986
424
327
903
327
266
0
368
321
220
539
205
368
769
419
599
149
218
872
842
430
39
60
229
592
329
591
82
404
78
907
625
650
986
393
50
714
890
817
725
667
103
347
771
370
617
941
370
481
202
378
927
225
46
233
126
197
789
471
837
599
106
874
706
427
371
409
716
157
291
957
5
879
331
389
724
832
829
127
594
954
373
344
476
137
955
508
174
130
165
315
344
479
699
924
606
903
272
944
482
159
185
230
928
804
188
234
346
864
50
244
610
284
236
978
644
230
170
619
329
450
377
725
433
284
713
517
40
992
378
764
844
884
952
657
526
49
580
498
757
417
422
625
192
25
177
679
880
75
731
272
273
646
727
200
801
999
34
773
205
171
311
33
277
713
174
823
762
570
605
244
604
827
822
678
951
586
883
850
115
587
121
436
593
326
586
602
539
555
778
688
552
817
269
691
813
492
832
143
160
952
298
968
888
599
281
159
735
789
381
532
714
737
234
74
194
725
340
415
952
592
292
823
726
139
590
585
104
34
696
68
611
412
587
683
609
646
772
27
415
189
991
449
254
78
903
901
635
840
631
98
626
357
310
104
523
184
126
680
58
297
895
113
100
673
198
102
882
517
281
534
561
823
382
960
817
17
304
98
738
781
641
656
20
166
838
821
66
312
731
567
873
836
162
210
573
791
382
748
817
12
373
470
403
534
429
816
533
79
205
937
558
898
823
206
867
744
265
597
576
25
488
764
820
621
869
306
984
820
412
213
110
383
556
742
487
381
325
574
463
512
543
59
493
111
625
988
304
35
489
127
567
745
846
915
542
327
441
331
230
336
404
0
537
964
146
597
729
382
688
273
150
432
793
683
813
264
285
4
870
745
808
991
566
895
722
389
797
881
854
885
635
823
784
176
887
843
176
360
103
855
320
167
999
674
874
906
734
718
132
597
971
905
839
53
592
803
672
532
691
563
218
88
888
830
618
82
303
632
499
357
65
824
849
73
431
590
804
476
682
566
916
633
838
281
67
948
125
917
453
377
453
115
714
667
928
989
733
771
93
694
553
334
867
510
397
789
485
803
57
831
57
221
793
749
65
182
923
455
118
777
844
879
764
404
365
639
217
685
852
773
11
168
359
904
778
376
532
233
439
459
940
297
71
963
402
792
327
301
948
265
967
288
367
585
468
678
926
757
577
709
214
703
462
629
761
292
398
740
551
942
727
319
566
933
104
267
798
390
279
716
308
622
563
862
544
745
143
848
572
541
102
703
306
847
658
86
429
979
129
936
146
702
494
817
672
548
464
735
892
625
377
640
3
805
524
998
406
279
326
763
881
255
751
669
368
502
757
430
887
284
841
273
497
182
465
738
898
589
593
131
354
785
233
689
580
187
92
236
358
45
200
402
929
870
546
716
411
599
565
373
407
930
274
272
125
683
913
227
962
252
429
848
4
412
93
259
318
360
221
834
928
895
299
263
883
890
778
609
501
388
160
10
442
106
124
335
856
756
282
497
453
810
236
889
516
498
723
530
422
362
93
900
776
243
225
153
535
150
837
392
567
989
60
102
525
629
456
442
627
592
347
221
125
567
965
917
640
869
643
795
904
994
754
741
537
765
608
673
635
585
744
890
797
46
462
871
872
70
108
553
178
804
74
196
839
622
580
897
141
713
565
801
641
540
226
34
89
92
963
92
135
609
980
874
175
589
104
395
338
334
682
533
916
160
740
734
461
296
11
955
763
933
274
448
472
798
926
443
133
858
725
323
495
614
352
595
145
649
211
344
131
144
789
893
810
171
71
790
610
171
822
447
880
119
786
938
571
47
134
976
768
336
971
797
672
805
559
74
197
700
900
509
978
648
511
824
785
520
279
261
520
304
141
889
914
540
274
563
31
41
670
597
104
947
121
838
354
225
504
840
236
501
65
318
268
701
545
287
726
740
479
431
876
429
221
245
79
442
735
137
701
156
210
329
181
320
659
872
651
594
751
434
107
971
23
604
759
179
307
805
914
864
468
204
486
417
117
454
690
843
42
479
312
839
107
434
58
647
657
81
184
684
734
166
484
301
368
165
340
391
18
918
191
749
207
279
240
127
727
653
992
116
326
346
264
352
698
468
193
834
324
400
742
870
689
60
236
865
390
853
295
776
74
236
641
449
329
604
7
522
973
880
598
869
810
882
701
737
927
395
547
827
573
286
540
396
877
78
981
945
82
602
794
187
365
244
111
328
543
423
748
163
492
874
189
327
80
362
473
803
613
594
757
663
751
147
668
90
551
396
825
584
873
511
40
88
666
895
300
800
683
913
253
831
654
220
967
407
342
109
834
191
12
911
938
418
302
861
478
139
169
905
752
575
201
109
364
191
81
386
846
285
81
312
7
643
962
742
448
645
297
856
964
231
71
496
712
706
129
435
527
497
734
452
410
119
781
120
526
250
509
920
827
282
954
961
191
78
31
598
634
837
218
596
879
934
267
766
933
736
385
970
929
940
974
195
398
829
212
577
299
982
319
982
956
504
146
341
29
150
533
33
611
958
178
284
674
831
1
922
240
999
523
844
659
265
117
984
351
648
658
701
33
690
123
690
912
606
506
640
829
494
301
801
317
628
42
724
210
391
650
965
535
75
994
752
445
14
264
273
105
624
965
121
328
861
181
80
28
211
547
120
352
19
982
587
885
542
989
847
627
353
891
364
808
716
502
993
69
307
279
51
302
16
638
437
189
393
792
899
875
21
113
887
857
934
669
354
492
522
736
282
103
137
586
873
916
605
892
905
287
924
530
699
874
587
650
559
63
805
639
298
528
320
665
150
249
910
990
986
140
547
517
947
112
259
249
590
645
852
690
306
645
108
979
202
4
161
494
403
369
257
535
435
914
541
304
216
21
722
466
691
55
815
677
596
939
266
156
17
255
6
881
921
890
777
431
936
251
839
732
536
835
85
620
482
429
932
86
481
930
923
303
337
648
910
81
240
906
473
390
210
262
938
564
883
180
628
506
578
43
649
374
199
447
649
775
667
312
152
752
129
499
118
912
213
110
624
102
179
648
499
363
350
985
816
59
302
137
643
573
333
784
555
252
228
6
369
655
848
777
36
599
684
242
206
694
264
165
333
484
710
506
452
820
406
847
995
163
697
122
987
560
756
517
267
766
299
141
756
489
932
816
84
624
939
925
697
365
16
512
428
93
779
189
174
228
120
934
411
596
250
647
280
910
821
252
151
129
972
874
828
419
713
594
706
328
275
483
663
742
177
610
79
706
858
429
309
191
182
583
263
21
296
833
380
821
440
11
584
579
728
170
418
790
445
904
133
395
206
490
350
38
291
469
799
738
652
116
518
581
802
229
979
398
146
763
931
413
157
66
726
788
72
887
862
602
520
423
885
142
396
338
902
712
919
726
288
353
508
161
799
80
916
524
391
487
108
385
937
492
842
918
251
326
422
694
706
635
781
675
3
719
702
777
877
458
620
484
282
882
487
824
924
155
553
181
482
919
458
167
675
669
958
138
494
583
819
143
596
49
420
330
388
337
354
157
307
210
742
290
805
172
776
251
196
848
541
961
373
706
378
239
771
248
101
485
867
39
178
529
575
95
486
94
352
615
286
863
605
495
321
362
72
732
14
990
443
637
710
647
908
708
911
230
812
498
882
72
709
340
275
499
129
407
471
269
153
41
324
956
448
640
355
612
622
671
872
993
236
455
845
274
758
704
520
741
711
399
978
548
616
31
147
882
448
885
256
844
206
199
220
837
140
738
890
983
462
543
284
813
441
945
57
952
441
913
770
632
724
733
616
432
339
495
679
61
503
143
190
149
750
293
937
672
428
939
309
636
801
253
63
847
252
97
362
341
664
908
469
186
968
556
573
844
863
629
239
770
413
344
641
121
763
962
664
122
567
885
425
379
900
870
945
338
31
864
535
548
700
891
422
395
179
649
721
688
256
151
737
565
934
875
587
131
751
311
974
246
954
489
41
110
216
67
29
177
463
208
932
5
897
296
131
269
957
422
410
606
968
811
739
540
455
224
792
755
311
791
994
188
257
91
724
917
743
109
121
981
287
117
583
454
850
766
243
563
47
809
534
867
596
735
394
284
367
449
807
235
58
46
553
455
698
243
482
69
172
373
716
972
144
412
779
7
640
514
240
867
374
158
16
40
972
224
533
968
920
898
582
537
78
315
17
291
678
568
131
7
114
814
30
441
45
376
84
834
233
76
739
789
968
908
204
272
950
21
20
631
926
795
399
610
638
364
43
775
936
135
33
341
821
358
840
948
475
544
860
293
650
207
802
46
443
866
650
475
684
818
886
323
68
119
649
539
40
69
289
648
839
862
652
138
781
611
297
522
825
791
413
485
358
567
426
695
133
332
123
508
48
983
848
713
585
990
171
982
78
563
212
313
960
677
330
703
828
487
611
885
763
923
727
623
950
437
632
742
835
578
917
793
481
830
981
943
788
714
592
438
236
856
932
195
904
23
161
791
868
843
335
717
164
545
761
413
529
120
602
891
32
392
193
899
235
176
670
424
382
793
741
259
942
585
847
107
927
957
762
620
965
998
737
163
554
486
218
421
484
503
820
191
881
939
397
710
447
786
48
819
148
108
537
878
508
830
507
839
655
750
480
733
684
848
721
790
851
871
589
274
482
923
960
688
759
889
481
12
46
560
598
680
623
177
55
744
533
810
800
828
75
903
830
964
529
339
69
324
687
818
559
501
944
129
9
247
250
60
292
898
795
213
991
128
84
464
427
758
716
627
110
862
182
747
592
426
805
91
364
793
487
295
192
775
480
128
419
225
101
417
266
67
547
534
953
144
401
897
33
292
879
16
4
127
11
654
6
33
845
49
112
494
903
509
121
338
820
107
470
364
305
127
764
399
979
537
678
500
15
115
376
979
791
900
527
520
721
372
373
776
186
238
926
46
239
50
853
491
959
176
5
301
130
147
711
32
779
448
785
762
340
711
452
747
509
322
989
297
521
884
419
891
128
613
178
10
797
96
31
939
861
709
180
271
709
297
698
682
515
612
432
83
263
679
920
549
958
355
404
180
6
605
345
875
496
798
492
894
787
421
372
360
277
342
300
80
702
698
13
579
663
738
324
853
2
953
257
139
291
254
184
517
650
490
812
416
975
338
854
301
180
122
725
946
171
808
694
345
337
114
193
273
370
755
891
432
724
716
7
393
637
444
194
511
536
747
570
565
124
883
163
365
854
137
865
515
212
131
500
444
825
649
626
698
156
780
63
461
395
52
878
898
457
534
462
381
284
328
595
195
267
910
788
867
229
487
187
972
771
943
690
802
230
226
867
995
870
723
369
439
961
547
406
16
311
672
803
844
778
888
824
611
691
399
482
860
125
112
211
783
499
173
414
9
477
603
30
693
649
563
913
626
659
116
307
791
255
97
522
284
327
81
307
585
725
763
516
484
167
573
552
795
170
662
221
590
873
346
69
153
585
240
859
836
67
450
155
724
213
946
505
992
20
803
127
773
825
247
33
799
538
226
939
369
788
673
406
502
645
711
913
752
283
747
95
771
272
691
938
374
494
59
878
234
545
338
410
844
245
903
55
38
438
104
536
38
34
436
870
946
454
903
685
422
527
768
777
42
232
486
71
141
984
247
372
92
430
15
467
193
53
399
795
203
902
763
940
387
526
511
266
677
30
87
935
772
976
368
652
4
396
908
374
651
536
142
433
207
712
535
581
993
332
158
753
984
334
311
691
599
883
907
298
79
162
123
524
236
733
328
135
860
326
708
451
537
544
47
566
94
235
331
312
142
718
961
664
51
972
982
391
971
233
504
674
403
899
662
169
168
289
138
512
965
765
649
28
588
51
180
529
899
5
548
798
734
993
235
871
712
674
584
198
38
67
63
467
990
141
194
200
81
398
505
639
148
350
880
208
561
443
569
819
772
483
248
425
350
37
303
11
478
246
129
962
537
805
2
769
49
533
945
771
716
565
627
593
616
562
675
170
494
230
243
340
514
929
262
928
398
534
52
436
218
589
29
897
775
173
805
241
550
20
913
257
947
468
347
769
833
259
963
335
108
560
53
341
457
415
291
194
577
817
227
809
578
566
956
475
992
265
251
109
536
818
384
811
509
42
581
275
541
568
748
223
918
442
40
494
290
715
366
948
241
510
254
882
499
839
289
253
632
138
269
915
698
108
351
719
49
300
276
785
712
768
736
532
776
44
894
796
697
271
553
206
257
514
295
310
363
774
421
807
908
609
715
56
722
549
399
42
113
401
501
79
407
928
799
740
95
591
590
920
753
445
201
804
787
968
927
686
658
26
795
625
471
6
418
818
904
830
428
925
520
988
352
786
211
25
411
527
928
543
359
69
302
63
721
806
705
717
20
587
998
432
530
910
925
678
667
675
761
452
911
328
693
822
674
552
165
83
823
66
667
171
863
856
732
379
660
347
993
62
467
831
748
856
360
35
334
574
381
306
457
268
229
192
788
23
995
475
873
585
615
163
986
651
750
367
159
766
968
122
881
588
952
519
87
215
835
361
597
303
460
917
206
54
635
77
619
913
75
709
952
88
725
602
184
994
656
433
497
851
524
341
94
901
545
791
401
402
818
988
895
623
703
162
960
306
49
873
987
545
897
814
753
842
455
624
762
63
361
295
320
924
387
956
84
394
100
683
988
846
26
86
485
751
736
995
504
365
463
9
255
47
285
989
68
828
917
276
272
995
671
99
652
881
207
380
121
661
552
821
995
61
697
914
350
686
161
74
967
280
805
635
176
631
69
481
846
999
851
229
961
623
167
289
56
454
962
691
865
608
404
43
289
444
580
982
455
936
317
237
972
396
77
366
402
314
902
212
870
414
84
287
15
690
898
775
80
888
28
377
706
453
739
934
480
571
567
727
191
699
404
641
572
829
59
955
706
998
741
844
406
956
943
889
489
279
484
215
812
22
596
936
779
338
984
7
991
873
783
751
675
224
774
977
566
556
97
149
418
910
654
395
346
116
677
967
594
205
575
848
675
635
836
92
295
731
976
521
293
329
736
38
842
925
80
385
22
807
250
697
654
729
170
132
683
666
744
255
322
886
960
523
219
820
688
590
838
135
724
36
980
2
85
895
183
437
201
191
627
855
76
133
479
295
493
366
372
986
925
572
432
940
786
213
66
702
860
546
952
815
418
952
258
937
803
414
970
597
609
642
745
688
451
922
556
896
960
170
157
396
424
349
932
986
900
858
156
707
424
859
84
696
543
572
522
457
710
573
619
681
474
194
164
280
398
203
136
49
706
610
117
346
995
102
708
184
21
228
881
926
255
608
94
606
293
958
558
712
11
292
182
252
160
870
448
555
534
973
85
716
280
342
536
791
223
53
878
644
112
290
443
254
753
151
926
132
889
934
932
17
743
665
417
37
191
256
966
479
397
918
214
328
390
222
749
129
520
161
601
918
424
524
922
520
405
397
836
258
248
879
949
613
682
43
714
151
833
500
403
899
254
396
182
45
618
225
294
331
544
734
117
361
442
795
332
409
443
78
865
328
575
394
297
404
539
621
124
421
281
454
248
637
590
668
608
210
333
784
68
182
237
719
407
815
908
749
995
434
448
670
494
157
370
385
703
209
4
715
43
765
794
697
286
321
579
881
979
520
699
823
460
417
892
151
867
70
259
977
22
112
835
205
699
151
934
408
383
826
741
196
781
205
566
547
915
786
537
533
444
64
683
577
159
219
507
122
544
101
453
437
670
307
503
313
511
242
558
597
55
460
261
656
425
630
570
727
671
406
372
752
933
49
881
970
197
530
762
962
958
390
894
286
917
419
644
668
529
932
773
747
811
685
75
294
739
646
42
26
831
19
431
513
328
590
302
509
669
277
331
95
387
572
216
479
752
968
538
172
787
732
880
727
957
209
520
779
86
254
908
550
329
898
137
653
497
128
548
4
829
656
842
866
207
650
179
911
951
84
700
742
209
619
338
592
47
541
135
766
884
285
158
109
216
43
336
310
309
116
872
612
346
763
753
96
97
460
607
43
725
354
831
487
162
982
227
582
765
633
701
433
209
984
528
992
449
844
518
416
506
181
248
398
918
239
277
280
574
220
312
30
718
355
22
462
116
361
992
452
89
82
396
8
172
521
306
555
542
482
14
231
479
691
254
693
284
525
87
410
31
988
501
740
494
303
586
196
682
382
127
739
893
732
721
191
34
830
220
476
365
403
911
436
129
293
180
343
184
783
577
128
94
230
150
924
144
463
681
443
887
254
914
246
283
257
192
553
533
802
361
512
913
153
134
985
261
586
714
903
724
138
473
169
336
840
659
213
954
843
887
6
76
469
169
789
524
535
774
809
627
472
394
650
166
614
618
112
494
254
736
759
677
355
453
845
334
129
449
578
73
429
682
140
22
631
17
404
780
71
526
450
344
558
55
441
233
418
418
357
479
318
41
668
761
965
829
576
809
263
991
409
710
711
221
694
609
677
119
839
127
431
643
59
667
677
179
379
858
100
849
238
792
401
272
0
557
221
399
909
310
267
996
131
999
787
235
957
530
344
794
332
717
880
703
271
36
856
823
966
934
432
834
957
93
58
784
706
796
215
112
750
437
804
995
597
408
523
969
506
901
876
349
668
496
433
757
329
2
119
152
146
114
757
575
513
664
731
19
990
701
888
454
736
104
323
244
378
769
293
744
929
557
363
989
217
904
302
787
138
138
376
748
201
12
820
131
77
86
553
492
480
108
429
220
344
798
906
170
528
1
293
808
333
307
38
836
428
991
284
725
384
371
441
5
553
565
978
526
364
37
780
799
185
469
939
684
480
199
336
715
778
656
63
802
773
683
439
435
692
34
87
151
642
847
805
787
396
359
612
640
100
146
682
536
720
471
833
283
700
460
465
193
766
535
174
157
221
195
557
55
575
690
665
131
793
452
962
910
693
429
845
93
449
401
649
762
186
397
500
295
756
13
852
244
590
929
77
121
191
309
881
628
322
486
148
318
684
178
282
883
19
451
969
926
16
402
833
484
917
256
887
214
63
339
708
618
786
336
797
678
283
255
139
766
776
939
572
714
532
637
975
968
88
54
685
679
130
580
733
406
663
46
862
791
271
731
788
295
511
741
690
974
916
447
602
112
743
777
484
256
958
217
241
964
306
728
756
597
25
127
654
952
150
155
708
363
870
412
126
604
506
97
170
557
595
378
6
970
682
999
765
103
784
987
7
431
172
366
239
906
929
393
23
291
835
21
127
918
858
750
194
490
509
256
972
356
943
283
446
135
630
365
868
199
370
875
363
409
445
769
137
432
475
359
775
595
804
451
421
935
67
580
484
880
710
891
502
447
347
542
855
424
325
254
318
748
38
245
857
611
303
916
100
541
303
518
889
54
671
321
187
520
832
579
830
583
462
568
765
145
52
689
374
202
462
174
536
495
320
59
990
513
733
262
652
932
11
395
700
714
497
207
280
602
351
166
273
747
405
961
942
166
895
961
825
937
631
88
317
404
246
346
44
522
645
506
89
389
283
3
574
533
193
124
351
936
360
325
539
579
824
96
130
951
408
860
779
268
813
490
341
553
953
371
151
161
760
32
971
408
68
197
92
56
46
813
943
237
672
829
333
834
245
196
927
255
881
579
787
317
890
903
702
171
777
759
686
234
817
414
702
393
251
622
773
926
600
568
310
203
318
249
948
709
428
101
183
525
598
77
342
756
540
388
50
558
711
756
381
37
689
853
111
166
587
668
894
657
244
944
338
591
807
147
362
332
602
174
745
295
52
551
917
787
827
128
69
848
990
358
540
503
932
248
503
242
97
430
470
395
92
268
869
717
461
704
68
946
103
511
589
450
834
572
225
748
677
351
960
583
277
160
352
435
193
643
568
376
253
610
234
879
725
578
45
584
965
484
540
494
755
816
292
432
844
17
314
280
558
998
931
608
636
286
526
381
572
497
847
248
277
216
426
484
421
757
907
814
971
936
668
790
473
481
516
217
688
758
48
922
685
206
145
855
803
677
293
246
628
768
347
627
620
59
286
832
855
796
263
372
780
292
443
604
376
545
480
193
561
126
28
378
246
294
740
870
171
33
185
506
361
36
88
700
551
601
198
376
713
492
454
799
381
358
56
974
204
98
624
263
943
352
441
927
600
8
26
638
90
31
177
253
268
696
591
556
665
975
92
725
54
860
581
167
475
994
960
266
64
789
767
150
686
279
533
0
152
902
371
630
673
65
172
705
460
598
526
153
309
196
149
866
380
616
588
746
144
378
407
825
489
240
3
819
984
34
303
845
511
668
862
955
335
837
223
493
509
264
722
905
227
767
966
934
265
327
195
792
452
676
114
572
293
629
537
431
426
557
196
282
30
967
751
382
46
229
345
488
193
797
878
556
84
13
914
97
616
742
34
121
275
953
245
361
28
129
104
970
207
274
979
598
286
554
18
551
779
847
536
612
655
302
916
189
933
263
970
820
17
460
835
284
542
319
901
943
954
514
992
273
813
431
649
674
394
634
828
376
60
286
318
491
826
647
547
312
245
928
193
460
676
496
556
729
549
435
634
844
443
86
763
444
123
616
663
776
104
151
622
113
258
520
146
299
253
640
92
669
840
861
408
726
42
735
185
759
47
689
893
173
803
239
227
797
823
62
804
572
89
965
94
425
331
568
592
613
632
650
729
350
331
826
674
422
278
838
461
131
440
17
609
547
444
94
768
93
503
297
33
518
963
609
549
83
474
513
189
892
696
707
812
160
743
168
95
612
853
380
523
878
423
688
618
948
938
369
276
870
150
344
528
664
87
550
233
761
977
650
563
29
996
580
721
52
495
136
151
598
898
200
679
662
995
373
754
589
344
979
218
245
194
988
359
70
850
609
955
358
558
259
922
900
665
554
333
899
374
657
992
122
973
244
921
175
168
474
831
551
456
977
291
685
744
802
380
555
736
606
188
973
432
211
966
400
828
169
599
49
26
237
282
368
732
416
268
385
9
20
223
795
480
826
633
820
467
355
472
822
510
215
3
57
996
145
908
241
674
503
734
316
141
793
668
921
332
66
876
57
448
397
488
444
134
842
33
812
700
137
843
369
809
9
328
353
527
178
745
85
552
301
579
96
662
989
884
18
725
505
702
887
994
313
870
578
331
435
822
17
150
993
324
810
490
248
468
422
838
404
938
540
846
558
909
419
408
614
186
40
285
160
139
495
46
746
773
805
45
493
511
320
512
242
774
95
752
100
202
709
23
456
439
413
387
132
64
195
612
659
653
274
356
125
456
856
487
729
148
432
379
662
975
925
766
849
885
443
422
333
953
0
364
244
309
766
649
863
474
915
839
96
986
79
330
302
143
691
896
751
334
280
636
866
554
648
943
38
360
790
249
907
447
554
785
566
799
84
919
424
35
58
80
420
68
221
722
223
266
543
781
435
855
520
332
522
379
28
388
254
743
827
571
886
41
872
724
677
121
806
414
120
991
900
252
941
92
441
352
448
949
282
61
790
589
148
199
108
290
64
364
341
786
482
741
498
595
262
688
799
867
839
337
982
728
363
340
764
619
483
523
967
165
223
10
499
837
573
905
902
177
722
882
894
220
92
464
61
398
341
5
445
954
575
449
620
717
283
58
60
296
955
327
889
729
948
828
990
597
493
344
999
221
357
167
964
340
702
589
111
531
905
367
959
51
487
908
16
131
190
489
866
235
358
273
989
504
612
936
692
482
729
946
611
993
745
460
823
396
326
628
88
539
663
73
534
576
321
591
730
848
117
475
651
191
783
387
685
76
176
849
229
57
756
650
567
398
868
918
435
980
571
219
508
704
580
842
205
275
422
71
372
631
815
463
761
760
797
559
265
313
7
418
162
914
909
943
784
193
247
569
112
941
55
463
120
637
211
889
417
970
876
785
46
955
569
225
507
989
74
60
459
144
574
866
328
813
914
788
754
928
404
209
395
88
628
63
156
292
631
433
328
957
911
9
158
512
304
269
777
279
643
171
198
475
781
492
599
853
585
175
762
295
280
810
995
345
53
362
778
721
495
232
110
531
34
210
526
301
337
739
297
475
585
886
856
269
874
612
438
160
80
824
842
461
320
934
113
696
631
204
724
538
54
657
327
523
904
294
139
792
644
474
315
870
285
368
403
871
752
962
991
925
907
864
35
515
86
369
660
984
31
915
322
822
398
53
956
9
531
857
947
719
22
670
925
9
740
726
11
632
716
586
626
531
93
662
920
881
867
321
249
269
810
997
975
315
347
992
916
293
265
284
133
52
208
251
30
53
987
125
962
307
578
78
135
804
56
449
602
84
41
311
757
400
314
407
914
746
931
198
829
834
501
125
953
845
476
391
186
746
443
313
133
0
323
281
421
605
255
915
184
287
434
318
704
844
86
20
10
336
670
579
42
99
158
938
818
279
986
764
905
483
884
249
782
291
980
58
834
650
383
951
121
192
643
303
69
189
941
836
322
533
422
100
687
293
312
592
504
700
101
524
136
831
761
211
139
381
549
697
724
361
198
199
822
416
425
701
494
744
165
230
786
7
315
323
725
921
427
239
0
622
23
708
16
29
771
964
60
66
32
966
913
513
594
206
823
522
599
239
968
456
795
760
808
406
267
955
933
736
563
865
720
254
401
520
576
978
994
145
96
106
10
171
138
921
800
634
174
408
829
60
687
415
809
138
305
879
234
823
984
379
603
230
771
834
973
726
548
607
941
881
104
953
93
912
720
873
31
527
412
178
570
94
780
976
215
861
591
210
562
710
496
758
440
574
777
966
496
603
316
955
203
706
391
104
438
538
569
506
122
75
959
853
143
326
596
803
799
608
590
2
621
1
663
442
300
861
730
816
481
583
219
951
426
17
55
640
969
696
732
479
357
659
126
344
152
453
941
58
808
3
922
583
630
674
918
668
11
452
745
778
445
404
623
549
335
715
770
955
564
224
546
861
902
385
755
641
303
845
920
392
91
479
418
956
388
271
134
899
289
799
766
813
461
889
854
32
319
118
205
149
199
580
85
530
580
669
712
809
969
758
841
999
120
357
482
434
423
681
6
764
484
586
732
308
782
885
862
34
108
641
65
266
17
509
105
884
656
295
786
240
289
383
849
883
435
793
442
672
524
811
215
148
886
847
233
901
649
744
145
638
722
132
162
360
447
850
22
58
418
44
897
734
222
138
407
419
560
407
470
422
529
239
670
321
936
674
614
612
827
783
318
615
870
235
832
965
254
63
520
352
484
685
729
987
973
798
858
157
575
237
509
768
478
635
229
173
686
238
172
783
129
768
384
539
734
488
113
521
888
158
298
539
177
237
629
293
125
501
697
549
493
773
945
903
929
34
756
911
35
126
825
112
815
789
341
968
130
993
3
257
794
848
971
375
342
110
118
610
99
947
565
394
147
166
425
751
344
238
815
593
295
345
391
185
495
111
138
208
835
322
530
270
830
719
87
538
638
630
642
819
671
683
65
499
178
411
993
338
905
176
787
539
977
422
129
635
905
868
452
652
802
719
38
889
608
348
938
887
772
695
493
305
520
641
978
652
322
668
453
918
913
36
162
438
677
723
506
863
540
178
347
694
681
669
616
349
25
360
46
273
293
57
172
273
844
380
414
331
864
134
191
297
961
925
350
215
806
515
119
570
740
193
136
644
935
175
617
685
213
584
637
859
55
713
316
858
121
897
800
306
717
920
296
46
151
911
904
508
16
754
25
517
412
592
775
611
14
968
205
236
136
339
419
391
878
669
744
504
493
665
797
316
47
797
161
902
368
865
308
526
114
459
993
268
117
625
456
490
828
989
335
857
222
67
943
130
137
573
69
806
152
196
33
252
644
309
165
459
870
874
636
731
931
21
361
815
306
67
34
174
206
219
208
607
651
263
307
846
848
645
553
315
250
772
716
815
234
167
444
802
744
156
562
589
92
491
784
623
227
548
388
569
116
934
376
681
986
278
380
998
250
163
267
515
181
339
510
251
267
399
981
424
709
65
767
974
131
115
2
723
972
544
557
291
400
848
30
192
835
736
722
262
789
459
879
375
822
248
2
267
816
727
318
542
234
7
604
177
137
267
798
287
915
273
346
679
569
189
974
232
567
388
673
625
433
42
779
653
465
383
512
344
381
266
424
343
283
89
931
371
418
715
720
369
682
784
268
312
162
266
265
83
53
649
811
310
588
554
190
703
337
92
316
699
776
307
424
584
833
594
920
589
743
767
152
895
638
560
69
607
881
303
723
845
443
146
4
763
144
287
245
269
777
886
626
150
630
872
250
23
116
121
15
647
482
137
279
181
6
720
147
204
743
163
711
563
557
878
786
306
476
458
740
552
168
396
599
318
512
377
918
26
471
297
290
284
264
708
269
947
717
710
831
88
727
509
15
858
83
570
758
840
231
285
285
625
501
30
547
588
709
170
123
249
418
754
667
187
753
499
985
150
347
96
881
163
356
830
667
135
397
469
747
934
293
879
243
970
218
54
752
332
676
270
747
105
819
578
352
348
440
629
843
923
689
239
804
922
758
375
744
416
147
125
818
411
958
838
132
213
662
539
825
970
390
319
928
987
139
132
24
442
184
200
181
641
787
597
148
48
580
366
849
837
295
869
23
617
734
869
789
760
201
688
123
775
397
322
768
99
15
696
430
595
179
603
921
522
566
894
855
560
690
518
320
355
243
205
484
96
431
397
717
946
722
963
989
871
397
990
249
180
892
739
53
724
247
770
662
662
497
702
903
175
240
255
395
266
938
498
260
198
918
164
302
532
47
301
168
887
84
364
410
271
101
315
287
400
82
317
178
605
688
451
119
854
922
812
89
312
885
251
630
860
662
230
366
390
889
749
814
597
786
166
950
797
967
842
360
430
588
190
558
55
818
467
983
313
59
628
933
511
720
864
369
380
117
641
208
27
745
700
579
992
18
830
891
124
440
367
665
595
549
473
418
134
323
768
891
181
662
758
330
836
86
319
426
0
134
630
192
391
142
164
762
245
945
173
196
424
158
73
932
219
545
730
342
874
785
923
560
138
365
841
534
989
468
515
41
183
43
85
643
307
138
772
751
368
651
37
920
614
996
844
631
945
209
674
770
330
962
880
669
353
993
607
948
481
993
278
828
460
574
192
881
796
254
2
717
978
283
487
116
426
713
154
716
862
703
473
354
350
253
923
938
185
807
889
689
526
720
56
466
308
480
102
38
477
92
86
969
977
135
359
892
813
370
910
653
629
183
419
454
648
430
121
579
60
654
215
635
246
565
738
984
940
860
677
531
119
361
120
702
290
887
676
642
15
936
662
221
16
341
651
368
393
694
218
232
918
231
603
375
377
155
629
818
344
356
773
673
694
581
329
895
585
196
900
621
450
348
98
393
70
693
186
576
499
388
871
16
309
112
290
637
825
541
677
713
156
422
167
583
150
75
547
439
895
971
643
210
936
411
158
212
7
431
918
594
630
515
13
645
490
857
120
253
821
384
669
358
517
110
535
67
288
766
929
848
793
83
415
441
343
280
481
438
954
133
786
576
851
596
4
410
844
471
518
320
871
499
122
833
408
532
746
567
25
368
43
716
149
975
187
938
878
760
469
68
453
605
529
938
119
640
913
91
236
502
579
661
2
876
86
25
704
732
779
711
784
887
543
960
248
806
337
218
755
358
354
286
772
197
683
352
310
689
372
451
396
237
391
311
373
121
598
248
776
635
586
923
615
841
254
457
975
802
299
711
661
281
114
740
527
410
924
449
160
303
501
463
981
668
56
180
731
998
740
307
58
225
183
614
17
578
597
633
35
97
605
318
990
685
446
548
681
458
302
480
796
169
89
500
662
20
607
472
581
629
108
985
767
364
743
152
702
40
262
597
167
119
496
550
437
669
721
443
805
515
941
35
562
459
730
182
811
909
891
739
341
764
35
304
521
100
212
64
431
250
917
261
914
336
247
851
6
607
469
289
889
535
890
914
995
905
403
25
188
108
489
903
288
287
82
253
574
268
908
893
443
202
95
290
248
133
899
183
261
601
926
586
433
691
811
683
903
84
327
863
247
992
936
990
486
220
69
221
804
259
148
283
254
102
625
370
524
810
461
302
900
114
297
929
865
257
40
9
850
107
565
239
523
274
294
554
752
803
263
94
772
573
639
226
484
116
465
483
457
887
690
270
605
854
896
206
948
791
969
591
951
651
304
941
580
198
830
778
470
378
990
230
159
858
676
694
266
880
774
344
960
659
404
304
892
255
452
654
603
146
521
374
311
208
881
491
671
624
424
89
775
82
857
492
532
531
646
864
686
539
147
449
17
115
757
641
662
355
273
28
317
230
937
353
695
181
96
518
599
634
195
837
609
274
553
529
370
320
599
743
327
48
492
763
642
465
427
908
925
445
590
989
602
715
334
916
714
43
512
867
552
440
460
543
835
304
95
231
418
727
298
708
379
779
578
661
741
53
626
711
17
330
882
242
529
56
464
800
818
643
944
831
167
60
712
567
486
459
118
427
812
918
934
131
977
227
468
110
922
897
949
872
43
229
365
122
227
895
474
170
139
267
12
878
633
227
124
366
13
739
115
121
633
482
409
160
974
666
895
553
442
362
613
834
905
920
906
238
214
252
928
132
300
363
163
942
522
161
933
7
748
496
506
404
74
640
377
267
405
638
464
526
305
311
768
272
895
377
684
592
815
759
986
942
491
636
964
69
60
1
19
349
332
748
947
651
415
624
635
581
9
702
931
438
792
422
230
477
361
766
360
520
339
796
506
184
124
271
703
701
776
26
239
745
99
260
210
728
787
891
262
491
446
485
778
715
319
975
702
225
865
826
436
661
821
658
950
852
967
509
749
922
286
660
651
589
939
736
819
25
760
589
982
661
841
232
77
734
160
563
845
99
842
437
858
888
509
335
617
230
533
725
776
227
4
111
982
471
273
15
505
145
494
263
578
857
700
852
82
219
327
837
119
955
466
918
92
988
723
464
729
797
208
604
322
781
742
797
221
607
199
223
896
231
399
932
972
934
746
981
949
547
339
514
505
210
779
788
853
23
757
556
979
121
673
706
160
550
297
829
73
522
736
539
469
839
934
915
529
406
225
212
593
458
156
880
453
491
116
66
2
890
234
39
488
533
580
182
985
632
382
496
875
691
831
41
284
46
564
774
294
690
738
814
160
155
761
646
739
616
695
360
179
492
859
572
524
38
753
664
651
122
497
874
435
434
284
555
438
648
74
489
124
562
875
880
310
932
33
416
76
421
321
792
85
348
238
895
447
781
581
117
712
2
456
319
161
839
492
594
879
391
690
787
670
317
764
9
249
168
432
341
484
935
267
311
750
654
336
272
2
538
509
686
358
487
691
121
603
714
662
807
795
617
996
87
254
520
257
708
579
998
520
87
908
694
28
731
583
887
210
794
730
177
750
377
694
297
534
529
652
153
393
902
29
174
565
665
944
893
760
593
602
797
437
451
892
589
605
685
775
159
795
785
996
427
310
364
373
623
387
570
993
150
733
443
315
860
829
416
551
213
432
27
152
468
628
466
137
996
779
283
172
737
236
621
117
212
292
830
140
723
633
36
112
731
311
357
413
424
162
519
825
471
43
332
968
61
155
577
305
685
424
580
480
750
660
411
230
159
962
660
195
870
598
319
623
808
632
242
416
585
260
128
678
634
500
354
548
242
708
696
191
905
689
587
74
231
164
307
898
515
213
412
924
417
947
332
242
783
760
114
977
117
595
530
584
378
383
891
206
125
710
183
115
717
898
435
210
847
634
742
242
843
149
841
116
833
900
56
877
557
747
785
451
909
146
265
559
958
483
489
814
55
109
362
371
103
559
667
775
375
830
787
992
898
40
619
259
985
492
252
100
777
675
265
735
324
331
57
264
998
521
420
932
190
926
128
963
987
184
229
294
487
162
248
295
817
865
869
700
305
452
436
918
851
738
701
483
132
680
526
53
720
233
432
289
849
971
799
552
214
45
168
930
847
704
369
918
898
749
910
68
550
778
223
548
476
176
306
124
368
564
621
384
963
663
719
102
184
934
83
946
361
365
703
683
500
533
473
16
957
47
874
72
842
68
746
595
985
492
246
388
652
435
207
209
763
988
434
689
382
813
709
776
820
114
559
171
929
962
537
190
577
778
814
541
695
877
289
12
383
763
619
320
802
225
590
553
466
465
35
640
242
989
881
572
225
762
71
210
716
638
556
822
618
696
64
710
54
104
710
409
277
856
150
227
489
798
693
353
779
508
93
172
313
112
941
853
429
395
85
733
81
392
313
158
812
27
295
103
2
937
736
893
324
659
808
408
777
143
203
273
790
193
801
878
238
430
758
71
5
168
691
370
894
799
139
836
992
190
803
508
752
266
106
742
167
354
69
448
593
545
725
437
931
991
373
231
910
762
123
482
766
893
76
326
471
153
873
93
789
396
691
486
852
9
915
606
936
946
571
620
24
635
461
788
164
349
798
218
495
836
832
349
47
425
152
849
760
404
232
665
327
385
140
920
825
152
591
644
513
232
276
124
698
712
149
265
481
158
935
633
295
454
87
926
224
49
168
482
528
694
96
539
193
783
664
652
649
342
358
233
685
562
32
827
248
685
177
642
451
11
902
168
929
731
511
543
204
386
500
130
573
866
79
961
605
221
512
867
674
336
849
442
712
687
397
669
997
2
561
630
942
651
646
54
36
905
421
679
48
792
517
919
272
393
109
527
272
804
302
567
918
973
911
54
618
66
870
728
701
47
388
473
500
294
225
691
506
420
590
935
173
582
599
764
429
396
721
873
641
621
361
36
90
438
20
484
896
263
819
633
85
66
397
448
948
19
733
482
111
106
897
102
76
717
874
873
269
762
603
425
191
842
5
479
751
383
732
712
287
230
33
957
402
661
640
585
83
683
835
769
610
104
201
369
847
226
478
94
411
31
912
591
943
749
692
698
273
207
527
980
905
735
475
203
783
990
386
877
709
781
389
740
433
448
515
613
230
932
616
327
470
477
59
752
402
427
990
282
330
722
342
429
474
810
855
156
142
379
241
455
556
775
693
41
300
358
212
930
932
0
29
685
666
331
726
544
516
927
156
146
330
605
276
88
817
767
324
412
605
532
414
135
685
920
706
704
26
884
95
370
80
229
167
334
127
289
804
293
627
757
601
760
435
474
742
327
804
400
151
748
651
739
781
846
207
415
217
409
502
717
809
801
844
677
245
90
613
128
965
170
1
282
658
618
630
824
469
557
997
440
861
761
174
3
512
141
79
95
387
817
763
46
734
549
370
472
203
833
699
0
401
19
875
17
133
779
255
908
708
258
209
44
625
434
416
783
836
921
593
947
182
559
8
905
802
162
624
26
772
905
478
273
394
669
660
380
376
528
52
32
558
416
844
416
494
947
195
531
146
554
614
210
400
155
598
731
991
357
234
126
40
453
554
569
483
551
15
973
227
629
482
304
23
81
61
858
885
704
374
111
82
748
737
878
406
369
26
820
572
472
286
114
656
317
86
803
580
653
904
110
550
647
429
765
966
767
370
80
968
955
917
940
628
609
684
767
308
819
255
520
13
256
75
395
847
821
407
592
897
548
668
77
887
726
668
286
646
733
487
638
311
50
694
197
766
282
722
532
386
52
818
673
438
553
259
628
602
490
41
204
721
520
115
310
536
992
616
833
36
354
555
539
606
177
433
282
146
564
73
91
840
459
558
427
121
809
533
21
717
446
978
357
297
4
114
430
382
527
211
242
460
291
128
698
962
270
129
565
299
803
173
96
317
214
319
225
327
193
374
297
723
149
672
736
806
753
603
126
386
909
549
363
461
853
91
404
525
352
497
355
320
635
841
792
241
60
75
119
969
536
991
897
975
105
550
719
507
587
436
567
601
994
267
764
750
743
573
861
433
914
471
182
919
362
389
362
777
570
403
151
76
131
945
890
37
404
231
166
697
839
206
790
896
633
179
535
98
412
101
708
592
47
287
569
37
502
118
912
407
490
989
253
623
631
929
835
258
735
516
364
493
566
637
323
996
420
596
174
749
500
249
0
485
325
235
816
724
19
599
464
5
457
966
695
584
904
335
314
409
644
59
434
147
487
409
976
58
413
636
454
806
88
260
954
899
451
621
31
135
439
668
664
608
383
474
700
596
667
114
224
768
610
860
218
152
899
733
701
5
190
157
627
33
29
320
286
384
31
217
771
472
562
688
969
880
416
602
529
69
159
574
713
525
44
725
33
389
978
632
452
785
608
240
829
526
977
867
974
651
245
971
597
664
882
642
775
676
86
943
673
446
345
982
99
888
321
655
453
670
94
816
327
818
201
704
893
841
697
240
761
557
574
231
604
465
237
10
980
518
982
315
786
431
943
280
83
827
482
907
733
3
724
396
132
32
736
788
435
990
355
275
931
883
585
23
55
691
420
929
481
764
94
1
805
552
178
581
439
127
622
797
139
134
734
444
511
367
82
630
282
363
4
682
307
822
824
839
248
792
402
389
827
878
68
544
827
849
131
333
777
533
966
693
562
265
720
303
197
824
463
562
523
380
721
476
712
828
99
940
586
605
546
3
243
430
746
693
13
498
244
368
88
92
236
135
651
365
2
678
942
18
650
819
256
730
594
55
809
717
66
915
283
651
808
377
758
674
156
743
455
223
588
745
658
403
197
973
803
95
518
977
705
796
842
564
512
702
494
512
16
54
161
663
42
243
752
39
878
138
763
534
543
388
340
152
372
59
644
367
900
647
121
412
638
391
521
749
371
208
179
60
804
737
938
811
615
36
768
742
554
474
5
498
835
904
540
752
727
18
979
537
747
732
4
92
805
579
295
999
857
59
360
830
929
433
114
642
857
859
933
335
128
297
184
173
369
391
11
667
470
126
931
730
116
981
843
446
596
655
636
655
126
767
677
112
482
947
314
67
339
338
19
663
774
924
581
155
222
724
208
321
216
305
867
38
558
283
754
650
942
449
389
783
426
934
535
770
201
91
97
590
700
911
488
252
850
158
334
848
63
36
845
446
762
229
815
379
191
674
701
812
699
641
490
489
67
930
816
815
672
86
191
189
686
406
342
772
454
521
431
95
957
515
644
815
227
62
237
593
516
455
374
44
637
490
716
428
434
778
865
771
217
178
300
222
258
352
744
409
359
26
468
195
87
41
777
459
854
405
623
208
771
800
52
78
595
832
924
511
579
501
435
413
830
883
101
126
348
621
999
322
923
292
182
382
216
451
874
789
76
24
219
112
577
950
468
135
852
379
140
955
987
328
764
793
442
742
716
610
356
787
570
133
510
82
586
837
422
799
764
583
222
573
388
721
535
151
74
534
571
657
778
816
664
664
232
155
643
280
610
138
65
351
702
488
807
918
521
341
485
563
375
881
395
779
842
315
442
355
745
178
943
803
915
63
709
385
345
46
828
737
974
145
74
915
764
410
288
587
415
589
706
164
911
44
901
940
658
608
83
738
972
710
876
188
942
961
564
633
42
469
695
262
516
715
830
634
39
16
965
379
246
125
407
885
678
519
444
261
144
873
654
771
93
715
354
381
910
892
364
645
222
182
577
920
123
542
943
881
459
465
592
640
791
62
502
816
439
751
221
572
433
189
616
228
255
758
987
667
808
481
486
975
190
324
725
680
506
4
804
357
320
315
21
395
517
341
263
328
434
707
448
324
28
253
629
205
875
896
985
9
56
239
488
773
65
357
895
644
196
458
673
733
197
733
773
181
299
715
24
124
327
531
185
836
500
935
104
80
604
756
4
150
57
674
729
459
54
332
900
314
894
905
435
988
936
349
415
32
750
128
304
81
618
435
602
389
795
487
67
761
855
376
852
663
53
951
611
394
353
692
54
944
103
699
908
6
458
641
177
695
513
691
687
585
126
385
511
750
700
299
901
651
972
693
824
229
328
760
390
91
478
715
717
175
727
873
516
847
956
168
997
690
364
702
146
825
289
365
401
474
52
108
167
208
244
571
122
950
906
586
575
720
235
423
422
970
696
272
452
76
130
316
635
300
125
623
568
496
337
518
994
538
141
912
551
646
565
982
442
878
302
27
431
330
317
902
473
891
136
388
829
390
148
689
91
733
591
447
380
981
697
94
850
898
877
188
130
0
688
828
936
477
874
613
938
95
544
649
483
541
465
518
700
216
660
182
709
499
597
643
253
760
274
366
795
299
777
997
45
195
720
682
551
196
93
70
261
264
548
575
603
291
316
772
692
964
455
71
752
833
376
847
986
12
335
77
317
93
211
644
831
372
561
496
626
542
153
181
541
288
120
354
936
728
355
73
249
638
195
236
325
793
334
733
874
375
376
136
302
622
405
391
340
880
258
372
746
568
673
892
919
163
650
646
942
141
350
615
922
243
814
304
674
63
587
258
922
310
214
504
992
699
120
945
15
317
469
963
569
905
931
379
804
196
945
675
297
629
949
243
661
289
970
75
187
661
92
50
656
911
723
883
25
827
85
247
7
563
635
695
243
590
216
484
340
535
274
24
240
835
806
750
814
7
386
388
594
359
839
346
835
950
872
655
839
134
147
630
271
783
724
975
822
792
566
554
369
711
671
88
473
501
55
697
865
584
445
486
375
14
857
874
204
762
740
936
678
606
282
345
486
20
400
271
908
734
601
672
947
263
332
262
544
837
341
718
971
692
691
978
335
753
971
952
301
766
836
175
101
325
484
555
673
503
502
996
392
585
967
612
354
218
747
287
476
160
947
691
482
40
991
962
711
190
22
729
558
298
439
763
526
332
485
984
991
339
801
810
466
106
551
877
658
841
604
461
352
278
254
238
132
172
268
547
6
399
497
609
130
951
972
638
533
573
22
287
8
431
262
723
807
108
91
982
227
380
504
307
264
747
587
432
77
210
914
292
341
417
940
709
995
949
614
765
233
398
695
801
100
544
757
928
235
248
458
209
968
191
380
274
891
969
244
936
642
351
454
933
533
378
380
832
164
262
655
170
121
773
296
250
344
685
799
195
870
19
531
466
733
646
385
457
245
317
799
249
89
551
258
55
540
977
127
328
771
230
460
942
978
833
346
942
660
696
604
43
595
11
998
771
272
610
727
819
493
657
372
337
863
190
433
529
984
498
242
364
607
55
138
128
751
213
385
90
503
602
77
377
59
987
402
152
808
513
267
648
303
235
790
691
49
756
820
240
42
686
227
995
754
696
465
429
392
678
235
326
98
572
523
649
414
98
768
269
721
738
786
404
563
367
509
716
144
231
953
965
370
835
657
737
96
684
764
866
652
121
51
465
870
719
545
432
693
603
53
639
883
686
235
17
550
38
93
199
279
684
452
383
652
802
73
662
362
116
35
583
123
456
553
104
810
647
889
420
739
973
458
897
554
526
84
682
934
518
484
398
967
959
754
966
156
639
698
214
707
587
209
845
314
964
394
370
292
405
760
297
527
549
522
857
827
240
110
236
968
729
858
849
134
134
861
945
554
183
929
330
347
187
238
407
600
372
773
448
889
183
953
729
108
78
662
778
544
94
411
868
44
45
956
790
459
218
510
192
204
276
979
405
761
868
121
148
128
995
486
302
408
269
502
18
372
711
756
293
918
62
186
997
386
559
291
610
617
864
312
488
346
183
155
524
528
911
182
486
203
107
185
338
249
842
756
325
59
844
237
573
54
866
806
563
946
422
972
112
339
882
112
711
363
567
808
381
246
781
455
771
572
654
522
374
604
484
233
468
18
615
530
899
8
839
692
26
8
356
423
676
898
74
479
611
14
229
528
360
478
804
189
142
400
477
652
300
501
346
322
414
844
357
76
506
817
918
45
731
647
101
452
477
593
303
860
427
525
443
291
287
568
755
486
132
15
486
881
758
362
708
650
38
870
405
552
249
91
38
704
766
383
819
359
437
919
366
993
370
771
504
210
903
717
682
965
50
193
299
520
488
931
17
973
619
944
737
910
897
619
524
86
105
230
822
915
966
326
646
45
510
366
529
158
695
48
776
443
50
171
353
404
443
812
913
384
81
959
55
184
775
140
673
905
491
102
313
232
324
429
941
957
78
427
861
28
826
169
123
940
756
985
864
519
510
856
131
607
678
869
431
194
934
130
398
720
934
413
157
288
418
456
177
317
602
519
435
496
585
336
964
464
49
373
788
154
49
661
878
933
949
435
949
775
865
771
371
919
315
480
284
379
402
170
17
707
470
778
489
204
570
864
784
345
620
232
775
823
760
55
43
119
391
345
942
13
840
990
844
93
264
346
843
991
385
858
278
698
816
505
26
248
189
770
973
322
162
171
715
243
182
138
125
806
529
473
43
434
215
899
877
471
730
731
842
459
273
715
822
525
92
942
753
973
769
69
867
600
949
897
953
701
200
323
457
560
3
858
565
702
908
638
624
70
487
830
414
548
600
902
656
745
113
420
167
533
480
453
138
921
355
945
581
59
80
127
189
7
346
354
881
226
452
944
311
162
401
810
996
253
975
563
755
11
253
409
983
582
154
364
289
428
309
935
391
199
422
689
60
737
343
22
837
83
499
625
725
332
901
640
701
931
87
324
408
398
797
224
633
985
527
401
451
933
677
391
610
785
583
279
317
634
775
794
18
307
931
595
378
919
40
483
414
899
418
552
341
670
34
661
607
217
595
663
354
210
705
639
735
373
351
807
926
178
834
451
921
798
201
857
733
523
153
16
512
673
73
758
941
624
250
92
201
56
392
656
183
299
631
249
327
857
436
632
789
881
38
504
458
718
854
220
934
371
954
725
618
946
274
884
735
471
706
48
688
8
407
82
290
589
238
286
57
705
242
596
347
400
374
650
276
715
650
644
319
459
413
566
444
24
385
993
302
43
777
384
132
848
566
97
936
163
795
811
403
172
908
397
972
258
767
613
513
214
800
762
957
184
163
970
625
954
966
779
568
458
978
551
942
664
102
209
251
177
732
442
212
143
629
865
409
295
995
933
983
893
228
383
414
542
663
341
229
111
574
964
637
600
898
784
299
788
958
202
837
935
335
4
812
316
956
364
558
531
59
947
523
733
341
893
655
502
200
737
510
682
670
542
483
810
467
11
736
220
60
673
605
506
668
715
80
952
261
254
663
608
562
821
756
286
888
96
13
382
964
708
948
466
308
522
378
265
869
992
19
184
740
656
893
279
292
297
867
975
604
529
410
387
558
661
506
513
503
53
27
817
158
911
586
902
826
902
931
628
175
421
544
638
71
49
386
532
721
699
159
977
480
192
921
341
523
980
33
435
102
816
460
265
229
81
614
974
840
553
20
308
919
870
259
743
694
539
612
913
568
460
614
295
489
599
131
956
949
150
981
888
999
491
793
137
389
131
522
528
254
624
32
381
741
461
501
466
797
722
393
605
73
73
858
316
526
400
301
501
250
732
893
345
359
665
836
38
912
913
393
671
383
213
548
238
395
491
403
520
533
555
341
552
23
869
938
633
842
771
159
211
444
979
39
121
719
284
330
806
697
825
601
213
671
441
807
493
514
17
690
610
134
647
32
240
889
93
210
297
294
235
204
339
705
6
779
261
719
801
892
733
326
262
855
354
225
911
23
64
359
297
823
280
456
430
915
800
888
478
404
291
807
812
813
866
741
217
798
966
611
590
553
5
83
691
835
226
477
216
114
976
826
881
849
159
969
645
441
797
352
699
582
907
643
305
732
779
689
353
623
766
869
872
437
878
653
107
246
64
857
506
287
200
27
782
307
681
464
253
876
457
453
935
10
208
72
528
944
487
805
12
328
602
230
890
944
338
921
238
259
64
586
897
632
453
261
290
0
662
539
891
308
954
326
408
508
726
644
964
191
741
87
897
894
85
763
691
279
867
382
925
983
588
456
805
568
372
987
142
187
206
672
201
435
586
54
131
427
226
897
828
632
843
920
244
683
762
726
552
615
381
516
792
209
251
719
599
31
30
782
669
776
203
447
230
232
763
866
770
316
634
272
139
903
382
775
362
321
823
800
172
284
933
94
630
978
192
704
704
944
750
672
186
702
313
600
507
815
853
558
345
350
524
573
491
449
13
81
520
27
924
117
429
360
450
311
128
770
964
966
305
260
194
907
246
293
397
428
717
649
930
724
376
681
290
272
421
563
242
441
431
669
623
73
759
901
751
378
305
992
703
884
143
745
987
86
547
729
326
931
441
248
77
484
647
549
132
709
628
870
708
935
775
102
291
290
689
569
486
353
338
389
1
190
325
525
697
984
386
749
281
255
294
541
81
730
952
916
730
135
805
363
786
971
840
466
839
479
944
910
328
542
39
698
292
253
627
456
996
83
619
673
928
217
744
459
990
775
291
192
926
41
613
398
61
3
581
66
302
129
836
511
455
393
238
128
557
873
943
246
596
164
21
856
508
486
626
649
750
293
585
133
381
995
694
402
54
93
413
584
911
913
355
17
153
14
349
776
418
844
201
115
13
63
188
825
242
783
527
693
226
41
580
412
763
630
68
70
429
101
941
647
97
923
182
973
591
886
889
904
406
448
202
326
618
85
476
644
168
964
746
462
843
499
785
291
932
960
908
61
453
246
495
736
49
474
82
692
932
428
909
224
533
839
196
810
947
581
499
527
977
538
880
264
125
544
599
678
83
206
759
382
383
758
941
837
409
424
540
655
883
508
604
415
396
276
828
51
78
607
22
685
353
719
321
306
219
779
545
355
158
10
475
404
900
154
827
780
547
629
381
749
655
526
748
888
167
939
554
551
138
327
256
348
362
64
881
36
245
656
698
478
991
666
99
94
984
723
892
14
181
65
223
877
870
655
148
490
663
17
563
940
646
555
255
235
518
964
121
832
927
278
843
606
705
7
648
703
887
93
104
960
398
808
744
782
485
692
379
794
868
965
728
919
294
74
159
529
923
790
835
784
191
781
153
358
273
847
713
177
960
386
307
792
319
630
264
778
595
626
257
595
133
411
858
656
144
418
615
715
807
177
522
435
427
217
44
167
829
380
83
206
420
164
452
715
102
770
244
146
624
809
985
208
536
193
671
855
416
860
371
466
957
437
53
199
376
749
178
254
588
392
743
982
128
851
697
471
642
665
356
314
88
359
455
136
466
727
921
808
604
872
549
527
268
801
933
213
446
946
939
435
214
713
173
581
216
677
893
148
843
179
810
620
236
370
858
995
596
631
851
400
847
886
163
25
461
686
239
778
244
892
224
553
781
430
391
374
592
508
400
575
77
594
307
996
115
983
601
32
293
89
948
675
19
994
129
885
68
50
643
374
233
181
902
349
114
163
515
673
446
31
544
364
262
256
118
429
251
811
168
845
986
912
207
946
530
127
369
141
204
63
248
526
923
864
73
205
158
387
854
738
498
111
439
182
710
244
33
34
398
116
185
954
638
230
270
617
929
279
509
117
286
625
267
863
966
593
169
674
320
38
59
239
268
67
714
762
763
436
637
190
500
586
89
794
656
637
888
687
181
671
664
53
497
37
932
405
687
689
614
825
685
733
667
500
578
497
789
467
536
476
690
637
885
81
569
303
17
545
287
326
757
821
96
254
638
904
781
665
447
782
120
81
678
14
385
698
824
589
319
977
308
123
603
708
677
625
231
118
195
892
801
377
474
410
125
728
649
974
774
642
658
914
861
616
587
472
428
52
953
548
916
616
111
181
22
126
637
617
391
601
644
697
592
95
994
576
946
330
575
148
275
22
938
140
345
476
798
603
676
681
280
121
598
329
740
355
903
894
833
153
456
749
803
338
173
255
679
369
369
423
510
686
926
491
111
455
490
538
172
700
564
532
261
416
240
591
240
470
214
67
226
591
445
286
308
868
332
609
685
730
687
264
936
928
132
605
517
461
102
656
100
929
778
919
891
100
899
691
502
295
141
694
483
777
379
825
550
20
892
183
313
249
80
936
167
849
255
381
618
520
458
180
693
879
676
394
598
857
149
503
494
264
167
43
607
502
625
664
430
615
781
792
418
916
535
455
157
131
704
481
233
344
752
503
218
253
843
766
981
577
397
229
308
473
92
300
904
777
578
6
784
818
715
57
106
949
58
209
741
58
446
417
805
428
425
996
236
437
949
21
666
353
706
831
104
8
393
312
428
463
35
479
987
786
740
62
347
858
345
805
971
822
859
644
222
355
141
118
866
713
778
331
317
646
178
429
636
732
703
324
29
654
507
280
457
741
150
150
9
345
187
144
588
8
898
849
874
501
918
465
389
139
886
353
352
516
132
150
142
813
494
669
59
771
653
250
905
176
593
2
972
789
50
477
98
220
369
8
826
59
33
193
332
284
983
499
903
428
360
530
177
683
406
497
762
606
919
194
574
486
602
127
242
455
891
550
681
878
893
760
528
197
919
554
360
8
803
323
831
494
313
925
233
832
110
364
298
972
603
941
366
789
390
962
26
569
7
127
200
912
754
104
725
595
321
998
830
61
324
507
228
608
39
981
828
695
392
387
717
692
476
785
239
215
902
657
192
118
142
130
975
432
129
995
16
726
754
740
525
774
138
349
479
214
459
223
620
130
413
265
930
559
309
503
589
539
702
999
236
964
72
131
227
351
324
988
164
890
88
817
600
841
720
726
17
684
274
897
226
455
884
311
351
136
82
826
530
510
748
964
992
31
985
828
378
800
733
441
894
559
601
883
41
933
283
523
810
882
905
444
900
446
323
449
166
800
857
644
189
130
221
740
467
178
447
793
923
342
499
209
435
669
509
415
313
234
242
123
932
994
465
122
984
144
724
909
617
103
385
11
156
497
433
810
687
595
31
335
212
527
44
267
156
239
637
31
764
646
536
137
623
299
866
708
968
277
633
284
124
724
995
515
160
325
829
738
149
111
935
448
613
33
883
720
616
831
65
966
983
997
346
138
208
707
940
185
863
243
413
62
235
656
143
277
643
743
917
394
875
366
16
819
783
298
578
491
82
390
824
672
193
777
397
380
510
64
736
587
469
969
124
986
468
500
343
895
551
426
334
262
995
535
515
710
281
999
414
184
71
626
747
923
744
62
602
426
188
374
602
995
956
113
752
478
236
349
128
648
585
619
46
73
918
773
409
980
34
954
944
591
854
592
136
963
890
450
523
750
549
453
135
196
667
911
176
895
278
60
819
188
741
709
495
310
847
304
266
50
225
345
153
388
90
191
868
922
221
671
708
15
274
501
815
615
965
234
641
664
344
722
541
429
324
765
930
815
298
500
856
114
116
115
127
710
34
468
235
922
201
996
722
255
394
779
764
809
755
881
750
672
423
257
390
218
817
839
995
675
288
578
977
582
421
225
844
395
33
282
383
318
132
380
937
792
394
887
85
811
613
37
193
853
804
351
397
630
482
996
746
917
849
984
765
221
159
16
428
394
610
199
229
300
573
423
671
832
189
988
62
63
246
291
472
482
566
793
458
750
793
343
11
393
788
71
358
122
332
545
336
370
956
296
144
81
317
408
348
178
306
395
906
701
571
50
39
267
531
235
886
14
356
584
802
629
801
83
570
986
877
719
229
806
478
284
990
308
953
282
473
859
466
390
368
93
857
873
670
181
901
200
377
722
933
847
415
922
320
786
516
827
783
732
998
373
526
76
236
337
85
615
106
494
483
709
629
77
943
658
102
899
414
485
68
309
191
357
883
950
876
955
167
173
884
99
410
595
469
971
522
468
591
962
935
932
896
372
313
613
847
888
291
16
582
731
184
271
12
143
595
297
763
771
799
105
770
145
364
45
595
362
785
284
801
918
99
815
186
518
452
322
448
440
511
913
36
974
562
362
320
416
642
11
27
653
85
50
897
420
25
97
310
121
456
198
501
48
48
427
768
173
307
479
644
540
611
879
975
532
622
645
877
982
328
138
347
6
702
874
272
112
291
863
788
308
868
677
522
317
671
486
678
402
217
343
593
286
803
256
619
775
922
82
81
490
393
452
555
509
688
807
997
331
586
189
346
80
913
485
958
973
82
91
149
375
268
989
748
136
183
408
620
307
773
922
563
296
568
140
375
885
708
32
565
972
753
877
292
342
276
728
853
153
98
285
169
4
72
832
90
605
858
159
475
245
773
251
81
513
837
429
113
953
742
951
621
287
25
627
644
757
34
87
400
991
438
404
819
490
487
614
777
297
914
450
27
988
764
907
496
984
113
48
962
87
595
13
438
239
267
354
58
36
842
710
204
911
969
815
188
963
11
851
940
359
942
476
7
228
94
771
882
657
818
261
150
332
718
3
444
482
689
700
296
294
985
140
651
467
399
816
107
5
248
212
128
604
756
501
392
305
100
418
653
825
380
22
319
220
131
720
532
761
987
548
523
11
868
545
758
879
192
940
143
546
949
908
998
634
814
606
806
522
1
670
903
546
313
956
321
489
15
140
829
735
883
975
714
830
964
15
804
324
689
597
921
729
360
13
217
510
832
390
652
581
724
800
858
6
465
608
473
550
72
5
688
856
568
963
493
229
616
740
153
777
580
330
950
52
37
874
644
354
864
527
549
577
465
539
819
13
482
589
704
527
482
550
831
558
836
937
263
364
116
182
284
260
352
254
777
146
134
168
862
273
509
604
410
85
272
25
919
762
858
852
351
207
130
460
684
625
334
369
811
41
794
717
253
935
905
240
263
539
312
341
203
645
663
794
694
418
945
325
272
270
469
201
951
259
866
759
706
259
7
93
925
344
419
77
310
326
802
618
27
414
2
101
408
620
441
694
930
117
450
352
635
846
407
82
381
280
320
905
909
95
756
976
395
829
842
344
512
311
817
655
349
133
572
575
249
292
395
86
824
107
929
239
587
378
44
574
501
84
114
151
616
15
320
947
595
768
269
652
393
39
213
653
982
512
48
812
379
503
737
513
479
362
995
423
531
469
493
807
664
191
517
689
782
157
674
934
583
349
466
512
809
900
181
452
934
923
417
807
854
603
863
49
466
553
695
403
123
422
599
189
154
756
594
442
717
621
789
80
630
610
62
526
124
774
412
840
297
231
977
564
726
46
389
918
613
18
59
453
64
576
497
968
96
565
755
569
489
385
759
617
635
254
168
858
633
334
287
146
428
983
104
546
526
842
55
413
684
708
859
771
813
638
346
731
627
32
648
898
972
568
653
649
790
283
619
619
588
259
898
66
620
636
72
978
617
561
71
808
141
919
901
519
688
401
4
382
381
859
575
831
163
276
256
261
444
543
766
236
635
691
107
53
797
924
103
612
12
960
355
414
14
742
447
783
644
274
984
735
305
712
693
336
29
998
411
472
621
880
869
643
444
157
538
796
429
780
893
207
39
372
682
256
246
804
875
285
12
628
311
522
1
165
489
554
513
230
108
71
501
259
237
771
495
244
218
604
97
405
274
210
815
28
109
797
922
990
42
411
212
488
934
1
200
122
905
110
746
589
756
279
352
570
244
34
269
668
723
511
678
614
287
460
686
803
26
38
481
826
621
304
132
277
805
220
660
105
247
64
277
829
587
860
697
878
753
107
910
949
231
330
181
453
523
457
37
650
963
882
990
31
844
491
59
73
616
553
336
918
188
349
589
508
488
284
805
470
543
189
244
661
260
265
788
546
349
733
986
704
586
173
593
388
947
882
972
587
718
469
623
374
90
463
512
333
71
306
615
482
845
281
253
518
999
942
847
243
151
974
356
646
960
835
45
551
240
107
255
324
652
248
511
179
332
474
73
37
531
893
596
261
795
637
618
804
765
799
822
187
457
647
144
793
52
134
116
16
221
316
694
425
294
108
980
777
858
125
513
661
600
494
96
49
790
798
432
157
529
228
671
97
806
653
146
243
390
147
276
89
882
160
567
520
742
320
327
233
265
673
537
675
478
417
539
252
120
990
754
195
635
415
96
947
424
27
356
443
622
349
717
157
426
914
457
169
505
142
692
426
184
114
39
865
546
738
728
86
282
873
171
406
973
136
595
801
553
227
388
210
430
833
366
621
15
436
429
346
611
222
623
288
176
367
349
301
443
631
439
766
5
497
901
258
999
654
301
877
259
675
311
718
882
707
184
588
42
953
321
157
610
514
382
576
840
340
980
334
71
342
172
79
824
558
392
201
570
101
267
295
478
983
106
183
801
349
855
576
510
723
234
109
773
899
453
596
662
108
706
16
381
891
32
944
926
932
639
671
119
420
122
180
227
604
224
375
927
773
907
815
190
517
33
462
573
128
57
305
626
236
304
762
172
400
418
165
839
26
645
16
501
157
390
358
154
712
777
655
808
586
926
200
858
260
535
226
106
172
865
86
708
715
418
987
998
463
643
535
806
94
262
0
33
920
737
692
670
728
500
25
719
960
339
88
67
298
128
327
202
626
49
939
101
194
150
784
5
696
281
820
996
278
526
134
474
53
779
253
818
363
878
669
12
77
801
188
457
910
734
929
594
538
127
419
475
45
539
259
237
272
163
388
128
91
433
43
810
134
784
24
476
967
370
441
760
947
15
774
168
630
821
389
676
103
194
124
7
591
786
715
707
579
249
186
178
813
352
881
185
793
379
10
560
681
905
729
751
263
929
141
443
538
112
347
241
257
491
902
245
504
151
569
34
898
337
146
770
989
981
153
474
834
375
156
82
879
430
690
898
553
158
458
42
986
607
901
936
348
658
592
147
461
530
159
586
333
59
615
264
757
106
27
152
55
865
46
401
300
715
351
62
640
457
563
545
559
845
716
526
636
278
326
107
42
220
472
65
380
9
926
911
139
25
434
959
858
861
760
407
806
896
989
469
703
46
92
108
86
195
340
981
591
889
372
853
11
937
387
112
176
935
555
382
143
454
315
187
554
742
567
520
332
911
594
478
220
189
811
359
232
381
239
32
228
676
277
768
946
229
97
697
552
531
598
601
916
25
858
929
976
237
509
125
686
451
828
200
768
436
853
980
53
10
570
351
951
454
329
975
15
644
507
522
406
964
975
786
42
297
351
848
304
174
107
182
795
633
229
558
422
255
962
145
761
223
776
354
198
926
165
593
683
238
542
615
499
424
697
328
415
515
741
305
504
868
330
436
745
689
943
677
212
550
21
344
785
878
432
393
682
178
269
441
178
526
934
980
947
191
192
620
285
5
757
342
125
659
753
391
765
805
145
276
133
787
17
380
892
475
338
535
873
269
99
487
168
395
421
249
668
937
410
727
429
23
276
812
872
573
503
561
239
943
691
152
777
884
636
151
190
821
550
236
776
512
243
125
201
112
864
979
413
44
681
438
176
237
795
835
754
364
430
796
666
188
437
949
308
459
661
546
943
338
129
594
32
279
645
867
191
464
432
762
895
211
150
155
905
998
985
160
682
732
262
915
111
951
303
165
207
626
471
524
129
326
441
582
46
552
557
670
447
931
436
564
70
1
200
838
26
102
883
429
899
842
476
597
646
476
749
443
465
953
49
142
54
407
749
182
271
607
274
970
63
538
568
719
618
375
190
772
811
297
463
657
220
678
71
566
990
775
624
760
696
429
546
132
847
355
224
683
920
554
170
225
531
348
83
713
776
508
802
921
728
271
827
184
622
36
726
598
164
322
804
260
993
408
18
437
994
586
583
214
44
344
207
936
180
118
725
218
373
465
169
141
237
353
636
19
775
485
330
528
718
124
732
966
963
240
273
402
372
963
859
245
908
387
871
143
875
448
193
652
471
775
696
202
704
799
312
810
239
158
704
872
622
444
187
854
426
566
135
392
484
921
139
735
463
464
519
889
554
797
940
390
975
917
264
464
582
280
29
674
327
761
146
28
636
764
558
238
749
699
744
984
303
829
555
535
27
994
533
871
348
284
466
584
36
251
615
992
127
415
118
830
716
534
743
957
976
737
396
820
259
212
951
130
292
934
99
796
115
819
810
858
244
372
374
814
404
767
735
836
751
780
899
258
543
804
801
104
871
5
437
849
108
742
245
650
137
204
203
229
31
381
105
799
473
92
134
243
764
674
238
840
532
347
351
766
611
865
539
486
946
882
776
779
559
944
818
491
203
463
745
949
863
69
446
607
497
856
617
39
442
586
144
482
902
91
93
987
729
105
531
618
685
416
521
87
977
153
939
188
478
645
231
667
580
403
942
589
634
580
481
390
878
3
651
112
550
673
916
272
498
163
941
31
230
416
138
821
3
327
687
534
214
829
540
105
173
789
530
515
720
431
765
918
214
380
32
575
636
338
825
798
819
737
178
482
689
667
318
957
372
260
609
702
711
174
651
464
281
656
615
94
120
757
303
257
573
108
47
962
457
982
615
165
615
223
743
467
347
772
459
440
612
535
546
886
130
584
715
804
207
709
220
391
686
755
650
745
135
292
186
569
960
395
647
704
728
968
786
402
155
660
347
283
42
766
640
429
395
103
598
581
478
714
492
488
932
720
74
487
855
588
522
729
90
263
578
877
497
628
845
930
1
839
219
244
40
105
870
432
981
109
982
539
179
537
564
587
741
282
250
324
631
924
848
955
644
323
81
154
587
560
866
992
928
7
807
875
989
564
788
98
30
213
411
274
100
560
73
583
487
53
426
316
452
146
367
531
147
347
958
550
684
243
675
416
787
449
593
998
611
404
287
209
76
542
629
531
729
691
980
592
558
430
652
142
36
93
33
191
342
722
535
27
817
75
57
587
178
656
785
764
695
562
37
905
205
329
120
851
251
103
117
591
918
692
496
198
891
336
797
312
160
93
451
887
732
230
120
702
782
54
667
98
992
550
407
468
700
389
832
346
76
955
270
62
385
89
124
467
929
430
428
740
884
512
545
781
74
792
19
695
479
105
458
8
822
196
902
787
910
665
205
951
109
768
132
801
843
597
194
294
968
559
807
164
961
291
310
201
403
130
137
614
63
916
113
726
461
138
849
570
371
956
989
611
590
624
64
980
897
441
967
30
393
840
771
486
610
436
327
400
246
15
491
463
996
934
756
826
256
593
140
641
700
218
6
301
972
514
848
411
674
367
832
939
321
140
653
888
125
400
47
737
819
415
675
801
820
745
900
552
992
296
15
286
2
845
588
991
934
970
357
985
33
844
647
633
534
785
161
805
573
579
442
761
493
228
375
670
674
165
946
603
148
789
602
87
620
304
690
479
621
873
59
57
770
969
621
188
642
342
901
879
252
969
752
574
500
59
798
338
232
459
163
784
823
712
848
455
372
509
770
820
552
923
981
989
680
954
312
107
575
263
947
474
74
449
605
853
649
163
476
695
805
249
301
906
133
289
998
111
890
503
533
66
873
730
447
463
948
920
623
68
18
612
676
712
642
939
66
139
779
781
186
833
57
477
827
310
188
734
167
21
26
907
142
809
372
451
445
113
368
621
73
177
477
646
674
371
153
769
670
319
161
351
953
353
968
415
753
406
86
459
857
444
278
509
824
356
947
38
406
438
27
64
471
273
351
610
603
623
99
324
372
60
511
346
516
289
585
20
231
506
7
134
451
137
51
308
781
685
518
489
125
725
404
604
791
933
538
250
518
94
722
486
704
646
263
446
111
753
924
744
546
975
505
248
427
987
474
639
717
379
255
866
675
884
139
825
50
718
722
876
234
979
57
127
416
872
732
304
499
428
338
344
476
795
368
372
349
267
795
883
988
236
530
227
622
739
978
64
574
398
764
887
728
552
701
107
635
724
989
269
730
649
188
379
835
561
913
490
682
637
52
211
289
512
566
474
369
912
96
978
860
164
378
124
38
288
116
132
680
636
38
566
935
78
768
294
544
290
475
671
64
300
802
303
958
209
74
687
331
37
679
860
219
216
379
877
625
985
215
771
573
906
52
669
105
669
146
474
387
82
666
244
665
326
12
201
82
427
307
835
742
910
625
665
734
472
594
359
334
259
513
973
404
461
833
136
538
628
880
296
244
510
781
265
408
378
559
336
687
293
671
191
551
224
181
864
959
43
645
9
843
967
800
161
863
591
790
264
263
49
479
951
542
654
15
531
88
92
657
825
995
292
526
750
930
642
50
761
978
487
183
332
683
466
764
911
29
403
277
569
302
747
610
133
71
348
848
180
281
383
973
806
433
852
237
304
885
914
625
673
207
956
338
978
708
312
546
110
968
286
729
292
134
59
360
949
916
248
935
970
74
999
399
582
486
89
922
892
524
398
121
966
294
231
457
549
46
431
847
770
224
366
403
652
800
158
330
628
868
318
938
80
970
357
549
424
19
457
456
548
2
805
937
277
495
345
743
230
20
830
106
330
739
359
581
460
877
82
356
584
894
205
780
356
53
324
91
131
331
402
606
75
93
372
529
801
364
836
341
596
984
311
377
230
695
324
649
377
924
900
652
567
782
357
431
20
497
815
416
480
825
136
403
510
961
323
596
722
718
555
23
904
12
786
847
440
74
13
70
457
916
771
237
283
382
716
794
808
588
683
349
828
347
178
53
174
654
806
995
302
65
577
93
204
956
870
155
883
24
889
533
919
227
628
583
646
503
344
644
151
533
975
422
184
4
196
625
465
894
559
968
306
215
583
397
507
577
809
81
508
606
656
998
39
85
837
41
749
589
274
227
112
232
747
891
962
936
988
907
917
983
874
355
922
86
362
839
846
902
511
899
282
385
27
327
162
487
425
423
628
555
615
906
739
530
202
312
499
549
812
36
57
305
790
404
605
158
998
104
150
188
546
304
472
319
312
686
43
878
255
907
831
760
392
226
420
232
347
250
772
971
628
319
533
85
7
247
161
757
702
940
755
478
863
16
560
81
266
143
617
859
5
28
524
835
127
194
35
435
832
240
772
429
335
33
189
816
883
705
535
435
854
267
147
736
437
827
99
655
439
414
596
598
220
430
56
8
34
571
592
29
667
452
161
441
56
122
310
379
967
779
525
516
401
164
203
100
619
681
662
502
20
615
343
978
893
573
826
254
783
689
92
629
428
191
220
670
574
725
37
809
18
803
643
193
402
421
986
533
645
384
222
183
163
644
122
767
751
578
808
23
893
324
726
599
642
421
930
59
455
896
788
910
86
112
697
110
697
272
875
924
859
652
972
375
12
81
400
391
171
400
976
36
248
753
149
262
658
83
438
856
418
354
951
34
145
827
975
293
458
199
223
811
582
51
197
302
181
166
753
476
678
105
925
358
542
428
89
219
35
381
910
620
299
344
341
803
827
963
599
969
889
61
328
391
950
118
891
704
154
352
378
873
211
370
444
348
937
281
541
993
288
814
125
458
547
716
55
255
269
988
565
922
427
300
948
808
303
192
865
258
833
304
524
577
170
366
26
681
905
888
441
59
225
652
856
564
450
899
796
124
486
184
265
190
749
738
1
721
203
855
217
315
848
712
148
856
140
875
925
930
370
735
248
81
768
515
699
367
721
947
516
345
786
869
902
522
53
745
860
8
696
145
123
685
703
591
577
632
659
30
467
794
86
982
17
325
664
299
917
147
280
123
296
222
930
525
538
540
992
911
738
713
751
343
728
567
629
913
81
995
703
833
131
880
848
744
683
255
403
349
721
151
888
651
499
972
548
562
909
168
823
225
178
21
209
708
546
322
411
557
622
870
175
201
590
898
948
576
446
303
22
160
770
56
605
184
318
549
388
190
139
760
75
963
447
626
115
106
36
118
686
107
160
681
153
772
709
146
942
128
286
692
400
829
323
512
899
920
852
921
835
146
207
401
359
828
401
125
474
449
573
438
613
213
509
88
759
14
615
517
770
535
380
744
152
327
320
670
62
5
152
413
268
780
607
621
46
92
713
121
527
464
760
571
146
300
342
265
643
851
414
198
655
674
333
450
618
385
7
584
525
656
61
805
70
144
277
73
55
407
825
266
287
95
511
987
419
297
38
472
608
866
721
64
404
37
659
942
668
214
219
507
204
747
144
27
354
771
191
496
274
267
431
850
851
981
318
237
222
172
401
966
472
65
837
379
298
662
480
975
185
259
558
146
228
67
820
975
297
124
893
67
459
444
998
175
393
667
294
637
249
501
591
61
860
728
562
87
52
968
803
943
731
787
120
912
891
593
176
906
960
66
346
102
434
44
443
507
387
108
581
923
835
763
154
370
135
911
691
351
294
660
20
444
111
503
997
837
163
422
866
865
948
318
391
830
655
465
180
225
238
635
132
259
904
872
92
799
757
507
615
143
393
603
597
661
639
184
446
492
222
3
750
395
441
751
55
781
650
269
581
272
930
263
491
350
95
427
150
724
610
5
557
767
39
957
516
299
243
919
67
959
236
602
311
276
471
816
551
389
231
229
704
587
621
885
569
215
495
865
17
636
124
388
235
885
37
257
612
428
300
983
31
838
253
293
304
188
385
135
766
776
415
421
406
361
805
746
453
283
996
13
97
721
313
565
474
989
945
798
801
232
424
153
214
479
661
9
521
226
902
719
914
111
653
495
309
121
391
520
155
241
103
534
404
631
101
113
526
65
747
974
765
14
765
578
522
885
477
918
539
515
616
292
810
499
487
805
215
998
750
148
749
337
840
714
738
801
281
958
476
871
767
777
683
346
761
90
658
653
498
336
547
739
715
816
363
542
924
346
202
498
67
936
435
679
536
389
755
725
321
869
94
322
816
130
222
717
14
41
543
650
128
926
691
769
842
476
599
436
312
343
61
62
323
953
31
783
51
804
740
969
106
9
186
518
888
186
744
250
58
344
370
34
600
330
588
424
939
607
126
86
16
50
767
990
955
769
806
915
575
285
224
190
190
529
190
311
274
500
748
707
887
101
791
14
299
131
107
997
822
292
723
763
165
683
516
956
605
675
364
906
164
44
176
791
679
654
864
785
50
968
540
305
339
831
74
780
137
937
63
684
128
502
74
158
771
725
553
540
173
46
259
509
63
219
953
708
14
724
33
346
145
742
872
305
118
906
723
450
251
197
169
540
609
108
658
322
333
862
386
802
565
900
442
366
226
578
693
873
720
222
652
823
198
693
815
402
665
379
36
562
993
425
962
843
789
75
595
242
940
796
345
269
599
680
618
459
85
314
803
602
35
321
818
820
347
226
198
377
479
530
515
589
781
243
187
528
562
31
980
935
698
929
17
917
675
490
353
121
809
314
289
163
237
883
763
761
84
286
106
816
701
996
155
998
729
576
589
391
149
365
18
244
764
862
281
566
94
720
363
214
261
11
261
535
971
398
317
157
19
416
748
285
429
718
901
30
514
873
424
958
883
787
38
209
644
865
324
400
977
493
37
642
381
7
60
630
129
335
160
412
132
557
852
589
678
777
323
899
554
125
859
456
407
352
268
978
382
897
775
909
700
319
845
49
617
969
398
711
25
135
324
507
172
637
479
354
429
539
134
694
985
813
372
98
14
980
21
870
361
522
317
201
815
773
673
357
253
178
749
934
529
942
445
355
60
418
451
447
749
783
523
392
988
294
49
765
128
603
872
947
520
522
432
521
646
857
682
518
611
949
605
463
207
650
515
795
105
976
398
123
66
114
936
419
433
574
110
601
632
10
884
745
83
410
907
677
664
29
995
113
113
796
506
298
416
662
243
434
646
50
604
490
838
502
250
489
517
507
912
995
888
549
472
140
739
82
978
757
992
942
889
698
955
592
767
96
508
517
781
66
865
728
449
418
678
549
343
302
768
441
127
758
69
754
928
222
619
331
261
265
831
544
967
491
438
391
629
206
691
125
240
92
517
181
140
164
333
499
904
489
190
95
242
786
57
388
601
877
520
111
458
713
244
662
979
580
910
224
348
794
724
614
171
55
12
274
947
260
940
46
945
677
342
534
690
164
867
343
160
219
629
318
453
625
111
796
338
196
274
241
44
70
538
751
648
511
837
871
356
662
843
659
664
890
259
406
457
832
396
198
99
814
801
359
952
309
504
600
714
68
926
679
140
306
431
358
246
184
61
296
327
671
103
245
170
766
430
79
76
326
337
320
402
777
817
119
3
448
680
367
361
458
90
785
439
716
653
654
312
398
780
614
247
362
233
880
95
891
786
122
647
958
981
145
559
411
92
81
346
765
409
652
928
79
7
919
428
120
696
256
845
437
992
894
390
987
449
214
683
854
903
956
763
532
200
598
471
947
526
567
794
413
856
705
145
333
496
175
103
628
12
391
897
588
207
804
41
512
305
151
312
107
983
879
839
272
917
849
487
155
761
879
11
538
717
715
259
644
932
289
322
300
371
236
318
605
925
367
515
388
904
104
520
939
42
580
504
619
22
580
116
303
662
623
932
766
907
686
468
720
348
722
28
783
869
704
621
181
963
160
949
512
778
898
566
716
969
514
117
234
347
864
514
481
402
855
399
642
130
599
720
837
983
308
972
56
833
71
104
624
493
453
154
585
456
20
54
378
798
931
447
347
20
540
833
426
330
633
32
690
379
819
575
342
57
579
460
375
205
72
30
710
918
241
918
29
472
240
830
222
269
524
967
897
280
838
815
906
819
193
680
468
726
63
359
404
118
107
865
535
611
72
100
347
763
707
338
529
545
473
166
596
425
783
237
331
471
228
55
790
762
11
998
941
949
918
701
114
347
50
58
621
392
435
632
897
142
577
511
330
378
910
934
849
774
364
379
914
693
178
341
174
425
166
991
473
75
354
740
992
65
575
152
552
470
289
484
669
635
541
368
407
798
90
181
455
58
743
958
911
62
68
229
432
851
655
467
972
160
4
301
128
81
568
816
736
71
93
678
646
551
575
77
940
413
500
501
593
969
580
679
446
101
326
250
898
731
509
705
29
333
450
39
191
860
890
767
130
137
454
113
490
747
925
621
183
635
9
331
733
621
183
222
505
112
102
337
601
447
154
921
452
516
365
778
334
275
971
164
64
634
32
272
782
330
857
772
772
261
16
198
644
189
770
445
785
737
1
696
51
329
799
345
423
35
654
548
120
949
108
143
743
972
297
456
539
635
541
257
317
658
963
227
754
866
511
282
277
163
10
744
866
277
710
329
145
89
654
522
708
786
162
812
558
520
518
437
943
486
506
897
388
473
655
369
15
416
431
804
522
167
985
415
417
576
230
395
308
720
735
263
652
324
737
426
983
418
426
939
25
625
552
722
27
300
742
240
407
945
235
814
95
730
384
281
178
606
36
752
515
484
225
739
132
566
761
622
964
777
426
348
123
608
760
767
314
576
606
649
672
622
648
501
402
511
920
579
733
437
260
29
683
298
437
695
263
773
846
904
477
392
380
155
162
395
356
416
770
40
88
566
855
807
283
360
149
323
466
514
731
413
342
88
849
542
733
941
785
344
379
318
97
738
245
910
684
576
725
476
624
558
198
76
851
185
686
282
198
72
132
963
138
695
116
199
500
691
707
221
21
265
658
350
870
153
207
187
429
955
450
242
274
519
649
451
304
330
175
77
523
864
224
919
156
742
876
84
196
984
840
72
311
177
860
673
724
794
196
482
387
535
370
156
649
628
339
447
874
706
471
156
248
977
426
587
278
365
881
90
835
119
386
618
325
541
449
49
660
696
355
27
216
556
660
731
918
682
978
834
70
589
45
753
769
348
773
55
849
186
493
870
834
52
338
512
431
108
276
989
676
971
970
283
125
153
510
502
208
11
557
397
891
86
195
792
602
484
413
507
958
841
328
487
17
984
517
230
216
747
811
280
869
359
38
952
19
725
334
220
962
689
897
791
443
94
674
796
823
876
139
567
236
73
388
20
472
703
201
630
298
43
626
75
616
959
611
335
136
208
784
250
400
777
114
913
473
142
503
213
842
438
461
554
368
635
25
813
507
132
448
594
578
559
370
518
243
207
114
815
891
330
179
742
807
778
933
87
4
324
81
54
857
724
789
708
901
976
716
695
208
546
285
426
974
579
421
841
506
820
982
62
874
233
536
872
745
100
752
620
684
277
5
721
588
799
476
606
394
586
341
455
548
286
158
142
267
523
832
943
120
941
102
286
8
608
957
324
317
204
718
833
961
117
859
563
981
685
92
720
983
80
120
180
797
151
254
751
1
883
137
847
21
974
36
758
818
546
551
352
536
11
512
14
775
468
159
349
539
53
2
373
914
459
840
99
705
976
918
684
997
99
558
993
34
942
648
252
361
683
359
531
528
464
70
42
703
224
637
51
872
518
230
677
400
209
230
955
373
60
519
358
99
414
694
856
719
434
595
554
198
911
950
604
452
764
831
948
964
686
209
869
753
915
843
512
83
232
844
235
262
704
113
471
362
463
320
80
760
798
124
545
15
358
503
805
143
5
392
300
275
250
75
934
412
446
605
809
277
0
790
142
555
728
179
680
290
208
597
50
721
408
939
772
131
305
200
130
600
165
749
646
824
480
591
203
693
353
545
651
474
970
790
952
364
517
112
260
454
457
58
978
390
528
848
592
118
182
135
444
823
898
17
79
187
762
434
635
962
341
757
452
715
324
782
533
258
1
211
540
69
723
421
436
541
221
127
937
575
234
148
365
453
591
522
575
712
625
846
840
202
792
289
783
908
868
248
837
323
383
625
359
664
982
512
48
643
952
5
305
365
282
773
275
286
71
539
264
877
18
964
873
44
418
93
615
536
351
146
392
219
976
576
488
707
987
328
341
60
194
245
525
230
138
598
596
709
505
200
101
817
724
774
878
141
710
119
37
714
695
46
213
115
310
12
994
857
4
132
564
559
834
198
856
917
554
508
347
459
807
933
832
141
285
684
363
141
914
639
397
506
850
573
391
958
350
479
426
726
451
153
186
939
669
358
828
381
995
869
523
166
281
417
416
971
793
301
227
346
652
246
610
920
524
912
825
337
442
796
586
453
736
663
678
679
225
36
938
54
284
371
877
480
652
257
31
730
56
782
58
489
643
406
425
135
644
23
194
630
210
604
168
225
532
479
157
15
475
298
559
575
843
478
163
929
783
117
493
315
618
46
921
864
442
417
480
941
618
782
412
409
327
944
635
676
942
798
858
685
940
908
137
843
406
761
887
749
762
480
188
605
132
76
445
391
82
363
363
898
632
82
898
966
488
446
153
174
118
91
757
399
395
908
802
205
408
310
215
260
719
143
19
419
993
187
708
980
829
450
420
267
753
525
771
641
939
288
798
443
758
75
420
648
959
73
412
251
690
228
537
137
718
360
379
434
425
714
398
301
363
879
14
590
847
409
202
881
90
362
475
60
597
720
420
162
808
458
644
962
495
94
378
401
784
81
450
337
122
398
506
338
37
38
109
621
591
639
848
342
399
78
223
425
397
195
933
502
563
265
437
559
747
834
726
147
506
101
551
717
249
363
578
537
638
351
872
432
603
66
788
892
847
869
330
656
114
131
131
541
649
806
772
161
63
691
866
46
702
967
344
634
159
366
304
367
416
587
404
607
346
13
431
976
109
13
41
273
518
696
846
469
866
584
361
643
225
436
918
285
144
25
55
910
363
389
951
579
736
197
119
63
877
503
318
738
61
701
666
42
245
304
136
105
891
659
324
731
646
260
169
254
262
568
153
704
204
86
167
89
823
829
836
71
593
681
215
700
753
229
521
32
969
426
252
263
175
566
560
978
376
320
596
993
864
160
309
600
431
266
854
608
989
169
662
128
221
522
778
92
534
596
426
309
855
71
809
853
762
525
274
243
709
242
133
118
286
399
602
912
388
406
94
589
138
416
325
426
102
89
342
522
220
743
980
975
47
755
484
167
617
959
643
444
554
840
344
503
965
929
786
763
326
717
751
346
933
452
370
660
299
828
81
217
667
177
851
816
355
966
676
808
347
688
64
495
407
380
417
764
280
57
746
116
923
748
812
219
403
527
456
701
218
452
653
145
836
775
90
781
401
918
635
66
792
115
351
11
255
376
261
608
870
834
952
822
886
978
159
436
565
788
271
475
839
548
625
450
332
88
167
962
175
302
670
799
195
777
18
652
621
568
644
694
280
129
616
59
508
234
206
516
907
451
672
240
815
859
949
723
35
57
349
651
622
453
934
12
500
685
950
865
520
911
220
749
474
440
163
837
918
769
138
873
884
915
580
120
477
514
885
940
879
833
324
628
361
343
398
679
844
838
436
72
921
834
862
69
787
872
855
597
550
160
638
435
198
128
977
201
959
582
627
993
905
37
227
363
576
473
930
749
224
603
567
798
564
295
690
659
246
72
228
469
12
671
401
924
652
458
232
863
282
956
529
830
459
703
233
865
532
158
284
118
133
630
372
353
155
603
644
944
225
822
222
138
639
271
313
805
848
657
549
336
67
228
106
197
203
726
992
210
309
492
190
250
745
271
112
717
777
370
131
435
374
704
628
972
423
253
736
536
618
975
447
840
203
969
933
478
157
349
82
197
819
343
28
989
572
208
449
220
126
867
735
179
264
419
635
573
448
302
903
598
191
880
189
204
48
491
590
364
512
56
819
166
381
805
236
10
120
871
207
362
267
21
971
727
276
55
196
523
43
262
533
664
814
498
344
214
116
237
667
839
965
467
560
32
497
450
50
13
964
822
808
747
236
211
307
174
986
538
396
145
244
71
959
516
462
801
822
523
930
114
777
635
312
719
610
918
508
904
52
564
461
573
418
594
810
222
648
704
859
482
550
22
203
720
886
228
133
663
384
904
748
338
317
68
815
87
392
497
597
992
793
484
851
736
750
449
699
141
94
736
500
513
597
4
301
248
132
894
626
586
655
302
436
117
843
739
750
655
384
484
262
906
451
223
889
265
486
36
8
617
719
880
331
728
962
722
454
397
19
70
7
126
794
892
581
585
223
957
616
38
128
718
180
155
399
170
938
202
623
695
692
244
997
978
235
612
159
561
304
884
115
715
540
389
898
606
612
619
1
293
180
849
305
413
376
635
826
652
281
377
119
212
250
110
551
520
781
423
137
403
530
749
562
492
515
149
535
773
523
792
619
972
315
491
135
473
816
642
328
750
711
449
460
744
228
650
166
438
0
229
199
526
669
653
507
851
649
57
451
992
657
93
473
551
905
686
76
269
280
965
392
521
883
432
725
542
802
748
648
378
784
523
399
242
96
589
266
117
74
678
560
577
430
551
270
617
895
37
180
590
726
862
741
513
86
580
267
216
725
14
923
294
526
598
975
336
600
36
782
925
230
129
779
714
339
974
172
846
402
371
994
438
472
693
598
525
305
176
931
173
343
933
315
497
780
544
812
683
736
350
666
744
502
559
808
538
459
186
622
526
364
844
478
135
27
691
609
602
26
661
724
214
201
567
115
617
54
21
480
750
84
754
84
182
941
684
731
482
270
823
385
663
174
135
643
155
501
49
733
386
443
950
611
313
370
753
514
790
724
503
241
13
291
745
519
840
671
7
744
725
983
640
114
336
685
79
43
847
489
720
2
146
871
118
119
489
761
230
825
618
519
641
478
856
757
607
673
81
323
956
92
443
304
329
741
891
643
103
850
944
555
239
469
91
731
760
391
305
558
525
684
436
693
884
335
838
374
739
401
959
133
526
526
207
541
3
552
465
646
843
47
254
302
854
256
212
131
5
530
870
219
406
327
413
233
756
775
759
246
854
207
364
803
248
815
807
168
245
257
918
123
42
117
340
898
524
467
153
512
8
218
17
474
565
206
898
185
33
84
546
525
537
825
660
596
770
142
144
641
307
52
834
832
649
585
596
821
578
763
182
269
66
683
541
543
354
687
212
855
174
706
141
285
244
761
171
64
121
376
917
21
619
359
787
409
99
541
257
405
343
0
882
162
521
974
336
60
28
209
144
928
440
585
434
266
975
199
363
962
583
617
700
546
86
27
969
842
827
772
777
26
205
813
40
969
697
642
372
463
691
906
494
897
45
853
133
366
687
410
209
332
285
107
170
878
647
998
312
878
597
820
280
878
459
4
405
620
490
338
380
109
960
192
363
921
299
221
771
85
403
805
968
543
780
999
771
221
260
476
26
588
301
773
60
623
594
43
68
297
40
858
568
817
382
653
390
178
0
268
256
451
158
472
705
49
824
898
14
257
328
460
545
680
935
651
130
649
342
711
811
991
686
370
687
818
77
978
608
180
782
387
657
864
472
616
195
461
601
774
324
200
403
284
288
14
45
238
732
988
669
72
869
385
626
503
37
184
68
982
524
18
615
403
192
185
197
98
250
874
51
296
896
585
436
444
430
725
726
875
573
276
178
153
142
791
520
358
967
162
897
869
269
349
61
811
274
682
397
393
62
518
305
372
426
579
537
684
128
709
547
962
658
494
59
216
966
676
38
850
88
526
411
622
69
647
731
88
861
266
458
637
283
606
275
730
992
430
686
950
876
704
407
263
399
939
912
828
556
25
515
214
341
892
386
856
367
488
690
370
97
882
47
171
408
398
404
951
57
248
848
65
296
646
281
913
32
618
703
79
161
11
687
207
452
788
826
333
20
288
996
938
78
107
512
214
5
130
448
696
994
467
768
607
749
117
304
973
172
604
407
59
599
472
925
880
863
278
552
742
248
831
491
118
261
133
332
547
679
504
167
404
595
382
762
185
264
775
223
486
339
129
973
868
955
544
852
954
509
411
435
910
282
594
407
92
775
421
177
335
991
888
605
769
788
736
790
75
356
918
245
17
28
98
902
941
294
639
245
414
827
505
446
818
688
629
173
30
420
988
798
685
747
283
482
466
51
310
828
32
152
168
329
165
948
487
139
61
689
237
692
739
374
688
929
593
33
745
449
576
639
679
645
194
917
117
486
9
655
594
204
34
124
822
0
651
52
632
418
561
458
491
406
89
205
459
558
939
607
288
813
777
421
376
496
705
145
358
420
455
384
511
179
27
705
178
26
489
558
109
181
982
33
795
517
871
600
45
275
399
9
647
247
921
623
649
349
808
642
907
398
613
272
125
548
475
856
389
975
65
159
925
881
509
33
198
574
476
877
952
985
814
456
154
264
666
747
644
830
614
517
949
581
618
751
731
696
392
322
143
215
32
688
165
760
880
56
487
792
868
767
129
393
489
601
792
228
224
229
346
572
98
780
577
858
149
802
822
275
827
392
931
606
105
278
109
293
896
942
122
809
209
592
378
387
56
866
908
953
430
146
556
355
843
930
707
820
909
773
559
384
282
906
295
230
855
994
674
344
444
34
425
388
3
734
55
609
846
856
499
912
423
154
359
399
334
117
75
620
33
438
719
621
287
488
274
674
813
932
603
954
851
93
764
807
403
115
851
929
716
440
157
374
696
1
475
403
689
727
288
30
27
104
225
338
946
675
934
71
684
436
948
825
630
295
413
515
239
778
382
453
212
619
821
617
991
976
982
635
466
594
671
399
45
572
514
467
674
941
203
235
973
751
20
435
649
35
145
513
294
584
345
769
300
139
545
633
35
609
114
231
21
790
506
257
228
37
654
881
478
527
558
498
850
50
301
576
469
372
329
291
868
306
670
158
951
447
148
741
653
802
769
350
709
536
532
327
986
477
288
175
106
630
394
593
253
994
616
993
808
494
325
662
921
180
751
852
390
434
301
115
684
760
926
560
476
500
759
392
203
407
665
433
737
302
145
559
221
135
951
448
217
664
966
75
849
277
692
234
136
454
826
985
460
525
358
284
413
342
477
9
518
413
192
526
763
440
103
673
157
102
215
597
494
988
500
254
430
857
789
836
466
816
901
421
788
334
937
755
561
784
413
355
309
484
552
20
790
608
653
431
610
880
464
61
718
695
90
418
65
425
666
330
721
849
407
53
446
504
315
332
652
471
897
495
947
321
251
884
860
640
887
140
574
961
759
173
269
344
416
104
532
307
967
232
426
316
228
290
956
778
424
504
972
683
95
249
761
598
616
540
370
371
652
84
905
110
664
491
559
373
307
20
5
474
483
304
733
735
138
603
67
204
101
338
120
625
296
450
656
163
985
45
758
314
273
491
242
585
472
865
699
265
475
853
343
976
794
346
715
513
584
848
504
420
324
975
585
220
669
604
469
120
364
3
681
303
525
757
582
995
940
284
763
140
650
910
872
963
426
431
563
371
627
919
578
389
856
584
301
142
362
472
164
313
525
914
733
598
101
399
554
746
129
883
960
987
152
322
925
630
809
45
148
744
339
942
861
624
979
929
696
315
897
55
38
821
424
84
152
374
48
114
187
486
519
51
492
287
456
452
310
203
166
128
253
526
115
414
427
149
232
279
887
342
911
529
53
818
144
897
287
866
207
494
950
152
226
958
351
712
880
154
590
79
734
260
599
528
269
502
335
156
76
929
854
708
276
455
612
351
398
149
515
298
981
669
945
711
559
825
202
360
333
756
56
53
478
680
819
688
418
429
783
51
311
205
542
756
482
146
196
920
521
273
208
213
27
595
113
787
372
269
499
903
688
801
162
700
386
413
817
498
318
493
801
493
305
947
950
371
617
540
533
94
573
685
531
921
85
209
572
641
453
706
680
864
154
693
643
703
725
307
944
275
410
520
646
659
858
251
675
595
777
762
821
185
527
348
251
665
217
101
405
853
161
679
589
882
621
745
471
894
794
804
828
33
658
882
77
455
178
772
213
684
77
149
906
157
553
93
266
737
379
78
751
79
820
330
519
216
77
696
24
286
718
979
100
188
468
440
24
597
976
929
470
659
326
555
678
782
965
533
751
617
458
318
987
75
503
415
695
300
134
947
396
534
969
439
347
38
739
857
57
855
893
199
220
691
643
148
261
267
707
967
585
496
116
511
33
820
54
988
205
755
983
609
398
681
209
9
728
723
856
54
605
979
86
973
478
577
832
71
145
450
597
966
503
790
34
11
19
357
136
703
419
934
357
845
871
26
153
914
19
898
13
553
71
955
74
527
638
928
347
227
918
797
583
60
148
894
626
773
511
239
268
203
461
68
941
272
568
317
632
556
341
852
663
931
691
696
595
916
624
755
820
426
157
897
791
559
42
911
853
284
948
887
245
774
422
497
251
727
253
118
527
388
585
903
509
81
389
80
827
462
554
238
932
291
350
832
371
295
525
203
336
965
301
58
916
723
336
174
504
291
249
847
573
898
589
140
383
302
52
959
328
952
939
191
30
451
857
640
101
586
706
923
236
417
952
548
963
749
523
122
29
686
440
194
308
325
475
376
553
956
357
401
11
115
529
515
62
965
869
853
890
933
847
712
376
415
815
687
615
474
111
112
418
643
224
927
843
44
373
969
743
577
739
454
480
114
993
735
153
906
958
469
344
90
446
709
827
21
411
829
578
850
473
790
374
216
215
34
734
711
567
177
760
809
496
888
650
490
998
214
1
238
240
285
221
900
502
815
918
111
292
824
877
102
113
650
683
255
258
659
824
225
664
239
382
13
484
919
452
538
720
447
61
942
723
76
206
451
997
957
431
748
107
753
431
771
457
842
21
962
567
564
445
197
993
975
465
907
342
682
282
949
85
333
505
104
506
718
722
788
910
477
306
709
183
675
97
700
815
459
487
608
715
844
893
141
864
739
129
970
322
925
101
252
533
597
649
257
942
911
631
446
64
199
548
556
214
128
478
151
80
291
913
23
990
97
747
513
414
268
25
98
280
745
17
515
768
202
895
243
282
964
995
972
632
173
444
78
996
97
55
83
437
501
618
807
150
37
868
852
752
533
393
902
112
833
644
691
962
220
861
69
871
244
211
320
600
683
638
159
406
917
501
807
340
269
611
310
256
893
491
458
488
962
948
373
61
808
29
905
31
433
893
635
65
775
526
626
914
862
474
792
142
158
450
281
630
550
284
6
106
200
724
1
2
528
680
172
642
657
322
784
571
979
390
300
258
735
499
380
45
763
110
620
801
341
6
928
472
625
219
28
885
490
844
384
48
128
16
563
559
512
973
258
559
982
507
76
934
598
923
430
109
352
37
717
349
426
381
604
335
221
661
797
601
436
636
583
328
561
688
63
680
733
434
516
844
726
961
108
338
756
714
590
694
567
640
969
94
99
453
87
966
389
918
409
693
135
48
300
284
102
683
142
491
147
144
101
707
144
969
566
493
205
159
605
129
845
143
274
292
122
425
746
916
959
646
366
151
445
52
75
39
325
56
499
56
782
983
13
204
204
509
267
431
102
990
709
352
985
228
612
687
865
640
536
561
982
168
968
969
719
405
723
411
392
335
866
196
492
3
304
770
477
7
36
675
751
731
814
581
843
675
23
128
808
298
660
764
705
495
781
106
379
138
718
878
676
279
267
630
834
477
12
466
953
9
986
303
390
479
926
879
156
837
84
408
343
155
280
665
204
673
342
720
996
879
554
509
725
642
770
665
79
658
633
23
70
83
977
593
281
306
730
274
601
329
573
718
249
493
153
177
558
223
483
660
53
483
361
891
162
663
480
818
779
50
455
964
684
920
856
610
886
608
407
360
762
424
318
561
440
632
80
839
15
623
811
208
693
70
49
901
145
744
885
685
706
544
598
143
270
625
559
22
503
307
300
705
119
840
470
931
808
964
110
979
61
339
619
330
578
573
475
844
673
922
268
235
756
240
861
238
996
474
206
791
871
754
340
697
285
172
519
878
265
663
767
543
836
314
666
574
739
146
566
975
370
110
638
122
20
333
435
52
244
155
353
722
97
598
220
26
504
845
32
126
633
288
473
601
931
668
583
895
870
484
570
342
77
223
973
59
243
165
980
221
344
508
603
779
177
604
698
740
534
291
400
323
838
99
54
659
469
449
503
114
622
991
821
238
503
452
53
865
576
841
500
445
188
647
910
602
939
736
905
178
308
660
93
853
792
472
210
961
423
804
246
918
835
143
815
531
527
999
371
475
390
24
579
344
701
509
121
806
432
380
18
154
151
939
810
753
758
129
595
744
662
562
202
190
87
345
31
388
87
342
810
483
402
558
299
370
694
616
207
590
674
58
625
786
715
922
183
288
331
216
973
690
129
864
865
432
520
490
57
932
468
75
807
414
78
61
106
564
539
807
345
834
424
223
785
481
317
345
991
142
999
692
75
580
8
633
706
268
289
137
206
517
272
978
928
856
728
220
985
198
554
356
217
254
377
855
849
826
459
530
600
19
799
639
367
262
877
941
573
491
392
662
776
292
513
959
805
876
45
850
833
711
336
304
161
487
249
686
724
986
42
88
243
95
999
576
725
296
631
570
31
604
343
249
214
527
804
465
50
647
777
514
248
854
802
198
594
718
729
763
188
6
49
265
535
164
846
189
628
280
283
997
484
413
430
174
41
182
55
684
773
419
34
649
913
455
394
866
750
237
876
999
499
291
809
458
590
295
671
753
165
615
272
972
733
426
195
738
537
83
491
93
247
744
436
381
43
471
361
442
736
725
369
257
576
664
912
672
249
356
290
400
797
578
948
876
961
483
640
676
325
594
208
417
865
209
965
198
226
266
66
272
880
193
70
412
265
54
665
742
407
342
136
718
821
281
243
948
26
799
807
128
258
111
137
969
197
747
704
522
975
743
701
924
417
474
906
157
220
73
498
610
605
44
74
695
528
765
695
993
586
42
911
109
143
463
73
217
28
894
549
805
761
868
427
600
870
138
234
321
351
639
170
578
191
662
996
841
484
936
195
560
459
930
85
418
208
114
377
237
956
728
107
516
348
654
103
34
591
676
172
147
549
932
293
548
908
653
977
830
425
261
360
498
6
925
729
583
538
208
348
921
373
658
390
57
283
369
720
428
348
984
504
335
24
431
529
750
766
886
921
153
675
216
746
340
262
29
92
621
152
580
920
4
861
260
705
732
443
996
115
389
254
108
976
695
569
113
679
928
527
371
31
974
312
402
693
350
453
245
496
374
120
787
378
234
676
434
203
448
297
119
755
761
434
284
120
454
426
328
509
305
632
55
325
779
421
490
666
4
418
402
837
503
614
69
671
410
747
769
466
446
716
256
361
291
452
461
861
224
64
182
777
604
698
947
477
948
926
789
485
657
674
880
803
545
333
40
735
891
638
771
367
238
686
411
751
222
479
157
887
869
456
251
365
809
674
212
213
15
53
316
520
682
433
578
625
182
787
777
859
457
711
564
622
4
545
3
426
877
661
597
245
441
915
955
576
97
402
6
269
387
630
833
223
27
542
840
660
466
253
24
90
585
926
102
621
481
40
984
993
467
444
123
280
705
284
220
442
88
336
835
983
548
756
729
589
82
775
62
516
91
750
787
651
699
98
893
723
502
905
284
394
622
253
689
552
830
412
88
353
115
412
810
466
871
716
968
687
38
724
806
383
530
582
632
208
721
593
848
315
489
986
875
542
58
445
209
29
696
110
432
784
602
524
870
214
844
888
66
171
748
912
139
613
266
902
377
94
338
473
245
998
649
792
670
631
36
713
241
422
31
292
161
612
213
684
9
606
502
421
343
338
632
562
577
776
977
122
135
464
702
846
363
394
397
859
930
777
113
843
797
586
561
415
471
372
476
877
202
72
203
885
217
155
969
771
633
692
999
153
941
509
750
512
923
124
113
409
332
528
834
816
77
253
607
578
216
701
230
918
778
112
255
797
871
526
847
844
505
761
250
396
345
61
712
22
300
262
546
88
381
26
50
439
74
208
940
824
206
406
654
421
739
338
585
206
637
222
953
43
850
260
27
464
577
112
681
641
2
495
67
406
743
409
659
631
208
197
201
634
125
17
76
391
533
655
599
737
245
778
603
994
468
377
731
868
174
294
771
672
805
392
984
870
620
937
446
806
544
406
796
377
932
634
32
884
988
35
593
690
622
981
896
423
195
299
777
225
632
816
32
619
861
592
667
770
252
521
276
450
960
381
55
771
767
456
21
563
564
303
232
896
788
712
519
619
712
389
500
519
383
121
909
635
960
273
472
260
375
376
332
18
661
634
965
845
227
99
215
795
68
846
380
718
430
406
598
537
923
480
140
162
866
942
768
10
477
300
775
966
864
133
548
648
9
73
539
463
977
499
481
736
281
80
983
599
309
245
226
797
675
865
320
337
545
185
952
497
412
347
708
4
832
708
606
677
533
65
298
765
939
657
129
923
683
600
436
95
386
200
916
108
839
353
362
301
254
550
67
247
716
892
171
590
72
346
319
699
319
982
165
177
651
209
425
433
890
94
761
59
592
724
454
154
455
284
724
797
662
276
525
780
171
277
700
669
350
166
387
847
188
865
600
731
71
571
607
942
639
481
76
402
818
640
827
375
689
28
732
576
17
688
246
500
763
169
66
623
460
156
374
147
483
170
763
328
161
751
542
734
578
167
867
461
801
863
434
317
141
201
715
958
846
688
69
677
978
969
408
997
567
748
52
759
28
691
747
548
690
383
13
446
689
285
200
474
883
566
322
440
678
559
259
955
951
642
478
908
525
498
196
429
376
858
867
943
223
345
846
822
529
504
343
774
179
38
461
689
306
331
305
206
498
1
631
622
109
888
388
836
315
633
306
822
465
232
38
510
355
79
168
607
963
821
693
304
767
86
943
694
61
370
984
660
157
553
129
410
869
164
78
346
936
682
863
609
198
542
293
761
620
396
162
161
422
451
301
500
449
842
614
418
652
398
436
390
505
701
361
160
768
553
839
134
467
474
433
335
514
276
753
568
483
904
647
515
266
371
113
966
124
669
340
678
635
57
878
27
974
140
62
826
499
636
294
632
725
381
976
87
661
501
746
188
374
65
527
435
712
655
847
981
446
378
909
349
595
776
298
891
526
1
178
192
420
259
123
579
705
581
946
853
499
379
690
373
185
648
656
636
639
200
107
425
504
493
744
491
829
737
335
320
854
411
787
188
961
585
509
163
555
831
139
420
244
214
978
543
346
145
384
93
374
926
607
373
280
369
310
16
765
442
981
967
502
556
416
194
418
251
536
232
928
536
524
153
72
825
838
688
821
801
25
308
398
98
811
251
698
29
413
455
280
378
701
769
900
507
515
662
9
455
267
787
303
865
455
772
642
24
965
72
463
282
856
994
978
783
22
388
383
782
217
151
950
963
683
105
868
105
890
99
244
818
726
602
791
131
317
823
269
948
312
492
408
438
655
843
883
641
694
815
831
541
479
72
447
809
730
909
817
612
486
349
524
887
176
996
179
727
449
687
210
49
376
308
777
887
421
409
962
473
857
746
203
455
166
376
348
773
87
438
998
157
911
209
342
668
583
978
717
331
707
327
185
508
758
727
93
718
110
34
436
35
466
683
31
332
578
379
193
113
875
857
67
545
439
498
774
178
969
541
878
255
143
613
947
887
120
644
783
603
974
979
195
994
932
646
623
527
202
211
447
325
954
364
309
608
696
146
700
628
952
401
735
262
207
0
149
392
612
282
789
778
839
527
196
182
642
733
51
221
556
868
49
168
864
215
803
417
658
547
259
370
813
827
795
891
829
328
714
556
650
673
78
518
593
179
613
725
799
999
263
291
65
966
601
518
215
100
238
863
984
297
169
756
732
460
356
742
149
690
670
878
302
443
281
901
342
952
34
928
700
834
316
591
228
601
659
391
293
867
408
956
271
773
458
650
959
192
631
767
113
743
925
305
272
589
840
625
842
970
997
57
155
587
965
887
580
1
553
883
825
720
149
959
568
275
812
734
49
418
589
602
154
176
426
601
490
115
876
759
702
982
210
702
668
70
968
645
952
718
84
173
351
926
928
303
271
148
785
533
313
209
85
687
609
618
450
250
705
13
304
639
800
914
902
635
139
940
435
467
381
510
239
189
48
244
526
510
886
185
237
433
506
664
952
359
220
409
582
591
905
506
569
457
976
636
753
715
908
51
57
18
282
521
893
607
22
676
190
274
799
393
761
651
182
598
165
233
191
765
786
223
160
354
93
697
475
678
657
928
913
157
158
400
791
937
619
934
523
485
430
682
228
663
612
675
934
220
200
195
907
321
762
131
772
719
963
423
993
534
25
300
288
355
262
848
815
834
646
916
797
740
944
30
43
447
892
118
261
348
419
753
933
764
261
131
990
311
827
401
824
774
134
761
118
853
297
121
442
196
5
685
626
836
308
200
535
791
914
259
104
817
357
756
529
637
972
98
66
326
280
932
333
748
686
473
234
286
162
749
567
454
903
698
329
243
915
760
97
998
421
490
140
26
108
245
408
86
70
559
5
222
568
85
971
783
938
340
785
138
725
504
771
359
116
467
180
499
343
156
899
845
607
454
705
491
84
601
259
390
115
154
266
369
448
514
677
566
710
870
196
646
270
89
537
697
822
347
682
399
679
56
354
684
973
915
626
16
39
845
73
487
857
384
137
500
117
161
59
796
697
234
513
439
694
805
393
572
263
554
622
765
602
481
826
320
641
428
257
46
891
826
695
693
189
957
687
959
502
2
525
577
422
340
443
612
313
640
243
443
366
785
940
108
661
261
761
887
167
782
571
280
643
914
778
847
898
791
362
725
662
889
857
200
155
155
747
269
798
427
37
145
731
363
101
982
881
642
501
653
253
230
942
367
943
602
628
669
529
150
404
499
505
50
716
747
629
947
654
912
23
7
606
134
229
28
766
157
411
58
594
452
77
62
472
213
525
251
110
176
388
495
77
760
169
376
624
220
470
474
686
234
183
958
295
634
828
497
641
897
807
933
962
881
7
667
261
931
310
354
154
249
373
49
709
411
79
959
750
928
273
581
967
932
558
711
493
342
315
108
620
522
350
276
734
750
652
934
324
19
430
232
440
602
107
634
997
649
900
385
54
973
650
969
967
479
974
639
785
422
604
106
876
300
194
731
451
252
53
584
78
987
500
285
637
715
752
74
138
892
783
538
856
463
951
186
755
781
47
549
770
427
923
887
890
797
542
920
206
231
928
600
323
744
24
826
785
129
525
461
684
220
368
368
606
391
877
700
313
829
490
945
776
327
310
990
255
569
905
275
399
219
700
498
702
529
77
319
178
506
487
745
615
196
350
93
984
62
106
422
718
370
449
134
285
529
951
487
547
656
606
699
126
208
77
894
572
479
26
808
342
597
551
252
32
609
151
340
638
120
387
765
510
487
623
457
344
217
807
621
721
57
375
515
974
463
460
95
927
622
348
454
192
611
889
827
806
250
352
77
798
355
270
112
335
21
116
272
148
457
667
371
389
500
1
877
603
849
370
511
412
278
347
422
484
900
859
403
159
646
381
508
465
1
2
622
778
159
648
449
646
402
271
916
136
86
525
102
350
278
183
729
906
63
807
310
400
305
950
537
829
5
388
23
54
218
188
288
866
166
298
978
935
71
206
210
931
622
141
888
190
13
555
598
52
530
800
667
180
237
574
147
752
879
918
399
731
356
750
582
549
296
518
549
240
823
352
786
647
476
911
419
471
640
390
912
342
931
139
987
619
159
866
673
945
347
942
675
637
795
110
771
437
94
309
844
253
105
119
430
656
221
650
384
613
918
58
206
290
928
451
946
366
451
252
208
640
496
121
102
717
24
773
265
460
963
342
989
720
104
758
597
579
154
860
342
538
287
135
475
997
892
469
931
276
600
586
823
456
535
6
643
616
481
145
800
207
944
326
869
128
353
351
514
422
673
928
398
129
614
350
16
331
97
39
635
6
555
955
858
341
292
124
778
100
440
941
534
656
920
460
275
851
161
818
911
895
494
940
435
435
324
229
613
469
158
834
370
999
349
399
709
191
27
499
364
357
84
80
518
93
645
834
59
415
723
443
703
463
987
727
311
120
750
504
735
212
608
297
284
31
831
718
522
902
365
404
309
763
68
27
844
638
415
213
298
897
322
759
54
843
940
280
43
623
202
454
863
640
81
441
623
665
856
324
967
323
746
41
801
362
626
634
188
421
622
67
143
519
436
977
565
749
585
931
170
93
351
896
141
107
257
788
235
483
447
809
902
738
12
985
202
932
490
46
193
358
504
78
675
652
952
561
345
468
856
695
111
640
736
391
964
354
522
89
469
803
505
633
550
482
842
226
101
623
78
727
373
356
502
263
638
250
498
497
568
833
873
795
103
37
547
650
241
428
164
564
592
157
955
670
971
564
664
760
83
222
414
106
622
186
455
392
226
940
544
291
389
294
712
340
973
288
747
696
835
517
274
491
490
498
695
15
37
882
635
409
815
491
303
325
940
301
92
533
255
550
959
610
14
284
0
156
988
540
494
865
640
869
538
217
506
226
518
175
278
869
665
325
158
307
26
801
331
586
487
182
399
86
364
330
486
107
466
103
587
949
136
91
475
591
760
924
854
157
792
857
192
21
444
733
854
372
73
276
120
532
195
747
977
875
722
614
264
542
682
637
368
229
860
726
739
618
102
28
303
444
515
377
315
916
717
906
549
84
307
813
467
294
219
6
544
440
903
380
977
35
75
43
784
20
873
215
696
558
595
248
974
716
228
936
47
24
211
51
138
580
335
361
547
874
862
430
952
847
849
730
913
456
398
672
364
208
258
99
87
594
216
353
281
615
529
467
903
830
72
175
583
522
505
861
9
98
858
122
281
326
165
995
781
142
949
221
698
90
784
752
325
575
244
434
833
671
221
430
616
485
733
67
279
939
492
137
446
232
983
831
212
371
276
38
39
304
937
550
299
425
844
318
855
104
924
947
440
574
598
446
215
10
185
320
665
677
576
172
895
907
829
938
777
87
759
671
718
158
916
697
898
383
800
372
809
144
319
98
635
902
850
195
781
781
525
326
126
895
399
787
810
299
191
990
631
484
724
245
557
151
349
80
809
563
253
528
47
106
453
80
821
725
453
921
417
233
924
268
612
509
823
898
768
591
278
917
660
483
814
876
224
646
168
356
869
444
819
533
704
949
939
113
567
435
648
494
779
243
342
814
285
924
925
745
51
961
556
299
701
532
325
269
539
587
867
151
817
615
520
659
991
455
882
904
103
281
146
782
385
381
829
967
763
817
964
647
641
448
820
469
748
120
128
714
602
216
770
750
600
911
169
361
185
567
411
129
496
624
783
814
162
37
402
639
512
575
363
794
15
172
138
131
597
150
22
324
414
826
950
704
77
953
446
788
401
404
373
428
548
524
115
319
526
731
359
471
408
514
972
788
316
663
891
392
289
540
757
556
136
801
348
327
464
54
825
660
396
272
81
717
334
419
143
207
981
863
754
990
52
752
812
51
943
819
486
104
906
771
921
480
980
720
288
174
34
200
818
79
533
890
512
527
748
779
395
827
561
418
521
903
572
923
839
730
987
6
363
848
143
260
113
809
10
696
895
432
43
37
354
227
549
51
592
715
507
851
351
994
610
432
528
516
915
858
191
413
587
232
223
428
584
487
391
213
259
124
154
702
308
491
123
85
824
708
102
454
644
778
517
173
566
18
371
402
227
50
251
946
641
631
273
384
394
338
639
870
61
618
29
382
254
509
772
190
757
373
815
233
913
239
134
220
110
370
635
215
564
830
650
356
582
636
68
713
273
611
873
265
779
826
782
987
356
464
865
741
620
544
182
366
255
945
500
457
112
892
114
886
737
364
806
170
708
453
995
793
891
345
390
254
97
866
166
886
968
293
716
324
35
495
10
185
995
729
142
326
209
971
892
783
247
47
258
624
782
289
925
799
90
191
488
438
399
902
509
236
588
926
383
9
440
906
275
466
980
102
946
425
301
832
751
462
490
659
19
636
361
556
878
176
878
16
957
654
697
643
109
157
605
369
521
516
659
889
700
29
275
276
525
299
876
11
533
694
469
263
835
43
29
30
817
481
980
930
611
878
627
166
574
442
754
159
885
57
801
962
607
901
873
926
944
874
104
67
559
690
305
356
846
182
461
835
660
493
91
428
801
383
738
970
890
826
557
366
946
473
659
105
866
148
626
731
20
251
901
204
87
640
988
237
71
413
857
771
980
787
843
536
66
486
879
442
511
521
323
958
489
616
38
949
813
704
192
813
611
66
832
703
523
101
552
837
551
311
773
235
583
939
110
905
307
373
549
734
341
532
354
413
296
383
277
956
637
278
776
798
85
868
945
210
676
813
104
68
431
290
424
96
119
394
161
205
132
828
438
284
804
619
991
949
919
878
162
884
659
386
157
985
477
471
765
407
611
641
215
39
158
347
565
49
844
261
981
539
307
670
3
56
133
18
478
492
775
169
47
220
677
630
255
73
644
134
198
670
915
336
333
312
952
711
147
431
606
154
733
374
294
275
254
780
435
732
522
784
813
687
828
529
110
138
848
119
325
604
777
850
367
373
731
976
327
655
546
635
137
460
318
694
904
670
392
290
106
944
191
567
198
712
174
591
299
1
231
739
669
5
264
354
685
950
57
647
871
867
252
689
531
379
283
656
722
709
498
684
987
904
566
322
380
550
624
447
572
57
227
486
296
766
99
544
905
0
420
688
472
332
146
679
453
343
371
787
176
911
921
379
857
757
792
827
748
732
207
1
353
891
687
23
583
591
194
248
728
50
456
448
142
286
413
219
411
590
819
603
803
206
700
25
32
309
731
630
833
284
700
497
462
920
439
473
840
117
5
165
494
511
76
758
486
536
599
933
403
386
273
101
547
136
571
540
475
548
147
689
562
169
947
672
71
601
547
789
906
494
541
793
635
704
318
961
999
97
781
258
482
348
561
824
116
729
952
826
272
487
651
172
66
234
591
589
281
201
789
263
416
354
327
525
445
587
520
672
120
517
492
53
720
951
66
132
773
153
352
94
329
252
20
887
62
871
916
245
809
113
945
78
788
764
196
681
193
770
601
22
700
461
941
698
939
725
808
1
388
194
572
954
535
814
191
541
996
299
687
708
380
463
629
696
364
664
784
940
14
896
490
509
633
669
341
805
486
819
897
753
212
379
626
119
909
888
443
15
879
531
645
429
613
372
930
854
716
870
288
281
156
596
271
330
503
776
963
516
894
900
517
705
861
955
828
430
75
640
133
822
894
790
399
593
877
476
852
780
500
959
833
337
50
200
895
896
30
527
835
424
803
298
609
121
828
42
122
384
7
165
890
867
402
430
507
549
970
805
40
618
624
544
540
746
99
922
190
125
836
298
187
720
912
802
64
141
887
277
2
513
994
6
335
719
249
570
881
907
466
763
143
562
62
911
206
345
99
207
829
418
682
738
49
208
655
161
920
928
113
554
372
925
125
357
357
116
289
716
637
937
365
971
183
162
932
928
882
589
685
736
352
538
835
565
426
418
112
603
459
661
580
43
692
850
877
643
587
832
210
973
29
218
231
367
260
786
685
529
237
269
410
82
324
597
310
353
123
825
954
428
190
453
140
342
87
254
311
73
185
794
881
569
285
727
177
485
886
537
281
87
180
150
707
858
539
326
786
176
347
332
988
945
488
325
390
938
289
583
494
13
220
881
953
806
828
384
402
167
754
767
770
960
867
244
203
982
461
408
561
643
563
237
522
921
463
379
597
562
416
573
896
497
602
777
360
781
688
904
283
153
40
916
555
877
560
809
45
674
419
386
916
809
956
513
890
951
422
821
799
922
40
872
855
329
331
20
844
652
123
991
698
322
508
456
391
735
790
986
129
17
255
886
304
50
283
882
309
407
357
541
637
558
454
167
918
147
847
384
341
354
167
725
421
509
299
120
762
489
208
688
126
443
634
845
5
654
750
855
433
478
233
969
843
975
758
86
641
94
299
364
209
828
759
243
254
151
126
73
930
107
869
225
820
555
901
848
620
816
818
560
493
327
739
422
103
804
234
300
877
703
504
248
354
46
299
215
970
556
636
490
29
432
994
794
327
76
249
428
472
94
486
123
533
556
64
6
763
522
354
550
162
896
191
182
308
725
840
905
828
151
855
496
270
174
247
737
421
690
571
174
483
989
266
616
808
877
267
212
27
748
399
532
323
768
237
599
821
72
432
450
120
894
983
30
918
368
423
42
188
100
41
967
405
249
602
717
996
12
51
455
679
222
566
222
398
503
489
697
117
306
207
38
958
947
708
283
395
448
984
728
989
7
910
160
973
451
17
839
507
581
135
408
299
207
410
877
440
475
82
873
526
69
679
186
330
433
467
302
680
541
195
401
467
972
44
151
391
319
89
645
122
916
73
278
636
5
670
749
193
160
474
414
90
923
244
328
901
440
696
359
714
907
151
631
845
373
440
12
795
952
817
354
741
229
633
881
182
256
795
793
540
533
106
123
330
794
319
780
1
98
299
628
603
769
50
616
724
277
763
869
617
328
252
971
673
21
831
480
523
614
654
557
39
470
366
257
905
221
579
564
17
724
147
183
521
884
684
898
736
942
516
905
787
777
622
325
488
957
132
639
383
375
555
149
634
154
530
283
131
777
923
420
624
404
52
322
239
308
564
680
56
400
681
353
650
303
785
22
732
17
207
426
417
753
431
471
599
942
270
560
449
442
404
624
261
768
822
526
570
899
465
961
826
167
773
291
358
785
192
228
752
778
803
407
662
609
669
876
955
300
253
2
763
896
30
826
173
588
552
567
686
689
56
215
254
471
533
311
189
685
568
80
572
405
774
599
706
795
353
890
498
702
713
101
740
93
910
986
631
113
553
392
342
230
422
175
624
961
749
448
842
169
894
528
717
918
19
310
126
829
498
24
17
489
95
114
739
647
900
451
20
325
57
743
518
566
866
556
695
774
374
790
289
378
453
13
101
941
239
21
665
300
231
164
551
254
969
175
155
832
444
36
20
505
622
852
750
9
466
202
762
839
322
967
442
172
468
741
793
758
371
884
356
297
789
584
352
659
509
166
799
426
911
289
581
134
597
947
672
627
887
572
271
127
541
127
303
105
814
624
289
511
73
790
406
239
881
256
931
585
674
925
454
24
747
321
468
875
904
500
766
692
104
472
646
486
145
408
332
696
856
712
157
541
313
706
551
321
774
106
725
547
15
987
11
475
989
458
614
773
255
510
807
811
695
735
302
654
954
496
510
494
795
148
402
992
533
301
486
279
420
514
155
190
480
450
887
4
657
202
398
311
518
74
188
38
479
976
141
495
423
209
259
584
379
685
269
943
210
909
646
980
400
177
741
857
781
357
778
774
931
124
416
844
692
920
62
464
587
677
814
823
906
31
233
172
987
104
966
325
346
552
694
962
259
396
184
239
667
156
251
833
81
574
65
304
426
904
314
58
810
544
542
373
282
635
78
653
539
870
284
43
771
620
779
649
9
626
184
301
757
440
96
679
900
962
409
11
51
150
268
640
794
945
120
348
503
882
846
473
690
25
788
412
275
630
741
18
150
536
561
42
103
117
132
295
873
514
287
856
85
138
890
779
445
518
420
548
737
685
308
349
504
681
248
278
245
213
912
543
98
888
235
838
389
768
381
66
15
887
472
316
46
280
793
676
511
316
129
820
525
526
281
210
42
121
505
390
207
151
278
356
292
262
32
55
286
237
821
410
410
688
139
302
215
936
0
203
778
194
935
664
344
358
865
236
395
955
787
786
356
923
388
611
273
600
715
503
283
943
180
676
999
73
38
540
757
511
975
991
288
427
704
446
766
212
888
307
417
648
339
588
533
391
195
543
138
506
465
779
952
70
771
226
753
462
11
330
628
490
858
616
238
87
441
20
332
260
685
948
5
488
682
687
283
464
401
482
74
655
432
993
922
753
383
90
770
540
388
637
908
718
176
147
866
379
697
825
137
611
160
277
284
791
585
143
80
952
529
131
772
987
170
186
139
946
43
618
947
523
685
479
251
526
68
667
661
368
960
570
268
26
998
866
278
831
678
526
929
818
96
567
103
338
357
33
958
495
49
732
889
412
974
156
605
14
820
983
783
562
552
370
655
265
354
6
674
804
132
855
822
237
51
919
290
893
64
507
20
119
150
425
897
585
509
635
658
454
176
380
505
149
605
332
899
616
466
444
126
555
364
743
102
583
28
85
845
206
526
118
354
152
317
60
308
329
929
624
58
642
706
238
406
930
70
543
28
184
48
97
745
44
349
185
330
311
18
743
436
712
218
944
296
281
610
764
609
563
526
137
978
613
482
89
51
726
641
281
623
464
316
499
501
438
500
178
43
375
292
346
371
328
663
839
140
817
787
377
716
350
644
732
578
571
830
136
782
145
237
395
439
509
721
436
793
175
483
159
192
210
671
680
956
787
537
329
639
218
861
184
601
849
282
751
41
212
283
735
138
153
32
235
774
704
597
395
930
519
228
62
845
362
436
902
736
116
181
857
554
843
250
798
650
162
920
832
531
27
639
137
181
23
247
959
406
348
531
883
159
516
545
793
309
500
667
292
750
289
294
354
241
367
456
117
448
393
180
831
623
421
264
204
504
859
935
28
803
770
29
529
800
88
288
953
215
717
148
887
178
720
518
401
330
754
405
219
762
274
311
410
744
924
615
250
217
589
440
870
922
821
673
60
349
14
599
129
998
450
78
73
296
101
555
134
633
556
314
126
481
587
216
204
977
229
415
880
13
869
510
879
702
160
692
44
771
0
184
828
817
975
337
578
843
189
19
675
9
154
626
131
126
715
684
270
212
674
953
240
481
343
383
453
334
955
284
409
327
795
641
298
868
875
98
144
980
315
529
336
642
916
584
790
667
387
181
830
875
257
438
391
570
787
988
276
266
880
956
827
504
127
381
135
399
42
360
215
470
62
477
647
278
478
399
451
809
973
427
347
113
239
846
627
957
679
726
869
291
958
113
844
490
492
11
381
323
867
901
933
976
280
477
93
687
903
130
525
182
356
328
51
544
152
235
360
38
666
931
146
361
875
162
520
42
999
118
233
820
754
840
374
923
248
763
966
880
395
634
655
736
776
330
926
850
626
926
313
892
817
957
694
211
315
903
75
195
345
21
218
293
25
970
142
392
961
181
25
837
29
114
216
820
723
572
102
888
517
52
589
189
369
367
571
68
5
393
839
211
89
80
424
260
424
893
920
618
496
241
851
740
720
784
387
804
6
245
456
491
751
186
769
191
950
878
693
560
92
677
742
10
657
143
492
168
577
662
823
97
892
97
723
889
497
440
85
659
719
965
582
821
116
181
960
668
854
534
500
52
427
714
428
992
235
259
619
519
782
745
496
276
565
217
700
659
893
84
690
147
551
104
63
544
491
923
354
644
451
927
85
185
359
783
647
885
618
146
838
166
171
632
101
564
181
673
232
960
246
901
802
883
312
904
276
643
566
459
492
104
563
718
972
925
10
793
285
156
648
744
389
984
524
684
981
242
890
410
929
926
792
876
906
377
645
733
807
843
20
638
54
287
473
519
92
263
102
137
561
377
628
745
485
210
831
61
414
123
152
584
952
550
96
45
415
154
281
710
507
298
469
225
315
144
805
470
370
63
610
373
193
596
505
133
286
26
300
464
182
56
715
728
291
475
614
524
850
421
755
563
737
981
62
433
460
349
726
528
469
201
900
730
539
895
452
763
589
976
991
509
856
480
832
125
850
225
398
113
162
560
873
19
743
133
324
916
196
204
752
695
855
968
143
374
714
350
150
27
852
444
721
222
110
371
390
906
246
950
831
862
589
940
588
895
394
466
332
410
693
639
227
767
567
275
593
88
327
80
298
545
75
46
468
513
691
423
264
231
450
249
996
658
959
206
791
835
247
700
719
898
438
190
23
264
216
812
615
887
624
217
944
992
436
570
953
493
207
795
761
306
291
278
510
164
785
397
671
161
77
814
523
200
750
744
468
103
696
459
563
960
32
829
383
110
453
677
303
614
940
862
18
142
515
276
383
603
294
955
587
222
829
790
960
547
260
704
396
915
813
176
805
842
347
813
239
993
786
726
92
266
819
856
129
237
744
708
65
785
94
507
719
231
538
737
816
28
998
822
762
303
344
569
509
230
646
268
533
706
809
381
354
991
348
888
624
22
644
296
231
23
667
695
204
554
699
593
915
654
169
103
915
486
667
321
964
966
887
322
900
635
845
435
264
819
557
397
401
305
97
462
370
13
299
476
165
109
43
209
785
83
605
33
25
107
141
599
550
271
474
347
803
89
639
437
405
782
279
127
596
473
367
548
584
6
318
66
542
112
73
81
82
356
475
991
54
30
854
920
83
560
331
428
428
405
955
645
70
344
151
441
302
368
812
490
199
999
178
588
909
925
913
620
902
629
193
438
751
185
856
893
578
823
740
464
143
83
476
432
212
197
530
803
218
670
685
495
719
710
935
853
562
715
710
628
349
340
71
783
826
257
594
572
94
737
590
240
376
523
627
928
481
194
808
473
545
722
454
483
572
516
827
390
430
901
317
67
629
941
840
619
409
647
740
66
395
178
446
907
659
593
303
599
241
729
845
55
674
144
646
872
248
178
189
928
475
13
40
114
272
952
408
769
127
290
940
122
410
150
543
495
766
761
591
769
897
583
926
142
496
267
353
965
588
666
170
225
888
941
426
832
937
444
34
328
706
328
889
719
977
888
615
662
297
143
649
858
655
273
559
695
785
778
846
56
658
97
686
993
930
607
72
79
463
87
617
767
793
368
395
522
652
467
598
308
206
667
652
153
506
531
959
782
392
514
974
672
812
479
108
174
651
103
598
13
512
55
644
160
545
376
847
884
450
627
588
939
715
444
645
443
888
8
901
739
682
68
184
477
968
125
77
318
556
610
123
452
903
521
744
982
230
74
17
457
447
322
786
553
714
614
136
76
96
167
323
412
386
804
591
212
852
379
288
804
23
63
954
263
829
985
163
605
251
752
340
223
696
571
3
467
327
653
696
267
762
194
14
727
632
348
572
764
192
979
557
668
433
415
139
852
322
477
484
329
309
298
514
275
480
633
789
982
295
989
73
944
254
650
879
300
926
889
2
461
902
177
42
777
133
957
119
789
358
446
431
307
145
583
722
649
598
412
721
383
612
72
312
351
211
905
534
188
160
743
54
418
887
856
641
260
59
433
31
977
532
990
747
43
724
266
31
642
794
789
376
40
213
762
584
768
160
491
801
528
755
742
718
777
261
359
758
43
829
141
583
21
745
274
976
498
70
979
18
403
578
690
846
879
672
223
497
38
935
890
427
163
51
269
522
574
116
479
315
703
591
94
664
452
454
71
365
148
648
151
468
339
44
455
869
979
597
760
847
889
934
152
194
113
964
955
87
383
43
920
464
304
166
668
233
178
830
517
209
239
220
397
118
575
99
982
111
948
248
712
533
599
566
983
349
734
705
536
179
245
953
990
394
138
48
812
486
239
525
427
109
861
69
295
486
42
774
725
223
261
616
84
801
49
343
709
647
542
58
6
316
982
720
961
607
763
232
813
592
852
564
588
115
818
144
843
933
184
868
64
221
921
549
993
116
728
110
844
16
844
143
483
530
614
514
26
633
961
603
96
282
928
354
466
931
307
980
121
210
584
25
586
188
487
130
483
702
310
227
207
776
22
997
503
404
207
108
977
869
260
504
716
550
433
869
152
822
437
170
344
662
964
65
854
561
873
752
46
252
824
1
221
336
495
587
632
685
330
104
958
649
671
442
524
175
214
24
786
185
595
620
702
373
769
487
761
461
900
25
853
640
244
2
919
49
459
101
191
176
83
253
515
757
101
609
28
71
31
356
864
11
305
586
658
785
471
111
796
839
669
58
660
57
658
858
413
704
597
880
315
21
351
403
515
611
531
781
137
191
420
589
108
984
356
988
823
632
444
592
51
816
462
475
176
454
554
400
552
849
796
868
658
321
867
57
663
961
627
311
953
946
976
571
571
622
581
816
47
267
288
168
667
277
287
712
372
233
647
252
698
829
37
541
98
871
575
988
492
463
981
705
73
851
50
196
498
334
98
759
658
156
93
190
115
687
893
649
688
138
715
741
333
86
474
397
91
619
641
610
501
862
548
791
617
495
447
670
850
173
837
921
722
983
709
939
838
460
785
533
873
879
246
137
529
17
16
66
476
363
439
839
163
496
61
349
738
751
85
770
674
284
105
694
5
683
591
81
299
503
920
757
947
602
239
553
874
910
903
187
785
31
9
251
206
609
227
246
111
742
816
84
151
364
546
711
131
540
477
343
495
960
410
445
236
505
623
784
982
527
801
238
44
548
807
284
999
226
369
110
127
235
413
616
755
213
427
92
544
702
288
480
587
963
310
201
164
921
805
411
192
712
320
555
126
166
197
516
170
956
750
564
573
488
347
162
759
63
915
517
706
992
269
122
482
512
510
364
554
638
16
313
778
538
840
510
224
742
273
791
965
744
331
85
718
628
169
24
337
759
697
293
513
903
974
349
981
614
360
90
649
344
223
735
621
151
221
41
735
617
204
514
281
320
284
16
800
521
221
574
758
681
222
822
929
185
534
58
901
976
42
933
991
254
286
395
292
145
886
824
394
18
703
819
189
319
59
930
148
20
697
949
312
292
938
898
107
820
614
632
577
122
925
170
407
788
857
989
689
623
391
610
17
685
442
517
643
859
46
213
853
530
353
441
51
627
112
924
219
246
329
674
685
780
246
130
540
803
530
598
858
70
397
625
847
509
499
137
687
767
764
137
411
607
144
890
8
480
243
922
469
244
499
534
615
185
219
667
889
383
3
797
566
766
521
83
51
789
265
354
772
622
267
235
545
169
902
610
605
551
16
797
123
82
761
460
534
353
88
558
42
702
551
577
764
215
919
325
583
16
713
611
80
140
923
331
696
485
621
865
735
464
352
385
438
832
905
819
578
496
671
949
686
385
115
847
402
830
984
311
180
296
262
503
374
52
21
967
509
813
628
143
729
620
345
184
481
399
282
943
832
28
384
764
215
499
22
944
514
238
874
391
969
205
61
146
38
260
659
83
694
395
398
375
892
831
323
824
306
508
587
485
126
931
269
721
867
60
461
934
430
71
623
791
19
713
949
314
510
663
865
956
749
104
604
875
893
681
79
12
845
349
254
807
496
444
911
438
602
772
278
482
550
895
76
936
626
22
585
479
54
340
619
299
172
694
204
733
86
507
251
441
73
945
60
627
975
277
970
908
76
105
198
759
259
156
606
488
29
59
457
807
477
841
576
851
379
47
996
71
899
795
665
467
756
977
653
818
365
890
514
438
539
275
55
645
45
86
891
918
897
801
379
416
380
781
208
252
19
780
624
105
924
818
258
180
494
634
780
615
992
625
332
650
840
465
386
829
791
441
50
72
656
985
657
467
252
602
479
804
891
753
267
881
315
333
175
592
26
562
535
177
746
831
496
693
170
673
79
761
972
768
794
471
402
554
980
188
85
129
912
323
993
91
549
627
673
438
297
867
673
691
486
651
618
259
243
176
181
470
947
498
292
542
485
409
875
681
542
925
506
660
529
478
839
198
344
844
180
733
384
689
152
568
184
473
281
473
466
652
467
808
864
511
219
705
775
444
653
385
185
171
519
604
861
426
587
762
497
52
212
322
784
758
6
678
181
562
124
658
558
905
105
118
500
741
19
434
515
730
438
543
941
403
174
431
392
758
399
290
562
355
580
870
304
326
251
708
455
879
668
206
707
698
108
869
835
905
124
352
86
314
200
812
936
332
767
186
362
926
58
511
427
927
827
71
769
519
671
232
632
121
399
202
231
275
769
179
215
265
344
20
402
3
961
302
663
151
589
124
632
800
640
416
619
95
178
324
869
845
174
629
344
13
419
661
177
857
310
168
204
273
164
781
628
766
906
370
478
291
576
993
105
581
295
868
235
1
612
991
923
611
129
485
870
580
275
435
108
35
365
186
301
333
618
286
926
241
113
551
420
163
636
650
841
470
431
683
668
977
539
847
537
785
324
352
186
369
841
344
243
244
126
277
514
305
641
898
288
330
11
620
207
395
918
546
261
986
355
858
187
931
987
471
874
885
781
829
914
794
676
259
274
699
176
896
780
422
606
425
64
49
392
130
644
627
200
99
255
883
924
935
515
249
786
371
595
196
714
931
256
576
824
411
951
372
282
247
274
24
532
890
880
706
672
684
367
608
295
312
692
702
633
734
241
889
815
123
523
110
361
757
869
285
340
754
993
841
771
37
44
28
479
8
513
245
549
288
181
245
418
134
781
705
413
434
921
484
191
840
838
158
245
524
645
628
740
532
424
284
716
81
214
228
543
704
708
76
434
155
210
556
706
493
662
376
51
121
176
9
123
525
319
106
989
815
902
426
920
508
93
488
697
889
779
513
83
375
998
258
834
188
597
229
679
824
33
152
154
828
936
323
31
243
361
54
757
536
523
270
627
850
36
803
730
859
723
349
245
417
463
978
92
855
267
477
261
652
377
794
178
727
5
370
522
170
927
484
817
238
416
644
161
378
885
906
981
320
131
394
646
55
70
908
957
589
100
456
769
593
331
145
59
724
27
76
485
516
119
189
143
534
993
187
830
494
284
374
154
836
638
574
851
292
460
820
693
962
785
992
39
571
307
771
151
258
236
509
223
582
895
215
199
476
298
271
994
896
732
305
831
385
153
674
261
838
222
591
634
746
377
543
415
748
86
756
282
610
263
877
546
611
708
772
348
873
277
156
822
321
466
604
719
845
906
255
157
135
720
489
459
668
899
539
76
568
162
801
264
758
532
425
139
55
840
470
637
961
846
124
87
176
373
373
254
648
634
968
32
505
548
466
366
756
544
454
815
403
593
711
12
695
636
637
216
91
175
76
631
451
228
574
171
516
241
463
57
431
611
434
625
762
452
913
607
843
560
759
358
809
774
509
259
701
281
741
431
406
346
344
717
16
906
695
534
803
713
270
592
112
392
896
908
516
617
222
188
931
777
893
426
919
768
833
473
422
512
972
299
354
761
310
837
634
831
426
201
618
377
749
138
844
566
296
730
692
601
655
957
870
929
767
426
915
330
122
837
807
852
116
940
779
251
552
507
722
150
738
829
861
980
729
698
848
43
996
470
525
279
397
951
203
119
370
111
708
237
88
463
75
83
950
978
964
461
164
119
544
292
683
419
790
582
54
31
994
246
828
66
190
41
845
521
526
166
272
459
494
282
148
720
88
638
123
793
87
453
311
706
102
653
846
477
68
783
351
471
43
900
866
28
248
69
525
184
130
146
533
39
997
101
608
709
425
665
211
647
328
446
968
229
382
650
278
986
257
864
766
302
406
185
438
461
450
879
594
596
240
555
958
552
244
791
506
168
315
504
116
183
191
7
558
127
556
738
801
484
904
757
465
160
875
781
457
813
896
787
801
320
712
794
380
930
189
965
65
668
607
62
182
697
308
683
396
854
641
22
864
708
363
302
898
917
558
613
557
544
275
662
997
663
904
401
68
399
114
26
265
266
378
740
488
989
496
727
803
859
672
669
658
392
357
723
729
850
509
886
294
484
888
357
800
259
797
619
296
824
26
721
205
61
620
704
352
305
290
173
604
578
844
216
96
690
980
140
827
732
396
553
893
930
348
674
750
580
239
720
68
281
185
458
951
945
992
162
807
578
240
205
932
722
584
376
236
382
249
887
414
898
673
781
370
902
850
74
206
818
990
129
57
920
208
784
250
393
619
620
902
685
645
769
909
967
561
458
203
257
475
678
953
8
195
14
57
741
139
817
288
904
103
386
386
651
885
621
203
809
258
954
71
378
81
153
188
79
998
397
823
134
924
40
815
199
148
624
109
901
913
28
767
118
896
66
292
797
421
472
638
124
591
101
223
339
892
590
62
125
989
144
787
641
182
666
960
497
3
567
87
196
979
402
714
340
309
677
494
897
758
695
39
742
667
718
637
330
789
297
928
399
577
562
331
919
630
599
350
440
621
733
138
737
271
443
805
206
53
798
958
978
671
798
75
253
854
590
325
821
320
588
558
504
802
422
428
551
685
123
819
686
507
76
928
14
583
127
966
103
135
756
209
212
129
178
455
28
626
649
696
828
128
354
361
952
58
576
467
556
714
53
70
284
580
676
688
963
841
579
566
789
752
172
512
927
887
936
839
190
477
180
261
350
145
831
736
280
678
121
513
51
357
212
439
913
924
185
745
559
38
469
851
77
386
437
711
556
384
242
848
529
896
349
14
500
245
785
171
48
63
886
20
467
906
957
328
393
910
737
620
994
847
726
365
895
511
412
301
52
122
8
364
858
571
762
202
414
135
722
575
842
699
259
144
877
725
364
193
305
416
402
961
46
644
198
983
434
58
81
677
471
11
959
325
350
692
369
464
766
847
913
576
338
411
783
44
728
243
204
84
313
277
997
925
860
26
73
151
170
912
423
894
850
419
928
999
987
443
18
164
289
64
358
774
575
939
395
575
792
546
487
998
56
116
454
256
603
959
966
173
222
583
819
675
953
733
514
488
720
794
775
57
106
188
258
865
327
580
557
727
914
913
208
48
228
166
867
410
227
75
450
581
88
533
283
945
342
733
367
771
522
837
427
152
567
142
817
448
964
409
583
536
331
951
160
521
389
893
511
116
217
697
458
61
957
465
951
695
432
545
105
197
251
555
885
390
862
915
83
858
787
604
362
687
918
738
927
581
57
276
64
857
959
353
600
10
413
95
388
601
9
574
398
50
435
305
813
63
108
607
215
811
211
878
913
424
785
288
37
171
402
111
432
817
809
870
554
557
347
769
948
997
49
456
495
233
546
672
936
626
880
30
209
535
936
295
440
206
903
919
42
646
361
730
145
339
52
754
869
682
759
545
343
648
622
679
11
313
600
164
733
602
181
70
52
493
875
504
621
515
205
512
563
33
509
280
961
652
46
289
972
937
718
626
251
328
352
25
802
521
147
502
534
394
884
109
772
716
405
201
32
138
121
428
639
43
416
224
392
141
439
366
300
634
490
780
36
448
531
46
389
489
134
398
362
172
417
874
215
982
680
911
812
968
559
223
802
931
972
793
531
952
722
548
185
167
342
896
264
894
250
910
897
503
191
60
691
505
467
577
639
247
907
51
237
861
213
456
429
194
26
110
397
173
38
96
129
236
125
503
947
981
231
48
739
431
81
87
187
634
246
830
651
448
32
177
316
203
590
584
541
585
983
853
360
153
196
410
126
901
495
179
504
186
645
682
802
951
940
590
760
748
709
830
364
279
238
793
174
715
687
721
250
385
377
461
449
63
123
543
776
773
94
798
963
44
650
76
349
832
293
508
842
243
29
357
69
727
725
639
279
991
352
604
179
917
930
272
592
71
112
773
616
752
600
727
866
897
156
468
533
299
946
362
658
400
735
252
177
740
914
896
122
110
240
299
376
832
598
102
477
736
184
662
578
387
682
927
920
577
349
860
229
399
543
120
905
477
856
747
649
800
198
307
895
45
414
731
406
49
10
490
338
64
513
448
290
238
15
423
262
621
230
583
456
972
115
814
730
703
19
316
724
299
669
828
346
54
960
302
105
28
608
120
991
442
558
942
595
73
151
795
926
55
487
274
865
860
395
360
669
795
656
846
434
366
642
633
994
240
508
887
763
200
38
943
967
351
246
541
766
67
685
573
998
518
292
469
76
443
671
515
566
933
932
740
166
444
25
961
136
966
831
967
606
813
971
174
802
181
43
694
681
96
776
456
23
523
430
436
253
485
628
896
599
42
358
415
245
648
284
882
399
222
639
353
871
522
106
657
590
337
432
767
810
320
316
919
762
70
290
135
649
131
763
662
174
589
811
28
597
56
311
804
803
269
949
117
231
932
669
693
890
313
731
154
132
122
213
262
119
407
704
140
79
674
577
874
783
450
15
764
934
499
817
646
65
349
163
107
762
897
67
870
905
354
360
918
963
256
409
570
49
34
33
545
16
183
150
0
876
710
312
713
623
189
438
844
944
783
681
632
582
773
980
123
622
324
900
709
10
967
132
845
359
444
594
56
439
163
884
869
574
220
502
332
621
33
448
197
56
438
548
540
680
915
510
153
517
239
427
408
928
375
14
554
614
413
172
332
376
42
301
836
924
646
141
765
930
854
510
587
636
557
837
424
138
743
989
249
698
637
713
703
869
676
75
789
930
950
430
888
670
557
331
455
862
971
874
174
563
339
204
84
618
252
787
447
292
512
434
751
273
116
833
582
837
497
283
776
589
704
505
150
235
202
27
700
205
66
166
826
726
410
836
361
353
573
554
163
277
102
973
115
13
728
224
154
451
618
107
660
670
381
300
716
686
640
446
359
152
789
731
378
596
960
806
78
930
183
972
866
634
254
112
112
687
359
861
583
841
77
630
745
255
823
50
451
972
611
569
217
377
62
484
131
98
280
409
355
977
16
975
116
245
720
165
185
321
671
928
107
569
938
872
771
162
470
556
103
66
753
409
328
473
176
116
333
486
806
112
423
862
412
843
659
378
172
919
788
160
352
722
445
377
286
715
61
426
819
696
203
171
248
8
281
754
388
164
633
270
899
379
38
720
992
995
798
412
402
896
658
376
667
90
667
476
471
176
911
558
791
785
522
991
906
95
281
106
445
202
395
707
24
413
173
154
31
665
395
536
679
442
339
764
55
469
142
197
391
763
220
353
329
357
721
989
458
745
147
339
773
877
223
210
231
342
53
655
431
541
176
676
788
694
7
954
332
86
741
429
289
474
689
477
476
40
317
572
38
318
355
314
343
514
240
909
90
694
474
929
709
125
880
201
54
475
816
815
924
854
226
651
988
542
809
667
455
915
484
677
131
512
902
804
664
767
587
933
226
142
623
221
951
119
263
899
233
742
181
631
649
415
451
554
602
401
243
943
295
393
407
674
627
247
574
992
889
582
164
250
907
312
287
819
413
634
12
288
428
330
838
833
433
774
623
185
620
512
119
555
801
473
483
881
507
782
336
488
167
655
135
817
472
416
326
902
567
389
560
594
504
74
365
173
671
669
326
351
327
307
369
542
328
161
492
860
577
701
577
204
169
904
752
16
655
367
46
561
754
341
798
483
290
705
938
319
190
706
392
528
226
537
823
560
248
263
574
665
871
203
150
646
440
471
880
565
768
86
958
274
962
767
817
183
381
694
665
995
235
430
871
944
691
752
278
155
971
254
519
311
346
80
452
221
648
961
218
51
459
723
94
379
981
919
717
280
894
113
832
156
379
666
92
19
323
780
159
683
283
75
798
36
161
503
39
894
97
525
871
771
542
822
721
947
686
935
366
704
997
827
121
367
340
431
172
733
593
548
392
786
893
863
176
931
544
100
209
232
244
734
91
114
227
701
909
188
324
871
453
571
798
515
705
996
268
725
589
121
425
38
839
337
521
13
499
549
336
722
136
956
330
232
165
279
188
727
310
643
331
577
559
990
848
345
249
236
525
852
892
178
257
329
603
43
616
817
39
221
537
305
854
228
241
998
765
654
507
287
680
703
734
171
917
683
636
50
995
732
219
151
145
457
301
582
523
841
672
559
722
407
860
483
226
526
980
945
242
135
888
932
434
51
684
330
368
718
876
203
198
845
581
436
95
688
365
998
623
599
650
491
179
405
55
334
659
81
781
938
163
135
846
776
859
103
646
248
766
487
171
539
706
336
417
922
219
423
870
442
557
28
597
129
199
457
49
648
407
850
687
738
40
233
177
481
85
275
28
360
229
862
184
382
353
394
988
270
223
899
615
626
671
961
369
258
403
953
627
432
823
988
198
299
203
369
905
960
73
5
725
243
156
581
223
891
829
583
130
759
665
615
552
369
838
987
583
921
806
237
347
433
70
302
1
496
997
570
210
308
196
491
247
528
68
788
56
42
740
249
999
634
454
870
740
788
330
893
400
591
963
590
516
121
997
444
511
306
784
780
343
648
891
315
713
141
953
509
598
836
921
784
840
50
3
338
647
592
472
522
144
443
635
346
847
412
235
736
870
246
397
683
941
312
408
941
204
355
76
166
962
547
858
390
130
612
158
189
100
184
99
573
818
931
350
205
994
674
559
942
39
773
177
226
30
197
523
228
496
557
884
24
397
868
748
371
55
31
257
357
176
956
294
43
862
159
812
44
892
400
454
235
519
955
978
362
468
400
99
687
900
83
347
722
504
258
822
74
836
703
852
960
105
277
96
410
222
482
503
518
393
633
170
2
226
124
37
472
192
282
838
907
506
855
434
597
487
1
660
130
91
908
730
274
290
538
752
922
209
916
56
39
68
984
680
45
868
986
550
67
699
137
743
913
991
518
978
222
286
612
364
967
817
63
201
36
222
150
745
349
517
909
748
973
98
194
61
910
337
548
151
711
228
525
851
707
814
716
48
375
139
751
199
889
394
198
187
887
537
278
189
190
385
911
541
12
552
67
108
660
668
956
318
467
331
432
915
104
613
963
750
944
391
397
263
181
624
6
3
889
895
625
837
661
0
88
347
775
500
575
792
597
842
495
37
851
580
751
53
40
511
811
767
397
859
894
549
1
604
943
518
994
296
867
307
754
279
979
736
425
815
821
660
184
176
301
611
245
234
611
563
746
912
73
820
601
138
940
596
489
961
638
143
106
259
896
639
543
60
809
537
741
62
164
183
146
199
794
953
408
787
195
33
756
843
968
268
179
417
126
261
50
968
371
903
978
528
222
626
40
804
961
344
683
754
862
855
296
842
295
656
16
222
166
56
831
366
168
901
675
11
200
588
302
681
678
576
762
121
518
278
249
443
722
246
762
165
767
900
418
689
708
942
998
154
188
660
744
191
125
647
479
842
903
433
9
118
590
486
495
739
469
773
471
724
608
25
866
665
95
159
49
436
458
533
160
700
632
19
504
433
875
733
490
216
340
218
26
166
916
661
881
445
218
552
172
539
617
995
556
191
476
650
287
391
16
465
687
795
620
133
708
689
271
552
173
973
190
376
173
558
934
187
142
410
588
96
517
767
31
763
22
27
718
679
735
942
421
59
650
125
175
920
636
511
64
944
282
758
316
284
491
22
776
117
314
885
462
552
993
312
743
192
999
867
925
473
765
548
142
257
847
644
282
141
835
290
486
594
19
667
1
304
755
428
853
818
420
45
622
850
437
469
134
333
112
766
765
785
704
909
470
75
859
167
779
398
58
899
442
553
612
405
183
487
60
548
565
97
488
680
743
940
233
591
926
99
315
579
151
208
984
11
944
51
969
596
581
265
79
912
43
369
252
533
284
414
611
491
997
167
920
663
781
880
76
457
141
347
370
767
33
338
536
939
150
258
594
862
501
369
696
813
223
491
620
581
849
965
124
816
130
946
802
57
193
312
693
743
963
426
666
456
130
807
47
174
899
237
811
922
162
906
462
733
64
221
301
867
939
767
692
127
558
414
297
696
798
842
507
778
81
300
182
842
627
914
876
601
594
677
850
228
930
820
682
997
74
937
617
147
50
601
53
523
76
538
65
583
823
743
792
738
232
41
365
796
620
193
535
739
159
703
7
641
838
460
522
560
102
184
983
275
758
777
207
767
202
866
758
586
874
69
30
603
330
942
412
440
152
390
973
605
198
968
551
232
594
32
16
634
739
227
845
367
78
171
577
683
785
979
324
412
929
3
47
423
548
379
795
80
424
623
520
236
495
212
690
814
462
191
50
183
983
506
380
63
988
355
218
30
810
277
170
165
418
334
528
292
169
336
368
955
760
601
263
14
403
403
81
146
938
277
813
321
876
145
341
5
381
992
120
251
421
18
39
793
87
338
469
177
484
964
802
77
844
345
42
352
670
628
712
45
299
314
657
399
359
348
406
156
826
176
882
306
976
306
362
808
716
322
48
603
93
248
796
296
760
933
833
899
359
882
209
989
737
870
358
593
223
957
872
984
868
425
448
610
684
644
284
710
927
422
707
949
420
823
427
871
666
258
233
828
487
803
642
379
63
194
12
158
506
926
655
826
617
806
275
777
462
180
485
706
750
685
582
931
977
840
964
376
343
215
401
382
783
454
48
887
675
484
40
163
236
269
436
452
859
793
919
365
423
982
29
826
413
930
958
751
674
740
704
732
976
843
561
97
123
274
283
619
249
829
976
517
980
885
479
591
963
655
673
519
561
951
730
708
720
574
80
972
406
205
662
18
19
183
666
625
881
708
150
795
525
708
728
339
168
956
250
336
7
849
556
401
790
792
971
658
406
196
601
56
605
712
782
523
551
77
175
622
688
795
430
255
259
863
461
868
337
179
946
843
161
685
553
549
495
951
227
39
56
301
190
886
365
534
32
587
532
489
222
505
561
914
282
895
630
973
766
295
529
990
810
88
435
29
454
230
827
443
463
118
884
5
900
680
15
349
204
884
941
485
777
207
627
985
225
388
814
995
999
612
129
762
737
590
152
959
931
230
731
316
309
286
899
555
62
491
673
956
328
218
997
733
865
895
310
494
536
204
302
804
67
305
751
302
639
411
391
4
483
825
942
572
833
21
705
69
867
561
518
86
679
517
280
195
194
813
842
620
120
38
377
214
301
859
987
941
228
995
319
246
677
694
274
92
731
979
587
373
968
540
530
19
721
611
391
489
593
709
812
644
709
117
114
640
961
713
162
600
914
934
845
267
669
589
129
190
418
247
550
144
549
162
865
273
736
590
746
572
44
866
161
240
576
279
23
808
23
823
573
788
332
14
161
972
976
39
373
602
458
894
115
588
913
773
695
264
579
47
759
297
799
903
523
914
61
856
414
397
719
989
724
338
220
157
64
915
429
926
293
490
816
310
738
616
962
817
678
616
933
157
917
968
72
492
528
687
384
991
109
629
172
213
801
853
270
945
727
638
291
673
678
576
750
170
351
419
52
499
43
527
653
952
128
107
318
335
397
401
200
655
309
835
76
426
576
125
437
307
104
319
284
49
853
241
846
636
639
204
334
98
342
420
152
655
283
159
985
275
913
118
240
785
803
222
40
418
434
826
801
96
219
774
874
421
660
862
131
206
399
76
723
879
107
570
40
463
628
963
268
351
412
486
680
432
945
724
52
706
795
610
370
57
635
87
62
267
901
389
490
898
85
908
315
256
469
219
982
103
971
36
884
943
629
50
306
691
812
507
105
320
263
311
109
374
624
680
363
558
653
772
63
148
644
132
433
905
673
735
643
979
823
412
995
515
778
26
688
525
170
447
222
852
42
993
373
95
891
450
608
771
955
972
733
9
64
716
823
403
283
982
391
627
209
248
86
399
760
925
500
76
462
205
506
829
942
445
230
788
306
844
618
892
855
100
395
223
691
845
84
412
370
26
816
607
283
14
871
469
218
254
919
813
355
59
149
133
305
265
530
742
354
914
231
163
47
261
524
190
668
873
933
737
499
277
571
777
242
940
603
129
707
529
350
324
683
144
829
630
714
664
739
765
33
89
3
650
491
503
634
639
286
129
450
469
864
106
984
426
65
614
35
723
880
790
498
853
229
263
595
464
448
623
0
31
617
676
457
65
269
863
322
603
800
477
444
104
751
26
157
972
781
362
691
938
932
925
910
364
402
362
910
90
356
598
776
313
802
435
803
751
650
69
215
114
153
155
356
542
728
146
884
404
91
659
248
850
436
631
156
11
182
396
944
689
101
464
334
183
378
88
87
882
875
260
354
421
500
470
179
233
912
527
434
735
647
260
604
792
436
948
373
103
581
950
733
738
570
275
827
994
238
918
583
354
679
492
942
722
836
554
916
929
651
806
780
138
867
390
243
580
500
536
513
499
583
458
811
441
583
494
715
891
90
52
357
118
558
271
380
352
321
893
936
759
215
916
436
759
384
804
378
940
604
107
71
27
310
740
611
521
138
658
817
343
905
597
48
94
623
226
913
495
170
78
852
549
806
795
968
845
140
192
499
449
124
431
925
180
820
83
770
198
480
694
405
772
754
400
965
72
836
795
851
689
408
680
956
899
769
972
227
586
381
772
824
849
347
408
1
542
250
574
313
59
981
53
452
582
240
380
714
479
146
572
781
474
564
324
953
685
734
847
203
904
198
639
293
845
28
881
98
228
585
165
629
13
302
246
155
725
982
457
652
546
125
175
68
954
203
55
918
47
361
449
61
375
803
573
364
849
124
947
51
646
833
6
375
877
484
590
465
207
547
951
261
267
531
861
508
241
67
342
706
323
248
952
485
853
312
287
525
965
345
501
833
118
619
280
893
18
622
555
840
858
660
416
215
725
65
310
585
223
586
829
674
212
365
671
169
470
725
8
251
466
309
891
758
841
372
959
50
350
628
220
367
493
616
190
678
645
958
519
434
143
587
340
778
467
785
750
411
949
250
438
714
229
723
926
592
277
66
977
22
379
546
262
415
898
198
820
257
602
724
834
341
370
493
194
316
748
281
170
705
948
908
679
666
209
546
437
443
215
542
815
473
243
410
275
79
903
418
707
194
402
637
953
564
669
546
611
975
498
472
936
843
994
244
822
680
168
850
470
345
967
720
634
837
272
851
635
751
190
63
488
223
903
673
747
864
733
609
372
349
629
380
905
308
44
289
861
142
784
834
533
942
890
833
960
85
744
151
50
42
441
852
6
495
911
349
918
60
543
459
753
667
27
765
295
512
698
664
92
681
117
125
714
77
248
767
314
173
688
624
470
788
844
805
714
858
638
297
830
716
291
549
190
188
963
931
992
183
690
400
773
203
674
767
408
966
489
203
10
326
426
461
158
782
239
830
951
502
715
581
446
98
249
720
932
823
528
136
249
104
850
481
646
791
857
167
185
305
430
897
706
102
77
70
969
878
986
279
532
555
582
680
366
733
418
600
561
405
51
670
241
662
451
231
283
350
618
689
214
324
844
80
536
686
887
423
825
886
170
26
768
821
998
283
69
492
67
230
289
766
29
954
83
299
715
811
250
553
618
422
410
776
116
494
822
852
24
876
786
320
222
112
641
335
47
952
363
943
222
788
98
200
482
885
829
416
105
930
654
45
746
292
790
758
862
303
464
511
663
524
355
816
670
810
929
163
961
313
890
363
987
759
47
614
858
414
610
924
265
449
539
555
610
554
451
162
86
64
620
466
750
204
546
188
638
113
159
77
434
744
191
170
377
770
948
200
895
988
989
949
256
859
920
774
198
92
875
951
713
182
120
549
446
574
405
847
537
320
356
734
709
245
149
444
66
775
626
876
413
186
454
424
538
394
382
85
357
811
685
938
445
474
471
980
644
897
229
312
752
634
347
857
946
706
1
417
722
375
302
895
104
187
886
918
343
756
750
589
864
65
913
296
45
371
897
217
53
583
116
721
148
867
340
231
740
163
116
97
665
454
718
18
683
4
259
679
55
435
224
330
722
510
468
580
811
169
402
968
529
108
914
223
497
704
607
589
96
246
906
223
479
324
489
303
378
610
671
530
496
834
367
957
991
162
228
259
793
245
743
991
75
360
979
748
118
468
850
800
90
823
176
683
842
875
783
425
667
120
909
271
945
352
917
231
368
676
993
723
999
819
555
480
805
224
383
812
978
651
814
542
846
222
716
92
667
613
478
10
12
431
606
223
135
842
267
474
502
708
725
721
435
560
83
333
74
923
197
318
374
355
867
572
942
258
30
920
607
198
311
605
585
983
694
786
773
162
165
613
786
681
703
921
569
201
657
131
178
194
672
356
155
874
523
579
404
226
71
587
257
628
103
729
798
40
465
359
61
74
682
652
443
505
263
72
952
690
507
258
268
90
890
748
519
978
607
432
861
738
701
826
659
156
386
582
805
646
0
61
102
399
921
408
953
561
853
416
860
275
994
184
484
341
295
593
551
690
442
178
812
131
147
534
794
204
653
818
102
926
798
856
58
417
115
309
662
88
333
224
659
8
832
181
523
76
482
525
277
471
880
262
776
254
231
79
292
525
533
964
931
48
21
525
959
313
729
966
13
976
589
804
794
986
109
196
502
575
122
598
870
734
958
5
477
260
876
914
239
501
878
205
72
725
321
570
51
65
890
559
361
434
314
163
716
962
391
269
18
761
440
874
651
657
169
709
941
114
311
122
523
907
911
679
86
826
220
926
490
26
448
103
395
284
804
353
900
610
13
555
820
539
421
373
26
794
216
348
742
160
262
590
5
241
978
530
166
342
735
543
456
112
743
785
736
826
1
443
266
887
437
992
558
896
229
317
292
986
607
478
873
364
760
180
364
158
719
952
914
588
786
140
232
738
12
741
532
811
116
317
323
221
178
894
335
103
809
864
196
405
206
968
160
14
669
477
387
138
616
654
318
248
401
179
582
417
23
325
611
174
527
770
131
599
79
529
621
581
822
656
548
274
703
889
767
470
164
505
806
606
152
872
764
881
468
999
832
779
48
761
359
168
696
279
247
293
209
502
552
927
512
905
858
25
815
575
716
504
48
747
244
50
114
975
908
476
187
857
59
805
598
591
491
847
241
140
646
86
370
239
365
906
461
719
912
39
96
698
276
324
55
6
66
597
630
372
87
533
945
193
590
191
948
994
832
142
305
845
457
151
913
688
871
872
348
197
543
990
684
358
734
953
671
296
117
332
977
604
848
175
765
648
314
903
582
516
42
84
159
764
88
661
170
622
583
326
615
229
324
481
560
812
474
948
545
788
910
104
687
178
614
333
522
605
11
675
529
716
58
280
893
781
826
847
333
89
238
46
734
204
864
495
533
62
231
245
590
11
806
924
477
216
943
654
190
881
169
145
972
761
692
415
82
487
782
671
828
732
531
364
356
578
281
900
569
522
564
881
807
89
993
344
345
864
776
713
724
183
171
849
663
40
41
690
586
590
178
838
277
863
727
412
987
547
176
180
10
610
139
558
549
154
927
887
177
250
27
367
337
744
290
52
702
915
597
918
271
526
442
694
257
29
843
654
795
428
246
889
593
332
338
489
397
550
433
713
223
452
727
624
706
175
979
135
558
457
567
906
941
463
914
300
839
975
311
952
907
610
507
18
18
371
737
429
421
681
223
252
148
212
926
741
598
904
912
72
421
93
801
201
947
798
907
681
489
923
754
446
7
492
132
682
472
683
498
764
733
707
812
546
869
717
409
993
426
26
478
453
166
868
924
656
429
305
791
288
734
116
15
493
963
339
599
688
786
41
791
363
912
768
219
970
601
891
304
166
259
169
221
624
938
353
38
371
181
885
935
749
338
633
674
474
911
963
827
69
833
56
334
540
511
479
65
182
97
410
844
965
147
617
860
238
94
849
906
648
252
167
112
609
610
448
816
156
409
863
44
612
564
836
738
748
286
296
423
21
491
211
909
974
96
336
23
777
912
179
698
779
112
581
405
71
837
787
189
332
80
315
790
357
737
655
325
147
774
393
532
744
293
350
202
380
587
620
935
442
702
329
615
616
156
645
515
302
751
531
25
38
582
613
185
147
952
65
452
771
876
789
348
985
994
28
166
304
792
910
84
323
912
959
898
165
313
880
268
616
284
683
458
387
574
811
365
925
304
381
602
211
979
933
110
148
677
166
100
61
553
730
342
990
823
326
309
335
953
630
879
278
497
942
253
136
991
178
952
670
571
718
337
584
460
316
457
51
819
452
647
622
412
348
512
308
969
471
580
784
126
334
682
414
694
71
693
349
864
481
449
854
138
188
912
909
156
61
131
53
706
582
772
110
298
850
440
644
173
618
80
605
128
243
504
90
494
186
862
867
590
570
335
714
881
545
881
527
976
753
307
152
880
426
432
180
120
629
466
694
539
930
736
672
611
189
146
98
485
90
106
185
712
672
390
489
912
478
741
607
388
528
150
213
214
782
33
236
978
749
179
726
350
529
707
986
564
423
266
540
410
306
823
104
290
231
824
377
643
38
809
424
817
897
922
314
5
252
432
77
664
360
15
955
205
318
20
160
484
48
582
607
986
803
609
747
174
608
616
868
430
869
469
545
731
866
20
285
246
558
11
332
921
380
682
842
983
833
890
849
23
167
241
114
258
677
139
474
745
945
272
180
655
380
597
727
137
898
584
484
770
127
808
511
608
459
324
603
565
693
147
99
40
984
258
746
125
697
207
506
997
431
516
303
567
555
870
594
974
894
32
822
390
472
184
652
216
628
488
650
933
921
932
730
240
105
492
71
119
891
71
667
944
291
728
95
173
283
871
669
758
222
653
896
112
580
760
38
312
912
437
203
598
494
691
130
704
148
465
673
445
792
718
586
837
139
246
614
220
558
52
26
91
893
131
873
869
341
861
844
260
873
360
452
766
547
676
105
702
782
226
772
981
134
340
402
314
126
218
618
249
510
365
712
3
941
715
775
546
624
166
24
278
842
345
204
55
494
484
356
841
540
865
62
339
450
255
231
334
45
191
237
66
648
611
790
656
556
495
486
184
749
552
562
743
531
529
890
283
637
256
468
578
346
593
955
544
853
514
800
394
340
556
218
797
438
669
423
452
971
177
161
57
952
760
944
485
867
7
462
283
350
799
573
917
295
857
587
800
672
707
934
366
721
712
590
267
171
529
760
140
698
625
877
820
842
166
871
639
284
733
921
553
83
33
675
256
62
651
527
664
753
616
90
617
962
673
195
500
429
712
246
923
180
85
716
257
675
150
743
252
613
762
676
573
822
11
230
197
727
864
291
421
767
997
374
41
794
628
460
460
176
474
141
985
375
741
379
48
258
311
569
244
810
922
665
146
104
445
716
690
816
515
197
835
262
7
818
852
184
624
722
387
968
210
312
186
443
337
51
602
989
449
403
45
634
300
55
208
919
778
481
422
424
756
801
561
105
970
99
590
391
484
416
969
848
844
755
1
753
582
950
336
840
601
938
343
363
985
68
979
41
543
410
271
59
967
483
754
720
787
645
182
221
566
424
86
581
616
843
517
217
702
69
806
61
493
967
302
676
259
189
927
664
285
406
668
301
127
97
974
283
696
130
426
257
884
845
655
574
720
474
117
826
693
150
35
485
519
130
53
959
691
99
702
955
393
96
481
540
630
133
592
283
868
465
713
36
881
522
517
888
417
226
371
5
218
173
631
662
633
97
152
772
641
24
524
359
525
300
661
26
161
776
91
319
894
111
740
901
925
758
784
117
86
342
769
29
556
136
698
980
433
809
264
882
743
925
599
741
103
262
233
103
989
475
343
331
777
821
570
209
794
615
678
940
398
799
269
998
280
972
842
531
399
565
502
531
550
720
619
449
118
900
75
514
964
142
860
382
267
569
193
609
922
216
16
805
981
934
48
979
56
905
455
607
545
161
430
418
730
587
275
179
90
642
540
336
250
235
84
371
744
30
867
70
200
708
21
280
104
25
288
832
314
481
942
912
610
346
48
758
925
508
559
828
736
895
543
114
29
810
319
179
773
36
314
98
193
814
226
211
836
284
898
27
690
49
946
529
654
409
11
867
49
919
620
294
644
169
587
202
241
120
465
774
165
84
424
611
979
443
825
389
341
245
530
818
516
998
642
723
801
206
736
622
762
984
817
197
5
723
833
730
406
85
831
596
449
568
177
618
992
969
356
560
21
865
438
484
456
522
386
363
970
898
220
626
263
40
900
656
582
340
512
102
691
199
149
625
889
851
413
341
616
215
971
100
718
58
945
297
886
529
501
954
887
194
715
469
668
946
183
144
846
970
755
480
783
215
206
753
6
552
140
798
937
973
418
76
300
707
917
247
747
947
721
974
911
324
667
765
833
713
986
282
553
337
318
959
846
13
765
97
749
292
512
380
329
549
396
914
834
275
793
60
149
123
809
793
622
507
88
401
897
298
89
152
831
733
305
478
850
913
509
3
904
435
731
866
555
289
449
803
582
752
501
240
28
365
976
744
602
520
532
600
608
506
17
789
975
569
72
244
512
893
488
613
922
629
353
29
265
217
380
729
99
584
50
137
953
902
763
976
464
709
936
188
781
925
896
322
179
519
135
964
976
706
771
601
435
267
196
372
40
62
555
206
743
322
16
643
757
565
853
676
593
748
240
81
662
596
779
625
574
251
203
318
726
811
702
413
471
480
22
47
579
713
304
36
234
892
598
678
333
660
295
773
589
491
816
610
654
274
357
918
718
267
626
654
882
404
968
204
301
433
948
731
333
593
422
435
116
917
300
244
594
122
842
86
593
555
67
191
66
932
122
565
562
126
373
231
837
715
831
839
401
806
759
39
157
766
404
29
761
746
168
925
200
286
671
898
464
156
608
652
557
223
76
522
831
453
706
897
354
966
651
310
442
940
853
995
641
516
349
945
390
900
80
388
461
968
220
545
715
78
900
800
743
849
49
355
713
273
567
447
762
629
358
26
689
582
404
57
445
546
303
679
469
114
116
544
399
676
308
619
8
3
468
94
517
424
240
94
538
703
652
150
721
597
567
589
479
597
995
819
333
558
415
941
550
572
26
482
956
397
943
166
115
556
371
318
240
477
647
944
196
269
23
972
661
164
821
79
102
991
729
199
434
231
841
471
133
964
369
154
935
453
468
397
91
845
873
71
218
844
810
417
677
124
577
854
893
971
861
524
368
5
713
92
145
387
112
523
133
407
757
518
699
843
450
922
426
638
789
447
917
619
979
212
943
372
135
770
299
727
952
992
34
215
597
996
188
624
107
471
548
933
242
547
52
229
234
277
782
453
123
238
121
133
17
673
675
290
665
329
96
371
354
79
513
777
636
720
326
881
775
248
88
1
955
226
9
752
275
931
816
974
139
521
686
7
260
350
57
847
840
226
794
429
530
515
519
37
502
56
457
461
417
250
672
362
210
541
811
338
976
559
656
26
124
474
905
216
592
609
935
736
138
899
586
585
271
255
445
81
21
325
277
191
107
441
173
660
29
367
993
325
758
126
914
474
573
328
824
383
434
745
258
918
51
97
386
648
753
964
958
279
402
362
691
123
564
626
563
938
704
592
542
13
337
177
563
943
284
368
357
465
966
831
640
40
99
304
920
578
802
995
466
33
398
500
834
717
220
646
471
840
939
438
925
481
881
661
820
476
950
877
317
66
168
613
404
361
182
74
596
843
289
211
445
821
197
880
457
706
753
854
148
888
157
693
292
796
349
686
5
167
775
284
20
564
74
324
724
300
404
114
119
982
877
148
875
585
166
491
609
181
671
171
746
936
443
421
315
244
414
343
321
310
65
168
552
395
539
529
182
270
8
692
428
27
285
559
215
361
807
844
242
132
362
357
629
251
962
867
133
308
522
581
934
526
252
638
581
301
755
468
11
430
678
773
232
112
912
515
560
273
136
237
79
896
786
690
748
75
740
930
615
499
544
50
977
921
522
47
893
657
327
926
122
550
126
310
240
694
326
570
707
992
973
420
700
686
251
271
266
25
755
953
836
174
535
187
248
715
270
735
698
775
477
906
333
81
646
439
454
182
471
600
313
594
925
433
399
620
626
550
341
912
279
832
84
212
939
724
837
164
283
572
392
787
145
68
461
552
262
225
634
599
473
468
570
750
799
611
412
160
329
580
634
575
959
930
98
87
726
335
82
220
452
993
490
794
241
822
252
668
412
664
762
612
722
394
243
71
218
522
180
94
599
901
622
462
251
544
903
443
688
83
624
478
91
747
117
527
648
361
975
639
915
521
232
699
499
91
74
376
512
711
302
224
259
365
520
202
904
708
704
51
857
838
500
222
828
355
354
40
168
621
17
94
651
365
608
126
138
720
191
835
315
239
957
706
392
767
933
826
422
136
976
16
688
126
353
89
380
370
846
363
924
505
899
25
115
913
841
76
976
782
0
803
176
111
633
415
750
207
354
544
970
229
595
532
768
768
317
520
439
151
58
917
356
249
143
185
859
64
278
235
990
134
970
706
126
340
176
100
209
458
483
331
666
184
188
553
48
780
20
941
653
87
178
671
367
926
320
171
751
835
505
608
872
144
207
135
672
277
400
374
125
315
478
208
637
66
429
66
191
714
351
621
981
2
441
249
962
950
58
669
235
311
133
140
899
651
928
734
131
381
546
635
323
614
183
234
719
835
798
373
276
950
902
496
414
648
534
3
874
834
912
603
281
983
685
95
839
882
71
319
740
679
522
947
395
375
282
937
6
646
234
187
746
654
645
276
945
247
617
761
618
629
320
419
589
887
539
321
745
497
771
269
264
132
581
250
767
725
664
348
55
655
144
890
206
686
713
714
193
692
836
963
380
92
243
361
745
539
427
877
497
14
152
878
333
245
769
984
173
924
477
916
853
937
17
538
815
308
908
431
269
243
298
457
793
435
995
579
918
321
828
175
44
904
758
931
893
638
811
160
815
269
489
988
980
696
20
928
417
857
932
174
416
79
698
315
727
477
647
863
0
264
615
952
646
169
323
690
398
576
344
373
121
534
82
630
574
967
549
405
166
812
716
21
944
176
32
829
199
463
865
756
579
569
526
416
267
283
490
0
994
555
31
67
471
709
914
324
937
333
27
33
529
335
195
238
241
969
966
166
181
403
394
657
928
383
382
676
502
640
396
309
222
130
319
277
951
745
931
74
566
666
696
253
526
751
374
576
742
918
39
193
319
618
268
69
256
71
649
655
91
552
466
627
791
740
101
955
42
938
101
571
940
426
848
649
625
331
982
180
423
893
55
407
57
276
321
69
103
598
774
606
367
242
12
665
570
6
932
854
944
123
739
289
835
371
135
818
313
305
346
805
557
624
294
686
428
811
226
66
141
33
532
411
258
92
964
645
816
280
763
204
220
770
500
751
107
198
39
424
874
344
31
643
830
96
501
18
9
467
708
451
327
951
848
850
302
86
671
943
78
846
277
366
214
159
57
506
892
769
580
548
23
735
698
777
71
186
696
453
418
356
587
763
848
77
246
918
94
122
557
811
917
899
696
632
505
933
954
923
337
265
913
282
518
687
442
546
345
180
407
800
95
151
594
391
44
975
265
409
361
189
42
173
557
574
441
994
740
874
963
571
144
82
564
683
0
601
55
350
128
803
151
117
766
249
928
150
244
799
584
626
770
964
800
198
899
917
666
105
156
902
170
691
501
607
304
399
691
247
401
402
923
374
656
212
343
530
886
162
80
976
795
855
205
484
638
506
903
700
657
734
270
647
378
930
345
820
19
4
193
404
430
260
514
783
592
610
18
515
482
659
557
445
639
715
220
104
218
493
406
284
525
609
315
160
82
882
604
999
303
788
326
325
904
348
292
139
267
346
423
960
269
125
245
450
125
616
354
665
145
966
999
482
398
474
846
632
961
78
775
608
119
204
247
777
571
135
201
784
561
457
506
739
669
194
150
917
233
821
239
894
616
853
354
379
410
764
706
353
209
905
943
324
589
382
98
459
281
487
954
330
619
723
561
883
926
213
633
953
175
727
540
363
775
414
49
407
208
188
454
16
661
985
261
649
117
263
80
645
260
57
934
103
772
733
40
577
18
22
952
331
37
257
191
473
207
187
579
461
594
791
191
301
497
289
910
521
344
379
989
635
235
697
381
431
237
860
560
678
728
556
94
17
281
269
445
363
172
229
253
136
955
71
936
492
248
941
849
944
780
542
265
6
351
234
833
515
216
622
127
607
10
503
532
904
66
913
207
832
682
67
895
510
906
609
57
921
971
95
326
158
338
389
119
804
775
821
386
335
163
956
405
977
413
759
359
113
672
551
90
878
646
451
24
24
567
593
892
189
511
286
687
865
893
685
613
183
663
19
452
659
629
625
222
858
813
67
231
351
276
923
50
50
378
922
288
492
197
197
387
306
613
245
826
881
921
407
93
541
769
295
895
963
371
391
608
178
431
603
163
478
637
119
495
75
837
409
539
837
867
471
647
154
498
930
761
157
808
938
160
857
753
830
640
680
220
548
613
475
32
326
377
184
590
331
426
721
405
248
924
317
754
668
390
384
626
495
100
319
450
441
11
141
145
251
697
279
893
691
295
90
744
277
421
673
106
446
180
848
976
294
788
997
932
906
122
734
828
240
620
688
883
148
516
242
945
348
71
954
722
767
842
31
509
686
201
900
355
340
515
383
183
164
141
981
543
190
441
259
568
59
611
79
835
62
397
718
89
382
145
848
160
92
9
584
290
705
283
280
980
930
798
588
464
261
877
731
425
805
791
821
763
291
830
825
65
919
237
300
899
912
80
107
952
736
798
475
736
392
618
183
946
797
32
461
516
802
548
805
118
595
51
401
401
982
59
165
581
558
22
718
505
582
877
313
491
685
754
186
765
241
70
385
798
933
5
197
372
561
541
376
984
194
927
401
465
992
8
957
689
340
95
125
320
430
164
747
911
664
534
927
750
77
166
113
40
966
149
508
754
679
25
818
373
929
239
136
462
4
210
112
119
278
794
962
759
877
41
712
179
958
939
596
424
799
942
134
810
181
351
206
774
108
873
567
791
891
658
525
570
25
868
776
764
528
97
863
408
463
253
961
695
16
991
486
313
524
691
566
97
905
690
497
487
77
948
518
334
532
361
55
623
182
357
324
590
15
112
152
204
544
363
42
116
352
917
180
785
321
747
177
825
951
351
491
30
223
93
658
869
259
400
298
785
369
652
298
691
670
686
664
533
164
100
199
17
321
229
224
473
428
365
64
400
103
80
661
768
65
648
969
577
944
854
522
214
492
522
976
825
505
25
737
622
773
383
434
847
797
3
283
222
820
133
181
765
958
471
258
134
413
560
956
209
401
485
504
347
688
394
382
240
952
542
988
178
52
902
30
539
702
447
263
27
637
461
493
639
61
616
416
73
612
809
929
213
932
262
606
448
130
223
866
444
155
417
146
150
919
113
235
289
229
297
896
677
245
568
320
61
486
331
150
35
339
721
29
322
0
884
602
952
899
366
800
759
410
224
714
201
433
303
619
336
663
193
201
96
338
854
418
87
148
174
629
985
33
463
400
676
660
279
697
101
946
565
108
51
619
793
201
770
858
594
478
551
350
487
270
855
250
223
698
927
637
150
509
862
624
544
656
910
442
258
369
46
512
513
159
666
549
61
162
82
428
189
600
962
149
331
808
975
144
255
555
349
385
436
132
816
951
13
762
220
490
219
425
549
609
773
602
770
924
619
11
305
568
999
449
877
916
463
74
344
989
110
214
485
698
421
757
81
495
597
859
829
221
884
532
876
631
587
290
772
481
22
698
504
232
764
538
362
979
11
422
284
54
633
248
133
795
574
441
306
522
398
81
138
292
425
456
165
891
750
188
134
227
208
542
458
807
447
199
987
534
967
914
886
497
42
589
995
229
865
852
927
238
516
601
21
728
884
659
605
504
243
345
893
68
576
469
985
983
16
193
110
288
156
20
931
354
307
232
107
694
967
326
281
287
112
295
531
270
253
51
536
485
389
959
912
694
928
449
919
287
419
77
313
119
955
32
904
746
952
584
669
625
230
83
882
972
594
698
229
617
433
682
243
546
295
950
867
155
463
351
483
358
302
613
118
594
270
148
563
616
206
218
279
131
425
938
51
971
649
597
490
760
269
436
630
252
175
923
251
858
111
355
955
697
674
484
223
156
230
514
256
525
463
65
726
179
759
882
391
287
58
344
291
396
464
918
221
230
771
368
170
73
543
282
241
944
520
727
85
318
556
131
344
730
872
719
833
431
761
42
441
162
615
765
267
646
325
969
980
651
395
2
291
963
371
871
247
818
604
569
775
270
265
759
59
569
482
905
555
201
308
494
225
865
796
599
831
24
186
528
390
146
583
767
494
630
895
2
586
808
59
158
156
602
152
408
337
646
506
311
571
949
51
198
625
97
284
750
986
352
738
437
394
354
575
193
100
386
508
254
636
256
196
119
810
603
949
210
603
410
269
891
469
951
507
754
638
342
155
632
144
180
224
113
756
535
798
327
288
243
985
631
870
106
305
557
513
111
556
551
171
148
989
277
408
597
610
89
356
314
759
258
137
323
427
718
503
829
840
859
162
531
826
139
873
741
706
708
849
996
538
103
314
116
192
351
859
955
86
826
666
28
747
688
94
529
200
203
220
505
581
126
140
435
500
422
627
143
825
241
786
543
148
77
561
602
763
838
362
380
606
865
221
583
202
691
390
886
528
471
394
494
565
391
621
870
26
118
774
438
884
602
739
5
93
648
385
357
962
657
249
862
559
71
41
410
404
993
972
8
821
727
269
334
821
565
317
831
251
834
908
843
379
541
763
818
524
468
732
807
431
233
387
354
988
688
38
31
481
656
502
124
95
501
177
247
100
674
710
83
265
91
856
909
719
566
853
80
899
673
305
672
851
396
255
472
726
736
491
497
950
916
211
800
901
700
730
113
174
607
141
502
635
121
917
507
267
746
400
899
828
892
777
655
227
868
953
645
527
872
482
610
586
377
897
808
664
9
829
977
643
291
247
24
564
293
777
168
918
890
236
751
676
651
336
328
935
329
722
93
909
911
494
605
39
841
725
922
218
292
534
331
263
337
851
579
310
316
588
250
52
683
536
34
129
367
556
6
258
55
927
112
26
503
498
918
913
909
258
590
108
195
8
288
442
922
828
341
370
586
599
32
165
606
62
238
128
630
438
887
502
312
829
452
725
795
217
27
67
6
537
149
169
553
574
980
536
368
639
836
338
467
720
727
908
369
177
899
225
782
703
314
757
237
234
335
875
226
600
888
915
102
738
440
182
843
364
936
459
763
140
925
753
515
846
130
145
204
806
618
529
448
352
147
900
859
54
715
789
555
889
779
935
128
42
794
275
855
631
761
877
771
252
453
197
602
719
387
223
555
832
937
262
565
154
514
926
880
403
801
134
557
35
479
637
92
773
412
989
158
363
738
401
950
603
131
763
713
444
329
556
637
390
915
427
386
98
759
290
378
114
737
324
75
553
309
509
974
209
832
618
217
140
979
970
698
284
850
685
710
366
649
424
20
923
877
421
772
120
526
577
912
80
77
801
10
716
922
607
358
681
50
377
548
421
176
683
566
652
445
729
238
995
57
635
521
162
602
952
653
34
890
826
196
529
89
15
331
785
958
898
972
52
762
357
736
452
501
268
215
643
789
997
318
8
519
974
887
960
686
987
340
787
668
642
56
782
124
990
717
937
902
289
626
169
900
373
247
874
116
629
411
479
137
614
627
346
593
322
515
147
576
575
967
511
485
89
709
278
855
370
442
640
515
606
672
240
330
880
59
114
142
898
838
943
697
28
40
65
331
991
866
692
501
319
678
891
109
653
214
126
625
861
106
868
443
813
496
94
886
564
648
791
201
461
896
856
808
876
206
589
910
429
143
451
587
325
357
615
770
149
519
440
178
740
389
687
15
800
325
203
147
846
373
645
29
329
830
37
57
776
365
523
768
76
875
562
762
209
570
733
429
133
602
814
726
401
946
764
186
688
995
97
726
219
607
887
899
720
527
582
90
348
773
7
195
194
639
443
494
596
793
835
717
929
667
514
396
853
231
267
483
973
165
299
740
354
841
929
556
670
316
163
493
515
250
379
260
533
607
544
53
794
357
298
227
356
964
935
724
441
879
878
668
768
414
462
691
734
119
396
592
127
913
110
372
733
160
288
526
679
926
153
527
316
648
862
963
734
158
560
231
589
308
660
909
461
860
948
297
492
549
774
569
234
617
607
777
702
438
383
48
350
683
987
937
12
471
313
833
563
203
816
251
137
885
720
271
333
61
809
11
53
715
944
958
138
543
461
537
277
773
286
58
288
353
781
960
410
921
73
281
84
273
522
14
974
936
500
182
230
45
681
159
823
280
940
971
231
400
537
458
986
44
111
486
136
50
863
17
894
859
264
173
626
601
615
692
188
48
993
504
345
143
107
817
225
447
526
305
702
209
608
959
121
365
376
698
394
559
347
103
228
350
732
634
523
836
345
632
871
742
633
642
297
323
573
385
940
803
1
236
297
570
453
882
894
438
443
709
824
981
331
773
439
681
246
308
985
591
708
645
238
470
786
647
632
364
10
214
261
565
369
300
494
104
192
339
453
418
49
760
708
994
352
253
290
632
898
744
0
689
638
444
70
546
293
910
816
451
527
649
258
368
894
259
253
862
103
321
359
169
815
687
549
15
58
245
866
299
393
538
555
60
772
135
229
312
658
485
500
207
952
233
389
223
319
867
851
300
645
405
523
850
593
202
714
33
487
776
456
778
135
118
457
383
491
945
271
24
606
700
478
659
744
352
99
169
430
470
615
526
73
996
414
725
434
791
170
560
902
405
754
481
739
79
735
672
198
333
778
317
363
534
421
836
425
668
97
392
139
395
962
345
15
600
106
999
107
101
277
689
525
999
551
703
387
486
32
879
804
156
824
561
770
917
797
708
471
48
616
660
655
105
443
345
664
912
780
186
722
88
671
772
354
738
399
862
759
956
134
954
726
655
334
692
291
896
849
854
909
35
553
133
540
309
695
941
216
928
235
976
591
183
108
279
400
803
430
753
734
44
722
6
631
312
352
489
597
710
169
459
217
151
441
918
0
296
988
749
671
659
257
304
178
753
955
599
132
200
659
977
812
963
138
302
578
529
401
923
567
523
874
297
713
869
113
208
576
482
950
731
706
701
136
882
499
538
247
154
97
543
474
33
114
654
759
238
721
722
396
816
476
241
177
219
530
272
771
385
822
123
886
826
600
366
608
541
484
725
483
821
354
19
196
864
95
116
461
536
605
658
837
777
643
357
920
401
24
820
78
215
352
870
367
506
861
817
821
809
805
310
691
410
11
418
264
343
915
656
992
560
120
122
315
863
613
677
570
601
895
134
689
823
553
205
380
674
535
929
760
233
885
953
604
261
395
214
425
659
222
944
240
421
872
686
264
43
774
728
138
708
730
814
312
84
889
897
820
941
596
121
929
684
165
812
763
749
357
230
634
760
392
476
253
346
566
91
684
737
615
262
688
841
973
196
283
740
363
644
377
916
853
843
738
950
536
818
575
927
116
697
168
301
685
33
816
73
412
472
877
724
750
312
117
786
808
850
430
445
553
782
902
525
142
305
633
301
560
718
170
935
513
766
286
472
153
47
170
81
972
97
921
554
763
239
53
423
591
76
858
49
782
532
770
616
934
132
770
183
578
7
799
439
443
854
283
330
590
493
687
940
114
389
736
41
728
844
912
783
138
414
804
921
89
100
696
823
61
459
853
442
330
993
845
749
106
815
256
461
457
396
450
24
254
624
455
617
478
706
418
483
63
708
533
576
412
649
41
613
923
893
740
373
766
12
429
585
493
163
305
364
648
485
88
647
56
603
705
381
489
837
455
129
750
640
782
576
72
682
907
199
543
86
155
739
495
331
221
323
242
154
365
623
821
80
543
849
172
157
457
729
311
196
477
759
905
769
191
766
440
792
855
685
544
911
487
26
253
896
188
677
172
580
760
986
566
534
194
159
12
361
418
67
684
857
12
49
209
402
220
69
964
472
240
19
381
126
165
301
172
439
159
925
726
12
428
350
424
317
727
187
398
599
703
347
453
268
382
558
748
383
911
774
690
544
626
76
62
855
245
34
403
731
351
58
144
455
514
772
276
107
816
398
320
522
821
636
388
317
998
440
43
13
287
15
430
632
643
271
549
340
803
439
603
533
643
410
908
210
939
249
628
885
914
691
386
707
964
781
688
338
239
945
846
197
132
962
677
462
348
443
705
665
206
153
249
421
73
558
72
529
552
438
229
811
707
338
135
497
489
243
476
623
370
344
831
956
141
384
107
375
919
428
384
325
433
830
423
272
241
565
9
361
159
521
984
239
656
855
969
99
859
659
962
398
418
99
155
635
504
428
197
789
587
409
92
466
273
168
543
112
567
444
769
130
391
909
907
29
880
771
729
282
464
74
414
415
502
416
805
706
964
263
799
475
520
315
926
27
150
249
265
632
929
791
165
90
253
911
881
116
929
463
49
492
439
236
941
430
225
487
994
755
31
569
636
496
328
160
27
702
514
186
706
775
275
545
634
710
949
2
886
976
564
136
499
23
820
982
731
761
907
652
509
574
464
873
926
631
338
706
253
994
571
928
842
824
901
760
98
763
543
479
591
891
345
998
626
535
175
684
939
249
526
424
537
285
435
946
666
381
719
756
973
475
554
732
209
735
812
313
894
666
248
49
51
140
780
880
69
231
638
44
312
764
902
375
548
462
259
476
345
946
934
696
519
600
826
159
372
823
393
324
865
51
652
619
646
499
31
673
261
392
696
269
389
818
102
596
627
29
340
960
14
10
237
683
956
964
511
18
331
994
811
95
658
719
507
696
832
782
677
580
193
264
585
473
514
516
361
18
664
478
632
17
868
111
709
679
116
928
127
582
324
600
408
807
649
109
305
287
730
974
533
456
259
318
863
526
435
864
156
224
181
310
428
448
999
938
930
243
664
202
420
649
757
591
876
344
586
542
77
410
672
203
473
216
906
995
916
615
71
707
666
157
851
157
614
80
737
598
955
626
159
548
129
19
943
774
619
544
69
623
903
607
16
619
336
995
23
267
371
822
930
936
415
816
341
908
481
151
824
65
954
853
212
162
737
992
992
4
958
295
725
615
576
447
552
377
419
896
96
701
76
87
65
497
163
688
639
382
737
313
524
834
130
388
669
140
367
331
390
808
59
594
211
567
846
138
696
420
521
773
851
278
657
527
654
799
710
133
522
937
98
852
376
8
906
451
116
972
750
215
515
934
412
164
737
260
671
620
912
120
305
53
997
811
358
457
113
38
151
584
78
393
478
764
283
524
943
155
926
933
715
189
900
173
687
994
764
150
342
415
452
434
928
37
776
817
567
271
54
205
984
891
642
840
534
804
559
718
432
93
755
314
125
559
735
168
96
323
515
855
993
848
737
686
703
286
802
390
943
504
337
745
980
631
700
986
709
288
380
616
612
525
542
412
159
587
427
951
266
187
158
431
325
762
947
757
616
70
515
209
873
908
704
619
246
426
677
214
508
896
243
151
372
731
261
416
758
300
16
995
195
252
244
922
733
477
232
5
715
879
41
876
186
885
340
945
379
148
98
974
280
712
653
680
639
693
920
159
487
186
731
716
345
480
604
359
519
317
878
635
38
872
701
828
242
585
648
489
981
325
361
617
471
496
24
498
177
276
607
241
518
257
190
352
896
455
901
504
285
988
552
176
952
966
841
959
653
454
928
669
208
177
40
630
651
608
870
940
997
819
363
654
293
273
754
68
40
144
820
510
781
628
213
688
611
975
673
921
935
693
602
837
469
108
779
60
849
13
902
158
55
276
97
142
92
962
555
869
121
922
507
576
796
526
552
112
300
770
34
923
54
58
863
211
662
983
793
943
270
283
506
962
442
283
190
811
151
343
398
641
528
72
460
743
633
754
250
391
469
317
163
84
871
519
832
351
472
326
954
249
997
56
571
187
490
883
630
853
534
243
607
857
344
925
17
982
580
564
222
335
163
2
582
295
67
814
841
28
400
97
793
700
599
457
978
965
477
169
778
564
6
897
702
771
571
71
867
14
23
219
74
309
676
522
306
844
106
933
86
875
11
201
458
222
689
306
738
398
238
945
37
14
17
385
822
105
778
318
822
673
328
558
881
829
690
471
306
637
891
711
366
772
30
52
150
401
94
176
850
316
134
330
252
837
779
932
860
501
377
811
214
670
214
388
767
324
947
124
767
48
85
281
537
230
296
681
528
144
126
294
811
846
241
156
283
198
901
93
703
671
820
932
562
780
860
468
504
149
608
585
546
151
869
946
921
515
88
169
992
236
621
458
342
775
889
593
518
177
917
65
751
229
69
558
940
145
782
783
778
742
659
865
596
819
610
630
13
334
709
170
468
38
192
740
391
276
961
558
361
532
975
609
758
293
96
776
281
894
888
546
877
452
740
814
207
535
726
353
11
662
676
416
544
869
453
496
954
417
710
587
308
848
303
57
651
196
426
573
914
839
912
58
544
406
8
109
736
731
658
175
910
268
448
720
806
739
915
812
459
561
827
476
240
89
608
537
181
942
919
995
444
515
933
631
216
593
123
474
76
699
5
251
181
501
904
697
391
783
26
782
345
724
881
970
917
727
235
935
302
144
387
904
796
51
260
763
138
985
60
565
78
808
178
881
928
160
983
819
211
758
175
260
692
977
210
291
928
283
846
678
346
49
498
94
195
294
437
180
584
121
686
331
151
342
772
653
695
815
768
249
926
532
434
335
938
619
934
864
726
936
523
5
805
215
632
227
107
865
506
372
766
798
666
938
450
137
805
737
308
823
8
747
183
558
828
613
558
729
308
299
941
144
826
398
256
523
82
616
167
11
875
576
782
8
823
623
559
675
972
378
234
399
664
766
989
246
28
930
693
949
233
635
222
698
484
299
997
171
168
630
875
87
435
173
944
711
412
714
415
142
547
217
129
5
151
778
488
162
200
417
389
906
832
853
190
12
670
351
271
438
579
799
344
829
910
751
274
382
504
237
60
911
173
306
403
635
91
149
634
697
659
479
36
861
746
129
715
116
518
984
535
110
772
270
280
791
333
950
175
978
478
511
27
968
623
699
303
518
904
707
575
739
339
869
655
300
629
549
305
913
467
931
883
856
465
237
150
794
238
983
523
11
586
65
245
769
262
831
427
203
0
418
964
920
67
444
877
926
64
241
541
592
924
983
885
476
403
603
181
236
732
109
500
172
727
810
752
717
343
190
825
219
217
860
68
186
147
551
253
129
575
376
586
697
657
156
984
684
682
457
790
807
665
16
483
971
666
187
91
209
302
240
503
965
601
392
546
113
552
589
688
496
827
960
838
97
532
77
996
619
706
831
536
224
420
690
730
294
797
887
627
696
740
420
12
267
29
663
692
239
577
694
926
40
316
989
247
570
186
173
206
535
671
813
822
224
829
50
599
603
972
893
817
793
17
765
232
664
657
670
742
243
261
448
410
292
167
4
801
503
439
269
977
490
346
630
236
409
951
6
627
7
538
753
889
63
994
742
392
792
578
483
797
228
46
412
575
78
816
497
356
62
856
238
346
189
67
573
706
151
395
684
9
722
674
543
540
648
285
693
118
495
911
907
325
877
104
842
582
120
181
120
557
853
935
251
54
514
750
988
331
74
101
483
27
895
719
528
544
218
690
0
972
831
149
976
748
970
691
615
921
470
518
478
279
98
521
432
642
458
231
421
42
850
743
634
872
207
969
942
457
808
767
492
387
731
212
632
689
218
709
209
862
381
240
698
721
653
733
638
407
372
738
327
913
502
309
936
348
421
468
164
536
75
695
441
107
404
875
940
587
740
5
428
44
213
80
992
657
266
870
910
431
176
259
930
735
859
553
917
561
232
937
255
141
927
970
943
62
897
25
228
64
757
461
951
732
714
99
154
243
527
134
302
874
457
681
865
919
299
937
29
812
59
857
209
674
759
772
573
474
671
910
615
154
752
846
597
446
352
526
524
463
994
53
671
944
556
371
892
973
111
455
989
922
35
757
343
132
492
373
517
154
299
44
104
619
716
997
732
486
457
988
145
600
149
654
181
677
888
537
692
503
645
988
970
809
830
914
238
756
924
773
525
90
609
215
125
802
926
136
25
214
539
331
237
627
887
980
806
955
258
578
557
614
632
768
720
791
760
172
378
226
74
386
848
592
182
811
976
616
944
858
869
723
692
628
953
0
516
465
987
84
547
865
59
699
524
227
457
563
815
513
385
864
17
665
33
158
947
903
169
435
235
446
748
121
28
486
92
246
90
868
107
300
281
561
540
719
54
401
499
642
54
130
717
762
812
659
822
483
815
60
542
764
342
572
214
181
549
831
302
635
877
59
216
167
571
980
583
869
564
490
740
109
832
854
611
425
568
153
398
731
198
920
147
295
508
385
316
682
746
767
3
661
393
514
175
395
112
19
894
845
270
390
450
111
654
604
831
223
326
990
847
438
364
118
504
788
929
609
408
166
62
48
660
282
361
4
559
228
794
703
294
668
589
139
174
972
961
952
677
707
42
121
494
669
482
749
446
817
255
346
303
920
737
702
831
482
678
276
8
28
921
661
123
736
966
273
3
126
474
733
937
256
24
193
448
623
723
691
119
693
559
803
929
344
865
331
39
117
332
849
393
51
90
63
698
261
402
739
338
402
976
721
217
849
633
881
637
483
532
210
429
834
760
499
220
357
805
545
868
615
452
308
802
62
729
532
356
364
915
95
549
609
6
717
191
317
583
707
988
749
101
362
417
69
145
918
593
453
518
638
307
35
374
641
656
223
819
757
923
307
34
129
259
501
669
71
143
514
947
709
340
686
547
685
249
595
899
854
145
420
663
372
34
307
693
300
544
248
300
366
498
760
571
387
851
841
334
780
354
718
119
948
171
229
670
928
168
8
972
895
290
355
301
409
166
247
600
518
663
671
643
106
76
881
2
437
746
966
821
343
309
887
580
197
762
632
825
666
171
960
787
229
275
847
560
472
782
107
66
727
683
892
633
147
78
170
979
188
443
121
745
391
443
850
241
421
434
300
198
581
878
680
613
893
757
612
638
562
586
141
800
176
377
737
881
591
901
510
319
355
861
179
730
620
972
900
838
848
115
918
849
290
902
449
522
770
323
566
642
764
500
606
252
61
556
646
127
816
791
622
308
755
19
773
197
709
135
251
421
176
771
416
812
255
806
598
76
22
608
340
409
545
787
621
960
793
370
535
886
900
567
41
483
519
234
221
427
211
102
241
663
910
546
749
508
78
548
17
364
892
841
993
539
784
463
776
113
298
337
59
736
773
24
865
879
679
233
868
575
176
9
362
719
566
998
474
433
695
378
382
785
643
867
165
481
738
908
90
506
979
956
373
777
76
884
49
788
362
841
429
240
348
23
114
136
957
431
376
318
103
821
771
644
576
528
180
546
163
668
56
987
957
310
155
372
808
265
252
299
13
928
935
606
181
958
635
239
12
144
920
770
943
77
658
7
284
207
49
946
680
943
805
173
814
319
622
87
860
52
206
273
218
726
514
341
344
157
255
834
620
40
386
223
831
297
867
199
738
15
35
423
766
707
541
925
272
359
721
529
283
624
548
94
286
789
278
212
545
281
559
103
623
326
369
347
221
824
702
169
51
322
698
349
625
376
850
381
309
583
9
639
504
873
937
73
203
43
229
20
292
933
570
715
693
154
883
258
645
109
373
61
41
738
193
255
835
32
696
348
637
360
407
258
769
786
991
851
914
498
820
368
797
733
532
888
281
205
569
358
332
281
959
279
559
476
37
807
547
20
722
410
838
839
40
880
521
814
376
938
192
772
966
300
257
450
463
457
499
315
675
11
32
330
527
742
499
913
737
809
53
631
445
884
76
122
827
423
81
183
869
973
512
316
19
470
206
731
484
277
643
142
361
573
27
913
737
604
829
956
569
594
34
142
604
227
877
405
365
537
828
81
298
934
437
817
71
136
641
336
130
411
923
296
521
323
503
868
311
459
151
331
600
548
896
496
987
919
583
724
844
95
36
70
343
409
3
678
767
242
195
496
226
24
410
444
244
687
242
669
638
614
548
265
590
633
191
630
644
163
760
966
610
920
278
294
153
724
210
17
815
800
596
252
59
907
454
313
532
22
447
186
12
791
224
657
579
739
886
29
354
306
222
666
23
648
842
636
221
280
672
794
990
786
519
717
967
604
220
713
0
529
752
731
139
369
398
638
964
422
198
351
642
573
379
681
879
719
60
648
993
225
11
296
343
748
212
584
295
857
632
832
347
545
160
41
254
152
858
119
764
812
764
904
494
997
726
374
628
906
137
419
197
34
53
947
721
865
979
349
778
882
270
737
262
88
290
729
920
107
846
495
786
594
682
306
527
297
517
513
389
53
895
232
176
801
681
323
560
766
791
756
866
331
811
237
421
222
691
776
766
277
161
689
104
122
788
109
461
864
707
93
564
998
872
288
328
958
233
68
163
643
500
424
179
413
174
848
708
13
836
526
60
246
828
573
675
433
216
944
16
247
532
540
357
376
600
210
927
182
177
604
62
714
472
40
986
381
69
344
848
43
540
889
614
439
271
24
675
645
878
643
906
259
275
372
72
502
652
594
341
41
659
692
821
845
19
589
374
639
550
997
866
132
598
692
519
558
90
833
601
889
621
832
357
229
776
114
221
598
456
860
155
544
728
306
910
408
297
642
732
677
296
543
654
13
900
440
580
720
235
785
853
795
401
638
288
440
575
962
626
757
704
953
365
680
472
249
292
4
205
651
633
233
520
848
796
267
257
261
907
697
258
94
721
242
284
565
490
723
871
47
222
148
930
591
998
876
360
332
514
566
985
111
181
320
371
423
122
589
200
805
202
593
362
163
884
761
438
71
189
277
62
291
120
176
381
16
403
292
836
891
966
283
418
453
441
748
255
270
250
890
856
777
196
764
546
978
87
303
907
735
243
521
991
663
171
529
426
13
922
18
859
77
52
893
564
81
158
815
136
795
423
771
519
356
607
108
772
66
839
736
762
845
676
507
655
10
518
804
99
771
748
431
590
513
769
107
746
366
197
886
282
906
483
416
708
698
711
251
90
939
401
294
662
678
963
854
456
536
508
263
484
282
474
60
8
483
547
196
688
144
519
665
340
270
479
132
771
61
880
876
865
766
695
866
642
126
747
98
246
246
155
199
34
967
71
833
372
224
362
259
238
451
321
616
582
599
564
504
269
368
165
906
705
159
961
587
492
692
144
783
94
697
661
657
149
919
661
309
245
702
432
539
319
668
144
968
947
965
628
870
901
808
743
572
509
505
708
241
6
351
145
701
530
70
177
274
907
383
486
288
122
669
197
666
371
499
136
37
728
981
90
840
48
527
3
21
379
546
481
105
414
469
259
966
449
484
607
994
575
534
497
945
648
733
348
653
291
705
969
191
242
976
420
924
43
26
967
67
857
66
300
197
139
806
794
956
273
62
954
798
772
530
487
415
426
672
286
745
444
103
338
348
538
347
17
645
646
466
594
798
5
775
300
716
517
72
12
620
75
900
188
513
99
594
934
542
181
588
89
116
276
669
789
19
451
416
54
805
85
718
737
690
264
660
397
566
627
821
349
391
249
521
767
934
128
575
75
669
801
651
151
748
10
651
634
20
616
545
728
430
948
189
662
527
30
513
233
496
29
113
538
382
174
95
153
801
198
331
827
90
797
866
594
295
438
318
174
545
128
966
879
454
335
159
809
614
837
206
517
890
673
901
209
125
333
777
87
734
161
600
537
424
683
286
252
61
72
298
136
183
942
392
305
429
694
173
669
579
623
284
111
353
394
783
372
811
501
822
623
739
230
100
211
851
394
182
499
978
232
45
930
445
123
723
843
184
432
137
132
143
107
332
991
473
998
111
584
50
124
480
756
967
783
754
169
589
341
269
984
641
960
512
329
789
952
208
125
709
576
64
697
988
650
604
106
78
351
555
685
432
207
706
159
4
509
405
365
87
606
356
331
161
435
523
413
801
381
548
583
872
179
926
675
124
759
606
278
133
716
968
184
871
898
382
895
842
65
978
664
643
21
494
756
444
425
70
887
480
28
204
576
309
494
619
665
295
692
852
72
515
479
228
190
93
106
835
671
913
517
453
806
148
311
337
226
501
781
640
88
747
782
911
751
178
528
919
93
601
207
998
284
230
689
905
721
121
156
941
363
928
588
169
674
183
946
136
841
292
426
152
254
693
77
860
323
283
704
697
59
141
913
132
783
884
348
944
949
625
794
193
570
239
463
896
239
524
470
513
750
688
962
102
134
515
495
560
852
766
113
414
18
359
432
443
187
256
538
302
201
628
206
818
795
848
599
807
937
449
46
980
408
367
237
426
39
414
821
704
939
158
318
286
152
715
144
167
772
594
342
990
490
879
478
748
907
174
769
610
3
404
37
664
2
357
382
847
96
375
164
503
813
883
713
966
590
727
785
427
971
456
457
697
375
390
118
7
64
346
886
213
239
990
632
160
164
638
701
449
523
817
388
928
904
830
586
286
980
160
190
681
332
308
82
991
898
610
453
942
645
919
741
834
716
266
569
410
646
485
78
625
867
909
476
399
139
280
67
613
80
473
605
498
786
801
364
155
392
817
447
695
842
87
726
790
78
373
229
874
105
266
511
337
41
11
140
494
678
73
895
799
341
798
286
244
824
161
510
919
823
270
824
688
352
181
596
139
232
144
546
450
22
227
643
70
648
136
378
339
164
556
368
696
202
564
391
528
433
879
154
905
630
366
670
55
205
716
794
58
922
746
295
694
584
901
568
989
566
569
947
144
378
674
116
472
410
72
943
88
888
243
604
465
219
578
24
340
431
374
536
105
514
918
503
228
391
466
764
937
406
827
171
226
57
942
860
881
736
31
708
452
313
634
109
511
475
403
619
866
860
648
677
159
739
358
839
804
355
755
711
903
528
827
12
305
42
796
907
7
859
405
868
294
7
818
883
420
319
742
575
547
206
456
332
262
842
165
64
539
74
742
619
761
532
525
85
936
917
316
553
938
892
639
267
119
161
659
814
871
801
449
867
608
995
188
824
39
855
87
123
949
702
843
973
551
703
114
444
897
23
143
277
651
198
772
63
3
319
187
531
942
288
665
270
428
121
880
24
148
629
857
385
940
26
545
211
521
736
598
222
260
840
316
899
819
540
107
403
261
248
124
646
235
513
241
35
782
789
297
171
868
710
761
863
689
763
206
858
225
299
101
766
440
557
137
416
71
93
433
499
252
525
874
799
54
591
318
167
503
912
712
576
935
71
937
862
400
869
152
442
440
455
739
28
479
450
172
581
539
41
675
686
24
574
359
331
867
421
756
680
389
734
300
132
169
192
489
11
846
959
210
345
828
191
927
140
864
590
68
227
245
566
9
62
292
91
900
570
486
700
489
198
739
333
711
52
745
596
135
282
909
335
879
127
604
88
203
754
922
86
515
818
439
471
402
682
722
984
607
192
281
173
352
994
383
835
519
752
310
299
525
138
446
517
513
876
896
351
543
837
913
497
955
9
748
513
955
889
319
290
381
757
309
42
793
336
853
352
478
896
822
494
684
222
102
907
415
947
772
95
162
174
971
631
701
619
379
89
470
469
86
911
264
518
715
979
229
9
466
231
997
36
22
618
259
442
374
5
525
383
501
622
703
914
45
574
787
217
390
548
310
358
802
891
399
326
562
309
426
186
599
498
774
129
512
469
688
913
380
50
947
984
472
553
363
14
784
20
486
216
774
437
363
451
409
726
983
871
188
303
678
281
133
315
750
715
382
919
709
907
832
98
146
713
798
290
725
45
801
557
848
438
776
863
376
335
486
72
510
616
462
323
292
438
334
362
60
865
115
149
931
950
145
18
882
313
437
243
203
898
67
275
471
810
399
225
628
2
303
182
425
243
397
645
153
793
923
949
757
400
679
835
613
553
798
636
757
731
270
269
596
472
660
48
665
380
712
483
155
147
489
705
750
246
3
838
977
891
91
292
951
327
817
566
760
156
975
862
828
788
302
99
926
395
514
762
268
299
870
33
540
93
501
356
45
727
548
522
638
825
508
405
790
876
231
597
94
808
820
539
587
946
365
46
236
789
607
368
206
345
680
150
307
246
613
733
702
641
331
598
471
54
736
832
554
504
653
803
180
912
297
870
663
6
806
444
581
804
187
224
593
581
776
980
443
88
995
210
548
363
436
604
868
853
501
411
286
732
341
485
17
118
844
649
69
514
129
397
977
457
314
952
976
707
664
785
257
223
23
349
475
426
989
841
459
275
629
549
498
166
448
993
733
690
714
821
995
996
881
535
281
357
216
43
407
188
499
403
855
87
942
506
45
976
182
723
780
502
632
401
236
35
599
94
67
743
617
986
561
966
408
298
976
283
440
862
785
869
186
510
188
537
960
739
207
553
662
863
232
986
326
419
891
641
596
622
281
423
864
286
253
235
214
143
7
558
394
83
300
828
654
84
557
359
979
408
76
927
274
382
185
940
372
996
19
516
876
93
197
657
317
159
852
687
14
502
844
559
863
721
951
300
811
39
129
661
644
361
651
928
644
228
518
781
237
622
758
695
371
894
660
982
554
217
785
941
34
191
250
158
287
557
829
360
620
563
747
247
544
897
465
432
268
384
595
930
312
377
648
144
225
773
998
163
343
370
260
264
927
399
869
575
493
534
897
492
359
42
217
257
3
90
89
533
517
89
237
581
615
860
85
498
181
862
565
959
614
947
670
473
617
770
938
626
504
144
920
748
726
459
926
942
348
549
303
740
114
930
80
503
403
117
162
240
685
443
962
316
324
378
16
821
511
270
964
392
78
123
738
984
256
55
589
199
645
993
696
489
605
465
957
157
822
142
46
811
444
56
580
326
468
248
73
636
975
129
847
300
881
976
669
464
744
56
271
17
168
190
318
680
585
960
465
627
156
456
298
972
387
531
951
328
517
741
435
991
78
898
88
400
632
60
327
225
293
197
491
17
458
355
874
957
557
474
138
633
230
321
528
877
966
933
325
450
278
531
479
730
196
1
113
216
228
422
688
816
334
812
110
74
208
245
57
764
57
755
18
705
494
132
117
192
449
701
810
847
521
386
698
78
356
291
645
881
774
781
287
149
735
643
5
736
14
870
97
702
311
467
171
433
386
597
606
402
749
760
60
741
775
186
423
403
763
799
110
375
631
992
976
694
582
594
506
767
281
519
582
736
496
9
430
701
45
136
295
119
254
79
277
969
914
829
742
192
358
765
605
480
816
86
742
490
778
684
615
599
57
342
784
752
83
310
79
95
723
831
753
363
482
259
69
290
790
506
175
905
871
178
435
425
859
252
585
772
132
477
332
10
111
443
472
295
589
237
869
418
524
780
997
393
324
220
541
845
973
3
823
74
340
298
324
709
968
579
2
535
783
200
876
101
80
750
769
566
5
423
938
494
251
396
649
449
552
42
914
991
441
421
769
984
487
933
647
37
48
24
227
289
759
931
987
456
500
412
236
700
922
859
784
326
378
210
105
309
165
42
97
924
447
269
531
282
210
924
647
195
256
231
495
765
215
257
502
404
973
175
906
85
836
796
77
337
49
381
518
8
107
444
82
372
525
257
517
563
790
911
952
300
295
654
541
930
99
986
567
759
189
799
430
181
714
160
793
946
125
492
778
212
51
912
419
99
245
878
149
400
709
413
817
272
678
511
370
523
495
136
306
776
634
998
799
754
135
554
140
540
93
551
699
364
341
40
78
68
1
763
957
997
124
97
498
601
602
453
932
273
661
974
618
688
859
382
828
112
281
945
621
487
565
893
354
123
881
997
809
811
137
368
602
824
799
744
422
728
568
747
882
807
386
312
479
954
613
90
399
681
489
386
458
243
723
449
244
398
617
385
660
890
780
869
991
14
458
225
122
764
740
82
349
791
194
314
741
414
255
973
846
155
485
530
562
980
291
153
725
707
831
816
677
740
710
51
194
617
644
925
426
757
239
629
713
646
741
229
80
258
723
53
629
227
823
434
730
924
72
81
245
269
389
526
254
762
43
380
17
504
461
922
771
683
63
576
326
235
637
80
507
48
346
273
246
938
717
11
78
87
267
402
108
205
545
707
898
852
408
312
653
337
903
607
508
774
549
382
872
468
613
954
998
614
420
112
489
764
352
363
426
842
784
199
154
975
715
166
10
302
873
802
902
388
445
427
313
128
355
614
861
97
93
964
936
275
891
487
972
144
484
742
903
494
456
245
101
932
533
330
387
256
779
144
482
617
882
21
623
948
28
282
475
155
982
832
810
801
954
884
834
53
651
477
14
612
646
999
155
384
339
114
620
921
953
351
226
941
394
269
133
281
886
751
456
897
933
165
277
85
172
632
420
706
586
652
37
653
581
365
292
223
724
689
4
482
943
82
827
131
355
193
11
800
987
101
770
686
98
855
70
377
19
327
633
93
723
171
989
441
390
159
161
761
466
702
868
459
141
171
698
102
318
342
607
216
251
541
369
972
122
489
461
234
713
76
612
401
460
707
30
407
762
669
542
361
942
629
847
653
121
646
811
778
841
446
787
204
392
190
271
864
997
887
642
550
961
229
195
349
908
676
399
953
460
27
571
5
143
15
315
75
4
673
910
971
914
274
397
35
387
224
483
49
1
173
835
111
708
182
105
145
370
494
724
185
180
674
254
349
228
132
971
552
443
641
168
99
789
883
997
830
705
617
21
844
557
718
491
374
110
409
879
21
989
552
10
917
266
26
737
403
111
260
72
798
769
484
240
351
31
395
994
30
11
662
289
747
736
451
496
183
252
488
752
924
990
927
950
46
889
370
898
776
522
491
539
509
495
74
389
919
602
498
279
491
521
9
429
131
927
262
723
778
724
244
62
919
147
95
32
21
428
92
54
732
20
390
704
46
344
911
237
426
43
929
402
133
507
79
813
373
937
44
219
650
101
4
471
785
852
497
405
502
651
393
798
185
600
414
129
710
137
180
37
800
951
671
908
996
403
476
14
426
252
622
350
908
561
375
512
780
813
957
436
221
241
122
732
457
594
858
385
385
734
941
102
964
316
283
321
793
960
524
562
23
755
266
265
483
736
450
909
116
476
724
142
83
910
868
361
233
708
539
72
564
996
823
126
169
313
388
452
961
104
600
782
861
250
45
386
990
724
412
450
922
571
726
112
451
801
404
972
880
418
40
344
195
299
723
921
788
921
796
405
766
468
676
655
373
883
109
966
989
912
271
131
951
602
865
774
26
322
779
819
85
215
445
53
888
170
746
954
591
494
640
656
560
642
900
588
464
537
323
336
968
55
71
898
705
631
162
486
488
94
197
361
459
326
160
342
792
779
258
309
634
571
957
839
604
439
176
932
430
895
808
808
551
136
469
761
709
57
267
225
379
361
584
873
338
677
696
285
901
356
323
933
467
902
90
323
211
898
616
135
61
755
238
930
156
168
964
476
30
57
289
237
111
24
440
170
414
736
110
24
785
287
273
108
626
723
817
543
989
166
88
664
518
393
410
182
865
451
166
734
420
917
635
599
838
953
828
753
982
582
294
926
891
598
999
628
128
268
179
9
135
594
292
866
296
123
630
523
508
997
158
13
773
604
960
164
609
816
898
964
171
405
58
479
688
654
103
303
152
9
932
704
274
429
316
425
185
463
417
416
903
715
957
710
961
74
152
180
814
567
131
364
800
354
15
475
2
880
982
63
912
812
731
872
645
675
600
240
606
237
883
911
2
959
299
510
997
552
640
683
260
40
644
714
780
119
183
619
903
137
205
575
571
867
713
317
429
333
840
195
566
333
505
182
223
903
300
290
659
818
394
461
831
683
574
602
767
790
426
344
141
724
418
689
961
98
634
551
625
760
14
185
297
554
912
585
31
86
759
148
403
244
560
397
544
883
362
63
326
138
401
888
864
209
227
254
887
220
385
897
742
219
427
554
996
728
356
123
549
523
80
593
290
589
294
234
95
587
517
34
449
743
813
609
222
887
207
537
558
527
470
746
55
300
488
548
128
27
32
14
264
298
983
972
353
387
33
296
29
327
176
181
641
988
639
621
44
304
433
80
456
333
858
410
305
59
547
935
900
57
943
826
532
205
792
724
529
721
551
653
752
984
586
51
627
405
469
545
382
247
533
793
292
649
17
648
209
67
245
264
85
50
1
970
739
580
302
607
755
919
202
497
542
746
483
305
345
910
633
2
479
151
786
252
917
805
546
770
769
422
236
168
947
621
279
607
264
414
411
995
556
672
974
595
118
273
706
663
255
1
679
70
555
705
448
952
688
844
853
831
485
344
725
985
835
677
613
687
748
821
129
367
376
443
238
660
491
457
344
993
849
837
287
544
906
103
282
47
163
138
559
355
311
963
862
558
951
427
646
396
55
768
619
512
375
219
327
467
915
361
13
263
313
258
135
347
226
625
953
518
428
536
93
971
600
804
390
6
371
340
433
174
792
443
567
981
785
492
734
866
234
893
706
668
196
818
241
316
850
241
35
959
284
973
540
297
104
462
746
434
77
100
799
915
141
497
929
72
952
215
172
933
689
509
386
285
705
922
342
230
188
376
263
53
510
409
706
986
97
571
932
703
694
442
310
970
496
865
445
934
935
935
358
562
410
796
524
830
315
192
472
10
826
434
951
823
486
957
662
314
843
326
899
399
290
912
770
303
350
115
307
106
152
485
607
774
329
85
624
839
211
545
574
687
549
98
717
840
285
691
66
438
343
961
264
711
655
800
885
441
971
500
918
376
608
690
946
870
441
738
594
354
654
200
311
758
169
324
575
248
81
42
523
207
703
522
909
49
16
611
953
908
306
620
353
146
574
809
439
482
706
290
249
15
421
543
498
343
847
93
999
777
344
989
649
719
879
371
812
917
141
254
516
351
576
652
306
992
202
439
813
483
383
657
243
439
885
592
841
442
694
841
104
878
140
815
147
894
442
377
195
777
42
228
107
459
32
348
291
904
284
41
154
950
427
40
984
945
162
228
990
424
16
673
452
253
538
516
251
335
774
210
305
60
266
383
773
23
111
219
282
733
458
493
730
992
74
336
751
619
717
245
924
38
698
186
312
772
73
560
167
669
703
159
127
230
381
725
991
625
276
551
353
530
201
331
731
869
464
872
70
234
850
176
366
799
23
494
125
98
912
976
205
575
51
718
736
985
149
816
883
466
209
583
150
885
271
100
524
972
566
776
972
164
475
690
259
938
38
511
548
198
881
446
434
965
66
401
368
118
100
395
487
742
776
498
480
750
323
529
445
786
852
232
926
183
351
99
95
436
249
777
215
123
813
876
177
410
84
963
429
651
64
87
611
880
411
175
163
719
560
105
797
645
103
129
338
337
396
979
944
198
782
403
642
790
945
250
960
812
46
942
63
247
104
161
38
514
19
108
317
314
431
638
453
408
115
213
845
322
767
244
499
988
325
362
614
427
486
933
692
64
170
516
224
566
110
936
953
584
936
1
594
902
739
530
585
342
868
379
690
814
482
624
934
476
616
898
80
694
93
796
222
562
469
994
893
262
558
549
118
468
852
509
702
75
366
291
880
938
14
955
495
469
502
368
604
92
156
839
399
725
653
297
154
212
742
191
825
880
778
967
736
321
619
772
5
422
392
454
771
325
551
575
434
688
992
827
474
144
771
547
125
845
614
829
353
382
20
393
471
466
648
901
774
769
969
484
452
81
943
556
309
558
455
686
736
875
909
1
854
185
699
373
112
306
848
863
428
548
319
148
307
895
753
4
467
597
879
660
812
575
913
265
474
794
273
352
316
6
974
352
74
492
688
98
489
22
264
673
378
722
301
519
916
790
490
283
39
795
309
693
81
216
392
594
419
636
989
695
11
164
207
431
284
523
684
232
427
818
817
723
792
270
656
850
994
422
835
131
113
528
226
413
253
252
112
208
515
552
533
368
454
88
34
567
115
48
234
97
177
229
279
961
936
10
456
895
901
755
31
234
217
233
102
474
359
198
872
315
661
935
512
301
517
895
237
119
490
922
34
733
186
655
481
866
593
975
281
472
271
97
653
905
418
668
130
776
597
622
150
635
261
636
154
185
303
39
811
696
761
962
352
811
615
789
877
356
652
417
508
56
621
449
476
669
443
935
305
928
155
184
467
80
756
96
464
457
120
364
157
771
614
750
184
673
51
743
619
952
281
421
152
702
55
299
490
109
311
500
577
586
848
346
9
684
233
543
76
570
742
383
575
810
712
895
309
952
297
15
570
143
57
192
550
230
100
369
576
99
149
93
53
557
61
781
702
325
182
224
449
386
944
804
217
428
295
324
251
612
90
414
847
179
619
561
19
339
698
745
883
618
189
320
26
848
359
902
765
833
996
315
58
365
758
876
80
626
212
618
71
795
369
357
679
379
521
180
401
695
360
863
892
967
924
814
294
998
822
297
41
570
692
841
269
327
388
605
521
623
9
933
666
431
579
143
635
116
480
446
501
28
502
104
908
376
371
742
780
297
59
994
862
936
773
483
711
662
979
370
139
356
844
541
66
491
33
368
337
546
709
530
818
69
44
894
574
625
421
29
455
684
639
675
724
59
833
560
889
766
181
144
705
370
123
386
630
27
694
17
471
772
834
304
434
640
574
484
949
298
911
323
500
656
751
338
405
961
792
31
609
816
839
362
125
50
895
953
151
853
497
672
725
345
25
757
721
487
888
435
931
501
722
281
882
744
289
625
153
655
888
846
769
51
298
547
229
935
60
573
352
676
170
222
333
276
457
610
663
568
678
738
827
651
682
924
619
473
217
675
4
954
562
286
636
260
458
177
18
25
533
61
135
270
145
268
16
128
291
396
730
706
814
544
86
828
145
328
612
255
977
594
920
153
356
777
549
573
368
907
787
89
228
54
836
249
784
907
184
658
793
492
120
792
51
671
699
207
345
437
312
310
666
215
541
594
886
674
602
224
489
755
477
741
170
452
580
512
841
560
659
871
383
755
601
184
372
540
163
44
563
233
263
775
933
386
137
734
150
900
31
247
493
610
567
181
89
925
916
803
842
394
450
334
695
249
794
124
819
224
748
354
454
577
980
627
231
0
695
6
633
9
389
609
865
240
303
570
823
280
115
770
828
876
376
234
419
650
13
733
78
975
308
370
136
443
264
11
669
373
287
661
243
195
618
544
801
318
723
940
244
641
959
12
270
278
493
250
525
265
300
274
993
534
697
237
467
337
7
518
297
370
249
611
430
949
345
684
450
712
888
976
959
916
931
124
158
738
959
415
297
483
976
331
75
485
810
771
244
569
540
366
820
678
338
59
891
509
562
892
384
839
834
891
470
85
771
525
1
118
428
467
665
625
9
181
97
78
378
956
470
170
838
686
223
57
7
289
15
958
570
473
743
923
234
737
863
597
512
879
386
914
45
169
376
803
195
345
152
723
478
393
521
155
897
642
757
263
804
914
41
386
754
154
513
483
933
195
605
480
723
638
171
824
558
833
886
791
176
465
519
903
192
302
852
113
54
394
868
920
485
684
410
752
349
250
680
504
793
964
295
574
198
849
420
226
292
829
665
115
727
383
734
162
865
278
293
704
619
250
929
654
673
955
599
208
109
668
379
16
244
82
424
969
198
727
183
538
97
548
846
858
160
580
370
761
766
76
642
58
991
258
144
530
4
143
411
609
129
455
646
204
826
569
797
187
355
857
52
740
123
395
26
724
748
28
218
894
662
616
377
32
604
119
282
306
105
313
464
844
105
139
447
310
830
3
233
267
156
98
525
14
643
64
34
363
144
636
612
549
926
135
334
79
777
758
35
262
361
516
663
410
80
664
907
393
960
771
736
977
83
957
94
654
686
495
442
252
389
613
908
12
261
908
189
182
307
645
281
565
516
441
460
522
610
6
39
358
487
723
755
73
500
783
529
698
259
888
924
392
191
328
369
30
574
68
934
128
243
761
780
887
218
798
836
144
518
40
34
163
337
155
875
297
526
493
973
40
784
75
413
10
909
135
151
603
62
900
539
952
632
847
983
507
870
181
816
823
832
294
929
92
43
707
978
217
857
73
381
221
302
233
872
583
586
803
545
636
197
758
376
596
729
443
458
933
665
488
257
825
401
68
100
348
684
360
468
557
652
354
790
221
67
162
565
539
157
335
614
197
133
494
680
611
574
73
803
309
73
95
830
298
555
853
833
967
525
791
255
843
478
256
604
880
420
708
964
832
356
972
537
110
499
36
676
822
52
368
899
819
587
657
224
579
953
533
488
866
775
807
41
811
835
219
599
644
723
100
408
835
643
765
92
739
824
623
843
952
131
56
562
792
993
328
440
137
483
200
343
901
989
14
453
294
129
533
932
573
761
235
457
126
717
488
230
54
196
944
66
410
668
401
20
685
445
380
726
364
437
528
708
869
556
281
363
108
729
645
956
843
466
2
790
112
888
626
132
837
206
25
43
685
878
526
610
469
210
639
119
593
957
195
152
595
774
22
101
611
383
144
886
580
72
398
648
115
970
323
781
55
775
291
415
449
183
700
885
310
310
979
944
460
230
311
886
173
710
274
603
146
633
831
69
53
660
296
243
114
279
68
902
689
395
98
640
574
386
659
512
370
490
236
521
167
252
869
170
644
918
175
522
288
896
138
719
149
419
562
333
22
499
85
186
223
372
752
286
119
186
527
150
505
879
958
91
834
578
542
277
433
701
867
290
702
621
455
521
753
536
584
286
91
437
742
2
288
611
334
924
462
279
602
833
742
148
41
551
492
212
539
460
722
20
747
260
686
368
716
65
192
368
239
838
678
740
8
930
853
479
657
876
401
675
84
525
649
271
586
851
895
38
272
12
36
963
442
48
368
427
829
66
164
241
333
863
847
447
828
571
924
59
847
187
2
47
190
994
131
816
630
671
855
181
5
771
570
804
54
238
886
724
550
941
268
571
729
112
420
500
403
904
891
826
823
221
171
839
62
665
127
717
163
385
470
353
727
60
45
671
486
75
858
434
133
314
131
563
552
931
581
499
442
173
721
558
577
652
753
644
971
942
606
282
878
267
959
900
867
253
405
271
494
80
747
166
160
621
331
51
696
488
701
413
985
232
193
565
333
595
838
604
127
870
341
945
402
858
394
823
984
24
255
834
952
398
773
3
169
189
43
447
78
329
253
984
111
43
447
430
469
140
394
300
494
972
913
958
765
796
696
623
112
647
127
159
103
371
753
44
4
546
703
265
467
558
331
5
134
762
826
804
203
835
931
935
734
138
716
825
903
281
974
836
631
510
144
512
945
346
662
371
410
254
895
440
565
994
507
87
981
836
658
31
887
951
150
499
797
565
449
994
28
203
862
647
50
233
385
92
306
154
688
777
16
518
318
97
470
85
857
430
167
624
865
757
845
870
139
809
164
170
10
828
617
13
283
233
839
412
166
157
643
932
960
386
208
952
44
783
809
251
728
522
867
738
845
308
242
445
948
101
710
984
656
495
571
612
591
304
107
286
152
596
628
628
639
61
398
782
674
313
955
602
522
334
224
846
396
365
17
702
590
195
807
889
778
795
913
72
88
896
639
854
270
786
262
473
401
173
932
858
890
211
189
291
827
584
204
766
653
682
481
495
686
333
769
970
935
987
710
864
301
946
79
497
63
220
91
103
936
303
46
68
849
875
765
363
471
911
595
767
651
648
802
79
334
572
733
225
446
568
316
696
962
935
177
578
223
817
928
751
939
846
221
575
647
339
398
107
304
228
156
495
927
755
604
893
440
906
997
585
405
255
731
231
629
897
591
825
243
313
429
105
874
879
982
705
837
10
923
939
779
497
663
241
828
307
665
582
428
929
448
401
131
865
248
67
779
374
63
14
95
194
407
890
152
416
953
236
410
968
370
166
48
101
81
707
877
85
715
422
738
379
324
238
210
963
560
566
666
702
862
920
976
344
913
909
223
628
130
672
328
277
804
503
844
194
894
9
828
648
33
35
108
253
502
451
701
166
37
744
534
31
179
751
243
428
617
189
71
403
337
897
172
677
961
85
984
50
303
648
397
688
281
859
31
181
248
481
267
769
670
916
956
556
330
975
891
43
904
682
510
413
739
704
679
619
10
758
643
842
803
130
486
588
802
964
620
975
993
21
771
387
271
885
802
791
362
262
358
495
776
83
153
556
50
452
898
542
553
569
454
684
719
250
587
53
658
894
410
151
456
279
589
257
588
16
67
824
853
16
90
234
976
951
223
169
746
333
72
170
454
616
371
75
940
248
477
917
482
132
591
402
788
754
315
947
713
215
79
513
900
404
766
108
897
907
126
726
317
837
771
729
527
882
346
278
307
82
82
253
6
924
850
737
409
283
196
609
719
580
530
861
540
593
246
302
486
602
431
947
487
783
5
145
176
759
274
940
155
496
146
174
994
372
247
933
311
540
163
694
296
998
943
659
464
633
167
30
83
168
806
399
620
149
833
325
778
903
58
963
797
828
136
375
504
77
821
823
907
542
667
101
951
92
794
118
332
714
897
950
868
315
412
31
975
166
213
751
911
83
374
438
190
755
290
627
794
664
105
837
562
211
653
741
449
57
985
991
563
769
820
901
457
630
944
987
251
672
164
119
861
424
285
417
984
462
490
512
114
810
931
638
343
81
983
853
59
115
968
114
165
878
381
683
606
824
468
692
62
697
358
143
855
327
371
911
650
202
433
180
313
707
765
870
745
488
220
101
520
359
7
866
826
19
390
923
474
579
584
85
373
578
671
203
494
456
213
793
989
820
438
351
284
781
181
449
840
753
383
900
945
136
493
395
934
312
906
990
186
942
67
69
105
863
366
716
187
753
22
543
889
928
387
426
142
13
980
275
367
112
145
313
437
418
357
309
366
322
948
321
402
999
185
276
602
979
383
156
171
982
232
758
450
761
868
162
161
378
7
656
275
552
313
882
895
626
835
293
882
911
62
483
896
795
990
929
601
625
289
672
751
468
209
955
225
34
651
414
998
535
441
557
62
187
770
812
308
542
344
751
164
448
192
561
753
570
855
795
150
978
85
315
555
805
218
732
166
186
496
702
258
784
549
376
699
203
754
225
260
177
185
616
398
33
669
347
430
501
401
426
78
384
998
104
439
989
321
225
862
272
439
828
146
624
453
615
830
637
156
782
462
903
5
195
701
80
877
481
649
450
567
242
503
636
365
430
726
686
938
118
13
894
686
132
369
795
815
754
143
474
399
134
358
68
854
775
281
521
327
783
704
404
185
81
727
150
750
845
226
257
880
845
399
181
788
461
820
303
174
283
287
401
277
574
19
332
428
563
418
847
266
249
131
182
543
534
247
290
187
109
373
997
482
424
82
511
994
83
583
995
422
346
525
699
399
769
312
644
304
54
106
569
412
317
125
24
189
646
14
86
184
556
546
469
990
59
936
69
923
672
897
67
176
293
840
429
807
633
418
299
591
503
113
984
199
571
472
125
843
866
265
447
924
783
155
258
265
261
650
782
921
637
60
572
794
388
721
586
686
841
430
489
106
199
873
674
142
810
866
832
295
233
737
310
101
350
903
220
64
922
663
384
41
60
755
368
280
553
975
753
484
133
408
936
72
432
491
892
397
414
99
783
252
264
989
759
870
287
867
5
723
456
601
203
819
705
572
373
864
793
33
103
747
877
233
438
990
838
851
651
727
528
326
995
209
488
489
777
491
783
640
777
356
270
475
443
641
480
29
688
327
383
131
38
692
784
182
78
898
789
113
892
204
125
736
489
879
235
1
531
686
753
589
519
347
99
278
789
109
159
444
872
62
565
826
475
504
210
256
515
733
144
811
711
82
877
677
718
507
489
447
620
367
319
194
565
459
32
525
250
437
554
291
181
874
904
810
523
50
918
648
250
517
45
343
910
580
736
397
268
884
853
141
316
206
681
119
237
928
122
270
666
577
963
144
7
18
51
230
273
17
979
6
20
422
674
504
729
321
891
851
905
967
776
233
183
940
685
346
128
140
38
616
82
554
563
765
621
553
420
306
442
417
836
253
250
706
996
483
648
116
91
793
968
366
187
554
629
585
733
777
431
380
781
152
210
625
599
8
302
232
131
75
884
382
417
613
457
825
840
63
358
343
653
763
21
847
116
657
54
788
765
707
846
363
846
22
497
658
281
539
872
81
167
878
598
277
975
202
22
310
620
100
948
812
751
870
992
428
320
282
955
483
462
290
783
607
840
666
422
955
120
34
460
914
332
803
35
373
868
330
887
245
348
184
744
324
355
900
325
566
477
456
788
309
550
207
884
373
296
373
421
234
918
113
907
603
459
555
207
77
237
13
929
62
148
148
719
991
956
611
382
913
963
886
113
732
438
724
509
890
183
898
188
412
570
45
965
229
71
878
535
265
102
97
654
378
54
390
554
383
69
29
593
312
649
658
256
542
888
601
313
993
15
722
145
283
796
481
86
254
288
841
406
209
801
619
533
898
518
309
626
355
149
741
13
173
943
118
854
522
159
648
324
942
183
725
764
967
788
784
687
618
271
913
930
397
340
386
83
431
242
410
219
819
918
295
933
682
15
144
980
96
940
871
261
607
958
743
199
754
864
706
615
60
101
361
690
239
452
933
160
200
837
138
630
822
872
388
268
830
311
352
344
554
326
118
717
99
996
312
65
801
58
978
603
738
800
478
88
612
730
761
602
692
474
27
111
689
791
643
522
116
724
893
669
232
500
425
389
191
187
718
93
145
49
266
902
332
229
311
821
885
368
341
267
130
173
23
902
249
116
306
651
806
862
421
587
518
315
55
409
932
594
462
825
419
614
632
807
191
848
487
265
923
935
267
60
589
949
367
312
196
5
508
591
939
473
605
714
666
810
578
85
394
925
940
696
68
56
617
297
751
335
737
782
951
475
966
188
127
551
493
162
318
989
623
198
781
541
88
310
501
971
980
272
11
522
996
128
593
898
481
118
800
331
918
330
851
449
472
56
711
294
940
220
432
766
870
320
176
438
160
646
493
332
910
760
212
979
241
594
227
427
988
786
400
76
682
296
359
905
914
567
874
795
418
779
251
16
451
654
175
563
93
304
631
778
692
952
906
607
69
341
783
774
187
823
861
838
838
66
418
108
573
328
780
912
659
653
556
647
987
233
708
362
561
101
311
523
230
919
239
455
656
160
856
357
757
260
145
813
186
79
850
968
371
636
195
304
29
792
756
891
850
183
191
742
182
782
2
762
659
764
284
895
751
236
854
879
575
544
268
921
851
125
787
259
970
341
786
711
452
117
718
588
977
635
137
764
336
947
728
955
136
851
691
206
307
666
287
462
311
97
497
679
86
984
414
943
571
224
688
143
61
110
306
587
340
142
77
518
978
21
854
945
814
791
833
123
782
594
994
242
385
886
396
812
775
466
514
377
124
536
194
912
467
169
247
409
798
720
181
399
1
549
382
40
149
546
436
517
821
885
210
515
221
927
499
24
842
287
881
664
683
496
956
570
808
12
797
944
874
58
539
335
649
764
365
816
421
28
319
588
747
106
419
274
635
398
646
394
705
679
516
165
825
206
411
699
708
44
434
544
80
161
307
912
56
49
897
270
214
27
388
346
986
890
894
676
675
133
415
927
170
606
547
410
162
221
486
3
540
679
734
552
105
600
199
525
597
258
743
681
276
215
217
360
793
268
196
632
499
361
352
263
998
781
143
288
69
641
833
567
141
376
219
382
12
675
636
903
167
411
861
866
79
788
895
318
943
500
315
801
184
815
643
176
697
431
667
14
436
43
425
315
801
99
988
80
627
781
956
205
186
620
272
120
819
739
187
973
194
670
421
56
610
353
280
447
582
175
179
120
429
967
731
77
453
501
326
321
447
665
247
82
39
333
787
932
172
824
986
343
402
457
559
863
183
263
581
458
376
473
677
410
226
999
178
794
62
983
978
902
122
968
20
956
293
812
410
97
36
399
222
529
278
523
629
367
954
324
928
411
751
843
803
987
874
263
788
102
242
972
549
566
148
467
259
863
419
85
458
547
201
409
300
264
293
27
305
421
401
201
545
972
830
997
796
164
55
473
230
594
599
517
467
930
770
958
223
799
848
771
344
329
17
195
862
611
587
363
818
924
86
91
204
116
239
735
616
41
698
5
702
278
993
657
509
691
592
426
745
51
292
541
473
963
737
157
283
906
76
327
880
65
269
664
740
249
567
410
98
998
932
991
531
557
20
698
774
865
691
960
934
219
752
41
453
95
739
599
732
903
991
58
95
834
31
18
924
93
104
151
613
334
408
542
64
759
448
564
111
370
562
910
931
482
392
173
175
890
277
573
71
185
130
46
230
156
108
447
907
144
13
604
860
586
694
535
635
390
167
236
854
548
399
50
203
824
858
632
564
30
105
865
437
838
219
858
405
692
703
274
998
108
153
949
983
973
884
768
967
804
267
27
111
819
530
462
797
151
224
155
965
808
577
636
675
480
295
606
383
958
685
736
349
476
826
967
578
97
322
531
670
554
611
497
118
981
564
206
951
293
887
599
400
714
638
233
575
24
278
327
832
157
792
482
231
686
949
663
345
416
382
923
523
101
258
682
965
674
676
339
608
51
95
214
817
133
645
348
692
11
399
42
984
325
276
877
820
368
180
951
610
751
856
346
406
803
309
786
280
281
166
104
729
522
329
64
280
324
788
666
705
930
991
95
498
817
17
61
493
182
697
632
439
744
214
939
692
219
12
340
368
495
294
384
665
226
390
719
781
667
389
658
939
392
157
717
940
368
414
49
480
577
82
615
522
34
220
375
621
276
159
89
173
311
513
364
266
0
28
304
807
482
885
172
25
193
29
426
595
812
80
545
421
129
82
786
993
923
823
153
922
835
368
228
651
559
555
138
257
992
128
737
542
369
802
406
724
93
739
40
392
38
559
301
680
993
577
824
254
493
150
764
290
110
216
997
972
506
580
137
539
307
18
671
682
677
11
869
306
85
291
868
364
620
63
248
10
903
306
830
711
975
964
553
440
563
147
948
716
354
332
742
343
381
888
590
220
571
764
75
844
477
529
659
319
463
765
290
10
282
678
599
119
564
15
948
473
623
91
419
218
590
615
891
508
55
533
678
292
833
758
992
2
826
213
552
379
432
959
15
548
80
951
894
977
423
875
980
138
429
192
0
397
67
347
811
300
554
730
865
984
30
977
445
973
96
876
851
867
190
129
753
853
978
429
294
923
268
743
515
483
876
851
284
288
481
681
157
465
572
6
385
206
179
79
766
820
145
717
580
840
911
142
509
572
78
384
140
441
905
590
459
234
961
370
448
2
286
904
992
935
100
927
707
73
46
871
833
921
502
68
809
703
154
532
189
715
283
405
231
899
765
445
267
542
713
599
13
989
11
572
351
322
512
80
909
2
700
508
359
962
279
384
509
19
614
341
678
105
381
902
732
270
180
695
912
72
432
634
140
908
892
38
523
28
864
99
878
578
718
15
48
161
731
570
310
467
202
982
650
464
856
424
829
775
839
552
605
701
934
303
584
348
730
721
940
245
845
702
22
15
806
380
606
714
635
404
171
957
800
167
136
770
584
815
763
579
696
102
365
314
342
43
584
574
433
764
687
560
770
425
377
616
182
736
496
165
809
210
291
962
820
369
239
53
733
458
398
73
128
410
662
590
353
273
5
974
511
95
825
280
689
608
776
252
974
151
644
197
14
735
311
857
911
659
865
666
34
146
897
403
277
663
195
395
488
429
109
988
366
693
271
140
600
532
708
185
823
195
729
898
313
727
590
825
370
105
581
113
61
515
759
973
24
620
15
747
821
726
887
508
918
534
632
299
692
839
632
579
963
222
212
141
729
596
277
257
906
912
393
310
652
546
296
348
102
296
200
302
332
288
198
224
855
437
413
836
106
974
701
485
564
562
964
476
617
533
482
728
921
680
420
800
885
426
290
989
679
495
377
962
777
239
534
786
887
130
314
678
314
97
426
8
502
480
364
336
515
389
650
290
178
298
938
770
186
622
222
62
922
264
938
625
852
742
400
376
392
782
665
274
812
290
483
989
600
208
201
562
797
346
107
218
440
83
574
260
657
584
363
623
686
188
873
574
889
764
433
59
304
63
281
859
879
379
192
32
355
321
14
465
922
666
829
356
260
706
578
908
481
133
66
850
251
446
41
856
512
579
728
405
278
623
307
30
985
99
82
761
606
858
270
322
300
659
84
31
690
310
509
157
738
788
172
443
543
803
545
53
24
580
834
66
697
518
668
410
623
882
247
100
688
26
393
523
814
389
712
321
56
790
31
586
263
428
353
978
591
622
327
906
684
50
245
367
328
824
942
878
332
247
811
616
175
1
353
257
495
459
415
604
2
232
273
927
206
743
804
142
931
972
602
14
630
221
294
980
958
653
308
817
572
134
42
817
464
761
247
753
954
358
172
268
123
974
131
435
283
972
438
420
255
432
387
819
75
316
495
182
874
32
987
185
2
692
102
379
675
553
616
565
471
133
117
367
603
369
525
746
621
941
967
600
180
913
838
167
506
272
752
421
81
853
593
826
645
176
840
452
491
489
889
306
257
891
572
891
155
515
833
962
420
479
187
722
797
401
861
50
684
200
542
500
697
197
97
240
849
512
132
485
333
135
436
866
344
819
75
571
698
921
874
682
868
428
832
119
917
397
835
94
892
319
146
68
844
407
107
811
612
205
858
166
91
411
528
623
952
971
168
198
922
187
820
798
504
633
338
3
299
144
888
246
657
552
242
183
800
916
456
491
845
480
727
667
238
776
388
432
688
547
484
52
962
137
42
778
845
67
884
739
161
390
428
59
296
694
312
749
69
896
817
355
35
285
652
120
891
299
910
503
499
213
863
93
501
682
134
49
670
244
946
155
22
923
713
815
664
352
109
383
540
139
113
835
736
558
279
909
837
815
580
596
612
502
837
140
18
138
904
659
110
810
979
743
94
857
896
147
817
466
268
324
342
44
584
387
351
976
816
826
859
251
932
159
496
835
211
193
234
49
918
94
752
403
139
411
73
116
90
283
785
588
634
108
48
367
430
437
413
894
602
165
580
795
286
95
581
384
680
281
592
376
194
680
309
181
629
718
458
85
222
465
89
60
242
608
774
527
205
927
770
554
425
617
789
783
6
959
826
997
672
93
77
289
196
610
588
30
124
838
78
94
746
604
332
489
357
495
296
128
82
472
715
463
683
704
462
845
495
631
808
185
105
536
754
56
51
229
6
697
286
915
60
803
182
734
333
827
188
862
367
874
940
276
56
497
436
908
73
114
77
588
486
27
620
562
783
88
639
885
176
951
905
570
455
186
680
486
259
683
158
812
862
347
160
809
383
766
169
918
555
42
697
875
142
481
362
112
82
586
962
175
498
844
295
489
15
206
337
177
827
541
944
241
280
186
641
951
130
886
221
835
119
866
496
820
811
946
108
372
427
15
656
912
943
395
789
930
254
657
650
729
51
710
918
905
267
872
960
992
583
272
440
440
888
503
288
198
806
182
824
88
319
235
65
337
225
634
800
35
398
897
318
16
214
647
371
582
617
730
385
29
930
110
670
271
474
457
743
303
71
521
580
703
4
956
923
986
608
287
756
147
721
742
1
682
214
527
668
513
843
156
925
836
778
655
316
220
530
168
779
846
259
462
803
226
140
839
226
41
911
747
74
622
120
597
15
130
335
734
954
193
723
837
452
734
634
846
881
582
70
588
239
566
595
36
594
251
808
983
580
821
851
333
343
80
851
680
683
877
685
655
88
532
811
755
940
688
821
830
287
72
802
721
250
650
920
683
105
413
204
653
104
991
838
112
261
953
986
710
189
338
506
131
50
438
722
263
457
927
248
121
595
731
220
399
194
959
421
892
537
781
966
61
382
767
359
930
393
387
301
775
357
151
404
227
899
431
709
47
976
52
989
817
680
34
106
189
724
804
501
955
329
504
485
552
130
929
78
864
18
500
296
85
749
450
871
573
381
164
139
14
419
213
941
151
299
991
319
918
248
239
716
383
338
471
138
143
3
365
196
750
947
825
317
77
144
428
545
341
101
726
998
244
488
954
919
360
595
388
44
648
820
563
60
296
987
22
477
623
647
339
551
680
945
438
173
84
136
526
566
629
609
261
799
255
809
33
950
44
551
200
429
76
208
58
933
843
673
56
197
990
922
495
416
393
97
424
133
563
446
12
581
339
767
671
453
922
213
948
237
867
577
489
97
333
52
555
455
437
633
538
761
915
304
121
404
162
498
900
943
710
735
739
25
503
719
337
919
683
771
717
988
122
911
886
484
484
176
485
373
694
659
603
982
175
880
337
424
389
386
148
579
358
461
114
176
651
659
238
380
260
715
940
140
150
305
740
67
937
373
53
794
165
44
578
685
50
326
563
453
750
593
420
536
947
874
26
201
164
41
67
663
60
632
569
617
131
184
163
862
761
925
268
464
19
932
134
121
881
828
147
112
530
683
588
94
330
52
796
810
229
117
867
800
295
381
185
976
902
484
233
337
125
41
550
324
693
201
191
846
530
764
495
471
176
493
89
969
477
188
916
180
632
929
957
944
173
345
819
21
311
532
750
486
712
235
77
304
714
809
75
243
253
197
782
457
406
544
319
873
812
897
119
210
832
32
724
81
708
166
786
258
119
728
925
705
538
691
475
663
70
155
476
189
74
826
386
594
827
257
5
783
782
880
892
564
145
19
483
75
647
131
169
924
142
330
144
859
794
415
831
82
849
395
543
423
973
39
744
259
19
983
64
815
279
377
482
879
976
302
53
846
144
867
292
827
135
437
16
611
796
741
995
609
84
408
430
910
857
994
672
512
622
370
800
935
200
49
18
101
356
62
195
763
111
86
295
73
429
45
500
497
374
115
786
796
519
378
961
14
865
703
490
368
950
36
477
273
163
399
751
340
415
315
388
102
559
469
453
448
585
741
611
296
327
945
533
608
947
691
218
734
254
264
264
812
971
422
504
173
101
659
785
23
17
754
811
615
220
526
311
848
149
368
646
432
128
849
923
986
131
964
908
967
267
476
489
621
865
243
856
693
914
232
460
863
320
575
393
76
387
426
252
582
238
468
642
118
860
373
274
204
366
897
135
816
874
280
958
682
55
273
785
472
666
169
54
122
231
55
454
373
888
939
203
862
402
18
212
1
848
674
997
802
825
359
290
262
905
422
395
829
64
700
277
547
937
699
819
59
520
544
57
545
643
552
571
374
403
23
528
774
299
807
225
253
602
6
556
658
956
752
153
252
876
885
951
991
593
110
792
14
490
993
306
203
429
738
830
254
699
246
351
390
845
7
56
188
861
537
353
420
247
296
321
209
778
469
242
550
648
742
373
502
683
458
571
465
784
51
759
73
726
780
92
234
481
331
918
809
802
158
680
77
279
601
643
4
306
858
964
107
872
861
495
856
211
885
176
815
663
672
887
294
179
296
729
100
345
890
989
449
922
517
759
294
697
849
528
516
358
825
433
999
894
609
750
758
838
747
118
256
65
824
384
243
435
607
619
468
383
221
608
538
614
250
85
772
122
475
706
82
995
437
872
87
281
840
50
242
599
359
177
527
736
708
64
495
577
692
853
255
657
678
184
752
972
878
968
556
339
949
507
388
218
270
985
426
198
778
767
539
877
109
645
816
662
917
26
226
636
41
930
684
859
422
887
834
257
624
666
378
793
133
920
0
486
761
618
696
596
80
926
803
414
82
805
103
122
484
960
172
180
460
538
560
652
441
612
99
382
697
518
47
449
712
829
255
874
385
740
487
575
476
603
968
390
37
80
997
683
294
768
808
976
494
585
488
978
436
479
803
596
522
970
383
113
968
38
320
713
441
135
977
668
450
720
436
494
735
985
945
215
555
785
745
753
762
347
941
907
987
911
623
891
666
917
226
585
410
742
28
625
368
116
403
303
842
102
864
515
282
31
750
498
911
627
677
84
856
135
773
64
762
879
171
224
327
377
951
941
668
420
806
424
401
976
419
936
586
475
787
95
378
862
933
336
554
830
103
36
205
729
359
650
660
915
715
341
736
489
141
140
9
47
815
544
174
778
669
38
163
446
843
681
457
745
685
321
422
225
763
900
605
352
966
154
853
162
329
758
146
422
215
284
773
525
6
52
645
846
147
837
249
86
315
805
764
911
234
575
707
184
506
863
346
719
305
808
573
651
716
359
94
137
901
421
634
838
547
627
280
365
836
988
973
127
256
918
288
35
162
899
385
30
858
847
644
604
809
848
70
501
424
766
827
790
760
440
111
543
53
601
588
345
477
43
76
700
523
660
493
927
729
122
354
890
633
757
165
713
380
663
561
803
546
117
476
753
561
291
822
414
427
63
719
329
773
869
82
87
475
329
218
101
513
234
964
812
492
644
521
17
789
531
697
385
315
923
988
365
701
213
931
99
708
516
442
244
346
541
222
862
309
172
815
724
338
521
29
419
535
734
152
700
563
444
917
834
101
385
49
467
112
723
12
44
488
822
340
740
42
810
363
826
63
498
617
381
234
457
574
37
315
300
899
883
304
108
554
17
485
141
238
556
265
974
820
201
803
343
386
455
971
358
472
609
340
586
829
829
77
140
264
688
813
927
690
211
329
943
179
433
570
437
274
917
855
885
161
756
168
898
520
345
112
564
642
846
575
198
950
119
546
949
184
172
427
491
776
698
963
894
332
311
601
720
494
782
877
164
693
843
574
132
142
363
8
983
743
659
766
494
127
305
43
794
281
428
781
205
843
685
516
698
102
84
301
746
751
604
843
247
974
821
620
609
706
465
270
760
145
747
614
589
572
194
565
52
294
394
110
986
464
858
602
749
249
779
643
293
775
577
607
383
852
787
956
154
756
892
738
398
538
504
976
519
116
545
703
852
87
446
168
728
682
506
62
149
272
274
329
386
317
715
105
446
0
644
262
502
718
931
278
934
959
606
147
445
436
409
680
660
610
325
537
461
143
283
536
695
242
156
502
371
278
588
491
418
711
794
604
504
253
95
351
685
318
597
564
761
366
41
583
829
991
644
974
786
142
426
561
958
916
122
90
736
618
543
720
278
341
544
741
9
762
515
137
457
252
775
605
85
577
526
784
778
982
466
648
421
499
36
957
833
903
659
276
658
659
715
686
818
180
725
701
226
522
111
592
666
382
138
438
832
415
791
617
68
40
698
339
465
292
750
918
338
621
436
115
803
607
618
797
294
280
542
61
192
92
525
792
599
90
113
337
557
401
656
672
274
508
46
969
488
64
395
443
14
894
281
780
491
648
313
701
912
515
105
466
509
425
356
124
935
495
175
383
295
310
960
113
985
135
11
773
894
67
388
532
802
727
652
565
668
302
394
185
801
714
803
734
529
867
886
644
872
564
351
757
485
475
797
419
903
69
693
323
77
449
11
532
548
204
234
36
825
611
391
625
463
289
709
583
471
176
611
193
717
825
9
523
505
880
229
312
146
425
962
249
701
877
299
795
763
67
266
946
731
561
621
865
0
682
452
368
5
148
921
739
303
820
645
904
271
583
261
885
863
438
496
69
730
64
719
843
897
980
443
847
991
528
402
365
763
622
942
84
976
944
513
872
925
338
110
101
241
318
303
766
361
107
758
55
285
68
774
344
378
359
355
984
992
383
472
382
7
796
759
511
587
829
977
724
86
317
817
846
98
857
345
352
606
328
891
313
667
45
171
881
581
272
945
570
730
22
981
58
979
649
986
692
967
20
660
718
945
966
146
460
178
989
67
666
789
55
194
238
304
918
616
162
873
386
338
947
112
910
559
125
46
179
335
723
870
171
569
73
273
558
265
115
194
291
221
628
233
972
321
74
184
201
708
432
3
60
322
220
517
126
668
83
36
13
924
759
552
253
641
800
532
52
635
272
622
136
290
571
931
847
497
405
713
938
777
457
763
596
217
799
67
794
605
286
7
937
749
621
308
570
975
72
41
292
206
463
461
589
251
271
375
268
988
51
164
673
581
158
556
59
645
855
849
438
992
94
487
667
693
392
719
636
307
578
968
629
46
878
327
954
110
927
965
407
302
362
456
322
501
976
111
713
889
873
699
521
37
958
399
816
631
816
636
439
605
923
970
610
828
537
233
325
613
729
667
999
965
241
588
725
275
988
634
364
556
622
396
277
722
949
322
839
115
85
891
840
190
697
610
189
292
304
822
219
750
467
425
34
0
294
503
532
434
161
548
328
884
351
330
440
318
3
263
733
685
267
493
458
641
139
799
488
321
664
334
975
877
266
26
261
654
176
513
822
122
851
82
20
955
583
536
552
848
774
870
28
780
0
192
310
972
341
607
186
574
536
781
883
743
551
89
541
293
786
436
178
993
773
715
108
879
181
319
900
608
570
517
706
894
654
655
841
788
699
248
878
935
915
27
223
430
59
861
750
262
583
585
195
476
17
162
129
405
369
784
141
563
599
688
103
222
816
490
797
63
534
458
526
157
635
66
429
883
275
234
708
185
743
650
48
29
602
48
327
752
810
65
647
449
221
449
688
899
556
200
952
128
75
347
265
85
616
115
93
602
839
109
112
235
26
231
99
153
980
699
835
399
462
649
697
196
136
254
794
572
781
860
867
829
35
598
697
789
554
309
997
418
35
108
645
420
559
768
362
894
466
358
229
750
539
476
536
224
600
352
747
932
7
797
589
914
395
722
219
678
524
770
815
714
977
644
319
536
803
151
602
563
954
178
940
797
568
187
306
969
231
954
174
829
941
114
761
966
494
910
736
542
341
566
866
349
851
390
105
17
617
235
601
961
817
405
296
447
875
501
578
146
586
702
695
588
642
582
529
682
542
201
287
634
393
464
844
488
16
25
752
926
401
21
261
767
126
623
843
31
345
630
316
345
703
980
651
194
413
864
47
884
533
861
42
2
546
915
229
544
224
833
783
866
366
110
934
563
896
36
809
813
281
938
939
456
399
168
425
878
424
791
534
946
560
520
473
137
953
769
886
660
978
40
202
263
484
326
571
726
666
841
173
397
352
203
868
26
396
697
137
555
350
904
871
267
770
181
713
507
265
898
611
649
435
836
636
630
721
252
865
345
576
750
515
624
842
568
271
799
606
206
379
788
497
396
998
881
886
986
72
202
913
740
623
233
991
411
988
829
26
700
884
79
955
230
705
111
526
690
687
552
200
962
733
591
512
406
583
178
975
114
225
114
232
717
10
965
692
678
449
179
876
669
533
51
7
734
900
636
942
589
643
146
619
627
266
494
955
595
350
602
833
608
954
16
751
200
327
796
605
804
628
37
457
543
521
869
288
567
426
537
101
918
255
211
617
136
195
299
722
298
116
491
694
358
777
112
883
236
110
632
657
935
547
48
109
238
6
14
372
521
620
441
730
642
65
173
762
709
488
39
859
623
896
922
58
733
15
866
688
84
57
384
42
995
533
825
997
427
377
921
813
80
455
135
445
439
465
619
605
346
769
492
793
268
893
456
390
953
579
799
498
878
227
45
560
446
662
631
599
29
426
96
232
375
672
374
493
914
976
877
454
153
362
329
989
501
643
252
47
609
528
825
748
925
528
492
155
672
737
273
825
398
944
432
458
796
576
316
693
132
131
241
127
428
528
452
173
973
3
236
671
435
73
654
825
986
785
938
802
771
85
822
243
52
796
262
114
378
889
434
469
69
67
396
126
613
603
233
352
946
63
954
293
664
570
232
135
54
74
615
542
663
710
551
443
331
438
122
442
489
49
485
215
836
880
390
262
131
306
978
292
504
2
256
182
82
4
721
977
960
980
701
173
782
176
705
822
547
742
540
338
492
603
170
974
558
15
719
17
875
146
412
929
641
285
914
183
81
635
863
741
715
514
44
329
851
542
521
117
21
206
110
335
687
504
396
723
616
481
481
332
74
167
721
810
102
690
331
250
902
923
966
877
491
882
511
321
633
61
71
100
328
961
189
798
860
622
854
368
505
485
178
489
396
792
665
443
691
211
607
270
134
623
131
811
22
415
741
984
639
845
308
602
751
592
822
397
902
258
389
683
339
675
395
626
672
905
228
509
436
342
216
328
234
965
544
978
826
435
900
64
311
321
479
23
693
699
231
19
911
296
256
557
349
16
493
725
145
910
883
919
61
285
201
402
875
234
416
765
859
478
192
726
258
571
131
565
805
654
218
133
358
396
200
972
756
669
949
571
132
524
418
612
35
798
354
200
526
759
986
718
878
984
848
421
194
949
522
432
908
473
54
107
70
852
171
638
3
600
399
948
363
593
965
381
397
881
158
255
503
686
852
550
865
793
236
787
921
981
28
466
563
680
423
27
372
440
190
949
31
604
303
277
671
86
656
192
510
448
14
940
402
613
745
900
172
555
73
73
478
599
947
562
132
825
33
218
434
692
756
831
704
156
529
988
424
227
717
243
404
528
629
639
596
729
615
606
267
626
705
758
344
157
434
177
191
767
677
897
797
101
52
761
790
355
767
114
40
942
736
119
354
18
415
909
71
554
840
438
923
753
971
596
591
605
401
910
786
396
552
70
57
670
613
558
823
666
793
12
227
469
101
39
37
236
661
301
750
924
478
601
614
443
692
53
668
511
800
744
203
987
267
51
982
820
951
982
991
692
88
603
698
689
75
614
750
139
341
603
964
177
172
450
708
495
49
463
794
83
106
792
757
931
648
43
925
128
821
113
22
509
521
359
201
905
311
633
792
758
799
546
833
531
169
540
739
327
894
172
739
644
966
271
819
487
657
595
7
848
682
339
965
801
579
161
358
499
146
430
731
408
950
606
7
99
931
630
527
177
279
831
4
446
486
596
284
814
686
157
911
296
239
717
587
343
655
882
664
321
675
398
189
694
295
417
936
120
737
869
384
462
381
344
74
144
60
100
910
58
154
938
465
467
877
44
776
46
72
40
684
555
286
103
521
632
94
563
440
438
74
797
552
880
695
721
91
697
181
284
634
924
317
201
262
966
797
851
974
632
61
664
77
576
898
469
578
152
47
921
681
780
712
88
734
483
781
236
988
281
415
338
716
71
466
591
777
843
959
771
91
911
873
378
749
259
242
726
292
370
679
315
870
866
88
41
685
625
466
551
534
132
36
101
294
257
486
851
146
119
917
401
277
421
322
388
274
85
241
276
619
693
32
553
26
421
795
736
34
235
929
536
803
447
218
203
282
383
360
268
88
427
610
478
182
822
781
997
786
177
5
632
873
74
198
843
865
368
669
264
677
72
297
353
42
261
345
600
337
833
488
817
293
589
155
717
778
635
56
275
249
253
381
204
216
19
22
423
189
727
440
807
403
103
654
287
546
543
750
114
452
782
610
924
789
523
206
992
184
852
840
678
957
495
945
768
141
995
263
338
938
195
683
825
765
652
938
104
62
199
395
274
26
27
365
780
522
15
937
315
989
464
458
724
701
317
225
163
2
427
48
354
302
435
200
590
609
283
136
162
648
460
610
234
782
619
528
457
289
589
153
453
586
552
805
314
470
861
629
338
597
694
330
636
502
557
39
61
743
693
484
292
432
281
182
727
804
168
940
58
976
985
734
482
151
730
863
838
583
636
376
686
54
790
886
382
836
415
528
99
168
746
741
432
433
125
394
279
74
350
978
873
687
366
442
384
544
695
681
750
510
56
463
687
185
585
644
50
135
860
128
646
273
333
952
879
613
44
380
963
216
562
599
912
10
423
252
701
694
549
11
0
525
688
71
875
903
484
794
120
594
132
26
993
430
107
311
875
557
526
192
939
975
583
141
829
179
244
402
224
279
278
621
554
887
881
637
37
22
114
78
701
378
970
990
277
291
102
238
709
980
175
300
802
927
749
477
184
10
558
958
27
275
80
351
700
586
580
394
35
394
711
584
924
784
371
687
226
51
844
24
290
78
479
588
875
674
21
510
311
974
651
176
313
464
712
895
498
911
715
714
494
414
204
66
247
770
700
682
503
701
247
657
486
877
297
43
565
68
722
509
663
583
596
866
68
143
502
967
798
527
999
80
339
850
869
402
736
126
564
909
594
688
198
142
399
223
396
395
712
576
446
36
667
761
311
14
318
478
117
730
675
531
587
278
624
810
951
761
734
374
451
718
831
715
709
402
649
319
965
911
878
10
862
140
686
107
291
844
187
655
624
525
336
727
244
857
302
953
607
442
654
845
270
52
855
256
40
561
179
683
385
539
198
696
943
733
168
715
344
149
217
540
225
846
988
982
690
416
120
493
121
866
554
228
740
465
223
416
280
603
682
164
354
756
922
643
901
45
701
34
682
313
989
966
161
37
672
575
749
426
661
900
615
38
664
959
725
649
118
586
481
963
922
14
509
859
196
541
391
799
440
214
475
561
442
993
741
641
106
223
139
424
151
490
658
827
108
915
954
453
925
594
116
586
854
189
789
464
369
839
145
930
656
710
500
937
888
291
386
227
469
328
265
655
137
71
499
806
936
625
136
260
38
773
182
254
204
777
189
292
641
323
168
241
54
35
924
876
898
774
336
944
871
640
186
593
610
170
979
520
414
872
566
698
526
738
414
632
873
25
765
589
960
955
817
222
934
963
540
431
33
114
771
85
414
26
103
717
746
713
411
408
618
605
436
335
494
585
739
366
246
914
384
962
436
548
115
181
897
464
616
798
704
804
724
776
224
539
459
434
354
923
402
197
812
287
265
745
206
758
627
906
209
114
24
224
121
736
543
198
474
340
335
490
478
169
922
19
517
982
327
681
824
680
360
386
94
926
982
693
324
442
811
90
28
886
554
298
292
895
58
763
262
498
56
51
495
965
426
889
807
703
385
369
105
295
223
842
554
406
221
726
75
119
454
410
917
954
399
224
924
716
140
510
43
62
111
356
467
132
422
346
208
446
444
172
700
380
568
128
375
281
37
81
367
440
229
168
145
39
353
738
586
315
924
600
462
729
981
2
968
671
277
795
643
33
685
321
648
185
330
24
300
121
898
313
740
989
950
919
679
336
616
857
597
521
754
52
717
695
187
911
370
621
243
985
650
242
457
841
878
843
489
851
611
480
535
981
428
275
649
326
513
826
715
201
173
922
925
550
891
350
900
279
262
272
318
719
707
223
499
527
884
297
947
269
725
37
434
849
238
218
815
246
522
137
283
635
675
882
664
924
210
420
633
532
425
963
380
46
503
769
599
829
62
225
984
218
996
756
842
659
523
326
705
845
857
530
999
102
82
679
613
392
248
969
322
834
808
984
551
624
581
826
992
792
14
574
76
333
385
378
445
153
501
518
846
415
401
224
764
643
134
583
10
637
618
336
350
906
545
357
36
99
423
402
600
459
308
185
180
542
754
912
790
217
452
865
479
598
805
747
479
737
321
54
680
782
304
144
920
27
928
859
535
786
456
113
760
936
848
542
226
794
764
880
4
492
938
462
676
879
742
942
246
996
3
829
300
773
55
124
529
599
756
292
298
899
872
794
36
544
360
527
742
880
37
84
322
813
341
955
277
484
722
329
126
308
162
377
732
87
229
630
166
803
817
830
536
439
852
223
821
322
162
696
993
800
593
303
914
859
377
311
903
152
463
443
554
629
496
153
398
882
31
634
249
832
20
465
156
119
873
996
374
621
540
791
930
818
644
668
900
113
462
709
519
362
868
268
575
157
585
858
633
893
81
759
97
568
805
74
85
442
113
622
258
490
189
254
605
173
813
94
140
225
253
36
76
543
713
244
225
317
289
61
921
599
708
725
469
241
193
345
317
448
348
479
493
134
163
927
829
653
470
46
924
732
598
599
593
665
613
583
831
352
789
783
170
603
179
8
170
683
591
237
69
305
147
840
189
952
4
663
171
298
891
502
188
478
366
267
533
593
731
258
327
55
901
986
912
274
68
836
983
277
646
970
467
277
205
451
281
485
278
145
583
129
818
398
624
883
606
552
409
132
925
863
157
139
242
691
861
636
424
668
770
455
930
525
304
230
253
511
809
399
10
859
104
993
12
488
219
325
588
114
378
53
363
791
360
748
866
980
980
112
811
605
252
114
101
827
315
392
12
5
239
454
687
331
4
892
899
438
106
299
471
206
424
958
244
462
235
666
412
343
300
258
784
642
100
945
811
126
792
238
254
955
325
955
723
583
585
299
762
493
700
156
595
656
890
705
995
701
295
67
820
298
599
869
642
17
591
478
265
902
747
216
526
427
963
434
610
848
245
977
944
227
394
148
203
542
354
129
47
500
299
480
808
869
589
562
422
431
697
969
633
475
764
480
534
446
807
822
733
589
23
795
15
681
701
718
313
646
380
673
790
225
766
898
679
512
642
317
980
12
128
728
51
182
792
417
145
133
885
811
869
991
527
892
756
103
691
854
979
111
636
951
992
385
12
562
423
972
474
16
968
617
941
440
663
411
528
561
420
997
861
466
172
517
295
983
169
980
791
336
972
948
707
752
679
741
47
197
966
940
19
673
926
292
611
374
912
322
729
52
375
927
127
640
385
443
566
871
651
813
571
817
477
927
334
346
732
301
781
357
643
190
451
972
378
181
82
971
250
776
74
492
833
307
582
337
170
184
111
456
735
369
389
901
21
468
523
316
541
824
15
745
451
367
137
567
497
108
377
651
213
889
50
489
733
697
448
224
744
445
356
405
517
49
714
72
277
584
347
645
656
5
138
238
1
359
189
689
193
113
829
929
646
763
816
244
148
69
419
348
545
645
479
325
291
36
827
189
897
829
519
924
866
307
167
583
708
816
106
381
63
185
546
264
189
345
443
706
80
851
515
597
419
272
902
824
902
805
299
486
248
483
341
931
315
345
598
755
639
593
314
845
621
914
148
336
691
664
198
842
678
446
189
939
232
123
83
495
434
178
257
112
866
120
965
734
943
722
474
417
324
495
543
228
741
645
822
129
242
769
442
565
589
303
973
769
512
651
941
687
810
59
964
222
979
828
435
357
820
908
115
181
407
197
145
453
743
482
312
100
112
221
937
992
237
114
633
100
544
952
333
356
876
786
545
558
143
862
80
497
314
7
434
276
187
944
174
776
843
706
266
266
117
676
503
1
306
378
494
988
68
542
310
409
38
578
272
979
96
852
267
403
316
950
777
539
245
360
666
412
296
453
146
381
652
392
355
979
739
107
215
799
202
590
440
297
41
599
353
655
481
840
974
323
100
709
891
275
654
357
891
274
251
568
102
42
798
169
464
225
685
443
627
202
612
328
976
672
121
636
251
764
313
335
889
544
736
627
74
514
724
957
343
420
984
423
380
92
640
237
962
614
442
39
607
228
671
361
821
862
728
772
958
139
199
937
653
987
647
656
403
561
817
756
377
157
331
518
915
812
128
630
763
497
367
347
548
649
676
417
90
499
884
857
837
483
181
9
878
130
679
140
340
178
16
280
330
276
699
781
124
294
658
855
997
342
474
659
28
32
128
290
113
184
896
50
148
381
471
504
893
56
373
360
42
416
321
560
357
412
482
140
975
171
640
923
419
39
558
376
853
253
400
573
780
229
991
366
116
123
515
909
348
10
788
521
944
925
24
513
299
891
477
741
757
822
652
992
995
273
94
630
833
269
389
798
540
558
918
725
170
739
315
221
591
285
906
928
478
537
431
978
480
66
996
572
218
791
782
426
642
738
863
243
992
760
541
476
343
837
513
79
225
760
278
253
352
762
243
207
129
876
887
602
108
896
209
437
549
364
105
132
909
320
859
882
42
668
676
120
505
249
174
508
178
909
825
178
527
375
733
303
955
947
678
882
92
815
895
64
128
949
319
862
789
171
471
750
430
962
811
339
962
241
413
279
134
379
904
29
44
867
627
565
643
297
55
197
546
375
948
669
382
643
853
582
225
326
291
575
78
396
750
354
186
585
511
877
988
291
989
647
448
708
930
826
661
976
888
739
468
124
427
697
832
307
815
701
630
63
565
149
115
560
800
281
746
441
202
252
182
730
895
689
251
361
400
743
128
90
209
57
772
193
519
448
684
212
337
307
775
662
254
300
490
242
909
991
19
164
583
543
702
621
822
302
532
426
176
101
710
309
520
558
799
441
680
405
17
334
620
590
782
654
274
977
265
676
896
587
348
351
208
290
578
420
306
59
787
748
479
175
864
413
556
804
7
691
816
242
344
676
450
631
85
89
773
125
834
204
890
835
828
217
686
749
318
307
42
794
657
529
225
824
919
385
241
818
56
310
428
790
537
944
56
255
357
495
90
281
788
839
623
163
869
537
492
409
415
646
921
520
830
307
669
654
541
721
434
212
314
500
702
711
673
116
437
535
187
88
859
416
32
101
731
823
267
854
910
11
13
396
87
301
142
325
139
388
300
710
241
537
876
313
552
462
285
552
258
77
141
651
794
425
930
146
541
233
805
702
625
514
35
263
204
191
426
26
718
998
86
972
777
461
83
19
349
596
876
453
659
503
164
277
522
622
128
185
948
155
903
644
984
884
67
156
989
64
532
254
443
183
741
650
10
485
12
461
439
276
614
764
235
177
707
368
499
205
597
448
993
875
804
2
487
338
36
801
627
76
524
286
617
778
141
112
783
308
15
557
860
305
326
197
731
825
33
270
584
845
100
393
160
301
575
743
70
807
804
526
494
620
504
224
653
756
220
28
593
428
517
181
340
171
17
445
952
392
944
939
240
218
217
530
636
373
493
191
339
800
883
952
454
244
682
262
754
646
668
225
920
884
342
609
708
478
674
950
117
825
662
895
15
613
66
677
161
307
828
674
509
466
263
501
531
146
284
42
810
82
102
106
598
721
417
341
0
411
726
35
271
791
273
363
193
529
75
565
819
592
166
923
950
285
606
266
532
816
593
627
974
706
480
493
378
790
336
622
390
546
838
550
262
300
212
736
153
801
763
942
521
289
864
482
65
120
283
930
425
952
193
775
787
993
780
947
559
659
817
965
6
472
236
64
279
715
314
423
925
636
841
75
417
570
745
440
151
909
782
437
122
1
657
985
39
368
312
170
576
940
22
708
445
814
826
396
240
11
803
829
22
922
410
30
929
986
697
256
980
260
951
566
528
151
887
833
80
175
798
61
574
662
305
312
349
783
537
484
719
589
34
473
830
553
698
898
904
243
955
989
389
597
874
403
757
116
227
201
478
83
586
183
456
209
878
832
161
454
435
929
687
548
53
927
850
142
785
828
943
708
798
405
830
956
46
560
510
453
512
603
611
175
865
34
156
226
437
180
63
647
643
815
414
367
731
429
313
220
294
817
682
38
147
535
818
477
697
5
883
487
679
106
537
239
493
801
863
647
793
914
891
502
77
689
807
350
650
995
725
464
422
910
786
184
596
397
906
171
962
403
72
986
354
231
105
261
298
430
790
693
587
403
708
15
607
489
628
384
330
552
978
174
941
654
733
929
847
466
141
104
281
739
902
12
876
296
370
942
776
782
893
344
2
745
66
127
694
695
118
850
15
795
549
537
257
218
239
498
736
428
473
258
856
250
353
81
926
515
331
508
826
225
850
124
736
715
695
389
1
325
723
34
717
535
245
306
565
819
310
196
382
640
543
90
86
645
824
561
581
961
489
608
437
521
573
989
311
921
535
553
938
618
72
938
200
157
716
350
742
57
953
732
475
632
265
360
937
657
885
523
580
421
977
547
762
604
58
426
227
380
799
492
585
502
135
841
405
159
644
485
939
205
270
659
984
720
645
68
886
354
335
960
525
742
173
403
900
390
415
763
838
581
429
859
772
60
511
774
320
34
693
557
319
139
943
355
680
296
493
906
349
298
338
954
196
419
228
306
717
997
813
164
67
261
689
926
521
473
513
749
566
98
96
38
307
304
304
918
256
474
98
595
897
485
347
40
203
141
135
707
598
53
33
366
369
548
51
893
65
308
875
363
618
368
28
995
870
857
737
900
508
896
494
265
928
922
251
49
276
5
515
396
244
394
918
580
631
683
570
647
988
771
358
953
194
981
263
622
107
887
743
553
340
127
717
19
312
640
144
135
896
740
467
655
561
419
401
626
658
436
30
637
636
779
47
713
173
68
674
55
856
789
410
481
700
811
221
352
963
944
214
917
867
772
627
355
575
996
674
399
218
72
638
733
262
451
970
542
311
367
110
235
179
819
537
377
895
480
225
500
723
88
599
53
249
785
575
688
699
66
138
904
2
0
731
409
969
909
538
92
839
553
52
819
841
466
746
273
983
259
352
841
449
454
773
528
238
788
459
1
35
129
133
859
188
641
836
823
93
609
820
992
159
594
975
341
976
921
762
942
993
366
787
416
656
904
656
480
132
679
406
762
277
904
603
652
392
784
94
900
681
67
441
883
407
82
487
752
478
938
115
6
350
363
391
237
158
601
611
112
656
367
811
285
207
889
885
761
549
836
18
32
777
745
884
564
136
546
53
844
714
196
160
385
35
330
145
375
450
812
564
584
333
181
60
865
523
61
942
912
890
522
345
236
113
655
770
76
538
638
537
50
542
55
44
572
505
773
97
625
372
939
173
543
471
621
202
437
338
754
720
550
395
62
708
646
144
78
396
82
880
57
278
901
701
59
370
458
200
836
196
893
878
930
174
29
298
265
143
426
305
937
331
601
878
644
664
270
582
86
849
952
370
833
144
53
821
383
793
318
843
491
292
373
980
898
317
829
734
508
245
710
330
142
320
676
48
420
330
739
95
908
660
153
152
968
870
171
661
445
156
810
741
661
193
263
129
821
835
770
994
389
505
822
414
501
767
59
224
650
108
552
85
662
931
90
391
374
467
922
939
511
35
989
869
925
876
812
911
628
770
775
101
385
112
81
122
806
219
701
192
680
733
925
773
897
180
997
534
543
90
720
422
72
940
133
336
961
352
769
170
599
330
743
864
507
59
525
620
987
646
623
644
393
924
109
888
241
401
866
854
320
466
988
30
538
986
685
571
693
428
100
292
451
135
104
914
820
350
479
679
281
794
493
368
491
516
860
52
730
239
961
637
531
62
965
960
615
301
975
537
13
201
687
128
227
887
941
193
296
6
469
161
384
733
301
845
570
150
831
962
367
577
948
579
881
892
700
362
626
993
120
900
928
315
48
69
118
853
590
281
574
950
198
601
354
925
242
561
809
580
851
867
594
449
258
958
568
895
809
803
666
500
843
490
984
182
77
147
638
299
114
987
406
387
826
787
710
866
797
396
90
673
743
809
285
707
384
942
185
252
127
699
5
141
234
836
358
220
239
814
126
949
471
551
620
737
403
767
790
244
322
302
921
540
108
135
569
978
716
424
79
417
141
963
159
738
245
689
639
323
904
515
349
249
517
427
374
427
744
649
166
552
746
380
887
240
527
740
564
562
872
370
558
866
437
416
809
61
565
721
921
106
724
816
196
497
566
482
750
347
768
156
765
864
752
547
491
788
413
674
999
688
557
620
677
847
773
904
817
813
156
107
643
162
572
593
303
64
650
710
539
538
582
319
34
473
404
998
287
432
659
131
873
916
579
724
982
555
616
165
85
921
212
206
650
254
248
738
870
660
778
409
362
760
58
818
680
331
42
464
329
910
940
744
695
822
375
950
396
976
623
421
906
778
291
413
986
162
307
538
796
844
114
761
748
33
442
299
745
742
744
985
677
490
631
320
236
771
715
72
382
974
669
992
296
828
421
733
566
646
270
10
889
275
903
280
648
197
324
836
327
481
962
242
42
442
604
759
536
205
140
995
996
508
491
129
428
818
664
970
331
617
285
685
843
369
673
549
105
232
389
325
112
54
943
253
794
348
70
938
822
779
327
674
175
354
488
327
533
344
793
517
562
574
72
721
176
196
416
798
19
695
104
781
747
12
457
458
969
479
203
251
191
215
759
25
736
340
229
935
503
767
221
325
800
240
661
762
438
282
222
664
638
962
800
797
934
830
972
54
32
313
632
267
201
816
736
161
203
780
416
310
66
178
576
599
788
312
240
902
783
709
696
664
305
434
425
767
547
383
141
383
480
254
601
457
2
957
943
145
215
907
344
47
624
214
726
638
91
410
426
821
948
726
305
922
588
500
885
972
16
554
176
873
917
743
621
788
453
338
252
10
383
981
445
801
758
276
390
346
167
226
612
140
824
145
949
764
231
327
729
812
936
276
360
149
231
725
50
518
521
346
24
288
834
869
61
951
514
465
320
506
475
484
962
823
123
594
502
522
406
580
236
296
220
360
600
706
726
472
2
707
481
318
673
559
227
995
605
329
219
660
672
498
14
639
109
842
991
740
850
976
84
26
600
225
223
463
625
632
155
533
118
792
615
358
152
915
629
559
742
593
218
658
778
980
443
729
408
483
482
447
550
180
357
342
386
672
267
570
652
877
327
110
917
307
25
952
735
569
586
850
69
942
245
39
417
811
574
175
375
635
870
610
274
111
351
62
599
851
532
814
818
608
92
735
377
32
897
924
499
350
463
539
207
369
890
938
392
715
853
686
662
679
913
500
811
307
639
685
785
229
765
380
487
496
833
225
62
187
270
615
436
140
901
305
989
195
923
909
201
412
41
154
57
473
748
572
793
356
539
935
648
459
584
944
866
228
427
556
771
985
405
807
717
757
659
363
10
44
600
837
383
140
750
376
40
345
334
70
800
299
44
147
338
737
866
90
694
395
939
666
649
861
725
364
290
897
783
784
48
638
547
34
859
510
664
109
303
154
151
379
24
192
388
558
611
663
686
894
308
821
741
446
977
720
691
320
854
735
4
756
969
989
975
69
85
577
526
38
517
624
447
511
24
604
287
623
758
491
853
355
917
318
950
571
194
255
691
476
51
694
81
185
422
49
751
758
347
344
790
647
45
32
419
135
453
83
899
101
354
285
236
512
938
663
167
590
816
797
17
781
917
954
702
943
540
229
13
545
667
341
282
700
653
122
394
491
395
917
701
443
199
332
451
224
517
423
547
486
878
631
886
722
817
404
780
645
373
599
75
811
476
133
779
30
854
887
570
475
93
314
13
406
548
696
342
874
967
685
5
232
587
451
930
638
27
233
748
863
856
10
640
422
969
996
355
334
726
981
232
219
309
847
49
662
366
281
814
663
605
525
275
300
98
925
702
858
697
543
950
739
824
462
324
291
329
723
197
93
803
299
332
760
846
123
833
225
714
655
478
847
917
225
488
439
94
737
501
976
900
189
441
824
977
139
565
866
475
830
356
532
107
775
712
367
37
658
52
594
184
547
677
520
10
307
988
384
729
738
660
401
62
618
185
982
431
559
491
802
934
60
41
209
640
392
996
928
815
366
552
383
387
602
713
900
724
234
930
448
351
812
41
389
135
876
31
505
7
727
761
197
637
850
545
935
485
383
623
917
188
909
546
513
928
608
827
589
201
96
165
820
87
202
533
318
701
851
918
995
455
985
327
329
82
390
64
236
91
946
719
38
529
665
257
616
869
461
891
150
182
41
735
271
959
640
672
144
860
768
802
556
84
415
572
137
307
118
820
341
25
567
197
488
960
821
549
648
253
468
586
517
267
714
151
200
722
773
878
143
186
971
271
926
857
418
735
844
646
193
168
989
147
247
234
522
378
234
340
573
535
383
155
103
753
700
575
556
634
642
968
451
628
690
961
445
760
512
109
928
868
845
404
538
643
397
804
885
285
518
918
42
517
121
679
259
924
480
864
715
738
556
727
759
419
353
962
274
803
128
226
115
732
518
43
761
661
34
712
175
772
247
544
257
229
245
735
297
411
672
883
191
906
613
597
83
518
757
509
928
68
572
387
786
169
881
142
525
827
747
974
884
764
949
862
615
81
7
230
279
775
551
543
145
914
810
693
646
304
612
199
528
598
669
556
720
978
361
463
714
573
327
111
359
629
256
133
856
665
953
612
123
583
933
741
114
910
297
945
213
841
94
693
655
397
916
984
372
347
773
390
581
622
174
533
394
118
185
618
104
346
505
551
579
111
388
328
249
780
316
716
838
831
896
344
582
47
862
748
863
61
398
95
26
376
491
915
896
758
706
299
784
843
992
240
695
893
511
369
719
728
37
701
778
872
856
888
996
219
101
150
780
734
230
801
175
777
318
926
938
975
158
808
553
872
232
965
909
970
971
574
388
0
50
530
969
986
440
7
986
615
323
832
424
777
227
308
596
283
784
718
784
955
898
719
213
962
749
19
704
78
897
148
913
963
627
188
609
876
257
680
250
508
527
291
521
33
736
90
327
0
869
176
56
555
336
357
830
22
401
471
494
406
960
764
335
301
494
823
283
825
449
448
305
41
174
358
773
714
975
518
883
130
348
668
882
164
881
393
478
865
181
752
823
436
117
464
581
447
378
823
352
274
571
190
735
853
493
981
936
886
906
491
663
664
796
767
869
517
476
427
300
449
564
440
1
159
151
401
970
908
119
534
611
956
377
306
753
419
577
761
679
562
257
915
512
17
505
189
362
81
885
113
471
917
354
665
150
383
342
507
414
22
431
133
972
269
361
162
191
147
95
199
744
777
405
896
955
872
547
57
845
409
810
891
975
844
183
307
791
754
564
362
602
587
352
926
304
698
224
394
90
754
709
400
337
637
19
786
586
792
255
527
458
678
101
252
235
633
659
858
858
886
175
458
511
372
694
437
358
277
995
455
84
114
144
986
318
917
830
765
696
671
490
142
414
374
542
523
976
958
487
914
804
689
721
206
634
584
538
743
356
349
921
873
229
735
831
458
232
117
522
66
197
492
337
768
823
408
80
533
797
526
884
366
567
732
825
158
278
663
620
168
794
263
631
331
661
290
684
413
271
671
558
181
19
954
390
747
554
901
772
475
106
769
230
163
896
720
405
138
877
997
537
127
0
905
957
894
843
385
920
492
93
360
635
779
478
778
108
923
527
179
994
383
962
795
487
324
557
245
787
566
644
6
245
958
739
320
139
688
505
595
308
893
430
190
148
475
53
869
150
201
727
28
496
76
181
740
59
531
412
752
694
150
297
260
936
860
69
616
322
298
491
492
388
538
112
128
537
66
894
606
19
895
954
359
127
256
257
443
202
486
188
975
64
45
424
936
884
100
308
160
24
338
170
637
607
806
131
22
170
510
83
60
388
477
57
267
266
635
932
930
105
933
886
745
624
689
64
912
8
364
988
797
785
135
818
353
798
789
605
494
486
568
795
515
552
720
93
327
103
90
650
232
44
739
718
214
690
100
792
288
4
818
254
77
131
7
40
876
437
599
21
478
563
568
456
206
174
521
30
865
826
140
878
326
287
340
677
117
674
132
901
170
792
189
72
476
73
610
195
644
193
370
718
682
457
378
57
255
423
998
414
745
567
781
649
167
975
696
510
739
573
276
89
333
697
127
832
921
741
563
424
349
132
392
752
325
693
92
82
915
618
407
524
718
334
251
813
569
630
67
570
262
824
294
295
380
792
607
565
532
891
489
304
120
548
474
336
240
353
528
971
585
553
530
375
753
824
288
118
464
833
985
228
555
15
662
360
111
244
790
809
816
829
548
174
716
531
95
677
22
789
321
287
778
583
332
601
698
878
937
617
398
263
846
887
230
73
437
28
300
825
978
343
309
579
417
908
513
206
848
264
60
19
945
196
420
732
260
229
561
824
803
223
547
668
335
604
757
982
493
599
520
868
480
507
349
74
541
253
210
506
757
408
53
892
712
55
220
608
541
100
948
460
168
789
696
666
751
908
382
504
727
139
664
213
905
550
483
211
918
358
532
882
353
908
256
46
328
505
513
382
15
876
815
941
955
121
631
200
430
792
799
407
837
471
807
789
696
349
284
875
58
938
549
612
827
976
43
584
647
86
92
784
192
328
385
693
456
972
240
850
588
761
896
745
359
729
673
22
631
999
139
690
505
250
507
766
884
798
992
274
363
87
557
104
213
142
861
577
380
716
215
104
954
567
262
861
764
230
677
862
452
35
871
516
851
64
67
648
195
97
549
188
191
37
900
212
15
64
311
253
624
460
684
900
404
399
200
266
301
627
769
995
331
497
933
475
169
682
962
68
104
770
847
162
525
5
327
462
916
886
333
615
902
914
729
226
177
342
842
109
575
509
166
213
395
327
223
267
484
239
26
576
143
170
571
486
248
146
960
705
272
903
825
177
996
331
602
981
51
492
361
664
122
619
100
236
123
440
360
773
482
941
275
383
44
497
610
222
183
966
590
790
234
404
402
5
901
124
311
495
629
495
666
417
750
700
458
596
970
574
698
627
142
377
622
957
73
189
968
180
357
552
191
48
90
310
295
906
252
777
677
682
247
555
333
655
649
787
161
352
743
506
578
754
650
215
968
94
267
34
146
346
342
124
568
470
817
177
573
733
175
615
890
524
494
389
821
396
873
743
781
669
720
781
575
91
27
293
579
837
160
789
770
290
412
136
802
8
953
274
388
615
949
955
874
400
162
558
417
619
538
545
459
801
197
702
175
98
494
520
729
636
339
391
89
278
428
707
333
900
719
920
179
524
690
390
271
349
467
250
718
288
128
422
65
775
964
754
444
360
596
471
50
948
598
195
375
792
271
758
605
18
592
612
998
898
417
813
675
645
170
174
72
732
456
458
604
684
485
39
364
73
514
857
264
648
645
341
571
333
48
336
814
773
680
963
904
819
5
485
741
545
961
980
653
235
394
704
519
851
735
677
399
107
596
116
536
442
977
880
357
645
113
111
729
479
433
502
547
45
79
304
799
202
357
32
54
287
308
345
337
897
709
977
963
846
882
546
717
276
734
328
906
989
15
508
612
304
155
380
585
177
241
649
839
535
400
870
873
363
298
778
772
293
47
241
482
504
987
323
335
632
515
646
25
445
269
243
507
312
656
211
19
610
114
437
441
247
101
644
577
978
446
262
891
30
393
909
146
140
258
531
610
263
383
791
670
466
765
866
575
472
469
769
669
572
750
630
676
827
506
945
177
39
960
732
2
426
821
827
30
625
356
226
49
84
45
255
513
565
48
374
78
792
679
361
93
816
937
637
421
465
872
10
574
74
68
159
27
862
587
702
506
609
244
560
187
641
48
422
724
519
457
459
18
200
136
67
3
589
645
519
474
196
618
390
923
340
63
232
259
973
393
470
252
387
169
924
651
342
322
897
876
181
257
424
363
265
223
340
634
84
1
697
51
410
325
564
392
597
741
135
59
374
176
612
728
575
203
307
251
506
260
807
571
58
567
552
499
904
119
602
744
128
977
14
341
789
7
623
58
487
815
88
869
210
608
544
483
323
400
978
76
428
888
532
273
718
423
445
378
252
321
102
594
231
713
354
752
833
473
361
35
24
485
90
733
583
778
415
742
298
324
437
350
130
289
19
125
588
219
631
387
83
596
705
800
868
492
824
782
988
915
365
22
659
132
82
665
952
443
583
384
970
652
762
496
725
282
60
563
690
225
572
885
499
355
220
362
341
490
876
353
747
30
415
413
647
89
136
607
511
217
713
237
611
391
133
768
175
577
826
877
525
176
975
191
753
950
465
215
321
749
351
512
745
741
273
691
395
93
273
598
715
482
859
562
602
728
23
886
416
284
974
61
626
118
283
614
329
31
50
888
908
173
273
820
472
734
208
191
395
911
141
758
59
638
373
606
94
522
303
595
245
778
599
782
11
879
814
21
165
16
766
901
242
330
891
807
755
255
500
961
75
509
609
987
672
935
794
130
96
700
207
907
977
17
383
4
819
319
387
833
714
1
17
753
656
750
688
556
278
47
357
289
448
938
469
939
162
652
750
396
292
726
840
409
876
570
261
808
343
501
674
568
192
731
117
779
811
392
798
896
824
579
385
470
493
105
497
861
611
436
14
277
607
485
785
571
499
64
553
339
495
97
969
543
379
310
743
894
309
7
509
97
555
613
670
935
482
811
789
768
985
877
169
848
696
136
254
737
879
362
500
564
729
473
193
130
702
684
274
582
78
224
18
660
236
879
575
56
450
543
660
595
71
123
234
547
573
838
54
508
4
832
76
135
931
1
169
173
322
177
24
975
707
841
485
430
577
545
794
618
917
759
529
828
178
259
429
935
994
993
768
79
406
982
805
275
95
992
165
273
419
392
945
454
560
498
30
146
90
918
869
403
847
149
362
687
411
501
432
314
757
763
596
675
370
486
18
296
346
103
398
593
54
311
1
39
812
671
757
634
531
926
883
343
107
679
178
257
973
874
194
123
655
772
863
77
287
164
907
701
763
679
27
779
458
147
762
56
73
463
478
546
276
305
120
11
336
143
200
844
217
985
193
402
580
676
472
163
94
633
364
224
479
695
124
269
241
914
29
690
427
258
309
278
453
339
211
359
477
867
147
113
387
787
811
642
928
808
132
143
204
570
12
943
914
975
869
391
933
533
826
627
602
986
909
127
27
729
764
953
829
149
188
438
190
265
954
818
490
199
230
112
488
214
965
128
574
901
102
538
607
532
459
221
327
186
611
545
290
850
203
215
300
704
32
783
509
631
333
24
316
620
442
108
855
5
477
679
767
120
604
919
657
56
588
239
53
717
985
402
490
631
77
970
140
427
162
52
138
288
477
14
519
749
149
100
611
242
21
543
719
401
592
789
254
500
544
390
920
740
701
777
374
859
360
49
317
312
922
550
182
105
225
237
631
880
761
365
776
84
824
152
487
403
959
181
225
107
704
635
210
166
376
428
591
540
480
684
496
314
809
812
665
989
864
892
466
883
243
131
908
14
656
148
830
976
774
935
514
399
377
447
510
324
46
412
265
67
27
800
333
669
206
662
871
715
907
597
140
464
820
882
568
431
422
625
768
273
531
749
275
143
457
517
249
16
36
731
318
888
196
250
591
715
348
892
775
678
141
570
411
425
45
745
258
739
545
687
979
278
525
339
652
895
966
931
378
607
467
666
420
442
943
586
947
41
288
523
91
802
971
416
135
569
54
159
902
847
584
667
637
292
427
36
280
841
110
194
741
207
179
417
866
893
117
662
180
696
174
507
411
321
889
67
884
177
812
741
323
389
750
243
322
392
516
772
865
616
568
214
454
253
699
518
558
416
401
965
978
445
662
734
199
106
712
253
41
818
416
430
728
608
725
451
61
76
432
269
829
929
749
866
725
482
642
310
98
76
513
557
707
579
873
546
149
699
232
799
116
925
516
933
464
667
51
411
836
262
782
138
442
321
256
573
716
218
912
700
106
904
689
396
655
79
676
587
815
58
754
945
584
439
900
877
389
644
745
744
770
601
573
612
950
849
907
70
596
703
574
378
537
901
306
871
602
110
267
777
517
486
331
430
702
678
426
780
573
488
747
237
318
79
969
460
696
513
717
333
242
273
714
800
983
202
490
314
761
507
442
510
129
814
106
524
297
764
340
307
73
229
590
542
719
724
957
275
950
995
901
259
159
932
947
36
708
854
243
829
538
771
634
320
886
664
25
818
912
897
960
797
138
31
132
224
941
693
619
13
861
591
170
904
380
578
427
75
642
502
113
397
953
918
782
175
857
504
177
934
106
278
114
681
727
406
416
510
938
8
338
706
274
419
404
851
920
460
126
179
934
83
181
808
140
97
496
130
644
854
371
148
9
355
55
911
555
40
89
112
454
164
807
770
198
237
393
22
350
74
141
958
751
924
557
230
166
156
849
487
235
70
7
514
450
380
238
566
268
773
975
311
515
815
460
310
142
243
77
243
224
451
716
620
864
959
999
913
284
497
197
435
239
109
887
267
479
502
880
191
168
54
354
874
65
739
76
996
159
83
857
473
171
863
453
630
437
351
674
225
876
771
408
229
737
921
994
707
624
74
468
472
85
89
724
142
548
364
588
308
539
155
344
802
260
18
530
488
318
61
599
524
230
643
324
999
635
142
702
467
561
776
951
878
334
180
108
285
836
529
772
769
594
770
12
346
25
806
431
628
120
642
553
509
901
711
417
823
283
480
839
59
883
479
418
211
3
597
541
765
417
310
555
752
68
566
22
591
689
367
480
961
764
282
391
648
902
478
907
240
468
727
492
987
41
382
579
990
329
264
710
92
11
997
453
752
694
704
743
373
725
239
889
185
227
780
235
146
190
303
642
433
669
832
566
115
633
768
182
584
753
976
601
889
453
945
496
500
835
203
273
124
545
494
259
908
991
303
441
944
930
204
866
714
59
953
128
219
225
38
558
824
19
825
480
615
283
613
159
778
706
284
336
791
240
201
523
649
536
624
176
665
497
821
559
365
281
874
32
320
179
881
229
907
77
705
694
107
711
223
862
58
626
781
476
2
946
397
793
107
681
241
264
941
87
885
163
607
497
271
263
291
694
47
714
36
35
773
132
262
638
226
334
788
739
817
479
161
831
696
210
252
533
490
723
628
644
547
47
349
194
255
492
254
513
648
835
217
719
92
936
529
414
41
18
807
877
165
99
830
571
993
409
35
537
27
252
791
985
908
405
99
73
899
318
770
301
654
180
829
764
267
64
286
122
878
770
436
773
693
117
564
362
916
674
174
470
711
841
84
597
533
434
125
693
800
710
418
338
598
394
624
712
931
976
481
605
970
454
620
295
132
862
749
460
951
621
360
724
265
775
170
262
543
802
646
661
240
147
763
609
390
34
87
360
179
849
177
434
347
266
844
653
364
118
998
738
455
861
536
799
933
664
25
3
158
447
690
639
616
923
613
319
172
320
185
324
427
320
764
846
515
46
421
98
459
980
548
628
1
80
877
686
523
630
550
545
897
111
193
154
645
135
678
152
386
631
987
797
173
920
388
187
280
498
75
578
194
67
175
720
993
671
142
802
38
259
672
852
474
280
797
593
133
412
327
981
333
257
436
338
874
506
692
597
139
564
551
98
531
245
659
246
160
437
278
365
660
12
161
408
73
932
722
425
877
138
469
546
112
213
911
298
150
896
60
603
18
887
798
376
181
38
834
176
96
225
324
689
223
908
147
651
322
992
453
149
15
538
456
186
180
642
378
102
852
959
420
511
562
889
776
265
29
396
279
249
500
523
992
975
610
879
871
298
926
104
622
886
120
115
761
674
231
849
438
626
174
847
304
525
698
735
663
210
208
451
207
297
495
354
454
710
668
4
805
349
644
141
666
650
214
890
734
915
543
456
440
553
316
61
630
983
136
832
526
423
622
567
653
892
797
486
672
299
667
535
576
921
999
624
829
690
472
564
556
590
617
604
365
786
649
921
624
561
201
919
527
773
735
559
140
781
584
300
778
583
219
330
269
56
669
724
58
955
10
104
607
986
909
839
776
821
714
196
604
698
26
634
885
905
787
349
523
457
81
740
925
756
974
117
348
531
545
816
756
99
344
711
715
896
823
806
177
239
267
709
360
111
117
242
115
321
184
977
483
983
334
753
920
31
239
780
905
449
807
393
776
574
624
302
149
123
318
131
300
473
33
329
158
819
110
440
534
211
250
880
359
312
49
700
983
461
143
414
731
198
744
433
145
675
650
8
858
486
112
245
624
251
0
673
110
850
306
841
786
743
255
462
491
381
231
181
247
932
859
231
717
307
63
874
405
501
268
456
849
664
251
242
219
646
468
207
244
974
645
553
516
687
314
759
333
395
341
833
652
688
918
693
726
603
0
376
636
255
293
999
26
243
344
309
857
281
134
391
406
81
686
206
728
471
194
258
192
136
409
271
704
397
906
605
28
179
348
419
619
779
393
234
343
677
579
677
444
129
508
89
270
873
730
418
175
30
191
986
6
272
199
500
43
386
527
574
573
675
257
611
772
455
786
243
346
497
935
88
863
518
600
73
125
79
999
818
548
131
957
306
795
272
286
218
730
362
253
775
777
532
827
936
595
291
782
308
973
327
914
939
93
892
745
52
456
363
123
57
305
825
652
451
887
643
408
78
298
798
336
290
205
597
644
614
490
933
711
865
724
522
730
518
42
976
70
977
958
663
195
865
203
673
777
202
403
447
44
322
369
991
489
616
680
760
455
174
512
775
350
129
35
376
20
366
469
199
822
515
587
762
443
283
611
468
74
296
271
141
759
728
426
650
367
806
946
41
443
80
563
337
100
452
296
735
436
883
187
458
806
768
610
574
481
584
885
389
639
327
716
417
296
799
861
788
654
827
887
65
454
234
934
42
68
970
501
968
332
48
740
300
44
947
196
801
903
534
909
604
611
280
33
803
358
152
698
853
436
369
442
205
863
586
750
597
784
467
264
832
905
880
217
742
616
338
4
461
284
671
196
403
608
249
674
220
562
228
794
576
545
958
587
438
358
785
409
887
219
164
55
361
41
379
611
283
442
307
966
184
335
653
136
310
868
747
312
633
433
518
332
587
928
490
244
872
444
469
144
979
492
192
679
401
58
852
507
678
743
805
42
953
546
977
333
458
828
88
176
936
266
474
469
413
458
429
971
608
774
716
947
970
708
62
964
454
925
117
315
456
0
122
502
965
977
725
8
190
779
692
178
228
175
267
937
253
83
200
465
82
523
851
715
92
73
64
585
741
82
521
559
377
872
365
296
290
772
353
970
358
117
884
39
917
950
757
189
584
810
60
449
105
276
448
888
142
140
903
607
272
846
654
228
903
910
975
710
951
98
575
792
959
827
279
505
383
44
749
339
158
479
697
227
336
715
441
954
893
330
860
1
499
935
496
769
614
811
613
870
84
207
86
89
926
931
601
362
69
819
836
505
614
680
806
72
701
492
632
592
842
962
661
448
869
768
782
671
323
138
641
920
681
99
676
887
727
952
301
679
218
794
697
51
92
514
85
405
994
301
325
637
843
802
91
933
854
625
111
228
814
174
208
235
820
884
706
79
389
691
266
960
177
71
478
827
273
780
14
597
297
314
115
296
40
807
149
935
440
348
393
57
734
604
16
874
543
343
404
497
361
17
602
38
219
97
881
836
875
181
205
590
812
83
889
79
850
881
328
347
615
147
211
921
772
155
918
769
727
510
451
955
117
952
39
635
526
209
947
166
420
623
427
878
147
919
761
854
363
361
331
147
37
617
706
674
696
398
480
723
476
321
349
340
623
732
426
619
152
982
114
733
462
385
220
957
712
234
424
922
196
170
793
814
821
749
760
7
337
15
951
446
502
401
922
360
503
237
323
557
915
190
700
206
10
409
906
974
675
643
803
180
56
434
886
423
253
884
879
513
310
451
418
658
431
732
392
950
748
702
402
872
622
196
547
84
126
345
134
838
695
159
12
486
743
614
622
809
326
661
708
113
110
780
359
618
158
121
427
666
48
224
577
989
565
162
29
154
144
498
126
73
138
744
672
673
354
238
366
390
838
465
735
703
682
625
203
301
396
889
979
400
106
864
432
445
13
776
296
810
528
382
684
969
106
980
964
984
774
867
972
987
647
420
611
927
322
677
235
481
902
66
559
287
118
761
309
440
994
628
284
780
300
897
771
349
601
372
903
533
652
993
730
339
794
590
49
583
185
144
732
365
940
628
162
170
300
730
102
120
4
547
48
785
865
253
361
16
520
92
967
443
195
888
552
214
684
545
875
819
366
133
680
459
337
303
149
466
372
842
390
216
872
157
359
74
738
623
117
872
568
141
661
797
680
494
828
842
354
371
690
391
684
274
487
935
937
91
65
13
450
162
687
27
364
908
755
164
563
702
84
258
249
806
646
994
968
593
173
385
584
951
982
526
850
216
210
355
471
621
467
338
831
506
282
529
902
924
334
211
551
904
557
196
324
464
579
713
770
82
49
170
122
308
75
80
833
727
969
926
284
489
248
88
611
247
3
494
11
824
155
929
647
710
8
155
837
370
949
606
938
74
987
221
513
440
910
702
492
509
227
532
837
736
446
842
61
627
420
615
466
981
537
575
912
24
819
865
474
244
495
878
386
168
435
414
177
993
315
467
934
121
212
142
985
436
216
417
676
150
54
541
450
930
617
409
264
691
289
777
358
820
792
595
683
660
619
86
476
469
849
301
458
469
396
602
978
7
182
129
61
52
648
214
605
853
854
657
365
394
66
692
618
619
700
241
770
131
548
151
402
628
680
112
480
561
86
112
644
318
877
370
799
83
398
693
419
723
435
773
570
197
536
680
235
101
956
95
813
96
754
868
738
352
461
325
735
943
450
508
649
713
660
805
829
341
810
951
899
32
902
142
995
28
239
686
467
180
517
176
722
47
812
455
993
470
826
132
854
909
345
216
515
660
521
866
39
774
816
146
645
637
600
71
260
877
224
904
140
424
352
261
547
253
338
846
740
394
612
323
996
734
439
659
14
560
952
91
368
629
824
568
850
842
758
774
245
771
849
177
316
765
610
251
245
520
787
632
921
695
902
890
512
70
219
805
822
473
785
434
602
14
848
993
328
437
896
348
752
634
488
147
911
279
354
618
291
775
607
634
73
811
643
307
711
634
440
654
202
225
854
594
454
27
603
871
868
703
537
977
599
131
396
784
85
781
279
876
316
952
644
997
232
699
512
437
392
960
907
344
445
525
688
854
810
128
789
418
103
991
8
437
856
923
738
380
814
362
548
250
7
963
143
267
500
607
975
895
128
135
102
307
258
41
435
136
616
634
767
412
69
943
401
787
53
824
371
895
367
465
215
976
178
562
583
7
67
760
454
693
539
249
694
530
993
908
741
784
386
618
841
523
766
28
733
184
112
772
129
461
665
841
793
131
203
900
348
514
726
801
700
576
222
283
846
217
105
439
480
165
116
333
190
579
344
141
327
958
110
190
343
196
395
142
344
514
213
683
263
458
577
600
673
137
666
910
64
575
975
786
629
452
667
902
328
684
254
596
882
236
119
621
395
540
526
300
118
19
859
642
430
943
673
857
29
681
218
470
432
753
655
885
847
757
350
919
425
801
710
959
718
195
815
501
514
401
855
168
100
289
848
47
915
47
795
230
43
335
934
27
311
119
499
950
457
449
55
731
817
371
763
369
100
208
300
480
322
999
96
714
74
668
930
144
553
980
203
800
461
830
234
503
992
930
216
807
807
226
452
843
878
629
475
4
485
205
447
953
795
290
464
10
478
988
416
23
755
259
613
517
126
468
993
826
251
68
668
826
890
492
384
600
299
678
995
460
990
371
751
396
958
842
990
959
598
205
216
457
643
858
612
403
939
47
861
910
135
54
363
954
762
784
792
597
615
363
321
510
48
326
717
466
564
602
151
273
188
902
103
137
302
731
199
439
381
831
168
124
896
782
319
151
629
499
980
256
617
345
914
119
611
698
85
875
211
665
988
892
313
949
955
755
295
345
310
37
547
818
270
254
497
270
536
622
95
744
539
598
361
399
763
172
172
974
977
538
584
697
500
423
925
529
752
103
603
285
400
12
895
722
843
875
142
348
448
64
808
123
813
926
552
107
962
877
161
829
707
878
648
322
250
259
414
866
658
29
241
861
963
392
529
16
873
832
233
614
404
656
201
189
977
652
461
411
89
47
202
756
963
810
378
873
502
141
873
315
659
668
772
765
259
432
804
503
20
364
352
79
993
451
643
510
361
374
50
513
957
823
241
138
341
841
746
432
739
979
619
402
789
13
249
863
711
120
370
15
517
103
701
187
204
1
913
626
443
686
980
651
752
619
976
823
616
280
889
952
114
293
92
100
572
477
475
945
876
778
692
172
313
515
424
693
37
768
476
916
643
409
210
47
463
568
603
400
822
744
216
157
295
136
386
896
386
637
242
887
420
170
26
628
660
856
556
444
627
321
594
215
767
344
494
929
262
934
839
879
74
397
39
58
933
46
461
310
47
594
133
767
423
525
551
126
869
859
607
99
35
6
860
479
547
84
839
183
570
229
702
342
281
916
826
494
670
181
346
710
204
540
533
472
487
671
695
284
966
597
436
617
56
444
195
664
110
844
108
682
136
64
4
590
583
146
34
729
454
245
349
616
739
871
978
573
460
921
236
257
87
589
686
917
546
28
314
43
229
760
188
620
730
690
974
941
197
439
403
42
231
470
105
376
365
162
623
367
551
506
315
311
218
969
859
655
445
770
855
549
438
42
666
668
625
479
350
788
764
822
393
714
80
552
116
691
502
21
883
74
473
596
945
59
82
19
488
212
580
868
869
595
241
16
366
534
456
391
731
855
958
390
298
316
952
209
385
178
349
891
214
926
607
264
596
439
104
772
51
713
442
188
177
857
353
836
294
82
26
728
66
642
44
412
301
653
285
124
63
320
451
761
965
136
889
538
630
284
684
749
312
514
550
252
543
555
3
21
169
234
791
99
199
851
272
465
219
562
427
975
696
723
935
171
445
608
183
292
446
758
275
681
787
137
849
839
615
459
698
933
617
486
492
597
401
421
749
111
351
576
662
637
152
333
771
790
287
589
400
422
365
424
582
97
630
167
901
164
688
463
579
691
290
416
715
549
536
150
107
983
988
170
306
686
749
182
878
536
642
620
210
566
168
153
736
213
723
285
376
821
293
799
80
405
977
878
795
46
972
869
41
502
908
772
991
118
10
492
313
888
411
419
155
632
500
331
510
993
93
482
920
30
768
952
939
363
734
753
354
583
750
918
373
420
6
186
418
826
886
636
808
217
27
636
210
971
918
160
930
543
991
585
908
726
769
472
801
296
872
939
321
601
482
428
890
152
368
549
267
513
723
114
713
383
213
296
701
396
136
164
775
725
628
805
730
536
700
726
976
862
69
559
139
723
478
986
144
202
883
800
862
573
106
2
586
833
41
530
66
229
297
250
471
72
411
445
943
135
298
618
599
373
722
66
660
484
721
734
677
906
811
576
464
988
18
699
991
372
306
103
86
164
495
104
807
824
464
844
457
414
788
727
267
254
773
580
217
218
374
639
342
836
15
165
742
450
28
160
276
774
494
382
175
494
194
507
372
331
192
17
993
413
603
773
500
741
319
149
773
57
295
687
7
432
790
360
808
88
918
862
431
786
193
633
440
325
89
297
499
3
666
977
771
645
693
724
130
259
116
270
531
502
116
668
136
571
983
502
128
303
980
206
641
493
61
755
411
215
355
557
461
506
269
936
334
12
162
245
857
523
866
52
398
390
524
250
676
964
218
977
531
132
770
436
671
917
990
521
291
211
253
857
3
644
605
571
835
980
361
88
513
89
487
226
184
723
42
131
313
308
361
345
99
486
101
968
38
729
592
790
803
891
881
77
862
164
17
627
132
721
160
189
735
569
196
973
966
468
590
404
298
211
572
116
732
786
929
937
607
811
450
656
222
392
706
661
141
227
23
906
121
669
215
286
665
932
764
886
796
493
66
844
831
717
129
889
783
722
896
624
573
324
559
132
786
599
116
649
394
739
191
51
549
360
287
718
139
394
580
797
752
202
788
8
869
76
84
447
982
348
130
86
529
164
787
195
197
49
663
935
693
232
392
574
555
532
392
113
148
95
524
924
835
206
364
401
383
628
611
77
627
776
106
978
5
599
598
210
672
794
941
796
248
979
562
665
575
156
180
175
903
327
674
512
159
423
447
528
537
823
618
77
601
438
106
887
220
954
930
979
876
203
139
608
214
365
562
971
718
445
706
167
858
1
249
176
686
28
438
882
215
121
684
69
76
565
695
817
988
355
784
302
90
492
755
919
915
827
897
201
777
189
597
890
458
360
393
678
544
505
488
808
468
817
15
757
830
694
405
547
494
715
402
886
939
961
136
428
72
375
560
276
97
907
655
739
430
10
760
279
357
929
686
782
247
80
882
892
754
886
129
146
931
947
19
863
249
543
241
631
609
278
56
746
840
731
284
204
472
685
610
141
647
231
441
586
537
210
749
714
41
511
943
279
467
470
706
910
1
543
60
768
287
410
399
827
234
782
438
417
589
974
922
43
354
465
234
890
907
74
7
530
802
618
389
996
493
347
455
227
496
673
46
328
415
381
364
792
791
723
719
821
906
565
159
832
589
825
65
742
760
848
351
129
378
715
802
579
335
647
621
529
450
650
785
38
824
879
543
897
286
411
242
167
584
77
273
258
912
282
912
186
440
361
236
648
69
140
556
227
94
658
824
559
495
926
42
683
883
221
295
827
495
379
355
147
101
273
28
646
482
956
554
111
94
648
887
490
479
357
762
991
485
696
510
119
786
406
70
788
673
498
920
674
713
305
3
86
727
601
355
191
41
785
957
981
930
189
709
721
202
527
81
858
892
816
262
376
500
382
587
644
925
581
325
740
822
733
523
115
130
720
790
364
518
474
188
661
141
244
318
604
874
710
808
470
146
183
141
980
148
755
217
195
375
523
398
842
211
641
309
509
367
341
950
112
959
838
88
840
561
908
747
260
206
954
40
720
351
670
996
139
65
12
731
717
582
78
987
300
135
59
114
955
28
719
163
593
423
145
626
609
115
510
640
570
648
632
13
268
406
672
990
607
827
465
719
772
526
628
411
46
356
470
894
33
936
136
424
685
646
596
940
414
415
886
153
528
969
820
264
834
778
692
683
422
867
78
303
834
876
237
52
722
919
991
294
872
840
437
882
202
621
260
494
778
95
950
996
892
799
481
560
459
569
273
450
932
84
578
63
852
602
593
279
885
841
849
160
754
258
487
202
635
409
732
941
226
994
312
547
149
502
95
775
159
697
590
386
88
681
165
904
140
950
183
683
689
401
110
67
33
594
295
940
491
45
735
819
978
520
547
907
948
420
228
291
795
642
42
450
785
678
4
141
843
643
996
427
820
970
360
307
695
304
644
188
74
169
787
479
157
52
181
171
255
295
826
657
335
628
595
795
289
194
475
178
614
61
529
784
318
326
861
746
21
705
430
109
271
761
266
94
197
446
25
219
877
649
437
409
990
72
537
116
607
698
437
661
849
457
626
350
123
321
946
272
946
458
135
974
242
639
69
3
586
677
835
877
331
269
394
731
528
786
883
169
514
637
749
318
673
596
431
102
340
609
862
302
152
357
897
644
194
557
423
366
745
731
864
441
7
456
915
776
594
605
736
758
251
550
744
577
610
99
19
494
169
925
224
610
891
287
394
608
93
941
130
146
938
78
777
834
599
788
293
441
548
862
212
169
69
289
823
357
763
565
735
50
844
871
68
18
831
632
493
81
296
636
6
331
885
574
588
494
789
504
593
331
565
490
797
198
33
979
28
27
820
759
498
410
855
944
919
674
261
614
985
659
382
517
599
748
258
3
628
281
866
423
501
330
756
960
396
581
891
599
21
569
428
955
653
95
859
716
622
728
136
858
918
415
989
635
969
882
565
154
181
340
630
681
641
783
180
322
998
380
204
482
876
741
56
22
705
792
487
711
996
805
170
212
682
241
501
19
735
689
946
48
790
861
181
396
627
3
181
68
451
600
284
404
871
581
458
801
413
697
666
101
311
767
536
577
990
171
229
802
160
848
850
745
566
701
699
158
506
891
21
746
926
369
797
864
96
292
574
208
589
351
220
975
698
979
428
298
676
108
417
56
370
918
148
839
909
712
342
202
846
429
8
819
812
876
333
764
422
231
25
416
418
264
817
189
395
242
284
29
460
888
64
377
369
6
154
985
913
298
813
722
194
487
276
578
462
425
704
39
12
653
224
180
957
730
603
681
139
537
893
200
685
652
570
141
531
724
264
542
393
346
182
565
174
238
735
864
13
94
286
630
900
32
782
218
411
252
64
474
936
821
477
315
76
758
667
795
978
985
150
437
212
757
538
298
638
474
559
778
195
678
732
896
783
192
666
894
96
726
157
334
228
970
410
493
121
321
546
641
346
508
895
13
421
58
914
846
477
781
840
842
682
259
200
787
266
780
519
226
573
654
756
80
636
930
455
669
628
911
444
467
910
46
97
551
409
624
666
794
335
858
656
37
203
60
379
583
330
466
387
488
592
159
543
261
152
972
243
195
626
589
820
30
874
23
360
867
27
804
841
240
726
70
24
237
271
990
341
106
768
406
856
818
633
666
183
423
484
350
225
402
219
475
164
717
237
853
858
157
173
493
157
426
433
899
650
771
708
294
191
303
908
217
954
598
222
540
407
788
124
511
883
998
761
778
444
311
886
863
271
72
776
981
708
948
316
883
62
907
754
538
397
774
33
844
10
803
123
736
180
570
802
171
399
234
482
22
256
157
749
5
482
770
791
44
841
836
445
637
262
455
597
698
598
726
944
554
192
884
985
91
616
855
878
362
566
950
523
967
667
377
458
412
316
607
731
250
591
277
168
798
669
742
448
820
919
300
387
90
555
606
817
659
800
37
689
516
410
897
20
291
182
715
242
971
577
76
537
169
362
96
599
120
945
727
116
421
504
752
820
784
559
320
256
254
518
984
969
399
708
459
174
763
211
717
641
979
412
774
346
745
449
882
490
758
351
65
355
243
445
266
819
948
677
423
245
715
235
133
709
91
479
681
66
990
884
614
495
915
49
841
196
477
681
449
629
528
992
633
294
782
31
523
338
39
22
770
197
145
690
590
726
421
64
731
291
570
433
296
836
851
383
89
910
738
302
135
326
420
548
922
649
681
26
394
37
730
296
541
866
163
0
905
821
412
52
632
353
285
561
293
226
570
271
662
492
389
871
841
725
340
725
106
111
92
773
706
781
226
100
218
123
58
134
357
647
688
589
777
74
501
395
781
665
57
937
144
98
640
942
607
123
188
537
237
952
676
894
617
670
759
182
567
23
647
97
496
715
484
212
29
190
633
188
787
339
892
658
712
762
602
922
583
714
804
389
321
939
659
166
926
261
798
57
265
890
583
256
658
986
626
678
967
525
497
326
574
159
845
526
196
587
712
313
9
408
225
380
901
121
253
971
153
905
34
621
989
408
684
264
941
825
847
662
856
217
435
565
471
562
973
833
703
152
739
498
865
807
753
422
148
526
675
944
174
524
248
548
393
752
539
764
691
643
603
795
577
436
723
570
359
484
839
285
951
268
657
310
633
784
312
999
861
484
691
926
48
77
37
437
89
131
749
21
17
19
372
959
464
690
446
65
503
94
137
588
607
357
308
770
778
219
417
832
567
888
289
831
10
610
540
382
983
917
617
655
115
931
130
719
709
205
39
343
773
376
445
630
964
430
713
416
296
407
378
136
128
891
590
642
640
609
140
387
691
109
764
663
338
258
283
446
28
627
99
307
895
411
303
709
97
810
238
943
382
123
864
870
760
125
65
944
688
897
468
801
879
889
21
83
394
958
749
391
601
636
593
185
306
161
113
318
417
887
694
429
768
718
457
302
994
321
784
737
873
746
705
618
184
633
94
23
649
647
775
127
711
988
850
692
718
149
367
66
221
800
843
85
427
264
383
234
464
549
766
734
976
352
299
582
923
706
459
40
643
603
328
931
419
28
89
754
859
886
198
561
589
555
596
349
62
264
659
954
199
276
897
588
20
370
594
715
264
742
723
336
863
520
868
336
831
357
152
829
814
131
515
225
214
466
539
203
47
402
848
433
924
994
109
128
551
206
872
980
39
580
874
201
188
887
245
15
467
509
707
706
946
295
998
643
590
202
776
468
386
486
712
361
156
561
51
710
817
948
587
673
402
936
723
621
168
818
817
356
126
622
836
235
948
987
612
266
33
270
904
636
871
121
879
933
773
848
28
836
699
62
871
683
610
741
631
875
285
793
122
42
540
167
426
81
155
79
247
26
865
360
811
206
614
737
681
865
660
913
950
953
487
259
377
190
233
767
137
833
205
851
31
624
332
155
895
639
563
321
673
904
595
346
346
248
866
476
819
710
577
903
316
40
672
553
258
118
524
600
283
71
784
216
979
55
524
476
39
486
100
34
664
763
552
595
32
713
454
305
821
254
632
782
487
23
750
127
425
754
481
810
305
608
859
898
206
842
931
761
316
992
232
761
203
342
236
828
254
217
349
460
10
676
570
169
168
474
487
817
72
200
34
171
582
420
410
269
736
989
555
431
733
149
345
404
373
574
792
744
181
156
379
580
806
598
961
952
42
921
964
122
823
848
297
219
497
925
0
326
10
831
677
821
672
350
690
286
839
81
354
616
990
337
239
334
782
352
871
565
396
246
177
417
736
874
971
331
637
242
113
300
132
130
48
994
461
673
836
297
441
296
386
55
352
276
556
280
476
418
899
370
961
909
67
429
953
566
802
135
383
401
532
543
253
582
177
681
54
166
707
622
223
70
108
734
328
416
565
388
904
482
185
252
29
960
637
485
453
88
177
70
649
554
183
881
775
720
613
512
356
963
768
772
649
659
784
439
410
356
853
784
442
901
135
548
962
767
464
493
77
180
988
527
286
72
530
903
588
270
38
828
162
547
663
527
152
876
253
867
627
576
933
205
644
733
18
378
793
86
743
905
772
547
317
203
551
777
626
94
425
831
83
86
375
582
906
387
510
843
363
703
425
435
259
681
848
526
921
421
242
341
46
424
446
465
152
459
256
599
93
798
720
612
921
753
93
892
505
696
220
758
828
724
170
337
687
853
970
7
622
674
264
454
103
843
693
917
590
335
620
61
833
434
748
337
298
627
628
731
318
677
804
94
961
307
723
453
952
148
885
94
484
331
88
667
827
290
804
719
310
132
999
841
230
370
504
724
618
253
638
614
507
92
84
186
381
536
399
288
516
50
733
804
470
694
202
556
730
68
553
662
831
190
449
405
206
415
956
580
191
833
779
284
201
210
119
735
21
370
507
816
609
206
825
358
446
351
434
378
129
143
239
439
112
763
651
268
751
732
580
101
239
251
146
939
345
922
852
131
839
284
225
429
911
288
785
60
379
939
612
402
631
649
285
779
857
799
642
251
625
665
334
938
664
683
977
33
924
401
100
292
938
890
252
576
929
713
837
636
248
553
608
398
913
73
710
255
52
598
267
859
402
423
141
553
995
280
214
806
690
626
147
697
760
643
878
506
505
59
957
842
953
32
376
62
866
53
809
5
525
355
892
722
167
378
80
44
834
751
749
586
197
99
254
316
563
514
925
996
963
50
912
561
210
867
946
998
768
635
728
690
617
830
475
96
222
719
89
716
977
697
141
517
786
936
958
127
946
806
374
517
677
147
134
390
745
289
466
883
141
658
866
591
947
46
281
154
198
225
104
144
197
671
137
284
872
709
229
15
622
927
364
644
34
878
205
426
804
633
191
786
23
33
944
280
552
101
175
549
362
949
760
793
164
71
224
479
344
218
387
537
396
603
336
533
679
175
884
731
473
230
882
160
7
245
946
178
278
502
425
65
31
664
820
156
956
28
859
176
240
493
551
146
93
913
321
531
408
114
527
362
178
560
256
664
861
85
620
162
766
487
93
726
136
848
722
364
370
752
322
478
75
470
24
669
89
765
227
909
938
406
866
331
947
101
612
427
14
107
802
801
498
946
102
396
658
954
263
395
391
468
694
41
406
97
448
78
865
781
281
222
568
695
940
7
940
395
108
20
715
506
569
885
795
94
761
748
993
173
298
363
618
599
730
353
920
400
881
755
618
146
727
45
142
229
310
829
201
287
898
28
656
144
585
830
909
867
980
627
240
555
349
366
658
149
72
456
51
417
345
581
820
432
813
656
533
45
767
928
797
130
299
671
555
732
739
52
631
848
708
328
260
882
4
838
235
838
904
635
752
615
131
166
26
282
430
53
709
746
748
34
123
438
984
250
314
42
410
333
992
544
127
757
150
575
313
167
19
750
381
655
959
802
502
772
206
687
458
954
186
737
155
922
519
327
682
447
401
489
782
674
455
581
459
316
351
715
936
932
597
512
554
590
660
535
965
642
203
856
54
431
365
952
278
991
212
700
694
572
286
879
429
998
9
678
429
38
858
232
567
475
792
729
409
76
480
740
331
313
127
699
980
281
231
565
226
631
885
572
581
659
783
175
730
828
590
329
375
949
523
241
52
860
466
241
731
269
388
514
209
509
544
549
158
765
544
5
436
236
846
108
450
718
254
927
527
141
853
211
104
377
818
376
78
449
64
525
368
245
43
503
347
35
341
852
443
211
462
769
65
270
224
56
97
763
691
59
407
180
141
628
28
253
634
125
6
25
788
215
979
903
561
629
934
477
249
260
430
746
126
505
530
299
970
284
670
138
802
760
493
520
26
670
22
198
790
938
737
494
22
478
357
659
276
507
74
661
810
862
288
172
723
875
622
790
693
662
193
564
51
375
7
993
108
133
706
850
563
789
238
981
719
770
408
273
959
398
900
924
648
869
579
543
192
201
79
705
583
530
205
245
211
498
344
778
63
435
330
499
403
779
433
317
327
832
49
79
860
835
630
490
577
204
498
500
864
209
115
337
188
368
487
759
536
668
688
721
357
782
688
198
775
400
509
917
195
189
533
870
458
394
601
393
938
891
167
519
855
841
281
466
931
909
555
58
381
282
812
926
537
339
948
27
892
337
417
760
977
144
628
575
693
0
814
640
320
738
583
439
379
850
660
41
168
40
50
253
105
430
369
744
984
827
818
185
816
490
426
617
460
499
961
919
969
361
531
471
684
923
713
102
452
859
941
640
660
300
97
424
309
494
374
93
629
571
106
396
879
203
403
163
851
516
444
787
179
85
210
523
67
226
146
691
170
348
685
670
873
753
295
616
740
176
354
607
968
633
101
363
243
578
878
768
486
697
305
939
922
865
913
873
941
435
85
147
675
908
890
848
530
284
753
254
336
661
48
35
541
312
157
160
386
592
147
129
834
320
423
763
124
821
333
6
451
282
329
986
754
660
333
503
89
15
745
502
501
161
699
474
894
952
756
754
924
275
643
878
908
478
663
657
476
40
59
873
29
554
225
159
112
386
238
76
475
399
881
625
642
310
383
849
97
313
485
901
136
776
521
22
828
747
321
562
691
760
272
324
514
613
957
870
909
916
78
159
716
260
767
331
828
952
829
773
723
628
795
286
411
199
289
634
27
520
580
216
492
333
757
881
261
35
81
853
516
380
134
132
960
461
891
917
65
443
598
300
806
96
585
579
154
947
971
825
776
835
770
376
19
226
932
831
498
294
735
426
108
233
50
724
352
184
715
875
154
122
247
863
835
862
80
322
147
912
659
66
654
798
583
695
593
263
776
101
660
464
102
543
646
179
764
44
975
69
499
495
514
524
382
424
502
333
487
365
506
696
435
494
945
804
659
958
664
82
401
823
554
894
764
584
911
590
123
856
849
957
452
134
773
693
192
181
967
487
161
626
113
707
201
29
213
916
322
611
730
19
687
869
817
435
845
207
267
389
855
671
721
589
827
705
948
443
520
543
610
544
73
197
526
602
319
148
970
734
768
170
705
120
233
628
551
398
460
981
668
555
88
392
918
234
160
958
697
850
837
608
318
898
526
383
660
299
32
11
144
730
104
299
112
558
781
822
89
678
451
238
606
724
693
467
163
225
386
177
562
161
769
463
611
165
725
12
166
882
320
581
919
25
707
583
496
973
781
152
734
541
960
872
973
889
419
51
421
796
424
38
171
432
789
674
180
128
447
139
506
563
804
292
785
599
27
835
986
641
991
321
426
731
527
761
595
106
101
87
255
602
133
260
780
749
633
273
425
299
612
265
195
841
522
753
95
572
151
826
759
609
52
287
625
408
87
771
542
877
572
979
555
726
996
871
811
920
754
562
13
396
369
564
115
256
889
183
908
338
873
116
896
870
337
249
986
940
104
314
658
709
848
794
964
319
99
715
873
292
279
721
121
639
257
461
549
155
114
488
897
465
955
931
542
60
116
390
847
314
698
962
932
464
172
248
802
806
530
565
297
342
486
301
724
557
394
948
753
173
132
200
65
178
895
193
134
937
794
318
191
260
41
57
238
545
421
252
196
769
114
626
792
635
381
403
253
312
29
941
92
806
206
354
806
96
746
298
870
856
4
397
428
858
636
375
914
487
817
501
328
272
609
945
645
191
933
197
598
536
376
868
257
393
571
637
320
132
979
979
47
581
456
885
497
486
916
151
774
44
460
28
68
958
159
349
158
257
85
670
815
913
87
706
185
522
443
807
3
850
879
870
899
506
379
423
905
780
412
635
69
86
325
453
338
18
524
70
997
644
19
632
990
88
470
899
247
899
948
57
419
580
127
697
678
570
524
242
477
362
883
192
618
407
684
890
425
184
215
20
507
761
646
566
815
99
163
421
61
920
987
687
360
796
90
804
573
349
765
822
718
89
159
621
295
115
157
782
454
692
264
825
67
898
758
183
340
666
889
322
774
237
362
519
696
257
930
689
800
229
863
732
703
575
537
249
208
800
245
347
263
412
319
860
917
885
142
873
895
466
940
467
517
943
59
85
836
598
901
584
51
140
247
821
113
700
608
194
96
671
575
299
758
888
327
643
982
805
158
110
630
418
527
821
287
816
724
408
677
988
549
582
533
619
778
591
744
272
333
818
706
668
885
81
384
259
388
564
329
954
61
268
58
623
298
990
180
483
883
272
125
958
929
783
227
332
810
146
177
504
173
509
170
322
777
847
734
41
777
161
878
935
788
988
961
379
574
904
555
511
189
138
695
194
313
801
813
79
500
969
931
608
417
928
920
103
500
438
951
962
537
862
304
53
510
624
437
927
715
30
984
430
5
663
559
646
690
132
6
113
325
250
586
841
511
958
288
155
238
757
674
264
629
622
782
751
899
419
261
600
690
15
661
799
768
466
260
643
555
845
900
334
689
49
137
202
964
849
775
41
17
474
829
704
455
63
752
762
26
957
358
924
939
148
745
668
15
220
221
484
118
373
875
978
272
321
241
878
137
556
100
329
88
788
310
465
368
63
863
861
224
958
946
454
730
0
106
510
980
896
56
304
972
15
333
795
219
473
59
659
719
170
344
218
812
689
338
877
248
829
138
111
843
477
740
531
513
765
199
120
285
591
150
577
305
792
433
939
428
475
889
789
446
338
49
349
793
219
735
485
316
247
454
716
923
941
755
86
492
2
818
575
276
987
93
712
157
774
895
121
552
444
409
777
647
344
895
894
783
763
472
727
15
776
542
137
37
434
245
886
277
506
424
315
423
657
940
789
715
834
740
501
129
995
812
389
341
256
444
391
699
1
941
980
608
781
837
789
0
552
308
509
834
332
740
595
937
443
538
254
955
908
233
790
104
259
514
706
490
929
233
525
753
732
974
543
756
607
424
244
491
814
229
443
488
117
802
78
525
157
480
9
227
777
418
232
803
742
870
193
529
473
245
60
27
250
328
537
349
330
784
205
709
190
332
290
954
842
57
276
551
796
996
626
617
909
124
869
400
195
244
751
815
574
147
455
539
261
49
443
814
472
33
443
779
315
784
615
14
223
203
742
7
883
449
780
477
879
825
103
118
102
358
913
585
199
776
398
427
296
173
207
268
50
618
441
297
535
358
836
807
241
309
105
532
282
114
507
156
75
873
155
132
314
195
977
544
173
140
757
203
777
63
996
961
995
520
494
686
153
902
435
376
991
865
326
527
691
804
195
60
565
343
283
623
542
433
376
200
28
318
435
493
578
401
510
317
975
662
990
338
716
369
474
909
379
546
128
966
223
186
807
839
414
945
66
487
19
770
783
443
604
220
182
481
3
124
610
404
755
536
273
810
787
309
236
171
877
229
738
145
623
521
69
496
63
321
266
539
364
523
759
783
555
400
916
107
712
960
40
904
578
624
755
101
550
395
498
196
809
517
66
479
751
963
578
305
449
649
51
535
889
880
261
539
762
114
120
673
384
750
997
650
111
439
340
144
832
178
309
449
902
270
174
525
484
558
699
514
640
291
259
163
614
127
148
278
853
994
419
412
706
601
87
388
58
602
605
27
110
429
288
122
674
576
975
172
33
763
632
307
14
573
779
125
565
592
37
669
584
704
35
771
782
626
843
24
508
177
999
815
410
382
112
939
982
60
383
7
18
795
666
6
607
530
898
482
937
457
859
898
398
12
972
467
283
158
7
664
330
222
387
29
696
235
966
894
44
359
924
548
671
347
248
37
655
876
792
991
681
256
767
797
29
866
318
850
763
140
14
304
44
224
89
997
256
813
959
192
698
270
392
379
4
926
272
921
211
741
385
358
598
567
701
698
153
763
412
719
207
787
822
906
551
454
947
570
542
463
443
762
833
444
905
313
246
249
877
270
736
824
124
761
217
589
974
916
248
675
537
796
989
447
842
964
615
265
30
34
244
49
689
371
123
273
592
19
899
8
79
457
759
616
845
564
868
366
408
221
156
69
564
589
336
746
345
96
514
18
822
883
766
552
613
458
608
708
17
469
476
693
147
993
210
995
565
413
383
90
885
940
609
385
991
211
501
638
35
985
95
281
41
884
993
193
630
23
655
177
749
816
24
563
260
130
989
800
438
780
749
55
298
999
67
109
606
682
645
992
595
456
943
378
163
111
575
139
385
1
474
313
642
730
245
594
966
933
647
725
78
486
568
194
649
659
840
558
304
742
200
168
799
241
668
21
972
240
654
185
40
102
408
168
575
868
793
967
256
908
326
327
182
936
33
406
769
28
553
873
720
755
615
419
616
332
941
200
269
3
699
681
773
873
192
444
649
601
727
353
299
301
330
284
895
121
516
318
541
810
409
502
106
162
558
717
945
39
204
305
142
958
71
375
122
997
647
157
788
440
67
490
159
997
188
812
165
766
478
167
671
182
468
456
291
909
986
498
225
674
441
838
279
453
245
758
165
151
865
157
188
557
785
814
767
66
350
943
883
633
849
939
859
291
753
817
880
402
542
770
203
28
901
931
233
183
420
18
248
111
330
618
95
15
499
811
35
106
779
676
739
21
593
488
285
523
715
782
771
928
514
702
783
639
744
489
965
466
456
46
149
837
189
845
975
669
816
553
674
334
364
69
889
385
216
386
765
506
345
133
274
388
326
576
351
244
428
415
109
313
187
142
991
916
899
351
992
333
195
84
43
928
906
520
223
464
127
511
171
202
691
896
176
934
109
578
488
222
400
267
770
519
449
236
175
268
791
541
80
55
999
901
978
55
959
63
598
170
100
628
254
643
172
551
238
756
574
554
149
85
451
427
351
903
912
142
508
197
777
699
460
762
215
84
268
117
15
199
933
358
104
92
423
453
546
770
270
472
37
174
686
492
917
825
851
598
128
114
340
569
779
842
323
554
776
164
581
308
95
390
682
247
13
866
316
767
641
755
629
605
514
989
28
473
111
263
963
709
703
852
681
503
598
456
419
338
580
170
209
741
43
145
217
390
161
16
314
920
109
300
284
144
869
894
477
706
688
624
705
227
37
524
775
481
537
834
651
750
42
309
240
496
184
445
656
118
598
68
517
45
586
754
617
456
28
908
425
425
24
797
260
314
189
28
562
216
196
109
326
8
485
736
599
76
726
905
0
717
736
376
199
21
460
22
894
643
577
351
991
871
568
860
299
579
795
920
178
204
387
495
463
166
585
204
36
952
905
354
357
850
347
785
45
359
84
721
794
860
408
675
615
846
630
555
800
296
984
371
90
326
683
645
726
151
347
514
421
137
874
911
582
879
826
878
708
119
984
272
952
515
296
885
331
97
200
886
778
327
424
710
584
12
645
450
740
418
334
143
382
347
582
7
928
307
4
616
549
518
362
910
759
599
108
209
703
494
775
426
823
517
693
361
113
950
426
537
541
872
975
354
507
229
55
252
638
253
594
100
846
245
235
362
936
260
655
941
759
140
121
454
700
89
837
449
324
238
409
990
74
14
812
660
896
622
412
481
767
909
886
452
927
833
404
698
89
641
467
836
167
546
6
976
197
73
988
10
26
245
907
569
770
824
264
300
139
39
761
618
928
572
166
206
495
889
319
506
382
281
179
602
487
679
328
93
499
482
299
466
59
128
114
720
768
725
978
664
19
122
632
731
110
163
385
786
532
168
16
777
420
949
568
935
146
84
196
233
467
580
963
116
276
593
269
309
393
710
835
38
83
239
970
498
747
912
395
657
466
891
612
219
254
72
23
536
42
294
372
277
113
541
786
304
377
339
628
786
942
987
794
151
216
326
307
179
587
689
725
379
511
27
216
783
506
681
883
475
394
750
287
861
655
175
569
955
853
190
749
705
430
398
925
647
164
182
300
809
911
520
320
606
26
0
780
511
158
193
424
105
334
992
694
224
164
719
392
597
651
71
205
609
946
873
940
694
797
800
5
56
447
383
709
818
962
919
841
785
459
963
242
129
32
519
556
566
718
301
186
951
534
64
293
464
366
596
791
106
582
318
203
502
687
84
195
323
303
713
2
472
544
938
197
805
506
730
627
116
897
72
640
19
125
33
587
802
315
730
446
883
324
240
772
679
815
834
652
955
428
917
331
864
640
498
502
494
548
835
221
854
815
932
301
721
533
853
859
483
251
890
305
591
460
618
615
825
626
230
297
20
764
741
697
802
683
279
362
952
648
464
259
717
801
346
61
350
639
757
661
678
159
32
208
436
737
165
816
78
767
986
902
526
867
854
676
507
117
974
867
936
406
950
419
395
132
386
739
84
31
657
358
742
445
965
32
629
802
155
826
412
168
719
231
289
950
110
800
798
398
132
761
575
16
725
550
441
681
395
584
107
782
952
124
994
979
180
374
911
47
839
758
423
738
978
810
244
146
149
921
738
325
357
795
479
777
825
701
295
55
950
370
311
950
45
933
696
705
545
453
915
741
450
585
495
277
168
403
472
853
90
215
696
127
673
958
348
486
632
950
114
931
502
262
392
961
138
787
669
740
717
940
223
597
393
702
74
455
4
852
225
237
715
412
339
512
696
416
168
362
304
892
303
678
40
129
549
663
236
907
185
593
523
309
139
949
121
277
77
830
585
690
317
732
974
370
266
783
559
0
278
100
448
552
716
937
14
533
869
329
95
131
455
224
494
915
33
750
189
977
465
159
65
463
659
852
653
585
888
844
151
713
782
386
438
507
371
858
919
252
14
111
56
382
994
471
363
919
518
627
30
781
629
474
116
155
141
397
131
476
797
175
976
981
224
815
15
893
400
790
418
679
144
725
356
754
117
907
880
324
61
764
715
490
619
872
280
374
46
500
508
776
705
145
711
288
251
700
793
209
726
137
100
9
144
269
352
389
506
949
667
576
52
740
672
944
399
865
752
286
238
423
652
822
844
366
766
527
127
638
667
273
323
262
713
882
709
205
407
625
51
712
27
492
505
529
437
44
521
904
985
81
632
926
531
325
18
825
769
722
597
723
942
185
162
862
994
909
318
938
121
465
476
492
104
341
256
251
504
273
815
258
10
364
695
378
261
808
365
709
184
799
583
48
980
254
367
713
349
765
590
421
407
640
969
992
850
934
441
284
663
305
288
246
625
705
433
795
196
191
373
781
983
925
70
620
279
719
3
875
773
408
988
842
924
460
284
981
827
504
536
482
491
699
394
606
79
90
492
250
164
491
331
27
782
125
216
850
338
891
811
257
419
218
724
683
876
420
384
569
421
122
692
879
813
761
172
23
126
577
403
424
298
466
815
345
506
852
520
300
191
43
417
414
134
388
806
41
217
570
769
318
689
864
910
643
483
687
611
21
145
453
490
861
356
752
364
534
159
456
279
270
704
509
0
305
142
962
443
534
156
715
299
123
708
192
102
634
28
523
443
481
340
630
674
402
761
262
864
747
7
511
944
956
57
721
538
640
308
927
341
757
508
879
36
696
939
830
74
499
785
565
332
33
303
226
424
911
274
820
315
776
479
985
590
605
204
297
71
450
651
736
711
457
726
172
859
49
610
17
124
401
313
476
192
780
517
398
439
508
559
355
477
914
909
164
129
560
683
105
97
864
160
695
491
472
585
109
827
912
445
310
79
546
9
76
497
29
997
86
778
532
629
816
336
998
108
763
308
245
163
925
840
338
541
62
416
690
847
166
412
767
106
317
183
892
822
931
659
713
98
782
875
498
351
682
957
332
60
888
442
765
269
496
287
891
447
883
374
651
557
120
734
444
748
469
33
277
633
601
408
120
173
262
638
775
638
264
691
904
12
461
230
788
862
945
444
953
783
494
914
331
649
387
211
36
293
455
460
560
90
199
141
924
990
436
260
649
446
238
162
732
148
18
855
348
541
506
72
206
625
532
759
91
659
485
810
477
419
852
849
175
703
75
235
355
396
398
188
894
586
308
314
485
149
686
111
794
497
792
67
851
105
843
494
431
401
861
325
857
567
420
278
597
272
793
638
44
736
525
636
33
214
242
963
360
992
959
631
42
319
704
421
871
417
43
958
293
480
769
142
832
816
41
891
19
262
226
445
521
328
543
762
215
407
236
452
467
555
946
39
345
541
707
614
85
310
350
160
283
931
527
425
87
915
200
302
109
413
643
868
611
501
24
563
502
183
669
326
437
737
102
931
288
429
53
907
999
422
412
740
769
107
895
141
297
584
477
507
308
999
486
351
367
577
403
665
127
317
805
244
45
54
701
460
956
111
547
44
47
986
835
605
658
698
452
964
249
766
982
890
176
643
401
382
201
480
643
430
114
87
919
310
67
504
247
748
60
453
528
609
147
250
565
613
132
690
69
924
708
797
791
555
431
616
55
684
735
59
169
227
686
424
850
875
519
713
293
733
471
613
754
570
957
363
432
542
847
480
80
221
657
181
705
570
552
891
232
247
405
414
906
319
731
461
644
88
683
264
84
997
268
752
985
870
888
403
18
552
593
797
447
70
736
877
799
81
541
710
436
547
948
912
178
519
606
680
293
816
229
366
487
838
140
269
244
247
230
456
571
110
146
702
986
866
857
55
896
505
558
955
514
23
350
480
343
890
0
854
477
561
700
658
232
52
265
133
588
661
348
148
634
837
891
395
612
321
450
980
948
278
682
306
228
650
932
195
68
383
17
701
283
863
307
710
13
693
480
108
48
152
246
792
527
795
722
129
387
115
219
506
766
665
716
735
195
315
995
633
244
543
451
500
338
354
661
616
655
217
289
951
398
48
519
409
140
171
648
217
769
565
856
212
243
795
333
715
574
513
332
856
372
29
566
896
461
426
946
514
348
871
489
223
268
329
823
258
229
619
847
74
917
467
231
210
137
526
215
143
690
197
203
349
834
310
55
720
53
95
750
829
131
315
491
718
653
891
490
110
831
743
959
1
301
307
554
813
570
955
724
359
589
469
944
717
484
208
865
275
296
800
327
58
951
807
899
118
297
560
249
125
15
845
309
191
799
256
31
348
403
984
625
748
288
526
276
695
697
129
57
237
660
834
147
199
447
771
903
190
491
201
587
945
371
654
289
760
572
240
625
269
411
895
896
746
912
647
181
962
226
998
832
907
867
743
764
283
279
541
939
413
954
134
554
56
546
812
270
161
850
188
196
20
443
54
415
578
859
635
890
226
635
662
88
566
285
347
511
872
893
185
719
558
516
453
875
16
624
396
614
466
414
157
271
507
4
262
504
109
813
953
383
177
764
743
135
495
674
278
71
990
775
441
60
766
834
619
828
650
525
394
525
798
665
590
84
335
859
224
416
652
258
66
969
166
5
135
42
449
684
519
902
725
675
647
194
340
551
437
56
526
429
969
228
672
747
841
899
52
424
697
206
437
717
491
665
934
257
17
274
203
208
417
338
937
478
661
796
288
300
638
494
62
329
714
112
423
780
616
983
979
437
698
147
182
281
415
470
363
857
338
834
335
244
752
494
436
835
663
884
552
579
849
246
290
700
662
756
558
219
205
891
122
576
734
471
353
162
199
690
93
235
105
484
462
21
111
367
260
948
217
836
637
127
130
454
289
503
501
838
921
348
947
517
742
963
709
702
94
307
960
131
101
188
4
772
720
934
458
517
825
300
193
933
312
618
628
991
848
182
902
547
994
512
593
927
372
891
396
303
570
669
609
220
615
266
38
812
851
244
9
352
570
930
426
860
423
488
524
571
551
714
974
482
369
773
970
533
203
338
383
102
211
39
565
895
670
435
329
767
168
769
195
842
845
174
926
647
949
928
897
403
826
840
310
870
961
517
356
92
497
132
890
603
221
231
355
550
390
823
269
834
675
428
517
690
124
302
11
864
201
677
320
34
976
931
97
683
307
579
35
885
768
231
975
188
850
277
385
240
509
935
815
814
526
553
380
126
699
423
919
218
330
737
438
613
553
883
988
183
513
21
200
879
391
274
863
756
560
473
490
145
858
443
690
835
501
971
174
983
887
825
523
364
922
852
391
841
763
506
361
343
143
275
842
111
592
112
276
547
195
414
835
250
424
726
391
318
821
898
151
33
997
758
641
74
656
505
400
802
270
338
115
305
504
595
712
203
515
276
483
37
707
98
495
219
512
927
187
716
132
730
136
785
603
451
789
915
252
613
589
883
376
162
325
315
257
724
421
405
249
487
499
611
819
23
12
787
580
669
383
408
404
990
179
822
261
256
905
100
521
459
15
737
232
781
702
377
615
428
201
725
458
223
230
46
619
787
853
152
896
518
425
272
941
230
47
194
669
165
701
74
64
181
979
891
450
949
30
546
105
499
67
314
612
965
436
732
98
192
194
663
791
813
476
36
838
609
594
242
851
113
714
72
28
720
831
250
529
423
382
833
93
602
790
727
880
37
558
37
772
816
133
594
261
963
302
700
679
714
753
225
54
635
915
428
206
745
600
889
141
832
557
973
219
343
817
139
663
69
851
662
350
804
875
930
387
629
849
24
881
773
934
838
66
756
849
2
793
36
461
200
651
937
816
382
216
722
892
577
467
760
399
474
427
124
178
539
739
376
241
357
739
513
877
118
290
572
52
70
609
147
781
23
32
582
243
639
373
423
312
684
637
411
226
495
526
918
812
801
881
910
414
735
894
785
590
259
159
178
649
952
919
643
665
898
196
658
574
951
490
283
280
871
8
649
279
659
169
522
460
296
380
398
366
891
281
173
426
366
318
805
608
439
612
64
850
394
690
156
977
443
323
288
876
321
475
705
533
168
975
348
249
664
966
113
401
476
767
658
336
951
310
118
156
374
476
18
796
284
520
598
712
909
612
142
818
302
448
357
873
644
433
147
794
259
116
288
926
251
545
985
926
525
724
703
816
496
873
972
776
118
914
55
685
594
458
486
354
957
200
673
696
654
616
850
303
212
293
164
715
952
321
206
362
383
269
548
786
561
660
918
709
117
871
493
339
115
309
407
67
844
759
253
708
303
742
818
519
182
378
262
971
27
403
963
293
270
473
464
189
596
733
717
115
813
920
770
577
433
429
34
646
189
906
523
518
911
667
151
308
364
745
85
125
989
655
316
150
607
861
659
412
64
910
413
510
473
913
659
625
313
854
110
336
996
968
621
625
471
409
227
941
440
754
940
133
46
663
536
708
630
160
379
614
568
733
19
196
641
382
482
790
876
49
580
477
275
896
834
122
253
764
483
969
227
308
862
590
11
50
41
131
118
190
233
557
992
179
552
860
242
485
17
350
441
744
153
532
17
241
873
219
361
311
443
702
843
155
143
463
761
121
223
289
317
888
551
949
888
265
623
902
338
265
218
730
860
441
605
432
262
556
957
394
925
974
856
182
24
868
934
425
185
490
711
300
135
965
598
621
677
310
604
562
867
883
553
233
987
418
370
99
565
937
235
564
496
340
3
346
214
645
962
569
336
385
723
114
428
872
20
516
88
338
340
168
592
549
949
437
219
856
638
775
127
707
86
483
602
489
907
491
193
641
662
305
732
898
216
660
403
477
726
390
638
751
923
549
51
248
613
975
321
594
584
842
287
156
967
656
895
361
487
864
511
409
168
257
156
251
10
373
433
893
134
817
306
647
951
982
215
390
852
959
191
772
439
285
525
571
670
698
410
87
828
607
196
125
826
868
538
571
146
217
591
839
35
631
667
181
55
817
111
598
990
906
776
998
233
422
450
93
28
575
762
176
161
452
422
788
924
336
956
520
744
816
447
622
301
539
929
778
358
898
291
967
642
160
636
17
818
372
785
386
932
535
800
885
716
509
795
320
644
186
771
524
820
404
421
652
740
627
228
395
785
198
36
390
651
399
823
12
363
242
54
260
866
18
127
3
971
289
46
860
253
540
784
20
819
762
782
901
954
722
411
729
81
109
355
647
986
878
38
626
379
344
660
328
592
431
440
244
359
135
67
80
668
411
618
563
633
247
263
664
877
955
707
649
686
99
158
327
782
950
701
294
102
383
203
639
991
863
907
178
360
751
577
262
850
541
97
906
260
891
993
333
36
795
422
539
331
70
413
727
37
512
854
735
213
938
76
719
812
370
811
44
377
371
358
502
980
445
69
82
457
314
424
396
962
880
383
898
825
621
523
563
19
727
36
511
271
58
239
687
110
844
532
996
529
283
460
215
550
869
631
433
913
352
706
740
667
145
969
362
381
638
714
759
937
233
700
406
195
276
224
404
906
899
254
590
582
290
348
880
176
306
110
752
848
21
788
827
578
599
774
638
363
42
288
882
246
749
191
602
846
790
549
106
961
451
834
497
881
479
542
646
322
794
906
729
310
7
948
182
167
617
266
341
992
581
380
433
981
91
494
940
694
199
50
274
690
738
60
480
162
302
564
346
416
330
371
14
894
15
159
940
757
131
507
495
904
394
215
209
395
804
977
771
456
87
239
864
618
927
816
443
215
616
406
513
367
429
911
72
318
968
200
2
455
679
226
413
326
760
114
912
785
745
774
52
184
459
559
893
616
373
850
453
629
554
788
281
406
925
611
674
782
407
594
560
936
398
119
962
764
741
776
776
890
874
605
773
24
913
2
919
839
955
408
290
435
920
502
327
228
418
963
634
8
942
373
140
437
575
694
651
889
173
620
382
824
189
256
811
377
751
611
26
919
778
474
474
654
987
743
665
6
899
434
612
232
760
755
266
882
78
742
853
830
370
124
460
104
211
51
794
54
274
976
64
429
312
605
69
123
32
974
572
233
558
961
55
340
377
482
901
98
702
939
580
557
369
887
215
220
53
899
924
935
373
818
733
552
935
817
562
978
733
48
523
58
532
254
514
993
671
674
962
975
777
719
384
562
740
246
754
291
917
977
273
319
124
436
243
81
163
297
421
952
269
95
519
683
432
556
806
382
452
339
57
811
715
783
721
261
297
343
491
445
705
968
971
139
953
356
565
977
973
985
0
947
179
7
864
680
332
964
391
608
167
169
78
903
198
722
674
329
807
631
146
163
662
46
306
240
622
821
598
548
640
878
582
713
146
510
898
811
861
504
760
68
409
97
763
213
665
382
633
731
569
983
508
343
998
359
743
179
189
277
846
246
221
984
58
512
311
603
179
690
707
249
307
284
522
942
179
847
822
689
407
952
910
923
996
515
937
54
290
610
552
595
252
761
419
664
715
892
257
145
888
306
972
32
759
190
517
537
498
835
303
58
835
315
321
196
85
700
145
360
735
309
792
624
643
680
927
403
335
883
790
477
447
806
195
167
567
280
145
240
229
39
431
747
632
532
754
562
46
877
291
312
480
446
794
495
363
847
902
937
963
753
108
205
257
667
69
344
739
389
838
576
975
622
991
644
330
771
144
638
367
169
27
546
245
647
136
100
670
119
245
914
479
513
450
915
342
288
591
367
895
757
677
540
327
577
687
115
230
347
147
600
155
538
774
66
707
997
908
963
868
854
766
683
848
796
641
619
677
23
637
155
835
363
947
713
741
737
768
256
240
804
934
525
706
99
365
936
133
710
907
623
949
137
680
841
585
263
113
589
494
256
245
125
209
3
144
570
45
963
29
544
433
49
659
19
406
163
934
782
194
963
135
780
439
247
858
546
437
1
560
262
811
311
20
369
925
432
684
934
839
55
330
88
555
933
397
765
161
734
348
162
489
365
13
752
526
187
979
426
79
169
67
319
148
544
74
750
604
462
34
840
232
998
41
390
640
601
408
561
179
881
394
172
417
608
937
448
625
265
303
122
483
936
833
432
968
392
547
754
404
165
252
140
680
502
895
132
260
95
268
966
890
623
937
26
952
477
658
419
978
249
167
106
849
617
475
717
622
567
125
330
931
430
703
248
726
748
195
376
263
897
150
971
926
745
36
465
946
602
356
778
455
513
200
478
930
132
699
584
757
558
273
811
231
891
836
641
197
115
609
921
990
778
846
7
900
445
804
765
661
421
224
644
958
606
679
225
777
884
442
76
547
700
729
91
591
734
456
131
55
285
621
977
696
173
757
5
320
233
909
966
982
313
681
520
893
959
538
231
362
124
919
301
693
9
978
924
564
827
794
91
19
9
385
662
398
887
532
448
713
252
76
132
820
690
629
442
561
590
465
970
931
89
721
735
692
617
475
795
191
345
965
187
981
747
676
849
99
312
43
955
247
379
815
887
77
663
289
815
802
731
431
401
694
413
306
759
64
314
592
324
136
739
14
171
83
101
527
748
660
770
837
482
636
375
666
164
636
457
258
291
564
998
697
144
15
456
132
382
921
135
381
197
502
430
13
141
677
442
500
413
488
189
694
871
662
514
379
629
490
980
35
776
908
360
887
11
462
83
191
868
201
446
916
761
204
292
293
411
26
307
138
974
119
18
153
304
159
133
772
621
336
225
330
283
513
966
876
522
773
388
74
715
328
44
581
837
782
957
242
613
420
658
249
520
267
664
84
302
873
39
598
274
553
111
464
383
912
356
609
547
916
802
9
826
185
231
296
85
224
247
246
853
802
109
340
995
855
281
304
135
305
878
945
249
238
111
37
253
114
6
561
399
189
872
462
824
662
886
538
554
108
633
788
771
591
130
574
118
999
373
33
917
364
410
115
298
824
184
254
634
470
943
731
160
420
988
976
100
459
44
608
297
710
796
826
400
942
927
635
466
6
77
554
632
912
652
575
808
961
874
148
630
617
550
693
831
130
203
998
798
926
648
320
265
3
101
201
220
284
177
985
492
997
720
30
199
693
8
75
463
239
164
57
653
339
984
897
123
209
109
143
434
254
713
632
439
555
545
831
151
197
52
716
515
511
361
171
143
823
755
1
688
613
899
861
415
93
959
881
71
182
767
420
991
902
880
652
620
355
641
365
813
362
162
203
918
553
122
717
643
367
74
967
414
880
935
972
469
664
221
301
79
432
421
354
795
677
435
700
708
142
845
762
507
965
444
987
145
914
413
446
735
315
466
532
18
818
666
319
54
119
787
955
297
651
847
87
352
414
719
833
102
867
135
175
203
845
12
55
973
107
104
811
519
22
888
385
367
41
835
158
3
952
466
900
813
31
49
160
62
666
456
985
562
169
693
946
725
594
197
399
330
665
696
773
609
473
122
49
131
921
61
268
343
526
534
790
189
722
71
910
630
258
576
792
502
654
901
867
815
996
904
673
217
952
865
854
879
695
681
946
595
805
340
451
858
651
990
249
875
527
241
68
128
217
633
744
241
349
541
3
527
205
342
61
302
758
453
14
632
896
763
16
628
830
462
366
623
825
177
854
148
871
666
292
177
980
410
840
441
65
166
678
7
539
153
873
799
69
561
680
484
15
400
802
922
322
111
367
227
806
289
912
208
470
227
11
620
515
480
768
958
488
152
196
996
14
182
811
669
466
687
477
640
105
436
958
494
894
237
171
276
593
904
441
86
352
468
271
69
2
572
43
960
404
924
132
685
759
244
540
961
814
224
313
308
663
687
83
76
28
673
898
444
238
453
430
721
763
807
240
402
275
217
512
908
147
513
824
968
554
42
493
841
723
786
763
239
750
919
211
780
588
801
366
897
619
968
987
89
111
623
326
416
291
496
448
909
997
739
685
41
650
853
298
258
780
590
416
236
469
151
443
811
352
367
985
423
811
251
378
103
529
696
325
447
175
583
192
654
66
504
39
688
58
476
234
204
967
742
471
790
895
237
818
315
114
379
923
763
992
698
90
300
865
580
473
325
906
749
142
869
941
856
954
852
369
222
293
329
181
6
5
705
143
296
661
494
546
588
686
569
242
290
485
618
493
748
596
388
637
114
709
720
536
356
167
830
236
905
400
346
425
455
516
172
790
104
543
688
518
448
864
760
225
128
793
821
932
806
641
412
995
887
659
48
959
417
974
607
864
461
219
775
417
488
436
291
346
931
437
101
658
183
343
932
248
627
243
202
452
125
663
166
14
483
144
780
359
21
290
803
207
888
574
211
791
239
251
114
725
391
375
552
326
146
132
702
468
306
135
103
778
608
518
598
644
140
234
426
915
677
132
715
903
129
993
204
795
405
971
43
681
915
996
345
138
225
431
825
895
962
232
346
963
769
279
838
700
910
505
906
817
997
60
978
592
275
796
635
793
216
326
778
751
514
460
199
67
453
508
137
592
548
509
482
132
304
411
582
952
852
907
904
898
387
519
989
169
423
282
155
253
399
765
451
759
53
644
64
291
909
918
861
651
478
244
809
617
262
157
119
384
953
643
6
465
859
810
118
648
149
662
678
951
63
558
804
484
343
830
826
546
156
447
172
915
364
514
409
608
61
990
65
303
420
25
868
633
589
25
932
495
103
732
140
670
756
788
217
827
976
163
18
848
483
770
226
318
972
466
19
654
722
126
30
181
493
812
980
586
993
728
40
101
869
826
894
602
962
225
996
219
880
177
40
73
296
203
912
421
652
284
614
950
48
327
620
344
677
854
426
415
781
43
376
756
214
634
872
302
533
446
463
353
799
61
202
753
392
511
529
685
505
567
68
253
814
679
216
342
219
512
180
681
335
318
181
155
815
691
53
90
209
536
80
879
385
858
41
746
234
716
613
675
840
584
482
568
163
208
89
744
684
132
859
512
762
359
551
368
428
682
43
367
204
700
888
26
121
708
362
987
407
396
338
379
827
625
656
284
984
552
20
61
237
505
561
614
213
106
837
933
754
995
840
44
532
182
674
22
967
839
57
957
556
445
745
668
190
174
260
218
948
946
37
88
625
884
734
489
108
831
861
689
117
479
65
129
512
820
426
754
290
773
446
178
256
775
770
561
871
542
26
99
245
409
694
996
977
206
603
916
488
759
577
323
582
569
693
117
949
239
281
760
486
865
699
543
307
607
41
639
406
874
894
601
239
30
865
475
108
473
571
745
924
311
891
121
396
37
917
296
92
691
432
408
710
405
70
845
646
666
297
517
442
151
252
462
670
483
77
21
570
509
27
894
541
389
866
974
853
488
622
922
792
151
251
45
515
107
97
324
470
565
683
685
648
987
10
559
962
705
69
28
918
301
427
815
708
697
988
871
633
696
912
441
318
491
529
70
553
587
619
757
372
424
990
428
83
25
218
387
970
179
36
609
738
909
573
104
749
61
628
209
221
850
58
628
190
321
373
851
733
505
652
746
3
435
867
461
982
541
483
721
945
491
720
668
877
388
172
441
67
505
751
433
902
719
144
154
904
367
844
800
174
434
647
625
916
572
557
40
223
102
599
612
83
767
86
938
868
26
637
164
84
680
884
914
609
568
963
990
298
994
387
354
747
2
238
28
917
290
198
358
76
147
967
168
300
383
971
500
87
707
887
45
722
878
609
682
143
621
447
33
341
823
863
326
699
693
681
254
634
470
400
586
896
43
398
140
488
448
526
693
238
300
222
613
192
324
789
109
365
298
850
196
30
246
666
407
184
197
692
946
599
935
879
435
573
344
404
401
214
849
677
818
62
706
433
277
137
658
312
21
949
689
711
978
406
600
893
962
59
345
426
505
384
692
533
730
824
461
116
983
273
942
580
840
51
819
976
346
946
628
482
904
967
208
53
651
749
632
24
218
539
162
206
854
473
474
519
881
410
331
339
112
267
531
391
275
723
443
930
941
225
867
953
279
587
737
855
233
654
460
852
269
50
824
170
824
804
544
970
895
978
624
135
858
366
827
944
560
854
646
808
793
324
679
458
359
880
801
200
81
944
941
694
946
141
57
234
73
706
843
633
845
882
100
563
314
363
560
94
324
54
546
498
577
792
507
925
714
690
474
815
888
175
248
955
587
674
948
378
801
197
205
860
948
393
618
242
458
983
818
17
296
727
290
956
489
898
577
376
135
87
254
409
623
481
574
973
361
104
914
167
656
977
438
602
914
532
597
259
899
593
809
64
855
97
961
949
463
524
840
69
945
137
560
718
605
848
886
854
610
527
26
392
584
501
278
987
687
935
309
660
445
335
809
235
869
277
634
485
79
623
787
636
832
784
223
631
698
855
563
73
893
189
293
871
640
595
95
610
884
294
348
345
520
795
491
362
635
726
822
449
377
284
739
608
393
161
928
431
743
59
729
420
769
979
540
572
853
934
86
782
525
772
458
931
996
174
550
708
847
292
608
753
858
114
232
771
773
333
733
882
885
524
516
178
752
899
346
209
716
890
969
22
614
706
556
351
432
632
441
147
13
813
146
423
738
15
844
525
481
10
887
502
741
832
609
130
337
547
785
398
71
260
673
697
428
945
306
567
43
462
477
245
313
84
59
955
83
655
740
518
704
39
526
885
629
678
205
350
467
808
150
54
482
938
540
492
124
189
46
752
919
833
223
466
889
986
93
893
29
900
604
244
846
311
99
556
382
882
403
604
647
163
842
430
738
353
306
447
552
945
621
826
944
216
862
761
12
186
513
968
452
482
916
838
778
471
451
622
213
50
376
925
563
845
609
564
755
745
147
709
451
991
502
175
112
673
191
366
441
852
485
871
10
362
720
371
483
608
183
111
912
407
46
481
138
667
407
105
595
95
366
744
387
983
655
782
721
414
899
501
390
798
921
495
498
623
849
568
471
711
387
557
543
437
318
206
335
705
59
350
398
97
875
713
73
115
172
674
528
11
321
550
635
754
395
129
406
108
172
229
383
649
18
677
909
305
194
840
487
186
488
633
847
501
172
503
420
921
776
607
543
702
976
309
1
681
442
957
608
491
831
544
650
737
995
626
469
616
596
513
195
365
357
281
978
852
6
698
257
38
926
250
388
483
125
617
817
750
366
276
208
115
349
250
769
254
232
506
784
269
987
355
583
17
826
891
12
902
332
59
695
542
501
475
21
989
400
31
584
841
316
715
105
716
683
713
201
61
434
411
623
14
398
867
204
68
349
859
41
500
811
613
612
716
656
575
379
765
462
965
365
999
418
304
784
2
203
103
835
707
250
886
206
817
481
748
214
501
479
177
441
631
136
258
472
490
361
198
710
794
43
945
181
542
552
46
365
109
903
125
572
157
577
663
19
970
448
169
601
944
364
621
66
725
934
775
579
199
426
970
777
738
21
849
633
126
422
82
792
539
848
743
270
871
390
274
574
539
588
225
486
197
485
732
750
178
527
435
865
298
973
774
104
770
225
378
893
169
163
45
632
684
395
453
848
357
737
100
499
724
61
601
956
300
207
832
206
357
269
206
274
665
285
733
631
386
730
670
300
163
876
631
621
521
514
529
79
811
577
61
459
475
364
761
803
931
579
812
977
123
541
729
992
594
599
422
93
76
783
385
877
619
388
757
754
402
601
946
643
718
45
114
470
46
707
574
603
237
559
276
624
961
806
138
758
782
552
18
786
866
582
251
444
888
497
962
590
848
276
468
817
182
999
816
517
437
856
45
912
952
944
644
172
595
253
188
730
614
869
455
39
947
399
809
899
721
41
106
409
929
556
914
372
5
816
376
817
745
834
675
75
878
814
988
816
75
787
567
640
354
466
116
726
566
502
904
105
452
183
723
81
677
610
294
825
292
701
706
61
27
474
4
353
554
813
593
654
364
199
337
362
539
222
326
585
384
249
679
839
667
950
55
138
708
163
745
435
200
985
91
53
493
714
65
16
153
242
790
168
778
834
316
249
3
115
605
191
852
623
238
996
895
495
174
939
201
626
263
596
632
695
662
286
239
641
162
393
52
602
834
27
655
635
340
220
415
277
626
854
525
169
130
241
752
822
154
98
495
340
362
802
331
747
134
685
88
219
841
503
983
775
378
260
63
931
15
132
871
843
14
798
948
216
36
39
48
29
136
826
398
12
956
0
526
13
5
827
647
833
274
247
726
398
523
383
144
427
583
64
623
252
78
231
56
34
751
90
798
723
326
963
817
583
159
875
515
173
750
679
142
821
533
183
894
0
87
329
27
24
831
261
236
871
565
357
0
393
836
41
232
579
701
418
161
229
941
506
558
560
252
397
965
424
386
589
278
368
175
628
398
870
464
782
920
59
514
942
238
357
907
740
994
548
160
73
613
446
760
63
759
528
377
500
39
818
22
525
110
749
565
463
758
280
983
27
660
73
744
129
369
354
404
585
704
42
149
446
206
290
314
686
723
938
808
829
32
833
120
636
585
23
780
129
951
697
842
840
536
795
568
98
485
804
364
807
300
771
247
592
485
483
814
300
307
398
724
922
675
958
812
574
608
221
682
671
766
800
507
878
303
712
840
194
886
430
84
442
189
936
659
306
712
270
250
450
822
27
83
775
285
375
428
948
172
846
221
604
79
873
177
705
851
139
161
175
76
59
563
6
733
981
574
189
104
55
36
604
923
797
298
641
40
630
952
93
650
875
219
612
501
365
998
934
4
468
130
933
802
892
861
10
555
723
137
566
274
632
285
646
89
294
57
541
188
915
971
419
779
874
829
565
421
73
395
464
32
13
512
140
995
970
366
740
265
433
331
162
531
625
887
812
562
83
91
280
234
395
718
886
870
518
930
83
586
661
697
431
969
269
171
278
114
296
360
440
710
136
174
125
764
251
87
394
418
773
671
721
616
847
487
279
345
692
610
590
795
632
290
993
791
542
999
769
389
75
3
181
623
424
758
637
15
437
181
585
419
60
476
688
692
772
556
882
337
949
526
806
49
27
889
821
270
897
959
352
291
589
710
734
924
180
152
967
261
977
208
353
384
248
921
230
474
337
953
450
899
398
403
452
357
718
985
284
337
852
872
537
316
984
488
610
678
645
334
442
605
851
683
958
377
839
729
678
423
92
4
496
378
543
668
931
108
924
305
976
980
781
6
408
373
628
592
31
100
646
332
822
496
38
142
642
139
434
283
686
654
879
431
715
393
489
415
239
995
337
906
466
80
296
225
292
934
792
744
314
379
906
381
681
225
667
817
581
343
882
872
37
129
23
357
754
248
290
454
689
222
414
575
186
110
764
634
406
499
535
640
874
558
213
958
232
714
962
467
936
55
213
630
702
397
551
890
855
595
128
577
944
994
105
550
675
790
182
410
529
664
126
264
787
604
80
515
732
801
643
85
482
506
884
580
925
280
5
10
314
379
442
799
355
2
941
137
66
124
470
313
593
401
110
554
265
411
283
109
841
90
801
992
376
525
285
558
75
493
56
422
280
195
484
910
705
518
401
465
992
128
684
614
663
492
212
700
209
979
836
709
344
281
306
810
388
471
480
243
129
557
215
397
26
668
710
123
837
200
31
987
860
479
646
724
862
736
976
484
522
46
88
637
765
623
147
217
585
544
700
966
12
818
376
422
575
794
896
136
405
992
137
421
554
797
768
975
290
592
143
317
541
320
322
751
126
553
858
226
976
261
982
863
168
795
490
589
677
211
69
149
126
560
406
260
481
704
435
772
684
529
627
616
15
413
823
176
305
413
459
687
612
64
465
350
996
719
355
378
812
209
768
650
438
377
439
388
141
234
740
350
555
60
565
914
208
776
474
870
856
523
709
289
562
846
225
369
534
69
970
592
459
217
579
63
903
834
539
234
477
429
2
937
67
808
598
150
11
482
572
613
977
585
440
104
914
520
233
553
249
864
844
441
957
879
97
220
513
88
46
431
973
891
257
410
626
436
137
804
363
929
435
472
45
962
519
229
910
641
393
311
435
258
768
490
212
335
223
741
557
678
684
133
738
975
999
780
740
4
559
528
562
544
157
13
802
823
160
148
628
59
31
359
50
879
241
567
35
943
6
72
110
54
25
439
522
971
789
870
885
421
46
290
199
896
862
523
825
584
228
997
826
575
323
856
153
920
959
616
428
194
408
19
1
93
836
135
441
35
444
372
427
713
886
734
732
386
329
886
288
633
228
611
235
210
388
791
940
827
745
123
8
678
135
90
183
88
118
183
513
257
133
333
101
584
445
316
241
386
361
30
243
0
612
566
105
745
602
64
232
187
5
431
885
407
25
50
198
527
454
566
851
901
634
117
842
739
833
736
398
371
980
914
849
468
450
997
350
225
89
511
299
549
570
769
167
980
521
161
396
981
424
872
284
113
825
617
179
33
400
107
918
18
599
406
601
398
682
719
59
827
812
954
182
19
811
459
622
219
934
653
792
161
429
364
603
258
840
559
545
814
292
624
392
737
727
415
128
656
275
726
334
682
892
251
600
385
71
847
567
118
243
951
207
304
544
30
497
156
719
302
751
540
621
472
970
698
328
435
37
179
544
975
533
932
401
158
631
338
989
935
867
165
882
275
820
829
737
464
257
124
594
466
408
860
281
175
228
614
845
399
449
871
598
809
839
480
516
63
674
497
878
471
830
737
871
160
636
709
620
468
216
269
161
927
388
356
69
848
22
879
736
170
510
96
108
771
282
289
477
839
327
129
894
371
393
611
695
417
467
28
295
37
150
421
667
462
619
850
534
246
998
922
410
36
633
300
383
76
645
444
919
664
489
601
416
552
839
501
976
794
553
826
629
538
836
452
71
845
877
855
636
807
793
880
91
29
967
594
856
841
930
0
326
657
505
602
595
871
146
916
344
870
952
55
637
499
841
925
238
730
749
413
120
907
869
43
239
643
679
789
919
734
530
83
219
119
379
757
710
194
22
439
817
601
611
554
452
446
895
712
105
591
888
226
34
802
513
71
908
873
944
950
380
885
472
740
304
791
504
637
697
952
458
868
744
825
548
354
128
796
533
976
715
228
239
499
588
309
141
22
987
452
260
587
851
858
600
90
86
906
386
821
276
932
259
776
789
961
824
641
698
405
878
984
525
718
604
231
472
648
763
292
128
263
162
382
873
989
476
851
89
326
355
474
353
973
373
46
745
835
795
495
262
74
939
801
208
265
858
685
655
48
816
577
830
310
978
286
914
427
682
983
736
35
407
985
106
342
320
593
531
364
498
865
244
471
308
283
750
212
7
675
270
747
204
273
181
848
531
173
838
415
30
606
729
447
67
888
128
621
914
477
65
470
517
132
469
38
148
785
888
806
268
354
132
421
410
676
288
610
566
745
27
523
219
778
107
154
602
833
561
209
507
535
210
608
279
576
838
432
888
391
719
991
130
703
551
380
521
698
101
651
850
469
116
159
597
654
982
576
121
400
475
194
361
175
975
261
932
173
569
925
961
593
287
674
425
618
580
659
593
799
371
479
643
224
804
891
732
218
620
484
850
613
641
441
788
53
947
684
861
192
882
418
801
993
26
951
946
870
42
942
891
110
240
703
440
175
191
978
644
220
150
772
2
902
809
983
931
833
932
310
436
506
512
145
916
611
466
381
545
828
711
796
285
617
224
603
185
837
200
31
90
896
842
784
92
984
943
467
591
267
78
970
717
44
719
3
477
775
987
190
124
831
174
895
521
615
278
633
299
624
21
382
436
455
958
556
730
215
955
90
974
186
89
214
485
244
629
629
379
241
310
2
511
780
870
164
254
565
897
537
553
715
496
979
272
459
568
122
223
656
644
110
381
963
396
435
468
754
663
682
908
193
239
971
27
129
200
222
291
205
569
922
481
673
72
457
349
456
691
922
371
913
271
6
545
762
329
644
574
118
552
165
196
356
673
973
688
689
67
435
51
362
652
723
555
495
243
917
849
745
189
158
711
220
333
211
857
288
380
165
403
743
523
123
533
106
922
61
612
157
436
470
588
568
778
57
89
566
198
238
61
509
538
945
295
29
766
96
667
545
901
133
348
455
66
128
933
396
879
527
167
60
901
884
30
831
398
449
110
195
483
441
517
186
556
124
73
995
76
993
107
755
718
385
157
908
816
14
160
716
326
900
436
312
650
764
465
504
437
430
289
723
756
318
223
661
557
447
865
208
687
87
738
56
283
681
280
30
657
842
909
2
310
35
941
966
168
181
148
794
663
568
79
52
635
358
165
404
51
648
47
923
955
594
643
973
868
916
639
725
500
731
432
849
802
398
121
325
478
406
269
270
522
290
53
811
119
224
689
190
240
820
470
337
944
675
139
218
382
781
473
83
859
843
88
166
155
70
537
32
330
428
23
869
214
921
715
374
747
816
383
670
777
367
363
159
949
419
0
40
105
748
698
901
351
441
245
586
672
283
558
275
494
257
584
862
368
476
931
70
835
922
296
353
906
42
500
114
348
840
871
228
27
602
269
12
641
524
37
484
151
854
376
874
421
489
646
376
862
759
590
685
235
683
585
581
69
604
331
30
435
718
385
955
890
143
322
512
548
34
541
514
448
436
539
430
471
177
416
641
837
92
976
702
3
90
955
714
356
667
520
571
808
111
4
282
345
90
535
418
353
561
686
126
57
45
564
205
114
655
402
462
403
72
275
673
388
793
773
632
306
160
727
163
405
5
307
674
35
869
960
59
998
516
31
595
780
19
708
353
480
552
210
781
874
69
278
3
911
750
148
6
399
460
955
990
507
788
97
417
30
469
202
777
445
902
244
595
552
730
761
121
866
59
319
545
687
372
917
361
242
351
983
536
199
905
288
370
564
501
698
492
548
342
448
339
709
715
160
840
273
998
970
150
561
58
573
378
833
183
301
140
702
0
628
620
498
549
777
961
195
764
282
799
702
588
793
59
987
689
767
495
626
740
778
171
231
525
592
442
57
892
137
876
309
46
839
258
967
650
44
743
383
791
243
973
12
656
131
894
274
53
761
687
629
103
547
744
881
698
669
819
357
647
532
322
872
268
377
525
703
196
355
332
489
453
640
48
734
688
826
257
740
42
284
322
906
951
595
831
610
172
557
432
402
597
952
415
261
915
978
316
714
276
818
903
731
605
466
191
220
231
726
535
422
75
66
435
903
967
446
944
725
849
830
866
81
951
951
908
817
605
364
999
16
803
152
425
333
984
549
165
685
204
377
147
412
50
783
570
978
874
398
166
828
915
959
353
516
28
187
979
415
252
231
785
440
181
130
444
939
896
403
885
740
726
428
751
317
794
849
576
318
159
800
966
962
18
155
402
988
883
266
900
545
34
55
231
675
27
417
767
363
713
762
5
779
332
234
780
842
216
946
739
837
224
203
685
23
443
107
785
280
266
823
51
55
260
193
694
327
313
380
160
933
741
578
412
484
570
699
647
825
767
229
669
521
573
838
840
931
461
385
712
632
402
965
917
655
15
344
235
872
37
101
639
961
812
774
509
109
284
560
102
207
636
285
967
823
61
874
455
824
114
281
130
477
200
566
927
678
670
322
875
816
283
368
297
546
298
221
669
321
809
777
903
777
871
377
504
930
863
123
123
790
681
727
247
817
36
572
125
874
70
319
707
1
938
420
644
281
930
180
417
736
870
997
839
583
360
156
173
906
967
53
9
694
701
502
913
814
617
519
35
540
282
966
735
334
543
913
113
972
492
614
224
409
646
821
219
279
680
679
582
442
671
352
578
586
259
462
771
265
474
752
883
683
930
730
474
430
748
110
125
467
100
471
594
856
516
567
566
338
457
283
832
28
281
157
231
754
620
264
320
943
379
224
148
317
166
628
717
932
803
734
881
229
786
308
732
73
756
997
622
678
765
31
795
963
753
196
134
754
49
869
970
477
131
681
596
726
502
245
229
1
629
693
442
24
958
687
495
619
898
926
795
651
15
68
564
892
358
327
109
998
473
575
191
576
889
401
234
978
370
596
385
255
511
866
596
91
634
460
468
130
709
369
174
244
857
593
27
697
423
677
797
851
304
983
698
673
994
578
606
233
671
491
531
265
148
568
199
873
459
101
380
437
50
393
270
243
436
834
27
138
662
966
436
172
886
640
135
358
315
697
967
30
918
655
966
627
538
103
71
958
909
113
502
351
664
352
215
11
157
667
679
938
196
567
914
994
408
459
724
648
643
838
802
379
803
188
528
406
998
464
466
632
999
253
473
697
766
440
79
556
283
539
4
505
955
21
613
376
933
593
14
806
546
943
989
128
592
753
444
698
77
708
381
522
452
399
617
845
521
697
65
242
876
139
930
360
314
280
986
908
539
810
93
905
760
148
483
81
654
96
393
37
914
767
585
245
745
508
359
331
738
438
878
286
905
908
351
231
557
432
284
911
266
839
81
283
624
633
99
615
178
877
588
896
383
598
184
694
496
122
175
848
68
561
250
289
292
716
469
23
331
535
936
228
684
10
856
884
183
941
959
825
757
989
772
491
564
551
104
780
807
398
350
832
225
280
251
111
602
306
525
685
928
973
892
768
305
700
492
340
135
854
58
158
959
934
794
73
9
852
41
919
806
43
281
149
191
429
246
539
351
9
229
444
848
445
410
426
599
527
504
199
957
773
408
401
532
500
987
809
563
861
928
758
20
65
358
403
39
576
988
523
820
157
224
105
697
897
674
543
416
441
831
138
518
388
61
538
675
932
122
171
993
860
689
739
14
136
975
953
325
837
129
399
627
703
87
443
517
552
583
87
517
279
256
594
960
809
717
887
21
188
153
992
269
910
467
89
28
773
25
790
240
187
750
338
512
159
991
970
998
75
242
934
946
476
766
277
805
341
248
685
593
375
13
961
678
257
60
743
915
401
315
796
175
587
700
7
237
557
209
782
495
416
197
554
110
418
557
685
392
664
331
749
412
809
955
166
450
323
533
947
726
91
162
158
263
458
526
332
68
625
374
108
562
834
499
522
865
761
169
513
191
225
990
577
736
457
50
324
299
276
695
265
310
377
644
945
807
2
394
971
798
209
908
638
623
180
5
220
338
224
430
708
237
758
855
419
933
133
208
631
7
594
819
544
953
109
108
626
349
475
62
451
393
174
538
270
982
211
152
946
25
426
886
363
163
634
140
596
966
677
287
233
635
251
393
584
216
103
687
784
505
191
543
920
385
858
30
235
992
175
313
304
68
974
62
551
184
926
896
78
685
45
859
957
423
580
195
8
979
706
564
435
758
870
540
782
102
472
379
951
728
400
538
1
931
290
255
561
216
52
208
984
443
279
530
384
352
499
32
822
964
140
917
45
512
814
694
437
18
41
405
840
200
824
429
106
160
626
774
135
678
628
869
815
119
47
578
346
302
141
989
202
57
876
971
15
635
500
453
500
245
667
129
140
669
364
823
389
24
443
15
698
893
853
792
560
420
997
854
747
894
97
974
342
878
56
913
231
845
264
853
106
517
705
743
132
697
47
286
213
480
937
169
958
32
89
666
60
605
234
812
461
968
713
110
981
286
396
564
364
723
355
875
351
288
759
59
63
146
430
575
914
824
541
653
266
811
465
191
433
942
67
868
372
162
645
501
472
499
186
834
133
351
342
26
988
371
704
793
819
26
809
318
919
982
936
544
734
458
676
89
428
640
121
119
278
589
735
28
500
24
848
670
582
503
295
22
766
246
576
421
441
201
53
597
730
451
197
511
663
590
290
232
152
974
731
337
893
672
84
568
691
83
209
700
625
446
356
715
566
705
157
550
983
791
991
616
253
202
645
212
387
148
593
94
367
659
36
823
953
657
574
149
194
97
116
350
330
28
258
107
470
70
759
3
575
200
83
920
593
192
845
402
377
675
462
483
4
623
299
63
123
157
716
744
882
61
523
819
625
6
857
994
569
325
62
525
220
540
249
326
879
240
969
136
87
563
655
277
951
190
950
538
57
411
289
704
682
142
482
31
469
348
641
221
534
742
646
580
832
989
600
169
428
32
7
255
917
436
876
22
267
807
42
634
175
838
198
329
747
254
820
657
165
915
842
326
845
828
25
924
260
92
533
842
168
881
939
502
762
241
714
351
182
312
362
258
986
642
356
634
815
637
365
871
845
759
993
944
961
799
60
726
225
47
696
450
728
597
145
361
317
660
482
190
672
973
739
425
779
375
594
566
335
718
237
608
41
180
867
87
294
825
135
619
313
802
988
336
139
881
225
599
513
186
364
235
681
599
375
917
895
57
458
2
768
470
950
66
284
838
171
64
702
151
371
66
850
679
937
251
581
712
520
793
414
74
301
501
919
592
673
366
41
534
164
326
351
966
603
217
455
423
473
650
307
373
814
786
592
864
681
584
31
531
429
323
636
465
124
398
397
60
456
983
874
29
56
487
9
680
345
767
895
173
898
468
523
806
698
858
855
443
202
672
514
717
922
49
600
918
246
72
598
208
363
555
740
879
615
805
288
951
496
918
262
689
505
813
786
297
730
791
892
353
950
792
172
362
417
444
664
481
574
508
575
41
537
483
225
335
685
501
9
927
766
593
841
495
719
794
940
894
557
147
799
184
963
121
239
765
529
626
247
451
377
449
49
181
711
209
943
486
932
557
641
4
636
625
561
108
884
244
26
886
767
732
260
202
48
167
949
677
469
556
503
525
188
5
652
909
292
282
912
487
898
347
50
260
304
515
81
585
749
840
386
673
832
770
491
244
189
592
417
455
325
646
843
19
584
542
539
82
510
36
762
581
324
890
199
86
170
12
275
802
641
321
620
713
497
98
60
936
887
893
212
28
882
601
918
148
312
999
248
971
892
572
810
372
180
776
699
624
23
825
390
909
951
420
301
523
643
510
972
951
402
781
520
932
189
366
758
521
339
407
843
823
348
762
386
712
9
362
386
231
172
422
515
746
505
715
645
154
32
712
843
28
704
336
314
782
38
719
439
529
303
341
455
441
743
871
40
314
426
900
840
901
532
478
518
791
552
302
532
763
328
201
902
694
329
5
787
905
710
300
44
694
327
957
640
305
428
725
14
788
988
707
240
417
420
164
369
374
486
646
564
887
172
873
887
984
671
694
118
885
439
391
32
233
994
421
8
242
30
488
403
798
944
296
763
85
610
62
893
128
687
171
708
145
823
546
544
80
860
463
580
680
820
172
205
365
968
594
760
312
455
524
542
445
549
280
462
821
45
15
151
36
305
235
357
993
151
206
744
159
217
769
668
779
617
323
732
682
881
13
692
458
434
700
628
115
955
667
607
168
133
910
188
336
528
869
129
459
546
814
36
691
760
175
672
644
181
65
599
928
690
326
766
6
46
131
108
827
256
668
680
795
356
681
413
156
187
380
891
95
349
986
956
283
698
23
930
708
561
155
235
421
376
896
95
769
139
988
327
263
247
793
855
661
409
437
518
401
955
698
325
196
79
183
69
642
963
507
127
413
927
474
181
86
563
955
457
574
705
969
583
584
462
517
854
824
870
565
952
460
704
69
909
422
646
74
688
809
145
406
121
703
267
111
552
833
344
698
469
188
968
275
258
963
502
747
224
968
833
251
761
537
536
303
957
134
39
736
387
771
404
921
969
296
980
365
586
564
888
615
778
151
34
834
473
415
302
6
866
235
910
806
454
196
862
633
438
111
544
914
481
279
933
289
160
665
828
456
362
856
34
882
276
782
117
602
669
585
59
811
73
22
585
861
441
723
926
177
408
875
265
715
471
271
569
430
490
420
32
824
473
881
675
243
228
336
727
760
688
638
180
518
762
893
57
854
274
450
314
346
572
224
722
561
776
898
587
138
637
187
391
895
134
87
571
818
191
732
173
323
210
368
573
368
696
746
463
466
85
569
546
91
769
819
448
397
832
910
675
708
272
488
923
965
691
65
104
102
811
593
817
173
312
380
39
708
185
382
712
982
448
507
269
825
915
504
930
217
747
529
517
556
579
823
799
248
817
896
277
42
35
384
539
617
948
219
479
65
707
828
302
24
431
110
288
298
469
258
982
781
11
30
864
769
674
154
889
379
246
518
243
498
939
680
931
782
669
324
23
9
56
440
8
297
765
438
872
889
456
223
566
739
239
759
642
85
17
859
269
37
419
277
847
707
387
903
500
265
125
820
62
314
107
16
699
374
975
114
100
814
499
904
422
980
444
587
326
877
696
462
854
856
333
20
860
261
958
597
610
541
194
245
921
576
979
222
662
503
116
665
672
636
273
76
716
105
908
561
386
384
197
363
763
969
327
470
189
949
256
924
563
660
97
256
238
81
337
367
15
442
514
320
390
113
458
662
317
717
69
249
31
808
650
346
902
779
341
611
779
229
154
148
199
443
940
732
955
894
282
880
614
364
713
708
641
609
418
52
425
312
351
116
654
639
243
398
697
939
292
245
794
795
711
259
337
77
345
341
384
613
236
987
950
282
220
865
516
13
897
222
681
778
422
888
154
349
828
809
380
823
374
35
951
613
183
747
347
951
945
259
327
189
474
437
935
315
126
694
926
474
33
295
626
938
795
87
73
994
786
247
575
837
402
415
12
97
152
283
611
946
967
558
286
104
155
277
140
44
184
354
138
961
262
85
175
154
37
737
74
631
849
17
850
705
723
608
764
421
316
484
333
446
253
231
727
818
892
314
379
996
834
536
214
44
63
895
554
569
863
350
464
171
697
318
737
290
590
305
450
150
152
359
580
226
262
751
147
752
683
410
160
753
297
826
999
917
590
993
878
98
86
224
232
557
253
473
822
7
651
895
592
643
340
665
833
847
578
751
710
310
748
559
55
88
315
714
769
967
520
764
645
900
735
317
755
787
355
114
574
500
761
713
769
814
501
226
52
208
954
7
65
42
104
298
1
594
691
873
159
391
198
205
437
294
860
577
256
736
185
711
853
500
457
983
286
41
14
642
239
929
883
673
271
978
127
979
636
537
844
445
35
862
368
506
124
690
989
108
236
917
171
823
398
479
56
412
725
624
38
300
266
688
990
876
587
16
499
677
573
740
789
578
533
450
348
542
614
947
507
227
61
297
278
977
239
394
639
482
821
817
823
536
62
464
527
756
512
715
372
814
451
128
819
749
462
360
135
997
941
880
661
709
464
467
533
965
180
10
439
894
648
988
581
88
607
132
733
523
781
315
910
815
672
981
666
383
13
521
913
472
98
34
924
36
73
27
516
194
914
532
61
284
299
975
454
597
132
728
951
669
715
967
516
89
27
691
206
449
522
440
885
222
847
908
661
31
347
247
47
261
331
630
843
559
975
67
625
806
874
333
683
232
812
298
415
245
148
935
757
847
962
97
216
96
261
862
311
469
709
355
537
348
891
955
515
264
641
7
499
698
9
299
989
657
346
562
995
705
385
25
708
781
398
14
483
291
691
888
947
603
891
436
155
826
669
568
831
299
24
913
121
222
292
657
161
805
727
287
799
601
327
664
723
152
680
27
918
947
376
376
533
369
107
539
115
196
841
691
475
973
806
540
39
433
263
34
432
636
795
524
582
150
501
417
30
485
16
531
675
26
505
537
815
803
637
307
237
861
570
455
98
711
34
506
517
423
557
252
192
518
567
473
350
171
24
960
76
94
541
188
192
164
215
259
647
404
644
868
993
671
667
825
413
45
700
586
874
756
137
82
953
549
366
18
175
950
122
848
804
425
636
384
587
962
755
518
277
438
145
212
540
22
800
512
508
146
775
87
985
317
588
99
584
641
607
523
977
113
390
365
959
856
309
566
253
965
377
352
309
845
89
736
680
115
179
995
43
223
929
497
615
299
825
327
369
371
107
893
605
105
229
718
739
524
381
907
684
639
116
183
368
141
287
169
677
367
32
921
400
925
845
700
27
38
14
128
541
323
802
511
430
613
971
840
837
640
392
749
634
710
499
61
742
731
315
674
136
50
188
983
653
975
993
566
943
802
142
607
514
943
733
594
289
272
297
499
326
510
303
534
969
897
672
638
902
573
906
49
293
563
791
825
978
818
818
523
541
832
12
411
761
677
480
837
653
348
527
963
949
4
276
798
223
463
754
59
539
81
848
918
922
917
87
319
380
136
144
892
233
367
438
867
720
539
863
681
829
208
459
732
207
735
932
923
697
146
493
572
962
732
693
714
898
968
395
592
782
7
737
830
43
278
807
253
612
96
707
707
351
131
79
904
161
524
29
61
38
538
524
243
232
299
677
495
9
266
418
153
465
854
500
208
355
327
971
686
704
927
264
237
1
267
365
702
705
124
457
543
914
705
881
745
458
755
293
271
429
840
161
327
902
797
956
378
830
575
904
307
461
153
135
886
548
910
622
843
301
512
16
838
331
343
142
790
308
259
890
257
44
980
43
840
477
365
684
35
1
473
829
801
574
884
978
128
382
280
774
718
539
351
258
498
444
218
903
981
37
694
934
262
45
782
612
216
184
3
424
44
551
363
47
87
634
761
856
612
420
11
324
997
943
617
780
221
911
813
163
539
542
92
137
214
415
971
454
294
748
532
672
227
154
395
835
200
736
891
164
252
805
932
284
678
236
427
507
333
619
898
821
938
162
921
430
428
492
238
938
221
852
613
947
212
991
52
441
113
170
952
737
118
660
966
891
58
249
948
364
860
404
563
681
562
988
7
538
342
900
237
502
209
23
490
575
656
358
89
862
514
194
851
731
503
315
593
419
583
920
165
975
201
961
365
721
369
880
927
612
389
969
642
639
686
846
525
884
113
2
469
519
835
495
439
505
293
967
878
941
828
609
614
734
598
303
243
416
992
975
106
208
299
25
400
380
492
32
985
233
707
986
401
14
882
745
462
964
112
919
278
579
513
450
828
148
295
726
173
526
219
721
690
762
23
704
325
496
211
124
26
417
826
652
517
896
631
257
250
525
453
658
738
56
359
341
536
738
246
131
519
275
713
404
702
741
200
171
216
972
5
236
199
247
337
947
631
767
103
587
573
966
330
175
586
337
567
153
786
166
875
4
830
612
479
483
412
189
602
843
836
963
313
391
656
375
575
52
580
980
750
304
981
623
924
986
516
812
493
895
554
794
586
344
678
786
824
274
767
184
584
177
962
154
316
182
577
751
579
323
28
152
173
468
323
381
376
689
246
246
774
437
945
415
921
923
460
996
595
962
176
732
993
493
849
933
78
866
326
611
352
909
546
319
974
358
885
454
708
145
966
910
976
946
40
959
619
529
0
122
680
687
257
809
131
856
887
331
910
578
273
595
783
684
333
819
228
565
996
191
240
611
17
936
791
74
227
795
29
737
239
999
502
540
540
531
128
980
17
791
979
665
146
130
860
916
209
630
870
380
900
70
312
573
34
484
830
274
115
448
701
844
251
777
137
787
131
885
251
614
17
779
49
770
88
907
958
559
355
734
714
700
991
495
545
981
158
250
103
243
380
463
156
414
439
862
821
361
685
502
621
527
811
104
474
79
161
636
65
934
528
368
355
547
30
279
148
826
207
135
64
199
522
205
139
832
562
748
149
263
376
911
311
487
68
304
113
658
520
809
709
133
854
695
997
738
460
790
48
283
890
242
130
879
614
548
480
243
490
805
634
983
888
954
561
523
1
112
804
178
619
18
843
885
733
902
630
126
540
177
426
221
182
754
288
587
73
309
352
621
874
209
442
196
804
554
618
434
790
327
642
348
8
804
671
233
190
903
965
749
138
862
794
379
130
774
327
249
207
997
696
162
319
50
815
993
111
940
979
952
756
120
334
906
895
15
587
112
503
241
106
728
396
535
950
364
461
715
134
555
146
298
644
404
582
52
307
614
912
416
699
733
7
819
565
797
651
925
924
693
845
689
942
80
446
491
671
975
447
33
711
814
584
335
517
576
694
846
490
88
313
229
543
30
995
291
741
840
629
567
521
928
428
258
981
360
456
717
687
302
422
614
119
45
538
841
72
55
76
513
755
718
572
829
468
232
583
949
385
450
680
586
165
30
312
504
201
668
594
171
892
644
704
331
121
2
493
395
658
464
402
807
423
497
748
992
857
586
784
823
876
890
475
991
379
625
749
861
372
481
202
369
427
72
895
8
947
502
980
86
397
753
648
325
230
186
236
132
285
812
711
119
797
330
519
875
327
515
676
659
432
681
530
595
377
122
556
568
731
320
438
64
208
656
866
670
576
886
986
84
568
575
519
481
528
128
771
590
881
88
305
771
908
847
688
811
839
996
668
867
870
600
10
932
487
78
443
793
244
218
113
544
730
239
107
735
813
828
581
69
255
891
548
233
154
307
433
791
821
509
477
957
814
978
574
180
517
243
883
851
555
174
893
644
685
445
938
299
517
883
355
531
161
707
825
654
746
981
330
36
46
292
335
757
486
498
757
561
792
699
394
936
907
275
124
499
478
349
252
477
754
356
672
329
666
116
849
693
490
413
934
970
710
186
660
928
328
465
836
47
892
920
640
291
789
578
802
356
451
581
932
509
572
610
983
104
15
416
582
303
305
979
764
1
6
470
293
380
630
676
505
878
468
542
918
428
59
152
121
684
56
456
927
523
75
933
151
632
556
645
710
75
150
585
988
817
413
817
294
383
96
532
551
555
440
483
83
664
709
766
214
871
368
431
749
730
717
511
16
933
707
525
963
727
9
238
682
61
76
563
643
129
221
232
231
423
129
834
34
730
541
96
541
449
984
755
31
489
130
197
792
712
602
910
181
507
457
109
246
128
79
297
172
473
381
753
746
229
714
659
893
628
801
320
34
248
619
281
257
229
427
321
472
200
50
356
591
70
209
923
823
266
690
45
53
274
125
128
148
800
657
234
578
605
392
291
275
938
205
677
260
413
566
373
15
835
280
846
861
965
270
664
534
118
749
330
839
218
232
900
289
919
594
234
932
853
137
352
19
978
974
357
758
314
710
426
561
846
508
524
161
793
907
523
567
656
498
788
309
200
57
429
465
231
43
894
185
271
659
290
466
923
694
882
599
241
592
724
855
537
859
798
529
371
125
991
370
827
681
826
156
566
355
867
850
874
154
663
12
45
614
957
545
766
74
923
41
933
42
29
425
522
468
915
546
79
179
543
738
737
630
529
571
858
609
296
1
816
539
248
88
127
765
448
984
132
405
289
72
425
868
339
534
768
583
286
414
758
651
850
909
693
254
595
929
418
343
832
707
698
270
17
53
272
424
783
927
743
724
481
424
67
441
153
173
785
863
439
601
99
968
498
20
640
171
819
10
648
334
508
205
454
70
146
37
995
93
49
994
745
897
309
97
436
918
947
473
89
186
826
384
301
982
125
159
841
66
433
843
916
785
70
451
66
175
584
544
66
253
225
974
223
155
294
70
498
285
289
809
713
222
307
427
887
106
273
243
96
529
678
950
424
21
30
631
532
816
76
580
184
605
304
972
716
401
943
215
605
821
834
998
104
375
699
588
913
149
295
867
168
887
387
479
937
801
378
887
993
857
624
49
999
500
677
885
557
536
865
914
176
790
190
727
171
125
329
988
831
736
941
524
343
131
309
579
652
566
971
224
859
446
302
887
971
102
541
875
473
834
154
873
784
190
510
636
831
464
695
408
113
334
910
920
658
510
376
970
385
562
994
191
571
957
974
526
310
3
103
857
246
925
95
643
548
748
654
552
91
676
28
886
606
759
482
273
297
868
82
205
234
222
939
447
877
43
732
195
520
645
822
144
854
429
789
646
823
790
986
517
952
188
888
888
255
894
602
717
464
802
394
603
649
996
636
966
167
999
101
411
632
270
210
656
959
514
616
643
579
448
364
906
418
949
593
924
468
17
133
303
53
996
332
790
976
107
774
402
202
424
269
450
43
841
794
735
350
625
802
845
591
144
474
571
665
34
817
866
245
488
244
488
243
6
855
699
556
472
303
281
630
378
303
302
830
502
350
470
783
381
760
596
828
748
533
387
803
222
582
267
147
626
175
765
640
466
402
635
753
390
901
131
367
793
999
640
419
901
587
942
762
723
220
599
238
601
717
658
423
113
654
710
755
515
244
251
197
300
882
918
988
258
878
672
597
424
521
102
376
308
772
966
310
221
836
296
411
182
538
490
973
220
653
586
203
799
245
279
920
449
261
589
164
536
635
585
182
496
705
367
324
517
447
480
403
266
521
392
600
554
169
425
963
197
917
183
250
604
93
377
764
800
477
184
101
394
23
504
224
438
411
117
855
661
811
715
921
700
798
60
693
473
66
75
368
842
488
454
286
927
64
947
273
388
748
632
825
616
351
642
385
592
297
914
997
368
606
893
565
168
215
638
210
581
754
631
118
636
580
232
470
431
881
452
950
476
237
515
156
287
49
133
222
608
100
631
60
68
323
65
941
147
598
545
12
214
951
584
91
860
39
891
691
56
780
196
173
106
356
807
163
86
662
490
612
10
331
547
334
647
230
198
269
200
793
563
532
438
100
984
68
812
685
34
334
775
341
245
29
17
761
707
406
526
930
67
375
510
11
414
120
794
809
483
689
407
126
177
583
167
459
893
136
571
39
774
126
474
159
965
980
280
79
305
44
178
77
299
555
383
724
826
498
755
750
718
953
505
918
621
248
943
85
408
271
242
704
477
231
117
675
864
351
287
765
989
470
348
226
231
470
210
235
169
302
561
440
703
364
737
887
201
730
213
191
911
371
791
288
306
580
70
995
347
629
275
768
514
44
534
419
452
83
914
105
832
988
884
453
894
874
652
385
192
867
575
875
962
732
793
266
726
364
247
273
334
904
189
183
974
786
661
31
40
383
198
131
55
66
410
684
375
364
433
559
0
219
512
412
588
838
409
558
371
414
926
79
298
44
465
974
574
802
509
375
129
298
84
119
531
724
342
896
155
115
73
376
730
251
538
682
813
365
286
431
550
458
954
116
126
421
722
865
360
355
904
705
757
238
613
209
584
978
572
341
524
787
250
277
372
803
143
378
485
642
428
565
110
512
963
223
627
512
174
189
742
231
840
395
130
16
13
992
601
4
894
570
282
142
278
760
30
197
758
781
602
183
959
245
278
204
202
736
186
956
417
804
723
131
887
100
527
277
272
658
149
742
859
937
45
763
899
184
505
517
814
154
240
648
211
807
818
142
411
861
896
707
659
199
259
843
635
360
811
140
881
980
293
881
635
753
601
983
441
808
363
833
720
10
952
663
304
689
590
213
372
421
733
903
652
811
291
73
787
157
73
831
627
220
844
62
570
798
406
871
170
923
299
416
8
893
37
914
330
923
905
65
54
543
808
544
756
869
662
134
688
554
695
345
878
849
68
659
861
157
308
947
892
64
858
834
891
173
370
921
625
22
337
945
132
768
790
295
731
729
312
44
543
71
508
535
211
25
742
235
267
828
723
538
139
453
142
354
892
445
733
874
112
874
524
289
346
611
99
82
536
868
755
747
661
374
451
747
501
172
666
418
351
354
351
832
858
338
673
741
47
876
537
478
116
139
557
505
955
162
892
986
477
994
41
390
194
606
450
822
212
767
789
122
913
912
323
289
708
576
398
589
959
777
639
85
777
49
932
861
801
103
960
457
99
952
278
168
75
264
20
261
999
71
178
20
335
130
67
290
932
362
736
873
325
390
107
468
452
816
529
421
897
653
342
777
541
112
367
305
200
782
109
945
996
114
892
580
966
285
66
899
94
951
666
666
967
810
106
201
747
78
747
912
283
724
556
104
152
523
883
957
965
518
561
148
746
519
743
212
280
196
838
335
785
207
454
949
8
399
83
80
924
194
388
545
472
281
757
633
199
136
329
959
774
928
92
639
431
772
125
903
756
658
891
360
712
643
971
248
374
935
231
687
20
43
364
105
50
497
985
620
946
931
957
952
199
967
950
950
490
641
979
880
360
381
361
226
778
78
268
760
587
28
252
118
728
489
414
235
50
176
744
621
237
291
990
709
615
938
617
574
613
34
220
484
298
660
548
548
472
323
681
44
210
570
792
850
244
934
312
825
514
695
940
242
255
172
939
209
223
437
377
91
766
318
64
648
869
558
857
571
164
74
176
708
176
751
211
961
590
942
197
56
858
883
488
3
289
142
586
181
430
825
2
202
931
684
352
649
724
763
337
111
190
80
587
648
417
744
696
269
301
905
596
133
479
321
165
507
276
494
558
818
883
493
751
202
476
827
756
16
756
836
330
465
248
508
650
738
556
75
671
158
445
816
116
461
336
525
316
450
571
247
77
857
588
75
522
813
481
508
89
379
437
176
686
339
724
961
637
729
664
314
809
460
726
402
467
729
763
858
797
826
601
230
506
936
99
955
664
787
249
328
854
516
765
521
23
160
706
976
757
397
597
950
662
742
876
268
757
212
506
184
125
932
476
738
808
963
278
609
67
640
889
456
548
148
558
101
887
788
622
24
578
986
217
92
683
954
114
120
856
255
570
233
202
495
20
726
671
310
407
818
318
120
740
680
676
528
280
923
678
200
130
934
228
705
161
521
57
246
406
61
100
624
947
577
287
847
870
551
77
302
439
250
55
528
17
36
857
457
968
752
152
887
120
481
238
153
260
965
444
997
780
906
433
653
402
438
442
890
82
139
348
555
598
307
22
694
247
100
628
949
535
381
543
45
344
586
107
842
777
910
470
764
312
936
189
612
419
371
480
874
185
801
610
884
841
235
382
785
838
397
629
486
194
766
615
997
383
198
949
975
281
723
54
295
167
403
373
139
997
835
945
965
546
316
361
471
403
424
431
358
914
950
773
460
830
711
337
758
647
742
344
228
890
663
433
600
32
266
498
151
611
152
23
322
495
204
275
839
674
497
685
431
858
996
401
248
345
924
534
137
153
873
806
984
179
139
779
487
382
790
1
556
112
257
849
83
501
920
699
231
400
644
231
854
163
918
780
876
180
115
308
461
280
838
735
77
783
213
560
973
468
121
74
883
708
783
440
759
421
444
961
681
623
366
253
320
774
235
995
428
64
517
130
860
809
816
504
3
3
821
753
48
921
646
456
671
274
451
914
782
343
231
275
367
41
375
18
997
794
514
351
392
991
209
775
772
689
621
89
511
700
659
683
597
272
883
704
406
778
112
175
263
904
314
714
133
580
320
769
881
99
642
339
606
267
999
203
72
635
479
932
172
771
356
543
907
906
793
38
762
908
849
109
889
972
945
885
124
919
349
725
495
532
507
895
118
114
135
134
37
591
479
587
857
517
46
464
732
617
205
976
234
738
938
139
464
77
870
995
627
662
516
126
971
991
665
767
626
723
148
256
489
697
568
797
539
140
977
48
386
902
481
953
666
557
909
874
5
694
328
339
698
488
927
454
622
704
961
508
385
679
101
300
257
360
697
911
334
629
124
76
481
512
674
781
910
522
582
425
845
630
301
44
46
26
665
698
675
288
479
232
28
656
100
666
677
281
303
566
740
168
907
553
29
106
462
938
640
676
479
654
381
71
898
506
613
564
142
388
548
259
986
387
109
981
481
949
299
1
836
751
762
102
259
900
579
450
435
398
18
243
214
545
698
67
64
456
247
427
417
547
918
113
212
120
391
122
40
927
794
441
732
276
753
278
652
410
552
381
284
18
825
434
48
736
911
488
223
545
131
340
38
189
116
778
822
802
920
165
710
822
216
17
99
770
336
108
743
670
537
328
739
748
783
183
865
710
384
739
700
809
691
739
367
948
812
131
96
809
698
971
804
980
127
678
147
21
852
487
350
202
156
533
835
624
863
293
146
849
261
578
348
953
805
222
789
155
36
49
631
738
556
499
934
521
903
959
763
193
891
488
197
185
392
580
394
715
267
786
847
733
681
887
172
413
697
771
994
56
545
97
526
911
207
615
691
246
687
181
487
950
692
342
872
622
565
957
858
25
674
83
193
870
596
642
446
936
853
971
996
482
966
245
859
11
658
251
961
667
530
590
345
527
481
992
800
249
612
453
475
721
193
54
729
993
236
987
965
247
612
779
854
344
212
226
449
65
866
834
249
205
385
776
169
732
25
910
961
121
73
651
310
53
98
907
960
791
305
323
839
901
343
235
113
955
921
35
115
32
138
379
167
818
538
444
323
933
405
885
488
652
43
561
141
574
342
684
850
231
178
563
146
878
602
198
692
935
722
178
235
0
222
959
194
660
280
502
927
641
512
893
308
116
320
289
452
106
315
481
973
572
637
562
289
833
104
390
845
328
389
748
79
225
406
581
714
457
476
238
807
532
8
819
551
736
298
489
911
825
407
162
176
358
652
270
662
696
264
294
657
728
810
952
799
897
689
437
887
527
769
260
497
955
45
689
87
496
348
738
744
931
586
66
890
761
999
612
400
469
993
124
833
47
808
387
441
707
116
589
232
158
724
856
710
426
758
729
253
105
490
292
845
797
718
373
28
821
302
448
319
522
623
196
271
860
394
365
78
91
349
653
624
917
673
260
255
548
350
545
960
77
580
316
725
448
839
262
630
966
894
382
549
676
762
501
576
339
327
360
861
945
595
833
772
635
409
254
884
386
514
982
871
608
680
223
41
204
368
499
188
462
912
496
770
269
348
974
236
282
831
490
650
259
250
380
956
889
953
922
843
395
14
662
74
424
471
530
915
768
331
569
862
732
141
899
506
4
645
335
144
429
108
675
591
384
449
731
847
698
124
103
715
993
252
854
625
733
673
628
779
535
737
297
160
893
926
235
12
98
231
973
74
765
781
793
412
638
227
387
881
252
878
357
360
203
514
894
983
946
984
413
384
842
287
846
132
8
450
623
65
916
144
622
278
958
342
968
830
705
206
469
279
867
40
147
824
817
606
802
814
3
864
911
58
158
523
768
468
56
879
515
107
434
418
934
349
238
878
405
457
702
181
143
413
758
81
704
229
673
652
900
800
786
68
308
893
434
215
720
802
696
219
64
67
917
554
959
247
396
168
823
350
888
744
443
959
794
217
291
289
968
365
447
775
926
51
547
534
9
704
246
627
453
785
320
715
439
86
99
192
852
339
149
274
810
283
402
941
428
564
513
716
918
976
641
772
426
31
303
801
264
683
341
908
304
90
144
246
83
967
720
198
138
354
428
496
222
227
875
714
928
712
130
695
386
818
473
343
849
479
443
913
322
260
87
968
477
499
510
488
104
477
671
132
18
8
999
484
136
778
642
510
955
163
457
727
990
943
461
118
694
884
422
247
380
680
887
701
946
464
679
684
228
88
276
722
444
608
630
181
352
582
117
490
506
644
238
444
274
821
239
598
592
743
311
0
110
323
826
31
794
0
376
977
224
281
698
431
70
319
881
583
316
343
121
520
67
232
820
333
435
615
944
576
135
257
524
245
533
353
378
120
547
251
959
325
224
843
234
172
267
876
187
403
441
93
900
265
587
873
37
554
984
926
1
432
888
910
569
46
367
958
623
671
57
810
862
216
906
461
59
119
809
855
816
985
370
14
881
0
931
189
878
198
125
552
123
410
680
115
111
246
382
115
701
146
553
712
314
234
104
511
198
743
694
986
674
429
880
605
597
10
636
191
948
58
897
988
466
419
37
361
937
454
822
522
734
751
254
238
416
396
148
514
723
999
788
187
788
757
807
332
103
443
490
847
231
551
575
14
612
610
403
452
251
116
338
12
471
281
440
485
283
838
617
661
410
128
467
924
522
848
590
641
480
104
253
406
243
684
92
177
802
845
530
282
411
47
952
214
426
552
924
535
708
972
784
413
166
62
717
393
534
326
12
270
143
563
202
815
806
557
515
307
573
112
642
623
809
166
974
469
808
356
756
249
332
676
218
740
859
527
798
751
49
447
852
726
933
310
131
266
265
956
245
987
819
45
890
93
687
229
846
95
741
629
103
321
415
557
389
909
194
226
205
47
795
52
100
800
36
88
845
395
35
653
719
444
145
570
227
752
610
68
119
11
807
230
827
594
337
317
922
440
768
282
497
634
58
62
136
178
543
240
134
416
439
669
479
385
92
709
351
830
519
412
505
393
723
340
31
798
332
465
434
387
650
486
178
651
757
735
491
820
979
889
943
698
746
879
417
568
255
726
936
184
954
456
368
279
978
180
360
594
578
327
881
666
673
688
159
58
115
865
304
658
438
745
420
674
834
859
399
330
746
656
179
688
882
192
863
985
926
719
641
839
481
693
795
603
794
731
467
148
24
384
779
242
224
242
920
408
124
421
343
329
78
882
237
251
686
651
143
478
905
859
420
75
487
996
815
885
687
944
964
618
414
555
476
669
694
566
95
197
170
667
656
817
36
454
832
390
939
954
416
791
22
67
458
263
31
457
711
416
754
866
57
790
445
327
391
650
673
639
372
926
92
95
645
862
417
973
742
431
384
222
565
63
30
190
338
33
315
884
486
41
961
92
775
111
198
437
172
433
83
814
871
643
702
636
51
98
819
645
379
790
267
808
770
6
104
313
840
336
551
433
10
479
614
39
947
666
256
889
154
881
773
871
530
667
301
400
7
131
989
985
261
56
364
747
935
168
609
666
967
992
334
242
188
462
811
820
369
510
663
974
409
22
511
383
323
290
312
931
71
910
690
925
507
979
829
172
967
157
397
457
707
724
531
417
924
897
424
113
540
702
108
463
92
143
568
829
926
816
660
729
471
390
438
759
366
451
904
328
300
17
187
401
441
246
251
884
67
451
302
866
136
735
599
929
614
703
334
30
781
548
830
230
48
431
639
180
675
572
850
596
837
366
915
108
576
828
196
94
267
975
653
296
606
372
451
876
879
506
148
735
995
747
235
109
336
948
596
198
33
631
57
64
894
694
143
778
188
601
587
150
99
421
49
430
968
456
703
159
812
230
507
763
581
172
813
221
742
341
246
410
554
780
455
771
861
94
739
801
356
417
144
275
308
597
791
334
633
510
161
767
286
482
16
256
900
552
492
31
704
305
219
390
932
726
419
163
699
378
70
476
629
134
18
171
571
622
22
140
722
533
329
185
452
378
846
569
816
769
914
401
235
662
807
661
9
634
202
575
811
413
759
233
923
811
65
898
385
505
215
180
346
205
694
974
679
879
735
874
142
285
294
212
149
567
619
850
648
829
890
874
644
466
196
415
423
868
696
325
581
273
796
375
300
355
799
675
331
629
651
112
894
745
395
955
176
549
651
0
85
520
304
64
795
498
612
974
832
89
449
51
967
26
503
875
404
964
18
314
632
485
194
860
534
167
389
372
721
483
256
426
11
20
886
164
885
500
898
912
544
23
342
284
877
828
911
497
273
345
903
118
742
229
670
106
228
936
997
532
327
681
431
172
770
473
36
858
944
56
701
919
928
650
216
899
522
923
173
382
206
550
881
908
715
86
829
234
65
488
379
998
791
789
824
749
498
536
614
284
500
382
623
496
561
121
989
511
579
454
392
237
326
617
366
701
882
503
527
817
549
706
53
766
149
303
576
752
243
347
211
656
94
814
642
882
861
412
80
630
920
95
338
111
621
925
162
414
874
738
969
337
263
93
525
405
801
431
262
523
322
387
580
732
69
665
270
56
250
178
472
355
499
503
117
973
830
638
869
941
878
63
824
696
314
152
56
452
233
745
101
494
611
812
785
348
829
596
610
677
568
763
313
926
283
511
339
146
504
141
771
697
911
622
657
836
894
987
427
613
26
988
141
401
367
301
199
601
46
246
970
97
335
504
841
630
354
256
795
775
924
553
803
707
505
470
1
284
803
972
766
62
752
272
521
430
516
384
561
857
541
586
378
211
747
943
459
102
548
537
637
159
750
21
674
334
692
171
100
419
586
21
943
595
599
100
161
909
676
178
850
747
513
436
325
175
35
270
173
718
564
243
367
136
504
611
247
248
447
275
716
329
336
709
388
267
675
880
387
742
470
115
671
737
266
859
927
880
979
301
199
911
285
260
111
701
185
625
487
373
253
947
843
244
250
459
779
137
415
222
889
169
897
420
954
185
245
61
943
485
301
21
84
922
517
712
863
291
955
852
100
27
253
348
59
752
827
386
803
805
979
58
83
610
841
444
217
380
257
199
116
574
40
446
833
477
476
691
43
666
338
479
567
509
303
362
471
525
395
568
629
883
384
948
88
257
112
498
220
441
793
954
495
661
222
541
667
50
831
61
473
960
480
169
76
855
956
792
706
144
768
330
289
467
520
967
378
51
148
591
879
481
77
661
70
948
641
291
928
298
953
514
174
936
502
296
131
560
827
925
326
549
839
959
945
697
90
281
465
655
187
615
21
240
694
981
25
855
552
705
556
496
514
764
576
381
383
985
572
734
910
965
101
605
572
170
160
240
467
212
501
548
625
742
296
747
881
723
519
822
2
512
700
373
121
744
460
410
568
207
527
935
531
599
963
715
9
779
895
802
64
602
966
453
791
478
803
864
887
962
761
962
694
631
409
986
600
271
506
379
280
232
318
889
827
720
457
938
29
722
121
200
179
162
976
471
289
0
295
385
493
439
678
741
325
997
588
379
501
184
865
972
705
612
275
818
561
264
118
492
139
527
352
637
642
894
594
378
377
779
499
488
553
124
438
288
304
79
580
66
762
166
877
202
666
204
216
246
443
264
191
60
363
230
660
681
350
352
497
631
779
528
661
973
825
939
623
443
10
962
345
479
940
383
297
185
719
274
966
476
954
554
443
899
218
177
953
978
649
914
607
681
873
439
348
207
106
366
63
556
806
351
36
980
806
282
334
611
588
485
860
782
9
927
248
131
19
620
388
228
292
464
124
476
705
917
753
659
534
161
531
30
92
262
381
79
685
533
261
535
552
594
986
14
47
322
125
893
806
493
191
510
243
154
446
228
328
797
235
674
587
127
179
50
388
122
633
314
250
814
307
859
503
35
775
94
612
190
22
669
959
335
171
448
585
484
96
117
262
358
569
178
98
466
533
531
62
797
665
497
182
806
517
151
477
582
632
581
120
898
676
757
306
996
382
935
597
173
246
7
644
41
993
325
983
724
268
913
99
36
756
874
401
394
180
6
148
880
306
846
839
481
413
449
957
545
253
164
344
431
961
264
158
439
810
444
716
506
845
503
378
311
698
369
196
157
754
184
814
51
185
694
700
778
903
721
141
756
614
446
966
270
747
20
763
709
740
880
559
839
19
576
799
7
916
716
909
353
738
863
277
74
283
767
63
401
332
430
326
404
314
128
309
660
320
804
354
220
694
737
583
754
811
39
165
418
635
919
173
388
523
857
101
798
481
715
224
957
968
925
891
650
108
406
251
459
135
217
31
567
491
787
205
415
84
186
356
382
577
409
511
856
395
26
76
261
902
168
119
258
624
599
381
157
172
735
496
281
334
296
655
260
878
901
153
495
20
752
628
369
616
519
822
377
678
987
268
323
380
851
275
808
255
23
938
65
371
61
872
468
450
240
701
806
989
457
600
105
409
157
702
652
779
671
229
512
638
622
231
655
577
659
60
265
59
580
853
0
470
883
921
953
818
192
131
785
964
342
672
777
584
197
982
160
47
913
780
988
160
746
427
898
897
568
623
376
576
153
893
84
180
934
749
984
203
589
568
100
334
276
141
351
669
830
836
521
456
794
829
639
653
369
442
479
117
327
60
643
10
898
119
522
510
397
299
429
930
471
306
788
747
127
656
886
175
688
230
850
105
392
577
518
841
678
858
641
349
615
763
312
619
307
69
949
165
389
603
312
503
4
677
301
834
825
971
472
878
247
486
595
705
734
720
729
536
527
736
236
755
596
721
551
160
947
391
531
164
424
346
817
976
380
466
814
383
304
665
555
350
308
976
517
999
306
719
744
339
43
391
34
570
667
65
885
543
128
134
388
74
740
611
394
151
170
930
768
999
201
465
748
8
480
112
509
177
959
13
621
255
812
894
356
594
619
976
323
292
148
881
235
31
285
330
127
819
354
147
152
293
364
707
414
362
227
651
696
659
193
971
592
236
130
101
64
293
657
639
200
496
564
903
468
924
939
994
339
504
152
729
496
911
896
21
484
109
137
116
560
942
597
81
625
652
327
482
236
792
734
660
686
957
318
88
316
218
879
730
994
44
47
40
746
627
28
292
600
213
158
174
725
45
186
998
665
854
643
676
291
220
454
562
258
752
118
689
230
787
745
613
566
560
255
197
915
913
221
413
913
738
433
826
198
205
769
820
681
241
5
533
152
926
652
313
764
810
782
937
604
612
814
576
159
327
655
79
392
610
194
753
474
633
83
810
817
909
53
419
494
954
262
986
243
306
840
946
987
421
964
8
118
870
17
106
678
313
279
487
58
34
650
344
442
190
493
342
190
94
587
355
193
17
366
445
557
847
4
163
504
203
811
237
808
363
473
424
116
331
940
158
388
157
285
266
345
727
734
284
212
322
499
629
979
47
937
329
714
727
667
708
367
924
281
928
386
776
820
480
210
577
122
701
980
23
959
578
856
736
869
96
16
150
952
837
853
44
104
878
575
501
583
855
710
383
64
36
200
226
904
739
307
692
175
609
784
910
278
136
821
467
962
631
101
876
185
715
628
556
773
785
839
891
480
277
960
163
257
973
580
387
86
769
397
506
351
212
570
89
940
648
368
637
633
545
211
307
461
821
503
224
698
597
343
580
192
753
274
769
751
105
873
719
162
879
684
147
620
143
137
249
98
404
407
136
669
953
474
325
735
353
607
748
679
135
975
683
974
576
793
62
723
530
323
629
575
65
93
278
847
365
256
417
954
942
219
941
670
13
103
90
944
966
813
432
844
953
559
115
973
932
798
350
285
426
282
360
316
979
194
877
779
75
740
272
76
537
954
393
941
524
816
943
102
18
646
624
818
50
231
29
647
413
292
671
730
812
342
644
395
867
103
317
999
587
346
659
659
311
845
459
151
605
809
790
763
206
444
914
147
876
981
453
210
894
917
501
549
161
271
755
549
971
982
829
70
351
840
847
656
256
251
443
925
350
386
687
372
515
878
579
818
739
306
102
169
120
855
274
850
162
816
730
126
475
659
53
107
538
413
340
298
568
651
398
389
567
408
345
566
819
956
852
542
990
178
29
351
60
200
335
444
513
58
665
649
481
161
651
339
284
574
106
339
853
489
648
217
362
72
147
1
910
592
370
230
965
86
827
353
220
270
950
598
369
553
719
627
719
962
700
865
134
662
625
658
582
24
871
779
567
156
845
491
380
938
959
540
992
229
178
130
738
579
429
122
211
652
162
958
838
891
714
477
409
142
417
544
644
76
813
335
468
671
745
548
317
738
891
790
762
195
266
389
582
145
859
562
215
622
109
647
297
51
237
76
33
540
423
923
413
483
292
484
405
102
530
522
830
786
203
436
271
631
737
583
729
414
167
844
952
441
66
376
731
50
358
229
737
272
252
65
270
944
494
639
690
482
401
815
965
296
242
960
982
524
858
842
43
173
30
895
194
4
716
258
942
872
798
167
584
746
861
180
513
564
812
750
563
349
484
336
682
771
332
62
810
742
878
929
242
815
80
967
564
384
96
187
310
175
228
248
750
323
81
687
641
724
399
824
685
462
825
594
475
114
555
121
533
655
199
366
368
437
576
0
239
397
453
321
733
272
268
531
816
316
564
517
844
310
47
1
230
392
139
986
928
485
127
148
937
480
256
284
694
309
448
384
438
255
61
925
277
260
324
398
425
141
549
916
122
190
4
579
730
933
659
946
517
479
164
990
529
587
441
98
270
343
643
742
7
264
793
0
879
443
724
269
281
474
374
535
856
877
919
206
859
97
357
607
818
195
264
489
545
384
297
367
115
385
253
580
421
359
98
792
403
214
374
320
570
742
150
384
400
668
639
661
831
318
878
432
381
492
672
818
281
120
751
739
255
379
4
231
442
639
879
325
999
188
381
443
23
582
748
265
434
549
27
514
316
305
544
18
935
479
337
743
982
797
181
31
283
4
638
643
893
984
615
576
40
930
350
678
90
113
605
588
87
209
822
646
837
569
293
374
878
412
510
78
892
663
449
1
77
653
527
959
709
974
236
12
671
222
987
615
511
744
591
36
314
235
423
886
72
771
557
536
228
193
401
502
534
346
690
429
797
469
258
32
450
263
840
22
312
584
699
487
804
320
59
28
584
90
954
905
618
275
451
309
914
64
651
646
902
572
629
587
329
814
329
188
468
81
168
832
485
40
239
762
720
351
635
414
175
433
229
621
128
393
907
305
349
834
967
756
512
39
281
250
359
470
748
272
972
471
268
14
347
424
832
345
409
490
348
695
906
752
328
947
621
831
631
693
530
385
886
147
507
919
951
97
874
599
416
177
537
326
175
435
799
832
366
427
904
613
553
613
222
237
303
665
250
45
229
643
303
289
374
89
734
990
936
833
753
251
556
501
146
768
274
653
745
45
610
428
962
613
78
787
3
686
671
128
551
533
730
926
201
344
246
414
570
887
613
399
941
489
736
783
143
151
451
794
901
243
176
155
452
685
472
543
552
634
798
874
470
64
408
909
40
286
277
770
974
613
44
552
770
115
192
448
859
958
938
567
389
255
328
845
704
794
443
845
569
809
520
875
399
884
266
249
286
660
419
977
312
469
249
385
824
877
282
985
746
248
225
638
893
40
68
609
391
511
869
977
373
976
505
833
603
639
573
705
79
622
319
78
609
37
90
57
467
325
926
530
23
242
349
766
563
695
303
301
95
71
781
387
331
884
129
516
739
622
342
845
901
907
545
877
442
469
56
985
239
297
942
825
354
202
418
679
330
339
60
270
608
403
676
410
428
848
277
198
50
833
803
413
582
703
859
447
630
616
930
35
412
236
771
996
307
720
600
818
832
250
751
899
452
85
888
919
451
486
451
881
186
393
633
465
911
920
564
228
845
959
238
702
667
845
526
515
307
481
424
456
667
65
427
347
523
54
996
1
322
29
220
422
915
275
940
792
326
399
324
562
759
570
818
860
226
181
862
319
170
60
353
641
712
905
50
947
944
650
410
488
479
254
708
986
585
23
542
395
845
509
333
765
412
144
32
148
378
284
317
346
165
307
536
137
784
926
514
938
526
469
207
370
893
133
549
604
397
80
948
149
10
57
807
124
723
737
749
259
586
828
186
989
931
552
18
274
835
670
765
301
303
784
139
551
868
136
956
478
357
201
114
126
450
569
689
83
686
411
749
714
406
768
835
51
544
14
464
576
44
984
405
711
386
123
470
480
834
738
942
972
675
204
879
507
28
656
548
977
771
91
666
413
754
419
230
626
591
326
305
220
643
874
683
472
10
573
718
22
700
701
911
67
235
152
371
467
153
285
119
717
258
259
616
105
861
710
953
553
976
691
472
40
25
305
363
676
531
897
327
434
611
568
372
2
804
150
854
779
213
618
932
697
860
87
592
488
407
597
955
830
407
150
578
426
843
923
318
311
65
528
127
8
991
730
587
151
535
607
386
475
574
4
428
557
365
958
261
482
378
898
608
961
330
160
77
855
467
99
984
557
675
881
75
370
172
438
589
823
522
985
679
67
660
845
386
927
557
421
88
10
62
616
948
815
513
907
868
762
46
483
624
299
421
711
554
523
139
482
975
550
495
661
10
159
645
970
585
292
673
777
702
76
830
190
527
648
548
718
52
374
474
243
158
145
969
543
229
436
988
723
827
300
815
106
61
163
14
475
474
172
348
164
411
837
263
533
36
481
306
285
3
944
15
780
421
693
806
892
935
171
893
437
607
704
174
400
293
431
99
500
335
35
887
49
598
730
396
550
895
770
945
1
714
397
495
559
546
734
23
780
704
285
688
880
864
593
37
453
116
875
625
714
991
812
35
157
375
215
622
429
506
911
717
562
292
140
172
43
206
112
704
799
888
318
587
910
955
38
892
251
972
391
744
975
658
312
718
360
279
386
211
632
998
773
5
297
207
442
302
61
86
861
832
433
676
987
90
482
732
499
401
266
973
524
212
349
363
685
394
58
221
919
457
73
917
384
453
845
7
59
661
332
353
772
544
92
162
680
806
338
594
576
299
917
181
827
834
840
889
806
64
104
949
157
604
615
239
412
233
47
782
150
456
938
712
271
701
613
747
586
31
147
259
867
676
898
388
251
29
195
373
698
466
998
85
908
654
632
839
553
363
461
689
351
478
82
222
541
598
582
936
216
267
180
936
308
666
620
547
600
321
880
917
266
511
185
341
205
66
403
493
359
74
60
966
749
50
197
585
589
153
817
370
854
791
689
936
352
214
870
467
366
254
296
538
986
681
448
517
923
290
114
446
289
778
408
441
47
303
953
377
88
796
157
13
963
942
383
639
865
839
317
466
193
5
540
268
913
52
930
65
610
799
22
534
567
277
193
336
745
594
829
783
220
199
750
865
291
734
149
486
376
930
214
469
912
99
838
943
710
986
606
862
492
18
784
635
221
332
302
792
479
430
613
48
186
186
502
724
942
468
570
294
131
925
454
767
953
867
452
578
713
528
760
672
750
795
922
86
155
98
802
377
573
270
64
539
676
835
378
724
170
113
35
769
497
607
39
298
704
74
448
386
176
739
290
153
507
943
801
486
295
61
437
197
747
721
188
525
645
997
341
995
355
169
323
667
120
697
690
584
415
307
182
27
105
703
37
687
504
317
998
47
282
790
28
483
151
55
928
946
319
429
669
235
251
73
984
699
71
217
951
584
808
281
53
55
555
903
614
754
5
125
223
939
413
126
131
187
60
669
906
317
959
61
625
860
123
881
733
66
236
649
849
765
587
300
357
210
17
753
4
134
371
979
353
722
352
711
270
973
794
943
390
421
167
924
720
539
476
880
534
385
7
409
262
625
918
758
433
14
860
704
577
24
315
915
718
936
969
477
115
252
749
147
847
934
634
413
141
165
489
918
668
549
776
914
540
334
391
448
734
222
250
588
89
767
465
971
696
98
736
750
647
800
655
691
132
703
806
298
508
440
4
692
115
312
318
951
383
774
898
388
401
251
812
897
82
890
577
664
877
893
647
544
847
113
737
432
188
156
802
204
2
411
789
253
197
171
812
102
206
236
408
520
169
983
688
909
25
266
917
387
108
295
583
554
313
873
592
939
167
683
585
795
69
205
214
881
81
745
880
636
819
666
771
933
273
367
140
60
767
20
394
886
285
675
728
416
174
206
954
479
992
558
995
311
431
581
505
797
914
676
570
643
681
20
414
986
547
973
914
934
386
731
626
115
176
336
69
12
310
724
208
682
969
434
309
371
217
473
752
98
487
595
106
972
905
361
564
353
486
459
150
853
780
614
513
915
699
182
961
975
247
127
153
142
668
777
813
216
618
981
257
476
480
964
629
86
572
398
314
765
557
132
449
314
528
267
855
476
224
450
772
273
198
727
883
222
613
862
7
843
702
388
773
3
878
837
684
587
258
323
181
308
419
549
266
771
660
472
988
346
530
134
126
774
398
187
223
892
855
324
949
980
102
231
216
879
660
271
338
216
162
232
976
782
760
807
641
739
527
230
658
209
613
535
91
29
303
81
105
777
383
751
216
940
569
927
101
52
638
364
181
196
113
658
93
507
132
130
415
567
342
796
701
290
985
223
346
117
275
59
251
984
945
333
799
272
10
798
251
158
994
523
720
987
817
670
484
189
586
764
881
990
817
458
455
318
461
389
576
665
839
645
944
124
83
756
512
12
673
121
901
552
603
505
689
713
200
744
840
730
342
333
12
905
527
457
468
37
561
553
876
698
999
42
436
846
246
838
143
584
669
68
354
490
338
562
551
301
884
47
715
308
494
913
370
505
956
632
932
764
990
116
714
235
449
483
841
615
524
943
874
733
846
242
956
998
920
879
628
858
410
966
350
141
661
704
641
221
38
837
172
734
242
395
631
230
8
396
132
771
622
182
605
415
826
176
448
779
805
730
218
392
489
489
378
392
698
296
592
636
464
626
212
995
99
41
765
224
473
737
19
376
882
36
368
521
982
301
142
371
436
635
702
917
599
796
809
314
46
498
949
380
154
87
839
311
162
616
381
799
724
286
598
172
762
589
151
349
70
88
68
292
130
217
713
902
161
37
908
693
484
263
101
172
283
225
77
346
849
390
753
910
859
766
259
626
148
287
445
716
779
418
99
943
574
962
615
786
136
431
69
837
625
407
791
133
544
975
710
745
59
833
879
901
81
163
266
310
277
324
155
952
184
22
737
542
715
331
50
577
477
733
408
845
804
651
862
712
238
816
637
277
250
299
40
37
694
661
461
158
445
408
30
167
672
978
373
271
743
598
240
318
113
535
404
836
621
688
648
258
384
562
264
702
698
785
887
414
136
54
577
722
539
492
596
545
943
571
138
721
5
642
511
512
880
966
351
13
213
799
705
203
810
346
16
28
212
128
936
23
288
204
147
786
537
275
182
218
519
944
816
784
843
970
141
410
585
242
481
472
566
857
71
653
882
35
476
404
435
577
817
823
209
453
513
123
414
174
677
49
593
36
587
296
801
588
317
855
407
798
107
730
970
314
143
637
977
707
922
350
508
20
144
318
232
560
839
771
744
769
324
211
54
558
723
328
707
683
843
520
517
229
158
501
56
197
220
219
354
110
85
142
100
242
249
388
364
643
997
373
476
13
658
355
398
824
931
829
51
461
239
102
751
612
347
451
905
656
230
616
100
369
304
730
382
72
250
536
265
681
906
922
812
908
113
38
173
284
384
90
699
900
799
522
650
256
267
542
97
701
939
960
70
891
825
263
730
426
254
79
162
742
904
788
590
387
505
525
465
837
513
890
138
302
916
894
509
858
183
96
777
250
341
766
779
583
81
36
620
282
796
529
724
853
577
847
246
996
849
463
507
647
373
536
533
144
49
885
422
928
145
670
993
707
785
397
507
183
436
572
103
397
878
487
716
300
754
906
781
994
647
259
330
471
186
247
258
838
948
990
506
818
446
253
914
380
153
246
654
638
642
921
67
534
156
284
425
682
949
891
442
5
79
943
752
971
23
322
915
669
801
124
180
450
166
907
539
66
3
582
849
494
579
533
189
843
989
4
860
911
256
52
918
289
811
863
916
99
218
886
659
455
908
547
627
842
597
176
404
425
197
339
0
208
498
103
596
610
436
619
789
906
618
555
578
218
493
460
74
85
74
444
25
401
149
562
286
283
409
493
197
205
697
600
871
136
628
507
48
424
237
201
101
737
680
152
821
478
531
437
61
941
717
529
978
902
390
554
363
156
570
295
89
103
489
744
435
920
479
428
135
309
290
246
766
504
190
564
406
309
768
235
840
912
918
776
751
630
757
892
747
326
826
215
582
558
850
414
512
923
435
682
331
121
212
417
590
324
472
133
500
723
306
533
889
320
644
114
536
644
1
396
943
180
820
56
156
377
978
904
660
534
412
396
36
705
89
601
734
366
397
772
423
458
124
303
233
182
274
732
0
724
607
774
167
645
898
724
43
599
776
421
227
934
9
473
29
77
576
456
673
298
21
933
95
318
602
245
187
156
707
205
983
726
296
255
299
301
418
441
498
255
708
105
512
668
327
187
21
532
301
771
312
811
639
925
196
340
960
572
489
857
418
380
321
177
113
252
701
608
283
375
848
631
644
410
990
687
480
243
246
311
73
816
765
879
204
642
388
903
938
928
679
333
27
531
879
557
773
941
209
599
223
92
445
312
894
597
870
676
421
22
909
660
759
703
180
394
828
649
16
990
263
114
443
929
776
452
681
831
204
59
726
25
895
711
993
836
142
347
873
542
294
751
574
465
498
0
222
496
245
863
183
158
166
414
794
897
799
304
247
120
315
370
892
279
380
356
978
118
116
67
756
814
180
795
381
395
923
761
587
944
890
962
15
480
225
252
74
247
387
110
832
649
628
346
3
484
706
997
761
472
559
376
986
185
909
909
339
74
554
781
538
839
514
692
90
903
247
328
178
921
21
134
67
89
681
801
224
201
918
410
69
141
340
792
439
730
561
487
770
722
135
560
739
549
329
790
784
134
382
122
986
85
555
766
790
136
2
693
642
76
221
994
292
986
579
368
177
733
468
51
609
795
923
473
745
27
589
134
532
996
176
128
621
342
534
197
378
748
328
394
168
700
193
781
366
792
208
761
692
87
624
298
200
107
716
226
159
324
162
114
910
410
528
432
916
801
907
813
794
462
477
216
140
802
808
239
213
706
659
547
237
701
634
398
114
496
23
737
840
514
125
147
705
648
416
451
530
135
687
117
112
155
759
636
296
639
76
513
323
789
20
101
353
616
850
206
153
615
230
519
925
786
146
279
542
19
789
180
844
481
866
982
820
96
664
145
5
538
791
713
787
915
387
3
846
281
86
254
223
980
725
539
114
744
460
136
266
243
570
613
260
276
900
691
161
816
275
975
55
220
616
433
848
745
533
820
650
975
984
127
918
731
144
739
313
266
75
357
734
858
768
136
573
998
148
285
791
123
916
745
81
139
738
65
229
424
269
465
711
457
475
856
851
365
659
606
842
176
319
580
216
526
45
408
988
234
705
22
924
776
363
878
397
659
747
504
696
99
342
399
641
742
201
578
505
689
970
509
344
297
755
632
547
631
293
595
961
462
902
749
972
461
57
716
842
269
464
174
410
809
475
516
873
428
122
774
484
16
173
575
17
148
897
719
375
612
437
964
22
469
384
860
587
594
310
876
927
319
67
211
259
961
193
131
209
386
292
28
147
91
284
34
776
390
675
487
30
517
683
851
775
616
89
45
112
374
595
610
947
336
457
354
523
981
64
525
808
976
813
404
981
988
506
40
198
257
756
838
68
519
450
102
108
409
787
629
299
149
319
208
738
139
436
23
592
23
782
48
525
819
841
37
145
837
867
693
283
97
266
654
262
507
925
473
210
3
712
784
757
178
674
967
786
850
232
631
593
144
862
964
995
874
454
777
70
335
733
524
354
105
721
939
222
868
848
714
21
82
155
154
32
786
405
155
180
646
477
577
607
914
635
606
816
461
126
44
716
976
4
203
177
455
164
811
641
586
231
169
912
848
948
196
549
573
302
141
401
156
924
114
964
64
165
846
796
333
585
659
365
945
506
795
119
826
215
541
268
273
452
221
639
450
3
187
802
978
154
578
450
367
635
467
18
409
105
563
816
25
533
541
937
23
671
331
517
402
782
582
928
804
157
866
69
275
125
545
26
969
908
988
757
686
506
867
293
541
740
967
126
898
83
877
697
568
64
882
797
703
833
364
886
516
214
706
843
279
62
631
510
807
401
518
924
769
448
37
579
144
640
742
28
355
582
660
673
831
735
671
350
89
380
922
565
939
674
68
701
354
412
552
357
971
769
349
47
238
732
605
4
855
861
699
729
662
900
529
466
734
312
683
29
648
568
407
485
954
355
623
865
281
184
124
129
653
640
463
453
773
381
123
812
818
751
166
837
614
770
812
13
792
938
608
272
177
952
913
589
893
995
104
543
810
597
306
147
98
668
521
240
304
872
592
626
16
594
332
815
200
235
288
969
786
123
75
732
882
584
954
319
961
386
816
191
418
875
96
881
701
540
803
539
889
976
920
531
689
798
332
492
992
390
50
33
477
53
121
814
788
625
368
312
855
365
679
480
207
343
540
790
366
493
933
611
57
699
637
657
47
685
166
689
275
506
86
561
284
401
460
986
62
152
335
887
884
876
188
847
533
9
514
740
296
788
663
744
923
615
182
841
850
271
167
493
567
387
804
580
184
601
717
820
388
634
196
429
523
990
271
91
523
85
371
98
755
186
245
157
997
316
303
441
177
518
116
298
869
244
483
85
170
801
251
91
673
524
797
873
198
601
955
395
118
627
541
102
89
655
289
413
334
4
589
587
984
950
211
85
58
310
961
959
75
711
469
644
691
690
854
867
699
826
691
787
506
938
737
792
958
898
798
260
302
965
620
454
15
472
409
763
374
355
893
756
850
824
136
695
392
779
582
2
36
835
511
33
924
927
139
639
606
194
144
239
140
935
613
682
503
781
269
518
347
325
573
544
55
122
236
190
516
671
771
681
198
268
973
877
93
839
449
481
515
944
499
993
463
618
754
304
645
678
458
441
223
648
830
764
650
550
35
39
968
292
191
679
407
529
926
94
25
771
71
63
265
391
348
183
895
383
604
478
809
10
594
635
658
69
936
610
863
452
506
153
218
399
450
761
577
802
617
971
898
681
519
913
724
332
226
412
836
781
805
38
587
543
631
449
397
282
964
680
259
264
635
255
180
555
278
282
420
970
242
340
479
268
293
830
930
713
539
173
641
994
425
654
14
699
588
347
472
580
155
289
674
520
814
702
839
761
477
327
991
889
812
9
402
294
209
630
792
951
294
125
557
474
428
625
931
517
982
925
194
761
259
493
54
672
601
491
280
605
120
948
748
579
530
90
329
98
790
577
975
317
356
422
893
748
879
573
807
597
874
18
875
735
533
413
891
996
919
970
320
534
245
385
833
687
319
953
589
968
426
284
291
364
754
36
166
651
792
147
920
261
414
747
265
12
293
163
583
682
644
54
662
55
901
239
696
942
616
93
120
271
72
251
983
90
274
287
849
645
142
143
922
109
9
639
520
16
834
971
669
365
795
89
289
977
3
620
11
62
354
181
719
679
496
698
98
837
356
563
169
874
999
9
390
452
354
86
582
231
998
942
114
987
954
743
236
873
999
734
720
309
292
628
758
363
982
626
60
746
498
417
366
939
27
6
891
298
388
363
25
373
107
766
758
516
269
466
35
429
778
744
3
364
208
914
912
762
882
900
570
872
246
825
130
688
956
673
649
947
513
143
196
195
689
989
49
768
618
677
585
5
387
517
833
856
899
736
905
296
310
580
123
312
895
983
811
111
111
537
337
730
582
765
741
233
698
291
590
308
280
588
565
658
371
178
996
4
140
865
138
888
63
563
24
216
61
546
947
322
115
79
256
87
472
816
210
853
83
171
234
738
339
382
132
894
551
652
241
129
15
525
525
468
910
6
502
314
573
295
359
793
352
407
127
911
753
608
833
587
921
398
483
871
948
284
888
794
230
844
524
644
246
852
116
486
295
593
127
485
466
452
603
82
776
301
313
73
272
997
4
719
378
204
38
427
565
778
373
542
624
765
163
926
697
882
634
167
4
209
991
237
534
856
798
994
317
880
669
158
351
39
312
654
543
5
248
869
47
63
127
549
558
737
271
480
285
203
575
948
911
433
662
860
947
676
72
852
656
294
563
105
713
968
987
101
424
657
470
438
812
849
547
517
77
505
314
506
56
778
974
280
805
250
603
727
956
266
562
361
642
338
525
358
620
524
332
438
55
80
420
216
754
46
636
82
236
603
270
987
251
342
705
972
565
189
420
168
120
929
162
286
151
731
436
714
981
583
291
195
609
91
282
743
216
806
81
534
18
455
606
893
362
922
460
75
610
717
960
443
671
167
292
945
365
373
283
824
498
46
227
813
413
646
850
963
133
268
123
163
776
593
569
661
481
280
213
199
208
74
153
575
477
265
874
209
156
891
203
288
866
708
173
921
143
54
599
467
680
470
459
267
111
175
678
825
941
610
619
879
381
51
56
422
946
13
971
322
992
179
387
952
185
868
206
435
866
225
692
836
755
973
239
318
492
714
255
432
652
544
538
54
693
391
341
248
921
712
349
322
716
192
377
187
60
882
248
924
303
596
453
246
310
911
825
872
595
658
787
256
305
554
582
379
293
886
384
387
520
763
365
440
678
268
423
613
102
436
549
468
83
990
898
70
385
546
50
810
963
121
216
91
869
877
929
460
902
418
464
44
366
974
441
224
873
656
345
148
795
995
66
125
887
40
618
287
870
590
726
241
12
902
763
442
148
946
280
488
397
808
336
895
573
67
640
528
787
766
518
431
7
432
990
179
280
680
836
67
575
563
864
152
878
410
807
967
91
364
391
444
608
317
339
947
935
710
516
871
619
756
359
843
684
726
497
293
562
110
872
1
818
520
58
136
532
155
509
786
509
887
200
683
418
685
561
424
721
384
81
151
112
339
767
621
798
26
43
360
191
321
346
54
278
284
884
675
156
480
862
212
866
737
229
439
124
446
697
805
997
975
101
506
880
550
388
627
554
486
421
945
990
337
372
536
0
835
143
801
490
340
935
713
817
267
429
260
592
435
367
570
196
837
274
687
719
545
463
460
640
811
603
920
647
808
454
166
510
317
239
158
755
832
449
73
498
935
214
683
874
385
805
903
824
312
989
325
260
600
386
737
923
42
956
218
281
535
700
593
43
712
473
983
633
8
450
734
649
438
85
77
47
371
535
65
142
71
351
271
631
524
151
337
119
159
289
393
133
442
984
820
41
238
790
73
471
529
937
948
378
730
858
926
225
378
192
991
469
98
771
291
644
661
997
522
620
254
555
740
41
545
388
802
608
879
829
151
964
765
441
947
586
784
958
711
21
814
752
781
120
551
532
864
754
276
593
434
654
940
915
191
542
111
196
145
841
218
459
748
84
719
299
470
615
196
39
572
557
666
569
699
455
649
109
624
606
552
27
968
805
298
628
554
160
663
361
265
135
611
577
220
178
185
368
896
890
227
921
943
237
827
601
750
636
476
355
231
69
174
601
184
147
234
991
885
396
295
740
967
245
467
512
539
619
160
391
8
774
193
76
904
30
323
455
370
973
211
269
748
101
855
227
667
323
330
868
992
592
695
616
458
287
41
404
279
816
377
994
369
770
950
25
815
508
384
967
170
277
240
586
156
356
426
131
799
862
375
200
113
241
578
668
775
388
828
607
445
363
69
448
203
294
467
117
131
893
317
146
365
632
618
487
165
386
351
328
944
705
572
914
621
732
934
714
152
819
836
232
606
454
41
746
800
984
934
690
139
293
63
180
473
173
6
859
381
565
139
828
760
542
892
785
728
411
601
270
782
460
961
581
592
630
96
44
399
311
676
926
727
114
639
114
691
652
228
950
858
532
846
709
383
18
919
170
202
870
674
661
57
256
230
828
711
520
349
747
195
238
225
907
36
283
161
485
544
798
440
149
805
777
460
611
761
839
129
971
700
2
984
693
725
52
259
582
615
320
166
351
552
722
538
364
34
751
144
892
675
851
124
566
13
549
771
534
949
745
418
726
164
931
666
791
158
721
981
637
914
279
954
572
876
777
319
193
216
822
238
322
519
943
440
762
256
845
900
614
953
189
11
923
526
808
105
364
558
754
938
842
852
337
411
426
174
75
668
47
488
475
998
984
742
728
950
511
970
955
955
947
130
244
94
112
468
442
5
649
197
504
970
532
984
718
502
729
562
971
58
397
584
757
221
886
691
358
324
571
126
224
684
255
399
641
500
920
141
684
790
833
187
175
94
504
366
140
230
711
45
215
178
569
881
426
167
751
609
290
462
705
81
413
986
259
91
178
500
284
258
514
654
51
218
167
36
272
426
348
685
103
224
792
875
469
655
319
90
38
695
918
809
208
466
605
876
422
903
368
800
879
576
513
134
313
104
806
786
34
206
228
109
104
624
977
948
471
673
459
601
25
839
419
241
374
984
399
214
366
761
758
506
357
609
774
306
330
865
157
104
278
292
489
930
181
646
97
376
67
529
974
45
156
941
829
641
321
183
199
119
195
14
347
493
393
43
647
815
330
224
336
240
15
680
285
593
230
698
703
511
299
603
874
569
186
567
637
428
833
957
38
883
59
916
725
443
316
290
336
583
149
761
637
928
756
805
362
164
629
86
984
438
99
972
254
987
195
216
564
553
871
895
260
838
986
704
702
906
250
565
471
905
615
665
384
93
637
963
368
375
6
191
730
269
281
906
374
323
906
401
526
127
520
907
83
858
203
994
873
976
202
798
213
687
224
378
136
441
989
716
591
201
291
305
304
267
17
702
537
911
31
630
798
731
443
627
726
190
321
889
985
5
287
697
859
431
319
458
805
674
661
845
466
324
972
51
40
266
51
22
344
478
967
327
330
489
578
141
738
496
175
570
216
840
239
739
533
774
756
912
86
996
794
637
287
753
200
576
449
861
362
338
758
869
100
856
955
171
116
78
931
780
322
336
497
174
526
184
871
607
332
597
213
173
705
794
231
584
770
522
289
337
290
22
506
470
240
994
843
171
796
188
769
396
20
382
720
224
754
219
24
84
16
74
577
270
429
202
303
761
100
915
407
723
636
803
748
857
521
444
795
780
75
765
363
346
640
552
734
123
205
420
724
688
197
99
721
533
514
82
73
294
441
562
135
908
551
96
462
392
378
43
300
9
125
533
74
991
826
218
862
849
878
545
507
578
108
598
879
463
957
97
247
778
72
613
155
295
858
995
57
235
884
118
641
198
999
206
356
744
32
906
416
282
291
127
822
323
46
203
45
235
435
337
642
355
991
195
345
492
301
54
255
364
107
470
667
648
398
450
756
791
131
868
328
552
716
497
911
81
884
651
546
166
11
535
221
543
153
721
760
171
35
576
374
403
456
172
906
946
680
71
724
46
32
843
20
657
956
711
795
973
151
652
106
283
509
143
273
717
514
804
550
452
494
488
596
391
329
135
683
447
361
891
830
797
32
860
30
298
631
463
949
810
894
409
953
161
843
746
818
122
592
586
459
411
94
452
724
180
348
660
394
211
44
71
169
253
380
760
844
529
196
746
749
129
824
938
12
120
36
429
656
228
214
150
238
225
175
78
104
103
776
550
676
824
220
107
229
331
555
189
875
845
626
775
290
973
957
599
10
430
902
443
646
194
18
373
865
152
949
548
622
514
656
461
4
379
591
63
852
781
196
608
682
279
696
548
900
837
16
680
847
666
491
839
49
679
369
176
662
974
584
495
683
315
917
933
721
22
664
880
553
877
415
973
70
897
991
195
822
666
850
690
176
621
37
298
693
565
191
474
104
794
492
934
849
50
885
844
434
29
570
732
169
933
120
522
923
245
553
498
259
145
548
330
920
148
381
134
807
133
641
577
958
784
217
283
16
363
395
92
188
66
993
567
589
59
670
213
141
447
768
907
348
27
72
445
942
30
95
917
593
244
586
692
343
641
890
1
806
342
748
864
809
966
348
854
135
819
309
683
746
224
813
636
22
337
131
523
211
577
385
553
158
924
34
212
3
126
760
184
873
991
600
16
76
954
682
783
994
685
224
364
313
107
17
750
964
17
491
171
129
359
122
344
945
261
431
12
577
108
811
469
656
185
201
63
601
351
418
156
183
963
915
222
907
103
110
826
194
226
219
841
16
542
296
179
795
590
569
284
862
147
839
520
165
873
829
377
430
164
239
792
37
367
154
899
711
920
115
961
20
455
317
881
956
138
661
502
285
71
404
95
539
827
823
856
941
726
217
861
867
605
113
725
244
597
411
15
470
531
716
142
979
222
3
662
882
540
451
183
621
730
361
242
473
519
522
514
206
642
451
326
981
601
65
612
290
10
0
636
349
408
275
715
623
871
940
410
905
89
407
73
526
71
613
816
699
481
13
939
44
58
202
893
592
69
293
271
444
561
489
544
348
247
818
841
404
262
641
284
637
326
39
672
538
617
576
794
444
336
544
197
658
857
946
668
529
161
642
0
865
929
21
949
318
837
780
764
935
232
656
661
185
399
758
334
559
800
886
528
867
380
743
847
220
128
143
366
189
540
120
33
705
382
981
379
773
467
623
8
790
849
582
681
439
748
959
518
489
35
133
666
783
761
31
123
482
190
576
564
186
717
547
513
728
384
192
681
246
711
104
947
959
322
75
918
535
547
485
489
842
636
97
703
18
289
652
429
820
476
954
945
531
129
677
638
97
637
537
431
462
169
47
493
700
990
925
803
643
238
197
711
144
956
508
47
796
50
259
987
361
345
607
417
228
298
858
452
899
656
480
263
412
863
560
63
908
290
338
594
998
958
496
179
604
928
401
631
332
564
702
901
12
482
487
118
288
189
867
992
110
290
242
219
278
173
253
786
222
703
595
776
612
982
59
91
591
802
528
408
938
165
533
442
978
765
785
343
223
107
984
388
227
951
903
182
284
843
694
219
932
135
208
928
994
925
664
68
954
969
346
154
329
657
75
925
330
461
501
822
29
682
142
95
576
346
549
954
356
805
853
575
387
322
864
741
284
102
829
822
664
79
707
604
968
715
609
698
34
330
558
146
886
734
257
489
539
841
703
75
213
330
26
112
714
615
808
982
707
216
116
708
441
568
532
352
418
108
415
281
930
756
779
289
387
11
943
753
585
319
856
727
920
993
592
757
932
252
558
501
803
649
500
228
680
269
323
934
592
575
216
141
916
606
305
72
459
49
691
333
416
69
597
938
24
442
637
52
41
815
643
722
134
53
299
552
336
41
159
68
439
887
349
442
983
474
218
981
385
208
5
828
357
339
147
744
18
565
321
859
938
751
969
410
557
648
657
399
45
736
690
542
607
114
290
604
481
965
953
535
682
956
13
339
367
484
697
383
199
860
728
93
282
166
945
677
805
295
529
834
304
282
294
506
420
83
207
699
552
567
312
766
980
345
769
782
124
700
812
702
740
584
570
892
869
961
59
314
149
420
21
241
551
113
981
160
236
546
131
179
107
8
801
330
657
448
612
261
228
626
662
701
388
752
359
65
421
579
796
862
970
843
946
557
634
922
160
908
904
125
343
68
656
349
402
452
590
833
187
684
688
855
123
413
605
860
480
848
344
882
117
663
786
464
732
179
499
760
636
748
250
952
74
438
293
359
231
975
589
844
944
237
103
465
280
144
265
97
459
306
978
675
57
304
446
726
747
435
827
126
750
926
221
170
250
296
667
172
16
129
988
871
473
922
983
176
884
703
742
865
493
125
357
392
283
784
927
284
909
179
883
683
739
221
784
364
562
982
451
884
454
444
494
879
390
751
995
848
340
751
64
655
396
458
388
610
101
892
985
438
855
742
320
745
583
111
813
466
748
483
586
442
402
700
985
60
202
936
735
281
660
297
126
482
2
392
789
346
163
883
375
46
471
37
943
90
470
635
128
42
648
358
94
682
574
325
559
331
42
618
39
241
630
59
78
294
865
684
143
366
788
594
355
576
622
615
929
290
675
523
210
213
718
36
555
642
262
614
220
695
718
981
716
383
291
787
407
216
960
796
710
702
862
412
297
711
903
765
12
218
497
128
249
534
869
713
933
146
804
308
251
669
111
33
4
489
394
128
807
726
13
271
423
334
872
775
116
70
293
404
949
521
681
290
930
604
251
252
573
67
514
824
50
474
861
10
362
78
915
782
595
458
279
725
309
67
411
598
382
874
3
987
409
986
628
122
782
829
48
943
160
57
303
218
420
529
399
612
661
858
695
614
72
200
711
866
474
925
487
91
387
864
352
833
987
575
353
289
329
7
676
935
696
821
31
524
332
918
938
7
844
981
32
757
707
971
780
261
718
470
178
615
293
221
374
939
926
518
228
732
372
425
139
529
422
656
153
275
285
615
398
266
569
508
883
535
984
844
850
382
831
123
898
638
449
712
574
81
874
430
17
685
505
866
13
362
245
556
793
463
192
135
743
569
533
725
659
857
354
715
2
605
549
878
82
92
96
189
47
209
715
805
406
755
281
691
535
634
11
130
257
364
638
948
797
50
527
664
883
741
630
281
411
792
680
508
524
898
76
970
698
909
210
196
654
116
52
240
334
522
974
730
495
286
945
8
732
197
700
20
869
259
346
779
749
201
200
219
470
709
109
154
401
643
402
830
292
485
38
860
414
794
708
925
765
65
531
402
9
933
497
479
959
442
220
193
117
668
903
324
131
516
684
709
120
811
398
648
743
821
924
436
826
990
824
804
903
73
788
563
683
826
655
478
148
998
579
146
472
894
616
635
630
505
415
901
964
55
404
919
373
758
762
245
744
472
181
35
681
573
306
116
799
777
813
351
68
603
887
386
587
153
417
518
217
748
394
686
77
874
189
964
593
677
816
38
570
925
247
53
365
237
282
773
105
305
394
373
787
321
873
856
63
695
428
823
868
416
411
369
327
777
500
146
396
91
194
444
283
669
656
968
528
667
795
966
805
659
51
124
130
653
390
292
793
662
653
15
785
449
446
956
723
10
725
354
310
833
94
235
411
666
612
42
538
333
354
431
165
219
494
546
775
357
139
450
897
40
142
418
667
847
16
466
628
273
899
227
617
841
639
675
862
299
569
978
96
661
822
366
870
470
964
396
202
119
199
389
291
563
581
498
40
989
617
955
343
370
505
384
504
948
35
802
250
749
787
983
240
270
62
297
721
407
921
167
684
530
623
521
271
270
256
262
220
323
546
440
362
979
771
255
825
820
866
478
941
453
304
632
93
891
835
447
798
456
532
63
287
253
634
889
832
441
989
266
28
913
699
667
905
182
366
550
312
704
307
520
263
865
434
15
687
900
218
392
760
890
126
853
91
721
657
248
443
185
515
293
888
973
122
18
70
826
830
506
182
586
611
431
889
967
572
823
564
222
160
664
421
746
107
566
794
260
665
519
903
655
706
314
548
808
703
254
762
779
181
194
907
999
747
93
412
255
783
105
49
303
657
40
415
298
305
698
331
181
858
203
536
896
288
980
704
997
207
100
133
277
162
717
870
826
741
95
572
765
24
600
621
5
352
7
706
840
911
758
364
100
923
492
147
123
216
963
65
141
193
952
947
481
286
940
486
503
428
390
555
426
973
208
237
66
426
491
720
535
535
931
360
314
925
696
118
214
609
13
62
909
876
374
900
980
48
85
503
900
587
357
27
222
933
675
608
395
512
883
107
616
988
579
442
335
977
696
363
456
939
129
214
949
569
151
881
483
644
42
120
683
434
790
598
370
356
870
820
370
90
415
296
828
264
866
181
473
171
440
396
794
326
457
161
448
793
631
764
437
26
636
755
821
877
299
320
430
554
407
177
202
860
298
937
401
142
535
704
102
66
379
114
413
164
653
173
658
320
434
481
109
534
223
506
528
956
319
793
196
147
891
645
360
997
59
284
184
145
730
621
508
395
661
853
749
79
76
185
204
704
863
368
356
483
866
319
998
992
513
79
212
857
867
320
455
352
424
210
72
186
953
719
796
552
550
937
259
451
759
157
957
262
881
364
498
669
895
264
450
546
829
911
979
561
824
257
318
982
677
4
447
748
560
461
981
230
127
376
297
878
598
518
409
379
321
109
540
144
619
614
263
269
764
987
733
653
779
916
908
689
215
749
273
820
510
399
165
752
813
572
918
865
242
609
704
324
919
590
726
225
996
93
216
454
457
814
770
667
261
628
392
634
250
914
618
4
764
155
263
799
403
585
222
549
244
88
821
58
924
639
81
14
400
970
805
319
990
136
326
985
65
460
54
188
906
155
62
813
840
23
128
300
670
371
752
868
984
674
283
649
559
514
761
481
320
892
294
152
596
275
805
406
188
719
777
260
357
139
494
633
394
398
201
758
20
263
618
897
481
270
139
899
843
684
576
839
487
823
277
822
18
835
25
678
722
727
964
652
907
805
530
413
665
507
763
31
10
987
796
108
649
770
489
96
364
598
402
487
152
215
811
389
667
918
635
995
670
76
582
673
989
808
698
845
22
198
894
818
131
798
805
713
341
463
558
862
455
681
42
225
382
426
762
888
66
30
887
555
211
292
369
777
178
270
351
171
314
331
0
294
300
650
822
828
232
336
632
67
686
600
88
449
538
664
524
251
297
465
186
179
938
433
230
774
709
230
370
962
801
431
922
728
648
222
4
295
784
818
83
367
770
489
152
913
307
504
164
474
678
433
20
256
128
684
448
239
356
873
367
910
793
555
205
406
559
801
446
859
785
554
297
355
51
751
10
89
940
885
482
763
307
40
271
809
29
565
453
624
970
93
847
884
909
569
579
937
775
23
795
424
629
479
546
195
452
260
70
480
612
835
874
945
744
964
699
229
185
114
871
44
332
98
183
929
702
303
42
507
993
725
90
221
922
402
913
596
833
888
588
173
523
80
883
645
552
675
331
935
218
656
964
144
68
873
197
348
83
767
932
516
877
807
766
904
754
756
683
656
699
619
912
876
369
278
718
100
81
887
932
770
150
5
373
781
173
66
0
202
498
31
670
910
49
871
7
288
802
58
242
995
157
113
547
44
799
938
749
717
969
769
260
720
646
821
89
254
35
541
958
387
965
243
265
780
235
997
9
242
399
306
287
330
442
397
818
628
308
135
362
408
126
424
640
184
352
110
432
261
891
950
414
388
73
778
195
251
528
491
199
508
719
154
921
558
189
732
399
569
507
566
678
888
312
658
234
813
988
651
757
70
643
115
97
981
764
563
589
193
209
284
31
521
634
271
665
187
977
412
765
664
427
496
316
515
741
151
767
553
684
642
279
436
733
117
413
637
624
774
856
549
675
670
871
838
113
85
671
889
306
614
740
885
22
271
230
368
75
785
676
404
314
776
733
686
47
525
413
885
221
330
487
224
605
280
182
133
214
667
224
326
721
244
96
636
643
137
0
292
294
464
518
296
691
824
391
355
120
473
736
220
856
406
331
2
665
332
680
851
229
714
688
319
481
7
949
769
487
517
508
144
158
907
6
61
377
712
170
467
537
522
956
317
968
891
701
135
522
418
784
874
644
780
146
490
138
411
615
241
140
317
580
200
381
672
480
671
716
930
713
800
992
426
265
747
764
891
396
386
435
357
116
284
576
237
525
986
56
952
146
126
947
460
625
175
194
331
149
746
157
400
880
553
95
30
765
151
561
323
861
728
521
653
121
878
178
335
366
330
274
727
569
955
231
208
669
566
558
357
136
105
415
57
768
772
544
340
225
105
835
200
143
195
985
206
624
522
747
272
100
390
751
99
2
562
984
71
435
6
405
757
414
976
366
356
643
500
813
69
375
474
346
443
312
522
591
169
336
960
399
55
271
434
504
14
454
256
625
192
379
587
374
823
152
3
920
580
853
845
343
737
545
723
537
690
265
109
904
750
216
683
41
801
292
69
228
600
878
252
594
150
605
901
773
984
148
739
53
132
580
160
352
174
642
605
202
739
520
614
312
822
781
363
352
44
826
621
104
338
884
782
156
845
88
451
112
766
282
437
399
364
438
689
432
481
649
629
758
348
576
449
264
606
223
519
308
610
404
971
108
35
367
377
30
782
499
337
258
883
500
361
345
165
3
846
156
214
861
839
637
22
74
564
582
922
616
283
222
90
393
478
545
784
160
267
807
210
621
41
134
763
253
808
3
588
117
911
693
989
808
718
196
61
20
257
774
477
674
559
73
762
487
885
399
615
597
472
851
330
25
948
25
729
889
457
723
742
533
703
693
18
787
760
133
456
40
426
727
649
699
171
944
111
147
855
650
798
840
827
507
267
43
324
590
273
984
0
715
66
413
614
256
125
4
981
635
837
75
2
152
320
740
929
938
172
326
313
357
844
70
93
371
94
971
342
128
485
834
120
995
237
470
497
66
465
749
236
454
507
870
179
473
405
829
543
688
36
418
657
182
549
547
580
888
709
441
109
555
424
805
467
609
658
545
235
922
240
305
184
377
662
649
955
273
506
302
433
891
221
219
541
592
689
112
973
26
38
793
266
635
284
500
160
898
92
921
961
427
82
971
574
659
461
366
504
922
83
212
49
512
38
160
659
138
64
965
309
778
79
458
48
958
37
243
594
591
194
205
871
683
599
900
618
161
555
889
737
848
374
177
663
280
172
300
528
915
133
103
570
808
639
711
133
583
675
107
807
547
106
388
379
393
872
279
612
905
55
11
287
992
296
381
386
315
111
118
109
502
646
619
692
389
450
341
414
337
885
886
554
233
185
347
573
643
156
628
194
972
966
760
383
928
188
466
50
523
393
756
904
45
2
608
274
784
176
692
784
264
927
398
907
447
767
807
934
932
168
655
61
312
775
986
531
571
774
353
243
468
145
898
58
845
686
502
744
216
5
16
356
434
975
700
617
211
948
273
475
616
831
13
697
21
381
313
626
197
137
542
224
322
431
114
605
345
515
535
444
209
34
391
656
808
36
158
307
400
565
797
789
458
351
663
275
126
520
470
515
424
231
613
529
847
354
794
263
129
969
714
587
367
71
198
645
174
419
666
725
966
542
41
924
451
427
51
648
696
824
754
761
897
624
934
273
35
978
873
551
351
257
831
697
689
118
732
697
348
727
405
625
710
232
210
904
731
502
956
585
400
872
399
228
747
132
837
11
17
613
711
173
584
749
455
699
559
987
293
322
386
653
125
323
776
899
461
153
204
371
551
816
451
331
474
587
989
396
927
589
34
889
66
353
96
546
38
581
559
177
355
465
927
527
97
969
660
140
811
631
917
775
864
38
262
150
119
144
386
490
356
591
85
14
905
118
53
479
615
692
252
803
346
257
678
522
601
876
231
476
522
324
382
22
43
852
583
574
870
96
70
46
29
943
531
94
388
248
507
860
30
769
528
288
412
357
720
477
843
861
683
837
704
565
903
972
679
589
669
486
899
592
734
316
756
178
150
360
59
749
721
488
382
595
112
463
199
996
698
360
806
841
733
446
65
959
207
373
59
751
971
80
180
234
777
68
401
156
318
921
896
868
716
416
583
595
786
180
809
367
891
806
645
709
778
789
728
420
993
731
926
548
374
393
652
881
980
655
21
279
474
759
499
740
176
804
263
428
281
993
525
625
747
350
744
253
840
366
175
589
911
58
412
500
846
250
363
209
930
940
144
317
253
736
413
45
11
355
715
400
116
479
553
289
215
625
919
551
108
125
493
478
216
653
431
591
162
526
752
211
241
553
576
798
316
506
514
988
71
1
352
157
437
339
338
980
31
619
503
15
311
916
437
146
766
68
321
939
909
797
164
951
426
391
197
227
925
582
155
926
241
790
483
385
413
985
914
152
541
723
792
364
115
826
973
698
591
390
792
698
646
658
925
219
12
938
722
846
885
835
105
974
612
645
691
367
648
597
568
208
36
969
748
468
742
852
878
403
956
534
278
783
806
774
306
641
415
845
259
843
306
408
454
164
943
70
498
744
956
330
894
796
653
268
562
915
529
319
933
681
329
857
582
943
175
288
81
567
107
11
130
222
452
81
847
853
600
244
107
97
310
819
926
417
195
622
647
841
122
848
744
654
481
923
360
178
0
958
506
183
9
907
297
585
75
179
894
766
41
567
500
158
201
863
180
356
204
575
694
802
807
241
541
182
56
143
29
982
802
754
59
571
833
843
383
860
627
697
583
740
5
151
539
120
184
533
551
472
655
702
140
512
996
649
246
314
641
931
714
200
645
975
899
769
299
650
429
542
685
287
536
302
807
302
680
343
580
131
708
94
531
558
691
360
167
567
361
318
971
112
108
585
722
157
770
364
148
397
235
897
976
637
178
752
410
71
293
463
888
845
633
858
404
230
851
878
714
709
581
139
874
815
237
197
118
344
870
457
306
816
252
591
889
103
261
176
900
158
221
257
509
732
661
508
609
549
56
115
584
2
140
122
125
596
141
997
645
315
923
1
69
332
34
429
294
312
289
688
499
390
830
602
466
259
361
661
862
811
1
136
240
38
156
372
228
797
648
113
96
407
876
420
150
67
728
271
338
895
988
201
442
955
612
548
288
506
5
63
401
207
408
193
691
421
618
219
791
130
829
206
303
902
219
665
811
941
835
264
624
124
715
672
167
659
589
254
742
954
368
374
839
774
244
504
899
946
80
553
291
146
499
786
515
478
20
337
3
751
816
200
83
615
401
123
733
875
16
675
413
655
697
252
963
915
274
383
17
797
814
547
561
602
652
779
322
936
961
809
485
820
192
380
791
959
637
416
189
100
996
113
190
432
815
805
782
356
446
634
776
162
854
324
568
325
706
391
430
849
526
187
103
582
71
319
85
847
795
143
367
658
183
215
599
739
517
509
780
550
23
795
544
587
805
667
633
368
925
417
319
416
342
796
295
520
721
944
863
535
323
713
318
674
864
445
479
582
236
418
989
937
238
852
917
52
820
943
155
638
340
842
168
276
649
203
660
361
503
910
935
796
366
336
68
794
913
500
913
391
59
307
771
266
150
739
145
960
814
844
522
174
201
71
572
610
731
509
546
964
203
241
313
264
66
100
170
789
33
533
991
979
908
557
508
33
503
879
139
327
84
937
721
21
368
795
987
305
811
392
197
41
56
594
112
93
31
703
437
764
204
665
731
337
882
923
871
445
352
224
53
489
609
125
841
39
570
279
616
220
423
831
878
983
979
806
318
642
615
225
65
608
604
984
650
871
29
339
436
583
741
687
86
904
113
261
105
0
749
803
605
441
514
640
859
681
6
418
370
190
752
492
29
519
605
998
760
820
24
614
628
389
718
337
24
249
458
731
20
812
12
24
692
135
982
714
625
720
30
457
258
944
869
178
717
443
263
511
97
767
832
519
244
850
193
262
821
945
283
898
760
365
117
791
223
44
721
8
669
22
335
441
53
996
818
460
668
591
598
952
350
579
868
136
265
976
591
575
532
903
732
517
654
699
990
677
287
744
255
302
260
981
608
808
107
682
673
720
131
371
205
780
889
895
411
128
687
758
234
591
41
546
643
140
518
603
257
290
778
149
120
570
265
247
293
921
807
509
101
129
78
999
829
915
635
836
661
773
424
868
661
885
564
994
149
745
199
641
89
48
602
126
707
49
572
290
253
68
301
711
204
42
987
828
616
787
792
783
774
59
183
835
679
53
82
270
900
624
601
51
302
368
675
796
313
599
699
550
429
96
796
231
342
448
716
607
647
858
520
626
89
139
159
690
325
989
844
855
815
655
141
68
563
984
256
827
104
164
81
273
26
385
343
216
819
953
926
289
791
45
382
973
61
3
872
849
969
366
312
897
60
453
956
618
678
338
476
184
666
743
71
816
168
867
51
131
38
786
858
727
926
604
421
315
703
887
390
289
657
659
27
485
598
653
36
381
561
846
695
207
494
436
984
227
676
492
193
758
349
930
960
607
460
760
698
269
879
434
413
383
730
514
280
177
763
684
817
376
290
480
224
340
598
200
219
580
37
984
703
963
229
59
369
836
965
569
737
335
35
54
927
250
48
230
749
299
100
759
905
118
359
614
651
450
127
697
624
446
330
401
223
312
972
640
371
216
360
777
605
381
663
648
556
630
389
532
64
637
385
121
272
244
58
435
552
893
162
383
723
84
879
368
438
369
186
878
653
702
694
796
446
547
513
899
130
995
573
989
936
634
41
345
308
39
114
339
980
188
310
19
263
832
7
32
534
890
484
342
665
350
900
355
463
651
196
421
480
926
296
277
608
833
104
822
406
339
564
944
774
589
480
205
293
605
160
172
549
617
934
342
579
218
169
202
256
802
421
302
16
340
799
421
932
411
295
75
651
126
102
198
722
270
293
972
954
143
788
378
267
196
835
727
928
158
679
39
912
960
102
304
85
903
860
184
847
511
361
498
594
841
631
316
240
122
65
947
538
775
760
731
672
159
806
169
827
731
847
288
639
644
234
531
897
455
721
692
559
30
4
32
293
428
299
448
217
151
572
266
20
928
192
958
11
107
536
292
811
453
243
123
931
787
788
705
68
599
609
754
245
71
780
421
297
17
31
309
976
362
199
129
101
291
881
273
92
921
355
723
429
229
564
703
519
782
349
633
885
212
329
465
573
954
971
807
143
32
187
262
551
357
198
430
879
135
869
771
234
577
999
134
45
422
572
46
877
162
42
984
214
968
257
707
752
160
49
39
811
469
795
429
826
849
530
946
454
962
79
199
181
500
460
374
662
44
124
38
262
732
507
655
201
193
806
687
896
84
379
373
980
971
981
958
499
764
353
123
65
16
289
669
82
486
954
160
331
335
501
121
29
411
830
603
82
518
222
783
566
286
537
164
249
397
788
692
848
584
963
70
187
307
419
109
491
769
293
474
235
53
454
916
727
85
950
810
240
911
653
835
216
184
127
290
549
766
458
638
240
4
858
518
222
174
501
371
923
130
12
868
25
801
564
812
219
781
601
254
377
363
110
600
12
210
587
866
766
667
516
778
782
379
856
989
65
485
801
411
239
486
421
202
211
937
327
145
428
913
261
787
573
354
771
309
741
21
497
195
172
36
98
180
588
273
133
29
751
22
9
272
506
204
376
61
899
969
603
647
103
673
173
201
332
201
592
944
449
676
62
403
597
393
204
386
130
93
72
329
623
69
371
868
530
355
856
378
915
126
931
258
931
520
585
587
383
658
464
422
992
63
499
38
465
537
585
44
943
972
468
550
114
528
76
570
711
41
380
274
40
691
327
106
841
823
81
145
732
132
512
583
193
268
489
418
633
31
335
188
40
231
928
861
265
400
759
411
469
921
129
160
336
608
837
859
77
365
793
669
359
302
461
301
150
283
663
859
673
374
731
731
25
639
364
829
616
390
283
273
183
223
640
189
21
410
665
907
14
30
766
281
635
661
285
250
754
191
528
79
186
681
216
939
80
867
253
786
681
773
867
529
685
590
519
6
267
561
386
762
653
647
465
88
651
387
964
669
243
618
743
230
416
648
331
69
950
179
133
149
231
705
172
157
883
311
525
818
478
130
357
829
981
58
685
426
676
461
41
392
793
892
191
680
616
336
224
400
333
768
296
920
400
763
231
831
668
479
560
3
546
189
740
875
510
558
483
325
413
937
319
747
881
972
342
499
77
243
26
212
384
333
890
292
228
552
950
48
348
986
238
436
784
397
331
620
472
953
772
684
207
491
649
325
152
349
236
341
934
916
595
271
714
629
715
72
860
986
130
349
540
946
9
384
978
214
914
844
503
625
53
459
497
585
467
617
119
164
939
222
412
913
669
663
871
670
841
153
906
459
115
410
489
477
112
586
16
888
96
420
74
375
651
39
773
225
69
102
242
76
595
455
515
52
6
368
8
805
973
62
274
479
811
622
523
962
291
814
510
853
941
833
42
353
624
630
191
229
888
798
71
757
529
682
960
607
989
594
94
757
82
180
924
60
528
942
498
518
727
838
613
221
505
408
263
80
740
313
335
434
192
302
746
859
926
345
809
390
915
205
42
164
754
143
161
630
349
58
47
32
594
268
421
222
592
879
564
202
330
739
656
446
279
425
221
622
909
585
939
733
515
549
248
384
712
471
126
54
507
641
407
852
879
123
50
448
246
447
27
21
476
388
466
776
734
939
725
743
118
729
574
675
653
942
348
511
903
521
67
330
927
334
383
231
980
69
930
712
928
264
392
231
863
561
102
989
999
576
902
228
267
452
323
602
843
425
126
181
167
53
287
364
738
986
180
684
267
799
580
309
394
575
617
197
821
124
234
452
480
803
308
752
554
292
19
165
404
732
76
520
86
764
858
139
716
136
833
181
988
972
426
52
766
151
623
761
766
303
677
837
876
777
88
988
32
978
767
961
592
201
610
482
290
206
425
546
490
949
236
919
82
417
801
706
644
889
847
998
514
868
802
260
837
783
898
59
144
183
499
109
897
321
398
681
508
903
574
813
916
702
826
925
660
41
201
768
195
149
786
521
997
623
351
521
553
63
387
336
754
425
395
779
959
698
2
812
516
189
649
681
895
717
153
165
905
673
897
943
796
921
846
91
870
483
640
485
79
137
802
51
265
594
754
458
381
506
532
275
236
544
385
729
773
856
644
992
855
256
741
178
152
207
585
503
198
622
119
692
775
575
513
368
753
996
384
744
343
310
194
774
499
335
535
536
955
972
130
708
354
495
287
746
210
799
380
232
814
948
368
786
770
56
24
611
735
548
411
732
575
423
748
734
367
356
900
351
157
503
934
634
809
880
378
393
963
119
985
37
768
815
279
154
202
395
588
829
998
738
323
235
748
790
627
495
841
872
101
587
140
705
894
538
506
608
358
984
14
125
466
2
969
739
16
939
593
329
170
63
446
690
652
70
614
715
234
658
629
249
500
526
693
380
35
194
224
580
70
15
166
885
12
276
431
124
469
508
524
421
528
476
878
451
725
102
163
948
527
900
985
870
612
739
103
197
355
103
990
863
483
375
856
350
429
197
731
449
438
586
20
662
36
161
129
382
714
650
23
286
48
7
343
766
968
601
731
983
856
132
674
548
714
96
311
600
723
739
814
320
438
526
537
860
956
359
368
30
507
709
320
959
372
423
130
617
390
385
883
368
160
417
703
496
739
578
96
618
197
94
979
616
482
399
506
547
2
985
958
403
543
317
677
459
556
859
741
471
883
946
598
529
10
899
780
238
614
83
816
307
996
295
271
592
625
458
730
90
456
81
209
728
829
970
841
495
689
830
769
465
633
849
832
886
232
409
126
834
915
742
373
527
239
110
104
194
451
674
954
950
686
460
188
82
561
357
215
993
116
407
719
762
908
244
878
684
682
528
943
887
779
109
992
214
692
371
250
831
906
705
525
934
131
233
723
766
288
422
200
627
965
109
771
805
551
185
517
290
656
45
613
187
126
8
156
389
579
322
783
43
560
253
817
312
381
575
535
270
648
12
356
814
378
689
184
154
322
424
718
872
423
183
311
979
438
9
911
783
311
32
713
792
983
356
813
247
296
725
529
442
702
368
265
352
36
303
503
74
565
491
788
976
332
601
761
82
569
821
512
380
221
930
805
863
832
449
490
856
925
893
249
987
797
202
829
284
873
504
677
606
550
695
627
191
369
509
924
249
465
706
689
482
844
494
201
18
283
518
258
702
472
299
99
820
437
640
877
923
151
876
793
208
481
348
964
172
965
165
730
909
972
177
178
605
582
932
901
533
930
471
693
887
244
953
592
635
231
234
406
261
983
977
821
682
322
94
809
211
927
83
151
580
236
705
248
292
599
251
699
915
358
742
624
311
367
183
461
583
194
375
336
172
683
771
246
887
966
786
658
256
911
316
935
453
9
410
998
542
364
219
839
237
814
645
419
421
406
733
569
24
469
181
724
253
87
266
924
949
980
974
944
172
430
505
339
336
179
176
150
656
309
711
37
798
593
65
588
560
442
968
84
625
129
400
859
938
713
572
971
363
956
570
167
224
410
265
110
357
17
429
926
359
957
139
723
186
16
561
966
225
681
304
626
322
944
109
82
870
941
498
169
134
422
343
306
757
498
973
534
643
501
474
13
129
173
208
524
266
479
366
450
237
993
992
808
121
639
850
818
710
670
587
17
649
1
385
322
314
490
743
761
928
527
108
838
683
727
240
33
323
879
286
181
146
647
402
294
506
123
364
462
678
510
314
273
164
734
540
392
21
100
205
337
511
33
65
746
840
547
402
924
226
501
595
853
93
900
885
683
892
205
728
239
357
846
395
586
79
652
545
143
319
766
391
741
98
824
31
570
355
479
348
6
5
124
992
30
955
818
9
618
297
167
533
668
206
553
569
1
729
785
609
941
316
291
193
43
654
360
310
321
702
320
665
819
14
662
806
840
711
652
578
656
369
233
195
951
839
609
969
534
754
887
768
529
846
195
451
693
505
703
118
106
107
813
478
277
828
643
396
218
939
601
862
537
636
7
502
520
73
177
189
523
827
119
946
689
391
357
543
285
372
78
834
365
847
708
168
999
697
334
347
85
668
367
472
172
740
854
195
735
893
736
452
943
145
398
600
288
277
757
306
417
979
713
85
930
647
339
901
962
139
343
807
222
760
158
65
279
556
961
180
584
876
172
169
854
381
132
210
411
206
376
356
561
556
799
890
939
391
973
359
196
140
378
746
244
920
424
94
818
74
18
725
750
931
911
307
776
153
777
78
528
413
891
12
217
163
990
151
798
6
291
837
729
23
517
289
291
712
506
985
876
213
373
976
561
443
593
725
132
689
243
428
693
193
999
952
578
58
725
459
31
900
490
88
221
729
612
122
665
253
812
379
418
174
457
60
123
97
627
258
501
679
838
979
738
431
699
472
144
84
969
678
793
452
404
50
124
874
331
467
618
669
542
874
164
83
579
755
39
344
834
950
0
379
982
620
904
426
374
486
218
504
0
198
857
70
132
449
228
93
971
422
233
399
96
278
524
958
652
997
605
561
809
842
309
962
4
495
417
515
270
536
18
495
761
353
537
112
489
252
612
548
514
596
274
189
806
683
602
387
716
501
17
361
429
165
467
770
835
835
726
928
715
611
0
415
754
65
414
89
851
602
773
292
294
397
271
134
198
825
696
926
316
457
239
305
320
610
576
861
455
932
611
226
537
725
968
502
828
141
759
546
486
227
772
61
545
280
257
615
745
312
947
755
625
216
890
268
759
465
282
339
983
160
616
855
546
55
198
841
744
572
325
427
132
299
256
773
344
573
193
484
987
72
965
973
38
761
75
911
101
258
548
455
670
757
481
425
223
707
608
736
276
419
394
162
898
143
360
746
148
608
775
241
673
796
653
665
118
985
404
947
40
629
153
913
702
677
519
846
880
960
121
368
248
450
84
791
611
62
264
358
908
373
587
989
857
371
528
450
424
207
465
692
818
397
164
520
732
159
448
372
921
741
990
135
219
763
58
582
231
181
759
982
698
512
38
680
93
676
529
790
543
349
871
601
184
246
810
839
154
101
190
443
494
565
861
745
983
925
739
11
12
815
497
212
194
686
545
580
809
745
871
196
813
164
158
472
511
545
285
15
134
170
822
750
633
644
190
926
933
648
89
765
531
619
862
867
110
854
816
792
851
92
325
369
599
513
151
669
547
418
631
246
107
823
990
354
398
63
540
541
847
559
221
965
219
80
630
21
320
818
884
495
588
291
497
715
756
69
52
62
849
628
80
545
181
562
223
168
816
232
323
648
925
615
600
935
341
261
611
14
309
57
891
978
427
739
520
356
968
742
446
495
923
37
309
510
331
936
622
458
524
347
609
30
476
627
219
417
966
559
5
105
233
582
729
520
435
878
11
452
571
14
516
309
706
169
514
990
421
445
350
824
371
399
478
540
786
520
782
590
533
230
75
851
571
896
159
723
91
398
492
129
955
602
612
27
748
160
163
589
521
357
673
71
305
171
203
601
223
286
460
572
728
820
808
618
55
572
218
582
871
762
482
222
331
703
216
23
710
116
738
376
503
572
234
112
796
773
780
502
879
988
247
922
171
28
656
306
526
377
697
657
74
497
520
854
620
879
687
107
620
451
185
75
381
645
845
174
674
898
832
71
738
835
932
102
287
151
479
308
151
690
901
260
766
353
698
888
945
697
616
550
586
465
207
773
682
172
580
810
512
102
55
57
153
748
443
249
686
866
309
464
259
141
215
533
500
781
911
217
902
730
488
960
265
763
703
955
156
649
706
769
149
316
610
877
415
639
665
804
108
107
395
262
791
182
430
54
640
610
251
940
741
154
299
733
310
454
31
770
953
129
896
790
231
504
262
676
64
414
838
675
500
602
949
232
811
547
682
878
99
200
61
910
936
181
115
566
905
67
533
872
88
12
600
838
16
17
53
979
577
406
656
914
53
421
133
478
584
443
154
239
906
58
504
606
772
532
89
322
148
392
109
320
173
39
899
823
552
867
110
471
976
766
402
628
20
345
73
499
730
468
738
705
286
573
26
117
976
223
282
286
326
293
910
638
417
964
840
508
388
539
980
930
492
49
889
94
573
275
489
964
801
881
691
978
378
530
397
698
226
519
525
649
44
992
805
626
499
992
759
675
701
550
648
217
657
502
544
934
155
876
84
287
459
130
997
623
830
434
375
608
167
904
131
865
631
720
553
627
106
396
425
218
394
559
46
313
926
229
788
927
609
570
764
230
315
695
535
288
632
953
471
603
105
400
545
829
802
938
161
950
117
373
287
812
821
48
767
965
283
894
94
516
602
757
960
975
536
396
59
297
201
978
384
891
281
514
514
253
365
411
744
458
230
611
657
645
576
862
323
133
203
984
652
384
26
858
509
720
738
221
963
297
79
843
907
255
84
246
146
970
514
623
697
760
598
666
45
245
30
796
786
551
331
26
561
355
12
438
451
281
763
108
245
544
685
169
291
181
11
130
269
828
206
78
167
488
82
897
697
435
65
287
457
383
164
978
473
120
614
977
507
110
920
269
250
236
790
784
242
589
213
238
644
55
510
602
283
203
600
770
24
914
562
335
272
188
340
309
364
748
173
140
924
432
333
783
894
566
745
602
45
709
531
471
468
403
910
172
386
68
921
306
716
493
134
107
79
201
675
828
996
220
663
483
947
289
426
853
672
953
573
737
846
539
714
821
812
789
407
869
941
12
435
127
428
689
52
936
229
652
303
660
180
958
622
431
162
773
212
128
771
973
582
611
326
997
657
906
290
393
213
749
770
533
100
390
626
269
253
292
346
310
561
618
906
509
532
683
135
434
993
193
530
685
560
159
627
348
678
298
28
169
812
696
245
224
498
780
63
370
951
191
192
6
702
565
526
203
366
424
768
681
577
776
530
377
540
359
111
739
934
78
392
5
972
817
185
925
417
666
586
919
641
975
87
738
4
617
477
45
416
455
884
89
21
774
312
400
993
781
522
669
8
6
449
65
574
470
672
634
257
187
59
199
134
760
882
710
555
633
106
680
457
41
783
179
180
785
810
6
425
604
84
511
634
332
710
992
983
735
984
406
21
921
996
782
967
249
740
50
20
466
280
294
341
107
800
455
352
914
75
224
538
60
445
292
257
951
52
830
714
261
708
784
199
880
201
295
423
922
730
722
763
526
907
915
251
363
474
61
567
770
946
58
204
163
382
813
700
634
735
500
605
868
46
57
51
232
913
660
603
932
626
861
885
979
668
780
659
480
485
51
829
25
694
482
28
956
265
756
575
87
272
959
218
29
685
870
635
971
829
606
194
477
173
3
456
495
307
43
871
899
244
384
375
748
509
959
535
139
41
930
0
632
751
564
910
31
9
43
462
216
564
702
66
93
478
633
790
603
637
17
958
14
282
116
163
789
529
434
944
462
315
600
270
69
700
383
913
32
912
24
566
991
297
984
409
289
174
454
887
22
562
905
645
293
706
719
263
882
26
582
232
238
74
356
64
154
166
535
462
378
537
769
89
768
446
588
297
895
40
142
39
465
22
445
552
796
479
628
349
200
949
843
539
691
784
573
340
461
824
286
103
823
702
291
657
552
125
711
112
315
403
486
930
618
475
366
53
281
40
775
52
226
160
314
120
354
133
286
188
446
107
864
133
648
806
740
337
425
786
157
729
615
951
201
814
894
465
341
644
67
589
85
174
549
109
953
546
321
13
936
111
422
252
843
606
774
823
361
214
423
73
171
819
935
238
246
496
634
209
158
918
470
479
946
680
420
996
249
189
637
165
817
238
945
827
68
413
873
724
82
98
32
432
187
926
60
920
682
84
671
555
276
410
737
211
31
372
30
662
191
35
647
964
315
635
117
945
861
864
31
158
451
969
612
943
604
655
952
499
123
451
520
669
126
806
769
396
325
591
880
614
110
101
669
19
308
448
755
936
326
217
652
861
976
411
490
791
932
838
183
63
273
168
458
342
377
688
530
712
549
320
159
110
781
45
152
612
809
124
214
224
318
151
361
133
334
65
906
556
203
834
222
133
867
778
460
991
82
998
810
416
31
818
889
487
434
234
547
855
44
70
178
422
197
301
91
372
974
173
596
855
52
40
540
94
783
820
818
952
217
236
30
873
192
263
23
202
849
516
487
33
79
770
141
421
688
924
439
587
263
802
424
14
993
907
867
774
681
184
282
524
313
465
223
797
587
651
317
230
494
303
579
700
567
925
368
23
974
873
13
637
228
340
940
655
674
492
912
851
539
968
716
132
965
304
490
213
938
987
477
49
307
602
504
165
691
379
948
45
520
4
877
84
319
907
435
299
725
852
696
768
724
612
744
977
478
70
372
439
67
903
16
495
933
977
361
195
816
483
549
967
50
145
23
767
324
447
72
607
411
293
566
712
369
645
144
621
363
740
173
502
520
921
83
936
31
425
575
466
412
661
823
140
653
414
463
441
428
943
394
422
719
323
707
415
65
365
636
844
676
715
360
816
998
873
642
318
621
357
433
244
465
385
728
345
75
704
3
66
679
942
745
600
843
771
465
394
211
165
821
226
23
979
538
359
619
214
122
950
783
43
35
350
983
781
365
866
245
338
936
495
989
395
35
394
325
875
142
942
898
152
12
183
827
945
899
5
132
732
951
639
50
85
689
199
442
589
622
116
397
978
425
916
176
610
280
306
850
725
194
850
464
16
947
930
854
653
297
18
350
639
223
181
954
687
431
340
619
349
712
706
485
936
940
254
901
997
46
42
987
783
768
680
538
994
541
659
204
171
188
73
549
496
439
174
821
727
537
39
590
96
520
823
47
848
625
392
933
988
515
15
377
954
778
511
224
135
591
364
331
291
908
793
279
147
259
645
81
599
834
995
303
835
577
755
363
579
756
623
265
127
137
256
645
968
756
56
618
762
926
10
256
827
967
723
163
127
505
925
903
515
31
109
572
39
865
114
245
66
718
159
696
213
127
515
517
914
784
288
625
966
770
698
824
683
354
152
520
662
104
857
301
788
63
348
640
213
186
406
939
454
388
762
52
696
160
602
74
15
750
703
262
74
178
514
184
700
346
894
707
968
374
291
341
856
300
386
343
895
848
909
11
78
894
733
91
711
344
766
797
924
846
112
1
305
415
456
666
573
638
71
592
319
778
195
702
340
596
308
280
539
646
403
689
919
619
186
8
552
70
939
738
495
698
247
720
974
851
418
266
834
492
569
747
596
610
798
661
269
558
944
962
475
913
567
790
641
651
232
185
905
530
507
812
874
637
138
924
613
114
440
668
965
242
412
437
434
512
297
892
172
48
238
537
326
89
86
941
845
300
879
713
794
635
758
519
146
548
281
892
735
387
572
577
562
571
184
983
951
562
263
513
284
397
728
81
773
666
561
180
465
355
378
371
79
735
338
806
184
493
827
312
326
521
867
709
300
688
784
854
477
703
236
705
677
965
49
359
38
726
794
454
376
143
773
663
807
811
607
974
752
730
703
457
799
155
350
347
415
985
540
520
524
302
70
22
375
3
801
55
413
162
950
176
503
477
726
464
617
716
59
628
116
725
466
328
393
807
130
847
454
352
110
398
97
627
41
975
599
211
610
570
318
314
433
163
345
383
344
287
964
421
966
592
745
613
447
827
350
83
914
814
140
732
827
623
491
332
54
893
471
31
564
56
552
101
157
530
554
267
314
618
147
512
491
809
926
807
225
353
520
572
771
683
282
938
257
276
814
788
648
695
505
814
171
280
877
988
49
462
4
923
969
858
23
450
576
68
726
161
755
771
228
62
49
684
35
73
873
874
436
313
640
451
287
448
305
439
64
611
585
888
991
924
646
331
599
44
517
255
414
162
907
260
351
707
491
859
899
380
726
140
767
255
834
309
111
672
284
241
837
179
893
353
445
324
998
990
268
202
716
997
533
255
414
558
907
292
501
60
885
596
64
19
755
377
819
530
387
973
562
773
19
41
963
803
232
78
625
440
209
134
691
574
802
243
14
322
115
174
379
600
417
427
431
741
823
929
350
739
921
594
281
826
455
536
109
347
58
941
321
689
991
656
147
325
909
681
183
371
775
34
831
634
176
652
420
620
130
321
808
352
258
145
902
811
77
383
867
675
984
621
792
338
852
574
515
47
490
665
940
263
395
842
709
425
154
629
112
722
447
982
681
883
55
968
400
329
448
22
83
220
414
598
478
212
307
19
460
523
666
716
948
749
817
862
7
381
7
449
571
439
235
245
298
507
939
778
649
167
15
541
48
925
955
957
958
848
176
143
158
650
88
177
779
712
924
264
135
932
428
735
863
441
521
329
574
958
486
926
472
563
646
483
520
176
346
790
251
548
274
835
590
63
955
585
131
398
925
820
696
714
793
391
25
886
242
343
891
334
183
185
910
713
727
41
758
593
143
496
881
522
707
727
105
166
659
423
907
457
718
331
621
897
560
945
813
768
839
147
765
422
666
295
510
366
404
829
646
98
863
71
841
274
351
299
490
763
632
60
756
929
618
295
222
405
454
704
380
907
961
596
882
481
681
108
295
5
989
184
365
698
819
106
353
522
416
82
558
283
586
31
207
748
365
786
27
782
314
147
635
288
157
39
283
594
836
136
733
792
652
357
448
219
523
751
8
830
779
910
795
717
753
742
325
273
641
778
59
960
621
870
515
572
817
644
625
479
434
259
131
623
867
418
410
477
583
807
996
167
16
745
358
442
480
818
793
582
205
208
65
379
666
947
152
410
763
619
192
299
307
287
230
397
204
126
273
8
366
572
831
967
171
43
709
883
923
972
203
395
646
658
313
601
286
972
229
843
8
873
682
544
517
474
483
528
307
435
879
723
86
632
647
902
762
762
229
766
746
744
652
748
702
964
440
557
920
165
5
599
365
513
363
258
544
516
511
73
575
585
57
146
543
991
899
168
247
299
232
264
575
929
692
289
548
845
980
339
598
911
347
924
732
480
133
336
95
529
842
278
975
590
970
216
992
821
610
176
602
290
3
150
999
478
812
387
171
760
79
488
409
881
900
867
258
800
238
261
494
394
44
906
941
846
218
33
937
843
207
17
652
206
738
760
205
575
839
176
229
459
426
398
659
407
523
425
99
17
50
806
41
157
211
647
856
222
555
730
585
886
645
366
362
367
544
542
138
449
470
246
471
331
374
788
946
500
360
591
67
766
601
216
735
512
214
569
138
26
577
543
91
995
461
252
510
401
409
916
788
169
874
804
139
648
401
603
636
956
664
868
666
737
25
283
709
367
775
800
819
118
226
504
391
391
640
72
257
565
867
662
122
49
188
598
210
830
342
903
255
392
14
485
191
558
112
173
565
783
697
951
924
916
72
762
206
990
737
170
443
365
445
788
436
326
641
597
463
407
935
929
18
649
654
571
772
21
427
760
705
887
285
835
281
869
232
128
775
980
151
665
620
98
474
899
997
947
231
189
61
813
134
922
222
462
39
556
190
363
192
281
363
617
325
272
273
526
391
20
459
283
108
325
320
245
992
845
554
142
18
826
54
191
792
29
432
573
254
91
758
157
797
15
767
2
334
852
995
237
854
914
177
821
956
796
701
371
158
530
143
983
339
224
494
9
679
559
179
185
151
127
505
338
646
187
961
650
328
10
37
427
375
493
967
22
144
984
915
156
177
415
466
831
845
736
614
258
353
710
436
797
760
974
159
537
766
317
590
668
60
389
17
314
34
265
452
239
799
439
22
756
706
594
50
773
854
294
39
598
610
71
740
551
250
903
716
171
200
118
858
437
542
431
688
459
717
363
703
139
694
839
576
330
376
327
664
71
866
94
829
686
207
835
113
113
860
673
739
145
851
32
241
860
557
635
722
176
127
674
505
978
265
65
900
758
925
79
472
209
495
152
884
657
298
73
423
149
809
167
944
849
890
706
672
714
22
721
108
383
629
893
838
968
590
309
103
185
450
235
680
262
878
782
973
276
112
641
822
38
945
591
573
772
315
88
981
249
907
855
867
133
490
240
506
373
775
250
995
982
705
460
940
309
98
125
286
290
781
959
133
223
756
360
830
978
792
582
130
774
635
492
284
962
696
670
540
218
290
698
725
229
161
949
613
715
71
978
574
212
100
296
255
680
157
363
218
2
132
916
665
904
372
109
953
678
816
747
843
360
781
673
492
851
319
973
174
871
512
764
483
786
54
628
600
995
27
6
349
311
105
556
521
500
874
669
535
648
623
251
171
826
705
714
718
525
662
336
196
834
164
32
811
30
346
644
701
698
494
251
239
479
682
862
57
502
141
705
532
937
587
101
689
489
587
210
794
249
885
646
839
2
564
167
577
96
19
424
269
271
233
149
723
654
363
677
979
324
682
519
570
173
650
932
760
11
261
958
20
477
82
292
296
370
114
805
365
375
91
38
502
399
3
890
583
203
819
116
751
785
35
740
730
135
552
228
429
864
687
657
126
954
484
272
71
783
712
463
19
67
514
278
908
497
586
650
277
963
479
756
19
337
828
210
954
293
479
627
986
791
209
306
997
267
468
297
704
849
696
952
232
266
973
23
494
146
603
137
597
365
338
796
910
983
534
983
364
88
215
637
430
117
222
156
357
688
664
517
600
553
112
801
597
961
568
564
500
344
514
615
583
204
349
534
353
692
51
35
883
864
217
118
917
522
111
309
706
512
474
476
812
580
691
435
999
677
962
370
246
254
215
338
541
386
97
619
712
48
818
817
825
965
516
935
233
708
81
290
540
372
268
776
392
3
780
502
526
797
281
235
681
977
482
167
741
296
701
718
905
721
183
2
697
327
617
64
720
197
61
434
105
436
291
431
155
947
976
311
486
805
238
310
949
697
222
5
405
429
315
996
320
676
287
412
857
562
92
872
225
72
468
718
446
997
966
763
647
267
319
347
913
58
801
989
584
771
996
484
584
885
122
47
783
421
642
352
831
735
623
837
18
185
639
450
724
783
603
923
902
752
127
924
402
477
275
880
206
46
176
904
766
851
380
985
177
273
380
73
94
247
229
800
116
646
104
673
156
274
861
782
572
794
790
96
257
775
341
27
952
871
269
571
106
790
733
138
798
871
275
938
104
868
455
154
491
130
593
298
575
788
258
44
507
176
244
357
37
904
956
134
414
295
882
175
58
764
890
796
457
756
889
25
738
451
782
534
286
697
998
731
635
379
546
712
264
988
146
463
380
422
585
156
216
267
746
536
541
442
688
293
610
749
227
653
77
982
636
18
786
430
845
610
880
716
451
765
870
91
457
938
900
130
713
846
737
215
230
925
511
618
287
366
749
228
922
139
823
869
308
501
718
803
91
230
458
719
183
962
837
60
263
883
528
795
53
102
809
617
973
606
244
720
90
224
371
953
349
508
994
894
363
113
842
502
152
295
479
628
852
796
691
75
858
22
853
502
93
109
629
11
293
162
413
356
363
749
268
985
629
788
390
711
2
9
40
951
468
350
272
809
773
961
909
634
21
709
846
257
144
941
124
161
885
640
128
187
513
978
276
3
586
445
929
805
985
19
542
611
176
854
554
808
636
247
136
529
987
770
647
230
366
140
915
555
831
387
23
67
496
966
842
276
228
281
737
366
969
857
298
779
272
304
163
548
485
896
719
351
531
993
808
235
308
938
56
704
439
919
760
228
82
548
503
967
31
229
798
57
433
518
909
615
158
213
342
443
118
317
70
684
127
796
742
945
419
75
272
999
646
70
256
768
14
114
486
573
695
641
366
244
585
404
887
209
943
698
507
782
694
92
17
459
482
588
873
944
674
93
221
770
49
672
910
603
911
466
317
602
199
472
6
398
583
44
177
408
17
851
344
882
880
360
505
965
117
811
289
665
588
872
330
494
231
362
780
813
816
490
395
14
160
598
160
39
298
964
715
598
777
587
318
717
569
351
998
922
994
373
303
279
523
278
206
433
406
326
621
516
530
245
829
297
156
337
350
944
690
747
207
926
482
91
400
900
367
124
216
143
535
384
784
764
365
39
508
860
228
62
57
659
192
176
26
556
11
75
679
670
80
233
94
699
841
904
710
484
982
490
951
547
355
614
38
916
788
677
359
240
23
966
543
300
773
977
447
227
567
50
725
968
945
441
549
942
639
274
844
513
919
798
599
518
564
449
315
42
156
648
110
840
964
491
994
566
502
122
519
639
999
85
743
111
971
517
349
230
956
148
739
456
270
993
620
72
732
335
997
609
49
196
920
885
943
280
44
879
41
722
603
829
736
486
225
963
135
586
433
893
665
474
968
116
3
823
738
777
724
843
655
860
130
247
972
641
384
93
301
306
573
297
338
413
636
98
960
103
445
342
850
807
559
457
902
224
506
329
460
167
366
527
301
218
120
425
795
662
349
394
343
907
233
743
118
249
538
729
8
617
369
578
949
809
721
254
412
830
459
754
180
811
190
223
985
369
108
37
182
173
557
450
894
911
230
20
849
263
947
296
100
596
752
795
324
128
880
808
281
495
539
83
925
240
349
738
441
957
545
124
685
647
703
526
359
3
734
420
999
566
460
438
558
635
545
509
224
224
380
129
392
733
99
714
40
131
9
952
639
581
698
295
843
659
581
791
711
699
870
315
764
624
705
168
741
470
514
292
341
542
186
335
656
802
415
483
60
945
944
759
568
176
262
21
200
895
380
745
563
764
758
186
342
887
280
501
804
326
827
542
215
69
693
572
272
257
948
344
881
701
42
523
597
851
659
606
82
377
140
522
374
772
993
495
564
473
249
645
244
908
24
530
358
963
221
755
908
126
888
678
982
219
689
320
969
775
370
915
951
542
532
953
125
677
617
812
660
886
456
735
272
199
845
893
880
257
467
0
690
722
14
42
94
253
190
704
498
7
991
809
605
410
677
540
942
541
620
30
323
134
511
320
638
916
173
557
575
284
188
57
874
588
980
302
29
359
414
399
887
474
876
855
937
12
836
721
799
236
14
429
306
146
266
119
477
689
58
480
314
909
66
291
680
557
560
987
823
323
845
109
787
692
730
389
664
901
685
93
752
849
997
93
148
182
714
694
424
418
732
330
598
158
649
665
319
442
565
516
398
38
9
301
710
328
277
900
704
686
163
619
675
146
226
147
447
653
624
116
349
929
777
135
102
14
867
682
608
563
288
34
421
484
348
967
559
995
57
730
962
824
635
940
179
857
758
507
510
593
358
500
841
94
563
832
909
822
865
365
827
542
415
483
431
107
193
333
456
341
626
194
370
671
351
868
622
134
606
808
385
957
973
227
290
918
6
632
516
481
257
326
922
0
262
874
947
172
216
21
915
640
592
775
981
326
316
200
864
225
65
655
286
425
383
797
173
881
643
24
977
479
976
27
936
885
831
414
988
313
459
661
160
48
111
645
491
235
231
597
567
875
224
110
669
356
368
464
271
144
519
756
122
106
131
552
561
937
596
667
285
717
523
81
925
308
2
522
90
0
348
383
251
100
369
455
511
686
67
177
114
655
457
419
641
174
77
819
702
106
896
792
550
728
130
369
123
393
511
797
430
466
873
362
520
147
461
381
255
329
527
792
767
969
139
580
986
832
643
922
286
410
218
635
251
879
15
676
791
941
969
767
817
923
464
307
61
465
321
922
657
855
691
640
256
328
684
603
331
935
265
117
129
6
834
588
651
220
857
457
719
343
681
94
906
62
723
822
710
473
432
913
424
901
649
681
176
413
716
960
583
906
994
424
142
716
902
995
959
402
375
647
322
914
215
135
856
225
120
132
534
548
610
315
98
544
642
571
730
693
769
720
213
479
205
296
403
753
456
156
13
396
502
373
489
508
560
989
679
258
880
473
312
902
262
245
145
26
719
802
464
504
507
343
185
412
369
130
126
361
294
849
587
638
721
9
540
859
958
199
42
757
908
736
105
103
916
216
753
562
599
479
776
117
702
89
102
50
331
694
845
769
559
186
479
865
867
311
707
906
389
60
30
194
280
583
684
950
777
894
43
810
792
169
213
596
137
777
498
135
121
361
427
742
70
639
548
150
59
569
875
825
880
287
816
831
135
201
919
291
698
600
88
630
130
829
699
287
336
27
139
114
628
23
244
445
844
257
683
767
144
789
506
540
258
332
433
847
29
691
887
184
129
748
335
566
94
435
7
778
882
573
130
438
942
224
733
60
54
360
288
950
324
819
262
222
277
235
494
589
655
546
357
157
451
650
43
178
491
873
794
187
286
51
275
770
990
585
48
489
998
927
698
382
525
491
324
202
399
523
889
461
530
290
355
474
511
138
815
944
768
936
75
662
264
669
433
67
545
913
684
983
684
199
242
157
676
886
604
659
783
627
921
726
377
247
507
768
840
144
291
753
256
749
905
676
961
755
694
241
431
671
6
400
703
113
74
963
284
959
835
301
431
660
521
652
44
669
991
305
457
338
112
454
495
775
583
973
694
286
142
867
520
587
548
638
42
648
738
257
65
501
639
778
116
791
168
417
249
751
369
392
579
168
101
891
43
143
486
384
131
946
783
698
34
665
658
452
851
1
242
93
53
149
791
448
985
295
396
746
853
483
802
626
727
959
97
345
359
872
681
189
581
242
641
310
296
770
778
665
336
250
724
343
654
396
389
839
605
788
319
392
197
802
291
708
93
290
207
284
383
633
941
676
588
561
370
269
454
16
395
588
415
362
823
191
425
135
572
886
829
897
424
340
334
663
346
437
4
76
655
211
773
342
438
805
703
116
765
276
727
5
373
437
938
133
897
580
891
377
180
65
906
702
367
148
3
572
416
393
411
807
650
315
687
348
994
892
28
764
119
699
17
803
300
465
380
90
139
578
307
4
54
965
998
460
84
526
747
213
627
487
516
170
350
159
34
729
277
518
721
147
208
631
284
446
566
201
904
743
110
570
518
348
887
69
900
929
24
233
473
290
488
277
851
15
349
268
211
568
704
275
171
317
20
11
895
55
440
711
776
100
388
632
504
724
543
282
571
921
476
104
140
102
166
584
544
997
535
719
76
614
350
685
930
760
782
243
346
487
162
683
1
799
930
394
250
711
173
404
236
39
68
574
731
977
885
836
201
11
288
212
414
520
186
786
163
85
912
405
680
425
719
528
455
327
193
319
966
755
984
590
641
517
507
890
499
426
321
812
850
27
678
513
923
405
215
461
783
736
854
946
700
991
990
726
224
774
834
342
615
875
773
454
407
718
568
25
431
977
335
9
630
584
580
860
217
198
883
294
189
158
119
62
615
929
93
854
261
641
776
939
502
700
697
518
849
598
178
991
820
250
762
615
230
860
841
409
937
999
433
606
432
737
950
135
661
834
111
665
956
594
206
891
479
122
944
5
233
473
994
869
774
529
446
755
759
637
544
290
878
303
821
646
754
894
725
168
207
897
265
688
378
539
153
923
795
568
61
421
901
423
354
104
836
58
829
342
973
741
896
105
951
793
443
182
831
965
335
152
685
844
506
956
395
185
139
171
430
611
885
313
435
745
147
581
356
519
821
858
735
943
366
622
801
744
524
891
408
744
621
64
642
682
377
243
345
173
55
257
386
548
470
952
881
874
967
565
633
305
942
929
431
534
189
641
655
431
200
398
587
247
826
986
944
413
141
815
435
940
53
875
48
428
292
190
956
470
266
932
60
247
5
993
322
780
689
131
885
512
156
206
188
711
535
201
680
317
667
95
90
269
751
929
669
358
384
894
628
373
321
220
613
530
545
949
872
285
245
294
469
987
651
830
863
271
761
242
778
997
169
480
494
68
86
961
370
314
870
700
125
950
917
725
53
762
743
540
310
44
354
924
761
143
15
941
947
644
551
713
481
143
719
200
601
413
415
564
867
6
380
152
106
849
270
661
677
533
179
420
524
991
565
369
318
922
181
851
152
432
239
305
777
604
502
901
977
945
610
447
792
766
784
165
58
584
264
629
280
309
617
104
593
353
309
801
381
578
242
188
942
442
722
875
861
970
982
915
716
107
791
487
796
832
117
381
84
909
662
31
287
757
166
70
738
237
750
406
368
750
603
785
129
751
275
163
458
399
423
634
147
571
358
573
338
331
253
337
116
41
372
90
124
20
824
669
12
576
63
901
628
918
32
152
108
353
264
423
772
96
476
482
360
410
327
191
528
942
938
449
942
899
222
812
789
66
217
703
874
153
383
777
24
954
230
467
365
595
888
929
810
811
509
472
299
712
687
774
771
443
961
211
464
971
667
53
18
85
588
599
810
65
212
446
910
779
819
141
921
903
479
644
275
836
420
213
804
996
1
397
556
729
138
997
392
681
498
79
327
879
626
762
711
549
277
470
192
399
414
876
830
425
688
902
125
324
537
868
326
624
713
637
878
732
849
611
636
422
817
395
738
558
656
650
669
5
141
718
29
787
486
142
802
817
692
128
543
810
39
207
558
485
62
547
492
123
589
154
924
18
650
538
868
318
867
897
978
570
309
979
82
349
794
606
658
173
634
294
636
556
218
410
525
484
591
531
995
713
824
601
941
746
160
342
482
507
815
996
265
503
651
953
976
514
950
449
302
314
127
856
302
246
436
966
334
8
403
815
630
658
817
809
191
875
258
943
529
741
87
711
808
603
28
671
422
11
770
178
228
371
667
686
249
624
206
144
558
71
974
594
373
747
855
318
775
754
252
262
270
292
157
937
263
807
72
571
322
137
530
522
831
441
12
178
699
672
331
607
79
427
102
615
430
199
818
545
317
424
116
751
585
579
531
380
330
23
151
422
454
511
819
303
943
657
732
825
870
143
676
49
302
151
874
280
372
131
222
933
650
245
19
986
948
574
861
204
674
158
355
538
508
226
504
580
521
267
229
273
568
737
894
782
164
18
594
705
557
390
662
221
385
9
23
775
518
303
339
627
391
264
619
75
372
282
351
391
817
593
744
350
624
635
815
271
936
17
953
822
708
820
421
801
984
141
133
573
801
601
31
717
720
57
250
246
560
744
540
549
128
911
548
148
201
675
370
919
588
833
606
549
455
548
242
0
928
247
983
247
3
402
156
119
207
911
158
128
379
478
646
894
314
429
762
829
102
268
607
971
378
130
789
650
944
977
439
308
894
323
888
638
808
197
301
561
703
268
174
128
961
912
825
521
515
870
73
862
132
362
782
461
927
904
848
405
988
535
632
644
2
988
53
478
116
376
489
420
915
263
806
39
481
248
851
728
523
592
133
406
277
992
82
884
81
911
35
805
990
103
291
788
319
700
246
779
607
437
885
304
273
789
22
200
483
898
455
245
260
831
128
346
293
397
627
907
958
126
719
670
377
271
585
607
517
464
647
529
383
957
333
269
770
791
715
664
177
833
857
546
65
187
52
252
324
372
363
286
930
150
848
9
620
705
157
334
87
735
810
4
78
432
827
491
261
191
463
928
481
554
398
181
786
291
820
574
757
809
287
777
472
765
491
141
501
710
842
494
410
195
802
757
514
889
45
94
262
880
125
363
27
345
511
959
110
365
396
602
670
559
149
210
583
204
948
471
801
163
404
538
484
764
452
431
448
473
360
243
336
655
228
387
235
150
729
449
992
973
507
441
629
252
551
127
456
60
903
22
546
492
766
945
748
787
783
185
387
661
101
395
375
197
333
548
102
436
163
194
444
904
631
691
443
926
142
289
529
768
42
391
432
736
158
303
237
123
323
569
498
803
599
487
389
978
878
948
921
332
17
831
573
668
725
605
151
401
994
461
486
99
754
621
388
369
83
135
65
900
703
309
863
315
887
205
605
256
988
878
224
92
144
127
653
641
202
795
214
381
612
689
86
508
699
514
448
585
633
928
496
433
878
698
826
536
824
578
722
886
182
372
765
576
447
625
908
553
41
917
466
207
355
535
997
977
858
328
393
716
530
8
216
757
212
456
186
247
430
278
185
612
525
898
867
927
35
546
819
349
899
732
723
919
399
877
308
916
194
637
426
830
36
359
297
90
446
630
840
977
681
772
129
518
631
30
939
232
921
530
32
470
821
410
537
713
499
323
393
80
49
657
388
735
229
733
177
779
487
892
815
472
530
260
68
715
145
432
527
988
981
307
190
784
327
420
431
227
197
617
931
288
61
515
27
12
814
693
724
680
726
569
377
484
656
945
804
698
197
214
347
981
521
982
53
933
69
306
39
557
433
827
851
652
397
799
507
144
700
851
568
979
763
292
672
635
720
346
906
190
932
375
592
282
649
921
998
605
688
225
523
106
255
608
881
17
508
78
680
685
385
161
133
776
267
455
617
496
297
673
980
788
992
91
364
44
396
715
318
496
351
273
794
982
490
451
969
269
967
556
883
263
42
211
307
567
428
610
158
27
320
655
580
939
138
226
560
225
55
407
748
10
488
272
655
218
381
964
37
504
764
102
85
635
40
914
512
554
599
5
758
564
896
164
209
787
432
4
48
121
392
932
610
332
169
118
967
515
743
863
844
336
647
2
349
298
87
69
554
686
626
711
898
503
871
377
123
773
686
68
80
359
761
822
596
812
860
40
38
468
168
811
523
488
37
801
776
978
261
341
25
198
936
822
514
253
323
273
336
969
556
241
575
79
109
443
676
178
149
65
780
59
54
55
96
881
302
506
236
867
971
554
834
601
376
114
214
349
875
841
754
3
648
588
182
201
311
229
215
71
867
966
85
544
843
645
329
541
793
890
256
139
227
402
488
144
440
774
196
375
435
902
688
93
922
105
864
330
729
994
334
509
760
282
831
807
821
856
595
794
93
97
616
254
75
7
245
278
94
954
269
989
27
205
225
814
915
507
527
817
144
133
496
24
96
871
292
800
897
205
872
82
76
998
547
978
681
752
415
226
576
764
864
715
667
798
874
328
715
277
514
451
371
852
51
757
970
558
137
329
523
867
863
788
87
633
420
437
703
187
983
351
667
967
357
328
64
63
861
572
495
193
831
112
928
750
676
643
662
19
774
226
247
824
317
997
5
926
229
861
318
737
189
510
569
565
609
703
441
496
113
179
388
50
364
825
760
458
338
78
350
904
393
902
765
360
998
868
864
132
582
962
847
859
688
912
446
411
674
58
705
279
555
374
665
142
107
155
409
531
113
818
928
565
983
867
727
944
974
9
76
822
929
509
170
44
816
760
404
830
556
685
409
402
843
412
902
595
186
81
45
488
865
80
793
903
420
634
276
364
456
974
508
826
772
720
477
374
908
369
2
76
919
534
898
855
361
532
928
24
827
463
756
49
522
372
746
105
320
94
570
967
881
837
763
755
276
849
126
995
62
344
299
191
196
409
791
34
157
234
968
242
83
75
149
773
56
673
587
667
497
580
778
238
351
715
465
556
451
579
579
258
455
761
947
505
724
331
673
585
596
213
879
367
466
390
122
652
778
32
507
993
31
631
999
587
727
847
756
405
113
464
837
264
988
664
331
625
464
655
617
983
126
299
569
270
645
71
839
173
165
502
53
977
488
42
407
705
568
248
781
326
974
595
570
932
140
359
647
290
400
894
937
306
980
564
469
449
900
940
102
224
103
80
211
204
207
951
687
233
337
304
898
935
474
316
134
139
11
196
942
366
325
696
604
685
607
273
446
852
19
181
533
773
818
65
319
270
504
590
566
864
946
647
176
778
190
691
499
66
468
504
620
996
571
568
931
250
47
528
43
400
467
142
265
296
116
208
620
833
921
8
376
288
138
990
142
241
956
975
41
443
325
873
24
529
238
184
542
511
580
647
431
711
150
883
929
291
139
111
745
20
490
126
465
410
294
988
658
714
956
282
645
757
994
409
770
218
979
849
456
357
988
577
940
803
762
343
300
782
330
785
751
209
401
790
781
368
737
581
910
442
984
400
59
1
379
647
583
703
0
64
383
740
593
99
520
125
495
294
484
336
965
396
8
67
22
829
583
464
326
717
846
600
90
314
629
780
199
380
434
682
106
852
686
495
973
5
87
869
108
772
828
119
4
614
463
159
356
922
744
827
196
344
677
791
349
756
54
881
246
356
971
57
219
161
505
648
149
715
869
91
4
111
409
660
148
330
957
617
639
338
741
581
110
629
28
473
162
952
139
344
506
456
543
189
999
201
558
925
758
70
859
171
545
449
897
144
564
179
215
665
939
811
853
400
882
848
528
597
293
313
935
334
22
844
879
102
447
289
202
697
222
239
888
201
360
140
272
239
43
859
519
91
646
437
856
295
727
598
214
603
310
663
967
584
443
185
845
463
238
50
854
508
450
535
291
710
955
436
724
118
432
933
76
139
839
416
359
459
633
952
220
262
245
77
500
576
151
44
982
158
381
295
400
915
768
461
147
340
613
64
910
296
446
183
947
933
624
349
200
679
166
116
689
231
623
985
235
611
551
21
85
799
122
898
392
445
104
826
406
569
186
374
450
883
362
110
13
919
979
149
614
569
889
922
957
821
769
717
681
301
78
30
677
91
538
980
934
78
885
38
67
784
683
875
395
957
356
409
559
857
444
559
428
502
752
920
435
928
433
127
633
158
920
922
104
463
106
577
952
434
166
612
211
921
16
472
506
985
428
753
815
339
18
714
364
161
850
17
863
226
885
233
722
217
126
156
305
470
893
538
644
415
82
963
482
253
164
338
938
952
24
891
580
162
762
881
597
661
765
244
911
197
482
417
256
552
329
445
239
781
315
213
323
51
661
806
453
953
636
330
688
57
529
722
907
716
495
415
744
923
865
676
880
704
815
199
7
993
461
772
163
100
403
835
835
879
372
386
265
894
787
100
939
951
147
391
78
33
658
539
464
457
906
86
777
605
772
757
490
949
928
145
653
841
858
569
461
177
738
968
722
225
66
295
176
103
750
4
68
709
856
358
607
506
714
943
76
388
634
41
170
954
919
988
105
96
800
569
472
317
758
743
740
398
591
164
819
904
304
88
975
497
337
326
242
595
353
907
670
663
184
510
165
263
65
154
279
892
589
127
257
769
810
616
136
775
586
317
630
839
100
830
184
116
16
473
675
994
843
198
409
958
933
948
668
212
265
503
575
906
336
965
750
492
456
587
488
480
12
46
254
130
729
774
855
810
522
403
152
600
991
134
351
61
369
258
826
574
540
603
78
475
722
620
696
165
383
450
455
820
372
647
831
832
749
579
385
933
457
604
669
312
842
230
399
426
713
304
560
338
286
227
309
262
554
124
190
262
677
917
251
446
446
451
573
830
29
891
158
613
806
875
482
881
798
379
7
165
282
875
708
317
855
537
775
936
474
270
40
70
146
766
51
622
439
310
64
105
567
897
321
317
851
975
66
124
854
462
863
612
177
45
502
364
304
813
532
632
99
883
808
109
606
845
736
592
964
492
737
153
564
69
195
839
100
522
578
72
54
22
131
190
573
6
705
688
437
292
997
38
732
923
452
723
786
352
866
957
765
38
314
30
100
439
204
246
929
828
664
934
186
775
78
629
599
609
765
209
481
240
399
305
893
456
205
398
66
879
990
881
817
639
458
285
732
414
391
528
92
61
777
250
373
854
900
483
526
651
888
911
345
393
297
135
97
751
137
211
230
862
140
982
920
614
196
849
857
288
659
439
884
249
968
287
257
528
4
198
849
792
839
267
339
75
544
101
215
23
909
434
296
587
464
575
431
553
519
876
741
231
367
490
894
965
954
32
370
95
702
384
268
340
86
753
898
209
449
845
822
199
686
148
868
158
14
793
207
677
965
898
280
662
741
694
857
397
959
663
610
61
972
955
192
139
350
552
406
736
874
881
995
69
921
380
611
230
995
671
511
422
74
916
220
744
932
568
93
183
674
832
825
793
924
265
66
205
717
110
793
293
802
526
288
783
808
407
720
419
437
506
266
540
794
572
209
696
454
787
301
778
338
917
340
533
719
969
651
679
652
927
358
256
266
922
78
252
113
737
728
976
314
791
251
459
869
758
453
630
368
909
595
751
167
928
425
614
426
343
266
911
553
454
623
224
442
226
755
761
639
151
18
505
481
603
378
882
913
243
327
436
937
191
579
419
256
792
757
688
752
26
582
922
351
557
439
359
762
410
146
672
672
327
632
79
454
379
168
672
943
215
874
803
63
744
314
566
523
651
685
637
982
889
999
642
909
369
29
832
190
962
476
874
364
275
132
57
756
392
330
297
942
619
857
986
963
661
291
918
393
737
195
376
501
341
994
41
136
939
466
410
973
855
200
674
809
247
505
766
535
125
37
435
894
70
585
487
152
20
248
648
2
645
22
339
140
384
605
22
832
865
219
535
802
300
885
237
295
270
491
367
836
367
230
450
896
817
69
619
534
897
812
436
280
359
103
622
54
66
292
675
924
72
760
152
329
439
284
546
805
655
148
331
834
154
766
32
459
708
908
381
750
151
663
816
980
373
784
106
158
753
773
511
157
883
811
894
752
328
403
992
703
523
397
442
14
676
581
977
392
712
205
487
542
62
786
207
556
739
430
450
54
529
900
701
166
358
30
779
394
910
415
918
560
952
955
737
132
610
391
366
515
798
678
476
569
443
226
16
735
364
804
811
619
221
640
673
954
927
82
270
688
94
614
500
531
559
214
116
203
361
743
662
7
572
309
704
971
324
564
575
239
462
956
35
150
168
627
322
234
245
644
458
908
948
86
195
969
216
655
965
551
61
172
364
920
385
729
595
315
734
845
386
307
878
912
528
230
578
256
336
16
744
784
624
265
355
684
456
682
780
191
960
263
385
365
576
702
862
422
353
929
943
377
352
582
84
962
303
383
285
649
99
450
882
675
152
718
324
974
869
384
710
935
718
757
782
834
479
33
798
888
55
83
755
780
715
985
192
881
199
684
580
175
889
832
91
465
268
694
962
936
994
19
442
450
281
735
41
788
738
256
355
735
135
970
623
752
188
24
112
459
297
578
647
991
732
642
59
777
195
65
47
611
304
334
827
88
446
927
862
650
158
457
811
517
751
618
238
639
622
628
535
520
876
995
214
6
19
938
219
716
802
487
384
172
644
106
434
875
214
201
237
919
931
87
468
109
777
507
753
926
998
496
240
547
247
847
393
670
239
339
370
308
365
889
275
971
210
13
974
392
361
229
996
166
825
96
235
88
620
582
898
570
808
81
951
186
258
174
898
86
371
597
516
7
722
452
540
431
834
104
495
358
825
542
406
64
286
789
246
627
894
517
431
65
38
598
263
774
419
484
254
761
125
781
211
285
430
355
4
440
771
50
0
786
663
972
825
219
68
318
761
922
471
707
683
55
246
721
342
728
834
559
389
49
796
336
103
785
613
985
819
868
405
594
358
239
515
933
676
695
973
268
392
259
615
716
381
570
788
898
403
84
426
78
120
445
546
969
396
64
221
801
153
186
492
974
440
506
475
621
312
353
34
265
178
543
334
335
969
514
534
796
233
813
585
921
869
886
454
31
485
441
306
706
328
540
497
688
709
6
51
558
336
47
341
809
430
448
755
344
303
779
412
858
302
997
337
83
12
148
216
741
893
739
546
154
698
168
519
213
259
650
314
883
197
567
273
518
611
990
381
986
302
596
26
156
900
753
224
217
435
976
713
318
275
780
179
854
417
811
293
432
99
85
24
600
517
413
974
934
257
624
337
803
869
319
216
289
338
399
670
321
770
633
953
373
740
196
311
232
127
3
595
763
638
307
188
62
488
539
493
79
793
268
635
473
340
80
730
757
681
330
420
249
879
64
408
8
238
243
402
492
89
474
18
989
193
135
703
870
682
630
805
92
455
698
179
884
523
393
321
557
291
709
516
758
661
161
51
881
994
315
188
565
210
182
137
655
365
136
329
138
229
513
135
494
609
612
745
764
914
680
85
746
249
110
487
376
238
718
461
343
650
464
299
711
396
794
980
815
434
397
201
623
123
283
562
238
704
37
390
424
837
404
332
377
123
700
551
617
506
472
309
61
718
600
393
441
459
174
664
183
792
494
305
783
495
961
376
373
663
19
242
136
397
72
829
485
563
801
794
615
328
658
296
55
320
120
691
398
579
315
875
255
860
668
213
675
131
27
251
998
48
101
169
457
960
814
64
465
712
263
193
981
197
809
958
834
980
321
48
884
24
521
346
106
355
878
730
929
324
131
924
196
548
274
658
21
160
344
923
417
495
500
791
220
916
375
769
355
942
619
421
738
214
100
124
393
85
581
98
778
675
251
739
384
386
760
747
805
530
626
99
865
55
251
879
745
79
355
360
107
468
134
737
303
909
122
686
707
263
925
776
423
853
595
568
894
707
18
625
716
730
46
530
126
146
176
686
766
947
626
61
730
544
475
75
470
697
848
879
726
291
770
89
788
778
86
593
619
837
759
854
283
887
771
190
972
13
875
247
725
682
474
704
399
91
301
986
195
122
366
565
729
25
180
736
258
209
421
31
386
633
227
873
606
177
859
354
290
9
953
301
423
817
233
261
248
107
37
24
592
103
604
246
79
987
313
781
324
136
50
872
854
976
442
72
310
511
364
848
126
122
812
461
406
992
897
975
51
560
29
918
866
509
59
128
251
202
710
757
481
147
511
522
120
102
775
759
440
721
94
301
483
465
897
569
409
567
992
613
337
862
200
702
148
781
860
408
329
878
524
798
736
939
646
871
935
702
840
5
971
902
701
668
343
413
983
21
836
968
58
263
762
25
942
269
105
315
86
955
979
613
33
435
435
584
860
518
113
313
733
535
607
153
735
195
930
701
50
265
73
28
345
456
439
850
424
960
525
196
445
125
11
680
469
919
239
512
155
522
582
508
415
798
433
773
966
854
439
854
844
570
842
816
560
228
281
735
999
952
298
975
996
92
468
993
268
560
745
567
619
821
703
232
71
223
536
921
381
592
280
553
350
451
860
601
911
720
255
884
197
110
748
166
45
100
614
380
965
702
508
108
749
235
396
981
611
174
908
866
412
97
174
373
548
409
442
213
326
204
461
179
703
540
205
161
154
472
758
903
872
320
529
649
723
803
770
392
510
235
403
998
641
679
457
220
123
333
7
595
360
238
164
593
439
978
190
440
258
855
151
875
925
698
0
646
272
613
757
444
986
317
914
732
111
96
117
43
282
760
672
805
194
789
115
43
545
76
671
280
499
555
745
344
676
842
754
649
449
208
54
529
886
143
20
466
848
451
724
777
339
478
587
367
193
706
753
725
513
28
24
609
604
669
924
46
507
187
597
274
557
441
760
924
180
429
305
628
660
529
605
290
206
671
764
500
901
994
269
152
73
347
907
121
846
775
299
136
188
624
938
467
469
37
912
743
858
940
267
940
695
6
571
49
813
662
619
31
454
488
104
203
766
663
732
601
514
938
588
823
973
902
835
218
873
341
925
140
792
265
189
957
631
617
905
687
378
812
946
314
558
119
618
49
691
388
492
730
42
7
709
999
928
69
784
612
388
538
314
73
77
481
82
604
937
803
160
300
744
566
46
415
461
901
59
946
129
51
261
322
480
206
756
137
784
32
880
880
904
610
640
437
130
88
114
761
918
170
210
374
550
501
978
644
258
13
627
67
810
496
314
588
132
916
796
497
204
650
455
52
884
894
433
78
265
66
537
691
743
310
565
261
183
572
825
999
700
47
89
132
85
945
597
65
477
995
545
499
352
344
114
149
154
820
797
940
917
319
159
123
901
701
896
424
683
553
890
526
813
765
348
623
732
694
273
574
903
950
25
360
579
42
195
531
55
249
793
603
666
549
750
732
751
403
502
789
701
845
76
608
991
58
245
112
162
164
339
199
119
437
282
443
440
828
524
751
700
967
683
674
258
931
550
193
222
915
164
925
645
119
72
587
55
801
816
994
997
739
17
381
156
326
894
994
969
518
52
962
235
454
905
97
760
3
364
598
884
774
367
863
233
935
58
639
541
327
472
956
371
220
923
487
109
188
142
892
127
781
86
327
21
583
893
721
481
418
410
913
117
246
877
560
486
128
963
518
12
486
257
769
55
5
136
533
217
881
658
494
888
84
669
915
7
817
481
138
538
807
73
321
93
575
817
457
194
356
924
616
66
707
157
25
730
690
523
682
374
837
221
895
63
586
463
494
817
995
496
233
642
830
423
295
151
209
727
498
628
69
250
562
968
474
905
440
313
545
959
764
673
246
721
467
424
379
652
320
477
471
692
936
596
525
64
803
882
260
610
339
959
104
444
56
965
690
474
248
827
712
773
93
436
33
748
643
146
589
871
530
727
841
882
581
85
426
344
849
798
61
65
421
860
522
791
93
432
514
431
319
422
283
795
824
251
177
101
698
355
11
961
81
11
597
684
858
949
834
784
489
229
146
230
699
576
442
558
245
26
806
881
271
470
402
392
126
874
300
112
773
871
957
213
795
185
8
95
324
787
551
564
578
251
620
790
739
141
598
56
954
993
456
860
708
421
177
449
766
525
320
507
29
430
464
708
377
591
347
736
219
360
525
856
661
843
656
646
17
375
849
449
206
869
18
302
358
251
505
440
716
435
691
117
732
826
852
687
173
140
88
963
90
645
557
135
379
788
125
726
924
671
20
153
792
820
232
367
821
66
625
616
840
747
881
576
806
456
938
806
744
469
253
962
359
52
929
994
364
613
424
885
440
224
560
348
109
641
978
903
204
789
665
662
189
536
790
447
580
3
766
836
39
479
861
960
240
930
618
858
571
568
230
544
142
22
950
874
35
25
150
633
949
675
156
993
869
602
194
809
56
114
864
373
42
577
321
926
419
79
172
153
210
551
719
859
977
958
641
266
478
870
133
125
293
236
642
234
415
730
5
209
178
603
791
696
427
545
113
485
791
848
157
299
618
744
427
885
967
400
120
351
122
137
206
104
198
627
21
433
984
150
789
257
106
639
872
908
637
578
862
827
841
547
762
573
123
37
443
586
227
350
632
775
495
334
912
115
212
760
549
872
466
786
142
838
421
877
11
272
300
820
103
425
109
306
954
323
820
135
120
482
3
610
750
735
53
797
971
375
370
208
399
139
398
799
445
832
458
665
8
620
887
918
309
81
545
522
869
396
639
986
346
515
253
312
542
871
482
136
148
116
345
261
404
17
854
755
304
287
99
543
576
427
488
959
196
866
497
754
498
593
968
290
861
142
387
819
295
954
879
363
147
358
672
662
776
152
289
850
195
553
745
44
267
679
614
196
728
373
855
726
849
298
796
579
434
468
30
969
161
89
802
684
230
600
933
71
548
54
222
440
262
905
898
838
2
526
257
928
986
997
1
815
826
194
388
852
620
996
474
86
531
852
565
919
36
269
559
536
643
64
322
294
490
574
249
487
507
323
766
117
441
271
114
420
625
536
87
497
243
548
934
87
325
737
890
498
465
644
316
262
159
341
866
511
2
752
119
498
265
398
410
233
652
925
6
994
583
232
605
191
129
177
23
671
931
582
190
525
344
515
326
905
466
783
601
245
499
555
281
252
307
324
840
867
563
446
984
300
9
747
111
763
588
871
92
720
237
108
388
836
11
995
992
246
809
579
843
633
738
729
124
711
391
282
897
836
790
157
900
605
47
880
926
861
86
3
865
653
671
170
432
461
880
780
620
788
983
79
114
848
113
824
413
123
43
730
639
579
320
845
381
793
962
657
501
375
542
382
792
292
228
86
929
16
374
302
798
10
177
93
444
466
860
96
84
904
996
581
244
181
179
143
61
594
559
827
193
936
497
513
967
118
790
919
675
247
300
154
991
811
354
727
49
885
208
757
955
279
16
327
183
850
343
324
370
712
553
675
583
304
841
801
203
379
604
404
509
62
430
112
961
361
345
877
711
388
744
951
884
658
241
917
412
675
276
948
288
593
8
428
567
468
324
198
477
506
155
566
451
852
662
894
710
995
259
294
359
326
226
883
610
481
113
530
782
261
814
540
18
407
303
208
135
555
679
30
508
693
987
567
807
127
98
73
538
652
162
135
446
436
778
531
11
28
487
515
290
156
347
115
192
350
466
995
932
678
777
23
741
149
458
988
43
35
351
348
148
524
98
520
466
599
460
746
694
405
253
498
117
264
528
352
457
666
770
801
812
985
820
872
44
723
73
399
694
615
408
288
905
396
994
620
190
797
346
162
395
295
200
976
386
995
910
668
166
994
776
540
641
753
275
878
39
959
63
350
186
458
343
31
859
574
430
272
436
500
267
9
242
799
580
351
947
310
732
731
814
16
305
392
747
280
582
527
376
577
182
115
359
933
308
867
677
787
429
541
369
121
919
637
376
264
99
583
429
189
967
837
884
787
641
146
498
674
354
931
105
311
206
218
673
995
610
245
808
280
977
807
366
699
750
930
273
933
359
388
326
262
583
180
719
276
975
306
886
904
12
487
542
933
106
288
454
311
984
986
325
573
193
668
207
37
390
985
599
796
794
446
743
802
91
35
465
275
244
943
649
646
435
817
79
88
603
472
699
110
56
634
357
915
4
157
239
911
904
161
788
959
281
353
45
74
372
360
853
8
806
920
920
65
980
141
408
904
695
993
665
970
742
162
521
823
383
281
153
981
720
389
461
703
926
566
531
299
599
764
144
282
481
572
650
555
529
223
590
885
665
247
140
181
394
997
818
581
322
344
386
736
367
531
219
336
927
693
19
530
257
760
585
79
787
493
174
781
688
760
337
683
250
263
247
893
286
538
214
44
566
508
718
228
452
610
472
167
101
48
199
994
5
40
795
971
100
767
232
911
190
462
146
553
836
322
648
111
450
791
552
281
68
746
225
391
860
58
242
156
905
789
54
881
142
107
704
131
829
977
125
319
813
243
503
217
824
823
84
845
964
370
68
317
950
766
251
955
40
407
694
595
443
545
600
481
4
876
14
814
967
599
871
396
566
331
907
404
547
399
842
32
254
610
258
330
513
857
460
219
466
310
782
861
6
117
121
358
929
567
533
555
295
339
105
227
857
6
859
377
136
321
135
806
726
507
553
539
684
934
49
217
654
356
621
546
696
766
969
129
783
542
259
632
65
266
75
229
792
521
541
123
218
830
736
303
401
676
974
685
988
83
518
437
797
373
802
69
166
314
549
663
903
633
886
754
700
967
24
639
225
758
468
905
590
67
265
483
403
883
377
50
444
673
254
532
247
695
894
749
195
784
748
582
462
742
535
45
495
987
191
792
878
564
856
143
868
337
73
893
773
186
337
591
396
808
30
994
621
429
200
795
569
437
836
237
512
322
201
649
591
502
710
950
828
326
755
129
229
939
224
411
450
45
237
261
372
446
306
626
865
229
208
96
701
625
794
27
191
338
714
854
205
260
343
223
591
899
164
441
690
169
264
441
845
458
648
935
233
335
678
890
222
118
630
241
272
358
824
105
839
670
937
622
265
787
741
699
543
826
730
841
559
428
732
341
271
277
644
988
231
253
1
611
309
267
670
515
665
39
271
918
132
99
829
453
725
394
894
574
907
344
890
715
582
689
719
826
553
820
955
168
507
942
474
243
872
862
761
745
125
897
998
871
894
676
804
284
251
689
580
270
885
678
172
435
961
257
112
910
651
970
179
255
815
646
926
522
442
680
485
659
971
832
915
542
935
855
675
963
198
271
766
528
800
752
39
609
460
974
328
996
103
536
461
296
648
230
326
309
254
433
406
179
906
37
50
282
564
268
644
209
464
652
442
111
796
600
926
602
947
163
170
626
725
227
137
581
933
167
770
620
109
385
13
208
460
341
475
608
768
3
700
940
817
450
962
124
279
363
273
643
632
365
318
356
912
83
383
599
513
451
425
383
714
215
197
537
591
394
452
511
570
907
470
368
561
262
45
149
515
628
638
663
743
657
429
348
787
334
437
868
968
638
526
967
735
703
63
370
886
588
982
820
631
664
582
832
773
678
488
72
931
347
939
938
555
981
202
569
2
903
62
133
228
395
403
892
738
15
77
308
129
180
896
546
874
478
388
693
525
487
273
879
385
200
803
398
603
675
358
244
754
333
994
749
880
987
983
564
804
257
890
892
178
757
280
682
370
139
622
845
163
270
172
722
296
662
117
358
507
601
498
855
530
110
569
191
269
383
809
392
903
51
909
457
837
153
295
343
147
482
191
800
572
579
638
849
572
814
187
921
792
985
529
962
390
65
901
473
16
458
300
756
825
966
550
158
706
204
707
792
894
993
35
151
136
865
304
611
788
7
560
19
973
76
150
869
97
92
301
319
791
625
123
599
160
328
776
647
431
764
146
524
132
870
113
427
72
273
2
473
559
320
867
554
127
308
896
248
937
443
785
382
755
577
662
675
535
336
959
928
759
711
949
371
270
455
620
483
167
390
699
845
844
542
967
888
379
699
197
930
812
691
392
938
162
973
989
470
482
663
668
953
683
668
776
540
43
423
326
197
945
237
147
132
436
361
264
235
709
105
866
494
582
697
654
672
811
772
826
9
192
34
98
29
775
906
636
457
9
235
264
376
16
904
677
625
261
591
967
679
509
337
574
456
673
276
721
797
52
239
116
798
182
881
687
329
799
845
707
250
125
550
588
781
189
572
159
402
880
274
565
374
582
884
831
740
268
726
9
55
942
565
609
998
545
315
165
184
351
265
829
819
49
363
373
692
248
500
834
565
933
418
215
254
686
575
773
807
375
159
171
356
565
854
41
9
770
672
511
506
430
885
441
787
276
356
800
492
818
808
458
197
483
889
357
753
552
151
249
631
242
71
928
366
447
122
681
558
547
970
24
260
209
969
133
693
823
691
114
328
641
328
783
578
386
460
37
728
195
837
436
64
218
962
237
619
179
448
93
865
514
299
774
376
88
416
394
534
668
386
770
957
978
387
625
585
636
982
91
976
2
889
7
392
760
338
321
337
859
125
818
77
479
226
266
408
392
366
727
723
433
966
886
701
736
9
747
939
470
188
586
134
274
476
443
259
239
856
598
915
982
161
326
503
386
737
915
369
467
207
574
101
356
12
583
521
557
261
918
463
58
114
57
139
510
236
796
197
531
10
66
175
902
545
639
573
849
491
375
399
822
785
763
777
830
302
469
354
350
862
315
282
275
500
986
222
630
544
911
414
734
378
386
919
902
635
822
188
622
367
603
752
897
237
944
464
606
348
11
725
410
917
91
31
961
160
6
989
928
215
276
640
804
527
970
544
523
113
811
852
443
74
859
569
458
523
324
902
751
539
442
191
34
967
134
900
178
289
702
110
513
565
381
584
454
176
606
581
265
790
948
105
333
565
120
700
213
479
997
174
660
74
957
419
736
592
49
543
177
733
977
398
191
432
107
576
991
35
768
156
259
942
903
894
474
412
529
994
570
7
782
601
268
623
321
32
800
41
202
492
911
709
797
685
80
85
552
703
640
906
202
179
134
225
577
386
312
405
991
513
638
580
490
396
49
352
667
188
401
96
420
741
766
994
122
250
899
223
771
207
162
768
849
450
173
523
36
192
97
699
527
198
967
260
942
618
533
647
256
938
816
488
553
773
385
668
849
269
32
95
196
724
489
188
332
935
122
376
81
147
187
289
615
131
371
961
678
552
980
491
936
364
253
832
603
612
649
410
373
224
24
240
977
431
934
239
390
566
438
124
810
306
556
154
217
912
289
142
909
840
484
670
627
232
485
182
626
534
632
353
651
581
728
27
742
121
15
940
154
893
103
262
605
12
945
899
219
341
778
409
35
708
517
14
835
437
80
555
687
767
553
195
291
140
546
75
163
341
286
376
953
758
658
437
958
60
703
768
666
125
958
123
742
361
962
147
133
783
283
49
900
987
886
751
434
945
115
22
466
512
335
126
170
299
560
715
199
517
5
841
814
303
230
580
940
920
937
785
750
195
110
179
496
5
550
809
439
328
280
218
615
176
176
67
535
292
717
326
9
6
722
894
444
197
826
861
675
651
298
666
818
509
941
287
603
896
552
35
559
838
986
234
225
945
839
291
372
872
517
988
517
715
981
285
318
739
615
884
4
787
761
503
929
864
135
930
173
670
112
18
563
779
670
739
923
234
801
365
977
756
50
634
591
760
102
457
700
664
94
121
148
477
80
370
398
783
97
420
267
66
716
216
182
621
432
160
536
472
105
164
309
909
711
353
866
70
329
208
990
753
789
183
790
807
517
870
940
63
883
976
773
30
579
105
853
890
282
4
484
581
939
808
538
376
850
1
751
18
154
529
604
886
579
505
753
464
436
450
564
937
692
383
605
388
394
939
14
526
540
36
265
791
661
302
372
875
576
771
93
688
696
142
234
204
823
390
569
755
645
562
37
776
523
641
152
421
175
134
190
3
352
551
6
707
257
111
877
584
457
149
641
301
311
326
270
674
357
817
317
351
915
451
799
705
504
754
774
103
973
129
590
621
94
628
231
599
667
822
814
413
864
640
668
363
951
813
793
23
603
76
91
237
310
995
376
480
894
359
189
981
732
58
282
913
134
150
286
790
815
802
167
359
487
290
141
783
628
737
971
89
725
546
646
313
277
499
861
689
898
776
131
722
376
785
315
407
120
77
418
929
488
575
992
292
223
690
89
188
968
335
284
355
155
363
710
202
83
720
194
970
304
136
214
837
413
177
22
597
516
430
473
362
985
806
699
299
441
155
421
645
54
412
895
375
914
140
744
185
610
952
48
851
571
576
95
906
129
558
159
976
388
555
43
838
344
56
689
325
149
244
740
843
732
576
23
265
916
849
389
872
575
800
913
854
918
464
385
515
550
256
67
13
551
327
338
319
154
979
611
84
242
364
928
0
301
823
576
997
563
870
166
559
225
349
634
737
848
206
392
983
350
574
560
995
138
52
516
321
353
454
713
757
103
643
992
948
69
584
188
481
636
551
742
933
77
53
664
97
49
963
616
978
339
609
285
2
534
466
925
253
677
19
301
945
657
777
462
635
214
309
566
22
639
448
54
224
449
786
4
480
571
221
277
689
943
863
842
915
49
548
418
39
70
14
445
506
198
943
172
679
628
312
186
875
164
640
207
302
91
616
929
158
200
861
953
729
639
635
570
629
912
129
612
915
112
165
167
570
354
785
983
304
261
686
254
40
386
38
618
452
69
901
778
968
749
238
639
978
83
401
523
960
390
658
132
648
630
850
263
230
684
984
382
348
832
632
648
823
103
180
55
411
754
416
370
435
697
604
208
185
642
605
729
28
745
127
806
568
496
535
383
102
133
624
154
860
437
851
381
494
132
125
533
239
287
650
196
673
467
979
890
37
574
525
108
940
312
251
958
143
422
529
368
126
227
980
379
663
957
708
96
105
573
541
207
221
516
678
685
327
715
542
369
511
103
128
720
883
74
346
96
834
884
930
471
900
101
2
869
35
509
482
368
978
672
243
92
312
777
90
627
371
706
705
735
278
703
462
393
256
561
0
125
289
988
633
479
173
170
513
214
791
331
15
674
232
120
944
329
344
261
280
677
366
459
796
238
877
798
623
334
265
598
440
307
297
401
624
808
784
534
167
801
856
976
352
698
993
213
872
769
500
672
136
511
245
903
638
813
98
8
513
710
331
164
209
406
934
45
501
387
972
340
928
505
260
562
553
606
718
858
929
833
402
84
680
218
255
355
943
998
323
965
515
887
187
173
146
915
857
692
702
602
907
280
978
347
603
862
656
326
267
860
608
923
147
192
567
939
538
836
721
958
974
250
534
231
486
855
552
359
249
406
517
966
808
782
297
286
824
269
781
39
563
887
150
803
638
899
428
248
642
135
787
820
816
785
280
655
497
352
624
158
237
936
843
42
574
752
649
271
46
347
234
857
632
247
566
278
830
604
805
892
919
963
801
296
672
894
624
62
873
443
763
48
987
190
882
466
680
579
235
602
324
990
694
889
179
493
455
416
330
189
658
549
496
253
160
24
616
627
514
674
724
502
581
671
343
741
752
568
784
750
548
939
385
664
861
360
907
886
398
744
153
847
417
833
910
476
731
277
313
669
659
373
820
493
18
211
603
345
350
110
630
930
370
702
6
876
630
328
217
79
880
406
628
514
721
761
388
652
175
423
901
686
304
558
420
182
683
780
523
547
741
550
159
932
321
397
587
508
858
524
772
804
366
839
791
689
479
645
673
207
192
29
556
888
89
530
450
715
294
346
98
380
958
7
604
183
999
101
22
851
304
646
537
253
103
448
721
471
553
895
621
760
420
873
552
695
264
227
599
147
625
820
708
577
417
167
693
794
195
324
189
548
985
948
652
204
393
565
466
627
308
844
626
648
812
966
657
926
932
987
501
19
399
795
876
402
223
466
152
488
22
611
175
399
910
270
656
202
997
192
632
477
839
357
61
812
636
121
347
95
699
975
329
129
828
328
439
625
952
675
264
380
516
315
554
218
283
903
229
313
791
591
146
569
371
503
888
642
872
537
299
536
13
46
872
68
105
177
691
653
564
161
795
86
270
25
421
827
666
850
904
193
290
44
215
112
839
498
111
73
18
717
112
953
435
685
708
291
140
642
125
156
841
939
622
504
401
611
218
765
467
72
911
430
862
632
43
775
333
597
18
761
826
605
690
734
113
246
789
509
535
922
608
753
155
363
307
508
493
373
62
931
308
515
630
43
845
61
55
93
204
524
500
303
628
957
135
95
42
411
506
524
181
411
422
172
359
273
176
184
651
959
584
343
358
643
294
698
369
392
541
889
0
765
203
877
511
226
83
767
538
659
675
525
266
971
703
238
507
535
410
755
692
547
102
361
659
277
314
872
698
811
396
402
216
250
898
720
551
640
402
907
483
586
447
539
424
877
70
522
543
552
620
397
643
329
286
520
348
824
642
380
822
102
270
884
100
92
652
12
351
502
734
115
356
832
658
776
745
315
834
659
411
320
592
80
740
185
429
982
174
709
90
308
691
139
509
744
282
643
733
527
411
753
554
684
814
214
79
507
184
249
946
987
415
227
318
662
195
325
302
973
515
948
695
124
333
602
772
606
408
812
86
21
867
142
961
840
77
315
724
7
498
278
907
825
799
888
28
22
475
309
299
804
623
156
153
220
885
851
591
977
892
767
948
611
319
523
347
704
844
266
343
33
929
542
84
519
861
21
62
819
102
843
552
409
814
321
914
853
471
276
763
253
86
752
19
278
437
336
310
542
9
510
964
123
184
537
31
40
955
177
801
994
828
3
175
23
673
416
413
656
442
405
556
409
110
361
972
900
103
36
593
1
379
370
908
186
531
417
768
421
695
137
769
255
673
106
120
665
114
581
78
307
29
770
777
841
394
405
91
749
132
826
966
413
881
301
933
975
512
86
916
430
471
484
83
337
595
282
234
934
329
829
318
351
34
555
713
65
249
114
637
158
681
535
153
600
606
195
548
450
836
581
247
87
971
156
556
130
968
677
166
647
255
46
859
367
800
61
968
560
768
227
477
930
343
965
573
897
835
717
998
515
298
305
991
84
89
942
26
605
600
508
775
829
649
623
465
346
554
175
884
818
406
894
802
966
99
955
343
630
867
93
698
58
919
109
342
677
362
977
17
201
533
164
861
779
16
397
475
216
557
530
279
874
190
732
286
189
135
963
687
473
720
659
638
691
488
250
918
656
145
840
126
969
732
201
526
790
426
557
955
315
309
856
457
452
59
174
426
291
175
229
151
127
628
182
888
143
631
153
763
951
159
981
933
52
623
730
147
675
110
359
468
563
463
647
48
661
855
292
378
72
987
422
732
990
108
894
128
941
788
143
648
8
156
967
74
131
172
496
630
355
679
856
66
461
912
554
142
323
189
282
362
390
230
447
842
595
413
796
631
94
439
515
483
810
257
463
376
681
492
348
850
925
401
365
575
454
812
232
543
698
22
128
337
465
444
934
306
620
789
967
818
989
997
691
509
432
710
198
626
663
930
264
109
733
76
770
426
998
752
953
180
700
299
340
58
62
176
947
478
236
72
53
167
47
417
228
466
660
190
872
528
970
734
25
479
919
991
124
554
406
774
829
685
555
111
661
463
709
316
61
818
526
933
680
805
557
109
664
309
375
758
858
787
546
267
280
68
825
436
367
136
259
212
705
177
587
714
229
920
144
725
210
260
922
993
845
742
486
730
439
441
246
233
570
419
741
195
683
976
793
539
795
460
391
272
553
494
48
47
423
991
432
579
916
620
453
769
731
728
199
148
794
730
367
640
298
863
253
29
752
293
805
991
363
876
298
578
400
275
921
840
285
86
238
776
582
470
526
965
428
616
477
448
342
409
458
566
617
930
832
498
260
685
90
759
443
633
470
222
853
586
371
470
43
625
310
428
392
131
602
171
273
670
741
464
781
826
223
451
956
163
820
404
156
687
883
752
73
422
587
760
839
899
302
689
999
664
450
615
783
404
335
450
688
780
891
906
893
959
467
154
306
239
292
563
657
999
183
239
514
908
175
859
449
288
861
315
136
416
622
421
612
17
45
178
24
377
935
243
677
990
450
493
849
471
426
522
1
922
690
119
31
507
599
800
542
394
579
932
955
583
592
419
73
549
365
664
695
326
669
922
472
313
964
244
612
331
436
406
479
536
95
405
217
349
441
820
648
907
556
213
162
272
97
894
81
58
901
531
596
593
680
628
104
583
289
253
382
737
226
700
740
533
673
647
799
579
260
800
934
782
791
913
382
73
643
650
555
892
907
34
649
581
819
224
669
997
806
327
491
327
404
477
565
722
397
148
601
152
815
840
867
823
42
64
0
684
730
783
345
381
163
507
8
499
361
503
926
578
333
408
242
207
988
894
841
415
950
443
3
452
213
984
473
983
995
245
522
1
23
57
814
186
425
206
808
837
600
698
546
395
450
693
182
884
426
5
789
205
677
286
830
208
791
169
161
630
998
837
343
503
39
216
552
254
363
455
705
863
960
361
142
360
999
738
761
181
908
55
92
625
583
653
978
107
300
68
188
323
891
498
757
710
313
694
389
438
236
997
782
731
44
826
162
250
899
911
254
952
176
514
315
553
331
992
975
969
357
373
960
534
451
535
248
683
973
9
882
95
886
255
802
645
613
947
688
688
285
397
849
659
250
376
167
106
2
848
184
943
509
239
413
276
505
120
610
356
482
217
208
795
804
144
44
553
489
678
948
780
5
87
19
20
746
46
129
838
652
28
944
883
669
247
513
892
237
342
729
857
136
841
129
837
241
479
301
242
235
355
838
340
953
852
108
946
592
870
916
717
306
970
79
717
951
414
764
961
297
821
271
710
866
302
795
147
98
854
473
560
470
308
660
917
439
479
510
645
293
847
693
190
736
723
698
362
73
443
899
350
717
560
287
595
784
706
707
830
15
789
539
196
157
539
344
147
143
724
607
157
16
329
825
759
673
307
288
468
603
293
870
184
496
626
409
881
883
870
13
648
750
154
80
194
280
211
359
801
380
121
862
483
906
794
403
719
294
209
437
667
805
475
306
778
285
562
715
716
12
577
149
211
673
154
180
189
81
807
593
345
864
771
957
49
587
950
370
580
680
500
882
293
244
201
176
194
484
568
378
91
1
102
31
798
757
737
138
970
184
34
648
737
707
344
738
734
712
676
527
950
517
317
57
710
904
280
866
104
596
322
58
718
680
445
789
172
409
740
469
587
773
84
667
539
247
111
404
760
49
792
973
486
708
733
454
584
495
176
800
476
823
919
94
743
785
957
883
872
151
770
907
85
214
955
328
772
51
415
792
459
522
265
398
524
170
417
376
572
472
414
781
12
391
496
468
765
678
956
640
820
48
731
917
611
761
183
661
183
155
718
924
741
875
208
657
773
137
950
986
660
849
829
854
879
148
774
15
279
948
911
288
998
226
887
266
990
992
773
171
169
512
27
307
758
957
783
72
771
607
872
922
813
945
860
243
644
419
687
590
809
413
953
349
444
138
727
744
219
590
590
946
850
44
596
658
647
720
100
29
103
302
216
358
721
87
496
599
914
448
108
487
838
396
964
932
5
225
188
64
436
459
33
388
633
260
370
124
542
380
139
769
186
503
863
37
696
541
293
683
177
468
2
927
617
853
727
275
355
932
285
172
410
759
637
130
842
479
702
116
469
722
881
690
20
136
878
644
123
371
990
747
530
9
994
527
736
344
386
556
170
422
63
175
200
518
465
960
101
778
744
372
391
116
717
364
76
771
994
146
379
90
331
948
948
123
28
993
100
160
692
79
39
486
304
731
923
144
367
883
616
591
609
661
932
757
515
538
287
85
613
790
19
330
398
569
314
614
402
114
933
336
602
239
228
853
954
912
150
52
442
854
986
65
597
220
448
204
730
277
286
186
834
709
852
447
768
243
425
568
12
727
91
572
639
564
652
726
214
450
969
865
503
972
614
456
706
131
415
767
492
239
710
395
729
610
382
957
580
364
267
794
161
861
376
779
299
381
147
516
266
846
692
196
762
594
977
602
943
120
192
131
866
748
266
507
216
970
681
609
598
41
399
8
670
745
71
702
514
289
383
589
612
29
416
698
521
861
987
843
841
301
600
189
575
29
905
298
469
9
69
925
594
181
493
615
771
577
338
314
576
162
741
514
797
181
512
360
849
224
889
96
789
538
382
256
546
854
823
148
740
613
522
575
118
213
10
775
291
678
316
648
966
630
95
646
873
455
159
536
305
787
111
193
567
854
375
37
719
342
701
655
766
83
184
81
224
716
5
548
646
112
369
651
757
413
788
737
481
394
225
127
615
975
950
68
495
236
320
167
171
207
301
631
57
462
151
516
808
894
85
181
809
153
458
752
737
684
723
597
975
743
170
697
873
301
355
768
513
808
996
209
640
675
508
54
299
816
133
401
815
956
108
997
23
29
215
42
866
102
205
854
199
577
962
47
474
238
509
771
759
894
942
619
667
501
67
781
507
71
661
279
126
912
520
854
416
647
888
719
146
424
468
182
973
647
291
273
711
127
789
418
390
301
909
824
496
262
688
641
379
850
261
987
361
81
331
689
125
972
266
268
404
739
880
894
962
284
478
286
950
224
757
368
448
263
554
163
966
396
544
441
404
478
38
340
906
524
512
186
20
783
939
438
572
455
384
555
100
765
402
767
165
194
339
378
655
247
127
31
732
123
880
923
164
634
513
690
536
235
512
171
950
757
299
844
302
499
362
587
965
233
579
157
698
152
324
121
480
584
260
434
434
640
933
323
946
806
347
798
334
94
239
95
688
15
739
178
646
598
364
285
302
208
181
423
901
834
864
701
947
807
601
459
825
876
770
208
625
791
907
523
522
776
109
362
600
646
130
474
3
377
339
15
33
604
316
560
727
398
91
244
702
564
685
792
89
769
373
436
494
462
412
28
60
149
292
184
115
765
339
790
52
555
923
971
943
357
498
143
871
557
771
740
751
647
85
379
259
283
996
543
334
773
828
238
732
362
546
986
453
204
425
810
626
42
590
816
596
512
874
8
10
626
788
924
799
901
752
226
24
207
551
36
646
896
259
784
636
851
417
287
884
649
180
749
106
938
779
773
940
881
899
546
164
148
157
146
970
665
329
970
827
48
881
379
16
703
115
794
880
147
100
836
452
91
184
837
980
637
423
467
281
46
655
430
614
23
281
956
870
313
475
644
186
193
964
486
385
945
764
655
57
108
932
555
694
332
178
81
569
497
998
948
506
711
720
263
457
386
767
581
67
48
797
408
154
385
576
765
974
724
534
738
969
305
862
563
947
516
27
964
907
216
176
995
12
788
187
331
396
164
216
252
389
468
820
898
394
226
566
183
92
60
256
3
926
918
107
584
690
851
215
545
757
419
623
180
876
556
285
234
91
870
177
0
713
364
670
838
80
148
215
299
16
918
342
19
62
516
632
926
720
806
780
568
188
171
308
730
337
90
227
833
501
35
812
284
973
605
197
603
832
727
554
785
385
549
907
706
200
186
403
481
901
807
889
929
940
234
599
247
188
717
347
270
860
522
232
944
723
87
397
970
703
321
378
721
113
687
992
652
92
373
421
598
336
678
12
24
903
39
948
295
603
417
285
110
26
997
493
19
69
104
830
987
595
310
529
945
863
523
513
789
347
523
440
4
969
420
148
959
96
49
472
419
873
181
45
351
187
648
456
970
210
514
478
510
905
400
486
599
952
551
221
946
935
974
300
360
193
668
259
764
302
135
566
638
678
878
973
293
158
921
805
817
388
17
493
586
618
5
827
406
541
474
613
370
97
168
613
199
100
175
107
516
91
699
8
367
872
705
866
695
298
767
886
345
680
33
366
249
394
161
303
513
216
774
81
761
76
147
512
219
393
245
340
723
316
205
331
153
488
21
195
744
586
195
46
918
944
703
655
833
752
478
617
109
998
493
947
147
653
823
506
359
577
745
863
157
84
804
499
960
860
696
750
385
97
117
959
47
203
365
0
609
509
25
947
6
423
977
508
236
379
786
436
848
282
287
177
613
168
768
945
741
275
870
615
166
129
219
840
660
123
420
76
850
498
502
172
736
306
193
384
507
36
474
216
731
74
7
705
826
55
201
349
923
805
731
57
239
136
497
925
606
561
508
704
387
495
863
813
793
268
895
323
232
73
770
330
269
637
374
244
898
106
548
360
94
898
565
260
141
289
77
262
769
523
766
460
369
518
946
765
73
946
355
780
934
807
159
739
904
178
225
531
836
154
825
300
311
137
51
723
350
511
774
384
616
288
569
969
58
622
940
61
483
221
432
725
197
774
330
129
892
735
966
83
754
397
592
905
707
154
889
78
771
262
409
951
276
24
192
483
353
415
273
493
59
105
20
654
343
321
788
587
368
904
461
458
567
440
252
78
642
392
106
969
348
84
639
272
62
754
261
930
727
690
29
448
374
776
88
368
262
725
782
562
265
365
184
327
384
222
549
881
970
935
493
691
520
188
831
199
845
810
238
375
894
395
342
751
989
52
768
733
557
138
756
446
805
261
985
804
331
2
642
183
334
902
464
801
870
534
901
585
431
224
795
864
92
477
201
101
343
775
188
696
794
368
276
727
249
404
780
653
440
56
895
458
236
757
119
308
457
492
276
137
503
40
276
730
119
397
432
648
354
420
129
416
723
958
584
527
742
655
916
183
52
923
570
541
434
657
306
953
432
240
151
599
333
486
802
923
155
583
38
522
450
971
298
185
386
171
575
31
58
631
695
924
800
914
340
377
961
935
714
832
206
49
151
140
902
582
594
969
22
870
460
266
663
412
553
219
782
556
28
221
297
474
897
168
277
395
550
125
174
346
185
641
804
487
929
845
771
473
116
841
49
373
205
587
838
247
335
688
673
422
194
873
663
813
690
810
151
430
941
481
167
425
923
418
994
277
465
436
885
374
322
495
165
508
636
743
429
288
632
0
746
543
248
339
9
209
389
318
861
313
226
389
171
540
715
183
438
192
871
692
949
640
332
61
909
121
566
354
860
370
285
354
998
777
120
480
568
985
519
543
31
103
666
154
403
144
782
221
860
126
74
293
764
727
805
432
60
99
436
139
313
203
134
337
175
590
320
650
68
273
345
273
221
513
672
49
651
519
945
874
102
79
6
301
525
641
298
385
164
377
675
367
807
845
942
360
334
863
531
319
341
86
609
929
404
886
903
98
691
489
345
597
698
8
185
410
178
424
985
198
762
695
417
522
339
163
443
498
288
37
807
223
758
971
163
459
531
159
90
736
854
309
175
218
689
810
63
158
158
206
257
881
330
600
706
634
685
660
775
550
805
52
75
236
876
982
270
91
566
888
130
820
895
391
603
727
347
592
357
662
722
7
659
16
768
510
785
716
55
689
742
247
63
310
351
112
887
662
118
629
412
826
648
760
167
111
646
388
26
803
278
737
941
488
980
692
746
153
476
103
743
955
723
315
119
927
255
499
618
830
646
290
778
164
317
969
819
171
401
321
396
458
661
6
414
337
985
518
189
389
140
147
420
185
357
196
483
365
916
235
867
755
923
752
12
100
653
218
188
536
397
535
561
841
786
684
125
758
574
660
576
325
593
641
42
846
324
503
849
90
109
286
259
604
392
178
567
817
662
246
455
722
34
209
301
521
672
996
368
127
870
646
594
635
95
701
156
738
564
394
158
67
181
802
279
236
588
898
537
153
15
26
656
918
169
88
381
707
956
366
295
147
156
670
949
822
825
959
432
342
619
942
242
265
918
864
8
945
629
226
881
890
28
627
85
174
313
258
559
565
938
734
82
72
18
987
277
587
753
836
564
159
192
206
58
863
278
338
108
549
492
199
100
809
601
822
742
722
73
875
948
174
884
902
270
821
357
810
15
596
663
862
971
302
221
79
750
958
361
901
902
551
868
906
285
41
855
691
371
632
985
697
34
668
293
432
736
510
207
244
713
159
324
841
808
892
438
200
567
646
970
909
526
246
560
231
466
810
619
140
704
125
242
827
327
64
897
426
829
960
319
163
641
389
433
563
874
710
711
253
972
297
309
951
232
364
842
510
465
826
615
697
705
5
398
637
304
87
313
92
811
677
109
944
463
293
521
91
83
79
117
816
966
637
562
118
505
817
491
773
107
268
693
629
382
313
469
129
753
495
634
713
184
414
743
208
780
634
352
15
284
247
273
949
603
522
71
244
255
572
813
921
273
269
674
595
888
909
408
245
91
454
344
764
810
904
905
705
533
448
64
225
242
422
860
298
541
754
914
62
31
1
327
841
212
526
336
721
813
179
411
808
837
90
741
474
717
889
408
379
818
532
287
305
412
680
970
789
38
167
140
911
511
94
131
659
880
199
850
184
910
917
666
833
111
321
436
871
52
441
306
941
848
274
940
832
303
869
213
637
159
15
125
857
770
373
460
998
218
11
168
498
968
629
582
991
661
580
997
952
326
286
375
715
689
72
468
551
235
455
792
258
344
795
501
327
226
720
557
700
650
878
292
457
543
344
846
777
100
645
337
633
118
588
731
791
61
49
70
218
88
75
560
915
544
159
793
874
391
864
457
500
865
398
470
922
821
61
996
346
39
620
297
538
842
180
945
606
540
522
261
836
592
483
953
218
626
450
820
911
896
940
202
968
510
284
50
108
65
554
137
257
529
666
11
430
49
674
312
999
857
209
250
384
431
43
323
331
369
426
699
510
708
862
70
98
441
820
937
519
460
232
2
648
158
314
218
114
342
656
626
906
451
426
69
955
26
544
986
331
41
975
210
324
902
160
330
301
414
478
602
504
918
464
791
461
9
940
100
57
340
474
727
204
649
408
239
797
727
645
221
673
331
904
942
222
927
638
532
429
378
621
20
291
3
409
731
693
384
924
421
244
735
325
556
731
599
35
439
37
891
763
649
393
701
875
110
667
875
834
849
23
966
488
361
714
983
250
91
289
859
98
348
710
874
129
164
487
478
84
636
16
893
204
353
855
914
381
853
632
655
335
909
32
349
480
792
126
147
504
349
987
490
174
574
40
800
23
158
888
643
726
793
614
411
267
488
192
287
958
720
370
449
682
895
836
951
241
691
764
474
90
492
412
729
916
639
524
70
483
168
356
854
909
487
316
324
961
690
518
987
691
772
211
533
97
717
112
282
931
909
40
192
665
736
538
256
28
746
441
596
28
571
147
166
485
721
604
891
333
834
26
216
186
335
789
929
86
222
87
925
529
751
927
814
855
199
450
140
689
438
871
879
265
43
212
53
107
24
845
764
60
486
580
235
129
823
129
952
221
63
640
719
466
750
329
466
289
821
736
670
836
195
648
513
778
918
770
926
354
246
111
817
903
861
621
353
798
668
237
534
914
527
203
39
973
657
175
643
271
131
803
419
170
155
914
552
601
465
577
999
319
226
780
183
467
10
845
7
983
398
121
928
822
991
850
769
994
493
674
94
961
120
626
115
507
419
403
643
257
807
93
824
713
335
137
117
300
983
997
438
110
538
703
959
342
770
529
615
394
851
398
262
883
284
337
332
725
916
584
635
761
366
266
838
681
448
829
780
37
620
47
768
450
523
444
175
412
605
172
159
289
671
192
216
787
177
117
450
181
136
156
748
219
218
365
279
447
341
689
105
505
470
261
99
432
366
87
340
867
336
535
871
282
178
193
896
98
754
216
791
193
336
578
230
547
720
313
533
97
932
768
994
225
314
756
848
993
561
579
634
789
112
273
863
512
179
956
463
312
676
304
315
216
284
232
250
689
755
323
80
475
342
589
698
81
978
313
648
632
116
229
658
58
526
700
673
892
268
537
978
687
27
861
903
627
332
807
430
330
458
776
151
102
873
973
802
172
79
118
302
127
304
989
75
23
693
977
918
739
527
167
878
273
61
173
115
730
941
767
73
896
332
614
953
886
946
911
128
821
846
734
131
156
480
193
638
427
928
265
213
313
960
461
917
732
265
372
137
180
245
143
890
995
635
199
93
62
39
23
911
708
24
248
472
807
108
87
502
544
322
143
921
505
246
982
159
53
988
136
194
282
133
739
22
321
637
412
932
981
552
37
552
349
255
891
719
832
755
181
255
58
887
821
230
221
921
233
549
550
584
667
414
990
805
318
126
538
594
493
871
28
623
684
468
247
395
757
429
619
219
599
47
37
871
241
719
97
412
28
953
536
220
29
759
305
907
682
498
543
211
541
32
866
747
926
75
935
29
262
47
366
311
621
267
852
91
201
190
82
159
651
372
242
830
915
307
266
775
560
378
729
455
603
873
217
895
127
6
824
930
253
737
822
809
189
690
331
618
365
104
431
304
204
145
890
118
108
475
375
140
145
205
194
772
443
585
616
840
309
751
985
42
617
221
772
976
227
177
697
168
32
791
718
167
701
834
57
586
298
762
349
169
107
811
667
832
969
325
748
150
210
461
712
408
907
350
86
961
349
614
776
512
122
663
507
670
85
381
301
230
569
557
117
614
91
707
768
582
208
516
809
56
83
702
169
437
350
370
410
944
450
156
135
380
292
493
299
668
276
159
960
969
878
170
829
902
789
102
638
360
61
413
402
410
226
199
308
378
16
735
707
518
162
297
42
344
790
219
302
309
33
430
893
444
145
596
305
197
413
439
34
381
655
711
756
602
917
90
391
4
130
274
430
572
718
319
555
218
818
429
447
402
530
665
414
652
24
878
680
659
416
837
741
615
222
202
416
782
906
614
710
53
218
109
2
935
87
281
912
270
871
578
386
921
401
760
597
653
85
509
372
670
358
390
869
538
994
732
895
919
337
64
255
780
591
219
604
877
662
342
402
186
19
975
402
726
941
706
384
424
131
476
537
512
836
569
490
689
708
488
291
55
332
956
861
708
214
708
14
971
662
470
48
764
837
595
423
478
536
329
616
135
842
213
793
775
979
891
943
279
729
583
686
574
899
513
476
211
901
630
433
533
991
735
413
171
226
672
645
192
919
677
89
739
46
608
133
422
606
200
849
598
242
897
16
133
70
200
689
512
214
899
439
86
649
585
917
449
525
442
213
873
790
700
153
614
30
920
335
357
131
429
929
574
747
932
471
951
471
106
324
504
925
599
782
389
191
903
16
208
928
279
710
456
378
365
175
506
785
390
262
49
83
895
561
19
704
762
621
475
623
160
874
572
854
858
78
706
466
593
522
74
492
250
367
948
545
56
709
384
560
115
430
388
928
753
936
273
12
381
516
601
313
218
748
981
618
547
994
210
773
404
766
120
121
643
880
718
430
670
289
958
356
718
597
673
511
319
444
217
476
113
711
38
935
554
849
481
675
841
707
351
974
490
209
671
462
313
323
575
578
677
683
268
311
114
979
833
443
141
76
254
622
647
980
41
846
590
405
554
393
989
568
404
380
350
621
313
604
137
331
602
129
902
314
558
767
823
117
743
853
405
987
82
165
19
303
291
573
957
568
157
204
431
33
639
704
137
85
140
910
235
368
598
730
619
638
999
50
830
530
347
69
77
705
896
583
184
63
925
771
592
96
58
55
310
970
625
822
927
601
9
986
44
157
809
944
796
830
927
532
756
13
998
475
108
71
399
822
79
12
937
956
246
351
866
794
306
31
676
20
910
853
939
485
914
87
72
504
812
238
119
371
342
839
783
577
940
993
984
393
586
998
761
843
24
940
668
255
754
971
611
129
590
399
105
789
525
202
515
637
482
488
20
205
780
576
707
654
331
214
829
419
81
872
794
700
41
108
804
316
621
868
765
661
746
583
38
178
175
425
281
130
10
102
422
909
823
185
791
778
919
702
2
33
916
222
566
188
129
264
410
269
766
569
416
719
226
33
795
494
285
50
845
195
710
585
31
335
251
870
195
542
685
238
184
20
813
77
798
958
950
386
957
269
965
633
826
186
855
771
819
918
100
190
32
132
653
138
941
334
214
417
834
394
710
815
882
283
364
760
852
547
627
932
194
142
741
552
86
115
557
142
982
446
398
146
697
839
605
705
101
401
538
445
48
147
962
846
664
693
154
725
257
827
285
197
866
703
234
939
788
292
881
15
679
236
309
47
561
536
703
701
127
516
687
98
456
451
324
671
41
499
730
483
496
543
650
35
473
546
727
60
202
937
967
382
536
603
104
418
72
821
944
657
232
714
78
722
459
294
668
892
88
543
860
700
355
378
84
453
593
689
697
268
72
610
668
337
409
460
110
248
244
328
9
417
705
816
491
415
881
935
387
713
244
257
93
221
707
514
711
929
100
54
92
406
237
897
210
291
665
365
809
715
500
423
619
968
512
148
713
932
638
267
225
68
178
912
604
38
117
532
238
627
910
61
864
872
265
718
949
333
29
952
586
834
872
274
524
817
831
794
365
744
280
447
475
255
770
49
326
57
846
143
281
989
629
172
119
776
420
580
265
259
518
332
424
717
802
199
383
930
624
842
863
707
521
192
629
211
930
157
729
397
541
438
347
502
249
973
406
642
198
472
605
734
53
86
349
684
746
856
455
122
216
446
979
523
121
464
508
885
674
724
587
241
56
732
394
747
782
167
515
842
839
628
823
344
349
225
979
900
815
463
692
411
311
831
956
865
988
788
571
129
887
114
563
92
687
607
173
315
89
872
173
184
706
87
860
390
590
32
676
365
976
869
841
144
493
17
230
378
603
715
394
185
122
275
24
419
504
572
375
430
720
119
845
101
330
496
249
397
86
11
548
937
709
867
577
498
839
955
239
923
913
311
6
409
547
753
779
376
563
95
955
976
438
695
55
911
816
731
649
250
367
664
875
900
411
723
488
472
901
724
87
339
56
860
746
819
175
381
575
755
486
740
611
722
847
506
9
767
658
448
512
275
322
236
735
947
634
827
221
652
496
329
751
880
371
362
273
602
113
507
957
2
815
94
868
66
597
485
419
796
888
121
121
594
863
449
711
304
163
742
893
467
803
320
658
810
777
871
102
856
312
528
222
323
879
910
872
594
703
142
761
841
935
29
871
388
961
96
861
679
849
477
256
620
743
304
568
353
446
514
848
45
263
26
589
615
913
674
958
491
659
174
472
342
910
288
160
194
693
928
355
424
773
367
995
216
258
434
962
213
579
286
604
368
383
814
209
716
609
497
91
177
330
773
695
494
308
125
343
598
40
378
205
873
246
986
908
329
90
483
865
811
877
668
892
247
597
252
870
686
565
488
550
936
163
207
26
749
894
370
861
776
575
873
444
183
987
844
557
637
924
280
774
546
999
674
197
396
407
386
88
757
304
837
192
67
290
205
943
887
472
228
459
936
901
10
262
370
744
330
97
531
188
237
746
668
265
955
272
562
275
872
860
70
897
34
657
878
444
323
229
219
125
247
551
248
375
975
476
505
124
960
313
664
217
29
999
843
393
115
168
6
107
369
798
918
584
993
31
951
561
485
572
518
460
937
843
305
772
483
337
683
411
807
433
839
745
568
401
226
367
335
822
222
427
26
839
132
47
510
617
592
757
862
946
688
234
504
498
915
838
54
656
90
748
219
175
176
694
875
234
201
215
477
709
223
671
733
541
760
891
815
253
452
492
313
607
495
542
457
171
843
662
292
110
191
419
626
383
633
858
538
491
860
353
718
466
489
333
709
866
706
487
888
207
104
668
870
437
48
787
842
898
118
372
928
333
310
576
32
795
985
330
285
556
21
260
692
101
327
466
616
503
251
703
198
373
143
494
503
411
968
625
212
474
558
328
277
657
662
192
130
854
347
556
898
785
26
305
620
729
423
587
591
521
961
292
559
484
568
977
413
657
61
497
873
516
638
214
311
545
89
118
917
975
300
895
812
904
656
645
240
119
597
133
433
287
102
351
570
508
145
970
972
134
628
24
685
40
723
955
127
262
986
122
80
625
144
25
250
873
870
873
763
979
15
159
794
564
317
745
449
107
260
116
836
789
191
923
27
432
987
26
700
925
663
883
533
94
826
572
467
412
85
552
565
32
977
405
490
30
4
659
141
138
125
60
494
102
867
454
348
564
439
772
705
269
645
609
810
68
811
689
688
877
577
794
186
299
244
602
583
28
707
718
641
679
831
557
509
224
414
439
501
68
373
603
225
139
137
437
507
799
697
156
687
935
855
560
142
971
496
47
792
201
407
856
826
298
496
182
318
933
963
893
715
446
645
460
649
155
829
156
26
434
221
540
677
148
314
51
597
750
115
86
89
683
203
559
175
133
715
649
348
483
658
600
298
657
500
382
950
712
666
720
560
743
482
842
299
876
121
351
863
621
274
931
629
765
78
46
572
887
381
557
596
228
987
975
341
991
487
772
793
832
361
24
233
592
520
717
140
887
520
38
553
832
152
753
314
919
893
783
715
603
120
208
796
638
642
338
159
403
664
565
950
588
140
30
639
679
377
408
698
609
789
537
672
228
799
604
798
286
538
605
979
691
118
5
81
154
177
912
413
509
34
577
356
897
738
865
115
63
120
716
45
598
944
994
854
249
586
553
833
448
197
576
867
457
476
243
24
750
234
734
737
708
255
229
666
283
175
522
602
217
289
804
185
90
605
716
792
668
819
461
510
459
644
173
802
215
229
24
887
782
978
292
612
778
629
473
484
473
137
347
517
985
635
61
277
384
331
445
774
744
975
605
956
635
755
537
868
945
899
891
659
277
655
323
649
754
900
414
847
872
407
113
615
431
70
536
426
540
830
869
777
683
396
233
72
181
251
792
167
739
733
840
147
663
889
738
267
339
548
761
989
208
483
235
697
895
780
361
251
428
531
553
802
315
768
459
120
613
580
301
970
850
757
87
656
400
86
798
958
497
528
407
865
66
434
787
696
78
494
521
328
15
627
980
656
203
304
245
351
229
762
412
329
742
886
949
926
408
519
598
16
364
640
121
417
534
503
786
415
145
985
419
489
108
102
173
742
735
71
546
790
336
779
752
138
623
226
904
827
213
923
238
522
353
990
661
224
320
585
727
551
266
521
583
289
897
633
985
892
743
695
537
823
820
555
7
972
275
916
500
509
813
553
927
452
367
639
555
544
305
933
299
861
84
464
195
17
961
883
248
149
695
741
628
747
796
910
941
315
157
337
776
742
841
159
144
33
492
520
268
733
444
709
841
76
199
157
186
555
617
19
998
102
589
78
953
386
646
199
353
130
668
247
532
955
800
374
411
899
402
883
44
631
841
179
122
592
623
511
181
677
116
17
335
74
626
916
720
19
79
64
188
340
224
573
147
316
168
202
594
82
179
754
158
925
163
509
554
753
288
47
330
801
906
237
888
879
588
667
142
215
786
220
76
217
506
614
567
248
840
940
956
235
581
389
96
169
257
324
410
951
758
715
624
500
920
884
149
803
66
763
366
547
973
130
740
144
742
191
315
634
109
355
51
210
220
264
572
423
793
955
755
125
821
515
181
160
458
814
857
594
219
619
818
703
892
751
79
614
142
171
247
921
250
814
75
21
615
941
374
546
198
784
756
392
390
97
922
208
320
622
781
502
244
366
85
476
203
639
178
751
315
791
718
355
690
247
971
800
462
628
159
299
594
777
611
135
374
678
232
193
481
240
766
758
575
679
774
392
312
962
616
467
152
345
826
104
745
434
549
684
89
670
903
690
300
835
745
966
524
410
161
150
862
935
991
726
469
497
942
383
295
936
711
271
315
834
85
838
361
187
6
35
157
357
404
328
694
227
294
230
467
712
15
959
135
425
769
175
786
220
376
296
152
858
117
936
476
437
597
155
838
721
202
827
128
664
202
50
548
737
216
841
213
322
975
986
115
332
417
509
351
469
798
282
306
331
555
614
145
674
65
584
289
901
66
960
312
224
77
820
835
103
821
419
464
393
936
881
690
578
741
720
368
192
775
102
681
78
738
730
977
905
397
419
150
11
82
806
45
760
868
160
671
448
144
365
525
448
734
110
676
468
404
3
820
674
984
251
970
546
439
666
100
859
399
567
871
741
884
47
403
857
574
16
112
882
564
931
582
948
89
528
323
202
577
521
255
779
554
404
887
497
383
973
504
471
363
273
983
607
950
913
946
553
982
642
881
661
492
697
137
849
323
776
419
621
129
831
610
314
756
541
184
994
295
227
681
61
735
832
407
332
615
348
945
400
910
309
614
570
638
889
317
950
17
392
836
481
290
649
744
298
125
632
301
287
380
66
797
349
903
245
813
960
79
627
583
623
206
290
974
836
892
968
13
562
332
630
798
402
725
519
280
348
322
616
33
939
96
274
932
312
595
30
97
845
89
454
722
647
326
998
974
999
461
445
118
343
193
394
398
995
78
224
604
77
618
160
112
581
230
541
196
360
630
530
973
751
49
3
31
530
410
396
56
230
773
18
739
104
44
373
387
822
527
789
914
603
580
301
389
787
847
309
202
83
931
936
85
554
950
879
173
6
235
472
924
382
855
525
309
313
64
150
74
587
824
733
834
709
174
791
435
834
609
222
771
459
20
631
226
577
512
163
36
516
563
903
562
891
259
553
231
356
939
861
3
886
841
614
964
855
414
681
172
183
554
725
461
970
151
876
496
735
431
331
176
906
967
758
87
471
75
619
152
735
560
612
830
610
369
502
677
537
211
521
284
720
531
564
148
581
393
610
578
902
546
369
374
967
457
768
388
426
213
200
533
260
139
407
443
172
450
991
307
377
442
435
951
269
282
608
513
689
581
942
888
549
23
640
60
764
845
156
996
290
753
262
948
543
308
139
62
602
456
123
675
520
895
554
634
459
848
232
690
965
113
4
518
62
878
679
967
847
568
635
137
472
316
529
909
480
984
948
306
449
967
269
734
585
58
185
371
26
547
870
305
249
538
507
115
326
156
752
80
601
444
753
809
322
274
609
214
658
318
737
687
373
19
590
546
603
729
980
490
997
774
885
854
607
905
619
754
490
544
195
409
650
311
311
963
845
26
97
596
97
111
372
135
313
689
935
370
568
426
369
664
414
573
175
189
267
620
117
155
375
169
597
812
490
292
995
258
590
977
513
415
745
298
929
799
684
877
682
138
91
268
4
266
677
148
967
379
544
94
191
661
616
15
939
404
941
934
217
226
465
675
149
129
723
653
386
391
400
96
447
657
217
846
468
785
323
48
420
269
482
242
471
62
813
562
758
531
650
371
807
998
105
951
643
728
141
437
901
577
141
388
845
546
78
193
653
334
320
448
544
28
918
31
345
678
874
187
249
548
612
46
718
696
698
627
854
978
929
733
527
365
826
622
182
821
173
815
481
855
82
771
454
480
186
160
81
259
500
143
36
399
801
923
258
237
167
953
458
290
525
135
539
145
278
68
749
612
649
713
208
92
852
826
831
669
25
755
306
636
447
807
485
899
766
340
598
730
357
63
390
19
229
826
146
811
416
683
256
435
52
69
513
638
415
493
292
812
716
69
6
38
574
471
472
420
994
158
65
880
565
763
452
231
223
982
306
423
389
55
631
469
230
997
735
419
948
49
260
853
87
385
895
218
202
943
837
369
158
999
142
773
835
647
463
159
784
334
921
125
644
387
684
472
229
859
145
725
102
30
950
510
842
237
97
207
645
626
689
432
214
328
915
878
385
986
360
867
746
870
865
286
342
15
419
744
821
863
226
457
10
218
482
629
200
537
95
728
101
160
331
176
300
757
442
617
184
424
210
979
816
451
853
871
310
897
829
959
22
174
786
751
393
623
508
389
989
830
145
93
860
80
635
234
538
179
293
545
733
858
192
923
696
301
223
599
719
867
662
54
452
379
167
649
266
861
173
178
624
45
345
82
107
631
469
470
507
194
526
494
466
122
29
523
1
955
473
667
350
223
549
103
263
311
818
683
751
868
907
297
180
1
544
925
157
89
138
229
394
378
588
890
660
342
473
800
853
18
231
177
572
750
771
181
206
773
791
621
729
801
329
400
365
551
205
803
834
115
963
520
238
96
49
553
281
624
782
331
671
192
841
412
393
450
517
221
889
183
226
180
881
654
221
966
340
255
92
864
227
593
821
977
563
108
839
457
192
506
717
167
697
202
587
435
912
834
737
336
231
387
173
929
474
312
546
200
943
788
969
77
53
707
366
913
384
186
977
745
846
844
540
660
278
993
761
418
686
609
378
627
941
310
639
127
701
692
243
362
527
409
702
285
215
442
106
500
670
860
347
584
601
349
113
175
344
693
8
395
802
105
333
259
181
24
332
875
403
683
922
234
867
332
823
554
426
904
289
895
79
261
423
667
925
474
517
346
267
392
38
992
661
198
557
950
936
201
999
560
525
341
988
176
537
74
12
808
80
672
726
718
191
362
235
82
914
158
824
833
119
254
590
121
909
920
635
726
895
660
473
306
571
524
721
694
492
572
146
835
62
322
601
127
420
715
347
169
673
527
232
602
114
399
650
254
479
769
93
76
261
384
564
650
149
875
7
583
377
407
950
517
72
512
936
936
888
400
433
65
254
8
544
956
185
302
747
774
835
85
967
35
161
948
326
483
505
490
718
170
600
503
496
923
414
711
706
854
835
737
32
845
998
93
961
489
780
887
883
476
450
305
949
499
836
830
475
57
119
62
427
873
176
523
838
139
622
655
120
499
664
689
731
906
610
960
42
931
190
615
296
525
74
348
33
426
10
637
408
567
740
845
747
321
534
529
286
686
670
143
84
335
53
964
376
119
126
720
278
886
689
484
461
175
606
117
687
572
379
375
965
355
777
976
927
244
663
888
803
829
178
49
316
426
811
609
678
312
229
282
597
698
634
853
22
374
301
705
877
948
197
685
732
227
579
467
710
836
463
536
377
765
408
737
829
357
698
952
729
737
746
818
243
762
712
326
471
36
427
578
12
888
687
776
299
904
882
888
919
274
566
649
918
577
695
100
112
289
441
508
268
616
10
265
844
184
32
560
708
899
419
327
945
316
419
543
312
836
294
875
369
870
965
662
864
510
724
131
584
466
360
623
842
157
616
445
824
787
980
18
499
839
392
319
42
137
400
482
7
120
386
553
807
624
935
593
907
890
245
789
540
579
402
514
555
841
851
449
85
147
129
604
447
488
93
269
186
966
207
489
94
563
866
771
98
14
280
463
489
676
630
892
759
557
121
20
599
172
501
179
592
31
51
809
480
196
447
987
453
834
606
45
820
529
640
317
401
858
359
152
781
575
746
71
97
704
103
488
923
968
0
166
574
886
357
716
888
273
54
873
20
379
345
446
53
49
367
665
169
705
69
417
154
331
750
417
686
617
568
754
762
854
805
199
838
508
291
159
713
159
123
761
878
295
657
674
122
890
906
943
466
491
201
930
722
387
499
754
393
949
59
251
512
557
470
425
173
813
317
161
598
240
524
258
201
902
230
160
67
902
760
519
111
73
54
973
699
735
81
383
592
433
754
509
95
258
839
996
247
31
286
703
950
918
462
241
636
555
486
335
363
915
537
669
301
528
148
412
891
7
585
463
163
775
466
879
886
483
285
139
240
209
590
699
534
918
46
566
633
376
590
197
267
349
289
332
567
789
53
552
35
40
259
177
117
721
118
893
68
450
317
723
863
230
85
48
467
170
935
182
670
261
375
729
100
889
135
831
222
86
521
691
126
926
831
59
377
302
125
824
284
976
685
381
529
609
337
469
77
428
378
412
215
547
6
258
805
93
253
42
595
515
471
506
434
950
491
343
403
185
19
375
588
628
753
597
639
555
21
606
772
118
603
546
158
567
821
838
633
592
125
983
78
169
98
585
591
105
856
270
0
630
402
29
283
298
772
280
987
275
489
934
989
871
394
811
454
360
501
94
377
510
312
584
407
106
305
571
569
958
951
935
846
261
350
222
861
984
418
710
384
624
388
554
689
691
208
569
979
661
348
57
418
261
190
934
875
642
734
1
205
696
647
826
797
694
435
728
102
786
585
135
81
999
648
276
676
373
351
382
31
736
342
98
480
788
844
307
161
647
112
483
537
824
953
216
912
969
489
696
15
387
956
633
500
358
498
188
353
584
871
438
507
542
85
24
248
126
813
188
986
993
826
713
862
955
98
602
396
969
755
680
104
271
242
934
536
321
612
728
727
663
926
434
618
835
161
106
701
736
114
57
161
812
749
205
559
764
533
766
475
451
681
370
716
578
333
841
612
10
250
321
386
397
383
923
871
564
321
516
65
537
821
447
89
442
636
652
193
180
832
350
919
786
975
480
175
665
187
949
871
238
872
657
579
743
823
516
43
69
778
664
44
990
149
192
539
554
542
694
464
633
735
955
361
646
120
147
776
144
124
303
404
247
196
628
41
321
38
119
883
292
633
886
579
712
843
487
325
902
632
213
225
655
816
258
672
19
175
852
30
102
468
597
942
1
694
447
731
894
914
644
455
249
398
217
540
830
742
728
168
216
628
378
202
407
303
786
109
328
289
949
898
156
657
43
167
807
610
723
661
910
218
153
206
356
483
525
867
788
158
338
801
332
365
235
390
803
697
25
549
105
700
753
159
424
273
288
70
504
144
348
21
7
928
349
847
670
87
76
183
148
218
712
214
119
640
455
122
263
751
892
955
319
59
70
920
381
494
720
389
688
941
28
679
73
366
849
801
399
206
809
438
487
480
582
75
879
438
875
340
483
647
892
993
580
419
657
849
63
399
149
871
339
213
887
644
370
171
111
575
735
182
192
70
53
97
680
488
652
706
224
146
140
294
230
216
611
20
659
802
630
446
492
564
356
164
995
927
561
18
488
995
874
225
568
356
154
732
866
859
112
447
136
737
350
968
720
266
942
629
754
714
962
472
696
436
234
790
225
837
681
885
319
636
326
620
529
639
452
489
369
621
657
849
735
946
966
458
941
552
7
81
125
740
964
803
400
326
563
207
925
967
201
739
585
565
123
356
306
798
660
341
167
569
336
505
164
67
232
896
84
739
267
883
261
151
224
40
208
476
827
11
536
757
10
195
746
890
829
827
817
670
824
310
334
144
633
841
898
256
492
346
791
549
894
133
969
994
530
741
868
244
396
310
162
139
23
771
161
381
854
166
709
383
4
914
22
85
75
483
176
628
532
581
82
26
448
738
41
799
878
927
573
57
558
116
95
447
608
787
142
732
14
869
91
47
25
628
511
656
832
162
54
506
63
361
408
874
196
325
502
517
246
738
705
828
103
303
409
673
46
46
815
56
259
923
181
635
259
962
228
628
211
672
194
183
357
279
443
402
993
70
317
92
786
307
862
767
652
211
802
997
226
376
81
651
44
180
268
312
313
205
812
510
463
488
880
920
120
666
992
396
896
842
492
137
543
980
320
686
993
414
479
190
515
259
26
901
934
401
16
921
134
385
607
704
619
265
60
238
997
902
146
8
286
494
438
554
489
113
812
969
572
335
438
147
150
988
876
887
151
923
374
209
805
964
134
102
591
982
770
683
647
984
881
327
315
856
132
835
249
356
307
487
240
411
858
37
760
335
979
256
341
585
984
668
350
185
482
713
904
425
512
15
429
334
936
774
557
485
258
805
869
526
201
170
287
891
941
854
229
235
893
761
564
690
479
406
816
25
382
61
415
956
422
691
390
489
145
344
848
321
847
474
415
829
444
156
307
182
300
889
779
886
949
871
588
223
798
663
625
603
631
698
380
504
666
190
102
434
538
807
902
116
879
136
85
560
353
29
198
384
751
344
487
756
486
245
891
735
688
214
569
626
84
662
866
3
296
238
695
109
219
801
158
990
767
377
619
291
91
422
897
397
267
922
851
918
657
872
93
285
996
838
440
658
722
591
631
954
336
520
417
102
326
463
975
215
521
964
891
610
966
920
866
147
421
667
887
710
766
462
753
522
19
948
992
465
579
455
695
322
385
56
656
770
159
503
964
483
152
467
745
57
918
260
841
759
876
780
398
458
996
915
715
946
387
842
0
409
253
585
539
415
56
876
441
9
251
923
438
672
786
725
708
40
630
722
926
396
168
609
690
424
533
545
40
682
975
20
959
965
65
256
421
335
285
590
905
680
448
176
227
271
503
807
114
79
296
904
546
95
261
505
733
227
586
985
878
796
678
554
96
355
568
92
504
950
866
199
957
699
592
80
796
299
105
313
801
94
667
235
170
389
791
520
35
84
592
618
578
4
950
848
849
466
735
516
226
705
515
807
152
582
557
528
14
894
365
805
731
70
903
724
365
952
507
481
949
506
966
175
826
762
195
473
86
388
474
425
976
734
216
988
394
869
513
488
22
63
95
480
448
618
946
844
236
960
913
232
864
255
817
613
990
250
939
328
821
139
328
497
306
844
487
439
897
797
916
988
492
318
253
678
525
519
432
744
990
955
642
693
140
84
441
729
331
705
256
535
476
508
623
986
531
128
247
164
721
716
268
855
872
168
519
724
542
214
356
193
817
283
885
840
316
477
880
895
243
564
377
981
87
589
647
976
250
674
381
159
166
783
865
44
484
59
643
614
171
729
248
118
852
209
348
199
166
711
304
179
751
76
489
83
999
703
470
915
598
967
559
207
822
360
648
218
556
670
203
68
732
907
676
244
628
895
499
680
512
207
1
877
849
798
687
402
125
486
456
604
42
697
947
764
652
499
898
428
525
585
998
142
250
637
508
371
949
110
358
484
806
41
253
963
477
371
613
971
718
540
531
945
952
111
37
703
747
601
199
208
320
124
362
105
22
211
266
570
565
776
666
659
438
177
982
479
847
263
799
291
408
617
952
999
284
229
763
612
804
484
390
744
397
210
655
711
778
59
911
921
479
610
148
407
638
481
257
71
42
42
826
251
61
418
671
18
192
238
241
956
300
430
336
18
791
190
280
298
888
659
89
142
898
143
919
747
114
689
607
84
295
916
854
31
273
75
388
999
54
202
86
447
385
229
915
744
100
756
610
464
873
91
930
689
523
909
152
133
894
866
419
59
520
884
353
906
19
269
799
795
870
35
388
960
550
953
612
860
757
474
934
849
909
20
141
611
315
55
36
680
157
343
952
769
782
983
324
487
177
498
355
457
949
650
981
513
201
446
453
175
193
343
181
188
595
781
670
369
877
119
400
260
689
2
626
50
94
780
946
35
587
255
670
616
382
727
526
713
389
117
175
99
442
233
954
473
148
543
963
623
281
530
570
896
858
133
391
548
909
835
71
461
426
587
2
606
605
7
415
321
263
434
689
723
981
887
434
536
67
617
164
298
935
600
365
979
647
267
377
369
245
505
137
979
610
565
555
546
479
417
758
420
837
528
455
980
279
491
805
316
267
988
226
326
111
0
813
95
823
845
516
3
903
149
671
798
93
376
870
424
760
270
893
811
552
703
568
884
557
52
853
39
809
772
305
6
891
828
940
643
435
851
602
73
218
163
478
641
854
197
841
723
888
242
655
794
773
914
840
649
401
670
979
806
657
16
375
489
555
558
772
10
649
541
450
874
153
182
26
172
787
969
857
522
128
307
324
19
446
720
795
760
97
439
503
383
864
487
721
881
148
275
196
608
827
885
12
167
844
974
930
227
984
109
605
544
589
84
844
456
33
750
772
456
485
598
819
644
980
72
127
207
580
625
542
914
726
956
443
209
497
123
131
506
815
415
238
476
469
557
627
846
915
681
362
885
980
797
389
790
935
53
828
631
519
703
305
664
666
589
944
443
950
945
20
33
308
719
145
277
970
399
581
190
919
725
516
253
564
188
740
882
133
479
614
343
975
413
66
115
287
418
349
614
92
755
425
534
873
818
291
878
710
542
354
891
712
114
63
612
975
291
616
342
421
137
423
898
937
530
432
578
383
867
768
30
349
504
876
907
218
844
711
493
67
332
236
616
179
492
833
691
830
845
733
768
424
305
604
192
910
44
23
113
886
357
252
609
88
264
212
277
790
930
870
658
176
544
428
844
902
812
167
348
995
737
517
547
940
439
755
567
488
70
410
98
65
671
56
855
91
614
539
405
959
847
942
790
143
179
404
658
171
762
892
43
381
340
216
586
973
156
395
998
47
877
49
881
722
318
468
37
818
619
480
320
784
958
744
711
16
961
389
254
835
950
98
939
660
98
835
436
46
555
882
299
136
82
903
668
326
965
235
126
753
990
526
658
651
344
649
258
309
15
754
80
705
100
977
886
777
261
876
902
365
668
35
427
926
55
477
321
75
730
155
890
488
722
378
773
53
6
888
844
702
362
597
33
513
204
873
978
393
836
952
920
126
679
588
353
348
881
805
294
394
696
440
265
869
880
612
437
7
492
796
52
949
410
605
702
263
781
863
266
472
594
383
575
708
337
723
409
652
665
842
95
326
83
348
63
855
820
263
645
463
352
76
262
67
377
524
212
377
696
580
255
498
746
628
591
132
314
137
201
675
43
404
985
964
953
949
815
336
520
690
358
82
669
867
511
207
99
996
633
994
840
929
240
986
320
14
319
512
286
243
660
943
751
625
423
110
494
29
118
252
523
448
218
616
93
97
82
871
902
589
242
817
212
654
198
518
750
873
847
472
633
482
617
632
630
729
396
920
352
830
622
230
686
170
700
165
208
724
465
589
216
371
293
930
930
628
32
968
751
932
509
380
288
494
166
20
881
991
39
647
107
44
546
780
468
820
675
608
565
540
527
797
959
800
368
985
750
710
516
627
191
639
334
561
717
154
805
58
596
629
44
405
592
762
252
707
732
751
954
145
368
450
763
384
556
176
227
736
144
88
892
327
858
670
643
426
659
370
212
313
414
706
86
872
154
135
150
506
380
55
314
118
490
285
270
883
640
66
774
860
775
297
282
373
190
14
430
701
355
530
545
181
609
78
223
971
371
768
582
114
794
890
87
590
931
435
53
897
663
806
305
994
118
0
792
528
363
24
247
257
131
971
449
128
966
85
774
326
314
19
86
879
780
161
476
439
750
373
278
499
674
764
717
359
627
533
186
981
729
132
252
174
140
98
222
466
299
305
655
475
441
456
91
289
821
314
348
544
805
386
491
344
227
316
573
65
405
709
581
850
11
271
840
178
723
32
229
972
935
654
780
801
214
996
280
138
962
633
570
631
78
664
194
886
81
482
518
936
290
810
377
706
238
50
494
521
667
725
13
919
989
869
67
927
612
547
490
474
561
418
234
485
32
69
22
128
207
173
396
950
274
502
840
788
207
33
275
271
876
938
218
94
137
946
312
45
645
391
934
266
13
522
274
992
863
414
959
278
695
919
599
811
575
232
783
750
450
976
634
299
636
346
738
560
197
895
677
370
949
957
219
531
811
633
779
45
405
602
242
804
963
65
649
147
830
654
501
824
753
410
890
912
354
659
81
677
198
940
536
639
867
952
933
272
339
581
580
408
343
412
100
899
635
361
521
989
611
610
491
272
387
918
280
232
7
483
882
140
100
508
987
597
986
988
964
507
420
951
291
199
179
173
87
11
807
92
611
286
517
221
120
996
130
442
596
595
29
42
865
625
237
903
159
600
635
634
779
23
393
772
520
595
964
701
790
800
550
763
552
993
123
707
663
894
873
167
28
55
11
868
40
482
405
801
589
408
289
339
135
64
839
28
995
94
581
234
230
326
943
934
443
286
847
940
281
658
410
662
576
345
597
559
891
712
168
743
114
63
747
659
463
958
366
272
816
21
350
641
915
667
789
760
852
525
168
370
836
409
381
679
314
336
355
606
537
61
228
4
836
272
89
73
544
332
896
988
298
2
190
526
323
819
502
154
24
48
754
307
611
799
606
604
268
537
738
412
719
57
273
318
951
951
512
494
626
578
578
888
679
484
868
270
175
925
854
517
796
583
24
599
678
546
248
452
389
704
901
697
849
377
564
38
694
237
395
531
124
13
736
664
888
771
852
531
854
983
404
725
100
192
168
951
52
212
743
870
448
186
847
977
157
527
140
802
264
779
832
251
426
33
491
208
328
154
575
321
931
111
737
512
363
212
72
611
230
993
743
855
607
489
782
180
131
581
510
964
500
482
755
950
668
362
810
669
556
923
510
326
77
739
381
835
160
143
40
461
620
661
150
675
681
621
540
432
430
324
85
811
114
5
768
859
420
313
457
149
38
853
213
375
294
453
678
777
252
220
319
950
720
407
789
253
36
711
692
796
882
901
813
547
784
905
362
987
707
517
972
4
46
138
254
955
83
739
1
438
590
420
298
652
340
613
662
274
150
985
526
514
812
30
194
937
479
360
732
580
488
272
900
235
90
779
495
692
914
508
245
878
301
327
928
611
36
537
550
610
740
327
377
113
287
532
67
734
835
345
761
746
725
428
24
254
315
665
870
537
278
334
283
726
82
362
39
298
513
257
915
63
957
72
361
139
184
863
649
720
51
218
423
240
612
211
846
24
236
485
962
925
746
78
285
23
749
554
335
166
38
439
63
792
475
965
602
309
576
13
838
83
121
430
416
157
950
399
766
817
37
302
631
599
264
435
423
192
367
989
411
426
988
107
366
408
15
344
808
443
714
535
758
152
338
912
92
697
961
837
746
891
33
236
250
414
147
971
158
230
848
446
538
851
429
736
711
721
345
649
275
934
116
852
53
541
391
131
23
451
455
938
185
560
924
231
919
973
42
521
122
1
594
904
248
570
230
775
196
899
676
963
761
358
376
674
800
546
194
38
445
256
60
364
23
677
195
50
596
636
950
609
342
388
56
354
426
502
800
614
317
384
987
988
986
989
877
741
530
790
522
450
610
846
789
543
716
989
946
718
124
705
605
822
578
260
47
226
108
217
216
540
389
432
247
739
200
529
992
11
846
853
686
429
473
350
121
345
311
84
135
75
960
572
729
967
684
931
769
16
487
721
297
56
544
586
829
102
913
786
755
391
600
464
857
966
172
678
442
389
21
714
372
863
395
173
700
797
577
61
380
655
962
613
525
841
40
129
339
189
278
381
688
465
905
474
193
126
855
276
87
340
62
232
419
206
409
753
346
604
768
160
625
549
923
625
206
400
198
151
63
581
982
626
667
439
795
770
283
734
465
164
574
91
78
178
278
844
571
155
901
681
609
664
860
664
148
847
784
623
763
244
30
222
783
896
523
795
969
959
506
165
113
182
763
20
302
311
974
668
264
671
592
221
271
668
65
802
185
652
523
737
923
973
153
599
562
7
271
519
219
68
284
265
865
788
628
993
426
132
784
531
223
390
421
534
784
315
455
570
125
792
555
991
584
672
961
461
522
288
746
252
517
243
784
567
242
846
358
415
225
228
291
932
67
246
938
487
97
254
815
729
458
233
99
895
719
209
445
593
131
551
993
37
319
82
844
494
688
884
366
459
683
925
478
352
805
530
78
755
745
706
83
275
763
616
675
747
865
364
561
112
390
277
980
601
969
388
167
737
385
362
231
42
638
891
70
633
935
729
154
160
889
203
890
707
337
225
161
716
906
837
210
108
727
753
836
813
370
696
593
422
92
460
562
490
238
813
0
149
432
191
911
724
730
157
274
462
386
170
53
797
389
951
549
914
793
472
303
946
626
386
291
18
336
810
255
78
26
651
248
348
393
892
535
996
811
529
417
931
669
519
747
792
547
589
128
995
630
836
120
691
248
806
449
593
906
92
285
411
676
31
597
12
674
995
130
450
76
373
107
158
538
115
317
422
774
927
244
806
406
561
204
186
235
271
72
489
159
313
543
652
972
366
94
940
235
441
162
854
705
401
27
393
2
203
473
569
112
835
756
167
158
560
844
572
612
601
38
652
111
110
183
801
196
9
134
11
705
248
608
258
303
9
743
807
166
122
906
231
390
218
445
87
892
494
514
205
71
319
269
400
571
417
424
494
814
485
540
138
882
855
173
432
260
937
184
344
640
291
308
36
458
942
369
8
28
549
396
289
847
853
169
355
434
989
386
41
560
294
280
741
990
221
775
507
587
949
489
126
536
871
443
968
696
96
576
971
727
312
245
155
768
453
363
568
179
767
276
33
165
280
956
710
317
976
206
642
436
414
853
821
69
572
87
117
417
825
769
906
955
367
324
573
186
393
558
657
223
750
40
355
642
337
428
201
942
474
608
568
277
421
895
945
865
25
312
860
674
342
69
742
401
443
291
360
688
564
631
488
669
104
401
45
533
528
412
999
376
99
238
625
256
297
5
225
339
671
992
730
983
346
434
319
924
543
200
666
570
897
300
409
901
934
982
22
33
471
367
337
335
458
493
38
606
892
856
856
6
266
25
361
364
989
817
964
545
705
481
920
586
43
648
868
899
518
68
440
885
370
478
584
568
429
812
240
220
825
664
772
993
576
719
475
792
653
729
565
262
692
953
383
90
855
659
751
924
166
27
375
298
366
344
950
562
922
844
1
495
689
627
573
462
16
385
225
276
753
942
726
742
627
662
544
632
708
125
967
664
861
146
726
721
976
821
200
102
874
994
743
430
697
522
70
379
128
545
81
290
566
605
994
254
407
710
137
130
731
348
503
197
754
634
664
527
922
584
806
607
797
188
390
863
364
647
389
637
800
305
633
516
347
752
777
542
448
8
719
227
371
181
695
10
308
74
212
398
21
752
988
949
333
597
969
468
351
313
510
24
637
878
259
178
649
412
771
505
39
999
877
939
687
26
734
596
208
341
354
243
825
422
963
88
605
458
347
202
453
375
491
523
440
90
940
550
935
887
584
693
153
222
289
616
936
313
929
595
984
382
147
728
972
39
129
305
179
610
470
356
695
841
789
255
54
824
234
532
799
157
392
89
621
997
971
595
440
513
952
184
256
861
208
398
698
332
849
395
743
823
277
134
520
258
438
498
820
786
692
8
432
9
1
255
93
258
717
287
667
782
535
443
594
911
770
458
199
742
8
829
195
368
404
58
60
887
433
551
856
64
55
740
56
730
235
969
804
765
44
960
837
130
894
582
66
266
250
947
746
11
46
288
81
628
549
969
871
428
623
744
678
556
288
362
947
109
463
861
609
221
555
410
720
453
22
778
706
447
526
308
32
212
883
351
34
120
318
259
875
84
658
823
21
448
172
33
137
530
617
233
535
415
245
805
705
659
869
593
729
286
613
49
884
293
834
862
178
671
146
527
126
685
966
281
787
423
66
22
318
415
515
910
663
193
538
366
891
151
944
284
298
705
890
118
657
397
842
878
673
873
882
991
721
818
729
809
621
197
783
819
415
543
374
555
760
770
27
194
248
266
236
128
497
888
743
2
36
482
840
511
838
114
873
554
82
74
254
697
153
313
208
874
263
109
847
141
228
599
559
436
897
301
420
236
363
55
605
698
693
62
532
372
863
274
484
922
498
470
881
898
819
634
354
839
143
165
968
335
721
113
477
675
15
259
104
996
129
409
661
476
55
994
419
146
165
609
275
165
671
815
641
749
944
995
251
363
791
175
951
720
941
486
535
491
229
831
573
679
64
341
120
114
797
871
789
763
233
802
384
574
832
294
891
674
558
17
425
809
19
172
274
244
319
191
194
533
202
58
48
544
972
476
70
403
629
211
880
160
905
504
419
921
927
28
114
57
279
211
312
876
857
178
846
13
103
569
691
9
280
698
644
902
760
743
142
170
503
709
923
924
84
325
693
250
427
238
615
625
415
753
690
501
898
26
181
956
712
935
549
816
472
749
588
160
34
342
213
857
188
893
301
481
867
641
985
20
692
774
633
603
801
706
317
320
18
500
639
860
366
206
21
711
503
757
877
869
235
399
863
130
549
71
970
112
382
718
760
838
705
657
383
542
164
77
611
769
499
530
313
445
630
745
214
988
130
59
437
26
876
827
929
782
829
133
489
396
408
779
336
233
763
356
860
703
570
571
513
560
548
120
809
576
352
82
155
152
765
160
274
985
158
883
831
52
721
350
252
986
811
511
255
644
722
588
307
377
234
608
210
92
386
386
13
183
91
888
707
290
571
718
189
778
42
550
455
34
800
607
977
139
17
94
119
92
803
61
913
395
75
98
806
962
623
541
522
622
37
134
42
217
442
251
840
485
737
273
189
378
927
319
830
786
114
516
220
340
429
692
408
337
317
733
158
188
793
870
224
138
169
463
897
723
743
491
781
814
887
596
670
654
61
916
921
373
386
202
541
668
685
902
833
621
46
319
512
209
118
481
432
509
65
169
677
827
647
850
171
76
903
917
520
109
381
796
274
917
951
737
824
179
202
317
305
927
327
124
395
901
919
162
866
682
760
94
765
408
649
28
324
833
184
799
434
445
424
308
619
9
783
683
341
165
277
330
403
452
172
797
359
191
286
706
21
901
215
573
235
65
756
496
598
179
56
775
756
899
58
827
990
310
698
674
214
357
652
304
987
799
509
435
168
494
255
273
166
22
122
260
321
705
336
750
980
489
472
624
276
407
522
409
495
562
136
191
601
502
335
153
730
85
292
290
520
958
978
678
346
632
32
253
558
33
843
487
864
949
857
138
367
759
317
381
444
599
6
333
478
599
88
989
902
465
50
661
822
783
886
132
661
215
835
627
340
70
80
183
705
401
736
487
930
23
228
294
372
140
655
197
338
794
761
369
13
571
900
148
300
218
311
516
651
529
689
783
710
584
57
872
421
972
127
323
749
234
783
127
540
722
924
667
88
786
184
315
237
136
199
235
88
249
542
889
12
215
831
930
951
97
605
750
520
747
660
311
870
8
886
4
604
91
594
69
636
475
142
985
212
481
828
122
974
727
588
725
177
397
4
184
380
273
252
378
698
664
253
489
179
162
762
631
245
195
390
309
374
157
651
579
206
848
734
552
836
182
408
780
941
771
729
660
523
987
456
314
144
380
759
204
116
412
674
181
270
505
161
499
442
723
68
379
223
200
774
766
801
68
766
602
358
427
296
640
500
850
568
409
139
689
922
270
333
922
614
151
876
860
606
354
974
865
300
873
996
211
856
308
270
293
587
687
861
877
47
603
383
343
341
682
616
343
824
790
963
378
259
408
72
337
356
892
277
931
908
789
995
417
488
150
225
733
144
899
120
730
691
129
215
291
597
262
469
396
795
126
622
627
220
357
41
858
302
772
830
721
790
470
725
158
18
510
504
674
42
895
948
860
539
427
969
414
210
819
436
247
159
50
290
828
1
741
183
665
861
352
982
634
126
241
995
611
536
412
318
550
389
223
458
114
991
326
204
168
875
324
35
520
23
232
137
391
769
831
893
484
475
175
411
782
517
598
680
22
647
275
160
142
796
75
994
436
82
670
374
197
611
760
140
615
216
204
802
716
746
396
482
30
675
384
908
667
594
892
742
334
176
878
74
742
233
29
666
290
620
98
190
251
712
47
876
74
656
991
432
265
646
329
610
583
963
61
137
491
807
307
604
266
16
49
87
6
926
121
158
726
815
537
608
220
517
212
724
615
323
450
797
17
569
674
412
383
288
927
79
47
910
395
934
434
145
914
947
91
825
834
825
647
433
156
600
225
520
251
676
779
88
510
126
773
391
86
319
280
945
906
520
202
960
691
414
748
79
986
289
276
200
110
264
525
628
517
380
865
694
771
227
554
623
13
291
13
126
136
300
710
800
161
685
368
128
304
734
395
172
341
625
450
870
242
557
850
379
142
284
654
118
575
69
918
621
584
19
423
452
74
653
912
282
392
102
103
888
503
290
170
363
597
90
643
32
485
259
162
652
832
943
912
996
739
38
346
209
752
815
770
560
629
132
52
5
602
918
667
71
387
93
812
282
346
376
874
454
403
609
71
647
52
59
52
715
673
888
758
644
45
417
554
514
45
547
808
523
908
482
673
25
346
166
632
343
282
364
352
773
320
106
668
837
943
948
403
314
903
692
402
171
612
937
851
554
356
988
962
275
145
13
544
440
562
155
941
865
367
609
45
671
79
998
486
841
915
763
396
58
626
143
36
715
319
133
680
550
517
408
76
757
852
628
273
117
309
187
726
215
777
789
275
450
956
952
779
179
191
633
22
151
530
864
250
447
767
507
121
887
562
698
857
276
56
952
321
624
980
525
152
598
309
134
196
599
404
364
433
408
236
292
308
812
947
406
854
939
412
860
390
640
540
898
443
84
458
614
233
617
14
914
824
872
156
408
348
231
467
682
814
290
276
49
918
626
765
114
319
834
666
480
536
240
128
685
241
997
20
679
509
620
645
660
775
447
254
201
652
210
395
814
250
319
54
869
788
156
280
678
791
485
617
836
685
11
800
84
809
246
564
462
78
656
655
20
739
288
381
122
399
682
648
745
183
453
287
123
722
598
354
331
929
597
535
327
227
468
694
297
705
9
291
22
4
847
703
275
842
499
143
155
352
84
122
396
191
994
251
213
147
250
959
835
743
207
831
747
530
456
199
902
82
707
15
473
288
813
905
424
545
104
128
950
770
821
253
666
554
876
147
824
484
402
955
814
52
360
797
433
753
158
307
464
959
136
815
303
732
246
472
928
395
937
369
10
367
196
135
758
172
241
356
915
77
185
941
829
60
731
548
594
1
500
837
107
756
730
301
697
516
80
405
315
449
337
188
569
885
192
63
463
517
370
505
893
989
584
193
270
281
563
640
353
709
481
35
972
203
208
716
196
729
113
564
899
869
97
818
186
383
158
257
559
105
526
222
215
368
142
495
935
534
147
642
435
515
224
509
761
154
262
803
435
607
730
339
358
485
86
272
251
446
411
627
918
110
990
883
924
385
724
701
693
46
675
232
476
897
594
885
702
566
27
609
520
272
956
751
151
997
398
343
489
443
483
386
995
581
404
481
379
89
442
407
831
362
191
161
341
7
546
145
608
981
330
867
529
170
69
655
208
788
839
268
586
239
708
373
465
280
354
794
912
816
325
586
663
985
253
708
634
738
351
113
170
99
842
541
853
463
252
815
319
139
10
674
331
305
689
983
188
28
633
886
953
668
660
415
820
393
501
623
762
909
212
748
633
102
432
109
225
828
283
399
923
291
360
779
643
924
447
92
911
718
516
765
58
83
676
255
279
179
568
13
180
15
13
765
394
341
249
309
645
875
335
24
777
91
467
6
810
535
822
966
349
324
531
303
39
830
401
800
961
876
162
148
873
870
78
697
288
150
298
982
677
779
970
835
603
223
183
433
41
718
858
867
885
601
39
621
853
606
709
184
506
800
778
100
897
990
259
628
114
873
596
848
952
921
528
244
230
261
739
973
42
331
213
638
800
343
38
2
53
247
12
519
564
851
291
13
786
625
399
132
816
947
759
850
190
121
95
283
818
878
779
936
313
695
17
828
587
961
817
62
486
108
142
50
566
171
573
362
887
554
861
669
331
605
375
954
320
653
761
635
155
552
612
274
480
738
875
368
320
27
591
950
838
997
449
296
574
798
338
936
279
583
838
413
946
32
598
720
22
446
396
119
56
960
412
819
427
142
753
26
455
770
121
853
867
460
695
791
694
414
765
468
750
922
975
151
746
849
477
254
64
391
220
681
278
423
888
825
45
62
477
225
234
365
733
668
272
434
603
378
806
156
100
374
327
441
429
524
12
121
632
119
544
155
651
5
219
188
673
972
512
830
601
651
630
441
692
637
576
496
636
81
611
967
79
790
427
945
728
326
643
867
956
774
42
433
872
422
788
379
848
508
239
733
211
391
824
772
412
436
462
737
275
164
397
715
830
222
569
156
325
374
637
957
953
318
668
818
673
801
900
868
271
305
355
713
400
471
639
748
256
102
952
852
883
570
795
64
512
7
807
178
716
645
645
309
579
242
983
40
277
477
600
496
540
948
601
786
793
205
823
123
404
982
359
610
102
440
958
81
693
164
244
778
226
701
997
274
538
525
435
781
838
838
48
571
974
398
962
329
168
308
167
563
842
438
593
386
88
827
271
469
875
597
981
597
657
753
83
588
748
469
250
433
631
292
893
251
8
890
586
520
49
287
959
826
206
232
361
422
940
227
210
604
854
320
482
862
895
585
83
806
78
442
897
588
735
535
25
316
613
393
240
991
993
750
471
267
704
365
807
139
76
634
589
904
499
311
509
378
35
490
735
281
940
904
63
775
236
979
378
696
100
706
407
951
704
340
21
224
160
364
979
603
40
425
180
862
968
888
455
384
69
353
471
447
18
645
783
393
620
607
754
807
377
501
189
706
235
719
230
869
933
311
731
170
445
403
858
1
472
359
180
445
290
977
576
401
788
933
900
149
95
684
599
410
371
891
188
640
432
618
208
879
484
652
590
616
816
401
250
593
88
985
741
897
624
125
892
378
560
756
830
628
842
340
30
973
86
542
381
575
49
201
664
258
349
232
748
550
779
558
831
900
922
451
744
771
239
416
584
721
972
56
770
481
478
687
983
528
945
810
526
300
979
847
146
870
750
607
291
122
834
127
605
991
906
277
836
601
446
107
872
519
492
129
374
599
241
171
253
468
615
432
977
801
107
526
757
78
54
333
903
225
977
252
611
599
984
10
902
386
554
517
467
157
538
42
782
466
532
960
533
441
32
510
938
687
156
611
952
528
298
752
11
503
52
823
824
218
808
747
125
534
510
93
338
94
773
36
927
291
384
786
424
715
385
780
650
348
545
91
793
372
820
482
543
426
818
854
690
197
223
331
133
738
824
104
816
864
702
953
412
305
172
670
491
490
954
693
807
138
122
626
261
249
404
694
726
489
153
352
10
587
334
737
623
754
212
583
633
212
240
236
146
557
56
35
314
1
418
830
858
565
790
255
811
853
905
415
285
623
332
455
514
493
325
182
692
240
83
183
730
891
612
810
867
556
505
696
210
314
584
739
906
581
114
235
49
371
157
23
181
375
822
886
928
4
518
536
309
595
340
162
190
889
863
990
93
516
162
493
686
597
651
274
594
330
587
400
702
690
865
450
781
471
809
838
164
518
478
686
575
353
298
253
100
469
918
787
582
710
599
921
66
678
823
359
124
641
4
261
635
884
149
262
800
643
697
304
159
180
192
39
310
436
925
36
453
17
629
72
574
538
138
45
600
296
239
973
831
823
73
536
588
639
197
909
842
503
917
174
611
828
252
393
285
473
971
878
734
197
348
174
141
6
613
22
97
316
98
637
791
423
145
550
472
581
553
674
918
368
782
75
314
299
804
943
616
640
642
50
737
958
734
796
806
771
686
11
633
981
549
263
496
682
415
288
91
316
988
641
550
62
386
877
767
555
472
102
558
495
80
193
36
933
638
797
739
541
921
508
29
637
148
890
730
722
619
45
91
684
258
507
238
884
876
850
689
180
658
631
486
839
377
316
300
414
522
269
459
597
52
927
84
618
131
427
756
484
452
855
905
132
201
140
872
217
599
71
944
826
114
674
632
354
324
67
490
833
356
195
489
491
84
182
207
523
969
435
572
338
556
155
430
302
990
492
564
993
793
619
253
568
702
475
135
324
597
481
865
148
500
988
408
187
524
504
48
427
639
320
775
417
468
545
683
436
759
533
121
18
104
885
122
508
322
463
965
213
453
789
168
211
506
285
388
116
725
327
0
216
535
568
626
815
236
648
822
850
248
297
148
632
259
138
505
406
750
728
94
163
115
254
495
769
731
484
939
825
874
564
765
932
748
321
170
191
545
635
553
341
152
58
171
302
32
245
432
423
695
394
184
660
815
450
657
116
873
415
29
199
153
166
47
646
381
281
65
557
735
293
285
477
8
252
49
130
826
278
305
440
794
902
49
108
739
396
16
296
254
356
454
448
965
394
232
454
865
571
640
937
287
941
390
533
607
521
373
374
63
895
947
801
873
420
736
998
8
911
234
883
382
211
34
664
579
246
645
516
801
717
557
269
986
211
143
271
649
819
941
863
148
41
8
43
957
454
493
980
937
333
290
25
947
301
969
794
776
773
544
726
705
829
261
584
526
94
343
657
975
171
248
616
296
987
355
24
551
394
126
873
973
761
847
978
229
153
260
254
143
449
560
465
819
496
218
829
180
837
787
470
757
200
707
968
759
20
288
946
749
146
422
173
292
115
549
923
825
183
393
715
382
956
998
461
347
202
773
525
365
764
56
117
888
337
297
234
408
73
930
582
756
340
307
134
956
746
87
675
241
442
780
363
824
492
454
582
623
701
540
256
803
81
641
445
575
510
63
406
447
165
908
104
182
307
120
652
38
22
952
264
954
538
728
204
813
777
700
885
47
108
830
812
709
748
175
884
527
15
393
598
146
406
905
576
836
912
987
50
854
409
649
310
68
583
35
675
121
194
163
256
605
753
242
120
42
214
432
137
320
358
93
854
773
91
686
998
522
197
340
338
317
290
306
683
362
358
467
633
867
485
85
851
49
171
608
820
932
133
939
197
563
406
816
582
478
173
854
919
685
144
123
699
454
337
44
814
124
137
946
483
623
388
616
642
526
941
827
242
332
167
552
811
873
163
737
814
898
783
496
551
273
651
205
518
548
518
584
829
666
941
271
375
692
732
192
624
305
776
46
199
226
782
938
595
405
93
175
66
997
86
178
496
319
215
824
733
216
617
867
932
941
221
388
117
542
258
329
958
386
10
329
49
675
30
447
735
780
95
442
127
550
916
484
207
433
466
132
892
648
995
366
909
832
42
209
241
518
977
210
711
39
471
15
321
454
221
652
794
981
45
897
812
464
540
231
159
296
840
814
431
395
730
113
812
786
769
898
368
766
697
67
679
258
645
936
485
227
273
816
869
813
983
480
529
234
605
980
660
589
500
472
33
917
337
795
177
927
383
999
341
744
443
945
686
599
834
701
289
237
613
212
346
576
40
785
75
384
572
524
564
666
844
506
588
298
919
387
880
220
592
488
933
574
396
865
13
442
480
408
620
934
445
241
31
470
932
298
330
803
178
954
364
441
889
81
311
42
457
620
508
539
730
334
161
399
693
344
449
919
516
210
371
296
950
584
437
218
463
892
592
502
393
40
296
157
203
441
255
742
5
315
351
553
647
659
900
999
398
798
115
518
855
758
790
352
50
887
887
36
281
818
241
7
657
984
71
895
331
160
970
408
612
778
111
492
75
687
979
786
686
668
539
718
25
113
864
743
57
782
127
994
885
268
826
5
29
230
227
583
335
780
661
232
756
895
694
448
164
308
501
771
56
503
362
525
511
442
559
682
600
106
718
369
395
228
603
677
129
807
835
991
639
961
473
959
505
743
152
129
439
640
87
414
660
851
703
931
610
789
464
105
234
243
132
376
34
527
72
484
462
419
222
812
101
459
420
908
505
152
901
305
814
59
940
389
331
164
190
693
761
442
650
618
112
829
466
206
839
313
64
61
970
590
645
284
464
522
239
866
896
668
990
568
74
239
585
889
789
57
782
758
648
703
637
654
49
348
222
199
864
518
317
499
272
278
57
844
879
447
587
205
668
691
381
500
161
3
536
4
868
736
720
573
25
683
946
679
910
484
762
328
769
279
565
326
294
699
747
116
492
138
311
697
780
825
385
974
782
167
12
954
467
579
809
744
636
409
47
719
93
682
702
492
779
791
93
871
410
983
877
193
239
708
979
257
298
809
924
656
569
619
857
150
204
747
528
164
752
481
86
431
178
483
554
874
121
226
603
877
814
718
618
609
99
801
599
313
822
209
72
282
204
761
236
642
180
606
414
681
0
499
29
946
752
572
751
642
452
177
619
110
408
730
481
870
490
304
612
801
284
490
991
661
529
984
143
811
765
883
847
314
775
679
928
549
120
2
300
375
133
351
782
720
297
34
169
648
55
223
477
248
881
678
211
628
558
581
898
143
226
745
9
344
539
654
769
849
390
429
673
502
265
13
755
961
420
637
830
573
116
319
154
637
934
989
260
239
212
280
163
756
696
529
523
180
945
758
903
590
393
524
756
79
555
30
63
757
364
240
4
590
971
308
155
909
270
331
82
658
870
187
356
8
392
561
230
719
381
550
361
309
931
223
372
823
261
318
796
14
711
461
525
544
627
443
408
447
914
128
378
411
294
421
252
23
373
159
192
279
235
992
800
72
840
748
957
412
13
917
241
349
78
439
842
676
700
426
858
853
587
534
578
729
295
584
317
275
44
946
177
730
949
316
731
681
10
272
281
313
973
870
746
885
407
694
141
202
332
184
399
708
253
982
238
344
884
403
204
783
504
187
440
465
198
839
860
77
929
460
534
139
69
414
131
371
201
862
570
878
718
750
139
853
195
398
218
837
168
497
106
638
385
583
674
999
188
785
493
928
62
178
660
17
779
646
349
101
932
166
121
123
942
229
707
925
120
944
361
87
186
298
661
123
717
762
276
873
171
460
659
598
532
971
65
410
781
761
939
285
942
539
709
521
609
544
94
408
752
487
575
161
534
827
579
770
32
743
942
185
640
517
902
775
18
190
979
966
363
514
191
51
233
890
734
786
118
185
578
72
181
320
67
778
628
203
509
968
536
128
705
588
481
809
794
199
515
491
145
795
362
572
155
805
38
766
917
823
14
526
17
503
789
624
690
91
160
640
665
179
518
119
301
153
760
377
577
529
274
647
73
70
283
325
866
412
602
915
908
443
186
457
611
582
694
371
965
389
584
828
603
547
52
996
526
739
319
161
863
954
943
496
24
727
487
903
227
273
305
414
468
670
86
954
788
221
138
774
679
592
509
706
599
142
352
104
970
853
7
105
524
962
974
536
18
622
235
264
139
461
91
27
245
951
40
456
340
218
54
776
752
696
434
415
157
916
773
863
318
483
936
9
657
484
59
490
721
972
416
829
441
848
867
958
328
565
261
893
696
430
265
3
17
638
843
280
828
104
341
422
72
344
144
514
998
859
914
612
899
189
896
926
264
527
983
922
491
735
460
50
106
874
657
641
178
363
231
587
178
802
552
702
812
65
51
937
568
119
880
212
815
170
87
770
884
711
10
329
817
669
163
937
972
979
703
760
306
622
668
829
228
283
604
200
967
663
179
358
801
326
79
79
680
187
803
975
559
72
113
790
14
148
971
662
470
510
816
798
892
320
765
921
976
791
661
971
158
446
630
505
356
484
648
477
321
252
276
371
816
171
738
504
796
680
954
776
830
518
342
275
827
25
433
514
268
339
374
599
64
268
739
185
965
12
948
734
332
629
680
561
82
267
65
384
632
42
676
934
816
8
178
852
132
421
338
401
286
380
130
253
105
858
730
643
491
476
819
926
17
196
620
186
55
139
300
803
371
454
554
916
109
866
15
957
987
266
980
885
268
130
564
130
607
433
821
587
392
830
990
591
945
388
93
853
697
779
740
617
587
838
242
596
101
328
282
609
588
424
451
376
774
390
365
792
66
792
682
260
535
591
806
186
560
4
124
832
752
528
268
147
907
884
507
668
698
475
126
252
37
965
448
849
444
684
612
724
764
618
906
189
304
319
648
676
646
73
942
610
688
881
879
800
62
648
374
227
342
412
281
128
848
268
569
685
429
240
939
810
518
552
847
568
907
27
575
740
337
77
817
316
826
160
413
760
65
218
321
549
701
433
13
485
731
947
778
945
651
461
20
110
644
777
266
874
574
331
631
143
41
87
417
436
521
812
744
827
569
838
254
468
99
110
15
680
245
324
393
648
882
951
749
296
260
40
839
61
301
732
747
269
237
711
14
796
852
982
661
295
837
794
654
839
66
946
311
297
753
62
160
396
416
915
215
52
927
46
836
804
323
47
526
40
943
850
653
359
183
931
440
846
628
854
986
31
883
998
431
736
856
416
206
343
789
101
184
208
402
230
242
755
136
343
683
528
642
411
598
40
447
893
968
639
157
78
28
879
975
193
176
764
406
338
616
334
191
168
796
882
491
98
124
949
103
933
247
404
584
208
79
563
209
133
314
163
251
515
629
932
211
553
338
220
244
363
743
498
628
169
12
745
946
469
610
961
317
131
726
524
395
131
363
255
129
314
373
253
786
844
300
756
428
701
309
802
592
357
639
838
179
874
552
476
501
752
280
573
123
959
525
148
143
173
296
487
892
569
108
885
58
142
652
399
801
791
768
5
100
736
761
829
333
687
297
528
210
291
41
994
245
868
582
925
296
234
75
57
920
309
599
637
85
23
380
847
93
157
410
541
492
551
886
292
2
492
701
302
37
405
213
883
941
29
101
824
898
324
756
13
10
662
819
272
121
397
628
717
364
614
745
596
614
949
204
202
378
139
44
677
452
226
611
91
929
484
47
522
706
114
435
694
379
352
58
334
329
75
620
433
267
963
64
165
331
531
380
143
822
378
444
440
884
723
594
496
980
642
64
280
41
426
746
119
526
669
572
283
633
633
26
617
895
977
379
226
371
277
361
493
235
835
923
237
473
49
793
609
154
56
53
546
904
849
216
300
964
581
48
753
260
69
638
725
306
603
514
951
7
33
434
657
846
631
129
986
589
437
461
697
566
116
91
860
864
204
318
182
314
759
918
696
738
438
807
718
375
486
311
55
729
451
861
631
69
895
191
656
41
385
273
35
72
276
776
814
276
847
26
774
648
365
19
370
651
237
33
225
423
842
56
177
438
878
250
47
310
608
763
755
710
957
195
192
819
322
763
718
85
14
153
611
798
519
934
806
71
44
858
704
254
938
904
634
33
847
694
672
9
531
579
372
673
934
309
239
36
806
790
414
334
646
710
771
289
877
605
683
148
506
453
564
984
714
679
8
656
910
779
522
208
683
254
696
514
44
610
927
45
264
219
582
112
43
62
421
154
935
180
622
496
770
882
79
449
504
480
385
33
27
909
431
190
949
335
482
354
652
305
100
709
29
233
489
966
974
437
324
947
82
165
894
281
419
854
164
486
249
555
735
563
481
759
382
509
318
914
932
101
930
205
975
979
755
283
66
359
788
931
797
435
176
977
896
444
709
206
660
85
917
4
890
193
763
880
898
856
966
50
490
171
531
858
418
22
726
134
650
38
982
334
236
128
360
583
302
401
144
840
388
375
733
222
98
311
397
321
582
238
137
133
67
974
996
62
218
716
663
437
389
172
714
964
556
492
679
876
564
749
602
23
69
409
470
103
361
786
313
865
398
784
954
326
14
783
267
862
418
573
261
613
849
105
605
2
136
654
259
866
757
117
987
554
669
73
571
665
502
224
407
782
417
77
924
596
448
686
259
582
64
432
354
496
998
495
861
371
353
289
865
429
653
177
49
939
346
598
181
624
916
858
632
168
667
416
187
939
57
766
653
573
207
506
391
300
145
716
201
911
816
612
269
351
892
356
932
527
81
835
750
190
811
788
842
113
362
114
387
266
109
628
237
792
983
576
108
807
222
443
114
645
496
704
833
774
481
245
522
257
493
786
825
981
199
409
389
421
13
956
298
13
854
447
107
852
185
592
782
660
88
603
59
708
876
293
444
546
772
995
515
976
827
123
243
509
962
360
109
691
833
42
673
156
293
276
839
762
136
338
131
102
841
575
202
88
582
767
836
869
738
309
245
259
746
76
114
214
500
842
620
589
746
624
970
696
598
729
696
851
778
556
736
939
42
750
206
707
12
111
963
522
641
524
903
70
749
528
557
127
446
616
710
701
338
104
728
403
296
552
441
239
586
675
897
769
457
549
673
335
428
231
975
232
790
717
256
33
118
139
702
895
4
718
998
751
658
101
227
362
615
72
18
63
831
880
975
550
558
401
746
370
296
853
908
805
602
112
893
51
250
414
306
557
318
178
20
953
295
202
755
74
581
786
250
805
472
340
804
253
245
624
111
164
259
268
263
97
661
159
33
67
828
553
252
946
883
241
314
439
726
567
946
696
496
735
524
356
156
873
147
84
418
973
414
903
562
256
175
307
880
371
453
846
517
774
40
644
508
13
941
721
119
302
641
118
803
887
433
104
358
450
318
653
502
577
158
27
381
612
10
34
329
619
610
221
353
710
328
333
953
363
244
127
631
564
60
90
193
601
141
828
369
213
697
268
491
15
783
795
418
533
387
979
575
87
689
100
482
835
58
51
326
134
340
478
350
488
946
328
562
453
160
43
548
985
554
798
627
569
241
280
924
380
225
848
300
386
54
105
647
786
804
346
423
246
961
9
67
367
474
152
884
840
172
954
891
291
188
593
311
861
385
940
996
587
92
58
406
790
388
763
500
323
629
582
502
788
154
714
773
752
395
294
503
445
664
244
959
324
250
495
556
304
494
477
548
501
418
951
963
325
925
421
467
5
595
937
776
601
709
859
879
364
674
929
533
838
84
842
909
197
236
942
99
754
689
277
898
26
422
523
39
87
766
15
434
745
989
482
441
995
1
737
796
865
468
728
782
780
466
418
500
803
817
709
604
855
712
825
434
575
695
941
962
556
274
882
881
629
71
838
122
110
531
928
388
458
575
773
879
329
31
143
245
41
762
988
574
580
175
499
708
865
721
290
315
321
146
338
980
95
887
83
302
767
698
877
936
859
21
808
103
1
336
280
788
134
0
389
42
724
380
921
299
389
497
482
980
28
354
782
617
734
832
95
919
156
496
414
270
80
120
194
413
915
482
725
928
972
11
774
504
255
233
279
556
725
540
461
165
390
375
312
998
492
2
524
102
156
871
299
527
369
233
63
307
119
247
794
778
820
40
936
367
667
199
267
183
944
800
388
479
22
607
592
454
911
772
844
456
216
351
875
336
747
102
941
74
466
120
833
326
924
615
872
400
150
846
610
505
160
272
852
231
234
689
768
441
193
382
894
315
905
327
562
884
141
663
417
611
973
878
147
665
571
893
91
374
111
535
975
684
815
440
728
918
440
492
364
883
716
204
261
528
876
289
366
284
144
720
731
731
34
587
658
285
619
833
339
837
508
541
181
574
931
252
384
860
549
297
741
56
738
754
797
970
565
687
862
922
905
83
125
582
824
310
526
735
461
522
414
318
262
959
723
646
641
583
356
185
34
85
314
197
848
25
679
277
93
503
158
209
910
498
196
312
554
533
304
150
890
432
326
570
111
317
45
756
451
141
290
168
209
748
49
242
268
777
903
54
288
604
961
919
941
413
170
688
202
607
840
193
913
910
208
766
104
803
486
294
10
545
832
542
156
919
833
63
555
80
14
561
110
661
696
675
16
461
665
785
662
801
53
246
666
215
225
283
976
563
726
229
416
205
780
741
762
31
809
899
670
489
232
60
804
704
219
777
289
858
524
747
964
64
432
264
945
520
998
345
174
256
712
585
825
534
816
464
611
711
605
613
700
833
765
315
709
332
943
272
694
419
838
463
50
192
734
575
694
999
640
664
400
473
844
449
332
138
247
873
212
736
485
924
545
663
561
341
109
244
973
320
327
649
963
742
103
325
371
773
388
269
414
935
679
150
266
705
986
966
467
895
364
101
435
67
305
325
513
325
791
83
741
552
288
494
977
765
135
499
658
999
133
572
864
418
183
79
617
175
545
913
322
549
476
749
833
915
385
381
980
735
630
924
522
792
347
360
742
876
939
662
824
81
876
683
504
507
185
358
445
281
730
313
929
711
289
882
949
733
52
664
663
309
819
627
214
509
183
667
153
354
413
355
755
175
98
758
56
134
468
692
164
608
524
61
411
434
41
114
836
450
745
129
380
63
656
683
206
847
972
514
884
412
656
711
863
384
850
679
160
944
248
729
118
316
909
479
150
14
628
589
709
763
122
336
342
790
302
521
574
756
424
540
456
696
83
600
38
317
671
976
672
488
504
926
244
600
354
254
937
977
660
569
409
365
412
853
819
76
878
568
231
896
563
359
66
666
858
446
576
727
524
220
328
313
869
13
4
572
248
948
177
610
321
10
60
666
546
241
629
578
37
788
16
269
962
639
156
573
940
250
10
141
612
913
20
183
270
983
821
449
856
919
810
204
522
773
364
864
576
625
22
788
691
500
190
95
212
718
609
942
837
175
463
829
655
922
304
391
928
903
117
209
462
452
739
956
973
45
451
101
798
629
735
80
119
487
687
975
517
113
707
764
438
57
641
140
35
138
736
275
862
850
213
275
251
705
724
309
245
427
28
93
393
926
335
553
710
574
45
664
708
196
238
839
691
677
421
492
679
452
23
272
310
161
706
338
293
166
348
30
671
513
522
961
713
140
791
380
690
710
929
157
603
711
866
151
687
651
448
633
999
418
929
631
531
185
626
267
343
862
557
106
659
332
544
123
896
238
666
242
584
876
835
188
597
472
929
871
227
533
802
18
893
365
376
860
973
732
391
951
508
791
554
559
976
926
247
190
691
781
865
566
435
370
847
990
220
375
137
526
821
91
195
788
13
366
740
314
539
213
803
30
308
853
830
218
855
282
296
750
510
52
201
654
510
185
558
288
648
239
544
193
667
567
923
785
259
715
579
37
475
585
356
482
445
474
994
183
29
689
281
917
998
920
869
433
336
319
858
502
26
367
509
485
212
985
324
197
770
963
494
576
761
642
873
401
781
235
658
99
80
824
520
695
5
889
633
758
866
630
427
975
272
982
458
820
567
43
811
409
136
451
451
618
940
718
693
773
233
335
799
398
708
339
631
190
929
94
998
967
845
164
138
726
146
473
977
721
80
270
56
122
878
755
612
122
906
162
721
581
155
97
633
651
317
980
54
35
354
972
780
815
139
838
284
266
167
719
126
259
555
419
991
129
586
681
582
913
258
400
137
652
458
585
622
364
729
897
49
323
439
474
239
919
673
435
322
982
228
337
474
866
766
538
58
481
470
625
384
361
351
592
699
587
865
889
312
812
966
218
832
535
911
527
361
404
453
101
772
156
508
545
94
587
604
106
865
973
726
694
372
883
553
700
163
328
677
252
298
385
913
148
596
413
628
600
486
303
586
362
982
236
687
259
508
986
315
926
282
60
196
837
7
834
682
649
179
435
127
526
826
448
943
279
399
351
973
124
315
250
966
811
674
759
548
62
673
301
648
480
827
801
548
356
760
986
683
150
721
368
70
187
736
906
595
229
935
847
803
439
490
201
344
818
150
771
742
114
215
186
964
137
469
949
195
123
99
88
882
59
307
219
412
855
766
617
728
779
510
12
95
360
558
683
718
853
944
124
348
466
16
736
684
631
637
773
689
2
948
851
605
738
46
570
345
286
299
290
754
168
806
995
430
19
864
171
348
16
137
125
496
524
389
423
58
348
390
77
85
872
545
78
591
418
418
380
489
740
645
907
136
913
450
875
392
532
923
46
810
612
180
415
28
703
804
829
321
922
193
245
383
886
485
96
259
952
185
630
178
689
381
509
434
646
431
577
460
102
793
150
698
921
302
930
947
882
850
758
768
553
663
661
333
787
355
146
717
823
223
849
506
974
147
394
311
678
267
348
102
10
798
128
261
130
347
897
448
803
372
408
145
111
90
485
344
46
593
139
73
866
607
928
970
596
542
955
822
534
396
721
696
535
411
744
672
565
491
799
663
974
63
60
648
509
546
141
835
280
186
20
349
570
558
760
961
940
238
89
55
909
206
382
771
896
871
739
475
166
783
817
770
543
198
865
617
317
127
828
345
428
678
656
608
897
241
67
400
716
992
555
910
256
40
783
866
683
619
172
511
128
27
952
719
258
993
650
397
923
677
44
664
798
198
453
519
967
173
278
156
797
384
350
819
987
498
715
498
91
675
692
115
986
281
653
768
531
656
356
975
858
526
956
419
426
48
893
856
327
821
495
456
960
486
68
274
256
227
199
139
875
253
314
872
747
628
249
896
94
164
951
157
101
186
260
803
924
899
226
118
967
188
626
850
860
347
697
585
795
412
846
523
357
205
267
333
334
429
301
284
414
647
81
717
734
951
941
902
311
409
303
615
454
248
310
885
956
130
157
603
82
846
757
439
649
222
698
603
86
83
6
892
518
45
558
172
452
188
319
409
66
227
287
744
825
325
485
171
498
951
662
737
345
530
201
493
691
659
921
989
995
971
381
957
769
24
181
591
29
422
551
879
47
342
786
172
941
60
347
944
70
392
687
851
18
304
70
749
577
295
873
143
316
379
609
379
612
457
749
305
637
145
336
313
745
864
595
655
822
253
471
53
518
764
136
823
986
613
486
507
850
894
731
599
642
13
820
556
138
471
96
645
207
343
828
855
11
33
908
210
211
10
968
74
761
27
519
210
6
486
105
872
431
937
347
403
891
830
332
234
69
0
605
763
613
593
505
81
883
947
996
70
112
215
417
54
149
97
700
845
383
938
668
60
670
646
587
275
32
608
693
731
841
942
94
854
689
402
124
69
636
784
6
681
613
56
40
295
223
658
19
996
481
902
212
5
77
80
299
128
697
359
305
397
445
67
282
380
649
364
362
480
522
610
785
981
22
701
152
890
246
680
196
218
985
497
305
8
411
10
789
504
162
708
854
836
465
619
545
801
598
713
193
100
580
958
236
728
193
249
101
530
13
295
873
238
215
289
900
425
423
653
372
452
219
30
346
93
713
664
52
228
88
314
63
101
824
32
221
404
347
199
709
387
995
705
765
436
206
57
640
760
962
916
525
531
907
35
70
767
527
193
914
882
470
29
840
884
495
25
241
401
66
511
343
140
868
514
268
745
957
994
698
895
961
868
412
765
377
831
476
451
953
81
773
391
568
661
990
85
935
652
272
177
778
983
964
154
268
734
273
948
586
600
365
110
140
323
877
621
742
495
163
124
754
456
745
916
72
322
992
963
599
386
118
256
912
970
24
271
765
35
704
21
271
220
353
575
102
150
673
736
124
916
216
916
74
554
836
982
173
202
214
796
755
988
344
834
361
813
590
438
368
496
26
286
485
368
183
818
572
198
456
138
483
316
485
157
557
104
712
700
392
969
790
890
951
529
549
610
486
576
414
484
675
447
698
178
61
715
672
454
255
104
182
392
560
870
882
293
122
735
261
972
213
429
248
689
25
744
561
489
337
928
841
367
752
728
901
441
991
67
36
149
590
910
209
50
181
594
296
689
119
993
361
640
362
677
110
743
596
515
873
238
138
841
386
372
63
68
941
194
82
382
227
480
291
885
458
649
189
859
29
60
451
534
151
477
699
481
944
515
218
41
696
210
263
51
352
145
434
143
320
981
405
43
498
424
30
587
652
940
901
472
611
827
500
736
338
845
13
335
961
332
214
789
380
470
687
87
404
789
349
640
144
660
295
116
633
636
375
108
873
325
452
671
134
40
551
480
708
243
926
732
211
971
403
506
797
504
286
286
867
592
634
889
108
647
229
917
69
384
503
316
162
955
22
130
447
778
991
897
496
49
510
949
686
736
332
629
762
685
778
657
199
37
535
108
45
660
0
697
214
468
579
372
495
145
786
817
465
720
85
827
801
133
173
400
213
531
699
445
808
257
914
299
928
385
771
81
490
335
742
265
733
585
887
280
32
824
282
510
584
170
213
70
746
315
760
834
774
573
811
412
910
478
87
146
964
378
126
491
670
906
682
558
984
413
303
331
308
933
995
521
718
641
45
405
231
217
835
988
281
943
130
538
906
644
100
794
152
898
851
572
462
204
891
40
353
835
25
749
679
613
789
83
553
295
81
898
194
371
482
826
142
480
465
299
768
366
974
657
603
86
159
415
958
75
624
993
798
347
166
869
405
896
265
393
900
203
504
918
189
690
347
334
671
766
719
59
693
882
868
922
123
698
877
329
102
184
360
705
537
185
691
868
93
512
759
285
565
572
488
581
577
617
402
302
647
676
379
998
524
858
28
2
130
52
596
49
256
750
737
44
528
346
870
996
811
956
708
216
239
952
509
89
598
914
276
784
280
448
644
739
601
558
55
732
675
207
819
504
649
893
207
232
41
0
894
416
779
350
237
654
846
339
278
630
396
148
697
712
512
4
557
967
303
521
27
770
602
336
558
319
54
372
861
641
838
168
273
82
798
302
318
160
790
939
207
6
723
598
446
73
622
89
835
598
210
144
10
690
23
907
302
23
917
117
980
458
638
700
623
523
417
103
288
498
561
845
631
549
561
850
152
402
980
1
772
231
289
330
805
608
586
220
65
603
408
363
819
349
344
360
535
790
411
722
299
498
544
222
119
13
590
993
924
750
652
0
282
781
90
262
956
189
416
791
492
110
913
177
298
623
301
375
704
925
992
295
387
882
797
891
320
907
842
998
1
251
952
308
666
979
455
916
914
289
814
737
610
36
106
811
845
599
788
617
404
974
46
749
400
858
401
638
703
416
690
602
529
557
100
925
443
613
768
563
779
229
921
861
283
255
609
833
151
442
182
757
201
220
881
27
72
127
964
718
516
801
575
352
364
243
422
391
83
393
539
310
53
143
592
543
689
32
124
123
320
643
116
425
489
254
852
637
204
623
35
621
101
906
775
50
208
191
56
278
329
471
77
556
677
969
261
971
895
30
912
681
536
465
714
924
161
825
252
395
128
328
691
840
325
317
303
858
716
312
958
854
69
650
366
368
363
221
875
61
881
98
503
266
672
608
167
992
549
730
575
175
110
767
303
183
300
10
258
136
386
763
59
149
701
749
552
424
385
492
969
809
622
947
864
230
812
706
394
36
249
268
886
696
825
653
886
681
689
488
524
10
638
630
482
4
729
123
581
78
638
490
505
559
182
759
624
442
13
608
845
273
766
172
605
43
376
142
192
536
347
790
767
863
176
669
57
414
44
827
215
195
936
850
427
240
185
125
797
525
571
370
32
193
681
448
398
344
121
613
645
451
686
845
492
792
145
621
237
646
126
762
463
186
324
708
381
208
696
236
815
726
63
502
20
970
843
916
808
500
418
976
124
797
215
217
642
384
52
369
283
665
424
19
81
317
55
179
558
273
457
112
760
720
617
47
209
505
962
761
149
451
333
837
738
190
514
87
77
603
429
993
652
970
403
280
771
981
143
114
583
224
56
171
13
564
755
500
540
28
571
192
914
956
86
682
266
520
461
520
966
320
981
891
631
58
713
605
534
315
631
18
558
323
132
707
405
78
38
669
508
495
6
654
248
954
503
948
944
776
583
691
572
971
44
224
118
669
975
245
553
161
566
234
462
506
588
300
850
295
763
164
785
893
480
861
362
534
402
593
400
633
182
960
938
285
472
690
349
813
506
812
431
779
660
247
906
435
366
722
393
283
599
837
532
414
833
356
322
989
606
541
40
812
980
253
988
518
2
926
467
988
12
854
123
295
801
705
280
411
124
376
537
863
459
457
739
344
578
556
408
255
244
846
947
952
592
548
157
846
813
413
483
781
601
230
718
190
727
772
71
516
463
863
776
907
496
67
367
396
418
339
864
462
616
727
990
128
543
669
150
467
785
658
91
27
233
26
935
244
887
242
76
10
35
431
258
898
614
469
249
738
928
112
98
79
608
708
616
192
967
631
119
641
139
362
419
476
123
536
567
355
168
338
29
341
46
640
368
873
392
941
578
721
848
25
189
284
727
167
542
941
709
7
812
261
625
912
919
451
726
59
562
997
382
298
138
627
899
517
620
663
33
823
834
450
602
60
703
162
973
361
889
211
58
357
730
0
953
670
974
748
657
988
51
661
51
359
775
129
797
662
654
616
812
593
19
327
255
970
149
568
616
488
195
413
962
744
515
330
699
414
20
386
878
146
497
543
346
554
86
836
200
16
712
932
136
28
864
441
959
566
152
252
471
564
447
172
815
506
547
753
581
135
972
543
241
631
311
850
568
141
732
921
345
137
307
529
609
839
784
469
51
93
187
119
946
905
72
793
8
147
726
901
398
509
165
925
431
742
209
700
375
488
181
99
554
37
341
914
694
233
316
734
791
358
721
353
582
534
345
487
544
426
986
774
859
426
881
267
878
670
529
502
256
239
313
171
58
223
594
346
700
116
24
87
265
388
562
86
824
403
193
415
965
939
235
134
543
861
527
667
901
827
108
230
402
601
120
696
166
290
575
493
123
196
764
267
987
614
868
304
653
844
866
866
822
829
21
135
409
529
147
736
395
862
254
606
827
445
131
143
888
509
128
124
907
222
782
504
440
329
17
251
864
712
142
933
882
381
832
691
93
333
794
584
453
246
541
330
922
212
581
268
718
153
118
122
535
97
597
773
859
721
512
489
185
977
623
918
477
155
379
450
741
176
550
179
680
163
16
696
218
360
316
871
908
274
879
601
479
476
818
940
529
525
392
281
762
457
504
165
799
59
794
324
935
313
611
140
122
78
236
369
595
466
89
145
543
821
166
798
447
822
584
808
262
513
549
800
906
876
389
941
532
526
520
640
826
11
358
582
933
794
511
720
897
355
607
612
644
829
288
374
407
398
88
206
135
870
157
637
37
282
775
274
555
346
64
770
757
864
414
566
747
25
58
601
631
945
535
165
823
778
519
621
830
561
155
843
700
511
281
561
869
371
254
859
1
361
777
602
879
464
253
128
888
765
796
572
895
939
565
129
617
224
185
401
717
27
124
147
407
411
381
66
559
873
758
527
12
40
898
999
710
606
953
765
469
617
742
729
304
330
214
868
741
736
257
355
0
654
536
469
618
572
611
699
319
731
306
226
606
532
930
601
830
142
420
242
398
860
508
884
24
691
27
460
14
987
745
972
897
293
105
501
196
349
956
31
205
762
150
745
729
871
281
638
682
63
866
879
116
607
451
353
351
533
811
887
729
153
134
454
56
669
321
288
941
109
599
703
285
61
414
364
300
358
818
714
289
598
936
612
854
175
800
97
566
51
972
307
376
167
827
229
679
564
785
932
924
550
494
323
568
224
281
956
317
987
408
933
615
208
836
838
949
322
253
183
832
257
919
459
264
533
388
533
316
556
178
613
629
219
242
148
722
107
189
985
713
90
867
110
352
25
509
256
364
50
896
443
860
854
636
656
904
654
572
989
101
531
446
536
155
954
185
342
842
446
154
566
766
85
877
133
747
574
324
212
907
258
297
518
192
181
360
706
416
194
922
813
48
641
285
759
452
727
16
541
357
385
577
689
465
597
63
348
29
506
922
426
857
977
509
812
167
559
379
785
953
595
899
532
432
436
184
174
494
216
481
61
351
561
733
942
652
839
523
26
511
667
371
552
608
93
556
854
275
258
308
370
282
406
758
884
68
981
142
438
254
514
800
184
151
748
986
452
982
977
999
451
459
718
95
731
489
972
492
384
171
375
132
138
66
394
79
262
152
623
213
666
835
44
679
760
316
157
27
683
590
971
863
419
615
917
627
380
194
749
162
200
504
26
429
514
915
973
41
874
160
465
42
67
349
772
818
462
576
489
38
958
186
492
844
8
568
17
319
679
93
940
924
81
116
838
413
171
13
46
974
291
313
258
135
141
119
466
183
957
266
933
0
785
789
434
946
627
282
878
394
643
856
460
17
611
585
569
198
173
637
626
454
659
85
50
292
909
394
439
67
19
628
656
937
210
221
354
240
193
568
944
147
807
584
820
707
509
440
183
611
787
69
645
929
530
697
878
530
269
857
110
707
873
43
632
477
801
949
75
233
990
195
53
573
618
701
828
236
400
870
402
451
580
502
996
63
686
859
969
427
883
562
994
551
856
144
687
675
650
68
82
286
475
401
149
559
797
529
227
618
74
327
9
220
802
50
931
390
69
575
713
530
550
967
684
813
786
617
300
419
694
16
308
323
958
383
460
568
488
758
26
930
165
301
788
586
102
906
634
170
353
205
287
478
974
22
275
448
80
122
138
313
605
842
917
406
849
450
254
935
427
480
112
756
874
443
996
278
588
389
813
69
266
324
422
302
58
542
789
709
473
664
29
248
815
512
270
275
734
566
373
165
570
226
336
543
640
110
643
157
969
261
490
942
287
89
875
224
453
472
850
629
487
371
701
618
355
793
241
461
811
613
710
185
941
62
720
660
337
689
721
804
322
423
676
683
281
567
101
552
317
678
880
970
869
739
396
669
960
291
291
510
26
660
808
354
300
520
153
383
673
455
471
695
636
724
844
817
499
178
438
436
36
109
124
693
993
407
245
674
398
90
348
599
796
700
378
327
952
316
284
625
636
627
371
952
752
996
160
734
452
858
357
427
128
266
896
268
687
793
625
60
261
95
358
340
238
819
323
318
727
484
608
846
425
902
795
254
120
414
702
754
974
197
302
66
453
339
181
326
361
880
430
160
420
382
39
548
141
387
245
235
259
38
517
4
634
940
546
394
492
631
590
669
540
263
142
40
573
602
851
64
565
283
482
416
160
289
841
177
389
142
407
514
183
409
295
54
482
319
338
801
388
292
831
782
719
685
989
802
113
7
348
252
861
729
285
641
113
906
315
541
411
844
779
540
754
678
918
313
809
955
753
473
529
877
676
246
409
245
372
18
425
577
46
882
757
578
897
126
102
27
169
774
772
621
205
453
17
709
766
813
239
379
324
832
899
217
673
975
664
15
986
122
375
150
973
934
106
759
754
65
257
515
70
230
606
601
491
727
80
723
102
555
268
827
368
112
600
136
490
199
699
816
268
417
362
946
610
849
45
938
395
162
737
395
216
581
175
892
882
714
316
763
632
998
872
410
546
59
336
282
6
77
348
97
90
523
914
120
208
704
344
465
283
20
205
513
946
33
256
492
903
175
753
538
390
839
704
904
262
3
717
141
15
181
607
611
479
236
181
216
183
658
361
325
958
564
190
98
793
40
76
242
744
125
42
290
672
379
695
269
754
886
519
593
368
469
172
240
724
581
764
871
739
951
99
480
741
888
828
573
823
418
937
564
695
537
71
167
909
508
971
760
738
1
889
656
742
839
973
358
301
778
415
179
541
762
565
543
77
23
614
705
298
237
180
123
898
830
247
368
120
775
890
101
675
662
261
467
446
495
631
442
94
419
913
894
42
604
686
361
391
515
475
930
140
973
834
422
973
866
773
245
743
55
584
116
866
747
742
79
717
517
734
935
740
420
901
298
213
854
666
833
865
47
317
920
243
436
843
186
109
632
554
57
80
191
87
758
710
200
901
831
677
926
860
171
311
384
9
116
136
227
864
788
21
302
677
976
363
679
930
277
926
979
308
622
322
247
300
655
365
180
149
156
591
189
899
162
725
380
596
69
795
704
854
525
791
28
42
72
524
641
660
160
5
703
181
331
726
627
754
703
789
655
699
993
715
988
408
39
946
25
203
728
391
721
904
943
572
150
268
854
868
64
540
492
635
107
364
866
698
109
405
147
742
627
513
730
564
267
803
0
230
996
677
27
493
303
414
874
282
679
692
367
300
581
970
289
721
881
537
729
267
85
825
34
197
294
422
242
627
128
537
131
971
826
614
183
181
750
702
892
832
455
174
302
708
911
70
568
148
833
255
47
588
571
945
332
629
15
127
721
453
934
448
13
311
920
481
22
226
464
466
812
994
150
789
637
377
951
127
440
545
199
380
534
568
473
941
457
318
157
323
907
813
428
713
285
848
426
371
780
598
392
822
580
229
737
528
879
292
667
130
436
78
110
830
77
912
52
661
341
867
470
876
378
689
577
236
806
444
777
870
955
439
327
651
13
833
484
194
260
732
210
23
828
305
921
768
19
80
410
404
351
135
113
516
211
639
681
846
126
564
771
608
269
665
732
772
633
121
195
614
881
845
29
719
935
772
841
305
153
833
790
155
164
192
362
34
314
550
943
714
356
759
197
655
574
387
316
101
896
916
219
754
651
64
571
402
36
741
525
927
807
259
13
621
910
907
123
127
760
880
124
585
907
808
147
961
446
146
143
435
501
274
207
710
945
731
93
916
464
349
987
911
779
818
203
406
263
476
448
722
725
387
845
852
162
861
370
800
123
577
728
586
684
249
726
950
531
114
704
294
293
330
585
355
894
628
892
934
945
808
954
156
423
249
256
508
663
761
749
753
996
341
279
957
535
747
746
394
456
801
609
403
579
180
315
160
979
599
593
756
910
278
198
207
538
18
373
259
264
653
182
543
984
598
5
84
659
324
889
796
541
927
929
152
258
90
667
324
719
207
728
586
911
277
600
872
187
926
649
947
521
374
268
530
82
405
741
78
805
88
433
240
592
969
246
756
577
219
81
466
461
878
880
976
224
24
557
910
420
504
908
22
671
85
31
407
70
6
544
445
397
891
775
86
994
368
566
866
665
454
677
930
326
382
88
353
218
354
343
827
804
321
493
763
6
624
590
567
340
453
307
233
111
885
197
61
395
153
956
260
295
927
727
775
318
498
991
555
796
571
348
776
306
22
346
490
150
423
826
123
351
917
39
741
382
201
532
456
435
963
686
105
42
454
416
606
492
617
528
281
73
970
192
962
377
155
215
223
443
294
723
836
188
643
667
275
128
928
27
267
421
982
316
726
152
314
735
559
684
672
379
607
932
595
20
655
520
350
551
403
409
834
101
722
819
371
577
782
431
211
733
589
943
911
122
295
700
769
768
642
519
281
660
328
101
247
675
882
277
865
590
299
857
586
168
352
900
680
266
983
0
70
322
78
118
76
161
785
462
951
910
76
836
635
89
954
673
217
163
311
817
638
776
398
715
262
623
986
678
79
746
962
654
310
470
151
88
868
225
7
209
255
843
710
425
97
526
181
361
51
356
433
833
876
53
910
99
59
804
101
877
815
165
688
489
876
145
498
707
366
687
829
197
15
460
788
114
1
294
410
755
95
784
89
796
839
247
443
607
304
101
764
560
60
7
329
515
768
808
71
906
132
650
107
204
5
90
782
336
763
70
800
790
657
592
777
914
16
756
253
7
742
380
752
650
388
638
632
895
104
71
684
452
702
678
426
609
6
432
18
521
24
168
986
797
601
458
246
134
496
14
787
459
329
202
562
719
49
188
579
15
62
485
321
970
128
726
377
89
378
958
57
349
208
235
475
932
357
609
540
766
969
606
790
37
180
713
988
62
463
481
883
872
200
802
207
781
688
894
176
955
527
999
8
18
751
941
826
679
707
763
360
306
647
424
49
230
182
73
939
779
690
630
873
711
66
236
168
651
295
944
480
64
454
415
331
178
929
213
9
270
882
584
200
414
731
611
854
71
60
825
1
718
635
888
12
320
155
528
903
422
940
456
552
44
715
164
366
333
795
715
210
467
23
274
608
246
37
715
333
602
315
429
266
578
366
114
456
114
688
917
588
235
94
797
96
121
388
497
447
889
420
477
430
845
36
58
880
361
263
274
528
59
286
528
163
550
731
921
887
88
99
765
640
786
748
323
779
125
904
209
65
167
401
50
217
641
43
226
51
241
453
809
214
252
252
497
131
794
173
960
985
714
538
482
347
326
281
791
330
789
683
163
610
294
441
756
479
13
191
97
221
747
182
44
296
103
542
858
998
634
603
236
76
800
327
902
708
438
707
926
662
646
565
922
975
294
968
55
803
180
809
569
714
613
941
689
844
721
79
296
220
755
641
571
941
120
441
423
468
313
225
102
506
334
809
651
581
351
833
620
42
68
147
26
238
29
24
880
826
639
706
848
878
696
815
217
868
145
909
801
18
279
553
871
496
657
405
633
907
517
121
876
273
234
79
822
843
672
932
911
534
471
955
474
61
34
885
177
284
126
401
536
813
27
550
697
444
592
527
660
454
167
872
182
8
853
464
716
965
272
524
754
646
199
373
289
739
210
506
642
666
246
176
614
336
335
287
70
531
451
291
347
685
469
1
656
859
344
575
145
2
139
332
478
198
544
45
817
222
659
829
962
68
852
692
664
293
651
613
863
413
658
567
193
572
192
224
524
679
632
251
152
376
33
995
691
160
841
670
423
774
627
873
21
571
34
758
862
739
0
106
137
443
379
382
904
89
235
22
501
827
912
18
495
464
341
765
614
414
977
162
985
917
141
374
951
821
71
248
793
30
976
177
821
962
320
402
288
526
2
56
107
762
638
703
720
175
665
623
411
743
110
23
127
807
772
827
287
403
216
815
629
153
201
785
135
871
793
555
12
226
980
440
280
525
330
444
304
105
134
637
0
437
603
313
758
951
712
680
601
60
658
50
576
546
315
527
595
346
372
532
888
412
538
949
610
626
859
741
212
13
548
211
864
426
818
954
849
384
237
889
280
139
945
475
454
142
375
646
270
14
724
889
165
152
966
426
155
202
117
669
405
687
578
827
666
934
113
177
590
101
144
932
623
614
587
483
966
545
832
100
496
911
757
771
410
585
634
928
448
912
808
392
946
619
334
272
606
978
810
777
708
50
3
492
290
551
56
321
494
411
449
469
428
401
875
784
278
175
312
815
327
204
590
291
609
833
722
101
593
767
947
681
941
87
847
692
773
178
345
54
234
409
302
445
21
208
903
83
754
268
466
441
197
501
890
697
120
343
378
177
403
127
271
245
281
573
162
231
180
585
271
20
160
778
918
432
940
77
936
16
6
202
690
264
55
382
94
160
924
874
239
477
718
226
784
848
673
593
921
325
752
421
416
360
239
319
103
360
916
788
665
663
363
319
392
972
516
378
693
98
701
461
72
674
347
427
394
369
371
390
444
917
617
51
774
597
360
869
15
465
720
713
62
257
411
646
676
289
951
495
964
969
983
712
306
810
378
702
721
901
699
9
872
709
815
540
810
280
751
185
518
273
109
995
471
862
717
759
666
640
419
310
460
715
495
566
83
595
431
761
476
169
358
254
286
417
11
821
548
639
815
904
189
874
918
582
148
823
323
803
576
790
851
810
902
786
285
655
556
717
387
186
364
534
102
694
497
70
133
608
600
168
780
401
633
130
650
932
470
807
868
898
334
284
719
89
510
116
174
152
201
239
504
512
185
814
493
231
300
194
447
994
680
271
298
932
384
277
931
65
923
124
812
35
440
648
190
400
507
236
765
291
662
200
406
778
209
258
282
435
757
638
887
60
394
916
737
797
595
558
470
205
307
576
900
539
704
862
5
767
969
93
898
656
855
647
564
735
830
805
812
636
892
262
243
265
450
195
147
912
621
148
38
704
990
235
708
1
274
489
874
978
451
476
842
274
942
637
22
960
160
711
634
256
773
555
493
574
971
333
670
708
441
397
921
937
466
887
782
362
350
104
943
981
303
285
532
185
44
302
701
476
919
130
168
227
839
259
577
343
616
693
17
564
582
325
4
254
898
931
255
314
757
443
961
450
459
712
392
482
514
827
3
83
322
899
13
110
158
857
792
873
740
906
201
553
473
64
902
332
667
108
283
79
945
395
659
859
437
243
865
118
607
9
923
24
453
176
241
203
718
700
390
906
857
467
20
444
367
35
858
545
615
638
759
86
878
5
214
924
625
998
107
909
80
473
514
245
878
130
718
778
740
743
591
302
919
909
603
303
567
438
412
611
571
779
153
802
231
461
610
270
59
215
164
351
122
423
329
154
418
838
893
150
327
195
772
776
990
19
300
564
143
20
421
571
636
709
523
530
273
425
13
363
484
553
687
641
733
408
976
219
421
272
353
419
39
301
642
463
680
934
202
163
838
955
944
511
290
88
763
717
752
49
454
310
18
782
268
948
625
485
250
909
906
779
51
887
219
563
422
842
273
563
622
198
707
991
746
34
874
350
408
856
287
303
939
858
225
729
283
20
449
160
677
79
356
26
164
210
671
682
374
452
288
941
548
260
430
739
464
656
576
47
371
163
132
520
481
172
28
218
719
770
605
260
544
439
852
604
106
309
290
581
852
128
4
861
268
965
788
762
106
200
659
630
428
602
867
495
564
131
782
877
488
49
518
117
209
381
66
478
166
301
385
532
768
654
817
571
411
61
500
928
721
105
692
362
376
789
551
105
362
817
955
355
133
420
122
107
899
284
321
75
327
737
647
246
421
842
182
36
161
178
405
830
441
299
760
714
335
329
990
928
718
555
340
520
676
837
755
347
919
980
744
168
71
463
229
901
897
348
108
569
683
591
623
42
815
934
184
433
227
957
398
131
648
204
274
355
684
55
588
70
195
63
958
957
867
975
116
226
778
937
467
851
855
609
412
122
856
656
11
168
137
699
62
510
569
777
257
964
226
392
83
94
670
911
117
43
336
507
390
662
531
810
570
224
843
339
765
343
127
566
582
724
482
985
845
432
576
797
214
668
47
878
37
939
703
651
208
177
470
308
560
391
946
515
352
148
368
74
770
937
807
296
431
43
828
598
450
765
927
737
796
619
899
646
551
915
426
321
875
935
439
55
643
198
891
414
65
166
853
892
685
227
948
86
545
944
569
546
396
884
311
143
794
759
111
136
829
871
344
617
771
344
159
669
245
86
994
391
474
674
138
495
994
805
707
700
77
60
544
863
381
308
507
620
330
943
627
492
682
228
939
814
872
597
187
690
115
152
174
723
962
286
347
769
127
421
475
799
370
86
169
262
584
860
885
688
839
378
698
866
478
477
978
276
130
675
128
688
338
145
338
913
429
261
643
71
338
625
957
183
275
977
545
735
499
674
992
768
285
382
499
355
859
369
287
89
5
450
340
947
588
497
361
104
504
28
335
823
84
906
333
165
342
961
701
555
297
988
898
218
633
987
981
963
145
649
636
635
617
655
289
549
600
398
999
542
828
931
628
320
975
173
208
645
392
871
596
663
176
132
561
235
197
353
538
545
34
602
288
992
602
842
84
775
353
800
388
763
2
807
790
524
147
653
20
131
265
754
576
144
406
331
479
420
517
216
39
566
908
916
664
389
971
344
344
160
101
441
162
484
273
378
784
971
230
746
869
970
547
138
656
272
221
530
419
408
771
442
851
408
289
811
683
796
335
364
929
486
542
690
106
147
59
740
779
61
325
665
591
562
130
414
955
736
570
869
131
379
21
698
748
631
349
356
702
155
846
535
279
9
307
966
802
376
990
455
549
5
818
518
549
755
241
297
728
587
496
763
173
914
816
15
598
44
552
419
937
161
155
764
323
251
317
731
710
355
802
987
166
470
865
76
44
623
163
135
312
157
295
439
675
51
823
551
863
489
119
147
501
648
154
694
755
470
262
319
446
707
198
945
344
367
666
723
380
999
821
760
275
31
603
74
16
633
929
982
367
434
317
384
707
437
287
489
669
633
727
819
288
392
104
841
736
117
827
459
673
919
974
993
803
194
169
968
671
433
740
77
43
99
796
521
594
702
860
983
910
163
767
798
580
321
560
171
485
213
681
477
68
215
666
963
915
116
280
938
471
516
4
85
494
178
468
570
812
426
399
907
928
552
665
192
206
596
544
81
297
227
739
450
227
52
859
293
222
857
467
603
368
486
307
681
603
302
778
466
84
368
614
978
438
888
144
642
786
234
171
244
666
539
224
626
513
392
414
357
608
407
97
203
63
773
124
425
474
877
253
267
90
326
138
966
401
908
354
756
821
867
747
220
683
71
57
736
22
126
536
734
215
729
722
85
422
469
625
864
69
491
814
152
327
10
324
140
203
474
635
398
537
371
960
765
444
274
646
988
754
606
154
760
377
847
428
286
139
715
947
151
557
483
632
256
260
877
256
899
861
511
267
970
588
283
611
578
733
392
38
11
548
410
372
646
570
265
407
370
708
656
637
489
811
563
591
880
858
383
545
849
396
537
272
318
123
289
961
814
254
937
362
929
635
888
287
88
895
365
344
995
375
209
814
550
429
186
741
482
785
459
36
653
26
385
824
127
622
0
919
665
924
299
140
911
740
87
829
684
916
407
652
29
845
323
384
613
400
757
652
106
359
657
521
944
172
377
599
163
699
826
924
58
5
340
141
108
484
394
788
902
351
609
822
537
463
677
674
860
536
755
549
220
793
298
58
196
447
746
236
378
648
586
608
91
323
1
258
555
204
793
54
323
967
600
25
65
49
412
507
616
598
139
508
294
936
510
928
566
944
230
594
992
888
903
914
909
267
38
530
532
362
21
818
79
498
184
179
174
131
431
651
785
44
112
570
488
400
445
497
274
530
139
986
633
452
39
259
894
574
9
265
55
176
841
34
644
150
969
612
422
503
519
960
5
414
901
400
387
833
694
477
771
336
323
230
898
477
893
575
714
67
616
661
959
487
531
718
208
130
271
585
628
35
500
750
197
120
58
587
196
601
749
958
462
178
98
531
571
247
927
354
942
358
96
577
816
492
317
555
376
227
899
361
942
643
72
394
894
833
965
590
610
259
197
990
731
814
230
181
131
488
2
203
699
143
652
452
192
76
412
81
142
920
529
850
448
718
698
546
898
151
333
321
959
857
215
521
641
636
303
386
250
543
353
161
648
416
365
773
435
420
476
565
167
310
313
176
770
82
449
999
544
956
350
949
187
676
607
619
311
706
620
12
612
942
880
947
414
196
713
902
489
983
285
733
244
23
106
995
601
692
390
736
641
697
231
8
723
529
26
855
184
726
845
598
190
280
689
690
499
118
484
311
415
23
576
94
911
749
328
514
960
936
59
825
605
450
439
136
304
479
503
985
2
553
862
364
219
652
144
977
74
626
962
283
169
457
607
946
58
643
142
120
954
252
358
501
837
748
986
125
72
613
886
281
529
277
796
17
430
301
180
809
763
556
318
466
380
849
618
369
169
464
219
218
684
254
996
865
530
910
622
169
245
477
216
911
587
647
308
396
458
155
653
876
245
268
709
236
107
288
453
830
989
163
2
27
4
823
460
909
340
995
484
318
505
780
69
477
513
387
956
355
435
959
506
29
712
299
481
447
273
890
170
148
190
883
42
37
128
18
829
746
277
432
257
803
329
496
109
411
309
927
686
446
560
66
131
655
608
349
701
869
825
622
249
136
604
734
437
795
172
38
763
176
24
576
603
761
903
788
973
771
394
492
177
942
418
276
589
597
96
260
760
719
591
881
858
216
93
392
313
388
413
885
224
296
837
948
631
955
73
686
611
146
139
56
31
588
547
821
859
440
902
714
230
356
669
894
663
699
841
186
410
214
642
162
696
238
59
500
129
163
851
963
687
919
83
293
671
821
682
333
254
102
543
520
875
463
756
760
186
283
89
646
449
937
22
267
673
443
32
749
120
424
566
824
342
250
50
273
826
950
839
985
151
302
64
997
237
318
398
911
327
994
214
443
741
174
570
857
622
47
485
286
849
15
813
969
631
849
788
714
477
869
891
245
263
598
128
810
16
104
890
77
505
329
521
275
79
348
101
542
350
541
781
635
268
3
17
856
432
861
184
224
105
640
648
956
345
284
724
501
791
89
456
366
826
185
827
440
992
486
19
644
406
610
481
441
57
34
306
393
720
218
403
318
598
833
429
734
553
336
374
503
24
177
622
37
835
206
130
160
161
221
862
5
484
628
512
677
488
15
640
345
558
179
13
830
199
87
644
160
891
411
957
353
344
254
252
236
266
969
587
634
252
620
472
201
214
649
682
996
724
525
976
760
603
703
382
825
200
926
378
814
297
336
82
156
685
102
630
824
333
963
551
241
394
853
436
116
263
492
587
21
803
635
580
352
475
549
540
698
720
102
426
778
943
82
222
236
468
21
36
649
626
446
526
511
275
987
978
185
858
105
356
818
998
539
291
873
313
230
436
340
907
613
781
74
805
502
356
632
577
607
92
199
287
738
78
46
981
93
345
802
741
599
179
589
287
2
65
167
16
462
82
442
155
184
532
522
975
964
132
45
973
303
457
939
954
644
552
745
824
247
476
981
413
843
677
120
451
953
374
229
9
918
360
947
809
314
557
672
821
322
941
704
672
251
319
917
426
606
630
791
938
877
661
291
852
124
905
842
552
957
285
934
13
73
683
530
383
538
78
444
709
923
353
568
212
699
601
828
357
606
769
638
687
387
16
493
628
107
432
781
859
712
515
127
318
514
225
793
74
721
992
307
587
548
92
16
304
823
225
224
20
285
468
810
147
668
692
4
737
971
34
493
207
128
143
948
392
986
124
632
866
355
841
881
154
451
801
82
303
457
488
216
322
733
928
768
942
86
719
314
90
160
662
813
452
935
80
622
244
285
977
468
238
282
21
536
757
793
189
607
827
459
588
558
51
349
619
558
796
53
760
956
23
589
219
727
776
128
835
225
144
10
596
355
503
227
86
333
210
611
652
392
317
624
518
981
407
285
425
947
586
136
209
733
261
749
881
69
731
542
303
92
426
745
140
391
727
781
233
48
555
968
19
453
507
23
180
945
627
330
841
231
395
760
501
889
607
17
104
350
740
56
596
628
676
981
941
733
578
398
155
778
737
225
429
729
571
416
163
19
831
754
2
175
837
362
487
350
877
722
759
398
101
400
676
545
995
406
584
313
516
827
329
346
568
692
186
105
952
941
953
686
780
241
933
808
591
227
787
924
324
372
482
971
16
597
522
234
891
3
196
995
316
650
944
229
560
849
130
316
624
828
869
385
437
374
461
767
5
450
786
621
631
127
464
980
483
7
395
340
399
245
738
632
61
675
385
385
755
612
939
535
773
343
549
832
391
530
924
289
535
483
237
48
946
284
598
478
433
499
750
257
402
5
227
797
7
131
861
16
938
863
276
272
62
762
600
399
933
653
652
190
12
336
601
925
392
196
29
828
441
104
390
485
288
261
392
807
400
896
320
131
56
142
603
890
980
96
420
911
759
930
994
896
481
366
868
318
259
307
778
248
83
175
918
177
419
508
428
443
646
476
886
886
426
166
935
580
774
160
176
154
972
885
553
823
805
174
976
907
702
700
172
570
25
655
496
376
467
740
272
420
765
387
330
154
75
486
450
658
229
186
419
226
827
71
748
312
687
246
352
743
783
7
108
215
655
131
68
320
371
163
743
86
551
366
484
717
715
403
192
412
999
9
108
173
781
934
263
748
771
249
820
771
328
910
145
428
841
841
729
458
807
888
739
550
678
805
621
187
365
837
76
484
606
599
840
273
181
889
811
682
371
108
982
739
624
737
726
890
395
661
501
150
924
204
778
725
548
994
379
87
980
575
870
435
368
398
236
214
967
798
683
343
571
521
869
551
174
875
238
727
308
508
455
168
209
783
656
575
821
881
831
10
386
824
717
51
628
592
348
121
21
833
203
866
165
375
808
921
928
266
985
310
243
785
222
109
710
801
5
318
785
555
408
344
594
622
586
446
892
946
250
465
721
652
819
515
508
815
413
719
893
381
930
824
372
96
893
673
765
206
66
863
635
715
188
452
222
412
718
992
871
70
590
558
514
753
506
646
660
454
489
162
837
371
842
275
440
599
299
392
521
336
850
802
741
718
284
901
243
541
121
174
212
834
938
234
873
365
866
460
216
974
254
264
469
647
152
589
864
59
568
568
48
64
95
404
297
7
967
178
528
80
783
441
925
766
132
666
155
132
781
141
18
957
998
885
326
33
899
818
612
883
719
671
723
179
795
177
823
641
929
902
534
338
552
80
679
890
654
581
610
167
678
120
71
644
658
181
5
101
936
625
940
678
713
788
944
270
77
476
188
394
870
306
337
459
131
612
10
680
624
0
740
358
443
556
45
628
229
64
919
626
728
955
848
238
794
651
337
964
387
304
239
108
900
182
496
727
252
754
596
846
239
395
838
895
441
998
611
371
841
790
565
950
146
922
59
589
833
91
577
271
30
407
121
497
386
919
710
469
850
8
881
579
210
848
309
701
885
85
335
493
614
882
772
720
265
662
94
507
929
240
71
282
560
594
983
801
779
458
670
864
973
1
167
394
962
204
527
519
826
85
694
441
148
171
25
939
914
285
268
984
83
908
677
632
601
191
14
710
503
42
35
484
425
706
340
372
667
837
730
726
953
643
512
780
538
455
455
706
544
24
412
815
320
769
965
754
244
18
55
93
886
990
543
554
741
121
325
629
96
445
473
872
334
351
97
573
211
847
578
451
823
92
581
362
652
818
83
606
575
556
668
152
684
565
201
180
665
457
564
969
351
976
501
798
497
118
961
243
259
731
345
592
177
102
453
681
80
216
887
578
440
170
706
792
952
575
673
215
200
416
410
703
289
856
622
456
390
868
652
615
102
80
893
367
516
630
397
236
132
311
459
67
233
901
893
249
254
561
488
263
670
241
219
778
712
706
394
574
922
332
351
978
323
729
567
694
910
580
959
729
695
786
880
65
125
258
999
766
337
449
347
204
342
834
375
433
598
89
658
30
134
139
362
475
292
82
245
581
514
955
735
14
884
685
702
841
964
434
882
762
37
645
929
412
37
286
155
528
953
35
369
241
380
22
73
695
678
312
630
802
411
629
255
182
748
747
722
39
73
960
971
155
119
757
312
548
476
43
644
25
198
822
301
428
332
649
106
642
507
995
143
163
626
209
957
46
437
627
689
505
926
821
190
16
883
777
30
430
229
199
788
776
116
58
903
354
853
362
356
772
55
278
931
601
189
10
603
47
766
987
377
386
129
172
817
209
401
262
398
342
570
893
239
992
311
491
54
640
410
26
233
549
511
3
190
883
692
694
957
144
803
682
854
657
139
246
561
61
199
895
264
863
726
409
975
360
78
102
651
186
258
222
785
756
579
793
645
536
644
591
766
429
953
532
448
98
161
534
415
712
10
851
697
18
158
20
657
874
861
882
816
799
259
457
274
365
492
848
474
524
764
465
209
913
671
376
751
261
715
510
182
39
759
858
61
847
883
124
945
228
353
861
883
940
206
514
76
222
237
570
648
166
388
412
804
258
209
399
71
760
190
586
663
20
774
429
192
536
20
818
667
87
17
75
184
940
94
157
339
560
403
833
598
793
326
139
912
144
397
79
751
321
14
358
454
329
798
674
659
502
28
610
729
754
278
656
539
377
591
436
117
76
676
792
812
977
333
864
287
316
983
15
177
794
121
962
414
805
208
778
658
363
983
66
903
261
717
350
337
678
575
93
771
156
174
918
998
630
322
144
499
917
684
913
776
168
749
469
205
515
60
22
320
351
574
705
922
360
623
867
32
456
475
235
486
84
142
711
447
383
249
350
550
566
322
257
753
559
564
606
238
672
697
995
91
835
20
891
316
813
812
401
492
94
745
115
283
197
941
126
554
908
773
13
157
603
804
686
381
381
950
975
871
351
979
9
347
743
748
249
19
866
783
607
753
702
563
460
587
662
662
245
663
890
314
303
348
611
203
122
123
966
743
82
65
1
714
775
834
475
158
719
47
212
717
725
697
440
607
92
862
697
860
285
686
252
314
375
275
490
596
250
126
786
468
335
958
733
873
178
977
83
870
614
298
418
530
914
11
503
113
613
498
740
419
765
556
840
809
528
66
579
323
44
376
253
395
911
907
146
649
680
364
727
434
499
286
238
427
94
287
597
859
676
768
410
770
930
227
996
845
4
444
497
353
75
712
628
166
699
46
223
206
128
97
415
279
193
640
359
772
114
830
753
441
732
679
270
445
282
733
957
743
683
380
175
197
802
36
770
12
247
590
515
535
928
312
581
755
871
748
350
553
914
832
22
844
236
883
856
635
474
111
549
128
531
712
1
4
328
862
971
482
40
750
884
863
571
685
941
608
994
235
34
848
628
365
808
163
905
445
936
734
777
711
976
173
799
303
98
901
962
110
763
638
339
309
711
478
985
143
410
142
277
9
668
503
994
21
700
417
799
611
997
600
329
959
583
954
848
183
172
335
245
889
471
791
763
952
814
800
114
160
895
473
218
482
566
61
682
979
668
390
505
379
711
811
646
461
897
166
709
853
432
775
660
68
932
610
63
486
564
392
655
64
356
824
264
841
773
558
701
270
725
589
676
804
545
672
129
455
237
985
357
918
200
708
819
266
25
425
399
647
341
443
928
421
811
474
782
785
919
281
248
555
63
648
441
694
458
75
76
608
124
705
436
699
698
187
477
433
755
910
827
354
903
479
815
855
350
715
805
693
415
234
956
342
591
322
644
67
100
642
256
207
313
511
77
737
423
178
291
637
867
187
504
184
955
722
970
890
395
730
950
58
405
719
666
945
485
127
366
767
740
899
902
364
585
341
85
13
262
218
300
719
791
96
728
558
9
313
540
882
314
89
240
827
124
143
856
652
365
87
451
2
717
135
100
801
102
657
674
555
675
479
71
892
593
886
451
567
758
329
878
753
276
316
827
985
23
35
487
917
796
541
990
309
447
90
79
151
555
801
989
563
117
23
201
236
351
21
503
759
258
524
236
318
823
722
452
981
92
639
46
954
927
589
636
328
796
792
44
40
612
884
880
156
531
340
54
52
831
273
350
219
2
143
0
186
58
642
565
649
543
898
498
751
643
711
800
714
955
187
365
375
591
495
161
314
281
758
116
465
696
731
810
71
769
995
605
393
146
936
334
467
354
994
892
902
817
791
846
613
918
97
503
946
122
109
61
479
210
783
344
479
651
708
531
601
40
555
526
836
743
420
410
741
179
74
123
923
424
928
722
23
761
55
456
684
20
89
514
546
661
263
764
912
886
221
157
766
373
858
855
760
957
736
487
116
726
652
742
621
475
591
759
299
409
436
427
742
557
544
357
898
373
604
625
903
413
143
766
598
163
733
481
180
777
855
62
561
143
185
86
379
855
128
541
392
907
718
733
529
759
889
626
435
273
836
136
586
254
278
193
408
119
123
833
325
340
567
268
168
255
440
455
385
528
198
419
846
902
636
115
322
401
325
460
927
114
260
41
426
289
844
30
803
24
401
798
316
301
657
586
497
881
766
481
352
583
685
252
736
182
422
523
563
971
918
449
268
65
127
180
321
34
403
433
871
767
371
297
98
813
323
650
606
441
932
901
398
782
918
793
964
467
955
978
69
394
285
378
467
721
995
208
548
433
326
91
172
605
258
423
604
777
306
17
121
560
105
900
652
371
508
133
84
396
377
449
344
729
705
785
282
775
310
125
21
197
551
507
969
667
546
951
700
663
399
316
786
246
798
605
455
890
826
368
824
513
426
337
818
479
76
612
844
60
110
599
112
29
165
444
826
290
711
861
662
497
148
334
603
274
231
473
47
7
663
452
104
509
805
578
248
5
256
656
739
524
6
549
851
257
955
548
599
985
81
4
181
465
928
581
333
773
958
250
884
156
586
943
405
271
416
616
504
759
640
537
410
119
273
659
919
830
728
330
724
11
176
432
531
109
916
895
708
708
139
67
370
414
894
490
26
634
610
914
235
684
513
435
248
736
874
278
702
899
606
787
560
338
229
934
446
424
714
453
226
135
306
589
138
327
116
119
633
278
64
119
724
509
952
815
854
544
896
258
532
108
139
764
453
312
252
828
935
186
799
10
205
939
754
651
126
989
95
303
663
110
468
678
917
742
377
731
267
437
794
435
96
644
736
135
863
963
612
104
792
542
326
204
545
418
216
2
959
336
283
450
537
656
832
525
194
21
224
284
614
183
644
886
293
806
450
495
862
672
204
687
420
411
9
287
805
232
703
926
380
595
797
134
983
444
94
419
862
698
849
233
135
129
638
531
334
117
436
805
358
832
870
163
62
765
105
841
261
333
940
487
835
934
899
732
997
21
802
183
87
68
359
881
909
164
10
641
11
926
435
456
933
701
805
174
728
253
59
102
972
826
100
303
609
431
497
593
391
111
284
390
200
149
844
947
866
633
327
566
461
288
374
500
215
358
428
904
958
42
641
273
649
473
155
937
630
542
871
0
714
250
65
155
115
736
171
581
383
43
173
368
172
789
513
596
28
185
377
211
673
618
465
27
665
927
625
177
522
339
356
660
558
17
910
437
368
833
950
352
689
380
998
895
233
426
771
607
547
111
4
545
377
213
317
430
773
506
910
595
495
27
988
995
518
477
570
366
785
436
495
751
985
970
80
378
182
104
947
327
998
780
55
494
228
315
801
596
855
406
471
748
728
31
326
768
926
35
795
312
264
809
61
247
248
909
400
331
956
779
478
232
246
919
792
327
755
398
231
570
16
543
766
400
286
162
980
565
885
940
940
870
891
744
605
80
775
838
11
263
926
127
209
300
636
796
463
48
830
631
722
783
582
317
906
166
505
548
837
457
800
51
715
657
277
41
124
130
604
120
137
778
854
161
65
281
170
878
931
746
854
654
647
80
686
718
400
597
850
891
946
952
844
906
662
447
97
56
57
106
500
90
521
848
614
46
167
326
317
855
721
538
956
841
564
958
597
367
714
398
107
898
965
58
522
757
188
25
43
813
583
736
769
310
446
635
33
337
71
753
20
971
332
700
167
757
691
396
181
250
201
721
392
395
535
229
573
499
370
918
798
207
197
41
497
92
792
492
484
411
733
44
75
528
15
217
67
583
181
625
528
879
688
49
972
671
410
261
685
107
160
20
639
39
431
831
657
189
313
960
209
553
103
730
244
369
885
489
297
460
289
34
259
35
599
400
64
905
580
883
161
152
173
634
942
254
366
228
589
523
369
50
945
230
747
691
78
220
462
344
714
579
564
721
466
258
666
161
866
335
73
558
456
728
504
676
552
495
161
664
377
277
953
300
990
597
352
330
624
210
354
929
49
546
192
996
961
208
967
113
127
445
751
622
19
668
177
259
925
864
474
609
263
679
751
245
602
510
798
587
918
856
136
562
392
27
723
682
684
272
0
726
409
388
862
485
379
862
92
520
927
573
735
314
529
458
590
258
449
983
283
219
854
805
398
469
41
490
646
606
126
779
162
389
54
993
59
593
142
689
521
17
637
302
398
377
740
396
591
547
220
565
131
31
469
280
628
102
296
566
191
835
252
433
962
715
367
552
955
837
939
374
278
706
706
959
498
121
763
518
321
946
0
536
820
965
802
805
965
232
226
336
686
469
553
871
438
938
174
584
376
61
193
62
698
46
846
381
369
410
851
775
37
568
234
113
86
134
498
871
294
729
721
466
584
409
953
443
504
339
473
345
527
655
300
671
741
659
216
387
189
561
607
672
861
997
309
27
465
505
142
427
425
255
793
231
849
655
400
44
161
126
88
655
254
381
501
447
618
60
14
58
994
177
593
626
332
128
786
391
241
919
670
437
298
647
896
497
173
799
545
483
519
468
650
789
138
865
162
41
701
56
300
422
863
445
656
392
324
500
343
592
218
601
958
605
887
688
708
721
58
691
171
803
513
231
580
127
626
857
799
160
517
575
227
232
349
675
581
260
515
472
911
77
181
862
74
570
215
424
15
284
812
737
293
504
763
684
433
582
566
633
52
58
230
201
827
987
485
815
771
719
869
384
87
102
491
180
981
483
610
186
856
679
351
133
372
146
323
253
889
151
259
501
776
566
15
187
562
341
756
131
211
199
733
738
644
994
549
348
669
566
198
796
822
487
2
875
622
751
769
376
710
572
734
207
643
888
555
341
473
189
141
730
766
220
0
3
899
239
849
874
7
801
43
309
245
528
428
925
466
271
807
866
148
842
11
135
987
256
403
996
673
284
126
522
323
615
405
922
630
92
180
825
947
251
644
427
262
41
662
703
643
964
541
66
337
834
284
53
359
112
542
595
675
806
594
362
950
680
489
78
805
534
323
348
266
779
432
306
505
95
326
799
685
499
654
810
634
905
8
304
729
980
4
834
911
237
776
120
460
187
466
738
834
53
333
921
519
227
101
442
54
177
805
406
142
311
841
996
340
331
684
666
851
661
459
588
737
209
766
2
539
196
113
813
976
556
521
860
825
828
877
291
205
43
722
587
799
160
156
367
403
802
168
308
3
834
366
599
9
207
4
586
893
47
5
664
665
106
994
544
850
211
135
667
961
601
246
455
474
33
35
649
252
675
367
739
613
42
87
30
75
455
663
333
901
169
506
533
126
395
380
741
643
309
732
420
578
722
578
212
76
677
593
495
524
721
481
543
633
571
495
879
868
294
252
951
621
572
831
666
192
685
540
589
275
623
738
988
446
679
327
68
45
226
484
835
54
240
802
662
416
549
301
889
223
696
474
494
4
959
377
119
701
853
606
278
476
181
249
278
64
943
722
106
562
410
181
598
753
449
326
332
55
750
410
953
154
897
821
37
466
891
373
86
456
354
923
935
567
601
628
480
553
194
955
296
913
482
592
582
583
70
980
844
851
366
920
156
408
526
897
623
149
82
230
408
671
115
591
131
577
343
423
57
385
150
697
424
140
538
682
821
795
166
483
974
421
610
972
37
337
579
103
900
307
610
80
836
814
262
596
712
768
596
190
457
430
825
403
583
770
804
114
729
852
189
490
580
588
212
132
808
102
562
458
732
477
107
482
564
959
955
32
690
247
78
599
10
161
59
688
49
350
444
612
971
967
414
459
173
397
682
805
670
149
419
855
72
375
129
876
77
556
530
194
104
163
439
575
419
796
234
861
645
154
905
991
250
908
60
978
857
80
721
974
825
301
673
141
921
7
778
986
511
453
69
123
404
663
686
124
121
890
642
555
231
667
954
35
835
645
161
266
854
926
377
675
140
603
547
510
206
42
911
852
73
786
390
780
23
715
547
760
715
962
675
653
789
361
662
375
979
272
568
87
215
732
553
807
187
17
318
769
190
384
333
429
577
836
281
802
26
823
318
730
716
424
926
363
900
515
450
570
106
583
900
412
753
681
725
453
394
874
658
488
692
501
294
322
79
738
625
767
571
591
919
868
450
746
415
48
345
261
191
257
648
665
977
743
291
517
535
164
536
378
60
308
439
175
957
476
569
319
946
346
102
1
0
99
398
425
621
611
255
85
782
210
914
835
342
744
534
926
74
33
830
448
415
247
503
759
346
696
835
451
947
241
269
354
523
479
784
913
249
235
389
906
240
722
483
491
917
789
612
15
95
467
298
13
201
814
847
149
224
443
846
202
325
711
119
985
545
250
927
288
347
9
688
741
167
550
373
307
256
683
783
903
97
996
172
378
89
672
271
227
24
269
729
268
404
31
735
815
780
798
137
253
915
911
335
56
381
770
505
654
999
842
514
934
347
241
165
140
946
871
802
165
402
21
128
175
528
262
598
415
584
391
593
460
284
513
735
283
697
755
926
901
338
651
307
951
737
916
198
234
941
401
787
749
602
471
706
878
195
950
927
765
906
714
302
250
603
633
499
972
292
723
8
164
947
241
959
663
788
363
880
253
119
67
83
284
75
764
135
512
861
929
390
200
830
993
98
824
869
14
184
579
739
31
26
800
689
548
621
263
70
554
929
914
609
419
569
977
417
629
929
749
563
616
671
855
671
985
247
699
127
691
506
892
63
118
537
942
173
522
265
607
693
448
512
438
649
995
80
393
110
62
175
341
929
535
99
834
340
93
601
64
933
45
284
403
41
605
241
942
662
831
403
543
61
412
840
778
429
626
983
519
403
890
465
365
636
729
148
946
176
134
47
459
916
353
644
789
330
47
132
829
164
762
574
550
612
872
725
422
981
227
331
33
89
773
118
78
741
259
683
166
805
602
674
83
368
573
547
702
299
332
245
681
467
513
395
105
721
51
753
264
602
247
460
152
681
498
778
549
392
449
422
558
622
17
682
732
643
751
156
345
608
630
854
68
563
695
385
220
408
258
466
294
607
254
487
98
584
61
937
473
274
67
990
184
907
189
251
105
396
506
296
95
503
980
209
569
760
109
71
389
710
493
346
935
416
989
426
316
396
666
201
524
621
810
130
479
683
673
86
627
543
577
867
574
949
341
551
404
308
522
295
515
691
79
112
949
252
753
366
96
414
49
393
667
486
367
939
577
906
235
631
470
278
856
831
342
826
59
59
805
258
426
557
927
810
739
856
369
838
327
870
145
857
437
501
38
972
908
922
281
644
620
102
622
1
93
937
610
653
871
996
58
650
857
517
501
851
118
134
731
124
985
670
208
969
171
724
128
828
290
808
148
733
861
99
501
59
706
878
846
131
0
309
4
983
223
801
944
307
341
844
778
690
741
371
794
653
62
924
555
799
750
24
146
328
720
329
386
909
908
133
142
389
327
443
460
330
180
873
879
992
980
243
448
868
274
320
733
290
643
729
628
75
266
800
953
32
625
929
727
749
189
566
882
743
167
131
581
123
910
439
551
735
487
855
65
797
860
171
379
186
207
562
461
35
1
953
83
888
556
713
675
811
706
476
478
471
723
314
599
416
275
561
621
198
66
377
533
683
749
498
804
880
40
973
215
352
527
302
571
434
893
356
189
867
710
316
913
491
603
692
67
16
956
123
116
928
499
176
306
40
944
7
414
255
265
688
926
828
21
126
500
4
144
990
343
437
696
638
792
448
147
713
352
889
200
251
698
881
183
74
621
743
611
983
417
583
585
81
210
395
26
298
539
827
679
348
693
353
849
358
27
204
778
151
813
503
386
49
121
2
343
407
209
354
863
198
838
330
484
825
606
506
564
899
156
737
63
323
803
813
777
55
41
282
742
356
349
57
701
53
310
454
480
161
568
483
954
825
289
159
968
411
826
186
915
99
152
143
941
34
971
588
680
637
95
156
79
905
149
608
678
460
841
109
977
909
81
958
611
533
846
489
383
387
344
524
213
758
33
550
585
433
150
129
760
317
698
332
189
393
33
715
942
267
379
374
152
323
398
198
508
192
351
359
800
519
384
101
214
2
75
835
738
854
594
636
446
695
465
341
751
446
788
183
850
268
354
50
645
103
405
945
139
660
109
298
770
154
174
365
838
939
2
33
542
17
226
0
252
465
416
267
96
528
832
443
136
400
149
73
154
757
665
18
137
354
25
323
671
210
7
166
246
472
705
521
26
552
705
302
696
602
651
170
907
256
543
990
579
251
562
314
46
926
579
834
65
759
884
26
79
260
984
263
587
353
288
872
659
302
568
896
408
507
85
979
949
957
143
537
659
479
581
156
354
241
947
426
165
166
228
567
731
684
837
291
3
614
820
84
953
302
672
220
904
519
819
655
10
146
814
200
969
937
877
796
848
694
548
764
552
383
17
996
283
213
160
549
155
53
540
849
297
689
418
113
110
38
179
153
850
685
606
74
667
595
544
239
26
549
561
110
985
916
438
969
867
678
934
21
179
306
359
141
265
692
294
727
155
71
852
212
81
55
304
338
966
382
859
218
434
545
546
751
206
673
499
123
990
858
372
861
717
999
152
331
206
215
406
613
306
715
303
249
406
702
403
811
258
792
240
10
249
730
783
643
896
750
966
450
673
894
802
491
730
719
462
350
381
53
120
215
757
202
970
509
134
686
183
962
975
919
121
109
198
231
918
793
963
187
607
890
698
138
263
825
338
70
686
976
405
235
953
959
194
841
779
956
720
212
628
730
482
181
542
80
210
641
825
152
691
850
570
86
364
682
562
347
851
801
680
900
811
469
126
546
473
261
831
133
822
402
943
80
784
159
265
913
793
48
204
132
888
909
879
760
899
12
992
827
494
916
824
715
148
339
556
601
808
509
878
540
720
907
753
25
521
871
958
649
514
801
704
668
303
104
851
463
948
347
42
728
995
756
498
712
315
868
22
751
704
970
830
757
264
468
570
22
401
308
743
188
563
71
532
94
625
795
194
413
691
366
886
52
635
360
542
936
171
724
520
363
585
213
849
12
398
969
251
290
113
834
669
306
944
109
436
401
694
182
146
248
576
396
939
874
766
718
702
66
248
190
935
783
162
703
144
533
337
702
627
714
665
240
308
513
773
892
197
117
95
700
454
534
280
344
777
868
770
49
700
722
858
427
332
159
386
537
199
465
417
543
240
493
207
345
797
619
809
912
41
335
145
794
112
6
375
676
77
156
683
665
11
791
426
737
105
798
311
780
239
27
488
150
545
684
24
747
956
647
702
649
523
923
625
676
97
513
871
496
303
977
921
544
228
349
716
997
978
448
672
849
223
387
541
204
129
642
933
714
662
932
7
965
54
952
707
754
477
570
668
317
529
568
972
522
385
923
488
574
116
324
284
206
822
474
207
648
628
700
296
740
688
847
784
272
528
382
780
775
532
967
481
677
366
721
476
60
985
317
303
30
942
588
97
528
307
914
723
526
794
899
169
1
617
662
769
239
34
846
813
589
479
310
711
199
719
66
584
484
698
421
881
658
749
479
571
55
908
998
166
615
201
384
440
342
17
82
562
630
901
986
454
437
499
989
158
100
50
895
585
737
692
638
904
169
547
136
56
976
730
197
433
968
563
861
885
820
450
716
800
459
744
976
77
483
199
183
610
629
364
902
15
987
635
241
814
564
140
686
57
880
824
387
104
840
297
751
337
564
910
831
176
616
578
550
608
812
927
206
279
946
151
835
888
945
311
211
866
461
646
846
10
363
429
175
943
94
626
666
816
484
465
177
854
734
947
379
357
839
557
879
335
494
713
937
382
939
6
706
57
927
890
585
752
312
439
107
902
496
559
753
771
521
784
62
757
43
258
531
295
389
591
819
39
582
282
559
750
190
354
239
959
458
667
880
85
464
62
26
531
186
903
835
131
187
599
647
926
216
257
438
283
919
380
936
455
984
659
153
435
209
404
167
691
813
683
550
802
829
270
534
10
897
894
565
501
519
887
526
601
364
242
394
579
294
842
396
519
168
847
430
876
203
572
345
102
794
558
352
614
132
986
936
454
680
673
94
556
522
5
394
573
39
394
34
152
42
625
902
970
612
487
545
275
148
187
36
801
760
836
916
279
785
796
73
355
305
315
769
908
424
14
363
499
55
34
391
258
702
99
232
390
437
406
138
24
531
105
646
671
138
800
894
292
192
968
284
175
872
134
345
488
175
993
813
446
130
893
65
455
780
531
144
149
380
273
503
621
928
935
977
21
754
228
417
267
49
756
876
606
597
824
257
987
936
193
30
603
784
965
818
209
378
521
544
368
230
464
742
342
605
642
589
740
910
890
388
102
756
143
294
18
533
7
854
41
603
782
276
592
173
566
376
389
554
151
958
626
407
89
668
60
953
755
550
714
926
602
318
114
696
249
80
303
560
272
862
114
902
300
829
825
401
940
159
292
372
497
990
995
693
973
981
801
411
654
24
732
445
882
238
740
487
276
2
232
649
158
46
599
678
294
305
334
910
739
992
215
312
880
497
508
914
47
979
650
602
617
98
794
684
637
381
81
944
813
615
775
36
996
713
594
602
96
357
469
821
534
533
422
856
8
246
882
763
102
201
61
177
146
214
341
355
505
799
694
725
58
160
199
239
467
644
253
643
632
855
163
491
148
335
829
696
577
667
41
252
40
868
775
202
295
568
126
907
141
631
529
501
628
138
872
993
841
22
794
481
809
946
795
609
172
936
299
918
109
302
586
499
623
334
650
851
356
96
536
581
827
134
465
98
341
464
619
493
374
447
663
875
870
108
677
159
732
887
22
454
954
942
294
903
224
297
224
909
984
839
207
622
628
106
125
756
756
373
978
323
437
989
604
814
588
895
583
405
885
227
574
421
548
560
405
711
376
520
56
988
331
980
982
912
170
305
572
892
997
147
242
243
950
144
226
232
110
108
720
752
477
173
818
541
435
385
557
181
76
913
605
620
22
579
830
609
456
358
240
693
325
377
298
521
363
607
821
676
888
114
890
340
50
92
434
569
318
903
81
774
132
109
948
318
388
151
142
672
128
470
276
634
806
510
519
973
8
321
656
715
173
680
597
658
30
339
396
512
203
572
862
874
138
110
103
506
57
905
869
495
164
266
663
58
797
500
500
417
69
327
573
260
256
160
451
306
497
881
917
633
227
498
730
943
37
38
532
681
472
250
351
103
580
622
282
273
899
669
902
691
702
393
160
355
780
705
690
218
395
892
800
895
454
604
718
973
309
261
340
999
582
263
465
462
191
365
199
159
574
152
803
934
878
107
246
45
863
708
705
169
166
532
262
84
963
653
479
46
772
759
923
451
151
148
838
877
625
252
943
338
892
704
484
996
231
978
304
577
614
630
179
576
774
1
876
850
987
492
273
911
47
20
133
813
104
304
961
268
726
738
681
441
131
345
890
796
879
870
233
446
151
526
821
380
131
340
926
368
893
748
54
893
352
665
174
566
128
777
755
798
634
294
838
746
466
978
455
737
879
92
712
131
597
242
851
262
905
732
38
767
112
380
854
920
954
658
277
143
490
725
131
9
815
829
122
210
58
439
579
666
68
860
707
555
632
143
315
836
801
306
429
549
372
174
773
869
972
873
433
398
12
219
542
278
392
607
197
219
835
253
0
886
101
355
869
146
821
585
154
178
544
358
990
569
409
150
544
530
127
113
826
506
470
521
605
313
156
391
512
621
23
894
411
141
103
481
972
151
122
233
938
34
19
251
935
950
628
913
328
490
66
508
298
637
788
658
651
846
844
579
467
466
188
405
471
915
338
24
44
214
596
670
914
78
821
458
382
982
164
634
571
996
882
741
595
26
167
307
723
791
476
836
881
877
305
51
552
849
766
503
729
261
642
648
742
653
474
54
41
736
747
438
999
294
304
728
290
505
766
735
416
655
796
152
306
507
155
598
30
962
966
82
520
51
136
940
456
728
88
711
755
366
791
102
313
650
521
760
511
140
283
519
406
517
860
156
683
23
486
412
278
999
880
332
306
333
359
156
223
424
49
364
653
865
776
572
990
935
636
713
879
604
521
294
316
535
339
475
124
317
439
926
995
981
488
85
744
212
561
848
852
93
951
474
638
813
509
831
158
637
272
343
418
513
860
50
109
621
322
698
153
203
486
633
554
305
275
842
971
611
864
465
585
652
575
204
973
956
151
560
424
259
499
427
765
324
795
753
439
686
237
518
633
627
752
168
858
81
75
732
744
473
739
623
72
182
410
844
229
839
63
580
886
72
480
126
510
390
821
892
935
15
884
563
450
833
60
884
894
896
821
742
527
99
831
748
469
150
890
675
520
609
857
655
96
149
256
575
90
205
321
556
816
940
521
497
279
927
382
599
679
201
496
400
884
132
214
454
353
475
134
91
286
648
430
108
351
754
591
47
29
850
123
90
158
833
836
747
387
973
841
395
459
249
510
485
466
966
788
827
367
633
521
121
265
933
732
12
518
759
327
674
654
693
67
373
569
66
617
678
826
906
242
839
433
599
454
349
61
626
769
636
729
517
162
776
35
666
649
945
596
497
754
335
232
192
400
210
532
987
935
484
11
265
736
287
239
386
776
621
623
444
607
28
982
600
138
291
405
224
852
245
164
683
273
658
414
554
622
600
4
877
268
654
221
725
337
243
25
408
100
153
233
768
717
276
680
641
71
964
341
894
169
583
182
398
716
483
910
589
161
456
974
729
402
745
235
291
575
900
89
716
47
204
273
902
960
186
781
663
40
483
342
373
263
538
523
532
857
69
669
620
508
588
287
300
247
993
331
223
567
777
775
627
413
716
324
717
32
730
57
681
841
987
808
979
639
475
288
316
20
804
46
239
232
167
617
188
178
324
553
44
1
527
801
342
721
73
922
479
649
188
345
364
644
768
790
459
876
380
996
476
410
53
968
829
738
394
221
668
224
942
170
403
326
271
662
529
935
475
76
460
818
238
909
419
196
840
152
697
91
571
857
13
456
746
356
209
228
131
26
743
556
571
310
895
22
134
322
880
876
542
699
376
422
887
496
824
565
638
381
576
760
6
597
614
700
376
728
740
321
762
62
932
162
150
155
511
142
996
857
175
572
737
954
474
130
922
485
945
326
914
411
200
162
749
496
15
21
320
427
334
175
411
732
549
661
240
964
730
869
908
287
742
194
156
714
598
450
105
565
339
738
11
209
984
394
99
492
890
785
322
770
691
736
493
897
206
792
747
980
448
485
699
590
964
465
266
892
953
649
858
808
743
206
934
633
359
766
469
135
426
838
366
655
203
29
930
33
324
972
553
758
902
627
944
939
897
727
527
824
295
95
19
894
295
318
466
173
510
925
260
174
631
414
133
423
882
914
918
286
868
777
981
169
452
409
762
509
638
171
185
286
835
31
372
338
140
667
204
362
611
117
116
40
312
966
58
35
368
14
103
767
203
559
956
505
836
556
152
396
810
500
352
980
853
368
970
264
140
386
426
956
643
808
355
801
225
122
163
49
619
170
681
44
191
760
24
533
444
562
323
973
319
580
113
274
322
749
461
502
330
746
930
814
307
542
904
38
232
883
673
270
706
644
362
217
29
382
68
894
355
172
482
275
622
417
21
719
823
224
860
444
175
9
402
114
240
374
76
811
225
498
653
860
481
655
803
988
383
612
359
774
466
941
695
853
453
18
313
69
344
735
823
829
143
993
47
623
708
339
264
841
30
262
10
535
483
999
270
816
871
233
674
101
941
833
236
505
194
432
118
853
157
982
576
366
547
13
873
756
406
841
720
451
309
656
835
719
345
176
489
104
194
668
781
331
859
214
951
723
264
673
99
981
480
919
842
952
992
538
315
315
226
769
352
176
426
113
100
873
804
86
431
824
664
468
704
150
530
911
95
651
657
745
487
721
802
798
434
956
569
313
975
224
247
553
696
828
456
912
409
384
957
235
825
979
178
582
544
342
468
652
912
63
434
790
349
768
107
942
102
539
335
925
93
59
301
69
42
636
667
853
421
519
374
453
318
262
800
278
719
227
278
631
421
347
366
739
344
204
972
36
661
428
0
131
113
516
179
408
35
984
724
196
639
681
459
737
787
347
789
737
494
354
413
41
761
855
230
518
749
417
968
860
512
334
646
263
221
79
939
779
618
6
747
911
215
722
471
235
983
447
164
510
209
767
858
180
138
944
457
407
817
946
725
908
593
911
762
93
914
470
55
692
192
386
928
940
760
925
179
157
9
186
88
674
603
167
541
495
639
945
417
575
157
994
148
676
124
819
961
530
604
28
236
900
187
836
898
331
947
448
423
949
402
251
95
918
392
710
975
830
709
7
848
930
750
900
491
660
454
390
645
252
275
183
883
804
869
552
450
893
449
632
129
350
254
292
38
25
455
833
133
218
438
403
562
647
192
583
405
60
731
617
431
223
780
590
873
346
523
868
974
831
333
432
384
754
286
422
0
600
854
90
691
490
467
770
735
156
713
764
951
979
329
567
264
645
853
580
693
176
8
786
115
1
169
382
938
95
605
286
985
14
657
930
878
28
801
550
65
435
410
68
20
618
58
700
265
284
567
458
298
588
233
655
918
347
498
835
163
175
548
819
484
343
602
477
489
688
254
289
577
146
164
584
498
172
938
532
680
508
445
935
614
844
593
702
349
718
344
720
710
100
808
418
103
842
717
546
393
348
851
308
223
344
386
372
521
732
136
682
909
785
758
418
108
385
891
445
54
379
403
713
120
636
664
687
342
153
476
23
37
827
772
693
375
489
896
81
38
41
784
510
469
114
719
454
626
127
836
76
661
635
835
347
757
729
510
821
698
760
933
259
921
575
34
454
828
802
649
358
611
801
858
72
812
444
727
362
446
58
411
285
966
217
172
185
3
837
499
285
530
602
162
109
768
217
60
546
871
994
55
306
522
746
751
737
72
106
558
754
647
427
108
375
442
736
945
723
353
337
301
48
300
631
786
516
497
438
816
518
607
797
996
182
599
997
450
318
536
525
370
429
355
329
182
180
288
821
131
110
743
839
889
897
847
654
35
770
992
998
1
582
903
340
737
640
582
712
358
620
581
8
511
588
836
768
764
788
322
376
235
575
244
169
796
905
430
939
495
593
677
441
254
437
416
925
672
654
75
238
702
277
107
441
523
164
990
365
479
906
612
685
749
990
613
559
530
737
204
139
244
775
481
617
427
285
63
399
392
222
440
458
970
119
886
295
554
379
27
529
37
782
204
196
343
231
665
976
666
951
990
626
762
523
336
774
256
338
95
828
997
74
384
24
35
618
729
198
226
316
939
467
956
643
67
457
271
732
822
986
800
938
529
413
525
254
797
476
502
633
523
112
837
127
396
263
516
981
136
80
768
959
18
14
29
888
932
158
450
343
393
602
670
491
979
975
984
465
806
658
530
316
473
410
521
683
328
349
688
127
555
874
62
547
570
902
192
967
699
887
723
32
822
75
468
15
562
832
997
926
207
239
292
156
135
44
858
566
898
888
372
6
707
52
252
248
40
278
999
542
827
562
419
747
242
81
395
565
414
659
657
6
815
518
692
595
422
333
139
23
669
629
801
143
350
924
493
668
456
389
839
455
670
702
758
901
247
807
171
725
0
934
140
488
728
529
659
758
448
599
407
558
5
631
21
254
208
0
503
63
2
446
365
894
20
578
907
371
1
0
462
350
354
651
646
912
374
635
814
509
800
895
600
293
727
999
263
259
179
297
977
457
885
364
236
572
560
132
418
747
536
198
293
488
289
572
141
36
48
746
116
324
755
803
310
100
450
394
710
113
538
3
566
343
793
992
236
392
395
722
896
82
543
150
92
634
279
763
905
747
172
468
138
997
43
136
562
328
664
472
759
29
547
554
938
446
258
659
578
185
552
665
111
240
688
888
614
458
567
612
561
862
863
244
46
451
689
655
719
32
19
712
989
312
478
448
301
73
107
345
109
452
305
178
849
56
856
439
930
265
362
275
698
687
894
340
432
760
10
486
825
609
811
176
760
666
362
482
882
988
105
631
0
489
879
571
795
993
692
132
480
330
80
420
217
44
83
132
710
125
701
741
563
181
975
600
100
537
540
973
727
683
614
28
471
198
989
306
128
289
430
645
329
347
85
889
750
652
626
540
819
369
751
337
620
920
733
750
432
969
536
662
98
661
916
967
89
41
622
461
23
21
232
974
726
709
95
762
481
214
477
30
380
44
485
809
83
665
452
606
83
119
587
400
661
446
24
508
474
43
383
542
364
65
523
746
142
405
794
109
502
152
351
634
526
572
838
0
41
984
977
538
535
207
256
471
693
79
471
641
387
761
496
221
624
362
336
172
272
126
276
606
126
977
633
271
546
355
357
428
620
390
33
294
545
463
8
672
435
947
224
581
10
620
72
501
838
100
849
539
472
604
171
25
156
896
447
630
538
844
965
363
680
139
869
426
70
743
294
754
451
509
65
930
727
95
153
494
84
484
619
603
311
466
56
280
844
977
638
405
375
826
238
529
754
374
445
826
333
967
609
706
52
927
621
351
959
396
19
531
53
647
533
947
251
374
20
923
392
593
329
578
569
418
227
798
171
193
314
554
12
382
795
371
72
567
316
946
738
889
301
119
765
119
711
243
473
7
543
685
422
454
419
366
592
689
521
452
424
63
686
72
866
526
163
604
517
624
14
783
805
147
85
141
636
422
902
665
378
331
272
461
257
281
6
75
241
319
789
945
858
21
159
36
431
202
451
122
796
892
674
919
882
521
612
653
5
987
506
695
143
966
342
24
683
523
390
927
464
876
19
534
394
643
852
643
626
933
737
818
995
425
567
586
221
30
254
865
560
689
3
6
95
616
784
134
887
630
109
463
239
621
607
269
243
823
488
544
34
515
721
327
350
249
917
30
942
78
792
573
368
134
970
377
162
976
454
719
668
729
328
272
270
889
783
38
610
721
407
838
200
681
250
369
177
767
471
474
695
285
100
450
728
689
540
677
216
422
998
158
306
293
898
355
545
464
641
132
684
662
105
889
487
644
321
20
436
908
762
281
86
728
974
908
454
530
467
617
713
331
285
341
544
467
585
140
804
342
532
339
721
212
71
410
739
818
302
721
565
357
174
748
448
663
803
252
818
988
522
302
726
773
707
841
348
150
966
871
222
124
278
823
246
306
858
832
496
799
822
364
369
600
634
536
494
412
740
809
603
767
308
823
132
344
813
27
301
754
463
582
48
541
576
137
403
512
885
279
605
477
666
475
197
428
40
183
756
793
906
182
144
871
837
328
699
6
465
849
65
722
57
671
766
986
971
540
698
577
726
712
83
68
306
720
175
416
573
732
507
889
141
675
318
970
306
364
247
528
357
286
134
765
240
599
419
929
871
485
939
876
531
855
718
917
751
852
221
307
253
88
921
512
389
815
65
921
324
676
483
44
491
473
229
571
276
999
783
302
261
599
53
645
660
25
448
516
931
857
182
768
76
845
877
443
203
56
64
395
531
784
499
9
29
606
870
254
869
720
268
448
524
803
726
186
162
908
182
804
179
330
49
277
366
914
901
417
828
197
579
73
753
13
731
990
203
643
894
922
422
974
654
167
739
770
499
840
606
161
331
658
419
6
894
871
162
954
310
680
145
653
88
465
275
269
141
460
964
925
65
415
802
77
163
259
466
337
593
459
32
854
120
729
296
783
565
958
932
27
141
799
768
249
728
403
771
448
919
497
66
753
216
220
651
204
590
647
920
301
632
274
763
144
67
506
85
603
275
628
228
70
849
868
524
440
936
444
438
24
268
798
546
661
936
90
215
860
462
623
138
647
787
92
193
438
472
134
488
886
951
879
566
281
48
332
408
890
277
498
431
348
105
787
803
36
953
202
882
451
609
539
317
997
540
229
348
187
540
207
756
696
458
86
375
584
538
159
781
145
932
394
751
484
498
546
723
41
261
511
988
374
838
869
842
580
501
852
156
437
764
660
659
896
511
547
614
662
907
203
541
871
5
125
740
196
970
343
193
496
891
363
829
676
891
397
330
209
148
757
22
337
827
318
997
71
553
138
710
374
69
885
713
991
10
852
764
721
835
594
908
639
923
730
360
153
81
246
147
900
543
796
457
779
416
655
62
234
356
326
829
579
651
479
335
518
736
186
456
73
954
461
789
647
231
555
202
322
547
255
996
92
694
351
116
395
869
654
699
817
780
140
310
508
833
101
942
459
645
904
455
346
842
580
265
202
418
521
382
536
720
424
145
191
603
322
541
465
717
762
305
994
847
592
733
900
582
406
595
107
47
387
941
502
242
845
28
404
777
256
599
996
589
585
244
350
674
971
648
990
511
286
146
719
742
506
831
285
742
687
985
391
82
234
756
449
295
521
167
31
309
248
615
209
317
279
0
920
297
744
839
407
602
8
220
154
558
290
124
156
288
617
289
749
803
710
827
59
310
78
330
812
0
995
680
387
988
443
540
122
478
189
675
131
224
52
637
675
390
139
603
28
183
921
480
558
938
98
315
391
364
821
166
624
845
635
215
90
90
32
259
747
38
7
687
189
398
953
307
583
352
44
940
883
576
569
161
733
898
752
204
194
529
298
777
411
861
242
805
44
19
190
544
188
814
593
854
431
300
643
724
217
584
116
225
552
42
745
100
518
204
386
758
110
325
821
142
845
491
810
507
451
100
467
356
87
498
880
186
900
199
216
133
365
493
866
524
314
562
189
934
423
181
559
628
513
615
447
253
953
283
190
0
342
430
377
581
960
118
32
868
670
906
913
330
777
591
744
774
300
330
281
449
284
103
994
465
489
737
677
928
138
296
296
427
388
775
453
754
680
263
617
867
187
815
920
268
393
730
162
290
953
414
990
101
103
482
29
970
757
966
372
445
409
949
765
842
199
155
311
109
150
114
434
169
692
697
279
964
254
728
53
644
336
560
552
133
482
78
490
856
875
934
838
793
491
800
443
380
274
636
601
382
715
38
71
59
116
880
921
816
592
196
373
515
838
863
317
470
648
146
208
898
208
415
943
150
316
222
604
803
756
811
563
607
669
214
756
779
901
429
129
170
15
95
19
227
857
813
957
38
489
154
640
494
297
115
225
991
744
164
602
826
828
380
736
239
672
253
997
209
190
605
780
842
915
776
787
88
552
981
114
252
536
485
756
295
548
16
994
171
536
566
151
738
40
765
369
884
487
638
405
88
43
600
645
942
307
850
6
135
130
25
236
664
596
443
884
101
635
943
166
415
272
280
288
668
320
876
245
560
138
634
422
942
839
489
852
710
282
366
309
830
49
922
273
235
282
766
624
283
888
60
261
20
502
235
987
688
729
94
120
316
63
21
966
324
681
766
914
306
760
878
142
593
410
769
147
821
670
905
792
494
540
600
538
756
164
619
977
237
134
729
165
49
950
666
806
684
216
962
32
358
609
341
195
274
901
279
732
697
238
898
357
828
225
830
691
756
276
341
108
353
367
616
862
209
951
543
75
969
582
171
463
49
573
745
102
419
692
395
387
533
14
889
403
344
282
947
98
261
730
245
201
78
535
420
734
737
513
108
177
425
464
44
3
404
151
875
768
355
778
779
100
236
488
41
950
429
653
452
805
978
380
715
367
915
362
235
316
656
870
419
128
441
511
717
94
929
299
333
721
355
710
531
954
171
917
943
810
473
880
74
399
485
883
160
138
998
236
89
506
339
613
993
538
723
333
346
146
320
916
283
677
988
911
239
593
417
948
522
395
343
160
663
198
934
561
532
138
47
414
412
513
390
585
927
401
272
509
840
279
257
624
583
783
278
923
66
352
826
409
927
53
410
44
174
82
369
224
845
374
800
412
270
793
830
838
697
496
410
860
772
758
598
540
223
639
358
43
630
528
227
685
937
546
813
836
26
152
262
7
584
44
386
489
135
757
762
843
393
9
202
608
201
74
5
396
318
78
4
443
651
707
261
14
274
746
339
902
137
41
299
142
637
70
510
614
165
374
89
391
581
154
310
208
822
689
912
772
519
191
78
828
744
73
82
444
626
339
781
444
899
381
807
226
402
280
79
186
980
665
938
115
220
179
26
192
222
235
336
809
521
464
402
39
262
108
754
786
290
810
279
965
863
123
818
125
656
853
914
257
953
325
42
794
338
883
785
161
724
818
600
113
833
65
126
773
777
764
154
64
803
117
659
99
486
411
172
692
769
728
636
818
49
915
771
802
534
155
278
881
866
538
779
227
91
2
504
519
380
467
268
587
927
162
885
475
217
815
82
940
50
899
813
977
427
3
128
183
120
449
866
453
430
593
926
936
282
789
318
607
217
287
851
646
480
650
62
346
222
131
560
972
443
421
518
895
996
583
689
111
221
166
596
510
336
624
101
408
978
274
390
538
417
71
426
429
371
427
574
112
76
781
841
420
193
305
299
381
904
656
360
304
230
892
50
235
110
842
438
86
555
670
899
986
212
311
883
213
811
558
798
772
733
336
342
219
467
784
519
443
852
661
804
867
492
532
471
350
722
190
506
782
197
31
943
482
575
513
369
310
495
101
848
353
476
296
250
733
288
509
148
876
958
465
89
98
6
447
87
283
34
534
314
866
4
200
133
462
829
940
694
318
163
952
949
379
565
696
152
382
876
728
503
667
955
980
483
969
774
536
777
516
937
740
330
797
650
218
761
406
474
448
968
104
265
617
101
860
191
58
378
113
379
164
913
123
470
520
969
116
632
959
528
392
363
663
262
865
997
174
243
749
483
423
176
590
541
852
692
511
634
612
478
545
404
114
945
665
580
696
759
535
973
66
611
208
939
139
863
50
637
923
613
836
156
655
89
316
230
85
872
348
578
231
460
376
385
950
786
928
583
432
521
376
189
323
410
394
445
175
147
732
201
569
934
549
851
877
163
477
31
900
740
978
335
364
637
451
858
321
109
803
60
804
951
609
505
177
887
862
263
61
205
822
482
579
918
539
405
851
607
834
84
921
654
295
268
379
857
430
962
20
869
201
309
223
299
657
965
139
376
303
103
693
399
394
953
906
412
532
195
918
59
579
544
217
976
608
166
981
52
563
912
989
390
171
955
608
139
978
938
222
152
964
790
542
934
986
268
579
825
38
938
792
72
786
970
69
550
599
935
284
889
999
969
67
814
119
918
778
927
534
990
793
783
956
532
634
87
399
237
814
516
88
936
64
476
316
69
692
829
989
247
151
205
231
493
708
550
697
760
584
837
507
457
879
276
190
510
75
205
96
900
892
519
590
560
754
536
931
800
382
56
471
161
800
252
609
175
416
527
565
678
396
609
886
765
811
778
779
717
21
705
591
189
722
713
841
287
520
519
643
498
620
139
228
69
450
294
930
536
180
141
299
312
785
265
109
880
666
64
918
429
514
790
447
714
94
787
799
945
961
36
130
452
409
140
935
248
281
751
547
625
927
330
745
853
624
55
893
433
325
523
980
740
403
77
208
825
109
502
274
832
99
897
604
846
236
155
678
435
385
404
197
548
880
179
381
720
719
641
219
818
970
268
157
532
611
858
832
307
848
651
375
876
103
945
24
64
472
415
20
191
135
987
363
573
725
511
508
157
561
976
572
789
201
742
780
73
332
879
901
112
763
595
662
521
522
55
947
972
912
779
476
789
863
47
211
562
394
106
658
357
497
461
478
140
477
254
666
176
514
673
333
556
290
562
209
981
492
191
789
781
433
451
16
835
154
306
913
511
443
883
282
387
346
796
268
426
538
210
607
171
521
491
199
427
550
446
448
618
16
29
851
551
816
1
409
492
915
303
45
558
507
277
324
563
357
657
163
778
538
128
241
686
918
307
3
431
118
121
683
504
448
431
178
391
811
814
988
582
419
194
132
229
828
304
398
226
410
498
108
559
611
597
412
118
527
813
776
373
333
591
137
650
332
48
391
251
571
115
514
5
758
339
540
820
565
94
698
649
830
773
146
605
98
426
1
623
652
11
184
814
573
22
101
590
729
980
354
733
788
677
809
318
123
507
716
372
723
78
854
821
326
774
381
272
521
554
139
604
396
855
921
69
815
428
72
350
509
147
231
752
165
279
484
260
580
757
934
550
233
843
516
578
391
454
780
960
288
908
23
874
109
284
458
340
438
757
116
956
345
548
42
229
807
208
948
533
739
379
878
137
657
61
680
187
244
956
112
610
185
614
895
244
418
353
519
423
232
341
133
575
65
706
398
913
965
848
163
928
59
86
764
923
17
278
445
627
447
0
955
105
953
709
904
664
676
958
16
705
120
878
37
236
928
858
344
642
439
534
934
646
375
624
176
821
484
368
596
109
904
991
361
720
713
25
180
723
559
79
265
237
960
835
211
821
302
419
706
648
164
218
771
795
958
610
418
801
222
620
640
496
727
533
380
309
109
242
156
88
546
715
509
50
627
380
345
497
279
911
856
983
795
981
772
216
351
835
283
798
463
470
743
418
182
154
251
88
177
398
430
934
727
585
13
200
567
275
420
260
99
190
902
699
462
707
610
723
125
591
219
730
391
194
256
64
714
831
188
880
126
949
807
269
252
420
288
617
484
827
594
929
690
257
641
211
389
513
586
384
739
969
357
973
316
652
34
460
375
537
959
753
82
869
843
17
8
522
499
836
877
606
756
463
749
465
783
972
511
49
216
923
44
600
632
809
54
738
763
861
207
543
339
794
84
788
71
681
766
588
840
987
87
492
385
403
100
18
834
380
3
405
774
207
21
513
792
230
664
211
207
210
689
200
613
332
67
414
411
899
471
501
382
915
669
181
143
956
623
903
75
547
528
430
230
238
345
417
808
699
711
83
96
198
508
122
338
54
180
324
347
74
14
229
105
85
286
731
788
748
12
305
576
274
314
659
39
230
652
33
905
774
389
234
144
42
685
537
705
739
755
757
186
526
715
937
739
113
481
119
695
353
915
382
814
952
441
898
996
99
120
380
802
113
506
445
907
835
359
355
587
445
933
751
837
930
542
744
175
481
266
786
450
330
856
839
502
159
565
69
587
400
354
942
798
563
614
513
627
373
273
344
691
793
811
878
493
236
846
387
936
844
324
659
781
562
947
934
930
501
785
461
716
487
950
930
535
722
0
355
108
933
812
145
882
691
896
759
401
898
297
92
783
870
449
835
27
986
392
670
267
767
98
163
860
65
653
695
408
196
779
467
602
102
532
625
270
156
493
754
222
543
864
432
303
616
388
712
71
475
927
121
632
53
193
109
463
583
714
633
262
830
905
919
976
195
585
719
907
875
604
954
261
481
882
677
809
393
276
349
746
792
527
626
475
96
475
990
719
80
10
758
0
518
953
841
214
426
764
614
962
303
113
158
733
758
974
407
370
810
918
964
211
109
388
24
999
192
252
354
428
387
479
3
811
112
642
926
796
968
539
447
836
336
785
694
533
463
695
661
99
70
432
799
104
316
846
444
82
124
486
55
527
412
280
516
990
544
842
342
934
504
79
988
215
748
753
95
212
450
859
21
81
299
897
935
239
131
3
654
981
687
832
395
646
254
229
402
90
110
249
92
521
777
779
791
689
672
532
287
270
908
956
473
186
684
212
210
215
787
432
572
512
652
429
406
476
962
665
846
395
410
669
406
101
847
70
513
680
766
673
362
70
341
406
928
953
938
285
661
671
124
6
687
638
173
994
355
27
495
890
923
419
444
114
541
362
758
892
531
21
305
167
978
717
133
617
541
593
863
932
524
504
239
83
986
190
519
585
491
325
930
356
408
271
707
501
492
414
812
984
335
184
603
298
421
1
289
993
798
773
955
972
345
573
953
702
841
827
308
700
282
534
622
693
669
384
842
135
894
916
100
629
484
717
538
671
517
716
968
963
894
712
10
168
2
359
233
122
341
887
450
617
542
17
11
979
30
487
754
378
461
429
880
427
500
616
411
4
459
368
39
704
12
196
605
659
245
395
854
430
567
585
548
156
694
967
219
481
218
209
232
410
472
960
665
42
561
417
56
569
683
705
767
865
41
567
969
337
787
358
702
428
732
708
463
182
201
460
81
82
779
583
163
322
732
624
285
235
781
347
713
906
284
209
373
621
33
227
861
451
242
315
510
259
569
762
517
232
802
761
17
677
432
574
856
712
47
123
87
853
523
250
689
590
191
282
911
402
253
509
546
728
286
324
578
812
633
908
923
995
395
394
422
552
285
834
231
927
662
796
685
664
582
643
645
375
752
243
560
340
748
90
610
40
448
102
492
225
585
896
907
723
601
63
870
206
169
119
441
19
24
642
603
470
807
681
323
65
930
378
177
34
798
911
983
87
158
947
264
347
256
221
673
825
826
421
640
95
115
669
204
445
462
435
581
24
209
708
606
702
873
59
563
517
645
153
817
937
39
632
759
306
229
61
218
554
145
800
667
748
968
810
387
23
187
855
764
49
610
783
881
64
287
133
955
437
738
160
634
428
930
647
150
748
136
709
927
849
345
260
692
812
672
693
171
256
880
102
242
840
603
753
444
629
539
835
837
30
548
82
267
320
94
635
470
984
254
90
282
94
434
572
745
750
194
245
449
955
936
776
429
924
990
368
21
26
850
722
877
550
52
692
379
590
353
952
535
593
900
606
311
150
349
574
242
554
182
468
897
740
450
86
926
880
151
468
681
670
704
459
451
740
297
937
349
271
960
847
724
571
638
241
519
342
437
816
958
172
610
74
926
115
425
855
296
547
798
521
372
732
762
941
148
327
391
469
914
291
150
822
595
591
174
798
963
480
955
54
164
569
403
57
107
214
553
373
772
61
580
850
91
61
771
885
937
770
434
309
543
906
216
770
65
116
478
682
4
384
761
323
709
875
703
560
556
730
153
654
205
446
495
575
759
622
125
386
854
412
9
301
583
338
671
189
430
689
537
614
557
79
19
766
617
107
435
777
531
49
840
588
328
160
102
143
134
262
674
164
782
281
484
594
118
162
368
323
904
248
959
577
921
218
146
522
349
23
878
654
578
25
629
534
550
54
654
577
104
932
903
327
890
630
382
45
623
532
428
424
608
243
91
309
589
226
20
942
456
397
703
987
704
626
38
301
384
863
74
163
68
820
808
412
136
193
856
331
270
45
771
840
781
30
74
740
688
427
339
933
591
707
395
484
521
777
390
812
913
206
377
113
4
633
672
948
852
289
173
414
88
789
53
503
727
480
236
148
144
340
927
425
436
165
758
478
864
948
236
400
322
301
932
750
511
47
537
38
602
441
454
255
134
429
276
694
813
553
265
955
176
486
68
80
401
336
356
314
55
289
646
210
820
626
881
462
199
902
403
860
534
81
999
222
732
608
610
693
606
369
19
314
132
35
544
165
436
73
781
346
332
711
544
442
395
13
726
741
417
124
56
59
601
206
937
79
618
126
33
558
440
194
623
698
892
212
439
321
928
196
707
917
496
966
173
182
283
279
566
856
888
829
84
339
52
339
477
664
881
706
838
138
758
866
879
469
695
743
670
874
891
315
529
487
848
686
586
674
530
364
854
86
753
947
842
101
901
809
711
801
567
374
442
986
904
642
755
417
200
540
75
172
199
943
538
380
891
109
999
868
61
54
838
23
996
946
425
95
225
643
6
570
291
612
966
898
946
524
22
730
399
890
115
446
857
528
578
158
127
914
667
435
956
790
601
265
968
77
293
809
628
753
484
762
250
706
316
997
270
997
224
998
411
661
58
72
963
322
646
946
222
127
19
266
267
153
104
606
602
190
906
688
940
721
634
596
809
169
193
20
64
299
977
842
808
603
731
214
876
686
748
803
207
948
821
996
941
261
314
427
588
223
561
969
317
517
795
874
495
74
734
842
66
588
572
531
643
584
823
184
224
16
476
228
516
733
480
460
547
192
925
255
599
92
854
808
547
523
312
102
848
696
420
743
186
647
509
331
957
164
907
549
744
523
840
262
50
800
327
109
202
698
196
529
362
407
468
809
463
474
295
354
733
702
475
792
780
353
972
328
95
304
707
340
506
911
319
674
58
370
69
154
105
917
785
915
159
903
531
791
404
833
964
322
5
291
179
993
40
902
857
976
270
131
745
726
30
572
423
200
872
679
66
606
592
826
646
644
904
991
193
9
848
36
901
621
507
971
39
536
374
50
472
149
480
175
504
718
604
218
4
51
323
154
756
383
719
369
289
833
43
461
123
858
877
342
534
117
483
562
139
324
992
250
305
382
169
987
441
508
659
350
934
121
45
335
453
790
269
654
630
591
989
220
400
340
980
285
816
303
690
64
474
740
854
388
387
728
690
357
616
18
767
954
342
179
471
140
684
436
305
295
313
746
187
123
620
150
81
498
538
653
764
808
4
662
94
942
960
284
463
372
149
632
655
525
956
260
71
514
941
230
65
517
871
539
398
272
432
836
410
177
733
568
832
75
114
948
758
569
434
96
683
151
918
102
7
992
895
241
144
500
32
304
518
172
99
340
715
318
575
151
232
660
459
660
143
759
832
217
975
875
524
228
16
910
2
992
532
403
124
603
294
878
292
47
786
97
826
987
990
648
841
429
574
754
347
465
872
490
133
336
714
697
45
894
822
999
92
833
401
763
778
324
413
40
910
480
503
480
241
743
873
424
505
855
783
610
840
870
389
48
663
309
571
295
490
348
941
402
709
435
73
215
523
436
756
627
639
734
823
874
262
870
145
303
675
820
266
355
776
742
955
915
423
556
246
888
472
699
241
64
409
213
117
134
644
983
508
205
95
50
84
503
474
675
896
739
213
8
269
16
283
88
723
935
28
871
750
796
204
780
347
519
786
169
95
294
907
475
342
553
366
673
867
904
790
896
877
519
625
324
356
234
737
912
763
66
875
528
691
513
783
989
740
168
345
918
92
373
332
84
553
32
251
888
542
649
411
252
861
753
522
696
593
408
506
813
178
910
28
460
542
81
696
612
64
808
792
547
159
194
3
506
11
927
495
556
977
83
387
751
344
533
545
547
724
530
801
207
344
121
373
786
192
191
839
997
948
208
929
910
535
319
509
966
792
727
991
228
99
803
512
959
834
195
635
562
213
742
774
470
675
121
47
438
362
547
308
799
327
272
508
656
693
417
400
510
80
440
52
632
338
94
727
146
650
797
518
434
549
118
205
296
777
659
275
241
389
312
516
166
859
635
847
134
728
264
683
807
773
31
546
252
571
718
377
408
712
274
855
560
957
302
834
483
571
444
829
79
117
539
424
418
203
505
618
152
818
438
503
574
469
766
640
618
639
684
441
884
378
628
995
533
518
329
24
641
23
776
339
52
970
79
611
473
904
108
859
163
177
218
371
635
913
334
59
224
645
814
794
498
435
913
60
958
767
886
978
886
544
633
95
700
726
804
981
918
11
933
585
451
117
297
343
232
341
38
694
516
827
90
659
952
585
89
94
785
629
909
189
259
72
455
861
775
643
504
721
331
791
397
687
39
103
171
113
779
622
581
630
948
49
633
504
957
701
356
929
826
577
860
6
816
485
794
687
481
101
896
294
846
746
159
919
383
988
245
534
646
497
976
223
704
93
135
965
450
575
404
823
519
873
906
844
917
363
615
731
221
593
194
59
882
192
281
42
272
473
366
889
847
232
35
624
385
75
570
201
438
667
615
539
781
66
621
661
838
674
573
324
735
440
314
459
316
730
957
492
697
317
352
707
549
30
351
380
645
401
385
268
111
257
879
276
472
178
650
889
651
498
641
860
912
143
346
865
818
167
467
244
841
221
264
505
776
74
221
243
234
783
869
411
701
397
775
396
785
315
828
192
197
800
585
403
506
769
426
179
593
160
158
252
85
710
512
311
931
196
852
236
614
876
76
111
776
828
998
24
294
209
332
545
67
442
717
499
207
701
770
875
518
94
640
263
342
342
317
234
576
549
759
956
118
86
837
332
888
635
555
965
866
145
368
427
723
515
816
97
562
147
795
440
844
874
688
816
606
966
408
55
832
197
879
236
103
604
550
163
621
125
762
597
866
25
665
784
514
168
685
829
216
345
581
194
590
769
967
199
673
552
403
615
103
456
948
180
478
533
437
669
453
10
115
432
60
376
563
730
44
41
833
685
134
151
31
713
413
711
209
663
948
950
589
1
722
97
874
560
464
559
830
133
260
291
711
962
374
671
344
42
649
632
709
585
244
189
445
96
503
244
26
120
11
656
778
44
250
896
40
818
238
876
234
847
148
644
189
495
932
479
297
768
211
176
988
818
747
264
241
69
387
24
875
400
603
95
482
948
965
528
284
995
867
613
790
507
571
353
806
837
498
314
637
949
275
507
326
514
600
714
396
566
486
490
522
691
741
672
916
75
115
241
826
593
653
757
385
739
282
236
298
256
473
655
17
361
628
280
758
975
618
475
88
905
788
599
289
963
27
198
190
970
200
656
140
997
519
435
846
81
879
951
377
740
746
123
252
562
659
735
718
119
932
207
370
365
568
18
566
547
836
712
830
663
804
410
956
796
105
912
19
420
839
936
680
903
921
212
538
999
147
507
834
790
250
668
459
765
406
312
562
280
454
352
914
881
228
452
707
812
166
853
409
427
955
549
555
205
790
317
698
907
400
465
642
144
407
479
360
60
115
755
153
531
880
358
927
159
489
447
728
338
630
920
878
376
333
157
422
475
471
331
833
266
711
352
108
133
658
553
856
173
820
546
700
410
352
688
669
192
81
987
804
847
515
780
8
238
568
261
311
335
229
670
333
621
914
932
96
570
12
552
37
471
562
429
680
848
326
861
993
985
335
446
194
266
611
266
703
246
464
893
977
318
468
944
215
696
217
764
146
354
93
538
244
857
94
292
622
588
647
910
987
384
988
177
445
874
107
501
576
281
148
39
283
186
336
446
956
529
699
170
64
495
513
73
261
464
530
689
309
625
785
348
359
198
496
264
285
630
783
365
937
101
916
507
675
39
91
426
355
94
244
489
511
421
940
509
507
440
747
797
867
26
438
229
977
6
758
457
920
613
104
576
327
721
630
60
579
443
602
786
647
962
910
273
815
730
173
689
71
920
906
516
648
392
640
345
634
363
55
363
567
54
186
650
40
909
663
646
670
135
342
13
37
916
372
54
158
71
201
145
717
756
107
233
79
594
363
695
491
726
965
426
331
206
779
460
630
857
127
653
277
360
453
899
514
546
866
734
368
851
365
413
351
568
529
11
501
105
427
941
993
697
118
650
752
395
133
189
121
712
789
315
185
832
74
253
164
651
532
575
696
230
650
886
600
468
363
469
429
132
225
397
41
814
277
711
895
448
151
477
156
158
524
393
704
240
858
618
672
18
158
679
146
524
655
747
784
850
644
21
846
380
104
124
474
223
21
38
634
63
979
179
821
94
672
441
957
867
827
839
314
721
452
685
896
315
24
712
208
770
242
616
553
262
707
649
948
243
89
912
583
288
42
114
522
854
236
618
685
808
261
526
873
121
506
872
682
88
58
900
754
364
110
665
756
875
166
31
383
40
909
892
57
476
320
520
261
469
1
780
743
567
592
257
443
253
607
567
335
160
665
400
793
60
494
717
363
706
717
121
131
142
352
425
127
364
255
716
678
270
152
306
783
831
545
492
790
10
103
356
243
78
880
557
326
951
284
604
327
574
865
213
318
474
707
844
653
153
606
305
185
212
375
44
481
259
973
455
607
456
670
524
693
431
882
692
957
202
873
996
309
820
783
645
726
292
722
283
401
791
153
774
530
262
271
37
785
701
467
374
495
538
816
883
395
764
592
227
249
594
783
809
302
439
807
23
391
138
815
71
845
623
658
93
516
246
508
304
723
42
386
121
559
117
688
34
414
855
155
849
555
231
917
58
676
336
298
111
12
447
176
25
579
28
60
745
516
871
600
406
936
116
257
357
912
464
839
165
863
567
867
116
362
173
486
925
90
685
243
448
487
421
310
674
786
863
799
634
466
999
199
200
962
658
372
295
277
969
485
464
444
781
595
62
321
886
279
145
723
976
413
513
657
247
813
86
830
415
496
488
169
751
277
754
155
688
608
23
248
144
150
50
636
926
717
853
484
128
620
243
406
337
633
106
696
6
441
918
426
529
559
635
172
969
24
954
495
67
174
433
152
514
852
102
888
352
253
198
372
203
288
319
537
481
327
135
637
366
560
262
422
689
936
347
728
929
563
483
475
969
290
576
34
890
665
78
636
856
450
135
859
735
877
391
309
110
79
621
214
327
223
91
295
138
5
323
960
117
441
597
170
375
623
172
650
677
886
12
449
620
382
3
984
235
673
892
19
40
604
970
667
704
988
452
468
324
410
610
974
121
211
804
133
272
483
990
184
849
312
4
982
824
339
423
95
453
44
13
297
490
274
579
371
442
454
640
168
133
199
756
975
638
927
677
951
351
667
308
802
716
943
241
743
140
248
86
862
999
489
112
803
482
222
567
430
727
270
801
689
805
436
31
568
222
633
637
272
304
787
176
556
144
837
531
204
196
411
657
570
895
969
41
509
132
2
650
209
425
763
459
134
359
312
715
767
843
951
315
573
546
218
581
372
932
798
991
674
307
550
614
132
280
681
305
204
667
648
712
723
493
318
542
636
419
490
286
314
70
215
103
847
712
547
297
934
827
697
779
421
980
29
130
156
83
763
80
863
760
563
49
0
45
110
737
923
417
861
943
891
533
151
62
614
5
189
817
298
600
750
575
495
946
116
373
739
178
52
809
487
738
433
326
888
204
664
285
597
172
222
750
680
983
204
17
287
722
154
292
955
805
240
75
608
965
813
574
409
789
62
86
29
628
229
917
89
409
950
911
604
99
881
493
800
11
173
327
964
121
977
486
191
810
672
557
767
219
648
169
649
250
466
42
161
746
861
814
218
262
958
310
84
850
97
65
267
353
109
920
278
930
794
473
536
68
694
369
964
162
584
496
691
365
23
253
186
433
735
322
3
42
553
625
814
524
477
975
725
845
690
353
462
712
761
966
155
836
983
847
960
656
918
987
407
625
676
820
557
341
993
346
318
653
959
302
509
49
162
664
411
289
618
113
732
552
76
250
562
830
256
776
742
399
15
997
595
597
231
905
199
598
205
175
450
152
184
365
522
150
398
334
67
119
530
32
802
477
353
114
463
785
985
58
56
109
973
855
983
579
537
597
381
24
56
878
390
940
809
0
608
75
263
204
725
528
427
149
657
780
385
740
631
979
27
193
376
958
695
469
767
587
62
823
635
586
451
927
265
141
273
120
612
106
808
679
659
188
616
746
973
532
545
959
808
379
663
661
533
479
194
885
647
417
322
935
923
425
226
493
513
393
598
284
906
90
809
725
696
675
554
570
621
157
202
475
185
78
786
673
979
881
141
572
97
553
281
437
458
923
490
485
425
785
105
755
871
778
17
957
553
851
206
83
991
795
590
130
96
679
420
352
578
171
431
593
941
440
208
280
431
900
36
617
149
55
250
333
150
914
272
876
960
28
475
132
913
585
731
612
22
791
38
8
88
500
965
334
535
612
171
951
452
33
752
488
566
184
344
271
476
207
132
155
294
239
341
326
379
655
288
222
992
204
835
606
422
52
179
775
176
516
71
337
897
46
856
660
957
727
440
682
644
456
922
480
429
923
249
47
879
9
80
999
105
729
234
314
181
172
785
434
641
856
574
683
504
921
864
733
176
544
597
931
647
688
279
27
373
715
860
96
490
520
574
892
682
525
236
262
485
69
577
400
850
259
990
506
594
563
69
885
509
223
912
94
281
424
256
254
975
443
334
99
13
925
225
765
367
764
569
2
855
542
549
415
769
249
896
32
472
845
487
714
267
167
522
628
515
355
464
299
558
486
255
885
666
792
900
313
128
782
669
54
605
549
338
288
172
248
63
421
444
673
388
237
325
921
451
554
982
809
743
117
636
733
114
416
661
498
947
936
502
406
604
894
852
849
478
543
188
999
770
900
12
721
442
927
644
392
890
533
610
192
283
578
952
741
954
783
641
32
129
184
745
592
778
158
606
666
168
402
330
45
630
255
163
436
141
859
928
455
304
341
506
646
367
371
376
403
260
380
455
73
260
950
622
106
743
372
960
497
998
794
614
528
775
721
240
604
960
969
496
98
798
561
53
834
951
195
770
80
403
99
283
895
789
570
150
984
996
80
545
726
141
81
995
413
763
976
877
80
588
519
23
911
617
819
113
995
592
617
938
476
947
427
999
541
574
250
838
777
135
101
326
982
775
124
34
132
544
494
366
907
952
696
94
182
307
791
971
905
520
889
147
48
783
232
863
115
771
723
858
193
914
597
1
124
203
289
560
674
668
666
730
148
134
435
214
835
642
718
974
795
109
981
866
498
802
292
72
656
659
904
589
482
705
586
872
446
352
41
650
737
136
697
787
604
203
347
890
969
856
740
623
478
26
276
852
565
216
681
486
544
849
737
260
467
58
965
604
497
957
753
869
689
331
494
460
688
399
444
551
485
363
934
894
260
230
392
667
662
334
13
412
421
146
1
325
171
740
86
923
78
11
53
52
820
848
990
633
799
199
700
201
980
897
407
345
956
975
726
810
97
399
875
933
157
156
270
421
650
137
797
823
845
213
277
408
704
504
839
150
509
116
288
494
657
176
433
590
370
594
821
731
299
907
125
148
56
400
435
915
160
373
19
336
565
478
574
711
263
156
618
658
144
765
111
955
875
486
232
405
526
862
529
521
744
907
17
201
480
561
873
910
931
810
915
502
320
788
249
714
888
686
438
309
298
89
703
591
831
837
352
572
796
813
474
881
697
341
198
990
126
28
8
153
914
200
398
410
63
583
546
239
744
948
983
763
860
751
543
730
743
197
644
197
425
437
968
431
110
466
24
183
217
814
886
814
600
600
293
741
589
716
951
337
550
430
552
736
833
747
490
193
150
891
845
57
93
121
727
828
874
638
264
885
688
869
289
256
452
759
447
540
395
553
372
472
565
583
16
999
607
722
280
236
446
867
5
721
900
554
605
721
559
15
677
218
900
717
223
149
930
833
487
333
487
794
131
742
36
611
372
937
647
629
112
538
863
315
389
565
904
199
193
651
526
795
487
991
227
798
269
985
788
531
522
963
83
255
342
893
117
676
528
882
170
62
365
987
937
317
454
74
165
271
223
957
587
622
24
206
890
654
456
301
763
350
50
986
445
175
857
41
590
304
688
744
213
682
211
348
298
603
602
110
616
511
754
548
50
692
271
862
266
111
628
466
44
567
637
565
527
499
437
368
397
928
451
944
435
61
777
146
616
718
949
925
923
679
802
117
85
234
384
833
666
713
657
204
316
268
471
271
721
902
614
238
566
792
124
634
679
340
693
364
396
786
153
6
359
719
149
869
774
837
715
312
469
849
457
670
120
928
67
637
631
137
298
354
963
658
561
40
259
636
426
94
143
59
676
158
80
876
818
662
933
694
676
59
838
776
279
925
294
449
326
785
923
846
76
339
831
111
423
244
579
139
680
425
824
453
554
30
396
211
862
772
177
950
293
416
915
170
358
722
303
288
21
337
532
846
693
32
222
216
414
141
563
201
41
694
23
596
359
878
621
591
719
529
306
339
361
826
507
925
328
655
341
0
758
707
545
853
402
519
473
208
419
140
846
294
534
673
579
772
319
115
582
606
954
444
199
478
626
687
823
689
252
375
539
992
530
380
758
464
492
349
188
286
642
61
87
960
836
57
187
394
41
693
781
805
223
273
732
327
740
909
523
742
40
922
127
161
108
666
705
991
60
673
289
300
887
778
120
577
496
959
415
368
869
363
151
859
621
567
566
643
885
24
175
41
898
779
327
726
391
651
301
450
784
323
961
611
699
612
2
114
61
847
263
92
19
139
147
177
680
920
90
976
496
781
655
515
967
932
2
935
66
710
375
723
521
649
464
706
177
721
861
783
232
856
469
514
285
892
463
905
301
414
955
200
327
651
316
760
586
6
280
501
313
119
486
933
439
555
660
619
80
120
635
242
5
797
249
349
625
780
583
62
911
790
591
597
579
857
669
419
787
715
796
334
983
399
472
522
641
890
149
940
716
393
27
210
942
179
340
111
645
580
272
681
171
876
431
594
284
870
90
635
546
213
231
942
561
402
560
475
803
729
949
989
95
324
667
325
862
789
886
213
325
508
565
307
296
798
551
980
481
558
375
865
815
307
324
151
653
895
517
180
504
122
170
348
98
589
396
375
819
533
946
836
686
303
368
275
159
788
505
199
463
431
31
465
78
410
408
291
202
352
710
356
544
858
764
369
800
191
182
685
620
154
979
385
235
292
762
545
83
716
515
426
684
26
570
102
966
601
459
874
238
761
304
282
871
438
310
216
195
308
945
248
170
506
785
158
12
874
362
861
72
436
904
97
98
22
230
334
895
986
244
535
538
999
758
315
35
267
281
554
316
783
54
324
644
972
791
349
873
735
99
271
173
187
598
243
925
378
819
230
913
121
614
862
534
394
625
517
416
713
700
612
522
426
712
708
970
216
540
628
517
17
726
939
872
892
577
316
256
615
911
847
981
977
582
6
863
384
335
776
47
857
646
483
661
971
257
857
428
489
486
818
707
671
20
915
529
146
140
743
541
52
379
777
407
269
697
63
85
545
858
252
709
522
485
680
475
148
197
396
908
412
712
620
830
275
934
400
162
673
118
531
39
806
847
485
770
79
253
506
731
277
9
65
466
69
846
395
945
619
67
537
409
318
791
975
861
763
490
879
826
905
140
522
614
63
362
437
778
106
26
621
935
272
895
299
645
781
662
919
753
662
867
696
454
510
296
866
985
780
930
314
221
37
878
625
810
42
552
543
614
18
196
490
190
385
472
89
710
462
785
44
953
869
269
74
54
749
77
391
905
715
220
481
73
143
798
908
159
450
839
689
130
310
990
691
362
230
93
264
594
975
795
537
673
539
380
192
66
385
367
741
506
675
931
701
403
44
782
938
607
128
864
222
790
511
436
314
474
96
980
71
74
674
718
490
280
765
552
832
463
49
23
993
772
848
93
922
175
818
574
154
165
136
579
979
611
630
821
955
372
459
63
38
117
619
385
559
370
320
977
980
227
218
190
624
909
499
568
860
944
591
446
405
469
205
134
123
738
804
308
322
546
199
286
224
404
837
204
483
305
147
364
872
270
879
886
243
781
301
312
285
168
930
296
509
334
535
573
768
833
810
468
898
374
600
478
344
876
330
486
312
203
15
320
275
947
741
244
266
699
22
162
202
714
738
153
873
766
474
148
65
308
615
355
201
948
846
816
596
945
91
588
53
441
736
205
652
340
624
192
30
319
558
45
275
283
550
692
326
990
671
793
134
237
836
468
402
307
291
358
550
422
860
611
235
93
378
272
470
689
571
943
53
301
652
879
940
588
708
72
772
748
508
994
790
677
48
432
113
831
548
450
770
147
653
131
791
912
79
987
662
83
497
863
936
743
184
483
913
194
377
884
150
216
124
350
706
906
239
618
228
113
291
848
903
188
248
990
813
123
143
311
744
302
933
925
902
800
228
502
955
6
212
87
680
649
744
147
922
372
722
377
17
175
474
442
375
828
747
693
652
343
69
286
628
80
528
278
626
172
556
522
963
2
108
893
858
992
648
328
861
610
588
329
479
692
64
331
15
482
600
998
687
602
617
728
784
466
103
873
151
860
202
490
188
789
241
225
897
618
933
279
637
617
639
692
758
939
627
464
469
28
949
562
954
0
13
574
508
867
208
532
221
629
95
584
318
367
50
461
90
613
222
450
326
212
401
884
560
71
311
523
448
631
441
693
502
80
17
569
228
387
387
378
909
225
777
380
385
688
562
643
153
71
938
415
421
495
50
55
493
334
133
500
838
481
341
698
512
449
23
544
178
349
44
934
715
135
26
342
813
416
467
205
161
316
541
789
308
127
276
595
742
158
513
948
893
218
935
534
903
910
935
457
666
61
977
913
427
269
460
235
534
402
549
320
348
328
237
609
96
136
164
10
144
879
533
624
974
783
169
203
542
733
774
53
377
838
280
387
972
312
886
13
122
199
3
671
472
259
517
832
226
228
29
803
264
437
420
129
715
90
687
786
613
947
128
474
554
800
267
978
594
550
997
280
737
341
289
449
714
155
913
674
402
528
863
177
696
276
366
726
877
329
866
816
281
73
885
818
275
329
307
173
696
144
843
398
508
915
925
692
576
42
197
754
257
675
488
571
783
733
483
549
84
948
940
809
331
203
79
616
247
193
867
74
46
734
388
287
46
953
497
758
777
153
689
561
94
824
607
617
366
731
890
969
509
762
635
628
250
878
368
711
142
385
318
601
829
512
885
365
184
825
944
426
865
278
852
395
319
895
790
856
533
826
933
46
210
397
975
205
457
281
69
499
52
656
154
742
793
705
832
504
758
132
318
593
324
262
336
71
460
12
550
255
687
294
801
138
559
386
624
104
417
155
300
481
981
975
468
860
623
644
30
798
901
58
885
709
948
612
431
82
626
986
298
416
562
75
385
404
798
663
219
154
934
204
856
11
349
638
508
965
500
718
912
985
999
361
221
412
381
174
791
564
746
399
40
106
988
937
612
684
791
914
500
281
414
839
600
753
333
736
596
493
720
643
669
106
647
826
828
555
927
907
434
429
182
962
580
562
119
383
578
516
325
519
111
87
872
791
644
700
10
333
553
982
566
241
535
796
153
804
810
141
666
969
559
778
62
5
550
468
420
224
177
210
800
982
8
628
515
407
714
824
225
513
661
918
432
90
710
630
602
655
8
339
360
824
865
780
776
582
656
577
854
498
858
766
535
837
194
410
358
419
686
264
689
151
867
811
747
338
720
661
819
472
687
674
65
150
713
393
650
749
554
284
877
850
599
971
38
202
582
676
619
799
923
885
464
639
95
410
588
279
996
964
363
692
230
689
81
539
420
198
480
145
490
581
875
650
57
782
43
719
752
222
939
802
44
49
390
862
757
153
180
756
417
686
264
684
508
371
126
596
174
764
470
958
336
345
849
367
841
403
16
471
324
160
641
388
454
835
48
6
303
734
878
254
13
630
799
186
432
783
114
380
739
968
199
6
615
247
760
678
781
934
403
447
214
587
324
779
966
548
957
430
819
224
349
867
508
446
399
333
334
601
158
605
306
220
776
972
388
181
91
683
166
412
734
164
443
134
208
787
595
652
335
116
903
153
598
679
718
660
853
919
786
208
52
153
9
236
794
806
603
994
866
150
212
178
21
801
674
600
788
305
851
79
920
816
765
91
141
37
415
209
759
350
706
96
917
636
564
523
76
296
688
317
812
130
28
32
268
581
205
833
301
281
853
472
112
228
531
519
490
21
503
561
884
850
803
140
709
552
824
702
213
705
77
924
520
39
416
463
120
628
723
156
708
803
331
27
984
901
496
757
258
60
599
567
801
860
498
898
362
707
411
940
701
666
512
567
874
647
389
362
453
134
114
871
198
344
475
874
297
242
828
346
599
358
803
642
290
508
302
89
792
197
283
472
352
114
203
226
253
170
398
226
394
164
229
442
453
317
384
451
815
755
82
30
50
16
253
151
534
860
418
994
189
254
667
21
173
188
271
482
392
157
581
68
63
517
672
973
742
977
612
688
854
126
256
767
381
283
712
924
35
992
92
997
997
535
873
979
255
479
298
949
250
574
244
156
567
77
708
546
957
528
332
328
93
836
801
37
448
739
391
965
853
122
242
696
525
942
596
872
983
460
406
357
48
400
10
859
118
943
544
478
318
705
592
411
602
67
237
504
299
9
124
325
469
624
184
437
436
64
840
510
905
994
136
430
39
253
390
600
938
328
274
789
187
36
891
789
370
244
186
264
905
452
542
74
660
998
193
78
808
341
301
229
854
94
229
68
619
307
44
240
623
429
455
469
903
896
235
651
998
407
232
889
726
897
519
876
288
156
968
392
705
241
55
583
993
851
321
175
2
754
567
624
67
715
166
798
81
147
559
129
997
262
167
836
849
347
125
672
957
943
414
930
991
31
816
551
564
368
179
249
12
275
234
360
930
67
924
135
780
720
850
533
161
645
484
734
734
538
82
315
474
90
472
480
511
643
710
150
358
758
706
608
323
57
994
598
222
217
201
726
717
861
484
818
308
489
850
724
418
385
404
645
205
491
623
537
137
957
86
915
252
717
708
424
557
14
206
128
133
555
307
563
685
351
52
232
893
391
585
600
401
678
46
207
645
417
387
604
741
914
102
485
684
452
338
935
551
698
386
624
856
219
578
121
588
457
80
129
929
372
665
714
32
259
856
676
904
973
70
893
246
91
916
514
597
761
395
660
316
548
916
913
512
256
345
512
678
425
401
149
624
34
661
825
802
230
373
251
427
582
34
910
187
463
406
13
204
191
531
190
190
613
320
578
767
596
76
714
725
100
176
499
604
90
638
55
822
809
300
245
771
46
20
287
990
721
245
875
129
410
740
645
308
345
292
282
512
441
999
676
140
517
924
53
149
620
322
933
656
694
924
11
203
579
382
770
397
708
252
189
29
243
342
677
749
371
5
569
479
611
183
226
516
586
844
822
786
303
343
649
702
968
248
496
601
793
78
261
371
562
895
565
114
851
63
862
442
574
715
822
366
789
550
811
921
298
87
855
648
715
291
228
845
419
164
205
461
279
401
333
26
440
200
923
235
203
529
361
635
849
227
940
303
515
846
523
547
395
658
558
805
420
658
904
914
175
424
298
676
671
704
796
593
526
106
778
196
673
205
606
856
979
957
630
863
343
141
78
121
996
227
108
256
53
140
517
755
852
343
979
416
777
443
168
263
808
262
56
310
574
277
924
775
125
627
722
724
565
618
688
723
861
379
815
382
976
618
443
280
883
394
117
914
880
333
662
598
104
784
838
62
972
129
754
816
422
209
896
916
496
523
470
842
168
384
207
662
59
524
180
980
600
323
753
301
472
155
198
877
704
704
611
50
397
759
620
225
384
94
915
700
522
136
810
893
534
899
229
946
894
421
841
473
170
257
603
583
345
368
411
398
314
114
53
33
459
640
16
102
75
903
462
674
862
855
441
891
515
340
767
51
134
623
357
260
788
648
622
403
124
879
541
913
64
278
301
533
349
932
733
416
657
97
206
807
109
642
612
318
19
287
420
301
949
877
747
392
331
166
606
413
306
725
313
87
514
918
180
399
932
753
97
192
358
558
399
973
438
584
8
682
661
910
175
297
713
352
602
816
933
710
575
355
48
248
628
121
642
952
915
833
157
992
835
477
786
957
685
594
957
773
434
198
716
149
5
468
881
455
255
371
359
785
760
116
53
359
834
646
177
395
341
346
800
536
948
103
506
552
159
740
39
454
879
152
509
66
898
172
375
287
283
932
188
500
498
159
949
117
283
178
548
272
23
241
924
633
747
394
542
98
847
436
657
745
386
514
779
408
799
155
362
865
165
788
692
48
74
774
987
156
182
282
622
265
333
739
321
21
982
79
454
87
873
630
262
813
770
142
922
422
488
210
220
303
587
815
765
304
695
344
296
872
936
561
504
98
774
721
462
37
843
566
513
805
320
859
546
324
896
805
500
744
178
13
622
607
249
771
534
976
794
207
897
645
476
808
670
572
779
594
931
869
611
515
132
555
894
902
613
143
577
458
675
589
741
666
383
368
860
518
599
552
458
878
746
681
595
269
449
290
737
217
106
288
437
160
949
355
978
224
430
40
861
392
743
129
40
725
985
574
963
916
526
924
471
293
924
662
15
488
689
479
235
0
509
167
865
981
217
643
567
544
706
203
780
720
393
715
816
455
270
663
930
334
203
804
473
592
953
181
344
799
552
811
397
114
509
130
603
40
481
224
78
98
846
607
587
577
367
280
64
593
419
423
79
873
972
65
597
769
168
774
967
462
348
190
257
75
935
191
492
293
460
673
974
820
791
59
933
372
800
862
575
132
859
630
551
612
604
244
320
115
405
47
603
345
771
701
73
225
720
228
468
817
300
142
18
695
284
466
905
294
421
398
709
170
341
318
223
107
387
507
635
33
149
175
586
866
897
1
618
524
802
979
650
958
589
199
327
885
585
990
965
109
65
396
773
28
241
695
430
999
544
196
633
851
814
503
648
186
529
326
173
280
786
430
768
312
619
550
168
115
975
437
132
356
53
50
809
866
354
779
714
312
52
696
123
221
487
870
469
965
997
142
786
180
952
379
91
746
978
110
369
593
627
875
405
733
825
478
557
969
795
483
267
56
870
912
262
714
658
787
769
860
891
796
513
904
292
880
59
511
454
295
408
687
190
25
313
41
817
178
674
289
816
812
770
437
897
195
76
575
422
737
387
381
949
752
187
748
718
593
696
811
491
653
74
10
333
155
518
926
922
347
673
257
49
247
121
943
337
408
785
793
894
104
568
6
417
518
366
535
656
969
268
482
587
896
402
115
421
178
596
299
626
433
209
441
867
881
893
484
641
425
413
227
812
21
619
917
218
990
190
569
698
899
605
529
188
815
742
365
808
213
156
839
530
785
51
607
241
826
936
47
452
838
653
372
426
663
862
751
576
654
645
82
343
607
827
729
221
205
378
791
684
963
387
684
16
120
20
403
426
709
249
200
84
906
514
21
64
133
717
107
236
218
714
778
112
479
301
170
86
698
229
484
58
585
742
272
889
592
498
707
171
663
439
471
130
512
487
232
158
397
450
717
202
653
818
888
801
481
950
831
477
260
574
562
274
612
606
502
484
398
947
762
153
123
468
596
598
131
734
683
995
646
473
293
64
778
166
932
370
751
350
252
725
957
932
909
472
970
918
404
743
496
102
653
210
309
762
110
212
524
934
7
259
298
583
535
49
996
711
265
180
504
978
807
298
893
705
847
462
975
874
308
818
113
208
909
873
707
425
449
83
759
339
279
732
721
148
49
865
477
523
354
441
509
715
264
643
261
786
163
899
449
48
984
86
529
551
55
235
294
547
198
517
855
715
794
558
904
370
996
633
429
609
585
122
924
313
42
903
300
575
926
863
890
893
815
796
369
511
996
129
196
373
159
720
478
634
544
859
613
950
570
465
918
76
482
543
18
433
19
470
657
388
970
953
655
760
757
64
562
505
518
434
297
750
487
543
477
873
282
352
878
801
779
65
732
445
813
880
452
366
280
72
370
612
532
406
69
743
647
787
401
509
786
628
428
927
171
147
525
939
225
243
392
853
372
551
146
613
558
891
251
103
282
247
694
185
308
430
240
167
476
246
862
71
262
174
827
548
863
976
709
84
630
120
607
319
520
410
299
195
741
293
916
79
952
928
611
758
765
213
573
890
964
560
409
951
411
599
65
951
272
764
5
700
923
622
736
75
224
175
774
307
146
91
178
825
150
254
277
568
719
52
490
29
811
497
750
504
149
51
115
417
153
76
17
535
310
209
205
42
489
929
322
615
289
88
656
816
690
756
308
182
512
495
960
550
931
848
128
798
551
527
819
579
636
54
123
181
781
880
298
450
157
520
594
978
633
476
541
64
222
436
165
10
511
357
45
86
932
179
694
460
110
48
442
787
23
472
541
633
802
817
263
57
701
987
152
278
560
789
772
876
424
767
393
561
205
781
634
522
525
603
643
967
512
740
497
967
219
643
930
143
667
474
681
562
7
316
741
269
560
114
33
346
322
252
711
737
295
322
10
113
948
343
150
873
595
406
903
29
91
210
873
676
877
827
347
827
380
618
899
988
911
166
259
142
279
623
806
667
8
343
931
516
625
736
931
585
297
789
579
409
793
275
305
540
319
241
948
986
715
943
314
644
772
945
141
370
48
913
225
364
983
392
733
89
276
367
451
300
481
761
199
71
355
761
483
122
255
252
554
608
203
864
616
699
378
641
498
808
847
167
61
352
978
643
33
88
902
654
497
754
324
78
504
876
358
117
752
119
772
289
662
114
380
831
166
768
721
883
849
678
732
129
301
746
750
428
43
351
48
181
701
820
336
861
139
912
451
15
651
701
729
609
613
100
24
443
205
227
289
231
161
241
548
785
655
894
510
659
471
220
431
172
563
949
817
464
40
508
148
350
388
902
880
376
206
244
126
953
907
860
139
713
853
835
879
923
174
501
816
274
766
213
52
301
745
429
482
566
93
51
149
611
245
12
76
612
214
109
641
562
846
672
570
194
456
310
961
405
321
464
493
235
927
365
460
52
549
761
391
710
200
211
147
324
447
859
47
532
244
745
291
465
542
345
664
778
414
15
481
936
200
506
921
487
213
670
345
510
912
510
683
164
734
39
687
584
770
786
346
431
191
878
999
807
711
171
586
588
111
346
913
907
785
586
42
54
634
15
829
661
73
643
907
787
330
422
803
610
46
291
421
130
23
864
866
153
725
827
570
7
216
883
214
85
523
602
100
593
513
322
73
994
250
486
926
443
376
952
593
34
176
896
891
224
730
836
70
348
573
613
260
857
858
302
530
20
106
399
418
787
227
203
862
292
494
304
707
645
741
260
701
495
440
118
741
350
195
440
304
965
893
485
905
647
181
33
308
138
453
14
556
878
509
388
214
879
826
92
950
87
631
110
712
42
923
465
977
233
588
955
325
368
839
178
350
99
163
116
589
775
296
661
957
764
667
596
234
451
601
292
551
412
968
999
771
314
742
723
906
171
414
394
679
854
820
725
663
340
598
948
996
303
721
732
773
307
64
309
273
176
907
390
920
779
631
37
721
934
293
990
100
195
456
271
682
920
877
68
362
622
772
563
141
351
443
936
695
374
198
530
300
50
594
293
978
238
58
969
624
960
365
919
844
651
336
485
195
642
870
991
403
221
662
621
129
782
832
968
782
583
753
959
230
263
549
884
885
461
536
376
221
703
241
898
194
965
160
173
310
358
532
732
240
696
149
861
392
170
953
69
396
710
64
801
708
625
554
155
293
279
701
660
363
481
48
495
661
754
21
486
108
859
42
474
111
827
722
398
830
479
700
99
645
102
725
452
80
859
679
66
763
700
625
221
313
948
46
689
960
35
149
223
83
531
692
806
211
797
390
145
307
110
739
333
832
129
482
978
100
316
645
784
871
930
826
918
733
652
206
813
352
164
880
820
902
838
727
672
14
529
456
401
778
182
782
148
717
715
490
42
848
624
540
272
267
906
251
398
100
246
905
561
575
1
153
181
501
314
616
107
946
679
582
121
306
891
769
917
547
593
657
93
329
640
849
225
550
741
278
404
704
969
528
870
251
778
958
340
147
128
920
348
878
608
210
409
541
660
545
366
856
500
89
755
131
831
627
730
601
347
206
572
695
549
833
145
457
153
313
153
131
337
906
728
25
524
895
544
103
593
478
87
230
431
741
853
957
42
740
162
812
35
265
939
933
590
787
120
498
793
536
427
772
978
132
961
422
187
992
118
447
65
45
413
749
446
828
141
963
1
574
100
209
517
755
869
920
557
779
881
665
294
749
655
175
575
424
491
649
383
882
687
910
194
178
856
396
43
189
127
788
682
543
333
206
36
185
992
384
446
875
771
597
762
261
149
124
398
52
889
467
933
355
750
964
466
579
273
954
338
285
606
813
456
522
785
11
167
954
509
288
233
832
429
633
822
521
655
370
670
563
318
331
94
876
734
307
195
64
802
614
839
679
669
313
839
83
972
928
927
439
685
485
361
771
674
245
509
356
331
676
392
853
466
116
108
695
810
641
104
119
835
553
446
722
393
125
424
453
830
712
336
811
605
425
434
928
277
843
783
605
833
972
943
457
450
934
311
945
55
875
482
216
945
719
872
378
903
364
805
377
340
96
537
968
842
797
788
509
374
529
664
33
442
294
791
136
556
863
961
972
341
513
763
821
317
88
669
533
227
424
16
132
81
630
151
448
905
965
910
824
401
889
21
278
209
694
275
389
135
478
150
425
62
297
679
746
285
630
490
661
6
966
277
605
393
771
665
308
9
231
386
110
356
672
4
52
455
998
522
407
535
318
448
962
241
948
336
395
495
641
343
591
107
719
522
927
813
525
557
868
431
962
872
912
0
335
242
0
411
728
801
172
686
363
640
724
446
20
363
294
839
379
467
276
922
576
185
9
171
342
860
797
543
760
482
133
620
865
881
916
616
50
274
66
541
857
129
272
614
527
648
736
608
838
409
634
346
579
511
431
864
888
269
726
519
260
210
510
589
890
462
826
304
679
595
382
780
692
954
517
179
493
478
802
630
579
852
373
672
440
688
52
897
417
812
395
853
120
146
730
986
715
913
762
266
446
993
667
697
461
401
356
159
278
743
708
341
980
612
223
502
12
970
796
720
609
513
382
823
851
176
247
885
53
431
911
95
8
275
353
81
238
903
818
475
102
525
264
987
214
645
789
460
306
571
96
350
883
866
630
914
803
519
124
345
251
228
129
563
206
106
771
859
197
27
91
537
331
559
903
880
38
489
62
467
358
998
263
706
6
66
491
645
210
978
755
407
57
453
668
69
652
148
557
569
623
711
796
872
313
675
321
589
784
121
233
565
306
961
398
951
715
462
12
169
394
35
825
374
53
941
571
142
223
468
872
104
350
82
267
838
273
804
131
281
295
759
675
400
948
582
622
554
976
535
151
369
738
496
552
204
970
754
19
664
565
332
42
434
994
531
45
430
447
391
15
488
454
913
464
805
555
671
149
164
303
756
544
762
551
697
325
126
432
170
184
185
402
783
614
339
653
183
812
105
539
417
408
110
979
142
965
455
182
170
967
358
273
508
68
140
364
123
36
944
695
700
222
213
303
960
216
93
979
218
620
741
61
680
300
701
211
839
186
78
858
12
896
899
218
173
726
411
343
985
609
24
723
279
172
62
170
365
374
503
235
70
838
723
672
569
716
653
763
869
105
281
571
122
783
425
667
625
854
755
914
169
929
276
341
312
216
332
760
493
596
898
764
93
449
501
303
17
998
725
943
935
288
97
181
336
227
582
67
692
454
122
916
580
513
531
850
385
792
5
405
976
412
282
543
925
509
782
417
255
643
87
906
88
730
729
885
295
963
392
423
424
529
114
712
778
991
788
548
2
729
104
662
94
837
539
427
361
916
275
814
623
883
79
844
301
878
312
863
607
196
841
419
100
631
47
19
23
833
998
809
913
973
155
250
901
492
936
877
374
983
760
802
451
134
413
178
367
473
598
285
313
839
288
910
563
833
206
27
341
148
334
846
4
395
439
154
513
822
920
226
380
820
363
564
756
428
97
804
5
308
561
680
34
488
100
620
672
11
423
24
454
878
234
424
734
9
770
496
658
484
594
232
153
518
375
757
988
450
790
40
562
6
495
252
688
420
445
140
131
936
162
806
371
193
712
96
563
60
728
973
273
72
73
422
408
7
186
936
594
538
67
994
742
896
332
919
118
669
37
808
949
39
894
660
556
727
493
682
56
824
751
568
420
382
565
129
15
197
23
29
546
579
652
809
191
874
98
47
214
856
927
693
106
441
780
127
975
129
959
689
531
763
642
370
547
932
3
965
283
168
596
854
487
17
586
760
840
107
197
572
171
283
33
289
930
991
252
991
835
681
391
847
828
388
380
246
691
346
102
216
671
850
949
181
152
333
304
696
95
821
718
487
26
751
784
40
759
159
894
427
395
98
220
371
367
613
638
639
306
529
909
12
966
280
111
681
30
144
294
10
217
788
601
980
143
801
758
440
569
467
981
834
439
867
659
560
22
732
552
229
392
886
547
297
20
16
212
325
376
182
663
459
767
684
570
850
861
640
817
254
868
63
456
733
966
626
473
425
151
593
153
371
769
292
904
427
130
513
23
260
210
872
195
350
187
503
467
531
669
69
743
828
571
960
666
695
550
516
515
819
491
72
5
166
735
356
361
548
609
168
604
604
530
326
58
903
173
869
792
709
189
640
323
201
941
523
760
366
325
827
432
499
340
619
8
710
182
411
69
874
183
206
119
184
161
691
772
262
703
822
81
332
410
932
664
64
999
100
414
991
248
799
620
600
698
201
628
180
585
389
52
540
758
739
928
247
894
778
857
844
711
162
512
722
540
385
921
341
787
887
35
231
441
461
797
931
367
665
534
408
817
304
888
959
902
745
714
897
63
36
824
203
727
925
37
591
214
10
483
535
39
802
5
29
437
789
307
538
84
45
896
670
184
41
327
139
539
589
562
713
918
143
17
468
878
142
531
990
760
855
547
375
878
633
947
616
662
311
238
333
564
439
99
475
48
836
706
353
639
376
652
197
275
517
695
845
834
329
769
976
887
897
668
589
172
966
410
270
679
500
405
653
742
76
898
248
484
612
767
355
915
27
478
195
471
51
565
203
861
418
56
539
707
907
951
77
382
229
917
765
770
408
177
935
395
369
134
265
30
699
571
139
2
346
633
731
753
662
399
755
896
885
99
596
52
537
845
912
875
272
946
764
624
96
797
608
955
131
821
143
939
901
513
757
558
148
773
928
604
456
814
948
27
817
760
937
275
575
113
584
51
750
169
517
263
476
701
945
736
60
246
709
224
485
265
618
492
179
531
122
737
80
281
998
216
569
494
983
982
436
313
920
902
690
155
731
8
572
338
753
427
401
694
416
195
946
669
826
372
520
869
907
241
442
762
699
483
236
200
237
980
382
929
922
728
576
577
336
646
316
249
58
988
712
481
212
155
6
334
24
849
588
334
372
502
704
559
197
118
849
35
66
794
106
815
470
856
382
184
345
256
678
656
700
624
715
496
940
664
78
424
371
823
985
461
177
390
508
536
764
401
759
78
482
898
788
252
478
374
404
200
946
84
587
298
212
811
157
309
292
659
898
845
54
593
860
483
704
80
962
308
52
918
910
701
442
830
962
933
33
57
564
983
928
449
328
602
752
225
142
18
600
640
841
24
398
675
122
548
28
119
554
341
899
564
623
5
989
314
253
311
199
488
820
604
55
434
834
754
100
725
872
491
440
540
461
828
715
181
141
412
325
207
925
431
979
768
435
198
939
152
400
412
833
442
691
954
92
931
354
354
586
513
438
629
698
380
566
310
755
219
363
689
577
218
973
636
382
632
810
709
488
565
326
330
80
174
952
754
646
603
163
247
950
350
607
895
402
859
218
153
757
305
158
2
447
101
737
990
316
86
517
119
264
489
778
997
704
791
479
478
289
981
464
276
678
426
470
140
658
158
623
164
62
974
80
842
180
162
441
279
361
904
429
539
495
319
654
294
288
982
653
755
739
621
879
839
579
200
226
223
724
17
31
627
926
503
664
184
485
105
433
154
464
815
660
975
335
282
125
468
307
324
564
654
77
783
463
667
522
950
340
139
607
165
754
521
524
522
715
714
247
926
471
646
974
784
573
234
412
596
274
510
622
839
447
43
631
83
575
132
982
506
627
423
275
980
900
99
336
318
489
536
189
594
839
901
651
407
377
38
843
979
862
631
34
369
337
869
15
184
360
169
358
919
615
438
823
973
60
795
277
466
869
373
150
650
714
68
357
920
680
245
752
854
355
962
887
711
487
2
241
38
665
28
741
911
178
914
320
12
113
677
886
175
90
36
576
816
698
322
69
362
999
523
833
115
247
513
276
227
576
539
180
180
884
358
300
839
42
755
10
624
493
659
424
207
577
959
724
509
916
949
829
476
305
207
431
461
122
249
941
44
70
702
363
296
279
884
216
860
746
416
522
406
800
41
383
802
140
556
649
968
205
131
806
1
447
839
403
855
981
778
151
868
708
645
815
419
145
341
926
672
726
434
706
235
808
599
0
40
873
703
927
817
486
831
615
332
336
819
684
710
27
663
615
621
419
192
15
380
809
417
717
511
802
687
752
543
754
985
48
913
971
253
279
808
394
613
209
341
518
11
677
703
131
887
536
631
10
880
136
763
199
419
484
61
549
784
801
440
546
648
656
145
332
193
745
874
774
915
804
205
4
22
349
472
243
152
184
515
517
809
991
458
788
818
717
84
822
78
599
62
508
237
736
182
107
535
47
827
229
473
397
802
819
599
842
725
791
339
526
887
595
783
9
840
676
689
808
819
729
382
200
654
641
999
458
469
259
812
726
781
502
810
867
560
599
717
404
453
336
651
844
345
117
842
386
944
926
161
612
481
751
558
814
793
254
523
865
691
779
156
838
315
657
366
772
463
919
112
515
510
932
665
463
354
76
45
845
367
127
378
706
339
294
337
944
863
166
538
828
588
763
972
877
650
655
928
802
638
275
485
427
925
469
407
525
375
22
882
499
370
489
872
458
881
335
859
776
391
80
235
133
766
329
382
223
749
52
878
989
710
905
659
846
979
822
146
696
114
924
634
837
632
73
551
19
386
266
890
976
611
953
605
987
654
582
999
155
880
77
551
332
797
77
940
137
226
451
462
607
377
240
535
55
796
670
218
267
780
668
375
509
610
798
39
618
127
932
351
829
249
498
62
633
804
330
395
722
85
316
899
395
456
705
12
881
441
38
431
217
233
313
720
466
49
68
498
52
223
237
588
176
62
80
297
959
489
572
83
566
705
767
997
594
649
25
646
600
919
575
60
146
405
178
159
196
900
11
297
45
922
733
35
280
153
49
645
467
962
664
769
389
929
794
919
384
339
886
618
404
516
222
200
248
44
194
972
854
676
211
941
522
197
766
485
818
468
830
902
539
607
538
878
150
629
367
984
536
207
204
619
295
933
489
193
495
611
272
853
706
243
308
604
746
739
540
934
292
252
373
50
383
614
600
458
307
964
373
496
360
241
80
692
195
719
306
512
513
115
793
763
963
766
124
445
580
69
825
375
873
309
806
377
461
834
868
69
431
517
633
680
290
997
360
257
931
301
928
409
989
436
274
471
709
87
167
63
273
227
525
596
768
39
372
818
718
227
718
500
190
209
93
98
872
748
407
139
676
16
790
651
21
453
961
853
48
137
865
172
110
150
619
993
274
442
164
866
373
850
732
967
215
424
804
190
944
27
595
41
100
705
893
246
287
855
919
794
866
955
278
775
906
76
543
852
980
823
902
308
895
211
212
264
715
430
731
400
734
330
823
196
785
439
458
900
676
558
680
969
590
745
743
783
2
798
167
470
43
760
610
331
34
228
133
542
129
352
100
654
239
132
338
62
57
469
628
24
621
774
846
790
97
101
166
102
702
765
222
85
241
992
178
578
298
139
438
823
948
992
2
287
715
978
550
570
374
599
709
496
671
826
901
685
907
238
910
623
758
34
634
61
249
310
53
599
71
935
779
782
245
403
922
146
219
227
447
381
198
203
333
307
541
205
787
331
8
749
118
171
798
747
545
347
934
375
875
33
969
822
815
767
246
301
826
528
822
967
245
43
555
555
339
914
696
784
22
663
619
77
985
329
435
29
227
521
212
952
93
912
630
179
844
320
631
812
911
180
250
333
258
649
697
683
567
344
497
447
98
238
224
461
663
918
428
815
163
144
419
72
626
381
974
769
498
579
705
252
343
398
481
371
693
159
150
820
151
588
116
43
106
598
782
693
851
974
332
185
63
874
265
846
700
115
411
584
452
724
267
442
299
1
472
960
504
253
835
128
481
20
586
624
405
298
558
876
387
280
301
394
862
310
528
259
803
923
468
342
774
860
824
379
715
600
231
391
132
66
626
673
745
661
340
655
46
153
467
318
90
874
802
307
852
49
499
741
340
386
763
402
532
33
500
627
947
147
64
626
87
554
432
868
162
16
382
575
506
480
948
155
704
864
533
470
587
168
466
596
153
742
390
878
180
180
670
447
64
699
696
730
303
143
176
701
503
297
865
800
213
800
685
803
933
614
908
564
280
392
856
438
558
97
869
97
646
401
388
436
36
338
246
84
444
85
19
190
550
477
350
350
409
380
474
258
690
276
833
854
894
955
684
974
724
102
187
250
924
668
410
351
878
465
106
468
919
70
367
797
991
182
399
582
719
831
351
231
772
679
156
790
218
191
421
962
195
549
394
282
450
291
555
926
997
991
975
159
541
471
442
820
552
223
263
643
635
939
801
320
69
509
420
984
490
847
753
61
153
461
270
121
957
96
851
981
492
268
81
380
59
305
715
90
952
333
108
65
168
86
985
537
892
741
993
928
989
270
435
8
660
319
468
14
143
48
488
812
285
598
868
220
114
969
547
996
627
177
781
626
246
859
558
712
391
29
121
403
655
536
448
163
599
315
668
219
12
475
255
942
822
712
994
189
574
375
767
499
819
688
445
536
953
25
908
780
184
312
538
442
524
276
377
729
58
681
171
708
727
751
815
853
499
710
725
679
471
937
531
48
699
257
762
860
387
154
726
141
337
218
855
855
448
669
227
605
418
775
999
201
406
485
551
665
298
320
32
785
243
118
279
650
355
63
331
400
331
829
67
788
252
523
785
322
258
148
871
511
337
628
790
535
369
231
406
548
77
385
385
51
680
225
753
276
317
62
555
456
909
559
354
612
177
323
857
462
598
141
767
125
293
402
430
643
897
261
662
371
478
928
378
662
570
633
819
869
786
373
760
578
185
49
199
538
404
867
426
775
49
914
973
683
188
576
961
40
691
664
845
754
847
791
241
369
803
586
921
287
505
607
46
684
738
721
724
698
326
616
904
542
856
139
143
389
887
103
545
727
996
384
70
920
174
76
175
697
283
793
38
754
846
773
583
326
640
995
679
53
31
589
661
121
333
538
603
123
93
962
358
853
907
890
453
161
655
707
82
624
463
702
40
164
163
198
897
597
638
695
563
178
872
544
158
232
990
83
282
947
962
492
740
305
263
838
130
57
241
976
902
547
348
697
741
425
469
79
502
113
528
660
699
57
543
478
408
993
42
379
441
172
444
532
379
342
271
812
848
282
675
379
656
241
786
670
32
500
314
779
63
383
439
125
263
257
755
821
271
240
749
744
506
499
36
387
185
475
965
881
420
236
903
393
482
259
972
620
343
643
621
910
575
733
260
41
705
134
8
222
4
148
264
346
2
904
697
418
641
554
172
601
202
32
346
479
403
957
472
796
356
643
269
199
355
271
258
952
245
575
391
582
916
980
587
247
343
464
506
788
329
61
268
891
496
311
594
992
448
554
712
677
56
655
185
246
610
559
208
787
712
379
821
98
423
618
55
465
970
963
351
824
660
928
861
868
161
937
893
30
472
563
819
678
711
470
653
624
572
249
687
338
895
63
338
490
759
398
150
105
687
970
924
354
183
441
848
321
998
436
80
153
840
720
443
652
262
841
273
294
21
873
827
906
527
929
481
983
285
834
430
703
526
745
1
782
774
275
911
600
564
524
383
437
888
661
926
640
183
727
261
235
52
768
98
385
599
543
99
256
539
902
189
901
439
785
821
624
41
522
679
254
786
84
235
952
414
410
994
879
55
707
553
700
868
64
378
811
689
897
715
88
688
228
800
313
698
375
646
565
903
73
285
683
882
408
219
454
616
194
369
309
199
658
85
697
998
633
952
338
137
788
276
489
31
824
466
871
773
282
253
638
211
265
675
399
136
53
460
226
157
132
727
447
766
560
907
617
531
706
37
258
451
247
42
714
91
507
160
507
219
170
220
113
20
61
970
790
959
902
0
771
734
800
536
525
753
634
291
896
516
712
144
342
982
657
409
472
771
804
43
601
886
994
981
531
70
667
928
114
343
15
111
43
435
813
570
132
987
701
589
921
459
102
959
955
317
8
637
218
934
910
857
916
877
230
851
97
446
152
813
111
844
59
688
900
238
46
370
713
468
580
519
99
60
284
415
896
396
957
30
392
559
53
370
353
134
604
348
777
956
733
686
673
653
144
408
796
340
869
743
433
185
890
852
975
178
72
889
597
155
318
952
274
351
735
640
15
448
320
725
707
193
448
998
635
584
731
976
138
379
971
744
683
134
122
76
118
653
752
92
496
37
477
907
854
276
689
176
443
126
174
930
740
877
187
832
776
393
706
497
308
816
105
331
813
62
452
532
990
668
508
522
760
755
350
203
280
571
792
76
828
216
960
931
626
530
698
338
687
259
819
973
213
116
488
352
428
403
9
903
102
924
261
163
622
612
476
574
418
92
408
108
179
978
508
295
14
908
129
782
818
545
923
246
759
113
191
268
701
682
803
962
731
793
989
573
676
694
986
120
114
838
287
909
447
411
132
402
440
653
800
637
550
302
59
262
976
687
449
487
978
820
56
594
500
755
476
3
156
77
348
49
859
202
232
939
47
988
617
405
227
588
105
826
26
231
875
723
729
904
954
508
761
159
298
143
690
114
711
314
375
978
434
90
31
216
880
852
770
84
989
659
107
838
143
267
902
509
601
807
578
946
345
837
981
828
60
577
210
338
594
432
982
948
756
375
978
41
582
441
106
911
728
103
993
690
30
224
904
146
778
844
589
189
527
292
394
556
632
259
818
744
847
253
863
882
181
283
131
885
590
80
345
990
349
970
957
158
99
582
311
737
482
572
611
912
206
930
505
571
194
115
133
831
120
649
500
59
52
310
136
278
72
171
271
39
696
879
39
166
958
827
692
368
384
254
410
446
704
536
313
26
478
923
300
35
829
252
267
110
123
552
977
534
466
901
482
536
350
849
937
84
784
272
231
402
167
95
579
317
955
616
637
283
132
575
174
628
14
811
328
44
607
937
447
869
904
399
314
977
832
362
902
684
976
507
790
915
116
603
348
365
313
403
843
422
703
203
34
776
699
750
417
327
886
107
582
527
396
214
988
19
298
263
994
154
417
723
674
610
796
412
560
583
35
586
327
381
343
620
915
793
324
326
632
713
351
957
140
635
458
522
405
576
916
604
964
866
161
698
834
103
274
406
647
106
313
888
68
40
303
307
780
345
291
793
220
325
226
470
858
519
688
974
179
918
261
528
563
836
833
190
472
513
103
792
347
955
227
990
99
445
613
537
662
643
818
95
260
901
313
355
804
611
492
54
230
34
910
705
406
508
636
535
197
810
435
987
65
778
101
538
913
986
55
717
289
8
355
590
64
803
921
760
322
901
147
0
696
411
493
384
882
629
805
952
273
928
720
983
949
359
136
501
534
887
171
283
331
845
173
305
23
515
600
346
215
571
674
654
950
699
646
551
955
489
140
407
836
662
206
6
701
590
148
44
89
222
121
762
789
889
488
670
359
633
619
131
686
481
537
558
940
403
608
483
214
136
783
136
565
564
234
193
548
623
10
251
571
855
619
173
279
539
118
169
388
204
625
585
484
803
494
107
187
250
237
10
500
599
993
650
481
222
575
371
853
34
751
912
66
51
433
780
544
192
374
777
442
331
558
690
494
454
660
67
996
904
949
715
78
315
811
174
624
428
480
182
591
808
319
640
863
396
455
757
145
183
461
807
570
2
587
421
340
252
159
820
3
76
509
109
692
236
432
864
441
879
835
356
924
319
258
143
717
938
996
471
654
728
292
567
787
36
55
747
998
162
635
404
571
732
326
13
716
381
647
22
19
77
402
986
390
872
227
463
579
430
268
870
411
239
267
145
407
19
529
410
94
18
964
40
411
43
711
575
601
521
600
726
323
21
517
997
936
244
539
38
753
436
603
289
215
957
608
676
753
330
601
841
601
78
438
625
305
292
860
710
890
14
686
80
761
319
723
142
813
693
260
948
914
688
461
648
289
125
678
614
401
220
256
619
592
780
462
477
883
599
201
32
783
902
810
746
465
139
301
939
731
593
507
161
557
182
301
206
552
997
19
435
722
668
611
919
62
650
906
977
215
371
673
468
146
508
627
600
141
906
404
729
45
430
824
485
540
788
446
443
340
799
331
867
649
197
250
347
76
652
658
239
902
416
209
253
167
261
628
725
583
23
63
738
833
796
909
229
533
454
468
342
48
269
394
814
207
865
235
251
780
739
504
200
377
471
139
407
401
904
79
321
826
98
16
851
3
152
551
524
454
454
876
157
577
93
823
373
758
831
201
899
60
56
798
393
635
204
113
381
982
210
39
491
863
914
899
501
898
388
475
587
842
134
573
147
143
896
221
412
889
157
474
374
858
917
750
848
206
340
561
267
724
377
273
860
152
55
429
394
396
620
951
658
163
8
813
571
651
909
875
832
667
880
237
544
199
910
586
422
761
507
1
213
926
757
897
192
662
447
362
894
635
57
949
936
223
735
842
480
656
173
720
681
244
698
60
612
756
487
608
833
692
925
494
595
223
428
574
50
265
384
787
775
411
473
490
580
124
598
745
486
740
547
302
979
557
963
472
406
783
821
187
861
505
685
30
444
897
761
234
533
870
776
177
133
944
26
653
306
822
479
930
862
138
191
306
22
418
507
126
827
612
570
263
723
245
663
771
478
182
91
716
98
50
102
67
28
432
47
110
799
670
173
595
140
161
682
330
611
747
7
563
196
290
985
261
415
149
466
875
368
194
41
494
90
8
341
227
367
676
503
440
926
382
671
877
14
586
250
894
433
865
898
823
126
466
756
382
983
722
432
378
62
692
268
818
596
22
372
502
171
54
601
471
580
118
241
819
419
479
313
22
730
157
528
644
648
270
452
856
268
10
539
283
24
512
215
811
5
142
66
846
19
639
373
478
489
15
504
661
944
796
783
168
586
873
341
389
768
274
219
662
958
1
820
994
115
670
435
732
573
808
411
414
663
540
761
403
198
905
68
987
367
51
933
399
90
760
775
543
770
804
500
408
234
369
963
770
330
982
509
470
230
172
546
575
796
612
211
465
803
666
420
925
573
262
924
463
268
148
278
289
483
893
36
841
711
880
974
720
652
812
259
484
816
608
278
598
718
751
287
658
62
246
86
14
504
912
593
756
162
787
818
604
197
483
847
918
905
309
528
70
398
323
714
531
547
866
303
872
723
856
244
947
476
997
810
328
384
466
114
887
268
178
8
211
258
137
247
329
636
673
885
512
176
457
278
345
765
238
938
94
111
608
356
490
203
944
408
601
747
507
791
493
713
529
52
934
686
157
800
437
16
67
468
292
79
909
26
368
447
244
404
139
135
19
546
872
327
457
560
95
709
707
597
46
818
825
541
854
392
881
820
522
518
214
555
373
300
387
408
932
538
798
17
36
778
20
540
375
247
899
463
562
225
964
52
83
670
983
0
157
959
353
838
634
140
915
399
13
214
973
185
195
654
294
687
297
809
348
100
669
262
143
897
73
507
766
458
341
215
81
445
830
133
468
228
40
120
932
977
59
671
579
492
487
50
85
423
899
493
630
97
310
874
671
277
950
994
33
320
260
252
329
491
102
967
842
818
973
759
923
621
588
520
468
2
300
863
682
162
770
181
194
719
139
175
506
732
926
350
625
222
645
966
344
224
405
28
103
230
892
126
736
199
441
739
525
84
149
281
192
143
557
774
904
411
242
515
341
925
754
419
205
789
208
372
688
953
77
126
195
838
320
853
208
580
602
596
72
514
271
517
581
719
441
261
11
979
49
323
666
351
903
516
692
55
943
461
912
357
61
789
38
541
746
10
728
898
306
66
870
741
913
874
650
735
176
1
677
99
985
171
240
137
392
190
256
525
982
303
295
446
70
240
222
701
808
616
993
699
351
234
87
683
712
563
971
327
669
617
107
386
466
433
707
499
423
505
613
70
14
758
688
705
772
228
909
412
163
427
80
737
398
8
768
767
399
74
818
438
60
49
689
802
353
932
426
333
74
173
249
642
21
655
193
495
789
122
720
546
205
591
209
588
694
324
953
757
185
319
441
967
943
517
431
351
206
787
103
147
564
475
793
461
502
113
107
326
911
659
952
176
118
419
247
428
784
551
288
820
145
622
694
814
823
51
705
283
277
195
140
50
990
90
379
23
275
159
844
198
916
646
340
983
701
923
238
804
144
719
449
276
177
587
408
28
587
799
918
427
203
138
44
213
139
70
745
994
79
836
466
62
351
520
25
680
55
381
866
93
437
793
462
66
712
189
233
132
809
673
519
130
221
771
696
291
562
337
808
348
827
708
352
879
612
830
486
724
616
583
810
63
512
708
122
9
412
997
167
267
868
121
378
375
249
566
370
946
843
445
709
597
752
10
518
791
560
950
398
299
425
478
705
577
424
838
831
956
686
944
838
418
36
13
722
420
177
153
299
213
360
974
825
608
549
237
693
433
397
9
277
975
639
577
926
876
760
866
263
4
62
910
640
257
38
368
591
480
737
880
929
757
676
269
0
215
481
819
487
45
235
151
130
617
750
129
409
595
717
67
354
26
330
278
427
235
695
834
385
896
691
634
977
411
707
190
159
434
359
186
781
93
999
294
339
427
647
106
483
157
93
10
213
126
453
540
890
204
112
950
138
202
777
905
656
492
243
154
327
972
565
466
598
608
876
588
942
888
985
250
767
688
542
125
592
107
546
94
388
164
452
540
962
909
857
747
14
745
299
882
899
553
652
983
953
525
373
574
443
135
593
788
100
960
42
814
121
535
28
437
878
580
386
719
498
118
194
730
192
101
22
307
122
981
980
758
852
484
976
122
111
865
668
702
666
655
891
987
374
882
512
129
286
840
484
184
36
481
993
643
59
278
408
379
446
945
561
41
940
599
415
985
799
568
39
114
818
13
785
942
355
974
98
102
239
636
21
48
649
370
942
156
323
342
188
810
122
714
420
634
781
355
345
570
363
705
191
330
98
234
322
527
59
431
30
105
290
304
459
838
706
950
950
455
948
592
256
949
168
170
890
96
889
119
105
32
355
292
577
256
492
851
262
929
13
889
705
134
676
622
813
108
535
805
288
602
685
118
122
448
800
780
402
614
295
622
496
933
979
628
193
923
873
69
290
199
232
866
254
349
741
918
941
453
753
718
228
667
299
12
823
923
380
386
981
343
260
886
669
15
231
61
19
388
5
539
517
836
824
976
339
515
591
596
589
232
565
852
624
525
170
901
599
869
964
25
465
360
975
483
45
829
474
140
604
278
336
209
683
349
71
219
903
733
85
494
123
766
330
518
952
540
779
587
387
654
646
875
656
778
568
211
823
793
961
329
138
285
934
417
741
578
495
675
697
689
140
162
124
971
252
711
733
225
307
878
438
775
645
359
72
952
506
517
463
583
237
656
313
784
133
21
452
41
567
518
390
369
437
415
767
568
991
711
374
619
293
368
399
856
643
648
965
63
799
228
627
717
400
916
759
862
257
227
797
774
319
300
200
397
137
146
546
887
793
569
639
158
774
903
87
585
930
784
567
657
880
743
827
424
752
683
80
793
419
777
990
513
477
938
172
998
834
563
650
377
921
115
42
916
537
317
487
992
353
703
728
770
232
723
487
724
575
103
433
864
748
127
868
602
83
972
834
310
769
65
888
501
486
563
70
289
608
497
707
238
220
401
113
190
743
339
889
815
390
374
799
42
963
889
998
845
534
254
376
483
38
387
358
685
169
4
30
487
102
102
956
168
120
173
338
930
717
816
225
3
376
417
711
876
664
452
319
319
525
617
211
249
185
676
900
712
999
596
851
35
113
381
188
459
981
845
411
20
190
348
187
933
893
640
347
739
116
105
305
778
337
729
336
345
838
376
131
786
973
503
19
43
661
707
360
433
645
358
655
699
297
233
710
633
922
836
919
283
677
818
94
186
143
644
696
209
281
296
91
254
159
783
826
12
66
339
808
579
249
656
794
785
582
48
403
514
283
732
771
313
906
914
705
981
586
762
370
474
128
928
919
210
204
611
151
51
74
935
508
221
448
914
855
583
416
954
578
942
270
937
818
371
216
841
983
838
937
322
752
742
750
573
361
945
863
22
827
424
441
913
97
415
970
272
688
724
589
200
758
289
238
378
216
38
221
191
12
599
992
58
946
418
133
288
856
186
962
581
979
283
959
439
601
48
834
708
474
707
85
673
666
968
586
845
840
709
558
641
427
769
794
917
872
836
377
122
350
535
943
79
545
266
942
311
848
592
503
152
916
517
106
909
621
117
433
542
43
941
473
699
161
293
172
35
46
753
276
766
806
103
459
385
933
645
42
662
537
296
771
561
978
786
673
300
414
897
813
681
844
361
802
383
899
154
317
554
809
394
547
433
318
678
546
813
773
15
747
975
440
782
348
11
707
941
80
38
847
812
213
144
357
503
162
862
978
832
687
781
373
712
468
543
116
6
74
806
390
47
683
306
956
484
929
57
740
219
180
786
462
660
146
388
837
421
738
284
261
741
500
901
202
499
758
870
200
91
345
567
455
763
873
417
465
707
674
46
566
446
328
197
259
2
169
135
599
890
364
322
736
368
244
924
380
848
970
387
979
560
346
349
49
599
914
493
670
452
136
780
570
835
351
219
75
938
856
802
24
961
327
766
69
665
823
187
708
102
482
452
87
297
347
407
369
892
81
7
108
961
15
670
362
408
328
446
660
6
130
207
283
740
480
131
155
877
205
55
209
293
296
880
350
64
477
134
732
471
197
20
467
353
984
743
818
146
829
322
527
964
902
152
722
220
62
937
497
720
324
654
615
112
409
267
727
62
336
240
771
56
171
168
937
896
523
342
463
715
318
15
932
858
354
681
285
426
908
665
317
732
481
206
515
255
509
348
850
120
322
757
516
669
850
788
487
218
515
246
178
209
524
364
62
166
287
344
951
801
933
409
163
49
602
231
685
66
272
438
898
568
532
592
19
597
755
246
184
645
963
68
411
179
780
222
839
355
551
653
994
423
828
862
418
576
361
805
890
186
194
257
758
757
545
998
357
758
250
302
13
31
574
518
552
643
784
382
54
86
814
656
780
298
598
805
563
739
943
579
646
831
435
788
809
970
368
920
317
847
470
281
760
59
415
59
743
167
690
811
180
926
703
859
987
309
346
141
339
552
500
11
583
521
261
101
779
474
718
746
536
432
89
690
776
336
853
720
104
735
861
643
114
973
214
774
384
915
386
981
853
678
231
480
995
154
217
295
210
959
755
463
430
849
116
622
619
811
293
801
765
359
762
936
432
841
783
589
84
568
832
515
293
445
698
102
429
807
925
379
593
179
770
708
255
51
577
234
705
763
599
298
366
335
5
73
334
300
478
111
420
399
303
498
892
73
974
859
187
858
419
945
44
352
529
811
523
299
674
293
477
77
367
244
991
409
323
472
443
991
57
112
899
721
643
46
823
520
151
129
684
660
350
109
566
303
643
570
386
145
542
942
94
92
987
794
323
157
349
891
759
106
720
144
793
471
622
223
319
402
109
57
575
962
328
722
721
797
503
833
331
477
247
674
896
239
465
544
701
625
7
460
190
658
467
533
938
37
385
222
445
68
845
514
318
820
264
675
705
333
8
678
495
938
534
975
929
175
8
878
463
804
648
364
158
618
368
450
871
444
443
350
709
911
691
399
678
577
279
368
539
637
676
825
569
660
479
138
379
483
71
847
759
735
200
941
824
468
739
762
282
509
518
882
447
496
895
560
368
45
776
655
495
672
671
537
699
84
560
701
873
201
635
826
164
851
631
316
816
174
114
615
119
796
938
581
724
296
653
517
152
642
777
866
561
952
995
755
516
46
629
679
948
358
120
120
268
474
403
613
318
253
332
655
330
970
690
158
556
525
909
447
153
382
594
355
322
249
930
470
8
43
883
481
435
914
525
249
648
157
31
153
535
653
879
280
499
696
482
912
369
20
321
252
435
212
736
519
118
532
992
663
966
950
815
33
558
365
284
721
21
316
81
72
975
785
674
664
406
7
148
80
572
311
842
772
979
437
464
55
812
484
513
241
200
214
246
984
811
730
686
179
575
6
937
537
599
505
278
643
336
169
990
206
954
987
752
934
567
870
642
830
215
232
644
553
579
898
718
733
620
304
133
165
167
287
711
414
884
23
192
288
947
320
685
562
809
727
830
798
392
612
4
611
368
291
338
610
90
258
856
125
688
924
533
432
45
237
851
784
296
355
255
986
108
83
729
678
610
594
726
362
947
228
421
304
501
753
143
223
147
206
129
484
347
398
172
947
932
150
635
17
534
955
966
205
766
145
827
153
109
783
161
711
814
838
203
285
26
627
972
882
87
119
212
889
505
666
210
487
116
259
783
757
633
610
619
926
832
400
215
842
443
404
659
876
477
121
522
514
290
773
491
34
493
465
254
104
539
686
856
923
477
886
359
283
356
388
442
955
544
671
773
563
241
520
11
518
198
401
879
65
890
651
733
71
939
381
400
658
118
890
155
171
854
888
846
751
77
516
576
403
32
546
650
252
621
348
771
414
735
190
704
614
305
13
38
7
402
134
264
292
372
789
757
381
272
524
543
634
195
770
948
424
269
620
162
242
762
757
972
910
756
415
229
145
690
2
242
749
997
676
357
920
103
134
853
85
933
999
482
415
620
567
589
941
489
344
589
520
77
247
703
437
885
587
955
41
541
834
646
61
484
587
779
409
656
354
375
127
723
6
327
426
718
989
262
914
117
288
3
904
258
847
774
522
301
863
963
28
425
521
549
300
618
455
305
599
108
79
662
345
629
89
518
649
242
213
105
547
793
175
297
791
155
749
608
713
703
448
3
992
798
649
444
549
485
527
157
11
151
818
107
496
198
471
3
37
64
906
138
655
324
534
49
235
362
987
651
518
685
519
774
567
427
858
977
145
563
386
53
809
334
363
449
105
646
690
226
460
533
625
862
522
168
726
388
274
716
803
342
878
243
900
741
489
718
756
286
728
113
335
179
117
182
284
851
90
823
16
208
384
911
950
401
116
632
705
927
32
477
544
411
669
51
87
244
785
973
274
726
204
362
150
210
175
96
179
20
601
115
956
986
871
631
228
745
38
888
687
875
557
13
859
848
369
503
743
567
245
315
696
136
565
524
379
146
636
138
525
680
324
448
668
821
864
817
579
414
777
268
197
511
852
283
106
590
505
953
42
635
525
968
472
249
17
821
805
424
927
30
535
449
895
599
370
186
82
527
361
27
754
407
922
762
446
97
847
868
786
809
209
757
360
169
67
474
307
828
261
75
506
903
59
298
634
958
82
515
220
911
945
899
998
674
705
776
767
403
511
779
234
491
21
735
329
523
103
202
734
98
965
660
326
551
606
333
376
119
290
662
999
469
97
113
210
751
621
69
967
747
921
560
32
162
233
177
313
481
930
875
887
94
710
179
776
188
964
833
427
758
533
22
873
180
564
747
680
216
689
126
851
815
180
335
504
209
74
47
279
716
48
926
747
777
212
390
855
758
817
651
953
959
653
390
202
696
662
951
317
480
338
790
439
87
238
659
910
949
216
434
841
613
141
469
662
377
646
608
791
662
386
777
394
403
743
440
540
940
727
77
369
585
386
608
918
736
604
855
660
101
441
585
178
548
24
173
574
56
930
833
53
587
711
542
860
662
690
608
598
734
611
602
643
649
317
430
183
403
586
350
736
769
444
405
848
403
354
525
98
627
521
140
32
750
756
662
209
21
700
853
991
58
677
634
44
792
257
471
911
402
924
647
676
35
724
478
178
264
704
202
84
950
344
245
671
436
234
473
635
332
316
113
487
502
656
440
636
416
693
35
702
859
992
523
123
32
870
895
478
342
643
603
967
739
875
833
137
228
276
619
827
555
111
275
709
106
318
739
499
545
706
845
175
11
738
118
199
609
588
483
771
402
751
486
256
685
315
212
495
0
356
760
310
630
84
196
271
716
43
491
259
870
758
969
981
992
801
31
754
616
545
710
466
127
723
410
756
79
243
374
299
448
116
544
953
629
321
226
258
348
859
296
447
347
204
365
566
67
433
202
200
642
540
862
151
24
967
0
746
547
180
982
305
948
100
218
739
652
348
419
460
948
803
159
2
843
899
10
860
312
985
55
86
529
871
326
359
668
247
96
745
261
293
542
495
639
849
663
913
53
601
537
664
317
710
630
433
395
397
347
333
171
892
879
48
569
430
244
136
571
785
842
215
815
173
646
750
244
745
292
481
833
565
518
2
140
938
304
777
945
373
837
667
35
964
996
168
283
909
727
431
720
781
316
867
62
883
624
906
881
651
493
914
89
275
272
417
655
491
613
96
957
791
64
296
418
146
467
84
166
824
298
536
914
362
148
210
225
771
791
22
628
654
550
933
585
729
80
962
504
483
400
811
403
445
376
335
670
855
564
649
295
866
532
824
175
251
578
971
333
645
968
951
932
241
92
716
167
631
267
480
702
431
661
89
168
352
117
725
448
365
777
397
49
843
483
474
330
706
648
757
447
705
217
684
973
299
398
953
766
402
812
391
830
183
490
459
354
655
738
434
754
699
357
132
776
720
237
227
785
837
973
961
765
325
497
911
253
530
245
59
562
339
521
140
855
499
379
281
607
51
845
577
225
21
715
802
380
190
24
849
489
137
92
21
777
691
280
953
253
124
131
886
293
51
376
786
786
617
578
823
138
692
549
989
530
218
168
809
494
337
806
701
535
825
685
59
539
946
815
330
49
326
854
340
216
644
933
506
590
321
287
647
620
203
162
550
971
954
268
685
419
876
792
469
772
575
329
431
946
669
726
919
464
735
273
203
91
248
969
574
115
878
19
658
192
91
464
933
444
24
491
353
847
593
704
265
721
45
799
200
665
259
716
684
806
264
496
266
523
306
118
55
937
957
156
996
431
93
195
570
179
937
514
284
538
882
629
165
62
959
344
144
2
245
948
775
779
902
386
307
744
49
405
907
583
732
956
707
980
26
197
546
825
258
363
306
182
931
865
716
270
548
362
574
815
879
571
877
615
785
199
597
221
18
526
241
406
299
197
286
212
188
922
101
731
215
707
899
857
652
120
229
118
167
932
301
825
86
700
352
498
79
410
281
661
159
406
277
379
313
392
121
884
82
393
841
278
354
494
697
372
722
357
446
933
544
267
57
771
697
577
974
313
274
383
264
208
381
700
271
245
711
14
69
574
561
526
218
961
549
52
302
868
227
574
101
632
13
953
484
548
944
971
134
238
521
219
508
281
481
561
897
257
189
662
614
953
104
28
742
763
564
477
47
132
389
38
686
596
329
63
324
998
597
539
925
995
930
678
685
534
561
133
596
92
626
206
113
475
968
996
945
479
886
655
174
733
395
347
581
841
326
663
389
811
605
840
408
724
57
448
243
434
400
34
984
8
188
16
586
958
989
662
23
157
537
824
565
749
650
153
968
465
250
641
780
277
158
372
733
477
986
558
433
382
696
900
481
51
870
342
214
364
902
89
619
887
708
589
984
275
66
414
878
134
250
938
964
614
486
455
548
429
945
766
851
271
420
85
148
69
152
811
885
982
288
455
842
923
243
38
800
157
520
849
434
268
390
2
543
39
985
225
816
192
472
849
38
43
735
745
707
936
6
130
915
568
744
645
70
210
168
201
823
407
398
945
460
462
826
288
566
188
895
453
662
319
489
648
941
845
50
36
997
855
105
223
5
318
617
185
342
626
844
672
976
816
834
541
492
8
911
31
388
738
204
555
87
249
247
684
270
492
705
786
624
637
138
832
116
961
108
886
336
568
890
4
456
615
666
806
545
227
372
162
830
903
587
745
216
816
651
946
45
345
891
631
101
589
554
780
427
4
724
520
270
267
572
307
784
662
244
767
524
379
249
465
99
185
837
742
597
525
494
730
791
373
340
670
416
139
780
1
262
886
815
275
384
964
838
125
481
881
203
861
863
630
754
783
783
753
926
572
214
363
884
506
387
842
891
970
105
982
893
362
364
387
955
53
854
460
881
365
816
497
395
414
359
194
103
912
285
8
503
789
992
563
346
6
71
162
684
312
915
365
368
488
947
272
901
845
692
377
633
177
961
517
773
994
330
880
770
321
636
436
605
404
388
59
630
915
622
155
153
36
381
197
533
882
995
442
187
138
888
741
664
68
952
211
137
759
530
389
719
233
654
457
301
549
123
652
998
472
21
698
199
345
233
110
419
568
937
1
203
395
564
72
551
760
260
726
11
422
783
381
383
843
962
198
785
54
143
771
35
708
852
41
909
246
225
139
338
347
876
830
397
597
987
918
208
386
318
155
922
954
358
571
717
506
43
50
426
767
249
499
798
323
347
505
316
993
654
966
315
694
577
720
83
759
823
891
434
729
383
193
873
81
408
284
792
623
795
940
149
499
664
203
739
275
497
761
517
355
282
176
340
203
70
103
435
965
78
347
80
655
243
780
937
176
82
227
853
222
4
699
309
509
656
904
324
393
365
171
351
335
601
112
321
413
146
534
269
1
114
860
455
210
579
103
425
27
90
908
996
148
431
936
688
817
872
819
87
806
969
357
480
953
281
538
34
674
611
976
961
682
828
144
867
643
343
94
545
764
435
12
56
458
734
362
868
404
212
737
164
472
739
537
79
900
168
400
417
710
55
781
532
664
474
361
81
720
727
560
892
442
225
91
756
144
359
586
29
337
573
662
518
850
42
826
25
636
345
15
961
815
544
982
366
591
261
918
446
803
524
101
907
670
580
382
465
79
371
99
88
700
90
604
394
399
475
518
119
248
651
146
359
411
859
594
387
866
401
162
716
115
653
335
947
790
149
780
726
603
948
770
654
466
904
149
691
646
712
869
18
306
239
767
513
525
744
850
341
759
700
662
524
481
393
787
737
390
828
912
706
671
888
586
436
462
404
42
40
904
692
228
581
167
642
107
157
307
105
513
431
662
460
129
146
361
869
391
761
801
126
750
142
971
14
772
888
816
545
406
422
627
558
181
365
535
64
617
797
172
462
478
739
573
512
488
954
560
651
302
307
836
76
209
533
427
35
672
493
917
932
885
837
358
562
190
459
995
880
881
738
37
686
882
396
195
262
923
403
240
210
443
957
608
719
928
838
871
459
743
289
669
212
322
835
609
620
337
80
853
481
565
921
667
61
480
321
298
729
263
935
103
99
431
173
448
983
361
566
106
875
91
610
884
438
10
125
27
991
618
891
485
982
782
176
104
68
965
907
802
967
463
407
383
946
424
474
941
73
437
336
515
199
840
478
636
628
340
700
81
488
569
852
674
766
846
859
678
594
700
256
63
670
983
222
854
822
462
268
606
962
664
512
650
591
336
175
993
317
144
197
699
890
449
982
113
813
259
933
200
393
541
294
248
575
997
982
36
954
703
925
819
315
568
31
122
885
237
502
240
977
171
395
205
850
832
725
837
252
636
493
163
739
883
368
420
658
767
680
26
680
484
864
712
27
74
379
455
860
846
173
78
538
261
929
77
666
879
242
451
89
264
562
160
788
658
364
284
616
236
297
365
646
816
812
681
483
86
887
109
568
313
3
524
311
267
115
556
93
392
956
200
331
111
415
606
599
436
631
563
478
230
17
412
922
122
634
932
126
962
773
589
937
108
295
460
447
425
471
820
555
13
315
182
912
719
378
153
452
73
656
568
824
372
963
903
467
297
437
611
993
3
751
566
391
948
337
319
956
216
605
285
248
599
616
200
121
502
775
113
302
683
984
475
534
579
407
436
680
967
95
328
29
740
994
169
986
714
678
656
838
841
310
282
106
323
853
986
15
549
326
535
303
460
593
797
16
833
596
710
508
273
681
364
923
427
80
65
796
427
895
60
183
70
224
48
622
582
137
769
439
488
601
844
36
75
15
120
396
498
673
568
873
99
409
847
74
530
861
476
638
266
506
828
272
151
618
511
665
959
445
409
171
554
319
109
246
401
326
937
896
333
185
844
18
416
746
137
224
506
468
575
838
866
595
897
552
366
158
684
337
881
109
606
324
465
781
325
261
9
736
861
56
699
916
615
107
832
513
392
142
884
739
548
207
507
16
783
795
740
621
423
266
507
337
348
481
472
736
999
179
450
800
247
775
699
54
130
798
99
621
393
307
896
833
686
229
404
996
52
73
825
28
900
230
461
157
584
591
569
728
601
123
961
736
879
776
492
467
348
366
875
638
636
239
821
977
470
24
411
787
382
988
336
236
477
545
894
549
927
169
412
769
77
365
524
396
526
821
293
721
908
874
462
131
749
142
663
727
514
421
875
440
136
139
859
692
17
502
293
539
555
285
547
51
594
703
787
258
693
226
315
80
740
128
27
554
477
355
223
970
115
344
654
485
45
625
778
374
648
216
702
376
844
880
228
193
601
736
134
385
560
489
94
41
545
951
868
924
711
566
184
198
728
363
97
596
419
453
86
420
335
563
26
239
255
642
671
100
333
801
145
747
343
824
85
945
887
302
196
748
222
177
680
253
635
985
441
40
533
652
434
523
935
14
842
504
533
441
859
963
871
552
993
616
428
537
516
735
319
765
596
746
118
662
552
282
712
33
574
523
738
450
514
411
52
805
923
584
521
426
784
575
606
925
196
1
195
721
746
681
149
338
528
481
914
415
895
313
563
211
743
173
830
600
515
107
224
256
824
395
781
508
20
919
875
19
246
466
264
236
942
625
256
344
843
741
660
391
905
399
794
276
724
745
615
709
462
342
114
59
835
168
226
182
246
345
311
612
27
564
238
583
60
904
304
625
94
884
785
421
59
905
512
779
634
232
589
652
729
472
363
431
470
18
431
497
103
655
772
545
253
783
211
751
633
694
837
475
515
258
911
507
642
960
668
963
542
864
717
447
929
151
547
322
306
989
201
411
330
194
529
93
136
137
234
20
480
563
818
401
683
678
182
353
401
675
342
963
761
882
251
418
455
611
331
536
216
714
341
283
358
25
227
829
909
17
320
180
977
669
77
382
72
698
776
343
827
842
946
908
334
695
739
185
603
437
344
722
559
414
535
280
505
780
257
53
759
238
416
20
84
869
454
391
674
648
245
981
870
294
88
524
720
872
319
648
637
374
93
576
912
334
69
747
584
649
795
429
352
720
555
75
332
45
889
535
821
770
7
733
831
499
43
184
249
667
461
883
334
603
261
7
394
626
0
409
476
863
608
111
881
888
469
292
155
882
323
963
988
558
622
247
310
412
17
255
428
401
679
172
51
69
982
967
764
247
31
461
354
72
861
179
639
958
621
383
42
760
176
83
616
357
163
716
6
177
603
295
898
0
650
651
827
702
899
566
995
970
378
108
205
931
169
797
324
773
606
945
527
82
282
15
215
220
792
447
846
841
840
319
434
668
973
593
967
254
1
170
293
456
506
880
545
865
801
341
782
438
538
35
705
599
763
849
953
315
655
401
19
970
83
398
148
813
52
303
72
456
603
90
570
205
50
664
328
32
774
368
409
973
140
956
167
428
731
165
144
629
801
507
107
836
54
850
608
301
111
203
477
926
13
264
805
848
477
460
91
617
221
891
230
151
699
248
772
896
818
180
273
937
76
194
180
751
999
929
906
333
509
233
885
809
947
462
927
468
332
636
85
468
63
668
967
695
677
447
318
772
169
269
687
566
571
595
234
563
257
785
252
710
791
65
771
241
568
843
901
697
751
593
710
381
664
983
382
997
487
320
350
137
84
93
205
366
79
959
957
221
438
897
211
871
963
525
252
504
91
376
744
96
824
423
226
886
584
672
617
24
679
736
715
96
206
377
866
397
372
481
109
67
424
473
94
772
465
321
948
606
133
51
56
750
466
143
176
840
83
478
315
682
972
564
766
128
276
645
709
65
199
325
943
195
354
956
718
456
30
448
845
195
82
599
581
115
892
818
59
640
654
162
666
417
630
151
882
465
943
119
374
103
704
511
981
493
439
901
493
536
676
566
966
586
893
433
497
640
775
240
401
852
900
125
467
904
16
404
783
361
912
289
140
76
501
524
363
71
558
477
503
649
863
455
156
686
397
825
491
544
375
944
930
749
765
816
399
938
9
465
458
413
275
191
281
906
6
934
356
864
872
215
957
262
615
90
354
615
389
470
707
603
856
287
595
980
983
951
274
472
794
885
606
539
515
617
961
791
58
701
467
246
534
384
7
465
44
518
474
764
209
12
851
938
390
942
48
281
220
775
856
573
729
995
774
225
857
464
683
435
878
253
202
629
953
879
641
501
58
540
304
576
477
33
188
579
332
75
464
845
760
786
811
741
408
952
294
45
39
205
794
543
873
161
547
721
698
415
536
599
395
919
606
102
753
629
73
514
682
876
110
278
615
752
51
636
569
455
16
720
479
726
409
794
396
435
917
520
768
667
804
344
476
14
204
228
369
694
167
905
489
427
430
446
741
845
78
906
290
313
113
147
776
217
445
703
139
623
948
894
434
132
367
135
669
321
346
124
145
716
409
857
980
17
74
644
665
230
245
753
972
931
492
90
942
978
461
873
521
531
153
968
210
86
186
10
35
827
106
619
610
901
948
29
152
296
929
734
501
338
377
251
251
614
657
259
63
264
841
642
694
701
356
98
981
356
949
105
47
423
498
867
637
970
17
232
415
47
573
195
515
206
172
948
124
520
355
779
470
515
408
916
505
700
222
115
67
776
832
263
8
569
226
102
299
520
635
10
799
472
668
206
148
257
773
959
384
256
58
171
381
369
522
639
613
962
179
243
629
685
331
726
563
706
244
816
454
771
93
222
921
772
107
72
340
167
472
284
87
47
976
450
840
446
355
920
643
961
120
152
800
196
593
530
375
356
274
807
27
57
408
882
133
264
929
118
441
366
737
308
302
568
92
753
396
418
910
839
213
319
450
241
409
802
609
549
927
577
988
758
163
435
498
513
371
75
963
181
172
426
669
943
680
890
643
795
190
265
750
747
13
533
670
221
917
189
849
259
548
610
892
35
580
215
721
411
843
13
869
150
333
310
668
703
261
924
906
147
552
19
819
760
773
84
300
969
400
467
8
849
175
922
910
437
6
237
194
939
113
543
730
814
162
420
310
789
216
690
698
193
254
497
578
755
862
959
785
617
876
626
168
850
656
260
31
805
75
622
41
961
328
47
520
542
375
709
203
437
898
666
487
908
878
651
500
344
523
902
358
219
613
420
841
13
636
86
550
723
204
152
966
344
16
974
94
114
982
576
936
557
297
171
471
886
692
728
482
30
718
300
187
113
671
974
93
182
648
671
736
316
987
343
232
216
985
12
112
796
412
411
557
121
987
102
355
946
334
847
136
346
236
193
165
488
735
554
337
282
839
937
312
802
70
828
7
495
619
694
940
938
781
824
50
894
379
596
801
861
121
904
64
792
603
577
966
116
716
965
600
928
936
297
190
662
148
607
212
17
410
274
852
320
399
705
608
410
909
483
173
819
160
140
215
88
561
876
569
621
93
49
992
500
913
783
168
539
170
955
423
699
342
372
490
91
739
952
90
859
31
826
219
36
745
602
373
492
474
616
774
79
159
320
743
996
770
98
722
579
341
971
927
755
43
284
838
438
17
289
204
570
660
643
995
205
781
578
839
755
641
518
665
751
204
83
282
647
911
941
661
550
402
883
53
786
943
854
604
680
181
962
558
951
369
485
555
752
263
40
978
671
180
472
656
690
227
343
558
993
312
385
924
290
733
1
744
515
818
129
387
734
573
927
356
149
194
252
208
580
265
381
22
305
960
817
886
173
592
113
776
482
295
703
877
519
683
582
453
113
235
909
835
885
465
977
315
679
870
528
431
166
18
714
810
432
495
888
126
406
292
336
560
340
943
86
961
429
569
775
744
989
73
928
255
155
378
249
790
476
87
982
784
53
109
28
106
875
540
384
791
683
458
893
223
985
768
366
799
485
207
796
789
722
391
664
865
411
246
135
448
75
279
449
471
423
619
865
516
66
624
594
646
897
336
267
499
803
272
294
478
613
327
729
112
37
988
126
64
554
302
9
382
240
638
964
376
733
306
613
632
863
831
580
786
319
327
287
296
40
38
93
966
385
927
842
971
631
703
258
465
821
925
768
548
599
20
844
451
974
392
39
730
145
546
831
663
812
776
982
814
243
216
806
140
536
111
420
410
129
78
239
923
224
717
105
180
578
73
173
957
355
939
423
782
764
982
679
676
421
82
948
221
586
951
170
628
857
391
311
610
953
185
147
508
896
233
657
593
421
485
15
251
779
852
64
495
313
517
178
864
375
613
410
650
118
629
544
358
33
682
208
257
767
711
191
900
45
728
593
696
50
2
248
1
205
476
411
200
515
158
750
506
680
460
843
342
539
905
615
205
729
633
864
771
835
818
182
250
274
917
297
658
710
523
180
230
418
970
238
287
498
317
345
843
337
524
161
773
629
585
187
343
748
779
863
572
863
706
10
498
535
328
152
734
911
342
452
947
142
690
512
85
928
889
55
878
945
710
820
496
329
534
197
368
711
163
897
238
22
198
507
785
592
536
654
870
207
351
246
130
978
709
241
266
595
848
632
593
459
383
556
812
336
979
198
769
886
103
779
879
711
516
876
283
582
564
940
449
425
209
399
351
865
819
682
408
32
529
159
199
91
632
258
102
121
775
936
471
242
885
76
707
757
65
522
870
926
500
453
414
415
390
409
412
748
8
772
111
941
983
729
469
333
330
331
665
689
618
116
295
882
36
761
604
220
425
932
152
36
343
526
53
709
206
85
413
660
839
284
404
169
931
391
491
461
377
59
151
69
743
375
404
585
284
392
812
944
871
78
203
902
870
253
564
164
118
377
48
773
656
104
606
447
629
331
54
917
611
906
734
168
404
397
611
923
329
61
55
875
640
740
296
32
583
495
248
138
854
372
294
107
276
86
599
802
117
276
832
420
87
130
987
800
390
93
994
820
816
179
778
961
214
238
122
586
10
619
665
293
181
858
591
432
916
307
607
775
240
786
117
984
959
840
646
665
730
291
390
955
218
874
296
137
977
254
247
630
670
822
980
552
579
860
32
381
721
324
566
582
154
353
797
252
225
210
79
395
916
872
872
701
36
369
269
995
124
687
765
673
885
109
994
976
292
512
125
762
845
176
336
574
168
358
93
499
263
92
364
488
51
600
228
297
269
412
651
548
385
921
478
243
334
302
901
137
685
257
833
100
267
505
676
392
486
982
964
276
29
820
995
645
269
642
95
107
150
416
219
578
305
960
776
425
642
746
768
66
28
413
633
255
694
656
748
502
32
202
931
86
777
791
683
636
832
18
607
911
289
939
944
907
980
74
369
135
350
787
38
605
636
297
490
890
518
362
874
483
659
385
311
688
624
212
341
733
802
488
156
10
382
270
349
2
910
170
977
810
971
590
461
531
641
114
710
698
526
459
260
998
619
956
693
749
641
229
342
851
488
33
653
576
396
903
562
325
706
339
348
216
713
361
129
777
123
400
227
715
245
697
864
468
12
338
165
833
703
677
185
765
254
157
238
452
974
207
553
511
433
978
675
16
737
283
337
52
959
488
769
187
365
803
535
596
191
371
343
513
238
261
910
640
445
778
631
810
992
437
866
298
932
739
684
385
568
485
573
180
201
986
743
26
840
756
647
770
49
216
3
6
388
576
909
499
630
49
621
294
369
735
101
700
794
680
819
430
261
833
331
482
841
191
831
632
250
927
675
393
184
232
62
935
466
199
131
147
841
888
654
786
827
557
76
809
392
795
520
595
162
388
909
114
768
450
19
841
847
203
450
281
337
439
37
363
292
737
406
375
693
239
978
699
406
221
350
873
998
976
578
365
880
849
887
982
203
59
290
739
28
576
776
860
692
792
125
777
394
128
891
148
362
720
67
571
280
285
942
245
170
7
899
905
229
812
13
11
905
410
1
508
559
323
792
922
335
228
127
397
342
246
251
130
485
836
362
474
836
760
745
945
704
536
788
332
236
906
346
294
476
879
479
550
250
197
106
354
598
679
56
542
857
81
614
186
217
263
974
440
4
618
938
480
344
737
64
990
108
748
716
831
386
467
773
844
557
440
233
744
958
146
175
527
126
151
746
551
588
305
446
526
913
737
960
921
558
472
967
188
227
970
681
171
332
558
446
839
218
734
103
545
556
441
155
64
718
710
198
385
429
852
833
852
347
337
667
730
379
634
413
137
498
74
981
239
205
994
314
963
912
331
808
541
38
24
230
201
400
717
146
403
615
844
556
316
580
104
147
434
534
581
100
678
154
318
536
395
994
835
774
478
511
13
172
693
566
772
652
498
454
37
445
709
593
301
146
249
975
429
99
285
765
163
742
914
274
972
979
948
951
261
556
160
771
325
354
303
685
691
671
460
43
414
945
267
604
688
413
10
460
522
903
450
958
580
610
774
315
259
304
920
336
646
874
167
334
905
349
166
47
384
628
923
992
417
783
307
422
136
317
998
616
868
64
696
191
837
830
509
77
510
710
525
195
388
592
61
919
85
878
945
656
495
760
942
614
163
237
336
742
552
414
241
774
208
990
550
274
978
382
591
791
514
162
665
746
817
927
443
140
433
140
728
941
248
754
700
960
763
496
843
122
303
690
307
12
300
53
343
429
658
823
397
999
896
516
109
258
701
573
693
716
725
509
987
178
185
697
183
914
244
634
860
960
890
281
681
301
395
390
299
361
415
483
473
704
562
687
814
280
26
697
79
261
233
656
991
173
857
38
854
971
265
104
328
897
237
190
441
140
287
141
762
565
793
956
180
378
784
165
76
336
631
955
419
993
561
849
214
381
221
557
418
544
251
611
593
420
347
415
585
873
545
314
562
615
877
28
305
463
462
180
965
337
207
185
310
446
632
379
632
290
106
54
868
583
774
188
99
700
917
552
528
317
164
276
446
97
59
74
993
253
586
401
612
139
501
339
325
159
202
935
904
571
537
176
756
82
355
504
514
561
334
322
784
928
19
362
932
73
963
21
472
650
312
204
363
781
468
103
486
572
69
454
67
612
830
323
4
598
256
372
866
438
56
673
196
1
768
699
274
618
221
749
90
408
705
704
802
715
338
967
523
405
285
809
523
884
421
268
655
567
583
740
467
162
891
538
761
155
885
32
314
551
317
252
288
307
610
447
206
120
429
280
495
594
783
798
882
600
638
163
987
146
39
295
546
711
202
781
753
933
121
83
313
995
125
116
581
856
35
517
327
135
193
292
235
114
778
28
329
233
477
433
977
490
454
463
607
950
390
718
12
779
939
862
517
393
74
805
569
582
427
831
145
925
509
705
405
683
64
710
238
842
380
48
260
127
427
92
222
158
995
321
447
541
773
581
645
105
857
542
107
761
805
659
381
610
798
998
311
141
809
975
460
572
870
353
539
449
868
806
234
580
739
793
129
684
222
568
251
687
838
156
871
349
514
864
465
633
519
961
988
880
828
624
677
630
733
999
192
589
26
558
327
85
252
38
795
398
295
495
710
330
106
450
195
587
814
323
550
784
608
995
114
145
52
205
407
202
772
939
816
549
223
517
91
885
198
129
304
703
939
124
657
958
855
823
812
176
17
351
898
405
704
791
127
625
459
912
744
518
178
125
262
295
767
742
260
711
171
492
673
136
837
466
970
988
296
529
435
900
514
353
738
499
586
859
180
120
126
473
392
745
751
767
243
162
358
977
686
418
857
91
666
758
861
47
414
935
549
588
264
521
336
202
398
644
568
785
491
170
732
71
728
571
988
958
615
674
376
585
784
415
708
177
629
499
423
864
178
497
231
631
873
538
36
19
691
733
91
744
545
653
316
539
284
175
453
397
264
70
851
354
736
922
607
992
641
252
288
826
714
715
656
89
117
726
686
268
254
848
138
222
62
7
962
852
368
75
968
198
416
846
367
821
811
153
199
786
251
541
318
484
259
263
384
643
822
161
819
221
316
194
621
730
590
153
119
484
522
309
423
645
13
745
615
576
257
424
818
636
221
343
538
489
319
688
727
51
998
384
681
86
696
499
174
830
797
827
722
618
390
759
95
423
643
456
506
283
872
689
200
46
983
584
506
595
95
539
311
617
659
899
585
667
798
895
601
169
929
17
170
278
724
734
422
819
285
172
457
160
387
929
482
751
911
408
257
614
600
27
341
49
835
351
421
452
695
288
595
86
672
390
171
303
925
870
364
192
978
437
470
33
797
16
22
71
74
847
192
713
21
867
44
612
333
481
401
943
309
645
789
83
382
12
540
492
726
76
737
415
839
998
144
243
984
934
918
62
447
927
620
900
920
840
598
519
224
216
731
90
748
233
133
814
527
248
224
12
764
462
613
168
767
584
665
723
387
577
115
497
187
559
24
894
686
100
175
818
843
930
687
792
300
20
335
701
262
477
280
697
641
911
418
805
594
501
751
335
835
741
78
161
593
533
496
932
666
554
192
388
529
80
651
652
634
594
688
678
113
113
403
510
698
907
334
313
207
851
894
236
74
373
780
434
336
140
883
132
851
519
862
830
902
900
587
733
735
903
657
665
846
642
304
927
174
950
787
227
132
717
421
506
190
868
257
688
740
56
479
476
731
651
71
688
920
825
496
931
339
55
693
316
64
925
894
649
563
745
124
76
985
281
509
726
775
595
603
517
350
593
985
629
457
933
167
386
407
955
892
950
174
547
307
467
643
230
759
79
993
944
964
16
288
966
936
294
541
197
403
900
369
294
518
985
987
249
448
419
308
459
606
971
846
450
682
937
521
895
122
220
640
686
836
313
398
706
892
570
33
919
818
685
408
157
430
966
577
114
865
208
336
586
672
855
958
553
733
644
161
378
308
179
427
24
325
181
249
510
485
45
376
951
842
181
256
247
940
792
196
981
646
116
827
571
747
244
785
490
478
247
451
755
696
584
604
455
632
800
131
516
930
933
786
726
413
844
762
485
665
442
157
306
925
73
813
969
830
374
208
854
342
221
923
738
291
56
208
218
690
805
837
781
515
5
766
990
226
10
190
955
698
702
924
832
349
999
657
959
844
466
46
445
506
3
250
715
694
878
227
244
494
666
607
592
143
545
466
374
255
958
514
371
583
673
988
742
829
22
276
364
582
485
94
974
626
339
477
365
433
189
391
743
208
11
961
52
310
966
6
510
693
441
638
709
134
344
679
122
735
735
252
428
883
165
545
392
53
833
456
432
672
221
775
787
709
456
822
546
272
474
279
959
803
430
820
76
84
894
979
824
52
620
26
288
189
319
761
304
677
976
473
132
219
357
759
681
776
259
689
620
827
757
143
761
557
305
269
992
598
966
484
661
43
428
423
449
418
360
274
442
384
142
527
131
556
181
223
729
521
660
831
574
752
207
170
937
80
390
172
983
557
682
168
21
136
318
378
137
488
878
856
509
761
535
768
199
646
159
223
926
375
732
188
797
803
26
869
49
863
271
51
365
323
862
536
930
308
895
872
106
434
730
326
950
567
766
758
93
400
300
964
845
324
342
987
822
890
745
700
867
997
319
764
284
127
795
48
806
14
632
721
16
939
998
778
872
569
944
820
728
178
696
561
320
175
236
394
465
70
125
657
671
745
378
497
954
323
639
799
401
911
246
101
121
109
752
601
517
235
781
396
756
601
595
78
838
254
908
261
680
867
905
764
355
148
120
660
40
116
401
409
296
913
696
501
562
6
531
35
462
201
812
176
796
89
25
319
109
522
538
701
427
656
410
651
764
353
14
342
68
193
767
747
880
364
831
941
85
60
598
330
765
626
276
596
993
817
719
723
183
564
427
586
507
136
412
512
167
279
844
227
300
344
526
406
878
929
766
502
710
193
850
638
830
833
739
144
253
660
723
670
828
786
522
540
487
184
288
589
279
993
730
961
140
759
783
72
192
520
905
503
781
752
666
738
939
681
994
534
667
124
587
842
566
536
242
190
252
266
278
141
7
233
625
542
580
958
679
669
500
637
640
551
13
912
237
863
964
563
603
106
132
138
731
12
176
82
482
814
98
290
143
689
924
157
205
103
172
693
987
838
923
641
769
119
504
386
192
189
562
209
949
8
199
925
697
69
338
799
102
955
668
175
531
40
354
731
199
629
257
839
802
120
662
635
875
749
783
958
191
908
719
514
949
364
583
325
245
659
338
676
649
238
236
215
256
135
499
992
698
656
304
975
913
56
186
778
412
704
887
863
961
60
833
932
950
999
893
364
819
660
520
542
6
920
545
48
438
621
253
886
306
712
269
831
630
275
625
954
980
513
319
455
196
21
698
281
934
421
215
204
604
397
137
36
4
740
122
211
840
147
80
981
299
532
196
30
965
147
481
750
194
323
47
208
577
776
804
736
115
797
690
253
977
376
158
450
481
192
349
450
931
948
198
17
903
897
845
34
608
144
907
777
578
99
589
841
375
7
258
839
239
914
258
821
243
598
691
167
755
388
259
801
568
622
990
684
690
660
58
968
69
200
640
430
457
791
490
346
208
785
531
754
342
764
147
507
634
843
569
223
240
896
825
306
897
55
187
481
303
430
950
467
856
132
883
573
215
233
482
824
207
861
375
205
718
894
199
564
609
915
977
499
53
59
919
898
496
568
940
910
370
66
640
614
286
762
634
266
331
159
29
275
892
47
829
872
460
457
954
588
860
685
220
979
522
482
748
333
69
753
338
121
715
10
25
231
394
498
633
403
606
974
413
850
333
61
221
413
28
867
358
153
800
1
518
775
533
970
774
189
45
513
629
601
619
272
959
939
997
736
421
853
217
498
389
542
477
983
641
429
974
240
585
922
204
232
680
153
36
484
542
257
876
201
337
753
476
718
747
461
60
382
973
573
34
11
695
727
472
577
813
578
753
297
952
40
287
627
871
143
15
408
344
85
266
316
997
816
41
998
586
155
323
951
172
339
571
547
400
800
323
88
689
201
985
295
978
406
666
961
798
593
249
101
998
441
679
682
862
560
950
240
618
19
716
331
320
888
696
138
886
500
586
554
778
507
255
341
712
170
875
693
436
296
896
150
581
979
368
482
731
42
336
595
600
346
716
998
724
335
501
784
648
770
408
998
945
37
113
27
539
311
460
444
679
648
988
41
616
380
954
902
454
936
569
70
776
331
324
868
360
234
911
321
766
416
213
427
954
176
316
581
485
811
669
651
173
548
95
250
808
637
333
374
448
980
826
396
890
251
867
626
384
722
663
451
936
979
946
160
875
247
149
951
554
149
51
481
141
376
823
482
998
44
734
161
653
137
478
654
191
837
194
871
777
554
737
439
537
203
227
582
715
867
801
953
753
347
113
655
883
848
357
370
815
370
348
796
426
500
696
802
832
293
508
784
833
26
164
357
537
442
56
481
356
935
896
582
122
983
204
610
420
492
233
767
108
157
300
394
841
480
550
130
348
210
161
993
86
163
637
144
161
346
606
737
494
787
432
231
945
996
280
39
6
200
899
766
921
74
712
832
42
829
216
791
941
82
863
533
171
284
537
739
35
556
334
864
69
328
189
809
47
893
865
97
408
409
180
340
9
500
258
706
136
648
819
373
787
441
912
597
631
904
654
511
525
538
61
474
949
169
699
17
677
777
174
109
339
489
435
632
224
14
735
39
354
742
18
978
387
193
514
22
61
449
881
517
425
33
170
724
408
420
425
114
880
643
519
923
662
28
917
59
278
914
42
683
623
232
646
162
709
159
750
856
347
896
73
393
570
171
616
469
381
469
355
92
83
186
979
178
817
520
888
411
9
231
814
593
637
85
113
643
167
867
580
962
515
410
338
569
581
804
624
591
948
796
434
496
425
522
642
315
952
736
8
957
508
304
934
480
477
321
516
442
97
614
397
74
914
132
37
413
708
560
798
604
749
76
627
600
143
43
457
622
913
683
230
17
184
419
594
670
352
988
242
42
46
480
469
921
505
344
172
924
645
705
855
712
582
921
227
937
724
423
498
124
330
675
991
86
1
624
46
818
59
968
493
866
536
612
461
200
834
872
140
191
776
803
437
185
396
598
668
623
125
208
962
815
515
138
133
704
424
16
161
969
409
81
811
826
977
524
84
890
506
160
391
470
645
551
998
126
648
169
25
400
30
149
272
144
271
366
248
916
835
512
645
839
741
582
221
961
650
263
459
600
575
109
421
13
201
545
709
421
310
9
165
470
170
655
710
923
795
39
975
153
604
741
408
796
771
577
177
127
836
47
776
598
319
682
320
867
698
164
53
799
373
830
6
243
84
449
745
874
402
230
160
378
115
408
272
409
127
429
690
988
956
585
840
272
894
329
846
368
903
872
540
200
221
176
614
381
446
199
515
985
966
138
365
335
687
98
421
563
474
354
780
923
549
304
236
200
40
435
823
995
92
138
23
671
509
384
857
227
457
188
428
809
970
825
437
49
713
855
726
771
911
165
543
724
154
859
325
777
714
107
112
533
906
683
360
866
798
114
532
246
885
777
724
380
35
374
577
63
408
199
326
206
510
282
748
108
258
269
339
595
330
909
39
540
832
459
157
153
469
302
629
142
34
985
255
594
559
145
464
506
242
53
588
656
778
699
815
50
530
915
551
625
215
451
659
366
582
999
761
941
961
269
485
209
661
811
954
569
434
625
701
65
564
653
416
862
561
560
156
908
99
859
295
732
663
558
192
729
759
130
770
364
352
849
425
132
691
92
879
239
478
451
564
279
241
183
800
235
584
715
451
431
533
859
614
494
319
926
225
339
321
481
462
579
880
10
150
226
402
269
913
351
522
31
303
465
219
108
86
626
832
173
536
278
924
339
17
681
451
292
160
46
343
114
507
549
31
997
939
873
943
263
369
372
830
140
899
765
791
490
971
212
857
778
494
499
70
846
414
631
356
938
655
290
880
391
207
970
963
47
359
22
824
974
712
32
454
815
204
308
723
449
483
762
728
291
179
282
633
981
340
862
158
976
295
349
889
422
212
294
943
485
373
277
996
649
853
685
640
179
990
52
301
732
247
166
980
748
387
518
981
28
230
529
982
953
259
572
271
646
184
653
613
228
261
455
419
168
620
107
977
419
983
657
699
705
226
15
337
210
457
69
922
961
256
141
751
430
15
161
209
179
810
677
643
282
866
199
833
249
292
372
40
660
773
630
728
85
548
895
737
71
510
847
319
704
417
329
339
213
902
57
376
463
993
712
26
868
440
242
78
724
339
468
399
976
784
668
129
972
135
536
384
208
859
695
387
183
549
443
248
885
240
921
695
763
988
606
189
223
277
135
616
745
302
947
333
884
369
516
22
626
419
507
363
582
605
906
469
620
45
343
79
695
490
752
837
160
729
455
423
970
43
646
423
394
217
278
377
913
980
996
327
821
806
715
682
824
766
327
725
145
142
122
129
789
981
842
443
12
480
109
196
234
35
310
914
254
975
781
84
727
597
581
31
203
299
884
382
960
726
614
669
802
288
837
380
649
991
853
16
646
771
895
813
104
824
969
76
641
448
400
621
66
684
780
888
635
625
524
393
456
127
127
244
679
14
752
816
658
285
35
315
742
248
864
649
330
923
989
998
591
408
192
716
12
792
607
148
179
856
258
399
305
727
579
96
950
397
615
71
669
219
782
713
608
645
680
453
339
937
6
286
950
418
954
238
713
830
237
475
275
585
234
475
736
517
766
956
211
351
627
343
87
220
846
829
68
19
285
29
780
538
761
492
191
465
940
39
616
574
391
812
150
729
433
446
278
218
114
761
737
163
136
89
878
231
435
471
341
693
915
654
524
73
184
863
2
290
810
939
654
29
994
12
24
698
499
130
579
333
944
257
455
160
696
4
530
84
628
523
562
282
133
842
63
948
869
560
628
343
752
744
227
668
190
365
336
553
680
328
882
476
519
274
435
874
219
305
50
329
370
813
68
138
449
522
805
357
972
397
257
378
229
47
341
68
850
247
329
577
648
875
107
50
455
500
947
308
787
68
980
969
109
145
539
884
362
825
964
18
409
208
254
471
700
543
225
391
305
271
927
400
469
80
350
782
283
64
596
132
942
715
784
423
346
873
664
297
13
525
318
680
776
146
142
135
234
220
572
248
484
351
609
482
312
253
809
386
302
34
906
468
742
892
689
4
730
358
361
613
784
831
252
985
884
991
976
536
779
977
227
513
189
96
163
92
762
227
872
694
692
272
206
139
910
166
708
458
775
604
412
500
843
755
333
382
218
924
272
65
754
300
880
710
92
968
810
942
22
357
490
936
480
827
625
483
979
28
749
409
889
117
982
806
12
917
693
843
177
298
508
752
994
246
593
151
989
914
711
798
97
508
50
761
29
168
138
284
770
547
277
608
491
191
879
761
102
803
875
341
165
435
753
35
184
320
561
586
89
460
277
384
787
262
974
458
409
817
184
16
354
409
172
697
736
316
367
196
561
187
834
682
533
632
727
515
61
617
441
481
590
79
564
809
382
341
530
449
229
887
590
233
992
965
28
680
9
715
72
639
401
185
269
78
362
545
161
687
911
668
463
906
725
228
869
351
523
925
709
902
168
851
623
640
946
894
418
702
35
758
869
535
115
203
331
831
153
197
15
568
52
428
379
114
359
892
703
553
469
618
516
586
278
262
449
232
18
217
197
973
282
328
387
938
642
584
332
110
199
322
859
937
755
458
483
350
81
18
203
859
461
363
626
160
363
696
375
521
966
58
12
923
175
610
918
934
81
792
416
588
952
369
460
409
133
498
851
958
819
748
534
307
368
883
478
203
906
969
246
172
428
332
810
800
382
689
774
269
241
684
945
318
931
86
846
771
651
401
264
583
645
909
113
382
765
374
630
770
39
696
290
667
798
310
561
560
689
145
7
488
775
324
163
468
706
996
508
263
853
225
563
687
149
642
147
849
260
721
581
963
386
398
677
882
482
714
157
994
18
726
24
415
62
776
303
662
521
703
196
340
91
184
245
226
464
642
878
586
770
549
415
846
790
637
722
589
113
922
545
117
591
108
894
873
644
145
468
740
125
313
161
377
623
384
45
283
109
979
445
547
900
197
811
75
419
725
794
825
63
85
203
933
935
457
601
728
641
427
324
163
954
946
974
113
189
415
701
416
867
234
854
435
621
971
49
338
778
286
678
697
104
703
837
803
622
612
853
120
322
154
510
9
897
425
274
38
585
381
381
360
647
717
502
913
175
62
462
919
989
175
0
564
670
953
897
629
137
42
201
479
412
735
854
759
963
697
485
933
428
899
746
579
720
787
92
184
143
769
448
783
851
711
264
524
72
739
876
184
768
838
278
353
567
614
843
750
590
658
813
876
377
799
348
161
583
678
819
259
199
701
200
923
55
144
387
696
283
665
750
664
180
932
611
96
983
289
418
665
169
245
367
352
318
407
10
510
721
787
784
470
721
394
210
254
922
251
51
45
881
312
29
294
893
942
302
873
640
790
788
510
620
770
540
785
644
655
615
96
326
349
612
442
107
457
61
461
863
471
301
866
568
452
857
544
995
764
214
911
475
354
115
615
47
990
652
969
460
302
805
17
108
336
855
987
348
523
860
364
391
479
370
531
860
204
713
920
442
413
593
235
950
192
594
544
125
531
279
181
754
241
470
238
165
74
87
75
116
690
943
312
681
449
988
474
451
106
289
660
688
896
926
285
893
575
143
912
323
738
479
143
941
401
505
216
621
71
961
627
479
319
781
987
719
656
497
118
405
648
731
485
192
848
706
390
770
683
416
608
402
857
564
429
508
332
285
919
713
673
209
1
873
108
870
643
799
993
618
980
55
596
640
53
112
489
142
750
493
9
244
726
113
814
530
495
715
201
471
143
982
100
150
457
898
654
958
344
959
239
201
370
247
556
131
849
362
395
761
492
509
581
262
982
962
62
522
611
28
709
605
414
918
199
382
314
507
932
997
159
186
919
28
797
643
114
584
823
47
734
427
361
988
872
316
967
829
808
129
337
230
283
404
985
538
439
555
167
343
346
662
334
324
880
855
284
276
762
689
713
32
355
722
231
972
183
562
834
195
525
964
509
957
248
829
672
779
557
314
21
645
63
817
71
640
727
825
801
879
229
289
756
824
494
915
447
392
749
677
583
530
199
651
129
124
777
660
585
896
446
848
126
666
438
35
258
208
487
471
98
433
240
800
713
941
644
265
377
76
581
909
963
274
835
850
757
791
31
405
100
529
505
527
219
249
109
605
993
362
34
497
228
716
434
561
280
367
742
459
393
785
715
287
93
480
317
416
480
591
925
885
345
96
937
784
428
326
608
685
528
189
789
49
920
90
813
448
212
685
839
101
943
829
54
829
605
864
302
395
491
503
137
453
186
680
727
850
682
961
546
478
979
663
405
335
943
957
961
166
596
818
963
353
338
361
602
706
405
433
500
794
477
190
894
703
610
30
943
815
523
207
407
451
267
867
384
983
375
823
352
431
123
988
528
529
55
296
305
179
164
238
288
739
311
234
696
220
371
145
724
882
464
641
731
785
260
928
522
627
215
144
746
33
786
873
645
99
670
638
361
874
691
16
953
860
212
767
830
846
536
131
372
191
616
618
837
372
461
482
970
25
748
283
779
945
997
594
826
509
832
433
861
157
854
566
458
474
29
681
603
507
583
190
321
444
349
439
458
246
948
345
11
454
197
597
660
933
774
64
642
86
336
536
199
376
821
181
355
612
634
321
278
812
130
446
12
757
250
391
551
239
882
192
331
111
527
162
986
131
88
624
409
658
84
858
460
198
547
283
763
492
536
124
40
820
312
687
777
645
498
544
434
485
118
550
705
816
630
140
768
685
881
918
594
408
845
263
557
691
142
835
69
57
117
83
93
424
746
435
409
591
934
403
472
210
990
885
300
63
297
723
799
841
492
900
633
288
997
428
225
163
270
3
595
549
25
180
810
954
998
515
362
506
994
663
818
836
656
467
569
848
937
153
102
828
27
84
579
175
683
391
56
875
691
285
123
813
146
849
85
988
886
193
843
698
397
194
725
871
856
480
619
344
688
307
538
977
254
237
737
63
640
686
806
849
932
591
530
398
458
372
275
206
62
974
790
505
329
166
729
101
63
328
995
113
420
319
24
213
157
913
114
26
324
117
967
150
439
827
739
624
453
814
587
318
904
960
876
23
781
768
398
480
527
554
986
170
519
605
781
101
640
152
359
850
911
360
92
920
213
81
947
730
928
972
439
282
433
583
112
417
121
567
613
11
889
352
878
38
891
776
560
147
942
368
674
187
456
885
707
772
787
600
9
782
95
258
322
223
73
469
195
62
355
623
471
90
201
765
893
89
883
709
782
780
580
277
221
58
978
877
542
366
643
343
12
129
927
130
871
194
875
550
891
615
752
156
45
643
31
937
771
713
564
139
171
615
592
213
517
664
290
776
509
210
113
316
530
429
617
214
116
652
806
509
923
251
102
783
53
24
834
18
178
675
167
190
922
629
463
10
228
356
934
349
905
96
857
98
672
104
754
219
777
392
959
556
225
569
985
233
871
822
434
74
167
114
952
685
863
712
111
102
546
660
821
785
202
364
952
805
851
800
291
845
495
805
793
629
841
11
723
524
651
909
583
746
19
139
911
484
119
757
808
883
525
495
783
853
78
650
533
455
691
648
666
957
518
931
792
231
139
485
119
489
636
730
543
35
667
319
638
831
210
992
274
803
163
473
43
385
51
733
30
287
215
670
565
956
645
108
612
69
190
446
567
349
279
843
901
162
792
294
159
70
692
416
136
573
484
585
486
569
118
388
866
254
490
589
343
206
475
348
865
253
752
83
503
87
82
496
637
559
589
161
627
464
690
115
421
398
164
54
530
889
80
831
492
961
839
47
769
755
267
372
990
79
97
854
951
817
28
261
155
452
306
351
140
325
273
498
93
398
435
352
880
884
598
936
906
481
796
430
888
427
536
592
356
781
51
161
112
149
247
670
543
167
135
809
529
56
699
404
134
745
264
813
727
519
446
142
238
995
100
961
627
813
777
6
452
675
935
273
498
733
186
202
941
340
522
165
538
632
541
716
570
616
24
516
568
486
673
690
500
491
316
232
346
762
515
621
582
652
37
666
65
15
729
240
210
288
697
665
350
912
361
270
698
23
313
440
92
34
530
816
105
136
595
478
716
422
81
367
770
622
136
483
425
88
647
206
482
687
521
658
13
67
648
797
228
420
47
116
968
318
620
888
498
452
134
321
46
102
84
497
729
17
894
581
814
654
363
770
248
310
894
711
80
464
757
262
479
49
288
71
417
742
111
880
501
834
211
479
310
80
460
414
326
17
504
560
277
680
911
820
559
952
869
970
453
57
732
285
312
589
968
186
940
645
702
65
921
222
527
885
257
776
102
200
764
311
863
363
516
440
595
502
691
743
656
477
531
457
936
638
33
436
603
558
647
1
903
178
864
62
300
682
417
283
289
887
95
633
904
337
194
149
274
35
383
490
812
941
614
800
610
991
368
210
350
225
613
378
834
150
594
684
597
420
290
844
590
941
762
902
273
890
313
761
462
564
950
986
480
345
378
520
292
507
935
22
713
79
424
832
625
952
744
101
702
625
542
390
185
590
52
790
241
809
547
225
42
441
952
649
283
108
822
454
123
75
80
16
977
605
403
877
292
595
704
90
101
44
704
525
568
721
526
306
812
951
37
478
557
984
824
106
978
992
891
677
210
205
766
797
129
831
731
755
918
454
106
326
52
280
174
153
917
910
570
28
541
537
835
646
375
138
802
481
807
273
957
234
90
803
846
179
562
789
694
476
276
443
654
563
528
750
142
65
326
559
279
580
595
197
710
638
503
323
213
550
279
878
859
254
376
181
972
262
729
483
102
922
474
163
303
693
226
959
604
333
98
261
131
234
537
278
354
174
739
176
604
899
362
721
177
943
485
996
673
188
748
824
378
320
879
464
609
154
867
944
724
816
858
188
847
462
313
967
17
283
923
203
651
745
524
135
737
575
280
161
257
664
363
775
376
349
761
505
462
969
709
88
466
637
984
625
669
995
936
213
60
644
965
67
769
644
505
677
306
138
287
900
632
642
840
630
448
561
476
884
670
87
988
105
246
188
492
695
883
430
911
194
784
904
627
966
388
895
485
392
466
553
519
480
31
970
347
501
92
729
766
735
620
801
392
992
316
724
908
653
51
355
476
119
826
79
644
56
697
554
504
368
134
922
695
290
792
296
514
512
974
855
547
859
12
668
628
456
402
228
391
72
484
438
107
825
306
820
540
936
313
786
946
497
808
371
9
738
417
298
324
252
152
669
730
564
297
254
710
908
575
674
40
647
481
41
566
89
847
363
202
576
870
702
884
556
444
127
411
464
339
436
509
886
836
988
752
684
709
879
244
675
795
91
640
137
423
350
337
733
719
667
974
170
196
559
896
141
640
213
804
976
739
898
976
236
38
876
969
258
569
956
404
282
320
707
95
857
365
607
966
660
300
805
291
259
221
930
171
692
982
731
143
721
634
524
619
863
808
722
851
250
892
853
537
503
913
357
244
432
320
161
646
108
977
617
588
25
646
155
386
398
901
862
968
623
904
818
826
346
530
797
73
554
163
181
502
121
960
958
693
219
402
765
710
979
370
321
305
244
198
806
438
41
243
40
515
318
739
710
665
128
599
933
675
557
569
180
54
493
903
267
659
721
99
462
329
832
737
610
168
470
364
929
518
418
66
230
917
545
298
577
700
998
430
988
388
947
102
414
95
683
180
280
378
515
86
866
405
208
834
503
683
282
455
311
194
42
641
394
63
884
283
901
135
586
793
497
144
151
881
729
573
646
482
150
75
140
166
91
153
361
287
496
498
759
99
103
794
702
846
487
29
291
754
977
101
779
507
469
270
233
570
66
326
671
76
592
893
436
598
312
588
611
742
447
171
207
96
104
538
414
233
791
720
281
172
91
938
625
541
817
161
544
893
252
880
674
946
491
632
364
499
983
643
321
415
163
75
650
246
656
314
112
518
612
315
75
247
769
876
976
589
745
754
599
347
851
357
98
663
458
411
882
627
583
626
805
830
796
858
352
749
901
481
635
936
328
745
12
879
639
575
74
394
425
918
896
583
628
847
685
94
826
304
63
275
897
989
822
297
641
486
508
489
476
265
718
188
773
689
575
33
365
989
152
57
875
399
990
712
61
561
277
39
640
985
991
75
733
488
659
638
789
356
183
924
299
568
748
315
824
649
250
768
947
906
763
401
346
99
148
701
753
240
746
311
447
172
196
720
630
254
216
572
284
461
745
870
148
176
616
916
113
277
293
618
649
771
786
954
934
983
459
153
753
543
69
439
612
304
876
242
546
934
10
260
585
754
986
953
184
808
656
334
234
839
140
818
829
951
917
119
927
912
982
661
243
249
893
787
761
915
239
272
232
173
558
856
360
670
365
467
445
870
556
198
653
649
855
69
424
793
773
967
432
997
456
102
779
146
483
996
291
400
984
927
77
140
162
151
640
895
102
135
784
226
552
322
147
654
865
143
715
382
610
31
672
943
752
108
378
490
570
174
839
964
993
580
653
167
884
513
515
384
455
692
568
89
468
530
890
657
823
586
306
858
565
281
56
848
198
244
763
486
384
135
749
453
0
231
689
829
704
184
381
679
8
632
558
809
797
505
939
277
838
956
370
119
845
324
126
386
943
915
239
866
183
999
70
105
682
541
24
730
444
707
410
190
311
921
484
693
119
666
887
550
668
146
649
992
675
530
423
749
460
795
389
542
34
215
868
964
301
625
864
18
675
104
913
751
145
553
582
21
180
190
59
189
83
814
241
189
972
968
310
345
843
423
920
305
219
128
384
889
736
620
978
354
836
43
227
99
257
662
668
672
998
178
462
102
800
126
363
835
800
552
793
592
464
9
283
50
243
620
890
707
247
602
258
268
840
75
685
893
50
707
412
47
221
175
839
815
875
256
829
409
557
360
709
692
831
171
521
760
929
560
463
172
652
237
593
323
482
909
933
236
448
125
437
953
497
515
993
354
947
167
55
252
928
969
26
612
744
119
860
337
340
548
352
267
769
244
372
615
45
457
620
402
401
431
803
380
571
241
91
827
74
344
440
188
781
478
59
787
972
169
500
311
419
766
829
89
319
57
162
8
905
39
353
347
437
981
554
879
773
480
854
80
384
848
762
675
645
145
702
626
459
259
68
321
821
728
413
762
294
723
582
165
911
218
237
487
988
578
244
826
958
612
605
278
475
183
978
829
234
738
871
852
551
744
673
555
539
882
448
501
17
172
255
580
851
673
357
396
370
24
441
699
191
484
105
339
244
174
364
912
6
21
795
587
579
769
552
265
410
649
807
864
866
721
218
117
878
98
717
388
594
625
577
260
761
989
29
349
896
963
381
775
969
562
365
701
751
503
903
253
162
583
479
716
999
801
685
234
469
19
516
843
536
899
143
705
949
211
598
88
79
500
184
338
483
138
484
814
863
901
465
248
939
659
455
670
159
323
888
965
678
995
558
221
166
254
413
764
366
126
104
325
246
50
309
613
100
693
129
435
565
599
645
2
280
272
680
161
338
855
896
403
431
208
242
840
397
150
162
452
510
173
883
678
614
371
791
195
313
92
88
185
329
980
727
13
464
294
676
700
590
919
818
835
530
123
740
336
191
967
353
312
481
73
521
106
526
538
57
140
778
631
818
814
962
541
956
13
537
119
3
799
330
160
622
662
251
669
839
235
360
469
434
406
311
907
885
463
441
641
222
270
62
801
796
114
622
431
67
255
174
739
251
161
159
69
694
661
469
432
938
198
562
277
347
860
192
53
453
931
515
542
954
627
965
839
365
518
330
407
892
128
696
678
780
613
879
346
389
833
747
417
887
684
90
709
753
889
867
918
989
169
153
227
716
996
212
1
951
711
768
457
685
970
97
941
194
671
150
705
625
33
303
643
2
308
612
609
161
655
369
282
787
344
864
518
607
573
989
964
846
784
637
112
503
44
120
132
302
656
805
273
952
676
742
96
665
156
22
252
665
886
306
89
231
341
461
666
39
224
473
52
455
967
214
283
256
7
278
492
439
61
88
219
845
401
635
181
179
340
888
193
856
590
972
723
459
248
346
316
301
486
106
102
209
349
620
291
660
992
471
965
964
778
79
761
861
388
697
153
114
711
882
286
761
589
743
97
740
222
39
998
450
13
284
640
835
531
996
857
917
345
794
975
584
889
717
639
99
291
138
520
230
961
123
332
325
372
151
410
414
231
834
938
713
951
382
815
904
48
751
116
884
422
921
598
889
903
345
545
552
979
830
41
116
979
846
425
569
51
919
655
714
719
26
569
215
731
869
430
798
426
367
93
849
281
78
611
748
355
899
488
924
144
549
649
245
519
386
787
731
941
1
831
382
77
931
511
674
226
744
773
478
933
275
754
620
987
111
964
905
745
501
372
433
238
767
999
989
34
521
181
753
201
24
592
109
303
562
405
805
856
209
694
895
906
179
480
412
372
179
946
459
833
469
39
568
284
592
447
150
723
927
293
791
229
997
629
354
555
503
375
716
562
796
593
351
460
250
67
379
467
345
746
192
477
744
752
768
197
613
45
970
664
756
921
682
285
874
936
389
339
701
52
406
982
743
198
954
379
94
252
618
870
324
719
574
4
878
405
265
73
994
19
381
241
426
277
840
484
869
266
537
464
937
904
414
87
746
537
995
512
423
513
189
975
755
399
369
176
899
854
207
349
157
201
16
608
805
200
809
931
859
398
991
825
675
940
414
752
295
46
409
278
593
227
233
837
972
974
774
311
823
850
824
944
355
156
95
48
304
931
588
837
878
112
708
799
130
894
713
103
883
362
971
871
223
205
833
209
56
310
954
406
546
767
129
4
322
476
154
189
211
773
579
295
371
554
604
13
761
69
195
560
603
818
991
107
212
805
441
558
781
742
404
743
865
331
666
972
99
665
249
355
236
27
219
548
743
375
674
940
360
695
616
745
35
220
207
72
368
325
299
599
707
246
523
555
404
343
826
10
48
675
432
707
961
177
354
628
58
727
42
744
161
757
107
157
384
844
757
733
850
706
156
118
874
143
824
514
43
366
247
360
475
268
347
459
464
901
468
860
873
342
927
738
384
7
164
653
438
141
968
370
927
723
579
237
936
292
679
718
214
91
433
94
428
42
970
218
402
347
527
152
138
914
546
525
80
155
331
778
851
870
240
29
4
413
65
787
441
427
578
384
319
405
217
652
483
218
884
613
163
621
746
295
42
464
925
685
800
460
732
700
419
136
37
241
481
17
21
412
254
994
832
897
355
418
236
303
167
382
787
429
317
184
748
407
62
23
528
934
429
311
317
55
384
997
495
700
89
145
712
11
694
840
826
993
67
348
671
126
55
801
455
430
954
957
8
554
498
176
827
502
253
404
439
368
358
493
911
839
36
920
312
235
751
629
821
396
222
843
155
915
388
397
474
902
451
243
797
568
806
716
335
112
25
589
677
678
499
322
485
566
30
94
46
688
484
901
903
741
221
983
765
974
512
991
29
347
889
628
421
613
191
697
88
785
282
782
13
944
424
145
881
230
324
621
794
829
202
498
326
67
419
106
368
912
680
732
722
540
172
207
284
691
4
624
380
462
666
822
850
19
231
302
571
134
449
521
495
737
643
765
811
548
609
551
958
604
424
876
729
578
50
154
803
450
432
709
330
396
72
818
883
671
636
194
879
328
601
68
234
595
473
65
774
238
145
699
245
104
689
100
24
153
169
328
145
363
208
643
179
35
373
194
734
861
933
773
420
244
32
805
689
286
936
398
308
117
890
868
269
464
361
424
333
174
198
452
322
229
129
96
548
990
303
193
722
348
290
943
86
832
782
541
370
952
692
185
756
550
617
235
693
123
131
910
137
158
8
886
569
403
690
179
461
967
255
558
442
486
946
102
592
472
39
491
415
829
892
544
610
296
833
407
65
397
510
255
497
785
910
762
422
838
137
884
375
928
971
565
656
737
861
659
963
360
538
745
742
363
450
664
917
782
798
960
490
398
965
704
302
773
395
750
745
962
634
138
156
364
201
871
820
48
426
413
322
292
851
425
67
354
481
647
979
594
829
535
56
920
280
574
209
5
589
844
664
315
842
554
808
39
959
683
336
239
17
838
619
330
44
784
362
531
159
147
535
62
520
560
557
507
964
652
324
962
733
872
859
547
906
530
930
542
782
628
823
631
463
442
15
762
76
835
880
765
601
257
796
844
157
859
997
629
4
813
815
33
302
612
17
349
133
307
602
87
391
796
628
506
270
110
856
622
463
845
984
540
519
726
196
756
156
691
723
667
124
739
612
125
449
547
478
739
111
643
528
367
15
129
712
527
649
727
495
14
876
586
799
605
225
993
312
375
808
777
603
774
259
13
739
493
457
981
607
440
318
224
925
805
124
82
259
317
873
108
398
911
616
267
702
512
180
223
325
966
133
926
129
493
551
232
691
14
567
876
872
664
810
780
125
92
984
765
974
484
80
632
648
380
963
402
220
517
372
138
398
423
781
131
272
789
39
11
53
969
878
118
544
990
526
434
298
733
526
558
486
403
146
581
981
158
137
315
677
392
453
218
401
250
282
265
621
663
570
953
974
248
229
30
411
612
950
486
504
775
101
446
997
602
984
747
607
597
216
402
397
143
906
517
48
257
274
560
445
262
428
128
550
658
106
568
124
316
977
302
108
508
943
196
615
936
934
402
494
84
838
971
950
455
639
569
911
860
266
765
309
703
74
435
329
103
31
29
735
133
692
651
249
723
806
199
232
548
381
110
374
559
877
680
189
944
149
540
638
4
142
647
182
529
753
65
178
278
524
12
500
249
675
403
687
286
797
516
251
390
146
356
243
733
590
608
460
503
12
327
538
278
412
933
946
539
337
777
682
304
53
241
872
125
160
855
419
922
890
414
328
298
498
872
694
293
894
634
814
213
301
167
177
509
433
71
265
506
439
427
134
426
155
732
307
887
996
723
174
996
259
547
431
130
945
873
986
735
215
410
209
66
271
956
122
535
482
101
13
723
503
920
170
748
676
690
528
783
289
55
390
708
961
580
51
788
850
171
147
112
752
295
911
770
331
791
928
746
945
239
816
744
159
115
339
812
601
73
372
911
11
656
708
411
367
895
702
943
314
752
670
686
198
536
896
126
32
741
208
85
230
627
930
621
289
182
961
614
634
816
856
26
805
701
227
365
0
175
321
619
996
870
161
792
66
674
104
613
317
372
316
603
552
986
664
713
553
28
264
288
232
42
236
657
36
668
35
527
946
699
951
477
635
58
981
592
943
242
249
411
516
464
783
606
14
90
951
231
459
965
467
324
720
608
3
11
816
445
164
12
147
414
472
426
648
464
759
858
523
911
420
345
848
339
702
398
545
86
513
169
919
968
33
808
195
925
305
145
899
565
196
151
513
333
352
959
654
387
388
139
704
206
828
957
351
943
596
941
577
895
735
239
15
221
644
229
83
16
125
308
209
834
432
153
373
29
790
690
186
565
174
939
378
855
334
134
211
667
258
501
295
58
916
974
737
388
997
952
332
106
711
72
806
107
333
76
379
993
473
670
800
941
338
577
590
864
789
495
557
798
119
683
542
200
102
709
890
785
646
878
472
454
809
53
7
647
666
131
245
157
974
625
140
435
513
925
805
729
754
757
12
373
530
68
328
838
618
136
95
528
317
254
998
263
721
829
536
324
590
669
232
169
184
689
15
978
298
658
144
539
635
410
526
224
78
247
256
512
24
662
80
619
208
569
232
681
148
183
886
711
350
845
675
308
522
2
334
369
156
124
996
555
971
375
132
534
878
568
823
241
684
635
665
498
581
443
69
888
300
426
129
287
755
217
427
854
378
365
8
354
7
538
123
637
580
120
160
637
612
855
628
62
209
455
495
844
21
975
187
532
453
537
334
136
185
983
319
683
350
709
503
997
704
474
141
879
50
827
799
562
453
149
491
491
419
459
839
619
852
849
301
550
123
676
918
292
293
211
211
470
783
703
302
46
902
579
592
55
323
76
907
941
862
970
248
53
948
291
425
639
489
338
562
255
956
549
117
517
991
509
994
999
250
461
318
359
310
730
690
552
865
640
42
131
404
445
656
629
575
490
782
953
640
878
420
554
303
964
512
318
171
806
149
97
638
41
28
192
638
397
650
804
172
424
320
809
878
563
505
245
76
731
852
787
690
765
869
665
176
689
647
39
330
168
843
376
51
969
402
149
345
343
736
20
697
728
818
17
501
459
887
111
182
430
715
155
243
959
828
767
726
551
981
73
107
245
137
660
487
240
232
104
741
438
646
278
291
577
678
487
364
428
757
371
705
837
211
801
926
297
694
103
410
630
12
678
207
195
750
224
839
987
985
438
130
95
429
985
842
415
758
821
741
883
956
701
866
659
586
298
410
910
492
420
109
615
401
917
900
185
212
731
374
201
873
878
465
991
995
956
220
134
974
796
955
339
846
804
843
380
570
748
189
900
738
581
917
583
378
857
857
115
325
753
423
647
259
165
752
615
198
438
517
127
602
632
54
891
428
108
257
280
349
92
184
471
684
491
758
336
648
662
172
855
33
889
272
240
380
964
73
460
547
651
832
89
177
874
702
515
671
886
280
427
53
200
412
59
478
637
69
133
739
530
674
638
923
481
669
364
660
668
469
796
689
370
658
273
592
24
573
482
752
167
424
273
505
947
981
916
757
498
572
831
257
311
654
432
375
663
422
764
635
932
558
63
621
968
971
908
549
585
987
283
516
577
265
129
833
100
147
805
733
981
928
164
200
612
985
729
146
535
475
456
693
809
804
341
170
459
289
848
98
657
291
16
322
750
16
261
323
277
401
850
728
839
525
517
450
100
944
600
983
55
994
839
309
194
191
239
527
432
328
541
506
595
204
292
260
113
6
508
606
556
51
269
285
721
408
438
771
791
18
980
778
552
695
913
728
597
732
727
796
931
614
428
23
80
233
571
179
492
766
825
397
376
671
457
427
659
331
102
75
606
673
676
373
746
432
854
673
608
187
394
701
970
668
365
39
870
900
580
826
663
651
77
309
146
819
723
139
687
598
640
285
979
508
270
813
453
489
786
42
4
9
441
674
442
317
896
651
486
394
402
7
983
439
236
479
397
738
607
392
335
992
23
497
880
642
609
589
31
888
584
277
901
11
898
295
589
474
431
170
65
208
923
775
987
241
349
449
519
19
124
450
88
915
127
652
155
460
195
123
914
423
492
421
299
570
357
297
117
589
361
311
716
409
99
701
828
375
136
897
108
479
408
808
888
809
395
789
395
733
828
638
520
412
328
714
197
233
904
217
356
16
778
796
684
934
249
513
212
289
823
553
396
691
962
741
582
630
435
314
733
690
796
709
184
684
548
630
267
411
245
620
444
204
687
531
374
995
439
959
774
49
358
170
617
696
173
524
887
389
48
777
143
853
667
848
520
192
980
585
487
777
975
101
223
766
413
553
784
128
93
237
177
642
266
995
38
31
574
924
777
632
387
471
908
907
622
787
944
702
495
582
953
113
384
96
183
661
469
881
755
948
862
826
411
375
518
69
362
988
80
969
136
314
87
635
271
173
322
635
362
703
253
13
39
939
176
727
761
704
291
919
381
774
900
111
841
997
354
885
617
207
577
976
849
605
278
377
430
158
488
790
210
576
153
535
55
19
260
397
196
349
51
859
10
602
807
786
343
199
449
531
535
908
610
722
155
276
494
190
283
481
295
233
374
307
10
384
956
396
233
964
54
188
659
126
659
803
406
322
75
109
326
338
291
542
900
255
961
201
356
289
446
12
802
242
435
919
205
773
44
579
997
647
167
393
816
812
690
154
709
686
617
343
360
986
486
636
752
530
82
947
713
29
278
196
940
915
508
854
903
345
688
879
312
538
934
654
596
909
532
629
575
790
930
904
793
993
691
901
402
71
610
462
833
925
546
545
499
340
281
503
117
937
585
352
338
616
127
355
363
22
863
690
315
456
174
891
973
950
924
588
701
367
200
894
669
176
212
738
287
803
793
794
512
25
894
251
974
445
17
903
624
920
201
111
695
555
406
368
172
500
403
415
294
3
633
211
192
643
282
794
210
255
952
211
511
54
849
141
942
370
471
459
195
192
103
586
166
33
75
421
268
296
38
76
964
268
311
266
960
852
218
837
277
496
787
413
828
908
456
623
610
809
767
961
657
244
621
436
114
398
586
690
224
378
626
678
85
989
644
654
848
112
59
224
275
567
912
538
444
694
209
693
658
366
219
475
666
40
694
829
827
112
194
338
762
169
470
310
95
932
526
631
231
271
458
84
228
893
177
523
492
173
64
271
220
195
584
74
299
48
684
91
906
144
31
910
503
687
543
439
486
819
174
976
861
868
324
794
212
16
57
228
653
71
457
743
123
86
531
893
780
343
728
422
104
723
748
562
624
926
226
98
552
301
39
729
601
464
35
136
124
715
528
598
162
953
385
155
802
770
416
47
771
127
340
936
817
653
435
756
513
872
26
275
861
9
37
671
727
215
542
962
885
103
722
241
20
488
325
92
371
187
435
282
912
189
687
292
692
681
609
686
590
360
545
570
795
679
169
659
244
9
141
687
887
534
299
447
818
485
744
602
654
583
342
435
469
20
285
622
939
532
11
572
784
366
850
251
374
871
417
198
265
312
836
787
117
887
748
620
70
316
286
186
883
608
101
933
614
379
258
667
825
614
489
875
214
743
321
796
291
176
217
202
691
522
102
468
783
643
165
195
848
474
197
821
638
509
851
472
138
310
815
751
752
746
752
209
624
210
869
605
721
346
477
536
290
372
892
541
438
893
710
794
612
767
823
861
522
23
56
53
688
408
890
108
983
443
939
61
374
713
631
11
898
432
393
351
715
519
391
280
345
949
339
765
988
391
264
525
898
408
810
678
423
129
977
431
457
997
494
370
625
1
524
71
590
96
4
955
553
932
139
887
570
728
638
765
943
939
593
886
933
193
209
431
842
613
578
399
144
920
514
366
756
503
505
102
902
753
630
952
314
241
214
770
124
344
407
863
603
681
383
793
580
826
74
530
677
92
885
972
79
184
156
985
482
222
953
229
153
853
716
689
327
751
572
993
207
91
939
421
4
596
326
936
267
602
495
447
440
873
27
202
693
254
227
274
91
890
588
995
46
864
833
975
502
582
62
764
575
316
359
943
556
335
59
349
43
337
382
261
769
14
443
453
728
504
443
31
814
214
919
765
479
593
815
763
97
178
41
479
424
914
928
176
450
899
103
929
371
32
453
822
633
267
516
636
759
410
538
277
138
239
226
956
563
330
88
468
536
608
825
794
297
226
496
610
620
350
451
645
188
954
594
76
542
460
445
463
558
191
711
874
29
994
774
194
695
440
995
426
731
826
532
612
820
263
928
838
154
643
554
110
875
28
209
314
606
127
135
290
361
234
65
499
265
604
669
538
106
601
481
610
430
362
786
646
231
735
788
252
698
695
602
265
90
208
937
146
761
364
177
496
499
712
683
960
39
665
849
414
319
553
458
27
70
372
207
882
932
828
169
845
554
422
277
987
94
216
821
429
589
758
904
379
116
605
234
285
465
585
369
240
64
937
208
962
652
484
6
228
344
224
7
786
263
891
214
279
97
664
882
531
547
132
721
852
137
172
414
294
969
975
647
184
611
906
131
140
954
158
210
68
279
843
699
736
593
728
262
353
93
208
633
669
430
198
661
130
922
612
355
347
371
438
631
53
875
641
847
783
690
452
416
262
165
863
743
155
684
136
657
124
652
366
726
758
162
349
947
396
480
303
730
616
704
687
637
769
98
35
35
429
66
843
68
482
450
428
781
560
731
322
805
388
916
349
301
366
612
905
94
330
953
261
839
815
253
125
723
812
572
680
972
277
24
882
143
211
679
774
691
390
428
130
324
709
469
254
154
951
372
96
476
742
943
399
66
192
572
246
955
221
38
805
560
768
738
278
514
441
104
936
188
911
60
722
249
904
152
589
169
797
931
823
51
776
90
400
946
544
528
926
534
660
386
819
865
34
661
296
250
183
682
555
243
7
375
946
90
30
401
985
635
795
309
624
789
477
359
947
122
455
158
790
769
425
340
165
119
618
734
885
861
353
830
983
393
943
898
945
116
351
492
57
510
661
196
544
605
902
553
517
880
228
146
538
206
412
771
291
23
971
211
119
112
600
691
108
439
659
684
586
153
460
851
375
570
832
328
486
627
476
426
406
562
724
943
243
940
207
274
24
635
318
354
732
896
984
900
594
466
685
243
373
521
555
957
255
534
20
752
289
166
498
192
172
899
142
474
104
274
902
791
383
218
527
394
80
52
906
975
993
471
456
380
858
581
799
180
850
922
909
509
717
314
919
181
247
870
935
725
657
90
988
934
804
168
621
582
537
239
909
552
705
47
45
329
909
221
881
838
388
933
729
913
677
752
630
138
729
249
760
52
880
827
492
17
721
225
192
559
856
350
498
670
324
262
424
844
170
320
936
250
501
597
544
643
602
740
88
300
633
21
368
358
87
456
669
759
707
614
371
293
67
946
460
846
411
194
633
732
230
986
976
872
495
307
194
415
247
963
590
463
65
699
883
556
861
704
770
660
541
974
144
306
335
21
372
809
992
153
383
213
315
98
930
984
244
740
792
566
449
446
273
437
492
768
576
559
253
969
413
732
826
16
518
519
72
704
628
95
48
220
268
324
685
353
91
25
63
338
836
535
732
114
682
200
337
449
219
944
972
966
215
370
223
353
140
662
274
67
829
527
314
839
29
589
738
442
13
74
690
703
230
882
990
716
451
723
521
860
270
714
95
853
316
59
272
472
204
413
964
560
340
58
347
301
491
700
158
66
483
138
993
773
48
867
863
767
580
373
248
245
28
837
28
853
462
947
113
173
259
793
527
258
68
555
500
705
898
834
921
861
13
92
253
599
282
739
24
666
299
369
95
470
245
35
972
26
817
299
207
963
487
873
33
48
663
634
304
146
348
117
411
970
575
816
714
938
969
907
589
985
491
128
464
37
450
594
554
575
737
793
755
149
346
743
423
280
324
87
323
669
553
138
774
295
527
531
462
255
845
757
328
285
235
562
927
938
61
380
717
755
482
699
680
886
228
951
302
373
543
603
688
693
678
216
457
451
160
949
668
969
606
41
996
726
196
985
53
28
634
208
874
428
622
582
694
253
985
37
216
102
213
849
178
853
295
330
356
95
263
140
204
817
416
349
989
475
760
369
440
992
494
832
744
681
640
408
20
487
531
751
319
99
330
94
903
128
316
882
121
271
757
227
499
347
79
153
62
606
80
226
457
736
880
542
148
796
333
333
313
693
511
270
667
704
826
90
816
36
730
656
454
518
142
662
643
240
31
98
357
362
843
564
450
568
987
593
789
983
610
381
774
610
131
606
378
857
732
524
897
709
543
559
152
106
607
874
578
587
511
946
817
362
519
644
490
532
872
782
295
634
45
586
417
16
70
105
358
676
728
777
860
210
532
976
800
103
935
943
479
324
335
904
801
257
531
616
194
82
174
628
930
753
991
432
755
747
227
180
75
107
140
69
128
421
117
702
133
743
431
27
36
639
533
577
361
518
406
40
284
726
818
383
381
335
684
780
433
702
726
594
705
563
675
863
569
804
286
307
610
225
856
315
413
321
813
862
642
835
28
165
763
698
636
287
864
826
789
933
608
407
253
231
408
79
342
603
4
607
158
204
520
838
961
58
412
516
135
881
636
471
273
827
412
153
788
563
126
804
872
15
174
855
769
450
720
802
768
219
187
326
519
696
604
972
491
220
338
90
637
906
175
625
852
589
51
292
131
336
641
193
816
1
788
829
348
886
808
312
845
780
113
980
852
476
120
344
456
220
300
22
245
800
789
878
221
940
74
24
400
356
510
609
661
602
270
608
316
924
679
938
140
687
606
69
543
566
381
652
450
217
329
695
340
932
248
961
383
930
691
534
279
247
492
888
905
942
695
106
545
923
136
567
979
212
147
471
927
859
916
894
923
164
885
494
279
718
303
531
233
705
883
961
253
805
300
588
867
304
373
14
731
994
425
679
346
689
481
998
761
270
691
593
859
990
478
105
329
157
721
312
72
134
855
184
321
344
114
339
952
215
625
558
669
165
976
315
919
81
30
219
25
274
181
148
126
105
97
29
784
320
917
634
872
923
709
367
420
706
425
422
573
713
335
891
902
733
155
329
518
351
150
164
521
426
571
708
379
259
643
378
45
721
296
970
318
719
496
364
640
922
207
57
642
880
170
926
518
919
646
948
91
574
965
112
630
964
72
977
125
486
541
863
236
405
322
968
266
578
34
769
745
531
544
481
75
27
973
220
946
521
404
531
407
534
371
221
875
203
871
107
611
411
730
422
340
463
531
34
835
498
674
481
879
646
157
39
301
916
970
852
34
195
744
333
687
154
804
582
768
721
361
539
194
923
25
915
363
284
307
380
810
252
988
312
49
660
897
185
754
824
936
286
777
128
396
702
228
58
395
816
312
604
324
366
747
928
261
419
33
303
353
492
439
654
432
888
364
203
776
775
838
54
410
104
723
796
952
427
145
109
428
820
429
339
705
644
916
39
356
780
52
138
321
542
510
803
876
5
49
97
991
501
234
221
588
439
581
270
344
252
636
314
775
371
644
649
865
850
327
296
916
733
751
221
337
811
559
71
71
120
286
38
83
458
93
800
276
565
469
299
953
49
688
943
852
851
762
25
305
901
877
11
556
484
107
128
268
430
709
317
764
506
724
133
877
457
159
679
485
475
797
276
379
6
443
30
420
159
698
735
234
704
157
349
669
789
690
94
175
507
752
985
106
335
721
121
585
771
321
17
730
528
384
618
878
360
148
752
176
12
232
358
571
314
328
775
302
726
961
363
430
572
204
581
219
238
683
667
410
845
864
63
372
21
250
460
533
561
914
991
730
8
268
637
281
454
996
553
627
360
132
499
161
705
682
780
53
14
715
627
71
799
125
858
987
148
801
770
156
521
582
769
584
86
211
283
708
556
792
524
356
380
801
709
785
498
837
975
394
816
840
98
708
411
253
502
706
709
314
206
804
233
295
917
106
108
315
344
833
132
990
867
730
483
655
841
629
356
952
391
109
769
976
973
503
123
432
580
115
88
526
875
283
231
166
523
915
824
556
309
432
57
518
844
398
555
474
271
28
657
153
979
523
796
942
270
746
913
264
877
535
105
36
585
266
96
55
693
476
124
663
129
716
764
547
599
680
302
788
794
781
897
600
833
180
590
827
47
222
717
699
89
799
274
273
321
3
572
679
345
228
370
702
631
443
577
929
636
265
789
291
843
419
468
304
44
701
92
78
527
616
929
378
354
1
598
907
950
654
736
109
560
608
735
525
96
337
462
963
552
377
182
147
510
449
966
109
774
112
461
941
598
198
640
299
927
55
991
7
716
488
662
380
842
706
833
3
589
991
824
109
517
545
270
580
734
829
791
570
180
273
946
890
427
416
10
551
35
382
35
581
745
598
620
281
618
380
977
850
464
655
391
897
383
622
531
360
867
855
311
921
676
792
358
733
600
262
780
451
711
963
541
567
681
553
526
667
688
644
890
469
483
237
712
400
717
79
789
209
283
594
478
354
775
756
671
781
895
824
684
342
486
131
160
149
610
812
468
647
882
567
433
466
23
55
737
369
376
992
703
240
617
713
721
182
262
267
974
858
357
789
858
438
352
647
250
852
241
352
701
822
198
794
831
980
707
742
331
938
936
461
337
683
131
403
171
590
849
843
107
798
281
602
539
643
531
185
952
898
230
534
891
308
158
559
162
796
830
810
949
352
484
463
175
737
757
788
229
521
584
984
117
66
988
849
63
983
975
781
804
234
542
388
447
319
290
394
771
767
369
906
250
543
424
875
304
506
759
965
572
717
968
691
676
971
332
893
857
540
335
387
257
585
978
278
624
209
232
296
432
269
112
564
313
876
493
680
444
938
858
890
1
124
764
287
588
408
926
908
878
16
506
491
783
320
169
113
176
986
429
428
876
40
327
348
432
86
545
518
731
804
884
569
538
651
108
693
182
418
798
653
482
717
274
714
640
513
442
341
664
71
25
569
735
858
540
111
232
836
171
474
633
332
544
590
420
868
205
533
16
376
733
591
107
95
920
456
926
545
399
441
378
70
880
274
354
781
633
409
683
268
370
307
637
500
510
10
816
101
748
377
42
553
518
163
118
714
596
172
771
416
572
291
376
828
32
283
878
232
274
25
964
447
566
965
325
610
713
782
659
585
570
493
758
602
135
150
292
606
128
160
531
780
122
701
715
574
276
510
562
549
359
699
524
952
61
288
585
446
432
23
774
546
855
733
665
734
248
468
416
54
494
890
975
691
989
219
847
258
604
22
0
68
268
589
361
68
416
947
864
84
388
457
862
66
233
831
894
91
53
298
897
291
504
875
966
364
106
485
841
229
618
344
481
387
874
615
514
881
1
45
540
32
724
701
618
67
564
9
21
638
483
39
47
637
185
37
20
963
739
407
676
109
739
694
200
727
82
389
943
928
125
75
6
255
125
285
518
265
809
618
590
417
586
582
4
276
778
114
510
769
889
33
378
46
460
849
482
528
456
184
715
4
802
758
71
322
555
547
616
958
170
185
353
347
191
846
252
449
633
100
774
295
359
732
200
326
397
525
824
349
605
624
595
342
374
85
0
329
496
988
577
207
946
356
838
674
519
955
48
20
529
794
107
872
34
450
368
776
817
251
687
717
181
196
342
170
283
820
363
35
733
789
588
730
421
591
635
332
266
631
778
108
634
114
958
265
663
226
235
104
943
178
852
138
125
743
270
801
521
574
511
299
170
259
493
761
64
368
964
282
867
870
952
741
262
734
236
425
510
394
902
362
978
918
84
12
711
159
372
1
121
689
445
498
584
477
575
497
700
951
118
282
736
340
694
864
575
837
935
44
508
670
83
304
612
273
675
129
800
581
745
541
841
722
37
207
789
380
320
322
921
181
7
546
99
321
149
926
846
636
510
53
216
848
978
587
115
637
788
454
94
413
158
516
740
342
237
984
482
945
435
293
653
998
1
108
241
258
396
985
754
974
378
803
822
481
230
202
55
394
615
455
509
693
283
474
665
214
508
436
693
903
399
209
453
757
530
488
347
777
391
573
145
378
436
476
864
65
133
332
381
367
341
679
682
304
173
333
840
100
498
964
577
582
117
622
134
735
129
298
670
268
778
631
632
570
975
50
943
262
676
488
703
100
816
479
106
486
942
584
419
200
670
759
18
265
478
507
719
458
492
76
397
580
228
680
222
712
186
55
520
332
680
519
615
464
969
423
848
238
971
235
923
55
947
94
131
844
810
480
534
239
927
755
416
470
369
2
691
46
149
289
167
563
771
205
81
56
986
628
831
139
638
646
21
102
205
115
184
597
215
669
689
580
232
241
74
101
339
358
408
712
634
715
570
910
759
482
465
234
930
318
494
590
198
640
965
974
946
810
977
342
72
816
423
163
324
64
437
190
29
918
26
996
771
350
342
182
76
569
987
857
399
505
157
44
657
634
862
404
88
511
836
355
829
180
100
427
324
119
312
210
215
484
69
53
191
998
16
584
544
696
848
13
699
932
651
949
906
49
595
416
649
879
539
136
238
617
922
287
674
910
97
256
585
639
956
300
341
445
110
58
155
576
318
244
411
909
56
370
722
780
415
114
431
733
215
943
659
872
350
158
380
639
878
501
893
798
415
180
578
601
298
33
304
548
33
834
795
887
531
88
137
317
935
449
684
751
645
388
701
977
227
357
138
294
738
488
47
887
416
842
930
967
510
41
271
933
831
706
154
288
716
168
690
866
51
615
584
542
556
694
654
971
212
271
208
261
149
721
836
659
456
288
605
191
598
773
12
483
513
15
120
164
183
778
900
150
59
150
300
27
515
390
98
354
494
622
445
239
780
446
40
279
539
880
185
865
179
386
855
514
722
809
423
692
910
845
975
758
421
966
642
182
607
632
867
404
415
582
261
635
734
444
350
135
312
43
69
551
695
854
233
869
738
640
350
645
857
365
956
68
804
956
739
492
334
701
728
8
595
552
553
404
124
125
236
606
17
29
757
189
518
9
707
56
300
107
868
508
266
444
74
216
819
187
965
307
560
946
673
582
508
586
916
297
885
811
959
821
202
324
711
206
868
936
237
997
754
967
810
276
896
0
421
642
297
454
484
865
194
609
502
224
563
965
524
525
655
649
721
782
437
444
947
178
851
872
481
837
994
430
588
988
710
484
398
476
450
777
176
786
729
388
258
359
754
672
32
575
675
516
71
771
286
794
35
939
669
37
265
720
117
88
603
365
622
374
301
841
662
32
842
523
602
994
426
9
678
966
56
234
573
659
81
327
517
598
227
800
532
539
296
370
663
839
730
555
712
417
491
934
340
850
252
495
120
349
858
790
225
135
973
611
762
369
839
102
158
669
565
600
539
192
85
580
688
134
181
272
101
73
169
951
664
826
317
506
278
230
354
956
285
903
170
236
332
97
317
729
333
222
825
394
313
757
80
660
30
320
150
150
111
18
732
48
740
657
217
18
608
313
958
493
967
372
49
673
840
86
350
839
216
985
583
14
521
994
596
733
917
496
423
927
211
314
525
141
481
74
360
297
805
952
931
280
888
9
896
442
72
673
500
990
585
135
84
636
200
593
580
702
74
2
328
305
408
858
288
92
535
792
913
799
852
484
241
252
410
506
72
985
342
267
613
901
375
724
472
813
268
602
80
158
553
242
42
449
475
800
171
429
761
211
428
143
405
864
708
568
935
380
388
9
970
395
355
540
681
301
862
947
394
119
413
117
339
517
956
265
619
617
477
934
999
601
760
793
871
642
498
808
684
693
374
226
284
216
58
801
753
642
881
603
246
555
427
687
742
4
488
440
722
902
688
681
206
754
462
133
148
78
646
794
103
947
995
726
397
212
896
908
919
879
737
955
298
735
216
432
449
611
283
376
502
749
630
62
887
532
640
876
953
535
663
437
252
956
32
895
91
775
884
367
911
167
733
988
499
926
453
802
92
665
485
724
90
665
73
741
348
2
784
921
945
215
783
71
477
528
574
877
491
622
418
823
565
736
6
56
703
529
491
139
454
383
236
971
177
499
713
44
762
268
974
477
282
362
196
135
718
489
560
474
153
836
813
136
329
373
718
56
851
968
837
622
486
340
290
835
193
474
540
185
427
480
691
821
429
240
154
418
464
100
473
259
913
325
764
228
259
268
92
957
199
807
831
580
217
605
903
270
706
750
25
223
661
37
101
234
579
404
458
393
66
569
473
592
1
605
512
443
380
694
602
295
127
252
516
822
193
45
564
373
8
787
747
962
195
233
976
150
251
648
192
12
595
286
272
201
460
347
341
618
264
648
950
816
794
32
428
668
216
333
170
631
289
169
525
123
964
214
716
594
337
775
336
63
896
108
648
155
814
659
479
140
351
997
729
317
697
165
892
491
152
6
934
675
631
65
78
893
959
494
49
948
415
253
970
807
124
839
367
144
66
8
730
959
953
366
360
967
566
605
256
583
259
496
414
466
434
38
970
204
785
417
900
940
498
507
339
773
337
494
160
203
24
932
126
110
794
601
520
772
891
888
878
18
497
724
616
346
335
425
639
689
787
19
379
204
499
738
831
511
269
742
61
981
297
251
809
805
153
102
526
578
439
682
290
214
912
669
403
638
101
469
797
637
885
22
264
514
56
104
938
601
223
589
545
965
299
845
743
199
268
488
792
839
637
630
13
571
752
667
937
236
686
66
253
378
924
841
310
76
457
287
742
78
278
160
589
158
987
201
427
554
592
55
475
118
197
722
787
255
707
205
29
378
941
109
205
394
300
300
776
88
540
424
204
748
986
353
806
204
872
603
559
904
839
580
388
692
522
379
389
942
915
173
298
390
220
877
949
197
238
47
802
660
759
425
83
19
832
659
577
299
410
641
571
731
110
581
276
968
621
271
489
882
156
162
355
969
306
419
718
782
267
317
379
898
80
790
781
903
283
215
16
328
131
336
571
646
322
329
94
305
426
5
561
302
457
636
168
492
0
332
990
17
790
647
18
243
216
80
251
599
269
910
432
701
996
957
547
741
940
653
968
68
904
277
267
912
729
846
365
398
61
457
806
497
106
976
949
316
599
871
340
598
943
671
796
68
195
897
329
958
462
408
540
686
626
431
476
72
392
345
591
523
475
566
558
60
564
164
149
491
217
550
464
488
56
764
950
192
999
742
307
223
449
383
836
605
686
886
651
39
413
465
496
57
469
71
653
523
911
326
117
429
631
61
649
215
990
361
496
951
901
858
429
206
709
105
784
868
622
959
272
337
61
652
236
535
225
642
610
449
933
873
847
923
254
696
149
536
828
99
930
447
787
492
91
270
458
234
412
406
996
206
984
646
484
332
459
49
65
968
72
905
109
953
570
567
381
935
703
591
210
295
832
995
995
505
470
229
624
26
80
240
994
905
722
196
235
551
704
268
265
673
414
390
237
967
395
466
638
942
985
244
949
80
499
78
42
162
938
726
147
520
146
457
422
95
788
30
774
375
541
114
750
558
873
345
501
899
780
253
358
335
142
133
422
178
674
314
255
240
481
831
241
960
643
100
116
247
165
655
715
648
234
141
642
209
425
933
866
352
297
121
879
240
338
557
979
542
260
425
943
847
272
830
14
740
776
461
536
118
708
454
758
281
441
64
976
897
462
429
541
97
594
615
522
634
620
377
436
594
827
781
102
553
2
916
817
194
295
165
660
291
958
941
380
202
750
967
444
598
575
917
435
617
692
31
709
163
320
891
692
470
391
505
389
437
923
747
927
568
427
689
718
519
564
327
278
744
546
491
642
616
525
767
186
734
143
618
544
625
618
711
140
232
89
439
910
102
190
4
648
829
360
234
242
893
711
76
926
416
892
258
208
926
669
481
233
634
287
981
185
202
325
339
936
218
536
721
989
807
434
701
457
793
387
676
751
600
288
487
62
307
912
567
531
691
65
329
170
567
997
808
538
383
109
24
31
860
295
446
737
452
971
221
474
906
900
658
812
161
914
141
430
714
3
773
877
640
195
846
481
190
680
975
265
267
631
319
488
887
616
992
471
402
814
266
635
946
506
390
862
78
766
591
117
911
927
148
255
872
690
517
400
544
507
96
437
120
636
436
647
18
26
423
271
531
675
772
503
124
331
994
74
577
736
463
171
231
819
356
458
751
699
435
775
414
483
657
212
123
195
705
322
881
876
209
299
420
757
874
842
834
159
213
234
668
84
84
172
50
397
247
986
170
495
586
146
223
0
814
205
997
393
697
320
537
183
90
608
986
75
128
558
289
425
497
752
529
898
554
751
60
764
962
630
369
101
783
748
460
174
365
110
692
669
644
367
155
236
107
757
629
124
554
846
716
571
377
797
149
586
324
498
961
857
375
6
645
743
214
611
330
6
427
818
100
621
467
542
132
666
827
363
433
606
157
640
392
934
508
897
960
989
927
485
6
865
954
712
428
442
603
522
97
939
304
445
948
908
313
441
134
899
611
689
8
757
478
313
83
940
576
728
209
433
706
187
150
209
64
21
553
390
463
602
430
993
548
530
353
757
932
532
769
451
338
873
629
176
630
697
97
11
861
644
758
423
433
852
203
759
57
490
976
670
36
895
708
680
882
404
871
151
702
450
407
886
551
202
177
588
743
409
505
681
732
497
910
686
709
728
202
967
955
611
982
930
478
165
142
474
866
364
782
322
901
26
267
586
28
919
621
30
186
843
552
217
840
289
239
296
744
29
926
546
240
132
621
371
959
568
779
595
985
490
14
411
22
766
446
178
335
211
231
712
768
841
722
74
862
7
578
350
283
84
868
381
321
138
955
578
89
350
164
576
734
202
839
430
577
611
877
645
34
815
158
734
339
203
829
14
647
664
373
955
178
758
320
157
430
356
701
445
339
391
799
419
692
172
46
324
942
820
151
318
575
244
938
777
724
553
261
488
89
688
666
608
234
940
584
378
91
701
170
761
68
410
490
604
852
996
698
445
959
676
605
43
403
288
249
764
636
333
121
833
544
974
894
826
966
887
455
323
394
747
513
175
69
688
626
609
149
999
749
823
756
740
313
363
941
913
213
492
509
39
596
470
160
798
288
238
977
71
178
243
527
863
273
210
955
327
747
350
550
201
933
349
361
173
914
164
750
83
188
198
947
825
809
459
451
751
964
995
845
21
561
834
625
543
119
13
828
608
374
105
39
225
634
831
370
998
781
163
378
157
6
812
186
387
408
891
486
588
81
140
835
665
514
792
143
496
295
163
96
992
9
948
282
610
959
364
955
313
996
216
770
698
356
292
152
356
933
363
897
297
934
929
94
34
501
935
203
131
620
814
495
183
202
222
101
942
91
623
425
456
864
545
798
199
101
619
539
177
483
471
104
676
144
818
986
893
160
406
446
959
215
591
943
512
909
583
548
680
16
707
636
261
774
521
611
532
876
984
856
930
773
560
973
724
426
526
720
273
425
187
686
333
898
388
806
700
163
436
178
646
538
509
698
48
870
380
176
399
829
802
978
348
793
590
319
110
436
670
850
85
261
71
793
883
271
339
50
824
475
212
427
509
545
618
391
94
330
914
293
810
566
220
645
651
442
614
607
316
767
411
241
65
143
173
50
244
903
954
314
533
73
796
254
710
838
413
999
289
918
824
435
894
842
650
209
208
840
915
456
270
923
927
805
740
376
477
832
742
766
167
992
348
923
779
607
956
17
618
234
759
959
559
203
545
438
426
62
99
190
464
378
291
869
348
303
941
133
725
55
586
980
823
535
896
227
110
475
372
677
481
688
954
154
680
859
695
520
784
861
905
343
720
989
222
486
795
257
864
893
372
66
390
103
436
485
900
624
631
305
609
560
715
509
847
903
195
283
661
639
449
662
601
992
710
73
498
420
232
982
496
721
969
969
35
713
480
529
168
857
906
21
713
163
156
969
946
183
887
535
718
515
10
228
766
109
701
437
120
377
176
869
45
613
676
550
813
651
705
438
209
667
925
196
688
809
970
659
276
900
126
365
919
99
937
373
713
997
339
778
952
241
131
64
507
883
331
397
346
742
301
784
459
641
174
993
426
361
151
304
817
912
273
722
279
0
422
528
378
149
977
650
840
265
363
939
200
472
990
923
242
385
703
931
575
166
400
313
774
850
72
564
518
101
543
559
739
917
232
116
262
150
120
382
240
256
565
806
758
554
131
789
624
957
867
867
254
460
777
846
996
767
992
212
946
105
955
983
816
215
900
631
614
852
795
154
4
252
754
794
704
615
137
687
579
938
838
322
218
276
608
717
449
46
231
511
914
698
551
954
278
412
179
733
187
229
109
282
0
928
341
791
387
379
475
490
322
484
978
822
407
640
115
931
575
134
283
135
597
495
588
837
246
693
575
553
840
168
824
467
114
422
744
793
291
757
564
879
306
563
459
930
111
567
241
609
157
747
940
601
949
900
269
431
197
456
482
59
737
342
198
615
847
182
350
475
154
367
63
727
495
784
514
592
611
238
33
823
210
634
588
147
4
730
202
375
765
932
865
496
964
775
6
972
803
127
680
424
253
75
420
434
919
684
621
241
166
746
493
197
692
970
527
806
742
858
720
911
333
571
143
110
856
827
940
331
883
494
731
455
220
4
963
802
869
736
171
997
791
151
484
323
839
295
348
582
979
467
155
676
668
480
838
299
295
571
168
76
105
118
338
266
580
995
884
204
423
992
857
339
746
931
430
676
720
535
111
364
160
382
873
646
66
821
339
540
447
883
771
737
364
817
948
699
621
992
153
905
305
528
671
387
187
79
44
908
853
652
935
400
626
514
88
15
49
123
483
938
587
759
917
670
251
962
93
567
482
793
1
453
658
699
364
952
139
475
951
92
29
713
774
576
355
236
219
633
579
419
547
584
521
699
296
756
65
348
945
256
975
8
149
10
868
117
832
819
491
413
422
728
993
821
39
82
819
240
973
192
407
954
338
611
404
593
436
221
363
448
535
104
970
219
210
500
858
454
663
452
871
590
296
674
835
490
463
210
686
216
826
797
222
408
306
628
151
952
214
246
899
734
210
160
882
944
104
510
235
711
824
875
725
436
482
244
990
990
387
748
408
352
363
168
871
3
637
242
626
464
507
790
146
420
880
226
667
377
414
449
319
279
246
851
486
267
73
870
748
429
209
701
196
365
518
900
920
389
483
9
302
796
609
165
459
764
25
36
366
260
907
790
601
422
897
108
520
900
653
213
42
584
604
584
717
654
972
480
648
132
108
895
455
25
509
152
940
71
597
315
926
231
514
122
39
814
461
575
295
836
572
74
34
203
52
163
56
227
717
701
380
658
776
465
528
679
766
648
419
487
374
957
108
990
417
674
493
61
733
112
139
326
153
805
589
543
650
421
417
182
807
344
270
403
972
9
361
866
868
293
548
950
498
472
166
344
44
879
469
882
465
39
811
90
563
140
438
37
749
542
185
234
906
47
623
156
700
537
25
510
961
302
688
94
475
134
474
788
667
226
46
625
372
595
842
580
875
963
493
196
21
113
753
0
699
316
245
315
939
646
117
456
14
21
695
826
688
701
387
961
288
334
365
769
773
734
91
637
553
106
818
474
129
520
52
696
575
701
449
828
722
434
751
867
571
53
683
982
617
51
645
183
642
311
256
314
57
875
40
17
540
62
331
863
954
906
168
846
717
857
281
502
578
31
147
450
297
266
259
524
78
897
272
593
439
75
136
740
178
804
545
117
433
962
349
564
349
86
679
264
201
648
538
333
640
859
971
515
817
915
315
322
509
729
923
797
935
737
429
415
866
147
545
743
896
485
50
855
738
603
47
679
639
665
592
106
690
847
505
704
262
350
907
113
332
749
256
835
988
816
120
264
561
305
593
121
125
186
470
862
462
369
14
353
965
29
235
768
330
528
454
867
562
439
0
869
204
314
461
791
642
476
686
994
850
328
514
276
108
559
539
160
725
558
454
772
462
11
66
78
571
48
978
588
516
697
198
603
754
989
675
594
80
681
488
198
77
601
779
971
4
221
851
527
200
538
241
38
572
808
92
755
193
711
470
262
727
571
81
918
844
220
209
265
846
939
997
444
424
697
155
967
791
21
117
882
416
651
590
905
607
338
324
469
424
412
365
586
573
171
993
235
67
244
417
698
777
391
700
722
58
610
244
263
557
332
110
480
872
320
291
402
743
15
623
462
227
758
406
482
496
677
56
972
56
964
608
425
587
594
541
994
20
137
782
337
440
605
615
95
250
640
703
369
270
302
888
128
693
756
134
288
449
873
965
237
408
168
353
998
594
26
888
408
7
987
444
842
879
604
372
383
726
931
43
738
960
48
853
111
465
403
402
405
254
632
327
811
290
521
484
86
72
786
917
162
250
57
670
275
457
251
55
742
52
495
377
54
106
604
698
205
806
227
651
49
670
530
253
267
899
610
937
362
23
515
58
199
211
777
623
524
889
884
489
992
895
922
566
559
4
372
732
735
827
68
22
327
751
673
206
619
759
734
235
128
554
893
566
594
12
600
887
979
157
428
838
393
842
383
371
49
185
889
855
801
473
239
665
398
766
610
139
342
454
32
383
23
585
205
0
127
816
781
842
941
463
818
527
465
501
584
498
443
584
749
972
891
292
716
23
217
529
897
983
847
428
957
586
138
25
882
437
485
164
826
773
331
392
874
410
548
52
616
493
918
678
153
53
978
558
296
138
799
434
378
332
265
547
721
555
684
861
521
946
181
32
15
293
156
828
46
233
937
73
436
224
891
409
939
512
161
200
884
583
730
984
1
701
815
28
182
583
847
418
879
202
534
246
655
425
967
618
862
210
179
417
536
437
482
484
170
70
668
340
19
190
717
849
963
62
12
575
327
407
511
684
389
839
776
917
384
346
601
146
327
878
302
366
121
653
694
834
148
37
940
392
835
107
273
551
958
358
342
939
554
765
645
948
787
375
538
618
850
167
711
202
160
798
468
374
708
617
485
923
330
374
728
236
794
588
409
608
731
837
342
280
343
573
817
376
449
995
490
778
53
607
164
62
890
402
263
789
431
455
928
512
602
165
986
540
920
108
399
790
897
737
440
645
75
622
332
839
190
708
914
790
771
16
863
80
770
663
613
744
245
639
907
881
715
586
84
739
370
678
861
795
932
377
89
256
928
369
434
560
654
944
818
965
247
322
399
315
85
263
710
477
747
220
344
730
460
286
875
685
245
502
128
648
445
945
137
586
304
74
258
486
791
499
737
814
23
487
626
240
545
420
723
492
830
765
562
46
810
568
368
736
125
418
232
457
911
643
696
188
482
734
255
815
65
762
580
590
652
627
694
325
232
302
802
435
101
679
336
455
431
832
695
796
512
48
596
562
687
195
20
708
121
638
200
86
193
302
942
504
796
357
103
260
709
171
7
335
51
830
489
939
178
597
571
654
347
920
384
556
261
115
370
71
92
931
222
331
208
372
567
716
309
446
254
252
717
1
807
462
666
766
439
427
382
788
473
800
872
993
474
360
509
393
256
316
625
38
197
474
384
59
846
780
855
484
274
273
592
490
636
963
72
609
685
134
137
748
322
237
865
945
45
406
341
625
751
994
543
891
348
902
917
639
599
170
360
477
679
131
497
571
796
123
643
188
466
168
401
498
898
307
346
586
283
972
208
910
18
304
480
439
405
288
683
46
922
97
105
957
871
415
614
799
724
925
326
961
940
445
554
571
637
757
459
363
709
446
406
90
974
87
980
673
466
543
643
397
381
180
965
761
518
514
146
272
906
741
806
891
733
691
781
463
489
977
471
839
228
148
429
475
703
243
962
929
177
844
696
813
89
496
209
359
875
185
2
140
836
989
198
174
960
418
941
968
265
153
998
973
310
163
984
962
301
442
385
605
666
548
438
242
634
576
491
404
107
716
890
831
370
125
999
774
317
290
516
686
246
790
851
562
631
449
592
984
206
945
372
11
60
95
672
277
576
309
727
661
201
208
147
29
904
979
659
139
244
307
668
258
644
222
951
777
364
737
752
664
666
197
95
108
88
236
858
865
638
269
51
296
604
146
393
719
370
420
600
724
580
515
85
621
533
741
772
181
550
675
555
661
762
645
210
978
288
248
314
755
736
540
299
897
598
911
263
982
49
261
887
673
435
446
943
475
228
913
292
479
608
420
37
878
202
965
977
633
266
109
16
41
156
73
151
364
172
102
222
345
976
930
75
214
563
223
474
960
398
526
938
348
332
535
120
246
204
533
908
694
872
763
919
121
121
888
717
216
421
468
555
175
945
607
758
445
187
657
403
57
498
933
437
113
544
348
316
172
465
422
540
85
884
401
738
573
950
278
993
984
514
220
317
492
629
521
977
939
781
390
482
548
528
561
64
647
566
310
594
930
331
343
719
215
420
735
869
833
860
915
653
355
67
777
581
772
622
519
45
469
336
217
927
642
903
330
711
404
35
439
52
694
52
765
542
992
339
542
587
835
792
444
264
851
813
215
408
62
960
870
560
559
413
269
535
307
651
539
746
717
405
319
906
13
809
622
146
237
862
840
233
750
846
122
458
82
794
50
441
387
16
198
424
217
133
132
828
203
920
415
550
357
507
252
884
545
436
82
458
507
292
858
579
612
693
517
331
9
737
413
489
485
853
695
300
345
671
961
969
342
803
429
680
245
841
503
519
22
157
484
282
380
125
822
204
825
319
303
326
742
1
309
636
297
529
273
300
982
220
779
330
783
868
179
316
586
90
562
829
623
523
150
205
948
455
740
607
77
183
737
946
791
314
128
906
153
153
877
143
850
481
590
111
739
266
339
662
317
228
61
555
382
823
385
947
158
437
981
179
339
82
527
526
740
387
629
989
557
274
596
262
549
895
759
573
748
686
309
518
920
415
960
748
684
529
72
615
471
364
341
412
586
819
31
649
957
205
784
62
106
321
44
298
482
155
472
69
853
252
953
536
922
78
143
185
953
879
904
122
135
35
480
959
698
825
522
116
203
37
820
850
889
634
222
994
179
518
573
312
141
355
89
861
672
866
861
171
530
551
45
873
486
185
692
785
485
886
945
976
110
871
625
454
680
776
817
557
410
340
833
167
946
17
98
709
736
801
139
588
66
303
617
870
724
91
480
303
898
143
905
787
42
886
341
928
770
927
682
321
644
612
49
739
672
914
136
423
574
399
580
944
806
122
607
629
6
226
997
773
410
99
183
790
933
179
624
869
690
270
524
185
270
346
539
33
199
398
791
967
980
105
950
209
314
114
768
786
219
121
955
990
582
162
776
777
460
99
456
418
651
793
653
732
336
961
702
210
890
469
941
246
51
208
505
130
651
440
908
413
50
475
935
254
577
132
499
7
698
890
372
388
746
256
606
661
636
432
632
917
465
320
34
567
272
752
54
780
516
747
785
91
769
165
666
162
21
480
748
663
440
851
532
957
590
216
809
135
860
594
283
774
763
137
101
36
788
161
588
762
252
859
210
342
902
424
530
698
993
765
813
388
571
638
910
363
157
996
439
431
984
931
976
475
726
456
460
219
239
656
483
837
332
20
58
524
299
893
462
966
402
722
385
853
439
209
808
164
333
728
945
510
611
689
802
155
270
894
448
57
812
891
577
369
500
478
715
370
546
570
486
129
834
587
703
196
497
15
926
67
973
846
975
36
825
923
759
130
848
130
860
878
937
485
31
319
177
235
621
8
449
540
405
72
195
61
608
767
607
896
433
784
430
833
84
440
966
260
689
755
563
914
101
337
926
300
642
121
210
517
531
293
35
888
679
380
708
137
24
353
449
409
915
964
582
253
984
944
529
897
494
449
76
385
767
711
409
827
520
799
458
409
461
513
593
685
165
374
554
335
516
976
667
645
295
709
23
810
588
235
889
314
409
487
578
440
933
25
568
408
60
156
171
867
271
978
686
162
396
430
393
901
229
971
612
874
939
932
125
963
52
580
401
537
129
63
440
159
949
623
277
234
754
475
69
686
631
530
433
243
507
564
365
378
865
882
503
831
781
884
316
763
853
529
880
755
434
600
142
841
762
903
592
853
184
235
649
385
82
170
586
709
67
615
807
499
811
495
647
752
270
782
181
687
263
789
984
20
464
558
697
294
297
705
536
850
868
84
353
197
705
827
192
48
330
681
525
636
42
204
481
118
308
45
984
841
581
261
918
948
360
359
439
529
747
695
383
258
580
939
444
809
689
500
633
204
663
690
784
635
850
564
61
425
303
526
411
624
635
349
194
225
581
871
47
809
884
232
642
999
188
125
816
512
290
371
474
733
912
178
879
926
337
382
27
715
427
466
788
812
978
668
946
655
709
941
410
903
75
923
107
683
624
891
308
752
309
384
207
172
80
952
450
631
5
625
800
795
483
317
674
142
968
874
553
591
535
207
923
458
4
447
346
90
991
321
921
111
418
327
416
990
19
282
36
606
176
231
889
84
887
894
738
868
397
514
882
531
237
675
546
556
237
678
552
208
395
958
981
727
769
539
217
628
129
696
962
165
410
487
749
484
290
658
976
771
999
292
759
501
34
737
397
568
125
107
535
278
160
238
299
593
56
504
713
575
304
132
104
396
437
939
79
177
260
688
405
674
135
182
939
544
313
222
191
887
809
338
685
185
185
192
137
380
572
540
841
144
655
263
499
427
874
51
574
370
768
626
497
383
314
915
681
891
459
393
298
486
906
92
776
501
973
297
178
86
858
915
81
352
970
543
518
519
559
699
646
622
731
936
0
621
904
917
885
621
522
331
18
464
499
613
429
646
5
831
980
596
888
565
502
690
475
678
844
702
976
52
943
91
523
772
305
132
309
466
193
935
176
310
827
357
791
291
318
986
275
676
636
55
872
942
865
44
261
247
364
182
491
946
11
972
478
292
423
439
482
915
271
771
709
291
658
978
227
850
87
919
109
583
909
560
404
409
304
377
284
592
200
598
54
659
154
991
354
800
239
63
222
79
7
375
853
883
229
421
636
588
835
851
4
44
58
569
745
400
785
280
118
221
902
482
903
133
125
261
621
798
75
265
925
367
690
193
61
161
812
485
282
456
860
609
778
217
996
166
706
913
422
659
110
119
556
370
695
851
778
469
462
710
377
930
505
586
777
527
165
290
63
445
277
850
380
522
762
813
311
358
840
422
81
882
708
221
95
863
36
133
521
827
363
607
689
89
157
733
806
21
162
749
897
674
957
16
128
974
964
433
519
616
925
874
553
359
882
472
753
166
899
516
346
881
945
620
686
382
549
775
404
619
172
238
672
202
114
894
910
933
585
775
334
376
510
0
148
875
750
363
564
715
211
393
883
996
139
249
176
505
525
447
451
350
46
238
948
281
693
617
647
532
574
508
339
96
982
606
164
499
533
322
434
654
135
66
56
599
706
562
381
32
971
844
457
667
606
557
89
62
397
655
568
257
710
761
770
969
143
246
355
892
399
551
120
760
41
554
940
18
333
800
956
781
562
558
333
210
662
999
789
775
316
818
110
971
921
669
618
430
123
989
399
357
128
730
554
979
147
835
110
717
449
855
288
723
374
695
244
617
162
886
61
982
758
765
953
834
6
115
586
198
434
242
538
149
37
922
189
23
554
380
683
554
306
81
181
564
976
208
283
630
582
841
343
795
163
747
35
407
783
833
364
765
187
785
938
859
493
844
389
995
702
718
49
840
609
73
718
332
202
270
809
755
827
923
341
488
703
537
431
836
776
255
882
853
96
35
324
846
542
194
695
758
456
210
18
910
171
674
507
114
545
909
584
513
18
205
778
481
230
882
3
469
698
180
696
65
601
461
301
270
472
411
28
515
114
705
29
837
230
914
510
523
717
452
522
57
176
264
339
101
655
667
455
728
270
275
747
927
916
21
942
446
179
14
429
355
911
53
317
792
625
966
119
997
673
771
297
96
114
170
495
21
369
448
455
350
287
882
23
245
452
593
376
768
661
972
826
228
593
500
805
687
137
717
702
250
255
271
131
949
536
379
151
105
867
306
687
809
584
416
741
243
175
397
163
983
847
759
820
798
475
514
5
837
371
250
816
719
533
487
689
541
556
515
1
282
118
977
304
100
891
927
519
303
165
954
237
24
764
317
183
151
153
879
491
64
754
52
821
894
420
542
378
733
43
584
569
789
809
39
193
373
900
381
533
108
922
137
168
566
854
877
927
825
862
553
191
573
728
25
473
251
816
182
840
740
15
413
784
653
490
720
213
944
567
195
924
422
190
469
462
183
944
229
933
70
863
551
826
722
568
528
29
682
379
950
831
14
337
91
939
833
332
881
365
676
908
893
487
309
923
472
115
953
979
444
244
823
692
348
104
290
101
625
672
583
382
859
355
337
512
873
633
593
842
290
226
912
554
14
552
217
994
164
741
949
555
894
764
543
785
217
367
464
824
537
482
121
81
546
967
64
51
405
79
559
486
427
267
89
775
344
171
424
336
785
928
208
996
882
632
11
465
732
656
799
111
349
857
978
161
558
306
148
656
739
783
391
533
299
13
279
38
62
538
916
463
689
169
872
157
602
132
181
387
289
332
661
42
924
118
664
43
210
910
214
819
857
959
568
646
782
695
43
696
277
221
246
934
275
903
463
348
229
382
715
3
239
15
395
558
554
962
893
897
778
328
401
842
830
657
985
738
908
114
349
635
108
812
805
682
31
828
404
982
961
689
303
827
893
965
161
805
464
571
696
890
818
939
931
295
366
865
84
414
52
337
518
849
898
262
69
578
472
130
77
732
672
480
25
56
123
190
17
121
253
787
21
990
767
714
208
282
679
258
764
598
921
412
740
289
157
108
303
676
575
434
141
987
258
210
322
355
717
864
202
227
38
798
814
285
245
670
747
983
562
407
984
751
619
171
2
749
532
704
441
573
661
321
974
913
684
843
12
303
460
537
750
640
401
921
148
332
219
230
309
665
735
510
648
846
532
259
622
648
656
350
820
234
672
566
217
874
139
996
819
974
496
563
472
995
675
251
51
899
375
666
699
534
837
860
91
606
461
40
560
725
695
845
341
359
948
863
351
146
91
478
667
216
697
678
165
288
591
731
791
773
76
421
858
50
91
519
18
293
890
234
173
122
847
973
451
478
740
706
346
997
702
193
408
362
604
193
134
22
6
898
939
846
792
411
922
710
794
460
391
384
903
228
825
605
773
95
930
566
686
568
150
364
533
879
820
433
766
882
12
934
125
153
250
125
298
626
269
127
670
826
189
997
490
334
229
962
442
662
953
91
454
799
70
286
615
913
392
60
579
640
34
27
543
55
923
308
679
814
130
635
369
815
902
680
744
624
509
775
791
234
38
798
889
142
54
204
287
799
894
310
331
825
685
686
135
43
547
762
267
468
668
145
250
815
513
760
988
743
155
55
470
372
586
813
860
73
200
171
107
812
332
588
22
839
513
107
355
899
126
893
591
931
470
989
882
741
138
8
642
750
797
507
227
346
692
602
302
684
428
464
233
209
159
42
976
747
816
224
981
465
35
456
93
154
493
857
842
857
640
175
363
173
81
320
454
200
857
405
812
351
219
652
757
281
628
349
877
66
323
197
783
721
796
55
888
258
33
944
857
439
674
641
769
586
835
908
958
758
120
795
389
320
779
387
966
502
233
869
930
877
423
425
75
49
370
206
579
91
896
880
552
863
968
870
442
398
177
933
177
428
213
137
672
465
493
238
949
800
114
860
199
153
683
200
860
176
411
661
328
246
747
169
544
438
78
133
186
935
772
130
427
798
954
331
710
448
128
216
340
234
152
54
145
524
918
983
136
473
835
912
664
154
574
852
498
708
222
589
727
555
875
361
764
391
236
4
335
177
753
614
948
253
422
196
512
661
402
508
784
865
827
46
95
156
852
600
492
260
405
920
284
1
961
368
99
605
333
785
154
359
767
214
920
165
15
567
315
903
550
16
273
345
355
33
347
303
211
490
643
889
715
214
81
859
54
96
296
390
199
336
413
615
243
280
454
138
912
883
853
107
70
957
185
695
250
744
536
467
744
796
720
313
193
125
139
106
504
632
302
530
7
679
73
13
534
264
10
460
640
343
295
61
668
158
471
740
871
307
441
811
311
275
531
835
604
626
289
776
962
584
867
278
996
568
907
57
146
209
895
256
895
325
142
432
319
235
888
784
382
983
591
21
122
771
691
986
126
683
528
813
912
412
148
205
178
881
46
40
527
512
740
480
952
88
174
433
731
208
937
76
454
893
484
986
390
872
712
280
761
103
162
582
10
702
542
673
129
246
502
230
57
492
344
106
18
910
187
120
752
953
122
937
573
734
552
191
107
850
450
218
653
236
669
914
667
942
831
881
148
463
359
38
796
713
378
831
410
391
663
360
867
120
567
119
529
864
878
389
333
118
891
537
598
834
480
483
402
750
622
924
994
62
441
189
60
96
296
298
868
312
648
786
296
581
810
320
948
620
844
347
982
213
353
523
133
742
337
864
790
767
640
888
850
727
696
747
295
15
13
758
555
716
624
980
576
632
336
451
280
560
667
87
283
860
12
983
646
641
418
696
686
966
640
335
460
622
496
828
285
119
953
605
74
870
37
601
881
917
961
529
177
254
202
170
583
131
715
683
944
282
878
272
43
547
585
325
250
204
807
642
241
499
908
283
828
327
35
344
135
380
209
767
32
210
529
26
702
525
503
123
78
414
653
893
614
170
179
612
876
470
577
232
507
127
125
905
768
723
76
671
308
206
840
952
318
530
126
163
248
653
19
915
716
38
177
325
170
523
439
802
348
713
784
34
600
986
212
109
615
593
582
698
795
572
57
928
584
468
572
66
548
969
327
620
449
113
69
874
70
439
923
307
577
226
312
237
135
339
882
832
13
259
14
752
149
866
279
575
598
323
793
141
788
758
741
987
913
584
612
399
207
601
755
218
239
689
950
762
340
4
636
714
115
573
850
767
167
240
597
157
697
428
727
607
317
47
259
949
791
350
653
353
50
108
127
669
674
956
281
561
629
102
892
913
775
25
6
907
114
753
291
918
571
963
822
951
843
454
967
986
954
115
128
371
198
373
942
531
419
712
37
838
648
720
133
105
597
230
57
658
742
142
981
776
612
953
30
9
694
131
185
730
459
541
310
430
914
101
451
23
567
399
540
164
657
307
343
990
311
101
36
669
926
757
554
46
902
896
23
318
13
225
566
949
437
533
579
747
788
136
331
893
319
136
820
804
12
646
31
435
507
326
941
648
668
524
429
568
996
11
564
464
370
821
773
500
84
421
986
481
825
976
581
554
648
85
177
701
946
225
880
416
880
828
837
698
733
86
740
574
996
818
851
819
274
701
286
344
125
705
294
225
89
180
846
349
837
799
541
380
502
471
975
804
306
47
96
706
256
288
483
163
810
312
825
284
421
403
856
29
165
932
877
400
161
218
301
87
777
409
268
943
699
402
159
881
980
977
60
691
739
616
556
98
331
232
40
555
193
236
574
928
986
409
484
760
98
838
925
388
605
801
144
831
157
459
323
699
189
543
618
373
26
60
325
381
860
558
931
706
781
424
820
577
112
116
631
117
258
692
758
281
211
47
46
864
251
767
284
217
337
895
370
895
345
494
240
628
993
852
19
364
548
613
197
178
81
633
377
625
163
52
35
641
980
583
952
61
448
281
271
996
326
894
954
403
60
561
99
474
426
280
128
945
445
666
417
679
866
58
765
172
188
571
301
4
275
730
583
315
782
183
571
817
643
443
212
622
644
292
828
974
31
413
708
57
505
635
770
642
175
254
34
533
148
325
829
656
838
339
767
145
540
135
850
823
733
749
753
900
575
104
62
260
647
681
423
460
129
121
191
134
43
178
70
631
377
942
136
530
369
579
549
749
579
745
105
29
376
339
553
373
183
853
581
143
568
451
201
737
287
24
779
566
45
677
223
18
714
624
511
382
351
550
373
706
624
801
341
178
239
235
960
357
986
585
581
441
65
212
850
670
798
585
30
494
354
821
105
237
526
500
921
594
296
888
748
248
928
185
263
19
943
371
308
520
894
678
373
541
946
509
197
849
658
437
527
374
726
910
338
941
731
594
381
96
622
454
572
693
441
819
873
355
428
669
941
153
115
892
584
251
460
808
709
474
576
652
408
957
445
282
630
632
933
602
579
878
712
467
998
284
663
829
593
63
110
347
940
120
949
439
12
850
211
751
395
858
80
929
49
60
204
859
327
436
590
290
7
564
955
28
137
246
654
143
4
805
580
102
490
32
56
224
466
159
765
610
36
122
551
729
596
515
664
113
164
195
266
613
978
596
960
710
729
180
392
868
469
792
661
72
508
44
700
353
242
997
602
633
351
366
962
988
643
909
560
936
803
960
966
151
795
571
107
263
25
645
97
672
749
364
523
877
584
220
630
186
747
286
776
638
370
179
936
548
658
592
140
169
315
238
906
919
651
818
201
213
451
107
893
905
934
369
688
612
600
103
905
560
614
97
168
86
925
919
682
449
208
520
331
891
514
93
28
973
642
130
441
486
800
603
610
151
98
138
153
759
830
203
516
812
242
790
374
161
885
137
776
78
934
330
532
360
455
56
686
397
479
185
446
666
355
33
602
477
450
375
599
533
564
721
615
489
942
621
842
687
824
34
976
7
235
164
708
269
421
298
939
227
385
200
809
831
858
510
222
544
350
898
710
357
158
297
402
796
193
195
967
21
23
299
600
829
947
583
362
830
285
701
101
321
435
708
509
895
26
715
742
999
794
28
105
826
131
940
983
692
892
801
709
774
147
865
67
955
360
833
442
979
761
529
660
632
483
969
439
71
897
638
669
65
523
240
460
412
65
337
404
543
165
580
356
7
496
475
67
743
847
625
993
980
402
354
362
260
263
617
448
904
781
582
662
140
617
338
827
566
933
100
912
59
332
541
600
699
852
292
256
24
80
235
312
507
653
79
156
829
211
477
853
913
148
588
298
369
335
793
421
412
854
848
351
107
53
308
963
62
459
146
193
282
883
320
307
698
653
480
204
54
807
759
717
640
102
440
490
34
646
997
437
609
848
803
639
858
6
42
91
407
679
822
79
941
875
514
150
678
847
294
214
270
532
40
931
971
30
300
863
690
41
257
214
848
690
961
51
574
772
940
642
895
301
549
346
962
141
131
791
477
237
495
917
525
334
909
951
976
19
959
634
243
863
437
201
460
285
304
923
264
157
110
21
868
415
571
321
327
617
810
866
73
725
716
953
76
331
238
281
533
287
488
54
576
867
418
175
589
40
196
711
826
854
458
803
448
350
520
20
937
732
616
887
15
31
229
910
162
879
41
511
645
31
158
745
412
84
85
501
387
671
890
664
306
681
166
306
374
624
893
183
572
509
399
480
670
393
468
916
799
317
674
837
593
60
900
90
401
722
530
671
516
732
393
748
36
417
442
375
405
969
106
829
404
289
553
421
788
928
757
470
967
596
555
553
402
694
675
851
715
402
561
298
851
943
638
63
877
371
651
184
428
90
138
538
764
22
580
426
30
315
139
217
712
813
870
577
758
260
307
982
697
468
325
632
271
8
659
365
906
535
957
46
585
170
761
403
695
997
6
955
665
519
811
696
483
99
33
365
391
222
557
50
567
157
888
228
809
166
409
453
912
177
768
949
699
642
972
850
275
822
37
525
307
818
22
561
405
530
755
969
688
452
540
472
480
643
682
669
452
74
58
512
805
425
64
12
665
689
211
179
582
804
65
779
559
474
374
422
939
6
179
160
358
443
931
502
828
138
739
464
515
68
462
3
887
206
886
100
692
409
695
359
709
992
684
374
500
235
826
216
937
749
701
523
510
628
226
584
851
278
972
928
704
235
222
865
601
386
790
605
968
677
42
863
878
156
891
494
965
663
1
594
982
572
44
149
266
529
532
161
104
982
704
632
605
641
200
245
43
467
979
148
373
230
341
866
748
830
216
422
141
215
7
505
682
353
582
981
819
624
263
689
954
72
496
764
991
327
425
490
626
906
978
281
535
931
259
428
813
765
759
950
625
753
656
597
200
17
93
879
876
715
375
707
443
28
891
614
760
256
600
988
534
642
364
893
580
243
102
287
196
243
988
522
65
158
626
918
921
754
421
447
895
138
325
591
333
7
723
795
969
20
99
353
961
624
458
925
794
116
629
21
358
536
50
749
668
866
697
19
129
701
456
54
474
978
37
247
478
765
507
252
964
577
953
304
101
315
626
315
408
668
706
976
48
738
370
317
923
896
100
659
555
677
87
628
89
451
863
689
355
617
782
761
69
872
423
783
286
813
89
723
5
353
219
995
975
38
728
528
728
527
309
988
423
740
771
782
665
833
115
415
142
605
108
68
519
219
551
562
261
112
28
88
759
899
237
580
789
760
893
991
941
322
562
680
189
428
796
359
581
82
810
149
873
273
625
95
881
648
505
573
283
159
179
646
989
362
400
82
195
573
986
463
663
695
392
758
495
164
113
838
985
682
477
225
302
359
340
596
805
399
887
258
547
493
400
418
123
379
919
612
973
586
73
321
217
207
50
98
749
735
957
541
245
627
605
206
980
689
185
98
563
78
96
558
292
205
275
131
204
730
588
260
61
155
450
428
511
49
198
292
999
558
871
760
965
635
219
373
816
63
581
577
523
694
856
501
183
243
153
969
129
415
877
186
84
922
692
140
203
664
222
996
743
493
706
548
557
371
781
599
311
685
238
259
288
789
767
160
208
217
716
670
881
177
185
211
459
257
930
538
989
709
428
369
920
216
943
593
743
98
963
76
156
733
599
859
379
239
878
292
949
945
893
303
86
706
716
476
881
198
549
564
248
500
197
718
409
22
412
285
456
983
210
853
192
157
632
492
678
984
80
65
756
762
429
224
211
880
100
996
592
425
976
935
775
456
987
512
952
731
29
374
239
523
754
277
727
155
834
189
309
116
641
666
337
239
207
631
587
163
705
412
106
64
475
956
878
247
329
398
694
251
675
582
649
343
147
412
549
979
939
365
305
575
609
233
150
119
343
909
776
955
851
815
507
859
792
276
420
252
146
876
558
177
563
159
652
335
578
959
690
908
920
599
846
397
422
788
196
114
924
621
409
927
40
641
336
239
907
625
270
225
316
620
637
156
84
610
308
911
205
158
531
699
586
382
878
109
378
4
750
593
256
83
159
658
420
587
840
695
545
332
614
392
893
918
773
16
555
906
899
584
462
466
149
495
791
356
134
424
280
966
760
354
307
890
332
249
237
282
446
426
457
203
606
159
619
993
357
54
421
476
861
730
368
38
920
132
83
454
572
144
725
137
466
860
144
947
573
189
779
999
56
865
394
224
275
680
361
430
790
409
708
177
811
554
753
875
637
520
41
6
951
837
345
627
468
725
886
961
989
992
911
487
483
174
279
932
125
613
693
510
196
620
354
198
441
786
200
293
676
109
102
770
328
922
568
603
161
997
417
746
606
254
892
808
718
278
264
448
259
280
911
485
497
333
739
885
174
842
690
494
8
934
190
153
108
972
79
913
564
700
819
448
687
91
628
290
483
958
833
363
177
172
940
266
206
499
965
181
70
840
90
854
753
918
306
100
531
567
57
460
508
720
289
447
192
297
402
875
487
113
486
582
582
87
874
442
860
585
299
279
447
565
113
447
922
107
476
328
557
828
453
985
809
824
642
72
57
609
376
647
874
230
468
904
262
501
409
120
153
281
547
404
423
349
431
642
253
974
250
930
21
903
666
280
925
870
51
451
946
945
409
362
759
845
441
992
108
960
600
786
46
536
254
634
567
572
996
257
576
343
707
886
200
852
1
665
527
486
218
954
436
981
397
752
432
396
489
292
459
997
818
247
259
256
42
165
79
141
4
765
302
999
601
519
731
998
664
774
303
191
276
615
169
316
20
356
729
439
913
442
492
40
184
437
757
132
625
433
547
859
360
747
621
437
360
200
642
90
987
882
419
51
233
389
808
644
36
979
329
283
77
415
430
272
228
817
804
245
938
237
195
793
126
469
309
252
98
813
599
220
136
774
613
339
169
367
633
582
402
84
397
830
895
329
213
991
855
776
939
220
233
931
551
756
814
578
869
452
78
163
233
48
862
961
197
756
637
182
537
475
469
159
192
651
608
566
302
631
839
529
546
913
639
997
437
440
251
894
448
367
755
483
445
403
236
580
146
17
505
892
335
137
160
165
607
801
333
203
480
585
374
413
980
74
976
752
898
365
453
213
445
929
707
994
923
997
15
433
722
154
562
502
590
387
493
109
661
978
7
576
919
841
84
99
452
301
50
229
568
35
10
107
918
872
176
825
190
690
469
103
105
646
880
682
429
25
781
623
737
508
489
391
288
471
866
648
82
237
337
242
193
194
175
663
816
51
839
603
698
705
863
786
932
290
563
425
252
384
811
559
915
362
879
430
975
268
551
128
528
156
941
39
670
756
142
647
167
975
708
618
434
171
248
311
346
300
813
544
996
76
347
282
212
595
462
776
280
768
158
317
881
18
7
215
58
532
941
910
773
75
575
126
717
280
513
26
18
561
64
216
886
653
904
902
122
970
106
767
369
43
136
24
396
511
447
650
853
979
548
260
774
880
624
658
133
495
321
979
236
45
229
381
796
170
107
703
334
611
532
941
193
751
791
561
655
173
89
667
896
676
746
344
706
701
546
886
394
508
5
412
986
982
626
555
384
210
876
144
621
291
732
69
678
138
380
121
872
369
495
904
499
563
637
220
180
718
754
20
564
388
690
184
475
545
707
975
518
753
414
944
63
824
585
946
714
661
745
967
585
248
530
601
344
328
217
409
601
20
13
692
831
245
475
6
88
350
107
580
286
795
873
539
625
71
528
350
753
170
521
42
557
813
361
379
522
937
222
364
173
84
297
872
869
117
414
965
804
799
860
645
147
844
465
139
126
249
906
482
895
667
478
31
54
618
90
774
298
727
863
919
120
641
674
661
272
346
20
510
996
258
730
543
679
394
905
362
951
137
693
7
603
671
377
875
717
349
535
99
167
278
341
87
625
993
496
889
521
508
771
706
920
754
733
380
456
407
429
682
544
961
359
327
117
175
176
878
774
523
133
497
455
154
772
383
829
246
632
266
356
640
556
337
74
146
452
861
22
12
779
748
222
846
725
717
283
975
195
98
9
942
999
929
144
300
645
212
709
765
866
904
106
523
360
233
56
630
33
202
300
350
139
616
399
943
636
984
432
971
681
891
515
838
558
338
893
557
794
605
747
10
949
483
223
863
17
102
618
74
57
488
582
16
498
203
456
486
492
617
238
269
152
278
397
174
995
231
302
509
476
86
221
82
945
707
685
976
709
670
706
329
485
19
279
216
786
873
56
483
297
41
687
35
891
81
314
118
1
732
408
453
421
695
223
112
680
307
882
396
311
321
538
258
551
126
832
510
528
189
379
141
689
604
621
393
815
862
34
698
375
271
215
98
587
43
437
54
464
70
746
688
513
648
616
250
297
839
706
517
162
580
37
441
994
699
301
333
162
929
751
290
139
213
674
109
305
51
40
737
30
328
881
721
325
53
894
835
288
203
826
739
213
142
448
769
547
638
196
320
890
844
539
220
230
166
379
393
313
570
5
145
106
223
487
724
172
23
70
504
435
385
69
563
838
797
154
538
246
392
446
681
140
208
261
888
133
882
859
553
350
131
376
14
799
410
292
505
745
669
766
562
645
3
868
58
456
473
191
75
120
962
113
738
781
258
569
723
34
437
401
170
497
754
847
67
119
82
210
306
910
392
879
942
15
925
554
275
600
248
217
101
274
769
419
504
500
836
763
207
807
214
145
40
438
445
496
293
948
693
625
209
496
717
619
358
292
529
205
168
402
559
556
947
19
351
629
141
311
180
250
768
583
97
804
636
712
383
229
691
533
527
479
862
969
462
813
584
57
552
805
525
952
965
698
648
284
564
11
47
89
75
394
954
859
88
789
859
776
109
279
400
831
572
475
238
129
913
123
957
393
222
952
979
664
119
416
111
775
977
670
770
453
555
899
296
297
309
887
910
369
320
667
459
321
756
915
594
50
538
462
418
938
288
203
664
441
333
57
331
690
644
93
208
554
8
782
586
665
221
886
917
675
573
428
48
201
705
191
948
528
649
365
73
807
77
708
728
356
311
87
216
347
235
544
304
376
113
186
89
192
362
531
508
422
68
638
480
937
4
779
857
676
476
235
151
430
720
231
698
160
137
953
302
547
308
8
27
113
816
346
54
577
258
812
662
848
861
587
517
732
924
107
522
900
671
54
618
658
450
616
782
955
596
375
181
667
95
605
502
308
452
256
891
656
160
736
511
633
64
206
25
521
144
270
804
913
971
298
948
847
508
221
229
303
702
610
561
915
757
687
129
475
791
641
46
482
901
510
632
139
328
258
247
853
816
272
334
565
677
102
831
523
511
828
223
127
593
872
346
328
26
704
793
920
980
227
514
467
297
725
138
620
585
743
246
940
902
534
717
6
303
2
315
932
857
27
967
457
678
31
389
113
411
857
481
382
157
14
977
136
211
62
26
154
102
449
716
282
938
968
834
419
296
206
212
332
229
793
71
590
445
138
570
260
875
52
867
183
846
486
918
282
998
649
299
637
68
277
628
398
151
925
540
832
798
324
749
529
301
706
590
736
141
325
912
561
314
436
719
735
830
122
893
26
45
956
95
263
207
58
562
387
771
616
336
119
870
978
235
559
961
779
524
847
526
624
683
90
872
747
297
701
307
911
941
207
650
523
165
912
818
548
115
829
998
251
931
620
819
78
375
660
874
401
751
16
462
18
317
65
964
505
257
776
459
500
763
510
966
335
561
978
444
228
999
625
228
911
810
481
684
489
0
576
729
872
48
491
929
751
839
645
603
863
282
438
112
339
319
797
840
722
6
254
973
553
449
222
187
842
555
730
917
941
536
815
331
731
971
746
954
184
976
233
793
220
862
577
977
505
323
528
926
972
250
497
811
832
979
907
98
862
483
76
956
755
782
376
182
891
643
136
182
64
597
256
482
738
708
621
674
275
402
388
288
376
305
182
18
198
413
786
533
803
818
571
46
314
135
456
72
89
901
641
644
541
415
494
816
28
885
739
205
714
736
53
303
751
216
467
848
829
875
468
678
890
599
614
268
302
829
6
174
779
578
550
900
888
931
430
51
994
766
841
26
438
784
297
897
837
900
11
704
236
153
487
505
609
474
804
583
315
40
767
683
60
200
692
295
286
841
877
461
273
646
924
677
654
649
138
157
884
128
727
858
428
569
292
727
352
255
682
561
129
27
907
637
598
317
640
619
27
327
693
578
729
401
219
424
87
125
649
554
181
104
138
595
187
169
60
519
251
754
288
971
411
580
682
415
304
104
487
379
156
200
514
351
194
703
739
712
127
746
10
158
99
764
278
254
906
814
757
956
33
847
808
272
918
619
853
978
931
276
517
803
316
825
801
439
555
889
437
220
453
108
700
182
705
568
520
46
975
524
19
522
877
611
356
433
369
142
640
802
331
565
542
47
905
434
741
886
783
85
831
647
670
21
538
97
781
395
348
941
532
96
9
729
253
481
381
481
978
845
472
760
126
301
920
631
743
286
691
500
730
897
646
740
804
422
598
776
611
406
105
682
686
362
687
597
1
774
126
232
810
474
986
386
152
301
611
387
953
475
198
212
673
871
300
358
878
182
128
537
585
46
24
831
114
283
562
670
262
144
401
681
963
151
71
525
636
929
3
29
162
88
90
176
869
503
936
442
334
637
844
619
11
630
118
255
528
116
372
203
555
257
32
748
625
63
14
281
799
40
234
348
335
490
584
571
404
94
358
912
340
904
951
279
114
46
667
51
641
106
550
499
544
26
46
364
576
976
258
685
802
842
217
645
867
397
562
227
630
310
123
922
758
509
216
26
529
629
214
274
693
604
219
101
75
675
664
98
127
236
420
904
444
999
944
96
948
127
713
599
421
218
405
545
661
454
718
698
772
859
970
289
48
983
250
19
655
370
15
870
461
569
316
135
783
292
917
976
20
323
453
339
674
106
850
292
553
354
198
524
584
44
634
885
301
102
751
274
662
958
343
47
217
852
617
328
227
529
661
574
796
527
250
928
354
214
605
673
39
746
380
970
36
754
620
459
927
29
258
463
652
94
634
808
9
243
184
131
996
478
500
721
218
203
154
457
950
388
83
714
547
429
858
887
555
454
835
190
273
669
470
869
565
790
584
524
320
25
406
294
592
993
638
619
251
749
19
899
893
461
384
735
302
119
704
850
315
274
114
61
306
51
67
867
869
349
21
809
711
723
977
850
671
738
510
835
526
285
306
357
266
760
919
182
707
465
295
65
414
86
935
341
853
585
850
894
445
794
463
511
190
51
122
605
774
813
665
510
95
199
287
342
278
34
858
700
644
149
523
520
982
154
744
384
782
606
440
666
714
109
961
26
8
966
399
879
731
92
263
801
829
593
907
34
569
763
309
421
759
409
86
67
71
524
314
374
429
230
696
62
567
204
941
155
270
429
688
928
399
172
399
282
825
97
318
799
717
296
515
544
517
299
46
574
469
119
655
134
855
646
8
431
130
391
753
611
252
587
801
39
157
330
593
579
706
491
489
793
583
84
446
962
811
637
478
439
617
680
856
480
358
169
597
189
878
434
844
563
941
299
854
441
70
164
423
936
400
943
758
497
470
495
651
148
467
793
738
944
704
827
502
498
264
562
637
576
983
750
934
77
746
394
894
236
931
23
569
685
618
657
835
324
439
596
556
7
428
940
881
253
917
141
532
583
624
408
670
650
880
636
800
70
163
315
684
571
89
303
26
273
953
567
898
778
456
920
21
843
305
823
602
48
761
874
641
854
401
6
225
123
334
425
672
609
904
351
51
965
431
940
655
820
240
724
804
732
177
35
774
80
675
370
945
629
627
1
715
533
699
53
245
972
112
418
184
755
345
392
408
13
579
81
598
56
359
607
774
966
147
182
221
183
750
877
0
333
952
917
320
455
876
321
117
301
45
809
810
254
923
754
188
388
689
933
211
102
217
666
663
601
301
728
973
889
595
478
15
946
615
821
253
969
630
369
440
943
933
604
447
675
797
412
965
169
695
884
689
173
115
732
761
485
43
112
334
200
628
445
472
898
815
389
310
508
596
424
716
565
38
735
368
759
331
847
377
444
219
704
129
344
224
558
306
85
291
604
126
256
128
97
460
422
120
341
405
162
520
537
439
576
923
146
413
462
973
763
445
46
880
872
604
117
838
720
260
861
291
243
495
503
364
10
788
830
404
228
126
233
768
588
344
486
712
604
134
379
622
704
746
305
40
302
908
712
156
82
736
647
775
332
443
273
218
796
412
238
634
195
413
229
82
280
754
381
575
761
566
707
198
651
566
770
312
643
404
333
394
79
187
617
193
937
805
586
812
295
922
596
623
846
811
631
936
891
749
630
352
837
54
281
325
307
768
88
266
891
862
182
846
118
176
347
917
703
772
621
967
181
276
804
106
856
449
259
54
126
392
37
773
166
938
790
441
17
544
564
394
330
911
776
360
564
66
935
19
500
547
620
705
124
774
927
747
141
264
153
623
569
95
858
484
542
203
874
247
992
594
476
938
431
382
76
812
636
144
948
277
814
713
919
419
224
362
979
828
274
877
469
330
965
192
531
156
826
435
286
94
624
598
340
553
469
360
432
53
273
933
106
802
467
526
110
917
383
643
830
278
766
943
842
933
885
362
492
891
197
647
958
885
187
338
373
713
909
411
459
873
215
942
742
706
254
369
581
81
642
736
433
650
909
633
77
827
114
353
993
525
679
648
247
990
144
812
496
430
675
140
904
949
889
687
944
607
406
139
49
737
771
839
694
909
730
469
833
82
903
904
391
536
601
430
29
376
34
31
794
836
317
634
972
721
896
121
50
685
744
777
980
224
347
600
692
762
681
818
47
369
874
320
615
299
664
877
700
675
603
653
423
535
748
450
641
616
691
523
630
313
883
391
558
533
637
864
690
696
607
217
600
22
291
714
967
336
639
270
920
39
268
150
33
623
739
522
704
587
993
86
959
41
51
286
673
135
688
524
823
553
283
307
429
133
383
759
324
13
864
130
758
417
111
850
140
858
276
731
970
585
335
305
980
689
530
63
121
339
973
330
857
183
176
795
664
910
352
458
106
460
468
789
981
30
851
995
347
223
646
672
97
374
700
452
183
964
786
18
735
502
22
858
247
819
215
444
120
636
83
928
763
742
576
413
819
635
587
893
632
545
129
35
390
84
425
869
865
293
70
197
465
592
856
916
745
725
923
74
52
95
490
712
587
784
973
239
813
149
501
322
944
958
300
351
3
785
271
194
544
48
225
670
844
616
744
627
106
207
895
642
863
549
609
115
854
446
896
124
396
364
544
817
331
15
636
430
578
915
847
391
435
592
123
106
320
391
762
978
261
578
627
319
59
299
757
467
481
795
696
906
647
913
118
157
195
400
945
279
49
671
641
12
35
395
9
898
743
728
543
16
368
855
49
133
137
993
744
463
877
352
458
631
588
521
922
967
850
987
712
287
369
823
665
390
341
466
670
229
410
962
277
535
221
419
394
479
275
580
782
258
880
372
938
16
164
870
807
502
451
145
765
960
115
772
118
43
849
958
655
595
798
894
656
689
755
310
813
776
193
244
436
134
277
685
276
249
280
232
393
621
402
270
139
743
858
795
532
746
749
434
437
849
860
38
932
938
253
176
49
382
322
495
628
320
406
530
527
90
573
545
187
978
87
978
154
583
286
157
461
58
80
914
55
742
680
792
413
908
454
440
239
456
778
832
113
685
707
787
488
799
503
470
90
173
358
156
29
543
147
931
7
412
504
724
823
622
87
770
265
984
738
536
172
677
564
907
950
632
316
31
441
534
551
190
826
893
378
251
640
943
436
578
121
911
545
335
168
908
669
95
310
949
874
420
817
601
977
862
802
203
538
345
361
659
320
54
774
59
714
391
597
116
602
79
566
503
770
626
44
344
149
436
625
482
408
827
588
934
648
59
391
18
280
144
124
274
285
274
787
638
403
267
569
356
18
570
22
240
762
221
173
963
864
715
129
848
475
933
885
907
301
358
469
785
595
623
745
499
935
65
242
777
980
738
228
556
26
92
472
691
652
312
594
57
553
103
206
68
364
775
934
786
488
125
837
712
306
434
435
450
312
848
261
495
263
58
862
145
454
107
794
529
628
31
153
358
198
21
589
977
344
978
957
325
414
199
942
830
960
290
545
861
20
684
695
411
154
562
587
463
675
127
829
647
658
810
997
328
292
369
105
542
681
756
973
486
737
503
762
653
457
676
540
83
545
400
908
303
158
349
887
515
443
65
558
632
43
719
755
977
449
942
24
474
109
267
845
876
87
770
22
298
212
593
811
907
795
21
546
990
954
693
560
995
730
507
994
59
358
697
424
82
921
573
280
168
197
869
522
628
5
816
281
617
98
495
148
92
252
649
788
254
448
951
921
276
378
228
505
326
60
123
495
92
370
920
735
770
549
436
436
71
459
452
655
370
637
125
568
947
940
147
448
13
787
261
294
523
744
997
761
240
420
564
920
826
242
457
187
928
535
941
325
313
983
931
281
931
563
430
997
695
123
746
647
750
441
613
92
367
906
537
610
184
952
277
544
273
91
362
904
572
99
949
508
74
676
271
252
219
791
543
180
126
680
733
907
152
30
938
546
633
256
668
91
83
676
672
493
473
238
640
443
871
267
823
299
27
459
439
392
767
898
967
784
454
117
291
354
420
654
500
952
926
406
320
416
550
230
189
396
722
438
73
516
60
989
407
815
841
62
773
62
303
0
53
638
640
850
441
840
219
176
42
972
547
353
568
768
351
978
980
134
473
537
646
939
457
336
470
830
638
703
692
470
987
550
262
941
230
402
485
254
877
922
922
59
984
678
972
743
602
101
485
262
637
654
125
461
131
336
349
214
512
666
485
76
932
707
272
498
338
391
27
716
920
234
695
204
233
804
173
174
434
897
925
848
477
879
122
109
489
233
926
549
478
127
138
547
389
143
910
684
570
834
394
858
633
236
932
646
141
289
207
830
675
568
941
646
238
705
326
135
962
256
36
534
799
870
307
86
661
815
211
120
446
653
880
225
411
530
556
38
295
560
362
620
237
731
977
189
264
695
551
99
695
813
616
523
232
214
547
999
780
701
798
737
312
470
897
946
980
124
296
529
631
997
244
66
176
982
714
421
692
757
454
226
404
761
280
515
580
842
67
979
41
608
33
960
534
979
765
154
667
92
633
567
288
721
964
814
44
656
851
703
306
215
956
608
774
340
511
39
850
530
702
26
193
792
669
698
8
384
309
626
248
405
42
163
715
452
665
191
881
183
58
189
584
947
319
731
591
157
607
152
492
650
581
4
292
116
833
633
186
998
473
898
184
74
240
146
554
628
729
518
762
801
883
434
422
990
347
303
266
502
738
789
536
572
784
859
86
78
579
248
722
207
986
913
778
459
572
692
31
204
711
912
796
316
999
767
832
171
720
189
255
609
223
816
291
408
364
538
976
325
125
159
349
769
421
334
710
730
269
323
233
776
478
164
47
769
714
234
578
496
642
676
116
173
929
394
322
294
550
590
504
415
873
561
721
350
778
650
531
273
745
266
623
403
907
390
18
552
232
302
973
450
575
403
668
160
345
299
637
38
651
226
25
793
984
477
989
498
3
62
792
544
433
77
645
200
463
39
519
308
621
779
916
323
875
520
157
910
207
659
288
36
359
40
308
150
30
220
347
828
375
756
510
541
786
28
567
595
496
604
487
250
800
179
464
662
228
469
269
656
564
208
82
752
535
555
43
590
7
137
147
744
950
783
825
555
326
21
87
459
279
771
7
243
590
99
383
936
703
250
992
55
507
542
244
604
676
441
314
541
439
41
810
491
911
708
779
53
982
506
745
794
231
387
260
937
474
547
48
821
44
295
731
271
400
321
469
945
494
671
87
55
450
222
28
170
890
69
704
468
62
423
693
233
247
815
654
466
334
143
40
964
649
156
804
506
607
833
599
731
253
544
687
524
979
194
534
816
422
868
327
311
54
857
369
50
715
445
729
994
460
91
649
847
851
273
571
821
965
922
620
392
843
574
470
706
55
898
432
132
194
972
72
333
917
717
364
139
790
108
85
966
109
456
733
769
898
803
796
876
192
147
413
650
880
494
640
314
964
399
797
800
218
633
357
939
475
840
315
294
548
30
961
306
315
513
435
795
624
130
536
986
889
140
503
566
62
191
580
154
447
187
961
534
13
580
813
694
276
494
131
805
366
904
46
906
328
591
136
319
666
488
802
672
468
54
172
69
948
613
871
765
65
937
709
761
122
771
591
603
318
684
45
685
840
778
604
198
737
376
541
287
157
318
16
735
426
760
955
375
240
909
421
978
774
482
143
168
615
309
196
976
190
405
129
87
970
351
110
203
496
218
116
615
728
451
613
188
108
165
387
568
149
897
266
526
152
504
168
45
310
557
135
54
684
986
627
334
329
860
725
750
492
376
747
920
696
638
848
135
451
269
59
876
685
912
847
702
135
165
872
210
689
93
351
568
74
641
783
898
406
861
128
863
51
680
360
939
843
511
468
591
70
692
653
880
709
46
579
498
471
981
458
727
539
995
272
504
571
353
580
452
945
420
568
832
195
684
745
262
108
153
410
484
483
82
851
948
987
925
726
432
409
645
30
305
880
875
742
379
39
100
398
3
498
747
572
91
522
267
214
404
153
711
275
90
684
819
236
59
882
328
880
456
42
900
874
807
211
896
639
634
742
942
386
881
82
126
507
274
745
713
408
998
984
352
266
165
455
840
763
150
902
438
271
863
763
985
688
439
145
102
535
6
108
333
54
645
350
826
225
360
694
803
165
405
673
562
671
649
682
160
815
728
14
577
47
367
227
966
28
979
150
260
118
704
855
897
161
631
415
239
774
16
408
356
85
922
199
909
705
701
116
316
478
862
679
763
193
469
952
146
948
635
843
397
305
407
830
69
360
958
293
273
485
133
193
885
823
594
32
307
158
244
606
67
471
602
595
489
669
969
251
383
155
828
215
18
869
491
297
698
653
133
434
623
424
419
841
241
486
711
875
868
4
195
422
544
180
376
418
775
817
547
387
440
435
449
304
774
805
391
686
873
792
939
971
125
489
614
189
348
209
869
153
641
487
924
230
139
605
736
588
198
678
681
204
591
938
620
528
503
379
184
626
655
972
584
524
418
77
818
469
516
424
968
755
979
946
570
966
354
407
451
924
382
852
851
217
345
863
191
464
621
461
325
319
47
68
227
870
58
995
465
371
126
977
531
641
924
513
75
337
704
731
518
650
475
13
225
936
87
862
974
419
861
554
742
349
604
406
648
822
654
744
127
254
637
378
869
290
466
337
727
346
85
265
135
862
168
137
120
631
664
507
462
250
620
159
151
259
919
700
166
194
717
724
321
486
367
407
750
980
309
165
27
901
771
934
902
443
780
523
414
865
547
331
346
823
41
840
745
748
114
979
350
506
603
55
729
665
85
730
614
601
667
486
653
725
454
460
289
141
166
681
126
573
986
328
53
912
498
346
819
450
53
39
669
200
560
101
167
262
901
906
362
452
113
765
374
13
400
401
767
361
686
981
414
291
517
469
772
121
628
226
99
615
299
143
542
9
25
865
470
683
122
599
169
470
392
718
783
815
896
287
900
111
182
131
775
943
129
672
660
633
700
156
523
310
993
430
518
600
181
367
891
111
197
569
821
908
402
632
280
846
953
332
489
90
377
889
389
832
295
290
117
62
830
759
64
958
72
292
85
33
791
142
791
713
416
170
146
235
332
259
732
281
643
694
726
962
89
285
294
332
10
312
919
815
210
345
470
153
451
139
183
998
893
88
163
80
2
344
550
412
688
662
750
527
539
622
433
869
812
37
211
691
653
5
77
774
965
682
59
289
375
402
336
832
533
232
355
731
708
113
805
887
444
566
192
594
344
98
345
322
222
719
48
101
567
96
443
310
644
232
839
798
62
161
481
72
240
348
465
193
56
268
433
65
973
348
38
720
149
251
227
520
91
664
468
92
161
591
75
371
736
782
954
497
590
102
767
954
477
511
720
105
827
122
861
303
282
90
738
986
159
53
137
310
82
482
793
655
887
554
981
339
535
496
640
651
199
127
908
800
834
850
236
13
18
351
687
123
739
169
700
81
5
690
269
29
350
458
927
804
79
219
773
895
124
327
740
785
841
837
957
303
525
62
497
229
687
676
895
441
963
232
224
176
189
360
371
269
162
471
96
969
413
550
354
338
297
223
437
551
468
929
309
794
788
61
788
953
604
207
81
297
848
888
720
868
532
345
8
667
363
125
511
349
874
646
987
307
612
0
7
887
440
662
688
677
712
707
904
449
861
240
601
974
858
676
759
380
412
465
665
992
927
288
580
50
840
538
440
732
307
248
189
962
966
397
700
675
153
389
314
976
150
369
152
219
698
166
532
30
300
324
974
643
315
213
914
718
830
599
702
951
352
435
824
46
822
283
158
77
18
644
91
349
915
150
475
626
98
83
498
684
378
436
440
577
786
449
45
222
65
696
699
376
342
817
747
895
762
167
939
719
943
549
471
183
746
302
147
731
161
938
367
861
963
98
729
342
277
35
630
387
966
85
747
203
819
492
500
161
759
842
599
931
318
583
674
313
432
806
525
494
354
960
855
666
236
48
776
203
16
371
807
566
588
641
785
678
301
560
213
704
24
175
73
897
864
962
603
568
465
666
312
830
804
338
98
720
127
409
644
777
727
948
388
609
143
9
92
887
801
45
430
962
304
998
159
469
758
772
45
166
544
540
382
882
297
680
259
197
503
830
69
292
279
776
50
443
176
261
244
36
497
939
83
568
322
513
21
112
598
179
130
215
615
297
989
885
113
110
225
558
683
719
479
408
934
495
976
322
989
429
873
630
468
586
648
227
236
322
135
577
469
310
700
347
129
524
859
424
104
89
693
962
823
250
171
638
940
169
520
467
959
419
224
459
386
215
478
625
936
326
145
257
933
46
53
596
553
80
980
657
391
845
478
766
980
463
675
11
877
915
447
373
96
220
623
744
766
290
792
968
540
676
232
24
414
947
157
120
50
733
148
332
321
455
500
27
66
770
428
607
992
729
319
416
60
940
546
335
216
211
553
990
449
465
510
279
959
120
704
94
346
902
393
892
653
683
861
832
171
333
931
565
438
85
357
368
382
269
820
1
310
969
373
783
424
448
488
521
997
91
668
40
186
27
668
104
848
846
761
357
308
996
317
140
88
931
531
544
556
795
753
687
884
390
248
990
682
644
502
20
774
6
95
906
667
170
296
79
293
667
216
22
495
863
883
168
25
420
164
825
34
959
269
131
265
407
16
260
285
91
100
273
708
66
993
102
104
51
12
598
810
59
895
921
77
934
427
950
887
846
185
465
849
319
580
581
127
248
119
988
849
599
102
412
169
690
268
405
629
660
608
190
992
956
512
585
761
621
456
9
13
514
975
179
110
706
117
434
942
392
509
191
200
610
718
131
900
863
783
707
352
156
839
627
533
572
182
392
419
770
241
11
428
716
547
149
646
639
362
786
180
432
848
470
200
69
796
362
182
552
461
861
698
751
549
434
538
772
688
96
856
587
312
332
182
717
909
386
441
571
417
184
389
468
796
92
527
916
16
808
49
257
50
358
986
587
419
933
16
890
409
350
500
385
904
838
361
195
763
378
325
617
256
415
948
453
272
984
65
479
761
607
451
947
869
769
282
678
689
244
108
599
571
896
665
786
642
286
663
553
264
549
791
295
129
674
998
154
432
55
431
138
859
158
465
447
443
852
549
304
23
682
592
699
348
669
915
465
729
233
581
142
32
641
545
922
774
680
798
8
188
947
183
674
354
999
172
427
505
948
553
869
540
227
755
478
115
681
267
218
637
792
640
32
215
231
799
152
153
450
656
296
874
630
808
855
126
306
400
26
680
475
179
264
825
162
124
290
834
747
744
440
177
309
339
720
533
481
43
2
11
482
290
124
892
277
44
605
713
291
1
704
277
703
188
709
225
580
976
106
193
541
778
217
904
922
548
509
995
545
44
677
754
963
155
404
414
625
12
315
527
107
263
99
151
535
753
878
775
382
703
206
631
899
877
269
75
720
861
124
992
256
876
863
817
514
358
479
730
910
622
53
347
546
288
467
988
127
266
504
947
412
87
144
719
624
372
522
864
218
401
57
467
747
846
726
362
572
684
985
505
674
636
189
821
339
279
140
568
551
291
832
820
960
829
864
833
755
727
362
875
913
265
137
488
731
810
442
749
33
639
242
470
891
670
222
837
448
479
247
474
478
922
196
295
258
271
469
843
841
58
729
35
635
712
819
501
445
310
468
1
297
411
644
418
164
811
338
264
447
436
899
98
45
898
274
794
518
932
342
924
138
669
751
627
758
769
694
993
188
826
691
102
385
204
735
596
328
332
179
299
826
505
933
564
674
468
153
146
283
658
640
38
411
687
316
747
320
863
430
807
276
496
468
695
847
568
410
377
805
360
270
520
788
300
302
115
310
388
502
740
568
867
264
550
808
339
259
57
189
116
698
998
270
904
931
143
243
111
997
683
311
128
399
908
0
743
641
288
236
90
555
64
984
969
625
748
931
741
877
669
363
4
177
51
423
874
739
697
409
171
915
630
258
847
364
334
666
500
791
676
522
967
829
103
665
797
618
375
644
91
631
316
397
430
246
928
864
104
956
397
736
298
735
203
381
768
707
817
668
923
942
915
384
951
808
86
29
432
142
72
827
162
961
697
204
511
448
822
619
122
616
501
538
194
839
481
122
874
652
601
786
422
738
581
41
649
830
184
47
63
190
613
34
901
542
444
805
862
33
359
452
585
70
964
136
132
537
177
258
291
774
506
547
730
975
743
312
943
780
489
713
845
397
582
953
293
4
679
856
503
510
9
647
629
920
966
180
157
55
369
265
9
891
380
940
793
456
762
895
645
513
558
428
176
99
792
990
531
136
441
874
372
953
485
890
75
613
989
703
620
435
312
758
368
169
877
810
704
178
169
912
649
450
366
421
686
290
168
584
876
519
734
237
11
205
675
464
991
563
174
245
149
101
915
528
533
329
679
163
668
768
772
39
56
781
797
527
358
233
5
718
202
504
555
478
653
640
812
936
165
672
938
707
128
178
658
310
867
712
390
62
151
325
240
169
809
446
70
64
570
188
266
859
426
507
328
534
998
269
935
575
908
607
231
515
84
160
580
924
145
51
719
648
129
227
813
631
402
587
526
299
22
326
590
961
420
678
336
960
952
63
509
337
544
343
727
558
664
677
870
817
628
875
163
323
250
163
281
913
529
562
514
939
364
30
524
853
231
837
214
123
801
653
111
894
23
20
451
817
51
612
897
175
291
720
409
323
113
147
607
132
504
204
371
389
153
653
772
517
602
311
36
456
763
943
672
180
835
277
823
542
485
595
879
227
165
933
779
43
177
489
870
764
279
229
113
959
601
65
94
730
123
279
655
4
869
361
885
629
936
488
30
551
815
287
235
404
387
288
266
457
385
906
830
837
969
864
69
764
211
724
309
547
405
315
145
252
738
920
896
682
420
272
870
880
335
822
362
907
743
657
332
640
583
469
702
16
231
230
483
380
613
409
199
372
653
863
180
373
530
563
127
905
505
415
926
181
147
675
170
916
469
880
814
350
60
261
413
811
490
205
425
255
257
674
187
705
497
451
283
882
138
20
428
885
139
0
980
447
552
898
15
354
30
215
506
93
380
737
693
294
471
913
202
802
108
937
119
265
248
178
839
749
347
694
284
338
115
667
870
497
79
840
664
384
530
38
464
801
349
770
191
797
53
780
776
460
97
75
39
623
829
322
577
59
902
827
548
304
727
575
383
91
196
332
778
369
463
261
513
822
85
850
691
522
282
76
750
256
937
986
81
92
955
372
923
322
989
528
168
613
949
166
70
238
641
889
276
151
542
372
233
601
690
310
202
683
883
355
801
621
742
177
855
111
673
191
682
824
618
436
500
197
689
693
655
609
320
596
963
631
227
97
221
480
70
766
16
306
367
780
535
477
807
990
260
535
76
16
88
259
856
400
31
905
849
184
518
787
521
864
9
535
847
331
699
927
301
970
891
928
34
744
344
594
840
343
789
460
33
643
425
864
857
457
637
814
407
763
146
67
572
820
962
914
241
529
125
233
888
458
853
749
61
105
842
364
127
873
962
11
498
788
89
122
711
697
44
509
123
350
80
863
150
901
41
240
462
192
578
89
32
416
819
306
603
775
805
37
154
85
27
837
137
877
405
278
646
504
852
966
416
887
258
961
335
613
910
329
585
92
792
700
287
539
609
244
942
542
664
301
660
592
954
750
861
624
400
436
382
982
769
875
824
870
696
736
982
669
261
983
245
318
34
713
522
409
453
417
491
208
205
987
895
833
335
15
566
682
132
720
244
926
309
994
135
221
170
249
98
737
214
243
604
649
116
857
18
206
439
498
460
573
730
946
993
851
647
409
534
985
252
569
281
969
111
463
787
722
333
34
7
431
660
252
563
251
530
812
598
803
279
169
834
688
422
810
349
921
88
100
363
514
924
181
700
200
232
234
623
45
697
362
924
331
411
896
537
702
330
719
535
859
139
109
403
323
553
819
308
714
275
231
634
543
784
118
950
79
661
244
657
543
42
820
718
642
440
890
791
665
394
985
809
281
865
65
215
869
481
482
890
897
610
92
990
736
362
234
27
792
193
930
32
348
626
996
296
457
140
278
566
386
83
501
405
622
431
171
564
946
43
807
150
109
777
983
774
571
500
56
795
581
46
894
512
642
710
491
620
150
172
970
351
575
584
446
274
0
264
52
301
977
697
650
471
305
891
806
760
665
611
389
264
423
647
65
157
894
310
699
805
418
642
459
160
163
60
373
653
549
230
685
40
698
766
674
651
714
910
713
816
959
860
403
467
261
282
27
774
30
819
434
481
773
471
205
781
5
505
949
463
553
580
421
961
985
408
520
932
501
866
233
905
434
193
235
856
234
774
247
440
671
827
192
831
873
758
649
986
773
0
80
82
754
770
518
435
700
59
920
55
87
963
361
899
727
156
32
589
140
250
116
298
965
905
758
375
914
547
732
5
213
469
800
82
999
856
834
501
395
19
595
711
829
184
834
440
493
364
150
647
250
642
542
765
323
28
50
948
114
67
871
506
335
986
205
148
936
385
933
607
536
646
664
382
552
365
694
383
24
752
848
680
812
622
263
181
192
950
427
920
728
826
190
792
367
255
50
628
457
313
974
676
45
293
609
664
626
667
255
534
378
287
691
904
839
96
635
449
146
418
976
392
339
16
731
720
516
649
440
796
307
503
655
559
837
771
767
447
861
654
749
422
746
110
978
333
75
688
718
420
567
801
323
619
913
881
423
699
402
128
961
187
136
938
271
84
571
493
858
387
447
706
236
343
991
937
677
396
128
902
481
323
791
804
674
128
829
807
213
328
64
333
254
230
17
965
762
814
661
53
336
260
589
226
626
816
121
214
332
352
729
151
304
995
253
47
589
59
529
223
234
73
266
330
362
735
916
489
133
795
688
926
755
911
213
370
90
997
590
868
305
793
207
912
607
283
259
871
247
982
553
803
707
438
101
3
957
296
235
240
713
415
376
79
717
14
231
646
480
630
16
551
797
913
241
243
605
155
830
73
226
915
614
519
602
522
81
123
631
205
244
931
389
636
262
165
472
722
677
322
185
452
414
227
878
553
772
850
2
290
638
267
789
513
85
7
306
34
295
316
422
171
985
843
454
652
65
570
638
800
857
169
158
71
873
728
429
953
525
662
886
776
811
698
166
462
40
718
694
685
447
800
538
961
386
886
946
803
419
226
662
993
515
244
458
782
184
378
560
248
601
494
292
492
884
217
379
257
425
593
732
183
157
641
834
869
420
579
978
996
177
246
910
419
794
823
62
358
320
249
622
363
795
817
951
115
348
61
980
557
249
259
475
542
422
578
259
15
352
103
655
779
507
478
235
441
963
73
415
298
827
308
423
52
886
697
968
904
295
515
243
189
473
608
348
498
531
510
812
837
901
919
735
456
299
26
925
923
688
708
761
244
627
432
652
125
931
417
356
360
923
283
435
661
699
637
510
620
68
796
639
439
731
828
99
807
158
841
223
965
125
437
941
756
566
403
292
335
465
384
919
62
964
103
302
819
507
933
815
449
137
88
282
501
157
533
991
713
943
625
769
37
862
188
715
568
14
719
582
855
578
369
68
355
308
652
390
930
322
403
452
210
856
694
874
353
149
250
803
497
860
643
709
148
59
703
454
531
270
448
280
807
242
907
138
378
163
867
747
101
686
490
354
393
866
734
923
708
839
317
611
178
234
861
929
404
348
853
100
564
104
597
775
181
622
217
859
560
988
308
864
303
30
704
795
745
453
276
232
172
53
885
458
542
738
101
803
508
576
73
893
317
990
196
615
749
294
23
323
268
256
50
247
292
312
607
939
169
562
819
330
360
808
133
531
400
970
966
228
53
12
35
156
885
6
298
241
507
97
104
56
187
634
941
6
580
546
667
246
247
843
702
527
727
28
526
451
471
596
42
26
134
527
414
990
764
441
697
208
232
13
716
314
347
651
890
34
860
536
919
926
234
512
75
856
898
883
329
439
760
566
308
374
842
655
889
370
884
91
978
467
955
655
402
9
150
259
262
198
202
444
89
157
448
112
381
615
127
237
816
915
879
514
96
638
507
638
36
215
195
544
318
617
16
313
703
122
347
83
572
935
861
254
172
644
370
895
733
87
673
361
655
641
113
880
626
869
555
526
917
376
80
997
420
103
311
347
714
721
851
607
264
485
888
306
850
158
994
280
475
46
703
435
508
184
7
691
459
988
755
217
89
713
762
696
870
502
712
746
363
3
310
910
342
305
638
232
661
668
417
398
328
430
301
886
504
664
426
23
785
599
775
197
569
774
962
974
108
770
914
437
535
626
96
156
252
684
791
674
237
574
811
907
930
50
294
178
942
528
556
596
306
772
843
637
222
572
595
963
995
916
199
994
194
121
112
881
67
332
0
692
102
648
970
478
20
747
175
639
751
888
693
107
158
105
404
846
732
15
52
483
104
989
561
268
862
374
617
136
829
171
360
164
846
756
346
725
185
432
277
854
391
794
445
15
668
358
764
740
800
805
69
221
363
516
379
725
918
59
484
256
275
988
350
799
773
721
683
498
434
914
547
963
189
554
357
502
834
128
41
234
626
564
373
210
525
444
324
499
34
373
466
866
360
255
900
415
256
752
541
240
107
711
65
73
531
367
315
397
314
536
506
896
747
211
762
148
55
664
248
107
833
632
549
229
922
966
680
338
445
574
102
646
582
916
348
599
552
476
10
269
881
938
319
527
32
41
908
95
49
894
924
112
560
87
613
315
650
507
966
73
110
355
926
167
348
445
842
973
942
277
901
451
167
939
711
768
26
107
611
935
879
173
677
159
6
570
257
909
94
908
610
268
690
578
577
777
902
101
526
180
202
623
492
604
217
861
789
354
859
24
722
392
625
931
147
414
583
356
936
53
94
635
479
817
271
243
630
299
390
484
591
72
829
883
708
995
30
78
144
757
861
942
692
368
386
506
463
77
174
535
773
978
204
571
148
820
549
269
724
478
957
990
73
83
249
978
662
9
251
647
715
5
991
425
989
882
712
439
729
87
555
353
845
826
652
312
381
100
666
827
620
356
333
12
32
246
836
98
852
370
370
804
736
950
310
578
104
427
960
400
10
808
920
739
301
673
396
661
829
764
345
913
752
12
352
753
355
842
99
905
237
556
920
991
88
320
264
541
492
724
428
240
220
670
83
889
986
155
775
615
258
92
216
891
561
235
69
783
287
406
48
388
996
776
878
472
267
970
912
896
364
133
623
91
985
926
605
965
725
171
988
722
937
985
315
824
687
681
583
662
262
741
115
337
290
33
903
476
998
511
182
341
612
484
864
712
56
893
893
60
33
33
793
742
353
356
901
509
556
882
157
204
72
41
291
990
508
110
326
675
55
29
427
475
421
270
425
116
807
308
660
230
883
735
93
94
650
50
938
934
469
304
106
125
802
37
496
981
714
335
418
816
444
595
85
572
397
197
98
658
629
893
717
42
529
989
857
171
823
651
173
4
58
939
502
731
193
660
628
609
734
139
494
109
859
312
329
717
814
485
990
785
146
123
210
527
9
623
795
610
741
636
314
352
907
55
948
97
515
605
46
935
817
988
326
936
244
562
922
519
559
563
436
934
157
173
493
517
386
135
943
845
713
429
901
636
750
232
711
994
566
201
12
973
224
908
827
522
372
300
677
387
830
894
115
471
212
502
749
344
364
788
72
698
626
758
416
598
622
167
944
308
271
142
993
326
499
405
253
469
50
59
396
45
482
959
195
277
991
596
504
578
69
913
626
994
529
744
335
976
912
185
114
236
31
950
383
353
127
197
253
915
780
689
73
35
16
933
612
239
934
833
324
830
863
915
347
423
749
680
701
586
97
244
933
982
830
654
573
294
454
220
728
311
571
751
789
963
202
418
881
120
863
465
551
475
881
998
556
202
653
972
354
96
227
869
546
294
662
273
394
686
857
110
609
656
210
846
644
538
29
147
992
427
582
493
975
7
29
217
433
830
495
412
691
453
979
550
664
676
411
434
25
663
438
146
941
445
528
225
752
543
40
622
584
409
18
438
464
800
898
367
528
448
576
952
194
531
177
413
92
95
859
423
70
311
60
362
892
761
707
103
821
570
508
511
583
922
97
482
350
731
122
953
248
761
824
336
843
806
813
811
886
805
181
994
87
272
260
77
923
819
873
569
208
474
68
923
421
994
101
285
500
395
46
88
918
331
507
351
405
264
384
296
433
632
709
310
670
248
432
882
299
396
722
271
111
809
269
55
391
927
75
158
59
556
742
350
396
71
308
445
785
212
536
525
359
669
222
201
476
430
239
404
392
219
51
109
27
315
383
707
174
803
466
127
258
11
351
193
750
26
284
403
866
971
950
255
193
401
364
313
520
878
395
995
741
567
104
111
373
75
225
803
35
705
232
869
607
228
540
822
926
422
959
885
41
375
989
950
159
145
364
192
291
195
182
554
197
132
84
829
382
29
717
519
578
512
757
84
869
941
766
659
290
148
571
240
303
552
637
485
219
511
773
575
666
682
132
950
918
160
214
211
602
680
877
964
762
134
788
331
593
149
207
148
253
98
652
46
583
171
128
847
962
841
380
398
352
354
293
389
761
235
687
67
978
928
211
338
814
325
608
786
357
355
702
235
434
990
296
788
845
517
202
932
290
378
530
107
138
152
585
22
871
147
655
730
25
497
261
530
594
150
874
576
574
253
604
283
528
107
21
863
82
205
237
640
373
852
547
563
614
533
545
599
76
542
626
100
821
525
821
560
829
924
739
605
131
3
191
683
241
456
49
490
144
709
473
46
502
951
926
224
318
527
957
371
456
381
583
465
223
50
625
470
197
211
975
994
326
699
505
972
12
22
582
891
173
626
638
637
241
473
235
232
378
281
759
439
120
181
536
84
932
541
378
436
12
138
153
572
762
960
83
139
854
71
362
314
195
458
813
799
275
157
187
66
192
846
280
325
190
338
187
933
107
331
624
681
829
221
879
841
162
692
605
515
448
896
864
393
171
358
959
964
78
302
527
902
19
793
272
46
268
601
319
52
178
845
301
769
433
682
80
64
409
262
273
794
413
846
53
593
268
612
114
753
620
409
460
618
670
686
211
877
746
349
259
941
214
846
491
9
514
659
287
393
783
430
872
843
549
602
730
178
522
838
485
927
48
513
71
753
77
579
506
715
185
915
654
61
988
549
491
210
991
563
84
901
449
991
670
331
909
692
312
216
699
964
443
925
286
221
638
758
878
456
646
712
677
768
515
287
946
998
462
417
981
122
892
718
950
465
433
640
96
177
804
78
132
872
298
976
13
593
611
75
882
64
407
220
322
738
373
6
683
37
76
90
251
228
544
711
741
877
157
926
322
662
699
501
182
361
34
85
406
931
671
674
109
861
512
751
840
345
693
103
51
967
184
767
19
752
521
718
816
419
99
484
115
409
292
693
293
241
705
295
814
911
411
127
19
142
195
194
879
912
341
37
950
317
551
308
257
371
411
79
709
346
737
943
146
123
495
375
962
155
568
116
385
206
584
131
864
912
660
610
310
418
116
907
466
456
83
330
68
811
703
530
148
121
937
504
956
696
782
428
942
61
414
500
176
941
509
627
977
346
254
400
66
815
736
709
220
335
127
790
705
432
997
264
771
181
948
831
114
877
633
781
727
160
899
391
512
397
399
813
766
907
546
97
639
891
391
710
66
763
426
517
360
72
471
184
971
751
361
980
590
407
753
734
775
821
303
381
104
482
722
977
983
850
274
550
457
431
971
832
12
663
512
909
601
414
952
751
381
668
603
969
742
905
84
752
547
231
729
174
895
827
259
179
298
148
802
825
820
429
506
462
478
85
477
445
976
87
465
594
802
9
113
177
832
352
773
366
768
875
737
643
274
864
918
943
492
394
931
563
788
859
276
341
146
201
217
88
325
715
740
225
147
123
654
108
171
562
845
689
552
144
592
940
897
158
65
942
851
767
132
139
241
479
996
291
485
307
634
516
755
174
516
47
124
669
237
392
225
583
431
877
462
322
41
191
409
0
901
437
244
197
279
475
298
39
75
592
84
882
736
766
483
77
491
799
699
775
113
653
381
57
909
704
296
264
80
878
262
360
897
661
379
509
31
454
928
834
624
523
875
502
222
792
239
138
212
805
990
818
732
764
573
424
502
254
430
442
660
68
24
550
79
154
260
675
105
771
715
179
103
429
313
703
228
852
359
706
343
417
593
569
830
234
14
599
595
947
921
402
821
305
956
588
703
394
605
589
925
43
659
913
382
567
495
418
90
793
442
487
382
795
253
857
675
550
988
424
302
973
519
233
225
413
985
131
422
987
56
36
471
490
773
136
663
673
732
248
904
708
402
621
150
531
191
249
668
165
575
107
9
727
735
706
940
98
296
265
982
537
664
445
48
78
328
237
64
911
43
243
612
650
470
335
920
760
239
168
165
250
701
692
839
399
384
379
788
921
973
935
106
781
410
835
226
47
583
834
324
529
170
933
803
740
859
938
26
617
64
32
820
151
457
58
536
411
314
370
548
160
982
744
947
212
955
196
381
38
498
389
407
685
307
922
432
417
571
303
451
121
333
943
177
494
72
422
428
24
805
826
487
950
334
427
7
399
429
677
195
408
891
246
27
711
562
573
727
718
143
432
977
560
204
442
897
941
352
928
716
161
532
60
348
247
552
141
34
331
942
887
893
792
108
891
34
220
955
382
47
635
570
593
153
75
270
493
118
288
459
891
182
582
244
104
589
366
386
615
684
470
230
582
864
36
860
366
600
910
492
654
613
476
35
428
362
753
103
925
710
247
551
361
204
989
40
707
400
334
2
581
590
563
302
224
411
962
135
907
704
183
874
21
715
286
765
115
629
887
526
221
206
402
465
300
404
305
234
808
872
267
507
619
938
306
759
292
941
654
856
411
772
716
718
975
420
935
953
244
517
747
343
27
726
153
883
903
617
158
17
373
864
948
227
506
745
80
551
68
87
752
54
180
273
529
169
951
535
94
576
231
697
434
262
960
279
908
853
968
118
941
698
401
824
431
173
761
512
629
635
230
937
779
407
824
719
643
560
563
96
863
411
484
665
575
29
672
304
422
51
970
386
966
632
324
645
839
545
452
536
608
554
828
439
167
244
436
199
111
187
174
925
672
152
1
851
28
57
14
242
808
152
338
577
228
504
770
51
413
703
675
971
671
944
419
609
31
963
234
162
863
31
524
901
584
71
401
701
572
76
22
849
170
767
856
579
26
934
713
461
717
6
722
464
662
30
70
338
708
169
180
468
759
952
557
231
734
388
919
760
131
112
348
603
153
851
703
837
943
474
279
134
140
895
371
540
82
466
395
703
811
198
711
615
268
139
703
38
106
489
721
790
739
246
354
737
371
331
209
18
8
32
832
829
714
486
848
619
993
864
654
4
917
189
435
57
51
5
294
914
540
155
11
13
285
558
495
9
170
898
672
539
924
810
339
698
396
505
232
627
424
381
316
477
974
638
673
170
805
583
484
408
32
12
48
778
717
20
500
99
475
642
424
840
624
755
124
834
459
698
501
346
873
376
691
864
737
115
98
348
241
210
185
324
772
735
734
189
956
132
47
413
788
601
492
617
819
703
827
702
418
178
243
89
393
160
887
198
438
290
118
548
654
963
455
740
362
610
704
258
249
687
121
610
94
717
737
313
897
699
894
379
264
999
321
739
730
717
550
128
724
872
738
787
553
290
175
871
13
764
781
193
555
223
495
709
565
96
838
192
386
187
532
933
632
704
54
772
944
967
978
199
702
95
396
920
15
962
887
941
688
779
768
189
200
657
777
258
951
988
935
207
399
254
103
755
809
609
821
849
781
226
605
671
414
978
508
364
479
567
78
200
90
324
168
519
356
442
118
645
530
457
488
789
873
955
347
376
212
265
380
198
371
826
919
802
955
571
680
307
173
184
695
261
51
887
86
350
129
259
804
582
920
509
25
699
954
114
87
306
565
129
276
759
132
731
100
918
118
593
352
323
624
656
782
692
940
497
67
176
508
681
191
369
183
490
715
419
954
60
506
807
377
317
991
461
356
1
776
720
432
35
461
81
668
449
739
36
396
709
926
630
480
4
31
359
848
321
955
732
347
235
401
592
883
782
606
451
563
401
971
178
354
723
279
20
115
409
861
859
70
292
736
164
841
145
697
165
686
692
106
178
812
932
692
499
235
253
272
575
403
612
723
907
544
281
367
260
318
964
7
48
340
285
527
650
797
598
707
539
82
123
599
675
462
262
460
150
690
766
812
570
318
988
133
136
804
854
896
393
398
823
466
780
325
148
665
246
297
475
136
724
993
274
467
985
334
774
549
862
276
978
635
663
296
23
79
231
632
856
972
546
604
121
381
802
795
587
171
637
996
370
692
13
710
182
893
440
93
189
774
606
788
212
6
92
448
249
622
300
377
149
883
210
945
749
640
899
72
778
217
69
639
165
478
506
783
647
482
721
322
644
834
100
604
413
757
275
29
787
537
274
755
312
344
819
701
500
764
288
297
442
174
213
79
182
744
413
272
368
656
920
79
984
308
532
949
809
252
424
467
598
91
463
543
974
854
274
965
588
515
712
58
482
853
254
178
844
922
738
742
671
75
345
216
276
563
201
791
810
316
766
931
962
50
449
208
972
166
667
64
44
663
447
445
350
683
691
766
944
48
651
55
207
508
815
598
151
896
122
602
995
969
665
745
143
727
409
147
474
878
630
299
401
919
925
299
441
845
534
678
49
800
775
236
508
212
240
556
885
489
655
890
338
356
159
570
163
596
545
765
18
883
832
774
859
482
144
533
854
565
529
12
225
863
666
854
121
88
322
190
112
184
822
3
333
573
573
717
575
776
922
397
908
538
366
457
678
233
617
586
786
350
978
26
124
237
628
917
498
93
854
105
188
636
634
325
196
958
923
439
142
697
193
709
605
564
541
158
704
291
284
733
527
938
106
687
914
977
812
918
717
428
458
174
94
518
140
430
828
43
803
636
132
227
484
754
707
964
457
512
759
516
839
36
379
946
269
419
906
995
477
428
43
367
305
699
911
722
287
859
533
132
943
11
984
2
215
230
258
40
201
178
244
687
691
105
811
429
274
296
488
136
285
918
634
461
860
602
547
325
638
375
819
958
983
782
314
317
264
285
432
293
114
973
577
443
220
532
67
612
608
647
335
481
516
407
320
701
570
328
694
817
286
523
875
417
16
844
61
852
469
325
159
539
359
476
329
481
73
364
121
551
549
22
876
90
734
155
913
503
695
576
866
136
131
794
598
851
827
486
373
896
623
771
374
98
918
602
675
692
338
46
157
129
342
835
50
322
181
945
814
193
132
50
234
33
186
359
823
655
424
331
429
947
0
23
606
789
427
121
722
931
397
523
930
877
283
982
150
242
608
876
237
531
122
253
776
896
674
507
141
42
718
705
526
787
655
659
136
703
592
333
995
874
531
731
96
478
962
638
530
919
223
491
700
440
989
509
417
732
478
477
265
431
38
973
461
357
833
453
957
372
530
458
567
452
15
790
396
800
366
554
204
793
855
749
570
965
141
392
330
977
46
313
446
566
356
137
910
877
489
551
285
617
506
243
360
543
820
843
117
496
86
10
884
96
572
128
217
64
494
757
332
840
873
297
737
607
810
420
689
857
497
913
911
667
690
117
238
194
853
196
384
576
158
498
477
453
596
118
17
598
848
984
342
377
69
990
395
735
768
263
720
605
418
597
673
734
406
944
210
707
887
196
556
134
874
521
147
859
678
58
334
660
761
432
643
12
579
404
554
419
523
257
821
116
738
683
848
293
345
514
921
790
100
4
870
579
432
330
413
492
48
148
300
846
780
466
228
283
555
496
19
411
686
533
476
29
68
961
638
387
825
299
582
566
802
727
371
519
311
139
996
350
936
254
189
39
210
11
153
954
906
163
712
978
747
412
780
39
197
242
113
592
47
733
217
975
964
206
338
869
734
493
713
632
580
870
744
96
466
771
808
732
654
472
861
30
980
542
497
837
388
735
110
111
9
7
293
451
463
401
405
965
963
909
429
230
37
258
723
732
293
792
319
914
455
274
575
42
823
292
785
761
921
707
830
116
602
201
858
705
246
683
743
376
695
454
233
356
210
369
720
666
599
460
477
428
464
311
158
547
653
465
945
115
361
92
108
61
257
454
165
708
135
209
613
730
201
823
226
948
447
30
888
581
819
57
616
568
686
350
938
810
195
723
964
525
563
92
751
614
277
628
349
461
476
823
221
39
644
404
231
131
756
893
722
924
96
927
728
485
835
838
948
397
973
781
178
198
327
20
961
211
47
508
135
863
740
254
544
453
775
839
429
643
667
249
175
265
457
917
186
574
491
765
672
242
556
204
815
947
600
162
321
680
804
936
938
963
175
7
384
415
339
328
219
347
218
358
421
131
564
572
561
983
989
724
878
207
272
682
572
999
517
829
549
95
529
526
340
193
713
296
593
300
717
760
862
903
378
672
161
28
564
86
624
374
456
975
331
787
309
136
485
320
118
281
647
13
595
825
368
567
548
180
65
573
39
827
375
21
246
818
277
934
71
120
222
299
946
788
797
657
527
455
818
480
105
643
938
919
54
520
232
584
327
796
93
201
225
54
456
137
647
794
594
953
677
42
491
205
790
732
36
369
26
826
922
321
346
144
635
998
712
604
440
963
317
105
344
586
223
703
546
872
667
156
10
17
855
229
691
404
598
862
371
623
420
857
147
140
272
624
973
314
939
425
970
131
856
268
863
218
788
387
820
782
352
368
873
673
98
462
330
708
885
841
16
217
194
759
348
404
598
669
451
558
216
418
615
138
204
116
198
831
400
767
616
169
123
215
1
862
166
642
533
962
872
570
10
756
681
694
188
665
73
774
509
311
439
218
717
996
220
584
17
23
665
822
774
647
333
106
543
691
184
296
94
625
46
424
32
605
553
665
728
570
746
440
9
247
101
712
573
845
671
440
999
418
508
686
588
82
435
230
250
22
706
22
924
356
868
421
880
914
721
540
851
837
502
643
217
254
717
350
196
190
540
185
380
956
764
44
310
155
406
837
848
818
44
561
567
656
232
166
160
770
449
999
670
551
199
226
358
816
118
337
989
447
846
587
241
140
265
548
56
236
623
936
781
343
550
66
380
700
906
379
0
607
233
164
540
501
635
448
145
93
650
337
132
263
397
380
663
276
811
824
613
889
710
650
683
236
952
641
79
667
320
829
248
441
176
544
997
342
111
137
106
915
91
594
384
695
344
171
844
608
203
957
997
942
521
505
621
811
769
313
321
378
963
338
684
281
501
371
612
305
525
906
309
133
284
96
998
928
132
783
241
227
221
192
482
182
934
995
504
324
67
355
713
609
795
779
585
634
945
639
902
506
464
544
702
637
979
60
18
147
487
134
859
893
99
120
642
959
923
901
106
429
207
263
888
198
534
186
51
22
664
463
517
779
955
924
384
970
120
169
977
745
517
576
561
769
45
399
443
719
559
455
343
182
148
510
90
791
125
393
257
518
218
506
96
966
853
529
997
733
718
711
917
162
192
284
239
739
398
439
583
669
301
553
8
680
961
783
808
104
431
219
929
332
943
466
78
608
319
75
888
985
576
444
814
901
687
102
963
724
929
383
67
247
511
970
405
839
852
760
343
949
106
223
53
218
942
248
507
103
414
18
252
549
860
18
4
843
157
304
727
967
978
730
364
568
570
434
297
3
925
191
415
193
945
388
128
335
88
425
160
122
22
799
985
74
726
967
525
13
421
705
396
384
894
398
806
103
890
990
365
827
472
837
817
641
369
860
953
539
2
184
422
217
232
137
355
560
135
800
68
966
462
426
649
0
368
632
94
284
578
486
782
471
455
690
489
375
511
259
745
419
58
185
607
649
581
221
469
417
194
520
415
675
519
187
916
83
629
771
195
140
317
589
523
10
76
841
291
392
454
263
444
491
245
349
901
175
301
234
218
602
678
580
633
310
657
92
565
910
181
278
651
578
110
173
200
824
586
363
107
693
726
480
891
953
583
136
967
372
337
230
51
542
879
658
900
279
564
43
818
856
30
600
519
695
886
839
881
433
883
57
292
428
508
6
22
291
411
936
505
151
580
29
601
588
286
839
628
345
228
783
445
618
645
481
648
964
528
737
949
38
531
69
387
618
233
273
296
962
188
949
93
135
678
275
691
39
374
404
511
437
325
58
931
915
82
360
785
402
513
882
53
583
439
275
56
318
382
800
303
101
250
683
495
299
31
557
390
791
196
516
587
513
739
279
407
122
893
37
894
952
822
42
596
674
116
3
4
545
254
927
303
373
938
837
280
573
20
870
643
265
90
193
975
752
483
799
115
347
767
902
852
303
312
825
903
756
451
260
594
658
138
592
756
525
383
586
893
218
726
369
722
393
19
119
497
850
503
341
468
274
485
275
586
322
889
671
683
620
944
536
506
173
292
598
585
4
679
68
243
527
440
28
176
356
887
765
424
742
535
961
355
400
663
326
841
619
898
653
972
935
629
700
811
265
331
254
311
78
675
329
309
433
171
348
807
515
641
850
205
812
919
965
276
449
754
333
813
605
417
20
136
244
230
875
746
346
770
380
28
429
361
308
198
654
731
497
676
893
347
47
583
754
80
914
170
40
286
771
718
357
371
612
988
12
734
285
180
209
265
269
849
682
643
342
517
841
227
36
528
466
401
229
339
184
869
443
329
939
535
889
770
841
392
605
14
973
182
826
738
625
884
898
832
230
618
805
410
221
52
948
126
302
749
124
377
899
189
448
538
442
861
423
785
901
659
590
676
486
806
129
204
412
928
75
768
752
848
652
472
934
372
541
943
426
865
732
287
169
542
868
594
586
927
199
204
345
280
219
712
33
411
577
591
34
869
175
506
589
710
571
114
468
831
194
207
531
528
165
445
839
218
150
152
255
370
227
972
502
965
246
219
654
513
689
909
520
988
883
411
619
615
136
477
883
436
790
554
551
311
9
635
974
882
468
837
581
577
637
853
583
105
292
570
739
958
870
153
898
499
870
792
248
760
776
898
296
919
200
642
949
0
604
649
563
166
59
128
859
618
537
503
293
214
265
459
442
965
751
147
850
778
546
190
917
67
36
33
141
430
38
148
331
445
951
311
168
29
114
121
954
571
581
844
988
205
855
470
445
977
566
517
837
163
452
141
789
788
75
647
140
267
687
686
873
850
729
326
149
661
191
137
480
726
927
473
679
471
41
178
982
45
460
556
936
205
421
653
629
132
347
546
926
257
288
66
27
395
384
731
117
564
804
555
807
519
738
232
903
906
998
586
412
618
672
74
267
648
146
802
894
962
668
981
862
364
244
755
577
867
782
62
437
737
875
51
95
18
278
586
8
938
982
364
756
108
635
385
276
888
271
874
628
773
330
337
66
977
437
342
677
452
956
545
939
742
300
547
214
319
397
974
451
108
953
584
587
666
680
760
316
580
954
497
877
457
553
252
639
356
150
372
930
448
817
173
875
522
290
237
504
785
379
571
787
284
198
200
581
983
654
928
21
235
421
590
339
702
965
286
339
716
528
578
676
502
111
660
349
764
133
954
285
666
810
783
560
650
437
363
619
833
908
396
802
274
969
218
772
521
265
665
773
790
328
350
171
497
234
801
293
534
691
205
145
867
75
370
310
514
377
136
540
98
924
578
636
437
307
563
277
111
868
189
903
190
611
598
963
332
236
294
158
345
451
81
522
341
127
526
928
321
104
887
18
714
51
458
833
455
65
758
273
282
498
144
862
711
284
779
237
190
199
138
95
624
153
341
604
476
957
174
789
116
92
565
650
492
209
902
19
144
291
695
740
228
185
823
136
785
704
515
447
803
45
24
318
140
487
652
531
402
945
78
958
142
375
50
592
314
640
352
300
660
639
499
439
374
182
737
99
756
773
688
655
119
651
761
49
417
289
527
928
699
10
84
868
138
214
560
897
749
590
327
547
406
336
644
58
580
200
568
494
461
171
792
374
362
919
560
243
593
767
378
855
927
141
404
811
856
979
46
69
292
944
703
857
288
264
572
754
38
535
392
42
458
203
271
577
408
295
190
448
54
423
531
104
853
853
112
551
502
707
821
951
921
439
769
566
562
233
672
249
552
788
796
616
896
100
857
270
391
801
144
994
390
651
119
527
941
19
20
154
786
959
438
405
298
343
31
622
100
490
150
443
760
539
197
204
851
669
416
670
968
694
641
943
360
266
714
658
280
184
395
80
605
994
271
8
239
855
929
128
384
241
860
766
23
536
736
308
316
623
725
613
561
216
123
529
50
754
855
256
979
8
53
720
940
79
205
735
886
836
808
727
923
539
232
19
517
826
82
718
877
229
157
801
67
223
458
614
406
333
873
669
776
139
858
78
879
755
330
181
991
266
90
160
967
452
539
5
471
225
308
466
866
297
390
615
583
857
171
74
479
213
517
495
901
144
567
173
722
856
173
638
93
542
203
204
542
713
339
382
774
707
894
262
722
123
244
171
595
885
578
730
47
521
976
743
675
453
232
863
956
446
186
922
572
191
210
805
958
702
879
69
342
326
472
142
594
31
54
554
770
533
46
799
799
992
774
955
970
426
814
929
612
369
512
330
634
712
41
446
308
66
230
478
469
6
781
931
871
311
96
531
48
684
21
679
523
987
836
37
600
933
872
811
250
498
944
180
633
7
899
150
997
409
374
580
128
19
655
22
57
499
26
968
187
325
197
14
135
37
246
87
187
431
966
266
154
369
179
928
535
137
792
357
772
636
124
307
241
321
268
766
496
921
287
408
794
977
374
809
220
660
21
196
765
123
242
803
216
518
83
194
492
561
283
953
919
889
841
473
907
153
497
509
878
145
405
418
235
319
589
59
972
86
448
964
359
613
703
989
955
43
894
681
807
779
171
449
482
970
700
808
366
162
160
971
864
951
453
800
888
588
938
358
629
485
824
631
233
106
12
903
904
306
63
38
563
284
80
182
540
818
598
716
491
65
118
177
86
100
860
355
56
793
637
459
608
841
672
680
171
165
726
756
594
578
884
181
980
257
410
754
645
107
894
929
320
887
212
673
317
492
490
167
454
616
813
483
747
359
786
454
805
321
294
448
428
5
700
564
315
412
249
303
286
736
29
595
359
700
519
400
256
181
453
120
940
342
601
399
808
62
458
311
36
891
810
474
586
33
926
541
690
882
451
464
354
829
799
222
661
686
538
507
620
306
511
121
943
112
404
934
465
391
829
8
996
993
126
73
664
859
206
774
16
748
300
997
92
721
583
589
797
936
830
377
224
268
854
436
37
877
949
986
407
115
825
65
925
865
214
899
381
176
221
937
483
624
581
54
692
770
451
961
111
71
823
510
653
295
18
841
372
556
939
861
978
749
448
210
230
54
366
567
507
915
142
799
603
635
695
472
26
699
878
733
206
396
394
284
892
888
703
445
428
466
5
365
802
123
767
722
424
129
111
840
683
27
562
101
638
373
794
692
609
560
555
465
150
327
125
238
903
512
779
405
668
406
500
699
224
927
711
399
977
600
728
917
798
417
552
281
39
114
487
885
944
298
284
209
926
675
736
31
879
288
774
606
595
695
145
374
341
98
560
312
526
358
827
362
884
716
163
553
486
618
824
327
714
630
143
975
463
286
139
593
154
722
307
916
981
115
832
492
27
349
731
661
814
671
191
357
220
266
653
596
120
248
368
786
457
4
386
676
947
177
752
153
578
304
871
965
891
609
297
555
336
882
789
749
242
500
136
443
325
167
133
108
779
948
907
406
195
263
33
673
749
496
657
627
991
378
600
72
731
302
266
583
690
373
136
126
327
245
142
426
307
349
845
366
698
590
13
659
847
922
956
329
674
599
245
182
764
804
693
758
103
304
854
355
413
606
863
570
569
547
956
658
732
988
524
992
842
801
502
710
649
763
303
927
488
151
737
474
682
832
551
100
137
872
42
600
950
289
143
363
335
41
347
905
414
904
194
9
282
15
835
109
130
52
898
863
724
899
750
653
49
750
986
312
81
374
363
336
97
249
103
987
519
154
393
121
242
96
254
432
123
225
182
82
399
387
724
879
660
66
973
574
705
13
608
599
924
559
494
10
608
211
268
805
664
68
774
779
613
423
577
112
831
439
527
733
666
764
735
491
581
151
993
32
118
999
301
780
918
959
821
232
859
466
0
52
406
468
193
159
517
227
369
456
992
835
935
826
588
980
96
626
620
981
265
403
280
698
446
86
116
722
106
924
165
163
538
883
345
12
864
918
219
363
851
757
177
672
431
395
267
100
55
95
113
318
363
675
606
212
676
837
391
390
181
328
827
112
41
562
770
592
332
399
157
874
738
138
731
295
848
735
419
225
281
685
16
692
315
901
179
528
6
965
870
268
140
714
948
989
614
232
549
304
852
488
469
705
987
187
63
724
37
604
232
482
938
176
255
665
141
255
92
124
416
71
71
267
653
999
815
999
773
689
724
988
394
315
349
810
9
513
844
322
348
254
997
787
966
423
448
846
335
447
572
898
664
899
900
575
744
306
977
459
752
147
847
258
275
303
943
595
191
377
416
435
763
567
644
603
466
556
149
902
626
788
656
490
72
40
400
807
265
532
523
958
844
741
239
347
531
917
44
671
649
430
933
508
13
40
22
915
875
853
236
664
298
615
96
823
612
773
91
151
808
96
358
290
29
660
820
587
452
342
480
719
507
673
210
650
302
97
715
904
348
662
132
278
169
653
826
555
741
268
567
417
43
289
4
133
218
357
481
521
720
356
367
831
2
947
904
924
691
683
896
590
9
530
163
657
443
747
351
577
201
133
79
653
398
762
326
501
165
768
626
350
611
812
698
827
932
740
909
615
423
531
483
605
231
445
996
467
673
405
482
13
761
694
229
970
564
832
605
792
784
602
4
37
107
920
615
731
669
67
810
295
16
934
113
668
392
401
994
179
748
517
838
466
566
723
712
116
211
887
25
217
848
540
735
384
502
738
754
736
296
708
527
609
291
480
582
595
673
861
665
280
382
759
348
868
900
613
913
993
829
487
319
593
687
939
357
548
764
188
711
154
8
6
589
738
921
692
219
974
365
718
694
647
786
575
373
323
416
648
722
304
566
543
660
968
521
837
562
777
652
822
517
877
802
696
787
258
60
57
188
468
740
632
311
45
730
264
563
508
176
901
813
503
14
906
989
808
979
805
82
626
76
692
445
385
502
612
533
68
873
759
735
278
199
370
867
95
860
685
526
732
411
397
720
144
985
460
490
209
486
72
572
627
714
457
596
69
966
540
681
289
73
119
838
205
485
95
461
916
858
559
21
726
232
161
270
803
525
649
407
766
897
467
217
764
886
941
603
121
899
287
143
661
712
301
75
312
781
812
147
218
258
331
239
793
518
411
360
943
918
195
179
312
605
676
956
940
224
307
105
595
110
57
234
472
688
636
981
97
391
628
996
928
216
888
84
686
637
256
833
121
773
793
88
834
220
873
948
608
142
312
70
831
241
259
295
867
417
410
353
931
619
878
670
903
345
100
552
228
666
353
850
248
505
865
150
16
927
525
667
827
533
620
407
21
611
387
672
264
96
407
294
239
410
522
192
39
687
122
41
369
889
637
82
819
320
867
40
467
522
645
688
365
393
37
937
880
246
428
183
792
614
234
689
293
701
872
279
285
642
378
810
36
987
457
312
506
548
789
290
194
293
556
74
247
651
919
447
110
558
381
79
762
794
175
824
278
96
112
136
972
192
760
276
342
914
426
147
705
549
558
29
789
930
417
996
272
956
363
419
456
884
298
863
142
28
533
733
27
496
86
438
927
2
779
411
358
803
34
864
337
367
931
966
649
129
240
290
724
219
605
620
16
391
771
467
803
765
989
779
331
282
554
130
5
665
531
51
641
495
295
3
68
128
614
675
522
977
144
877
790
855
448
255
645
203
812
285
983
841
373
457
883
828
335
180
727
282
173
842
717
249
23
317
100
833
230
941
987
419
860
276
491
531
130
150
93
717
451
218
569
885
321
193
569
694
507
115
424
401
964
360
55
224
686
325
870
838
838
522
462
542
710
580
98
793
161
435
502
436
851
593
778
835
864
757
584
843
380
800
24
266
131
287
305
788
455
794
785
177
387
362
15
565
20
141
937
873
901
86
241
753
613
802
512
185
345
759
203
658
412
996
903
432
770
591
932
81
969
921
317
474
914
31
232
588
409
351
198
615
792
359
17
220
915
523
543
85
525
195
204
352
825
208
625
289
705
672
848
407
307
637
512
518
186
164
170
170
152
568
274
920
712
807
573
736
968
164
192
257
614
380
958
511
633
771
310
890
593
853
206
726
260
626
311
596
651
642
826
424
656
72
963
687
121
3
535
496
453
795
323
597
436
986
308
860
881
768
626
387
876
244
57
593
397
14
650
690
513
549
292
387
989
323
603
542
815
250
386
253
62
720
110
338
804
931
420
866
682
50
947
822
45
162
613
850
52
412
606
206
360
85
967
963
211
490
396
61
132
42
176
558
975
968
329
643
144
135
33
867
17
748
754
955
501
223
398
758
295
720
395
232
258
141
419
988
961
337
466
509
408
518
201
147
771
847
775
185
248
470
714
114
928
900
698
579
831
329
314
434
763
473
448
51
30
972
358
577
451
520
161
218
323
218
349
667
775
774
502
548
729
610
294
412
80
318
733
472
250
529
203
424
169
584
726
989
79
613
20
353
811
685
85
859
835
153
617
792
722
189
666
733
863
329
571
10
395
669
507
303
86
912
4
725
875
135
512
337
2
536
41
69
647
822
428
792
567
698
441
414
385
292
336
236
297
30
924
782
462
57
747
742
517
258
155
613
627
235
801
142
327
244
186
758
605
353
93
190
97
571
4
599
152
651
683
90
690
457
679
822
40
143
627
708
685
713
584
249
143
858
829
335
379
465
919
310
920
33
241
102
173
21
894
310
588
213
474
921
401
493
409
857
962
774
251
839
692
37
669
102
857
678
136
780
672
901
549
339
12
784
370
138
306
309
522
625
398
172
780
107
645
361
160
739
847
690
831
432
430
762
734
797
867
878
675
258
906
918
634
752
226
874
650
276
514
978
553
355
365
718
771
774
286
450
112
838
708
343
291
217
452
595
452
472
433
416
236
211
233
773
511
395
251
69
144
397
411
867
874
117
390
642
500
658
511
297
952
745
546
880
544
486
525
376
595
87
709
26
235
615
944
539
405
47
425
488
749
794
547
119
210
668
550
209
665
967
141
425
243
912
214
268
887
516
773
286
179
342
906
733
856
886
422
571
969
264
799
185
144
797
3
99
899
751
453
941
377
209
340
508
84
280
240
873
111
72
91
836
480
368
984
756
242
517
170
606
197
104
394
622
564
437
50
462
303
29
8
209
466
344
886
651
557
72
424
353
47
572
14
423
870
943
25
58
890
68
458
342
906
32
586
425
543
587
345
850
376
486
196
36
198
55
925
922
817
593
359
143
998
265
507
655
832
786
591
812
654
186
36
389
29
661
552
38
734
592
583
526
408
131
311
698
264
439
64
556
139
817
804
31
695
477
302
814
111
730
94
119
320
767
949
236
786
84
256
292
882
629
775
383
937
294
701
629
297
627
681
411
757
404
937
425
249
304
677
456
142
694
708
961
34
910
663
736
170
677
790
908
703
397
706
213
619
763
579
578
615
338
157
161
343
397
779
798
122
641
417
210
306
796
183
135
814
154
278
431
99
863
897
173
104
188
954
705
116
666
707
494
223
455
214
879
98
664
195
309
576
383
335
907
403
7
986
352
118
545
471
435
365
28
329
944
562
691
118
706
683
908
419
210
469
5
858
318
671
154
112
242
850
607
804
969
192
7
377
303
443
230
443
457
806
933
170
607
592
526
120
816
597
575
274
417
4
253
747
978
949
294
413
975
450
961
670
527
782
876
367
941
634
801
303
771
816
457
986
550
587
191
682
929
13
753
807
827
560
320
449
636
371
743
858
175
595
511
721
210
50
578
292
697
157
238
723
670
57
407
85
964
128
501
207
245
152
824
987
430
859
767
380
142
876
453
494
208
321
543
212
233
386
216
109
686
411
553
918
193
325
710
326
931
870
399
509
19
369
701
935
987
750
642
823
987
34
216
295
94
737
794
210
355
859
475
976
745
688
265
947
766
771
570
910
380
463
319
788
645
349
560
51
590
105
80
684
635
162
140
588
477
140
378
395
518
84
324
100
739
734
891
61
80
601
60
768
857
730
650
916
598
575
363
979
714
235
922
776
212
908
296
159
152
949
469
511
926
312
900
341
245
666
443
531
844
387
633
713
303
512
650
899
678
770
979
19
942
142
953
15
532
169
831
49
165
199
732
586
727
724
800
587
943
719
36
448
753
320
702
982
575
956
103
349
987
309
405
981
46
493
657
808
181
710
571
933
887
299
994
344
481
974
403
511
757
670
704
254
814
298
939
334
224
279
740
257
914
580
247
949
498
261
106
753
628
159
667
378
788
349
835
791
625
744
28
675
348
733
757
805
739
759
180
101
941
968
535
835
722
249
897
495
48
935
76
845
336
179
873
526
993
895
7
572
760
932
679
287
826
745
907
76
723
362
519
329
149
959
130
129
360
310
922
178
119
949
690
936
415
748
831
627
308
64
923
769
881
351
182
269
346
521
205
700
757
876
749
265
904
926
170
82
998
263
407
289
233
703
420
757
724
681
757
445
359
830
400
599
597
771
306
155
337
222
510
682
578
956
302
357
83
97
331
928
112
942
888
940
43
804
299
323
742
7
260
70
125
130
574
417
577
644
574
243
290
908
190
68
388
657
833
65
273
633
167
988
147
176
447
214
433
45
68
905
793
289
175
156
464
761
601
369
822
171
29
793
805
649
383
179
779
552
73
741
89
135
849
963
724
898
953
779
203
626
995
624
648
778
959
114
563
973
128
454
690
389
609
439
255
66
65
66
316
158
403
883
736
382
303
395
571
454
955
19
460
154
67
466
70
150
555
987
244
580
483
172
599
766
664
112
656
617
913
816
81
878
143
467
388
576
837
95
164
248
307
759
296
273
870
72
383
606
480
170
721
758
76
494
752
990
325
335
43
649
173
729
607
364
139
341
795
336
624
374
376
899
910
584
468
132
811
710
558
91
844
224
169
338
617
378
199
891
545
70
472
962
839
540
932
792
134
898
365
711
676
724
275
710
967
241
973
796
253
205
182
767
361
893
329
676
140
702
794
674
815
274
926
364
127
173
669
244
241
312
452
686
584
214
677
244
952
466
457
566
154
296
267
1
267
982
684
397
276
344
379
151
134
356
588
372
348
704
115
403
979
270
324
867
859
758
198
603
211
666
795
210
736
210
260
955
472
783
765
888
939
322
842
588
530
791
524
309
827
780
445
768
197
628
675
388
268
537
671
496
290
965
859
837
944
26
364
457
846
203
280
883
743
37
183
639
946
790
929
397
293
516
614
717
19
317
405
288
783
267
534
129
53
390
197
235
429
424
101
321
729
721
928
443
528
710
934
559
950
314
274
980
961
895
34
609
915
409
726
789
310
401
83
652
622
243
286
673
949
790
805
774
799
969
51
95
851
539
521
780
684
836
193
675
412
350
628
378
974
698
831
111
600
629
635
408
420
212
737
82
637
123
828
977
77
823
368
927
240
981
306
488
537
758
491
118
167
347
400
451
95
800
659
453
41
368
832
724
884
565
414
218
352
64
843
398
285
2
1
879
933
85
563
666
571
905
989
255
271
314
873
632
654
417
575
245
376
316
73
243
201
356
523
118
34
468
432
898
998
787
999
930
252
696
632
849
486
464
944
221
138
332
279
41
474
411
17
108
280
814
711
369
1
45
287
322
59
871
134
329
858
620
938
868
21
311
257
926
429
358
499
445
73
307
420
189
329
380
939
212
551
331
471
96
358
87
827
647
316
266
661
850
209
576
361
351
573
468
534
576
502
220
899
294
977
595
559
59
204
489
625
211
802
877
761
511
329
590
653
731
362
18
801
817
275
743
29
735
551
566
414
455
584
837
177
183
791
818
10
443
30
967
426
516
521
942
428
589
349
243
789
506
519
532
716
44
451
477
643
576
338
121
282
448
224
422
66
585
411
669
427
432
156
311
906
118
671
649
241
456
834
713
550
954
701
829
574
514
533
456
463
908
556
219
530
308
819
471
569
524
9
828
571
152
178
126
48
208
979
295
739
991
105
33
557
373
451
744
609
510
526
95
331
799
643
246
117
382
616
732
659
650
858
825
113
989
272
594
597
149
686
552
8
631
251
892
446
3
843
736
650
328
611
488
112
219
149
621
667
906
104
755
129
198
437
745
556
138
315
729
326
92
575
209
266
382
627
108
211
66
586
647
145
542
756
342
5
340
259
708
396
887
994
539
276
527
871
548
485
434
123
283
806
570
704
468
775
498
326
201
36
648
523
290
475
26
39
689
997
856
140
945
636
587
925
816
978
206
453
575
658
657
84
539
16
287
117
767
986
326
118
575
775
750
489
226
512
469
284
336
577
683
428
930
442
833
777
816
85
835
822
512
924
252
456
903
298
812
297
385
762
35
103
931
345
412
823
37
664
912
297
983
481
575
378
427
784
545
17
344
764
695
974
111
293
967
377
807
844
843
446
483
207
846
172
370
185
615
214
169
714
160
196
866
722
293
770
881
517
532
663
176
19
497
689
356
39
497
15
135
258
361
353
643
386
92
873
437
326
492
710
904
272
735
533
776
705
973
909
107
810
68
734
302
113
756
905
991
881
217
769
780
430
919
823
318
130
200
471
154
474
158
454
374
93
837
981
576
22
122
490
97
994
961
673
986
172
446
918
945
690
533
194
46
300
623
325
740
775
510
562
884
629
991
872
176
128
432
898
936
136
494
314
412
716
90
204
396
911
668
430
952
598
830
209
775
541
430
813
627
663
976
492
282
471
277
347
23
549
226
881
704
231
714
397
207
831
538
684
431
650
50
205
206
842
871
831
679
205
855
31
305
822
767
554
85
360
406
466
844
434
859
127
800
537
737
517
664
20
454
798
764
333
211
71
897
839
969
340
540
268
977
561
743
366
325
798
13
750
756
139
472
812
837
561
804
790
115
275
94
85
807
65
901
155
529
489
299
304
588
694
186
856
777
407
461
285
343
47
698
195
584
80
676
963
269
518
741
321
233
150
115
539
69
234
443
319
601
414
878
126
145
392
209
478
225
180
763
332
968
469
101
995
95
234
871
115
224
594
593
926
779
861
202
444
725
179
265
44
320
162
487
783
781
528
561
283
762
625
733
186
27
836
277
36
263
473
314
887
52
626
437
984
2
926
947
393
435
564
961
115
787
588
345
798
150
64
717
835
60
859
878
919
776
874
580
427
64
488
684
980
420
435
944
326
418
110
694
113
617
897
137
818
390
594
4
792
707
912
978
849
840
503
938
474
541
397
833
477
289
528
486
2
836
471
659
690
552
886
125
650
892
774
41
56
7
473
837
114
451
821
757
471
767
709
521
246
313
914
113
439
420
856
229
665
822
437
503
462
842
531
77
444
198
279
467
506
524
707
177
734
610
8
754
851
448
465
795
992
792
972
258
533
165
417
663
782
426
780
935
247
888
632
39
241
509
5
565
561
272
835
332
839
742
521
11
689
3
684
812
99
358
249
906
94
935
990
83
126
105
224
738
397
97
202
400
132
918
992
289
336
702
927
591
86
270
0
585
512
636
449
741
648
151
470
550
363
336
872
25
965
58
350
594
906
464
83
915
779
184
149
333
641
909
678
165
988
774
857
889
294
798
770
958
907
242
448
772
42
854
445
218
953
825
337
144
209
318
246
367
510
30
383
441
819
899
924
301
318
749
945
74
503
145
105
647
780
104
175
860
736
92
534
225
697
669
844
437
726
529
632
839
764
979
122
660
813
140
728
184
984
681
352
13
410
161
98
34
739
706
789
391
603
242
996
325
830
75
752
578
942
994
309
530
519
977
243
656
931
560
246
45
570
67
794
413
920
649
862
940
604
913
575
91
371
779
813
729
168
571
47
531
229
174
901
211
370
215
37
203
807
179
251
87
992
92
310
173
33
289
394
64
578
995
207
29
371
467
177
497
736
316
519
972
266
451
557
153
46
511
757
530
715
600
286
397
629
217
445
687
478
507
470
994
836
568
240
885
373
347
759
880
269
965
288
665
856
220
498
919
898
653
578
103
213
39
408
818
923
272
244
497
158
75
452
786
149
132
963
320
945
290
549
237
821
977
836
633
517
645
992
103
980
34
294
348
394
951
296
450
951
895
765
481
73
603
752
981
711
423
613
899
602
795
610
3
297
381
627
187
144
594
885
191
350
467
936
253
825
938
333
691
460
762
720
3
214
873
755
61
526
51
626
91
290
268
631
531
960
20
171
83
274
818
270
644
659
637
88
288
713
668
319
795
858
715
476
397
279
975
620
458
50
404
31
367
801
87
64
870
708
938
196
150
429
501
325
148
633
549
704
297
88
163
432
677
879
177
30
219
238
807
165
103
586
221
583
868
510
478
554
500
771
355
50
196
825
809
106
996
552
523
482
776
887
457
517
263
97
267
568
605
95
712
737
517
596
655
506
215
766
277
37
913
460
117
99
940
48
320
891
880
32
751
750
634
132
718
596
131
627
289
753
463
538
784
475
393
220
268
584
831
280
358
505
591
997
820
157
718
3
184
322
547
87
141
195
667
361
504
912
277
563
309
526
75
572
960
466
798
928
956
824
150
67
946
707
625
851
309
297
8
379
832
286
744
248
13
965
354
307
10
91
241
686
137
967
169
17
762
541
542
597
33
258
212
90
292
383
449
301
573
711
642
976
100
67
464
570
478
68
461
318
257
975
393
978
291
309
127
470
329
516
67
775
420
85
239
770
805
538
41
713
984
37
462
750
888
983
262
199
478
980
665
264
109
808
483
180
54
99
983
422
705
267
425
165
83
702
260
453
126
256
599
206
217
936
185
550
144
320
205
467
485
21
642
466
313
837
298
687
469
934
739
491
879
207
891
691
992
675
1
900
951
697
220
572
382
870
121
529
305
607
33
129
947
602
293
146
583
97
92
965
13
342
787
63
737
880
596
473
105
263
488
288
2
660
116
832
899
139
78
317
712
993
922
456
174
773
416
134
836
260
840
334
189
695
467
812
39
736
742
343
288
629
946
286
643
289
803
601
449
754
414
740
401
262
309
604
486
399
365
706
642
472
623
258
410
899
602
110
504
549
373
686
733
473
170
381
20
623
490
822
227
353
354
483
114
760
656
915
562
138
443
824
483
652
491
10
710
502
134
409
467
476
873
171
319
501
83
280
747
939
517
747
630
392
849
870
220
995
703
408
801
401
194
703
8
223
59
626
103
940
882
854
549
106
224
939
350
415
392
229
992
724
194
21
52
89
27
174
183
782
698
357
28
49
369
973
36
759
144
862
583
726
505
660
130
960
898
292
603
811
721
380
228
461
806
674
158
505
603
123
856
848
90
218
422
159
890
345
990
545
900
855
920
331
343
832
343
725
664
74
515
675
470
577
616
167
685
645
148
171
799
409
781
847
924
47
924
408
667
717
143
203
837
158
114
964
748
384
85
189
26
910
260
905
304
970
149
384
889
971
644
683
634
363
455
281
239
117
596
310
230
191
612
747
587
871
266
859
787
742
563
330
588
235
868
523
404
387
790
613
17
8
318
212
720
958
281
397
67
892
761
886
916
413
5
690
260
67
313
384
905
258
551
454
804
412
702
144
207
70
961
548
69
861
978
441
812
78
481
188
535
643
327
31
735
773
797
477
847
411
962
884
761
260
339
355
776
782
611
815
192
683
178
683
101
157
748
732
825
378
821
882
116
247
897
735
850
163
200
689
687
84
84
942
308
226
278
996
178
621
642
306
466
749
880
769
343
623
235
331
731
236
166
413
619
835
156
368
672
289
848
599
571
185
978
402
260
668
719
405
269
614
682
349
590
826
959
991
12
266
569
869
861
312
291
268
200
283
425
906
320
910
722
463
960
44
80
966
913
718
809
442
840
383
215
988
827
945
561
68
51
187
698
415
546
303
735
240
645
593
217
900
818
392
450
87
100
353
337
40
229
812
552
811
390
212
419
491
589
698
488
26
104
231
442
202
141
530
82
900
68
215
741
614
442
724
361
758
695
330
565
714
710
715
513
613
622
983
529
17
949
24
367
658
684
316
849
902
47
137
453
640
152
673
317
960
20
574
654
702
252
49
184
150
544
809
97
273
228
562
705
760
741
675
214
262
958
946
485
58
447
878
266
675
769
158
856
752
259
176
741
236
288
127
779
110
276
360
530
585
306
84
616
7
171
703
393
618
592
529
119
511
781
446
121
16
427
908
657
974
302
827
868
172
952
371
402
578
854
515
543
12
561
435
693
356
110
907
748
620
555
37
421
313
964
93
247
264
886
513
473
958
939
691
261
205
613
183
810
440
111
59
160
762
576
906
553
353
99
661
744
317
173
61
718
307
501
383
128
982
911
119
762
667
941
80
557
943
227
931
680
798
53
201
908
786
11
767
671
548
652
139
767
340
691
549
557
205
316
232
285
719
800
974
224
438
709
353
435
468
620
60
710
662
179
233
178
451
927
861
355
166
858
955
571
782
420
768
59
632
517
874
857
833
748
396
214
425
872
548
146
541
16
37
794
497
928
441
518
140
636
711
693
150
640
699
744
84
996
543
548
292
275
706
546
978
508
168
318
813
82
468
546
523
556
850
992
40
421
3
940
30
898
274
633
825
698
724
878
730
318
627
789
737
274
320
465
302
787
787
361
249
619
622
960
170
361
361
505
995
204
82
563
906
325
767
651
574
806
820
555
76
921
741
393
82
941
796
609
940
130
98
511
203
554
506
229
167
944
808
477
820
308
747
156
908
628
568
194
395
990
432
914
438
493
930
895
964
227
177
469
888
973
860
725
589
928
217
148
157
389
488
103
377
905
617
886
306
615
95
205
647
215
429
210
522
665
899
363
135
309
225
660
88
362
813
206
562
725
601
962
878
204
705
151
399
539
258
352
556
961
627
614
181
269
247
575
542
687
721
870
521
410
587
758
619
265
987
403
325
429
603
29
589
64
406
296
371
530
477
432
247
411
435
40
197
545
126
16
564
81
709
22
588
8
417
406
327
416
918
433
396
520
4
454
304
438
345
687
285
79
694
249
774
491
125
55
598
253
85
897
385
461
650
980
685
639
744
819
666
531
915
616
131
965
484
895
911
813
559
659
48
248
42
148
508
345
877
586
244
336
585
207
303
834
493
311
893
60
891
993
625
279
268
696
161
146
721
911
495
962
96
488
429
978
4
174
270
698
751
328
667
697
380
784
69
207
822
686
255
281
995
637
16
821
533
694
704
483
188
422
323
8
352
92
212
298
540
838
379
182
9
888
953
706
632
519
746
921
298
859
45
149
250
520
612
807
615
151
758
320
306
525
372
61
538
24
472
585
32
617
715
742
580
948
660
943
5
405
493
649
867
92
74
166
926
576
775
165
91
822
552
81
469
950
784
602
126
27
81
570
864
598
750
18
566
223
839
38
153
435
833
358
238
863
828
196
828
256
973
345
902
807
928
897
744
816
539
521
894
687
798
601
770
558
812
339
746
76
291
850
927
632
570
563
798
648
724
145
461
905
744
12
137
838
310
161
374
77
908
59
17
877
662
451
451
346
225
990
439
811
266
278
457
462
432
562
929
900
686
795
429
412
986
499
497
129
627
175
885
736
99
835
451
811
813
86
681
185
95
978
728
711
627
637
259
900
247
0
353
638
226
727
666
129
963
12
135
548
592
847
452
411
248
519
152
730
768
618
785
985
670
547
242
379
525
519
957
405
993
660
232
117
192
99
824
831
384
324
385
417
381
181
909
784
155
925
823
28
659
910
642
685
654
637
273
919
952
931
256
963
165
808
490
643
195
628
346
462
969
545
434
320
238
936
348
753
834
189
392
785
25
678
317
375
793
632
318
9
444
877
572
929
374
137
841
384
803
208
141
266
680
105
141
454
549
968
117
333
558
752
196
750
10
693
477
720
704
942
937
70
670
874
915
323
574
601
145
959
839
687
682
801
942
387
443
509
974
932
282
400
89
839
265
999
810
758
822
351
444
914
278
492
814
885
508
596
146
566
951
651
951
72
295
700
873
145
565
501
175
580
381
946
678
195
87
909
5
226
26
7
42
229
405
70
172
333
923
338
999
932
85
583
51
568
432
900
676
562
782
305
131
886
869
551
998
603
841
383
886
473
897
876
549
360
492
386
872
470
743
458
894
359
482
542
188
347
327
278
229
700
638
141
882
542
745
926
114
865
898
634
969
200
938
461
893
273
191
119
781
914
95
706
882
720
81
642
103
800
433
961
816
673
882
610
37
653
153
263
8
477
877
657
875
482
793
980
350
550
502
927
464
938
686
563
621
379
839
988
170
872
443
906
399
677
740
452
308
534
514
25
966
980
988
669
294
223
450
349
100
812
563
240
426
159
146
949
664
242
806
187
644
852
394
875
159
13
169
671
739
418
790
112
398
608
693
731
465
878
200
975
96
804
141
382
295
814
738
390
673
221
383
649
146
487
300
874
588
509
431
695
96
126
487
284
395
967
811
910
479
81
179
677
1
516
805
245
595
584
412
188
581
88
901
438
988
492
519
82
910
218
527
387
727
187
825
857
989
870
160
518
30
857
131
205
763
206
697
430
771
349
910
384
83
327
441
643
218
752
726
908
122
882
760
365
456
163
994
64
259
76
203
98
379
177
464
819
985
52
364
625
638
184
926
952
126
21
364
544
246
286
210
236
881
935
36
344
75
97
225
1
671
880
717
929
891
623
622
250
220
639
482
230
244
469
666
501
182
597
681
332
827
73
63
678
467
874
800
609
749
582
853
924
703
444
291
4
911
1
709
109
900
223
608
889
910
938
977
207
352
35
301
6
197
697
390
212
471
263
627
92
647
800
107
996
594
522
115
781
824
121
69
383
640
647
373
363
118
773
277
906
799
949
91
529
535
931
506
283
939
814
410
428
790
833
35
114
465
774
491
35
137
159
528
775
69
499
284
697
266
443
867
672
514
137
643
491
701
56
332
898
320
807
838
501
723
727
191
528
173
226
516
508
301
404
827
668
655
49
932
378
672
625
395
184
989
242
403
589
768
593
567
241
460
90
947
410
109
808
728
350
434
156
164
121
753
534
363
154
573
590
925
838
131
126
54
573
503
801
367
393
6
176
674
370
210
184
38
445
19
620
98
160
47
7
323
608
170
307
980
566
435
601
26
297
275
111
209
899
557
619
676
841
740
33
697
558
226
107
546
910
12
694
725
536
549
332
525
83
701
249
273
137
474
40
982
722
518
865
205
189
849
771
437
235
324
657
48
287
282
289
422
946
525
930
820
32
86
562
299
397
515
206
955
761
845
482
308
303
257
669
541
243
451
893
715
615
134
362
803
31
82
985
682
889
891
716
734
861
778
762
162
788
131
477
301
602
60
443
171
671
236
304
198
773
553
78
50
560
1
402
398
428
624
695
54
208
817
450
858
184
756
667
986
263
475
26
885
119
529
367
142
386
866
256
235
469
132
814
599
959
772
30
784
293
62
405
190
631
509
29
125
557
605
525
490
338
0
897
888
151
271
98
888
729
424
217
251
842
440
73
159
282
59
34
502
945
178
795
786
213
554
780
601
513
418
92
229
386
335
835
535
796
253
115
271
862
93
47
452
2
926
241
875
236
428
573
179
981
655
671
220
34
863
475
288
634
830
202
173
686
696
658
987
71
8
150
752
968
947
551
777
677
814
686
656
898
958
450
511
656
622
115
117
326
946
275
295
30
37
179
99
863
374
745
543
860
155
968
40
135
83
341
637
334
88
900
565
388
381
44
39
497
304
857
249
179
52
916
247
623
146
12
326
533
205
25
350
495
878
912
863
749
715
312
48
114
812
794
752
181
953
630
19
656
491
726
348
688
673
222
359
323
40
91
614
87
821
216
248
761
463
608
237
441
805
422
228
449
635
950
298
308
808
211
863
631
164
975
393
248
370
150
476
949
746
233
495
346
632
22
135
259
191
426
226
363
432
57
460
510
194
307
691
103
722
706
888
338
303
589
526
130
178
899
177
210
242
924
623
56
956
18
510
823
617
508
566
269
927
657
667
677
629
769
169
201
432
412
797
635
197
157
50
890
759
388
826
737
381
555
6
851
80
838
103
508
558
297
132
69
825
993
842
992
724
482
684
291
630
512
693
829
591
211
650
459
257
712
686
585
655
555
915
773
759
769
254
465
281
610
31
172
118
944
832
437
60
328
643
607
229
601
740
269
351
277
395
29
400
272
340
701
877
342
299
224
858
997
826
282
449
529
4
346
422
791
826
38
707
398
154
110
65
182
58
745
620
306
921
429
933
558
867
442
636
638
280
748
65
991
371
402
449
647
419
234
785
536
854
130
337
656
531
266
431
727
669
136
800
417
592
237
481
607
928
110
715
921
488
293
799
549
995
743
290
902
109
381
463
485
190
91
836
392
444
111
429
989
251
570
985
727
842
890
611
819
496
383
106
318
359
58
133
89
786
989
199
605
780
150
872
543
243
680
862
962
751
892
361
86
920
91
801
843
503
698
943
93
722
41
52
354
865
663
367
889
815
570
409
46
394
777
446
428
389
787
693
111
146
857
591
650
467
793
53
357
33
403
173
514
618
96
652
180
727
60
625
39
986
492
58
541
151
672
937
643
786
233
224
528
720
365
160
355
807
86
473
819
760
749
181
946
441
281
638
914
148
559
609
931
793
834
131
329
527
752
168
871
38
159
242
25
400
638
482
310
94
997
61
327
5
330
70
613
896
477
444
924
678
61
296
811
861
652
169
339
105
441
811
821
188
965
986
424
10
529
594
169
463
432
98
909
450
366
84
96
806
824
768
961
298
628
238
442
183
971
723
324
401
386
749
74
249
68
376
695
70
839
195
279
311
575
125
16
269
397
738
414
81
75
697
719
144
611
344
838
754
416
403
972
798
830
853
175
89
916
40
903
786
934
405
43
434
623
753
685
589
887
619
483
989
650
191
271
149
495
642
373
148
362
384
404
338
781
5
336
45
629
459
771
431
662
503
336
13
127
764
849
645
891
328
476
778
343
510
892
238
217
317
744
693
437
953
762
695
626
954
487
370
940
159
348
533
341
187
498
1
761
611
868
411
155
631
334
861
908
179
293
132
556
806
56
973
901
39
50
948
479
187
45
226
244
441
525
31
968
42
858
17
824
272
653
83
737
129
276
891
48
207
884
160
782
946
200
741
264
335
7
807
87
385
196
161
974
795
349
582
588
38
915
13
560
173
555
568
553
677
647
786
719
666
237
101
212
21
420
768
700
586
745
222
240
434
323
465
431
595
593
650
777
574
860
692
0
97
213
88
724
73
3
873
397
573
337
884
546
982
210
868
342
451
862
177
988
153
627
941
205
879
588
328
21
750
715
819
349
379
400
711
433
431
761
371
578
222
454
371
719
129
194
221
958
174
232
304
41
714
312
494
81
976
227
559
680
174
75
422
333
843
628
551
66
979
338
945
937
364
523
885
748
803
929
381
48
930
528
645
621
766
878
732
246
64
532
937
521
114
982
710
8
121
909
673
720
394
851
525
642
526
920
619
644
437
898
417
552
418
201
306
815
266
180
367
297
994
782
810
659
266
533
683
837
95
1
868
986
819
394
170
117
714
531
902
425
243
78
788
334
259
602
803
511
601
916
471
27
516
581
909
3
901
817
533
296
344
637
77
648
387
981
927
251
632
174
529
489
979
840
585
678
64
13
757
127
602
68
875
656
91
507
799
106
620
831
678
904
948
51
286
977
945
587
742
664
771
353
509
221
906
28
551
14
436
257
748
276
234
655
175
883
562
998
685
471
437
130
177
264
856
249
174
589
432
766
808
100
685
244
461
516
134
20
908
242
317
158
237
304
200
224
964
59
91
722
136
840
324
813
569
645
917
277
997
648
882
290
19
797
453
475
126
423
435
159
836
911
613
994
291
9
664
115
910
446
886
731
631
173
657
576
593
68
846
753
792
239
207
48
104
26
290
97
357
525
249
379
958
761
631
210
220
52
33
550
271
675
51
72
199
225
274
339
903
785
104
486
207
159
558
947
869
149
510
195
999
404
509
745
686
591
427
342
250
807
948
649
261
584
863
93
455
189
165
327
579
24
158
357
114
791
214
741
875
182
826
651
282
262
840
526
744
74
558
518
100
690
14
666
887
28
214
42
950
899
731
759
20
402
301
367
772
224
166
973
938
623
608
262
626
809
64
907
876
656
447
101
953
926
688
246
803
38
536
553
610
957
509
49
71
785
799
907
464
785
272
952
324
292
317
550
703
39
30
642
943
151
170
190
639
249
390
463
591
18
931
223
38
349
499
486
114
238
414
336
981
567
998
557
671
162
484
154
227
121
376
501
920
503
260
956
685
63
908
86
157
644
252
71
522
686
88
938
687
913
484
284
918
292
87
345
723
979
16
545
179
175
937
279
215
660
283
796
721
570
997
71
110
914
711
359
626
358
273
957
866
97
805
278
691
633
605
901
780
796
647
782
744
429
749
431
698
141
348
611
157
571
427
565
374
65
70
989
995
201
519
628
486
748
71
827
715
843
539
61
956
431
287
530
1
75
686
245
260
801
471
17
465
532
416
75
221
394
206
311
232
979
345
299
471
355
248
312
425
75
336
221
911
333
549
575
760
256
329
82
648
973
618
609
59
344
113
298
744
456
101
552
416
739
929
995
462
696
811
618
690
299
704
135
649
329
482
993
716
826
342
56
885
449
989
760
748
79
256
501
26
215
852
10
324
287
724
598
387
718
616
401
806
304
88
498
226
873
480
495
560
291
496
355
572
118
246
243
407
222
615
595
736
342
875
554
534
905
685
668
842
404
76
386
618
420
331
681
59
234
890
379
45
826
982
130
544
70
139
512
384
912
462
29
433
523
802
334
507
408
727
390
980
222
357
935
698
551
375
427
737
11
266
567
582
972
578
414
357
127
307
791
529
224
360
579
761
906
168
824
819
539
807
317
130
915
82
672
446
911
396
42
811
182
768
172
656
641
500
535
806
654
931
82
701
829
805
837
884
169
245
954
22
777
378
381
340
65
232
954
179
66
925
716
73
220
842
798
793
683
434
292
917
392
217
124
839
533
401
307
819
671
439
532
278
69
686
305
331
852
276
836
263
916
233
988
729
940
649
643
936
135
621
235
594
938
65
818
400
216
97
592
647
978
133
869
829
29
889
151
305
353
730
754
638
957
63
394
665
65
701
953
168
480
148
22
869
840
488
966
602
424
4
415
243
441
492
521
786
155
120
965
239
977
284
979
877
457
753
383
688
148
972
533
887
36
893
433
757
274
958
837
928
545
881
705
901
37
171
328
343
582
933
809
778
174
844
859
354
674
241
533
495
387
294
510
175
181
139
771
802
897
529
863
39
603
977
140
918
978
847
114
707
503
947
674
675
348
979
523
891
672
468
749
768
176
187
363
645
570
958
320
194
476
493
499
813
694
796
629
209
114
101
677
835
947
568
194
731
219
899
160
880
364
628
921
780
921
428
184
834
81
846
149
217
23
327
393
202
582
550
512
192
127
789
137
588
533
896
269
948
694
71
112
637
913
545
334
444
594
299
926
47
779
624
442
520
17
848
952
597
451
970
250
553
296
508
849
273
454
868
607
154
442
159
904
302
480
945
243
948
315
233
600
187
496
667
420
496
188
660
778
760
247
789
888
213
61
223
925
497
507
745
806
728
3
274
148
672
848
690
311
907
675
437
919
76
491
861
732
243
537
534
652
576
992
408
178
67
651
778
332
550
532
697
957
695
748
857
919
986
891
11
224
327
850
930
467
297
317
698
598
233
28
630
928
610
279
518
21
425
81
82
608
960
616
236
612
811
111
252
608
511
339
652
582
552
606
450
792
128
488
386
992
642
816
931
706
679
133
454
187
710
756
13
483
258
31
794
225
237
702
887
570
525
869
298
268
292
41
333
25
120
703
79
889
388
221
3
331
317
71
219
742
980
528
194
490
726
283
310
334
384
780
755
196
602
228
55
388
704
264
418
749
217
560
602
961
539
706
219
841
383
230
710
160
738
489
81
108
210
54
481
354
215
266
393
640
641
379
933
300
849
886
173
638
387
174
716
468
787
655
727
657
395
956
551
172
405
243
735
88
317
176
71
800
364
635
521
318
830
37
843
54
491
831
149
701
939
276
847
145
825
423
148
792
443
211
21
938
459
705
533
193
324
162
153
25
640
70
552
720
445
308
118
606
644
589
401
702
712
324
368
34
117
94
640
653
406
703
772
114
631
228
242
718
805
859
587
264
42
960
64
552
603
483
611
308
995
28
375
191
596
698
238
873
883
374
278
787
91
342
251
200
593
469
123
175
331
909
198
692
625
745
18
525
2
663
371
822
253
476
364
230
964
311
425
58
86
675
669
402
502
146
735
594
636
320
245
577
192
118
265
711
917
627
509
720
431
27
947
444
487
489
144
330
422
874
877
605
838
758
33
471
935
108
766
131
14
675
882
462
358
769
681
714
966
307
85
944
23
645
304
383
650
576
88
533
40
53
693
186
953
214
490
411
107
668
510
755
289
788
423
934
98
231
48
158
696
164
891
942
675
611
674
703
205
382
104
187
649
891
484
208
318
9
685
950
205
576
586
786
699
118
639
811
553
903
999
252
652
762
20
151
608
885
68
496
910
997
652
673
806
163
332
958
908
17
309
785
169
295
931
647
963
822
634
625
573
469
598
652
534
174
372
577
356
343
280
884
673
903
45
841
855
1
730
590
198
431
427
53
834
632
351
73
189
322
464
533
511
677
296
457
555
368
895
482
185
836
810
640
791
12
837
682
494
525
475
570
951
805
723
16
189
328
65
769
866
15
753
126
600
406
210
827
171
805
105
504
75
294
419
93
409
358
904
211
342
250
449
466
382
111
992
392
865
390
324
625
179
367
201
579
954
151
903
169
423
730
720
300
846
312
64
999
129
376
370
195
949
274
319
413
717
527
680
377
181
275
924
664
43
484
59
262
797
17
639
936
990
106
193
437
548
553
113
467
461
201
698
111
584
161
389
351
913
617
517
638
519
399
829
132
834
922
416
22
263
375
32
92
606
183
385
626
929
12
120
719
844
495
36
886
817
472
80
472
724
446
531
937
142
145
797
905
645
549
869
371
933
356
148
171
52
797
977
279
267
99
676
847
443
68
975
587
466
591
555
994
832
781
510
268
11
44
278
678
352
520
856
247
43
734
489
228
722
958
789
532
587
830
974
660
178
688
316
605
784
257
447
588
278
545
662
523
580
376
586
88
525
216
14
53
584
405
876
246
879
747
837
790
134
244
15
489
781
907
159
620
70
243
310
829
259
774
404
329
273
463
818
618
649
849
768
161
456
917
402
746
959
517
908
29
874
841
986
276
404
815
342
418
555
445
752
85
181
313
725
969
447
11
372
165
363
956
161
157
108
895
986
570
578
830
881
858
800
860
950
834
890
610
301
444
57
327
128
366
350
92
874
178
591
651
837
416
359
385
428
523
101
475
656
804
174
691
286
502
947
293
440
645
316
604
141
921
961
480
763
989
816
631
632
358
565
611
588
634
317
809
368
606
248
343
972
847
536
622
713
447
687
536
768
581
337
136
796
626
872
584
526
469
828
858
534
977
912
195
254
48
356
166
864
350
898
517
604
912
708
298
854
318
698
468
299
553
291
594
371
248
141
702
196
909
410
802
555
598
625
608
450
128
942
823
732
324
562
284
350
451
641
793
299
3
879
277
312
438
502
616
674
645
970
265
0
659
619
336
476
662
737
13
686
924
517
453
532
223
19
291
887
319
281
967
956
56
996
445
606
552
723
571
230
293
337
317
273
816
514
38
498
633
6
498
401
643
760
671
414
772
770
292
873
38
704
883
284
669
854
417
704
15
698
717
546
620
239
388
301
854
540
752
705
899
815
904
97
708
853
616
64
478
578
885
884
254
622
160
63
246
660
101
886
693
121
172
763
608
797
784
65
169
638
675
855
943
149
724
267
949
35
238
912
502
652
700
258
609
624
813
348
787
135
98
928
624
33
777
586
265
740
273
351
959
311
372
661
749
220
943
463
197
343
285
266
150
595
857
573
255
15
200
285
529
552
396
380
663
497
26
34
950
640
703
46
122
273
521
558
496
70
522
439
880
792
138
456
198
109
320
375
863
685
145
394
946
856
27
29
881
3
676
753
822
244
404
271
190
711
109
863
436
771
629
998
944
117
518
135
521
846
605
489
25
319
745
777
69
517
341
760
46
313
833
112
628
533
353
88
25
792
162
836
53
58
36
416
79
248
552
609
769
881
927
436
630
212
168
997
933
549
48
151
984
982
434
158
573
208
199
555
252
634
697
131
922
829
487
471
157
880
759
915
136
357
170
948
286
402
103
864
112
699
193
176
904
652
772
655
875
396
140
266
713
735
25
65
390
688
286
538
619
710
114
290
329
360
231
873
109
883
286
239
744
487
11
587
792
327
313
423
614
3
236
20
602
408
457
951
626
202
575
967
953
184
569
603
424
51
913
218
711
480
299
321
387
453
746
557
460
927
608
890
785
880
424
8
413
725
316
970
375
808
724
830
716
866
661
837
780
743
427
87
645
489
896
637
228
816
471
717
13
794
831
998
957
695
410
919
545
403
72
531
199
494
652
738
534
643
136
248
522
199
822
136
708
199
393
283
478
665
29
824
66
889
155
690
711
389
164
0
553
693
712
4
55
831
378
292
60
377
772
852
671
912
855
263
706
945
541
51
425
862
98
686
596
39
484
800
275
807
919
87
376
450
158
691
632
907
829
43
192
172
517
106
259
891
73
878
421
94
869
774
1
346
167
646
94
529
911
683
615
679
890
428
727
173
563
276
795
95
36
499
872
454
939
936
597
544
451
741
717
305
855
683
852
769
173
123
468
590
848
915
215
356
45
845
871
757
172
663
601
59
127
883
87
549
215
55
990
350
136
754
380
767
455
319
72
678
724
350
396
541
205
170
279
842
218
415
989
462
891
406
270
635
9
798
344
940
769
787
486
52
182
224
205
177
843
892
982
702
574
869
323
694
588
939
660
738
220
25
140
767
586
294
312
187
645
660
419
385
499
801
947
629
634
756
406
10
773
972
370
219
549
939
161
426
585
63
649
473
600
6
653
685
431
974
178
438
487
768
733
243
264
882
234
35
446
892
444
42
353
392
159
979
960
381
282
360
178
328
642
259
770
663
78
158
619
716
933
878
348
833
833
775
135
328
281
642
48
87
904
524
503
411
576
498
560
829
741
60
982
178
139
296
416
83
986
418
531
393
598
84
109
594
487
645
815
57
197
259
427
627
169
261
692
790
283
845
492
589
827
858
405
858
825
281
934
385
84
756
346
653
418
748
761
515
33
957
960
144
321
805
630
647
440
617
827
605
931
581
386
532
555
746
835
105
227
312
831
638
284
622
72
803
595
816
555
908
42
456
698
567
130
232
86
507
902
83
440
336
835
37
209
463
329
578
259
675
479
658
893
552
201
319
561
771
723
983
591
592
289
598
409
188
188
691
549
984
135
134
962
844
742
596
500
441
4
968
975
705
339
385
712
28
592
712
644
183
67
456
14
740
495
934
271
874
753
163
409
436
983
887
255
305
92
230
632
687
579
379
553
95
5
7
317
250
789
722
840
612
500
657
799
512
58
788
727
634
223
354
271
747
519
915
993
64
291
504
526
466
530
376
617
885
479
167
125
945
203
951
948
174
292
354
388
81
238
966
560
838
241
182
994
844
307
377
772
117
852
574
249
398
124
555
187
803
168
224
613
603
579
214
806
580
779
575
837
543
694
64
555
995
118
671
850
310
816
747
720
234
220
560
336
0
445
17
173
195
976
943
866
563
289
208
685
653
9
311
853
260
167
594
37
390
88
679
253
53
9
413
585
36
293
129
424
267
841
230
998
92
13
487
441
345
195
569
673
358
687
330
342
577
902
873
747
7
610
206
360
910
390
270
590
531
21
600
905
863
874
81
318
620
119
732
101
720
261
777
138
46
579
400
937
318
637
29
531
459
700
134
861
164
259
99
763
60
141
35
65
561
293
656
214
449
260
320
898
707
375
3
129
861
459
261
525
598
447
222
435
450
677
976
293
708
805
966
544
507
65
617
401
354
57
688
947
582
260
673
779
720
34
803
541
647
672
505
725
565
513
857
149
44
721
714
468
714
868
521
282
183
951
275
291
415
823
189
249
229
42
80
491
278
984
288
327
363
133
545
626
461
392
830
245
726
328
100
715
226
273
162
809
869
167
224
390
34
28
839
195
542
848
481
694
70
763
216
797
662
193
317
438
209
810
71
880
846
698
116
611
89
238
160
318
631
129
558
244
71
753
274
923
968
29
830
163
546
168
673
501
785
238
434
775
893
838
626
521
688
396
761
852
541
265
319
720
209
950
898
28
919
448
964
519
419
213
567
604
334
252
312
606
336
85
845
828
950
317
997
377
17
121
3
80
281
975
612
682
65
234
922
6
260
103
225
235
987
856
641
8
192
38
828
254
857
425
554
498
555
507
666
397
291
245
751
163
377
439
102
371
125
232
578
149
61
978
68
24
436
891
704
4
643
131
268
438
662
56
921
912
159
386
524
840
192
373
59
332
386
175
773
793
331
440
350
636
247
489
673
367
161
426
625
127
599
575
445
497
21
745
810
430
826
101
464
841
500
372
916
664
841
74
833
987
687
708
726
593
122
173
244
733
927
686
176
458
462
790
676
703
633
330
633
270
940
52
55
982
219
543
579
314
857
338
206
710
197
209
20
61
388
932
875
245
304
365
411
628
833
823
169
567
994
726
112
629
207
950
9
962
799
89
337
963
614
396
324
722
553
437
644
146
415
333
254
668
803
961
288
198
652
326
767
413
882
587
422
924
746
792
8
585
445
79
823
22
929
549
975
407
466
652
682
231
664
845
509
275
149
813
218
550
350
396
769
654
256
684
281
716
757
238
906
571
1
393
619
507
46
276
551
918
34
842
345
164
249
704
551
220
330
953
47
937
704
752
487
865
61
772
875
691
79
40
557
65
795
803
335
910
118
661
724
860
644
113
67
553
152
854
212
189
859
55
704
562
445
282
219
896
131
628
894
44
32
865
178
281
541
258
670
285
954
678
24
69
289
741
189
700
122
848
227
401
794
822
779
14
203
772
393
656
250
834
127
335
447
147
262
337
215
483
904
872
54
989
423
929
276
979
185
744
540
672
196
326
41
106
543
373
874
265
601
684
848
174
933
792
680
73
380
288
877
847
155
299
75
427
197
498
297
641
232
4
613
697
730
178
182
827
736
396
401
939
49
788
101
309
888
925
828
940
618
694
501
621
361
89
326
864
625
577
403
495
418
860
928
871
115
309
474
452
224
284
18
963
704
431
307
631
809
932
389
630
821
188
117
951
853
235
665
461
309
517
119
523
676
261
756
458
801
889
861
180
575
624
713
412
742
297
99
73
597
512
938
216
278
612
108
660
578
11
349
311
800
113
294
308
368
626
581
939
399
570
762
27
971
520
416
943
840
621
396
503
48
211
618
935
900
666
901
924
474
335
34
482
633
823
893
224
257
494
1
779
973
920
369
565
930
735
898
655
514
693
195
966
304
376
395
636
401
786
770
734
930
647
618
13
660
950
115
909
8
917
962
133
91
203
436
242
617
724
71
256
65
993
352
718
475
237
36
780
286
151
641
257
363
492
147
864
35
745
139
831
108
737
630
192
734
668
883
18
101
869
443
283
395
524
815
714
170
528
242
394
816
988
806
207
790
112
878
646
101
573
69
206
675
967
71
328
101
217
159
255
882
134
522
670
602
872
163
796
971
725
741
551
416
876
453
570
83
770
900
209
12
423
646
735
89
353
175
254
737
87
970
340
984
76
144
586
235
256
829
525
133
550
194
721
859
197
355
537
697
550
882
661
772
962
17
402
329
672
160
586
791
792
119
629
122
447
342
363
247
610
595
505
192
246
536
625
870
74
62
264
813
773
322
747
626
20
996
4
518
75
586
291
700
705
838
897
375
464
263
910
160
401
425
296
646
792
345
162
807
263
603
758
109
523
147
368
615
983
549
137
328
951
154
757
477
420
695
371
740
646
588
561
65
985
326
557
84
741
239
398
434
743
27
843
638
859
164
189
117
602
971
532
533
909
567
907
114
774
753
775
680
421
236
298
224
894
839
375
744
981
379
862
812
526
780
957
138
442
496
276
241
919
903
530
674
92
691
975
711
210
862
613
453
25
920
408
280
309
130
110
983
398
325
119
887
827
310
502
708
251
676
31
940
272
632
886
47
706
164
913
229
295
323
121
576
806
752
480
790
292
269
9
742
726
866
281
116
61
408
637
349
181
501
855
41
771
78
864
523
353
202
943
70
587
964
750
719
401
11
706
423
836
48
23
893
826
238
255
233
247
257
991
356
415
886
574
485
747
31
621
835
119
614
369
367
424
536
142
229
478
90
142
925
235
751
921
748
301
196
699
173
129
781
286
693
716
465
442
526
847
941
971
613
665
347
470
430
27
389
462
115
297
835
612
779
4
541
422
336
593
7
55
885
170
757
389
777
601
946
787
263
67
278
150
717
96
564
116
363
646
168
991
87
834
374
734
509
871
479
453
69
649
847
122
400
419
79
53
120
273
358
139
384
214
372
472
812
110
539
51
679
950
968
766
464
565
861
632
21
505
934
367
380
256
36
374
139
920
206
864
832
345
89
90
960
971
688
509
298
183
397
213
355
796
939
24
952
998
592
840
348
467
134
960
354
958
510
281
277
108
133
879
480
445
328
266
581
970
496
500
223
734
38
616
59
319
744
223
373
322
660
54
934
617
28
448
21
112
164
766
793
174
827
417
638
599
49
345
987
449
254
251
579
863
591
506
610
459
254
22
44
69
125
439
240
434
409
58
330
303
346
669
910
127
330
179
907
672
242
320
21
623
26
369
504
310
688
791
312
921
242
751
6
405
518
151
460
809
928
390
233
840
135
143
643
584
558
730
396
500
808
294
220
363
174
600
779
818
258
399
388
444
69
442
693
338
578
268
546
150
403
997
150
348
960
98
475
239
239
19
503
767
504
298
67
562
382
406
315
487
379
795
786
626
767
326
534
103
976
588
507
499
469
20
168
663
469
901
221
340
365
917
590
251
619
174
26
228
312
451
42
42
440
165
428
746
314
770
547
208
970
748
391
712
631
706
227
381
300
146
486
963
206
934
254
932
802
50
418
447
494
274
619
403
310
654
956
254
987
492
62
708
798
215
139
457
818
453
89
192
82
799
713
886
975
847
676
250
17
190
113
476
546
174
299
348
373
172
721
539
615
103
764
404
751
225
23
392
576
103
700
46
243
32
361
881
837
775
401
459
496
125
207
971
821
21
666
955
383
573
745
76
849
361
175
945
2
690
483
313
303
848
963
678
513
453
722
77
850
84
594
967
672
114
143
9
961
988
570
789
934
277
433
160
524
593
165
820
985
315
740
475
573
653
112
323
235
363
831
975
410
655
632
948
160
314
810
24
208
128
703
574
323
871
504
245
915
884
412
538
701
864
499
24
811
951
94
895
510
730
436
507
693
682
269
798
173
856
724
668
280
885
644
86
573
343
620
162
66
469
603
392
66
942
519
850
254
122
152
256
62
424
170
868
462
694
652
778
723
74
84
485
270
637
131
802
394
623
735
348
801
585
801
143
781
589
667
841
361
648
704
647
558
985
489
764
148
738
619
486
339
149
341
632
541
95
752
295
236
257
623
393
684
910
445
58
550
462
294
895
61
729
716
934
753
567
324
441
515
813
941
254
598
48
301
89
417
686
549
640
227
240
414
750
447
111
162
49
313
772
767
567
835
292
317
252
239
534
591
262
676
581
585
460
3
305
810
931
870
657
870
658
191
679
229
403
692
77
126
920
904
868
661
502
393
960
692
819
417
315
549
420
378
666
126
481
947
570
357
806
519
950
141
915
807
20
488
667
879
134
709
627
229
217
439
580
941
288
916
931
507
175
176
123
599
471
841
251
497
345
84
642
127
405
596
293
752
568
585
397
752
537
330
117
756
969
363
563
876
158
861
519
423
423
140
750
990
893
205
520
724
902
297
381
749
686
743
791
612
156
785
23
129
202
869
374
57
212
398
47
304
239
202
149
302
303
219
766
7
383
259
993
682
882
561
931
104
596
910
76
658
572
790
495
306
705
469
804
506
553
149
243
34
322
352
719
814
666
353
230
334
391
659
759
458
867
777
715
938
409
196
523
988
758
924
57
867
645
339
804
555
967
988
701
949
538
206
977
97
294
658
589
152
378
418
933
882
178
94
920
547
357
273
381
619
208
625
600
106
694
445
271
372
53
437
485
888
597
759
438
950
720
29
973
944
279
518
554
203
27
733
601
317
347
26
673
830
169
732
687
680
662
453
924
925
199
957
276
930
66
318
614
407
851
40
108
77
843
887
937
952
965
383
540
721
898
647
203
307
234
47
896
887
150
79
511
306
739
218
330
648
155
113
829
993
450
376
645
581
335
469
417
130
465
849
660
953
482
419
601
322
389
285
153
834
885
941
314
193
894
520
937
564
868
291
911
267
669
541
153
502
280
348
485
547
203
113
425
300
777
21
806
499
832
740
940
696
243
569
184
356
982
436
466
533
239
337
588
57
655
221
185
124
564
741
338
905
927
697
568
701
5
575
409
115
866
608
103
47
376
981
764
73
477
718
806
417
84
549
176
735
467
873
159
36
906
297
695
404
330
52
535
94
512
646
870
287
405
717
161
452
889
547
600
865
349
779
171
816
7
620
754
845
557
784
825
906
941
106
89
956
431
333
872
460
604
973
934
817
960
415
657
910
926
921
236
606
34
857
92
566
612
624
33
74
611
712
392
779
158
325
992
15
871
3
164
608
767
62
914
408
492
975
776
61
588
20
119
170
993
192
915
396
587
921
778
651
262
805
298
670
138
914
385
360
628
880
839
956
948
885
565
28
894
51
520
50
88
451
885
904
499
711
477
838
754
156
857
142
29
275
35
570
213
493
201
818
381
458
338
580
625
274
98
327
649
976
816
743
76
322
659
209
286
896
923
57
525
960
183
623
863
363
149
530
487
563
669
308
130
625
695
351
611
992
515
500
878
758
740
192
774
641
427
419
313
470
845
250
926
631
339
539
290
138
842
862
15
155
531
628
658
667
591
329
264
153
831
102
393
738
203
240
819
573
485
963
900
378
392
873
166
81
433
887
319
501
663
821
643
49
676
263
853
35
993
887
460
249
439
645
212
863
8
127
755
238
760
947
20
826
989
850
626
107
493
862
569
691
976
403
664
651
49
281
274
240
859
647
954
504
74
60
582
312
213
858
274
547
770
232
572
486
918
430
530
650
310
641
896
271
73
446
469
397
341
504
455
526
904
948
489
984
819
725
239
992
645
42
600
75
58
885
916
229
478
456
795
15
665
937
255
39
156
378
139
821
299
550
826
4
501
395
626
57
706
810
527
927
4
239
829
229
558
275
846
666
970
118
452
430
358
138
119
171
671
854
144
834
359
631
69
400
340
254
932
944
303
896
405
208
249
450
401
422
137
370
451
300
32
650
142
979
432
561
257
669
405
569
60
762
929
725
445
300
502
666
590
939
863
574
363
941
567
114
965
131
16
129
120
354
710
517
105
205
605
802
827
558
496
966
589
977
837
524
405
118
242
226
361
594
28
675
620
705
866
818
353
737
449
902
762
996
657
442
852
44
383
903
584
37
900
749
410
369
858
765
258
333
268
665
670
745
473
123
443
284
669
615
71
750
268
117
216
662
527
120
467
943
764
87
657
58
114
648
551
944
131
976
679
816
999
767
131
703
970
307
324
845
746
503
687
986
449
291
740
954
157
625
113
863
836
619
857
140
212
137
244
102
309
318
921
625
300
392
20
981
651
151
827
55
102
307
266
908
641
988
338
684
378
368
777
238
865
437
733
918
269
217
711
318
898
24
408
953
540
751
582
554
253
914
157
652
436
900
255
239
463
369
841
611
840
641
926
1
738
691
41
283
997
69
755
840
785
218
97
597
607
11
260
56
492
652
282
38
812
441
502
190
440
736
343
658
954
726
625
684
530
419
13
311
961
186
408
593
806
539
346
930
587
823
708
569
375
583
955
227
15
536
706
439
753
350
559
775
174
901
557
993
531
160
787
286
844
311
851
981
397
26
227
319
408
73
586
617
553
41
277
793
530
775
346
867
880
609
669
451
341
390
299
607
33
356
704
106
561
676
275
944
469
26
509
379
169
633
322
864
718
384
481
88
504
597
983
340
842
216
191
983
31
605
370
264
998
57
56
988
965
979
878
558
645
71
951
502
198
459
409
889
455
258
564
510
798
410
965
628
522
816
145
94
60
470
651
795
135
616
519
685
915
168
401
618
512
299
84
249
400
10
993
774
318
567
148
970
104
499
713
987
577
815
444
859
540
169
703
834
896
809
112
829
496
16
447
653
920
472
566
446
895
413
662
555
533
100
454
208
870
812
186
69
831
964
528
90
655
128
264
131
100
993
723
568
778
246
209
53
408
798
467
842
449
134
320
518
790
271
647
163
347
762
35
991
219
337
810
720
814
331
667
699
888
484
96
345
348
621
336
968
978
856
800
504
647
38
4
906
25
329
354
139
505
25
430
495
97
611
194
174
309
855
312
371
456
994
787
290
589
494
632
631
407
555
213
253
7
45
779
253
290
302
293
302
774
155
685
663
384
889
982
390
542
742
65
534
891
324
69
521
275
141
801
107
805
243
205
811
691
123
820
422
10
94
756
726
631
491
159
371
101
106
527
354
623
277
607
176
262
950
506
455
223
295
831
240
998
516
916
222
638
168
550
872
202
491
577
743
311
209
569
72
4
800
998
777
483
566
815
59
86
438
984
59
624
63
832
606
374
447
738
29
332
545
436
365
686
36
535
354
639
34
604
170
272
213
48
938
150
27
123
776
252
342
176
818
703
664
224
637
610
965
228
669
671
214
615
112
599
94
54
194
346
568
83
580
666
649
206
628
618
452
740
186
523
994
775
929
130
860
282
835
779
416
97
517
841
479
214
297
465
604
210
105
844
876
45
324
155
921
603
821
600
136
694
506
784
46
897
470
753
603
363
145
191
775
846
479
762
223
734
198
807
738
107
823
892
250
144
743
262
623
261
188
292
370
596
253
250
332
997
49
271
37
606
583
146
33
775
79
136
721
412
869
129
819
725
150
799
736
241
292
202
146
83
124
955
435
275
597
962
146
185
171
764
242
427
282
635
748
974
785
396
539
310
806
347
300
415
759
351
58
796
659
92
793
445
747
253
866
322
369
663
36
459
763
850
394
209
793
215
723
737
161
835
552
905
908
227
93
946
699
413
81
365
318
797
378
463
510
169
820
724
122
91
579
41
529
599
260
895
971
541
799
687
520
210
861
77
650
315
526
250
137
554
277
338
842
330
926
197
954
281
814
997
620
305
17
202
768
235
661
663
962
332
159
72
848
36
179
842
602
147
501
191
700
259
679
839
869
902
192
150
193
665
36
63
739
728
955
545
404
986
431
843
906
305
706
469
544
978
410
804
272
629
805
716
87
38
145
177
461
316
135
851
302
239
756
822
568
159
242
278
306
409
412
995
828
51
233
900
728
707
986
177
924
229
980
910
925
61
232
231
652
491
279
646
562
302
954
378
349
720
800
375
166
798
435
538
1
542
632
668
544
484
588
379
721
72
968
510
389
826
424
946
389
892
575
682
26
434
276
425
198
874
665
999
893
849
36
856
951
938
322
918
988
599
279
766
254
377
293
829
640
236
190
4
781
320
260
756
334
555
215
705
853
593
157
891
112
844
290
950
777
295
764
14
898
342
40
612
958
141
628
351
503
295
801
152
831
278
127
630
368
512
541
835
149
574
508
368
918
792
18
183
788
693
901
311
511
123
793
806
816
313
672
862
422
408
10
81
296
879
317
459
337
698
16
280
676
205
858
963
842
495
889
662
162
492
237
968
765
148
23
44
179
32
485
419
613
44
246
162
262
622
134
322
571
911
966
181
332
943
204
713
757
614
744
52
884
561
321
469
813
758
163
131
11
623
156
628
273
616
424
379
372
986
447
841
431
56
671
578
904
732
399
449
433
346
185
87
689
611
485
954
613
370
395
790
809
226
301
364
695
34
84
265
500
863
226
561
605
397
597
775
728
748
162
755
802
175
986
352
757
988
291
189
516
191
544
969
640
292
598
204
223
911
59
373
55
558
321
507
532
445
998
21
73
519
974
828
432
101
320
778
470
40
77
924
196
489
506
759
966
81
917
326
187
580
689
859
503
694
269
119
834
247
300
653
790
263
45
337
610
997
405
281
40
270
804
47
69
783
201
534
132
188
893
672
529
589
358
853
351
115
627
438
319
764
47
76
120
65
539
609
819
335
844
599
537
379
458
273
902
311
328
670
273
919
175
261
381
979
481
695
144
910
803
914
99
819
424
600
778
650
95
727
758
254
330
756
401
798
967
546
345
695
765
262
499
103
377
811
745
925
667
280
126
852
212
478
869
547
552
242
970
834
480
95
529
632
882
822
787
410
63
324
891
277
440
674
4
719
23
139
351
595
163
977
857
558
884
246
182
400
66
733
57
632
326
262
764
853
212
939
349
573
238
371
30
418
839
281
25
240
547
995
103
694
843
617
591
325
797
587
111
109
394
636
621
630
596
692
546
203
558
982
64
272
26
904
658
254
631
506
928
417
753
224
778
826
668
970
222
470
114
924
71
250
229
495
694
174
941
236
217
167
209
19
180
913
400
929
146
869
381
318
309
450
317
46
704
23
532
957
638
532
47
320
255
297
999
579
287
525
818
20
256
331
170
312
800
401
145
719
237
419
152
616
895
531
700
467
624
402
956
646
804
145
598
265
406
893
74
59
584
202
451
209
619
467
165
653
412
583
628
647
389
792
284
920
322
81
760
479
62
277
206
718
295
275
339
691
715
419
583
672
116
986
112
617
142
222
487
506
347
227
142
843
67
548
963
219
280
831
794
130
119
541
888
496
743
42
543
69
80
933
484
272
491
680
882
614
366
389
109
7
516
368
364
581
43
653
77
754
78
307
506
500
771
685
231
566
910
607
95
397
979
442
647
693
175
341
566
578
816
138
158
201
357
115
353
819
633
901
661
225
707
1
470
655
204
376
376
261
716
442
424
753
942
538
218
905
440
515
97
261
694
145
43
646
865
318
652
536
408
824
474
735
694
352
766
864
207
672
626
855
557
957
981
937
158
598
826
393
533
79
693
923
664
288
552
861
54
619
795
131
554
209
66
167
675
604
594
404
528
14
84
977
214
546
214
947
470
148
314
307
597
108
357
756
650
479
368
233
399
751
126
301
232
177
216
878
271
772
941
127
820
820
823
566
278
172
253
849
46
586
319
422
237
376
361
904
112
742
492
732
222
958
520
659
9
612
595
218
981
474
463
837
794
231
865
141
56
60
353
746
245
127
264
244
531
989
493
839
364
638
414
994
636
259
781
160
730
851
211
54
802
925
333
90
271
596
602
54
923
482
728
170
857
967
369
137
350
492
872
490
166
104
724
516
176
208
373
793
109
562
410
662
262
568
97
214
63
489
66
126
736
189
949
799
647
805
467
813
930
985
182
191
985
701
122
341
156
242
529
342
571
901
60
596
749
778
432
435
164
200
267
433
761
931
223
287
532
899
325
146
16
129
624
747
171
752
672
365
466
676
803
381
799
10
416
113
748
449
253
935
970
634
78
254
592
823
250
166
517
598
268
174
53
431
792
410
617
668
142
622
491
683
603
792
686
815
428
217
106
30
158
547
59
726
441
829
608
974
355
341
200
148
196
44
584
115
461
79
224
116
300
818
753
778
956
686
597
266
503
637
666
645
197
579
397
5
51
801
642
282
705
828
270
141
422
862
589
245
722
402
964
25
192
750
342
926
320
109
538
199
923
590
363
891
151
246
486
219
263
313
419
950
75
45
61
410
71
288
242
682
923
762
937
738
550
106
890
790
297
54
512
92
269
745
997
633
475
673
460
275
556
280
627
94
225
948
425
643
581
255
752
944
480
123
732
994
428
300
598
539
977
68
526
93
519
61
813
822
434
166
348
851
549
983
348
28
404
280
852
489
265
390
248
242
115
684
290
763
291
271
700
644
334
458
180
133
646
801
880
270
893
511
495
993
674
956
179
781
302
223
27
756
614
707
908
270
584
179
220
171
73
483
632
36
144
312
79
518
191
526
254
735
191
346
615
928
699
94
61
583
983
510
162
939
739
623
520
970
758
559
556
998
460
49
790
293
603
232
547
410
349
565
547
212
386
789
189
836
424
929
58
30
264
66
616
442
43
655
332
764
540
861
834
724
579
287
612
893
913
442
204
201
920
948
566
578
172
592
29
225
786
947
64
792
566
245
279
706
885
967
660
801
423
766
482
520
771
777
981
465
718
965
616
919
624
632
583
496
906
161
614
256
272
448
19
69
600
195
228
903
177
370
139
283
620
806
463
104
698
786
868
357
588
125
39
812
222
637
92
40
506
903
357
165
263
297
156
481
665
763
138
412
862
225
568
768
799
453
863
354
374
175
194
688
419
34
517
157
759
860
819
610
878
630
509
66
959
331
95
584
907
31
775
11
190
949
816
129
33
29
976
934
71
783
289
627
585
678
57
827
653
82
295
85
585
189
995
244
649
234
387
62
941
136
544
800
518
332
359
823
523
617
190
736
828
466
104
895
600
461
854
498
106
597
129
999
845
881
199
658
476
211
120
408
857
21
402
83
410
663
177
818
996
123
608
707
417
115
456
948
857
711
762
845
838
902
735
264
667
475
419
697
424
460
979
557
979
265
543
151
274
96
773
106
811
699
641
531
431
427
625
309
177
457
211
50
400
480
532
828
45
12
677
551
289
848
976
796
479
135
311
63
965
354
28
394
66
357
951
72
179
607
783
46
122
979
963
200
5
181
829
616
539
599
810
413
530
207
355
527
615
309
747
218
731
438
81
358
741
971
848
856
554
233
283
535
673
513
424
697
463
485
196
664
405
596
573
944
423
59
957
214
614
866
836
849
398
390
859
982
825
260
683
494
589
410
860
655
580
777
628
556
315
168
3
434
172
273
104
274
32
803
378
778
920
185
287
97
759
376
102
908
521
630
724
833
997
855
178
997
776
181
464
832
402
422
412
290
530
222
111
326
942
749
81
961
96
29
630
34
73
388
528
469
837
957
367
637
930
816
231
565
690
521
607
273
631
667
644
839
11
546
116
254
947
97
944
569
403
544
525
115
147
181
324
937
728
455
363
313
652
389
947
785
222
659
611
439
862
41
678
499
56
188
377
432
93
768
561
846
34
483
264
322
830
290
495
302
613
280
691
5
979
432
272
505
336
844
574
848
948
698
915
499
189
126
100
537
430
325
462
531
291
487
718
37
179
712
622
849
411
129
381
589
86
369
606
471
601
667
56
554
47
996
59
524
47
111
165
729
748
650
542
685
925
737
114
894
252
391
632
194
33
501
549
908
185
454
12
65
533
345
918
306
285
685
798
413
921
251
392
484
578
215
386
150
440
26
890
439
359
599
585
684
657
526
495
355
93
982
652
834
474
731
486
175
342
858
712
656
996
807
30
493
810
153
242
939
478
762
819
976
321
20
704
809
803
561
72
819
207
254
181
933
491
156
423
831
673
764
526
106
920
580
482
703
857
99
617
543
89
518
702
478
430
814
301
572
79
34
21
858
278
208
426
208
158
764
744
693
517
132
52
92
604
449
95
484
903
114
851
961
325
162
0
979
930
597
193
584
171
537
910
647
841
550
315
130
174
134
680
622
722
572
634
143
915
419
206
215
403
927
867
88
726
121
231
47
806
181
181
584
241
618
590
344
433
449
627
487
780
606
282
964
239
501
467
10
785
339
523
990
471
853
450
856
113
256
554
253
159
987
456
582
738
588
948
398
363
427
622
668
629
117
425
926
554
567
485
531
847
821
520
979
532
173
953
880
664
40
544
785
777
765
94
826
965
364
455
603
583
938
835
327
943
282
531
333
245
112
571
869
733
252
532
825
570
609
94
929
493
167
808
510
961
14
505
698
193
367
9
99
467
460
827
941
528
504
555
573
841
987
538
231
223
833
496
850
981
663
477
814
362
662
792
377
877
282
772
481
281
611
960
37
269
187
924
149
486
589
402
179
554
320
179
858
265
343
480
191
906
264
422
550
579
342
766
286
196
244
710
165
449
780
102
230
783
582
765
954
585
575
716
55
61
811
838
570
569
540
274
304
10
782
354
735
856
424
678
700
305
735
154
249
305
89
17
175
367
44
805
343
428
680
46
501
538
312
196
219
237
926
876
150
489
640
265
292
518
199
977
709
592
806
279
375
805
432
551
613
272
635
647
458
648
575
90
2
84
429
249
895
298
133
315
825
290
578
605
256
509
560
814
439
634
211
643
609
228
900
385
500
18
659
510
769
257
824
331
189
311
867
683
661
688
569
815
906
937
787
414
445
825
291
524
377
54
772
418
606
352
787
385
237
657
366
284
885
469
929
581
771
399
846
315
504
181
68
136
674
454
710
2
873
194
874
725
58
417
673
703
818
836
143
916
618
247
552
981
761
102
449
404
613
187
28
107
199
715
428
696
106
677
900
645
970
383
209
947
766
690
235
187
896
65
594
287
395
884
570
908
151
979
760
730
529
161
215
350
993
700
807
147
253
208
39
266
147
383
40
23
991
528
646
980
954
734
993
477
942
147
901
477
530
181
684
600
392
913
975
632
83
864
252
965
230
170
806
5
563
283
891
111
215
814
764
943
175
936
378
413
788
636
51
397
889
507
191
262
729
454
118
271
469
224
589
590
29
158
302
403
273
184
928
270
345
304
859
642
988
543
393
850
692
653
590
839
307
699
539
147
1
405
814
32
145
83
524
426
290
402
839
982
508
49
681
316
253
472
117
634
843
450
873
402
188
578
382
20
895
798
994
309
275
593
866
482
365
842
309
155
228
354
62
574
495
689
708
263
217
536
188
794
234
311
844
307
816
399
539
683
269
901
967
966
676
564
266
244
908
198
136
42
393
354
638
30
796
988
290
401
575
296
287
196
306
132
847
789
915
804
155
469
708
268
16
623
953
890
890
619
758
433
486
13
167
550
704
178
768
548
330
359
376
949
859
158
515
524
693
634
776
207
334
271
848
7
525
203
537
168
373
747
769
346
187
276
522
27
409
81
871
442
29
231
342
987
678
906
83
360
658
826
12
794
735
688
818
432
576
66
657
198
887
736
878
701
528
515
939
968
150
811
276
78
11
796
286
280
485
765
733
818
247
764
676
93
900
784
637
6
974
136
239
687
1
6
861
278
262
466
908
685
250
471
253
61
450
385
604
139
136
890
677
470
904
160
732
695
185
399
238
486
796
944
372
909
126
224
336
655
212
298
875
181
369
810
32
296
129
954
85
71
423
198
141
210
303
450
824
359
953
898
456
412
571
883
23
580
618
9
778
593
423
873
500
403
641
634
269
88
493
46
653
377
40
239
825
247
451
590
785
278
88
534
276
348
271
361
574
276
361
323
554
958
481
24
462
497
375
241
470
725
270
740
213
431
605
540
242
504
685
435
463
301
239
757
644
759
524
76
187
494
641
277
161
471
714
275
766
444
666
638
39
832
696
370
169
523
838
955
430
347
1
141
340
29
939
70
82
764
577
555
848
293
717
340
478
908
580
305
597
593
120
255
128
358
575
241
216
410
374
423
304
583
432
268
741
924
132
643
961
577
352
54
771
879
985
765
722
18
263
79
211
892
401
796
419
593
29
542
150
80
252
476
952
609
703
89
285
924
367
197
724
896
142
775
238
528
275
842
742
887
646
91
130
105
282
242
978
394
546
515
236
720
632
337
177
183
129
154
435
506
325
674
440
251
38
560
327
625
854
172
440
241
979
872
129
393
358
233
787
795
556
351
752
173
571
292
757
662
593
748
743
277
146
884
589
823
751
819
689
71
359
3
399
730
214
296
466
627
157
287
969
520
920
224
556
438
626
525
949
913
487
392
275
270
703
577
659
17
85
179
60
41
238
123
683
405
54
836
528
6
45
489
339
931
914
684
974
575
793
608
140
558
904
198
618
855
163
935
588
579
923
646
552
937
877
970
46
162
353
163
48
788
83
65
899
95
921
806
539
640
486
377
98
590
299
62
76
924
19
22
412
547
392
830
113
507
147
133
504
815
321
746
824
780
515
588
476
382
286
951
204
725
578
35
71
759
766
485
378
683
141
573
38
661
399
234
80
859
168
780
137
626
199
625
427
292
5
615
860
735
83
343
178
509
272
751
229
854
332
798
473
989
329
850
771
100
638
871
401
639
532
87
278
860
558
979
734
410
52
890
92
267
662
928
255
461
157
520
73
914
236
690
677
616
452
313
209
700
991
82
355
177
852
662
266
233
160
179
692
243
204
2
293
614
310
903
858
487
17
147
202
615
166
915
791
909
351
989
415
552
32
907
138
2
654
894
4
837
543
854
726
377
887
756
561
61
107
718
532
504
495
850
729
247
163
338
718
583
225
15
650
982
406
171
757
143
501
577
746
218
127
29
554
444
904
312
133
710
220
266
551
522
984
558
485
918
635
283
551
936
431
680
980
654
453
872
958
724
559
451
763
669
970
129
397
849
527
562
285
387
736
220
91
104
780
448
992
907
38
576
853
70
435
146
590
117
861
255
456
796
227
901
991
748
879
256
34
27
356
26
132
410
480
802
313
464
616
676
708
975
357
581
572
300
247
903
122
957
95
57
391
225
93
179
4
543
174
111
87
377
907
196
366
361
391
871
860
408
715
868
721
715
415
117
283
664
728
270
353
517
191
815
10
665
707
444
69
202
379
699
735
955
245
735
106
595
247
342
936
506
35
794
408
177
861
150
507
1
557
719
210
341
102
916
650
391
919
823
690
181
482
67
680
926
9
8
844
34
748
948
498
387
803
378
894
514
269
464
596
283
481
775
671
528
949
884
120
305
9
45
837
866
552
879
721
551
16
686
195
617
273
105
940
723
577
613
955
853
921
846
706
137
384
730
70
611
69
341
111
419
260
773
368
546
442
491
723
694
878
33
257
876
337
321
963
294
710
292
710
822
867
972
485
701
905
411
381
815
454
45
951
618
360
653
784
644
878
265
933
195
866
962
44
667
863
65
773
246
608
600
33
426
455
933
904
847
21
243
986
369
787
214
233
277
525
131
689
663
185
310
249
557
916
907
12
23
770
20
999
988
159
522
542
907
528
969
935
652
218
680
968
818
100
76
403
937
803
444
15
100
203
153
739
407
262
882
456
649
902
950
128
707
353
78
641
331
48
445
867
616
175
408
694
408
826
629
412
150
314
438
379
374
616
511
900
394
644
929
990
852
11
399
283
390
306
794
171
365
974
553
609
262
380
861
960
470
762
36
375
383
547
768
499
495
7
503
450
261
526
679
687
9
596
673
537
863
794
747
163
497
998
123
593
47
294
104
658
310
6
875
215
685
165
942
416
515
811
841
498
848
961
577
659
777
793
94
384
984
477
771
487
460
145
18
109
263
953
607
504
356
905
333
205
992
502
407
754
644
58
769
350
517
209
854
538
168
831
791
715
344
912
392
750
623
943
914
761
938
338
263
784
348
62
988
422
293
603
923
73
587
878
192
707
719
0
894
657
974
523
608
775
887
77
739
887
578
992
993
122
442
61
513
92
172
834
36
163
640
181
667
608
743
791
281
993
802
824
226
873
633
462
487
546
721
256
229
332
252
741
209
55
243
533
120
890
647
540
36
93
235
290
939
409
204
77
644
854
561
110
911
271
888
495
850
396
591
392
714
887
225
978
910
293
554
876
216
256
43
973
79
884
266
169
189
49
351
919
659
993
652
135
461
218
680
32
91
867
122
503
366
668
105
89
491
668
691
35
878
337
363
356
512
906
764
839
275
369
475
42
847
186
615
740
946
564
284
162
456
842
206
690
968
545
313
659
371
250
5
667
628
913
109
973
378
525
730
888
368
923
705
231
928
196
582
697
388
6
291
788
4
484
963
809
674
420
782
475
301
527
371
647
275
261
360
540
532
626
905
65
875
625
250
859
529
924
94
33
28
94
83
982
136
483
573
158
601
571
361
535
292
35
531
286
598
288
743
174
894
493
930
793
437
868
893
160
834
236
471
296
273
376
877
949
695
487
303
778
889
258
433
267
905
165
401
965
435
383
740
392
43
292
511
126
106
770
782
64
705
897
382
210
310
484
197
508
368
24
526
540
37
423
277
973
689
192
749
714
962
676
147
59
302
758
546
171
579
273
912
998
661
567
451
64
869
418
444
205
684
746
952
165
86
535
339
145
90
403
971
706
698
539
91
950
744
830
797
448
605
436
95
973
759
235
492
991
340
948
733
668
215
776
518
779
245
832
516
71
490
399
595
763
72
757
175
303
789
74
714
7
607
187
123
697
848
722
98
669
336
780
237
487
699
72
563
839
212
758
113
223
885
833
870
609
626
140
216
459
679
895
727
862
917
173
949
862
186
32
134
467
51
765
304
303
979
103
531
128
374
858
713
60
713
500
533
13
745
616
175
679
937
395
799
245
713
539
210
653
476
551
391
562
221
988
485
866
321
147
25
860
117
580
488
22
246
219
121
995
204
924
89
456
602
556
139
511
425
877
370
852
961
49
1
750
415
569
394
162
484
205
17
98
206
921
912
603
0
566
771
365
823
16
871
654
268
482
286
276
885
557
41
703
479
823
861
661
356
633
985
27
973
911
824
513
556
198
36
457
896
503
101
789
595
727
379
628
953
439
462
867
780
526
40
616
750
248
662
746
474
88
163
455
519
840
423
389
438
507
392
120
352
340
525
872
312
474
922
777
604
328
547
205
470
886
119
670
331
254
987
983
564
485
290
468
160
598
650
61
884
203
396
870
971
658
953
382
496
824
708
25
529
422
532
880
296
8
741
578
46
190
646
82
210
814
530
254
993
983
129
70
68
283
827
648
134
643
301
946
757
738
236
971
713
44
863
504
450
502
223
757
19
774
936
429
645
23
632
165
240
359
588
136
698
375
792
307
516
840
410
47
300
337
973
505
2
401
646
303
741
499
47
102
444
937
199
488
951
316
244
580
591
719
831
257
674
148
488
753
897
914
358
148
478
368
158
573
477
847
534
357
134
677
413
500
68
901
855
77
472
782
332
513
318
730
541
505
845
658
560
67
968
365
977
121
703
935
925
394
819
549
568
197
523
631
568
465
165
88
344
440
38
696
622
77
991
440
643
422
777
554
79
535
468
892
984
700
565
479
714
741
800
501
126
559
371
631
594
790
896
864
344
416
629
245
839
775
222
127
219
785
354
428
334
15
175
381
635
941
654
796
489
834
579
451
544
239
882
302
653
469
915
658
482
18
64
326
451
686
678
929
465
174
443
425
657
968
318
787
274
273
290
766
544
631
900
861
824
91
508
340
654
648
339
747
115
318
304
113
749
329
743
653
539
488
680
516
665
863
389
369
54
193
287
679
487
213
851
988
521
374
241
915
680
691
411
407
977
613
551
656
934
227
299
957
938
92
372
815
259
713
610
132
78
397
158
445
838
708
979
62
47
864
685
931
728
173
409
527
333
689
557
827
345
574
831
572
451
81
920
830
51
190
321
401
60
368
631
420
384
892
197
797
356
649
410
664
332
437
215
519
315
792
460
423
941
752
504
838
694
67
498
851
229
947
639
799
423
713
770
582
871
343
248
617
971
182
900
523
206
604
315
106
237
12
787
256
302
116
356
213
466
986
818
280
300
822
122
997
133
705
893
713
438
359
766
960
29
471
51
335
870
694
334
458
586
71
29
304
418
304
401
891
426
631
431
1
211
735
406
831
259
279
405
40
504
173
595
768
37
778
130
421
300
251
429
453
606
486
7
38
28
519
8
199
870
503
927
692
41
262
976
933
684
393
359
91
210
252
311
200
348
269
878
223
355
578
695
140
789
31
673
716
502
452
362
933
797
59
675
958
277
18
786
661
766
870
100
289
719
766
923
228
529
676
89
221
627
822
559
945
959
675
597
561
39
452
115
126
531
834
948
891
46
170
83
486
248
26
285
942
478
625
431
566
364
415
366
486
812
966
132
604
156
572
57
122
304
211
612
609
750
728
998
316
677
533
33
849
699
120
203
796
477
378
559
606
606
974
689
499
498
48
784
153
949
940
977
227
337
385
629
429
439
753
290
861
659
762
907
960
165
798
979
337
180
387
438
538
325
520
552
53
313
379
307
690
961
602
772
928
795
195
118
23
302
487
605
911
689
178
863
919
629
865
42
253
727
748
748
579
199
150
656
727
187
128
247
436
637
680
89
406
505
403
146
34
702
867
617
758
410
410
963
516
547
583
452
425
163
198
75
654
217
526
261
687
577
70
478
618
28
172
592
631
168
876
315
491
702
933
720
837
229
324
575
264
292
860
984
746
765
207
687
970
889
410
783
269
863
985
211
797
733
749
58
249
113
882
952
817
911
154
509
901
409
600
69
712
394
871
117
195
821
86
472
302
986
305
740
995
125
224
596
233
520
949
922
732
983
401
105
202
146
526
666
374
740
407
220
919
842
652
381
549
16
936
322
11
737
583
545
542
560
271
755
992
390
298
461
516
511
310
206
16
701
34
41
980
301
102
513
488
256
984
994
265
969
979
161
393
609
630
999
337
752
296
116
250
957
390
276
495
444
589
693
67
379
823
136
901
600
195
0
387
785
83
599
154
917
12
156
361
495
491
964
532
980
482
252
428
981
278
477
530
520
743
205
710
94
850
429
853
651
11
850
526
655
365
448
966
714
968
947
663
850
996
20
603
714
398
280
297
924
132
954
242
964
557
70
94
614
550
654
640
141
578
725
169
300
414
518
24
763
887
904
74
502
209
429
296
412
731
604
413
3
950
471
955
865
503
509
406
885
990
533
16
52
118
13
359
108
400
699
301
878
518
612
963
317
895
871
195
462
244
746
289
491
972
228
140
243
634
859
546
522
419
635
567
503
926
810
33
871
94
854
528
812
272
686
826
862
114
216
648
338
965
180
726
862
582
273
87
423
686
508
418
220
995
410
8
892
62
975
372
676
17
212
852
28
902
605
59
284
450
535
662
614
216
817
584
961
762
956
807
41
363
194
409
849
942
718
586
56
404
945
713
250
580
582
152
864
198
85
585
372
961
951
97
244
981
795
25
888
592
29
441
708
716
274
83
87
676
556
818
816
292
528
221
240
859
940
73
190
765
681
77
88
987
15
794
430
648
105
164
704
399
745
963
893
149
750
268
105
147
995
401
905
220
25
995
591
939
785
843
305
72
345
10
380
87
495
684
221
897
10
983
683
61
946
737
989
576
221
602
134
598
786
890
276
954
258
885
56
250
300
481
713
520
737
518
48
721
383
403
441
835
984
91
997
223
265
769
792
14
443
971
872
928
670
25
863
44
231
336
274
768
179
839
403
711
182
411
448
983
178
846
504
146
393
237
698
645
903
532
593
713
391
839
587
863
381
467
566
163
491
840
902
301
464
209
171
250
300
400
192
864
436
361
329
319
37
371
315
499
239
835
839
683
243
316
250
494
823
994
599
918
176
510
285
766
372
732
427
757
815
910
358
194
967
226
683
943
810
101
549
450
656
458
997
391
100
229
531
649
365
544
273
342
535
611
159
280
577
728
325
377
109
902
550
964
611
501
207
949
741
692
602
880
426
209
383
830
824
432
202
97
249
993
910
958
678
907
663
330
275
765
68
355
403
630
631
552
353
555
409
941
445
584
72
459
478
876
259
252
3
409
866
663
161
54
879
761
286
754
800
636
973
562
551
821
958
52
17
883
297
526
64
988
484
475
103
754
246
259
6
231
22
614
941
294
613
504
288
91
408
890
581
348
800
420
889
542
225
204
321
520
487
13
755
314
672
577
826
931
873
543
273
380
632
674
129
821
160
357
633
378
655
315
995
192
690
359
122
769
484
9
80
933
446
575
225
283
752
32
648
511
670
128
241
171
272
168
790
720
772
562
870
444
838
712
598
313
934
515
928
574
449
352
703
902
341
111
301
479
811
552
402
657
503
457
361
150
568
79
868
762
828
164
36
265
706
78
309
887
818
573
634
802
736
206
672
136
74
596
500
218
187
705
617
247
356
296
246
767
875
641
951
196
113
866
886
711
863
545
295
680
701
487
198
584
751
283
975
645
921
571
338
940
796
558
486
743
146
866
696
489
963
654
37
92
169
696
454
143
766
21
223
439
631
896
552
750
999
657
455
686
23
520
303
270
416
502
747
330
862
835
78
984
927
446
732
245
390
459
689
874
185
770
455
942
477
529
472
77
738
424
65
653
864
876
17
270
487
397
96
60
900
687
877
538
451
736
525
597
472
348
574
982
411
849
999
985
832
670
317
833
216
266
548
431
13
119
934
728
312
492
419
925
248
844
184
702
718
277
637
589
462
510
181
150
53
494
808
373
528
611
434
586
842
161
488
354
438
1
329
819
730
77
800
284
452
435
66
667
710
750
512
409
916
728
598
606
77
842
546
270
753
124
783
283
180
29
438
448
172
529
700
954
16
877
820
320
110
825
276
666
174
769
477
61
839
516
753
134
13
964
4
212
721
13
601
927
258
610
449
315
102
254
785
342
51
653
446
895
258
780
96
757
23
619
842
601
822
730
823
338
243
764
282
276
634
23
439
655
186
256
659
841
529
175
785
879
630
454
840
5
512
297
552
986
856
525
906
875
24
136
124
386
65
493
630
490
76
490
729
697
436
811
4
398
890
502
595
604
895
901
138
32
189
121
433
350
593
665
246
613
34
432
28
821
48
971
79
107
864
749
307
772
462
462
680
228
201
611
337
769
312
136
936
316
727
134
555
482
979
903
409
842
59
46
880
382
290
889
72
672
730
875
598
729
912
855
641
419
214
655
9
870
802
405
857
572
618
727
302
265
208
657
579
60
123
558
129
108
466
584
756
553
563
186
383
373
306
163
229
276
524
128
459
374
193
634
498
241
360
305
65
785
148
645
90
208
696
369
894
510
240
915
153
47
58
389
273
617
135
751
953
112
779
451
425
661
619
957
819
655
155
345
751
345
620
556
726
703
420
188
63
206
564
92
25
619
5
568
955
632
698
946
612
103
338
245
685
404
265
769
779
316
907
548
929
835
115
614
42
810
387
190
650
209
428
536
79
160
749
273
974
49
220
960
379
174
107
742
480
557
897
640
840
163
509
562
302
192
47
214
183
852
853
636
215
909
809
231
272
371
613
182
972
629
772
329
918
295
152
83
142
722
102
884
840
899
666
796
650
959
572
996
553
619
979
156
770
785
144
793
658
333
114
110
720
388
825
515
256
544
702
8
951
555
697
516
183
650
114
701
692
111
629
225
521
175
0
965
815
321
993
436
528
173
892
97
458
917
919
878
710
143
682
452
829
273
361
726
576
333
965
174
547
315
834
582
272
474
950
154
208
83
530
422
31
33
677
870
395
936
401
594
898
585
99
43
931
224
435
243
530
414
103
924
901
454
987
785
166
45
288
916
921
412
958
828
950
397
769
394
32
567
852
94
421
551
479
620
768
185
558
891
594
978
679
177
641
268
858
450
294
558
950
80
129
827
913
483
878
838
794
190
388
721
859
687
631
602
455
805
162
783
733
449
700
42
248
31
929
765
179
181
211
785
138
860
769
174
546
544
686
972
786
103
226
935
593
547
55
937
937
372
406
702
994
516
752
447
786
431
388
746
884
44
845
995
428
546
717
760
315
182
396
99
636
94
36
503
796
557
465
57
224
803
3
601
743
52
871
411
983
674
259
257
379
443
98
978
341
795
215
838
588
564
667
222
655
995
508
268
954
688
574
826
820
684
819
407
307
997
946
167
332
446
289
138
170
406
839
756
363
734
347
88
462
973
855
816
576
739
343
542
466
360
440
641
693
767
122
639
557
195
328
918
188
745
255
410
549
583
176
326
266
963
341
404
743
90
649
963
415
73
275
113
261
127
541
4
915
659
990
581
657
57
4
535
310
403
217
349
288
901
920
114
15
376
807
731
163
509
546
425
136
398
417
660
468
610
961
661
569
55
630
301
911
767
446
641
92
287
793
75
513
681
821
852
224
972
809
231
478
403
521
34
745
372
54
118
52
453
90
12
241
790
69
70
986
821
186
531
395
863
65
831
54
969
702
666
484
97
521
422
513
989
110
87
999
909
100
174
275
856
385
671
162
464
452
358
580
230
440
491
920
542
707
487
940
229
904
299
629
877
654
414
330
603
399
518
860
937
603
489
599
797
362
6
856
179
356
39
835
921
670
405
236
737
179
918
785
806
413
981
11
281
69
967
512
84
931
411
950
71
329
947
903
761
259
591
818
820
854
821
352
905
938
933
917
685
64
595
986
684
178
44
379
360
832
360
79
596
450
965
852
510
300
680
360
996
827
844
350
779
544
108
168
596
530
24
876
235
96
785
811
845
765
544
523
810
306
415
376
814
290
496
110
200
636
861
288
418
201
73
935
743
314
918
873
694
169
140
394
621
388
152
787
268
473
456
438
805
553
392
953
121
695
745
525
609
211
295
462
420
976
845
26
551
478
591
776
499
834
733
563
419
734
953
385
877
650
964
711
946
449
1
293
649
407
84
537
648
354
624
850
320
757
811
988
461
271
338
974
545
113
319
168
384
949
800
558
174
659
760
552
57
260
477
915
396
95
896
367
824
3
741
304
408
783
431
50
670
604
54
588
266
538
569
572
382
995
652
426
298
22
925
863
968
895
709
992
654
365
384
723
330
724
138
244
275
49
595
572
444
182
596
296
558
207
905
184
270
323
936
266
981
564
38
458
192
164
134
243
68
178
729
947
177
588
437
940
799
316
762
263
430
8
962
282
6
615
980
358
613
928
344
438
101
822
912
371
423
810
407
518
433
329
770
116
726
158
260
785
273
84
857
391
546
991
828
47
767
767
370
204
420
220
520
563
638
234
220
636
520
442
316
12
359
563
410
871
742
730
693
191
354
663
334
566
433
689
334
334
884
346
996
589
113
743
935
472
98
626
377
776
392
24
749
74
578
643
729
621
159
260
781
227
261
914
784
254
475
31
990
179
168
470
866
817
637
360
979
47
874
482
982
256
294
521
78
194
391
93
41
452
497
880
574
420
835
28
725
791
961
457
544
252
849
454
18
621
118
827
418
279
612
819
317
706
859
110
903
102
999
945
38
462
325
791
236
444
663
125
408
277
634
41
129
612
499
138
569
193
121
564
317
682
811
620
179
91
409
878
939
75
718
987
158
337
5
812
653
266
763
887
436
363
70
193
687
806
850
488
734
374
528
553
441
707
845
801
499
873
451
386
802
713
532
822
608
681
998
305
588
584
138
981
24
972
627
746
519
560
509
32
808
705
509
751
94
790
494
871
273
349
669
614
501
988
189
941
795
158
100
614
49
23
964
311
668
223
125
493
766
240
942
469
656
697
441
750
31
718
228
726
581
166
619
320
697
191
789
591
133
142
506
678
263
160
77
836
977
783
66
213
577
268
317
592
3
70
166
314
154
418
624
229
201
846
336
50
88
592
394
447
861
687
915
427
864
593
887
487
354
985
518
69
708
845
227
739
271
963
785
182
633
141
894
283
193
439
329
96
745
816
546
215
975
187
178
407
139
353
187
991
70
694
113
668
658
885
654
740
77
595
814
977
272
409
409
52
300
648
625
831
5
258
531
798
779
490
856
583
200
484
929
119
338
42
439
973
495
641
184
690
111
187
215
503
394
785
379
553
339
385
767
797
277
939
297
301
872
556
508
962
946
560
680
996
651
219
546
385
587
206
172
120
375
537
492
202
253
174
907
918
888
919
935
323
146
425
883
941
111
621
82
197
51
371
728
272
831
390
443
162
872
760
975
370
924
690
864
200
186
20
648
66
972
180
844
201
906
903
166
498
379
407
982
955
390
946
254
311
806
945
874
487
992
770
515
968
148
376
709
30
468
960
869
70
257
786
640
157
646
273
162
320
611
784
90
243
117
97
729
62
403
713
620
35
559
481
327
811
870
460
25
346
170
845
908
802
622
363
549
231
78
774
112
416
883
636
521
331
655
846
216
596
230
0
551
183
151
890
908
712
767
848
683
653
594
361
529
217
469
536
949
735
491
156
406
644
733
933
4
939
672
889
91
596
724
566
755
540
325
970
232
408
340
381
188
407
848
505
767
773
107
134
233
210
138
892
895
969
329
645
697
421
509
796
805
565
481
999
525
459
741
117
42
936
607
673
677
21
770
792
801
488
104
566
380
843
224
790
979
136
353
959
24
513
260
509
51
133
366
479
747
142
975
718
814
90
299
966
652
458
120
891
908
475
995
318
607
539
854
111
851
617
848
699
948
878
906
78
540
803
678
537
211
761
649
589
742
591
104
299
991
324
619
584
657
789
743
519
391
173
924
170
956
688
752
290
744
536
731
531
752
261
41
681
633
274
504
362
53
635
729
256
607
688
679
484
153
570
910
195
232
718
674
971
57
201
979
419
39
335
576
480
530
863
606
833
793
323
371
79
459
792
443
23
973
397
850
607
753
22
488
753
403
951
292
435
846
362
41
920
826
265
510
758
907
538
372
571
508
378
730
120
684
288
606
275
688
558
935
301
727
74
631
252
225
617
5
39
393
249
319
71
583
126
743
689
154
931
976
518
413
285
251
391
804
240
928
435
173
698
650
744
698
809
291
687
961
366
607
812
105
182
295
641
308
23
660
761
325
448
718
724
574
393
514
394
76
600
577
770
903
136
398
537
677
326
117
779
629
929
91
831
112
70
21
330
59
979
639
65
140
747
86
504
925
988
265
138
810
132
472
872
896
38
347
197
272
996
459
478
423
352
453
258
845
935
706
618
577
544
359
777
921
795
447
554
886
115
181
125
969
286
414
313
129
86
283
797
116
109
602
867
300
260
186
374
115
472
308
997
472
882
170
769
588
106
375
683
722
371
615
758
629
385
502
539
357
496
711
285
615
871
118
387
259
219
348
506
715
719
446
725
339
800
150
305
773
826
440
130
759
813
189
886
274
283
395
308
102
389
321
604
416
86
391
53
494
837
496
907
911
34
856
688
21
449
735
644
492
787
760
244
645
934
586
323
611
248
423
484
582
235
698
395
113
832
124
974
461
871
60
43
156
906
455
152
501
22
659
799
974
67
380
355
127
694
834
606
695
380
792
83
830
996
498
586
349
836
789
995
896
49
595
716
483
208
82
248
486
314
798
757
13
752
246
332
586
811
74
376
247
503
742
926
98
450
786
545
106
290
600
626
169
16
232
286
198
596
57
347
22
624
855
962
736
288
383
895
426
17
808
924
153
854
154
318
77
21
233
979
847
400
584
186
919
945
488
636
892
583
414
391
947
529
277
919
61
627
279
49
638
686
373
599
284
712
558
486
512
989
368
990
417
709
853
869
296
635
961
818
241
943
612
606
297
81
240
852
513
256
957
381
393
232
781
830
240
335
657
544
236
502
408
26
70
561
991
605
25
106
690
874
285
801
62
123
145
116
428
51
257
933
285
81
954
504
859
809
11
763
884
161
621
310
593
995
434
584
337
449
858
583
65
774
561
75
369
79
282
403
260
736
594
673
297
625
83
603
270
673
608
898
173
593
406
270
36
726
730
556
671
945
682
757
129
756
208
244
721
652
92
693
178
5
969
640
557
921
434
139
821
738
192
487
855
493
265
905
311
655
80
62
27
208
516
344
45
280
14
608
245
591
554
697
255
546
918
752
443
663
665
924
98
3
356
457
842
917
711
130
648
783
699
105
837
100
422
910
262
398
226
249
293
619
634
816
354
477
52
796
356
269
182
141
150
346
641
724
27
917
157
841
965
137
391
995
853
9
291
121
29
90
10
595
242
985
544
44
943
567
619
40
266
288
716
981
90
935
179
678
5
593
128
364
517
995
130
860
417
913
672
721
797
14
127
771
21
898
570
870
650
938
688
788
627
685
795
834
669
770
182
844
883
723
489
436
858
231
136
876
209
475
982
253
813
188
513
905
155
417
235
674
282
864
122
237
67
748
751
892
576
512
816
990
585
803
862
357
45
32
370
14
91
936
220
850
212
322
468
943
538
918
884
558
433
121
467
829
45
828
922
142
967
483
892
0
5
567
653
317
810
638
547
391
594
115
268
939
666
818
409
254
648
276
207
86
851
244
151
120
255
760
751
204
518
446
84
256
263
970
745
823
551
48
768
853
197
248
518
681
344
880
98
824
265
144
971
576
942
765
187
975
171
743
391
572
579
582
788
515
334
83
992
835
450
193
138
944
942
304
574
230
208
757
135
722
556
944
945
144
76
195
547
496
916
644
254
728
836
895
681
902
672
949
587
893
733
0
7
916
95
113
654
88
882
220
340
20
835
345
20
115
661
703
694
181
243
674
789
455
906
523
95
686
86
156
194
88
66
158
886
290
269
593
333
649
656
740
303
965
32
718
286
748
168
486
346
311
980
17
62
391
350
893
753
680
636
57
100
123
808
896
692
206
497
369
147
859
818
495
429
582
519
788
820
311
517
504
812
431
640
223
448
462
993
689
298
205
667
621
999
256
715
257
722
765
371
828
405
339
129
368
55
969
13
772
154
802
578
830
127
83
476
87
990
156
433
498
461
7
932
920
339
29
332
436
590
652
21
571
487
34
935
977
190
3
698
726
758
124
312
731
995
380
280
984
234
978
26
591
768
793
158
159
101
586
732
307
558
316
997
420
175
825
566
701
791
682
893
218
434
32
469
107
425
686
399
332
514
286
662
970
735
783
371
608
543
330
441
891
65
343
154
327
821
39
558
530
882
349
45
339
18
11
518
799
326
457
808
305
175
43
152
789
899
442
988
173
986
367
14
869
991
242
977
1
562
987
311
949
602
791
98
597
797
377
767
752
623
415
881
393
895
437
924
800
394
181
439
26
477
596
372
648
594
845
213
502
303
214
42
728
353
815
371
961
131
602
245
62
924
126
901
708
931
199
51
785
352
221
879
286
402
574
399
176
252
607
886
497
768
278
696
671
708
93
547
979
888
568
301
213
601
325
898
542
528
170
74
900
362
205
812
332
686
650
32
145
31
122
510
838
771
358
804
62
298
226
573
796
332
77
282
917
115
835
651
478
863
777
692
848
502
294
220
242
245
810
991
46
209
60
195
948
39
249
918
308
964
484
664
167
757
785
299
995
352
31
415
258
635
848
650
736
927
824
31
20
281
373
842
854
898
723
871
951
515
27
51
548
88
242
794
977
721
577
715
814
140
917
575
413
646
340
84
656
450
382
451
874
444
599
144
16
456
165
801
522
482
378
520
760
635
606
508
170
855
247
464
642
918
505
968
761
237
120
718
596
186
599
452
34
87
967
596
155
836
841
24
517
329
804
966
226
784
404
376
997
949
705
205
64
575
505
479
899
236
20
622
24
912
290
484
636
392
512
210
388
508
903
737
701
476
944
982
271
635
462
74
590
72
62
707
983
679
383
664
836
992
56
798
137
18
539
331
886
53
241
688
829
444
153
359
328
663
969
915
829
723
890
987
275
268
251
510
610
135
568
501
506
389
144
801
137
797
108
669
845
478
291
439
788
906
475
902
836
250
569
843
614
611
162
719
451
762
601
619
819
270
885
421
837
347
393
582
77
46
872
363
132
229
443
93
699
497
912
967
422
304
762
641
180
681
23
905
740
998
531
921
686
116
684
308
124
681
939
864
791
657
371
511
530
50
719
770
948
571
463
577
101
218
244
309
259
889
93
595
342
823
850
143
253
690
140
652
231
841
743
40
853
688
545
762
185
324
633
797
654
407
156
697
290
607
37
5
924
806
21
648
341
276
800
408
988
889
562
941
763
433
597
758
342
216
117
462
667
374
645
634
610
65
290
879
318
189
863
171
78
23
351
840
268
682
756
728
771
627
34
789
984
474
386
699
394
52
66
348
170
675
580
649
225
719
257
588
552
91
641
461
908
376
901
166
136
273
389
606
355
937
400
863
82
649
145
360
311
202
916
278
104
391
319
750
736
31
983
183
813
262
663
776
68
836
184
420
134
185
657
515
396
471
111
401
412
177
219
214
169
268
990
404
168
700
591
149
351
682
971
286
364
50
653
827
190
764
638
306
541
362
22
252
640
477
547
16
570
43
75
484
68
951
302
832
69
841
7
153
404
37
357
823
328
326
325
315
801
431
528
883
185
780
677
583
965
8
986
476
279
369
722
253
218
170
555
498
438
727
926
688
62
170
729
833
936
481
600
168
884
521
853
328
553
557
930
550
550
55
306
536
316
676
215
851
754
541
701
346
552
717
56
162
667
645
290
206
251
282
306
374
823
459
854
890
804
929
385
158
330
145
919
337
480
229
559
551
727
492
287
928
566
382
9
718
531
334
90
29
351
148
231
210
709
926
192
158
83
254
385
185
520
676
651
491
614
968
458
229
647
835
290
549
480
239
44
978
327
225
600
916
955
902
863
302
736
20
468
715
28
484
27
40
662
220
709
719
529
912
945
964
702
503
631
102
583
350
100
880
624
92
562
149
734
497
168
174
255
751
27
370
619
550
376
811
268
210
468
541
40
211
700
695
649
765
874
848
113
188
618
359
262
46
851
29
902
949
861
288
643
809
594
192
90
12
19
216
798
324
908
158
520
184
721
918
574
70
432
454
598
218
7
252
783
678
541
831
715
317
526
326
281
499
131
517
542
994
393
168
600
566
123
937
284
183
110
298
272
181
115
504
640
706
770
95
710
910
299
284
779
531
184
726
542
354
320
422
625
411
501
455
573
768
862
337
121
109
335
757
745
222
222
605
306
638
793
53
852
696
504
940
622
954
524
788
603
366
645
658
272
902
388
210
837
257
814
76
779
601
47
149
941
920
173
126
950
834
441
944
355
817
464
185
447
738
826
699
254
790
574
675
755
834
956
665
660
431
506
709
5
804
178
792
730
127
639
936
718
865
959
318
171
178
959
25
256
328
692
754
318
543
259
718
873
271
29
140
678
48
579
974
520
473
252
255
135
305
396
565
72
159
840
186
412
75
575
55
590
265
161
350
883
275
595
255
432
96
682
434
815
799
863
330
554
300
978
446
618
820
151
29
941
505
421
286
552
455
765
639
990
53
276
249
129
126
83
325
411
844
777
843
374
738
799
663
34
819
635
208
592
996
365
100
612
655
711
352
874
222
837
822
651
428
555
439
166
994
539
69
1
414
17
974
551
379
68
597
171
23
190
728
17
564
65
646
198
507
177
382
771
298
328
116
435
586
509
874
467
977
851
78
67
300
679
703
423
9
218
509
266
660
656
598
759
127
921
423
567
854
111
744
777
360
917
997
202
832
39
930
807
870
531
763
935
630
598
125
147
714
74
368
283
591
525
739
945
761
883
939
318
84
678
157
227
515
785
190
911
116
180
354
922
551
526
672
223
936
735
176
983
145
461
324
953
793
809
313
299
500
925
649
284
378
26
722
378
582
938
309
767
903
432
72
135
323
429
358
295
53
855
464
575
246
107
818
480
50
840
621
176
755
296
189
894
395
287
855
501
706
213
64
638
386
733
879
453
546
478
815
125
889
363
947
324
299
265
190
413
308
398
722
944
312
165
163
81
93
300
529
999
148
122
113
550
287
399
212
808
568
793
265
411
420
61
174
688
56
291
170
426
783
192
455
379
791
728
235
796
872
338
37
64
133
100
551
583
248
734
901
431
333
278
779
120
433
667
42
810
827
878
190
563
58
218
487
644
321
154
120
988
460
805
310
833
312
456
909
29
708
580
337
171
583
640
619
426
718
670
442
405
374
936
216
506
15
75
704
93
468
454
856
230
228
281
153
287
321
550
972
747
809
255
12
411
330
988
293
211
341
620
833
30
984
730
720
798
431
27
8
598
734
305
464
733
691
251
914
810
972
208
208
318
140
85
245
715
475
406
718
732
290
636
418
212
350
600
505
183
836
898
224
935
711
394
377
818
336
620
697
722
420
86
631
104
957
651
35
804
640
346
736
605
311
581
188
679
620
245
832
559
872
871
825
887
964
688
622
869
48
975
814
537
635
961
250
45
131
404
602
198
400
23
373
711
73
512
741
787
334
922
984
31
578
167
278
957
826
431
837
624
512
363
727
787
298
810
57
26
845
610
496
150
371
227
91
631
477
625
169
76
965
317
983
353
455
32
690
660
74
286
68
234
237
470
701
604
556
397
128
938
29
115
954
885
386
476
69
305
603
908
235
288
861
53
727
292
766
591
513
515
856
662
348
846
811
612
472
896
657
286
339
111
620
51
439
771
738
693
606
543
321
582
970
529
508
318
10
316
796
675
413
133
887
942
979
287
111
60
850
399
355
12
464
368
794
365
532
314
536
975
247
16
947
110
522
325
454
902
770
854
176
335
715
698
895
788
368
676
243
223
579
395
684
976
868
257
799
765
735
322
620
387
249
635
591
751
352
221
262
450
972
557
221
713
98
317
715
157
29
492
0
772
719
36
699
976
134
424
203
392
956
224
783
304
726
546
841
585
811
955
699
822
279
413
990
347
854
798
699
792
267
222
253
156
981
463
112
49
563
439
356
490
100
856
556
977
313
871
721
180
526
623
583
36
971
64
66
704
253
979
948
337
604
35
777
244
592
988
88
897
42
871
332
686
505
223
908
177
325
828
823
595
230
599
780
889
539
296
237
692
778
236
59
304
908
759
13
244
436
358
562
378
313
187
403
962
801
6
25
815
302
629
920
941
620
158
986
529
241
879
114
587
910
853
520
459
363
603
358
188
411
38
692
484
451
429
381
526
547
633
977
455
93
857
128
580
834
273
301
747
29
598
929
775
691
424
759
468
499
963
840
294
633
587
247
76
805
340
336
159
420
52
166
448
55
204
686
380
988
965
173
282
244
699
387
711
386
731
469
501
316
167
222
648
171
854
589
68
954
428
340
722
715
412
597
493
694
829
382
784
583
957
594
480
911
536
401
919
632
497
72
695
666
829
767
56
12
501
108
768
553
390
121
806
38
370
203
730
578
434
341
774
864
669
439
619
798
638
519
277
694
570
767
172
166
358
112
613
115
203
110
738
730
392
847
965
526
381
446
288
674
200
22
639
438
652
877
766
722
281
494
834
788
707
719
902
861
486
109
957
612
177
576
831
855
256
2
882
528
184
381
351
674
346
382
39
850
788
701
788
503
424
876
85
934
939
491
618
551
9
849
205
151
236
618
1
85
928
509
15
151
633
392
74
843
802
824
662
159
89
370
689
568
559
254
500
491
161
816
3
979
1
44
894
217
226
6
214
328
858
107
429
456
769
683
709
652
673
474
880
939
26
786
611
733
498
639
522
121
765
237
365
539
949
812
480
838
591
46
652
47
568
468
397
526
360
490
412
801
74
141
25
321
621
23
269
570
314
281
41
523
773
509
458
557
898
999
602
860
669
256
529
804
658
194
751
941
939
912
967
591
187
611
329
417
464
983
792
279
890
465
141
124
893
996
786
53
888
969
176
127
888
241
528
702
468
286
623
767
723
292
19
489
109
135
989
718
962
45
725
637
818
853
25
273
210
275
253
686
544
269
892
885
878
474
676
208
345
63
886
431
457
938
364
191
558
121
257
606
485
91
404
292
595
468
258
154
166
358
958
915
339
704
504
320
113
152
197
641
4
474
41
130
771
616
664
605
815
363
377
610
655
848
964
948
621
558
631
295
944
950
265
44
624
439
828
860
185
49
664
916
485
847
485
439
464
212
927
936
304
223
129
718
720
140
96
709
409
598
769
204
226
126
93
161
449
131
815
665
106
983
201
892
962
548
399
509
214
930
194
413
331
649
495
991
647
246
740
243
862
130
625
213
204
844
273
444
318
606
887
571
550
719
861
585
890
400
534
175
514
811
554
995
445
86
471
497
823
124
720
477
963
24
760
204
107
184
848
729
501
208
358
249
954
40
643
790
884
24
572
858
508
824
505
594
561
256
962
28
163
904
447
208
201
271
743
118
357
398
506
314
340
319
369
214
376
70
884
752
173
115
765
867
743
866
490
765
45
175
717
774
504
955
243
802
381
229
29
692
365
822
448
137
959
662
341
216
421
82
135
616
879
817
985
490
804
616
581
138
655
631
881
10
992
781
450
968
570
138
50
172
216
267
46
898
423
57
96
992
774
74
442
464
652
508
643
284
506
708
294
357
761
970
230
758
564
196
189
268
466
720
716
554
236
619
285
65
73
287
29
388
208
53
73
579
309
896
108
746
586
577
756
306
229
324
806
49
725
173
594
506
718
563
407
628
369
229
27
381
55
356
96
880
451
590
801
313
39
671
844
567
214
646
189
419
56
887
540
132
523
71
262
525
550
483
251
856
332
160
76
868
234
985
853
47
598
150
834
990
45
240
39
869
215
583
446
952
334
206
47
605
406
104
66
468
719
805
610
578
825
89
668
512
70
9
397
783
718
908
903
79
320
672
953
457
503
745
38
49
996
416
453
746
510
66
295
422
569
220
227
283
199
284
682
490
117
545
247
168
146
715
519
657
86
548
115
436
392
42
450
738
345
878
877
110
859
801
626
859
240
721
41
592
369
805
699
514
391
345
374
113
798
183
146
468
502
805
353
43
857
8
844
353
891
138
646
14
442
868
93
674
930
335
441
466
484
215
874
125
572
482
921
301
339
665
228
50
569
794
985
256
528
764
657
318
147
566
322
7
469
294
92
423
859
667
877
602
680
951
268
917
787
846
309
395
306
624
236
385
371
640
79
541
923
760
622
589
51
124
577
906
808
267
353
558
215
746
459
900
845
403
636
521
536
107
258
651
924
344
745
42
627
621
82
209
875
46
594
891
912
656
104
108
971
888
577
754
570
16
228
38
804
314
469
27
694
662
639
622
396
869
817
499
27
41
123
68
440
280
517
722
613
316
619
851
150
262
452
834
476
725
945
349
464
863
796
833
325
449
395
829
409
480
990
659
150
781
53
249
118
932
605
197
534
455
716
169
83
807
991
524
836
312
385
348
721
240
868
303
25
879
13
578
856
942
203
184
137
849
388
596
476
272
955
718
926
683
960
383
913
800
707
392
634
522
418
136
516
333
312
75
277
513
574
325
679
10
410
318
983
741
390
734
497
222
347
213
881
438
707
339
149
913
418
150
486
209
491
662
274
579
145
158
419
873
221
902
455
268
262
319
616
831
296
900
418
945
603
99
786
16
249
947
681
861
220
161
226
451
575
730
784
579
345
505
461
539
199
573
283
653
603
849
5
450
73
99
685
282
478
270
571
772
684
868
899
107
57
185
958
993
253
654
865
123
488
374
196
342
395
724
613
525
174
287
79
520
902
932
803
852
30
37
318
850
122
977
472
586
124
441
290
232
687
42
333
38
917
999
625
317
389
37
722
21
562
115
969
730
555
14
123
19
607
810
370
532
116
430
722
271
350
537
631
454
320
537
13
113
689
257
77
359
792
435
93
242
810
971
754
88
364
908
380
29
217
645
817
669
357
856
140
698
115
932
658
125
723
677
658
307
792
823
732
591
351
243
313
591
567
209
591
33
314
371
305
727
167
545
749
916
61
500
526
57
951
158
583
580
908
419
478
59
256
863
741
343
251
313
713
386
269
932
973
945
790
78
160
100
611
712
335
654
314
218
209
456
694
484
782
945
280
519
98
77
118
390
554
600
639
824
868
766
578
78
782
705
779
931
917
989
858
746
704
955
936
234
447
699
729
459
454
966
331
360
897
209
444
647
941
715
39
901
889
127
346
89
343
55
965
750
571
6
616
268
67
660
926
181
237
357
843
904
34
9
972
944
511
420
884
208
957
512
751
710
914
570
702
310
21
383
965
998
801
94
811
275
210
242
616
271
739
153
226
442
638
82
767
176
296
761
764
646
86
954
329
658
594
111
748
305
171
212
881
653
289
728
739
674
960
29
814
573
346
502
926
981
751
278
841
294
671
49
682
885
734
239
661
755
699
131
317
53
595
108
974
507
967
803
652
260
434
881
874
117
38
297
177
992
313
411
761
651
150
608
550
233
654
908
76
687
835
854
588
620
73
894
687
258
164
854
250
535
302
862
50
75
872
764
847
941
991
581
252
744
437
425
205
582
650
786
921
832
877
498
555
481
360
301
454
873
121
983
453
867
290
827
194
635
57
515
325
405
55
298
416
261
323
964
744
387
51
970
608
950
489
635
150
705
253
411
600
288
312
980
983
650
220
376
108
34
368
384
523
885
823
524
602
408
240
419
621
366
589
735
885
277
189
270
656
503
816
798
59
534
449
885
749
83
581
370
484
832
140
454
923
629
324
376
537
694
399
847
529
709
695
514
376
690
24
898
490
24
184
10
447
13
995
848
0
657
41
965
213
551
535
938
474
393
75
148
518
756
760
946
218
591
373
741
976
472
402
916
762
530
58
607
748
517
452
865
483
230
926
84
348
102
246
520
653
323
366
574
49
188
253
884
182
688
551
955
587
477
259
688
509
455
328
956
757
95
504
593
564
137
184
886
58
816
518
28
941
361
610
615
915
70
281
466
763
141
651
848
581
140
214
595
47
158
992
867
909
835
776
523
553
442
213
534
365
812
776
676
269
15
675
711
7
848
663
799
456
23
419
362
811
825
577
394
540
624
299
145
621
706
308
614
184
161
721
848
811
338
789
770
388
280
686
518
750
408
818
763
106
968
413
319
988
809
39
831
422
589
761
943
968
174
701
400
793
864
867
459
37
579
511
480
385
519
768
498
319
714
301
597
335
820
859
632
228
905
579
80
483
488
743
29
509
855
588
669
197
510
755
769
70
620
337
547
457
569
656
277
356
19
9
247
94
976
970
704
893
893
73
521
82
172
637
988
51
897
537
520
513
222
723
506
480
500
565
129
21
997
623
761
230
799
662
261
829
135
532
311
541
565
166
202
607
850
28
234
667
743
55
981
646
137
851
808
700
743
288
661
233
258
679
719
311
417
190
834
861
525
946
230
995
967
760
820
121
598
899
987
463
326
697
156
610
381
610
688
656
78
794
383
733
994
270
637
351
581
91
442
954
161
498
253
643
38
242
808
220
269
700
506
541
709
16
255
345
245
371
425
165
84
807
144
749
878
774
769
893
572
662
535
634
408
513
957
225
457
269
456
476
200
967
882
532
375
220
103
406
428
638
974
318
738
115
59
968
811
712
466
226
49
509
11
625
516
629
487
686
853
25
269
728
100
147
830
610
902
362
224
836
218
915
799
499
754
670
110
673
877
336
512
751
271
962
79
974
789
602
414
997
743
125
214
756
209
304
410
630
484
826
103
837
742
580
928
767
343
194
522
654
600
708
791
512
473
939
847
630
867
727
589
511
737
803
962
1
375
865
753
939
226
596
414
646
997
382
14
157
415
539
464
560
675
352
132
101
45
290
925
721
489
705
566
952
191
126
897
944
712
696
246
831
901
533
284
287
137
191
543
575
456
251
133
409
201
781
72
921
455
501
904
88
384
691
149
575
779
331
495
616
472
60
431
489
414
571
808
365
923
16
768
968
767
351
961
289
398
249
175
814
627
658
511
717
841
553
848
135
172
268
130
922
558
82
138
792
348
610
747
989
491
559
764
818
919
729
592
149
492
546
721
676
991
118
559
557
450
954
367
608
534
92
60
425
116
461
66
536
658
312
154
161
896
698
705
277
447
350
614
588
566
942
251
101
585
10
922
987
872
149
741
856
541
490
562
51
48
348
188
52
327
916
456
852
214
179
675
141
957
59
175
974
97
134
966
757
163
70
859
868
131
352
965
221
61
877
126
25
873
642
54
38
335
240
997
301
319
908
591
221
401
708
584
374
163
610
108
736
770
205
270
892
418
796
308
74
893
663
395
130
174
820
200
640
379
752
525
360
571
266
328
754
747
396
242
506
235
819
986
571
212
964
9
668
843
434
245
604
870
494
545
679
738
388
23
685
283
46
452
810
209
230
295
478
635
626
940
724
721
2
142
642
555
969
357
763
145
558
563
498
636
489
403
716
957
136
769
992
730
555
845
479
650
645
510
336
563
475
782
610
141
959
433
773
606
252
648
911
89
559
223
137
566
615
85
354
235
702
560
206
470
218
896
719
427
81
359
236
911
7
641
771
894
967
168
54
608
703
815
568
832
321
615
38
792
763
536
581
344
545
668
410
473
509
20
855
95
86
901
354
692
812
528
211
787
324
147
733
964
971
222
982
606
817
837
789
367
731
791
533
337
487
925
891
88
807
132
3
196
90
411
547
635
520
496
125
869
259
608
789
307
756
989
127
585
660
193
192
640
746
127
40
515
790
876
543
24
443
216
822
609
275
948
211
915
364
784
515
688
914
908
184
811
828
366
299
613
833
54
953
704
500
108
431
529
791
147
278
368
778
498
158
155
641
31
694
740
858
979
627
782
736
88
395
886
916
663
237
8
731
751
867
28
708
493
532
778
460
998
453
60
664
475
295
194
42
534
760
540
654
414
488
36
832
701
178
764
175
430
591
65
963
587
790
675
247
799
860
703
251
798
107
683
585
309
692
883
680
319
457
803
725
460
935
641
232
635
318
406
3
148
66
722
736
130
218
740
779
682
231
129
865
301
172
367
203
277
297
674
225
652
123
71
88
721
476
656
647
511
228
416
321
58
252
708
996
707
632
308
362
149
203
419
137
47
486
255
119
801
866
812
239
997
37
56
671
916
177
477
429
543
624
14
191
708
310
177
541
411
813
126
857
620
690
51
210
701
373
140
339
400
313
705
279
332
80
510
569
18
347
62
237
622
821
407
296
210
870
458
966
74
472
351
954
919
280
992
260
514
58
81
421
967
283
89
455
374
790
182
787
577
589
821
123
217
973
489
214
823
746
320
284
715
713
500
634
30
735
824
395
370
980
408
323
452
844
55
988
557
471
930
671
377
573
263
439
158
50
843
555
773
179
789
712
944
227
468
867
957
993
332
951
441
293
874
160
201
408
826
116
26
592
469
636
729
862
515
340
81
982
183
405
8
47
600
249
741
181
359
461
263
741
594
49
835
507
918
391
467
601
456
429
217
848
188
79
962
718
840
925
605
369
224
585
593
328
635
519
301
834
749
402
718
907
607
641
821
379
15
280
868
171
732
708
566
44
105
460
616
569
858
212
398
764
850
752
819
721
526
64
605
125
968
729
982
607
522
685
850
366
577
295
219
373
566
103
124
215
122
231
494
55
561
425
248
373
4
241
378
226
662
261
958
259
12
336
336
230
597
48
561
479
406
833
389
541
529
216
274
816
51
744
684
574
101
418
48
975
826
144
358
477
564
61
617
831
717
722
65
175
254
770
468
351
464
642
78
497
148
41
173
327
952
842
302
675
166
711
708
224
656
388
588
371
3
478
508
185
73
175
665
135
548
88
59
980
161
410
1
601
153
182
175
305
27
623
588
408
961
767
837
261
8
619
898
940
159
165
904
814
274
96
80
701
571
517
748
389
742
956
334
41
778
471
142
449
508
955
949
468
655
599
843
120
27
591
114
191
870
590
809
353
498
783
956
560
719
171
607
580
970
185
227
658
670
457
62
498
393
786
958
280
295
913
487
273
962
621
162
133
788
495
962
993
85
788
216
226
412
709
991
640
9
440
733
359
335
911
879
213
3
697
323
65
437
254
570
327
535
975
922
206
905
486
865
171
618
447
178
702
306
173
450
423
157
882
561
355
508
655
644
457
722
771
410
620
769
913
654
65
448
757
165
529
638
677
873
56
638
205
475
596
716
63
263
876
75
563
731
847
739
1
55
155
554
890
824
606
986
472
915
996
127
714
887
137
480
941
162
135
653
593
413
843
603
722
215
829
814
307
946
240
599
675
1
260
646
264
326
459
586
856
233
407
95
238
109
682
878
342
14
542
480
224
145
547
881
341
745
460
849
374
184
536
858
835
214
535
950
185
82
303
66
941
997
105
535
804
58
169
940
803
207
888
194
671
110
505
842
974
170
126
114
473
209
16
902
162
928
179
644
66
79
348
515
677
327
872
663
695
693
48
561
77
202
754
823
710
875
812
427
724
882
644
624
49
547
301
80
905
127
585
153
893
576
237
671
453
912
470
69
118
106
221
901
377
726
468
333
25
610
993
933
551
223
701
744
582
280
353
303
404
97
816
573
872
763
245
690
802
514
895
855
400
825
779
347
132
752
978
531
349
400
96
254
327
340
405
634
333
333
191
799
240
522
947
782
347
24
96
235
682
121
972
329
302
52
283
576
746
534
362
101
264
443
979
618
967
562
870
95
22
457
74
905
307
424
41
753
874
354
998
151
858
532
640
724
604
285
640
469
267
654
676
278
150
123
686
189
11
715
721
515
907
119
406
226
169
968
691
622
484
579
135
788
171
98
406
502
67
16
190
47
531
393
987
850
103
897
9
18
676
139
675
627
854
106
227
326
342
934
633
927
981
643
211
643
294
878
664
998
971
391
513
511
733
36
123
675
814
666
924
672
371
692
245
454
332
942
213
921
922
783
122
217
362
712
883
433
705
177
392
777
730
27
272
642
30
845
475
234
140
218
209
573
576
75
281
156
171
694
648
119
664
707
242
35
744
5
735
22
732
795
361
603
87
904
963
422
524
530
134
656
808
357
294
676
996
269
162
946
697
451
180
526
956
556
972
887
872
140
399
270
443
795
469
82
968
300
711
753
380
902
254
989
599
532
944
975
51
267
398
362
959
796
923
91
633
263
298
218
945
838
315
140
924
967
632
142
339
765
130
811
198
617
480
583
675
688
217
445
341
464
793
466
501
855
426
13
865
283
507
273
784
337
32
402
931
314
305
683
998
212
425
494
469
838
251
661
954
410
311
153
721
350
825
364
116
484
186
235
913
67
120
54
898
975
123
707
231
864
893
575
806
464
452
602
299
54
610
166
717
621
362
892
353
916
605
61
403
261
287
494
773
617
353
711
517
208
560
632
656
66
428
524
841
937
989
471
657
582
266
108
267
951
864
526
312
629
791
959
835
700
892
927
271
170
108
246
141
64
168
112
763
612
60
262
213
365
918
176
559
581
651
758
572
164
884
307
845
371
52
629
924
654
97
510
151
904
389
509
541
136
270
988
867
640
942
266
326
650
43
454
414
397
998
803
802
695
430
982
945
313
24
565
993
566
765
769
369
569
876
106
757
384
550
954
873
553
690
254
659
59
269
918
192
433
180
479
212
315
891
516
585
348
816
32
590
248
412
257
482
65
477
366
371
440
549
687
638
935
777
782
269
915
616
323
347
877
787
605
656
900
771
429
995
447
798
370
416
642
237
581
404
311
898
464
44
207
192
447
398
302
801
578
686
781
494
925
271
306
209
676
191
576
417
955
700
271
709
709
774
55
903
631
930
823
567
954
364
684
147
297
132
942
426
85
704
345
701
109
855
315
493
823
73
393
184
382
388
518
107
672
553
401
3
800
910
457
119
315
705
521
945
369
775
173
402
949
105
214
502
597
24
505
864
554
798
127
467
203
202
115
658
883
305
845
450
367
956
79
168
234
136
839
470
748
267
600
540
692
495
73
556
261
846
538
157
415
775
625
7
748
17
53
647
112
30
797
48
600
524
324
772
93
476
637
704
983
900
353
758
436
284
309
472
481
465
21
419
856
156
729
401
188
910
162
783
508
107
230
920
866
669
46
578
173
327
777
877
653
293
956
110
564
739
395
583
199
180
965
104
892
53
189
550
520
73
740
26
817
978
77
848
629
331
843
818
319
464
750
140
158
287
892
949
584
682
548
963
662
79
632
389
68
917
981
781
722
779
940
436
476
123
266
668
693
713
597
248
721
525
504
321
639
860
754
903
414
221
6
54
299
599
827
38
121
251
603
249
374
8
484
971
350
65
469
999
395
699
91
117
807
234
371
140
145
670
865
861
577
261
753
495
436
555
173
560
907
11
973
666
35
287
829
954
729
960
163
874
989
847
899
923
931
251
139
607
125
834
711
612
496
396
191
82
16
350
306
973
746
3
850
862
901
357
813
819
240
210
605
382
211
233
738
377
157
520
206
202
538
504
287
720
947
104
167
642
28
103
254
211
602
424
351
36
907
750
858
989
189
74
717
80
30
331
788
735
816
863
677
528
357
75
979
986
291
548
66
903
669
451
425
373
916
218
945
64
235
736
326
349
287
295
841
69
117
920
984
378
757
217
220
73
428
365
260
212
0
511
740
932
877
964
579
220
724
56
568
794
440
896
960
238
701
787
950
801
955
782
4
219
351
529
765
21
141
754
905
195
90
214
845
933
886
360
210
965
890
731
151
923
635
626
941
630
451
563
275
103
518
10
234
192
926
135
768
452
113
723
475
585
870
345
210
72
869
455
133
424
826
575
186
341
883
723
120
912
657
662
444
669
771
886
94
130
310
751
321
542
949
301
401
255
374
119
28
227
943
261
935
639
299
861
576
180
53
96
3
966
834
271
258
897
803
614
186
503
628
769
998
28
502
27
909
26
674
215
52
612
690
187
608
891
909
527
749
915
721
310
396
411
160
119
302
679
818
838
25
858
469
336
539
128
894
80
736
489
558
498
916
359
268
28
864
31
602
362
956
92
69
580
780
84
637
56
679
450
969
349
880
246
677
155
63
607
432
587
1
591
107
556
73
488
657
780
107
895
666
166
69
444
693
467
719
418
359
110
473
13
888
994
901
552
850
117
842
412
809
544
564
78
90
209
661
346
11
500
621
230
227
629
355
413
469
23
415
511
905
651
989
483
680
629
780
598
805
531
125
178
46
991
349
993
18
104
123
787
713
234
351
263
125
503
801
995
703
260
844
903
376
577
881
15
335
493
55
342
39
403
760
186
513
594
9
81
933
272
644
746
822
272
526
341
733
905
678
963
419
16
534
858
137
115
172
803
56
757
48
392
131
960
404
717
677
962
435
51
554
150
942
912
283
524
605
978
223
716
364
615
27
380
213
386
391
409
189
694
907
151
696
955
21
940
263
364
62
699
690
532
24
660
496
588
804
474
543
812
636
984
870
99
266
653
799
128
400
609
632
581
756
263
444
789
768
384
743
809
745
220
275
847
465
640
588
907
760
310
302
138
219
525
591
238
829
513
818
184
931
325
9
333
186
528
438
129
576
570
287
635
792
876
506
86
323
425
325
618
500
145
13
851
370
803
449
573
269
857
0
746
780
403
810
744
566
116
789
155
929
132
14
625
394
34
960
781
468
609
290
963
528
928
619
742
288
700
260
782
519
902
316
625
484
595
453
686
20
469
921
813
106
960
352
377
40
875
713
584
869
86
153
274
872
44
303
28
98
844
935
146
667
856
872
60
832
662
966
378
923
123
371
128
601
740
44
805
214
8
581
817
690
762
198
807
438
788
96
429
849
294
782
304
656
333
445
757
540
284
729
190
73
648
277
73
178
761
56
196
670
226
783
781
596
186
424
339
311
65
577
314
274
964
532
54
19
288
435
757
383
238
407
878
134
483
213
560
685
734
468
616
56
665
963
729
172
248
694
187
774
497
573
60
331
285
774
983
256
602
717
236
853
342
599
585
762
63
312
518
164
527
266
446
185
812
364
370
344
164
84
513
458
744
858
383
796
782
651
107
488
589
360
104
718
608
946
994
746
254
885
969
117
683
304
271
939
504
78
634
525
28
387
512
721
477
255
513
295
1
481
359
999
884
993
656
411
557
671
492
895
486
895
298
847
869
246
917
121
385
742
328
874
197
787
566
600
560
790
904
444
172
270
563
204
23
194
983
507
683
59
569
371
930
319
792
665
484
938
126
246
29
61
616
587
72
378
850
185
696
780
216
239
989
239
251
823
493
230
360
342
379
848
444
733
647
913
847
884
771
987
498
321
930
256
377
808
323
433
679
861
564
598
117
578
47
410
455
901
253
988
407
288
685
161
814
56
39
440
969
678
308
447
179
834
85
82
373
74
14
83
900
940
863
558
424
389
661
685
905
156
167
576
334
901
31
932
447
42
47
883
221
74
31
960
858
392
994
950
948
412
953
943
421
383
371
312
693
523
307
604
677
750
530
432
265
120
241
644
208
782
719
319
406
486
544
163
497
994
972
144
500
268
53
425
871
932
188
976
364
151
742
751
520
977
268
510
901
122
571
457
193
188
617
813
79
462
424
621
600
547
709
103
169
600
762
996
762
700
691
363
456
391
301
980
109
815
427
684
629
204
49
104
31
217
9
861
813
775
221
938
497
98
819
954
888
713
623
574
541
844
559
586
487
25
310
727
567
523
934
229
929
426
442
903
901
382
314
516
990
962
141
382
829
394
891
533
512
204
60
193
395
901
447
152
959
123
508
386
650
343
40
913
223
443
620
789
981
12
872
575
138
43
481
831
892
166
129
728
305
39
636
837
625
668
145
596
652
902
817
326
605
153
445
799
78
125
178
529
62
515
847
523
127
413
48
219
171
531
251
997
143
46
201
776
413
858
926
267
106
837
104
539
394
336
525
689
342
938
248
739
104
129
702
195
402
17
179
107
865
804
997
680
822
275
728
932
458
452
78
609
849
858
336
732
626
475
831
401
125
201
122
149
172
190
118
999
166
248
897
592
409
134
918
628
642
251
539
387
793
762
674
194
518
308
467
615
321
564
379
555
279
452
113
327
800
422
547
561
98
140
339
832
414
310
847
349
88
443
870
245
734
726
815
985
641
445
364
656
276
762
483
422
657
130
504
609
808
768
358
164
750
98
362
907
530
135
715
863
124
219
780
969
69
409
407
543
208
563
597
105
545
719
802
429
841
555
365
413
680
688
187
470
987
63
720
370
231
735
189
607
31
925
605
288
228
3
430
944
552
930
993
670
803
680
617
831
382
450
965
533
222
65
315
524
929
721
948
422
494
722
445
591
233
667
86
90
843
853
426
989
406
768
150
242
63
41
604
486
286
866
760
957
764
450
481
103
147
254
266
245
277
692
533
123
549
179
917
464
628
968
411
698
422
281
119
581
609
408
847
498
467
684
357
797
670
154
733
291
841
505
333
504
755
511
603
170
966
681
963
975
653
418
533
853
439
470
72
859
451
936
712
250
866
113
689
486
455
682
215
703
452
254
224
874
607
453
865
857
767
380
720
804
726
703
172
383
146
426
907
240
221
192
304
358
789
172
572
630
826
738
825
409
463
947
214
797
677
857
978
435
120
665
127
961
558
604
858
223
97
189
818
92
589
474
4
888
870
677
602
9
785
157
773
167
681
951
858
25
518
32
677
826
491
237
942
548
215
737
448
137
874
525
800
53
521
945
290
205
514
233
977
454
249
516
331
420
265
433
245
414
551
726
494
391
624
253
334
701
801
636
870
638
912
387
950
918
672
743
372
142
75
881
447
755
955
577
196
812
149
445
770
623
344
390
606
683
57
411
335
345
287
624
459
770
956
96
893
946
589
36
678
904
532
163
979
592
769
586
196
734
251
181
876
918
693
51
866
341
851
834
49
442
240
555
364
256
915
491
122
36
577
751
430
170
936
198
815
164
227
49
34
446
93
952
338
117
729
760
495
509
307
386
732
947
380
867
437
695
838
501
403
955
546
152
219
867
346
220
531
31
927
347
627
921
918
995
739
279
42
554
107
852
216
275
594
244
118
603
351
545
445
753
963
62
340
784
541
683
325
735
53
25
177
455
441
918
52
324
70
834
485
903
898
623
492
106
124
467
984
216
659
300
362
254
41
637
737
231
853
837
913
171
90
998
350
797
965
166
481
482
795
859
172
835
885
788
576
999
827
421
315
281
481
122
111
396
62
145
945
968
421
109
786
763
281
741
273
589
283
801
374
703
828
660
501
147
564
525
274
784
538
287
350
981
335
222
402
361
843
235
967
395
152
171
436
367
80
453
755
194
104
312
641
704
197
257
267
40
336
346
327
446
93
894
63
366
477
919
376
354
466
342
15
177
482
718
917
675
577
871
162
236
156
383
586
982
89
167
445
210
185
6
202
848
991
777
157
189
899
459
601
51
897
83
777
290
118
27
546
620
736
206
736
42
25
361
103
789
343
67
14
893
465
550
872
100
119
602
345
315
413
71
968
534
913
266
997
778
283
746
197
570
644
376
519
705
705
232
158
855
646
334
262
784
277
595
382
75
193
208
955
45
374
325
556
907
170
70
915
559
907
943
52
310
266
825
371
692
444
447
446
68
480
292
231
26
367
216
941
283
434
916
759
687
47
458
221
15
417
89
177
757
311
352
664
380
884
607
243
411
155
554
11
533
260
334
893
177
103
980
888
622
574
766
228
324
185
846
840
378
889
552
103
622
768
261
536
285
822
195
367
827
94
967
729
102
736
152
433
365
342
742
641
905
414
318
407
276
319
368
670
506
776
909
30
582
935
430
490
288
927
619
481
440
333
648
222
507
946
620
3
380
685
297
325
421
599
432
7
528
563
635
161
723
402
956
263
984
116
25
762
839
11
453
952
493
700
575
38
432
542
185
714
752
929
811
171
139
110
897
3
802
187
509
524
317
108
595
166
639
886
266
725
222
945
300
477
462
372
82
307
944
795
351
96
918
270
249
594
402
267
478
343
929
51
638
517
680
402
929
803
193
394
76
484
674
669
707
456
452
135
43
305
458
32
243
307
297
958
335
792
392
142
586
300
784
277
13
657
935
995
487
958
647
108
2
663
66
463
767
560
779
533
365
244
437
50
255
58
572
205
201
724
966
639
326
727
912
938
910
677
407
714
801
211
129
76
717
343
153
733
173
482
750
398
93
948
277
601
817
106
751
811
730
263
817
376
119
422
408
897
216
760
228
18
174
134
285
505
585
888
948
976
168
887
731
754
54
836
659
264
828
100
700
974
235
964
818
678
525
310
377
694
589
421
901
18
112
895
956
586
827
209
867
872
360
432
552
531
961
512
281
427
320
779
122
927
850
473
613
399
549
420
540
421
30
798
611
880
198
641
35
756
879
301
44
211
445
386
645
610
75
443
950
16
166
59
628
879
341
956
645
744
423
176
290
923
366
254
995
695
222
54
970
373
111
557
203
956
953
19
202
233
657
883
760
234
57
294
951
796
717
241
756
852
374
823
151
105
505
364
928
404
904
745
984
932
897
352
415
127
633
416
236
882
902
303
796
249
843
956
656
680
104
602
666
238
883
385
269
329
156
364
43
764
98
211
180
989
144
841
834
960
107
910
517
620
960
511
183
585
981
835
324
50
820
972
779
678
609
369
943
725
150
688
911
301
373
216
831
433
170
239
767
552
180
355
200
447
614
101
162
341
651
283
681
105
798
863
909
248
28
181
547
271
332
873
266
526
996
728
997
66
822
460
893
338
509
980
958
123
199
350
153
885
537
819
246
579
666
484
182
648
266
996
293
23
823
601
963
638
733
611
781
90
855
998
179
511
857
348
6
116
524
166
979
107
256
799
14
714
909
768
862
791
268
362
177
117
390
31
123
848
928
354
740
242
58
76
143
603
593
992
791
870
758
320
526
208
862
527
88
362
829
201
221
877
798
739
158
151
152
422
44
461
123
127
61
974
779
313
477
412
35
38
451
18
353
544
772
224
327
793
405
125
978
562
911
654
356
424
787
784
320
507
772
58
365
926
558
639
816
938
761
318
245
249
895
215
459
369
822
291
571
706
813
144
720
57
585
54
126
454
518
238
916
875
393
141
192
24
83
313
47
659
437
191
307
865
883
828
716
639
442
53
238
289
86
524
233
705
55
793
764
942
110
110
481
21
682
318
98
910
246
170
961
993
714
795
373
841
525
634
903
704
977
339
736
145
964
388
599
44
640
3
608
847
835
66
136
908
575
538
853
142
413
680
186
534
610
189
609
333
428
805
342
370
257
952
845
469
769
743
449
727
690
612
550
216
263
249
137
401
622
269
653
822
444
14
116
848
864
120
671
156
563
636
959
607
102
64
731
575
807
291
354
298
706
440
19
511
553
505
789
67
950
244
463
434
464
167
367
544
101
955
556
576
809
450
924
462
692
699
272
691
494
406
906
162
695
588
396
115
94
197
340
602
315
737
516
349
354
436
54
557
805
446
902
121
178
343
620
898
411
893
972
781
201
333
694
542
413
503
515
906
93
446
8
863
552
206
748
611
420
489
207
457
480
269
992
406
250
108
141
963
458
765
849
682
108
324
663
955
901
518
19
265
937
945
819
247
851
825
143
995
809
752
188
701
281
80
508
574
54
198
28
718
714
481
458
59
810
545
735
222
666
585
535
999
641
747
175
676
917
49
803
908
621
605
856
387
545
430
604
791
153
180
744
412
115
588
189
807
724
729
643
325
820
102
579
502
92
319
372
457
109
536
681
886
159
460
546
437
430
64
342
803
433
58
214
149
108
914
627
80
922
317
616
911
344
568
241
553
871
279
104
191
153
367
51
577
512
377
159
598
721
724
683
991
69
616
682
318
482
65
529
83
599
611
253
446
861
557
20
947
288
780
721
317
970
556
969
119
351
975
82
922
517
110
962
400
920
575
894
46
956
457
441
171
117
876
826
128
40
720
516
748
38
489
926
93
999
820
281
33
623
434
766
879
693
284
853
335
427
623
560
421
61
251
681
687
25
256
612
946
720
702
351
984
543
521
120
503
122
715
914
870
471
997
719
206
975
520
8
177
225
320
337
829
770
573
890
375
502
924
650
748
338
505
327
379
569
155
894
937
789
67
530
505
888
299
359
138
352
816
938
318
874
289
931
684
377
814
344
618
504
494
9
86
599
535
79
220
944
851
180
183
26
719
922
870
657
20
442
936
947
698
19
343
662
771
117
532
900
487
511
90
427
933
886
652
429
494
159
125
221
598
587
980
173
919
44
816
372
202
132
359
886
261
86
77
350
32
538
621
654
594
938
26
764
198
333
207
871
514
287
842
82
490
106
653
559
78
736
540
463
139
671
977
387
770
403
146
458
158
49
292
104
502
734
873
994
662
854
354
528
442
489
371
543
320
512
944
29
81
98
753
807
941
878
479
924
567
778
170
141
150
14
713
105
972
165
438
543
210
183
417
287
758
847
629
810
475
588
602
802
8
912
828
298
600
374
568
339
405
431
177
71
309
251
895
616
534
911
74
327
131
326
373
967
952
154
361
223
554
782
259
659
542
236
807
55
720
931
887
433
306
10
572
953
43
946
483
61
932
455
122
39
707
826
623
760
946
467
712
302
507
282
831
715
421
211
815
484
259
145
449
603
192
632
751
367
26
968
175
10
635
672
697
555
451
933
637
692
957
681
141
975
548
964
372
669
783
962
321
630
298
629
869
78
814
538
704
935
911
508
875
396
854
20
906
735
819
84
60
591
650
808
74
49
862
620
832
727
972
59
546
218
677
264
627
706
558
219
483
366
699
428
129
982
811
764
222
141
641
158
715
704
419
52
387
372
819
633
146
214
261
250
449
658
471
435
787
175
536
995
943
411
183
946
58
284
913
925
245
588
462
924
175
95
428
483
899
967
390
570
477
921
276
301
470
814
746
898
594
799
190
383
600
239
5
911
239
214
787
508
112
753
61
10
77
396
256
343
944
250
501
70
772
301
926
426
437
388
217
585
943
202
5
169
179
89
745
870
441
778
642
483
595
944
387
328
767
79
63
200
467
884
777
799
484
889
591
308
667
17
54
898
773
577
274
606
149
888
639
493
522
606
614
845
961
616
677
63
714
59
688
745
633
143
722
419
40
1
351
532
275
348
827
433
308
401
962
666
996
909
759
184
724
634
862
518
78
844
335
464
945
741
99
129
776
887
195
20
332
209
565
32
647
920
78
341
310
121
468
770
184
626
175
397
927
545
959
433
948
741
333
709
121
599
530
122
378
210
343
483
840
39
220
578
231
353
504
448
269
730
147
505
488
441
472
597
113
208
262
656
865
70
441
74
83
466
539
567
13
25
829
879
582
930
295
201
642
902
717
169
806
974
221
380
993
556
215
474
898
359
927
618
532
982
700
240
749
247
674
104
414
39
434
350
879
665
695
13
294
759
67
741
126
963
258
670
236
415
753
269
897
800
618
391
436
830
219
821
852
718
665
343
134
541
894
309
276
776
388
18
219
789
544
976
787
469
469
263
680
332
928
655
326
135
500
67
560
469
186
55
347
704
463
834
904
132
226
849
714
544
467
358
463
306
801
133
518
828
556
760
850
196
164
178
605
7
317
422
633
556
386
224
990
807
659
637
424
404
678
141
772
819
851
93
196
510
188
749
244
369
856
25
841
266
14
593
268
881
931
771
106
497
386
764
657
542
224
613
255
390
442
398
622
473
930
341
571
468
773
133
295
403
739
911
79
443
600
314
37
524
564
108
832
636
213
969
609
288
156
793
192
960
189
979
388
16
896
999
726
269
887
437
869
308
314
768
646
581
103
447
860
48
861
502
949
551
632
35
697
524
168
940
541
313
173
830
728
381
134
681
852
535
707
344
756
18
865
900
937
489
460
637
176
177
647
796
426
569
931
611
164
736
105
962
476
429
490
483
883
538
957
788
430
943
448
243
621
814
827
110
29
362
263
892
608
636
50
653
29
167
41
689
189
469
523
707
822
927
878
905
821
603
829
608
907
830
995
933
447
944
257
995
137
969
746
101
371
571
0
333
358
650
480
386
666
177
28
677
61
660
23
943
484
525
343
647
445
471
9
294
841
934
474
57
966
596
25
635
623
476
138
793
959
610
795
95
44
963
606
957
66
961
584
102
860
438
876
327
114
953
452
922
242
437
626
366
206
693
555
646
333
950
750
702
684
416
867
826
170
599
731
655
67
426
325
376
705
147
569
205
508
805
155
909
789
608
234
940
211
180
418
100
99
796
454
593
308
792
665
897
850
389
817
643
379
410
534
384
114
596
582
483
196
388
110
0
709
676
426
675
678
653
291
759
946
957
858
947
898
77
758
430
226
324
362
369
629
462
577
214
531
957
977
217
267
508
958
555
594
753
213
754
151
747
4
718
533
391
672
706
661
325
125
825
472
405
497
37
938
268
53
782
669
785
594
998
715
304
345
56
646
170
471
393
53
202
229
540
597
664
106
413
35
586
617
20
148
565
540
956
675
729
609
740
477
534
646
261
643
274
694
132
995
874
724
406
146
874
554
464
512
224
373
731
117
546
608
145
866
967
284
649
455
882
689
89
425
717
7
823
85
205
478
628
465
679
719
488
10
491
676
367
244
475
76
559
674
772
327
234
834
600
35
521
183
740
129
469
487
608
131
996
786
176
513
712
591
916
601
90
564
755
843
790
834
930
513
280
329
934
487
744
639
554
914
27
720
600
99
469
167
302
618
814
50
672
330
529
478
248
244
549
485
121
502
492
505
0
462
631
177
939
802
892
278
616
783
944
537
223
163
394
225
923
51
199
967
245
368
145
84
723
401
198
365
384
793
553
910
193
125
174
915
681
384
177
786
391
26
157
213
718
675
343
478
355
864
153
419
795
441
892
696
904
679
768
925
782
279
762
12
209
845
505
722
577
877
258
404
965
674
475
526
696
932
927
940
527
216
483
574
272
430
203
56
709
921
753
995
403
351
174
205
993
811
62
732
336
880
953
155
374
864
860
819
808
834
546
766
991
10
399
957
553
427
526
537
988
869
949
130
896
322
924
610
209
583
333
985
973
59
891
41
594
828
830
45
13
135
495
880
225
644
991
130
102
743
625
377
6
173
595
522
328
979
222
187
842
277
537
820
664
281
111
40
283
755
982
851
714
100
128
306
606
157
865
188
733
803
83
640
300
815
140
525
937
466
417
371
523
666
664
248
120
545
45
692
496
332
38
855
587
754
311
581
297
854
100
476
565
615
514
922
412
667
227
366
535
18
919
493
97
526
353
406
373
581
726
936
969
49
165
374
938
701
831
698
171
81
102
250
721
25
530
608
346
474
823
489
454
351
233
207
282
256
563
725
24
687
925
25
566
557
737
802
396
945
140
847
133
360
149
300
935
802
247
791
734
50
394
682
828
365
998
899
71
177
447
125
515
911
376
673
599
337
58
280
728
70
744
299
229
779
210
147
307
553
702
699
592
878
530
517
711
953
442
164
595
678
682
636
829
155
316
98
626
264
421
809
442
60
610
397
776
918
928
416
156
854
47
33
769
821
321
750
827
56
788
736
191
412
483
824
962
155
469
119
755
80
25
313
294
748
389
678
363
790
654
387
371
535
40
986
579
898
578
989
806
882
377
523
192
42
239
857
929
533
313
806
838
336
907
382
26
169
601
776
267
620
275
132
399
289
840
648
856
646
950
34
292
409
703
39
824
297
554
921
281
812
315
926
113
648
371
975
763
114
690
143
295
153
601
542
883
867
612
108
204
339
601
603
325
912
522
168
33
542
477
227
851
282
630
866
875
599
333
9
859
782
549
877
662
789
982
575
461
905
322
820
927
940
182
884
410
676
14
952
345
887
88
317
944
49
345
973
823
645
593
825
701
707
903
793
899
96
439
870
142
201
739
977
479
796
102
668
182
554
684
843
935
855
782
939
342
390
953
337
705
339
746
672
149
651
81
825
581
23
139
692
73
937
977
981
753
244
357
258
863
771
488
580
660
492
784
617
288
137
182
244
880
442
171
706
479
195
232
932
760
801
781
349
511
113
25
821
116
399
102
350
86
815
547
800
958
850
2
46
609
8
741
579
804
447
744
118
983
334
321
85
129
279
660
893
269
426
412
625
243
746
312
207
751
885
876
143
642
394
109
419
820
899
658
501
579
390
821
408
36
290
831
161
145
827
653
136
951
661
875
35
853
43
417
224
970
381
805
129
907
593
529
826
92
56
571
535
809
503
559
944
451
396
209
304
920
461
634
400
802
929
95
945
326
79
241
694
951
336
392
274
716
215
305
921
639
427
328
279
600
465
303
447
106
220
473
870
290
482
836
746
61
451
321
583
150
40
825
949
334
500
637
14
158
111
349
709
706
489
855
438
276
102
722
364
434
841
572
770
239
51
312
457
986
723
480
267
951
909
389
824
708
286
286
693
358
883
692
409
321
85
475
413
866
867
166
631
81
434
256
447
898
298
688
230
478
878
31
937
585
730
493
403
428
607
362
8
916
296
575
838
160
561
53
224
904
805
456
16
925
500
625
346
799
310
476
208
140
834
379
431
820
604
561
309
959
501
776
384
619
677
689
15
210
663
940
608
307
679
468
462
475
528
444
409
166
897
743
802
121
11
578
619
76
585
363
564
877
643
496
142
608
165
348
152
714
908
950
79
633
165
403
216
844
576
606
144
890
116
803
169
743
911
187
497
417
558
567
163
350
897
135
675
431
583
748
515
876
97
65
249
960
703
198
975
54
614
130
615
716
636
192
143
644
150
125
671
490
206
479
429
634
627
555
95
758
2
472
671
696
382
338
654
695
504
532
280
390
787
531
657
375
113
842
82
405
926
133
70
240
49
322
646
707
337
925
340
485
107
85
662
738
580
21
692
840
977
927
108
191
658
348
929
599
5
197
5
946
495
845
769
142
693
691
107
398
256
427
756
738
682
928
889
906
544
704
168
608
501
285
805
768
929
564
79
454
280
296
900
705
171
752
677
257
386
610
937
931
444
388
92
627
69
189
818
618
610
483
22
566
145
953
735
98
558
822
490
63
140
221
880
414
83
776
476
867
904
956
610
369
489
383
549
77
900
832
459
530
583
531
985
750
708
11
251
268
181
87
891
63
773
849
276
517
663
620
549
111
996
581
307
543
89
74
936
114
253
120
148
553
119
322
591
773
133
678
311
54
289
416
126
935
380
527
381
588
62
288
630
657
59
264
460
374
955
100
761
451
996
744
640
504
301
659
577
127
951
226
213
962
905
249
852
119
772
52
814
149
274
634
487
768
801
528
475
283
470
613
757
765
11
478
259
796
51
698
786
374
323
75
124
508
302
458
213
394
956
184
516
875
44
255
441
167
159
688
99
963
299
631
125
510
50
966
226
942
47
243
573
576
12
42
407
472
549
2
906
132
727
914
868
176
9
130
930
266
134
658
912
546
994
356
109
376
618
918
435
680
605
439
617
965
528
438
958
935
353
248
785
623
287
94
698
987
582
687
939
795
970
894
164
32
826
790
297
35
255
455
781
538
809
60
98
8
847
123
352
240
336
353
22
549
115
320
259
636
652
352
76
530
807
970
117
114
927
457
120
292
982
18
780
791
801
770
209
735
30
895
849
309
454
825
778
713
156
611
702
776
697
878
921
717
193
382
303
289
30
170
172
598
890
622
995
239
394
480
769
484
405
499
534
426
642
918
724
809
936
984
34
439
559
834
8
233
820
728
117
577
753
12
112
265
437
150
219
667
197
154
188
123
95
457
711
422
468
182
103
0
705
857
910
515
736
482
997
656
445
280
773
874
941
97
212
893
593
72
287
414
826
137
147
528
918
593
930
700
175
658
523
485
831
193
287
363
997
332
742
497
365
679
618
377
545
14
377
920
390
257
499
371
532
902
865
912
385
438
287
273
595
441
161
460
337
335
525
817
653
304
620
62
29
914
997
483
405
285
511
731
22
367
412
552
595
116
894
206
672
278
301
467
203
137
665
502
911
184
200
45
922
163
984
398
547
147
621
655
255
54
590
369
171
496
349
688
520
75
492
355
78
130
756
772
745
468
720
305
954
426
937
991
67
175
271
732
535
398
457
68
492
580
284
285
31
579
570
139
929
898
313
281
312
23
829
720
679
144
972
537
617
981
866
341
702
541
272
129
607
864
764
150
272
371
645
198
910
537
567
354
863
312
456
722
528
613
845
634
325
172
918
708
810
655
871
870
390
547
92
16
305
423
198
266
630
343
283
347
801
393
467
903
211
598
571
830
385
720
956
538
216
750
818
524
960
804
267
375
577
246
2
45
572
739
218
507
365
548
199
784
83
754
282
634
252
374
480
597
874
643
383
62
807
631
279
731
184
666
821
441
453
259
750
966
116
72
238
361
413
482
637
879
384
588
993
19
177
85
165
239
432
104
480
559
324
881
52
599
686
473
627
97
585
112
982
279
335
430
501
520
887
941
107
189
231
585
920
379
830
351
635
170
835
406
731
292
256
390
84
207
278
478
258
755
180
254
734
382
48
751
573
852
70
225
327
95
537
873
421
28
800
182
892
964
200
721
830
170
741
615
971
553
776
355
880
46
192
88
63
469
200
633
681
690
314
736
757
924
316
300
154
380
191
229
981
729
807
627
473
117
795
21
933
224
417
433
58
410
500
458
938
611
953
563
560
799
280
474
927
941
487
464
580
580
321
944
7
430
233
949
707
460
88
79
725
770
468
930
934
259
426
853
803
401
347
134
593
601
164
242
516
121
972
656
307
646
195
779
547
834
535
60
258
208
617
557
938
562
745
322
42
796
322
898
938
412
804
564
742
842
104
148
990
528
130
554
922
514
919
182
446
623
339
507
551
456
166
472
296
924
751
787
609
804
329
123
814
806
117
696
634
791
512
507
375
553
384
695
870
679
630
593
251
507
575
892
427
69
308
670
546
835
622
99
941
356
184
192
888
92
370
198
156
326
968
278
115
47
538
0
551
170
544
567
995
638
817
516
617
213
702
133
552
718
648
82
818
154
717
841
636
512
714
597
223
934
679
582
228
520
264
898
83
444
203
665
291
532
786
958
834
91
326
240
684
886
268
174
369
330
882
400
590
322
996
611
39
143
105
511
829
838
711
334
771
893
803
986
292
754
376
33
695
471
788
320
998
168
857
63
456
933
730
958
361
197
654
828
688
281
446
625
333
634
496
191
500
675
358
851
787
456
672
549
189
680
482
22
827
291
429
343
329
975
865
34
5
271
209
947
169
198
495
835
893
718
586
646
347
870
198
275
806
503
973
115
52
161
557
288
412
68
189
418
189
923
694
249
700
481
550
245
838
946
362
599
918
767
625
97
26
102
660
103
87
560
958
502
447
634
734
516
598
420
741
469
344
759
366
669
198
956
251
66
644
164
149
464
60
862
246
287
280
884
474
686
971
668
707
481
257
69
534
889
593
401
338
614
927
591
388
538
379
370
685
655
231
505
186
579
769
493
906
791
218
857
60
68
100
998
376
30
117
410
734
546
117
68
299
897
277
507
169
650
334
679
442
154
975
991
821
52
704
396
903
485
479
4
953
576
576
527
198
460
779
97
304
478
650
204
123
597
964
801
749
736
206
125
819
234
890
311
556
361
277
197
912
134
395
524
881
143
554
947
926
854
930
718
838
787
679
884
9
544
565
161
817
713
749
688
20
223
466
825
505
387
756
829
90
883
920
818
97
305
989
399
114
937
451
618
269
184
768
453
418
204
174
40
252
451
10
899
67
598
516
938
581
428
383
236
30
183
480
29
670
722
935
447
297
834
197
452
454
130
170
883
381
911
432
162
917
610
758
66
532
219
216
944
530
486
585
259
273
982
251
71
237
829
110
334
74
224
884
692
326
521
748
669
602
804
270
296
607
4
570
231
674
121
915
526
332
12
912
365
411
153
832
761
249
717
275
91
24
386
351
509
435
550
622
896
25
224
362
881
451
104
74
193
730
336
161
419
561
384
610
104
618
599
106
6
54
508
643
516
812
709
906
7
104
410
306
468
354
546
228
547
748
74
33
944
796
132
714
745
612
733
934
710
906
742
966
784
825
219
845
305
263
180
277
230
319
952
613
518
33
340
540
123
331
120
197
8
901
114
554
513
255
440
852
406
912
235
383
314
880
813
799
709
804
613
262
61
927
378
537
771
501
362
728
41
576
265
997
328
301
815
422
809
638
653
78
367
611
987
388
744
825
853
360
430
721
777
162
733
876
875
537
382
385
724
493
843
699
790
101
431
669
949
386
331
421
391
131
259
217
250
395
78
709
427
980
772
165
419
840
603
934
766
875
698
366
601
150
775
539
101
424
390
739
874
89
264
541
710
524
949
26
371
5
975
599
262
59
992
819
485
998
467
891
898
348
725
914
644
255
574
893
228
908
607
603
647
336
577
192
740
705
820
549
447
32
910
67
329
533
816
321
534
81
504
324
700
478
438
193
579
521
166
633
222
419
940
47
397
988
333
458
475
911
271
830
735
590
552
545
616
150
409
954
877
736
260
285
550
113
549
789
152
477
413
992
599
680
264
260
522
42
138
242
797
213
994
176
914
182
763
416
460
581
911
277
433
329
627
733
624
365
717
576
481
993
290
579
322
53
528
349
761
567
266
329
288
134
72
362
833
985
501
436
9
119
648
495
12
235
224
748
907
110
883
499
42
643
74
103
979
926
535
137
46
604
756
424
294
909
216
235
484
704
423
19
596
21
410
107
803
981
805
85
679
156
900
52
518
363
561
630
228
66
115
644
714
384
323
841
795
527
655
240
851
860
433
984
796
759
966
823
471
929
809
923
419
369
791
732
594
677
194
521
584
58
725
174
76
345
610
938
978
21
470
534
701
28
607
305
825
489
68
678
861
34
302
928
72
627
242
784
195
94
982
552
758
868
704
476
414
432
726
978
168
853
210
288
343
58
240
329
155
756
944
423
249
700
685
36
55
612
177
726
78
548
58
884
861
836
11
493
330
846
222
726
204
934
848
885
420
475
779
238
432
800
148
59
681
743
702
911
333
301
566
683
345
425
882
872
611
694
64
587
607
812
305
689
362
688
879
349
747
544
357
611
128
271
82
314
128
694
701
477
985
923
431
521
444
917
604
845
28
320
124
320
735
535
131
640
42
610
43
391
524
671
896
203
995
211
566
400
793
761
328
221
93
626
300
637
421
705
806
936
12
517
276
109
335
516
895
766
95
211
190
586
352
972
8
285
85
268
532
679
890
493
772
938
832
940
477
334
177
921
330
678
794
671
586
408
530
912
571
518
961
719
147
374
142
243
432
619
248
957
620
90
862
366
379
650
290
731
633
482
298
454
993
57
931
435
668
894
880
948
558
795
161
451
703
659
138
9
710
259
628
113
873
870
975
89
109
263
399
341
950
418
871
383
769
711
376
268
652
444
210
522
664
950
748
781
46
408
23
510
541
976
75
781
400
875
545
501
756
581
310
975
222
260
461
284
755
883
669
234
302
70
788
469
31
408
544
559
104
48
920
769
155
284
407
368
744
134
403
752
222
526
790
632
275
846
999
672
853
195
167
540
236
181
253
738
464
263
616
622
880
789
313
168
828
180
476
5
67
363
236
51
134
533
742
785
724
293
24
890
593
411
301
608
215
856
933
993
654
150
157
584
559
854
745
866
777
704
662
751
568
527
367
287
965
534
847
373
128
728
416
372
106
32
549
307
829
32
222
317
220
734
216
31
443
144
117
340
629
350
779
665
857
101
336
596
644
686
705
957
412
281
89
322
277
290
668
81
579
933
301
425
606
67
977
119
359
671
342
977
163
736
349
714
630
191
435
319
133
693
936
236
880
238
741
412
504
237
471
395
1
126
627
234
789
43
55
513
365
954
114
927
628
43
985
66
821
17
613
430
191
919
400
411
553
446
35
582
152
266
763
71
450
497
889
991
986
99
99
531
244
794
642
407
169
822
922
115
982
776
22
46
986
907
146
371
461
150
173
782
622
898
447
142
249
488
249
722
972
116
426
527
530
5
43
161
861
108
771
828
151
396
785
696
411
690
269
989
878
449
909
767
707
693
81
143
53
477
273
526
239
883
19
728
381
183
275
848
702
858
710
934
1
798
555
368
717
261
451
878
70
144
328
740
279
869
429
509
481
252
628
792
777
27
440
840
362
440
406
691
515
344
906
236
765
740
899
525
6
649
949
110
989
959
902
373
584
539
49
856
250
5
838
450
524
782
283
96
559
323
337
620
333
600
422
519
629
608
8
18
727
240
71
909
135
730
182
800
631
679
982
842
725
830
337
607
328
79
611
984
87
750
4
582
821
489
670
312
34
73
609
42
725
854
246
851
676
88
348
267
758
924
913
164
304
288
533
561
777
762
847
194
633
764
59
22
180
966
55
70
775
877
704
561
143
126
91
895
935
269
845
122
658
197
418
77
854
206
435
245
170
963
392
738
770
942
881
175
826
273
387
198
886
700
857
568
723
382
489
247
959
370
613
720
428
517
250
362
925
781
693
592
95
719
86
130
691
391
601
764
757
948
358
843
857
25
23
149
35
776
584
855
887
192
301
282
527
98
38
490
62
488
215
916
526
986
862
10
113
559
766
791
946
452
415
492
209
414
3
523
582
721
79
540
718
30
492
875
427
278
815
833
452
670
509
968
93
138
226
210
32
804
954
209
11
271
43
826
546
188
614
372
383
918
564
678
517
993
428
476
549
525
874
707
786
665
47
834
399
871
653
514
928
988
925
515
212
173
13
358
341
481
816
14
352
43
787
61
758
290
92
431
962
711
64
866
792
717
210
534
611
459
796
800
137
566
418
394
81
366
935
195
153
152
556
943
87
884
921
27
634
285
538
112
759
931
569
342
166
666
859
643
271
556
94
214
97
310
818
627
44
997
456
846
292
845
562
564
52
357
761
639
102
674
215
564
463
924
348
348
898
103
437
682
580
102
170
543
579
966
912
112
179
723
924
602
156
252
936
837
818
558
119
4
825
558
447
13
514
287
364
991
190
934
315
498
413
7
464
370
484
960
253
246
691
469
283
447
401
714
673
866
973
690
999
31
574
693
285
789
117
477
567
87
266
847
945
364
351
897
425
363
829
629
21
223
588
339
360
846
575
418
885
584
41
843
611
43
76
619
970
7
749
859
11
243
820
356
218
618
369
164
682
721
90
977
925
337
596
332
175
783
164
362
286
80
75
163
310
909
222
55
950
372
334
528
311
579
903
178
321
663
227
287
230
998
263
598
743
330
151
43
406
868
350
775
984
264
900
281
222
467
577
454
851
686
201
970
663
421
895
767
909
790
136
693
137
255
50
490
676
419
936
898
271
196
735
195
224
801
774
908
857
735
810
261
210
720
273
438
67
105
371
375
13
492
752
248
137
774
371
485
415
887
710
325
27
110
366
195
402
558
286
756
103
5
896
880
698
264
29
163
858
794
194
242
210
438
297
561
313
920
205
178
335
221
584
747
952
24
78
42
152
310
704
583
696
254
560
802
733
397
629
64
846
23
717
999
615
47
380
585
195
92
531
547
561
42
930
565
787
84
959
525
458
96
897
345
437
297
833
512
683
32
301
444
100
379
650
635
323
268
402
119
902
955
641
138
997
311
633
996
369
806
568
680
359
742
982
720
716
290
722
411
195
330
208
724
329
941
706
470
415
832
669
915
469
926
86
802
357
843
710
270
387
317
674
606
309
561
560
892
24
867
483
844
747
811
803
110
273
280
313
541
147
554
622
218
363
203
765
465
275
737
502
796
557
925
69
550
617
516
764
648
292
936
216
516
203
891
272
585
125
172
217
155
673
688
1
887
120
25
561
846
92
798
31
704
894
558
8
72
860
353
797
257
717
306
920
15
159
407
601
87
532
767
591
54
798
674
386
94
302
447
831
475
516
88
895
219
408
745
224
503
449
566
207
627
510
397
193
296
867
240
293
394
863
601
512
301
277
746
396
154
423
723
298
705
69
263
177
143
32
283
20
805
76
738
748
690
119
456
268
281
553
519
984
474
480
444
202
250
447
278
832
417
939
154
703
171
750
761
813
590
24
324
800
383
222
109
189
669
930
919
635
564
747
865
575
381
133
823
731
612
557
356
561
875
725
178
141
416
600
842
817
90
953
542
437
517
330
177
573
995
8
481
865
851
753
695
705
36
307
941
760
507
53
514
278
355
995
464
596
734
537
241
56
67
265
814
291
126
508
946
210
251
357
895
678
281
472
534
3
48
220
226
65
973
389
508
105
844
223
931
219
89
101
124
42
996
743
66
13
739
279
497
813
108
98
242
888
809
353
756
151
269
652
13
736
823
720
674
497
210
296
691
431
0
230
632
901
445
575
867
497
77
113
258
680
226
189
108
764
422
999
730
194
977
50
863
242
29
753
986
479
902
250
828
319
596
388
85
188
484
345
577
629
738
470
572
487
779
564
521
463
264
139
118
360
839
761
746
597
908
53
496
899
461
777
206
123
197
679
281
565
912
972
134
663
387
676
3
166
366
317
947
739
389
858
72
168
385
487
718
0
811
439
72
40
619
159
432
751
223
90
894
943
112
68
114
150
106
349
494
307
610
7
208
189
540
398
464
333
57
168
356
693
497
653
311
948
602
328
629
725
280
788
171
221
239
880
682
900
29
106
455
250
920
86
795
361
786
520
313
395
382
403
311
466
351
385
248
827
463
338
483
759
857
971
992
391
640
930
749
379
795
471
726
1
59
628
194
106
300
537
799
56
166
196
52
694
216
391
915
873
825
143
651
62
308
837
666
863
220
559
873
3
2
511
890
365
837
485
69
718
267
347
124
932
348
932
694
219
967
762
572
515
819
561
121
278
891
228
483
92
457
25
923
113
355
570
976
720
581
535
261
14
126
480
226
274
544
377
164
876
347
712
449
338
721
423
745
491
462
527
369
741
902
204
350
571
366
580
250
928
744
317
977
418
701
872
827
285
805
896
380
483
72
258
779
400
205
636
366
106
128
254
300
322
856
669
317
11
239
946
123
938
956
540
325
451
470
748
201
189
623
737
906
522
604
205
440
313
238
579
314
317
350
638
899
662
383
835
162
185
717
702
509
777
970
226
118
605
664
524
376
62
797
210
187
158
347
50
493
75
546
663
175
919
541
973
355
323
885
310
800
268
567
537
906
940
975
639
484
318
431
34
76
315
204
578
613
69
104
521
874
145
752
42
86
815
907
897
969
374
86
885
828
954
127
682
996
80
64
204
968
348
999
811
1
921
917
685
80
439
718
835
91
113
293
975
182
820
249
693
313
173
259
161
825
299
479
973
583
105
554
102
202
887
790
257
130
561
267
539
139
327
356
537
646
362
342
322
654
799
430
422
798
713
753
507
432
102
195
735
205
252
533
128
263
934
82
684
616
368
377
586
392
228
20
332
864
252
382
241
775
432
51
271
755
997
176
284
150
183
241
518
696
509
699
992
729
576
831
571
849
120
170
704
591
204
125
14
884
27
96
80
78
226
796
873
256
430
855
332
83
862
644
710
524
462
714
62
487
384
503
347
10
498
793
524
728
969
62
730
601
142
638
377
221
140
633
39
340
143
879
839
134
307
156
591
172
956
436
476
137
844
75
136
647
116
782
598
161
45
312
566
212
150
607
739
212
22
954
700
152
833
492
514
855
54
679
316
358
583
262
398
951
423
338
34
236
370
680
904
339
731
584
531
27
142
616
121
274
529
764
800
123
721
919
696
148
5
589
539
391
992
635
544
856
405
534
276
702
219
496
356
577
839
172
145
500
715
565
126
161
240
345
140
378
483
136
156
42
901
5
513
284
483
147
416
621
45
726
44
313
437
750
395
448
16
28
849
47
41
154
639
308
569
873
990
652
333
67
556
649
618
150
947
976
526
180
212
638
554
427
680
397
595
827
648
786
863
149
233
484
250
664
433
612
626
746
917
291
907
454
938
588
417
360
650
366
511
549
944
92
487
398
345
37
13
863
730
623
354
215
941
178
12
360
283
175
323
197
867
513
50
709
880
568
457
948
488
842
628
613
925
885
448
719
116
302
705
325
249
152
152
883
852
598
963
777
730
442
179
291
15
898
709
555
162
853
791
295
898
756
140
974
436
81
192
907
222
255
69
48
303
909
357
201
621
31
540
561
887
953
998
92
444
839
866
780
858
495
919
376
303
536
238
127
91
271
232
650
948
70
349
438
161
268
799
607
531
661
570
340
945
827
438
468
568
514
435
580
792
548
104
662
16
945
670
115
337
557
703
315
452
277
275
245
794
405
248
435
428
46
787
107
114
484
942
887
482
395
153
937
565
905
705
654
856
60
349
861
325
94
486
293
521
968
994
680
881
517
223
537
260
783
944
629
529
90
332
891
803
175
381
185
5
474
498
398
844
81
225
784
229
441
235
956
784
253
100
537
372
524
272
596
819
456
515
276
503
975
611
340
206
926
160
133
657
5
811
746
321
519
308
309
403
220
170
560
490
977
531
991
22
897
623
746
135
212
647
398
113
704
781
9
81
171
13
95
569
792
584
543
951
51
496
329
105
511
889
451
451
292
489
284
616
646
823
413
553
264
249
137
192
287
169
928
91
863
122
276
305
241
523
573
237
517
28
811
300
983
700
607
116
542
201
598
519
160
750
499
39
424
635
32
697
233
194
597
28
538
254
646
170
978
301
90
997
819
41
294
167
872
532
207
819
543
236
186
798
752
439
414
429
674
342
695
171
24
296
437
807
670
618
341
684
477
353
153
62
919
157
504
104
161
966
446
13
848
679
317
596
933
21
378
851
569
534
23
709
889
829
983
331
64
678
882
177
878
799
787
273
353
981
725
260
91
479
902
430
1
141
860
451
41
453
215
915
810
40
473
916
805
671
803
669
354
681
373
102
682
111
818
145
417
838
537
96
799
358
628
696
906
126
540
261
777
821
270
587
699
509
18
559
986
831
692
103
240
261
945
440
538
951
227
579
818
654
121
666
184
840
215
277
342
653
630
538
938
708
355
341
650
22
870
369
177
700
567
398
504
622
425
649
678
69
39
117
663
321
938
491
503
596
382
688
578
149
424
638
562
433
25
912
915
555
376
411
889
749
268
816
836
83
431
208
929
106
515
30
214
928
682
492
198
712
220
744
47
459
994
71
212
241
617
925
361
455
651
400
884
524
695
935
683
307
115
701
556
253
984
999
921
701
933
726
787
58
598
450
115
609
329
545
847
644
253
897
340
606
891
86
796
887
390
933
910
532
960
375
904
276
375
989
960
561
884
655
812
311
855
706
785
375
182
598
47
306
705
813
318
880
2
286
173
158
460
888
420
681
905
865
770
985
184
628
209
639
216
100
725
321
146
201
940
971
779
618
187
779
660
919
885
802
697
162
435
794
975
554
195
284
655
979
108
598
560
601
911
845
567
144
766
761
124
268
944
970
3
460
428
757
218
999
877
253
265
258
824
23
690
562
599
625
569
442
856
610
643
732
5
380
775
522
913
26
326
417
184
345
203
212
526
450
376
282
676
598
892
291
136
11
997
932
266
454
607
335
534
532
262
777
848
701
304
773
285
767
508
446
293
490
282
689
930
659
169
206
999
578
33
352
190
505
982
959
764
629
858
967
379
138
455
745
219
897
480
65
717
979
550
545
163
434
470
632
480
409
620
625
504
267
197
553
968
273
765
673
246
232
420
93
564
188
130
218
238
533
98
166
617
191
556
645
869
110
496
329
453
483
503
454
152
944
6
264
94
534
981
309
848
440
26
395
619
556
487
841
142
868
920
63
656
949
590
72
627
318
138
732
709
404
470
2
516
212
389
616
789
200
933
463
347
188
638
111
252
549
51
761
819
281
916
696
947
767
622
890
384
843
11
660
808
84
370
758
198
186
948
276
474
486
69
322
3
986
169
2
965
394
925
682
979
323
838
113
40
391
84
342
924
413
265
173
447
534
373
174
687
759
341
964
299
843
485
953
446
790
960
984
10
533
293
949
227
33
186
307
166
976
894
688
849
136
263
85
606
981
365
272
62
717
510
963
692
135
74
221
108
173
348
208
416
385
387
763
398
434
793
216
437
945
126
411
606
76
256
848
225
568
370
947
186
678
308
885
755
828
70
954
846
325
262
995
142
288
830
846
806
916
844
834
721
839
428
379
234
611
684
765
920
379
636
962
37
954
417
242
883
557
62
273
461
929
728
423
877
72
472
347
886
760
69
686
864
654
508
699
317
318
796
484
631
880
127
481
953
544
311
714
756
967
983
860
673
315
191
43
591
389
669
462
522
952
330
190
646
590
894
966
953
632
805
464
16
54
985
970
734
441
108
289
98
559
567
588
894
308
281
954
70
124
777
884
942
716
377
501
977
407
41
702
659
402
730
684
949
491
724
72
578
817
10
304
328
269
696
289
647
700
881
856
927
754
527
821
802
774
21
324
685
108
654
183
893
744
235
305
664
819
153
775
144
342
59
666
610
790
154
227
40
353
939
336
586
505
306
580
176
394
709
430
945
810
319
274
530
874
6
98
508
67
122
993
369
753
723
268
784
230
974
159
716
708
105
674
638
87
422
50
403
942
609
724
404
110
934
465
88
261
737
550
959
748
759
990
328
416
542
498
738
353
689
471
307
697
654
790
434
571
820
671
248
65
10
519
914
220
723
123
861
969
756
19
316
286
405
72
983
656
327
364
451
812
535
279
486
288
769
809
204
426
496
564
417
163
802
223
419
690
350
473
999
474
233
460
7
185
3
63
942
796
329
424
666
473
902
416
310
769
916
824
306
98
719
236
356
910
190
920
363
694
592
524
124
373
234
422
891
871
788
112
972
133
219
850
45
374
19
235
283
257
106
363
357
436
218
458
563
630
700
96
150
963
439
60
583
325
847
987
944
898
116
165
165
64
621
843
169
715
477
491
638
607
240
761
436
905
274
406
868
481
42
220
140
319
919
344
991
851
339
518
110
628
427
810
500
425
326
551
445
147
17
700
626
233
827
595
676
95
315
447
928
319
547
408
253
205
697
735
222
935
334
275
198
915
435
771
198
834
184
659
135
565
952
488
527
302
981
559
226
72
736
59
219
432
0
865
617
751
452
736
189
993
326
212
244
871
548
863
214
861
102
819
818
639
870
517
676
534
549
786
628
550
242
35
673
465
975
593
96
470
190
230
609
383
752
924
166
906
250
717
370
86
432
863
449
732
331
287
325
327
143
337
564
503
544
330
469
606
193
290
128
652
924
252
488
781
880
741
92
107
771
951
937
403
867
369
443
945
159
552
203
142
136
817
970
794
184
751
710
491
887
286
43
579
253
114
234
419
134
302
510
800
278
297
838
844
750
443
851
130
852
24
78
913
666
941
254
314
533
601
828
68
131
690
925
652
613
6
740
187
619
401
620
546
608
492
573
271
311
248
852
440
996
238
182
564
937
183
86
228
802
761
491
491
768
604
622
44
895
844
716
521
666
740
449
215
357
598
357
357
211
556
693
94
822
885
399
484
758
819
188
473
713
78
679
763
642
186
362
358
695
323
600
199
616
893
261
486
228
820
571
196
124
939
626
166
967
630
51
532
239
791
40
439
182
660
318
324
827
68
406
697
860
724
447
972
323
359
447
906
755
383
628
626
852
229
532
973
121
225
524
926
71
757
316
581
397
227
307
23
285
489
75
289
48
361
3
993
555
366
450
407
573
589
483
374
145
690
515
194
522
937
743
350
918
292
726
944
698
79
295
178
938
539
482
23
152
912
466
465
23
314
654
313
183
524
686
471
441
387
248
704
705
645
147
574
673
989
790
660
824
486
582
472
960
811
193
657
126
785
842
222
705
148
162
940
43
125
379
461
168
261
606
439
189
494
734
38
646
834
802
313
735
540
926
669
568
609
784
845
137
843
816
180
580
728
989
343
548
565
34
20
561
584
5
155
497
717
692
234
761
432
953
406
516
420
540
725
773
87
57
473
193
809
227
185
53
226
583
632
50
750
155
673
821
17
285
868
782
235
718
903
414
992
746
609
167
78
460
350
266
209
838
707
299
832
19
96
76
992
79
797
346
550
313
877
242
403
958
459
15
188
473
586
301
971
525
293
461
196
20
261
650
948
225
75
695
337
81
800
640
632
706
153
624
542
57
35
690
871
536
150
700
880
72
781
695
967
788
683
23
357
509
269
383
500
584
731
647
858
321
484
598
639
479
271
878
579
154
765
655
512
837
10
701
380
322
815
246
214
960
755
191
296
456
304
334
199
729
256
905
820
928
769
346
300
579
558
655
254
65
300
329
363
392
350
270
799
231
851
390
647
134
475
859
120
703
288
20
527
761
331
466
731
807
589
378
736
57
930
802
381
339
624
950
433
349
403
214
583
985
414
841
712
256
302
680
620
411
453
761
589
931
508
507
17
754
663
766
735
175
274
454
408
54
431
530
347
407
67
47
528
687
483
165
300
317
836
988
583
518
113
146
603
520
513
835
217
562
6
939
158
279
844
689
530
473
11
389
567
637
629
122
175
860
331
894
48
55
609
935
735
0
150
380
874
145
309
3
486
484
227
957
788
273
338
997
610
208
75
66
823
674
914
671
153
501
249
28
103
717
719
284
762
185
345
5
957
772
304
549
472
59
514
937
72
692
818
325
896
32
350
275
535
921
270
984
875
153
727
301
136
206
69
321
570
260
170
897
839
187
960
0
109
255
694
664
329
221
386
411
100
97
225
977
128
76
668
933
906
142
470
816
966
811
997
89
593
14
428
596
778
213
529
527
277
650
693
567
566
878
794
301
646
407
965
426
92
904
748
45
917
812
295
395
477
473
919
815
526
138
573
775
550
762
989
485
115
807
911
687
227
42
782
852
933
920
531
42
232
272
419
895
339
768
890
108
919
305
205
92
280
286
832
416
973
760
646
176
171
778
719
573
952
765
404
127
543
151
419
213
562
688
340
889
630
812
764
578
165
605
669
785
761
664
318
741
542
165
811
917
168
422
803
100
379
72
856
775
16
180
952
121
497
976
415
854
0
67
487
123
915
734
692
123
70
55
863
410
491
942
281
211
622
450
527
223
434
168
407
100
226
397
128
569
726
216
844
581
849
630
588
992
805
143
366
32
678
263
100
295
355
479
633
477
18
290
863
288
272
128
215
491
580
199
667
875
629
629
701
712
875
836
670
182
180
747
794
638
938
132
265
845
805
720
249
554
128
215
676
300
101
370
338
619
991
917
499
945
129
400
864
401
429
17
281
161
397
535
189
98
628
992
923
285
573
266
845
60
983
123
995
538
521
51
995
160
995
996
922
292
119
695
525
530
456
718
467
800
630
622
132
467
394
597
410
780
454
380
350
564
557
814
185
494
717
885
774
713
749
746
608
366
375
863
147
112
127
187
971
712
961
424
72
94
118
715
338
349
111
337
364
992
938
426
926
942
309
39
111
311
224
297
281
178
219
182
12
820
844
679
45
662
886
25
558
874
580
836
254
576
703
260
353
815
79
364
546
283
19
253
983
799
634
303
534
162
321
996
447
804
452
583
878
257
484
129
967
688
278
457
256
695
431
765
415
873
46
696
100
693
730
978
370
747
710
738
226
681
79
167
244
195
814
260
240
757
270
458
884
943
931
732
679
811
617
395
897
174
431
581
296
815
787
664
446
645
258
60
904
479
788
12
930
186
928
332
703
517
400
140
378
846
642
802
434
147
885
722
273
284
797
674
120
640
963
643
218
655
375
164
638
793
40
89
982
927
379
119
376
958
941
753
466
27
354
954
781
211
983
106
524
759
250
514
62
117
296
587
573
618
561
312
534
120
818
882
320
362
737
672
248
302
432
752
181
148
43
581
238
636
532
387
408
30
487
587
446
14
465
283
207
841
50
21
342
582
61
141
857
4
447
827
975
152
590
839
454
696
24
815
306
266
469
149
128
856
573
776
649
40
418
887
587
804
543
370
801
872
593
368
986
738
756
724
919
335
819
332
630
71
786
262
451
359
761
849
742
864
987
601
275
227
548
315
997
255
490
639
0
272
215
408
221
942
174
409
757
420
798
967
660
59
470
182
618
789
837
481
519
722
141
777
595
861
249
827
543
730
488
225
267
947
984
62
724
259
181
554
488
24
612
272
514
471
889
428
772
566
311
28
505
288
653
640
427
415
69
477
423
66
489
982
930
378
72
735
990
423
386
909
129
713
101
224
5
915
508
228
701
609
425
650
472
253
408
968
307
162
38
761
867
696
613
122
832
771
479
108
543
791
853
712
528
31
568
820
898
116
731
722
183
442
556
373
75
148
293
985
285
397
773
730
698
20
501
752
344
186
724
829
863
422
847
605
924
759
170
894
793
275
995
281
697
790
775
300
402
258
745
419
927
969
566
178
788
59
265
109
686
279
687
117
169
761
109
78
197
296
96
849
198
983
825
736
866
464
204
957
552
403
725
327
454
937
206
149
272
778
418
187
638
807
144
714
207
73
847
275
283
654
990
518
562
847
496
893
340
658
337
651
424
862
980
213
611
660
42
691
265
622
596
87
553
603
339
903
294
35
170
483
447
470
859
101
38
374
887
928
235
36
910
777
620
197
315
877
56
168
586
939
444
606
685
115
769
502
320
959
568
799
343
198
327
363
569
782
779
480
366
480
694
908
675
756
518
827
621
173
838
792
902
726
267
11
969
191
507
882
535
98
807
633
81
469
679
968
511
146
812
674
932
386
124
544
42
342
649
587
445
578
600
566
360
913
125
544
46
411
634
299
948
640
181
533
696
715
594
218
169
541
399
731
864
963
326
546
313
761
920
34
632
303
934
13
126
74
415
32
886
911
506
857
368
101
161
398
308
873
99
83
763
942
456
949
357
682
991
199
574
519
989
502
164
733
387
560
908
440
18
142
972
809
235
166
815
875
131
11
362
316
863
808
524
217
636
391
305
696
918
756
785
670
988
930
559
479
333
451
16
267
678
197
226
18
672
632
771
215
41
363
976
71
699
428
465
928
989
846
800
320
143
138
980
537
260
157
281
31
582
237
357
692
965
16
869
96
450
16
650
729
217
580
298
398
749
700
908
919
970
877
102
699
48
620
743
611
837
591
449
710
74
492
524
290
527
973
510
646
238
550
789
435
650
505
806
672
2
645
85
990
288
804
448
181
107
315
377
379
79
591
572
722
56
162
971
479
535
691
535
577
326
493
230
858
370
221
982
7
924
35
936
460
962
525
165
206
119
200
291
628
774
120
782
176
458
306
150
607
298
267
185
600
639
529
372
485
145
420
903
217
477
368
456
574
771
995
134
54
986
151
169
418
520
791
635
289
205
463
845
623
623
55
243
828
424
208
286
506
46
607
495
264
48
671
192
326
408
501
391
759
302
871
547
998
163
867
291
959
349
142
61
866
142
471
332
314
654
76
908
25
991
236
842
551
558
897
736
73
181
978
813
957
80
44
921
139
957
615
200
505
73
682
213
960
655
606
136
172
107
321
519
337
603
122
543
582
399
821
382
328
887
157
281
311
631
176
112
799
351
494
287
538
434
259
281
932
13
612
865
377
987
415
82
449
370
115
558
742
657
186
937
889
366
292
862
208
707
81
813
865
793
943
379
300
243
654
234
803
241
805
215
725
286
355
568
394
390
967
433
457
686
578
957
775
655
447
638
264
250
729
668
671
377
387
411
465
979
454
821
771
641
176
125
591
520
600
547
735
965
476
945
935
63
326
719
595
210
487
855
67
30
710
310
969
920
564
35
716
168
564
40
756
602
582
331
11
620
907
205
726
617
501
745
907
205
287
283
95
936
864
230
218
135
947
806
412
849
159
292
967
709
158
359
249
938
118
803
836
572
494
316
784
359
69
799
715
596
363
87
556
818
98
31
611
816
400
697
829
738
2
495
526
893
540
792
285
745
783
498
527
818
423
624
546
15
615
850
98
816
0
19
524
49
71
979
792
635
36
525
882
918
311
379
673
579
569
322
794
750
404
376
45
466
427
561
994
628
991
621
819
303
420
572
582
647
12
977
106
646
676
435
492
781
789
253
951
341
711
804
71
701
964
119
18
160
358
724
66
381
654
321
507
311
414
688
955
269
732
508
266
422
74
339
744
656
763
180
377
73
591
429
470
551
115
508
400
925
586
413
143
829
750
898
716
376
243
588
250
233
636
659
657
676
517
817
716
959
240
24
391
921
259
218
19
66
568
516
978
447
1
421
46
515
327
535
191
587
826
471
109
961
891
795
384
82
8
428
142
791
914
517
664
807
574
491
140
605
735
450
499
971
409
209
846
653
664
883
870
968
647
320
621
22
740
543
77
45
518
642
966
906
726
128
240
437
330
989
179
695
366
672
611
800
823
9
51
192
738
530
577
319
105
333
637
572
575
25
874
373
882
758
241
232
949
536
458
146
842
765
370
528
735
960
788
932
367
866
521
416
484
369
511
704
185
623
170
632
234
331
911
692
775
300
989
405
633
453
295
413
34
681
833
318
908
732
414
598
456
898
212
92
86
189
390
590
216
948
500
322
286
141
3
675
669
321
815
166
382
982
577
163
670
80
87
635
826
752
187
957
266
574
691
363
476
230
865
26
470
435
108
540
503
777
902
632
790
981
880
865
247
568
332
809
574
306
997
199
364
385
479
376
45
969
87
613
523
703
694
996
480
546
210
783
842
363
286
381
571
11
587
80
21
496
829
568
62
752
24
543
30
113
298
934
543
136
986
985
97
590
434
482
141
2
158
164
982
950
600
703
113
802
971
541
406
890
559
439
447
86
645
831
60
77
131
700
893
522
36
220
302
987
688
793
705
917
616
982
837
366
173
881
40
254
107
802
626
829
328
37
782
476
721
31
98
36
347
836
136
251
507
503
307
687
393
871
278
397
678
15
274
284
322
431
506
621
949
953
194
713
860
729
662
210
58
408
548
301
566
790
464
94
665
184
428
179
604
0
49
802
539
482
351
668
597
859
58
263
334
296
831
623
828
746
648
56
251
940
63
982
448
811
569
898
842
741
293
629
842
258
69
937
352
840
683
733
358
394
637
574
164
620
562
948
653
203
854
373
591
250
597
600
575
215
258
405
911
720
582
893
321
330
380
415
252
566
167
49
441
689
218
13
46
208
689
864
449
906
765
330
164
482
715
955
121
826
611
197
278
103
499
654
483
39
977
20
561
507
170
99
694
127
865
691
341
560
85
835
222
306
947
349
796
624
296
957
517
494
170
588
917
99
687
621
20
990
649
528
725
512
278
19
432
831
174
593
800
475
886
668
467
262
289
364
877
253
865
826
407
0
925
105
501
240
651
795
417
953
841
50
873
51
914
931
696
58
459
285
209
833
784
341
745
608
135
53
51
596
905
392
699
697
679
116
601
912
664
623
418
534
842
942
78
903
908
545
658
453
649
432
860
772
179
384
190
254
868
212
986
522
524
564
266
283
366
833
748
996
20
762
476
969
108
339
150
400
42
275
409
25
905
484
722
34
555
428
256
523
740
268
817
999
81
983
944
180
968
7
1
442
61
980
864
126
679
908
840
938
693
317
522
486
731
729
484
328
213
789
788
687
277
79
478
186
29
458
435
340
790
775
687
624
67
127
886
647
802
754
522
802
328
610
697
468
18
248
52
704
37
876
203
873
496
208
97
995
95
965
790
353
146
974
987
443
615
902
226
169
321
531
213
244
733
71
911
951
945
516
993
116
673
820
773
176
607
342
46
995
125
905
628
853
846
539
296
663
21
80
595
937
693
39
817
308
169
606
339
227
97
711
665
144
380
110
461
630
747
867
556
473
24
900
700
146
537
383
86
965
355
996
235
171
174
196
111
436
222
197
249
794
898
953
214
157
273
625
368
423
540
883
283
484
981
501
334
673
144
154
408
124
827
252
816
121
886
894
898
549
63
929
235
831
498
325
448
405
9
145
426
981
604
906
509
61
804
517
15
698
740
902
348
61
616
295
970
825
162
804
501
678
610
399
396
278
773
538
286
954
178
163
377
742
677
684
332
103
49
592
696
416
319
330
493
837
450
714
999
147
775
387
150
19
113
485
403
337
990
356
988
572
580
142
278
439
736
144
769
34
0
964
913
408
344
832
3
415
539
764
233
847
336
742
666
164
568
73
565
105
43
817
784
255
288
426
239
533
546
404
93
872
85
101
15
180
52
300
807
935
223
458
744
398
856
688
824
305
385
154
81
765
193
123
974
333
834
848
161
172
780
192
858
832
866
465
813
886
631
156
473
843
100
231
98
11
954
675
571
1
907
855
213
963
547
75
929
922
304
795
864
15
59
486
465
825
463
175
574
979
246
344
35
161
175
689
1
483
375
396
416
104
50
884
842
840
585
418
482
983
499
779
259
219
37
628
821
187
383
253
532
665
112
238
344
696
663
442
301
621
678
480
244
501
782
777
536
354
87
300
217
380
9
331
432
950
460
445
396
24
64
996
908
700
318
464
806
333
575
880
617
285
425
26
641
822
699
984
385
216
220
835
104
410
167
262
334
718
969
19
369
264
254
576
845
650
888
116
129
774
510
381
989
793
992
151
398
434
329
437
999
65
91
125
580
767
339
438
457
920
527
693
408
7
819
666
907
127
744
463
419
71
719
520
72
455
933
376
910
99
381
873
449
812
969
736
859
35
825
238
686
696
714
950
686
155
289
741
171
115
692
474
494
243
476
418
620
756
599
801
997
212
651
763
339
520
17
775
33
18
433
127
407
876
80
277
410
869
232
341
915
69
339
773
636
379
551
550
241
495
367
105
643
60
848
324
442
413
992
166
740
641
926
315
651
223
961
681
954
875
434
272
655
695
757
953
590
443
776
5
835
228
500
313
777
639
422
584
417
409
929
683
661
487
925
909
160
544
293
242
768
395
860
691
978
66
888
981
276
289
653
961
23
612
255
257
738
448
181
866
955
16
77
273
892
721
43
325
902
344
630
176
45
982
985
542
329
748
134
110
187
971
323
823
679
654
127
889
917
343
576
739
606
407
75
472
239
271
102
24
384
401
28
619
40
198
418
317
751
562
754
166
135
733
756
183
856
96
20
269
799
519
885
9
829
632
414
533
923
53
685
479
14
888
474
126
330
59
150
862
268
596
91
316
110
62
761
855
304
779
275
172
942
304
748
56
241
289
543
799
835
893
518
246
429
727
706
569
296
93
0
205
589
833
986
792
515
726
738
764
562
830
950
285
914
799
532
432
995
730
292
253
476
333
557
827
123
832
565
163
908
578
125
142
755
83
905
461
549
201
716
856
718
367
962
183
97
562
807
827
867
830
435
238
620
521
368
464
9
843
802
493
850
711
836
33
15
742
857
476
208
201
559
688
58
634
825
328
923
327
61
890
567
82
810
985
976
583
703
319
645
840
221
258
531
627
197
938
87
815
175
757
205
513
240
242
792
886
772
227
265
970
485
298
544
568
104
483
907
706
371
526
833
470
121
752
231
931
201
639
734
883
445
118
630
336
549
598
15
490
823
120
540
64
806
184
224
856
993
866
553
186
677
997
222
644
293
276
756
477
254
248
968
782
393
159
653
938
64
979
748
120
386
110
559
294
715
80
541
3
767
316
710
100
692
232
610
534
414
920
665
838
627
344
22
443
205
4
515
45
566
947
625
716
163
88
326
910
315
156
248
759
310
930
250
655
871
532
117
212
635
389
374
46
866
254
71
197
729
508
929
781
651
964
397
25
368
27
815
281
708
356
707
602
493
205
628
207
961
982
378
258
947
346
757
432
331
52
231
18
735
24
745
8
262
812
593
877
782
591
44
847
47
778
472
896
159
612
950
856
824
90
871
898
302
583
927
416
763
406
438
686
520
903
789
500
122
291
115
245
987
379
623
420
348
463
672
232
487
520
338
490
222
445
246
785
492
736
959
960
856
117
704
84
422
326
704
105
867
885
419
431
259
554
772
767
710
217
731
94
677
874
285
599
331
605
48
675
481
985
314
570
225
52
618
243
522
458
663
112
212
997
346
262
179
330
941
310
568
554
346
306
202
353
114
32
830
475
702
333
762
902
675
586
910
461
188
816
999
425
746
220
960
404
351
761
720
548
89
581
192
315
880
579
688
570
212
886
922
65
322
212
460
748
302
784
129
164
85
713
391
210
531
364
817
593
721
876
643
503
154
392
464
781
224
111
225
832
188
13
161
478
129
177
993
155
571
262
618
419
282
347
614
808
321
568
904
243
103
969
688
363
766
243
949
82
383
644
778
524
277
978
978
240
919
116
350
211
88
450
503
168
852
158
417
666
505
526
614
395
81
59
104
576
910
329
91
710
283
638
82
503
974
138
494
823
767
488
985
639
547
185
709
556
813
624
252
398
383
127
949
279
760
555
54
320
452
386
681
157
36
653
134
508
420
847
46
87
172
696
98
942
534
391
118
806
600
923
321
949
942
293
337
621
695
211
288
375
571
991
386
491
613
589
509
949
481
535
49
141
363
797
797
612
523
779
142
856
408
460
32
786
876
367
917
586
664
881
841
937
944
868
397
172
413
502
186
664
983
299
365
195
473
741
433
856
498
974
404
81
141
764
691
473
0
784
544
621
895
519
355
504
751
42
828
549
724
527
829
24
228
293
761
702
750
406
774
850
246
96
203
958
746
81
369
701
939
589
528
605
470
367
936
816
332
281
992
145
769
729
27
898
999
383
38
42
182
896
119
778
26
779
67
813
605
599
686
711
8
739
893
618
136
428
803
125
786
816
901
496
978
821
174
41
33
762
883
140
851
652
458
892
962
684
213
109
425
352
926
268
116
693
884
534
240
930
608
884
198
726
141
688
158
431
731
581
701
5
933
884
24
537
585
343
50
40
257
31
398
824
760
971
631
639
434
689
246
987
129
267
138
143
636
825
305
674
595
433
766
851
310
653
390
931
77
672
481
895
530
487
109
520
931
253
309
590
643
823
541
452
850
267
566
128
198
682
450
390
909
22
289
513
254
573
719
785
701
845
43
927
513
397
791
548
471
608
908
588
592
591
998
8
122
179
162
941
787
983
169
195
943
606
773
390
906
101
716
527
651
465
970
2
836
863
15
12
267
273
987
441
500
386
662
27
730
161
49
875
962
637
424
341
712
536
263
980
78
938
459
803
745
494
514
605
272
958
67
290
771
329
805
166
881
638
855
607
860
200
384
134
556
399
417
635
406
845
991
561
517
867
17
958
35
370
803
779
842
413
620
379
923
78
132
52
520
713
174
450
625
271
822
853
526
752
289
714
866
361
20
528
97
542
122
883
380
50
868
409
688
213
755
895
635
593
119
907
80
787
43
236
407
960
506
413
332
426
7
326
795
407
734
551
535
792
636
382
359
261
757
670
421
268
910
308
827
82
83
103
398
589
264
96
650
532
985
91
591
493
542
886
493
461
316
81
300
141
464
865
722
935
605
509
201
956
861
238
886
275
946
381
278
960
19
641
18
242
335
515
887
282
474
802
266
853
983
958
88
980
331
644
709
999
212
349
746
462
507
221
328
664
990
116
95
594
612
189
481
767
177
576
496
751
713
852
422
330
778
903
792
442
329
160
979
500
87
370
928
763
10
666
356
429
925
880
728
111
749
762
990
585
463
517
999
659
60
688
660
932
536
236
10
678
113
447
53
821
230
714
159
138
338
280
798
837
463
245
857
61
477
684
956
961
265
799
858
769
803
241
648
815
800
597
641
689
788
205
627
594
642
245
802
717
606
379
378
321
480
953
407
318
613
187
240
152
20
745
285
30
900
62
535
78
66
95
477
533
248
204
314
50
454
88
266
987
383
606
739
768
666
845
566
135
195
66
371
468
794
642
565
612
680
885
947
666
109
627
910
752
291
432
972
309
468
542
711
73
201
92
729
925
994
175
986
281
613
960
162
947
108
432
468
656
52
786
733
696
575
696
349
300
939
788
442
60
88
660
943
822
842
716
261
174
864
454
181
492
49
443
845
845
533
495
357
942
566
225
928
591
262
433
909
747
503
491
599
860
879
843
807
303
391
358
374
829
296
642
746
939
465
351
359
707
243
602
156
179
164
809
820
743
437
233
674
794
584
576
900
179
311
800
276
310
9
368
468
864
72
27
25
591
72
408
618
328
799
104
324
597
206
959
141
141
961
624
216
375
870
294
733
694
583
853
275
689
248
483
601
973
137
402
651
200
783
658
213
608
460
377
798
946
532
463
7
311
85
203
104
893
805
85
13
190
553
389
102
936
793
916
337
282
698
180
247
613
21
740
223
870
494
65
233
860
482
229
759
379
144
621
961
174
553
441
121
20
32
565
762
859
756
885
960
758
952
366
648
446
575
228
604
237
413
684
549
420
18
281
769
771
833
625
638
173
225
62
549
723
486
628
292
499
0
413
452
428
747
281
880
970
300
453
425
451
989
604
467
909
292
859
983
17
894
291
457
767
305
941
594
988
882
742
21
340
579
229
40
43
579
197
880
578
894
473
984
742
849
193
428
964
109
409
363
850
390
823
684
449
204
926
262
109
905
836
600
310
734
677
637
145
242
633
449
255
825
871
280
828
413
928
474
721
624
609
703
580
836
576
129
437
497
80
661
540
471
770
539
525
665
257
337
995
888
80
668
747
861
322
195
35
814
327
844
21
523
507
666
223
480
47
63
159
269
485
709
842
926
327
460
643
653
706
255
183
665
711
122
557
193
379
256
171
719
591
357
97
240
204
267
732
260
952
839
107
637
352
824
711
392
409
850
312
943
864
618
354
704
79
16
381
465
320
125
71
84
271
202
963
54
761
906
345
798
622
817
648
606
188
538
451
307
811
687
546
99
696
912
827
804
980
427
34
651
179
597
883
600
920
250
396
42
761
528
743
940
284
449
464
462
483
382
761
566
767
99
969
162
975
936
849
268
113
240
571
650
550
391
513
680
345
302
535
354
455
365
679
80
236
352
625
128
759
761
809
214
516
748
755
798
227
867
164
622
793
513
777
361
165
209
815
184
455
60
891
893
414
567
746
795
534
511
287
228
943
266
118
112
665
507
295
281
465
349
257
409
61
117
434
818
96
908
973
909
358
58
596
49
862
294
107
424
516
61
635
313
952
39
907
481
728
328
584
694
745
918
649
170
35
543
770
242
828
979
75
13
952
37
897
535
551
386
35
135
101
573
700
84
876
729
100
770
836
886
352
575
774
33
999
233
164
434
714
418
42
180
663
761
33
628
892
825
491
688
570
58
454
240
87
710
926
514
652
943
82
839
720
330
733
672
507
916
227
119
232
57
21
526
299
836
121
589
474
384
496
785
46
798
121
797
652
38
732
512
468
512
51
971
618
53
708
487
982
544
445
469
889
103
428
559
314
952
741
246
317
132
347
131
633
525
554
61
670
221
396
88
837
335
479
568
751
559
416
502
722
113
745
44
835
366
977
198
345
970
898
747
747
728
484
698
590
92
120
157
186
710
454
82
12
728
382
189
275
99
949
875
717
523
433
930
606
645
804
397
517
921
99
808
516
539
937
377
845
983
823
554
761
224
358
518
837
197
120
862
756
502
736
855
246
697
887
34
902
147
943
658
888
772
376
830
985
411
352
350
284
287
6
896
23
641
288
198
489
483
397
162
909
139
80
963
393
748
637
535
843
473
995
909
801
523
532
541
678
641
243
881
262
160
794
505
430
978
635
995
876
967
29
683
549
997
96
594
810
917
94
799
346
808
641
257
439
523
27
470
368
416
633
649
718
520
653
16
32
953
599
999
306
335
837
363
40
604
16
194
712
906
265
602
965
234
346
629
394
756
106
235
141
845
317
826
879
122
356
691
120
905
690
191
129
497
788
48
380
237
188
533
153
684
650
994
738
687
825
809
396
816
500
783
427
399
697
741
201
760
452
580
323
865
115
477
881
828
836
550
503
491
175
35
306
291
351
4
589
480
591
914
470
122
610
601
440
436
279
395
989
966
418
775
94
34
949
417
300
669
604
246
337
855
913
693
59
738
165
739
338
384
830
356
164
103
516
347
955
546
285
760
33
820
55
140
138
825
150
295
148
224
900
535
154
212
912
984
261
404
858
823
482
334
675
326
2
39
44
993
575
575
623
623
573
20
449
363
349
838
610
389
198
602
29
769
679
465
988
959
899
639
446
276
511
633
770
643
280
281
508
181
677
853
871
700
90
929
256
477
558
833
692
602
598
890
533
716
450
64
795
268
608
18
716
216
581
828
675
267
183
806
822
752
872
606
273
206
985
150
465
173
333
359
354
748
634
895
653
647
524
233
680
295
437
771
692
491
350
843
282
194
681
984
298
285
467
779
663
352
983
403
763
327
804
839
611
485
927
337
106
264
771
911
54
11
833
761
235
949
983
551
238
474
219
180
551
244
553
72
782
50
995
792
688
96
736
870
677
721
441
564
543
721
272
755
631
739
106
491
124
208
517
738
324
808
882
746
560
959
529
509
794
823
168
63
412
292
688
856
87
290
103
645
662
913
492
4
864
337
839
738
825
770
722
466
372
388
112
332
797
939
600
495
293
662
420
142
566
34
308
394
9
781
962
247
200
496
412
86
281
124
935
238
224
806
919
197
616
216
564
449
968
96
573
321
341
333
170
525
839
765
753
302
678
336
977
675
928
477
293
307
212
71
871
680
127
772
84
302
770
814
665
952
387
444
983
176
420
378
379
639
729
188
381
344
738
248
927
103
520
696
2
351
183
577
796
25
655
277
283
957
202
964
449
970
960
790
161
900
399
382
158
364
142
328
97
641
92
571
666
173
256
643
630
823
342
405
107
758
426
372
742
665
577
478
20
795
728
893
710
569
162
437
38
429
660
813
538
327
643
536
765
70
64
905
983
96
952
105
861
699
250
373
568
447
4
845
241
515
281
713
56
728
215
749
326
912
556
99
512
991
179
695
794
98
500
271
653
479
776
860
178
545
416
96
111
613
708
316
997
785
81
409
783
972
848
533
676
791
641
123
333
346
668
486
37
860
213
858
562
853
720
285
92
793
514
756
782
377
826
476
692
747
997
722
208
240
219
207
559
165
190
573
722
368
270
119
179
872
725
457
125
173
679
309
770
875
646
47
523
220
898
690
271
976
374
250
460
529
946
276
243
34
686
129
304
294
343
997
238
642
856
551
209
65
787
551
67
541
546
649
727
745
810
849
58
665
103
315
410
655
192
65
912
67
918
694
429
859
10
988
607
388
776
69
829
582
871
950
639
615
85
84
634
297
493
420
724
574
104
355
162
244
451
941
516
897
268
664
994
180
707
900
455
211
531
179
577
688
852
716
947
889
827
780
951
764
776
107
149
360
132
618
261
25
267
908
80
120
382
715
774
600
534
511
14
972
986
402
362
874
991
627
796
150
127
756
589
980
697
860
804
150
330
257
91
407
833
998
369
277
34
314
800
896
909
861
958
9
21
729
406
940
101
703
632
201
10
941
11
738
553
527
358
946
426
357
535
790
320
352
659
166
829
122
500
341
95
287
365
732
767
340
134
135
195
842
119
67
933
531
324
64
405
90
310
188
152
554
191
425
251
426
609
468
97
45
726
678
379
7
68
801
601
994
310
57
446
937
14
359
260
20
419
313
898
473
600
970
381
455
707
872
633
677
493
206
278
822
970
588
509
26
89
228
354
910
399
218
779
591
16
199
145
281
634
626
524
949
602
901
659
976
863
335
360
196
671
241
945
95
508
851
317
250
632
364
487
937
574
940
412
779
712
192
687
964
916
286
806
208
902
895
642
860
169
933
573
453
328
120
413
78
765
822
334
426
114
483
591
994
201
694
29
803
667
568
582
235
256
647
202
621
144
630
902
576
896
473
923
373
184
899
192
801
748
136
288
157
870
44
907
299
455
74
758
792
890
208
323
125
286
43
663
175
50
851
562
788
613
139
448
941
688
967
547
993
90
559
479
837
566
738
44
843
439
149
474
769
406
212
123
59
81
877
201
475
15
308
238
471
549
262
485
897
224
278
159
774
213
396
734
242
88
331
673
306
413
98
599
358
844
917
465
99
947
508
715
137
40
832
740
839
234
72
562
230
574
265
17
738
375
378
188
845
194
522
964
593
584
771
776
287
590
647
136
156
3
693
890
282
988
38
481
984
37
117
295
933
439
546
468
486
289
967
63
31
225
278
327
948
274
169
526
882
474
663
896
994
462
463
109
246
711
146
681
318
446
652
945
874
700
67
832
527
307
540
666
746
924
497
132
835
158
546
50
343
673
379
797
377
726
729
408
104
249
716
361
130
362
498
96
357
821
599
184
946
101
805
649
396
173
245
634
271
580
163
156
719
766
982
273
17
711
625
899
55
105
201
229
763
85
343
619
576
102
632
803
281
171
84
206
382
373
165
703
976
82
626
42
470
69
953
342
261
65
685
148
697
135
291
572
197
461
851
872
695
830
757
474
265
652
869
326
206
287
874
391
579
174
372
581
102
207
715
913
392
524
720
643
449
87
310
39
25
312
893
58
528
729
67
553
313
92
725
520
583
129
231
289
658
762
271
931
624
784
97
345
293
531
90
63
554
687
876
491
791
356
712
740
893
702
256
391
25
740
813
849
217
409
769
309
701
470
261
153
826
909
201
28
450
915
608
33
132
300
677
449
494
583
319
721
184
968
195
241
119
472
842
513
702
302
200
162
5
958
115
44
350
472
66
0
713
207
399
764
720
625
367
986
306
452
678
814
996
951
52
712
968
764
556
998
580
40
527
441
462
479
989
496
794
289
327
407
793
962
23
81
603
786
938
149
337
131
674
676
982
509
119
60
519
717
748
601
33
368
318
806
988
874
529
835
653
957
403
360
316
944
36
794
70
182
473
676
551
487
941
7
403
258
353
278
268
340
742
343
273
780
277
12
665
623
168
668
818
806
288
862
707
199
428
683
538
587
223
360
805
900
596
790
934
675
103
513
290
684
241
605
660
95
225
571
160
428
519
696
835
148
69
476
933
333
488
379
799
309
281
666
680
724
323
861
223
244
847
777
738
415
800
988
750
265
344
982
36
178
17
557
118
869
507
545
210
284
263
315
695
295
500
896
854
447
196
217
168
894
222
856
477
315
624
345
99
204
185
665
170
504
557
620
274
586
589
494
230
697
152
625
0
59
2
987
282
570
233
958
924
350
878
310
381
33
867
652
965
13
508
23
49
860
205
40
538
119
886
227
922
944
812
295
405
415
197
834
725
922
802
523
245
809
79
738
588
13
695
335
796
6
928
980
990
287
723
866
979
952
3
340
484
745
658
5
408
494
973
923
992
444
491
767
38
79
288
936
578
703
538
26
361
636
629
766
890
350
255
286
876
380
708
969
579
871
451
880
209
839
786
616
690
517
702
691
719
798
25
377
774
141
41
427
517
750
300
221
926
580
300
349
880
157
853
649
593
7
677
650
887
511
679
552
226
698
195
161
80
259
966
929
166
463
231
955
971
308
572
115
783
358
972
438
484
89
985
45
710
701
240
354
134
793
74
514
83
148
871
183
557
93
644
321
882
863
749
872
36
98
652
419
379
878
172
535
507
827
958
347
964
605
890
659
661
392
788
504
893
174
233
359
238
207
57
238
642
512
920
502
433
143
408
182
421
141
649
464
874
418
973
565
155
520
966
482
613
260
213
921
463
21
654
699
609
719
95
131
446
181
731
591
910
937
666
926
464
903
964
55
161
433
124
999
306
659
36
143
536
619
523
589
781
936
804
109
2
938
143
378
300
501
986
262
934
747
927
993
479
915
459
927
450
465
300
29
43
82
179
40
7
350
807
993
231
291
428
331
145
766
600
361
373
873
237
682
717
94
806
28
115
201
113
288
335
747
1
540
874
411
478
126
516
844
544
69
167
37
851
111
314
766
207
928
240
248
269
171
260
395
508
228
243
328
184
544
22
261
147
235
196
818
858
426
632
512
339
81
296
567
682
857
465
913
59
928
149
264
777
652
67
668
378
120
647
283
265
321
762
535
7
679
448
188
238
159
925
328
27
39
887
774
78
448
878
62
324
60
35
446
685
700
234
859
247
645
539
543
857
900
661
647
871
65
32
858
901
354
702
802
195
697
447
100
209
104
664
720
381
962
527
403
776
67
864
655
916
867
722
319
381
571
937
366
645
932
11
973
135
10
628
84
204
530
782
984
465
908
336
928
469
385
718
9
539
271
913
939
364
578
825
256
879
98
404
389
81
176
257
124
441
985
164
83
690
159
511
287
922
963
118
93
225
192
923
225
703
291
367
223
903
178
107
183
835
414
123
945
897
553
19
272
117
850
945
685
740
257
648
868
870
67
499
272
711
193
411
18
22
225
520
305
78
949
543
310
531
41
175
556
270
521
488
11
800
91
163
345
334
188
229
880
163
620
502
978
382
502
175
796
916
238
178
6
146
629
331
495
379
134
616
385
900
558
587
887
532
927
595
621
516
801
474
394
739
383
977
763
681
870
421
178
89
439
627
533
616
517
12
966
80
479
961
81
261
362
798
903
320
106
770
796
292
494
476
208
842
230
983
343
741
760
804
878
888
952
516
170
203
610
810
399
824
387
517
675
248
261
41
22
689
559
550
1
507
986
901
39
613
703
102
389
333
266
561
962
394
565
172
993
866
362
799
178
744
722
726
180
599
895
266
641
155
690
840
274
768
514
648
401
196
178
627
233
902
821
577
320
732
426
558
499
710
308
478
119
871
350
564
96
515
89
851
882
900
596
995
801
846
807
197
455
558
195
879
890
601
884
348
606
400
505
44
384
267
620
954
977
530
650
870
801
532
638
842
636
773
489
161
44
983
462
146
762
960
811
248
640
594
758
273
543
861
46
692
545
242
72
815
78
565
263
459
788
181
551
294
626
261
605
155
55
841
316
877
738
661
36
523
798
409
969
738
140
839
980
183
776
419
582
807
470
477
202
922
433
734
823
744
426
320
49
238
602
389
702
929
934
346
481
97
42
687
312
528
729
853
338
119
936
838
319
985
860
102
355
419
741
519
254
787
799
708
678
776
263
976
96
157
187
422
716
537
818
382
739
807
327
344
994
431
734
240
356
277
946
47
13
125
996
4
849
525
8
694
894
129
847
265
168
263
51
623
322
274
897
295
756
196
461
945
878
246
399
308
275
865
928
926
846
294
68
36
337
623
493
99
810
872
175
223
717
219
642
959
892
271
564
462
605
205
656
910
609
905
62
117
856
382
384
939
885
245
579
221
748
221
854
765
717
108
837
547
238
656
598
996
232
267
648
284
31
465
783
987
619
401
840
583
908
136
60
540
947
931
394
659
376
460
925
706
698
702
999
821
294
695
763
899
114
783
147
884
463
969
526
274
384
766
985
399
20
315
757
172
42
627
314
141
377
741
921
48
451
741
518
911
238
187
950
202
28
539
558
913
67
347
380
645
65
271
985
603
112
389
335
582
846
994
322
305
62
161
763
174
323
678
354
394
427
438
650
409
514
704
483
559
810
248
293
410
933
901
403
254
796
863
843
181
840
712
429
324
379
661
135
516
354
778
980
72
440
575
177
916
318
671
271
382
48
562
765
649
917
490
596
903
711
572
986
911
608
258
16
139
29
854
268
52
18
755
822
929
169
782
429
147
403
970
197
486
507
64
166
327
833
850
997
827
251
685
922
280
378
365
21
593
971
389
140
890
210
29
618
947
146
527
770
838
137
522
114
841
606
509
272
927
628
844
51
955
120
944
428
357
436
873
540
385
639
479
297
47
58
848
993
172
30
300
226
77
452
600
271
593
814
32
273
823
839
803
646
57
233
210
315
982
563
892
276
433
360
863
588
214
963
329
758
453
338
666
639
734
36
734
845
623
57
425
288
136
645
407
667
167
763
737
625
104
684
565
616
831
553
617
537
939
842
134
558
301
525
646
81
783
767
597
687
129
819
216
225
778
171
112
535
782
967
344
738
101
306
743
311
622
138
402
817
294
576
251
855
581
477
642
885
383
379
712
47
651
271
47
157
936
671
276
916
20
251
442
693
159
787
919
169
597
434
53
906
726
900
716
89
647
176
242
115
365
565
10
709
179
127
802
251
103
789
256
422
284
852
819
743
906
587
885
266
160
660
995
384
184
152
205
84
52
475
429
679
467
438
422
772
589
101
186
278
551
600
117
265
80
883
922
689
156
222
48
24
886
859
939
848
285
302
122
518
226
611
388
634
22
210
795
328
839
729
996
692
104
653
830
800
407
358
658
180
603
499
723
625
916
598
39
856
942
401
200
728
191
861
526
458
30
2
245
178
122
833
432
330
665
274
299
827
740
758
305
488
651
281
453
943
347
285
316
452
501
587
339
352
389
42
785
80
27
743
622
967
23
122
231
836
265
912
67
42
599
755
866
187
775
798
858
814
803
765
774
334
155
910
770
571
830
156
325
257
866
342
168
458
623
391
711
536
583
932
989
870
734
217
203
101
583
502
840
247
78
891
801
738
285
473
502
523
672
881
452
668
624
879
295
253
747
689
679
85
873
931
914
851
796
477
183
300
130
407
801
258
4
324
217
583
682
279
592
286
907
540
230
488
355
568
905
111
660
705
365
347
508
23
660
133
688
507
753
317
519
173
643
319
829
201
658
776
731
691
306
577
378
380
86
855
795
658
325
956
452
441
536
136
860
101
609
375
42
303
958
834
506
131
877
910
921
109
408
843
237
933
928
767
366
402
969
534
323
576
34
571
836
687
593
391
79
362
336
869
429
903
711
344
632
991
420
389
242
856
648
311
32
745
788
974
80
683
885
762
959
427
875
324
701
488
332
653
125
905
534
278
866
698
688
497
911
933
137
88
533
627
825
610
964
334
15
256
956
313
322
613
729
819
102
260
237
732
238
849
603
823
100
193
124
675
151
799
960
954
620
808
510
859
411
41
950
342
611
632
188
213
624
10
850
646
564
508
307
204
874
965
792
232
308
422
462
188
700
854
86
422
550
240
814
536
501
730
487
37
352
603
867
189
315
435
314
675
625
91
791
360
242
690
345
649
736
98
764
846
24
58
29
724
587
194
892
440
391
612
215
428
93
978
275
797
951
427
17
236
368
208
339
643
354
297
661
78
679
811
417
264
274
188
360
358
377
138
693
503
426
231
103
63
255
507
223
941
860
796
573
258
578
6
544
587
291
48
154
305
955
391
757
252
450
670
211
257
954
378
112
506
122
561
554
723
617
354
634
562
970
102
902
370
523
158
602
458
991
53
321
911
0
332
360
685
776
540
435
380
317
209
426
864
834
92
774
296
756
792
190
698
978
623
266
805
804
752
173
499
607
109
733
685
281
765
619
849
267
332
646
218
380
147
808
535
213
692
104
51
51
534
458
587
532
702
952
422
13
414
826
38
515
736
462
757
741
310
484
668
773
618
441
18
366
667
972
70
899
943
959
41
406
78
403
630
560
648
228
280
899
843
437
967
963
428
549
846
416
524
180
92
24
40
141
545
488
504
148
209
826
764
638
351
312
195
319
529
112
822
963
222
23
258
608
294
310
698
19
740
140
801
75
647
531
534
963
384
345
976
336
176
217
432
554
612
598
857
844
263
108
134
698
853
318
475
22
853
244
474
745
535
876
298
784
971
735
461
33
45
810
402
805
489
461
177
159
965
80
133
451
535
574
610
484
982
77
553
368
262
79
711
563
714
712
930
30
728
154
386
708
411
507
793
337
950
672
22
528
784
747
16
584
16
239
650
690
788
648
112
760
458
512
15
676
575
680
134
756
254
195
177
109
834
423
246
439
112
99
119
631
622
894
574
311
282
704
558
779
290
83
399
663
275
97
750
487
474
956
703
406
83
278
908
587
150
425
47
384
114
27
507
886
233
160
64
758
572
888
880
454
619
119
975
547
815
233
295
159
763
526
464
367
332
377
532
131
415
354
78
211
42
998
45
534
72
596
430
287
285
600
399
917
494
263
382
874
600
459
818
163
813
295
867
978
10
792
959
324
207
307
9
680
754
744
466
640
891
542
3
135
535
405
473
805
46
439
88
273
740
574
994
500
947
422
516
759
907
601
181
593
524
493
9
571
99
975
56
365
54
994
294
44
10
32
763
320
811
263
183
412
498
549
47
932
906
325
212
476
973
55
392
844
925
335
474
457
478
751
655
902
317
872
456
564
740
704
624
357
393
180
868
708
333
539
479
34
655
938
898
298
527
445
322
566
153
513
700
913
974
793
6
57
522
0
125
262
505
771
886
15
252
574
779
865
289
508
297
650
457
482
294
633
767
194
295
212
494
875
686
584
299
293
155
774
18
923
121
237
492
317
760
825
307
284
365
109
81
595
795
931
90
370
28
107
369
480
765
314
456
357
496
472
693
409
37
759
883
869
113
257
563
24
565
241
889
536
197
414
164
961
319
794
24
903
653
476
661
101
600
693
207
824
408
899
196
973
319
553
192
323
659
126
695
813
814
818
495
353
46
462
740
704
82
803
106
699
188
174
576
266
517
215
216
903
898
629
334
262
349
346
935
945
410
824
954
672
858
502
833
797
926
605
185
568
600
356
279
143
341
381
492
905
464
76
431
642
132
237
173
419
129
402
321
872
986
75
242
591
705
463
497
471
972
871
3
924
579
971
730
476
579
808
584
830
932
361
361
385
295
31
309
644
541
670
174
938
76
92
900
574
27
88
264
878
631
199
289
370
854
982
815
37
146
2
711
294
191
560
970
613
591
937
48
297
701
4
687
44
310
649
528
994
69
261
611
294
613
550
686
909
794
747
386
625
920
972
555
686
998
583
617
431
594
337
779
119
242
126
157
297
845
518
316
691
471
789
647
396
997
464
854
841
980
655
925
551
2
797
6
446
60
567
378
882
764
424
710
323
660
400
490
359
105
500
523
726
19
296
54
947
467
987
894
990
551
141
355
738
107
408
144
455
943
718
158
155
296
54
836
147
689
676
653
287
214
300
314
660
210
762
679
242
890
655
332
576
494
857
856
406
891
56
507
467
241
702
288
776
29
519
278
90
5
21
904
466
449
428
263
37
452
271
7
734
678
611
464
99
203
569
941
674
164
352
204
232
191
105
291
94
336
222
325
808
726
21
966
45
886
547
245
882
682
3
84
349
512
252
283
225
19
864
723
964
798
709
680
595
892
916
529
630
353
520
48
412
870
481
65
767
179
259
129
528
200
108
573
742
860
2
167
249
695
514
217
39
350
806
527
829
64
241
783
576
311
544
166
244
988
436
829
113
380
529
305
557
350
147
826
587
341
160
453
998
489
713
470
76
627
727
303
5
465
79
444
461
22
970
606
798
732
255
313
486
272
522
342
835
602
719
35
691
583
838
887
276
5
340
782
614
594
866
696
867
256
931
505
594
641
612
86
645
257
434
721
682
894
95
126
555
985
501
700
701
106
87
414
116
94
323
12
933
319
356
318
667
606
438
571
310
591
746
739
690
581
945
966
789
467
7
503
962
165
521
181
320
250
635
891
354
130
533
560
513
423
703
954
656
103
786
570
670
578
963
590
716
588
509
823
937
266
128
425
707
481
841
51
205
609
89
634
802
947
958
68
717
136
171
257
492
650
194
790
900
681
675
338
700
371
507
185
751
761
242
352
535
753
140
628
391
730
449
648
90
69
681
301
920
240
219
167
636
791
328
435
638
536
943
421
3
719
521
562
812
327
693
524
789
389
332
591
266
813
567
597
316
520
296
85
554
259
567
164
427
437
654
416
837
942
406
529
639
296
778
669
536
888
921
81
621
335
489
764
879
104
761
685
319
568
568
102
106
730
434
493
340
394
775
956
110
770
897
158
915
147
255
18
350
70
643
486
509
464
581
121
263
851
509
723
700
969
325
116
972
566
21
11
942
160
759
445
296
726
203
743
584
792
136
88
282
487
432
233
940
742
509
56
436
250
632
309
877
767
788
852
462
156
773
19
721
994
919
891
787
12
67
546
203
821
483
691
892
866
382
835
159
490
212
262
943
728
799
199
442
461
601
483
80
915
682
516
689
887
711
463
106
920
577
722
754
939
891
121
763
789
626
520
475
800
933
927
652
663
957
732
662
373
315
109
616
787
590
526
608
471
904
514
280
645
87
299
465
785
914
919
676
837
583
154
590
821
514
131
246
568
996
569
495
229
624
928
398
501
599
637
670
414
391
947
433
545
643
154
327
991
726
259
55
775
104
466
533
590
389
224
168
56
677
820
842
834
639
947
852
742
497
909
22
369
453
604
631
908
106
169
990
213
296
178
686
638
637
427
111
773
754
529
196
240
831
70
790
115
345
674
167
751
436
537
86
740
856
359
167
623
413
375
136
234
245
19
496
183
283
26
633
177
378
168
870
938
720
585
11
816
398
979
419
179
654
14
557
123
274
881
61
621
645
789
740
711
819
675
78
695
15
588
652
405
967
135
884
979
958
715
428
459
858
289
756
574
36
33
834
519
640
412
984
791
646
305
212
526
407
418
759
721
385
312
534
181
670
44
528
34
114
968
211
846
620
226
652
982
660
530
494
525
47
519
695
721
318
606
388
298
360
408
512
367
429
456
784
53
358
862
852
807
239
665
448
229
757
747
591
792
866
332
582
815
909
911
950
111
549
280
846
769
333
441
841
702
528
478
145
829
848
24
929
703
633
297
374
56
813
947
105
532
870
99
173
221
431
554
278
202
859
637
479
85
270
994
183
832
82
827
366
218
233
746
165
654
897
617
589
348
295
687
716
662
369
331
563
552
529
413
2
820
20
884
524
743
651
361
610
841
916
758
309
922
479
21
283
872
311
98
103
754
412
25
384
903
859
824
17
75
566
824
361
590
420
124
1
585
580
426
540
44
693
840
766
304
17
450
586
249
93
975
762
73
905
900
138
663
642
423
499
884
547
278
113
355
704
458
38
528
446
426
153
741
413
136
186
920
474
540
61
718
744
936
159
166
274
127
467
484
870
729
597
871
41
39
888
626
994
252
493
219
643
860
525
236
884
345
740
699
755
967
200
934
892
877
385
33
102
890
478
712
340
506
917
649
520
560
69
334
300
44
781
665
875
507
179
816
816
541
819
66
939
87
194
650
383
674
663
477
650
846
866
205
722
250
362
660
817
324
615
593
616
203
721
411
126
345
801
925
147
16
363
317
343
287
46
962
140
947
871
284
873
334
726
189
482
266
460
53
495
283
354
673
713
585
611
969
724
527
30
196
579
800
154
841
463
800
193
778
441
430
600
767
541
586
38
235
322
612
792
888
319
805
143
976
201
667
9
571
825
65
862
890
102
792
746
868
316
882
463
589
483
569
588
443
541
237
293
594
877
529
896
199
508
358
666
845
670
928
717
971
205
770
560
641
531
275
380
142
391
502
996
891
653
481
461
71
705
58
453
94
88
624
799
712
999
409
570
794
1
571
2
417
389
194
24
918
99
742
402
844
873
612
706
459
29
381
242
574
129
612
296
1
148
300
53
210
132
345
689
797
329
337
849
257
1
504
864
746
951
913
104
771
678
182
840
365
814
520
41
680
217
892
100
623
387
671
641
745
163
103
6
540
898
348
200
222
578
892
824
388
937
637
397
875
595
997
304
917
598
905
154
445
50
142
907
805
151
339
630
354
187
157
93
13
532
363
701
634
732
710
596
298
264
791
273
729
147
626
175
135
452
239
349
703
859
326
916
29
507
320
238
823
596
959
74
454
116
155
711
413
374
948
567
406
333
665
49
897
851
584
570
979
208
892
467
997
732
198
108
573
220
708
997
170
694
593
643
38
460
18
52
834
195
35
942
59
833
625
449
482
190
123
361
262
80
191
351
959
794
470
762
910
31
174
709
324
570
336
719
128
91
669
858
203
479
51
15
810
531
350
299
696
81
541
533
712
239
712
316
81
1
368
170
752
667
388
965
207
57
262
851
417
549
153
931
858
971
981
993
60
702
831
11
678
324
73
212
705
352
693
442
290
473
689
669
888
438
281
927
385
733
989
348
394
791
670
488
486
17
124
178
171
344
244
505
516
372
533
751
402
291
464
4
965
373
509
983
134
316
449
479
847
979
62
993
34
43
941
62
412
981
214
921
645
62
290
94
410
377
802
462
653
373
981
602
60
870
249
117
54
755
302
139
316
395
432
56
148
327
129
183
519
560
266
640
966
755
822
293
466
956
790
411
17
188
918
383
670
867
761
65
584
963
415
395
309
46
586
896
715
890
167
547
520
294
856
730
677
327
862
903
753
283
190
40
12
456
352
924
439
333
250
722
623
17
586
137
119
670
970
531
611
251
21
870
272
474
10
335
46
813
666
798
441
748
831
655
369
294
267
404
296
51
713
292
802
57
531
937
808
553
87
429
901
511
149
718
845
442
121
346
292
77
299
612
335
745
381
405
435
66
844
295
440
843
246
483
663
711
136
556
166
411
228
448
926
661
546
745
697
835
98
496
365
41
427
946
937
586
185
518
800
425
705
10
937
117
383
15
919
666
943
208
134
280
805
128
500
779
158
77
763
497
163
955
839
56
151
2
164
795
985
153
796
776
422
478
773
626
281
710
613
906
283
58
258
721
763
304
522
369
922
716
672
923
730
118
569
412
144
470
447
647
674
717
141
417
17
602
574
800
453
943
250
725
302
979
87
975
367
835
253
647
603
165
512
104
690
491
183
853
19
779
240
953
721
388
145
565
656
989
550
836
912
851
800
125
80
189
622
406
820
961
64
263
78
524
79
581
434
663
326
451
581
73
776
112
561
595
147
665
591
35
222
42
924
958
575
388
161
398
623
39
25
553
265
795
435
21
992
670
193
248
467
877
407
196
293
428
179
421
423
157
370
19
132
812
734
540
324
950
611
159
401
502
826
962
219
368
459
882
916
201
99
644
795
527
636
111
740
860
978
514
152
293
987
556
202
452
706
424
452
712
100
545
346
530
410
767
158
996
39
929
447
737
533
447
663
105
406
172
170
430
523
99
248
479
702
10
669
955
85
413
307
879
803
582
681
47
160
896
363
746
312
709
74
599
531
799
328
537
749
924
482
277
934
850
354
431
238
961
753
378
723
483
119
871
869
918
783
338
964
580
74
815
37
958
406
715
774
600
63
174
85
343
544
402
698
872
992
992
274
710
784
862
887
157
202
908
562
271
545
150
264
50
983
543
873
165
551
620
711
259
32
917
231
303
123
241
977
378
693
822
421
962
380
529
315
743
147
946
850
271
589
366
859
260
240
344
98
717
626
907
3
161
831
395
385
927
79
624
643
75
596
253
808
982
153
563
677
928
612
628
91
148
624
227
360
926
786
631
912
839
793
365
21
987
122
664
878
431
372
739
876
884
315
763
111
454
204
955
531
988
909
529
89
297
371
835
448
378
56
969
427
701
579
741
7
317
481
182
577
328
325
589
15
562
323
353
542
832
751
979
150
857
17
472
30
492
12
855
220
626
797
717
697
876
912
172
573
971
183
741
271
15
622
667
133
128
175
169
51
126
683
493
319
815
341
315
918
823
948
975
396
643
750
661
383
733
724
772
855
884
318
520
287
638
253
803
131
19
589
975
696
877
59
469
500
930
762
303
224
899
355
700
356
607
907
348
787
53
453
571
91
970
382
843
397
418
416
821
975
336
630
768
813
891
112
792
561
600
214
165
19
201
23
609
315
325
349
901
498
485
798
904
45
569
352
68
946
719
865
147
806
415
300
621
977
922
475
510
150
621
203
366
641
909
473
864
235
716
107
862
296
302
673
560
948
524
522
497
797
152
746
133
807
938
279
221
100
988
675
258
74
239
206
511
735
941
247
26
271
50
23
882
10
969
198
965
145
953
707
793
647
66
469
976
189
695
944
623
823
392
599
942
884
291
66
727
382
304
875
348
233
765
132
199
127
369
138
56
476
515
888
473
738
673
874
849
84
479
292
767
580
995
917
863
192
761
697
294
671
842
709
509
665
845
569
820
69
234
530
939
89
651
817
206
959
532
716
617
547
177
504
134
745
296
289
992
887
257
105
98
490
50
302
893
965
603
334
493
156
166
195
33
221
886
69
22
118
999
851
261
560
137
807
909
592
985
433
704
403
390
361
721
429
248
801
744
848
769
962
103
818
547
105
704
162
483
149
647
169
121
419
836
777
33
426
949
164
33
458
707
865
743
861
801
865
135
576
425
910
791
618
552
559
899
597
613
684
477
318
864
284
143
593
227
161
657
11
813
454
735
105
71
970
232
306
299
951
503
835
153
814
587
752
942
21
486
320
41
782
851
718
537
641
217
798
34
772
211
389
342
680
553
751
685
164
488
434
597
152
136
776
411
371
636
184
347
304
468
895
274
80
439
199
966
622
326
144
907
425
361
838
900
589
832
102
705
526
745
499
684
939
938
770
382
867
693
193
675
793
857
449
123
745
408
778
23
178
544
438
270
164
563
954
964
275
383
650
665
261
887
632
394
38
420
602
815
343
649
754
85
525
32
576
535
248
519
593
49
968
994
757
786
543
730
448
26
120
710
115
43
931
538
290
350
833
832
568
854
272
113
969
310
71
900
832
52
675
787
796
718
44
859
160
646
474
884
585
322
674
703
384
680
66
926
946
942
692
54
891
852
124
627
398
945
54
499
597
341
733
735
38
865
363
448
813
339
948
338
680
177
817
808
899
707
896
525
493
60
297
916
13
616
278
970
604
663
57
836
402
438
829
149
882
899
902
671
401
679
947
771
117
615
942
904
50
876
687
595
676
337
55
579
493
396
145
402
806
116
424
669
912
978
258
207
592
991
707
392
730
187
267
963
757
856
948
914
202
832
736
384
712
755
216
561
339
120
911
892
656
330
879
303
247
21
673
591
232
435
726
375
64
254
589
18
844
799
401
789
965
380
317
781
284
199
520
276
893
751
500
157
785
960
442
692
782
738
526
357
44
533
220
757
102
589
436
848
559
695
51
104
471
788
251
182
485
264
243
329
646
547
496
944
821
860
25
123
594
859
85
483
66
537
880
188
913
217
201
787
53
614
523
412
470
7
400
192
455
183
583
806
666
812
270
954
440
502
796
99
535
496
540
721
901
634
497
617
473
341
0
637
735
450
190
730
584
580
969
765
560
988
675
77
933
965
425
607
227
879
613
834
471
281
239
320
80
154
19
702
937
78
841
687
251
781
577
703
647
955
251
970
250
852
140
420
443
362
92
381
391
497
617
817
883
886
217
50
612
197
330
930
89
649
266
578
649
201
152
581
608
286
127
311
50
334
559
229
356
122
357
712
8
292
300
847
801
453
688
566
957
287
516
827
831
497
981
887
677
167
212
220
786
67
178
20
184
592
40
272
549
643
664
668
349
321
782
188
737
15
644
845
542
139
470
532
47
500
944
917
466
160
321
621
74
728
57
706
968
300
569
893
159
630
769
783
414
831
519
925
880
979
947
129
306
794
872
26
903
563
732
711
748
554
114
628
916
838
658
391
362
709
750
795
312
966
800
176
677
195
344
427
503
937
160
184
250
225
64
624
378
861
5
291
714
438
20
770
850
906
425
826
394
212
408
332
489
264
533
240
384
568
698
838
46
775
612
279
282
533
460
865
299
350
278
604
923
967
598
797
695
412
389
237
1
125
368
584
923
363
630
191
672
908
802
853
696
373
505
699
959
165
2
787
477
73
792
188
244
515
249
805
438
326
487
914
837
278
535
979
420
792
357
94
956
908
988
575
760
835
711
592
486
667
819
496
825
0
413
94
751
930
238
679
630
467
425
372
816
86
798
289
272
733
70
994
115
972
301
272
216
596
536
925
574
834
788
260
120
848
472
398
679
185
860
487
639
952
107
461
738
203
899
729
167
411
7
323
416
548
203
367
29
67
167
558
294
362
380
782
478
812
921
584
874
397
669
206
308
182
768
515
238
915
975
877
460
255
691
732
758
791
851
197
271
154
239
872
520
413
711
53
551
581
983
904
622
608
740
310
933
736
800
349
552
793
640
229
506
467
42
367
505
137
25
839
492
253
421
523
25
816
252
226
740
21
410
811
256
278
731
493
842
900
747
123
517
415
226
526
532
785
585
902
66
734
264
579
231
842
406
462
857
467
103
385
760
650
448
982
107
149
638
636
414
940
474
867
830
184
10
818
954
464
178
418
992
691
426
466
227
191
450
577
924
358
474
308
177
404
741
197
485
808
904
697
570
854
471
989
934
344
210
129
200
537
596
823
105
188
33
522
653
929
827
214
151
928
208
183
436
135
791
411
645
76
373
486
304
648
921
594
357
211
442
398
122
233
870
866
348
813
830
107
28
519
10
267
612
137
452
110
997
917
876
992
959
316
351
565
259
682
883
641
414
468
175
737
358
69
614
236
735
947
870
778
29
203
276
376
756
932
868
985
809
930
446
412
539
357
597
964
28
201
299
30
801
702
892
224
586
480
965
647
108
32
316
160
147
202
373
450
758
139
311
879
665
414
615
94
744
804
11
529
105
620
370
678
718
527
469
909
294
426
322
240
340
649
243
445
685
49
7
769
881
930
486
893
866
843
192
943
333
55
80
941
753
402
321
605
393
13
69
891
451
940
787
118
51
5
65
260
598
112
440
680
994
447
414
655
236
17
377
953
827
259
472
196
666
573
204
49
785
474
335
464
572
323
496
235
289
175
776
204
96
525
14
949
825
547
873
496
159
569
741
266
52
790
471
918
609
655
209
756
705
417
738
293
683
385
377
861
96
871
687
261
40
68
856
770
601
325
817
604
263
717
317
152
457
697
754
908
756
862
548
257
541
475
995
948
570
471
498
354
43
857
413
434
245
144
10
15
715
520
713
940
93
896
212
15
808
737
211
518
597
568
966
247
83
970
56
916
224
468
414
905
971
911
427
874
709
847
440
81
236
300
104
167
508
120
279
354
481
899
428
713
838
545
854
848
101
169
550
678
895
255
946
678
834
621
182
184
832
489
277
80
46
644
67
885
980
339
455
999
823
897
444
368
494
309
657
975
224
762
309
345
609
665
152
580
3
31
351
587
382
314
597
458
101
408
449
184
43
384
593
692
657
836
976
135
980
655
357
238
892
796
711
80
676
598
374
837
770
695
976
255
372
68
833
704
860
2
304
445
471
874
416
553
971
808
353
26
850
847
127
633
499
958
322
100
989
104
912
232
749
31
440
877
716
495
235
718
986
907
949
988
312
672
134
134
343
305
205
982
252
812
704
939
774
21
662
465
86
562
229
709
177
599
657
694
734
437
869
899
169
445
535
327
695
523
75
943
805
748
971
202
624
785
79
656
916
894
331
343
646
507
736
935
75
479
673
12
413
479
32
803
560
895
121
556
869
670
411
469
221
274
630
415
328
860
7
888
204
328
669
740
565
226
895
257
401
222
636
993
725
381
21
365
736
426
361
144
932
215
361
344
322
983
67
269
167
930
550
487
263
72
539
793
551
330
787
122
243
98
606
678
825
135
445
85
929
301
446
896
72
612
4
103
585
128
453
589
140
906
402
592
755
799
115
278
502
401
985
488
380
108
608
114
532
176
196
375
816
315
676
603
827
752
632
436
577
268
219
354
727
202
312
697
862
367
164
332
387
962
190
775
197
841
47
699
828
507
871
388
540
603
697
782
81
41
677
252
919
651
293
109
361
47
853
500
743
365
198
620
784
227
115
483
305
499
183
468
724
412
386
35
573
424
823
745
271
996
4
911
742
307
173
432
989
4
952
198
730
376
83
928
699
975
971
285
714
897
832
703
995
495
966
209
354
633
854
774
589
313
572
650
445
113
319
697
385
637
798
197
724
97
283
15
899
487
0
990
564
6
792
279
598
54
135
114
915
608
656
873
480
515
630
391
575
158
949
921
587
645
364
748
713
84
82
28
780
235
858
267
438
722
893
997
630
786
679
15
191
469
42
826
313
533
235
837
178
719
90
694
679
355
593
411
215
589
972
100
235
640
233
86
448
562
400
947
289
198
710
398
453
478
825
238
767
884
68
105
480
986
53
909
313
687
610
440
153
594
834
424
159
586
369
518
638
110
593
93
235
800
382
709
359
553
708
821
697
18
986
387
80
746
594
505
873
397
794
91
429
634
331
130
344
262
361
748
661
398
332
712
409
406
426
98
644
806
605
108
639
276
55
955
372
967
726
125
195
439
248
117
442
833
659
395
731
416
907
79
144
940
9
895
714
799
271
651
63
524
530
475
431
72
471
723
273
908
631
721
671
426
248
608
859
799
530
192
10
601
413
206
44
532
919
494
835
92
576
919
606
13
659
696
169
1
366
921
225
361
34
995
156
260
939
148
365
608
147
494
208
967
478
858
196
220
236
435
426
652
561
39
725
319
709
56
507
646
232
827
537
806
741
560
776
999
374
377
12
11
457
81
269
350
902
424
134
175
953
881
227
230
478
324
229
642
375
986
819
972
402
371
256
167
9
389
904
846
934
508
634
364
317
892
663
450
217
169
68
690
665
434
264
834
601
854
956
95
536
129
227
806
907
820
572
390
215
547
227
770
663
490
541
927
811
975
243
534
191
461
422
445
692
439
190
487
413
180
699
834
905
228
678
963
514
434
556
512
307
368
541
958
579
538
653
540
263
78
443
55
472
69
576
710
903
231
582
681
348
207
105
768
143
996
6
514
810
337
713
35
870
91
421
795
482
575
24
203
708
498
154
154
208
536
576
447
548
350
894
766
202
514
168
475
10
765
461
712
989
307
535
964
78
299
661
419
971
693
184
320
143
944
18
158
845
574
930
470
542
872
340
960
665
295
938
512
457
505
946
835
309
904
391
737
917
758
95
566
761
166
113
948
305
999
196
683
390
659
415
904
927
95
202
644
989
429
555
13
539
222
966
881
770
369
988
524
213
123
112
776
761
300
554
195
154
183
895
246
486
877
10
862
633
389
230
471
301
171
251
256
824
776
738
254
110
472
981
517
176
779
327
914
549
957
717
810
628
200
850
925
423
960
741
240
580
173
814
182
592
200
302
173
959
713
92
970
170
690
316
600
341
144
727
467
75
701
773
876
85
211
185
884
411
922
29
86
182
167
637
605
462
947
134
205
861
361
527
57
977
561
527
192
9
335
151
169
447
488
467
40
992
285
429
486
295
661
67
984
215
999
8
663
880
192
475
386
604
893
190
533
751
400
624
800
816
176
664
118
653
909
57
332
414
466
782
442
905
208
583
883
305
503
994
749
445
782
686
858
620
316
42
203
0
72
46
164
960
720
530
492
399
243
735
674
758
91
88
87
190
527
629
588
660
876
125
405
125
790
176
540
153
765
445
849
205
245
759
369
444
869
700
174
164
139
825
786
829
136
105
409
683
714
420
222
455
676
222
875
654
742
773
204
204
397
391
849
896
591
566
652
33
792
121
529
454
572
715
904
825
152
396
805
38
191
422
626
607
328
827
124
526
358
147
993
643
373
820
991
904
458
961
982
489
426
501
274
102
927
892
994
586
443
371
193
205
888
16
123
118
694
482
189
72
170
230
981
314
863
846
905
16
979
513
252
399
444
13
95
602
962
512
161
138
130
299
295
80
836
22
349
808
979
832
894
31
110
115
766
707
97
217
640
186
472
343
605
408
178
468
876
103
301
820
844
818
587
77
835
164
851
421
421
59
14
663
275
890
148
526
743
331
665
775
337
80
548
222
150
419
387
283
367
298
606
740
708
489
637
501
535
500
389
795
72
165
531
503
933
413
857
660
818
89
125
591
165
78
785
373
543
578
487
786
533
302
572
389
775
844
952
294
806
23
283
225
404
441
318
924
100
286
235
770
994
48
74
27
359
960
999
573
319
653
37
713
732
211
183
6
908
126
624
633
649
237
362
523
753
80
729
281
169
601
616
206
362
291
848
912
661
475
779
531
681
826
957
484
240
384
334
594
653
838
370
842
674
680
637
493
713
977
289
374
822
134
297
807
840
791
8
587
76
175
134
66
337
902
1
872
926
547
590
872
616
838
923
469
220
57
618
442
706
478
741
107
517
312
77
134
212
954
580
29
874
811
561
758
67
229
453
890
235
266
572
534
401
171
930
846
132
145
989
428
986
385
68
206
63
663
841
430
609
68
719
739
142
919
275
800
351
666
694
56
991
477
611
881
447
315
844
94
365
185
663
508
99
699
560
534
528
179
7
240
17
181
563
423
985
23
0
828
479
597
398
402
499
814
516
73
801
206
114
448
713
631
319
813
25
668
215
21
880
122
428
395
926
393
572
163
615
814
275
525
663
749
309
444
731
351
686
371
83
770
632
163
656
841
354
132
513
529
390
976
675
551
350
583
144
91
628
903
808
968
291
724
509
513
5
960
41
939
110
57
525
622
65
328
321
197
897
458
431
511
347
961
849
53
33
278
344
430
705
91
641
120
480
713
314
90
732
847
63
611
92
847
630
420
551
185
787
187
280
493
221
404
716
463
969
700
830
937
345
973
75
275
108
996
483
179
466
781
207
643
711
985
752
467
461
790
244
791
428
148
907
475
703
959
461
712
98
400
62
1
220
702
459
89
688
280
389
570
117
576
604
287
550
244
926
541
759
774
356
373
210
391
267
867
988
820
447
807
181
476
471
729
128
856
583
994
768
899
670
678
501
856
952
94
325
74
62
214
920
851
213
247
874
585
354
552
892
391
694
934
743
371
115
678
90
977
865
548
462
961
57
208
962
751
140
983
565
983
703
919
544
987
903
891
306
325
398
849
987
116
91
364
625
900
424
367
111
891
352
805
769
403
895
588
380
854
854
629
164
273
484
576
472
720
471
579
477
246
20
486
742
538
356
858
769
600
836
73
196
628
138
734
769
73
964
437
657
541
899
775
218
469
246
397
141
600
821
735
689
575
560
515
765
100
270
9
222
277
681
175
378
63
160
244
714
996
626
391
358
77
333
912
493
990
235
76
392
127
592
595
700
10
795
131
966
961
102
454
92
696
945
431
701
959
748
901
412
52
903
480
820
320
581
439
158
678
24
627
697
217
232
478
875
64
194
193
196
12
242
630
946
654
704
902
233
645
835
121
611
413
19
343
742
755
495
965
297
497
420
28
846
682
999
373
633
30
384
976
418
240
355
297
163
611
394
649
156
77
39
549
703
85
853
659
823
70
377
141
739
183
487
419
627
495
215
825
112
439
972
836
564
896
194
732
230
216
121
814
160
267
98
173
9
319
459
585
908
609
4
627
253
329
56
541
554
501
824
664
359
24
997
274
13
498
167
821
214
615
282
145
471
350
671
679
634
456
277
546
66
84
846
282
400
49
283
441
844
759
232
260
116
353
866
198
80
418
539
202
154
851
209
388
889
872
966
644
996
285
830
304
999
449
335
388
976
813
393
675
479
151
965
817
703
776
443
76
225
669
58
513
941
145
30
571
861
510
870
410
509
460
375
471
188
100
669
482
460
309
41
978
868
491
807
580
305
449
188
381
169
876
343
243
739
816
535
627
322
0
654
927
676
496
796
485
595
64
66
931
920
831
354
793
582
826
309
289
722
654
482
29
485
302
900
738
14
127
635
971
228
508
889
662
472
581
226
245
212
199
180
806
588
528
745
94
732
252
324
576
372
678
29
678
508
375
560
714
544
22
449
988
462
188
574
81
358
939
123
504
117
515
248
261
175
778
854
518
7
700
727
834
725
225
320
455
783
410
10
98
579
910
531
96
951
781
464
622
7
390
647
158
764
317
322
289
868
237
905
727
920
262
736
307
413
772
950
335
678
819
78
361
810
524
987
846
643
130
72
837
906
30
459
253
555
496
669
798
193
542
791
372
789
188
472
146
468
783
599
347
805
37
596
475
691
537
879
850
955
91
126
395
558
98
294
811
369
891
320
881
180
597
241
695
208
990
904
761
696
496
928
517
993
596
652
266
438
115
848
540
651
737
695
315
564
876
278
149
526
510
141
978
44
711
234
56
629
851
410
928
344
478
701
277
478
196
508
911
723
576
231
570
887
198
375
295
930
35
187
320
193
257
784
121
26
922
452
490
80
408
97
185
944
588
118
735
224
221
351
391
130
227
497
517
833
286
433
803
257
324
596
314
141
687
451
769
983
629
977
529
363
765
775
123
881
43
443
588
610
986
606
172
678
611
946
411
278
612
987
567
99
121
339
621
38
155
950
333
254
170
889
415
587
85
451
648
922
640
327
229
470
965
908
8
636
251
601
270
995
861
548
915
177
822
25
500
719
118
288
52
449
304
761
663
95
765
613
905
412
913
95
796
57
388
281
689
807
844
849
380
238
380
293
543
729
665
454
314
988
793
520
385
99
971
801
696
442
655
463
806
497
564
870
74
583
748
497
325
675
703
362
792
557
918
2
29
954
224
340
27
823
98
743
979
124
936
704
444
637
461
544
740
732
461
276
291
863
527
651
190
133
131
410
130
954
544
903
171
168
60
42
803
68
682
113
695
376
698
989
873
466
103
249
754
481
334
246
243
536
514
262
267
926
850
356
829
995
532
564
292
159
575
895
522
394
930
215
199
144
629
374
565
561
523
630
968
879
831
425
4
674
833
761
899
548
114
916
571
206
64
980
522
881
29
868
767
935
378
378
921
706
408
290
631
107
622
937
376
950
453
924
579
138
64
713
299
555
268
915
575
578
592
497
485
874
572
411
229
769
867
884
333
617
298
118
630
181
628
709
293
868
839
852
429
391
606
634
404
231
620
366
431
791
473
421
437
6
592
961
977
371
508
471
731
311
552
536
287
284
140
917
942
220
349
741
645
969
876
11
223
649
828
308
919
579
512
637
198
657
880
561
507
275
424
707
80
382
112
31
753
685
557
122
284
174
990
448
606
800
774
773
604
671
254
652
249
408
695
476
935
64
193
807
918
767
502
778
372
144
185
863
933
897
142
735
311
541
897
523
693
570
305
88
792
197
478
307
958
182
641
122
27
534
341
367
107
999
316
636
505
250
149
158
886
651
372
960
444
973
536
663
29
865
244
777
115
754
266
79
757
104
348
960
179
511
771
910
753
696
894
910
16
68
740
820
256
558
544
344
977
704
808
360
352
471
903
777
85
508
389
555
974
32
682
267
71
602
706
550
731
851
314
131
93
617
980
181
655
609
983
752
985
887
613
94
801
56
163
372
94
968
512
519
375
446
491
656
298
45
348
142
224
648
536
422
718
604
385
473
323
620
821
871
26
512
876
348
441
207
547
317
853
325
388
918
390
744
641
555
498
842
470
378
75
502
64
147
400
939
407
221
571
305
685
575
518
75
374
485
613
441
194
631
755
406
525
598
562
484
667
105
630
242
258
431
660
779
568
184
251
859
224
558
137
407
525
342
449
93
598
222
487
110
138
279
6
496
782
319
320
843
456
722
147
740
807
126
396
789
97
790
701
852
815
545
324
893
231
340
101
791
326
453
311
849
299
880
654
782
550
855
254
559
417
410
599
256
874
791
421
460
743
441
327
508
858
622
958
183
283
955
113
810
259
355
11
419
767
956
337
250
290
686
185
257
496
563
541
430
675
421
173
88
231
591
808
404
489
910
224
211
328
233
300
418
785
492
17
611
75
245
586
620
610
397
520
510
917
14
458
667
882
799
927
866
421
857
810
309
869
104
866
192
413
211
734
456
885
328
260
208
233
225
794
373
920
609
855
775
611
36
476
289
224
316
240
215
99
220
728
106
429
510
358
214
551
460
715
364
445
678
673
5
866
901
595
570
607
929
899
602
850
258
522
305
246
979
876
102
706
530
835
401
490
287
236
484
160
595
824
499
8
85
46
65
93
186
889
283
776
928
745
650
463
976
303
964
271
811
153
582
9
707
597
532
111
888
114
890
78
828
25
398
362
635
349
107
663
198
353
53
564
212
283
67
211
433
104
583
243
58
391
419
13
505
915
879
936
895
295
782
223
826
323
479
130
718
84
807
788
996
6
121
497
572
599
179
280
635
92
26
836
443
216
66
209
249
145
439
964
973
883
926
235
147
627
331
613
966
897
748
85
944
621
141
23
207
191
97
845
269
972
613
260
48
220
985
393
589
856
643
123
653
723
751
194
48
977
385
300
46
541
50
556
562
246
377
374
780
330
610
342
425
360
292
854
993
887
672
942
349
872
482
723
715
108
574
366
811
802
284
135
678
589
383
245
782
958
323
928
330
840
340
675
346
776
440
952
264
392
474
825
123
807
256
705
992
489
406
923
175
809
566
808
809
693
577
497
955
10
974
929
318
21
380
64
817
424
710
328
403
170
862
338
632
472
846
878
263
65
358
725
946
361
296
568
448
584
104
759
803
510
218
628
98
610
343
137
39
537
389
919
683
462
714
700
180
117
722
446
559
693
470
977
283
174
984
672
10
469
68
469
695
116
896
754
566
416
874
542
668
438
413
134
100
799
395
563
541
388
3
952
961
13
7
472
504
241
402
129
197
733
735
501
230
759
440
8
610
608
858
655
813
80
494
70
298
246
203
100
876
297
879
574
90
935
878
826
223
879
153
93
666
583
748
530
41
38
453
482
842
136
778
578
496
634
946
300
305
813
144
24
568
88
221
604
957
161
138
791
92
301
102
872
542
318
189
148
154
464
709
313
207
395
612
629
529
212
783
73
340
933
675
292
585
616
399
895
864
359
808
604
614
747
170
340
543
868
117
470
367
513
369
692
388
788
293
225
469
935
632
844
780
217
387
234
860
345
241
196
763
177
243
76
368
373
964
455
832
868
409
181
194
380
322
92
826
496
200
48
554
701
835
676
175
394
301
179
953
701
194
596
78
987
817
241
7
534
874
485
254
900
111
880
588
69
26
972
561
276
487
507
273
567
501
706
266
289
865
836
207
119
459
694
76
180
888
498
156
572
356
68
5
771
525
343
215
105
249
676
608
732
682
89
288
519
977
946
546
87
330
175
299
165
729
623
445
118
440
719
113
632
112
985
250
638
846
745
429
729
868
604
228
224
921
213
987
490
523
965
662
177
95
856
0
87
424
89
804
140
24
776
939
867
605
240
680
443
174
605
37
331
213
505
666
241
320
327
549
121
387
416
302
578
717
700
815
843
92
843
511
318
326
340
771
116
382
36
468
12
190
747
126
2
133
772
205
196
539
47
603
212
38
933
645
860
542
407
866
773
235
339
718
171
690
72
117
265
547
241
743
17
466
847
921
734
946
898
735
558
444
227
865
11
964
821
148
401
441
550
97
546
778
801
74
618
473
724
536
143
697
797
238
268
994
189
862
252
81
718
598
41
950
783
702
957
225
468
187
380
82
91
854
742
955
65
726
715
70
278
832
964
238
651
935
883
191
703
368
433
537
780
196
497
791
281
545
636
908
614
42
221
235
898
100
531
196
54
658
477
621
914
843
298
803
281
808
14
48
658
431
858
796
276
40
280
910
960
800
6
130
252
880
649
80
150
373
704
850
257
989
647
751
680
528
784
956
671
657
481
578
225
7
298
493
561
476
400
4
16
390
715
947
531
527
52
343
838
310
979
93
381
118
368
200
836
982
42
288
469
571
727
822
583
694
630
219
175
991
139
58
540
301
5
691
773
806
724
880
788
485
913
797
913
889
387
964
345
245
788
818
673
947
76
65
31
815
883
873
390
811
829
106
471
176
985
26
419
103
726
826
674
828
199
962
100
909
229
139
91
864
25
386
107
439
549
874
843
33
106
352
932
644
910
532
901
642
247
262
901
78
110
394
413
828
2
490
462
493
373
29
179
595
349
739
944
164
726
866
581
956
403
80
567
165
717
371
524
591
823
650
883
337
142
479
213
695
441
145
150
502
552
121
35
684
392
877
961
317
203
435
494
933
949
416
897
562
725
243
360
444
778
0
284
661
252
698
999
507
788
257
977
520
926
206
937
928
593
41
206
898
749
812
29
281
525
556
227
776
159
547
39
336
644
446
190
747
926
632
765
935
487
576
136
387
168
259
315
286
483
619
953
135
674
603
271
648
304
37
860
788
753
835
541
236
400
888
60
876
942
431
905
868
740
205
930
701
467
226
587
616
285
126
869
932
583
821
293
863
755
326
918
816
897
828
398
192
695
841
848
207
976
676
896
466
578
998
733
388
825
711
809
668
429
124
392
442
909
391
573
631
126
473
35
304
579
784
6
344
277
742
532
578
680
927
857
71
280
72
320
955
371
990
270
118
594
741
735
217
899
78
413
212
105
919
789
669
735
225
967
806
388
949
440
840
787
117
583
57
864
465
96
691
532
265
554
905
358
571
980
19
416
419
572
777
405
797
945
87
654
68
630
525
112
796
32
532
778
589
768
204
585
190
954
410
495
462
390
651
788
174
241
594
142
20
416
722
616
448
18
234
308
986
609
948
153
948
539
182
249
710
878
594
114
569
925
232
197
948
723
793
970
179
916
214
459
244
889
999
672
244
943
331
697
419
614
228
95
909
931
739
638
400
370
219
932
621
495
715
394
664
276
252
548
235
682
925
418
483
377
263
11
580
954
69
85
452
983
288
955
115
47
323
955
66
28
393
937
943
520
254
352
102
299
726
732
892
913
621
332
416
446
149
170
271
619
93
874
536
224
943
765
186
305
339
380
24
799
651
425
685
499
580
806
47
436
417
89
531
603
456
262
446
966
249
287
116
96
360
448
487
917
855
464
585
123
508
395
170
970
642
595
207
439
159
951
193
232
439
618
194
189
429
819
675
600
715
67
557
360
654
183
300
701
848
8
77
337
694
231
15
677
38
999
464
380
488
785
623
645
523
561
296
238
712
782
688
75
48
279
402
913
407
504
708
17
433
728
624
103
748
237
976
886
566
853
842
355
143
486
838
589
671
937
908
621
54
501
680
658
583
843
886
922
205
186
464
282
392
355
281
976
842
576
52
922
382
766
441
899
721
296
630
734
476
427
465
429
771
358
200
889
339
494
612
777
163
607
171
220
450
762
457
949
89
512
697
261
941
235
235
545
733
332
398
212
740
883
520
85
205
86
664
857
297
638
774
458
611
871
159
131
793
140
397
35
194
653
376
184
752
641
716
925
48
90
990
397
87
211
62
61
586
323
72
695
203
185
679
850
809
284
615
877
61
220
274
690
256
586
664
267
908
656
39
200
473
519
993
901
227
894
133
13
792
604
290
321
228
298
302
848
26
680
576
201
96
648
814
198
157
100
571
892
53
73
311
133
690
436
263
30
205
881
430
669
880
203
395
898
763
789
958
390
289
611
83
661
847
391
371
81
924
920
520
757
928
565
411
400
480
122
60
982
938
927
988
656
607
806
273
330
1
293
346
257
456
288
676
510
264
108
945
738
416
808
655
885
43
938
219
418
475
109
503
288
258
691
535
508
895
325
376
497
299
16
306
135
572
943
480
404
833
207
433
110
370
883
537
623
994
23
330
822
278
369
162
817
543
703
950
49
814
272
32
881
358
948
462
910
730
395
970
890
706
334
817
855
452
472
650
439
583
268
704
492
265
102
776
18
969
16
46
63
626
717
497
309
307
418
653
292
271
13
381
320
376
946
828
218
506
715
301
857
40
537
505
406
776
871
522
91
149
736
116
493
211
868
608
636
213
394
428
212
533
796
737
63
255
405
645
676
875
623
785
84
330
754
290
332
250
819
165
619
249
100
264
481
525
97
67
229
614
837
80
993
993
520
753
207
240
406
76
86
933
137
486
619
157
139
673
500
194
72
239
607
932
106
701
286
882
709
808
681
988
394
106
91
141
746
763
502
267
185
698
354
213
126
164
293
235
368
497
941
42
826
605
68
328
750
586
842
846
712
754
44
732
252
38
685
994
493
264
666
888
669
397
313
585
599
244
869
172
432
179
322
622
965
197
396
612
820
230
396
231
415
931
560
110
984
114
227
260
697
738
240
288
580
929
469
865
474
776
448
609
604
343
315
861
641
191
120
813
622
910
373
133
727
249
737
418
283
128
6
14
55
903
586
357
602
731
628
131
366
417
255
899
79
817
470
74
929
455
227
46
59
664
419
720
87
218
545
769
461
495
388
202
567
238
398
346
297
776
214
0
68
642
493
213
130
348
624
506
187
283
447
435
984
362
544
997
45
386
901
414
304
291
483
487
599
622
974
3
328
120
397
641
358
41
503
686
568
514
649
650
198
381
306
312
687
451
598
747
987
363
781
508
985
810
473
980
45
439
310
810
117
235
905
574
13
680
252
270
505
277
370
489
750
676
600
839
769
368
357
623
873
484
51
65
697
505
863
60
423
443
967
550
834
108
970
738
771
920
814
559
643
18
344
846
59
383
425
331
790
885
65
290
510
834
43
520
102
408
451
186
604
163
901
313
726
321
677
622
272
357
955
463
261
164
348
131
125
794
665
762
873
403
528
411
788
40
648
189
188
490
87
218
660
765
120
534
186
783
751
77
231
353
970
534
809
679
649
589
371
724
100
303
666
332
532
782
241
288
352
251
105
833
258
366
967
450
248
259
929
103
457
451
839
534
936
956
606
146
784
456
998
921
702
808
863
162
291
294
552
949
817
214
551
580
83
924
516
423
671
763
66
85
141
7
588
554
376
336
659
463
336
316
320
250
813
464
193
348
450
640
889
980
821
517
120
802
397
888
686
10
915
66
114
368
876
624
39
699
608
378
228
957
622
558
495
11
917
249
248
743
809
665
848
707
219
765
286
665
661
134
985
227
878
437
202
364
933
701
610
88
442
629
660
399
726
886
821
908
304
658
600
304
872
719
10
570
713
829
858
494
613
826
553
672
944
760
94
7
565
242
860
132
338
454
531
240
767
363
485
339
856
695
506
746
967
342
940
255
640
391
991
118
677
359
123
360
457
585
992
982
28
914
940
628
420
776
375
98
788
421
925
177
246
192
311
516
703
205
29
923
954
499
986
189
318
682
302
90
389
639
195
384
100
599
486
754
454
194
234
799
425
268
991
411
469
221
283
921
381
995
778
854
787
310
800
885
109
536
724
490
976
931
898
130
637
259
543
40
252
690
653
285
693
484
436
99
586
880
440
420
512
845
411
545
997
129
357
141
681
819
897
702
161
72
888
517
346
347
956
956
67
71
913
399
471
49
38
90
19
820
695
692
177
503
688
923
580
326
930
880
510
889
780
315
457
501
802
130
314
40
147
454
215
515
52
370
651
596
948
949
477
253
637
883
775
439
73
987
804
750
511
507
932
743
210
449
823
939
16
283
165
761
679
675
977
139
855
837
325
970
817
499
722
811
135
106
519
359
660
713
205
347
721
482
685
519
168
781
537
758
392
558
828
614
691
590
718
466
734
903
618
106
657
162
291
742
210
985
338
883
518
84
329
706
57
666
6
245
473
441
167
422
366
746
96
72
363
472
411
223
260
546
360
61
389
652
392
919
580
733
582
121
616
516
110
631
665
883
341
450
892
231
820
656
197
944
979
189
394
946
726
256
926
796
316
381
146
253
613
747
401
796
401
895
739
476
672
227
773
403
566
127
87
903
873
974
374
596
984
130
777
323
116
458
874
7
491
351
957
856
284
457
645
303
380
141
697
320
406
588
764
165
83
255
610
597
932
310
386
747
94
309
358
687
412
600
934
90
953
493
335
661
511
781
490
731
478
491
434
253
899
468
654
881
2
742
417
44
105
678
131
990
6
786
786
60
993
908
745
89
444
200
548
352
60
238
201
259
563
420
45
108
875
151
546
435
60
437
244
706
925
996
711
779
587
150
714
446
959
985
564
891
247
674
199
47
790
33
423
14
819
983
725
416
866
263
220
30
980
738
732
1
278
596
337
245
79
335
754
731
302
74
375
270
352
990
515
902
319
360
71
728
184
187
941
575
670
289
648
470
732
357
365
490
887
247
367
243
950
11
74
81
228
685
334
790
20
209
513
27
851
786
827
119
367
394
761
636
568
863
25
645
200
278
30
607
59
976
814
532
802
745
726
917
915
89
391
277
489
856
565
685
743
196
54
305
590
942
130
189
821
775
918
516
408
689
504
928
603
293
369
181
461
693
174
952
294
698
871
734
125
983
285
844
312
334
73
391
16
263
508
640
78
979
556
780
151
286
156
232
470
567
312
487
744
101
644
269
840
71
764
323
123
936
668
960
635
474
73
741
141
863
558
170
361
321
520
408
593
147
212
225
753
669
294
373
594
516
174
206
822
916
184
56
847
665
364
960
117
704
150
871
228
736
192
547
7
370
825
847
351
910
680
729
515
317
827
267
89
322
254
698
600
264
615
500
411
392
710
236
915
832
441
545
142
299
202
193
251
945
189
385
615
237
468
142
829
373
981
180
801
583
457
86
617
888
287
772
285
144
245
524
494
178
831
589
490
64
828
759
708
992
412
6
126
91
869
28
145
305
501
338
292
55
168
287
528
640
918
196
567
998
927
315
234
248
251
109
128
685
454
103
822
308
259
627
142
776
268
968
443
639
127
612
425
117
666
584
162
393
157
122
400
468
811
648
425
539
497
873
681
408
279
211
966
554
949
7
351
771
949
310
440
846
269
138
258
557
354
226
247
433
696
676
556
55
558
738
223
464
326
187
264
297
464
923
676
344
101
339
532
753
383
319
828
189
726
719
781
909
585
890
533
378
175
675
555
191
820
402
442
140
945
886
646
102
726
425
128
858
912
266
391
783
60
27
951
714
479
862
839
186
849
243
703
258
484
843
728
492
424
331
728
700
287
809
946
857
906
436
955
931
363
550
209
731
553
87
452
476
714
119
643
759
935
659
524
346
353
718
607
650
744
537
934
951
57
773
818
526
846
881
647
593
168
459
927
349
276
305
762
909
925
621
53
757
862
864
327
98
511
840
455
639
636
882
151
550
887
961
488
861
55
669
160
487
962
10
758
261
369
31
994
44
157
174
521
844
908
510
550
331
316
41
710
990
372
107
469
771
595
147
852
616
217
594
393
306
845
929
796
296
420
216
823
143
840
74
607
754
589
227
470
895
524
235
441
950
375
125
81
307
598
770
500
635
487
108
574
958
568
506
743
530
596
843
92
850
888
306
858
775
787
140
50
198
295
791
986
240
758
445
273
696
640
904
938
801
48
240
912
921
437
763
908
353
564
285
309
201
827
419
670
871
9
854
231
604
335
298
388
274
939
521
583
709
786
52
247
732
739
609
727
815
237
361
295
941
873
736
102
881
807
139
74
226
655
804
244
510
535
248
559
98
720
358
596
437
244
282
856
15
299
846
4
448
411
857
631
380
258
823
955
187
44
683
440
963
888
662
491
751
600
214
405
461
608
380
167
941
168
700
259
312
495
191
623
243
489
476
938
789
536
96
761
581
444
359
778
158
418
381
762
821
69
921
473
586
398
244
204
62
32
602
431
563
296
70
421
889
434
914
279
879
956
290
729
256
616
807
681
985
869
972
492
447
882
41
115
571
759
894
206
228
737
687
188
380
544
100
246
466
427
12
749
889
452
415
246
899
703
658
493
453
247
718
564
381
442
832
198
413
233
675
806
277
827
847
700
269
374
688
693
253
745
851
836
111
323
376
827
140
287
47
33
793
665
462
532
959
567
387
992
451
321
395
61
423
877
73
989
137
665
871
904
953
17
542
844
354
859
290
597
219
295
256
143
239
428
384
60
545
779
25
415
927
829
566
909
181
408
673
32
616
670
422
481
669
332
130
408
70
218
468
181
383
250
845
425
564
589
537
705
744
224
424
39
307
106
988
277
819
721
42
880
480
411
548
823
28
975
385
712
57
748
146
332
958
847
939
946
361
677
584
439
181
997
839
124
330
179
50
698
390
124
761
440
712
896
750
896
153
865
487
446
237
60
689
668
584
879
137
380
708
479
886
123
119
189
911
366
342
995
120
550
105
66
840
713
295
707
80
521
575
752
590
713
358
521
204
614
481
400
643
465
700
745
42
822
766
708
943
589
37
448
823
54
942
716
875
258
977
50
471
701
636
108
431
586
183
158
128
429
437
385
861
995
682
733
508
27
867
605
220
726
754
752
709
216
899
98
233
412
643
58
263
260
243
572
96
728
896
959
702
840
490
624
200
716
500
491
267
651
867
211
321
345
11
300
178
703
668
312
64
417
751
662
766
543
278
93
260
636
8
767
282
0
226
214
657
303
42
875
456
524
646
950
285
95
368
709
247
362
880
989
253
633
433
687
35
435
394
868
881
784
325
144
209
960
270
612
376
962
290
175
654
610
727
47
786
842
640
422
684
496
771
507
360
168
806
209
262
634
449
827
663
356
325
706
820
279
40
209
128
273
17
457
0
978
133
175
598
365
985
430
388
806
856
503
716
349
269
311
60
478
42
913
966
580
587
339
391
698
875
782
856
447
200
799
996
25
760
835
846
857
880
97
1
158
256
749
547
35
61
776
794
618
820
177
628
10
891
816
773
528
508
889
644
636
4
914
974
448
547
62
266
513
568
135
305
473
233
589
316
925
968
293
2
132
600
836
553
620
878
413
868
385
951
32
799
37
824
688
114
143
232
167
719
853
306
191
204
837
442
872
503
886
362
826
586
713
713
865
957
463
502
28
308
167
981
684
497
925
703
761
370
787
279
160
484
31
329
730
432
339
233
519
291
526
630
531
901
890
750
956
583
398
595
821
45
57
535
356
135
770
670
522
961
67
641
722
51
10
663
917
960
790
122
402
854
991
16
157
267
108
934
628
120
298
633
392
123
691
738
540
3
577
724
897
305
775
516
810
260
243
70
235
527
475
712
508
289
967
858
971
233
44
712
263
876
928
100
296
960
376
657
329
331
456
519
385
727
922
601
103
970
12
325
815
313
30
459
775
425
18
804
299
895
866
207
812
352
103
774
262
712
712
315
613
548
233
979
809
608
193
726
621
800
405
252
448
868
149
978
191
248
601
122
946
654
808
936
570
271
349
744
36
948
697
859
237
81
195
328
595
984
90
709
986
693
253
911
494
907
924
275
507
292
633
701
335
740
202
661
624
504
860
711
137
804
252
450
344
666
761
135
803
840
268
709
511
701
797
728
743
214
715
482
360
843
663
802
404
820
517
321
179
74
393
563
86
120
298
87
760
564
162
703
607
819
901
701
607
175
323
691
290
417
904
560
446
585
386
124
112
544
121
254
698
138
693
245
161
948
384
119
113
778
792
130
992
151
597
585
681
707
588
48
619
910
970
842
856
807
216
448
118
581
584
959
763
382
823
490
868
844
113
10
889
137
945
564
279
921
79
308
683
452
48
286
146
851
514
12
961
814
231
613
444
163
806
947
63
594
472
655
833
752
865
699
318
852
632
543
759
747
245
92
879
559
887
222
871
830
165
41
456
286
680
259
462
754
162
289
824
38
669
646
561
777
41
694
186
632
662
616
87
999
493
966
241
366
718
349
267
179
952
605
391
198
987
77
179
579
418
816
751
827
828
966
935
166
664
812
538
589
447
761
388
744
18
702
926
537
227
950
23
91
482
514
866
837
128
458
858
585
886
149
724
829
394
741
139
65
196
854
117
856
109
218
381
456
471
661
932
15
744
773
76
45
337
70
770
953
647
315
143
433
601
493
900
819
420
388
72
424
548
906
891
383
483
390
429
110
473
207
795
776
437
919
153
903
656
479
576
219
767
287
40
641
728
5
699
888
421
247
335
351
138
630
726
267
846
540
780
966
400
591
847
912
32
872
322
596
621
503
861
425
954
945
115
771
587
508
953
439
566
543
812
472
225
205
16
413
832
147
505
906
220
963
624
147
77
139
569
33
174
319
231
639
758
226
476
429
85
42
238
746
695
636
994
862
771
964
875
768
395
982
702
280
617
279
38
104
467
56
818
581
312
563
456
635
816
141
875
832
813
515
931
304
756
633
574
481
483
477
522
806
765
759
931
517
382
820
190
932
142
349
52
872
898
298
246
677
232
432
387
99
326
862
723
890
282
80
277
825
389
798
629
81
599
10
176
887
26
463
749
915
163
558
413
305
914
69
231
115
554
787
889
383
158
355
297
988
217
160
15
978
901
319
422
789
794
919
193
941
884
818
544
999
329
291
627
747
365
869
398
665
928
116
804
612
766
475
284
862
176
875
571
903
634
597
844
611
533
537
303
18
366
413
793
58
784
841
68
985
61
409
275
167
613
520
608
904
387
549
867
960
109
629
469
817
55
486
924
653
568
310
770
391
925
740
782
270
661
107
440
31
694
343
948
200
425
206
743
309
828
336
250
122
920
273
797
68
344
514
513
324
677
875
320
769
466
618
968
435
671
19
47
991
357
654
138
709
142
18
426
213
424
511
56
134
640
114
745
56
360
930
727
252
317
666
348
608
365
961
278
582
242
328
647
65
628
891
755
231
38
154
112
705
959
653
861
108
986
32
455
714
48
117
879
104
582
54
477
425
279
455
769
780
173
81
885
188
420
441
228
209
313
624
510
993
149
266
782
623
193
114
386
653
762
849
584
216
747
160
585
119
79
912
889
14
83
470
190
338
999
21
831
831
342
881
853
872
766
210
2
350
445
1
806
940
753
725
10
613
910
371
832
777
73
553
926
933
557
144
350
514
625
767
701
163
350
771
630
633
888
937
771
676
677
796
436
255
139
684
532
19
945
264
751
886
928
847
668
479
275
448
676
998
663
297
765
987
811
625
506
924
67
994
542
400
977
842
76
574
333
282
581
670
979
599
413
307
473
246
334
344
414
177
703
919
911
532
944
856
433
328
161
896
526
25
266
222
364
861
538
858
852
799
644
348
524
246
132
622
65
862
904
266
773
543
412
415
535
222
242
907
172
655
637
434
456
701
728
822
745
989
486
533
841
84
269
274
883
40
409
701
382
30
65
936
65
732
490
285
206
158
850
613
623
539
667
215
500
944
298
30
663
287
295
971
538
267
199
252
89
914
247
861
105
598
804
40
284
668
432
908
905
834
417
413
585
430
124
113
596
437
999
212
241
275
467
649
98
811
881
95
50
915
387
714
543
367
356
343
447
810
990
357
746
559
25
172
840
625
440
555
378
698
244
793
904
928
676
854
656
722
814
971
51
61
449
110
238
57
912
846
348
442
979
221
443
438
544
147
914
454
790
161
840
651
583
64
940
254
357
757
393
341
932
674
812
664
237
493
502
947
177
261
127
45
659
559
335
203
940
709
774
238
549
389
486
27
581
307
482
227
31
177
424
483
959
314
335
953
34
703
653
48
498
58
67
980
74
333
840
32
44
270
913
817
301
932
264
168
341
748
475
580
97
727
615
948
33
266
471
158
418
437
532
162
77
932
79
119
162
0
664
8
625
158
657
419
313
156
83
314
709
304
501
528
769
400
48
558
844
215
842
728
190
79
486
441
300
248
1
301
398
663
398
846
539
252
644
479
61
695
245
500
571
635
183
295
364
557
856
774
479
568
797
839
189
470
843
906
464
838
300
216
810
713
583
741
976
492
911
343
936
752
892
635
813
666
780
218
753
407
511
829
157
900
275
952
492
105
674
491
26
712
781
676
582
850
428
99
384
110
88
229
24
623
185
658
993
611
875
881
696
198
649
922
45
56
253
3
501
537
203
408
599
427
340
487
264
994
587
568
564
300
973
622
761
170
411
136
260
863
345
656
219
769
330
497
361
352
864
508
669
70
967
513
331
429
824
306
863
830
146
676
201
38
371
189
994
1
832
282
714
3
224
713
73
500
167
616
74
913
912
107
611
102
82
107
13
298
780
326
390
328
582
395
801
63
303
966
990
772
683
930
814
488
364
253
844
429
483
717
525
836
256
661
868
683
941
886
563
119
303
354
404
829
761
160
862
8
1
847
464
88
645
591
554
182
200
318
789
22
509
93
408
498
684
311
396
388
747
358
589
143
710
953
706
210
931
282
612
253
902
881
607
964
796
949
600
312
912
854
500
279
894
561
352
181
684
314
82
556
926
733
844
715
686
130
933
172
924
554
429
238
877
483
759
962
424
512
155
151
120
493
185
436
680
348
998
847
217
886
200
125
929
194
550
964
235
57
860
442
681
143
635
956
602
796
723
369
983
502
941
505
58
180
259
322
180
725
588
490
221
289
785
571
234
57
556
822
598
868
191
392
429
723
509
703
395
203
264
504
468
903
884
690
129
110
328
781
245
265
475
820
943
34
766
436
940
564
406
105
304
518
13
925
130
543
82
856
327
778
909
818
542
859
303
946
69
38
710
452
204
226
430
978
781
736
702
330
877
128
402
88
922
229
839
16
192
959
545
59
454
664
861
740
321
726
240
478
432
890
924
315
494
941
799
141
928
994
718
133
411
240
545
138
752
314
776
506
162
481
188
204
722
254
74
867
514
861
949
485
977
80
246
467
546
378
579
197
945
719
492
407
587
624
88
458
914
249
575
643
79
606
859
234
796
633
621
172
140
401
498
15
907
633
991
189
490
345
863
657
525
676
111
939
246
120
594
363
191
417
504
814
783
2
255
330
222
458
852
975
195
119
355
899
280
498
448
76
521
792
153
740
507
263
929
3
649
457
709
242
339
195
949
681
632
267
942
224
32
653
300
636
369
518
267
848
812
685
763
983
620
114
285
544
268
776
715
183
508
190
976
794
797
247
531
330
440
24
490
738
234
633
186
870
85
80
62
955
187
151
379
477
198
772
791
196
870
687
850
618
759
540
700
933
105
629
330
189
829
731
248
546
28
103
132
809
154
85
349
658
698
835
809
224
272
693
42
410
173
424
59
319
231
924
491
914
617
961
758
75
578
454
213
139
100
559
803
479
179
32
192
417
932
402
468
259
319
578
993
429
131
643
240
764
5
676
761
752
328
96
483
800
431
867
318
721
918
663
757
705
892
490
37
747
612
812
598
971
18
720
549
664
961
935
953
976
329
665
234
118
419
864
25
825
647
878
756
380
217
401
297
968
381
454
920
353
692
825
554
863
636
609
121
934
96
691
121
216
166
55
65
368
882
947
266
844
546
101
695
817
99
67
708
910
915
70
963
296
188
826
418
265
970
863
488
935
532
584
605
440
875
13
994
343
252
275
714
12
66
485
769
996
588
414
893
971
829
958
552
55
232
838
170
996
277
592
552
141
142
572
12
109
273
319
133
488
935
872
296
676
956
885
767
662
349
310
88
166
214
454
552
175
354
837
857
746
489
441
602
428
333
444
147
235
822
130
210
272
876
257
571
130
586
637
864
210
962
304
762
218
959
292
754
743
857
517
281
27
24
768
357
698
658
93
928
635
683
471
305
418
282
544
126
940
21
999
688
213
193
663
564
590
211
232
951
794
868
612
804
612
735
526
851
333
551
360
632
466
323
705
880
512
517
316
536
316
645
256
57
418
903
842
413
310
717
721
545
422
804
785
172
40
392
434
991
274
205
687
708
103
526
505
205
914
333
372
674
833
985
475
72
56
922
821
631
952
855
226
729
659
443
308
170
514
909
118
367
910
845
467
856
752
983
804
206
170
402
154
8
419
828
428
995
717
161
776
33
577
291
264
639
9
953
926
637
314
152
108
538
793
461
784
388
736
934
730
638
585
54
462
333
201
678
297
863
344
544
482
535
517
63
607
761
819
80
218
916
129
398
358
95
767
132
644
974
230
799
734
415
462
467
252
336
435
393
188
834
924
224
222
840
438
245
693
456
56
752
818
595
174
995
587
966
355
103
387
324
268
907
310
987
530
964
686
495
6
146
361
842
115
717
756
351
255
563
739
73
286
721
639
995
712
387
506
489
826
637
739
168
73
892
324
255
383
405
71
183
615
619
28
635
308
192
850
562
692
984
662
650
901
123
945
923
775
196
917
543
126
717
987
39
951
644
680
950
241
494
470
994
708
689
990
725
722
651
155
870
214
680
941
582
122
463
492
494
845
16
658
653
409
809
218
480
110
245
569
746
446
717
237
599
200
50
123
778
367
906
614
622
700
362
735
254
917
961
358
29
814
770
471
331
838
371
330
504
7
660
311
599
854
836
884
451
843
117
432
368
996
175
264
396
572
224
614
248
471
906
811
991
525
925
861
503
701
437
212
85
280
721
708
386
891
412
554
969
155
362
880
165
48
511
640
888
635
172
499
972
437
76
515
749
411
356
926
138
903
494
307
213
129
837
753
832
636
770
475
589
216
191
949
145
832
922
231
640
542
148
800
957
453
410
855
203
290
930
362
212
753
931
49
954
994
192
191
86
159
222
871
369
871
445
953
4
586
890
914
532
637
778
372
60
825
434
409
413
742
596
33
85
604
223
53
844
69
306
762
529
608
454
206
343
178
267
789
978
971
658
612
173
896
983
80
761
169
388
860
847
79
313
711
325
907
307
400
488
996
278
494
221
832
364
198
731
464
258
67
593
672
447
507
430
306
872
329
754
748
136
353
738
225
668
168
818
368
831
146
35
974
635
899
643
248
972
661
553
920
25
919
957
543
329
387
250
301
640
844
175
728
605
863
941
154
728
63
356
451
753
525
76
469
744
10
862
315
5
496
355
910
272
693
287
674
112
683
423
26
60
722
126
938
606
745
980
999
137
157
234
323
434
181
438
13
250
216
770
755
12
94
977
286
268
161
267
993
822
295
947
939
895
666
772
705
956
572
67
234
621
256
409
635
678
980
905
861
878
815
313
312
109
120
220
896
113
954
816
956
317
41
695
423
673
667
800
117
991
531
934
797
258
331
880
492
369
670
447
449
460
333
967
266
155
891
327
631
455
296
733
442
763
911
791
550
293
888
277
240
426
720
488
625
50
857
715
900
527
146
316
19
914
292
644
636
706
662
727
626
450
782
526
809
493
934
814
729
729
880
208
234
335
491
14
604
244
54
995
323
360
340
94
36
817
244
461
653
297
361
348
300
864
439
686
929
388
946
722
225
531
194
661
40
141
762
480
369
896
614
44
752
466
878
926
335
148
565
496
88
520
633
709
58
800
880
789
895
518
918
670
499
358
989
306
14
200
623
299
496
636
769
835
89
78
351
113
209
993
859
292
72
585
600
42
790
188
643
671
44
261
929
161
699
316
687
150
312
735
821
34
268
474
458
687
965
550
797
404
854
731
548
894
784
191
0
940
259
171
869
577
937
536
523
831
781
670
588
609
603
936
231
229
834
49
248
738
508
119
708
854
324
583
50
234
922
749
19
667
683
567
247
371
853
408
822
955
848
648
823
61
83
860
272
631
496
694
320
874
928
128
76
692
308
104
297
312
522
588
32
855
132
432
114
680
817
830
824
690
732
27
740
651
819
548
208
346
970
35
660
0
102
851
661
891
360
475
809
194
453
387
387
990
275
152
831
359
448
631
821
336
956
64
338
357
152
617
963
181
652
156
721
177
446
807
14
591
648
504
132
274
657
197
256
514
389
185
587
649
347
352
897
905
746
541
339
667
222
84
241
724
199
488
250
214
16
968
239
860
65
384
385
814
944
649
615
515
154
343
36
324
131
101
947
756
188
203
153
285
163
572
889
69
917
977
830
579
285
343
922
91
748
385
106
124
216
378
324
891
123
64
834
386
517
896
172
768
270
916
848
253
910
838
344
700
373
947
519
289
825
845
838
180
414
467
655
944
921
712
593
323
72
295
966
685
810
332
16
484
548
130
105
552
649
329
442
249
479
628
433
925
845
515
439
476
813
389
755
56
541
506
918
626
668
270
322
317
325
578
818
971
683
237
860
520
764
752
620
349
195
240
455
15
563
424
910
779
593
656
915
446
598
472
937
410
837
908
297
627
668
461
554
270
175
242
887
233
605
345
113
246
157
315
700
567
216
89
552
103
558
687
73
748
15
187
390
143
316
130
947
175
808
408
738
535
435
888
692
6
123
691
290
76
884
683
780
908
535
173
137
967
344
179
438
628
974
765
869
821
286
996
29
54
744
996
110
718
150
327
171
86
892
907
952
180
725
177
281
808
727
470
699
385
151
263
260
727
830
832
686
185
125
7
172
371
141
269
992
588
155
895
579
199
298
781
186
171
23
988
546
389
469
77
614
242
716
769
262
968
984
690
426
194
159
79
805
274
139
954
804
148
111
586
48
543
322
48
637
591
199
645
116
735
197
81
529
848
797
14
657
529
962
555
98
266
95
717
462
940
872
588
657
70
777
108
168
261
321
877
582
766
1
392
427
819
573
535
426
235
374
258
65
240
536
713
287
536
788
994
56
829
780
618
461
364
90
607
178
354
522
146
56
922
282
310
381
859
321
304
503
598
515
361
536
963
489
188
454
474
590
300
913
266
441
832
805
346
931
235
313
122
312
998
252
111
624
334
578
825
614
618
721
953
105
254
843
392
565
650
953
821
106
473
752
581
577
369
290
866
427
195
459
640
120
537
603
106
367
147
625
739
797
890
365
873
767
287
357
683
91
569
480
506
367
589
121
979
400
916
791
547
818
526
169
4
889
277
265
48
551
993
608
338
738
152
26
44
485
9
817
671
262
282
533
731
47
468
877
430
747
822
479
380
682
352
605
447
155
996
114
442
573
664
769
190
369
840
563
855
679
56
664
952
796
672
934
517
437
755
385
329
965
228
395
206
243
731
142
817
65
844
391
453
161
258
728
873
646
439
743
155
925
321
585
231
961
837
192
699
132
753
319
156
120
362
81
939
998
262
499
554
477
341
397
51
368
953
441
706
94
592
23
273
609
52
110
155
874
645
113
425
157
892
967
803
258
184
946
879
539
623
394
870
767
735
332
975
576
867
781
84
947
303
94
393
989
356
363
565
225
660
293
388
274
608
759
150
409
803
102
329
613
100
804
747
95
574
434
170
274
797
395
961
815
50
733
389
83
421
273
538
142
116
421
828
642
893
697
984
318
211
785
472
397
835
650
617
552
206
894
377
445
841
178
297
507
648
573
340
280
577
422
926
565
163
254
248
552
946
910
439
15
831
9
912
417
871
241
310
394
677
357
576
298
344
151
162
77
962
335
426
168
201
995
668
529
439
512
716
823
237
182
126
633
521
673
443
72
164
712
265
666
589
277
240
569
303
152
567
101
387
195
799
943
145
828
540
775
320
996
120
351
129
676
391
754
726
207
352
297
622
817
61
142
968
433
25
816
934
349
715
829
32
164
529
115
781
725
514
65
34
488
427
127
204
367
659
925
106
985
776
82
103
448
640
763
277
665
317
117
63
262
596
378
408
277
640
217
263
551
693
15
673
457
81
683
689
510
476
66
27
619
648
422
430
546
328
823
986
428
530
54
428
583
66
41
287
588
428
791
42
714
103
306
157
138
38
207
897
929
238
353
304
582
705
441
711
786
561
719
207
26
272
407
396
97
272
663
784
849
702
591
750
342
640
911
790
575
748
752
772
187
156
848
580
589
304
51
370
967
53
993
27
204
230
366
734
388
400
490
178
136
0
204
618
324
356
799
340
724
85
466
134
487
732
48
170
492
164
413
720
921
910
515
986
909
729
176
324
183
803
719
105
399
787
694
870
120
953
573
678
794
952
324
127
629
839
296
616
859
577
127
180
643
341
476
428
853
184
794
287
382
633
692
201
921
891
833
753
140
296
187
149
816
973
489
826
398
271
621
493
365
837
994
595
293
987
668
74
181
866
4
975
385
355
155
103
315
330
536
554
865
248
709
780
520
36
937
141
453
264
998
562
587
689
89
319
619
359
575
81
417
782
174
78
36
400
774
979
796
768
769
644
676
246
229
941
625
422
1
799
136
86
483
737
759
806
540
119
44
166
977
585
773
816
313
651
399
72
610
580
583
576
746
209
214
293
133
898
372
906
251
841
865
197
874
1
801
496
178
922
602
305
689
42
341
850
538
581
866
340
135
605
408
541
948
893
51
874
78
668
435
568
402
867
22
497
578
283
323
9
391
16
563
434
996
396
961
750
143
858
816
479
749
766
691
935
433
842
1
141
900
334
696
296
622
420
516
484
856
375
88
286
582
830
45
882
719
542
121
247
942
610
232
653
911
880
242
733
285
448
595
157
112
190
25
855
353
867
629
240
502
225
927
214
931
941
217
773
358
464
732
765
702
414
960
815
624
908
586
751
693
233
378
135
221
629
234
371
798
916
662
907
859
650
966
74
794
125
871
137
489
0
297
970
795
741
541
174
801
899
17
790
573
722
400
419
107
442
938
461
975
247
284
609
264
850
985
881
602
590
855
828
481
687
185
974
262
846
804
50
210
947
228
562
842
269
238
87
909
211
714
357
838
839
431
569
793
221
18
771
59
306
617
36
981
746
156
308
432
552
716
851
56
198
504
452
441
559
206
175
462
714
529
647
140
38
574
619
371
722
198
276
287
186
10
176
253
229
972
527
239
411
889
54
154
442
487
732
792
508
766
979
488
930
317
989
249
215
92
763
958
25
943
877
204
94
787
611
343
684
686
434
412
361
944
309
372
82
129
99
835
36
571
998
129
424
218
438
661
971
156
624
249
235
691
571
398
750
446
433
257
526
597
359
375
613
767
633
487
324
882
308
794
421
718
128
270
822
756
166
756
940
833
325
10
899
617
564
32
229
522
112
818
21
482
120
792
999
631
270
506
521
826
664
992
499
52
143
967
985
725
657
473
232
710
245
508
380
63
948
755
769
405
381
424
283
820
440
401
833
592
470
453
698
653
666
636
276
935
572
553
273
788
915
69
868
187
67
624
344
826
913
437
81
140
805
104
18
591
178
710
721
135
412
191
125
748
757
588
194
301
828
210
649
511
103
380
677
284
653
120
300
621
461
973
752
620
226
177
716
272
125
930
332
607
585
685
276
903
778
209
161
831
691
824
606
706
422
382
439
134
576
756
488
580
218
45
206
23
883
323
69
772
164
284
22
32
289
262
727
509
853
802
676
967
190
164
869
127
706
140
473
65
155
807
779
439
948
315
864
660
632
845
796
126
420
977
290
34
705
814
603
958
982
81
122
643
867
360
949
404
470
339
840
657
629
576
17
212
761
484
325
707
654
137
256
970
577
445
839
900
528
446
747
888
601
411
772
110
156
658
285
40
522
211
371
653
427
603
672
362
968
461
86
120
495
331
562
735
563
774
263
173
115
326
873
196
960
790
834
186
484
875
129
165
248
766
250
277
272
442
845
4
836
867
124
375
890
373
323
145
599
687
986
107
360
590
181
299
830
10
618
742
588
857
493
450
298
855
702
27
71
360
203
138
794
254
309
270
778
754
958
114
715
239
105
820
952
452
362
312
52
490
319
509
263
123
466
474
502
316
840
904
135
379
956
984
905
297
663
207
983
858
769
356
339
290
127
61
810
365
416
928
231
976
258
255
838
699
33
140
728
614
903
954
60
391
827
910
61
804
436
669
482
470
615
306
894
746
260
143
771
657
564
216
444
523
485
603
659
147
662
479
147
548
954
588
631
598
233
868
781
234
864
791
358
114
428
799
142
975
514
888
391
383
960
454
107
218
453
466
464
743
639
804
454
169
385
790
273
783
401
500
757
210
822
857
450
527
77
39
648
146
879
640
649
882
300
53
385
670
11
15
653
468
860
141
771
456
974
880
928
413
401
478
660
260
3
54
464
157
437
611
860
633
330
708
402
961
769
205
100
782
642
321
332
162
316
685
107
59
387
687
226
260
928
530
675
681
442
923
889
634
562
818
538
913
383
156
636
123
337
782
96
450
701
770
271
985
280
627
660
793
335
957
839
988
975
218
946
918
974
243
562
666
879
496
891
205
658
681
335
255
476
939
978
953
230
803
831
665
155
843
523
343
435
579
777
982
548
449
656
969
352
3
532
137
304
413
115
322
812
31
737
646
267
766
245
505
89
343
881
886
341
454
811
117
502
849
992
224
871
557
488
444
94
577
547
811
975
65
861
893
481
80
952
62
438
530
710
687
902
927
386
336
700
262
403
406
967
835
720
877
388
226
212
115
960
36
939
815
139
914
816
156
262
844
971
950
69
66
327
631
906
444
179
61
156
436
118
505
968
851
658
412
294
930
514
506
65
813
395
538
171
716
902
586
242
558
233
744
486
682
516
534
51
820
945
402
363
116
474
746
232
882
657
754
785
239
298
795
928
461
278
811
754
853
857
926
905
791
501
219
81
535
808
215
166
822
533
862
271
137
819
952
70
948
407
365
809
612
695
198
550
958
667
825
230
999
458
134
758
10
41
377
968
143
456
381
737
168
516
851
254
843
959
94
103
388
357
335
971
539
55
94
153
542
982
740
832
505
216
583
502
792
949
768
44
829
105
406
988
475
109
514
955
781
973
357
999
470
716
649
222
2
370
422
0
647
348
938
663
564
684
676
273
592
434
248
334
416
543
258
18
124
179
589
708
529
847
775
391
314
554
428
488
924
408
875
895
743
67
309
524
344
629
92
508
900
486
326
559
9
584
686
864
887
203
757
248
224
180
68
792
190
980
533
179
689
579
823
369
224
118
907
552
532
827
648
608
50
410
663
985
738
173
45
380
587
891
947
209
54
759
388
376
264
874
448
178
761
815
251
311
861
862
827
510
940
734
756
53
5
443
827
885
547
395
633
238
307
955
476
921
895
671
115
138
89
69
983
269
267
621
632
7
361
900
813
423
195
549
957
549
139
591
532
219
468
490
28
694
192
645
203
972
294
271
467
122
474
821
862
52
718
568
166
175
660
854
92
54
569
28
893
14
736
781
551
399
10
761
879
734
758
761
227
287
698
299
346
623
284
488
254
918
660
675
914
500
363
265
856
499
929
482
754
284
454
37
193
530
698
175
874
188
388
633
495
444
585
997
668
478
553
727
934
364
980
612
15
915
631
312
928
554
207
950
348
606
876
542
373
907
628
854
343
985
132
538
421
593
474
790
442
323
271
702
48
864
879
609
129
702
474
880
293
248
932
375
964
385
342
471
445
612
124
469
441
19
857
527
474
746
87
109
495
860
435
550
698
364
931
966
224
183
88
488
802
87
784
401
123
82
106
918
351
210
251
457
947
789
643
321
88
241
493
638
246
452
56
508
699
206
877
51
542
40
542
220
660
34
9
492
749
10
6
138
215
491
11
736
37
157
665
476
26
124
169
81
76
618
581
826
604
745
667
829
111
77
916
105
459
130
338
473
15
370
375
353
982
850
225
787
366
510
685
655
411
657
311
954
605
381
882
415
485
387
680
606
385
200
256
706
896
752
760
537
427
577
750
400
252
548
619
967
726
452
616
314
143
620
667
820
365
103
954
544
969
330
534
937
666
549
149
319
17
61
951
267
658
867
659
538
82
938
895
865
890
98
148
391
438
581
981
94
903
259
740
569
374
817
640
580
803
556
976
280
90
273
604
668
606
935
254
941
44
37
370
867
701
597
947
170
500
531
129
85
660
679
909
601
733
407
854
403
78
577
478
839
784
427
514
171
75
156
733
19
695
502
776
631
222
978
782
301
427
546
521
423
228
87
163
754
674
641
420
4
312
982
697
954
18
99
630
604
334
775
559
305
780
232
876
521
922
964
727
211
6
413
255
301
233
194
628
515
176
413
501
573
88
953
143
792
679
771
515
46
469
847
95
347
7
822
360
721
307
657
519
242
752
874
991
313
379
850
573
43
97
20
537
952
916
42
677
586
958
504
127
911
253
851
156
773
303
558
623
843
713
776
218
924
361
920
933
741
467
743
425
433
750
34
472
496
302
87
365
563
764
545
707
188
211
730
929
102
854
508
214
226
882
369
720
245
128
497
388
79
273
166
922
963
775
52
202
874
556
768
521
449
351
58
15
672
330
63
907
579
144
730
978
75
346
190
654
87
769
361
849
155
411
347
61
478
605
643
97
921
857
410
249
415
991
544
636
544
100
800
784
410
563
224
940
123
910
792
52
907
600
425
735
734
9
625
100
325
511
389
867
765
126
381
500
58
682
81
4
674
918
965
700
381
227
94
14
270
641
629
163
41
505
685
400
155
294
732
75
314
629
402
192
561
393
907
829
84
614
287
328
502
421
842
710
938
381
458
723
368
229
495
784
49
232
3
848
836
224
149
519
35
410
920
815
632
345
359
12
483
481
900
292
736
420
458
682
70
435
645
657
218
968
58
140
753
87
92
483
508
726
739
233
832
906
987
884
326
140
404
362
383
193
211
304
875
63
59
605
548
919
890
538
817
44
246
623
558
965
543
116
333
787
200
733
873
950
319
789
126
549
924
599
915
779
642
3
595
348
362
92
639
311
789
811
526
883
354
552
199
505
422
67
818
284
173
352
535
105
927
898
848
350
875
344
123
652
923
70
272
367
182
590
957
946
364
825
22
424
353
587
194
515
233
218
329
328
710
541
55
563
588
828
530
973
992
425
510
618
210
371
831
572
704
58
868
432
831
520
254
33
327
804
923
889
906
543
650
95
578
707
52
450
270
11
816
934
651
894
175
114
633
658
877
637
460
476
339
330
983
591
502
891
630
794
409
44
845
99
563
574
180
794
807
989
629
691
762
764
273
265
46
601
195
229
575
791
375
433
999
67
624
443
36
220
82
546
227
361
513
289
6
933
675
63
793
532
329
47
647
654
506
769
134
82
101
743
931
832
440
437
318
438
747
450
10
415
530
351
270
230
320
387
907
858
971
599
124
320
524
471
81
285
589
91
642
137
126
297
862
851
168
804
566
883
630
94
99
50
653
352
256
726
998
281
8
660
85
996
814
684
22
715
722
160
377
978
557
324
570
397
238
959
789
873
454
381
968
760
492
253
61
546
369
853
933
949
249
944
818
925
689
440
140
288
974
7
644
430
795
681
979
6
317
884
733
69
392
450
453
823
111
12
866
432
248
153
818
93
591
685
514
312
96
354
76
92
518
491
732
329
508
654
456
55
974
52
778
653
584
199
486
404
502
579
675
201
94
472
58
228
687
381
836
90
837
710
1
276
430
180
793
156
94
431
213
34
511
131
506
98
139
231
519
276
882
177
697
397
170
48
596
93
213
395
70
391
196
595
333
978
813
327
114
364
742
551
944
885
153
706
358
177
1
296
551
512
426
526
307
653
364
327
205
8
56
451
702
350
298
255
478
135
233
211
871
884
169
442
453
459
183
453
160
883
623
486
729
801
73
239
298
316
584
965
665
896
851
444
949
414
796
669
426
730
934
59
713
219
874
202
689
747
491
33
191
510
689
850
934
119
517
181
235
654
816
949
168
360
393
295
624
615
132
272
541
987
760
789
328
18
636
482
927
83
651
841
446
767
726
642
139
25
859
161
547
766
781
807
407
85
526
254
548
620
639
513
725
267
337
799
478
624
823
621
593
854
377
787
105
146
145
149
848
908
29
132
748
893
554
682
193
109
272
687
925
92
765
110
596
696
499
783
621
816
365
318
169
957
434
948
834
571
985
170
50
146
532
968
442
721
780
711
457
618
284
224
617
11
239
66
214
389
854
265
833
13
733
864
418
42
855
812
148
37
321
458
850
834
186
160
325
122
493
914
965
574
969
650
680
252
385
281
108
80
678
726
799
957
837
243
895
410
449
132
582
166
585
565
547
169
854
377
28
877
611
898
9
909
940
717
448
733
374
344
739
658
181
504
632
706
579
817
52
43
259
482
11
769
6
763
736
811
195
417
665
964
201
164
606
205
38
583
75
414
405
573
237
838
465
519
512
77
779
90
281
891
156
945
132
327
626
556
812
656
464
459
166
475
935
387
242
792
896
57
994
144
681
85
454
655
528
859
721
858
24
906
138
617
657
938
409
268
289
480
125
551
531
165
5
499
560
936
806
748
742
957
314
527
583
748
638
90
114
729
167
487
850
675
728
115
58
47
92
970
58
970
391
276
205
7
973
539
699
857
806
395
233
199
602
793
64
872
930
673
903
469
555
363
32
608
45
714
964
958
348
324
866
899
495
921
978
364
526
29
821
687
173
644
784
59
552
134
420
108
123
928
992
97
151
802
741
119
520
647
187
543
137
358
109
102
860
297
84
59
595
232
826
328
368
943
40
195
50
42
979
324
403
14
484
482
494
834
891
121
766
870
247
388
324
705
621
32
544
672
675
539
451
149
221
20
942
140
568
308
521
309
200
890
503
208
59
241
550
71
121
928
524
214
872
508
7
798
658
828
799
834
616
532
435
741
572
70
144
173
418
23
646
327
512
457
914
182
472
40
795
663
936
215
780
791
160
191
335
959
683
724
679
605
252
40
727
154
539
838
988
832
734
438
168
647
282
721
464
123
163
693
439
825
230
84
805
889
342
821
379
636
937
731
376
857
919
352
527
466
200
90
552
282
772
79
748
481
839
479
842
699
789
76
192
777
426
105
446
366
973
37
411
281
314
732
885
539
474
903
397
169
415
591
117
673
355
731
961
614
893
990
703
985
227
196
744
888
520
767
495
207
585
289
782
606
366
948
327
515
409
439
452
839
523
648
345
117
809
701
161
129
699
465
644
968
475
556
340
587
300
517
605
619
274
619
472
221
263
568
30
111
60
589
718
21
579
232
763
941
997
291
391
445
394
279
107
758
131
213
700
11
203
865
15
713
958
101
178
160
906
657
676
533
474
238
529
873
383
405
17
429
180
408
751
621
450
37
543
232
270
211
956
529
105
871
668
909
698
82
556
705
142
970
976
531
408
181
220
184
344
879
522
716
579
710
509
66
74
15
477
350
708
226
712
626
716
634
665
570
685
15
683
550
481
230
649
448
560
438
117
883
934
294
137
587
731
798
355
318
670
997
15
275
904
182
635
778
906
313
189
774
727
920
522
948
262
671
729
829
445
639
613
995
772
563
245
938
830
255
4
512
844
500
374
591
66
125
828
238
438
915
688
892
266
684
282
401
830
646
121
262
181
650
135
820
662
172
916
3
597
239
926
455
881
152
41
548
255
935
439
197
792
304
789
207
293
675
253
582
822
976
299
39
649
514
677
780
585
568
924
438
965
335
222
577
496
957
612
855
409
448
912
64
267
966
639
680
910
651
158
818
771
649
153
218
209
680
319
773
386
710
167
232
654
643
413
8
272
471
811
309
750
513
366
984
657
176
2
375
172
718
848
115
265
167
735
62
1
833
689
684
869
658
62
144
292
614
556
676
594
222
443
49
594
849
19
873
876
142
924
296
742
540
876
184
729
28
849
722
627
319
566
590
231
791
289
367
604
336
449
606
984
701
116
311
348
389
390
64
952
925
133
123
237
936
515
254
817
911
281
257
297
953
942
66
181
360
228
188
188
267
547
44
356
713
20
658
194
842
121
31
814
525
956
1
506
430
333
778
139
641
500
288
579
618
5
20
441
833
279
538
748
291
388
23
465
742
435
942
362
131
836
421
129
108
12
996
470
445
613
386
710
737
325
876
670
540
669
574
664
246
542
17
907
15
682
384
40
778
14
60
566
457
854
177
613
299
36
820
345
559
444
780
872
155
983
867
284
623
514
844
677
131
965
809
149
124
535
458
561
261
530
960
568
781
994
258
678
617
839
324
511
628
697
845
596
892
954
7
327
746
173
963
710
437
780
484
915
38
629
507
939
310
426
398
703
243
814
460
423
209
323
626
110
731
339
530
582
707
294
229
145
931
60
523
205
110
541
1
50
902
295
0
948
174
464
693
160
766
100
889
141
587
324
501
906
401
49
917
168
688
452
681
306
444
184
61
943
985
350
253
216
254
884
638
202
290
670
473
433
569
255
936
176
941
33
824
94
923
933
960
220
682
969
336
361
267
925
853
186
475
217
664
890
618
841
676
700
596
348
64
864
973
702
861
977
77
693
117
37
617
244
88
759
85
541
342
243
459
838
572
344
486
43
488
809
953
149
622
498
534
891
585
643
364
173
401
12
836
869
792
756
176
606
534
161
495
838
340
524
823
198
925
774
356
88
591
659
416
173
326
595
464
655
514
672
906
976
429
853
355
488
921
893
799
148
747
538
827
410
246
510
590
164
969
650
736
85
831
817
821
18
185
60
215
220
65
245
205
55
356
866
717
450
919
631
974
882
642
372
547
184
725
55
442
437
733
152
739
310
328
106
557
305
40
307
272
754
436
227
899
586
979
165
297
739
842
363
390
32
301
464
199
491
599
131
64
240
958
948
119
766
6
858
385
391
637
900
304
407
344
134
170
891
285
22
182
46
587
374
994
389
859
333
669
552
796
981
935
630
984
250
448
272
833
505
328
383
422
716
892
814
829
992
20
880
891
382
528
262
509
126
757
814
220
10
883
892
796
98
264
181
457
790
337
164
445
920
366
547
464
83
314
930
546
95
140
939
969
117
919
495
430
301
152
300
622
146
523
317
327
697
130
773
870
193
11
892
527
873
159
104
540
235
821
945
184
67
194
510
895
830
272
373
144
355
905
781
707
752
257
416
476
730
683
578
573
960
882
386
355
217
561
9
689
446
721
128
722
483
546
860
300
209
620
790
929
547
862
909
126
226
999
265
839
82
210
36
986
123
261
25
812
955
191
355
278
284
149
339
360
921
148
501
540
914
461
731
284
547
974
227
983
447
256
533
780
920
62
128
615
671
407
717
34
791
382
907
534
463
111
311
143
42
489
141
189
777
28
330
708
63
400
422
876
694
404
840
823
672
714
243
972
809
165
779
193
438
476
757
864
58
32
66
451
1
314
74
408
639
876
31
114
316
496
945
702
27
634
144
663
257
53
65
426
250
965
834
839
18
270
142
284
507
540
558
291
573
60
323
437
19
327
737
947
839
924
478
731
520
394
185
494
649
876
624
452
252
340
568
264
0
678
815
605
703
548
648
35
866
572
630
192
732
787
602
749
782
75
570
637
709
997
939
737
135
295
252
781
660
697
850
472
767
135
625
340
120
855
437
604
695
369
469
916
132
408
852
695
642
904
905
863
886
238
426
542
564
412
901
126
331
326
585
130
95
165
360
651
861
713
959
168
522
384
969
315
807
227
652
324
51
97
335
643
255
25
490
257
476
128
597
463
811
469
102
252
703
456
238
669
850
318
438
558
950
579
751
567
41
22
911
565
948
488
987
257
874
994
500
42
906
481
550
511
467
418
457
890
143
853
365
65
853
313
826
761
385
550
172
958
865
397
125
317
416
366
184
173
556
835
129
48
657
252
412
762
493
23
337
141
110
510
596
498
210
537
801
153
532
370
682
464
164
336
972
925
409
470
28
68
494
918
751
179
568
262
82
742
707
827
169
85
386
409
936
714
86
210
55
785
878
942
843
80
222
917
191
582
176
819
605
911
712
730
69
70
959
73
659
204
870
900
76
298
523
204
993
399
640
10
493
158
268
506
878
859
780
444
135
668
168
791
363
423
753
859
974
201
645
114
269
586
837
777
875
510
803
543
479
892
497
348
907
964
579
145
556
568
265
717
194
336
59
885
801
119
595
729
216
648
958
235
376
838
49
130
171
664
335
502
975
941
700
681
319
637
424
840
733
860
751
91
157
366
142
804
673
317
793
758
12
5
694
367
862
899
311
870
283
263
717
387
666
717
514
509
529
127
779
778
737
646
614
194
750
463
180
69
960
299
328
620
333
70
435
585
610
922
777
503
194
981
138
718
270
66
856
712
631
98
262
964
685
849
983
733
465
317
255
177
84
362
417
968
697
942
654
182
621
431
154
994
600
742
134
346
874
663
934
636
347
594
492
768
542
970
633
843
572
20
654
279
504
383
787
46
685
125
306
8
29
298
594
755
872
863
130
122
612
340
120
656
272
690
119
460
674
667
683
118
146
887
738
417
786
671
356
884
916
943
905
825
11
63
223
893
750
85
995
202
366
467
739
301
58
954
280
720
750
987
514
136
577
869
272
148
572
484
777
19
993
559
539
522
272
243
36
754
487
272
583
696
573
75
612
863
45
322
743
345
755
155
938
656
77
205
444
248
80
967
233
655
445
251
819
344
301
907
965
668
533
919
527
823
391
411
88
462
532
656
516
501
786
652
902
239
587
668
182
681
954
356
312
248
902
143
448
374
101
291
346
793
980
829
909
117
169
771
743
355
533
170
832
927
769
858
736
635
316
466
675
874
305
892
795
267
961
270
428
79
227
750
577
250
98
56
13
845
739
434
393
706
498
366
651
947
783
493
905
248
580
665
769
886
43
311
2
379
218
163
227
248
695
983
279
913
133
435
716
102
197
946
494
318
720
386
813
383
478
293
901
876
663
405
966
39
73
260
751
571
713
635
35
842
733
325
429
810
913
772
628
422
301
832
183
532
41
10
544
548
665
772
31
832
465
110
509
407
952
240
544
675
952
488
442
913
612
698
421
658
662
889
738
563
170
657
672
135
917
383
469
999
46
967
238
461
86
337
802
210
363
135
958
242
359
45
660
674
406
456
106
573
783
332
932
803
833
944
373
870
871
300
523
699
515
524
932
406
73
859
472
559
477
521
92
65
567
74
177
91
16
969
263
485
507
308
634
702
211
437
641
942
153
284
767
568
103
7
953
138
668
27
815
361
156
19
978
705
523
102
489
673
841
960
686
534
363
287
303
335
128
625
524
985
697
536
26
867
92
255
616
6
572
175
978
652
281
143
228
514
100
114
217
558
146
519
263
752
104
413
184
521
556
531
872
581
535
994
928
549
127
290
265
982
171
678
547
497
200
970
888
86
781
333
178
982
169
750
212
407
645
785
654
239
39
334
200
505
46
816
524
54
191
942
555
25
205
146
347
655
46
305
533
307
285
698
113
920
93
475
233
500
67
460
511
670
441
563
613
991
275
639
601
545
631
384
116
31
39
13
798
668
996
476
464
835
960
654
921
627
524
3
69
244
245
343
12
486
735
839
81
873
561
931
188
252
868
249
758
573
758
680
294
545
631
628
369
492
329
607
587
53
219
172
644
117
274
403
253
184
1
812
234
945
836
454
724
892
430
604
679
565
916
990
290
137
965
248
237
506
306
593
767
698
758
50
763
99
963
766
776
422
393
989
818
185
106
642
941
659
189
67
409
774
397
842
813
586
512
831
918
46
455
128
339
963
283
609
278
885
664
725
446
638
235
749
3
739
327
944
24
43
794
911
638
743
476
430
362
66
435
999
695
489
303
158
426
409
590
258
773
553
159
349
890
676
546
773
646
111
866
894
625
236
313
175
77
195
359
898
171
149
845
415
789
482
70
980
193
437
323
79
149
804
369
851
261
13
969
413
998
272
484
450
758
402
375
19
463
68
356
428
84
807
183
618
997
287
599
635
209
785
643
385
164
549
11
877
137
151
352
496
745
704
204
460
594
428
252
115
553
61
910
416
839
67
165
780
690
117
597
197
688
777
792
276
375
627
781
616
942
295
507
389
418
418
858
625
680
340
579
311
883
350
684
196
533
952
871
334
335
538
162
849
250
373
349
309
646
477
856
750
79
652
645
174
537
864
812
831
740
562
702
599
344
552
708
668
847
967
954
494
582
524
941
524
634
335
766
912
449
606
869
466
299
984
840
820
757
509
509
154
162
732
698
937
709
339
692
759
442
668
843
705
15
254
471
457
652
331
249
841
824
940
467
4
514
855
206
415
859
852
864
470
391
584
259
263
457
283
256
513
670
394
698
502
655
671
13
366
604
448
924
17
431
525
825
232
5
127
43
922
741
31
469
795
455
85
147
26
485
262
218
241
195
684
538
114
431
448
176
306
848
785
121
391
190
571
205
315
455
253
57
846
193
406
459
725
849
691
701
153
616
361
941
911
561
178
631
210
561
967
728
81
568
249
811
539
772
516
784
582
75
869
451
559
330
300
889
654
950
86
273
948
883
573
873
248
433
447
844
165
337
736
223
262
403
867
878
122
623
540
574
73
194
485
661
800
17
101
454
601
811
334
882
341
864
398
999
673
489
955
634
483
825
831
608
699
234
884
149
211
326
875
297
924
23
394
908
562
503
218
517
790
668
256
662
515
422
557
832
1
267
33
977
916
744
982
874
689
78
481
969
57
573
7
529
601
142
413
768
695
165
805
251
794
321
291
790
117
656
178
418
970
217
214
546
729
511
723
683
945
133
779
69
611
141
225
192
525
313
892
876
606
319
174
283
926
700
994
85
417
927
448
157
330
247
961
387
997
118
154
171
778
213
847
785
14
791
193
868
709
696
517
392
377
982
830
507
712
731
146
512
459
113
388
855
570
256
905
348
527
216
293
178
489
11
918
299
944
114
110
354
64
121
730
64
503
372
595
569
35
115
428
538
695
655
936
576
135
190
158
843
776
382
205
210
418
79
442
68
141
191
381
228
993
831
376
203
137
952
951
368
831
219
882
712
208
139
350
435
919
251
481
662
333
348
753
949
172
801
949
676
712
146
836
576
565
868
243
447
630
802
220
618
986
529
453
824
625
611
897
432
352
541
668
783
27
827
814
984
405
698
100
723
322
828
690
653
582
577
410
544
886
402
181
257
188
134
361
884
546
265
205
665
970
321
741
530
13
705
57
851
276
419
13
577
225
924
209
655
332
813
42
855
530
892
198
422
398
957
820
29
820
356
211
119
567
166
617
707
281
290
39
18
838
251
922
601
456
625
896
708
685
461
28
896
941
852
146
157
247
564
487
598
451
251
9
924
580
189
116
335
560
738
345
455
886
61
576
216
873
917
907
62
111
33
455
71
866
458
412
688
956
20
934
62
741
107
222
721
942
118
645
683
741
448
86
41
580
588
898
796
847
218
166
153
766
261
128
423
372
87
960
502
77
79
841
6
301
823
726
959
432
13
636
369
447
28
839
224
771
112
549
745
530
513
588
191
10
281
306
271
537
282
326
940
418
536
656
968
309
468
312
612
265
468
705
425
456
231
130
256
471
81
713
652
913
401
764
598
450
457
139
517
23
499
859
247
740
902
186
242
882
753
328
80
786
964
812
46
148
301
475
214
919
333
581
513
767
80
630
309
142
18
496
755
213
538
794
144
400
421
753
830
97
277
972
986
777
669
53
566
476
68
158
395
844
205
918
206
832
243
264
801
543
215
195
330
572
160
902
184
207
445
362
450
304
25
956
961
241
734
509
789
991
846
21
868
518
682
538
562
934
253
863
148
101
47
880
433
616
715
566
563
377
833
393
974
997
577
236
64
210
506
740
471
936
813
132
163
737
47
161
852
719
754
173
332
416
620
355
876
89
982
328
680
714
506
834
164
805
264
132
405
268
197
185
29
43
358
615
543
980
574
592
804
178
460
926
821
535
964
43
698
527
423
637
225
500
913
179
29
156
326
955
856
64
406
568
405
465
713
908
150
699
699
453
824
362
356
734
714
409
309
32
606
125
331
769
802
576
291
753
648
641
626
784
750
81
621
215
74
344
720
713
911
250
679
809
253
138
939
879
811
240
209
390
908
849
65
58
674
382
378
737
986
579
3
460
944
524
229
585
997
315
935
85
920
693
917
462
735
204
724
63
793
610
726
754
589
642
690
964
616
382
533
36
966
25
272
572
599
281
610
975
694
838
524
328
800
486
6
820
612
442
260
508
447
338
932
548
466
664
592
728
957
816
133
891
879
546
360
9
196
480
342
355
181
187
358
466
886
891
605
568
134
138
966
201
760
455
32
814
753
553
881
28
842
145
675
451
849
57
130
443
449
52
41
23
60
217
294
456
210
680
552
698
749
336
97
743
211
145
537
541
31
714
27
199
467
514
290
332
672
725
239
941
726
145
924
384
524
523
603
688
179
171
879
842
146
921
304
174
164
533
959
396
213
29
410
283
274
633
307
478
726
828
815
49
904
906
462
755
550
819
784
592
421
508
702
695
724
243
715
498
679
911
874
408
490
586
938
922
421
134
961
652
145
694
427
771
168
175
987
582
787
412
492
297
725
925
34
650
684
239
34
989
736
398
717
377
926
455
237
492
868
983
905
174
576
374
363
828
135
706
135
319
8
246
71
712
777
779
733
899
388
211
145
782
50
24
723
152
358
856
597
49
814
19
459
938
534
826
687
184
387
120
96
940
901
722
42
257
509
399
288
949
71
273
245
418
176
790
368
670
718
611
691
450
212
332
574
568
74
882
183
523
618
478
254
197
926
968
899
424
255
26
341
118
186
61
839
337
220
688
150
915
85
892
552
676
502
809
624
800
553
504
342
502
569
549
694
449
470
61
595
471
814
744
238
795
699
343
964
488
961
191
260
563
906
584
969
637
916
725
388
229
348
686
408
911
855
677
583
455
0
745
615
507
601
19
430
581
612
45
931
569
276
289
975
147
881
346
142
971
273
433
641
92
852
952
183
256
749
12
704
687
917
83
542
831
808
154
302
669
470
445
303
488
712
581
357
36
429
184
105
985
251
993
504
875
447
450
652
889
432
755
440
365
466
192
142
986
254
176
406
852
55
223
775
320
111
672
414
61
981
570
471
452
771
129
216
845
439
27
859
590
860
446
63
980
387
673
16
65
621
883
583
760
718
569
451
615
827
731
260
170
674
35
408
914
321
290
320
45
347
200
54
124
367
214
98
440
721
322
278
671
40
337
1
286
762
740
184
201
94
669
983
70
49
770
417
842
684
91
575
755
726
938
801
337
201
731
621
742
711
746
190
258
737
138
727
486
172
137
604
882
585
472
100
355
756
372
663
890
487
738
737
18
876
870
571
904
701
584
807
523
184
813
286
147
959
914
679
217
62
129
135
480
80
343
273
162
203
262
318
441
234
119
39
537
3
770
333
231
169
866
915
262
764
334
413
174
225
845
550
505
242
98
753
561
450
562
676
928
599
863
358
486
178
96
650
59
302
749
944
838
487
643
72
98
718
596
708
606
597
582
929
793
750
771
703
919
332
835
257
958
854
296
346
306
225
884
756
164
767
344
524
452
513
96
948
472
752
361
383
211
775
911
610
855
394
78
468
290
600
302
826
845
689
576
522
146
162
221
654
96
260
28
249
556
399
623
926
344
119
699
506
1
601
699
250
917
887
46
107
462
478
386
481
376
820
247
159
482
726
25
989
458
260
358
429
763
725
12
21
859
209
492
932
799
887
959
333
89
407
590
741
702
524
254
517
281
537
310
97
757
166
151
721
802
306
870
377
853
105
654
589
931
409
668
551
244
750
487
278
875
335
218
244
51
468
814
359
152
826
108
709
646
385
359
204
345
599
569
781
240
469
503
687
490
284
898
56
40
526
216
656
698
225
687
627
526
31
334
710
73
15
243
679
711
454
53
304
634
53
520
356
919
403
502
400
361
308
356
736
290
828
961
395
237
674
633
143
598
353
197
336
983
679
73
133
491
444
972
297
241
665
393
753
142
432
883
606
699
257
793
817
921
14
981
636
723
146
365
803
448
252
493
569
624
805
808
236
971
639
775
900
327
129
965
68
357
823
215
603
964
762
769
201
408
607
668
29
250
755
501
600
71
487
765
477
450
798
153
428
431
695
500
556
870
603
73
410
986
245
484
105
259
421
231
855
918
785
611
431
930
922
156
663
732
540
707
581
556
759
409
723
781
936
303
951
351
371
735
799
928
414
918
814
375
280
416
868
249
961
88
7
682
267
895
448
702
646
657
885
488
74
454
395
830
478
429
422
670
154
544
948
774
701
564
953
625
996
597
757
574
775
716
453
242
527
277
278
930
60
313
580
400
241
275
327
996
332
527
479
436
191
544
127
918
719
564
1
281
969
28
641
843
702
389
170
256
634
963
878
821
162
499
107
296
273
513
673
403
257
491
358
464
694
416
828
577
85
507
246
703
540
153
214
395
604
32
411
523
97
28
825
677
50
136
463
950
960
63
539
325
753
372
892
817
81
735
778
471
996
22
963
512
674
718
924
363
908
904
429
628
771
302
973
887
959
671
725
766
437
346
614
522
721
271
970
397
856
984
506
870
277
729
840
627
753
284
955
765
350
769
971
386
969
787
559
0
695
823
561
397
523
176
521
741
871
66
753
224
592
636
501
25
429
54
776
772
545
435
128
111
953
758
500
944
162
474
14
87
984
15
154
163
6
567
820
904
912
503
477
840
428
11
207
985
708
623
462
966
191
384
910
184
913
72
504
742
107
705
899
19
884
155
294
255
796
634
793
833
460
474
449
911
62
159
135
633
219
29
689
640
484
345
894
385
39
486
771
831
961
100
908
534
796
926
457
218
228
361
837
847
150
297
28
98
967
266
267
973
571
526
173
876
375
313
144
835
888
776
293
892
885
408
100
337
282
249
639
720
750
473
924
455
588
388
133
495
554
458
625
798
699
926
165
239
442
682
456
642
632
194
195
154
178
71
911
577
437
857
910
273
165
541
365
798
887
472
112
490
228
910
682
951
797
344
554
228
215
504
197
228
414
523
287
839
122
936
357
793
865
106
748
2
694
714
305
420
476
517
749
943
543
301
288
991
294
131
830
37
667
517
31
809
880
235
74
835
314
125
37
542
391
814
77
478
740
925
262
338
272
46
460
147
752
561
842
807
85
379
105
958
783
79
294
50
621
412
257
964
761
153
585
563
103
198
713
867
674
131
928
907
327
260
712
968
27
950
182
386
688
292
995
178
978
528
957
427
692
220
243
713
452
634
509
710
61
284
668
680
689
703
696
338
223
901
734
367
154
754
382
313
332
754
630
478
443
844
237
184
676
79
852
694
192
712
326
730
166
228
752
426
120
750
798
651
766
803
296
182
299
387
593
122
478
842
963
912
688
901
595
132
422
986
245
645
990
300
102
291
569
373
79
456
235
95
511
330
436
898
630
819
861
841
73
373
361
873
284
292
59
469
199
755
427
192
561
12
802
826
597
307
171
682
922
86
773
37
415
805
612
38
125
268
804
549
907
496
708
303
703
148
261
650
302
165
929
198
277
805
755
30
527
813
348
626
391
537
714
208
576
34
344
940
910
844
29
263
0
654
616
688
908
506
440
696
671
705
239
248
899
987
446
421
12
491
390
457
595
843
354
943
813
20
585
407
71
126
196
129
946
597
58
512
8
730
81
960
943
640
464
680
12
554
714
569
984
313
987
664
276
583
547
238
322
618
457
429
414
156
601
901
62
815
80
529
235
766
638
184
562
976
407
351
261
438
511
201
902
534
554
536
129
466
887
17
221
594
625
764
103
134
42
552
757
467
536
260
962
472
238
626
576
284
887
753
702
672
124
295
579
638
927
93
475
923
68
579
810
273
49
134
814
125
168
988
23
555
914
721
136
801
425
293
204
55
252
411
948
475
271
331
338
960
91
231
337
888
547
442
381
527
999
309
827
649
787
630
262
959
812
962
404
799
543
35
151
519
237
432
435
876
547
428
304
483
573
346
362
118
638
542
618
920
445
260
947
137
82
279
406
38
652
806
645
153
165
639
374
594
758
459
793
596
478
993
342
437
164
248
306
770
35
154
48
872
86
118
973
344
84
822
747
595
841
982
559
312
889
103
849
991
603
926
62
741
953
292
1
272
107
324
596
524
519
426
776
535
592
370
698
335
199
568
462
78
249
473
265
126
663
561
701
729
726
868
110
473
355
463
70
676
290
935
509
555
330
191
387
900
594
146
612
75
781
448
708
534
356
786
459
692
909
653
554
190
779
15
672
95
841
927
852
430
644
629
371
291
486
675
660
819
341
129
464
494
603
659
127
261
784
537
916
815
189
858
922
70
316
287
130
778
894
247
108
272
301
996
79
210
716
211
206
728
694
372
209
673
249
139
450
537
10
775
349
585
883
52
833
742
568
649
850
607
485
693
656
13
687
125
923
493
849
426
242
711
335
527
246
689
569
279
188
407
139
741
51
753
880
702
39
704
798
376
113
268
752
977
810
209
658
510
268
111
104
213
166
745
496
426
842
313
297
218
883
158
42
629
408
454
623
778
722
579
814
408
685
441
89
899
41
529
411
397
426
29
159
198
291
937
42
632
707
626
207
574
396
434
991
230
381
360
870
625
54
124
280
350
209
92
883
981
183
893
387
827
475
893
77
75
311
962
836
753
0
182
831
397
879
582
528
157
364
721
308
575
533
197
458
895
114
222
171
621
422
818
544
683
177
684
822
280
958
877
807
17
884
888
420
337
217
96
345
962
845
11
67
440
429
651
577
405
984
924
388
59
710
102
182
119
442
502
191
350
343
631
587
375
354
655
995
242
868
681
36
611
410
537
416
745
364
780
386
374
712
497
10
364
11
863
953
781
161
559
163
279
365
851
564
107
683
785
130
811
995
41
373
950
134
146
743
511
111
557
241
507
448
254
960
325
547
57
917
135
221
107
261
532
741
585
216
169
681
225
997
509
667
564
357
596
406
491
155
176
263
565
222
80
678
61
800
289
928
920
690
654
470
466
711
930
274
795
62
429
991
282
910
472
813
834
590
934
215
318
188
541
714
923
692
93
606
883
213
208
678
327
530
701
99
718
385
801
918
428
627
515
588
782
619
417
419
72
937
200
730
775
33
646
799
817
73
684
430
88
242
660
99
154
606
108
800
154
235
584
752
642
979
307
546
299
378
115
199
85
488
840
590
762
556
405
689
511
317
96
951
852
101
379
690
744
791
354
350
761
635
639
771
228
252
304
53
696
260
435
649
177
620
841
755
977
431
183
788
848
159
252
393
364
739
458
916
386
121
81
680
380
110
868
740
740
771
970
823
541
252
862
792
381
591
352
283
134
937
438
451
671
940
779
411
827
864
750
391
980
660
786
900
217
44
95
529
172
228
454
775
262
135
8
27
566
908
287
646
285
642
500
127
606
652
900
748
189
659
297
8
515
281
180
880
684
724
11
144
622
344
830
550
266
759
548
96
579
393
52
542
417
309
103
966
160
732
728
507
922
65
784
212
305
721
317
131
93
26
275
147
888
44
931
15
665
959
230
307
622
794
695
557
723
889
425
586
539
821
111
849
706
52
866
653
793
898
927
908
243
916
394
199
398
389
623
923
20
881
895
940
337
392
30
866
395
788
410
304
89
453
310
594
409
370
519
388
99
373
378
383
445
395
430
706
277
854
379
86
788
146
366
320
362
722
731
170
655
494
879
462
291
311
76
776
940
170
445
708
816
577
0
601
688
799
796
381
608
127
155
60
743
826
632
835
276
711
943
356
576
531
185
177
768
534
861
910
146
813
402
734
609
93
471
968
921
26
93
592
228
487
463
623
243
811
946
116
699
199
848
719
168
330
282
844
346
438
383
932
294
16
70
340
469
278
216
363
68
816
905
308
862
771
480
28
236
899
745
556
680
931
847
20
15
307
795
343
176
171
337
715
807
118
980
67
95
228
698
789
576
56
150
382
347
133
826
47
646
639
673
102
484
117
370
556
713
358
640
115
378
785
154
590
591
947
325
28
536
67
571
227
400
210
588
368
787
405
271
214
591
334
396
870
416
838
606
975
586
515
525
857
503
41
898
560
471
833
310
913
656
154
932
140
531
39
792
247
234
924
324
341
907
346
767
973
990
686
123
81
539
309
964
392
896
808
898
780
329
720
529
513
619
281
180
593
535
2
185
115
207
568
731
515
246
957
719
563
214
836
404
137
85
788
245
159
190
42
572
909
457
127
255
171
516
223
855
155
844
4
913
831
303
581
833
650
121
761
516
180
244
849
505
610
830
497
114
378
826
317
856
192
827
625
612
77
710
956
477
426
772
307
938
264
279
345
552
878
169
3
520
461
18
336
170
11
198
330
772
873
638
980
104
894
64
295
397
924
160
346
831
308
795
178
991
986
893
938
779
907
924
807
141
80
56
49
849
630
999
266
241
999
567
267
136
499
677
75
573
365
926
606
303
546
467
549
832
384
319
844
576
473
652
501
61
880
544
188
96
798
694
904
294
249
121
564
170
294
377
568
124
687
749
887
136
476
618
631
594
368
628
317
222
450
391
545
409
485
872
30
992
611
910
499
456
433
779
543
158
434
870
370
204
356
539
321
726
70
448
740
205
546
445
655
601
542
838
530
686
13
173
185
670
34
797
559
814
972
538
175
132
957
163
725
461
573
529
840
115
200
723
631
146
751
167
367
286
207
119
748
238
497
184
384
730
761
375
456
551
703
936
339
146
778
1
193
402
386
668
578
841
980
217
614
742
840
47
904
163
685
908
634
2
442
972
616
273
244
974
722
871
86
248
507
189
172
107
899
34
831
738
247
820
778
568
652
917
230
8
505
750
882
488
931
569
707
689
481
150
828
630
427
740
71
289
382
357
440
625
663
520
411
152
751
629
742
581
821
526
62
339
823
694
167
231
686
674
602
319
456
65
327
370
623
236
708
236
929
847
18
470
23
949
831
481
835
230
14
568
591
415
133
686
32
952
905
137
826
615
551
959
988
366
450
476
161
756
207
780
365
422
41
91
204
4
571
854
287
6
192
291
757
37
469
271
62
284
261
759
146
490
300
239
124
11
538
473
328
379
397
251
161
233
189
252
564
248
167
667
979
177
77
780
805
814
715
851
214
755
187
771
423
896
369
807
968
760
795
206
877
318
759
445
44
886
47
903
476
765
194
773
593
382
783
153
808
907
228
572
279
847
76
339
681
13
797
700
533
968
776
46
312
890
298
854
997
585
785
829
672
841
513
612
678
486
602
873
134
297
445
750
28
153
398
449
316
502
719
668
863
628
125
812
60
537
829
997
302
825
267
229
387
155
287
437
281
294
780
57
549
24
775
176
924
854
599
102
515
153
433
596
764
991
913
893
663
232
102
520
901
849
1
286
562
51
877
683
285
478
291
687
238
834
877
359
959
926
441
502
622
864
686
636
307
13
451
71
115
628
210
181
673
697
364
216
154
326
516
748
759
769
641
797
589
270
293
116
896
70
178
892
663
368
819
350
665
132
959
947
361
884
100
81
191
106
907
211
175
20
924
145
848
983
877
11
185
617
428
886
421
842
525
96
156
887
116
201
707
247
192
116
119
362
982
891
870
994
577
665
406
37
74
14
801
966
728
665
899
920
850
883
823
717
83
390
830
267
325
697
557
210
838
348
37
781
863
447
803
857
220
270
419
482
830
684
25
941
360
86
711
938
180
929
615
791
996
42
204
954
729
402
472
348
411
42
774
40
398
387
22
466
925
923
357
36
926
200
322
484
929
233
244
753
572
89
74
330
857
828
208
500
228
94
651
6
330
717
981
891
866
27
856
796
28
176
268
234
530
426
225
693
189
915
702
445
329
914
393
727
32
76
593
329
792
519
774
19
322
111
453
230
89
572
542
550
675
558
595
177
894
943
683
382
670
0
850
731
774
605
814
810
151
512
285
901
530
267
324
443
491
717
578
687
389
840
327
707
221
545
841
442
942
930
265
747
770
421
368
160
481
76
540
656
591
416
187
918
125
846
947
358
41
710
11
288
129
601
729
916
67
542
727
197
867
691
915
962
580
937
865
480
595
390
525
606
294
488
547
497
881
62
520
437
371
901
203
599
808
268
561
444
554
49
455
466
560
670
393
57
71
612
80
747
995
484
749
917
901
169
106
655
710
39
314
748
884
353
47
607
832
140
462
953
830
346
799
748
268
558
727
366
774
203
118
456
900
581
221
361
99
842
122
204
142
12
767
540
827
582
438
417
29
294
434
53
649
479
525
862
373
602
340
761
206
432
403
871
784
497
566
452
743
191
366
238
444
46
595
403
310
63
356
32
534
283
374
406
550
458
822
980
408
243
793
293
174
47
249
695
905
504
642
535
930
130
780
66
159
671
303
184
242
453
522
363
257
903
747
781
792
504
442
307
5
387
315
810
97
566
330
157
357
901
724
688
449
82
57
355
415
248
849
37
873
527
347
541
338
658
223
138
58
551
377
685
468
486
461
359
907
662
187
123
290
162
347
199
78
784
713
336
202
918
409
59
272
698
137
626
226
351
338
647
696
338
817
276
556
758
41
168
709
457
942
542
406
744
117
103
574
817
89
435
881
807
249
944
733
806
790
455
918
857
690
798
890
109
2
537
669
141
390
123
220
263
21
327
76
384
666
572
869
951
639
731
735
3
911
969
264
38
493
310
332
599
237
552
932
878
363
166
35
358
65
644
611
300
437
460
659
247
762
566
962
175
150
139
888
450
247
921
890
670
678
678
243
51
885
4
172
85
151
360
317
107
60
427
601
890
51
390
567
334
796
483
101
558
201
772
996
451
407
659
935
549
704
35
40
369
563
87
651
816
305
270
870
557
933
191
75
886
709
814
452
876
482
285
886
126
571
671
890
95
874
176
185
534
402
930
20
47
671
9
669
303
261
430
561
258
951
518
67
615
485
999
999
198
353
553
218
712
938
591
270
655
213
380
472
698
218
412
421
889
70
429
485
259
538
597
80
841
915
877
992
653
852
813
456
117
876
905
549
848
196
104
197
473
522
497
359
778
974
935
912
115
169
303
533
254
916
21
256
732
722
234
96
47
931
288
885
444
297
6
435
116
799
621
519
418
281
752
306
921
921
617
189
390
419
532
319
542
946
656
630
240
320
298
933
166
991
720
111
926
933
127
280
650
152
650
640
814
787
727
842
966
165
787
748
40
823
381
803
163
980
646
929
984
722
234
75
768
76
497
892
966
411
158
638
371
320
376
6
94
645
281
433
587
500
306
77
49
829
784
265
954
144
185
837
743
622
491
789
309
673
926
91
984
148
522
329
569
467
30
567
731
429
690
151
567
759
291
149
829
706
924
988
518
249
598
205
242
331
290
72
326
112
343
265
493
109
307
655
229
901
483
387
851
149
100
363
155
404
705
672
257
353
650
332
278
459
904
704
203
295
867
261
697
678
752
214
798
174
614
835
753
932
296
430
45
934
845
528
247
501
101
963
85
784
905
274
794
557
277
604
164
770
662
204
987
157
439
213
318
418
92
754
743
895
710
97
709
943
533
292
977
741
921
172
998
516
333
792
106
455
86
272
723
253
571
964
479
574
259
780
960
12
482
40
443
251
141
170
996
241
335
526
169
715
799
109
699
521
568
262
507
602
314
347
422
115
514
295
952
166
563
656
188
254
740
161
168
126
847
527
457
515
317
345
431
174
405
811
687
230
917
423
681
423
854
441
502
149
440
880
411
347
679
97
610
942
835
522
998
177
155
627
392
314
223
800
376
313
279
709
436
383
131
86
995
677
520
603
526
474
209
721
775
851
940
623
605
938
263
884
998
480
33
625
641
138
334
273
916
90
598
288
41
772
979
661
359
421
42
451
458
700
272
928
557
196
491
48
860
690
808
464
990
57
966
141
933
700
471
697
26
272
803
356
356
918
252
908
575
433
855
969
718
306
628
209
834
5
632
788
210
467
643
875
151
824
851
652
647
316
448
136
858
966
528
786
663
7
997
967
789
793
993
443
880
860
513
156
611
902
978
489
102
881
764
320
858
869
166
299
372
661
650
746
859
663
160
737
854
894
866
758
686
452
918
377
289
676
786
316
83
452
812
67
732
625
469
25
197
976
142
90
837
818
578
301
751
695
143
696
191
239
321
5
258
675
885
217
990
639
995
844
279
392
454
934
809
809
11
868
321
310
443
444
175
679
829
253
61
94
48
187
777
499
990
991
941
426
999
372
361
688
70
934
11
110
720
295
883
75
339
640
862
210
268
515
861
464
604
227
797
253
752
720
121
212
60
851
699
557
542
381
408
458
356
987
523
18
551
64
206
630
820
412
609
64
55
136
149
455
147
111
124
360
511
976
232
690
794
180
645
681
7
188
154
460
489
124
131
70
966
154
215
497
459
102
594
867
684
351
534
187
387
922
968
481
17
723
874
851
212
785
8
754
316
285
680
426
82
582
212
434
528
871
305
734
441
273
80
773
300
490
39
751
129
612
497
635
241
189
687
16
470
779
695
802
93
944
135
703
487
611
237
623
659
231
887
532
199
27
594
481
865
347
939
206
851
762
675
563
679
308
632
103
656
577
862
726
188
186
396
729
105
375
393
890
915
755
707
836
942
647
916
155
748
351
451
0
241
587
744
161
611
255
655
657
551
927
187
679
965
70
594
665
145
813
128
627
704
498
758
476
487
857
96
54
535
959
959
744
33
193
927
931
748
727
230
168
319
89
627
789
944
125
551
741
29
528
723
701
155
174
770
736
758
369
75
651
355
742
745
667
108
428
432
618
496
251
106
597
61
850
961
771
90
762
218
713
673
161
339
660
379
613
634
785
982
623
431
544
276
795
499
651
780
678
767
665
733
732
683
346
767
422
200
852
893
22
128
199
352
788
960
292
267
31
576
846
480
521
325
756
215
64
27
370
202
362
309
650
466
323
563
217
786
928
902
411
669
487
962
416
724
278
233
751
888
289
992
778
512
177
597
834
576
198
215
719
539
356
362
166
159
654
798
703
563
635
32
446
790
269
369
836
65
743
701
785
518
694
563
916
657
904
434
508
172
783
414
258
868
273
554
18
965
509
109
69
225
183
710
895
809
580
861
109
587
187
946
128
287
313
579
869
313
58
247
614
727
79
48
118
152
973
528
795
381
18
527
60
200
742
91
201
925
847
151
215
361
134
309
648
792
942
973
348
331
446
402
129
887
530
394
79
557
474
446
193
214
19
35
618
888
539
724
0
857
256
985
348
79
205
562
457
739
84
920
86
32
256
32
136
757
828
603
662
792
99
14
284
993
468
437
608
795
261
737
55
973
994
93
733
901
234
206
906
480
927
223
253
952
605
524
842
297
323
594
623
703
399
698
507
179
473
93
86
84
886
711
965
169
120
116
651
185
292
561
150
661
375
260
348
388
492
988
555
480
510
827
992
831
861
726
833
758
956
496
850
346
583
361
196
881
711
265
452
290
828
214
71
122
476
716
743
988
118
428
66
614
414
59
249
774
382
933
430
368
554
998
851
2
478
407
828
10
346
648
749
855
966
159
64
381
561
381
542
917
792
518
286
481
102
674
532
107
373
882
516
812
685
84
837
16
854
911
103
386
506
631
765
314
617
871
491
783
920
689
613
90
210
149
927
752
828
628
382
226
554
774
891
121
498
63
118
432
498
228
230
924
950
109
572
20
767
376
975
458
988
364
887
750
617
656
355
171
540
402
36
658
926
985
175
820
805
578
502
160
718
11
221
939
653
883
616
57
782
204
954
84
587
45
649
492
360
637
607
415
851
245
704
489
411
142
998
256
910
322
311
60
890
71
366
418
647
83
461
980
779
221
169
962
496
836
716
369
330
815
437
885
504
266
370
495
70
683
376
513
557
731
845
228
429
566
320
511
151
314
881
840
840
333
968
26
661
784
337
557
248
164
578
549
542
185
409
260
542
370
635
184
645
196
940
337
702
308
713
437
582
15
620
457
148
824
205
49
935
528
963
649
485
561
743
947
836
821
479
49
825
577
616
637
591
105
938
990
169
497
953
259
469
229
995
922
942
332
356
5
789
806
195
543
769
160
68
425
626
391
658
651
971
989
172
175
534
356
683
263
895
562
899
211
365
639
298
454
360
706
956
325
172
12
464
900
665
742
981
157
187
468
317
542
452
591
714
899
39
283
736
164
587
864
371
816
907
46
254
868
723
130
611
980
677
907
519
927
82
527
180
634
985
703
396
777
922
980
709
4
905
275
524
568
179
637
574
377
944
607
725
369
889
963
928
129
89
253
165
675
436
723
237
277
546
160
286
72
7
294
560
787
920
658
255
834
261
192
80
602
457
599
93
729
617
512
199
477
938
750
733
120
251
616
847
382
321
851
313
208
891
910
298
194
71
469
769
627
567
474
324
914
295
679
20
178
725
696
520
709
444
498
856
74
77
731
465
898
850
282
772
301
135
117
330
72
972
868
246
851
670
249
359
466
123
478
279
598
605
204
257
631
158
367
708
114
63
5
43
651
498
442
518
742
6
90
856
43
591
688
863
579
201
359
994
3
173
144
518
993
556
414
598
489
676
222
407
698
971
748
158
351
764
639
872
722
373
505
339
782
78
726
590
346
962
987
381
818
304
311
104
539
630
743
225
980
431
691
90
773
731
747
519
566
124
267
435
653
798
557
227
198
200
338
962
554
490
528
234
915
140
549
301
704
337
804
35
859
310
503
472
749
356
647
482
970
970
40
517
190
913
178
979
661
776
289
462
507
901
253
212
547
928
201
468
168
313
470
315
301
745
798
585
153
217
660
991
231
303
632
850
315
80
878
652
690
346
62
743
703
436
627
108
301
657
773
773
816
562
138
175
220
651
311
251
248
467
203
532
959
588
221
35
815
96
796
232
578
280
392
693
795
85
250
948
447
683
83
400
595
134
406
626
880
600
612
218
826
517
768
697
369
32
2
616
254
188
312
766
374
39
170
217
409
896
643
600
512
636
783
611
821
891
319
150
33
295
529
621
627
174
286
922
459
442
411
109
493
9
409
142
571
281
80
857
259
251
795
944
630
99
465
615
668
756
732
826
974
690
693
481
63
690
863
437
289
842
533
52
930
332
334
61
329
542
377
778
865
30
839
319
341
96
356
102
376
258
69
899
644
414
327
938
30
761
713
550
257
635
297
387
494
729
603
116
232
613
34
523
431
554
980
685
752
106
612
177
920
993
205
362
505
664
675
912
322
915
288
135
797
308
404
45
230
407
919
856
208
34
562
310
598
72
718
211
260
822
622
668
827
139
562
34
797
409
354
891
48
246
802
901
381
790
346
512
575
361
203
358
782
512
277
965
499
249
264
56
416
874
583
921
457
599
367
518
470
700
47
977
133
330
313
221
396
61
146
987
39
458
133
585
391
371
676
343
610
146
564
47
843
354
724
644
543
210
922
646
596
749
428
612
779
254
6
565
798
824
444
37
124
464
349
519
5
289
592
464
593
33
550
219
639
321
895
143
535
119
598
785
315
991
836
731
994
320
738
824
247
952
29
953
125
323
371
878
665
89
185
284
382
938
370
627
665
415
792
605
804
579
388
16
510
191
277
372
500
966
311
487
507
802
755
266
823
712
137
444
190
975
696
57
166
625
105
190
843
127
247
382
515
303
207
977
617
151
820
804
900
652
34
636
414
400
325
906
56
36
8
320
951
968
857
320
287
399
107
415
91
895
679
863
791
315
216
363
217
12
430
16
588
993
445
306
521
38
88
684
281
469
952
645
286
872
588
200
781
516
767
812
165
707
833
275
303
405
92
317
173
712
280
642
708
819
349
319
311
333
590
476
198
916
168
853
128
508
302
85
81
725
709
811
200
111
692
173
108
808
436
216
486
735
695
207
489
315
581
636
162
902
494
464
55
326
419
491
272
629
383
516
942
458
678
57
868
794
444
85
511
926
707
874
719
747
348
524
804
759
383
764
410
585
487
961
385
846
566
556
122
366
405
130
272
898
22
939
360
169
43
184
487
388
181
821
499
637
836
479
284
151
411
733
857
828
198
797
871
992
618
22
938
754
231
740
804
563
413
937
8
884
777
230
693
81
70
897
832
386
478
806
327
691
330
109
219
413
523
904
32
948
673
552
423
693
381
872
6
661
126
813
784
178
732
875
251
464
620
124
475
953
910
312
12
107
290
633
783
386
397
430
268
661
21
923
962
907
551
663
786
528
378
505
908
227
443
778
866
933
971
249
127
634
678
145
521
79
827
393
870
563
330
288
837
898
728
324
142
179
991
978
41
576
7
352
240
372
264
401
432
753
491
594
279
113
843
961
845
275
816
996
60
747
797
201
86
210
850
219
507
470
817
269
945
466
990
353
985
287
797
538
438
693
322
666
106
991
270
309
396
804
217
135
517
869
394
492
690
837
942
352
741
194
43
222
256
477
659
432
468
694
300
24
210
675
697
966
1
432
99
520
141
2
799
483
838
953
446
419
744
183
875
635
233
121
97
888
913
122
456
19
831
254
347
824
369
295
625
944
950
685
478
262
21
369
383
771
614
228
466
820
453
225
317
306
599
818
115
139
27
170
647
152
790
572
362
675
975
352
421
539
29
683
424
78
229
24
289
795
320
348
978
676
373
356
925
416
281
658
292
484
110
179
234
919
807
288
297
937
680
302
44
920
630
536
679
701
168
94
977
148
763
472
654
726
55
898
299
961
406
325
403
336
234
477
506
880
146
656
22
760
199
243
446
10
444
34
783
488
437
142
400
465
247
662
499
726
844
562
187
553
666
19
396
56
3
510
384
506
226
289
772
390
869
870
367
780
477
250
112
228
761
971
383
987
969
651
765
20
982
405
705
335
36
926
966
334
610
812
84
757
680
149
150
976
742
258
240
145
192
678
138
509
73
322
877
310
57
668
592
809
400
769
949
992
40
796
917
118
727
174
58
114
802
210
187
241
629
73
977
61
83
109
322
442
339
448
144
309
942
26
337
430
47
505
72
238
376
155
650
773
598
424
147
230
587
133
419
913
673
575
377
98
704
45
807
389
358
886
643
195
362
557
958
200
705
383
19
215
940
111
824
765
547
918
63
480
741
200
130
139
50
811
218
460
472
722
450
187
99
113
356
644
279
23
642
75
966
784
677
476
953
424
272
622
746
445
772
230
312
469
897
357
76
511
740
373
3
308
967
852
617
996
646
750
98
285
876
262
108
603
917
423
953
954
154
390
998
913
598
644
110
942
608
91
448
324
894
44
194
850
515
760
954
734
883
122
866
549
967
661
33
10
438
896
909
937
677
350
823
980
80
890
853
499
669
365
29
310
847
624
518
294
186
12
972
183
657
165
200
899
256
982
531
272
598
406
757
693
263
58
250
410
589
173
145
516
125
330
833
927
651
701
301
63
600
578
620
772
843
300
729
198
834
621
158
224
527
226
130
890
142
451
289
20
880
386
862
758
327
36
528
326
19
937
675
794
506
370
33
519
56
39
997
531
162
124
934
275
381
637
218
909
699
271
283
799
73
316
280
769
740
825
943
973
8
791
461
555
409
999
764
793
243
703
770
996
921
597
213
204
790
408
290
358
665
0
511
146
479
422
804
968
736
376
14
905
392
529
832
806
877
817
801
324
954
985
769
399
620
369
732
251
54
573
138
620
58
615
430
819
240
912
779
344
113
240
648
933
575
776
979
835
683
887
125
791
627
602
946
707
711
30
486
382
439
993
771
683
799
429
398
28
416
492
663
671
594
279
99
988
673
538
468
595
352
773
899
756
8
315
346
165
43
84
426
901
438
334
811
598
476
672
114
855
97
129
621
697
478
515
307
229
331
156
272
651
657
194
943
898
235
19
545
78
483
498
245
611
251
56
440
549
244
66
713
218
683
8
19
850
509
789
28
472
147
304
979
917
812
513
957
71
573
874
880
976
593
111
886
297
49
20
208
831
453
617
851
752
762
666
38
666
505
358
220
165
321
323
610
538
122
150
980
48
950
355
677
186
969
726
613
41
153
733
773
728
474
742
969
138
245
406
386
485
347
569
93
466
336
106
781
212
814
575
384
64
965
307
157
592
414
509
1
776
458
9
407
660
592
496
832
915
333
149
224
55
572
250
793
276
253
83
327
468
519
81
412
615
491
367
179
288
340
177
759
605
329
407
586
924
977
381
111
842
153
700
973
462
931
605
284
165
646
736
470
634
888
29
725
44
964
990
186
924
982
183
294
534
22
180
939
831
993
990
716
600
663
191
201
422
487
235
309
35
505
632
240
801
658
517
654
558
811
319
479
303
910
575
967
313
566
134
130
430
846
60
702
571
558
702
751
756
87
214
522
311
899
158
465
107
977
320
615
986
132
144
968
483
81
336
806
796
33
165
503
678
655
75
197
334
963
949
379
304
199
153
476
7
677
711
256
500
118
171
416
824
479
105
660
67
132
354
591
315
299
278
31
679
750
660
40
2
798
387
566
524
329
501
901
825
771
363
527
287
172
193
253
574
740
807
379
888
937
140
725
164
385
867
819
287
291
656
759
928
793
409
985
786
272
350
938
873
177
530
385
666
579
639
365
722
690
951
131
797
175
844
842
302
685
823
595
743
945
592
525
160
211
542
567
261
84
634
865
585
595
242
618
472
845
410
631
954
635
694
758
615
121
927
34
703
987
572
1
141
238
372
534
625
42
983
677
669
396
503
982
900
75
737
617
539
889
579
609
156
855
174
855
392
65
525
536
866
461
369
939
459
102
828
743
690
455
682
888
871
154
640
435
96
980
208
833
133
731
475
472
684
808
988
249
919
239
493
152
145
722
627
13
276
566
516
826
419
80
38
335
454
194
949
859
919
685
413
366
955
503
49
170
641
260
346
373
819
260
117
539
297
782
35
846
663
212
671
48
360
196
246
248
721
795
960
854
400
230
222
196
122
749
204
975
7
587
734
831
730
616
391
305
666
324
776
178
184
586
954
686
16
198
927
256
663
938
539
875
612
68
128
230
106
360
137
78
223
98
294
855
72
682
222
215
674
237
553
330
912
421
150
486
549
780
984
658
384
943
951
338
795
387
933
542
668
459
307
944
578
539
659
523
752
866
708
143
525
713
905
813
286
44
722
62
500
108
621
217
40
224
251
682
426
819
849
663
829
600
641
331
810
459
860
566
526
121
917
800
5
52
916
151
783
30
310
457
308
171
884
798
117
768
236
788
893
527
427
249
661
442
737
905
129
205
855
311
128
299
725
251
984
773
248
494
444
187
578
923
967
443
390
326
951
140
232
670
638
625
88
794
503
26
682
918
387
148
526
266
475
954
11
751
8
731
608
832
354
728
693
982
311
376
648
278
462
726
742
879
689
360
325
106
220
305
726
827
269
230
887
552
641
794
788
208
843
868
701
568
479
813
787
731
345
646
10
517
222
950
739
915
482
450
948
47
286
219
779
496
343
22
695
835
803
301
607
606
971
820
112
720
484
284
811
592
501
623
368
391
899
416
283
104
621
335
199
240
602
63
450
534
897
437
1
479
963
612
298
946
168
307
827
230
883
151
539
425
410
883
838
420
27
715
145
702
668
755
185
208
107
133
920
883
732
600
545
944
880
475
362
207
422
788
294
146
764
422
675
610
731
743
284
611
456
358
759
686
454
610
732
780
256
884
637
504
128
895
985
979
220
794
969
940
187
329
514
33
922
384
630
932
455
285
825
855
474
403
296
161
153
394
116
657
554
615
190
413
882
167
628
366
979
835
446
500
875
959
944
692
11
811
92
519
608
271
806
763
660
405
872
488
176
849
754
120
357
444
564
758
38
332
923
416
67
522
630
335
567
732
472
571
64
362
800
370
627
672
120
639
841
498
256
89
974
95
152
533
964
920
901
186
652
585
598
823
972
82
504
607
830
684
547
586
985
555
918
757
343
612
374
762
548
647
969
179
908
994
879
166
940
256
444
907
238
343
304
389
630
872
954
736
552
434
829
552
353
755
219
67
163
685
958
350
196
896
856
45
734
30
21
658
425
427
769
125
846
430
176
463
719
21
707
59
280
262
342
853
380
760
317
664
584
430
138
979
308
989
619
130
805
497
913
216
382
113
658
300
805
617
996
527
952
642
808
662
654
819
607
110
154
846
113
524
719
959
667
371
819
839
162
231
452
824
782
958
760
61
125
666
209
721
912
150
240
807
8
525
129
198
950
563
44
876
673
217
573
551
523
100
905
305
923
114
548
516
754
681
415
268
714
456
561
474
741
21
46
678
640
496
702
315
398
197
783
92
380
434
821
272
924
293
430
224
148
695
78
592
343
229
943
667
705
413
543
822
731
967
669
547
10
633
661
547
987
282
384
809
824
626
571
920
738
49
819
724
600
202
625
527
353
701
782
439
425
977
326
795
468
783
107
877
885
581
231
300
75
714
245
69
29
339
856
768
760
991
248
68
377
859
506
451
726
825
378
246
235
815
469
470
336
568
527
791
662
335
975
292
765
745
498
991
157
677
752
881
348
831
126
818
805
241
260
187
316
86
162
849
985
352
104
577
275
247
388
457
791
181
637
857
123
293
817
273
44
745
614
721
525
553
394
649
127
464
189
233
878
464
856
186
962
726
483
669
895
934
764
215
690
594
985
75
279
283
959
945
540
966
888
227
904
954
529
137
900
348
189
19
357
242
112
989
406
946
939
116
703
795
999
26
24
791
485
689
759
410
670
443
158
451
261
293
26
913
17
474
156
344
843
57
537
578
190
66
159
335
971
496
808
974
154
248
613
3
709
676
861
296
234
869
623
167
317
974
802
548
645
475
160
368
340
91
140
629
648
696
960
622
408
558
500
796
984
380
817
215
498
838
496
500
269
216
376
492
597
868
574
240
52
883
330
723
534
297
641
339
960
562
755
625
187
800
782
237
710
521
404
84
175
171
488
605
570
901
470
175
34
792
268
586
376
301
247
597
97
595
471
368
515
426
362
332
683
161
866
257
583
386
830
999
929
126
513
590
181
56
510
806
878
538
795
542
331
713
368
443
76
768
319
582
882
740
760
879
624
126
672
651
611
476
309
313
546
307
194
68
298
761
613
171
175
302
939
513
419
621
914
523
572
385
735
841
925
405
529
5
927
539
165
275
860
693
847
189
430
270
993
673
558
812
529
88
518
719
403
171
445
337
61
949
398
256
770
47
962
762
838
986
196
550
87
798
962
436
963
805
766
76
951
223
645
943
715
25
973
805
883
976
424
998
493
459
881
719
981
844
15
875
853
128
161
837
409
743
403
764
160
112
970
729
922
564
484
341
491
727
636
609
44
836
194
503
685
594
273
890
160
655
174
202
340
549
347
326
352
506
720
41
100
210
454
850
990
655
44
302
4
100
973
5
337
172
795
429
493
516
424
153
83
638
616
719
658
287
751
407
472
815
32
77
383
11
934
841
188
217
955
421
611
447
989
24
546
889
571
412
952
914
881
402
989
874
817
697
992
686
231
250
559
988
479
360
559
984
181
875
222
589
882
321
869
605
351
659
439
860
663
122
213
425
501
874
830
200
522
220
480
584
273
337
69
932
967
910
874
724
297
508
333
744
353
212
347
379
105
257
645
961
469
738
339
95
56
740
142
992
667
548
563
802
28
317
589
343
850
711
63
447
82
507
998
787
944
643
189
503
143
580
825
562
632
92
988
383
469
194
340
516
48
624
616
33
61
913
702
176
16
652
477
589
76
8
150
588
535
61
936
735
893
392
644
344
243
544
970
292
977
564
386
94
707
748
914
412
849
88
304
602
956
597
41
254
92
293
116
738
679
628
417
462
229
315
907
586
652
177
649
789
440
136
78
548
471
611
394
18
616
974
712
184
50
90
526
643
456
4
205
991
937
75
115
222
721
600
325
175
730
106
483
829
961
456
91
823
294
543
234
596
818
166
661
186
679
777
695
965
656
835
400
633
18
385
125
262
582
33
328
951
673
576
503
202
300
144
119
40
168
304
615
991
512
661
401
61
247
958
860
759
629
50
466
220
877
858
717
587
991
202
164
34
56
141
913
962
588
262
474
795
972
932
202
92
879
16
481
725
990
517
619
538
987
496
934
58
207
880
531
734
133
141
11
268
675
424
591
663
420
277
717
900
514
441
784
636
527
119
622
712
793
990
645
575
740
620
195
422
593
101
680
348
904
362
927
801
64
775
569
406
823
244
389
5
9
214
28
169
709
21
856
987
255
309
414
904
506
571
5
71
783
469
640
861
575
51
68
670
250
232
987
452
522
29
547
452
427
356
619
261
401
807
337
510
48
721
681
914
480
390
720
839
460
773
917
687
253
106
425
248
137
211
412
579
634
163
965
752
284
622
140
341
645
998
398
3
231
114
254
105
794
366
328
554
679
615
271
461
987
46
130
124
174
361
791
603
743
11
470
424
624
462
896
724
422
755
73
320
516
99
49
931
290
712
238
104
430
656
643
276
889
918
542
763
98
150
660
143
257
452
457
676
385
427
187
566
969
828
163
259
321
354
301
265
803
715
717
425
898
687
804
700
770
924
531
46
119
569
622
651
555
836
201
705
656
954
805
45
353
604
60
407
680
180
436
257
483
786
405
860
370
103
828
93
365
467
418
946
381
272
634
738
15
135
997
159
470
577
211
449
800
32
218
835
358
835
363
279
454
960
404
546
179
504
868
597
351
968
640
401
289
230
110
315
186
304
957
233
814
525
820
567
461
209
267
59
653
19
676
817
101
744
592
914
915
363
764
934
34
769
353
462
921
345
753
504
317
447
707
726
560
344
314
507
869
818
832
311
280
21
651
656
571
40
311
501
746
165
696
148
235
896
97
449
435
8
359
280
10
146
737
919
48
560
527
630
519
714
572
68
186
874
375
403
387
408
797
570
467
487
754
820
726
442
436
206
248
810
622
593
585
157
758
638
904
744
33
567
669
635
933
465
678
360
822
162
125
609
168
159
686
781
485
118
644
901
512
340
499
756
224
342
586
295
119
307
249
103
940
794
796
266
987
117
971
210
93
363
263
376
319
814
1
43
510
187
178
442
270
387
196
667
855
801
244
363
238
172
981
539
370
343
403
656
385
72
773
973
789
730
175
4
269
390
220
47
252
458
828
491
717
294
520
11
82
76
694
121
557
452
76
65
231
712
117
999
430
770
471
560
438
331
541
214
263
583
959
862
254
372
806
278
725
968
84
654
524
495
96
326
208
948
174
162
828
857
643
529
570
550
211
932
520
439
323
187
692
600
607
80
465
511
968
879
784
911
573
485
380
612
829
285
968
107
988
283
161
37
751
605
508
759
916
171
39
586
453
791
189
59
597
592
508
726
932
141
918
249
563
354
162
366
98
631
799
39
125
905
741
774
513
575
859
506
431
353
737
923
50
478
468
976
124
872
115
998
369
517
741
951
96
729
917
224
378
663
671
928
792
827
622
716
372
319
631
868
263
58
112
785
209
820
182
170
234
362
581
218
794
65
917
89
386
551
62
268
562
672
175
542
935
254
265
126
784
569
214
787
336
844
867
991
316
832
977
883
664
836
357
531
417
130
603
579
929
999
851
596
292
110
453
608
468
973
355
741
714
459
948
106
329
247
730
223
824
389
953
531
522
868
579
610
617
708
89
491
221
427
658
348
69
460
28
58
982
713
785
792
265
987
580
880
40
242
604
228
370
970
395
694
741
594
924
853
647
333
130
767
820
427
926
876
180
489
624
191
335
584
365
256
569
308
306
901
559
356
914
6
272
199
409
968
549
30
493
855
55
582
384
474
419
487
157
640
886
54
821
55
716
622
421
3
561
175
397
526
189
323
418
488
821
706
321
403
722
379
327
246
760
305
566
450
422
388
187
328
730
449
948
817
116
377
200
424
424
266
197
214
379
816
447
129
540
164
678
589
717
809
841
353
916
951
657
77
16
217
901
501
503
866
842
741
728
572
337
701
232
800
136
328
761
617
5
327
263
811
957
209
628
614
967
673
960
775
219
959
428
337
26
409
608
172
234
270
147
656
533
863
382
111
122
779
266
79
219
45
231
859
204
928
39
567
396
561
375
740
343
434
581
684
414
543
748
18
795
979
296
790
944
658
871
731
378
518
711
135
247
106
324
485
982
683
688
927
753
528
669
101
103
379
761
734
238
759
767
840
360
385
750
632
909
784
253
564
951
651
377
854
976
394
697
426
914
399
849
884
466
430
770
799
288
4
878
143
500
877
135
185
96
879
664
22
853
394
376
963
137
293
142
775
763
762
94
184
4
184
582
943
545
666
292
918
291
567
698
390
815
613
498
9
787
585
693
145
593
863
129
912
635
585
679
13
732
466
905
198
8
3
389
382
303
598
500
863
275
746
18
173
62
877
600
682
689
994
239
196
525
587
973
818
708
274
40
126
699
254
342
0
562
102
919
758
43
373
918
174
550
860
276
766
917
295
613
513
528
689
252
566
843
79
982
203
549
347
361
838
110
3
495
333
591
396
599
27
52
209
278
961
532
386
21
202
903
690
537
146
292
150
562
309
658
559
87
722
64
956
557
948
422
610
250
888
169
170
320
52
218
950
781
796
281
243
923
275
564
775
753
406
210
640
696
399
746
369
970
978
456
490
691
283
832
259
212
482
888
526
310
183
114
399
402
925
113
939
362
40
259
62
85
617
15
573
940
39
724
316
829
919
409
111
336
916
996
245
336
57
304
339
958
415
185
486
547
654
79
723
288
97
43
276
873
141
936
361
520
259
839
880
692
414
853
804
797
92
336
819
871
12
925
266
792
525
808
258
222
351
751
135
10
995
629
133
129
442
782
81
273
575
747
27
867
397
481
116
979
157
168
857
485
909
12
293
377
642
274
900
433
483
284
7
824
719
371
288
669
525
893
347
74
201
681
932
503
30
741
698
499
185
669
366
150
118
891
417
905
203
65
477
526
979
274
141
36
797
876
694
274
519
590
694
484
144
404
195
779
362
708
681
104
900
370
674
588
905
276
373
288
98
83
749
234
117
166
495
440
57
398
859
126
197
106
220
189
994
251
78
352
409
512
833
38
469
640
72
786
775
558
452
61
218
33
412
605
225
404
429
847
717
532
669
666
116
840
921
929
931
443
118
666
687
467
685
802
778
522
475
201
444
212
972
51
687
490
706
815
558
18
260
204
969
510
56
563
450
248
902
546
602
182
414
401
737
90
695
733
272
459
888
822
816
255
931
722
971
983
858
687
363
76
35
396
836
585
743
944
913
508
384
206
822
262
129
61
327
77
233
166
60
683
134
705
541
821
397
926
316
186
595
583
37
483
538
311
886
405
456
565
859
837
157
555
77
286
236
473
535
684
806
201
445
432
311
476
709
269
597
603
869
850
132
216
160
849
358
52
564
300
880
466
824
624
998
408
700
904
595
530
29
15
383
525
892
265
952
527
265
625
60
226
755
196
391
779
961
163
291
220
656
699
227
372
317
394
578
38
856
374
389
776
512
863
212
394
565
30
282
701
646
380
114
340
907
754
171
600
118
192
558
860
17
604
977
656
153
727
679
14
887
962
812
592
478
162
401
653
249
927
787
700
524
8
110
27
191
998
680
598
287
704
141
829
771
60
231
539
166
703
389
276
203
880
31
845
125
391
572
584
371
800
696
484
185
461
25
989
840
926
33
3
27
236
563
816
801
662
422
432
760
334
245
655
323
19
572
666
994
685
976
103
95
20
58
103
363
14
258
975
541
905
335
713
5
526
562
651
980
285
200
423
797
974
736
585
762
9
37
285
652
511
889
431
755
276
731
982
367
291
661
556
733
828
451
724
222
810
195
679
27
862
366
166
581
313
921
631
793
125
100
46
753
828
958
930
512
100
817
70
898
56
327
709
670
800
833
751
748
987
318
405
146
453
401
376
617
259
812
65
806
737
184
870
122
821
711
412
187
27
927
149
509
311
454
871
23
751
630
344
762
717
352
467
792
224
181
3
431
906
283
144
286
555
485
422
667
81
798
25
257
211
545
378
744
841
134
732
17
476
654
500
471
688
838
282
248
989
600
942
916
330
275
964
124
328
799
819
796
611
698
677
584
756
938
59
931
842
863
787
974
129
770
734
68
644
507
495
9
493
195
52
790
716
134
796
171
309
21
509
839
773
625
115
646
180
677
669
420
759
677
409
639
941
95
183
432
781
753
23
19
717
495
69
528
469
562
689
128
974
665
233
673
621
282
197
360
484
501
364
324
873
196
209
950
861
302
573
860
622
832
250
601
27
977
296
762
491
42
356
73
216
283
170
162
729
584
556
387
456
186
972
986
515
946
652
721
731
432
959
156
53
488
755
194
380
745
785
495
853
107
312
774
928
511
768
735
872
944
701
604
833
787
587
352
663
599
44
389
723
229
236
787
502
759
3
116
520
356
818
654
948
503
73
409
382
946
70
664
727
934
834
702
976
590
460
765
56
694
797
450
648
657
125
373
954
403
911
941
237
198
634
76
587
202
598
552
989
173
619
561
480
37
761
39
80
667
902
294
397
892
712
987
653
291
740
876
616
517
435
407
907
986
880
125
384
106
130
459
509
75
409
844
203
657
874
621
761
711
12
519
148
347
935
904
922
912
778
301
895
156
65
429
840
374
604
116
459
0
784
348
234
172
156
270
747
564
705
279
824
186
804
417
450
45
983
72
384
720
907
146
842
429
739
786
40
822
226
787
362
151
366
957
136
50
799
883
475
582
197
943
508
564
663
136
762
321
49
346
491
914
673
38
811
391
92
994
846
588
896
320
347
396
155
473
176
774
933
54
920
597
235
621
38
520
403
567
535
425
2
965
736
983
55
304
550
852
12
958
610
110
900
352
25
162
279
645
346
844
832
755
369
479
156
793
402
78
960
898
798
839
806
344
24
457
458
27
797
480
621
783
69
109
256
557
591
418
308
406
384
726
867
150
994
647
250
484
19
18
676
945
387
979
678
248
732
902
463
382
205
46
211
54
733
529
294
716
528
318
827
400
757
571
761
356
703
997
60
981
668
835
202
432
111
911
197
126
270
646
414
572
31
993
204
397
217
161
626
965
787
754
128
187
744
759
25
272
460
955
517
344
61
442
928
498
38
600
793
799
950
147
443
497
347
330
15
958
9
658
434
552
440
274
707
340
904
976
96
192
321
797
670
914
925
324
710
692
788
422
198
921
161
59
848
741
32
817
284
870
857
847
73
463
414
927
299
563
658
712
647
140
298
90
343
228
575
152
674
579
603
743
962
419
163
93
472
820
372
380
719
455
409
819
30
39
521
308
445
816
739
449
594
13
994
724
456
940
201
600
766
321
338
531
883
601
747
904
873
219
307
298
804
258
741
622
416
449
424
275
712
387
9
288
251
840
413
25
432
884
455
300
153
870
469
138
109
734
966
339
929
874
883
209
883
388
380
956
775
588
106
993
417
770
265
994
743
857
845
108
739
895
403
717
759
646
874
128
410
221
772
581
510
751
505
985
6
62
136
784
790
954
513
520
245
211
60
911
716
801
109
26
260
279
813
900
774
277
51
387
977
722
249
179
168
906
895
997
271
252
483
580
620
244
409
305
246
327
470
369
688
116
729
231
867
357
831
606
263
973
77
608
227
825
608
511
300
798
739
641
381
503
452
194
377
652
978
64
85
268
620
302
458
77
444
918
938
917
498
524
804
961
86
421
717
292
673
734
744
721
79
955
324
242
891
660
449
742
753
661
700
298
413
755
136
299
686
703
637
438
345
445
922
475
882
654
858
294
779
473
543
674
717
572
529
473
136
197
791
296
598
697
318
867
472
13
522
207
881
786
247
476
353
995
445
716
60
57
734
322
294
823
206
629
30
783
325
79
262
909
248
471
780
232
994
547
417
607
694
657
520
571
859
624
138
139
441
150
82
142
593
426
424
968
140
346
214
292
711
608
737
917
487
63
584
301
901
897
554
651
750
629
86
668
777
676
817
22
755
318
350
922
96
536
803
666
612
813
833
254
517
707
61
493
983
919
331
483
775
649
217
712
764
478
999
676
613
155
730
986
509
577
207
244
568
766
338
780
467
578
589
751
311
141
703
595
760
450
918
656
589
866
191
39
384
103
74
994
912
208
430
729
757
766
692
519
70
586
180
67
240
105
518
384
209
341
643
780
867
382
509
952
142
972
913
583
105
816
897
365
146
670
541
546
307
113
141
699
642
223
20
325
942
887
401
775
1
88
513
33
692
568
167
872
926
446
768
70
154
330
559
224
18
719
987
984
893
284
619
858
210
55
418
955
480
56
57
246
167
198
467
436
776
919
875
122
607
704
529
730
55
733
258
58
852
665
610
991
412
821
507
455
861
908
454
419
507
786
724
739
700
707
155
385
964
947
870
740
655
281
312
166
904
350
887
823
565
952
192
280
529
815
735
311
670
689
323
563
598
376
629
260
26
884
272
523
666
935
280
420
456
42
12
402
913
691
529
800
291
537
988
472
690
312
685
611
287
894
32
220
327
47
863
811
497
601
457
882
176
750
598
997
261
130
847
5
482
474
904
582
624
892
597
835
853
903
946
7
153
706
923
963
84
110
608
421
415
107
732
502
456
254
286
668
485
823
322
979
553
547
799
923
89
435
889
251
652
746
270
792
689
420
721
978
100
888
799
260
434
202
194
198
474
70
557
160
954
164
874
990
380
302
871
936
522
60
394
750
701
992
529
780
553
169
603
587
352
103
743
306
528
450
726
264
696
7
92
55
114
656
681
472
254
123
729
144
544
268
80
281
51
214
389
143
730
111
958
34
83
596
743
788
564
553
283
749
192
20
719
550
340
762
1
47
981
491
478
137
948
928
153
699
55
703
942
546
552
379
954
588
810
183
347
607
294
468
275
238
720
62
783
259
283
111
198
678
187
621
460
247
182
519
529
182
56
939
421
39
571
138
21
907
11
801
100
800
34
993
966
917
612
587
901
345
404
982
124
957
920
848
138
182
301
374
781
981
772
249
517
18
673
681
48
769
249
565
609
898
50
692
885
525
733
228
878
781
552
379
34
811
539
255
977
550
432
507
13
219
805
480
473
213
253
959
775
922
572
647
942
280
529
383
847
41
85
109
7
671
168
822
649
381
584
623
949
361
608
971
5
753
206
652
277
453
377
68
773
57
654
657
231
741
777
533
995
338
208
744
485
237
236
605
682
3
154
213
644
497
779
5
497
44
978
417
318
965
643
645
594
562
100
809
797
414
405
868
710
832
518
749
975
911
812
815
254
945
227
745
398
835
252
660
303
661
957
95
648
300
260
101
139
949
509
495
114
701
933
810
534
23
242
914
225
229
747
184
859
560
424
738
916
315
599
402
139
898
651
739
623
152
72
544
193
391
176
965
755
584
686
814
265
967
2
487
295
890
402
793
811
525
108
679
221
561
468
649
585
517
808
132
275
49
723
842
67
789
931
740
308
543
733
68
941
936
774
851
656
817
548
453
180
320
906
778
144
772
566
611
270
487
681
924
867
892
606
680
852
775
990
986
517
727
335
518
414
624
678
46
716
974
116
780
875
985
875
590
758
189
521
241
38
110
333
4
89
377
445
512
207
964
856
797
773
661
938
796
637
560
830
222
950
291
515
533
134
924
328
997
436
27
474
132
565
505
700
65
705
801
485
120
717
443
947
262
624
853
827
631
510
68
330
490
95
864
750
746
360
146
467
657
344
447
870
657
320
890
780
533
987
237
147
325
850
612
710
519
214
823
731
253
919
964
402
988
71
531
348
438
32
457
176
430
551
111
964
390
668
540
597
627
571
241
880
713
610
634
891
408
865
908
611
373
15
769
217
289
802
874
579
809
568
368
931
782
379
783
254
915
400
374
544
63
389
522
909
85
363
841
734
765
338
813
935
290
286
53
330
943
871
630
832
543
919
944
597
211
901
938
873
526
642
441
373
39
770
314
114
18
975
333
256
117
116
115
3
622
924
731
904
924
201
686
70
532
97
632
312
111
700
358
659
363
981
496
939
631
228
81
896
915
393
378
734
730
317
369
729
741
230
398
145
581
513
867
678
61
936
848
356
628
314
998
264
680
432
677
44
846
692
506
924
509
219
469
122
966
682
85
198
277
63
958
672
817
99
542
675
575
384
68
628
840
423
778
795
632
117
968
648
797
543
505
820
587
785
853
598
242
321
152
342
639
840
454
892
63
15
359
922
528
559
515
880
707
733
279
666
638
39
295
59
94
331
859
815
181
869
434
622
862
981
162
357
431
667
415
753
141
592
890
54
454
140
743
430
396
460
826
583
81
700
621
915
770
412
761
929
992
220
93
458
104
601
809
940
427
472
369
712
440
203
219
210
949
892
3
771
119
631
3
950
997
780
503
903
801
464
46
934
966
609
711
614
180
255
97
436
838
315
750
884
870
215
163
117
551
406
966
302
383
40
462
286
248
593
929
464
590
516
61
44
700
666
894
246
44
455
64
782
673
624
659
349
180
258
400
10
691
11
672
14
986
168
865
734
407
546
180
335
634
676
884
45
492
135
857
78
417
859
584
639
902
755
92
898
669
784
33
498
615
225
443
788
752
487
649
492
11
489
860
47
246
504
557
986
24
32
205
574
750
33
754
130
137
570
86
833
139
597
721
983
124
712
774
732
490
894
56
810
716
840
396
371
76
683
772
958
486
276
735
655
590
706
962
304
409
502
543
911
988
606
324
527
710
101
770
174
961
7
945
144
943
62
142
110
557
201
550
182
428
480
556
216
191
956
484
897
380
697
73
560
344
728
385
98
513
113
135
584
643
926
519
45
380
724
848
495
860
952
57
526
556
494
365
90
960
171
390
319
958
32
516
365
956
632
903
541
288
6
188
625
412
500
216
103
275
972
430
341
823
518
973
240
484
250
292
896
111
697
787
825
920
900
388
545
91
409
263
517
834
675
918
667
840
277
487
470
285
158
754
201
11
767
373
862
626
359
184
188
755
632
902
645
190
563
26
567
708
866
600
592
893
394
336
707
90
927
618
213
89
146
396
542
290
30
267
78
193
756
197
947
993
694
938
960
646
965
655
347
973
112
970
478
568
255
849
240
65
811
73
961
884
616
38
608
35
194
319
15
865
453
426
930
382
724
72
77
892
795
529
219
142
183
185
828
43
671
107
52
998
703
198
846
860
869
827
543
122
616
529
109
680
392
322
769
688
251
842
4
631
423
194
103
977
35
607
424
355
751
550
696
370
144
192
464
716
467
314
208
496
486
3
699
161
414
259
649
630
947
146
268
137
18
971
235
606
506
118
64
325
761
932
450
353
492
894
342
11
515
432
33
719
137
819
530
885
517
558
149
783
640
931
861
336
323
244
522
122
960
375
563
890
917
261
691
118
682
45
154
795
20
274
813
336
540
463
658
957
677
893
541
381
80
510
982
74
160
500
693
704
244
559
672
44
212
506
161
429
791
456
808
908
489
161
932
844
900
174
451
110
662
928
981
646
85
616
881
637
607
19
438
718
345
452
86
125
316
626
313
39
819
638
573
584
357
901
136
820
185
73
135
739
327
848
581
365
344
993
385
558
418
647
578
32
700
27
955
594
753
25
182
840
231
743
659
106
500
988
845
471
38
538
612
678
277
567
947
909
816
240
521
776
40
729
349
445
168
255
274
819
327
914
922
880
851
331
594
986
932
953
388
39
727
959
620
760
487
214
259
269
673
66
779
336
633
325
482
7
264
351
965
272
193
561
654
176
498
663
294
862
753
820
483
183
341
221
263
18
894
213
111
46
553
358
676
144
953
278
641
482
318
127
820
428
347
333
600
794
72
739
510
238
468
386
519
672
660
588
315
427
113
380
363
740
486
469
562
923
651
913
668
503
604
61
866
773
777
329
473
741
307
836
115
563
611
725
628
278
779
90
991
14
280
323
30
634
160
83
499
326
481
614
728
820
908
800
511
125
819
8
173
277
370
177
449
48
642
411
686
498
778
444
33
88
846
405
974
133
423
986
701
114
207
815
509
664
642
859
207
787
9
721
317
103
401
607
502
78
617
150
867
215
375
409
58
640
676
711
549
63
313
357
944
10
820
835
521
884
761
430
532
300
658
525
248
717
224
778
843
879
853
23
723
96
284
531
70
858
37
248
195
843
323
290
55
909
557
172
729
775
550
502
12
654
258
836
129
745
813
266
35
436
615
230
661
796
442
646
828
455
548
776
620
223
317
260
545
567
504
501
788
275
197
44
777
853
874
462
28
316
575
602
40
279
22
63
418
583
530
869
786
245
981
982
426
591
910
948
557
409
302
699
345
341
67
338
164
5
181
614
495
926
466
118
484
197
751
327
272
175
384
86
161
620
101
395
823
504
677
962
403
804
493
68
434
703
258
385
515
976
201
456
37
616
383
640
299
861
687
426
503
448
278
455
620
592
768
906
951
808
422
827
329
200
880
716
348
545
373
948
298
515
16
5
172
913
666
770
659
972
616
678
507
331
325
55
126
266
410
175
997
750
371
813
654
589
533
208
518
79
219
889
248
656
844
977
827
355
128
387
184
749
182
103
478
851
213
86
138
17
155
95
374
804
761
31
715
708
432
0
567
373
647
61
492
105
322
889
752
233
677
384
324
508
230
607
543
735
410
790
501
846
659
174
277
337
176
440
569
403
48
641
230
728
530
5
907
781
299
345
944
538
165
540
768
793
677
471
328
310
518
549
819
70
785
413
941
931
797
350
69
679
521
519
335
632
892
86
671
358
739
775
137
111
963
647
809
854
42
252
263
54
519
684
530
375
839
939
932
637
846
702
426
207
171
271
579
196
64
677
415
268
495
999
540
735
969
477
36
898
98
629
842
777
332
465
980
194
894
732
176
537
842
74
518
91
845
404
948
810
889
174
347
185
931
98
164
876
155
8
608
216
155
674
938
124
509
309
824
961
547
303
673
358
351
898
549
357
395
692
403
631
450
520
515
202
395
878
973
444
544
681
688
663
463
514
279
594
275
552
728
101
847
561
438
656
202
761
867
8
147
44
949
624
455
399
382
121
356
390
574
852
195
979
912
18
749
791
692
228
398
937
585
218
740
927
823
98
623
286
937
631
279
170
569
284
482
528
525
315
79
858
16
262
286
787
25
430
391
962
620
388
213
439
208
610
282
274
275
354
737
257
681
628
71
448
606
668
195
826
255
907
381
802
104
555
529
249
39
161
343
294
445
37
99
686
162
443
119
242
504
231
116
494
433
914
96
320
612
317
323
918
286
318
674
168
148
309
310
735
683
637
450
528
416
19
826
369
470
52
678
308
541
758
841
114
579
122
503
653
85
853
90
622
104
553
783
630
819
631
488
842
427
202
971
131
532
850
80
229
862
731
902
866
1
143
135
338
874
458
109
68
997
352
921
888
992
231
99
17
578
405
988
792
133
973
838
368
684
862
605
170
720
359
559
117
258
794
564
954
828
802
271
144
544
604
401
101
548
1
2
178
334
857
232
402
522
345
783
788
300
441
776
200
400
759
255
598
378
94
575
160
843
649
256
679
326
262
121
400
643
568
797
829
881
323
213
588
456
655
148
550
309
693
775
416
360
778
213
35
941
532
403
94
759
243
489
21
524
433
724
83
189
993
773
762
345
134
940
757
704
929
317
335
155
151
184
601
500
124
243
968
605
995
947
515
35
252
399
610
811
143
814
840
195
357
753
666
880
169
464
248
906
319
961
592
348
14
906
318
652
448
836
215
578
550
867
34
562
942
237
189
36
345
589
397
15
572
348
673
313
277
567
289
427
840
2
489
651
364
652
412
825
460
550
940
633
751
845
364
243
954
83
207
458
940
193
364
919
320
574
627
284
665
397
5
601
382
555
46
940
373
972
297
276
849
728
183
518
726
35
292
744
395
337
607
394
544
963
368
944
728
314
857
580
167
411
557
524
400
438
114
165
381
486
976
498
563
209
529
505
713
987
21
882
311
230
511
591
236
953
20
516
56
483
522
663
809
381
404
246
92
891
328
842
228
950
886
161
949
879
909
248
285
358
688
979
462
824
242
708
693
220
726
631
89
180
704
236
191
900
431
811
823
908
667
637
374
10
535
73
465
234
854
640
219
553
247
383
396
104
480
316
180
252
979
403
622
765
271
770
669
395
604
247
267
118
207
115
328
71
524
827
230
984
753
607
117
168
250
231
98
973
912
936
723
94
408
388
633
207
793
88
577
787
273
300
795
870
134
146
834
788
853
705
866
103
230
899
384
725
53
999
505
564
883
618
119
113
670
553
306
221
980
61
325
863
520
793
335
535
686
338
905
161
372
521
119
10
599
816
886
700
751
988
299
890
773
382
103
48
974
155
964
427
624
323
574
191
318
824
575
41
400
748
940
862
132
186
984
729
118
590
843
486
880
719
148
466
260
457
79
32
136
630
300
894
425
967
877
771
161
459
177
166
680
966
112
416
607
855
456
541
653
388
975
500
599
732
263
535
350
634
954
675
820
206
469
108
927
318
170
733
370
379
432
207
570
809
230
353
824
606
222
567
409
243
374
830
415
786
267
662
55
113
678
828
412
785
111
380
586
14
393
72
962
521
360
11
887
870
993
547
728
264
629
328
693
137
916
162
450
585
787
475
362
538
80
932
134
523
963
334
670
593
660
787
599
667
849
682
711
364
678
577
757
21
999
883
854
468
623
827
467
824
837
177
154
572
198
599
740
368
716
324
493
518
365
463
753
798
729
486
283
831
243
550
761
84
846
856
500
728
967
8
621
415
492
485
660
939
514
577
532
639
963
963
44
476
300
642
590
948
139
520
161
916
960
170
444
841
982
770
708
503
422
642
771
926
522
619
505
16
444
413
555
610
401
285
682
972
557
826
378
191
2
979
829
202
680
718
642
873
293
101
262
795
514
289
667
77
33
715
787
591
68
608
227
328
833
114
330
845
495
16
47
353
63
666
327
714
33
418
459
479
698
812
449
359
83
352
927
509
958
533
387
374
49
463
672
297
481
147
117
710
855
278
744
231
108
658
927
599
91
452
845
792
29
477
192
730
367
923
832
248
567
887
566
326
295
876
862
936
453
695
323
439
651
452
330
76
819
87
49
963
73
220
883
580
676
463
706
32
558
607
452
905
789
927
548
842
498
958
673
914
519
64
14
933
383
993
218
718
274
850
780
52
484
693
856
543
807
637
192
971
621
417
693
583
302
703
263
394
605
101
826
449
990
422
62
245
199
10
834
554
984
873
337
355
74
414
846
289
158
431
588
612
633
851
184
682
555
705
164
58
223
835
198
199
429
408
68
817
75
358
321
159
295
829
335
635
77
128
304
640
159
691
584
111
218
302
690
951
179
880
806
404
446
137
811
72
872
191
115
898
85
216
591
715
923
463
194
169
331
709
401
563
730
21
827
233
173
591
27
848
46
832
300
846
806
776
633
15
606
34
587
260
492
337
136
957
851
878
759
932
73
542
766
762
162
955
767
257
207
706
721
251
284
938
93
887
4
931
174
318
530
358
697
498
480
195
638
472
652
703
543
980
262
640
747
120
3
561
169
830
278
451
92
333
481
9
638
244
591
892
560
372
899
317
555
940
727
216
336
483
637
875
640
732
161
781
947
581
742
535
443
576
149
264
174
175
445
477
873
956
222
860
686
141
414
926
327
290
238
167
952
553
875
717
921
167
261
511
772
816
187
156
952
870
688
479
417
753
1
163
557
898
127
90
902
44
250
451
607
498
763
114
429
624
186
267
894
580
233
648
82
652
296
312
483
466
281
938
374
591
896
458
969
711
525
993
181
416
213
324
680
163
808
447
836
576
906
246
432
723
471
230
994
904
11
218
980
641
429
117
961
958
327
93
894
681
272
648
328
785
582
209
367
959
257
197
791
426
667
921
466
703
588
293
920
9
284
872
801
543
944
482
287
637
341
343
449
120
200
97
281
818
488
504
245
983
935
393
64
672
119
429
17
946
541
433
513
194
11
416
817
47
5
436
133
405
294
654
683
759
206
877
72
60
335
222
871
845
537
310
43
916
303
905
907
75
419
805
551
281
136
212
280
404
974
979
257
426
835
681
629
531
923
925
370
572
803
657
757
461
596
847
528
295
770
302
576
303
158
189
679
750
985
929
700
738
761
331
371
885
45
72
491
939
551
114
984
195
906
713
452
891
313
56
542
516
109
467
88
232
311
186
591
986
689
871
554
846
710
192
79
198
830
519
517
783
601
169
919
660
427
102
417
686
306
916
145
787
78
576
748
497
542
341
750
524
187
866
906
405
978
874
136
516
767
132
642
538
409
977
580
777
101
376
538
14
25
61
545
780
635
884
460
646
462
937
342
251
767
903
841
388
362
583
170
766
571
215
141
813
754
360
156
550
568
474
429
717
708
38
318
940
976
741
434
798
376
461
868
300
307
252
244
613
468
587
864
897
960
593
765
879
666
689
293
328
141
461
974
759
33
233
760
778
589
435
658
622
779
531
999
497
892
721
436
309
953
738
243
378
989
983
795
459
200
452
830
803
771
399
553
65
500
449
641
287
351
171
293
180
676
747
778
304
748
507
57
628
195
262
366
74
234
360
121
337
850
888
947
814
796
315
804
601
541
877
718
391
158
513
840
588
895
293
640
339
585
270
56
203
700
0
176
483
119
435
439
101
552
356
318
825
317
618
259
839
921
742
45
332
875
202
641
213
755
920
801
263
255
243
749
756
220
859
670
702
785
439
735
57
602
675
46
174
125
797
856
642
872
913
537
636
286
368
45
509
659
162
743
517
63
712
222
980
63
53
786
290
201
233
997
318
400
154
793
543
312
203
770
204
515
236
793
294
7
82
222
22
691
211
424
170
159
947
101
918
884
692
67
659
937
674
496
267
679
259
861
891
55
249
596
321
62
808
494
82
490
747
57
708
705
282
881
56
909
414
665
516
415
469
396
580
545
921
766
428
156
669
412
109
906
752
719
745
575
396
120
767
304
29
287
791
587
850
304
381
538
111
542
284
177
127
910
276
94
407
904
866
234
841
627
812
644
138
720
954
941
637
265
312
759
440
817
652
581
802
381
339
90
124
104
296
376
315
560
157
771
225
993
326
32
453
697
314
953
923
695
112
271
541
967
871
744
20
109
869
439
668
721
157
893
531
472
797
733
378
157
500
909
552
882
178
187
832
996
32
631
445
932
534
567
497
813
491
508
458
496
562
871
607
912
738
798
746
991
137
63
567
20
188
930
255
511
850
578
609
873
516
737
924
800
558
257
264
958
844
457
688
287
253
661
498
351
766
30
278
401
363
488
97
823
973
392
108
483
425
550
526
793
769
553
129
222
210
47
646
925
618
54
891
853
443
783
839
626
984
849
411
565
14
995
120
337
639
393
935
898
53
451
257
359
956
72
848
807
974
211
973
670
404
541
659
572
194
448
52
335
807
99
649
98
260
415
435
710
927
64
189
40
441
529
785
947
709
247
910
360
976
201
494
550
77
801
115
191
265
901
415
587
790
646
693
929
215
580
231
82
792
497
105
166
65
669
504
939
741
47
205
779
414
550
766
541
518
925
679
921
323
224
787
718
818
914
420
362
335
921
310
427
909
282
461
295
152
55
605
34
242
247
550
605
620
521
939
648
930
30
488
412
130
143
349
869
8
941
2
833
641
860
975
414
97
254
61
874
742
10
757
616
266
397
465
635
47
865
678
472
66
611
112
715
835
329
713
772
554
63
119
880
790
142
738
127
233
576
436
628
139
553
317
95
576
84
425
62
722
793
702
590
811
276
734
339
770
986
235
873
991
934
714
337
995
454
559
611
975
455
493
158
494
167
263
435
581
640
184
412
348
287
888
295
594
629
890
358
492
517
116
72
141
776
508
213
347
782
847
678
560
235
190
252
742
500
106
890
948
527
397
164
399
366
339
883
522
862
900
826
212
826
68
240
992
683
163
643
180
632
889
525
602
590
904
837
58
695
734
427
162
667
876
46
611
165
805
422
469
544
123
586
39
177
739
920
762
103
575
99
696
444
198
498
33
861
887
543
37
827
505
797
31
689
907
480
809
190
166
48
13
894
586
186
315
815
51
133
514
922
639
690
745
703
936
219
344
780
567
894
278
6
819
287
942
370
192
478
778
821
885
896
724
69
280
396
366
934
36
874
972
849
309
804
963
547
960
224
629
706
914
175
729
313
683
642
764
94
279
698
996
704
482
229
645
321
176
562
843
39
470
289
502
631
618
647
848
334
699
603
33
441
31
146
151
103
300
801
994
233
954
58
817
213
764
905
773
828
656
932
462
602
928
933
306
134
428
923
773
508
221
306
628
256
411
472
847
575
88
976
265
945
974
316
727
668
869
895
518
202
914
543
202
517
603
510
624
94
684
17
646
751
327
578
454
603
104
617
113
449
200
78
27
228
526
422
278
532
901
972
595
668
923
724
855
131
622
742
725
703
414
723
470
344
368
428
928
256
48
888
856
792
534
292
333
995
821
508
522
301
751
308
687
143
836
822
912
851
50
639
320
999
399
817
603
637
73
403
174
659
617
220
785
943
45
305
648
867
791
955
948
806
520
969
188
981
375
458
137
161
537
541
617
496
304
842
829
640
151
994
325
288
468
577
643
143
521
440
536
509
883
130
919
631
606
703
665
324
348
10
788
874
672
854
459
982
290
472
182
210
96
412
325
186
300
329
2
80
341
524
538
960
718
487
627
925
81
449
652
653
280
858
342
551
159
982
18
589
989
910
626
224
447
472
701
345
996
299
455
357
993
170
287
786
172
146
155
51
703
268
377
399
963
895
560
988
614
37
228
215
310
948
467
668
238
747
283
356
254
357
304
539
351
653
659
334
968
38
112
524
636
925
762
885
243
625
687
680
927
560
25
283
262
224
80
549
886
640
23
608
123
251
531
548
94
508
818
747
295
110
216
445
769
989
921
481
920
137
826
585
655
600
560
489
506
323
933
95
450
284
684
944
97
541
816
415
341
575
603
860
398
687
991
527
108
589
947
290
345
825
105
77
511
549
244
88
839
893
109
103
934
476
236
436
566
476
830
855
728
108
39
136
289
828
430
104
729
158
635
892
435
652
454
372
853
633
438
193
844
195
666
564
201
804
734
236
347
832
656
321
438
838
492
647
344
810
906
846
680
949
816
935
236
727
935
307
827
437
714
757
598
899
918
811
655
973
585
568
966
695
802
484
58
738
182
106
313
408
58
108
182
665
965
256
841
900
475
426
635
913
245
706
751
900
413
472
902
532
979
638
709
299
476
667
930
217
114
186
62
209
111
207
282
561
437
512
836
913
982
273
179
191
131
8
934
227
616
419
14
188
707
537
285
962
799
39
128
870
562
610
348
900
227
949
157
338
219
810
580
805
555
265
231
428
250
331
762
630
580
310
578
688
252
687
11
123
508
233
349
692
35
105
29
617
64
393
558
887
386
247
660
842
780
854
700
309
642
576
710
646
57
516
884
799
389
190
465
892
644
871
83
333
771
819
681
958
925
358
789
241
484
513
744
556
9
984
389
227
178
686
814
436
792
385
498
427
690
670
433
14
144
117
965
660
677
984
657
924
218
239
856
213
223
768
58
66
625
451
2
837
653
658
375
201
790
879
242
797
131
52
631
37
925
377
369
28
467
250
722
526
77
485
347
177
82
333
810
402
598
438
788
467
332
748
417
175
65
649
541
427
647
165
317
353
451
301
390
322
800
684
988
240
616
977
810
301
430
833
92
619
310
808
472
774
34
5
237
673
792
979
880
184
331
276
213
235
402
539
472
805
309
486
769
465
897
688
925
593
233
577
627
458
568
226
411
991
410
798
573
451
963
240
336
793
451
4
900
662
67
990
864
873
931
430
74
63
426
58
414
450
242
571
74
570
803
545
358
107
151
130
96
685
829
927
221
664
961
350
418
933
245
539
641
499
471
64
424
453
298
900
261
489
814
901
785
267
469
132
697
266
976
232
993
266
158
765
556
944
634
977
622
418
845
174
940
646
333
941
640
254
991
186
91
604
333
667
4
850
79
206
52
639
935
927
444
407
833
85
167
335
705
291
147
850
804
503
260
889
466
120
244
341
480
805
929
905
378
633
572
522
706
135
652
858
768
403
863
196
907
997
955
281
657
273
478
346
995
421
587
983
438
423
35
381
722
535
956
652
347
510
786
647
987
264
636
973
834
763
474
865
248
691
92
750
31
25
387
303
16
872
801
486
962
656
519
494
394
366
596
845
363
799
103
352
501
790
462
83
567
461
150
485
432
394
613
342
727
544
738
344
601
885
86
6
569
901
908
872
361
392
67
794
799
261
62
382
861
735
144
147
973
901
416
861
372
708
273
891
619
847
856
795
56
664
664
515
459
720
154
707
906
258
317
378
865
750
445
988
211
389
242
781
842
666
490
633
491
340
383
302
753
791
793
62
722
750
331
585
922
759
795
417
951
534
392
801
855
827
291
929
876
547
812
823
437
533
934
747
807
641
236
258
728
403
850
660
17
610
11
429
855
522
743
932
393
679
721
622
384
696
697
320
320
764
818
54
656
878
908
767
373
835
702
527
732
847
325
186
250
229
130
186
766
928
634
700
202
615
982
146
999
104
866
109
246
230
528
531
394
763
505
820
435
416
481
455
640
934
760
156
528
981
695
863
281
128
187
66
246
725
440
627
877
584
260
19
283
28
44
983
695
67
100
838
815
546
17
71
371
324
154
555
940
127
484
631
623
667
251
841
156
203
789
238
837
138
315
147
153
665
721
728
20
630
435
337
97
238
244
752
288
741
498
326
829
702
994
113
156
22
643
541
784
683
236
493
627
719
390
182
811
606
726
228
6
13
226
596
656
691
11
908
77
80
74
879
3
377
394
745
365
921
963
725
803
966
615
995
8
925
868
701
410
928
969
433
201
946
989
670
148
639
94
975
145
324
548
896
488
128
459
314
213
133
317
602
475
663
249
228
509
727
189
736
982
301
988
47
401
557
165
761
684
635
904
802
620
253
526
563
87
868
679
950
89
410
71
294
977
584
32
58
819
59
230
945
32
882
861
775
511
912
211
613
388
95
532
424
54
55
601
313
670
8
655
865
345
724
207
343
816
480
112
301
25
360
66
249
567
585
175
992
84
757
90
794
162
355
346
204
849
589
250
398
152
359
383
953
81
861
412
259
782
753
948
938
962
428
148
670
267
325
220
567
402
391
917
321
106
87
520
956
670
430
381
489
151
667
782
228
522
824
301
801
808
627
39
354
953
355
268
785
452
518
898
186
125
171
631
248
769
319
282
508
136
143
106
786
955
154
82
221
262
224
495
535
893
698
705
314
113
441
608
319
649
42
344
166
237
922
723
165
869
121
810
40
349
173
904
698
40
794
525
409
451
639
764
14
197
495
212
753
768
941
299
767
912
430
573
195
40
34
420
119
462
226
799
604
624
944
572
458
696
944
53
589
940
124
880
452
179
447
621
678
98
221
926
800
705
728
906
613
90
451
660
463
285
415
504
176
539
498
340
625
905
350
495
820
401
446
441
255
898
378
892
842
959
328
64
752
750
330
374
535
367
556
263
399
728
501
539
769
998
796
589
877
186
320
376
150
39
671
759
802
565
548
740
12
152
26
319
443
536
426
833
442
415
768
556
531
549
446
221
376
343
132
812
500
976
733
927
636
199
340
312
903
297
256
986
200
337
185
625
257
558
888
255
519
757
480
94
918
263
173
340
878
2
75
722
104
982
217
993
290
744
749
373
921
116
632
816
495
17
12
435
662
449
140
112
763
734
504
809
134
195
811
472
571
41
655
36
952
242
909
40
700
199
914
602
679
424
579
644
890
76
760
829
840
187
696
186
873
429
21
76
621
557
669
696
582
502
526
85
371
444
640
448
752
539
883
491
202
311
203
610
899
436
683
376
905
577
298
427
627
225
395
252
717
244
342
732
907
720
420
879
417
966
297
778
709
502
885
886
548
531
675
639
81
63
540
146
472
747
908
229
344
103
562
147
166
444
499
968
962
249
877
0
342
923
854
896
110
449
506
681
911
340
12
419
245
661
606
119
255
51
676
72
602
720
21
968
716
754
557
360
372
672
976
732
691
999
58
167
660
365
889
506
64
346
884
739
97
515
822
452
270
30
265
625
985
736
781
122
55
62
863
903
917
470
426
708
499
544
776
773
940
589
578
495
917
466
551
669
799
842
260
256
791
148
109
68
93
724
367
585
229
389
570
271
824
638
35
328
84
693
350
963
387
354
230
456
993
42
148
362
391
782
589
444
817
41
157
995
841
12
960
791
153
282
382
204
680
312
902
949
323
235
217
340
866
487
695
97
625
612
0
418
274
723
420
590
509
405
646
524
923
218
191
834
825
773
964
625
962
715
54
5
558
463
970
816
47
262
45
41
967
63
38
579
136
287
82
300
496
350
768
757
761
522
194
59
846
834
691
899
317
305
649
346
230
777
452
872
684
169
501
558
619
475
385
607
891
283
36
527
926
272
849
886
737
841
325
949
971
306
185
737
250
821
516
807
774
376
40
370
620
536
955
501
354
347
615
143
424
775
220
667
227
703
362
599
263
554
917
300
53
981
859
860
775
516
866
614
514
326
22
663
206
696
306
250
907
989
573
413
325
597
178
781
316
329
21
281
578
503
404
466
216
550
286
671
311
553
190
745
51
196
623
983
967
513
292
300
95
258
458
194
537
384
764
15
20
765
412
523
524
762
182
270
438
244
142
343
632
856
321
251
89
522
499
6
186
407
293
914
270
789
505
241
824
353
674
440
29
487
534
701
618
289
123
899
310
202
861
394
357
272
65
758
114
972
283
769
1
908
589
79
476
852
6
787
286
638
660
124
669
116
730
786
726
669
552
162
552
168
336
808
50
507
164
837
390
183
532
280
321
15
458
898
730
624
113
112
612
284
129
597
858
377
644
724
669
884
866
743
149
733
291
218
970
383
787
313
139
867
723
995
397
157
788
608
247
684
800
78
951
735
363
612
44
556
174
5
566
399
466
83
747
321
138
794
761
149
341
341
525
388
618
836
436
694
164
561
790
125
396
253
192
408
942
171
928
573
463
546
966
277
712
949
13
610
186
19
932
211
557
988
814
778
440
281
164
528
661
409
541
556
36
797
205
667
0
620
583
445
774
104
609
842
120
602
422
270
696
51
108
968
518
464
986
542
29
908
578
383
420
704
943
84
763
797
962
536
549
346
413
765
537
274
614
526
491
150
226
659
348
823
435
784
567
708
771
718
224
330
342
633
510
414
28
916
502
991
303
446
255
791
630
340
682
721
294
262
332
923
797
487
961
909
952
392
211
557
334
499
541
106
32
859
985
81
430
873
104
781
190
149
731
917
406
688
49
363
813
778
484
586
503
316
638
477
468
707
229
844
814
555
375
504
234
136
795
83
787
746
944
325
554
29
550
114
223
392
662
181
168
16
351
378
917
379
331
64
999
13
796
119
903
491
570
911
751
829
607
643
417
219
456
703
621
430
949
881
864
417
124
190
945
609
926
898
943
527
847
467
630
375
336
35
6
833
521
174
907
888
685
215
460
293
812
425
350
412
137
271
649
550
668
427
24
771
723
663
823
659
201
143
982
912
219
832
453
221
13
222
189
877
512
318
152
262
826
753
613
907
845
173
113
422
931
982
281
988
756
338
93
289
512
59
517
870
343
579
238
394
645
27
949
927
85
342
739
615
659
776
139
658
572
73
729
791
305
653
665
621
728
611
270
661
253
783
297
439
514
287
155
364
705
866
706
117
474
214
938
528
312
980
371
300
993
851
410
153
935
342
263
128
287
725
407
485
703
652
636
862
459
612
605
353
473
944
502
281
851
894
297
908
869
200
807
654
625
346
328
807
234
943
385
588
234
957
210
218
829
242
491
598
332
844
911
610
929
353
988
26
87
689
924
539
195
760
879
583
400
67
30
277
145
183
896
705
67
382
716
816
201
672
968
176
143
262
550
331
247
728
887
941
697
940
294
720
745
197
750
328
888
940
764
687
187
863
359
654
408
560
721
429
381
779
984
263
602
942
327
811
388
448
659
853
758
109
801
43
188
200
550
610
818
68
262
297
629
145
573
501
600
72
670
427
607
943
915
571
960
960
298
916
76
172
448
18
487
174
922
863
9
468
748
355
254
781
752
846
840
184
231
463
531
483
111
647
884
783
925
506
492
626
871
617
124
464
474
265
518
785
831
826
526
915
185
533
802
987
502
813
909
423
98
628
673
684
254
902
39
530
134
430
162
383
253
669
595
310
808
944
993
9
386
441
31
429
114
168
423
387
226
786
784
440
968
189
131
115
895
239
667
264
140
344
544
35
656
539
761
441
584
843
961
229
171
617
766
591
694
646
256
595
643
332
221
596
990
232
644
385
538
988
965
815
730
475
732
913
975
235
698
381
163
731
852
70
222
269
499
912
424
457
993
416
196
55
249
267
140
585
3
332
564
75
748
132
508
167
343
167
161
722
468
308
922
299
259
434
854
971
273
857
867
972
740
587
379
457
128
8
124
223
968
481
936
35
118
511
321
21
39
193
441
314
281
549
250
506
896
304
888
857
958
788
631
664
49
190
926
837
135
593
629
574
776
414
944
79
696
226
913
959
330
294
563
988
964
388
96
766
953
316
755
598
228
384
889
920
288
645
100
23
926
770
261
734
94
66
788
406
303
474
975
777
273
190
476
997
441
227
509
850
437
230
776
906
851
755
919
672
576
54
504
288
852
511
139
261
262
221
861
474
686
116
266
218
784
681
241
251
928
32
837
935
985
729
58
895
573
231
565
656
86
54
12
258
239
751
808
933
936
371
54
859
227
152
361
919
554
705
648
435
178
684
11
749
8
645
331
394
570
421
8
285
940
946
972
842
422
98
516
874
471
455
789
1
91
404
721
417
340
603
563
754
459
992
259
819
433
86
479
433
980
276
670
511
687
897
444
107
833
787
412
78
54
111
160
435
530
33
883
834
155
512
421
888
811
320
794
775
925
417
364
555
596
720
819
125
948
907
423
943
238
909
43
974
285
720
675
44
739
80
796
971
886
918
928
941
628
640
166
856
339
335
648
301
733
78
267
503
793
144
484
427
101
158
494
356
769
493
662
214
929
274
339
559
870
87
283
935
59
315
658
455
680
332
442
536
179
350
426
365
703
469
250
401
841
447
921
497
114
151
524
407
839
403
395
237
530
522
411
84
516
617
358
127
14
193
113
181
219
865
339
647
940
778
496
616
51
584
342
476
411
534
982
506
239
673
225
430
18
211
114
589
50
109
54
103
556
699
331
739
828
540
570
694
474
479
390
527
527
243
889
378
844
573
692
8
428
397
359
500
409
390
375
299
526
873
952
362
875
144
945
261
709
429
694
153
587
415
918
983
10
878
116
831
199
630
533
910
40
800
412
698
562
452
736
944
952
808
436
390
964
716
477
116
289
11
97
801
80
852
625
169
907
869
380
459
548
697
399
524
606
172
938
53
437
951
718
851
116
937
440
62
751
865
441
445
443
414
924
891
362
524
240
356
16
635
779
413
892
808
933
783
390
251
159
495
622
214
885
955
920
396
535
594
324
143
707
101
396
396
428
758
189
122
140
345
491
829
895
971
3
938
52
277
788
966
595
215
841
87
472
858
234
122
474
436
318
867
80
425
609
796
79
898
586
114
284
140
983
821
311
196
303
603
422
16
181
724
166
65
442
848
565
292
399
820
801
108
348
191
735
265
124
401
819
429
569
277
661
938
871
567
655
666
115
417
833
102
623
6
658
279
950
915
978
492
274
957
340
430
487
405
16
474
486
2
14
263
844
698
92
274
696
797
813
657
964
129
782
254
450
262
461
749
476
975
924
350
522
11
816
183
967
300
44
519
610
925
265
721
672
46
202
283
925
931
904
628
932
788
470
490
937
356
963
557
26
270
816
296
619
419
619
767
683
79
154
389
472
616
820
503
931
491
871
437
675
179
11
269
822
31
361
584
572
273
113
559
246
677
27
535
192
614
19
67
256
85
248
595
973
723
484
604
323
473
27
122
286
744
617
391
715
236
588
668
661
145
624
967
51
88
558
211
755
495
398
341
243
574
366
958
142
842
936
934
561
401
676
17
137
901
62
599
267
886
700
829
929
35
461
618
700
797
137
756
635
721
799
960
892
954
728
431
42
849
374
605
845
710
717
207
227
357
65
379
131
690
218
180
768
476
125
999
340
356
582
395
977
953
816
370
884
151
642
820
2
2
210
279
404
85
476
686
247
693
818
807
262
725
729
444
301
453
301
907
411
748
732
971
890
931
201
211
904
561
124
418
801
771
983
207
497
992
852
584
548
575
28
847
119
718
489
146
314
339
334
244
632
716
957
607
910
826
937
129
485
68
405
239
129
27
253
785
777
176
150
6
57
672
987
923
396
410
49
695
363
73
759
52
55
468
947
162
582
729
154
138
857
951
53
310
219
677
139
411
650
251
443
400
42
546
344
545
662
497
608
139
442
145
154
621
676
203
443
764
86
488
76
199
124
830
166
835
595
629
317
692
784
710
712
965
108
115
88
36
905
683
741
864
91
441
655
864
847
43
968
591
153
168
314
9
270
875
301
522
880
725
329
347
381
190
789
970
147
840
840
489
301
730
965
191
485
506
235
934
924
165
935
854
934
858
74
142
64
981
717
848
240
975
401
411
853
701
792
351
891
550
24
61
154
317
11
143
141
437
626
237
473
408
443
530
765
610
835
428
484
24
360
346
846
370
95
250
945
847
110
789
917
468
493
967
282
874
400
830
787
506
618
631
125
579
297
484
30
213
626
93
960
801
854
683
553
900
137
963
530
933
589
689
290
154
775
878
953
805
322
627
396
220
348
754
658
106
670
295
601
438
815
197
581
142
431
219
470
565
328
290
869
636
602
51
450
277
973
194
272
594
720
780
848
51
184
883
48
583
550
75
373
19
371
649
498
429
962
9
939
32
978
787
359
895
142
923
323
742
281
13
20
354
53
982
657
269
303
545
556
256
547
740
149
363
800
455
429
847
290
467
472
360
687
673
536
165
0
860
939
713
745
620
632
147
535
618
346
292
307
650
849
766
615
565
998
337
170
251
399
35
523
29
253
825
133
222
297
825
712
455
76
818
299
328
227
692
205
130
422
525
331
424
374
905
207
350
396
953
270
232
941
721
863
686
617
399
184
155
334
641
96
616
591
871
314
823
853
84
68
609
711
181
416
327
198
654
246
219
900
452
936
27
842
928
814
225
690
277
965
450
38
86
779
450
741
357
920
673
544
142
149
295
686
32
350
877
615
118
340
668
904
284
103
499
621
691
207
375
991
372
810
254
445
455
99
304
39
484
626
694
143
953
92
229
116
649
805
28
362
990
460
377
981
396
915
830
771
486
841
833
879
759
482
872
406
533
457
490
608
615
99
170
459
181
661
637
894
631
969
954
133
346
542
971
942
476
417
972
409
879
562
389
660
882
828
741
559
732
929
976
439
802
397
900
353
387
389
48
228
904
370
14
330
615
430
484
333
206
17
389
960
80
51
623
79
112
428
888
874
297
915
224
148
666
351
815
687
267
588
653
87
0
643
423
132
493
379
563
168
506
194
500
777
732
754
771
498
312
4
742
309
110
753
5
586
91
93
203
502
174
1
25
392
52
172
873
501
683
902
149
270
109
574
527
744
898
846
652
964
514
132
592
28
547
869
68
920
115
201
43
219
371
15
963
577
753
45
12
591
252
684
380
831
169
219
425
282
695
985
231
93
662
364
355
852
564
70
393
476
772
173
494
204
7
307
797
641
561
36
48
787
367
280
562
460
390
449
635
300
472
524
684
88
477
689
69
361
781
608
768
278
127
541
551
268
850
511
160
890
8
435
443
978
641
529
807
84
529
347
391
678
931
521
806
297
574
791
571
381
332
445
473
996
693
62
447
936
451
8
981
712
823
740
50
487
553
18
875
204
868
369
964
560
158
382
47
309
460
741
127
855
830
874
544
680
18
550
665
809
902
247
669
965
293
935
665
73
613
702
251
16
695
747
96
44
416
374
601
968
496
239
500
401
28
681
205
185
209
932
950
9
969
393
840
972
842
410
673
814
641
115
359
111
275
992
213
285
78
971
70
105
872
520
150
735
525
304
942
432
63
761
325
623
489
850
628
576
795
968
935
231
803
388
652
928
617
501
175
170
943
11
378
940
616
457
18
945
91
91
501
822
616
611
357
465
236
270
472
64
952
299
957
409
814
381
906
552
61
50
115
33
19
128
921
437
965
447
896
976
765
546
221
420
311
506
645
652
94
654
292
777
532
16
860
760
7
510
368
979
128
704
475
357
733
107
219
319
465
335
721
53
492
125
548
372
957
778
685
14
924
648
595
540
112
495
438
168
307
169
300
751
464
956
160
376
268
492
908
986
235
914
485
79
754
547
455
453
566
995
986
986
198
498
973
703
854
950
669
818
772
155
748
828
255
49
887
292
435
16
771
628
340
706
815
364
728
231
374
747
378
667
939
515
848
260
127
807
65
658
309
369
730
474
126
216
241
394
209
157
715
442
789
982
650
425
588
50
828
596
868
827
997
240
446
726
367
291
992
615
73
424
803
222
3
91
102
737
947
485
165
273
537
159
933
665
7
660
747
974
114
603
16
83
955
353
715
989
209
130
810
10
854
452
492
583
844
435
422
519
417
306
860
960
448
606
895
301
460
817
261
879
355
449
459
113
389
819
775
915
562
186
967
847
624
168
716
193
701
471
357
533
243
434
49
288
159
555
425
518
374
577
524
496
135
319
570
124
359
962
423
315
743
518
343
173
563
992
637
348
331
797
376
833
91
27
731
304
144
441
708
383
906
877
897
662
170
905
515
223
356
920
384
251
608
332
528
372
306
708
873
933
28
715
316
920
880
167
762
848
40
928
983
986
113
424
963
97
556
926
158
400
344
677
658
999
99
137
81
656
894
980
29
601
515
860
412
544
320
642
275
981
270
496
571
492
425
821
913
49
395
354
634
871
308
497
48
688
174
184
727
436
225
985
413
172
621
628
792
904
310
942
772
471
979
622
322
791
731
664
49
684
870
672
229
19
638
335
122
803
876
604
601
849
134
18
302
220
490
942
610
729
681
797
816
331
492
881
917
896
904
531
490
495
227
502
769
734
47
90
347
79
732
771
5
658
441
866
892
750
247
744
549
461
899
539
164
879
819
263
680
463
823
423
113
400
19
191
24
569
528
679
757
315
676
484
155
804
160
200
250
476
527
804
5
527
364
839
106
76
796
877
795
946
758
594
37
629
711
897
791
499
179
597
111
269
318
351
628
910
320
746
51
194
824
643
77
538
712
779
216
434
727
604
272
961
404
821
521
246
490
415
40
302
990
359
267
814
607
935
543
527
221
304
777
14
477
32
963
304
789
389
417
274
688
630
18
904
68
502
652
904
511
89
856
70
570
658
587
835
717
868
733
297
222
196
443
295
668
507
135
343
170
676
955
433
391
212
716
432
878
68
93
316
96
306
873
773
182
371
918
805
593
17
930
552
184
401
236
900
547
906
509
844
2
709
88
973
434
664
421
62
569
450
715
209
121
684
964
445
273
346
603
795
541
613
337
530
649
434
57
870
691
91
740
396
676
309
314
259
562
713
556
773
268
815
110
481
461
785
233
145
904
81
149
854
148
220
958
195
437
170
640
160
258
247
472
326
99
506
668
114
444
311
396
940
941
579
44
481
988
445
275
762
25
35
427
510
636
795
69
799
973
65
420
486
91
433
693
202
687
172
447
108
45
153
369
41
922
773
226
291
882
866
640
441
73
928
522
566
794
932
392
850
148
741
410
525
613
691
585
623
851
956
726
144
243
453
294
463
803
920
240
510
558
552
726
751
902
791
186
644
320
230
487
791
900
39
711
57
830
318
393
302
994
36
305
117
274
119
343
539
310
582
275
551
763
89
442
767
760
499
646
290
67
488
128
297
399
524
128
537
586
432
884
453
517
543
555
978
818
720
699
220
704
664
136
377
745
5
538
549
308
791
777
707
912
20
435
196
585
161
540
803
647
805
952
586
79
598
183
285
273
155
304
58
486
916
958
721
822
922
368
373
805
460
267
422
646
480
210
103
303
92
96
215
438
713
7
759
76
186
480
190
357
674
268
707
342
801
893
720
616
601
617
938
348
514
367
773
330
778
46
552
533
467
429
292
801
277
868
305
478
597
575
270
494
647
329
471
480
258
986
856
806
24
711
324
22
875
303
807
425
461
24
260
886
471
253
813
658
884
959
39
277
83
829
373
745
458
346
457
10
884
288
133
0
291
485
355
750
221
399
577
670
982
179
125
378
30
704
860
748
384
741
554
513
267
227
423
790
322
279
706
141
538
833
113
542
85
354
253
531
892
287
911
214
823
196
638
571
132
211
877
561
48
980
521
914
826
874
120
531
905
220
171
399
658
867
950
805
198
770
386
33
188
503
498
100
229
301
30
142
510
462
111
152
810
430
541
389
337
2
598
359
176
636
275
833
723
910
111
828
514
440
134
828
220
602
298
456
678
755
274
91
403
205
178
373
461
254
857
659
324
976
431
632
594
44
386
844
773
395
65
295
829
919
654
733
629
562
37
724
707
107
960
857
528
247
998
360
242
24
143
627
205
256
824
367
718
112
969
790
225
940
833
569
291
803
450
903
829
663
942
820
939
563
994
15
195
684
470
504
277
521
474
126
560
225
737
312
541
732
850
836
315
172
847
378
627
963
153
11
146
29
292
274
307
297
950
172
130
803
146
831
920
42
956
670
963
564
695
585
895
742
391
819
139
331
181
921
144
344
946
11
610
890
35
319
753
21
457
543
495
839
458
551
434
432
737
912
291
112
620
436
230
627
466
748
935
43
411
996
62
682
336
557
684
666
538
540
903
674
145
897
239
112
721
622
249
907
474
256
121
316
885
263
296
552
895
561
687
918
760
795
453
167
717
800
313
568
225
159
975
220
398
176
11
782
302
957
352
103
722
597
968
460
342
829
284
640
575
798
480
446
70
748
85
617
302
611
306
818
888
747
480
234
813
222
357
405
505
390
106
320
945
510
999
396
889
602
619
182
993
634
280
614
772
858
378
235
697
433
562
122
292
373
135
899
355
548
150
905
488
277
475
466
920
180
815
907
122
797
758
923
793
551
348
291
180
613
357
435
644
121
139
619
510
501
1
843
41
283
412
858
526
891
232
901
183
78
444
750
591
254
204
567
628
468
914
729
970
460
693
823
176
283
827
998
158
370
963
581
394
478
162
380
839
10
414
481
116
865
150
345
302
772
502
270
945
671
505
975
993
735
891
98
583
467
734
25
70
210
452
261
300
970
3
690
988
518
798
668
541
866
577
286
823
951
125
620
963
351
292
474
131
206
866
637
246
584
558
346
437
299
113
103
750
442
728
301
487
104
173
296
700
687
122
716
19
795
431
78
320
757
375
499
341
335
232
79
628
617
541
865
710
176
948
431
778
926
874
561
606
934
256
79
202
98
294
831
727
903
94
913
211
130
602
400
223
303
103
949
885
566
648
22
775
537
736
298
294
105
546
501
698
798
167
876
464
289
322
556
911
277
112
596
130
674
630
155
468
235
688
53
963
390
453
725
453
536
873
179
894
736
802
966
46
91
76
287
179
625
121
964
648
876
588
73
319
825
656
427
568
982
588
307
801
434
458
550
103
398
256
242
821
806
722
920
565
874
229
868
541
558
106
837
677
955
940
7
677
873
449
602
388
854
244
479
806
120
293
176
652
445
436
743
18
350
438
705
223
709
415
836
48
427
455
129
627
342
472
379
706
321
491
401
210
515
635
126
785
465
223
782
920
257
995
659
436
254
524
900
900
59
657
438
314
182
464
128
397
607
244
766
858
424
763
629
35
231
345
370
392
587
6
591
731
933
326
855
611
188
340
599
176
916
309
792
732
104
972
834
902
869
189
452
501
262
508
352
917
195
761
572
857
499
544
910
245
597
337
477
993
195
662
780
436
547
831
60
706
883
692
200
705
688
215
838
943
615
930
461
128
895
972
418
264
582
494
548
310
821
956
320
136
898
952
547
905
84
458
55
309
68
166
774
112
561
577
856
248
803
879
665
690
976
472
107
644
855
217
461
93
443
87
448
824
627
465
518
654
239
251
518
639
283
559
449
728
345
331
177
568
289
837
200
571
158
955
185
910
476
186
391
494
621
738
280
494
616
973
330
426
758
443
155
724
342
500
880
431
904
5
342
948
739
321
228
120
623
339
775
767
437
665
847
197
477
71
734
464
131
589
565
767
930
705
919
146
887
731
883
96
151
674
704
248
473
32
336
842
599
264
903
648
144
420
918
781
375
570
274
767
927
491
830
462
344
39
617
404
112
135
713
886
173
977
43
451
25
279
511
49
877
969
202
590
172
392
209
700
735
991
428
598
260
200
93
967
985
119
769
185
753
592
861
502
508
402
832
92
568
339
572
674
675
776
762
376
895
919
62
69
287
11
479
253
596
282
258
677
130
937
992
749
79
797
298
865
362
541
177
271
358
596
625
307
677
443
762
259
328
498
229
606
945
966
614
492
956
146
255
125
454
447
872
786
842
231
967
85
417
843
577
629
634
990
103
860
517
485
243
889
834
32
199
640
514
612
365
474
883
372
707
379
833
342
627
480
279
383
573
686
565
982
951
501
182
726
292
505
180
641
165
866
687
119
144
335
195
515
853
944
694
855
226
192
401
393
873
91
397
189
32
966
163
709
124
18
742
284
33
551
211
698
82
921
351
522
775
805
613
694
533
723
625
196
689
742
120
940
107
72
239
934
175
815
146
719
172
944
370
672
992
796
105
652
550
944
828
450
836
494
863
761
878
676
773
842
507
721
426
994
506
984
515
734
936
633
913
620
986
648
985
796
570
603
15
290
10
201
559
260
236
236
273
613
500
888
967
265
162
770
243
76
469
821
558
342
828
697
228
497
306
302
769
471
783
81
711
825
343
329
47
527
773
776
300
570
536
873
554
190
637
504
71
638
269
913
686
559
136
99
0
579
496
802
503
149
845
303
989
946
313
473
857
851
404
837
97
141
299
112
803
442
676
755
230
266
948
923
335
346
921
696
730
317
375
568
605
796
60
903
130
882
0
62
611
384
671
436
903
764
451
953
601
863
42
166
54
431
476
328
67
975
462
989
825
171
509
512
278
6
435
790
612
68
491
999
423
903
295
717
249
370
309
585
935
347
864
53
379
77
106
938
184
645
343
589
347
874
424
900
616
612
452
61
508
710
995
237
220
119
947
166
216
688
846
82
228
726
255
717
410
184
717
580
7
553
800
399
477
452
116
29
85
169
742
181
836
374
44
70
527
332
878
457
628
708
821
367
774
313
763
20
735
582
969
625
263
849
412
152
48
59
581
800
53
598
276
349
768
213
810
734
917
879
125
215
645
25
126
425
980
890
75
262
459
96
823
184
646
620
210
765
465
614
997
650
957
55
208
427
876
663
769
758
870
844
775
863
653
569
828
328
903
686
321
116
267
216
616
286
730
335
631
506
77
91
164
167
85
373
478
988
825
239
386
151
867
161
754
828
114
525
801
208
326
735
151
522
794
285
224
975
47
365
378
751
824
184
115
333
178
66
403
167
82
359
111
465
904
410
825
501
492
48
573
761
826
468
287
440
833
380
107
514
661
643
65
194
289
153
54
392
175
516
683
627
748
470
111
643
929
849
611
916
397
939
276
468
554
621
768
109
181
422
447
406
274
41
698
285
925
74
846
922
447
437
890
959
999
353
812
63
674
805
925
315
239
770
374
263
951
995
908
833
643
417
987
228
827
697
715
71
855
118
371
515
921
256
419
954
59
138
456
119
554
815
990
180
610
292
679
261
654
67
282
304
736
488
880
671
823
606
575
472
200
868
482
990
547
533
663
816
267
70
604
469
439
519
0
537
3
449
974
390
527
458
940
253
119
240
416
568
704
239
621
871
276
750
655
70
558
307
157
720
697
779
97
928
407
529
193
449
665
392
336
44
750
297
376
96
954
396
489
849
540
664
68
744
457
207
632
567
340
339
187
878
341
962
136
688
143
325
131
956
43
867
293
431
614
707
936
2
844
146
923
15
567
877
305
719
195
465
26
831
46
144
724
769
396
107
850
460
142
672
612
396
732
109
720
69
130
4
916
160
436
671
746
250
720
183
544
204
840
613
454
835
497
581
792
613
577
749
38
220
723
65
730
770
512
614
679
974
344
764
610
991
651
365
953
23
226
359
640
815
585
414
848
62
965
545
837
636
787
494
1
558
333
233
195
655
102
240
711
566
915
926
71
829
535
38
147
843
814
314
225
226
711
824
189
721
783
250
23
377
312
429
983
177
365
164
387
203
646
362
605
320
368
133
970
74
92
189
790
654
824
639
453
579
719
460
806
806
949
951
26
128
565
201
52
998
280
80
672
800
94
260
66
19
972
651
814
171
267
191
896
134
451
349
734
86
462
84
915
164
269
78
382
909
418
918
504
516
582
120
440
135
25
430
728
145
242
808
625
70
818
726
938
309
508
423
288
357
725
128
808
829
326
255
910
261
239
516
228
251
196
87
342
804
631
650
393
837
246
825
475
629
739
565
521
65
732
504
670
361
13
521
141
296
736
818
919
73
762
558
569
677
697
704
141
33
858
126
278
155
588
603
485
810
746
889
249
499
784
904
263
588
151
701
54
465
871
730
932
993
502
863
466
373
80
172
904
703
683
254
167
596
91
806
292
794
186
911
836
637
655
410
659
4
781
513
708
663
742
432
872
958
180
229
354
693
19
689
388
303
276
415
360
85
891
937
435
320
954
577
168
819
837
382
721
913
780
330
138
329
331
825
13
220
525
434
727
744
280
194
786
523
303
60
187
843
557
142
177
974
383
187
467
290
320
568
490
249
281
97
930
654
466
371
807
28
543
839
225
801
969
792
101
913
351
202
111
329
929
553
25
956
754
293
784
85
33
106
2
605
757
520
559
317
108
842
829
299
861
836
911
552
147
417
139
704
635
847
14
873
301
427
109
706
96
490
244
982
610
594
542
124
557
439
84
327
763
866
372
163
416
11
414
986
441
992
920
900
347
430
844
397
216
91
795
244
834
544
545
1
860
275
216
648
165
682
266
238
868
875
133
231
898
334
583
271
505
799
618
104
216
101
14
41
990
370
0
89
346
221
560
659
984
548
105
358
278
397
123
236
652
971
984
832
344
324
61
695
684
945
50
719
913
156
963
92
346
648
375
375
697
119
282
426
531
448
360
631
999
928
429
16
112
829
693
720
559
71
746
994
981
246
818
100
874
87
123
648
906
486
276
686
214
29
733
261
353
479
507
921
226
641
246
616
307
321
613
456
765
7
492
770
289
397
960
138
838
64
892
623
587
51
644
663
418
432
387
698
963
13
718
169
356
241
324
554
164
15
696
198
385
102
710
491
748
798
118
193
995
703
462
614
454
572
49
996
953
795
945
992
893
912
225
496
811
132
572
550
802
997
562
600
100
84
261
745
105
823
233
329
125
614
477
882
767
591
296
540
693
989
366
999
571
939
379
444
260
315
511
713
68
1
604
475
108
837
863
488
154
367
43
699
804
440
851
318
521
82
828
21
635
65
692
882
267
854
570
159
555
664
450
421
735
78
379
816
148
388
584
108
13
203
37
937
410
866
258
343
91
554
466
802
984
207
92
853
228
22
819
159
336
226
245
924
294
798
322
67
28
340
554
611
594
112
733
306
991
422
186
602
545
192
154
555
329
397
751
675
246
687
496
71
265
163
779
436
251
512
563
819
524
0
705
269
104
449
320
474
226
791
159
505
990
807
671
324
899
685
126
172
492
241
258
864
211
387
622
373
955
769
539
437
351
4
507
231
288
930
709
893
738
683
435
747
793
221
254
563
284
39
717
212
576
218
921
517
581
720
381
612
680
189
221
431
365
685
125
594
285
377
29
911
467
238
791
168
928
898
856
474
122
200
378
250
259
815
698
4
560
290
288
560
266
243
204
415
830
286
802
789
408
988
506
674
455
275
259
958
883
173
37
393
620
463
697
822
767
14
240
597
710
211
671
551
75
328
832
482
128
592
806
478
94
585
120
663
460
83
330
963
635
616
459
404
175
164
121
38
90
36
34
752
910
34
928
572
533
47
197
933
172
802
944
358
395
840
9
212
485
908
217
809
926
733
896
702
980
554
719
55
713
570
925
868
310
903
7
281
749
207
900
976
968
807
140
150
780
759
688
693
622
677
699
889
849
884
975
769
572
801
409
309
686
920
852
97
355
311
170
243
329
357
953
733
987
452
565
273
642
173
291
346
150
746
601
688
98
790
379
997
413
680
677
805
399
792
929
490
335
991
330
0
777
890
838
87
443
831
469
723
402
310
483
302
954
928
281
712
388
453
14
377
768
676
310
608
824
3
8
398
420
879
764
219
74
9
544
797
364
972
809
848
856
378
457
852
168
751
848
319
590
295
973
449
612
158
361
808
440
128
6
406
283
878
689
625
696
976
428
248
864
695
589
452
249
819
732
439
564
362
7
889
418
247
564
895
70
63
978
43
468
457
595
151
854
621
382
898
526
926
620
370
744
120
146
334
547
160
86
712
964
745
381
178
215
904
788
456
147
396
809
739
281
741
947
957
407
442
727
783
582
796
835
691
763
334
448
811
85
591
765
686
913
249
214
664
436
221
265
195
550
424
417
855
361
450
771
40
175
719
93
924
45
418
16
888
636
367
222
436
936
109
368
242
266
597
73
679
255
808
795
635
26
833
925
803
542
894
549
290
535
150
598
352
453
326
918
95
73
761
675
21
152
613
517
430
533
271
379
638
524
719
716
366
509
999
785
209
725
413
929
106
642
510
258
865
561
866
938
768
787
688
695
388
667
726
624
628
583
615
128
646
897
111
281
111
578
798
136
489
893
788
154
103
442
371
687
679
434
39
598
398
361
912
753
348
627
584
658
263
55
318
354
776
445
290
481
943
948
812
913
772
962
792
243
617
134
816
273
673
548
651
363
268
61
983
392
416
864
904
557
766
656
595
553
497
379
15
682
406
657
579
951
794
110
491
42
796
177
445
5
782
719
556
903
338
790
325
959
213
743
435
762
598
311
50
80
661
433
977
591
246
783
499
947
359
169
471
399
528
127
283
509
113
162
72
550
130
946
476
945
840
660
27
323
554
678
896
868
219
520
205
608
471
977
295
462
944
559
270
179
938
24
44
606
233
461
961
77
718
198
724
195
875
329
469
185
94
738
950
809
989
935
577
976
971
247
521
76
382
484
957
11
19
567
975
597
552
311
559
566
941
255
963
38
297
290
572
537
486
7
382
611
864
866
80
481
181
963
193
72
202
205
228
86
478
150
371
181
928
950
69
97
716
424
160
751
868
498
27
755
65
6
373
900
670
678
720
611
189
962
590
602
728
487
404
382
464
33
999
888
417
539
608
635
764
601
369
279
773
607
953
95
837
313
816
394
71
678
621
505
939
663
574
628
822
241
223
984
440
393
864
192
126
730
998
463
165
559
408
34
46
996
592
814
755
523
141
630
937
872
96
287
114
622
110
650
910
728
60
410
933
959
240
238
379
240
339
613
165
457
27
356
32
710
516
21
122
518
840
909
389
707
634
794
886
674
860
207
45
64
952
290
926
528
252
153
823
414
631
465
62
603
568
682
370
51
755
882
996
681
335
182
705
653
845
955
850
80
431
229
610
93
614
650
68
709
928
16
945
606
76
36
503
965
578
486
499
744
395
949
895
275
224
953
840
383
722
585
456
683
881
804
584
864
587
666
735
676
658
234
24
539
557
630
219
275
957
209
280
896
658
143
745
234
136
877
641
991
628
926
842
327
185
441
811
527
210
171
448
220
519
705
254
262
787
848
839
819
723
8
315
605
226
959
529
690
631
531
776
872
369
193
23
596
357
470
536
651
53
192
644
252
13
442
44
90
581
838
326
911
793
33
400
205
987
862
184
811
173
827
838
534
84
680
876
314
400
491
783
715
293
745
293
499
697
56
913
656
151
972
539
475
255
301
681
104
456
786
816
928
767
574
253
647
520
155
659
244
479
492
905
823
958
691
203
917
731
258
164
336
549
519
4
589
816
453
889
174
601
287
688
954
629
580
987
647
637
255
236
643
3
865
89
110
3
974
402
704
379
715
559
7
340
401
582
365
574
111
263
547
324
202
553
422
495
712
16
320
612
412
680
752
280
186
548
295
734
451
742
209
59
404
473
941
823
702
870
863
41
574
240
360
946
173
402
16
727
692
938
385
364
947
357
567
750
384
781
694
263
466
745
800
163
140
139
931
98
438
534
840
218
425
204
221
690
651
570
611
929
324
844
877
875
205
333
903
132
669
955
155
670
18
467
370
231
584
169
338
309
949
834
981
898
297
173
181
859
935
487
719
93
785
183
692
334
925
832
130
767
372
805
576
153
609
85
950
139
265
445
871
522
284
216
869
591
600
790
335
230
355
271
878
721
855
812
802
713
816
433
316
745
834
105
611
769
585
740
698
508
276
838
309
317
347
197
604
677
162
106
303
826
865
238
419
174
717
254
563
10
993
469
178
185
761
706
235
93
903
948
932
1
905
963
662
864
760
925
757
853
363
186
821
504
811
496
915
193
776
733
845
673
387
788
85
526
47
997
61
671
650
993
7
252
348
69
397
714
448
704
544
682
872
549
367
609
302
905
666
802
172
188
123
408
839
114
309
733
812
13
941
315
63
926
134
234
433
566
530
107
543
236
189
157
811
280
637
343
456
212
5
434
114
377
13
894
922
89
577
263
285
975
575
466
301
558
319
335
15
218
638
662
90
719
750
554
624
77
404
593
825
319
256
159
650
408
655
765
781
24
262
775
251
606
904
318
262
573
984
427
570
943
449
701
238
21
205
514
904
914
170
797
587
114
461
73
651
520
652
390
560
142
670
416
299
993
398
625
252
671
179
488
823
843
964
559
592
293
626
95
310
383
162
17
319
280
576
942
785
263
694
209
367
417
429
776
945
970
597
931
618
186
671
316
102
746
621
749
599
94
673
999
752
257
492
995
931
565
857
697
163
337
881
808
25
409
809
895
750
853
361
671
928
26
923
753
602
325
625
281
317
588
723
580
471
836
26
636
769
742
545
764
17
596
548
580
837
342
746
826
416
60
746
55
198
176
139
664
960
366
511
580
605
494
336
549
509
953
146
238
949
745
529
314
962
750
365
529
134
70
729
458
664
613
928
396
641
935
935
718
862
702
104
528
67
960
346
894
199
939
880
722
90
320
697
333
851
562
409
277
700
653
153
608
304
890
387
17
967
271
168
721
555
711
347
189
696
243
706
310
855
425
435
640
988
903
150
255
738
517
188
77
936
460
341
852
787
569
57
566
163
997
586
347
322
670
703
887
786
774
680
676
420
1
937
138
937
83
785
873
32
250
876
243
341
297
802
726
401
623
212
538
202
38
124
246
126
134
365
893
62
454
330
929
126
796
904
654
369
258
133
153
792
232
508
318
76
708
214
729
923
707
688
890
328
358
993
54
427
946
126
966
949
411
719
598
894
594
567
819
430
122
410
711
956
691
549
594
376
737
314
927
281
96
983
975
93
705
104
958
162
176
684
412
148
525
272
564
494
26
907
863
288
176
867
594
310
911
633
323
832
6
967
975
829
900
564
75
831
821
723
424
550
413
729
351
170
766
994
878
687
973
426
226
747
529
439
83
899
344
589
973
229
382
352
993
546
485
374
171
433
172
951
738
279
723
873
724
95
716
439
49
389
944
283
283
6
606
424
635
247
5
12
582
182
384
320
182
238
50
50
39
815
81
499
570
120
103
688
410
803
807
777
588
382
288
752
748
770
286
375
714
652
404
768
579
31
726
478
113
644
107
750
175
133
784
342
932
178
696
424
669
587
402
187
59
65
237
593
94
916
980
64
175
44
430
62
330
777
786
534
530
559
617
593
313
650
595
63
983
566
842
746
231
938
102
649
654
88
353
725
640
667
66
968
456
344
818
753
307
812
724
293
612
290
969
191
774
279
357
878
430
375
461
605
648
171
606
66
90
99
586
100
518
36
439
529
584
981
88
739
978
339
923
669
26
579
203
299
64
344
934
280
678
619
477
276
942
82
17
531
284
911
60
96
817
778
278
28
542
801
326
802
943
546
991
200
594
848
204
892
27
994
767
343
127
638
242
704
156
278
707
20
676
505
302
691
753
426
646
718
566
27
346
11
79
648
783
539
26
969
489
414
287
853
579
617
469
872
125
860
407
219
435
890
45
303
912
628
667
645
272
873
117
140
181
622
810
923
683
170
115
928
854
997
691
673
422
651
662
657
964
601
420
752
191
561
423
931
634
428
453
192
818
67
415
764
182
178
234
874
450
329
342
107
634
946
325
752
923
277
918
266
588
0
407
618
905
889
888
71
759
725
142
178
188
202
820
980
516
349
938
421
489
389
141
231
959
658
870
51
824
627
507
494
527
196
269
612
521
519
26
685
189
847
114
616
741
496
966
505
140
195
448
401
660
67
135
290
229
128
363
663
624
290
639
787
172
800
911
163
208
886
144
533
636
902
540
29
301
736
874
807
794
423
655
727
884
478
421
641
677
472
376
458
882
932
947
509
901
303
618
683
291
638
228
982
884
266
779
696
989
346
755
230
298
673
725
752
938
636
72
157
268
94
320
986
552
289
503
359
166
780
407
515
355
994
19
533
18
803
9
911
547
981
877
581
89
922
172
182
960
696
75
214
670
975
805
50
959
190
552
803
876
346
168
614
424
838
934
307
986
50
643
298
335
821
357
669
654
887
981
15
374
163
720
921
457
986
382
474
413
42
322
257
3
415
664
706
283
522
253
106
900
16
215
331
823
371
467
192
336
411
918
769
637
677
830
230
409
221
145
380
896
955
421
493
314
606
593
505
51
842
930
480
486
609
643
917
497
231
328
722
351
527
227
753
729
109
317
979
922
816
498
929
893
647
674
0
599
368
474
890
362
253
134
34
410
679
517
276
784
97
523
521
240
75
151
880
148
491
466
898
764
775
657
642
827
667
716
786
283
555
507
698
174
371
142
597
368
675
701
344
377
219
614
309
904
228
531
420
284
996
64
581
169
853
16
976
607
879
676
847
229
547
678
964
232
23
248
141
54
603
202
834
738
585
667
980
103
541
371
78
516
692
748
503
541
722
916
68
39
875
981
16
131
236
677
231
441
615
203
47
978
579
4
178
653
22
177
928
351
459
236
852
983
113
731
832
141
974
758
245
213
434
950
481
529
905
532
642
669
685
223
966
761
621
673
32
439
121
339
634
255
232
609
535
440
764
179
714
906
292
231
661
45
456
576
315
490
24
739
754
881
312
505
290
927
195
534
762
369
965
504
459
220
853
143
233
488
869
59
479
211
76
145
881
278
763
488
504
288
315
777
98
151
314
653
211
555
315
241
279
381
555
227
861
51
2
594
890
790
954
626
226
135
335
332
916
630
647
488
417
888
511
139
643
414
368
126
117
796
511
124
338
296
990
574
61
783
583
811
940
593
302
194
447
886
699
483
550
668
619
233
919
273
23
63
570
729
279
388
959
413
996
665
68
139
412
740
122
235
148
131
233
550
123
651
385
971
865
855
600
552
703
205
531
659
987
826
306
605
152
391
723
400
488
451
563
123
206
606
552
829
845
23
730
295
193
725
883
708
922
100
151
222
587
839
217
320
175
974
861
680
337
800
569
881
983
989
940
798
923
582
635
258
223
632
599
600
626
905
636
217
379
785
334
614
251
790
149
428
130
115
159
696
665
126
629
359
292
426
275
375
148
700
796
477
210
3
767
342
203
973
666
763
166
717
3
639
112
361
815
871
360
993
976
226
761
394
595
112
3
832
313
386
939
635
287
31
873
34
10
953
592
367
895
572
97
923
930
708
798
824
836
132
796
135
478
728
428
611
154
437
855
690
256
999
574
305
236
593
216
381
61
681
783
312
44
499
151
578
845
106
798
620
869
917
69
127
87
521
164
202
915
854
518
888
890
130
225
982
747
519
766
734
629
56
919
533
130
294
529
778
638
805
14
728
821
565
46
729
372
327
988
384
180
147
982
949
750
597
981
71
635
555
568
508
456
473
891
881
581
477
515
474
809
657
360
939
873
832
210
730
346
335
588
519
506
947
61
766
112
808
430
602
425
975
200
336
702
81
906
379
84
78
584
955
591
966
238
617
795
756
537
362
920
473
283
115
152
394
957
476
853
932
23
348
825
493
171
474
715
922
177
507
828
859
837
373
362
210
634
453
435
911
232
961
946
69
870
491
750
715
235
805
592
315
866
189
467
114
246
231
547
685
54
992
783
153
888
14
62
367
929
92
389
165
112
76
35
527
298
501
53
830
99
604
593
999
900
85
469
666
159
42
694
506
108
660
876
721
47
572
190
996
855
366
569
142
481
155
284
890
749
820
491
387
305
184
92
932
895
287
306
72
441
847
206
989
689
232
428
586
442
377
497
393
989
956
669
175
468
226
801
361
647
53
747
535
579
654
250
665
726
792
603
902
394
520
261
955
80
101
543
169
862
104
537
515
675
755
183
225
937
264
523
594
754
496
934
983
692
643
398
836
244
319
688
378
848
471
142
934
138
717
783
307
572
141
41
78
713
732
900
975
330
454
10
886
411
640
789
654
853
68
763
304
952
179
404
745
707
661
502
372
946
1
205
247
651
409
419
383
155
257
394
950
708
290
151
244
516
906
583
705
661
296
847
45
713
981
451
304
284
69
771
479
329
896
653
456
825
956
414
484
64
106
22
378
254
604
24
931
254
385
423
301
671
598
640
594
351
823
79
468
55
306
621
574
802
221
639
146
930
69
983
890
81
293
159
275
316
702
741
129
676
266
446
466
748
742
761
261
504
685
365
159
914
270
71
466
541
327
133
690
530
515
269
432
737
484
61
63
773
97
652
524
699
275
50
412
218
298
182
152
230
339
897
437
387
66
993
609
997
918
118
907
434
244
318
401
686
316
146
150
357
614
175
110
247
608
660
458
497
843
970
784
560
421
558
191
197
940
569
644
535
386
23
735
836
560
333
19
372
457
783
410
92
149
505
3
826
612
224
588
741
723
688
926
963
99
289
587
967
954
386
98
445
344
731
684
400
751
199
457
666
462
62
879
2
248
165
552
108
960
839
629
944
741
599
569
938
345
697
764
13
404
721
522
218
117
588
77
586
626
378
598
920
614
57
696
594
377
540
475
802
845
407
385
985
344
813
968
591
452
249
754
202
944
44
590
865
243
325
77
126
403
782
621
927
220
822
593
911
602
395
116
133
806
720
745
340
433
411
550
690
771
100
517
29
650
753
330
44
941
193
313
297
363
297
610
48
616
399
946
934
807
621
359
660
926
939
260
384
849
302
960
410
856
799
713
665
457
940
984
845
152
512
560
949
540
601
581
453
134
68
899
517
877
114
186
623
404
207
18
362
97
365
924
476
163
351
305
468
261
822
352
805
113
814
298
932
481
987
747
130
975
624
307
139
703
652
516
462
651
709
237
343
259
74
683
795
553
906
677
67
154
254
168
185
4
159
783
191
801
24
336
308
201
834
386
520
99
215
295
937
917
894
764
460
785
143
167
698
691
923
391
398
452
954
875
512
673
104
551
783
104
730
249
416
801
840
177
324
860
827
510
422
679
548
660
428
846
191
753
20
477
689
919
283
51
305
410
732
166
814
215
483
484
946
986
561
145
414
242
220
250
838
216
557
45
489
929
630
338
205
312
276
440
92
793
710
346
564
631
746
304
603
995
467
877
36
19
536
155
853
223
615
718
473
376
206
319
422
444
22
30
907
990
884
603
282
389
670
579
490
364
907
614
768
528
787
401
536
32
946
893
543
747
807
578
722
122
529
178
658
625
758
921
846
171
916
987
826
862
382
804
606
686
984
995
532
49
812
574
276
281
335
118
235
518
464
977
806
284
548
27
40
434
656
378
325
299
258
616
404
531
624
425
950
424
153
92
888
303
809
696
411
964
87
27
85
851
375
361
424
276
580
519
834
874
234
206
389
891
629
844
77
264
741
366
42
63
617
450
6
943
267
40
771
258
380
383
483
231
727
849
603
222
804
172
124
964
87
130
447
647
606
717
182
460
946
174
434
880
269
820
99
238
520
911
95
558
355
955
2
651
67
959
173
260
158
474
781
880
207
419
967
627
845
400
695
377
140
735
209
951
720
602
341
416
589
43
750
635
667
996
578
377
943
141
237
699
876
388
151
170
523
378
631
958
174
996
539
645
947
260
120
446
531
406
736
454
972
26
75
152
853
339
747
79
845
95
306
920
896
531
275
700
88
696
740
470
354
398
777
222
516
755
145
939
575
535
191
664
534
789
454
820
996
56
84
314
904
328
27
452
870
825
228
446
620
450
816
471
516
196
162
627
906
51
397
709
147
133
846
831
201
910
563
771
113
227
535
329
897
712
285
496
786
238
944
359
76
87
239
803
238
533
954
54
303
175
501
273
890
688
59
525
511
209
677
970
567
112
26
866
574
291
444
893
454
809
188
658
208
299
225
690
567
112
622
212
182
743
825
302
978
285
220
683
381
922
96
157
509
847
775
593
197
300
575
601
810
238
293
306
170
166
223
629
575
398
2
941
141
51
497
991
724
47
508
643
582
609
993
449
236
247
719
120
591
831
562
798
994
629
647
408
616
101
213
966
494
957
485
429
100
302
538
353
159
454
492
137
102
161
514
668
125
518
574
758
170
462
963
944
423
442
335
306
202
4
513
826
134
473
955
763
358
975
926
135
513
703
121
47
926
499
634
790
10
163
600
483
768
45
19
523
416
274
641
972
409
197
809
554
352
615
501
808
606
374
46
351
688
805
890
901
735
530
747
486
99
582
479
221
254
576
216
727
629
532
825
110
571
612
679
37
482
253
589
292
377
177
414
591
599
144
888
158
404
777
924
182
150
233
871
754
112
817
822
57
861
35
188
784
461
933
396
800
396
877
301
895
147
43
20
937
735
138
202
257
911
636
290
629
548
588
586
710
363
994
71
969
98
556
937
517
436
949
635
838
572
355
362
777
709
437
507
428
401
898
792
928
852
45
689
852
232
644
398
786
819
466
112
622
818
230
478
959
328
858
317
796
61
985
369
93
424
840
769
582
341
763
34
399
96
520
420
907
557
502
884
674
242
555
35
576
259
288
251
537
856
180
276
219
661
367
62
103
497
722
943
585
869
326
161
992
743
586
927
927
224
444
992
689
247
814
31
2
881
293
287
154
220
355
56
743
865
461
561
490
358
840
445
592
382
943
276
683
653
355
166
222
199
560
473
382
770
693
183
908
691
7
671
481
241
200
788
498
513
319
655
645
97
525
494
493
560
209
861
947
695
650
113
760
993
57
4
747
980
508
544
258
405
982
385
808
154
459
688
732
170
13
72
284
391
734
273
644
389
252
394
481
174
913
17
457
548
828
140
668
953
813
118
866
788
52
447
83
288
971
440
64
199
98
251
193
950
514
965
911
829
108
928
37
262
835
209
305
185
219
741
875
352
659
151
294
248
531
985
596
591
564
716
499
223
933
929
723
403
778
864
150
846
888
844
235
116
880
707
816
79
111
319
480
805
37
879
85
927
754
621
873
280
818
752
219
713
936
443
78
98
386
777
91
616
936
98
145
776
411
20
286
240
313
521
413
910
818
601
292
542
298
995
881
469
894
166
866
310
668
885
95
319
852
980
445
789
868
90
30
158
56
176
821
16
5
753
597
665
688
854
125
878
131
985
768
10
954
253
140
787
456
898
504
198
263
494
373
696
519
97
303
388
520
49
91
191
524
572
356
236
600
411
449
720
865
808
324
348
612
372
342
86
797
935
883
985
14
238
661
951
700
820
808
227
275
92
426
240
865
713
192
708
917
956
437
927
249
944
629
792
168
60
994
107
636
467
777
655
878
804
514
470
221
339
713
359
530
16
20
832
471
140
246
239
52
916
481
975
161
400
958
969
540
703
307
284
738
760
214
930
37
697
749
297
650
345
660
84
706
363
735
815
902
102
785
368
967
311
359
699
148
343
15
367
277
901
40
416
69
628
920
105
621
376
132
851
684
124
490
799
580
228
664
676
55
853
19
516
917
840
206
452
231
250
64
306
553
288
632
527
185
338
972
828
417
704
446
203
529
433
10
553
636
373
762
213
653
139
664
948
542
916
24
49
529
835
548
484
282
89
810
972
347
854
952
589
407
960
660
643
699
979
909
197
301
759
374
891
503
594
701
895
741
446
941
337
309
145
339
55
54
793
854
317
841
61
97
367
196
581
991
466
538
939
792
515
404
858
320
317
17
832
450
518
544
157
283
244
657
891
627
417
356
871
617
435
483
225
58
137
264
688
605
721
125
937
340
275
466
369
318
542
162
139
199
448
223
741
967
465
794
929
864
170
782
480
484
328
98
587
956
948
202
898
659
554
2
190
778
440
301
850
949
15
16
902
221
547
527
589
214
907
204
409
854
845
457
569
724
694
530
741
645
324
466
857
339
25
686
948
542
713
88
237
45
801
815
202
58
578
128
402
797
821
337
271
331
185
779
231
187
878
859
358
818
201
852
1
961
964
530
444
770
257
99
121
553
834
159
224
718
157
541
379
95
495
465
821
940
171
437
156
826
403
900
53
992
701
44
802
991
76
31
449
389
414
215
553
941
679
162
345
875
864
560
602
146
603
533
614
503
164
928
801
273
615
456
147
664
877
297
332
399
113
712
751
466
172
539
271
784
89
380
676
514
14
867
23
318
482
430
959
50
561
517
127
148
822
700
33
951
925
607
560
129
466
971
250
98
477
830
72
779
405
810
780
493
853
918
404
782
16
186
859
810
311
637
128
650
590
992
261
132
54
476
967
903
424
107
943
625
546
617
780
977
818
278
658
310
557
987
57
326
979
29
293
636
854
568
705
170
575
281
356
924
643
505
352
328
296
267
467
980
421
585
726
199
464
197
371
955
809
711
422
857
357
497
226
350
263
309
196
887
288
715
837
174
171
691
540
134
179
613
749
501
662
704
940
899
121
225
495
390
135
883
697
252
535
818
36
697
340
471
268
248
891
261
861
765
518
50
15
100
30
370
970
385
723
642
185
839
765
579
145
473
572
827
905
13
134
73
259
974
633
337
708
330
525
993
672
807
283
611
513
312
868
471
233
558
727
418
569
747
330
668
92
48
454
626
683
302
347
509
461
889
910
863
828
272
947
538
730
155
2
134
372
50
190
717
508
717
141
133
283
515
995
241
544
504
314
151
780
625
987
423
976
226
231
555
522
253
156
990
113
571
716
845
966
803
958
760
871
215
319
246
680
139
887
852
20
956
798
637
23
555
599
605
724
91
226
2
974
481
993
336
822
283
725
969
906
728
15
731
630
840
151
425
105
765
213
355
570
349
121
236
955
348
917
352
165
919
260
458
937
884
791
498
170
219
279
988
999
727
746
509
322
614
873
60
200
815
345
495
801
332
501
608
599
322
185
357
588
586
118
96
325
25
689
479
733
399
67
221
542
378
315
179
153
287
212
73
281
805
988
705
634
462
65
264
723
788
306
0
977
685
819
416
784
740
521
128
436
38
964
997
287
248
192
491
616
449
745
283
41
992
499
727
723
794
78
903
417
395
297
922
984
56
265
639
631
841
498
788
251
170
113
206
508
788
938
832
455
305
557
238
341
88
164
382
264
138
398
105
662
888
549
251
231
369
559
527
82
21
73
282
111
59
462
321
42
422
481
903
748
898
630
218
589
366
352
629
780
590
127
42
825
983
122
333
204
556
805
943
910
792
462
484
730
279
290
310
712
989
891
862
110
281
765
413
750
127
51
871
447
925
629
26
29
557
456
297
394
582
248
421
42
662
669
354
616
809
356
666
303
540
244
357
741
27
343
342
566
439
516
661
640
235
621
693
212
151
414
576
298
673
164
203
532
534
924
91
796
272
701
912
244
257
400
186
972
478
330
590
674
814
8
315
556
385
165
416
299
50
913
859
733
335
19
836
271
750
112
886
406
735
657
583
777
704
867
174
793
184
425
116
848
967
953
478
336
745
523
732
58
653
495
444
264
660
937
645
866
778
211
667
584
862
623
291
224
649
308
47
999
582
154
74
238
7
821
549
785
534
419
89
967
992
880
37
421
49
237
476
80
862
796
56
431
692
86
658
181
217
996
277
121
460
555
987
725
253
540
966
545
907
150
12
3
119
752
490
828
44
990
279
775
708
850
822
808
771
369
889
12
868
660
876
269
170
522
485
239
5
982
322
112
301
321
271
168
715
296
8
833
548
512
801
696
355
325
28
37
699
532
276
970
152
328
411
166
914
402
100
976
967
331
254
663
780
882
744
879
379
521
400
52
209
876
226
264
388
227
250
79
637
804
868
723
496
299
924
863
241
853
764
235
967
724
466
576
6
596
973
491
372
810
298
383
497
761
355
589
395
836
213
55
8
383
735
348
985
541
828
105
7
92
156
605
430
496
501
168
248
676
97
144
54
11
889
239
191
716
200
668
456
416
586
736
941
376
239
352
936
838
402
522
724
167
602
480
878
684
530
620
526
477
855
901
605
397
789
588
589
700
344
278
920
792
726
636
432
343
998
586
513
189
19
245
506
66
374
586
542
106
707
509
268
914
791
383
968
960
947
987
847
101
877
50
251
456
180
367
230
786
805
100
709
786
406
828
47
961
576
253
101
847
845
349
950
300
462
790
19
985
898
883
600
290
319
365
447
976
162
995
119
681
827
551
933
269
899
581
851
462
626
142
915
281
501
75
550
804
191
331
875
999
440
505
945
336
272
593
47
175
517
80
765
256
123
584
193
906
695
705
918
364
727
381
468
105
836
212
968
355
356
429
722
854
555
275
814
381
74
66
499
381
642
52
774
307
482
838
441
523
177
317
75
592
765
309
85
325
368
87
492
113
502
288
485
779
862
902
273
381
925
747
651
320
729
907
352
561
579
898
422
617
454
636
465
924
383
412
535
640
871
480
498
936
896
434
534
753
366
797
505
199
277
476
301
713
265
550
232
422
877
448
8
647
148
226
486
917
544
677
367
888
117
705
850
587
364
506
281
456
623
381
511
863
901
756
324
176
192
630
650
990
909
608
286
430
500
332
765
863
962
246
769
54
121
969
746
871
874
883
917
764
745
375
829
837
868
400
882
208
316
568
103
918
596
85
645
423
754
102
923
318
75
735
471
395
926
213
627
451
524
311
632
530
688
3
866
210
243
546
767
887
469
444
858
875
862
443
898
405
276
427
718
320
433
911
200
371
939
118
675
898
375
878
981
736
163
296
432
336
518
903
224
361
817
717
767
182
985
856
538
767
202
608
612
81
210
249
885
770
871
536
256
247
487
537
266
830
688
428
416
193
764
122
215
119
190
825
883
474
470
961
702
709
216
372
138
624
890
394
665
587
974
219
647
173
351
526
71
3
816
21
982
112
347
468
495
127
872
29
3
473
739
389
286
521
597
496
801
757
932
621
867
322
613
468
220
207
501
162
357
946
6
253
180
902
184
796
783
877
855
263
869
726
350
717
675
473
717
898
975
8
882
854
760
553
205
117
987
937
861
283
563
724
679
974
288
637
882
892
691
120
419
500
719
834
382
876
357
585
602
778
612
845
67
630
877
664
561
546
821
16
509
919
503
875
407
882
970
1
27
265
831
417
109
203
844
158
3
266
849
143
105
888
48
999
762
369
433
981
864
650
195
514
341
117
322
296
922
606
966
659
581
176
186
625
764
296
891
969
658
591
336
716
491
144
191
361
772
266
42
558
238
322
184
131
539
35
882
683
697
120
575
688
509
570
714
255
724
8
1
107
713
391
856
8
194
836
366
151
148
477
372
222
259
299
832
83
84
13
198
330
656
112
778
634
255
418
646
785
185
551
19
337
983
480
666
505
77
993
223
701
749
710
581
928
686
511
922
259
921
357
785
768
355
260
946
585
344
446
62
74
742
233
401
529
957
2
486
459
488
125
8
380
685
661
83
907
917
64
213
728
60
824
572
129
527
741
443
746
364
866
3
452
483
542
887
124
642
147
953
632
549
370
920
72
9
985
498
945
749
897
630
34
709
114
796
784
53
701
803
426
627
500
574
526
875
255
429
80
1
763
368
974
590
24
627
899
547
863
62
82
593
981
87
867
573
16
666
835
899
620
55
146
648
110
284
835
726
742
876
241
520
319
541
614
355
20
984
379
115
679
436
398
238
554
861
527
495
871
310
0
218
521
581
807
698
920
801
846
990
648
986
966
198
631
82
114
304
489
491
277
556
646
693
359
257
823
598
265
680
348
426
144
294
685
480
948
479
187
203
132
245
788
689
279
345
802
638
124
832
638
826
511
174
627
233
53
831
760
687
433
270
255
423
53
14
818
748
796
912
982
96
781
363
491
848
340
683
954
512
580
960
726
48
139
980
201
904
337
831
427
58
642
639
465
367
585
39
73
863
413
577
540
974
322
31
179
97
123
361
924
299
316
333
394
39
156
796
421
453
649
414
987
781
411
152
628
306
658
308
795
401
440
349
603
878
622
203
518
674
78
76
100
481
875
402
166
311
291
653
609
763
871
65
182
282
623
518
43
513
962
709
943
313
430
921
310
310
851
976
878
660
181
856
631
716
561
119
391
294
383
967
591
3
66
151
545
781
140
687
160
43
211
746
953
653
240
185
947
534
460
226
650
328
412
575
60
930
903
789
813
137
591
796
183
180
643
704
546
210
10
386
829
864
701
768
207
666
103
247
806
955
514
988
306
874
525
280
97
114
821
858
171
905
607
32
829
124
708
150
154
190
996
407
130
45
139
470
108
493
976
881
987
522
727
745
300
298
929
148
700
80
614
802
69
974
354
670
902
981
272
907
85
114
214
934
207
568
864
612
499
664
606
498
142
359
139
915
314
389
220
746
387
105
804
141
391
387
492
741
74
935
749
337
774
591
967
580
802
377
455
0
547
752
635
744
4
111
966
650
179
550
796
840
959
671
49
482
937
935
536
606
347
803
858
322
765
168
409
63
611
93
708
122
689
280
86
921
237
564
198
845
309
448
32
519
104
233
988
586
258
838
522
538
379
50
310
785
483
694
287
994
809
270
794
595
230
3
936
628
898
407
105
249
926
19
423
905
7
108
907
18
735
633
756
515
27
416
994
24
461
369
701
853
835
672
271
250
615
223
109
136
194
694
277
546
109
880
346
843
175
832
264
236
501
358
401
960
750
469
77
854
366
204
101
981
951
96
917
422
955
286
714
790
548
848
445
609
549
916
320
101
417
633
52
643
117
582
417
382
297
565
420
73
494
698
952
499
728
949
712
301
169
612
95
304
351
847
196
705
645
130
83
51
450
651
584
215
201
528
955
791
785
855
424
433
219
950
929
215
611
978
958
868
262
572
164
590
968
271
973
856
198
253
204
956
553
463
318
553
60
696
181
398
926
319
897
508
726
748
481
421
621
875
30
576
860
634
295
789
123
678
909
154
506
444
587
69
718
127
174
235
778
252
957
914
286
744
498
393
332
36
532
617
490
609
419
99
708
647
533
241
710
172
383
225
921
362
696
192
242
851
815
492
118
719
772
333
645
950
575
874
815
636
532
306
165
59
970
481
418
648
112
856
162
272
357
621
832
203
67
93
853
307
369
986
191
331
517
500
387
816
196
82
877
446
398
820
801
370
522
158
331
792
960
174
821
401
634
341
768
15
920
399
326
489
180
461
243
533
432
7
949
111
418
858
652
871
730
295
802
311
72
503
620
981
319
170
961
397
490
119
850
929
884
298
185
755
104
258
677
326
353
436
953
600
854
414
629
263
475
25
487
488
964
712
844
438
363
764
661
540
519
352
230
461
996
772
419
115
713
57
318
921
705
367
662
640
8
814
948
153
700
99
363
332
366
935
682
231
497
263
267
0
704
477
350
660
579
119
227
232
517
479
558
846
3
477
486
619
746
176
74
845
35
947
791
397
722
49
8
343
413
453
241
130
13
961
560
777
493
361
347
365
74
7
28
182
189
861
652
27
174
479
110
986
317
859
929
890
374
637
152
939
159
541
696
958
756
484
378
725
521
416
862
828
611
28
210
385
609
60
71
890
315
824
562
620
79
481
254
254
178
948
622
875
270
475
809
13
965
825
584
685
813
801
914
275
932
198
115
594
796
209
949
196
269
161
188
170
520
505
966
640
698
912
562
359
112
422
564
991
334
726
916
879
648
850
15
556
748
701
730
632
733
424
921
485
959
344
883
386
617
618
958
913
590
940
91
982
897
873
42
215
677
227
227
696
475
816
165
963
73
656
36
589
736
627
789
980
18
548
28
841
794
233
374
697
22
31
14
122
69
690
45
59
639
180
658
357
240
998
207
928
792
983
898
762
647
313
966
195
361
574
747
897
113
721
799
106
791
350
940
923
98
545
12
250
828
387
842
823
264
945
976
854
581
939
666
217
83
375
630
791
922
515
382
314
976
449
228
855
958
694
943
815
565
385
315
363
893
780
448
683
849
156
83
820
809
698
784
729
855
132
426
977
125
895
983
201
648
848
327
343
51
421
751
330
521
303
314
797
918
522
859
30
411
830
373
751
90
672
972
191
974
413
536
27
814
201
439
531
244
701
799
60
744
409
858
78
370
672
404
454
853
611
695
827
785
869
834
483
533
406
836
924
219
341
371
216
940
684
457
693
628
168
537
782
935
295
508
245
337
242
231
981
60
370
532
955
415
562
938
373
446
164
108
848
992
429
609
702
709
194
595
860
20
527
632
442
721
585
403
527
853
435
886
194
666
563
301
452
354
506
957
965
854
964
680
522
188
695
901
155
772
565
880
914
908
356
94
334
584
306
116
361
559
723
755
789
266
128
817
403
945
943
857
738
641
937
397
795
257
166
929
286
742
108
646
611
152
410
655
34
459
176
863
458
250
904
944
585
789
559
661
701
179
838
668
429
233
807
725
516
627
115
581
631
113
586
402
390
425
946
11
827
188
357
700
663
945
755
176
685
603
606
610
138
969
597
598
55
193
789
190
495
377
379
897
951
717
102
374
368
584
883
440
379
857
405
974
619
272
269
994
348
187
981
629
224
182
641
382
882
892
241
449
834
979
36
734
662
611
300
477
193
513
199
121
335
224
200
550
891
559
719
516
990
94
760
792
61
650
249
478
543
988
382
349
932
910
729
888
534
179
975
272
396
752
784
809
236
468
697
753
859
494
989
769
93
920
246
731
614
551
676
500
773
876
402
117
762
183
553
513
423
308
920
202
400
960
561
784
31
734
326
200
848
400
933
68
123
19
902
364
688
859
931
794
823
415
201
504
861
273
982
179
465
632
788
318
10
312
815
630
539
461
851
21
766
777
4
903
775
844
874
900
900
405
144
220
117
26
132
987
176
577
93
513
529
689
79
808
14
761
738
630
170
752
657
78
280
127
755
568
490
451
834
974
674
335
518
391
210
73
200
412
927
619
33
81
685
338
926
898
347
620
35
701
121
193
600
466
747
150
5
544
211
616
340
465
359
329
684
565
855
557
321
404
157
643
673
891
796
462
476
289
93
247
592
692
557
393
476
206
184
465
280
122
731
378
394
879
238
644
139
107
455
572
584
163
744
815
311
636
567
726
177
395
54
557
260
342
801
599
983
113
626
299
349
154
747
883
7
610
572
796
495
292
663
938
730
572
356
101
313
494
249
372
406
130
599
811
624
779
801
85
327
0
216
446
141
799
400
745
611
943
279
943
763
910
721
162
411
754
619
865
432
90
296
507
767
836
321
118
46
384
539
897
419
211
219
13
802
603
244
279
655
759
489
438
238
161
408
976
833
894
413
183
561
393
317
168
435
613
644
607
483
150
208
535
898
389
262
374
130
304
37
998
992
277
553
51
14
428
413
578
224
800
511
490
987
196
353
553
913
180
646
770
76
214
876
840
691
50
155
991
561
322
208
797
431
957
368
979
999
900
138
698
920
365
488
683
285
949
708
574
846
257
367
838
32
678
980
708
914
923
617
952
778
296
771
790
801
885
113
210
970
758
948
398
281
250
442
725
319
961
817
966
123
935
227
684
282
415
510
775
421
654
410
38
876
678
273
11
273
742
378
927
595
34
638
766
799
341
627
837
912
167
280
324
746
57
312
878
44
13
986
483
75
455
336
603
860
894
590
859
229
946
333
265
794
635
632
594
445
870
972
335
367
562
380
921
675
943
146
182
417
939
162
599
225
514
662
854
117
380
747
641
842
508
633
783
625
580
644
686
963
630
595
959
157
152
582
446
600
42
891
369
920
707
855
496
578
523
481
445
80
66
950
783
163
649
589
923
191
928
508
303
940
490
639
455
565
515
651
670
109
540
495
974
791
963
981
769
625
624
694
498
661
845
198
10
587
167
192
815
457
431
182
982
594
469
381
229
873
635
472
332
602
593
124
138
718
283
501
432
152
83
543
22
68
644
571
888
434
774
277
535
811
443
539
648
461
594
713
343
41
435
912
84
370
340
434
645
684
802
677
79
7
52
912
769
153
882
868
32
994
992
438
139
453
778
919
266
320
483
968
652
725
155
702
139
0
155
362
601
785
264
576
374
383
570
592
168
0
602
551
294
734
439
755
853
66
206
260
179
647
720
205
94
36
938
416
950
125
860
721
984
538
130
96
267
686
387
890
235
296
79
159
495
930
560
505
883
416
776
781
798
624
251
384
726
332
829
864
207
244
641
998
310
576
899
405
6
557
771
702
40
922
382
317
726
807
113
642
582
306
48
925
980
568
771
668
43
30
554
662
952
881
324
773
909
876
495
290
160
431
705
321
685
502
638
460
196
883
445
237
284
709
874
570
176
953
987
912
69
880
756
659
875
51
700
782
36
718
671
22
944
143
506
548
297
220
953
439
539
912
403
40
581
210
206
195
537
119
690
86
1
873
628
53
236
459
695
476
263
56
535
484
802
174
733
481
536
821
95
35
472
906
272
654
375
910
961
38
135
443
737
328
823
197
413
426
936
575
632
481
702
430
747
212
801
472
838
540
880
855
500
396
35
445
752
862
808
375
861
843
112
787
602
944
910
885
872
84
446
725
392
37
874
490
477
954
168
362
107
817
751
297
630
553
12
936
388
8
945
962
572
587
146
56
700
959
780
54
888
98
765
181
760
928
232
183
504
871
990
253
53
493
28
327
104
739
103
428
858
727
525
607
766
728
929
506
607
35
891
354
413
999
931
185
959
527
242
660
583
740
513
663
138
284
53
976
604
505
238
351
736
62
578
985
737
672
433
404
626
792
42
293
896
696
698
39
194
641
734
504
569
651
163
655
384
605
374
851
344
396
947
570
339
492
687
401
136
83
496
431
411
498
685
170
233
139
608
407
775
889
894
953
104
493
814
560
660
744
699
750
784
532
664
868
392
314
593
354
910
450
648
307
836
586
685
977
682
767
126
396
743
162
721
294
146
233
878
526
346
554
477
563
763
340
169
133
614
701
112
116
397
261
259
564
737
629
397
331
730
776
143
14
618
11
724
794
766
198
605
792
780
683
876
114
972
480
586
498
517
559
476
675
718
467
294
803
767
431
927
952
689
584
475
85
33
635
178
361
245
887
580
182
846
625
94
111
853
632
864
457
931
842
518
943
414
153
163
679
552
376
844
846
151
214
405
955
81
994
296
927
802
636
668
194
502
466
415
427
169
461
880
67
774
642
437
253
262
822
525
844
27
956
760
298
969
109
137
602
942
856
56
496
893
890
766
882
484
482
959
641
771
66
414
88
268
984
685
241
374
365
853
681
505
312
781
653
416
99
133
131
53
963
521
628
144
484
208
657
380
272
16
277
461
359
148
400
476
526
300
847
515
481
653
75
161
394
533
451
808
93
256
148
888
154
589
908
842
686
91
10
357
688
589
788
320
688
414
59
983
18
960
88
758
355
457
888
238
423
60
561
211
587
260
341
584
279
552
678
305
606
241
997
463
57
632
844
724
759
249
496
546
294
719
730
948
728
413
513
314
831
189
140
1
621
489
800
163
168
703
388
787
189
834
371
69
198
133
448
867
877
366
429
874
121
140
810
271
304
796
770
713
958
264
694
859
964
122
901
569
406
155
804
856
298
662
513
492
146
151
676
731
681
567
907
144
149
918
675
780
9
138
184
689
465
361
889
12
58
718
347
398
933
576
206
890
458
621
660
3
137
880
788
547
485
56
619
171
109
900
798
688
104
302
842
409
596
533
851
349
477
657
187
992
538
287
540
555
971
672
746
55
615
688
951
820
941
178
374
0
637
872
397
141
75
603
299
154
139
532
859
965
869
443
5
144
752
105
588
488
173
174
802
439
327
472
752
717
580
14
249
329
394
54
730
428
71
389
848
158
227
542
228
364
283
331
112
89
631
815
362
508
369
891
192
194
543
582
584
812
826
78
543
316
105
595
132
551
147
116
641
511
683
349
919
551
761
322
241
620
504
749
802
145
587
727
515
700
672
651
954
292
346
415
793
7
630
244
592
316
354
588
716
231
591
742
301
861
783
254
29
93
587
454
247
149
923
468
135
467
376
725
842
640
656
821
372
866
589
875
834
516
825
580
435
733
878
938
566
226
340
911
713
276
985
763
331
271
174
769
983
780
297
247
675
992
338
798
709
449
445
897
900
72
184
222
988
904
484
600
383
553
276
807
324
229
46
52
832
784
708
416
471
791
586
750
618
246
714
689
590
843
171
631
925
505
144
33
961
409
793
16
158
75
914
445
242
93
258
201
455
207
578
435
207
931
293
956
987
416
230
24
617
825
272
941
547
234
860
407
303
784
970
941
615
596
516
138
690
80
347
448
944
731
668
325
390
63
741
33
429
346
194
714
115
325
715
778
477
365
580
641
638
604
991
297
83
26
120
586
435
150
347
33
778
140
36
2
85
356
565
617
133
703
719
105
822
884
140
823
909
675
20
250
550
149
817
286
225
510
139
168
205
37
608
581
190
548
875
235
212
930
326
489
236
604
472
700
59
976
725
959
527
811
396
217
971
602
61
571
947
633
764
15
644
55
768
426
42
501
39
157
115
363
374
158
664
263
115
984
985
406
815
935
421
269
127
866
775
985
293
340
472
121
144
640
783
784
155
913
335
753
993
664
143
634
612
463
86
204
624
636
11
228
477
760
588
84
33
648
751
191
150
333
391
265
573
668
132
462
171
510
717
82
890
911
361
533
415
844
102
976
324
124
661
793
177
318
168
784
797
782
990
255
823
436
562
899
909
143
988
284
255
704
694
284
600
663
15
601
692
877
607
217
407
372
187
136
47
774
206
761
873
338
563
345
470
252
457
786
619
380
87
20
25
672
630
453
890
185
423
937
316
137
158
458
821
148
752
659
873
447
718
517
868
992
394
267
338
248
175
581
350
916
773
451
660
127
969
613
396
825
845
557
80
443
393
459
234
278
711
631
48
761
467
771
153
630
759
967
670
96
201
90
448
944
844
758
200
670
715
701
230
203
892
676
866
887
886
379
862
42
255
777
190
861
200
829
922
384
683
524
712
269
732
361
370
691
1
284
336
757
560
936
814
181
713
247
482
708
959
731
93
876
795
279
116
263
154
186
307
105
383
746
455
106
687
949
906
307
557
776
436
479
699
480
175
329
25
118
808
932
127
887
660
829
916
449
746
485
66
998
486
864
595
309
918
111
823
3
623
101
813
298
522
750
430
956
976
326
140
245
411
382
334
271
218
667
22
603
834
594
191
146
232
33
737
28
548
811
561
982
675
709
422
62
559
350
164
446
841
52
972
316
285
142
736
218
341
619
691
146
82
422
814
416
845
760
46
529
136
160
388
867
170
939
766
725
12
703
218
734
526
196
638
999
685
464
866
236
123
848
857
917
541
386
67
365
717
303
528
694
920
472
655
974
19
101
123
711
700
48
118
252
297
681
212
701
827
503
361
176
375
956
830
492
898
96
547
947
544
819
914
401
738
933
514
91
911
700
426
957
846
280
952
195
788
79
464
733
299
402
309
92
63
485
734
158
361
230
770
748
809
267
308
705
872
159
113
527
475
57
425
780
850
716
469
978
215
377
409
108
724
118
478
299
345
983
721
157
916
841
175
709
571
611
168
740
241
381
488
650
179
595
850
659
48
550
275
266
411
936
789
247
954
823
784
810
677
912
537
520
537
639
388
541
747
288
977
614
980
324
264
836
771
191
994
534
949
304
810
220
918
690
488
755
554
987
570
135
921
468
817
206
654
490
50
914
931
900
890
631
919
651
808
605
695
656
972
845
35
310
944
628
583
165
564
179
89
768
84
186
678
534
366
920
608
857
826
462
156
86
872
681
144
735
950
849
702
890
375
947
992
241
168
318
302
772
994
585
933
137
335
282
919
645
781
820
506
27
32
519
497
543
200
458
450
512
980
682
402
624
846
66
144
635
952
740
831
551
10
946
433
839
727
533
653
656
493
677
731
155
799
402
486
665
723
758
970
916
323
506
66
985
51
645
681
689
425
783
905
71
6
641
439
571
884
714
343
377
74
51
496
38
377
852
692
705
340
864
178
168
452
174
891
744
230
385
154
521
532
935
733
332
161
233
22
139
877
241
366
689
150
107
461
885
359
607
951
952
369
524
474
546
950
293
386
762
499
325
595
810
828
179
200
721
438
55
958
585
255
373
114
313
728
545
553
872
332
666
19
248
428
73
443
538
43
802
849
704
32
395
365
141
334
36
735
271
416
140
157
797
327
384
958
292
971
843
996
197
121
855
518
332
250
318
594
719
352
520
668
351
371
87
33
214
954
356
140
984
3
191
601
971
932
205
486
629
351
8
158
50
493
9
843
90
908
665
5
749
444
517
966
488
998
879
907
156
382
132
615
293
708
736
476
42
870
19
65
294
410
900
981
169
231
349
451
361
275
979
167
463
919
315
887
88
212
258
372
614
622
760
353
106
677
984
731
774
775
613
755
476
259
214
609
923
211
861
901
852
671
323
908
890
932
588
748
729
548
707
927
762
310
550
176
828
619
959
518
298
560
244
889
391
756
330
103
228
162
403
839
994
143
590
872
937
861
422
0
981
590
722
611
414
161
402
5
879
164
392
584
842
531
366
675
219
910
148
354
523
187
420
975
990
449
747
14
282
266
111
71
448
376
96
973
517
449
251
228
299
797
920
579
455
101
180
778
705
411
353
646
15
906
191
885
36
292
482
10
944
828
921
314
448
449
63
215
731
652
647
588
190
530
681
637
733
117
748
160
495
975
489
467
691
264
725
969
122
8
669
628
127
735
1
36
460
740
116
13
959
337
415
395
613
239
622
392
588
85
762
82
197
906
822
874
604
782
909
287
311
745
885
393
881
953
796
296
249
140
411
138
12
453
642
615
929
0
339
704
572
565
773
159
405
635
863
323
261
376
753
872
245
429
599
426
636
134
809
693
880
623
274
596
158
803
944
231
295
135
314
150
615
582
341
492
697
507
81
806
501
2
647
168
938
845
386
461
912
523
702
320
442
46
958
924
254
45
65
442
36
557
828
552
865
800
822
59
610
802
316
292
513
594
205
999
963
579
918
912
101
61
909
800
787
223
632
244
674
448
282
435
985
618
576
810
173
769
146
487
445
892
554
382
182
67
29
289
570
143
959
188
25
817
835
645
519
10
508
644
32
939
155
447
957
847
652
508
726
509
705
81
676
277
408
242
485
385
749
465
652
167
185
728
58
855
442
99
108
93
832
265
485
761
521
304
785
232
150
679
438
188
978
496
929
623
178
822
855
49
499
164
919
477
424
465
10
468
71
778
686
800
710
104
239
642
676
298
435
54
725
474
14
990
399
650
513
480
688
403
840
522
279
337
682
480
744
982
756
896
232
12
598
325
761
847
738
595
292
976
378
340
987
403
184
261
899
50
613
412
955
77
953
324
265
828
704
794
496
629
768
875
340
361
657
392
934
258
6
23
784
498
456
69
844
322
339
90
172
55
325
427
380
821
997
559
653
179
712
281
329
565
701
231
946
998
748
806
499
131
103
490
659
100
440
460
480
99
643
812
529
536
384
143
565
358
988
759
361
416
217
892
734
787
422
720
860
942
28
214
403
303
929
622
801
304
693
635
296
420
518
328
117
870
50
857
724
743
353
694
685
346
613
58
507
728
909
163
563
955
138
416
907
377
171
773
866
477
738
642
390
926
857
846
424
153
84
93
584
716
621
854
621
623
214
818
338
779
146
397
249
511
514
337
838
145
629
568
856
777
527
748
260
339
96
979
150
871
765
871
801
42
175
971
86
492
148
719
652
672
39
354
212
232
493
833
711
328
323
900
11
717
322
981
718
961
294
927
676
750
75
332
502
891
787
121
903
382
619
729
233
505
343
479
650
385
404
22
327
415
791
119
766
791
596
519
191
906
603
837
283
88
68
691
660
59
869
800
837
912
368
887
765
256
556
338
467
376
381
956
974
159
292
791
658
294
231
403
757
544
639
137
28
539
717
603
485
18
744
754
304
975
42
948
215
124
310
735
96
378
86
33
995
791
52
995
94
32
550
657
18
285
534
261
495
680
902
511
463
621
849
385
383
795
267
587
473
784
659
195
30
679
540
146
903
625
367
56
660
4
107
99
833
405
342
377
997
667
123
739
803
755
899
566
529
238
479
243
793
884
163
947
891
387
472
765
902
435
164
992
105
123
65
343
655
773
278
734
112
36
839
157
480
807
7
768
61
683
868
779
562
713
276
703
438
864
985
244
586
290
456
402
229
942
766
834
72
485
360
886
278
203
640
889
657
798
622
906
13
951
918
402
232
214
780
983
674
286
384
836
273
5
559
455
194
534
817
784
289
963
335
359
197
372
165
89
809
734
255
686
856
724
911
457
792
722
389
452
260
107
168
686
317
979
61
233
938
573
716
252
747
179
398
783
133
112
648
365
384
353
17
714
483
820
458
574
333
782
925
640
786
604
681
659
642
386
73
358
831
198
302
993
402
151
356
10
661
865
140
607
200
645
790
762
76
585
269
949
414
446
506
633
333
761
919
581
972
751
826
105
847
751
436
933
317
148
599
363
863
763
105
991
205
616
495
344
854
854
132
880
583
434
228
110
860
501
149
330
635
638
561
207
303
345
0
333
188
744
99
172
310
625
408
745
137
873
788
391
113
639
371
462
559
259
65
833
547
107
488
700
227
946
843
903
704
652
727
230
206
610
555
153
423
135
774
330
990
619
201
30
908
989
889
647
869
29
587
507
874
350
75
794
608
861
206
313
629
108
312
904
212
451
47
512
695
367
249
209
638
10
910
296
144
946
925
42
945
655
612
999
26
638
784
616
62
289
928
17
850
309
682
803
426
986
760
633
36
700
248
987
509
394
593
729
914
401
903
505
854
555
114
647
950
942
213
182
88
729
24
931
278
287
454
148
94
270
596
625
552
224
517
558
63
921
311
788
1
506
434
692
39
157
991
316
249
944
909
665
464
279
306
127
157
662
683
542
226
296
376
914
470
323
350
549
14
24
891
807
872
981
589
805
53
924
595
972
386
937
597
843
625
838
647
207
29
245
47
922
527
13
737
287
494
845
118
565
464
878
233
389
278
13
651
774
734
38
615
445
824
48
383
746
351
418
850
132
927
402
817
618
101
49
944
221
188
116
735
98
358
692
268
762
681
61
296
753
948
74
0
223
639
556
158
879
459
467
488
846
580
888
436
599
657
976
698
640
409
536
153
436
397
464
811
951
936
587
316
543
472
217
99
492
736
959
462
175
223
476
833
596
803
481
111
103
923
217
17
20
742
985
539
153
960
296
524
679
970
464
421
921
257
478
226
397
832
86
861
561
541
200
962
615
268
879
449
305
465
208
329
307
996
542
781
32
173
445
555
365
482
123
866
393
683
904
214
364
459
764
126
100
191
433
792
862
23
660
190
125
782
854
921
141
60
705
400
22
223
355
250
534
943
451
395
115
496
245
566
301
98
754
858
843
907
505
291
11
577
124
164
264
854
488
904
303
964
155
223
382
118
298
860
649
386
827
299
154
402
126
578
623
318
778
512
645
454
223
907
997
49
924
694
329
784
91
950
534
956
479
179
183
280
697
717
874
203
848
259
974
230
493
233
40
423
268
119
644
283
126
253
62
805
380
267
688
86
315
780
828
415
321
292
215
629
704
819
677
264
658
129
534
856
569
39
350
787
399
913
758
578
833
398
32
664
862
586
391
932
183
121
343
644
542
758
679
475
721
706
789
990
361
14
864
720
883
376
227
197
433
111
32
479
771
15
272
428
400
791
5
237
751
556
116
691
746
79
413
74
123
166
994
506
291
476
715
576
499
258
320
887
847
448
146
200
507
10
408
154
420
892
729
158
591
512
241
340
312
259
861
103
321
996
416
383
842
172
873
948
991
477
165
852
525
444
672
675
970
922
438
18
483
170
31
628
73
660
125
75
555
180
334
137
550
256
745
442
200
403
568
476
578
998
788
322
352
921
483
785
906
719
573
356
121
44
129
51
203
154
80
840
934
387
812
620
836
554
250
718
420
279
967
834
824
580
914
860
403
585
640
215
596
597
752
232
197
55
246
76
541
238
808
856
922
64
959
710
76
406
97
917
573
517
481
859
426
579
350
908
912
266
952
239
322
694
670
13
980
695
794
267
978
487
231
341
369
586
59
317
886
459
471
93
589
737
856
499
697
480
657
145
754
554
199
354
752
99
628
634
26
87
461
673
305
207
249
418
879
408
149
115
321
288
386
262
187
327
99
208
284
978
866
111
777
725
286
241
454
842
79
464
197
652
760
635
470
473
7
27
851
914
243
875
349
352
535
145
192
933
666
228
786
414
389
258
464
899
756
691
505
432
67
409
451
882
987
630
282
656
503
970
88
434
928
129
677
262
958
588
203
404
152
763
960
306
428
776
542
994
140
59
666
476
569
706
314
679
176
310
551
517
261
954
47
42
9
980
242
51
814
812
145
736
970
360
977
211
855
527
853
139
200
577
324
612
214
959
730
52
695
736
168
673
384
987
459
14
298
66
894
943
320
182
902
157
833
988
29
463
302
739
246
179
228
466
110
995
950
292
619
264
292
689
960
965
697
36
891
263
991
985
327
343
951
157
582
455
640
664
908
369
85
756
260
961
965
929
614
346
220
275
279
227
938
950
261
209
712
449
310
394
91
186
410
675
722
177
194
626
253
61
479
686
675
878
7
601
954
344
161
147
728
12
629
907
560
918
310
665
311
353
992
110
214
87
500
885
89
509
9
543
724
991
190
354
448
709
266
588
635
674
272
592
756
302
376
677
785
800
938
89
860
587
891
842
742
267
961
413
268
484
523
407
868
566
524
245
700
729
717
648
566
923
499
642
290
750
381
933
989
848
696
488
409
233
104
599
421
360
294
697
878
385
300
434
442
481
369
653
511
878
383
718
311
381
981
909
338
156
318
364
53
338
623
262
132
629
522
570
207
764
376
581
527
103
444
542
529
457
163
319
196
816
996
562
392
390
766
270
554
877
922
21
84
709
814
129
749
540
132
336
482
565
461
392
150
492
225
136
748
10
290
662
132
615
410
225
357
755
743
514
989
216
956
811
761
364
779
688
364
520
163
65
834
790
985
99
329
28
851
215
519
237
460
429
856
281
957
960
284
627
953
837
713
994
635
539
873
671
791
615
860
641
761
689
81
636
514
540
13
518
698
832
343
585
730
501
434
501
772
507
555
975
500
478
55
314
441
23
809
701
370
272
414
360
511
345
995
720
28
489
618
784
815
730
661
389
98
441
594
435
695
512
607
159
23
266
498
144
128
174
865
590
984
792
730
247
465
335
55
599
275
913
656
275
55
508
39
911
179
393
306
701
279
495
98
773
414
348
928
203
827
836
828
59
592
683
511
429
515
968
264
961
927
831
326
964
949
26
982
860
611
914
74
262
483
334
91
294
191
12
187
809
894
246
596
376
445
781
475
509
582
411
293
982
696
509
763
64
33
936
273
163
62
231
546
10
653
355
998
684
509
394
837
786
457
903
191
290
732
654
665
226
191
173
613
836
504
252
401
305
550
151
550
844
634
920
609
365
490
502
68
710
848
741
154
722
854
591
822
294
505
916
76
788
378
569
111
194
674
839
291
571
11
167
611
83
530
337
143
84
100
651
73
406
122
227
204
540
858
283
488
539
567
305
938
425
84
228
664
344
592
890
87
404
926
184
716
235
402
866
946
60
51
950
929
987
680
258
510
715
6
84
64
484
897
193
148
52
375
76
778
766
355
164
136
556
631
854
887
322
669
16
381
497
763
645
956
199
237
13
583
317
935
108
751
420
566
623
888
366
277
857
379
493
867
446
818
753
128
60
300
787
454
784
920
284
574
270
734
720
417
117
528
464
910
104
397
958
818
747
813
987
885
435
644
630
430
28
168
260
243
708
213
24
924
669
978
507
973
301
122
119
857
837
996
53
534
640
409
527
887
300
515
978
292
255
592
215
643
756
451
414
934
560
596
111
973
393
486
791
917
944
267
506
567
941
887
133
752
563
198
76
202
270
838
684
451
903
20
396
779
437
157
255
499
261
956
649
390
519
404
433
296
248
277
774
566
749
193
257
546
350
105
230
790
280
59
717
892
159
300
394
203
558
454
285
379
878
892
199
417
531
212
986
890
348
846
700
913
353
627
156
6
11
205
823
908
132
692
450
248
620
384
834
158
376
685
337
153
262
259
800
182
523
667
472
939
185
908
23
539
347
619
241
369
529
975
919
905
127
994
731
635
358
482
160
556
593
395
812
118
619
437
709
504
30
869
555
484
3
330
876
401
874
581
279
601
773
410
767
836
658
839
281
881
48
763
861
923
282
52
681
413
226
352
139
619
660
851
836
700
297
952
396
817
587
667
962
584
329
415
42
565
530
76
977
588
962
365
244
282
188
975
682
606
824
878
666
168
271
394
199
46
413
871
298
323
795
972
579
340
699
640
353
853
617
825
613
815
646
80
513
467
846
73
265
41
928
96
196
289
565
204
876
774
660
630
902
741
841
641
54
244
2
872
160
570
386
275
553
350
66
928
197
602
550
445
596
111
458
278
573
217
333
203
655
413
213
912
581
9
355
286
848
1
600
405
230
794
935
219
656
157
430
50
524
29
700
830
310
947
966
761
185
129
224
734
275
457
115
347
308
896
912
985
641
796
752
345
458
320
497
145
99
132
707
173
677
566
742
756
57
481
674
448
270
787
136
11
795
923
108
108
956
282
755
607
203
629
234
496
933
545
75
514
642
425
57
764
413
456
645
459
644
574
510
289
859
742
4
71
567
675
840
659
15
352
397
189
161
596
271
335
743
862
360
482
53
590
375
197
381
854
121
93
973
560
594
468
995
599
873
202
400
68
810
908
242
791
644
985
617
908
636
281
566
247
75
178
804
741
167
269
230
846
28
53
754
949
248
317
844
981
176
875
40
577
167
838
543
759
668
727
486
394
358
398
999
916
940
751
899
803
498
687
261
896
159
916
99
49
816
474
862
45
568
701
864
860
46
929
88
784
153
348
257
669
428
912
636
322
760
51
268
586
892
344
398
776
496
82
978
271
574
361
601
173
942
700
28
895
80
111
208
496
13
217
925
480
540
301
645
435
740
901
77
891
148
844
239
54
63
456
167
866
627
145
901
208
321
762
292
857
696
86
766
67
936
920
286
726
294
237
406
9
684
816
30
425
794
275
533
396
986
852
391
695
319
767
403
505
39
590
761
23
912
998
30
318
492
833
386
901
234
276
59
657
822
729
674
807
608
110
843
612
981
67
664
137
578
325
80
8
301
611
499
11
676
788
929
625
613
714
220
561
328
658
101
884
206
931
354
407
195
92
823
307
62
36
336
732
849
894
461
61
137
105
547
436
802
25
224
426
302
966
574
556
729
408
801
683
228
439
175
578
2
78
307
171
759
726
245
475
847
195
46
628
285
105
574
63
115
525
483
778
51
469
846
625
871
797
192
913
915
202
435
884
239
654
722
878
702
755
832
571
946
121
92
493
753
485
287
128
294
141
723
118
410
30
790
824
961
145
664
607
639
535
238
801
573
304
62
431
398
267
837
386
342
972
55
73
719
30
630
756
334
359
271
603
415
955
331
904
57
134
161
9
849
222
318
905
219
458
37
620
51
993
886
799
467
770
852
657
709
526
249
235
512
340
271
151
72
201
758
197
415
423
17
125
268
951
594
41
928
946
483
589
532
45
435
731
578
888
143
93
328
601
590
515
240
551
958
499
241
339
25
321
595
600
5
23
670
330
865
219
987
906
958
257
639
936
293
289
838
297
385
497
276
331
930
885
862
167
968
258
197
959
626
965
792
783
319
326
924
864
295
798
931
83
670
997
757
504
925
790
999
488
491
868
426
114
230
242
608
473
463
697
756
648
782
150
841
5
973
26
245
611
640
68
668
342
519
824
586
700
223
700
52
25
603
656
690
929
359
740
772
864
886
646
619
60
123
420
203
531
272
366
478
991
816
620
116
113
225
863
373
971
839
607
504
711
347
926
999
273
57
457
868
340
186
312
661
414
176
138
289
649
614
568
627
39
675
403
348
508
83
900
359
58
111
446
784
710
251
747
74
493
903
718
584
804
1
448
947
326
32
822
686
903
298
858
514
60
33
910
543
697
379
258
47
547
218
512
628
954
284
26
994
688
922
977
808
72
128
847
167
338
918
864
588
782
572
786
705
971
58
10
276
826
494
579
611
987
417
731
473
260
671
402
832
969
615
464
546
715
889
238
447
613
681
757
542
536
425
924
30
913
790
886
897
406
885
529
80
560
711
453
786
912
687
803
182
760
695
817
730
108
825
880
740
749
337
729
908
981
43
221
693
78
721
372
647
800
363
787
261
627
734
478
393
774
238
633
106
326
497
390
828
19
915
437
857
29
615
18
63
824
334
613
647
754
740
230
549
972
620
841
843
817
243
782
597
928
930
238
671
82
323
607
237
978
142
19
85
835
172
21
234
93
68
868
333
276
793
467
281
805
181
606
131
413
865
465
499
23
215
126
873
712
643
693
273
457
293
968
39
573
352
228
177
138
431
252
28
355
805
634
440
177
243
454
698
778
19
777
7
275
71
232
353
585
460
617
319
971
560
146
356
213
122
96
183
208
477
716
460
747
719
370
125
386
552
545
614
990
357
961
174
63
265
963
298
190
496
932
596
131
548
574
117
154
187
310
484
61
400
704
796
352
226
531
176
46
402
165
83
967
731
37
260
43
544
76
324
161
240
996
75
219
491
661
766
541
428
149
542
532
980
160
178
138
849
550
94
300
652
882
973
595
485
779
899
538
903
966
8
153
239
128
871
183
293
781
944
959
982
512
801
77
462
189
633
344
52
683
971
395
357
95
928
303
643
547
670
482
491
287
444
491
933
406
753
481
243
926
274
625
239
883
566
988
652
382
244
265
506
326
637
30
727
436
790
698
998
658
302
171
785
250
641
416
318
888
156
368
158
78
747
131
342
445
652
784
103
428
73
684
141
925
742
717
483
397
834
959
882
831
351
270
77
708
619
194
369
836
141
922
141
386
90
782
278
592
863
240
808
196
551
219
87
425
291
930
151
875
962
537
731
455
638
849
525
452
915
222
984
861
939
425
684
604
471
213
660
109
451
552
973
693
950
136
640
579
429
720
558
690
230
728
575
718
583
470
442
92
881
11
205
227
768
173
691
705
832
184
845
650
961
628
35
434
616
916
608
443
388
87
344
142
739
461
411
943
559
470
793
763
352
541
795
147
320
815
479
246
653
539
387
920
578
932
786
550
589
517
8
915
558
601
714
346
86
499
470
981
45
333
138
704
730
541
130
222
157
82
147
40
857
772
359
979
606
975
343
439
356
905
433
321
508
478
17
863
565
759
574
9
89
88
671
909
265
227
218
311
952
72
742
869
752
621
125
343
199
16
683
558
541
391
97
716
707
470
960
787
608
546
542
948
570
132
683
523
759
41
872
536
471
251
246
773
191
528
575
897
13
746
567
854
501
182
265
717
156
795
152
494
671
244
894
758
424
121
258
597
841
912
248
880
291
549
427
170
69
392
233
572
966
958
341
728
973
556
508
327
25
716
333
245
232
247
571
292
478
641
14
139
490
4
719
237
793
216
960
473
808
837
792
679
713
559
519
785
954
690
636
163
400
980
632
573
507
652
315
311
852
625
773
8
694
169
77
560
2
941
859
893
173
387
645
581
700
967
554
694
655
983
25
548
655
546
8
150
713
428
825
549
113
767
753
999
237
848
634
72
771
10
177
276
299
736
165
2
904
321
870
191
14
145
522
587
838
782
780
268
531
325
529
251
169
958
206
397
375
538
869
156
647
629
162
797
510
964
202
934
12
663
532
682
901
455
38
744
326
310
518
215
177
399
975
181
976
526
380
974
824
553
881
291
964
826
103
210
389
176
600
268
541
733
434
431
933
844
903
220
27
443
146
755
421
968
206
370
971
374
75
483
868
669
791
495
461
86
75
597
495
627
240
792
817
558
998
797
714
105
765
442
206
487
438
127
139
934
285
567
355
566
781
390
155
429
191
265
349
941
629
412
564
323
68
57
443
348
667
701
391
196
63
435
531
868
482
809
831
686
852
455
488
761
484
757
593
269
427
959
541
148
377
407
846
588
856
192
177
917
69
874
946
462
535
344
425
281
58
949
782
497
950
374
224
909
9
992
386
883
11
366
330
213
663
747
790
464
310
155
106
325
516
421
8
557
242
993
627
805
541
921
130
267
694
352
726
550
800
553
295
118
322
785
50
742
99
609
218
564
69
104
563
751
764
28
617
732
641
560
307
927
367
13
572
496
25
831
42
203
87
369
583
834
837
599
413
37
926
528
234
653
843
626
153
623
580
140
275
512
10
374
839
834
241
745
445
825
716
840
621
663
735
813
891
624
119
222
813
721
720
552
67
331
601
882
286
124
641
175
267
819
983
605
58
647
663
992
668
74
563
360
3
206
344
404
33
238
789
945
648
701
712
651
948
558
29
175
445
342
738
231
464
354
923
473
107
944
583
978
110
444
610
925
273
314
583
867
202
244
499
891
340
764
205
999
12
110
94
270
318
693
663
191
286
291
393
202
749
379
981
615
276
187
300
129
272
815
948
215
399
372
193
80
286
369
615
71
785
339
976
573
127
649
748
158
487
612
704
444
548
686
812
921
248
853
949
542
550
27
985
948
420
379
968
53
417
845
450
109
343
377
859
377
587
502
813
95
643
642
952
527
161
667
392
286
717
315
472
839
395
395
298
422
31
660
622
53
303
326
347
477
777
353
208
128
245
102
855
787
615
957
899
182
800
947
163
396
11
330
322
540
147
704
427
454
650
690
576
544
782
123
608
204
688
478
69
523
220
469
379
335
703
177
250
125
971
916
196
710
186
317
611
218
71
8
454
817
939
717
87
540
185
245
41
851
994
787
260
330
43
545
850
333
145
883
281
760
12
261
481
404
279
597
687
42
300
45
454
273
122
280
501
465
243
526
887
857
761
608
807
844
346
299
564
309
15
838
724
965
451
809
121
248
8
491
382
938
962
402
583
637
517
568
996
976
421
418
833
157
93
221
626
104
974
531
787
477
611
650
85
116
551
321
101
297
356
803
376
835
791
713
706
365
581
588
897
726
298
561
70
824
907
490
317
407
980
957
469
611
960
764
764
391
344
916
987
15
84
11
780
606
919
777
35
867
109
632
975
324
464
814
784
932
433
391
482
208
389
460
717
325
410
765
338
357
197
281
737
836
383
610
48
58
361
921
744
202
325
881
269
459
512
190
781
692
86
584
573
780
348
715
797
672
504
181
261
776
392
404
528
276
889
905
612
202
188
25
605
674
629
968
830
678
819
576
617
682
441
138
156
363
365
601
258
993
124
657
67
889
530
423
685
248
53
452
594
600
550
763
448
765
941
928
722
676
5
763
584
973
798
860
574
441
558
390
158
40
981
241
698
417
372
564
703
840
106
421
850
364
144
918
707
423
328
887
934
829
335
537
857
646
893
172
129
173
436
330
398
631
935
633
612
469
779
332
361
579
627
160
26
400
686
344
440
662
232
478
126
182
391
860
645
920
711
180
288
564
926
232
559
534
298
15
555
689
830
57
695
943
681
714
1
602
377
504
983
284
462
821
425
589
822
735
555
981
170
129
206
114
139
934
57
172
285
19
93
774
216
442
142
784
750
871
927
398
240
549
446
730
215
909
424
696
131
117
798
756
273
838
253
443
110
117
474
94
296
415
213
265
108
642
636
182
761
150
184
247
378
517
824
882
222
753
808
812
407
806
844
521
268
277
810
557
493
767
493
605
344
575
740
62
328
69
657
484
877
962
651
669
857
698
732
928
337
605
933
393
324
281
10
972
296
194
864
728
648
52
74
912
536
13
738
157
795
877
936
427
170
9
735
859
344
904
699
412
747
142
180
506
183
634
475
357
334
879
283
166
381
442
528
943
186
846
499
512
306
841
236
412
657
449
434
230
817
211
234
60
173
100
608
869
790
511
772
36
296
243
709
941
540
680
208
620
276
766
790
636
97
233
314
547
44
468
993
927
514
256
636
807
489
865
524
415
428
934
189
384
923
471
171
736
522
827
242
864
887
872
932
15
690
217
657
918
871
608
281
304
143
751
950
720
302
811
499
354
511
189
695
521
932
86
564
180
194
905
731
579
746
55
279
785
258
203
886
845
497
970
39
795
736
612
6
595
688
647
429
823
714
865
2
203
499
581
922
97
760
481
22
801
297
862
775
584
111
634
770
825
548
569
905
208
908
449
593
204
909
809
456
453
497
254
699
979
983
52
369
468
690
957
326
128
217
740
21
89
976
382
754
429
751
643
12
469
962
25
51
769
538
495
287
275
593
635
500
579
70
303
302
390
985
11
108
426
964
810
669
363
1
347
573
887
808
898
647
659
196
646
889
315
746
22
817
444
372
71
341
360
235
445
423
852
788
158
595
448
350
745
389
437
61
785
55
184
410
175
353
179
361
365
347
521
492
260
552
932
994
143
748
189
362
648
15
969
79
443
470
734
571
206
732
677
108
841
842
413
702
569
400
113
551
73
438
967
183
765
192
521
872
266
260
104
823
260
474
508
409
93
619
557
245
720
263
593
150
996
375
775
233
267
447
905
912
247
984
783
321
492
360
102
825
75
613
526
746
168
140
725
685
655
416
2
883
237
31
756
358
907
853
791
932
169
713
306
147
454
338
163
219
588
303
759
904
723
549
127
980
703
400
379
976
537
609
178
244
671
895
977
12
712
365
908
101
470
8
769
997
901
804
735
244
49
304
686
779
712
466
246
415
292
493
829
18
517
109
836
623
764
740
338
609
711
295
818
414
396
984
795
578
352
356
220
716
887
523
364
212
301
277
224
493
351
44
846
805
513
903
383
604
927
88
140
898
942
669
19
167
691
231
104
983
595
204
264
957
416
884
526
656
700
381
995
396
587
707
615
734
320
537
342
676
816
369
319
970
499
284
312
420
533
775
490
242
606
898
745
966
541
131
416
185
994
170
953
883
838
79
667
690
2
396
688
332
551
53
17
467
474
605
683
968
772
644
445
289
301
58
866
327
510
246
999
727
516
470
477
206
29
368
456
352
819
590
53
331
678
684
38
869
894
721
625
345
322
141
159
771
680
514
838
111
667
139
56
875
244
315
831
519
30
535
958
983
428
161
238
705
794
446
279
527
263
896
729
115
563
966
916
475
739
900
293
33
266
581
480
170
13
654
468
166
472
181
860
237
760
355
963
516
83
381
807
42
133
562
222
179
849
515
670
305
109
339
864
612
67
182
475
689
174
422
987
485
28
750
388
449
731
403
631
306
114
800
539
240
385
424
515
671
589
387
544
743
234
674
211
748
375
227
156
916
667
479
977
953
536
917
796
348
345
88
787
398
238
958
864
378
345
306
416
900
61
783
16
833
352
440
162
842
863
804
893
690
301
957
684
128
112
399
541
530
804
695
530
450
470
481
995
363
54
345
218
284
473
732
644
323
600
969
268
179
762
291
152
890
337
562
959
809
571
685
19
551
118
23
580
738
754
601
371
165
98
277
384
934
905
426
653
741
350
227
491
958
364
184
223
297
480
602
300
65
975
338
907
29
576
866
140
688
198
574
505
256
437
895
725
785
136
34
267
187
652
638
71
660
339
949
754
676
546
66
936
64
164
301
570
59
680
750
858
247
344
308
437
120
578
89
173
9
680
89
125
99
72
452
78
556
8
14
239
983
201
982
873
94
514
966
585
143
637
141
564
106
714
923
559
939
164
672
167
233
791
975
730
248
981
283
981
211
628
221
320
49
143
948
194
185
307
395
888
916
974
337
990
271
932
487
998
928
582
226
866
630
326
695
54
90
789
292
666
142
552
112
891
127
852
431
687
659
665
584
97
717
389
525
190
632
601
185
246
581
138
229
722
783
743
131
839
918
780
399
679
701
275
991
769
370
142
943
146
139
554
867
37
63
439
707
790
590
710
694
687
130
898
356
644
991
962
726
616
931
470
934
31
992
716
584
366
78
981
585
159
391
655
430
860
97
387
667
511
371
827
614
276
63
606
90
310
634
168
977
469
513
745
903
484
72
820
683
149
514
497
395
429
322
73
0
351
148
987
396
520
102
238
773
303
912
436
639
184
357
942
412
358
907
451
977
640
294
260
81
840
90
731
476
592
519
448
128
542
818
147
630
611
479
819
638
174
452
985
972
583
194
928
639
453
215
309
293
117
365
548
823
22
109
887
914
768
89
256
485
741
494
677
865
696
542
723
224
273
810
309
826
40
703
930
663
719
132
279
30
199
856
19
853
182
969
918
431
900
164
784
425
799
630
723
308
123
243
819
779
937
964
846
105
889
443
316
722
709
883
997
62
246
558
404
425
864
896
957
323
553
610
93
837
485
994
181
64
588
622
297
551
42
230
987
275
706
480
844
106
480
538
604
521
35
372
216
346
423
847
264
315
924
615
498
625
308
455
674
940
637
711
244
723
543
303
339
870
796
801
232
124
26
566
965
962
850
283
384
307
388
187
266
165
128
173
905
302
435
830
394
713
260
580
185
81
886
672
74
81
115
855
812
875
933
715
135
528
476
990
507
162
637
155
558
260
721
511
550
206
610
695
136
559
940
184
363
159
714
129
382
797
936
249
468
172
336
828
6
704
497
462
213
462
554
670
45
535
264
14
831
86
593
159
787
166
14
950
764
887
951
207
993
724
500
197
252
329
462
609
365
210
841
684
525
77
508
156
734
596
807
111
615
747
705
499
270
443
122
572
935
996
389
324
622
321
348
51
211
502
569
420
912
312
147
641
180
981
946
24
440
564
956
502
62
964
199
378
697
593
280
232
494
530
186
909
907
47
670
380
251
186
152
815
501
837
96
887
142
85
772
583
54
502
687
16
314
81
580
360
271
915
468
407
631
825
256
430
144
396
288
53
762
440
540
815
614
240
66
396
138
671
345
982
857
227
560
903
554
659
576
474
159
644
496
887
76
339
321
988
702
98
401
646
106
949
248
859
466
372
962
492
997
863
287
910
639
755
720
163
347
150
989
857
679
519
302
587
87
32
117
144
313
513
779
963
62
99
732
615
912
791
471
325
69
46
717
527
140
909
363
34
595
204
56
875
105
113
488
158
815
979
107
453
686
118
688
150
868
733
269
597
831
859
807
255
16
280
377
44
930
422
173
731
609
410
879
308
492
595
157
652
806
715
249
924
126
636
77
189
683
828
759
268
955
218
790
442
807
632
389
46
292
977
557
592
260
966
959
66
884
453
261
987
668
689
408
741
250
63
951
647
486
676
107
977
870
277
112
838
900
114
818
220
638
584
468
372
715
398
448
329
931
53
668
39
834
944
61
605
953
875
488
536
486
724
12
609
653
313
662
68
723
932
974
303
458
148
279
835
20
457
503
916
262
545
518
260
469
213
201
865
930
969
166
43
194
434
38
872
831
674
341
409
744
830
154
696
923
719
169
159
868
290
467
765
936
79
120
621
108
323
732
300
541
578
290
523
378
891
568
408
556
932
31
881
139
883
338
136
28
401
801
70
957
991
345
887
600
9
612
856
73
55
384
575
488
786
483
167
267
413
855
476
672
906
635
846
211
862
969
365
961
146
9
794
837
821
971
462
842
313
615
680
193
906
767
290
497
597
42
771
621
611
153
916
768
181
968
748
173
273
938
463
218
165
522
589
312
579
600
779
335
971
151
327
262
654
170
785
790
123
975
849
3
349
26
613
989
364
349
56
62
490
86
939
417
996
115
669
997
382
355
302
362
248
822
963
983
421
0
364
100
301
956
564
228
289
622
306
530
192
112
106
684
694
559
1
528
375
53
881
921
661
983
549
497
362
615
290
604
422
704
647
625
617
507
693
547
163
894
479
381
68
208
831
410
642
424
591
375
431
762
238
434
858
108
938
185
772
813
583
716
147
530
925
130
157
162
698
9
779
763
688
712
539
957
735
831
193
941
682
854
358
658
819
895
745
806
909
594
510
111
636
406
450
994
315
339
24
271
880
195
444
751
9
177
46
375
459
129
675
83
273
445
704
367
923
80
392
16
642
576
668
357
957
793
9
854
86
709
660
377
618
185
736
430
810
866
258
939
356
918
824
434
12
390
625
820
127
794
526
535
245
56
503
343
840
567
355
274
309
203
722
14
633
396
937
290
340
291
757
971
486
432
601
122
539
126
700
178
414
875
779
308
502
957
715
73
406
206
91
539
83
246
708
293
916
126
32
277
219
66
182
274
93
890
414
385
817
803
251
958
226
43
345
581
731
272
309
907
443
454
62
381
754
644
748
922
89
205
910
138
731
739
294
457
652
557
76
647
404
459
897
255
664
660
522
916
199
367
15
769
195
657
49
151
547
397
536
309
884
688
681
422
650
416
179
877
838
948
528
300
366
635
364
279
970
579
214
877
296
902
466
370
655
533
113
179
971
32
568
800
16
482
560
491
950
456
275
506
32
491
41
419
604
481
633
179
979
360
287
59
966
965
557
341
208
590
372
494
822
56
9
542
271
625
531
905
405
446
819
810
476
619
270
150
116
132
908
596
326
474
408
440
970
604
968
399
696
208
244
548
304
338
798
353
51
358
998
453
5
458
113
152
687
531
683
727
649
391
160
146
670
883
821
957
511
934
446
83
567
378
822
418
882
651
389
444
137
379
122
840
611
578
517
974
983
407
653
210
659
75
277
615
890
424
596
656
505
239
988
660
594
641
914
518
930
880
359
756
786
846
954
797
619
436
169
472
811
225
860
526
924
958
504
935
943
49
910
756
87
926
350
950
914
800
890
616
767
346
616
186
809
971
568
792
751
839
573
4
392
23
97
894
492
205
215
90
258
467
738
745
590
339
419
743
399
26
708
266
320
608
761
657
476
545
27
346
943
882
873
92
747
794
445
930
301
930
495
194
923
578
492
523
534
830
223
795
965
446
981
777
527
464
748
870
374
121
876
644
667
385
821
67
858
942
679
847
733
643
4
841
177
301
93
962
647
938
569
845
207
917
348
777
129
32
112
715
558
675
384
748
541
341
470
369
960
249
832
548
69
23
55
626
373
846
351
847
161
209
405
227
534
944
52
44
242
414
927
75
670
371
614
456
685
843
254
889
344
576
80
861
274
617
145
583
69
145
878
720
226
22
150
115
653
284
624
571
47
246
683
244
701
284
725
969
69
580
663
957
958
719
742
78
983
765
875
545
254
214
236
376
229
275
426
261
264
620
227
315
870
211
877
164
41
164
989
396
200
710
792
499
226
61
628
682
356
317
79
279
863
932
546
991
149
249
427
368
410
330
715
865
835
183
565
704
675
745
47
344
790
906
793
665
757
252
761
300
534
199
567
815
373
590
10
698
268
647
773
428
445
754
957
987
217
324
289
575
436
998
115
984
299
973
341
247
277
697
377
750
927
797
339
885
560
384
640
990
450
705
183
29
565
305
2
464
745
494
192
893
221
74
344
953
24
685
930
81
559
263
159
512
513
720
185
580
873
828
20
854
870
861
305
645
702
386
638
370
330
873
974
324
406
469
405
439
809
121
36
121
45
792
444
473
788
386
346
124
851
426
166
877
810
859
115
651
54
993
575
192
996
483
746
478
950
110
414
789
534
184
21
143
786
938
789
625
448
843
866
984
676
801
826
468
912
960
767
439
188
996
748
317
618
656
744
748
118
587
540
193
743
674
572
493
737
313
620
879
604
669
510
463
778
814
590
143
125
886
620
387
813
902
209
229
951
520
508
476
97
752
672
791
843
41
111
397
262
200
496
565
717
84
595
139
133
296
28
746
121
0
511
599
471
586
145
343
461
762
68
817
31
978
437
591
704
617
831
331
579
217
811
186
865
351
299
156
310
379
316
730
15
593
470
372
796
522
925
35
77
458
117
505
387
373
677
994
94
833
95
575
891
227
376
108
52
857
803
23
444
160
548
563
474
19
598
108
362
617
767
692
666
215
457
873
242
239
117
78
847
743
799
827
457
369
194
190
583
94
421
311
103
685
227
331
109
154
379
834
144
137
293
548
992
706
698
128
859
753
81
930
969
199
647
992
658
582
767
611
339
424
631
164
512
69
959
276
276
193
155
345
828
785
274
480
546
583
991
471
334
162
623
151
314
891
349
322
99
662
259
163
978
264
202
456
56
597
112
837
953
796
102
146
359
877
565
711
91
49
538
54
576
655
561
984
718
664
606
190
182
923
243
592
205
159
68
651
893
122
132
638
115
984
137
37
990
598
81
783
823
982
78
723
23
30
645
421
279
928
445
992
261
646
497
485
91
947
873
525
570
836
299
995
934
3
616
571
415
444
795
236
716
565
360
255
572
830
947
378
424
581
372
178
192
78
523
840
778
947
192
123
926
934
29
992
442
376
494
249
410
188
904
277
837
519
556
9
354
830
766
396
740
787
362
515
431
138
401
567
152
265
494
974
366
907
407
984
479
237
237
205
756
401
125
769
79
987
566
867
711
338
627
951
136
428
266
12
471
11
124
353
966
447
312
162
609
238
233
515
870
888
745
213
801
462
891
934
589
681
749
349
166
240
979
526
546
325
888
687
208
970
382
538
840
750
72
791
180
448
535
266
706
908
309
245
944
265
533
475
144
605
9
166
345
566
64
255
389
307
871
717
609
597
628
436
515
725
209
678
599
65
253
74
892
252
98
255
102
611
131
80
172
71
425
778
944
933
812
847
602
806
832
270
429
123
22
817
843
978
499
817
603
440
855
502
369
893
801
760
123
708
85
904
469
841
918
813
217
402
791
580
685
911
662
535
465
581
5
950
136
893
557
700
8
612
176
753
182
89
839
816
29
349
228
513
624
401
991
474
600
219
535
401
508
680
41
127
722
881
568
94
603
95
810
446
176
843
614
250
628
629
448
920
390
308
280
288
113
584
745
28
198
994
202
225
178
638
988
600
461
354
787
794
718
713
22
838
896
237
965
625
844
746
696
373
806
566
177
623
801
526
444
428
850
983
38
469
289
472
94
0
840
986
680
218
464
946
343
438
411
739
846
356
259
265
982
811
547
83
307
439
536
579
757
176
227
449
59
790
242
376
262
478
878
7
948
704
635
351
96
260
833
212
386
255
997
436
395
764
602
844
330
124
689
859
716
611
236
466
25
831
450
191
906
467
682
351
843
790
321
998
147
471
672
706
350
231
787
560
964
959
942
713
140
902
966
348
493
515
372
108
942
370
832
41
462
744
372
819
768
401
381
583
473
265
890
202
956
539
136
437
4
762
926
634
305
230
949
108
425
491
179
775
273
967
652
596
770
116
183
839
87
648
982
504
405
914
185
405
265
660
340
94
808
243
385
858
129
751
791
966
562
897
328
672
631
993
272
867
213
108
144
450
958
161
674
790
10
389
950
944
539
619
479
352
908
486
425
39
610
914
484
274
918
646
270
967
829
74
467
235
715
777
242
704
835
24
803
780
811
9
624
404
287
976
987
473
793
880
992
669
990
937
18
538
486
866
401
30
671
823
947
393
784
891
75
759
35
126
718
770
552
943
481
265
997
299
415
951
661
329
750
502
869
492
180
377
801
546
8
33
952
546
38
562
757
694
848
292
657
862
373
569
211
994
725
351
270
927
645
856
454
978
324
684
95
674
386
142
257
530
576
980
972
546
792
41
597
255
733
533
532
533
756
971
385
546
643
210
695
670
105
351
878
77
236
19
611
348
471
251
109
591
287
355
335
70
190
269
877
629
880
778
29
563
750
527
533
746
322
996
683
141
33
784
360
277
672
856
482
621
644
292
798
941
903
246
199
931
206
201
577
529
816
658
4
531
259
534
891
191
215
81
714
401
880
900
928
558
826
349
391
870
74
79
943
303
115
984
137
755
477
588
479
574
0
160
352
48
152
892
574
198
694
131
644
871
755
300
732
854
572
452
590
157
10
826
899
970
159
663
605
442
224
703
672
24
462
608
331
523
921
391
739
403
421
621
492
278
142
363
836
276
954
101
37
402
495
430
73
794
124
124
271
438
365
246
766
927
348
511
705
495
427
467
672
844
15
401
942
555
338
489
13
237
169
191
389
88
84
390
107
742
252
682
815
144
448
228
46
703
950
994
336
299
106
954
226
706
983
860
981
723
329
46
788
689
146
424
416
362
573
492
314
10
508
329
652
355
823
600
487
203
109
615
627
273
649
109
523
390
338
796
906
443
956
13
100
819
671
815
976
370
969
422
461
866
620
165
524
113
635
315
999
981
762
765
371
975
457
56
557
294
525
183
159
342
836
385
719
120
224
65
913
520
207
458
143
369
164
571
616
740
729
98
621
381
666
292
137
888
479
1
544
752
918
604
235
630
520
169
332
169
104
863
819
405
904
794
418
378
725
446
359
859
974
622
84
727
490
732
147
328
201
44
671
879
389
214
837
34
72
172
491
777
21
6
978
291
946
89
595
109
344
941
715
782
635
345
244
620
348
953
581
935
145
123
186
308
685
4
785
199
177
534
574
41
687
676
906
46
950
961
807
508
782
838
752
355
416
600
270
770
305
284
278
77
880
453
737
435
838
517
366
106
772
209
638
288
168
48
452
290
218
983
574
792
960
167
792
778
97
96
239
869
231
364
955
184
23
208
647
306
543
220
458
144
608
818
440
323
419
356
882
288
813
598
60
641
281
9
140
878
15
474
734
323
730
348
188
886
701
193
623
155
269
212
791
950
283
998
435
34
101
700
828
551
125
545
6
422
953
680
978
345
268
462
398
308
10
984
610
18
860
589
913
535
744
693
854
807
204
549
599
461
103
683
500
377
550
627
243
496
220
844
164
202
319
963
771
64
267
700
565
201
551
48
224
174
452
157
682
881
107
19
940
658
457
733
334
455
319
937
649
443
428
952
290
792
782
234
990
367
919
404
896
516
988
993
131
293
992
320
46
6
664
346
471
652
621
354
136
897
969
259
825
72
640
8
996
869
289
290
427
789
921
261
104
973
279
380
95
39
512
577
333
454
193
798
644
362
525
431
283
448
618
378
575
333
233
375
522
200
774
886
880
87
145
961
591
824
375
475
91
73
350
145
809
664
222
951
221
464
858
908
421
971
997
309
676
157
52
638
313
176
814
834
920
207
422
19
524
164
908
838
420
630
75
254
198
54
74
745
126
594
756
286
872
551
728
567
679
675
548
524
269
283
361
699
661
200
191
186
750
162
0
477
1
349
849
184
493
470
265
641
338
395
797
221
654
253
969
209
372
118
762
978
738
964
475
421
359
240
912
813
65
714
351
838
68
690
330
242
619
477
981
707
248
582
189
506
788
532
594
623
490
946
838
87
840
684
193
102
900
562
62
987
546
998
767
21
823
207
484
319
976
124
284
815
434
648
572
102
66
47
462
383
285
373
896
319
723
488
564
656
848
552
909
419
617
508
78
70
893
924
425
204
235
533
497
127
680
297
823
100
408
583
364
980
363
461
709
645
909
814
767
180
373
9
126
420
551
916
930
660
435
852
123
58
746
98
607
636
30
194
484
895
144
364
525
575
614
847
341
760
193
311
950
854
907
608
31
228
908
830
326
65
256
626
586
834
1
543
218
474
316
355
124
151
675
632
142
913
378
684
654
871
484
240
182
193
284
449
70
27
573
105
86
349
235
984
661
441
813
655
800
429
546
425
269
501
478
123
122
198
365
521
397
733
474
242
158
270
421
315
744
571
900
732
288
513
499
893
316
665
984
570
797
795
9
813
217
825
377
587
584
548
706
62
476
750
423
20
524
281
671
70
547
87
251
572
906
63
996
207
217
842
224
796
617
370
204
173
296
881
353
641
796
813
741
330
826
506
666
137
520
181
845
893
253
337
466
603
786
120
41
4
464
691
514
845
333
916
936
225
686
792
601
900
575
596
254
366
0
788
944
446
316
663
201
700
67
468
766
751
988
54
257
960
684
831
597
218
516
740
679
655
92
862
337
947
989
887
272
495
541
342
301
418
884
91
63
307
58
237
707
662
744
690
946
558
830
546
286
257
424
189
417
118
992
860
788
662
946
555
211
755
936
881
500
570
476
674
965
77
480
687
134
370
750
628
886
894
783
784
463
276
576
425
277
530
148
876
579
352
153
213
434
181
89
805
197
155
658
840
666
318
834
687
548
218
294
147
25
133
520
556
475
774
412
505
756
45
384
734
116
55
343
867
924
196
922
463
830
103
682
860
277
839
614
897
19
561
656
770
184
348
681
749
287
517
241
986
869
441
547
397
292
41
430
709
154
592
589
462
234
612
598
842
364
841
231
2
121
851
604
537
218
434
701
218
964
513
972
134
272
346
603
829
149
941
126
335
641
799
545
759
196
117
639
508
208
554
72
860
392
548
646
457
544
822
637
470
885
127
193
603
909
985
895
618
660
821
78
936
386
568
179
937
360
342
5
786
604
1
985
248
523
746
910
547
513
79
525
797
497
385
150
737
38
475
876
627
491
143
58
878
646
732
552
578
376
568
916
660
271
413
306
305
29
16
387
203
713
861
682
545
354
429
501
960
464
424
891
573
326
751
719
378
476
105
661
343
10
765
55
245
294
215
247
691
278
715
248
127
282
37
847
848
627
325
882
113
18
602
311
699
614
983
131
314
819
722
221
898
339
624
167
78
618
78
477
32
459
807
93
834
702
609
530
682
54
422
938
602
35
429
495
831
119
43
149
683
598
499
654
399
936
9
26
680
876
753
408
989
756
336
963
918
877
346
132
591
472
131
96
521
612
109
22
615
866
901
890
830
408
322
13
245
934
107
427
170
800
556
407
693
171
922
154
626
847
525
428
927
412
277
708
301
346
477
861
968
267
347
439
980
940
68
326
19
203
920
527
71
902
959
8
284
260
297
97
464
686
954
180
643
898
569
480
672
427
236
623
749
398
669
864
338
265
523
428
947
625
214
445
133
775
946
135
181
472
665
55
810
291
338
651
205
101
703
775
666
414
209
230
822
477
617
363
358
639
710
258
504
621
115
886
167
790
691
397
149
604
3
366
465
839
860
798
178
721
61
382
726
221
265
166
934
783
484
19
25
54
247
648
273
834
738
388
40
389
88
203
404
128
64
3
453
460
144
754
283
804
15
909
739
616
412
649
665
203
423
971
756
373
629
766
992
427
449
136
573
387
312
451
828
136
476
355
884
292
413
590
87
453
445
690
124
389
986
318
41
856
635
240
717
427
114
610
320
142
736
403
660
813
336
161
149
746
220
874
998
862
752
854
370
96
514
449
869
686
725
401
62
504
549
13
500
810
939
143
566
935
755
276
969
795
234
619
415
798
511
931
217
439
927
332
673
980
36
288
330
135
175
524
360
974
392
822
99
135
167
426
607
686
369
12
561
301
421
383
398
290
4
22
202
828
138
150
123
287
990
396
967
92
481
594
995
257
954
347
732
234
276
677
362
133
437
7
608
691
490
474
828
697
169
213
542
328
509
679
300
84
341
41
357
910
953
267
558
567
263
507
573
890
706
703
125
560
453
67
669
681
377
347
203
200
421
926
42
144
322
543
766
25
14
247
352
614
652
362
260
15
576
68
827
911
224
786
576
106
303
394
346
458
656
985
166
861
92
218
99
754
820
134
808
430
522
777
768
271
170
722
899
958
495
271
423
725
867
194
784
647
904
173
889
658
69
940
136
304
6
561
389
731
200
75
528
345
259
863
273
70
264
314
954
609
487
315
556
870
349
696
566
109
325
130
263
389
409
582
498
960
492
12
838
612
546
843
325
573
671
375
816
372
854
52
728
217
660
664
685
311
946
396
219
366
513
647
190
14
21
536
405
921
0
384
843
759
585
350
876
778
120
94
879
165
290
23
760
437
797
944
464
320
72
27
581
64
298
839
830
961
527
544
264
572
680
870
54
416
863
827
696
419
79
202
687
408
134
35
528
617
754
819
395
82
15
638
189
5
126
334
964
640
481
919
405
335
9
188
472
657
289
296
326
601
764
109
18
998
470
764
831
632
7
808
71
161
907
901
116
739
572
248
64
763
256
674
272
895
269
498
371
177
323
813
486
390
728
353
549
823
26
703
73
731
196
632
186
266
459
143
96
39
717
521
307
612
875
649
584
31
59
654
689
743
106
93
972
907
975
784
851
418
909
960
601
155
336
529
40
738
115
797
514
917
119
838
914
551
411
224
452
787
979
161
814
24
845
9
660
456
490
738
418
878
90
301
158
107
876
174
660
299
78
471
204
759
762
81
811
897
346
130
783
693
93
476
707
454
201
71
242
133
929
760
432
763
541
273
246
19
67
78
75
909
99
467
650
914
295
648
884
312
686
124
603
100
638
817
424
926
67
26
344
528
220
364
580
628
269
86
170
588
309
888
440
11
997
566
387
643
382
118
483
660
280
494
741
497
709
503
716
37
64
619
863
324
665
581
978
521
107
729
357
82
578
914
912
965
466
571
180
379
514
538
402
847
389
324
146
223
187
113
516
786
33
511
192
443
181
461
442
292
657
558
947
123
197
507
391
913
607
320
325
480
331
839
695
21
670
414
174
578
341
83
493
702
969
136
153
153
766
323
243
320
309
48
922
448
282
372
121
214
557
18
59
750
866
199
940
445
286
134
908
410
331
110
859
97
825
446
545
452
304
260
996
481
50
992
369
439
511
575
611
17
895
177
101
297
413
713
925
266
177
53
889
461
415
938
117
363
223
165
977
847
775
219
712
726
449
638
491
138
63
921
133
310
850
715
428
161
219
815
228
638
572
74
606
443
634
244
906
284
611
352
853
416
275
356
142
390
450
58
37
176
829
764
72
220
526
455
36
856
696
850
188
39
158
854
478
935
893
468
742
416
333
503
792
839
731
422
589
127
63
762
494
985
43
492
504
378
422
14
485
156
24
145
436
381
497
977
312
852
688
308
428
433
363
723
556
616
303
170
641
305
326
561
66
244
203
922
779
40
446
68
114
72
231
421
824
390
190
799
935
981
4
312
599
608
180
641
295
311
61
374
554
203
284
906
893
496
63
865
782
981
452
611
11
783
908
108
764
322
729
295
653
766
95
170
127
184
930
159
520
806
336
966
834
763
634
925
814
46
491
156
183
333
277
311
132
554
768
599
219
688
667
326
898
631
757
766
58
817
871
814
484
725
715
127
618
845
763
66
482
478
771
758
414
77
169
293
162
587
485
831
733
8
362
160
308
46
930
301
186
414
13
91
678
595
605
990
726
985
586
390
492
829
318
647
235
34
963
444
37
846
972
891
497
176
221
940
131
835
291
384
991
257
121
13
229
15
503
675
850
340
461
280
18
437
226
276
471
957
351
140
465
467
99
492
124
47
701
688
840
681
713
91
32
125
976
466
450
172
743
78
921
348
317
284
512
429
236
265
288
601
764
503
337
841
578
694
941
880
706
312
192
337
48
830
291
703
199
563
909
941
378
165
160
670
798
166
841
98
101
572
131
831
880
78
409
127
720
323
103
8
922
887
888
988
122
141
507
138
915
931
482
33
848
308
552
505
601
354
697
581
16
132
149
714
229
941
656
311
416
898
214
773
852
661
425
496
40
983
732
991
437
845
202
519
84
596
306
366
754
41
104
14
991
275
5
401
787
72
244
393
659
511
997
192
816
466
482
107
132
359
202
410
15
894
274
123
968
371
967
921
260
556
566
409
92
639
87
522
729
955
646
190
480
738
892
434
347
764
291
65
335
161
886
488
628
439
407
164
472
798
161
366
291
602
497
659
834
231
59
756
371
205
339
133
352
196
856
377
809
102
459
838
719
414
233
844
670
138
383
682
108
357
600
639
289
855
789
968
745
989
726
216
182
615
942
207
705
412
133
463
523
673
883
737
125
531
388
420
645
495
451
625
286
217
141
460
448
649
991
868
873
144
919
508
163
635
59
429
192
511
807
701
816
77
161
686
606
791
299
561
230
312
148
684
605
914
819
272
755
588
548
205
942
766
538
154
942
809
883
693
411
71
703
905
493
442
602
994
851
652
8
899
113
954
16
938
668
743
744
268
330
497
360
216
959
360
625
726
241
199
869
609
328
692
445
356
921
951
691
30
436
342
469
490
757
251
439
419
143
992
1
827
329
855
905
291
908
503
556
994
259
444
502
517
421
734
753
697
112
695
253
950
664
317
585
700
983
643
231
187
796
886
347
189
942
255
983
740
612
747
152
672
761
578
886
95
321
43
240
823
387
654
636
212
821
184
752
696
820
604
377
60
407
734
428
278
654
607
282
414
253
595
249
114
494
859
850
182
598
50
964
798
128
611
352
108
694
281
390
390
502
835
941
703
578
764
967
465
536
567
5
568
88
214
745
930
184
240
611
322
402
195
874
594
209
174
115
413
562
590
971
533
708
930
71
641
921
163
182
391
381
950
377
427
717
444
228
384
732
147
776
927
767
497
389
122
235
359
846
709
695
506
845
404
466
950
761
189
672
95
773
111
455
313
756
756
707
245
52
483
528
90
974
186
742
913
65
482
148
669
341
968
90
565
959
553
843
51
314
401
392
791
734
866
508
804
989
806
255
457
875
147
642
877
489
109
941
476
723
321
213
218
402
514
3
615
619
499
89
137
973
491
660
856
982
297
533
402
1
989
643
492
732
604
338
961
786
191
595
190
483
66
90
708
439
328
147
101
748
715
790
354
583
677
118
231
700
265
531
387
244
358
524
457
298
373
484
487
248
386
130
759
517
847
451
25
326
999
792
587
762
25
212
853
236
8
687
887
366
725
497
763
807
511
546
230
694
118
329
94
806
824
772
241
623
425
693
535
802
315
944
379
247
607
920
456
454
840
901
305
340
562
828
406
85
610
151
230
328
711
395
680
531
549
399
983
268
44
226
958
429
748
185
282
29
246
752
589
974
73
839
993
634
633
877
98
465
914
382
348
282
836
435
261
282
286
73
308
962
418
474
73
294
745
344
362
281
822
262
603
64
212
619
977
412
228
107
474
198
151
97
279
510
558
889
407
80
183
891
631
477
831
253
773
612
395
779
18
921
57
105
683
89
561
399
450
843
371
982
254
366
836
946
865
160
827
192
926
324
961
393
48
244
189
51
628
130
515
729
327
669
174
139
759
133
277
469
369
638
541
851
482
36
784
825
898
118
440
88
902
784
519
235
299
764
692
82
861
906
347
995
856
320
485
768
573
911
646
150
896
243
2
124
482
892
252
957
713
110
170
263
683
862
794
343
918
455
788
482
114
787
780
62
184
174
440
943
780
747
459
708
461
544
117
561
614
173
118
203
720
59
854
983
30
592
132
958
33
552
675
212
63
208
14
261
895
216
511
286
844
3
432
914
724
382
835
26
323
588
280
46
808
392
122
968
719
370
859
322
19
614
928
59
455
125
953
946
513
993
707
455
355
80
707
580
539
95
243
708
998
12
780
768
858
186
927
66
992
803
402
335
664
719
714
452
194
453
0
486
39
948
788
531
997
643
903
93
633
283
544
65
34
720
42
859
274
360
298
56
597
91
679
279
929
652
955
224
207
145
404
570
64
738
528
55
101
819
857
712
414
20
567
752
221
106
971
508
937
994
154
303
635
83
978
485
663
436
588
691
520
495
895
297
197
358
505
751
785
47
721
7
77
473
44
462
595
641
252
826
488
715
323
20
78
550
430
688
562
869
943
437
960
329
121
849
947
553
669
349
553
362
946
486
679
5
780
49
440
753
287
847
796
672
135
36
658
526
330
564
60
501
710
783
398
922
442
713
574
817
867
587
377
115
26
97
192
521
974
185
32
462
325
631
466
150
912
847
603
558
863
27
262
551
831
782
273
792
405
683
317
375
471
9
449
867
306
36
566
934
331
322
171
961
640
167
780
655
443
341
669
828
450
87
963
963
761
926
274
198
873
546
310
501
808
933
38
207
532
93
847
330
912
450
445
799
541
71
595
88
473
60
79
673
555
509
731
381
628
763
863
710
822
419
380
515
343
774
922
457
362
642
494
375
432
558
170
825
283
865
630
827
444
247
213
703
525
709
985
772
225
370
66
446
917
858
804
238
306
36
557
431
451
959
631
659
879
701
349
702
414
209
707
951
804
474
342
238
25
2
543
729
856
323
381
848
697
448
333
172
291
194
70
385
664
196
946
125
81
533
741
441
293
993
159
324
605
475
177
731
485
788
894
717
21
623
948
450
475
319
485
279
803
757
326
967
633
275
909
500
542
88
661
487
990
510
891
126
367
926
157
144
839
965
595
141
53
411
508
353
271
178
599
132
451
961
517
736
16
614
792
269
57
512
504
794
47
856
243
485
450
126
52
629
192
700
748
101
637
924
940
859
228
350
467
175
638
46
436
310
478
246
795
964
963
475
602
850
187
595
272
451
816
145
387
514
126
128
897
992
872
129
61
63
97
66
703
880
256
411
674
288
49
820
497
990
167
802
589
432
270
354
724
87
644
434
831
946
7
335
513
729
125
36
731
450
630
114
287
292
875
868
770
553
748
485
599
56
429
252
6
800
606
862
21
242
334
802
806
965
928
771
42
790
957
959
45
338
193
440
203
997
754
568
758
433
611
276
828
739
210
651
497
838
568
6
960
75
821
506
575
846
595
330
718
308
135
299
174
598
217
301
222
718
420
699
138
494
525
200
424
390
292
978
989
768
136
149
600
385
595
30
537
263
587
137
68
313
38
885
104
341
144
411
434
566
108
192
578
547
86
267
858
914
766
844
134
393
473
595
794
858
542
601
228
597
687
420
875
519
554
698
844
943
333
325
74
613
240
169
904
664
230
736
322
230
667
175
46
715
891
150
326
271
901
996
238
236
715
676
753
697
442
871
187
834
185
221
874
509
248
412
543
547
630
837
702
725
761
46
429
118
392
968
190
899
791
258
489
513
560
893
370
509
777
80
153
836
376
525
889
94
65
257
877
461
349
559
294
478
67
227
515
72
955
981
369
208
663
165
67
518
883
481
676
574
921
752
662
719
420
936
721
326
147
290
974
805
513
645
301
977
212
103
51
660
893
847
891
94
443
78
747
721
650
559
983
401
848
125
633
827
759
283
338
644
988
983
747
946
115
249
271
554
197
506
773
829
935
27
783
142
57
203
380
63
76
174
190
266
292
332
560
626
9
953
606
830
550
639
612
924
225
537
310
291
855
393
797
586
362
931
759
193
343
166
546
334
312
916
70
845
977
188
491
958
907
196
591
907
237
925
130
297
715
867
380
487
473
528
551
363
365
483
98
320
916
201
221
744
381
642
393
39
509
857
611
978
641
994
714
122
751
295
375
446
173
775
883
993
260
206
239
938
1
788
495
267
694
743
194
632
815
560
698
664
101
955
172
538
565
687
591
864
452
360
523
300
780
728
659
324
226
344
58
90
651
149
858
233
123
538
632
154
941
536
63
566
220
982
270
333
587
832
727
230
753
773
226
68
745
364
939
701
262
447
543
439
199
756
421
374
32
49
952
418
406
51
972
311
456
491
130
625
212
842
411
19
882
288
359
695
798
695
428
404
271
392
353
649
923
223
635
521
762
800
426
120
39
489
269
416
516
200
148
970
210
136
636
569
459
891
687
6
774
547
897
558
989
355
83
538
645
812
356
324
233
352
908
870
528
584
705
347
98
432
559
759
265
280
50
623
971
22
393
355
130
50
761
893
706
17
222
992
391
423
390
756
811
911
549
255
803
408
798
107
978
446
898
222
221
36
331
465
549
686
802
655
869
842
802
356
721
851
664
847
522
106
740
440
40
271
457
128
783
615
731
798
224
178
284
230
47
591
47
826
463
425
608
75
252
229
101
850
654
851
901
646
885
80
112
690
444
139
524
148
534
500
932
841
698
70
511
411
113
168
856
561
749
740
597
742
662
907
171
701
671
651
365
995
22
274
972
571
538
484
139
736
414
235
871
316
499
628
452
127
123
302
447
278
251
194
122
443
737
26
276
923
419
466
414
732
928
169
292
650
943
610
508
380
68
506
26
685
37
821
597
60
840
386
197
127
493
443
698
155
159
329
306
56
265
843
998
694
233
58
325
861
860
857
838
406
676
157
91
768
999
514
801
83
863
702
564
637
909
409
662
546
13
508
793
39
368
2
181
882
88
445
486
552
142
26
261
919
726
611
543
349
594
884
163
381
524
711
661
654
181
604
454
37
853
817
674
626
627
154
797
776
967
647
108
278
895
733
675
645
30
579
184
302
857
852
323
367
444
255
170
162
727
190
279
882
189
817
482
925
760
619
102
511
911
917
962
154
608
806
343
509
408
204
246
999
782
616
209
956
701
23
494
487
582
257
632
469
390
915
81
875
213
386
331
791
225
210
319
649
476
39
821
412
409
333
702
651
446
754
718
24
702
26
335
349
293
747
872
975
819
66
924
86
857
997
995
707
255
443
201
795
498
545
333
435
712
63
596
401
550
144
875
68
509
929
44
337
374
406
542
82
514
919
497
980
518
613
154
705
953
810
437
48
907
749
22
448
573
999
680
440
890
219
882
434
594
315
322
193
135
900
136
683
50
942
722
303
729
965
819
494
664
325
321
844
367
264
252
622
772
564
888
928
933
142
128
666
599
11
232
663
536
266
988
289
299
686
714
222
633
942
123
879
136
930
345
670
876
324
616
553
374
616
132
69
520
194
507
190
506
769
951
83
790
912
123
864
219
632
558
898
333
561
599
375
185
423
4
499
383
720
25
135
194
762
735
391
477
62
742
330
206
192
602
45
618
737
989
751
359
721
336
905
271
453
284
157
727
272
970
276
853
680
893
559
872
835
657
631
920
743
131
294
633
355
51
312
187
200
594
376
843
81
866
638
753
258
338
531
691
645
580
69
171
730
257
444
481
263
708
357
443
439
889
305
104
891
854
137
574
75
62
733
788
991
997
754
359
624
314
313
606
824
719
261
575
651
350
826
329
152
958
547
768
101
960
163
355
201
79
433
378
711
83
105
691
841
754
268
119
988
536
22
331
562
531
297
890
599
319
200
224
451
440
884
253
315
966
23
107
492
816
220
435
944
137
720
777
433
445
715
934
47
176
330
722
952
0
578
823
369
651
44
81
159
95
573
143
493
733
635
750
949
824
105
850
668
758
397
89
245
527
830
948
669
913
602
913
254
56
192
697
234
935
981
54
983
870
803
433
620
751
702
506
970
514
149
593
92
10
710
132
801
913
116
127
615
265
135
573
357
583
1
319
166
728
734
588
31
558
202
430
876
411
793
562
885
935
743
894
366
258
556
979
986
163
989
644
503
77
209
325
767
507
160
540
586
797
409
922
301
899
20
71
899
702
672
259
203
174
878
676
323
483
863
687
836
972
395
2
504
472
249
80
668
153
199
664
920
888
351
633
479
524
52
237
751
665
652
881
634
575
654
454
953
856
971
138
317
608
96
597
431
14
340
87
516
567
113
625
472
637
941
84
83
66
850
338
150
165
215
383
594
279
280
8
11
586
542
772
801
754
559
642
662
754
128
952
250
717
478
750
282
616
194
108
606
650
157
461
530
785
193
389
994
372
84
290
477
567
597
966
106
877
783
999
79
792
545
32
596
388
978
777
216
65
938
476
902
419
54
392
727
466
0
683
652
435
270
12
271
15
99
288
602
645
711
177
392
452
439
770
356
498
507
407
559
381
33
646
457
907
435
594
674
129
484
132
91
173
123
517
448
972
719
175
450
114
578
231
86
21
608
397
820
676
566
308
50
530
936
429
460
224
416
980
502
208
277
865
310
259
795
651
543
227
934
681
131
548
469
6
780
609
928
163
201
174
779
638
996
718
107
660
326
869
329
888
280
441
838
319
641
504
808
431
186
724
238
979
678
271
357
38
47
402
482
593
645
292
840
444
498
605
319
884
743
964
998
874
741
267
597
755
233
496
846
135
43
883
506
250
839
550
499
166
519
731
714
461
136
340
85
782
537
299
235
970
5
903
332
905
518
689
757
67
388
351
75
383
987
143
504
296
925
365
175
713
126
651
469
711
507
39
937
798
69
21
747
719
589
141
664
517
293
690
511
27
858
645
232
634
597
923
532
924
312
15
520
917
672
268
85
627
618
966
521
956
558
150
308
175
835
282
317
783
749
286
331
931
928
703
267
165
318
33
211
430
792
957
90
874
36
977
179
994
542
207
140
926
651
698
707
572
196
906
460
108
515
801
87
488
545
47
146
787
544
496
580
237
764
810
222
5
172
64
193
732
683
334
668
25
725
295
528
474
176
565
972
879
541
634
566
667
325
920
338
367
979
486
865
826
327
263
285
157
490
136
831
273
375
96
73
57
798
963
532
24
542
722
934
574
550
38
345
854
929
24
849
100
568
44
382
630
984
735
420
629
77
136
327
318
658
773
993
362
202
893
896
481
87
781
619
646
874
633
440
798
834
129
337
263
847
333
874
83
622
762
510
152
397
410
650
931
484
998
28
205
225
618
190
570
306
258
535
490
135
808
305
775
886
490
573
478
474
547
215
661
971
978
572
965
516
395
145
916
694
644
298
691
383
378
360
41
91
354
751
425
62
885
765
258
390
775
734
729
524
940
395
709
122
125
954
957
293
393
540
23
641
995
641
397
505
515
579
364
328
223
735
958
589
696
655
757
285
353
443
293
703
286
683
369
518
355
859
109
667
709
1
673
528
652
781
931
776
182
842
380
213
973
720
442
874
753
182
639
145
442
776
31
967
119
738
276
511
656
688
209
104
832
76
517
832
334
165
385
782
808
143
452
400
221
331
346
850
468
890
547
914
831
518
246
708
97
258
880
983
440
814
260
687
471
101
513
928
213
53
201
860
427
806
387
267
154
497
951
406
292
121
630
957
829
471
28
50
974
812
849
643
703
405
347
626
526
254
920
153
108
784
174
625
469
756
667
741
526
816
724
403
264
10
379
451
919
916
860
675
638
455
945
404
837
991
192
103
564
721
841
640
144
170
970
378
626
957
713
722
459
833
787
449
762
304
811
403
239
365
542
28
504
301
272
692
142
872
380
478
91
479
693
181
31
106
50
527
184
452
221
535
239
154
736
700
620
107
801
244
653
268
609
839
778
976
173
132
479
315
521
645
300
92
939
410
278
502
436
483
871
964
67
557
529
795
922
616
517
904
720
344
268
733
417
403
753
368
925
52
513
160
188
952
238
916
840
838
321
421
334
986
410
405
795
823
143
399
619
373
61
154
983
741
960
652
517
726
912
608
174
148
940
721
15
981
320
167
473
600
281
120
17
535
928
478
894
523
601
775
124
600
919
633
637
939
909
36
924
684
920
804
15
509
907
395
312
466
982
536
84
692
973
406
819
114
969
552
202
209
984
414
951
723
202
22
108
41
781
591
225
347
515
917
562
580
372
323
713
778
515
484
556
691
466
695
761
216
165
57
605
686
200
557
902
113
455
230
592
86
351
812
272
545
915
738
241
577
208
687
304
643
296
645
980
178
409
455
781
922
858
188
873
428
214
951
892
281
691
601
549
395
928
677
885
543
897
473
82
592
190
176
380
763
928
424
427
451
215
175
828
984
248
433
456
528
489
854
823
26
895
352
796
354
153
611
297
381
54
246
449
638
766
338
984
90
825
964
441
258
721
142
312
953
452
146
369
132
360
312
769
432
637
358
453
390
720
642
76
186
413
647
437
426
85
511
853
469
705
668
278
933
131
754
846
199
201
652
972
432
518
56
822
987
778
803
343
5
908
82
540
267
955
962
473
630
319
690
590
874
254
508
996
982
258
969
704
366
559
662
775
27
769
102
420
898
377
813
696
860
573
635
990
525
990
791
320
585
522
887
690
372
107
192
677
522
604
729
987
341
453
603
497
260
639
847
369
629
131
874
662
844
492
446
584
756
323
89
833
992
376
460
56
182
344
47
700
213
436
253
148
952
15
268
83
633
88
70
289
9
179
209
210
269
278
955
528
132
91
220
46
215
484
602
338
807
972
919
547
773
972
533
533
127
389
816
752
8
784
676
570
466
502
39
159
814
821
695
41
418
79
224
774
852
856
849
810
358
207
193
882
263
134
266
536
100
536
765
817
937
307
397
950
437
198
917
570
756
845
15
903
124
104
980
372
336
850
575
353
826
849
267
721
404
475
819
562
788
263
830
729
816
552
946
121
259
594
724
357
907
300
577
519
301
251
862
555
496
714
383
557
202
724
40
391
354
322
599
532
864
16
592
436
477
405
473
270
980
91
302
885
648
411
757
228
376
793
845
587
735
687
72
217
822
556
691
172
401
141
130
102
939
788
131
431
14
846
572
295
981
103
16
850
569
433
362
988
17
252
212
757
544
907
179
255
372
161
878
507
966
103
797
143
970
302
904
834
815
2
241
459
274
331
907
288
153
893
990
498
990
614
181
517
421
900
367
814
496
794
367
584
210
469
353
817
75
790
521
936
607
708
479
901
437
286
108
684
172
78
361
771
354
689
715
567
402
6
262
561
84
128
623
128
293
471
366
806
612
686
148
498
406
624
920
255
853
248
817
40
734
332
469
315
386
442
697
594
351
642
698
672
49
645
780
319
819
463
458
250
82
655
922
449
736
674
171
672
272
63
72
323
435
896
100
242
203
434
885
768
355
100
75
720
408
514
29
418
47
997
999
222
139
763
971
794
209
164
824
485
296
697
264
165
630
859
788
383
802
960
921
829
34
523
82
332
15
131
701
46
276
770
841
446
89
975
478
687
352
734
457
550
157
146
292
167
611
168
292
562
274
29
873
961
7
271
744
716
672
318
679
611
168
337
561
766
291
211
189
100
133
63
928
599
911
111
362
322
827
33
276
913
851
321
797
284
950
828
693
383
673
749
941
349
239
858
430
372
50
743
901
336
489
562
386
47
605
597
368
454
375
966
984
845
914
19
814
962
207
303
876
893
490
816
490
778
23
514
74
236
70
60
60
773
261
444
642
320
971
232
855
824
345
844
372
787
961
158
483
347
724
94
430
44
478
239
24
101
274
92
258
837
73
288
579
836
758
241
721
659
192
416
399
91
647
566
674
885
863
149
500
356
161
146
577
896
658
387
85
12
323
186
652
241
362
916
549
113
736
838
604
619
928
437
736
192
246
149
731
106
508
521
503
90
21
221
77
226
889
824
426
234
253
969
206
682
984
961
891
904
747
829
143
425
663
81
664
281
975
198
424
420
690
622
769
26
281
109
585
938
80
154
738
293
979
866
723
609
505
83
3
774
856
774
158
873
470
574
870
777
432
940
32
313
86
131
104
726
779
874
957
230
905
384
574
502
781
999
585
832
673
928
375
265
213
716
82
632
729
767
133
390
305
596
314
758
15
155
348
1
973
914
518
821
634
687
838
253
610
247
199
808
966
950
278
261
501
274
707
701
223
909
977
462
370
182
108
779
297
122
490
880
783
886
74
593
685
800
672
686
460
73
101
96
440
94
597
379
5
585
595
197
768
257
232
352
348
283
352
668
40
196
120
905
704
173
948
529
650
242
358
280
821
645
654
568
540
74
136
565
480
365
53
206
108
844
734
44
191
338
710
645
146
978
93
858
873
978
666
347
230
397
197
714
932
523
56
97
50
123
378
707
776
152
667
879
267
406
494
924
555
188
381
309
911
53
272
579
209
257
974
648
380
244
422
837
678
946
365
603
7
858
444
998
310
105
742
515
123
192
515
649
505
706
112
16
525
468
789
223
202
146
256
631
125
626
70
540
952
267
706
217
366
60
250
821
640
503
153
243
657
126
62
126
549
777
405
390
943
432
102
92
110
673
148
287
57
38
400
681
82
936
728
946
296
677
478
784
21
749
917
68
838
527
868
66
888
514
446
741
684
962
462
458
910
879
233
324
514
711
907
499
226
916
473
321
761
132
590
846
706
303
421
305
755
403
239
924
832
590
757
58
528
946
9
698
633
297
419
711
763
155
299
392
289
770
499
577
368
770
95
675
446
331
133
826
882
760
423
817
212
951
911
694
322
118
448
308
25
540
764
685
199
522
349
94
727
436
747
385
316
209
774
501
973
358
358
254
116
421
891
139
462
943
684
102
832
28
908
400
967
842
746
652
522
636
786
323
111
981
977
173
304
917
97
642
107
329
798
25
615
94
866
587
757
366
301
830
648
448
259
526
961
813
292
153
80
710
90
432
181
525
710
138
481
24
583
46
761
859
221
249
623
37
532
187
593
289
125
55
785
460
524
248
474
447
179
368
471
614
384
277
404
754
955
583
186
227
570
583
300
597
799
395
735
79
419
522
915
36
774
221
145
46
250
275
606
113
590
835
675
722
322
937
671
18
70
476
205
656
111
322
914
593
714
552
259
866
129
437
713
112
705
495
982
549
23
782
855
887
938
452
128
835
897
208
409
784
838
59
173
507
941
9
151
543
341
108
947
751
179
968
456
820
4
276
405
918
965
350
16
447
49
585
354
146
57
478
446
979
289
336
584
711
842
85
695
929
430
494
420
568
402
158
320
350
691
107
373
41
153
251
364
207
37
37
119
216
754
863
798
863
929
532
412
255
899
100
281
554
465
833
385
707
290
171
155
262
18
527
925
743
635
31
435
752
367
574
832
634
981
5
213
193
953
7
748
272
533
425
717
588
805
235
57
592
755
957
708
669
553
375
608
115
36
857
395
788
90
268
625
960
235
239
585
164
127
418
601
690
878
844
654
402
398
419
129
434
75
198
141
796
705
998
663
816
171
869
898
2
795
444
552
203
793
406
710
440
547
614
874
338
637
768
167
684
652
260
435
439
906
657
832
652
204
834
664
889
157
347
249
401
143
953
696
358
911
527
620
993
31
363
875
985
312
964
539
950
253
65
959
661
117
477
180
327
523
178
25
909
263
777
781
96
372
224
60
467
229
336
813
10
914
617
410
714
647
196
886
920
805
783
773
226
708
566
864
926
69
337
115
407
121
865
307
666
167
175
900
433
893
893
351
335
757
374
72
826
605
136
761
58
592
198
564
910
380
72
299
986
768
35
198
461
806
937
983
577
347
495
467
767
506
397
549
485
35
145
67
740
348
912
134
459
556
920
846
614
373
365
533
755
866
392
24
293
902
247
543
48
106
63
355
688
469
684
634
651
539
665
793
28
2
805
55
607
33
28
690
525
54
743
43
339
711
403
55
958
78
993
339
647
841
273
328
258
294
946
609
699
923
967
326
189
618
954
54
167
611
694
951
221
404
975
485
765
947
958
49
244
437
310
102
982
607
507
660
259
285
139
6
94
190
910
642
367
60
212
422
937
588
214
553
952
85
412
626
298
756
737
699
424
383
619
13
666
144
571
981
235
456
276
913
910
449
149
743
101
445
822
551
871
751
355
252
925
114
198
705
622
907
583
805
678
999
896
244
944
404
620
62
858
525
671
918
747
478
997
456
233
496
139
303
391
429
399
909
39
702
499
431
839
158
600
218
661
911
231
657
90
366
793
608
356
746
836
845
844
383
281
980
887
383
132
371
881
207
286
938
829
103
760
743
779
316
500
223
568
565
769
403
307
138
627
768
412
364
742
727
645
370
734
0
698
301
927
159
723
295
176
958
387
15
622
440
386
491
827
229
423
574
484
828
595
458
277
973
917
184
450
208
379
936
176
225
222
813
160
936
580
688
30
126
349
203
336
240
926
290
962
986
105
987
743
775
654
668
884
616
845
558
309
964
864
870
923
439
197
751
100
988
214
961
984
771
370
309
318
775
699
742
991
879
780
556
706
235
129
575
836
158
89
423
617
422
503
883
642
970
855
489
622
489
33
353
380
640
937
590
409
635
782
839
745
440
883
782
332
965
98
223
921
75
833
318
446
624
906
628
642
484
579
310
473
606
154
959
345
664
855
223
648
576
810
858
324
202
452
745
754
639
393
221
144
56
265
507
398
251
370
556
460
360
573
439
360
467
296
224
848
103
164
828
111
211
836
835
455
563
881
670
605
362
861
390
603
545
714
213
939
501
235
365
80
503
800
754
729
759
657
696
595
277
658
449
659
573
303
20
53
44
403
878
24
757
184
142
957
110
736
950
273
683
779
223
569
319
111
375
676
127
62
359
881
862
289
952
858
556
228
103
236
418
835
209
533
877
792
902
347
10
129
236
656
939
939
583
398
901
261
781
209
139
590
730
328
980
204
335
81
685
630
367
497
904
214
781
292
509
323
915
34
118
977
739
7
480
923
586
773
316
671
449
877
1
430
640
778
625
772
12
650
114
13
643
25
899
960
485
160
906
909
566
212
648
580
651
951
109
151
213
416
600
711
510
965
327
855
242
711
79
719
77
586
701
104
14
771
952
579
183
14
308
247
767
371
771
509
700
165
809
80
552
265
138
864
812
6
135
960
936
201
225
578
958
225
715
516
428
82
268
238
611
621
258
754
995
974
631
990
178
196
542
320
518
209
754
822
811
64
32
972
618
152
304
646
976
608
479
647
617
108
773
169
504
543
522
512
943
670
287
43
403
681
676
497
252
642
150
699
688
142
90
281
866
255
725
781
993
579
680
556
574
202
762
400
210
982
386
166
773
860
227
173
255
270
124
584
274
291
746
325
241
19
363
869
293
867
205
252
310
499
989
937
431
803
331
372
183
878
335
2
234
403
117
226
242
839
116
478
431
168
460
481
899
193
580
893
273
950
594
346
148
423
61
134
823
792
896
863
758
79
308
748
564
322
168
448
697
820
117
369
698
721
107
72
945
664
738
477
534
84
397
874
405
833
607
10
530
427
552
915
680
352
270
36
273
133
125
336
24
857
69
762
887
447
183
630
963
693
491
449
657
768
452
502
887
654
173
399
74
401
165
61
604
118
26
834
507
874
630
196
400
819
627
322
397
386
646
752
265
379
576
556
515
369
799
726
934
844
286
19
185
482
893
557
317
877
298
603
42
80
157
625
625
128
776
384
249
557
189
923
317
918
526
414
972
239
790
405
324
342
724
314
728
202
356
394
935
727
153
468
161
352
392
746
969
184
407
989
344
703
116
120
412
740
969
155
328
185
582
481
513
571
14
396
585
454
851
926
263
790
198
212
251
696
543
360
974
754
352
618
537
76
822
11
374
14
690
742
268
175
786
870
775
370
676
726
960
742
887
542
259
90
631
699
819
978
677
792
48
399
946
662
916
362
881
183
249
230
553
847
452
917
426
607
633
355
125
623
574
973
223
777
782
418
736
523
239
915
321
820
277
488
345
940
584
812
504
415
724
168
795
18
765
349
681
157
675
691
939
892
412
407
271
668
229
849
19
517
115
765
182
319
517
783
639
382
209
361
559
552
168
210
815
336
249
772
514
255
641
91
170
740
766
275
877
58
35
298
426
909
133
642
834
169
392
174
272
112
480
184
747
394
439
314
98
831
719
268
844
226
294
400
576
162
389
831
924
73
247
321
200
795
567
715
134
678
490
6
464
689
898
16
322
900
952
889
265
622
266
666
42
488
198
417
237
923
132
715
284
384
884
213
846
448
434
654
915
985
529
13
215
51
208
45
46
646
323
162
253
667
15
200
134
55
290
261
74
424
262
833
228
795
123
306
742
266
161
157
931
968
273
754
889
439
227
45
503
160
72
221
858
266
319
231
74
566
368
958
347
561
613
363
568
259
713
388
146
908
466
579
697
294
709
93
617
758
345
698
54
77
158
107
982
332
85
851
273
457
488
128
656
466
135
877
724
865
40
760
638
489
246
868
367
383
460
631
582
561
11
897
683
730
979
774
888
786
968
782
382
741
246
863
115
149
169
707
810
154
482
451
341
104
479
438
534
301
192
193
473
287
186
782
809
332
900
367
353
146
935
278
4
506
475
45
5
997
695
833
623
131
563
97
351
132
528
265
849
925
44
88
115
70
476
368
496
64
371
680
21
942
62
498
441
4
26
650
567
221
462
519
188
428
541
564
858
60
459
599
599
334
285
936
335
397
973
137
433
296
324
956
981
776
762
731
60
174
381
883
878
992
293
605
573
722
718
443
432
975
326
776
951
547
476
487
126
514
274
907
744
624
857
198
715
259
854
297
80
964
14
490
856
590
733
416
528
716
33
395
77
467
857
160
298
804
358
21
967
445
545
67
524
315
360
412
713
57
103
255
297
133
578
32
208
87
68
236
154
554
51
179
64
859
743
487
833
553
491
270
686
948
620
150
785
797
237
576
29
788
229
265
855
7
201
907
982
404
484
640
876
223
63
676
6
385
619
88
520
44
66
679
277
770
588
493
930
910
287
21
49
750
675
554
487
296
839
960
513
575
755
436
415
676
459
559
882
239
405
61
403
481
32
116
192
610
462
400
724
145
433
72
594
305
667
78
198
86
957
328
906
339
97
723
87
526
111
782
364
126
892
143
776
937
561
328
177
485
646
975
760
755
138
46
493
126
116
472
200
662
495
915
643
631
744
995
708
320
318
579
890
221
400
684
778
665
429
374
151
691
521
550
476
545
998
361
825
978
614
688
636
530
455
182
6
451
3
216
4
452
137
83
999
378
812
698
644
321
623
24
917
136
400
648
285
32
885
795
150
179
730
41
514
250
685
803
353
416
824
703
494
303
59
725
257
830
65
181
336
722
991
836
390
983
233
597
495
423
197
464
57
280
943
659
479
573
61
591
596
122
38
304
355
681
442
280
109
724
585
339
220
273
828
706
558
30
524
151
868
207
415
326
908
274
598
395
792
401
141
862
937
87
315
770
111
900
233
487
571
800
834
575
682
113
678
252
601
347
968
742
924
936
721
658
330
568
937
673
986
266
653
912
771
63
261
410
806
641
664
958
296
490
87
745
254
606
403
234
723
346
412
327
802
232
989
353
908
997
890
897
296
394
810
482
928
143
651
232
82
489
312
878
619
131
575
371
230
30
134
910
152
260
701
954
992
531
357
629
535
612
692
604
351
284
714
462
249
7
171
183
845
338
512
145
681
875
975
991
378
251
44
346
735
357
202
696
575
309
67
744
319
831
889
378
259
319
979
946
812
869
200
235
510
9
582
818
350
826
188
135
577
681
0
242
947
997
776
125
757
151
110
206
491
475
443
247
464
329
452
924
299
707
308
750
318
742
653
97
465
411
626
854
448
157
320
782
571
404
310
743
362
100
232
876
188
43
143
100
863
27
11
54
731
772
141
939
415
5
947
320
685
700
5
367
932
180
1
216
396
593
240
983
310
286
85
13
936
918
242
463
948
419
471
404
141
485
10
938
709
558
275
712
862
746
623
786
916
843
805
882
685
948
399
963
954
214
315
954
408
444
435
595
474
336
745
709
844
230
996
399
333
862
39
678
44
416
699
534
896
384
350
325
495
100
972
116
641
506
417
884
150
86
954
25
797
682
104
455
614
514
629
871
256
504
280
936
853
377
688
263
480
590
625
353
568
988
216
632
518
560
862
395
754
952
687
368
451
316
480
184
150
227
782
166
523
189
60
871
261
275
651
414
324
544
344
215
33
126
549
468
85
462
405
795
338
225
867
140
826
659
30
140
281
416
509
750
502
47
953
395
729
904
441
847
475
352
429
557
932
930
123
977
17
816
83
682
580
467
264
930
765
899
637
390
254
590
761
142
293
792
730
374
687
175
388
582
960
402
609
787
316
962
660
970
256
118
710
438
893
519
31
796
693
178
688
239
718
569
692
665
975
275
103
829
9
720
333
872
675
265
698
316
738
944
220
358
693
454
318
564
323
812
753
518
657
896
182
364
466
295
124
599
913
691
913
771
416
875
788
235
309
622
112
400
3
992
195
66
977
806
81
429
626
297
353
251
679
473
251
222
707
845
384
168
733
184
972
524
600
151
653
553
854
779
698
407
56
960
98
79
242
157
328
841
251
827
145
978
684
769
832
144
794
644
298
999
482
378
180
642
208
584
665
313
411
429
78
357
580
778
375
320
496
149
236
204
933
597
132
629
174
219
947
118
836
592
146
710
137
941
375
391
303
178
51
647
69
219
509
231
5
848
620
407
637
644
800
338
173
751
784
726
391
706
918
625
611
929
681
174
201
580
920
403
869
834
21
683
690
239
917
438
820
342
959
187
949
403
222
122
826
959
36
269
941
622
931
722
189
85
292
105
884
405
24
353
47
163
533
820
110
24
890
694
365
882
250
446
350
176
868
695
727
434
745
972
570
167
682
223
776
930
519
448
534
711
309
57
323
76
644
314
234
760
415
611
419
50
738
580
616
250
170
942
883
175
71
271
604
548
166
583
411
252
837
108
270
600
980
236
815
992
170
291
965
720
739
260
535
607
321
669
381
359
648
673
956
282
581
58
985
936
779
772
582
836
858
491
581
657
709
104
432
59
310
211
869
10
337
977
83
347
430
834
821
327
155
351
187
762
255
801
819
681
471
78
32
202
897
398
138
934
399
773
666
201
797
538
713
90
237
613
704
46
422
545
876
139
121
721
267
169
41
828
953
101
67
652
224
172
465
961
722
482
523
641
219
616
543
426
238
64
98
65
255
418
824
667
78
880
368
338
662
446
572
932
83
690
137
208
46
509
191
433
708
301
658
287
297
846
639
321
95
219
974
413
96
812
668
409
74
578
391
548
324
1
419
844
514
927
606
426
833
853
73
570
58
897
587
173
880
694
894
333
549
196
198
189
288
639
305
116
502
681
173
42
347
761
896
741
482
380
106
482
912
917
898
779
266
162
848
333
671
682
723
119
430
308
822
216
411
600
310
785
958
70
101
648
109
398
273
533
894
867
822
641
111
680
521
754
240
822
677
416
882
446
757
270
796
663
729
63
155
102
123
806
372
235
597
624
207
688
68
825
928
438
360
867
587
637
885
495
778
271
475
428
911
27
686
555
554
98
674
659
341
105
116
131
441
160
483
806
822
716
144
311
946
126
610
598
407
224
465
239
128
652
984
348
944
487
918
796
879
769
485
419
110
243
845
942
606
709
286
760
582
110
598
35
264
40
274
827
653
57
945
797
63
180
529
762
522
232
728
586
95
420
933
843
815
317
231
951
900
893
122
165
104
997
372
405
79
514
943
328
295
290
377
107
362
775
977
266
588
902
794
900
997
885
490
43
950
725
331
260
145
289
621
71
346
256
261
705
985
873
410
487
14
285
717
109
984
766
608
699
150
231
753
371
701
271
737
691
410
592
711
904
264
92
523
690
879
953
216
308
657
246
607
373
871
93
792
198
887
552
484
642
496
817
535
165
707
45
343
305
340
796
671
455
347
116
52
6
313
667
986
723
702
195
568
941
570
785
223
202
4
357
552
642
260
410
698
973
617
21
407
706
375
398
0
591
199
926
716
811
141
315
220
96
755
759
453
173
166
378
416
310
966
230
794
436
461
886
726
567
652
120
923
196
582
792
314
651
962
444
704
299
444
458
410
370
142
998
471
725
860
189
517
829
671
341
661
709
675
939
46
377
934
465
725
830
418
493
791
279
337
168
143
545
412
638
167
871
173
158
697
879
942
612
870
497
987
311
480
803
477
747
670
477
861
769
786
973
400
386
136
726
744
576
919
838
561
843
1
852
39
258
501
300
652
241
156
252
387
897
84
658
457
51
280
561
626
683
870
641
761
407
118
38
796
487
636
760
317
543
519
988
374
801
11
232
745
919
298
387
386
756
502
769
461
782
408
50
262
18
716
244
117
270
918
58
289
242
300
657
611
33
500
649
862
84
606
4
27
124
905
653
567
207
732
848
485
314
444
435
60
778
479
461
15
82
550
577
117
257
244
849
738
866
594
532
727
828
988
973
343
582
40
188
4
727
132
383
369
63
984
948
147
575
442
904
388
910
312
787
281
704
247
183
36
722
587
957
972
648
73
0
199
877
971
96
349
402
759
809
603
532
432
189
565
646
988
504
177
604
528
554
489
208
817
872
154
449
984
609
628
241
663
915
221
618
716
732
607
674
551
928
409
459
909
12
893
515
456
904
293
208
619
772
535
304
403
977
304
389
244
130
701
498
674
613
913
845
924
195
878
287
969
697
265
587
858
865
315
54
15
582
696
505
594
573
262
695
875
445
951
370
781
218
529
760
285
814
221
154
75
166
188
60
625
861
211
755
743
356
774
592
441
515
305
327
51
229
677
472
162
942
210
569
232
718
872
441
711
105
567
269
470
55
345
461
726
988
123
575
590
590
598
413
401
60
610
445
581
395
945
735
607
547
947
564
908
876
908
540
771
158
968
223
424
25
389
97
586
184
765
889
12
915
68
420
741
349
826
815
730
354
219
723
129
446
143
517
681
24
712
673
70
798
363
828
968
804
245
384
256
260
107
778
998
241
451
433
442
394
326
501
783
770
23
536
37
44
179
711
76
659
98
837
451
61
798
301
424
744
761
117
130
827
687
872
518
951
551
141
771
711
35
661
40
810
236
61
760
306
675
212
96
452
87
764
374
749
950
424
447
207
377
61
105
737
574
746
614
3
342
977
799
312
343
494
863
372
72
187
260
797
481
7
103
373
625
775
348
902
757
279
809
246
532
339
396
109
26
897
480
324
538
800
347
878
947
782
781
536
340
34
171
48
757
769
292
97
68
823
393
228
507
250
313
417
866
763
568
507
968
232
606
336
591
170
339
896
982
439
125
886
205
828
475
915
760
465
563
896
74
658
94
1
148
987
815
991
510
828
265
857
953
506
406
422
633
710
230
658
974
330
325
162
318
945
59
787
764
252
988
476
18
253
985
873
616
437
715
823
831
174
793
262
677
517
226
478
599
148
198
674
375
719
473
308
40
650
51
483
868
746
437
24
794
396
973
408
957
568
686
499
35
850
818
175
881
327
412
367
549
815
827
445
197
267
516
714
69
310
947
274
271
346
145
664
788
435
597
662
770
15
541
531
357
5
856
858
593
139
660
388
560
649
887
932
901
734
68
470
147
816
967
130
865
688
429
772
695
93
120
392
466
928
72
142
464
751
940
62
52
565
436
366
750
152
633
99
628
252
33
656
775
241
968
347
977
563
966
421
875
698
727
356
355
39
644
981
422
873
50
341
315
760
319
261
140
579
666
109
628
875
683
448
856
99
338
743
154
413
796
699
354
770
880
716
27
166
751
949
658
0
516
78
727
822
410
858
32
146
404
220
246
317
337
678
441
411
513
472
88
948
127
386
917
64
278
10
852
333
269
465
803
388
149
73
983
572
766
358
804
730
511
891
931
455
914
459
926
963
891
362
917
289
438
642
95
942
680
639
0
255
911
894
190
877
50
947
784
884
436
436
532
262
363
708
318
18
47
597
561
415
166
433
902
903
809
836
165
518
603
532
856
452
748
405
244
989
373
992
864
410
983
186
843
141
20
406
90
526
777
482
656
165
447
954
295
606
377
760
179
387
421
270
403
159
682
314
758
51
826
18
965
734
243
173
101
719
967
952
173
75
117
198
766
195
511
942
908
956
577
400
396
254
257
459
146
691
357
277
333
808
991
305
768
396
560
674
749
629
995
301
28
445
69
602
884
875
563
188
120
60
577
518
106
525
594
877
3
917
784
567
582
322
591
891
92
76
520
143
377
579
851
571
926
992
771
462
438
782
42
269
205
153
742
574
971
342
91
324
586
759
884
821
689
392
24
671
590
358
991
93
230
493
901
764
451
867
568
74
835
190
477
24
560
543
655
236
819
836
730
115
154
195
886
524
14
534
161
600
659
148
597
263
934
451
328
618
803
70
520
290
202
8
783
434
262
347
347
278
987
690
275
898
251
724
106
556
442
491
341
287
339
894
419
35
879
625
56
345
980
812
855
94
877
698
744
86
791
877
406
279
538
603
104
916
7
497
467
588
215
301
93
826
560
63
44
853
497
519
740
258
734
113
609
250
13
901
53
742
658
461
108
210
168
512
444
998
102
59
667
674
368
443
287
45
193
657
561
33
967
683
969
899
699
59
171
910
609
859
544
979
329
765
949
360
201
983
611
259
640
680
759
602
208
813
978
174
641
16
484
553
519
125
613
265
913
310
113
920
985
209
935
503
309
254
34
438
117
268
345
202
561
107
124
553
588
520
511
388
465
930
260
207
358
77
338
790
460
383
834
18
99
187
523
511
77
514
953
473
881
793
136
195
183
693
683
388
922
373
250
617
854
337
693
127
602
233
556
880
191
691
839
778
392
933
145
782
718
700
843
678
215
538
622
526
256
414
858
206
929
480
821
350
237
717
76
266
13
716
357
617
5
535
888
381
69
903
85
768
858
65
282
613
939
808
292
89
698
49
420
741
271
229
90
886
66
178
734
246
593
840
920
809
568
956
784
578
977
379
405
724
775
471
392
576
198
943
765
448
140
892
759
229
86
373
994
321
540
640
197
263
656
100
75
47
58
799
410
505
857
186
674
311
588
429
69
550
898
420
417
685
960
497
619
422
345
561
205
684
632
442
911
743
917
979
922
957
888
711
789
159
828
518
133
247
390
912
225
775
722
587
932
221
546
251
985
534
450
537
194
387
185
904
103
61
893
334
806
180
287
268
917
883
69
94
589
485
633
475
417
501
912
115
877
611
443
903
800
183
560
629
862
968
698
361
51
787
731
462
741
910
785
144
442
890
741
457
639
743
991
228
143
674
486
869
395
249
574
375
206
677
437
307
525
763
420
136
797
486
451
8
26
468
541
453
593
207
842
373
563
854
987
169
719
42
217
580
574
942
89
708
848
461
923
290
865
681
353
300
788
292
579
716
764
230
936
959
383
264
424
37
343
676
467
753
486
905
102
173
579
4
390
638
153
194
150
792
160
379
91
808
535
225
126
945
664
121
968
565
345
332
44
788
548
867
467
883
649
165
702
613
263
640
201
511
939
473
190
651
219
23
265
788
329
948
736
851
430
145
523
942
559
582
257
640
0
249
262
321
601
460
357
519
935
52
219
216
197
776
723
169
718
789
10
48
570
895
464
178
421
223
719
245
296
717
599
703
226
509
360
341
879
640
721
876
604
289
332
558
808
267
850
163
137
839
222
524
44
318
486
801
549
683
404
826
197
505
383
254
579
801
564
698
169
92
592
709
704
629
600
391
817
335
514
99
609
488
113
868
273
4
485
439
896
259
307
968
227
935
823
941
248
377
30
747
962
830
827
305
914
821
518
603
264
742
744
460
98
917
246
1
59
4
562
964
656
928
449
358
845
683
97
684
933
711
995
203
27
736
733
267
233
13
549
666
578
636
670
34
837
564
638
229
430
689
9
993
940
760
874
119
144
849
959
502
523
503
15
640
280
710
666
35
33
527
102
588
388
624
879
23
891
911
239
555
926
839
21
287
997
528
126
168
780
801
156
61
918
362
214
291
790
530
479
571
861
436
849
970
702
917
491
952
518
152
327
736
990
269
41
537
914
399
80
848
633
364
820
628
361
12
207
94
671
780
812
256
902
759
384
481
15
73
103
615
26
144
195
810
373
544
881
40
845
537
24
39
538
478
701
472
62
835
48
871
698
879
790
7
634
729
805
888
121
138
333
882
575
654
670
678
915
172
489
275
654
517
999
408
835
244
574
282
203
727
94
709
400
234
750
864
978
83
568
480
927
180
614
272
332
666
498
654
712
783
909
783
710
664
913
66
863
313
279
526
80
854
822
676
537
975
484
949
89
815
610
914
10
78
965
388
316
783
350
580
503
257
41
604
155
252
227
442
690
378
521
421
127
683
29
464
690
882
165
875
655
66
679
139
884
317
791
317
59
321
764
256
375
56
916
845
554
767
123
891
795
251
882
753
32
577
646
482
751
179
274
31
229
333
601
881
186
317
625
120
757
742
330
50
141
756
555
652
971
580
658
313
694
526
323
636
58
764
299
33
93
97
265
450
967
880
29
270
779
274
146
982
645
429
115
12
982
80
572
46
104
261
872
435
557
569
694
60
666
539
349
729
315
347
480
87
53
740
571
613
427
920
715
549
981
79
431
129
25
279
925
110
283
77
170
998
601
35
525
535
186
839
711
993
881
30
154
552
266
87
184
24
656
680
729
693
607
799
865
721
719
522
336
148
890
411
148
83
809
77
257
150
625
81
448
929
725
361
163
645
538
885
493
376
43
988
234
304
88
59
798
592
163
956
125
61
699
313
129
983
48
748
868
693
796
311
321
586
311
425
887
924
839
614
610
2
1
170
320
558
251
285
447
451
702
758
657
304
108
784
521
501
708
700
667
326
220
862
112
442
746
712
807
704
194
191
193
442
291
900
910
27
674
540
492
843
293
454
23
917
8
433
114
244
588
873
569
351
496
937
927
900
590
205
520
484
203
860
739
201
485
543
997
435
722
29
234
368
997
699
205
474
543
885
743
238
430
563
438
933
85
901
881
156
981
196
344
645
745
130
968
515
17
225
427
611
410
263
161
505
910
506
349
331
707
830
484
243
489
36
761
422
503
728
103
83
580
478
223
337
886
658
948
620
362
830
281
93
657
11
77
985
268
407
697
371
226
438
316
599
676
553
723
730
738
132
596
434
106
831
3
740
155
288
324
128
571
743
487
237
683
49
446
683
833
347
985
985
193
969
340
516
715
299
780
407
727
423
462
391
225
233
94
782
61
372
71
256
914
293
368
315
78
896
875
114
12
400
274
603
194
249
960
193
788
447
165
632
592
290
549
293
272
322
807
245
963
886
799
26
70
922
42
443
409
130
110
678
361
129
654
375
332
936
486
32
177
465
198
671
154
654
763
827
619
556
495
156
355
768
834
798
302
848
61
658
447
719
149
792
874
597
807
160
83
982
619
98
514
357
730
116
267
953
774
875
956
835
826
592
515
663
198
816
937
854
791
857
222
600
242
264
26
809
138
491
169
876
556
536
404
333
46
68
848
182
130
328
98
66
394
99
51
205
434
576
996
345
55
77
850
584
13
545
720
601
597
424
327
772
283
935
750
869
484
167
541
730
185
354
120
802
710
788
336
655
23
397
488
880
952
253
465
267
745
203
943
148
818
389
156
403
439
3
685
614
991
78
415
953
535
928
330
345
36
222
543
259
496
61
795
912
321
812
916
375
551
990
264
38
282
941
472
336
245
372
842
670
452
641
936
460
836
822
47
395
996
127
53
157
417
200
526
353
667
1
151
481
413
428
977
211
986
708
491
273
450
834
30
320
12
990
12
836
469
959
183
576
103
740
143
897
202
770
605
955
906
97
259
23
496
458
738
782
628
780
377
326
680
229
248
821
31
936
600
139
861
877
793
422
630
738
207
969
134
701
653
13
220
350
46
199
129
796
369
633
670
114
387
938
360
834
618
87
764
651
948
121
670
8
674
437
60
828
781
958
224
220
583
654
483
466
702
114
976
285
569
542
795
915
609
194
360
527
745
915
74
41
573
808
943
686
258
607
640
899
409
374
916
923
361
192
670
963
395
766
154
232
942
702
443
893
343
732
7
781
265
597
530
231
329
412
687
852
269
322
617
920
43
650
216
948
242
380
879
951
585
76
178
111
590
257
34
591
156
873
730
285
443
765
639
49
252
169
293
545
667
828
397
61
242
847
307
747
172
27
839
73
323
213
593
885
866
457
244
930
26
956
907
220
236
546
751
487
482
835
529
202
932
722
454
894
410
166
559
66
394
26
363
375
924
540
41
268
924
262
428
685
178
391
894
21
282
185
608
695
827
669
239
380
966
410
290
543
804
642
851
698
244
692
853
560
252
400
733
104
511
986
39
486
385
33
295
387
883
842
636
839
874
971
26
739
141
247
298
124
381
711
623
739
661
886
784
306
325
991
599
592
193
290
181
35
406
209
595
722
522
373
926
408
433
507
970
916
604
371
111
623
397
71
88
114
640
859
60
382
59
24
432
380
632
182
812
568
162
210
667
807
917
877
657
785
155
240
384
969
904
399
328
28
713
11
406
365
832
741
669
16
303
225
246
714
257
938
748
926
434
790
665
513
512
252
39
388
296
999
194
431
742
519
894
517
213
234
676
366
729
325
178
441
494
928
293
958
706
443
454
27
457
617
35
90
356
728
712
632
928
565
195
423
327
91
8
318
648
861
774
9
812
249
411
970
767
459
199
82
674
837
276
35
391
419
736
91
5
477
860
995
162
519
836
431
144
135
7
969
430
13
215
44
642
763
793
450
585
551
962
404
96
873
977
991
404
939
170
171
310
331
659
422
773
736
216
934
600
480
133
73
180
237
912
118
48
929
606
678
934
420
171
827
348
159
94
996
242
623
605
616
181
767
758
211
296
582
290
109
109
68
207
416
11
484
85
546
150
154
594
128
79
110
725
596
202
401
403
835
220
656
850
95
719
75
357
41
787
121
298
714
431
93
222
815
359
70
424
347
443
223
258
581
180
790
41
267
989
789
971
306
316
122
580
935
30
971
799
353
513
921
90
808
220
682
854
894
735
422
788
400
40
214
286
285
209
529
4
122
396
857
914
404
720
11
761
26
283
510
347
901
60
153
259
477
461
378
602
272
467
237
479
953
957
417
289
507
718
482
260
948
604
967
252
111
700
747
305
542
798
167
111
205
992
176
273
44
265
992
219
914
9
933
593
81
759
589
476
343
762
635
97
804
416
159
535
34
170
670
235
315
52
491
411
138
36
683
188
578
317
386
105
88
536
377
361
648
710
611
188
184
759
473
338
283
999
359
723
627
222
690
280
576
461
478
165
59
655
804
186
388
88
631
809
99
733
804
423
646
548
254
3
713
766
913
46
470
135
519
224
43
197
792
922
223
531
567
306
754
945
876
338
124
753
756
735
915
854
179
243
590
809
137
735
643
481
503
588
734
976
972
948
234
142
101
206
25
355
432
976
683
519
364
356
296
248
779
255
190
711
458
118
425
684
25
965
986
13
609
358
108
124
996
621
661
424
21
213
495
290
249
160
463
232
851
833
301
412
448
863
293
451
687
357
214
971
932
317
699
489
845
525
644
132
886
592
533
515
510
905
37
893
797
719
811
66
714
332
967
951
742
522
848
816
207
741
682
176
653
826
73
774
169
594
738
168
463
648
440
96
608
649
432
714
921
650
51
282
678
184
260
300
686
889
73
901
477
645
96
196
769
87
829
128
594
181
216
41
109
682
783
757
849
956
446
992
878
891
329
804
639
913
385
380
227
406
708
894
445
256
570
877
377
45
990
926
60
755
490
781
214
93
972
561
627
33
251
210
687
912
393
727
425
554
455
918
898
117
213
976
572
79
776
830
788
479
516
667
830
14
477
34
82
163
368
601
560
141
343
219
413
737
31
18
727
234
608
192
982
493
465
96
848
695
186
219
987
656
700
435
548
491
503
519
955
60
736
720
755
701
416
669
865
881
585
30
298
497
874
31
924
298
801
363
882
24
190
721
371
209
902
435
981
215
292
768
991
981
385
879
863
629
256
938
202
982
902
532
89
692
148
743
183
959
936
684
411
28
412
5
5
713
554
469
116
285
244
581
81
528
558
99
960
846
113
919
571
790
81
580
801
350
862
208
426
929
359
527
946
745
457
260
598
13
176
794
621
889
651
938
274
106
836
82
647
653
27
420
79
803
759
767
655
99
978
621
720
596
786
661
747
483
964
953
423
410
919
381
347
677
826
600
806
110
124
325
660
951
212
76
761
892
304
601
320
237
263
692
778
742
718
783
277
209
567
414
44
740
924
655
469
558
493
298
572
427
391
700
817
553
500
276
886
623
896
206
479
574
76
719
71
410
599
11
782
741
421
393
233
437
556
316
988
379
769
107
972
325
512
506
628
927
915
495
681
22
266
465
391
228
369
139
579
443
214
116
131
944
793
835
947
104
164
917
926
599
616
267
517
726
456
510
941
474
354
515
624
267
875
611
716
746
0
228
866
731
477
44
624
935
813
741
530
811
318
790
440
490
692
414
456
166
732
422
421
971
533
5
824
818
160
753
642
94
894
906
289
733
979
645
316
707
361
93
983
155
438
292
637
69
992
600
438
758
298
786
602
153
576
710
389
943
284
266
472
39
766
182
674
79
914
850
337
545
665
411
219
301
215
724
670
821
34
258
253
610
859
250
261
9
170
345
432
691
354
757
604
444
845
64
221
978
806
817
773
240
288
626
186
974
492
648
146
950
818
851
177
488
693
201
967
169
20
408
426
938
75
365
769
789
505
3
593
761
966
718
250
110
81
358
636
433
857
863
815
838
745
38
184
259
883
283
842
87
334
679
726
119
68
932
196
412
862
913
48
961
281
783
190
635
770
311
549
883
247
570
276
519
217
980
951
724
12
117
793
902
651
932
31
318
670
670
609
875
150
876
113
566
468
760
272
457
219
746
253
330
316
156
513
215
15
377
222
4
243
248
850
475
334
509
291
869
355
349
253
457
285
552
565
613
98
633
297
908
436
766
446
37
816
707
198
656
294
152
257
523
201
303
954
525
584
199
649
1
689
982
241
634
341
393
546
24
802
287
373
946
299
361
851
433
856
679
209
915
991
399
107
760
916
819
235
419
520
809
838
313
55
857
137
79
15
172
392
887
319
181
50
431
218
820
916
364
301
142
551
237
391
898
319
396
815
329
184
8
619
242
736
222
280
58
683
816
649
116
503
211
595
425
717
114
574
798
19
306
322
664
176
204
937
894
667
282
104
830
543
683
174
72
740
138
229
138
414
720
765
766
287
587
759
918
827
300
929
852
553
382
413
744
532
24
667
350
882
187
46
105
73
197
308
475
903
743
160
454
807
568
128
183
55
421
317
36
716
246
374
149
664
58
545
304
544
503
438
719
223
409
711
487
355
227
609
249
799
348
600
829
252
453
439
115
107
234
24
23
864
259
188
732
216
253
333
492
724
862
477
911
106
815
180
556
0
782
999
870
50
698
731
867
582
950
659
196
191
82
882
296
435
919
969
885
930
297
109
824
106
817
656
569
638
201
810
945
533
156
666
813
547
742
11
761
767
645
79
154
440
320
794
328
44
360
762
883
874
66
855
441
782
150
882
635
242
723
10
714
711
316
288
928
359
513
588
144
867
634
277
13
419
730
448
306
599
9
496
754
979
812
574
795
934
487
140
735
232
819
382
379
278
6
301
122
206
129
700
953
311
617
966
944
998
179
603
309
302
346
591
113
327
250
568
744
557
824
667
749
570
83
592
980
614
700
375
325
183
116
417
442
657
510
540
312
636
459
591
838
660
614
772
365
744
864
891
224
419
760
465
27
781
793
876
62
372
627
613
520
205
242
671
625
408
599
274
188
433
646
613
822
344
597
530
491
917
522
913
360
638
111
452
496
835
368
559
548
584
837
327
976
213
796
845
18
217
424
250
246
844
83
729
757
901
810
66
201
802
670
187
699
748
562
504
594
914
461
18
492
940
685
588
123
215
196
315
142
438
85
973
657
533
633
334
624
563
179
983
346
407
610
479
896
985
392
22
395
303
73
654
117
623
594
999
660
241
417
819
585
215
226
799
625
273
401
210
552
189
344
696
334
586
829
908
868
652
622
307
756
435
23
972
5
315
486
84
61
661
434
200
770
163
324
227
734
865
317
399
199
384
4
968
832
651
207
78
960
48
905
795
521
790
658
789
188
918
956
523
3
48
58
514
827
479
813
852
770
256
331
453
831
876
776
611
451
179
6
325
429
441
936
613
260
823
578
191
516
741
996
27
797
44
212
964
116
461
23
435
791
925
698
660
75
12
701
648
948
511
385
935
316
37
68
491
209
156
563
575
144
526
764
931
663
680
820
129
457
325
6
709
536
388
698
892
416
835
679
339
434
10
165
817
829
651
539
111
739
786
755
353
739
968
606
237
299
778
739
28
558
867
729
442
697
942
929
673
855
180
587
332
800
315
962
79
940
1
853
948
830
104
980
899
899
467
902
442
371
892
138
345
181
501
980
173
414
637
98
753
567
65
66
692
827
572
543
128
607
951
954
96
893
107
501
125
631
45
584
689
836
192
638
733
269
335
764
203
921
598
9
407
894
815
865
43
727
333
765
268
327
972
686
165
359
244
369
408
513
761
543
221
544
204
903
50
853
911
8
833
18
155
494
274
39
37
371
405
238
364
538
568
71
768
523
5
99
272
562
741
443
340
329
176
874
243
79
9
394
604
95
247
853
831
808
106
198
421
546
363
714
526
593
926
922
490
34
28
378
651
786
204
508
779
176
654
974
876
734
492
742
294
792
148
334
778
305
708
530
138
584
141
340
690
366
545
7
444
292
358
373
858
667
620
964
748
250
879
29
870
335
12
921
626
917
115
888
761
528
940
611
922
645
742
867
572
229
937
25
820
570
353
84
205
940
956
166
853
255
285
478
188
589
336
480
941
879
739
12
615
74
690
477
488
454
125
538
562
675
423
56
739
277
407
232
651
857
673
406
452
926
858
921
644
129
952
262
650
206
918
879
576
768
524
445
112
956
555
444
948
894
187
366
546
282
315
643
689
0
804
99
623
582
912
329
711
960
43
982
74
632
560
601
676
866
319
799
525
567
845
391
19
375
863
562
925
418
28
899
578
671
155
67
203
71
467
615
745
191
200
751
392
982
411
31
434
845
262
504
988
352
330
557
874
94
359
68
923
866
712
335
300
607
976
234
875
928
265
381
120
711
536
710
854
168
390
656
659
306
243
333
158
805
501
576
348
556
426
757
658
232
362
810
134
396
462
784
719
244
850
362
974
243
737
472
631
973
976
147
797
54
67
504
678
71
666
113
559
804
547
41
98
481
994
412
785
817
385
768
806
368
121
913
972
58
549
491
55
861
858
943
844
293
271
438
736
317
378
600
48
807
772
475
208
284
394
855
993
258
850
229
124
973
7
634
486
430
692
914
486
175
520
155
281
245
258
174
956
694
820
936
586
805
803
845
879
516
450
994
212
879
729
399
589
380
265
491
518
686
763
42
615
375
938
497
717
271
2
243
773
323
904
239
922
282
971
516
501
953
572
717
641
486
267
366
766
685
88
379
972
633
543
789
950
690
138
237
108
305
976
671
604
492
403
991
854
520
526
541
726
999
148
861
769
981
355
849
22
598
364
384
642
457
324
703
527
379
16
69
821
591
5
744
600
601
6
369
39
708
188
838
858
791
58
82
69
531
680
148
957
350
833
260
13
259
457
382
204
116
922
794
580
67
648
820
195
448
69
505
975
790
584
570
374
129
687
931
200
43
814
627
915
891
579
741
678
405
175
536
497
872
82
878
164
460
877
921
257
847
724
714
766
705
987
488
90
819
574
348
254
860
286
219
282
768
159
756
578
769
429
36
199
6
838
160
639
459
281
727
420
365
903
506
718
426
707
285
860
39
675
66
364
45
904
68
259
441
579
957
879
811
790
179
515
972
707
886
801
274
250
996
550
837
328
774
914
263
769
911
179
210
160
797
862
572
139
103
347
859
645
940
70
472
419
147
37
132
775
316
806
216
768
931
491
160
404
321
884
339
443
226
762
462
115
349
296
832
680
477
75
701
216
161
85
767
937
184
878
181
294
924
565
305
602
484
980
916
935
666
77
798
248
229
573
799
248
736
459
203
522
697
189
824
476
30
892
437
607
999
325
5
563
372
744
557
175
56
270
433
737
448
88
409
112
308
396
589
658
978
608
177
942
432
99
322
446
59
617
661
110
224
160
959
643
817
131
460
229
557
41
519
979
55
764
882
515
525
808
267
401
868
437
366
410
316
790
688
506
219
32
306
583
135
442
591
394
906
423
495
958
445
584
977
34
298
145
888
153
77
736
822
973
158
111
603
684
467
19
230
949
147
936
973
907
295
393
471
186
297
441
943
965
272
446
27
356
16
825
700
795
597
807
520
81
572
233
882
501
642
871
185
423
252
956
703
601
94
627
605
78
130
525
183
46
273
268
784
723
212
173
886
55
221
839
147
967
804
874
672
492
1
31
494
583
777
678
737
443
115
97
588
51
313
706
16
779
482
436
357
86
269
10
86
162
634
63
891
10
374
785
532
716
132
835
242
964
41
459
380
237
316
403
1
229
568
607
265
287
289
533
172
446
602
416
527
3
262
831
109
779
561
774
187
204
670
33
213
188
775
868
294
785
778
436
240
255
439
173
599
686
678
132
203
172
126
736
915
117
475
873
156
265
850
522
920
432
462
554
450
70
389
759
196
783
541
993
4
672
310
600
297
14
175
500
92
758
290
477
699
679
115
307
298
732
573
497
903
293
387
956
999
276
526
788
548
600
89
736
923
346
575
283
909
267
78
161
458
749
171
733
282
963
758
455
520
337
65
261
8
28
688
655
88
295
407
356
420
434
184
658
825
485
347
500
217
648
726
824
629
963
726
858
212
208
365
58
565
39
823
965
125
74
677
530
348
178
352
921
778
704
356
410
201
645
631
970
472
927
540
841
344
37
70
726
262
735
42
829
692
497
232
574
466
620
887
354
154
384
752
884
292
649
348
780
371
996
429
519
384
563
219
807
64
21
455
530
906
566
973
53
709
183
736
414
213
824
328
550
60
867
657
440
332
700
444
503
652
77
547
998
477
730
269
839
177
729
10
280
323
132
482
810
440
615
43
299
438
13
771
621
838
843
363
429
267
683
252
444
871
15
887
648
655
741
818
324
500
815
917
160
747
766
331
173
605
3
906
109
399
779
282
188
330
757
591
939
402
482
285
613
596
796
297
636
132
590
904
967
207
700
547
140
574
309
354
904
831
258
981
904
371
913
932
717
259
230
704
539
497
743
193
420
729
803
58
31
745
801
735
439
611
139
286
977
99
623
336
192
243
87
888
951
8
200
191
838
770
613
930
811
987
517
2
389
433
376
416
723
571
670
874
682
937
107
830
715
447
176
648
382
513
720
481
379
371
162
915
327
474
795
780
544
353
510
907
788
638
786
230
986
627
119
368
828
863
376
605
339
976
84
409
617
359
25
209
996
724
167
493
471
969
6
650
237
590
366
633
627
490
105
949
829
738
851
335
408
620
478
134
239
389
629
468
28
863
629
942
227
603
869
681
32
504
335
496
668
246
894
988
932
286
859
182
319
972
314
65
792
271
239
407
476
835
421
810
474
423
149
593
276
786
962
955
702
79
911
177
22
811
675
286
712
34
177
255
36
941
835
899
567
263
343
499
935
734
568
470
75
897
157
751
378
346
344
829
562
24
494
492
504
767
408
927
300
293
841
782
425
441
889
579
312
754
623
213
76
521
248
68
128
307
157
90
767
664
745
119
320
736
318
220
10
957
510
335
768
315
8
181
284
103
678
859
971
456
390
292
158
759
840
625
905
905
161
287
358
628
484
142
207
859
238
431
320
658
722
363
114
389
256
330
864
212
545
914
430
726
717
197
170
948
476
803
366
232
10
214
665
231
517
999
952
953
192
275
895
527
406
741
685
487
525
569
229
360
776
373
156
456
331
53
479
792
342
317
796
974
453
120
548
297
764
927
272
299
397
198
907
435
479
772
229
976
298
334
438
521
374
605
584
56
279
957
30
138
714
428
30
160
129
758
876
67
491
408
281
400
791
586
728
757
800
569
661
882
309
625
626
112
591
424
343
420
270
914
371
417
110
836
717
308
345
935
188
848
66
555
401
850
973
915
744
971
893
767
429
796
874
896
282
126
179
932
572
328
713
660
46
517
272
256
277
833
135
884
944
850
242
95
967
94
0
688
424
544
942
426
253
879
873
871
353
492
578
346
728
221
105
363
875
148
755
857
510
422
961
81
61
920
780
704
619
204
394
726
331
470
646
940
181
375
590
122
521
735
99
567
832
436
657
642
541
553
739
901
999
379
922
838
69
386
216
332
466
483
628
244
46
825
438
484
83
778
312
183
347
382
987
125
219
183
848
300
186
81
112
927
373
512
689
935
795
804
578
346
647
479
62
534
333
21
193
104
538
633
624
713
628
111
65
589
854
765
220
25
733
111
270
33
617
709
827
26
29
381
692
684
632
818
147
357
728
428
843
167
834
252
679
478
148
815
65
804
115
163
435
411
152
803
273
356
164
316
881
802
254
205
352
851
460
351
600
699
154
746
222
558
860
731
904
331
812
229
939
218
284
875
606
11
545
691
852
252
786
593
548
924
551
470
949
82
291
354
291
422
180
851
50
517
86
652
84
755
713
322
422
219
350
990
589
449
342
15
198
259
516
304
796
800
850
964
158
19
564
602
178
990
506
25
306
50
652
361
955
991
326
233
596
738
476
36
724
509
189
497
829
506
829
777
566
948
840
341
770
112
657
573
557
224
852
611
879
310
858
508
889
491
239
606
655
610
339
222
190
555
31
271
660
526
618
959
847
868
782
507
949
607
860
70
154
375
223
668
677
280
708
753
932
526
175
574
734
435
224
169
970
624
427
287
393
250
979
724
997
497
416
625
273
836
169
18
255
103
415
183
700
788
141
338
467
442
783
900
705
285
951
475
746
121
394
530
910
293
170
953
480
708
776
655
737
583
624
741
104
835
196
795
926
85
377
868
827
668
968
373
13
0
623
149
324
604
640
209
31
921
31
63
274
851
354
647
241
870
491
283
372
67
416
952
35
305
520
624
649
879
356
552
538
69
319
842
850
842
302
734
34
729
205
993
859
185
466
879
463
614
597
475
391
483
484
663
735
432
354
98
371
916
826
479
208
769
693
59
1
311
792
353
755
425
749
285
43
256
34
691
915
385
983
325
755
871
304
973
735
719
114
384
830
882
37
70
750
939
819
327
170
853
283
15
219
897
976
423
687
164
197
130
807
353
592
420
572
995
79
418
199
608
703
801
325
627
975
496
166
980
244
818
140
11
495
614
797
348
843
269
842
579
880
852
456
41
736
480
237
162
978
582
490
879
121
967
831
134
567
493
609
820
926
571
482
71
634
741
83
787
329
803
660
406
363
671
788
334
694
882
778
510
529
433
707
768
656
752
832
921
688
2
875
657
434
64
594
0
625
819
522
817
312
479
317
691
645
512
186
211
921
263
86
419
722
998
486
245
272
973
502
573
530
529
908
671
966
619
127
296
453
76
475
923
752
115
520
191
638
655
828
538
507
356
657
366
929
582
667
987
745
459
342
72
883
868
454
346
945
611
899
872
17
329
324
171
677
915
396
393
189
121
864
223
820
213
622
39
788
914
682
701
658
126
638
946
132
428
168
397
38
874
743
811
707
625
879
739
533
604
492
902
709
218
986
633
737
732
918
736
159
711
150
400
707
439
211
63
636
954
695
271
206
143
381
745
977
731
586
847
68
436
438
521
532
775
309
962
497
863
52
501
130
375
112
826
259
963
855
779
454
840
58
19
805
888
917
388
559
715
3
764
416
99
134
948
602
818
349
16
913
980
257
131
682
598
785
995
786
451
489
735
493
214
763
178
171
708
338
918
462
738
960
467
929
746
790
713
220
115
482
272
780
319
350
865
882
385
18
909
234
305
257
777
975
318
109
526
539
878
781
104
1
273
658
315
161
757
232
991
967
404
987
417
940
159
322
829
850
336
794
853
186
776
424
820
666
619
251
861
615
888
407
797
882
733
150
42
413
176
762
644
301
84
576
955
713
645
610
367
908
206
783
74
70
879
882
287
13
581
982
860
158
468
816
110
285
622
467
464
288
921
599
164
556
483
489
701
640
623
108
605
582
532
667
359
525
648
383
715
419
682
762
753
211
387
192
861
430
384
98
228
391
535
959
586
680
380
288
318
255
903
184
115
297
363
396
250
547
519
936
942
333
68
510
191
258
271
25
777
483
382
437
904
293
672
615
439
861
165
437
452
51
971
876
330
527
659
711
859
923
344
540
305
610
666
275
430
634
981
686
825
434
337
160
717
135
979
477
675
520
342
476
826
722
305
773
483
133
264
330
685
165
260
472
510
207
676
158
884
548
312
924
537
55
778
186
951
910
206
192
835
560
945
437
660
416
793
317
345
681
121
380
497
75
314
833
866
487
873
41
207
78
36
245
972
406
203
170
934
199
161
870
505
118
245
805
191
578
938
499
884
837
415
233
558
801
244
948
403
191
108
692
674
804
168
805
364
231
193
447
557
631
295
840
973
25
636
155
302
738
901
412
184
149
426
627
266
409
128
200
784
46
601
207
759
166
831
687
69
224
395
143
733
251
672
608
537
464
562
79
943
527
952
405
355
425
412
528
896
522
679
313
696
547
325
103
894
446
654
945
340
184
524
111
625
776
125
639
598
399
764
872
969
631
247
574
30
475
504
614
204
475
362
528
311
372
249
19
873
556
576
66
785
951
789
912
312
180
946
653
435
785
144
725
876
418
79
916
829
69
858
103
994
678
388
472
918
397
775
170
644
568
137
551
729
253
135
321
157
970
617
43
670
978
240
734
268
337
272
720
82
783
907
955
239
519
16
26
504
67
858
180
450
50
775
904
20
704
131
908
742
138
803
887
375
723
74
721
930
789
842
497
652
828
326
939
909
225
977
151
625
751
172
459
87
389
560
391
66
352
1
668
213
179
115
314
601
206
585
171
800
745
429
222
777
655
886
657
696
196
853
513
658
544
344
765
33
788
36
455
964
793
402
834
237
393
641
844
154
597
155
559
444
623
455
78
799
203
173
235
644
976
492
207
286
752
216
894
809
1
988
52
546
550
878
427
89
330
927
894
178
125
470
677
400
574
456
582
676
204
249
116
78
813
746
358
459
134
309
33
399
57
85
493
538
960
263
96
822
43
0
454
652
853
892
676
701
76
696
404
103
395
882
204
929
979
190
623
602
948
43
969
705
95
381
740
542
787
30
303
30
496
408
597
795
380
965
527
400
995
505
677
791
608
643
497
179
187
270
466
735
762
383
230
763
99
177
838
54
372
33
55
617
17
899
942
570
388
798
901
569
537
706
317
36
467
998
583
138
488
595
679
53
121
231
0
337
75
572
634
453
46
765
187
561
372
885
694
211
959
898
117
349
28
471
158
224
264
25
299
865
819
789
453
736
587
968
521
364
667
5
232
85
296
378
961
487
424
91
347
525
216
59
339
549
669
386
540
514
870
820
493
700
177
136
774
862
296
487
117
802
164
559
644
809
529
78
331
432
44
176
487
641
4
667
199
821
803
254
826
713
581
585
472
994
475
872
760
345
824
189
721
61
922
689
155
936
934
4
752
465
858
793
544
750
621
612
98
446
386
977
440
581
826
21
433
961
939
786
833
447
816
789
282
278
930
462
911
957
276
950
640
703
337
952
316
545
589
141
459
877
601
407
393
21
208
115
316
367
631
682
621
718
883
800
213
935
826
798
21
157
30
998
63
414
277
697
788
53
474
107
399
247
976
595
186
805
222
327
868
201
770
802
127
322
386
796
616
303
673
305
675
442
33
175
62
367
707
486
682
972
708
343
183
338
908
611
557
678
384
130
708
301
427
523
648
99
691
769
692
815
737
534
107
198
194
734
323
262
51
576
839
360
905
80
16
683
910
2
246
178
502
301
645
823
984
167
354
113
889
879
319
754
239
355
373
308
699
272
735
581
912
202
777
951
208
940
692
509
463
507
858
786
323
810
141
781
515
648
808
407
864
176
351
169
836
214
355
917
666
951
376
628
498
884
689
431
421
857
329
64
67
987
465
496
767
313
988
709
408
888
190
828
150
883
621
997
813
171
863
954
339
963
390
2
874
574
560
821
214
486
462
269
894
781
822
815
486
963
597
836
972
699
98
580
131
592
255
679
586
263
567
734
446
276
845
162
389
30
988
74
992
219
404
443
282
236
556
660
752
921
892
961
270
396
258
360
147
947
11
684
579
396
291
773
421
843
754
632
709
830
281
797
62
508
372
257
85
507
610
614
165
822
358
913
283
866
437
281
429
190
584
911
101
28
572
306
903
935
815
316
467
100
550
366
981
8
564
680
784
42
225
39
75
505
209
150
914
1
576
618
839
114
198
481
0
965
650
930
200
413
801
700
908
871
350
415
968
162
815
766
883
813
540
408
675
958
157
78
395
396
452
72
236
898
24
462
181
575
451
36
815
131
943
475
877
773
138
752
867
442
184
364
229
599
90
33
81
734
950
611
550
245
641
364
805
234
105
644
974
507
643
143
790
388
368
590
730
37
857
547
781
352
326
390
909
923
275
700
31
552
168
804
859
221
575
916
528
87
651
530
450
901
749
577
675
44
150
538
782
178
665
258
366
748
79
10
539
207
657
89
355
134
93
745
285
809
540
388
347
879
500
220
917
416
186
942
547
754
549
678
366
309
574
294
426
344
947
305
197
54
226
115
507
127
386
605
20
765
642
738
120
778
293
456
603
197
580
593
161
164
137
739
170
425
497
43
222
115
934
13
718
825
45
544
158
16
295
340
206
306
3
32
914
558
291
369
599
73
619
830
558
9
173
936
304
788
708
652
737
146
29
21
129
318
164
918
237
506
788
476
580
12
800
362
99
126
419
470
907
75
576
369
720
866
242
726
222
508
831
923
975
500
108
132
854
847
289
388
161
799
229
91
264
394
337
112
479
258
352
664
391
867
476
33
994
775
343
736
207
981
769
530
849
502
872
608
628
921
701
537
162
388
241
376
239
834
941
956
466
989
430
183
20
466
453
111
495
602
547
141
268
661
197
241
361
493
967
881
470
73
540
976
835
92
224
399
585
212
396
702
777
103
961
614
906
469
850
151
569
326
28
217
839
5
801
631
38
654
114
506
640
768
855
253
613
684
283
810
481
300
684
749
501
83
422
100
568
617
744
501
739
293
532
193
406
791
985
980
824
753
693
818
106
748
267
26
449
444
656
449
247
405
843
448
266
773
242
733
537
180
855
671
141
985
978
262
455
245
678
220
349
99
538
450
91
79
107
893
514
228
8
31
766
53
222
152
726
134
658
331
562
37
105
969
452
1
430
920
832
893
41
567
606
609
253
88
773
468
700
871
753
786
122
36
128
616
834
890
639
958
608
206
48
802
928
553
243
33
119
273
721
18
691
450
294
652
659
92
535
694
472
797
20
956
585
46
807
26
321
588
300
995
434
779
357
944
968
832
448
527
895
591
627
548
405
539
797
874
419
450
850
629
311
288
370
796
577
618
713
3
106
876
881
214
394
491
482
891
922
381
251
212
181
207
446
108
143
487
612
774
89
142
540
806
221
242
789
144
683
431
423
878
815
654
677
962
621
762
408
714
685
906
200
212
990
789
149
508
939
386
177
79
164
497
41
47
709
547
791
741
6
116
22
701
689
724
878
868
151
345
562
830
833
826
66
153
130
548
825
205
194
602
940
975
480
490
573
192
221
378
849
719
351
519
640
47
404
760
510
872
706
755
69
195
942
834
944
285
965
804
353
736
334
524
596
880
441
340
245
842
302
266
157
933
660
778
808
432
901
793
583
52
920
846
244
974
892
430
78
597
451
510
229
861
475
193
220
807
995
856
392
137
40
913
701
999
159
79
15
303
854
830
500
344
675
707
908
706
340
989
122
17
699
628
324
631
781
439
792
589
552
143
38
615
701
495
69
790
957
641
586
460
126
632
604
220
913
798
323
987
435
500
623
350
204
93
138
885
7
819
894
136
946
855
339
652
210
543
168
485
215
716
984
275
710
395
992
83
779
99
138
761
308
805
861
643
105
687
488
567
205
341
71
286
527
454
568
96
28
478
884
945
932
853
69
294
273
989
426
136
747
237
441
491
187
968
633
747
965
520
471
232
924
710
87
318
805
376
319
847
245
529
417
606
328
780
506
871
892
545
212
51
299
424
988
796
262
630
435
911
581
879
930
0
120
57
437
477
798
430
725
202
77
607
418
861
590
874
997
69
390
952
522
851
387
66
458
280
324
560
304
525
891
377
934
844
170
335
275
816
31
230
550
269
307
170
449
129
85
601
102
261
974
270
369
975
54
152
781
685
725
399
999
208
309
832
200
325
584
564
52
340
805
260
898
957
474
692
217
451
483
326
706
159
150
568
479
150
686
749
309
909
837
193
11
808
539
259
106
696
794
664
706
620
703
878
82
373
638
594
863
535
585
848
329
640
782
917
577
252
469
857
638
254
244
162
351
540
493
534
637
230
52
926
623
653
793
698
758
494
277
739
644
796
104
30
606
552
246
298
698
748
255
543
22
539
721
973
901
857
944
972
215
651
734
909
78
532
896
696
190
372
544
33
372
902
393
681
462
530
293
599
770
540
196
735
291
47
496
693
540
586
690
632
765
205
683
236
498
8
627
663
305
315
956
212
654
311
426
283
676
480
836
563
438
925
527
23
560
346
568
19
346
128
472
859
223
907
806
118
265
947
404
49
670
161
190
437
590
590
918
120
387
986
577
923
345
607
740
452
366
107
759
33
989
572
448
811
166
623
355
526
418
800
872
695
358
553
471
286
844
737
660
329
868
254
850
228
498
644
659
931
146
898
551
362
692
969
299
443
420
171
246
87
148
761
222
596
76
678
395
123
272
197
499
389
996
74
836
115
103
418
286
934
511
23
164
202
161
348
210
657
231
693
169
525
277
572
987
119
279
606
143
386
900
422
924
108
861
202
829
878
828
388
307
360
815
557
612
190
241
663
678
823
751
358
637
692
310
666
76
125
655
923
358
433
777
805
405
312
209
982
218
967
154
978
83
129
683
906
6
253
284
551
455
816
994
36
550
423
290
894
776
566
353
25
325
666
800
132
653
102
309
858
600
414
919
983
130
947
5
103
113
855
162
247
151
123
417
479
55
248
360
6
421
578
387
328
176
755
500
935
835
674
485
666
335
468
957
892
364
730
20
62
278
61
366
238
374
762
257
433
531
981
896
3
698
944
206
326
213
250
940
341
296
326
154
432
573
296
679
637
76
961
697
316
650
507
645
26
893
799
570
367
414
838
486
798
751
436
865
836
274
444
524
502
845
221
324
559
64
21
649
184
70
526
85
900
543
255
390
288
634
40
951
598
802
15
860
876
124
447
822
489
587
512
856
383
311
495
329
242
284
583
795
403
620
235
736
741
610
570
139
818
452
113
906
283
235
69
384
431
762
606
49
137
643
945
253
621
848
49
372
849
394
221
771
179
203
256
127
468
434
102
737
124
971
565
83
911
183
636
141
744
146
665
536
798
975
432
813
630
941
879
964
518
153
377
614
875
896
822
642
593
692
438
68
710
421
69
727
77
912
475
90
329
353
227
997
481
516
917
912
71
147
132
878
134
728
874
533
81
295
215
811
116
911
123
952
886
94
844
47
11
586
108
972
922
818
405
856
233
375
342
6
889
421
618
450
523
413
226
272
606
642
676
70
637
443
216
496
874
230
112
22
719
462
569
867
11
553
264
377
874
707
346
829
639
241
571
521
943
231
565
494
32
864
163
106
806
500
486
554
537
59
960
638
432
593
486
801
398
997
314
83
175
39
623
157
847
748
12
624
342
115
953
808
84
395
249
263
427
130
381
717
216
136
420
121
474
823
554
410
917
234
944
311
572
316
155
981
643
556
679
988
188
355
902
944
615
53
388
911
786
157
200
30
443
70
483
882
513
238
643
698
676
779
344
679
397
938
579
270
848
943
66
456
83
764
508
928
146
327
458
441
355
111
989
133
620
766
92
672
458
732
985
985
594
645
575
452
640
257
170
582
678
423
934
507
771
578
748
757
20
885
488
507
521
653
494
40
644
117
917
995
751
647
179
2
890
861
514
981
864
382
392
676
107
802
458
205
162
21
112
797
949
537
522
504
606
511
266
202
990
222
285
579
856
973
407
727
682
849
480
600
411
232
693
123
929
495
662
175
614
857
684
601
324
663
689
628
923
344
153
307
456
873
14
533
113
261
287
340
378
442
806
827
989
352
32
551
684
210
745
214
241
954
600
399
857
925
769
625
55
437
661
740
980
689
318
365
35
867
633
201
507
188
92
20
124
577
834
794
430
725
702
6
77
464
179
3
904
805
833
492
232
301
758
273
845
251
286
131
990
436
574
711
505
884
62
465
516
416
386
233
808
44
605
77
966
864
483
533
971
144
419
843
57
589
896
502
362
927
684
257
592
326
12
848
832
683
317
237
726
768
98
970
55
906
727
320
923
791
198
158
218
674
317
992
30
816
753
856
503
640
623
487
668
732
179
303
635
688
378
5
760
227
397
816
273
419
751
906
457
75
408
626
779
372
881
108
23
718
101
487
212
410
278
576
8
430
580
619
5
861
297
928
122
399
959
899
125
542
121
725
259
79
28
825
561
483
533
694
952
902
3
726
69
606
438
39
885
51
231
683
924
998
32
282
847
657
861
159
806
77
580
574
52
273
431
930
480
763
462
912
894
625
625
391
880
392
152
291
610
882
213
162
269
161
961
981
961
922
597
230
365
827
779
410
395
597
851
784
210
998
514
380
833
170
100
953
773
173
290
443
258
909
298
415
617
719
742
309
308
467
499
254
783
161
622
748
46
418
39
940
258
561
687
387
396
405
866
517
381
615
297
454
230
949
740
302
451
55
101
486
323
76
580
123
494
486
839
152
706
750
764
979
363
729
688
153
539
3
349
697
636
535
497
500
423
295
560
538
591
404
387
830
653
107
43
295
375
576
552
79
98
330
81
752
144
542
15
310
352
429
461
480
295
17
136
863
17
985
81
8
474
49
861
482
721
394
576
463
761
693
941
335
269
534
195
632
287
213
777
318
57
467
506
569
254
713
100
915
245
527
978
72
948
99
131
361
624
58
765
493
790
469
247
517
111
330
153
827
671
737
744
589
41
266
966
971
407
993
56
223
10
735
633
356
391
617
921
951
88
179
536
577
251
155
795
345
655
843
296
252
346
285
89
332
249
86
84
736
361
288
500
908
47
843
214
953
999
731
106
787
466
349
798
447
240
245
123
121
792
722
463
878
739
516
18
486
575
38
519
471
716
336
700
591
793
189
173
872
838
638
290
103
248
805
775
747
549
346
318
25
269
501
945
534
256
920
917
10
831
565
689
722
83
865
192
887
393
713
650
880
988
454
293
494
31
261
205
718
67
227
449
73
323
248
205
153
10
436
106
698
872
436
75
364
656
56
881
451
493
412
709
647
781
945
970
93
699
588
634
942
305
994
211
952
195
24
610
646
628
91
660
702
584
541
361
289
25
621
454
663
592
840
560
240
538
995
280
762
736
279
967
294
500
22
819
49
999
29
674
493
311
323
463
636
728
434
553
647
609
311
759
400
299
57
526
708
508
221
633
596
458
545
997
48
454
877
838
660
398
511
890
763
878
291
868
816
657
880
756
680
15
199
985
449
200
205
89
283
709
541
133
27
886
725
881
160
130
23
802
499
238
964
649
884
822
202
649
773
344
94
536
306
133
704
824
684
95
564
51
152
660
57
234
762
764
310
801
793
298
618
749
749
82
792
411
629
990
521
523
189
101
220
681
740
765
998
999
188
779
771
595
676
597
18
764
861
254
318
890
254
367
144
361
383
782
632
5
151
440
264
639
876
987
350
596
184
487
56
718
813
359
624
109
607
361
779
212
155
621
742
49
894
703
146
38
847
977
624
138
537
649
105
319
187
356
535
840
447
807
491
852
915
845
705
545
65
849
273
609
95
910
805
812
424
890
161
7
493
548
51
859
230
422
717
789
898
951
920
52
584
951
100
975
28
811
382
899
6
498
334
143
795
538
268
912
244
95
104
203
466
273
804
815
528
31
166
645
590
155
845
654
211
692
303
474
713
299
151
247
32
794
77
722
314
240
848
486
106
582
375
492
858
465
587
851
750
769
57
805
155
43
654
132
842
110
128
572
272
521
909
270
927
336
344
920
159
171
306
483
918
593
434
109
425
375
505
102
316
895
338
328
71
988
965
679
555
968
3
5
519
139
886
250
364
866
858
90
133
417
861
956
427
352
631
445
648
867
301
148
375
736
887
982
383
540
398
578
180
130
904
178
201
857
89
625
139
818
541
317
805
133
21
296
660
625
408
383
682
183
353
840
365
446
448
597
947
181
890
709
812
597
659
688
209
40
208
437
24
352
433
83
95
5
783
257
542
601
0
338
104
461
785
532
389
327
835
591
358
450
563
761
868
432
292
846
928
923
117
530
751
81
946
326
111
295
16
404
674
757
589
963
255
712
649
857
301
570
693
388
809
840
518
371
453
966
937
390
188
133
319
438
79
970
825
808
600
452
478
365
963
740
871
15
473
493
372
44
891
354
823
593
49
473
726
456
791
255
369
95
125
34
240
266
773
808
4
493
590
351
128
886
620
444
573
829
684
675
383
644
95
546
717
348
421
470
39
417
27
980
153
192
920
918
918
906
7
596
365
395
442
179
676
528
980
191
284
933
450
471
904
831
240
118
917
654
993
933
596
754
539
601
883
348
772
700
937
552
586
300
336
853
978
887
64
219
283
303
716
945
798
794
978
29
845
856
860
302
800
449
448
390
330
319
183
303
318
496
988
993
78
912
636
289
199
17
967
871
504
177
549
894
577
681
605
948
455
349
82
491
53
363
736
54
50
523
396
270
213
552
10
129
323
178
201
196
909
241
852
439
80
161
335
740
501
62
942
73
887
534
453
655
561
309
509
320
993
387
328
475
630
924
421
604
875
968
469
749
105
777
143
109
288
624
783
707
312
753
896
463
503
591
796
864
611
920
631
137
509
786
75
103
293
180
433
577
969
385
111
846
193
695
879
772
755
29
838
10
703
909
92
779
831
279
625
772
117
902
471
334
168
370
699
479
27
245
681
882
502
6
735
882
47
315
313
720
715
819
995
443
207
393
359
90
36
976
178
510
977
293
542
62
312
108
420
880
828
113
930
66
960
783
390
790
762
189
177
782
610
55
614
591
889
724
379
68
579
385
984
883
610
658
513
638
139
151
40
32
431
574
717
364
127
175
109
780
30
186
251
217
470
947
188
979
756
714
15
446
578
453
725
81
758
463
164
513
905
553
799
892
994
232
30
408
129
295
514
235
671
603
504
669
464
630
275
588
252
318
67
496
50
213
696
601
331
104
630
211
119
583
147
247
328
604
218
124
21
256
254
809
875
78
987
550
451
790
800
667
957
239
941
317
971
615
424
11
451
489
361
639
998
109
914
168
278
809
704
905
177
803
284
818
912
503
401
40
325
506
853
783
356
884
346
34
292
797
90
526
281
563
996
567
590
330
676
574
633
569
729
975
15
913
555
490
975
382
757
800
986
971
374
210
463
333
62
24
839
594
319
485
194
586
398
325
538
925
115
921
915
804
522
864
828
704
21
414
605
100
881
547
699
761
679
750
409
714
152
325
832
190
769
864
944
255
566
309
425
653
480
260
997
824
814
103
783
206
521
775
583
542
540
228
447
542
466
65
230
124
18
54
444
345
953
305
669
690
288
426
623
838
888
251
972
288
222
700
373
873
847
785
12
852
387
116
495
722
427
744
844
320
16
187
944
576
404
69
451
396
57
221
56
738
449
4
893
322
36
648
45
2
924
218
598
681
652
48
90
485
116
917
538
636
906
356
198
996
727
623
822
798
144
694
342
158
140
932
691
198
335
565
154
549
386
904
617
823
28
15
802
360
602
266
769
985
284
849
895
240
809
200
721
106
565
699
422
991
438
539
814
213
696
524
342
315
762
400
369
855
276
311
601
576
421
446
553
780
628
751
643
188
546
763
471
72
877
988
245
543
539
126
125
743
935
560
449
919
288
414
993
617
144
113
767
845
817
223
861
30
8
365
380
939
378
931
845
248
501
232
716
193
608
145
973
348
319
879
28
493
159
692
806
55
581
449
450
95
511
446
488
442
226
192
685
569
312
91
115
767
235
678
981
855
795
364
9
53
352
365
296
965
240
837
633
58
708
54
652
515
815
96
921
397
986
348
45
897
349
348
941
896
436
284
16
344
957
63
470
935
892
329
657
424
810
2
508
332
401
848
59
526
813
468
768
465
551
521
720
7
303
839
357
36
722
921
736
768
667
249
960
324
127
119
446
261
462
853
454
461
508
436
206
262
992
724
323
11
812
162
781
497
561
690
115
795
252
916
797
814
596
333
562
873
366
480
645
261
854
430
758
281
182
778
954
637
12
868
322
763
295
386
15
945
398
558
916
933
248
796
643
752
569
613
256
402
520
933
287
734
838
755
984
946
45
816
793
212
612
187
142
150
591
151
80
855
561
453
573
732
510
432
9
147
963
66
274
639
389
749
431
28
96
307
591
124
152
881
740
468
529
82
250
878
22
390
189
705
232
842
900
327
469
868
886
732
178
762
411
318
263
798
128
88
188
550
988
396
648
101
302
169
444
673
748
568
222
698
508
554
657
528
743
280
875
953
982
985
492
530
618
32
50
312
109
490
837
562
951
466
677
716
250
202
639
290
569
427
936
473
232
970
639
247
264
555
725
45
960
297
993
285
201
406
919
934
478
320
473
759
237
236
94
445
413
305
626
342
686
582
767
690
621
348
897
320
657
225
588
445
624
626
828
867
414
120
342
187
631
750
454
779
206
622
930
617
83
656
55
958
82
64
654
318
852
594
651
769
740
698
889
336
305
238
984
560
180
107
930
442
397
686
275
255
145
639
28
843
63
837
17
136
203
591
314
711
227
457
521
728
490
344
716
109
327
8
990
800
636
925
539
420
334
473
162
848
178
794
930
700
811
993
983
626
353
603
996
473
933
750
263
352
722
222
320
919
571
559
328
840
726
830
706
579
738
170
547
103
34
401
570
391
83
77
646
493
10
833
165
366
161
232
456
547
775
642
135
131
44
321
487
731
406
296
867
505
154
869
408
859
256
164
905
139
492
98
12
27
856
51
733
979
850
827
477
778
526
512
567
596
197
694
217
801
306
927
251
846
495
110
184
133
597
483
194
91
444
926
309
429
387
743
743
753
283
919
562
172
438
373
69
828
861
408
971
853
916
499
949
438
196
258
598
285
900
630
936
500
394
757
598
905
882
964
47
933
922
554
341
859
298
872
883
683
135
137
712
187
681
231
273
492
529
126
786
250
507
536
33
488
698
345
698
753
116
322
833
111
652
542
181
39
602
120
150
872
497
223
672
311
134
655
139
392
478
234
588
927
806
725
876
948
249
922
74
90
167
326
124
888
934
421
906
702
470
571
949
903
768
524
788
316
464
357
717
296
750
968
847
463
632
525
198
662
838
277
712
236
130
144
424
972
188
236
548
750
378
623
951
607
596
924
820
645
858
62
426
523
849
785
977
705
101
403
401
82
876
927
921
379
935
672
944
22
295
721
118
814
740
471
717
425
384
500
788
532
328
842
935
587
275
788
606
602
178
605
293
478
143
252
359
57
371
457
264
583
588
979
876
82
692
52
980
14
611
995
997
158
530
947
729
728
711
361
251
871
552
247
508
7
815
989
241
253
442
953
762
91
471
244
140
449
670
905
598
641
989
404
771
150
36
72
883
915
443
984
841
865
28
273
713
705
583
761
625
949
785
307
970
670
38
492
161
669
833
210
467
552
250
385
884
464
501
600
664
305
523
332
608
363
41
452
923
43
907
842
323
617
901
830
75
766
995
330
267
27
604
512
458
922
793
78
451
903
736
220
356
702
645
652
991
221
900
831
978
101
755
748
514
656
838
93
254
217
147
207
8
626
763
811
123
382
17
743
656
515
351
35
75
400
486
442
607
708
594
777
697
614
174
852
110
109
855
533
336
849
4
294
807
552
1
29
646
536
771
198
36
90
142
74
61
862
56
227
761
809
186
866
176
417
35
962
264
90
301
346
895
774
985
388
666
367
108
868
88
455
253
155
299
648
819
393
663
145
977
76
998
232
378
348
767
139
827
693
254
413
798
419
213
671
547
996
24
969
951
42
65
950
428
566
873
655
67
441
717
494
152
54
31
924
261
990
833
973
548
976
893
168
496
732
785
337
411
623
696
99
344
976
474
803
266
79
186
124
26
158
529
755
975
35
823
650
252
885
846
57
219
714
242
444
258
600
613
654
200
308
933
25
393
768
460
110
488
33
893
367
821
858
730
846
623
189
741
941
561
750
639
856
206
988
904
199
696
298
798
83
735
240
740
5
455
241
371
634
548
705
892
993
497
401
653
456
241
94
488
925
350
679
117
62
501
922
276
173
611
211
47
162
195
679
754
806
496
424
215
253
382
227
511
753
394
815
464
275
318
669
384
688
58
709
607
3
694
189
856
337
729
46
26
581
905
703
925
786
796
628
927
188
889
786
858
402
234
861
543
626
515
206
113
88
760
82
768
26
59
726
471
335
663
630
49
800
636
253
325
430
715
97
679
172
36
374
465
567
386
746
4
252
903
553
305
90
823
496
707
7
73
379
771
556
458
65
58
399
386
166
293
620
819
648
843
420
572
139
88
202
656
859
473
101
814
307
449
429
628
999
746
637
9
566
699
726
305
370
314
707
928
10
404
847
777
374
498
276
737
903
559
868
251
273
852
402
72
586
4
128
626
174
702
315
271
360
365
120
992
100
954
475
694
805
486
420
36
337
778
531
571
691
229
77
828
767
672
539
812
862
116
830
401
56
558
235
932
915
634
57
43
905
489
428
813
484
957
405
174
580
156
727
827
782
791
245
409
535
632
56
211
211
436
326
705
421
309
216
980
428
659
273
9
193
155
221
320
746
233
312
581
414
970
998
980
244
138
456
956
845
196
434
546
562
560
660
49
550
894
207
447
596
692
886
539
445
971
793
153
282
437
121
190
725
577
13
733
308
999
292
769
418
781
552
721
180
379
552
572
942
453
888
53
492
407
9
457
768
872
870
119
857
79
307
971
605
632
154
737
933
524
883
3
814
533
652
878
385
784
216
740
806
944
684
924
793
787
503
976
374
790
630
757
624
171
968
982
52
418
749
20
454
914
847
474
14
593
92
730
306
452
425
153
412
535
857
825
407
443
170
139
361
946
325
674
863
15
505
275
694
847
965
259
795
1
910
99
675
527
36
540
73
752
32
100
928
472
511
488
397
51
882
213
543
617
658
284
755
749
894
198
917
250
15
336
368
766
697
973
841
205
992
990
173
440
576
273
869
371
99
424
56
164
617
88
507
349
159
373
148
327
653
390
563
153
475
888
820
467
400
306
194
176
88
909
840
538
757
168
200
791
6
174
963
523
657
289
944
88
906
664
620
332
181
110
594
265
795
6
509
313
294
552
936
752
149
527
190
988
333
713
508
800
986
389
792
999
871
346
335
305
193
972
103
424
85
147
139
903
648
246
314
972
787
124
153
926
123
195
199
857
97
787
472
995
743
501
606
708
879
158
387
101
413
888
553
638
172
523
936
22
744
28
850
371
452
537
298
120
375
567
445
297
366
335
629
439
284
80
753
306
323
5
972
806
825
750
374
99
433
682
679
525
607
391
70
71
588
513
220
994
372
177
943
926
86
113
637
473
714
563
53
226
2
373
87
842
213
98
728
65
454
147
614
272
428
800
506
960
316
329
218
701
392
381
744
771
551
191
131
288
892
599
129
887
734
783
835
396
6
555
469
913
809
794
417
719
626
663
642
812
66
968
184
284
725
439
663
321
782
578
576
867
806
796
298
556
317
158
804
262
18
539
748
67
673
876
109
628
87
226
321
927
154
718
278
427
535
370
534
648
211
316
420
576
950
968
448
219
848
785
527
226
667
728
435
844
542
134
855
334
906
987
509
167
623
565
575
70
106
488
927
540
427
398
176
835
848
822
3
269
517
236
712
782
911
44
670
561
661
21
509
658
956
129
379
155
314
804
430
346
239
599
54
255
671
19
57
593
89
54
952
208
875
579
204
362
93
335
0
752
789
327
244
564
250
238
490
128
595
296
800
733
40
490
773
120
215
839
254
200
262
181
24
661
646
902
118
143
685
797
599
348
357
738
958
29
672
391
9
123
133
111
269
726
438
747
973
50
623
787
82
501
778
267
536
376
662
189
333
884
110
696
198
126
287
307
983
999
419
351
969
528
414
677
833
959
548
82
770
803
516
650
614
727
280
849
282
800
842
851
808
667
970
457
76
206
706
512
954
563
24
549
176
378
92
687
503
597
399
113
230
151
630
750
52
530
602
155
312
835
335
97
137
815
268
993
475
571
790
997
362
963
230
953
558
635
910
571
739
874
634
893
807
956
943
383
280
658
778
612
944
104
329
961
876
308
494
270
14
587
847
666
200
485
732
572
410
80
678
900
481
761
221
317
998
646
441
582
743
284
941
64
601
980
233
372
742
768
68
879
276
694
939
906
984
300
206
244
892
2
622
887
490
884
63
135
259
613
803
868
433
211
598
51
807
451
893
644
348
854
905
583
481
236
558
223
690
998
157
663
774
564
480
167
365
512
992
685
349
796
883
127
501
180
135
991
700
222
962
93
596
249
467
493
809
183
387
6
913
584
537
568
416
671
375
342
78
860
394
235
201
558
255
919
355
272
386
662
953
515
55
522
729
361
111
764
66
260
200
445
884
515
318
863
925
797
501
669
608
383
158
840
506
883
757
605
451
317
10
410
377
317
215
676
91
530
768
869
679
450
362
665
204
137
525
585
403
536
156
106
752
762
194
300
613
76
333
468
53
106
704
156
24
696
484
199
722
697
254
357
723
32
6
85
129
461
846
189
586
906
796
800
42
455
984
978
634
618
812
175
751
145
535
598
158
380
182
651
766
506
263
562
466
921
990
637
103
330
86
349
171
538
618
920
659
477
76
91
642
962
758
58
934
988
341
407
819
200
137
894
469
499
577
896
977
298
905
262
976
789
407
731
336
509
369
93
821
82
120
229
253
179
693
20
116
922
7
996
746
949
870
372
753
911
726
465
32
351
742
343
978
763
792
966
261
394
624
910
287
486
201
718
756
680
822
971
736
42
704
90
810
943
808
634
353
810
599
365
302
380
827
222
411
73
709
228
779
159
67
962
151
419
547
800
802
307
937
279
558
62
313
29
881
191
216
385
538
264
234
367
550
542
890
986
151
310
584
227
942
649
519
863
970
873
178
414
891
336
660
243
797
518
865
734
204
518
567
844
826
947
261
324
318
10
932
642
429
626
59
844
20
956
876
381
946
221
469
11
412
668
916
474
829
487
257
890
663
495
564
34
390
397
106
161
829
993
953
490
308
141
118
807
624
110
983
88
281
226
648
153
48
493
768
950
819
200
331
298
945
600
524
168
374
895
244
84
527
535
626
128
815
196
959
22
375
484
767
842
605
337
434
808
855
220
197
596
6
696
863
781
797
564
281
985
207
607
126
275
421
692
464
136
591
905
961
986
866
244
311
982
605
645
543
16
791
662
725
728
819
263
960
183
630
250
132
979
477
810
567
53
176
506
134
479
170
427
396
620
386
644
680
261
598
127
272
845
291
463
396
907
400
63
830
634
433
34
822
986
547
962
834
756
735
423
953
800
573
261
291
59
969
514
31
849
285
903
70
36
390
786
718
755
330
209
967
470
421
692
679
989
888
798
843
774
687
485
175
340
557
245
137
822
771
744
885
778
781
339
771
260
198
106
392
134
24
474
938
549
401
578
431
367
260
164
17
132
58
618
630
116
312
556
949
168
272
394
623
263
718
702
558
572
357
778
982
481
525
643
911
282
294
378
7
732
93
222
642
943
981
879
214
787
508
875
597
648
929
722
629
690
82
148
515
673
897
149
457
236
136
515
843
931
976
952
218
982
103
107
78
994
971
789
220
472
311
154
162
375
626
14
982
863
843
916
679
310
123
966
719
425
822
368
353
409
948
198
28
263
523
939
872
796
478
85
359
318
840
239
575
180
637
451
190
930
740
758
178
284
455
891
741
296
951
264
195
483
616
882
911
0
122
807
214
532
2
791
139
709
189
699
905
324
521
814
850
129
757
862
701
449
777
743
23
678
939
693
581
390
381
133
492
238
869
568
567
758
998
644
667
35
150
733
106
488
471
281
874
880
203
618
287
617
516
281
415
396
228
443
918
883
40
688
658
767
15
429
893
879
664
680
854
479
82
452
411
232
779
280
850
511
974
516
274
464
726
794
761
356
836
574
718
415
659
694
262
285
207
978
521
477
538
828
313
302
278
502
362
690
699
220
705
460
698
845
984
781
563
433
878
182
983
232
520
363
464
755
184
379
211
594
261
104
898
25
280
424
920
122
396
506
220
771
527
404
316
265
660
834
686
868
152
653
96
379
799
784
581
780
905
510
653
683
838
176
206
63
774
779
244
682
698
427
308
539
121
252
610
770
214
284
716
570
121
502
121
593
628
284
429
233
997
530
523
477
923
69
835
116
163
927
662
983
114
732
86
174
620
969
612
507
669
905
954
450
527
883
242
716
931
329
220
673
75
180
147
18
148
852
866
444
917
719
328
428
489
948
466
26
575
506
118
548
302
579
800
311
979
662
702
358
171
251
282
432
112
818
126
777
10
573
231
219
49
647
220
972
413
949
685
56
798
827
300
365
918
719
714
515
468
19
502
437
170
693
772
426
194
361
300
267
258
873
890
526
273
856
455
423
61
359
630
684
110
546
614
847
845
682
128
238
118
466
493
42
790
569
860
834
979
977
649
388
82
31
470
141
249
162
103
964
496
370
888
787
23
452
622
951
357
510
962
913
463
531
706
80
124
453
383
9
284
490
221
709
497
754
395
906
202
436
101
46
272
976
461
177
762
662
294
689
392
879
945
571
453
487
827
816
762
318
142
719
509
729
567
827
264
9
818
96
529
239
612
980
275
174
802
180
797
220
660
833
616
977
580
270
137
884
95
41
648
771
599
568
522
342
384
247
807
179
792
539
284
869
408
733
413
488
565
306
10
886
377
941
753
156
674
365
413
658
367
186
308
80
332
460
569
143
834
754
256
28
372
71
8
980
621
290
737
857
64
837
768
658
40
204
655
365
686
9
11
596
615
3
722
375
357
416
4
776
999
976
849
963
101
431
697
200
727
853
696
532
258
728
673
358
467
400
585
213
440
106
52
266
484
204
79
271
532
515
564
14
912
109
471
37
313
602
602
852
112
395
768
351
781
823
834
789
965
533
474
930
541
766
832
936
906
628
185
303
317
466
616
459
974
298
997
724
642
858
450
304
482
792
267
192
804
535
289
643
524
468
496
571
222
592
790
161
394
571
992
735
808
428
86
583
612
325
928
359
40
958
800
896
364
770
482
483
123
214
160
776
759
617
337
610
844
388
106
993
856
99
335
928
655
486
842
636
373
490
127
959
565
853
522
408
749
145
87
447
365
857
376
456
714
169
807
410
903
371
78
628
375
199
578
546
332
757
504
30
55
520
451
521
994
454
760
733
652
451
997
524
779
928
409
784
286
452
594
909
265
23
315
310
846
822
828
811
83
280
396
955
172
786
945
668
292
758
327
381
858
220
226
411
796
75
191
127
206
699
725
212
802
806
791
964
809
610
825
694
381
327
957
368
800
412
526
694
133
437
258
528
494
841
400
547
703
715
125
730
292
591
808
593
430
833
603
139
203
499
948
652
823
389
312
560
744
763
32
693
516
570
968
276
498
712
117
524
281
471
262
644
979
250
751
132
504
883
800
384
528
3
330
543
491
964
93
31
385
635
28
743
241
780
758
908
465
192
245
11
677
696
121
928
371
892
290
275
408
40
119
759
549
344
157
259
393
591
992
96
148
699
136
135
522
621
701
566
433
901
731
392
464
174
4
549
525
855
734
254
842
479
748
962
365
27
665
230
246
486
590
599
83
689
931
106
250
638
876
157
99
299
21
851
761
940
923
89
228
937
172
667
13
286
454
225
54
811
883
524
5
24
153
441
912
589
191
842
605
322
174
723
103
799
701
32
956
447
224
195
63
226
737
858
75
607
923
618
520
899
621
240
690
794
280
332
751
906
355
521
553
148
696
15
202
123
941
60
304
570
181
547
299
438
296
237
857
259
240
164
129
512
681
756
92
206
645
666
191
155
3
947
186
720
789
880
557
254
649
224
592
995
957
541
339
547
85
264
36
299
67
505
123
531
259
500
45
21
323
183
719
771
463
253
207
980
796
431
930
796
95
762
580
278
115
10
810
137
366
829
845
716
207
770
882
498
558
522
58
456
8
907
878
493
951
347
698
577
171
977
537
655
794
37
160
155
779
553
245
991
459
672
952
178
349
660
251
569
345
877
44
203
251
44
408
371
780
110
993
524
263
739
724
404
568
114
448
363
930
854
318
151
613
384
694
86
282
507
308
97
611
118
564
518
928
383
971
660
449
550
730
917
948
45
248
920
769
72
988
966
287
264
514
212
348
141
490
175
337
259
496
814
936
294
252
160
136
265
898
817
206
324
608
685
799
459
809
708
265
793
817
110
39
539
208
164
251
123
585
349
185
259
464
164
113
132
589
347
945
298
171
488
708
97
280
25
892
579
542
995
875
491
390
171
108
220
550
708
295
982
875
32
65
308
539
657
92
820
354
967
134
771
917
246
743
528
975
411
960
677
109
963
457
794
732
131
779
199
471
895
199
580
645
805
739
882
685
746
352
453
270
228
296
946
373
743
299
693
370
170
488
48
602
277
125
383
849
123
340
566
849
207
223
453
463
782
572
941
578
882
364
940
591
242
240
424
985
962
284
330
431
879
876
388
224
475
652
551
654
460
296
858
812
987
937
619
460
267
162
20
35
147
209
882
578
381
522
292
638
53
861
196
532
754
69
184
867
548
815
494
751
194
632
965
434
786
548
233
80
598
812
90
674
468
752
887
109
913
974
809
637
155
930
960
620
986
317
988
67
203
387
517
168
443
20
547
814
530
207
951
974
282
819
233
445
296
208
905
765
293
429
528
497
736
678
81
159
493
75
972
528
198
776
47
142
134
794
863
834
87
135
15
769
173
719
908
752
676
359
595
194
347
848
644
800
84
359
858
280
362
306
871
282
352
101
919
310
620
223
803
47
526
978
356
379
118
229
649
261
205
618
990
662
596
15
734
406
91
4
858
37
818
451
332
381
900
999
296
829
74
775
683
29
664
793
182
551
762
776
808
217
321
326
458
972
270
523
687
170
993
872
444
345
312
286
534
467
205
252
684
865
947
646
97
472
162
602
587
678
499
549
349
578
587
974
411
967
681
679
259
112
959
672
897
732
481
987
638
197
461
85
155
524
10
191
753
505
7
583
611
695
350
619
252
982
872
923
521
574
906
980
235
781
215
503
861
966
310
534
806
108
73
382
744
517
910
855
379
118
733
265
256
928
415
464
475
513
332
272
276
885
14
103
878
220
596
429
662
562
727
655
749
569
124
888
21
5
581
34
47
69
495
757
178
169
569
171
33
722
777
822
143
149
758
821
528
405
439
188
68
590
250
879
958
95
372
262
245
204
611
697
851
891
93
304
689
851
588
498
195
28
802
14
936
19
219
398
236
83
885
592
157
900
107
852
298
283
474
393
846
638
302
342
548
15
516
632
871
824
694
637
308
865
191
418
783
816
442
991
130
700
871
773
214
287
529
710
234
786
861
129
352
334
443
315
72
589
893
645
763
969
980
775
175
815
274
165
420
328
946
302
213
920
434
817
978
33
152
645
295
267
462
868
0
992
443
443
517
89
412
751
96
982
679
486
119
748
953
126
438
173
196
879
232
458
532
728
126
627
169
675
909
27
423
961
605
782
281
407
86
430
388
578
798
571
712
846
124
322
936
106
59
842
269
505
835
931
354
429
171
855
111
696
562
416
362
949
564
596
301
973
975
147
156
49
909
651
766
205
492
644
262
626
805
192
16
417
780
817
12
67
780
20
962
434
613
78
742
862
665
854
815
837
708
55
977
364
733
790
455
854
298
68
410
683
15
100
464
542
467
741
210
500
201
852
886
63
712
723
666
987
61
67
56
924
496
282
103
677
544
412
911
391
863
47
959
682
7
437
761
574
376
149
885
97
769
831
823
515
452
755
118
411
934
339
209
864
748
828
145
445
337
846
481
808
623
848
779
194
181
731
254
990
773
829
185
789
203
488
551
902
293
844
101
635
592
697
653
736
235
111
935
892
735
41
419
68
867
590
109
699
350
277
32
866
915
737
496
261
161
789
490
587
968
622
112
956
908
757
202
398
163
349
979
208
685
396
847
347
486
991
476
209
452
114
594
457
734
190
395
788
579
529
642
132
26
816
193
605
61
973
33
398
659
798
405
55
831
733
871
472
668
977
518
641
157
691
186
970
431
575
855
564
903
63
861
689
693
308
38
342
36
471
331
630
632
254
195
999
608
559
406
330
129
276
882
640
221
829
882
564
652
187
882
134
845
366
497
703
91
192
550
691
819
178
650
678
265
574
944
992
940
968
611
417
866
446
498
441
78
41
831
658
757
372
167
554
894
617
652
15
350
711
576
850
48
952
365
704
923
692
187
387
223
808
495
388
560
1
693
113
78
94
766
645
428
580
965
946
847
300
547
894
487
339
237
184
415
453
866
840
580
409
686
917
160
276
101
562
903
481
446
35
433
224
931
57
44
780
23
69
942
149
338
274
465
752
614
904
280
478
100
138
545
419
667
260
110
372
555
640
297
308
114
856
335
918
919
797
538
441
943
813
519
253
106
252
872
662
599
487
903
475
905
822
126
740
129
70
133
149
760
984
226
340
950
531
2
585
518
313
848
627
609
644
22
319
9
534
316
36
472
82
746
648
886
68
984
788
958
247
652
98
617
296
301
738
583
47
349
261
796
451
444
104
537
370
586
243
102
358
391
246
343
406
311
716
667
642
662
520
492
657
976
852
102
659
496
92
651
878
883
295
976
130
97
816
656
963
204
359
468
118
985
246
385
30
64
656
844
696
659
351
231
513
893
221
967
488
657
329
841
496
284
0
652
368
831
172
0
333
546
907
29
737
448
407
491
59
787
478
135
773
282
646
669
715
434
610
438
749
964
993
575
836
914
907
548
434
86
15
913
148
395
463
192
305
181
334
337
198
97
704
687
302
546
628
993
300
393
314
276
165
538
35
769
543
924
499
84
267
603
834
735
813
939
485
86
384
417
98
31
267
407
316
271
240
908
304
833
436
670
583
325
846
824
20
349
480
960
34
199
453
75
790
297
193
540
950
401
549
191
986
203
31
983
836
112
186
260
176
242
989
942
395
289
890
756
18
449
743
821
386
298
902
997
260
663
680
643
993
353
664
273
80
130
677
409
681
453
55
884
442
378
933
619
504
594
97
719
510
931
432
130
281
915
252
337
582
841
64
205
966
699
586
720
896
541
118
580
396
609
596
993
497
330
464
565
589
470
404
270
716
280
386
321
948
196
18
495
415
33
160
276
956
938
716
879
295
300
536
365
620
955
417
150
159
710
463
51
682
410
135
672
716
689
255
223
486
525
288
779
264
365
514
50
303
963
695
357
875
626
828
312
273
326
84
827
625
149
505
784
306
561
217
594
970
396
595
184
268
777
393
226
108
142
198
846
623
724
190
276
268
446
15
15
562
132
730
589
16
898
600
942
128
735
805
534
899
412
496
173
461
213
882
400
418
352
939
861
969
935
846
12
778
60
823
484
120
970
243
958
469
462
44
169
649
844
263
18
313
732
917
246
400
21
467
932
499
541
575
59
777
775
6
46
641
114
440
885
818
848
337
369
977
306
104
913
636
32
564
540
266
416
728
776
709
491
488
837
78
831
151
62
89
388
876
134
600
187
985
43
647
535
748
732
198
843
698
538
723
523
684
870
352
344
998
809
620
609
640
865
732
755
655
812
644
796
203
287
690
7
277
425
172
148
152
176
830
817
470
49
261
533
99
905
348
594
439
224
800
338
25
870
46
285
453
104
132
447
477
725
162
492
558
61
81
871
566
502
689
345
657
645
173
381
749
358
275
442
408
482
422
295
910
604
437
828
561
891
954
228
354
444
939
831
157
214
83
4
464
797
948
944
332
494
841
83
72
321
190
268
437
512
492
271
130
593
196
87
33
111
810
906
889
758
96
590
671
232
99
650
995
39
711
289
495
243
488
555
432
596
485
609
231
422
534
749
350
892
491
395
543
160
784
222
584
503
62
677
755
231
363
527
391
5
494
653
614
693
443
531
718
291
375
839
230
537
135
668
8
296
626
609
632
831
223
115
488
98
887
508
916
497
575
613
272
209
491
348
903
565
825
931
502
86
819
997
13
949
326
274
465
616
133
100
755
502
730
78
608
131
242
848
982
873
364
759
365
178
908
744
426
34
722
227
178
598
305
256
681
778
243
896
168
801
86
970
962
295
956
79
777
595
686
62
29
381
339
612
358
847
102
129
989
350
111
544
577
658
329
783
768
324
498
619
506
35
710
93
837
810
980
942
131
291
67
221
401
518
892
424
763
812
87
794
714
142
194
891
966
60
286
333
113
575
773
923
501
245
465
440
921
507
23
505
393
139
830
591
966
430
930
563
341
668
323
117
147
90
316
278
162
68
60
989
538
25
935
215
303
610
381
379
266
295
707
682
754
670
905
184
935
742
94
568
229
407
844
473
266
489
881
32
124
356
989
615
728
227
993
285
181
345
482
772
814
820
370
499
935
499
641
820
279
480
862
379
968
802
698
118
798
159
426
291
185
769
114
992
340
525
305
712
739
195
548
342
903
216
870
461
587
62
724
458
457
83
144
655
89
267
896
455
556
122
542
414
891
393
281
802
532
50
397
621
678
203
759
630
2
16
229
627
761
163
28
84
369
764
489
666
418
820
341
747
257
187
305
840
423
458
394
489
518
416
959
642
664
977
622
326
740
6
736
614
877
717
400
607
476
511
104
154
825
691
499
275
908
474
589
149
912
705
493
708
24
135
440
727
12
655
75
114
70
469
735
867
867
634
391
919
852
898
173
275
907
694
345
667
198
12
993
200
526
533
746
293
965
985
425
107
537
600
251
479
800
168
895
845
600
573
253
303
255
129
984
183
73
770
794
305
609
941
986
737
698
439
551
632
271
505
364
341
953
529
228
816
940
943
721
408
291
403
522
453
163
678
389
125
84
590
730
14
66
440
231
867
898
505
807
663
456
223
846
917
473
404
813
812
523
312
285
13
726
845
817
117
604
303
350
562
370
692
659
79
559
143
428
735
266
539
93
101
616
690
342
196
462
923
185
665
425
996
114
281
77
726
186
21
396
374
270
818
369
492
635
22
71
417
957
872
200
259
69
321
617
693
951
728
235
338
786
444
47
189
590
965
255
546
711
355
972
975
281
21
37
397
418
293
824
485
23
310
215
301
979
571
945
353
973
139
509
12
217
119
189
298
550
15
428
496
174
289
566
369
219
426
241
305
518
398
20
535
907
360
667
160
301
230
392
135
474
646
366
333
758
253
514
627
55
16
112
62
113
111
154
596
141
720
379
640
139
715
32
431
857
974
679
104
606
51
43
8
110
369
94
281
404
530
425
78
370
779
957
378
82
886
818
105
371
982
99
133
98
519
895
483
139
449
662
249
85
498
78
389
703
879
410
819
750
305
529
410
978
486
686
200
881
34
915
40
285
887
399
866
37
118
813
997
417
918
345
96
672
671
980
409
312
662
394
776
837
634
390
623
937
213
730
638
515
822
348
100
156
572
422
576
586
125
922
393
530
584
178
794
382
55
580
869
623
97
906
98
494
487
760
921
456
309
277
115
323
662
107
508
388
568
817
665
722
903
4
523
459
741
155
133
623
256
672
983
530
975
166
816
545
33
784
514
549
965
679
491
117
395
395
514
253
218
916
266
803
869
8
311
553
750
522
741
146
865
228
134
2
118
808
743
978
112
90
369
313
378
291
367
417
785
368
982
476
693
654
372
673
436
649
519
485
926
40
976
820
362
718
34
103
439
535
970
222
958
874
873
162
132
365
762
853
505
66
544
614
787
362
33
887
741
343
169
141
725
853
221
475
310
128
544
326
370
793
3
711
491
201
423
628
256
187
188
240
455
112
842
203
344
569
472
726
19
337
852
508
498
719
36
580
118
771
552
70
584
502
956
895
538
31
340
701
948
564
366
790
873
693
991
134
782
856
381
190
394
612
571
375
854
54
520
210
301
163
389
294
938
197
951
132
768
313
683
262
313
378
541
627
456
346
563
742
190
186
528
133
796
616
787
808
542
367
600
63
680
358
300
708
548
338
26
660
417
973
387
28
665
335
861
513
944
964
699
65
39
238
451
647
189
704
956
586
70
837
966
856
608
349
435
778
572
65
457
126
532
903
449
209
696
491
467
274
364
895
236
265
189
618
505
699
416
153
523
269
483
492
412
182
10
570
261
617
276
110
802
968
626
10
952
918
864
885
453
32
396
801
300
861
950
563
258
263
734
664
42
263
779
97
398
963
634
518
540
328
973
479
692
325
653
666
40
399
784
169
290
566
834
549
768
774
770
982
507
538
598
136
875
287
582
324
162
55
56
146
781
488
682
925
62
178
772
736
900
891
558
599
453
24
611
554
348
26
373
608
790
669
791
924
652
18
921
753
763
103
557
854
980
299
24
31
49
847
770
246
917
465
16
485
940
403
31
22
624
526
275
332
536
484
238
748
622
401
33
249
589
263
24
681
334
760
572
740
856
7
784
82
801
281
44
700
894
434
897
870
192
882
557
604
960
57
658
714
740
707
239
578
149
81
419
32
307
188
378
846
322
942
405
732
388
796
615
526
63
135
523
989
391
99
347
524
873
745
265
455
890
73
197
950
802
81
338
454
239
388
565
859
205
168
423
775
742
841
309
632
825
706
375
196
551
335
49
389
334
752
937
76
619
714
463
721
887
833
144
801
881
154
738
991
677
168
24
891
367
63
590
833
27
399
506
744
203
248
109
813
504
568
483
914
706
193
298
619
640
233
161
937
955
991
72
623
800
512
442
592
798
90
680
354
142
6
431
197
114
322
964
375
656
837
999
171
702
846
489
942
747
172
439
906
511
82
643
454
588
942
369
290
607
678
294
606
130
438
191
986
555
487
220
938
638
106
606
639
659
987
242
874
80
506
353
251
143
178
244
382
15
82
414
666
105
490
700
73
677
203
341
308
612
816
587
305
753
789
898
797
410
634
512
98
880
763
875
839
501
283
886
892
646
817
735
920
463
636
518
711
274
126
158
76
825
107
468
81
624
893
16
468
160
435
397
766
564
930
878
139
498
997
579
759
211
807
38
706
954
739
234
511
890
575
846
978
484
208
172
947
171
27
506
622
459
156
685
154
695
631
869
834
271
311
197
307
221
515
981
936
183
615
43
452
776
663
485
116
490
842
681
573
710
707
677
896
565
956
632
622
926
345
399
320
563
761
217
81
246
828
788
612
793
908
565
771
469
197
674
547
434
914
112
89
904
63
796
559
809
470
325
616
886
425
606
573
594
760
532
841
368
17
852
441
740
649
100
207
356
588
27
321
340
551
99
365
455
841
200
116
400
378
305
158
370
4
790
345
930
902
735
467
452
3
173
596
533
194
193
197
893
267
941
669
128
351
801
898
162
822
101
56
900
733
261
100
260
480
336
859
657
950
126
47
926
934
363
377
51
533
127
673
700
546
635
409
936
253
139
39
598
959
223
676
442
230
730
689
183
264
767
120
470
718
106
247
896
621
893
9
306
638
332
629
648
660
437
676
270
40
361
524
298
188
603
705
389
681
256
671
346
816
546
383
189
114
794
14
231
406
915
353
167
308
208
598
332
466
667
339
506
697
575
370
580
98
35
177
751
671
770
303
862
220
781
109
454
445
408
279
609
614
963
551
460
382
754
105
303
356
692
316
765
835
777
282
807
722
876
168
134
744
264
719
619
357
347
872
727
374
245
404
716
271
351
642
32
971
649
812
74
284
615
426
292
283
951
868
295
873
955
905
864
392
878
772
470
612
37
464
998
478
871
848
977
84
513
816
855
249
411
450
430
283
206
905
27
100
764
3
22
943
61
921
461
522
593
611
49
789
967
935
84
356
154
418
917
50
755
775
478
403
231
414
645
89
863
561
49
322
542
593
993
32
539
940
350
170
771
733
622
909
127
476
348
594
56
886
407
758
894
505
212
744
654
112
695
985
955
330
352
569
274
149
63
963
432
391
588
799
374
605
986
327
73
601
566
828
399
562
392
183
220
368
191
892
801
609
709
877
911
849
877
101
934
832
157
603
496
976
120
314
619
830
275
121
973
440
209
349
7
800
373
173
101
352
286
193
285
724
601
603
166
614
125
323
16
694
725
746
555
429
887
868
103
15
188
302
651
388
454
833
837
947
348
663
439
210
674
877
185
192
259
591
601
772
425
346
830
75
869
806
959
32
219
861
232
60
730
729
906
162
794
387
350
79
523
508
437
671
327
596
460
524
632
697
845
915
741
180
780
625
731
415
759
166
321
388
783
124
360
479
738
118
72
449
47
309
280
991
558
840
655
29
218
248
8
171
148
22
364
172
293
949
174
50
655
267
830
834
773
140
577
106
509
849
627
793
747
93
742
286
654
628
427
591
959
438
998
782
227
86
61
970
406
167
863
307
212
950
511
682
602
997
870
912
224
314
79
324
371
413
874
569
454
289
368
603
326
57
607
24
68
785
999
983
684
576
447
340
720
874
130
367
715
137
450
392
970
882
217
913
464
858
997
663
803
498
873
817
528
754
258
927
18
101
849
294
748
397
200
172
288
465
33
738
10
724
606
659
208
463
204
802
539
621
638
222
145
557
995
26
407
828
987
524
240
103
895
46
164
646
749
606
941
932
220
431
470
435
785
13
161
772
626
955
882
802
487
954
910
348
977
293
497
407
689
630
238
184
831
965
407
19
170
661
967
221
635
656
928
788
225
50
303
144
178
264
26
122
193
28
536
510
86
826
435
738
794
841
522
63
56
779
974
721
500
640
10
836
823
180
122
545
986
571
652
28
447
36
776
967
910
486
270
945
573
993
662
518
220
29
583
958
766
630
863
175
420
557
200
503
25
906
621
898
420
164
183
463
796
919
407
448
768
213
339
760
598
925
335
836
448
547
578
1
707
918
676
779
703
826
12
735
749
615
784
156
442
561
679
821
59
410
912
699
256
312
968
824
960
909
479
39
784
508
55
474
730
2
294
469
18
482
965
270
165
957
628
350
674
679
648
614
731
788
87
680
678
753
432
518
987
774
49
230
145
651
829
791
242
179
355
564
892
703
319
584
871
649
716
301
617
395
746
333
861
228
665
615
899
683
61
417
21
127
388
201
408
226
972
752
320
482
864
394
845
695
227
340
759
871
663
287
386
263
651
793
884
497
352
939
807
724
353
671
980
262
959
524
628
494
624
87
912
968
359
877
448
80
897
319
764
570
516
550
855
969
776
416
211
349
100
678
88
882
548
983
600
336
33
298
404
241
343
723
232
736
469
20
86
31
653
305
105
832
296
311
978
466
9
595
938
884
771
413
369
269
744
17
43
14
196
157
22
338
620
506
644
759
92
657
945
638
194
299
435
806
632
920
393
173
902
82
122
72
314
938
743
768
45
898
940
353
656
461
380
723
459
765
971
657
201
424
207
298
855
363
36
0
182
202
347
98
420
147
572
613
557
745
362
678
728
203
935
514
37
146
73
707
401
698
132
494
499
384
26
998
313
675
36
354
781
993
974
122
494
759
523
151
953
120
59
7
12
899
763
464
225
272
88
494
642
707
1
240
370
997
96
858
291
760
314
151
309
224
929
634
845
482
650
882
83
143
133
367
399
914
567
429
760
703
95
768
353
471
690
314
63
304
114
658
389
613
946
874
86
533
31
715
594
506
899
425
764
475
426
551
445
456
870
700
838
168
960
21
607
4
668
910
555
169
846
143
958
320
220
706
423
61
348
311
141
397
197
66
304
719
455
431
945
164
550
57
608
145
876
900
139
899
31
108
296
549
141
324
480
551
596
547
73
907
132
658
674
172
996
114
275
737
785
697
650
273
192
187
4
306
133
914
508
391
105
627
241
628
673
80
509
129
47
66
420
779
393
160
56
165
187
127
204
269
828
499
67
725
521
10
56
610
522
631
41
5
144
474
153
704
81
251
46
184
98
927
594
731
528
694
838
721
193
403
294
266
99
912
107
943
856
517
525
6
543
328
271
786
934
660
998
270
10
845
114
277
85
978
974
283
648
921
359
288
478
963
451
152
629
916
968
290
570
163
154
935
95
555
872
255
252
303
938
324
305
254
379
360
662
75
82
383
887
958
930
629
899
893
652
252
564
959
740
47
720
911
232
283
194
817
519
881
886
401
975
90
808
161
944
177
774
44
328
270
82
318
76
32
835
167
75
958
2
49
293
49
920
235
376
884
222
642
651
231
128
756
505
441
939
340
261
616
896
829
582
388
653
788
120
551
496
530
8
479
211
24
93
175
128
866
52
170
81
462
423
258
919
452
207
969
246
216
902
893
275
210
371
602
454
793
585
431
17
988
316
730
609
192
424
414
885
158
623
809
752
439
133
125
974
608
975
900
822
727
839
368
111
103
21
322
780
676
870
365
119
641
806
32
377
540
486
999
856
119
813
332
95
983
952
427
353
857
234
378
172
783
798
664
834
998
175
266
508
719
945
556
436
117
968
92
526
734
51
227
853
157
147
448
770
697
955
549
142
140
120
888
78
405
722
350
530
747
726
363
594
344
912
76
276
706
155
370
204
868
998
521
901
544
249
193
273
871
994
417
171
111
619
18
511
981
83
116
354
437
236
929
122
974
296
221
667
270
451
751
49
779
198
75
798
21
823
698
190
259
158
808
395
665
318
723
911
777
9
874
693
824
189
669
144
135
262
538
17
617
669
827
937
759
611
140
894
867
545
984
675
703
652
572
101
290
979
989
111
963
369
566
812
389
673
180
336
116
180
135
340
708
468
30
956
275
720
162
813
273
864
82
902
988
543
853
108
552
847
98
398
235
345
371
611
552
36
245
864
339
395
309
123
353
629
779
922
296
784
400
587
472
78
947
977
983
336
56
232
984
668
315
933
825
869
829
511
283
548
627
990
619
738
622
976
240
947
90
930
457
835
180
909
736
903
716
152
173
429
893
257
354
603
234
959
768
622
609
502
385
568
542
288
152
146
816
978
756
386
687
236
298
186
436
667
811
132
69
300
172
888
158
926
665
807
496
323
717
978
294
916
305
65
245
750
185
145
857
84
199
306
848
105
255
859
644
44
981
768
426
715
483
500
284
542
360
329
72
658
291
744
15
362
241
921
780
175
106
49
634
487
29
112
762
380
211
716
376
23
503
758
575
298
758
473
478
197
295
224
896
517
462
320
400
168
260
979
885
484
348
389
825
971
941
668
128
497
239
355
874
788
810
226
309
994
189
683
951
138
99
287
144
844
484
970
504
882
98
544
644
751
520
31
184
755
414
966
845
460
677
96
87
969
191
124
676
58
473
731
783
972
149
704
683
484
972
433
663
60
232
85
156
998
19
577
371
738
657
871
154
516
976
99
821
102
71
557
515
675
98
12
848
560
731
821
467
474
286
262
813
692
461
64
4
808
384
361
340
842
356
703
813
547
674
411
911
453
159
161
880
587
617
362
999
326
487
225
622
868
636
346
898
876
410
7
97
46
675
839
255
953
552
904
154
152
140
782
21
598
110
177
425
306
862
684
137
570
405
475
881
682
898
659
678
744
143
262
841
223
413
122
595
266
248
156
246
744
293
53
159
766
176
262
352
569
785
890
653
166
676
501
3
756
96
177
281
829
370
597
286
731
495
322
743
686
963
722
748
245
51
597
860
802
553
443
159
626
907
783
799
505
430
30
414
852
461
679
263
889
589
30
311
299
833
724
191
67
345
298
678
121
178
392
984
916
846
637
262
588
840
386
968
702
947
64
138
80
24
247
969
643
122
381
38
107
52
494
304
15
392
25
759
720
662
553
669
275
914
293
957
773
234
12
307
202
7
382
982
764
316
798
43
259
219
952
688
415
39
284
405
302
467
791
320
142
545
186
598
808
330
449
28
822
319
278
532
959
881
694
110
25
462
459
664
206
562
349
453
981
741
681
947
870
495
916
415
775
312
968
895
305
761
337
830
954
571
802
163
703
157
706
443
483
978
822
964
966
816
132
428
554
477
794
62
268
36
243
650
168
202
68
648
456
239
836
774
193
637
389
307
638
153
648
970
469
152
123
727
550
317
113
365
320
717
434
30
713
604
309
811
883
642
80
599
993
566
23
254
359
982
666
510
808
717
35
421
912
208
355
690
863
942
968
484
508
160
620
593
847
820
763
515
570
128
85
358
708
829
739
836
151
733
900
659
590
369
715
858
585
159
823
332
962
379
66
684
407
938
581
867
343
435
890
323
109
0
712
375
968
507
437
599
889
894
431
747
125
495
945
215
404
721
478
400
770
806
933
48
728
978
137
559
71
935
63
918
332
603
561
978
279
774
82
230
619
348
57
836
409
312
179
498
495
129
625
27
247
68
825
469
130
389
790
843
292
859
232
634
800
707
221
740
921
821
373
328
774
355
299
858
418
115
905
226
658
415
692
962
88
176
131
335
716
243
395
564
85
815
344
148
391
754
530
986
504
155
945
420
126
584
18
13
971
848
798
23
130
285
7
820
194
718
336
755
328
435
947
383
667
502
602
861
487
694
476
249
570
121
709
591
351
610
970
300
496
40
431
323
779
476
636
968
266
110
717
317
741
849
972
6
77
888
554
533
785
660
284
264
923
718
269
470
117
206
205
97
154
432
141
419
352
39
73
363
413
844
259
793
312
96
609
118
593
912
402
614
675
876
408
93
301
725
747
307
665
367
493
328
522
936
556
667
210
712
308
144
953
621
795
239
570
134
997
366
716
775
343
743
572
409
137
866
663
783
459
487
998
617
76
320
935
968
727
674
995
3
844
628
433
99
915
596
263
611
733
425
497
982
900
199
614
873
895
896
687
473
570
548
704
927
676
422
134
729
674
996
690
996
998
93
612
805
104
805
341
913
910
885
575
164
795
729
829
117
824
34
117
548
540
368
527
673
216
739
943
808
482
571
46
153
400
487
482
380
763
232
734
936
752
105
11
414
549
390
592
88
715
508
300
811
107
266
975
301
619
798
646
168
434
512
470
946
383
725
249
808
64
350
16
39
141
221
836
457
181
26
990
908
544
241
11
62
519
786
672
450
663
425
493
923
576
728
52
276
801
74
899
175
413
361
640
188
348
9
933
989
388
398
620
65
667
69
516
181
253
152
318
779
395
428
108
183
75
938
183
231
289
624
285
747
827
367
250
243
969
95
21
79
364
783
420
375
681
422
462
488
717
453
245
657
609
117
732
696
406
902
807
924
511
353
946
114
67
815
562
587
711
836
419
102
56
278
364
567
181
263
194
813
98
229
991
297
307
727
766
713
479
39
282
908
902
374
151
971
954
72
209
251
622
637
692
685
268
552
81
878
466
833
720
648
510
308
800
174
214
238
168
274
435
205
843
730
586
123
337
744
97
431
939
925
999
815
450
109
883
601
473
408
291
580
532
918
867
136
419
449
140
470
40
446
666
492
837
947
519
539
204
390
2
531
749
852
270
357
535
397
363
771
338
924
511
608
324
590
111
492
254
880
946
852
621
791
890
446
168
293
303
598
417
958
225
566
411
180
336
381
818
701
703
771
822
306
722
634
471
72
894
928
355
17
622
8
633
160
632
756
340
876
149
831
246
128
373
498
396
418
719
151
585
290
971
487
203
198
500
609
731
210
939
34
978
302
489
76
817
125
429
838
916
715
262
241
470
563
633
431
535
895
204
386
239
324
98
172
917
540
34
270
333
966
473
119
788
47
87
638
458
869
393
732
858
93
886
895
230
322
555
597
485
243
199
70
697
425
860
44
657
290
839
509
993
200
912
139
339
826
228
828
707
291
853
646
972
196
20
542
444
529
885
247
329
311
32
985
386
104
310
936
148
818
957
324
686
413
467
171
565
215
312
483
875
323
868
371
428
669
558
965
346
314
308
435
520
924
317
756
867
344
936
703
135
763
273
620
834
549
231
417
124
149
362
118
304
600
8
604
152
676
238
892
605
314
317
817
270
156
660
490
346
799
577
332
671
611
791
894
403
789
784
966
84
259
393
726
129
158
481
576
424
869
136
981
391
605
513
724
670
611
691
275
717
893
303
809
8
251
877
664
532
797
429
538
917
293
476
186
903
866
981
985
274
269
697
321
357
408
943
194
675
916
64
878
190
304
885
26
822
933
621
186
319
573
711
978
357
89
941
170
489
687
382
849
470
281
786
332
338
259
830
940
375
520
561
296
349
8
383
854
67
0
962
850
716
768
549
807
893
834
667
528
658
262
607
132
797
143
828
789
974
51
855
151
293
921
781
840
803
680
90
729
925
653
146
315
253
8
773
132
537
202
140
872
23
937
29
52
651
301
236
422
328
118
35
563
72
915
959
599
417
336
806
317
737
493
898
266
647
710
241
583
352
17
814
405
847
131
400
834
498
650
583
230
839
512
61
64
768
911
644
209
920
894
652
363
389
1
76
147
743
278
833
260
533
696
692
670
167
5
103
92
704
791
703
706
762
33
879
201
360
837
654
743
807
757
543
414
593
985
989
69
256
480
223
278
868
473
574
511
95
488
599
612
161
166
86
372
40
633
979
497
196
862
878
210
66
762
363
521
159
158
277
981
106
41
575
739
265
581
521
943
769
903
1
838
489
156
754
327
850
993
693
317
566
96
652
476
582
752
976
588
970
198
65
252
934
910
693
658
261
281
455
60
335
827
223
700
393
675
610
336
353
351
121
165
944
781
931
202
138
29
156
989
356
211
226
614
206
898
568
519
86
864
246
847
181
366
164
911
779
782
207
588
118
70
709
522
552
905
968
616
324
199
846
900
451
632
567
759
433
265
585
62
37
894
43
46
873
568
649
763
486
541
900
52
706
478
414
469
395
21
929
679
8
25
86
699
172
606
27
571
616
604
820
979
673
546
316
94
730
793
476
840
663
823
398
221
184
279
328
717
377
993
134
600
748
679
927
231
6
801
744
736
190
131
163
903
734
638
862
392
702
795
393
701
77
760
609
513
196
95
428
154
867
757
853
87
253
444
819
810
669
729
103
657
382
988
0
85
452
744
308
242
85
750
963
212
757
651
130
217
841
578
106
710
182
611
546
776
376
49
637
706
684
216
420
496
619
881
326
733
204
913
473
92
182
356
253
683
268
101
237
709
402
197
662
589
590
938
674
387
536
116
244
477
641
991
238
655
146
344
784
220
156
579
113
40
922
360
671
684
579
79
699
913
848
48
878
357
397
648
929
463
950
840
114
136
849
633
935
737
307
600
464
560
395
602
271
453
775
693
204
445
817
525
257
471
193
19
395
486
638
473
767
155
406
336
583
314
788
778
359
470
754
246
917
685
939
627
68
738
596
924
157
333
212
361
608
604
96
960
725
620
530
77
977
497
930
800
112
113
576
400
795
452
65
576
392
650
250
515
868
826
579
759
401
627
761
651
116
769
804
66
509
666
709
481
414
852
329
53
622
437
807
577
381
131
796
324
355
768
896
924
967
973
583
108
71
701
624
180
671
919
323
382
839
895
825
320
125
295
33
746
708
743
140
268
566
98
46
430
908
143
194
977
579
653
535
936
604
411
325
653
13
857
369
12
107
115
80
288
249
133
530
469
502
998
945
672
494
291
678
951
395
940
281
297
157
757
79
286
55
126
724
109
716
511
636
353
32
930
779
54
916
77
321
778
408
63
688
698
989
14
314
586
536
480
377
867
679
189
471
484
99
978
551
89
853
213
217
374
134
404
245
871
789
132
854
597
626
457
609
309
286
928
214
558
960
221
290
875
449
17
405
637
753
502
951
541
930
651
964
932
328
341
472
256
518
554
608
883
30
496
161
352
121
500
975
124
393
280
646
409
765
708
52
695
255
47
333
848
756
371
74
184
870
530
351
785
901
351
89
261
250
911
757
720
157
988
467
292
424
586
458
439
918
686
386
192
620
627
848
669
244
570
352
88
478
918
817
601
966
163
484
326
737
595
421
439
174
863
429
878
456
876
117
398
340
783
541
714
54
51
88
338
636
846
530
353
631
736
114
0
29
0
603
556
174
782
950
841
554
822
246
531
402
734
401
884
198
472
26
185
823
822
912
608
212
177
720
907
131
851
419
97
569
570
815
599
810
2
180
7
16
214
608
60
729
102
880
938
64
470
649
859
299
912
851
829
103
495
390
709
739
605
364
415
689
298
644
206
955
386
192
103
441
678
586
579
995
367
20
690
120
526
834
381
7
783
771
448
894
941
506
601
682
934
788
844
718
119
538
263
71
808
607
127
501
779
173
732
506
775
242
955
677
685
889
110
580
474
247
857
85
983
828
487
595
262
185
69
740
312
243
358
342
910
138
438
874
711
927
997
784
433
921
402
227
357
49
412
799
840
819
335
244
989
688
690
945
645
364
951
346
969
932
844
641
257
637
884
877
721
921
559
29
826
972
423
394
500
797
592
556
813
409
398
340
551
348
956
258
525
388
216
141
975
538
1
264
819
764
292
963
85
419
487
706
814
906
679
476
214
461
321
499
677
56
859
470
797
818
277
412
804
870
758
525
173
805
116
182
576
467
545
279
16
112
699
503
729
97
26
79
509
975
191
543
873
461
744
645
10
156
460
700
598
988
448
822
729
305
118
536
480
531
591
921
211
595
27
257
163
935
696
979
276
534
764
239
90
790
825
127
679
324
504
329
424
264
482
136
991
466
64
617
906
351
978
708
79
16
82
961
561
232
158
88
918
577
467
64
413
600
215
62
478
893
333
431
285
513
335
917
144
808
635
259
367
810
810
253
241
34
143
182
77
88
549
978
66
837
811
787
847
347
410
169
234
25
542
881
93
960
545
22
202
245
869
353
132
90
333
815
302
614
434
973
553
176
857
749
389
617
534
850
178
188
352
965
134
144
309
130
364
501
602
394
186
938
554
56
348
533
415
874
837
736
319
721
42
865
620
643
66
377
444
522
780
288
954
505
318
967
591
529
792
448
526
750
886
843
26
734
347
310
646
563
845
832
744
216
261
764
929
298
851
359
23
867
719
217
273
106
517
777
45
414
41
531
638
276
275
971
703
440
612
943
866
569
287
802
49
685
623
874
343
119
659
675
416
483
143
563
416
325
853
199
12
250
73
822
800
759
374
448
16
648
134
375
308
278
546
104
601
375
319
643
728
790
274
625
743
686
275
160
42
634
663
864
252
579
267
47
266
876
745
542
669
789
800
133
956
895
725
93
631
854
899
260
490
824
232
300
74
751
356
579
763
907
192
441
312
982
370
278
926
535
820
546
55
720
908
33
171
13
682
647
409
288
803
36
191
142
585
610
375
239
216
901
691
139
399
219
756
283
986
151
373
541
937
302
984
435
612
432
949
443
949
166
21
761
936
418
650
735
382
689
68
420
41
795
800
986
541
176
485
804
872
819
456
222
820
244
626
1
574
734
279
44
520
661
647
911
182
793
439
972
444
763
220
529
154
924
383
498
99
805
674
667
466
650
490
760
92
536
151
242
593
678
191
219
397
914
156
48
272
382
138
889
555
138
905
714
464
123
924
497
185
794
471
227
981
202
236
741
768
896
261
209
770
98
955
742
815
928
816
381
973
776
599
323
588
957
908
97
398
925
843
374
22
418
545
735
25
865
477
821
276
367
121
140
790
463
604
870
460
906
394
716
304
529
228
111
287
393
216
218
279
665
262
392
16
141
377
552
539
357
210
487
560
539
532
879
960
928
40
354
625
359
579
825
610
96
197
670
0
305
38
107
497
680
220
690
943
179
623
440
834
104
39
919
548
884
60
562
844
74
801
189
830
240
709
285
734
85
67
863
690
332
843
626
426
986
664
657
578
822
754
256
936
377
20
914
889
47
70
325
82
363
406
686
211
767
500
156
769
820
859
242
292
262
770
67
568
778
533
66
655
74
229
770
895
888
930
471
945
598
65
214
520
533
460
241
347
927
303
915
576
27
901
652
59
28
61
666
922
717
817
354
386
854
964
7
192
805
812
547
822
261
76
11
267
184
319
489
351
912
154
603
311
684
994
49
270
330
851
715
10
799
339
562
172
15
694
58
182
631
810
590
842
526
47
484
530
865
198
397
248
460
654
367
221
298
900
708
437
271
785
728
764
478
878
277
281
948
348
954
974
296
901
767
199
675
836
742
837
727
195
39
993
483
747
115
605
702
312
813
333
200
400
882
308
893
716
253
289
786
230
78
296
893
431
835
390
385
93
224
499
860
659
756
656
863
36
2
693
864
633
740
698
188
795
182
887
401
589
276
686
967
494
531
188
657
555
142
959
500
129
54
605
932
730
904
747
985
353
705
915
84
724
299
176
214
262
565
485
669
148
406
49
208
723
317
231
153
342
228
222
761
70
145
452
267
74
739
258
585
972
468
167
452
789
430
18
728
151
126
99
890
442
494
739
343
375
473
52
142
918
116
314
47
416
729
209
366
555
903
88
504
95
681
723
913
488
28
557
488
492
759
739
499
423
463
99
448
171
275
192
918
118
156
778
338
187
407
705
153
545
592
269
619
836
304
188
205
237
628
20
189
420
559
152
264
903
314
618
942
29
398
846
407
131
126
199
794
339
2
153
884
569
516
17
405
698
479
736
381
122
368
111
597
149
780
655
980
506
411
430
562
497
296
845
974
251
66
513
191
179
572
670
203
803
544
497
293
931
640
425
506
277
223
505
736
145
603
282
644
984
473
767
101
729
503
375
230
397
885
744
12
783
562
374
831
274
956
439
759
126
704
47
862
500
467
597
695
300
854
153
728
253
584
1
387
374
144
602
35
10
974
604
108
131
273
979
741
749
763
791
230
376
726
518
846
562
235
883
294
899
476
257
387
591
974
165
454
664
519
826
662
484
954
404
430
905
555
753
592
559
576
715
882
685
863
119
257
202
21
111
69
985
274
862
513
639
885
468
464
218
622
850
725
302
237
600
910
513
362
331
76
938
471
962
168
880
240
556
358
192
786
385
727
857
433
208
184
976
923
763
972
352
298
421
602
768
582
3
724
423
537
443
533
470
293
561
86
909
918
419
359
147
18
534
55
320
717
87
383
332
985
799
170
247
660
197
44
880
334
430
441
400
618
984
427
649
879
512
881
272
106
205
792
694
527
941
769
170
476
587
841
115
27
634
800
224
399
873
64
310
39
435
398
845
761
190
101
466
624
461
64
365
531
529
804
634
179
662
227
500
449
94
826
392
756
355
766
138
550
333
555
838
696
988
302
105
171
577
399
558
52
337
287
579
17
679
845
914
907
649
231
114
708
724
574
244
18
256
23
266
921
212
17
961
262
401
489
163
221
431
851
177
563
377
797
305
336
113
62
866
226
629
238
102
220
3
782
704
887
873
559
300
549
628
964
242
1
719
167
528
374
223
50
746
841
669
810
19
354
408
788
302
383
500
551
480
726
181
789
442
48
705
798
582
632
764
928
603
283
877
84
40
359
903
831
719
850
344
464
938
868
467
634
436
876
357
471
814
82
900
89
703
691
718
943
328
154
69
47
970
527
311
518
244
219
967
388
683
986
539
89
703
391
378
607
139
750
620
415
755
607
704
640
194
704
147
296
203
329
538
987
94
889
844
270
87
32
239
118
302
977
805
742
928
231
722
26
831
662
463
284
559
719
723
76
486
815
310
307
867
518
388
204
821
255
105
722
623
674
740
312
831
927
368
446
349
974
430
944
707
236
839
619
103
399
727
161
212
919
3
543
242
774
844
126
281
56
512
643
748
28
62
623
946
564
764
189
733
993
227
603
226
31
715
50
928
359
634
338
604
96
339
855
713
589
274
570
890
290
150
823
749
247
417
347
739
607
394
480
524
568
665
128
778
563
287
5
327
726
57
734
844
326
671
8
170
595
161
462
43
500
49
87
633
288
998
10
105
416
497
955
338
679
142
2
96
240
753
496
976
32
821
551
627
63
127
57
575
971
616
285
854
936
227
776
320
573
825
826
654
491
784
675
778
376
908
643
401
121
255
465
34
187
779
389
498
3
81
910
811
108
234
547
631
559
807
718
715
558
451
364
480
66
749
957
301
333
757
460
887
962
438
871
409
550
167
708
706
439
966
353
213
164
535
942
222
81
956
468
322
885
526
345
839
1
896
978
927
867
830
42
73
743
154
563
95
198
797
50
5
329
769
871
745
602
238
491
897
953
536
607
133
142
145
258
533
510
244
324
372
433
203
704
914
640
534
309
949
311
969
653
691
760
495
178
585
16
215
320
321
838
91
957
847
829
312
715
336
872
384
807
775
540
104
918
235
43
764
753
956
540
222
791
826
881
237
123
127
252
917
265
727
956
341
538
121
333
211
298
710
544
304
486
480
927
557
567
208
484
378
964
440
190
497
28
601
697
536
31
662
277
7
231
540
957
808
522
377
373
597
790
14
439
130
686
455
238
564
256
884
784
819
692
908
901
899
443
258
459
173
138
819
439
998
572
613
545
650
406
655
377
622
398
355
194
563
154
158
764
855
47
958
782
75
793
359
929
413
80
12
608
381
903
893
927
963
960
431
364
917
600
198
565
218
967
383
582
234
976
6
867
686
760
197
321
374
461
987
311
115
747
468
412
160
498
970
519
172
571
46
552
342
459
982
804
240
679
591
572
421
648
9
616
539
951
959
832
987
69
206
989
622
515
83
227
765
859
278
202
736
320
967
385
626
604
452
483
141
830
171
303
433
910
948
785
214
739
970
824
633
463
120
663
34
111
674
452
581
63
6
285
184
610
363
763
502
265
288
260
156
321
618
138
47
574
582
479
94
347
638
134
816
732
661
740
53
161
52
275
733
447
276
575
948
331
113
270
877
173
312
623
963
639
953
611
624
806
105
68
598
710
709
76
500
328
603
777
545
823
667
89
234
340
315
786
376
870
223
916
421
476
438
538
728
431
492
933
405
540
962
638
289
97
357
340
454
173
961
856
615
713
707
719
721
274
141
303
801
492
806
826
858
870
27
244
317
325
446
240
732
159
456
433
890
994
73
589
496
860
844
397
891
435
383
19
813
716
346
147
148
499
415
825
301
10
668
509
255
73
305
489
610
502
911
921
92
725
18
599
59
74
97
833
360
45
470
314
181
65
320
929
515
164
97
353
71
55
73
357
682
526
647
3
169
856
85
801
314
314
162
952
80
504
430
113
391
316
346
778
340
364
420
90
663
546
91
341
123
84
669
665
520
799
990
4
415
629
933
951
427
566
657
642
458
865
840
377
471
10
174
931
859
823
589
935
707
308
734
36
26
753
827
445
781
860
791
401
141
858
305
422
99
337
420
613
802
83
490
888
733
681
138
401
62
249
403
803
440
510
23
173
660
891
528
555
444
852
471
245
686
589
779
966
768
279
198
138
939
508
183
266
362
575
377
605
190
960
623
104
105
809
322
73
739
859
241
155
270
45
229
455
348
21
622
917
490
473
780
519
760
47
221
630
671
314
937
312
903
914
843
495
70
573
69
129
619
732
77
677
543
437
272
689
471
596
699
40
423
587
734
317
879
407
326
473
851
458
300
470
992
754
298
447
501
653
604
176
826
225
33
590
805
129
564
508
325
218
535
84
800
584
397
655
664
569
419
218
388
692
625
401
365
276
608
243
587
111
113
488
582
208
448
491
544
934
4
831
880
842
604
805
838
529
42
71
412
457
66
620
51
275
303
25
304
404
460
575
448
302
446
207
627
731
501
26
216
572
500
687
896
656
210
803
45
725
184
171
485
837
34
711
534
166
806
998
15
879
393
507
937
66
865
159
593
455
697
80
392
147
435
593
217
308
322
112
55
786
590
563
555
385
743
423
928
245
35
332
589
292
0
937
232
764
816
889
35
436
100
430
641
145
46
898
711
803
464
196
193
382
402
102
304
614
394
262
126
324
96
157
38
215
445
731
54
480
202
129
593
801
91
224
118
67
702
126
670
181
223
52
469
890
355
341
787
13
245
261
185
216
794
335
408
123
485
538
396
736
710
545
840
146
555
756
488
591
505
445
354
876
673
686
349
532
680
98
500
140
826
920
467
235
227
573
149
980
523
144
113
403
761
105
706
642
227
688
230
654
973
522
993
625
842
277
221
640
801
511
518
630
173
23
459
52
244
694
733
665
265
609
591
196
755
800
260
716
550
8
820
141
281
432
795
198
175
433
541
309
47
388
630
891
945
59
878
261
472
210
649
998
712
334
420
915
704
624
626
342
759
91
451
608
498
572
857
148
527
564
185
381
843
186
481
950
35
6
887
640
843
74
503
637
551
267
487
257
584
59
156
507
211
824
690
264
780
962
230
927
48
188
895
790
708
284
60
123
810
651
40
100
671
709
184
873
820
314
105
936
17
250
326
785
666
830
726
504
661
828
261
518
442
201
352
831
746
187
522
318
523
147
873
198
162
995
515
684
746
213
12
633
458
133
854
812
607
859
326
777
555
774
317
53
106
841
894
793
49
3
880
303
250
684
199
260
194
398
472
937
973
724
770
664
735
738
386
708
798
588
293
493
946
867
335
437
788
638
811
236
184
776
226
700
589
352
915
9
86
679
353
652
852
492
530
590
269
845
605
508
7
153
124
238
366
797
599
326
220
854
26
24
610
299
829
739
581
290
994
265
245
967
767
170
885
524
628
116
74
41
704
292
850
772
313
456
640
412
228
25
997
851
902
902
868
227
533
318
616
695
790
394
111
339
485
903
802
424
912
217
651
697
914
213
605
928
354
313
86
7
766
841
352
765
493
985
141
686
474
63
642
693
42
751
552
920
849
917
829
772
465
221
792
702
556
618
100
9
213
683
264
545
112
486
755
955
214
759
65
480
928
87
41
555
103
840
502
950
849
872
809
258
592
492
147
665
834
557
795
241
634
99
944
689
736
613
622
477
104
469
859
558
569
620
106
453
29
581
196
360
407
622
75
709
272
565
566
848
972
690
413
250
728
612
916
203
402
970
103
991
617
23
714
701
184
183
291
862
545
663
9
856
141
415
113
551
65
469
464
601
551
131
498
219
161
472
278
127
296
931
388
748
470
739
368
413
278
933
185
392
578
118
760
787
270
439
543
776
326
684
303
813
652
304
482
258
442
285
393
490
538
18
515
558
257
255
367
965
596
235
427
692
843
405
550
536
955
522
329
226
133
786
232
840
351
169
683
999
12
125
861
527
688
458
118
46
620
241
689
591
643
340
149
726
779
302
747
329
247
265
497
822
348
464
697
493
80
703
295
329
414
948
187
993
621
227
475
422
347
18
189
260
717
216
206
673
894
537
150
520
127
489
755
92
222
283
306
599
821
913
792
162
984
603
866
508
403
223
706
55
60
83
491
937
267
165
110
485
723
672
834
29
938
856
866
58
948
624
780
784
502
781
871
899
466
985
785
933
334
224
680
35
426
930
323
427
773
503
966
437
212
492
163
392
475
105
784
863
839
360
466
823
51
181
662
936
573
522
805
796
812
910
492
103
607
439
438
162
703
875
552
791
300
189
779
604
636
944
665
632
655
193
348
666
410
495
791
875
545
689
140
737
229
319
446
541
260
814
479
190
116
989
969
66
267
377
738
570
243
460
441
671
61
169
180
487
692
762
766
806
978
893
224
493
160
242
159
19
734
182
476
389
77
826
483
427
667
83
341
633
964
637
390
25
545
591
783
459
684
754
543
443
856
256
79
997
211
494
478
79
152
527
794
629
723
406
590
423
532
694
609
490
343
651
898
922
252
175
787
25
547
973
131
74
7
398
480
362
325
55
583
684
468
673
933
812
1
98
627
811
267
356
332
395
998
511
411
852
706
387
577
46
809
671
825
817
254
631
874
890
3
806
597
506
670
636
293
662
400
294
928
813
990
549
976
337
591
824
567
933
623
489
894
130
144
747
493
761
750
589
771
80
610
355
632
341
640
452
623
820
380
289
607
811
998
153
550
988
606
691
928
91
76
533
627
783
441
495
201
614
667
707
231
852
631
463
727
294
655
275
125
384
939
575
37
49
635
423
654
205
816
203
113
769
341
335
497
127
997
951
17
271
817
259
692
406
925
106
312
859
521
634
919
391
405
660
903
234
481
186
986
956
404
523
255
310
569
885
712
159
253
591
659
303
610
891
779
231
328
772
16
202
323
264
552
573
542
853
825
69
164
3
200
501
13
953
104
55
353
118
408
741
461
877
659
883
787
552
760
99
427
456
235
474
839
341
695
653
588
210
516
643
53
401
675
703
457
113
869
881
620
929
437
784
155
98
492
646
862
10
734
9
791
689
339
923
959
705
30
802
347
503
266
365
424
239
373
4
950
956
771
890
38
887
309
73
384
544
910
33
970
191
985
44
25
665
837
718
705
345
748
485
540
626
328
616
122
245
431
847
500
80
360
904
644
776
279
596
460
838
513
242
432
935
363
318
903
254
328
351
192
787
40
844
435
82
884
239
35
828
904
561
620
912
975
271
859
804
390
350
67
99
482
597
178
217
717
108
405
518
464
153
316
601
395
192
89
765
723
29
313
927
231
385
818
196
517
953
140
181
505
332
193
417
187
172
634
497
229
79
915
560
750
433
158
202
151
439
442
985
33
88
864
269
888
110
595
52
531
465
973
806
566
383
770
230
904
313
596
970
144
873
11
25
638
916
327
970
599
420
717
162
150
651
514
519
885
745
909
141
377
283
287
853
243
721
65
575
598
186
410
222
503
26
104
463
3
878
334
60
607
647
253
261
176
76
69
840
727
645
902
635
358
630
621
105
58
582
879
691
870
223
778
80
65
107
844
388
550
195
945
247
711
111
303
570
235
547
897
903
939
58
1
876
930
228
383
956
122
373
227
32
305
312
986
257
268
631
761
272
734
584
104
830
323
715
413
789
855
526
943
232
785
131
49
831
767
18
614
575
712
621
703
907
367
338
478
947
996
30
354
434
526
528
979
831
180
768
771
665
970
175
677
2
965
365
940
847
589
767
892
143
357
30
866
603
302
935
532
898
767
454
373
616
825
663
112
859
306
801
13
212
248
320
149
159
669
448
540
169
740
120
734
870
740
123
273
370
464
304
502
192
935
198
991
178
767
755
56
858
614
73
319
921
592
975
573
410
193
642
397
737
821
514
584
883
723
201
298
118
168
227
500
643
476
239
488
357
366
913
454
805
622
917
286
614
525
577
117
575
35
93
870
253
466
87
707
217
108
925
295
974
808
623
821
506
26
580
841
647
474
30
655
241
989
458
341
810
518
496
48
243
952
0
204
335
439
932
45
249
259
66
730
391
282
672
753
801
679
191
170
59
540
72
993
840
141
862
864
686
233
43
56
988
247
142
524
624
716
188
942
517
64
421
978
261
581
278
351
312
790
7
455
793
659
637
344
547
824
281
170
768
627
631
35
920
134
920
849
570
675
48
277
446
619
865
608
918
945
814
670
976
456
824
539
905
749
904
761
468
845
640
883
298
901
632
705
348
50
540
22
831
310
59
1
407
953
907
439
705
27
241
107
568
669
899
669
404
339
461
678
781
824
725
501
811
799
943
981
826
291
44
489
11
671
775
773
686
343
519
342
196
5
478
368
233
694
331
679
12
224
318
824
248
810
944
427
930
709
456
927
426
821
750
717
545
432
774
897
22
610
372
148
251
508
450
60
937
273
735
257
468
485
509
713
424
880
94
315
818
689
456
998
210
383
951
864
92
66
169
174
588
557
234
470
506
304
7
361
160
344
243
405
416
668
336
683
970
940
242
49
732
569
930
980
230
649
19
559
270
114
506
64
242
73
326
609
836
136
558
298
562
721
66
199
493
802
930
198
776
905
297
211
946
501
71
84
957
863
489
518
659
35
660
905
579
452
877
805
800
428
754
323
839
133
496
155
169
10
89
662
748
649
922
20
709
32
889
785
720
121
94
441
804
484
590
445
64
845
573
84
102
175
138
513
771
137
198
57
138
771
108
5
476
376
485
79
517
671
327
887
571
164
482
504
854
286
328
515
196
215
556
299
89
975
664
867
330
450
977
939
306
252
237
509
968
152
327
47
615
475
652
11
686
950
928
200
45
114
754
784
495
929
435
605
603
895
602
712
812
96
147
641
28
45
546
399
170
730
220
59
996
229
600
40
438
219
728
720
829
29
547
443
699
77
136
621
789
251
987
869
338
580
612
757
188
206
313
630
151
906
108
771
671
782
592
528
582
622
728
15
568
668
760
850
351
24
930
894
624
782
107
195
468
460
753
180
674
500
145
544
666
960
341
318
40
480
193
164
74
829
822
283
973
690
910
939
896
977
928
393
790
674
704
12
481
806
650
520
577
87
999
700
362
805
583
770
439
875
952
287
593
690
713
926
582
887
812
765
9
884
92
21
836
168
507
879
930
174
343
729
459
538
449
625
502
388
201
225
327
723
20
765
318
55
207
837
722
367
785
879
50
572
140
626
347
389
417
931
407
825
523
34
799
301
539
184
969
313
557
650
887
588
861
859
694
431
874
742
241
30
261
304
685
426
771
798
716
567
958
779
104
130
349
812
779
463
95
431
251
6
13
4
441
525
412
754
335
438
110
109
42
924
980
115
906
798
3
747
920
628
567
122
22
243
195
804
373
123
347
127
902
130
796
481
929
903
371
999
580
560
760
827
387
268
897
229
373
211
276
170
620
936
441
976
308
144
451
655
151
918
754
234
111
658
533
879
172
112
42
546
769
231
753
916
27
381
234
3
383
797
206
205
859
201
145
942
233
28
591
744
514
116
191
160
636
119
61
45
991
717
558
900
53
390
554
192
938
150
13
985
609
952
99
463
586
872
559
387
218
775
903
682
932
6
869
163
591
896
563
16
566
940
991
103
143
209
888
753
98
683
987
873
628
853
718
520
1
69
280
958
893
466
671
768
109
131
698
976
969
64
979
282
570
196
266
685
41
774
459
589
665
463
10
658
374
328
97
993
984
73
649
53
135
29
921
544
503
881
910
843
707
384
945
626
397
35
898
975
895
529
839
183
156
87
450
487
218
57
679
98
266
519
754
896
672
328
623
97
849
713
736
360
330
367
464
510
517
45
293
741
140
418
428
647
809
299
510
356
720
852
989
203
524
599
637
875
938
388
420
619
64
804
84
331
213
798
245
470
903
232
142
119
624
700
240
289
717
282
215
66
904
676
339
34
771
588
740
334
854
905
684
461
94
90
800
703
816
120
443
20
791
207
564
231
77
526
581
108
92
420
690
137
287
649
657
232
43
290
840
312
157
298
412
224
313
456
112
613
499
608
527
327
626
676
260
335
790
884
645
411
104
521
411
90
581
728
50
885
815
608
891
681
63
696
332
364
811
627
797
69
460
642
828
898
143
579
30
621
116
826
713
94
299
896
886
23
324
336
835
67
798
611
90
895
517
264
214
753
691
588
182
336
210
843
946
647
95
836
137
440
878
634
868
344
261
406
822
226
331
296
516
300
700
332
420
526
755
562
527
580
601
599
943
12
936
197
441
996
332
859
484
604
464
783
411
23
993
108
944
331
399
515
409
597
466
461
859
723
315
703
93
828
395
491
3
670
593
406
692
399
722
634
243
453
975
235
764
589
917
830
568
990
139
719
911
827
915
217
698
920
293
813
134
694
131
885
749
258
946
285
695
869
449
627
951
291
11
818
280
1
40
761
417
620
777
543
167
869
401
471
641
505
592
404
301
544
136
858
136
135
477
968
367
683
294
576
710
850
596
420
940
251
186
978
752
771
243
287
917
72
428
405
960
665
181
683
768
680
854
35
586
714
620
8
907
109
87
603
628
161
74
541
219
352
124
188
571
982
482
760
47
289
615
464
471
416
579
509
754
813
757
559
458
86
876
299
258
364
762
524
425
340
280
940
219
840
657
399
156
25
505
846
979
367
212
718
480
137
156
593
481
862
954
105
180
820
765
337
809
622
840
352
727
695
490
997
514
752
237
222
829
701
345
176
926
150
276
572
660
224
189
863
987
266
570
735
791
198
175
418
426
753
229
595
432
810
440
501
186
78
768
668
386
373
148
83
329
259
392
915
137
206
814
313
95
486
527
419
387
457
385
687
205
27
839
822
490
381
526
816
817
809
606
825
549
377
744
851
791
545
939
553
88
328
446
43
101
227
653
1
149
172
773
189
851
433
390
165
170
358
702
554
54
103
579
460
802
904
151
45
859
207
234
332
426
914
326
89
153
714
71
437
2
303
223
356
503
613
981
420
782
77
474
697
936
249
699
820
875
186
441
182
976
702
964
157
20
549
764
121
259
87
969
561
505
268
79
230
715
337
800
220
809
134
149
735
822
779
20
824
597
992
755
871
160
507
323
228
56
43
982
389
661
994
685
639
443
751
72
201
760
247
951
956
838
924
554
838
983
45
97
608
539
540
477
233
719
461
673
551
2
890
830
925
225
871
658
481
576
605
546
37
140
67
743
443
222
966
252
129
776
520
985
239
139
912
583
336
905
320
964
942
336
331
74
939
632
770
136
351
816
78
786
365
815
588
67
255
411
480
118
388
427
324
342
693
472
833
120
874
664
112
57
738
262
576
104
394
562
366
947
993
855
327
512
359
579
577
861
902
320
408
746
873
612
916
615
329
208
934
353
207
678
480
475
172
974
617
544
295
762
929
99
211
373
446
933
390
500
551
171
447
28
183
563
833
801
77
514
848
132
665
910
176
789
266
691
329
710
323
745
322
887
740
728
529
748
858
474
46
280
409
878
641
880
334
821
118
803
679
171
700
902
350
187
432
313
552
32
63
649
788
820
955
480
557
518
214
325
949
955
65
628
364
818
25
409
156
589
939
920
282
419
334
313
420
11
135
445
760
750
211
495
56
843
951
862
448
867
364
127
988
640
732
345
698
74
987
856
533
279
322
713
548
108
386
408
689
7
104
391
156
499
778
348
928
237
224
806
594
985
1
309
681
15
886
660
554
875
823
410
704
949
788
531
431
944
949
358
881
252
508
517
428
410
397
254
313
4
971
816
856
151
765
101
622
937
657
770
178
70
853
92
630
27
59
963
970
140
493
651
350
434
386
985
21
585
114
54
935
10
656
360
332
405
880
869
823
793
255
505
369
362
15
916
843
914
684
541
104
914
391
99
775
777
650
160
761
447
133
293
382
663
796
309
656
324
613
335
924
407
280
503
592
35
763
256
125
311
160
137
804
149
133
838
498
439
552
451
848
451
321
3
221
931
579
121
166
482
880
204
279
137
566
558
662
146
342
151
189
150
752
244
601
275
604
885
502
233
214
689
109
230
479
531
587
954
6
909
386
894
513
423
806
986
648
747
357
641
929
445
700
392
647
905
516
549
349
696
21
747
82
874
377
22
770
63
479
139
936
339
561
907
552
232
228
409
462
486
400
107
863
128
18
764
415
818
493
180
844
793
225
276
971
70
347
512
760
630
893
515
410
700
341
849
552
978
88
442
883
0
131
490
419
409
62
67
542
688
217
910
214
639
869
912
703
413
185
875
192
21
105
987
246
857
564
67
402
22
551
669
654
529
876
244
4
622
134
647
518
442
422
551
571
6
106
956
73
542
38
377
968
100
435
344
757
969
914
66
555
781
114
181
222
785
265
439
6
51
778
111
819
437
5
768
273
154
169
873
739
295
407
612
635
796
283
906
625
13
40
816
689
181
127
848
885
6
114
338
225
437
390
193
27
686
157
983
245
172
376
507
511
487
735
621
583
338
878
268
700
818
67
986
182
829
264
370
833
238
43
934
692
337
990
867
489
273
780
504
762
162
901
154
847
449
828
506
563
705
808
81
40
320
449
317
442
440
161
524
375
637
367
613
419
627
310
986
438
989
305
319
831
283
700
911
545
708
472
467
558
316
445
152
973
229
314
112
666
33
898
7
835
584
88
19
20
333
358
304
338
493
741
155
460
553
373
157
279
553
633
12
980
390
489
794
336
522
525
514
481
741
11
703
420
354
647
673
471
532
758
297
996
390
564
689
991
38
622
519
770
689
998
404
502
255
66
762
714
996
106
231
634
603
935
16
119
390
364
472
252
256
504
143
715
585
734
805
22
601
825
198
456
250
995
736
248
760
458
448
658
921
628
690
634
442
19
816
883
119
449
378
613
445
699
780
300
49
4
954
188
472
290
354
194
788
134
205
34
646
543
935
931
995
770
203
116
49
104
137
177
329
185
648
23
24
391
406
112
892
923
430
116
958
825
369
64
222
182
217
87
408
935
392
193
708
787
696
947
624
670
112
387
582
711
784
784
129
923
729
684
324
945
139
67
906
690
761
638
855
345
258
864
938
80
367
893
537
550
432
768
221
12
113
703
68
986
403
764
633
272
163
967
37
796
35
620
851
521
797
394
83
831
348
911
505
186
581
488
344
291
372
248
170
392
750
747
941
499
764
39
91
660
377
300
780
581
102
501
322
346
572
602
689
291
233
704
908
190
0
184
777
772
784
937
57
40
211
302
787
212
438
295
961
431
641
850
622
246
668
37
864
335
886
233
114
218
881
757
306
201
852
254
988
836
920
833
760
663
844
55
663
183
548
430
619
804
922
232
93
570
403
599
865
828
324
584
346
989
175
336
837
420
126
772
858
201
911
971
307
458
356
307
654
173
994
138
11
877
76
192
460
751
902
796
642
629
167
406
716
552
162
158
725
989
778
301
182
2
946
356
397
621
785
212
157
298
861
921
571
715
973
786
29
419
501
223
724
988
281
509
276
796
622
132
749
595
940
282
742
474
233
897
710
389
237
682
881
565
750
919
894
994
811
541
418
597
32
549
335
310
583
393
348
469
523
129
427
405
321
145
200
597
144
826
416
721
577
643
370
58
326
482
786
816
104
42
762
771
541
855
232
91
913
820
23
717
837
190
809
31
304
43
455
796
965
342
977
93
874
328
992
845
14
473
399
968
868
172
65
334
949
382
633
131
657
745
676
947
284
963
649
460
874
86
73
15
402
501
513
915
550
320
274
993
810
444
902
377
813
382
510
296
377
211
467
354
980
342
48
597
651
232
182
161
509
371
926
395
831
684
231
493
182
308
487
846
164
379
318
70
586
973
606
215
145
377
62
506
177
748
566
213
165
326
312
567
42
889
688
725
386
815
762
827
827
263
927
283
278
111
701
270
786
370
203
172
193
929
612
238
788
839
466
790
819
602
911
88
635
904
966
427
417
699
64
518
35
981
647
38
507
365
518
307
196
42
846
392
780
354
877
365
288
969
260
837
840
968
143
751
821
379
621
510
825
375
822
53
820
592
507
437
844
777
0
173
744
790
966
320
361
782
790
291
768
597
212
429
862
741
249
625
180
389
795
407
182
645
643
23
795
206
270
612
931
813
754
732
401
13
81
390
987
720
906
524
523
860
396
22
9
430
279
937
201
197
346
609
92
570
154
339
583
15
957
554
792
537
414
817
631
190
706
147
586
862
269
913
603
486
255
364
366
294
240
121
752
647
359
276
787
521
518
572
619
156
944
641
869
833
354
634
62
637
728
985
934
707
862
263
525
877
742
894
883
943
131
728
638
592
47
8
790
828
220
106
165
244
566
242
179
85
482
925
993
921
519
229
562
854
536
105
174
43
157
341
830
618
998
163
447
837
414
636
801
171
595
173
952
794
299
124
575
233
816
48
314
13
237
190
29
516
332
396
397
184
588
816
915
443
220
412
471
339
422
493
558
88
239
831
69
221
675
522
751
764
414
991
874
722
780
414
501
392
806
335
69
204
802
679
41
665
108
511
577
589
639
406
369
648
317
451
863
800
552
889
857
790
568
798
981
885
28
475
820
746
104
297
807
235
367
62
925
519
529
908
219
872
882
781
975
148
256
756
447
478
898
169
23
355
144
344
972
930
837
111
649
135
831
721
397
600
292
547
714
281
614
989
61
337
589
753
950
82
981
530
807
841
524
506
203
875
81
408
893
859
427
710
809
60
314
57
570
907
956
316
26
16
317
65
438
136
567
142
393
376
673
981
830
828
209
428
886
698
472
179
550
748
257
671
297
650
489
668
881
709
314
257
461
265
771
503
73
373
25
58
444
916
661
225
228
16
420
889
246
410
197
371
349
799
656
983
351
258
808
400
122
36
82
469
616
265
989
864
781
617
309
769
181
596
540
493
936
829
181
500
14
775
829
45
7
662
397
367
355
735
255
72
659
167
650
433
481
901
985
606
873
690
863
491
476
893
104
47
10
374
278
230
512
923
260
411
739
436
188
246
154
422
290
54
601
126
619
697
796
383
27
518
828
506
48
809
457
963
125
966
950
117
62
811
176
396
3
659
893
680
274
81
282
445
337
180
256
292
445
71
301
406
220
402
479
214
813
400
909
773
233
301
36
295
616
167
649
940
601
111
810
986
367
383
677
485
696
858
442
260
546
796
952
408
809
763
839
226
711
617
987
221
235
602
183
558
678
737
500
449
537
347
818
816
975
362
326
754
462
233
575
962
612
628
499
849
249
639
177
81
68
314
382
549
2
572
913
344
218
807
402
436
922
263
338
318
455
78
272
657
29
788
725
370
16
669
260
59
939
306
599
208
966
664
961
813
934
808
61
694
943
213
864
352
623
646
510
495
894
77
990
62
905
721
116
264
424
274
562
183
398
144
201
596
681
946
928
415
765
716
178
658
864
450
641
114
89
953
954
217
189
135
153
19
738
414
181
538
127
403
638
406
719
543
296
397
837
783
220
802
451
403
957
611
459
652
955
37
205
354
235
341
41
462
230
409
953
997
952
560
251
741
847
341
424
195
972
646
558
776
827
923
82
764
34
474
577
553
269
237
369
143
632
782
542
118
110
416
733
390
138
999
38
493
813
681
704
131
87
270
599
711
807
732
512
3
14
573
404
104
490
106
271
574
959
407
478
865
239
414
32
386
474
443
454
49
74
994
77
190
223
648
173
365
823
48
912
732
770
223
285
711
659
926
644
909
538
182
569
29
494
969
195
804
854
299
798
851
596
143
157
412
702
520
121
936
999
899
526
524
727
985
663
807
574
926
286
462
136
285
844
771
161
289
598
125
59
118
766
819
358
732
87
28
90
169
45
441
707
190
998
740
595
348
6
139
456
236
938
691
574
194
40
621
415
646
627
492
616
729
717
178
949
899
881
381
670
707
227
384
756
721
393
2
940
712
31
386
562
724
944
662
256
838
321
187
874
266
272
389
653
556
918
971
377
94
276
966
975
571
589
645
206
307
388
332
286
566
947
82
454
319
136
662
308
701
606
334
896
669
809
78
826
304
81
469
911
807
934
500
689
377
267
18
378
931
537
500
399
977
709
970
714
342
309
810
641
911
929
444
124
447
892
717
183
691
195
549
896
764
287
849
26
973
820
247
960
917
708
393
293
934
304
424
941
745
378
617
485
206
26
233
736
65
105
949
344
942
126
329
756
38
574
494
629
222
547
505
596
934
754
987
37
20
64
612
134
149
204
887
725
505
866
952
864
740
113
97
239
390
476
899
297
153
721
266
724
265
276
123
549
6
474
136
579
844
91
522
21
322
70
555
769
201
156
455
525
595
14
88
585
562
731
987
127
489
906
909
25
348
874
740
222
823
968
455
734
466
525
469
979
776
857
571
186
419
668
368
279
50
302
112
343
820
241
549
142
517
82
862
479
953
170
196
285
997
764
52
929
547
100
815
465
737
155
202
919
175
113
651
866
37
992
477
604
324
81
676
579
772
222
835
444
290
709
692
942
837
875
49
526
741
483
365
310
942
179
229
187
464
645
270
325
482
400
443
848
790
684
240
543
419
107
650
881
422
491
486
553
742
213
814
127
879
634
222
653
207
564
574
95
343
553
199
82
37
912
273
574
662
64
841
411
178
854
629
80
763
354
559
894
499
32
771
897
361
187
467
655
552
384
525
373
514
446
444
127
868
161
487
128
463
919
487
72
837
85
263
129
74
203
208
490
78
243
60
650
627
579
741
452
67
827
174
629
376
497
977
739
629
97
482
537
875
788
391
83
611
244
12
271
729
32
154
807
332
184
348
961
12
146
906
459
867
766
764
819
76
172
536
522
46
561
140
215
517
504
584
735
706
465
645
440
321
354
616
602
911
974
799
847
229
980
173
932
509
565
197
948
433
545
479
540
601
210
970
625
328
541
557
465
731
730
40
723
791
580
872
631
730
817
69
560
809
488
163
360
431
256
181
782
517
975
567
206
752
542
93
183
894
668
569
920
264
527
552
417
697
697
362
750
819
534
347
121
803
599
309
20
373
871
876
519
934
583
944
764
236
218
609
799
344
917
966
903
124
510
438
987
853
958
469
986
127
689
400
779
766
28
494
670
363
450
811
282
969
993
346
541
369
806
436
497
677
815
545
311
838
774
807
925
834
255
229
170
804
746
344
74
460
294
407
410
495
753
262
240
192
899
23
485
299
195
653
117
532
161
531
723
199
700
754
964
295
547
165
487
273
858
582
617
641
146
213
400
3
80
396
755
304
229
570
562
897
588
514
589
880
524
467
396
772
320
500
572
561
322
477
380
514
441
272
751
2
92
649
542
641
548
640
390
491
910
406
231
348
735
682
250
985
638
21
757
873
663
610
407
862
664
434
138
929
726
976
931
956
850
265
20
533
892
654
766
874
917
520
713
244
703
574
920
289
91
956
746
133
665
482
924
30
630
594
160
122
696
611
16
554
962
800
914
65
29
194
111
217
727
185
168
402
808
267
374
473
542
189
891
100
412
45
610
527
864
337
17
266
857
395
528
72
792
627
623
630
476
257
927
525
119
388
460
923
413
975
939
150
995
828
166
411
220
122
484
782
795
577
912
780
243
786
139
774
424
341
612
686
883
51
601
606
672
44
343
902
998
736
418
193
673
922
616
195
26
711
351
792
298
872
787
117
839
814
316
971
712
763
326
464
352
401
595
454
752
643
209
225
497
542
474
793
698
971
165
251
140
204
373
870
601
452
272
652
77
196
656
906
253
235
279
276
70
459
446
442
64
938
358
78
522
620
366
152
316
542
910
634
704
674
176
310
878
182
816
151
377
985
233
924
60
980
650
371
622
903
654
468
794
803
732
177
526
534
12
567
614
914
925
45
59
50
831
284
513
277
407
572
64
132
134
562
506
971
500
393
46
742
897
680
345
173
347
484
94
870
767
836
100
692
426
635
916
581
937
752
527
254
233
169
981
508
52
275
5
399
835
325
230
735
393
774
182
827
920
382
487
463
451
644
22
577
909
715
996
172
574
768
410
446
527
948
771
504
339
595
754
438
133
995
384
827
573
771
601
788
813
68
474
904
702
239
729
481
405
432
808
394
948
810
26
606
274
392
890
368
649
463
390
580
747
711
181
167
817
637
562
485
562
108
778
86
137
895
165
51
257
989
197
20
428
126
835
159
906
493
997
736
883
431
375
601
40
855
602
931
150
349
502
875
548
126
461
410
514
204
294
870
985
817
929
204
213
447
401
593
946
358
189
175
383
125
57
525
612
437
183
362
525
990
91
447
787
26
682
616
123
350
138
607
680
744
137
567
513
251
362
814
671
601
22
574
514
752
825
705
196
303
447
933
769
150
574
281
870
338
977
830
181
91
361
900
950
786
314
305
657
318
758
439
401
244
350
376
582
783
401
530
455
983
669
207
940
379
68
683
619
364
408
282
661
482
285
187
932
136
645
231
527
274
292
30
809
820
147
616
975
524
905
819
748
100
736
968
832
548
514
134
564
222
51
155
668
516
916
199
575
637
350
705
332
824
968
719
912
896
464
648
980
478
653
641
594
592
531
354
47
766
691
629
573
699
864
49
432
441
14
365
537
753
102
491
434
105
770
414
604
668
517
721
283
75
748
720
680
709
199
241
993
151
99
891
183
380
9
757
122
642
412
782
638
96
163
512
229
468
945
144
141
249
26
16
657
804
254
333
928
555
665
930
269
785
452
224
286
715
106
222
430
211
636
155
34
55
438
872
538
892
335
909
984
126
354
388
26
277
59
115
219
658
432
73
150
809
741
900
834
401
143
690
129
452
646
53
934
373
803
606
27
952
28
781
43
480
411
703
483
339
30
471
164
905
589
523
617
116
314
97
266
505
984
286
303
561
748
468
490
306
489
179
141
572
870
900
810
272
193
335
706
967
676
102
274
583
865
488
373
458
377
807
910
385
310
498
314
617
574
3
751
163
34
195
914
26
909
663
288
177
195
884
44
854
6
624
104
487
832
284
381
403
609
67
190
324
339
897
266
949
935
651
218
205
996
38
146
434
163
448
709
456
475
659
861
336
935
587
120
30
775
278
121
178
519
60
480
915
547
398
808
824
688
943
958
870
362
248
391
120
787
648
944
449
641
479
403
461
44
655
822
7
921
899
702
193
319
186
953
314
978
537
832
599
562
175
772
836
701
964
343
149
889
994
308
46
379
156
866
935
225
484
792
329
937
860
995
245
236
724
653
631
499
127
561
95
488
23
662
468
748
609
649
184
131
590
885
936
757
49
406
685
80
524
916
577
188
758
922
536
465
138
167
717
562
163
38
847
232
150
735
469
895
400
736
339
806
631
815
389
556
623
282
500
318
816
436
695
154
985
829
219
620
2
710
936
261
995
319
349
229
559
371
645
869
732
86
738
263
571
343
292
363
418
582
26
699
262
565
775
970
384
817
276
644
103
608
499
39
406
128
914
590
493
125
478
403
335
4
67
801
262
32
92
818
538
68
37
177
431
316
619
651
472
10
242
322
447
695
418
299
414
946
568
403
787
868
401
835
210
356
491
819
338
146
883
133
479
549
572
48
658
675
584
990
194
660
275
595
790
887
327
257
565
526
404
114
704
515
167
842
885
602
777
433
320
259
284
329
27
594
927
59
993
912
316
848
204
208
768
624
338
558
737
563
339
289
146
100
192
843
391
449
124
685
876
410
117
285
36
882
106
793
566
190
54
197
549
832
83
506
373
634
110
296
897
195
936
822
871
732
985
175
664
225
278
908
729
512
689
691
820
996
798
958
145
428
639
242
717
379
182
332
184
73
748
362
867
902
74
520
449
818
360
784
518
672
297
139
117
939
820
307
903
443
306
134
702
176
509
195
800
529
544
195
950
343
337
203
354
767
546
892
299
585
89
938
341
128
602
731
996
358
236
53
840
200
624
678
25
284
981
975
590
35
870
454
47
243
10
340
565
139
780
455
651
880
834
45
770
769
75
432
958
749
418
472
65
164
229
618
661
601
531
200
760
104
259
745
892
70
843
739
64
771
145
558
723
573
232
411
749
112
757
540
843
765
898
453
78
562
980
146
332
390
123
632
74
145
788
606
642
132
546
508
228
228
235
749
359
304
144
669
126
800
323
192
97
803
927
401
512
732
832
343
658
797
215
116
337
491
146
376
683
534
543
644
297
394
416
681
30
256
363
890
631
337
385
536
989
719
263
104
22
168
846
742
260
374
110
387
298
792
109
586
414
1
956
36
40
43
622
911
96
752
137
417
51
969
421
395
470
69
491
856
263
276
666
473
290
826
322
594
944
592
987
185
919
104
282
627
170
361
336
147
968
781
910
895
687
627
389
998
860
908
679
905
614
559
579
377
703
637
315
278
575
269
625
409
705
743
700
178
572
96
898
708
651
509
707
59
71
730
486
983
954
991
462
262
77
795
623
227
646
496
39
964
578
709
198
987
405
130
104
871
856
591
402
12
819
466
97
70
546
611
660
912
295
139
417
375
621
147
217
969
318
893
829
547
179
298
130
865
981
988
210
108
172
828
768
400
920
85
598
312
14
694
259
694
495
710
926
825
243
773
580
524
729
553
624
150
400
4
902
833
840
8
985
857
841
551
563
105
570
186
289
889
720
598
380
714
836
672
649
915
678
28
45
816
986
167
58
355
390
171
620
620
899
241
376
153
632
283
894
175
646
564
184
724
509
26
702
403
238
54
469
722
614
426
855
256
296
122
103
999
828
373
152
52
480
308
97
284
38
956
507
361
499
270
331
413
135
456
711
950
160
533
420
711
145
967
895
538
265
495
256
533
710
485
784
674
875
825
590
797
76
381
412
44
786
754
234
2
180
196
873
97
538
720
799
406
526
213
335
631
914
793
130
878
139
416
307
966
582
685
582
51
666
73
760
27
880
841
216
374
422
928
864
220
600
773
868
751
536
809
297
18
639
138
227
282
529
875
238
788
686
807
450
188
815
662
94
267
766
86
590
18
494
249
120
807
861
918
559
312
217
940
611
683
24
751
851
920
487
381
764
63
243
557
372
370
703
662
949
493
439
593
74
74
467
933
255
912
826
571
268
522
890
170
195
791
931
905
401
970
617
93
399
205
694
391
518
585
759
280
657
129
238
474
636
250
895
386
538
920
63
932
653
754
475
975
429
864
153
716
532
199
460
993
579
448
971
109
730
163
7
1
197
92
347
741
306
640
154
62
596
889
726
636
495
311
146
560
847
750
125
626
101
779
965
66
127
162
138
736
34
93
781
296
34
776
320
384
702
343
870
869
804
251
947
795
334
573
703
448
681
310
113
424
564
560
151
974
917
30
293
93
763
661
114
558
745
715
714
551
951
664
711
848
640
132
380
871
932
338
755
952
467
6
656
520
207
985
83
869
410
995
130
142
721
366
837
368
868
274
992
957
548
409
609
725
235
269
420
342
736
850
628
771
20
783
510
10
112
895
885
985
44
132
444
524
99
425
765
838
830
100
786
394
308
427
612
223
389
927
52
40
664
931
945
933
113
0
412
712
787
597
126
689
764
712
59
479
745
775
708
120
251
18
443
18
287
665
19
625
910
127
227
848
403
705
523
790
754
864
521
272
897
453
756
32
549
354
404
685
561
420
412
810
381
157
105
500
996
662
305
777
231
906
137
878
617
212
570
707
542
457
837
306
192
262
580
763
382
19
581
449
368
141
353
283
541
684
265
737
510
808
263
92
134
886
268
748
357
544
250
565
369
387
336
751
989
656
293
751
912
801
268
567
441
138
308
12
171
698
290
19
875
86
944
339
514
318
935
685
214
514
681
162
422
489
852
538
109
548
992
814
712
794
922
54
686
168
452
88
297
569
342
739
470
695
516
982
515
956
252
893
22
564
445
106
6
963
651
945
389
130
800
859
508
42
488
355
902
450
959
894
131
167
72
782
736
384
373
147
545
156
558
330
821
818
247
450
137
252
799
699
447
854
631
406
721
541
870
373
855
205
949
848
792
206
457
873
208
407
165
526
944
135
299
745
31
511
352
696
345
695
532
205
728
315
286
586
572
999
105
598
909
810
262
459
676
738
827
793
865
412
305
180
381
891
318
936
126
236
511
33
70
69
766
78
699
745
226
155
503
549
698
52
986
934
300
913
664
921
684
866
770
317
518
435
530
851
361
235
886
966
967
812
904
553
439
391
687
230
330
289
931
384
292
345
925
514
236
763
598
225
425
931
926
587
793
673
531
303
137
681
999
757
273
647
834
555
196
683
57
358
837
964
694
88
243
316
881
686
841
119
160
271
400
0
955
620
393
177
147
509
727
890
619
740
776
368
920
897
424
787
936
983
677
879
104
361
901
110
791
662
384
90
897
493
166
472
752
589
159
427
71
487
889
702
764
960
812
909
582
933
504
877
675
7
613
839
231
438
14
249
391
288
691
278
433
731
911
919
440
660
657
182
818
119
298
188
659
631
98
177
626
406
382
579
248
138
921
15
87
965
60
396
53
280
956
862
412
563
431
690
698
334
854
54
458
604
535
508
940
815
245
418
169
48
319
264
703
388
358
8
602
695
132
519
706
730
600
643
229
265
898
750
98
840
604
320
622
896
749
178
339
924
235
796
807
555
518
634
76
722
106
283
231
964
148
167
645
441
819
205
875
126
818
808
540
61
48
48
501
238
484
499
563
988
275
884
784
802
891
57
204
729
840
865
653
742
106
766
456
962
765
772
428
816
789
667
322
61
364
91
755
436
302
777
841
164
529
713
46
572
397
533
566
176
221
668
544
855
822
867
247
879
118
919
130
99
786
114
385
183
833
264
471
333
558
248
286
982
69
944
940
643
943
286
194
992
949
911
506
962
558
834
944
679
700
492
495
645
919
6
803
45
945
301
507
314
653
362
636
537
895
763
587
687
175
349
851
42
111
290
72
459
387
458
28
508
754
466
376
215
301
795
95
461
460
867
12
746
498
624
929
958
510
219
564
622
3
651
482
275
638
733
251
885
371
655
563
555
34
704
965
364
432
657
877
678
222
785
173
658
390
705
781
216
383
194
318
703
627
8
521
776
871
216
190
147
511
15
460
34
970
753
944
503
129
316
621
709
251
103
177
779
566
747
122
851
914
304
940
815
274
198
637
475
911
855
630
893
882
493
201
63
699
434
776
702
180
737
130
281
757
621
214
910
586
476
121
565
87
251
799
574
437
532
876
846
140
244
748
578
589
48
64
566
861
627
914
418
245
753
251
246
12
470
354
357
604
145
772
751
289
497
236
10
413
224
819
393
164
513
563
14
785
455
955
223
222
180
608
984
839
876
799
979
353
140
411
836
178
646
98
306
652
608
5
829
287
546
299
539
778
841
48
724
923
666
371
795
130
386
966
995
660
758
182
115
601
66
320
287
193
99
519
377
591
290
539
515
283
553
521
41
954
66
647
572
396
988
167
723
62
858
104
629
250
402
970
153
145
28
566
270
799
838
153
518
922
400
465
281
658
991
457
935
109
900
748
408
434
107
774
17
27
771
894
700
777
787
193
357
993
153
391
174
43
960
670
251
891
92
223
850
838
740
836
606
259
674
651
272
158
981
841
584
54
19
279
560
980
621
125
928
456
828
938
235
526
455
359
978
501
636
701
678
858
218
186
502
209
534
630
78
490
524
382
735
896
765
655
224
424
375
341
131
12
374
853
791
477
796
288
525
700
859
547
80
27
42
92
802
914
907
581
838
602
275
335
518
455
751
934
299
941
110
98
781
877
401
993
249
284
725
517
693
618
45
897
88
689
50
280
62
522
416
862
258
109
257
463
516
232
224
185
366
699
322
302
689
30
861
890
524
805
353
528
444
484
872
758
634
732
969
641
36
702
984
51
997
847
25
917
972
801
807
540
403
988
931
278
337
891
275
747
940
745
88
63
659
756
693
603
982
654
932
39
675
168
219
962
148
769
376
420
215
867
182
567
109
58
62
564
826
365
632
433
662
901
500
168
226
413
380
756
174
78
413
221
82
140
53
161
21
352
806
673
185
295
364
142
331
346
527
200
521
702
997
66
724
357
705
872
410
48
602
270
941
395
516
649
48
612
486
117
843
356
378
234
838
919
894
487
608
398
952
439
201
575
243
873
939
432
712
852
93
200
946
555
488
982
380
290
983
483
823
867
510
918
37
544
480
682
352
529
663
164
868
917
19
521
80
176
907
15
226
236
610
592
808
735
678
79
487
575
375
951
236
230
621
504
169
890
762
423
583
833
534
850
447
898
431
954
497
577
586
918
676
714
571
473
831
756
962
453
787
854
735
34
321
151
992
324
782
301
611
388
207
426
928
539
653
403
675
247
454
844
118
234
224
527
775
559
907
12
372
493
907
436
65
766
242
997
735
532
636
80
402
799
591
214
73
387
839
338
249
590
525
509
216
888
976
220
625
718
264
340
369
113
42
473
72
10
785
886
749
511
289
965
942
462
93
896
784
654
541
874
210
173
457
344
273
770
629
324
82
246
916
182
861
989
179
428
546
118
518
916
988
821
610
566
420
280
62
8
84
292
20
515
452
636
411
315
991
163
304
24
447
236
405
821
623
739
248
501
336
882
255
579
967
83
544
600
350
638
797
755
26
707
984
243
790
642
374
600
374
597
732
621
877
137
705
451
955
583
536
325
448
645
422
773
999
491
837
637
246
876
567
57
626
161
173
352
269
831
514
205
814
756
903
155
138
562
324
787
530
713
948
699
291
898
654
527
366
740
170
106
258
446
972
487
237
699
479
373
459
179
954
303
411
325
724
398
457
197
702
570
781
321
838
956
950
773
857
778
112
696
437
219
143
821
542
231
464
727
798
957
418
592
364
362
916
939
878
847
922
260
221
205
992
336
817
804
349
589
847
787
309
266
625
953
557
176
651
313
683
862
756
194
32
826
154
249
296
583
226
47
239
915
901
634
792
976
500
65
353
50
242
418
189
393
0
955
678
838
330
313
175
682
577
444
9
725
776
891
370
182
316
41
491
282
121
243
571
111
362
407
709
682
494
322
880
178
730
62
10
126
260
761
496
905
673
63
123
215
614
655
0
509
619
557
16
706
435
409
905
809
296
906
590
510
595
479
768
285
90
417
235
975
870
731
706
638
168
959
706
554
199
68
787
50
849
972
523
773
412
410
951
631
124
939
531
957
805
178
124
903
537
243
239
461
726
311
645
513
444
952
486
835
761
517
30
217
340
324
820
848
656
858
147
61
214
828
943
209
779
357
523
662
802
698
32
570
953
39
530
202
704
373
590
978
859
206
252
610
754
935
276
969
793
686
322
212
685
505
26
46
35
68
834
165
148
709
497
614
529
2
574
603
236
793
154
582
802
935
996
858
852
476
186
404
69
466
123
969
533
803
918
576
44
53
925
931
161
156
578
726
392
931
155
330
605
776
714
507
992
609
682
368
851
766
812
287
314
298
45
434
196
951
239
973
657
563
145
390
354
572
404
791
512
452
819
400
426
91
260
177
369
347
610
539
499
438
104
343
696
639
427
445
937
618
713
316
435
526
193
808
407
560
724
540
655
947
555
119
393
704
770
857
513
639
429
454
662
426
37
944
290
412
26
11
328
812
787
600
418
17
304
51
42
944
58
623
977
661
505
802
473
607
438
62
819
132
146
724
962
724
952
495
726
854
48
275
0
994
481
115
946
974
812
472
344
368
622
6
821
910
17
777
639
676
773
912
109
859
301
769
141
903
625
783
338
798
208
348
233
948
105
390
312
584
885
323
570
800
75
534
137
140
435
306
595
827
936
691
380
765
533
967
481
165
784
606
442
415
971
59
935
8
534
886
793
491
567
761
408
472
343
690
827
278
788
22
463
284
46
490
209
284
550
230
332
10
967
279
561
641
568
526
711
634
439
580
873
397
432
563
453
287
793
464
60
555
841
220
535
852
370
587
968
71
548
900
559
639
366
757
858
834
215
699
793
344
108
856
322
462
768
447
392
421
864
528
97
34
79
405
936
129
820
446
356
275
141
759
968
139
273
1
58
324
593
562
191
132
267
69
833
211
462
864
135
20
263
664
679
628
9
52
579
557
26
487
987
124
111
298
147
763
828
46
948
672
655
547
82
160
668
347
169
477
2
362
369
955
15
32
537
810
654
360
956
499
225
661
399
338
899
897
768
626
82
820
413
637
512
677
75
845
219
54
720
828
534
795
154
888
190
758
295
232
412
148
22
494
955
879
968
222
485
326
901
809
497
468
323
212
921
325
843
426
883
393
726
954
661
359
994
558
772
491
203
959
490
833
491
919
902
502
420
958
886
170
474
903
595
172
339
672
34
996
829
74
392
564
675
994
408
722
333
28
290
490
5
642
176
972
614
900
349
643
772
963
845
507
51
613
47
193
496
713
656
285
650
430
34
418
803
973
365
274
12
145
792
927
261
265
726
511
501
69
153
793
852
87
791
647
486
497
22
645
374
116
131
101
645
970
274
821
981
657
916
772
618
600
589
848
672
128
827
329
98
222
790
472
554
547
531
574
558
360
129
52
218
713
714
146
731
318
530
689
166
946
586
802
533
733
687
883
121
525
487
638
435
347
707
582
408
433
94
607
834
177
471
664
40
748
833
446
756
32
885
520
761
129
569
694
75
422
153
685
834
801
903
747
623
433
514
603
596
312
170
609
300
807
6
107
508
935
291
367
524
11
410
347
129
875
409
760
247
896
225
199
742
800
19
683
839
568
745
655
591
496
720
287
382
105
166
106
243
722
354
499
455
616
183
538
712
685
935
618
703
374
687
548
274
901
587
133
67
357
660
755
977
869
470
667
794
957
112
393
20
519
97
911
583
17
944
742
217
289
958
116
70
92
300
60
19
897
701
331
751
181
312
855
285
783
762
74
771
200
32
555
845
509
248
834
27
855
475
732
673
821
544
688
571
68
197
747
260
940
994
652
651
666
943
730
124
20
406
412
320
399
233
222
529
458
192
484
961
890
288
819
188
952
558
763
781
344
302
501
36
604
689
435
586
350
8
758
794
451
287
466
996
227
718
903
15
686
744
957
962
231
13
860
610
55
79
46
882
416
654
555
130
888
534
8
804
236
168
505
748
564
930
190
643
350
467
47
768
157
892
884
276
534
668
624
647
400
82
850
837
811
660
11
760
864
216
627
545
477
547
35
469
623
7
293
167
176
477
991
981
953
643
319
740
918
253
736
67
858
588
777
863
484
559
998
625
108
83
545
745
744
950
496
293
830
395
644
0
181
491
678
862
418
285
206
695
508
293
658
483
725
240
406
422
697
46
56
273
732
535
997
835
34
589
424
69
498
423
547
445
326
714
16
585
1
953
344
176
217
637
540
238
818
58
403
217
803
18
422
331
857
721
774
959
407
438
536
11
18
563
598
639
218
669
388
747
910
231
869
528
70
934
694
711
572
994
631
454
337
333
492
126
251
524
366
955
858
826
209
559
657
167
266
450
987
722
980
449
228
175
35
688
384
523
493
928
198
657
644
520
928
201
856
596
62
365
216
233
473
629
515
999
977
186
165
955
442
571
562
789
882
603
170
918
378
569
869
489
171
540
682
381
689
699
924
55
579
620
101
531
537
322
181
247
704
87
109
681
181
454
480
57
97
434
708
355
477
731
163
852
42
658
19
427
685
119
34
271
3
786
261
897
400
909
593
575
243
337
765
378
237
664
558
591
604
116
59
605
198
686
417
674
692
109
281
611
419
908
135
685
514
830
677
65
932
856
32
640
118
189
263
376
652
767
179
302
744
835
50
483
19
918
84
584
29
237
627
347
329
243
17
38
220
696
484
655
787
298
825
924
350
763
129
244
921
835
375
506
430
526
417
477
275
817
51
120
946
869
126
466
645
268
796
34
893
366
754
322
486
691
172
86
642
255
909
40
151
299
421
916
917
139
13
646
908
139
938
82
379
726
801
279
54
227
366
489
59
349
998
723
550
291
470
207
352
64
448
41
301
455
888
978
430
777
714
835
722
46
220
451
932
578
460
766
738
348
642
834
533
538
565
121
239
943
573
954
162
264
84
487
464
986
97
896
500
823
402
67
876
627
498
262
988
157
300
27
933
379
841
569
962
168
33
539
555
669
64
509
359
488
359
813
209
279
989
354
117
905
486
904
513
228
290
215
462
358
330
336
721
240
292
530
992
648
294
899
362
751
318
596
346
456
608
356
653
871
462
951
425
553
35
148
48
872
239
993
507
13
387
498
167
282
896
918
182
817
950
697
257
926
603
195
587
954
485
120
61
365
315
151
207
46
536
865
504
298
223
547
571
580
995
769
834
706
369
638
346
341
706
810
135
454
288
555
747
271
287
842
792
641
712
356
331
190
971
207
375
781
274
404
298
513
21
158
213
609
755
629
546
30
653
990
979
915
563
90
508
874
782
943
448
830
150
471
496
876
46
442
330
957
997
500
425
382
97
521
5
577
724
299
91
654
41
300
409
391
808
623
949
543
523
424
261
805
96
986
58
948
591
759
117
337
14
318
46
338
34
726
723
96
511
57
724
51
16
225
466
683
347
508
980
967
572
773
300
961
22
81
339
897
665
84
666
632
333
675
240
630
348
189
78
312
933
267
713
361
79
564
727
399
813
305
781
828
251
658
288
466
676
413
866
396
707
456
620
456
423
445
553
170
731
95
586
842
941
566
289
316
997
607
451
175
197
520
281
215
413
702
584
810
272
771
564
674
975
800
45
438
952
142
297
507
749
434
467
681
375
870
921
33
6
729
913
111
720
90
191
187
339
566
64
20
645
944
686
486
432
745
772
638
165
996
70
984
164
118
491
255
901
158
691
361
507
496
825
977
933
608
621
855
689
963
227
988
617
773
954
150
814
531
250
436
22
62
540
614
659
860
784
832
497
782
673
999
545
371
339
225
907
581
844
773
49
764
638
568
734
436
177
493
922
616
855
371
454
132
180
143
713
597
590
504
435
187
81
362
92
162
548
701
925
41
1
821
963
559
771
548
764
447
730
631
10
268
442
951
337
265
913
904
553
808
462
621
318
735
580
851
174
176
127
124
89
686
192
750
564
995
591
171
505
17
705
463
128
589
943
79
484
545
772
348
49
818
541
947
402
308
99
14
190
910
182
585
645
760
336
539
214
328
746
305
302
315
347
465
582
871
887
767
765
475
605
260
953
944
493
629
671
430
951
525
147
651
630
398
302
46
557
976
64
883
434
264
238
506
930
474
964
666
724
50
955
653
197
104
28
26
731
954
450
41
868
420
12
812
76
647
220
73
229
303
421
898
201
606
513
839
994
469
495
781
858
219
296
545
520
529
593
5
77
320
98
872
765
997
951
782
365
545
818
114
752
69
543
599
797
785
554
767
480
466
620
657
41
686
993
564
964
118
468
303
267
869
507
498
54
493
699
810
90
389
101
917
336
923
723
214
991
881
328
312
683
927
598
192
454
435
316
240
568
233
135
118
0
195
503
517
898
535
856
754
382
649
336
620
831
266
607
599
455
889
440
5
802
243
626
835
921
796
228
763
748
579
233
251
519
334
428
975
485
808
957
630
50
126
934
249
281
784
830
582
318
816
251
835
562
614
168
544
253
455
55
699
960
897
146
575
114
488
366
202
292
677
8
835
366
813
189
285
181
260
349
934
407
559
796
167
992
135
544
753
83
106
602
160
920
882
179
974
414
816
798
841
963
641
537
473
922
724
543
855
42
811
941
75
352
615
11
679
326
959
128
399
13
431
278
799
481
190
59
509
964
281
478
794
527
30
624
889
693
776
851
673
350
507
333
102
648
128
675
557
153
927
786
696
859
559
805
911
155
839
640
736
106
218
866
750
170
276
17
302
55
836
45
474
69
459
356
544
504
927
641
630
19
511
537
180
938
260
928
22
56
562
703
966
374
868
830
21
191
273
673
176
118
424
408
156
612
531
72
716
276
581
897
21
298
462
27
893
595
964
849
13
413
716
837
980
511
201
111
9
940
842
308
480
485
2
928
365
13
362
742
367
412
125
317
238
698
898
705
783
283
74
550
881
686
555
369
824
488
286
795
981
97
73
494
22
581
940
884
108
735
400
29
0
429
427
19
370
291
998
636
613
628
743
415
365
344
902
62
221
511
524
803
46
794
104
653
733
471
575
142
723
142
450
950
227
257
795
981
587
412
442
246
689
460
716
545
69
445
804
486
171
675
107
389
739
454
513
451
264
450
235
871
143
100
112
347
111
946
609
83
222
410
273
446
950
585
971
571
305
608
921
240
722
784
152
427
307
143
437
855
513
825
238
146
542
676
572
82
543
449
291
49
968
356
846
872
863
558
255
101
735
801
112
277
938
181
327
205
609
894
43
525
919
759
98
683
613
978
456
551
208
214
940
780
987
370
308
425
601
898
614
217
279
371
322
183
260
119
865
152
786
553
880
781
9
566
628
44
152
402
583
401
180
181
517
986
562
859
199
548
780
670
615
275
963
398
57
140
130
992
127
305
422
822
993
45
23
994
80
530
119
528
506
923
765
156
798
451
510
709
769
787
761
523
120
303
762
961
516
976
214
403
253
204
722
438
236
446
909
555
469
654
854
918
41
152
981
881
220
409
135
443
478
24
601
378
920
317
183
325
94
300
762
818
591
345
213
415
217
882
147
90
17
746
189
668
284
642
906
283
616
391
23
757
694
59
26
384
458
82
201
362
165
20
21
154
602
703
9
179
86
229
684
82
361
734
36
671
373
887
55
958
470
599
111
461
163
997
394
240
782
651
411
190
271
794
116
43
67
456
747
573
129
612
299
16
851
609
416
811
201
155
871
837
629
22
74
965
443
765
89
992
119
325
980
985
516
824
262
615
781
1
32
829
428
529
274
805
27
490
785
651
502
213
45
797
834
584
812
362
967
494
581
835
429
272
997
513
678
454
262
525
270
585
903
848
741
239
450
625
231
139
726
557
792
289
464
759
755
639
958
528
390
976
827
389
110
253
579
657
929
205
462
479
654
597
773
20
444
727
200
735
236
641
615
574
576
197
17
745
29
939
649
914
539
426
628
555
356
48
536
384
14
196
753
263
682
501
396
288
11
223
158
541
249
310
727
293
890
270
969
188
960
335
508
960
594
623
816
746
137
942
513
954
962
601
392
660
251
542
272
550
443
112
510
254
763
360
409
830
115
350
418
595
936
482
150
112
429
347
53
511
705
861
688
587
722
893
63
650
535
32
36
379
353
139
222
80
873
985
704
481
767
936
166
926
45
967
534
815
362
103
307
554
745
556
183
695
177
713
400
818
413
383
21
816
345
64
895
172
63
30
499
830
333
307
434
580
884
409
492
418
246
298
638
986
554
981
331
798
165
53
338
644
248
657
305
441
162
759
826
371
629
585
559
935
865
741
996
90
147
313
419
200
322
947
356
186
322
712
945
406
203
282
660
791
531
272
97
739
466
112
374
966
635
826
365
396
718
420
790
786
396
386
145
555
781
976
933
143
487
763
765
766
315
730
945
22
200
552
432
997
993
421
916
138
504
607
66
813
245
791
844
994
568
707
552
934
775
858
27
303
467
227
29
842
997
653
533
401
173
987
638
415
572
990
875
971
745
481
368
192
777
80
274
292
12
542
526
917
868
0
401
635
963
648
806
595
232
50
328
512
3
1
182
227
469
40
850
827
337
203
280
378
215
227
988
655
686
757
823
154
718
380
374
311
784
159
707
151
905
509
383
137
26
405
305
350
754
374
526
658
532
709
933
848
358
114
971
726
221
164
620
435
178
286
319
279
977
102
60
915
161
428
763
206
516
822
527
783
295
955
957
970
466
789
327
407
204
749
570
891
538
900
226
239
110
552
809
820
904
147
446
424
533
115
347
717
834
18
885
618
114
223
697
852
156
265
577
882
590
954
940
596
24
220
199
24
622
653
998
544
552
649
976
159
780
722
671
478
742
665
946
580
42
908
812
674
611
209
183
639
928
741
209
159
404
28
898
70
914
997
985
460
709
78
541
372
608
278
771
27
854
609
435
78
131
718
396
29
29
61
356
816
543
769
642
127
284
859
832
976
874
786
606
462
323
848
414
341
700
243
540
226
402
458
87
893
166
872
233
775
746
466
975
337
235
789
81
134
843
112
306
572
1
25
249
547
548
784
872
671
69
654
701
233
553
611
860
782
496
723
237
560
200
401
681
248
972
117
269
311
554
482
412
20
47
824
934
2
220
517
136
512
577
636
535
962
63
850
966
432
190
310
547
636
651
77
357
584
601
158
602
318
833
705
341
657
427
464
18
618
143
691
908
979
174
24
921
818
166
106
286
11
555
122
431
106
926
401
392
29
943
454
816
106
661
445
471
820
105
895
195
505
97
474
404
865
934
14
181
871
245
754
705
597
240
697
777
823
133
174
216
619
598
66
829
286
340
209
262
210
294
728
261
186
119
438
896
114
891
695
159
893
640
437
15
450
660
266
233
242
255
467
999
543
195
567
869
107
750
176
964
230
14
331
262
912
291
854
856
571
359
61
703
819
759
772
756
242
67
553
612
437
41
413
193
8
438
664
320
18
761
909
240
853
417
62
792
559
931
372
132
290
40
733
467
591
392
858
28
702
354
254
515
813
529
600
453
850
842
895
4
758
956
110
491
603
943
857
413
331
609
401
877
21
405
456
503
101
838
619
908
330
994
603
774
190
946
817
465
707
159
323
971
711
104
11
401
691
123
75
791
272
882
434
381
960
99
998
722
165
69
622
186
616
429
404
761
19
783
434
207
860
375
857
666
727
247
708
196
427
260
306
722
15
802
613
734
517
788
825
885
993
750
231
108
158
5
826
826
902
679
673
366
906
890
16
868
275
270
96
839
679
685
339
759
468
462
280
579
843
454
318
880
56
3
310
121
21
727
428
197
353
497
188
174
9
439
3
175
457
481
278
494
577
822
640
800
830
549
784
496
637
298
241
997
882
283
643
705
944
195
820
63
300
494
964
999
529
932
411
667
582
947
736
513
965
109
288
435
118
316
671
72
111
361
312
59
417
267
182
531
913
440
204
609
616
973
991
387
901
250
911
468
245
651
654
615
46
788
8
687
224
752
488
187
580
208
772
429
431
9
316
66
625
495
560
303
703
174
924
409
689
810
344
467
45
410
509
748
249
987
52
692
510
42
278
488
494
832
186
840
562
282
732
647
387
973
494
850
696
703
619
895
358
581
140
126
343
822
854
491
582
569
130
321
502
705
810
990
917
631
811
715
659
764
187
1
764
560
775
254
565
174
566
143
170
943
674
646
715
902
257
196
818
160
75
258
887
599
911
230
853
782
45
661
767
964
673
464
477
775
639
736
59
429
71
263
4
577
147
914
519
502
417
370
691
362
1
825
770
600
273
5
775
947
775
233
248
776
632
410
937
282
33
557
993
912
450
764
974
631
72
767
852
151
474
463
214
667
221
630
760
742
104
764
556
889
901
932
142
466
532
16
615
689
98
954
520
207
186
364
347
570
686
798
430
373
622
749
990
285
489
39
895
338
447
459
88
990
224
45
931
956
220
717
157
175
761
880
58
894
177
219
14
322
902
89
641
60
320
475
430
815
881
286
628
581
128
652
339
149
197
689
787
802
678
37
688
577
249
557
573
79
758
948
478
954
500
143
358
605
718
394
121
408
14
848
846
549
365
148
570
398
205
387
651
457
33
108
700
505
803
751
72
161
936
642
7
575
795
311
962
11
567
756
842
883
489
207
98
599
833
588
355
968
754
756
549
264
683
991
789
283
824
410
621
180
82
840
649
17
829
140
893
440
728
645
94
913
675
905
570
362
35
221
267
44
48
23
919
821
571
18
568
257
934
283
198
363
762
99
697
168
489
839
346
786
217
677
696
411
607
189
108
595
535
553
831
398
812
956
686
447
368
828
537
914
925
349
646
112
449
757
591
244
649
788
791
102
229
858
328
860
653
412
849
583
587
546
60
946
968
440
948
356
574
196
746
43
868
637
817
210
688
214
750
748
83
887
341
149
316
81
511
627
230
301
611
496
357
789
470
990
348
227
368
261
295
619
86
670
133
254
309
179
254
601
730
966
390
461
862
415
293
694
780
201
597
887
977
648
88
233
544
142
660
606
305
451
551
314
807
573
66
414
801
727
788
607
874
591
564
779
258
841
53
995
509
474
906
673
291
901
897
868
502
110
475
25
397
92
567
861
253
791
233
710
815
86
418
64
552
689
819
561
611
106
234
161
335
602
385
81
76
853
612
818
417
962
416
473
541
429
736
86
707
841
635
150
537
893
630
338
602
94
829
374
786
813
952
632
269
625
813
697
836
681
991
314
979
591
402
404
962
334
51
510
452
124
348
191
451
838
980
809
900
810
134
282
641
497
164
229
848
187
442
190
3
820
930
327
887
194
978
843
758
893
675
641
261
209
746
812
217
842
395
442
900
52
619
128
396
312
782
776
507
539
424
775
658
218
863
784
466
921
126
3
157
548
625
707
930
249
50
422
49
805
477
289
100
976
887
375
347
322
530
936
230
992
496
404
806
373
225
550
132
200
581
61
321
820
556
86
950
843
394
999
604
386
130
658
626
359
896
538
764
628
281
916
53
828
306
825
973
111
573
560
883
848
739
767
374
803
451
799
635
443
606
830
658
1
252
339
251
693
392
713
443
226
902
484
671
369
515
141
901
84
985
648
310
233
730
825
839
133
190
110
5
419
641
930
279
586
948
67
271
814
174
112
922
543
179
45
38
441
853
107
919
49
696
608
251
334
22
35
135
641
822
66
764
617
725
483
681
326
287
541
5
593
707
479
669
172
628
272
82
639
36
96
183
705
548
132
229
510
360
961
743
298
37
408
296
171
802
355
114
402
879
440
597
829
996
853
685
612
558
36
55
401
514
641
614
256
825
581
547
416
602
348
75
828
741
143
625
269
253
969
148
757
209
256
169
950
989
638
646
360
261
238
248
486
801
526
875
292
631
281
747
533
826
207
389
987
941
54
767
603
857
222
994
727
788
825
694
521
57
605
333
37
952
246
481
555
938
667
84
533
162
986
475
113
666
744
313
669
563
347
469
594
44
127
605
64
678
566
648
851
291
540
430
946
58
374
32
63
332
343
705
582
291
65
566
624
480
118
887
729
340
62
446
388
807
194
106
793
426
139
414
709
301
201
688
314
84
653
892
193
981
893
699
319
753
272
430
515
219
489
105
669
789
280
482
624
770
119
983
751
922
924
621
737
755
209
703
899
265
36
466
225
770
602
870
844
834
758
901
545
406
547
367
954
137
460
366
646
94
615
259
918
283
792
812
537
342
466
688
236
536
137
345
362
906
408
239
861
869
671
774
923
176
511
573
289
851
870
543
22
898
663
713
718
236
97
413
436
132
891
324
325
798
733
979
752
125
249
485
147
2
332
221
508
899
652
266
206
178
400
260
128
626
548
133
919
796
696
756
19
702
361
763
844
816
800
978
818
364
268
340
334
604
350
862
61
576
806
934
428
825
756
332
549
227
98
895
98
834
601
88
726
524
613
462
704
750
204
845
528
558
374
578
892
582
133
916
868
504
347
958
461
640
859
364
675
960
633
63
941
339
396
417
310
288
908
345
570
301
550
217
371
385
886
404
898
300
47
732
460
515
403
966
708
567
404
402
875
93
280
669
825
371
291
777
472
362
813
190
61
596
291
869
582
27
376
41
765
738
708
112
644
748
707
338
954
297
719
665
788
560
36
733
805
657
233
561
376
538
925
364
508
100
784
778
25
224
615
708
771
615
239
916
721
268
986
222
630
888
646
251
512
118
304
577
639
292
563
948
417
528
364
196
680
599
972
757
75
567
566
443
617
164
150
676
978
337
368
85
652
669
612
895
331
471
938
828
661
316
274
179
290
36
802
826
806
149
212
91
475
19
787
959
849
41
28
3
38
816
71
125
31
902
567
45
96
300
111
626
115
882
943
941
620
244
10
423
19
768
92
501
544
853
559
802
701
148
513
905
988
657
816
613
398
596
130
804
545
550
87
684
152
186
727
256
687
625
545
469
162
789
447
864
672
95
602
646
322
316
469
480
987
368
249
41
200
142
182
691
367
324
98
265
719
927
155
278
516
493
931
941
886
471
249
471
951
430
621
344
610
830
409
1
500
215
595
251
333
581
745
394
751
903
755
684
377
63
277
358
759
995
882
966
299
240
984
543
852
160
213
81
418
255
55
418
864
879
297
242
301
698
420
668
507
986
310
601
148
95
957
545
669
922
97
93
76
517
862
982
672
922
658
45
809
407
942
986
343
738
832
128
970
334
875
533
759
929
77
376
115
329
170
144
518
238
285
536
95
35
773
326
427
274
792
392
489
971
836
45
335
842
778
1
848
140
887
395
94
36
430
289
857
970
802
386
679
988
784
703
791
61
13
913
90
992
290
395
894
370
716
954
733
142
9
525
179
294
463
169
287
114
339
828
731
352
219
378
561
968
449
407
992
955
951
958
917
864
479
549
84
205
60
267
852
337
751
617
130
38
670
867
285
118
346
400
945
484
986
321
198
818
192
929
642
598
318
879
151
695
16
921
891
141
284
382
21
19
997
116
537
914
478
602
602
740
800
739
130
420
825
147
85
165
426
361
694
537
63
621
427
779
982
300
625
399
308
125
675
38
828
691
903
885
390
327
249
807
644
702
198
660
535
190
163
449
282
482
261
906
872
253
640
763
247
169
526
46
576
127
866
513
207
818
760
777
794
258
684
757
510
95
524
16
154
972
781
397
770
153
739
557
602
967
675
267
159
203
625
21
469
334
478
380
971
320
548
635
605
943
417
613
876
330
413
215
997
701
452
299
970
697
134
527
763
185
28
563
867
314
903
642
866
778
234
849
468
8
628
954
526
261
463
540
234
171
362
730
954
801
692
474
688
314
753
719
112
773
533
404
926
554
508
807
373
454
202
557
82
304
223
751
884
953
645
606
858
454
503
153
745
738
804
905
422
71
373
493
905
822
558
538
5
86
891
887
680
721
63
133
645
877
613
242
588
33
718
683
216
163
368
813
670
700
367
950
518
348
293
452
530
165
20
661
532
765
165
159
762
241
703
303
768
755
973
571
875
867
438
892
632
480
436
894
3
507
381
802
555
789
508
278
998
475
587
176
487
26
15
289
99
204
364
132
338
8
19
426
722
560
7
620
128
480
249
644
625
601
636
989
965
812
500
775
953
8
470
940
9
717
930
369
339
515
809
751
440
436
574
230
141
320
558
630
125
471
802
564
688
938
708
889
242
32
365
567
573
306
486
835
312
735
526
859
883
764
25
330
416
136
493
878
422
745
556
98
639
892
176
803
892
897
908
940
343
895
664
52
527
280
65
553
482
930
715
381
455
965
69
608
4
761
120
370
192
432
867
381
975
541
717
934
685
797
662
635
832
2
597
273
433
325
98
610
804
647
12
2
749
80
653
784
220
527
342
17
782
518
19
638
263
782
73
205
21
465
678
21
320
2
952
962
347
632
628
503
249
249
54
506
51
993
689
502
919
608
12
375
785
31
929
476
141
996
211
179
525
414
94
735
784
965
239
662
632
206
163
548
191
462
477
658
940
900
160
45
819
975
967
920
813
818
121
121
526
509
636
34
613
742
246
621
220
108
392
246
254
823
637
964
984
106
950
480
189
659
972
686
706
8
507
176
816
282
179
715
273
549
323
468
527
968
600
988
351
775
189
293
293
256
85
240
971
493
658
583
979
662
114
335
511
939
844
823
873
932
489
853
498
544
782
518
681
604
893
479
190
404
730
180
896
510
878
913
194
718
928
824
113
991
187
698
186
737
525
934
614
261
327
20
337
234
277
426
114
883
450
728
579
962
829
648
272
24
508
978
716
782
547
393
533
186
461
346
200
137
164
502
660
927
910
132
62
897
435
960
558
58
934
257
130
865
759
788
863
9
520
57
921
692
369
868
229
504
619
178
985
246
755
453
943
334
263
433
920
590
886
733
364
943
294
465
153
244
484
796
696
600
112
990
687
332
681
260
920
921
106
700
47
459
435
225
937
747
510
345
0
263
184
920
190
872
484
853
400
279
833
162
562
301
175
810
16
38
426
439
835
380
69
787
748
671
713
638
950
302
6
859
983
996
519
111
225
86
382
157
440
465
41
209
472
283
727
717
694
668
445
136
329
560
101
469
854
964
900
698
113
256
702
983
437
619
64
535
90
574
671
661
103
346
387
973
763
562
734
899
203
743
597
240
777
905
372
610
623
709
999
384
988
529
19
706
17
303
822
42
759
755
90
23
755
645
700
842
137
123
488
340
372
550
886
760
228
240
799
445
507
481
759
241
100
475
264
96
188
107
654
376
215
585
52
110
518
193
940
872
678
41
518
877
550
63
593
197
294
891
252
927
610
567
848
193
907
102
197
631
81
538
561
341
965
286
36
96
836
387
589
269
704
777
236
295
610
790
655
744
142
601
313
408
911
540
775
560
98
519
180
636
100
890
567
728
734
655
101
181
946
41
586
711
609
659
190
448
24
827
516
992
703
127
448
494
714
333
945
893
507
301
562
795
654
646
974
572
100
253
132
820
843
64
740
20
344
568
7
841
655
53
986
850
512
695
349
882
390
260
661
861
419
309
598
665
223
967
827
365
995
756
321
389
106
748
381
933
102
1
962
66
375
967
436
305
275
561
622
897
402
76
891
874
50
808
533
732
291
99
558
739
844
937
171
388
918
738
824
664
391
942
531
334
199
292
438
798
670
873
655
208
521
531
359
637
46
755
194
224
477
671
630
828
51
13
440
832
949
926
213
592
700
742
2
306
664
613
350
751
557
754
251
630
865
188
177
751
228
512
71
294
765
845
956
860
912
722
988
433
368
582
927
810
170
739
18
883
950
284
26
495
701
598
138
166
0
811
840
79
464
440
4
558
20
507
207
317
171
696
46
152
716
745
332
507
86
256
717
762
780
327
715
608
610
571
374
877
460
80
942
698
649
728
530
365
755
40
290
806
731
177
696
587
37
854
930
226
512
563
811
610
140
468
530
484
869
16
53
459
938
158
916
932
790
817
190
288
522
495
41
409
20
57
28
679
405
770
876
462
896
728
149
743
618
406
124
869
471
522
690
242
670
478
532
975
742
452
599
223
536
503
452
199
876
39
893
222
543
936
798
227
735
855
18
815
211
341
12
833
83
934
537
605
816
928
813
758
734
290
875
973
185
3
367
140
691
763
329
361
981
393
408
915
74
706
931
251
689
153
333
40
774
167
95
182
999
866
830
21
685
732
69
582
521
716
473
765
462
522
446
362
499
428
485
790
928
437
285
778
169
278
431
767
909
779
452
105
132
494
456
777
905
692
414
315
404
897
576
465
646
518
547
414
333
37
678
68
277
124
441
607
470
312
333
853
586
12
185
934
913
463
577
858
951
963
117
394
385
698
18
892
134
201
664
777
480
302
967
222
410
498
225
424
55
525
873
942
514
464
940
340
335
697
403
657
966
833
634
783
387
695
621
949
367
813
249
175
685
602
16
645
339
822
310
220
668
980
36
748
667
641
2
249
352
768
733
421
935
886
140
50
203
813
557
582
145
122
559
111
592
121
459
550
857
997
797
535
962
479
213
187
733
243
885
369
963
391
357
412
85
170
494
377
391
757
31
827
68
610
888
354
264
419
545
830
22
721
182
389
544
792
803
640
247
71
983
536
417
600
609
1
902
883
161
407
605
57
563
234
718
704
415
827
86
489
71
10
716
485
393
907
852
609
502
702
795
632
801
6
423
877
997
606
81
29
167
54
852
772
393
979
11
37
539
886
55
977
331
827
412
593
784
444
885
116
117
898
756
961
399
327
871
729
583
953
255
545
923
414
451
17
327
28
295
88
71
376
362
781
499
548
422
185
22
318
375
660
937
295
843
933
908
93
259
595
205
689
88
357
883
714
215
414
999
444
753
719
431
26
497
648
857
562
288
667
645
399
929
775
247
550
71
149
604
59
823
544
818
917
224
872
293
542
480
216
979
833
451
32
331
165
415
598
488
70
967
487
701
285
306
795
357
595
538
108
863
705
313
859
421
401
209
639
366
595
575
538
708
345
531
25
526
770
841
502
263
941
244
141
942
490
241
91
951
371
950
83
336
161
144
170
110
565
786
658
524
350
868
948
923
165
269
248
162
1
260
584
555
120
729
654
425
684
749
863
126
162
822
212
689
704
500
444
857
277
249
843
143
630
866
410
599
170
363
968
7
455
660
261
211
689
42
446
688
600
127
155
521
582
128
926
360
267
674
548
684
947
937
492
584
835
484
594
146
250
536
860
541
593
825
178
811
645
72
750
943
765
619
670
178
295
818
664
765
243
729
919
396
396
925
542
142
688
217
877
44
825
450
503
287
29
30
76
267
828
36
683
944
713
582
541
90
367
443
114
430
818
210
858
765
246
949
500
381
901
208
416
801
969
432
441
807
669
392
556
252
217
102
46
438
524
756
382
317
994
240
255
796
669
773
861
542
73
898
784
774
832
182
278
294
622
185
933
462
324
342
971
377
765
742
572
884
681
759
114
687
512
329
691
983
864
8
423
528
574
558
92
606
32
172
546
235
347
383
17
227
223
354
780
57
314
540
528
495
908
975
518
661
958
63
923
22
342
796
899
332
435
328
388
897
238
683
361
142
825
68
759
309
873
598
494
722
616
11
264
80
812
190
198
613
191
715
371
58
472
213
331
31
815
293
757
179
643
118
416
789
969
368
696
938
450
56
436
591
732
865
869
589
888
28
581
760
661
262
829
741
677
784
174
826
745
681
142
394
737
983
337
397
881
657
151
683
866
723
62
292
256
270
176
756
252
743
303
279
657
846
842
193
433
90
465
998
273
598
62
611
0
637
960
849
212
523
954
286
75
693
923
32
989
829
711
470
262
816
52
971
117
252
301
26
204
128
874
78
96
760
234
324
264
527
605
525
960
387
381
969
810
997
966
935
530
327
578
106
279
477
538
36
985
818
741
212
79
658
934
411
649
58
632
538
947
673
10
524
188
762
101
52
965
837
191
355
360
993
808
80
587
538
210
499
738
911
946
41
238
555
943
190
701
107
301
537
406
549
645
222
516
980
987
951
650
321
22
680
45
155
747
235
832
941
846
975
858
78
715
806
199
588
947
835
237
112
835
837
532
723
977
872
611
964
878
922
561
102
769
363
684
867
138
48
300
365
183
334
407
840
25
143
119
214
192
170
941
687
204
263
894
538
942
217
992
818
189
657
150
182
611
368
737
336
721
368
457
237
943
534
593
635
382
692
258
169
961
848
346
586
271
195
733
167
650
987
6
223
98
4
644
404
642
505
944
435
573
633
912
993
26
583
63
870
677
562
263
949
40
8
245
659
628
920
514
369
307
264
14
176
830
392
970
652
997
66
587
547
287
124
334
528
762
649
82
412
417
785
289
754
14
475
472
449
855
520
888
326
706
478
103
843
398
164
551
193
230
303
690
847
915
373
26
253
796
939
917
720
220
530
189
242
389
92
244
153
451
528
141
773
595
55
325
29
674
339
344
112
351
968
703
721
602
295
555
365
461
177
202
593
397
500
720
199
55
145
722
159
948
784
925
514
293
101
680
841
290
948
28
967
326
486
271
539
137
334
219
354
762
369
819
320
625
716
146
853
11
456
851
705
520
895
960
300
882
708
565
581
246
744
398
540
672
406
665
467
387
912
468
889
639
435
808
144
747
803
422
900
281
79
521
87
520
764
276
542
974
373
807
688
982
678
402
162
537
197
128
617
188
55
448
338
672
223
715
360
533
531
866
345
578
477
601
689
680
675
739
1
323
344
686
382
384
961
542
151
958
677
476
46
649
785
724
770
278
671
566
34
56
910
24
528
707
265
210
853
692
798
615
789
184
174
182
285
631
690
663
848
767
85
685
470
470
445
745
592
95
921
1
175
155
13
851
980
912
578
941
793
148
305
511
441
546
339
631
201
729
842
539
849
399
531
835
205
739
359
898
219
271
685
242
601
725
483
344
366
750
59
129
738
247
181
9
767
251
913
697
76
800
467
417
411
418
905
68
143
228
378
540
774
185
45
649
265
100
212
849
55
945
723
708
858
695
335
329
120
299
880
629
474
363
994
498
998
73
629
116
516
790
128
673
835
528
323
108
268
404
351
175
881
213
719
528
960
294
461
101
121
931
207
879
709
171
455
976
570
324
28
704
243
154
825
799
992
179
356
671
699
939
359
735
103
105
58
530
631
718
610
551
876
131
497
222
910
405
915
757
453
980
348
377
339
495
603
539
208
98
926
53
48
623
770
811
313
594
968
775
889
313
447
511
556
976
449
835
883
449
466
291
124
817
477
800
95
628
532
327
341
78
505
49
111
834
107
720
479
506
339
38
52
624
300
10
657
397
68
558
420
569
646
109
219
104
430
683
27
510
562
577
774
745
661
567
134
638
979
330
679
531
975
117
272
120
173
578
710
324
232
653
348
713
96
615
963
805
241
73
974
484
286
65
219
913
301
979
264
707
39
665
569
357
834
920
136
879
918
454
134
707
357
483
439
221
249
372
304
238
773
718
381
559
56
414
54
977
923
749
58
621
591
700
649
54
669
94
754
186
96
850
764
2
551
485
197
317
851
163
419
813
828
966
2
731
529
418
951
816
285
959
891
591
103
270
48
540
824
978
244
216
772
753
723
802
14
933
967
336
890
672
56
570
552
723
932
213
493
115
650
109
843
930
348
958
705
288
738
18
418
129
474
93
766
266
441
6
781
778
376
491
209
171
983
745
876
928
977
438
675
313
192
514
523
383
865
532
387
921
669
696
378
915
319
353
396
333
278
364
297
801
671
507
355
800
715
671
704
189
493
649
85
104
575
506
616
942
693
858
337
875
288
540
484
628
464
848
204
919
902
991
776
276
888
387
272
689
289
831
971
306
415
998
87
424
233
261
732
526
597
802
387
169
486
602
74
314
791
239
440
738
397
175
30
397
835
550
148
130
687
658
324
96
801
703
388
48
494
252
915
547
608
252
903
861
996
707
527
484
850
645
931
147
299
406
834
432
249
580
103
760
250
96
259
882
911
764
752
334
840
651
814
563
205
956
345
694
518
138
915
751
383
753
767
5
565
135
211
825
782
485
301
657
187
706
420
430
114
163
165
824
404
238
523
615
210
463
515
128
189
428
263
634
881
529
205
65
404
495
875
873
157
925
428
477
671
670
786
637
526
602
485
761
216
932
483
739
462
764
629
587
927
713
280
970
282
119
939
706
839
577
320
764
992
464
856
320
279
62
49
167
510
762
236
788
838
17
494
193
62
898
895
970
196
793
869
873
920
837
232
285
318
274
141
433
781
893
149
811
814
476
317
140
778
41
433
15
645
625
848
879
664
77
776
334
472
425
951
488
267
611
52
244
192
11
68
151
991
847
431
7
553
841
278
346
414
721
54
307
320
407
638
751
931
463
85
728
768
6
619
136
412
348
204
666
651
199
998
346
732
807
520
333
249
572
369
443
647
178
533
364
950
517
782
584
746
2
767
491
962
11
229
384
47
582
84
735
572
796
618
678
720
333
886
166
244
168
602
995
892
101
743
549
442
966
718
575
990
483
921
508
765
102
117
565
639
119
958
996
96
471
760
705
313
14
407
500
213
205
202
585
52
583
290
352
192
55
920
205
406
139
689
342
220
542
159
18
869
152
308
361
704
137
74
0
266
890
749
215
704
237
976
921
692
339
810
47
650
888
760
563
688
56
944
239
46
766
452
979
596
18
243
959
532
708
225
5
182
260
674
145
311
481
537
395
604
787
684
716
235
429
294
874
729
522
243
996
583
663
412
430
108
498
564
836
446
531
292
389
917
745
666
832
434
268
180
748
914
323
958
62
105
504
246
301
659
42
359
798
621
254
239
510
695
41
21
715
168
754
204
335
111
822
461
94
734
625
762
416
526
268
156
589
345
386
53
879
562
862
666
210
949
581
240
340
271
496
745
260
857
75
510
400
602
592
254
79
996
806
909
898
457
823
992
115
191
982
291
90
660
382
381
712
647
957
752
184
374
980
884
636
286
790
483
321
46
173
941
622
17
429
63
599
127
443
724
77
275
718
467
43
838
437
825
962
83
537
477
533
906
434
679
448
382
204
461
265
423
252
668
210
449
525
707
129
47
866
315
767
706
101
690
32
974
619
371
429
609
235
559
96
227
24
238
142
303
480
344
242
140
50
712
427
504
523
452
616
40
45
505
641
182
285
842
418
733
193
324
283
624
734
273
930
723
77
39
54
309
862
839
387
663
346
328
595
110
464
86
485
788
15
108
667
803
571
762
31
68
64
384
198
301
443
735
260
54
407
395
168
560
103
284
960
282
535
965
244
961
98
314
712
543
28
294
190
389
603
637
618
791
664
97
328
859
526
206
293
773
23
194
901
383
436
259
17
491
992
696
525
936
353
134
552
645
303
459
587
152
439
282
369
382
21
985
959
886
976
564
62
536
341
568
120
817
627
499
176
329
200
182
129
244
381
795
130
533
833
109
384
849
906
500
621
732
725
270
949
914
788
841
650
437
187
849
785
720
477
877
563
916
577
744
999
481
574
564
786
667
596
414
471
426
810
721
103
117
506
846
137
91
40
123
549
220
608
78
424
853
104
470
429
12
389
112
655
351
765
566
183
506
80
968
736
696
504
107
781
828
734
42
964
501
303
33
310
557
580
129
162
683
324
237
314
36
589
204
515
197
528
580
829
623
21
126
368
715
186
484
943
866
358
4
423
423
923
801
105
274
556
838
986
684
197
133
432
473
854
998
821
848
831
790
992
895
225
342
104
267
530
813
270
900
43
787
462
439
697
39
626
794
933
724
405
223
332
430
775
402
250
94
862
275
990
778
236
895
111
464
84
187
424
979
373
473
736
458
923
369
492
997
864
149
469
870
340
990
333
417
806
489
436
348
504
265
780
654
418
320
94
601
995
711
302
292
960
892
609
781
70
44
556
211
350
284
169
705
523
140
676
17
998
687
111
131
330
840
754
567
316
633
799
90
863
231
444
353
429
603
847
437
178
660
840
319
530
528
962
659
139
364
483
750
373
404
772
279
396
196
140
695
736
590
465
77
774
392
762
929
923
55
922
964
406
436
226
868
331
991
716
509
192
781
529
979
817
255
430
881
646
967
797
566
125
984
206
972
799
328
41
971
325
855
514
326
519
296
528
430
979
826
138
816
172
124
568
426
116
727
904
42
517
458
16
148
715
65
508
78
935
474
972
538
423
23
547
998
705
447
828
176
602
821
108
232
374
534
529
239
8
527
517
342
693
679
204
972
909
512
342
117
855
296
768
411
963
168
941
155
326
415
606
423
733
254
711
132
227
100
522
448
424
743
484
733
211
969
77
836
370
568
873
521
268
688
223
402
981
368
854
20
585
113
605
695
208
383
951
914
84
815
983
234
557
949
727
296
160
607
260
122
598
429
642
930
557
162
48
107
849
14
836
290
99
652
716
128
84
982
651
390
464
166
329
960
277
760
806
834
731
739
747
252
142
695
625
660
639
81
866
366
663
955
704
691
114
43
565
929
22
681
70
438
873
97
163
371
701
195
776
167
562
168
895
206
333
157
662
526
364
301
407
164
41
60
743
546
671
527
583
93
719
754
254
507
868
75
678
59
658
73
863
335
39
315
78
376
195
136
548
119
109
754
1
941
137
666
270
905
154
106
736
860
742
79
984
388
124
523
880
214
907
950
170
990
453
513
702
267
869
916
647
946
308
13
680
664
861
247
346
678
168
443
67
997
160
266
262
169
26
479
85
40
931
88
88
389
262
309
601
343
374
583
332
267
189
603
902
538
276
517
904
160
17
411
672
5
324
401
282
328
772
720
238
536
685
740
464
376
128
578
955
854
128
743
722
971
950
752
860
698
115
265
957
804
652
797
995
599
695
709
310
995
632
430
108
417
235
306
959
522
433
685
602
537
202
720
833
774
781
652
700
52
917
704
145
518
751
302
177
11
758
14
846
625
23
862
478
72
302
16
541
446
318
567
508
220
51
277
780
871
478
335
497
967
810
826
393
520
143
357
106
823
833
293
639
165
185
20
978
37
239
942
686
119
75
95
454
237
509
80
928
943
2
498
219
657
211
121
705
511
920
850
63
480
684
513
445
758
300
229
253
960
733
32
241
478
593
787
329
845
194
927
288
598
421
882
959
6
32
481
389
548
100
781
253
841
924
75
913
994
430
205
441
522
64
351
909
806
805
859
315
354
693
357
52
521
624
419
419
526
396
485
663
909
178
993
906
286
553
953
238
17
257
319
44
875
182
704
956
44
553
685
762
246
443
364
323
302
879
743
936
98
990
681
97
962
384
949
707
662
952
490
995
724
706
959
237
487
789
307
514
426
892
845
295
894
188
803
28
605
20
603
970
595
326
489
420
114
839
391
893
372
585
229
751
12
839
436
389
43
189
590
655
556
998
813
23
664
339
571
613
469
127
529
880
330
754
230
300
784
323
190
195
681
143
817
191
340
142
740
959
926
33
748
937
911
692
411
926
223
386
341
817
546
184
639
796
443
584
300
970
615
457
837
887
860
802
883
117
650
781
753
840
865
614
982
216
571
856
866
971
771
706
367
955
694
561
766
935
307
40
951
431
405
148
609
125
811
835
303
965
601
907
134
879
199
102
206
396
775
282
946
995
349
731
626
390
447
573
452
237
10
408
490
483
12
67
385
161
55
779
837
622
811
961
38
991
636
588
460
856
831
219
463
877
688
592
391
164
595
580
215
318
552
709
26
741
791
39
613
531
199
337
441
16
182
117
775
792
650
674
547
781
688
522
832
726
631
254
953
181
348
133
685
952
265
335
669
635
693
345
679
128
507
416
170
350
744
663
335
636
157
694
211
43
866
203
48
217
780
8
734
77
718
877
547
505
455
651
3
683
731
722
636
486
778
144
252
882
91
912
612
881
574
300
817
720
71
196
431
356
265
581
954
359
635
623
632
600
948
160
679
655
226
683
901
919
776
928
887
933
48
709
327
678
815
432
665
217
888
233
886
849
748
647
837
147
402
850
569
112
369
907
443
46
979
729
779
62
605
986
8
695
676
173
736
947
570
558
931
245
317
261
646
464
788
140
708
283
236
706
965
21
918
92
579
148
818
713
613
284
533
671
649
583
465
49
438
788
247
453
161
801
12
206
924
993
232
520
232
731
728
200
613
139
302
763
615
710
289
965
874
922
967
433
852
929
771
940
68
758
920
860
699
801
975
533
533
281
939
181
385
802
795
663
879
99
19
310
189
958
990
87
931
411
768
931
27
52
52
464
494
446
738
567
131
6
803
282
815
570
599
793
220
361
390
866
521
430
670
213
384
304
179
709
913
879
546
653
85
232
546
201
392
497
829
442
691
370
985
767
120
175
713
394
310
720
520
939
595
756
212
638
323
481
427
740
397
119
784
325
264
3
536
793
80
732
303
444
403
664
308
237
391
423
775
170
951
720
455
243
611
199
937
235
40
929
347
800
880
781
80
646
193
429
380
744
176
602
431
421
495
885
921
383
685
565
973
603
311
445
158
921
404
283
46
582
524
502
579
188
107
530
4
232
540
195
755
802
105
493
215
499
161
141
14
94
772
645
433
808
994
671
35
624
30
877
171
873
799
20
196
299
289
62
286
142
558
131
932
753
673
775
685
702
106
330
501
564
167
842
300
171
98
728
322
871
591
959
567
729
670
209
847
132
317
877
64
676
902
489
995
346
38
69
218
295
791
875
643
698
816
100
409
469
806
595
247
557
646
923
771
678
560
168
762
942
421
603
124
132
675
57
647
957
472
316
847
445
39
148
127
537
486
753
834
468
128
831
411
521
149
939
934
207
495
93
889
515
227
537
695
717
855
780
430
962
264
113
219
664
266
3
507
686
29
232
842
26
902
735
882
468
913
590
652
300
46
591
296
737
406
425
59
827
200
573
867
328
160
489
427
410
509
172
457
876
525
81
514
546
802
93
804
932
48
709
889
368
772
736
88
177
939
931
800
933
524
694
894
300
758
123
100
650
30
444
276
206
3
7
757
928
852
473
764
456
238
830
431
186
305
738
728
139
725
957
995
53
851
302
778
117
85
848
313
215
349
276
203
115
446
415
0
542
505
230
106
571
478
415
614
912
137
133
821
469
883
293
225
486
235
965
487
727
652
953
673
240
84
169
111
560
676
69
3
328
911
666
457
563
980
803
708
839
793
544
381
307
252
101
822
91
861
358
281
581
320
159
46
299
34
534
98
309
850
583
296
317
216
547
776
662
483
582
400
352
76
388
838
884
628
185
202
261
230
327
870
852
573
328
333
448
878
23
831
960
674
114
455
691
145
446
725
14
214
571
170
503
425
421
477
346
474
169
724
461
686
394
191
912
863
21
126
870
753
47
752
639
517
133
846
544
235
199
405
809
693
322
597
757
778
573
794
138
747
279
299
519
741
450
647
890
230
962
776
348
896
231
718
86
178
511
351
54
684
256
277
338
643
135
533
645
803
864
81
204
708
227
307
957
513
858
229
638
301
544
668
806
308
464
663
809
95
455
202
770
890
524
510
891
101
981
922
986
769
246
540
776
840
592
397
520
231
340
354
622
273
904
483
80
658
232
119
698
826
638
336
555
784
753
649
616
620
6
139
372
914
318
754
262
894
394
840
89
457
823
765
156
202
599
217
577
954
282
881
335
605
644
701
24
983
53
841
336
943
883
974
647
932
307
352
999
582
646
83
888
46
822
245
884
989
329
570
472
62
733
241
250
892
468
553
488
941
290
402
935
768
493
311
435
391
323
501
310
799
378
365
615
940
340
962
384
114
220
161
150
437
718
794
45
991
404
481
109
149
190
972
517
337
154
728
898
660
209
162
53
614
316
304
226
659
587
7
912
449
515
534
22
483
912
817
326
2
147
531
252
568
949
26
152
769
527
143
891
386
724
527
881
569
365
23
187
974
618
623
956
81
666
824
939
20
825
127
658
700
927
504
309
697
994
936
782
659
447
874
222
40
816
473
458
599
376
837
358
679
356
798
208
98
284
976
570
860
452
752
950
818
683
153
415
825
850
514
541
830
20
403
598
25
962
733
141
322
873
67
330
497
199
956
364
814
129
278
135
577
454
331
249
282
800
618
553
391
962
728
500
918
882
754
746
895
489
207
875
476
101
378
591
698
235
333
180
953
907
255
762
894
501
392
973
953
986
603
638
407
545
100
55
999
71
664
1
212
333
697
494
937
197
320
106
294
470
656
57
370
142
656
345
859
476
735
747
571
32
874
106
877
376
208
599
436
324
642
733
886
628
701
185
847
545
487
385
196
957
710
783
681
380
790
368
28
827
175
997
649
481
288
715
753
238
235
442
207
485
812
340
11
528
262
817
600
136
412
740
91
528
712
480
764
631
482
429
119
189
731
150
203
210
0
294
533
163
582
955
119
552
324
464
984
3
664
524
982
225
886
473
323
835
749
83
224
528
104
617
818
973
969
658
127
908
902
479
101
541
827
53
688
17
501
727
26
283
208
644
72
723
671
648
447
601
62
942
730
275
162
206
71
456
683
342
790
708
835
553
645
629
8
784
304
872
280
84
595
583
156
567
346
978
398
449
764
634
527
770
423
282
414
642
705
842
264
109
551
986
891
123
777
97
909
442
410
351
827
564
326
959
550
301
898
366
511
551
564
609
490
594
218
138
761
878
152
187
514
193
857
171
504
429
778
960
790
768
323
632
739
70
31
890
117
994
552
997
417
188
213
440
473
559
596
858
713
494
616
384
595
692
644
990
651
315
954
880
689
331
64
212
794
889
3
402
954
991
220
410
274
784
261
212
305
162
103
503
910
336
386
486
330
528
775
364
208
439
634
964
141
738
912
267
920
404
409
812
642
180
850
518
603
344
13
922
165
532
39
246
831
254
935
676
368
731
118
437
311
419
463
348
531
853
515
980
30
432
590
154
540
260
638
686
413
445
901
274
886
224
10
44
254
286
658
250
955
222
658
560
231
806
950
668
140
592
926
875
970
838
133
817
315
629
380
855
867
416
397
169
980
930
687
253
190
642
450
465
397
303
208
730
890
66
471
825
194
182
164
150
395
653
422
135
957
525
965
796
399
397
123
74
559
83
770
721
548
597
162
493
989
967
956
876
425
540
902
526
315
189
937
48
720
183
645
444
540
286
980
683
873
692
17
922
520
352
393
699
45
733
264
338
455
925
683
496
769
406
803
29
534
107
791
521
806
26
93
581
308
716
61
902
416
992
235
258
358
227
359
683
618
203
572
847
652
175
50
9
657
937
590
885
713
264
344
617
545
907
107
47
548
541
347
776
321
814
214
126
545
586
474
992
353
600
295
239
324
869
992
243
964
237
801
101
230
64
137
33
99
227
646
464
702
147
224
399
175
162
534
272
368
585
605
8
842
707
984
875
378
666
778
567
331
245
56
521
456
135
62
486
982
63
133
622
135
981
601
360
772
461
944
834
43
50
249
400
584
209
791
303
682
500
37
10
552
976
31
726
421
589
364
867
362
818
836
316
754
76
519
52
128
688
87
830
601
281
238
962
636
69
441
484
546
347
49
710
586
13
820
871
376
670
51
572
527
537
967
860
896
447
473
825
464
752
543
388
987
201
200
340
934
845
644
709
991
70
982
775
866
556
440
304
99
281
303
484
299
250
193
282
546
295
834
639
627
702
52
771
270
967
607
967
991
156
893
2
257
913
30
331
171
546
602
246
43
947
980
484
954
329
297
784
392
743
660
11
765
939
728
554
143
298
803
385
890
873
116
993
745
442
847
214
960
246
325
127
592
244
288
631
462
954
554
46
77
424
958
131
788
478
854
7
898
211
252
432
346
587
737
818
709
228
840
382
603
566
626
523
319
498
96
456
945
200
78
378
647
798
920
293
410
442
849
830
359
916
137
846
96
538
959
715
883
684
844
57
970
418
926
639
791
125
319
11
290
736
881
894
219
828
292
126
753
535
278
111
58
917
643
640
735
575
695
436
83
433
56
79
586
540
342
159
147
274
351
530
287
452
793
548
204
939
409
874
740
478
453
334
254
317
512
723
365
342
649
750
517
458
838
90
849
283
692
833
834
583
685
675
626
621
388
247
709
138
420
878
454
509
353
808
779
25
899
955
99
227
233
211
254
175
49
4
956
104
976
548
284
777
592
75
394
157
418
774
474
109
529
715
72
857
732
177
709
459
225
537
828
323
786
98
514
185
265
47
422
120
546
664
804
279
309
116
115
285
464
821
609
277
238
999
232
118
163
118
209
564
873
880
624
618
13
117
755
893
725
830
895
292
677
148
725
428
990
210
686
530
841
596
754
566
395
163
640
891
251
471
359
991
132
949
982
781
89
976
500
96
605
262
124
654
407
37
247
653
102
3
523
290
922
82
28
359
552
192
94
905
365
796
278
798
570
506
93
190
158
591
178
86
745
208
868
334
692
5
425
997
993
112
792
140
415
96
319
889
703
615
587
939
305
588
902
109
566
332
571
151
588
623
63
842
205
794
584
506
899
342
826
980
777
698
302
835
544
548
811
410
404
544
921
107
150
646
344
750
482
84
935
460
1
559
285
738
240
362
741
275
75
773
240
668
298
722
542
428
568
801
677
246
266
160
724
536
15
785
819
154
626
139
184
982
919
132
719
138
697
670
802
672
8
265
703
698
120
921
417
87
553
466
872
384
418
236
423
944
971
807
341
722
970
573
802
991
86
912
834
4
796
207
775
338
549
262
492
165
311
309
52
110
128
472
226
807
608
601
476
415
136
732
243
362
971
565
687
409
229
997
59
736
758
393
44
407
796
945
109
271
868
878
458
565
430
854
341
980
745
365
886
928
949
663
858
689
104
426
878
857
858
822
936
66
231
549
386
931
578
88
719
638
285
838
654
111
361
498
669
930
820
332
401
285
770
305
646
350
390
665
914
57
592
45
989
894
648
218
186
551
109
193
747
716
763
315
506
337
971
914
52
209
654
505
588
574
151
232
689
819
524
981
122
256
347
879
436
78
327
366
706
227
710
297
984
579
950
96
909
280
579
659
456
937
584
933
308
556
133
35
169
837
937
31
18
671
575
122
63
22
721
680
143
524
56
804
993
193
577
855
836
553
797
386
411
183
752
251
929
374
483
534
205
60
297
630
319
328
444
190
275
901
897
17
241
360
211
810
396
833
738
445
15
244
13
341
512
183
88
231
26
105
920
258
839
293
869
541
821
583
196
959
765
124
568
175
752
115
687
384
312
658
711
836
355
385
522
216
583
392
718
88
674
813
815
184
96
931
256
521
221
686
929
206
732
281
299
198
646
250
701
69
689
122
336
181
116
877
88
826
404
737
192
488
342
996
992
0
808
679
716
783
205
185
148
905
802
803
284
700
153
499
92
858
361
791
898
783
700
416
561
375
325
947
615
268
221
481
703
588
859
734
562
922
473
130
979
234
881
916
214
495
721
147
442
529
663
763
558
61
796
761
893
866
680
995
280
525
893
766
211
411
879
469
742
271
717
82
656
598
875
48
109
372
798
104
675
418
672
330
563
371
464
406
941
682
273
285
233
124
204
625
954
141
360
973
551
99
481
568
544
418
400
651
107
522
710
441
352
154
57
314
319
888
444
867
82
650
75
206
273
969
435
291
224
366
936
365
762
683
990
645
718
998
246
593
221
17
169
166
37
828
551
881
381
618
181
914
521
620
916
306
355
153
824
524
379
742
181
256
900
86
802
990
973
506
897
923
833
597
274
2
418
267
92
82
835
163
320
380
901
870
873
847
507
742
164
650
356
163
747
806
95
628
948
375
281
360
777
755
166
767
996
193
391
179
802
537
504
660
828
297
981
471
936
497
594
173
738
769
837
736
955
208
748
523
358
346
992
772
478
579
283
227
157
55
852
810
74
845
178
800
666
524
209
33
833
346
686
538
286
200
77
96
549
798
995
977
862
530
880
577
417
861
931
381
812
419
453
199
717
566
890
114
569
373
620
112
481
242
855
480
358
821
919
174
466
831
561
385
119
724
490
43
246
107
909
338
392
583
744
989
824
244
643
427
760
226
462
548
883
791
988
998
487
692
103
317
440
428
503
672
843
754
390
777
662
470
505
64
286
839
792
804
573
368
518
82
509
729
131
549
212
392
337
99
300
317
192
14
480
564
390
939
821
5
954
565
234
991
924
121
838
523
104
581
388
899
650
687
561
504
403
264
259
650
455
374
816
582
331
239
276
913
856
483
844
923
60
218
99
416
659
175
242
54
124
540
582
837
917
872
902
954
825
745
408
642
905
513
665
287
429
496
576
942
286
624
45
186
851
290
831
968
38
199
823
696
502
517
478
140
177
457
821
84
578
871
441
407
370
234
631
141
549
496
756
74
758
825
630
110
325
314
370
360
750
626
302
779
470
62
965
176
712
982
456
586
813
509
53
185
79
208
57
272
249
374
212
63
80
912
116
708
777
97
610
100
196
218
76
946
11
679
592
348
987
358
127
843
756
174
966
967
317
623
723
660
846
870
320
982
115
118
40
630
788
549
528
96
353
816
695
109
531
380
639
26
537
571
466
74
610
786
601
629
653
233
635
316
83
676
832
594
706
424
232
488
632
150
655
856
141
409
281
46
148
158
16
30
370
899
349
899
138
844
676
45
482
41
778
836
672
75
923
472
959
975
607
282
16
822
895
808
907
164
187
402
739
908
773
864
599
217
448
246
647
47
198
128
911
185
23
301
718
12
225
80
55
78
12
16
312
155
672
798
808
630
972
890
919
553
720
514
903
730
313
992
497
357
55
129
918
126
40
874
854
470
47
730
962
502
121
732
468
70
3
478
368
91
433
657
476
95
609
557
364
745
379
723
523
937
589
322
777
518
646
733
743
563
899
44
186
336
741
238
785
446
290
497
654
16
848
354
331
174
724
677
969
256
1
242
335
92
98
990
293
673
714
711
845
735
146
804
384
129
749
416
850
554
12
453
550
734
724
74
490
608
887
860
7
835
441
629
793
748
197
328
109
595
909
279
145
553
203
337
9
251
238
917
566
744
291
13
238
653
590
536
789
996
494
651
779
56
998
914
101
769
202
565
531
819
868
813
649
679
212
448
524
657
422
181
434
654
757
823
737
765
47
827
253
803
680
402
869
833
538
986
132
236
387
730
449
459
26
864
189
689
552
146
889
636
502
496
738
492
734
691
855
378
553
327
670
984
357
534
214
913
12
206
66
133
43
926
691
668
788
166
302
830
94
68
546
890
749
833
430
635
341
731
29
109
572
515
382
842
186
777
863
748
725
932
823
903
771
52
860
788
651
830
633
560
923
616
205
902
573
522
381
16
914
875
616
955
365
63
888
384
978
91
519
56
532
858
6
880
608
578
771
641
48
614
75
940
728
364
19
901
30
344
743
457
950
574
611
900
890
422
987
19
539
320
599
767
932
266
790
500
479
313
680
731
180
113
176
663
765
520
829
595
20
575
842
882
433
388
692
548
831
821
138
149
205
345
69
898
897
344
797
131
236
773
626
581
435
777
752
914
860
469
179
776
697
978
785
325
903
276
718
636
198
298
531
356
506
451
111
157
293
607
261
435
580
584
976
556
179
989
347
319
277
984
382
679
866
542
157
466
361
476
878
988
163
218
125
547
884
815
399
955
709
954
840
232
703
376
55
717
367
650
243
639
966
304
456
719
3
719
627
697
747
28
490
793
558
393
17
166
68
716
597
777
551
280
549
677
578
257
168
388
355
532
198
185
839
288
42
809
527
399
579
184
619
918
408
671
23
582
873
332
850
684
976
484
644
737
778
713
555
230
288
335
471
839
178
487
705
13
890
799
268
867
597
389
525
357
812
931
185
465
930
226
864
831
399
234
343
458
941
688
596
268
815
334
692
350
96
513
327
750
588
17
283
325
744
692
948
254
558
139
200
465
309
617
874
959
172
329
134
67
838
292
693
415
440
81
718
133
126
876
146
625
216
786
36
265
71
167
999
33
357
132
110
947
576
949
321
701
180
393
62
119
439
72
2
907
958
950
935
972
972
762
42
753
186
471
340
314
807
952
53
758
231
360
534
545
471
408
293
45
995
439
705
751
17
356
633
379
896
181
575
273
6
757
600
705
350
305
488
326
574
588
155
332
611
105
744
146
533
645
975
222
502
78
656
509
295
179
658
675
44
625
907
873
424
106
322
108
626
802
59
871
286
151
438
752
399
785
479
723
259
140
97
296
959
834
388
804
510
339
445
56
535
700
435
264
103
563
623
428
784
464
814
556
977
904
272
75
885
201
806
335
549
525
803
313
460
511
617
310
452
676
734
49
150
878
777
767
674
403
609
172
913
220
499
921
876
530
596
226
229
223
171
475
405
157
340
594
231
368
715
86
58
768
792
298
282
253
390
183
211
313
194
984
180
69
967
810
483
904
502
352
604
709
322
865
947
972
377
983
198
543
161
383
721
678
707
701
705
628
378
721
54
587
655
127
27
735
680
699
851
629
26
896
806
868
36
825
546
918
258
115
144
922
982
901
349
416
129
74
874
436
792
702
278
98
97
390
478
417
670
348
493
932
3
570
421
926
273
530
973
926
167
170
456
515
766
877
480
621
321
906
495
911
747
6
519
114
736
171
562
653
626
362
577
979
938
577
940
952
681
352
357
479
161
114
765
802
599
970
348
170
368
625
38
888
891
900
169
366
408
699
781
386
915
668
197
858
258
573
358
697
923
684
159
327
121
936
20
458
958
888
577
992
374
101
438
358
898
755
233
439
525
300
479
695
983
914
187
883
776
464
569
92
664
984
890
396
852
296
742
24
593
845
931
975
997
851
882
410
711
384
17
829
946
163
710
724
274
268
811
736
335
208
176
609
143
881
660
470
844
405
860
390
783
405
69
285
347
167
7
404
224
159
873
747
342
980
769
321
370
53
698
938
72
261
703
945
804
231
742
143
794
834
117
662
529
104
778
382
266
108
901
320
745
437
693
120
203
563
545
30
264
528
34
325
11
435
198
972
267
612
121
407
552
991
480
845
124
934
461
973
440
510
835
256
862
789
11
254
445
676
778
281
259
635
440
854
794
356
755
585
13
30
765
303
915
451
453
653
146
921
308
235
549
66
544
669
57
110
177
950
447
759
842
347
588
543
971
860
727
336
909
448
937
523
799
533
459
632
561
745
906
687
812
869
475
698
998
22
321
514
782
408
618
684
56
835
583
972
347
12
188
172
699
94
336
669
291
138
902
503
19
397
467
204
902
640
420
489
246
267
468
957
613
470
301
270
784
244
112
591
693
3
545
941
251
56
743
401
903
288
368
573
866
794
383
436
327
321
353
247
244
782
863
750
469
245
653
838
366
397
574
234
335
547
694
339
554
679
513
8
223
913
543
682
987
197
533
979
327
2
89
593
990
127
937
652
849
853
63
329
849
257
249
673
964
881
711
2
79
90
480
206
839
848
224
548
189
283
714
434
774
995
403
111
622
13
43
386
770
862
485
685
242
185
156
471
844
331
455
810
382
739
972
727
287
135
688
797
801
915
907
322
115
935
126
59
87
30
871
599
496
467
720
949
925
766
554
314
925
223
636
902
265
289
653
389
631
204
793
466
649
739
270
970
630
695
94
970
305
496
248
161
586
568
541
560
266
838
45
108
818
762
568
666
548
621
463
216
546
385
372
990
302
597
452
512
45
414
500
436
927
317
513
358
541
265
628
5
136
262
53
916
593
850
788
204
133
23
735
855
153
226
881
10
831
735
883
22
258
257
610
234
552
25
920
681
837
650
645
119
183
763
736
489
176
541
916
597
226
975
902
854
835
213
103
220
744
421
788
634
448
147
201
47
514
308
23
978
74
171
709
106
802
913
219
574
476
850
302
255
251
529
594
120
83
723
947
862
739
360
200
748
232
143
670
720
737
55
325
833
966
932
422
512
53
307
374
698
611
231
757
369
558
777
264
266
613
402
344
755
193
412
322
510
833
1
333
812
927
753
846
817
940
897
791
857
195
555
593
355
536
647
92
540
673
382
974
552
343
482
354
580
114
585
987
302
85
903
527
763
852
920
432
626
254
981
289
638
345
629
326
18
961
658
998
453
75
403
35
197
695
793
546
854
75
854
775
371
701
252
490
805
342
611
358
537
125
288
499
762
663
40
994
214
472
969
881
698
267
772
298
562
94
100
483
43
625
72
994
994
408
851
508
112
341
599
745
993
290
394
331
892
274
20
378
231
610
953
460
399
85
936
990
862
124
620
342
810
726
132
778
318
842
355
503
413
335
381
126
194
417
777
920
936
248
256
578
328
85
492
0
214
59
3
635
381
563
950
421
970
681
682
631
672
713
373
18
661
83
657
247
486
206
931
442
834
462
822
980
150
782
429
680
349
910
39
390
972
106
381
184
677
581
153
590
15
393
961
355
780
917
659
265
625
783
983
193
21
190
455
885
553
775
721
721
656
760
310
263
759
738
592
283
234
435
775
564
654
976
480
305
663
73
690
594
199
343
393
775
412
128
373
354
647
397
542
724
812
601
226
802
395
962
2
683
1
386
672
596
384
487
920
46
519
692
461
234
569
326
72
597
906
393
77
186
323
95
89
174
348
279
379
560
327
299
377
298
461
387
603
170
698
827
61
258
187
282
290
349
10
462
354
203
986
496
652
732
223
695
636
141
663
990
565
745
711
621
751
564
442
542
797
793
268
791
824
958
518
334
463
843
155
417
626
850
186
535
809
945
90
130
20
550
370
802
706
35
693
961
377
196
297
113
619
30
812
849
779
756
670
657
318
579
258
919
432
882
940
531
22
864
456
478
952
501
466
556
859
502
689
245
809
351
194
305
200
1
153
603
451
813
955
274
236
36
71
862
302
732
787
420
912
649
513
519
583
993
595
430
555
922
74
107
965
250
714
395
775
352
685
373
719
506
400
782
58
822
575
186
356
125
380
945
219
115
30
802
488
469
643
999
457
361
347
362
161
332
572
291
977
343
712
786
705
274
707
208
834
510
254
897
114
539
512
233
313
786
136
291
970
294
708
252
414
849
846
258
471
390
55
182
429
605
184
940
733
785
387
684
708
126
73
33
192
812
794
916
241
847
447
921
888
648
435
248
836
241
191
725
153
342
256
303
153
101
105
328
646
433
240
751
482
151
440
426
235
834
264
519
414
571
344
701
262
33
280
303
996
436
363
904
866
234
599
999
508
791
418
808
375
825
283
211
367
575
99
245
262
171
485
888
834
643
929
585
698
404
862
666
78
624
534
339
446
666
7
249
617
454
795
473
307
58
906
5
183
287
479
709
10
359
814
565
542
261
626
458
187
396
7
771
702
814
548
926
381
950
421
99
952
979
810
373
715
284
451
944
611
75
9
967
765
738
194
472
960
253
554
527
927
461
987
295
462
313
669
669
735
863
639
278
62
263
749
280
46
329
58
512
259
360
700
276
165
81
107
20
491
221
322
923
190
662
517
375
947
929
641
552
492
417
687
941
638
54
347
256
601
23
804
781
721
621
830
876
741
230
179
263
167
290
508
455
408
398
346
614
273
196
422
52
754
538
279
72
67
301
305
937
881
973
988
949
808
914
123
241
977
956
873
397
161
904
212
689
128
52
672
410
93
824
710
449
218
624
289
705
357
490
892
510
389
907
56
836
676
127
209
222
127
205
29
416
355
794
940
26
167
558
451
553
603
309
19
446
474
398
719
754
25
811
906
781
845
569
514
428
495
942
89
132
224
144
103
441
78
78
419
851
600
606
769
911
915
137
156
784
178
567
163
687
410
203
74
724
669
61
303
510
87
572
369
106
683
884
211
570
177
752
85
157
468
308
980
942
312
681
971
120
603
837
294
867
43
876
815
488
471
982
133
39
244
908
423
959
746
439
777
618
355
586
623
868
693
162
141
293
119
550
29
949
278
940
672
147
532
639
913
714
426
740
68
253
249
589
593
873
478
651
949
984
624
690
457
613
829
555
447
558
356
84
703
416
860
712
414
470
440
615
664
220
505
89
218
561
713
631
802
606
727
127
194
786
471
664
909
383
264
269
228
602
879
460
49
139
123
880
471
661
18
743
925
835
567
12
270
324
190
837
592
262
267
832
541
429
972
700
441
390
970
451
305
214
42
475
828
196
877
61
995
95
506
125
815
869
69
420
617
311
776
631
324
337
327
939
448
880
226
233
729
96
360
333
361
237
636
130
344
932
331
272
848
350
855
323
206
785
996
588
716
480
608
788
879
160
34
72
251
437
621
523
675
185
593
527
39
170
445
772
702
694
97
214
821
126
985
17
368
213
959
736
460
658
727
512
542
348
839
239
12
397
161
811
768
79
906
870
596
167
92
136
734
941
124
732
388
120
783
494
927
922
39
54
193
558
889
955
514
135
296
835
617
275
611
854
90
455
179
273
854
877
294
222
868
415
436
282
976
216
521
582
179
485
567
400
92
802
133
443
36
303
754
296
580
566
86
664
784
845
818
883
966
324
979
89
50
172
400
507
290
928
23
189
234
681
271
368
519
776
615
506
209
325
657
316
754
93
221
723
733
38
858
819
353
708
833
517
321
211
421
561
147
429
681
440
407
684
171
843
531
26
918
250
243
787
82
586
684
857
734
964
220
476
229
763
474
646
565
998
999
182
926
866
530
353
88
65
326
555
737
190
860
600
445
522
758
909
10
320
980
984
126
698
984
323
875
381
957
648
256
469
634
193
51
709
408
134
976
557
296
496
733
920
939
683
711
276
463
54
746
86
688
732
953
170
747
368
890
772
950
46
725
884
525
822
734
353
485
784
739
101
563
374
411
495
995
393
454
585
583
184
439
661
662
442
977
209
198
508
849
359
728
996
744
508
92
536
770
173
202
240
213
622
977
351
964
596
4
106
645
596
154
361
61
387
205
161
552
208
702
627
33
825
193
498
748
834
126
335
902
146
80
279
72
410
538
891
253
131
195
212
489
124
562
243
643
200
393
221
990
738
8
713
784
61
791
11
34
520
786
46
841
535
211
168
917
341
573
892
664
607
235
651
355
634
404
328
621
10
942
123
52
21
651
876
603
51
937
948
254
922
546
191
90
532
739
798
531
152
348
174
11
46
958
494
381
575
147
811
808
482
918
213
712
600
922
109
901
691
774
841
837
894
216
522
640
648
394
339
248
248
537
773
393
244
744
924
423
852
639
283
75
866
856
545
696
450
216
799
68
117
352
870
807
248
748
99
646
265
33
950
451
576
708
257
590
268
989
875
382
27
283
986
509
176
131
340
953
206
571
12
866
740
412
817
428
69
989
624
834
821
283
609
732
439
386
180
367
86
472
885
695
240
152
531
836
688
16
244
814
85
28
219
460
249
196
928
326
152
657
636
615
686
999
128
761
507
804
719
483
881
547
210
726
746
294
339
289
963
310
971
592
308
872
213
731
691
635
147
675
434
475
8
408
87
140
383
950
887
356
19
405
189
866
993
598
512
835
557
359
517
854
948
494
175
368
945
685
528
671
786
674
358
748
23
385
433
611
598
250
351
68
226
338
155
698
20
850
476
369
271
532
368
623
536
391
888
205
463
632
418
622
447
424
29
649
751
29
7
65
120
335
622
24
283
186
306
261
172
232
24
256
969
606
734
343
933
243
677
772
219
649
64
940
133
978
687
919
790
279
386
431
635
947
258
732
207
782
911
116
591
347
568
180
129
797
47
359
195
939
890
377
707
753
961
305
326
734
476
232
231
340
998
697
176
926
973
545
270
984
227
236
668
876
952
67
464
705
594
229
199
721
426
919
827
743
435
429
438
236
25
950
740
224
444
572
899
535
941
381
594
945
255
746
538
762
863
399
440
207
68
117
609
210
688
661
587
609
723
765
21
323
146
513
142
695
254
586
755
993
409
726
237
373
714
988
74
827
427
691
708
214
184
591
981
517
682
361
891
327
905
104
986
178
809
460
88
835
571
151
802
862
294
423
800
358
23
102
559
251
72
672
530
719
639
678
880
635
108
535
861
837
963
545
715
136
530
789
308
151
180
265
778
89
542
193
290
545
118
873
596
173
732
810
51
123
451
826
435
256
227
45
698
164
211
66
325
856
358
636
631
215
424
779
854
155
57
896
921
94
698
428
269
329
203
354
605
991
826
573
421
754
29
824
993
517
957
487
417
714
604
705
274
115
482
521
894
521
291
445
350
198
886
399
29
198
326
645
113
618
298
186
513
45
663
136
640
849
529
756
120
901
472
400
526
142
97
28
293
651
722
974
52
469
652
806
173
432
662
119
200
181
177
886
879
504
560
911
939
97
374
312
337
57
374
865
905
504
340
503
553
415
727
297
273
840
800
928
860
694
559
48
898
865
847
550
611
298
938
282
501
953
896
708
566
634
187
418
962
893
724
826
429
376
47
100
975
957
810
718
82
380
682
408
968
822
646
321
97
899
183
795
830
846
780
987
4
343
316
817
55
241
502
501
833
179
463
425
950
948
880
883
333
735
656
841
701
110
646
582
159
849
235
723
995
726
149
2
761
222
336
169
430
453
20
537
824
700
34
110
303
795
374
529
917
362
870
872
698
148
671
430
445
305
721
734
525
695
981
487
442
285
627
415
238
895
709
98
251
656
78
935
716
196
61
417
400
711
613
780
607
35
123
953
676
793
551
306
192
215
194
149
890
987
460
649
631
640
283
948
58
822
566
494
125
656
143
664
757
41
615
147
132
547
76
451
946
204
219
812
487
837
546
412
426
303
431
402
484
383
144
675
145
339
288
321
755
248
987
514
424
104
948
361
819
616
531
90
553
561
641
828
161
959
288
622
436
106
945
205
107
389
394
100
547
257
504
559
498
555
550
19
16
53
5
681
310
503
610
173
665
650
608
364
286
678
648
447
770
32
732
47
252
211
297
787
39
999
660
489
157
877
625
924
857
835
409
875
951
752
379
595
835
719
277
984
292
484
464
170
192
603
459
388
162
0
599
625
475
687
876
351
743
367
400
9
74
503
23
544
423
312
125
686
539
682
491
418
361
282
655
81
755
695
53
596
755
184
902
756
448
827
358
231
295
633
17
845
884
866
282
654
877
98
638
741
865
635
375
358
719
123
590
912
427
485
693
61
984
204
375
561
500
296
661
397
190
996
641
11
493
334
535
301
443
52
32
508
653
997
380
208
358
144
773
912
525
302
303
765
299
53
843
662
578
372
115
820
241
635
660
314
484
830
167
533
14
210
726
909
91
72
700
450
623
674
216
801
106
754
700
354
495
531
326
369
811
51
652
346
251
132
338
59
621
263
905
724
640
64
831
250
805
571
534
525
557
311
77
449
9
111
690
52
644
530
820
285
495
446
966
490
847
883
372
715
438
772
221
713
925
255
72
677
185
505
585
832
857
649
726
127
889
37
668
561
532
491
18
896
48
644
193
139
333
885
967
641
397
387
69
546
171
270
334
310
653
266
19
782
918
491
338
911
439
497
375
322
990
593
883
830
318
611
176
88
414
606
814
711
649
969
399
89
531
166
703
568
932
537
321
899
618
87
50
112
526
472
544
974
184
931
845
130
756
956
496
361
296
504
817
880
681
950
323
280
656
416
335
849
49
99
278
857
936
429
837
565
104
270
263
730
677
108
250
73
94
452
140
221
44
113
836
637
139
205
496
906
381
791
551
563
637
580
507
515
285
60
765
972
327
896
159
535
369
957
503
91
577
719
307
685
421
813
828
801
499
308
500
678
136
7
255
753
829
434
599
586
886
828
805
329
878
104
339
16
343
684
758
575
130
319
747
275
230
896
701
825
135
202
651
612
185
932
290
585
828
628
947
81
484
595
820
823
133
383
744
71
722
187
165
252
607
47
28
646
196
545
916
326
744
773
844
379
230
46
948
504
378
258
212
344
812
55
404
55
920
712
371
759
556
807
188
238
908
342
159
201
453
33
99
84
688
643
881
20
482
915
65
664
875
575
98
649
919
915
281
992
675
394
72
185
440
130
499
896
595
14
649
209
193
863
973
422
228
138
461
400
296
494
927
488
929
295
478
499
934
952
916
657
578
174
963
374
160
976
447
178
33
183
506
674
832
80
959
980
8
523
237
608
319
673
231
404
271
755
47
970
233
863
652
668
690
789
382
598
794
204
995
199
815
532
39
170
272
913
937
265
881
653
917
387
451
584
260
805
424
51
113
373
281
577
986
137
213
220
438
408
575
981
107
252
115
860
937
653
520
918
848
957
971
757
82
850
176
3
928
446
564
91
727
670
143
815
508
725
374
205
596
422
699
125
805
538
179
889
307
982
783
719
281
976
350
366
281
324
93
589
705
113
140
356
192
646
557
125
756
789
325
381
661
937
881
61
61
932
937
304
934
956
726
987
481
187
298
468
360
362
303
194
783
412
279
716
662
850
517
840
455
314
815
959
662
185
211
980
697
621
305
809
532
972
552
649
93
553
192
102
298
821
734
721
772
92
619
71
477
274
75
726
760
952
529
825
583
785
958
19
614
767
126
574
864
677
72
300
472
358
811
502
452
549
891
255
344
521
506
239
796
726
715
106
170
336
522
684
591
388
589
726
624
119
685
244
262
744
460
856
325
953
724
634
28
848
259
355
123
532
427
836
430
410
58
209
898
732
26
258
875
49
720
54
297
649
476
811
153
716
552
17
742
701
41
155
469
981
276
381
216
891
653
603
279
186
770
799
903
680
686
16
987
109
989
300
584
489
107
923
934
941
393
87
826
250
31
272
367
73
60
245
200
652
241
715
687
983
118
645
531
344
599
293
307
732
619
734
9
31
208
883
435
951
855
981
392
260
117
533
809
851
422
580
355
965
631
448
479
541
135
606
335
727
803
643
532
729
683
145
257
67
66
197
42
990
223
635
215
787
585
217
683
551
552
568
14
957
317
66
46
898
515
636
668
190
438
364
440
394
267
654
514
854
834
254
622
807
138
665
974
83
185
130
599
854
996
407
475
734
843
683
698
820
897
733
462
320
20
386
840
815
808
912
738
811
584
736
562
70
782
417
640
798
92
103
970
982
690
564
200
698
791
863
682
943
730
499
588
762
749
832
942
53
188
339
73
64
418
797
702
876
79
912
298
219
894
817
652
561
347
634
768
945
220
778
340
646
649
848
295
509
374
661
138
286
777
473
287
495
242
435
725
693
86
575
309
909
744
556
282
662
212
846
407
477
795
545
255
774
445
680
747
540
766
774
975
133
944
864
858
701
849
676
326
220
646
345
420
506
444
172
901
97
985
884
17
807
554
60
318
935
336
740
425
802
58
485
549
417
673
2
232
887
4
626
764
185
104
332
463
854
943
263
805
0
285
27
35
92
149
852
110
628
235
147
813
239
3
821
757
37
785
685
903
518
966
603
670
841
849
424
322
629
901
220
116
406
321
125
903
815
473
619
513
493
99
831
539
797
314
834
662
562
196
97
259
912
733
989
354
700
64
128
137
70
503
10
471
772
423
661
72
448
663
25
797
545
257
609
615
663
713
430
857
353
971
928
394
820
578
561
173
32
195
435
340
783
189
809
179
539
165
256
957
634
946
908
271
930
102
71
126
421
990
888
950
284
491
951
78
299
319
106
703
508
422
826
240
494
86
716
326
495
3
87
711
846
240
597
118
627
596
892
877
293
876
289
854
101
916
779
915
139
160
329
315
22
224
449
867
97
217
766
424
94
885
304
132
310
361
696
215
217
903
29
658
744
827
378
525
689
237
90
485
42
226
627
727
70
28
196
343
601
863
628
904
784
102
490
812
687
142
36
755
48
59
172
972
265
557
866
717
33
149
511
315
133
71
633
783
256
68
521
174
186
779
670
673
283
531
20
18
865
320
637
149
719
265
79
738
587
771
504
627
909
474
788
579
789
932
464
209
84
742
78
595
668
29
848
519
278
936
655
168
923
314
593
230
618
614
937
503
948
794
924
133
135
663
135
107
538
64
633
378
266
810
907
408
208
154
336
595
39
156
28
740
954
465
532
0
435
756
565
349
238
934
596
676
890
406
675
288
967
29
636
75
295
615
682
481
316
791
945
434
579
399
140
44
637
417
799
481
210
343
368
788
970
310
875
411
301
473
348
386
346
617
623
707
915
746
747
815
893
811
202
739
571
298
969
138
351
603
635
410
52
934
830
595
522
397
410
463
467
769
500
374
776
1
137
323
357
836
979
230
701
320
295
966
272
416
900
144
821
70
285
721
50
846
723
805
820
207
507
333
12
873
569
741
375
679
512
472
415
764
740
167
220
328
651
575
905
340
744
182
806
378
404
31
751
546
502
388
740
167
587
810
335
575
62
38
347
237
224
217
104
956
604
804
8
744
957
615
732
406
617
344
40
360
729
333
80
360
712
705
810
738
390
240
158
42
72
147
648
448
598
651
233
761
541
906
434
623
617
626
19
587
726
821
945
343
509
790
340
358
818
781
486
67
351
474
64
881
707
380
483
358
51
442
216
214
785
513
98
750
405
836
712
314
874
762
457
915
225
108
116
862
129
440
130
135
191
984
376
420
487
691
744
714
84
748
943
372
859
839
226
972
398
6
314
815
200
377
844
431
223
867
470
25
365
623
102
92
754
283
574
23
151
908
646
672
187
329
842
685
314
448
276
155
824
154
583
452
411
50
352
998
538
269
353
221
167
685
584
933
497
239
316
387
11
35
429
50
4
414
211
94
641
49
591
209
366
179
330
659
856
736
603
41
418
889
492
809
527
271
825
935
744
209
627
679
749
367
821
203
969
336
875
986
360
555
159
6
587
279
55
534
191
253
51
513
884
521
900
399
124
220
347
929
995
59
676
922
393
995
31
952
805
691
586
940
966
138
163
909
497
675
85
542
924
36
106
991
461
312
329
804
550
857
594
591
590
746
147
717
92
39
99
982
221
551
354
977
965
522
40
238
773
874
723
671
135
45
795
762
318
882
714
322
936
689
855
450
294
856
874
486
29
936
439
682
763
364
717
662
4
342
967
279
888
541
275
775
215
116
321
518
512
824
80
686
513
131
323
234
327
209
761
325
878
366
293
572
55
610
78
381
28
827
782
68
419
577
319
292
7
756
374
797
777
199
584
913
379
699
357
657
734
863
915
911
117
92
915
412
57
253
187
275
585
580
715
594
569
64
455
363
27
853
833
247
394
419
82
979
340
81
372
802
367
908
812
356
627
254
720
246
874
200
662
805
125
945
831
631
11
690
654
963
959
776
460
397
18
674
496
621
884
894
839
174
886
322
837
747
173
633
272
34
261
127
706
304
988
628
606
843
138
732
596
937
41
164
934
628
589
394
999
213
689
324
905
705
889
832
51
981
599
491
669
469
168
847
880
663
607
857
643
826
676
284
514
71
509
588
715
94
888
493
77
842
824
76
653
273
134
841
493
533
673
923
523
956
204
235
610
56
689
159
834
376
282
797
409
532
834
881
542
190
6
0
963
457
728
803
676
976
250
879
718
193
671
393
608
235
534
781
773
669
377
543
530
566
301
5
851
727
449
385
256
283
22
769
63
97
714
75
910
441
372
390
855
229
964
610
125
646
139
495
670
522
54
863
874
170
350
408
258
72
289
867
202
239
719
194
266
168
696
341
64
924
812
847
182
619
601
143
189
20
712
439
4
53
6
381
403
592
620
40
450
427
347
22
555
322
260
50
192
217
26
158
646
604
511
491
970
884
510
230
329
709
457
444
751
221
620
647
213
582
477
204
377
748
718
0
669
99
313
731
670
537
844
373
815
759
7
565
727
914
547
152
632
219
459
156
814
78
517
23
922
180
391
178
614
785
931
215
731
213
725
611
904
277
325
675
928
323
730
339
563
283
478
807
411
685
972
744
912
475
180
453
264
742
592
566
917
834
188
197
762
15
726
9
707
555
435
714
294
706
589
246
235
358
127
165
150
249
520
277
488
648
256
497
460
764
370
585
94
410
481
131
471
528
892
488
2
195
39
866
174
740
202
224
757
951
855
18
137
131
69
984
532
175
264
351
181
893
298
186
314
758
843
336
31
730
822
263
399
90
965
950
42
806
141
695
433
812
479
156
489
445
522
919
244
463
247
23
714
390
431
241
112
260
652
223
852
126
122
769
598
795
513
612
835
960
829
612
700
269
688
26
865
577
722
483
505
509
571
858
609
516
684
503
127
512
342
139
512
443
6
815
812
750
100
897
86
798
234
308
187
996
18
398
208
42
479
930
349
438
23
400
684
724
814
58
527
186
416
38
698
503
869
690
885
796
516
749
140
766
319
540
207
366
275
229
113
164
782
597
5
674
954
972
645
581
844
602
387
867
480
313
317
274
948
404
233
745
920
76
721
660
354
622
941
324
944
806
426
527
548
924
854
584
164
404
514
137
964
62
205
329
950
451
48
927
982
377
840
633
612
390
175
524
272
494
217
765
323
91
961
25
248
205
660
12
377
350
251
647
210
906
0
610
813
749
985
84
691
810
323
11
775
102
24
677
628
585
239
780
110
109
131
94
127
179
922
717
31
529
386
953
953
485
990
824
43
545
756
782
945
86
453
65
976
823
380
466
315
82
402
947
908
592
275
215
643
223
558
302
761
139
939
728
416
543
318
778
587
824
516
648
499
637
345
583
674
132
696
468
577
227
589
312
362
325
769
718
607
934
868
859
583
193
632
634
357
459
426
669
173
540
310
293
956
496
705
190
605
885
100
75
816
917
608
584
34
79
812
190
591
927
886
680
750
827
104
503
642
706
860
156
469
921
128
672
649
133
363
148
680
175
509
295
506
34
856
441
230
831
600
908
640
49
304
462
990
214
938
479
228
47
445
575
873
94
725
109
913
646
92
512
338
171
582
451
191
429
171
846
430
445
961
94
129
821
482
410
850
314
94
610
589
287
304
63
802
735
958
287
794
258
233
26
553
594
822
278
756
330
282
794
477
78
336
131
529
354
411
828
243
815
836
358
621
631
620
318
603
672
126
406
291
283
815
505
219
333
656
266
774
562
92
320
0
866
204
972
97
507
184
293
848
402
981
310
490
910
622
134
867
968
394
169
466
265
727
263
980
44
257
668
93
749
431
551
956
528
943
72
77
90
355
301
622
489
531
731
394
345
581
562
970
100
867
975
672
176
691
998
891
161
239
755
519
413
293
755
268
833
372
945
442
398
247
452
9
240
817
904
97
261
653
569
799
414
165
914
878
538
870
697
804
639
466
995
294
945
946
642
373
212
325
397
121
209
484
347
643
199
146
560
642
803
108
870
430
399
172
515
538
610
979
693
617
533
556
449
652
713
955
516
398
631
319
903
94
825
352
161
377
519
452
692
993
346
412
617
844
397
476
52
593
490
518
736
337
351
129
487
408
144
688
981
192
588
110
446
430
439
510
580
990
744
501
310
932
298
33
321
444
519
389
274
734
147
472
355
740
335
883
141
140
73
376
80
739
322
392
288
792
962
592
858
700
116
478
231
555
796
620
538
699
662
569
940
55
196
767
282
224
387
775
814
707
39
204
359
934
265
823
587
86
801
826
839
944
977
767
837
8
591
74
3
654
804
927
515
152
443
822
315
30
939
443
992
484
252
377
368
495
120
170
91
235
238
727
594
230
478
158
428
144
705
562
480
965
316
900
912
660
867
415
127
13
417
432
774
18
220
571
615
890
354
164
664
821
29
993
539
458
102
572
658
626
293
18
810
188
336
776
924
406
292
535
467
353
941
466
170
927
16
633
803
617
809
64
400
215
939
795
223
657
860
178
24
2
255
583
467
500
303
300
344
788
732
570
581
940
371
309
126
452
52
292
697
838
765
471
580
752
303
671
43
589
55
505
397
594
192
458
995
636
7
741
195
562
884
6
571
153
914
862
142
445
727
41
73
892
767
312
735
18
839
485
972
197
375
55
70
691
300
732
843
574
643
574
825
711
166
167
684
522
936
185
864
505
168
191
262
243
481
813
137
986
400
371
590
700
661
39
263
92
350
305
879
567
439
177
724
260
756
131
24
694
136
430
145
509
66
528
123
871
983
773
608
290
337
785
474
229
8
747
892
641
306
22
243
333
49
470
379
454
875
54
737
395
689
56
548
189
176
974
17
889
483
386
317
31
304
433
151
359
431
953
842
480
705
451
462
277
565
630
432
423
598
1
918
346
743
448
109
482
65
615
177
761
678
282
363
539
99
100
77
355
253
869
832
117
308
338
156
751
27
226
530
682
300
261
173
908
532
918
527
383
30
634
980
13
834
446
71
628
666
317
477
183
802
119
175
166
555
733
17
791
44
268
938
906
292
830
750
324
859
300
892
635
605
428
81
771
462
264
222
152
56
736
791
271
100
532
47
944
726
713
315
122
742
845
274
990
539
696
938
172
561
358
240
190
881
568
966
325
800
988
555
586
435
80
400
660
992
479
459
667
626
328
992
451
240
719
845
574
286
90
891
509
189
186
593
824
308
114
116
102
361
466
916
182
713
36
874
584
724
164
166
156
723
864
440
615
338
952
69
976
474
146
337
27
744
447
312
154
673
257
834
37
658
136
108
295
920
306
134
740
402
490
671
754
166
762
853
806
859
592
85
501
451
858
766
553
353
819
143
162
875
510
979
940
611
257
199
115
556
725
171
265
239
167
329
61
494
786
102
455
898
410
411
50
933
508
520
243
790
58
439
159
344
45
332
128
223
382
28
494
234
511
291
952
784
947
475
35
508
357
356
73
764
622
552
600
664
909
655
523
963
497
741
596
651
783
419
65
219
539
767
843
697
207
747
435
874
450
765
180
516
647
156
695
376
727
529
680
237
791
224
739
812
645
161
760
311
796
522
588
879
26
655
929
752
256
512
926
773
159
704
145
910
788
5
78
991
244
260
755
778
684
405
56
235
32
603
649
502
92
218
399
731
750
273
302
27
747
245
173
576
952
492
211
444
131
210
679
683
163
515
59
342
560
721
270
499
593
885
129
743
311
810
689
283
610
999
386
626
709
490
334
691
288
78
631
604
531
983
237
530
568
596
523
464
428
561
792
613
281
177
69
976
396
622
714
600
479
400
982
466
445
437
734
622
40
11
47
502
334
822
898
13
986
51
335
297
196
455
574
158
328
689
338
689
526
633
913
16
900
432
126
409
6
723
579
5
83
478
813
575
360
558
338
857
425
813
683
801
215
151
771
329
642
833
0
362
402
287
386
44
407
216
674
616
185
643
240
0
233
221
15
144
636
112
653
199
483
431
5
156
265
318
682
594
483
246
484
592
368
466
217
433
228
156
816
773
905
783
146
341
372
649
106
409
134
980
138
643
931
885
977
840
331
814
283
481
14
855
887
399
463
36
908
826
447
965
135
601
204
323
501
607
854
65
233
308
616
807
288
8
70
745
675
317
977
544
484
765
18
302
296
740
284
485
831
285
769
493
243
139
742
672
67
142
790
934
342
602
295
294
56
497
72
393
780
85
755
415
28
565
223
0
753
252
840
491
799
783
2
19
845
891
119
596
705
999
770
211
588
280
916
723
534
456
570
564
809
908
783
954
957
99
893
769
356
506
55
447
35
738
900
6
0
932
17
444
417
874
373
197
34
343
569
895
118
990
114
366
251
156
647
247
31
980
363
202
968
431
548
99
314
755
109
976
741
703
594
302
885
613
478
240
303
58
182
399
849
682
422
567
745
781
997
465
84
913
815
715
99
924
505
415
465
539
907
233
305
859
79
448
929
86
873
371
740
411
586
686
464
915
210
184
276
379
17
638
272
202
595
219
290
401
420
119
212
844
171
111
169
836
998
485
447
103
275
78
166
949
249
981
912
198
111
606
68
976
624
68
222
759
468
938
872
705
305
820
748
846
584
690
915
330
730
196
918
427
196
287
501
47
663
61
227
223
152
571
606
88
552
95
404
901
207
93
930
3
579
123
634
739
842
927
920
139
616
453
472
428
828
97
431
505
794
233
101
32
367
93
280
559
259
273
428
429
135
656
136
195
383
114
985
642
216
225
340
548
501
169
437
271
35
12
198
17
697
526
360
946
553
341
729
437
2
281
948
536
271
99
901
737
248
764
525
420
499
146
964
158
648
381
54
842
291
286
648
214
580
123
489
23
120
912
577
170
437
587
608
673
366
918
796
859
822
118
387
175
464
485
474
453
528
454
96
23
47
232
832
304
567
949
265
626
444
325
221
819
55
167
710
32
586
467
885
267
4
372
492
816
899
967
215
676
568
78
670
477
359
464
779
871
648
497
396
534
595
313
187
268
903
799
580
423
636
166
355
467
342
225
994
969
64
49
359
862
547
41
685
18
198
649
964
535
735
856
454
879
318
962
877
972
195
945
782
521
315
802
258
286
172
989
318
670
803
496
461
830
76
604
915
513
217
440
687
32
486
363
111
721
520
317
323
469
24
65
162
416
187
553
847
253
936
938
618
278
656
903
794
563
396
441
623
58
574
366
388
231
420
877
234
281
157
52
931
146
621
417
522
838
568
743
298
950
562
146
239
666
728
933
712
784
703
901
747
765
658
718
695
520
609
656
540
733
751
268
326
328
883
743
500
396
555
919
102
37
869
810
194
744
128
504
654
474
418
741
231
815
949
817
360
4
856
259
383
536
727
264
427
384
571
890
767
558
795
437
909
383
449
876
318
303
12
943
445
301
421
982
220
576
123
887
782
906
694
582
596
516
236
794
740
723
756
840
890
402
722
837
306
159
403
331
596
709
429
592
466
990
566
474
635
446
736
782
752
992
467
32
860
368
753
859
565
626
702
709
625
455
292
709
518
871
820
625
916
570
220
385
279
5
560
328
990
478
648
159
325
280
159
17
491
922
650
778
718
631
533
118
249
642
134
208
750
733
724
524
600
96
262
830
76
485
20
962
601
944
986
814
724
926
201
24
542
61
456
819
677
703
343
539
666
466
822
305
951
113
615
12
393
167
809
326
867
68
911
638
519
523
60
968
627
516
212
537
670
535
451
598
485
823
595
256
514
922
71
331
271
424
265
342
758
762
664
586
151
991
9
1
336
412
634
332
997
789
308
608
772
226
772
56
12
879
930
620
400
186
223
811
205
18
512
605
517
982
729
858
365
161
432
207
745
112
775
296
618
276
8
457
97
299
450
262
446
338
65
305
653
703
659
103
233
880
909
855
979
397
131
233
746
194
618
83
517
119
563
150
976
864
727
214
608
428
351
9
105
972
609
513
548
493
158
289
207
444
331
960
455
146
454
379
459
170
2
171
86
194
538
457
173
130
853
749
902
463
543
176
772
784
931
684
294
349
565
663
827
452
385
50
811
84
412
121
127
453
623
684
575
891
467
831
119
780
532
325
795
631
473
623
987
328
437
465
958
986
448
143
833
375
349
130
358
136
939
965
770
522
984
589
4
438
750
246
777
470
495
498
917
570
590
22
690
988
335
354
931
547
194
171
567
905
770
398
861
389
758
859
414
467
538
302
359
193
416
592
43
202
772
696
889
311
525
301
757
662
430
244
91
256
712
480
802
224
81
401
893
77
721
108
631
491
754
460
846
628
766
892
406
216
816
906
612
659
723
506
533
444
966
759
311
833
893
946
443
838
57
603
0
878
883
959
231
175
376
248
766
605
260
68
723
627
568
312
276
863
352
401
233
332
178
239
712
672
762
987
103
890
771
314
45
0
269
269
957
999
518
569
821
263
213
555
448
627
67
660
397
833
133
668
65
858
216
928
830
334
939
218
527
650
86
567
925
641
28
547
144
269
843
844
669
180
417
609
923
744
442
823
453
301
576
26
60
770
224
942
873
694
832
279
78
827
909
768
534
934
427
210
529
435
658
115
50
334
963
61
904
542
289
273
808
273
637
605
555
353
463
308
293
193
587
441
235
689
356
811
976
860
794
988
693
835
209
963
56
314
21
299
382
325
394
174
397
575
51
279
825
619
109
364
305
974
911
216
902
268
147
384
847
850
907
993
776
452
822
703
559
43
676
406
333
441
668
122
976
698
187
889
258
787
506
899
890
574
161
643
305
680
343
343
102
515
560
883
504
771
879
795
213
414
45
175
641
990
712
832
746
572
535
457
907
266
605
496
397
365
213
161
367
534
171
309
621
157
912
717
914
790
672
467
357
411
388
164
913
99
599
964
328
908
194
245
919
797
173
742
566
62
372
250
971
721
662
572
21
248
45
689
13
315
548
930
445
372
261
749
250
938
170
782
255
86
187
829
966
95
518
756
199
967
584
697
754
395
714
29
930
169
569
830
152
156
960
495
436
55
899
965
538
310
818
38
547
10
37
856
533
288
799
252
122
606
743
806
250
757
451
242
299
38
797
461
195
683
396
443
418
252
69
672
477
308
925
315
336
396
377
461
190
557
497
303
782
597
325
823
306
672
759
180
192
659
433
420
47
773
887
797
765
378
305
997
490
427
437
891
111
134
561
455
770
33
749
463
856
344
572
795
498
45
253
441
878
482
449
855
778
561
38
344
559
302
428
980
337
588
315
971
807
486
8
1
328
387
637
510
399
414
228
389
33
312
284
782
201
8
695
38
567
665
256
48
681
911
813
842
423
40
573
422
192
860
307
390
194
885
132
435
117
430
665
891
484
254
587
197
822
448
137
375
792
724
158
963
86
375
659
140
807
554
10
895
454
978
549
999
46
196
98
181
497
33
955
132
847
138
656
732
99
105
563
148
894
121
842
240
751
279
114
74
190
960
123
689
619
154
947
6
611
550
136
813
462
216
150
10
369
860
634
94
264
370
358
280
882
226
431
436
704
517
509
777
349
394
875
716
29
752
533
400
348
441
605
715
570
372
556
816
660
959
405
422
419
354
378
221
506
64
340
891
363
118
355
319
884
148
692
143
791
924
315
845
406
801
354
26
555
151
782
929
167
607
306
203
531
509
476
824
994
360
309
562
410
785
853
264
859
260
658
501
691
47
531
83
694
432
905
187
210
669
608
501
264
265
786
412
248
515
28
260
773
635
594
331
993
897
824
28
184
499
919
777
200
495
848
906
981
521
773
897
622
810
202
390
388
322
943
867
842
897
954
796
579
253
759
272
162
473
842
174
777
57
320
433
423
660
202
499
149
541
706
822
857
341
334
305
438
275
48
349
259
425
775
701
258
544
85
298
423
78
605
948
520
764
848
603
896
934
837
355
177
480
822
197
601
320
266
326
693
619
672
855
982
509
540
649
756
11
576
65
911
312
452
842
183
995
732
202
116
974
406
522
631
319
321
499
913
823
654
815
702
887
22
103
235
713
412
995
854
383
333
412
65
169
995
112
250
45
261
612
839
336
706
990
593
149
575
731
399
625
120
786
844
115
654
779
858
195
678
769
967
773
624
520
689
55
236
222
914
971
486
561
167
800
551
925
116
370
830
373
366
180
303
758
79
689
685
342
593
527
269
758
942
656
449
194
220
165
689
790
326
535
890
850
833
834
783
341
850
273
467
681
536
699
948
417
756
896
499
660
721
194
510
195
640
438
888
878
398
569
69
992
726
269
640
845
243
63
27
303
698
762
555
711
654
640
953
4
684
29
636
160
531
953
545
932
845
430
916
593
222
968
495
319
285
508
264
515
199
748
302
150
223
557
901
28
412
22
303
913
460
311
722
185
282
393
343
356
636
352
836
914
906
541
633
831
328
530
140
971
561
281
403
42
982
427
540
862
483
914
39
84
229
19
390
926
150
396
170
659
286
508
153
799
98
4
139
549
574
559
251
977
268
76
471
935
295
752
80
991
523
460
484
625
470
529
6
745
704
629
307
689
72
716
380
528
326
263
342
703
643
907
80
730
45
312
648
326
587
84
652
964
649
110
488
520
621
930
341
851
669
432
643
106
861
576
237
380
140
847
199
670
508
906
27
404
174
852
174
227
6
780
668
408
944
125
435
519
709
53
499
476
982
707
754
621
210
757
14
425
345
311
612
302
200
55
921
893
581
564
586
386
744
83
176
136
110
591
975
629
812
473
63
974
926
782
4
976
65
822
265
806
753
774
777
381
806
77
624
629
421
708
786
713
487
32
408
553
666
813
170
728
137
438
334
482
181
989
255
235
373
819
536
459
773
270
188
561
954
103
467
174
286
596
940
457
951
775
987
348
779
566
799
119
884
978
312
982
590
572
902
232
521
765
203
549
38
250
295
643
492
728
925
405
393
692
381
208
226
588
347
865
182
747
976
660
874
795
60
148
167
956
580
662
241
141
668
357
592
588
257
66
238
785
273
895
760
958
599
484
838
415
821
243
769
724
169
495
506
543
800
983
533
178
290
383
10
750
182
615
250
935
587
164
770
667
766
679
256
496
456
216
236
88
716
964
13
17
982
201
623
802
657
578
341
4
191
715
720
951
501
79
272
884
60
562
715
99
370
177
924
3
781
860
447
111
716
133
571
259
392
864
992
640
313
179
775
585
758
792
498
235
381
993
578
603
297
768
867
29
919
729
86
599
546
514
296
665
693
129
153
565
310
636
546
784
45
285
881
792
581
346
69
913
222
736
198
235
729
970
423
223
624
299
590
686
134
100
214
629
731
372
778
817
608
178
25
890
105
441
325
221
845
368
791
56
950
506
921
458
480
926
888
477
875
833
55
534
929
326
418
860
28
675
234
625
614
185
964
557
641
288
634
157
738
970
294
313
940
992
110
971
339
209
874
717
333
347
246
212
596
72
174
126
917
498
213
872
656
195
108
81
941
987
406
248
298
692
549
246
852
991
83
132
277
469
563
487
110
86
590
428
597
220
23
499
625
337
395
680
685
190
493
209
603
872
958
576
140
289
331
454
949
359
47
151
894
67
853
11
769
514
43
279
395
208
287
903
525
943
161
392
296
167
42
748
505
136
463
759
518
626
771
813
253
788
263
977
659
572
145
18
668
917
287
420
890
498
148
678
764
491
61
620
903
75
983
716
866
363
315
133
807
998
191
749
584
261
739
244
581
181
897
808
983
283
956
68
223
738
449
718
782
469
213
675
459
913
300
934
811
468
972
221
750
170
670
260
166
369
306
253
7
242
931
613
807
568
405
275
15
827
61
349
177
903
846
902
510
858
918
162
490
462
219
905
599
250
247
605
468
788
963
72
262
940
568
640
985
728
20
320
505
238
655
429
272
256
127
718
813
731
950
377
788
379
401
506
502
595
830
798
583
469
532
879
903
137
180
24
103
884
32
21
940
887
656
995
274
802
762
542
46
477
581
975
25
97
912
695
246
644
446
873
10
987
659
829
750
99
383
606
566
936
540
710
682
233
422
854
101
30
499
990
404
178
48
746
100
303
959
623
689
706
421
941
943
48
873
675
469
675
306
117
574
172
884
787
652
564
799
632
344
220
425
287
179
297
598
41
733
130
976
602
579
348
41
128
740
242
714
7
808
96
183
636
585
254
108
662
509
557
836
187
235
576
249
222
277
783
577
146
730
84
92
857
331
972
726
938
105
540
819
296
218
242
382
463
735
182
178
363
671
255
84
196
402
414
447
298
263
200
936
137
909
73
456
787
221
47
679
559
361
429
582
127
316
469
921
797
838
802
733
468
613
804
528
635
274
829
159
906
463
113
641
541
173
118
234
832
665
248
198
756
49
585
76
495
867
754
141
763
366
684
833
189
801
428
669
776
583
766
965
834
463
218
965
65
344
177
688
691
404
920
935
659
676
153
318
162
544
814
800
261
614
940
879
933
442
15
828
468
11
275
674
207
940
124
767
507
300
520
531
954
214
672
96
981
404
980
809
676
418
77
839
929
207
61
892
271
396
345
426
114
100
554
998
379
168
360
214
430
311
822
96
331
977
472
460
650
732
528
190
857
109
58
740
192
769
416
840
416
621
790
481
835
679
314
606
138
342
904
45
763
114
308
483
667
329
19
923
565
621
531
979
803
429
311
238
777
594
996
133
708
297
190
511
844
480
786
527
271
637
57
307
174
193
104
68
397
128
592
514
706
856
816
432
175
161
716
322
787
870
189
9
936
193
5
12
783
915
597
24
844
843
922
856
707
927
288
397
694
758
446
516
444
225
89
381
536
722
656
548
296
55
831
812
950
234
309
736
845
136
140
18
376
307
640
962
127
678
613
82
128
218
488
591
615
570
114
8
362
98
761
311
237
153
381
715
941
210
712
999
34
609
655
268
368
734
269
249
640
688
325
292
930
843
187
108
146
222
618
777
908
261
3
220
453
608
971
200
828
699
723
154
67
69
92
614
818
997
873
576
18
140
777
793
796
620
883
985
360
640
227
767
756
416
860
100
628
448
788
127
802
964
892
676
249
370
564
822
867
270
735
0
952
452
359
699
357
115
771
348
683
424
765
230
63
577
75
514
151
966
113
837
830
17
326
885
931
34
978
759
550
258
184
400
508
535
741
112
812
961
676
802
83
538
361
187
26
455
523
740
15
58
977
15
206
283
683
477
39
554
883
220
766
710
927
807
74
887
945
416
622
682
727
704
143
607
842
664
479
108
142
680
171
811
929
524
15
557
593
753
700
863
160
85
467
459
178
107
646
487
918
266
676
924
977
477
951
549
257
637
771
883
331
699
680
943
997
824
849
243
638
461
902
89
899
430
646
791
631
205
721
834
87
625
447
879
115
222
421
29
607
132
296
927
846
696
380
28
581
712
181
685
24
354
931
326
938
53
70
244
154
152
116
272
782
305
378
880
657
43
430
962
978
869
756
988
862
76
925
957
653
274
629
101
384
64
283
213
293
560
668
841
408
1
213
417
797
257
134
237
715
230
95
87
342
753
786
514
789
193
513
82
472
282
408
674
147
64
242
379
793
743
675
694
838
640
113
7
842
123
782
938
982
762
342
834
725
918
525
313
73
594
755
125
746
11
700
995
155
689
314
579
359
899
217
523
872
578
206
824
178
738
566
227
663
515
355
885
276
424
605
955
600
828
858
76
352
772
909
653
589
185
303
14
802
538
495
183
863
425
101
672
367
858
874
179
831
19
878
895
879
740
387
66
881
711
307
755
371
164
554
37
402
622
798
375
562
951
881
274
95
301
286
436
352
249
643
155
174
694
9
793
313
931
626
758
980
28
821
682
759
164
560
670
947
145
23
869
775
820
803
273
412
921
469
67
3
959
960
861
766
873
314
286
451
915
101
404
591
496
335
274
882
171
364
456
718
650
3
217
180
381
812
823
965
529
907
748
699
803
853
915
578
244
145
87
808
104
301
726
768
962
201
188
707
6
754
717
630
653
910
359
825
110
497
997
615
265
514
375
323
385
136
855
288
328
791
21
953
289
12
512
606
213
940
914
192
157
809
860
148
197
665
225
757
310
727
762
739
551
672
923
141
625
179
576
853
481
845
997
379
677
320
371
102
403
940
937
340
47
81
787
309
454
717
907
873
784
875
130
829
770
483
782
589
181
514
23
77
794
507
618
903
69
464
886
639
281
663
325
149
861
564
296
850
576
141
357
812
435
682
790
420
40
223
268
441
33
141
232
852
15
302
442
576
652
237
480
353
389
469
241
793
330
215
780
43
95
784
736
938
918
885
658
974
943
386
966
429
623
503
53
891
950
980
19
773
605
559
136
535
139
162
586
804
407
284
648
960
10
970
879
278
460
614
474
977
295
184
379
270
719
369
48
318
285
232
656
292
383
728
207
406
222
86
702
564
663
72
234
441
776
754
126
545
37
100
963
524
333
583
58
645
274
128
633
43
976
565
783
846
504
513
137
536
557
696
698
106
496
924
512
500
914
523
682
397
883
279
264
352
554
278
418
368
269
920
872
758
470
630
904
167
20
988
761
319
576
677
783
151
777
352
516
175
249
685
839
504
250
144
836
98
588
193
893
738
922
6
61
381
135
129
257
414
823
353
926
190
827
987
645
454
17
636
952
457
720
682
799
569
45
265
39
406
547
167
318
22
707
634
219
904
907
593
178
796
509
875
605
109
40
970
942
86
764
66
319
299
425
821
925
96
975
765
4
81
393
830
132
5
333
660
93
367
993
573
690
721
701
162
697
104
562
385
861
216
854
145
755
214
15
227
877
605
836
24
663
498
473
697
209
292
338
455
3
795
660
408
337
402
275
618
681
702
995
965
549
673
446
595
622
704
333
352
765
44
404
855
40
989
176
31
402
221
120
667
952
15
477
517
834
852
467
614
957
133
692
943
619
318
3
14
371
679
692
627
668
257
63
559
927
59
274
636
327
443
831
928
651
861
76
19
596
475
813
831
496
164
591
897
371
895
444
56
161
610
92
501
781
757
33
981
386
371
278
578
83
288
206
530
66
9
346
893
520
957
743
687
966
174
609
676
344
606
395
807
709
960
483
496
939
764
769
801
858
742
98
758
533
437
10
460
193
789
120
746
216
956
21
315
620
596
214
140
973
98
168
146
248
764
330
655
677
1
179
188
738
268
262
162
805
651
270
641
463
688
214
473
419
290
936
343
859
405
471
368
406
899
101
245
95
658
521
805
905
537
166
131
465
420
898
545
777
137
255
919
513
493
135
696
194
339
953
139
333
682
599
312
16
169
181
272
51
935
55
788
338
624
787
315
329
89
109
233
607
637
296
718
844
8
340
420
870
858
368
963
720
501
379
979
198
433
902
140
467
913
146
206
144
789
527
921
924
873
339
544
116
270
970
380
144
725
61
86
209
770
875
692
751
8
88
147
317
657
674
25
159
214
398
915
155
508
847
694
693
783
676
221
852
471
364
813
320
458
435
435
962
420
334
965
408
222
649
172
79
150
469
134
212
400
882
416
903
73
169
175
810
700
499
591
843
145
262
160
733
686
593
200
61
553
299
925
594
1
237
655
4
224
318
0
994
375
132
488
499
22
128
417
530
627
938
848
594
384
956
152
517
570
74
528
514
788
557
509
792
957
422
7
7
506
44
850
95
596
826
339
827
846
892
641
715
280
310
431
68
33
389
156
42
543
880
45
662
13
473
927
788
872
589
858
307
681
318
84
15
971
888
822
960
295
512
985
935
121
258
756
753
992
978
294
785
675
653
407
932
325
329
515
384
403
155
977
296
803
579
972
4
764
432
308
431
352
581
158
579
672
78
813
520
710
755
147
307
465
698
27
73
280
899
59
929
480
472
667
506
976
9
90
221
758
401
342
764
29
593
42
550
592
72
652
859
720
681
338
391
681
703
151
293
483
89
188
303
1
89
698
368
144
717
709
816
694
296
82
899
882
820
40
753
366
526
96
370
354
508
56
505
336
452
637
177
791
807
318
502
771
161
80
189
699
946
669
1
551
567
880
101
55
436
222
538
235
628
121
381
42
423
742
774
455
390
965
995
537
604
25
738
371
63
966
886
878
543
347
764
574
59
229
743
429
94
968
788
512
147
148
436
0
141
397
56
28
526
330
703
824
148
80
666
506
390
946
839
466
197
140
420
146
672
212
633
886
376
460
54
640
255
603
185
699
120
490
887
290
745
350
827
792
543
658
89
399
595
60
24
884
78
466
366
648
738
114
266
856
630
788
332
63
776
790
801
743
937
649
798
989
821
885
22
537
829
88
753
619
749
776
704
637
261
412
811
970
645
4
606
982
519
991
148
194
356
433
26
817
713
719
346
91
784
491
235
305
59
537
140
348
704
891
417
172
39
977
237
867
718
435
25
810
452
56
1
289
777
67
224
557
951
881
823
873
336
793
901
122
545
827
974
852
451
381
796
146
293
159
937
544
504
286
408
487
276
563
996
697
562
878
928
568
213
57
807
745
60
333
925
600
115
898
82
942
353
669
456
879
546
1
979
815
71
122
451
919
914
956
434
313
261
315
977
511
345
168
242
12
653
790
705
880
195
33
834
781
606
822
517
98
8
589
665
414
294
25
543
547
712
669
484
493
952
292
871
96
334
966
939
939
33
900
418
539
555
81
253
337
180
346
918
159
734
623
120
296
602
477
235
486
274
926
280
562
641
450
947
359
198
991
81
661
594
345
911
540
296
675
994
366
447
487
9
116
520
71
221
610
285
418
262
528
446
788
783
255
366
42
413
245
21
182
239
747
13
167
6
992
40
312
292
543
760
972
567
645
167
569
290
992
350
234
593
258
240
538
818
960
737
393
236
810
744
377
316
319
307
124
289
157
849
280
42
104
867
945
951
7
488
626
345
224
77
610
593
389
777
828
126
363
106
971
116
110
319
921
574
993
290
760
988
973
505
134
57
444
351
471
489
578
578
22
612
793
36
532
480
322
346
605
706
810
951
604
522
197
85
224
679
282
744
540
489
212
857
363
752
832
511
182
197
897
180
920
801
288
945
827
968
388
635
263
794
424
582
907
328
165
848
485
576
463
301
49
528
259
650
962
833
213
181
379
41
486
151
293
136
175
101
236
327
570
481
969
881
925
997
842
188
86
912
773
878
198
793
830
617
49
59
798
121
278
47
74
593
954
533
603
134
941
548
705
176
826
117
728
996
123
814
828
11
533
101
820
956
240
697
550
844
423
196
630
524
285
421
423
917
338
501
738
978
262
739
125
119
193
327
226
559
728
23
127
69
968
387
460
988
678
698
700
599
331
752
989
128
861
595
226
379
233
385
459
639
771
670
1
551
338
404
647
866
885
460
202
120
738
489
758
932
491
928
246
807
681
411
842
374
731
692
425
516
491
32
189
775
864
857
703
626
684
276
466
150
995
543
89
47
156
439
709
291
966
122
446
286
616
180
746
90
366
714
92
899
476
292
563
539
73
255
380
83
519
883
791
637
299
135
363
33
180
501
293
715
106
258
977
344
45
140
979
939
22
7
658
155
220
991
198
514
20
896
179
364
920
279
677
174
740
278
28
500
260
253
524
528
897
284
383
843
459
615
719
811
257
866
862
580
267
412
245
554
981
884
699
299
63
151
206
622
30
833
399
543
176
821
478
933
567
938
175
759
384
290
684
84
261
911
545
935
733
62
578
139
490
826
225
856
254
832
423
53
963
874
55
918
522
858
621
110
392
198
500
891
933
475
239
938
609
396
271
145
466
331
113
587
467
329
554
982
413
995
17
223
117
610
142
766
255
250
40
650
546
490
876
899
301
569
461
567
214
880
936
212
609
428
440
513
266
704
57
149
43
569
733
862
566
664
106
653
845
58
296
185
91
318
153
657
970
286
393
852
429
915
820
674
49
754
697
7
423
906
862
197
165
846
347
525
451
413
585
119
539
584
422
562
510
318
270
39
215
904
60
649
882
592
439
860
699
289
485
644
892
322
939
674
188
696
123
678
274
300
71
863
90
889
744
448
743
580
980
79
492
314
253
81
907
679
47
878
19
708
822
878
554
630
441
492
759
591
802
840
399
373
116
464
952
577
166
842
744
147
404
307
97
346
640
598
378
1
750
201
677
29
730
596
558
368
36
539
364
709
987
531
274
881
402
230
628
415
506
884
876
725
742
378
839
321
322
884
468
12
533
421
192
789
749
98
161
526
624
85
901
900
363
767
508
238
302
332
916
745
298
517
723
549
785
428
919
900
419
88
394
242
791
87
834
616
714
264
907
583
618
851
284
301
690
177
171
635
217
298
821
809
149
136
497
523
43
896
591
800
486
473
110
885
212
810
626
255
405
515
996
638
996
47
829
68
663
749
691
344
17
344
677
412
910
709
478
848
586
84
604
95
555
445
740
531
180
575
893
751
59
191
579
432
256
684
230
825
834
526
103
92
672
459
916
699
178
40
278
34
834
999
288
590
38
472
481
758
765
585
695
148
282
784
417
17
869
416
244
378
451
456
558
467
80
479
284
277
980
210
93
823
967
611
868
99
135
153
444
264
99
19
145
639
722
181
233
531
363
986
658
983
964
970
283
507
23
284
558
94
985
361
540
940
905
290
614
33
75
191
308
692
802
40
920
787
505
254
38
250
818
758
315
819
271
448
935
159
308
143
987
661
774
81
317
336
256
491
857
847
607
962
264
204
56
971
992
858
354
457
649
139
175
941
900
968
981
699
638
247
37
625
624
590
794
921
437
790
353
261
387
420
607
954
46
922
691
75
749
737
876
848
62
618
156
939
985
501
511
596
605
430
337
944
315
326
169
604
531
638
402
934
533
90
719
753
968
822
943
730
677
905
716
695
243
497
175
434
5
436
814
459
426
844
613
151
810
501
203
926
460
696
840
75
689
721
560
649
300
437
538
17
459
243
838
745
360
692
37
780
935
318
853
326
119
397
907
747
970
867
615
84
136
935
613
593
220
364
162
186
357
271
952
905
158
389
82
325
78
363
547
240
262
974
909
390
136
935
146
665
116
851
636
198
390
811
878
692
439
284
136
816
259
491
494
303
295
757
596
984
739
481
70
646
620
644
652
544
13
751
363
672
937
898
642
307
302
495
400
957
566
645
424
524
206
544
896
755
9
533
183
75
936
851
114
879
234
218
196
456
89
253
671
13
380
905
536
131
645
590
629
472
250
244
939
844
659
561
378
958
174
626
825
303
290
586
809
53
413
557
643
184
754
875
473
884
92
259
412
649
425
849
194
984
37
721
683
785
784
991
677
817
11
628
224
843
238
888
732
410
220
868
84
432
504
163
388
961
153
711
515
214
248
455
666
544
897
962
589
515
671
87
444
966
552
147
246
809
517
721
953
826
199
176
16
21
780
986
519
250
896
510
993
748
201
377
943
512
911
452
72
791
170
826
277
745
128
46
397
54
326
142
470
17
881
98
148
678
393
685
277
949
777
634
624
778
639
695
688
682
132
676
102
557
47
201
800
262
162
615
918
198
736
818
488
13
915
480
647
349
373
452
70
357
508
515
492
912
0
522
334
240
308
520
578
350
678
83
850
87
755
644
455
238
178
13
767
210
55
471
247
245
27
201
531
795
198
57
424
350
522
506
504
139
290
241
609
469
309
129
450
909
239
638
799
437
587
690
52
106
485
12
650
567
132
98
111
806
159
893
657
306
116
577
628
956
184
723
394
813
851
594
586
355
338
316
994
607
353
635
359
345
908
308
957
857
65
278
161
644
272
961
657
139
449
25
98
721
962
916
643
477
228
714
599
582
520
974
748
513
292
773
926
702
406
884
75
488
377
807
781
13
788
472
299
848
659
703
969
427
767
430
302
468
779
551
132
701
631
262
577
958
426
584
687
361
637
401
382
121
547
343
617
764
138
36
117
783
990
801
374
160
546
992
990
999
513
453
441
867
425
853
637
980
399
197
212
876
226
694
58
76
239
260
641
643
839
656
65
442
184
679
16
675
303
126
218
921
570
179
278
396
11
524
414
150
586
468
49
669
121
74
104
341
444
961
659
256
601
633
671
542
819
615
663
198
787
763
573
184
786
326
135
845
692
349
399
878
873
606
944
567
946
935
726
702
150
365
778
358
249
71
919
723
683
55
763
936
234
669
393
47
621
794
677
144
878
994
46
889
872
782
158
834
167
711
725
885
420
443
524
608
527
10
860
372
12
646
706
152
212
183
621
280
640
592
365
970
731
822
661
718
950
985
66
476
169
254
377
386
511
322
546
192
594
186
331
938
447
797
135
645
824
913
267
21
913
102
180
107
215
655
434
473
647
481
935
178
898
177
935
685
98
56
515
495
66
947
777
749
697
234
524
699
568
289
5
363
724
589
69
857
326
947
267
123
8
884
512
622
638
686
379
429
359
128
297
290
450
351
881
814
786
446
246
178
646
230
219
544
234
712
172
691
455
592
713
100
901
520
46
149
189
174
317
302
393
189
666
421
660
252
779
585
498
409
243
172
166
596
511
311
368
697
981
729
43
847
169
521
438
94
588
875
542
671
182
328
856
894
255
807
640
903
925
674
616
488
893
449
628
285
354
613
264
737
250
769
323
914
297
160
330
270
783
715
287
998
477
38
137
110
735
40
813
189
492
100
96
551
487
732
154
129
170
279
708
432
30
21
642
869
34
632
294
998
43
445
697
213
269
325
289
581
644
35
284
200
123
830
538
122
383
16
568
830
672
871
676
836
302
930
835
491
198
474
308
895
229
961
864
288
600
438
496
638
779
238
590
826
200
522
516
557
693
933
942
629
77
955
240
389
933
676
466
297
518
908
756
902
822
750
879
415
409
372
232
146
409
703
487
919
318
535
909
30
363
139
590
479
829
119
454
30
232
941
682
424
336
343
977
464
137
294
527
952
929
108
713
278
488
221
577
671
763
804
497
570
639
240
853
384
573
206
685
833
438
972
784
925
782
423
915
208
881
39
727
677
768
810
591
532
554
28
791
848
175
120
735
430
132
534
414
183
851
29
591
653
344
49
831
761
999
15
692
323
923
137
446
313
234
68
324
998
563
641
544
737
990
43
273
174
753
737
517
759
16
685
75
675
256
304
531
739
951
58
744
935
988
351
890
305
236
360
701
23
614
327
296
22
900
171
942
589
975
356
785
612
355
795
5
500
907
319
298
871
318
605
363
434
177
216
564
756
801
844
208
795
688
537
610
211
334
759
437
21
488
452
247
738
321
527
590
434
553
345
405
735
421
99
368
290
257
263
417
844
489
813
914
839
577
735
979
241
139
482
830
656
591
997
192
407
515
76
263
424
458
43
189
816
574
926
166
729
17
271
408
89
890
877
804
591
1
197
27
966
447
495
875
938
79
301
623
552
421
19
516
30
497
670
860
3
18
570
796
948
384
362
652
668
940
520
656
5
406
54
922
643
667
921
267
482
975
984
843
32
121
746
675
50
372
686
805
261
404
91
371
539
598
96
363
517
945
564
305
384
8
743
577
497
17
553
422
182
729
21
163
20
367
599
450
995
207
789
313
953
42
318
417
552
620
633
381
146
253
209
687
801
995
696
106
844
526
703
571
350
546
377
708
190
148
643
160
732
310
514
299
124
102
979
439
774
131
217
26
277
468
124
349
773
717
815
377
354
150
54
134
874
508
798
225
709
43
368
542
237
691
915
770
442
766
115
482
273
249
379
414
601
728
11
789
558
45
700
348
201
279
462
108
943
162
483
172
77
847
108
650
741
931
80
155
123
330
76
622
445
582
618
396
396
89
433
833
325
982
853
170
156
280
670
159
664
0
664
661
209
342
577
629
696
282
7
506
748
657
341
556
965
259
720
448
6
176
757
9
201
343
970
379
327
583
944
250
364
296
727
439
956
272
24
41
116
501
267
558
102
960
256
413
18
947
846
756
773
384
787
241
466
470
837
716
768
896
915
599
895
422
1
92
988
273
842
549
826
485
32
680
405
730
313
622
773
600
411
579
345
80
315
726
580
793
538
399
811
523
419
367
429
211
220
358
72
391
588
169
264
371
759
787
961
612
776
666
189
221
299
350
688
424
865
943
272
298
997
658
370
655
186
839
126
720
68
870
810
502
813
555
239
35
600
260
818
428
744
807
998
953
730
517
111
610
930
510
850
945
518
944
187
786
27
391
293
150
551
741
608
101
948
867
312
449
205
717
535
929
25
785
748
791
221
737
218
181
475
717
835
877
484
399
159
93
855
186
482
107
749
879
959
41
671
742
435
952
239
640
264
934
380
858
524
333
203
394
4
70
279
744
928
648
597
887
697
355
23
548
282
555
409
380
65
983
126
284
261
631
869
419
131
928
357
104
23
931
543
223
667
295
768
879
979
611
657
617
71
723
906
273
420
230
513
717
87
824
756
743
382
528
531
528
625
590
49
479
57
810
752
287
381
504
678
784
276
380
744
343
768
196
199
569
436
93
878
389
438
529
695
897
552
115
480
932
622
309
849
973
969
355
248
666
551
833
487
264
722
899
184
127
420
823
602
104
855
266
490
686
269
310
161
924
449
105
787
633
561
727
630
771
734
722
194
665
962
37
267
108
252
609
328
774
582
295
895
129
430
49
575
183
402
357
74
262
706
143
977
659
91
5
117
780
671
77
605
638
757
780
640
839
136
372
815
796
278
848
801
656
157
70
574
376
349
483
984
644
613
752
748
553
677
540
815
480
743
589
496
103
249
14
873
863
57
671
568
47
259
140
308
421
132
207
735
120
117
96
537
297
17
825
982
948
51
558
72
519
7
705
518
635
250
42
954
52
968
640
788
251
671
37
580
349
515
937
375
342
643
573
685
751
765
532
354
390
706
718
404
215
145
236
851
662
31
653
224
252
359
669
79
121
97
972
335
72
526
718
79
708
878
906
473
378
128
899
360
581
196
510
11
766
281
554
919
461
339
292
641
733
16
326
133
392
669
470
684
826
566
276
888
490
955
101
914
868
578
377
652
315
689
616
500
462
300
661
298
973
625
336
587
370
240
527
550
92
292
259
695
880
575
574
388
127
879
472
903
593
859
662
618
432
636
181
91
35
422
189
527
153
301
374
208
37
63
713
673
268
921
177
328
701
216
393
692
948
252
735
655
289
104
171
935
419
519
538
531
768
822
461
230
356
691
447
420
693
773
697
579
222
971
678
873
584
4
595
55
189
58
634
760
92
563
390
867
119
153
716
326
937
697
610
735
926
989
311
732
43
700
254
378
690
662
853
257
544
154
993
875
619
759
950
657
405
170
954
701
269
401
395
265
320
889
706
742
225
797
330
469
411
254
436
183
53
257
404
126
563
431
132
269
15
296
697
88
722
593
889
637
225
542
243
341
64
10
269
691
373
719
74
880
931
620
140
130
976
212
669
665
584
635
151
602
226
500
473
739
867
177
970
282
282
645
970
875
939
428
213
463
801
905
498
771
372
991
510
979
79
354
566
101
223
559
784
707
691
847
141
797
628
503
728
406
124
407
509
266
102
802
112
371
781
468
603
440
114
449
388
262
374
289
400
913
311
56
156
619
474
314
951
421
602
200
566
477
539
131
718
453
923
123
160
882
592
407
586
445
541
549
313
919
491
701
39
121
803
859
128
417
570
40
745
733
174
363
688
61
167
26
404
251
947
390
51
528
632
616
731
836
242
129
104
798
429
527
551
647
882
703
860
293
231
287
482
719
230
536
433
560
895
543
658
230
469
886
284
814
98
197
377
828
518
476
64
88
848
93
899
536
191
408
619
128
65
127
684
665
684
931
390
671
843
904
986
659
733
797
162
797
941
878
613
772
148
439
378
29
527
962
646
390
941
620
372
9
492
996
600
274
454
599
202
344
288
330
7
710
109
684
285
216
226
236
664
338
309
128
309
524
823
910
204
572
730
181
151
354
685
188
723
389
318
471
812
545
869
89
310
170
129
991
912
55
208
451
627
387
461
524
635
177
970
638
765
945
145
705
997
485
397
976
852
544
300
894
377
922
51
695
441
294
921
982
668
209
202
14
123
329
331
567
128
400
78
155
889
529
118
275
320
920
717
47
748
796
453
131
874
518
206
643
614
260
35
440
727
52
756
690
39
899
267
475
628
463
537
715
778
467
72
723
442
233
357
692
854
106
325
350
845
218
459
226
706
107
370
994
853
6
687
845
26
545
933
286
640
108
723
494
347
500
16
884
779
864
291
910
285
890
15
691
702
975
661
215
582
732
891
914
252
86
270
522
44
49
183
235
553
161
510
801
58
543
868
473
792
453
448
378
287
367
27
378
601
810
495
122
775
792
205
941
140
603
37
784
538
880
162
184
728
375
82
978
10
34
912
365
404
781
882
267
127
57
908
980
568
431
748
386
289
981
986
16
642
85
322
241
609
215
38
665
323
863
159
826
732
10
230
467
820
479
534
431
14
692
126
971
71
743
316
197
650
723
824
864
916
377
58
148
376
111
770
63
848
121
643
145
493
250
634
77
244
765
887
543
791
793
460
69
755
296
637
162
179
382
875
182
477
322
499
878
306
617
364
997
972
843
372
738
687
908
342
242
771
271
210
289
467
90
703
621
448
658
456
407
554
811
120
508
215
230
625
919
436
689
138
368
917
728
532
626
633
932
625
572
305
215
625
45
58
19
145
771
349
168
296
901
6
964
500
563
349
893
913
735
656
812
4
421
232
483
61
52
150
760
405
13
526
769
923
254
367
63
177
574
954
32
295
580
658
79
885
764
9
608
990
748
499
567
942
435
97
832
601
38
799
241
496
380
879
909
202
236
279
920
133
650
6
468
565
870
219
164
232
82
831
226
763
276
715
883
382
560
551
523
624
170
923
669
423
790
624
469
705
772
662
382
599
585
221
768
253
554
673
420
147
248
484
942
121
393
973
796
172
722
112
548
828
202
853
267
931
995
108
675
844
150
829
605
263
99
752
488
992
308
791
48
175
413
307
83
776
857
369
78
57
370
819
183
202
844
917
882
491
282
235
940
325
411
752
188
781
471
864
778
686
40
828
222
869
156
310
14
852
143
571
697
377
768
505
147
924
732
451
307
472
972
918
83
851
195
287
525
212
481
942
178
191
203
719
876
886
514
237
163
449
272
402
111
751
255
512
996
336
956
832
72
129
736
118
529
521
520
607
173
940
560
839
183
870
939
256
821
720
729
691
623
615
641
286
480
801
252
94
367
539
210
452
612
977
281
344
475
612
551
563
128
693
933
578
688
376
41
957
498
986
531
166
406
385
252
395
612
145
121
460
850
838
248
723
124
312
721
230
540
801
254
397
493
833
713
739
587
642
347
408
882
431
228
260
880
120
976
561
244
340
210
611
668
20
558
340
911
457
348
671
736
585
89
588
414
759
905
679
247
677
405
59
596
304
174
559
190
125
707
168
25
221
135
142
481
850
480
916
567
728
364
982
932
585
807
452
942
169
811
890
685
297
891
465
314
231
123
842
63
958
851
589
421
210
126
152
934
942
747
423
602
659
992
46
172
256
313
669
952
690
456
750
283
675
836
676
403
891
663
96
757
753
845
215
688
792
139
161
847
90
862
898
82
269
626
997
472
705
960
714
826
112
546
904
339
648
553
967
549
824
695
588
27
963
567
317
839
949
913
474
526
305
410
161
35
612
120
621
267
214
996
669
491
873
90
314
304
346
814
820
526
946
259
611
203
672
22
911
409
870
314
9
960
493
451
777
342
350
68
622
785
605
494
914
560
956
65
385
458
721
92
445
720
261
962
198
878
883
494
738
173
505
201
178
855
812
976
488
697
591
937
103
97
366
270
204
417
944
747
427
51
817
462
766
197
234
342
490
298
835
128
402
663
560
323
649
987
813
93
512
795
13
620
688
522
902
233
479
612
831
551
484
239
235
494
859
660
654
638
596
404
775
706
420
469
411
837
994
180
174
753
78
716
704
980
103
539
583
288
345
661
41
65
34
242
895
264
617
629
43
668
715
182
296
249
864
847
533
737
82
379
86
411
129
823
914
207
199
876
258
427
492
48
949
225
275
149
956
169
530
384
726
949
650
262
468
456
193
113
74
770
222
496
151
635
264
823
127
651
332
604
176
86
26
261
13
618
646
841
684
825
497
190
339
108
262
131
898
25
343
216
64
290
402
41
748
851
276
476
341
300
565
305
491
863
45
204
592
660
482
226
346
545
523
348
481
43
829
580
390
435
609
612
543
85
585
821
897
203
919
339
963
5
225
466
921
568
63
131
276
509
427
63
870
499
465
281
887
864
184
153
634
279
916
275
461
995
193
699
880
559
670
155
631
584
224
274
465
951
316
775
624
898
533
31
194
817
275
989
664
857
106
583
71
846
92
399
394
811
137
637
315
681
901
667
961
475
110
839
227
727
385
597
368
224
122
0
649
974
264
35
214
520
371
114
228
161
956
304
173
380
621
405
888
491
10
966
366
563
972
429
544
214
196
117
791
49
98
105
369
209
624
358
800
202
460
633
414
569
688
719
236
128
380
416
630
405
747
778
704
979
415
997
626
749
635
266
455
540
288
648
992
150
558
259
946
79
935
951
190
593
137
808
644
254
120
394
991
652
786
717
23
656
913
962
334
2
433
379
335
832
837
422
468
726
214
798
170
421
557
722
466
652
917
712
42
972
76
39
794
313
631
806
837
802
1
276
646
679
863
826
418
424
759
469
506
51
629
506
670
424
185
187
724
216
864
249
447
11
943
518
270
502
61
732
414
760
572
66
86
173
626
482
904
887
184
720
651
44
807
803
339
597
172
337
286
740
644
652
592
312
857
229
536
96
624
471
612
441
491
367
584
850
102
235
129
617
157
358
395
526
901
324
15
957
460
664
300
61
992
832
771
533
558
707
424
562
275
14
100
41
34
712
803
7
485
628
953
107
413
975
375
782
85
407
530
601
242
779
872
464
86
40
466
714
891
118
652
960
487
686
18
40
801
81
351
363
164
743
741
144
621
58
114
309
258
773
992
653
487
776
28
435
48
123
907
247
445
150
562
969
210
428
605
84
355
143
689
737
632
786
888
751
267
423
598
588
214
637
198
309
667
454
833
298
873
260
116
508
399
475
587
159
494
186
194
571
771
387
502
267
956
392
77
714
118
122
375
550
446
358
72
80
566
337
468
410
453
632
109
591
207
365
436
329
192
268
836
316
760
374
948
933
660
408
556
777
320
644
804
941
19
55
312
905
461
68
73
57
626
94
775
689
921
905
601
363
5
788
240
893
232
331
42
628
429
93
537
749
925
551
940
899
364
79
739
596
547
772
956
495
848
312
481
520
352
105
603
912
541
887
232
967
70
910
683
361
422
423
155
730
775
345
361
689
788
856
787
368
475
534
948
863
437
309
200
76
172
469
6
302
485
56
303
918
427
265
139
697
489
121
482
726
679
529
888
835
451
300
797
254
809
836
856
705
309
718
799
437
613
136
806
178
195
409
966
27
445
914
291
258
412
936
713
554
143
383
755
587
360
584
807
668
182
177
176
659
425
850
766
509
115
839
580
681
698
965
277
106
450
989
875
189
964
670
351
811
126
712
491
556
141
569
198
199
226
81
374
142
225
844
81
419
287
338
157
399
91
405
138
166
802
860
583
679
660
858
292
814
984
507
666
760
417
100
838
790
538
270
490
251
234
163
765
590
537
289
623
414
308
242
527
842
242
990
202
10
49
790
655
900
149
173
356
908
367
954
837
311
241
446
703
107
549
302
633
163
605
7
549
926
506
227
14
102
570
146
705
124
861
927
136
358
151
49
392
864
939
185
6
513
404
378
929
89
778
216
676
329
168
585
357
454
115
772
654
665
974
175
175
870
287
449
914
490
366
679
302
562
234
353
777
241
799
719
137
791
670
727
786
567
669
682
219
590
924
947
711
333
22
544
48
281
196
488
895
466
133
947
658
785
213
40
104
402
681
665
111
806
676
376
795
697
808
756
366
850
235
838
234
110
174
407
392
785
334
526
18
918
876
257
802
141
994
599
642
828
937
133
453
577
294
430
141
168
585
216
987
324
302
69
318
109
771
673
330
658
338
22
249
123
291
120
176
233
509
990
552
432
129
290
281
325
988
443
466
19
12
786
290
631
277
784
379
789
107
297
639
878
400
535
617
738
250
903
730
282
803
60
130
242
320
660
996
168
762
270
776
800
725
798
287
934
959
1
965
461
372
809
190
954
37
455
945
335
910
953
234
898
457
154
913
728
260
677
546
195
237
28
565
550
878
661
744
124
295
241
817
610
847
495
792
316
707
23
83
227
51
17
481
318
107
259
835
579
853
43
963
992
756
524
635
915
828
58
272
265
119
973
594
983
869
868
794
981
601
920
268
490
191
218
26
975
448
684
140
122
301
296
88
211
626
209
425
93
132
503
755
308
896
319
710
737
315
839
439
496
685
860
182
230
136
422
382
827
540
356
817
274
735
898
507
241
287
730
841
322
36
376
136
364
268
396
34
873
681
588
801
507
174
959
662
751
29
229
684
486
295
585
715
281
771
706
692
716
567
568
146
764
183
182
207
165
9
256
421
642
877
485
740
805
262
565
521
411
513
421
938
638
588
385
611
221
855
416
238
614
976
354
569
836
250
457
32
281
167
700
900
327
95
478
887
678
224
566
234
148
149
753
902
180
880
846
145
603
599
326
258
7
249
443
76
478
71
462
439
835
405
5
378
455
788
488
689
739
975
463
782
396
92
963
493
704
930
69
18
586
63
516
359
733
913
223
306
747
741
527
952
590
455
197
645
717
146
509
643
748
585
970
285
141
271
925
215
4
650
509
536
636
99
281
746
266
713
556
572
471
350
666
475
922
335
643
178
709
327
746
253
584
753
272
456
137
622
636
848
54
654
723
272
170
815
60
551
699
757
376
903
851
108
581
815
27
570
588
583
269
910
79
421
182
246
107
359
517
376
871
913
945
227
24
820
850
859
58
310
141
918
690
747
734
311
853
648
700
720
278
766
430
195
258
196
393
563
89
341
406
137
339
838
330
994
891
617
951
569
29
837
275
10
178
794
585
692
512
35
581
969
236
581
459
936
93
833
259
414
422
797
400
104
356
340
232
854
727
180
410
644
1
78
961
344
822
517
608
429
134
556
685
104
584
332
694
327
448
204
886
226
899
813
459
617
624
109
405
203
73
758
910
956
223
537
355
173
234
175
445
570
129
993
73
147
502
500
244
294
938
983
65
976
970
674
866
18
88
312
188
980
234
66
621
701
881
836
326
320
765
944
687
415
277
304
283
529
369
636
386
696
634
932
35
716
6
247
691
225
202
870
446
373
132
635
733
234
359
823
757
955
821
383
260
27
578
541
738
581
77
424
322
422
673
208
717
269
624
998
959
982
103
885
318
831
433
286
403
389
48
200
491
116
792
737
239
948
405
495
922
226
118
453
485
504
608
750
458
416
395
713
401
648
950
567
862
975
915
779
484
638
621
131
416
322
423
324
867
741
876
706
526
91
242
56
815
983
806
468
607
452
301
367
434
291
828
849
421
641
713
931
119
431
242
255
791
764
544
98
306
212
874
170
239
264
542
562
514
822
78
33
372
280
809
480
521
579
278
107
576
793
328
756
479
608
526
62
166
293
349
578
27
876
730
683
171
563
125
363
316
422
974
623
814
43
846
475
266
719
938
32
475
177
78
713
390
507
477
490
24
657
886
155
865
528
487
217
359
856
901
17
981
812
592
923
705
835
199
765
78
714
772
225
669
352
957
684
970
381
693
922
599
82
44
145
927
850
194
963
778
585
532
902
353
610
290
593
789
482
379
253
277
61
816
386
456
366
830
593
928
561
520
103
316
340
479
598
885
915
901
627
442
528
441
741
651
827
0
868
215
956
405
36
700
2
557
286
688
449
548
77
171
214
852
833
840
890
219
899
35
834
102
370
70
134
191
835
402
328
622
697
983
208
677
303
705
754
17
251
740
700
719
700
480
276
557
449
182
524
741
585
524
692
655
645
286
1
251
72
921
357
13
649
801
781
298
818
951
57
565
846
314
531
851
539
722
891
525
331
179
26
838
387
66
169
801
91
914
922
9
533
841
791
359
51
959
225
663
124
215
917
921
482
196
934
789
180
900
995
142
673
744
291
420
944
853
219
232
70
154
738
148
874
568
980
914
721
206
423
628
796
238
123
508
47
281
873
110
870
890
0
742
475
594
200
993
47
111
350
51
485
453
167
856
262
810
896
285
968
300
732
49
854
937
717
969
885
171
653
328
458
492
210
891
274
422
447
302
327
672
640
317
353
971
60
246
567
902
451
709
486
316
323
174
27
769
746
651
330
869
694
115
46
518
811
445
106
427
843
803
494
863
314
844
487
157
243
197
591
51
767
769
50
437
982
401
46
405
338
641
11
146
867
892
416
99
308
37
117
680
624
643
7
895
151
308
829
371
729
306
674
759
606
188
268
714
692
439
942
587
609
566
262
600
889
848
194
976
549
239
434
806
531
801
575
543
109
467
78
592
237
672
619
117
878
344
86
777
278
873
668
31
374
55
35
945
683
848
155
334
139
616
38
876
485
218
801
344
951
964
400
364
369
838
72
200
929
79
249
503
613
474
117
921
352
159
454
356
503
646
259
213
542
118
153
759
178
73
842
975
246
416
418
199
639
703
176
739
601
784
913
945
598
989
851
105
295
937
889
360
431
179
151
587
677
943
838
621
574
777
412
275
318
193
676
381
873
183
340
648
271
893
325
96
413
513
57
538
963
317
28
274
93
707
861
933
29
42
448
707
132
459
772
381
390
967
403
978
771
699
179
65
310
68
871
157
696
155
281
291
429
380
585
615
55
85
770
812
147
920
257
151
908
860
106
424
178
919
720
602
113
579
771
187
809
326
273
152
523
395
77
493
850
849
129
524
508
285
222
578
914
212
470
418
323
185
744
67
414
200
442
782
466
135
108
302
671
355
864
493
81
141
427
222
260
301
225
17
419
529
686
713
327
728
644
94
533
662
931
699
379
663
74
665
248
576
884
42
343
742
723
253
963
977
51
168
366
613
605
353
785
421
403
375
116
580
224
558
497
355
636
641
651
234
413
745
513
298
457
107
104
710
252
600
42
903
716
868
594
193
839
258
59
590
861
28
10
402
505
100
327
308
8
377
972
192
217
607
248
214
831
190
648
504
371
38
387
324
599
298
481
948
240
399
623
152
155
545
443
827
256
774
738
997
944
327
985
480
142
341
327
654
862
712
597
198
95
8
716
881
134
414
450
968
936
888
814
631
780
295
804
840
477
899
275
661
738
705
394
690
42
275
382
433
172
826
997
955
602
9
984
445
962
375
863
369
599
352
730
240
444
953
115
661
144
976
346
740
730
223
116
99
405
837
221
131
11
70
822
993
60
299
193
533
782
299
820
562
75
275
879
872
111
704
309
625
129
431
48
615
57
743
458
502
420
684
440
709
799
929
940
874
462
409
273
791
475
74
181
182
90
919
531
440
538
988
559
889
788
15
168
170
419
505
263
117
750
184
971
947
267
995
557
691
219
206
716
1
555
820
721
714
127
563
264
255
438
358
640
157
971
172
31
960
878
917
410
648
68
323
181
893
278
324
709
577
303
387
418
613
425
323
528
106
990
513
988
925
384
35
119
374
470
357
83
927
705
471
404
378
68
145
995
40
882
209
238
518
868
34
23
332
373
595
350
596
418
536
195
172
414
493
296
594
455
25
366
403
61
372
153
238
62
4
729
129
60
843
706
716
544
513
739
455
149
378
955
889
301
606
538
560
667
18
163
898
990
652
109
396
745
855
574
74
433
671
834
683
440
324
743
349
658
928
65
686
794
202
731
728
356
894
892
389
508
46
30
954
832
907
671
386
482
32
505
712
710
587
367
379
225
395
332
968
408
787
866
226
307
943
191
652
77
80
885
687
423
491
285
489
952
855
679
606
233
209
478
204
459
491
131
112
919
169
789
446
483
759
771
829
981
544
492
929
777
96
410
601
161
344
595
376
136
861
2
773
616
246
672
562
461
262
249
754
638
205
420
155
783
683
376
83
33
817
550
174
790
726
208
353
283
295
359
947
692
979
506
986
930
944
72
168
678
573
257
286
778
318
426
646
402
255
371
570
60
781
440
525
250
362
806
464
36
373
53
574
531
306
354
188
886
676
930
406
391
301
149
271
744
329
355
495
309
30
303
322
469
36
911
12
628
250
881
323
410
81
955
810
522
911
94
709
728
189
390
4
167
509
845
217
45
83
356
228
411
837
892
834
77
832
584
577
164
930
243
167
277
904
800
5
110
471
669
158
294
724
977
625
348
689
695
294
626
770
747
125
958
333
429
920
251
778
864
627
612
788
193
721
283
352
673
948
24
782
869
664
759
15
810
859
818
262
21
6
922
647
854
548
146
881
171
692
83
146
307
39
309
278
920
624
971
287
528
736
364
563
826
468
279
554
546
876
125
518
48
379
461
911
153
454
616
613
945
909
150
535
175
419
932
918
698
860
763
245
585
230
169
651
239
625
353
312
321
101
983
948
516
574
94
62
474
388
285
904
149
957
311
690
427
399
992
637
273
743
22
942
879
487
783
416
431
513
295
232
573
326
781
159
775
702
253
343
585
874
381
554
443
672
708
881
72
699
143
200
468
266
871
225
26
990
450
780
586
380
853
587
680
872
41
156
934
195
615
438
779
234
268
262
106
191
253
710
214
72
591
925
589
574
225
500
727
755
5
737
192
836
510
828
646
81
411
669
543
103
417
179
754
523
925
978
282
69
34
654
229
885
765
668
409
805
88
762
736
226
677
573
887
168
828
138
136
926
871
946
416
321
738
507
120
767
616
603
194
519
874
981
826
590
698
335
622
360
702
520
97
697
561
943
339
391
748
551
960
620
767
196
224
209
169
834
63
590
685
153
300
654
270
927
741
827
307
432
212
745
675
975
704
660
822
74
295
560
274
999
277
341
923
136
5
100
880
674
640
306
976
885
105
67
740
613
300
373
421
616
810
73
18
894
652
670
242
492
742
348
979
901
206
34
957
569
534
676
494
888
165
734
354
648
63
40
830
681
370
183
354
66
183
170
691
78
918
424
511
806
496
538
344
224
331
886
831
116
46
992
861
97
137
8
864
379
711
36
75
673
225
77
929
679
360
538
723
377
958
785
370
96
154
669
166
234
217
648
240
169
448
113
499
253
393
343
320
279
547
634
583
362
671
743
614
763
922
345
577
987
111
578
709
369
306
79
867
810
226
217
616
607
406
139
12
804
554
762
60
876
79
684
672
669
87
291
177
551
646
995
250
919
72
718
621
795
118
756
592
466
696
92
234
996
686
110
339
956
706
998
57
214
381
972
549
655
897
513
459
255
530
985
775
529
194
350
926
199
454
714
569
508
395
285
149
340
923
545
359
527
335
206
590
326
968
755
844
997
619
318
964
820
72
913
196
917
720
410
540
61
928
454
895
573
556
82
51
38
553
718
940
626
929
749
436
472
105
66
674
629
675
652
769
150
799
681
225
939
724
992
83
883
918
98
403
585
325
777
790
316
551
350
335
853
205
897
384
51
96
876
367
278
886
637
362
324
890
948
110
364
728
473
466
513
449
251
857
329
555
448
512
658
66
83
672
800
287
131
722
186
798
233
137
983
912
14
13
686
854
129
517
88
595
714
150
961
194
47
970
791
540
824
930
52
434
551
389
98
954
325
318
975
650
930
397
999
211
505
970
199
685
881
119
209
975
923
918
283
245
34
809
905
940
802
710
647
312
723
848
768
519
594
763
208
764
342
761
669
858
615
847
479
860
81
489
675
958
27
250
774
594
344
699
366
822
525
940
742
788
803
685
246
650
454
823
95
341
825
424
172
222
139
479
416
810
421
17
590
929
42
595
858
941
82
345
789
226
271
512
384
719
167
697
479
197
275
764
938
162
983
74
58
581
780
431
17
860
483
191
686
139
616
343
705
180
504
651
669
214
831
446
558
214
185
146
844
644
258
934
142
60
503
759
590
117
273
410
896
791
889
311
437
567
445
888
372
37
864
859
813
504
17
177
734
134
237
929
524
912
781
375
47
577
53
988
589
899
455
787
692
30
930
351
313
233
286
764
451
345
381
582
157
460
100
809
281
595
712
670
192
737
844
974
692
89
472
889
429
87
149
502
783
739
506
187
34
412
616
647
143
414
737
437
573
166
57
369
214
144
998
226
715
906
689
403
963
757
419
707
737
701
213
811
541
290
757
855
751
159
800
153
305
332
608
695
975
883
571
950
782
590
919
520
525
303
107
313
572
626
825
729
667
412
481
808
494
521
801
299
704
580
483
325
423
746
473
933
743
226
658
820
726
131
878
821
173
394
929
84
847
919
402
706
235
814
187
451
814
295
49
488
858
438
967
850
508
124
426
297
354
397
293
218
416
998
632
428
148
754
372
262
120
389
699
554
436
717
46
708
956
507
178
445
176
355
245
250
894
465
388
84
359
549
570
70
324
544
953
728
128
957
931
485
627
837
264
173
59
9
756
255
762
615
365
508
157
35
123
179
224
992
590
675
408
528
590
946
122
395
288
254
193
531
335
832
975
513
95
203
340
136
66
872
765
160
286
777
823
152
483
515
866
398
783
18
114
43
565
852
823
541
461
847
476
921
312
512
275
675
318
547
494
641
544
257
398
916
803
277
582
172
290
46
923
66
34
107
488
222
347
188
745
652
609
216
727
609
759
699
286
41
529
496
48
386
888
867
339
97
125
654
675
555
292
149
776
724
481
280
101
428
906
971
672
189
244
768
224
914
287
161
713
618
477
604
292
31
391
287
231
144
598
101
350
28
691
498
201
562
463
932
490
543
895
648
735
101
126
564
152
306
104
175
280
248
857
591
677
151
529
191
127
606
956
147
430
803
752
86
662
362
976
274
531
489
393
728
872
357
761
203
366
682
796
598
570
120
598
769
713
802
461
83
858
836
681
829
287
106
774
139
902
894
235
21
480
868
268
879
447
745
372
147
539
387
122
11
799
499
894
978
741
971
524
31
700
894
796
441
159
926
548
161
272
672
34
363
958
193
291
649
596
488
428
654
124
981
571
13
970
869
434
572
413
119
562
57
978
346
531
87
155
740
996
503
829
840
341
107
657
927
734
687
711
100
72
318
383
683
884
800
657
523
980
568
991
101
869
796
106
363
163
182
337
177
387
708
254
789
742
809
523
975
534
963
114
954
431
930
297
479
924
401
988
48
877
538
513
141
799
108
193
527
765
370
380
61
500
34
633
633
334
982
731
456
385
618
345
294
246
20
572
640
53
259
282
683
435
610
224
42
757
847
508
720
769
250
562
906
564
120
409
787
927
612
497
328
252
891
213
253
795
270
668
170
51
267
869
984
49
859
381
744
895
329
142
859
368
206
276
80
558
388
667
556
493
358
18
701
161
846
324
8
820
407
813
267
659
262
339
868
952
337
993
322
185
792
821
649
62
273
975
724
965
282
635
471
481
918
784
38
298
609
844
616
453
600
791
485
563
729
218
706
367
73
880
501
213
784
81
728
390
589
383
513
494
370
496
887
283
459
508
503
550
798
967
63
379
740
86
906
550
242
110
417
136
414
152
549
709
571
552
562
410
873
619
232
180
540
728
193
678
993
94
210
952
674
11
681
437
159
978
283
199
990
627
718
259
846
499
581
337
656
129
376
10
506
675
506
960
911
346
753
509
338
301
355
846
882
261
79
839
862
683
457
497
660
152
438
985
581
354
885
544
133
557
929
713
524
520
158
552
789
393
343
46
252
435
277
795
678
292
707
268
511
506
244
985
143
57
934
280
749
326
127
54
236
769
420
963
512
674
679
807
651
609
583
970
902
676
128
632
248
15
403
577
113
586
871
534
884
497
482
807
304
389
659
4
449
322
586
113
793
218
200
208
374
865
709
66
848
332
493
962
829
363
695
166
5
904
322
36
941
375
771
680
387
508
509
835
429
296
307
776
705
511
441
104
558
181
351
736
252
257
977
9
644
510
857
354
744
869
255
197
331
459
689
492
529
595
994
419
260
237
55
206
627
819
851
484
590
497
313
460
318
189
307
845
190
940
49
254
571
400
858
840
100
621
982
36
603
53
586
578
339
396
809
276
562
947
783
216
935
850
875
543
623
888
150
435
418
78
624
374
62
941
988
58
131
55
254
100
871
864
341
598
176
706
189
859
23
498
743
454
111
838
505
25
786
964
301
358
469
463
9
835
846
479
533
782
90
429
124
863
527
786
164
604
361
471
181
530
474
116
461
861
547
971
856
80
682
750
615
346
186
86
551
450
351
897
706
97
43
343
275
271
748
392
150
448
42
669
337
594
127
694
332
199
526
299
481
17
573
379
887
75
820
157
415
553
334
603
871
128
642
347
880
924
646
139
136
956
909
720
333
519
523
831
440
961
901
297
506
887
689
506
844
8
968
514
309
52
494
17
974
814
865
340
924
724
187
553
415
554
321
946
580
103
810
184
882
376
252
706
891
96
927
879
20
496
45
78
616
94
653
324
193
713
932
987
21
946
449
229
108
69
727
525
254
803
885
65
827
339
717
790
744
652
344
326
565
878
630
642
694
85
579
613
654
991
458
36
69
359
509
16
34
236
18
847
160
651
979
345
44
657
351
304
657
422
505
275
758
311
155
329
794
406
187
484
798
876
262
306
75
508
199
506
710
976
622
231
803
645
422
843
108
970
180
561
732
149
309
696
399
484
515
161
964
856
426
14
430
815
28
52
260
345
250
553
816
376
63
956
527
271
210
409
453
637
375
718
766
167
833
636
872
305
806
952
692
66
431
449
830
245
10
411
368
825
867
46
131
714
866
370
950
782
321
411
9
586
298
419
876
751
140
447
225
680
656
29
579
362
569
300
197
161
367
14
283
37
146
684
710
888
33
396
212
114
991
941
602
348
425
748
149
161
342
747
239
619
916
943
635
147
154
983
740
896
279
510
97
535
442
111
934
163
505
57
738
485
793
330
927
760
460
229
375
143
217
408
923
646
227
358
972
105
354
743
141
190
589
208
720
997
830
422
753
405
392
84
127
670
947
866
439
683
605
736
860
170
763
59
54
85
615
473
222
12
423
275
408
459
807
802
965
935
819
999
748
714
344
701
265
783
161
390
63
150
355
790
825
237
931
997
646
46
202
816
271
108
609
221
355
813
569
72
87
622
829
608
206
510
424
377
126
802
661
607
467
511
282
183
839
823
501
594
938
209
642
214
522
422
181
657
678
831
373
250
670
664
664
463
713
396
859
212
755
893
176
519
598
186
630
562
627
679
0
857
283
224
568
889
518
913
315
224
583
981
295
396
129
159
607
539
467
185
898
50
623
116
738
600
932
143
948
218
913
972
177
632
511
655
549
151
120
764
96
751
385
31
515
98
803
509
483
14
251
936
902
417
927
436
305
189
723
990
571
823
548
694
601
439
345
760
257
124
756
74
89
800
689
573
161
984
272
42
575
408
333
377
941
596
45
450
586
999
460
766
587
321
138
959
623
955
230
872
842
939
248
615
479
734
859
586
203
521
250
7
878
366
538
779
874
481
679
481
841
701
687
960
803
216
111
365
983
265
335
263
4
487
140
104
491
856
363
473
302
796
425
711
905
907
175
75
46
104
183
233
662
542
239
942
146
556
536
107
546
825
891
672
480
500
64
611
327
126
757
237
839
663
41
12
742
604
112
503
927
275
360
113
603
955
156
36
30
791
824
19
947
542
144
932
956
577
470
412
204
974
276
690
646
856
245
853
885
556
591
8
99
281
561
707
524
100
695
393
504
926
198
201
515
461
95
48
477
702
23
684
44
636
249
865
128
802
575
648
531
293
34
898
377
167
566
487
998
375
289
798
262
920
294
205
334
38
601
223
588
124
602
890
127
130
478
7
0
455
597
848
129
614
125
620
322
853
347
958
384
148
835
273
749
926
364
420
873
440
761
451
687
242
688
386
703
307
250
504
328
692
844
322
874
3
204
483
894
171
742
576
929
238
612
981
277
788
639
622
447
919
899
988
556
109
611
200
902
978
306
356
649
514
884
401
306
56
985
903
847
324
99
593
682
290
554
390
369
90
135
979
299
744
291
822
907
192
463
791
6
219
311
766
449
666
64
405
681
307
213
969
732
81
45
61
298
249
464
209
265
882
632
967
162
114
995
737
615
556
282
912
287
255
957
407
322
400
803
547
877
702
290
108
744
730
761
40
556
110
616
809
293
693
441
931
478
63
20
303
642
666
706
671
911
300
110
540
624
896
546
251
242
440
36
302
933
481
49
983
162
943
920
765
344
912
65
229
524
247
640
37
702
568
299
642
232
969
87
455
314
146
868
681
655
230
335
179
405
286
433
807
541
123
475
94
735
664
326
276
36
115
161
54
796
426
48
682
3
189
687
799
901
148
97
129
715
530
260
674
461
319
27
217
313
567
446
133
13
99
690
231
455
122
122
920
260
409
274
168
933
214
304
511
286
961
750
505
755
82
138
92
574
940
12
349
818
796
367
190
291
974
29
970
649
84
437
469
77
281
247
114
949
435
169
765
844
904
155
508
770
305
600
234
371
131
256
854
526
95
215
336
402
827
463
219
961
561
504
809
393
687
297
290
11
752
209
572
627
958
119
341
557
948
803
348
986
390
32
765
441
621
431
213
348
109
383
901
33
554
760
871
220
587
513
402
97
979
879
796
411
491
564
532
968
478
760
427
677
823
659
942
397
346
831
249
150
869
419
989
385
576
176
917
404
800
726
909
160
807
609
642
577
676
670
987
308
516
183
269
457
477
723
196
587
643
291
177
851
6
928
843
368
61
601
513
766
898
73
979
934
364
17
681
98
947
209
197
246
898
62
882
349
207
247
661
634
253
134
665
284
420
517
402
958
1
757
866
856
28
979
164
101
304
514
649
445
450
705
230
629
143
646
224
787
308
997
771
725
150
553
48
793
806
662
252
210
804
311
960
357
782
116
395
448
121
379
507
140
828
188
328
462
63
173
377
687
137
453
731
461
687
924
498
937
688
341
31
514
41
575
916
662
318
343
618
796
113
139
476
714
227
41
832
117
880
725
519
654
244
387
553
506
249
9
624
606
336
166
100
790
996
336
638
848
67
422
323
387
997
808
779
669
617
598
694
692
58
680
796
650
760
453
561
389
653
989
924
99
297
65
62
222
20
351
564
99
740
408
638
286
655
490
561
937
85
729
207
970
922
720
672
798
643
223
465
632
479
375
686
523
747
884
365
815
382
54
228
236
92
987
25
562
875
153
225
691
729
900
526
285
356
92
678
411
250
402
478
639
640
289
261
207
638
693
992
964
584
848
392
383
258
474
695
105
782
973
17
235
334
692
722
17
769
612
504
116
298
72
251
147
55
645
45
571
654
402
784
263
117
259
764
662
712
549
152
598
656
378
353
193
714
822
321
362
729
690
458
147
431
372
506
828
393
848
274
909
452
826
341
31
128
551
128
377
271
12
672
116
251
620
790
618
127
652
637
810
428
914
159
644
297
449
959
47
945
681
540
90
614
315
461
985
73
238
921
216
342
893
580
261
488
828
138
416
541
858
555
208
796
761
154
476
736
904
600
115
45
499
206
784
195
65
632
851
316
255
899
333
857
489
250
342
934
700
397
686
405
712
480
899
361
386
602
69
247
297
934
360
59
329
951
876
205
598
848
512
278
308
362
341
855
30
972
387
924
484
994
7
80
734
950
829
385
850
721
725
542
639
375
974
936
638
951
943
145
844
790
396
810
442
726
718
294
605
436
563
586
894
455
898
283
823
508
717
101
641
175
392
447
622
30
158
278
773
601
158
187
837
845
348
416
525
843
300
536
829
885
402
153
576
668
776
208
181
493
153
351
294
695
0
626
220
611
681
889
730
912
191
53
470
78
92
909
156
223
108
948
942
26
214
255
845
487
507
475
580
187
255
802
140
903
167
757
609
677
373
232
359
790
922
674
382
901
908
481
534
841
359
227
598
459
389
265
751
337
670
161
453
77
202
672
960
337
545
182
504
694
284
373
269
787
520
369
540
19
454
808
511
297
421
341
411
935
984
124
583
720
628
899
79
431
914
559
963
536
820
434
654
316
949
798
686
998
360
194
583
95
364
966
427
551
608
740
811
75
186
338
648
111
913
531
740
252
488
885
347
462
334
598
427
671
539
689
804
874
845
352
814
178
748
261
586
557
152
937
321
573
248
542
920
861
190
800
231
447
214
756
998
926
155
336
805
360
897
647
547
920
953
756
697
877
843
317
971
22
903
849
85
572
346
818
958
54
150
670
324
850
707
754
776
949
700
711
906
18
203
813
306
240
376
492
894
969
893
516
410
646
817
904
368
478
195
173
567
526
554
888
732
563
644
590
597
572
261
178
327
58
701
619
481
630
62
278
665
185
316
972
173
353
930
69
460
258
654
121
97
800
515
446
511
343
763
624
749
396
138
988
425
550
283
814
706
255
193
969
568
845
961
665
981
126
447
424
423
154
594
55
24
848
931
827
967
703
916
322
248
788
772
447
75
387
321
194
60
207
935
436
967
46
674
886
275
13
600
833
481
714
402
286
0
621
764
608
776
148
431
719
702
65
72
955
438
87
100
754
744
319
367
877
376
901
92
724
346
463
671
541
927
751
782
561
668
429
852
333
257
111
870
504
362
19
344
362
209
730
440
874
925
897
294
119
57
232
442
463
662
636
568
833
831
758
348
929
104
428
511
230
233
425
438
783
59
487
671
305
615
826
252
543
3
667
950
600
862
721
686
308
597
633
691
776
519
300
259
546
645
5
718
338
3
119
333
836
611
14
710
17
513
486
744
475
970
605
717
200
657
9
716
941
629
111
82
364
962
80
905
898
377
401
236
195
228
810
575
818
78
296
84
46
843
470
636
584
949
464
296
297
992
354
76
931
771
257
384
895
760
498
407
408
290
270
44
115
689
157
548
732
418
245
974
518
241
344
844
844
632
46
987
235
266
443
417
192
678
459
963
12
572
936
899
894
189
664
852
560
973
488
718
497
27
198
873
330
140
102
367
934
442
136
811
918
300
931
766
140
19
29
595
593
881
224
632
910
441
298
738
530
239
651
64
919
851
532
659
794
713
665
456
427
399
584
802
12
138
698
546
186
5
495
709
618
218
464
905
803
829
873
524
679
491
821
856
658
709
810
439
520
776
447
439
172
533
782
317
585
409
486
537
660
285
654
77
419
272
29
677
116
752
936
736
393
61
97
987
101
534
631
58
276
532
305
514
518
85
418
641
545
368
18
470
391
991
434
306
911
662
769
463
463
584
246
802
921
813
92
83
938
185
622
937
119
995
932
541
20
51
941
737
771
325
134
764
766
506
338
149
24
129
271
374
593
653
217
191
382
82
57
578
893
185
970
700
248
767
774
887
537
377
527
977
290
872
576
352
572
899
850
963
658
689
168
160
863
555
53
128
791
538
32
864
703
833
986
689
345
553
684
974
886
998
282
807
731
39
426
861
215
309
227
529
602
805
118
137
454
583
689
256
560
98
34
471
322
714
16
663
495
422
492
948
540
890
305
900
617
675
962
266
966
524
476
884
584
253
767
326
252
870
803
23
545
489
908
344
212
319
452
830
115
912
693
112
846
336
351
709
986
244
699
352
825
773
472
394
468
56
808
513
973
794
337
981
736
352
218
469
576
22
551
153
803
559
571
879
669
119
428
384
339
572
734
904
664
388
891
238
843
964
102
832
18
449
481
302
726
215
268
410
144
863
987
831
195
68
448
140
824
725
431
923
560
212
333
471
857
994
770
228
368
520
570
719
319
670
288
687
414
592
708
130
905
836
350
474
819
86
410
293
865
508
868
140
38
877
510
620
604
67
866
363
767
550
290
803
854
705
582
998
439
301
893
883
183
682
234
890
634
660
882
72
400
689
970
764
592
194
609
931
942
930
951
670
381
188
530
974
171
963
370
94
517
265
847
184
859
438
917
759
186
472
994
952
227
353
720
672
463
932
156
367
887
93
192
316
909
207
541
365
913
953
915
489
447
792
421
100
695
195
509
901
496
49
59
409
600
657
272
110
847
413
394
423
32
589
149
791
998
872
27
629
199
981
385
141
780
897
73
453
745
686
302
717
451
208
475
162
337
412
37
444
986
541
239
871
931
94
736
724
554
634
332
979
469
755
200
351
370
920
914
888
331
554
298
501
957
254
14
346
247
163
695
2
530
269
781
1
306
549
664
452
375
444
153
523
108
234
281
465
702
168
448
469
239
983
318
759
919
963
670
599
381
947
467
889
106
498
682
285
328
488
60
115
292
210
376
242
776
688
732
339
887
800
325
221
345
24
821
483
670
835
398
793
85
480
223
469
573
942
234
773
867
923
184
505
727
742
275
630
146
731
0
804
912
201
46
568
352
305
267
51
751
311
533
156
438
481
99
823
280
11
137
980
404
405
387
592
399
346
301
371
428
697
747
130
104
965
905
250
832
983
118
230
424
184
23
96
241
901
190
867
993
287
507
254
148
964
264
287
838
80
333
502
325
663
590
791
137
39
105
714
13
758
706
939
189
118
172
552
248
481
778
668
160
896
85
887
356
539
960
639
189
32
516
125
394
415
369
165
410
743
407
230
593
493
307
560
232
743
829
123
391
781
88
941
843
199
863
214
110
594
41
634
403
924
322
877
727
428
213
796
557
877
426
255
575
13
133
252
994
167
216
364
844
910
778
757
547
906
246
122
659
157
173
132
260
473
366
367
865
823
74
689
148
443
608
614
752
901
133
892
795
933
334
567
945
582
422
941
625
513
584
171
194
753
1
208
416
619
40
853
754
876
483
678
839
881
380
914
814
676
142
154
794
341
759
560
659
414
632
259
940
332
174
851
259
202
468
269
201
547
684
210
509
195
321
61
229
74
753
252
550
58
26
199
863
586
41
159
296
397
860
237
603
710
578
770
917
393
757
462
427
983
259
622
405
458
998
931
982
698
40
680
68
182
134
681
696
190
132
884
644
944
714
732
464
929
361
53
516
379
527
774
417
158
728
60
893
205
437
774
486
502
695
461
486
98
641
879
644
996
687
314
294
108
80
734
420
710
751
77
333
193
966
577
324
284
27
292
851
457
953
224
547
416
687
60
329
742
589
571
314
331
496
296
174
57
99
981
750
318
474
200
466
139
986
962
27
88
700
738
143
608
257
141
555
684
246
995
717
369
94
282
362
928
960
225
945
940
525
306
904
229
618
915
122
720
289
576
121
144
837
809
527
956
29
822
416
883
181
979
280
15
867
952
809
422
990
113
236
412
582
157
575
156
598
13
860
900
739
347
439
411
813
594
12
246
341
739
679
98
258
383
394
991
35
989
927
921
102
795
96
944
179
734
407
101
433
473
201
322
637
450
416
165
664
975
490
664
106
729
699
320
837
694
471
925
670
718
900
163
282
429
492
77
948
564
877
144
835
601
333
666
621
824
773
150
254
0
221
805
656
874
618
720
593
836
134
346
22
822
14
204
572
346
516
486
675
593
4
363
97
124
1
922
782
347
770
754
674
894
334
522
793
642
384
951
675
909
313
678
849
693
397
451
960
655
534
718
849
741
38
84
331
950
234
758
783
788
976
809
962
215
742
812
400
988
158
752
463
342
576
9
728
952
150
767
357
420
7
46
315
847
74
268
995
989
244
695
957
645
31
690
749
362
144
374
879
612
739
690
703
732
136
190
405
273
190
541
281
940
939
247
957
650
41
447
454
894
527
425
304
973
94
600
475
796
781
174
525
146
68
757
973
759
667
354
277
582
587
51
389
773
838
1
872
153
292
607
726
445
843
749
233
453
713
489
849
954
989
26
954
762
481
765
456
258
575
832
321
486
490
538
374
360
493
811
359
541
382
466
298
616
456
429
120
479
734
925
391
51
212
327
691
946
279
514
386
682
810
823
989
538
45
713
170
929
804
354
444
480
752
968
837
232
963
141
321
227
581
156
903
787
563
246
103
569
550
24
969
798
204
494
79
632
751
684
186
891
813
246
945
727
869
86
724
665
591
146
88
577
152
269
943
321
488
417
65
201
488
336
275
124
674
127
710
235
225
907
195
534
722
994
625
473
412
875
124
671
806
202
67
816
440
454
219
26
30
787
688
357
185
368
817
523
271
14
464
627
979
550
443
304
713
769
349
848
748
306
143
382
852
648
688
752
494
287
224
950
546
133
459
743
867
599
606
307
620
9
671
416
510
86
228
213
175
17
932
728
128
198
257
949
748
686
597
693
539
133
955
128
619
58
162
263
234
291
32
409
439
461
651
337
936
922
664
275
666
39
85
612
809
280
410
226
834
258
283
664
960
796
353
931
689
635
525
503
749
153
2
265
995
100
270
5
294
588
61
387
406
771
925
361
600
460
806
861
601
413
343
285
10
150
820
21
341
271
769
538
988
35
482
467
113
567
423
708
77
533
764
428
111
318
471
574
676
107
555
110
883
914
678
427
482
847
842
395
289
765
786
564
993
453
158
644
580
291
98
243
436
406
526
188
619
884
62
98
463
590
666
176
448
980
121
787
72
374
277
426
509
916
332
702
736
812
810
548
413
453
893
778
726
876
763
761
796
427
766
784
976
601
670
280
987
66
971
511
889
189
712
575
729
607
176
956
873
326
855
580
970
636
113
733
503
786
468
289
807
352
295
373
712
311
746
50
198
249
213
997
154
910
799
537
620
489
588
536
926
290
4
464
628
597
177
888
187
37
456
404
567
580
113
61
903
60
333
862
759
308
611
480
627
817
224
348
339
142
561
529
193
697
734
303
872
518
380
977
657
496
382
112
399
767
131
412
291
791
846
429
7
180
181
703
175
905
142
458
671
654
433
364
881
470
288
685
172
565
446
231
994
943
245
522
573
39
521
955
731
900
189
130
381
616
128
131
422
225
775
980
131
518
31
62
187
926
180
125
463
378
826
683
810
440
343
342
972
681
996
613
295
88
836
581
951
922
678
120
643
234
67
869
818
956
333
353
855
558
554
120
48
796
293
405
43
458
922
516
581
764
867
492
428
688
370
618
253
864
441
499
154
345
639
308
632
152
938
719
300
530
506
891
779
726
810
808
245
704
70
16
313
701
402
704
989
482
695
100
885
114
747
310
754
831
295
987
101
620
495
250
6
972
91
728
833
620
189
408
55
99
86
992
239
855
191
302
306
765
78
15
875
383
323
97
435
740
681
763
600
967
114
726
634
63
322
459
82
264
171
403
482
608
888
862
774
720
951
330
582
81
226
418
593
165
981
646
602
37
915
650
937
602
55
873
496
559
927
389
61
344
682
425
542
100
675
177
686
707
878
321
499
494
919
728
246
523
418
655
850
751
624
999
679
774
94
327
552
711
169
296
772
867
797
171
792
521
950
343
877
879
125
928
169
467
921
85
433
167
230
600
490
241
502
652
673
155
102
608
113
572
623
323
274
133
131
644
799
616
170
349
14
364
939
873
594
339
109
668
663
350
837
346
501
724
411
644
13
464
381
343
880
685
458
573
98
459
37
382
19
570
571
411
131
287
614
31
459
915
829
291
926
169
960
908
220
694
475
89
734
685
743
496
385
987
382
211
677
518
426
264
53
200
56
617
538
460
337
338
685
246
118
625
43
199
297
186
331
606
657
416
220
207
368
188
56
345
309
82
332
424
886
101
571
241
265
294
653
446
280
48
683
937
947
220
237
185
655
264
298
546
607
76
376
665
684
785
751
391
937
174
155
65
435
733
22
560
11
785
907
754
313
139
619
528
55
381
238
490
196
887
428
343
691
533
450
248
261
365
47
420
147
397
497
692
736
522
599
761
436
349
543
280
533
821
842
979
777
571
856
34
332
268
836
35
474
912
91
466
392
426
657
771
434
663
944
581
201
274
896
827
352
360
774
38
113
972
741
603
209
102
173
55
649
32
11
817
223
496
843
629
851
197
557
771
312
158
721
839
739
632
26
443
27
554
51
99
767
296
723
342
149
818
577
125
982
419
877
844
862
249
273
449
152
460
553
744
858
422
968
638
277
442
583
562
388
751
121
173
702
407
527
314
187
468
901
561
904
375
484
640
911
785
442
385
165
923
386
632
569
356
338
707
26
359
112
599
250
352
455
107
90
240
294
225
849
555
116
861
127
535
672
210
757
258
897
510
511
409
37
930
595
576
400
112
717
180
784
926
118
66
60
920
799
141
937
483
53
193
289
149
199
400
26
426
882
354
322
335
223
317
674
326
823
503
41
309
601
317
882
881
679
642
587
146
170
980
900
717
187
132
651
157
469
503
863
566
436
106
140
214
590
499
826
488
526
27
966
824
396
876
915
210
618
11
759
454
227
764
848
343
430
878
681
283
874
770
576
834
636
741
744
613
164
552
420
833
718
470
905
310
967
334
507
58
463
364
538
702
275
818
482
241
1
277
372
395
443
131
248
613
268
576
674
924
817
79
514
195
825
255
487
643
707
46
666
294
714
47
2
448
527
499
907
783
883
274
631
813
28
573
672
350
293
947
747
823
984
855
169
835
478
575
415
806
993
833
436
989
3
468
526
766
121
624
958
47
624
34
106
384
962
812
129
396
430
874
336
34
744
251
777
955
419
97
143
695
138
933
895
487
940
414
281
427
92
612
487
670
379
98
637
816
463
78
465
530
468
216
637
108
982
704
399
84
273
881
169
44
708
274
497
229
104
540
711
17
480
569
534
12
651
171
717
371
805
21
393
291
102
120
946
689
610
56
314
508
210
577
224
884
167
100
408
858
480
507
871
940
20
491
442
390
528
711
153
15
472
649
469
190
120
910
246
568
203
152
29
668
783
714
95
691
249
671
659
786
739
569
604
209
770
851
258
930
434
921
315
962
735
974
985
611
436
514
757
443
909
364
449
337
300
405
810
151
397
486
379
357
495
520
656
928
601
639
910
738
80
470
305
614
954
909
263
957
425
438
856
507
238
534
218
464
419
144
253
677
0
767
800
955
737
42
813
378
330
959
428
183
71
159
379
888
302
517
409
57
605
352
745
951
508
166
445
878
511
294
182
36
225
373
948
641
552
617
98
752
868
872
301
891
764
574
29
149
182
659
284
682
339
771
294
654
749
885
929
471
128
124
863
458
451
906
166
566
705
81
420
171
887
372
127
209
128
558
313
579
456
903
761
905
598
368
718
588
451
49
265
792
119
104
840
804
43
555
596
858
309
334
282
850
611
80
772
504
39
826
490
819
511
234
778
519
871
652
375
578
647
684
574
574
96
356
958
367
639
418
471
502
775
696
15
198
351
941
165
585
626
865
477
150
761
126
891
621
241
29
839
368
221
661
285
942
748
846
11
949
581
209
764
967
845
268
834
292
520
594
958
1
86
327
104
77
48
883
492
470
986
57
552
248
721
536
580
895
544
309
416
380
377
873
203
246
415
397
170
891
201
414
780
194
977
826
776
926
790
696
811
610
187
771
530
653
663
222
934
726
910
435
901
289
36
172
880
263
38
6
272
94
693
831
457
732
876
862
264
931
380
397
190
978
295
407
35
692
676
273
801
789
24
925
627
809
776
212
551
543
165
414
591
159
459
571
168
603
783
476
962
677
684
754
570
195
462
225
961
970
184
487
632
196
192
420
799
80
482
106
776
823
422
483
305
745
245
753
439
775
677
819
975
112
640
177
605
771
587
179
789
968
894
474
543
653
665
323
33
443
461
924
876
762
641
132
705
472
16
216
926
4
494
305
86
920
327
609
844
119
385
244
82
87
317
603
819
790
973
854
937
503
253
558
603
757
512
8
773
155
388
684
896
15
216
776
301
494
916
955
535
681
487
782
803
38
856
593
299
287
124
243
125
870
649
917
229
496
463
570
681
466
186
381
796
225
277
48
846
179
326
997
955
52
21
99
710
319
772
364
620
195
145
857
875
34
805
702
742
6
786
329
987
107
165
770
198
545
980
843
498
84
710
320
201
254
77
540
537
56
937
611
830
144
881
265
983
554
435
609
477
285
70
54
658
530
885
326
814
206
875
563
457
993
688
257
392
610
79
194
153
822
929
318
951
121
306
238
792
392
467
401
447
155
757
24
581
867
554
45
837
346
319
322
527
83
553
896
944
761
399
910
621
610
780
102
473
424
759
972
531
420
226
421
615
361
772
972
101
434
970
275
983
223
62
205
329
731
937
629
784
358
560
803
89
96
511
726
304
178
107
902
906
453
840
190
546
795
743
807
254
917
523
281
535
808
37
390
37
791
759
826
784
99
628
261
52
833
21
425
587
530
32
556
499
778
840
58
569
954
302
436
86
777
509
327
193
743
276
889
142
378
227
85
194
735
166
996
554
473
199
558
429
473
509
750
506
203
815
75
705
697
901
676
998
172
960
815
500
62
359
112
64
63
432
831
699
797
746
556
813
902
983
266
314
884
390
585
530
18
224
393
221
519
19
993
718
571
15
825
727
216
695
976
108
506
97
501
652
162
402
852
539
370
943
270
324
301
773
88
423
803
986
488
327
68
911
768
689
838
899
306
89
765
477
449
8
237
535
258
355
462
899
97
773
673
382
117
139
884
126
171
417
435
216
110
589
664
832
176
738
781
706
560
981
229
665
212
963
73
20
395
150
943
950
906
667
690
57
123
745
468
604
973
431
380
215
111
629
966
364
439
563
824
425
40
91
150
40
560
19
455
293
931
577
838
533
608
583
935
413
132
162
921
261
371
883
202
134
811
235
743
107
926
816
64
343
650
689
173
847
802
21
657
870
687
553
720
940
328
554
66
989
557
880
461
767
688
276
680
510
520
224
696
612
800
678
83
974
252
526
193
907
820
868
153
907
969
325
520
599
847
969
746
491
316
274
195
210
703
412
141
653
762
228
44
660
851
588
802
783
598
565
546
136
248
874
341
929
962
454
375
36
855
538
376
205
756
259
470
278
83
885
300
293
164
455
171
125
373
845
884
781
876
831
144
518
793
951
604
863
606
741
236
823
344
423
782
680
832
985
181
913
433
695
831
44
877
331
311
27
272
934
101
818
395
425
579
830
679
541
780
216
979
479
994
226
243
503
811
21
700
897
666
686
437
537
761
25
677
184
178
311
34
662
975
69
617
914
474
668
248
15
270
224
642
677
284
861
681
473
689
26
177
581
719
419
375
925
776
937
979
835
402
736
483
951
263
157
384
563
391
136
896
680
411
681
832
783
39
396
779
159
526
727
943
621
545
384
710
74
233
329
665
76
634
403
383
966
585
850
266
203
840
104
569
495
842
14
21
471
86
634
304
635
17
168
803
935
323
962
736
563
170
134
501
490
770
991
959
679
738
883
960
103
372
919
20
498
329
407
396
48
648
944
559
386
737
397
999
785
401
526
986
503
718
514
173
324
135
802
995
158
745
325
494
817
786
494
478
341
745
938
261
752
448
628
643
913
124
880
720
584
699
121
253
15
522
304
664
994
339
900
579
789
856
484
744
692
529
784
14
393
953
29
340
348
892
237
148
85
665
900
601
579
907
786
195
480
774
80
977
706
944
203
148
632
300
889
658
32
737
123
131
960
552
251
419
336
676
404
612
118
851
321
28
129
214
184
799
891
626
681
803
591
599
545
779
646
741
324
934
386
215
710
367
669
293
35
387
730
376
589
316
933
496
833
79
694
919
630
170
270
690
504
25
545
176
521
686
632
441
147
227
234
390
284
856
101
918
567
881
149
946
920
136
234
753
455
256
453
328
978
341
227
175
753
580
127
772
530
204
399
743
645
283
953
272
860
800
988
278
181
422
576
863
300
698
534
292
532
666
399
845
858
301
795
114
969
25
682
707
243
536
59
517
602
622
284
424
430
580
342
944
871
82
849
172
36
216
920
781
203
576
17
587
234
248
974
504
780
969
996
38
747
300
978
693
755
948
102
188
707
34
674
689
161
588
582
493
421
702
340
265
25
405
610
83
91
523
840
376
279
54
861
368
611
516
830
230
361
394
92
1
242
84
623
655
773
767
539
968
183
791
907
725
433
601
881
909
639
130
274
666
193
25
96
912
982
817
278
421
404
539
427
225
552
317
78
685
877
456
285
30
141
923
697
767
628
146
674
460
407
888
658
366
532
522
236
148
385
667
117
384
692
376
786
563
164
5
784
582
805
677
352
164
781
996
99
516
280
509
805
971
270
355
738
396
921
968
614
111
358
448
547
338
922
973
253
874
341
708
130
569
489
223
56
688
156
275
879
399
201
693
465
743
330
369
770
284
508
774
384
570
645
746
23
146
166
36
345
900
434
815
373
605
432
729
786
725
539
573
201
833
31
700
862
778
79
142
931
175
532
799
161
591
200
975
916
132
96
423
176
730
93
664
233
301
247
90
312
835
886
565
67
229
281
271
309
743
2
978
652
650
475
75
222
217
515
376
393
666
819
648
111
70
844
875
431
230
691
447
489
236
706
751
682
271
209
87
402
985
949
816
256
42
662
637
333
994
204
777
117
634
902
602
60
823
874
105
824
207
987
850
674
360
413
571
210
687
78
696
169
174
472
966
105
181
635
573
352
226
783
975
490
668
64
264
207
602
201
70
986
105
430
275
903
5
912
207
510
883
38
859
14
744
77
459
108
428
266
740
886
422
593
652
738
377
863
667
269
33
108
895
636
302
51
493
356
419
670
857
397
612
453
631
612
569
782
381
696
563
735
163
641
295
217
620
490
454
26
716
404
519
600
865
131
781
76
125
722
935
202
364
781
700
13
113
883
73
861
521
517
683
26
198
76
711
658
711
276
64
112
746
273
751
201
208
345
629
264
812
760
664
171
758
492
838
903
701
370
374
765
395
986
917
543
964
88
112
447
337
731
353
192
436
178
38
892
427
502
515
217
63
96
906
952
5
184
196
577
474
459
255
108
595
19
57
264
962
131
617
666
335
11
485
395
186
789
312
341
166
637
33
819
290
380
796
438
666
736
738
386
18
122
865
576
43
527
165
92
960
353
955
84
629
731
304
176
948
16
331
527
105
253
643
173
531
984
306
648
594
488
981
701
733
474
569
622
714
111
634
472
501
790
163
52
666
394
388
353
557
288
234
337
104
528
534
981
522
609
543
153
392
579
515
350
688
681
316
377
373
815
367
942
745
972
821
551
885
724
504
910
803
817
740
212
941
690
788
391
294
287
591
16
332
486
447
450
468
726
130
601
713
262
732
915
491
877
578
796
279
24
726
226
169
361
673
973
219
402
852
435
165
429
463
216
564
391
956
926
231
512
1
989
539
989
259
747
755
222
594
144
167
284
93
211
420
564
14
533
958
771
260
87
425
58
698
769
735
520
316
494
432
998
433
383
546
512
488
821
636
395
458
610
105
34
793
940
144
109
120
69
48
184
953
826
338
699
910
371
558
653
831
636
876
218
288
671
36
217
447
752
856
37
648
232
47
251
307
429
483
299
633
609
25
45
982
292
135
155
56
377
639
940
701
668
912
500
606
620
693
673
634
443
480
832
285
920
882
903
792
416
833
750
793
822
833
591
210
449
965
176
589
951
599
652
208
377
79
31
10
24
366
763
496
521
294
236
373
95
477
284
601
0
290
459
493
494
827
745
48
918
734
52
577
547
897
825
856
508
442
548
608
261
942
667
872
747
53
350
0
204
625
182
570
124
899
48
561
587
863
458
944
783
390
655
307
741
682
273
532
226
747
909
24
285
248
382
283
427
587
937
602
667
581
179
919
364
882
28
658
511
615
377
354
642
975
991
650
898
503
252
16
456
219
333
159
516
426
667
987
94
566
830
385
971
839
905
850
922
743
216
541
421
743
330
526
296
517
669
122
26
936
844
924
177
285
928
165
729
95
500
930
898
837
156
380
524
962
237
35
693
576
662
3
484
340
267
977
207
883
125
513
813
264
709
21
667
130
698
533
417
67
710
925
676
943
588
438
169
495
636
642
51
142
381
893
849
379
222
388
436
111
666
868
323
468
917
983
868
143
915
47
402
128
730
392
431
270
193
49
281
878
52
452
696
462
305
569
829
34
638
707
432
241
742
151
850
561
724
403
214
152
728
735
331
519
114
48
586
122
701
879
387
227
224
887
137
490
993
734
226
935
265
246
721
171
310
120
314
987
555
561
127
243
428
290
893
57
221
890
603
773
352
52
809
571
300
559
117
550
283
495
934
672
18
234
349
58
913
564
2
835
627
771
402
357
137
80
890
384
963
202
733
805
173
820
51
97
338
257
827
297
461
899
332
748
180
605
233
435
184
222
188
609
592
836
529
342
345
25
424
432
916
299
724
768
324
464
39
882
128
296
641
294
842
292
656
501
170
415
793
753
74
71
783
174
83
599
881
815
314
790
143
758
21
70
775
48
205
593
671
809
599
363
942
977
347
947
651
936
465
835
182
325
879
87
560
72
383
424
117
191
519
24
411
477
954
304
660
601
384
982
807
579
880
352
913
515
848
655
736
558
137
595
45
263
969
134
349
350
664
233
510
804
244
423
347
640
615
504
926
916
209
616
334
20
146
524
928
690
952
351
876
764
263
238
621
601
588
975
490
815
214
161
636
136
277
554
811
628
830
870
700
197
145
882
61
265
606
797
996
946
69
593
857
294
331
363
349
270
708
6
87
699
199
928
310
152
675
372
556
96
753
553
840
60
43
819
475
632
708
949
637
948
673
848
448
13
422
782
767
486
19
235
129
938
986
193
418
258
263
903
933
563
869
461
741
608
816
749
32
218
893
181
188
376
363
496
3
634
487
108
135
334
230
996
112
4
228
413
935
569
978
333
347
353
674
990
426
165
53
355
276
196
664
867
595
819
875
887
963
482
307
712
478
764
662
148
91
229
425
835
21
85
521
692
922
247
372
161
814
505
675
254
453
611
298
588
943
403
733
17
609
112
373
158
861
594
925
836
31
952
513
9
814
674
308
847
828
736
288
233
411
86
7
532
901
913
135
167
943
9
918
312
521
577
496
764
242
222
199
250
446
686
762
841
917
786
901
918
561
158
458
789
250
819
372
144
718
139
725
504
584
239
284
452
192
828
473
551
288
441
332
244
164
900
752
359
863
599
119
381
576
708
294
138
948
112
972
89
408
47
957
681
149
984
848
78
929
190
366
67
807
973
274
442
270
700
695
353
470
917
829
174
921
463
798
281
452
214
96
459
430
630
646
644
835
75
252
335
462
171
907
628
230
906
157
419
942
710
854
328
138
564
304
708
974
460
320
208
129
709
227
120
51
374
302
527
944
93
969
627
399
469
656
394
601
28
115
182
821
567
11
255
284
335
128
918
590
660
360
185
93
426
243
811
717
607
742
789
442
579
277
649
692
504
510
302
203
372
565
328
479
828
154
17
817
220
906
476
402
415
591
391
458
569
105
89
981
591
526
756
145
966
571
42
200
474
548
180
833
324
307
184
754
220
186
67
179
698
371
310
611
112
355
595
518
51
474
126
312
762
182
826
4
711
284
983
98
203
428
908
126
465
755
195
542
359
673
983
565
851
830
514
133
797
641
977
93
670
406
914
86
962
104
49
295
374
163
746
174
966
207
342
403
600
436
343
793
402
764
685
299
993
688
816
562
598
89
141
556
243
751
410
879
323
132
754
646
241
964
85
720
945
656
231
49
38
649
540
92
4
132
16
115
632
846
896
20
999
503
444
450
769
134
414
906
180
931
461
744
58
683
431
71
238
102
12
802
399
119
22
984
855
780
938
343
343
454
135
190
212
613
708
463
480
560
664
802
630
602
59
834
643
443
259
331
699
876
85
336
802
338
770
563
186
636
474
448
912
778
274
422
805
723
154
558
723
768
792
72
188
456
940
15
764
885
998
103
739
100
463
694
191
822
487
544
293
173
441
266
924
739
764
891
539
882
140
82
629
392
558
435
591
217
496
88
237
335
124
816
694
324
255
810
606
613
130
610
977
844
258
22
105
755
648
145
841
685
221
64
394
748
642
604
251
576
910
52
9
846
39
130
400
697
870
745
498
987
11
576
301
451
553
686
182
434
79
605
637
198
364
109
348
65
598
139
536
107
681
339
819
873
573
250
396
84
526
638
187
482
546
757
935
5
882
296
713
628
292
194
238
750
584
661
476
458
804
490
26
171
321
696
140
591
57
479
857
411
729
663
934
442
157
589
249
287
153
434
811
413
492
325
173
839
709
652
212
726
220
877
263
199
237
864
923
812
656
211
435
107
599
844
564
554
659
824
569
182
827
138
389
16
829
509
569
867
54
652
356
5
981
875
794
633
407
95
55
124
478
849
547
955
591
135
516
766
100
853
566
733
603
511
739
368
378
837
647
804
299
859
958
897
282
135
275
995
847
139
621
9
475
95
788
253
905
38
105
402
75
657
759
847
757
582
898
331
43
695
65
905
193
345
581
355
145
349
168
884
61
353
21
18
961
268
195
343
985
502
666
291
580
10
226
87
874
453
875
577
875
424
154
501
532
391
275
83
783
283
779
893
635
126
805
849
776
756
672
849
942
49
797
433
807
727
775
434
318
326
289
973
646
976
802
286
932
225
305
468
649
880
704
756
971
113
951
331
855
626
292
853
994
777
455
348
550
536
704
625
397
621
491
355
473
338
91
515
203
503
656
677
245
55
377
870
96
187
860
201
543
629
936
713
160
426
169
524
129
927
91
53
591
911
36
195
506
405
129
927
56
696
281
142
315
562
844
299
713
811
701
471
642
737
34
607
967
746
215
433
9
554
179
394
13
217
345
849
561
65
825
958
238
652
866
928
220
49
630
162
441
963
371
23
517
226
100
524
338
389
499
466
562
184
561
553
103
393
327
501
483
363
234
231
687
622
752
532
807
179
803
65
507
511
578
651
317
647
533
292
138
515
506
411
740
149
402
636
824
390
377
399
255
897
582
505
852
886
342
32
100
203
261
654
782
476
948
572
425
405
609
448
116
723
660
65
415
25
748
226
117
120
504
810
658
830
35
981
94
563
803
653
809
713
818
940
845
903
896
720
479
367
680
57
203
441
230
612
582
493
953
627
348
980
677
464
547
57
874
779
312
367
447
309
344
413
837
559
711
505
792
959
281
427
692
325
474
136
641
29
361
805
65
921
881
238
422
144
500
434
269
995
831
637
594
370
906
513
674
669
16
295
110
507
982
791
667
321
276
549
876
298
3
564
909
66
69
119
449
788
124
655
943
954
960
649
858
224
964
825
558
835
347
661
296
520
128
693
978
626
834
528
526
222
892
65
601
226
346
91
513
460
212
679
602
80
644
420
406
296
509
163
465
37
627
575
373
664
977
373
41
17
815
57
774
301
494
53
354
937
416
821
691
694
76
947
208
792
971
205
552
408
336
56
852
594
145
192
362
765
189
324
401
537
618
763
455
751
322
77
767
547
744
520
109
817
687
592
730
600
817
116
214
526
871
248
780
361
22
48
119
279
410
954
179
121
336
998
525
918
707
753
872
742
485
203
198
655
994
568
428
144
220
269
708
30
671
344
406
868
325
410
243
451
821
877
47
96
4
436
427
393
423
376
445
146
185
873
403
996
952
919
792
615
564
693
33
808
220
397
897
293
98
936
164
103
448
652
340
671
248
852
581
381
935
775
471
921
21
287
271
571
184
308
83
190
224
826
882
672
645
354
333
262
146
177
534
957
214
878
446
629
345
271
782
182
846
387
242
912
889
345
954
726
760
780
392
963
808
890
262
792
125
229
554
292
624
951
97
7
788
240
874
170
956
351
516
473
686
283
230
279
305
604
687
643
627
984
125
412
935
985
955
908
315
402
281
236
929
311
938
333
629
115
789
488
215
457
220
328
779
541
582
163
588
687
384
33
877
407
13
671
55
185
928
834
643
881
798
937
380
50
565
75
475
633
955
187
795
434
565
755
31
391
167
692
586
450
957
643
3
741
882
384
646
340
593
427
643
802
97
485
799
238
928
891
859
409
122
9
436
870
392
643
124
45
100
689
571
808
552
121
700
487
211
493
892
28
689
345
696
330
715
73
973
125
562
611
652
882
648
745
449
82
729
574
149
105
62
685
358
515
793
753
495
39
873
197
920
263
262
382
634
472
914
296
303
806
104
97
44
657
92
484
208
943
587
741
330
379
585
733
286
710
771
761
686
417
781
278
441
947
265
712
731
266
66
52
757
185
925
782
862
108
707
298
511
320
194
766
880
320
614
622
50
429
774
516
445
243
978
941
665
937
754
534
516
671
303
994
758
536
399
294
682
487
184
783
601
826
206
264
685
141
219
92
289
751
627
447
45
831
671
227
330
118
210
24
137
911
200
461
399
808
403
100
252
410
625
49
263
774
43
757
641
103
13
636
764
485
716
651
348
27
131
988
624
838
207
256
707
832
562
83
849
161
252
420
623
281
793
218
632
201
410
104
416
457
404
636
542
439
921
676
454
775
552
840
781
5
889
32
197
234
782
109
947
186
724
281
256
30
180
642
555
737
712
572
992
12
757
6
865
96
983
335
11
481
533
904
281
667
531
689
706
470
90
933
489
280
569
220
546
854
37
265
553
807
936
168
245
472
389
818
228
746
298
607
663
726
547
827
361
400
150
244
296
545
639
640
529
969
994
914
458
214
670
261
147
449
588
810
345
305
618
208
827
399
867
781
134
683
418
29
253
759
611
867
296
641
619
103
688
98
956
10
734
912
610
495
43
126
485
573
295
169
701
742
256
748
720
589
997
466
664
811
557
659
715
941
203
178
664
582
63
849
240
342
784
236
330
310
857
916
704
173
912
76
304
234
397
279
393
332
712
739
835
137
115
237
384
222
9
920
168
62
777
787
164
981
947
755
944
1
891
778
801
691
913
485
621
475
615
713
155
39
803
396
690
147
732
80
923
715
369
354
127
183
882
669
884
604
931
991
402
828
730
12
959
189
768
157
34
842
852
109
202
58
882
158
667
155
814
43
898
168
602
363
744
732
332
772
11
335
156
598
956
296
159
384
681
812
943
80
69
736
435
614
113
260
647
323
753
160
965
706
802
696
911
654
862
960
268
291
723
771
267
438
672
728
668
552
395
617
392
622
766
652
995
830
80
554
272
849
921
23
936
233
279
216
412
130
920
511
745
324
812
785
44
80
304
675
930
326
1
100
857
729
818
984
243
690
871
738
395
588
365
308
865
90
344
243
652
597
857
779
164
312
815
269
977
818
38
572
842
491
888
465
7
171
522
69
615
699
779
242
753
925
797
875
68
863
619
12
572
921
187
845
812
743
82
616
342
363
19
867
889
528
368
483
815
880
695
494
464
257
499
188
806
689
523
339
630
106
679
194
464
267
152
256
235
477
982
611
222
218
59
259
380
983
697
828
957
12
577
998
935
55
80
707
211
432
489
356
291
233
193
68
960
456
19
934
266
758
273
64
519
954
869
355
62
214
269
325
362
393
596
552
817
575
9
770
649
435
819
450
678
753
687
934
225
262
481
489
815
909
867
587
538
732
735
717
295
853
557
594
15
333
390
976
873
777
572
999
844
58
183
468
369
149
594
105
482
669
861
56
273
428
329
801
535
192
994
616
723
344
250
822
809
100
514
350
111
188
232
936
664
522
887
475
491
678
985
279
724
568
87
327
95
123
427
517
222
734
16
16
877
137
938
105
20
607
807
870
345
875
228
103
228
105
734
782
910
201
499
128
889
867
312
767
529
303
793
955
159
550
930
498
256
705
711
594
632
905
986
692
26
232
799
968
253
157
580
200
984
520
562
784
943
218
361
973
201
976
493
993
933
886
42
631
19
921
397
907
12
579
445
290
760
851
92
439
513
382
115
495
734
799
616
216
354
371
845
490
581
805
632
413
9
943
954
68
169
612
920
138
953
99
53
13
109
872
883
643
429
400
846
288
837
265
986
743
100
417
339
35
380
409
345
135
939
935
13
940
939
309
698
939
70
612
481
10
912
973
126
498
399
494
586
943
834
911
42
542
21
852
604
436
376
703
224
416
85
293
270
929
252
989
726
626
130
361
226
29
18
770
244
493
640
822
855
277
821
689
612
105
362
791
578
925
279
994
245
3
195
440
71
472
780
785
543
43
923
169
178
313
342
564
251
539
558
134
747
112
528
824
919
175
8
837
104
12
778
379
930
148
901
106
524
144
725
49
582
100
893
376
810
569
57
794
562
941
510
429
257
328
40
671
947
481
387
189
947
584
946
840
622
773
402
503
381
293
905
253
304
92
188
596
212
949
450
746
809
855
465
726
323
82
584
30
655
49
191
115
890
148
998
424
199
630
549
551
743
762
268
105
44
804
304
358
807
77
880
519
287
639
174
153
60
720
59
872
72
440
850
136
116
325
977
985
188
215
792
356
416
523
221
940
65
871
380
659
526
817
721
320
548
172
313
475
878
289
582
163
250
754
268
343
75
538
864
96
74
203
868
516
46
454
282
595
815
967
85
877
831
586
873
893
399
724
279
218
196
837
71
186
388
267
309
456
766
651
921
519
754
56
412
104
685
997
868
403
762
573
758
23
82
609
627
830
357
598
807
808
240
457
846
44
604
695
265
243
518
824
76
225
540
113
568
340
968
925
525
772
361
661
986
216
175
331
97
227
109
754
657
902
602
22
341
480
296
437
65
189
263
222
131
562
819
53
760
39
568
438
595
678
381
224
293
778
844
914
945
444
62
291
657
596
72
416
170
666
671
764
581
701
106
297
350
306
630
545
80
935
252
621
377
798
884
707
33
608
447
4
145
919
860
911
433
292
811
140
921
773
506
59
218
640
518
319
355
943
920
116
154
102
560
145
393
934
613
630
701
198
474
592
346
560
936
423
85
639
114
720
859
50
368
968
523
946
520
99
213
734
433
634
491
825
946
153
754
452
251
152
519
130
990
253
653
682
7
49
572
284
752
128
203
111
756
237
731
601
703
187
888
368
671
298
18
999
715
965
127
381
252
569
711
886
623
893
600
259
641
640
989
220
219
370
480
824
155
149
338
506
413
293
177
937
719
926
370
382
111
139
854
662
569
446
888
876
222
94
455
942
465
998
551
968
206
866
96
359
808
864
716
892
877
466
107
954
882
631
202
613
679
149
305
197
831
465
778
921
221
357
189
130
720
926
944
399
639
884
928
770
961
551
144
7
209
997
190
477
697
667
787
263
642
85
741
725
996
849
441
376
496
934
42
289
257
445
891
48
483
182
58
255
523
405
543
105
473
892
606
14
435
800
826
590
381
421
601
161
323
220
821
211
779
645
716
362
86
332
359
413
971
156
870
795
262
814
227
767
709
687
340
646
214
408
70
748
785
429
8
440
486
835
68
781
212
407
350
737
759
130
760
239
492
64
384
593
25
675
869
552
228
165
408
432
803
71
939
405
85
520
522
768
192
22
614
415
541
918
987
513
238
242
805
355
686
587
897
782
525
374
425
913
595
47
705
923
885
351
595
996
219
395
670
12
832
419
417
632
135
38
318
213
562
597
405
322
983
237
728
412
404
3
843
65
719
475
694
619
266
230
220
150
3
701
919
757
359
907
873
731
508
135
774
785
560
604
77
41
974
401
39
743
690
22
406
52
949
908
966
534
664
759
432
417
534
593
162
924
411
445
55
782
372
409
84
22
886
152
654
307
959
834
395
487
167
65
832
255
642
189
145
70
659
549
340
823
687
246
455
257
977
337
849
948
994
514
904
52
642
138
758
65
163
724
378
588
247
186
135
327
593
18
410
829
785
563
589
128
77
597
357
240
942
714
370
382
446
529
820
579
87
996
568
474
928
236
992
696
948
180
962
113
248
623
856
718
488
334
361
725
912
238
720
759
338
667
68
485
328
740
655
273
826
68
23
685
566
366
904
363
914
181
786
271
562
71
961
384
707
416
260
98
110
90
656
350
797
298
289
804
607
436
741
931
679
768
611
183
972
630
768
786
236
508
822
449
87
972
92
186
654
5
241
211
132
286
560
445
212
301
684
223
709
93
808
71
189
4
367
265
338
26
732
86
698
187
545
270
59
661
334
37
125
690
977
380
262
610
976
370
718
199
845
852
135
852
534
430
632
368
806
948
416
389
904
909
969
11
693
192
331
83
872
172
781
803
633
40
872
290
634
831
832
708
940
946
342
708
460
927
953
263
157
345
802
972
947
202
251
725
494
720
65
152
631
288
63
688
718
274
324
408
421
387
28
209
457
318
730
366
158
465
960
519
583
168
468
978
298
665
254
630
658
785
659
22
920
439
439
719
571
573
955
751
820
191
752
476
55
518
580
259
928
35
4
635
603
320
939
873
978
384
176
148
837
392
171
690
803
438
446
299
219
802
66
159
127
709
845
431
758
834
393
81
314
74
433
858
729
782
941
564
11
692
965
354
493
980
828
719
533
926
357
120
720
643
864
290
270
328
823
784
934
326
158
433
932
323
871
326
398
957
222
467
137
645
194
402
613
319
644
430
624
155
581
581
115
841
455
984
93
542
699
248
513
42
663
246
120
520
333
716
184
469
594
228
871
436
938
217
541
341
75
123
718
914
271
205
567
32
931
708
154
567
869
89
636
702
503
603
731
436
336
705
597
826
731
675
143
744
671
882
526
511
456
404
991
386
519
170
254
670
88
59
289
248
181
284
773
860
157
804
986
513
497
175
405
842
977
705
968
105
612
484
898
867
500
471
60
808
690
626
477
572
234
175
547
977
54
43
117
744
785
319
2
714
810
485
587
534
443
397
700
928
104
431
483
721
914
759
816
658
310
929
542
582
864
102
510
300
709
491
654
693
883
530
408
70
980
640
189
185
684
716
754
742
947
371
17
286
372
413
943
323
329
558
221
40
232
459
960
546
179
345
625
956
65
368
476
511
815
23
585
107
290
339
805
14
160
786
111
354
341
994
540
618
28
944
425
113
486
725
889
523
157
33
760
576
758
537
689
434
942
854
157
577
649
167
469
256
226
902
596
84
690
888
927
180
449
373
296
990
586
988
241
795
214
531
323
374
409
408
990
391
707
273
170
949
673
378
987
583
497
204
482
678
420
519
404
190
262
515
188
570
372
538
165
847
832
479
478
508
701
826
930
729
85
924
853
596
477
230
387
316
241
455
840
633
397
469
87
769
184
744
710
31
156
535
959
6
427
860
70
803
31
947
184
987
856
165
241
457
4
590
38
169
106
922
105
655
709
683
936
121
487
128
236
48
681
913
687
865
111
14
191
721
813
744
731
740
562
830
482
654
688
938
69
194
701
157
817
468
156
256
531
11
156
674
840
598
470
957
171
416
450
701
584
187
103
137
512
504
395
631
397
16
906
464
387
104
905
783
146
67
621
896
287
742
400
846
465
951
991
406
570
732
347
24
434
392
247
903
444
884
467
922
564
640
646
792
500
921
516
156
736
763
359
230
65
469
300
293
884
847
327
260
81
329
783
246
250
127
694
842
187
46
529
997
318
214
276
821
745
807
609
415
300
557
635
343
483
23
918
469
675
105
457
542
266
7
569
976
617
703
316
769
852
598
642
856
825
26
165
460
952
862
823
224
986
159
706
740
277
845
28
998
528
72
694
797
928
58
983
525
653
730
350
780
546
96
274
119
480
90
198
842
108
81
78
201
4
878
374
861
584
580
781
72
73
844
925
305
253
671
862
797
18
675
221
141
342
629
447
801
114
73
909
375
532
715
625
334
717
564
985
617
903
905
866
308
373
485
783
490
92
247
501
274
216
118
508
836
943
215
734
595
308
268
274
469
565
593
351
619
543
649
641
591
502
673
337
965
900
937
720
514
133
42
654
600
511
260
35
769
102
59
298
922
83
782
912
111
724
972
342
280
56
748
973
483
304
811
620
481
910
115
260
735
64
356
837
177
614
461
781
345
394
553
596
168
594
353
871
154
251
946
119
874
50
398
618
738
133
979
494
900
886
52
435
234
601
33
61
688
744
972
746
307
185
674
992
893
237
938
965
388
224
277
458
559
810
33
464
279
419
547
752
2
732
8
784
475
454
248
140
135
831
337
826
181
120
886
587
262
583
258
740
7
40
564
443
690
711
498
962
800
580
467
845
793
313
367
405
576
704
279
821
26
44
942
802
417
386
991
830
732
541
855
301
656
272
780
658
644
810
550
261
757
857
37
129
639
13
764
870
573
132
161
672
696
201
194
221
411
178
220
70
887
373
591
281
455
796
159
608
533
864
397
650
796
520
743
299
424
963
585
643
986
183
624
67
604
788
6
107
191
166
779
183
743
378
10
864
814
383
563
884
988
255
711
916
567
30
887
26
132
774
942
165
250
439
853
914
277
927
57
532
905
519
929
161
974
357
645
998
854
972
168
717
467
277
621
353
181
15
841
708
373
847
726
591
896
502
284
780
510
461
228
652
252
629
239
66
0
534
838
487
953
193
754
305
905
922
375
515
22
291
761
531
876
316
288
132
417
255
846
697
847
88
505
590
214
859
446
666
782
609
72
754
106
293
358
331
519
254
121
718
878
397
227
493
663
364
687
210
492
639
619
755
690
709
817
355
120
321
72
891
348
394
26
392
184
291
248
125
744
380
638
82
324
119
22
952
682
615
538
988
781
886
57
589
946
719
69
544
528
903
239
360
948
323
240
870
70
391
812
458
432
369
56
28
505
844
218
117
247
83
390
765
994
566
540
330
26
949
602
646
62
585
523
135
350
927
716
732
593
791
895
233
504
589
567
183
242
991
276
100
875
644
459
935
538
242
479
516
343
621
646
675
834
368
282
95
813
743
453
760
485
973
892
391
766
706
220
182
980
713
664
176
661
468
345
781
571
383
75
283
665
476
747
488
372
840
619
780
701
972
734
287
70
33
688
138
144
120
817
662
205
633
783
682
555
61
34
91
233
695
824
277
725
995
941
233
989
941
854
648
80
272
46
325
880
793
826
935
147
364
47
41
317
299
884
386
436
754
498
662
886
698
154
718
520
787
355
385
848
360
798
604
176
218
152
376
913
655
74
989
618
809
700
709
53
706
768
306
619
942
67
751
378
817
389
547
688
162
374
586
430
409
786
832
809
283
677
98
207
630
776
264
61
92
313
287
785
346
639
500
77
332
394
877
385
555
389
37
167
995
669
924
382
303
376
0
885
44
924
485
112
664
810
833
304
16
122
938
356
539
750
306
540
830
647
992
632
86
360
629
612
479
999
117
987
699
171
308
328
882
985
955
487
491
68
421
686
770
918
556
797
714
453
302
978
342
503
628
759
691
294
671
182
795
634
1
533
645
235
940
901
407
369
903
490
499
481
959
81
455
160
73
817
643
321
667
528
54
11
518
517
354
380
19
56
520
520
434
383
130
547
522
37
830
675
968
349
985
629
86
290
444
162
689
628
202
531
715
523
308
415
28
433
456
229
489
254
489
788
412
128
343
426
559
668
400
294
741
268
893
861
729
351
746
930
900
649
846
764
395
310
114
93
952
886
420
703
514
962
440
708
945
446
824
400
84
550
717
185
553
376
893
829
318
807
888
842
469
689
993
538
335
385
965
418
287
526
895
355
346
418
940
630
321
262
109
120
814
207
272
904
288
122
526
870
806
853
62
944
811
861
188
773
941
290
328
54
947
794
414
783
168
891
958
462
781
357
948
227
851
119
485
479
691
917
204
786
720
490
388
504
601
519
577
322
283
466
501
68
795
628
827
914
979
1
464
266
552
71
324
788
723
311
545
768
693
431
883
724
523
224
858
432
315
15
348
467
449
192
190
132
216
594
625
590
230
26
744
509
423
440
635
156
693
303
640
277
915
275
667
839
26
707
557
209
925
627
583
250
457
990
529
492
24
517
770
535
793
210
351
465
101
561
878
657
878
305
944
581
57
45
148
23
94
611
939
724
495
150
533
480
659
527
906
587
11
133
484
635
664
555
221
943
716
527
226
232
929
207
141
115
907
465
553
539
838
974
99
633
744
97
121
967
289
288
633
573
298
669
957
98
157
192
916
334
65
181
852
276
418
550
336
656
84
752
882
556
382
241
945
86
697
138
43
538
791
721
665
447
617
75
561
522
479
494
966
193
275
963
431
988
62
208
266
249
854
505
487
666
130
107
755
890
614
78
242
296
511
25
422
370
662
409
102
206
8
724
381
440
690
86
634
932
50
328
142
169
799
353
366
500
811
451
425
871
614
45
770
798
402
314
956
751
772
806
375
913
903
423
606
652
120
828
757
719
242
57
753
787
881
98
567
800
822
167
151
129
386
506
631
208
140
92
819
933
553
349
732
554
125
949
621
695
296
178
821
796
341
339
93
979
751
943
928
85
815
889
222
414
329
857
531
800
683
943
629
519
197
468
237
986
311
232
714
996
571
757
635
98
228
12
879
343
733
210
985
447
973
269
152
580
967
320
857
21
529
585
958
92
919
737
787
343
181
506
684
451
445
52
59
698
916
633
31
980
449
585
795
906
391
257
227
696
23
288
471
80
164
341
298
120
946
483
386
311
40
858
902
139
466
101
40
574
722
127
963
855
26
716
972
849
362
823
642
66
463
545
386
829
368
531
704
686
969
781
213
936
335
730
757
920
320
611
607
276
77
3
399
673
861
710
436
500
422
738
869
608
564
642
978
265
169
929
836
958
564
606
305
55
185
635
205
931
136
1
218
801
81
43
299
942
688
174
918
305
578
595
848
523
593
771
551
748
697
498
948
930
288
715
674
158
527
953
566
723
929
170
565
972
353
634
538
835
791
200
941
100
1
783
846
864
443
368
152
919
267
765
163
517
336
886
762
860
802
151
798
660
459
171
204
624
814
93
946
483
888
721
742
826
875
540
447
213
717
8
786
562
832
115
130
574
574
912
376
156
159
51
802
297
194
631
898
469
683
389
729
785
270
313
530
884
935
678
749
8
739
854
814
194
565
250
237
385
443
851
589
921
184
551
817
767
206
699
71
178
549
654
990
865
540
660
668
457
224
915
590
872
351
445
43
104
736
476
242
362
330
153
247
279
959
968
247
494
821
671
933
849
530
774
233
838
212
514
960
481
3
206
273
219
707
160
62
887
221
156
740
392
191
563
716
732
591
396
989
588
168
667
780
348
127
393
109
289
675
856
620
362
306
293
261
576
568
528
374
900
151
49
862
77
21
870
573
92
711
992
35
650
60
836
134
396
956
87
709
269
737
478
348
300
796
642
501
4
74
920
12
90
418
549
938
252
110
190
827
562
459
668
768
295
930
832
646
211
1
898
710
859
244
706
913
435
823
17
501
61
224
521
508
33
483
502
208
405
584
695
613
406
57
939
654
61
224
626
232
301
995
657
775
761
289
131
469
876
3
535
888
854
5
603
176
442
70
931
931
490
849
988
292
701
184
559
251
364
794
796
816
306
578
102
249
858
498
529
213
941
476
477
924
589
449
316
588
43
89
198
57
801
676
433
838
107
658
304
267
217
970
760
961
252
733
402
266
946
98
673
952
446
416
102
974
102
643
297
253
818
592
807
704
69
496
575
699
168
630
743
29
290
348
267
445
38
857
869
822
412
389
916
857
141
631
227
951
622
49
587
902
475
564
307
328
598
872
794
729
838
2
702
595
322
70
516
406
199
802
94
999
728
85
431
144
190
851
154
559
510
216
432
171
111
421
628
441
874
624
51
49
597
867
230
691
439
368
972
825
117
814
43
258
716
358
20
838
902
166
913
244
580
354
282
383
874
301
53
124
399
173
183
67
936
439
460
991
863
127
268
549
360
98
732
818
152
492
73
964
563
949
978
970
983
212
948
245
63
915
932
411
60
632
225
318
226
824
599
970
966
935
392
104
325
393
859
677
43
252
477
6
742
898
491
200
684
583
587
69
940
509
637
822
679
447
28
766
390
429
959
859
569
65
902
790
335
711
579
893
314
359
105
863
338
803
496
237
486
565
762
864
67
347
375
225
464
924
980
962
749
429
684
504
627
807
7
484
378
398
60
565
34
322
381
869
472
870
690
561
199
478
167
629
929
366
791
820
269
431
240
166
54
552
80
646
314
881
488
374
288
763
706
700
994
509
368
373
198
728
204
271
399
434
628
501
198
315
44
425
281
862
230
967
723
157
157
92
800
891
720
572
495
680
737
396
806
477
18
111
655
636
32
192
713
150
905
149
392
660
218
442
635
479
535
752
617
589
247
144
129
615
321
407
990
90
943
990
778
366
91
927
818
940
915
596
19
435
832
238
723
999
244
201
817
190
660
77
784
950
72
354
780
122
34
246
944
463
284
992
926
586
240
672
494
601
448
725
276
435
634
112
199
224
497
619
452
131
599
52
687
888
573
253
677
370
118
154
311
630
831
442
218
323
933
821
644
272
592
34
815
52
829
637
550
101
974
954
407
900
316
14
310
72
28
438
586
332
674
412
410
898
162
175
812
399
394
719
369
598
84
407
711
754
329
209
535
527
826
213
404
558
171
232
249
141
411
954
38
443
399
409
211
640
308
183
795
600
80
364
737
408
630
795
780
778
917
684
727
165
307
120
150
844
101
641
524
774
351
336
952
279
392
993
411
464
763
418
523
607
95
334
872
38
481
999
307
210
85
118
77
678
967
230
947
155
146
76
432
270
162
904
948
134
563
379
430
781
973
575
844
445
300
343
21
502
12
929
597
454
848
726
498
692
280
174
739
566
260
372
587
537
947
962
484
911
563
125
584
629
639
514
943
147
976
690
709
784
15
261
287
696
867
566
986
824
799
551
375
97
657
377
410
815
999
459
920
329
975
375
742
977
256
926
933
619
719
211
237
86
157
356
251
670
150
186
576
494
946
204
719
524
556
118
132
244
11
826
414
923
58
507
645
344
665
719
798
544
379
962
74
973
460
114
787
958
331
358
472
868
726
84
792
871
310
986
177
911
908
906
570
113
410
614
752
52
450
73
985
493
487
46
326
613
356
37
895
3
891
145
850
828
988
618
101
74
798
60
320
259
372
398
953
452
471
748
292
620
353
792
69
852
565
813
738
405
121
517
108
644
277
838
560
786
556
880
351
760
235
863
875
245
786
997
91
131
155
775
71
680
576
196
341
489
658
140
705
334
528
237
952
103
251
303
998
77
910
834
615
677
253
285
970
660
325
922
973
381
685
873
121
9
700
333
592
664
941
70
803
929
833
410
136
649
343
928
707
140
374
537
245
694
11
997
234
78
493
601
65
824
666
444
164
491
392
218
881
409
463
799
495
133
577
751
254
28
691
949
789
976
931
107
948
102
10
711
732
679
464
292
575
246
556
842
545
963
628
43
251
997
82
40
877
34
424
876
836
210
216
830
186
440
684
662
831
203
483
748
524
884
785
115
274
242
191
53
150
404
569
545
244
380
922
504
993
190
929
312
783
376
176
2
790
915
378
826
311
208
583
603
393
37
615
120
734
328
753
110
513
453
64
121
219
173
6
447
819
707
213
632
150
456
389
991
337
334
727
578
25
728
921
862
104
502
168
404
772
488
282
206
749
900
545
415
739
535
644
420
329
614
331
833
492
969
779
223
127
728
204
998
312
57
315
440
807
675
461
242
621
143
700
607
876
701
853
470
713
474
928
791
616
957
719
778
734
31
72
362
362
57
916
584
409
701
190
3
811
55
257
88
481
821
534
660
387
612
97
870
200
314
980
267
502
361
509
181
301
609
284
242
144
542
43
347
681
802
216
751
124
110
95
510
444
839
852
608
232
232
57
175
785
307
831
979
726
445
672
610
764
800
370
430
276
714
457
161
255
261
338
437
515
936
634
514
355
507
814
599
502
578
652
599
38
151
357
77
786
578
978
542
391
489
216
195
475
795
787
217
824
500
625
554
244
244
271
916
586
146
390
226
534
490
268
451
457
976
340
734
140
944
368
247
438
57
246
590
403
725
256
829
322
913
597
944
757
558
414
861
170
496
16
745
323
829
267
126
703
895
234
165
993
8
311
322
952
848
603
437
377
851
988
470
472
467
632
247
784
488
210
993
732
113
822
203
937
811
184
938
177
143
19
371
129
38
453
207
193
137
710
96
279
460
360
490
852
432
351
988
350
301
262
2
762
690
908
431
52
136
737
159
802
337
641
624
985
414
650
364
48
107
491
225
29
653
819
132
588
522
690
595
432
249
217
92
135
507
345
331
38
253
762
818
808
339
669
237
364
243
851
82
787
721
149
409
681
409
605
259
17
2
822
94
648
734
428
472
914
256
123
81
935
585
692
279
714
263
364
125
175
934
558
579
37
968
897
619
847
75
165
736
891
984
580
971
10
854
604
693
195
235
712
561
17
794
80
102
80
414
673
192
331
672
634
365
331
600
956
762
349
356
778
684
472
196
873
960
651
322
984
261
400
795
856
319
469
309
177
575
977
797
552
482
597
201
671
552
580
560
828
91
735
27
619
652
291
500
873
821
943
688
347
529
64
912
947
137
548
687
485
469
372
378
160
322
392
769
200
623
195
268
897
403
12
228
273
373
630
956
864
633
405
164
208
381
599
25
174
627
812
301
112
258
221
605
906
867
470
83
288
212
137
79
840
744
661
120
449
759
287
311
671
32
508
109
622
757
571
671
431
411
267
493
247
481
928
183
294
295
973
809
756
562
697
988
330
246
887
508
410
4
266
487
882
107
809
580
566
379
491
50
144
141
804
625
820
614
645
819
199
972
552
731
413
703
183
556
71
182
957
882
269
767
292
568
26
599
264
842
712
941
485
681
536
69
771
357
329
34
685
520
250
11
254
173
803
442
109
411
967
613
385
525
456
642
440
766
247
397
656
979
277
243
918
584
31
805
461
687
730
857
836
199
223
44
183
444
820
821
61
324
612
400
43
294
476
425
907
339
76
367
989
657
320
440
451
528
602
973
188
199
67
457
669
777
500
666
574
131
948
861
468
160
628
125
145
244
291
688
734
34
578
701
237
203
819
32
290
9
256
432
459
298
592
2
243
80
195
570
86
345
570
24
168
0
516
233
661
211
189
823
657
514
249
896
933
211
574
979
639
717
832
398
149
628
653
997
752
683
947
627
186
372
545
812
303
378
712
932
567
960
3
97
252
556
54
448
443
323
18
284
890
129
713
543
421
825
839
2
457
704
232
309
357
585
318
996
516
459
281
848
687
24
910
553
912
956
107
247
625
499
496
307
480
450
932
659
113
250
529
598
621
525
970
773
979
308
361
810
916
780
532
281
117
526
913
871
296
687
784
498
660
813
43
907
509
119
195
186
772
196
945
463
96
293
501
394
743
264
539
11
965
545
213
411
965
974
106
245
585
221
333
927
153
524
973
947
956
919
904
899
450
958
112
446
776
90
143
888
734
342
625
108
3
233
454
256
758
880
445
509
912
56
77
495
515
382
232
6
540
347
886
146
980
417
297
102
342
718
833
326
484
188
131
45
296
964
137
711
21
45
103
530
131
417
702
280
914
665
70
102
374
594
793
802
143
659
524
339
274
16
149
751
443
386
749
62
933
236
231
745
319
890
300
999
60
123
389
860
16
50
605
376
48
395
904
576
913
503
506
989
377
300
498
709
679
892
231
102
491
699
637
204
248
660
670
767
985
85
96
911
211
670
927
559
632
355
623
595
537
752
340
105
28
593
615
886
615
474
389
981
992
967
447
214
282
994
319
958
744
728
365
50
620
14
965
849
824
352
534
40
32
698
56
926
933
128
236
835
967
348
930
721
681
713
249
511
194
895
738
558
520
811
71
609
652
198
268
688
866
551
189
594
15
138
752
189
250
328
948
540
762
969
773
887
663
544
445
156
770
925
845
907
973
508
112
245
381
847
235
440
254
479
631
815
795
52
592
10
713
706
554
7
92
15
761
872
725
245
938
851
7
629
193
805
488
951
347
870
5
361
303
628
142
514
782
120
912
169
791
178
932
441
767
984
705
635
835
971
237
7
66
827
94
515
522
192
884
557
966
160
235
406
520
628
473
77
683
729
86
134
707
574
952
670
133
179
747
347
597
933
400
722
62
960
385
499
890
541
817
110
840
595
308
672
798
862
537
409
908
428
430
465
15
567
786
915
949
336
678
490
583
723
820
478
629
506
242
778
492
204
971
836
602
897
123
289
945
179
449
809
773
46
918
214
170
582
185
920
810
657
883
762
102
522
158
250
901
894
707
273
206
744
953
144
743
578
609
189
322
735
189
632
23
347
59
429
865
206
44
6
987
532
189
408
679
890
65
887
802
860
385
759
50
804
973
427
943
362
456
571
554
485
857
816
626
553
270
756
453
267
712
991
967
591
862
863
494
234
690
214
83
732
94
791
699
446
984
606
822
908
645
991
534
217
67
790
390
505
658
183
479
640
368
638
525
769
51
778
484
359
394
23
559
710
721
684
237
927
230
135
708
126
859
453
248
552
529
458
536
808
477
591
972
343
42
601
589
969
143
60
372
802
332
876
981
260
151
190
728
688
200
690
53
413
819
902
203
600
201
197
140
451
750
400
777
522
160
778
105
665
86
77
80
558
834
648
192
275
190
815
706
823
254
61
829
572
249
759
633
937
158
715
230
482
960
447
774
125
124
460
247
226
362
255
681
657
663
696
160
267
997
463
669
671
54
271
638
587
731
531
737
677
663
748
941
642
107
67
147
971
319
581
612
256
143
520
661
66
613
725
228
744
557
914
700
558
139
952
579
262
537
276
781
810
50
266
647
972
774
542
563
733
728
553
747
38
688
953
189
921
132
393
601
712
341
610
687
334
257
36
552
530
69
692
21
374
925
936
131
478
463
155
86
656
543
21
197
329
317
565
231
379
964
778
982
456
597
295
892
670
328
718
636
371
833
531
355
827
628
762
518
849
111
894
941
156
788
204
519
485
205
440
584
90
936
692
34
106
655
77
145
147
890
850
186
445
692
652
996
607
979
672
752
948
895
673
365
872
181
453
799
497
82
213
447
286
317
747
581
222
146
100
513
336
515
8
664
722
458
849
113
56
925
724
898
13
461
860
79
326
385
243
745
35
200
896
617
758
655
713
793
116
636
473
262
902
668
340
980
557
710
740
122
948
784
506
25
634
797
917
930
823
536
770
606
431
273
70
844
212
707
214
384
932
740
321
282
52
521
157
595
341
204
843
636
694
793
112
811
64
917
996
560
483
641
585
500
594
555
814
330
98
721
633
706
352
992
773
470
604
672
724
688
810
658
555
671
121
39
218
721
214
659
66
567
339
876
949
204
583
730
609
126
187
767
65
248
341
317
571
236
517
913
240
414
561
327
18
520
470
290
294
417
545
831
67
471
292
759
4
919
34
467
334
448
193
253
886
912
8
567
787
709
841
448
129
968
447
227
297
547
205
965
652
808
8
589
376
128
655
42
121
294
530
756
273
925
808
706
202
291
515
382
345
402
312
915
948
609
825
909
982
595
40
780
626
281
254
60
807
815
23
783
367
722
810
272
283
147
730
974
466
54
519
622
206
113
717
723
581
38
834
361
129
247
382
278
267
332
221
947
166
699
520
894
56
293
461
433
12
113
460
761
795
797
8
690
786
567
161
221
182
337
553
751
531
969
257
161
310
822
730
454
178
128
259
896
946
182
110
942
512
70
86
664
15
753
16
418
58
244
703
411
329
801
258
926
569
72
4
418
989
346
733
530
755
296
818
150
265
796
217
671
634
594
486
164
157
355
887
672
597
514
143
319
401
921
908
697
709
202
897
832
191
799
295
152
852
937
632
851
229
888
329
749
874
976
754
509
268
814
394
696
700
778
566
470
507
937
355
726
307
345
353
130
30
423
924
262
278
192
442
658
280
210
784
673
327
669
696
219
42
714
569
164
915
741
718
155
32
575
837
442
419
49
287
555
619
319
785
851
161
661
974
756
917
969
481
961
510
588
63
775
262
194
329
265
816
834
347
292
884
675
202
694
56
230
407
446
484
915
862
974
526
799
257
592
163
286
367
82
993
460
57
481
313
316
38
567
333
803
167
941
588
271
661
650
763
13
595
910
503
67
869
372
253
709
149
948
924
600
722
697
152
342
814
277
9
720
534
996
225
941
153
394
53
831
830
953
78
176
911
600
790
162
430
514
568
969
593
897
217
574
302
385
526
97
2
998
842
76
522
122
738
918
464
550
292
394
876
84
506
621
693
670
719
448
945
786
626
549
101
501
397
299
916
227
749
517
702
574
662
12
229
543
931
237
712
52
846
800
796
226
228
795
266
110
574
458
498
247
806
254
374
578
157
555
958
544
765
347
764
488
817
482
51
398
301
958
73
52
668
808
369
262
344
563
789
777
996
325
961
50
377
508
595
652
653
997
306
41
897
444
203
662
449
204
58
579
830
21
727
868
472
737
823
134
773
117
11
461
453
190
887
418
697
132
770
551
592
551
594
33
839
790
159
287
322
813
349
1
77
2
182
501
20
895
579
981
920
807
792
468
99
280
400
304
79
40
456
796
393
794
340
741
452
3
764
805
488
188
719
328
540
220
122
127
975
95
737
714
136
48
665
894
763
663
390
361
196
913
992
797
531
741
277
915
65
947
17
709
314
893
19
922
905
709
497
130
827
863
323
224
535
767
468
902
922
575
831
301
196
686
662
251
68
747
802
782
533
268
350
999
995
105
419
68
977
639
592
821
235
78
114
243
878
194
127
270
170
683
66
17
404
846
213
36
853
313
559
540
734
398
656
585
533
967
308
156
806
78
556
281
417
712
432
419
898
813
964
784
913
475
850
445
491
401
364
551
46
458
783
779
372
374
596
39
571
317
899
820
40
485
770
307
690
767
952
311
869
743
339
126
284
541
403
457
513
755
736
769
470
220
317
93
37
712
697
786
668
940
733
192
547
777
688
275
560
486
245
715
669
687
79
491
845
387
83
391
819
166
449
961
831
377
179
509
647
755
641
208
453
307
439
863
875
797
114
944
121
649
380
374
706
473
873
878
933
942
373
180
718
849
4
22
950
441
759
595
80
746
757
552
345
699
111
99
800
229
244
758
148
814
177
231
690
775
384
332
554
766
406
804
783
904
970
793
391
785
523
317
769
686
37
886
589
719
219
960
902
681
711
888
418
687
313
517
289
964
827
517
471
991
861
230
180
266
83
335
944
695
302
285
215
344
258
517
612
410
683
312
79
415
457
257
455
181
251
566
569
858
25
398
952
614
209
990
482
682
866
184
877
641
257
653
336
983
423
639
516
254
347
699
440
395
385
586
908
254
159
918
181
654
2
604
576
965
982
480
407
419
730
821
409
696
322
350
717
817
705
440
748
137
665
938
847
224
677
398
228
251
221
362
194
119
840
628
568
733
320
680
551
833
8
528
433
774
780
510
980
518
97
865
495
542
236
740
360
943
605
695
925
319
736
999
835
253
521
688
7
376
672
383
835
733
713
793
280
611
6
858
921
773
470
633
323
279
792
415
292
127
543
283
4
724
890
726
712
982
505
986
840
911
119
745
338
101
630
866
915
346
323
313
725
496
358
896
245
182
718
651
291
255
600
104
730
879
93
30
917
833
517
653
435
941
944
591
521
956
703
650
46
65
413
170
513
9
400
13
227
268
166
595
580
52
257
525
526
741
454
830
213
598
3
784
167
806
424
718
290
341
384
187
680
6
665
583
993
225
848
320
537
363
391
480
83
621
718
968
163
352
270
87
797
915
998
885
605
56
297
770
31
67
645
635
537
127
51
668
32
456
396
426
965
146
587
910
430
283
549
978
94
268
110
541
526
932
326
744
723
577
573
355
268
767
256
593
307
499
914
676
334
45
88
252
604
828
881
510
962
706
433
493
659
660
521
565
789
41
575
257
293
320
131
748
96
795
320
5
786
306
583
726
33
2
236
727
783
10
89
47
408
921
893
907
873
345
691
151
468
239
984
340
750
710
101
298
796
621
903
861
294
948
403
17
9
515
270
404
817
743
696
924
101
729
796
804
53
692
45
68
75
897
974
773
882
909
525
470
63
739
686
492
944
641
948
978
394
938
389
355
113
501
535
802
155
939
37
269
984
746
581
75
449
747
249
945
108
24
381
777
621
737
818
691
248
817
128
296
558
802
878
934
119
199
496
219
649
435
279
782
714
48
71
173
958
565
201
733
236
723
934
495
728
325
52
801
932
695
398
349
234
675
211
109
871
851
704
613
966
584
702
267
967
658
959
26
228
589
965
983
867
397
720
442
840
613
344
159
25
420
431
960
489
159
441
411
709
878
51
537
737
951
185
125
353
790
725
916
179
414
71
461
237
420
768
947
416
84
20
444
819
634
137
275
428
199
196
242
458
199
844
639
966
93
883
682
955
794
529
653
567
831
978
651
455
886
993
613
421
156
77
758
586
531
716
454
874
463
437
878
453
941
112
461
963
31
248
129
321
635
789
917
132
205
853
596
893
936
777
926
865
44
640
797
11
338
587
700
662
206
92
634
833
801
452
832
651
656
340
926
849
678
578
749
118
252
431
724
889
36
862
603
186
185
485
204
748
862
308
752
586
50
196
727
58
632
202
298
966
434
709
614
680
789
8
575
125
83
450
240
458
745
36
642
210
81
986
578
958
35
585
954
690
421
899
669
721
742
328
52
8
81
552
684
503
565
613
667
16
913
695
384
349
718
172
307
892
518
849
426
817
288
549
339
665
351
932
572
554
142
441
196
989
943
156
530
809
37
136
898
5
680
855
254
433
235
679
672
438
737
579
577
217
752
837
581
471
688
325
810
887
643
790
661
537
4
624
724
314
146
511
805
386
253
853
971
172
854
538
237
375
990
339
299
760
677
285
893
914
434
557
710
361
584
617
428
953
254
342
972
173
386
791
906
51
632
620
906
622
367
160
409
417
578
724
65
915
625
267
755
357
213
843
898
579
629
724
653
617
617
28
449
456
287
534
516
387
354
926
625
669
946
786
57
170
946
247
37
869
338
602
664
957
141
30
838
204
83
863
989
642
616
379
994
867
673
147
317
878
943
40
470
566
730
122
984
195
598
189
434
787
298
112
588
749
226
70
492
704
595
418
491
410
825
482
761
612
964
642
522
519
891
215
781
979
376
527
245
190
665
596
469
923
403
245
856
159
903
309
453
499
962
236
829
284
115
79
405
79
927
423
496
852
967
787
394
259
885
806
712
453
832
450
19
976
498
159
74
862
362
359
232
600
611
234
858
783
416
848
526
775
142
824
603
936
437
491
782
652
500
694
347
649
711
449
860
83
351
734
753
115
981
114
426
88
395
839
654
275
649
964
798
683
396
393
58
891
304
425
565
133
892
884
564
279
423
841
487
873
475
980
121
203
199
294
234
698
53
812
781
164
739
463
768
128
796
401
376
233
145
907
804
653
574
332
341
216
711
148
114
220
533
553
681
510
984
76
43
710
983
845
403
134
356
365
893
676
473
642
169
49
959
17
218
0
340
929
151
786
472
475
816
305
322
321
60
696
142
473
92
159
99
101
735
861
524
656
498
490
206
836
491
216
978
377
234
443
890
961
838
296
460
46
83
966
333
811
228
116
870
315
604
351
248
580
461
55
94
962
277
968
495
727
870
378
240
417
747
0
161
546
735
101
326
18
287
416
98
737
663
738
189
67
760
960
99
515
615
458
504
657
189
160
881
455
322
548
752
890
30
173
736
630
473
603
512
768
882
909
5
378
989
908
486
22
807
938
656
237
491
556
727
336
450
527
787
667
94
366
259
864
226
545
389
664
63
943
960
174
368
529
963
49
43
624
605
387
812
489
874
431
216
301
911
27
77
564
123
762
946
568
560
581
598
402
395
882
573
555
942
966
301
604
795
788
169
878
295
866
567
143
189
59
653
963
875
792
788
845
487
171
407
10
43
328
294
228
812
677
756
260
790
195
682
802
243
71
214
384
705
693
757
323
457
287
53
308
92
198
575
356
919
622
310
330
674
302
759
940
865
968
737
343
97
426
250
371
279
930
856
388
805
618
145
597
768
616
876
247
831
980
71
139
598
41
427
735
805
110
221
960
221
8
826
219
119
623
985
787
677
272
620
53
339
839
676
852
349
456
954
41
840
118
799
349
60
480
233
997
374
923
920
279
933
403
269
336
162
178
185
156
368
59
694
653
897
203
97
167
432
454
79
101
470
272
839
275
238
83
236
747
651
106
332
295
863
879
787
809
122
938
391
501
882
409
785
470
633
935
194
215
17
373
526
566
288
41
778
950
707
414
724
379
318
30
260
123
121
688
147
532
48
169
808
807
879
4
715
701
387
553
414
10
8
726
623
323
960
614
437
348
199
739
686
716
503
303
46
120
997
329
551
555
930
902
322
445
12
493
425
986
654
55
275
362
795
783
187
541
896
374
25
905
194
408
45
189
774
991
217
956
658
245
734
652
228
515
437
846
374
842
955
599
563
344
69
419
715
917
134
854
28
295
853
852
629
348
731
7
990
567
876
125
195
123
20
791
865
15
160
200
646
20
441
233
64
384
768
112
94
79
858
438
875
252
985
46
787
109
82
895
113
612
757
578
30
292
416
488
441
754
819
540
331
508
723
662
25
543
405
765
287
741
149
506
483
230
76
105
870
525
425
275
851
992
664
894
922
94
484
460
939
455
821
998
868
875
406
185
789
140
848
797
717
758
888
524
949
919
752
190
11
336
307
327
380
929
60
314
305
157
199
663
35
3
101
510
105
823
451
794
157
123
728
513
22
711
183
710
311
786
664
672
881
875
617
273
178
700
661
803
298
968
622
786
996
60
159
66
806
485
432
412
619
618
737
172
147
956
323
826
585
165
798
979
963
259
36
761
446
482
382
56
202
418
434
509
46
343
484
53
996
514
645
576
28
196
448
596
125
750
534
940
652
155
57
320
964
944
94
668
777
539
341
141
410
660
224
566
228
663
985
822
535
150
327
384
317
994
960
986
581
369
151
972
520
35
660
127
494
873
430
572
852
678
26
351
452
915
496
966
396
583
700
601
687
298
842
193
792
64
853
795
308
970
140
45
46
8
476
549
811
925
483
720
181
60
136
565
666
49
395
234
774
635
259
310
440
650
176
68
967
450
934
112
564
191
296
471
357
538
355
220
515
29
300
255
713
367
371
343
928
353
467
473
0
642
718
540
990
570
172
938
182
780
965
507
238
296
526
429
44
39
22
305
786
965
907
420
302
39
600
136
59
204
66
505
532
925
783
574
385
199
580
437
63
990
366
843
46
290
27
917
636
199
405
866
495
226
258
89
74
166
265
333
250
224
752
890
444
770
322
538
529
455
553
567
63
622
871
523
615
672
886
895
204
201
579
880
70
824
862
19
648
313
411
159
607
883
177
522
782
276
559
155
21
871
630
354
647
364
466
210
597
397
971
805
999
252
363
954
771
316
864
346
699
392
208
127
71
445
432
982
906
994
801
419
130
27
707
659
959
773
138
108
609
891
452
762
240
333
455
583
60
19
764
529
538
282
944
231
12
130
945
214
332
256
233
279
238
825
893
732
840
550
910
413
307
128
187
803
520
72
888
173
807
463
358
578
661
269
750
13
366
807
912
574
124
286
475
615
85
822
519
805
890
503
371
722
897
627
241
696
817
221
877
587
368
596
577
303
378
699
645
779
735
58
700
835
274
694
12
668
32
38
180
788
340
333
827
156
456
531
366
880
914
497
533
46
508
702
178
461
221
883
488
213
347
325
473
241
481
342
67
863
516
649
737
563
40
473
567
113
473
727
511
506
346
226
839
131
153
552
629
567
252
142
235
31
471
508
17
943
402
195
356
840
335
293
344
562
504
559
807
480
654
865
905
886
777
208
418
801
527
103
154
542
707
867
664
859
512
419
543
204
625
744
614
8
490
255
625
510
961
797
518
620
704
375
571
488
221
739
242
433
147
393
415
92
406
72
485
484
75
306
210
329
708
435
758
694
472
376
82
362
780
287
529
953
713
118
182
740
327
615
336
100
917
507
725
918
340
25
454
620
186
962
669
77
817
281
247
528
886
618
686
774
334
155
972
700
614
663
659
365
23
791
971
55
650
856
288
486
480
784
818
301
591
679
193
856
559
800
101
585
14
161
10
45
5
98
531
564
864
804
572
110
872
938
553
226
948
215
780
106
778
1
925
441
844
990
849
806
344
925
544
388
740
316
946
692
31
546
567
863
314
802
647
603
589
233
472
370
319
584
779
355
363
984
279
592
506
251
351
418
175
396
728
650
10
393
391
420
817
671
590
19
88
181
833
89
274
586
996
827
925
634
378
725
100
438
432
634
272
754
891
470
68
856
399
237
161
644
271
796
548
454
305
724
199
408
802
900
618
855
319
825
601
748
647
499
285
421
917
240
382
157
493
632
657
582
271
639
430
296
339
592
470
599
968
885
290
215
579
44
444
864
875
481
158
673
578
238
969
390
216
531
828
803
939
3
652
848
109
188
550
266
972
109
104
269
603
313
791
209
460
175
339
706
324
814
153
73
39
297
780
578
187
163
119
921
793
31
217
813
541
830
892
108
652
3
47
984
183
69
232
797
97
360
222
854
651
161
809
604
353
641
826
945
70
596
713
783
895
681
893
735
983
514
140
982
282
511
798
577
840
334
100
575
209
40
175
856
84
939
584
674
896
310
865
292
728
922
135
175
220
318
129
444
74
253
202
431
328
706
95
843
817
613
944
639
163
606
358
869
13
911
546
732
136
399
762
34
847
999
872
52
950
583
81
118
745
661
370
696
198
336
406
475
122
835
74
281
55
806
467
231
93
866
945
19
376
402
203
560
968
901
719
796
857
807
340
198
459
524
113
630
771
79
96
93
549
641
150
302
357
309
532
763
4
255
839
523
119
500
699
432
563
767
150
339
254
840
751
380
971
155
755
628
340
843
348
176
784
852
242
731
609
406
96
610
496
271
652
635
784
254
742
19
107
164
211
825
247
749
433
356
657
506
84
386
290
416
286
916
571
529
66
736
516
976
716
747
248
418
13
477
539
201
481
856
792
981
201
145
674
183
98
572
887
126
128
815
834
839
666
893
384
746
221
737
292
959
949
772
34
539
260
440
957
467
900
793
313
653
346
72
524
278
31
774
697
345
439
667
511
991
104
586
276
860
394
859
196
803
763
495
568
227
991
112
630
74
9
43
516
250
206
635
382
355
139
959
250
26
182
479
549
940
154
394
733
252
862
924
468
488
442
968
250
319
970
221
977
338
624
272
443
565
218
234
357
994
163
684
786
836
535
422
687
619
251
167
857
584
681
38
648
99
432
423
414
446
846
117
789
166
113
187
603
609
871
145
918
602
600
138
517
101
84
46
175
295
444
198
557
705
787
110
408
439
360
630
4
643
320
203
37
644
366
48
548
444
94
966
212
787
972
240
192
23
984
633
249
981
512
917
241
609
983
700
282
634
706
189
885
263
517
893
646
526
616
131
850
781
491
691
462
642
614
942
465
823
803
933
760
860
811
292
727
602
149
498
749
84
81
469
578
107
946
111
144
653
824
522
998
778
957
100
451
346
788
330
146
980
683
771
738
881
108
512
88
726
243
388
107
7
217
771
275
647
220
741
424
591
420
727
771
143
887
462
678
397
41
20
764
190
331
711
40
156
656
128
697
589
678
186
595
626
599
19
515
717
920
722
399
931
522
725
766
501
623
245
561
405
493
205
638
319
449
494
728
265
916
781
914
158
478
163
776
425
21
374
653
223
589
416
876
191
422
78
278
122
815
552
67
747
173
711
348
997
416
288
153
883
336
873
521
883
936
148
967
116
184
593
839
487
733
627
931
511
2
818
252
969
20
363
184
465
511
488
347
116
209
748
252
292
378
728
28
486
848
745
77
515
778
127
119
251
288
389
919
903
745
984
478
849
914
56
512
971
174
412
346
560
800
129
780
5
152
4
562
620
256
342
146
252
481
577
530
581
680
516
685
0
303
292
832
776
551
503
594
73
536
586
265
499
25
671
61
31
62
664
414
49
164
138
659
405
332
541
429
541
738
778
543
927
138
926
424
800
247
134
278
887
543
728
96
38
625
750
174
511
215
60
398
760
263
404
487
817
789
260
475
90
350
382
114
706
80
893
114
502
240
134
389
386
455
489
434
900
538
165
510
850
47
816
745
582
698
248
160
535
879
696
962
451
585
570
757
725
165
194
356
146
961
239
667
592
878
669
579
14
106
582
101
154
93
11
463
179
347
214
728
623
462
440
198
265
465
670
997
675
444
761
85
28
339
90
181
393
669
521
797
819
171
477
193
116
328
489
474
601
604
825
790
127
430
635
212
614
323
622
35
182
977
433
789
462
172
471
175
503
27
591
320
457
21
588
572
664
920
405
33
692
934
393
471
797
679
533
780
890
384
503
297
963
88
396
990
492
560
19
613
659
270
808
857
272
468
573
132
812
73
379
1
922
552
502
297
938
428
856
415
948
389
59
621
868
361
176
841
293
880
171
306
454
474
141
367
431
177
397
648
756
625
264
262
568
56
71
503
770
196
283
905
90
486
86
341
385
99
880
0
644
492
506
434
135
894
392
330
709
704
987
747
515
320
457
603
898
299
508
313
352
130
246
821
178
644
795
673
851
248
322
639
796
440
474
804
901
173
988
452
635
902
755
753
744
157
350
483
235
463
775
488
920
180
837
329
553
573
821
267
643
206
473
954
145
7
858
813
515
107
583
101
437
491
754
137
615
427
546
821
977
529
971
995
648
108
101
987
59
194
736
642
886
372
527
936
745
23
394
329
604
862
922
710
45
254
916
396
70
440
488
716
427
68
512
530
756
579
486
304
913
715
560
360
111
710
766
886
306
146
102
126
99
464
439
934
648
770
552
235
684
296
972
129
890
9
114
94
303
300
466
222
184
267
920
292
290
474
304
195
141
77
681
371
916
92
978
854
750
688
708
249
291
495
73
848
201
537
860
806
713
683
585
439
517
914
129
318
199
103
307
7
80
311
878
701
690
613
118
860
36
420
30
93
672
900
780
865
133
811
905
387
8
174
30
196
343
604
657
240
419
881
917
748
101
520
91
798
974
580
782
577
298
542
278
453
229
751
406
216
685
714
516
637
95
502
484
988
644
594
622
724
927
792
241
357
656
44
715
875
482
264
857
134
353
888
120
981
929
82
913
84
231
236
450
639
547
140
337
589
527
933
940
932
821
398
150
743
733
142
493
907
449
472
48
869
554
536
743
10
576
58
630
91
118
188
377
791
591
201
989
827
610
163
606
355
753
439
116
785
961
164
234
199
40
584
649
814
309
990
82
711
705
968
614
738
718
892
698
283
877
531
474
537
564
873
16
207
138
524
624
186
454
466
826
289
998
898
160
318
988
177
759
858
16
400
250
637
691
647
592
498
666
214
486
943
339
909
203
214
474
206
798
534
455
870
623
381
245
695
253
916
937
429
997
420
238
850
290
235
420
50
699
147
823
822
239
262
662
812
164
632
30
738
391
381
971
973
702
355
725
351
35
459
905
293
98
117
277
228
47
203
3
581
367
674
247
326
74
326
422
9
416
870
961
752
797
517
941
773
767
154
975
439
604
886
460
789
961
911
709
930
422
101
928
668
623
499
93
869
257
862
584
961
855
783
917
578
708
74
325
170
267
325
311
532
877
515
859
708
215
93
751
306
233
68
689
311
437
824
308
911
869
406
952
57
58
643
388
997
421
585
717
411
729
79
49
569
353
627
544
633
555
876
691
629
846
49
623
988
449
181
397
282
981
285
808
288
209
370
957
536
383
716
794
104
587
588
996
975
53
655
501
786
742
945
912
376
206
359
548
411
496
643
369
916
990
250
17
347
370
432
278
857
295
294
846
765
212
922
893
492
20
899
428
571
873
98
83
150
612
667
801
602
168
149
708
841
302
597
845
213
662
747
217
665
932
97
279
397
65
488
465
339
273
626
68
25
242
12
168
966
811
792
916
423
773
651
717
294
584
510
912
283
604
151
875
722
930
764
39
394
824
670
283
437
314
283
670
305
149
140
782
459
740
906
971
331
726
460
332
556
431
679
977
330
901
339
543
156
762
110
777
885
541
445
508
102
69
796
150
414
210
569
5
608
22
63
425
505
398
55
979
161
884
649
876
511
124
606
570
948
824
205
552
962
661
328
288
204
522
535
129
389
175
615
749
873
924
137
833
94
894
250
986
519
829
266
468
341
871
125
828
18
649
309
32
70
492
79
391
751
512
320
402
816
588
56
616
359
29
883
684
258
773
15
286
594
853
448
676
825
319
669
776
16
911
529
443
81
44
976
937
249
31
493
267
175
551
439
327
998
790
827
171
135
966
621
54
541
277
623
565
520
856
124
326
490
472
905
571
593
337
314
559
17
270
635
890
729
899
534
920
807
869
316
684
90
132
797
712
476
160
975
910
190
299
788
571
415
156
834
905
610
72
909
694
167
37
773
831
355
437
650
711
810
734
977
322
391
306
533
485
357
836
110
158
263
356
707
263
873
590
606
891
159
111
645
99
124
799
50
2
840
725
93
409
369
794
110
825
333
668
178
63
752
782
87
669
566
172
44
954
159
562
859
913
587
682
864
355
862
150
308
738
215
968
694
944
374
650
517
752
846
690
341
677
908
113
526
235
39
454
139
543
107
832
589
799
735
197
831
514
685
267
421
746
211
904
820
776
623
661
545
594
189
259
458
69
281
596
334
214
900
637
466
442
482
311
949
866
70
342
667
190
779
770
78
186
58
337
762
240
510
790
421
893
743
513
933
665
410
186
637
329
726
356
844
681
919
990
34
68
38
0
473
500
7
896
54
295
939
489
719
870
263
279
492
265
954
568
920
139
866
149
727
103
808
586
420
220
264
917
126
76
539
140
913
414
421
804
657
808
484
516
250
197
145
247
941
54
557
477
881
326
396
702
843
944
187
708
788
284
787
411
891
863
490
599
291
69
567
308
474
362
718
949
483
122
737
833
538
798
951
32
212
959
528
838
343
546
566
887
97
915
200
614
783
797
814
42
285
933
753
211
970
451
361
581
978
436
724
897
858
907
208
53
411
894
288
240
416
351
293
73
149
302
322
397
216
780
209
786
574
567
202
427
525
290
429
226
338
306
255
53
320
335
986
262
611
910
818
840
620
942
858
654
183
840
921
667
583
830
676
923
871
633
76
301
824
528
703
909
855
44
103
737
564
75
175
399
594
215
855
352
507
993
781
314
737
827
961
225
711
808
228
435
344
861
137
75
953
320
853
968
986
508
849
372
811
563
132
892
230
399
573
213
337
351
703
800
825
90
404
445
910
182
362
410
670
678
149
892
660
601
960
351
934
748
198
214
958
529
371
230
873
176
719
949
444
547
670
695
850
900
470
747
854
780
362
56
460
191
747
85
473
107
780
481
305
170
355
737
335
23
131
437
912
549
508
11
138
174
658
271
513
2
525
642
3
505
66
527
400
361
963
722
68
612
603
148
146
989
424
958
729
77
995
222
277
450
84
766
330
742
263
36
324
704
286
77
87
367
406
792
198
454
178
959
40
181
357
171
465
295
403
402
94
775
723
64
473
953
486
56
725
586
725
576
903
64
348
773
980
599
571
220
841
118
762
681
390
23
116
320
197
317
779
154
311
32
287
134
573
219
103
850
107
806
319
607
666
684
291
523
433
763
508
240
321
100
391
949
291
200
101
13
491
461
617
551
583
536
516
229
633
20
186
95
600
441
899
376
429
513
810
497
257
54
957
528
34
228
166
971
346
388
636
512
534
695
960
194
500
212
168
795
713
206
523
217
724
67
706
680
387
112
351
63
432
856
640
545
193
328
629
232
549
502
37
592
304
484
355
540
353
169
479
712
233
953
774
85
997
101
592
452
573
227
679
265
83
730
193
300
586
221
726
634
685
70
822
793
438
394
773
404
730
450
297
50
224
530
835
102
344
168
686
418
548
989
117
947
834
216
859
687
829
719
807
331
287
521
852
971
916
576
678
74
876
231
543
582
946
323
42
669
760
191
887
40
789
662
617
62
717
8
325
219
460
652
9
133
388
73
643
483
98
755
815
141
497
384
91
316
192
403
414
524
261
195
484
434
613
391
713
533
621
130
590
339
740
196
239
671
121
346
171
334
328
489
558
845
578
711
897
355
64
29
881
230
720
494
641
40
64
913
191
191
635
844
862
499
268
33
966
579
574
654
403
317
790
978
288
513
629
628
163
302
84
778
987
545
849
675
558
388
466
279
642
428
381
849
533
315
401
142
604
30
3
234
137
507
40
428
676
570
62
394
216
114
541
66
340
731
405
173
378
998
364
128
255
722
43
904
859
989
241
650
802
408
381
946
721
916
591
55
702
381
385
644
946
25
495
174
640
196
701
287
360
52
543
152
400
898
556
249
721
468
378
170
284
85
767
357
756
943
878
537
909
813
724
770
90
264
235
499
167
759
560
321
408
365
550
340
712
466
427
64
468
807
146
86
647
694
64
417
737
387
89
290
770
265
570
722
114
554
709
668
385
963
426
263
468
860
824
624
22
345
776
328
101
694
485
83
505
639
984
912
839
409
861
844
407
120
682
853
307
538
187
154
900
882
514
205
331
610
582
250
920
130
667
644
995
419
915
744
82
706
828
542
326
998
906
732
81
241
182
601
943
760
964
147
117
541
289
555
647
476
89
743
221
383
640
298
442
642
380
131
752
424
252
154
46
918
681
323
168
183
43
27
947
28
360
603
994
254
980
263
783
305
298
494
406
252
82
14
935
252
896
479
202
878
363
416
67
458
591
281
526
685
950
367
983
946
821
564
321
171
727
529
464
265
482
983
338
57
355
464
83
494
499
281
469
525
94
133
100
396
472
349
944
588
914
332
816
571
764
789
508
528
239
43
474
266
45
244
19
550
952
403
755
727
237
587
291
488
155
350
899
291
210
875
921
619
758
272
716
398
251
503
384
19
102
286
680
43
199
88
344
613
659
954
620
772
429
301
649
131
191
713
482
992
157
421
977
239
402
727
853
629
828
959
632
750
825
637
605
78
508
256
825
668
391
282
308
114
611
934
645
612
583
871
42
328
545
662
241
718
489
867
931
878
8
37
989
432
838
579
660
298
20
399
16
180
900
932
51
40
368
38
811
547
372
618
168
590
112
916
246
822
572
963
200
75
57
166
586
508
426
10
439
913
963
926
750
740
249
333
344
436
570
13
801
913
618
883
337
272
259
49
859
706
900
903
811
400
1
684
19
115
923
515
728
862
947
702
57
54
681
223
602
35
161
918
77
382
302
793
265
175
397
587
491
250
917
676
498
812
342
240
303
633
14
214
874
283
908
597
703
412
499
920
46
628
910
794
963
334
713
547
64
64
204
26
801
964
112
702
68
837
791
733
869
84
535
522
183
936
363
943
757
749
828
150
284
946
503
904
279
306
484
138
273
237
840
123
108
242
231
538
282
214
518
502
918
656
311
951
323
225
736
742
584
596
331
426
385
875
221
153
656
533
30
936
735
429
996
628
719
874
597
357
421
338
28
321
580
759
673
320
201
573
472
930
565
900
946
205
689
288
2
26
15
974
315
313
894
174
234
763
944
982
907
123
418
259
888
281
881
602
583
873
271
875
979
194
460
168
923
870
977
957
83
29
583
815
564
797
782
780
906
279
942
404
280
93
82
486
137
645
910
907
932
479
864
958
446
412
633
902
250
168
623
321
500
906
829
183
4
378
428
788
378
487
295
925
229
246
449
702
14
100
765
965
633
724
851
784
471
166
254
338
373
305
117
234
255
700
369
625
222
87
353
496
350
82
114
188
235
956
449
308
981
741
653
782
704
758
166
100
294
594
505
574
970
41
16
127
938
617
652
899
59
377
281
709
751
512
823
565
77
328
944
570
963
649
250
814
958
345
163
27
289
110
936
979
414
116
300
838
709
163
645
586
83
505
576
425
851
904
591
303
211
971
241
674
323
229
298
149
594
32
648
825
540
951
431
387
928
281
221
656
962
962
220
125
462
404
477
230
914
951
632
643
317
451
935
721
818
838
297
470
720
342
518
607
811
293
664
637
666
859
857
761
326
327
420
409
410
217
889
574
263
459
865
655
843
294
571
13
396
974
33
580
955
900
818
469
923
533
32
679
89
654
261
767
545
30
381
181
493
479
87
7
229
79
430
765
588
52
944
698
316
97
424
690
287
395
231
804
177
16
471
74
976
465
271
854
873
222
104
748
319
62
508
860
577
409
375
871
901
471
84
334
906
421
366
861
500
711
953
819
796
522
706
143
842
719
78
750
111
287
495
875
268
631
745
263
847
962
43
440
333
892
708
924
88
554
333
42
23
229
696
689
200
547
203
881
767
389
252
180
762
393
796
141
364
898
175
281
745
239
449
204
471
121
124
903
784
177
693
39
761
575
963
494
602
974
167
526
8
627
428
413
756
362
846
876
513
760
377
735
688
207
439
797
935
448
61
754
947
399
818
196
641
271
621
943
474
833
760
825
807
205
872
998
180
433
705
511
413
39
267
99
304
44
833
444
590
114
599
838
715
0
118
888
558
347
41
110
22
229
986
139
338
270
890
467
633
106
904
193
55
705
684
119
34
316
878
369
147
616
535
384
954
397
793
191
264
158
797
906
723
151
152
654
77
159
460
168
924
66
21
520
426
825
958
745
377
578
447
586
274
71
647
599
886
130
233
27
814
264
962
891
449
662
477
999
998
201
838
891
10
59
554
876
246
904
569
371
190
401
721
705
580
962
24
538
592
868
541
295
419
548
554
277
633
205
415
476
946
870
1
193
137
371
125
209
928
810
220
694
281
908
939
399
463
949
44
354
558
429
228
343
696
886
294
726
897
434
363
956
24
415
244
887
300
642
914
229
912
642
145
238
907
772
369
956
911
678
807
709
717
4
407
666
496
607
92
96
86
878
116
329
363
407
937
324
807
65
435
823
424
930
982
339
104
5
249
922
635
170
469
687
78
474
442
234
608
467
973
662
594
11
921
596
548
111
919
599
723
597
475
928
882
535
838
274
368
619
613
46
83
505
965
70
86
913
904
106
567
714
466
629
817
255
604
909
511
409
394
552
290
751
194
44
477
66
536
679
993
820
125
439
194
359
992
508
955
901
710
794
112
109
559
233
504
915
970
743
715
514
167
990
555
906
530
110
513
650
898
989
885
918
771
380
440
164
947
18
751
665
17
407
791
863
261
843
941
946
493
319
87
142
724
818
360
389
618
913
188
427
197
335
60
112
683
92
56
888
517
832
461
852
122
683
116
429
147
120
221
824
720
452
614
624
522
18
445
439
145
21
794
486
526
159
41
383
496
450
163
742
481
29
392
700
131
28
538
67
303
381
146
0
814
171
104
146
674
86
756
985
506
174
141
9
643
898
947
141
74
463
112
460
842
842
799
382
683
632
159
700
676
591
31
735
428
68
871
7
496
813
299
874
88
615
859
539
563
592
181
722
660
507
384
839
548
878
775
131
852
379
857
658
890
117
856
135
980
625
899
509
515
525
393
901
545
762
502
853
754
497
849
528
467
938
443
502
4
27
263
478
695
985
23
31
166
705
687
107
404
730
394
66
501
572
392
37
672
68
195
735
566
69
112
294
225
448
744
794
577
427
657
684
805
217
882
503
265
858
298
282
991
374
344
532
107
11
198
29
54
996
679
54
622
867
875
148
805
806
947
122
564
371
264
792
890
304
759
279
185
86
301
723
941
209
931
239
262
795
118
480
934
354
968
331
130
953
966
201
867
501
558
137
824
366
301
80
915
504
347
544
459
502
925
882
391
6
902
617
127
953
206
798
218
939
855
353
619
562
290
131
935
58
293
661
376
411
221
632
471
502
121
301
621
162
877
999
398
52
428
114
606
721
7
378
568
420
933
34
878
433
867
891
248
806
786
375
455
764
775
425
15
129
965
772
414
785
681
662
289
870
811
646
241
214
376
566
277
890
964
123
867
28
224
155
811
790
185
338
238
246
377
87
181
185
790
125
520
949
527
934
242
544
435
446
503
179
25
360
847
876
559
323
852
783
917
175
177
579
766
889
877
711
679
999
904
440
563
553
510
254
627
95
303
706
109
814
728
463
895
78
369
627
683
140
737
396
725
882
398
951
365
206
233
585
551
754
96
665
911
403
442
785
120
564
625
904
656
199
807
167
957
515
464
237
307
323
565
675
165
605
676
624
225
731
287
268
782
858
75
957
734
108
766
661
604
757
466
341
586
267
814
944
676
140
424
830
32
637
886
149
382
455
671
425
598
141
67
208
689
122
550
856
646
498
453
394
634
87
334
841
181
521
659
749
403
724
682
496
980
835
980
7
381
592
518
305
207
42
383
115
8
74
75
637
798
824
741
850
614
188
412
127
873
207
792
897
28
598
168
680
312
39
584
96
141
783
931
886
46
657
905
421
584
615
150
837
232
226
20
411
37
952
34
375
714
638
766
334
829
671
370
38
637
581
974
773
313
47
789
106
659
983
168
668
829
338
345
154
568
257
404
611
68
166
562
443
679
651
982
743
907
376
831
609
972
302
806
795
454
769
473
9
670
609
218
38
553
729
592
938
90
555
933
954
825
263
994
722
667
777
335
659
676
699
36
712
581
527
913
744
846
957
346
159
968
824
228
852
332
137
433
360
860
627
462
570
832
935
68
921
128
837
763
898
956
604
287
783
216
615
282
464
653
560
976
834
607
443
868
900
890
375
892
961
591
245
79
138
204
991
211
818
183
571
411
4
517
719
334
617
975
785
575
748
491
420
633
354
241
130
380
288
970
160
111
641
507
468
148
697
491
140
339
979
276
474
536
56
926
972
869
872
47
920
794
817
932
670
926
540
802
670
244
868
22
754
959
184
222
890
856
878
840
383
825
262
153
633
587
306
500
124
150
587
579
461
455
955
310
128
544
394
81
776
27
817
180
258
216
764
800
15
615
80
101
179
222
51
524
938
961
512
627
115
19
25
913
890
474
21
977
370
594
113
962
95
533
409
924
860
257
402
767
586
238
452
843
502
127
914
756
312
396
219
664
441
459
650
460
501
690
249
65
80
983
590
37
728
425
832
656
461
779
722
525
566
305
253
818
50
115
632
998
670
140
276
233
349
783
914
304
643
994
897
509
82
444
322
637
204
500
904
420
855
225
67
523
3
279
760
463
252
962
187
80
154
363
595
983
385
840
717
101
117
768
784
811
468
990
344
387
402
795
637
162
139
93
154
334
107
785
649
936
413
910
257
395
729
696
864
133
635
865
308
172
175
824
322
436
472
110
708
790
3
662
423
301
462
737
326
732
774
481
164
485
402
474
673
379
458
774
316
572
740
234
445
52
904
206
400
360
388
854
268
262
363
571
672
442
437
383
19
405
846
131
923
252
110
933
894
329
81
686
383
659
976
50
221
984
553
863
985
150
912
430
857
799
188
895
915
836
742
431
168
598
113
104
37
667
102
402
209
13
109
194
143
815
480
583
684
388
727
259
429
666
924
311
833
415
666
260
780
419
421
496
935
408
211
848
651
280
733
274
393
532
219
770
45
603
918
578
883
247
860
399
901
302
630
956
434
318
680
626
114
496
627
627
947
188
620
215
59
285
747
969
804
879
729
574
118
706
122
250
656
330
880
78
175
760
425
321
533
32
256
115
136
520
68
964
412
521
575
590
474
520
585
448
894
100
623
657
16
971
108
103
203
617
824
133
150
96
679
163
790
16
983
987
561
831
396
699
552
18
60
587
126
981
34
577
756
890
875
780
277
997
537
888
250
315
597
414
819
678
509
772
657
189
939
301
898
726
312
406
946
300
478
222
141
591
195
27
845
259
145
703
8
540
847
904
533
946
992
182
166
659
952
488
291
509
554
657
790
701
3
706
114
614
225
317
370
183
75
215
66
518
568
105
251
476
870
579
654
831
18
752
326
777
410
949
826
551
765
16
333
722
125
878
572
563
812
764
143
790
924
304
6
624
60
9
147
785
661
764
7
813
215
173
699
8
4
240
413
201
994
545
252
51
120
453
35
477
618
901
692
219
282
396
223
66
292
201
429
118
272
520
39
591
134
997
741
884
735
449
587
842
332
544
790
537
252
142
962
330
998
639
615
207
774
986
368
681
949
720
281
979
428
658
27
399
276
137
203
670
989
707
282
442
961
981
938
525
649
257
835
407
630
773
320
562
224
109
787
34
680
237
377
627
363
917
370
878
784
599
228
452
991
765
152
560
902
721
433
925
812
582
101
192
310
903
169
303
149
951
365
5
992
940
323
539
312
637
243
197
155
742
578
387
238
534
547
351
226
307
964
667
460
37
190
317
272
471
97
253
17
908
755
507
575
371
399
699
70
108
98
633
170
758
870
670
9
505
386
903
39
739
846
923
632
951
861
911
281
667
173
666
560
489
709
665
226
213
698
715
291
16
141
171
475
180
31
56
679
586
789
751
778
96
816
71
287
342
772
845
771
459
320
872
34
146
799
438
597
459
556
427
922
623
898
24
265
295
579
895
486
425
826
630
13
946
879
307
373
934
249
222
62
174
845
504
415
160
976
357
530
754
734
644
572
119
20
164
42
598
130
659
132
283
894
357
233
840
19
246
57
975
987
70
880
400
296
223
541
144
811
982
854
983
263
438
975
127
180
755
365
947
118
274
796
549
620
566
833
350
607
89
228
461
904
720
577
156
900
873
445
302
787
637
472
423
63
367
5
654
354
112
546
92
274
985
767
221
784
147
424
518
85
9
374
489
197
285
592
780
45
207
716
354
327
385
261
374
72
377
397
395
434
54
770
459
4
256
981
168
717
705
445
427
107
287
144
729
878
496
796
704
927
604
458
812
428
165
652
769
179
517
803
548
424
589
325
46
805
351
40
196
437
370
374
600
213
365
757
58
638
630
825
617
997
523
821
763
302
985
469
510
897
289
166
949
578
592
559
183
327
887
47
962
768
829
537
588
795
114
128
52
442
686
808
994
689
921
680
11
271
700
355
396
721
0
236
973
807
895
790
432
313
209
873
272
330
67
958
439
959
442
683
216
996
428
429
135
289
485
546
145
970
159
36
111
536
563
153
567
967
869
920
965
77
395
556
67
589
670
995
997
723
581
55
827
341
799
341
203
208
695
970
595
188
483
288
574
502
806
495
159
752
561
213
287
425
570
154
939
282
381
925
92
782
818
11
772
236
376
846
391
971
234
717
692
655
185
286
966
736
336
646
255
458
480
304
110
786
829
203
700
232
538
38
13
299
466
203
518
953
572
268
512
517
342
610
426
789
851
973
761
453
611
360
835
876
6
161
628
631
703
673
164
113
927
718
744
401
472
95
231
839
628
914
582
382
200
580
203
28
883
641
614
344
822
556
110
119
52
168
924
312
87
240
978
874
718
981
600
124
131
54
638
941
942
132
129
674
288
830
175
796
978
132
944
510
314
758
546
145
719
254
121
396
211
470
33
379
455
96
554
934
51
118
439
357
115
790
841
321
615
772
205
184
922
341
932
409
396
483
716
997
262
789
194
606
489
322
354
870
278
977
910
575
240
572
708
607
882
891
995
772
284
356
233
482
27
334
980
604
23
892
938
734
900
260
444
978
78
155
157
87
785
118
567
881
124
221
279
447
215
932
217
911
93
8
467
853
746
140
665
716
910
472
845
609
789
843
250
448
889
31
250
799
716
687
693
426
513
264
454
470
586
258
714
354
448
838
294
576
100
730
250
311
260
207
314
641
250
470
726
215
4
78
937
47
14
900
400
137
28
669
488
127
404
888
618
758
986
740
182
652
976
177
221
296
294
862
776
541
986
794
318
974
944
441
385
975
893
541
564
921
197
127
617
61
914
679
296
271
423
490
62
293
52
730
606
33
419
958
926
866
519
846
437
391
83
503
995
159
407
653
409
590
140
113
467
960
292
382
671
978
988
335
609
464
805
770
295
676
747
708
481
683
853
106
517
32
73
376
921
306
309
615
176
365
940
722
774
219
534
839
691
362
426
907
500
424
518
159
648
996
223
720
26
945
758
602
175
452
560
770
941
893
276
182
974
40
754
959
750
757
509
621
284
296
947
67
78
981
2
181
177
733
983
602
953
315
574
280
836
893
900
784
479
637
246
489
0
926
995
679
334
444
782
520
517
133
482
625
13
226
341
773
851
23
536
308
319
354
468
464
758
427
766
27
738
146
518
158
737
402
537
698
53
428
559
121
254
815
60
287
473
285
282
247
973
910
20
901
436
689
806
947
931
526
521
106
402
446
805
437
616
203
175
88
478
829
588
948
338
965
796
556
514
64
998
821
679
337
219
52
283
348
961
50
853
180
404
786
990
869
912
153
947
783
942
446
265
802
38
866
669
267
754
151
877
443
967
811
523
41
677
48
757
604
954
796
158
412
70
365
438
130
102
757
88
143
991
318
747
502
981
542
92
45
295
136
520
224
252
339
233
270
296
877
444
718
871
412
587
94
858
39
277
600
760
535
21
269
461
744
813
579
837
689
178
163
479
750
428
317
178
400
894
607
254
133
850
345
233
647
484
842
292
744
14
414
286
691
214
846
367
824
67
627
883
989
428
815
477
786
375
971
500
572
633
734
386
542
507
620
847
19
168
418
484
799
663
545
72
549
763
775
447
269
371
464
351
123
201
59
147
125
211
964
370
65
237
398
940
495
593
255
615
980
160
191
939
120
86
18
104
823
7
179
556
915
35
292
619
658
119
477
722
208
727
916
380
414
558
613
151
806
613
181
223
410
642
172
816
496
701
568
669
943
621
10
538
924
827
998
950
622
906
783
279
427
428
470
296
734
272
438
60
169
354
623
573
32
268
551
760
113
399
258
946
16
802
557
65
43
741
341
131
405
328
61
551
512
261
570
438
581
175
441
196
979
597
754
507
931
817
305
474
341
423
35
523
377
196
780
374
81
251
805
282
128
283
598
726
103
349
267
488
938
476
234
85
43
137
780
243
556
536
179
626
237
587
535
343
334
880
270
729
520
722
307
506
351
520
379
672
667
993
991
453
107
591
348
992
924
598
467
556
422
960
755
48
273
206
828
885
427
147
927
346
8
176
387
630
266
970
820
512
176
138
49
450
316
775
854
959
57
797
112
200
693
242
165
813
693
535
119
656
677
880
788
486
55
219
22
552
541
581
232
412
141
764
805
753
133
619
475
475
73
373
32
220
701
856
511
352
913
842
683
138
813
335
112
699
261
449
131
0
198
158
159
22
570
674
323
387
216
524
410
351
534
676
128
620
225
127
529
2
620
108
700
201
9
620
770
957
598
430
388
358
599
918
75
802
916
713
508
692
906
566
98
946
952
62
871
821
547
323
531
669
682
385
154
344
711
925
389
331
929
645
23
730
966
639
539
942
523
848
694
699
887
440
153
374
165
898
398
754
103
441
282
607
513
67
505
386
21
637
386
119
974
68
27
374
625
369
833
780
809
491
10
927
152
211
397
5
609
215
655
367
695
941
447
363
178
301
84
194
309
541
448
217
990
343
693
616
896
295
782
950
221
661
460
649
753
992
793
525
991
284
867
91
370
304
888
651
454
218
206
336
872
346
401
489
190
210
775
638
12
613
134
964
599
736
645
345
641
154
452
751
746
666
138
878
785
851
183
495
738
807
296
905
423
827
196
540
336
421
264
255
290
779
61
243
634
323
857
826
556
51
600
800
951
316
989
627
126
952
344
659
836
271
603
256
483
451
889
164
510
66
159
331
176
35
400
457
608
156
129
47
871
876
706
24
122
449
138
368
330
628
325
607
675
497
652
738
105
467
357
323
626
227
931
225
52
766
582
523
878
278
871
26
867
858
506
435
34
57
194
386
426
162
864
827
306
720
324
474
508
75
528
564
995
446
3
524
336
21
617
339
230
719
14
968
806
184
715
994
945
385
522
706
373
224
881
935
510
772
598
340
712
614
343
739
941
367
956
111
38
989
624
991
563
998
567
765
937
342
834
937
741
750
840
589
220
253
231
616
814
549
811
250
759
770
373
914
528
979
886
282
965
220
123
154
374
615
40
646
71
951
159
190
762
792
967
852
203
664
238
347
525
806
234
398
679
46
862
485
951
850
760
463
289
513
878
398
541
645
390
166
443
386
548
121
823
820
696
56
284
186
788
483
943
28
652
358
250
309
714
97
411
781
644
726
319
1
807
514
672
461
339
789
301
619
874
998
10
208
938
658
955
593
190
371
893
545
923
167
774
202
304
836
26
110
819
788
826
752
73
866
126
214
593
145
770
991
1
883
938
348
436
765
759
505
284
802
76
976
437
443
340
118
15
961
434
706
418
817
756
611
609
298
135
335
627
358
655
788
161
198
859
394
587
469
781
796
993
643
975
69
820
766
819
409
423
675
985
927
959
679
451
600
215
175
701
613
630
552
211
890
674
639
176
155
316
100
264
219
468
341
695
969
973
500
26
287
500
688
802
730
958
963
692
68
969
909
688
57
145
910
162
436
268
54
552
644
922
718
178
421
513
12
20
751
940
33
96
68
984
964
909
205
408
409
794
296
936
255
721
975
98
227
248
57
74
414
679
165
528
201
539
796
344
955
108
580
601
312
652
643
765
1
491
80
682
530
253
620
71
661
598
485
455
605
282
772
61
384
347
119
25
6
623
260
829
377
500
692
800
137
402
325
774
903
401
293
255
560
232
399
444
13
199
473
417
449
955
30
315
138
762
160
913
845
755
888
377
816
53
388
25
429
147
370
674
340
890
127
95
852
299
781
925
59
679
799
93
854
934
791
462
68
817
188
601
638
496
625
488
849
145
295
965
768
298
432
183
999
751
622
83
249
162
887
799
195
31
898
80
130
902
633
885
915
132
490
774
469
553
409
374
995
432
36
294
510
421
522
607
396
925
94
746
101
563
165
137
259
134
61
836
664
488
729
549
592
644
298
451
3
927
170
472
583
734
78
18
492
686
217
220
919
293
181
338
197
341
448
207
903
142
777
896
452
675
909
839
963
166
143
72
348
487
864
990
199
912
352
367
805
0
332
392
903
332
261
351
93
895
237
519
564
193
197
528
301
981
477
333
574
696
865
964
355
921
242
160
140
391
3
906
585
628
102
3
807
599
238
204
474
921
805
296
618
411
247
474
4
574
645
119
836
122
162
296
819
604
323
465
964
926
987
532
249
831
599
969
429
949
244
313
919
845
954
285
719
753
624
60
985
76
412
973
867
464
109
700
874
953
768
689
137
137
437
579
765
934
557
565
125
572
401
571
111
229
393
558
380
85
889
387
455
941
272
253
795
503
209
591
816
918
923
829
44
375
162
202
441
42
384
643
563
366
671
432
689
869
981
803
510
699
464
794
601
948
840
782
696
78
880
308
814
854
153
884
180
282
286
802
861
283
918
838
513
352
273
302
892
352
145
197
560
599
154
564
551
777
71
69
928
501
490
872
307
68
672
113
583
873
142
729
143
478
303
783
64
189
697
757
882
315
180
761
983
136
983
847
576
841
521
480
614
281
926
101
299
747
744
22
625
606
185
992
119
689
429
297
180
824
693
180
198
982
635
474
736
461
141
256
234
940
75
87
331
299
814
666
446
145
704
921
996
305
870
184
588
803
193
852
184
910
175
12
569
23
799
204
704
397
768
176
717
860
344
774
496
199
657
757
316
895
496
770
836
723
321
234
545
555
992
896
756
739
470
552
888
391
492
276
227
496
846
826
200
5
814
828
558
942
242
601
933
880
576
429
628
716
991
657
525
5
18
214
155
687
580
893
66
305
550
325
474
679
634
298
41
894
217
706
907
866
140
22
316
541
232
397
508
346
429
497
481
828
285
252
830
582
196
979
196
199
274
495
440
124
786
385
33
796
838
108
530
762
363
96
653
288
454
479
954
49
486
603
226
211
344
860
244
962
433
373
113
836
583
656
42
12
976
945
640
121
662
473
162
309
228
704
941
663
176
513
231
829
558
425
773
845
526
220
991
511
654
191
792
237
639
5
527
112
455
946
90
462
644
516
433
730
769
844
188
815
267
721
216
619
184
566
739
929
592
139
9
43
476
295
319
759
831
162
192
272
74
496
871
539
255
575
3
667
300
751
97
913
533
789
517
127
50
992
310
659
695
425
648
160
218
541
639
373
10
446
794
398
124
899
379
259
665
518
254
29
874
475
944
726
922
723
546
490
397
431
375
122
953
779
213
673
767
653
318
336
373
198
757
346
298
925
465
144
562
369
128
812
466
672
283
845
701
688
857
452
392
557
992
588
650
969
69
764
426
726
157
211
26
357
637
62
810
294
826
148
689
551
628
541
58
857
759
812
307
514
715
950
116
734
977
64
536
81
427
367
360
51
387
312
325
578
99
354
517
900
254
380
567
398
368
927
955
15
732
632
510
133
417
651
751
747
331
419
962
260
844
962
767
930
656
667
204
53
889
524
537
171
516
462
19
2
851
96
958
268
328
750
361
427
359
605
329
437
260
205
690
69
470
105
372
171
874
598
202
606
501
55
930
586
133
547
492
326
278
877
465
212
510
838
290
813
60
144
818
416
938
653
659
619
123
976
202
369
688
923
499
23
855
941
165
684
13
790
163
838
354
378
22
486
408
994
191
507
121
847
681
390
38
958
330
225
172
674
86
885
536
385
278
832
170
189
316
702
833
856
829
951
463
115
354
860
887
777
75
803
999
269
521
46
2
618
789
185
396
764
939
579
909
465
554
252
821
68
330
625
967
790
250
555
880
681
572
667
839
841
225
424
405
509
230
436
546
658
642
659
967
972
845
975
274
621
703
305
179
74
324
437
317
491
424
433
458
639
485
453
52
143
785
216
117
574
961
706
653
102
815
120
826
816
784
944
840
396
250
947
123
86
414
293
492
911
194
226
203
492
988
385
706
499
579
969
125
594
345
781
723
914
407
847
12
879
294
800
551
613
479
580
979
174
196
118
613
995
918
861
886
726
384
370
548
854
487
764
938
532
612
694
693
890
830
748
93
79
280
999
144
552
687
308
392
101
908
919
480
348
630
752
835
926
512
756
782
360
38
110
984
38
72
575
661
301
467
237
902
278
784
829
833
257
459
124
393
296
563
495
615
224
683
246
637
979
629
587
624
28
749
459
767
899
48
196
309
508
710
0
918
717
453
7
376
658
270
227
643
812
320
511
171
223
954
198
391
474
409
756
513
208
150
261
839
532
201
392
364
856
736
142
984
424
639
938
343
808
40
423
767
645
291
537
221
538
190
817
348
605
700
564
635
850
234
973
320
410
163
278
987
751
379
170
561
337
559
614
576
139
614
37
150
693
420
896
362
568
732
893
173
21
373
56
58
756
918
796
46
2
735
559
884
594
150
481
501
190
421
163
963
668
739
148
743
267
783
517
452
13
590
755
11
144
453
451
847
600
959
476
282
711
149
272
283
968
71
78
853
743
932
834
227
543
76
960
176
605
442
420
520
824
89
763
821
679
801
658
911
779
914
757
432
802
603
302
958
702
681
310
866
669
966
12
956
74
450
45
979
831
153
965
132
809
25
65
652
85
239
93
294
355
938
334
850
124
207
328
468
10
467
304
891
133
963
10
902
912
112
357
858
434
641
305
70
819
0
544
62
713
896
886
693
930
642
822
675
103
398
967
275
485
134
626
418
693
207
922
846
466
626
298
400
265
410
610
238
717
9
49
218
127
798
15
55
434
607
0
188
403
198
201
864
663
890
781
680
626
351
138
472
303
6
549
80
938
634
690
50
907
988
770
116
824
387
196
613
718
589
31
496
339
502
81
603
175
4
299
594
364
705
240
437
673
651
633
897
490
712
138
299
859
432
859
876
531
749
808
689
156
51
693
504
521
461
583
928
457
10
631
546
350
213
202
635
39
859
453
758
167
722
789
918
830
309
612
440
735
296
253
9
842
307
1
602
507
616
491
508
745
484
17
411
908
581
758
386
68
904
968
144
546
337
185
907
232
311
998
824
642
24
45
510
84
256
17
119
882
708
820
649
543
809
949
828
162
889
614
495
317
694
382
264
740
541
753
218
90
149
426
541
568
103
469
94
618
405
420
324
937
30
457
472
594
478
440
363
457
340
268
197
113
354
78
780
894
554
722
680
338
507
749
611
341
213
669
898
90
95
893
422
895
564
653
451
771
464
923
81
881
6
947
106
715
313
519
976
712
119
502
877
692
391
785
407
917
709
973
93
274
601
354
88
573
329
468
564
901
604
958
61
725
72
857
186
869
965
392
836
731
42
828
142
754
898
10
770
798
950
581
854
209
356
78
618
644
316
305
704
804
729
521
308
686
795
855
2
667
422
78
53
463
109
365
189
54
502
865
146
432
7
945
412
576
435
680
255
787
920
283
961
778
518
140
188
729
996
813
944
967
209
69
444
599
627
380
876
926
124
145
731
485
424
458
427
14
648
790
425
388
132
710
51
594
243
768
302
696
189
379
47
737
136
431
888
995
435
298
947
765
992
571
221
959
898
538
212
297
443
834
899
340
653
273
458
612
895
119
564
477
546
552
553
412
303
341
639
748
555
94
913
343
903
510
501
431
342
350
67
15
951
251
935
64
581
129
8
830
217
36
399
276
626
179
38
445
413
991
251
383
399
990
67
412
882
716
426
578
978
231
927
552
615
647
260
514
685
511
269
706
913
651
640
660
639
121
793
457
890
790
994
667
569
528
332
928
120
376
75
900
523
551
400
12
837
494
816
769
752
141
308
630
718
333
355
423
944
538
184
578
901
764
297
820
195
965
604
702
864
327
315
846
520
195
813
57
248
120
664
346
689
271
283
310
28
95
348
880
475
970
343
287
231
668
266
572
362
449
257
160
700
186
865
266
275
257
32
341
708
74
282
775
873
804
682
687
836
978
116
169
601
0
927
130
164
878
242
11
805
790
97
909
220
471
58
220
380
161
306
398
296
531
511
412
229
950
606
618
688
142
847
107
819
246
191
428
31
931
413
299
704
49
778
144
707
195
19
971
775
419
130
861
273
868
593
889
258
402
200
134
995
486
840
29
277
936
914
124
289
860
573
531
515
591
941
383
430
544
102
163
899
899
656
798
281
533
596
395
50
929
272
763
419
565
582
621
226
371
699
336
248
536
898
760
996
887
979
279
330
586
670
731
638
222
531
238
44
275
82
198
216
826
442
919
673
856
603
751
456
565
859
829
274
32
100
905
789
138
656
523
515
524
197
253
828
60
452
72
900
81
771
566
158
304
58
748
700
267
667
897
469
163
617
697
750
952
163
763
126
327
980
750
578
907
523
412
18
652
349
860
329
606
511
790
466
116
62
261
106
888
325
132
863
352
893
520
293
734
525
989
377
834
839
132
350
793
645
737
10
568
653
884
398
242
426
99
335
503
471
569
128
441
823
40
859
423
173
435
15
787
487
28
149
144
219
534
427
695
813
8
365
769
791
777
43
860
743
250
9
405
524
467
698
352
404
246
798
250
421
153
990
266
55
835
164
469
749
643
311
400
840
153
341
715
305
452
92
256
871
16
399
429
270
209
525
467
481
362
547
968
812
784
787
337
425
875
106
626
592
159
33
994
772
575
568
832
92
853
788
179
260
966
548
851
794
375
746
144
869
202
260
666
605
408
496
715
175
377
468
138
412
817
996
903
342
329
187
151
421
518
113
889
153
851
7
46
375
113
604
414
14
790
493
490
705
749
907
897
775
271
640
365
257
520
259
270
0
240
401
403
893
901
732
410
281
25
34
479
402
164
17
153
367
683
374
165
366
771
142
669
713
547
890
255
191
623
581
467
334
546
483
225
435
881
558
74
249
636
752
509
586
813
168
151
201
306
768
237
500
180
833
338
910
656
880
715
342
245
125
538
811
624
792
719
137
113
574
156
940
387
118
300
463
126
434
657
83
981
778
152
521
875
348
179
725
455
419
350
499
310
581
854
454
279
960
141
364
922
110
195
992
173
565
523
216
805
951
56
706
414
966
463
549
838
241
309
551
211
782
768
461
308
193
89
585
78
399
466
297
914
79
410
748
65
688
974
88
92
974
562
499
958
685
108
645
932
990
902
428
237
202
739
837
817
676
79
213
730
694
439
551
894
295
120
212
269
467
929
948
417
592
893
857
713
754
56
936
814
354
538
608
686
729
307
967
831
213
642
692
159
780
989
675
326
624
962
458
319
514
645
410
495
517
197
910
744
541
572
40
791
485
392
515
76
999
333
594
649
371
981
540
806
467
543
217
564
956
515
141
570
252
207
85
964
20
966
939
72
995
891
447
584
725
326
61
71
439
456
173
670
934
864
531
910
686
32
896
314
185
640
973
459
17
229
358
490
61
420
118
262
867
796
890
267
230
948
823
91
912
151
304
31
406
791
856
164
837
753
492
866
43
735
268
253
733
145
968
820
852
231
164
194
572
683
923
641
611
214
720
561
411
812
289
826
932
567
136
197
610
124
861
537
411
959
370
28
366
485
868
132
864
169
628
800
500
701
13
606
455
761
150
298
587
865
150
556
82
470
403
156
97
236
441
141
459
142
34
933
928
639
690
953
648
646
283
943
746
70
103
523
786
581
746
625
897
330
981
959
613
828
70
45
768
692
519
927
217
519
53
436
243
501
781
656
724
619
855
991
999
350
513
767
785
296
236
948
15
58
451
84
901
347
777
527
412
384
556
439
953
166
981
801
737
289
961
973
605
433
45
165
888
985
988
773
63
579
898
610
295
129
36
286
881
597
414
624
696
554
332
786
659
598
28
126
245
310
554
531
480
653
454
40
971
345
39
986
866
427
495
489
13
86
879
753
377
107
379
808
284
792
624
199
744
251
380
5
75
512
573
900
431
194
227
742
264
442
812
512
956
562
269
338
833
435
72
812
937
405
895
233
529
305
669
36
247
27
121
805
883
296
527
905
559
252
825
797
585
213
438
847
89
740
430
238
851
820
865
214
917
582
141
832
794
976
896
571
792
319
482
497
313
645
481
706
361
540
549
967
529
166
768
607
883
229
529
782
931
903
398
378
152
552
750
769
494
538
485
485
140
546
271
696
294
343
87
708
642
730
564
764
114
955
438
369
886
587
863
382
759
117
579
237
272
210
200
153
343
793
875
397
922
847
270
550
357
672
377
581
102
938
405
779
511
489
283
106
496
39
233
713
648
923
730
174
648
835
976
54
967
571
131
595
651
142
177
96
605
91
894
547
779
481
426
239
950
817
229
97
171
669
592
707
220
268
913
812
101
390
423
234
341
730
719
313
249
191
612
436
99
55
815
309
166
599
279
964
604
45
988
579
762
918
250
455
346
866
693
1
680
268
192
862
395
590
262
826
290
372
431
137
308
961
550
14
564
448
687
593
930
248
54
522
975
254
34
892
91
314
598
7
171
832
961
975
514
432
217
673
32
547
170
906
391
949
811
592
386
955
639
789
632
285
862
394
284
988
20
413
454
709
383
632
249
408
416
924
827
290
959
316
171
272
554
703
254
298
319
232
827
386
233
618
188
431
273
473
705
593
343
625
985
368
446
918
305
923
168
382
123
791
994
587
785
965
562
4
933
548
19
154
847
697
546
584
101
483
309
80
379
466
16
651
102
926
213
989
220
618
401
962
215
860
422
644
563
411
319
886
284
242
602
614
383
401
58
652
658
134
705
514
961
362
712
462
389
18
376
487
931
366
747
639
787
578
385
600
96
107
308
644
9
619
978
565
203
786
451
142
852
224
34
975
136
428
698
151
347
298
196
585
691
511
184
927
199
247
710
667
719
787
421
870
558
401
138
875
131
775
966
340
507
401
528
191
733
574
770
12
309
78
575
913
185
91
769
235
408
231
523
961
989
80
25
759
443
512
622
381
608
854
118
986
993
202
126
373
727
824
304
97
216
730
710
546
868
747
369
719
202
783
139
370
472
999
12
515
207
110
815
143
139
260
796
546
481
239
802
347
407
358
642
595
838
112
716
98
281
327
324
909
811
233
307
347
478
280
977
604
507
391
613
287
132
419
637
122
350
636
361
742
858
236
346
3
594
123
224
839
179
419
84
528
539
586
600
157
726
892
137
347
17
863
679
467
656
298
637
291
309
625
405
97
946
740
0
261
115
263
661
71
608
200
38
89
68
69
218
627
84
237
67
200
653
350
359
861
647
55
293
164
626
545
378
96
689
622
334
930
815
219
185
957
625
413
787
798
961
283
823
424
282
838
350
90
54
267
754
338
942
81
927
348
267
172
490
413
904
844
811
609
308
282
463
971
130
762
16
983
191
174
371
830
870
530
898
975
887
869
987
58
256
104
147
768
746
74
891
700
294
296
317
510
330
522
304
240
375
543
245
590
736
483
455
549
61
235
846
905
125
99
733
687
753
36
552
328
118
210
388
365
718
531
296
713
713
649
604
589
891
918
149
127
409
394
199
64
460
525
789
339
896
921
94
983
91
968
559
508
532
874
91
80
114
120
766
861
373
464
57
28
144
258
397
131
310
971
812
398
784
317
485
898
830
682
72
484
860
103
543
791
944
775
657
500
663
549
547
820
454
796
887
947
525
233
412
728
827
310
143
649
797
582
368
314
261
485
49
691
518
356
345
618
429
841
387
565
318
349
593
979
141
752
256
357
530
61
688
85
18
390
609
531
349
80
918
409
661
727
940
729
901
696
742
181
820
420
521
743
293
342
102
930
779
570
921
290
589
158
696
291
6
137
712
540
228
628
302
842
391
9
393
227
643
121
929
223
160
151
907
65
173
942
541
530
61
102
368
568
931
510
521
356
69
929
549
492
136
251
15
895
18
310
322
939
193
580
810
71
225
156
798
865
625
508
505
6
192
655
691
119
90
164
177
941
187
966
363
809
984
272
543
209
133
49
768
663
200
358
70
985
220
123
702
899
725
18
940
310
997
124
209
171
899
130
463
884
492
44
424
415
392
317
355
496
647
287
168
804
508
138
684
239
396
816
389
838
771
868
448
696
34
930
941
19
654
645
537
22
905
108
417
437
646
322
697
235
723
365
358
780
666
903
721
216
483
389
439
829
503
412
761
182
309
605
886
77
575
792
248
148
707
830
636
626
962
342
269
214
192
279
841
569
182
493
639
964
188
468
121
173
973
889
654
292
62
587
228
655
418
870
640
276
44
436
499
408
376
325
443
883
387
10
86
331
146
422
467
544
608
282
655
658
119
176
424
850
48
174
994
840
959
7
13
630
782
105
47
980
579
276
207
850
103
401
64
879
542
469
860
996
289
470
753
976
391
296
333
492
429
702
600
836
331
392
597
34
754
105
323
869
372
435
439
788
870
605
166
764
551
704
698
592
491
470
428
631
761
607
687
36
386
375
106
604
349
367
116
89
858
445
751
359
491
799
158
568
304
900
5
452
613
80
852
972
122
856
240
154
452
977
965
560
395
349
375
388
946
623
993
226
270
382
702
961
845
646
110
534
561
228
970
355
688
931
495
119
375
975
419
541
863
835
401
735
314
787
844
551
193
115
145
717
632
707
62
861
555
323
595
401
874
982
877
817
937
551
670
842
264
450
21
784
859
789
134
344
340
858
800
970
384
958
862
755
383
651
93
51
605
873
16
932
105
570
405
819
502
382
315
493
201
18
771
392
496
913
4
812
429
551
470
424
421
883
630
964
822
11
37
296
94
762
126
820
212
377
445
936
391
751
574
419
501
390
10
545
263
159
735
24
807
646
604
586
206
715
260
219
24
398
22
462
639
932
589
523
735
227
99
103
508
732
792
897
240
249
732
241
62
20
17
656
480
702
210
1
288
571
848
300
256
389
558
867
194
477
6
7
224
116
414
575
357
390
502
989
484
473
673
531
372
159
990
21
461
938
455
349
974
730
320
737
135
720
716
653
167
837
755
957
867
142
691
488
316
191
369
728
497
396
705
111
23
424
273
550
101
889
109
828
231
913
327
420
695
281
87
968
585
393
494
52
410
550
533
172
614
629
913
619
421
924
696
345
632
826
421
917
475
395
356
402
338
58
387
819
401
519
206
765
87
255
494
166
258
386
360
275
583
255
342
730
43
796
723
680
312
407
914
732
77
357
657
232
308
170
378
110
669
803
511
125
272
225
279
284
782
266
724
488
625
19
202
481
942
399
847
710
912
648
112
534
490
412
362
565
709
517
237
775
106
717
386
665
348
645
431
159
737
506
32
598
904
641
925
2
406
196
960
998
251
405
737
15
670
867
645
588
899
642
238
676
550
333
611
19
284
800
881
551
539
494
190
628
567
801
160
872
556
573
271
116
497
489
846
650
402
579
472
772
305
63
843
3
135
792
888
206
171
74
853
432
423
385
57
421
473
139
99
682
267
855
219
180
879
455
338
537
371
781
557
498
534
34
578
94
615
606
433
466
959
148
702
631
15
591
978
458
781
181
468
621
457
445
264
895
996
417
574
960
417
491
929
929
469
247
833
620
665
509
606
609
135
514
784
977
18
148
431
529
673
438
907
277
897
471
149
114
770
67
872
870
354
251
531
606
263
356
147
952
896
294
412
880
166
190
557
407
13
904
158
670
497
642
954
971
768
588
638
976
391
518
780
676
851
653
649
47
124
845
392
811
943
859
407
466
507
312
425
769
960
363
476
948
333
62
733
332
487
119
709
974
286
919
915
379
263
909
573
194
458
90
267
608
258
268
646
703
224
393
317
1
657
236
124
521
974
570
336
472
533
246
177
597
15
811
124
407
808
924
38
597
701
549
258
52
432
410
623
552
259
648
646
360
737
163
578
291
430
135
635
816
438
660
319
332
407
302
826
544
318
708
635
47
168
141
320
73
506
524
536
260
577
716
642
42
296
31
437
751
972
893
606
186
867
404
695
468
431
418
332
590
651
782
452
738
842
908
721
548
312
802
336
263
140
260
907
468
489
828
900
705
614
653
830
290
116
884
581
779
519
539
615
263
974
115
323
642
435
962
697
526
34
700
433
989
677
438
547
18
10
108
376
152
206
81
246
250
47
971
24
915
396
60
799
791
235
384
53
301
205
330
730
471
72
154
787
296
180
349
870
627
685
897
606
433
214
667
936
668
935
517
44
879
790
334
509
46
736
312
661
536
792
199
58
893
223
204
344
486
960
506
498
497
107
396
822
462
221
946
773
505
31
912
812
272
51
977
958
157
988
517
664
594
579
746
672
738
388
271
142
267
721
738
883
414
818
207
309
200
218
459
325
186
189
846
22
4
502
838
920
414
262
709
923
355
224
229
703
759
160
422
192
712
958
862
387
690
798
284
890
605
593
48
509
966
330
188
539
416
336
910
788
212
733
459
728
257
795
28
587
107
17
480
7
552
157
992
828
979
327
859
601
175
180
254
843
485
637
677
812
259
362
373
392
9
627
334
843
341
718
713
941
299
932
864
275
443
49
320
309
737
689
858
124
259
985
448
686
915
695
214
195
788
98
846
912
415
732
394
471
876
229
233
886
475
954
532
462
637
792
666
655
892
282
493
781
523
868
255
728
916
447
805
350
498
846
522
680
698
857
8
422
192
817
142
927
306
911
354
61
728
571
971
138
902
609
735
631
122
819
822
606
781
544
523
699
844
35
914
125
524
149
40
23
607
138
199
17
653
931
523
204
338
800
969
320
795
471
583
616
618
915
974
391
195
331
968
757
743
357
575
592
164
243
798
582
547
602
7
410
245
771
953
314
521
513
656
88
337
390
805
508
15
12
907
273
960
923
520
214
20
229
313
835
660
825
446
54
341
555
476
797
70
681
475
860
546
989
400
194
840
853
499
445
399
187
341
435
721
928
665
529
5
772
205
455
886
756
689
934
293
785
317
38
945
810
166
172
820
234
123
456
568
7
655
87
253
778
77
823
623
293
695
293
678
356
601
163
599
235
499
570
327
445
775
621
597
720
141
312
749
548
495
620
589
906
758
295
844
240
408
564
536
404
535
125
553
695
618
353
567
647
889
471
541
686
456
378
1
6
546
806
260
890
797
739
437
563
947
704
756
127
983
743
28
202
948
427
270
69
391
530
404
277
515
41
284
235
872
734
612
928
483
646
940
618
912
262
816
38
828
99
839
788
20
6
287
271
509
723
44
261
772
889
372
113
130
968
594
547
420
369
419
851
60
396
568
917
445
837
127
60
700
931
171
479
209
387
229
218
249
916
838
190
251
373
538
103
241
871
188
606
608
180
331
61
21
51
852
936
177
846
204
523
573
99
707
416
598
816
504
470
723
269
82
278
972
302
482
627
866
202
957
886
271
286
148
812
210
822
555
88
694
406
186
617
610
186
773
970
814
27
750
955
971
772
386
155
500
3
991
523
422
648
565
44
132
358
35
634
437
646
974
786
545
574
488
166
574
129
652
590
195
719
42
151
107
392
97
384
483
735
493
486
304
810
398
532
466
387
26
206
843
109
965
118
248
543
538
287
469
997
838
190
732
179
852
949
588
871
868
236
180
842
844
690
523
156
38
428
587
346
540
345
501
933
221
172
347
622
288
690
634
568
129
875
29
647
888
750
895
138
61
992
878
843
197
81
625
429
886
877
47
741
835
818
621
953
364
895
610
605
604
845
619
162
12
421
60
326
860
18
493
320
471
974
464
912
866
203
793
995
704
659
610
662
815
356
860
185
534
971
854
252
280
330
700
670
713
475
570
67
436
862
894
300
245
910
706
756
891
733
571
439
654
504
919
116
660
393
775
898
945
99
921
138
467
848
870
474
689
732
753
153
817
334
209
494
326
326
372
716
855
855
913
599
420
268
140
130
787
373
540
7
680
193
66
760
852
973
567
482
362
27
902
12
690
556
291
979
651
366
604
740
958
802
123
86
630
878
803
812
296
946
393
3
837
891
842
889
914
883
565
658
522
770
4
85
533
625
481
227
474
97
535
32
515
840
899
921
278
261
376
145
346
907
327
40
418
714
278
367
642
417
711
765
41
680
499
714
450
120
176
825
532
751
230
479
624
320
77
165
70
550
541
367
969
304
938
462
583
220
853
670
156
482
566
434
967
974
871
766
215
551
899
321
939
487
643
955
892
743
189
591
574
476
24
662
475
372
536
912
825
559
652
436
832
426
884
644
176
718
232
714
426
988
231
82
629
585
826
708
680
569
642
363
581
711
372
324
253
384
593
274
133
551
674
246
249
876
811
553
185
641
444
71
695
222
861
172
911
789
835
451
84
7
346
614
147
806
977
55
632
92
107
537
224
833
39
941
800
885
445
717
934
136
587
933
669
690
244
413
308
602
434
592
617
196
298
58
411
147
510
407
383
769
207
834
327
697
468
715
306
621
928
341
48
663
932
272
835
681
273
226
591
306
688
759
71
495
336
651
197
982
879
940
976
922
298
943
472
355
536
692
624
623
616
721
269
545
969
198
664
156
528
237
24
726
168
280
653
150
681
86
63
483
668
527
89
36
108
642
875
112
564
422
17
206
788
906
455
22
70
873
7
12
449
471
135
471
298
286
376
26
746
360
580
201
447
87
225
751
73
183
192
812
206
809
467
204
559
455
838
610
258
356
487
823
516
960
899
773
228
906
309
588
858
787
582
354
769
491
405
305
749
910
334
878
393
595
70
34
155
207
970
873
11
901
326
563
221
485
811
917
625
376
518
905
116
628
317
670
219
918
622
328
428
710
456
851
295
34
989
639
123
32
224
795
182
509
46
656
328
394
521
228
338
172
918
950
167
303
437
831
587
612
148
348
617
736
667
948
825
766
707
344
183
975
661
586
83
105
194
720
589
128
523
879
286
143
209
478
133
261
647
266
769
879
157
537
718
868
315
689
241
867
612
195
696
249
49
318
111
297
422
481
958
557
432
894
416
837
462
248
144
687
215
563
709
328
30
196
553
653
924
742
559
866
969
726
850
511
297
345
823
764
622
267
509
155
568
45
67
740
387
804
255
242
637
513
555
202
126
350
175
393
134
607
469
750
603
792
296
211
243
381
62
978
973
915
593
454
2
881
715
523
155
419
449
528
487
670
447
648
701
521
206
899
170
898
730
897
821
333
906
607
789
74
483
451
646
265
444
35
217
0
922
397
29
918
421
806
851
641
471
356
770
39
732
216
103
954
29
322
934
126
110
888
836
736
535
630
52
459
405
370
851
452
482
125
518
632
847
587
728
557
978
146
735
99
982
216
981
813
947
747
145
427
72
419
578
793
833
360
129
206
820
910
843
917
829
466
263
505
612
279
924
116
727
474
283
521
353
170
732
772
639
361
655
842
943
956
553
549
316
857
867
595
391
610
481
455
98
602
878
484
189
139
280
244
812
736
61
449
757
147
367
383
757
455
134
41
208
421
932
448
25
168
63
751
146
813
627
129
52
18
795
688
923
331
900
45
988
48
915
407
454
881
881
246
959
535
40
905
912
967
878
649
857
105
126
776
630
233
386
308
666
783
540
157
835
847
229
206
900
553
19
0
400
893
393
627
711
996
817
510
84
206
72
276
32
151
313
611
524
492
349
413
381
233
125
227
309
879
806
453
360
335
321
369
628
729
237
886
380
549
851
187
890
766
988
831
522
357
65
2
384
813
309
831
984
302
455
721
374
845
867
339
793
838
797
776
992
644
566
977
857
331
860
644
713
128
227
143
565
466
64
587
858
603
816
340
16
187
467
94
361
10
2
424
672
623
57
212
233
489
377
163
214
861
263
393
671
230
135
396
707
237
516
87
229
510
348
477
457
420
724
243
108
868
927
645
413
915
826
653
292
112
707
900
484
485
908
331
215
861
34
195
973
931
849
875
828
287
996
775
819
347
401
760
351
892
364
755
859
56
665
638
555
846
782
576
191
458
958
557
925
820
851
598
137
974
328
75
131
209
257
606
398
891
492
309
32
886
952
323
201
381
269
221
292
909
604
900
99
755
467
306
990
352
391
134
837
346
458
684
290
380
442
698
64
179
948
409
493
424
274
957
611
965
401
57
679
630
597
856
214
601
507
693
873
669
525
90
26
843
252
225
896
563
725
318
922
777
644
656
577
613
832
34
943
663
188
633
936
778
57
954
59
953
642
608
147
755
40
454
540
30
824
905
702
270
421
387
842
31
444
452
704
124
488
426
99
777
220
215
507
334
159
184
508
966
852
53
282
59
795
345
279
702
732
261
606
474
223
427
503
300
610
300
64
677
274
885
224
72
563
538
768
364
522
976
956
267
963
103
806
197
590
910
319
595
821
447
325
741
962
606
90
697
61
339
647
659
726
326
730
170
459
895
252
212
9
703
42
362
923
412
748
343
247
869
429
251
169
463
873
471
582
347
12
131
10
448
130
680
981
308
281
80
301
696
797
697
910
106
526
217
670
163
387
404
635
443
805
323
9
493
639
996
202
259
799
837
139
398
601
285
436
426
535
502
324
51
970
205
598
937
629
312
703
255
181
620
410
673
832
489
47
419
92
719
552
272
650
853
80
938
891
874
474
724
573
322
166
600
418
498
975
51
429
190
409
672
744
341
420
361
419
900
370
379
415
792
518
598
500
929
331
413
933
904
935
357
725
455
716
980
594
427
489
672
744
949
125
330
628
974
415
137
230
430
822
935
219
355
111
9
163
251
343
778
44
891
748
316
112
17
651
301
67
846
873
984
681
655
91
281
740
228
232
120
751
273
961
943
80
453
75
846
278
315
383
308
432
771
531
80
299
562
846
920
687
672
434
739
245
263
3
433
452
242
187
70
888
81
932
949
293
543
380
362
235
574
496
34
764
928
633
503
933
635
518
831
184
824
895
646
528
394
643
698
934
201
514
993
424
190
157
256
44
664
75
328
161
398
893
763
711
333
532
306
670
47
634
930
17
673
263
497
66
752
115
821
198
26
327
7
435
97
559
815
139
449
418
653
137
412
887
825
313
130
230
880
186
452
465
451
360
417
7
420
675
249
881
421
368
885
850
508
843
974
221
838
344
495
830
852
988
961
725
344
410
349
14
188
142
773
495
80
56
875
626
773
590
813
928
544
258
846
767
334
113
978
251
374
287
215
623
381
773
15
459
883
990
208
878
439
65
617
987
484
592
44
45
83
975
645
205
467
789
530
252
628
237
718
245
382
605
329
15
634
9
617
185
970
426
98
989
134
298
643
305
614
86
304
248
965
895
24
859
238
276
752
857
686
551
812
39
845
343
962
160
647
133
523
891
161
930
32
535
182
641
111
434
459
277
860
799
985
119
301
433
140
312
764
898
664
622
650
645
454
114
239
910
872
395
495
663
384
887
320
65
469
793
895
237
311
745
900
440
397
522
433
191
598
339
126
756
233
636
132
603
289
976
584
569
356
549
705
388
20
921
396
29
547
601
308
34
798
934
371
682
353
700
459
662
211
443
349
590
366
744
209
130
183
982
436
480
620
145
85
916
412
161
314
732
106
954
137
352
432
893
235
777
398
282
807
185
881
418
29
366
93
563
775
419
168
277
268
161
75
362
837
99
491
578
231
945
152
694
774
4
856
213
497
432
497
822
979
189
618
843
343
997
554
211
851
296
832
761
884
951
173
847
613
649
213
66
293
403
44
137
939
442
909
302
139
542
76
697
958
351
159
734
583
773
450
325
814
474
748
927
171
282
278
486
534
734
934
566
214
472
226
572
939
787
207
43
3
388
461
742
270
539
858
560
685
443
156
292
689
382
141
167
291
486
130
678
855
516
408
45
501
166
993
751
569
397
664
853
649
716
521
701
287
270
297
95
539
137
626
984
891
19
519
549
426
289
440
482
531
804
32
414
75
524
672
267
697
854
514
189
423
435
936
846
63
121
169
25
339
517
180
601
405
613
922
464
654
53
28
212
767
562
64
697
604
21
80
447
761
470
234
880
996
61
630
575
698
724
529
499
387
226
936
437
164
433
435
91
513
148
611
740
149
875
965
64
189
692
112
941
982
466
667
320
578
510
703
549
595
592
817
11
996
163
623
98
191
661
798
134
475
378
834
991
637
3
329
671
295
871
19
393
247
419
573
417
813
482
157
631
938
613
892
305
947
337
146
323
892
117
445
387
986
451
385
159
526
21
772
828
307
73
192
807
635
98
11
332
785
34
583
831
737
712
802
113
464
205
823
449
695
127
27
838
830
684
151
966
383
721
961
676
594
639
340
284
729
266
292
291
395
475
812
644
122
592
537
72
246
231
888
258
119
968
712
541
632
728
274
279
967
285
792
955
338
885
662
509
981
204
194
276
674
537
725
914
277
669
268
218
304
593
816
957
266
516
997
866
895
283
898
524
734
56
673
225
597
888
879
568
277
716
797
780
732
319
871
381
497
226
913
413
945
225
448
553
451
277
723
473
846
51
947
188
938
524
399
978
861
929
971
404
665
930
38
800
352
201
854
561
248
49
474
52
436
105
1
339
429
916
864
591
493
986
240
148
151
674
684
535
267
957
579
443
399
942
581
593
668
917
673
73
220
988
687
552
791
954
958
688
315
821
130
393
152
721
902
614
50
765
677
724
622
37
838
842
992
207
31
753
528
596
356
628
278
778
967
404
213
854
858
696
431
901
202
873
213
265
764
900
828
134
61
683
950
494
933
367
881
473
359
783
791
867
673
159
761
145
180
918
366
760
666
441
496
915
903
959
978
782
633
86
632
841
929
590
314
890
466
688
545
996
100
343
596
287
740
756
341
519
157
477
206
931
309
241
912
205
930
666
154
271
54
508
317
530
690
852
143
344
918
529
587
186
482
911
699
183
817
39
722
912
59
384
14
741
786
833
698
452
185
553
52
660
857
871
462
356
922
45
769
570
17
920
123
335
134
91
604
740
691
732
213
946
980
892
239
451
47
685
658
756
880
758
240
118
606
900
512
52
417
248
783
438
327
30
109
735
44
424
229
938
362
407
318
737
672
428
534
337
310
135
714
612
355
151
110
169
737
257
552
643
872
542
684
101
241
279
976
893
134
298
843
921
596
334
858
948
413
714
787
555
406
7
550
507
844
861
361
779
558
2
776
441
701
533
309
43
469
194
559
369
9
66
4
21
672
439
570
308
762
330
332
693
941
5
968
311
16
82
777
921
115
874
807
30
289
311
127
149
682
152
514
349
958
235
983
513
179
576
645
338
710
436
543
319
724
334
200
568
853
389
349
213
238
513
778
860
72
172
30
735
871
2
497
458
567
906
637
870
901
971
682
459
589
658
418
518
255
325
309
853
964
449
129
782
851
806
276
204
953
118
820
764
302
979
26
316
252
756
490
297
219
516
435
111
960
507
97
229
606
284
682
556
451
332
608
531
357
840
884
343
144
919
761
606
349
543
609
985
501
113
858
612
121
847
6
697
435
542
503
533
732
442
592
338
730
989
366
702
910
999
976
731
809
325
444
467
802
75
302
849
907
570
23
426
597
63
819
565
245
202
376
524
933
995
738
817
76
505
345
681
848
780
985
972
552
738
411
497
589
651
150
903
141
304
313
250
382
85
249
138
293
509
855
478
667
853
202
706
72
956
379
831
454
305
188
823
454
979
91
587
111
256
592
404
666
724
580
916
455
163
248
978
193
390
312
629
590
356
611
182
383
624
801
958
813
435
758
701
231
687
31
427
346
461
163
327
170
645
427
852
993
365
556
208
767
629
693
193
196
737
825
217
530
366
892
117
296
137
732
596
138
303
999
117
192
577
417
172
403
605
679
324
70
444
346
214
614
198
24
87
539
277
228
634
278
54
311
70
809
140
990
885
896
22
168
251
316
598
364
429
965
57
623
683
150
774
788
994
220
275
261
326
430
249
195
395
490
548
780
593
103
890
54
459
503
484
324
691
752
532
333
890
915
104
284
158
710
473
787
17
422
578
609
589
197
667
637
426
90
744
777
386
232
395
559
566
609
193
472
766
590
255
7
427
455
4
479
89
944
79
109
218
80
257
696
253
840
226
208
428
355
713
335
233
20
203
438
487
272
549
677
409
845
843
672
129
608
499
182
262
551
178
945
659
930
5
675
282
267
411
191
307
394
548
274
788
865
704
288
513
357
211
238
251
133
759
823
484
628
57
472
149
290
495
43
661
790
881
664
95
630
958
931
294
765
525
259
327
348
317
448
694
185
208
787
503
298
344
267
954
904
718
499
695
431
219
65
428
784
149
911
985
249
524
1
889
907
79
8
512
207
121
99
119
906
730
652
620
597
113
154
90
175
684
96
343
429
157
783
357
575
125
655
718
924
114
445
664
615
838
671
897
530
674
1
489
160
654
907
70
456
793
318
857
450
77
59
501
366
424
271
574
98
203
881
503
958
976
715
339
298
266
260
200
989
84
829
537
85
266
305
744
157
738
257
158
229
620
488
767
988
178
516
226
843
454
630
96
192
582
995
940
907
163
795
831
660
769
288
465
513
651
614
728
360
707
755
24
726
857
6
807
955
966
546
265
304
530
917
522
973
448
409
897
836
607
698
405
237
318
32
992
106
184
877
885
34
295
902
908
308
345
374
703
647
761
143
585
749
879
901
182
585
451
131
185
53
655
776
605
304
890
452
264
670
648
695
859
492
330
92
682
362
525
683
790
860
301
209
274
776
750
100
428
739
469
864
454
890
65
194
908
284
875
526
367
398
76
164
226
47
628
947
600
733
656
892
309
304
701
927
368
922
886
544
764
319
15
700
787
292
346
829
856
433
22
984
173
327
716
592
572
372
331
78
669
698
439
890
449
784
783
308
985
299
165
809
85
934
302
93
706
883
858
505
433
502
728
238
684
28
790
930
676
804
663
870
372
471
751
641
38
285
235
277
423
464
143
784
159
367
8
429
128
305
633
31
963
594
768
56
668
624
376
711
483
966
730
223
642
220
352
582
718
256
757
607
917
297
946
701
875
268
272
104
337
610
429
128
605
344
806
560
405
948
912
192
42
420
488
53
232
419
928
65
784
134
316
766
830
993
231
232
579
887
92
169
684
381
799
721
771
621
910
326
878
658
778
442
275
262
124
962
94
435
416
822
875
187
796
79
966
286
705
565
18
352
301
472
297
340
153
35
416
673
757
949
269
429
568
38
704
953
898
258
829
663
392
248
805
601
519
770
993
889
626
947
931
669
748
149
830
51
629
691
478
759
286
544
580
367
273
7
408
694
34
899
99
343
539
710
465
474
517
645
520
382
292
813
355
15
409
957
926
631
36
645
236
807
165
144
799
434
888
40
738
265
429
25
176
859
134
750
841
337
63
528
681
527
742
14
40
568
577
68
105
184
517
115
876
853
846
989
318
192
457
111
211
570
717
680
310
764
874
809
731
418
608
485
106
296
343
810
993
835
863
709
659
446
43
752
127
844
495
497
717
647
246
851
0
865
829
784
474
565
540
422
643
983
550
542
536
716
438
25
51
479
357
807
937
568
163
473
405
432
229
796
880
193
773
642
73
193
97
365
806
58
714
285
863
129
126
907
104
195
457
665
220
583
949
660
707
116
671
231
40
778
280
348
609
532
397
500
519
730
90
200
730
684
400
263
734
326
503
81
782
321
721
541
504
558
686
677
583
455
999
731
287
801
150
620
809
344
740
671
536
235
240
927
32
681
238
824
151
917
534
235
5
756
575
144
61
463
960
216
755
620
666
809
606
431
880
585
58
936
958
281
96
348
12
575
173
629
722
321
700
436
469
352
478
686
868
460
770
700
80
15
677
65
296
658
943
655
670
473
148
105
564
276
485
154
175
411
322
615
900
638
539
449
976
795
759
19
725
949
609
116
915
854
343
175
975
649
514
51
996
864
249
857
162
272
554
739
265
582
520
454
237
660
177
712
367
17
142
572
519
994
793
297
245
772
270
429
599
177
964
466
523
351
49
928
45
381
970
943
566
421
133
315
291
329
190
28
586
432
626
944
595
478
174
753
487
226
94
934
502
790
314
203
235
149
71
123
144
605
18
4
29
677
344
503
278
355
941
385
363
873
141
739
470
905
477
400
633
605
837
671
755
523
357
606
925
701
22
412
117
925
378
648
738
457
947
348
523
803
546
495
187
54
272
174
116
1
458
539
404
625
681
114
943
346
709
447
989
557
740
154
380
876
226
67
547
720
404
307
488
616
125
607
184
384
991
699
621
677
139
667
225
827
487
449
911
245
517
728
617
144
350
330
138
702
754
585
836
316
526
109
655
351
879
76
845
675
181
751
570
13
644
68
304
394
513
646
516
233
318
651
703
996
623
865
13
613
798
791
566
895
428
360
2
652
381
901
194
645
1
91
320
971
579
502
687
364
435
96
776
188
755
614
430
322
814
581
460
347
584
808
585
951
775
826
803
292
948
930
913
988
188
252
283
38
38
168
71
644
879
58
199
351
217
894
870
838
783
513
356
641
343
879
386
394
32
428
998
797
455
172
920
60
201
850
3
484
601
520
940
522
942
593
928
654
310
581
851
541
995
263
174
300
532
191
419
716
778
798
72
645
599
267
795
974
962
545
214
978
319
962
595
877
750
7
229
459
794
986
538
964
879
613
369
390
224
347
670
713
658
335
893
923
983
202
416
639
158
423
440
765
60
928
22
81
464
38
453
178
893
208
180
712
719
453
979
793
586
668
246
59
9
78
508
213
122
408
798
291
742
129
923
270
980
928
629
69
961
824
239
257
16
307
736
89
895
790
814
830
487
756
354
446
75
18
589
943
396
672
480
496
147
138
531
81
741
79
592
503
944
144
284
113
179
59
216
244
163
865
548
431
868
827
954
367
210
814
56
269
430
642
731
265
185
463
908
670
485
620
308
690
673
98
59
877
257
912
827
466
67
251
674
975
992
210
173
633
82
743
970
689
582
166
47
732
262
759
832
551
74
268
21
894
248
643
444
87
438
998
90
969
207
881
404
659
176
130
354
663
75
121
798
178
65
791
654
754
564
289
614
828
664
492
448
163
119
494
260
737
95
152
517
825
867
871
441
555
801
304
161
362
247
733
176
142
272
780
841
544
867
773
605
663
201
747
243
203
82
426
881
837
351
544
440
340
505
558
638
717
440
973
36
11
368
579
347
686
910
676
705
653
307
539
354
753
486
83
346
336
639
470
516
134
220
659
380
49
40
562
136
228
112
233
32
484
228
834
909
600
914
835
337
852
180
697
834
286
868
81
196
243
4
434
228
355
919
47
742
673
613
313
184
833
112
805
679
225
694
567
991
280
549
780
398
919
986
73
383
88
729
400
586
334
565
672
455
698
457
90
868
624
32
269
517
889
207
95
209
679
762
996
839
963
858
454
855
676
919
269
770
55
893
218
374
39
752
393
514
719
163
739
515
299
422
714
746
520
510
593
478
320
243
618
125
130
615
731
949
674
355
650
68
5
856
910
20
270
768
906
533
996
804
437
207
665
182
357
950
898
936
541
234
355
416
696
639
969
235
85
336
919
415
757
309
435
622
742
606
72
759
815
78
253
371
583
376
267
899
750
875
192
177
979
60
277
620
808
175
668
564
108
290
746
186
361
33
164
934
143
339
174
805
740
372
753
944
370
777
782
351
633
374
929
687
661
261
379
459
211
466
650
395
798
867
615
943
797
948
768
140
915
154
527
170
127
658
852
454
835
531
161
179
656
429
830
273
357
747
325
535
836
432
831
129
768
633
555
692
255
347
689
4
18
297
917
992
741
359
216
1
660
11
221
541
421
946
788
184
443
974
735
294
980
11
129
466
377
15
440
102
361
70
297
492
754
440
535
374
57
107
881
702
358
296
386
394
529
232
732
174
383
734
535
546
581
949
519
409
459
205
325
717
857
913
194
627
360
655
301
129
577
936
571
652
466
36
872
518
625
30
740
998
335
363
662
404
4
644
226
771
32
200
962
69
420
326
837
270
108
395
777
207
386
520
198
232
908
130
600
479
225
562
197
726
405
926
382
582
252
231
691
49
619
161
626
418
973
41
452
223
914
652
950
904
276
863
229
792
347
97
455
271
680
696
0
81
567
595
585
717
455
816
673
262
17
732
298
269
500
605
686
631
482
891
496
179
996
588
634
566
114
655
876
422
839
502
308
873
266
52
842
799
813
967
781
429
313
913
697
809
609
612
501
280
3
123
160
776
0
370
172
100
323
515
170
74
296
241
623
909
752
189
682
460
962
102
932
491
542
145
728
908
983
655
817
196
356
5
646
639
515
513
819
330
479
277
444
984
904
773
483
223
487
136
239
8
997
256
955
731
490
256
548
466
372
451
869
805
144
405
757
78
721
862
417
456
749
679
211
652
930
730
676
918
837
686
19
91
685
532
793
447
207
321
818
192
807
154
759
882
525
512
689
847
301
874
699
559
582
844
502
795
273
257
759
583
534
456
201
74
387
282
483
316
276
584
215
186
565
554
594
346
814
778
112
945
843
372
189
994
706
161
190
209
825
282
654
638
312
675
911
256
953
29
239
594
549
120
551
174
771
375
163
391
808
595
618
945
669
105
921
447
808
641
368
880
430
391
396
1
294
76
958
72
927
237
577
259
517
347
569
810
985
674
53
131
623
127
982
729
637
173
694
40
81
209
653
104
906
167
416
843
749
865
731
102
769
572
831
259
148
409
834
782
685
459
314
610
596
707
18
897
796
93
9
243
280
659
179
175
47
836
591
549
740
789
927
436
582
46
925
92
196
945
529
638
645
804
534
346
114
87
546
240
667
317
847
534
943
921
494
490
730
502
235
41
573
496
819
880
811
575
347
706
967
383
946
780
819
462
653
785
312
925
935
453
185
59
827
391
616
202
311
326
779
782
622
158
314
368
76
460
425
731
366
874
978
1
510
266
381
139
12
3
74
818
678
566
268
477
546
449
307
715
992
43
5
762
75
243
776
580
78
49
277
692
614
759
488
200
835
721
977
530
918
692
513
543
817
9
761
205
977
84
257
338
774
616
239
23
201
232
667
676
303
259
767
510
834
288
367
501
320
282
123
272
302
842
443
89
531
955
64
207
655
85
96
905
388
903
163
681
948
909
223
551
926
345
973
936
131
262
783
236
598
7
229
231
800
44
860
768
950
525
858
79
75
840
570
185
922
628
261
705
807
918
991
669
9
291
319
10
677
726
966
972
884
61
782
970
413
961
9
399
360
566
990
11
204
731
605
949
882
728
685
439
76
274
848
112
597
440
537
722
459
903
279
60
935
104
841
288
942
95
537
750
272
706
854
691
11
976
68
663
348
542
760
110
664
641
681
439
338
990
996
296
239
973
714
837
64
79
498
766
288
324
775
69
561
445
841
540
438
280
386
460
41
282
870
348
200
413
221
891
764
537
774
452
465
885
42
788
905
74
627
279
482
988
415
559
40
354
321
658
466
953
392
461
409
232
992
503
134
147
214
681
198
350
669
389
806
11
489
379
630
842
725
405
900
400
319
67
198
948
323
278
662
406
94
18
567
336
369
225
945
243
482
265
788
299
306
850
928
130
937
747
557
230
446
389
293
36
913
18
146
100
617
695
539
368
993
597
504
986
681
774
996
676
325
40
24
714
439
275
330
621
291
526
656
700
201
572
243
638
699
983
777
477
196
81
847
556
906
568
840
532
4
452
964
195
835
809
891
348
381
90
751
175
710
736
10
283
399
759
364
937
676
974
162
191
232
466
154
213
6
248
264
981
266
18
91
96
988
227
619
76
37
735
313
302
501
290
582
661
676
732
68
611
834
491
333
411
354
369
247
51
400
296
84
90
20
621
676
803
123
992
252
324
397
375
283
498
657
315
376
61
173
786
449
307
965
453
842
944
60
595
863
490
230
756
737
628
789
906
297
318
33
186
405
687
75
924
4
286
245
597
222
906
637
835
852
968
100
687
708
132
500
350
297
128
744
351
102
409
133
856
749
121
962
597
292
119
94
915
75
219
526
320
510
729
772
826
907
558
589
173
864
971
135
280
753
582
818
829
365
861
651
937
173
63
96
247
459
31
131
647
687
782
687
47
491
88
530
772
186
466
408
416
728
556
292
854
947
746
626
685
680
16
35
456
39
139
956
120
240
7
550
832
545
640
742
111
72
970
4
228
826
768
680
445
236
795
543
308
624
829
320
262
723
827
14
26
471
438
479
410
195
841
141
909
392
169
332
33
518
841
42
872
734
843
14
122
953
428
531
432
399
406
739
516
412
435
150
543
282
16
654
191
300
549
883
51
66
136
849
69
673
569
582
869
542
767
194
670
152
561
460
893
49
271
396
96
896
216
689
799
168
855
792
148
982
366
851
124
159
894
822
938
316
260
966
704
524
473
69
34
182
489
88
724
499
55
880
48
856
511
766
71
209
71
192
199
916
822
207
713
12
936
499
482
27
92
808
284
253
25
448
290
181
725
709
839
592
673
626
270
376
602
977
997
40
365
290
791
265
335
371
79
767
377
599
504
425
965
505
558
362
714
243
877
468
499
104
742
492
987
709
882
663
148
464
724
165
40
277
990
232
449
553
216
667
823
358
635
559
92
774
768
658
811
786
252
153
575
838
154
472
601
889
511
194
55
438
377
606
240
191
809
47
129
452
806
841
925
663
324
527
162
709
541
635
198
189
41
809
466
562
41
507
356
910
109
448
97
776
656
641
189
768
396
482
978
349
866
836
381
928
487
701
745
411
627
410
402
397
218
322
630
702
501
910
843
350
248
855
879
869
246
756
166
352
716
53
177
113
466
9
261
551
358
769
17
661
636
153
903
806
342
892
420
546
859
660
219
261
388
199
644
30
360
686
346
544
629
978
186
647
926
181
305
754
825
280
358
323
592
85
657
359
397
954
633
176
223
640
367
233
767
263
353
979
279
39
943
42
156
375
618
598
668
331
456
540
369
67
326
676
464
720
955
213
989
209
589
126
230
639
217
881
432
281
107
908
563
343
360
355
478
360
659
737
932
347
551
788
656
550
430
670
205
216
957
512
323
814
237
67
74
713
432
504
948
187
263
310
723
435
456
401
439
829
16
510
82
736
267
192
85
699
185
805
318
998
837
595
448
754
134
81
531
441
639
125
914
789
318
456
364
8
638
100
735
838
159
453
6
483
890
349
136
493
801
734
679
438
551
615
188
667
186
438
105
771
188
324
414
238
740
166
188
453
522
144
182
657
774
886
395
918
12
867
73
399
303
125
547
388
91
261
409
216
511
32
264
344
40
161
85
215
811
921
755
534
302
984
814
858
370
342
703
90
229
512
770
259
554
341
45
244
288
445
53
464
954
823
203
699
82
861
831
638
870
970
787
200
298
45
788
366
546
995
617
702
332
157
548
623
913
611
960
266
884
540
446
248
214
479
926
105
145
426
348
431
445
946
617
412
759
426
876
852
802
793
555
91
91
477
485
597
485
910
945
71
981
270
880
515
332
375
430
466
657
371
804
194
772
824
709
351
824
339
266
508
650
93
991
405
966
113
155
383
47
903
326
446
289
9
745
741
228
191
772
111
297
329
272
77
264
978
972
655
566
812
270
974
426
521
146
461
63
816
55
787
897
512
753
353
939
692
722
815
108
392
640
815
72
251
532
353
805
647
193
208
911
250
358
358
225
934
325
651
53
69
713
326
111
791
395
877
415
155
106
846
856
384
909
937
717
618
240
313
568
540
268
879
58
289
593
224
514
943
421
619
446
588
546
139
481
223
117
739
880
704
264
318
318
803
699
626
931
704
525
616
23
415
826
803
338
450
276
631
930
759
444
718
928
114
102
11
460
3
610
318
708
708
149
129
82
106
836
544
77
83
578
275
109
822
60
575
244
390
238
409
43
656
807
920
887
789
269
274
263
359
284
723
293
973
974
649
521
59
24
908
686
678
695
944
809
461
726
182
463
958
689
794
34
473
374
827
879
76
934
340
253
799
439
222
853
429
980
742
175
958
197
686
982
474
866
190
142
916
240
74
119
575
289
967
478
874
559
835
11
431
308
746
508
107
10
211
173
455
599
528
998
159
563
262
651
830
450
284
285
532
981
27
913
972
388
493
950
992
729
430
535
156
857
92
485
194
450
283
907
469
825
366
600
535
570
986
827
949
712
5
412
49
942
793
585
658
667
766
795
476
368
362
321
92
783
780
411
188
820
686
465
841
103
976
965
863
530
87
913
258
403
352
704
395
112
722
737
954
294
455
773
659
114
690
874
365
681
8
201
603
184
592
385
341
989
811
275
717
752
278
162
945
174
279
239
38
420
602
842
668
86
119
44
72
568
274
654
647
837
553
51
383
62
393
952
973
803
808
127
390
774
484
833
861
586
16
152
939
497
568
433
682
49
49
147
930
406
481
618
993
386
116
349
983
892
641
235
858
209
579
676
545
489
952
636
591
605
502
757
889
712
744
968
741
630
17
605
972
851
658
843
424
731
317
61
70
88
997
511
281
684
33
574
95
730
241
358
782
865
242
629
454
410
493
101
18
14
307
740
351
318
324
741
505
445
209
263
431
865
680
319
552
451
498
95
763
907
72
814
694
403
754
73
786
52
95
593
475
894
211
968
899
183
929
202
311
939
895
599
550
635
769
527
322
546
958
539
154
594
496
360
111
967
972
93
701
334
503
465
923
133
892
791
830
584
72
344
268
202
942
602
630
535
558
207
621
692
651
606
979
793
817
853
442
648
627
645
825
804
489
22
712
269
860
704
46
64
525
251
584
608
831
175
388
961
874
248
768
752
345
530
943
914
146
594
404
65
791
976
141
621
779
760
48
297
856
953
93
578
869
397
309
657
388
910
199
27
218
740
160
990
535
21
408
446
834
509
267
833
392
756
966
968
988
880
624
601
777
65
875
631
70
336
487
161
889
473
32
56
153
54
705
801
969
519
949
858
664
344
519
7
681
413
701
227
752
273
86
710
822
381
302
498
36
351
950
180
743
52
506
497
235
827
399
307
14
153
241
683
648
243
913
828
181
231
865
413
67
226
646
216
686
985
296
351
550
925
223
619
671
130
285
736
437
412
604
290
519
225
448
585
102
477
960
703
361
761
774
113
237
857
5
281
121
170
527
657
655
425
707
574
71
8
723
410
430
522
882
8
331
426
794
968
721
741
445
729
43
288
950
624
89
555
898
778
471
48
501
771
758
661
416
371
772
825
641
43
757
235
702
547
955
697
995
230
945
555
373
505
415
931
906
977
750
692
605
491
490
839
986
252
78
951
87
472
110
4
11
441
984
663
993
768
419
415
624
258
296
640
724
973
840
199
176
943
14
466
295
298
268
585
799
614
848
695
218
121
141
609
421
701
680
523
740
730
19
119
956
675
869
680
55
510
94
775
782
755
431
301
971
394
848
585
69
382
677
801
356
9
976
613
739
785
585
406
481
149
24
1
703
605
508
255
442
24
934
662
674
919
850
38
86
38
172
206
709
846
115
466
5
779
667
888
209
479
778
594
842
298
520
205
998
141
25
284
536
930
168
962
66
431
534
244
751
56
848
669
307
89
879
528
238
19
625
750
858
178
355
565
507
586
384
452
491
878
863
474
515
593
541
847
387
564
746
541
919
898
40
43
995
860
900
155
376
928
740
64
459
603
189
689
875
186
193
318
847
237
821
562
109
358
377
679
500
271
533
412
58
169
568
957
98
34
200
665
657
84
782
711
789
849
179
630
929
218
367
579
102
901
700
150
572
823
536
161
389
45
741
878
984
620
549
873
630
324
401
183
667
395
50
197
833
271
926
945
493
717
686
806
15
671
29
683
715
101
620
281
714
907
641
749
153
641
475
142
44
176
612
700
47
635
472
215
919
33
546
76
484
592
709
270
23
779
544
462
688
499
33
409
926
992
429
967
826
90
644
55
408
594
343
332
401
293
674
638
386
434
469
184
908
71
943
739
569
178
110
957
14
81
62
302
604
702
726
843
790
529
987
760
297
1
435
181
757
137
52
441
991
23
82
806
410
253
928
509
319
430
94
977
55
382
923
976
53
866
749
712
691
894
380
212
786
588
628
246
778
506
27
670
190
94
644
842
655
667
738
926
967
870
116
962
789
491
200
735
820
755
443
791
370
291
395
79
8
115
308
675
215
263
757
134
137
653
33
982
940
605
475
596
100
763
111
712
672
596
749
742
354
819
353
11
133
608
604
106
156
382
42
982
143
28
585
696
398
608
855
100
717
695
501
375
710
867
256
414
231
913
180
641
451
513
998
995
371
661
50
949
792
241
124
27
925
577
916
620
262
504
606
730
791
578
163
184
837
997
651
468
435
727
226
375
486
770
660
708
625
378
385
230
492
515
318
836
751
174
170
481
518
985
224
534
97
880
305
57
101
413
895
894
540
727
609
371
466
529
409
298
520
130
313
653
383
891
160
239
653
987
890
752
488
760
772
812
608
616
572
748
583
12
861
535
476
793
387
563
134
461
180
299
674
76
288
725
500
113
909
403
999
100
654
568
54
279
34
118
556
907
786
298
400
832
729
335
251
323
97
248
763
629
499
319
946
826
275
141
604
59
266
177
74
968
263
832
313
866
104
239
199
157
810
652
404
306
360
63
676
496
842
739
688
927
124
947
342
466
234
885
195
256
688
599
327
880
659
968
376
823
416
301
447
609
461
720
18
25
821
644
467
879
63
97
985
410
400
753
104
723
617
900
977
442
171
494
546
616
835
100
955
509
612
508
432
514
103
808
264
59
791
77
471
313
328
85
463
14
526
512
187
127
597
757
967
720
162
726
725
840
857
228
594
634
684
312
58
57
587
781
129
496
655
506
366
707
223
677
17
936
808
398
156
193
469
940
968
326
132
642
146
235
503
374
438
288
648
815
898
840
735
972
664
119
805
903
707
849
299
931
758
721
474
862
387
946
177
619
75
283
146
113
176
549
624
931
654
207
621
388
760
338
453
251
754
467
341
616
926
542
37
346
142
320
798
270
635
79
334
45
272
460
290
878
917
551
793
406
810
418
17
316
662
795
149
235
823
180
886
578
947
578
637
470
530
787
747
32
47
412
899
655
173
548
816
362
466
244
310
425
273
647
810
331
761
228
611
514
266
891
481
638
178
589
7
130
929
756
346
700
669
617
477
439
776
9
590
640
30
382
11
22
767
635
644
143
193
526
698
734
386
412
646
161
457
337
265
899
544
230
497
549
100
178
610
542
377
710
257
768
501
541
530
329
438
622
873
257
27
693
759
43
735
109
247
186
597
345
857
408
138
241
210
260
639
617
914
244
2
910
930
269
271
533
416
358
464
820
702
823
970
318
299
61
428
939
926
396
364
109
699
400
345
535
803
854
904
327
363
731
100
883
61
147
159
345
393
97
736
40
442
970
428
624
279
363
835
843
700
743
425
807
451
59
282
485
7
543
465
43
733
582
395
386
302
837
343
379
804
684
222
534
894
823
787
496
198
119
845
850
197
984
414
843
376
693
941
838
875
800
794
586
448
311
796
900
917
572
312
895
833
148
285
663
302
452
102
435
675
94
103
429
376
90
691
457
586
472
324
873
920
44
844
823
64
149
524
140
714
320
172
411
915
126
487
549
373
560
305
132
811
475
111
514
139
808
180
197
202
127
685
427
385
868
761
728
534
413
503
94
985
904
84
30
135
508
568
434
296
792
682
876
252
401
341
387
964
364
110
865
786
478
516
623
412
606
573
911
929
484
852
952
562
819
244
334
158
296
664
618
735
198
624
875
365
612
932
644
262
210
333
960
676
608
773
209
623
417
114
308
238
730
134
272
455
383
604
615
736
475
917
606
979
902
864
111
667
676
179
609
796
644
393
980
499
891
323
330
263
777
942
501
371
117
770
235
573
230
224
27
303
665
455
680
699
809
504
416
166
737
990
496
89
157
524
828
135
110
991
393
753
889
30
453
410
564
476
426
6
86
267
130
733
37
818
872
584
165
923
941
497
953
757
885
395
704
172
561
170
832
302
215
824
368
913
555
808
775
74
284
420
265
924
574
75
57
569
550
384
244
793
228
206
45
665
28
904
122
837
195
199
285
536
829
713
973
144
632
60
802
25
148
547
6
179
473
560
278
278
896
909
457
511
111
376
282
596
929
952
16
138
31
858
897
338
478
474
782
460
271
567
659
239
258
939
755
862
866
470
969
443
525
601
15
32
774
985
340
296
278
338
988
451
727
579
555
574
921
820
496
675
88
293
453
632
719
427
953
12
240
385
323
396
697
128
376
716
624
292
590
168
426
591
481
29
102
24
718
195
726
134
447
775
788
564
926
633
537
300
902
133
915
484
105
388
406
457
436
500
931
687
986
204
212
876
825
165
116
571
766
646
282
599
919
685
905
701
58
26
52
116
842
529
793
64
592
475
715
55
938
600
13
77
922
891
63
486
573
169
741
932
630
275
891
399
189
443
838
383
268
263
900
275
556
657
472
378
27
859
586
710
462
859
824
411
531
181
119
798
300
41
86
494
136
736
374
422
349
686
146
984
295
297
876
716
770
329
61
765
217
787
230
457
914
268
308
124
150
533
320
246
207
489
827
558
413
556
131
901
30
15
135
726
282
474
969
977
818
702
93
450
474
28
992
387
753
298
113
87
467
353
340
109
739
221
971
957
644
137
251
715
615
979
131
925
999
266
515
104
863
592
507
237
102
233
881
974
934
236
75
914
756
726
883
830
958
797
533
72
93
593
946
96
14
690
789
1
344
794
408
47
466
336
758
182
206
102
174
168
403
238
148
193
971
355
574
419
30
449
292
825
532
881
969
754
998
582
98
350
409
689
840
84
165
972
486
60
247
426
523
281
639
391
809
869
90
440
336
233
335
157
346
52
976
898
457
446
944
523
161
366
722
347
297
959
251
399
650
280
334
438
42
512
617
963
747
144
739
540
348
760
172
110
478
379
285
703
388
402
42
640
849
226
557
726
769
493
818
354
701
409
478
979
830
68
620
766
52
953
916
712
678
817
244
285
306
575
291
370
157
901
316
965
557
123
135
250
482
590
523
606
341
277
931
336
446
584
0
990
485
562
322
897
411
21
552
357
841
209
485
605
725
100
843
744
477
139
969
379
70
949
375
120
986
551
61
857
524
28
912
667
420
757
19
644
41
739
50
449
436
16
953
53
939
54
620
245
287
724
85
344
743
549
921
174
869
290
399
806
583
741
217
806
101
769
82
308
861
605
914
829
719
730
313
959
526
313
993
395
341
772
323
817
395
247
903
620
210
927
634
516
215
773
493
129
525
947
589
753
352
784
762
857
974
14
803
331
721
529
845
491
98
240
77
81
224
746
700
883
596
249
516
36
61
709
506
908
175
328
950
153
28
462
666
241
630
837
218
359
589
832
869
902
885
118
596
275
838
440
483
887
640
806
207
399
45
825
934
1
267
549
414
832
347
759
866
345
531
238
169
175
185
825
708
293
963
100
985
660
6
364
222
212
580
423
713
498
559
344
712
844
799
870
774
340
451
679
615
544
690
561
763
321
703
41
481
350
304
648
887
1
178
604
937
983
23
601
796
706
904
159
666
487
358
958
481
23
812
983
682
842
675
531
817
684
954
936
724
797
581
467
888
629
198
990
474
308
681
447
32
289
852
574
814
444
392
967
878
361
812
370
255
357
471
141
765
432
255
585
499
808
934
238
101
556
322
939
313
774
736
241
173
302
646
525
942
82
481
852
258
419
119
766
16
777
44
610
668
796
763
713
153
607
246
115
161
272
192
1
425
129
644
767
276
658
629
836
942
375
513
363
490
531
657
54
233
744
907
699
629
118
191
799
130
907
415
994
181
962
94
115
151
666
923
787
784
12
739
648
122
54
973
127
601
472
446
852
732
865
587
371
930
968
268
947
478
976
17
692
576
797
942
420
609
471
513
274
882
180
400
214
588
33
948
488
733
961
65
490
995
398
393
282
237
164
613
622
970
472
142
661
72
774
990
364
898
19
453
546
364
627
343
411
105
556
713
269
34
202
30
984
780
75
395
614
347
491
273
912
931
157
400
137
933
311
80
218
370
664
46
738
68
479
982
304
95
306
218
213
725
254
292
330
185
285
184
25
825
688
885
483
454
490
308
71
381
15
49
85
199
889
232
323
784
86
792
175
970
280
410
316
510
768
879
646
963
147
725
622
548
784
63
217
308
74
96
734
224
477
113
264
981
319
661
717
639
300
851
650
726
85
846
410
182
312
483
543
721
71
704
667
744
845
326
46
214
955
668
4
804
366
353
478
402
902
386
491
83
353
101
690
808
509
169
34
409
992
679
482
784
969
177
830
798
337
745
782
578
960
20
302
664
594
196
681
89
370
792
448
242
420
159
253
92
575
610
832
475
892
366
303
11
293
725
988
337
425
891
205
851
47
403
150
105
249
694
215
245
958
643
926
993
127
792
520
657
678
405
822
604
498
663
331
357
193
959
931
572
85
904
790
454
772
467
374
9
269
422
222
887
391
722
145
868
66
795
903
588
403
962
657
755
842
676
426
671
199
225
115
931
658
755
523
512
401
723
680
851
871
569
686
927
924
357
780
834
655
46
227
437
90
258
691
983
454
686
212
190
494
553
800
403
646
956
96
196
505
939
443
391
275
374
1
313
702
52
843
438
885
64
859
636
792
899
515
543
41
70
269
90
388
615
757
46
399
91
61
125
48
331
420
386
654
705
126
671
618
603
892
598
681
602
738
512
528
922
968
597
976
842
793
746
950
373
46
612
218
747
656
249
398
15
27
124
649
471
236
645
327
3
941
787
386
133
255
615
73
843
923
605
587
65
930
899
149
467
405
948
542
246
372
375
235
137
472
953
218
736
272
907
795
430
228
30
432
897
112
304
954
645
957
278
751
525
677
803
678
664
328
210
587
850
606
982
686
319
102
762
235
842
277
292
616
843
96
665
988
476
46
935
382
267
782
359
161
563
220
662
508
515
621
561
385
630
813
791
959
594
634
871
358
457
715
559
146
82
998
86
218
891
886
687
379
559
214
240
306
762
27
165
816
703
838
7
349
893
552
585
293
365
667
172
413
948
189
585
443
362
599
200
438
762
485
768
809
982
572
940
816
840
257
13
385
520
949
275
243
162
441
992
635
50
635
587
709
839
868
857
993
317
727
669
864
88
13
568
987
64
347
761
577
985
49
378
625
543
153
500
719
447
129
42
324
598
132
305
282
404
268
848
836
977
408
460
614
589
586
255
816
831
966
334
32
590
105
407
422
296
140
167
606
125
933
543
630
666
307
620
10
57
682
415
430
274
305
204
911
860
531
333
434
719
197
289
155
335
284
824
965
849
692
435
252
743
911
337
71
260
963
774
100
200
296
841
789
427
674
348
914
44
136
176
968
232
597
16
64
875
255
27
354
29
746
562
117
188
707
936
87
95
35
732
816
666
567
948
509
833
913
191
640
891
949
327
458
69
855
940
626
986
737
547
311
780
69
437
194
564
706
205
182
114
706
122
101
543
262
171
833
334
827
421
344
560
712
567
70
842
983
189
650
458
7
370
348
683
230
754
414
286
988
712
620
684
19
283
676
42
31
929
50
195
963
83
450
838
549
655
73
936
505
206
837
814
686
594
720
296
156
420
923
11
284
356
297
219
24
639
427
396
621
251
119
112
575
167
830
929
493
364
0
144
690
440
972
260
466
615
992
634
606
618
511
667
77
462
614
190
61
572
59
26
381
889
776
148
126
802
397
970
792
237
844
746
646
380
135
231
270
32
913
479
474
445
762
388
580
684
380
649
749
933
361
270
536
737
397
982
618
234
664
23
92
362
511
968
547
340
462
193
704
662
642
263
140
973
919
781
715
314
772
139
221
113
393
80
7
385
168
2
167
276
951
47
889
479
570
84
522
712
319
401
583
242
266
646
607
913
877
60
440
129
844
228
173
872
616
746
792
228
518
363
465
213
764
721
755
41
249
478
52
191
95
109
220
21
521
597
182
102
275
815
477
985
918
783
303
146
530
299
420
157
868
248
233
600
465
969
91
607
659
872
810
504
341
340
206
111
575
176
372
187
180
47
657
675
21
739
157
696
224
635
519
847
651
12
971
591
775
796
755
193
180
960
390
626
273
89
42
182
565
207
524
346
295
335
125
590
448
707
801
186
94
59
438
405
640
895
241
37
653
286
575
806
921
888
853
97
867
703
662
828
129
567
791
475
991
399
820
741
772
107
601
653
704
416
912
474
896
690
827
899
190
301
701
610
255
433
412
477
497
46
785
908
357
945
383
738
811
394
185
216
140
315
215
410
765
15
191
350
48
241
343
139
173
636
431
881
641
469
425
117
261
750
823
331
61
293
936
202
157
61
102
209
979
204
840
498
666
587
903
570
697
664
896
195
809
637
225
627
326
906
315
855
461
896
17
997
405
223
551
304
972
942
649
957
789
752
971
784
327
358
862
783
343
404
706
619
932
607
363
854
372
570
668
637
816
735
52
278
522
46
278
326
388
778
127
319
845
564
504
888
340
858
165
356
650
29
1
677
723
859
953
198
184
63
362
386
462
529
483
502
27
679
223
428
167
618
23
434
137
878
86
632
646
753
500
315
849
390
903
418
952
917
935
323
267
657
109
43
815
378
361
19
557
499
0
966
194
876
364
745
11
126
53
74
13
286
478
126
272
402
426
495
166
228
360
536
678
161
384
713
524
560
40
577
765
442
956
395
594
561
899
695
380
436
541
561
562
773
872
690
535
51
137
877
324
428
653
667
7
567
964
465
756
408
144
763
133
550
187
485
297
115
471
466
851
109
459
722
209
987
246
974
328
128
386
208
344
967
131
781
735
712
552
911
132
864
579
341
107
159
414
212
901
259
799
413
410
37
49
635
226
320
302
766
746
373
659
570
150
230
939
687
321
503
544
16
252
423
611
172
598
720
209
701
915
926
493
253
26
642
712
266
946
936
149
480
37
745
37
503
393
225
619
749
453
687
32
964
178
960
163
435
1
617
765
641
216
812
87
598
767
26
725
555
377
975
123
544
709
502
360
980
659
905
407
39
836
537
932
880
73
922
759
567
644
294
800
697
735
691
313
796
315
681
811
711
943
56
194
398
904
46
257
4
478
25
193
890
982
132
114
782
254
49
613
103
156
398
168
5
911
226
497
137
605
160
114
333
861
927
606
110
333
375
882
952
389
66
56
281
956
452
466
816
654
687
984
711
354
639
906
969
705
547
998
968
376
864
625
4
163
673
164
54
763
566
969
38
716
500
281
826
443
165
915
797
672
729
398
842
502
7
37
38
101
394
240
537
995
31
680
64
557
846
467
525
978
947
638
12
168
325
259
190
972
256
240
696
240
56
1
589
766
892
81
355
410
612
307
736
171
15
16
133
225
885
163
450
255
629
975
100
428
575
660
481
6
43
720
548
597
708
31
562
821
313
995
68
768
696
943
666
45
954
930
876
817
489
75
167
971
785
960
646
961
134
238
872
75
37
138
187
289
889
756
24
412
934
877
355
242
317
71
801
262
763
720
119
17
859
603
195
205
122
237
204
550
973
350
935
832
202
270
579
684
791
561
788
512
466
710
803
195
973
892
402
411
96
43
828
38
159
876
86
365
522
409
9
300
358
320
218
292
10
903
973
309
897
86
38
495
0
272
537
592
887
317
611
663
685
871
172
614
163
796
302
709
879
795
399
151
539
336
991
57
6
388
812
768
16
61
375
344
250
696
415
924
879
758
591
916
632
39
16
429
727
669
559
736
519
545
185
336
383
76
132
262
591
512
389
590
344
68
430
718
892
354
750
603
176
638
929
345
481
621
659
239
430
855
118
874
752
889
704
628
682
501
564
117
784
399
793
519
973
173
551
146
171
198
149
440
710
928
482
458
927
874
764
943
188
827
847
789
239
399
625
837
41
709
951
282
776
653
69
98
0
799
507
748
45
415
3
873
19
945
723
928
17
788
580
350
573
175
403
915
223
165
768
978
489
303
89
125
819
813
992
196
591
312
621
729
620
234
270
326
681
902
844
47
84
179
218
646
178
95
4
416
504
672
434
547
968
468
340
394
171
955
183
291
126
749
740
877
36
899
236
773
208
876
936
498
872
48
64
105
324
614
618
357
928
744
587
126
515
726
944
431
616
451
137
200
176
282
371
812
490
267
203
145
200
865
780
693
126
43
815
294
789
458
565
862
171
209
40
340
226
502
419
297
348
412
680
137
389
271
552
576
378
975
450
894
594
119
351
625
803
340
629
486
247
459
716
309
908
313
393
891
29
226
672
645
496
475
851
496
566
432
425
280
952
281
345
948
849
637
984
948
696
463
870
941
140
17
40
391
700
778
25
296
998
254
229
273
640
784
113
397
432
303
961
863
703
280
695
878
49
520
491
827
221
151
282
724
479
966
612
82
787
343
775
381
581
43
553
798
97
889
457
444
111
101
451
290
423
939
283
367
731
560
596
782
224
15
150
976
669
747
878
727
54
551
72
735
945
88
98
84
96
422
369
238
404
988
578
795
430
573
351
27
655
294
514
430
817
44
233
130
539
810
855
92
418
305
138
846
95
968
600
390
32
988
258
101
25
828
418
847
433
505
253
60
234
499
495
908
962
272
553
369
314
607
709
223
505
738
485
810
889
492
573
932
751
249
846
532
484
136
368
95
378
476
989
683
681
166
994
952
675
366
947
577
155
163
789
632
936
170
569
850
34
770
6
209
731
789
921
966
75
549
242
345
657
429
990
991
157
0
794
465
60
70
448
889
37
524
735
484
156
987
733
593
880
319
981
889
278
889
923
491
695
512
627
764
420
400
463
929
573
231
675
286
745
226
58
349
44
342
332
827
853
659
402
407
996
780
659
814
177
40
112
938
191
332
851
152
204
373
949
645
95
923
713
753
147
856
992
878
99
293
73
860
542
260
149
456
147
913
893
992
175
406
683
417
910
66
184
68
570
796
527
614
256
95
177
847
71
335
353
193
516
402
336
821
644
383
182
653
858
630
278
397
625
208
157
396
540
841
981
197
802
609
681
707
17
33
777
529
74
706
601
596
20
310
691
845
747
65
921
968
339
865
500
759
862
729
900
750
150
105
582
476
825
253
636
63
378
850
234
588
468
416
303
237
939
711
882
583
634
579
133
487
995
44
778
37
410
566
750
205
725
726
970
569
236
605
608
326
992
855
228
426
199
705
370
742
133
776
602
197
690
922
792
514
667
723
545
839
260
239
977
539
679
691
187
863
750
9
303
870
936
57
369
219
325
905
761
204
917
530
88
528
273
760
868
646
882
606
408
236
347
260
810
868
413
979
406
339
737
242
601
534
790
552
109
470
149
210
430
916
965
493
696
867
35
990
661
92
756
94
109
763
791
133
203
108
79
213
283
135
165
549
123
481
367
728
65
427
667
751
527
324
647
538
788
769
107
587
115
380
591
741
921
483
88
528
682
458
928
921
925
800
451
762
720
300
781
479
866
123
851
520
492
865
885
966
588
257
708
883
640
909
846
253
60
314
64
644
23
492
696
539
160
702
853
965
201
873
942
831
479
127
749
915
992
404
459
63
668
10
561
213
387
905
386
82
563
212
981
441
71
196
711
465
202
44
479
941
865
560
836
877
658
589
91
474
212
305
820
738
796
276
278
794
855
129
252
706
287
885
201
260
588
825
303
246
642
341
160
74
233
925
931
337
921
787
500
941
439
38
432
890
865
45
956
453
26
334
319
645
213
55
218
3
872
918
313
932
475
533
70
629
375
872
614
925
402
288
222
829
121
830
707
348
866
570
430
541
363
62
894
123
751
621
242
167
272
758
35
250
584
861
276
84
795
653
870
373
191
222
847
552
384
762
26
176
59
138
256
947
395
509
834
226
610
668
860
164
573
884
639
432
255
232
824
14
150
864
782
17
346
345
208
129
591
762
995
946
575
224
976
773
874
248
111
997
16
478
452
910
837
585
525
644
75
130
629
432
481
579
279
909
990
37
243
586
334
416
411
867
194
138
748
519
116
146
394
705
184
741
55
616
527
794
724
67
483
492
370
984
686
972
102
901
334
818
194
770
657
367
897
387
677
921
908
786
817
215
116
480
380
329
740
383
68
190
881
855
222
557
214
418
803
333
119
277
413
194
385
677
740
671
598
480
925
517
613
821
334
837
45
281
47
639
817
577
745
606
361
661
186
244
970
593
726
519
997
697
671
672
567
764
516
858
464
659
376
679
487
355
613
938
161
400
680
465
373
256
292
172
328
370
230
756
965
887
219
726
723
622
471
772
969
583
632
975
757
24
733
871
86
121
432
969
635
543
559
81
603
666
638
915
941
193
83
481
223
282
61
364
400
809
312
892
657
934
102
797
829
912
44
585
113
27
480
195
906
950
967
691
473
701
135
726
555
335
785
812
800
89
24
206
591
173
830
6
820
222
306
55
813
587
551
897
938
366
470
257
862
17
228
615
334
177
879
210
742
857
355
136
446
211
378
4
478
910
679
829
331
511
819
557
963
476
463
871
477
368
780
986
659
473
915
473
952
110
743
808
745
189
132
891
456
453
739
28
273
83
363
411
584
275
887
329
67
278
120
358
968
608
799
541
417
969
887
510
757
306
717
952
649
792
950
74
334
120
358
881
186
737
848
758
975
743
985
109
104
543
716
539
395
397
271
947
19
256
264
766
796
603
591
423
496
553
217
172
340
200
867
666
155
998
7
19
311
492
698
484
528
825
862
213
324
444
308
881
761
189
142
510
637
83
352
339
22
822
14
989
978
600
314
751
32
64
154
749
706
543
61
646
588
346
373
622
727
610
409
988
362
889
793
528
122
749
759
71
764
698
416
214
532
504
679
947
663
710
882
100
311
551
39
592
274
787
780
953
642
746
383
152
218
423
222
681
140
554
135
887
184
499
909
339
894
637
688
937
50
949
890
258
652
304
271
696
806
724
972
72
505
731
954
487
808
794
737
164
427
139
994
616
897
916
13
313
359
60
10
569
725
486
957
676
348
601
558
353
657
434
127
225
711
579
207
468
941
277
727
205
736
64
182
8
389
540
509
50
835
257
860
984
879
846
493
23
712
646
780
706
636
336
759
973
151
456
803
54
813
807
388
594
300
676
230
59
587
477
866
600
926
688
89
305
257
980
328
172
563
649
20
358
62
115
274
858
57
926
861
252
315
951
58
487
502
786
117
251
650
900
216
388
497
321
537
190
203
588
616
527
6
581
18
39
760
478
892
394
198
709
687
667
319
688
973
762
393
883
509
739
558
169
937
378
628
396
536
741
989
291
355
739
389
216
331
812
402
72
371
620
794
717
687
345
310
297
984
302
976
868
286
996
565
518
771
729
548
398
737
537
333
276
18
903
181
76
291
381
798
329
93
229
833
381
491
262
135
883
54
871
649
424
230
390
236
958
253
680
701
616
615
618
342
277
508
386
553
194
510
462
824
891
6
408
684
202
878
657
882
682
922
510
486
223
497
696
13
564
577
408
216
836
553
96
457
358
82
309
55
92
481
588
469
110
440
352
193
685
80
638
633
17
197
578
561
558
92
59
178
1
64
635
622
4
227
832
341
883
120
982
756
652
444
749
873
672
748
384
294
415
734
496
779
74
737
335
672
404
431
839
315
394
500
238
98
186
63
593
762
142
992
701
442
980
966
916
983
295
592
483
527
669
489
246
414
357
744
705
387
715
178
150
610
624
97
770
339
850
931
475
387
440
711
661
673
517
220
603
362
19
472
395
213
653
221
314
899
615
175
965
902
741
44
653
498
824
162
863
844
818
224
142
110
377
490
758
209
461
750
346
125
394
32
701
327
156
103
134
29
253
10
646
838
679
647
179
714
585
677
738
496
272
206
675
957
556
488
906
270
643
489
28
227
217
557
712
469
141
683
709
41
980
685
959
267
514
320
387
971
825
858
145
574
418
616
684
53
149
24
283
751
517
857
701
502
934
592
341
505
559
647
415
933
234
211
223
521
156
877
777
911
222
131
981
812
450
92
465
971
133
75
173
698
49
11
580
976
183
270
896
357
854
960
901
364
284
217
265
57
710
459
86
83
902
143
741
753
520
577
737
618
977
777
374
671
523
932
566
982
803
87
831
210
913
86
851
171
597
986
277
283
53
466
355
933
49
367
515
915
215
653
370
95
273
584
366
265
538
395
530
75
719
956
479
499
824
418
998
978
395
121
932
366
970
762
658
443
937
957
389
254
13
648
509
783
62
409
193
381
475
566
736
211
675
641
449
250
535
138
64
146
222
397
698
633
191
187
987
475
379
287
140
349
720
928
983
555
646
922
93
624
746
21
111
830
671
489
810
948
86
206
234
859
797
213
680
453
380
411
514
726
556
48
509
7
174
327
970
123
243
739
231
390
348
551
116
754
158
916
455
111
943
728
452
12
689
135
118
666
438
716
547
199
411
984
171
644
110
59
678
602
158
366
306
755
649
115
742
875
261
513
887
224
381
271
217
125
51
457
831
945
293
723
410
870
997
464
815
653
743
615
217
648
839
204
155
108
8
224
767
988
924
968
718
363
815
675
568
711
853
996
359
692
613
282
482
910
516
158
144
762
766
164
831
233
46
941
480
875
657
377
237
979
786
831
828
976
26
824
411
411
630
334
355
148
384
942
443
304
598
408
863
517
810
214
491
153
1
959
649
91
101
812
286
886
637
53
793
492
931
506
360
48
247
360
416
898
158
627
41
757
395
185
348
176
425
651
446
565
814
5
286
575
562
268
552
394
962
205
105
719
494
121
523
776
801
195
418
861
478
18
421
111
590
636
41
733
250
974
254
506
215
470
376
275
343
69
369
924
230
514
811
803
196
504
350
579
636
45
127
767
593
873
965
8
746
267
86
955
519
431
213
352
92
909
312
78
657
378
330
16
431
710
877
135
256
159
822
89
195
42
680
579
410
845
258
472
547
817
890
159
728
787
252
829
919
742
269
153
880
692
732
946
592
693
114
504
875
321
15
115
560
889
589
503
517
883
400
679
472
54
130
105
399
620
904
923
496
409
173
836
486
393
791
476
844
543
691
389
414
537
359
543
48
446
58
339
825
403
578
453
633
731
280
770
544
820
702
652
332
911
571
866
558
765
254
535
862
909
476
864
85
234
586
16
633
136
243
184
753
63
908
217
334
553
872
852
335
102
721
153
619
735
125
854
533
451
542
312
211
831
452
35
525
923
205
989
759
984
44
498
576
354
989
903
437
682
756
614
634
206
790
45
928
678
89
635
312
178
549
406
704
335
495
929
220
512
105
393
959
735
40
343
38
380
368
173
820
724
529
56
449
290
165
642
551
250
796
848
318
753
4
400
454
774
855
758
320
567
765
207
666
887
102
770
181
956
730
125
853
791
699
731
187
817
384
373
456
283
274
245
312
93
298
363
671
846
344
986
842
546
879
251
64
849
993
549
83
786
664
211
370
365
265
945
530
59
590
348
78
836
760
18
456
742
602
888
982
177
970
752
375
694
828
872
224
647
108
387
317
540
543
963
933
673
631
338
52
624
863
633
3
539
88
126
236
901
536
659
409
251
455
700
232
714
301
844
110
609
475
919
974
539
848
615
657
39
147
704
150
661
71
940
706
683
592
671
899
852
563
730
942
72
149
847
637
50
773
295
569
833
699
814
119
88
364
657
598
497
601
674
795
261
853
263
889
389
775
512
793
508
554
242
560
994
388
469
681
668
837
195
276
370
36
405
225
279
82
821
41
149
565
397
687
921
388
8
458
346
530
72
843
275
104
413
682
949
482
465
111
133
631
831
593
369
606
178
743
74
390
673
539
121
192
173
121
705
82
173
298
248
65
441
129
119
622
556
993
360
246
669
834
233
7
569
816
646
787
7
765
133
444
286
622
610
874
320
967
517
619
74
798
24
761
467
134
340
851
228
200
82
347
580
43
147
191
492
269
479
244
609
756
919
849
106
100
512
958
686
109
649
527
976
584
979
708
820
666
490
181
438
406
333
710
687
110
989
652
432
758
607
849
835
572
897
827
289
50
115
686
364
204
153
652
962
354
785
239
35
296
599
141
863
377
69
779
413
301
987
59
966
207
906
666
876
345
797
874
937
980
673
10
416
429
466
574
615
772
508
740
618
236
668
213
325
359
105
83
932
499
352
5
696
405
794
959
870
189
654
588
184
0
681
916
837
937
725
841
477
774
441
744
536
792
715
417
929
139
720
583
177
94
557
575
571
784
869
9
710
314
672
272
366
253
150
686
723
42
935
282
862
674
924
837
330
138
134
496
982
164
308
108
402
227
892
363
637
384
562
52
678
207
49
483
456
678
687
570
318
553
912
71
729
577
473
314
756
859
94
862
457
898
898
440
160
817
355
142
621
494
125
954
555
39
548
192
201
381
100
148
400
787
492
937
642
35
444
416
113
656
127
28
658
931
313
678
19
450
357
406
52
920
760
122
789
881
913
549
14
946
611
89
780
90
229
6
941
484
387
110
20
852
797
686
164
396
320
323
275
414
66
787
666
966
321
993
298
95
650
876
274
351
805
14
117
969
25
936
292
919
971
543
627
387
984
911
149
204
159
756
556
212
27
663
64
447
935
808
858
318
767
190
356
226
985
816
865
463
506
766
480
914
172
76
191
84
719
436
662
411
168
251
987
59
363
794
320
706
110
860
540
530
764
247
457
543
413
915
514
434
275
538
191
342
860
646
507
540
717
956
965
770
956
583
969
355
574
234
644
196
838
301
314
655
371
725
99
457
691
201
607
66
999
427
610
396
620
405
274
155
609
684
773
943
675
682
936
787
4
310
956
838
94
939
60
81
254
730
871
849
781
469
841
265
388
559
804
668
297
81
675
928
907
164
489
585
557
370
368
207
708
24
122
960
265
394
944
113
211
436
106
129
879
369
565
624
214
549
40
681
845
816
258
697
58
234
422
186
135
896
259
840
530
815
559
370
964
435
25
738
507
226
681
471
326
213
805
488
164
228
330
482
133
795
171
712
678
879
255
248
576
373
283
305
94
870
477
102
699
785
725
155
531
46
808
896
683
822
61
180
959
897
203
732
231
418
400
441
262
542
109
99
946
30
235
703
395
974
346
304
848
607
376
420
139
918
695
823
524
466
913
709
176
476
646
566
975
571
323
287
808
55
849
303
241
186
641
327
473
476
879
562
797
643
582
410
256
495
780
834
330
500
941
863
838
146
457
252
277
81
239
354
424
151
256
997
806
25
646
801
265
790
586
416
795
971
604
429
693
950
236
547
469
241
778
193
468
568
638
446
13
939
225
100
442
350
194
716
45
996
977
802
307
208
703
159
590
776
106
525
604
530
468
122
778
434
408
129
443
770
512
946
539
191
763
870
764
279
128
199
91
487
150
264
871
486
817
351
70
79
855
206
402
662
629
577
712
76
142
706
166
429
374
159
853
409
620
828
900
471
590
162
520
877
811
293
759
674
995
117
369
678
761
103
61
96
98
510
499
917
624
896
122
324
651
779
728
611
370
346
603
573
879
903
490
26
37
549
630
566
6
585
301
514
943
533
56
474
131
791
179
628
381
601
978
590
446
652
878
387
791
872
53
781
701
690
901
326
680
883
615
204
283
81
906
5
129
809
766
423
956
270
986
940
941
514
606
37
478
807
310
37
203
618
514
70
677
561
402
891
964
721
722
526
210
158
233
942
59
211
732
255
427
168
281
864
480
188
262
539
600
793
266
763
507
647
605
465
824
335
559
227
486
459
287
410
108
282
870
970
243
550
767
446
65
25
886
412
489
485
945
624
210
673
203
897
539
898
752
771
388
75
125
524
139
18
793
677
739
439
88
522
626
52
760
593
135
916
805
754
511
440
297
859
838
485
149
685
119
299
650
658
304
894
900
594
445
413
265
904
255
807
935
346
528
373
626
583
588
987
697
369
859
184
346
651
4
486
275
470
394
571
675
84
725
832
312
817
251
675
488
799
476
685
936
49
697
771
417
221
289
690
805
571
803
58
249
639
863
318
257
19
43
353
681
790
104
963
328
623
389
725
252
615
877
976
182
78
382
476
343
996
933
221
535
676
406
295
662
742
285
212
871
260
711
377
608
821
813
537
627
178
525
777
819
840
414
449
213
224
543
971
987
87
207
3
188
356
804
279
112
440
573
941
740
791
138
133
55
388
89
207
372
235
61
931
411
403
928
162
879
329
872
963
298
24
810
737
339
777
681
715
617
413
156
233
749
172
422
781
22
721
942
498
626
700
90
295
459
644
493
637
279
427
827
104
54
356
220
675
873
852
470
780
3
197
840
497
384
538
540
779
51
531
917
505
365
804
586
667
297
728
184
869
704
689
237
528
826
796
136
561
860
580
456
911
289
528
260
561
885
930
110
521
108
145
734
838
820
910
602
739
433
432
137
926
549
660
97
144
392
454
891
819
670
596
637
495
49
406
246
523
440
764
589
821
837
164
928
377
463
129
293
415
304
483
330
97
379
743
705
759
96
509
668
708
583
673
436
852
291
8
208
679
747
807
772
560
970
700
113
507
578
378
479
514
888
149
117
412
845
837
319
725
902
148
248
730
904
16
585
295
86
341
139
875
178
390
188
806
688
411
478
45
608
799
227
978
505
878
127
951
444
766
661
108
45
790
732
271
320
897
732
473
473
16
637
631
298
417
315
512
184
673
275
936
505
801
607
982
657
66
682
869
597
162
425
494
11
924
616
53
311
489
646
646
673
81
474
623
900
56
421
78
648
180
227
381
166
997
468
337
600
247
101
830
608
234
807
939
563
440
462
694
386
592
406
262
881
203
366
635
263
204
132
316
268
677
286
155
896
800
536
622
528
506
69
546
911
196
371
562
963
988
398
726
217
705
663
426
643
737
741
768
479
618
251
876
377
316
573
828
373
523
269
168
310
247
481
402
766
243
946
62
530
717
246
13
485
287
322
572
689
238
382
240
492
758
124
727
258
459
847
214
118
987
979
171
764
677
76
518
650
511
333
892
109
188
459
107
348
467
174
326
451
782
521
854
531
93
673
377
62
542
309
236
202
650
185
120
549
30
200
775
814
537
463
794
422
831
692
941
445
463
177
406
598
589
897
505
666
223
948
454
167
454
207
711
772
409
809
550
704
33
151
551
105
203
791
921
649
71
719
16
340
274
759
324
979
523
626
914
941
33
776
490
645
630
580
52
836
8
355
920
231
353
609
681
337
260
349
122
636
618
284
423
447
735
773
32
70
609
757
659
120
876
802
549
549
575
802
52
721
940
921
752
553
384
35
817
280
724
574
288
130
217
946
466
173
933
642
910
715
737
984
116
133
717
730
638
145
601
86
938
478
436
447
26
458
17
818
196
941
644
945
794
281
426
337
247
722
87
359
613
114
190
943
142
485
618
621
338
669
406
555
990
413
452
297
519
729
565
90
566
560
155
917
261
705
728
493
581
618
827
285
98
773
612
12
631
393
652
80
94
111
777
477
488
13
27
653
61
829
118
112
294
87
712
918
732
81
260
85
418
514
354
136
736
216
285
985
407
988
697
664
906
893
94
615
623
44
206
8
546
795
992
776
67
402
430
450
314
475
47
969
624
593
996
451
644
540
27
460
286
767
922
417
12
618
791
169
343
41
25
60
755
675
136
658
949
874
626
505
988
242
632
283
792
869
4
460
354
485
412
753
827
720
736
919
633
673
39
9
331
6
202
975
426
212
219
499
398
147
298
779
335
875
275
610
947
339
9
443
136
759
771
349
703
73
8
91
634
523
758
536
347
823
55
202
384
793
914
975
152
367
602
522
359
442
837
206
503
996
53
462
125
347
202
568
327
133
568
620
829
375
172
460
654
693
160
460
881
694
47
58
481
327
265
97
469
17
614
969
209
531
295
922
987
954
552
78
320
991
325
799
394
114
507
708
872
568
122
85
299
361
719
773
630
116
943
976
271
113
943
990
8
845
649
324
661
222
212
838
85
700
669
440
60
966
112
45
512
479
495
161
399
954
868
506
208
844
227
25
819
410
391
972
960
744
480
45
893
170
211
673
983
273
604
921
855
720
946
374
713
644
179
924
540
224
997
656
967
665
87
175
217
767
749
602
108
209
420
967
589
555
721
48
238
310
491
274
605
319
513
440
609
282
575
990
245
439
5
126
262
501
578
853
131
984
779
920
643
379
33
80
126
764
422
171
898
784
278
482
820
280
946
771
362
414
425
71
835
461
99
737
794
924
698
174
788
732
283
359
247
379
128
797
449
800
111
456
99
44
295
439
924
304
283
738
137
811
887
561
52
432
573
136
105
710
45
941
596
21
799
97
462
328
432
997
726
654
621
348
565
223
879
446
282
366
216
910
677
108
584
372
417
351
344
407
747
310
153
759
891
367
545
415
926
253
937
84
979
453
685
44
534
385
232
239
273
197
237
705
636
353
773
950
417
98
20
971
810
681
333
83
37
49
141
272
959
680
57
570
844
598
9
488
133
402
776
265
336
668
416
911
531
358
759
841
432
710
684
960
730
504
255
517
987
83
418
824
378
954
963
274
474
940
952
348
343
819
563
493
799
107
482
122
558
455
259
153
325
705
348
565
183
883
772
43
743
889
678
726
347
601
719
576
800
982
701
20
936
497
623
347
510
471
335
748
143
354
757
771
920
297
455
540
521
271
751
382
618
749
956
4
533
976
674
954
190
777
388
117
979
977
273
588
922
276
986
980
50
797
32
771
259
122
986
298
79
229
247
735
951
256
385
260
599
675
503
742
355
111
978
661
655
427
173
782
339
674
904
898
150
139
148
865
696
380
345
78
526
356
271
288
98
217
64
733
998
948
45
103
739
940
480
864
546
718
681
216
202
525
37
957
565
111
724
834
83
852
265
740
968
247
196
929
53
124
420
107
973
806
250
430
53
263
913
43
979
345
394
771
9
429
831
788
708
87
45
124
409
676
64
529
960
665
749
680
82
680
60
882
84
325
459
187
537
649
53
51
564
824
617
353
192
28
210
795
507
431
326
249
956
73
601
168
395
198
188
817
763
899
978
562
457
299
20
193
637
174
704
507
506
268
348
710
998
960
51
238
675
563
582
244
667
612
463
167
939
483
672
817
202
14
393
965
357
698
803
936
577
869
89
627
796
834
303
762
791
4
40
311
944
50
827
834
775
80
926
647
595
188
369
317
6
729
196
351
877
833
384
805
17
282
379
810
819
336
32
112
937
106
467
968
753
497
667
109
84
691
615
452
342
25
975
775
650
721
636
802
333
37
799
787
474
441
531
429
895
304
26
955
576
18
150
556
250
625
198
391
805
42
440
151
205
293
754
619
759
267
689
607
256
843
478
881
301
323
335
786
72
966
454
621
50
672
657
894
41
422
46
243
873
975
201
879
735
138
260
45
119
841
563
289
91
55
505
694
748
631
796
44
461
165
614
372
494
176
195
726
830
524
595
839
827
686
79
73
694
311
947
908
595
866
928
241
781
26
536
458
92
453
376
780
645
140
445
791
407
449
133
549
502
377
93
422
967
35
617
313
383
574
798
948
195
339
609
219
502
7
121
966
543
652
622
529
38
675
72
229
167
12
959
323
619
964
135
491
644
403
345
188
905
872
563
539
163
505
740
318
842
835
498
274
408
315
914
979
496
424
14
409
968
689
341
172
773
992
477
604
679
386
770
338
505
272
345
151
156
732
163
313
581
891
382
204
542
751
265
77
141
729
586
28
807
832
420
338
386
381
776
657
103
542
283
284
649
568
721
401
619
364
51
685
919
618
611
862
592
972
779
107
384
158
695
673
798
153
918
90
116
338
791
823
174
127
315
53
575
690
993
828
165
646
989
781
771
203
281
733
244
973
662
895
506
659
260
31
677
616
803
777
188
526
352
382
944
572
766
360
116
886
59
74
248
463
162
874
484
532
454
529
247
714
38
93
745
153
150
528
783
182
125
504
417
481
220
665
260
363
774
304
563
361
273
823
986
922
679
994
738
954
274
175
729
784
68
494
399
22
6
523
446
723
780
503
694
504
325
215
77
302
963
931
580
789
365
960
655
10
165
27
374
683
46
917
488
983
771
86
695
803
830
11
770
333
124
4
153
343
97
806
520
115
220
748
611
729
779
648
597
438
933
269
718
91
243
516
494
117
804
154
722
956
886
825
428
690
198
306
181
30
978
406
965
21
526
669
804
114
155
932
602
181
740
692
149
902
141
328
804
949
244
268
514
68
934
949
8
449
710
928
837
341
877
101
107
821
282
329
841
252
812
922
257
643
332
300
461
757
981
93
287
445
719
100
472
325
244
729
901
979
417
602
654
741
637
45
885
425
548
812
213
382
482
841
619
515
898
347
567
374
969
623
495
428
412
119
380
120
858
446
537
558
558
530
755
604
150
416
476
933
167
510
422
954
797
983
157
12
218
286
345
595
931
859
919
887
365
805
186
212
30
474
181
467
624
934
875
816
662
742
10
181
71
786
975
131
303
151
449
576
139
596
139
578
637
794
268
267
118
231
610
683
894
96
235
896
274
714
336
483
892
96
607
823
72
141
900
293
44
101
969
957
86
993
276
169
991
680
16
59
762
383
450
283
812
814
6
161
622
570
409
348
453
649
294
781
690
321
721
644
871
486
255
39
268
126
636
145
549
708
979
365
918
273
543
444
559
438
449
525
333
210
614
80
510
998
37
170
425
205
822
621
721
194
576
118
404
935
411
106
465
877
5
493
414
738
555
729
241
139
686
392
223
919
215
622
426
294
308
473
805
759
105
237
354
473
688
243
409
583
289
100
794
681
297
37
87
946
303
335
381
204
343
718
429
127
762
380
573
990
480
814
633
853
246
703
149
60
579
823
930
523
254
668
486
254
343
788
450
379
336
603
342
415
738
697
268
407
444
876
832
331
46
789
908
311
150
496
375
856
46
772
984
873
829
710
891
968
438
89
2
582
396
163
912
835
984
415
80
813
689
917
37
391
221
414
891
880
951
271
594
531
456
199
309
851
479
503
375
692
658
74
335
130
968
526
132
424
165
104
408
757
979
809
873
353
320
630
870
880
861
113
497
929
910
832
779
678
492
300
6
561
65
842
706
370
61
140
606
811
189
976
913
467
710
68
558
297
610
87
556
746
757
97
849
931
120
667
241
815
358
732
343
43
13
693
859
25
846
182
957
184
119
627
126
891
37
581
198
56
539
953
668
236
108
250
235
654
855
355
854
519
806
921
670
944
586
420
658
185
201
463
716
143
653
795
691
434
763
529
77
411
51
797
249
474
560
623
717
254
986
613
988
902
66
715
683
466
428
262
155
870
337
327
660
272
848
578
861
762
654
744
671
903
690
67
527
901
126
652
293
976
330
245
940
83
579
202
445
663
19
423
350
449
873
151
855
703
395
197
793
554
135
445
462
935
862
579
235
695
353
315
565
969
449
269
134
39
2
369
763
547
553
405
806
793
0
903
437
196
910
590
193
681
889
830
269
912
113
878
468
359
687
388
819
162
707
890
280
622
284
287
626
98
636
269
132
760
161
613
482
491
262
11
870
811
854
312
824
615
603
506
828
54
613
894
736
224
962
889
46
517
164
563
337
188
378
920
175
871
101
844
266
554
612
446
943
311
319
219
448
498
342
394
895
841
325
385
8
347
688
866
818
486
215
955
852
133
864
715
468
982
373
2
294
521
874
132
319
814
166
779
478
175
547
968
25
399
265
403
555
17
976
830
289
606
640
753
454
833
661
481
886
841
347
894
362
991
402
323
774
789
501
735
326
33
522
643
405
125
719
197
614
57
320
972
974
474
148
288
27
590
617
564
160
723
561
213
950
958
556
621
252
885
816
407
994
698
841
586
97
799
300
427
310
147
324
569
966
38
37
804
803
625
315
684
672
326
461
386
571
184
346
998
82
634
937
823
505
352
243
657
75
168
208
239
589
394
443
715
922
824
280
234
986
195
668
874
523
171
80
739
694
811
792
875
879
61
887
516
711
668
45
182
906
584
379
303
758
131
67
971
700
905
539
351
645
731
388
550
137
173
501
503
283
963
305
520
11
77
262
660
818
506
326
793
966
151
547
970
198
977
423
275
13
286
553
945
673
114
681
150
485
386
497
585
552
169
52
891
424
442
818
441
978
7
865
876
912
296
271
747
882
932
98
140
819
554
985
439
240
825
937
799
229
587
892
912
501
725
314
117
442
23
560
93
513
356
309
237
262
960
545
206
694
815
457
816
227
499
308
973
510
233
281
473
545
192
963
46
169
531
342
485
51
490
421
132
741
741
83
304
213
384
218
593
27
729
430
203
980
49
55
201
372
767
695
719
191
784
167
443
998
899
401
296
696
222
377
488
146
833
528
113
74
753
914
622
366
126
634
626
407
976
343
543
341
902
890
21
548
482
482
562
790
830
205
972
991
264
126
440
102
17
909
300
522
501
276
957
202
980
792
592
174
411
910
938
847
921
354
493
658
162
871
495
113
287
206
642
874
698
614
621
712
580
339
311
201
425
95
861
56
760
610
646
879
47
197
407
283
638
534
510
13
345
661
100
401
363
538
248
251
272
80
975
49
746
684
639
303
306
793
497
377
915
37
260
997
4
941
441
969
9
601
66
977
681
67
456
907
480
798
861
529
815
367
660
19
643
554
877
162
5
591
573
889
126
131
707
802
744
352
169
665
729
310
227
762
860
752
505
462
885
672
227
805
85
705
636
827
598
407
660
546
47
681
264
845
665
455
577
146
291
600
823
545
794
96
353
602
104
330
772
557
217
735
717
690
514
203
421
541
200
529
415
387
276
612
804
644
747
210
15
553
201
947
28
498
141
780
326
765
625
210
231
888
581
33
258
749
237
960
125
387
284
575
489
410
735
856
925
315
36
611
207
754
350
840
682
222
302
256
295
117
621
300
173
273
710
38
228
234
445
133
497
567
272
97
903
823
952
154
775
658
306
712
707
693
843
72
406
81
744
86
546
771
146
777
94
674
950
529
359
529
94
705
131
148
557
585
67
230
419
900
422
701
361
507
747
486
811
984
131
143
970
900
824
527
613
595
602
513
410
86
752
256
548
370
545
282
494
719
226
627
454
363
937
453
443
350
362
758
82
320
79
627
601
474
948
870
832
103
655
333
754
395
305
190
502
79
223
51
305
168
262
625
564
943
870
752
646
199
341
444
5
920
87
279
944
380
456
257
638
41
691
222
162
139
678
132
416
754
650
106
129
767
879
567
492
141
355
745
629
340
898
578
850
375
635
655
929
7
171
457
491
260
845
34
675
85
984
759
406
162
255
192
784
478
880
974
732
232
13
983
894
760
98
716
245
140
701
516
740
118
688
638
768
913
853
676
908
431
690
813
807
785
898
654
292
651
920
658
478
860
316
639
402
938
517
224
159
385
72
849
660
175
227
736
741
451
365
954
865
174
757
563
515
268
472
947
933
318
996
117
57
279
194
52
680
222
337
318
839
63
644
357
434
607
5
56
54
625
251
449
865
416
650
30
840
802
694
328
956
102
157
306
199
692
167
922
731
109
217
883
574
907
737
676
566
945
9
282
533
161
345
34
662
432
518
384
495
766
484
430
203
749
776
697
97
128
284
158
199
653
582
966
527
530
318
461
395
835
82
936
889
747
515
25
300
842
966
269
684
512
896
671
564
272
329
753
217
670
361
283
152
808
716
739
673
787
940
276
398
171
438
314
704
937
849
739
678
759
881
420
786
58
500
221
232
972
534
201
864
413
106
285
866
448
847
959
229
985
487
297
875
253
829
91
877
596
652
957
176
541
480
816
279
565
394
292
977
42
989
208
873
747
385
399
633
0
134
232
395
287
590
432
891
252
821
208
516
820
36
100
997
695
599
774
595
200
192
846
915
791
609
97
473
21
357
270
541
98
185
526
307
319
149
814
145
833
287
467
413
360
941
212
968
192
37
595
695
738
813
565
92
795
456
70
269
68
473
449
307
294
746
312
272
523
417
904
653
645
964
595
275
636
636
666
976
339
658
406
561
94
371
783
450
403
132
338
276
750
250
366
622
903
996
781
315
636
33
702
620
521
729
347
320
802
538
249
89
354
247
2
966
383
304
54
195
558
258
945
37
592
51
944
205
588
541
214
915
557
633
825
786
715
58
773
533
756
220
208
797
943
998
496
881
993
411
228
567
372
492
796
10
963
66
501
602
966
970
420
171
636
944
846
617
983
345
900
325
190
525
599
583
953
865
145
535
633
355
353
110
922
939
605
160
528
896
137
334
246
87
752
173
135
553
655
284
18
515
518
641
158
125
145
262
958
858
707
230
503
480
315
871
745
893
527
591
490
39
761
415
288
142
480
300
161
882
898
329
815
58
440
170
552
276
520
77
783
619
143
402
53
369
514
663
962
778
865
973
749
972
221
546
677
681
259
138
151
659
391
31
596
561
525
773
882
226
22
503
707
948
807
349
520
24
125
427
549
36
521
843
685
131
715
457
998
603
443
208
800
837
208
548
120
335
29
617
913
718
708
346
152
840
378
601
486
64
182
984
863
639
716
512
381
961
554
680
423
608
15
514
363
381
787
147
147
94
165
690
752
236
458
690
192
644
120
795
582
471
164
40
141
918
887
860
93
342
838
814
574
496
46
535
913
11
758
806
932
401
912
971
385
241
658
939
558
856
526
707
841
401
75
464
586
237
115
933
736
224
193
955
412
330
831
958
373
551
46
787
324
123
799
337
524
590
786
151
408
367
45
510
357
926
837
757
251
458
661
183
736
388
238
228
101
387
494
987
867
687
417
631
295
535
892
423
695
713
583
338
336
145
306
999
566
504
873
229
475
244
103
549
470
261
583
956
92
299
129
875
767
822
799
326
587
227
437
289
634
497
414
658
67
244
104
16
721
784
105
37
706
618
972
528
955
3
357
813
94
588
32
479
252
570
723
153
699
499
633
379
156
985
323
842
379
866
469
334
318
427
746
350
636
81
47
977
330
132
121
133
147
530
86
281
355
5
121
771
826
118
482
335
83
702
174
876
662
371
17
612
904
450
549
291
664
376
95
495
361
693
375
98
517
283
381
153
979
522
832
457
172
91
550
50
847
581
891
217
1
393
430
650
382
849
875
537
191
814
938
7
883
924
453
62
972
815
986
709
172
871
219
486
129
68
932
552
98
431
430
938
679
160
667
101
317
206
274
964
434
321
919
689
385
941
49
950
823
153
60
390
940
750
162
524
260
773
899
146
122
649
794
674
651
395
618
825
364
182
168
228
760
106
69
631
422
313
118
890
681
525
776
63
640
13
539
20
984
562
588
91
573
982
232
305
333
631
190
843
857
599
162
52
891
865
252
589
672
609
758
551
114
64
876
442
351
780
742
805
41
88
410
992
465
31
470
298
464
581
646
36
559
973
903
18
727
401
268
858
721
152
769
264
817
227
646
371
325
294
350
141
561
125
908
681
695
573
535
574
684
328
453
97
839
866
431
133
307
289
542
852
937
293
828
646
196
847
957
237
248
993
913
9
520
551
129
97
655
229
61
532
320
21
751
686
671
708
264
766
706
51
445
595
978
119
921
558
680
875
36
383
469
497
878
273
81
386
880
992
277
190
419
562
196
327
12
624
523
496
109
853
61
151
192
119
720
829
432
664
196
497
889
452
40
264
443
584
742
784
106
459
438
340
566
318
272
627
711
733
198
964
885
655
443
572
488
552
90
504
476
226
317
726
502
27
770
566
27
52
433
887
368
716
303
583
191
516
395
787
230
895
648
24
486
591
572
392
394
852
752
165
568
768
130
958
371
834
379
379
893
197
465
6
243
680
844
846
990
196
22
80
261
523
90
358
199
17
599
329
570
85
0
89
892
899
215
576
162
301
526
376
680
45
314
342
396
513
42
34
986
837
546
367
317
196
985
496
411
619
620
384
797
81
843
527
145
571
899
315
691
158
357
253
239
395
273
659
168
638
707
259
408
473
466
379
124
505
156
837
297
905
253
777
273
667
804
724
466
941
7
185
180
105
339
816
49
94
542
964
990
166
930
156
235
632
948
334
349
637
117
934
336
355
21
849
788
303
686
35
320
471
902
204
547
667
305
973
638
601
241
257
501
696
399
451
404
997
276
35
972
893
72
822
440
923
546
700
484
890
394
585
910
26
431
391
452
835
590
626
163
635
996
45
159
946
178
255
256
470
117
801
91
145
835
367
143
502
606
97
9
854
526
768
150
829
246
390
551
148
124
483
896
417
853
129
404
694
102
651
78
582
72
242
385
489
530
806
526
745
387
116
336
1
160
4
219
556
880
414
156
181
550
768
888
890
202
197
979
453
905
179
382
213
443
77
505
124
984
24
619
338
554
282
447
641
559
164
672
647
616
659
928
935
272
271
439
762
322
994
811
661
11
619
72
173
176
440
95
914
53
392
435
748
500
693
426
152
712
331
129
248
657
368
670
796
662
513
244
811
911
571
655
725
979
674
946
763
106
672
96
273
55
480
527
547
753
698
397
657
871
552
603
584
292
664
103
675
225
563
448
81
545
355
448
196
245
35
227
501
784
369
958
818
104
159
527
881
560
301
178
114
491
858
840
417
125
797
833
211
975
454
961
197
347
660
805
185
878
760
260
378
132
929
146
666
470
976
310
965
481
239
553
860
978
324
321
684
667
888
850
610
708
569
739
12
977
22
224
25
290
310
448
58
864
470
496
204
907
725
737
63
368
951
408
720
380
347
535
354
618
575
855
741
617
299
972
475
447
5
460
500
710
503
501
223
108
966
808
142
780
620
226
975
60
202
11
406
852
675
255
440
276
308
691
336
505
593
238
791
703
986
675
741
476
877
286
781
872
37
784
517
696
574
724
805
316
330
784
823
235
590
386
31
669
671
638
65
975
383
981
338
555
959
585
205
119
278
888
629
612
238
501
659
183
696
214
47
848
66
244
272
280
564
483
530
294
217
216
623
702
731
200
666
121
387
676
606
955
997
488
524
268
992
903
533
936
231
897
745
491
714
369
127
941
2
880
626
83
99
212
156
402
946
73
417
823
77
188
319
294
506
943
232
446
812
7
465
89
428
523
900
591
200
511
244
21
488
862
30
321
566
677
966
974
780
585
989
217
683
7
473
489
224
343
860
708
868
126
905
857
384
250
109
695
481
359
955
676
505
990
495
481
988
416
453
574
974
259
794
611
515
408
643
602
650
157
163
867
401
755
505
375
912
4
224
485
674
777
966
66
820
702
944
438
58
378
967
52
627
466
843
883
74
10
144
82
269
603
621
197
823
204
918
78
745
331
196
252
823
70
98
56
217
621
673
966
770
908
443
65
295
451
633
184
683
360
764
35
252
811
788
282
702
209
241
940
553
815
443
232
87
108
853
928
629
652
712
687
270
800
489
311
652
108
520
647
373
682
849
354
557
139
127
847
11
774
123
295
165
772
322
669
856
518
215
214
154
122
729
311
539
694
628
383
9
512
254
637
900
258
158
679
1
811
682
548
331
97
950
213
502
811
359
555
691
555
785
286
232
426
583
583
783
122
72
198
134
738
855
491
594
756
684
114
519
106
740
520
207
838
9
266
555
419
721
78
741
838
652
75
956
619
687
925
650
551
969
605
914
603
1
558
632
674
844
439
526
773
673
121
442
385
308
691
125
74
466
895
662
934
802
908
201
539
473
940
706
184
532
973
805
309
544
617
487
837
834
238
122
333
732
458
904
396
313
575
750
237
198
61
555
326
345
393
73
559
659
306
364
490
943
212
559
261
201
749
17
787
634
476
937
493
423
966
939
163
126
197
837
914
752
2
909
330
236
757
123
739
132
769
91
134
116
451
764
772
732
476
514
370
197
48
957
218
113
515
151
497
909
419
655
805
130
461
735
760
829
424
219
162
672
534
907
993
442
250
137
57
468
139
917
326
862
248
484
713
721
927
420
561
861
306
208
902
506
59
831
484
7
695
484
292
556
798
138
702
203
412
139
560
853
689
26
32
88
319
104
901
963
890
380
992
233
183
396
261
119
800
687
756
667
5
824
80
27
572
897
197
662
530
936
110
565
659
417
802
451
561
986
840
821
579
116
191
692
21
781
11
333
188
373
29
159
409
206
715
151
862
364
562
332
621
561
580
730
637
42
18
64
159
331
551
982
169
795
176
692
416
520
503
679
202
22
552
847
560
682
743
644
869
461
225
575
964
11
569
476
934
764
541
310
531
746
488
667
917
814
152
48
265
405
232
94
487
820
680
938
790
881
162
551
903
332
702
25
325
887
119
345
699
81
717
746
731
540
765
112
210
387
368
657
451
766
921
37
364
452
844
662
580
953
311
7
965
910
722
589
131
518
972
175
705
372
216
49
860
602
499
258
828
133
727
890
638
248
600
963
198
75
711
149
132
427
475
126
429
939
575
552
841
920
740
875
344
761
179
674
405
219
413
817
747
0
271
526
577
36
854
627
854
429
366
327
813
157
725
955
228
132
733
615
878
596
289
705
83
981
812
354
2
875
173
407
373
369
949
147
224
693
812
471
522
575
111
246
711
84
277
637
930
372
696
297
122
113
908
409
734
151
365
1
806
546
928
487
619
474
609
657
377
187
21
583
811
437
446
680
654
251
784
474
957
821
943
44
273
246
24
366
88
582
820
731
509
576
633
44
766
93
253
291
517
397
433
241
642
278
737
490
743
897
553
978
554
895
260
915
295
940
444
785
93
972
69
546
490
521
220
515
437
716
485
881
969
130
14
672
676
517
967
585
198
585
192
799
500
939
77
220
475
579
506
617
983
165
0
804
404
660
149
501
202
645
741
95
18
860
142
886
325
147
66
963
350
431
45
228
900
519
3
192
349
33
278
408
404
925
836
627
679
793
354
749
123
610
453
657
227
750
575
244
126
766
202
264
225
997
342
610
567
196
681
438
151
852
245
930
866
346
475
884
42
353
160
764
663
994
108
98
360
453
241
87
354
531
775
92
500
47
439
53
356
674
0
145
830
803
768
685
745
547
783
189
798
31
888
467
804
306
992
304
994
112
92
428
214
286
374
14
177
98
139
991
921
165
723
134
355
766
104
988
472
172
344
131
950
441
496
82
257
915
371
595
110
966
642
724
621
373
494
102
217
198
146
578
905
171
937
431
265
368
7
603
683
383
392
404
404
500
391
404
514
809
258
108
700
956
873
276
87
103
829
525
784
136
335
219
135
795
333
63
776
783
205
212
42
857
841
217
340
640
986
582
299
836
965
131
16
189
239
305
25
92
53
885
336
603
774
232
741
909
38
228
711
855
199
205
555
585
858
647
95
682
929
29
379
489
110
567
722
417
941
247
431
668
831
657
215
175
897
265
454
336
489
224
677
888
296
54
740
787
457
994
53
46
552
699
929
329
558
699
433
858
330
189
810
834
728
336
259
809
570
301
374
355
418
155
2
504
243
953
77
731
184
238
352
772
391
456
935
6
979
738
543
57
472
802
509
299
722
496
258
848
406
437
624
262
830
775
108
553
646
184
312
762
583
2
55
38
491
421
739
531
62
893
408
209
559
348
52
652
792
113
177
832
286
366
649
892
393
17
527
393
433
79
59
775
366
17
871
809
705
362
584
115
307
315
156
809
294
707
10
357
796
680
885
204
205
727
635
734
970
765
705
572
6
138
489
429
992
448
69
727
54
719
704
606
86
674
30
281
580
177
847
363
166
56
754
364
526
101
830
309
531
1
967
356
573
590
416
243
752
219
550
890
834
727
996
537
323
626
945
43
668
486
269
831
388
942
133
603
318
708
277
189
992
105
692
851
7
191
589
705
50
898
864
622
880
4
873
204
8
477
184
296
810
881
691
402
424
252
503
811
42
9
48
624
473
514
16
78
356
576
484
446
618
244
13
298
131
200
836
837
491
981
382
752
574
496
932
9
175
445
144
415
394
868
836
589
293
356
918
512
48
277
195
279
228
510
271
725
822
249
386
611
495
917
418
675
264
25
298
426
106
757
299
577
9
216
906
645
639
312
844
195
336
775
204
888
421
760
668
9
464
924
995
398
167
695
610
152
419
210
393
340
875
655
429
970
11
356
700
305
120
274
255
323
561
624
176
624
137
97
717
270
236
242
939
667
295
893
320
864
227
649
38
507
708
667
646
994
385
836
622
383
256
536
766
948
606
646
502
617
90
726
201
354
101
195
790
504
243
208
599
402
883
482
397
775
211
316
504
977
528
569
32
431
277
16
687
672
998
138
595
492
714
317
19
645
676
495
179
173
661
765
287
516
981
794
64
440
310
386
10
740
776
422
702
17
969
680
424
413
733
309
637
609
701
290
628
3
217
159
387
643
439
774
732
233
874
522
587
621
859
647
426
712
460
186
402
705
788
652
263
843
384
949
640
212
123
908
526
451
608
265
324
918
188
898
316
944
630
362
929
631
298
962
195
592
598
995
185
592
833
854
110
415
990
111
113
862
943
513
157
80
621
180
318
565
369
647
28
497
997
744
889
663
36
32
95
346
545
141
329
138
674
905
149
346
842
652
914
860
953
453
227
740
159
437
208
909
530
855
562
177
889
543
948
111
425
830
742
928
536
475
947
903
808
115
477
944
883
997
564
841
644
657
128
669
601
790
4
522
489
766
14
133
77
807
808
242
165
413
116
101
315
258
303
197
935
628
483
47
621
576
719
127
356
667
514
44
857
794
538
288
579
233
977
892
313
76
257
78
194
624
244
253
770
741
537
84
73
708
300
580
294
77
587
130
47
929
151
941
501
70
723
86
336
620
650
275
909
287
46
784
228
976
767
431
167
365
280
70
598
377
200
381
427
962
253
242
19
764
662
253
23
364
851
386
995
497
625
849
791
13
81
571
917
862
712
331
972
16
234
411
798
569
836
891
761
650
285
446
261
227
445
725
663
422
870
992
740
74
281
502
769
656
734
843
74
41
358
910
517
166
382
888
299
325
132
760
744
270
433
330
933
422
963
575
939
129
621
873
702
988
446
490
52
132
220
120
958
257
458
693
127
928
436
759
694
627
217
224
690
321
817
336
287
678
231
273
651
767
183
97
332
924
243
912
156
967
631
672
669
5
121
667
237
561
443
901
292
572
55
160
391
226
213
273
809
880
822
10
372
438
371
594
439
384
852
298
377
220
911
152
842
916
414
769
610
7
1
205
780
792
712
380
10
288
724
390
590
861
57
816
769
424
963
442
640
673
299
387
224
748
169
843
330
298
113
272
705
151
770
985
100
57
878
503
941
633
78
635
59
851
588
898
602
987
927
826
965
149
261
400
289
757
272
878
858
942
708
950
244
255
800
630
404
851
915
827
964
117
944
443
958
208
194
665
896
146
346
528
612
400
138
42
270
104
22
690
623
728
296
574
51
165
966
79
3
525
461
149
899
745
89
694
330
74
40
674
745
216
49
342
756
772
746
529
834
196
537
448
894
631
36
107
444
6
733
698
723
563
90
668
966
285
830
636
918
891
437
788
332
709
902
947
180
99
804
27
707
382
738
904
690
231
472
945
738
235
461
396
242
994
856
909
820
699
953
588
137
791
328
657
249
922
915
166
539
606
133
216
435
217
775
155
146
866
444
361
370
915
727
310
622
286
556
272
690
482
761
782
140
361
612
382
395
205
998
721
173
721
417
842
907
617
16
567
155
160
363
777
781
991
460
361
186
194
725
680
7
985
334
762
54
333
954
415
293
887
652
589
463
268
827
631
807
836
835
582
969
471
874
265
913
991
238
334
28
460
697
675
191
178
581
818
319
785
813
682
515
648
296
25
386
96
853
313
950
229
345
15
942
337
822
110
854
655
732
330
642
740
696
365
280
402
845
726
844
421
160
36
205
379
843
547
940
512
572
443
505
736
23
255
488
8
365
294
783
349
704
542
682
153
925
50
120
942
203
723
530
641
572
672
995
794
850
16
481
849
118
422
509
421
347
367
264
941
184
654
328
480
587
775
763
333
739
510
570
574
903
158
229
331
157
147
611
372
30
514
41
446
949
121
796
976
974
748
586
302
267
537
595
3
945
907
732
547
385
368
844
966
724
983
999
594
920
926
17
223
341
687
656
338
682
859
846
939
199
163
519
707
120
399
992
335
326
12
246
304
101
512
362
345
727
266
586
865
558
57
469
768
158
762
250
123
448
26
346
766
39
799
445
189
610
887
493
471
600
949
271
884
408
478
477
967
294
181
366
98
877
807
630
627
615
170
49
878
6
546
372
920
401
567
606
740
66
288
651
911
880
584
766
590
650
592
667
238
945
361
541
254
85
706
816
902
125
41
940
903
61
428
455
848
954
632
477
668
453
85
596
561
967
708
65
970
282
455
535
511
508
966
237
649
813
486
509
453
373
452
320
874
178
326
565
455
388
982
207
908
112
46
422
21
489
60
191
237
250
797
948
946
883
435
551
732
602
55
453
963
784
638
236
964
661
282
816
804
848
325
911
594
278
809
585
758
758
585
177
844
166
48
606
498
930
455
679
953
577
211
23
969
604
460
652
354
768
147
658
833
237
616
925
138
333
102
907
483
538
388
285
911
260
559
213
976
462
527
401
931
76
259
392
746
719
319
558
847
547
161
238
380
268
654
622
5
736
231
365
622
504
489
893
43
19
642
877
380
180
586
593
195
788
461
981
614
256
916
352
341
918
353
679
159
195
125
570
71
276
36
622
62
992
513
430
163
85
926
278
919
730
343
525
81
737
239
134
394
993
51
79
900
513
133
39
321
334
853
682
317
943
233
335
171
989
328
932
670
751
809
106
647
786
799
302
89
839
243
914
957
320
892
284
739
273
716
473
466
220
897
803
345
274
44
97
44
566
371
712
219
216
407
144
648
652
550
983
735
642
867
32
519
725
848
967
856
500
927
373
272
734
320
338
748
880
537
665
824
241
803
556
34
945
604
969
450
40
78
309
650
137
26
936
995
774
542
198
518
745
135
445
716
567
150
343
314
562
812
76
993
638
404
531
805
857
551
967
750
813
362
802
401
308
946
388
807
105
268
247
636
104
692
830
182
93
927
797
60
631
61
588
963
824
445
343
29
367
262
805
917
557
801
298
786
765
487
365
387
338
945
125
971
830
689
230
5
94
331
372
940
529
771
597
299
929
809
489
543
845
646
429
814
852
914
438
240
655
792
100
826
330
281
819
896
780
721
180
560
232
749
995
596
24
558
949
322
213
350
195
950
762
888
685
846
583
73
396
527
516
933
959
219
17
197
279
76
442
71
705
473
449
718
263
463
303
391
843
580
981
761
187
603
203
203
456
511
413
396
550
465
441
74
645
841
804
562
449
469
136
155
711
503
748
160
529
155
886
489
665
757
140
135
224
416
453
635
710
98
840
766
255
497
340
568
572
585
508
537
897
357
517
33
344
489
706
822
547
892
993
531
663
22
85
364
315
623
705
995
52
938
804
196
524
719
786
404
171
280
761
540
297
605
250
614
247
932
690
242
825
965
322
658
536
197
856
542
304
857
594
54
912
75
430
215
67
587
223
168
753
287
2
15
943
198
985
98
121
222
996
491
10
165
189
904
500
872
46
744
139
247
341
319
155
762
150
902
627
440
634
235
954
120
974
438
68
227
424
235
966
138
149
720
586
600
833
595
661
338
127
397
316
794
916
681
399
775
948
686
364
159
159
537
532
280
285
123
919
799
971
402
678
895
770
455
899
648
844
273
480
490
614
217
674
703
286
29
330
879
982
542
841
542
741
430
366
942
961
621
241
116
695
597
278
900
939
426
893
359
7
254
181
110
536
720
655
888
569
590
303
648
372
435
856
325
560
21
78
983
461
279
157
148
392
29
333
974
256
471
702
587
25
279
436
271
129
430
395
336
269
100
781
685
58
206
23
768
341
422
267
768
277
110
828
373
752
383
547
720
637
927
358
580
77
205
475
472
285
506
381
510
335
509
9
108
934
418
622
57
965
412
298
813
990
360
365
865
266
481
938
548
104
259
273
280
462
661
678
114
973
659
326
818
922
346
880
639
672
456
408
659
213
101
855
111
408
365
872
233
881
810
274
607
433
911
510
810
111
63
759
751
873
806
814
387
15
582
654
335
117
739
69
90
922
648
274
821
821
105
803
675
635
619
416
102
788
536
59
405
378
827
179
390
481
2
787
876
298
373
968
987
712
916
969
175
60
163
892
564
147
386
770
498
741
265
111
76
601
655
159
367
995
284
514
605
670
926
337
852
21
784
243
146
613
737
614
403
332
569
269
502
56
928
693
182
868
278
676
707
999
464
355
855
808
469
49
756
458
354
708
766
955
762
120
869
223
650
72
418
473
433
473
562
243
63
443
243
708
934
45
940
506
539
459
882
640
964
152
263
299
915
22
83
779
709
138
504
873
265
803
272
233
542
287
966
458
825
620
253
149
907
185
292
819
692
492
85
358
840
398
200
520
436
354
430
528
804
219
148
802
599
84
606
690
924
173
393
913
839
238
383
154
775
136
975
330
556
319
368
782
643
550
392
88
903
684
321
407
932
868
591
756
283
934
986
435
880
410
248
379
346
635
109
114
693
903
815
530
830
112
357
935
450
33
595
719
191
114
632
937
428
307
933
541
226
444
341
478
914
224
803
723
445
224
310
175
520
164
306
770
773
406
350
294
455
100
865
875
719
125
151
514
848
415
990
468
81
902
579
236
826
142
645
498
399
396
649
818
97
640
571
296
1
452
381
142
446
265
26
28
155
657
707
525
737
292
184
972
32
422
492
442
655
670
865
857
739
827
208
623
849
886
387
425
487
725
771
644
82
577
395
853
937
872
360
334
812
388
935
633
185
370
523
774
276
153
552
815
848
669
966
376
927
293
526
501
27
678
457
535
903
296
179
701
182
773
893
333
388
626
375
799
583
291
211
88
160
431
679
502
863
275
328
110
204
584
619
70
279
57
751
510
117
773
248
780
578
341
7
839
985
220
61
578
600
122
272
164
788
653
453
267
213
141
73
584
244
9
830
969
412
220
750
813
109
3
164
505
590
44
822
9
69
213
16
875
944
415
216
851
603
901
933
293
337
985
764
548
260
682
28
578
294
851
237
566
217
828
705
759
899
234
804
269
529
659
534
171
240
521
575
535
52
767
328
968
468
589
613
211
502
891
533
173
799
227
324
553
118
542
724
690
90
944
434
673
820
536
87
664
529
968
125
177
780
709
296
24
281
220
633
583
474
500
545
837
275
471
105
247
93
560
738
683
16
518
169
614
852
735
163
142
42
465
245
190
147
79
62
144
984
845
327
413
71
833
593
750
259
672
864
775
368
11
779
680
198
662
597
131
237
4
279
256
494
958
391
653
88
175
465
286
156
900
689
120
8
859
676
179
956
931
128
512
981
293
978
198
111
926
957
247
390
434
919
101
143
415
349
283
567
271
291
611
302
656
959
893
706
760
277
712
548
956
230
934
887
18
38
340
884
300
408
506
840
53
263
538
60
712
351
643
307
644
141
89
957
63
446
283
203
880
416
529
723
185
361
715
418
244
975
671
580
538
586
510
902
901
41
618
142
954
865
969
239
606
49
44
266
905
67
290
146
931
77
144
503
651
473
691
678
702
598
412
130
466
799
759
325
292
985
110
173
69
64
280
162
408
470
330
530
533
514
152
62
471
982
305
49
775
542
214
536
25
647
800
248
828
829
6
553
167
131
458
305
20
721
325
196
503
304
692
252
187
92
689
170
223
8
952
96
140
452
627
772
153
382
23
726
660
144
118
831
249
239
322
738
752
637
663
946
54
419
649
659
808
271
492
709
139
500
905
763
15
188
525
812
42
674
220
998
923
656
766
56
459
269
873
268
395
407
726
524
108
98
181
615
578
177
179
144
169
435
307
678
745
252
694
346
317
386
284
5
524
552
227
50
244
77
191
312
671
26
604
67
586
417
138
886
329
381
712
641
631
12
140
362
914
696
30
684
931
18
857
661
597
773
815
838
714
143
914
817
153
693
597
741
336
708
127
283
217
594
499
633
6
849
485
691
981
350
565
54
842
605
825
899
454
740
928
628
268
853
677
580
24
214
783
310
94
936
176
526
295
624
618
206
553
246
268
458
933
6
896
617
108
402
498
294
55
571
730
389
193
983
875
386
376
515
701
611
630
865
2
426
560
978
85
658
644
117
27
4
871
840
89
747
591
683
324
321
189
326
26
626
129
710
867
767
611
439
426
231
275
722
871
988
873
955
492
31
654
634
981
477
732
597
298
907
627
459
73
610
131
863
65
22
628
589
987
438
645
160
372
682
671
737
121
954
439
318
349
173
883
141
474
971
643
339
953
709
449
555
400
105
397
120
109
768
198
896
496
484
543
543
858
322
356
491
927
241
811
481
327
836
303
738
985
402
17
648
728
333
431
0
917
442
396
993
625
29
502
664
313
582
685
683
539
293
18
878
504
505
556
427
642
703
663
774
588
678
13
230
160
469
863
551
218
691
260
393
47
511
412
126
69
740
175
624
774
200
308
895
158
549
75
588
367
267
231
367
15
531
697
680
753
713
569
765
77
654
60
243
227
96
897
817
782
55
832
477
61
924
922
458
89
862
688
483
21
938
449
511
66
500
975
827
99
300
680
570
773
250
956
419
251
321
228
869
31
733
366
959
335
287
166
462
769
550
558
213
866
428
419
413
608
283
935
789
826
472
52
926
92
579
629
510
222
772
821
551
778
990
823
809
351
388
876
202
452
341
989
128
829
559
773
181
641
427
860
998
74
470
652
243
319
290
28
681
642
2
225
709
792
26
800
632
281
856
57
993
102
486
750
382
469
78
534
358
655
136
683
509
676
7
726
474
873
916
771
346
463
807
62
240
579
7
893
501
407
451
599
980
853
465
718
254
90
203
41
135
910
709
147
436
24
986
110
242
18
1
448
100
700
740
37
757
776
787
76
408
183
307
188
162
578
388
958
73
615
706
730
889
273
410
756
503
253
130
590
629
542
271
72
721
646
327
965
877
469
750
614
164
848
819
221
231
329
956
509
739
811
832
11
925
818
964
325
198
58
75
677
920
927
748
480
155
17
0
785
288
156
132
770
535
252
189
603
236
136
514
338
688
209
143
472
477
157
704
648
538
482
331
709
193
130
714
459
778
655
12
143
902
713
637
668
799
814
304
4
947
356
328
18
422
503
909
204
892
508
593
827
897
99
373
273
237
487
814
888
446
551
576
643
519
321
217
719
70
533
287
872
633
247
258
392
613
906
7
81
797
760
170
659
367
189
813
123
633
537
639
22
522
228
757
942
352
509
765
995
781
520
410
895
918
145
867
532
629
499
371
838
316
722
594
394
520
178
276
868
682
74
536
845
453
724
97
547
985
257
980
629
36
816
308
322
175
510
703
818
226
517
585
15
493
648
179
535
942
141
203
566
646
569
380
853
137
392
113
724
981
527
259
372
369
795
473
945
777
731
164
137
45
617
82
960
175
959
958
84
379
163
183
208
768
516
157
288
915
863
317
649
315
369
341
400
782
227
294
27
135
80
743
495
839
201
971
719
923
483
965
949
941
478
56
71
575
442
841
506
43
872
431
822
883
839
607
289
550
462
153
79
817
877
56
200
967
764
669
774
884
196
342
822
981
882
448
317
588
199
295
34
309
368
203
484
534
511
701
515
368
301
305
403
437
486
684
928
550
866
716
680
326
106
214
263
392
355
69
669
219
705
915
404
426
690
403
630
509
662
917
889
495
912
231
927
303
828
18
493
978
597
250
239
665
451
903
205
295
738
48
120
806
932
909
604
946
831
995
248
381
265
381
309
71
887
237
712
726
112
388
236
953
224
719
292
34
527
527
182
773
493
970
240
56
183
902
833
826
347
596
116
560
256
252
939
525
425
342
928
429
45
398
964
470
368
280
471
952
681
975
852
975
927
711
778
12
497
756
92
518
922
178
369
283
663
324
442
528
811
156
215
418
613
310
981
65
519
740
691
654
287
17
351
472
333
82
333
481
635
541
246
915
244
842
255
892
602
32
336
293
401
312
285
166
687
614
921
186
265
252
568
687
611
69
584
628
438
747
899
634
804
436
244
101
169
839
222
358
489
888
7
907
63
358
76
182
560
528
362
36
309
386
881
313
653
337
369
95
459
995
729
908
720
199
617
762
768
710
53
619
464
323
922
847
982
703
346
695
743
633
552
763
825
473
708
359
597
327
360
440
386
748
316
965
539
217
739
853
923
142
375
104
611
564
109
230
151
683
841
895
106
501
235
384
565
870
357
204
82
553
911
87
989
651
45
960
941
557
575
476
186
234
408
964
666
973
455
930
671
533
515
302
545
122
439
765
409
761
22
53
717
715
980
720
33
627
982
100
925
178
703
376
207
936
572
901
788
794
314
77
960
112
673
989
667
797
879
181
252
770
445
755
168
144
760
9
465
154
478
590
178
799
380
774
959
35
684
209
6
665
845
184
542
636
501
966
292
105
724
572
225
467
908
632
356
696
998
310
979
309
229
808
320
295
41
438
279
737
500
50
379
79
861
411
197
379
366
293
696
188
530
767
108
566
881
453
577
788
447
972
562
333
910
300
531
341
591
974
669
501
332
568
435
23
113
435
17
428
611
479
806
911
153
293
641
170
489
453
998
186
991
827
914
227
631
943
473
41
368
614
176
477
21
678
181
694
231
288
74
312
769
920
486
508
866
95
600
49
344
264
384
359
712
247
987
329
291
205
634
967
84
573
151
899
868
278
43
642
375
481
428
915
25
49
765
512
609
333
449
711
660
527
16
432
78
777
935
483
349
673
830
695
264
491
12
190
86
253
184
577
856
412
822
211
418
150
193
499
242
346
765
744
284
525
220
31
59
922
197
789
915
194
109
497
354
292
582
642
26
588
309
397
54
937
486
175
837
333
439
570
88
672
835
172
103
740
178
140
717
697
552
590
669
379
476
349
673
216
811
40
739
391
373
82
310
73
33
969
853
430
887
378
753
371
655
194
929
887
100
716
413
811
72
288
789
558
926
914
957
566
747
616
654
877
526
597
465
898
357
169
51
291
63
497
779
462
649
551
552
76
923
639
450
388
829
713
797
955
612
615
767
401
251
335
923
528
871
559
176
413
66
98
698
201
732
885
643
671
128
53
660
149
444
77
221
709
419
601
633
635
356
374
99
801
728
372
580
476
771
823
589
581
678
688
368
254
975
960
181
700
335
314
312
248
185
83
907
47
265
293
814
766
41
965
160
352
385
848
637
809
222
883
399
32
686
712
855
540
44
692
883
768
81
592
266
314
309
469
207
201
736
734
148
526
498
290
105
665
918
325
38
247
519
998
959
577
61
686
321
438
74
986
304
745
17
905
780
782
927
832
35
99
579
299
387
468
348
530
595
812
128
741
322
192
753
727
175
756
724
532
596
354
760
431
35
691
422
864
823
559
360
321
238
90
728
614
257
478
164
769
670
143
984
746
585
201
827
911
319
165
786
259
76
408
791
728
553
535
745
259
625
266
663
843
86
679
922
204
16
443
24
897
84
643
138
329
282
843
34
52
48
671
333
965
662
892
829
394
599
888
997
239
65
180
216
855
188
505
694
952
929
962
419
75
686
44
478
466
130
154
18
774
641
731
90
148
53
78
371
880
766
692
552
360
755
668
362
65
910
619
844
601
538
101
573
401
658
863
336
337
166
925
751
626
298
289
769
121
132
854
322
783
284
54
647
198
353
256
561
521
218
78
971
303
938
289
652
36
490
446
135
685
598
614
971
820
958
166
920
993
779
694
347
929
728
309
309
614
744
360
205
673
781
218
72
822
83
579
896
668
929
713
418
807
742
26
822
250
67
753
870
991
544
26
788
853
317
140
763
123
99
901
220
313
901
336
355
450
881
966
786
264
131
126
138
22
992
135
782
833
485
956
901
627
232
385
889
262
740
757
920
534
577
679
172
590
95
644
531
251
903
340
641
368
984
734
526
497
922
253
708
475
403
398
348
42
803
128
780
150
681
356
562
837
980
666
956
11
798
488
615
584
120
177
411
479
699
848
556
239
874
884
346
690
554
345
185
129
357
317
308
40
966
505
937
395
629
306
842
477
614
407
959
601
154
714
217
613
264
506
909
262
940
192
753
417
217
751
444
752
861
641
881
503
671
255
183
618
619
340
579
441
308
819
752
967
405
994
771
5
200
336
893
835
501
840
508
137
357
979
73
725
299
559
283
117
388
396
872
146
730
822
830
46
100
229
803
581
969
203
965
336
218
682
923
583
185
654
212
239
292
929
23
480
669
453
915
934
627
613
501
253
789
121
946
131
776
31
175
862
453
486
935
609
972
991
966
104
898
255
814
927
29
694
22
186
516
644
236
893
824
38
610
432
404
403
63
89
980
162
98
397
618
20
978
745
481
318
190
859
607
61
871
688
57
139
899
818
367
871
665
206
894
625
206
680
904
921
791
576
922
555
300
834
577
564
417
658
29
401
441
521
714
489
256
170
265
689
149
2
510
559
103
416
588
304
813
463
91
203
74
723
631
735
600
147
277
709
533
205
406
792
570
532
502
356
628
492
743
234
847
380
403
19
157
948
847
687
790
485
301
162
436
371
619
459
828
459
855
470
439
733
810
137
351
533
246
766
748
868
683
481
695
873
998
134
393
132
909
811
207
285
469
146
557
940
306
755
516
629
310
825
994
696
740
552
735
93
707
680
603
243
834
867
281
65
878
204
593
451
274
11
224
323
246
756
242
282
403
330
658
504
751
467
246
249
174
69
298
733
443
825
732
985
406
577
271
911
982
494
933
343
160
254
555
860
773
780
537
812
263
366
855
253
466
126
674
971
287
368
803
127
466
219
663
333
360
567
767
3
32
382
890
556
350
654
505
278
947
258
680
557
865
413
810
232
754
170
282
305
10
894
628
713
189
110
542
935
561
151
221
360
908
503
530
655
881
538
540
129
418
156
141
844
727
179
22
395
713
447
228
763
660
554
7
422
780
476
932
948
556
907
936
644
652
709
570
521
626
372
10
331
756
549
991
981
915
249
290
473
448
887
133
456
45
488
572
712
637
113
692
516
184
220
75
255
493
81
848
105
306
934
312
482
480
933
911
511
165
26
270
752
308
557
839
784
780
378
973
676
748
89
359
953
127
582
247
456
45
376
731
160
333
757
810
281
80
653
555
659
127
844
95
696
559
627
63
907
456
375
644
987
379
103
418
432
242
488
799
827
528
402
556
241
53
76
326
332
398
682
973
367
419
720
396
233
818
31
784
630
345
79
339
444
182
669
417
756
985
671
583
839
136
65
718
743
772
904
448
129
292
99
48
680
578
812
691
130
338
177
113
957
961
135
8
530
228
451
118
496
511
502
499
886
985
231
167
378
288
829
944
278
741
53
45
658
425
887
725
631
928
263
966
439
819
655
76
314
200
469
976
229
826
815
769
167
734
625
129
916
952
403
72
285
332
766
822
736
45
27
507
593
749
218
84
957
892
149
139
61
440
694
838
938
868
925
6
603
214
617
830
43
913
733
746
95
811
673
190
973
357
698
487
976
39
729
415
119
636
182
194
821
549
816
674
47
510
451
845
418
924
262
104
663
936
701
538
313
725
969
428
961
682
140
128
545
236
156
947
961
126
405
990
850
118
947
138
477
896
363
444
444
168
404
240
553
428
386
190
770
521
555
505
591
609
487
566
445
314
624
788
54
374
288
489
977
853
388
113
853
472
344
10
551
28
670
401
304
340
291
427
10
752
611
168
594
482
398
884
9
566
214
814
673
186
586
822
151
386
410
631
697
900
412
181
157
347
604
547
56
628
406
539
293
689
362
247
254
175
37
224
244
120
276
634
607
709
163
574
64
246
605
185
650
153
454
943
812
118
752
116
924
239
989
198
490
399
884
977
126
759
504
79
309
816
559
679
556
567
753
339
165
283
376
238
502
907
816
536
754
113
359
127
36
924
427
835
546
465
184
142
670
753
794
357
819
869
275
481
170
584
653
199
37
474
866
315
861
774
122
717
729
55
935
416
211
852
354
278
455
177
527
199
590
263
678
193
424
454
658
701
740
112
622
516
557
821
105
198
970
803
69
155
605
194
16
179
990
796
932
762
199
965
500
409
715
526
813
472
926
294
109
527
167
638
414
980
194
281
131
259
724
262
371
895
929
451
291
196
855
767
171
40
558
105
850
417
36
756
504
174
983
473
63
985
157
226
169
641
177
656
74
593
4
402
437
692
455
415
176
203
138
402
116
266
649
346
853
868
223
85
614
910
242
265
366
779
422
841
40
795
81
77
747
500
763
14
752
682
282
669
838
260
503
234
498
600
479
84
549
899
741
341
2
359
491
634
185
534
684
750
16
713
744
247
615
150
658
525
788
811
251
400
301
974
9
488
247
301
896
574
574
16
625
250
805
72
273
513
740
131
472
658
725
208
644
100
206
453
414
270
980
433
292
538
55
822
465
411
131
717
640
37
143
764
107
41
404
214
118
734
784
96
433
312
777
431
740
768
163
713
260
316
681
635
69
780
746
243
524
116
170
937
180
714
965
676
925
809
414
732
573
415
986
104
805
287
507
805
198
4
741
695
331
659
187
58
318
298
312
41
436
34
1
947
321
979
354
562
115
882
192
110
53
806
232
33
713
992
943
849
334
49
839
250
399
225
876
211
42
674
476
811
180
505
628
600
633
925
690
29
850
411
445
728
371
605
64
52
610
878
78
47
382
863
597
888
963
196
321
686
714
684
156
235
250
93
87
940
442
748
286
459
987
800
186
307
441
511
279
179
908
464
407
122
58
465
666
681
205
860
763
598
430
435
858
570
973
355
368
562
335
861
979
53
149
621
346
182
188
299
560
373
442
61
955
589
142
897
913
980
70
792
386
104
536
179
951
589
20
98
565
685
614
494
878
850
384
608
249
751
360
839
421
380
174
888
980
91
795
863
903
939
744
568
268
469
721
717
588
68
771
673
175
696
736
262
362
899
753
155
863
830
756
364
921
796
35
136
472
472
389
526
576
31
315
461
112
750
235
942
548
690
350
144
247
243
331
713
621
75
280
851
186
279
603
680
345
946
422
581
522
150
53
26
791
119
517
45
637
721
349
354
915
236
373
474
413
426
77
503
714
273
849
865
69
128
231
488
461
937
552
389
371
433
961
594
878
825
722
63
489
738
127
67
296
835
362
814
949
55
690
778
46
926
513
869
719
841
401
608
296
585
27
24
749
948
837
916
298
111
450
294
750
466
145
404
280
694
243
27
889
342
736
655
669
940
900
440
719
533
248
900
490
188
803
556
642
655
714
521
747
725
466
638
69
802
620
833
762
526
325
919
736
411
489
383
76
101
649
286
877
452
545
931
784
907
888
656
701
407
421
222
394
618
680
242
428
842
614
228
445
72
228
893
722
82
731
895
11
957
384
503
793
166
427
362
769
142
88
956
864
743
524
438
38
29
594
969
469
452
915
237
738
845
931
307
563
262
718
318
488
231
611
231
14
116
845
267
746
865
956
348
935
380
743
170
120
69
864
943
40
603
314
472
432
505
741
815
791
906
346
916
606
951
397
814
401
914
647
375
917
286
325
417
176
743
83
329
241
824
157
425
366
631
782
582
678
111
599
645
819
854
212
631
271
692
518
916
258
506
823
95
96
251
288
69
98
587
24
569
685
853
22
746
313
149
808
645
685
300
344
624
569
721
944
129
333
991
825
471
919
253
120
80
143
991
619
49
743
873
127
713
190
548
212
484
725
7
715
532
613
603
748
783
777
724
834
305
64
89
599
522
224
747
637
352
316
618
696
29
689
2
905
909
624
923
569
752
641
261
276
250
309
885
417
302
244
225
325
99
489
565
217
854
968
23
177
668
654
845
658
281
857
355
697
807
790
173
168
581
656
341
307
785
533
477
85
391
881
223
589
664
748
367
886
333
185
468
13
181
141
50
848
458
913
503
701
802
16
540
11
144
364
816
819
890
725
804
397
12
656
624
867
570
438
707
411
417
787
813
546
477
784
99
542
492
253
93
599
949
808
730
739
862
360
360
848
898
765
611
243
624
876
140
6
52
477
185
349
892
215
715
447
220
657
210
282
242
998
624
821
522
95
176
489
626
101
290
371
261
571
131
789
557
372
246
434
699
354
670
596
673
205
373
856
691
666
162
605
734
606
873
77
261
463
476
155
319
875
182
850
175
194
987
284
247
900
408
192
697
116
122
933
412
528
124
700
977
214
218
687
897
446
646
821
987
181
288
283
615
448
593
979
347
514
686
233
492
327
919
469
792
918
578
80
66
359
587
163
613
21
419
391
675
912
786
765
325
898
589
135
821
733
508
538
296
620
522
919
509
809
685
719
497
572
277
615
74
483
260
706
900
155
452
74
878
939
161
216
149
347
128
568
1
861
558
365
563
804
713
114
43
566
109
366
416
717
558
889
435
267
858
989
773
766
548
670
461
234
620
432
75
70
585
222
310
978
939
979
652
161
590
720
506
47
10
532
764
8
636
466
454
977
859
384
126
95
610
606
938
707
548
376
841
27
645
141
205
643
10
435
962
485
757
478
911
715
677
899
560
145
447
225
665
114
304
299
176
325
808
431
108
706
37
752
27
24
33
335
24
188
945
889
410
289
70
825
634
190
634
795
438
68
601
430
890
616
530
69
964
330
15
732
902
586
585
884
909
760
246
748
539
895
16
872
311
321
854
579
191
21
598
836
209
37
887
652
390
958
330
826
768
230
462
717
413
162
452
971
997
844
101
69
599
887
558
703
524
581
935
43
135
603
319
214
799
181
304
809
659
353
828
954
334
693
329
39
758
202
246
761
150
415
631
48
494
294
99
752
428
988
65
831
166
651
633
985
597
54
3
853
976
201
780
270
997
522
82
383
105
108
530
536
503
915
301
360
93
582
231
338
837
718
717
114
589
347
139
144
267
246
170
764
688
276
739
294
983
631
602
558
378
107
522
886
48
828
407
25
439
71
597
665
34
581
461
735
117
646
261
26
963
713
92
892
338
665
279
950
512
952
62
856
908
66
306
965
890
18
93
609
843
193
355
662
52
217
946
338
109
647
726
728
449
566
298
585
415
817
713
167
931
374
45
103
416
279
376
954
295
783
499
801
430
404
409
308
576
501
267
47
368
664
59
911
695
480
751
825
245
614
407
435
377
702
668
928
90
145
266
231
246
466
291
992
483
114
656
983
142
573
824
503
197
412
160
994
816
343
967
533
84
660
372
8
150
35
714
228
389
238
104
127
629
711
2
120
505
914
409
149
222
778
397
573
948
259
935
290
274
437
124
284
454
218
749
366
567
514
361
714
270
976
835
457
944
154
300
711
865
312
569
314
508
618
920
255
763
758
673
917
167
136
417
218
778
736
6
219
84
394
552
679
722
45
738
415
670
907
71
70
956
833
283
483
747
863
950
589
194
832
61
792
728
303
506
657
856
6
15
408
860
166
424
971
519
984
61
74
574
91
446
489
585
1
640
942
8
491
727
45
505
541
762
819
710
648
756
919
516
98
208
274
221
405
729
202
294
618
38
475
234
937
780
709
503
335
65
998
549
55
583
149
337
426
363
963
102
864
612
511
678
869
517
264
64
812
205
408
250
379
666
310
518
860
773
899
23
663
973
592
97
356
710
41
957
661
804
650
348
702
972
911
230
551
447
851
236
225
408
697
442
43
118
857
22
314
169
565
69
265
115
401
296
143
69
661
961
766
240
486
956
857
82
888
932
504
870
999
394
122
253
614
989
909
580
797
742
209
246
671
727
47
263
361
584
969
814
670
479
144
831
884
481
627
484
835
334
946
674
822
240
249
695
636
874
11
830
770
240
600
104
834
935
407
773
105
546
202
468
939
4
684
918
45
107
919
393
53
432
347
712
727
211
520
745
242
655
0
126
256
847
909
159
69
86
516
341
116
65
873
120
601
74
145
599
783
110
862
959
25
665
311
314
526
743
692
243
122
452
776
39
487
652
921
492
67
480
506
389
926
376
69
622
977
712
960
880
659
885
206
105
240
805
291
973
883
623
21
726
226
762
608
463
546
46
52
160
468
818
783
416
279
469
844
262
799
503
772
122
251
802
690
176
818
82
206
252
183
117
665
435
170
207
880
137
138
136
526
819
761
425
358
267
946
561
652
743
614
128
861
286
686
283
895
580
929
297
435
666
422
845
740
22
671
637
259
538
578
606
306
623
611
622
619
477
289
598
679
543
737
842
703
939
57
776
960
968
155
906
536
855
508
385
734
70
22
276
88
53
39
116
940
992
523
403
519
139
495
989
922
228
788
811
884
800
458
106
492
413
648
860
735
580
441
677
7
594
42
623
63
880
892
22
481
55
359
874
96
622
925
632
618
884
378
865
489
475
899
2
222
323
178
192
619
859
44
764
131
359
106
443
575
15
659
755
865
747
529
549
490
1
680
997
802
714
893
911
230
540
446
744
804
57
984
219
789
981
799
327
542
89
526
37
913
334
279
566
263
625
663
638
678
109
447
679
274
944
891
495
325
938
630
570
531
683
581
142
775
722
291
369
79
803
77
582
181
669
39
955
208
74
523
862
950
791
865
998
780
75
594
330
741
127
50
638
635
799
428
832
218
884
30
698
4
863
615
655
991
471
956
30
892
467
891
853
336
174
944
26
740
230
332
855
491
186
925
67
680
389
315
429
872
180
360
389
307
715
792
178
900
209
476
584
97
232
582
173
429
138
500
0
720
823
795
377
46
417
188
812
956
937
570
576
293
725
795
647
622
265
929
576
30
287
933
975
355
686
388
825
126
251
453
281
938
287
303
232
884
870
374
372
788
322
878
161
872
548
297
707
708
666
709
18
634
162
258
440
949
377
891
254
514
249
467
610
189
122
703
213
239
646
669
512
248
680
832
601
103
142
77
661
247
275
18
815
501
645
591
486
835
285
523
80
389
713
836
145
32
527
543
723
157
814
311
300
814
695
504
173
207
123
493
702
64
273
70
837
89
285
634
564
580
145
133
152
332
390
606
934
710
535
457
888
57
111
733
292
818
147
814
216
179
344
139
241
945
680
226
399
567
743
940
36
574
887
958
525
877
898
545
126
303
624
854
47
914
964
308
343
308
862
183
761
796
185
289
726
666
372
508
221
127
89
456
619
690
363
900
551
924
13
276
475
589
459
156
386
700
66
140
110
608
580
757
276
997
775
1
653
395
12
472
75
907
914
495
393
890
184
383
186
903
80
792
623
156
138
889
39
390
379
7
793
377
753
800
74
554
595
431
896
109
516
28
903
764
249
170
422
0
581
910
839
68
307
415
236
181
140
587
614
760
957
516
507
473
387
25
800
915
598
701
435
246
539
98
705
703
235
632
890
259
434
776
109
497
533
898
809
196
305
954
51
948
206
773
934
280
832
523
631
639
372
477
288
964
129
723
642
914
293
773
389
759
399
502
375
937
773
86
181
696
404
669
381
187
608
316
223
636
158
583
533
383
338
966
37
634
819
477
401
19
682
181
824
811
492
644
268
628
879
224
627
909
971
693
436
501
639
541
549
436
377
805
790
530
168
677
891
626
183
216
110
185
613
546
294
305
356
277
568
551
753
358
84
186
685
999
584
704
285
258
428
511
658
758
532
99
623
169
894
129
789
759
242
432
555
179
499
653
561
857
728
913
836
496
15
449
23
804
236
378
214
731
367
296
446
211
298
692
265
774
379
352
85
714
919
95
6
805
573
610
372
249
391
881
771
411
718
504
776
496
661
472
607
413
135
529
203
955
921
104
716
13
345
8
612
867
117
820
290
497
820
717
178
19
191
568
913
615
526
991
686
869
848
348
92
526
574
511
544
311
319
833
447
874
437
169
549
215
841
799
43
125
82
928
858
96
943
381
822
19
772
304
719
123
233
866
868
142
565
813
288
24
439
12
766
556
2
19
260
279
651
969
671
817
675
400
922
77
976
256
22
654
370
273
928
699
662
466
963
338
17
973
430
200
302
897
65
292
491
764
102
128
710
750
500
832
328
56
231
554
972
847
664
219
139
246
471
354
27
49
295
585
576
424
411
672
758
744
756
309
801
891
581
5
195
851
921
567
920
783
438
945
499
836
888
594
942
938
749
48
536
592
811
676
314
242
859
270
673
107
239
368
923
812
411
773
570
725
588
864
192
68
803
615
48
8
369
617
244
297
829
619
593
678
804
845
539
249
793
628
145
383
625
30
387
81
542
423
272
157
630
563
47
480
463
849
475
445
987
403
19
581
125
493
859
496
536
861
146
170
606
787
23
240
755
781
60
747
493
681
104
250
490
521
438
548
148
985
948
642
839
19
846
321
868
924
227
485
614
861
162
329
630
123
277
720
203
691
981
363
695
394
440
19
624
764
184
710
351
394
247
42
645
30
299
950
416
304
617
965
921
405
311
994
703
671
671
69
987
208
551
128
695
365
843
80
855
168
252
879
705
411
63
782
701
823
727
365
618
198
783
990
770
214
135
563
197
560
219
139
403
42
967
767
710
551
58
553
547
354
560
101
581
778
914
533
321
832
206
46
528
666
84
512
756
235
255
793
818
833
387
389
113
919
514
638
666
36
13
680
334
877
930
734
453
689
938
988
210
404
599
110
412
746
668
587
552
679
955
600
905
622
927
956
748
666
496
751
488
810
561
802
75
382
831
662
274
529
291
862
858
177
332
906
354
950
146
33
19
799
770
46
711
155
308
529
299
6
665
573
820
997
447
408
985
236
613
288
154
617
228
563
773
538
941
708
609
482
499
593
577
352
698
80
178
538
862
686
164
17
971
807
917
886
152
921
595
531
856
481
679
860
464
427
401
731
114
336
112
810
499
522
139
907
504
43
740
832
475
240
548
957
619
888
334
995
300
167
388
142
548
636
999
457
61
228
81
214
759
448
942
8
321
511
356
902
245
875
921
546
491
367
454
891
358
783
986
31
673
495
572
784
643
624
990
399
528
7
399
781
276
103
918
548
976
478
579
186
44
314
323
581
585
790
904
864
346
793
570
773
579
437
394
812
626
945
313
550
969
274
896
890
556
859
126
455
983
298
829
425
782
573
994
537
483
507
436
969
307
477
878
281
294
961
192
158
600
237
901
648
245
857
126
765
193
72
763
677
748
225
128
274
552
420
60
371
377
318
316
898
479
445
492
99
742
782
75
894
288
355
360
689
474
369
52
856
683
990
520
63
896
804
644
456
116
975
156
31
160
302
786
419
766
437
556
718
342
671
1
903
688
929
448
856
264
47
219
744
637
919
449
914
6
683
311
856
369
956
1
872
561
525
588
616
215
381
120
26
893
664
240
112
715
953
725
421
218
727
156
183
779
958
94
858
886
266
85
504
818
184
746
279
221
715
237
18
811
611
195
247
712
999
554
541
710
161
995
813
591
525
625
448
815
777
805
400
856
219
325
642
840
696
212
702
578
238
45
590
950
777
882
240
246
60
264
159
955
316
220
23
513
693
605
718
312
317
571
81
132
305
348
730
966
410
520
358
327
158
453
876
649
793
654
114
529
246
770
747
784
686
50
871
539
704
952
889
714
263
534
818
715
156
331
706
291
353
487
560
946
27
734
966
443
180
431
209
790
466
56
479
448
557
436
636
399
408
2
744
895
776
426
72
72
928
544
258
477
349
397
766
433
797
375
577
426
743
274
521
478
498
814
510
914
710
271
297
277
258
877
464
799
397
627
689
409
525
34
251
678
52
679
526
435
248
283
51
470
637
285
721
359
3
23
801
951
639
723
138
54
619
787
507
870
781
760
993
938
310
31
467
534
868
435
988
744
243
166
61
391
742
249
782
591
546
37
662
81
994
915
332
959
744
90
412
303
437
521
490
629
404
206
354
76
317
777
348
176
173
552
981
621
39
766
64
515
512
269
333
372
758
972
115
964
459
903
600
613
499
48
498
545
657
752
75
211
230
534
268
48
509
565
957
585
982
572
338
148
250
49
924
286
588
359
715
455
122
493
371
15
780
469
98
910
145
679
486
10
907
230
799
703
302
658
264
360
326
274
251
720
731
837
77
842
610
710
456
763
90
48
459
705
928
984
345
44
206
412
669
630
102
460
264
857
887
899
751
913
235
600
773
551
208
16
455
532
85
346
960
984
558
359
228
488
37
92
733
847
492
702
940
406
68
93
480
667
138
133
475
180
327
169
779
539
892
176
543
218
633
59
158
810
389
161
216
616
152
44
957
608
958
636
624
96
950
843
977
640
328
188
386
528
348
716
663
495
709
424
993
476
362
951
683
11
112
535
897
448
419
641
574
869
48
676
687
782
603
648
706
43
597
841
743
887
591
499
680
477
78
820
169
344
772
15
807
414
564
330
722
21
646
206
475
772
162
427
327
97
628
776
301
379
23
189
697
559
256
28
451
349
702
601
134
267
922
166
108
184
78
30
20
321
689
630
869
306
609
153
963
760
307
675
345
871
133
773
14
292
72
213
192
850
878
948
527
143
6
536
425
825
47
96
391
738
941
985
520
660
446
551
825
394
495
129
670
242
884
892
220
38
525
173
266
382
502
173
360
484
446
352
779
217
489
563
412
861
578
247
948
613
982
940
567
580
110
833
317
377
536
0
15
719
966
359
621
851
716
376
199
467
91
858
607
410
611
505
539
968
373
160
241
815
355
548
156
4
864
251
742
400
681
16
476
122
364
714
837
808
5
661
761
507
446
609
12
389
542
337
896
99
876
534
525
57
115
925
832
310
487
912
959
462
520
168
820
629
580
611
813
933
657
129
825
743
481
995
877
250
291
964
54
41
678
695
67
304
289
860
976
748
728
47
792
744
427
16
150
219
821
784
209
5
381
670
325
815
223
462
732
342
722
711
349
918
63
876
104
182
719
864
57
359
954
354
918
707
398
821
949
280
835
136
903
514
286
533
655
310
1
329
45
147
939
21
9
624
151
892
483
540
638
473
981
11
396
290
915
448
588
346
719
883
361
800
833
204
804
461
758
739
921
503
984
768
880
630
603
891
7
739
111
882
65
690
745
989
832
191
881
158
468
493
233
750
789
762
839
401
366
357
344
119
75
330
527
405
130
41
12
790
102
467
667
170
73
998
968
672
74
665
625
714
242
676
112
161
350
680
0
976
656
688
434
77
724
360
381
397
497
416
470
746
348
619
874
577
160
357
78
199
149
529
530
639
248
886
139
804
90
166
263
689
673
315
804
134
564
107
794
648
330
387
905
651
536
541
674
263
522
42
241
887
910
22
25
755
441
38
732
317
514
671
513
122
210
308
783
980
70
326
556
456
84
565
711
800
470
968
210
971
146
849
932
644
104
25
165
799
38
58
805
95
983
611
206
246
313
678
426
535
420
45
715
446
254
53
597
468
232
687
943
855
713
633
442
542
328
129
94
703
176
748
939
173
111
925
347
345
528
409
504
188
774
619
413
78
578
585
198
973
379
602
221
286
818
251
721
118
647
838
802
411
519
500
537
923
223
531
823
104
675
457
560
859
213
446
946
986
583
495
993
442
916
587
652
720
752
647
175
412
978
908
192
238
683
752
261
381
601
392
250
329
876
51
984
241
278
497
139
762
977
594
764
599
779
155
513
414
900
902
327
829
63
669
678
320
25
669
706
619
581
822
746
716
667
244
350
5
262
154
519
235
640
893
648
207
518
464
631
607
705
484
719
138
970
609
549
324
420
326
153
559
844
630
150
194
11
341
616
771
592
93
444
578
740
693
304
508
147
630
330
103
466
855
964
275
127
91
651
7
286
367
45
97
57
912
146
312
220
963
735
734
48
858
371
944
146
464
970
535
918
958
825
624
440
413
97
92
318
971
310
832
87
995
838
978
915
776
652
164
18
384
417
284
207
199
719
299
569
874
328
912
370
710
491
556
520
594
324
926
33
732
315
194
191
403
52
629
5
609
460
913
582
759
519
545
441
247
467
234
189
990
412
416
187
810
247
985
530
16
563
812
840
646
146
133
66
163
559
797
797
403
417
487
243
776
360
40
701
765
667
640
882
267
595
794
769
123
34
394
688
551
275
458
767
593
110
184
649
342
578
151
578
59
177
698
686
813
120
608
319
724
307
57
71
396
779
782
94
187
664
640
414
859
343
58
547
413
503
479
300
615
284
232
561
183
685
196
344
629
466
970
55
738
779
43
281
194
636
360
336
329
543
328
203
854
410
878
436
5
174
326
96
929
696
505
225
976
871
316
29
147
794
737
578
609
30
165
705
42
894
430
586
248
22
160
757
410
945
622
634
978
984
506
159
155
698
927
684
977
91
300
157
565
153
12
534
207
318
182
12
312
73
221
223
455
873
342
78
931
39
423
184
111
601
892
923
151
499
998
621
708
104
686
40
253
639
889
957
256
124
243
723
443
863
859
536
934
267
741
500
121
963
597
888
425
230
822
94
385
600
183
603
401
861
548
158
755
938
228
425
85
941
426
584
663
510
591
350
817
726
143
453
489
735
652
961
814
974
467
507
173
374
35
754
616
214
769
47
825
102
92
112
433
47
926
481
797
962
498
320
156
562
519
857
925
403
502
132
511
433
333
895
415
39
808
443
220
870
648
326
75
654
116
216
647
218
420
695
992
798
817
802
469
42
609
705
389
775
691
9
524
686
436
741
24
875
540
273
79
531
998
49
221
411
110
388
662
618
862
224
886
625
278
508
924
446
559
445
581
78
121
95
315
390
324
853
650
738
521
619
615
413
763
621
940
484
104
95
769
611
560
910
422
558
439
575
468
531
838
886
46
557
602
931
258
305
849
80
613
32
891
267
194
993
843
764
520
120
126
783
595
704
459
539
808
970
953
469
107
641
640
206
249
503
78
21
269
907
310
505
791
895
704
442
9
379
928
522
809
347
88
777
5
639
176
96
487
290
799
824
241
2
4
834
187
424
237
854
904
660
345
131
744
78
614
501
112
432
189
481
652
825
234
560
40
652
740
909
68
785
145
34
306
159
59
888
462
224
446
299
686
349
669
675
743
371
45
330
762
459
392
549
411
171
436
428
839
109
486
165
289
881
446
384
212
157
493
348
316
718
541
186
537
772
848
201
43
197
361
263
533
651
175
886
631
698
250
75
949
460
538
410
568
246
881
804
567
870
757
813
90
697
246
401
108
830
591
234
580
23
686
391
813
419
925
405
28
546
665
412
438
769
989
317
949
768
407
215
7
715
359
896
679
773
197
673
377
686
23
653
699
514
107
469
123
40
948
564
978
284
181
855
758
326
312
982
117
814
917
661
680
753
798
587
973
147
232
290
497
735
699
241
629
631
959
567
15
712
186
211
784
513
553
105
481
722
620
800
511
547
326
92
457
523
281
278
984
270
932
7
929
168
382
902
164
417
464
750
26
114
629
79
129
505
886
60
50
600
190
620
941
77
954
537
948
426
890
211
15
298
28
26
721
681
993
594
171
679
608
328
926
123
935
327
54
15
60
194
90
697
260
440
594
32
168
76
839
463
737
613
185
756
621
945
302
163
43
382
713
116
883
969
334
273
993
709
121
910
491
608
894
297
893
130
932
90
846
478
741
278
615
836
988
751
410
840
538
786
785
619
378
160
935
324
117
58
546
493
383
900
280
739
484
325
904
177
475
826
178
713
786
610
986
889
814
668
832
958
379
918
343
33
928
389
369
115
658
781
664
447
570
680
629
282
263
124
525
162
630
76
636
273
629
586
539
248
735
638
256
98
525
61
993
726
129
630
678
560
675
620
393
774
785
92
715
46
621
309
666
614
104
819
263
563
999
794
128
812
63
935
163
534
866
389
205
523
34
758
974
585
72
335
240
755
371
431
278
164
14
92
531
956
424
40
885
599
862
209
129
333
343
65
366
610
281
134
235
833
716
725
335
81
939
283
61
666
259
159
317
905
475
443
520
698
350
87
563
72
120
109
525
5
706
104
915
51
484
879
181
502
395
464
708
444
235
544
752
812
66
732
483
607
69
557
295
651
652
807
778
462
255
405
868
942
318
234
926
465
535
747
419
78
388
797
860
86
634
972
6
730
790
836
474
870
344
803
214
845
830
806
565
924
207
466
526
812
63
575
975
316
62
582
979
448
567
826
693
91
767
870
543
584
919
640
878
717
808
626
461
382
39
607
473
506
998
672
142
432
322
193
367
961
267
274
438
137
604
858
154
218
98
919
871
66
287
647
742
101
839
808
473
238
759
63
56
140
296
451
24
870
50
684
438
462
293
166
260
475
309
96
580
49
837
877
941
413
347
549
478
302
859
807
301
223
336
913
256
419
186
361
307
481
918
152
148
282
978
605
409
18
57
636
631
222
226
119
945
189
571
570
388
315
338
964
128
112
749
509
955
731
530
915
400
117
907
699
674
190
317
202
624
697
613
112
300
679
482
514
262
2
109
444
382
730
109
111
628
113
563
20
444
344
461
59
675
541
733
152
864
44
577
316
654
683
28
872
745
618
296
803
640
182
156
656
978
439
826
527
369
888
352
715
70
736
913
659
778
171
316
565
375
904
187
68
411
654
508
632
571
773
964
804
705
560
110
645
844
862
997
203
322
269
520
491
316
215
299
663
218
392
792
608
737
630
672
903
430
195
404
257
493
802
995
511
863
50
592
317
846
762
16
712
646
486
278
174
154
573
870
590
903
671
933
289
375
95
588
666
759
686
995
731
263
907
324
234
297
46
185
196
685
161
547
956
788
235
858
528
204
910
142
318
17
970
501
327
929
768
442
480
173
726
522
750
798
746
498
560
659
517
881
496
64
106
428
724
459
493
83
358
676
891
224
472
517
592
70
257
404
927
607
817
815
907
930
473
17
108
278
303
720
257
317
441
480
421
57
860
570
158
213
383
880
602
586
270
270
153
377
797
463
941
762
177
271
799
985
384
694
839
867
905
39
100
874
656
519
624
607
457
610
483
216
707
860
349
649
117
499
190
664
377
955
739
587
532
872
190
450
379
592
576
97
46
669
886
207
798
567
488
708
632
453
902
538
130
957
683
600
131
411
188
797
159
536
990
55
213
569
946
391
420
727
414
150
834
52
651
64
152
183
471
626
39
206
810
616
177
445
459
378
928
686
437
119
702
669
801
871
170
978
376
755
479
999
369
649
264
886
647
5
949
573
162
121
606
845
654
229
211
542
4
938
436
608
884
471
283
367
97
40
999
695
156
29
72
22
231
684
566
937
575
818
651
116
124
740
624
404
731
366
998
134
412
778
479
99
273
79
476
198
784
545
612
273
306
474
193
124
115
660
372
920
783
435
17
148
970
464
997
636
478
881
42
598
649
659
672
711
734
904
220
617
474
940
521
638
830
45
984
447
362
482
225
455
897
562
213
110
638
943
499
516
431
505
46
328
174
49
453
968
38
144
131
497
966
583
235
197
571
494
540
245
119
179
402
903
239
739
918
491
747
399
879
929
878
811
647
93
460
931
758
402
334
321
203
451
180
844
940
982
321
672
863
324
50
596
384
269
528
110
471
225
385
155
832
927
37
652
967
63
344
280
114
236
223
929
537
138
818
739
872
647
767
723
350
645
126
980
923
945
912
291
479
298
705
829
305
885
235
870
786
251
874
261
454
701
786
517
103
770
275
82
684
377
665
693
271
933
514
59
248
819
174
191
593
376
493
927
823
509
101
926
240
467
492
109
202
980
90
371
296
222
847
350
752
21
474
12
629
856
95
441
215
283
969
896
715
709
837
748
251
215
610
796
943
57
251
821
907
439
628
636
208
285
711
686
896
568
784
667
598
486
289
266
521
775
671
899
669
315
279
372
904
540
274
979
270
657
90
401
523
784
895
356
437
274
251
589
708
155
500
731
833
847
550
250
964
697
658
35
858
811
478
410
133
871
949
199
349
688
675
252
21
178
512
927
522
673
993
635
250
693
569
675
34
229
212
693
400
979
293
674
512
98
474
544
368
981
914
291
861
971
18
803
238
10
96
850
839
779
95
889
55
380
281
661
611
240
103
516
371
92
644
481
525
539
721
754
530
616
659
503
253
549
385
16
141
271
990
136
248
476
373
628
948
985
467
195
545
221
99
483
693
87
737
739
945
316
994
698
727
573
734
202
430
6
981
144
613
278
335
930
863
393
949
160
890
765
308
415
476
838
705
752
951
142
798
432
106
387
49
610
581
386
768
834
688
615
108
863
216
54
180
673
523
904
660
452
873
143
612
677
122
496
844
160
928
864
248
314
238
487
883
282
913
989
881
143
880
586
422
568
514
215
621
736
29
359
520
261
391
325
197
856
354
749
313
534
48
162
850
299
940
406
640
830
219
305
208
828
154
503
13
126
540
679
536
727
345
113
297
568
827
998
751
686
909
588
618
512
420
247
385
232
517
566
743
139
309
668
271
439
930
66
724
802
902
859
536
214
252
32
526
218
360
45
40
369
982
514
78
646
701
997
995
231
395
882
31
321
723
587
701
120
164
76
117
784
451
166
110
280
78
642
472
992
239
721
862
329
477
77
611
790
966
532
456
772
840
485
566
890
836
783
106
106
872
340
271
937
516
419
999
536
354
847
927
346
135
473
68
306
728
289
584
599
834
216
457
38
786
215
902
794
720
417
91
899
106
609
507
32
756
258
750
30
581
54
961
478
689
702
333
544
81
625
276
780
102
399
696
361
108
317
6
810
647
785
794
60
292
938
723
672
49
363
443
771
420
464
427
507
962
27
943
568
335
520
832
692
265
817
846
210
664
514
341
415
579
634
61
489
691
75
354
344
570
792
103
388
274
75
966
289
574
953
903
391
126
739
971
734
166
658
592
106
577
996
547
540
708
959
937
112
559
835
222
690
371
246
144
627
712
56
903
454
94
567
995
734
578
388
285
244
883
118
773
706
951
548
663
328
755
52
143
401
577
769
547
150
567
937
731
598
74
306
120
378
134
300
894
581
814
400
330
798
987
229
815
782
310
388
735
291
870
297
563
182
663
972
59
900
690
105
598
725
923
777
897
955
141
485
635
214
58
997
630
355
864
60
618
969
670
374
223
114
454
708
834
763
639
741
250
305
686
156
249
295
423
801
218
810
776
529
809
533
554
111
717
360
81
682
657
890
186
206
974
836
338
991
430
234
932
870
630
257
994
64
269
437
719
342
649
614
149
985
379
644
929
33
514
898
591
125
885
428
525
347
976
178
53
37
874
97
66
684
597
711
433
460
372
892
9
534
361
643
468
617
109
329
706
226
247
878
665
900
810
40
861
655
243
253
991
177
51
352
999
535
838
702
333
392
155
632
108
189
813
199
340
563
337
646
304
68
89
995
750
878
226
303
284
485
544
92
596
651
106
760
418
862
37
16
450
153
360
946
374
583
861
998
588
220
491
841
964
803
97
96
727
894
617
273
617
533
99
736
874
855
933
776
815
59
36
907
585
941
657
125
456
993
147
760
305
458
679
777
881
472
869
358
888
650
493
1
48
991
659
739
192
258
822
186
63
230
479
70
129
120
225
143
734
787
423
670
115
650
974
621
262
432
962
240
456
426
66
29
903
779
39
923
362
36
963
710
291
143
926
520
759
776
165
986
756
219
343
391
953
43
929
255
863
305
360
594
195
43
8
449
590
76
954
560
489
569
432
752
902
269
577
22
547
250
703
460
193
362
983
380
563
225
214
253
122
180
143
519
376
215
251
533
536
749
306
807
459
556
226
201
604
292
741
319
236
343
96
866
890
512
424
224
42
217
817
249
712
629
577
263
153
649
897
571
985
344
547
910
896
451
845
262
260
370
485
638
597
290
697
102
232
971
313
650
622
74
651
414
732
905
90
143
587
812
514
766
623
906
606
9
641
284
826
95
31
907
530
554
455
753
748
321
962
43
951
130
787
341
16
390
282
664
845
176
849
619
918
357
976
327
653
3
765
357
948
147
900
53
208
367
189
229
486
13
548
233
330
654
347
16
390
891
432
40
451
911
253
304
544
687
893
930
391
447
495
584
295
632
982
331
310
224
505
245
787
208
114
555
992
683
510
853
453
385
922
392
928
198
650
904
107
558
1
458
801
543
760
339
601
26
825
688
193
364
115
631
783
161
996
654
24
736
205
437
909
106
273
446
268
634
724
360
131
235
666
839
331
222
906
841
458
853
126
967
966
936
597
186
70
196
91
284
605
41
29
671
345
6
787
704
995
215
295
694
488
103
656
96
531
494
797
159
545
255
862
126
760
334
292
186
881
952
416
326
121
914
547
994
309
557
852
611
143
683
680
606
258
465
885
643
207
260
188
907
361
135
756
804
456
165
297
877
232
493
58
135
704
665
546
316
412
365
716
133
988
107
256
19
333
571
772
837
71
481
550
556
365
777
402
976
130
546
41
134
138
610
372
118
630
800
30
63
398
236
344
959
907
883
477
37
870
796
206
843
857
300
372
18
157
218
214
222
942
282
885
562
383
810
512
78
29
253
169
596
515
598
538
188
440
663
382
362
863
547
502
636
416
107
189
746
121
799
659
489
589
228
126
512
906
450
179
664
485
508
624
223
394
48
693
136
437
732
668
581
592
659
972
19
464
206
748
0
407
355
183
169
815
70
822
143
440
359
22
293
461
932
908
23
725
298
458
114
660
304
858
529
218
189
921
100
462
108
967
770
472
666
204
643
83
668
400
185
985
182
415
350
828
945
965
970
429
309
61
95
432
290
394
997
986
977
432
920
595
318
127
624
38
904
250
475
169
812
984
670
589
491
467
8
890
648
159
506
716
203
85
363
42
386
489
115
451
350
278
531
443
199
942
858
861
778
208
599
550
131
910
887
786
914
504
180
243
103
301
897
176
80
938
937
148
220
988
921
710
91
439
201
104
569
965
582
873
364
552
112
998
119
685
580
57
464
407
208
765
481
366
902
633
341
228
838
105
318
278
206
798
343
723
418
172
595
122
343
113
329
988
117
831
878
239
925
287
292
16
22
387
284
815
289
137
585
374
988
453
653
627
167
884
988
816
815
926
287
923
954
856
563
683
237
215
652
154
582
418
479
544
254
29
883
923
549
164
498
354
735
398
226
141
756
995
465
249
284
650
871
902
77
856
40
541
124
696
220
198
190
747
142
769
738
597
617
993
795
180
697
77
626
978
198
291
66
902
447
993
86
137
609
96
430
361
164
940
24
323
334
879
825
628
801
136
567
569
546
974
200
378
774
76
352
22
219
282
630
815
9
888
963
121
55
69
605
41
741
890
844
256
66
524
824
916
949
591
385
926
223
617
118
10
304
420
746
375
973
916
782
183
648
218
471
835
627
499
541
499
978
689
663
444
289
662
821
375
910
168
585
397
366
569
306
170
580
266
666
989
721
499
505
497
57
199
998
488
222
732
13
365
390
891
317
732
158
913
664
313
377
990
922
346
650
532
425
689
671
17
919
740
139
531
541
333
572
150
314
312
519
389
743
684
774
230
66
952
678
691
460
644
674
274
380
133
663
817
843
813
131
509
592
174
832
562
968
230
123
470
568
286
254
84
995
28
998
884
749
171
953
887
210
666
453
452
99
982
722
182
21
285
558
142
732
65
706
670
654
426
696
65
980
319
553
155
852
48
64
823
883
965
722
825
610
271
451
615
550
137
478
173
466
921
990
526
777
192
889
636
30
562
3
487
23
523
967
46
69
346
650
828
333
143
814
644
485
286
224
257
439
443
601
735
840
887
80
285
466
349
533
825
467
162
689
718
229
642
391
449
922
318
519
624
690
554
287
208
252
759
636
513
740
447
243
1
929
350
878
674
892
957
122
689
709
964
697
301
708
405
46
785
85
983
209
879
32
453
933
186
439
223
793
138
829
436
117
915
663
559
603
402
129
21
880
737
863
262
367
874
327
556
519
291
535
181
635
379
453
599
574
686
296
304
407
83
855
681
750
443
705
767
999
880
769
823
69
348
107
444
476
403
317
369
109
532
719
324
427
988
183
419
889
74
840
727
923
929
964
535
911
314
627
883
803
506
254
124
692
112
593
752
306
549
67
806
606
171
903
337
858
215
348
643
698
54
263
352
234
246
426
812
688
241
439
151
347
908
913
316
719
114
381
571
200
435
99
391
212
335
844
234
409
967
69
692
149
332
973
637
56
691
497
431
979
200
927
416
644
614
843
186
845
844
668
747
115
108
948
904
879
735
927
892
875
165
436
330
346
292
67
446
141
285
456
307
476
512
964
943
978
366
260
475
606
9
48
314
163
705
425
646
69
931
55
279
741
567
670
762
529
384
843
741
579
409
732
9
182
597
890
748
94
39
556
176
297
298
774
568
404
315
535
104
214
892
814
73
838
973
211
470
948
449
698
227
322
591
699
275
749
375
59
489
725
74
301
87
947
951
322
729
127
105
816
603
306
451
543
662
547
386
566
85
863
86
426
978
472
867
163
666
569
433
516
189
722
588
289
886
905
738
163
543
465
544
70
883
454
778
7
546
800
456
226
340
623
874
573
846
149
251
516
963
880
54
794
542
355
590
868
574
960
328
904
369
238
596
932
975
197
61
166
947
681
293
811
866
396
95
983
452
868
451
196
716
886
859
922
121
28
309
823
457
693
148
436
195
143
20
533
20
919
202
694
488
959
593
378
563
939
601
488
513
555
299
701
188
589
946
513
381
451
500
511
228
675
596
150
527
762
306
610
260
592
474
964
110
465
909
976
511
40
291
960
403
896
706
789
458
178
916
789
160
425
755
483
159
982
654
411
571
461
823
987
114
391
913
272
428
283
468
547
321
319
84
799
570
277
222
469
177
878
576
489
940
63
203
581
515
252
437
889
644
42
572
921
633
155
384
579
846
118
661
185
613
207
701
663
645
954
158
435
17
578
860
818
646
184
873
626
455
804
190
289
431
516
936
375
972
904
95
603
897
636
200
842
352
844
99
790
336
309
207
549
918
159
977
313
961
635
726
727
668
344
442
339
147
647
947
58
192
916
818
173
535
679
418
134
717
214
478
741
982
297
480
632
54
774
790
902
645
823
580
388
821
221
599
35
110
766
806
554
117
827
321
474
746
244
31
774
669
483
614
829
25
786
499
228
271
650
995
76
836
773
617
362
914
846
450
532
309
615
864
881
646
217
433
255
748
621
935
389
564
224
742
172
305
797
279
207
385
496
322
787
69
348
720
797
531
150
391
496
920
591
790
696
161
594
206
899
33
468
292
106
791
198
256
280
516
867
844
137
656
254
215
829
595
122
524
652
0
794
913
971
0
448
12
66
621
896
951
111
807
385
977
38
458
416
651
620
7
933
49
459
945
575
1
769
584
147
719
901
941
79
227
375
141
480
818
613
868
561
80
416
629
642
900
780
474
663
206
505
934
350
704
359
340
629
641
504
372
556
324
847
569
237
583
229
117
101
969
762
754
501
668
491
604
394
229
588
767
281
190
503
95
528
461
796
265
171
234
497
574
646
493
847
300
392
524
814
352
328
966
730
354
801
296
699
159
560
337
913
486
404
770
538
56
508
712
744
856
602
984
856
536
143
98
831
20
144
234
769
823
569
469
165
119
228
70
389
301
177
120
881
547
501
496
839
845
303
414
652
226
403
36
608
857
114
736
895
613
153
936
887
804
165
341
800
541
984
476
158
154
508
407
277
279
343
28
389
154
303
247
254
305
904
113
379
86
743
933
716
327
450
900
801
421
51
437
381
1
384
708
516
582
441
758
915
154
814
807
905
304
543
240
480
795
397
666
629
931
534
950
390
734
861
649
681
661
834
590
755
95
246
652
481
774
326
830
32
627
790
399
669
554
305
371
145
166
333
871
949
374
107
379
388
330
87
142
639
803
759
158
163
6
712
0
819
859
257
384
200
490
823
299
41
758
17
821
993
259
126
678
175
595
960
951
912
202
511
817
722
436
43
973
346
616
117
778
480
80
292
221
252
747
39
826
909
106
254
652
212
819
816
374
448
296
832
926
507
713
495
728
62
30
568
580
118
950
445
278
288
92
741
154
853
525
481
850
371
89
705
115
908
64
769
36
732
628
35
146
593
7
158
464
853
65
958
993
210
786
187
431
765
155
327
731
78
274
790
113
800
651
909
914
389
347
654
291
294
212
153
571
522
141
970
490
417
741
178
395
165
430
997
687
371
700
674
824
252
368
217
502
516
686
990
771
296
116
30
763
874
62
248
165
907
931
642
747
10
615
171
135
422
967
931
534
730
609
75
586
337
590
359
336
240
750
695
308
789
669
68
863
689
484
517
838
101
676
418
904
732
855
45
385
229
292
39
603
509
271
972
601
773
433
838
266
593
607
362
775
885
581
376
468
691
206
49
545
252
551
200
340
263
987
754
401
176
728
238
578
346
750
196
856
244
826
729
99
514
796
304
560
242
862
822
590
500
823
226
268
781
603
308
7
822
716
869
465
71
440
377
563
707
444
159
584
420
418
310
987
765
23
668
779
445
202
570
370
409
701
431
724
359
633
706
464
795
868
470
167
512
184
868
932
158
134
826
701
455
925
775
343
686
95
904
235
626
198
435
520
548
838
184
352
982
695
337
318
943
815
507
755
858
542
368
465
448
575
593
610
42
256
922
683
428
56
198
282
188
12
475
952
309
156
492
948
332
633
847
412
371
915
649
291
608
0
400
986
424
657
971
137
108
936
705
764
667
422
80
88
834
75
822
342
290
377
941
127
813
885
784
374
533
430
420
837
278
621
329
909
791
289
647
279
918
880
654
284
584
486
52
838
827
863
896
70
396
772
834
233
900
232
344
411
690
951
420
863
301
837
332
327
450
930
673
402
300
797
130
666
95
505
314
907
934
985
723
512
994
639
906
482
814
226
516
350
718
27
900
455
713
61
615
659
35
472
486
809
451
574
688
673
618
690
394
942
265
350
271
874
346
832
187
724
106
591
84
992
216
901
882
621
391
820
281
911
14
332
357
281
153
239
916
62
289
779
9
550
42
676
795
215
320
487
158
840
877
374
206
212
40
428
333
101
573
455
983
109
714
74
785
81
81
582
673
983
122
342
350
579
285
768
704
133
104
917
564
510
409
76
38
632
76
779
633
512
545
427
175
679
922
777
89
541
196
820
334
623
400
584
66
497
364
15
818
349
231
674
487
694
912
114
430
272
556
778
661
846
103
99
782
870
962
969
271
301
866
317
52
399
718
931
95
26
263
986
676
232
319
216
822
63
168
901
395
608
726
993
925
894
329
467
463
491
895
926
237
144
300
845
996
501
488
707
285
965
435
88
389
877
492
125
751
73
353
875
272
451
937
540
880
113
676
517
850
314
521
18
866
873
545
728
828
804
832
329
506
843
595
946
171
882
900
542
935
752
445
463
117
828
867
726
478
226
719
642
438
117
735
953
364
955
277
997
560
214
527
230
111
813
132
706
538
769
223
796
572
612
959
182
278
521
979
856
305
971
55
280
297
769
608
307
559
519
442
539
910
833
925
427
42
802
267
251
95
438
295
294
104
684
238
983
673
148
140
282
828
82
765
64
585
409
974
97
263
563
753
732
114
83
222
775
115
891
404
729
851
492
885
687
789
548
455
453
470
679
862
804
95
949
36
772
408
695
663
203
369
514
146
409
673
236
605
330
966
516
787
518
236
54
928
435
862
85
827
807
339
391
902
704
23
165
123
433
761
566
74
524
315
668
223
337
108
575
323
491
707
807
849
412
556
818
783
658
255
972
129
234
214
360
377
835
523
998
244
445
576
423
265
956
631
914
988
178
172
861
848
503
956
214
892
365
830
696
289
210
889
923
165
867
833
597
932
128
745
867
707
128
28
565
27
836
597
622
731
757
827
54
410
566
744
563
505
805
406
808
386
162
289
995
203
755
705
615
64
709
108
460
687
196
963
802
958
147
1
588
767
739
111
166
216
635
363
204
491
988
267
345
602
526
885
53
844
885
507
844
842
473
307
598
357
29
768
652
738
844
747
678
506
837
592
503
743
365
210
557
552
190
881
491
629
90
405
368
684
177
702
540
169
354
727
379
170
966
351
710
300
170
102
145
382
151
420
805
90
775
351
612
526
628
889
771
234
896
116
852
367
743
287
824
822
987
34
135
578
496
130
251
712
195
142
719
973
824
298
839
500
667
875
167
339
508
508
497
336
741
562
698
556
468
434
401
337
99
627
335
110
537
312
714
205
152
473
40
983
220
981
426
227
138
477
368
358
262
493
237
516
800
631
471
579
19
834
33
136
19
790
635
933
620
77
576
884
801
875
300
732
591
433
594
194
389
133
832
732
946
497
683
33
866
92
100
451
866
410
414
436
670
109
849
45
793
863
676
866
623
240
76
497
823
304
659
737
168
495
805
99
132
598
502
622
782
136
518
496
349
257
454
11
862
915
983
144
409
72
444
595
495
926
761
12
23
521
246
849
157
94
823
748
951
242
7
920
765
621
830
371
86
688
288
423
143
701
355
99
12
298
498
987
107
993
131
725
235
111
574
132
182
273
538
184
552
481
878
561
561
73
113
591
573
702
279
110
0
433
638
961
618
470
917
449
914
375
792
960
913
306
435
154
591
368
109
982
960
690
765
586
446
575
929
342
812
311
897
178
407
123
705
484
397
951
56
305
30
1
474
942
389
877
795
853
557
158
815
616
571
520
856
555
19
696
54
789
342
118
651
87
335
753
519
233
675
28
109
373
284
366
491
204
125
658
656
117
678
477
243
962
435
654
116
557
309
557
942
444
703
941
879
342
113
252
49
321
87
759
333
478
694
355
53
324
887
485
960
994
907
762
57
694
554
956
931
117
353
842
593
388
355
305
247
403
220
279
165
549
939
262
619
546
911
64
945
339
707
580
543
925
408
82
856
898
759
804
75
320
578
223
988
393
284
883
172
309
773
57
267
612
777
979
657
983
644
789
986
973
695
908
633
113
742
867
177
85
904
948
272
724
639
165
11
919
622
463
49
64
462
167
588
565
186
225
833
564
10
886
333
119
270
967
921
903
198
693
762
68
542
159
958
189
406
358
454
751
354
323
559
797
81
669
77
454
289
208
296
252
370
34
750
943
272
321
412
780
388
946
660
900
929
755
83
628
215
916
451
403
439
834
834
779
246
903
602
518
522
956
141
927
563
413
528
423
247
4
784
261
876
247
391
208
923
198
573
693
506
111
479
815
122
898
283
770
271
75
308
932
119
875
184
918
457
678
882
651
590
613
608
355
47
443
785
895
232
566
613
335
622
881
500
27
233
665
696
504
415
975
165
111
833
894
477
498
652
888
517
527
122
320
437
357
884
715
252
556
841
110
392
920
709
558
258
717
901
83
222
689
175
580
582
532
843
792
298
143
535
526
891
390
0
740
633
716
153
281
456
1
305
179
946
201
335
883
683
191
337
323
117
572
949
0
515
901
93
333
876
940
71
55
351
915
137
417
952
778
709
883
863
233
504
622
895
339
483
543
740
670
136
571
86
744
762
199
129
571
198
447
878
128
787
412
481
628
459
889
969
833
875
783
284
563
992
741
88
778
321
798
738
773
408
252
220
236
47
990
271
191
675
921
504
981
896
679
700
213
289
603
27
973
833
325
344
437
362
706
248
507
97
455
303
857
812
906
424
756
883
2
58
709
182
144
102
626
212
149
487
603
929
617
726
753
259
279
724
123
792
52
164
100
390
249
803
442
934
439
991
152
353
332
111
712
172
472
58
910
119
491
351
776
955
581
987
976
746
507
319
667
679
103
226
230
999
812
27
822
192
11
306
291
714
86
988
597
26
98
502
516
793
784
542
692
615
372
351
659
732
83
381
190
948
282
990
215
188
588
950
514
395
158
0
374
573
378
284
736
294
537
228
822
664
734
583
563
250
178
2
440
591
681
499
237
948
954
425
784
2
651
354
627
808
553
510
223
763
82
5
692
475
312
987
454
948
813
33
96
288
356
128
73
95
716
149
30
155
518
922
747
758
769
67
536
665
145
609
116
874
652
898
994
692
838
630
159
344
283
229
872
72
674
283
397
299
147
911
918
633
301
32
324
616
966
798
581
852
573
659
426
799
982
744
62
551
484
898
32
962
306
949
790
820
151
933
680
334
807
963
59
181
756
972
373
100
531
27
697
837
128
943
515
272
845
884
435
89
278
189
71
394
149
747
403
795
468
509
628
187
306
431
916
464
573
111
522
635
984
969
349
48
115
116
309
419
129
873
66
262
811
256
796
708
9
671
816
111
7
928
925
718
942
209
870
952
756
282
568
121
127
266
566
298
653
270
488
407
93
943
539
639
531
789
869
112
655
903
135
352
631
57
649
946
388
471
745
546
858
992
886
440
655
859
737
992
415
713
911
685
20
442
339
810
256
132
19
657
552
583
161
609
543
877
214
802
18
824
397
617
829
540
373
488
275
273
161
986
654
641
231
167
665
389
985
515
646
193
332
56
529
933
578
574
17
613
85
840
393
61
897
644
939
774
255
867
121
755
430
750
616
511
983
332
176
981
165
892
978
285
31
956
289
984
24
386
838
328
298
712
129
159
544
139
341
914
152
0
41
116
267
672
687
447
214
662
20
59
820
69
620
506
258
808
502
625
739
986
855
461
68
596
458
907
906
201
476
15
143
821
901
744
54
663
827
177
432
780
619
478
443
949
444
625
728
159
310
608
124
446
838
999
554
811
737
473
865
175
1
706
241
715
10
400
348
16
942
822
264
748
576
733
319
545
646
993
645
916
627
99
447
193
33
907
470
193
25
17
11
618
276
113
852
265
245
991
822
826
208
115
612
6
990
277
165
983
441
364
12
682
642
674
215
783
498
640
912
990
693
360
339
137
568
927
272
965
519
962
597
11
620
822
679
882
297
108
739
728
625
499
801
18
695
576
236
448
927
982
735
821
355
494
929
945
818
386
200
259
247
24
367
569
650
418
283
360
194
974
442
389
321
758
609
912
98
704
815
314
32
776
837
123
28
644
590
770
481
249
265
666
322
39
617
540
410
560
854
484
600
326
586
793
12
192
505
398
829
494
761
305
795
662
876
142
22
750
49
969
376
145
857
556
244
986
874
579
647
69
268
475
727
250
67
242
599
237
184
902
842
109
986
18
173
576
814
383
989
172
108
263
788
374
344
391
510
38
106
535
224
957
530
990
970
817
576
429
926
315
535
409
61
756
208
472
145
512
765
391
491
638
402
671
885
875
531
619
796
949
633
169
635
97
498
46
495
246
489
217
889
170
313
893
978
65
830
4
268
813
435
689
68
427
977
719
999
881
987
305
741
333
880
985
358
710
738
310
376
743
832
195
87
565
255
302
722
293
280
653
371
956
506
794
240
571
415
275
386
444
860
157
213
130
569
789
437
84
705
606
304
719
206
318
542
209
330
900
802
763
947
744
670
751
80
77
930
8
114
658
433
390
202
749
313
146
112
78
872
739
229
938
176
492
623
563
739
956
469
296
67
512
958
705
987
339
118
228
365
78
455
887
822
127
499
793
366
155
83
218
676
56
888
510
787
169
816
578
998
964
374
298
285
196
882
349
578
500
325
906
435
97
659
60
478
226
469
186
503
426
278
347
923
13
606
282
659
465
8
828
34
76
570
292
812
103
541
336
63
529
550
858
349
731
111
316
49
144
306
461
229
787
894
436
502
982
747
598
807
275
635
800
353
399
137
780
617
446
855
574
626
757
843
888
360
818
163
911
981
911
980
466
608
837
959
966
145
801
388
537
69
678
24
510
963
842
724
22
943
306
55
567
639
641
833
574
317
829
877
524
390
486
225
8
428
467
389
369
72
177
438
25
294
111
620
343
445
869
551
970
956
83
914
481
233
921
11
129
693
758
297
356
729
983
147
245
125
672
16
965
398
750
810
74
470
369
442
678
315
952
508
291
682
94
333
807
943
271
783
33
334
607
158
647
161
750
291
140
230
689
906
576
315
90
669
644
982
259
30
280
26
883
312
339
730
55
744
523
503
875
819
733
225
258
526
527
358
385
472
380
558
236
200
69
253
127
853
61
327
228
808
96
640
188
560
683
636
287
215
848
894
403
746
912
15
973
426
148
295
456
387
534
622
924
690
484
390
554
83
190
386
564
47
469
147
728
379
706
603
533
789
560
85
504
548
463
326
959
771
246
845
863
437
777
163
103
397
346
989
153
565
50
386
599
952
81
82
104
110
625
756
189
702
227
162
19
753
143
803
949
287
585
213
609
789
754
198
608
36
545
841
569
306
815
975
788
974
543
28
508
650
807
186
52
411
507
985
513
998
975
231
112
389
127
385
527
5
167
86
806
555
574
202
712
360
985
452
230
21
631
854
239
514
624
338
843
684
801
942
875
769
870
9
993
397
755
8
786
787
659
3
120
594
302
483
401
893
749
978
704
569
312
175
800
13
930
550
659
263
329
217
17
446
406
42
203
942
641
215
833
34
135
266
515
362
792
275
199
210
618
189
398
461
601
403
78
139
144
692
774
775
24
151
829
247
224
127
196
915
425
58
412
706
487
323
594
728
763
552
493
830
747
428
670
142
814
164
137
385
699
918
266
363
186
62
248
649
150
414
806
302
724
405
296
920
117
739
91
343
280
950
781
287
569
349
285
944
378
676
346
655
58
653
647
410
561
47
808
168
708
100
877
107
395
858
725
461
875
551
765
66
566
840
655
740
108
212
175
733
405
101
985
204
106
556
352
895
878
648
295
195
226
322
541
527
655
863
36
690
778
615
724
392
415
834
198
551
986
576
222
513
313
533
116
757
778
539
156
55
852
92
836
884
136
385
649
681
532
262
309
781
181
605
126
333
217
992
444
722
493
105
533
381
357
647
936
952
923
864
708
88
355
199
127
345
954
919
406
607
662
52
82
678
909
551
874
733
966
881
741
570
472
3
690
700
687
513
422
856
796
990
613
912
924
825
362
3
349
405
260
155
699
879
773
477
484
786
834
388
855
249
612
85
521
667
99
265
782
199
50
656
321
19
693
497
261
971
541
661
153
186
583
758
244
373
906
862
525
420
236
976
770
754
317
573
12
143
394
730
343
721
79
308
258
708
199
707
991
627
19
380
527
791
583
278
173
66
87
191
927
823
917
983
719
651
722
414
911
278
709
957
340
414
356
794
1
871
172
320
200
672
881
695
678
113
142
200
910
282
211
639
875
575
571
866
509
770
341
900
920
316
246
656
219
837
253
589
675
868
56
896
828
89
484
7
984
890
755
658
487
273
393
242
871
176
907
84
615
350
724
531
653
417
345
909
455
315
385
442
646
598
992
804
17
753
664
344
692
689
856
840
798
15
886
548
684
816
192
690
855
994
858
646
202
746
611
822
165
252
122
654
108
680
779
312
893
501
561
392
576
383
620
127
776
199
260
320
877
76
454
845
627
328
275
451
505
348
87
914
945
9
719
230
196
110
709
659
745
57
586
238
322
368
282
274
520
125
597
394
348
691
124
137
575
718
701
530
912
199
854
371
715
19
214
904
466
136
33
189
754
863
918
856
271
805
71
507
330
165
955
424
471
595
158
257
688
618
144
419
663
154
782
485
219
782
807
213
44
818
573
206
36
988
8
46
271
293
855
494
22
19
817
89
788
192
231
473
534
539
571
520
394
824
663
522
165
571
977
647
683
886
858
812
481
178
414
859
914
676
417
946
305
881
1
69
860
71
766
807
882
314
555
201
919
187
385
977
748
943
824
999
658
529
645
311
99
381
793
212
261
847
917
85
886
989
844
619
540
687
958
32
552
230
836
768
162
200
63
253
51
655
733
722
478
563
743
359
139
918
969
664
490
545
944
864
727
502
949
36
82
393
896
720
422
597
117
547
849
290
773
767
775
696
739
84
906
904
131
431
171
312
847
890
561
150
413
433
563
541
780
222
210
892
662
615
523
300
957
591
664
260
850
706
381
953
43
783
667
135
573
216
713
969
865
371
147
209
626
562
163
500
474
661
198
454
939
429
224
431
48
582
115
866
233
366
640
86
805
731
295
957
585
992
738
103
975
745
343
323
874
594
876
587
111
823
554
791
732
450
225
40
966
76
289
282
871
713
757
464
584
730
979
112
934
945
268
769
234
54
525
866
729
290
206
708
767
315
614
330
506
308
146
631
755
324
778
288
508
813
526
823
630
992
131
398
824
510
31
140
397
717
893
375
865
427
253
603
846
793
194
96
978
838
852
777
848
245
465
707
972
463
715
523
965
432
426
239
15
671
27
422
386
338
520
542
959
757
481
804
985
531
809
272
127
455
784
800
318
737
764
675
538
681
274
641
973
70
672
385
459
889
341
463
54
745
67
863
280
368
710
501
918
88
933
150
366
962
562
60
293
517
351
385
71
528
808
838
952
985
239
693
114
502
313
43
552
298
750
442
206
185
818
733
83
500
350
459
864
901
946
347
142
41
72
583
746
236
434
282
857
541
571
235
985
280
167
860
85
494
841
238
198
714
846
281
139
220
541
0
151
578
71
958
599
863
881
272
898
783
709
253
185
598
464
541
956
538
727
900
150
620
80
371
536
373
290
944
209
419
359
334
758
832
233
836
430
194
249
924
397
545
882
689
239
443
371
482
100
405
899
623
970
550
750
221
2
752
386
312
114
218
994
706
717
132
847
881
427
751
35
395
805
452
452
979
482
919
646
228
856
442
115
139
493
596
762
132
556
720
546
228
334
386
649
195
799
235
594
487
686
493
747
898
664
432
537
497
934
199
84
360
392
747
396
600
961
926
904
518
722
833
91
948
786
659
123
299
266
445
91
366
968
796
867
627
814
507
388
331
721
639
136
108
199
251
683
352
809
274
622
222
427
285
442
785
473
787
382
481
188
16
190
740
167
373
328
108
796
781
583
85
606
3
886
970
154
665
371
72
388
682
154
65
142
718
221
655
615
971
90
540
915
995
509
376
859
472
96
171
130
402
438
834
16
154
976
639
376
198
770
437
96
474
979
528
253
796
783
511
612
213
51
498
775
722
542
546
31
301
705
420
106
738
824
947
623
588
926
890
172
690
9
388
907
300
474
941
426
652
609
722
907
977
778
182
693
622
674
972
103
940
300
760
990
452
724
273
80
8
334
939
385
150
666
725
872
586
351
117
399
976
958
572
29
866
820
803
228
908
549
384
125
908
804
834
30
294
734
902
273
104
409
122
281
25
591
550
160
888
868
758
577
444
572
839
242
737
692
597
731
590
190
918
452
333
865
753
429
724
740
816
718
655
799
678
786
810
988
884
302
308
282
2
156
885
225
93
410
765
384
730
866
128
31
140
878
90
90
138
280
132
375
587
239
123
3
978
348
18
193
727
857
583
752
332
853
246
378
545
879
805
211
628
766
893
205
410
699
255
62
119
55
667
723
155
794
749
201
561
363
849
802
274
67
547
130
637
918
820
163
596
706
870
951
758
280
425
780
174
876
879
805
902
986
974
254
459
500
393
334
345
129
79
777
567
483
817
615
245
569
207
696
120
343
536
223
819
101
419
486
814
82
934
788
80
406
776
109
375
977
341
140
501
189
459
299
604
147
794
425
592
942
299
110
277
871
589
276
775
745
193
517
787
774
633
459
862
596
457
246
886
418
120
457
581
191
127
884
821
585
48
35
140
714
691
291
136
192
136
530
484
604
796
804
785
273
246
583
381
835
799
276
744
513
406
900
381
563
247
501
696
40
502
464
912
356
814
46
794
923
347
822
869
455
565
866
821
421
666
951
985
978
49
672
631
6
748
533
649
31
246
545
855
73
163
157
672
743
362
245
866
419
581
584
469
674
82
90
621
484
367
998
589
27
727
60
468
493
462
85
838
271
601
640
102
646
233
382
219
990
768
148
405
503
699
979
265
114
988
565
941
175
541
653
222
584
210
259
232
455
345
783
501
678
779
912
557
453
19
104
476
733
981
57
288
234
264
335
842
844
444
403
707
423
926
157
282
306
208
158
883
307
750
799
911
522
913
722
531
189
447
675
394
687
409
127
498
465
184
676
83
584
108
919
949
124
455
320
540
305
399
836
147
156
394
461
166
872
404
519
24
15
191
415
368
153
151
532
821
252
39
664
598
478
845
155
854
963
493
814
547
277
622
756
934
901
393
680
770
719
274
147
330
913
789
101
378
694
937
399
410
317
905
732
508
265
383
739
294
667
859
247
636
684
590
731
806
201
317
265
495
452
841
988
988
449
527
120
402
122
237
712
784
829
961
593
519
24
876
758
121
736
949
990
887
797
623
873
537
676
794
104
910
68
433
885
16
859
378
808
995
685
491
12
874
922
581
513
902
461
667
579
146
949
90
556
803
480
294
622
106
699
703
654
247
696
781
771
256
690
381
693
849
512
143
692
599
122
34
201
424
1
173
609
485
152
949
217
415
562
637
809
971
858
971
986
993
461
198
567
73
548
284
632
780
833
350
554
606
365
554
976
827
908
569
293
34
524
343
812
306
961
525
686
342
295
900
614
188
706
900
303
438
556
343
119
455
585
160
839
17
906
334
766
870
687
335
872
704
403
375
524
545
303
265
522
885
56
946
43
538
741
57
906
258
246
91
528
369
444
285
446
347
46
788
762
378
510
149
116
234
144
165
97
649
538
891
880
407
821
466
363
426
988
615
14
573
21
347
290
271
942
722
59
180
497
197
399
861
208
328
538
54
430
276
40
914
687
155
73
272
630
933
931
611
500
579
500
187
991
472
133
785
82
315
944
653
977
895
262
55
125
533
66
379
568
424
657
652
136
783
170
639
900
174
881
885
489
643
338
723
105
382
340
986
952
507
42
209
71
18
847
918
827
722
101
62
228
946
635
101
558
377
643
786
888
587
879
508
193
363
462
160
765
999
931
764
594
185
125
346
387
458
887
248
903
423
370
966
594
540
784
756
17
58
298
963
402
766
803
313
837
423
458
874
953
237
696
595
688
198
77
758
125
170
203
594
903
591
657
311
731
444
478
635
348
856
578
228
775
493
247
581
351
998
402
676
852
125
481
150
284
17
841
638
157
86
259
360
562
299
635
262
939
528
727
816
974
74
228
106
481
436
710
673
287
244
829
557
470
611
765
213
40
672
641
924
720
406
307
733
108
736
980
104
129
738
699
138
255
125
449
802
529
464
928
997
774
25
555
300
295
859
645
779
203
85
334
91
166
783
887
882
946
311
319
527
220
994
853
224
907
290
147
334
441
929
632
580
573
970
146
714
135
488
354
776
183
457
220
907
747
279
773
303
587
886
707
34
809
818
995
804
36
569
598
207
453
684
249
788
263
214
443
69
26
857
863
998
278
774
369
645
984
378
537
792
65
542
299
414
483
777
458
834
464
395
225
302
282
224
720
362
657
740
216
202
729
14
284
27
318
79
629
262
591
538
450
512
798
206
761
814
59
583
689
355
383
165
525
334
563
374
162
24
380
618
538
692
179
625
556
21
747
763
657
941
874
826
7
52
608
309
581
810
211
442
872
971
478
467
897
113
30
841
601
101
574
646
741
743
484
216
890
144
646
85
455
967
91
768
485
782
863
682
628
997
72
263
412
61
490
238
34
806
613
595
546
380
33
857
602
705
966
494
143
824
932
933
377
340
138
972
662
514
486
33
488
271
881
599
733
964
687
176
649
735
380
913
145
775
656
215
598
95
744
543
295
351
460
958
381
812
631
165
60
421
373
117
951
564
884
594
956
364
633
858
435
574
454
824
112
983
928
269
439
960
974
680
475
499
552
506
298
961
636
187
509
113
420
211
845
99
258
249
290
267
70
884
982
565
321
912
897
619
847
250
567
319
274
267
421
142
452
803
234
883
321
755
772
796
179
781
714
954
773
202
924
299
717
123
360
334
105
823
625
765
545
431
989
361
219
27
31
14
841
270
252
61
137
57
259
87
451
811
481
705
470
2
133
258
369
613
429
805
346
869
269
215
276
254
972
766
876
760
696
430
295
686
333
935
858
747
310
523
548
541
275
929
215
242
921
578
761
395
982
640
920
924
77
33
317
239
412
931
21
142
53
894
63
27
606
212
550
283
303
577
946
291
500
816
342
362
569
108
893
359
206
484
196
300
693
425
333
835
684
197
109
364
565
207
851
989
48
216
360
584
808
351
878
357
105
37
451
921
383
659
949
672
204
398
239
787
193
153
640
538
347
254
831
357
517
942
860
499
443
708
276
45
753
417
7
126
803
444
907
81
541
900
897
920
954
630
132
614
74
648
63
688
118
33
210
329
498
906
616
165
201
685
60
959
800
934
952
835
364
940
337
345
143
545
931
704
853
309
724
541
724
143
991
416
308
66
903
55
975
448
657
475
160
531
65
548
183
842
890
551
716
339
99
46
23
666
587
452
43
678
462
884
25
782
193
477
78
954
693
449
615
224
288
156
868
646
864
650
913
847
868
872
536
921
885
532
486
925
138
545
352
525
698
649
779
14
186
422
183
983
637
562
141
163
636
547
628
647
145
756
36
258
498
813
738
580
17
218
186
713
622
687
660
324
913
735
770
842
806
865
764
290
995
921
970
518
70
125
230
58
332
701
824
538
450
410
771
587
472
733
293
554
688
203
367
121
468
348
80
591
274
933
601
340
849
566
316
136
185
709
134
42
560
519
646
169
945
724
395
693
244
828
78
362
477
454
822
538
35
194
576
970
849
37
239
353
467
987
476
721
766
277
581
221
555
674
953
89
670
666
263
6
522
447
510
395
389
661
279
343
413
156
945
484
434
257
117
348
957
219
144
909
967
774
881
502
865
832
157
654
819
636
415
2
530
33
488
459
533
558
473
788
479
98
321
616
609
641
965
331
356
38
721
980
245
273
606
546
606
824
339
18
507
603
52
440
396
782
35
354
71
530
621
953
758
238
486
134
128
704
378
720
608
381
273
586
18
977
43
278
77
688
206
330
822
622
797
797
561
391
885
57
392
20
383
122
166
286
710
64
142
194
826
604
198
148
276
109
567
580
173
251
708
416
461
906
588
39
441
274
17
56
328
932
424
486
468
173
455
574
381
642
863
173
694
54
3
749
180
37
699
784
168
98
770
135
150
90
240
749
441
170
68
612
468
794
592
772
330
51
632
161
828
829
746
187
47
190
3
452
897
388
545
827
77
215
608
231
457
593
710
754
209
662
230
267
494
229
618
780
24
804
259
364
985
149
706
588
415
479
737
269
688
848
510
379
926
808
424
565
470
301
817
160
244
325
613
569
776
47
144
145
648
137
272
426
825
999
543
74
707
230
825
705
669
389
467
336
472
102
514
80
118
218
50
429
947
43
354
420
287
835
615
939
266
552
873
91
94
424
208
596
27
77
52
913
634
946
510
905
579
5
171
68
934
44
448
776
734
29
721
199
44
345
303
1
14
494
135
107
688
594
977
610
270
917
888
153
518
531
880
994
884
775
986
306
405
943
577
396
939
134
159
136
271
231
785
372
836
677
743
226
765
497
802
65
160
289
667
545
673
519
425
681
165
126
771
425
34
34
742
649
280
111
263
954
499
518
186
175
614
225
136
770
708
712
693
701
916
663
127
267
86
790
530
304
702
664
215
363
285
933
802
776
650
380
488
840
66
63
565
971
692
101
510
393
489
570
470
424
376
788
27
744
603
495
201
437
171
220
875
757
181
297
27
209
296
410
259
835
479
293
39
392
827
525
380
551
532
484
880
672
818
778
692
631
476
508
967
5
980
996
198
849
164
661
912
457
128
271
77
668
910
490
380
851
190
491
861
903
899
203
635
586
134
300
475
749
716
808
472
782
549
587
364
570
683
871
951
744
827
36
525
274
671
766
206
671
243
68
211
220
388
322
1
665
739
137
26
509
408
240
484
369
652
138
743
810
532
444
261
764
922
822
468
415
330
294
644
779
556
324
829
893
38
770
588
55
715
710
842
147
691
807
764
910
649
904
968
578
509
71
793
838
464
219
342
773
952
618
88
219
927
344
18
752
939
892
996
773
987
482
37
98
834
89
810
306
48
162
458
186
913
991
352
327
434
725
740
64
557
985
214
793
876
738
242
713
431
407
132
357
916
567
729
427
180
301
196
847
542
115
788
451
805
968
692
773
239
865
329
832
383
74
843
580
450
423
233
557
957
345
924
606
240
524
626
396
817
161
362
954
679
45
281
975
277
604
420
598
685
541
315
554
639
453
281
476
11
488
446
372
607
495
832
826
584
757
681
118
449
932
940
240
696
54
630
648
108
960
724
904
526
749
552
130
279
3
998
869
481
710
680
387
949
392
708
684
258
0
144
546
354
673
104
234
882
926
590
99
161
330
791
686
102
615
644
392
89
330
778
877
134
194
39
127
403
773
688
398
799
120
665
492
424
482
276
572
587
582
69
662
744
662
470
24
684
776
294
475
501
265
691
733
631
449
166
164
59
871
692
299
523
426
526
18
83
524
584
447
210
434
676
99
168
149
751
154
634
726
664
35
86
817
704
669
499
298
882
110
144
200
449
996
409
696
708
532
871
780
471
459
353
221
605
877
854
992
815
925
238
601
883
615
460
948
748
222
737
853
321
325
980
816
612
7
967
610
496
55
997
913
276
372
640
105
443
790
584
164
319
27
556
970
862
464
898
954
655
14
749
144
742
986
713
681
640
806
773
604
384
627
395
246
950
819
505
283
342
921
489
449
876
734
960
554
794
555
832
607
460
471
758
108
139
379
809
419
539
26
22
701
655
328
532
604
549
605
973
515
30
198
866
797
967
335
971
669
601
352
282
30
977
129
370
882
17
808
917
533
832
85
777
876
999
769
811
35
835
73
402
708
199
906
856
346
263
589
490
166
60
798
475
364
756
579
66
608
132
81
626
577
13
694
49
271
576
167
425
121
210
396
733
928
954
596
623
715
60
977
520
622
106
848
169
905
937
767
177
980
785
987
698
713
459
810
233
955
151
670
634
444
547
748
73
614
227
779
656
73
768
398
184
167
512
262
609
284
852
904
6
984
410
575
722
617
543
74
76
965
322
980
466
673
106
44
362
100
906
386
475
140
93
461
358
935
874
457
984
594
627
186
297
346
977
55
288
236
969
229
686
557
612
236
832
418
234
532
291
62
609
67
192
433
262
441
435
521
647
330
193
456
210
972
933
617
210
498
906
786
447
313
971
946
860
806
706
851
801
966
521
999
213
730
159
407
865
676
385
716
896
872
687
22
226
534
659
522
402
155
922
18
373
954
708
210
89
912
797
621
830
23
581
295
805
695
781
28
854
693
822
690
376
231
670
34
165
891
213
273
169
927
121
875
984
139
394
434
767
47
457
223
132
917
588
727
196
915
432
241
347
872
443
845
681
203
434
934
981
520
71
209
698
664
30
19
199
550
974
992
385
118
25
102
580
625
935
87
133
133
820
198
764
168
88
640
397
807
42
233
605
667
67
177
973
500
471
507
363
622
336
876
805
394
198
415
379
471
161
100
975
80
810
734
651
752
227
350
8
413
365
768
698
836
57
243
544
836
230
266
49
875
392
693
580
75
188
973
344
324
232
676
42
924
116
882
133
874
391
615
637
925
41
864
382
567
38
798
829
663
764
344
681
560
633
865
264
379
262
559
427
850
913
827
165
799
717
503
961
937
733
782
164
679
542
845
166
165
764
582
968
684
407
237
114
851
807
365
130
902
794
340
13
758
357
61
207
863
468
978
705
359
743
131
479
153
508
302
774
353
244
506
240
557
38
392
868
548
514
502
155
496
533
328
122
671
546
831
12
870
517
330
46
672
534
48
499
144
485
377
585
604
898
706
852
344
891
380
536
470
839
91
718
768
129
659
398
424
374
324
420
241
947
653
550
41
85
825
734
700
916
768
251
392
400
669
737
99
170
759
955
677
347
275
325
612
507
413
586
711
185
981
669
850
100
320
539
446
329
546
958
688
984
427
839
217
249
445
102
749
387
157
371
448
824
885
205
874
510
650
475
948
160
976
762
499
912
653
695
864
507
715
400
876
71
244
41
313
494
820
195
350
44
585
8
255
420
676
949
316
473
909
349
717
51
668
670
807
197
464
413
765
669
736
585
331
764
801
250
741
976
469
252
512
344
829
237
433
328
473
206
494
875
215
620
858
978
750
479
748
0
407
118
843
540
321
88
230
454
496
700
558
397
987
811
49
682
949
804
157
478
675
398
469
121
404
237
223
556
58
858
668
289
515
265
442
99
589
419
826
998
745
287
278
59
3
985
703
956
975
243
413
677
594
760
225
822
6
144
47
967
518
338
891
516
425
171
515
439
90
140
308
591
922
629
904
65
461
489
744
236
234
625
106
746
684
415
273
915
782
274
8
204
454
316
908
980
517
960
272
920
412
289
573
700
159
848
711
398
465
297
780
485
115
297
525
255
553
221
370
980
948
407
342
491
384
579
469
630
249
404
557
680
688
13
979
181
448
241
584
554
260
449
136
263
840
864
375
399
562
381
473
450
84
673
365
664
353
206
508
670
197
32
676
496
328
985
717
459
409
586
707
39
648
797
229
638
511
784
57
402
570
349
456
655
961
948
769
382
235
999
858
423
683
799
964
907
293
591
692
664
983
677
395
15
924
718
343
596
580
840
382
820
997
955
727
566
136
898
722
345
337
362
352
116
580
397
797
348
948
153
30
588
847
504
143
977
16
581
514
383
29
617
815
406
378
933
153
996
490
132
545
431
601
248
25
617
181
243
226
694
201
785
190
426
739
835
958
358
672
170
389
350
290
176
516
285
20
19
893
85
42
186
291
793
144
789
263
704
469
181
33
533
655
146
261
918
361
797
701
746
29
471
647
92
20
162
609
239
390
438
372
470
34
589
84
897
405
643
957
980
469
249
676
543
839
776
666
888
802
485
36
625
217
155
668
255
545
75
777
552
921
133
112
568
578
486
322
689
241
972
733
635
539
737
608
845
589
985
890
936
153
679
708
460
376
192
654
542
18
416
45
295
869
544
840
251
855
129
891
695
95
568
384
779
692
151
860
993
286
286
35
941
98
845
529
935
774
666
593
814
874
453
832
444
8
650
904
532
171
262
876
480
353
367
562
313
698
735
276
436
936
488
642
159
707
864
456
544
997
943
860
367
155
656
241
377
420
621
289
808
860
463
107
902
103
636
383
592
837
647
236
585
656
206
144
375
227
84
467
38
813
588
846
106
519
124
285
683
51
169
408
18
212
574
881
588
455
255
450
289
308
584
988
91
838
207
429
929
922
20
297
535
930
7
789
501
27
195
631
858
539
969
829
471
583
694
835
897
647
214
926
584
162
713
660
311
756
556
153
172
872
966
354
923
917
217
222
478
898
943
909
387
971
51
931
879
844
924
142
893
251
284
48
980
616
718
644
500
133
555
641
773
489
428
122
255
364
839
579
830
872
50
957
116
39
245
660
901
182
759
114
787
917
833
656
356
477
285
987
125
169
146
813
259
35
137
241
974
714
137
420
393
288
685
437
895
603
974
520
507
304
807
254
33
459
897
576
568
323
740
440
43
799
721
749
785
246
457
33
213
807
515
143
948
207
801
662
811
509
946
689
436
929
619
886
884
657
49
12
168
386
86
370
531
38
72
335
909
476
756
788
492
782
934
739
343
562
792
332
686
587
444
579
791
872
469
968
837
375
248
505
124
660
779
210
918
211
329
103
963
621
94
876
952
548
851
710
862
670
503
849
700
757
593
755
808
771
571
114
389
84
983
120
983
675
139
421
996
311
285
742
627
819
628
610
332
210
473
211
155
140
444
729
716
353
271
787
319
448
403
624
144
89
187
474
719
239
134
179
783
968
661
375
933
155
722
972
894
207
762
667
748
134
633
517
663
690
231
346
985
360
34
514
255
235
676
547
419
307
708
226
471
42
175
567
790
331
816
464
690
46
907
310
41
442
366
926
405
318
447
231
659
327
355
256
383
751
513
902
313
654
571
927
460
869
211
910
819
659
264
944
654
411
50
759
664
507
674
658
88
43
769
659
209
926
797
542
196
887
42
973
721
803
318
323
367
890
360
708
910
991
461
909
552
413
410
825
168
620
691
361
995
242
177
272
52
149
323
322
471
302
20
666
857
249
235
495
845
683
102
372
929
212
962
623
318
198
755
677
716
55
138
193
37
951
786
473
796
590
505
319
538
194
146
272
337
17
541
977
203
954
612
524
672
669
450
316
904
556
571
704
996
496
864
437
360
907
998
4
533
737
298
919
19
69
709
11
106
666
417
855
108
82
692
579
525
324
475
637
888
10
98
945
6
672
307
572
683
700
481
557
369
571
601
771
998
483
648
759
720
766
765
841
401
863
624
456
535
260
605
145
561
199
935
443
128
301
169
412
175
210
459
74
254
711
272
115
743
75
803
11
330
207
977
377
417
319
513
768
590
70
291
315
824
149
306
41
216
577
456
206
23
821
748
473
207
417
638
827
340
732
900
244
382
842
392
167
480
419
584
206
230
772
63
236
739
765
318
336
43
276
355
413
363
94
842
299
730
785
159
888
795
903
256
252
400
430
760
264
295
817
223
209
363
340
968
215
925
172
682
481
612
828
942
720
302
993
105
834
861
234
192
930
608
621
301
862
196
453
751
936
235
22
225
494
43
570
882
174
578
36
543
148
596
12
978
659
984
591
994
493
296
402
45
453
122
972
238
648
798
372
191
168
211
602
317
303
850
384
170
191
932
380
77
869
302
603
736
963
217
653
899
197
131
652
717
712
601
510
106
326
791
802
433
408
708
798
133
100
995
154
384
553
635
172
556
123
502
966
845
875
932
483
544
298
781
9
621
159
475
897
415
179
330
191
974
958
409
423
47
324
733
797
343
984
955
711
248
368
475
284
337
602
279
87
685
397
324
707
437
1
382
348
9
681
775
881
80
172
119
896
200
111
927
137
488
843
392
663
371
503
356
581
56
605
915
681
318
503
650
566
155
433
832
130
649
469
11
936
622
359
103
626
851
180
280
751
361
801
554
883
357
119
935
89
944
71
646
153
237
987
486
792
566
224
165
368
619
320
292
966
416
9
566
384
511
145
788
628
52
895
7
1
704
936
369
75
5
234
847
29
420
995
140
795
559
613
695
594
862
933
602
57
936
402
634
942
558
174
842
853
405
628
651
268
430
645
391
596
847
596
859
818
670
808
205
133
411
617
112
62
589
377
61
654
902
457
201
3
444
637
637
728
393
182
698
959
858
109
296
832
107
443
807
622
96
657
307
739
390
374
110
888
226
214
981
925
628
300
969
634
617
998
189
670
946
653
301
339
180
148
896
584
740
274
165
559
852
176
808
177
128
300
451
255
459
37
84
83
529
524
661
645
264
316
257
574
210
864
175
662
902
130
214
711
260
372
956
538
439
831
616
394
624
235
711
482
822
745
795
467
844
871
132
343
10
730
835
797
817
181
184
436
648
421
467
893
754
429
260
370
236
569
843
352
663
992
862
531
887
813
727
723
742
83
320
415
859
931
25
999
903
114
121
103
939
844
822
679
44
33
595
653
903
569
791
777
584
859
403
616
7
65
15
113
585
645
685
392
870
496
786
314
484
823
279
486
669
504
769
372
212
371
949
617
335
202
280
62
3
214
208
40
824
558
977
345
549
838
398
707
527
432
290
676
494
799
79
834
373
541
803
352
386
271
766
492
237
246
70
403
164
325
734
700
893
445
25
668
261
699
475
37
892
89
224
521
399
187
505
401
128
979
720
857
358
353
811
843
148
520
611
323
852
514
283
705
245
119
182
676
841
148
813
896
510
98
236
362
594
93
223
549
294
724
335
624
75
869
162
509
627
11
281
349
604
768
206
941
567
308
673
354
978
175
85
774
116
801
491
616
877
973
68
17
889
365
32
951
612
242
224
190
71
404
829
521
904
803
535
68
557
454
848
477
260
37
652
180
404
109
989
575
720
956
865
911
516
253
249
132
515
92
567
454
686
35
846
732
186
985
418
611
570
952
702
664
514
848
408
416
744
877
817
610
14
240
807
813
812
236
889
256
500
969
656
122
733
329
427
153
154
101
14
841
596
31
326
241
791
771
115
201
609
876
766
328
703
281
833
487
68
684
533
148
695
418
575
238
965
267
710
886
21
646
808
456
66
750
545
262
251
728
932
603
654
36
895
771
188
79
695
580
411
884
84
776
192
991
160
684
804
604
441
43
957
675
536
881
659
568
828
953
316
494
688
747
397
155
602
40
935
164
821
159
874
768
474
601
149
506
560
902
926
137
552
761
806
440
656
545
64
689
781
388
574
431
928
141
822
993
392
315
992
149
778
90
909
383
528
811
146
659
144
841
554
89
464
566
314
837
295
479
716
73
897
805
559
299
584
472
12
195
295
380
246
471
920
602
391
609
603
555
672
603
977
738
580
245
294
603
506
291
849
574
229
271
645
717
265
376
131
671
414
565
598
134
828
508
161
441
331
655
981
329
881
273
423
253
955
637
851
114
68
817
551
588
650
305
215
367
543
741
848
365
66
348
164
772
518
679
957
916
480
915
268
717
481
458
800
621
372
100
451
550
471
336
706
168
804
77
101
996
230
969
0
972
385
503
719
242
616
152
425
657
422
298
642
478
628
600
644
29
449
934
454
334
401
495
601
33
138
205
143
233
434
613
429
306
844
415
620
485
517
344
890
597
326
207
145
384
853
195
135
249
109
501
541
331
679
686
768
517
97
40
279
233
173
744
375
949
790
575
846
934
30
927
921
606
665
259
4
584
662
303
394
259
450
341
274
606
858
99
895
18
251
26
276
933
980
375
845
977
38
256
76
213
106
279
567
832
766
396
53
823
271
276
73
335
839
7
165
167
512
467
60
745
29
49
144
795
188
580
48
586
322
76
484
694
26
648
530
953
156
340
774
240
110
802
930
778
521
277
290
401
916
410
282
88
539
279
555
229
728
106
217
496
817
362
107
302
963
361
646
453
223
917
448
455
488
628
42
903
296
440
796
934
501
682
797
500
174
933
585
971
256
859
154
11
904
921
450
799
768
618
515
97
602
496
272
876
111
753
573
666
342
637
550
584
417
390
201
894
244
562
32
552
129
919
344
575
394
223
559
438
202
477
479
721
611
736
185
174
672
790
645
383
823
513
342
525
730
99
4
589
514
277
78
463
345
243
546
154
921
773
434
457
856
224
162
499
50
884
875
514
800
190
150
789
573
724
22
80
466
290
345
981
99
899
894
658
700
202
674
947
129
434
172
652
329
185
914
749
129
589
176
32
114
118
350
587
456
75
746
530
182
520
719
740
673
165
303
340
594
136
881
551
677
899
812
460
629
6
601
976
598
148
133
19
571
435
788
62
960
991
514
957
518
83
59
713
802
412
377
912
187
316
798
691
975
314
202
358
303
847
958
615
203
908
515
286
847
454
57
934
342
123
530
684
215
351
393
333
428
321
450
519
330
56
70
900
988
339
970
750
781
659
635
814
337
303
785
78
600
385
547
612
123
293
126
160
141
463
855
3
792
138
53
881
535
631
74
173
635
635
234
934
750
930
469
889
797
887
121
608
482
848
647
501
551
483
512
981
160
64
403
231
872
356
759
235
707
898
251
514
970
304
196
52
325
709
135
949
737
670
103
34
560
841
705
593
110
608
691
939
65
754
329
845
0
318
166
857
59
452
833
439
542
435
251
829
702
882
669
972
28
835
725
177
579
142
799
41
438
221
443
267
226
314
983
688
413
768
786
514
168
573
94
214
731
90
553
607
699
736
77
400
437
956
805
52
500
195
164
658
757
664
982
631
388
271
164
10
922
982
555
868
731
106
222
77
71
49
517
502
149
447
80
987
43
672
163
10
116
957
543
557
803
737
911
538
83
647
808
514
674
992
265
210
718
444
146
339
859
607
608
304
439
680
787
878
770
352
227
874
203
478
906
766
264
900
414
166
970
643
546
78
794
985
918
944
269
651
988
84
54
914
182
939
21
489
549
548
297
838
802
933
14
123
277
302
321
305
263
775
344
789
480
921
823
321
304
208
762
542
431
531
114
903
405
458
517
383
676
293
25
164
913
608
714
4
513
645
532
543
6
555
923
268
346
139
146
151
733
429
559
320
550
263
662
258
69
922
526
674
204
922
924
574
845
324
814
831
794
99
139
847
29
166
993
807
942
217
391
410
121
460
818
456
522
969
431
291
968
773
241
197
575
379
146
423
54
153
746
596
375
320
0
108
575
962
669
322
610
806
650
552
291
899
630
927
781
788
813
797
234
944
952
663
781
34
599
125
60
44
627
244
71
859
424
288
714
969
848
301
361
752
273
710
417
445
285
843
599
243
946
52
286
397
586
94
571
402
613
439
769
132
131
938
822
67
122
142
921
425
950
375
906
368
272
560
463
474
748
124
795
124
293
59
257
204
775
224
948
971
252
130
666
417
986
147
530
185
327
478
386
469
371
229
501
555
8
628
397
207
419
281
104
756
404
212
353
663
249
846
409
142
782
489
562
113
933
845
206
684
634
162
541
4
20
915
614
663
869
160
470
525
670
140
170
156
274
615
162
922
512
583
124
16
52
731
851
223
702
343
174
53
892
296
280
873
949
674
846
397
937
646
354
11
730
430
309
144
120
328
643
467
295
738
339
336
140
469
182
812
399
674
617
629
80
181
510
609
874
475
533
654
80
923
866
104
653
601
516
989
891
404
449
788
329
174
203
233
372
385
935
459
632
924
959
503
751
315
511
994
179
710
791
404
141
843
114
273
867
898
574
686
394
18
230
69
57
667
855
799
263
318
807
125
210
171
277
118
819
436
206
28
765
731
276
680
40
450
779
410
590
616
777
381
377
785
306
339
604
969
204
249
864
848
118
929
537
25
637
118
250
66
278
141
379
448
716
953
373
167
297
764
470
171
912
361
104
970
492
119
982
996
95
517
193
67
854
929
117
460
229
216
813
696
683
437
618
922
593
457
74
902
688
564
247
689
756
950
828
207
146
955
865
768
193
944
134
829
412
886
12
831
204
26
784
892
682
863
680
331
370
761
108
153
683
402
295
660
593
902
727
345
859
21
165
117
399
964
286
549
340
447
990
45
883
98
771
333
611
491
47
738
47
29
885
283
689
7
505
508
475
500
477
352
226
477
566
672
484
846
176
168
654
514
331
657
155
222
645
13
867
359
965
535
655
273
665
179
463
410
535
369
819
701
255
333
93
317
791
284
710
120
760
784
357
510
924
432
392
321
946
298
500
703
156
636
832
155
234
910
691
952
859
330
114
484
70
169
38
342
930
486
993
608
56
378
222
38
154
359
962
609
688
532
151
519
530
706
176
796
607
956
438
271
3
140
826
746
779
761
957
668
77
19
781
144
82
762
294
129
704
187
750
913
804
255
731
961
933
288
404
67
99
55
426
924
902
127
819
491
472
977
138
438
382
437
366
443
460
241
859
788
78
7
85
872
894
956
800
470
273
218
99
870
221
477
958
344
825
713
999
595
311
26
787
200
925
285
157
566
726
307
323
577
75
30
492
158
263
89
729
350
748
962
624
67
711
875
891
925
276
434
378
522
530
154
973
902
661
665
422
543
701
182
971
245
137
671
857
899
149
472
222
321
761
378
641
113
487
792
903
853
725
600
226
558
335
139
553
60
698
163
779
763
418
499
182
446
575
283
707
160
583
108
724
954
167
678
821
479
162
242
590
881
451
559
277
394
795
624
665
113
544
97
331
701
225
367
676
631
992
87
875
937
897
592
968
684
788
158
661
384
407
993
959
929
935
249
596
395
539
596
860
707
562
928
814
290
357
296
522
487
819
10
850
495
176
740
509
83
54
498
504
11
464
792
513
72
84
36
71
178
896
443
242
714
807
415
900
438
836
74
134
877
711
533
370
272
763
480
995
168
209
671
309
118
690
810
343
597
62
886
338
365
903
723
900
147
917
844
857
733
481
910
765
767
209
385
915
740
650
816
935
271
896
997
277
257
310
86
448
370
309
106
528
556
717
331
271
658
355
313
189
669
54
584
808
253
644
423
991
237
830
778
937
388
750
356
184
273
88
790
263
827
415
768
205
167
932
188
871
175
714
116
671
308
583
106
978
414
315
161
518
670
346
136
659
824
207
169
328
975
482
696
356
465
389
851
839
857
163
856
345
341
560
493
143
159
433
390
258
593
31
962
776
291
100
782
764
715
456
56
305
8
376
297
927
693
321
480
740
990
200
816
446
102
694
525
725
227
259
951
141
484
222
741
941
215
9
962
209
49
808
323
33
476
998
702
546
453
241
665
452
681
476
123
326
884
208
240
761
450
439
33
697
396
869
369
126
479
618
243
157
535
560
128
200
966
619
373
707
12
468
626
171
573
159
886
594
201
193
510
605
698
193
760
258
833
113
465
929
439
781
525
974
488
418
333
950
736
444
688
139
951
426
143
99
27
250
612
629
998
758
608
947
795
102
811
66
316
214
206
354
162
207
6
752
142
765
280
519
954
311
211
646
541
299
384
354
367
123
529
551
776
768
241
269
924
822
537
465
776
354
387
650
84
597
902
104
978
260
708
16
814
292
18
260
490
23
19
94
89
431
537
272
458
680
498
153
767
84
571
872
142
343
487
782
638
748
804
635
155
878
183
353
217
707
394
18
103
663
857
958
801
925
523
496
812
764
502
837
571
47
482
336
256
181
599
716
374
321
487
408
659
57
948
53
434
996
311
306
291
704
548
639
754
543
293
903
323
420
115
500
41
822
492
481
141
2
779
291
708
367
270
939
543
243
54
643
296
85
876
44
164
861
655
587
187
896
480
87
460
414
921
629
434
691
247
63
530
363
924
137
57
117
693
306
234
111
787
170
670
143
561
702
734
976
854
313
574
562
781
757
999
703
419
145
222
582
198
490
835
311
163
580
921
163
856
873
451
366
469
819
21
864
132
341
191
388
501
892
799
869
729
623
628
907
389
244
863
724
823
799
88
748
592
157
544
173
872
587
20
677
813
64
547
658
155
936
16
586
897
355
802
701
782
777
953
575
588
991
295
178
150
837
550
391
861
144
303
769
165
926
59
701
94
964
427
140
852
980
125
547
10
694
196
210
589
642
189
917
629
321
193
77
999
279
517
948
249
673
416
936
579
278
955
866
592
79
484
4
475
271
229
105
986
201
408
756
708
38
877
577
389
817
244
940
829
110
499
900
706
30
817
408
652
852
79
994
140
812
508
282
690
794
203
89
341
394
639
55
27
84
267
531
868
116
380
257
34
562
197
106
377
770
163
279
493
454
971
332
945
772
966
50
649
120
33
313
408
657
643
88
41
974
101
98
940
57
125
797
243
815
715
796
17
550
103
618
777
455
945
51
473
652
886
163
748
504
636
192
167
66
629
862
688
25
370
555
382
27
741
922
259
191
578
33
786
356
192
845
388
137
933
219
769
108
785
384
446
801
717
542
476
525
975
686
219
297
914
552
571
535
304
66
531
3
372
767
714
418
16
463
75
129
590
577
928
608
160
97
657
655
430
581
878
258
241
424
421
107
808
985
536
544
254
400
105
474
925
622
489
638
255
25
262
417
897
133
729
528
504
531
917
210
621
249
689
742
954
794
986
847
731
553
602
338
583
37
340
689
736
811
202
685
842
163
120
688
844
174
285
202
375
490
886
154
996
768
354
966
609
389
990
162
102
571
276
635
892
748
992
662
883
31
41
880
92
230
159
355
234
473
760
112
988
854
151
982
134
898
386
332
316
548
688
991
891
369
580
500
494
599
867
960
149
399
20
681
780
269
648
259
286
723
617
989
996
774
921
763
576
206
438
802
32
307
363
660
134
64
894
89
596
26
659
708
156
504
439
384
559
950
10
920
843
386
560
765
567
482
45
647
433
352
393
936
517
945
428
426
376
260
619
38
75
265
843
915
878
777
391
556
401
253
912
497
116
471
884
545
174
222
701
108
824
910
0
262
856
744
238
702
236
427
619
354
86
582
482
933
880
478
607
10
700
796
111
321
662
592
222
956
309
402
490
240
725
625
458
616
881
282
98
656
517
872
162
683
407
442
397
707
15
634
710
551
777
684
792
319
823
226
720
69
638
1
171
251
515
424
56
866
742
768
219
27
416
886
460
984
923
563
705
710
437
951
626
306
983
190
573
953
735
851
843
218
454
955
148
935
251
797
255
611
852
382
125
966
294
460
478
244
225
638
501
872
312
72
886
215
180
978
498
239
156
856
231
734
77
389
721
405
795
175
750
993
953
498
25
205
797
849
626
65
960
512
20
841
204
907
678
641
878
432
596
758
622
953
439
753
106
664
862
102
628
958
577
144
930
312
519
646
640
482
72
890
427
381
543
238
412
762
732
771
470
849
685
62
680
129
736
62
769
263
589
124
149
149
666
600
238
142
128
158
969
62
815
512
477
582
72
984
767
605
286
979
150
452
485
604
723
124
598
891
548
480
35
248
945
503
350
601
171
65
102
865
872
976
146
278
202
314
117
435
555
503
50
458
731
414
731
455
149
821
772
798
839
314
588
671
843
308
19
146
844
70
854
95
861
570
699
716
446
896
109
82
45
506
111
725
780
451
524
121
973
727
133
126
71
8
23
51
507
356
624
187
956
20
934
601
678
792
550
611
136
351
458
910
164
125
687
102
700
470
932
957
222
381
977
696
375
919
102
547
649
752
871
535
487
155
387
207
303
359
407
804
1
684
22
530
259
788
388
906
70
856
647
350
679
227
455
184
52
683
144
83
781
946
334
635
156
695
881
246
662
785
653
395
990
71
373
31
848
886
604
121
450
727
307
914
139
652
281
68
735
943
476
932
928
238
428
401
669
947
640
141
991
536
836
847
723
210
91
299
672
29
95
467
817
452
714
235
846
781
364
638
307
64
961
935
875
710
401
387
606
891
49
59
27
562
986
203
934
86
895
940
307
773
599
606
393
564
434
394
200
787
937
49
154
364
371
594
741
151
818
657
514
605
770
482
279
643
307
911
223
0
733
40
391
130
624
555
27
733
744
641
194
196
161
333
719
441
99
605
961
516
846
56
37
669
942
616
710
542
652
91
786
544
402
87
449
433
59
833
954
214
359
163
430
915
264
855
415
341
63
75
363
394
395
859
127
743
696
66
464
783
341
428
393
28
369
417
415
967
96
889
214
146
689
61
782
693
232
572
678
3
441
134
779
339
788
554
501
872
372
655
326
904
588
370
889
924
435
422
373
19
192
866
615
731
98
428
4
244
267
604
358
358
627
808
432
53
33
668
31
678
897
846
113
314
421
917
276
812
822
921
618
71
220
817
350
65
364
882
834
790
235
130
192
195
116
796
835
750
813
761
604
863
154
885
815
197
787
10
481
165
73
418
671
980
392
574
514
460
426
248
618
957
789
652
149
295
890
918
877
133
505
867
554
105
669
881
676
288
547
991
511
168
713
477
263
579
502
271
751
736
659
285
196
82
958
198
95
311
203
25
177
840
536
590
942
723
86
413
835
774
838
576
215
116
588
136
998
974
389
406
844
120
765
65
168
923
926
710
862
516
414
179
607
787
518
840
489
686
672
987
569
120
888
562
712
954
61
868
714
942
23
223
550
890
641
617
47
712
121
703
936
935
773
722
620
85
149
634
178
702
884
173
215
116
359
198
698
263
415
688
107
355
336
986
150
52
974
367
124
765
898
873
7
292
579
818
282
941
84
923
449
731
205
854
774
77
781
466
235
142
781
872
178
500
617
33
197
171
94
78
680
922
426
238
242
187
213
531
520
224
415
525
297
255
525
177
596
373
517
144
673
618
479
23
265
475
108
468
205
232
55
939
382
485
148
552
850
316
373
739
716
194
227
722
410
990
313
935
91
757
609
19
936
130
132
671
556
369
885
704
300
923
591
125
438
413
993
253
74
2
733
821
572
443
51
222
365
718
714
577
995
350
761
859
661
724
787
795
850
456
909
988
371
858
201
327
363
947
857
445
617
41
908
501
486
266
479
494
166
299
590
402
0
341
386
714
219
98
322
781
669
431
908
455
988
120
821
239
356
785
52
74
121
201
671
443
945
284
735
252
358
805
445
165
391
204
525
414
684
483
693
951
94
524
678
261
831
585
596
255
155
313
420
519
380
671
469
371
686
251
538
58
366
253
788
864
721
130
589
28
697
968
861
814
502
375
42
634
544
989
301
647
228
891
28
382
819
613
14
725
133
844
75
414
838
808
18
851
935
612
441
832
108
905
54
946
555
730
894
243
317
502
498
22
144
617
937
165
747
862
301
454
22
887
538
940
175
351
877
394
433
198
228
857
347
858
399
237
19
734
834
701
548
945
76
89
790
888
914
595
206
681
146
238
655
96
115
251
772
819
437
500
744
22
361
12
749
271
286
405
129
640
695
273
831
586
364
476
86
293
522
109
24
370
660
901
77
314
571
410
318
815
300
972
835
138
105
95
972
577
248
283
943
50
812
621
525
605
94
591
444
208
691
865
666
117
786
426
189
144
802
348
627
951
747
29
33
111
276
203
489
622
309
262
776
941
242
159
186
652
189
131
473
207
118
736
890
276
727
207
155
432
2
755
311
189
683
186
995
808
733
844
238
176
73
694
652
475
64
488
904
513
211
142
332
788
852
27
934
706
581
355
877
663
276
339
222
541
187
128
834
550
997
849
354
549
858
288
232
383
317
989
606
289
561
194
520
649
813
288
974
571
47
516
12
157
444
799
28
627
988
335
697
775
666
664
730
336
694
372
892
782
702
510
895
608
900
279
932
44
75
745
819
979
249
312
937
754
477
43
530
455
81
146
486
435
398
717
337
252
323
682
429
45
468
752
265
106
665
20
117
449
294
969
217
466
188
559
835
635
264
853
491
678
553
860
536
662
124
426
50
676
82
52
266
595
874
548
3
135
415
400
827
198
665
584
145
259
341
994
670
536
589
731
492
39
815
507
937
324
491
60
451
576
932
838
863
639
28
793
322
830
554
318
534
880
200
416
954
724
802
772
271
498
782
341
14
714
762
627
610
153
51
27
265
745
419
845
233
306
470
226
171
77
517
374
540
241
183
320
309
127
37
230
318
74
219
287
967
164
780
748
450
372
613
443
857
789
983
797
532
669
645
438
190
192
971
392
739
961
369
776
730
933
875
622
134
964
914
753
390
852
414
937
250
322
134
89
780
20
561
270
84
786
127
664
509
406
459
268
749
756
559
721
163
689
203
685
740
612
857
649
117
965
751
866
516
55
913
977
450
416
658
522
48
644
485
312
694
394
336
655
719
955
479
128
541
476
76
771
321
273
883
7
35
614
375
775
714
372
834
180
222
156
952
558
169
676
995
971
792
909
208
882
716
284
434
767
351
846
255
193
125
546
250
680
80
356
953
180
104
700
188
892
140
92
913
970
714
400
24
179
606
184
134
780
306
514
487
49
854
122
69
668
536
811
475
869
67
998
256
675
578
64
585
229
949
209
727
731
264
983
723
220
905
289
970
652
566
704
250
603
501
653
517
282
198
966
330
777
436
822
496
686
719
477
493
582
547
962
181
844
652
160
679
466
469
616
546
438
826
304
983
945
438
865
600
438
581
365
532
504
836
476
364
370
671
231
412
154
107
752
623
363
613
47
522
253
456
587
735
542
153
643
540
844
996
668
826
879
71
96
144
381
886
61
828
191
676
764
781
477
412
618
196
67
544
634
599
793
351
72
54
865
421
191
388
24
519
31
753
71
721
730
596
572
53
313
309
845
632
653
393
336
435
633
426
983
837
660
197
429
981
550
785
70
705
711
462
798
521
628
413
379
743
489
485
646
597
583
958
967
121
837
746
390
405
394
329
451
718
424
789
609
306
979
353
87
967
104
744
250
887
306
543
660
624
50
844
335
468
185
441
930
267
801
144
76
579
119
816
430
887
828
355
839
622
139
187
948
206
472
420
639
872
197
753
300
879
718
734
275
134
410
944
282
473
259
934
504
698
235
1
838
955
623
892
743
441
922
118
44
926
55
110
951
158
342
155
817
499
86
380
262
706
604
688
522
7
464
659
782
680
337
723
365
772
293
865
629
77
653
527
853
598
395
832
80
653
605
333
834
939
646
255
146
42
88
326
493
103
110
349
527
636
947
585
806
232
5
370
289
91
475
707
583
892
340
331
522
871
150
512
884
359
747
756
740
672
465
421
339
43
120
322
450
768
89
725
276
864
881
798
98
955
746
164
50
237
303
111
361
998
369
33
433
837
149
604
931
425
896
984
252
297
591
344
260
293
782
824
19
67
720
251
305
207
334
933
28
914
370
41
230
820
685
975
961
861
569
105
405
350
269
496
692
668
675
637
979
683
922
363
533
913
540
927
219
890
800
494
46
74
191
76
214
807
673
813
786
373
239
696
804
697
339
967
637
345
495
988
536
374
31
807
449
626
663
382
877
8
556
323
419
92
909
197
342
165
501
179
318
927
108
630
591
192
657
926
607
758
556
652
839
193
861
897
287
634
456
258
24
486
314
515
917
715
936
480
647
309
630
724
72
660
200
803
564
612
245
804
415
921
324
460
182
883
497
111
45
137
628
742
256
171
36
780
407
234
175
957
598
435
995
389
315
328
599
359
922
707
698
541
373
529
844
701
75
527
266
422
947
940
877
224
290
150
299
726
992
237
862
738
135
779
684
812
552
848
549
280
50
497
86
662
25
464
304
643
100
486
307
828
696
986
85
904
580
881
246
579
713
398
421
254
525
555
152
340
953
125
277
626
414
214
558
320
318
718
27
521
200
480
127
637
40
826
683
42
42
675
627
879
8
415
922
930
659
87
726
594
485
308
500
791
781
761
715
110
117
728
21
360
56
877
71
485
320
721
16
620
955
277
736
735
916
48
828
645
645
377
757
195
375
570
692
364
656
235
224
399
0
54
972
81
397
190
825
957
773
61
827
251
939
975
145
82
470
520
124
500
149
577
849
46
346
406
652
38
5
715
83
920
63
550
655
13
357
705
80
533
126
876
124
776
539
34
488
85
946
435
629
958
628
55
65
928
317
561
734
770
332
469
484
441
407
772
743
468
452
499
460
303
141
429
375
901
842
337
199
492
720
274
968
969
267
41
580
361
548
930
920
433
454
90
564
705
833
420
321
630
714
247
144
168
7
685
737
766
851
697
872
528
497
793
499
278
424
597
493
927
320
859
68
615
603
815
819
732
922
552
468
24
980
800
88
926
263
881
891
418
0
785
722
149
364
987
510
994
104
347
318
759
472
607
479
822
902
400
575
769
921
376
150
994
375
8
133
760
513
587
916
455
881
572
530
913
491
112
312
875
498
82
435
466
285
8
225
118
452
979
667
550
264
61
821
551
454
821
304
691
733
41
297
62
534
865
540
63
829
63
360
590
135
231
87
374
117
90
16
563
127
421
571
646
370
965
444
53
953
631
3
518
449
724
760
404
984
377
22
973
631
893
393
832
133
464
395
612
453
414
237
838
163
486
974
564
240
789
152
907
346
547
261
5
207
864
618
288
264
213
465
788
303
996
354
110
16
581
540
791
836
298
693
844
346
766
481
342
112
654
598
352
160
38
958
999
441
941
591
321
43
176
919
57
580
403
552
988
169
740
930
493
899
789
581
713
532
403
905
506
787
342
970
622
699
81
675
939
206
557
764
469
91
317
883
686
416
767
388
219
579
47
366
20
868
842
27
121
962
524
134
240
94
755
730
159
317
300
838
971
819
889
811
160
11
849
185
555
198
279
979
635
839
74
975
490
564
814
245
239
405
12
282
701
37
125
400
281
59
405
671
410
704
139
287
317
659
191
129
340
147
937
725
854
523
634
608
126
261
11
76
986
240
560
292
358
822
120
565
396
774
513
883
297
70
728
658
120
46
481
26
971
789
617
70
910
3
299
170
27
352
570
667
843
863
745
633
424
290
922
851
190
482
823
75
536
287
373
71
723
912
250
328
766
260
322
910
742
781
233
503
207
309
230
931
870
49
575
800
542
598
126
900
95
880
409
173
3
377
450
620
493
217
906
168
281
210
261
463
10
708
643
109
292
22
753
801
840
280
352
189
587
97
645
881
314
818
388
98
501
886
941
725
938
200
79
42
908
804
685
986
350
44
716
156
146
42
109
528
992
281
983
234
77
888
682
842
715
733
905
445
270
513
629
460
928
112
746
597
546
588
360
190
428
832
342
506
655
851
904
205
485
759
753
595
3
804
8
805
711
640
924
845
983
542
569
241
155
550
970
249
373
472
239
969
127
792
112
462
115
802
528
127
508
46
727
831
969
485
663
410
370
698
546
830
122
676
977
772
498
608
343
359
813
821
587
703
467
522
38
131
557
23
790
774
99
403
522
733
395
391
745
691
749
748
618
688
868
720
784
763
814
143
610
645
432
561
334
145
723
248
282
82
289
201
678
168
157
23
327
202
357
165
973
975
99
340
864
655
421
470
655
443
985
32
741
309
934
310
278
813
412
447
664
899
699
188
181
15
411
16
414
644
275
118
797
196
939
92
524
534
439
363
379
777
644
753
363
130
380
921
480
345
245
946
853
8
203
71
346
100
782
807
201
562
571
863
79
200
306
531
932
588
930
74
410
982
81
704
140
960
186
232
841
347
80
649
735
575
773
110
346
772
432
737
115
757
928
556
277
344
477
626
624
902
424
620
680
7
653
174
106
989
977
845
541
257
163
448
86
321
459
100
448
338
737
327
888
321
397
768
309
743
299
23
320
684
554
782
670
33
931
889
674
458
626
555
26
598
526
637
606
76
729
369
939
698
570
666
649
592
229
394
295
613
58
6
190
10
751
972
185
158
859
192
338
427
72
285
948
550
959
736
614
926
736
483
367
308
12
930
476
482
46
373
866
353
622
68
198
48
948
411
382
749
757
28
302
777
501
247
269
756
474
203
317
725
654
607
98
935
469
737
567
523
676
830
580
288
800
505
595
343
350
260
921
450
194
555
651
698
969
852
559
293
916
266
626
539
31
474
906
541
773
497
411
606
149
584
354
255
415
206
915
775
509
951
564
872
185
130
196
604
453
16
519
954
702
238
934
529
365
672
698
41
272
631
406
838
826
705
902
363
960
755
960
341
277
869
788
416
978
169
187
714
305
579
82
433
151
301
189
791
788
148
550
190
482
44
686
634
516
103
483
768
191
846
234
158
630
249
777
309
325
466
530
816
257
415
432
116
840
617
214
432
998
276
247
591
897
519
870
574
684
924
892
99
962
80
519
878
884
735
268
93
48
593
247
418
231
412
700
672
123
953
446
805
56
896
103
247
29
600
647
255
7
775
719
42
521
0
157
515
975
492
94
244
342
856
458
18
528
793
384
643
457
777
416
280
758
971
809
233
289
726
541
141
713
892
377
558
429
463
467
445
902
957
276
171
400
25
809
379
371
176
58
460
928
227
44
394
121
162
989
60
801
174
864
65
29
752
488
644
277
838
741
352
253
848
982
930
601
986
988
550
539
976
434
764
889
144
261
48
152
499
863
818
142
88
365
441
674
763
550
401
212
693
138
884
584
494
224
378
422
172
837
678
192
113
455
197
356
234
889
478
274
261
141
258
697
372
404
261
155
418
375
627
703
898
324
2
695
605
483
74
172
138
927
935
699
154
251
378
621
652
263
993
215
211
503
701
56
39
380
807
714
159
761
553
588
340
242
869
622
636
267
473
704
151
536
719
88
878
731
119
168
568
717
391
226
202
447
985
892
827
456
135
320
804
699
440
434
604
400
995
795
761
748
571
801
835
958
415
579
439
319
90
537
49
412
656
334
931
869
439
113
485
572
233
588
10
367
103
39
801
698
65
10
455
695
949
246
603
804
22
508
387
898
201
246
635
804
911
52
274
632
718
553
375
396
720
571
873
168
247
542
473
495
405
650
890
462
12
956
174
380
412
389
624
587
423
548
181
505
718
410
490
960
807
617
524
822
591
462
794
898
881
667
837
532
740
785
955
694
538
980
532
533
105
629
715
735
459
21
689
625
854
502
794
461
798
292
297
35
557
14
817
703
233
198
368
234
546
978
48
830
735
570
700
268
146
328
182
82
79
652
549
40
918
956
861
318
151
863
973
318
638
343
673
718
764
430
64
991
611
971
734
306
697
951
194
851
192
730
684
392
485
420
904
804
32
14
121
106
283
993
844
114
802
102
338
798
114
869
6
244
545
768
804
754
344
948
859
172
9
126
101
708
694
855
624
886
421
154
846
583
271
44
735
761
982
562
302
287
550
467
772
452
111
675
636
510
984
733
614
456
723
986
35
231
545
454
191
466
355
839
572
231
261
668
569
995
524
393
880
409
561
954
478
976
902
128
587
849
389
277
130
207
884
774
373
716
448
528
527
181
764
570
941
573
207
913
181
523
134
961
45
670
86
858
792
221
587
886
722
930
103
295
474
75
295
73
830
227
817
669
865
236
496
82
631
724
409
257
429
280
771
222
981
986
519
294
835
934
149
396
140
774
830
636
464
356
654
488
516
428
740
275
842
482
700
413
476
467
335
226
900
923
718
682
685
928
286
750
102
134
948
174
199
180
454
479
930
341
501
446
490
824
584
82
628
278
612
272
161
567
797
303
10
210
341
358
818
613
86
265
146
275
213
213
406
797
905
798
9
228
108
593
972
271
686
685
571
598
855
91
975
916
918
490
837
43
193
839
484
59
54
288
500
143
695
209
767
437
591
14
56
96
76
111
422
547
44
450
564
503
766
737
557
251
351
359
866
821
250
748
698
96
53
850
163
467
2
870
582
747
383
80
170
188
680
323
299
827
363
198
965
131
381
735
613
77
378
32
724
322
710
423
159
112
682
495
645
295
66
691
712
436
691
680
842
838
663
360
403
525
354
787
115
362
614
224
481
214
674
518
928
301
848
555
913
278
935
630
220
361
280
419
185
533
617
939
977
771
508
387
663
125
377
812
147
738
406
889
220
825
305
453
481
67
449
93
403
151
162
870
162
435
746
927
720
89
540
96
677
493
793
14
150
716
49
110
300
886
831
775
386
161
602
948
695
73
36
389
472
698
257
222
230
861
831
430
433
334
676
872
746
65
977
918
330
691
593
850
923
696
668
397
285
742
884
278
997
707
184
720
620
810
670
500
146
846
689
804
737
227
46
697
492
413
684
86
725
282
252
414
699
240
284
340
987
705
469
73
532
56
16
544
102
375
489
334
409
966
619
327
431
409
434
31
98
412
166
870
319
75
714
481
474
685
819
220
826
656
769
519
827
77
367
642
115
120
687
81
94
434
115
371
21
91
22
753
514
696
80
277
349
950
910
906
75
734
947
102
616
84
934
166
886
516
855
266
500
663
920
297
75
488
613
55
732
58
962
535
40
401
707
780
472
396
445
736
657
268
516
31
430
389
513
749
562
926
276
310
97
147
936
817
700
566
934
96
523
282
610
130
9
511
673
259
421
485
919
620
334
933
179
727
502
287
426
837
941
127
36
538
664
377
962
700
662
870
90
870
672
850
814
59
2
147
991
316
486
989
988
528
686
920
216
476
64
665
241
773
670
751
169
94
105
416
721
7
665
856
20
395
821
846
806
623
595
92
375
706
324
675
561
954
96
882
963
35
103
874
921
738
164
57
459
482
124
398
410
361
135
428
269
464
385
40
300
787
407
159
504
18
623
620
606
938
938
843
306
496
435
976
743
617
595
362
880
676
170
549
660
285
708
45
143
866
618
592
268
85
204
941
800
418
266
279
593
466
237
132
949
575
582
765
740
437
269
188
918
697
954
792
538
796
891
164
59
595
134
448
440
665
317
378
337
61
724
780
585
108
678
466
508
430
216
998
391
110
210
499
537
248
8
827
737
733
555
977
104
679
722
305
411
881
146
417
916
231
72
309
203
872
636
313
786
959
784
941
792
859
410
924
872
459
251
554
682
850
206
136
168
448
352
559
135
227
741
852
687
532
546
499
351
278
286
706
879
386
732
77
900
211
680
347
221
648
599
170
725
467
72
816
510
573
264
107
688
876
612
910
515
426
751
956
329
32
850
454
948
128
26
364
770
172
575
136
551
284
165
392
710
5
574
147
984
168
428
340
236
499
376
934
891
135
602
169
317
323
872
617
187
442
109
851
249
362
987
18
961
249
723
411
43
317
313
376
933
764
930
279
677
364
612
710
844
460
399
422
768
97
683
459
98
0
380
891
941
178
964
542
291
354
967
75
590
904
625
794
190
950
688
50
984
905
674
152
69
190
510
996
459
447
495
382
860
800
339
412
989
646
197
902
650
244
568
545
705
312
609
382
888
465
312
275
77
731
566
251
37
963
255
235
200
301
364
769
388
954
878
641
270
389
414
534
582
631
770
300
330
828
712
823
889
157
682
24
328
345
390
1
277
275
575
497
289
39
718
534
522
959
952
721
64
881
619
813
32
444
602
866
410
994
136
270
761
180
486
981
222
342
378
684
895
633
965
906
822
234
453
337
320
972
458
934
747
470
786
692
340
548
745
215
224
694
902
656
71
482
821
871
160
433
295
539
877
854
499
785
180
66
524
20
799
251
653
742
17
618
731
161
181
636
621
114
229
841
360
594
700
226
250
451
273
866
398
340
645
429
837
942
55
752
958
293
526
404
75
992
83
859
164
938
361
819
911
655
783
613
884
666
97
838
158
433
850
730
155
624
289
750
124
42
242
636
38
413
432
274
880
670
470
768
756
786
321
471
121
575
333
837
33
521
283
511
745
276
646
479
561
963
929
27
74
411
325
397
473
425
174
282
525
87
233
718
667
141
623
676
420
209
680
281
423
423
110
101
161
344
407
61
588
674
839
536
615
383
655
97
619
334
328
145
352
683
330
927
668
598
316
903
139
16
358
609
964
219
556
209
553
167
913
110
625
522
629
953
352
954
178
835
103
628
694
597
509
894
148
29
422
967
56
279
33
666
841
459
713
601
669
856
344
181
660
592
994
716
272
950
855
126
759
440
533
676
666
895
30
806
908
753
52
670
348
719
431
103
344
77
246
980
548
890
4
564
467
519
849
707
793
323
26
810
933
666
683
311
363
758
988
645
907
385
121
141
705
578
584
44
710
126
489
699
407
729
812
334
723
45
551
793
261
42
675
2
223
855
484
718
198
774
280
937
207
722
945
817
733
374
347
297
941
561
256
168
209
631
795
849
625
208
562
847
144
258
540
728
750
258
629
795
467
233
34
511
684
478
709
176
737
32
218
542
114
939
596
273
985
971
376
320
257
9
536
150
540
568
719
320
653
82
289
467
337
457
642
419
588
814
550
296
923
563
448
860
407
911
914
233
598
174
139
907
947
794
763
25
617
208
739
721
151
767
104
282
629
725
236
692
605
563
559
183
921
496
981
817
580
753
213
798
663
843
119
666
719
528
657
655
382
445
817
990
911
513
116
49
317
529
379
253
351
961
208
372
381
601
717
977
227
890
135
708
17
868
888
556
561
599
593
293
446
260
30
833
425
674
139
959
816
26
93
732
943
971
567
146
245
847
127
197
55
877
32
218
466
416
604
506
931
686
308
147
989
167
22
181
722
454
457
240
140
558
176
730
209
899
440
983
601
258
900
494
780
588
778
67
652
135
385
451
442
665
155
388
37
482
598
509
493
51
197
850
91
823
436
953
910
509
711
971
563
378
374
6
731
619
962
190
372
32
29
270
496
958
164
665
426
363
906
848
37
495
180
14
354
380
130
909
418
545
421
702
963
881
526
96
711
79
619
920
497
700
21
115
585
57
21
392
920
952
255
549
690
389
220
525
337
517
584
253
465
333
70
23
987
396
860
146
220
239
812
682
678
786
863
539
177
952
157
537
735
266
79
235
588
186
217
624
354
666
95
524
612
146
2
449
89
188
852
441
730
302
220
349
411
433
946
477
580
755
917
92
364
28
660
37
813
375
132
551
928
4
400
878
88
740
619
546
823
201
677
370
452
83
749
752
625
895
543
880
252
236
150
698
877
21
360
686
306
967
368
303
457
901
748
557
361
532
387
293
468
801
231
774
201
549
287
968
543
46
31
291
773
21
536
600
994
738
653
29
395
274
588
82
257
919
993
959
634
76
458
78
905
42
311
106
877
455
988
405
717
306
21
355
16
545
661
760
992
674
820
395
102
415
957
516
100
902
964
183
512
422
235
11
270
65
500
849
482
68
927
902
263
35
603
531
926
458
604
230
127
180
788
713
913
4
27
350
941
243
226
506
700
154
296
756
40
206
980
101
529
374
541
667
0
789
595
731
233
204
465
423
666
520
79
166
773
89
435
593
719
381
16
773
77
990
486
618
274
581
372
291
205
624
903
681
939
492
936
745
770
685
652
968
790
44
222
479
621
57
339
881
605
449
824
653
759
778
22
863
79
296
435
440
941
939
695
138
980
51
427
309
95
986
697
130
561
171
775
772
331
259
845
3
166
833
630
773
80
777
279
521
258
197
114
29
92
266
476
465
683
708
98
596
778
45
255
867
731
847
164
941
902
702
334
111
84
775
456
297
372
447
14
5
384
848
392
750
150
971
682
701
775
132
757
306
824
137
525
294
955
708
310
385
309
228
206
924
387
543
536
325
139
866
790
80
333
197
119
519
409
517
253
417
444
991
369
555
368
345
120
971
823
494
748
821
754
460
704
716
655
762
627
520
321
691
766
364
526
203
113
540
769
605
480
36
224
278
599
730
461
395
721
214
344
844
846
523
833
410
398
577
586
39
945
970
331
663
224
127
901
370
422
63
782
225
442
585
514
543
533
969
951
363
383
553
194
90
912
50
930
325
376
831
769
613
163
78
574
391
714
361
87
73
131
424
608
846
611
501
331
772
800
944
526
54
882
696
869
304
793
369
493
903
501
523
673
342
579
723
488
973
128
767
807
712
697
111
154
475
248
225
623
475
681
344
6
972
107
675
218
185
248
757
623
980
462
463
59
193
996
705
68
80
836
128
80
884
81
298
603
601
420
410
506
566
646
177
392
330
269
332
241
214
143
902
398
751
40
551
408
958
686
3
564
556
299
63
890
728
522
461
729
314
104
609
255
877
702
809
372
126
407
484
236
644
913
37
657
509
720
416
168
701
770
567
446
404
684
466
447
970
827
373
95
107
369
691
196
780
8
574
186
713
851
288
800
548
110
421
729
899
848
647
76
329
224
522
494
292
839
419
196
786
109
573
268
89
661
141
589
902
182
200
397
528
68
720
987
235
386
644
744
17
928
53
359
820
831
750
523
960
293
500
409
31
220
843
969
42
234
564
674
379
459
585
402
873
411
137
653
9
370
628
936
868
806
566
298
689
536
338
543
725
529
3
744
690
539
901
6
921
457
623
328
545
575
694
564
18
615
827
180
56
116
60
441
35
363
687
456
341
527
418
740
729
387
52
65
51
942
648
240
956
794
825
215
240
157
698
270
8
247
258
763
225
559
827
319
762
634
759
897
734
792
507
180
342
843
376
994
524
986
658
927
65
746
113
629
688
437
794
850
537
86
274
431
272
490
465
118
353
981
843
564
805
2
822
892
629
997
997
279
847
914
928
83
730
110
184
510
22
558
914
265
125
616
362
930
671
87
612
612
10
75
881
163
291
264
123
646
559
95
73
470
805
689
946
331
91
478
228
811
798
957
927
481
556
130
362
940
22
245
893
521
635
449
740
633
240
897
648
916
138
727
806
233
337
417
937
137
248
176
447
814
772
395
960
359
463
949
657
199
975
389
613
389
527
0
537
433
52
743
143
394
625
204
69
32
529
966
188
926
284
557
775
92
40
443
551
30
943
654
65
96
701
379
100
649
431
835
457
812
715
765
259
813
699
16
640
339
676
110
143
486
295
667
54
360
17
529
319
337
910
172
498
251
726
383
415
178
275
905
899
483
681
865
226
706
708
340
849
972
473
120
275
247
889
487
314
371
666
979
79
615
666
542
494
119
585
77
403
253
583
130
361
645
662
499
470
844
41
898
706
814
894
531
591
950
557
286
587
629
92
905
437
639
782
930
410
882
905
154
42
451
841
287
309
227
200
296
457
439
375
200
534
85
789
725
262
580
297
472
941
402
395
30
152
297
446
882
644
114
553
859
943
273
680
967
156
953
930
739
652
744
130
734
187
451
265
109
238
578
241
540
855
205
872
813
164
59
828
243
737
967
108
908
16
873
345
295
702
372
475
386
169
414
765
349
471
477
575
226
628
345
669
850
178
1
802
667
428
612
676
586
415
227
60
854
864
735
216
660
674
504
302
615
878
432
980
345
898
770
497
309
282
241
992
297
416
275
74
846
357
106
732
461
805
855
913
319
808
923
667
607
215
792
887
478
129
689
979
154
567
406
847
564
207
658
553
455
238
362
597
264
837
69
704
595
871
220
751
191
328
248
417
71
652
889
255
576
530
422
594
756
266
618
899
168
227
393
681
145
380
325
348
688
59
561
231
644
471
898
979
733
795
81
339
460
455
767
53
903
780
166
58
202
752
623
371
190
123
38
5
18
662
701
956
420
974
57
496
701
689
182
711
69
582
424
389
147
830
471
572
606
912
847
302
579
150
492
894
938
90
843
168
55
890
112
136
619
268
306
783
923
98
534
635
290
419
854
396
723
731
503
317
378
667
63
492
198
348
737
519
169
802
352
685
453
438
391
620
98
830
128
681
220
956
531
136
477
216
12
423
30
616
508
563
502
621
462
642
815
463
577
995
617
824
504
228
168
105
705
948
97
210
900
383
565
908
779
295
555
771
283
798
352
404
415
350
555
30
796
768
776
261
409
605
879
75
314
426
961
943
344
825
964
999
299
731
939
762
148
655
199
755
574
805
191
537
418
495
59
728
416
672
855
219
147
175
546
43
124
736
713
382
527
291
836
73
336
262
728
404
438
269
633
635
880
231
354
608
675
516
281
285
679
895
640
433
206
900
289
84
907
256
222
541
50
468
345
722
218
188
274
207
2
363
142
650
930
524
91
758
600
102
127
406
100
108
380
889
275
270
993
94
499
840
902
554
655
381
537
405
554
767
338
891
68
958
516
384
553
925
80
95
13
262
673
394
171
525
311
58
809
426
877
306
149
975
578
585
629
618
783
578
14
975
204
428
584
54
557
558
670
627
845
86
383
942
742
179
474
265
799
178
769
919
878
422
914
234
348
600
501
326
333
763
888
431
944
879
629
543
923
378
780
638
238
24
385
485
378
577
523
66
619
615
412
236
398
228
641
676
765
968
636
753
876
309
794
953
668
403
35
877
320
157
324
639
2
527
523
235
381
397
95
55
787
113
655
251
509
427
282
532
69
390
120
603
971
63
317
760
1
653
607
65
804
184
142
918
450
948
60
813
370
463
854
872
409
945
847
416
789
495
425
951
607
858
380
605
999
622
818
862
458
371
13
363
783
528
739
875
396
138
44
377
706
345
634
766
969
410
628
630
417
349
613
417
311
584
919
531
647
146
380
634
207
335
693
759
62
689
142
70
22
469
232
830
266
832
421
339
183
770
681
215
526
459
184
614
866
212
306
366
470
559
515
759
618
166
877
524
683
803
804
149
623
924
493
329
801
400
752
239
990
774
812
248
862
149
506
698
396
38
451
825
186
366
870
948
590
517
194
130
956
549
615
672
354
730
424
602
555
782
722
165
882
686
723
104
491
859
682
617
764
473
936
559
759
428
398
426
617
202
784
432
745
489
916
286
234
516
146
379
110
172
953
873
431
600
181
960
477
727
212
290
254
467
810
451
322
896
811
476
215
249
80
775
555
179
391
221
356
322
654
95
154
375
361
390
671
286
103
123
611
78
494
315
140
402
492
813
218
609
251
325
420
31
358
372
539
422
389
709
469
835
844
561
261
104
233
779
465
358
783
181
996
868
762
114
574
79
496
277
51
53
646
491
585
712
645
450
827
277
440
375
887
456
449
455
188
863
24
461
216
566
563
148
283
727
608
667
881
750
204
741
901
984
870
442
210
588
850
652
195
922
183
610
502
113
140
763
181
767
466
827
7
690
164
302
395
858
31
115
434
869
105
579
136
84
809
575
278
758
319
863
460
457
73
183
819
244
345
135
455
245
840
454
817
920
125
783
583
651
603
416
545
954
698
894
179
454
645
402
175
886
793
251
62
322
915
703
426
352
308
141
437
662
949
599
793
859
703
990
620
450
984
818
234
143
172
337
278
474
412
771
789
993
954
993
27
373
675
369
627
921
971
439
168
756
761
372
286
30
219
438
811
860
666
585
166
795
917
414
891
853
525
664
481
306
30
146
412
205
650
686
549
466
134
136
458
305
673
207
21
237
329
179
623
558
747
606
727
459
278
73
944
485
748
997
781
14
561
671
404
828
4
28
920
73
286
987
433
759
328
756
91
921
262
736
692
61
477
714
534
57
355
381
525
205
175
821
120
277
996
205
433
184
195
21
399
657
194
124
466
764
970
330
469
214
223
736
406
524
235
686
579
332
817
897
172
693
415
645
327
815
526
275
995
594
919
223
901
782
563
662
239
967
347
280
143
82
523
980
600
154
597
274
103
29
888
735
64
881
485
478
701
959
428
328
56
40
147
658
242
720
386
155
311
865
312
721
990
601
432
570
377
864
499
805
648
489
950
269
844
132
696
238
538
71
435
896
265
863
59
934
675
766
859
274
658
616
668
70
129
325
688
94
14
646
859
214
197
58
412
893
838
476
658
48
160
7
814
976
946
308
404
333
234
958
750
67
564
540
725
986
695
736
469
913
436
826
519
221
739
661
258
115
977
22
576
528
710
6
49
124
859
120
612
757
391
25
361
329
807
361
407
114
115
675
691
753
241
890
316
372
267
767
550
422
200
221
622
708
725
583
586
595
164
620
765
452
534
826
747
461
628
986
994
476
702
665
936
757
855
558
789
375
929
973
649
718
324
28
665
902
836
215
202
190
614
868
71
586
621
370
738
897
452
83
50
630
767
473
225
114
808
502
719
549
526
961
510
269
312
698
977
514
106
375
829
259
396
584
786
683
54
132
720
797
632
775
718
3
660
409
92
262
893
951
340
971
668
978
745
63
201
890
243
335
690
71
285
440
413
725
292
112
521
672
19
624
765
575
868
20
556
171
138
505
846
55
61
977
364
271
346
543
38
271
59
315
297
913
834
211
373
867
613
307
32
190
517
366
375
960
530
187
213
392
950
715
360
977
391
481
212
338
501
918
859
776
871
125
350
997
797
985
314
816
541
342
822
543
258
234
366
818
106
466
813
280
228
909
692
516
564
515
910
667
332
768
574
853
329
889
237
103
703
718
784
369
628
63
375
221
462
461
163
642
641
105
473
96
57
642
245
417
918
577
414
415
555
757
871
632
319
940
332
48
523
123
230
888
560
537
301
560
546
206
590
937
297
471
26
755
489
760
121
872
643
824
379
797
276
441
502
19
361
221
891
875
233
432
933
287
463
88
687
105
636
565
336
70
135
78
551
793
679
724
234
186
768
702
642
369
763
211
781
505
337
741
323
64
96
486
982
74
687
393
47
552
77
381
38
591
948
964
847
145
91
556
923
937
929
44
164
963
633
765
326
632
745
404
613
408
964
392
679
822
188
749
78
883
784
570
71
132
830
389
286
825
756
409
771
30
401
455
574
554
580
890
928
751
201
591
343
476
349
519
782
247
834
877
427
924
568
940
612
669
926
864
957
56
635
677
830
332
297
278
246
165
887
685
446
636
225
433
759
968
526
550
744
617
674
592
835
666
10
100
138
844
801
176
906
449
473
18
464
883
225
987
815
41
538
288
115
72
280
280
144
535
293
681
155
243
670
843
976
871
254
373
625
728
932
732
13
118
695
433
880
182
137
129
302
546
357
726
743
383
684
931
350
538
663
444
467
20
51
363
287
274
22
974
380
533
322
408
591
987
687
683
717
148
869
285
350
384
940
673
351
190
414
19
100
74
295
544
341
819
660
231
0
442
493
969
490
813
236
213
520
543
122
488
967
278
157
648
54
577
956
276
985
917
404
935
390
865
708
714
914
236
932
414
568
739
498
538
842
513
639
823
769
509
407
49
585
174
989
215
602
291
613
450
773
679
828
413
362
298
99
795
31
796
102
539
940
368
303
741
874
187
19
715
972
537
90
956
966
12
220
855
916
221
150
0
686
459
492
478
388
339
205
707
393
952
320
41
757
732
463
192
844
338
551
634
959
309
353
841
93
95
568
441
497
800
380
997
530
866
457
724
317
555
626
144
208
586
357
606
174
734
938
754
812
380
722
119
836
614
83
770
121
574
831
555
27
296
470
479
441
981
300
321
294
386
844
994
454
890
407
495
830
387
765
811
994
105
810
983
140
522
590
71
538
779
886
914
508
740
952
583
363
765
562
900
749
92
308
762
134
227
785
291
934
398
384
17
725
828
243
116
698
678
891
355
564
460
967
224
231
905
879
812
960
913
837
652
773
749
387
287
124
378
53
378
794
803
427
437
470
520
55
660
683
638
967
387
698
389
683
140
463
526
649
648
33
746
282
298
906
584
415
771
227
82
275
185
509
572
97
117
817
129
846
42
199
783
662
608
578
716
528
239
930
455
61
915
728
509
580
811
995
936
338
792
549
494
406
470
130
389
846
995
981
343
493
463
282
632
299
338
209
395
708
503
442
192
534
391
125
538
689
739
216
381
845
792
747
582
687
279
279
965
582
617
637
483
567
236
773
33
832
157
720
282
884
674
934
356
686
316
949
974
998
563
785
212
718
955
234
590
370
50
458
417
842
50
696
353
496
450
227
371
304
913
30
808
492
80
557
772
634
330
808
276
213
796
508
564
431
206
995
830
376
860
510
737
194
477
309
666
694
749
318
712
102
549
65
139
463
3
501
865
123
194
626
497
640
982
394
461
258
138
816
402
355
219
393
506
166
261
722
881
556
873
517
810
668
113
75
119
442
988
192
945
181
532
732
16
144
859
763
392
780
414
387
453
674
728
960
524
19
745
59
184
901
688
44
795
549
21
657
569
865
835
237
817
929
239
809
136
784
123
427
68
738
753
530
563
586
419
850
811
613
981
792
839
357
903
435
130
583
169
270
783
337
476
821
835
568
120
976
181
455
423
697
218
996
397
837
86
409
280
516
379
335
371
712
663
752
725
392
645
68
479
282
14
934
950
80
270
938
182
253
321
5
238
126
435
555
207
918
666
413
218
11
727
532
2
850
69
636
488
960
590
734
26
860
827
853
342
791
621
596
908
379
893
824
455
927
740
359
891
878
650
241
652
213
657
458
815
628
965
207
748
479
504
358
682
740
444
543
107
109
829
502
658
365
171
674
411
792
489
258
286
282
391
159
90
236
272
253
27
637
906
778
489
269
279
5
773
533
275
807
246
13
946
374
495
8
854
386
403
487
402
951
393
358
304
18
151
499
575
430
882
800
808
808
295
574
595
959
304
521
760
961
886
590
582
414
658
728
240
210
966
964
711
687
638
888
467
10
520
436
856
656
739
849
902
971
623
69
255
567
227
715
185
372
897
143
427
379
881
32
476
353
684
585
274
687
15
861
531
479
960
589
45
22
988
652
576
10
659
147
299
617
566
309
824
787
534
443
151
531
933
22
669
709
361
173
767
658
294
271
437
971
509
15
106
135
920
448
815
557
173
463
209
364
611
760
917
893
36
164
316
408
325
457
553
386
659
240
787
999
252
488
872
159
820
384
937
881
934
952
751
704
294
371
3
648
637
679
182
628
808
902
542
425
746
283
690
139
506
225
496
683
639
945
811
195
259
657
943
285
317
151
382
39
657
217
897
766
486
408
254
744
685
531
294
867
497
728
221
969
912
17
800
337
604
123
578
192
993
786
662
486
278
48
303
48
335
72
845
862
839
306
230
500
162
321
963
309
457
811
240
153
481
658
9
376
836
145
851
791
792
332
483
707
495
981
926
529
307
776
231
765
98
713
300
619
812
594
42
7
240
44
789
392
929
55
730
13
349
181
283
952
240
598
884
632
541
496
224
951
700
22
577
580
77
94
804
500
537
29
900
565
490
517
465
935
430
578
332
449
638
748
508
872
629
155
328
610
614
563
677
558
757
154
249
94
937
41
705
231
581
246
417
27
459
399
639
684
448
209
925
469
229
202
614
951
386
173
362
316
323
520
903
469
414
54
761
198
79
674
265
147
219
759
303
262
82
331
306
576
232
825
997
408
48
999
658
806
803
998
462
719
692
906
360
945
542
269
806
516
390
847
471
403
486
599
942
371
712
112
850
457
743
73
14
788
173
947
3
900
887
126
220
509
374
846
756
721
274
818
826
731
906
543
986
351
768
784
524
434
782
904
621
722
42
918
193
492
478
396
550
296
590
621
979
634
212
820
496
154
898
248
572
191
458
562
897
316
68
407
217
844
920
62
285
148
878
615
568
192
297
955
552
515
74
776
918
206
96
915
140
830
530
805
30
564
23
139
757
636
150
978
315
586
982
858
414
802
939
384
736
760
153
538
822
411
562
364
447
472
934
101
601
351
336
288
153
902
109
585
686
112
142
670
188
447
682
655
923
762
649
713
246
762
744
545
264
228
400
635
972
912
467
894
772
535
198
969
424
94
920
324
307
65
427
608
66
75
745
459
469
77
671
129
620
877
520
622
477
921
110
414
351
781
715
798
513
504
433
818
845
904
763
269
666
923
410
94
404
339
119
640
397
371
868
226
405
194
112
856
186
940
187
969
643
828
180
774
531
687
294
917
537
877
253
636
137
326
779
785
665
723
788
244
97
986
441
77
398
964
29
998
478
781
75
428
805
518
446
357
602
597
111
249
119
32
928
370
559
420
271
686
708
568
133
130
613
887
203
127
633
266
427
266
101
820
594
956
868
327
260
936
443
510
518
531
789
387
202
822
551
752
680
1
128
95
440
710
199
734
950
948
104
475
793
844
794
377
682
263
153
113
419
860
268
423
18
917
581
51
440
244
274
170
98
797
278
377
186
457
899
569
39
210
553
110
918
659
750
24
34
139
927
183
98
707
224
117
133
824
205
783
258
103
518
388
55
254
610
622
806
36
684
58
896
328
445
328
848
433
377
928
461
253
578
832
233
971
561
553
229
205
860
857
789
362
488
915
92
557
547
568
150
49
669
259
657
173
44
728
454
682
352
554
998
905
709
657
783
92
916
154
758
667
912
783
508
520
461
449
220
886
160
308
853
877
350
990
667
621
517
539
130
173
46
581
354
652
619
316
125
559
681
262
49
373
355
873
279
227
845
95
564
490
811
454
763
827
985
17
499
432
285
359
285
627
96
236
785
181
992
117
232
923
982
176
444
71
49
497
59
181
497
767
837
133
632
259
976
771
806
838
346
918
21
47
124
943
658
779
912
888
927
934
651
594
939
318
223
887
415
886
940
66
503
99
322
16
991
903
989
290
658
798
676
762
428
40
10
966
376
382
532
491
787
488
270
420
716
544
586
731
661
651
253
440
474
541
607
731
52
158
663
420
573
918
863
983
712
559
34
299
907
467
772
947
354
567
835
852
490
369
331
24
966
56
681
815
302
802
656
526
231
389
297
762
86
682
303
141
118
175
957
818
721
557
302
354
957
957
161
284
903
286
690
90
230
552
822
865
311
751
524
870
540
718
16
886
778
885
590
221
864
699
256
977
448
993
891
651
599
405
542
676
757
235
555
851
913
950
809
640
191
451
660
481
950
130
292
479
218
417
248
375
571
893
380
630
352
369
732
532
19
55
819
352
676
390
737
741
413
351
436
652
924
29
576
131
165
589
173
608
379
935
145
342
650
193
352
906
783
103
504
173
110
805
563
2
455
918
400
231
906
393
210
819
620
125
456
130
315
395
334
538
422
262
153
421
885
426
590
714
454
158
499
384
830
230
156
646
300
399
485
355
839
851
271
123
418
809
859
763
850
56
226
80
74
933
241
604
692
7
411
451
488
451
743
691
421
916
596
247
49
211
989
605
819
548
758
129
276
697
285
758
726
598
902
988
712
567
609
796
121
404
979
859
727
846
506
362
784
385
854
645
751
983
410
856
703
853
457
153
563
784
460
668
135
796
634
77
938
1
496
245
260
849
380
185
17
786
682
107
706
791
373
662
271
581
444
858
310
530
624
40
151
860
598
931
318
755
464
642
537
276
392
180
948
504
674
66
961
977
8
309
798
432
353
805
63
777
331
998
939
700
87
462
809
711
972
195
225
0
742
561
595
591
577
885
860
295
452
423
987
934
471
807
457
429
770
936
301
147
125
462
349
582
524
194
780
94
550
735
976
374
546
54
881
980
393
231
618
748
172
975
921
62
254
720
154
588
563
304
573
243
888
836
748
685
31
943
543
516
453
496
775
50
884
402
887
255
467
595
335
132
646
749
600
772
983
982
370
930
877
304
619
572
98
610
539
58
777
778
176
915
764
382
235
887
881
653
812
977
62
948
565
170
942
219
704
291
237
333
86
965
444
995
350
785
524
145
785
5
835
717
996
276
195
603
565
639
284
964
544
262
127
172
902
769
825
745
764
635
576
225
597
738
618
671
257
493
548
949
729
925
471
951
638
730
629
431
296
403
609
177
749
784
747
749
696
197
539
218
549
453
852
324
591
4
892
265
80
293
241
589
372
423
882
80
116
423
226
133
110
625
940
667
326
665
593
647
571
792
306
637
129
82
950
645
872
92
700
422
726
89
566
767
860
903
700
467
159
881
520
749
877
193
614
685
291
681
883
708
209
789
947
110
563
463
352
398
940
159
555
479
515
9
190
134
752
38
32
85
433
778
470
671
979
380
737
439
154
829
587
15
368
909
750
918
608
394
879
810
581
305
872
669
241
104
375
125
567
891
296
133
991
974
943
23
612
376
291
520
277
640
695
583
146
656
275
789
475
667
346
430
9
25
148
462
581
840
437
584
181
941
105
816
450
962
531
903
691
267
839
134
505
150
571
383
939
316
700
554
721
544
875
562
85
624
853
341
705
176
632
536
643
489
46
441
121
494
756
70
133
822
863
921
871
6
662
205
913
252
131
611
717
648
334
574
187
742
89
241
711
12
435
450
741
794
798
774
827
691
223
32
930
646
17
558
516
250
672
260
308
155
259
239
182
757
292
640
913
364
36
960
418
668
576
234
659
956
964
102
907
808
509
417
116
643
245
675
908
947
73
860
428
988
897
408
177
237
305
566
581
318
563
629
211
703
601
999
698
689
248
421
191
545
283
417
33
317
422
746
261
898
525
414
794
484
466
285
742
233
271
407
567
876
504
262
316
0
17
761
211
404
92
812
459
212
377
174
359
892
348
129
360
157
515
642
348
370
73
575
316
649
28
841
100
798
75
769
70
144
321
148
92
108
879
482
426
49
584
848
282
440
731
212
634
422
861
20
432
537
98
117
340
499
724
683
161
231
729
168
84
495
127
33
83
869
838
485
818
142
491
742
56
728
608
820
705
592
715
203
306
550
546
158
913
185
892
411
983
661
167
230
883
806
85
621
121
427
427
235
433
687
914
448
319
209
430
683
778
857
447
119
842
77
888
8
496
123
729
6
960
376
917
20
207
700
582
877
211
945
842
458
591
583
604
301
582
120
507
374
593
325
98
704
623
684
418
34
233
721
406
594
613
919
162
754
271
412
561
150
743
405
393
769
143
660
817
59
433
78
582
597
278
45
369
934
346
653
124
488
660
301
406
862
578
892
925
184
41
829
651
423
455
443
352
549
454
477
829
382
144
254
187
285
347
22
66
481
897
934
510
677
137
252
874
964
154
749
340
319
259
842
498
604
785
419
534
930
135
400
724
784
256
543
186
57
466
197
29
652
418
599
863
235
668
537
931
538
575
331
666
935
838
258
662
125
511
320
634
269
100
755
966
375
939
16
401
710
502
899
677
113
997
402
221
455
370
311
538
618
394
630
589
511
445
920
291
85
63
423
845
311
634
912
81
497
753
477
418
157
125
295
714
621
212
798
192
611
135
140
632
344
705
228
977
747
451
30
775
893
490
822
700
481
179
996
63
582
830
31
662
666
612
98
10
42
783
888
728
863
120
12
548
365
246
872
980
756
169
444
184
544
685
315
656
119
61
850
441
502
981
277
831
208
147
264
535
109
493
87
828
878
637
455
573
382
351
944
243
524
715
874
200
664
25
320
462
662
389
348
129
531
428
946
444
910
590
705
983
127
985
695
602
920
611
802
698
197
40
146
856
51
411
941
378
354
891
989
577
629
421
867
746
97
697
901
586
120
475
80
829
844
75
590
54
856
24
985
319
961
474
537
183
80
388
48
599
975
477
31
127
612
789
525
56
785
633
169
669
166
737
691
903
83
699
659
947
622
374
525
740
273
122
958
958
552
117
832
724
93
379
243
939
169
294
204
726
502
539
514
388
88
120
170
111
579
602
53
810
718
296
311
9
878
167
225
348
7
225
834
377
281
366
566
580
428
883
21
360
875
463
173
575
330
876
925
365
119
69
978
657
490
63
56
115
22
856
590
860
765
19
435
36
295
737
34
751
224
480
9
282
83
916
845
621
342
997
659
313
764
646
967
982
841
447
496
288
955
205
129
101
597
622
220
136
339
185
222
494
262
26
198
225
763
962
928
841
509
807
894
651
742
130
368
741
792
96
297
225
518
225
566
143
532
748
328
992
58
486
842
7
175
213
478
969
370
943
138
180
847
480
228
234
38
541
471
306
196
408
819
433
931
739
659
282
924
997
292
664
449
966
394
657
454
535
168
672
861
814
225
213
830
107
154
466
827
68
728
271
506
290
331
89
644
240
797
837
64
24
248
959
3
417
272
168
569
779
591
515
263
221
343
360
258
553
655
105
513
605
890
732
246
140
164
65
888
312
828
73
225
533
867
0
248
847
150
983
543
111
632
239
806
455
348
441
205
604
137
940
751
332
866
899
240
450
903
530
638
78
413
218
363
505
182
670
523
788
372
167
582
90
245
755
201
125
22
880
934
72
563
66
630
285
524
685
76
123
130
32
31
702
388
786
517
6
125
214
269
778
503
19
893
12
317
720
516
957
685
300
189
503
760
433
302
150
989
658
8
718
933
969
722
636
361
419
657
564
110
580
577
595
753
889
446
234
590
464
482
615
224
430
511
815
189
130
451
976
869
536
167
145
865
455
491
517
11
696
406
118
876
196
248
3
920
603
550
890
499
117
730
227
379
311
376
249
888
69
977
727
68
709
14
457
535
324
663
268
602
145
813
921
924
915
745
455
691
840
436
311
432
916
289
364
521
156
787
120
77
796
103
637
883
788
128
214
268
114
647
47
542
23
855
586
976
625
861
589
510
824
159
428
498
143
285
917
930
825
801
660
846
21
702
230
809
887
567
272
485
398
641
506
350
67
990
655
136
263
484
393
147
755
722
824
556
897
255
705
793
454
509
750
966
425
409
372
812
572
873
331
373
219
427
935
404
932
702
296
151
22
126
572
520
246
997
796
26
690
858
265
83
358
920
760
967
995
833
575
751
745
224
390
796
543
652
609
617
712
805
11
423
25
884
34
889
297
865
681
866
542
601
914
480
976
916
312
791
427
845
450
371
439
264
50
936
380
441
164
551
486
16
560
907
362
961
308
784
378
554
71
174
965
595
303
586
876
312
646
470
320
637
173
626
69
682
631
316
493
815
358
710
364
643
173
427
230
130
321
801
315
367
829
555
167
331
406
940
59
520
290
159
642
571
962
128
108
362
26
275
437
931
716
473
772
946
143
577
807
604
250
846
22
573
920
872
445
934
65
617
469
905
709
269
767
162
720
209
972
579
93
263
965
536
499
741
679
958
178
993
783
850
623
403
144
476
394
151
947
794
609
860
896
801
61
201
508
273
735
863
684
482
678
395
41
65
648
540
460
62
884
37
715
432
59
573
722
158
366
551
3
845
216
941
980
432
849
284
876
123
778
8
90
921
28
452
603
357
332
367
807
551
169
154
444
454
26
4
758
592
689
523
965
161
629
537
191
868
729
172
249
191
671
244
739
675
233
785
890
601
395
446
689
525
351
70
345
603
620
617
730
456
200
51
860
143
664
784
194
761
958
441
46
858
406
255
322
148
229
411
830
241
677
58
518
859
508
306
424
541
808
917
86
550
977
13
995
99
994
93
0
924
408
765
141
383
57
752
119
687
198
91
701
964
496
719
563
238
651
763
964
751
125
71
857
495
66
637
649
976
668
160
35
834
504
787
368
348
786
892
400
284
726
882
216
373
4
777
7
1
659
770
467
99
972
539
276
70
720
630
465
423
13
245
70
426
810
593
346
678
231
150
45
215
578
493
250
915
62
636
207
412
954
662
147
715
671
637
256
709
711
911
762
258
30
494
475
972
405
105
164
144
355
231
417
485
300
527
799
675
392
316
186
996
398
817
760
42
297
902
966
613
995
368
965
275
623
497
727
965
54
83
657
325
330
163
437
440
700
672
130
730
316
629
440
311
616
830
777
676
813
397
159
193
624
247
915
417
831
676
201
714
206
918
249
150
930
504
887
417
991
358
604
86
85
394
658
993
147
50
543
142
290
583
628
997
280
865
329
857
468
517
57
662
996
916
740
863
296
685
66
130
650
271
214
90
32
785
771
733
209
604
160
903
642
430
939
395
758
926
167
291
647
229
334
246
257
228
40
19
25
148
630
854
876
618
988
509
658
511
282
260
977
438
19
952
800
517
244
673
425
819
487
885
623
102
881
746
144
569
899
773
482
337
835
876
262
831
449
131
642
350
492
733
737
700
523
450
614
371
534
1
462
194
456
806
973
80
798
142
675
324
898
9
74
222
902
146
518
377
374
187
247
468
440
583
295
252
508
696
82
670
905
708
26
962
433
158
149
460
132
43
709
188
149
663
448
221
836
918
181
739
864
229
600
669
49
587
457
247
319
459
350
47
941
835
143
734
967
514
550
158
464
675
520
42
656
512
521
131
660
767
163
265
174
941
510
446
914
695
310
491
747
492
580
880
369
816
972
96
366
800
685
964
127
674
705
727
462
61
244
990
158
81
958
458
89
898
237
455
791
619
913
903
290
69
422
537
768
176
64
922
137
847
52
562
144
512
587
972
51
672
160
850
617
560
289
407
386
454
148
638
607
686
880
489
198
607
135
199
782
973
80
243
193
831
294
110
763
2
762
174
881
55
249
567
835
391
695
837
961
325
18
944
310
234
443
136
626
474
543
15
165
572
956
746
313
142
281
316
732
471
120
680
515
42
237
42
813
53
665
968
128
218
375
64
331
927
789
765
619
433
398
625
406
714
541
938
374
967
992
506
315
860
980
164
745
594
124
998
146
6
161
507
98
456
7
893
467
859
521
680
447
30
315
752
402
493
546
446
124
930
639
289
934
369
273
309
110
828
608
155
530
457
197
609
591
226
822
792
654
123
270
81
837
715
39
894
744
332
125
229
708
665
872
540
647
844
271
821
670
412
999
233
916
790
244
544
625
636
832
923
67
794
637
56
966
316
883
203
294
733
903
475
797
519
767
866
214
538
126
133
181
156
961
567
699
988
950
361
923
428
947
72
551
986
435
108
986
942
839
121
491
404
718
15
37
757
193
548
49
9
215
41
998
321
62
897
709
443
47
682
429
745
90
578
173
826
646
917
989
486
169
33
473
510
354
896
578
530
759
512
901
487
759
83
892
667
404
775
516
974
603
69
663
907
471
551
938
233
819
682
500
241
715
146
759
583
637
840
210
948
582
328
423
563
289
363
457
499
823
973
401
429
586
441
685
365
931
781
577
132
439
128
511
766
783
222
246
538
562
290
347
141
291
991
51
247
767
621
23
478
895
498
931
853
329
891
357
981
751
231
633
740
124
455
248
777
686
608
169
546
650
864
177
568
410
513
585
143
887
106
340
858
902
549
655
497
943
125
381
79
122
121
274
4
733
617
122
729
560
702
879
780
885
314
585
602
919
42
314
987
143
653
601
557
651
410
121
179
246
710
963
734
273
181
317
117
85
810
308
451
344
945
360
171
803
847
781
239
896
978
250
649
827
588
780
487
179
777
381
198
947
578
640
845
106
273
475
945
455
57
25
718
11
470
104
136
741
835
25
342
477
982
412
614
399
341
301
513
573
771
737
147
902
156
457
589
437
309
474
98
334
510
527
79
592
976
60
874
319
281
850
724
952
532
658
67
674
873
585
399
482
989
553
783
878
479
910
737
368
279
50
979
493
338
955
549
686
149
718
724
231
633
581
724
516
934
378
783
527
689
70
491
990
780
129
513
789
915
883
109
794
416
515
753
279
543
280
36
843
752
482
113
631
302
648
404
849
79
935
397
812
59
499
58
330
785
4
182
858
943
65
573
493
48
715
331
361
441
65
929
185
556
612
424
506
145
564
23
579
459
50
65
648
244
820
935
133
812
159
117
883
759
208
386
528
819
12
761
206
278
95
211
554
43
337
520
990
89
575
959
354
45
760
814
801
428
579
35
253
321
165
791
7
88
527
123
641
91
165
239
361
468
813
835
907
535
318
962
655
891
337
302
785
684
706
39
228
518
70
772
274
154
735
598
385
963
307
98
593
73
787
983
595
395
809
213
98
27
339
795
682
838
630
6
839
769
171
631
624
628
961
487
302
420
608
987
98
186
577
810
408
556
741
78
927
36
938
748
107
469
904
696
840
953
176
660
957
700
764
493
44
127
207
289
41
930
234
800
940
693
193
553
779
24
650
208
620
456
44
64
623
698
94
492
456
545
422
739
920
527
122
498
329
645
637
167
114
230
913
270
375
294
452
73
385
773
550
430
698
991
267
149
297
50
71
792
489
827
368
821
638
247
214
213
551
303
469
614
271
664
648
934
244
427
602
909
28
329
385
837
536
501
299
545
25
358
252
971
551
801
156
33
352
355
646
61
329
343
948
479
32
714
368
141
118
464
89
926
975
390
52
123
684
316
53
488
757
265
198
359
506
367
298
96
846
869
738
34
307
809
30
69
976
43
608
269
691
902
88
120
460
686
176
719
389
243
10
489
657
158
756
271
402
215
833
188
601
864
630
751
758
951
318
348
330
139
448
43
703
992
294
37
237
619
687
268
488
575
391
200
948
723
6
31
195
22
941
25
152
828
791
969
874
802
586
104
723
275
274
281
142
154
505
707
149
853
909
780
325
438
613
572
641
194
9
425
962
813
501
234
792
816
324
303
342
915
336
777
218
122
19
87
861
71
690
322
804
912
388
215
772
287
321
692
23
638
689
275
43
916
854
382
184
15
946
996
738
126
537
336
782
910
394
258
271
190
884
130
801
497
81
623
620
845
872
668
692
47
741
655
923
597
937
28
421
594
782
463
670
407
594
92
254
642
829
736
671
574
616
836
423
978
621
888
50
381
48
637
572
434
842
535
144
101
915
864
831
680
241
510
455
247
631
246
846
785
553
594
920
337
416
589
284
921
248
678
11
653
737
710
394
679
646
551
73
370
508
313
297
287
830
175
794
825
616
156
138
457
675
238
246
875
740
612
684
825
449
103
955
722
565
853
964
830
542
118
225
647
416
500
58
284
50
139
499
314
330
919
930
257
261
983
429
645
590
982
940
36
216
622
21
708
662
92
142
917
623
172
25
433
640
452
787
46
247
169
425
636
616
150
419
605
637
219
7
551
515
602
18
431
757
500
842
148
370
774
380
618
185
779
398
537
2
24
607
20
725
556
744
641
274
251
462
798
809
653
745
624
344
711
121
956
119
79
796
323
970
712
823
497
256
518
926
750
301
513
996
451
46
453
282
332
216
56
678
196
680
264
220
892
627
15
128
742
49
710
959
213
436
941
965
894
76
419
308
377
472
981
501
345
564
667
212
367
55
489
215
831
720
512
149
141
309
71
147
787
616
148
310
393
936
295
417
695
190
740
133
790
632
710
788
49
103
988
981
9
279
923
889
657
345
3
335
529
21
764
725
288
907
810
655
113
816
566
592
426
889
112
670
531
624
34
564
28
730
237
515
502
326
627
885
210
654
275
107
306
656
389
234
809
912
432
738
948
976
789
48
552
637
631
77
289
310
4
76
659
948
545
198
762
191
519
472
624
784
115
637
693
106
831
72
21
633
420
634
798
266
178
42
475
606
343
828
305
26
683
864
190
794
465
916
275
22
102
304
111
628
922
231
670
202
545
990
878
759
824
247
161
195
241
989
885
554
742
576
140
375
125
569
11
884
585
891
690
631
210
753
989
873
13
139
636
467
506
823
63
595
867
734
597
388
366
225
331
619
926
790
222
277
624
491
922
834
985
117
90
917
693
534
840
727
93
182
624
210
429
174
859
984
452
430
964
510
764
345
352
989
762
167
170
657
782
566
269
700
239
57
671
903
578
700
422
594
775
804
886
296
390
794
284
224
94
795
686
787
682
279
504
153
919
751
389
971
910
954
36
244
334
693
524
576
233
896
901
534
392
159
1
242
757
24
586
684
36
235
503
944
22
759
603
872
281
450
793
616
770
517
598
205
853
128
401
526
356
119
557
631
845
657
127
44
574
83
184
238
856
233
70
467
339
2
408
423
275
202
700
335
183
229
752
202
119
600
106
107
286
864
617
305
83
323
62
522
379
28
885
598
622
300
477
485
513
74
880
413
394
61
387
926
866
158
156
662
977
213
409
166
755
465
153
827
77
77
804
910
836
850
708
805
436
804
539
769
918
59
122
670
87
252
879
347
937
77
490
829
116
932
398
731
846
610
720
103
607
107
19
515
800
714
865
657
777
13
347
894
459
308
361
339
991
282
235
734
363
883
297
992
593
354
579
662
843
323
819
982
923
444
213
984
714
245
203
313
58
540
22
689
627
560
681
420
122
610
194
39
907
589
344
536
661
509
493
433
285
30
961
66
925
712
155
142
133
60
715
529
174
241
733
703
451
930
592
927
384
75
531
268
639
982
159
254
647
187
787
653
229
558
41
492
24
113
333
996
646
796
603
163
368
300
563
235
138
516
449
843
668
926
401
732
906
780
872
764
579
858
477
843
806
453
68
634
959
397
850
604
873
336
835
859
480
1
549
45
313
577
969
949
936
657
53
882
341
301
49
983
668
221
662
840
930
100
240
375
262
737
847
513
708
511
691
397
5
512
646
415
211
623
851
290
178
452
388
90
976
387
459
363
934
489
166
105
777
204
268
515
645
731
916
182
710
172
126
991
573
396
498
28
915
888
46
539
156
530
469
581
931
253
787
425
819
830
969
977
981
337
387
656
484
807
187
650
365
403
895
812
410
102
631
873
948
861
867
124
386
694
815
403
184
915
88
382
25
117
129
615
747
939
559
297
540
737
432
304
43
632
417
162
886
167
824
970
768
853
302
995
62
503
761
526
129
953
158
115
104
860
34
339
413
370
878
339
338
647
722
688
10
913
582
222
886
241
538
934
907
868
226
89
430
617
403
999
399
309
451
139
119
728
967
274
602
660
860
476
257
749
587
806
493
551
200
454
292
890
276
50
502
282
716
266
578
657
822
338
160
461
910
175
606
375
372
333
499
38
953
415
14
377
303
38
923
873
208
114
55
647
264
905
101
966
703
701
249
399
841
216
329
240
935
477
770
699
951
736
837
834
87
161
161
308
240
189
590
981
551
73
699
227
30
773
14
251
290
399
337
510
523
423
702
168
794
984
557
321
689
587
148
696
67
51
136
495
705
657
574
216
111
41
18
913
487
211
350
577
451
437
454
978
707
196
872
823
165
762
188
494
541
560
35
448
467
426
292
857
167
914
357
166
424
824
847
323
356
25
233
831
783
101
924
501
513
759
240
565
281
498
114
159
128
163
125
50
444
622
131
516
967
51
954
264
979
222
155
749
812
4
23
826
157
677
349
995
621
157
385
249
848
918
356
587
755
846
546
593
721
960
443
622
634
7
152
317
451
460
472
575
683
766
826
478
861
90
849
114
753
632
38
762
389
931
521
630
885
971
937
10
109
654
611
912
586
430
862
257
7
530
326
108
394
67
545
997
788
54
201
383
717
5
729
387
380
963
598
281
269
52
586
16
819
699
829
43
65
220
958
734
529
821
283
406
737
50
213
891
142
76
267
840
899
898
724
22
34
117
303
339
603
394
42
592
934
564
932
790
559
997
412
228
323
805
315
82
905
740
816
877
755
888
782
744
843
833
899
157
911
389
996
484
922
718
625
443
245
546
548
591
365
461
326
100
195
446
882
632
701
348
75
19
834
39
389
514
362
543
800
172
237
351
349
202
419
808
218
777
787
888
730
772
116
414
849
661
367
773
711
851
135
532
444
191
694
80
38
110
181
28
342
357
589
160
987
653
917
35
59
841
802
242
532
788
918
574
153
989
574
81
354
669
24
719
295
992
402
845
675
791
786
922
190
684
215
65
574
340
1
300
593
276
485
415
543
208
762
133
505
298
522
488
540
913
83
666
914
416
599
822
489
369
639
602
677
785
165
408
185
509
845
811
348
548
917
786
881
520
969
569
761
253
231
995
391
456
191
931
134
654
294
648
964
687
483
740
469
960
352
683
11
698
71
901
998
797
369
654
59
541
574
563
377
965
998
442
264
68
25
234
832
522
167
648
873
497
912
722
243
307
564
802
49
150
796
323
536
976
327
94
304
605
560
862
30
336
468
496
20
669
579
456
869
949
478
197
357
173
895
308
975
413
944
205
96
570
695
51
160
203
250
708
935
957
622
481
854
273
381
513
747
560
512
248
868
288
984
717
375
422
963
190
593
284
166
912
341
199
774
106
747
311
719
352
269
170
200
33
76
335
281
988
843
914
384
119
575
354
648
240
164
913
438
570
198
143
490
164
162
99
601
195
770
255
48
915
679
358
673
816
712
132
634
908
402
716
420
280
244
262
575
662
559
18
157
530
160
252
680
477
489
237
789
241
256
290
748
284
334
581
580
113
667
610
848
285
687
869
83
967
128
449
463
839
198
463
411
487
849
342
574
230
278
840
913
280
573
850
805
762
505
983
816
996
989
511
742
85
535
54
213
917
390
977
181
350
202
917
993
577
54
792
851
907
628
322
699
775
989
335
703
947
999
13
746
22
598
426
994
888
742
388
32
65
411
603
832
111
500
311
856
952
545
223
460
213
801
892
94
735
192
956
548
716
835
536
579
603
196
410
290
349
65
634
52
986
746
505
611
710
290
213
103
593
435
67
117
108
442
688
895
682
448
576
64
467
159
351
930
891
778
334
425
515
297
997
524
27
752
582
131
147
562
640
442
345
654
526
168
860
2
138
930
782
635
872
122
648
723
804
27
986
543
545
326
807
218
537
982
804
630
687
419
218
173
917
333
661
8
370
597
997
952
102
118
781
804
591
610
270
348
633
308
111
577
935
984
472
760
737
236
325
444
550
992
904
67
495
353
951
216
675
283
279
864
782
945
555
816
988
527
506
301
652
408
507
751
9
236
366
991
555
726
714
948
991
94
565
999
354
16
677
618
990
929
816
977
558
211
411
772
263
504
882
956
611
819
117
737
580
826
589
268
61
30
894
286
71
433
960
791
876
789
690
48
107
835
920
91
202
355
272
968
282
257
1
510
735
956
979
455
667
200
914
576
770
465
712
531
215
703
529
201
413
994
141
939
345
900
83
946
923
868
33
148
742
644
86
607
245
385
433
379
55
775
743
90
839
372
906
5
290
464
870
54
503
517
937
503
165
84
979
605
708
728
813
278
833
405
232
604
720
207
768
938
652
202
604
705
534
804
375
806
62
451
421
875
488
347
257
537
986
446
550
599
174
824
496
814
144
776
329
857
967
632
761
379
796
96
96
288
206
974
113
684
841
776
96
407
779
565
127
846
163
626
835
870
919
71
597
546
772
268
103
963
863
696
739
75
807
672
61
108
237
653
231
864
253
875
746
536
602
319
428
640
661
712
181
547
344
285
878
384
32
289
321
182
595
575
170
19
553
889
317
105
511
312
842
321
627
470
891
660
730
400
331
574
400
48
295
37
853
937
493
845
75
139
58
563
315
643
923
216
385
357
344
545
711
234
641
418
691
641
426
803
664
430
405
838
839
69
484
736
670
503
317
779
95
184
685
373
494
863
491
698
267
608
165
153
201
686
899
540
897
745
155
891
984
441
971
302
33
951
960
137
35
624
433
804
269
500
778
184
325
609
476
419
46
665
512
153
940
104
860
768
363
835
132
242
441
67
994
234
684
364
612
900
585
844
303
147
114
967
784
442
526
997
523
420
371
905
663
695
678
589
501
80
185
925
48
761
272
851
207
938
917
244
831
766
58
108
748
559
573
812
896
13
655
715
689
354
832
514
252
157
525
793
712
630
729
606
13
460
942
834
987
705
786
564
681
76
352
101
781
589
895
167
172
721
784
261
201
426
639
804
307
247
282
919
73
501
383
634
115
1
122
26
190
733
56
654
31
653
759
82
733
273
959
860
886
158
480
483
440
171
987
755
657
749
368
170
592
409
792
215
655
786
708
935
725
895
208
131
156
340
94
917
776
754
74
561
57
550
453
931
545
342
914
314
74
879
797
274
484
288
529
712
509
765
808
858
221
278
15
264
30
132
617
373
996
53
451
218
677
936
344
350
68
943
775
522
174
847
627
962
0
147
356
887
736
926
352
969
632
597
193
554
253
931
440
681
932
800
899
914
106
86
715
907
864
34
802
736
191
424
780
455
817
8
509
432
996
555
909
63
977
455
357
803
317
319
409
738
181
155
369
197
868
931
81
168
786
205
243
893
318
920
596
876
178
76
774
358
610
126
117
500
191
814
608
522
271
793
101
169
511
799
631
136
55
230
779
980
477
964
314
293
349
949
641
563
131
769
323
109
66
827
304
539
824
247
267
125
343
500
353
561
47
872
819
820
360
256
543
907
753
912
182
673
314
991
341
423
109
65
862
254
419
518
358
782
400
20
863
905
457
747
500
563
273
352
498
52
236
23
25
166
638
749
693
57
718
245
141
327
700
244
417
76
719
944
443
528
406
641
560
982
194
24
242
65
616
117
935
57
411
581
155
508
241
383
801
742
825
609
344
843
165
522
141
301
736
667
773
751
781
3
570
126
424
395
182
553
130
639
687
253
368
467
432
5
868
6
606
265
692
633
798
635
704
584
409
227
518
718
995
607
174
38
357
10
964
802
744
508
14
566
781
723
453
404
847
469
226
256
204
476
9
124
920
122
705
207
733
866
641
568
407
83
135
681
91
605
330
918
966
132
722
766
620
352
289
148
761
399
574
502
590
127
598
148
663
768
8
157
366
832
539
723
709
553
306
706
466
414
865
24
726
165
169
625
510
347
462
157
984
192
659
38
559
958
573
608
494
949
678
834
548
726
463
902
869
470
774
294
921
991
524
678
697
225
74
524
608
46
348
112
107
587
511
403
91
56
309
308
925
443
547
256
273
459
770
445
25
246
644
142
301
885
250
250
484
981
971
722
448
435
564
872
465
786
574
719
173
138
215
474
391
411
600
917
559
690
595
586
274
553
121
937
178
901
808
925
897
854
710
638
958
696
841
578
680
195
780
99
874
544
879
765
755
685
118
635
303
289
202
68
455
796
858
810
804
529
759
108
597
804
184
899
936
967
445
53
814
212
583
209
943
503
758
120
928
116
352
131
877
656
966
747
299
495
0
492
446
240
796
309
64
284
902
535
786
74
87
237
821
791
445
14
984
605
58
855
624
89
317
914
262
589
818
856
416
352
359
942
176
624
931
995
124
195
519
237
288
598
556
760
674
877
134
57
730
352
271
598
67
594
762
747
809
744
347
689
386
309
530
762
12
270
183
280
198
238
998
416
863
395
914
320
380
499
545
370
698
861
203
504
705
566
911
696
566
70
7
684
582
895
223
673
955
661
332
727
785
1
110
458
527
490
448
854
594
37
156
491
400
58
605
561
795
368
913
283
241
834
646
959
630
925
874
151
149
273
621
718
401
926
185
31
556
306
81
848
83
691
264
394
583
806
380
432
921
577
133
933
10
491
119
112
216
371
66
25
802
659
734
636
953
589
383
512
118
189
630
402
543
185
476
84
756
439
718
795
86
531
313
284
248
437
4
802
101
746
478
988
876
733
515
46
676
446
596
815
353
41
59
98
464
331
541
111
235
943
122
290
559
758
995
473
251
749
870
746
258
0
545
101
356
185
558
44
997
470
85
691
546
27
644
769
553
584
648
623
662
650
611
418
792
703
381
972
442
489
330
63
96
440
918
65
879
892
769
144
740
71
835
244
672
490
343
785
617
432
985
772
236
391
550
787
257
326
415
43
188
260
240
339
284
560
506
632
657
574
962
901
405
662
707
48
954
773
1
908
453
217
112
325
554
492
912
180
355
292
674
714
195
179
685
222
913
570
541
998
747
703
119
898
77
408
492
710
192
468
805
747
563
896
704
400
387
85
528
383
302
566
361
878
691
257
286
970
310
154
102
308
223
753
15
738
431
609
301
79
439
54
332
244
210
187
458
265
19
931
414
32
274
953
432
68
570
342
413
133
13
675
692
44
660
851
268
761
71
170
643
444
602
497
231
930
911
929
427
841
365
21
20
650
337
743
248
945
182
271
477
830
233
602
21
586
555
546
860
662
550
822
111
480
180
226
25
381
812
619
699
605
82
315
910
162
163
902
633
267
927
318
54
900
566
472
26
749
711
880
870
647
921
933
867
850
784
394
920
651
904
304
813
935
595
59
521
147
402
918
316
458
316
420
540
571
717
82
919
336
762
455
99
409
744
880
975
359
849
810
895
912
887
251
759
589
936
99
684
370
964
401
401
138
441
151
22
978
612
213
623
916
182
420
510
594
54
252
341
407
816
256
231
912
433
933
125
933
566
385
913
58
461
395
885
7
58
985
159
195
535
63
577
702
67
217
965
757
289
7
840
93
337
607
515
458
27
642
932
811
290
371
613
312
268
758
870
807
767
807
328
706
120
875
571
533
736
889
474
29
874
625
68
720
180
642
787
390
733
101
956
568
330
316
523
768
250
35
823
561
724
3
931
185
175
849
935
174
892
994
775
698
957
20
839
188
720
441
141
784
984
379
194
912
946
487
971
784
350
364
274
919
203
950
411
581
934
228
139
477
843
903
52
467
880
451
558
81
132
883
170
681
171
174
234
781
206
718
270
866
896
426
809
412
631
793
135
897
890
275
822
608
987
328
430
934
416
677
947
727
760
69
281
671
507
592
466
953
972
725
994
885
799
809
925
994
457
509
728
693
487
657
265
438
555
166
451
289
443
377
452
224
263
481
519
321
115
691
14
186
812
460
669
719
445
819
992
765
558
294
449
794
40
802
21
962
776
750
1
367
283
802
334
245
997
678
872
215
325
176
978
500
410
353
488
791
453
612
139
785
480
207
496
190
426
317
10
896
402
774
880
507
885
948
260
396
754
987
180
499
568
96
601
62
147
943
535
945
70
326
411
522
129
423
854
9
318
279
225
847
598
471
805
142
751
404
197
79
809
227
385
192
367
263
925
962
868
466
617
618
37
730
167
568
723
599
309
401
592
133
819
472
206
182
233
75
516
175
269
466
685
596
214
698
154
594
382
769
191
94
254
350
946
997
828
479
937
361
94
994
546
9
689
840
86
668
883
249
780
648
930
815
787
898
996
558
694
405
785
609
38
113
143
124
258
621
88
450
504
641
575
553
405
827
702
117
297
929
568
895
296
370
293
616
995
442
911
719
937
414
701
263
372
565
178
816
415
490
743
930
904
912
955
776
237
499
560
54
123
298
379
759
524
944
474
607
237
399
236
242
352
424
518
879
872
615
912
915
694
871
365
170
814
831
405
336
111
636
312
86
197
506
456
883
212
794
233
628
811
274
8
866
531
234
408
77
397
767
576
492
343
368
292
58
306
32
217
401
622
978
212
464
192
218
633
573
346
639
81
43
846
958
99
17
651
294
344
740
976
203
502
132
778
881
444
671
963
276
847
135
687
868
865
930
227
909
469
277
797
259
660
143
106
693
242
135
361
1
340
269
536
147
236
162
961
835
836
121
2
773
512
914
726
279
595
113
522
932
276
714
429
985
171
406
921
481
262
818
809
743
210
413
910
491
888
349
320
297
861
472
148
793
547
293
661
992
476
842
657
654
780
593
79
493
767
37
82
876
191
843
426
658
987
13
830
457
499
686
774
360
223
917
108
18
981
846
171
136
431
138
143
206
642
22
947
872
419
869
936
618
674
33
319
56
619
355
501
183
177
593
923
92
880
921
592
109
745
450
307
967
130
355
901
681
182
604
536
662
207
596
472
800
543
721
327
986
286
339
100
193
610
527
30
663
96
165
512
266
383
78
818
587
170
374
598
392
586
211
247
185
263
771
362
546
61
446
664
783
669
68
859
833
888
347
989
806
479
711
842
643
573
981
799
402
638
349
503
766
899
3
313
116
737
714
786
832
668
362
578
191
220
595
728
148
391
842
223
142
623
724
826
792
178
600
802
437
743
518
199
208
634
18
233
774
368
368
285
333
9
508
199
834
993
956
240
403
916
967
626
627
201
410
902
513
241
464
341
105
147
136
821
330
865
509
329
429
279
338
605
588
833
20
632
293
139
503
481
314
54
260
616
491
248
647
686
199
866
172
564
151
816
392
664
464
948
395
186
39
956
790
973
427
306
123
752
524
966
110
388
640
970
5
261
839
228
510
589
624
295
182
803
120
922
523
359
555
112
641
369
903
941
744
24
81
493
573
385
70
92
579
295
120
598
342
458
156
323
272
33
91
794
642
216
593
700
811
856
500
797
470
761
234
912
338
620
466
381
157
384
53
464
813
495
954
108
966
806
816
99
64
140
682
548
817
651
362
54
353
390
839
873
659
454
19
441
551
540
284
208
730
855
778
416
921
757
169
434
201
136
898
922
468
284
889
88
584
623
767
168
626
692
17
615
361
330
899
440
664
82
277
769
422
684
13
971
381
762
840
822
177
764
508
274
527
533
536
958
539
356
211
8
914
800
866
381
304
337
272
327
781
757
312
849
527
547
712
608
494
632
933
268
45
282
549
170
407
894
655
927
837
654
648
328
314
932
165
261
232
168
791
326
974
592
563
316
785
392
36
243
968
320
292
301
205
346
837
556
251
549
93
657
202
57
311
679
332
906
403
64
728
610
157
239
163
55
138
24
919
579
935
253
552
300
667
807
322
126
384
375
112
513
442
235
653
677
915
574
512
672
149
801
209
670
928
442
489
81
204
296
783
321
259
923
292
923
544
19
742
984
970
712
411
909
425
299
928
723
808
719
57
556
361
76
702
255
678
153
574
575
885
903
741
747
657
876
732
116
41
799
300
2
539
799
519
970
942
818
183
680
326
655
549
127
154
194
835
843
804
671
167
908
320
24
726
380
190
947
54
634
703
347
937
80
142
106
154
554
677
802
828
128
365
261
741
772
281
709
595
808
583
859
694
687
981
430
102
366
308
345
46
435
667
839
251
321
6
270
371
342
49
567
344
181
980
85
45
333
98
618
218
731
220
697
880
56
296
733
590
709
90
389
811
878
392
926
375
710
190
86
661
272
437
683
876
248
880
110
824
594
524
138
971
61
970
198
863
103
743
573
429
801
656
105
768
365
369
812
642
467
497
108
936
539
116
229
819
569
572
426
740
338
295
126
253
458
126
205
85
415
85
936
849
678
800
402
928
939
499
944
537
30
303
804
198
471
188
391
778
290
262
32
227
256
933
552
958
354
496
608
112
130
323
641
396
400
949
466
116
700
708
202
191
235
340
996
240
61
398
89
351
161
612
777
962
565
855
156
678
706
807
812
863
599
862
917
430
635
215
730
141
277
261
779
486
769
354
535
996
196
468
765
774
381
269
386
250
945
823
816
394
923
140
985
211
215
254
658
549
47
809
951
584
130
689
762
802
325
888
737
473
118
338
636
929
440
61
80
479
755
287
654
515
299
134
526
807
315
553
599
30
161
519
239
609
399
957
386
399
721
709
393
149
157
78
547
297
314
749
829
649
446
921
530
40
888
69
172
895
268
19
974
956
982
521
819
673
421
173
217
322
940
642
104
683
59
860
68
801
339
159
100
302
343
578
985
762
166
820
645
906
981
314
78
240
402
732
947
721
7
448
513
495
510
29
329
978
399
126
717
863
413
413
370
709
798
654
772
979
680
742
570
233
454
514
285
847
846
284
125
23
932
50
543
382
449
958
737
634
791
164
850
584
528
376
24
998
419
385
631
555
681
154
604
943
161
54
159
871
202
583
989
799
538
422
281
329
132
261
395
695
669
91
903
696
725
716
766
659
757
140
18
996
290
311
899
918
517
390
704
835
734
303
769
990
970
682
3
402
820
655
382
243
678
76
854
874
173
189
353
131
890
216
658
285
58
201
950
534
157
994
322
296
267
261
902
524
275
124
658
814
911
714
29
600
880
389
663
346
818
165
722
826
112
673
661
353
534
162
437
183
562
701
63
759
860
677
382
552
189
602
387
499
685
325
31
479
701
81
617
773
431
41
880
660
209
990
165
959
446
431
196
171
38
557
495
273
402
306
436
694
22
34
286
159
395
571
606
996
63
398
897
489
95
848
205
545
267
700
212
46
345
505
69
367
154
83
459
582
891
177
1
415
939
948
291
399
703
586
657
959
4
859
15
489
521
221
165
122
447
552
307
320
200
920
848
163
846
60
844
724
677
778
772
538
876
218
740
722
196
560
100
302
428
336
399
154
81
970
531
804
115
898
878
343
287
873
567
130
932
693
293
965
197
981
66
34
857
619
488
150
439
693
62
368
434
6
504
378
932
91
935
78
572
947
514
453
47
586
392
426
850
167
712
305
75
694
571
319
401
325
211
535
370
134
130
835
50
323
661
144
918
140
437
885
303
388
723
850
352
459
619
363
789
836
204
875
902
950
748
73
896
481
797
394
280
945
544
329
979
635
860
202
712
131
286
33
998
367
921
671
954
619
218
634
753
82
160
837
841
27
495
22
337
666
126
500
404
880
252
891
928
325
560
608
282
261
544
635
593
793
376
625
851
728
847
162
17
606
876
930
541
150
574
848
776
814
88
152
489
230
931
335
558
434
110
750
194
407
974
277
763
716
863
137
701
68
360
895
385
919
351
764
843
432
665
670
139
368
65
1
790
112
466
969
65
236
723
275
347
741
129
373
443
990
825
65
28
686
494
903
356
242
57
138
357
972
581
852
173
442
110
369
549
751
114
346
75
180
288
143
501
742
661
704
209
306
697
501
838
692
735
49
478
53
243
72
715
730
270
990
618
568
706
174
84
483
286
165
38
476
7
594
418
584
416
602
580
55
741
144
838
441
901
131
365
189
963
560
101
218
680
499
699
204
669
27
23
881
645
634
615
887
158
945
256
788
767
362
863
25
429
320
282
408
576
250
487
328
921
450
678
998
250
492
372
579
888
184
71
261
879
212
642
567
273
939
621
767
254
239
593
341
103
557
30
636
762
86
396
577
833
891
568
189
770
797
291
94
655
10
197
182
432
939
180
832
898
555
681
921
551
31
371
204
252
476
430
719
614
114
272
304
450
876
424
131
692
656
389
809
572
272
58
996
473
390
528
203
709
366
288
183
702
364
881
344
134
544
551
714
727
168
328
243
938
575
919
254
469
974
596
700
60
526
578
487
160
287
127
525
821
335
218
615
110
708
284
748
760
678
890
568
880
533
938
217
817
317
766
886
635
601
687
615
482
2
843
458
409
758
926
938
866
980
920
689
273
319
657
947
507
739
962
731
392
742
72
122
133
830
879
210
766
292
957
352
652
875
130
666
560
564
384
833
175
637
419
221
722
574
162
260
68
369
886
724
34
505
432
723
406
989
20
328
514
853
592
824
628
484
919
393
83
546
979
88
153
913
470
282
544
696
663
549
660
369
295
179
335
804
830
876
285
899
195
503
526
414
734
547
379
897
411
112
361
215
812
7
153
700
465
32
503
508
179
994
132
673
314
783
666
210
637
681
50
276
789
359
427
452
49
528
612
78
191
608
782
420
711
488
175
317
234
936
415
180
711
876
269
310
127
33
833
860
774
213
872
721
356
958
603
44
218
292
353
904
7
0
873
678
745
147
27
54
307
741
562
442
190
645
438
556
612
449
594
845
917
548
161
139
646
584
804
53
549
351
37
156
699
493
620
615
641
476
950
817
389
945
63
285
293
924
391
78
418
893
548
606
949
711
720
575
127
264
853
876
993
181
989
605
992
406
300
162
785
395
940
520
962
535
211
633
410
524
969
312
360
743
327
922
180
517
876
204
683
750
181
6
368
580
678
150
595
777
541
330
934
603
787
500
985
799
904
15
74
871
517
38
439
454
898
138
213
717
267
931
218
683
138
546
982
797
224
216
819
78
311
404
890
630
722
855
54
835
404
571
919
911
238
397
759
848
132
916
518
395
405
486
599
947
617
387
438
788
534
586
961
760
266
489
195
870
254
941
405
838
324
369
115
393
870
961
453
888
175
523
871
405
580
166
753
116
345
360
935
717
853
851
22
349
328
27
707
732
492
345
462
716
595
831
575
876
512
39
500
824
355
354
437
16
37
178
8
263
757
178
1
952
435
141
293
355
849
155
912
317
470
532
575
378
324
301
226
174
857
962
721
967
627
454
154
90
184
728
852
38
990
115
785
142
592
72
922
771
320
92
571
656
196
117
976
999
414
107
791
797
566
151
294
703
13
59
208
460
915
292
982
856
598
565
943
368
797
641
944
579
326
968
227
47
7
306
772
916
925
501
495
914
265
358
45
225
570
714
22
463
823
192
364
388
574
664
259
761
86
698
108
887
952
719
654
944
836
665
193
79
764
16
783
862
415
468
644
108
976
464
254
594
64
284
313
689
144
562
501
975
596
698
242
712
12
424
776
112
149
809
924
502
876
95
903
707
264
680
892
610
845
934
86
89
610
197
713
803
224
201
958
692
524
728
419
513
415
450
868
48
39
854
134
906
872
263
472
945
589
78
87
769
149
706
137
919
357
523
57
196
368
664
807
475
461
52
620
998
230
989
646
826
998
952
555
46
374
44
547
540
70
343
510
982
357
859
799
489
260
879
529
48
687
309
795
773
391
591
299
529
739
33
926
858
413
247
697
345
904
995
606
119
112
576
531
628
451
555
406
185
341
286
431
794
677
791
273
136
441
516
872
816
760
274
358
398
368
429
727
256
115
780
403
24
467
564
672
76
800
605
948
139
101
976
900
920
862
100
325
389
179
899
239
802
826
391
584
968
343
620
444
429
402
524
31
65
774
758
847
894
738
14
721
872
60
963
889
651
943
729
781
565
50
185
697
432
774
692
477
72
681
9
379
572
157
790
834
643
827
479
360
324
218
447
865
768
573
216
108
783
793
5
884
413
739
904
587
841
66
268
294
862
23
527
765
995
20
684
706
404
619
843
603
403
171
638
504
333
890
718
785
987
106
363
463
237
464
269
994
887
289
356
431
688
571
147
389
637
316
347
808
858
969
111
17
954
177
875
249
888
941
247
174
542
209
465
622
294
938
122
823
914
935
551
145
365
334
840
45
914
839
13
365
997
98
629
633
615
987
552
106
501
844
709
285
427
709
530
263
109
370
657
593
524
441
140
206
141
33
364
392
194
575
364
751
834
197
769
192
540
184
385
606
296
948
764
20
375
50
115
464
348
762
604
633
477
937
149
946
778
966
803
401
976
960
837
442
761
822
755
830
618
576
325
171
667
378
2
170
684
405
446
714
427
659
680
772
499
908
366
662
87
9
892
481
92
556
643
829
834
220
446
623
697
660
865
242
436
563
802
275
40
95
139
690
447
804
532
682
917
338
748
791
839
545
142
46
914
177
917
502
447
835
809
782
724
237
206
892
874
551
494
991
433
330
189
351
635
358
472
731
287
262
628
765
836
692
876
343
307
190
663
535
803
369
877
439
855
798
11
296
331
795
52
117
27
882
884
253
552
555
507
49
638
509
344
820
107
695
737
578
730
157
646
295
687
967
918
412
108
268
619
215
372
497
982
565
610
180
243
816
770
395
685
477
186
305
736
906
564
729
48
477
617
183
274
608
158
950
366
547
871
84
220
276
692
77
227
9
837
315
936
23
673
918
70
77
737
17
887
335
4
707
695
797
96
67
181
624
507
603
341
770
213
661
961
475
252
85
116
59
509
652
154
127
187
398
976
219
526
339
465
550
991
540
503
381
543
234
665
851
767
18
665
725
272
802
496
528
138
429
850
739
528
278
416
705
766
760
760
407
699
589
854
758
692
622
162
373
764
359
164
430
990
533
20
175
77
916
580
785
700
484
990
346
826
505
43
887
64
352
483
276
138
669
482
299
971
147
713
448
441
53
671
88
509
438
681
3
405
581
880
995
803
936
436
984
339
870
437
69
624
815
223
236
84
475
476
38
199
369
882
925
561
459
198
76
933
775
586
629
813
271
53
987
39
995
352
958
959
354
9
638
428
507
809
604
654
991
736
449
800
478
798
748
35
716
301
766
109
185
391
144
453
944
803
749
608
352
633
604
757
252
443
595
172
580
627
27
990
45
658
757
961
193
652
913
510
833
979
226
262
340
264
663
798
380
703
334
454
900
633
361
78
794
716
445
887
802
255
210
383
141
221
693
437
15
748
769
405
266
959
56
786
661
343
130
414
615
629
450
67
135
164
307
85
189
466
505
86
979
737
995
434
888
395
128
315
653
718
49
976
282
467
962
450
899
698
607
520
1
970
539
488
743
232
397
192
950
619
908
776
546
421
378
977
804
13
233
83
184
827
674
898
131
228
575
293
327
231
601
951
135
526
956
861
202
194
595
291
159
742
674
234
158
722
228
228
904
922
930
28
635
378
165
750
261
603
368
519
117
911
147
74
68
711
422
109
178
763
238
263
726
788
295
89
195
137
919
729
848
415
32
151
271
884
718
552
436
634
430
251
265
66
686
948
40
579
219
865
221
808
977
674
407
734
661
731
380
111
701
831
878
781
319
665
120
397
212
732
862
202
660
527
432
922
205
158
254
977
491
953
547
935
240
4
77
551
849
590
113
877
231
767
469
491
222
507
827
466
373
674
19
721
316
323
373
516
298
229
520
961
843
162
856
22
897
873
555
233
943
655
386
521
592
250
139
694
811
388
5
700
784
320
157
338
207
829
294
540
992
612
813
27
577
259
809
904
704
474
19
953
883
935
807
94
368
253
310
892
643
559
536
392
698
252
335
952
720
914
598
116
23
961
497
60
24
651
620
980
186
89
939
674
156
320
212
584
876
823
583
851
12
961
149
89
404
859
463
435
326
843
441
107
263
457
568
555
840
684
864
188
84
481
670
565
327
501
778
371
503
206
66
496
231
966
524
960
53
684
308
140
963
395
2
358
996
185
89
673
167
981
161
933
418
157
101
164
674
880
468
700
544
147
424
118
357
319
683
831
38
921
321
804
253
95
968
664
755
590
648
269
399
420
923
150
820
489
174
489
457
60
845
195
924
529
196
527
914
30
893
387
837
77
931
491
395
524
41
858
968
734
397
3
219
186
608
639
111
366
502
77
18
644
56
707
476
754
409
334
635
859
450
121
199
143
827
639
439
976
535
56
795
457
123
85
331
921
523
552
748
425
594
232
732
112
160
560
118
739
594
463
78
620
52
138
811
163
649
987
963
806
65
920
391
374
914
929
63
90
734
803
676
435
190
385
633
790
972
100
0
93
927
161
711
184
291
823
570
392
930
286
498
757
247
465
499
562
493
38
318
963
947
758
611
447
325
85
23
154
585
758
970
907
746
612
58
999
958
505
415
248
122
860
904
438
564
515
448
731
927
272
137
428
417
141
825
435
175
340
931
67
91
359
805
663
192
850
245
521
424
725
290
630
600
656
910
85
743
55
646
697
36
958
888
928
676
885
86
501
873
886
196
356
259
688
157
621
809
536
212
392
750
728
804
806
699
557
988
785
369
924
618
630
545
788
431
329
239
828
969
481
758
567
595
418
355
115
777
266
422
886
437
582
129
686
162
94
216
222
479
775
839
56
842
452
998
102
394
180
762
792
678
374
695
943
603
205
490
848
661
581
664
271
609
194
551
365
123
492
51
125
353
917
7
442
719
304
23
572
955
695
308
386
888
600
524
943
542
972
380
700
654
488
886
912
637
903
821
291
112
72
751
514
94
148
915
953
61
345
64
603
890
342
334
923
163
706
960
150
305
262
645
948
767
312
830
271
510
913
584
36
854
147
500
722
92
833
126
454
820
419
66
499
445
897
871
815
791
657
701
731
440
905
406
381
991
289
559
594
40
113
828
536
803
793
777
273
132
353
180
861
666
178
649
154
379
888
192
316
107
58
897
722
737
364
871
241
471
26
91
172
649
897
802
666
667
424
790
549
853
45
298
836
447
876
962
162
288
646
170
262
273
328
851
894
562
45
524
124
989
447
41
477
676
417
967
919
661
374
256
684
737
543
778
944
863
192
836
266
569
315
831
131
571
846
715
412
775
50
119
478
979
115
960
680
273
934
181
90
705
394
136
102
736
601
880
707
912
839
737
879
42
274
932
612
794
282
493
391
301
880
233
361
958
43
269
661
732
211
342
453
345
291
743
649
279
412
350
106
281
781
291
849
250
391
974
512
713
367
300
276
426
640
412
150
785
337
40
909
778
576
656
329
502
697
739
593
405
594
630
19
60
524
752
234
576
478
412
515
608
439
877
717
152
368
226
466
643
258
944
758
756
477
34
471
864
521
490
695
491
649
254
799
846
586
747
388
941
145
536
253
820
989
667
973
65
315
113
987
418
734
50
698
637
183
527
992
438
509
829
485
431
597
609
384
995
898
392
242
940
163
135
771
365
229
650
557
309
257
802
126
776
879
963
657
706
211
827
797
429
166
814
223
173
217
368
83
929
332
577
812
364
504
908
820
428
805
570
990
539
660
927
874
219
752
819
84
401
508
336
422
596
102
616
642
963
690
858
944
334
475
750
336
706
833
983
611
665
400
396
561
488
295
523
60
336
418
17
184
7
717
491
609
22
862
955
372
611
192
25
21
75
850
692
389
266
970
896
981
315
356
589
489
92
774
399
970
132
511
830
568
430
755
63
39
617
419
748
432
341
506
701
292
191
701
64
139
889
683
590
196
795
534
51
90
594
370
501
20
840
659
51
964
248
634
100
934
205
130
873
885
536
597
109
520
990
449
264
221
463
874
454
851
881
951
617
968
458
674
866
156
762
176
636
192
74
119
67
602
310
493
36
235
937
358
910
981
369
763
273
61
260
80
818
562
756
540
113
88
65
814
408
184
846
910
654
864
551
803
140
816
987
293
138
550
107
903
34
799
961
725
160
423
331
210
541
585
92
865
316
911
193
457
520
691
485
321
359
848
387
641
992
298
316
394
566
9
904
408
236
194
102
428
431
728
794
950
708
119
452
418
292
929
446
763
86
366
587
93
396
643
401
558
354
599
946
958
163
698
191
239
659
159
163
347
161
118
738
231
151
966
139
290
152
943
404
560
679
706
439
580
222
948
737
847
547
301
528
533
623
790
740
502
955
350
743
859
146
410
478
446
943
204
603
637
489
204
984
684
726
155
326
583
864
669
62
868
182
704
843
835
873
81
694
855
150
726
193
948
345
992
583
803
754
805
361
145
797
106
866
971
877
930
343
904
448
898
86
333
723
36
136
625
104
96
33
655
544
40
624
909
54
168
217
757
866
736
311
715
989
300
663
664
190
966
459
443
968
361
188
774
933
350
480
276
421
913
826
672
584
330
791
793
312
812
604
684
523
839
824
920
136
478
519
201
51
613
318
915
695
912
588
342
859
209
125
15
964
187
6
439
240
269
214
218
131
228
909
131
951
81
435
299
442
98
476
417
257
359
321
787
825
283
724
657
710
207
359
189
691
72
529
386
604
544
586
65
154
438
553
451
138
71
4
729
474
858
512
359
435
100
947
540
913
194
313
27
522
742
389
422
276
572
471
45
268
41
343
620
954
68
936
300
788
121
957
812
796
748
118
171
629
265
727
629
610
561
352
632
901
969
516
445
794
819
493
808
433
778
358
641
74
863
439
772
904
371
125
579
386
512
13
349
339
514
808
307
493
571
508
580
747
339
113
518
825
92
597
954
348
780
776
749
388
191
595
85
755
116
162
929
301
797
517
447
48
744
861
651
338
713
469
407
873
623
813
456
799
893
185
229
996
713
493
992
846
501
119
34
938
270
894
203
760
80
484
222
842
781
145
554
698
186
753
787
924
115
20
194
498
255
986
109
956
297
832
651
740
216
14
101
373
377
579
600
106
255
60
14
229
87
74
836
604
164
828
507
84
777
767
468
341
207
214
725
955
184
550
425
767
180
654
769
156
673
98
712
895
621
157
522
978
701
816
604
369
912
327
3
555
933
4
597
185
481
465
502
416
765
602
554
967
890
617
623
543
646
699
267
480
545
88
921
221
666
83
941
310
941
682
572
44
652
388
690
524
647
312
503
291
488
462
321
214
369
363
4
540
980
528
739
749
163
997
262
330
722
722
641
839
79
189
471
262
929
76
546
346
815
671
664
335
527
778
251
392
518
430
643
429
786
206
900
471
385
641
55
141
809
196
880
537
996
241
418
794
666
639
531
593
903
641
898
626
843
817
529
802
901
737
146
488
10
252
607
123
646
901
259
809
436
347
829
231
357
669
500
918
691
828
436
337
10
990
267
781
87
166
749
135
355
678
555
355
653
606
93
856
744
888
183
303
440
81
9
781
916
793
246
795
462
255
402
529
826
262
535
701
380
263
119
833
806
939
955
254
946
583
575
509
507
33
340
881
732
390
311
942
591
117
221
79
776
41
812
65
616
70
131
615
739
624
468
793
296
318
887
96
697
77
887
722
908
540
981
167
448
338
66
575
362
344
505
871
517
994
63
155
202
141
106
495
411
947
166
964
454
584
368
637
793
448
908
103
285
335
962
170
210
654
631
419
907
707
956
326
500
79
903
104
724
189
636
870
87
847
508
27
611
367
364
373
948
585
71
123
908
298
844
172
899
910
412
694
630
723
668
187
747
243
387
794
715
345
545
248
30
535
514
541
166
533
68
486
406
626
612
566
575
888
265
937
892
26
635
560
33
651
488
93
345
182
805
299
112
403
299
859
226
244
635
175
722
135
518
876
234
129
140
154
486
108
110
421
346
985
757
245
757
690
90
514
638
144
895
813
955
531
826
843
3
954
224
694
519
932
48
287
83
276
153
407
911
305
33
395
581
793
386
530
939
750
247
564
115
184
141
122
761
911
562
144
901
207
14
53
242
829
929
705
807
510
274
791
978
759
431
429
893
171
298
672
290
184
927
9
159
905
705
290
605
473
412
256
448
656
560
491
779
530
744
323
900
281
394
698
455
331
758
718
746
162
848
315
715
29
593
552
656
67
558
299
446
920
0
616
916
344
821
294
704
489
266
675
325
638
277
122
667
867
792
502
990
532
841
425
417
579
353
161
249
618
415
692
859
584
517
537
90
853
795
642
378
632
974
275
11
508
145
603
969
433
14
628
395
665
430
657
869
723
810
388
849
914
632
497
652
841
530
799
469
824
702
746
833
771
273
222
825
623
559
603
322
548
983
992
327
336
281
353
686
574
854
204
263
184
424
801
662
565
902
405
258
501
209
694
600
614
525
711
443
281
850
682
520
183
952
246
953
237
967
947
443
473
548
511
934
636
898
906
65
526
283
977
48
923
572
463
116
455
35
595
158
663
537
46
967
261
858
177
958
292
358
163
266
301
635
192
850
484
811
10
658
227
260
712
234
803
688
418
17
113
799
503
45
319
747
306
850
329
430
585
866
343
678
8
938
167
118
351
166
617
252
2
257
972
294
832
480
85
332
496
24
562
639
879
507
621
826
238
356
170
328
74
907
664
57
37
964
891
390
90
557
705
546
841
4
197
798
956
516
995
825
118
340
427
412
573
299
379
344
421
674
384
275
150
238
733
78
190
304
147
528
940
94
471
460
51
697
131
379
549
119
882
68
390
663
482
626
132
822
113
667
504
346
748
32
560
399
664
740
724
382
513
853
388
468
599
846
540
184
315
642
610
863
596
127
272
150
140
473
628
588
420
748
72
376
970
401
298
357
981
893
55
842
656
542
432
75
924
482
656
500
140
562
250
796
2
660
725
771
865
196
298
525
293
854
444
488
4
345
214
66
807
167
488
610
154
255
498
957
425
496
892
92
61
663
667
741
343
395
395
146
524
743
78
418
430
86
514
279
765
290
339
353
841
114
455
186
303
137
487
120
581
971
921
747
901
771
952
526
381
687
253
366
149
266
155
962
521
539
771
143
76
28
577
704
824
552
624
700
531
137
66
883
740
200
398
734
634
6
893
864
376
847
472
286
881
696
115
931
369
889
943
998
819
334
984
822
397
64
897
570
19
861
851
84
671
20
120
149
620
339
781
288
118
553
610
927
403
707
786
107
369
117
627
374
561
771
332
780
172
159
129
658
58
574
892
556
692
905
560
200
83
198
391
489
183
887
749
271
88
136
58
953
584
838
494
281
502
677
485
603
718
441
261
653
56
417
787
176
360
24
903
503
577
874
443
810
614
568
816
450
373
603
840
566
681
172
281
322
955
313
805
155
129
262
264
507
164
786
432
899
124
796
707
625
472
265
32
729
307
873
501
489
225
617
513
923
714
497
946
99
88
773
450
324
930
988
571
534
943
720
591
551
839
622
382
700
694
890
185
448
918
35
786
963
355
460
174
906
677
616
587
369
723
286
888
516
742
750
437
728
114
211
719
67
880
425
867
701
810
59
887
970
925
775
891
563
469
389
924
773
158
864
970
962
234
981
966
721
330
855
421
266
669
912
174
888
640
890
793
43
330
819
710
464
242
86
708
380
631
210
813
467
245
747
901
225
487
534
889
885
752
369
879
800
563
593
249
130
940
84
418
77
456
759
292
661
426
948
986
803
981
775
697
183
264
946
922
915
532
258
321
981
821
775
923
103
806
191
585
642
165
147
606
239
864
672
644
24
103
441
14
240
826
102
469
582
132
253
720
759
731
667
615
943
464
711
262
806
406
429
825
145
107
727
261
429
182
490
465
256
191
746
54
585
435
626
873
224
827
746
843
984
156
630
284
147
202
980
14
328
863
342
187
410
24
890
550
332
97
14
497
818
220
699
359
415
163
216
991
970
271
730
643
590
397
237
421
582
377
734
792
985
87
8
395
723
590
540
795
948
801
359
900
380
99
213
475
179
293
2
474
968
508
683
625
179
823
190
942
734
359
650
845
733
687
587
708
817
86
213
621
717
812
692
588
653
181
88
295
218
768
653
123
826
440
18
85
270
980
420
168
397
332
236
348
266
714
42
296
591
799
935
859
726
841
736
260
16
863
377
447
656
930
323
273
330
620
728
122
22
226
385
593
961
417
62
754
302
218
464
890
129
54
649
816
344
397
705
223
179
7
320
408
122
323
44
276
188
630
896
254
712
150
743
552
226
769
983
387
811
739
717
756
881
626
478
882
88
670
111
305
685
76
51
581
625
581
123
27
993
896
384
309
708
580
632
754
103
256
444
705
624
237
962
651
708
350
907
124
55
899
817
117
197
866
773
31
138
250
863
169
583
995
887
388
827
688
408
163
3
873
34
581
681
656
609
304
559
922
809
214
670
976
509
606
506
17
644
718
61
427
216
441
289
756
82
32
720
129
543
959
975
598
734
365
232
8
769
491
147
542
966
114
268
44
586
427
227
340
400
818
556
198
261
472
387
961
150
379
384
560
7
611
86
473
787
950
783
214
126
420
488
27
451
145
422
320
363
297
910
97
421
618
197
761
671
830
270
388
856
854
981
114
645
548
241
25
717
770
814
258
626
996
820
508
71
113
278
504
144
226
745
677
273
982
190
519
268
644
520
362
401
320
198
150
60
326
966
327
354
671
558
536
609
267
468
814
888
362
256
225
183
14
876
950
94
522
415
471
233
913
130
520
379
997
890
435
999
872
496
22
654
897
454
1
407
198
901
483
971
78
68
189
483
245
771
771
874
189
754
106
91
91
235
879
481
189
888
48
874
514
818
723
951
333
768
395
325
614
570
713
110
885
568
149
532
227
20
686
94
146
656
737
673
611
658
393
513
479
110
25
67
635
805
285
708
853
449
941
152
668
69
396
356
252
278
693
802
957
144
883
759
781
301
914
90
989
792
661
960
850
477
842
248
893
34
86
93
337
420
40
969
304
267
967
281
974
254
640
197
526
735
966
166
697
807
517
575
878
519
9
120
131
535
462
738
461
558
995
247
31
92
634
252
157
915
933
996
938
710
640
327
845
203
280
14
116
820
110
363
513
628
49
869
477
902
495
48
364
721
476
253
539
660
830
86
345
708
411
579
851
369
437
484
297
443
865
748
151
692
732
739
296
577
310
644
805
297
397
456
748
807
420
102
371
86
311
742
674
431
84
677
398
991
850
115
34
713
467
720
905
998
152
553
853
600
390
864
124
7
245
149
730
407
777
375
804
40
248
530
288
995
353
526
857
172
310
798
398
147
65
563
822
911
470
704
255
990
773
662
290
934
626
72
915
267
264
4
418
106
904
72
970
69
447
921
212
366
316
291
136
849
883
721
706
454
967
893
526
878
114
323
372
728
315
665
149
878
404
242
363
414
662
781
497
756
539
988
399
850
657
566
82
965
694
892
141
566
327
375
353
744
677
432
474
912
970
169
675
264
993
58
181
523
671
237
317
513
379
323
597
390
318
893
736
230
89
757
225
988
902
796
889
955
682
903
240
628
429
852
437
367
137
352
3
394
423
367
461
470
308
424
672
869
417
928
228
704
698
609
718
836
166
451
880
614
887
154
471
17
980
523
552
936
148
330
916
444
516
917
266
900
835
878
774
252
875
739
881
132
418
27
792
960
751
328
952
91
829
986
661
615
89
139
674
508
729
391
553
602
646
210
330
130
235
695
321
693
190
414
800
948
604
0
980
622
249
980
312
92
79
710
93
756
185
614
635
38
950
692
649
726
356
102
665
976
67
343
879
33
771
320
505
562
481
572
779
101
784
461
750
764
191
555
535
232
21
909
626
623
911
697
749
276
964
300
148
155
788
300
489
910
662
344
675
709
960
388
442
152
214
257
134
616
363
263
920
370
98
814
896
57
181
848
326
755
419
933
819
89
233
218
19
678
56
78
863
422
384
157
700
851
475
800
906
797
899
467
771
35
464
52
600
368
14
846
980
814
376
886
494
932
130
234
591
571
581
703
469
851
463
618
28
951
543
718
124
891
275
340
186
296
391
341
839
618
698
109
906
873
213
925
24
784
746
51
964
525
550
598
543
203
432
915
576
252
284
18
7
395
264
919
92
535
470
407
867
787
166
780
205
657
582
103
770
450
888
124
741
567
478
834
589
784
136
26
392
861
929
856
209
229
950
860
344
573
165
172
130
265
522
951
721
882
279
919
24
329
553
170
439
118
430
856
242
546
376
977
308
488
371
414
605
15
4
881
696
442
164
113
687
165
847
451
139
734
626
369
513
412
169
627
19
439
342
25
376
303
4
530
713
669
302
355
232
517
604
300
698
957
935
404
109
817
855
303
431
576
209
677
549
209
608
327
3
326
8
289
413
46
621
231
132
587
11
293
460
564
953
881
848
790
343
726
662
430
584
864
941
40
77
247
129
531
170
130
360
53
596
586
383
137
229
581
269
775
966
82
177
787
135
230
212
144
82
563
415
401
28
944
756
930
100
447
338
28
71
710
531
117
90
93
432
867
312
685
656
450
794
825
222
18
303
379
325
51
844
711
646
78
419
785
808
909
411
972
357
156
259
803
420
741
71
496
956
765
789
561
16
875
326
356
748
239
274
111
507
948
461
10
956
531
226
394
141
869
684
384
218
307
489
132
535
41
252
94
706
225
358
219
715
869
164
472
820
591
203
117
805
372
21
945
355
775
396
564
683
748
11
224
556
361
979
782
422
892
512
465
834
66
900
477
477
391
147
263
214
518
282
688
194
339
777
302
29
33
147
248
0
992
725
952
430
267
612
665
542
64
709
130
936
193
829
291
178
481
840
142
950
59
322
3
712
428
284
365
60
368
474
828
950
123
389
191
615
537
591
990
937
715
343
490
420
414
392
520
776
753
310
361
35
620
875
963
429
368
661
767
526
202
926
153
192
234
559
100
415
597
952
899
136
683
502
112
480
247
786
130
190
705
864
717
620
653
290
239
74
913
942
391
789
796
317
219
499
795
72
935
772
151
147
631
991
971
337
294
540
734
144
837
8
1
38
588
379
682
36
386
854
720
239
284
166
109
265
586
881
964
324
277
646
601
335
602
237
758
32
48
387
877
305
596
354
803
785
661
753
78
706
133
624
431
773
880
274
84
546
8
354
340
391
571
777
200
509
429
529
612
221
136
700
339
148
199
217
910
53
720
568
971
476
350
692
382
456
41
113
143
749
96
591
157
698
297
53
229
268
164
509
788
327
326
476
533
270
109
580
237
717
453
873
790
322
869
905
61
656
818
589
327
538
233
342
886
978
326
593
351
505
104
657
169
787
932
183
711
932
536
648
594
574
370
675
836
151
628
57
247
547
882
42
821
892
695
43
69
395
587
57
934
358
767
132
97
357
841
629
1
7
552
734
377
859
484
164
388
819
613
944
208
413
882
179
163
788
828
979
844
133
563
694
828
420
769
526
26
334
231
452
429
362
734
994
403
443
184
849
310
5
180
761
640
36
429
14
586
430
941
768
355
647
544
148
906
828
504
186
620
468
278
524
728
715
279
857
917
0
318
87
995
160
847
525
395
779
227
997
755
207
990
492
161
500
598
294
517
578
14
35
334
743
111
601
345
427
537
58
62
47
470
471
931
450
793
759
870
757
904
872
541
619
496
380
813
94
505
656
425
388
949
357
710
161
860
876
575
678
921
261
475
136
445
815
396
228
986
918
15
191
195
321
741
561
991
589
932
673
217
316
760
751
410
439
735
654
133
739
694
784
414
991
744
709
144
47
792
318
633
139
697
985
255
375
266
684
447
620
720
357
907
754
894
837
870
718
78
434
977
620
485
317
790
782
359
3
879
255
382
673
742
77
282
865
848
41
384
173
607
479
663
626
761
587
713
909
740
373
658
259
43
327
835
772
950
623
242
28
253
5
631
261
123
768
452
610
825
713
753
39
337
442
276
273
56
400
175
949
470
298
605
76
436
553
382
433
923
198
372
753
481
247
899
228
795
871
871
192
875
824
272
155
889
573
957
687
780
189
33
554
811
584
835
340
532
360
814
568
834
279
976
700
107
253
597
676
695
684
572
778
916
758
513
306
473
778
509
993
993
822
449
184
855
859
760
143
910
919
845
262
538
134
1
885
537
27
648
552
970
833
952
555
619
808
658
184
412
520
595
434
159
852
67
411
524
378
469
393
960
825
361
298
486
831
155
48
990
178
0
32
251
424
254
199
561
705
430
592
732
216
339
339
748
684
881
454
823
538
766
216
340
539
343
800
615
930
866
884
416
721
104
485
681
385
209
255
486
881
713
949
394
14
714
379
61
61
211
593
493
259
386
325
233
859
892
636
259
239
520
959
897
460
616
311
466
538
119
340
683
451
633
320
120
884
571
799
619
217
177
42
754
741
894
85
516
811
541
918
407
192
993
314
229
934
83
656
471
280
493
645
60
287
919
888
620
133
444
237
110
874
237
151
983
531
589
727
60
113
868
859
717
551
966
200
542
345
325
747
517
907
942
374
125
728
254
858
611
26
188
926
236
931
813
534
349
564
97
375
5
852
463
357
766
185
163
694
866
242
321
780
360
811
449
724
337
994
499
99
996
348
195
322
181
743
112
297
581
835
358
116
77
841
947
968
494
936
319
793
285
410
319
351
988
47
62
244
651
718
496
921
749
957
368
674
674
296
365
789
706
467
831
916
463
262
706
305
246
880
800
244
6
23
134
381
191
314
673
468
992
610
274
507
511
897
100
169
78
568
44
421
184
329
798
166
463
825
212
628
216
797
817
606
733
329
529
830
701
303
977
446
784
292
415
544
125
156
993
368
234
376
657
167
947
389
623
652
550
998
1
510
939
437
830
779
920
327
787
19
828
72
413
890
147
773
149
382
543
445
690
631
597
29
944
358
342
209
700
690
781
244
680
770
125
717
733
725
577
104
260
493
202
242
295
312
576
181
256
406
718
865
680
710
920
879
135
443
238
504
897
825
508
67
2
581
459
735
931
162
436
964
464
482
389
643
50
990
558
41
915
518
374
447
105
263
20
952
580
793
406
904
468
273
183
558
793
271
813
238
638
509
740
926
922
499
811
818
169
254
878
931
767
491
479
864
651
824
470
746
327
124
958
740
617
921
56
562
61
590
785
730
899
556
200
308
80
591
79
302
387
477
610
671
64
328
316
303
590
571
612
26
927
942
101
16
114
821
882
662
377
993
873
421
53
258
435
275
601
273
555
880
487
914
270
329
895
767
670
251
319
236
359
91
279
567
639
443
909
96
804
305
721
773
968
309
581
694
87
537
653
114
54
817
48
616
704
629
445
160
638
224
357
0
216
596
156
165
120
589
66
958
459
185
995
529
271
733
825
801
807
785
678
851
749
527
451
507
299
541
712
417
95
177
140
711
552
344
375
82
855
673
908
665
479
917
89
485
884
160
205
582
906
286
899
375
89
270
347
86
438
43
317
658
681
120
208
720
921
496
129
431
196
962
368
912
882
128
953
912
488
874
674
791
358
970
631
307
149
254
168
359
689
774
839
47
172
661
884
409
243
700
935
447
40
354
869
368
221
639
855
661
63
930
214
389
19
440
796
505
173
924
941
149
304
55
180
478
109
134
378
711
946
753
586
889
940
428
794
460
880
399
286
430
394
203
769
564
59
855
50
82
709
526
674
339
965
839
945
88
773
950
818
200
767
639
455
892
648
451
795
326
99
771
1
854
481
269
351
131
24
103
888
218
713
668
763
0
200
466
989
761
954
566
716
75
620
514
586
255
650
47
133
24
900
212
908
545
781
294
38
735
785
562
745
366
861
59
921
576
921
498
79
103
544
448
386
34
233
815
815
111
612
856
866
225
827
842
403
636
804
477
155
627
765
788
918
570
381
578
232
141
887
206
607
868
244
69
812
644
411
501
980
200
530
226
741
623
163
428
242
974
522
285
427
510
429
80
62
607
540
471
583
763
672
429
867
242
889
185
484
410
27
846
461
437
766
930
536
295
537
529
162
822
640
870
782
84
720
278
455
229
17
805
200
376
664
863
66
859
602
99
683
403
510
315
98
904
380
125
965
394
130
306
980
537
59
429
583
26
29
534
656
919
405
767
238
967
784
604
551
756
260
634
56
699
507
950
806
355
691
525
333
859
712
687
179
204
325
319
595
314
328
584
925
144
991
972
442
84
242
656
840
559
270
384
556
142
398
117
598
304
40
326
26
145
731
274
26
502
88
947
60
901
660
153
163
815
174
120
930
347
156
645
970
665
19
473
714
888
130
570
15
968
520
572
39
42
679
765
728
697
842
420
934
68
61
704
250
4
100
478
475
660
265
144
569
81
649
809
708
503
481
512
40
432
517
680
622
73
977
829
707
752
940
369
380
552
759
134
251
990
256
525
607
157
704
298
558
466
525
555
211
894
973
398
341
403
361
54
967
36
42
226
307
544
32
153
667
203
83
866
273
822
42
787
158
70
913
155
385
218
592
129
709
172
435
147
641
779
291
330
621
983
734
492
680
821
785
293
396
74
920
683
873
309
365
871
178
298
684
383
334
65
698
888
745
143
617
24
748
305
52
774
54
648
519
476
962
947
345
817
835
262
934
491
382
608
920
677
96
667
374
13
294
988
484
225
602
24
898
444
486
649
836
347
42
593
628
951
682
336
488
657
532
466
233
143
262
130
196
564
214
577
147
2
876
247
344
229
165
668
43
379
770
379
332
73
690
189
107
778
462
708
629
691
426
272
879
737
93
452
264
484
502
141
179
760
1
697
795
259
590
84
401
802
820
787
742
367
811
911
847
555
333
48
338
412
868
399
199
776
289
149
461
221
432
282
903
567
997
588
874
274
936
465
513
596
333
759
458
153
930
820
779
625
298
263
983
760
114
609
304
185
626
429
443
495
851
533
400
168
751
643
841
821
161
978
424
633
840
858
72
31
965
523
648
446
645
980
673
664
229
912
566
783
423
29
472
787
886
243
879
493
275
369
313
893
846
628
207
493
17
690
613
45
202
921
846
100
636
848
12
966
137
161
925
266
229
598
684
652
955
693
359
20
828
93
599
480
64
137
58
545
465
892
260
838
533
486
732
69
93
977
893
361
869
497
909
732
138
709
382
115
910
816
526
509
934
113
186
413
298
691
340
977
639
957
308
408
77
386
268
544
130
75
249
163
190
572
269
770
777
459
662
174
672
17
247
817
120
362
188
791
452
228
859
862
509
454
700
258
161
960
849
621
998
166
124
309
863
491
348
189
294
588
768
518
418
823
580
767
837
384
876
493
763
883
601
602
820
394
781
602
831
406
158
893
285
305
962
946
93
59
848
467
753
895
590
129
493
973
338
86
487
94
856
17
871
256
911
738
463
252
514
545
884
580
99
913
603
733
847
74
707
696
47
171
966
253
668
250
548
798
348
163
755
989
54
488
163
30
284
345
45
428
24
363
656
554
539
598
750
705
877
952
460
485
939
866
123
41
601
810
401
314
552
684
436
716
20
377
72
418
172
806
101
260
157
16
156
273
17
316
434
970
877
917
525
453
794
818
294
453
953
797
245
949
229
384
670
898
530
29
632
860
583
695
779
17
712
162
689
562
203
312
270
498
274
467
381
2
798
487
302
546
863
957
672
106
736
984
373
187
923
329
601
284
172
488
583
61
171
84
143
130
30
300
752
296
971
79
824
376
619
650
196
319
303
924
813
333
514
403
114
65
179
471
217
896
736
334
166
656
927
193
129
642
965
104
817
592
514
263
688
629
867
166
323
596
8
408
408
659
888
979
943
980
562
986
844
503
523
523
593
615
964
110
156
324
783
356
326
368
76
588
117
161
373
48
377
792
868
306
457
250
619
332
52
212
603
160
267
887
820
250
111
177
523
725
298
830
900
778
659
502
975
899
763
478
966
542
470
488
986
82
518
148
567
673
886
391
25
452
27
203
220
902
977
954
598
379
451
970
621
457
474
942
859
929
178
623
852
397
408
292
346
131
818
978
110
216
78
651
680
897
182
875
876
981
675
180
709
176
566
50
199
380
19
161
542
403
385
772
46
182
783
830
518
786
829
895
570
471
859
553
697
625
276
54
80
924
643
649
19
397
749
595
982
712
712
444
738
542
990
912
9
391
693
328
83
72
105
270
501
225
322
126
283
312
832
60
638
746
343
205
889
82
361
743
99
824
975
901
921
838
380
634
351
472
669
291
586
8
540
783
479
971
750
605
881
142
15
967
218
858
78
434
867
561
593
515
299
391
721
736
667
628
421
543
480
156
298
410
491
921
854
307
833
932
418
445
676
942
931
360
789
925
630
782
614
669
156
315
625
948
875
353
556
342
870
258
582
529
189
11
994
380
242
99
709
555
922
282
444
571
751
354
282
886
648
92
909
194
318
456
866
51
959
706
634
97
37
396
533
487
381
732
88
178
995
327
262
327
600
379
441
321
250
647
66
608
640
346
982
913
409
889
661
786
216
530
653
790
6
696
97
384
95
42
695
461
240
617
595
599
760
851
324
648
173
604
270
333
465
777
944
966
747
889
23
730
526
555
466
325
124
789
783
579
754
926
205
339
498
546
546
214
20
146
789
216
316
635
271
411
173
856
623
729
702
594
130
141
501
90
835
61
874
801
576
576
302
243
505
937
956
341
532
326
691
649
735
411
702
211
977
786
653
309
737
249
399
683
882
87
628
752
950
37
213
691
925
615
725
255
392
515
735
202
667
959
129
886
336
451
684
73
58
183
928
298
309
258
552
793
907
61
821
705
671
159
97
641
408
507
123
818
404
978
889
601
8
0
354
625
931
703
852
193
398
705
454
179
284
934
180
381
511
680
967
335
146
490
190
238
598
48
594
659
456
633
305
719
659
228
236
767
1
417
3
890
199
313
67
321
700
458
25
189
432
268
943
89
111
98
332
951
294
333
111
799
358
949
531
462
906
280
154
83
541
397
745
686
204
646
590
853
494
858
120
112
770
530
259
862
129
155
875
233
767
740
815
327
425
670
126
97
52
703
324
870
573
757
156
350
448
692
391
852
282
144
748
247
168
239
59
677
627
689
665
141
196
949
410
592
849
903
993
841
413
971
951
756
157
444
693
205
446
445
601
62
376
12
629
292
503
289
29
902
306
492
425
980
397
431
32
980
462
938
653
413
669
626
124
995
494
169
37
471
314
943
810
359
339
343
300
35
939
703
542
825
537
844
116
154
933
90
447
485
298
745
177
657
825
978
443
463
221
783
520
408
632
847
958
508
818
224
312
878
242
869
904
626
46
747
180
172
172
303
951
59
97
166
631
550
860
445
683
137
468
356
870
753
96
419
817
313
210
265
421
934
278
617
548
543
55
401
733
653
427
457
63
174
997
542
775
293
988
920
707
101
538
485
575
918
195
801
480
975
903
831
710
722
683
330
155
903
613
626
475
220
627
295
217
71
75
554
468
862
529
90
299
740
422
881
130
799
416
448
97
257
62
450
689
449
934
492
408
404
585
714
146
19
609
827
653
706
233
218
865
448
21
791
98
82
685
858
812
19
795
729
937
663
739
186
799
564
811
312
208
653
89
239
689
200
703
784
835
990
278
497
300
450
402
890
323
505
260
228
613
987
567
810
55
988
489
702
803
821
591
291
606
567
274
920
802
300
641
398
762
299
963
604
61
306
468
946
356
785
446
716
138
505
337
308
269
815
844
662
177
963
2
169
125
702
802
832
846
940
822
722
641
564
104
259
803
164
803
391
968
806
980
571
110
19
345
347
310
123
629
296
778
46
491
334
385
883
676
276
585
697
428
46
606
466
293
174
512
942
412
425
893
766
95
576
568
516
834
236
113
668
779
635
36
200
590
805
411
602
688
440
427
218
566
448
214
70
695
259
408
774
880
184
802
917
43
301
122
569
251
761
792
514
211
575
259
479
474
265
247
335
47
331
793
752
181
835
380
891
314
504
60
137
343
729
867
139
906
523
684
800
211
140
109
800
318
55
2
970
54
322
958
169
663
211
599
716
66
937
696
500
13
471
590
372
232
617
624
268
72
12
294
549
624
892
716
944
508
474
619
686
54
817
146
846
32
108
704
274
560
810
589
353
225
242
701
475
166
359
315
226
677
231
31
431
503
673
552
510
568
889
893
430
223
882
113
279
366
728
746
503
602
37
566
12
140
625
728
86
396
883
426
794
336
242
337
871
89
227
64
770
3
79
279
237
770
395
451
730
122
307
53
737
599
331
467
333
316
410
352
282
139
408
258
932
221
742
176
222
711
236
468
399
256
480
686
552
120
393
26
154
955
955
498
459
40
615
500
295
761
606
752
570
786
184
750
466
52
88
962
896
348
699
351
831
612
475
342
769
827
425
354
511
651
64
679
926
479
699
29
702
573
618
144
406
542
392
216
423
918
598
189
430
10
347
31
520
202
156
787
681
941
329
66
246
386
795
78
395
158
491
927
667
444
587
884
970
593
332
877
518
181
948
798
255
910
20
931
577
79
150
293
804
177
5
386
243
331
406
930
479
176
12
661
113
39
343
860
963
61
363
629
540
310
564
331
668
683
681
639
564
472
373
588
475
462
28
314
523
597
24
597
418
742
49
812
167
743
875
872
307
746
228
999
864
822
533
877
376
953
828
822
88
718
748
192
329
240
977
982
822
830
394
321
411
998
770
17
281
416
503
884
540
223
101
807
731
541
1
408
983
402
229
138
610
682
426
104
746
98
874
337
994
119
542
675
280
941
272
840
336
95
696
609
51
330
955
544
412
418
449
923
616
62
778
178
249
314
900
156
433
457
774
912
404
895
209
22
313
721
596
920
805
744
884
197
485
117
279
759
23
668
490
809
569
707
930
201
995
624
546
279
162
795
412
919
627
397
716
880
844
659
273
465
890
277
683
936
931
469
565
309
180
221
777
156
962
20
923
186
22
382
422
774
562
188
97
808
878
487
722
550
141
385
5
447
669
213
371
618
575
48
848
631
825
148
227
818
507
334
920
488
633
628
899
78
379
117
405
791
706
753
63
915
123
980
562
448
79
10
317
807
771
791
311
288
979
140
272
837
981
936
575
269
324
450
795
382
596
521
736
865
429
442
801
815
920
36
370
20
603
430
751
183
695
85
322
240
910
827
485
52
492
973
286
509
41
987
234
231
62
458
305
857
198
539
545
956
72
558
261
717
503
42
177
968
208
101
974
666
416
602
368
974
653
960
17
162
749
822
120
498
452
961
904
868
290
881
204
230
109
138
273
491
23
42
110
966
230
425
49
279
729
339
186
126
308
808
88
350
99
350
162
558
107
668
621
518
166
704
952
596
197
29
884
527
411
593
343
311
631
81
308
399
490
864
130
352
714
684
714
687
773
229
997
786
896
272
896
894
661
377
455
261
870
926
74
88
46
447
834
857
432
372
466
140
361
499
580
666
556
93
570
605
634
753
321
612
67
418
755
154
244
787
682
202
68
637
384
62
908
58
542
859
134
196
269
22
459
96
202
321
476
471
492
941
891
287
347
42
52
569
129
109
756
136
311
792
638
202
356
247
245
324
314
870
294
311
601
26
716
803
324
310
956
15
459
280
632
277
190
676
530
641
865
115
717
676
83
563
510
291
767
71
370
404
753
840
246
78
847
616
959
628
658
92
875
52
601
985
92
320
876
846
672
962
832
557
706
270
252
544
868
286
814
575
999
126
746
297
922
582
94
147
412
902
818
164
854
130
824
157
11
642
567
61
230
627
559
772
988
553
421
246
793
966
283
160
508
560
942
667
682
469
448
953
606
425
736
51
481
882
139
718
196
75
462
812
403
204
885
717
620
715
617
666
294
15
354
796
398
214
55
229
8
668
554
330
53
114
816
590
908
671
719
438
73
925
583
559
808
14
833
748
335
855
847
133
321
175
382
745
207
762
38
576
635
993
660
272
403
862
524
519
896
14
431
807
665
32
732
468
268
790
513
255
257
229
964
136
593
480
402
817
276
928
472
876
909
318
732
705
458
957
697
355
340
551
478
574
746
575
794
174
527
581
614
27
210
659
907
956
26
97
95
556
861
535
948
414
712
304
933
221
559
404
158
244
840
178
607
916
248
765
506
605
794
104
143
279
856
773
236
891
877
65
771
219
675
566
871
966
785
154
606
776
284
63
199
358
476
58
176
941
614
29
656
367
977
136
425
868
105
48
790
89
919
348
646
208
626
809
856
181
461
329
776
968
491
345
589
608
712
470
945
708
282
57
229
724
118
768
810
264
617
503
520
478
984
247
637
904
952
31
137
493
113
787
992
968
579
995
386
109
169
54
175
51
835
684
602
444
626
866
152
516
798
843
152
295
105
918
640
441
79
839
904
285
221
701
136
767
738
504
521
551
841
861
822
291
828
734
470
179
504
116
826
553
783
752
747
95
781
348
391
237
414
288
788
14
605
745
245
121
509
390
388
519
731
12
966
570
682
318
223
529
342
257
369
598
668
680
191
271
350
198
864
194
397
868
613
347
847
613
705
658
527
405
903
184
525
544
482
483
638
632
589
263
727
119
659
369
462
27
281
218
651
272
97
759
459
955
122
482
607
337
917
956
252
606
423
12
257
205
952
842
209
54
517
181
533
705
839
988
856
190
3
142
877
652
886
281
218
823
343
409
888
233
696
770
588
265
330
443
838
949
140
875
81
401
985
407
254
541
951
676
900
929
342
840
27
852
558
261
554
521
336
164
494
395
478
766
140
568
193
998
532
651
305
13
85
642
872
352
159
86
177
869
826
158
806
131
54
96
527
546
308
981
868
892
858
598
380
640
834
113
321
201
372
553
439
572
429
814
886
555
728
80
453
463
19
23
860
251
138
936
776
235
21
592
408
410
63
811
46
608
581
434
675
156
891
685
800
538
653
21
12
974
387
974
820
904
876
265
459
230
417
613
675
855
575
719
526
882
116
704
100
477
945
214
845
441
403
125
629
279
998
923
639
438
65
341
271
971
258
710
90
387
759
361
414
943
246
956
619
995
853
740
459
570
811
636
796
572
375
39
159
896
886
464
132
879
783
612
201
230
254
906
731
126
50
834
195
765
917
73
343
53
601
227
767
780
89
981
821
500
711
308
428
37
982
257
77
159
390
341
778
228
208
805
546
644
309
84
579
552
363
33
636
700
737
141
392
362
130
29
745
435
688
733
480
609
295
476
388
91
883
351
574
353
586
526
595
106
745
664
840
402
665
623
445
127
34
212
926
667
109
423
175
592
825
55
525
618
468
234
164
906
510
446
570
354
919
708
960
843
389
807
456
711
108
718
335
939
671
965
318
843
87
81
6
27
836
98
544
710
391
199
126
349
917
928
23
878
12
69
956
860
2
276
215
374
617
564
42
669
489
209
275
752
241
869
530
590
630
615
13
645
880
849
67
87
141
930
987
905
974
522
772
882
231
980
675
224
393
737
290
621
1
371
238
782
38
556
507
546
994
723
680
18
128
318
572
784
4
58
65
445
937
7
803
934
607
208
226
79
508
488
406
390
769
679
528
655
394
273
85
344
149
374
151
830
361
688
52
317
812
584
728
364
864
457
371
759
380
60
627
313
555
479
462
257
667
636
49
539
894
445
704
664
937
634
988
30
401
229
761
361
864
138
626
430
401
241
126
447
235
842
348
552
777
931
805
220
52
257
246
493
611
163
648
744
330
483
778
756
557
145
518
754
663
549
93
975
973
915
857
353
409
649
778
538
51
786
678
973
633
819
351
509
427
786
379
917
765
428
525
697
925
204
996
999
63
822
980
943
558
0
737
626
985
213
773
217
167
543
1
640
659
203
956
75
824
258
258
866
928
606
182
384
18
403
161
303
75
674
825
282
337
366
775
367
118
784
975
565
578
169
859
53
325
810
362
998
788
442
160
624
541
783
613
491
942
416
100
365
283
832
734
653
941
27
898
684
576
899
101
834
514
323
590
528
211
135
663
910
982
579
664
718
861
104
303
968
494
864
336
846
104
525
578
102
773
499
131
634
990
908
976
165
268
999
794
667
148
660
360
257
109
773
593
631
510
723
470
114
572
373
943
322
729
318
847
201
297
563
497
256
849
95
570
905
534
264
782
844
330
406
431
342
356
565
560
113
97
136
142
547
942
473
60
25
528
834
801
501
205
841
60
517
619
254
823
952
210
123
104
857
862
824
71
11
162
315
716
772
863
344
434
151
860
294
128
105
517
932
501
696
643
286
115
692
910
481
597
195
970
990
759
172
335
382
530
101
64
674
976
709
422
901
285
516
447
516
641
359
882
203
674
481
885
106
219
982
98
155
796
7
99
91
244
601
338
53
78
665
737
192
143
309
412
883
698
575
151
4
813
457
824
640
571
585
357
626
90
553
569
302
188
603
874
642
209
439
787
582
520
155
994
711
513
758
780
131
807
245
73
547
378
36
677
327
81
769
868
243
278
305
596
388
470
117
279
790
161
208
641
254
694
455
311
845
795
771
202
385
771
168
988
246
43
182
715
190
140
403
374
322
278
542
226
30
832
789
250
141
188
391
395
790
972
876
705
44
793
371
960
471
11
236
114
646
650
409
980
774
739
729
519
519
298
167
808
48
761
525
477
434
451
478
500
383
773
455
45
658
475
893
769
813
883
604
354
159
407
643
864
765
777
311
991
317
854
178
182
531
130
207
486
557
203
456
848
171
925
746
386
790
893
486
937
758
548
264
308
609
259
150
830
151
3
242
146
786
650
64
676
912
147
664
509
442
194
597
129
440
89
242
180
247
819
280
2
121
980
442
384
959
723
423
403
579
819
13
158
12
296
752
423
256
461
695
154
876
875
547
621
474
294
870
612
968
308
287
472
436
349
740
831
644
900
821
549
98
377
558
80
75
127
835
112
516
539
680
571
285
217
335
438
811
152
672
810
539
250
128
932
804
741
431
632
376
669
967
320
506
101
818
123
654
918
453
562
346
928
938
567
691
480
809
667
186
88
142
794
132
627
948
925
304
164
13
331
703
736
669
0
688
939
505
568
253
758
476
28
682
669
604
173
390
914
235
848
509
343
23
580
954
229
542
390
855
830
442
101
925
761
380
25
650
498
463
892
736
368
561
464
404
211
693
628
18
370
788
915
125
706
33
478
515
451
130
626
307
171
26
998
294
256
203
843
525
344
757
635
915
601
875
928
465
948
755
845
679
89
811
638
564
878
682
380
901
800
560
735
584
948
610
773
853
2
392
356
974
789
844
953
797
127
722
930
265
381
155
671
512
116
638
700
187
302
39
477
679
335
607
863
630
85
107
894
478
327
249
627
225
399
499
585
643
746
974
21
424
586
443
564
607
431
583
361
305
248
681
648
247
357
620
378
0
180
699
925
707
155
171
618
764
354
242
529
35
747
594
149
920
551
260
826
317
687
187
129
456
331
696
850
585
745
743
573
169
277
369
798
291
525
861
343
811
63
626
221
20
877
215
505
174
666
718
267
345
53
185
748
344
594
611
590
744
676
987
734
188
837
16
543
410
334
547
932
903
475
455
807
712
888
120
477
68
587
282
941
987
363
195
850
517
712
444
221
339
563
62
835
640
858
216
143
780
100
846
420
248
144
425
850
598
730
599
71
657
131
25
839
851
626
894
396
950
851
366
854
714
563
9
622
620
831
283
658
539
209
530
370
428
502
16
189
347
273
485
854
97
341
100
455
258
144
24
388
687
902
862
823
728
816
724
292
971
94
102
237
197
877
49
54
954
96
893
442
356
193
720
920
389
637
36
834
188
459
236
430
626
56
453
781
237
744
942
113
72
570
123
538
137
571
480
229
351
995
155
880
937
964
601
878
940
968
870
565
883
9
588
541
912
522
957
201
227
311
734
419
88
785
48
136
87
915
0
94
810
8
203
40
496
191
121
303
752
191
569
257
804
625
418
85
632
487
762
170
635
419
912
939
167
651
448
669
229
83
521
613
444
34
846
277
868
18
691
518
409
740
714
171
38
962
347
524
601
151
190
225
84
858
748
68
469
59
515
573
87
767
916
291
50
287
828
358
562
507
288
752
413
512
936
640
791
166
801
527
251
415
184
571
399
119
644
535
20
136
500
968
428
322
818
739
970
305
927
85
824
779
112
159
689
980
990
167
906
993
709
742
658
61
227
109
588
847
221
217
673
664
476
973
964
368
131
903
626
592
966
17
931
930
294
914
416
230
403
589
501
782
296
449
97
908
996
145
883
301
18
639
862
55
813
212
677
913
457
473
944
523
584
192
634
678
422
270
444
21
443
110
123
824
934
450
59
568
705
663
2
122
273
650
276
584
527
325
644
844
995
225
215
339
978
264
538
391
890
556
483
158
39
752
600
395
913
858
776
820
601
749
33
831
680
872
858
150
202
737
151
451
786
249
1
462
585
864
312
432
670
249
2
222
364
679
921
630
809
594
949
308
755
677
355
62
113
10
673
513
947
252
254
758
317
228
798
644
160
956
414
276
859
900
807
150
647
151
59
943
623
37
863
989
257
579
880
6
215
503
215
810
200
66
506
162
766
574
608
262
795
422
763
885
144
358
468
747
204
977
842
97
353
322
412
212
337
613
992
622
279
963
318
156
109
984
620
45
201
598
480
629
903
792
850
267
79
375
954
475
458
142
84
259
936
638
382
373
121
694
451
963
590
621
428
894
783
374
609
729
844
426
250
476
448
731
547
982
186
247
673
467
425
654
941
865
390
32
264
490
573
802
623
69
468
908
468
873
132
463
269
310
286
78
229
703
40
524
897
253
37
665
262
498
872
149
845
674
424
117
619
604
574
619
506
242
706
435
823
616
526
202
623
847
829
684
61
582
281
14
931
698
446
409
755
906
755
565
678
570
771
328
589
828
300
361
888
265
646
735
164
228
784
687
534
808
315
812
753
214
901
336
659
20
532
976
405
966
629
101
851
784
490
998
424
8
115
154
369
454
635
620
60
258
372
321
436
321
839
808
227
78
356
141
345
752
218
751
535
552
533
247
536
112
645
394
884
512
925
109
917
505
130
645
289
443
402
889
8
881
275
789
524
393
207
330
544
867
894
816
701
433
829
789
530
802
826
352
374
932
360
939
538
62
759
840
632
536
353
588
389
375
562
747
502
398
106
938
320
761
75
696
151
468
932
215
725
14
317
481
739
932
855
534
775
120
621
22
461
739
545
552
554
287
979
323
21
949
472
519
910
540
327
802
907
53
175
489
389
552
941
19
386
526
616
673
236
717
838
526
294
913
519
977
980
251
686
387
760
49
615
45
312
644
226
336
673
477
190
840
946
534
106
799
731
427
299
782
522
138
925
750
711
586
291
238
882
514
548
90
851
784
433
582
419
761
435
394
780
453
477
888
227
736
935
678
835
777
143
567
170
776
1
805
474
378
687
346
89
77
756
936
7
281
600
633
928
687
157
973
274
676
184
862
93
853
285
974
275
679
106
88
452
719
719
581
370
956
620
486
570
395
670
207
140
528
398
232
475
36
347
892
206
276
546
413
935
152
598
378
491
917
452
430
113
892
459
806
946
228
217
612
796
168
488
175
148
393
311
166
337
460
996
772
155
354
375
917
112
560
802
217
696
254
194
142
35
809
733
486
864
330
538
518
218
923
720
740
126
585
579
293
861
74
654
50
551
893
474
971
713
73
906
747
434
5
565
623
908
32
527
415
843
1
905
635
480
747
163
130
745
112
479
98
643
490
322
50
466
636
588
242
620
888
550
831
823
319
569
201
241
881
244
49
182
709
247
884
815
94
938
929
415
853
843
546
363
505
811
618
659
531
180
797
17
311
612
804
127
301
445
62
389
901
637
148
306
221
70
970
262
744
517
73
74
521
333
501
814
883
646
500
901
153
85
281
955
710
530
354
666
506
65
529
238
57
836
891
404
899
282
951
33
672
707
767
662
715
855
521
896
847
150
721
958
799
66
162
18
835
867
313
674
908
281
378
177
638
264
990
431
777
617
542
674
184
716
891
141
936
72
527
985
22
414
684
824
589
825
428
535
128
609
356
282
511
604
209
710
175
951
670
935
867
174
574
706
244
595
451
824
458
295
846
397
726
400
347
925
296
255
940
208
927
157
548
693
301
120
202
436
615
239
489
222
252
918
276
909
717
713
369
710
438
881
469
137
326
360
505
909
142
763
617
261
125
499
694
582
229
165
795
268
793
734
79
745
236
885
609
298
798
375
424
381
678
217
723
531
279
48
395
905
262
886
633
884
154
629
87
408
847
15
639
394
760
844
535
991
552
283
136
167
909
268
962
289
263
693
372
179
793
170
158
60
678
226
73
584
857
178
866
510
880
884
771
454
166
164
543
293
743
799
194
570
181
654
774
489
63
909
883
584
871
350
25
379
292
916
76
750
367
32
97
3
765
106
520
663
689
952
672
163
672
777
44
11
906
855
717
746
295
489
814
164
853
640
50
517
585
498
45
490
219
674
984
434
163
429
933
763
111
530
683
817
328
732
761
226
914
384
18
335
709
626
424
851
902
408
439
201
784
497
646
803
941
627
185
480
114
347
587
408
32
296
191
303
730
802
281
658
705
86
105
994
588
639
812
24
22
241
679
637
484
939
188
880
407
722
892
125
922
807
394
605
153
56
62
929
565
539
159
770
478
11
864
336
887
756
169
739
100
678
150
232
932
548
210
831
418
39
775
5
385
610
890
815
998
658
381
354
820
50
613
821
132
249
341
742
284
578
980
776
543
974
892
586
747
319
577
851
58
513
14
596
417
711
135
23
987
457
299
647
847
172
911
321
149
951
253
652
979
311
457
124
910
516
771
89
903
176
977
176
909
834
991
47
434
676
779
105
390
970
940
669
646
503
119
525
327
153
356
85
492
33
146
524
528
163
617
526
872
436
398
734
734
150
928
325
193
955
915
162
760
143
542
316
902
338
471
415
98
175
694
306
676
621
212
322
597
264
104
827
387
731
819
140
980
299
875
938
7
194
811
324
147
134
860
4
369
714
801
706
191
423
612
780
308
380
650
171
689
237
628
37
682
271
415
656
746
202
65
512
968
150
393
340
370
845
141
264
79
849
28
411
414
74
7
560
654
465
169
464
455
765
909
420
903
25
871
872
10
946
644
82
927
581
619
609
44
213
606
994
775
207
931
124
116
845
369
859
31
874
863
704
146
316
63
165
169
869
245
624
704
632
204
873
440
227
907
719
336
765
510
286
149
970
259
515
416
121
366
740
717
128
644
508
545
592
679
367
233
552
545
517
743
385
262
8
597
517
228
669
77
396
70
635
300
704
210
518
583
150
93
165
457
829
576
145
430
413
760
144
350
343
268
413
966
778
847
68
172
604
91
690
841
994
662
602
582
499
20
436
923
641
432
803
417
200
325
285
114
738
718
350
474
314
121
780
477
845
482
556
253
313
694
51
443
681
758
718
164
261
844
127
997
870
931
373
680
274
202
8
871
764
993
94
842
661
948
315
248
634
514
684
444
563
328
893
769
143
695
970
181
634
435
684
828
875
316
339
708
86
137
388
393
365
905
318
817
594
66
636
538
867
725
586
39
90
146
128
632
731
642
140
596
774
352
178
439
311
939
137
707
174
249
702
924
976
675
577
143
418
913
740
493
947
321
448
996
799
919
732
665
642
852
683
549
270
621
384
66
298
762
954
573
849
507
164
740
457
91
775
228
931
390
168
843
953
760
541
690
58
93
800
203
603
501
528
843
0
374
331
841
649
851
570
195
31
670
782
516
266
997
341
54
278
248
80
836
91
40
496
623
172
74
648
109
94
459
872
403
11
776
740
109
775
268
312
976
134
661
217
191
615
635
93
503
835
467
876
45
546
145
567
998
28
177
848
584
606
753
671
61
501
497
350
464
891
179
233
0
743
487
501
527
64
481
168
877
984
335
454
524
686
98
900
528
771
946
771
97
0
747
139
712
898
541
437
248
33
378
169
431
248
467
20
844
327
925
562
816
519
190
855
641
619
376
950
376
692
554
401
619
358
78
650
40
853
545
938
725
851
656
267
185
105
318
621
487
696
652
516
355
269
899
876
651
64
954
599
87
677
46
299
492
193
14
581
457
458
150
365
385
594
609
943
706
701
924
688
994
882
480
739
171
928
528
390
561
406
902
9
329
226
68
387
918
74
291
117
229
849
972
483
264
24
347
1
891
244
585
976
194
253
945
910
236
131
348
825
983
504
137
931
909
433
36
944
966
659
457
429
668
941
462
638
801
414
976
111
65
410
117
114
591
978
509
599
163
610
793
61
434
83
163
51
323
692
547
528
127
785
473
188
454
527
334
752
902
458
883
583
293
625
310
679
259
717
387
155
147
691
44
520
511
943
761
926
78
848
383
194
145
883
364
720
588
863
227
180
826
504
983
278
105
178
220
758
88
304
310
411
277
271
118
330
663
370
181
880
388
579
192
337
612
779
852
265
602
551
484
305
10
308
102
258
993
264
51
791
90
517
729
701
275
558
176
158
766
709
549
255
579
742
448
114
967
772
177
347
1
154
335
800
786
144
356
950
477
366
122
493
241
840
156
963
91
379
860
166
192
438
138
347
691
402
783
579
851
535
964
552
340
600
810
905
472
650
754
60
245
261
229
824
5
17
660
133
534
976
646
914
453
36
226
903
270
195
388
221
535
221
981
152
53
603
885
299
554
990
656
716
386
852
325
840
451
811
749
944
567
789
779
356
981
207
164
729
427
935
190
688
497
934
690
731
297
230
925
74
794
935
150
868
348
863
724
775
797
371
951
107
960
387
162
154
166
884
563
820
89
983
798
66
348
349
22
335
518
162
761
780
316
755
40
289
345
433
849
683
965
567
39
897
218
518
578
326
650
909
413
207
512
109
337
483
345
714
408
718
591
539
159
930
791
720
759
745
860
703
828
502
862
428
722
629
166
574
191
797
811
939
819
641
555
455
148
682
803
762
58
243
648
685
435
765
807
484
259
505
835
271
120
743
791
731
231
29
266
345
924
778
579
27
863
978
927
745
124
605
546
378
217
35
557
710
499
411
623
179
805
579
861
838
694
745
305
375
711
297
27
870
465
543
56
862
872
200
123
670
947
52
991
408
832
757
925
509
259
949
38
623
299
747
527
47
488
134
929
474
793
212
931
840
441
945
353
107
895
507
890
106
76
575
297
800
379
227
68
567
411
646
876
832
565
134
139
349
372
357
634
302
258
5
268
432
875
293
705
394
206
596
547
375
538
655
897
99
407
311
741
700
67
652
208
641
346
939
573
169
461
353
778
954
630
920
707
809
676
706
439
190
752
797
21
445
186
600
685
309
177
841
556
55
560
221
254
305
415
581
663
729
515
335
873
945
788
250
654
958
83
530
689
303
567
98
545
625
684
713
424
982
77
905
338
648
800
599
612
20
401
180
495
208
381
983
752
494
604
968
145
984
950
687
945
842
707
587
708
152
281
211
548
32
21
919
113
749
695
978
185
49
692
65
31
346
545
773
563
686
868
693
823
906
443
753
888
348
965
650
365
867
528
377
203
678
944
878
49
687
174
392
799
627
67
652
580
0
134
470
766
394
572
795
720
197
63
734
226
323
696
814
261
939
553
303
701
497
293
506
707
711
286
506
682
204
501
210
456
719
912
538
362
366
782
820
292
599
835
658
194
666
291
336
332
869
117
990
43
596
886
324
81
281
405
896
583
344
296
58
74
472
584
76
210
93
222
582
493
851
530
469
46
131
202
323
562
821
92
755
155
642
299
877
168
146
548
289
910
100
962
567
616
906
571
93
571
489
106
383
25
723
709
666
855
869
119
939
31
488
416
737
87
129
680
460
808
151
710
472
756
301
183
550
915
126
290
750
962
118
223
84
748
226
792
330
483
765
233
806
878
928
8
580
448
978
987
917
919
298
510
358
54
26
406
904
705
152
176
946
312
872
420
469
206
863
52
900
383
465
664
694
452
886
360
17
87
704
444
276
580
258
848
654
266
875
103
460
550
824
738
409
15
680
825
399
782
88
7
140
804
371
975
154
312
52
909
126
171
432
98
968
59
374
432
108
155
26
469
103
190
475
895
358
445
151
553
204
12
786
284
622
170
734
378
312
501
183
799
106
847
652
537
678
31
834
580
696
267
758
891
130
522
747
995
89
203
267
481
365
842
573
639
975
617
935
885
563
590
116
285
714
902
357
218
201
156
944
362
953
839
596
431
782
378
67
560
133
223
683
668
111
593
409
513
38
173
403
496
462
517
47
935
43
562
313
997
137
269
419
636
267
409
521
501
785
758
646
283
333
969
406
781
341
257
327
61
780
971
11
390
159
129
476
877
903
463
464
372
949
66
434
168
392
194
398
508
577
670
832
61
540
30
54
158
415
994
819
895
698
851
550
197
543
739
763
907
336
726
850
188
861
501
981
439
654
1
843
112
942
989
739
103
51
267
302
469
951
17
475
30
748
62
471
181
813
563
794
319
294
383
197
362
315
116
433
15
669
451
180
960
882
780
964
834
205
310
435
540
584
14
18
667
5
777
640
695
76
276
936
906
709
303
21
347
655
98
723
630
827
168
585
218
41
823
263
492
92
808
598
29
967
949
12
492
914
622
30
378
875
912
333
284
894
363
676
607
661
725
308
62
500
604
14
741
91
296
464
230
289
72
609
381
640
619
790
861
381
857
611
982
259
289
486
391
353
925
753
224
804
479
469
410
826
495
573
890
64
996
645
254
361
94
751
476
879
263
839
289
648
621
221
798
954
115
600
156
961
681
893
429
662
276
999
153
408
326
326
398
540
9
400
994
854
725
959
883
237
879
814
472
922
457
507
752
743
546
511
805
381
486
743
852
336
143
267
21
712
862
376
142
562
328
379
5
864
248
810
853
408
939
443
101
628
749
789
700
948
980
6
392
268
318
414
716
794
896
596
616
370
3
365
388
984
595
873
666
91
111
949
153
995
160
534
939
843
792
104
93
68
67
69
308
542
787
183
662
762
505
448
312
164
900
786
586
487
954
316
197
873
711
759
258
635
108
217
589
782
274
72
786
175
89
220
859
976
537
370
966
197
626
588
442
87
892
234
715
616
606
180
678
374
268
708
397
771
968
832
979
189
70
761
7
122
194
21
449
120
57
578
50
282
858
406
158
969
12
516
329
97
884
993
612
334
83
429
335
568
842
0
582
765
59
623
128
56
404
550
996
136
93
701
831
472
258
114
706
735
648
974
340
461
261
294
593
230
844
872
393
837
578
906
70
603
306
180
594
10
613
971
681
747
524
432
291
866
279
383
971
909
171
712
922
919
398
995
971
893
217
90
820
547
168
493
227
900
625
575
612
505
892
122
130
770
518
649
835
797
368
752
264
975
729
361
725
650
253
936
883
609
907
314
578
153
596
920
288
264
655
27
925
998
74
161
305
442
21
41
345
142
166
178
896
912
934
800
589
149
228
773
212
509
843
900
112
432
754
660
861
683
29
483
817
171
655
544
270
961
984
322
943
723
736
986
673
106
372
377
469
746
367
458
969
558
526
268
323
694
885
683
998
753
624
146
889
632
510
559
680
207
871
497
797
601
773
431
988
258
676
108
245
264
468
104
573
730
71
323
507
212
351
546
464
137
41
642
227
423
751
136
678
905
721
590
379
70
391
798
845
705
137
642
797
573
296
210
287
753
305
8
327
781
107
149
799
443
400
138
73
768
764
194
417
608
978
883
122
753
863
420
269
550
821
362
88
281
250
877
425
615
832
212
569
156
115
126
442
24
818
807
230
125
878
669
194
612
720
740
192
701
77
730
625
821
298
498
47
58
645
434
906
615
31
74
41
974
372
438
984
989
925
985
626
28
946
412
741
167
777
427
683
978
160
452
56
154
160
801
928
446
959
271
24
750
96
170
411
403
835
0
65
547
156
494
249
947
754
321
546
556
147
483
232
810
940
240
531
439
624
458
524
164
611
921
606
592
457
664
185
313
34
766
440
300
540
953
335
977
739
698
795
588
647
411
108
515
787
455
450
847
322
445
963
114
604
934
106
606
576
768
447
227
20
760
148
735
416
604
176
170
501
556
915
924
734
336
157
461
906
28
31
608
441
437
516
791
610
120
68
318
100
827
406
745
820
153
684
114
739
406
124
651
93
605
145
706
954
103
505
849
751
656
428
488
950
908
513
724
876
899
670
442
674
262
445
912
574
576
270
977
174
658
493
446
380
507
444
522
236
536
298
262
456
719
471
655
360
428
337
355
529
355
569
335
382
842
949
792
119
712
17
505
672
860
39
451
141
807
972
145
948
317
106
71
167
861
910
782
130
280
675
528
98
266
636
206
397
677
860
190
508
554
777
366
45
889
957
737
297
839
592
652
772
11
388
836
756
551
813
33
365
236
796
615
903
687
854
539
738
708
626
728
48
649
615
957
154
603
656
320
838
302
154
883
795
934
366
981
410
280
352
208
532
842
49
370
943
522
580
328
821
830
591
792
712
926
572
738
156
238
365
348
470
345
530
83
151
935
542
645
21
238
20
974
253
154
511
622
914
464
474
334
636
25
526
743
409
167
253
750
16
850
53
624
277
78
11
409
426
261
826
636
266
483
774
937
382
263
434
702
434
610
52
860
571
768
348
669
846
599
609
220
428
387
942
923
71
951
797
584
623
52
43
112
296
552
528
481
512
914
114
31
925
61
808
662
314
5
872
338
958
690
981
424
954
146
584
366
940
243
665
194
914
932
385
548
318
230
226
175
683
904
911
281
306
731
215
550
878
218
417
326
584
340
651
857
823
380
628
551
875
365
514
69
643
446
345
977
890
573
778
911
255
424
0
143
367
231
987
907
6
955
699
752
5
865
21
676
481
244
871
659
200
276
412
780
469
197
501
426
448
881
667
291
67
862
420
180
351
745
163
288
131
313
103
12
344
64
499
722
907
845
754
290
405
383
329
496
318
4
677
23
207
627
512
569
674
856
473
679
580
798
54
33
743
392
768
25
547
5
741
573
463
332
244
478
806
495
146
544
853
328
292
868
652
629
27
618
291
874
441
441
617
291
414
116
990
342
157
761
890
754
588
765
640
175
132
550
332
450
499
841
941
887
487
119
515
721
935
24
212
721
64
790
433
486
602
482
957
82
825
289
510
239
449
848
189
605
862
924
987
950
902
956
288
105
185
721
395
135
784
32
746
452
113
972
3
753
506
575
615
822
407
58
745
334
71
902
727
442
281
818
595
14
113
990
287
987
705
893
184
198
563
217
919
285
0
856
552
373
16
872
310
141
664
821
838
682
142
578
716
355
609
211
414
964
306
757
880
97
809
591
847
636
136
926
30
257
467
459
938
143
410
538
409
810
275
642
831
976
290
84
736
202
150
950
501
541
71
783
35
443
877
636
706
575
855
361
767
360
514
85
552
46
457
744
358
736
28
520
91
932
21
377
22
586
296
814
956
957
900
875
756
186
834
581
530
873
629
609
122
784
304
999
385
230
429
758
982
921
717
346
900
404
612
641
635
782
283
9
320
844
862
908
324
788
598
523
336
757
949
667
984
822
672
483
925
233
24
473
345
917
872
762
193
269
50
114
868
280
585
139
746
469
540
872
345
224
481
775
750
699
592
235
953
655
260
793
405
558
914
300
902
554
645
951
706
731
696
324
341
651
566
325
116
243
480
126
950
546
810
799
427
830
160
582
393
516
806
574
319
656
681
959
340
889
322
682
653
132
17
215
221
48
927
262
290
688
334
823
877
861
958
568
582
280
235
963
82
184
924
539
496
823
236
111
614
991
5
854
637
370
420
887
83
835
189
851
890
721
886
903
923
627
735
483
229
173
462
283
500
583
810
217
300
368
672
936
239
932
307
965
111
161
254
436
289
265
204
751
777
348
203
28
195
958
841
223
991
239
933
893
773
924
964
953
79
108
356
907
614
33
277
778
971
36
988
155
196
944
920
889
202
906
653
26
907
700
673
430
632
492
99
864
578
88
897
999
209
1
208
317
431
61
737
808
854
581
51
722
933
139
806
409
193
198
396
636
92
180
155
722
718
77
151
949
59
938
270
263
396
727
310
472
215
317
52
798
219
406
56
104
728
161
980
795
387
105
648
302
304
329
982
869
348
364
216
556
216
98
601
810
395
74
424
425
637
432
743
794
928
36
144
197
853
126
924
610
618
10
609
356
196
613
20
968
429
160
539
598
585
701
639
537
983
118
189
797
47
635
471
814
74
685
338
625
229
339
508
748
669
568
448
627
836
559
194
207
36
201
311
787
373
964
125
947
759
436
271
231
131
382
678
236
947
503
146
967
117
228
814
488
996
309
60
144
737
649
755
555
487
467
585
659
913
759
129
637
883
222
663
931
265
183
933
772
315
981
352
55
391
308
382
209
883
113
524
505
98
118
40
433
988
199
525
145
280
77
624
804
709
33
451
606
495
519
502
70
155
658
111
826
964
210
791
10
667
875
548
961
910
822
873
178
519
512
699
194
584
827
220
470
500
11
339
351
76
994
35
590
180
349
865
869
955
644
782
459
824
498
736
906
41
506
260
130
357
436
514
957
396
310
446
273
733
418
605
480
963
500
119
324
462
514
51
432
396
149
188
779
461
830
297
40
569
619
767
898
717
141
502
957
53
423
563
939
115
832
839
222
190
525
571
90
458
86
588
918
202
369
465
230
169
241
482
540
882
997
657
734
6
366
802
479
288
867
864
171
920
414
304
23
535
645
664
246
319
925
65
642
950
357
256
284
30
977
493
187
730
596
710
704
435
212
982
125
580
521
913
959
993
398
118
386
208
136
589
277
62
499
39
519
445
892
663
978
347
759
333
406
867
101
602
834
89
861
58
326
824
463
351
107
617
950
627
396
92
270
70
633
102
815
138
944
561
275
259
691
75
200
410
79
691
454
684
920
400
402
125
522
940
685
369
184
697
555
57
901
671
573
538
475
20
425
732
559
100
199
545
43
534
915
676
538
213
745
490
477
417
912
259
822
237
691
514
526
775
266
426
257
814
492
946
64
15
762
207
818
396
802
322
14
118
73
254
274
890
201
697
354
226
887
20
134
378
210
193
50
559
417
969
480
292
47
976
758
491
772
180
735
419
173
710
162
500
83
583
570
55
309
395
955
883
698
788
296
957
622
513
256
489
834
318
849
16
242
49
371
685
980
583
552
770
941
699
161
588
173
305
20
590
627
909
466
362
164
698
357
319
913
319
568
606
226
656
472
177
760
921
998
20
927
668
810
411
195
937
663
210
41
647
792
980
676
975
859
353
881
142
415
89
450
784
15
931
276
19
118
760
145
781
953
370
841
286
662
427
420
819
895
479
540
232
201
729
376
968
359
574
381
280
769
303
887
742
861
146
945
359
54
98
152
351
58
782
778
769
72
595
679
320
697
735
306
975
84
666
484
184
542
939
887
322
765
780
882
677
318
62
378
264
477
697
915
699
965
889
661
420
913
465
548
666
238
90
714
717
628
866
679
609
560
353
909
219
891
39
638
108
732
545
651
910
416
556
458
187
404
999
980
720
994
60
168
366
56
276
268
881
262
40
799
339
449
865
850
814
281
10
711
399
310
787
455
517
473
921
273
524
318
35
793
497
87
26
140
508
516
131
69
718
505
31
246
437
344
675
195
202
358
868
804
325
189
163
6
31
889
874
846
200
945
568
84
713
347
161
158
430
241
498
601
511
496
141
267
62
287
307
240
690
520
298
210
717
739
333
528
196
594
136
405
63
175
607
365
470
178
589
575
685
284
401
912
116
679
341
746
848
80
59
489
997
772
981
92
511
918
233
909
419
639
549
29
74
312
145
340
357
349
862
174
321
858
33
351
917
492
107
357
133
263
545
626
922
37
271
602
882
886
643
189
322
36
882
95
977
171
923
333
364
161
431
570
433
858
166
205
410
197
108
913
435
514
96
131
442
774
636
867
762
574
466
644
447
234
607
600
618
522
4
331
209
247
122
597
719
862
185
187
605
275
685
561
227
597
20
715
396
655
86
315
416
6
946
307
357
476
983
970
859
66
783
683
733
14
132
308
639
216
321
62
102
996
729
173
199
907
926
13
360
388
8
255
134
627
648
678
684
457
20
942
302
606
96
238
232
37
31
242
822
897
856
511
985
617
114
656
285
565
344
676
329
761
218
88
268
924
303
342
832
515
474
783
440
272
613
875
875
758
112
335
741
512
746
310
295
314
32
33
530
438
285
500
76
392
367
85
872
943
600
93
419
220
492
109
394
99
757
326
948
170
478
781
626
504
944
174
237
989
618
975
24
222
156
103
887
770
727
289
300
375
122
300
225
521
601
5
495
654
986
654
629
22
28
962
676
12
411
228
498
752
159
100
687
770
194
204
189
390
573
539
289
699
839
514
657
563
958
885
41
837
732
43
641
713
655
746
934
910
576
579
227
259
943
426
526
740
768
191
565
639
907
63
550
40
61
443
598
882
6
580
289
515
833
880
960
310
200
475
420
156
703
870
55
680
334
957
80
737
152
830
840
681
365
233
470
574
997
538
118
659
273
890
557
741
23
92
703
329
978
853
799
911
582
858
311
129
984
404
402
791
684
578
986
958
705
425
775
136
473
257
829
797
21
807
693
320
602
314
819
228
925
322
128
392
954
156
114
716
47
205
222
914
785
564
443
596
193
347
799
333
153
402
292
810
558
145
684
2
30
978
230
780
714
997
963
216
643
184
891
16
19
114
528
38
489
389
690
975
532
725
273
460
231
128
355
113
209
152
638
318
989
910
318
845
711
431
894
696
731
71
837
954
618
624
951
354
517
239
461
698
96
316
524
195
355
938
632
439
755
680
986
498
432
186
309
195
902
543
188
13
373
913
767
882
770
493
202
642
213
126
845
202
67
329
433
184
17
584
308
942
502
171
244
57
765
400
320
747
371
594
297
197
833
939
197
423
296
646
600
643
847
345
915
189
599
914
791
794
775
407
689
275
241
576
712
582
390
531
929
175
664
39
522
895
789
433
814
564
674
223
650
883
394
994
802
255
189
773
858
642
978
616
635
301
523
25
806
250
483
304
506
809
256
407
449
724
437
520
387
197
174
654
945
712
325
1
550
379
622
83
996
136
981
252
622
813
659
760
28
550
782
976
671
416
923
650
413
353
262
562
930
236
245
188
553
295
21
56
932
728
971
105
566
78
86
898
373
419
660
341
379
237
302
739
907
670
400
87
906
595
7
884
590
933
633
278
70
571
72
509
457
386
680
161
181
349
852
752
305
766
18
799
125
576
868
599
912
306
140
241
329
406
445
416
934
901
679
126
555
992
288
464
900
435
797
310
707
589
160
734
814
64
952
33
379
534
478
302
671
282
462
386
917
893
519
171
370
38
985
863
908
217
707
827
21
825
582
463
558
659
26
601
136
287
534
558
892
117
443
519
406
729
129
398
681
541
697
909
554
616
171
5
133
914
394
58
824
244
219
544
737
967
189
617
842
304
625
633
626
680
40
575
527
197
485
230
663
760
200
845
867
472
566
772
518
397
113
808
544
215
712
679
838
14
893
597
60
610
349
487
105
678
292
197
207
454
791
58
636
729
96
311
50
584
381
873
414
353
981
82
313
75
797
791
902
411
780
600
167
795
206
56
304
379
30
514
106
264
523
607
545
328
311
651
688
253
568
235
740
210
513
904
766
153
450
856
351
440
540
389
612
264
130
309
639
670
97
275
782
859
10
260
830
227
286
899
183
319
18
378
666
798
561
65
85
319
686
358
488
969
729
663
757
896
127
889
181
396
246
774
136
365
318
941
732
960
737
440
91
789
102
366
546
278
771
849
154
941
62
486
796
842
363
243
893
647
887
509
652
465
973
47
755
213
131
479
439
965
116
129
259
602
244
953
137
828
317
965
956
207
722
197
93
832
505
240
779
162
240
448
740
989
455
168
523
496
574
352
971
750
21
345
960
181
357
797
331
633
121
845
592
829
852
412
197
206
695
74
429
168
810
33
19
427
484
142
501
654
630
841
106
154
259
596
191
235
110
398
763
79
820
953
267
407
896
507
897
830
643
267
322
778
702
575
921
748
681
998
549
309
980
622
598
362
253
65
304
763
867
974
15
287
580
686
194
431
481
18
606
663
102
686
279
15
573
236
145
674
408
14
500
230
694
138
299
472
211
800
980
314
572
235
490
364
383
159
554
11
124
61
987
901
621
931
775
607
273
841
982
275
160
547
160
212
286
194
279
212
358
811
521
713
83
245
660
735
245
376
84
233
381
278
439
197
789
510
435
736
107
561
211
206
38
108
555
828
459
504
400
601
661
400
920
917
118
676
815
905
351
118
619
589
124
166
59
596
598
856
645
873
113
214
766
516
201
576
946
74
369
659
126
560
31
981
511
488
897
471
408
78
841
518
800
989
594
711
563
602
563
333
152
901
512
19
323
961
115
29
345
600
596
155
827
824
169
337
842
160
899
785
110
753
326
192
959
695
388
559
382
541
655
999
469
904
935
44
258
661
391
120
608
622
374
102
772
149
655
240
669
306
718
720
617
768
116
73
807
128
742
761
72
843
483
945
336
834
554
113
465
124
802
175
824
914
528
463
526
924
757
807
382
249
160
559
147
322
951
859
854
728
130
768
907
408
332
635
320
309
495
435
914
249
492
954
217
402
83
472
469
746
514
336
757
845
952
238
956
468
293
731
534
520
148
520
795
334
87
414
571
852
877
964
26
566
361
615
810
860
329
386
151
944
59
954
983
259
792
150
196
910
239
830
124
594
887
981
413
448
702
402
964
621
992
419
34
333
614
917
302
178
722
775
91
679
881
779
174
877
854
716
530
883
119
992
402
701
269
198
995
823
127
425
371
42
309
187
987
994
490
64
557
909
927
624
999
413
778
423
764
760
334
710
99
630
38
403
920
56
573
540
334
708
73
977
311
4
661
529
209
699
329
665
927
680
173
794
964
68
672
69
90
534
515
438
650
139
464
361
41
425
174
207
578
186
672
140
579
551
289
410
918
426
276
554
126
870
316
446
365
278
569
545
965
184
647
73
508
901
925
463
185
367
328
606
525
433
850
719
939
948
698
644
956
458
221
481
923
580
681
759
144
385
899
230
544
486
565
427
956
8
611
742
100
698
777
381
616
209
960
52
762
661
435
557
197
358
412
340
535
43
74
504
352
784
49
249
976
813
422
125
567
686
596
596
74
765
175
599
84
40
994
799
80
818
330
300
927
485
602
544
933
944
754
29
861
693
216
604
793
701
585
983
566
407
50
971
283
903
587
763
580
384
614
198
273
53
579
791
842
5
401
599
946
211
809
479
899
185
671
648
63
210
930
96
909
311
293
523
147
700
998
869
570
610
134
827
356
647
774
443
388
737
157
655
618
990
35
796
250
817
748
527
284
39
476
473
876
657
439
657
798
73
594
566
877
677
615
494
364
880
531
280
16
759
680
817
504
895
569
413
536
800
440
890
185
18
34
396
389
572
880
261
73
521
163
369
728
331
363
941
959
947
86
4
48
857
59
0
960
840
164
898
294
286
394
12
522
785
684
353
314
987
137
418
128
513
324
90
278
345
139
898
386
43
515
316
622
166
274
964
760
856
795
375
924
290
855
948
188
685
974
735
748
789
115
911
73
718
23
169
29
806
858
320
350
796
669
269
374
157
45
157
41
22
11
220
943
312
919
183
32
835
986
632
99
583
646
984
106
845
779
13
715
720
796
720
982
888
544
704
836
527
138
376
381
825
303
5
137
350
775
877
14
21
771
744
805
646
803
54
937
962
832
726
112
510
552
681
987
409
32
617
760
900
390
294
477
915
992
576
110
469
736
699
386
63
393
622
477
379
903
491
449
485
61
520
969
771
476
563
478
167
175
911
359
400
958
866
356
985
464
720
245
232
938
465
817
173
183
327
435
663
514
171
368
129
67
871
414
797
510
798
537
818
541
218
211
270
565
313
400
248
350
485
258
123
451
261
833
215
999
60
406
145
922
513
930
992
653
21
108
673
958
32
677
613
227
962
30
928
481
580
745
976
415
375
54
362
887
156
740
785
59
527
833
504
348
551
989
494
590
320
571
220
675
13
368
997
661
381
707
707
966
693
240
577
593
337
242
465
683
818
156
140
985
957
549
21
158
838
470
454
910
210
298
463
404
98
252
851
948
630
339
134
653
826
650
998
132
258
33
700
25
488
672
201
915
43
586
138
63
716
534
680
422
552
608
111
643
932
896
538
356
86
955
217
887
995
323
326
831
408
321
159
296
599
871
920
537
6
123
535
769
428
650
839
537
42
401
504
42
335
771
568
838
213
515
928
96
723
301
520
41
864
266
102
614
553
422
843
588
729
393
195
158
118
114
15
55
743
474
326
358
767
769
673
925
984
514
243
918
635
119
380
265
503
484
240
74
737
883
308
398
175
759
849
464
451
583
886
87
894
731
656
370
488
479
744
509
696
886
568
878
722
64
265
450
553
222
53
821
62
955
93
296
2
245
813
460
618
724
890
7
896
708
2
133
984
732
800
280
669
346
164
255
793
181
36
300
639
530
183
375
749
281
897
688
350
858
205
56
185
937
34
227
791
76
974
568
62
835
149
645
330
551
442
186
435
133
724
725
471
405
741
808
489
10
242
483
534
479
831
589
748
483
470
594
359
775
142
557
365
294
967
567
239
25
968
404
574
538
899
804
854
83
423
245
868
64
791
290
673
426
222
423
146
166
989
166
249
514
651
204
165
78
789
247
355
966
474
936
337
170
123
143
114
115
921
689
135
137
406
957
969
482
239
814
331
588
273
756
791
354
65
390
964
666
276
907
204
669
326
386
369
276
126
768
330
691
958
884
488
896
132
90
568
438
287
563
194
665
966
758
237
392
191
944
190
337
568
399
831
804
469
37
795
611
39
227
154
494
423
410
108
967
166
240
535
287
874
796
398
541
201
273
112
194
244
413
762
158
395
566
557
914
748
852
255
950
58
818
751
869
104
741
749
711
382
62
104
140
628
773
169
175
798
974
394
318
879
359
716
398
326
984
490
449
225
160
205
457
527
619
28
917
445
249
242
374
450
167
103
441
334
91
708
766
418
672
691
229
479
458
369
336
76
388
691
722
477
269
936
107
123
208
683
153
936
241
257
904
665
846
198
953
601
807
516
63
5
296
973
757
315
268
132
239
86
595
329
760
939
751
503
559
323
498
797
374
687
811
485
4
198
92
279
769
826
868
224
278
10
358
956
418
307
83
375
797
83
71
15
879
392
532
628
236
667
467
224
478
744
649
649
971
456
558
514
548
294
674
376
737
830
125
676
238
924
731
89
738
479
222
892
94
914
851
935
492
894
235
493
135
143
974
809
550
864
591
842
754
770
888
908
89
231
45
959
213
628
82
34
372
762
241
860
105
766
637
27
27
17
492
503
15
785
666
768
485
812
654
81
205
937
63
615
185
689
396
865
587
896
122
110
444
536
366
60
596
317
746
63
986
859
62
910
341
899
270
489
164
331
810
756
820
982
721
573
990
725
645
350
471
892
362
559
704
238
848
847
108
766
970
355
798
541
987
20
31
436
632
916
185
353
536
246
361
504
372
730
177
900
794
209
571
898
654
467
339
83
852
88
745
69
968
123
527
582
219
943
955
634
511
579
916
182
468
46
293
309
570
118
766
380
238
370
843
583
601
643
582
919
988
688
871
25
576
592
201
344
847
787
583
735
875
6
65
657
543
760
965
210
202
679
381
587
707
604
423
967
847
629
128
938
233
535
233
912
867
558
699
791
11
234
370
361
414
163
420
570
945
221
144
769
277
526
148
813
193
145
68
722
88
44
985
158
223
345
629
666
824
592
864
491
890
612
832
932
2
625
344
549
502
889
193
381
420
631
906
466
6
153
937
226
24
91
500
294
875
99
160
689
611
185
235
315
826
613
765
736
903
383
938
163
352
157
850
978
737
443
207
437
189
130
344
104
815
86
964
38
330
508
384
541
942
629
8
973
329
125
71
930
396
325
594
941
468
715
392
234
945
538
93
31
273
368
330
78
245
783
573
385
670
173
592
399
187
913
489
553
410
509
368
579
325
961
99
337
943
726
236
591
936
920
178
430
776
8
749
984
731
642
344
972
238
89
596
859
433
983
186
318
930
507
436
599
443
765
443
601
332
994
719
22
704
285
233
364
561
599
384
680
405
477
809
763
880
384
757
561
54
4
18
596
440
325
312
172
657
432
837
64
828
309
17
577
813
169
49
501
472
360
904
282
813
808
399
496
228
85
411
239
195
532
802
323
900
648
51
90
929
230
393
598
592
173
640
558
583
489
143
721
53
735
479
325
41
916
187
473
338
170
272
713
495
851
83
291
56
768
388
458
789
629
361
217
839
802
388
272
619
291
400
102
499
304
189
161
880
130
946
662
342
369
583
119
239
39
711
852
561
156
322
927
533
186
353
406
765
501
692
693
920
697
948
562
616
660
557
261
133
148
972
933
505
681
74
295
588
117
463
766
381
608
581
442
86
403
232
845
2
961
900
243
111
735
118
398
435
449
146
756
431
230
278
875
593
884
149
771
91
784
704
560
894
368
679
32
113
139
872
430
209
403
574
705
63
32
267
256
970
163
815
963
929
359
57
407
886
944
404
63
553
524
440
741
583
46
563
243
829
807
103
522
611
913
41
603
714
41
6
722
303
134
24
391
143
240
156
904
674
55
176
66
510
861
465
166
415
530
174
869
604
440
600
155
458
662
180
214
121
215
141
97
280
839
554
5
238
871
951
215
969
943
656
407
655
225
757
569
837
897
754
145
760
89
308
851
534
442
871
347
224
430
273
842
505
17
97
910
144
243
633
825
622
692
516
968
838
749
799
234
476
346
146
935
4
544
856
816
958
231
972
706
860
317
959
455
394
826
333
336
351
379
38
110
652
497
930
366
589
673
31
431
732
45
993
263
348
416
915
90
778
422
452
120
313
61
866
519
733
823
355
6
736
547
376
827
847
751
852
914
694
272
396
428
117
537
832
940
777
132
923
903
622
335
715
705
449
446
714
592
392
867
226
71
980
370
494
373
333
76
639
595
571
665
82
6
629
661
637
715
592
491
392
213
644
157
627
403
366
886
187
0
496
531
688
485
486
742
925
700
127
718
230
377
12
135
585
330
130
13
112
905
48
53
418
171
60
789
236
430
973
896
984
392
983
847
580
55
92
155
76
766
165
266
336
702
323
267
698
951
0
143
13
887
662
590
586
746
342
775
951
788
616
523
540
501
180
456
197
455
726
571
634
602
269
677
729
828
385
539
987
613
244
950
561
206
222
460
236
409
81
817
506
654
956
795
819
755
213
229
273
820
137
619
506
745
710
705
109
251
435
697
724
162
57
361
497
80
640
995
484
554
260
581
241
6
722
594
911
92
733
305
879
564
650
822
600
751
805
631
914
676
189
414
988
568
782
148
145
958
733
583
790
17
357
623
785
27
670
998
425
99
972
430
798
584
991
187
864
423
629
875
137
328
11
754
598
950
115
426
443
44
663
664
905
314
176
83
569
547
678
937
861
603
995
611
670
595
975
59
289
830
103
341
499
476
520
52
342
337
259
3
405
776
747
734
441
614
272
41
145
560
367
195
422
656
589
584
795
971
367
229
699
342
620
541
429
161
665
127
876
969
584
381
46
325
922
986
944
387
901
558
472
840
809
9
787
35
410
493
784
210
213
671
725
917
948
722
134
364
758
861
674
766
870
65
109
372
616
541
22
232
657
892
934
152
540
632
250
261
731
225
841
388
661
738
392
58
736
487
453
106
809
719
365
183
716
826
150
651
710
640
462
672
838
748
554
560
460
298
530
926
900
839
570
565
853
100
844
981
983
624
92
711
575
361
508
349
374
480
616
930
97
780
838
830
649
834
596
516
132
848
827
279
452
502
450
762
119
594
855
792
641
906
24
168
892
461
565
737
908
908
923
93
304
574
584
214
785
654
15
229
324
134
392
233
858
282
225
384
10
812
158
421
721
825
145
860
149
20
576
447
231
715
867
887
843
438
499
280
558
242
141
22
257
556
935
329
933
776
230
117
975
521
551
998
379
528
967
890
442
903
76
164
304
192
106
975
449
479
297
299
347
134
197
847
313
483
675
442
196
19
99
846
115
735
27
358
475
564
400
983
893
879
529
721
934
770
743
839
379
486
894
660
120
91
163
414
557
502
576
680
516
185
44
194
498
959
393
477
347
99
331
505
290
940
204
478
703
191
477
766
741
705
589
736
715
215
473
318
556
881
665
169
45
29
546
333
116
852
298
733
297
634
245
95
690
986
983
437
448
106
54
518
626
100
995
926
939
626
144
635
245
115
246
122
539
123
922
623
693
819
658
344
231
271
793
949
498
514
437
881
771
567
329
733
426
196
140
228
517
274
41
238
753
696
90
406
861
899
347
578
746
118
575
629
368
776
471
448
670
364
301
539
987
593
814
817
543
35
315
182
606
756
715
979
478
130
176
670
430
51
727
326
440
859
148
704
308
839
974
620
383
451
475
258
489
689
197
191
600
185
248
3
739
841
544
418
378
512
646
481
243
238
550
210
230
644
624
448
223
184
846
137
687
363
198
194
649
569
23
851
643
779
0
880
94
217
814
773
59
330
667
33
786
439
339
925
22
82
536
274
589
53
34
127
786
365
843
756
18
743
165
145
294
246
978
870
444
848
610
77
881
20
308
510
781
56
904
311
301
554
206
56
545
705
363
825
533
48
646
473
641
141
655
3
716
62
384
641
569
497
691
762
503
468
842
915
693
141
585
372
686
23
968
439
390
752
255
85
613
951
509
87
658
191
473
336
654
675
319
663
612
81
291
933
867
312
234
945
321
166
316
547
748
4
35
58
675
713
912
906
103
512
378
898
513
84
979
549
733
488
548
581
870
507
866
497
565
829
79
91
916
506
700
354
761
887
229
43
756
617
939
27
997
198
375
449
569
240
750
144
290
274
728
147
788
584
646
455
706
170
562
626
267
397
774
572
68
104
418
656
356
86
274
956
326
236
700
391
209
141
353
794
795
411
295
381
819
571
857
28
249
202
202
931
979
715
763
817
970
395
952
599
307
322
389
74
182
753
84
554
283
843
0
927
405
117
41
458
625
548
841
414
948
637
285
91
536
818
533
451
45
128
647
712
489
469
155
947
582
888
370
8
282
590
291
157
11
498
957
932
323
776
675
91
127
995
548
380
464
475
291
66
697
331
764
284
574
872
845
490
468
582
102
654
464
322
743
406
189
914
758
101
513
23
446
375
542
420
73
265
736
18
434
581
730
277
291
829
14
783
239
850
619
378
415
133
558
370
14
305
864
727
264
192
855
331
23
687
956
640
505
647
203
953
308
446
279
296
642
116
811
679
576
252
684
873
998
569
987
646
292
908
254
398
51
350
706
547
719
980
640
458
959
299
751
153
189
300
93
8
642
808
285
285
755
574
755
79
755
394
25
369
204
628
861
292
684
664
909
527
484
868
446
411
599
512
455
283
844
890
58
726
446
584
875
123
320
202
857
658
704
769
745
549
996
743
616
819
503
258
977
929
563
478
782
215
353
222
592
294
502
972
432
338
231
508
929
957
277
650
302
708
104
437
388
996
296
731
835
657
157
886
576
378
725
2
159
105
958
972
79
781
589
848
374
135
831
252
792
187
837
527
73
578
705
556
559
720
834
455
564
78
441
571
709
236
509
266
908
196
813
953
900
832
926
625
313
90
843
125
250
46
840
141
236
326
633
519
510
691
25
661
504
519
836
36
90
192
48
925
648
738
732
139
183
41
57
916
632
554
328
249
691
281
350
659
248
335
751
357
7
962
782
20
25
807
232
243
729
806
766
595
534
217
283
447
667
895
200
956
351
280
3
108
314
785
699
830
807
957
296
204
735
200
945
814
236
44
878
82
208
638
892
577
413
421
499
955
268
847
220
256
682
547
446
312
459
107
335
425
339
119
160
958
562
420
925
784
912
326
582
857
36
596
712
9
346
553
268
954
248
222
288
236
186
255
488
490
225
47
145
369
612
252
185
553
842
832
439
363
338
308
60
544
111
583
981
641
107
548
871
427
965
664
715
316
97
157
46
46
287
563
173
965
528
870
154
824
822
655
633
383
852
346
10
595
492
334
180
860
545
451
363
589
466
76
978
228
438
805
610
600
136
856
953
678
150
665
189
632
144
14
13
97
828
954
432
588
84
372
148
297
662
733
867
62
427
678
979
455
853
560
366
420
391
809
674
618
834
918
915
158
911
500
671
197
531
263
267
891
341
357
396
552
280
80
718
442
483
783
889
300
297
136
964
838
464
37
370
744
670
626
873
105
119
800
597
258
71
636
642
652
177
881
213
790
828
708
616
841
500
910
593
92
397
239
49
656
947
969
570
961
212
819
42
479
150
844
112
63
526
360
139
942
755
132
311
347
960
85
646
999
666
24
931
662
558
952
415
583
335
555
450
931
885
448
974
812
270
616
964
170
804
99
797
364
639
957
748
599
635
636
198
348
407
119
788
170
166
104
659
219
79
432
666
368
744
161
867
91
104
40
972
367
878
25
607
349
598
532
678
756
254
578
699
302
936
204
895
657
598
336
673
35
295
301
211
527
194
178
207
765
23
787
717
330
489
553
413
680
787
73
164
224
539
702
855
447
734
752
415
200
686
127
917
919
53
256
691
609
883
708
695
771
275
94
95
57
145
898
120
162
763
234
488
383
663
668
163
434
527
503
549
55
339
10
742
715
118
624
138
464
495
726
366
391
314
123
968
504
399
161
596
198
5
774
137
115
624
662
818
200
804
133
681
620
10
482
669
902
892
360
996
158
987
65
644
897
433
967
41
503
309
908
456
499
881
477
878
929
757
651
757
668
919
492
825
776
290
65
627
741
788
695
429
699
101
640
908
868
57
288
203
578
56
718
679
181
588
750
892
131
172
112
763
768
108
16
20
515
573
401
366
85
10
835
288
677
896
712
955
740
409
142
472
256
135
222
856
803
685
93
45
116
89
831
28
868
614
111
418
294
52
150
916
923
950
533
475
621
285
604
506
104
12
164
48
61
346
793
437
345
854
184
866
929
711
856
764
127
79
897
87
198
13
661
131
978
870
47
519
685
31
682
248
851
92
52
479
410
87
955
542
239
995
515
512
963
97
556
339
490
621
537
673
241
770
813
595
731
908
749
565
11
698
227
896
260
752
324
620
327
502
845
229
768
120
395
973
271
365
213
316
100
853
61
280
779
714
755
153
468
565
139
553
32
75
615
186
469
122
908
266
496
520
83
94
596
742
346
997
86
28
113
844
976
746
289
375
534
113
162
877
355
645
458
914
155
822
750
257
580
537
49
235
513
519
296
803
349
754
589
332
960
643
723
216
923
964
480
850
672
430
822
460
490
10
434
736
583
47
488
541
900
381
223
271
681
153
290
445
651
253
274
578
681
538
325
782
642
586
973
642
414
851
63
857
648
920
451
797
113
190
74
861
192
614
394
59
42
659
981
463
148
85
655
410
925
87
421
988
781
874
790
116
475
945
592
427
164
236
398
180
317
685
63
454
203
326
886
587
312
845
825
488
972
620
939
49
188
945
102
247
988
153
431
720
506
10
191
124
767
556
581
946
383
53
55
414
482
854
944
386
75
953
861
133
69
595
757
628
778
748
790
609
682
997
88
733
427
491
567
965
776
37
343
897
661
189
341
20
870
342
140
66
645
252
338
607
894
964
508
218
38
939
857
157
340
673
692
950
851
108
769
155
568
461
308
341
982
733
375
139
631
403
417
289
477
628
410
730
918
884
616
231
142
182
16
15
619
756
261
163
23
403
720
193
284
540
323
44
486
395
230
999
90
340
272
840
773
273
557
384
719
621
549
802
870
690
977
188
716
592
502
201
297
143
454
390
487
404
834
257
561
847
672
760
87
444
741
360
816
913
742
147
638
897
902
686
94
981
433
739
484
621
990
13
882
804
431
43
463
657
813
706
918
414
914
93
200
831
417
456
412
785
681
384
216
52
673
460
34
474
923
478
910
596
730
592
141
189
272
458
460
66
50
172
692
616
453
274
896
719
255
639
541
616
118
779
325
556
417
665
509
920
396
622
840
4
165
990
921
512
204
722
332
614
137
648
423
304
326
506
412
21
139
194
625
678
732
331
538
26
628
404
645
808
208
907
954
63
52
998
47
931
284
81
715
938
839
912
923
864
853
452
370
782
411
711
257
715
949
555
635
141
73
610
785
409
659
456
116
858
458
269
696
157
743
854
189
967
14
890
837
975
466
546
208
326
99
359
289
997
774
745
874
198
740
942
714
915
727
413
873
850
369
324
71
821
306
691
372
424
146
952
607
498
883
597
260
948
892
810
967
193
168
4
917
659
722
537
941
561
731
139
70
720
378
517
771
924
195
960
856
939
149
664
78
749
51
829
742
57
601
381
310
619
0
774
680
490
927
209
240
204
241
202
246
757
380
254
639
511
584
931
714
562
826
49
12
771
477
663
688
580
603
109
507
505
584
95
20
493
251
565
787
52
127
433
57
378
974
842
900
357
639
305
850
107
946
743
457
197
75
315
999
355
516
237
909
451
189
533
165
474
805
223
788
100
422
636
393
560
693
442
648
876
63
750
173
376
620
938
877
733
125
534
15
617
588
387
383
463
913
568
96
903
393
861
972
296
208
408
28
542
100
122
818
434
746
518
810
902
823
547
120
74
272
632
283
123
743
318
770
73
993
212
688
140
661
963
733
960
681
792
451
325
59
64
419
552
270
295
858
397
640
986
845
580
611
345
352
749
610
719
276
598
764
695
800
579
880
53
517
364
950
844
998
827
680
796
370
387
388
820
563
444
881
646
401
984
439
25
971
961
517
460
225
132
921
561
942
492
275
352
730
135
72
182
874
816
364
146
56
548
590
602
948
924
614
423
738
329
988
994
949
243
73
132
837
977
671
403
265
225
327
414
161
825
222
87
13
936
825
83
746
862
846
296
151
207
498
544
179
110
854
660
174
405
668
619
650
569
43
55
549
984
587
424
594
545
555
460
155
916
465
616
339
148
410
489
248
575
980
786
894
195
332
694
790
309
766
500
505
920
779
375
770
421
4
250
822
255
297
944
358
210
164
29
350
875
60
883
862
617
132
559
799
676
957
987
174
219
421
904
570
386
717
758
784
781
496
893
166
158
31
317
275
995
627
970
33
148
873
869
315
175
533
312
843
818
62
727
738
532
375
495
424
932
775
139
296
628
870
369
855
386
556
149
734
279
789
382
490
387
837
58
370
49
294
825
715
96
636
462
913
916
223
855
674
794
643
168
14
954
542
771
176
985
303
532
709
802
851
595
478
527
908
89
549
665
971
602
100
161
876
539
852
993
23
937
201
954
99
232
926
946
561
897
425
224
487
877
976
101
527
748
254
12
616
771
90
17
74
743
163
826
859
828
99
332
828
581
926
560
696
845
570
163
264
291
868
940
346
847
120
981
73
999
935
223
686
9
917
665
966
279
926
682
146
703
177
622
835
631
824
116
195
273
80
550
684
112
478
787
262
510
804
386
765
522
798
676
919
903
47
404
908
419
674
329
192
878
570
273
78
102
173
42
836
798
967
803
83
239
219
135
691
555
416
770
703
289
795
208
470
51
638
311
414
250
61
555
222
661
531
886
562
185
556
698
563
778
206
692
294
38
139
184
28
242
240
715
926
694
266
327
775
952
484
381
933
261
866
404
803
460
174
794
55
426
959
267
478
771
969
664
914
818
146
475
697
231
748
652
377
979
43
285
222
430
655
707
754
507
449
136
189
82
750
295
366
614
879
875
375
843
265
163
361
514
729
684
428
356
144
449
394
138
917
497
980
477
885
184
805
292
586
86
256
640
417
670
335
85
752
783
986
1
636
609
499
814
469
445
467
121
552
519
547
269
824
672
64
339
137
802
88
263
142
813
997
246
60
905
241
796
352
957
868
887
242
312
875
638
171
15
580
393
873
825
36
231
556
723
729
193
914
668
890
465
686
252
389
281
795
166
650
181
421
705
563
911
76
858
769
750
657
170
876
643
352
226
283
864
19
323
255
392
368
969
744
491
435
326
423
400
894
182
436
622
44
83
532
624
598
128
439
912
117
438
784
569
585
608
204
926
136
734
961
822
862
125
599
492
443
550
389
234
921
524
228
350
382
757
899
263
69
675
618
747
43
98
883
269
52
901
846
348
259
150
989
117
420
199
916
217
494
789
868
859
270
609
586
755
959
38
80
425
895
952
284
924
455
939
188
483
765
152
742
370
513
474
433
207
68
748
855
365
642
138
683
312
102
439
69
300
603
847
830
165
639
621
76
578
140
870
348
336
703
653
159
631
484
479
989
170
95
293
541
592
418
57
905
655
769
115
481
181
427
232
818
697
360
725
92
867
879
286
892
824
647
619
386
453
792
718
407
596
297
14
338
568
258
25
465
604
443
869
143
80
229
654
331
428
711
821
2
21
921
506
876
122
477
748
865
235
844
710
63
595
465
842
461
56
766
374
520
897
894
730
899
796
335
652
875
988
361
936
618
646
615
174
715
376
994
89
975
658
616
937
914
422
619
640
422
452
927
538
923
634
647
112
542
178
703
946
656
249
107
568
126
165
843
877
805
202
963
752
61
5
754
189
138
966
166
11
717
171
945
714
535
665
899
722
809
346
364
659
299
177
385
526
155
635
128
78
361
184
576
840
576
414
82
966
303
162
445
230
90
809
536
869
296
637
955
568
822
261
620
779
980
826
597
939
812
379
502
286
14
957
872
911
812
442
113
503
635
603
903
38
991
236
823
961
241
435
189
970
562
851
129
50
527
301
573
907
300
118
772
195
773
541
544
207
503
936
641
665
539
437
868
436
987
125
441
578
500
380
104
870
348
633
161
60
313
593
988
344
813
455
268
465
763
972
116
973
237
941
327
304
817
184
332
454
57
350
501
904
872
93
943
364
803
591
574
598
684
167
801
982
918
872
652
855
716
343
419
255
548
189
158
968
877
743
702
954
839
422
903
5
888
396
402
945
371
557
715
282
63
643
584
899
481
538
497
140
692
718
754
875
443
589
725
738
930
629
116
443
591
238
524
108
547
535
483
582
657
208
723
536
946
106
299
908
718
699
645
761
651
849
769
307
385
107
56
129
791
682
280
284
216
846
216
22
345
726
167
449
598
160
268
736
433
426
475
346
491
523
966
99
146
252
903
368
894
925
9
798
912
91
249
165
637
603
719
173
183
169
108
210
474
9
114
284
106
752
665
518
276
67
173
464
740
718
735
8
762
572
858
631
255
783
795
524
342
722
863
665
578
135
28
81
817
635
191
789
67
775
127
45
395
95
638
465
638
305
429
662
686
373
627
642
3
850
947
51
70
525
274
199
352
8
794
880
570
255
595
551
998
125
294
715
897
481
846
392
997
294
899
410
661
394
992
899
725
323
369
188
214
974
382
107
736
298
261
599
781
127
625
988
79
110
877
478
737
109
823
34
914
602
10
964
795
924
543
625
783
771
51
642
78
987
236
990
186
633
593
774
856
576
556
894
361
207
381
300
278
258
471
114
471
444
683
562
199
983
554
597
477
788
58
208
870
114
534
386
119
823
49
716
597
950
125
186
129
129
166
670
656
734
400
167
49
21
984
509
526
454
216
424
521
504
177
62
12
360
570
580
599
838
224
287
768
812
492
699
595
694
712
816
154
564
810
494
978
219
123
331
701
859
862
650
893
648
804
365
227
103
390
807
891
642
551
992
904
350
500
247
742
538
429
744
297
883
60
102
98
538
821
540
641
761
305
905
700
273
284
831
401
780
552
202
413
312
917
936
931
550
125
203
54
51
992
862
435
827
101
458
268
570
408
686
116
508
520
47
632
4
265
349
639
305
781
935
115
945
205
665
648
4
643
666
490
428
531
327
388
991
138
457
568
876
486
575
615
96
644
407
865
867
519
706
957
940
480
466
217
225
986
355
222
641
524
712
598
903
444
221
297
415
912
536
658
441
390
86
769
546
285
950
22
431
12
905
25
991
127
580
599
606
394
359
874
134
156
896
811
869
972
225
786
913
74
300
593
944
755
749
999
510
643
930
429
447
860
31
70
986
220
790
923
289
457
117
909
474
622
434
857
483
831
148
679
67
738
744
195
842
115
272
994
555
555
649
418
301
577
437
962
94
750
316
174
230
416
594
166
709
685
701
3
175
3
764
361
439
480
273
616
422
666
942
682
559
743
281
359
825
62
52
753
829
846
882
917
914
111
768
23
883
52
390
202
708
176
719
416
707
412
9
934
857
98
922
230
630
135
687
189
448
225
323
936
102
755
484
869
989
994
143
604
403
326
534
897
831
398
238
369
399
77
450
311
585
375
192
694
150
53
660
813
37
215
787
348
930
699
143
293
206
617
143
290
190
268
428
618
761
155
916
57
202
774
135
557
306
252
352
959
607
126
517
665
141
321
842
23
863
469
385
228
776
740
471
483
509
340
447
89
990
997
378
561
693
631
277
653
260
138
610
22
944
776
706
196
473
461
357
274
331
872
209
505
34
849
712
138
433
885
773
992
780
219
778
291
997
474
720
814
349
601
61
655
964
975
333
673
750
658
442
499
667
719
859
495
613
360
414
37
420
980
911
967
468
469
779
542
715
194
584
422
434
404
310
949
250
794
267
997
969
538
116
519
741
629
976
186
855
906
155
114
831
225
99
898
97
885
199
1
421
591
12
133
468
67
380
25
384
489
983
169
409
982
575
4
596
576
564
121
893
101
437
631
604
824
115
280
131
118
114
682
261
684
225
439
867
317
818
224
895
353
602
418
505
320
381
669
570
167
401
432
698
124
922
950
102
486
897
492
691
440
54
390
392
898
928
534
609
728
743
132
284
25
767
117
450
664
549
484
219
548
837
971
62
224
909
371
924
34
243
399
252
717
197
25
287
765
924
938
860
526
649
513
538
475
776
150
972
484
164
204
393
255
802
400
960
503
215
910
527
598
694
418
897
527
400
230
173
479
276
12
398
803
481
810
755
21
84
12
150
998
959
149
573
935
147
134
750
85
433
774
229
383
178
81
268
162
243
870
368
613
630
632
241
267
12
272
935
973
876
514
173
226
320
336
68
85
249
849
376
199
496
94
764
318
991
46
189
424
237
20
438
128
55
426
499
895
930
713
10
738
541
463
83
313
883
780
872
409
696
940
633
910
897
305
157
120
213
912
587
236
786
306
492
663
976
206
344
582
213
331
265
257
967
594
596
180
494
708
879
593
129
448
9
438
500
670
598
349
183
522
974
537
138
806
836
610
913
49
336
413
47
484
734
332
945
634
478
134
500
469
524
950
202
851
144
664
24
984
810
385
395
14
839
836
316
51
628
656
715
867
400
501
855
243
430
444
611
339
803
478
293
781
280
909
555
593
330
380
668
845
790
464
355
257
748
255
620
742
26
426
813
765
727
19
557
287
165
612
449
106
587
911
904
843
262
709
885
14
953
121
419
882
642
978
617
741
863
808
1
593
841
171
524
770
579
290
880
678
667
810
650
819
199
652
286
974
924
298
115
664
372
378
996
481
445
616
40
821
252
551
178
763
709
616
248
161
322
727
315
838
48
690
753
18
144
386
904
777
590
162
58
232
50
578
263
129
481
887
168
957
142
506
875
781
111
499
95
114
658
89
289
416
482
214
611
996
543
64
874
495
839
124
491
382
284
45
818
405
184
389
551
151
585
307
867
513
279
669
346
13
200
29
864
58
788
581
529
349
888
366
950
168
273
269
618
199
747
636
827
364
15
753
193
513
490
811
710
782
124
233
871
323
11
467
547
139
324
579
805
180
887
864
426
496
731
208
942
684
138
473
908
272
556
339
115
904
916
167
904
624
440
23
951
241
36
566
651
842
16
733
472
818
331
987
756
860
112
109
154
238
705
732
529
776
419
380
104
904
39
436
902
563
285
508
210
64
526
709
651
724
324
836
223
151
775
719
601
610
2
264
625
464
643
127
730
559
411
797
195
43
955
993
449
681
794
202
866
443
447
585
2
637
951
764
146
925
753
9
975
442
921
617
673
973
763
332
487
513
257
704
803
774
102
30
79
292
579
421
696
949
971
132
302
869
666
495
154
874
832
124
310
803
290
372
557
339
196
427
485
35
561
300
427
647
318
455
858
384
640
680
582
81
647
42
525
857
368
835
170
97
148
262
751
524
855
426
628
391
927
698
650
508
124
256
623
330
198
70
707
821
568
482
578
146
131
100
381
694
927
649
935
776
129
647
709
870
772
339
112
558
562
669
29
321
977
217
220
676
953
777
157
13
627
129
920
854
199
51
662
552
66
626
990
709
479
37
335
716
87
46
665
998
676
868
467
772
195
309
709
742
39
86
793
205
355
835
104
577
449
951
644
81
15
676
80
325
125
747
132
439
698
711
378
944
483
772
598
282
6
874
475
742
550
751
747
717
139
23
739
892
805
443
491
435
423
755
859
642
491
17
762
940
990
128
27
506
986
97
851
414
345
343
93
779
211
171
990
42
178
253
624
335
688
833
723
377
6
111
680
959
902
841
803
536
486
204
969
601
850
732
263
681
486
2
772
637
190
307
854
38
831
664
866
296
564
750
467
663
524
178
940
199
147
839
703
532
120
179
404
358
493
812
233
936
933
651
721
977
605
110
342
326
9
276
585
15
572
348
51
71
109
385
919
969
13
570
385
436
140
948
73
572
478
539
969
566
723
330
550
410
835
622
429
502
995
460
497
263
353
186
320
56
748
674
791
111
603
566
166
475
39
39
393
131
822
377
124
933
694
324
164
381
65
56
809
636
473
427
406
340
629
652
569
129
830
14
570
160
414
182
99
685
308
197
331
842
808
997
558
163
572
343
279
901
115
74
346
14
966
206
784
795
584
820
854
398
435
654
155
414
500
161
662
616
199
304
94
23
144
833
65
751
417
127
950
8
125
905
893
383
763
671
199
677
924
750
113
733
714
688
560
64
148
910
706
457
577
861
167
772
853
396
520
28
944
960
933
635
292
521
394
967
164
948
427
199
463
849
448
402
437
610
540
561
370
250
317
256
269
157
958
749
159
345
217
180
809
797
796
738
304
883
224
161
69
634
870
918
5
913
439
4
927
451
431
448
887
607
169
237
546
162
290
240
342
654
548
914
505
167
415
278
351
665
75
868
831
724
976
506
618
804
308
654
881
378
505
875
996
902
234
706
547
428
193
294
142
211
763
366
461
500
139
36
549
862
436
567
962
552
703
740
589
568
282
636
605
521
705
243
454
435
152
883
336
546
973
473
196
138
980
981
855
98
343
503
808
44
822
777
184
476
855
144
166
668
913
217
112
302
83
155
255
361
132
46
152
108
746
419
996
378
215
251
331
472
227
561
309
773
419
440
839
988
267
399
824
926
745
256
507
597
656
898
53
45
477
350
247
926
893
780
526
378
430
7
982
736
848
9
462
408
696
675
48
796
317
382
570
233
656
434
470
200
142
45
441
804
795
78
941
680
820
768
352
558
906
825
437
298
77
684
764
848
282
966
910
66
941
562
302
686
640
856
144
917
983
460
316
28
419
656
338
461
281
903
695
785
148
204
628
315
712
617
667
386
96
221
204
630
685
933
473
352
824
422
477
735
508
465
447
547
559
693
431
722
332
827
698
51
399
994
787
398
504
339
543
980
784
816
370
935
40
202
753
437
266
61
342
123
989
381
184
967
488
0
416
892
331
329
366
522
219
401
20
619
36
750
406
570
299
333
218
271
500
942
694
440
898
323
256
206
486
305
42
391
916
947
974
135
967
157
942
666
753
46
117
330
189
511
817
115
468
995
920
208
104
26
182
660
136
161
822
991
374
366
210
669
238
133
190
885
128
837
428
682
979
936
346
852
834
350
602
742
980
493
654
102
744
386
358
436
614
386
921
643
925
973
548
930
508
501
944
695
501
105
46
521
813
874
135
337
74
45
61
326
458
186
17
39
691
243
116
403
433
964
960
805
660
263
718
593
676
414
902
550
379
881
193
968
433
198
113
327
624
452
428
233
336
507
716
156
25
281
597
537
612
156
368
624
542
28
122
884
712
925
732
435
510
299
746
961
845
410
335
858
531
437
701
882
317
785
861
751
670
881
367
530
603
20
682
299
148
113
338
845
932
19
700
720
274
37
966
256
723
900
180
811
460
682
709
118
146
294
839
666
814
765
461
811
350
507
971
822
980
657
747
811
506
500
205
919
729
664
153
801
618
231
300
708
866
171
687
941
15
481
260
938
445
205
898
175
231
587
996
393
285
697
452
73
534
296
156
207
963
206
60
530
193
380
434
297
825
668
180
89
177
212
236
899
739
997
61
0
329
365
765
339
134
606
570
651
79
711
366
26
123
743
777
114
250
863
634
514
361
167
40
231
906
734
625
660
380
518
463
268
949
90
241
642
609
253
630
611
137
993
964
805
311
523
753
363
81
596
139
674
523
321
243
831
407
398
22
351
740
681
431
556
638
912
490
180
163
421
613
875
597
781
493
247
927
806
528
105
705
208
65
824
635
469
687
525
239
764
352
877
187
511
354
42
325
885
41
957
791
400
480
45
88
644
968
468
177
128
132
976
742
395
874
354
750
470
911
851
458
596
310
289
507
889
35
73
550
559
208
671
756
8
780
584
544
304
434
224
515
355
506
960
343
795
637
614
990
433
953
533
443
960
450
982
658
35
646
309
281
590
89
34
520
797
400
724
236
588
596
937
210
203
393
800
723
8
187
445
29
950
275
253
334
460
801
422
232
670
193
943
661
230
950
542
967
402
74
966
776
555
133
623
250
882
691
611
96
287
714
836
713
178
429
511
579
8
660
910
946
991
663
103
351
421
359
269
733
259
880
514
374
713
378
681
318
124
683
817
600
94
29
522
787
288
802
845
668
969
587
587
925
616
903
629
882
985
792
617
116
239
839
924
827
881
907
592
49
569
123
84
235
128
196
650
771
292
174
314
585
803
637
300
467
20
643
107
144
346
874
569
662
8
379
921
818
500
806
985
861
193
432
364
32
966
776
370
443
263
813
760
816
428
578
338
526
731
238
586
366
777
149
988
690
491
461
571
430
796
153
537
240
388
863
664
154
569
490
948
444
55
518
460
916
244
922
448
297
140
545
35
207
398
181
843
838
325
676
739
652
580
786
359
421
790
842
648
123
806
535
62
622
506
115
482
52
672
533
540
215
680
906
995
744
220
923
484
711
924
28
368
479
244
651
677
822
220
798
439
484
172
390
489
714
101
936
575
421
806
45
123
955
238
511
361
831
542
666
336
872
666
912
846
683
305
533
855
337
613
119
169
621
165
977
74
871
423
435
750
176
525
743
15
662
89
488
305
870
314
909
620
373
763
950
548
242
157
193
236
958
398
639
137
899
965
265
555
360
429
243
177
75
576
621
7
450
230
396
82
801
857
13
114
663
881
684
346
373
685
19
919
230
284
587
621
518
802
208
719
435
83
206
311
729
10
769
246
286
721
608
149
218
216
409
781
938
806
895
130
788
629
852
84
630
69
881
216
559
99
606
169
850
604
513
503
503
472
959
517
93
188
920
430
166
668
85
178
12
141
959
651
66
327
581
138
722
454
993
260
681
539
476
414
771
612
275
21
171
809
762
521
605
307
273
745
5
642
36
614
860
451
740
470
429
261
302
697
525
443
470
417
387
765
157
379
168
440
138
666
960
406
348
442
345
520
307
3
664
671
343
682
422
429
739
557
235
811
360
774
581
24
152
835
89
673
483
305
774
465
987
934
339
975
901
664
842
404
20
499
906
98
722
558
763
719
221
396
191
743
625
538
694
850
594
667
835
3
915
381
257
551
632
220
763
384
641
383
495
217
459
824
88
492
558
115
791
777
203
995
516
499
685
129
275
393
856
438
461
857
241
172
389
112
670
692
439
207
762
518
67
940
881
745
756
518
886
279
516
750
258
752
280
653
781
332
602
745
955
598
789
532
617
624
731
501
335
765
631
174
551
294
349
902
836
353
189
416
125
49
679
918
286
559
368
322
849
455
203
458
958
836
450
331
919
115
220
403
92
273
444
298
403
186
274
532
211
698
577
975
201
527
789
206
660
934
463
798
128
947
582
207
584
204
141
372
489
438
681
267
391
85
737
236
935
934
476
491
527
873
9
371
893
565
128
649
877
501
800
266
917
885
284
865
54
681
437
934
550
977
528
880
192
395
936
620
104
503
54
409
382
902
583
900
156
683
754
183
744
131
820
177
654
995
391
398
965
532
651
889
34
944
919
414
754
354
827
180
265
851
498
981
477
558
699
783
656
822
846
540
830
282
263
158
770
103
387
593
16
271
236
244
107
413
675
691
680
318
583
854
916
428
189
518
341
33
691
665
961
729
935
971
720
262
183
693
582
962
191
419
912
610
559
263
165
616
69
498
304
278
800
535
146
749
818
696
886
653
81
47
993
66
24
691
681
137
263
739
657
636
211
43
207
333
286
910
275
393
684
770
467
213
950
653
876
413
176
63
491
201
328
696
213
123
386
380
136
289
714
779
430
236
469
776
212
587
906
537
289
775
940
596
974
196
72
935
197
678
594
28
418
305
626
240
222
13
394
462
588
725
863
459
883
814
48
987
949
940
976
591
97
935
689
532
390
311
756
530
614
748
3
196
112
546
341
639
618
934
489
456
88
459
865
114
399
352
828
704
137
830
71
937
229
877
971
219
474
655
359
472
210
152
33
710
850
944
208
119
688
458
6
990
435
38
315
419
685
392
648
910
833
350
393
687
189
935
587
964
525
759
392
384
79
510
251
449
661
974
120
154
725
649
607
12
737
203
261
890
36
262
281
813
169
627
299
677
889
357
347
766
946
411
637
303
934
453
259
18
962
471
490
494
948
1
838
514
132
467
971
34
197
397
137
369
562
503
4
400
50
87
32
969
428
820
887
618
254
819
347
238
513
513
396
428
223
732
4
47
35
596
311
373
467
372
900
186
543
883
707
45
410
245
119
218
897
979
487
96
71
923
858
189
863
11
775
661
351
447
326
958
625
791
829
736
101
936
132
555
996
60
858
446
147
86
630
129
702
858
198
458
359
361
951
94
68
439
756
212
887
728
666
402
55
992
80
672
250
813
21
198
593
677
449
539
307
106
258
171
630
950
758
800
858
654
503
145
966
712
36
475
574
931
843
51
616
694
802
809
700
535
977
990
959
528
591
746
681
403
226
46
489
590
526
403
653
658
129
248
937
203
733
786
551
808
735
74
654
663
640
574
905
647
57
220
135
670
911
191
605
470
648
900
913
516
155
65
199
292
252
764
214
383
906
266
150
664
839
961
282
359
300
813
865
659
354
817
165
269
623
633
935
789
507
779
231
698
356
753
572
846
283
226
563
842
512
645
387
996
768
288
268
236
728
285
828
375
674
530
278
350
546
991
261
670
47
832
396
176
741
495
811
654
494
665
924
175
567
883
194
542
117
959
686
888
251
110
107
621
879
113
880
233
791
989
346
457
276
84
577
62
732
252
366
551
682
494
413
959
841
977
447
837
358
667
812
466
314
600
642
916
482
314
610
283
284
76
553
567
758
921
191
606
312
419
869
33
214
643
730
749
281
284
254
407
52
192
159
925
437
886
155
469
541
510
686
205
658
685
274
15
438
316
779
747
49
715
282
488
466
246
378
752
89
292
724
686
819
174
896
673
232
439
148
277
100
444
183
465
214
677
819
575
622
468
159
51
822
389
673
152
849
613
139
450
537
486
645
205
534
70
519
461
98
486
857
203
327
28
56
820
728
49
936
203
361
866
689
560
90
915
835
308
52
420
15
546
728
945
347
452
33
461
768
327
49
455
367
835
320
908
486
554
679
88
847
579
732
235
897
603
539
950
262
799
827
500
597
65
417
332
760
482
191
599
321
394
795
643
379
762
230
57
398
538
634
664
660
103
599
897
923
427
860
123
156
645
70
788
470
373
670
3
450
529
872
711
518
377
208
457
470
541
148
782
619
370
103
95
942
635
609
20
276
837
872
100
957
905
765
684
460
529
592
323
510
161
424
147
913
726
323
638
840
942
237
957
495
564
130
40
819
273
413
320
214
206
265
310
903
670
431
990
355
413
999
411
356
143
419
197
157
644
797
883
411
66
907
645
60
75
443
996
204
386
277
959
818
356
388
672
694
489
344
914
418
419
194
546
923
810
226
468
601
333
562
185
370
677
142
700
800
57
580
598
96
93
690
812
452
32
102
672
468
836
835
336
708
412
880
768
950
929
7
426
826
992
556
238
69
619
588
730
199
112
16
118
122
607
942
952
404
772
988
388
450
672
324
694
350
600
165
521
10
3
628
64
159
383
707
714
107
572
503
460
251
263
316
623
449
248
96
824
471
107
556
586
114
337
876
61
782
596
155
819
418
559
994
55
544
241
718
566
213
835
256
156
557
880
436
64
65
296
519
982
622
89
350
875
42
842
811
134
729
333
574
490
120
899
17
706
809
378
544
94
329
507
296
990
533
408
428
556
917
638
273
210
122
527
434
361
348
481
847
177
164
790
229
798
603
954
241
520
581
174
898
150
860
492
57
20
364
150
781
883
240
73
236
647
799
248
419
227
294
498
123
220
310
98
676
485
701
591
349
682
775
951
785
723
900
409
959
932
839
390
745
888
672
755
770
604
101
265
950
882
225
640
949
35
392
514
850
783
330
484
205
325
228
43
177
776
26
666
540
870
901
484
928
363
146
682
106
700
179
863
209
29
78
560
648
352
739
394
8
594
877
177
872
139
13
705
225
113
809
908
175
320
748
502
527
947
405
603
829
215
544
421
358
737
570
886
618
91
900
132
784
485
346
882
849
743
233
740
685
895
619
299
606
696
354
777
888
672
191
788
202
200
421
453
321
131
180
203
140
857
523
44
696
220
474
823
858
34
233
88
542
533
957
518
523
998
529
299
702
168
812
878
610
590
770
288
566
416
924
225
768
332
252
653
464
920
622
134
95
822
570
104
309
649
436
807
324
532
173
998
220
43
172
102
346
506
776
455
711
702
804
298
265
780
589
855
412
356
13
48
107
141
818
518
797
382
452
975
796
611
910
849
388
505
714
746
561
645
358
255
831
405
682
653
91
214
273
54
924
315
455
585
127
94
874
963
266
282
645
190
890
179
956
964
423
314
656
198
559
902
452
592
710
142
816
511
724
31
280
138
569
736
751
117
96
90
266
514
390
200
458
971
676
652
28
901
67
78
737
551
824
488
164
111
123
132
695
372
441
659
211
201
544
747
262
445
293
793
302
684
226
500
25
520
788
675
973
785
228
46
459
744
761
447
49
899
288
799
232
826
183
433
439
248
673
657
886
494
791
590
529
151
815
906
406
839
253
374
558
199
384
136
109
616
912
638
298
122
16
292
137
558
141
438
231
67
574
947
27
881
400
670
705
90
597
633
590
996
468
589
556
399
815
923
829
324
211
322
176
652
832
62
529
750
900
253
793
185
265
425
375
772
921
867
999
329
767
184
344
249
679
127
76
965
52
183
350
47
782
181
312
369
258
88
966
973
554
111
638
410
150
140
246
266
804
81
848
528
533
319
36
192
511
364
339
828
163
545
391
102
251
315
921
871
206
398
5
850
669
55
171
417
624
988
183
85
261
472
451
79
159
311
335
764
663
740
454
60
865
569
454
171
397
140
995
80
29
791
968
570
553
696
109
206
846
174
988
467
699
593
835
994
328
756
147
116
583
376
326
581
530
860
584
415
555
493
86
666
376
401
193
2
43
652
60
158
750
872
413
154
987
487
531
887
566
818
319
142
785
828
502
758
929
318
43
22
629
643
30
390
258
76
568
776
869
572
884
350
775
227
533
162
461
885
390
503
863
242
452
759
523
124
367
321
725
203
901
362
656
461
757
766
162
201
389
334
318
697
263
776
116
199
53
137
760
324
531
795
951
991
105
739
256
122
893
933
261
24
744
257
273
193
220
379
837
158
377
869
52
305
94
328
298
547
11
748
853
92
521
697
650
246
508
250
119
20
738
902
336
888
531
920
755
364
739
476
138
842
735
878
6
123
89
299
627
211
260
105
565
447
758
329
738
606
513
986
591
639
298
433
895
353
694
576
878
337
74
964
895
516
69
753
488
428
53
814
134
66
392
49
71
667
48
654
334
299
59
954
750
465
146
417
212
646
938
128
768
416
139
654
817
348
505
136
836
647
492
532
81
826
966
414
549
436
591
311
749
170
832
177
524
494
59
498
221
483
359
82
356
257
506
816
432
253
862
817
433
245
717
244
331
990
447
761
841
857
92
387
327
988
763
855
744
996
57
153
56
95
77
207
919
130
926
780
282
348
656
721
260
811
627
17
45
534
528
941
807
870
440
657
772
951
897
710
79
858
780
891
474
568
934
705
580
997
53
42
689
680
965
679
490
458
87
828
265
763
842
580
987
742
554
263
716
140
745
584
67
605
916
603
862
877
481
240
805
790
155
139
144
761
101
623
835
753
218
721
899
517
168
232
304
2
4
236
987
300
853
19
372
217
803
342
431
111
626
962
243
491
24
586
826
91
654
508
135
684
158
796
148
561
734
637
766
348
918
15
411
76
262
341
949
934
428
447
29
891
356
562
750
613
809
714
357
126
481
493
692
313
240
216
59
378
975
176
959
717
328
861
335
956
336
651
249
542
31
676
845
564
279
69
156
699
444
99
775
712
730
403
477
261
546
40
365
212
574
663
268
504
685
799
329
395
531
379
467
898
31
342
355
44
134
880
629
232
596
97
461
182
802
650
993
649
656
535
276
729
843
205
516
139
721
192
792
42
492
644
295
867
108
168
340
370
864
121
634
662
34
700
986
16
751
525
740
435
73
717
61
199
677
783
567
705
390
529
894
888
904
810
656
750
575
389
402
668
575
501
434
127
139
529
85
633
209
726
340
536
616
884
504
932
368
812
433
546
187
913
450
291
741
197
138
559
733
29
146
451
146
533
767
787
884
883
356
68
630
230
796
235
432
676
552
500
986
645
434
619
581
185
95
212
207
193
447
166
109
140
691
777
772
295
338
90
501
655
860
907
66
213
500
389
924
728
729
714
350
634
221
343
847
744
138
504
41
595
296
35
909
35
49
383
643
269
173
217
87
833
360
711
748
180
576
149
779
344
902
482
268
858
416
579
289
315
121
433
810
602
357
647
336
164
561
237
691
946
597
100
718
64
230
699
64
866
846
718
218
667
980
287
48
940
169
378
639
522
247
269
831
63
483
489
751
430
682
219
829
809
523
965
755
851
665
43
132
62
146
107
781
572
192
376
248
978
267
77
466
230
240
399
816
561
583
390
122
654
90
546
175
676
908
267
512
6
843
144
581
254
401
39
215
949
627
991
289
881
870
974
158
744
195
955
296
362
388
302
264
691
557
563
316
815
715
171
911
460
461
655
473
356
965
617
58
869
65
98
36
878
347
388
782
814
895
101
195
561
609
903
426
665
589
437
182
824
963
531
280
450
958
833
301
835
371
57
583
495
905
275
533
555
104
604
846
634
895
2
388
15
251
550
135
911
109
913
862
328
183
462
144
883
252
580
72
556
596
858
23
98
762
620
950
201
313
925
99
918
385
120
362
679
972
974
193
684
813
510
79
787
111
389
450
291
225
635
665
543
194
115
52
179
688
794
829
170
10
34
252
49
685
709
632
561
666
245
551
362
276
553
899
254
672
656
3
105
281
285
756
919
195
742
886
57
604
998
824
750
632
571
921
4
330
959
979
884
834
588
416
750
124
885
879
400
744
350
105
692
503
685
295
287
364
761
471
288
446
827
985
409
79
468
713
227
683
930
219
99
870
378
52
261
724
715
272
235
967
346
917
892
17
855
679
272
87
10
107
943
777
773
278
85
164
815
305
632
657
416
525
324
985
745
26
897
353
549
249
569
87
76
684
250
543
545
782
767
70
358
605
345
557
828
967
241
818
346
481
454
295
404
161
91
751
621
920
198
653
682
508
202
862
846
344
997
139
388
65
550
795
636
513
822
631
345
627
694
666
566
40
817
827
398
48
85
993
787
400
204
416
973
756
562
50
61
924
34
457
851
226
103
530
260
60
481
455
480
99
923
521
716
526
127
82
972
375
931
661
341
104
251
87
421
932
45
394
11
759
542
447
725
980
805
285
884
3
305
457
916
908
150
946
475
441
914
367
762
341
445
274
327
894
868
673
93
522
99
916
848
339
230
667
520
121
977
311
164
887
284
367
208
724
498
156
839
96
225
886
424
592
627
118
901
579
925
436
220
387
482
572
241
922
379
65
116
552
887
376
417
183
81
301
45
72
123
423
132
602
805
784
931
84
739
498
103
117
355
82
952
933
235
592
270
40
532
139
677
307
2
805
38
960
196
136
107
319
607
334
703
327
424
246
589
656
700
376
539
484
89
227
536
927
511
268
718
932
42
644
698
248
928
586
81
596
562
160
631
738
905
882
924
558
351
550
960
460
367
510
32
699
126
270
602
864
379
68
444
884
399
151
241
946
607
660
776
843
311
227
578
841
160
302
565
301
523
74
992
195
768
490
819
837
829
529
4
861
222
661
45
534
662
929
155
916
612
463
342
748
455
375
551
576
358
205
934
704
890
186
80
556
440
840
257
862
445
77
722
53
766
253
691
230
242
963
91
804
524
196
309
182
84
78
914
925
874
924
20
725
475
302
198
718
677
167
710
637
501
39
688
503
405
398
593
826
896
213
585
447
620
995
45
161
893
13
729
898
614
986
695
431
719
913
87
138
632
185
918
89
676
381
329
392
740
141
975
571
938
523
459
351
444
833
225
734
733
768
941
510
755
736
455
510
760
848
498
182
125
722
655
868
531
666
167
173
636
213
709
76
800
37
715
859
398
935
928
322
634
602
665
143
569
730
571
88
329
109
581
510
616
693
176
841
247
313
754
22
319
374
918
67
850
461
937
470
212
760
960
740
401
844
593
444
91
549
55
391
123
541
172
900
288
483
166
235
896
977
174
150
736
669
514
666
302
845
713
896
329
996
781
107
669
54
373
409
694
558
770
910
56
853
664
112
25
414
178
790
486
157
595
823
761
227
127
670
744
918
807
378
680
880
30
107
203
862
884
634
865
394
539
136
941
285
688
981
995
816
104
428
610
379
649
931
823
901
316
826
671
569
705
244
334
487
584
947
741
766
449
632
500
76
453
518
954
752
722
760
833
93
408
637
863
549
79
142
424
540
612
135
6
891
629
859
745
698
227
65
822
785
119
993
735
600
761
536
413
492
209
451
59
223
848
691
390
524
745
788
169
613
202
467
785
338
986
76
469
433
631
279
745
800
680
793
748
969
83
413
774
855
774
13
790
318
773
343
636
894
992
751
691
771
34
285
750
742
679
367
499
838
909
69
92
869
563
417
965
582
802
923
549
843
786
768
947
187
82
321
115
836
49
48
487
943
226
942
492
551
451
593
849
766
429
298
16
37
639
361
850
804
506
923
956
270
604
592
112
345
183
214
913
904
224
101
585
784
660
79
905
164
261
488
318
126
764
158
202
621
60
248
926
779
524
200
697
413
461
826
24
844
133
563
722
364
894
687
740
606
355
207
886
40
893
11
630
975
521
193
251
709
348
962
720
887
931
955
174
997
212
772
464
504
862
446
815
125
461
47
949
739
749
359
531
933
335
583
298
908
911
212
718
301
858
461
13
624
174
470
846
285
811
455
866
319
981
842
428
860
380
603
102
830
995
874
721
380
317
809
383
47
45
216
165
278
694
940
86
149
524
923
23
453
460
673
514
24
639
346
879
535
749
981
947
417
202
709
608
302
714
324
369
559
513
283
604
678
459
344
20
515
826
973
321
292
526
173
839
603
891
725
480
878
103
250
731
905
690
464
334
360
267
484
843
127
72
811
537
472
961
766
817
208
343
647
931
600
317
9
66
28
941
61
974
380
562
62
586
632
652
239
781
736
730
255
308
992
111
53
489
955
585
27
558
330
253
900
258
998
810
873
833
468
821
921
715
248
984
398
556
107
964
513
21
220
419
832
272
103
96
221
911
166
797
78
66
748
580
669
669
785
246
324
541
654
758
976
638
156
332
456
428
617
214
618
358
668
619
410
412
418
648
44
220
303
353
610
908
655
231
569
729
798
645
18
1
347
702
786
136
151
802
191
535
271
99
165
234
398
310
444
368
839
913
466
434
862
254
374
384
954
940
857
794
291
370
738
690
693
673
550
8
497
202
268
352
853
478
976
889
100
125
970
315
510
548
282
298
732
997
270
741
961
388
119
716
670
451
840
442
625
836
239
861
969
808
319
172
613
517
381
554
452
682
709
164
149
516
551
902
553
142
298
63
829
967
153
91
264
760
539
391
514
43
482
870
187
307
587
773
284
862
112
735
838
217
656
554
683
683
996
7
583
628
154
684
350
921
740
633
586
20
637
891
931
350
881
344
52
284
638
960
810
220
118
180
900
570
431
766
94
882
393
256
45
987
306
380
388
555
800
411
60
508
887
166
632
513
273
994
762
365
773
129
670
889
727
394
192
449
208
70
965
550
905
805
500
80
455
760
227
114
361
236
290
244
945
430
146
37
136
84
519
287
590
677
377
785
816
133
647
542
426
676
562
144
568
605
504
251
310
14
734
950
552
188
420
64
663
582
975
88
433
74
51
326
536
761
997
432
212
696
523
934
603
754
469
790
566
392
301
527
481
485
275
455
839
111
640
498
121
792
151
387
509
639
483
440
262
867
236
477
274
692
338
387
168
150
819
990
608
299
678
688
665
162
555
777
219
229
487
58
966
154
355
265
204
767
75
39
511
319
830
242
511
663
364
861
431
439
100
987
361
892
208
793
74
763
951
655
843
816
381
777
325
91
256
434
152
402
278
992
577
862
625
406
30
323
601
700
344
968
565
225
279
844
611
380
418
686
16
222
27
575
135
395
944
523
31
851
661
774
438
975
154
166
104
508
841
139
302
627
919
98
909
427
742
316
25
195
597
297
564
502
47
226
969
148
800
801
445
742
583
937
692
192
985
985
52
458
60
152
847
270
834
215
282
559
330
737
352
217
35
370
711
289
322
989
305
154
582
848
382
270
758
88
353
246
709
459
346
229
174
682
640
742
493
366
854
308
752
233
225
675
60
717
981
234
521
922
50
96
333
835
267
392
35
367
16
993
800
796
160
766
396
263
375
369
114
362
117
432
731
607
852
221
657
516
917
440
253
1
355
938
487
0
266
360
328
459
246
618
692
749
673
502
203
52
231
10
212
325
545
391
793
199
299
480
802
484
494
224
443
223
361
48
560
611
695
208
987
520
922
8
327
35
400
810
523
553
632
385
593
411
717
830
369
877
763
203
841
496
739
227
899
719
259
434
152
845
239
217
454
806
999
297
966
197
11
38
701
497
301
845
384
148
746
615
363
85
610
464
116
250
831
703
24
435
530
926
447
189
245
726
260
631
381
606
454
357
142
413
562
811
109
332
636
358
86
424
22
36
546
818
438
685
103
894
407
522
603
845
119
471
608
683
472
596
595
697
710
484
207
377
716
550
679
521
136
179
325
979
142
673
6
942
426
687
122
641
916
876
122
269
774
293
112
774
76
427
736
641
342
814
483
183
77
704
301
440
232
460
141
708
950
110
443
45
971
475
696
112
237
169
625
119
312
455
381
798
836
461
524
381
812
253
365
529
365
656
630
289
581
117
464
285
312
923
898
361
991
232
589
114
373
698
593
581
647
772
783
413
380
217
170
552
267
998
576
356
272
202
658
829
806
203
193
230
418
215
85
906
989
171
634
319
337
888
634
620
434
5
826
639
400
114
226
301
348
374
351
96
383
250
545
967
621
551
672
903
38
258
509
336
154
142
179
836
496
742
78
925
603
582
559
273
745
404
746
477
989
208
285
83
585
667
682
545
220
553
961
436
833
86
935
940
333
661
771
129
150
69
710
318
653
155
31
995
925
373
188
587
77
396
403
816
394
322
148
627
64
978
939
943
822
999
529
803
679
307
510
221
304
932
367
281
484
856
599
728
654
279
648
637
383
60
136
169
10
802
404
776
310
424
68
772
485
195
492
260
565
936
47
965
989
618
849
900
328
182
557
807
171
0
809
462
397
335
255
202
117
919
195
910
95
303
763
669
839
674
385
753
489
925
361
948
26
274
517
448
226
79
181
330
283
906
255
777
772
711
600
39
918
192
43
446
824
353
503
782
491
432
340
551
464
748
718
437
356
654
232
571
975
595
55
895
894
411
726
32
834
176
723
989
155
578
541
693
951
388
984
177
673
979
95
983
937
859
664
352
209
843
730
536
466
553
516
316
862
558
199
232
426
634
20
215
628
543
853
19
605
234
954
997
558
333
970
77
252
801
323
130
690
173
359
355
735
693
963
896
856
248
541
776
859
622
624
354
416
698
338
648
467
960
875
853
716
572
476
732
298
381
260
985
252
844
226
716
166
479
224
659
161
941
96
405
713
307
751
993
935
307
142
785
64
731
697
513
746
817
224
287
932
395
438
888
790
835
936
9
876
406
105
876
553
55
164
52
560
332
394
511
626
561
833
214
385
247
396
508
545
560
432
519
849
243
930
791
211
221
29
454
852
607
730
203
297
608
252
425
111
683
338
795
555
126
872
697
642
746
186
252
908
201
44
964
71
100
698
280
241
155
923
483
365
355
877
242
824
370
44
518
24
266
120
775
131
971
850
548
83
79
481
731
565
473
592
912
796
295
185
814
721
208
993
686
616
987
563
551
363
465
854
936
834
679
655
389
946
80
728
930
205
985
800
786
153
147
486
988
645
496
117
63
252
401
404
342
972
451
744
226
384
920
164
522
113
215
746
821
4
952
360
495
66
76
143
24
828
516
743
430
905
315
216
751
375
840
173
459
479
567
330
716
618
854
877
773
606
942
606
910
969
414
165
771
958
312
642
272
526
81
471
348
269
756
808
28
278
622
155
650
348
57
126
207
367
432
243
618
104
886
695
299
370
724
173
853
164
257
550
502
757
490
780
197
86
633
998
396
194
538
361
383
460
697
981
966
636
618
743
810
358
425
677
958
521
403
903
748
568
89
869
447
124
204
964
165
816
921
748
915
869
834
645
307
862
666
720
87
0
89
233
28
455
687
855
471
990
385
38
19
317
130
351
739
871
847
215
317
405
691
663
577
982
723
853
138
656
795
828
566
163
281
895
482
350
175
417
826
264
765
353
655
226
436
920
229
368
503
936
974
752
74
416
205
227
912
174
729
386
406
161
210
334
734
131
569
592
810
929
882
390
162
501
907
648
191
614
358
468
647
16
234
384
499
769
117
121
429
309
652
480
732
49
321
476
808
464
191
902
462
670
22
109
112
146
204
771
250
266
828
481
646
240
901
384
30
386
583
887
76
286
335
72
713
388
57
306
676
911
803
689
55
949
29
21
239
46
299
576
479
403
870
728
738
998
833
780
121
214
542
481
961
881
351
712
940
105
455
758
495
46
83
840
256
527
400
806
17
14
170
135
899
122
741
472
179
750
501
876
338
21
864
76
200
576
11
899
678
560
673
496
651
319
166
593
301
972
713
657
815
281
718
211
75
739
881
992
813
147
550
587
967
911
133
274
520
258
258
514
188
816
523
228
430
575
244
617
229
671
66
782
465
10
605
965
494
351
539
207
847
28
970
654
106
3
420
577
470
966
287
88
201
992
381
907
488
567
53
79
976
685
893
939
553
639
182
569
622
937
812
823
334
48
207
722
164
54
744
191
943
369
958
71
465
734
935
142
971
315
420
460
850
714
237
877
616
604
705
527
403
171
954
109
736
806
882
227
180
97
591
878
19
501
559
87
977
264
333
407
161
931
222
568
346
808
47
584
338
89
268
425
101
186
104
534
607
69
610
368
613
885
104
300
994
499
343
90
684
655
608
149
368
902
552
310
390
238
357
879
698
921
583
684
313
227
205
817
575
604
271
939
778
775
798
537
805
250
888
886
700
320
315
733
724
807
712
437
529
217
599
150
520
574
922
260
869
645
278
951
516
561
741
899
831
27
932
650
644
877
33
378
1
915
984
992
915
726
622
120
472
684
349
235
680
907
768
817
397
514
23
123
173
805
779
530
941
828
18
737
114
243
410
177
952
800
233
780
660
111
712
170
530
250
968
861
675
834
252
232
935
11
256
594
312
856
989
698
88
256
688
439
481
573
876
821
521
22
775
344
195
558
316
947
741
533
769
931
201
894
817
662
37
715
304
389
358
342
523
468
977
350
552
361
934
98
296
214
627
278
969
841
61
675
26
657
376
703
126
698
385
876
452
78
84
99
212
832
401
511
158
598
414
478
723
864
156
689
567
806
615
295
895
761
935
948
605
58
152
863
826
825
873
273
453
740
75
22
383
561
163
93
18
51
788
617
362
232
183
94
876
136
59
301
715
641
239
914
623
405
120
732
866
876
928
760
857
907
431
449
788
788
793
499
351
2
933
318
96
2
828
913
740
165
747
188
154
612
540
678
541
107
42
273
120
174
160
941
803
475
538
974
201
1
969
382
119
711
614
835
241
850
845
863
989
562
183
144
535
298
794
751
774
136
334
529
232
525
232
804
843
119
859
871
378
519
448
680
103
951
367
379
595
274
343
752
532
493
723
114
907
856
491
796
288
135
761
815
440
830
608
143
257
987
1
489
779
776
387
590
234
824
280
435
541
34
923
700
175
398
835
978
482
62
21
96
221
242
109
21
68
956
544
888
247
423
295
414
574
635
874
207
797
107
490
132
433
329
849
178
334
322
321
893
356
856
445
608
643
963
330
448
368
96
154
753
63
505
433
870
923
145
785
148
419
520
212
757
364
640
849
285
962
442
385
907
589
670
176
819
855
305
123
457
980
57
629
669
194
872
984
212
365
633
51
26
664
637
95
940
983
94
259
415
601
435
598
981
80
619
532
872
806
85
371
315
77
662
822
363
997
289
51
762
645
860
831
553
344
438
135
525
839
70
856
804
498
895
143
59
647
337
859
291
343
64
288
44
397
213
926
754
665
749
491
282
980
623
2
956
605
558
416
485
628
518
425
378
843
953
532
514
947
982
268
828
397
744
600
233
423
859
233
983
332
274
912
487
42
62
45
432
451
828
175
519
558
119
199
722
704
823
100
929
621
803
663
255
730
386
940
205
98
345
721
592
594
597
743
230
364
624
710
809
706
277
135
608
684
854
626
649
247
245
238
873
223
21
531
197
120
28
243
99
407
700
605
778
976
971
978
755
895
64
634
37
103
113
446
81
974
487
350
783
418
583
630
175
441
751
543
74
488
230
702
531
321
6
444
541
204
611
453
536
93
311
157
343
651
558
277
679
242
468
54
96
64
422
131
509
816
68
572
809
822
671
31
424
317
734
720
806
32
417
459
112
538
45
803
346
526
215
711
427
816
842
876
435
203
523
998
50
372
356
59
106
407
255
493
808
960
789
583
138
491
164
712
458
804
415
55
696
28
973
758
584
17
250
651
726
312
58
390
427
646
680
498
288
834
556
939
35
421
156
707
672
146
150
872
188
878
4
746
730
783
696
347
843
292
735
216
333
46
505
412
826
627
923
255
865
588
800
578
872
436
527
924
794
907
288
932
336
100
296
269
566
340
381
77
578
534
152
897
652
195
403
840
610
45
17
224
174
262
949
691
209
37
812
336
261
700
887
704
607
530
928
323
934
257
578
293
914
821
285
2
419
666
744
932
905
738
494
5
522
982
996
695
383
995
926
808
581
608
85
850
602
486
624
480
490
644
390
801
216
237
453
316
997
88
642
954
759
943
976
475
808
608
446
938
982
51
283
976
965
168
802
50
816
857
770
800
724
211
867
187
975
911
500
822
281
27
353
638
873
115
396
847
697
117
977
275
375
415
617
128
733
938
763
118
457
932
573
525
569
198
24
595
536
919
917
500
869
666
931
46
481
143
372
314
316
287
443
65
254
346
375
20
666
99
952
395
515
503
580
102
76
241
470
653
797
83
564
113
997
703
98
226
512
741
356
197
785
139
75
502
132
582
730
66
676
856
926
158
829
599
834
843
311
140
446
545
976
826
442
340
576
969
568
695
215
141
609
360
652
877
415
88
412
99
976
20
603
266
408
296
253
473
733
559
734
960
54
651
333
952
451
4
110
936
445
768
38
620
867
126
854
988
107
351
279
90
961
211
749
829
760
419
897
974
993
660
268
620
432
483
569
432
493
947
144
94
413
344
279
440
718
372
655
53
260
24
566
727
327
361
743
483
560
986
499
784
926
662
406
192
880
267
252
918
629
75
366
263
524
48
744
420
166
619
914
51
194
573
391
943
274
795
55
808
383
81
128
688
718
517
876
895
171
304
511
953
55
810
352
279
710
889
839
613
713
336
20
18
422
912
937
71
655
625
837
180
179
378
314
572
897
440
196
578
657
646
796
804
198
685
232
827
154
433
767
841
94
317
476
877
994
691
753
102
638
925
169
70
224
36
239
816
55
183
476
572
410
484
207
861
245
791
932
68
513
922
685
849
946
762
842
374
782
133
554
243
347
58
533
84
614
242
574
580
457
806
166
489
747
520
471
271
0
821
534
857
336
363
713
709
96
64
764
241
0
827
189
174
181
922
387
700
602
526
113
67
924
597
299
635
160
887
870
903
962
169
397
992
151
967
499
304
674
906
457
269
766
882
688
552
270
212
926
29
451
141
29
241
551
294
838
949
75
364
94
263
956
18
322
817
298
503
3
852
614
725
298
595
551
806
340
512
532
211
802
421
877
160
197
669
387
384
7
737
981
912
917
801
345
376
392
3
564
766
268
416
497
813
14
825
814
284
337
601
278
494
44
515
753
8
167
598
772
4
510
491
550
864
362
971
51
834
318
33
78
182
920
846
137
648
464
132
636
175
826
954
671
486
332
794
978
523
817
117
413
27
544
269
807
115
194
300
239
892
40
214
315
933
18
758
713
646
682
476
2
723
554
28
865
883
794
938
713
203
456
668
183
815
47
300
425
473
233
728
110
55
340
127
984
209
268
287
153
284
232
375
470
499
808
904
514
370
118
432
455
555
938
154
938
115
356
956
582
805
458
499
623
371
583
619
442
793
510
337
103
327
530
716
412
257
2
668
543
588
58
322
834
289
774
933
716
566
158
770
528
834
449
52
3
342
903
246
63
612
472
965
426
395
779
238
838
199
613
80
428
67
256
862
933
31
991
189
455
206
243
783
626
70
270
565
698
697
483
232
89
135
389
363
924
414
205
953
324
563
21
754
896
350
963
188
274
877
897
418
329
789
739
833
126
313
642
65
451
803
126
640
841
301
126
250
901
463
637
457
606
91
618
779
193
413
209
567
72
366
313
150
494
709
28
726
590
809
621
406
783
230
93
200
76
866
623
172
590
311
137
937
596
746
142
346
863
48
322
661
213
750
430
775
471
66
515
165
606
478
390
404
282
193
461
948
852
392
404
529
505
666
863
664
890
201
500
139
348
76
389
122
868
739
484
925
351
200
707
518
820
9
368
419
36
38
169
140
412
174
213
657
53
411
967
966
404
892
694
932
973
462
924
988
231
560
345
291
669
731
126
606
364
197
64
914
26
638
764
595
904
314
6
455
6
543
455
359
175
614
854
710
472
261
161
453
783
787
810
726
655
650
710
326
268
121
66
668
397
196
774
391
556
430
845
855
807
199
944
649
321
853
378
17
829
767
158
444
140
381
945
912
609
912
57
345
308
57
566
670
603
997
898
84
304
205
142
233
798
734
965
871
76
551
637
37
225
413
800
984
136
116
334
397
393
734
598
422
433
19
965
487
183
898
778
86
844
151
235
61
669
172
631
730
248
136
176
43
767
400
497
886
170
331
679
894
304
990
306
826
741
254
754
709
440
416
364
931
108
297
248
70
219
549
811
470
648
466
191
327
478
5
683
342
36
293
721
155
940
164
399
310
726
975
353
318
318
79
45
782
120
90
828
914
94
126
884
175
465
709
677
785
426
906
893
23
109
632
997
50
985
668
234
778
879
229
739
244
297
982
16
155
144
629
489
357
619
635
155
561
272
33
140
210
985
360
216
319
179
767
319
754
89
49
530
516
286
689
261
960
372
370
292
936
493
965
449
462
840
453
461
166
746
797
421
735
620
770
648
751
709
116
996
432
841
500
825
197
934
158
661
322
64
748
157
686
408
908
244
276
916
22
130
467
908
296
863
117
290
469
43
290
148
710
536
173
241
856
405
52
786
609
609
521
95
383
81
714
450
442
229
505
880
454
159
566
82
843
762
745
366
349
982
174
457
575
761
129
721
640
417
68
177
704
243
551
313
285
968
356
322
191
987
962
366
217
310
930
433
29
537
457
10
686
18
616
502
507
684
516
341
845
564
123
959
714
658
226
568
829
468
172
528
233
764
738
834
7
774
215
329
970
338
964
861
660
851
75
423
853
336
984
417
929
567
576
654
283
646
784
2
12
992
347
896
680
703
69
721
84
814
175
330
451
830
348
425
598
593
755
587
325
69
668
591
642
483
452
603
562
989
831
895
971
895
374
540
406
836
978
424
567
452
252
611
553
343
822
572
180
45
931
391
659
939
637
301
585
191
560
475
51
428
230
270
869
583
694
974
327
520
989
106
504
116
632
319
67
384
14
501
671
620
282
766
636
602
298
895
252
486
861
242
388
651
585
354
642
934
940
518
319
547
289
769
624
118
693
102
768
545
675
459
727
500
816
402
147
166
882
101
754
12
359
110
287
264
351
513
162
715
881
346
897
712
945
840
215
756
598
67
726
997
876
81
334
339
931
365
181
578
700
766
125
652
632
693
458
9
588
702
964
636
692
427
340
506
271
589
362
716
192
234
443
457
813
104
706
591
617
222
362
243
190
635
202
409
6
589
120
450
506
496
4
593
97
658
986
747
781
13
463
326
429
959
821
866
728
809
305
913
646
376
928
872
445
590
465
977
957
773
436
533
988
403
226
198
317
442
417
428
572
118
967
234
645
801
243
736
701
728
133
167
677
347
639
642
693
502
880
697
95
280
215
705
234
170
621
220
933
966
657
95
884
171
768
85
687
135
717
170
201
168
521
70
671
869
824
587
39
318
199
191
785
931
567
934
27
836
698
864
217
32
585
218
847
950
54
277
423
235
485
717
20
377
380
7
8
963
935
445
848
350
768
673
477
928
984
56
530
51
559
131
446
388
894
305
664
893
434
966
263
384
33
465
32
771
750
523
157
1
515
797
945
484
761
422
251
189
865
339
911
920
939
329
60
406
148
823
71
116
996
297
27
77
494
803
621
757
365
552
154
271
235
471
74
97
692
547
13
19
674
435
670
579
835
980
637
383
836
754
974
735
124
375
10
216
770
740
350
206
550
433
256
547
201
610
209
592
292
438
34
220
110
867
332
801
516
696
395
595
661
568
251
923
656
862
728
534
683
496
738
783
822
892
922
328
503
516
884
895
132
998
212
145
388
563
942
825
803
952
755
932
127
408
775
280
964
338
197
384
485
917
830
102
30
989
69
445
940
804
843
842
87
531
148
762
496
684
848
244
495
981
327
186
183
836
322
561
984
392
750
932
959
512
685
656
460
475
220
435
394
274
415
727
311
946
800
995
599
722
395
177
532
735
23
517
233
183
455
129
72
482
328
267
317
665
449
261
498
319
354
291
292
286
987
737
715
73
124
781
319
155
714
852
591
231
476
570
732
319
632
232
990
468
967
988
261
923
298
719
593
896
208
683
496
648
45
295
460
131
440
871
733
309
985
851
674
714
817
309
334
113
174
335
930
462
536
863
646
1
667
142
621
383
885
277
238
805
517
287
447
802
488
209
68
658
741
405
710
864
444
784
157
619
586
126
287
788
333
513
414
397
198
463
203
737
283
817
823
460
536
558
279
26
956
576
47
362
840
443
241
616
806
692
498
819
222
268
222
670
58
544
598
342
480
196
583
474
679
22
229
475
909
611
187
438
162
912
687
103
853
723
891
783
663
681
978
641
67
230
839
230
425
404
334
954
210
677
980
981
282
405
683
576
34
750
66
703
258
454
354
859
594
240
753
311
547
737
296
208
572
467
609
654
505
539
847
268
5
111
361
702
389
85
500
692
3
565
43
103
766
924
870
99
801
794
661
175
61
530
648
191
974
684
13
864
950
454
425
971
927
792
194
328
742
518
121
234
400
539
789
180
611
507
94
732
190
560
885
134
730
807
556
474
319
346
85
651
487
615
31
757
285
239
540
657
42
333
207
383
256
411
164
462
393
564
277
906
403
607
261
859
558
454
470
132
595
819
977
81
108
62
924
362
305
509
552
203
768
248
245
496
796
577
297
616
604
598
70
233
921
382
458
633
40
72
767
432
518
976
610
681
914
609
815
985
475
276
244
200
73
269
553
937
934
215
974
728
492
994
902
42
993
752
888
953
508
408
996
842
873
675
568
90
549
60
393
480
867
192
218
723
677
855
292
941
887
759
935
367
941
972
553
333
544
790
121
227
12
917
158
629
636
356
507
127
166
65
131
688
739
149
512
447
493
191
227
68
139
406
785
985
198
237
224
204
317
150
545
259
380
339
479
615
607
255
212
68
685
319
523
148
71
823
72
991
75
871
612
866
547
656
484
179
546
208
232
385
561
886
675
804
115
333
618
476
602
626
875
452
207
239
946
435
285
532
340
472
61
814
219
78
805
875
112
851
846
535
451
11
410
220
677
91
635
817
452
702
741
642
41
445
952
303
113
544
755
739
372
531
473
759
616
689
705
822
377
754
68
495
988
580
546
680
169
746
175
954
902
665
681
886
34
890
515
204
762
752
97
605
435
428
74
136
869
921
744
674
531
708
802
191
463
514
563
467
989
674
990
872
216
474
622
533
308
270
411
628
22
66
693
94
863
593
726
436
178
64
876
443
773
41
356
771
527
321
719
848
234
924
697
201
109
805
376
204
816
574
267
701
57
553
322
228
406
825
731
331
498
755
292
919
111
919
685
668
55
340
126
443
420
704
748
268
245
636
854
709
191
192
728
342
478
634
443
385
826
217
915
250
40
993
118
794
528
512
826
666
439
81
315
497
790
836
65
832
477
30
283
644
519
132
968
610
743
331
235
628
564
211
846
681
79
99
215
796
660
879
744
831
812
112
886
202
102
333
591
530
965
373
178
82
641
184
47
27
994
13
872
948
624
6
922
372
114
61
346
898
310
892
648
425
571
584
168
623
364
727
235
459
922
978
997
823
477
31
185
156
200
525
702
234
946
158
84
401
741
228
629
660
264
856
893
534
378
761
534
108
607
911
477
682
46
199
247
820
665
136
951
639
598
185
729
29
409
237
522
848
798
832
142
222
252
988
713
947
91
758
618
587
221
4
727
812
705
376
868
237
520
841
303
762
950
864
467
215
119
933
10
58
135
573
308
431
47
520
605
770
652
996
707
772
377
258
990
569
961
655
539
576
158
621
40
417
863
482
520
430
611
600
659
394
647
815
120
802
214
849
571
945
549
995
181
885
495
883
883
756
765
727
688
263
657
697
642
398
935
508
783
850
380
213
375
351
467
116
937
569
817
630
578
336
416
38
912
51
140
872
299
657
819
947
5
933
617
361
75
212
635
30
442
833
19
998
800
978
66
167
179
126
491
992
424
361
322
634
90
460
519
841
130
711
853
246
234
171
591
299
800
459
432
685
112
273
452
128
217
118
962
755
471
75
251
751
555
613
501
210
186
414
277
245
959
26
465
976
715
329
117
892
96
104
537
912
247
856
412
810
318
753
498
805
131
590
987
492
645
632
754
536
738
122
501
439
44
684
121
593
738
513
328
406
467
28
19
102
41
219
465
678
83
857
273
369
440
341
375
565
31
737
403
251
903
455
458
8
678
600
466
544
207
641
480
250
98
7
431
142
271
172
647
251
303
467
679
346
257
428
196
79
249
880
634
352
63
937
965
378
505
41
193
241
741
8
581
579
109
730
327
47
579
993
770
613
634
639
331
517
46
118
942
978
948
486
474
596
388
834
539
991
560
10
183
705
382
869
325
682
715
626
452
211
469
731
625
539
887
794
932
408
999
318
833
977
572
346
861
92
720
395
90
479
899
966
503
479
547
126
371
156
693
710
768
594
457
712
722
954
66
779
847
960
887
999
359
317
505
388
918
50
332
770
757
171
578
152
318
923
206
358
144
519
539
146
741
651
666
443
974
645
850
537
398
834
654
983
584
914
781
775
592
129
324
325
891
712
320
725
106
578
534
12
844
194
381
343
154
478
75
510
617
705
306
190
550
46
265
337
985
342
231
547
501
84
930
289
971
138
623
880
316
930
889
312
179
787
316
609
515
863
781
907
450
819
436
170
267
387
716
114
58
58
537
180
955
812
702
380
878
131
441
328
442
533
895
577
225
959
47
60
144
379
279
104
81
294
313
73
281
43
206
482
511
46
157
326
332
481
161
202
260
561
425
842
236
327
97
813
373
946
831
571
487
856
190
521
455
27
314
219
346
218
730
819
324
251
401
588
175
502
926
107
200
766
323
776
24
337
514
808
145
790
912
147
467
993
443
708
75
957
780
767
446
335
28
514
662
940
748
492
883
832
594
161
185
844
821
290
592
636
570
72
993
651
745
704
525
443
648
211
579
875
946
352
475
445
157
602
774
626
638
949
805
430
566
786
187
770
290
621
633
497
11
52
886
595
207
980
648
435
231
813
230
623
686
604
788
156
840
416
687
6
439
755
809
262
11
296
199
259
368
519
504
799
787
824
653
25
996
205
534
198
140
502
39
893
956
774
724
503
953
521
758
270
546
607
728
612
195
242
704
483
562
428
746
87
522
759
990
633
997
778
837
458
14
811
920
671
959
869
296
605
761
476
689
323
121
922
784
936
745
272
146
837
755
189
925
739
512
109
461
622
326
582
773
684
345
184
576
77
603
626
237
830
562
619
337
199
707
66
81
449
690
33
955
385
869
85
781
107
801
199
91
697
471
414
127
359
289
95
932
480
860
127
536
304
923
137
228
7
449
70
795
627
126
366
284
789
972
693
483
530
507
984
270
72
364
902
161
267
266
108
806
177
308
478
367
556
688
233
613
624
200
899
327
970
213
466
100
351
438
392
705
126
903
293
747
525
890
810
164
108
645
587
436
362
246
484
884
98
298
892
984
135
566
945
82
883
311
211
205
979
964
896
822
656
9
718
336
561
230
690
953
860
820
236
475
930
190
484
312
830
554
416
502
471
192
370
740
545
39
593
622
530
213
296
826
129
37
261
755
151
289
902
658
216
383
391
660
81
973
396
570
210
500
90
106
583
228
841
396
791
763
198
901
844
309
764
147
919
564
478
877
154
369
938
909
514
889
534
84
34
686
212
947
573
395
596
744
19
834
810
36
926
866
378
602
39
69
278
821
779
507
123
888
421
250
602
306
795
73
300
722
27
942
518
603
623
847
530
232
90
204
806
291
103
395
49
636
67
762
574
302
974
150
417
968
190
493
826
391
499
89
631
701
975
334
427
703
796
142
870
692
629
50
485
950
595
757
46
40
739
312
254
390
535
931
619
148
947
376
824
583
73
300
282
53
757
659
468
617
988
692
178
154
490
173
531
334
753
266
694
897
847
981
94
310
972
459
685
936
708
624
879
287
608
899
566
413
440
27
113
25
336
990
542
632
887
698
170
837
453
149
589
884
367
503
17
853
352
117
456
67
100
58
891
491
583
475
130
228
555
572
581
345
88
581
223
844
74
143
867
855
70
840
125
962
821
76
536
903
115
998
471
518
815
622
224
572
930
534
702
427
996
572
271
723
196
898
295
103
513
338
934
141
487
338
510
963
237
643
328
224
908
565
316
160
579
307
953
958
636
543
19
657
494
950
127
76
765
346
55
864
991
434
824
769
750
961
884
226
265
471
115
272
558
86
670
347
20
731
472
856
275
140
966
350
966
878
869
97
907
205
948
611
471
816
203
991
651
722
674
886
317
745
80
66
440
400
247
180
918
90
602
727
378
440
939
758
843
405
428
744
863
521
565
891
759
483
686
885
0
391
284
631
221
968
269
671
780
467
862
923
103
823
228
670
368
46
475
782
482
158
560
818
555
35
197
888
642
725
653
812
819
939
658
700
46
710
366
981
965
605
477
86
661
828
554
936
220
100
273
658
293
7
379
805
637
127
519
68
456
968
796
474
687
127
597
859
762
704
217
932
225
813
471
553
840
604
47
356
546
232
172
88
165
738
768
705
806
234
415
193
486
590
912
744
926
559
342
437
484
951
78
783
804
91
589
12
925
787
351
789
528
368
520
698
296
257
263
922
883
295
195
734
433
577
486
917
376
782
469
228
989
362
482
56
269
363
143
725
418
412
890
126
824
455
93
599
628
908
42
829
752
147
244
741
143
784
922
379
529
604
88
673
817
124
923
506
653
816
430
791
149
594
991
454
552
703
629
988
160
541
387
585
287
960
619
257
841
799
477
963
522
987
100
660
124
516
310
759
83
252
468
531
613
740
747
301
98
40
219
192
879
590
682
339
623
950
847
685
87
306
841
872
14
647
425
711
182
646
18
647
603
309
719
279
913
309
69
393
518
210
592
35
20
691
452
272
295
781
830
717
815
95
30
626
266
916
197
866
138
140
162
854
815
165
413
204
878
520
407
496
621
22
127
175
800
642
230
500
312
202
978
350
86
984
126
655
528
529
726
814
923
219
200
623
611
199
270
76
492
416
374
257
979
605
601
627
472
280
554
990
50
29
932
425
328
41
534
52
411
616
572
941
460
342
152
151
73
238
215
32
8
126
0
231
268
927
259
650
278
75
222
816
84
545
16
348
627
925
759
448
449
225
759
58
108
721
227
772
694
827
246
474
908
684
299
870
425
331
5
348
37
526
711
469
464
846
784
434
942
160
557
731
385
327
405
826
907
749
272
663
656
125
444
84
864
454
731
414
0
223
669
671
649
571
527
42
255
64
318
223
42
951
924
64
880
304
54
128
963
4
633
816
655
615
525
536
616
976
74
985
657
942
351
66
877
356
871
422
467
291
705
133
593
128
445
780
318
475
135
568
823
817
674
452
672
66
189
778
797
370
807
296
285
962
566
464
820
871
418
397
223
632
662
522
831
811
776
452
693
310
473
168
144
14
264
964
878
102
109
450
827
281
796
621
326
263
981
824
6
462
175
661
368
731
957
554
369
955
894
21
14
352
261
778
211
671
959
489
790
769
291
697
181
566
303
48
159
236
155
648
841
693
341
815
824
100
219
3
917
653
494
464
942
683
117
289
327
389
373
688
907
327
280
961
44
284
970
289
580
238
66
337
84
733
457
479
235
299
130
343
642
255
651
171
809
695
64
273
557
131
499
801
395
25
807
183
284
919
984
778
135
238
872
794
296
277
461
937
50
288
626
646
9
33
239
919
27
631
730
200
409
447
227
39
711
463
710
921
801
607
922
558
565
693
307
629
453
325
590
256
616
301
875
712
540
281
190
324
835
614
375
142
961
481
775
970
286
976
341
441
470
931
275
930
78
308
381
262
898
189
858
556
972
197
623
255
127
542
433
260
434
467
739
42
288
153
475
840
570
330
25
688
625
308
658
444
784
8
396
944
746
976
731
920
224
658
526
575
143
354
636
36
2
524
99
981
541
269
828
972
675
333
314
513
501
485
434
128
212
547
179
847
666
563
107
75
389
148
519
89
105
628
936
279
858
672
88
391
333
916
529
503
109
877
597
567
543
560
737
340
882
750
534
564
554
640
844
975
152
542
611
153
718
834
672
677
203
579
589
243
157
739
572
616
225
854
753
687
478
493
314
117
973
396
841
798
0
276
493
153
801
535
474
722
112
985
238
947
912
624
913
437
653
664
72
615
44
205
203
636
210
642
258
993
730
295
450
747
188
981
822
984
562
314
4
363
175
693
20
396
64
415
2
703
781
686
389
912
657
898
390
93
209
437
968
287
938
283
50
34
653
554
646
997
728
50
670
260
143
679
707
658
838
695
729
400
828
196
917
120
146
248
617
413
36
247
971
869
160
655
97
87
369
511
598
951
848
26
435
608
355
157
984
415
667
276
843
761
342
584
417
339
274
650
860
294
602
699
67
573
205
226
141
234
226
879
722
154
740
846
410
824
431
798
481
384
247
112
622
93
278
808
549
111
541
50
427
738
636
377
617
819
362
56
832
301
855
700
276
118
298
713
766
661
347
929
450
251
718
86
420
474
733
518
949
158
443
398
385
167
277
454
524
49
651
733
521
991
673
528
198
666
115
556
429
102
254
498
520
345
664
458
814
680
163
305
567
780
397
454
737
220
672
746
941
959
438
826
635
327
234
554
167
479
717
468
820
60
678
936
613
154
272
557
869
476
998
413
227
654
819
653
514
79
481
821
720
591
538
745
843
169
424
772
261
334
48
42
632
694
657
75
996
207
179
349
168
400
137
182
480
62
435
954
983
410
171
808
888
841
646
832
860
991
77
252
36
308
439
479
622
309
622
564
522
939
966
419
437
563
91
149
365
80
463
209
478
183
78
429
508
489
805
158
357
355
80
124
863
728
860
128
97
416
488
609
145
495
548
636
808
974
592
149
739
910
914
42
436
869
103
194
665
454
542
741
567
307
402
105
279
983
910
432
192
606
335
209
814
830
543
149
942
534
774
610
656
594
673
219
274
456
860
401
288
909
717
168
652
535
810
228
395
884
808
436
488
856
563
203
262
509
501
881
803
416
481
706
615
211
697
344
37
858
170
883
466
325
663
386
755
691
493
499
326
341
772
365
616
838
796
4
775
438
371
630
393
114
373
71
544
681
749
506
107
244
550
933
746
941
953
979
188
948
530
61
736
279
852
310
802
447
932
578
645
912
429
268
569
550
10
833
366
958
955
237
59
549
946
157
894
682
534
154
719
283
537
8
894
798
0
992
877
120
682
528
113
48
609
36
467
386
615
888
297
198
571
802
228
439
631
377
710
644
651
694
853
481
589
448
719
669
632
787
481
793
499
950
666
147
706
538
268
425
960
721
922
104
662
120
510
408
156
512
54
59
137
200
784
937
837
566
731
788
537
779
175
838
663
753
442
101
413
650
522
160
867
765
723
286
391
659
848
888
564
607
969
935
748
736
864
853
76
950
621
401
758
271
267
208
131
302
405
229
696
125
263
372
719
779
996
131
342
424
492
795
709
113
704
251
235
878
620
633
965
238
602
720
413
10
45
976
333
0
123
554
549
967
833
629
840
860
77
819
513
291
523
505
990
115
389
951
611
537
342
648
691
593
578
276
955
920
911
422
101
757
236
487
331
833
743
547
365
149
973
451
432
76
799
444
895
455
360
966
947
874
52
194
372
941
729
440
191
918
445
597
362
39
893
629
10
155
144
862
109
278
806
656
81
228
500
770
104
352
145
870
321
56
68
118
365
620
574
296
829
985
350
140
758
624
589
479
355
304
352
774
0
68
669
389
156
933
313
153
691
451
814
242
303
341
351
63
293
401
721
742
629
199
389
140
908
937
987
292
254
506
515
370
105
504
880
936
62
133
165
86
996
296
328
448
680
657
957
473
788
383
594
317
541
436
196
854
107
822
468
908
13
138
705
400
949
747
307
826
796
504
523
18
742
386
523
810
862
808
938
18
155
110
542
595
705
667
736
602
372
775
398
759
85
435
576
800
930
87
859
740
939
281
99
190
933
742
555
861
754
907
271
362
315
716
298
622
212
861
697
446
341
966
33
902
839
44
636
266
422
226
343
22
731
10
837
528
556
39
338
546
150
229
554
105
587
941
940
102
672
295
29
767
217
418
551
225
72
893
941
963
558
744
583
369
569
10
418
570
56
743
334
454
690
420
372
561
39
417
431
268
254
827
744
455
32
199
529
704
645
22
819
375
303
620
163
463
990
399
443
394
775
975
486
680
492
359
103
259
750
576
193
68
395
791
833
417
193
672
465
45
942
783
311
874
970
849
341
90
657
143
477
927
828
27
199
537
945
687
925
255
824
771
785
134
137
654
318
924
971
73
430
819
682
97
291
872
655
916
762
406
810
576
705
349
988
367
199
116
401
27
35
949
445
443
654
957
601
374
136
23
584
290
751
929
146
667
910
301
981
450
359
163
793
728
672
175
875
640
982
863
789
835
311
647
300
861
310
951
20
841
542
316
701
704
97
518
629
220
186
793
880
560
117
779
57
589
961
577
221
515
684
375
272
339
482
199
879
214
53
219
308
140
66
486
118
521
420
299
614
46
766
427
651
693
715
635
944
735
869
534
833
432
438
397
451
603
243
123
223
595
41
216
628
600
471
212
706
323
147
484
417
791
855
136
629
961
361
446
734
536
385
585
292
495
903
445
603
525
152
403
436
905
356
790
162
120
593
293
976
591
466
855
573
910
17
933
690
694
690
852
465
454
514
231
729
584
648
556
369
392
967
973
958
74
810
862
890
342
471
40
363
814
514
657
799
818
760
698
465
710
48
461
798
418
491
264
973
583
562
579
17
165
43
131
77
108
442
433
161
862
691
642
556
537
570
734
885
757
466
610
482
994
503
89
81
802
406
394
777
537
263
383
727
820
232
496
524
60
662
832
999
880
81
226
501
656
469
406
490
15
382
836
241
17
372
685
518
547
562
666
694
367
597
565
74
858
984
561
767
318
133
79
627
84
268
203
513
216
781
82
341
374
970
579
362
541
743
312
814
726
696
171
363
991
352
924
235
476
0
508
631
733
326
332
219
272
913
307
85
905
179
293
633
902
93
685
259
323
77
576
59
866
229
467
108
909
492
724
914
425
53
984
624
10
141
863
302
122
208
521
844
161
299
63
313
447
278
558
706
878
24
694
378
411
335
647
189
122
436
774
140
799
616
94
289
945
512
828
629
266
890
319
272
979
970
469
934
191
947
429
801
131
22
396
925
845
838
589
21
565
697
657
549
585
917
696
757
194
146
207
641
281
427
526
731
294
160
868
250
722
955
108
196
936
990
600
220
850
334
51
688
803
358
45
508
676
977
914
875
475
449
418
785
440
403
657
876
946
783
954
492
214
622
987
407
385
485
899
726
148
760
544
37
662
476
825
113
648
626
936
518
91
130
664
836
563
800
157
316
48
972
664
373
995
70
853
267
698
774
700
240
102
161
386
44
509
559
423
841
179
138
260
474
129
46
623
351
737
299
32
597
362
400
43
47
884
536
885
43
834
530
492
188
512
969
4
43
766
993
717
279
858
532
443
814
132
715
777
200
174
683
699
699
978
245
571
665
286
202
105
738
154
687
117
317
346
537
676
686
610
209
504
436
138
387
295
720
158
256
968
25
607
837
303
673
487
332
816
425
431
807
677
542
450
111
708
623
594
868
988
431
656
559
279
3
240
507
26
473
910
178
435
966
564
726
695
27
115
976
165
396
72
265
905
868
526
838
379
502
839
406
274
690
565
313
218
356
613
733
891
696
816
489
893
774
821
225
607
172
81
872
163
793
808
33
166
941
268
99
372
318
79
311
442
73
756
540
768
637
141
238
905
4
677
421
720
62
354
264
293
988
758
92
191
67
690
80
413
905
381
325
522
237
762
408
695
198
309
543
154
647
845
141
268
166
226
759
983
382
897
641
337
805
158
516
778
725
409
698
3
908
236
319
638
285
564
58
133
969
585
321
800
634
829
268
302
259
772
194
845
335
415
515
202
152
474
475
250
452
467
398
138
628
947
670
223
547
364
976
717
436
136
759
744
723
504
637
50
657
212
582
276
363
129
353
410
632
976
37
114
170
682
276
841
971
93
690
346
757
289
200
702
770
783
555
205
862
281
811
728
609
210
462
589
49
408
381
179
934
695
166
213
487
275
127
500
419
578
233
520
203
518
589
69
947
35
661
98
686
429
176
716
41
500
366
521
544
923
821
859
655
291
926
960
155
17
26
431
26
672
526
936
336
61
696
732
197
874
303
822
633
749
697
547
7
592
756
695
309
659
59
607
101
382
945
330
906
695
515
860
977
715
379
14
926
498
666
935
214
605
702
412
540
776
108
367
562
571
957
273
396
578
831
61
578
290
678
825
657
131
539
884
51
243
558
483
101
888
530
403
765
136
270
706
261
396
559
321
906
989
240
240
474
936
820
767
319
525
45
348
178
963
104
820
869
942
674
283
509
954
340
595
578
735
442
200
812
762
181
33
686
381
315
215
822
699
751
671
315
17
518
413
669
407
240
428
460
899
558
173
111
654
266
521
713
944
594
834
746
702
305
303
446
17
723
181
470
742
469
151
889
891
786
581
799
959
834
892
834
176
572
813
438
928
640
119
123
856
261
19
784
181
457
366
770
101
299
49
15
914
508
802
584
728
692
439
492
459
163
834
649
537
656
92
897
89
438
351
744
737
190
434
242
730
710
430
831
68
705
807
2
622
807
535
345
718
453
426
438
932
213
972
541
363
488
907
2
350
721
700
33
423
611
453
99
273
936
440
214
630
231
340
474
496
862
640
884
344
38
320
446
591
640
403
470
652
940
736
338
168
941
986
223
288
591
545
411
331
534
275
71
590
133
310
742
916
416
707
528
756
188
711
68
960
979
109
131
593
920
201
810
310
571
70
464
284
429
238
757
344
214
521
406
958
465
180
278
509
503
844
101
461
709
193
37
79
305
962
3
397
186
122
212
95
495
20
880
609
20
603
860
280
425
612
165
186
749
223
771
166
50
688
776
597
138
551
807
211
878
771
600
952
866
860
919
83
375
553
958
436
205
470
563
82
265
988
408
653
609
274
518
286
761
554
834
9
928
636
734
887
237
411
919
504
118
231
538
803
575
920
963
116
790
430
301
873
488
469
957
408
134
266
298
109
159
988
278
80
247
496
160
428
517
693
910
193
766
694
733
184
75
227
320
639
800
133
459
535
207
109
249
805
146
411
984
301
147
482
570
756
506
367
648
460
416
429
911
764
785
637
935
216
81
57
176
70
973
128
51
679
415
477
678
931
768
392
431
61
873
136
938
449
787
264
945
148
573
127
261
679
813
694
258
59
16
912
824
627
754
917
696
638
216
656
69
869
158
838
609
192
775
231
799
263
755
237
664
876
110
916
13
350
401
399
931
582
10
546
407
654
707
224
16
160
647
103
953
886
391
583
731
859
819
646
148
740
720
694
914
389
174
275
554
359
736
190
383
948
155
770
638
105
936
494
480
372
492
714
710
68
899
418
189
281
231
534
553
790
803
498
510
421
724
625
346
564
56
143
253
996
876
502
432
785
932
807
112
876
186
518
233
483
353
609
967
208
535
898
112
724
602
881
473
154
681
559
241
936
984
784
169
376
306
13
923
834
112
65
481
315
137
378
523
331
858
374
955
221
653
900
867
124
359
165
72
469
413
806
424
631
463
426
316
976
412
428
324
845
548
935
127
285
735
740
143
333
17
395
654
873
347
354
90
760
905
344
516
219
849
149
192
965
847
42
159
571
399
94
73
441
406
938
249
571
758
563
377
791
219
308
689
703
175
821
989
21
171
755
806
372
375
389
662
872
135
734
956
176
187
248
192
307
4
812
211
240
287
981
259
337
464
503
416
561
447
302
399
737
846
43
241
509
519
547
272
118
88
583
794
845
656
978
252
520
259
83
386
99
359
74
841
236
384
743
773
399
568
764
490
568
844
956
984
637
203
824
253
164
703
622
556
446
320
574
845
644
424
108
93
838
743
595
992
705
506
740
716
223
618
85
905
778
131
53
344
821
442
342
990
913
139
591
578
999
646
598
561
369
959
975
988
908
758
827
177
569
173
895
789
860
914
420
453
766
963
577
114
67
892
880
551
191
227
569
806
860
137
853
778
993
135
967
547
813
30
407
730
504
376
187
303
701
46
485
370
183
211
682
43
72
103
795
783
376
90
446
248
528
888
286
454
343
6
926
447
656
832
555
600
727
306
153
934
996
397
686
339
61
358
0
577
970
349
244
742
711
866
124
783
320
14
119
854
626
352
710
515
541
902
525
917
349
114
811
994
846
218
408
228
740
240
378
609
264
607
897
436
578
868
775
459
403
870
440
308
2
460
494
299
66
27
564
653
949
281
256
151
798
333
87
906
588
254
219
75
574
55
180
816
872
32
925
943
282
984
267
702
724
780
884
925
852
947
662
972
229
508
716
711
985
888
189
282
389
328
54
490
80
788
600
696
204
86
701
121
608
246
701
786
332
93
231
361
382
568
258
662
636
57
995
57
95
693
55
386
171
524
565
558
21
505
649
978
678
557
752
914
110
95
300
412
680
772
598
932
147
217
785
23
499
62
233
502
266
97
120
882
49
160
510
839
220
868
613
487
12
831
60
954
200
380
320
373
91
547
539
105
749
644
819
176
718
474
56
249
844
207
750
823
337
526
982
390
132
923
743
147
413
120
570
586
854
190
310
501
938
600
832
903
547
272
76
453
122
7
380
672
484
482
137
279
41
76
409
60
128
511
907
794
521
920
987
880
5
204
236
578
474
50
101
451
697
549
827
462
378
707
669
988
551
390
227
816
656
402
400
134
423
447
978
163
170
157
688
410
25
499
377
329
291
207
420
240
302
705
107
996
947
245
116
328
47
836
520
549
192
254
787
450
264
299
89
113
835
545
603
641
241
686
944
802
48
899
372
917
254
892
881
655
959
550
840
272
610
592
115
740
214
83
300
203
457
811
902
186
567
975
595
911
183
566
11
8
395
444
82
446
418
357
769
451
104
550
195
953
794
50
436
259
988
76
572
900
779
419
347
653
572
582
332
118
456
313
656
293
819
296
349
403
851
289
137
613
796
781
320
421
742
862
748
787
703
286
564
185
829
110
269
319
410
456
127
1
771
78
549
231
643
968
175
948
337
601
642
626
904
72
459
889
53
581
783
211
62
386
472
642
258
656
806
503
619
226
405
910
693
495
206
880
942
83
408
868
596
226
816
641
32
967
832
329
704
443
99
964
716
803
627
236
537
565
348
795
357
839
342
441
522
886
386
720
371
324
11
950
999
631
578
168
279
225
992
627
460
4
339
823
780
898
74
756
220
314
714
502
349
127
271
530
4
2
693
2
470
500
859
865
850
899
448
957
23
337
282
838
430
820
926
264
737
98
656
230
137
458
465
971
225
934
667
542
544
511
825
761
629
422
977
677
136
490
349
963
791
119
110
666
205
114
279
817
516
503
295
468
506
702
266
760
184
833
467
294
943
224
496
691
131
319
328
327
965
587
853
960
826
529
248
739
326
280
804
152
364
309
715
488
89
938
41
794
74
993
23
161
270
565
312
624
185
791
866
877
500
520
562
784
541
805
498
716
880
166
914
864
351
729
305
371
911
686
261
259
300
224
668
802
428
372
127
124
983
912
505
705
994
996
712
593
241
593
491
255
921
715
701
209
311
211
839
929
957
153
629
534
875
671
981
4
740
943
552
738
416
340
239
331
495
734
374
938
251
412
322
414
962
375
458
948
219
560
848
883
607
847
468
193
903
708
714
373
456
268
226
554
888
763
286
947
277
529
915
71
519
10
612
278
23
315
819
683
901
582
364
148
695
511
388
855
111
988
929
838
93
230
855
686
961
788
61
574
590
318
80
860
741
460
958
692
694
562
371
596
28
344
785
47
611
556
312
659
511
906
502
91
15
66
762
870
651
970
537
59
128
213
487
120
873
908
723
969
266
614
849
736
134
99
909
900
593
679
819
303
365
301
868
277
370
423
410
831
299
58
122
590
55
211
309
349
106
62
720
244
307
977
961
546
276
252
226
855
810
727
520
768
270
114
549
915
415
596
572
702
278
936
139
735
737
82
388
588
494
894
597
121
168
643
833
64
132
111
619
723
925
95
851
83
423
254
812
806
600
841
393
334
200
349
910
484
690
546
429
47
301
914
783
438
328
720
19
69
273
281
302
317
991
678
993
31
647
473
804
733
750
466
928
112
84
558
914
516
420
519
385
822
118
556
850
587
431
487
80
917
879
347
312
482
737
85
237
545
626
397
786
672
970
101
285
424
643
27
93
980
287
986
967
913
372
712
977
402
677
597
82
570
114
35
546
43
667
736
661
150
366
211
613
953
350
716
268
967
866
47
702
43
161
344
836
500
72
546
793
884
203
760
532
469
927
316
335
941
286
445
232
465
773
123
33
353
106
663
146
699
896
583
540
861
85
899
893
873
770
782
685
51
465
118
427
509
435
874
317
400
918
700
849
8
939
654
931
835
557
873
788
627
887
131
157
208
338
701
11
85
819
482
218
538
991
34
554
349
709
428
361
152
349
490
732
969
585
636
627
318
198
339
606
213
820
260
488
9
405
358
692
687
213
178
891
430
430
859
392
882
904
310
787
280
318
939
702
270
178
703
880
79
999
19
780
433
731
407
722
321
943
207
720
145
162
708
219
670
231
943
783
601
821
78
392
581
678
895
846
308
897
883
631
376
249
31
395
169
431
628
929
614
739
995
128
686
151
570
737
438
582
492
751
134
500
467
932
118
297
227
759
228
996
278
996
54
265
739
726
912
537
915
135
691
62
33
161
532
863
391
719
340
489
306
838
88
821
72
709
791
910
912
222
51
532
669
183
567
855
351
511
709
508
853
595
696
164
35
747
623
151
103
979
480
941
233
47
721
891
433
207
837
99
721
142
188
760
891
930
797
635
108
524
554
527
792
746
936
928
802
890
464
592
9
697
70
746
911
674
251
835
255
363
876
523
968
40
506
557
866
794
359
816
210
229
363
668
791
390
590
707
324
528
883
483
333
466
308
370
790
938
730
675
309
342
388
363
960
34
162
35
225
172
75
116
48
579
149
982
164
200
390
901
852
72
505
983
32
644
319
783
490
237
926
385
884
711
251
421
501
390
882
153
403
970
413
123
686
82
368
824
679
272
943
800
544
753
217
141
359
270
701
257
566
903
560
179
651
702
35
205
895
302
503
396
173
961
838
186
195
881
296
159
830
762
285
982
318
256
20
457
922
876
480
481
9
833
538
983
722
381
846
693
13
575
925
25
522
694
198
529
967
604
938
722
924
424
158
606
211
59
871
521
835
548
487
992
135
514
443
143
179
262
914
11
636
468
936
903
808
637
730
53
825
582
71
906
550
689
670
288
92
954
202
422
635
557
565
450
320
585
860
608
7
643
120
601
243
718
271
700
291
312
121
722
643
277
137
828
698
193
282
602
786
860
879
169
443
334
274
246
425
225
196
711
101
905
547
661
653
616
198
459
154
433
148
239
501
403
969
58
288
42
892
494
253
45
939
176
794
673
226
662
875
874
647
861
507
546
6
210
105
477
981
648
516
526
527
513
8
794
760
357
457
805
170
418
972
40
535
112
458
768
173
498
142
16
268
137
956
452
484
859
52
747
267
696
951
430
691
321
754
229
234
360
451
539
996
52
237
26
792
832
187
655
713
582
213
208
84
158
258
929
332
267
581
590
661
948
281
337
7
305
838
706
498
747
807
450
996
371
610
351
448
229
823
305
268
528
539
870
366
899
719
668
259
6
256
115
128
151
443
780
210
879
972
307
870
794
310
266
112
771
134
646
76
44
225
961
390
604
616
797
646
280
714
605
270
0
678
289
930
201
441
205
190
399
159
585
825
944
58
90
987
927
459
683
3
698
606
74
398
287
367
473
311
600
665
933
640
646
820
548
63
304
295
112
276
249
623
934
371
732
202
342
273
30
83
688
442
508
177
413
68
133
563
909
795
508
425
882
918
845
143
668
724
700
460
469
639
744
61
340
68
867
124
136
379
600
575
527
445
628
368
444
496
980
789
647
336
656
185
784
984
229
127
789
154
554
782
665
507
986
12
160
761
444
508
797
328
601
175
513
519
796
266
664
778
265
667
395
37
131
126
533
641
222
382
478
776
413
900
477
643
445
51
492
316
230
703
172
508
809
819
101
352
705
558
122
531
606
862
592
94
626
486
168
741
7
9
786
538
499
9
319
516
76
954
481
642
751
606
76
211
315
549
474
718
37
159
716
456
71
901
100
216
86
841
531
18
948
705
866
504
443
165
476
572
791
713
411
20
291
39
46
679
949
454
853
813
771
958
648
213
845
558
991
814
504
465
82
526
258
599
587
978
408
359
627
189
45
807
385
533
369
720
934
205
490
242
192
944
717
926
219
941
946
477
262
440
764
490
36
254
93
81
743
153
832
866
554
302
635
324
673
397
307
532
351
536
564
358
246
292
269
568
502
941
709
108
153
742
102
199
743
266
173
500
314
6
15
460
174
532
759
108
632
63
711
904
945
987
250
703
49
809
409
749
148
833
795
991
919
182
921
29
860
372
686
732
695
945
611
747
609
311
205
321
736
77
915
19
179
816
996
636
863
649
23
964
682
53
271
746
367
207
583
545
871
110
138
187
894
802
858
813
173
258
376
252
141
909
742
717
288
559
697
665
702
158
492
698
417
26
602
787
821
179
879
501
638
106
286
547
8
677
894
771
617
199
169
452
403
42
401
179
461
823
53
544
609
783
175
392
142
109
586
329
87
788
913
472
698
25
441
861
665
719
110
469
771
551
434
370
502
986
90
583
36
277
661
672
451
249
76
803
317
159
306
758
170
342
176
195
706
791
726
965
413
297
466
138
873
69
274
11
630
87
304
164
542
900
480
613
54
370
582
10
368
323
522
207
58
463
244
670
115
711
656
464
95
533
735
91
710
408
5
537
450
245
536
863
214
497
511
92
91
890
682
412
981
271
610
718
236
274
364
964
965
898
752
914
949
258
389
592
318
466
490
327
324
288
510
423
448
19
743
71
942
847
9
550
556
451
111
779
739
470
881
180
687
519
761
158
36
284
800
25
38
748
754
279
859
795
18
627
586
446
594
548
839
903
460
522
597
415
595
138
428
355
57
780
537
643
448
409
352
114
216
1
244
338
148
178
914
903
46
412
340
823
512
164
852
323
414
122
529
519
414
823
41
235
690
568
258
575
503
373
558
873
656
247
56
510
626
692
779
756
10
822
801
765
982
202
90
782
168
683
122
31
49
111
256
650
879
131
907
418
730
708
329
442
5
570
980
458
374
715
955
483
0
141
336
989
47
831
125
418
543
311
553
584
816
328
709
889
129
445
631
257
248
999
451
707
69
639
441
674
148
686
540
964
287
689
896
434
363
523
279
882
303
538
201
646
544
413
440
634
998
226
481
842
54
181
670
944
661
401
579
94
400
109
982
159
783
556
74
83
408
578
134
531
661
783
211
959
319
953
645
290
612
791
28
141
5
37
366
816
471
923
74
166
823
326
511
692
745
380
571
535
47
491
700
136
253
180
775
289
115
559
39
775
234
971
73
274
749
449
890
606
99
968
315
109
266
602
496
146
401
58
87
531
246
726
819
449
229
480
96
346
548
658
802
995
108
246
224
280
424
657
925
486
926
385
440
819
191
74
531
790
141
434
584
425
92
826
633
502
668
302
662
208
69
384
707
71
794
924
927
833
487
398
612
124
74
390
293
76
198
554
863
27
282
718
994
439
992
87
901
389
292
396
111
775
615
500
974
348
184
315
714
820
193
606
502
718
447
967
850
619
774
107
158
840
57
316
105
861
504
436
310
483
268
557
844
797
212
878
106
809
136
233
893
259
186
430
933
685
353
371
80
742
188
120
851
2
3
500
237
607
542
121
266
703
92
443
480
916
857
906
106
666
35
510
93
241
417
205
49
193
827
371
247
984
731
14
142
81
988
622
914
296
279
503
133
395
127
583
155
911
254
946
745
943
432
409
987
816
995
415
984
707
624
555
688
789
9
83
727
259
662
429
113
298
139
477
704
62
279
179
121
424
8
657
518
126
907
414
987
528
944
656
432
153
38
492
263
372
85
753
924
271
676
332
988
890
520
638
108
200
342
841
980
822
111
529
321
122
381
825
260
346
285
642
278
652
355
369
391
659
302
137
489
529
715
829
710
826
430
881
404
270
210
682
545
275
310
470
912
418
527
427
38
798
484
672
193
826
174
11
625
465
769
389
179
407
400
864
304
114
660
128
238
736
444
640
541
696
274
929
574
410
933
920
153
163
505
939
48
739
319
809
892
502
521
956
283
98
689
531
851
599
891
814
364
140
641
725
835
683
830
923
177
263
307
36
761
40
486
740
230
759
781
123
311
620
176
229
127
795
589
465
868
38
682
721
170
478
354
941
831
802
636
577
934
546
707
509
372
252
90
868
821
948
384
148
408
964
272
673
352
946
893
971
120
562
729
67
228
672
460
762
678
417
562
281
418
583
998
727
50
307
395
273
377
873
441
546
644
951
754
302
59
84
513
472
314
882
387
393
729
543
134
598
18
933
701
538
908
111
260
753
640
365
20
541
948
485
499
162
414
677
634
293
735
742
16
371
469
818
25
901
316
69
987
280
201
948
837
913
528
310
598
995
991
458
381
493
52
478
333
184
561
633
721
284
927
276
892
94
772
323
585
15
908
987
921
437
120
543
729
267
638
507
471
692
889
402
132
572
983
365
300
154
925
416
659
814
871
666
61
99
525
490
10
233
462
224
61
792
367
661
107
745
352
852
690
158
134
347
675
182
190
298
218
941
926
31
193
597
899
582
653
481
14
188
788
990
356
351
624
136
459
29
759
288
562
129
486
40
307
681
902
370
670
4
309
413
214
392
361
585
73
882
169
209
268
279
860
54
927
957
836
872
421
214
357
170
712
227
936
280
851
57
374
819
393
844
87
11
14
479
454
725
404
470
536
525
514
312
477
57
473
742
807
683
878
407
490
253
609
575
138
990
518
615
428
929
638
149
321
287
289
25
265
893
208
103
483
37
592
692
155
603
123
69
512
723
332
555
4
385
734
291
560
354
921
863
141
513
66
727
697
608
414
161
103
332
776
520
266
450
36
691
432
293
946
853
640
213
242
167
924
846
737
195
614
319
876
460
834
74
786
358
436
404
942
513
287
862
155
415
476
859
389
258
751
769
365
237
629
994
539
918
860
560
677
325
427
545
42
378
420
947
689
754
555
505
307
138
999
272
443
858
535
674
186
939
977
603
574
63
398
286
591
250
473
402
601
133
90
577
865
351
316
253
269
263
918
798
498
921
556
838
309
796
256
206
399
844
432
410
14
375
979
850
272
585
836
771
654
172
215
394
691
320
281
540
61
517
390
451
438
326
801
545
650
260
320
257
73
150
964
957
96
182
670
210
78
378
431
431
471
381
451
719
12
910
273
562
691
521
37
99
724
80
43
639
36
926
521
646
419
199
584
476
263
253
85
839
411
69
145
803
197
359
735
595
680
556
101
173
224
252
229
924
118
178
470
444
435
470
972
482
11
912
526
601
276
135
683
521
473
478
764
1
372
656
974
829
545
996
695
869
933
937
466
949
42
222
473
244
965
28
349
872
998
468
244
325
914
811
642
541
561
452
166
117
951
339
380
902
979
855
60
445
134
106
98
681
427
781
635
802
506
711
879
403
856
923
843
744
28
480
66
43
829
22
694
81
9
861
132
194
841
243
927
918
494
973
483
401
440
593
928
558
501
606
894
824
714
133
292
964
684
442
685
393
481
983
924
383
211
437
285
966
522
872
689
96
839
407
203
553
63
981
282
526
349
503
876
724
48
559
921
70
711
910
647
726
706
95
15
619
57
46
586
490
899
854
665
664
767
342
315
181
683
427
131
653
440
619
80
390
426
561
921
961
920
242
342
472
457
470
36
51
593
412
542
646
947
942
712
702
113
110
815
519
875
498
349
80
44
719
242
390
606
110
933
167
700
558
206
753
643
734
532
728
594
292
836
199
991
117
333
77
551
270
172
168
914
11
514
549
960
252
757
271
751
448
82
153
405
712
662
688
861
595
452
849
494
289
886
507
862
953
92
541
630
20
401
545
146
854
246
176
633
740
479
232
344
573
869
881
73
227
553
366
448
222
323
578
218
232
362
389
537
256
823
104
267
299
47
649
564
868
171
976
465
438
259
132
434
350
944
359
579
591
15
173
842
670
453
110
280
456
684
272
291
452
504
904
261
942
517
684
911
483
572
627
426
606
349
357
600
489
410
724
139
399
922
857
19
384
232
172
193
863
86
42
813
506
186
573
786
497
102
615
217
161
685
13
363
316
149
263
855
592
836
221
19
639
381
978
254
236
979
753
37
104
865
691
76
713
152
880
432
345
101
598
25
140
28
801
779
66
218
659
157
793
155
348
854
474
262
881
64
339
874
184
825
162
83
278
176
792
943
784
862
691
560
586
190
236
741
503
432
474
897
251
372
609
958
151
481
671
828
32
657
73
848
654
958
101
544
942
628
299
187
399
490
494
22
739
485
378
72
879
286
222
397
309
489
450
863
548
744
166
895
783
139
365
624
423
756
114
400
941
306
720
484
844
610
355
598
363
306
424
836
247
141
534
241
48
620
378
652
845
96
444
153
303
687
157
348
630
246
864
651
536
976
549
841
101
980
217
809
708
72
812
438
482
359
992
949
901
358
430
129
875
494
61
986
206
436
685
455
259
750
963
139
142
316
599
946
137
494
714
435
225
274
294
949
151
944
774
124
552
966
161
571
389
340
436
841
266
403
872
243
933
198
539
518
860
207
329
82
302
119
166
565
206
220
5
826
818
736
96
960
916
207
829
415
692
531
504
623
649
939
875
817
269
970
910
853
104
751
468
587
138
44
374
388
754
474
577
513
602
374
44
60
85
970
526
949
478
443
918
310
204
360
863
3
924
706
699
390
182
408
14
803
76
440
585
299
335
167
700
189
210
970
929
386
520
983
331
178
220
478
854
931
169
682
810
469
681
748
581
631
378
975
323
510
547
979
364
863
5
377
168
946
133
874
743
892
428
524
926
713
927
383
70
969
94
369
434
941
503
568
257
914
994
452
754
38
759
943
265
781
206
242
983
735
60
330
248
984
916
820
714
10
30
483
318
782
604
900
510
863
394
606
259
503
24
284
990
637
55
254
345
257
523
388
605
936
409
257
199
171
706
404
299
916
626
874
149
328
316
614
864
642
545
584
742
52
864
597
603
856
916
191
576
596
643
734
610
560
595
576
337
895
231
458
736
678
491
742
782
367
261
828
308
204
335
650
516
595
462
702
682
459
18
576
287
300
610
561
817
613
295
125
781
107
967
114
521
154
778
757
769
185
2
511
655
925
175
2
641
697
75
34
952
640
95
924
282
261
300
547
442
219
370
709
103
644
361
990
555
234
448
242
436
4
323
761
225
854
414
577
634
499
580
534
872
274
7
429
103
589
431
747
960
487
464
23
25
828
516
40
664
313
546
398
423
603
268
71
974
503
251
898
683
8
786
527
121
40
68
52
67
676
16
230
205
211
221
979
371
721
288
266
990
896
588
489
199
942
871
915
946
309
280
353
971
444
188
336
831
165
302
841
681
26
446
390
189
219
27
472
871
43
618
799
152
50
808
260
386
968
746
298
134
343
619
554
467
747
751
66
496
753
514
323
124
334
43
856
588
346
234
222
393
911
381
423
421
143
769
500
709
720
638
741
774
201
550
611
487
415
507
424
962
421
93
461
287
338
793
713
52
726
393
978
387
864
521
909
898
801
546
901
218
956
16
282
595
744
297
188
254
137
325
931
221
35
660
693
176
702
592
596
706
892
836
385
76
817
430
57
267
624
629
305
145
147
332
708
849
745
532
296
733
657
638
662
190
341
364
126
228
350
661
497
129
224
185
67
529
471
313
428
189
26
37
734
927
306
85
278
839
234
27
598
376
252
833
205
142
74
519
727
599
900
173
889
310
301
849
259
100
240
454
662
58
370
344
374
359
717
998
576
75
349
952
194
499
361
14
165
491
71
768
654
308
111
539
427
425
157
881
488
991
811
444
701
936
636
278
200
893
352
925
327
461
625
17
190
523
85
397
393
864
319
850
72
165
329
856
406
946
606
877
760
981
344
603
715
654
321
575
930
242
474
312
301
934
619
81
773
35
554
870
475
70
635
798
216
377
460
133
847
171
582
840
498
399
447
614
776
107
873
6
148
194
163
188
796
789
795
6
206
658
110
667
553
605
560
237
248
15
785
912
824
414
750
56
248
632
832
607
173
212
635
729
803
651
608
424
298
225
334
323
176
151
342
602
102
170
403
823
97
946
262
21
143
895
262
428
692
867
323
611
875
236
903
537
727
75
541
637
554
264
295
626
62
602
81
183
736
891
30
358
197
437
195
383
594
213
861
771
602
929
134
474
840
449
766
604
369
705
376
964
855
920
113
932
217
692
122
131
99
150
829
530
999
897
911
847
161
594
508
516
929
541
408
894
601
14
849
402
186
256
994
454
474
494
246
271
675
283
70
92
761
136
536
233
146
281
141
24
858
164
795
581
5
748
438
223
66
915
312
392
412
642
716
103
390
730
920
668
877
668
465
341
986
175
719
858
166
673
5
993
885
166
131
427
824
866
598
472
648
824
366
722
925
144
429
431
971
3
837
614
865
497
489
423
855
421
567
189
362
549
265
871
654
878
421
720
702
55
528
90
504
679
618
627
393
432
232
938
450
512
324
714
410
16
530
246
762
13
544
563
503
869
76
305
103
285
726
620
574
873
267
598
36
804
0
448
671
49
230
240
565
449
252
128
120
971
512
490
555
903
169
685
169
487
628
492
536
989
79
486
450
293
488
745
145
406
288
682
463
803
297
867
863
384
634
904
844
475
670
544
28
377
59
93
779
262
592
617
513
327
93
561
719
1
692
831
74
842
342
807
856
977
266
393
302
386
819
339
882
908
283
817
576
990
883
147
403
75
526
64
374
456
124
302
252
192
286
250
809
120
851
230
687
277
355
161
107
435
626
163
345
545
597
971
638
942
273
11
724
975
976
919
272
985
298
342
955
455
134
36
945
25
62
76
440
189
560
131
489
446
951
341
148
425
588
458
9
633
81
432
556
739
96
645
475
356
699
613
69
98
726
288
969
206
565
736
396
565
740
968
153
364
917
442
828
676
243
274
875
452
679
30
759
127
115
929
123
445
80
443
543
201
266
900
159
995
756
457
670
842
416
545
178
70
809
500
323
321
551
301
465
784
451
120
921
644
75
895
723
234
692
288
284
129
240
489
100
925
99
621
534
89
379
327
11
701
592
281
710
767
927
137
37
730
356
945
811
629
639
242
231
845
47
159
257
110
271
800
725
555
799
417
651
474
592
486
754
523
949
657
955
224
372
363
761
643
283
267
611
820
291
949
385
406
307
760
773
500
564
364
131
755
273
647
922
951
192
263
101
688
788
305
403
492
407
164
668
514
799
901
641
879
709
732
433
830
19
639
132
602
516
48
6
401
905
737
663
25
317
282
544
794
402
880
53
545
677
923
796
530
191
323
15
959
539
4
37
774
303
110
952
74
601
226
221
10
833
387
740
635
970
554
460
444
778
771
855
802
289
673
824
873
966
876
732
715
123
680
859
923
141
953
66
540
361
698
999
311
238
936
707
950
103
324
119
186
915
667
301
398
1
615
418
903
435
270
847
124
533
221
227
195
398
253
166
848
876
784
823
53
602
910
329
935
227
22
762
77
380
611
267
14
873
944
78
26
735
703
15
305
227
558
312
148
568
219
47
890
331
943
673
444
93
58
724
313
883
317
558
52
348
567
307
144
739
18
560
390
463
323
403
437
649
388
661
826
225
44
755
118
816
164
751
143
817
199
539
158
769
896
941
880
518
495
897
275
95
425
678
753
522
551
405
70
4
600
819
266
40
545
891
393
19
399
802
560
361
376
553
956
210
998
818
329
259
613
162
156
728
997
425
228
880
820
580
543
527
430
347
261
599
817
213
78
604
622
221
811
829
929
943
773
839
501
353
840
798
978
614
274
676
744
786
357
944
773
250
70
48
193
998
733
860
128
94
76
23
151
386
118
68
9
678
228
46
143
805
831
704
114
600
887
297
483
558
532
418
556
944
443
733
406
701
149
309
965
920
297
662
121
165
143
437
41
315
465
465
829
821
52
869
747
114
213
570
366
465
668
149
901
928
474
937
23
78
625
793
936
550
569
188
695
933
602
826
983
761
971
36
622
793
803
657
773
562
740
75
915
844
404
182
547
382
111
49
171
28
542
186
136
502
277
971
189
526
155
700
935
532
883
212
990
914
50
463
504
574
834
535
959
113
487
543
249
342
258
109
432
637
789
906
473
26
743
524
528
106
211
914
326
833
221
983
266
55
809
453
3
545
208
793
150
719
389
785
273
691
581
499
162
672
674
373
951
433
703
942
698
223
632
850
471
769
734
478
685
35
474
375
506
620
879
666
856
771
595
338
933
914
864
713
201
107
115
29
19
318
606
388
102
528
372
167
962
382
988
840
945
902
491
613
47
11
566
291
6
442
508
230
356
494
516
55
209
126
867
253
872
642
34
952
234
868
231
763
328
228
689
845
646
759
403
425
916
269
625
364
166
460
417
634
184
122
490
348
372
738
213
691
15
564
146
935
794
953
199
517
925
482
754
284
424
341
275
898
473
420
371
513
646
145
51
90
984
785
487
423
80
500
909
49
506
622
724
143
876
392
701
183
562
161
567
83
81
782
840
242
487
649
145
597
669
800
440
852
559
807
211
768
950
664
217
839
241
982
464
386
383
666
753
134
845
3
431
844
247
7
989
779
88
37
55
782
670
43
621
928
788
156
633
762
319
88
239
520
505
759
113
607
897
497
421
598
851
915
993
64
670
198
279
808
542
103
344
660
859
189
720
119
24
795
665
124
219
163
140
424
498
490
8
942
269
908
980
910
887
49
975
520
525
794
811
796
265
309
587
112
811
419
97
601
866
81
471
528
891
401
373
240
968
470
356
998
872
315
829
821
922
19
397
452
710
640
568
895
1
586
497
144
792
897
721
651
32
96
288
42
776
1
371
769
43
230
13
917
648
600
805
557
299
499
870
131
982
997
975
106
547
1
193
581
311
75
797
585
980
13
782
850
721
576
628
356
448
68
776
454
404
930
910
553
308
79
224
164
629
916
81
191
905
594
32
898
271
889
469
441
880
332
954
590
604
526
913
227
771
118
672
761
980
512
730
307
190
792
603
330
621
446
564
67
839
320
57
656
789
172
480
505
364
791
631
347
63
645
391
918
868
847
286
849
828
328
305
662
694
417
259
587
939
863
842
942
681
740
153
514
47
38
486
845
298
111
573
606
101
667
378
720
113
284
492
423
746
944
842
226
179
403
175
376
160
56
986
145
397
887
344
517
492
214
906
725
93
189
119
74
349
453
505
124
893
736
376
176
15
394
576
663
761
338
486
644
14
62
881
171
296
72
22
879
546
342
85
949
443
55
40
386
335
940
147
118
895
643
471
813
461
889
257
322
568
786
56
220
71
684
740
633
232
58
378
757
620
296
154
681
681
46
939
440
922
469
143
765
822
464
64
865
216
200
243
440
557
133
405
294
817
775
517
261
965
995
162
625
183
483
81
587
36
988
511
999
460
218
441
149
846
869
615
895
381
299
457
361
814
464
737
570
134
551
891
78
806
465
444
456
663
557
839
576
821
620
323
969
779
336
478
803
196
948
790
656
218
127
891
265
411
508
40
138
947
579
310
537
735
454
32
641
794
294
705
105
618
342
329
144
386
984
99
335
540
251
202
563
516
28
598
789
329
898
753
230
197
26
916
918
431
339
617
743
144
863
375
466
644
691
665
551
504
310
37
816
378
52
800
496
40
431
684
762
0
910
974
913
259
424
180
324
75
68
694
587
250
499
889
770
814
18
698
620
881
347
860
779
105
831
612
679
268
783
354
344
195
671
299
600
255
340
996
750
242
436
216
476
783
786
795
792
37
89
331
669
722
951
906
57
453
390
820
230
533
722
331
878
841
278
620
451
676
366
842
826
70
144
931
646
226
263
752
885
240
977
803
235
321
736
195
757
149
750
764
409
916
141
471
233
119
291
570
29
728
636
940
952
256
839
118
265
69
170
479
802
623
759
204
132
78
169
359
244
141
818
426
837
804
501
157
254
618
88
907
393
720
463
873
459
245
995
660
272
965
343
504
266
83
650
427
632
664
838
306
711
641
653
95
982
722
389
292
825
174
691
335
311
425
679
606
309
174
116
530
483
477
494
3
7
552
676
175
150
130
706
211
321
880
945
840
857
300
657
431
224
644
205
826
630
886
215
571
724
182
694
155
717
440
483
362
249
340
44
854
129
16
861
199
255
748
188
22
924
181
84
373
808
235
971
589
49
842
667
40
328
299
398
752
815
885
685
304
593
348
92
740
764
394
117
247
976
358
278
102
279
945
859
908
358
753
764
366
791
494
416
741
991
604
4
617
88
359
780
84
745
119
16
852
518
782
221
360
489
157
929
285
531
252
106
312
681
97
31
508
925
970
435
782
44
849
956
530
891
557
277
766
858
758
416
342
970
191
337
415
775
524
899
168
895
302
151
528
218
224
223
164
56
925
290
142
913
80
317
288
50
493
420
328
763
800
736
4
828
197
659
530
26
170
199
285
322
33
311
681
641
83
443
793
878
22
739
888
674
92
430
767
671
285
455
760
842
817
401
642
451
601
333
404
318
352
865
642
983
378
131
153
510
268
893
562
700
826
552
857
571
34
552
70
294
650
591
53
61
53
88
844
345
621
659
259
653
729
2
927
188
960
623
989
787
761
878
326
74
375
698
809
395
307
904
619
636
281
113
396
406
647
699
85
294
383
947
912
281
810
551
116
721
744
905
13
491
913
992
500
740
719
312
271
991
198
805
863
94
861
515
660
820
79
22
257
527
959
330
715
637
934
743
438
922
937
170
240
108
52
682
367
544
491
772
502
175
14
310
769
468
43
48
750
625
999
278
560
287
221
778
912
105
504
832
272
534
129
38
979
769
560
301
553
178
866
208
401
589
726
719
325
786
222
196
978
722
423
778
495
162
185
163
695
26
410
604
176
756
708
910
386
171
947
971
264
852
442
448
113
907
713
79
26
272
978
346
706
274
270
702
938
962
959
187
747
657
761
682
540
944
613
831
104
660
681
411
621
356
597
42
814
734
171
465
774
987
247
86
141
427
118
379
233
102
594
479
394
45
817
354
719
102
470
189
366
101
197
943
538
464
572
470
110
119
44
687
971
731
641
712
819
744
564
884
89
26
589
610
321
552
375
817
44
496
231
457
642
15
233
772
77
23
565
292
299
525
950
272
956
305
680
668
513
891
838
306
869
802
150
730
65
682
558
99
294
994
842
908
173
205
843
196
484
741
578
999
303
846
571
649
361
129
612
482
983
620
667
357
109
666
526
704
896
739
696
638
83
478
953
96
300
631
692
723
324
999
609
135
237
354
635
92
726
118
358
78
519
59
691
896
383
0
207
867
921
490
928
560
712
57
152
417
511
597
562
432
71
558
663
649
319
154
358
27
627
900
477
936
561
627
749
707
287
512
33
278
505
283
87
489
38
288
251
167
137
536
14
221
806
678
850
22
629
866
431
830
769
496
243
654
556
631
661
139
989
810
706
642
649
14
487
896
734
277
495
801
71
662
57
844
698
427
180
573
916
206
53
152
566
815
419
324
571
965
938
643
396
871
661
21
724
684
650
736
284
505
608
179
949
899
457
929
992
680
496
570
920
316
682
864
97
324
707
96
220
653
820
996
99
271
280
972
470
304
763
882
105
512
866
440
919
423
135
586
597
694
549
906
941
260
50
395
780
618
0
622
374
862
868
491
505
362
714
165
2
182
933
631
228
994
688
881
736
205
169
259
957
243
302
678
560
592
781
704
27
721
254
534
426
781
149
846
58
94
82
899
980
441
81
883
841
652
232
123
125
422
652
455
284
458
893
248
671
465
604
36
581
181
193
300
753
647
945
317
469
170
455
126
552
888
853
682
366
418
322
343
82
626
13
13
639
743
67
72
0
325
463
55
736
894
200
846
168
618
143
716
171
721
855
915
822
832
51
555
336
989
519
774
387
970
120
267
841
654
285
261
56
300
850
997
700
392
282
833
62
507
916
629
291
799
289
416
788
867
112
901
84
752
860
316
599
336
9
657
0
515
115
271
864
150
631
566
778
916
740
310
275
292
636
158
227
49
913
83
59
163
411
246
329
868
626
286
542
427
212
213
648
746
784
812
368
846
401
31
425
221
919
146
591
760
114
770
548
218
263
908
181
669
738
853
478
411
399
666
254
404
75
889
909
871
78
597
88
470
635
734
268
501
161
620
144
599
197
876
705
225
265
820
238
436
696
20
332
777
796
759
778
116
215
0
225
935
61
813
974
996
570
527
387
205
898
188
917
330
76
288
798
182
43
733
385
949
384
376
785
108
809
321
444
268
347
864
910
565
640
326
212
117
47
804
826
521
146
678
555
134
585
772
67
521
134
297
177
249
671
300
693
57
293
642
159
145
371
935
45
207
431
938
231
874
420
835
314
665
679
788
400
323
37
80
668
551
462
978
359
393
612
937
674
271
129
72
625
208
544
590
815
354
820
997
808
611
891
749
444
477
831
340
154
998
305
380
914
993
245
870
238
916
138
248
440
615
492
971
917
110
685
379
215
149
426
991
726
721
671
808
449
56
223
909
581
375
410
437
666
535
96
202
632
281
493
219
19
536
194
262
10
925
16
753
363
93
42
255
492
247
150
974
258
187
211
881
977
741
479
471
175
544
142
671
979
573
195
407
462
771
228
699
281
742
691
770
581
985
623
542
598
556
652
39
155
60
192
690
626
405
633
660
822
930
771
462
383
561
13
392
518
53
113
835
616
82
587
515
800
648
545
186
541
555
29
184
707
599
30
267
604
130
478
547
654
45
226
189
812
661
48
178
121
844
169
894
137
467
961
159
507
494
733
126
708
849
945
511
526
566
321
174
371
515
989
464
323
726
149
901
429
42
894
393
517
454
595
269
761
681
52
677
934
772
206
430
88
531
325
898
750
768
480
675
739
417
466
681
608
927
584
818
440
316
774
497
439
13
679
358
426
681
553
926
31
706
388
819
322
952
368
841
761
55
631
939
546
350
96
946
205
668
222
255
40
350
292
531
835
605
338
253
69
960
825
484
366
147
821
49
388
718
120
358
276
618
305
664
494
639
407
386
641
565
569
406
69
274
707
699
982
714
132
270
174
563
765
674
897
166
374
956
440
894
181
742
166
541
378
507
471
476
559
469
743
987
293
83
248
50
769
913
993
511
988
163
687
456
598
855
421
857
46
569
73
107
379
165
860
835
653
739
773
348
112
92
258
978
293
215
95
384
263
852
542
295
912
83
79
106
10
373
582
960
862
439
647
876
556
562
196
711
391
580
884
421
648
494
13
635
957
389
628
825
450
393
425
589
735
254
767
475
821
556
15
821
263
367
651
334
988
557
792
208
89
86
466
331
223
878
608
933
700
866
919
911
597
169
348
858
176
284
954
2
394
609
697
964
691
172
555
553
696
587
75
910
239
727
349
730
781
561
629
848
215
421
720
277
625
249
988
264
791
314
957
896
641
286
683
209
824
520
378
148
463
634
113
889
181
623
86
808
603
926
522
8
288
95
209
920
223
319
404
872
47
20
675
586
281
855
337
268
402
438
124
15
811
572
351
396
737
200
106
25
752
439
907
721
993
553
455
321
948
800
276
160
25
334
483
633
270
477
999
137
329
772
380
35
652
758
826
353
125
398
562
546
364
507
42
446
803
174
211
874
750
407
107
595
690
765
168
453
763
731
532
190
275
455
86
987
72
472
287
884
919
246
627
819
393
421
947
993
351
303
179
662
152
659
839
449
105
329
146
159
747
626
102
796
385
513
374
210
111
254
890
193
561
348
90
18
61
636
187
399
123
271
993
386
803
389
751
178
264
138
314
848
279
891
105
207
962
509
826
17
180
673
788
910
416
95
675
674
368
814
52
364
227
377
276
36
35
999
493
430
852
267
754
554
284
532
77
67
139
145
681
697
631
638
798
727
349
173
218
404
388
966
560
341
515
340
812
571
187
665
466
324
616
925
419
676
871
626
629
418
669
768
754
814
636
543
764
991
984
426
42
398
241
758
527
973
925
433
997
266
361
112
624
727
951
629
148
723
422
291
35
673
313
551
987
756
371
771
42
742
461
951
437
800
209
717
865
484
711
660
493
0
219
996
897
406
245
309
907
429
4
171
42
772
499
431
589
881
623
589
232
31
354
22
439
465
481
700
260
993
668
523
65
998
551
590
981
934
878
462
109
106
318
797
654
512
215
741
987
338
535
518
555
523
887
157
718
517
900
801
811
650
611
310
342
615
473
993
708
345
360
541
17
917
712
134
383
609
588
328
406
8
498
643
112
68
173
182
7
444
8
813
300
6
854
717
15
862
245
835
280
236
547
139
614
815
545
560
440
41
862
841
45
281
96
923
652
294
901
728
342
646
66
27
87
627
188
268
184
86
717
145
573
744
641
419
420
893
343
80
215
477
431
456
111
807
426
707
670
893
133
822
999
849
492
112
122
698
844
279
115
815
777
428
155
700
6
934
581
805
97
391
877
340
107
932
33
450
809
188
849
394
989
838
772
995
95
983
76
80
984
223
932
875
937
53
77
464
176
564
552
465
281
485
670
576
350
698
183
462
211
117
10
346
68
64
111
342
158
747
523
844
307
108
55
157
59
734
525
282
50
160
252
677
566
991
542
35
997
538
575
850
342
909
15
178
52
906
112
694
710
980
429
158
708
239
56
706
183
173
481
318
160
828
136
38
918
28
10
100
403
92
904
331
847
803
624
497
944
451
955
336
483
916
930
88
632
337
899
307
317
2
15
787
657
547
262
730
380
355
863
181
822
70
161
160
116
16
776
54
934
256
634
346
795
929
358
877
901
736
416
838
557
442
434
724
44
436
880
768
75
602
859
622
676
821
56
301
115
232
633
70
33
758
963
624
990
7
521
149
59
77
348
523
812
773
789
968
543
83
898
118
644
411
151
443
869
281
537
114
26
579
644
429
493
43
156
523
308
961
108
910
816
281
943
66
575
697
841
462
638
943
798
361
492
10
878
570
395
948
190
268
442
918
752
520
300
840
882
573
199
728
179
397
484
782
955
650
869
941
218
153
929
531
188
657
879
823
760
350
655
694
736
663
36
700
424
163
89
141
82
123
862
214
67
741
980
353
682
638
556
100
30
742
75
459
710
972
148
100
202
674
955
669
559
775
873
350
131
371
791
108
255
105
602
441
783
607
579
625
736
670
138
147
692
940
462
20
52
352
784
298
469
641
25
171
930
785
339
592
133
934
959
395
30
433
783
429
59
702
662
953
920
244
624
19
9
583
587
688
97
964
295
534
8
817
486
436
671
715
188
731
615
133
252
443
254
596
408
453
108
890
521
371
542
796
125
308
665
66
926
883
53
356
904
967
798
237
116
617
99
545
596
561
122
633
90
961
848
239
293
612
572
909
113
452
774
927
274
5
572
742
136
395
697
987
922
43
844
129
663
318
309
313
65
977
783
452
250
55
402
405
805
35
438
539
673
651
669
690
720
189
196
582
716
426
65
225
472
576
212
116
133
573
854
595
908
397
280
67
717
665
926
904
173
758
736
811
15
302
783
638
537
540
472
614
147
854
515
396
883
330
199
964
269
326
872
706
191
828
648
161
90
763
371
649
214
895
336
549
110
846
388
70
555
386
332
327
370
505
11
27
681
662
860
703
408
239
562
652
394
704
609
905
12
142
521
218
63
858
124
544
265
428
658
881
33
244
89
830
863
653
620
365
887
84
739
397
378
330
100
66
476
729
849
697
845
2
954
215
480
179
997
150
594
471
390
395
343
987
87
919
467
560
197
480
929
56
102
867
286
947
35
420
874
987
291
587
169
550
571
365
336
966
335
85
858
606
274
379
472
490
254
951
971
661
513
668
601
691
227
873
568
998
670
675
737
812
230
693
134
608
687
872
934
778
265
305
185
625
538
679
565
350
495
710
346
69
836
49
649
60
156
45
229
307
851
230
252
482
646
771
983
319
776
312
862
838
524
989
29
78
316
18
638
614
452
396
788
7
205
623
106
934
902
522
655
631
549
456
360
249
240
855
393
800
149
787
38
193
764
457
66
268
502
924
493
837
779
198
120
598
665
981
336
360
177
966
681
305
231
921
458
279
318
983
483
256
673
93
148
370
403
994
318
449
309
605
284
168
471
336
480
823
561
50
399
306
809
516
32
758
360
594
383
248
277
581
816
101
392
636
176
376
632
789
983
544
892
272
989
819
981
361
931
304
332
359
787
398
668
437
865
204
577
619
138
302
188
939
423
243
448
577
883
493
222
247
866
173
385
185
179
122
789
835
407
54
878
295
176
819
388
626
837
461
249
55
39
861
573
800
953
382
930
90
347
619
669
697
923
493
8
187
951
310
916
697
892
360
45
976
987
318
951
493
317
39
316
100
614
770
800
58
961
188
568
3
356
483
493
774
569
412
675
322
102
773
154
559
20
680
608
214
750
331
296
696
482
258
429
272
879
35
836
325
89
875
642
550
657
239
604
194
572
870
519
215
174
110
822
655
63
106
253
28
22
320
837
285
611
949
845
666
505
262
631
113
113
374
716
53
977
495
32
152
507
517
275
24
267
288
70
88
141
613
347
867
103
993
585
516
4
492
376
930
867
710
474
574
703
965
953
74
764
274
815
186
355
335
600
531
954
739
662
321
789
459
394
463
233
905
801
559
877
53
330
772
184
947
947
796
557
676
802
348
587
966
427
226
564
892
924
154
691
892
219
531
180
523
21
396
982
451
617
466
984
459
347
70
750
657
617
702
598
613
644
146
658
810
438
894
444
662
451
17
839
144
320
119
798
569
224
867
888
68
574
453
793
285
50
599
382
97
328
38
144
902
508
483
512
193
526
743
396
276
958
137
348
33
675
949
901
550
497
947
465
147
413
629
710
311
668
412
828
262
319
115
355
236
964
824
105
648
53
478
458
154
629
692
271
462
462
598
391
643
380
122
1
577
540
121
493
352
213
531
36
14
771
535
949
699
581
951
893
356
120
850
122
720
968
582
215
342
213
572
507
334
768
314
839
435
272
305
220
838
197
246
271
317
209
981
433
362
413
227
436
313
489
907
878
482
182
709
925
785
359
559
27
488
967
566
298
586
243
624
603
984
800
635
493
559
70
387
75
284
82
148
489
951
454
364
956
237
25
829
518
689
899
699
81
477
897
217
229
935
511
308
6
105
641
909
994
838
348
532
894
817
493
566
945
248
124
935
791
371
185
127
996
736
689
248
617
153
567
499
388
408
731
586
632
7
369
162
67
251
914
940
860
318
484
369
492
922
94
78
918
741
587
218
272
783
295
743
165
633
814
234
467
515
747
153
851
26
520
321
740
698
519
157
279
891
158
767
908
707
481
934
249
516
10
698
929
198
477
309
165
19
952
114
459
882
459
728
919
426
385
310
838
213
429
462
908
239
315
142
753
428
107
960
867
671
542
679
171
446
990
832
950
536
429
546
143
543
23
688
170
49
823
733
474
937
210
425
587
771
286
441
190
272
146
952
203
159
130
136
268
711
183
684
215
781
418
235
932
33
419
390
700
967
547
245
565
580
181
846
214
788
895
904
80
633
102
37
816
614
835
826
595
722
172
816
813
451
652
617
610
760
173
505
611
260
550
451
587
469
456
571
883
344
939
989
676
487
681
858
428
16
837
463
515
262
599
623
707
578
759
115
934
40
451
78
202
105
788
503
18
809
725
652
765
650
707
563
477
258
688
260
213
421
107
842
747
708
118
28
470
633
313
514
530
185
119
935
258
129
709
255
751
609
70
142
936
369
140
848
414
949
215
704
729
550
701
327
439
455
529
537
23
339
148
172
498
456
913
328
533
329
570
427
741
689
464
590
584
971
281
843
850
338
501
514
638
286
522
996
841
329
625
640
765
253
466
308
421
95
663
945
652
461
537
420
852
721
825
848
852
653
824
402
19
596
353
276
433
533
882
549
231
743
945
984
341
245
119
834
692
556
269
111
600
299
708
114
191
976
601
325
233
150
182
232
797
690
557
405
729
837
31
187
660
79
613
592
243
351
208
790
383
33
921
304
387
302
214
585
352
837
648
22
688
19
616
428
596
939
728
339
414
828
659
89
326
697
909
412
361
327
73
222
991
521
121
221
744
774
518
170
764
437
919
534
568
119
202
814
309
901
492
963
54
917
203
21
227
633
275
409
476
183
317
926
463
441
729
203
826
227
992
768
105
914
490
123
252
803
77
323
770
684
358
413
763
984
769
984
417
148
835
100
913
809
484
101
291
226
920
376
603
26
10
795
664
230
375
798
476
948
694
497
262
282
970
737
344
465
274
418
608
320
6
118
774
381
220
531
338
464
873
358
84
719
274
914
533
943
523
53
18
14
911
429
268
941
192
514
249
171
563
798
227
560
283
602
425
434
790
284
115
161
407
175
969
222
398
494
670
267
337
370
993
806
792
356
276
984
893
511
345
448
211
373
427
431
30
154
409
239
522
546
995
21
888
593
964
341
770
669
302
146
37
919
312
116
275
540
380
627
57
400
272
748
940
336
655
380
734
131
635
545
764
894
902
199
18
705
344
162
457
512
834
377
407
636
528
28
420
852
435
678
887
829
525
952
890
579
578
908
465
477
973
558
168
216
605
286
583
215
297
305
474
724
722
218
867
924
42
1
915
825
992
142
905
1
519
800
950
568
501
868
491
617
179
84
170
383
707
253
192
76
70
816
870
546
979
301
351
643
279
76
122
212
565
395
423
730
790
326
932
576
738
110
624
10
555
764
951
60
823
265
394
726
623
838
601
781
742
363
621
683
69
349
780
796
714
715
876
562
930
330
597
996
771
660
30
508
327
979
470
599
649
157
593
239
326
389
2
171
938
238
548
949
138
31
544
612
306
170
467
324
232
80
752
748
681
284
145
216
777
418
296
885
264
632
592
283
581
992
670
456
552
872
514
15
739
747
579
797
460
310
814
371
11
43
1
566
823
173
82
748
350
74
58
295
362
89
30
832
556
834
256
991
627
51
794
811
591
662
622
726
169
113
964
118
836
655
730
315
487
57
350
954
75
16
303
582
733
8
540
282
104
407
263
914
245
500
543
899
143
480
685
667
566
465
104
708
786
872
437
321
808
802
493
782
395
414
660
46
184
525
98
261
590
297
975
621
957
401
293
917
812
300
396
24
759
384
792
708
963
964
688
524
382
778
937
46
909
561
429
474
733
803
136
86
576
233
923
512
214
361
194
727
653
557
32
99
882
333
510
686
969
86
795
414
752
474
11
724
597
487
28
488
182
562
522
15
346
200
276
479
839
357
443
116
599
583
525
701
21
530
695
350
732
541
418
461
727
307
772
704
235
617
688
939
134
819
93
549
661
79
644
117
596
617
9
598
802
513
368
761
257
890
355
638
151
916
933
654
395
877
273
617
492
422
378
285
156
75
167
671
626
712
71
448
770
321
193
450
590
973
881
182
958
555
583
111
134
204
251
606
741
506
477
618
779
277
37
957
342
790
888
232
261
471
329
708
239
830
899
102
242
590
548
497
846
903
587
979
567
831
727
152
974
223
796
681
222
390
771
146
591
971
231
655
579
202
146
73
556
200
819
201
874
187
967
360
762
784
699
594
490
635
226
386
236
391
232
910
174
430
109
20
641
849
983
707
724
967
677
458
289
296
372
996
992
461
248
940
217
240
774
663
487
990
465
718
498
282
145
696
553
62
439
971
710
736
300
904
748
962
290
301
414
607
957
594
979
354
258
984
533
194
157
308
74
474
238
441
796
405
209
856
752
718
115
580
75
324
436
481
882
269
519
221
102
295
330
670
192
26
587
505
589
433
517
913
698
673
882
337
720
999
168
417
323
974
746
300
688
105
367
489
541
994
205
493
145
737
222
550
711
88
447
936
893
532
55
141
832
144
561
209
857
393
300
999
546
892
903
830
651
577
305
493
118
683
170
646
803
296
559
576
538
167
517
527
951
319
561
951
518
744
498
744
5
888
884
227
285
830
167
830
421
682
296
520
947
552
834
174
759
388
702
304
312
951
741
930
570
476
502
717
808
394
827
928
178
253
625
350
666
581
832
658
449
493
549
67
320
738
463
706
700
96
30
310
459
533
119
934
880
186
779
561
379
816
832
682
513
138
305
164
958
357
610
850
372
582
537
429
600
998
35
401
603
731
546
600
552
704
673
1
106
651
6
358
505
919
572
531
782
580
803
865
22
213
485
800
287
864
660
698
42
627
344
670
110
329
217
239
574
638
309
94
842
15
125
571
269
373
254
830
92
714
536
899
765
396
662
733
426
841
83
312
70
787
737
796
347
48
185
569
551
0
214
211
547
418
857
351
427
178
322
518
946
208
254
24
804
74
497
980
489
285
861
957
626
792
158
831
745
376
1
550
34
785
977
225
660
620
918
495
264
949
904
607
745
464
916
573
258
716
987
360
501
777
279
266
646
505
761
986
858
82
518
59
723
357
819
241
511
967
50
714
470
142
361
187
126
499
850
123
602
771
868
532
46
176
680
181
417
612
967
793
347
999
622
930
696
721
450
628
981
268
430
674
784
130
793
215
325
177
307
447
961
99
228
349
947
760
597
712
787
301
987
766
17
890
760
874
777
286
62
939
886
938
381
20
719
325
192
815
62
683
166
614
279
989
184
965
867
214
22
379
700
537
877
815
369
514
137
432
218
759
809
142
513
814
829
7
535
75
632
109
359
508
530
813
570
837
55
659
345
662
14
801
434
777
252
147
934
354
801
629
121
912
74
378
169
899
287
55
347
211
234
80
858
770
850
782
960
788
988
832
507
853
610
313
77
835
22
40
269
778
297
784
689
660
888
946
372
881
613
642
40
270
841
487
482
431
412
216
944
753
953
430
844
547
620
558
763
908
535
330
965
911
516
168
826
281
420
859
970
635
235
410
700
550
365
997
314
511
716
854
440
146
128
805
947
936
527
391
426
975
681
344
564
528
471
135
312
590
917
986
842
773
159
884
190
859
284
477
32
239
913
955
216
96
444
950
828
9
896
249
983
551
756
103
262
409
199
870
365
365
78
413
621
394
232
665
322
407
378
407
688
865
136
358
307
674
763
146
984
388
388
295
136
544
104
990
394
962
735
678
485
151
556
814
708
955
6
783
478
724
100
417
738
282
951
364
287
942
851
577
839
217
260
518
911
550
725
15
899
43
762
842
594
440
763
703
394
881
463
556
545
910
50
195
478
764
374
824
40
356
300
791
75
150
984
0
453
821
796
919
589
524
763
814
908
916
287
188
194
605
306
882
877
26
157
48
465
574
656
782
556
620
425
472
502
59
411
427
574
149
28
124
621
560
431
851
888
818
543
889
545
980
67
896
85
658
97
31
552
639
892
205
286
18
884
971
342
60
58
638
761
131
39
474
328
630
442
751
810
311
924
350
521
986
107
321
229
70
576
922
655
27
63
844
877
591
35
319
647
318
409
791
975
460
905
284
469
723
971
444
843
236
65
587
372
315
265
793
3
541
884
509
952
366
957
348
543
424
330
343
881
192
940
195
468
266
533
616
52
772
825
323
224
730
362
218
169
531
668
41
703
950
702
337
630
966
549
321
768
474
808
892
606
875
906
493
636
362
114
908
610
311
941
551
409
7
896
864
114
197
777
966
319
342
869
108
24
94
356
407
889
731
739
483
317
127
762
218
33
959
241
151
216
27
773
600
744
626
791
806
873
754
234
831
650
730
766
556
602
132
775
377
524
373
17
574
326
913
822
595
437
0
62
237
748
799
629
33
9
134
780
731
712
546
90
40
268
523
679
157
51
518
917
475
441
717
821
877
778
896
169
299
652
286
276
136
9
281
796
486
510
217
509
759
123
888
260
887
479
134
190
283
911
930
649
179
208
348
194
7
123
30
373
608
229
896
874
532
264
516
349
877
58
510
668
73
683
98
959
55
589
299
769
541
830
536
162
283
123
988
544
465
189
382
143
988
502
678
454
119
106
484
297
43
809
591
157
942
14
197
164
450
81
800
88
417
638
262
774
902
953
603
254
234
855
606
361
306
617
358
467
212
574
525
450
189
323
830
425
843
590
512
87
496
181
532
974
438
685
892
351
876
702
448
328
610
453
127
407
887
202
684
555
708
755
60
875
223
140
888
927
264
263
989
312
236
959
557
785
477
714
782
20
485
351
901
881
638
104
351
724
504
331
330
535
829
220
608
263
784
714
361
231
888
132
625
126
294
531
344
711
403
795
866
29
488
721
785
278
1
645
145
918
90
153
557
2
546
367
801
804
112
386
935
155
398
535
122
126
445
687
841
207
524
131
781
736
552
783
24
881
492
340
36
49
37
132
263
316
586
163
313
7
699
513
463
839
986
594
177
751
647
691
342
328
707
606
759
866
919
774
824
544
767
759
570
884
166
844
38
390
885
902
371
890
273
855
163
5
286
449
445
66
663
340
907
946
416
870
675
644
555
837
196
76
525
761
728
75
960
460
26
536
668
374
844
553
728
644
915
910
148
689
334
306
120
499
848
395
385
231
396
910
920
309
646
969
438
117
594
28
420
966
165
656
974
723
349
551
847
376
832
896
80
385
359
296
803
413
397
476
486
121
38
255
808
590
414
547
60
313
349
319
334
970
395
297
120
87
416
676
223
667
484
345
760
89
568
582
633
552
451
718
153
934
226
598
737
904
134
11
652
549
152
560
931
87
99
174
18
205
58
749
120
411
839
195
503
947
903
218
978
341
255
75
841
994
674
719
878
341
956
502
105
642
815
710
86
920
657
917
315
158
21
973
689
223
690
782
463
12
492
72
632
867
495
775
713
767
572
831
122
965
902
443
162
28
152
821
517
330
495
395
374
554
217
113
593
525
322
264
739
567
809
494
344
17
752
170
249
30
318
777
23
104
470
713
565
536
627
676
525
904
49
342
734
971
759
124
992
855
391
949
615
860
690
813
358
21
510
993
367
608
0
698
678
638
538
778
431
411
145
799
854
824
23
872
986
146
592
264
89
371
548
954
79
903
949
651
375
235
606
734
425
841
865
978
27
281
214
641
310
676
313
819
11
5
361
953
969
836
23
75
965
120
294
743
50
683
470
851
497
215
979
282
156
405
130
971
550
761
430
734
163
799
78
195
731
493
154
195
783
393
683
942
374
435
999
695
31
955
234
502
554
425
458
121
598
239
865
490
24
855
378
401
719
363
52
58
401
576
183
663
412
23
53
896
672
347
657
32
753
832
934
635
54
174
481
552
560
489
415
20
242
79
813
910
195
280
162
135
733
241
64
219
557
404
763
478
724
906
74
13
523
862
681
249
170
599
669
942
542
971
788
238
297
603
354
30
333
894
415
968
878
836
370
659
468
951
389
515
998
446
147
518
132
586
854
570
658
520
473
519
165
231
142
247
812
680
490
881
89
406
673
777
362
881
712
348
205
143
838
81
396
51
160
193
947
209
17
354
598
599
171
275
919
831
564
910
122
20
655
904
700
507
615
330
251
307
166
3
748
785
204
9
816
537
625
56
501
301
853
189
575
591
525
375
47
466
591
68
596
590
913
711
200
953
781
554
296
686
453
670
637
992
954
457
5
998
363
924
915
833
666
698
838
541
366
668
384
821
321
817
154
820
893
366
358
283
992
26
160
510
20
444
14
23
841
901
869
471
358
859
748
426
811
947
412
33
795
387
260
541
988
531
927
891
843
829
567
516
236
587
551
705
669
234
526
583
4
570
197
880
268
389
845
853
399
740
732
290
714
69
596
518
194
331
574
140
875
889
548
771
664
87
986
666
890
405
336
590
124
784
583
204
551
17
851
566
685
178
234
307
278
543
681
659
851
773
227
143
438
36
765
194
373
450
782
768
943
250
820
760
251
314
797
530
792
134
871
722
194
193
528
317
553
25
437
681
807
763
121
158
868
413
534
337
687
54
908
932
737
627
843
508
158
290
70
989
160
485
822
901
621
181
707
829
36
476
989
722
19
582
416
117
228
428
207
675
20
530
433
282
582
719
376
440
629
920
525
319
963
330
570
963
161
64
4
138
138
235
335
760
741
751
529
625
286
696
905
342
197
792
581
264
382
35
636
796
992
68
328
401
300
595
380
813
283
665
125
8
999
591
760
793
984
771
142
133
334
486
33
876
720
727
595
896
64
487
712
862
846
290
96
921
411
206
91
915
695
831
556
536
290
887
454
833
776
877
772
262
604
48
349
156
883
55
126
852
81
351
660
145
375
780
437
146
880
40
51
106
654
109
146
476
730
819
597
279
69
478
828
449
274
848
869
383
894
653
691
253
116
857
529
855
717
516
144
437
946
94
935
154
306
115
562
570
626
152
731
842
114
250
760
480
493
397
34
610
45
514
489
89
845
35
156
366
821
890
244
874
888
556
548
775
815
898
971
463
839
440
674
745
933
930
514
549
56
89
453
152
868
115
560
636
892
245
693
562
42
457
127
993
254
834
586
802
694
894
714
341
160
708
428
823
628
789
501
752
512
349
421
2
956
53
416
672
792
548
737
438
526
826
666
626
952
745
257
107
637
424
957
519
998
64
646
124
487
638
946
136
886
798
379
812
675
965
154
696
915
892
715
945
21
102
595
311
830
128
817
669
167
367
881
882
742
978
862
397
908
111
65
42
242
686
96
368
522
876
192
505
714
447
191
426
417
72
886
853
484
802
220
805
764
771
501
275
868
273
587
505
842
432
685
831
651
935
827
387
581
977
804
24
163
660
650
225
455
465
826
730
567
83
316
510
412
2
145
727
704
586
357
936
113
412
802
105
279
299
509
79
67
737
533
680
436
213
724
353
572
797
978
827
495
221
421
143
81
729
398
794
700
619
898
43
615
5
80
698
125
739
148
43
418
564
11
246
19
245
159
315
653
149
495
976
640
46
699
207
836
480
761
37
392
254
10
804
709
617
109
308
710
660
269
985
560
161
690
504
354
505
727
259
506
247
307
915
210
348
700
280
581
385
770
853
242
921
292
297
913
495
941
876
994
450
606
467
953
317
199
308
200
399
776
950
62
525
761
702
965
823
893
97
857
982
563
466
166
419
89
162
366
480
16
735
727
142
872
549
49
462
209
555
399
653
583
345
542
476
443
852
400
405
693
98
252
17
696
362
62
855
909
959
69
803
184
660
673
132
206
648
628
89
741
341
559
575
538
540
446
376
666
275
440
962
335
138
101
72
273
695
179
943
290
739
523
98
698
123
514
429
951
947
699
145
262
650
146
504
41
669
828
76
677
258
721
700
617
190
36
905
567
98
968
461
874
352
52
481
579
414
711
388
367
716
258
231
477
374
639
644
573
20
709
527
167
717
847
724
930
191
605
974
220
522
867
409
111
318
659
159
653
64
110
259
414
522
354
106
705
571
318
704
56
562
998
845
393
94
469
400
986
584
915
464
464
818
614
111
515
272
970
585
528
606
870
725
475
624
216
910
221
431
521
421
162
851
232
344
896
27
303
8
442
772
725
900
3
859
35
478
334
996
908
636
166
569
869
120
256
514
910
902
427
979
747
183
424
174
838
246
718
712
371
476
437
675
613
242
863
597
326
700
631
240
807
774
336
288
917
484
114
739
108
892
391
584
664
237
621
122
796
728
747
157
6
691
378
889
698
237
52
86
759
594
977
430
855
431
270
889
116
457
245
431
371
33
240
967
410
957
561
18
406
354
676
807
109
757
823
385
461
834
389
792
340
651
782
225
936
888
270
101
793
704
685
362
405
254
71
250
302
339
620
404
198
15
256
982
487
216
195
559
552
682
528
961
589
152
821
678
544
89
937
606
740
915
748
266
718
645
177
9
943
753
574
37
820
527
775
584
668
511
255
984
846
972
948
864
152
641
522
682
738
774
905
748
381
201
998
320
918
184
480
598
853
328
22
301
104
515
858
437
18
365
524
864
158
646
89
896
358
664
843
903
372
927
495
978
87
865
42
847
503
830
251
304
879
761
70
398
251
932
215
937
60
324
723
684
601
161
831
318
193
346
180
220
902
135
512
876
551
414
793
348
465
581
95
308
982
554
26
243
632
752
23
913
772
925
54
741
632
864
983
81
365
147
314
434
371
668
491
825
107
576
791
806
113
630
385
166
134
365
215
695
855
865
436
257
861
395
232
740
794
455
891
466
722
40
571
535
338
283
665
224
318
202
289
939
130
176
183
399
628
184
540
89
132
398
581
135
576
72
156
660
923
887
273
249
417
950
1
714
939
401
319
892
487
613
892
353
26
637
588
594
941
803
134
493
131
997
264
839
835
470
542
921
794
646
88
740
893
456
864
610
302
544
15
31
88
674
735
899
571
13
727
123
389
955
275
333
510
59
49
626
453
960
131
197
794
761
488
114
495
470
933
681
715
435
4
955
871
33
809
70
152
936
750
803
72
238
159
628
617
143
314
493
882
612
57
604
876
639
602
49
867
403
524
467
715
649
569
649
173
51
311
596
810
30
811
407
585
685
387
498
66
329
463
378
818
947
561
37
828
890
271
816
664
464
147
681
44
721
31
24
363
686
334
669
230
165
604
22
524
943
374
93
511
42
293
982
234
40
766
238
187
688
79
483
69
237
804
691
33
817
333
0
499
477
576
2
639
922
677
666
733
680
724
814
797
345
982
922
651
588
340
221
490
915
210
509
957
690
160
750
108
927
351
289
717
338
710
342
140
892
613
233
435
499
534
59
698
923
577
578
257
350
361
40
942
193
625
583
246
352
79
422
548
42
794
926
48
986
673
489
78
552
318
661
976
999
530
940
725
348
827
298
485
240
24
617
122
883
30
983
81
2
313
267
814
33
507
347
845
250
281
60
496
853
160
891
964
160
417
22
978
695
60
477
998
624
640
602
47
737
294
654
288
424
785
157
746
686
589
272
76
51
357
772
919
989
460
977
771
533
752
739
3
589
43
316
518
992
309
62
648
546
523
12
421
745
441
741
949
794
482
890
930
845
372
909
279
507
265
7
755
791
980
766
279
934
368
616
460
819
881
122
911
315
673
274
600
1
375
96
405
17
702
322
10
323
561
489
356
115
183
459
279
240
379
979
253
131
591
647
178
444
695
299
437
575
763
651
467
676
904
764
709
637
237
608
615
30
725
183
329
699
490
978
45
181
532
143
578
381
264
806
623
529
822
888
993
805
983
292
794
405
256
223
308
786
493
182
882
545
999
808
924
393
77
396
614
958
397
273
953
543
142
8
68
295
106
951
716
105
370
563
932
875
964
726
125
799
712
305
568
612
755
487
260
63
578
591
673
718
332
560
328
244
658
895
435
141
368
613
763
356
869
717
888
78
851
809
626
234
387
828
648
327
355
328
504
646
282
40
793
11
45
574
647
360
657
276
652
722
15
949
73
802
248
218
41
1
520
833
445
916
59
470
755
715
928
136
748
460
937
831
430
493
687
108
422
86
278
683
737
872
234
730
781
934
843
609
465
920
610
964
195
633
245
959
915
138
942
839
244
847
910
847
889
117
113
76
713
19
319
543
136
224
573
323
997
953
971
172
695
884
740
31
596
31
105
495
378
863
208
421
483
507
915
504
890
329
733
132
553
415
438
875
296
744
969
195
441
849
328
159
986
722
213
982
262
654
760
92
300
10
256
755
418
497
203
583
243
929
639
474
335
573
351
446
124
768
249
231
437
871
236
402
197
180
689
739
311
367
509
438
974
924
179
943
734
148
751
522
122
338
630
917
816
820
522
616
854
962
213
188
519
80
62
519
795
747
657
781
369
922
381
508
118
740
106
377
916
307
384
676
837
92
286
988
808
513
73
648
384
543
996
308
435
802
443
704
5
431
721
712
868
162
608
54
738
88
493
341
305
354
529
158
314
785
983
970
115
81
90
410
426
907
923
617
979
527
663
96
687
251
637
189
295
315
306
780
213
130
572
345
682
394
569
922
718
432
519
318
476
777
995
327
248
501
585
475
878
715
488
521
340
240
149
101
521
266
716
386
530
8
517
846
75
126
661
12
336
791
589
763
47
101
888
930
65
543
35
247
721
146
189
61
552
891
560
931
237
467
266
340
7
65
901
87
84
352
247
293
93
165
34
246
546
202
334
148
258
27
770
61
821
320
977
622
26
773
885
533
209
748
896
207
829
199
294
572
600
692
324
379
808
786
600
513
788
896
205
426
116
727
997
377
830
33
345
294
728
475
189
577
418
120
260
942
925
298
236
919
210
31
988
958
66
754
711
395
953
888
3
826
747
194
751
266
690
361
866
299
822
956
429
883
57
6
158
64
496
234
154
480
849
862
398
851
802
262
423
101
998
715
458
196
70
865
736
293
856
530
58
20
654
202
919
764
88
904
163
187
885
366
184
877
938
343
472
870
843
825
525
155
836
678
357
126
279
825
373
837
490
428
327
519
577
79
737
844
344
119
601
665
500
853
679
369
403
894
952
947
682
949
738
725
836
303
939
923
664
963
535
112
768
402
247
224
678
203
905
243
838
206
528
12
838
959
443
261
797
207
571
288
474
610
562
196
247
259
13
84
959
345
674
368
846
403
304
472
32
260
131
0
526
784
726
869
229
693
274
340
625
999
156
194
998
766
85
147
663
442
21
669
777
384
664
137
373
708
765
863
861
51
25
550
135
998
992
777
614
641
960
302
345
530
696
490
807
303
636
756
389
977
324
187
580
731
819
3
217
957
885
973
877
283
325
296
648
774
367
827
103
939
117
345
964
655
972
677
494
589
60
594
495
472
755
250
203
178
568
386
160
963
720
839
544
856
266
635
159
667
348
488
467
583
347
958
542
418
383
67
587
949
652
521
941
510
138
863
671
945
435
344
958
766
92
397
386
633
695
461
73
243
380
746
507
99
464
581
469
689
166
666
607
733
108
485
917
955
195
966
478
154
132
450
424
218
17
744
279
361
890
997
59
677
473
621
142
808
251
701
902
195
242
679
799
153
467
662
226
717
305
450
171
971
727
10
407
940
507
183
596
562
429
955
655
859
174
168
820
650
141
643
140
204
870
174
843
795
850
569
993
110
857
482
550
740
717
239
362
584
544
105
7
62
20
573
860
53
160
841
689
769
982
35
58
213
641
753
737
214
725
437
876
375
921
740
633
628
181
186
109
607
372
781
88
231
378
644
537
109
190
677
416
764
94
40
217
263
342
750
147
529
664
89
77
353
37
944
325
595
850
897
326
395
677
669
253
851
151
347
122
423
871
764
899
443
671
22
503
507
742
919
917
362
619
651
306
135
789
800
253
308
872
958
184
745
845
829
133
761
895
152
21
851
152
102
886
73
885
926
676
344
747
845
762
291
10
137
890
452
50
349
153
729
313
547
551
199
745
459
60
124
157
50
487
803
657
165
471
816
972
948
864
900
453
465
341
430
88
777
318
307
805
239
198
526
806
499
508
943
213
733
263
454
815
486
978
888
243
559
766
115
458
670
938
745
464
916
46
960
224
131
758
512
137
216
733
680
888
832
633
126
116
192
806
385
729
25
229
976
527
211
753
859
597
381
691
767
939
824
61
649
239
941
851
891
369
364
909
370
97
354
718
501
942
827
811
997
999
728
79
583
717
867
497
514
140
727
797
810
930
986
679
700
753
318
554
333
189
908
534
513
859
313
918
993
655
633
403
356
557
990
265
904
437
397
20
123
410
972
958
0
363
443
160
40
209
242
1
375
446
219
33
463
161
185
517
163
954
725
307
48
147
104
871
292
922
185
438
563
550
33
431
507
42
165
376
220
440
556
91
730
320
522
461
686
872
864
31
707
813
299
308
420
878
540
373
84
783
227
469
452
533
950
362
658
474
957
959
908
939
927
92
359
779
830
278
636
872
423
104
400
620
753
417
681
50
137
834
503
494
890
765
446
125
243
21
484
814
503
334
882
216
487
83
909
409
935
790
158
664
27
507
182
710
3
285
279
546
29
967
708
518
6
639
934
101
517
918
121
487
461
579
319
568
343
199
466
168
646
182
648
109
596
16
852
399
710
122
768
951
990
621
939
185
338
971
208
351
534
886
102
128
422
179
323
796
686
506
614
720
734
231
528
430
992
951
642
105
507
88
311
875
681
578
107
387
393
330
525
23
100
973
665
562
577
656
514
200
982
293
997
788
597
83
66
848
93
635
106
476
451
3
133
564
763
317
35
951
632
598
18
570
696
618
121
147
27
802
294
20
746
274
666
31
926
980
552
307
391
8
177
573
668
819
61
592
502
570
640
640
281
846
712
67
471
921
928
869
533
536
777
342
922
187
809
690
20
982
39
272
608
488
95
608
370
651
959
500
755
815
255
551
621
230
190
37
274
349
114
207
535
947
869
737
655
236
320
812
854
861
921
408
668
788
540
73
405
150
203
553
529
713
730
842
823
869
990
442
796
962
345
654
902
314
780
400
727
386
983
81
750
366
418
898
843
715
976
3
117
774
919
93
782
616
472
318
857
134
826
146
482
954
652
430
177
423
589
233
807
921
31
793
201
796
50
537
588
732
91
584
73
651
940
129
266
165
681
459
497
319
10
988
865
966
646
724
211
497
837
542
851
626
464
937
594
712
188
863
225
240
936
602
14
159
600
128
355
274
972
481
23
65
886
205
559
487
122
572
324
322
151
355
408
232
571
571
228
618
145
510
917
0
200
986
538
536
671
160
409
784
500
282
615
445
885
539
623
549
309
420
926
991
127
575
144
558
562
172
621
772
983
201
791
485
696
267
383
968
378
378
380
797
495
260
46
565
11
697
529
128
105
660
505
956
940
716
361
177
564
89
187
782
917
564
735
599
297
673
132
770
606
512
8
837
313
801
760
565
206
491
410
140
71
52
865
938
222
487
838
119
37
448
774
265
556
815
672
768
571
851
971
213
520
467
946
271
841
211
633
368
970
52
295
442
91
581
505
64
430
411
570
35
62
257
681
791
46
126
32
463
157
801
710
297
326
872
238
408
286
212
70
264
431
461
739
40
495
800
153
339
776
25
773
349
228
804
847
83
824
930
336
458
282
416
6
857
802
874
724
669
632
708
896
543
234
190
976
569
158
154
975
555
227
705
555
698
787
963
227
196
386
424
425
291
227
286
711
923
645
417
878
471
919
216
140
832
581
188
295
274
928
91
198
427
579
411
600
566
124
611
532
419
752
28
941
44
834
258
425
104
937
201
674
431
109
730
379
994
582
255
189
672
815
533
752
806
862
619
911
40
243
467
305
60
196
621
217
106
92
68
635
800
673
770
433
887
539
236
244
431
200
700
826
953
255
832
128
379
893
689
341
167
284
925
204
510
118
4
67
398
919
215
560
594
532
933
702
122
169
662
292
63
649
110
752
229
620
260
782
641
227
141
868
995
87
522
892
469
451
451
657
167
101
210
941
381
800
210
235
373
973
862
925
28
502
745
53
69
117
952
195
850
348
827
583
571
206
462
48
843
582
909
919
738
606
421
138
53
183
354
0
142
287
51
495
754
180
479
162
812
182
538
19
592
70
427
910
857
493
346
920
741
600
228
788
674
422
177
960
361
674
401
47
665
118
913
969
795
831
880
678
56
769
75
562
581
964
22
494
305
377
719
574
473
720
282
753
854
686
662
713
329
188
364
654
182
741
47
58
552
496
482
240
47
919
511
450
831
484
200
405
265
723
457
904
174
420
919
311
736
457
398
478
681
731
70
111
878
947
394
285
593
931
395
471
227
451
142
842
485
874
603
822
216
962
701
557
664
113
486
843
142
66
622
428
166
541
550
179
579
554
183
505
996
351
806
860
512
494
980
951
928
271
533
584
685
553
715
851
1
390
229
169
382
751
885
571
377
57
573
326
373
699
445
490
235
27
898
180
740
546
556
727
177
825
584
343
826
745
901
609
601
349
295
3
414
124
113
968
388
489
777
942
733
217
358
657
645
652
728
999
940
776
281
737
32
679
83
901
813
350
911
952
467
465
694
536
755
197
401
971
921
681
111
976
391
517
111
800
618
102
163
446
97
831
697
518
694
702
628
915
491
939
487
467
987
491
305
566
390
473
884
191
374
730
909
338
964
733
876
204
918
266
735
761
778
881
605
25
664
554
465
301
920
219
783
645
899
29
43
334
427
489
692
575
482
698
954
432
527
644
78
3
708
835
14
418
266
614
805
647
623
519
558
658
157
357
69
530
38
847
491
544
423
287
53
534
209
207
55
120
192
770
172
893
509
165
318
603
89
39
52
826
714
578
840
381
922
437
734
773
449
361
797
464
999
722
178
29
778
591
862
648
654
906
699
167
266
728
283
329
16
308
852
954
298
446
752
804
311
536
542
623
784
168
837
559
390
212
792
522
547
363
72
422
103
160
551
289
902
734
137
559
442
913
5
576
737
269
265
747
293
194
239
739
832
784
333
313
111
157
649
288
424
912
991
17
187
524
58
363
17
542
632
383
526
445
354
784
698
192
935
229
996
612
96
497
452
765
267
223
160
853
35
156
34
471
406
715
242
478
105
415
74
956
667
357
929
839
703
753
375
879
730
722
960
509
757
719
615
997
663
929
432
352
186
289
293
270
87
303
470
658
853
3
459
529
474
954
554
674
687
696
640
159
261
443
947
672
327
443
458
879
340
569
571
193
495
130
711
329
240
958
707
617
697
571
344
760
736
720
913
97
297
177
114
469
897
0
936
337
449
795
679
806
600
117
721
519
654
515
791
482
155
165
540
687
877
662
138
723
716
638
530
535
90
22
320
796
964
943
854
400
133
675
53
274
678
493
887
775
247
2
346
266
622
196
33
80
212
42
82
680
570
674
986
240
2
909
32
501
880
834
447
876
525
37
69
680
523
4
527
499
196
640
591
57
159
217
278
79
361
738
460
806
513
300
919
103
910
99
481
743
942
790
513
455
772
563
666
446
620
119
667
214
384
430
170
889
781
111
682
358
407
77
506
899
21
272
614
570
329
109
719
973
122
772
224
201
477
605
391
876
516
875
384
567
85
360
554
10
373
729
521
72
219
214
247
693
796
253
353
359
139
625
848
174
255
603
480
556
551
467
611
890
828
592
211
782
396
742
482
448
852
766
166
136
878
17
765
168
741
473
987
262
86
42
665
286
376
732
316
240
247
608
902
563
194
36
547
51
978
48
605
738
370
733
508
163
102
997
822
581
69
748
956
905
156
411
403
874
504
817
519
880
858
126
923
845
604
379
743
233
989
940
114
713
294
36
513
621
253
921
625
331
83
49
910
603
953
479
411
896
946
546
296
377
6
22
32
748
172
982
0
687
718
596
392
223
270
131
110
879
433
968
862
891
0
229
80
141
183
720
793
703
527
636
982
600
312
547
787
585
596
289
614
118
763
917
126
322
989
100
18
268
291
754
685
833
114
188
552
655
4
928
627
12
451
201
577
722
944
59
70
50
864
716
285
177
634
784
442
788
15
59
373
863
955
773
799
657
413
146
669
237
815
89
675
221
495
176
600
856
591
558
953
565
752
640
721
931
372
916
512
989
343
885
14
895
909
297
967
939
50
82
397
103
179
566
507
29
917
876
431
449
443
503
802
141
633
866
222
710
12
22
768
472
815
273
93
472
346
270
670
539
187
714
719
716
724
554
996
487
709
286
655
255
193
379
96
417
397
996
201
83
759
743
984
442
804
163
318
745
863
785
683
219
280
0
830
94
204
511
166
945
509
784
102
839
732
565
540
460
484
92
212
768
754
632
435
710
384
698
761
979
73
355
306
562
649
4
694
829
862
752
871
401
115
93
104
839
274
557
381
40
560
811
875
540
620
512
900
658
972
693
991
247
703
804
204
405
544
828
824
405
705
351
473
620
173
947
883
371
564
397
802
596
406
672
429
975
772
742
228
477
228
180
791
727
400
56
645
397
762
322
909
595
20
233
445
379
208
778
796
731
911
769
292
194
884
174
391
547
907
683
924
598
217
769
6
137
112
555
245
697
514
801
388
383
669
171
786
449
989
161
332
820
408
312
336
400
280
254
781
278
568
956
950
303
686
232
285
726
496
739
956
182
445
794
698
777
795
606
315
98
685
177
523
522
21
489
969
120
84
551
861
256
355
803
972
197
314
539
520
265
879
309
588
593
989
563
740
683
285
582
94
350
198
559
235
425
56
321
321
926
110
198
259
176
159
847
341
794
493
890
40
662
27
65
533
582
828
161
352
925
735
784
42
579
259
901
701
628
342
374
888
106
269
378
908
402
363
990
849
934
9
593
34
80
192
566
367
866
309
124
557
167
666
945
401
714
302
653
651
74
236
671
49
357
44
656
624
617
439
381
734
435
758
214
426
101
156
619
38
192
647
458
222
198
932
166
701
976
144
841
11
539
396
639
47
650
365
942
829
38
818
849
123
4
927
444
156
744
193
384
912
41
626
335
422
101
392
40
208
138
696
121
744
489
35
195
653
746
718
785
468
171
614
475
61
696
855
880
60
711
632
48
949
353
649
965
939
688
435
858
208
115
963
502
894
705
397
946
163
774
514
867
556
205
163
124
327
828
347
359
976
900
212
947
840
137
31
724
303
291
269
18
852
556
71
108
702
488
201
144
771
616
345
227
50
656
83
686
240
779
307
600
722
60
735
186
426
710
74
910
255
993
661
519
829
848
970
648
707
593
396
327
52
99
72
43
855
863
834
751
829
37
742
719
11
564
486
421
759
749
234
398
816
960
781
391
535
665
950
456
589
760
667
885
134
118
12
802
162
776
351
844
7
923
691
662
728
921
94
258
401
254
799
416
46
785
177
534
391
88
308
701
261
973
857
337
308
909
345
349
496
168
508
446
169
693
657
571
186
399
42
923
638
379
700
101
167
448
375
673
964
298
299
277
243
913
747
160
505
175
928
279
214
559
237
269
57
168
20
56
19
176
203
857
893
637
222
297
515
236
51
237
355
666
122
291
906
171
10
607
588
712
214
583
423
743
177
699
37
945
143
838
24
738
578
27
859
412
398
290
568
939
278
368
200
171
751
27
334
418
665
801
274
82
548
307
799
193
675
99
434
763
747
661
649
964
287
975
946
306
897
81
59
378
556
273
753
676
185
132
811
467
716
749
803
664
397
83
285
823
934
157
976
445
296
625
16
495
995
379
861
115
74
256
394
809
755
320
725
55
529
802
903
341
537
722
753
305
463
230
729
702
348
774
583
765
229
971
483
366
303
291
144
834
988
552
842
473
878
655
877
386
266
63
39
227
320
385
173
31
872
129
224
522
314
593
524
552
371
141
377
141
234
460
105
553
495
4
520
913
640
592
685
418
258
13
724
546
822
533
991
233
812
457
856
393
342
202
840
673
114
789
379
308
940
946
267
417
779
308
743
539
26
968
318
790
82
287
160
192
856
715
716
324
191
888
212
983
102
262
645
81
391
652
119
681
573
244
196
263
815
455
396
916
114
248
776
757
627
617
454
558
261
223
701
162
242
113
505
423
33
92
336
972
850
347
518
483
389
609
87
257
328
203
300
984
74
871
861
579
368
563
633
729
441
881
327
604
455
556
192
293
645
771
477
500
578
349
375
315
280
923
534
592
961
965
294
305
169
612
59
962
860
467
874
947
390
746
535
265
263
371
180
370
996
134
879
908
733
674
827
524
203
848
764
937
921
936
160
805
937
185
731
823
94
620
993
947
462
262
25
683
660
333
295
84
444
792
686
10
682
703
642
991
854
121
649
608
421
159
774
103
566
66
840
107
828
787
500
866
479
306
480
231
667
962
872
51
101
574
103
625
768
748
382
25
788
478
200
601
867
155
34
464
428
25
789
672
62
717
655
762
412
294
623
761
980
316
487
472
231
22
975
897
316
12
210
630
148
501
269
221
792
181
36
228
896
627
99
631
407
397
488
600
160
867
997
192
499
35
661
353
168
583
965
844
263
77
828
370
372
50
220
915
462
626
976
318
226
756
411
110
308
346
960
700
453
49
3
480
346
437
95
105
959
309
285
486
407
616
208
63
326
21
790
955
664
495
781
949
964
235
672
575
368
604
70
647
776
713
525
3
567
171
577
474
588
609
759
196
425
204
712
357
106
204
291
97
932
279
156
364
966
840
294
121
359
968
577
759
617
447
855
327
93
524
251
703
666
22
804
763
905
482
350
758
130
454
427
699
107
668
289
858
236
468
352
950
669
554
219
775
46
998
1
942
883
95
429
718
494
872
388
920
359
663
300
585
593
422
729
906
245
994
74
373
261
643
303
555
358
727
693
946
331
198
238
940
500
109
461
792
257
185
100
728
732
488
957
520
308
429
436
92
399
165
68
394
697
905
229
169
598
330
660
743
769
446
474
903
900
133
268
72
739
11
570
365
441
296
436
165
150
938
954
990
498
748
364
84
879
262
503
329
883
170
974
508
422
953
521
438
742
547
561
198
376
778
945
301
26
884
3
456
399
412
819
298
314
61
88
961
590
976
308
126
268
850
298
843
36
194
281
292
104
781
206
616
549
595
881
191
507
970
654
300
274
522
95
618
89
90
925
900
211
621
509
939
622
352
765
934
909
180
779
348
152
640
174
85
263
338
891
184
941
951
611
766
316
275
402
781
356
132
105
640
13
750
446
415
739
291
56
403
909
822
69
32
80
203
889
204
141
273
291
829
870
482
817
445
735
720
235
571
343
959
363
64
400
958
68
116
108
840
148
381
652
908
221
993
868
211
366
189
320
454
860
154
372
21
735
623
732
343
18
809
56
656
336
793
689
140
599
773
275
557
594
473
192
17
978
380
379
349
545
221
858
940
134
116
681
412
13
753
0
315
943
908
736
290
984
162
19
140
87
740
151
803
790
274
719
951
43
355
745
790
198
636
550
341
992
408
620
141
0
871
290
868
70
87
892
315
538
386
806
189
921
904
628
539
489
62
661
952
520
517
92
885
930
430
800
913
928
196
780
497
609
32
780
56
388
565
857
937
371
859
92
386
30
702
442
607
565
413
287
246
944
341
497
342
914
447
432
673
776
9
528
397
47
924
10
572
736
538
653
716
917
458
187
327
727
581
730
71
95
840
425
119
530
118
133
99
5
152
156
696
902
65
415
170
40
517
63
331
527
629
368
283
64
510
534
440
56
417
147
31
272
365
600
414
486
2
145
685
814
724
643
614
172
635
940
56
720
181
813
122
506
906
378
949
845
25
633
865
614
823
770
196
248
639
131
160
867
999
895
546
559
601
929
38
760
816
642
52
595
123
50
348
189
357
708
709
38
413
189
623
33
664
183
469
11
565
895
578
100
983
452
547
731
141
833
199
494
154
726
845
522
566
463
231
947
433
927
864
466
2
183
944
973
599
719
176
661
585
65
922
20
615
153
151
622
152
678
431
87
348
424
553
731
7
395
952
613
435
539
44
93
79
158
725
684
572
393
755
667
307
317
573
254
429
538
164
960
828
289
324
670
407
275
561
387
194
942
326
952
592
190
238
973
951
960
247
781
976
153
501
158
46
797
666
718
988
826
918
49
94
678
408
812
331
691
194
986
77
634
919
69
939
472
350
333
545
285
881
576
48
839
560
724
929
312
263
8
826
900
733
946
366
727
117
122
990
156
513
796
558
380
252
12
31
45
728
324
189
352
452
298
118
470
159
439
612
855
745
809
323
473
100
210
608
376
773
222
897
197
73
914
851
868
90
612
664
761
604
154
421
182
557
900
925
585
947
830
765
691
873
467
512
486
603
634
135
544
836
762
778
234
314
490
576
398
858
565
814
989
988
289
951
688
506
956
632
180
139
437
387
910
370
437
999
514
570
798
88
99
340
217
857
493
844
171
839
864
145
370
397
156
632
384
931
642
152
229
537
602
533
251
964
822
452
671
404
339
424
61
364
968
971
371
93
192
737
733
146
621
700
105
728
533
89
243
689
707
274
313
964
650
163
373
397
843
717
136
920
903
252
867
828
18
109
696
987
403
606
422
699
0
994
10
251
35
993
228
842
707
316
768
511
501
927
695
707
154
973
285
47
522
763
129
40
453
463
945
973
347
144
519
965
91
234
329
639
592
647
161
81
662
239
771
475
408
906
839
447
861
925
307
672
239
211
821
122
584
722
241
831
362
358
233
512
301
259
876
161
653
949
53
80
676
634
609
852
458
890
939
423
613
636
70
678
878
89
46
513
774
648
711
814
632
629
421
203
419
964
403
545
243
996
874
930
553
382
698
977
483
372
395
914
190
497
790
169
699
744
11
640
423
347
449
673
121
198
525
700
471
493
374
750
972
368
389
311
262
8
393
693
69
622
330
324
706
924
336
156
891
396
19
776
223
702
28
866
279
815
505
718
890
512
262
977
97
699
320
886
764
944
283
506
246
649
372
416
999
624
558
405
870
253
804
899
191
23
447
3
219
78
91
751
740
979
168
719
82
457
612
497
151
796
509
225
927
576
361
382
366
643
266
136
992
763
141
416
266
426
724
687
142
968
426
899
274
343
907
435
493
890
77
369
616
385
521
638
899
256
766
333
575
136
969
325
550
69
659
684
113
677
479
977
594
56
22
898
182
919
519
235
600
132
537
69
771
997
86
873
49
460
961
546
939
968
155
509
738
348
161
690
409
374
897
93
804
874
98
302
67
787
183
501
54
639
973
767
248
555
503
25
320
262
321
533
87
147
677
643
772
120
660
828
830
578
876
379
673
831
767
316
912
85
894
855
612
120
595
93
115
201
568
89
376
436
671
390
675
385
176
584
737
26
393
50
542
890
501
401
286
172
923
229
291
273
84
17
968
156
356
451
640
207
652
100
397
789
885
255
525
136
352
141
621
74
744
222
291
384
447
420
621
251
185
382
120
853
79
570
252
992
943
160
902
857
23
47
106
201
930
883
795
62
700
469
990
297
369
524
946
640
930
211
544
814
668
301
691
103
966
789
110
240
499
126
409
21
626
836
94
850
153
883
206
782
470
30
235
310
81
889
978
954
679
779
185
155
804
124
647
417
558
386
131
504
900
314
265
743
691
202
829
483
930
711
254
3
670
165
933
764
132
873
236
214
760
889
408
324
112
647
761
804
677
570
571
169
580
659
76
501
249
253
119
43
487
677
404
354
575
730
894
540
325
797
196
522
744
684
767
816
393
762
708
12
233
337
707
876
511
48
159
746
702
92
248
765
32
880
325
953
79
971
319
364
325
488
564
618
52
343
951
32
880
7
396
177
917
196
297
243
655
929
849
386
969
907
900
166
965
266
309
637
339
74
623
578
913
924
908
680
636
597
527
986
962
726
670
848
617
745
159
223
461
241
87
36
801
285
92
466
133
325
948
889
655
274
552
879
287
885
372
426
274
264
937
240
474
934
693
892
500
300
803
4
489
841
742
300
354
617
243
770
875
266
4
71
780
891
733
406
634
183
811
378
884
671
286
857
387
113
368
343
933
553
991
927
275
341
101
859
668
800
462
495
443
614
115
359
749
897
189
276
285
828
454
668
556
480
775
462
95
398
397
542
375
549
308
142
430
809
737
80
884
27
896
520
302
70
533
789
972
673
196
886
346
844
139
670
724
954
26
97
235
607
319
294
173
428
817
983
136
832
573
470
638
248
6
524
643
681
852
70
347
590
229
738
863
644
459
691
532
27
175
912
122
300
957
607
250
767
485
288
313
860
646
419
113
911
104
956
454
579
690
346
488
785
974
142
556
717
947
699
926
955
180
802
603
121
356
149
438
938
459
405
131
678
401
362
708
870
308
705
426
481
154
245
906
671
828
966
181
251
925
951
346
245
207
445
541
964
245
50
65
989
436
74
944
430
31
378
429
542
557
96
975
155
53
873
271
164
571
829
498
983
557
754
963
269
557
482
183
801
564
673
104
573
859
229
627
938
348
376
859
430
997
37
316
132
838
719
572
672
362
17
481
849
263
185
289
532
152
724
953
149
690
44
443
303
811
481
451
536
576
133
489
209
958
429
935
107
884
633
805
617
365
945
966
515
592
209
196
915
56
893
765
867
322
841
239
894
134
547
465
128
425
80
590
581
9
788
284
496
959
542
896
995
920
880
687
679
419
326
629
994
263
62
7
219
908
826
49
576
531
602
341
156
899
76
879
226
450
555
86
913
416
243
696
434
663
811
887
433
354
551
916
932
395
999
680
501
313
575
786
626
350
871
328
569
415
37
535
46
607
204
722
651
21
819
575
816
887
493
398
893
354
577
101
266
735
174
562
439
487
211
986
472
202
840
236
666
250
712
645
198
388
223
438
437
275
807
591
736
614
842
253
888
286
218
717
630
791
954
64
124
884
627
736
592
187
178
171
411
331
931
883
718
195
637
295
95
710
845
437
164
939
787
344
859
843
466
686
164
690
843
219
790
352
577
251
287
803
316
52
477
334
684
31
152
139
692
459
618
859
819
548
606
272
448
347
509
932
637
803
961
371
454
715
864
542
691
855
887
736
492
352
467
118
556
421
983
835
350
89
186
131
438
94
289
486
6
351
60
932
595
901
901
403
536
691
409
284
951
854
474
125
679
397
121
513
159
788
575
465
46
264
704
347
820
398
596
847
92
102
766
80
410
849
383
41
695
55
284
649
519
692
241
96
625
101
829
967
537
25
276
815
241
126
76
378
380
663
605
216
659
112
603
789
471
805
927
23
7
66
79
506
908
894
849
449
475
490
618
673
965
21
943
539
75
386
236
77
5
176
246
277
846
460
859
219
506
441
248
60
409
723
226
393
694
702
309
382
878
832
463
244
567
287
716
911
771
542
467
311
109
718
922
508
953
70
828
354
287
575
875
788
494
41
168
670
231
288
515
594
733
680
356
559
828
898
469
508
63
229
514
901
893
530
46
614
140
953
558
341
683
227
664
679
305
299
360
539
34
272
509
331
510
399
338
125
102
956
57
768
714
138
673
335
450
134
56
501
161
488
255
9
901
709
55
245
37
538
821
618
151
647
728
911
474
959
17
961
801
542
637
109
956
807
571
52
178
638
611
13
164
186
192
774
956
863
550
605
837
832
62
116
543
741
986
241
249
337
196
630
701
37
338
429
798
600
245
11
660
88
383
477
978
770
461
25
522
145
964
923
496
530
63
144
261
872
566
334
219
625
360
806
409
728
724
964
649
659
780
272
239
314
981
689
175
569
486
259
522
525
830
185
470
654
119
737
862
498
886
693
318
722
997
596
547
18
698
16
790
970
32
339
970
486
284
191
555
857
545
231
325
918
275
413
831
797
45
820
256
703
297
172
918
38
31
9
800
806
450
425
796
506
124
960
288
190
192
786
742
155
498
668
725
621
852
98
828
44
892
692
445
802
736
313
644
904
745
184
258
890
461
164
271
699
840
756
297
994
126
983
724
69
809
95
873
596
125
501
36
825
367
428
659
605
346
172
812
425
105
553
985
879
182
989
959
762
540
987
350
425
68
384
674
629
757
41
330
966
216
285
369
950
42
669
396
852
939
987
919
672
221
796
707
917
469
40
767
899
206
912
272
955
843
600
189
827
593
155
356
309
456
744
278
193
824
506
676
658
100
885
48
814
588
603
729
812
300
215
788
972
9
571
832
722
328
878
758
651
761
301
608
773
475
797
923
899
123
9
11
309
681
691
170
105
675
196
630
807
104
128
806
269
244
942
779
667
379
569
711
899
648
166
105
720
910
152
521
218
460
501
634
619
215
972
676
417
55
220
954
140
298
339
394
182
807
36
867
985
152
123
922
507
557
310
515
855
124
274
683
997
766
543
860
643
389
554
789
751
743
668
567
727
406
213
269
536
563
79
423
236
322
194
186
495
421
424
151
232
939
996
459
611
600
878
813
162
170
332
195
537
157
365
406
150
720
397
225
297
94
425
29
51
771
473
701
675
628
274
508
639
123
915
513
45
138
504
715
29
158
731
712
102
597
741
89
548
219
143
333
954
433
176
46
840
782
485
317
485
681
767
201
432
482
378
610
972
650
565
462
613
428
269
886
166
779
971
834
144
735
670
403
830
387
291
65
264
942
410
0
664
903
104
741
760
76
231
720
635
633
140
971
777
164
310
554
336
110
859
422
156
750
102
574
444
559
58
651
82
746
603
377
293
620
678
558
859
319
27
895
212
173
463
281
107
417
695
270
955
905
19
513
824
911
438
998
886
934
288
767
705
410
286
579
297
525
342
557
141
54
960
949
334
465
198
231
185
184
855
892
734
563
186
611
572
484
741
212
63
621
536
1
559
650
14
342
738
491
947
375
871
893
33
56
799
834
871
574
636
378
15
452
417
174
402
54
774
68
259
182
552
474
82
64
778
368
853
336
342
326
573
842
241
162
295
177
195
515
995
677
77
662
782
927
27
672
836
805
854
100
610
0
334
298
960
144
440
629
313
655
334
532
469
37
370
164
875
160
657
694
345
885
142
363
688
412
190
725
510
358
54
329
11
114
25
52
24
381
984
737
953
640
32
180
526
322
772
448
603
296
106
45
775
454
225
974
446
102
884
968
843
214
488
476
634
688
48
67
55
217
849
102
923
869
634
256
909
404
254
354
432
426
57
508
126
197
229
394
241
497
107
146
430
6
518
461
130
932
434
119
829
401
182
590
407
302
506
915
832
628
353
621
347
703
630
523
832
640
4
25
875
794
473
494
727
13
947
390
797
824
500
455
263
885
845
504
765
708
940
189
214
493
628
955
193
355
351
605
155
6
223
64
100
221
274
673
959
499
192
968
633
707
849
921
840
828
934
406
274
375
679
686
935
811
749
617
159
441
467
567
775
194
854
598
974
645
134
193
930
911
418
46
938
325
913
414
551
80
361
61
536
488
660
87
675
273
201
161
792
327
15
789
596
373
334
420
428
247
712
261
17
268
997
811
576
839
589
215
17
27
102
214
169
455
591
782
547
13
135
923
870
124
894
913
277
277
545
585
272
856
455
846
292
582
264
716
831
433
711
2
308
17
502
479
90
212
237
316
65
27
900
678
438
531
796
484
371
919
220
879
208
856
460
941
89
865
518
348
21
783
444
867
124
763
695
47
315
748
347
853
917
881
605
888
904
379
785
608
351
52
923
244
845
175
85
844
287
190
750
810
369
0
139
863
526
300
313
991
395
946
81
0
403
384
637
371
163
365
799
479
756
968
949
653
33
688
602
374
842
751
508
96
208
325
857
177
619
475
595
983
730
0
715
467
449
618
284
983
509
892
206
502
158
598
298
411
118
888
115
525
640
110
843
88
206
709
764
18
113
495
61
107
731
653
800
875
170
251
43
780
535
773
958
338
679
573
860
240
222
736
770
346
449
246
698
558
273
385
296
307
428
43
250
448
790
544
338
725
560
371
395
576
560
175
832
406
857
294
944
593
797
826
909
312
884
713
236
917
14
559
233
932
995
180
923
694
744
903
261
501
862
554
622
795
782
190
148
647
491
935
631
270
608
981
121
205
922
733
814
24
87
409
638
648
895
472
315
265
299
908
781
792
739
596
587
627
73
375
885
792
494
991
396
262
881
991
712
528
539
799
811
805
466
532
3
558
946
748
435
44
71
115
204
160
952
277
876
131
304
689
93
530
235
913
734
110
638
634
212
673
493
160
647
320
613
601
683
757
888
529
194
676
565
931
963
412
41
647
679
509
270
551
721
91
381
590
776
860
918
821
804
754
571
297
217
631
875
931
368
980
856
341
194
206
935
682
388
801
797
420
170
367
195
913
661
703
769
295
99
183
31
637
233
570
725
849
59
323
22
861
615
910
492
270
239
189
560
340
342
268
135
908
993
20
418
793
770
962
471
108
367
509
731
17
497
48
859
439
394
499
997
39
97
248
12
20
502
45
190
207
991
127
795
452
56
521
25
835
287
366
233
770
640
495
692
394
497
444
735
304
452
262
777
72
241
846
674
972
115
373
557
958
484
117
140
97
469
466
382
297
234
960
519
237
485
318
905
41
820
153
959
737
627
567
512
224
682
754
342
401
60
433
49
438
975
737
720
994
521
895
498
684
174
61
538
911
293
325
722
200
888
12
894
875
90
749
469
539
63
19
719
14
593
964
987
94
702
791
975
646
881
904
473
942
436
585
473
378
678
101
488
36
724
254
180
834
103
398
391
550
831
903
513
238
258
210
724
665
725
952
449
542
502
898
992
898
563
48
742
884
662
66
866
533
242
946
794
427
289
916
391
841
932
570
45
668
624
655
767
600
868
603
161
956
374
137
554
537
380
511
233
733
19
129
315
110
287
602
84
976
905
597
735
400
305
403
659
508
443
624
702
644
295
693
984
46
8
228
38
534
988
193
654
356
73
195
782
198
562
573
889
705
761
959
210
193
276
717
604
95
90
386
329
493
695
236
698
476
744
966
135
498
992
966
452
730
258
850
527
513
627
158
955
33
997
780
859
388
383
541
192
976
781
765
179
32
412
775
116
32
307
852
997
835
525
192
162
232
313
142
9
885
648
953
57
84
287
342
650
696
278
312
344
772
724
660
872
128
86
970
208
768
600
522
871
396
206
875
74
638
25
149
902
866
83
857
386
633
983
227
622
884
819
686
717
772
823
336
197
105
986
715
902
577
347
239
435
126
757
783
456
905
584
579
816
852
693
934
209
726
762
311
414
592
384
134
786
793
993
735
666
673
829
857
335
419
447
236
836
734
598
808
319
919
174
599
58
743
854
855
149
283
7
291
319
110
207
312
855
188
293
749
154
236
308
44
462
996
413
164
317
490
109
280
219
365
898
195
959
388
160
548
927
722
250
596
561
109
117
113
412
709
134
523
220
299
259
105
349
66
338
766
145
891
669
541
833
387
598
220
980
898
492
498
588
368
135
940
204
723
639
753
627
513
857
23
284
219
739
700
713
233
233
896
509
943
886
498
814
608
998
664
925
10
493
620
800
26
788
631
868
787
819
649
645
672
946
594
244
415
475
196
500
243
698
118
361
659
725
668
443
224
624
130
847
996
463
732
67
144
200
54
64
876
267
740
482
194
151
320
481
593
905
926
877
693
393
567
658
430
458
565
273
386
199
848
805
18
483
907
680
430
413
514
316
854
499
642
724
379
972
512
778
230
847
575
528
909
498
847
454
329
751
978
298
127
942
851
721
810
941
993
485
979
246
732
228
452
980
368
545
834
474
834
416
385
506
959
294
487
687
295
557
904
252
780
794
415
831
391
662
270
604
123
629
589
953
750
114
384
769
385
700
2
801
765
432
929
579
738
718
964
385
176
234
528
632
299
234
917
872
239
562
244
999
727
678
52
762
483
671
915
134
907
453
535
628
933
115
97
345
690
245
495
548
894
625
981
330
516
532
123
541
87
918
381
587
740
758
341
636
349
588
414
958
804
510
398
233
72
899
401
260
438
232
161
674
93
752
643
113
821
904
486
910
277
700
994
466
933
462
19
804
459
190
521
679
161
431
364
324
879
611
798
490
675
658
341
127
24
289
963
835
308
934
541
408
435
870
356
658
340
337
836
713
421
130
18
614
453
149
280
395
809
379
600
784
396
983
336
287
653
630
664
778
879
404
994
665
327
2
807
473
297
56
271
211
751
787
365
148
272
269
846
892
97
20
234
593
232
481
275
875
459
11
906
48
222
345
832
797
69
829
682
696
3
652
885
966
567
824
329
522
615
764
650
564
150
907
742
457
819
220
935
470
143
222
662
91
15
787
139
914
42
199
288
65
173
568
141
570
357
339
857
722
693
358
673
465
446
286
719
67
243
926
784
536
183
284
954
509
782
836
899
795
932
848
744
353
509
451
993
624
241
52
825
433
313
798
782
62
594
106
672
512
756
786
371
159
593
902
190
337
376
12
204
106
613
450
774
288
55
536
868
253
233
837
224
644
767
895
330
774
792
115
988
251
723
68
202
90
91
444
48
101
901
301
646
356
690
853
793
496
467
639
453
725
863
777
934
181
743
215
656
983
125
856
776
897
52
228
871
788
389
204
466
496
102
89
23
267
696
806
438
731
212
486
260
992
271
660
880
357
344
916
661
847
206
635
568
555
393
190
694
916
669
967
597
194
335
508
204
534
374
388
592
684
889
880
23
349
13
982
254
388
780
51
907
891
433
935
853
189
882
990
848
873
201
297
499
45
853
227
808
679
700
198
403
950
126
277
451
741
545
227
862
690
207
61
285
390
808
694
825
341
47
545
0
911
726
904
657
617
154
955
96
297
539
892
227
686
721
948
311
886
87
943
502
200
371
782
716
992
379
94
34
938
683
494
227
683
160
179
521
455
421
688
712
196
266
163
156
861
551
691
13
151
396
373
442
959
82
889
91
893
954
335
258
690
235
448
964
72
150
836
244
222
660
75
809
950
623
397
662
742
409
894
537
742
922
384
265
174
821
344
125
834
356
805
339
128
204
691
901
920
806
516
941
489
28
387
739
834
142
986
555
746
635
51
463
752
122
762
501
888
9
345
68
243
9
111
894
195
345
826
45
312
610
287
957
720
966
83
281
304
957
990
567
466
834
714
363
297
891
71
177
368
331
712
982
933
475
901
809
590
892
441
326
315
562
691
963
889
802
252
96
969
705
130
788
733
423
552
968
434
437
113
208
855
663
869
855
883
685
775
687
366
897
208
759
283
67
26
492
670
124
80
726
211
756
909
600
621
357
776
151
586
430
263
219
4
943
584
234
555
332
942
627
663
457
789
154
125
56
130
292
573
270
550
508
550
151
980
142
100
786
887
937
997
935
950
647
282
738
265
762
757
383
426
199
798
473
401
538
66
841
344
170
777
234
755
480
810
267
899
677
418
652
960
765
55
730
883
753
498
263
125
182
685
531
875
676
622
481
365
992
752
841
966
590
816
92
21
978
792
640
256
253
621
120
199
406
156
587
482
679
874
446
121
241
672
56
206
874
231
904
885
586
915
859
87
243
631
398
697
231
53
320
957
799
349
540
906
583
983
335
519
595
31
975
386
435
269
899
790
916
298
862
52
235
799
959
857
830
1
201
403
393
378
533
112
540
567
219
789
777
124
918
911
566
546
592
929
912
804
929
785
391
565
51
424
530
318
28
975
827
901
236
160
37
427
833
870
27
791
474
781
131
15
548
662
4
948
98
816
393
509
84
967
637
102
916
797
557
612
734
364
761
965
644
887
641
217
449
195
806
38
650
36
817
435
320
301
697
936
133
88
492
171
395
281
489
2
160
476
687
935
361
791
318
938
255
626
490
760
541
752
140
955
303
513
593
608
309
42
452
707
433
300
732
198
558
382
384
244
262
206
31
719
839
945
59
257
20
639
763
860
829
84
425
267
91
871
618
542
264
731
480
48
893
762
797
853
159
959
359
443
103
66
373
582
229
625
311
286
200
955
77
746
447
903
395
815
882
900
56
636
732
917
989
106
183
963
812
167
305
180
754
745
147
63
54
128
406
93
584
230
100
67
179
696
357
35
916
817
980
178
132
825
387
261
980
937
507
393
312
209
882
214
851
639
313
778
528
344
875
934
379
731
550
733
465
637
554
808
183
605
535
684
19
852
396
593
378
724
145
608
654
516
496
602
355
998
944
696
919
967
181
372
258
113
202
667
46
706
231
569
76
473
438
706
751
757
84
861
120
423
598
106
39
359
159
604
528
78
529
84
326
174
568
345
816
724
963
815
737
208
823
404
748
340
33
966
211
9
510
869
812
840
109
114
360
445
25
467
703
246
79
280
768
215
276
832
911
688
284
320
628
661
796
500
174
32
585
868
348
767
911
115
211
375
101
86
924
652
81
741
199
943
599
173
423
660
434
292
99
338
142
109
734
92
277
549
725
212
725
357
609
655
32
505
205
322
512
54
429
487
736
964
402
922
87
288
175
973
347
943
807
524
479
299
549
198
101
761
769
572
454
696
147
213
462
702
801
712
288
524
778
399
275
224
384
982
619
921
866
450
190
719
634
752
138
891
500
891
175
279
218
577
71
61
789
257
473
187
22
174
910
374
804
37
750
464
210
262
508
748
249
41
983
287
181
610
775
472
445
823
674
818
256
362
463
18
715
779
131
474
297
8
985
481
682
295
196
915
444
664
318
700
666
624
190
116
167
804
888
260
184
15
875
494
635
19
252
833
328
977
986
940
393
670
239
334
977
108
714
800
302
965
432
773
634
493
297
214
550
811
657
374
216
61
910
111
954
876
652
959
732
643
507
879
43
143
122
908
110
203
431
36
109
83
892
278
80
636
680
820
434
628
233
12
613
173
881
264
612
950
243
362
872
920
893
777
198
167
94
54
796
838
987
732
146
596
80
441
620
855
280
435
616
861
242
358
781
16
808
935
21
978
172
8
964
473
2
259
873
665
454
825
658
714
713
239
671
800
993
395
397
422
500
512
824
981
306
677
386
87
49
155
27
149
987
0
318
464
891
607
550
172
171
895
782
637
900
394
0
21
327
531
914
74
505
270
158
314
764
88
416
226
230
130
891
932
830
906
317
231
510
754
65
970
989
427
393
581
328
391
111
154
229
183
156
904
366
137
462
701
506
686
460
563
682
788
919
259
422
23
181
80
512
620
906
487
908
189
211
220
392
282
262
571
478
748
123
30
67
741
723
221
79
236
882
449
110
808
342
362
26
144
81
262
851
842
562
147
57
179
527
875
25
263
774
16
950
774
457
806
860
701
874
944
369
766
467
261
470
721
166
304
571
43
822
832
514
924
990
914
149
971
163
418
682
433
159
251
252
568
809
714
989
290
372
382
83
503
100
950
915
276
281
867
746
507
52
742
497
532
506
389
265
695
648
335
738
815
521
836
206
471
68
482
674
321
484
992
850
402
570
968
621
583
913
958
459
838
842
893
217
924
899
218
710
702
632
891
694
350
548
165
46
754
602
506
192
917
76
931
454
919
424
543
510
408
556
882
557
871
632
142
475
666
117
488
391
376
343
742
1
74
467
454
370
634
546
476
290
392
771
766
487
341
391
478
7
544
75
393
335
562
742
959
721
542
636
358
804
156
515
570
136
367
164
998
6
88
753
494
566
350
711
696
908
671
146
581
612
564
107
968
112
516
174
170
269
616
837
443
246
747
560
995
138
360
200
273
779
10
991
109
891
615
522
98
740
553
914
348
924
459
387
759
564
149
971
381
546
329
571
410
397
768
272
869
513
194
362
798
978
791
38
216
174
710
358
853
778
57
543
916
117
316
985
128
494
862
116
624
703
160
402
117
446
488
283
789
334
745
338
125
633
448
812
204
187
97
197
398
25
282
424
761
177
21
382
273
502
155
40
622
828
115
498
125
444
618
683
208
575
708
597
991
688
650
337
673
770
735
273
900
801
917
407
895
574
877
784
53
865
985
369
168
696
68
575
853
766
909
502
900
280
712
353
606
720
931
695
103
82
730
367
731
150
998
648
920
964
199
190
721
373
863
186
382
236
170
422
111
86
995
581
580
308
238
420
894
77
92
353
953
991
852
742
367
568
381
701
304
8
46
964
922
177
956
714
212
415
733
771
625
850
624
767
592
120
712
452
675
67
397
448
787
871
703
311
140
382
513
632
719
335
908
478
810
412
35
280
18
148
965
831
981
98
64
72
121
202
572
528
295
544
113
815
380
464
120
984
88
37
416
714
715
656
916
399
872
276
165
629
574
117
422
76
215
293
524
836
556
732
527
405
9
871
509
836
270
596
438
643
439
111
87
795
188
313
592
222
600
531
184
809
309
766
365
133
786
747
308
947
631
958
549
477
739
291
76
908
183
983
963
105
222
167
308
734
983
534
881
18
441
331
773
456
255
383
166
707
590
829
863
641
775
581
156
365
775
726
229
535
74
169
529
430
483
931
282
755
241
668
333
564
584
180
830
358
730
943
99
601
556
246
30
245
202
774
447
255
274
207
621
206
692
855
63
629
137
178
495
413
61
206
908
226
674
84
505
52
731
590
537
281
498
154
8
312
115
156
260
250
979
169
702
540
168
957
615
401
546
728
536
552
602
474
109
539
68
449
827
217
410
545
837
545
919
810
152
882
635
691
651
150
760
344
871
289
132
257
448
641
914
268
810
256
675
377
235
62
918
569
652
251
931
262
552
936
727
67
648
631
509
877
368
80
132
956
996
816
647
236
813
596
236
896
848
684
355
295
909
851
469
974
411
290
221
270
9
353
106
646
577
759
940
33
159
704
805
582
886
533
12
147
817
562
840
571
409
117
776
704
422
996
452
905
491
53
576
38
873
520
538
920
59
294
27
980
229
612
320
635
290
999
620
502
806
59
600
424
365
729
96
439
573
572
12
109
618
428
590
31
585
252
854
70
589
139
322
880
311
149
138
951
146
848
480
934
560
599
431
128
355
489
218
995
426
525
635
392
879
217
694
384
752
215
72
178
730
170
878
116
624
513
693
275
453
859
463
116
756
129
594
975
937
674
422
592
958
938
513
357
559
128
168
663
72
965
461
413
435
61
743
597
440
700
942
456
614
115
256
827
956
805
275
31
959
601
933
251
223
611
644
528
176
240
409
523
711
60
729
339
836
394
695
740
923
762
717
748
819
535
56
458
711
617
709
847
674
591
799
765
846
662
227
146
869
136
265
474
873
631
462
264
243
983
820
92
377
831
167
605
894
146
157
929
990
37
499
826
78
173
532
930
714
280
185
698
163
249
279
241
281
797
167
87
357
577
11
227
13
868
862
568
668
267
289
12
703
726
130
967
2
216
596
286
404
652
964
909
132
630
585
226
337
443
80
77
49
386
686
208
794
84
830
5
634
981
668
76
768
464
328
412
735
159
543
642
382
760
812
499
544
203
422
454
728
806
382
903
16
133
785
179
997
805
973
294
656
67
844
468
784
111
821
47
29
145
724
951
423
979
572
949
333
737
974
462
317
451
886
309
863
48
452
683
899
680
488
588
354
721
275
858
774
87
829
821
133
377
690
736
54
55
788
454
408
122
902
949
356
132
175
336
283
156
562
818
689
271
920
895
209
620
970
852
734
281
932
208
130
319
989
604
882
263
480
798
957
155
157
530
794
303
883
632
491
853
263
86
808
497
283
923
769
109
705
22
325
407
427
438
141
391
658
350
564
692
906
400
938
235
197
35
179
891
821
889
169
756
467
133
244
726
562
247
790
579
224
146
12
950
220
682
414
789
577
76
508
115
505
633
326
820
157
186
272
387
495
20
937
520
600
776
212
686
338
941
373
38
807
720
613
751
228
228
277
267
406
292
129
980
247
838
434
763
827
483
525
287
487
221
486
530
544
952
998
412
211
920
332
911
41
702
619
714
811
601
429
224
751
161
957
252
626
896
720
316
962
964
857
674
245
397
20
228
853
874
555
25
114
661
331
312
89
752
34
230
181
93
421
560
128
538
407
888
982
879
976
672
669
935
595
115
774
859
809
981
266
696
414
511
699
696
728
16
201
130
678
675
495
604
509
142
839
954
217
301
130
420
203
573
818
132
73
727
950
594
707
214
863
719
722
182
466
766
254
629
135
191
451
943
989
931
709
955
571
55
216
111
153
377
504
95
906
973
526
316
956
548
851
370
761
3
186
31
99
255
187
425
46
181
111
154
865
134
591
46
900
694
530
100
779
411
762
400
340
446
324
393
542
601
229
101
127
941
823
413
40
422
309
604
346
846
822
376
71
768
179
341
709
337
462
50
923
211
394
109
121
711
439
590
525
149
880
679
149
371
293
374
20
624
85
638
277
645
316
550
787
995
578
253
253
634
769
497
285
851
542
339
327
870
286
371
619
465
658
310
351
721
247
743
227
737
921
107
352
711
703
948
815
259
632
132
402
138
207
561
927
268
122
242
850
712
937
962
300
380
916
498
402
461
944
526
131
215
269
898
270
127
857
607
786
379
852
783
587
292
327
177
867
146
518
481
498
667
455
140
742
656
289
864
664
177
651
482
443
178
857
833
979
277
794
314
164
678
388
836
718
544
310
237
939
736
831
377
170
205
45
862
129
498
191
922
484
887
607
694
944
145
701
31
401
240
366
101
768
504
826
542
932
574
583
625
665
567
783
896
549
828
979
232
658
672
133
509
418
558
33
315
711
610
450
722
782
12
369
720
913
500
517
311
366
495
69
569
129
541
648
304
152
296
224
305
942
254
852
406
27
622
230
939
197
865
410
483
238
867
850
964
691
53
513
84
840
302
463
107
526
71
936
895
610
479
606
708
871
59
286
577
520
30
346
483
567
508
536
246
95
878
299
622
110
174
996
14
631
818
368
760
934
820
521
381
253
180
461
661
373
628
71
135
520
767
221
958
892
281
141
398
277
278
705
625
921
795
305
594
45
27
776
452
880
670
614
767
287
771
886
966
723
775
67
790
514
626
821
176
977
505
675
801
539
645
201
348
817
872
924
129
217
592
994
668
264
868
706
864
643
752
575
569
997
795
342
55
179
327
489
721
408
35
84
285
285
241
36
806
814
256
932
378
125
731
215
455
785
503
564
877
447
882
833
259
763
904
705
986
881
439
995
89
271
571
69
673
944
169
90
761
802
99
638
59
150
763
191
335
365
527
198
827
269
445
551
831
490
900
236
779
657
377
655
99
861
568
318
828
801
950
730
441
334
727
609
691
526
519
951
57
659
341
110
812
157
343
239
731
289
567
272
420
286
965
313
931
58
873
502
782
1
213
869
578
23
685
411
13
803
561
492
545
625
59
765
582
200
781
957
586
188
556
836
911
622
954
641
127
805
770
572
348
721
856
417
498
750
219
980
646
624
548
16
840
534
876
558
308
253
835
888
801
32
637
457
533
115
994
505
407
417
945
490
79
962
508
183
565
88
443
816
663
557
714
968
394
921
345
955
550
240
424
347
599
153
966
50
40
600
661
755
750
860
925
46
259
427
592
583
401
691
200
91
90
269
982
317
150
333
137
798
526
377
423
833
220
7
497
354
575
791
526
95
488
473
930
51
656
180
579
618
180
869
208
319
708
676
710
581
227
207
140
518
705
668
73
304
892
28
844
926
503
51
335
25
229
842
321
503
909
502
336
213
388
831
292
468
123
192
474
547
802
760
827
818
54
873
561
901
437
695
595
582
716
935
921
103
756
202
19
439
573
254
343
853
942
334
845
579
793
987
650
990
922
378
404
792
134
511
574
318
607
607
61
512
647
256
937
489
190
317
610
870
859
495
664
272
860
646
839
443
565
961
497
758
357
328
593
304
930
3
939
972
908
244
194
639
158
912
334
732
608
322
233
142
671
441
905
397
863
54
981
411
344
253
0
790
6
254
197
575
321
187
244
627
191
837
878
747
893
689
437
971
613
804
782
596
626
492
905
675
880
975
207
408
396
842
540
682
557
564
957
827
298
452
154
713
815
45
255
862
305
941
192
180
637
554
791
843
371
556
113
783
226
672
645
946
898
867
98
695
410
771
485
188
553
786
995
393
404
962
812
92
349
799
127
986
415
251
373
774
754
916
776
385
231
277
764
58
81
393
962
332
500
654
282
78
398
222
81
280
891
233
494
242
152
198
333
88
655
744
675
789
509
609
652
768
59
680
856
411
837
405
205
586
385
430
468
893
665
126
853
37
573
666
68
305
404
213
590
128
516
906
276
253
959
429
823
157
169
197
405
817
359
897
285
192
621
55
971
77
552
627
363
509
630
880
184
950
907
867
754
319
607
854
456
555
156
450
439
152
860
951
265
291
466
782
778
884
978
381
959
753
498
605
433
881
61
164
40
799
379
539
100
291
677
575
18
73
822
168
440
65
136
14
437
146
478
769
522
113
500
616
741
894
387
892
697
535
330
550
131
147
883
296
596
437
1
425
482
20
964
935
402
821
786
441
764
543
912
497
785
621
476
299
330
431
817
307
271
795
509
633
693
269
37
434
566
457
647
722
136
101
911
176
146
310
37
825
757
35
416
928
560
284
803
520
175
912
271
228
860
581
788
830
63
735
444
394
97
736
160
173
330
853
885
970
346
60
159
572
254
645
815
201
279
734
354
156
262
295
71
647
905
105
749
147
121
44
44
644
788
598
521
220
873
156
695
777
357
536
105
617
393
506
425
583
367
645
896
397
65
297
856
621
861
262
181
222
485
982
435
978
281
249
50
888
863
587
5
396
360
190
295
920
223
166
333
556
42
804
457
722
69
956
816
353
124
394
401
773
698
735
130
717
39
216
731
547
788
375
432
975
611
60
519
434
904
233
914
151
398
530
901
639
506
799
215
939
639
880
74
836
839
426
210
169
968
446
625
139
278
292
157
997
686
434
221
808
361
248
756
489
228
711
561
796
820
791
707
436
38
63
150
965
955
428
662
221
198
162
299
275
714
833
642
736
935
584
176
989
714
276
205
101
207
626
469
229
717
50
111
154
802
552
207
120
257
62
462
304
252
495
60
487
289
42
932
670
705
989
918
817
703
277
401
50
881
90
636
633
495
134
403
606
503
445
793
171
784
89
689
264
588
809
75
643
959
369
930
224
49
513
776
910
48
896
15
83
21
839
80
273
776
134
930
37
996
486
87
93
349
673
970
786
221
977
711
74
110
408
460
3
240
223
688
364
931
324
653
456
613
215
683
268
195
425
315
358
884
46
223
681
995
295
458
321
960
872
673
922
821
270
732
774
807
159
886
28
529
198
59
338
385
166
296
742
388
689
609
721
14
5
814
655
215
834
517
58
647
342
792
836
924
314
494
394
744
443
899
231
874
808
103
817
277
946
826
32
267
382
195
534
916
68
513
30
983
893
921
127
131
282
873
998
804
580
462
964
636
867
403
433
677
553
859
212
888
935
952
216
521
259
713
864
11
346
521
275
868
994
514
989
360
241
643
917
931
476
741
850
985
336
979
398
866
625
728
152
512
234
898
876
314
491
528
337
711
339
8
751
695
646
689
899
983
815
63
163
550
200
940
422
23
208
478
659
313
40
646
548
472
11
616
369
204
196
32
494
777
498
779
390
108
495
714
24
901
74
916
178
290
230
982
195
410
111
447
502
843
908
164
619
361
580
248
878
222
234
128
245
126
213
336
93
515
128
215
726
614
913
759
558
916
433
188
114
570
33
109
264
615
547
867
621
144
435
162
395
210
926
191
253
986
136
22
284
504
727
923
474
267
645
118
652
358
597
641
600
225
660
270
422
95
883
590
695
519
309
632
603
244
703
102
176
321
594
163
38
224
568
803
186
878
157
507
745
575
302
124
905
200
238
936
591
565
989
708
522
236
928
279
530
899
360
916
937
829
168
709
348
996
288
101
803
41
515
423
935
927
617
71
902
724
694
176
196
805
658
776
621
253
23
365
244
12
323
862
735
907
430
126
231
517
19
175
238
671
175
705
328
302
22
691
324
889
606
704
383
107
735
691
26
175
273
353
379
894
351
593
367
628
336
319
280
187
650
685
216
400
960
515
104
244
939
320
948
472
615
370
980
508
540
823
164
6
944
794
300
148
259
31
699
979
360
783
224
789
604
163
939
854
710
170
399
658
398
37
612
363
836
656
66
659
695
494
775
522
303
566
307
139
316
3
212
667
771
35
68
941
993
835
156
156
57
949
502
652
508
422
924
801
399
321
373
458
313
348
255
103
804
680
743
746
684
882
296
816
241
284
367
195
194
241
17
297
327
838
797
12
44
947
885
640
873
141
670
459
150
827
939
332
191
913
885
265
296
592
561
622
997
807
890
40
776
918
608
66
281
21
617
285
936
345
144
210
242
242
238
480
900
360
895
772
765
435
240
935
600
622
12
340
93
837
835
907
651
410
361
977
229
520
935
308
446
46
960
814
199
210
702
14
646
165
199
910
203
937
139
628
990
311
929
993
12
555
395
879
519
388
85
346
396
57
350
11
608
954
354
29
40
974
121
88
837
522
705
661
554
86
933
782
3
258
415
89
824
394
657
765
570
827
201
360
193
250
397
584
296
211
238
692
642
883
756
637
415
148
227
75
346
183
471
667
29
42
621
901
544
797
139
694
840
87
31
274
487
485
939
139
73
61
826
581
140
809
465
383
338
243
985
835
964
166
780
384
786
887
131
339
918
290
273
107
254
357
142
988
753
963
49
317
956
103
728
451
335
66
962
328
616
676
261
632
204
32
845
476
996
411
221
885
297
559
994
199
611
126
552
522
943
649
374
465
277
751
910
289
564
705
605
789
162
10
831
995
485
916
672
613
524
790
226
856
574
296
547
383
858
247
943
278
27
18
931
747
514
427
401
733
249
326
857
395
7
719
434
79
333
833
254
371
198
881
20
341
612
940
724
956
62
519
683
601
335
253
417
4
830
76
933
718
358
116
828
769
425
228
148
324
560
963
603
905
878
256
572
439
15
860
173
939
117
948
435
294
955
100
281
57
592
936
895
536
76
754
939
812
185
341
241
955
286
965
153
718
630
666
90
842
72
736
665
382
14
717
452
796
99
842
566
9
613
624
191
336
167
532
517
668
355
371
218
226
661
126
228
110
442
963
175
355
676
959
802
416
283
525
239
745
492
661
532
909
907
568
73
587
203
65
768
829
167
555
695
547
101
439
384
230
274
309
402
115
277
457
455
74
675
535
619
663
79
609
903
340
579
311
69
180
689
998
164
459
281
973
883
947
659
480
352
962
560
145
799
605
784
552
450
688
970
769
166
515
845
381
441
405
544
343
552
971
441
349
603
316
611
93
439
897
430
811
263
967
31
69
209
190
163
587
317
779
357
749
751
293
209
549
193
595
332
12
276
936
206
791
856
25
463
573
742
957
465
573
470
44
229
400
944
108
868
839
787
291
124
184
797
288
462
806
609
553
395
975
661
982
562
486
547
622
297
554
968
414
625
637
41
541
254
403
961
641
406
973
396
519
791
159
275
300
497
714
451
838
503
798
518
658
920
525
186
334
975
183
637
485
783
471
48
915
392
170
128
37
87
13
635
459
885
481
709
169
605
597
527
832
731
223
364
990
478
115
283
184
231
965
574
250
377
262
502
794
61
165
202
920
429
98
857
624
989
536
899
266
602
988
992
212
612
292
483
602
983
598
957
761
301
632
554
747
4
617
68
281
955
14
851
606
630
260
103
449
118
587
448
622
208
723
345
17
941
771
72
601
667
618
599
132
82
513
580
792
966
135
956
746
507
995
188
627
955
729
753
348
548
884
58
154
618
773
314
286
33
766
756
753
721
563
238
804
291
49
212
924
252
449
127
95
571
802
544
890
736
813
643
421
32
703
706
464
385
533
736
511
21
973
904
443
705
43
224
61
733
818
717
224
484
384
452
98
234
949
43
999
938
488
671
823
902
95
305
594
173
810
486
765
778
738
337
693
645
221
700
240
596
41
862
971
3
89
926
57
343
557
496
990
20
977
621
696
892
282
958
33
690
925
741
296
833
96
999
386
689
969
761
430
395
569
306
711
971
584
888
281
693
432
542
495
37
819
468
706
12
629
389
282
82
159
329
343
127
183
857
953
205
134
156
503
300
328
760
382
385
551
558
701
805
388
468
16
553
70
731
612
718
719
862
126
511
811
375
673
716
252
718
89
274
779
180
351
355
248
301
160
706
937
810
729
632
63
217
206
831
665
255
517
955
751
522
573
270
260
517
784
941
706
145
585
529
224
91
250
495
5
545
984
74
952
888
35
121
877
993
84
987
839
240
293
497
632
324
843
361
419
796
313
80
673
357
565
678
728
281
101
323
583
509
952
49
915
49
359
551
870
313
793
498
865
803
195
294
505
650
29
125
672
294
333
916
429
496
84
191
91
344
541
161
284
550
41
172
596
872
278
371
583
512
396
949
59
765
297
90
844
172
414
107
806
280
153
2
113
307
938
230
433
248
850
737
972
380
580
27
876
144
339
681
171
110
444
132
454
960
909
653
564
423
534
498
903
845
989
884
516
716
524
691
200
410
108
209
333
673
105
665
652
2
563
648
522
182
266
890
733
850
381
484
662
530
401
969
927
600
923
813
393
27
777
473
382
939
587
289
442
831
608
224
273
734
316
934
419
563
387
479
375
583
408
222
55
466
813
428
59
213
100
23
450
230
73
902
832
429
106
68
513
866
578
939
585
738
872
359
593
141
6
128
377
156
897
946
456
800
769
515
573
663
526
449
339
759
648
760
19
214
781
401
246
331
941
619
522
705
393
321
443
729
808
703
356
484
628
50
330
344
582
168
900
757
522
946
515
431
194
921
463
977
783
977
339
176
94
803
889
879
985
350
231
360
110
253
36
949
473
300
715
792
566
277
637
334
432
387
743
357
324
309
253
888
147
336
949
525
50
38
94
866
440
838
703
641
669
305
923
392
618
536
957
729
347
779
739
13
691
693
756
467
742
165
110
783
371
143
27
677
467
355
891
561
946
835
246
489
38
303
553
475
478
64
419
99
935
91
275
103
481
742
483
347
942
734
599
742
222
166
757
86
546
978
271
884
433
453
150
358
516
883
941
307
154
550
146
611
158
381
699
119
728
109
451
62
905
523
249
580
585
862
668
607
351
937
881
450
320
632
38
317
540
704
257
75
336
377
284
600
874
641
636
139
32
957
623
878
965
635
287
171
454
203
145
517
569
292
381
819
998
810
328
611
248
51
656
675
447
977
840
713
708
591
834
149
120
283
693
257
410
552
183
850
951
892
697
928
869
723
912
628
175
350
446
732
715
894
777
277
449
196
398
319
603
372
327
565
67
958
961
879
935
601
275
904
144
380
60
539
739
963
281
716
947
905
288
992
376
706
754
383
286
169
271
165
779
507
915
842
102
96
207
475
976
273
482
411
959
733
677
717
79
508
81
383
718
427
409
674
534
98
496
330
563
48
540
524
633
685
713
764
484
160
201
983
293
117
291
605
20
814
410
191
945
323
426
321
49
835
136
3
548
171
101
211
122
127
495
4
481
854
524
700
868
522
211
746
893
875
296
658
703
715
609
173
853
678
180
846
79
439
793
801
26
782
700
451
823
999
787
285
376
813
545
738
191
708
208
512
206
502
497
872
614
248
227
728
870
118
292
776
891
468
284
544
728
871
215
622
719
80
366
606
618
858
885
431
659
387
412
899
372
20
460
5
509
380
359
177
703
302
749
603
430
92
910
984
142
709
567
341
255
239
886
432
823
925
378
157
77
589
971
771
874
529
112
739
757
587
716
213
643
785
258
642
141
71
82
21
964
680
348
570
498
54
929
496
384
994
864
473
696
678
983
976
444
502
484
49
116
562
287
899
896
481
859
892
663
882
893
771
552
881
881
554
27
822
950
518
628
33
480
110
774
424
312
186
606
463
324
985
41
525
21
988
56
575
185
242
215
772
703
819
697
332
46
710
727
576
276
370
799
686
639
621
255
226
655
412
836
973
146
840
913
866
357
827
624
597
128
141
416
312
748
983
903
336
804
447
633
831
25
828
244
513
356
583
876
761
646
774
92
337
761
233
227
472
569
43
652
219
541
528
576
239
982
709
686
806
929
84
367
886
565
677
424
258
865
170
473
934
716
175
326
576
275
346
1
329
587
936
597
562
389
485
877
783
281
825
316
871
515
414
124
250
161
457
550
248
662
638
922
775
474
321
115
103
573
346
607
67
517
158
109
543
638
547
214
756
628
389
712
529
223
30
32
259
8
75
736
67
670
729
963
265
970
932
846
980
728
224
180
821
700
347
788
679
931
426
998
604
333
860
752
456
367
703
890
365
966
0
320
856
429
624
611
760
444
101
549
880
943
795
868
335
736
303
65
560
544
339
717
325
853
921
887
186
191
657
592
256
742
656
838
826
960
798
123
453
253
986
446
435
853
883
887
191
288
600
858
250
721
249
757
330
996
702
987
334
610
548
553
630
571
422
600
407
208
457
47
551
635
352
622
911
570
751
937
724
190
697
563
749
653
446
688
847
349
573
32
679
4
797
348
677
693
710
355
687
877
884
938
705
727
88
567
540
630
568
473
527
771
426
927
873
594
61
230
724
94
374
657
682
908
558
263
821
992
264
524
656
790
922
24
247
258
981
618
490
537
438
797
836
416
469
720
275
119
591
277
458
697
228
601
268
268
650
611
878
580
710
172
324
649
765
514
911
63
469
159
172
156
10
730
604
420
991
260
171
981
240
468
565
465
271
801
515
450
486
433
376
627
334
742
721
95
414
61
364
202
85
878
339
249
269
863
823
744
224
32
482
238
224
339
159
431
973
875
195
318
613
277
466
51
940
445
943
602
221
695
427
332
83
832
901
881
421
788
516
164
413
103
107
306
127
348
802
108
261
318
696
371
568
584
383
934
988
302
813
566
469
930
684
761
244
953
936
686
298
785
86
745
493
86
569
512
886
867
945
734
461
220
126
780
22
146
485
182
575
793
962
378
944
813
353
168
494
54
385
758
251
772
16
806
888
845
644
14
967
299
943
866
890
361
310
106
875
98
574
476
270
322
927
337
445
188
328
165
768
95
273
622
272
34
811
64
801
315
671
352
956
94
157
796
9
113
661
191
63
826
637
918
119
992
23
417
620
194
653
593
191
229
575
136
567
720
770
284
993
332
169
147
7
990
607
625
124
103
651
210
694
684
898
361
116
984
627
771
120
357
794
125
606
253
108
396
307
339
681
344
241
990
210
745
828
898
916
492
548
429
7
747
590
865
657
800
316
565
721
753
236
325
860
973
289
311
639
309
369
354
171
785
629
517
704
246
757
973
151
884
877
384
986
425
605
620
999
444
871
157
907
974
38
693
286
561
813
414
933
399
975
416
336
720
545
541
295
406
532
856
918
979
290
79
595
804
542
386
231
162
990
982
6
59
923
265
34
968
136
614
613
842
112
721
876
917
160
833
919
615
801
805
377
440
559
392
790
506
968
839
605
475
953
201
35
574
34
268
954
987
798
508
759
410
702
138
196
949
998
392
610
953
265
994
751
903
41
59
653
63
112
221
17
361
582
320
947
873
483
185
587
540
767
771
164
530
212
648
566
84
21
338
215
934
595
944
869
866
257
678
55
562
531
748
844
493
704
442
486
90
614
489
817
909
940
509
556
212
284
337
77
663
876
505
883
844
139
483
343
747
979
255
324
812
130
989
416
906
995
572
59
523
491
175
126
277
454
172
279
147
954
852
351
352
66
442
235
492
754
724
32
241
246
702
555
8
707
398
985
473
470
246
953
813
189
468
421
346
904
419
265
609
807
940
478
417
760
515
618
751
572
132
670
588
663
774
421
963
259
261
695
936
412
497
18
972
809
216
167
962
248
255
47
946
66
571
78
318
473
515
345
434
931
523
779
650
548
637
901
140
38
795
440
344
879
529
641
287
84
750
336
535
722
428
212
734
752
38
197
719
759
392
344
586
906
651
444
767
44
758
154
181
366
566
432
317
467
437
98
931
506
691
960
734
115
981
288
699
356
954
511
864
422
247
831
934
671
210
729
30
392
412
801
772
277
290
575
390
579
566
282
547
320
190
935
822
885
332
492
148
573
653
14
438
577
39
386
31
495
780
544
476
308
669
622
287
572
396
882
604
65
167
884
883
526
660
260
257
636
243
843
318
909
545
535
237
681
558
459
560
600
484
708
894
680
22
696
621
215
918
544
701
876
978
896
750
567
872
791
846
880
212
666
914
191
789
869
108
15
915
871
817
292
988
355
259
750
890
735
34
24
779
341
118
909
314
563
843
484
966
472
538
612
214
543
943
547
472
42
813
252
541
82
689
576
718
597
23
274
436
559
750
406
247
589
730
383
45
986
981
603
389
264
776
618
98
80
328
220
734
823
870
65
7
168
1
783
844
338
296
461
755
267
95
777
113
908
256
243
749
58
292
747
43
660
86
932
652
894
127
632
317
621
419
438
894
370
490
954
975
98
401
655
70
814
67
26
207
659
753
820
565
825
667
598
79
834
188
931
987
213
405
289
798
132
982
988
703
396
594
636
91
701
367
907
928
438
708
121
639
634
803
247
494
7
800
159
504
284
333
603
65
921
202
99
432
19
900
821
196
608
654
998
463
226
459
675
368
486
744
761
748
452
0
897
987
430
878
444
312
337
499
684
839
715
473
436
720
830
11
601
964
585
636
69
941
685
848
140
228
397
718
106
396
773
181
516
262
822
382
382
937
324
644
209
461
895
713
366
39
768
238
682
1
422
862
531
875
717
587
51
262
775
22
854
438
3
209
246
376
865
813
60
446
811
355
240
21
835
504
183
401
291
30
510
685
344
665
60
545
297
886
355
599
665
155
157
801
95
317
725
863
322
236
310
525
774
71
523
185
786
741
354
840
333
585
907
253
882
503
162
689
892
818
381
687
352
398
595
114
246
273
455
859
474
397
412
853
825
331
818
787
14
295
472
604
573
223
433
142
105
0
487
517
943
344
503
831
295
523
786
985
391
651
437
144
915
40
967
943
50
991
53
430
621
884
440
938
72
49
577
784
381
603
382
793
2
782
394
53
678
2
601
831
960
564
781
548
113
151
675
89
64
517
770
575
274
745
37
512
266
537
81
308
214
270
45
867
496
786
630
835
64
489
4
751
504
480
774
799
95
973
177
816
63
903
211
584
620
750
418
582
258
44
238
62
69
795
863
531
314
708
595
658
216
550
256
826
142
604
561
771
484
921
190
794
734
18
229
186
996
692
650
997
23
960
397
523
901
921
189
632
755
325
907
914
202
231
377
720
311
479
495
185
627
689
913
804
643
940
168
774
362
142
779
141
96
391
644
373
32
55
89
611
438
804
684
210
464
767
369
479
611
789
196
527
108
622
724
169
826
166
134
523
29
539
893
703
317
435
662
120
601
961
669
52
321
202
732
513
880
278
688
770
911
909
994
678
417
185
878
381
248
510
592
340
957
209
359
784
355
149
858
586
352
19
402
730
387
18
296
193
903
39
902
729
600
619
314
39
11
390
613
634
756
532
435
185
272
242
584
252
62
83
627
821
698
371
943
734
221
177
894
701
670
708
663
75
648
499
185
800
483
265
196
89
206
939
514
373
189
795
720
109
111
778
537
382
533
790
154
679
682
576
115
692
282
624
563
939
132
361
90
383
125
932
919
37
944
121
393
661
925
172
382
50
9
852
847
448
581
818
104
676
406
231
191
724
604
724
481
870
452
792
96
74
40
987
809
589
396
239
193
650
394
682
656
528
478
320
730
642
396
961
197
283
465
46
47
12
419
191
249
529
975
484
660
8
921
395
0
91
561
253
866
166
651
980
500
904
815
879
972
106
211
515
215
517
922
245
775
360
862
848
786
221
701
615
413
173
141
674
638
582
50
874
383
222
577
832
714
885
113
323
460
147
803
694
195
471
291
0
905
497
574
286
631
374
318
626
535
486
939
113
565
895
514
517
377
403
595
33
94
149
636
510
293
859
707
866
108
681
720
162
854
214
208
318
823
540
841
941
28
376
90
230
310
161
426
82
243
796
653
393
349
388
616
414
51
430
668
967
405
711
879
890
529
347
346
770
903
576
141
957
422
586
942
224
703
31
262
915
577
198
194
752
891
226
632
465
882
403
45
223
894
923
582
185
544
796
384
960
96
378
899
416
933
470
434
264
812
462
591
793
573
686
938
0
724
863
471
227
640
73
494
835
128
329
451
593
864
246
700
715
404
345
822
347
667
829
173
564
794
14
716
451
197
465
461
651
4
434
372
120
706
110
735
194
921
571
788
921
655
62
803
154
362
539
740
999
315
195
59
124
961
12
614
872
851
445
82
421
814
160
983
582
556
107
959
756
917
18
164
767
682
185
337
928
890
487
599
908
258
207
995
343
276
379
794
891
414
965
853
572
403
386
430
663
329
831
11
659
39
697
765
905
284
817
641
330
596
714
483
142
300
642
747
265
141
656
289
445
604
943
163
428
972
646
121
242
915
858
78
822
700
473
212
906
292
525
754
959
884
972
694
698
323
270
926
719
564
515
878
44
232
416
803
594
55
455
546
196
921
895
739
808
505
174
762
159
320
168
309
744
203
877
553
773
359
496
738
497
320
284
535
819
102
553
308
348
126
637
823
588
558
461
176
450
58
574
755
798
868
307
30
204
44
788
939
495
248
917
787
520
512
584
645
275
270
437
797
87
941
629
625
501
274
38
167
28
943
734
944
96
433
891
791
160
862
563
482
505
504
678
780
551
301
930
205
385
93
211
515
677
550
568
192
84
278
853
618
54
426
537
153
327
515
540
4
614
996
844
142
579
730
128
698
140
611
68
418
960
435
141
965
332
387
241
353
35
81
994
557
685
898
357
810
335
965
107
98
494
231
301
861
422
96
429
198
960
675
420
830
524
786
738
826
958
156
59
924
332
422
323
776
721
848
804
14
18
600
299
56
917
756
561
113
897
164
985
306
930
850
664
535
188
812
152
799
406
956
291
690
785
422
207
456
688
854
787
195
72
80
770
893
766
569
109
70
788
771
11
489
443
858
804
888
941
257
298
943
861
726
997
608
894
54
344
346
55
928
319
648
509
989
209
234
710
186
466
249
341
414
61
560
245
284
771
302
96
904
501
575
211
797
712
736
548
814
371
342
501
996
213
215
234
421
234
313
410
130
720
770
548
62
597
197
249
364
502
373
71
806
968
260
903
648
347
520
120
609
894
667
983
283
840
754
37
460
902
36
723
559
688
438
343
431
498
108
649
60
681
96
318
866
996
967
494
160
382
588
850
5
64
259
702
451
927
260
761
389
65
103
411
69
330
959
799
955
829
319
720
261
93
211
128
602
160
914
171
599
799
774
68
943
342
437
678
35
372
57
599
190
747
727
171
645
954
982
567
573
318
297
86
615
185
361
333
22
243
286
865
892
283
363
891
149
346
695
221
262
741
132
570
41
138
553
569
272
699
886
323
56
337
410
85
814
319
801
396
223
192
218
190
478
903
54
451
423
643
491
261
205
626
493
35
547
418
368
58
40
709
107
84
736
930
343
800
223
187
228
901
858
428
219
424
488
345
207
619
613
245
137
958
517
410
658
621
243
314
885
161
649
34
313
449
504
712
784
792
3
792
299
111
6
797
150
610
358
542
25
509
768
964
718
502
604
958
747
246
920
885
151
738
578
219
473
778
868
762
611
911
541
816
712
80
905
856
358
887
905
256
811
612
239
444
637
144
111
593
554
450
18
326
466
477
517
545
528
123
230
459
337
682
417
219
804
946
126
773
713
226
808
182
974
772
174
860
220
515
960
611
619
345
447
226
822
451
883
101
800
355
894
259
342
179
505
547
675
357
211
863
544
572
13
305
836
427
570
991
889
198
485
759
592
22
429
566
767
408
180
579
644
905
927
53
311
784
250
496
619
835
48
288
301
954
944
965
537
497
6
275
188
88
434
589
840
204
115
995
85
520
298
421
699
41
237
325
52
902
401
308
118
842
914
584
508
990
956
519
98
361
123
256
634
292
838
769
658
266
448
740
397
342
720
333
761
422
903
823
52
5
973
496
510
276
667
77
902
493
294
326
895
978
158
188
70
537
635
852
72
139
538
785
618
888
726
355
119
860
773
645
917
223
348
834
48
220
903
404
585
71
13
468
180
8
701
641
189
542
496
717
794
611
783
373
96
905
827
468
286
281
534
9
87
724
769
19
646
760
178
537
549
292
863
933
885
851
973
804
199
983
525
757
301
880
545
560
174
922
972
843
912
811
371
161
531
174
622
371
443
896
149
483
451
599
633
903
389
775
3
972
397
454
999
736
731
594
887
721
284
884
337
633
745
344
590
102
144
578
498
508
109
562
59
341
36
440
505
839
643
754
523
888
963
155
157
440
481
799
579
962
906
53
986
83
330
152
79
916
381
630
527
781
284
652
225
468
489
898
562
311
768
422
478
867
406
281
141
986
519
492
953
740
433
655
92
554
364
380
940
529
138
619
733
436
497
747
133
377
529
316
298
494
387
431
355
425
110
812
874
467
961
618
90
698
235
426
776
926
368
593
100
800
599
784
995
578
463
399
784
13
516
624
706
827
718
46
23
166
273
990
417
738
129
598
235
60
635
892
946
928
264
854
811
600
270
665
792
116
460
353
30
111
628
642
988
693
760
445
436
36
651
690
884
553
402
691
829
777
778
57
235
533
645
194
372
682
815
458
903
164
384
290
109
889
483
465
275
352
597
284
809
934
651
639
6
672
390
252
220
806
352
67
150
871
915
834
489
466
181
192
746
196
884
71
935
356
282
575
992
353
924
611
529
581
833
600
8
37
327
306
43
184
98
597
662
621
389
160
608
514
255
715
258
869
822
845
98
133
467
745
247
350
699
153
718
888
635
753
54
48
890
751
603
547
98
886
447
560
255
553
573
315
963
370
177
462
442
844
322
221
395
526
570
698
94
724
685
296
280
739
412
768
350
768
977
329
883
382
989
27
355
649
152
543
546
248
726
223
390
928
934
605
492
621
717
39
149
138
554
253
114
507
196
51
190
990
120
903
10
549
569
437
921
784
443
453
573
222
238
580
562
685
3
850
656
281
378
438
674
437
643
889
58
898
287
377
329
124
251
183
36
367
530
758
554
10
803
248
14
705
928
693
334
602
68
464
648
783
174
307
562
441
350
825
325
37
217
16
307
456
659
254
874
124
642
321
446
722
35
289
995
227
285
518
46
37
893
259
590
18
40
568
735
967
188
713
696
219
230
23
154
627
447
953
953
317
823
565
559
453
649
442
948
527
846
80
126
443
980
423
579
817
371
443
697
809
997
236
780
327
457
784
778
40
238
521
982
40
113
29
713
359
883
136
27
131
366
726
87
881
296
843
220
947
464
959
202
876
571
625
605
604
767
97
78
245
315
205
515
512
825
821
741
727
899
90
108
682
550
278
175
557
288
624
444
763
618
158
869
592
242
132
413
837
228
299
515
209
373
631
493
139
291
775
787
369
331
260
126
434
368
697
354
484
882
445
260
37
129
919
694
578
906
133
981
103
13
975
353
745
909
600
938
681
71
174
321
296
660
380
435
891
179
668
548
542
479
931
148
227
980
158
443
969
824
718
60
704
957
909
684
526
575
707
250
25
728
628
365
367
33
849
636
112
339
204
348
542
979
40
213
2
781
952
794
687
256
27
828
605
417
491
711
363
538
391
16
16
835
889
915
8
414
176
47
614
18
628
875
809
344
289
776
191
506
294
605
433
252
556
996
473
301
72
318
796
304
173
705
551
706
216
514
765
837
580
891
550
519
350
784
566
346
283
483
185
429
925
855
836
74
931
129
50
958
279
669
707
960
643
206
497
208
542
339
912
649
341
57
335
493
691
180
816
32
128
21
514
998
427
127
334
882
14
803
970
251
849
552
142
551
523
812
696
789
199
617
764
672
904
66
3
433
814
190
524
153
334
590
71
123
244
746
822
73
697
517
292
832
534
146
649
358
310
246
60
449
393
580
921
230
125
877
348
229
682
954
922
978
277
553
219
132
389
805
804
723
184
82
522
318
486
879
57
13
535
343
113
780
260
977
625
628
525
709
149
834
242
973
493
507
390
519
688
625
815
955
184
852
116
261
646
901
249
212
843
554
926
365
19
512
318
868
934
792
873
893
548
585
524
84
170
340
805
890
183
570
437
629
441
216
974
191
847
213
188
405
548
629
268
176
268
318
993
625
828
484
766
585
37
575
268
13
876
291
770
437
845
750
835
426
73
15
883
602
0
622
857
701
266
596
381
117
757
902
970
766
674
811
495
801
141
148
707
681
695
286
933
775
265
343
587
426
38
317
604
867
709
538
490
476
601
428
167
616
125
524
374
984
678
569
134
443
422
263
531
465
218
234
457
740
641
802
811
220
860
691
16
850
247
233
99
675
809
219
803
968
840
590
766
948
382
110
532
439
451
178
340
359
719
824
275
576
335
770
622
348
268
27
74
290
1
256
184
663
185
622
254
814
610
629
320
252
427
452
620
919
670
494
701
139
751
744
918
591
0
567
623
130
721
467
167
506
286
692
638
792
961
830
721
313
910
839
198
240
675
967
214
448
56
8
845
545
843
465
795
519
442
826
604
141
426
395
614
848
878
603
696
109
344
46
807
433
537
819
52
741
593
605
348
600
160
876
932
346
239
625
746
389
675
791
379
141
136
390
236
139
626
459
659
620
720
97
72
108
173
667
353
3
63
50
448
499
263
82
918
125
830
800
260
8
168
842
746
587
76
147
413
450
273
381
275
514
221
144
674
766
947
246
101
611
560
281
73
471
555
128
110
276
113
20
834
953
27
476
963
777
323
482
112
821
202
170
54
210
900
809
234
529
948
544
2
485
881
292
535
917
438
543
848
413
790
540
134
708
20
580
152
438
697
197
249
41
901
475
526
47
949
318
881
271
780
899
492
273
162
966
429
168
494
380
559
827
305
774
625
355
319
304
350
78
473
190
857
788
870
679
859
956
362
160
188
276
465
350
35
971
846
520
737
873
706
648
831
512
18
32
665
921
678
386
187
172
217
457
953
680
889
468
244
311
812
672
778
255
369
876
271
518
432
851
861
597
539
910
316
960
559
794
320
912
731
194
191
285
693
874
382
728
462
914
125
722
583
352
643
948
623
468
851
822
538
878
847
461
897
889
483
513
302
385
200
597
226
914
848
557
662
895
337
919
484
401
787
889
867
821
813
487
490
832
250
131
356
729
853
606
431
342
594
49
609
745
974
491
408
242
900
31
756
888
959
336
785
626
389
372
967
207
793
279
666
568
978
287
888
729
722
936
598
207
597
744
248
995
717
535
21
24
46
808
409
572
864
900
497
577
269
683
56
891
141
183
75
469
972
35
417
345
777
267
675
196
688
645
430
794
96
580
319
631
928
489
910
446
311
547
145
502
500
399
547
301
507
339
879
924
455
749
773
487
497
617
995
46
400
114
161
671
308
299
377
101
591
329
508
241
159
84
807
465
493
406
453
988
205
808
411
640
79
3
442
142
196
488
409
327
535
956
684
255
370
378
515
898
851
510
892
83
60
937
294
439
804
746
860
41
58
471
490
72
258
439
189
528
619
827
639
14
724
36
916
472
238
761
713
259
658
74
257
220
977
984
753
6
892
475
266
164
84
519
114
85
164
104
148
296
236
877
483
710
789
311
955
934
383
648
97
258
268
547
765
547
332
598
596
20
334
662
932
912
18
829
862
734
597
796
117
883
908
754
993
427
140
610
905
44
69
998
474
335
510
862
655
616
746
21
411
906
529
233
375
472
260
885
61
612
474
620
27
909
534
423
922
656
120
287
156
160
902
55
621
457
103
399
638
979
793
195
291
30
475
67
719
245
433
474
632
820
312
696
256
291
247
788
628
157
100
3
381
764
317
798
204
895
355
691
719
735
119
929
630
904
36
648
982
821
834
156
441
915
637
872
841
209
994
391
915
265
480
532
424
330
347
692
605
265
918
842
942
129
624
917
645
951
709
831
301
144
419
226
113
870
682
78
613
672
284
913
685
621
135
592
842
570
788
699
455
459
533
230
422
424
90
212
744
608
962
120
517
392
296
400
119
956
442
385
554
207
593
981
848
938
856
877
12
767
576
402
857
584
447
435
208
807
734
566
583
298
648
271
583
665
181
312
574
252
630
296
385
598
401
941
728
733
988
300
895
643
61
389
958
330
238
429
488
302
110
103
147
881
233
796
665
812
665
86
677
705
411
707
993
375
218
953
734
335
377
166
225
494
434
12
638
370
805
370
712
135
776
917
73
346
295
59
852
386
566
206
279
982
455
407
475
384
150
428
464
513
913
692
860
185
549
426
157
879
551
584
363
178
920
682
456
485
291
266
844
245
124
623
979
267
37
680
451
732
117
555
820
119
316
432
236
934
830
944
542
655
23
589
258
653
565
560
490
98
48
886
657
427
424
519
204
352
187
598
523
136
356
293
959
969
184
446
480
814
311
697
431
583
48
411
180
585
916
825
117
861
924
649
513
507
545
526
704
332
345
430
985
843
983
182
855
50
677
722
404
538
176
503
143
190
705
135
103
476
990
441
762
611
753
906
394
925
941
965
878
211
46
162
19
185
508
730
245
496
67
857
882
796
609
753
763
30
370
616
275
237
583
549
272
401
741
844
164
455
483
300
538
645
376
257
275
880
103
466
549
693
820
132
124
358
762
156
143
676
992
22
975
334
891
959
799
335
983
133
485
548
836
319
710
653
180
44
51
88
605
175
289
940
193
14
731
363
584
110
50
986
536
160
256
116
962
213
675
257
204
849
725
91
783
315
434
776
801
975
924
573
781
287
430
108
455
516
313
594
795
564
69
982
222
538
459
961
962
316
218
72
404
419
975
926
130
854
831
337
873
548
199
180
959
683
357
671
806
285
905
582
121
679
312
602
219
772
473
62
157
289
822
80
258
126
509
361
121
398
790
572
754
998
119
144
858
778
432
34
153
580
387
758
970
549
554
297
623
310
938
744
14
509
339
921
740
536
13
114
348
576
45
231
8
480
966
994
203
3
155
254
41
409
191
940
29
803
396
711
415
881
793
966
632
10
578
286
365
69
908
48
991
506
29
924
93
758
681
648
378
930
69
566
322
619
846
693
89
145
464
537
763
830
264
224
378
10
341
249
9
446
637
584
774
932
528
133
426
606
94
906
433
399
971
529
988
351
15
177
885
935
459
861
104
496
174
370
904
373
915
919
576
273
509
958
243
263
358
631
330
228
836
436
710
298
815
466
20
26
628
254
21
388
33
234
482
71
582
825
913
442
664
359
608
363
289
109
193
582
740
665
268
78
337
746
466
319
892
459
456
19
644
240
842
515
581
833
538
7
244
550
128
345
787
164
216
535
168
324
484
222
886
869
362
18
584
830
236
810
425
204
313
64
640
469
170
168
366
929
801
473
26
769
952
856
933
181
684
337
848
47
785
889
483
27
712
259
201
801
64
785
841
161
895
89
368
744
4
493
686
587
332
869
165
920
294
517
611
444
371
281
661
178
177
713
540
999
108
492
495
921
280
240
653
25
19
508
668
251
776
876
383
91
386
681
296
701
694
615
775
100
584
548
270
919
241
736
814
733
55
628
964
886
573
471
790
776
283
262
182
151
183
279
206
816
534
407
601
853
727
998
963
314
516
181
90
15
691
172
563
505
409
958
626
529
742
454
740
691
98
266
378
39
21
680
973
465
602
284
277
176
686
221
822
437
888
381
865
100
538
765
677
608
778
245
408
339
536
525
731
504
412
767
867
941
519
836
772
177
288
944
238
663
795
185
724
898
912
445
280
709
666
832
407
387
875
552
633
148
256
518
247
517
202
977
50
325
484
238
579
769
874
967
482
738
519
278
798
652
529
896
502
905
178
276
764
762
427
652
162
364
625
121
919
512
375
880
551
968
205
406
588
962
503
296
155
833
533
176
865
670
778
116
112
983
64
157
721
36
909
105
37
735
357
476
484
920
762
609
926
71
573
30
489
433
449
382
918
503
260
963
971
105
965
725
993
765
940
161
262
909
786
528
631
978
456
545
786
849
923
373
453
818
663
513
906
606
968
105
265
231
152
637
465
931
100
340
584
788
262
579
241
431
730
115
523
33
776
219
136
343
586
858
324
251
687
730
935
200
739
451
543
257
126
524
650
353
561
622
37
974
395
308
173
652
338
332
690
230
186
708
890
925
611
549
336
995
923
450
363
387
36
17
70
638
880
754
258
369
108
183
252
650
910
573
790
810
570
442
979
169
356
502
485
578
993
235
783
641
656
859
624
313
150
334
713
702
845
849
761
587
249
77
380
501
635
626
880
988
600
34
778
951
274
236
200
913
978
742
999
950
180
289
412
866
512
880
797
622
711
736
138
49
988
601
449
576
562
3
177
501
478
423
628
557
991
95
631
304
838
228
806
338
834
645
326
595
406
728
837
859
125
789
680
946
990
20
404
866
54
812
901
13
843
863
624
751
973
237
664
383
628
865
389
110
543
6
966
894
207
227
884
537
304
941
641
13
4
523
902
53
275
967
387
899
742
894
804
572
324
754
995
895
707
401
110
577
780
959
975
799
262
358
367
496
744
367
890
228
600
933
169
780
216
48
942
304
775
127
696
907
550
165
192
278
986
711
361
371
942
464
87
474
69
713
50
211
548
683
93
443
525
163
342
75
195
614
552
500
779
33
983
52
157
877
387
392
657
544
47
455
271
547
409
623
823
254
76
266
792
905
806
126
106
985
121
24
453
89
382
325
661
613
37
869
669
323
631
707
3
334
555
177
879
225
822
251
994
641
317
473
104
709
768
447
381
239
477
344
88
42
938
688
737
175
840
294
463
103
775
878
621
771
335
551
913
547
619
936
247
578
654
666
98
515
979
891
554
139
277
752
999
828
439
607
876
517
960
3
858
322
76
742
793
952
700
737
429
866
711
893
332
276
281
303
282
406
893
428
519
248
174
740
494
598
312
548
134
437
568
641
197
335
759
829
491
734
874
111
607
364
309
250
485
884
70
96
778
71
175
299
59
928
190
953
908
133
510
920
471
679
266
757
233
888
143
984
0
512
484
196
544
279
744
381
752
448
641
1
239
907
502
912
662
244
932
577
813
450
843
503
835
969
362
176
798
543
717
694
361
432
798
684
436
421
44
91
742
126
363
223
186
682
590
991
264
460
386
65
245
664
450
100
604
640
347
323
83
278
94
383
739
277
482
184
37
971
62
290
506
111
425
117
298
615
570
482
716
76
613
368
818
350
134
806
879
700
823
14
364
834
338
45
693
97
73
307
610
690
705
816
881
497
837
885
254
35
380
827
599
601
373
517
649
751
440
48
687
811
829
354
424
630
873
551
925
674
339
850
217
26
125
415
620
559
814
599
384
912
754
734
563
157
933
339
704
631
118
472
384
922
311
572
558
810
491
678
243
240
986
128
8
859
50
992
573
526
470
41
171
710
986
745
85
331
879
325
320
730
721
721
600
632
710
835
864
216
76
438
545
502
595
26
29
609
586
866
329
57
329
864
988
505
744
557
758
982
477
105
153
227
117
824
706
352
991
134
732
101
499
844
689
205
978
459
846
392
419
753
261
234
379
519
3
36
767
313
529
884
612
209
218
918
772
609
147
854
811
121
794
276
673
935
223
267
655
571
436
619
880
172
532
459
246
631
698
288
615
147
337
223
392
612
1
204
321
257
817
437
409
927
251
974
839
779
770
368
507
293
577
627
561
916
959
467
282
342
52
520
652
592
561
534
744
609
875
15
725
669
137
379
198
446
606
194
850
689
883
678
907
674
29
173
809
280
350
928
621
741
436
573
111
480
817
404
43
108
469
617
659
868
815
671
474
316
678
227
412
725
919
927
593
844
786
225
53
903
987
111
582
378
929
620
528
892
401
47
924
395
324
933
456
456
207
514
194
699
204
766
586
678
17
815
599
443
334
339
930
325
710
504
215
208
749
418
120
153
306
318
692
959
661
92
472
653
949
506
815
786
651
648
546
593
131
146
529
394
772
974
405
240
170
764
716
745
747
808
385
829
449
301
960
499
640
839
941
872
387
978
76
770
844
538
796
138
445
532
367
468
142
228
617
489
147
423
824
802
987
664
299
167
16
524
542
414
440
739
416
763
171
130
387
106
712
192
164
327
597
115
662
322
896
826
254
817
438
680
211
98
311
778
531
303
162
219
601
908
976
893
48
44
894
129
360
742
22
588
724
331
90
350
600
280
361
845
812
369
112
548
31
451
493
584
996
846
992
160
853
144
231
799
405
247
852
884
912
8
687
968
524
782
436
948
197
267
325
979
318
867
347
729
215
727
694
803
680
594
118
766
375
878
750
306
194
189
894
355
169
930
548
5
675
766
501
350
807
858
881
878
435
662
355
751
499
278
227
261
743
728
227
270
316
564
266
915
146
885
928
898
625
674
678
267
526
791
15
410
522
232
925
107
690
584
466
167
937
49
364
554
654
131
12
488
355
171
292
746
705
519
403
475
583
829
898
288
646
966
550
70
413
585
429
100
536
685
851
881
476
945
384
421
917
195
956
241
774
29
76
264
355
5
268
650
909
356
247
450
485
977
898
189
187
253
806
76
170
286
426
764
750
575
895
865
458
508
4
174
998
548
397
9
337
651
941
43
67
73
673
373
321
918
979
38
285
201
125
516
262
742
637
197
33
583
241
118
293
150
778
477
880
675
167
64
487
870
643
647
224
54
408
167
129
35
157
945
811
616
417
594
948
395
397
710
314
85
440
300
332
147
961
426
929
703
519
754
785
471
313
909
493
683
995
405
245
672
110
486
954
734
478
83
278
884
149
201
873
901
64
626
598
725
289
139
857
380
426
207
929
57
860
836
962
281
430
101
393
239
917
795
671
77
462
86
990
863
961
741
187
249
300
422
383
513
189
277
99
716
921
151
661
939
198
123
498
878
778
782
781
337
778
772
599
476
126
270
11
327
496
499
930
215
600
483
271
870
628
388
235
254
461
692
997
578
367
292
790
25
412
329
306
960
14
938
364
187
46
276
858
235
681
296
583
376
220
356
533
334
447
332
243
462
961
153
522
735
75
520
655
348
305
484
789
609
773
759
836
556
624
728
969
388
336
802
766
154
80
154
886
535
640
661
62
831
806
325
854
488
789
248
301
11
198
283
655
985
511
521
130
784
54
656
128
405
123
557
394
214
821
985
370
543
460
797
893
312
358
532
850
348
145
588
580
270
474
324
724
176
349
157
362
793
699
618
637
484
682
794
402
31
308
473
36
512
336
308
610
50
330
617
546
667
175
830
565
125
137
921
213
432
403
27
25
751
713
32
159
61
674
988
865
470
290
169
294
317
710
211
194
43
554
679
98
103
562
724
557
908
425
866
500
317
643
280
818
167
235
915
69
759
164
599
810
522
924
956
244
21
279
436
310
907
309
734
181
246
965
561
558
581
103
355
62
467
857
860
164
103
201
779
307
962
46
479
600
776
236
312
237
901
629
723
143
285
484
752
294
884
98
433
158
493
579
243
597
276
593
437
250
356
807
421
814
935
814
253
549
118
186
852
380
986
239
246
616
432
359
987
594
685
362
815
475
624
362
89
262
246
314
870
188
228
14
75
194
748
920
24
738
947
640
363
974
949
132
694
319
445
474
513
816
131
294
951
301
606
237
773
459
412
184
658
198
751
938
670
48
400
191
49
655
22
167
925
641
428
397
249
441
3
928
989
197
904
900
912
365
293
966
846
859
414
639
753
696
260
502
809
973
577
571
236
405
652
856
442
439
674
527
692
564
892
751
277
948
367
67
605
553
509
79
614
70
673
696
902
865
241
569
522
175
63
311
866
734
436
744
12
606
100
612
340
559
188
248
297
824
70
799
300
983
571
266
352
743
863
739
465
490
492
129
178
867
919
903
628
394
910
403
643
531
721
131
449
248
835
256
236
343
811
496
897
254
302
199
431
927
35
988
596
844
754
329
308
616
486
901
503
605
251
836
392
510
390
927
577
511
660
148
351
932
467
440
141
151
583
265
792
706
780
244
461
152
983
867
39
336
990
376
290
617
213
700
297
26
749
842
765
948
715
889
358
873
170
980
135
875
470
334
202
626
22
446
687
722
429
814
1
637
520
586
404
544
404
551
782
632
50
915
499
235
187
889
383
277
48
599
473
893
273
786
313
261
121
284
793
2
390
510
109
411
245
536
311
882
25
383
926
808
781
977
640
71
678
369
211
863
581
481
757
863
831
154
346
341
897
748
3
782
107
759
945
998
133
402
272
133
947
307
539
529
181
4
307
174
368
3
562
785
126
202
143
737
338
886
30
672
413
176
873
382
741
885
768
523
405
599
312
836
802
291
40
195
342
539
335
684
945
646
612
43
887
761
854
526
869
824
178
351
188
8
112
353
361
84
85
307
274
303
567
335
170
594
855
30
449
287
611
424
811
870
909
96
517
866
59
991
96
614
670
873
501
5
117
202
637
639
653
63
283
854
961
768
91
287
228
865
78
138
813
104
740
248
995
900
566
261
226
247
253
531
507
156
417
913
874
740
691
677
200
312
422
701
966
662
464
883
643
520
71
547
37
897
910
228
506
848
889
716
282
377
399
660
273
514
482
296
532
95
736
46
725
186
127
950
901
445
179
722
415
76
552
104
345
334
573
216
805
363
103
814
643
654
115
904
856
199
334
221
998
570
58
266
780
21
266
486
437
165
534
702
888
26
880
492
74
313
859
986
93
829
278
171
671
888
367
136
167
568
406
64
118
318
440
174
632
570
523
553
467
946
852
949
319
870
558
616
821
425
156
260
792
880
126
732
721
725
142
490
131
841
278
586
910
828
235
410
631
659
642
703
4
51
236
258
234
769
102
840
644
461
810
669
492
513
970
808
102
747
238
792
643
787
418
123
49
751
592
266
460
92
801
279
57
492
141
120
302
391
359
594
366
742
14
974
684
718
191
693
153
522
348
299
588
745
753
660
598
570
210
342
518
881
851
505
918
385
1
786
189
222
298
58
853
961
934
509
812
701
427
299
263
144
975
751
631
470
497
608
369
198
316
924
828
223
215
798
818
923
454
927
150
905
208
719
336
727
599
75
952
90
172
177
451
998
181
531
331
46
152
497
910
615
123
922
588
978
163
773
933
528
433
248
360
429
823
113
458
531
714
121
153
482
898
607
407
94
579
454
274
648
660
638
230
808
752
637
831
305
246
472
278
119
114
423
646
801
90
298
824
255
57
209
355
5
644
859
662
263
848
719
740
903
935
371
846
165
835
285
220
671
828
649
690
160
776
427
855
317
39
420
19
505
574
916
803
99
861
19
183
257
841
252
949
701
854
71
930
421
296
239
772
515
173
275
169
219
478
415
570
105
118
702
832
112
494
814
527
400
931
74
622
374
338
26
245
17
326
77
129
233
801
710
585
402
741
262
821
292
991
502
148
96
811
766
66
977
920
61
692
716
249
80
458
884
718
427
227
764
86
232
929
974
822
958
252
274
948
8
14
206
919
562
879
332
948
190
336
290
644
785
552
100
629
896
126
241
829
222
565
928
650
453
860
645
181
451
634
448
971
19
291
78
671
582
66
884
768
427
474
812
515
328
305
510
590
54
304
992
711
138
801
568
856
44
7
521
608
395
146
540
364
826
139
714
450
992
600
775
177
947
444
102
138
93
998
433
615
238
521
596
983
717
461
690
567
131
462
524
203
566
923
627
24
28
620
596
900
638
537
594
743
48
642
647
269
949
454
942
999
508
82
792
369
741
891
261
326
75
376
90
519
287
408
737
394
38
412
923
621
252
839
931
597
982
306
477
687
397
366
200
482
133
43
148
465
90
996
723
232
435
986
647
868
513
810
930
291
569
183
63
901
570
480
925
873
734
91
635
593
2
217
861
150
839
473
107
265
40
432
918
409
152
397
683
269
834
787
186
577
473
520
442
77
262
396
44
971
899
109
587
185
796
348
603
823
599
790
313
824
199
596
915
728
755
10
351
193
745
741
450
470
797
680
428
430
446
366
756
786
324
171
122
242
586
752
233
831
712
958
700
683
932
213
654
531
472
306
747
946
21
303
613
649
612
811
622
27
313
829
166
162
487
266
830
987
881
883
452
862
869
657
970
345
977
348
381
408
788
957
290
221
386
239
15
404
391
969
777
818
191
436
42
326
446
2
880
406
47
687
800
427
22
664
604
544
752
800
93
357
952
974
943
584
299
990
743
579
413
709
143
441
363
866
579
801
377
336
267
584
404
579
650
988
916
79
427
387
455
727
8
278
255
385
450
711
615
83
942
651
765
631
283
735
688
498
109
304
597
210
111
370
916
66
976
381
298
754
888
85
83
547
768
303
586
54
834
634
699
437
638
630
147
954
300
810
541
255
144
561
544
959
845
851
261
1
840
800
687
532
934
41
254
653
729
923
65
21
350
33
398
30
730
930
927
27
605
171
310
564
444
936
221
839
361
133
495
492
754
163
941
247
147
584
499
912
914
364
290
350
573
720
427
717
526
365
559
197
401
174
765
389
241
457
600
575
14
726
797
854
257
780
70
375
224
677
730
266
100
707
537
315
183
942
820
986
650
246
47
992
154
405
975
247
807
118
413
254
17
901
589
325
58
838
412
359
480
492
919
73
267
355
671
232
101
507
272
21
685
895
193
663
169
944
104
594
376
755
275
609
296
473
476
535
533
86
505
413
305
658
175
29
69
628
966
981
154
3
803
124
327
821
243
510
949
682
972
449
558
267
572
925
694
395
237
391
514
641
172
670
541
656
149
875
949
425
988
307
808
223
740
837
469
91
329
612
495
299
822
397
962
239
605
790
559
146
487
373
467
47
575
976
891
695
517
268
488
181
54
767
423
182
319
25
568
55
620
229
781
905
479
847
980
935
94
923
378
105
177
470
319
652
404
1
399
643
968
295
694
546
303
388
120
60
11
296
273
458
399
922
328
537
241
176
923
927
10
68
940
869
309
891
541
833
130
370
297
630
474
705
659
548
670
318
920
360
259
585
643
923
601
406
928
594
613
301
615
812
570
136
547
764
413
906
205
627
391
48
165
63
914
228
849
111
934
26
663
211
505
18
672
404
638
701
320
380
895
199
283
365
878
923
102
893
840
107
124
602
966
328
481
103
426
699
293
844
777
973
532
74
341
254
480
656
858
319
839
117
460
334
670
277
343
767
618
419
963
260
591
236
302
170
689
524
764
959
82
902
648
588
62
950
780
622
141
843
258
178
664
397
95
757
624
122
57
758
114
848
383
862
290
920
960
128
780
740
914
884
67
372
737
928
901
938
556
633
407
285
259
891
191
922
758
53
30
517
225
116
461
119
802
491
776
338
344
172
520
500
699
474
868
979
162
408
603
916
793
574
825
411
333
308
555
876
186
530
335
646
231
980
568
98
243
911
228
907
623
473
757
957
85
134
617
655
423
340
646
29
931
62
481
920
464
226
536
511
801
600
161
3
298
3
505
591
901
282
651
551
423
343
46
952
919
221
902
253
485
773
63
683
265
892
499
619
642
897
988
0
853
816
624
646
332
438
217
411
912
924
693
172
269
910
509
481
338
360
594
223
13
918
359
408
675
907
982
745
994
616
577
833
889
321
439
41
686
969
497
102
284
346
905
361
454
175
826
354
479
659
555
981
663
106
324
340
465
925
685
793
473
937
549
964
773
629
976
199
733
202
718
347
871
312
25
922
173
700
81
278
965
112
513
31
63
778
346
438
308
620
727
745
695
116
492
971
247
315
896
837
830
973
60
423
594
394
476
382
729
519
924
115
179
43
756
67
702
154
324
474
765
514
13
801
370
281
114
554
274
542
502
862
13
950
649
898
773
634
54
266
863
770
347
482
382
434
728
491
163
992
401
204
830
699
156
393
761
155
618
174
195
565
752
338
281
648
178
100
289
710
875
483
326
127
53
896
505
599
524
608
893
109
338
29
799
343
775
131
706
249
30
374
489
802
211
930
457
740
897
362
165
775
994
207
369
578
174
132
946
350
794
467
445
173
812
522
192
589
560
141
386
7
847
68
19
475
376
102
49
782
37
159
588
121
114
578
661
502
566
10
876
920
524
205
689
410
619
909
102
913
695
770
972
251
774
927
181
421
744
305
153
262
839
492
364
169
171
523
952
550
609
248
199
680
974
924
573
857
447
290
329
190
87
731
968
130
121
355
627
734
98
769
210
466
922
302
587
398
563
906
164
555
299
743
327
138
457
492
877
62
548
743
878
644
140
908
659
68
381
136
445
932
465
55
334
448
306
134
475
535
805
832
244
225
569
452
155
489
334
365
913
23
743
602
440
466
974
821
712
324
752
192
347
226
708
798
941
533
76
334
796
525
443
925
546
930
925
560
962
945
310
892
896
344
623
118
172
690
98
752
743
657
387
159
833
786
498
258
957
942
288
51
617
466
130
930
937
777
43
310
143
190
419
638
961
160
881
403
40
633
235
286
208
0
105
346
396
781
425
177
840
148
280
337
682
6
258
973
294
61
811
136
560
365
708
549
812
487
507
424
560
419
819
914
299
504
726
393
32
134
759
966
932
797
694
6
511
616
648
712
816
832
509
609
858
604
425
746
738
604
469
360
466
26
343
742
522
875
489
696
998
715
680
977
18
284
631
696
746
381
144
871
168
136
541
943
438
595
197
209
719
663
482
790
633
60
968
640
152
977
780
665
172
765
971
865
522
959
333
4
34
330
91
41
447
440
230
664
470
436
197
238
91
367
35
780
185
795
172
39
274
328
280
353
846
222
901
329
621
282
749
843
355
816
358
932
966
940
301
651
128
922
147
116
648
102
297
885
256
618
502
908
385
636
458
643
942
342
563
449
811
230
885
253
372
864
471
183
17
26
889
962
801
741
419
128
469
568
80
288
369
698
588
30
86
292
30
517
418
532
350
433
801
366
630
708
968
707
296
502
198
754
47
740
843
973
878
450
469
747
436
670
728
502
964
293
862
970
576
358
40
950
782
75
856
200
586
938
566
386
638
881
284
401
684
117
482
796
317
681
863
320
40
747
796
167
27
379
864
817
490
765
88
456
643
766
152
861
271
726
178
187
78
666
139
200
395
53
312
755
118
543
162
399
965
690
288
715
465
862
982
754
696
182
615
135
745
49
666
215
719
290
626
206
878
37
526
84
627
346
569
174
394
633
200
874
784
762
351
482
852
207
617
38
289
469
696
936
114
479
65
444
865
717
128
340
217
443
611
999
347
444
134
164
15
547
124
191
356
350
449
873
425
725
311
350
543
609
230
35
763
681
383
499
518
206
938
15
345
439
523
252
516
831
927
28
345
192
499
410
87
60
568
810
760
75
390
525
293
610
211
755
690
190
379
361
788
899
247
848
686
363
358
187
185
672
842
545
690
842
18
700
471
568
956
852
365
471
668
88
214
870
455
677
760
915
648
558
59
597
527
904
333
951
846
664
3
621
556
61
67
21
629
238
257
816
21
836
784
276
218
910
9
576
38
883
317
622
233
77
494
282
603
166
609
138
7
219
802
846
746
590
666
249
169
416
717
446
695
305
936
833
522
557
229
808
759
964
504
928
153
716
494
683
982
61
877
257
3
978
358
949
38
128
472
68
653
375
931
348
23
455
2
936
887
293
503
905
909
852
880
932
440
162
94
247
265
330
485
427
766
238
25
481
280
534
177
727
481
1
608
175
477
884
874
289
723
835
828
158
43
689
897
377
27
375
357
947
34
144
78
436
358
121
976
97
472
737
110
984
545
892
191
732
497
827
351
920
578
799
981
429
23
121
824
960
900
66
32
989
669
648
167
37
898
821
986
675
340
805
761
651
27
213
548
21
407
393
269
58
794
165
693
62
316
648
946
370
67
685
789
698
816
980
431
147
320
647
332
247
658
881
910
126
191
21
35
461
224
208
726
85
978
180
264
609
324
27
398
397
906
400
537
95
25
474
511
192
168
979
587
98
623
852
55
635
790
120
533
210
810
362
119
706
964
702
321
319
542
279
229
753
863
620
866
695
501
307
721
984
252
918
824
103
804
943
759
265
418
662
233
971
644
289
580
846
906
499
652
44
852
397
106
985
806
919
119
879
726
68
375
182
507
820
614
692
520
479
649
91
193
545
92
172
883
709
498
514
72
559
873
84
16
382
878
456
222
46
608
87
75
73
248
956
443
197
235
796
502
239
736
992
897
717
732
813
952
626
598
250
631
365
103
590
726
357
389
421
374
927
373
209
610
820
562
494
224
8
107
739
87
151
504
551
446
556
100
362
858
303
855
978
286
571
735
240
362
144
198
0
818
767
968
487
318
798
42
196
395
23
651
166
8
347
566
355
810
30
293
223
443
488
197
236
402
645
570
703
93
350
743
973
685
856
677
449
926
232
495
491
41
132
306
128
774
639
913
295
250
230
313
999
513
107
496
573
506
113
594
77
575
812
64
944
581
320
357
163
458
92
48
40
204
714
353
481
68
290
970
639
612
456
483
243
133
216
914
164
458
910
678
707
785
134
131
920
963
246
507
912
805
379
514
89
867
538
269
339
969
182
421
567
502
191
988
957
556
837
411
322
830
979
971
210
636
23
988
205
492
551
821
640
76
540
411
277
946
608
200
13
590
481
66
448
124
115
725
829
675
185
927
826
662
522
868
578
761
887
149
119
423
266
830
50
351
69
559
174
78
360
396
429
869
662
981
254
535
404
211
327
472
977
297
978
529
219
133
705
693
521
628
681
888
739
590
795
400
3
54
145
997
168
722
399
943
30
41
76
306
505
208
594
285
149
550
863
31
921
358
386
695
180
359
911
894
310
91
829
385
881
234
384
272
133
264
140
999
150
520
621
851
773
40
262
717
842
419
64
33
780
456
492
857
995
985
599
888
624
803
58
661
986
110
602
618
527
721
100
877
944
892
851
493
698
281
537
592
319
172
512
878
810
704
505
375
220
30
475
648
210
421
398
705
370
341
684
510
995
650
638
557
378
133
571
143
874
96
962
546
849
212
384
881
945
126
37
585
913
948
199
115
447
595
585
795
939
385
60
882
908
692
691
301
171
910
996
70
160
783
207
656
403
185
551
827
37
8
456
668
254
406
277
781
972
97
134
752
271
765
127
447
886
491
152
327
279
887
50
646
820
362
551
444
504
121
51
120
96
319
212
412
971
855
24
735
978
727
631
410
906
315
490
500
802
294
934
285
485
367
284
632
841
776
544
11
16
458
165
217
601
944
21
643
658
576
904
812
487
666
16
765
597
647
815
374
923
730
6
206
782
168
529
469
378
993
618
789
706
383
528
238
630
428
457
101
928
90
416
523
714
982
631
481
503
895
156
242
656
367
380
182
351
835
277
188
588
675
784
260
275
547
14
185
430
319
457
977
788
625
677
116
37
270
861
63
987
821
108
888
373
956
245
402
695
989
10
421
48
967
475
386
304
660
558
252
768
128
683
469
501
875
584
120
988
699
531
385
317
118
221
915
615
913
343
29
591
633
140
377
968
165
332
242
687
588
571
938
393
138
364
6
4
134
901
593
613
163
38
526
559
627
431
221
935
974
474
930
657
509
281
594
983
42
257
116
4
672
643
540
413
17
638
484
243
700
868
652
637
840
785
542
971
527
645
761
537
33
290
28
833
362
883
662
237
79
977
299
624
415
292
970
775
219
433
33
578
513
351
86
935
644
639
295
897
175
792
610
932
154
704
504
924
338
245
185
110
921
222
156
902
687
670
35
460
548
713
287
404
739
712
448
370
343
820
619
749
434
434
534
965
119
149
984
511
987
150
452
647
330
833
182
562
149
365
312
360
577
784
338
732
142
939
579
113
701
740
185
658
193
369
601
294
543
626
979
710
76
473
1
42
966
271
751
500
413
616
0
731
452
808
859
957
495
829
115
270
868
769
964
279
959
374
14
765
805
19
399
371
373
253
686
66
259
567
160
280
726
805
716
149
661
487
548
400
747
915
553
42
548
282
141
88
449
616
306
433
342
780
347
654
764
101
669
816
452
122
688
83
742
995
895
471
418
57
332
658
464
154
399
693
155
826
691
603
259
948
235
173
47
651
170
820
540
459
181
255
624
137
724
124
285
327
123
417
911
685
126
978
295
657
430
813
161
228
659
759
419
807
760
258
141
389
103
454
281
270
448
889
228
53
832
848
76
400
12
333
921
703
610
98
986
271
850
35
792
510
529
606
201
968
87
397
27
316
27
486
535
306
365
97
666
62
720
935
965
754
188
214
221
313
718
581
469
874
11
345
672
426
838
154
52
185
931
584
633
718
684
895
943
622
237
344
143
283
997
489
72
869
986
465
799
208
714
754
705
517
156
850
585
534
10
707
325
112
724
269
728
93
306
849
980
672
339
424
236
577
27
424
593
166
515
185
458
143
458
397
465
603
589
61
587
137
177
871
255
220
163
442
554
586
964
316
484
976
771
495
926
845
79
826
470
142
99
161
564
374
158
828
839
845
697
503
406
968
286
128
892
861
994
85
66
96
592
934
692
445
299
219
217
842
816
604
174
646
828
604
318
994
990
548
957
95
968
823
658
984
630
810
529
301
214
182
802
407
605
293
324
521
860
771
679
367
625
918
820
652
393
436
328
353
856
572
378
103
178
515
201
29
775
389
418
92
922
344
305
351
316
603
400
213
161
999
375
726
595
691
380
267
318
560
290
336
953
867
597
650
423
589
81
969
621
135
846
117
495
582
128
257
510
304
878
319
845
392
355
64
231
37
821
454
775
200
857
389
579
357
830
955
82
487
426
323
579
201
345
695
34
638
9
320
689
653
112
335
324
892
747
273
812
439
908
367
328
595
807
94
455
982
276
905
380
15
537
141
494
300
919
692
787
883
441
157
974
629
561
434
332
886
147
443
538
27
472
620
598
283
331
941
750
357
336
709
488
5
55
439
771
950
828
158
556
438
234
471
929
59
788
441
322
834
357
152
940
265
68
736
231
935
710
587
921
269
256
787
92
10
6
237
787
610
675
965
671
856
371
144
43
239
339
860
710
586
510
695
688
286
259
247
343
480
9
902
878
727
649
335
52
934
601
269
670
418
685
819
188
631
703
103
516
793
164
948
981
180
435
91
951
603
923
183
24
93
594
603
390
334
416
542
876
645
261
71
932
432
415
572
1
680
939
778
113
47
856
757
213
861
238
204
921
405
411
988
874
801
586
514
970
433
968
74
290
376
94
388
226
495
720
309
607
948
708
430
530
531
483
690
832
360
31
902
203
559
606
348
942
107
319
568
774
173
230
363
134
73
394
23
993
720
871
11
10
47
597
604
834
6
148
838
681
178
24
621
518
520
865
804
477
321
934
729
91
889
668
856
687
413
53
210
356
948
451
64
832
558
740
309
624
873
371
285
504
438
657
343
94
968
121
556
841
199
9
317
11
726
643
989
796
892
15
10
312
685
712
401
889
64
203
895
127
359
313
156
368
140
196
597
804
483
458
159
193
640
160
386
658
385
499
308
166
672
826
88
775
623
137
265
906
100
193
344
585
266
606
520
580
108
675
334
767
549
335
698
675
142
291
657
637
149
562
386
179
926
530
431
771
810
348
944
30
713
785
427
84
84
919
104
532
636
406
132
203
332
62
457
843
616
510
61
60
348
273
984
871
3
196
774
724
660
133
999
104
684
239
675
644
726
12
565
6
756
829
190
886
519
743
796
249
662
347
382
800
430
826
847
577
233
79
530
737
148
192
679
375
199
693
569
9
173
208
505
37
499
91
558
621
860
540
292
732
265
503
799
102
98
0
361
520
79
153
258
882
365
419
584
51
41
498
246
616
612
211
490
98
657
776
788
918
867
679
564
175
987
912
523
53
816
432
808
997
523
227
948
605
931
305
840
276
322
96
168
87
192
256
372
11
110
740
69
995
332
730
164
646
421
204
611
70
616
399
881
526
927
538
833
811
544
718
783
632
211
372
236
948
684
66
941
513
999
34
247
924
384
147
86
198
989
701
315
457
111
389
521
325
190
255
195
156
527
993
691
109
969
875
930
815
195
173
986
60
531
503
377
774
554
24
415
388
732
852
576
658
495
34
823
300
265
603
829
844
582
486
426
134
305
480
298
448
837
9
898
844
414
485
505
167
130
271
424
47
78
298
686
596
501
591
397
766
904
931
208
940
294
633
585
577
768
719
260
655
496
616
540
920
189
919
551
572
185
156
123
723
578
411
332
803
250
186
962
348
195
503
307
748
60
572
327
326
1
952
669
497
870
736
687
520
915
847
755
836
42
251
600
456
946
973
109
36
500
468
576
776
795
115
402
603
914
747
896
784
620
876
989
781
336
428
220
437
722
629
271
124
277
586
223
407
419
300
577
728
799
316
912
263
223
559
742
471
326
677
874
476
19
168
966
360
220
972
418
318
405
261
479
908
470
551
724
916
521
877
42
348
404
231
840
346
842
36
338
456
841
487
343
458
54
447
975
391
263
567
325
995
475
773
665
149
484
811
96
908
15
651
554
425
145
116
670
883
585
746
826
703
930
126
260
335
415
440
364
655
266
473
676
67
273
750
347
74
582
16
679
498
992
342
232
197
877
362
873
987
68
617
620
355
346
258
488
489
669
488
135
118
47
161
127
567
853
943
926
548
622
914
952
116
941
326
950
759
581
563
623
763
93
342
901
184
495
880
40
195
201
831
964
18
807
34
725
846
240
808
347
544
889
660
514
359
996
441
599
461
358
734
495
937
309
807
71
597
121
389
489
874
555
699
770
588
265
39
531
468
759
949
535
689
261
790
755
556
82
928
171
737
364
382
954
716
208
646
532
355
513
11
10
342
230
107
417
552
739
26
2
865
616
19
566
840
667
637
339
988
181
380
842
215
375
82
778
786
379
341
703
960
975
848
779
91
325
32
205
239
283
11
852
436
927
691
777
916
682
187
900
299
261
431
684
699
903
915
853
22
427
48
598
449
499
265
690
910
494
982
810
133
953
351
777
105
854
260
894
706
924
495
604
119
91
673
686
810
677
536
600
237
731
330
610
567
710
194
275
222
706
232
162
857
640
257
150
169
726
942
717
286
974
938
776
612
239
563
802
119
30
254
153
655
253
658
468
110
979
986
90
509
263
970
110
749
697
52
728
269
789
427
179
204
890
644
268
911
738
159
480
236
710
992
666
641
117
32
144
458
341
540
86
877
392
969
796
877
893
631
273
850
32
501
604
374
139
619
352
111
689
824
855
399
356
138
758
57
58
583
620
737
491
511
959
365
139
674
64
386
158
155
784
315
950
102
284
205
8
843
645
460
503
178
351
615
129
980
836
668
981
193
805
286
912
771
800
336
142
40
335
793
521
189
885
80
516
818
993
257
267
5
274
776
89
323
265
45
576
980
136
264
713
625
158
286
412
858
392
543
148
973
272
541
60
474
955
597
652
391
91
290
601
337
216
169
66
866
335
514
947
103
89
35
159
976
434
166
288
773
981
122
864
603
223
966
659
572
314
560
407
405
68
899
965
140
981
59
288
326
564
360
705
208
296
293
182
726
610
503
887
985
485
737
749
298
526
979
172
306
930
164
34
221
847
981
706
63
941
998
771
731
368
628
706
857
405
882
845
729
581
677
373
702
956
272
567
978
252
325
958
127
7
432
880
410
391
296
86
931
687
66
309
303
9
72
217
727
152
510
690
348
334
93
337
442
676
665
46
969
498
68
710
957
396
164
333
472
101
695
571
890
959
248
519
805
334
111
157
528
579
35
411
557
624
760
701
418
833
565
455
788
760
203
976
123
348
960
131
94
222
833
392
95
387
122
466
945
824
61
466
854
640
942
27
692
907
686
593
395
844
726
21
650
189
926
990
758
530
133
143
348
690
758
67
715
200
783
911
226
723
595
707
33
256
362
360
56
414
498
611
931
963
918
936
312
71
576
998
565
363
23
376
601
668
454
854
634
878
924
508
954
289
342
43
542
653
201
602
402
82
191
113
239
384
684
495
405
534
296
798
118
765
834
746
194
509
228
804
487
820
775
675
520
14
109
934
741
297
814
33
544
863
29
993
646
636
468
542
617
544
244
71
288
532
448
465
369
729
650
451
184
184
174
414
72
264
38
863
918
173
802
449
370
561
18
750
685
837
923
865
506
155
791
814
511
619
347
47
42
727
67
679
58
276
182
936
156
279
45
391
835
831
765
395
152
23
639
763
10
555
7
139
951
908
949
430
439
209
461
470
203
843
938
533
773
101
49
813
515
492
262
468
713
424
746
212
447
168
417
896
682
110
813
716
477
923
664
470
306
838
708
838
938
267
0
429
909
147
946
294
872
595
101
577
780
671
494
422
646
654
206
777
147
581
685
387
33
433
847
213
210
710
379
280
541
497
662
450
872
152
718
714
166
237
490
267
665
577
355
606
518
994
461
555
121
91
219
606
26
301
483
712
915
602
414
163
381
525
396
108
673
121
803
390
54
966
488
377
948
715
228
45
527
750
853
774
36
285
832
179
427
404
324
376
862
831
935
308
770
513
351
398
238
238
742
820
196
979
276
685
216
161
866
551
429
395
638
528
602
251
661
651
291
657
602
294
170
194
782
482
691
376
22
847
333
949
594
175
303
367
944
494
501
490
603
403
836
1
694
97
379
245
523
0
612
122
797
653
742
478
712
690
677
27
323
225
819
135
556
159
996
206
328
894
272
206
204
568
682
568
939
526
915
137
272
458
271
229
355
532
49
34
413
330
277
909
731
458
142
724
877
137
364
4
991
849
996
747
123
354
469
63
423
91
142
439
39
899
509
281
612
789
488
582
958
176
229
618
398
224
415
652
388
486
384
432
885
872
815
86
67
608
868
242
477
644
988
26
654
332
131
120
468
331
637
454
45
695
853
642
441
39
184
927
372
601
764
288
215
603
282
852
43
830
437
799
437
669
688
368
944
95
273
621
261
321
12
534
681
820
518
699
63
241
19
358
321
701
675
258
801
594
703
236
548
681
419
387
289
513
110
816
528
225
237
714
827
504
301
129
207
658
558
204
246
843
734
818
904
763
982
536
73
938
630
256
672
354
549
219
879
910
92
258
418
707
46
134
993
242
485
894
811
678
675
802
400
727
931
396
744
982
846
645
37
444
470
78
260
256
344
568
797
868
729
675
170
338
294
123
62
382
669
657
160
696
131
28
501
636
327
114
703
514
82
7
387
201
501
181
707
626
541
635
720
889
171
820
938
730
170
991
417
161
390
511
420
601
687
144
590
122
293
656
38
211
337
982
644
988
154
799
697
532
540
357
16
707
817
277
719
486
49
176
605
731
612
799
596
627
590
895
549
295
656
235
955
830
758
273
120
942
819
725
214
18
834
37
1
283
655
537
665
606
790
513
328
755
99
724
760
205
322
863
383
261
78
231
112
835
176
569
593
212
147
855
467
237
175
829
735
426
420
196
585
712
864
247
180
341
845
769
145
67
718
987
921
376
970
644
631
172
832
90
753
954
618
635
757
556
407
526
70
677
231
539
308
978
389
901
511
771
408
485
341
781
69
673
150
576
432
661
367
686
346
462
319
285
188
565
984
675
445
504
643
149
69
955
244
903
504
444
572
411
842
529
191
688
705
35
264
882
700
418
755
113
848
229
17
736
418
45
560
577
282
505
134
615
240
271
600
365
820
168
306
556
403
320
286
968
39
947
311
308
515
104
251
297
410
103
377
282
299
230
5
953
463
904
958
972
193
611
552
316
818
875
602
784
503
841
131
492
549
905
440
922
612
77
757
65
766
501
869
391
908
302
136
44
761
179
663
576
335
515
348
989
269
270
848
116
160
635
700
965
519
783
443
509
409
821
723
9
995
732
950
259
175
734
868
885
575
718
349
789
691
786
344
721
635
95
793
712
438
910
159
504
825
447
250
35
72
877
368
392
279
763
422
363
507
198
750
581
439
861
889
282
108
507
20
275
144
79
512
168
98
802
430
522
959
538
542
176
126
830
242
122
705
660
388
678
674
54
346
951
149
134
329
442
567
403
430
763
152
676
801
942
381
831
775
894
394
122
800
462
307
315
669
428
568
915
911
877
679
726
828
904
925
78
772
739
746
406
78
488
729
871
295
677
130
76
808
88
626
131
367
171
916
937
113
618
893
63
701
919
322
304
254
599
982
724
302
180
519
266
679
341
24
663
364
755
941
494
269
310
210
358
650
888
197
801
914
448
29
456
353
895
587
792
916
620
518
503
250
90
222
411
590
531
294
877
896
210
785
280
535
581
650
758
93
191
526
236
870
666
27
708
876
351
229
646
190
207
105
135
531
238
943
314
8
949
337
831
11
169
513
705
808
937
459
839
258
86
311
460
411
417
510
793
346
701
909
790
894
698
304
605
70
148
640
444
660
506
134
351
686
824
323
135
505
866
832
436
200
60
805
98
590
169
214
111
848
836
632
423
872
297
990
762
143
660
381
113
48
211
858
849
67
158
338
70
286
683
603
789
914
594
330
650
25
441
638
320
217
662
915
606
221
572
403
781
758
460
514
286
538
596
172
217
631
573
115
413
273
5
663
117
524
645
489
303
515
370
820
544
848
435
652
194
844
727
559
752
908
884
228
236
551
29
197
712
757
918
101
493
218
731
995
68
502
671
649
394
714
911
934
279
506
299
830
680
494
942
51
235
850
241
501
112
719
817
341
325
691
891
278
279
315
914
440
946
227
832
471
483
311
783
380
254
750
461
218
227
506
714
339
305
694
539
917
160
285
819
401
683
955
562
518
122
413
443
467
150
553
467
4
786
203
533
645
309
239
967
267
308
491
502
203
570
132
371
236
768
240
109
930
361
400
55
551
884
920
146
714
558
158
287
807
724
233
452
206
591
985
148
177
252
802
803
914
656
297
958
603
158
369
222
28
214
480
435
13
148
996
730
72
493
43
815
427
590
494
437
318
578
7
367
580
406
128
689
965
596
755
745
218
523
552
738
53
40
921
559
365
795
463
704
47
247
202
501
897
591
164
10
212
609
34
363
571
544
542
376
974
248
648
70
551
895
316
148
804
220
573
820
804
800
499
213
728
414
539
713
898
887
206
193
950
438
809
319
342
371
435
360
175
353
572
795
809
771
42
150
935
146
911
674
171
281
181
871
561
344
472
533
799
73
820
211
364
402
584
897
301
156
463
692
69
664
290
592
299
477
259
147
816
374
714
26
494
177
462
980
259
876
751
819
492
772
345
411
734
141
263
52
710
124
13
999
926
308
921
134
122
52
940
758
652
585
588
735
266
855
524
242
19
826
446
596
639
240
327
931
149
529
754
848
145
872
145
586
648
64
722
650
698
600
309
730
926
20
229
681
71
627
6
766
460
988
466
907
107
967
949
850
631
313
319
862
201
458
952
565
333
137
999
354
478
800
749
195
779
293
730
60
437
886
174
614
14
656
907
473
307
830
615
476
894
713
222
233
774
232
158
542
924
770
722
711
346
929
3
910
330
789
309
151
95
425
990
429
392
704
954
173
29
479
792
342
766
727
266
74
452
267
39
636
377
984
766
429
780
795
890
857
914
586
554
299
19
954
152
835
407
656
174
771
7
333
330
290
220
28
223
27
270
708
656
743
97
758
409
466
350
352
387
414
898
63
952
707
759
142
118
206
12
918
769
277
597
501
82
734
415
811
921
571
225
857
978
940
777
433
155
249
989
427
450
747
921
752
899
10
999
308
421
442
133
88
775
263
406
759
342
959
917
263
149
478
54
207
931
830
328
535
875
398
388
498
174
950
909
596
967
222
752
415
739
743
368
905
651
335
104
192
459
583
953
610
676
762
753
440
750
991
405
393
483
301
946
72
100
312
357
257
859
929
103
447
655
841
207
640
504
711
494
421
572
70
528
609
140
345
937
667
255
804
574
537
756
500
281
203
680
587
144
521
135
82
15
641
481
992
956
874
872
433
179
708
939
507
212
590
703
96
770
518
23
991
141
810
887
286
479
582
637
151
264
384
625
331
979
654
808
92
67
644
424
525
781
563
860
947
45
123
226
448
430
233
268
554
306
961
610
339
372
442
754
140
437
197
557
499
818
472
178
130
154
673
933
172
555
551
297
14
777
706
498
222
12
280
852
402
842
72
567
974
924
455
133
183
67
211
304
521
701
949
740
757
462
451
780
452
430
341
978
336
617
78
680
8
371
372
552
131
417
706
294
177
888
975
347
100
316
623
744
713
337
324
727
313
627
442
185
0
943
574
406
305
217
361
269
612
401
589
2
246
884
196
482
155
249
218
269
704
837
841
62
822
279
759
891
567
93
422
484
261
558
254
505
332
983
198
267
759
670
530
749
59
281
338
1
218
471
488
604
351
619
871
202
785
300
902
958
913
422
261
603
514
993
521
68
594
392
987
789
731
879
498
398
516
546
705
357
416
311
58
552
597
498
103
182
442
255
870
325
370
774
95
228
413
245
394
155
508
229
707
607
763
637
385
99
748
26
27
356
241
882
249
135
919
530
376
674
367
842
136
381
91
484
409
305
467
480
654
690
863
522
831
646
191
964
377
683
90
703
67
525
476
459
282
156
684
853
993
455
575
573
560
842
789
114
21
994
608
800
935
468
440
409
867
200
843
976
182
731
523
775
933
157
113
819
40
26
753
564
908
332
880
224
586
426
345
356
705
481
800
142
188
253
933
686
118
529
587
825
714
985
96
652
83
979
385
53
300
796
863
490
338
751
874
204
195
63
442
854
166
408
560
419
15
847
990
757
410
576
372
792
200
717
366
547
877
310
452
872
635
231
236
99
636
246
271
747
802
75
235
867
137
936
871
139
349
69
112
657
779
967
20
531
103
485
462
502
517
635
471
39
736
686
93
380
700
688
230
974
692
648
499
415
617
51
144
479
268
529
822
577
493
124
692
695
352
900
278
175
764
950
855
75
198
460
369
632
770
477
282
196
974
171
493
295
210
238
587
624
568
985
248
426
132
683
828
118
65
435
243
766
879
317
897
728
782
401
596
233
787
633
592
820
80
437
215
525
226
299
836
12
564
440
806
17
809
186
559
440
473
923
364
332
459
287
602
668
921
122
234
646
29
807
716
919
872
882
312
451
352
239
907
166
388
734
187
72
4
545
754
829
913
33
108
60
230
586
887
604
561
235
254
700
575
204
917
435
795
554
402
403
593
165
923
704
536
604
53
264
657
543
720
912
284
439
622
664
795
917
76
560
818
302
545
720
797
434
89
144
72
941
871
570
766
444
456
710
909
623
477
289
827
54
278
376
500
931
111
326
467
896
503
115
383
66
321
715
342
587
212
32
884
53
759
945
760
178
26
49
717
928
33
868
390
461
363
278
589
703
159
578
46
199
32
965
492
953
721
664
702
796
169
796
590
244
912
563
840
873
722
739
594
307
400
934
575
598
271
158
492
342
61
609
596
560
114
193
979
812
230
234
97
513
827
483
377
271
55
936
185
885
846
291
525
87
788
17
546
369
166
873
450
786
699
567
761
963
548
894
211
342
557
762
294
18
81
443
665
146
750
319
439
339
833
863
241
917
477
300
390
177
705
864
114
139
941
998
274
17
56
62
789
506
48
179
369
444
994
94
297
587
800
509
153
897
983
733
813
363
404
210
76
859
0
417
246
634
385
31
891
905
378
182
816
211
789
351
252
852
746
813
675
877
223
759
95
436
179
196
768
78
247
811
403
984
513
891
39
910
597
943
14
52
475
679
704
226
859
511
60
658
980
588
120
616
993
99
140
538
493
602
726
591
30
744
984
843
464
665
592
175
929
391
1
947
939
115
913
37
229
615
672
812
989
318
470
864
737
329
146
594
836
794
502
27
703
365
192
515
602
454
423
861
446
918
63
277
717
897
847
205
641
303
680
88
477
730
708
263
497
776
621
528
365
706
230
819
176
99
986
737
963
699
844
161
477
790
704
964
498
121
426
858
707
136
188
190
877
612
729
64
103
693
352
608
963
871
63
539
237
519
528
699
529
985
570
600
519
354
752
239
863
780
388
364
348
721
955
877
805
503
787
988
736
953
310
774
26
87
705
476
977
472
183
567
495
46
299
746
222
166
178
382
947
41
106
238
900
228
815
153
946
618
439
542
572
724
192
429
786
878
449
91
639
918
978
287
967
216
584
242
273
194
941
348
656
549
123
319
843
108
346
19
154
229
21
297
519
715
450
973
998
494
841
318
493
440
154
576
543
674
514
397
178
876
642
954
792
806
601
954
456
132
975
355
997
605
341
156
548
109
853
990
657
713
914
607
983
632
350
314
456
937
691
487
948
154
984
988
587
94
323
208
874
701
154
477
270
799
484
806
663
338
508
473
619
776
341
898
505
510
700
15
623
718
406
15
166
583
533
709
228
173
757
830
981
342
274
855
295
720
768
325
152
535
214
283
152
726
556
796
606
434
589
499
307
752
186
174
668
403
846
664
223
688
945
388
462
318
895
327
8
841
626
431
737
896
942
907
882
172
232
706
590
868
39
542
266
525
432
587
195
677
385
871
408
934
88
500
12
816
936
132
106
134
410
484
245
448
229
169
787
953
672
268
159
27
607
993
645
944
167
645
886
1
452
342
739
155
187
957
31
23
568
938
446
363
547
36
495
660
193
1
100
991
16
512
124
377
215
11
725
432
379
396
982
842
958
312
191
974
188
477
35
611
889
652
926
367
272
383
41
420
334
10
143
930
843
726
269
805
162
303
286
870
841
777
304
764
624
696
247
343
826
27
803
607
931
709
663
346
967
51
293
653
909
424
976
500
534
627
760
359
233
749
438
801
236
96
366
73
206
463
379
768
741
332
586
856
151
166
166
866
833
378
511
58
147
777
237
484
995
997
931
61
29
191
68
93
819
330
225
355
179
926
237
285
161
817
997
366
967
22
728
57
417
622
801
513
415
633
841
280
104
50
178
258
276
333
130
470
18
670
252
531
956
544
1
948
60
867
370
399
210
412
388
955
43
36
236
486
914
614
717
443
673
229
581
321
964
725
828
748
984
925
994
754
3
621
859
552
169
809
556
365
670
544
113
563
396
37
306
733
624
128
509
618
240
485
392
334
80
83
886
862
23
821
938
809
684
409
55
717
526
803
25
714
820
361
295
329
924
930
529
454
362
658
477
118
539
168
401
388
491
419
871
814
546
848
812
421
837
161
719
906
363
248
469
969
299
849
959
542
40
268
290
333
419
76
821
263
797
897
719
917
40
828
893
567
400
40
997
130
372
425
876
689
503
902
285
362
539
537
714
359
622
465
607
344
137
727
350
494
853
219
929
537
831
197
845
62
879
910
896
138
234
60
199
542
616
603
217
755
259
587
171
8
488
611
75
287
484
459
591
373
122
682
130
946
26
832
816
953
113
55
174
976
800
90
131
125
74
950
895
734
171
864
554
500
70
103
749
496
786
472
559
91
591
535
54
152
915
306
992
717
506
295
902
551
242
81
896
706
495
297
942
10
544
194
327
934
792
713
939
470
934
523
408
93
893
817
587
888
443
921
930
474
128
361
641
740
964
339
104
517
509
484
153
100
482
626
334
832
382
460
236
97
662
605
503
454
747
390
27
493
289
198
528
958
411
56
820
129
86
711
887
332
110
889
484
542
569
88
7
482
589
913
932
284
524
82
446
478
150
32
125
450
298
224
788
552
944
308
945
249
634
938
852
459
15
670
75
361
63
952
710
522
564
945
617
841
421
605
566
737
1
588
205
152
344
870
546
456
597
532
54
278
140
544
496
53
682
364
134
792
632
623
481
992
727
310
945
506
224
244
724
967
208
341
464
34
282
738
449
292
860
761
947
697
128
591
574
643
782
405
515
741
38
709
141
768
95
386
746
196
518
95
598
596
825
495
101
273
348
549
981
414
802
948
80
834
289
67
814
792
462
699
51
563
60
544
766
42
931
572
924
242
966
109
133
513
815
717
421
730
263
623
106
622
477
416
623
247
863
568
897
131
828
452
273
298
349
127
415
987
614
351
402
487
693
528
271
778
489
105
824
48
418
71
813
48
480
890
734
416
439
777
316
942
965
458
326
736
584
570
765
175
176
99
961
160
289
8
751
128
749
316
45
142
848
700
859
827
433
109
969
498
737
437
412
826
695
34
647
376
621
544
181
876
465
343
253
301
3
303
288
73
808
779
41
15
102
849
794
574
255
80
926
543
988
495
616
6
956
982
369
40
422
647
676
702
88
94
358
17
958
716
8
125
566
886
501
164
122
928
395
636
884
17
467
623
707
213
890
661
174
385
882
910
102
69
713
518
767
16
420
722
780
432
128
614
254
306
880
513
62
768
513
665
338
15
575
800
940
440
960
387
466
116
525
729
114
690
126
796
888
338
659
894
873
719
721
171
987
906
871
490
492
559
877
659
802
329
781
42
289
503
650
42
454
167
538
326
866
372
96
901
503
895
190
986
513
791
596
620
4
703
897
923
461
523
757
905
814
654
392
374
540
672
485
741
228
360
864
548
102
458
819
972
203
804
727
939
141
974
627
357
982
487
195
210
826
409
61
890
12
646
27
132
59
441
667
778
88
351
288
372
278
411
862
933
62
498
373
588
977
477
769
522
557
301
217
522
757
48
361
521
826
60
856
893
139
683
231
671
791
238
982
766
132
386
338
635
701
338
927
706
869
498
914
360
148
277
296
252
127
390
451
903
721
673
56
999
491
330
461
892
444
735
619
26
808
884
36
820
179
274
710
285
139
645
382
886
847
632
251
600
860
717
639
923
990
513
17
864
270
343
324
532
11
859
719
987
50
793
214
607
993
8
699
264
851
743
610
483
874
90
186
227
75
884
39
375
836
590
131
825
670
63
638
927
216
554
514
724
640
299
470
673
324
625
981
618
26
593
209
486
673
96
494
966
327
15
321
645
726
959
382
411
852
376
968
321
860
962
319
156
456
787
17
999
486
607
914
294
71
788
318
517
413
315
429
747
920
811
810
664
555
487
6
756
371
184
976
613
121
244
857
954
945
218
424
275
837
992
298
905
737
688
18
571
377
649
797
392
114
404
241
226
194
493
229
960
633
799
334
84
986
972
69
389
905
644
512
720
191
324
808
31
515
843
816
41
964
955
882
37
891
876
404
18
440
316
339
232
319
399
337
122
841
852
524
764
750
446
768
922
813
337
402
989
653
43
21
128
110
101
666
546
150
124
377
232
625
537
16
848
17
274
312
262
734
623
667
51
108
300
528
697
719
878
410
559
420
245
231
172
170
242
714
212
386
731
88
842
652
22
779
109
856
494
981
622
501
104
880
907
358
821
754
942
409
31
938
657
292
991
950
365
585
519
30
545
455
156
818
317
572
853
778
934
719
150
902
287
374
325
981
659
686
625
341
372
510
849
595
114
923
332
47
683
79
340
716
413
528
123
533
46
796
494
459
38
250
831
253
426
502
516
149
978
744
348
545
917
997
548
482
66
248
983
254
125
621
237
873
327
136
32
202
299
29
893
125
85
822
843
788
281
601
40
647
568
274
660
146
358
677
916
770
321
833
123
247
521
658
415
787
260
823
217
306
138
573
304
311
751
790
793
192
487
980
845
530
506
332
705
121
372
934
589
347
745
397
640
122
512
443
245
137
899
47
859
828
509
948
86
666
10
649
549
243
139
143
356
58
123
360
147
103
90
676
69
1
892
593
673
545
737
716
739
63
403
825
614
720
833
993
370
417
157
820
766
846
257
848
445
225
878
459
6
951
175
371
313
605
49
178
680
123
199
951
255
942
646
858
357
125
895
264
618
308
810
123
301
185
381
420
566
884
942
398
338
579
958
199
129
197
180
746
44
798
487
892
836
634
611
292
861
882
207
864
825
409
329
815
958
691
956
777
227
157
201
187
482
664
82
654
115
377
135
440
454
69
31
714
575
471
937
367
908
263
436
543
273
786
286
461
938
485
264
734
267
10
998
754
894
600
947
500
894
60
565
444
168
891
248
958
261
613
845
838
129
981
979
735
581
195
313
849
117
88
535
606
311
466
508
908
533
848
108
106
582
893
338
743
207
242
447
944
197
443
265
615
92
650
600
778
36
306
652
571
904
703
521
122
638
459
170
304
738
165
765
71
74
325
985
290
811
740
253
333
147
743
894
114
7
105
857
407
363
294
496
851
311
244
52
916
664
476
416
53
942
131
600
764
697
744
768
504
170
814
62
266
945
471
491
540
948
277
886
48
837
584
18
216
514
865
212
411
595
45
166
639
437
920
166
772
228
513
326
441
700
185
540
299
143
668
80
240
52
574
487
656
274
634
382
250
596
799
849
787
964
854
908
247
111
413
420
795
495
496
243
681
619
81
104
849
329
82
272
338
361
383
25
127
81
445
899
636
355
855
66
447
371
42
239
535
424
250
402
415
253
558
321
604
976
321
954
48
857
378
177
521
73
639
395
249
822
60
63
44
758
639
216
634
434
322
427
527
707
200
330
359
172
245
814
180
341
763
201
247
551
965
525
814
645
902
47
586
778
120
767
426
865
510
218
762
622
892
333
244
68
822
724
688
785
321
116
752
872
42
279
201
613
46
152
270
705
399
810
706
913
826
941
943
280
346
172
900
680
915
747
74
875
721
431
406
192
793
711
756
463
941
492
32
795
972
257
179
795
125
846
936
675
467
272
498
875
717
356
798
352
660
653
783
701
295
695
742
244
401
406
526
704
739
271
13
239
342
998
154
553
908
669
611
440
68
96
77
700
374
953
196
117
646
244
207
407
308
33
769
43
784
175
94
653
697
319
971
82
429
253
810
749
812
156
292
425
952
548
717
293
79
359
527
233
797
713
52
137
95
736
440
659
582
758
9
278
48
435
416
14
475
56
50
508
159
631
527
282
299
434
162
241
278
365
86
895
660
592
739
807
804
359
743
659
661
543
883
993
476
556
742
629
183
967
646
552
351
939
804
102
151
790
571
687
218
436
301
87
141
6
981
246
555
666
877
949
483
598
135
26
578
770
205
187
740
2
325
242
360
28
156
967
396
115
66
54
442
686
288
401
436
662
585
287
642
300
385
547
375
570
967
686
701
715
171
521
797
627
607
726
416
262
384
808
700
823
268
624
354
816
391
588
633
322
624
389
470
719
154
894
861
751
210
541
748
486
12
790
48
605
167
518
134
161
960
413
626
414
110
542
567
918
674
772
226
861
494
761
270
843
877
23
184
956
305
705
684
277
450
904
267
72
596
661
461
178
494
82
854
857
17
729
352
818
408
229
219
408
578
237
578
728
778
180
706
705
928
57
620
529
300
170
414
382
525
201
487
806
218
473
730
719
790
732
718
28
881
398
533
329
381
901
308
763
399
81
821
349
110
94
588
133
206
633
744
10
177
763
95
936
658
968
550
662
924
475
681
874
150
978
564
767
616
652
893
773
274
825
364
807
632
849
610
494
781
163
955
283
349
590
293
59
346
916
698
626
979
501
463
887
733
257
54
714
913
116
366
40
545
679
693
199
261
577
232
437
584
805
881
685
429
675
197
824
880
206
817
220
671
208
259
645
132
171
993
894
677
654
637
474
41
959
787
611
651
117
672
382
704
949
649
496
600
405
802
874
572
357
197
83
722
806
682
873
823
710
602
967
620
166
755
704
998
10
0
515
339
964
199
415
620
707
251
914
739
341
776
100
553
23
387
401
592
957
614
563
845
588
916
397
422
971
921
58
846
50
279
27
276
19
811
672
698
88
432
681
5
416
741
11
875
27
144
143
513
476
830
720
604
473
771
582
596
807
521
589
445
917
585
853
356
360
745
582
661
759
769
624
45
269
69
78
523
7
940
696
205
724
99
492
399
291
766
335
869
31
90
637
191
44
736
699
823
233
281
585
901
194
499
816
384
560
279
400
579
628
827
574
281
912
414
294
362
460
326
394
237
526
744
712
491
629
744
642
272
677
753
409
921
828
776
242
423
899
842
821
225
927
145
971
511
305
99
618
876
168
699
412
151
578
624
28
328
379
286
307
919
596
68
239
38
866
244
99
553
592
15
63
272
923
586
727
692
261
247
966
891
262
894
832
826
493
605
537
844
417
829
385
488
312
722
320
288
54
34
359
760
634
443
954
732
769
476
100
557
145
15
689
843
480
373
430
822
144
584
442
162
245
518
825
521
46
571
705
343
133
153
728
609
433
58
89
859
105
196
186
395
523
11
408
640
168
364
675
24
72
536
149
357
646
923
338
541
483
100
952
874
577
562
136
919
498
347
854
667
926
239
639
180
104
850
277
28
46
192
340
641
250
520
164
532
252
990
448
784
150
291
112
348
84
491
629
866
845
114
412
488
429
654
982
531
134
599
642
472
358
810
23
789
2
655
391
940
834
224
915
582
811
778
816
55
846
341
848
838
383
280
970
631
800
770
780
640
213
986
612
407
70
662
848
692
509
743
941
986
915
60
10
615
1
518
344
343
178
137
721
213
944
704
692
950
711
28
2
112
388
980
129
409
441
48
255
590
243
754
580
174
826
903
705
262
772
168
513
535
103
528
548
459
168
192
752
806
47
74
602
914
683
411
909
188
634
964
337
183
176
154
398
595
87
539
693
461
731
81
683
370
106
615
13
66
465
64
312
853
750
793
7
517
771
201
801
869
549
939
448
242
524
510
311
441
612
111
662
539
551
233
96
329
879
874
520
352
917
400
823
693
657
655
913
539
562
276
246
337
189
379
741
462
516
163
91
320
191
535
561
529
971
561
753
479
203
210
959
143
910
336
783
993
339
613
986
736
703
491
340
6
83
845
47
461
477
26
749
307
667
453
872
888
779
476
291
537
313
887
601
429
683
92
606
700
67
274
920
928
897
231
210
430
671
464
442
114
677
109
84
494
28
327
454
559
115
22
797
639
142
144
79
755
449
217
801
757
620
401
236
134
63
654
63
910
763
344
273
864
995
996
908
193
343
195
484
523
559
823
345
151
996
827
377
232
24
715
747
728
86
607
443
510
107
866
6
874
897
378
954
640
378
562
84
825
787
343
812
648
734
793
208
768
474
230
190
780
754
575
797
911
89
324
29
177
793
678
575
893
130
757
716
692
626
44
798
993
551
585
759
645
489
309
199
580
843
74
454
290
407
960
856
556
344
375
663
48
571
101
601
509
65
421
212
460
795
258
922
101
707
320
932
122
618
359
868
380
263
496
311
683
903
243
302
879
29
458
402
993
375
770
735
209
612
716
662
494
43
647
271
488
636
28
281
784
311
642
945
608
493
444
487
678
514
222
767
16
492
989
60
240
561
950
192
414
658
677
325
51
804
167
889
526
270
634
596
642
82
613
615
220
353
356
584
345
574
818
415
46
461
952
87
412
509
92
725
366
420
524
9
696
276
989
280
714
7
741
593
757
918
557
912
348
648
964
836
419
855
811
521
505
389
73
468
825
639
5
912
61
965
539
294
730
960
844
172
520
46
249
464
778
734
909
696
793
274
258
345
751
949
204
342
519
11
70
226
242
861
488
489
226
20
243
382
733
212
300
664
781
595
795
562
450
136
761
58
877
565
108
670
367
412
238
443
215
557
912
585
820
634
83
574
298
523
249
804
648
418
536
85
57
839
482
831
440
449
762
787
230
204
708
45
712
351
160
343
481
900
816
42
587
955
892
721
551
11
450
265
285
382
261
812
746
176
602
640
751
987
324
276
456
26
215
87
304
782
726
389
406
375
657
80
952
127
740
603
982
593
283
448
598
413
531
219
541
720
521
991
65
53
336
353
869
373
289
547
991
744
617
413
830
651
543
273
466
425
933
334
171
616
438
331
642
503
655
681
704
639
880
318
211
459
573
898
439
242
633
623
703
586
76
898
407
447
597
927
354
52
544
299
68
951
787
603
65
887
650
343
512
953
586
400
395
773
42
109
898
230
123
923
764
916
428
839
167
187
608
76
490
184
53
202
648
766
428
989
111
305
988
611
432
197
497
317
974
21
822
849
846
658
923
890
753
775
941
170
502
388
847
337
618
108
406
302
208
788
243
53
624
2
546
849
76
562
320
387
445
111
964
39
925
929
801
676
930
966
48
878
331
935
410
294
32
103
245
54
989
724
890
643
507
763
417
460
228
8
856
30
490
875
527
54
613
37
1
668
145
862
317
114
950
359
377
732
652
241
61
42
342
651
799
847
553
705
108
499
687
707
880
110
246
972
378
105
783
91
796
386
336
417
631
188
149
785
553
997
431
580
868
113
907
161
364
198
41
892
507
137
914
930
513
531
670
143
419
297
131
432
541
764
309
932
608
505
859
413
4
770
672
486
502
578
778
256
659
584
775
139
691
241
772
242
802
899
93
392
561
347
563
287
160
134
75
939
319
985
906
516
522
967
349
337
231
761
97
74
83
986
702
721
38
721
792
731
484
300
389
63
904
24
579
206
792
861
548
986
243
440
427
552
697
897
812
376
158
139
269
844
49
743
726
83
514
153
157
577
3
251
593
737
272
954
270
369
928
648
496
389
7
249
806
891
674
28
473
167
736
828
923
154
204
267
86
687
63
529
900
473
84
165
376
524
265
497
759
537
365
704
541
553
831
624
48
848
447
19
970
193
230
131
415
989
16
628
778
802
430
927
954
533
934
797
403
489
715
62
348
918
319
929
17
528
955
858
423
202
257
858
746
789
782
543
969
119
594
531
314
26
192
730
684
565
295
702
217
923
753
310
93
888
994
126
393
900
384
337
182
460
186
578
130
157
357
632
948
120
781
1
853
58
780
148
410
57
801
746
883
590
86
154
582
366
442
450
592
966
196
979
80
344
712
63
349
943
202
991
521
469
171
313
441
938
653
598
61
522
553
707
691
913
700
358
769
646
15
931
272
360
10
328
78
420
535
253
986
356
125
965
201
393
234
231
63
648
751
120
445
371
189
380
281
182
205
494
590
997
61
414
289
285
394
734
164
520
583
421
7
314
509
611
767
995
864
118
586
964
56
60
13
329
919
148
351
595
327
506
283
536
558
406
316
46
677
155
944
21
839
325
96
215
666
475
109
887
564
965
447
853
936
59
511
27
347
56
304
86
374
297
677
129
654
655
184
233
823
739
503
888
841
870
312
563
119
545
814
115
445
60
183
79
854
803
885
959
92
293
343
807
384
975
991
727
52
469
322
284
956
36
943
911
227
207
875
364
851
691
473
749
214
612
157
750
342
310
713
430
654
220
497
269
287
909
574
840
290
935
318
483
6
791
889
99
565
464
741
818
154
479
560
909
472
589
213
219
708
813
371
727
476
737
363
633
847
629
367
114
679
53
504
213
552
713
165
90
218
154
449
666
869
417
485
746
609
855
440
784
363
326
488
83
584
371
937
580
5
645
747
231
27
493
7
962
762
371
863
918
599
294
661
618
742
36
936
369
421
620
176
610
558
138
856
799
32
220
671
768
84
800
250
706
253
765
485
329
499
612
80
566
206
650
465
995
645
244
115
222
501
563
942
356
709
597
327
241
125
337
86
550
790
805
581
144
978
989
171
923
389
469
691
829
93
642
660
929
912
743
81
558
203
16
884
96
123
832
626
463
222
776
26
607
892
590
210
272
245
774
608
242
69
532
578
142
219
942
428
100
244
232
369
130
254
864
859
88
216
858
896
948
357
1
930
8
744
174
806
24
495
502
790
426
250
629
686
801
243
995
715
403
575
378
232
562
361
730
504
819
872
143
123
821
94
951
584
246
159
12
220
379
906
638
785
518
289
23
351
321
912
144
606
822
875
924
358
257
7
532
626
97
558
915
102
790
167
662
78
600
594
469
463
341
621
703
825
515
555
303
681
296
968
610
393
333
405
882
375
198
91
728
396
905
445
264
394
693
591
907
871
682
977
963
17
843
647
259
680
908
773
365
616
219
680
547
369
484
249
681
220
989
135
437
214
201
842
979
680
927
588
752
279
947
797
161
179
544
332
220
219
91
258
784
197
495
291
815
989
81
591
132
862
984
105
522
45
686
504
647
494
14
660
298
628
716
617
993
539
993
420
221
196
697
711
392
66
424
945
447
94
794
894
311
979
541
207
349
382
571
110
803
191
291
146
95
664
124
559
796
592
776
567
865
722
29
388
673
678
153
279
555
58
21
735
201
388
549
873
541
455
167
825
673
92
542
656
976
283
256
83
9
807
987
854
696
363
655
157
542
416
435
176
986
996
448
853
541
54
413
182
21
695
191
662
170
786
248
267
524
722
947
636
353
433
843
201
997
986
75
740
715
997
696
206
639
173
909
376
414
193
373
640
105
547
583
192
629
526
86
643
320
325
60
84
887
41
908
874
472
545
806
101
687
492
622
571
117
361
298
811
444
309
137
421
291
285
455
190
285
881
927
726
143
703
605
63
122
621
479
308
952
788
42
286
153
139
186
644
403
812
450
772
659
954
81
827
154
490
294
620
698
965
487
81
56
308
413
318
524
343
624
954
471
603
688
159
5
569
119
875
432
195
46
239
953
721
121
548
521
510
815
207
960
283
390
890
838
741
564
872
7
894
963
435
894
313
54
976
662
409
133
189
710
342
547
377
613
261
898
241
673
127
155
116
276
2
782
263
110
4
214
211
882
89
193
937
236
60
805
838
731
417
848
639
592
444
838
420
855
95
496
28
557
888
107
77
427
708
944
927
967
77
440
991
770
804
555
867
603
410
918
503
905
958
526
603
825
728
54
846
404
269
898
240
417
709
405
704
2
683
119
291
666
423
497
690
600
698
701
98
397
683
522
930
580
691
820
411
225
739
358
193
989
316
544
874
364
212
714
577
867
629
145
174
295
857
671
644
702
417
319
977
322
529
793
921
236
584
727
398
406
987
323
877
963
478
658
839
353
664
810
610
468
223
838
906
405
613
740
282
740
176
490
304
922
515
631
309
902
125
844
658
593
170
486
832
645
438
279
743
813
569
168
223
533
771
903
808
412
109
760
677
470
913
728
118
405
452
658
475
316
559
739
717
101
551
333
585
928
992
237
777
232
373
215
963
999
83
509
354
985
36
76
995
143
97
513
649
772
744
678
726
44
543
751
107
518
633
140
484
548
54
757
630
948
509
730
392
315
969
440
110
258
498
889
615
455
908
807
25
677
369
475
908
849
667
382
9
216
457
396
37
589
417
58
532
163
764
926
598
234
377
597
9
113
632
467
113
380
295
213
147
548
472
302
408
686
671
470
25
194
926
623
784
758
495
822
472
533
754
133
229
410
892
141
324
789
846
923
16
676
881
878
708
76
136
567
242
585
741
852
25
281
743
193
314
860
382
323
693
461
752
45
713
726
567
433
714
598
626
238
142
207
169
206
154
910
367
244
201
209
599
279
247
353
231
937
430
720
864
303
211
459
622
725
352
873
293
266
926
980
642
618
780
968
464
198
32
246
568
620
286
536
221
745
224
491
562
123
378
376
83
171
308
212
346
459
31
953
813
367
181
729
963
167
384
202
305
33
222
267
89
58
599
523
872
289
819
944
768
490
89
80
1
59
13
414
508
893
615
596
315
260
187
107
761
223
884
172
16
185
749
605
246
567
333
118
745
992
763
144
115
780
161
734
701
39
776
315
895
383
235
569
176
315
583
970
967
89
666
938
11
695
676
913
353
300
137
840
826
795
776
194
394
22
752
29
716
349
161
442
309
522
531
597
370
871
695
973
176
170
253
375
445
307
518
309
65
642
996
402
746
405
209
425
461
614
255
665
324
698
346
685
894
981
120
435
333
384
946
663
572
355
932
119
583
5
324
123
433
585
748
575
880
895
873
13
161
608
936
955
748
430
383
401
37
942
858
567
802
845
872
700
18
94
194
548
29
629
304
93
186
916
699
452
678
295
270
722
701
92
682
635
148
292
382
282
278
497
400
307
860
102
247
481
661
68
348
943
676
408
182
803
175
106
346
384
511
920
118
443
121
998
15
787
827
920
159
744
537
375
803
293
149
635
178
753
407
634
851
480
591
243
549
417
42
478
125
231
191
448
661
20
762
831
952
708
330
47
78
659
937
679
210
916
858
263
922
400
357
621
376
934
743
806
884
576
681
363
408
851
458
398
328
323
849
778
206
165
579
341
249
737
413
377
819
354
554
869
82
781
902
365
192
283
648
676
43
334
778
892
562
823
190
423
129
846
455
340
931
843
239
826
685
209
225
287
373
503
521
819
631
488
794
135
47
617
646
48
49
420
862
291
400
946
180
963
583
884
987
722
77
398
563
123
240
169
657
999
124
713
973
836
970
520
540
326
775
569
417
345
101
498
465
385
112
195
944
153
822
519
343
662
298
78
367
661
76
189
839
780
987
35
377
689
980
687
581
864
628
293
548
502
316
111
384
706
661
349
782
647
39
73
509
870
815
317
41
47
552
555
623
140
7
28
893
167
997
669
203
997
629
197
66
249
868
594
340
972
215
694
527
448
816
399
86
700
932
824
257
642
884
590
306
840
624
458
904
86
738
423
895
705
111
913
146
228
6
443
946
101
507
600
551
358
821
437
997
324
230
131
836
91
27
695
958
484
902
248
765
420
586
773
17
143
730
917
729
624
298
413
357
794
451
352
746
353
935
299
620
727
77
529
488
972
385
499
551
142
830
814
712
484
794
309
579
101
947
507
249
428
76
145
756
901
686
473
208
948
809
263
460
795
978
310
746
968
643
996
879
753
360
156
888
809
272
214
760
63
887
668
708
728
151
24
689
24
293
684
15
264
132
393
44
883
522
87
433
414
637
439
630
839
901
937
27
176
264
537
414
690
479
988
766
38
977
589
674
989
466
994
703
848
902
836
842
49
149
888
521
417
774
817
290
576
60
394
364
608
387
254
11
6
541
646
543
528
421
215
91
925
873
479
551
989
809
127
216
0
420
614
627
669
868
696
870
600
132
441
79
344
674
587
763
299
252
306
794
352
934
155
207
800
742
119
479
302
178
275
330
608
148
85
327
821
155
711
751
187
111
573
396
166
347
63
591
57
917
858
454
882
344
786
289
641
867
421
913
346
349
837
621
170
302
687
280
255
949
361
770
35
545
329
274
884
349
408
921
794
354
25
289
347
72
313
791
978
486
448
89
527
545
224
101
910
234
170
99
579
934
126
642
98
300
506
929
554
225
749
403
848
486
792
321
535
795
643
542
276
874
879
797
899
156
530
151
856
212
645
170
112
623
271
373
362
57
814
326
475
807
613
93
447
970
648
387
4
117
409
340
480
797
44
221
832
124
176
673
318
836
693
72
892
402
254
251
341
49
417
781
162
348
224
326
924
266
644
246
157
715
328
400
463
416
811
890
997
31
187
944
963
817
242
24
840
561
935
277
307
327
468
335
419
506
675
36
886
131
234
646
290
526
637
349
581
478
348
543
904
397
95
270
165
794
701
791
881
419
927
975
311
641
685
108
594
730
544
734
895
652
413
889
905
653
668
717
691
284
361
651
237
47
669
45
728
287
37
566
395
286
327
237
354
179
90
582
989
315
395
201
933
226
730
251
891
391
925
410
784
443
472
631
626
539
530
794
567
729
510
835
42
689
375
14
789
445
840
259
807
787
184
121
763
487
814
954
426
505
830
751
852
521
62
731
721
138
113
751
785
577
391
162
1
367
649
479
2
897
160
116
570
386
37
85
713
724
481
313
879
673
495
225
700
723
312
930
495
160
185
71
817
618
100
635
609
405
626
49
495
598
349
985
447
921
136
845
70
648
677
532
958
724
387
709
412
157
897
358
967
862
263
427
577
936
931
721
657
406
24
314
565
514
311
63
39
391
586
297
594
184
254
681
455
941
141
198
719
943
488
54
619
826
481
199
309
581
337
491
803
540
178
484
361
517
305
881
712
431
288
657
714
936
719
836
480
884
577
474
861
283
701
543
254
851
91
297
582
229
186
720
853
67
590
229
215
269
6
75
792
852
716
764
210
982
442
353
334
841
27
214
0
611
600
245
11
184
632
901
851
820
454
948
928
113
682
543
598
545
658
321
576
299
24
739
394
200
848
885
165
357
53
925
930
476
607
360
508
778
539
905
133
239
413
156
62
332
397
804
628
110
54
565
429
316
256
394
252
718
45
22
82
243
473
585
833
242
6
932
731
123
540
711
0
831
163
624
905
521
530
136
69
92
807
881
814
879
335
782
56
373
739
244
964
779
303
985
763
880
361
763
804
300
854
142
478
519
114
871
104
928
814
192
656
856
591
237
952
831
778
821
285
794
25
44
485
769
688
72
315
208
633
815
24
112
813
641
583
793
851
36
14
734
304
950
237
734
550
850
787
355
971
603
725
949
811
326
548
15
592
181
911
217
835
427
120
649
438
987
754
518
2
598
981
323
545
90
310
669
859
202
842
940
581
947
667
998
139
560
55
707
202
462
652
339
766
964
765
229
177
209
453
393
974
291
129
68
515
664
10
17
834
370
39
737
111
698
479
616
888
795
787
552
343
869
496
21
240
485
820
586
206
536
248
582
657
237
134
734
711
355
251
837
478
264
183
52
426
657
817
221
704
250
645
54
700
420
805
974
387
71
569
328
428
331
471
866
912
988
109
721
179
624
641
593
390
336
655
493
69
40
360
511
640
786
757
87
212
497
387
793
525
595
616
466
749
674
534
220
126
531
833
786
298
44
323
9
229
67
153
635
704
506
252
16
371
717
87
371
702
734
666
521
785
288
261
227
443
617
611
613
597
565
361
766
942
514
243
752
964
905
735
563
243
253
868
221
263
237
656
535
603
510
508
316
492
406
847
195
626
447
35
257
953
280
996
95
367
603
79
723
596
601
57
439
748
609
528
449
622
268
94
951
133
115
558
677
845
988
852
956
677
57
182
478
620
413
695
23
547
53
789
38
329
263
829
373
267
882
474
896
579
753
198
119
213
820
383
593
868
229
212
813
331
48
154
846
242
620
776
766
525
722
694
27
698
382
164
487
907
771
775
741
957
651
173
713
618
261
526
686
73
745
108
404
992
153
145
55
98
909
947
575
759
835
641
336
457
624
368
620
296
434
689
764
931
292
61
809
921
461
10
494
326
899
497
632
354
833
609
866
283
482
621
377
452
992
424
386
108
587
554
249
698
551
790
226
889
839
585
923
226
10
735
826
572
411
334
194
696
738
659
680
762
309
909
730
112
206
922
519
74
613
823
942
853
939
478
795
443
1
890
493
190
92
869
438
864
775
130
697
310
852
483
955
587
476
244
695
266
689
918
573
629
430
216
267
759
832
579
446
320
713
154
296
848
582
808
961
410
585
591
195
517
159
558
232
739
249
282
74
984
757
182
366
699
917
15
955
662
408
462
467
247
551
536
80
694
328
636
54
979
486
42
338
554
82
166
114
651
63
759
565
91
270
784
346
23
605
771
936
792
33
128
388
84
65
289
331
356
236
325
464
561
650
487
206
979
956
878
46
112
549
282
193
348
124
364
732
65
226
558
176
563
987
908
506
980
359
450
67
207
311
948
228
72
668
589
208
159
763
745
134
639
863
228
97
741
259
307
57
179
409
681
779
224
228
145
165
723
649
455
787
838
805
869
744
982
739
384
299
494
71
891
604
364
111
494
485
590
458
610
546
715
640
945
324
991
698
571
855
267
875
420
416
459
279
897
240
86
927
185
853
776
505
197
680
40
352
971
254
71
286
881
372
70
217
335
856
322
942
837
376
286
709
378
681
995
768
575
586
148
52
961
267
828
246
674
977
949
323
568
950
453
795
570
745
226
489
330
478
879
93
404
555
512
60
681
288
797
23
594
710
32
407
889
812
807
95
228
644
300
214
18
970
58
672
782
568
556
243
692
701
373
380
792
125
644
38
865
521
692
381
650
798
682
573
713
996
15
681
430
536
942
14
938
152
798
273
771
132
695
699
568
235
29
563
979
65
165
926
304
885
369
21
290
385
701
473
121
814
718
985
183
131
71
141
939
901
31
770
209
209
507
566
558
284
831
789
865
22
358
487
112
964
857
746
797
399
905
567
522
114
410
503
381
318
825
111
959
590
739
831
213
715
745
654
499
259
657
104
822
349
972
435
720
857
679
782
114
647
567
718
556
41
358
929
95
699
540
196
240
109
695
23
745
776
181
279
397
356
403
455
463
313
263
837
423
591
420
508
164
405
892
101
371
956
956
770
435
866
569
173
537
655
22
550
771
771
953
814
136
883
711
318
793
413
712
404
116
129
390
796
37
407
706
195
84
714
654
504
871
770
131
419
705
991
971
415
852
219
307
894
757
540
718
34
106
766
903
922
162
927
156
675
159
702
365
140
749
832
741
640
470
175
246
499
612
533
117
994
135
478
354
844
347
626
987
662
27
911
561
80
134
18
617
686
392
287
349
929
714
580
162
979
462
535
661
745
491
854
429
151
521
605
684
395
346
670
788
901
914
938
213
321
581
542
727
355
804
413
713
537
558
350
183
227
231
604
189
525
25
621
165
46
354
663
403
827
570
102
996
854
49
347
125
795
248
379
823
327
879
396
355
399
728
347
340
365
59
513
919
877
43
377
715
330
522
714
909
983
692
825
531
239
226
828
77
361
401
846
526
163
882
401
593
183
163
77
329
789
416
670
857
887
862
940
426
310
309
519
307
556
89
780
219
86
640
718
695
625
355
722
146
830
117
795
461
691
367
495
292
638
944
672
869
686
936
968
921
721
645
160
970
322
145
573
666
34
647
419
219
759
40
105
899
569
842
402
513
284
788
582
225
360
637
184
253
160
524
381
805
537
582
444
665
124
558
404
355
547
654
316
579
798
574
365
869
524
239
502
385
244
46
728
148
453
713
539
770
462
214
212
13
834
857
935
171
634
21
500
656
532
700
967
831
251
793
861
874
55
673
865
319
700
138
578
405
537
116
872
732
107
797
285
907
291
101
812
927
528
808
560
73
864
800
185
542
758
75
921
664
522
380
531
526
432
467
290
395
750
54
475
759
635
416
189
542
673
935
360
662
760
973
202
842
248
208
754
46
767
746
480
300
117
65
914
994
420
270
23
269
414
22
560
83
464
137
344
875
231
163
422
689
533
119
671
802
651
497
300
767
13
505
27
986
937
288
141
927
898
358
797
559
522
637
734
487
16
684
318
397
872
740
877
936
51
746
451
331
329
939
617
572
792
527
844
392
834
216
56
921
404
906
104
613
281
347
187
103
698
487
138
896
963
636
476
864
216
315
27
585
934
813
851
128
973
717
199
682
591
731
35
642
684
10
654
471
162
688
383
160
17
634
126
637
218
281
359
500
697
165
659
408
613
328
369
197
71
302
452
463
823
155
65
174
732
16
91
205
375
926
128
545
507
896
39
346
452
247
665
896
843
580
417
283
868
223
345
983
69
199
294
900
536
314
118
144
729
138
912
475
880
194
111
930
761
354
576
321
133
622
420
646
922
465
410
239
140
95
130
183
680
602
525
524
161
991
443
131
488
51
812
562
890
602
222
348
901
274
319
227
183
944
605
389
188
275
975
154
238
961
784
104
852
173
505
395
62
766
898
218
600
224
545
349
831
835
249
58
60
197
126
373
222
649
302
625
125
980
489
508
57
116
644
488
434
345
825
871
890
201
101
858
157
889
12
287
258
331
387
974
593
787
987
829
893
299
207
854
390
993
152
527
356
727
346
519
386
310
438
258
579
559
534
457
85
700
653
156
547
984
588
595
764
970
416
475
300
46
633
256
934
209
733
27
602
641
713
268
954
263
494
799
153
556
294
524
808
272
367
437
512
675
298
808
972
911
302
269
454
343
364
552
475
506
279
495
294
936
538
597
975
884
779
315
215
315
779
657
460
983
900
967
237
924
257
377
974
353
775
981
606
707
561
460
16
235
868
41
800
166
780
263
442
702
390
130
786
897
500
12
947
952
978
430
126
883
165
387
852
63
420
829
270
747
192
592
192
645
2
744
630
299
842
993
624
417
840
874
438
593
964
674
741
501
452
874
859
57
726
160
807
308
397
457
224
932
992
155
581
975
901
382
860
577
275
238
377
315
5
333
509
216
879
281
301
507
617
202
610
810
913
696
188
75
258
382
313
229
900
671
331
879
552
65
775
272
454
123
197
315
24
662
274
466
396
420
434
620
283
698
263
121
165
775
22
3
463
904
404
120
481
622
450
552
710
572
359
476
286
390
547
58
844
756
783
647
749
683
887
556
573
612
295
126
127
146
996
931
481
658
733
681
668
216
433
744
212
109
784
80
627
988
319
660
92
216
242
206
182
310
798
104
195
376
706
589
816
216
894
215
661
847
765
768
226
608
155
124
827
458
534
925
57
635
320
787
18
979
863
845
402
779
165
31
167
323
197
818
89
541
416
935
361
616
939
545
146
479
296
676
983
131
138
372
411
838
575
518
254
850
982
608
875
306
511
738
731
318
614
166
288
390
929
418
556
715
846
854
263
883
930
440
575
979
686
464
147
441
661
867
354
914
515
892
638
529
89
981
123
297
587
900
461
791
915
148
927
690
480
425
88
376
821
679
479
969
3
957
926
605
959
327
693
773
980
258
44
414
30
505
573
10
869
57
451
132
921
769
635
683
81
738
155
363
836
177
205
241
311
470
938
318
810
757
735
689
834
798
441
830
961
448
599
547
336
5
705
32
96
743
926
724
68
218
467
687
70
221
742
196
429
36
390
583
691
516
371
158
325
879
356
857
540
674
446
43
47
696
132
457
623
834
416
156
43
339
215
566
151
745
463
679
811
592
220
821
429
664
706
94
173
602
629
73
935
407
661
814
287
279
353
157
817
396
418
789
451
897
29
814
435
412
459
190
917
563
802
778
415
638
737
75
460
670
306
904
761
562
423
556
92
867
24
806
162
801
956
653
303
230
562
247
546
456
73
897
437
160
817
942
704
630
80
892
398
262
39
902
456
464
762
986
149
909
606
88
236
876
538
796
34
323
268
515
794
830
654
382
321
677
660
522
373
918
422
54
918
701
224
596
948
717
665
276
724
384
534
163
776
830
271
68
929
425
254
452
517
479
295
732
312
158
814
887
191
852
815
535
581
390
140
130
401
112
263
79
208
180
192
200
935
613
748
287
638
446
319
568
438
761
58
106
828
876
957
757
691
414
675
278
282
597
782
576
92
502
261
67
97
545
707
149
781
367
161
17
506
781
756
47
475
849
353
467
883
251
646
10
508
77
299
515
724
559
327
325
797
107
829
250
966
888
197
227
522
67
488
872
602
196
364
556
6
151
904
956
410
935
659
781
639
290
16
787
992
188
53
616
589
752
244
323
559
985
580
387
826
90
846
30
60
662
648
156
52
318
364
221
161
739
683
334
972
180
914
19
130
182
72
398
650
69
94
113
22
345
398
711
312
966
787
139
265
267
529
824
608
599
769
416
158
156
991
702
985
474
858
663
712
584
232
328
958
770
65
198
438
221
746
179
518
200
850
292
108
871
233
158
301
972
78
375
500
283
371
306
910
263
535
122
461
159
428
657
451
480
996
458
126
310
430
779
216
251
428
685
505
971
896
292
389
354
126
278
478
351
970
337
855
304
513
494
514
974
806
87
820
182
966
778
992
87
262
948
175
550
21
744
839
878
139
963
612
754
191
839
561
527
710
219
416
211
850
691
785
767
370
457
454
649
336
209
719
317
402
242
162
882
395
784
263
214
529
743
284
786
328
544
119
849
234
570
527
692
276
625
439
710
612
368
46
166
99
116
20
586
250
432
487
883
461
978
659
875
997
3
331
276
969
591
330
929
631
303
982
396
318
361
420
893
325
19
890
743
491
144
313
576
499
654
741
379
511
238
426
826
511
406
507
17
892
676
737
650
411
106
724
580
88
129
985
365
45
394
392
615
490
503
873
706
472
712
552
921
626
832
879
761
12
586
793
916
891
745
254
991
8
403
238
250
972
743
164
164
613
282
257
721
287
405
821
720
629
870
662
183
793
404
75
75
954
349
898
624
350
676
321
997
988
232
547
971
772
606
638
672
235
343
222
15
550
500
934
8
856
151
349
905
228
904
229
797
530
499
265
889
79
26
34
365
883
603
738
153
531
335
421
310
798
280
135
377
501
560
312
341
627
506
266
27
653
266
319
38
366
510
374
97
488
861
425
499
784
468
611
466
224
959
75
455
306
356
787
286
283
779
823
625
423
438
323
95
23
605
948
688
729
765
685
145
689
832
360
201
684
421
988
606
708
610
225
18
637
293
58
834
402
640
676
596
695
833
834
246
491
402
363
378
293
78
646
636
566
863
633
425
961
514
752
28
124
58
687
303
514
310
17
78
23
397
953
628
397
824
154
795
132
236
119
371
258
70
33
899
694
727
2
738
733
968
913
32
220
796
966
336
67
119
815
188
26
183
981
245
700
826
304
894
20
835
385
585
366
722
128
116
175
862
879
444
875
277
652
223
356
177
446
224
703
489
949
415
112
947
747
401
541
971
8
296
236
855
701
840
910
226
748
343
263
722
282
299
372
143
292
891
294
622
132
274
427
989
747
341
185
62
673
562
838
203
955
795
388
807
461
284
605
475
144
94
271
486
463
263
878
305
659
852
320
405
507
878
445
881
507
420
88
265
463
350
617
829
755
144
665
30
799
386
566
422
938
274
363
229
548
664
728
95
627
834
347
891
587
344
931
651
982
273
434
863
134
83
755
618
689
915
249
467
840
568
176
372
144
300
819
96
590
37
252
45
73
684
87
450
62
958
639
664
771
804
124
495
518
684
427
802
538
874
718
637
168
467
577
475
692
967
573
448
785
361
703
920
667
358
500
25
32
86
545
658
200
457
557
415
846
407
251
146
487
974
983
488
183
456
572
628
992
367
977
890
129
675
759
653
477
97
414
886
38
503
445
989
639
885
190
235
658
155
242
704
913
179
947
713
92
770
163
171
90
350
624
554
266
412
132
210
859
117
378
593
287
216
330
569
403
436
699
822
188
425
444
98
654
293
530
482
997
694
202
190
452
538
165
961
741
816
783
32
156
600
345
957
882
543
95
730
480
502
575
3
426
447
763
886
187
190
978
28
503
971
936
635
559
832
737
830
605
715
428
633
490
649
514
858
246
908
565
163
720
936
508
392
184
807
962
425
880
173
520
548
456
468
783
111
706
794
793
258
593
245
143
219
703
356
119
544
267
209
238
323
100
202
953
461
572
80
456
369
412
527
14
214
39
804
759
223
364
857
160
230
9
267
936
257
643
636
514
604
698
729
458
460
989
737
263
231
904
794
575
678
117
495
492
103
900
650
205
695
378
423
465
184
239
624
86
134
403
864
334
783
350
112
871
27
118
442
60
678
26
762
929
891
374
961
679
894
301
409
370
708
276
570
407
406
410
953
730
643
353
748
817
111
140
784
9
114
159
7
789
607
451
658
368
214
937
931
504
21
931
397
600
633
431
791
371
85
271
390
523
949
414
276
939
891
970
369
634
5
742
636
536
323
173
531
784
303
397
215
817
440
59
341
715
686
200
182
976
48
73
117
387
698
579
451
347
333
565
838
629
340
646
632
589
338
954
421
421
749
834
826
106
261
634
687
133
917
345
760
195
192
693
118
443
535
238
369
736
501
991
497
589
615
179
265
892
231
571
455
116
939
653
684
614
225
359
944
274
704
447
968
266
624
812
279
46
405
680
626
862
585
836
176
451
131
67
842
587
706
440
305
524
589
779
858
898
654
493
121
604
472
760
594
518
125
15
382
895
636
658
900
561
451
331
243
949
205
386
17
230
420
987
959
991
575
569
872
12
738
965
673
469
144
154
447
550
35
367
111
472
52
372
928
62
335
240
725
0
29
403
743
524
271
928
881
48
559
118
278
746
573
379
534
693
581
141
381
69
850
95
380
163
894
227
623
980
49
256
414
261
545
6
473
3
260
394
753
688
579
51
246
41
775
838
442
849
36
741
484
294
785
468
858
467
379
669
998
681
179
229
421
402
826
230
21
778
63
440
6
385
461
823
844
452
200
717
616
961
188
723
842
991
190
584
325
35
129
857
203
725
293
990
583
718
93
496
363
768
358
953
34
33
572
811
369
9
504
776
725
470
201
647
822
214
994
31
693
996
937
632
244
493
424
233
332
880
751
223
42
596
695
742
233
524
173
722
17
27
322
228
154
409
541
858
174
633
74
997
592
853
368
580
563
826
205
167
313
835
168
970
524
482
872
819
994
460
917
219
985
646
596
37
964
746
286
988
594
905
435
401
459
143
439
3
468
444
85
852
585
877
275
729
600
968
852
220
735
656
653
917
380
479
234
625
719
20
50
931
813
724
30
762
457
675
107
458
995
29
951
230
363
259
883
265
658
398
575
875
698
226
41
802
943
569
789
336
493
733
235
14
857
455
392
926
863
302
184
190
824
373
604
204
733
893
275
966
200
66
70
1
925
265
370
600
375
230
475
371
576
613
7
633
587
254
468
135
579
716
907
402
231
493
37
491
220
112
287
585
23
192
795
673
150
214
804
872
464
586
606
525
780
559
132
269
424
255
853
547
92
882
327
377
41
990
51
967
487
405
716
202
10
959
70
991
911
130
958
658
318
13
828
834
286
791
238
246
10
517
496
878
156
522
813
376
611
129
866
770
728
721
386
150
287
844
55
404
222
57
648
733
994
468
855
4
252
494
639
743
567
849
130
537
228
416
10
185
740
276
95
804
312
569
364
967
373
608
981
203
159
813
847
429
495
701
800
396
489
940
359
863
667
196
891
118
304
392
799
286
685
121
916
317
313
300
748
616
362
274
609
801
745
186
327
960
548
98
867
138
10
356
593
51
691
38
319
898
365
161
346
179
872
223
781
759
880
124
915
639
8
770
380
760
512
329
18
899
933
436
163
858
436
32
497
452
785
305
185
255
245
746
527
195
517
346
198
563
121
549
524
876
777
354
440
372
121
792
772
987
621
57
385
873
762
192
774
65
175
416
747
672
365
942
676
786
458
80
739
398
658
499
794
44
365
888
177
384
680
581
470
555
794
531
458
195
180
906
709
457
145
72
972
146
108
361
500
525
267
520
609
201
527
995
587
395
946
100
637
489
667
977
485
617
567
563
52
520
306
428
802
591
796
849
327
390
84
728
200
69
785
757
148
749
891
470
882
293
475
221
895
952
366
239
457
279
556
925
430
387
290
474
279
329
746
592
68
420
237
630
200
806
996
311
797
472
142
876
292
593
444
846
838
942
327
983
414
737
374
255
853
248
535
795
224
43
652
175
21
944
411
855
310
629
186
344
335
822
443
221
914
398
487
990
406
592
468
126
222
265
70
557
991
772
862
158
523
544
709
286
822
777
63
225
849
817
937
818
945
416
903
74
358
371
316
966
836
174
733
886
786
908
54
906
540
497
785
418
407
538
829
854
377
671
461
697
978
791
908
599
590
727
815
99
658
498
312
448
63
584
901
778
893
589
144
115
296
251
337
480
766
366
979
156
809
879
112
614
435
225
774
185
204
273
859
165
258
14
914
230
407
494
357
399
582
312
402
396
238
128
932
190
907
706
211
85
244
798
980
846
227
463
822
358
897
646
583
85
713
524
234
716
337
635
991
696
480
548
660
259
144
143
936
232
574
361
503
15
700
872
71
511
181
154
259
595
297
358
683
815
515
10
564
13
172
266
770
370
208
862
563
240
363
978
970
280
725
701
559
286
991
50
624
893
932
59
646
785
754
833
788
352
926
300
417
61
716
46
414
665
30
528
677
262
724
207
496
712
667
942
496
765
44
710
90
639
40
490
83
203
211
630
261
635
853
757
880
600
143
718
944
930
222
365
646
640
72
118
60
5
187
867
250
356
451
714
933
797
570
947
463
319
537
941
245
43
670
296
339
186
881
215
256
287
457
864
875
160
139
743
937
258
778
19
321
146
156
902
913
141
551
506
687
107
428
32
977
211
146
130
289
612
15
921
129
205
272
143
639
326
827
778
998
688
713
672
930
832
103
60
100
769
988
583
692
759
344
492
891
283
711
472
967
555
323
587
246
41
961
472
207
37
357
555
356
896
972
134
520
4
218
5
648
741
51
711
285
829
241
523
680
776
472
182
874
711
247
608
113
432
610
77
624
374
582
442
842
792
608
852
288
140
681
134
577
568
27
968
518
983
454
77
837
603
294
141
209
378
109
597
189
877
284
850
458
649
103
59
150
997
300
273
384
840
608
254
519
550
942
491
489
151
57
600
218
24
828
86
25
301
220
875
54
590
792
788
998
365
30
223
291
712
150
98
312
619
613
236
868
160
245
674
456
543
288
493
313
136
908
614
472
78
812
117
244
135
250
320
383
426
157
756
979
397
450
356
979
68
522
556
437
658
251
76
723
371
974
864
128
854
763
882
228
688
862
863
981
298
180
596
274
688
154
80
97
957
975
994
168
184
144
288
850
90
87
19
432
822
745
225
107
283
135
772
846
920
448
24
460
621
665
496
212
601
946
711
558
619
286
352
979
106
411
68
217
632
136
61
68
829
768
339
623
394
140
67
609
6
603
856
689
964
751
678
495
49
475
395
941
649
380
308
604
803
13
69
599
730
253
745
134
11
904
256
894
684
891
258
949
245
321
730
324
315
793
699
780
706
225
204
771
112
28
766
735
414
616
716
986
327
648
897
810
472
572
549
354
335
795
574
201
98
554
10
954
45
225
866
608
132
645
391
11
689
825
722
766
224
711
227
706
655
956
491
379
47
968
166
810
54
273
135
269
21
776
816
499
84
144
330
173
643
216
89
55
294
666
96
163
675
262
893
54
475
893
558
811
500
576
172
433
22
508
633
28
553
274
572
972
942
154
709
777
455
917
331
820
16
901
122
75
416
469
637
817
71
988
303
563
674
544
572
654
670
908
948
769
543
356
748
532
264
885
450
483
118
42
250
468
920
600
48
119
602
498
492
5
216
645
882
14
249
810
833
25
666
419
519
628
753
849
745
533
892
27
283
518
304
223
779
409
861
89
687
666
32
548
396
357
148
66
883
92
623
954
46
349
935
69
713
870
167
947
36
63
300
941
47
456
263
376
487
672
272
636
929
665
294
477
297
203
937
989
12
971
170
207
303
826
637
138
738
184
547
969
785
257
702
621
178
429
59
683
23
462
714
734
92
570
91
505
864
535
230
147
520
649
584
460
154
914
418
383
240
54
291
454
252
577
278
294
819
272
605
230
177
180
390
49
476
15
114
423
503
819
939
943
327
360
224
618
109
293
593
713
62
819
562
537
11
164
917
4
433
932
650
76
723
195
69
430
556
880
5
82
615
539
378
681
28
886
710
524
696
110
133
910
410
552
248
534
269
897
992
166
913
228
781
143
772
324
143
499
988
509
492
543
134
472
214
752
241
76
435
265
489
92
60
39
236
737
561
214
555
230
901
183
323
360
491
385
942
793
583
100
815
903
946
984
464
341
248
71
676
789
149
161
206
438
385
835
287
927
56
877
384
265
879
225
720
483
594
928
954
341
531
105
982
6
102
454
430
965
853
178
517
774
43
981
822
520
278
21
506
799
843
978
351
368
356
197
668
727
976
352
466
661
678
897
795
977
860
240
185
145
549
296
728
658
600
530
413
766
928
245
430
974
809
107
963
374
799
686
194
809
675
680
68
476
1
959
691
107
603
230
831
130
382
870
458
583
250
466
505
307
594
272
496
681
625
752
710
319
912
320
775
569
517
674
739
643
182
334
719
722
760
792
88
495
352
85
969
883
772
294
834
148
253
94
483
671
844
711
647
534
547
231
162
498
527
80
437
749
912
876
236
156
585
568
516
285
666
925
881
573
147
192
517
869
508
95
791
752
801
509
75
251
89
626
507
351
922
137
215
397
512
87
114
303
612
234
160
384
910
8
270
802
735
366
470
87
652
121
386
901
469
176
651
484
136
565
725
282
203
203
349
645
129
266
898
427
510
20
395
622
652
411
204
431
648
26
672
447
710
377
576
249
681
957
10
724
983
121
766
835
678
486
134
959
358
479
589
261
40
439
142
462
393
473
10
670
153
694
300
987
899
718
921
500
357
633
6
559
952
519
715
611
462
366
309
77
885
75
260
965
170
910
85
618
178
553
97
611
258
517
895
180
92
765
546
941
624
458
843
55
538
866
666
251
697
123
8
475
821
294
37
125
924
838
723
937
707
18
736
672
195
770
587
739
42
35
709
515
351
688
489
431
78
57
477
979
300
147
158
408
871
973
107
363
899
176
359
517
366
339
538
745
527
568
464
446
32
885
551
913
185
484
261
354
584
902
6
931
698
68
364
529
917
59
552
297
173
401
505
922
675
826
860
152
990
273
625
267
752
660
517
720
583
198
444
884
619
630
691
633
914
133
722
241
929
904
979
995
239
840
923
465
126
222
131
866
700
796
839
114
396
559
845
706
668
458
115
738
341
898
278
840
75
539
555
272
179
27
938
741
602
980
212
524
72
490
138
458
341
165
96
38
104
33
102
159
570
290
71
934
296
494
803
6
690
597
77
87
562
68
255
161
625
775
326
554
708
891
154
184
744
175
964
239
187
447
549
722
860
139
122
701
308
829
353
249
139
515
801
790
533
948
324
879
790
251
225
441
461
125
633
419
169
274
714
437
860
402
135
581
948
466
30
713
938
593
702
994
179
150
400
878
417
319
692
789
142
261
131
333
176
11
353
664
235
665
423
12
524
882
889
306
855
960
495
524
394
642
86
592
433
193
347
259
251
237
112
760
575
698
780
684
809
104
176
397
947
698
672
974
61
343
983
341
612
56
448
98
501
209
406
522
435
149
365
755
579
613
340
849
747
407
583
399
127
478
718
13
991
176
880
227
443
207
374
428
649
932
455
158
257
510
266
446
386
231
751
362
59
187
868
899
345
613
84
208
122
685
846
74
289
248
528
637
14
856
599
162
209
643
378
267
665
557
550
778
613
148
323
4
844
156
57
530
667
301
287
451
331
428
471
328
620
21
779
334
219
527
659
179
521
526
871
177
406
843
906
261
679
785
208
988
21
980
188
181
802
252
560
467
788
484
653
484
2
289
63
121
119
987
562
904
737
67
714
890
664
704
932
927
752
171
267
536
373
999
421
996
228
521
422
582
658
405
560
891
945
187
58
203
552
761
36
349
60
403
536
866
237
623
896
992
446
195
660
987
5
352
352
747
452
289
270
125
442
827
286
160
530
243
506
420
638
219
473
33
612
401
873
33
82
447
526
803
844
923
370
470
396
63
964
459
350
216
491
170
593
677
460
939
502
626
228
11
826
240
523
246
150
435
178
148
317
567
980
260
454
929
146
389
513
392
201
193
15
591
490
806
260
799
234
373
524
469
782
299
849
200
203
435
58
166
774
343
336
174
740
482
572
681
608
497
171
691
476
403
926
203
57
431
391
40
792
769
301
962
502
721
490
808
136
961
718
261
292
706
625
560
815
582
886
341
563
442
990
884
8
630
560
19
555
836
602
532
627
859
874
374
716
185
730
121
892
75
928
464
293
873
116
561
172
443
435
520
927
12
29
13
186
74
944
243
647
758
891
285
310
897
746
727
24
42
92
571
402
153
308
715
772
244
985
665
46
341
483
67
300
773
284
736
352
618
147
762
617
384
727
620
575
624
642
504
187
85
291
996
961
685
572
509
305
291
735
780
953
82
961
332
949
859
957
59
121
464
901
336
953
84
192
775
786
457
567
360
389
272
358
775
381
89
905
379
719
48
574
308
888
195
122
907
661
552
918
778
835
194
734
65
149
374
765
780
604
94
817
756
21
613
286
111
625
134
551
298
461
497
382
876
507
56
563
551
659
586
208
747
461
353
73
651
285
255
124
121
810
299
389
485
497
752
283
983
263
553
374
80
948
158
668
373
196
683
479
544
40
728
247
410
226
7
40
501
581
635
849
670
774
730
955
84
521
746
723
99
365
51
509
795
740
453
893
634
255
415
279
635
750
534
218
160
926
113
794
996
627
891
77
313
946
212
551
265
830
480
3
642
162
127
849
490
265
436
88
283
945
426
81
183
664
868
366
591
901
484
618
30
912
149
181
719
119
853
437
749
105
819
491
113
666
417
923
129
358
358
366
292
63
738
684
38
269
133
834
88
855
193
103
508
388
68
279
632
807
293
27
902
924
442
795
951
567
21
465
749
754
108
8
724
499
741
371
851
802
881
172
142
362
194
352
567
952
557
411
206
676
898
19
812
320
683
236
866
598
315
299
580
15
648
438
886
824
327
237
508
560
208
836
708
499
828
724
100
354
397
107
500
276
461
609
609
863
166
189
572
869
34
690
974
155
413
344
631
363
25
209
434
534
532
661
863
791
952
695
219
466
263
854
358
153
616
426
694
714
281
972
577
457
90
895
956
337
185
544
11
379
966
933
305
74
575
736
966
231
241
953
871
135
231
915
416
245
814
912
248
93
266
732
501
541
205
48
566
753
654
27
772
477
385
975
444
697
342
423
242
168
522
210
333
553
125
541
692
444
857
643
402
310
764
943
732
121
634
747
683
301
331
435
688
639
398
779
721
763
878
768
522
75
336
405
611
997
299
15
242
841
707
669
283
554
590
907
984
551
847
669
741
176
470
958
304
180
580
646
944
531
669
337
911
677
252
438
530
779
477
282
492
93
694
187
818
401
263
889
917
804
597
250
739
111
322
100
779
824
185
994
889
282
882
356
613
417
86
355
749
827
16
720
104
687
623
403
620
516
150
687
956
142
44
651
645
859
950
190
285
926
895
299
325
345
560
853
507
887
394
678
588
114
373
866
938
734
443
47
513
545
623
482
383
759
656
640
763
920
448
646
131
930
793
547
938
704
426
268
981
839
273
105
411
758
217
755
37
781
321
307
982
855
149
279
409
301
877
584
26
700
322
50
68
843
419
298
964
992
655
751
444
465
738
476
325
130
145
275
555
216
712
184
106
905
205
450
311
72
177
338
160
260
120
493
348
7
344
934
723
605
606
843
476
229
558
687
259
528
335
208
362
395
620
371
302
170
879
222
12
764
890
1
769
73
470
846
309
0
638
389
404
779
710
618
332
484
868
113
77
48
897
114
402
612
103
370
12
877
621
919
249
87
134
523
780
720
59
768
743
871
251
202
408
558
469
906
609
381
490
75
784
345
91
632
996
917
19
895
87
247
478
450
161
993
463
218
609
276
624
512
137
944
368
42
745
506
246
113
521
914
424
101
213
625
260
454
322
848
986
862
378
562
123
223
512
426
428
669
427
849
873
682
574
272
183
542
677
781
11
833
286
204
355
961
366
716
813
178
720
495
105
990
275
382
310
341
855
970
494
161
350
20
386
785
514
219
584
512
21
572
857
987
131
555
36
235
73
835
693
926
730
786
229
754
306
494
829
496
231
604
358
806
230
663
626
350
426
943
979
355
19
568
966
816
654
570
653
677
638
267
187
549
897
935
516
144
281
743
614
265
0
796
990
309
337
985
203
725
86
90
986
850
202
713
456
27
732
769
177
442
74
621
226
446
688
442
505
310
197
190
289
493
398
703
552
692
238
876
356
869
482
150
605
135
105
178
8
129
805
321
417
796
606
782
790
632
85
894
721
704
349
738
994
759
711
41
923
466
141
71
62
688
440
698
162
560
897
416
361
235
871
923
48
492
782
167
56
22
215
613
358
296
772
488
880
780
336
168
178
49
826
216
766
665
118
725
567
333
900
199
62
650
833
92
249
187
278
773
91
776
419
238
535
462
254
573
145
224
419
215
315
697
371
435
528
845
915
358
118
684
413
249
948
61
242
900
627
833
534
196
988
693
138
632
484
985
279
348
121
277
565
682
283
925
566
371
884
742
314
204
830
55
289
890
851
277
464
448
173
996
936
685
453
533
587
584
652
553
475
101
494
710
495
84
844
536
688
854
563
685
990
129
45
499
307
949
300
20
802
501
100
213
956
219
228
580
137
818
723
815
394
126
601
208
586
324
152
740
767
877
179
342
293
602
679
997
778
546
88
900
345
226
65
753
432
806
332
490
561
342
852
489
563
237
167
757
634
977
63
529
824
796
614
868
737
412
438
223
69
587
91
382
557
236
280
460
199
221
948
342
451
115
776
137
44
948
722
362
920
428
15
653
885
425
155
208
903
991
722
430
895
406
637
439
772
379
240
209
866
681
346
96
720
239
946
573
906
702
200
605
325
715
785
786
470
810
707
958
640
156
697
352
628
73
892
907
843
326
140
371
810
311
696
227
477
860
105
27
973
518
985
959
391
179
213
615
907
877
866
717
498
46
447
286
667
859
384
676
800
399
3
239
262
913
987
353
687
454
934
224
409
501
282
141
531
891
300
757
543
783
953
443
508
957
751
127
656
667
688
147
879
713
424
942
499
122
521
790
354
200
823
216
765
184
460
856
910
636
458
996
460
873
969
657
538
299
26
803
560
585
16
104
442
400
755
938
486
63
664
189
775
229
890
310
29
941
164
124
732
50
543
507
555
598
269
159
718
97
196
228
788
776
175
852
369
199
420
809
726
297
769
693
787
179
815
187
747
307
347
902
88
707
0
59
560
516
25
800
357
187
698
332
274
24
231
886
890
425
35
219
864
701
724
249
451
144
338
215
999
284
311
295
523
398
640
879
811
70
436
986
919
608
179
507
609
100
990
2
241
846
12
510
331
29
799
340
744
135
136
407
868
939
16
398
50
375
795
41
927
990
118
44
249
337
601
859
802
73
799
61
997
363
567
662
977
114
236
230
177
658
74
913
552
627
290
294
341
549
889
638
777
217
777
891
110
196
203
352
459
795
352
12
573
525
563
585
625
227
64
437
71
990
569
510
155
554
478
705
437
173
667
248
29
993
557
301
510
498
827
847
638
955
998
306
182
54
217
527
272
915
187
454
944
3
650
368
987
855
208
75
656
327
559
610
687
158
26
798
736
855
668
911
465
885
372
741
98
965
469
328
596
681
49
26
260
834
17
21
175
689
338
134
270
125
93
61
455
805
507
312
1
675
81
971
765
303
704
211
189
181
811
175
393
390
108
636
852
295
922
870
282
185
658
69
499
776
519
626
232
847
97
265
939
435
420
248
861
25
579
392
215
665
720
562
563
0
907
140
90
792
771
987
175
617
304
792
517
380
296
596
217
732
872
547
58
650
286
653
856
168
438
147
993
493
19
355
666
224
396
759
551
565
31
338
4
523
401
993
317
155
928
60
526
669
688
256
516
577
402
558
341
184
694
90
845
466
120
51
772
169
41
783
125
698
955
181
156
47
121
278
885
693
218
114
134
441
105
1
540
181
630
541
56
893
466
644
417
582
254
606
645
565
172
198
969
812
732
926
481
706
719
761
330
832
249
392
566
609
555
638
166
138
378
604
30
443
91
125
103
614
579
684
934
116
70
740
397
752
348
137
10
642
13
731
710
79
928
892
826
943
70
558
625
957
463
422
683
271
814
634
694
149
371
367
977
315
649
309
825
483
20
142
292
140
393
139
146
634
798
505
380
186
986
347
409
424
592
175
207
33
108
309
93
504
268
13
174
130
343
904
923
575
163
201
23
506
613
767
445
319
663
109
716
799
360
585
836
243
360
413
848
160
132
103
294
860
478
421
353
389
194
185
790
139
988
707
28
79
207
310
546
478
433
971
898
761
513
748
232
90
789
361
337
810
488
473
567
173
767
611
578
369
143
522
353
15
560
525
427
676
245
889
484
985
238
658
616
689
660
953
582
413
63
70
136
982
566
668
492
798
697
245
376
151
697
717
150
138
525
939
6
870
177
859
287
65
430
964
216
758
347
692
906
103
318
110
821
662
130
440
479
791
364
826
314
565
31
365
930
140
165
456
385
375
259
843
531
257
727
14
61
852
176
172
168
467
223
16
135
422
505
163
820
109
73
768
892
250
783
843
675
633
116
893
555
615
950
50
973
415
361
843
767
723
690
143
313
540
303
794
542
505
421
791
59
714
680
165
449
784
28
865
358
137
924
750
130
129
733
74
241
505
664
372
441
237
91
111
991
267
841
875
255
814
631
845
467
386
841
853
620
141
194
577
51
476
249
92
797
957
978
532
464
361
692
701
400
74
176
756
91
728
415
441
404
521
164
782
211
801
102
249
432
175
551
873
359
568
743
887
758
846
347
920
673
363
634
25
441
92
485
376
680
252
427
703
757
699
489
101
242
135
978
980
496
812
656
492
211
347
595
393
911
165
63
669
63
607
729
171
791
261
51
898
576
776
219
613
674
244
338
722
890
137
133
822
141
775
321
882
582
239
876
887
816
254
266
672
9
688
816
276
683
115
876
289
964
507
683
964
404
208
587
548
222
311
855
243
518
556
588
78
898
765
544
906
252
266
765
901
10
224
247
327
115
583
716
620
8
259
231
875
200
614
505
371
273
243
408
158
123
351
600
693
9
231
610
709
924
427
483
192
820
102
962
551
557
389
144
721
705
869
285
677
810
638
542
0
927
932
818
397
876
469
174
212
724
349
638
314
658
525
725
707
189
989
593
533
722
618
373
766
763
490
641
227
76
635
120
709
457
995
252
618
45
44
143
781
787
448
189
849
704
206
17
393
456
609
960
453
940
916
28
817
897
356
58
580
581
510
61
412
678
182
284
764
52
828
768
82
232
235
594
176
171
187
145
543
657
922
533
585
622
521
245
244
198
875
824
855
160
2
777
262
220
98
358
744
262
618
536
845
830
714
714
433
504
545
461
265
41
817
50
203
628
967
453
678
964
425
68
536
928
602
332
723
176
98
482
391
280
760
809
296
482
634
478
539
508
246
934
66
849
612
893
352
918
774
719
903
411
187
2
86
315
492
823
641
451
542
393
800
37
782
233
66
568
471
593
165
815
243
440
464
917
553
328
619
673
148
15
921
375
711
379
542
634
664
130
398
51
693
885
575
780
642
215
430
878
646
823
920
961
401
570
249
40
499
370
102
895
974
612
793
301
263
531
639
541
889
423
468
197
961
351
167
952
39
86
163
296
995
623
536
365
376
237
797
444
58
513
858
931
547
614
566
308
26
339
466
408
129
34
658
475
584
273
51
383
386
187
385
980
644
720
880
92
530
911
709
303
62
15
609
894
102
564
246
665
639
871
806
539
264
172
293
71
284
161
438
679
473
113
2
318
6
131
599
204
513
449
822
783
510
371
813
382
871
946
122
839
941
827
627
832
827
639
937
544
372
1
953
815
689
324
70
111
191
484
545
90
513
303
498
345
166
409
331
749
459
996
243
623
361
318
415
82
410
353
816
714
459
157
953
231
666
9
395
764
845
693
770
868
706
146
435
206
783
930
762
617
676
805
572
131
136
590
239
334
759
393
565
718
452
579
976
496
490
400
165
679
822
301
924
601
645
728
781
111
401
483
386
337
25
688
475
454
812
796
555
757
144
590
545
329
272
517
614
36
109
794
236
425
223
707
613
561
376
680
790
602
291
3
78
924
545
567
550
162
545
375
874
693
394
147
453
222
379
403
247
835
120
572
732
389
930
852
392
643
124
57
859
503
268
850
314
756
728
202
104
657
408
997
719
237
585
6
934
203
145
618
374
257
66
794
114
813
223
393
437
761
927
859
200
970
885
49
106
768
63
479
300
513
931
237
788
482
870
837
562
864
819
957
276
384
564
658
849
449
220
427
128
798
214
581
876
242
330
821
753
25
8
324
856
670
166
438
110
821
840
773
520
637
393
458
296
560
329
501
133
954
130
555
320
747
248
872
180
863
607
632
808
107
872
874
458
899
207
436
43
839
961
889
620
273
667
763
857
730
922
791
208
924
364
13
880
470
512
126
611
546
184
609
397
529
12
579
771
324
527
618
749
621
791
151
54
825
335
142
668
990
964
711
235
800
735
432
37
147
944
354
843
422
269
972
921
590
802
509
726
315
282
727
466
502
751
464
979
611
916
990
237
311
405
650
531
265
513
981
401
517
866
49
544
532
700
526
454
470
971
284
551
609
804
583
710
367
695
591
710
999
951
149
493
30
155
146
756
633
912
147
193
411
986
947
169
294
954
570
742
226
652
504
474
561
796
85
1
6
376
31
37
388
864
637
258
29
351
600
178
207
69
824
431
457
413
682
896
28
937
363
298
831
162
395
178
76
106
813
873
718
727
503
6
578
0
809
527
912
374
174
116
576
399
443
906
397
52
783
428
26
175
230
167
24
845
318
506
988
842
963
388
495
185
708
486
36
736
220
887
685
696
764
474
467
140
494
824
700
373
737
840
710
671
493
398
133
575
547
188
911
526
270
321
626
267
67
28
462
119
38
769
925
939
732
185
127
634
579
785
398
837
796
267
298
396
858
630
33
834
754
467
248
621
224
13
736
791
407
180
160
465
480
249
495
403
261
649
698
295
772
783
307
530
392
379
182
56
122
314
897
264
593
52
318
98
203
735
963
106
684
247
372
25
119
315
343
18
692
708
795
498
450
556
556
648
307
869
909
174
346
313
144
53
153
380
946
169
350
503
651
359
286
617
533
544
452
560
545
178
447
844
301
825
9
135
686
93
433
811
105
370
264
45
840
437
9
534
234
543
35
591
463
376
647
679
590
712
982
555
238
839
368
469
85
435
229
389
598
843
145
832
930
25
508
168
263
7
235
278
252
460
558
453
987
38
907
975
260
698
375
274
873
473
690
721
165
553
497
624
638
317
892
396
575
630
118
615
778
663
826
199
507
703
718
401
890
807
609
993
580
726
19
890
276
556
638
167
434
43
462
9
324
956
256
56
442
802
284
749
845
615
958
23
707
153
829
648
811
256
603
511
668
305
590
390
74
848
953
642
534
225
750
260
765
709
865
714
256
468
653
737
811
949
982
709
751
558
861
513
134
322
632
417
476
487
332
610
758
209
200
207
308
76
400
539
95
466
768
338
436
565
308
792
792
533
621
574
48
624
468
67
920
413
868
699
793
480
843
695
444
564
136
551
32
516
970
855
610
813
659
680
444
446
768
79
919
320
595
118
186
197
28
898
311
766
108
699
409
975
747
568
560
405
410
740
553
703
360
616
969
864
967
35
383
618
214
143
692
893
234
398
247
27
157
734
689
216
281
809
105
640
225
719
177
812
144
511
182
246
34
309
495
489
997
299
551
54
476
993
178
630
726
862
624
304
395
543
814
114
466
221
497
362
802
14
987
506
265
289
751
552
40
838
403
417
423
617
381
766
974
51
865
520
889
193
442
855
967
405
279
899
274
424
854
539
857
888
82
676
760
875
637
607
284
599
275
395
801
931
101
28
696
11
549
65
172
404
276
21
966
402
399
191
976
188
36
216
752
853
807
880
296
274
517
432
649
475
918
963
896
596
467
576
115
118
186
636
789
551
368
783
866
227
99
866
68
720
24
11
618
509
882
244
395
325
419
759
513
735
135
111
787
497
479
800
962
578
292
44
964
884
927
621
340
937
686
901
842
236
394
25
985
445
232
9
184
198
53
412
402
688
682
489
518
612
862
529
251
224
210
407
266
267
967
713
187
4
161
418
104
35
618
256
806
872
932
688
731
127
420
822
906
65
301
234
675
961
242
862
425
81
470
840
117
796
565
147
975
491
295
236
131
597
241
701
964
178
74
381
404
649
318
813
584
703
684
542
587
572
578
176
241
406
188
828
78
228
102
998
408
19
851
580
54
962
317
447
522
125
109
678
249
800
278
638
332
825
253
375
897
342
767
798
504
875
961
595
847
186
383
611
884
312
538
616
229
218
24
763
130
499
269
628
803
826
166
202
16
984
542
968
301
573
389
327
741
768
158
838
513
643
257
0
826
273
605
291
861
738
230
886
885
146
266
678
466
643
932
514
768
782
139
128
550
635
477
499
881
262
118
737
207
757
850
104
451
12
486
929
963
112
3
890
274
964
62
155
37
743
633
725
723
294
188
390
508
854
107
594
323
506
3
919
114
628
593
863
574
468
600
681
116
935
930
890
933
739
582
711
293
417
487
195
528
121
566
99
444
757
165
239
655
377
932
64
474
985
637
906
477
576
414
197
656
974
148
499
883
583
776
855
704
637
684
167
714
711
614
641
192
932
86
752
856
753
681
424
310
655
81
20
113
598
622
64
24
485
448
891
580
720
436
764
21
157
942
32
389
799
596
462
207
45
105
334
983
344
436
883
983
409
7
833
1
83
352
639
294
825
600
772
714
518
119
783
969
119
239
308
397
614
907
59
721
605
151
340
620
730
409
949
867
610
426
355
199
672
427
76
874
442
145
804
575
578
235
378
356
660
131
877
94
76
391
487
649
357
995
452
663
853
869
695
91
932
410
135
864
322
979
921
652
325
507
368
519
401
132
91
451
978
936
384
817
299
443
303
937
481
73
400
782
856
876
200
769
295
872
269
740
946
83
549
131
453
440
944
60
421
761
658
173
862
444
436
239
156
420
891
40
141
921
46
890
935
410
813
623
192
509
968
88
195
349
225
953
128
724
852
797
757
660
108
209
45
839
319
131
337
464
816
13
156
921
976
775
634
41
820
794
259
447
63
393
25
337
536
560
577
538
14
983
870
944
385
135
640
560
907
382
933
919
442
162
185
153
657
323
585
145
682
624
284
734
776
638
899
631
715
719
64
235
836
170
326
557
468
839
645
507
790
695
498
632
177
872
228
938
94
858
629
896
56
169
171
0
81
530
701
569
155
574
929
156
802
705
917
428
888
631
305
499
32
724
666
27
310
281
242
519
632
670
972
445
498
969
847
641
605
873
539
724
347
10
393
932
985
652
542
706
357
51
560
220
428
459
493
60
492
723
551
152
836
520
557
755
565
594
74
4
211
13
216
424
183
469
386
858
368
520
443
232
116
795
69
365
715
35
465
990
417
221
866
577
694
365
217
842
699
427
738
182
578
477
552
834
460
271
12
550
103
39
826
804
242
614
193
484
549
146
606
40
538
856
57
741
569
104
991
990
980
43
672
626
218
665
52
847
559
332
948
399
350
487
705
31
519
880
273
492
877
728
780
76
365
526
28
942
454
338
809
80
453
452
532
355
512
752
802
937
680
863
820
317
238
89
277
201
168
880
651
50
866
860
492
63
889
789
466
791
372
31
988
857
275
819
245
716
242
661
970
77
675
813
949
415
867
919
868
35
978
866
217
824
764
460
828
891
496
399
53
1
202
97
547
838
696
719
541
412
122
93
312
914
664
610
127
697
337
13
367
950
406
192
728
144
418
179
300
360
770
621
894
127
775
979
730
872
83
558
911
994
347
871
132
26
660
663
741
622
137
725
399
209
568
607
231
996
978
68
574
764
393
828
200
505
522
235
508
765
102
156
440
544
636
573
904
826
228
958
614
478
103
569
980
281
557
84
190
926
914
885
505
528
786
488
426
640
975
192
573
931
660
403
927
131
67
440
702
458
189
811
443
469
762
780
393
780
645
500
746
334
349
248
989
472
534
668
677
288
153
21
975
523
750
515
880
270
119
690
699
54
47
31
228
41
258
684
899
907
645
636
497
446
28
22
430
687
787
948
0
914
494
960
849
592
652
54
551
737
556
118
327
841
292
545
935
959
299
937
895
484
116
958
489
243
337
433
933
624
957
914
561
971
402
633
115
819
398
551
817
578
396
569
747
189
594
124
911
171
758
116
288
540
861
968
892
200
75
989
574
211
174
220
66
658
592
935
620
293
815
322
703
956
662
891
735
862
231
358
905
527
586
582
188
174
652
455
602
433
563
792
778
346
866
640
517
543
176
868
909
721
747
959
813
173
326
861
210
710
564
828
806
526
98
679
78
126
462
383
403
211
269
513
812
319
21
724
987
25
451
346
894
914
732
589
507
38
82
384
326
829
600
625
619
461
120
53
131
918
871
944
816
647
33
401
431
90
258
588
550
25
158
250
124
686
539
646
482
747
907
604
421
920
463
816
392
934
415
336
62
151
121
971
972
866
689
10
870
10
660
990
167
122
206
445
987
903
643
152
158
948
370
250
288
893
106
325
974
822
849
907
122
545
592
118
806
349
885
941
800
956
931
93
361
897
100
812
99
430
831
707
251
710
398
573
576
746
812
445
33
856
28
881
282
213
564
688
106
567
207
254
362
816
30
175
406
657
924
836
163
439
288
287
324
682
968
957
720
538
887
379
283
936
618
813
753
197
163
717
841
623
505
706
905
313
284
848
121
264
207
79
682
154
732
880
299
921
467
685
98
335
550
359
419
577
666
640
146
332
8
297
140
458
847
843
993
902
228
134
34
856
317
152
813
296
473
805
438
758
894
372
981
258
55
789
73
919
229
1
198
430
660
905
872
637
26
485
747
725
27
502
804
313
29
187
136
187
635
910
859
405
990
946
388
873
822
755
171
460
149
145
630
692
666
760
551
562
260
184
279
137
361
781
914
362
226
11
248
146
701
627
803
810
706
789
24
802
757
229
709
851
48
849
242
629
812
596
186
982
473
637
833
318
319
856
907
392
453
488
453
576
899
952
442
356
799
844
351
340
257
832
102
463
19
882
56
750
849
602
727
105
143
367
976
597
659
161
649
478
558
647
574
235
767
689
873
62
106
720
789
542
954
154
481
757
450
426
144
993
571
562
931
271
814
634
619
999
204
644
25
188
357
695
433
734
961
570
972
207
386
263
487
886
455
121
845
273
180
292
143
310
439
951
759
367
975
397
180
596
731
208
750
329
562
31
881
501
728
441
311
968
148
536
298
627
147
201
758
343
200
988
374
208
610
691
4
204
278
449
425
948
30
411
552
384
954
580
264
648
276
695
822
9
486
135
503
928
27
763
728
244
749
750
808
506
515
288
265
761
604
625
22
771
507
303
440
569
544
984
842
904
84
695
498
216
129
276
348
707
453
380
569
956
812
628
659
338
706
247
203
657
574
703
936
441
567
72
151
760
898
401
916
421
799
183
668
815
387
730
974
314
797
350
342
216
472
721
669
815
102
817
914
613
628
65
332
537
495
112
566
933
564
442
53
825
543
312
458
551
486
585
970
311
37
591
116
538
213
537
206
535
635
231
542
290
458
453
279
811
186
494
219
302
428
482
339
776
653
715
323
435
657
715
407
725
741
220
497
773
775
174
285
687
794
483
890
38
380
239
695
709
21
407
612
844
761
681
650
609
12
262
622
984
975
275
120
327
81
633
50
471
372
809
181
379
223
793
629
127
262
867
140
210
238
457
642
829
54
95
731
619
298
762
244
876
807
204
269
746
178
52
196
909
11
811
446
290
355
737
312
387
115
83
220
462
787
836
939
964
644
980
73
525
732
730
565
107
197
53
224
511
885
462
735
876
26
852
512
558
487
967
725
752
106
899
439
738
485
516
847
812
803
340
784
638
166
113
486
942
452
666
278
371
816
649
875
708
340
76
904
655
159
962
302
873
115
312
103
928
223
459
52
980
492
821
960
101
586
337
80
137
134
158
322
444
648
156
341
163
300
610
781
494
819
57
639
683
304
745
301
64
626
922
309
291
782
998
53
725
51
218
192
23
723
567
950
403
733
925
58
157
600
133
199
137
302
922
589
956
742
64
200
703
709
581
471
901
737
517
3
760
394
686
670
930
271
663
917
549
777
907
803
780
134
901
876
808
557
629
61
875
464
659
294
313
221
181
306
306
816
258
298
689
542
823
19
206
549
141
308
333
357
744
670
368
110
456
823
917
282
52
764
542
483
823
561
351
579
686
506
576
344
805
442
894
323
592
478
535
294
755
963
543
197
291
765
817
194
978
850
140
848
43
980
958
271
887
810
140
142
543
519
151
237
696
413
512
579
157
849
277
898
677
935
674
465
911
773
315
609
821
962
695
33
6
340
747
28
543
495
505
193
18
375
466
636
600
120
14
952
635
62
484
492
995
280
609
338
503
53
479
6
825
485
538
220
790
359
210
372
150
65
900
639
750
825
408
42
739
937
768
675
874
6
841
181
185
715
380
857
669
171
454
659
990
171
717
900
741
69
90
829
778
411
76
157
471
387
414
179
987
937
560
205
64
696
568
93
946
535
210
933
438
897
521
123
467
99
686
686
944
539
593
162
283
813
806
350
549
770
492
793
338
575
961
443
569
541
475
738
722
791
360
11
89
788
430
621
607
129
428
768
5
263
293
708
711
209
819
562
775
259
512
319
806
901
572
323
17
303
151
884
498
173
605
934
964
463
845
940
768
483
386
611
754
391
769
317
816
773
494
671
158
13
185
588
616
501
991
567
212
763
419
671
993
34
632
104
948
690
75
681
513
840
603
567
408
960
378
34
237
132
714
976
828
216
720
82
687
962
584
165
774
950
944
456
103
800
724
145
885
816
529
88
736
839
313
898
386
206
469
885
254
192
202
727
602
941
911
582
821
283
137
109
93
819
999
194
561
618
399
612
983
883
733
579
352
908
520
638
460
471
77
808
844
886
690
86
111
72
515
564
970
625
740
866
856
697
52
864
318
859
903
628
22
992
120
232
326
987
442
206
15
359
768
45
475
289
993
276
537
335
673
26
368
921
596
41
674
786
439
219
138
205
246
337
487
695
166
71
775
376
891
797
524
169
618
98
927
61
940
537
615
378
172
91
75
220
772
874
708
189
347
885
470
378
828
642
926
428
864
886
183
722
694
867
192
216
972
583
443
253
623
661
838
222
96
295
189
925
118
162
937
522
948
448
238
599
197
810
459
969
296
158
182
246
339
874
66
509
926
187
585
972
30
172
154
690
913
588
362
77
175
384
944
65
383
958
233
534
439
320
220
932
317
777
74
204
563
54
490
601
813
556
478
62
962
147
867
773
688
119
205
887
570
386
784
607
706
510
69
994
415
139
629
414
650
201
358
26
745
921
597
53
539
652
787
541
699
947
740
880
486
143
410
999
693
515
786
259
670
318
477
365
346
563
78
617
224
446
893
820
420
385
710
920
349
748
823
560
478
658
799
717
930
712
322
372
612
362
67
886
667
558
847
104
435
717
63
982
835
242
840
102
826
80
207
965
126
236
863
701
594
902
10
194
522
278
380
657
736
251
504
227
879
996
184
777
507
368
590
187
441
259
749
17
805
113
912
808
912
517
464
242
805
473
653
969
520
545
111
519
242
826
671
395
417
931
180
900
303
829
602
471
926
903
657
450
402
446
770
21
361
442
714
530
662
419
210
897
449
869
432
862
569
939
707
496
597
639
496
389
388
344
689
20
543
27
134
332
463
903
934
512
389
136
141
439
246
504
276
335
875
86
806
103
266
978
937
613
108
207
238
23
465
936
207
342
780
327
327
2
454
891
865
934
531
910
480
852
86
413
777
467
141
383
438
571
432
451
347
320
766
916
586
157
617
297
989
527
395
351
470
152
799
937
403
891
857
674
733
55
900
435
453
289
57
270
631
966
807
422
667
404
983
823
375
712
653
171
74
870
690
661
324
58
886
598
898
248
371
539
940
314
279
759
678
417
299
129
305
712
205
745
965
277
49
928
424
902
585
204
143
869
893
286
345
680
369
315
288
276
700
820
996
818
39
948
266
28
735
657
178
597
256
907
875
727
788
177
515
888
108
802
426
637
107
575
169
681
685
125
679
874
537
979
536
849
796
862
566
924
788
916
521
613
190
349
433
205
613
161
439
594
956
784
273
174
931
320
290
817
760
52
908
628
51
596
455
44
949
228
672
915
720
90
452
955
752
599
809
700
396
161
477
997
956
924
960
499
77
246
38
252
725
482
218
950
118
247
142
532
613
971
931
640
396
454
812
200
475
972
463
219
701
269
751
290
339
956
620
685
246
595
917
933
115
541
46
819
859
754
990
543
310
301
538
374
777
866
795
755
855
814
46
953
90
321
797
110
371
472
466
428
961
625
629
458
59
476
609
427
786
663
602
92
453
304
710
9
273
466
166
932
198
556
202
913
849
576
98
902
955
215
599
947
508
16
282
436
497
453
775
445
357
127
546
887
32
758
78
381
920
963
75
54
27
319
4
531
619
504
208
690
861
855
163
205
48
972
950
846
511
867
36
576
905
322
252
526
834
471
682
436
197
499
935
618
905
503
424
621
248
871
594
836
525
510
450
982
108
892
728
14
92
266
98
10
166
993
574
658
419
318
17
545
912
425
253
216
140
394
477
101
820
303
595
523
704
662
344
405
377
856
832
18
967
3
83
180
895
614
830
620
872
309
26
949
754
165
129
231
552
599
440
302
99
406
984
520
629
875
380
256
538
932
256
559
130
152
982
709
6
861
540
963
668
380
481
180
846
487
958
964
203
884
806
894
207
450
779
837
971
628
240
944
661
176
602
221
225
536
389
898
945
361
398
962
216
218
407
202
577
238
983
230
754
860
793
17
21
315
694
598
682
226
199
838
937
949
904
128
112
993
164
538
329
857
247
164
177
692
351
62
318
290
800
739
738
44
325
461
273
847
248
53
963
399
135
153
463
368
49
252
292
688
65
971
693
763
379
97
249
564
48
694
662
898
808
801
872
180
407
88
853
7
678
859
51
355
282
999
913
838
170
735
81
669
935
474
127
22
907
363
71
145
434
114
398
651
130
706
497
540
779
30
923
599
47
578
1
908
979
902
703
524
384
813
693
483
566
112
264
339
569
540
975
412
301
81
898
793
664
273
353
905
283
763
291
199
438
192
829
209
660
878
569
395
274
536
955
434
193
645
229
946
396
67
143
143
12
868
566
608
131
510
203
728
482
109
469
901
359
757
751
923
327
912
117
490
157
839
869
489
696
141
531
377
703
751
404
343
420
132
743
971
614
126
984
630
339
910
181
361
537
497
377
71
64
9
897
169
463
427
675
971
499
29
903
170
700
301
805
698
858
970
471
67
195
341
63
318
177
685
701
849
222
147
600
313
220
848
549
673
470
148
372
738
739
787
828
738
520
850
704
167
2
757
334
628
602
351
889
159
677
982
603
421
819
452
295
693
143
716
391
92
974
991
347
450
502
212
481
704
162
69
728
103
789
452
561
755
321
257
784
281
315
817
22
332
627
489
21
690
113
596
818
731
894
979
364
429
149
258
879
244
812
205
76
663
184
172
80
869
449
425
150
238
511
279
42
949
159
508
363
794
268
919
768
663
142
522
480
210
29
330
373
778
519
637
826
847
857
584
955
646
306
127
490
220
389
774
145
605
214
689
253
757
544
541
881
34
263
900
746
190
416
347
643
273
504
877
103
171
349
760
783
200
19
473
886
297
683
792
122
582
156
948
35
867
770
148
520
663
904
659
795
595
897
362
94
858
534
324
959
391
4
894
459
537
656
782
841
834
510
353
30
582
120
589
532
696
673
640
629
97
26
563
380
306
469
278
110
507
717
852
768
635
20
118
212
840
885
828
807
743
665
533
423
595
10
51
823
595
318
670
186
954
902
655
773
11
852
363
601
996
478
296
436
793
985
113
49
380
272
272
546
78
509
647
351
765
930
655
764
796
547
567
158
132
638
692
693
614
459
703
418
163
645
553
601
604
593
236
716
413
58
393
479
146
238
169
140
247
333
668
954
899
751
595
579
202
683
855
166
543
797
534
480
804
179
952
155
583
726
174
352
400
352
25
968
737
872
156
175
422
396
942
934
413
125
378
402
294
719
290
407
405
187
65
198
860
911
840
395
75
674
307
406
68
449
171
742
674
837
940
264
425
141
853
233
437
59
963
737
641
426
307
75
5
24
337
941
857
945
547
776
893
736
880
91
568
222
41
969
976
380
431
107
776
23
462
93
666
373
362
228
258
851
668
128
840
534
652
605
215
990
953
637
620
778
571
457
76
391
959
43
136
891
178
279
988
801
217
697
955
564
327
524
733
624
599
259
369
88
291
516
366
570
346
536
420
590
838
54
601
678
256
368
454
849
736
834
111
900
918
579
170
997
790
583
642
901
200
20
469
233
543
287
905
670
958
683
798
464
375
469
414
321
929
631
611
273
182
981
694
786
790
391
750
468
859
837
425
418
379
749
380
614
225
879
347
588
21
322
142
596
113
431
330
439
234
707
64
364
434
880
699
720
942
540
222
823
775
309
59
250
323
973
111
557
347
609
189
87
946
998
560
383
795
288
841
369
69
295
31
248
64
284
151
362
145
107
85
492
728
490
498
470
339
834
755
937
807
948
997
913
14
652
976
207
753
677
996
278
264
651
799
936
201
939
303
645
556
436
594
665
926
816
359
847
704
241
706
225
175
588
973
197
152
194
59
336
220
151
702
790
916
917
158
510
942
234
161
949
522
825
658
990
165
376
778
287
608
244
358
151
975
866
477
11
781
907
616
258
442
209
651
616
3
925
684
545
748
384
141
914
537
697
913
659
226
59
725
916
729
669
708
737
686
33
917
616
271
319
809
525
947
181
187
622
838
315
62
77
623
997
556
518
594
124
385
987
429
522
645
968
783
723
164
0
202
806
950
534
201
798
852
194
423
791
927
878
579
83
433
364
114
389
686
41
908
261
524
999
124
603
361
926
591
185
198
462
886
336
225
642
788
386
687
389
349
695
699
741
315
376
39
333
944
351
129
717
785
646
683
829
630
218
28
939
71
916
832
978
573
318
786
821
1
53
641
105
188
87
438
257
981
718
803
460
847
605
976
213
270
865
615
583
500
980
292
587
221
116
296
740
343
962
882
853
400
384
346
898
473
654
658
564
709
446
92
360
856
407
247
639
240
26
300
769
553
197
503
35
747
483
771
776
430
960
784
567
164
417
655
740
151
422
7
909
389
134
283
113
141
528
543
408
960
448
191
440
389
855
724
724
849
640
515
605
29
353
191
935
708
771
272
259
95
899
773
611
942
255
133
833
831
906
82
375
675
515
837
695
743
786
429
129
510
726
278
438
90
258
5
866
768
683
879
385
41
671
139
507
458
451
61
766
147
231
788
174
856
420
323
561
611
165
188
294
555
877
297
903
865
579
574
153
44
386
35
896
481
754
614
108
609
499
766
367
529
168
507
653
579
573
468
116
676
161
417
581
204
645
656
567
512
869
145
603
224
626
963
96
22
512
454
981
140
40
519
69
526
952
375
225
959
787
623
473
54
641
306
569
739
750
97
532
606
225
905
875
292
219
266
715
721
263
595
724
556
270
726
445
563
26
183
357
2
838
269
170
331
284
268
970
956
515
286
923
694
107
872
323
606
218
575
501
767
400
149
389
47
521
19
332
598
718
389
175
627
842
682
87
816
402
219
420
698
787
881
477
670
108
400
953
171
375
5
1
97
654
985
182
833
994
677
187
175
870
96
211
279
911
617
477
979
79
755
904
310
8
647
294
797
177
796
524
53
296
419
835
693
545
477
56
704
524
386
144
784
98
520
331
28
858
42
787
253
693
545
221
743
312
654
120
926
788
19
487
362
309
746
628
714
815
543
99
269
197
55
948
477
659
900
701
373
587
357
452
514
788
402
309
962
108
466
405
921
199
474
181
480
346
220
818
358
679
326
150
114
994
250
141
770
934
580
917
800
296
368
670
879
91
947
614
226
619
224
202
626
780
877
474
157
922
439
369
65
481
888
353
392
336
689
898
535
23
199
32
82
307
884
507
403
711
171
314
11
309
839
713
767
771
880
699
512
821
164
273
879
660
350
422
964
92
893
16
581
132
793
203
738
66
198
770
887
815
315
219
142
287
526
576
430
858
632
606
90
985
824
713
2
905
185
274
36
577
525
710
71
54
939
335
589
515
786
456
786
721
834
489
795
26
190
76
29
699
470
518
969
360
869
689
159
249
447
359
996
374
263
591
542
532
238
981
962
993
816
133
254
338
199
809
466
306
924
973
926
397
521
936
329
451
450
390
905
870
461
548
91
636
858
595
881
189
529
128
713
910
979
786
560
180
112
995
743
970
340
993
636
343
6
831
91
157
252
333
565
304
948
50
12
319
526
586
677
217
333
947
323
765
903
737
799
122
260
796
36
496
54
804
506
624
579
405
446
898
541
125
838
208
638
80
166
610
729
350
867
965
95
509
600
368
445
151
516
934
586
850
753
888
470
837
118
719
72
660
123
908
689
981
703
617
834
78
389
461
575
94
612
169
430
447
942
425
601
701
346
778
558
95
583
999
249
80
612
963
236
804
531
656
31
174
84
256
841
346
540
960
221
599
477
446
150
745
296
556
747
654
7
817
578
556
951
97
178
593
754
527
78
364
911
762
734
195
542
584
730
625
375
12
945
501
976
440
69
910
237
902
655
43
399
345
398
194
755
225
690
436
958
251
392
779
292
796
479
885
681
703
818
839
690
188
845
495
967
966
229
738
168
588
287
422
577
514
653
924
563
819
510
254
685
143
776
185
154
906
357
548
402
932
701
952
291
536
203
594
693
738
149
585
117
478
98
810
603
861
613
145
93
691
428
951
142
442
112
731
961
319
288
350
954
116
189
766
941
694
84
905
839
779
493
802
496
128
298
219
775
196
727
822
500
112
645
237
396
762
544
458
487
319
962
512
407
262
299
321
570
720
913
11
593
571
817
369
207
692
668
416
486
236
186
144
102
430
994
687
627
34
712
151
941
836
439
351
177
219
658
912
143
729
463
657
614
872
942
871
383
347
389
584
687
427
199
553
279
637
383
690
720
104
794
843
328
980
546
756
407
567
855
255
997
749
248
159
538
30
594
349
599
317
860
373
468
997
64
703
755
753
985
255
269
824
504
287
234
587
490
455
354
305
566
793
616
643
575
331
965
79
347
865
940
824
308
168
527
902
93
241
197
204
425
991
395
751
348
241
935
246
764
712
238
376
413
672
17
801
188
246
361
148
584
453
136
40
767
809
919
506
127
42
820
171
581
440
364
680
199
167
21
115
601
651
762
710
291
487
432
852
347
742
596
478
337
951
324
922
52
263
504
849
549
185
949
667
819
537
266
155
399
235
143
310
473
697
542
588
901
111
339
640
793
491
429
763
276
673
982
671
715
494
689
666
791
634
455
987
661
377
30
118
257
22
786
63
538
752
170
446
468
758
866
207
482
680
872
38
318
578
623
414
14
332
356
224
665
23
430
70
209
735
380
794
850
489
635
849
594
491
210
917
346
139
509
405
703
279
408
300
107
732
768
777
267
960
458
484
536
944
945
33
975
281
835
842
37
22
873
937
119
670
958
804
130
833
393
930
604
977
194
111
355
659
967
734
274
704
923
789
741
408
503
695
678
580
802
87
301
222
0
733
267
452
720
923
189
453
30
916
241
897
121
800
163
585
439
254
606
771
989
386
982
795
940
958
576
672
863
189
738
970
598
561
343
413
492
710
824
619
330
245
688
18
29
707
504
453
753
557
629
781
785
28
997
537
985
494
503
913
424
845
415
988
230
102
887
955
63
74
567
610
181
299
452
511
780
131
233
47
727
213
512
949
210
294
307
489
149
416
523
392
261
965
744
595
708
583
172
793
11
8
638
153
694
690
840
385
941
573
765
522
224
701
428
790
372
323
704
505
263
802
691
863
868
683
497
360
186
418
796
461
788
996
724
256
816
252
664
176
83
808
595
611
594
692
890
601
912
308
281
997
106
239
132
987
860
382
205
718
198
72
178
293
790
135
961
182
107
985
853
787
341
614
558
149
303
629
228
478
446
489
149
984
824
841
761
887
6
669
573
555
113
878
730
660
289
442
773
622
354
862
781
521
60
151
223
287
992
588
295
286
455
526
256
584
25
160
192
33
671
800
476
245
721
120
103
810
623
315
469
960
123
426
97
691
209
604
18
37
813
179
450
265
967
257
846
984
580
497
811
825
511
675
494
673
569
661
67
865
802
83
266
800
589
131
917
690
141
821
580
457
358
380
953
559
899
974
211
434
268
221
914
577
265
913
330
751
50
102
295
225
95
66
941
121
843
832
544
543
184
784
153
357
620
196
869
187
613
519
837
580
617
95
584
18
243
854
620
53
582
945
987
81
967
324
764
30
607
809
766
378
268
198
791
873
291
726
906
312
154
198
98
674
430
599
770
506
282
201
312
773
742
639
700
446
330
676
482
219
367
184
133
367
223
311
927
819
50
556
300
784
209
371
945
683
946
96
348
629
69
69
410
333
898
568
982
128
409
763
3
358
709
26
584
987
911
250
523
903
324
309
979
590
770
576
419
946
473
178
696
21
706
922
780
707
535
960
259
572
842
475
36
317
793
278
317
142
35
425
545
652
801
227
808
259
604
730
830
802
917
575
973
526
417
403
272
204
54
277
228
760
962
689
291
830
554
912
424
334
852
64
784
67
607
411
639
181
531
184
327
944
461
377
544
476
828
831
475
411
953
119
337
663
534
1
594
75
933
643
458
245
862
666
172
575
305
818
298
376
554
621
907
998
583
410
311
391
877
412
745
748
270
799
474
78
913
557
288
998
840
719
971
134
841
791
122
158
679
126
689
687
713
941
777
35
720
752
283
344
972
764
719
977
348
383
672
123
450
144
307
949
297
917
613
423
69
322
831
30
411
581
594
173
668
612
731
799
887
374
746
708
78
292
413
133
391
395
77
480
1
238
67
381
498
606
66
669
547
886
486
676
93
18
500
443
748
220
327
693
148
991
226
850
735
34
993
326
938
506
564
93
190
578
928
799
329
467
841
51
331
507
550
931
973
860
422
213
398
944
162
729
311
300
656
333
908
405
632
771
620
423
819
905
168
372
852
903
303
576
396
847
279
43
4
768
986
613
709
242
517
944
893
758
377
212
499
34
796
205
423
472
28
701
893
842
94
135
803
702
314
956
386
77
283
218
888
93
966
687
952
300
261
133
724
399
250
77
43
591
141
858
805
896
828
424
560
916
691
894
344
36
646
870
472
921
893
43
318
904
798
534
386
387
434
798
525
556
819
182
134
236
960
809
375
788
823
398
792
173
249
376
353
397
495
722
427
235
652
237
857
529
426
484
16
743
995
665
647
539
664
614
920
564
99
779
312
118
269
478
789
63
100
231
923
668
965
39
873
686
407
742
239
665
821
143
754
629
724
892
795
99
749
495
883
319
857
672
229
735
845
306
806
319
480
588
314
806
593
910
782
227
768
373
546
998
761
686
187
400
208
59
306
922
402
280
854
303
317
907
608
377
745
605
42
963
170
876
335
152
381
428
528
450
563
534
59
307
671
472
909
430
710
708
601
446
750
283
199
620
455
383
792
596
812
567
434
78
515
392
372
759
417
258
770
392
190
310
287
611
976
637
835
587
303
852
668
784
191
270
742
173
820
114
3
560
152
112
207
630
164
549
683
191
654
374
472
14
416
973
363
514
220
704
74
970
383
528
508
425
492
899
144
132
541
109
838
320
788
619
936
111
957
333
422
952
780
780
581
698
914
553
405
463
12
430
456
155
408
126
318
525
730
670
969
606
461
252
717
498
887
599
119
344
683
449
819
87
227
859
218
859
182
352
832
0
219
210
200
804
126
537
785
947
341
208
200
264
923
56
988
742
92
914
570
839
351
80
566
499
773
253
455
680
477
142
697
323
270
787
549
979
526
673
220
375
334
499
49
927
94
921
979
570
825
48
476
196
697
29
801
910
672
937
643
752
255
105
214
696
837
718
343
257
291
925
950
328
37
398
295
551
753
977
750
705
129
769
159
311
915
323
330
149
56
467
481
127
171
19
447
762
967
689
509
715
432
22
506
249
915
937
889
53
343
722
578
76
901
156
734
343
52
454
669
269
81
973
889
934
868
701
402
213
467
310
405
149
422
592
279
930
563
525
939
396
268
944
769
789
469
418
470
987
403
948
608
916
480
257
275
767
253
925
35
641
341
726
234
211
689
338
630
152
131
624
344
739
713
481
836
801
549
224
678
318
481
970
610
810
219
887
403
979
810
15
509
966
329
410
798
269
941
374
928
265
706
999
135
650
229
203
283
214
610
376
236
641
516
172
246
386
470
307
82
824
836
362
317
986
431
292
697
363
668
722
126
253
890
560
689
211
460
306
351
557
571
820
285
699
620
826
62
176
187
725
301
825
699
811
796
492
920
791
31
4
403
439
303
215
470
70
261
794
492
181
255
455
26
686
861
516
752
731
146
715
656
245
318
881
807
468
95
408
220
481
96
664
516
384
510
863
49
723
781
186
881
497
248
156
327
847
80
520
302
435
375
589
224
944
223
241
263
179
350
296
459
943
451
588
45
420
758
929
19
354
31
827
708
751
173
793
693
472
360
57
595
106
48
43
476
94
908
874
481
203
767
728
24
836
441
890
193
433
764
348
773
255
420
529
514
118
801
194
159
662
225
79
757
379
252
542
46
346
810
989
335
911
967
961
19
531
151
417
975
33
932
595
969
918
936
134
53
757
758
957
289
753
322
844
147
91
385
917
444
551
854
928
228
262
697
167
65
738
364
753
771
258
258
583
119
670
223
95
430
78
901
619
16
60
644
874
296
307
623
508
3
821
763
732
90
178
115
116
915
191
519
282
880
49
287
811
151
147
294
191
80
747
66
48
120
864
283
511
682
210
913
236
667
563
83
671
139
349
318
982
637
121
645
818
912
33
651
502
80
346
953
733
867
283
429
284
203
468
168
639
289
167
644
637
332
329
376
106
167
355
317
859
245
219
702
696
585
235
304
145
760
68
897
419
927
288
369
748
407
884
547
730
529
830
578
499
652
18
611
499
308
411
416
96
981
588
370
267
432
892
785
454
0
802
496
778
182
312
145
512
102
345
338
596
209
686
746
716
877
874
130
973
227
820
658
657
261
61
595
2
199
865
495
534
196
600
237
553
331
853
677
727
249
513
555
530
857
821
769
301
972
422
783
414
155
589
524
925
33
462
337
914
647
798
198
961
717
168
720
218
341
221
722
216
606
259
81
461
990
542
652
932
328
300
112
962
214
422
170
104
802
55
908
311
386
826
849
754
372
271
656
352
92
397
461
865
824
781
867
591
660
695
545
633
440
789
503
89
413
702
329
359
144
907
807
505
903
409
816
282
708
141
112
137
27
200
465
679
453
74
427
305
49
811
250
177
930
676
57
675
73
351
526
483
278
350
739
315
857
343
792
363
912
108
38
682
236
345
342
30
107
673
383
753
805
427
703
249
758
640
816
289
966
257
799
450
807
888
751
200
878
969
656
843
955
73
260
99
823
218
369
890
708
961
652
13
778
433
510
963
198
71
862
530
184
368
632
678
72
876
638
576
973
683
62
472
795
295
503
868
152
478
452
923
766
427
571
849
850
283
40
378
96
429
432
102
974
948
388
734
925
935
535
205
397
862
567
925
160
321
794
200
863
679
984
441
831
837
801
96
14
980
678
599
9
414
66
260
930
298
771
139
895
706
439
685
597
77
247
973
531
89
820
700
58
377
445
954
446
899
893
726
170
315
517
667
497
670
898
886
751
23
386
163
963
580
39
454
722
739
324
290
730
20
342
87
561
898
52
513
689
640
562
313
365
81
965
723
90
375
94
671
266
501
333
758
982
969
7
77
760
271
86
978
562
698
223
602
329
598
111
492
658
78
715
646
133
545
911
555
532
647
486
20
308
826
349
312
416
801
191
535
880
545
642
624
994
652
323
509
36
320
675
411
904
707
337
823
826
822
397
109
595
841
390
391
854
149
700
79
216
789
458
430
106
254
343
809
221
168
214
906
668
849
506
981
514
881
73
652
760
787
251
344
543
792
42
889
654
87
815
981
638
461
794
664
693
254
723
667
192
83
382
300
906
797
327
274
600
556
40
18
463
24
210
298
850
341
703
801
327
681
77
287
730
792
904
2
716
209
258
993
800
546
531
64
870
418
933
141
296
178
486
427
589
844
135
164
992
876
54
260
624
795
495
126
335
939
979
999
382
249
179
613
714
25
810
286
961
126
852
391
993
191
645
944
33
116
629
737
7
998
146
155
60
663
303
202
143
566
842
581
74
497
411
189
59
122
548
586
646
725
762
403
126
702
970
376
816
233
817
810
929
74
359
595
24
528
112
842
167
40
589
191
340
622
692
542
401
572
369
173
42
443
834
545
743
703
832
593
44
314
499
117
128
175
493
930
300
743
669
216
830
918
373
834
0
624
420
736
108
971
463
948
571
437
43
320
927
748
92
537
626
339
269
340
127
61
663
573
930
126
353
427
749
716
19
450
129
310
381
175
475
221
88
943
253
681
315
472
207
887
739
875
684
520
979
862
63
971
492
126
324
801
140
98
467
873
675
944
194
298
576
721
835
648
462
598
416
190
256
617
892
527
131
283
155
167
755
142
508
179
609
124
319
695
31
19
935
348
534
134
675
986
816
294
594
684
642
1
483
424
599
713
910
682
163
174
1
0
302
923
307
41
811
815
558
875
208
888
936
131
463
713
101
687
902
529
712
827
335
78
633
287
166
651
313
692
480
609
157
888
988
858
553
423
337
565
415
424
579
755
256
784
183
912
223
603
45
438
292
976
160
202
770
970
477
758
174
706
465
683
25
557
780
616
524
557
244
626
501
122
285
812
209
771
581
143
635
171
398
522
728
572
339
349
907
523
950
974
672
546
826
537
171
389
568
78
608
584
541
78
799
55
809
666
71
40
384
719
688
399
232
65
456
74
747
568
200
212
973
504
385
632
126
371
995
962
487
442
92
205
397
418
791
3
690
489
695
495
459
28
979
653
566
848
144
971
9
714
522
740
48
697
117
434
460
117
966
401
482
698
210
272
217
789
949
229
617
239
807
739
547
954
366
373
94
297
42
789
987
534
499
995
781
507
264
813
903
26
546
423
47
901
19
662
484
974
221
445
168
943
719
746
740
94
531
162
185
950
385
192
614
220
359
199
102
497
244
763
181
407
788
312
848
799
914
773
396
490
812
265
243
379
204
170
745
478
110
534
545
264
141
334
809
832
345
287
67
92
13
170
508
305
529
416
501
703
754
504
246
828
16
115
733
439
844
395
869
69
173
619
31
677
690
475
915
799
830
139
670
164
569
34
375
654
674
852
248
286
973
746
994
549
686
948
381
25
63
671
206
97
380
562
532
545
723
611
822
50
69
304
7
215
119
828
981
626
326
400
499
597
551
988
314
772
722
722
862
679
752
698
750
969
36
368
581
935
967
956
690
388
949
5
166
188
836
312
531
570
37
656
419
105
979
560
553
295
221
205
68
682
938
303
214
919
357
363
649
550
348
789
896
767
528
719
697
353
772
581
891
549
864
870
581
68
675
886
697
696
719
171
989
771
296
817
499
795
974
480
937
815
652
208
514
443
307
75
912
623
839
812
751
134
876
60
801
370
319
482
725
922
865
769
120
349
574
814
587
258
466
914
397
971
548
159
523
424
980
593
166
800
502
109
67
434
744
274
725
582
347
408
92
544
129
644
440
471
806
526
179
348
168
965
183
510
321
918
281
786
109
690
633
163
845
226
521
490
826
867
778
881
768
360
941
360
84
644
226
806
62
63
87
564
605
396
401
439
520
671
983
409
891
213
30
565
319
239
421
70
344
590
454
35
155
103
131
872
330
485
255
755
128
642
176
531
165
392
738
564
554
75
879
717
845
831
624
416
768
411
584
417
89
366
440
20
962
552
191
440
189
885
921
135
504
103
597
277
427
950
709
977
101
875
554
694
981
911
530
391
501
21
878
166
447
978
712
542
809
396
677
370
195
391
260
405
520
981
313
699
46
108
551
312
237
969
502
801
881
404
130
89
549
541
452
335
251
415
400
967
172
156
924
205
681
91
932
734
646
29
849
982
354
762
1
617
415
247
640
444
170
863
675
408
914
468
191
646
88
593
281
718
662
66
256
606
656
932
626
660
518
962
488
281
63
379
411
638
57
296
781
888
798
826
241
265
287
230
595
415
233
683
588
424
448
913
610
271
812
514
569
493
653
855
761
888
167
501
157
384
921
334
789
592
187
909
24
940
292
284
466
347
964
352
96
15
225
612
740
350
353
862
351
299
438
195
516
419
161
863
475
791
43
445
487
145
442
758
955
598
956
861
331
898
487
846
222
390
853
986
737
788
951
850
220
332
951
280
54
569
197
42
914
754
365
488
659
250
561
404
746
41
11
428
514
147
978
535
271
748
536
37
504
655
274
70
335
366
446
135
856
543
903
110
316
958
16
374
169
252
84
579
798
916
629
413
789
789
108
587
210
669
355
239
179
587
644
580
517
667
199
716
85
77
831
853
530
805
437
29
609
136
940
430
912
499
213
269
312
630
813
309
402
446
185
476
619
621
158
584
275
452
67
23
976
505
841
115
937
213
875
856
420
278
58
413
889
338
103
348
173
257
639
791
132
288
335
826
3
637
902
57
897
853
201
449
444
154
563
818
617
881
384
504
475
837
577
308
824
307
459
368
1
217
308
431
581
916
982
565
841
722
529
679
976
832
294
661
314
970
198
125
398
259
336
816
213
369
479
599
406
134
876
374
613
350
266
611
45
956
396
607
389
909
73
725
651
579
896
75
356
887
542
981
522
606
913
813
206
583
237
558
660
14
926
967
336
38
377
213
4
393
297
703
21
651
385
173
406
489
621
816
811
930
192
208
794
502
370
134
344
626
959
779
47
408
85
631
861
622
772
361
874
43
531
739
254
980
12
879
981
616
39
134
964
821
384
378
893
972
750
457
555
458
103
740
302
777
159
190
403
569
281
910
135
748
554
180
929
939
811
583
637
931
788
899
330
613
276
482
84
209
383
156
89
560
337
512
572
428
997
829
390
197
163
712
5
415
400
824
398
795
690
246
651
291
144
553
405
53
640
131
746
475
996
789
463
707
154
645
567
933
429
870
87
682
582
549
770
13
623
597
155
753
382
172
956
172
389
496
560
646
76
496
516
858
189
42
483
594
387
206
919
768
148
905
911
878
245
969
628
934
357
478
983
505
15
675
473
41
707
637
541
143
996
104
115
985
4
454
425
326
577
804
251
363
307
598
858
517
847
386
448
518
302
214
862
477
825
678
282
760
205
157
273
621
955
300
413
146
372
33
567
350
166
541
814
794
261
951
173
905
193
605
967
396
484
84
1
646
131
315
27
826
329
53
902
106
119
237
705
322
151
911
867
767
813
794
341
31
656
386
957
800
599
808
904
797
665
48
686
516
117
927
295
577
996
97
387
658
545
41
755
173
567
150
360
379
891
606
953
116
832
122
553
399
313
800
689
518
819
593
831
873
490
619
984
899
279
591
99
396
707
445
387
871
572
609
668
129
641
387
398
325
40
379
431
53
50
437
265
127
490
955
556
785
352
671
913
671
300
930
911
963
270
402
649
650
766
122
544
532
415
954
316
709
63
662
409
721
762
644
733
782
828
859
836
816
510
646
898
529
554
977
78
448
241
473
116
866
4
589
464
815
584
250
483
590
978
468
693
876
169
800
61
386
318
146
622
604
624
321
738
766
586
405
628
681
904
550
693
431
251
427
911
510
742
207
64
705
725
354
812
769
660
380
528
750
99
48
916
26
364
885
121
693
953
72
490
612
718
142
566
102
135
335
113
830
170
11
858
764
239
943
76
33
995
183
62
809
77
284
561
92
232
986
285
729
36
811
653
336
530
916
552
651
437
552
779
797
248
298
175
822
579
765
756
926
238
666
489
951
503
969
933
894
733
262
728
238
177
933
35
653
744
384
738
50
896
673
87
427
688
750
276
940
586
487
852
297
55
447
467
374
844
391
760
186
33
392
243
993
207
925
867
64
762
695
532
795
104
878
116
104
896
864
345
787
151
791
847
400
933
216
5
807
610
557
228
940
984
864
81
722
655
665
80
164
692
842
75
723
460
208
626
800
595
496
352
78
777
245
414
184
117
167
294
100
850
491
903
53
230
475
350
201
191
65
31
379
784
797
528
570
636
463
811
308
574
468
17
122
651
187
743
887
946
668
40
435
187
68
923
245
90
221
123
257
408
848
202
901
567
960
183
835
560
709
910
505
601
104
330
123
937
455
952
690
602
125
199
609
44
786
419
838
786
759
541
160
677
205
638
506
869
203
201
445
879
207
568
934
397
464
645
108
671
614
514
451
235
681
781
783
165
387
164
298
827
164
511
470
915
167
452
518
629
699
280
33
823
630
602
64
582
603
382
32
124
730
758
229
295
238
221
404
851
221
525
627
854
727
249
501
992
912
404
512
163
783
448
774
625
872
155
306
992
547
644
864
290
366
80
181
873
320
990
914
898
894
313
280
871
769
915
401
230
306
420
545
463
226
285
976
665
177
769
145
711
50
497
621
312
215
378
809
144
622
620
71
883
209
664
561
860
378
419
788
22
474
949
290
459
448
112
734
580
375
580
559
208
527
301
669
823
53
114
607
597
593
300
495
575
429
280
638
47
662
67
134
960
154
719
550
511
105
580
649
993
558
884
807
532
811
132
701
387
509
592
284
477
840
837
130
875
725
909
837
369
394
774
286
144
154
682
949
162
848
270
174
738
786
768
531
294
321
527
996
270
721
169
627
274
177
14
594
851
120
445
744
697
48
132
707
896
885
743
594
43
582
423
617
394
394
837
605
111
590
824
615
521
800
344
278
938
156
659
949
798
281
327
971
339
487
711
605
710
688
970
334
539
927
752
704
982
579
454
232
159
826
995
323
643
226
75
887
891
626
529
542
774
598
359
946
719
132
365
214
851
556
952
511
948
513
339
127
588
16
407
640
646
64
280
367
86
75
274
754
754
497
922
948
524
798
549
176
865
93
892
857
288
852
642
849
653
165
319
312
573
768
700
605
411
926
140
255
811
562
188
609
525
240
712
537
918
672
446
405
561
738
345
608
376
159
393
799
572
239
439
593
3
199
597
393
686
693
312
235
350
89
333
941
963
960
765
927
577
919
414
808
330
138
955
45
412
937
520
767
680
225
50
388
262
988
530
698
0
304
168
436
61
199
408
16
260
469
404
47
992
852
342
747
819
733
26
592
263
509
82
739
452
516
514
365
571
74
761
86
394
94
317
885
384
715
401
185
164
990
136
482
332
139
123
690
648
406
188
246
336
473
192
775
44
608
311
798
597
169
958
238
351
339
157
371
631
280
36
145
116
863
994
118
342
652
844
155
622
670
230
589
5
429
649
416
762
715
888
678
577
119
527
91
746
287
321
234
532
320
450
454
508
383
359
287
934
255
41
470
942
720
974
633
750
129
837
362
202
266
165
374
39
679
781
228
988
57
452
814
163
971
440
397
973
825
549
928
414
321
756
827
829
356
904
102
65
911
29
31
262
939
84
67
320
307
845
468
492
650
261
828
412
164
295
4
120
903
398
836
526
92
41
515
998
911
216
691
58
998
225
209
762
803
421
838
435
111
803
200
71
974
882
791
508
426
397
126
152
985
552
875
125
463
943
312
562
220
236
106
178
896
8
22
354
322
892
783
64
134
491
189
953
340
80
696
478
328
471
726
556
628
329
98
730
526
545
811
839
279
872
483
419
829
294
572
749
719
355
17
245
110
800
53
831
770
830
392
772
329
510
757
965
113
599
978
525
589
380
62
29
631
819
587
594
112
88
134
106
597
725
169
442
868
376
847
856
222
765
136
403
694
47
644
574
418
531
565
694
926
206
751
564
978
56
395
822
415
10
624
984
966
509
104
372
353
763
984
319
261
566
788
447
772
603
588
293
647
454
994
311
386
743
969
899
399
664
90
119
513
192
912
57
34
578
184
596
68
377
742
186
486
373
191
133
980
835
340
666
34
517
825
816
689
465
33
80
817
205
448
195
217
171
506
395
662
107
578
90
974
17
669
735
700
472
615
542
417
426
509
253
791
814
56
270
839
911
465
369
457
738
300
274
207
29
337
523
743
977
817
84
528
598
445
185
917
851
290
829
895
88
697
833
433
260
730
552
122
312
658
375
515
914
614
226
574
143
907
98
786
825
33
931
209
168
350
510
378
587
535
736
23
924
812
868
656
148
409
19
267
600
541
277
774
401
1
455
754
953
858
819
174
776
699
714
551
5
722
36
350
499
144
590
858
242
897
279
119
982
798
925
588
295
856
942
567
245
885
726
195
931
542
15
372
645
953
355
263
409
747
144
174
435
851
983
437
376
357
163
637
555
869
23
797
155
791
406
995
236
716
213
366
480
351
882
63
560
979
758
665
459
940
332
470
588
342
478
453
88
416
258
969
333
332
183
329
217
872
159
887
203
687
290
556
751
777
550
951
48
708
718
852
233
265
160
916
479
900
599
144
650
451
751
846
709
838
885
34
679
117
120
748
841
435
280
520
548
811
649
720
400
973
520
817
789
919
153
974
101
405
526
266
958
919
792
569
502
371
297
390
73
991
434
317
362
886
415
796
705
396
458
854
346
652
144
517
399
134
730
725
3
487
414
444
762
598
769
882
690
747
31
220
418
195
214
275
401
656
321
5
547
996
253
809
208
244
501
426
933
750
190
295
95
538
510
918
105
782
944
10
717
80
845
178
614
48
30
797
609
411
236
489
253
25
96
587
975
832
489
768
182
995
144
345
352
645
35
235
399
605
392
91
26
313
427
318
553
469
489
645
266
803
585
728
591
239
136
739
526
779
98
939
165
591
840
526
480
17
668
643
526
321
701
713
256
484
907
629
380
375
924
530
259
893
18
409
720
661
143
988
437
464
356
786
593
799
176
275
965
108
110
601
933
913
789
93
849
82
354
689
338
964
73
8
398
863
318
349
321
984
167
335
115
874
502
152
752
467
561
484
295
35
616
415
830
152
916
923
309
132
301
808
247
814
425
62
949
794
164
101
915
834
87
734
159
671
278
485
237
217
637
561
629
947
958
4
295
528
910
938
360
333
846
163
219
142
126
96
549
779
29
481
880
442
946
45
571
920
695
494
792
645
173
495
407
502
188
666
684
126
254
887
73
794
909
843
753
302
374
544
490
186
624
987
695
421
245
555
68
812
551
858
311
606
961
861
941
624
369
350
65
220
468
298
367
609
532
57
327
942
995
24
877
21
559
377
764
361
262
336
45
27
677
127
768
555
198
260
57
546
639
468
279
582
661
280
427
585
983
892
480
839
304
136
312
112
116
934
205
236
641
961
226
571
32
697
71
540
553
632
627
4
443
47
636
980
974
988
265
951
495
213
426
569
424
286
944
288
53
407
258
389
745
241
280
205
409
251
819
203
841
557
21
869
339
234
525
979
209
564
147
539
502
117
571
227
908
100
226
592
934
906
122
472
72
808
673
79
211
293
938
627
272
220
28
205
668
432
410
831
682
475
29
0
554
73
271
704
166
441
977
391
974
577
263
3
783
322
480
983
681
210
743
963
600
938
174
77
957
776
806
447
344
73
354
644
904
812
143
567
30
62
438
481
760
90
905
121
473
106
780
295
72
518
417
53
284
501
814
900
717
939
371
635
602
276
235
448
626
38
348
722
109
989
587
374
165
423
998
914
177
719
760
469
263
875
871
853
768
531
717
88
56
583
828
33
614
292
369
54
383
281
486
984
228
899
484
397
464
778
248
936
169
803
66
23
848
87
413
619
274
29
942
143
138
54
393
650
192
109
890
10
92
516
971
545
112
349
725
792
694
334
242
12
545
454
71
528
798
633
956
771
297
151
569
208
498
22
367
329
717
16
703
19
494
858
18
447
819
472
539
836
338
920
929
982
396
657
458
400
434
441
906
342
347
712
643
312
268
871
810
820
991
722
763
554
743
325
880
972
194
309
240
168
25
158
275
679
726
985
549
200
666
82
719
666
552
142
156
369
17
299
613
687
499
374
980
263
694
433
909
314
116
339
135
654
27
418
62
189
248
743
569
985
580
141
357
209
559
443
52
445
930
152
993
998
92
85
551
866
388
807
113
877
33
462
672
149
56
891
139
271
407
577
153
816
685
495
873
692
43
858
376
819
127
231
22
359
644
935
469
408
337
89
270
878
742
558
769
799
902
54
422
636
708
19
940
645
647
433
876
976
408
658
728
482
815
370
370
24
106
326
607
125
890
83
692
866
166
809
541
333
427
502
427
491
977
576
619
342
409
871
291
773
192
595
460
66
478
643
845
803
952
912
353
138
391
768
628
34
743
181
714
318
247
679
737
507
444
821
262
985
96
421
766
259
546
200
886
180
95
476
39
125
782
757
399
14
275
695
500
468
600
984
112
141
992
471
786
52
709
944
579
753
853
728
603
697
798
928
657
811
426
122
591
346
291
431
807
232
355
949
299
809
760
101
664
560
537
665
941
480
26
300
703
935
119
52
249
764
514
161
926
596
19
946
874
736
326
926
672
346
612
205
640
776
707
152
464
859
974
671
557
777
861
944
859
337
192
779
873
557
671
311
540
830
990
903
762
477
147
902
749
473
292
885
492
420
673
936
980
132
914
332
787
817
230
351
101
656
522
656
763
740
769
285
541
906
605
869
25
357
569
731
674
578
238
322
886
860
627
653
98
189
26
883
547
759
308
620
466
230
795
436
486
447
13
332
659
274
723
836
140
207
861
330
79
410
789
540
425
358
460
75
358
309
485
874
498
442
763
329
147
516
263
911
431
336
129
300
42
352
421
819
691
216
983
815
508
284
629
906
387
523
938
699
687
891
515
393
427
129
123
77
49
559
105
510
876
783
830
363
470
913
738
311
653
418
24
315
283
822
400
158
132
274
990
749
62
989
523
993
837
502
588
527
608
639
931
887
728
587
49
448
520
415
859
843
768
29
152
529
571
174
498
976
207
914
293
319
825
482
22
55
226
920
153
917
880
411
195
917
86
195
143
611
407
895
555
755
693
654
218
738
856
827
998
88
665
939
140
642
147
628
453
356
33
89
773
660
334
312
578
474
490
146
199
608
92
61
362
262
172
564
405
925
794
923
946
240
9
82
358
76
365
516
186
801
698
713
738
302
708
766
52
776
231
523
175
450
64
385
827
585
3
110
444
383
25
825
146
467
426
536
331
358
994
629
863
440
308
126
595
148
666
582
883
841
136
870
77
561
692
852
353
604
734
983
756
53
464
889
257
571
376
47
453
944
25
472
742
879
288
608
677
61
389
109
819
831
719
701
995
488
564
239
342
201
914
469
871
388
476
542
65
173
774
277
431
386
593
63
967
43
840
432
415
243
44
150
293
619
676
780
426
300
434
936
311
936
683
503
304
526
105
869
858
612
255
558
269
154
610
538
859
635
362
747
398
627
481
770
848
490
560
108
817
53
608
690
313
756
591
876
210
279
277
163
379
512
561
594
99
952
936
695
646
232
881
117
597
376
352
973
777
869
207
421
731
877
577
110
234
72
397
311
663
847
992
263
463
522
641
492
254
134
943
947
714
144
417
3
495
79
98
622
143
124
632
482
884
822
356
942
273
493
928
718
739
916
735
29
266
406
887
433
368
281
421
479
936
508
683
658
811
931
783
310
7
661
616
295
809
779
915
403
653
904
301
203
253
234
276
893
169
506
956
455
660
265
969
404
331
538
797
386
2
129
665
277
13
788
933
367
734
664
187
189
954
990
616
327
429
133
892
837
501
620
56
391
283
211
138
257
27
739
942
249
423
811
104
241
740
920
253
467
819
196
628
612
738
744
581
480
725
641
492
726
618
102
56
330
177
3
187
240
359
689
340
290
992
747
521
647
0
710
714
345
343
72
421
705
468
451
716
767
445
909
964
901
194
849
530
710
967
632
201
374
694
51
87
855
88
759
17
559
779
817
258
972
643
229
3
157
719
878
169
632
802
109
441
752
210
752
884
439
101
173
299
47
355
288
680
905
171
813
570
314
37
409
883
401
449
386
60
131
677
229
727
694
858
853
133
897
63
802
604
24
281
94
756
223
449
650
800
123
819
181
159
296
564
393
735
455
611
472
914
463
105
796
64
102
735
528
481
412
333
731
829
806
870
537
571
367
466
252
238
587
147
625
559
113
150
866
713
363
905
401
312
570
168
350
768
211
601
502
164
395
44
319
823
784
787
859
246
420
515
632
102
629
547
199
918
244
173
711
843
448
468
294
175
914
489
255
337
259
552
358
813
324
841
5
176
66
211
372
316
309
448
712
310
57
205
425
941
714
31
300
827
210
424
462
536
972
207
277
651
737
867
840
340
627
305
651
405
846
719
657
800
927
598
493
444
598
668
58
516
994
106
684
836
631
78
855
726
502
124
252
438
28
963
394
883
838
216
90
390
745
557
816
421
283
297
811
526
919
400
657
915
838
783
356
878
264
827
43
35
160
856
567
22
243
923
773
977
273
696
730
890
21
749
610
222
392
562
706
131
340
565
808
117
935
734
727
526
518
322
754
638
394
889
128
979
531
813
819
649
877
14
227
359
984
90
326
60
811
41
6
956
972
142
298
228
296
165
527
695
861
864
942
433
907
311
548
865
123
790
465
832
505
812
542
2
127
819
500
141
312
62
685
288
545
769
907
828
68
939
325
388
860
629
755
106
955
436
12
653
794
820
907
282
36
194
162
463
526
602
645
72
408
735
966
906
127
873
264
190
903
586
144
725
567
265
893
238
222
330
441
453
454
89
531
644
621
216
836
355
874
741
183
18
874
402
942
16
325
675
720
380
61
589
912
987
60
908
277
758
828
106
870
886
389
653
116
321
481
353
969
653
46
378
90
204
216
420
448
381
627
912
355
54
526
814
57
562
823
613
710
934
363
528
891
314
135
101
778
838
302
468
747
564
317
282
642
524
161
357
124
641
544
259
387
306
554
964
362
906
419
7
250
902
227
102
641
902
479
311
580
544
909
620
482
207
229
889
402
292
154
756
811
82
704
349
161
437
781
915
711
499
956
968
237
597
555
469
472
866
828
527
262
895
43
913
170
290
757
172
611
276
203
448
958
722
724
917
420
662
435
224
3
790
109
23
445
788
345
779
705
540
330
425
908
988
571
748
304
188
799
390
482
452
18
517
732
10
883
855
928
1
677
615
910
617
91
600
860
675
107
190
688
507
637
195
198
877
209
864
87
194
773
287
503
298
137
628
818
206
564
106
334
779
87
510
837
834
496
928
609
458
957
516
207
175
804
97
544
934
319
905
651
218
434
804
516
801
169
462
748
263
244
86
956
255
786
638
394
328
669
937
364
182
295
320
192
731
34
855
107
869
769
991
2
304
247
842
537
371
659
769
685
207
885
45
595
575
23
623
246
244
205
26
728
128
637
943
875
702
423
49
601
693
188
469
130
35
152
491
304
804
554
432
426
701
67
733
873
354
784
186
124
461
568
834
848
725
967
234
420
505
520
549
821
112
975
299
839
17
757
202
153
515
778
854
554
324
78
939
700
844
344
308
827
862
3
933
197
832
48
696
649
638
10
22
382
541
331
774
431
116
27
488
588
781
872
487
946
497
58
947
860
496
659
226
270
395
260
407
542
157
938
497
362
900
301
992
821
744
4
389
440
757
563
382
198
661
204
749
332
739
453
298
71
269
230
531
825
377
237
612
953
395
480
283
299
714
954
117
177
745
713
917
19
355
95
669
197
403
284
956
744
183
326
829
577
256
701
339
711
777
700
446
987
228
125
593
798
707
476
28
16
851
733
379
994
767
471
197
661
208
609
250
600
712
845
282
288
689
142
330
76
240
679
231
257
771
471
3
205
745
84
244
519
594
80
562
400
73
717
652
350
373
249
278
35
221
763
209
999
217
321
185
18
970
572
436
847
706
526
314
608
951
0
648
632
524
139
790
92
905
169
892
235
887
497
862
636
130
568
495
113
211
540
410
764
504
179
730
325
818
527
468
562
234
765
295
145
879
215
292
241
673
897
769
982
266
953
6
983
912
144
798
642
427
637
936
154
53
26
804
112
969
365
929
766
500
258
184
29
691
481
836
642
48
572
877
845
352
35
22
843
304
461
484
554
779
410
919
961
613
721
460
500
962
923
22
643
495
939
530
553
436
253
40
976
317
81
539
75
255
875
75
775
53
355
871
742
834
147
88
272
694
806
708
757
758
685
514
747
556
151
725
888
121
402
635
609
359
861
991
842
904
726
328
221
0
388
565
100
978
58
463
993
586
939
474
272
605
96
910
322
451
209
73
16
941
778
527
488
59
876
106
431
303
653
878
79
382
945
434
429
668
110
396
887
876
335
270
882
194
317
755
458
536
146
418
255
793
168
78
624
696
793
346
384
110
162
944
257
550
838
897
99
796
94
114
667
579
439
951
578
299
29
212
236
185
878
840
541
534
644
939
576
932
119
915
820
733
351
591
752
790
864
515
108
149
150
28
413
184
723
35
243
533
247
714
792
315
229
394
4
881
235
559
640
411
10
30
875
761
360
504
288
747
922
440
854
961
146
931
657
660
629
496
798
483
464
238
607
238
947
956
565
597
187
349
493
133
531
762
401
642
256
167
666
123
642
185
946
298
922
457
216
764
491
624
28
393
948
983
394
393
921
247
759
94
446
503
921
624
382
337
175
455
177
500
632
736
305
302
340
327
823
573
8
990
308
125
961
800
492
526
261
304
343
247
155
286
469
325
252
114
901
922
870
6
751
400
962
423
897
186
276
211
176
341
213
32
973
658
933
465
619
744
464
131
467
742
213
64
630
795
159
650
513
769
82
769
895
121
849
842
277
92
434
916
234
964
972
82
410
450
503
870
664
430
125
129
984
818
752
74
707
596
381
937
480
773
376
698
943
990
219
128
191
248
727
202
377
530
955
114
33
605
651
708
192
648
4
969
945
494
113
226
475
314
555
57
466
755
189
28
713
867
226
726
962
360
57
285
755
564
572
12
898
724
170
138
843
231
78
758
10
616
857
779
170
252
386
250
563
84
615
77
385
258
464
754
31
347
171
823
632
652
666
857
936
845
456
738
844
616
234
932
446
239
425
397
559
618
155
492
367
412
71
149
849
116
667
402
354
611
327
75
627
490
764
65
592
916
811
37
778
149
408
755
575
906
569
874
236
281
696
374
924
234
157
819
357
841
110
769
165
329
848
717
473
160
107
768
667
482
449
445
542
646
841
937
269
857
165
537
600
146
179
569
681
239
76
299
817
196
872
774
827
915
938
929
408
289
897
684
813
687
939
175
940
917
43
746
882
843
80
412
879
272
755
874
480
741
738
736
623
228
586
737
520
540
330
230
160
822
770
435
70
938
521
213
306
547
59
23
424
69
454
351
690
726
728
924
804
104
304
791
768
817
565
426
530
202
769
916
11
440
293
697
488
39
592
325
615
682
208
696
700
13
261
244
42
331
180
208
227
546
701
107
693
291
544
666
571
766
299
138
881
64
534
696
923
291
279
667
960
492
556
991
944
161
766
377
825
168
250
110
870
888
15
779
126
484
548
565
364
792
429
336
206
182
351
873
249
216
785
741
285
657
13
361
168
182
7
851
903
853
293
435
653
860
834
962
326
109
746
670
745
902
280
240
385
833
776
368
19
456
346
116
48
901
333
688
33
125
457
752
155
934
581
229
173
296
35
387
863
478
649
518
337
372
487
119
895
68
943
429
557
579
755
219
2
342
127
368
547
611
428
401
99
447
43
294
230
909
927
874
469
929
373
841
695
317
322
451
600
704
383
355
700
357
344
500
581
99
319
990
709
586
285
564
862
931
88
224
83
802
699
814
449
218
724
462
927
542
591
298
71
384
695
916
119
402
434
214
844
833
421
675
48
693
868
447
318
462
670
122
48
782
691
725
850
291
388
515
30
404
415
872
221
527
269
726
907
342
394
910
526
532
846
809
220
213
198
815
953
204
484
335
669
777
609
993
723
290
721
715
366
226
502
863
463
215
148
491
791
453
885
771
761
387
762
4
807
760
652
271
425
373
492
983
952
484
23
106
610
104
894
284
315
759
676
362
176
170
423
93
961
843
842
130
256
286
906
991
56
397
49
994
639
5
893
15
309
534
298
684
336
145
764
403
993
655
434
841
72
348
528
200
448
345
961
161
653
541
71
461
681
285
535
570
728
816
505
551
591
909
901
707
456
282
526
521
809
329
330
244
66
540
979
683
190
921
375
35
541
428
707
625
592
942
792
215
586
175
893
938
422
586
767
815
298
734
873
948
6
369
663
812
656
834
436
20
878
454
727
19
86
791
601
929
685
796
929
485
121
263
369
152
826
639
532
124
581
723
189
592
404
412
253
116
294
830
393
596
818
474
414
804
502
493
914
930
885
666
985
297
631
284
930
692
899
834
146
198
892
431
209
357
596
301
379
644
419
160
675
576
115
849
278
53
536
381
680
369
371
324
285
981
864
107
401
505
308
864
833
121
633
915
32
109
159
9
612
76
56
959
78
535
369
339
264
183
780
857
459
579
920
120
947
651
232
278
997
342
162
335
171
854
66
516
480
686
918
333
324
389
200
702
695
145
3
720
398
369
966
795
531
160
668
769
695
54
545
189
627
981
668
167
302
925
986
913
93
769
245
884
532
727
597
200
424
827
702
942
10
379
994
804
788
441
648
481
308
13
552
182
352
710
333
107
551
803
596
683
38
852
217
369
540
864
347
578
228
960
202
170
197
185
675
725
588
171
198
246
61
638
480
59
775
233
803
475
460
677
158
415
666
443
870
235
949
453
126
310
315
425
902
22
614
68
755
917
288
675
478
690
152
525
303
674
431
980
492
152
672
789
184
227
882
915
278
679
741
998
590
861
107
183
253
555
732
175
128
547
481
662
366
525
242
319
382
189
412
151
621
697
308
230
898
374
918
581
697
195
248
592
503
695
717
47
782
111
786
465
694
758
851
731
536
455
536
68
178
751
831
984
220
781
701
781
310
752
456
721
963
778
84
568
132
866
112
770
696
890
952
534
727
176
533
830
9
798
757
749
807
628
359
956
965
793
595
615
974
614
879
375
30
494
379
80
741
947
63
740
424
500
620
655
619
61
473
336
979
474
698
102
218
164
220
388
212
548
769
497
604
903
277
290
491
430
866
803
988
21
45
471
338
246
908
897
530
749
462
477
787
760
904
46
57
500
285
674
880
619
959
108
466
877
987
302
830
631
471
276
695
468
189
412
402
560
777
504
330
18
852
137
318
919
884
391
899
592
106
449
925
923
677
844
969
424
606
17
673
695
493
986
122
331
364
512
742
18
729
627
291
797
999
214
144
980
475
791
491
286
44
393
142
311
748
611
888
371
711
349
178
258
139
308
833
693
250
799
834
518
489
794
994
427
782
688
416
805
949
166
584
52
702
713
931
992
585
304
413
627
350
368
929
631
684
847
782
286
788
10
994
383
392
468
375
21
116
783
882
374
105
513
350
967
172
529
462
679
996
39
190
620
27
749
45
296
460
98
738
677
135
805
719
966
83
719
582
202
897
174
141
134
883
618
763
803
285
805
660
241
505
280
563
537
956
883
114
807
261
232
101
522
689
1
746
220
314
584
489
282
983
737
361
303
427
386
471
790
619
678
886
964
29
462
102
435
358
393
269
322
598
735
307
771
598
199
859
782
376
589
652
499
988
288
256
159
954
619
903
538
669
628
570
525
641
625
840
696
583
968
378
495
455
631
329
406
854
470
847
492
446
789
333
145
980
275
876
986
69
698
155
656
315
136
421
389
821
846
447
223
172
792
228
511
835
289
746
154
749
413
841
557
754
36
446
392
670
361
538
294
734
540
883
361
320
310
431
331
400
683
495
881
883
758
352
515
718
162
638
319
122
871
535
725
6
412
570
254
406
572
120
534
392
272
836
484
390
461
602
452
208
217
595
651
26
792
669
11
972
968
732
151
24
446
41
930
896
951
455
821
459
598
240
996
450
688
637
482
584
595
46
303
888
456
405
146
88
851
158
275
432
984
382
544
460
824
560
961
59
253
368
887
474
772
462
572
657
147
809
478
711
200
563
769
615
558
802
894
246
837
46
648
207
213
486
423
830
525
37
517
622
830
616
116
696
474
205
755
939
870
792
912
651
373
563
702
344
499
960
111
997
630
782
839
790
20
522
965
808
548
344
608
646
486
720
435
644
780
389
333
433
867
553
125
508
738
297
880
363
601
911
823
42
531
275
519
399
433
726
495
78
140
958
116
393
195
871
303
666
590
71
292
96
880
366
107
686
518
123
349
976
248
699
58
818
221
788
831
574
871
312
227
112
691
859
897
688
374
743
489
162
1
228
287
348
97
410
359
137
840
200
496
833
341
350
604
61
407
498
736
580
879
674
914
191
410
303
6
161
97
95
991
94
710
858
895
213
427
725
574
65
976
586
145
28
29
188
540
110
569
821
358
819
133
82
409
373
724
675
644
697
26
222
963
932
192
506
229
836
569
840
318
505
736
728
779
654
287
328
679
918
924
874
208
524
661
241
620
874
485
428
351
878
562
725
677
730
706
174
362
304
979
245
332
596
761
185
573
745
224
434
412
60
258
53
334
5
714
811
55
982
718
720
277
319
556
803
874
13
445
447
966
372
15
391
9
800
895
981
120
700
251
347
29
881
602
297
31
990
595
648
775
808
167
729
290
238
90
768
796
524
693
938
20
977
486
91
126
427
63
774
364
83
706
409
960
510
191
744
760
380
499
563
465
938
355
648
708
431
395
924
392
433
307
627
369
41
982
499
818
283
472
433
431
330
762
359
908
838
328
704
521
49
416
628
898
703
495
213
954
491
794
912
783
13
313
995
682
316
994
540
396
595
329
382
284
865
542
52
994
254
821
167
279
561
722
752
26
387
511
574
854
934
591
924
196
622
861
998
212
58
965
755
309
355
190
214
58
958
272
409
483
137
233
107
662
707
983
909
967
458
763
274
216
407
820
947
692
105
289
537
512
135
927
431
3
631
54
155
3
126
44
828
212
723
48
136
723
805
583
759
274
327
55
4
867
599
88
372
411
257
48
868
394
744
978
607
834
256
8
427
35
103
290
944
742
584
969
447
969
500
368
550
612
199
567
498
139
487
701
282
858
345
245
107
172
82
335
697
983
177
960
158
721
472
689
514
168
321
837
54
598
722
39
296
735
889
419
27
630
102
619
216
804
732
284
895
515
815
171
161
406
376
655
295
595
142
106
518
664
912
686
920
24
904
992
907
909
482
646
643
691
752
493
378
666
236
914
164
107
976
427
334
863
240
131
108
917
395
32
998
295
83
71
82
977
706
996
963
879
349
585
97
736
136
370
574
690
56
797
263
357
696
369
710
171
200
536
347
677
363
81
399
396
770
74
135
823
824
423
553
853
74
910
460
758
590
447
332
906
9
388
587
323
182
175
355
942
851
174
722
215
902
37
643
665
656
540
987
194
60
312
506
79
212
600
244
423
987
186
479
303
109
135
857
886
297
836
753
271
899
89
452
429
227
503
99
840
939
249
739
280
371
107
788
509
597
744
488
673
117
119
621
370
156
420
339
789
869
823
471
262
700
822
383
688
521
337
713
729
881
194
457
272
695
962
420
193
93
904
547
952
81
110
538
951
488
59
891
888
387
906
174
114
555
493
141
198
405
487
688
843
407
811
311
159
64
109
659
699
291
431
826
446
826
381
58
45
196
28
956
282
553
363
642
494
227
702
311
410
61
768
621
542
357
86
361
538
399
125
61
733
132
505
534
687
866
393
138
478
86
790
978
164
178
986
667
866
975
430
784
994
813
871
193
338
20
959
785
910
579
797
521
621
818
782
586
537
510
662
111
646
608
641
296
50
931
990
529
644
224
697
798
753
632
444
902
81
524
208
310
775
877
780
961
135
633
32
958
323
854
148
268
658
160
500
6
898
947
138
714
945
654
837
157
909
996
581
570
669
329
844
919
332
312
656
878
584
701
69
468
461
177
684
682
233
650
420
587
299
371
675
89
256
217
701
916
375
432
678
537
361
207
502
311
827
124
398
955
541
770
334
262
667
561
913
733
237
855
639
706
985
557
469
49
743
331
830
392
723
487
863
731
430
317
823
481
242
549
192
291
369
977
898
217
921
626
855
30
712
178
692
343
839
760
373
791
520
264
142
679
867
463
903
583
868
420
713
170
64
905
417
74
506
233
685
2
254
930
213
665
753
341
917
606
127
49
241
193
39
884
672
292
728
274
125
254
642
471
230
93
550
211
507
844
257
416
180
338
913
28
498
37
958
21
835
842
439
850
821
945
943
744
144
804
137
509
737
232
778
909
783
40
604
241
185
242
141
875
768
500
888
73
307
100
873
359
523
622
692
655
713
132
961
848
162
91
162
81
13
936
394
894
252
590
585
83
137
763
650
901
592
868
804
779
238
980
461
452
797
390
585
159
293
983
287
454
643
418
448
659
424
512
563
239
135
740
91
146
88
453
711
941
107
437
597
209
36
774
634
613
732
899
177
12
142
3
104
741
48
24
245
989
406
747
435
938
724
236
56
975
581
99
71
971
521
304
558
989
458
803
343
96
401
341
227
805
724
523
509
444
804
967
885
452
261
149
948
488
852
629
881
260
76
461
603
833
26
809
838
163
309
907
177
196
983
384
125
772
91
474
184
845
414
110
859
648
349
142
964
216
777
619
863
207
255
163
667
496
423
502
962
777
185
583
339
699
950
555
82
819
148
925
771
632
134
326
841
404
325
827
573
294
576
208
611
341
488
311
813
335
36
136
819
509
73
783
193
157
434
433
229
510
267
456
867
113
984
795
755
911
257
519
997
468
131
51
992
284
376
177
797
119
23
25
249
776
108
601
909
558
2
873
901
502
964
180
115
145
5
985
150
285
0
325
374
63
217
316
555
632
755
41
188
708
394
840
233
772
349
892
883
853
981
661
225
201
782
552
373
422
0
381
856
318
643
628
391
985
844
103
929
276
438
383
677
524
716
19
470
253
472
534
612
895
592
499
612
311
507
746
467
39
539
75
464
448
979
601
272
768
710
208
853
310
123
549
245
968
485
46
524
711
714
245
40
592
483
719
508
151
553
764
37
925
896
731
754
504
135
564
263
349
139
894
264
636
502
613
791
928
779
587
456
151
400
75
797
867
192
747
165
184
781
521
666
336
577
878
692
740
32
355
795
968
712
118
655
274
366
410
910
241
893
135
715
21
407
296
906
723
916
359
426
853
716
100
308
13
229
902
475
218
458
749
24
802
940
575
788
281
824
277
948
257
579
328
286
80
389
73
770
22
512
246
205
28
77
896
679
930
320
232
867
851
550
631
639
720
794
463
321
803
508
375
513
70
475
755
494
448
739
251
123
645
925
74
722
617
449
554
654
643
380
10
728
876
456
502
610
924
235
947
530
727
618
944
393
857
898
83
852
343
625
119
242
374
86
742
620
67
849
1
256
609
590
278
833
627
538
32
29
406
358
764
674
2
494
113
12
98
850
586
619
963
232
403
280
212
685
636
382
752
996
704
333
565
345
968
633
102
167
609
676
60
362
326
548
404
360
687
534
620
501
636
726
547
296
607
213
357
235
966
4
210
629
394
37
282
859
392
312
599
385
979
649
346
239
835
974
17
325
755
225
831
101
999
209
537
135
810
18
417
856
295
621
651
252
833
153
553
45
833
429
371
635
887
154
125
428
930
870
240
887
681
12
668
222
832
314
275
547
621
625
563
992
279
314
531
773
579
52
461
42
211
138
49
431
651
475
52
91
323
78
885
967
222
892
963
806
963
862
72
549
85
162
278
719
393
430
793
865
653
373
67
859
252
182
158
237
664
762
919
565
164
38
526
493
52
943
658
698
332
699
323
562
963
242
503
76
801
155
915
468
731
624
113
894
22
688
781
395
663
904
723
161
933
900
764
295
140
227
669
866
860
447
985
251
275
794
179
435
376
208
678
418
230
630
263
265
822
402
8
893
126
50
214
887
650
703
30
445
490
180
106
591
668
970
77
108
846
33
638
421
931
428
639
754
171
693
202
131
836
877
829
325
214
731
840
395
792
900
419
15
989
996
527
619
923
723
248
235
54
943
992
228
798
501
805
390
30
785
983
23
542
318
427
567
618
831
266
976
744
671
233
934
145
644
438
89
315
4
0
685
537
613
507
69
517
688
390
116
697
420
784
989
367
690
483
999
932
541
8
282
755
65
492
438
155
40
0
148
475
556
749
418
733
301
73
413
273
584
184
970
386
111
173
364
403
494
339
977
202
883
423
91
391
896
375
483
891
339
209
559
869
636
492
328
376
523
568
261
907
828
596
418
262
68
577
544
373
798
153
350
314
132
780
379
621
944
888
101
551
466
870
454
375
358
908
187
997
383
689
885
431
488
198
252
324
457
560
718
437
44
505
985
617
319
423
802
736
435
726
695
440
285
70
288
564
540
284
298
7
552
746
481
617
477
811
298
406
120
453
433
714
874
980
279
636
145
564
148
560
202
172
426
768
568
724
661
622
286
476
953
900
873
625
348
856
706
549
960
874
402
21
87
446
215
713
89
857
972
332
642
531
987
272
752
950
91
571
874
468
889
886
465
269
604
215
511
280
229
343
676
49
615
145
780
305
914
692
800
450
915
979
131
885
308
98
675
691
172
738
569
56
23
783
54
386
844
729
152
359
762
271
28
420
942
86
99
682
61
750
727
446
778
894
184
437
770
724
574
660
534
157
528
119
581
213
737
617
360
874
191
170
926
643
382
257
989
478
782
729
346
209
735
560
768
41
711
69
70
11
126
254
701
376
748
789
891
953
51
690
441
785
927
568
89
492
236
91
957
333
549
748
875
647
121
122
212
197
454
320
86
211
107
250
644
165
405
362
652
845
437
530
423
596
403
39
500
343
582
269
764
189
70
508
385
524
72
908
768
827
278
98
618
619
821
668
340
43
947
616
278
425
857
664
462
448
168
441
836
249
319
449
791
217
955
842
143
360
943
953
699
691
47
435
343
615
762
322
394
811
810
497
111
246
11
120
123
106
351
859
572
35
81
306
316
511
247
649
820
248
803
520
166
658
203
313
775
887
102
514
698
463
323
662
726
520
64
238
752
179
51
316
52
920
454
334
994
73
846
356
101
935
672
617
988
218
154
808
856
293
114
625
950
635
447
724
201
599
328
313
986
51
78
412
655
141
513
168
142
467
877
114
730
478
438
699
982
114
403
323
367
902
365
400
176
167
11
895
358
546
985
531
69
293
640
407
274
326
531
77
943
835
428
186
956
227
566
360
160
385
319
839
23
248
349
422
175
395
734
520
574
495
34
829
868
937
66
227
242
168
731
767
867
289
331
561
790
864
661
298
829
396
778
883
662
651
646
373
338
594
60
795
106
116
836
745
476
900
931
344
518
271
300
640
635
669
921
298
105
477
819
265
517
298
749
992
761
757
651
317
158
742
423
546
223
370
348
480
842
306
761
700
902
846
464
739
801
899
495
497
788
603
557
123
510
657
964
682
375
904
499
294
240
24
123
292
660
833
492
994
653
57
153
83
127
552
654
306
293
676
335
327
654
952
123
464
163
370
958
313
786
913
736
652
632
871
42
613
64
786
192
399
726
176
655
800
9
26
298
87
595
285
277
395
658
817
35
857
887
651
977
763
655
993
880
372
693
943
608
701
379
692
970
300
104
881
517
409
201
346
361
788
432
831
482
925
91
420
494
510
805
308
968
372
277
379
109
759
367
595
260
402
601
574
433
776
967
545
908
810
192
397
237
987
274
746
861
541
107
191
222
772
351
271
692
489
131
277
678
558
987
179
637
862
361
494
652
178
631
325
414
536
48
239
719
949
567
593
501
403
739
524
585
521
252
68
269
360
320
77
487
110
720
908
633
270
435
727
448
944
507
257
421
951
580
193
152
641
717
243
741
621
534
37
952
207
277
694
594
14
593
115
483
792
80
960
724
810
107
29
325
238
445
450
278
663
834
697
738
256
50
894
149
197
986
295
133
321
49
935
557
981
654
16
172
418
200
454
303
208
823
704
806
884
433
310
499
872
451
791
792
69
285
284
240
611
350
125
758
379
796
176
647
28
212
244
546
68
943
523
552
354
135
251
334
571
84
98
531
227
889
193
485
923
404
93
452
785
452
921
684
314
245
541
538
509
454
620
858
366
100
724
91
259
680
982
241
848
198
113
8
980
646
333
202
69
306
246
580
12
548
219
958
155
979
900
86
662
635
439
657
664
852
344
595
74
859
180
832
814
50
608
104
591
343
370
381
465
919
153
247
939
406
711
277
739
284
773
528
767
907
258
701
984
759
144
37
171
877
24
64
851
77
851
611
532
924
669
227
358
856
864
400
747
515
861
516
870
658
876
453
521
495
268
62
221
746
661
112
167
771
242
106
823
30
448
730
545
833
40
743
35
822
444
780
14
143
113
628
810
732
986
214
290
438
363
363
606
978
784
924
404
359
351
676
88
422
812
255
600
558
161
376
672
676
964
611
145
663
267
279
667
864
324
154
718
711
408
298
694
138
841
600
957
997
764
377
475
602
53
805
614
966
286
103
674
416
862
870
476
816
665
210
310
549
462
939
984
581
331
531
866
141
34
467
277
702
491
121
673
894
824
396
445
424
94
224
662
151
676
718
178
952
222
693
461
840
288
35
575
717
515
440
589
742
588
709
512
6
248
948
503
261
61
862
726
145
362
584
366
705
725
692
0
70
8
870
669
809
554
806
57
20
846
995
194
630
187
203
148
861
199
999
196
535
266
577
579
506
279
553
418
541
982
928
769
281
814
563
255
370
449
518
189
917
809
259
432
238
227
317
649
30
399
505
830
274
429
281
699
555
868
593
5
542
259
284
591
253
134
844
728
100
827
403
366
119
170
382
972
764
43
509
574
825
304
623
723
141
175
212
412
875
137
474
894
969
233
90
327
156
153
869
354
419
22
251
627
631
66
923
354
953
15
877
521
553
724
873
796
928
533
339
968
751
110
701
144
255
115
455
130
404
832
827
779
551
948
731
17
433
885
974
697
371
102
289
554
459
740
843
664
452
140
411
209
992
221
565
357
994
680
204
406
999
866
722
376
180
324
247
517
511
95
600
534
325
631
653
438
282
710
822
466
371
196
293
88
697
581
541
192
357
444
669
179
905
609
163
507
424
453
742
169
522
422
900
549
111
203
36
173
246
239
321
479
915
800
669
437
368
610
521
965
694
120
481
276
422
455
579
369
681
710
863
505
103
221
87
394
156
942
382
104
826
180
357
112
401
354
528
385
450
830
894
690
498
324
574
431
408
540
35
25
474
211
951
497
143
420
865
762
692
855
763
174
858
275
221
29
457
89
506
276
151
700
801
278
217
825
269
691
213
398
984
691
271
815
791
305
365
585
291
942
40
6
352
467
197
556
435
349
140
351
13
645
327
587
600
776
767
799
840
518
663
817
841
928
532
635
976
252
624
466
697
360
642
709
1
340
417
199
817
243
599
875
798
551
369
457
523
614
382
240
883
902
594
300
282
565
377
413
199
213
165
522
373
884
701
711
373
183
454
203
343
213
229
799
767
369
674
436
49
629
266
842
15
783
88
248
115
596
385
606
944
231
689
540
156
336
858
752
845
962
791
294
275
648
726
633
685
76
328
912
781
944
125
605
378
408
681
290
531
37
738
592
202
294
613
965
44
192
920
164
163
138
176
908
519
443
240
250
534
588
834
649
132
264
695
835
927
248
941
342
470
474
823
642
907
113
355
993
55
449
678
567
818
467
590
738
313
338
811
749
640
47
439
845
899
98
698
471
224
972
670
922
401
392
203
43
682
210
403
150
363
314
900
984
800
43
874
474
265
34
36
994
851
523
883
299
632
163
135
706
399
113
487
425
48
758
247
377
956
801
808
961
84
719
410
894
899
874
210
85
323
492
626
442
794
410
634
56
591
918
315
771
220
4
703
307
528
530
666
565
707
168
737
452
169
259
331
508
183
225
102
697
124
563
752
481
6
580
543
827
236
610
143
772
192
112
346
279
501
189
465
28
161
827
510
911
919
334
744
548
268
882
433
41
751
179
307
247
598
763
66
143
568
570
714
149
416
83
758
575
922
951
123
64
773
994
207
701
748
55
602
273
876
885
582
484
515
546
538
258
79
573
405
209
934
295
100
431
580
279
191
260
393
264
88
613
410
734
480
320
648
311
860
114
593
307
882
344
260
885
945
799
714
898
870
190
767
782
325
373
806
206
276
619
776
535
77
324
988
610
843
445
479
354
888
84
56
698
373
241
113
469
412
8
412
311
529
864
316
546
583
51
430
613
799
773
776
375
168
634
570
86
487
807
387
333
508
461
826
385
303
271
410
847
222
150
233
135
612
922
597
296
442
56
85
403
684
509
143
851
796
930
524
983
472
79
500
730
707
351
736
842
713
259
773
458
860
204
161
52
85
740
621
996
23
701
415
939
562
255
496
929
119
873
239
328
26
587
568
35
527
222
321
949
993
864
506
316
784
425
339
101
997
604
725
717
507
640
565
751
853
168
730
712
567
927
319
180
673
571
816
84
100
593
246
987
69
390
334
146
384
817
772
408
894
920
985
649
292
667
171
630
689
850
612
403
902
808
423
244
362
684
467
343
111
970
244
887
873
269
366
657
308
872
512
729
189
151
263
615
968
993
668
54
828
522
904
877
990
587
245
823
76
746
639
138
459
275
605
330
775
831
740
911
449
551
669
531
224
848
132
140
269
96
147
246
989
835
515
890
943
717
287
568
37
29
806
120
263
703
499
724
985
526
103
287
271
963
592
643
953
680
100
87
367
347
800
528
744
901
50
997
829
644
785
645
202
616
117
632
797
574
824
633
788
171
505
925
353
544
279
918
506
626
603
333
793
583
434
689
416
25
35
522
220
80
681
358
217
182
927
684
371
568
29
973
306
280
861
439
711
710
592
115
435
147
724
678
408
855
429
908
119
569
704
235
823
970
902
771
574
792
671
931
568
683
407
22
555
730
18
120
352
525
230
696
281
656
954
38
409
478
629
841
513
934
898
474
591
90
908
827
635
322
268
324
49
55
962
212
159
28
903
395
603
800
47
58
542
187
965
53
26
918
827
844
64
298
905
605
569
652
208
211
970
791
771
991
340
503
864
624
136
94
770
538
51
52
728
637
219
836
109
613
614
173
960
369
874
90
392
46
852
214
68
972
966
398
924
307
490
554
200
909
619
78
960
559
732
375
242
417
385
839
404
745
347
977
825
285
526
463
230
181
967
736
301
525
990
761
642
79
987
378
169
492
919
771
41
841
102
934
942
275
734
183
573
469
188
250
365
893
994
736
347
197
936
274
820
328
901
273
678
86
56
41
771
621
972
420
124
771
307
636
669
391
978
982
415
412
108
623
67
983
365
535
561
752
514
289
582
543
72
39
525
289
103
745
952
966
142
350
882
651
874
163
756
274
766
612
907
454
92
302
900
261
711
629
258
641
950
391
92
140
892
871
957
705
830
5
289
537
332
121
323
66
721
268
315
432
825
874
109
321
104
148
745
341
155
315
576
443
913
766
377
615
28
65
498
536
636
918
825
555
483
236
370
149
162
86
918
959
656
487
579
39
322
814
370
532
991
624
606
857
259
907
477
581
463
167
15
538
194
564
883
290
66
241
921
400
256
916
487
489
174
129
202
281
382
514
525
573
540
58
962
735
522
667
574
930
75
999
583
148
876
415
449
380
644
355
353
701
39
885
66
73
699
666
91
510
737
848
961
664
303
692
469
326
198
677
224
640
575
769
91
383
828
265
497
74
144
533
79
374
833
554
834
309
888
76
891
770
263
571
557
594
673
251
113
146
417
448
526
549
464
467
616
466
611
550
179
635
601
185
401
477
406
916
342
676
588
537
780
770
339
468
911
632
262
375
462
639
759
956
390
488
998
454
832
887
894
41
315
273
283
964
432
144
996
955
540
108
842
674
457
849
118
576
863
638
795
729
147
975
128
316
733
452
436
739
245
587
751
458
839
907
498
504
780
231
185
716
982
978
614
105
599
996
568
303
625
267
254
659
471
81
191
898
439
42
938
455
210
413
278
739
782
894
597
201
6
933
882
851
574
463
263
63
188
280
478
896
270
867
102
653
530
505
603
979
563
49
734
852
757
669
602
739
627
340
976
383
898
784
928
918
483
249
839
679
127
364
627
187
778
657
35
882
333
545
406
460
522
293
780
451
520
172
641
739
863
174
365
931
435
423
550
614
217
450
319
759
709
107
376
76
387
831
688
4
408
735
5
202
311
148
581
392
78
451
817
112
901
612
933
56
770
962
903
701
472
814
606
392
248
699
64
240
214
232
320
805
97
606
782
0
635
555
11
164
257
396
592
614
396
354
265
328
3
117
941
910
308
764
685
694
244
341
710
20
856
621
658
529
172
218
876
415
573
5
796
179
617
730
505
888
636
157
191
128
665
505
30
397
864
448
573
344
512
559
449
134
823
970
931
549
201
534
226
51
687
831
518
310
257
726
728
822
820
621
265
637
201
394
352
319
829
992
363
616
324
828
426
83
977
585
557
641
588
477
937
270
795
898
684
156
865
133
27
242
459
411
530
350
532
800
84
684
401
14
802
314
670
561
453
601
767
231
388
504
415
925
45
918
456
883
478
778
18
327
757
576
494
409
338
236
380
346
12
694
703
916
733
873
698
995
18
472
690
386
42
351
442
704
391
964
536
59
162
961
681
562
255
901
966
291
162
349
549
531
777
422
212
105
434
710
192
677
354
731
909
842
497
645
784
243
580
429
694
95
155
808
871
961
548
174
797
189
121
53
784
835
735
491
800
473
325
603
857
804
266
32
788
320
920
782
567
22
926
805
544
242
889
310
371
7
885
703
887
92
105
473
186
238
61
973
770
330
312
912
142
84
831
972
90
882
590
602
953
367
907
505
657
771
55
379
981
166
785
129
425
538
282
382
356
271
79
104
409
767
921
945
966
419
823
194
990
551
509
777
745
872
274
523
833
611
425
596
618
466
863
108
402
711
239
651
868
231
475
386
29
121
43
120
319
520
384
83
721
260
896
322
782
304
915
238
763
420
29
408
281
309
766
15
222
444
205
889
536
872
826
860
482
566
373
921
404
901
456
511
217
453
749
106
661
833
177
714
226
821
170
291
81
765
87
169
848
664
11
16
540
238
950
604
974
937
519
630
258
351
747
134
695
515
816
882
563
473
534
909
539
646
446
227
21
83
308
303
763
274
807
365
456
112
248
728
888
15
506
453
290
697
616
683
794
33
861
454
763
938
701
554
532
758
132
658
590
314
599
784
354
797
732
103
452
933
777
984
977
446
706
597
933
278
985
211
655
342
927
24
857
34
784
409
538
418
44
786
226
759
462
231
106
252
363
489
272
233
24
865
260
39
387
966
93
942
876
813
80
940
658
697
487
456
778
476
71
942
839
264
339
345
85
238
148
815
851
536
604
143
674
877
406
968
43
857
198
83
380
922
286
570
48
608
912
262
941
701
853
584
822
338
561
629
353
784
213
806
611
660
909
897
510
212
574
514
853
261
975
957
798
729
353
475
283
515
617
367
630
517
81
705
190
589
410
619
563
742
904
502
119
142
430
262
639
152
742
915
876
498
226
597
592
940
454
135
182
207
270
734
647
314
173
513
684
628
111
181
210
39
53
581
702
489
453
587
237
553
296
442
260
640
506
205
251
203
300
357
496
206
466
10
858
921
995
39
135
17
82
48
325
143
298
585
69
465
946
924
872
261
183
19
563
414
93
997
141
697
352
506
597
112
448
732
996
959
468
882
540
261
924
651
522
898
347
44
809
338
531
67
172
159
522
85
226
800
913
70
958
926
979
378
160
44
769
183
101
890
501
444
271
205
299
658
297
549
985
719
512
338
798
536
680
292
10
79
477
994
709
486
346
998
298
965
917
923
335
993
159
33
452
477
998
867
672
248
108
91
838
720
263
662
123
595
625
109
258
166
934
316
239
438
745
524
704
724
708
811
709
630
346
89
215
956
351
257
407
178
165
597
397
260
121
238
899
430
617
46
707
791
325
116
849
1
853
299
751
604
352
615
543
184
410
758
137
739
282
105
917
323
522
476
745
479
534
886
189
925
669
420
3
790
615
655
305
542
116
117
239
705
77
122
72
313
361
468
606
597
758
570
947
183
9
43
983
106
283
708
908
164
630
661
870
970
38
1
99
472
10
393
187
54
762
174
202
789
378
609
604
645
191
49
869
407
234
395
913
476
780
456
567
333
504
420
899
467
983
681
401
37
559
861
579
444
331
866
14
997
988
804
489
640
121
554
20
870
224
578
261
346
88
229
873
468
463
794
357
305
533
613
262
828
465
380
292
175
179
691
964
35
927
963
562
486
12
923
786
236
630
504
457
7
685
350
529
763
21
457
370
265
646
341
243
75
270
675
140
989
531
409
766
402
285
193
653
26
128
281
784
765
729
765
255
268
642
887
269
705
221
939
894
558
47
739
655
817
915
618
265
538
576
588
445
452
372
501
605
461
675
799
846
996
112
200
847
106
599
801
461
516
307
946
102
644
391
685
330
971
655
679
174
499
673
460
611
717
220
492
768
321
53
887
255
200
759
857
923
966
492
921
470
381
392
625
497
341
429
832
685
20
291
232
697
747
204
587
464
158
44
367
481
409
340
561
288
441
433
950
644
589
560
1
777
652
242
405
909
569
374
772
222
80
494
245
595
869
143
974
179
824
431
272
534
81
459
810
25
941
334
659
534
766
566
139
877
814
297
2
984
45
127
120
8
708
249
740
568
170
526
178
789
3
780
463
803
764
244
437
231
766
928
614
809
321
912
246
132
953
463
743
447
807
491
826
367
61
27
271
372
957
530
423
854
569
562
191
40
206
429
600
3
104
939
893
533
510
465
935
571
268
768
239
829
583
900
349
543
74
446
540
298
29
773
106
256
210
880
883
998
25
82
656
117
496
493
141
384
19
27
931
494
770
473
997
904
673
271
227
572
177
958
732
404
802
127
582
193
926
902
552
521
769
170
769
61
821
731
421
866
877
246
1
512
296
447
608
157
388
990
597
103
980
229
86
555
583
840
185
115
167
74
715
882
478
464
330
598
19
528
881
435
491
80
693
319
756
569
903
869
322
704
71
987
0
388
603
940
613
152
726
455
987
323
275
682
804
48
527
153
230
812
976
271
41
140
982
519
336
178
413
406
642
285
812
439
802
691
180
807
48
776
518
978
642
695
372
954
243
208
551
275
693
460
512
57
35
845
672
567
664
24
43
373
466
477
100
132
516
955
877
368
324
659
846
412
753
160
258
953
901
657
840
866
772
980
913
693
312
713
757
59
60
370
54
828
691
698
26
965
613
692
202
886
229
8
707
113
68
599
569
279
87
897
131
972
802
217
183
753
530
111
160
430
34
130
52
392
577
666
915
187
197
903
891
545
56
928
637
0
587
933
983
391
954
523
592
732
385
215
103
278
558
353
583
596
122
717
149
71
800
420
133
912
671
235
988
475
324
493
326
569
166
317
720
730
885
93
775
149
65
986
99
295
98
747
513
442
681
313
435
392
146
436
696
490
103
368
397
401
972
51
880
692
381
505
907
610
252
380
801
952
982
117
60
529
516
169
915
950
446
549
641
975
51
626
57
821
306
988
41
734
646
30
887
204
703
392
821
84
449
518
65
23
357
182
716
690
489
553
38
288
951
261
207
99
334
56
2
432
205
607
481
852
249
503
559
530
397
171
533
527
934
277
997
518
276
741
907
358
852
711
688
882
607
826
65
151
667
261
977
856
699
322
881
24
631
261
973
56
776
315
809
733
690
820
719
876
378
274
885
162
111
715
525
619
555
984
636
442
553
351
233
420
725
49
623
509
941
649
513
553
807
11
606
935
447
76
291
86
557
834
730
513
366
321
821
300
482
125
540
791
780
853
621
515
312
78
619
934
823
219
722
967
369
260
41
489
671
790
328
631
806
852
129
434
788
711
537
685
698
56
191
732
426
249
461
488
40
594
589
64
792
253
260
328
430
342
443
4
71
947
574
649
976
962
142
587
527
811
647
617
482
779
726
272
671
942
661
728
627
156
503
510
453
832
235
423
724
887
840
519
119
393
423
29
807
858
339
142
775
240
238
58
679
956
994
494
475
899
717
323
374
978
310
909
732
919
32
986
826
545
941
647
980
971
146
752
991
657
887
211
841
902
130
298
498
580
408
829
33
830
894
736
524
313
624
512
965
5
654
67
390
689
618
762
410
470
575
342
412
428
891
575
931
494
633
464
846
21
395
835
765
709
244
347
223
257
490
611
482
749
502
211
625
880
827
786
854
549
623
142
667
16
726
289
548
348
499
942
243
856
340
157
981
815
654
374
486
886
681
869
444
49
419
225
982
594
147
463
194
669
928
716
270
997
234
234
553
901
638
518
769
612
737
432
720
59
343
681
644
462
130
959
212
790
435
286
524
393
931
791
139
607
337
44
43
924
438
680
118
556
838
69
115
569
356
124
25
122
722
246
413
339
450
745
41
491
583
735
270
558
629
475
775
39
5
396
961
383
651
814
832
899
280
310
719
44
177
383
298
190
351
63
531
452
89
517
660
23
67
644
725
648
38
94
621
715
264
327
478
857
376
505
708
168
257
858
269
927
487
243
836
460
645
325
521
643
985
843
893
369
343
6
402
15
947
822
582
430
856
956
447
473
157
568
125
408
818
221
988
841
739
140
64
816
303
573
369
211
52
477
420
940
179
413
374
125
855
121
983
429
550
298
488
349
752
515
679
484
982
935
483
419
141
325
672
613
839
542
176
503
795
877
320
303
184
962
28
878
745
659
756
297
657
344
485
559
295
344
421
383
478
313
377
5
869
111
880
703
802
586
44
909
638
438
621
430
35
74
241
190
166
746
92
31
893
620
646
125
773
405
388
175
713
782
219
237
884
687
551
258
199
108
836
963
278
969
731
124
657
869
811
671
960
596
445
116
870
683
848
524
630
178
615
53
786
458
18
570
954
495
261
161
265
966
833
457
638
638
777
926
482
8
909
936
650
356
872
723
472
424
640
347
162
139
71
323
945
849
951
680
301
244
518
534
611
598
257
763
642
85
263
752
470
16
450
998
405
902
951
837
809
627
89
465
677
295
54
576
820
802
955
765
403
933
233
798
703
514
497
349
476
941
957
195
544
46
85
597
12
901
415
108
111
611
940
562
309
926
693
455
202
73
490
945
119
971
168
739
371
394
197
708
806
958
787
282
93
396
395
147
376
260
713
86
354
964
9
35
413
82
653
175
949
349
464
877
835
344
860
44
971
769
681
619
575
367
411
700
325
868
33
866
280
290
459
510
125
31
505
825
663
203
257
50
800
850
75
932
646
286
527
827
161
485
504
718
63
248
6
111
984
386
726
323
23
292
572
31
444
340
526
965
565
388
801
241
871
195
804
598
76
312
499
174
555
141
170
48
618
843
847
434
344
883
846
667
101
330
864
974
116
883
852
623
601
947
203
47
703
334
792
0
328
352
489
515
202
343
247
869
826
305
536
193
199
69
713
145
437
573
91
908
569
15
110
820
955
467
385
978
795
671
295
708
674
487
49
389
806
635
402
888
469
261
798
962
397
8
726
228
772
449
271
809
580
682
17
797
290
798
75
567
302
159
927
534
478
441
606
177
115
478
126
883
729
108
112
233
586
368
682
855
552
353
111
454
230
156
940
316
719
875
758
410
8
97
47
136
145
889
952
276
530
637
201
848
77
454
470
431
611
236
180
949
125
854
100
435
452
73
402
684
25
3
342
558
29
796
191
578
36
557
460
461
484
379
208
333
66
954
159
443
877
576
911
376
893
970
357
552
439
104
787
560
167
574
373
676
691
352
905
866
170
508
222
376
508
483
257
878
64
186
741
653
238
895
895
576
268
247
217
452
456
40
495
490
294
359
900
377
803
340
423
233
944
959
162
922
895
514
368
663
53
787
548
383
266
524
30
539
724
304
279
978
845
327
769
246
131
291
742
491
834
350
309
767
114
442
53
938
165
835
796
912
652
948
623
122
659
846
931
458
720
285
656
899
778
483
874
266
448
162
567
780
529
557
157
101
586
121
726
879
44
884
302
813
337
542
546
319
553
898
927
373
871
836
795
883
934
435
935
163
146
109
483
15
487
325
514
235
363
328
646
702
31
462
539
154
566
889
155
759
584
684
183
334
119
82
131
428
822
960
676
166
351
646
750
354
725
537
388
323
576
169
8
144
134
525
403
614
272
777
582
205
150
561
501
906
330
435
849
257
153
65
345
413
648
662
755
854
15
446
972
568
650
473
913
459
1
174
894
976
136
57
190
206
98
367
535
662
188
560
808
677
343
402
506
154
136
496
916
462
23
26
733
317
538
7
41
402
127
973
231
452
299
989
282
711
453
311
378
934
286
504
159
118
936
162
710
880
513
213
599
439
704
704
601
518
818
615
83
671
801
968
244
658
840
227
737
350
224
414
494
323
597
745
211
872
720
674
865
104
86
720
816
621
176
626
583
751
792
983
486
508
662
583
116
673
400
601
974
575
303
687
451
858
28
18
16
118
105
97
554
67
687
336
578
412
662
641
24
822
461
572
575
247
88
287
561
211
301
42
179
79
342
579
469
236
530
873
127
681
762
426
730
553
707
423
130
224
747
32
620
459
736
789
151
620
964
533
667
990
731
493
815
210
852
29
334
414
990
467
61
164
866
524
879
870
281
807
253
81
0
353
88
620
432
672
326
488
560
262
596
698
862
698
385
500
543
357
250
205
444
215
306
660
205
39
480
574
716
147
922
320
110
74
149
717
485
33
97
976
153
293
408
401
485
31
631
598
953
193
94
462
855
360
175
548
788
497
458
563
662
726
723
558
988
865
67
546
98
335
911
803
92
55
276
597
434
534
446
133
101
169
204
698
502
581
711
535
854
480
344
552
635
48
352
542
864
326
112
774
848
905
571
951
288
614
527
88
343
880
734
317
467
230
772
119
380
319
313
883
548
750
2
927
829
763
451
649
922
532
867
490
996
118
642
202
331
569
929
583
752
706
309
860
613
960
291
503
236
286
323
366
471
595
190
993
373
982
714
565
425
327
524
569
250
904
175
239
960
35
413
721
667
309
75
897
62
550
672
609
435
320
475
257
371
607
961
946
495
742
264
643
968
628
485
324
654
689
745
930
440
123
923
218
900
413
401
636
72
81
114
864
894
706
163
72
264
230
536
330
632
652
519
765
49
832
704
86
534
117
579
252
378
743
737
443
207
204
590
830
131
646
219
481
286
951
324
541
592
185
683
966
526
617
503
229
55
49
239
694
581
0
984
504
665
769
41
281
876
246
71
158
830
967
787
704
53
728
929
524
568
278
6
683
189
196
707
194
338
184
625
200
918
206
579
915
559
147
816
721
668
902
70
486
798
748
871
777
828
845
156
589
909
841
424
784
546
670
13
759
470
549
284
15
235
854
346
105
773
244
262
637
227
317
679
306
561
779
777
485
565
763
432
273
124
703
199
527
612
116
210
975
524
358
57
401
225
865
928
138
486
431
777
65
98
590
562
719
300
115
797
775
309
936
235
604
539
473
953
725
720
669
410
337
898
432
297
939
505
591
487
984
955
507
810
482
192
652
153
257
139
140
166
960
877
454
889
271
452
993
421
743
932
590
402
71
240
655
356
86
939
32
184
4
433
149
34
997
613
864
404
363
772
438
195
6
828
978
12
256
873
210
93
821
989
578
575
620
820
27
462
823
915
320
737
136
421
121
735
698
832
875
866
946
129
22
703
87
808
222
577
692
682
137
349
613
193
207
898
20
189
657
458
896
606
516
239
228
544
176
159
375
567
389
227
476
956
731
357
219
942
418
478
573
310
708
849
878
743
658
690
922
745
894
531
671
901
936
917
270
446
127
800
535
284
29
505
37
331
303
963
914
629
616
135
785
428
111
131
916
933
651
499
462
525
246
90
129
405
320
445
768
721
591
379
958
578
698
396
905
469
134
416
563
270
625
816
948
219
375
807
646
386
146
118
724
582
418
897
690
466
843
194
836
977
195
68
384
800
248
915
94
739
328
686
644
736
317
609
909
518
3
777
642
724
569
44
116
549
606
556
321
557
21
648
65
152
569
29
283
463
892
983
977
37
615
608
899
321
562
6
864
228
512
438
587
606
434
697
366
958
823
691
938
968
13
604
932
15
293
344
493
485
45
475
136
280
226
607
12
878
327
308
213
628
116
381
805
105
380
419
565
786
592
53
383
336
419
861
274
486
553
650
218
62
417
761
393
513
371
813
489
871
178
541
570
677
107
359
512
910
51
153
377
695
601
988
298
201
205
568
863
648
169
979
917
272
76
668
90
296
239
585
713
163
701
694
268
591
578
380
873
260
980
275
587
991
274
749
296
570
111
860
362
678
986
634
202
260
999
666
886
248
839
143
210
282
419
641
619
886
378
434
256
215
403
78
227
443
362
196
598
610
748
1
216
680
565
703
941
715
195
860
60
309
270
443
17
265
539
537
24
390
916
789
34
202
587
487
138
50
823
802
37
278
570
503
381
800
513
221
540
542
469
285
760
886
591
113
409
761
669
46
673
372
608
420
645
93
974
411
873
557
8
253
461
728
603
694
238
938
201
433
78
563
524
339
986
638
918
699
843
46
140
796
991
44
556
336
164
803
401
61
20
735
896
708
630
531
239
494
285
236
817
684
314
311
225
518
728
753
23
465
529
972
432
255
121
471
697
108
890
493
779
484
407
292
356
560
822
915
135
369
428
875
80
162
742
104
103
107
733
538
272
972
227
622
757
59
757
273
450
522
334
307
265
50
694
926
419
743
383
577
70
732
67
480
576
32
921
732
953
152
918
448
471
798
900
741
558
592
450
674
289
807
78
566
520
646
972
164
284
353
219
786
625
72
511
195
289
900
756
991
932
711
364
41
667
5
111
148
754
189
270
776
53
264
169
586
55
694
891
964
90
3
497
655
707
491
209
33
249
786
673
484
124
844
332
627
301
619
395
546
505
961
695
902
98
275
153
973
222
38
819
674
791
390
183
702
465
261
358
961
324
798
524
74
17
168
117
945
453
62
585
283
35
619
880
175
598
645
102
385
113
523
710
819
507
728
5
278
225
920
578
798
655
532
398
853
162
796
853
320
903
195
784
409
881
733
537
101
790
112
13
51
853
145
760
122
830
999
992
612
444
410
841
687
832
86
709
127
608
949
650
76
964
106
705
169
900
147
94
68
114
65
212
853
635
340
15
128
11
472
541
744
478
132
0
508
687
148
266
868
158
626
889
344
662
866
422
785
691
739
638
509
518
213
10
386
361
418
566
130
25
650
497
956
214
423
189
487
60
837
324
326
13
896
788
654
361
782
657
363
443
129
623
539
82
638
694
733
274
899
286
870
40
551
22
143
597
77
626
734
297
919
945
423
813
882
61
393
947
801
925
479
328
493
391
701
243
558
316
500
299
31
895
931
445
693
550
95
434
193
145
790
698
942
509
772
527
410
555
694
466
449
636
465
605
341
852
714
516
682
466
536
43
517
806
623
940
882
386
190
293
593
509
281
39
645
824
264
623
275
522
889
772
378
688
564
146
366
103
57
458
766
372
629
978
526
196
579
485
232
589
73
758
839
956
437
17
201
950
859
755
729
663
524
269
741
976
932
794
60
246
489
584
476
5
741
62
478
292
688
956
418
565
238
824
833
99
163
532
387
239
655
431
344
844
821
820
465
36
550
368
944
775
523
386
296
787
851
751
146
890
737
391
439
914
949
147
96
260
632
536
528
851
298
259
987
616
391
601
868
598
61
250
775
981
26
851
327
646
833
534
185
68
922
772
967
41
873
792
742
543
896
997
525
94
576
15
996
831
101
380
292
549
582
242
807
88
963
244
611
467
125
10
80
155
916
612
620
814
878
487
953
489
871
503
294
118
275
751
451
264
816
206
393
173
137
880
412
860
108
914
878
369
302
737
143
294
93
130
806
821
486
505
877
742
746
770
90
701
400
761
874
623
541
257
1
147
234
905
82
858
895
554
297
938
678
505
139
563
472
124
749
846
988
370
427
987
102
307
199
715
155
273
842
295
850
231
649
587
608
701
708
779
114
788
3
73
728
417
605
16
201
338
368
508
84
429
219
817
726
939
61
217
609
455
698
783
837
662
798
957
529
604
240
457
176
889
538
939
504
874
497
423
863
257
142
21
237
297
194
880
983
203
164
663
683
870
53
49
706
11
843
825
674
435
352
218
329
761
140
796
575
398
148
389
927
10
796
977
223
154
568
840
97
251
311
717
827
714
911
364
709
120
604
771
650
937
800
366
664
875
341
655
295
452
384
869
573
472
922
387
142
991
931
234
186
173
657
96
457
74
563
232
609
537
583
853
972
817
459
277
225
785
91
347
522
30
180
808
991
295
413
509
828
443
404
432
172
147
74
773
3
885
963
425
961
481
299
549
910
875
755
174
545
398
627
663
150
251
225
140
895
600
751
449
436
605
751
692
141
282
882
845
321
48
982
714
391
288
585
795
449
946
893
638
44
828
143
655
522
180
529
207
57
841
452
628
577
436
46
181
262
519
453
394
612
804
565
957
676
418
737
81
312
290
495
799
984
862
16
768
335
239
627
779
436
224
828
127
681
525
300
164
805
532
435
98
551
491
754
591
597
578
814
934
288
984
877
623
708
375
353
374
16
706
108
16
935
396
755
645
711
993
834
64
938
310
68
927
203
732
918
288
186
842
290
424
728
494
766
289
891
279
361
163
705
553
878
594
305
872
279
271
203
114
58
989
906
549
654
947
233
85
739
33
835
760
426
532
267
579
539
886
967
900
815
724
645
527
257
533
814
870
494
95
847
331
217
581
877
78
388
693
505
336
716
63
474
911
120
660
446
675
48
55
583
594
178
33
941
874
400
793
556
809
719
760
607
656
179
983
889
746
388
611
590
365
232
617
241
78
22
771
68
423
520
250
793
674
103
831
905
934
713
843
964
78
558
406
533
650
340
235
968
904
320
272
804
511
670
473
135
476
21
618
708
700
679
745
285
728
498
866
744
155
163
872
765
903
446
610
141
464
774
332
784
987
817
331
686
494
194
746
215
642
78
150
723
513
46
54
126
500
215
933
522
24
741
444
999
946
807
344
555
581
399
564
208
513
73
231
66
47
719
266
18
611
161
676
601
991
806
457
16
472
819
732
191
314
714
201
334
222
854
744
484
359
897
520
559
844
971
733
544
75
171
575
262
99
329
623
870
149
827
313
768
612
846
592
464
514
725
331
94
995
453
476
260
424
242
390
533
260
923
5
820
277
833
8
23
9
22
898
422
502
967
811
466
573
909
558
820
58
275
484
802
287
194
26
310
993
291
950
685
268
610
926
592
775
575
863
907
301
610
657
635
258
357
337
293
151
320
194
349
30
646
345
440
444
497
589
112
937
942
623
238
531
411
82
181
83
944
506
333
529
661
618
571
176
146
328
196
36
254
690
226
705
565
603
422
522
240
820
406
946
155
410
282
648
349
554
526
777
212
281
338
665
208
89
688
761
464
192
178
694
368
928
11
65
721
62
798
406
123
364
704
748
918
252
129
964
982
546
737
392
111
365
251
367
364
587
318
91
614
673
405
178
80
405
620
593
63
511
806
251
16
96
89
679
49
374
806
498
667
100
714
383
870
79
330
531
930
739
56
145
850
897
675
245
259
160
837
234
324
307
678
52
467
188
451
244
148
127
188
167
83
921
264
263
885
57
961
806
726
768
729
31
543
546
677
630
714
481
850
970
503
946
164
101
645
295
204
337
630
805
1
532
372
672
185
762
320
614
592
294
122
428
629
796
863
102
58
127
881
855
746
291
303
852
313
465
62
546
12
202
175
270
597
501
957
726
109
822
583
348
473
277
968
317
582
295
978
703
583
958
13
151
263
689
479
348
184
32
696
913
851
400
894
419
597
709
535
990
990
479
742
525
316
582
773
303
584
22
565
266
718
97
385
891
844
135
217
848
125
939
804
533
705
921
832
868
486
270
825
648
150
863
278
240
76
498
129
83
426
344
15
543
833
792
342
521
837
313
366
416
295
272
246
399
189
688
6
151
889
302
151
519
667
93
445
561
955
200
383
523
547
16
631
414
586
28
923
939
985
303
115
723
472
111
437
57
105
709
943
540
20
525
401
666
887
903
670
271
622
735
343
776
828
679
572
417
638
424
856
817
890
411
150
378
211
75
331
783
9
598
547
91
817
269
812
684
863
646
241
804
871
357
719
948
433
781
547
426
827
547
943
783
222
5
840
389
105
680
622
531
850
954
533
190
803
434
61
81
269
666
522
166
453
41
232
728
738
100
671
922
809
645
748
767
564
863
755
228
699
752
140
130
37
369
103
193
453
821
342
192
268
947
728
653
231
15
443
414
701
63
954
299
814
79
468
885
920
28
293
953
364
538
797
493
60
948
338
281
249
643
775
64
351
799
422
203
269
767
408
21
202
382
385
67
447
640
330
741
430
28
366
190
630
88
399
786
282
991
211
396
579
892
773
765
652
983
726
851
212
420
106
477
768
562
147
417
321
258
854
486
412
406
610
0
285
173
46
172
468
892
560
744
258
586
245
109
450
849
653
553
671
790
309
458
132
465
82
514
707
152
760
622
655
938
534
501
172
820
837
133
773
682
281
109
168
223
483
154
675
627
526
236
546
9
496
319
651
232
423
482
875
10
725
915
547
936
266
291
709
349
502
408
11
152
903
749
377
104
683
277
98
224
623
259
64
771
982
658
225
722
301
457
356
680
999
305
42
61
474
868
115
520
121
266
722
952
489
272
580
706
578
835
464
36
629
779
449
816
315
670
295
556
568
120
295
104
82
316
413
78
237
428
195
254
992
508
305
233
914
928
481
860
606
508
16
154
187
839
531
77
463
940
987
226
978
626
98
701
766
362
266
753
573
376
621
619
926
502
715
327
822
843
994
875
550
11
629
365
433
617
723
692
489
708
836
482
412
162
962
799
365
699
441
599
105
72
232
504
116
840
766
330
545
921
440
267
163
192
112
263
261
790
149
617
698
315
508
420
866
122
7
972
992
36
538
765
890
466
486
544
368
309
975
807
858
459
929
939
711
503
714
907
30
148
668
453
855
710
815
346
405
909
352
667
8
518
461
935
922
975
734
823
859
879
253
15
791
649
405
200
613
481
905
615
713
42
89
886
16
69
807
671
131
989
203
85
997
595
183
356
457
620
514
19
884
352
767
88
623
628
905
30
202
151
666
98
180
228
509
641
797
799
604
431
992
207
799
172
832
786
887
374
264
800
54
264
154
715
316
437
237
447
717
223
572
392
772
967
549
505
86
441
336
501
574
32
729
655
657
338
480
985
316
442
354
60
28
142
938
39
904
449
842
88
233
388
664
595
200
645
692
275
634
356
864
415
523
651
435
878
718
495
888
191
324
854
765
49
300
730
832
64
824
868
457
891
927
302
337
206
966
223
853
989
437
124
169
617
188
581
280
711
198
668
549
367
774
606
657
262
910
372
696
370
634
42
367
819
508
720
861
346
797
748
417
90
602
614
733
187
694
27
926
275
144
329
703
541
748
49
588
366
4
625
858
665
981
596
398
652
667
441
710
286
819
661
510
998
188
674
400
642
321
993
330
778
876
737
364
937
796
797
111
770
643
594
769
676
132
719
341
531
670
384
525
944
223
118
766
485
998
773
337
751
817
558
739
755
420
992
70
753
963
177
243
511
800
233
965
98
269
148
58
12
300
971
882
397
430
193
351
895
432
842
391
117
4
112
887
608
981
487
371
549
738
374
54
392
399
316
510
167
719
822
813
306
409
586
524
55
783
380
10
40
833
173
675
344
985
150
882
243
660
766
98
57
932
898
592
376
902
508
817
544
683
192
809
61
550
582
139
793
761
366
36
3
819
386
172
839
49
109
93
17
580
938
758
478
979
470
482
926
784
314
776
468
837
918
542
278
718
401
52
437
68
168
810
42
380
563
50
127
926
633
905
828
400
495
316
120
513
355
815
83
73
13
613
218
999
662
470
976
150
434
348
253
9
640
640
921
630
50
854
855
865
83
340
393
432
343
759
44
474
911
374
336
892
878
811
549
54
741
610
601
362
515
743
88
860
391
884
564
287
982
71
604
162
161
944
765
997
600
979
261
493
224
811
774
488
171
198
580
390
0
634
168
485
976
652
433
105
249
130
4
487
848
724
701
103
414
893
82
851
193
71
766
767
944
795
942
706
191
313
201
980
518
524
898
612
510
565
364
512
27
177
521
378
313
658
296
82
380
796
249
477
38
590
455
436
579
795
517
606
681
926
342
787
489
793
989
145
260
421
760
558
847
439
569
769
5
217
523
637
77
886
281
45
702
404
439
168
559
716
604
317
853
760
283
862
404
823
58
363
699
853
536
89
804
617
421
816
394
107
616
856
160
395
791
391
302
340
215
175
821
358
767
510
492
917
646
384
19
411
942
833
950
295
979
854
747
222
587
904
166
715
159
295
177
883
602
816
31
910
489
755
995
288
27
669
988
560
20
125
345
473
329
744
458
755
748
499
105
535
593
304
662
763
108
171
719
716
123
396
60
940
439
783
727
540
993
837
333
418
958
614
930
654
423
431
829
711
907
359
492
598
707
917
806
206
142
283
359
878
274
960
60
133
644
486
455
906
634
325
505
994
796
166
76
595
871
315
523
238
851
570
652
879
624
324
237
743
835
626
680
450
35
603
107
332
953
967
956
134
856
127
831
256
152
455
923
68
555
578
148
373
397
878
926
384
906
954
539
909
900
353
147
508
93
183
332
89
968
583
604
715
445
412
221
780
6
344
513
996
781
431
439
695
295
961
618
348
686
995
659
301
490
730
693
680
60
739
825
356
380
794
409
689
536
990
466
863
824
347
483
816
643
739
857
406
423
444
747
348
434
821
894
433
175
562
58
491
42
688
702
16
326
520
992
514
379
105
246
536
21
876
87
752
102
145
377
164
791
760
628
829
217
897
614
754
728
14
295
206
539
500
843
825
831
816
454
361
218
399
238
990
934
224
655
165
228
418
64
914
777
42
425
962
251
581
16
371
452
517
617
524
206
247
158
555
191
711
36
715
937
568
451
753
446
958
808
936
388
387
468
64
170
153
688
969
1
588
401
326
417
793
296
387
91
98
914
409
336
685
842
760
736
114
950
717
493
981
902
955
965
240
293
715
103
649
848
936
758
339
982
743
624
591
968
368
189
394
872
78
469
440
267
603
157
624
566
670
697
757
374
391
373
661
810
755
745
100
683
0
998
333
688
658
976
180
63
606
449
871
678
320
546
451
442
823
578
342
164
601
899
846
968
106
657
844
604
488
693
608
107
762
858
837
95
518
793
369
656
996
170
481
354
578
967
608
899
575
622
923
761
470
913
979
930
864
118
646
10
564
929
403
354
184
646
15
647
388
846
116
231
727
112
720
990
956
238
81
738
255
332
116
530
452
357
507
915
119
917
854
644
391
734
829
969
897
882
267
342
972
530
274
197
482
222
526
644
229
723
88
333
887
892
288
405
877
412
802
381
882
744
766
313
991
299
211
695
989
941
604
303
273
814
994
980
86
381
429
830
804
44
117
753
160
458
248
869
3
681
445
462
351
794
617
911
196
825
944
292
360
64
75
268
412
166
763
29
703
54
600
594
642
807
476
817
946
515
785
873
486
753
826
248
662
39
467
909
294
12
652
471
171
846
593
873
858
231
151
34
312
806
969
471
537
103
703
255
810
636
282
767
130
821
102
294
325
785
176
159
901
177
935
401
243
459
491
752
827
418
499
593
336
923
573
669
561
920
498
612
626
27
714
538
679
969
778
576
711
593
515
998
985
81
236
395
554
150
648
173
699
580
574
634
654
554
807
498
315
441
501
543
948
903
609
689
60
401
427
814
408
411
656
604
500
223
468
710
154
588
577
292
157
481
351
461
320
554
857
549
598
867
98
378
264
902
112
430
931
223
35
805
62
207
223
740
474
627
438
679
560
768
357
404
166
704
187
934
632
506
343
83
101
717
649
368
380
763
503
659
829
846
600
111
282
900
201
94
754
187
138
102
745
441
32
369
557
752
180
287
756
660
711
495
131
911
782
996
583
173
659
478
919
280
581
119
981
55
955
501
52
270
696
659
843
755
171
186
199
943
722
99
427
610
847
811
246
299
953
47
20
284
14
393
799
459
658
480
383
217
49
970
498
996
498
803
685
557
915
983
248
764
693
686
918
245
207
524
169
764
686
663
819
146
67
748
733
785
477
696
207
864
423
847
848
337
495
418
320
497
444
895
795
760
974
620
825
451
516
726
422
556
577
229
277
242
303
924
436
474
605
637
332
420
643
45
263
460
761
876
161
256
18
900
425
962
419
933
230
328
260
496
153
887
513
68
577
366
362
718
340
723
992
237
554
571
753
70
294
545
485
259
384
231
63
604
707
701
593
666
577
173
423
279
853
468
116
425
787
486
293
975
183
767
713
883
62
57
477
623
95
878
450
538
503
956
465
232
730
766
925
694
704
861
9
396
236
420
98
764
128
583
166
232
334
789
536
920
510
478
262
611
58
84
39
367
481
910
221
660
212
244
254
736
435
355
751
6
366
166
840
818
142
903
70
208
680
217
73
669
696
676
555
175
922
607
684
723
899
237
581
768
910
43
522
641
145
545
657
807
775
229
640
848
855
178
41
735
95
217
122
817
497
909
737
865
984
749
107
32
63
713
668
209
647
918
273
772
774
790
354
632
217
138
894
26
212
499
266
273
92
684
47
172
882
374
874
161
938
882
616
9
572
54
162
753
180
53
83
730
444
2
77
907
960
572
211
254
395
841
828
963
775
238
961
261
731
295
374
359
711
875
634
944
299
318
282
124
957
734
872
237
269
938
888
734
415
562
120
335
493
525
731
968
550
133
562
395
846
183
602
190
439
839
865
937
134
959
892
218
646
558
915
952
904
926
716
395
964
163
471
527
169
816
918
98
950
810
181
545
175
473
542
4
106
30
968
665
276
947
96
178
243
583
59
529
484
957
771
490
839
800
177
431
815
573
990
878
282
188
149
437
724
918
783
414
626
6
52
26
929
774
606
374
232
135
925
307
617
116
360
619
826
988
274
530
600
103
36
16
498
690
814
725
629
347
622
383
546
937
255
412
86
598
300
768
355
995
368
92
320
394
497
197
737
989
853
47
590
863
627
443
339
122
715
26
99
231
673
515
125
331
415
157
564
309
862
834
599
918
540
87
126
516
687
655
152
737
37
197
866
393
358
152
983
460
231
872
724
183
633
656
27
454
437
446
473
148
437
374
803
335
455
337
714
383
23
679
470
380
449
861
786
115
18
586
981
201
442
667
453
566
636
970
178
410
740
138
339
964
230
284
97
650
947
37
798
869
446
397
414
254
500
706
710
79
677
934
44
29
168
353
77
592
787
201
921
291
556
740
758
580
384
403
346
773
635
142
703
287
361
458
680
45
201
819
690
153
871
777
733
580
128
725
550
794
572
290
76
915
688
32
546
154
725
239
510
209
164
628
132
9
931
843
286
231
716
721
262
343
422
385
83
405
721
449
387
987
322
203
198
734
828
450
334
930
965
503
869
542
36
861
132
454
137
606
87
503
847
804
689
317
901
763
309
489
755
136
881
993
643
575
101
991
817
33
545
745
563
218
672
167
922
668
587
378
344
632
943
304
787
298
801
652
589
289
570
367
201
923
405
869
951
543
924
676
114
970
477
500
630
790
736
153
136
742
84
363
534
315
655
371
125
526
397
807
700
962
989
955
874
329
716
439
73
235
186
573
602
902
430
746
123
658
416
538
20
814
834
904
883
953
457
410
295
914
966
111
575
505
296
5
913
633
633
484
827
352
599
6
144
363
598
245
351
339
577
252
630
323
727
154
215
826
322
49
3
406
831
136
733
977
932
132
255
507
765
64
791
672
900
156
590
321
514
976
410
830
228
117
0
988
418
483
926
28
634
278
407
244
636
941
849
603
100
403
939
167
185
270
85
870
925
720
126
434
294
187
921
356
928
45
940
62
695
487
178
970
110
37
963
506
932
912
777
610
972
448
325
355
80
668
188
919
95
810
996
41
154
437
351
112
836
951
511
911
291
908
303
509
233
438
449
735
430
307
288
341
541
336
749
917
646
686
474
161
287
373
938
712
688
556
827
938
156
738
743
955
748
215
608
910
411
790
970
319
503
419
72
576
519
994
781
89
588
59
693
315
331
848
476
915
429
8
430
891
378
384
638
802
338
295
93
438
296
523
644
235
272
623
561
360
178
122
387
851
693
415
797
631
451
361
302
394
361
943
172
571
717
752
143
349
640
759
768
211
436
661
183
421
772
510
173
992
708
677
343
398
900
398
211
413
620
694
552
317
433
960
968
979
271
639
126
248
569
2
527
594
941
486
400
501
589
596
376
379
766
871
150
961
332
497
943
987
15
414
368
744
443
928
453
94
237
345
832
337
519
834
381
686
920
279
142
705
229
888
255
444
341
969
673
32
235
44
702
888
985
323
997
784
767
95
169
775
600
736
770
912
103
259
974
391
225
239
133
22
493
701
979
556
364
337
881
516
190
543
194
11
362
636
5
610
976
244
61
486
710
894
170
969
691
429
763
16
974
833
194
363
220
240
208
906
755
650
653
922
872
169
911
870
449
760
112
644
609
233
812
464
134
276
241
49
608
480
138
839
20
979
680
789
675
527
824
410
792
849
165
535
736
254
212
488
611
395
92
982
142
648
449
708
848
368
87
617
992
78
776
647
128
199
420
722
894
816
526
439
282
748
400
360
193
65
632
427
552
673
339
949
206
573
36
512
539
220
377
599
587
692
306
861
212
733
5
710
526
30
632
207
390
176
581
396
480
668
501
503
171
551
757
162
773
62
265
349
331
170
353
193
200
234
644
193
411
678
403
654
800
103
655
276
934
369
389
599
140
486
777
577
9
885
850
657
675
611
176
653
799
802
887
526
771
573
28
632
692
855
460
836
859
275
666
123
141
847
593
307
785
603
905
504
515
445
872
166
628
453
253
183
424
145
19
287
320
794
489
778
325
905
31
571
261
671
692
558
974
162
319
169
516
753
199
214
148
532
244
735
326
492
596
837
949
169
525
844
207
137
125
972
648
785
8
563
814
867
116
298
739
965
463
440
133
99
331
490
347
860
157
985
622
386
816
270
648
902
827
633
41
433
378
72
92
769
604
919
56
135
321
528
442
818
985
450
411
51
68
841
241
324
804
941
808
346
349
574
794
442
76
348
57
598
171
406
574
336
617
213
707
799
127
269
931
235
379
773
149
875
448
145
157
754
402
842
725
29
314
915
165
891
34
369
940
704
199
964
774
426
880
569
751
197
213
844
155
773
387
450
889
538
40
300
138
48
277
366
873
902
489
29
725
164
688
262
664
976
165
494
235
554
816
928
308
50
732
394
46
756
407
294
481
809
56
221
232
17
934
226
650
404
211
54
274
641
406
797
657
237
869
827
553
105
425
967
659
854
252
950
350
337
307
467
453
518
178
64
901
964
57
197
571
421
869
314
749
58
738
763
36
759
455
47
725
974
166
349
974
234
636
145
932
62
979
227
506
332
886
903
777
665
19
225
645
96
480
704
146
311
950
172
87
210
94
206
598
153
163
715
91
762
865
286
363
686
177
122
410
707
970
469
231
606
42
434
132
843
418
117
206
332
419
376
178
1
652
96
926
73
991
611
102
968
329
1
926
41
676
535
799
386
452
537
813
847
699
442
232
707
749
579
642
871
259
399
621
345
558
127
949
562
840
338
431
732
419
563
635
354
107
942
877
460
56
740
149
277
237
445
654
221
26
230
3
840
676
993
398
28
376
959
540
272
481
832
145
6
799
657
623
310
615
781
183
358
526
903
845
722
899
644
447
759
887
526
844
830
77
894
805
154
753
208
906
789
633
590
303
324
20
750
894
662
777
626
536
57
158
265
898
412
661
984
544
477
134
126
886
863
349
699
696
533
729
715
926
374
291
479
598
31
921
719
669
211
885
188
631
37
455
235
789
988
136
522
334
188
737
719
466
348
318
612
393
133
223
527
695
187
559
910
821
81
113
408
926
809
238
608
977
952
536
243
122
353
343
64
337
397
990
448
677
538
963
8
747
195
827
274
876
471
476
168
516
237
155
430
361
534
64
736
193
217
935
138
85
393
193
122
152
149
865
599
490
162
881
900
584
988
729
567
783
837
481
802
78
185
959
463
86
502
125
604
109
451
17
195
362
631
390
656
925
287
952
103
545
20
266
866
379
735
762
782
323
0
681
380
629
904
364
586
865
680
163
128
295
502
575
290
495
481
704
725
380
300
72
331
345
514
64
882
708
382
1
246
998
646
724
204
44
292
427
466
841
17
550
860
792
232
346
550
819
679
552
743
473
7
39
388
152
380
955
900
558
519
940
702
214
476
978
903
398
454
252
468
867
664
415
230
666
616
474
169
106
594
562
769
808
250
606
100
20
698
83
970
757
543
261
613
221
545
517
492
333
844
799
533
507
549
39
909
304
787
986
661
797
60
913
128
955
677
671
925
245
955
122
564
29
573
775
901
540
437
305
669
90
581
624
376
112
170
564
928
795
808
607
678
526
457
832
347
748
316
698
687
251
404
222
981
709
785
234
510
523
531
270
387
804
751
27
933
514
244
630
365
843
308
595
162
820
455
698
259
446
72
167
218
506
612
701
173
802
662
392
366
200
110
828
22
85
132
675
526
696
397
605
273
571
305
966
208
540
140
771
347
341
533
399
269
571
367
189
75
365
366
578
291
665
749
407
619
678
448
589
59
980
158
171
871
680
452
742
800
231
237
332
242
448
21
837
850
360
448
304
938
917
9
963
298
890
627
336
263
339
703
63
624
703
583
833
976
994
342
783
192
3
82
834
990
55
9
965
534
669
96
187
131
877
44
864
406
681
285
462
124
325
177
67
150
599
964
738
106
451
720
478
885
111
980
371
750
288
113
663
825
984
395
165
38
362
484
177
898
689
281
846
485
631
986
520
834
140
813
671
381
882
107
456
166
175
328
50
639
944
922
297
321
590
557
128
3
217
460
663
241
472
445
607
573
444
845
163
205
986
277
943
851
739
9
553
564
199
798
672
882
569
630
764
519
745
757
438
361
953
227
604
670
338
529
527
158
577
801
445
441
906
660
183
683
143
967
699
244
289
930
37
706
554
441
452
520
668
980
156
805
147
910
823
245
621
758
19
815
388
583
567
270
991
748
654
384
897
829
707
578
269
850
194
610
841
320
852
72
792
82
580
389
23
312
372
240
561
156
550
473
495
416
582
233
31
468
860
471
344
914
116
692
908
132
15
905
847
321
755
924
85
236
138
265
357
704
941
6
298
727
97
539
362
593
812
201
706
245
488
733
566
723
20
71
982
951
571
881
703
860
774
409
239
522
981
310
242
353
349
651
529
708
137
621
20
777
652
39
260
898
278
865
575
476
667
617
277
288
164
383
545
443
651
537
59
59
614
397
990
182
167
308
787
438
423
656
589
212
593
387
134
188
17
331
231
345
37
243
961
332
375
240
443
117
947
629
267
814
838
278
631
287
397
778
407
596
488
533
802
614
437
70
92
699
929
953
818
239
534
98
7
587
720
841
46
275
883
76
166
943
868
789
187
270
725
491
183
415
761
939
596
101
46
405
812
861
256
372
348
199
868
237
777
432
966
333
418
658
198
719
203
784
504
208
826
326
955
343
866
674
193
648
495
920
495
51
944
81
206
77
42
188
895
715
154
859
427
195
410
211
622
498
440
231
857
435
910
274
677
504
832
973
712
650
346
362
154
52
434
157
404
931
880
477
643
980
117
746
165
248
21
807
758
632
719
616
280
393
853
473
260
467
448
143
367
966
570
434
880
795
734
791
694
977
414
362
853
58
150
914
371
300
81
184
726
813
258
938
22
473
512
711
104
489
206
625
968
291
254
981
91
708
897
682
762
776
662
26
864
54
449
305
552
79
303
343
439
196
859
804
471
16
612
619
11
787
380
656
423
366
100
619
739
630
218
977
608
809
978
609
264
283
455
697
135
309
223
278
476
797
549
437
355
988
490
80
752
22
942
594
183
167
718
364
177
721
637
205
806
162
573
378
474
949
301
260
101
904
436
888
22
503
305
632
962
826
284
228
414
844
381
303
423
886
528
505
969
133
285
295
327
217
202
933
288
926
227
226
307
694
32
243
394
561
189
848
578
424
381
276
961
368
135
684
452
612
842
882
825
319
700
56
561
853
680
356
161
963
698
419
384
119
65
641
276
751
646
702
847
795
59
95
13
77
407
476
848
642
598
46
717
972
42
245
430
404
983
529
569
676
784
296
549
663
603
459
962
67
560
355
773
124
990
892
350
431
501
696
38
722
822
77
683
916
398
652
812
55
866
45
38
525
356
34
279
246
279
552
735
16
717
461
978
899
612
949
84
487
501
516
373
311
603
992
624
913
663
60
138
469
282
396
461
859
694
954
509
498
569
622
10
135
447
210
984
806
969
975
153
552
333
33
472
769
456
924
589
558
648
857
332
964
330
138
452
376
879
498
740
10
587
372
77
501
582
107
803
815
976
830
843
540
27
578
114
530
219
160
281
981
427
608
781
93
397
361
729
828
105
623
350
737
34
681
992
42
931
682
151
143
582
513
928
529
678
919
336
217
189
88
285
308
488
387
674
200
675
904
908
27
46
438
544
81
142
117
548
273
539
589
764
179
507
303
585
375
248
17
797
649
946
93
14
644
95
407
872
252
981
640
135
22
961
127
932
557
995
859
532
223
498
695
465
178
578
580
488
788
670
493
685
247
816
977
6
630
934
584
89
760
594
35
923
856
378
472
500
312
270
938
929
334
118
549
888
29
602
191
653
298
580
606
597
112
713
850
966
69
784
897
328
179
987
555
789
891
29
53
525
500
274
607
604
751
311
715
861
783
741
198
325
586
485
780
40
391
383
253
21
285
3
409
640
224
359
811
67
156
70
426
207
818
558
987
822
675
476
605
423
722
267
521
839
285
409
745
941
13
823
265
614
318
638
632
522
880
940
369
450
93
903
35
109
101
872
262
981
4
439
105
850
902
865
914
686
564
232
216
129
152
470
585
211
740
768
862
271
24
575
265
55
331
607
193
219
844
58
629
402
944
776
243
833
104
324
181
289
541
966
556
195
26
176
284
565
172
356
128
454
211
270
71
75
297
425
118
357
120
421
459
378
845
341
816
83
531
300
819
855
116
997
559
467
495
302
753
485
948
187
261
263
170
509
628
343
476
583
749
785
783
923
774
155
385
28
918
273
36
744
497
715
877
132
961
540
512
951
244
964
37
843
480
299
141
586
921
976
545
963
974
445
68
588
673
84
945
669
141
681
542
592
751
106
46
484
149
573
343
193
579
257
846
864
780
717
709
706
886
952
648
713
930
401
840
431
290
807
826
638
887
878
101
589
510
914
150
325
717
287
348
233
414
906
418
343
968
90
366
697
773
556
277
980
343
119
584
427
363
447
386
793
410
211
117
268
387
626
313
497
407
754
321
160
853
707
996
356
850
609
375
519
813
44
563
966
762
850
29
933
192
554
659
936
866
34
108
246
75
353
78
672
83
560
513
512
922
599
814
36
33
534
959
558
967
750
46
220
532
877
552
457
482
910
552
575
566
689
111
281
393
548
847
333
787
570
73
724
926
202
631
810
722
349
623
171
352
644
778
529
642
250
973
442
139
573
477
385
857
119
331
292
222
499
250
405
754
443
283
889
797
28
591
527
30
987
899
380
657
936
380
13
80
15
446
409
320
235
712
901
635
794
275
970
582
244
218
935
435
116
306
154
761
605
235
689
141
738
115
767
918
198
490
74
926
773
1
407
400
727
647
388
95
837
515
32
879
915
345
227
73
461
9
754
631
598
784
438
845
920
227
330
389
369
201
50
800
947
437
900
224
574
350
726
199
397
647
518
241
208
251
859
968
91
983
913
606
181
187
687
887
312
831
674
701
718
808
883
108
227
705
995
594
157
335
709
61
914
243
740
25
183
690
786
326
630
558
55
994
596
999
834
94
987
551
69
381
273
896
520
429
667
804
667
31
27
690
205
117
362
741
232
481
478
570
554
397
345
106
586
447
329
479
906
94
308
988
530
278
420
988
486
313
562
752
806
96
412
184
341
616
339
735
14
263
747
396
112
659
267
324
300
661
134
736
137
647
499
109
799
699
887
555
877
654
295
553
805
168
224
891
206
596
670
846
198
110
118
543
703
460
163
738
896
720
459
836
574
842
116
840
502
345
729
48
347
478
192
544
652
163
41
984
654
120
930
788
831
311
414
625
357
466
278
867
810
852
609
73
242
137
712
811
206
533
449
465
41
917
261
477
911
360
104
977
972
195
60
9
918
143
876
320
808
81
51
387
769
643
947
761
619
629
990
870
488
799
297
83
739
913
526
363
175
740
52
200
867
871
619
830
516
271
169
143
254
945
965
431
731
519
23
977
301
925
823
174
883
576
48
830
67
371
784
509
305
729
613
656
289
694
38
623
334
638
929
525
844
849
422
331
301
907
259
290
638
586
545
282
169
604
284
799
675
29
520
604
718
526
84
769
636
531
842
568
532
423
645
678
58
563
130
358
168
843
976
667
165
392
831
359
843
879
867
440
632
318
707
441
841
228
377
599
23
129
695
318
112
228
641
763
218
37
242
10
321
349
586
309
725
634
875
929
220
158
273
73
900
257
37
476
454
243
516
650
153
129
975
1
561
497
371
650
354
673
531
246
800
913
11
36
801
139
363
281
745
223
45
298
745
204
272
510
964
512
129
131
909
350
806
902
566
445
597
162
449
836
920
44
384
226
474
858
27
74
79
491
425
908
380
334
122
400
561
759
947
185
176
811
855
92
576
71
57
993
315
646
581
119
149
952
365
306
765
395
623
213
86
880
32
393
365
710
812
273
476
588
446
885
676
56
609
747
345
727
18
841
884
896
654
516
810
165
245
841
592
593
358
353
222
403
606
528
67
8
274
187
685
433
590
435
585
275
859
933
442
861
682
236
408
884
649
914
840
585
351
164
784
542
312
717
268
548
478
839
554
83
719
923
795
836
877
934
641
91
658
644
284
122
270
393
126
363
994
316
190
375
115
234
685
904
173
614
244
432
459
630
739
483
362
32
493
949
241
947
578
576
597
2
165
508
226
402
582
810
202
741
950
686
307
897
281
345
290
60
689
647
590
842
818
370
579
416
261
918
601
153
127
157
116
702
997
658
516
561
389
337
458
290
700
55
236
476
657
378
907
491
609
999
280
875
587
689
349
584
793
451
740
628
354
870
444
98
648
934
849
722
874
525
47
418
450
698
408
95
17
681
420
514
574
403
958
658
209
426
826
643
276
558
253
983
279
138
214
268
882
257
111
496
320
528
694
200
136
119
494
545
129
307
127
609
280
599
634
493
154
858
227
895
447
75
390
648
235
10
212
352
350
972
763
15
761
74
440
26
490
211
219
432
257
203
985
23
622
725
176
33
672
67
319
753
705
614
7
731
284
873
738
943
717
495
594
681
848
285
59
504
557
607
464
792
34
230
323
626
136
290
28
485
195
509
194
43
141
910
700
216
549
319
201
757
750
855
632
945
545
523
763
433
669
853
317
443
142
779
913
903
169
561
375
377
319
375
323
710
146
567
153
869
540
413
359
520
292
813
932
375
871
199
223
436
346
348
913
150
484
975
218
70
538
369
207
139
456
592
619
732
545
122
761
5
768
623
493
609
282
597
662
386
298
171
692
465
29
776
849
295
252
861
127
37
318
163
69
973
180
237
322
422
954
447
184
191
339
635
843
323
172
179
70
180
364
466
84
99
580
104
147
464
218
291
16
159
438
25
13
420
263
140
18
756
433
990
224
504
328
577
402
623
837
323
223
456
479
861
125
238
410
443
447
850
31
114
114
637
674
84
725
858
668
129
425
399
654
410
327
577
890
493
364
167
376
967
273
912
383
646
551
676
380
493
270
818
611
284
166
409
191
618
883
593
57
92
672
562
450
355
612
268
784
154
275
85
792
918
621
603
223
121
188
845
135
784
403
932
873
898
366
876
323
959
568
894
34
231
704
614
885
649
423
497
729
738
28
158
913
781
81
734
605
35
983
105
355
358
152
136
233
749
603
712
975
546
371
642
661
239
874
183
665
290
98
999
33
983
587
758
917
595
663
345
971
826
228
188
245
272
951
34
295
246
844
396
470
458
427
696
858
83
213
452
311
496
871
373
225
141
811
184
92
524
768
5
725
457
540
272
74
449
435
149
45
790
689
331
274
715
228
386
46
317
509
209
398
992
816
371
420
921
379
183
742
365
668
517
853
220
457
264
877
870
756
264
443
104
293
183
293
427
476
61
484
494
392
722
243
201
295
344
22
90
512
377
214
380
633
450
533
596
961
336
177
643
411
864
467
164
388
398
799
938
351
576
179
809
149
101
2
100
799
941
205
909
799
354
513
884
651
832
957
428
969
720
274
835
74
11
163
755
590
991
86
500
228
156
735
794
223
661
387
358
872
935
800
249
778
677
380
928
24
480
792
995
828
348
854
379
27
85
590
830
214
420
250
909
676
407
848
592
980
499
420
985
93
74
81
267
656
643
43
92
96
732
332
348
604
257
119
652
69
654
377
789
468
615
152
896
925
702
246
281
109
21
832
522
992
865
307
561
864
363
18
750
312
863
895
414
806
79
679
711
571
841
142
699
518
856
599
681
484
419
541
306
99
477
888
353
759
22
956
100
314
505
54
415
968
712
40
890
993
884
149
176
244
527
113
520
637
842
196
625
887
946
908
151
294
40
417
478
251
514
299
53
935
782
824
41
777
221
937
922
179
393
947
219
465
760
906
434
542
836
71
761
456
183
996
280
386
478
498
326
625
837
801
490
827
860
605
937
654
75
369
920
684
276
962
970
788
190
910
47
365
396
532
560
502
712
49
575
829
624
921
482
266
533
921
503
555
74
819
171
798
46
173
843
942
497
375
85
113
684
622
334
775
300
547
395
361
316
284
15
394
910
296
462
913
401
89
502
916
425
939
12
239
901
716
501
780
678
988
19
525
893
688
796
244
628
803
501
483
71
507
860
953
295
356
232
10
979
225
211
703
731
524
583
971
374
400
606
979
977
913
734
866
845
13
113
773
605
383
671
244
366
963
962
40
606
283
390
432
598
40
513
918
740
336
515
641
259
546
295
540
115
795
383
317
680
603
830
974
702
564
169
777
221
499
332
541
14
245
545
697
894
398
938
873
345
902
499
157
991
398
490
687
307
815
979
343
354
512
475
197
963
844
31
138
865
303
223
694
546
778
423
888
957
515
383
245
940
220
930
864
708
272
98
123
940
273
997
198
233
182
395
478
797
188
21
716
3
204
818
485
200
728
545
867
698
232
164
234
914
441
857
289
272
91
548
286
442
835
787
624
841
296
293
262
524
287
843
633
635
286
486
757
184
222
531
998
147
909
585
219
941
88
44
269
287
366
909
711
298
585
805
424
352
411
415
855
836
224
453
434
229
433
992
143
776
957
780
72
304
387
654
506
533
295
553
428
432
685
961
261
799
717
479
765
717
317
580
664
228
696
755
825
884
902
782
40
467
133
430
425
591
776
651
919
138
23
712
837
657
659
873
516
685
122
849
848
913
17
918
237
829
412
358
933
309
612
392
198
181
464
832
208
650
477
258
346
772
858
986
746
613
723
837
321
410
881
319
8
887
547
727
487
10
900
430
176
586
825
298
782
473
999
894
892
230
702
647
800
935
601
972
491
302
468
469
629
103
756
301
421
403
329
776
837
107
694
560
554
77
287
703
441
45
160
964
108
179
468
795
922
608
175
426
747
289
970
328
878
486
302
708
68
794
833
307
859
214
496
648
853
330
201
752
657
708
556
461
652
823
822
0
393
880
142
776
769
873
540
205
96
710
676
557
952
794
982
695
338
542
384
27
828
980
227
396
387
147
397
493
852
429
372
980
132
138
568
834
706
872
922
852
115
905
163
991
944
514
789
161
821
104
631
51
302
859
905
755
515
25
827
290
66
28
613
14
901
491
214
178
499
972
445
971
568
94
745
778
981
943
781
890
928
559
783
600
39
759
307
527
956
515
404
576
556
937
108
860
553
841
776
834
700
870
494
170
994
46
770
332
723
50
577
740
84
801
780
185
502
73
512
285
945
800
994
775
61
936
611
43
778
164
210
122
373
889
136
174
307
948
655
757
491
943
27
193
153
30
963
961
8
929
69
769
205
266
440
85
538
304
7
592
106
239
983
63
86
870
885
85
387
541
900
161
8
146
428
661
25
78
129
913
383
911
750
799
887
175
713
963
810
329
462
239
781
365
41
360
548
809
593
337
186
368
325
267
192
184
868
447
219
354
406
474
368
41
231
564
103
888
641
397
197
311
431
732
916
278
886
620
332
767
260
365
395
928
538
908
849
414
200
471
731
860
113
327
277
5
600
372
696
903
738
574
491
936
554
271
893
892
273
182
736
301
938
914
598
579
797
914
927
629
102
247
548
857
995
375
905
634
971
469
126
161
729
263
430
258
68
219
459
632
760
39
110
945
784
444
824
13
62
569
267
209
520
522
934
811
571
340
539
462
162
483
879
175
694
736
305
31
741
204
310
530
36
779
267
141
304
222
578
397
297
425
829
745
495
600
620
737
205
164
686
277
732
828
450
963
398
593
484
224
459
69
244
10
447
974
680
477
756
825
379
751
438
716
154
32
900
306
782
7
443
503
310
286
665
361
567
48
98
775
918
431
940
189
542
48
215
901
246
514
537
639
243
305
223
298
76
501
225
837
526
181
263
246
49
314
772
456
616
962
309
14
976
653
473
154
672
488
154
648
961
89
196
751
807
921
427
83
195
220
643
351
20
395
889
495
661
961
670
850
655
122
894
930
686
985
492
731
756
130
263
625
383
210
198
586
584
872
757
963
631
395
486
419
58
639
172
261
506
322
502
91
561
129
792
18
324
921
489
995
153
666
546
864
35
641
905
271
424
955
218
908
349
826
657
722
927
863
674
530
733
859
236
781
792
248
492
735
182
315
923
349
46
320
738
944
325
187
401
182
230
429
258
605
129
619
375
634
326
87
482
472
969
433
506
674
773
813
308
801
788
957
996
351
746
570
99
64
294
492
550
216
163
432
735
56
890
609
862
401
721
939
479
577
437
726
914
929
586
844
185
144
300
393
584
346
343
65
340
84
647
983
523
454
446
117
922
573
324
204
819
630
650
532
489
458
48
786
268
574
35
239
665
980
636
907
942
709
764
158
957
103
45
82
97
560
382
287
912
76
319
65
403
386
795
316
823
250
540
387
734
937
401
848
461
798
684
184
775
879
32
613
127
437
109
461
867
293
303
646
120
923
720
552
505
895
137
877
874
905
356
130
783
578
597
283
478
44
51
943
236
982
632
137
594
865
144
546
395
581
989
913
674
174
586
898
380
509
550
43
787
424
445
937
730
386
349
220
685
428
928
768
656
657
982
363
428
702
538
513
62
897
685
206
717
169
678
69
544
184
652
901
31
322
623
88
405
761
397
301
598
771
59
677
285
898
437
223
990
974
653
112
863
183
377
272
238
509
330
461
828
208
930
164
240
687
174
760
585
262
146
728
294
941
76
422
653
681
979
323
723
319
228
359
476
660
144
833
902
314
448
81
747
823
605
621
235
297
447
913
975
217
578
114
295
304
122
192
185
59
354
3
157
950
384
527
24
763
295
594
240
433
516
614
27
388
996
502
856
887
176
101
859
666
816
273
955
262
104
270
787
994
611
473
378
47
286
246
578
138
642
179
424
211
59
12
203
988
430
161
787
957
863
722
399
798
905
179
379
445
893
905
159
490
44
456
653
890
145
573
604
745
673
840
513
42
566
795
909
191
359
326
98
696
550
993
685
427
422
325
617
460
984
514
824
356
374
966
508
399
970
723
989
358
109
39
505
10
290
876
272
17
736
37
93
870
550
3
916
564
794
451
356
297
535
823
301
953
233
204
271
813
975
663
663
952
429
394
929
352
880
686
144
128
317
488
386
724
278
423
939
160
125
262
494
882
720
405
282
637
311
35
203
62
277
650
634
396
551
703
77
685
40
289
506
817
465
352
390
909
517
445
379
415
86
194
550
493
906
3
15
343
52
678
142
919
590
778
758
159
138
536
417
815
826
648
477
656
335
379
157
360
258
516
711
46
978
488
756
854
968
697
392
154
182
642
765
105
170
1
901
444
817
417
965
645
159
126
863
995
421
146
321
104
446
55
807
133
740
927
107
448
852
51
676
90
296
658
392
375
284
621
187
489
140
161
98
11
202
155
758
152
439
429
916
968
312
269
550
297
269
161
918
510
630
76
98
380
185
671
137
593
409
652
351
69
553
869
156
279
35
334
938
300
726
978
387
202
463
584
792
646
128
342
137
245
927
822
92
974
709
503
224
126
752
525
47
788
936
152
796
180
949
769
197
500
720
22
275
559
512
48
643
562
608
571
363
653
952
22
321
900
416
626
392
520
186
855
934
756
958
337
622
559
895
316
982
51
147
992
666
879
544
936
599
334
559
241
421
949
69
434
676
879
90
517
152
444
950
216
843
957
977
917
865
557
209
122
561
556
665
321
62
355
972
32
567
60
789
604
690
648
965
514
377
509
490
524
672
647
49
336
300
125
164
738
69
641
977
312
817
820
116
262
858
447
372
770
113
135
494
372
171
345
945
801
104
948
939
749
863
780
581
377
850
373
766
411
359
852
618
859
248
715
202
285
850
857
182
67
645
610
423
111
611
763
260
99
271
666
789
949
665
819
738
713
52
388
755
991
601
473
575
767
669
96
210
6
109
628
426
568
98
975
542
41
918
71
704
991
979
755
755
168
946
684
995
242
925
95
59
704
651
458
773
341
443
798
719
697
823
956
390
239
668
62
337
536
413
304
934
892
948
17
955
304
602
385
250
427
660
961
343
388
596
976
215
834
856
334
261
536
555
970
347
928
555
452
933
172
274
629
75
735
47
370
682
542
665
935
941
315
607
808
748
808
963
303
749
343
933
660
379
293
642
676
373
279
307
663
308
419
781
541
660
271
751
849
806
625
711
534
394
893
315
171
114
166
542
9
644
652
986
598
199
45
985
572
55
192
56
895
604
944
269
372
742
859
629
239
96
366
896
235
247
580
848
604
699
52
582
932
147
281
562
758
952
818
297
675
316
139
9
834
845
184
705
885
404
651
824
126
521
576
212
48
355
100
886
922
958
303
397
590
40
107
245
515
260
249
494
226
373
971
541
537
760
272
946
835
214
56
988
357
660
938
400
332
713
167
582
845
358
169
891
378
773
608
289
829
362
304
291
266
616
437
328
558
678
210
890
808
318
840
719
931
610
165
799
300
467
855
960
905
92
52
626
825
119
101
684
733
861
586
783
728
742
158
832
580
304
223
902
396
868
679
437
818
63
947
514
609
429
303
749
744
872
380
669
671
563
59
102
922
812
911
607
157
564
786
165
958
375
427
315
596
119
629
74
791
807
533
818
683
70
859
519
900
837
541
797
793
92
604
83
973
142
652
992
132
159
553
561
356
915
959
954
385
537
529
513
257
975
790
15
774
180
220
680
251
535
879
694
950
937
679
630
74
530
819
196
539
348
0
653
178
336
930
274
364
893
730
943
68
68
450
386
759
527
753
203
525
200
677
196
509
515
797
400
427
194
660
489
504
856
388
200
213
686
383
245
268
453
231
845
840
752
220
285
690
473
64
649
512
191
975
119
352
523
69
244
369
313
909
635
380
522
672
221
615
766
126
674
422
545
395
440
568
995
792
172
416
639
379
172
842
757
962
968
11
304
179
916
740
880
188
590
562
648
945
662
619
241
323
453
288
51
288
992
174
353
64
217
516
492
823
190
651
478
196
254
139
675
503
829
260
331
494
387
166
187
479
643
142
84
725
778
72
109
548
810
920
650
725
9
858
554
355
892
56
285
884
511
226
631
918
661
338
464
683
30
701
102
22
45
781
551
697
612
666
946
448
463
827
773
795
408
309
488
236
199
544
476
228
908
932
777
875
223
417
954
475
230
680
232
546
571
368
132
896
281
439
573
806
999
758
965
500
573
306
704
942
446
839
407
376
443
345
15
222
690
526
584
77
736
590
558
322
534
244
585
348
278
303
969
76
222
868
256
235
46
374
537
157
104
977
766
500
623
313
633
373
583
967
945
229
71
224
137
137
133
700
222
484
630
952
914
822
712
967
468
107
206
435
615
310
874
482
7
238
834
520
970
330
118
185
267
300
416
109
208
212
39
698
347
179
481
852
627
320
21
961
325
563
362
601
767
503
212
88
32
391
839
996
157
770
203
622
383
404
476
811
736
537
197
19
199
654
824
908
782
600
474
681
101
679
574
803
590
852
672
742
402
260
995
815
866
564
997
814
499
490
61
416
192
476
810
926
815
416
900
76
118
682
564
647
848
3
379
667
510
862
8
333
405
15
472
362
37
954
845
418
765
356
292
48
841
971
828
572
638
295
938
309
286
489
805
2
722
433
879
458
978
39
776
264
572
229
124
337
632
84
560
754
317
267
625
58
155
938
90
798
796
588
790
75
870
281
873
87
855
296
572
922
359
288
31
892
950
578
649
692
34
600
82
985
638
981
79
374
149
968
348
169
226
272
357
24
939
239
553
76
883
450
688
434
673
634
622
233
876
742
52
446
67
801
142
327
840
946
955
723
199
726
940
74
291
114
904
730
70
827
859
706
903
269
209
776
625
821
651
45
26
575
449
425
535
213
962
173
453
782
545
569
827
402
203
674
583
271
767
89
3
366
252
818
318
127
679
682
780
748
684
607
496
876
819
79
755
299
759
229
705
243
940
724
700
410
491
817
280
548
658
942
60
334
142
572
767
734
18
282
351
108
758
893
495
614
296
915
314
121
159
611
561
797
31
334
204
461
968
818
107
408
996
812
680
184
256
813
880
196
839
339
843
291
889
955
280
904
546
660
48
633
8
808
24
721
969
611
878
679
434
259
603
13
808
29
793
547
87
377
717
160
407
463
959
649
420
186
156
397
124
93
639
832
584
186
511
292
902
382
122
876
138
587
415
121
125
521
214
705
16
300
493
878
798
383
738
878
62
80
299
658
31
235
318
794
317
56
465
732
869
692
12
863
604
657
157
520
261
551
796
694
399
754
972
432
379
295
695
474
80
416
222
791
826
622
985
233
798
719
366
205
799
573
859
332
77
258
659
9
957
656
181
303
765
161
262
897
590
93
670
47
891
532
240
718
503
815
149
236
673
446
202
934
790
157
465
883
72
731
935
581
151
258
944
386
920
383
627
136
620
419
822
465
608
896
173
446
809
940
902
886
538
146
582
124
857
857
579
81
643
186
962
369
716
522
210
654
677
945
390
290
879
959
452
802
619
91
189
202
677
123
446
534
744
731
44
251
85
633
740
473
705
6
338
719
373
439
113
972
694
90
26
294
794
233
677
79
801
201
102
590
228
272
992
568
73
594
224
172
646
352
360
580
374
474
428
518
553
45
8
352
639
450
63
763
72
871
56
815
533
999
705
211
88
753
856
987
369
778
519
649
599
665
114
145
126
400
487
202
290
902
231
494
454
747
949
273
536
985
440
747
978
615
702
994
166
447
814
92
999
706
158
828
977
486
972
427
204
647
530
999
169
984
66
365
983
133
175
140
858
253
217
696
831
926
282
301
616
706
561
323
326
313
850
388
604
86
821
421
57
373
75
257
466
835
349
293
430
325
427
126
919
38
299
717
64
153
107
665
903
190
171
874
97
602
142
710
751
772
612
766
392
280
151
525
846
887
245
731
909
36
905
800
520
489
258
7
208
862
768
534
195
367
763
42
587
459
113
65
879
270
480
694
431
839
662
85
570
123
340
336
592
977
855
937
895
597
797
132
333
840
327
185
844
821
251
405
927
253
930
455
443
798
197
124
836
712
729
203
823
184
654
391
264
40
646
390
619
581
442
557
651
864
157
48
657
479
88
583
903
902
167
36
812
745
871
800
432
397
716
588
404
492
622
722
448
497
278
16
873
195
171
181
17
626
709
397
430
483
349
774
307
60
777
816
388
581
489
650
172
748
750
48
813
28
548
7
279
72
530
775
679
591
602
891
23
413
299
501
108
759
258
634
358
475
956
199
386
138
101
4
92
190
816
770
478
445
435
254
799
764
562
140
133
586
263
710
888
114
741
929
858
76
388
118
122
629
139
234
271
582
865
848
974
155
263
27
856
285
39
482
410
264
818
976
765
810
636
94
170
243
777
143
349
752
145
62
602
662
935
162
935
293
43
305
384
288
318
343
734
880
304
74
567
492
31
729
921
338
464
350
696
831
296
465
830
355
248
401
733
123
187
973
662
563
229
350
432
387
181
732
450
769
292
602
374
940
854
827
623
157
633
71
66
458
484
370
270
942
891
700
181
294
295
103
756
868
641
21
748
209
364
240
57
4
295
599
958
662
322
908
922
556
217
826
396
710
551
409
605
580
119
285
206
81
114
550
580
588
490
536
344
20
665
484
999
42
975
871
832
651
910
558
466
645
193
591
231
750
82
883
74
248
280
89
67
353
63
565
284
960
242
191
277
94
189
869
580
5
119
856
626
547
599
739
234
29
819
731
307
791
717
612
4
280
502
520
750
954
879
710
219
594
957
945
142
458
912
102
412
736
789
377
456
5
372
244
801
432
555
988
980
626
199
430
268
58
476
901
166
785
248
126
497
281
779
672
153
168
235
839
808
825
655
603
745
721
337
236
363
466
316
464
433
93
733
114
648
753
327
69
693
280
394
874
928
330
379
503
909
717
147
571
14
559
845
387
495
517
602
140
714
21
922
615
502
781
185
117
855
174
24
606
601
981
730
280
392
274
187
567
867
148
385
215
818
389
202
368
420
759
223
27
660
559
714
64
312
796
821
261
761
77
268
899
48
266
92
224
868
567
300
489
216
710
807
406
378
441
352
326
650
171
758
127
483
360
135
79
712
615
768
74
918
647
345
963
153
794
180
23
536
442
285
378
299
633
410
102
885
115
398
750
435
751
504
933
260
494
591
811
836
499
342
880
724
791
492
270
765
744
160
782
933
704
87
108
778
966
176
975
199
16
946
342
278
883
580
972
577
671
115
56
750
612
381
520
13
13
413
146
869
717
764
691
620
142
463
288
264
380
322
422
856
601
234
676
283
296
805
124
437
815
638
517
375
45
474
816
948
262
76
414
949
580
904
493
811
950
201
299
823
918
187
258
371
622
911
509
976
216
875
746
455
129
38
813
972
67
215
286
629
120
119
955
117
717
143
836
117
79
918
211
661
344
479
693
83
45
581
14
569
225
487
318
977
728
875
929
75
238
348
835
618
343
693
324
159
13
296
114
268
370
725
132
707
819
680
391
207
466
388
520
908
192
763
910
753
661
63
580
899
493
768
635
36
883
392
681
991
654
558
441
881
308
896
534
158
363
723
293
90
456
43
838
594
87
414
165
252
518
238
798
741
784
334
650
294
297
220
739
678
472
837
913
974
854
550
690
54
488
112
264
427
180
611
216
810
377
807
663
243
909
340
160
408
385
481
458
227
881
540
485
561
401
7
797
193
32
481
514
635
365
351
894
968
874
370
993
898
900
249
975
203
77
692
200
108
21
111
769
287
251
351
344
176
73
352
795
728
56
946
681
961
848
14
182
331
494
206
691
517
771
699
657
568
594
952
320
529
314
144
569
450
358
527
545
57
503
822
412
741
376
822
551
636
923
607
67
183
79
539
60
160
807
285
983
635
144
107
90
83
95
363
733
57
45
60
717
294
751
535
982
815
577
91
152
369
842
972
148
816
612
191
235
477
874
756
902
947
57
281
995
852
916
319
342
415
604
362
873
41
513
270
424
289
311
721
25
496
339
914
118
588
288
302
146
376
266
384
406
995
459
459
725
778
548
216
2
328
663
82
173
503
994
756
898
576
926
439
698
997
156
634
968
969
68
334
39
897
581
51
495
923
764
490
168
810
341
513
975
3
680
912
22
173
908
735
447
716
533
387
3
10
932
300
116
434
781
62
103
699
602
124
804
146
389
133
677
84
59
280
573
889
99
3
443
979
224
490
523
488
663
831
939
581
86
651
112
490
148
132
722
724
503
594
592
674
746
50
893
930
680
569
562
895
993
888
859
51
602
291
853
783
435
145
696
533
966
815
213
47
956
33
392
347
710
452
66
15
351
723
603
443
609
428
679
151
18
996
369
665
607
556
68
547
809
159
124
740
208
970
676
280
490
185
582
278
258
378
673
626
35
395
263
753
864
315
636
657
407
708
134
967
929
177
314
458
898
82
868
765
678
120
171
311
572
435
387
989
935
11
426
13
552
862
982
293
43
468
772
114
744
88
841
874
802
636
433
360
226
759
259
739
345
950
938
760
162
859
682
231
318
262
892
817
918
473
808
907
153
75
422
508
457
575
294
98
236
717
868
619
452
8
936
164
464
44
455
968
571
670
982
61
284
749
393
665
579
114
296
819
996
832
652
657
544
516
126
187
147
963
386
267
648
885
940
657
90
989
33
960
168
196
630
745
986
228
446
491
43
347
320
576
251
295
403
777
608
168
146
56
5
755
354
54
951
646
836
907
672
266
480
695
282
757
372
893
872
199
625
124
318
647
574
227
841
378
503
653
988
875
375
355
507
592
221
772
395
970
553
9
179
324
75
835
996
952
814
615
497
176
940
623
515
557
537
762
819
670
612
180
716
395
373
231
633
761
556
96
721
107
633
765
36
274
903
441
770
136
363
733
277
870
818
329
384
942
777
114
720
651
239
403
710
830
870
902
60
934
59
299
285
182
225
581
733
800
894
491
918
34
433
242
306
58
271
873
877
1
91
555
61
619
412
448
275
965
754
25
740
635
865
993
75
243
521
738
130
636
135
973
528
930
137
358
225
240
557
408
351
599
538
738
221
455
830
337
822
218
29
327
18
186
152
387
796
745
371
273
461
189
75
90
644
954
629
669
966
469
404
279
704
536
206
373
396
818
306
409
638
855
796
259
412
381
50
717
134
14
546
540
468
418
810
169
306
638
637
723
169
555
216
275
896
299
96
701
571
381
893
762
74
338
233
282
741
244
535
392
121
596
345
450
150
993
799
783
870
403
347
140
868
399
384
93
889
868
783
247
921
443
490
457
564
178
623
504
978
906
240
487
183
710
40
273
803
819
361
651
588
337
47
100
95
83
133
105
820
0
224
410
143
487
299
9
235
906
104
745
659
972
122
937
5
138
380
883
634
988
722
839
535
857
829
13
748
362
347
216
360
766
953
122
369
16
304
516
374
253
968
858
972
272
27
992
34
789
543
187
898
34
6
49
746
965
666
101
888
453
144
839
779
296
402
162
20
827
487
324
560
689
490
195
716
153
297
623
641
83
178
249
974
365
377
77
551
890
624
311
790
806
66
576
288
495
821
829
922
32
78
119
324
749
393
67
903
539
552
109
548
20
514
653
693
390
780
233
897
200
189
717
244
544
172
505
569
405
619
690
149
627
712
521
388
871
837
952
270
242
680
338
305
149
501
410
357
548
881
907
447
708
650
366
101
159
557
417
88
904
878
311
654
671
586
127
741
77
564
833
466
870
413
912
995
966
791
997
511
239
5
25
323
964
68
528
763
544
640
991
105
716
757
784
712
293
717
314
380
479
118
927
389
657
225
896
973
172
511
172
421
480
995
771
776
249
156
839
729
129
945
262
931
801
373
381
510
311
701
820
51
436
208
175
775
746
303
28
303
458
216
777
89
506
459
868
492
481
846
157
450
502
30
496
659
102
620
796
834
354
553
40
259
486
892
46
188
155
18
577
142
775
919
486
50
357
986
728
583
933
530
956
186
141
628
197
632
891
160
205
127
726
538
831
101
494
386
824
162
796
239
693
84
258
863
187
483
71
574
378
45
784
70
597
979
523
9
800
71
666
491
582
594
240
389
592
272
675
190
261
477
231
319
870
88
56
61
853
674
441
969
589
95
926
582
204
184
2
838
555
611
311
951
829
280
419
627
596
731
110
103
663
692
447
756
5
860
548
58
164
956
605
932
560
378
459
283
180
144
214
357
232
671
283
193
888
734
542
7
299
671
292
58
552
4
821
504
592
944
976
3
919
741
240
586
860
142
879
70
691
223
454
933
668
611
963
599
659
201
369
751
552
305
31
885
817
892
331
829
129
381
818
485
371
756
714
290
464
634
810
311
129
824
254
725
88
856
301
528
606
673
693
397
775
412
134
969
983
401
557
940
326
966
754
118
181
421
656
257
299
449
119
534
52
21
838
15
736
27
785
712
374
255
220
96
870
2
908
34
120
216
888
808
204
389
569
700
167
689
492
847
89
664
243
26
268
898
704
897
705
302
443
188
183
529
993
567
903
918
47
915
71
824
533
926
214
18
234
766
382
387
646
839
772
66
416
937
196
530
785
736
936
609
630
84
180
631
691
148
728
32
444
183
761
243
477
103
494
403
587
748
920
579
470
327
736
156
203
986
735
536
910
604
765
933
624
668
350
943
891
538
189
327
580
416
337
179
979
265
221
356
176
265
534
3
314
14
356
851
661
916
346
914
334
362
746
622
569
187
429
905
171
659
615
876
158
723
448
667
324
723
172
966
561
978
87
437
85
721
573
390
700
829
299
820
591
385
292
806
63
671
285
228
219
105
758
31
805
314
775
57
649
882
943
693
933
253
509
153
78
532
191
842
126
242
458
487
8
299
983
771
437
477
781
460
651
736
842
66
317
834
483
95
973
138
599
782
280
725
585
526
941
292
270
76
428
192
392
925
767
925
340
756
871
119
480
634
334
432
707
436
385
568
857
326
711
519
843
555
127
528
416
957
798
352
510
30
6
717
690
733
283
287
129
380
781
285
602
539
811
221
36
353
429
269
217
377
584
189
750
101
941
481
310
312
704
153
91
487
846
619
700
803
716
308
785
184
356
123
633
739
466
817
845
38
287
838
927
828
839
106
968
288
914
387
409
75
507
152
250
376
130
990
505
653
967
99
165
334
73
744
146
335
471
875
63
282
17
819
523
135
884
477
270
877
866
398
746
253
982
832
239
282
131
367
889
316
575
703
742
586
363
763
89
23
313
612
65
579
293
488
723
745
267
732
909
573
705
766
209
34
558
352
316
722
193
714
532
305
413
927
493
472
13
95
831
540
321
462
978
716
636
337
74
439
464
672
585
63
303
804
205
172
381
170
921
495
493
397
725
172
190
280
287
672
242
923
76
727
871
289
37
977
207
369
468
545
321
719
326
29
279
899
215
657
253
599
136
172
728
292
550
484
307
26
831
397
780
850
240
777
341
924
808
845
547
434
789
221
464
939
187
408
704
917
526
649
583
526
869
674
957
841
368
969
135
148
164
881
514
79
163
326
65
792
109
166
930
758
624
708
127
466
454
907
424
79
333
700
598
838
12
407
99
717
92
780
560
621
543
968
462
559
917
330
493
127
29
449
175
853
509
544
970
217
491
495
235
944
923
258
194
865
86
789
52
586
444
726
484
272
308
922
210
514
387
586
65
128
436
556
714
28
377
433
892
184
822
615
276
575
131
705
135
357
48
556
174
771
202
877
683
504
368
189
538
155
737
17
489
411
113
139
343
530
362
557
896
894
436
791
768
618
304
78
596
662
91
834
694
144
881
396
308
208
258
714
505
880
337
618
433
590
588
214
192
418
312
789
716
216
90
681
539
511
868
210
563
583
376
137
846
658
94
62
484
153
657
768
214
59
538
119
74
592
50
459
672
657
427
241
933
269
131
361
945
308
558
763
32
275
847
230
323
225
650
635
926
792
167
806
346
321
0
107
827
32
118
21
491
795
238
60
288
186
963
52
966
228
50
699
601
611
475
862
91
202
756
230
244
149
80
171
136
883
825
12
577
908
971
535
318
867
659
919
241
664
880
789
206
710
983
119
105
593
978
793
923
725
976
709
232
622
595
503
991
509
682
576
636
702
767
905
201
577
747
334
746
639
589
377
564
869
741
955
721
638
11
486
844
756
143
9
175
614
408
46
431
188
305
592
57
756
93
444
460
978
629
540
66
468
15
402
144
252
813
935
67
978
243
423
693
722
898
948
900
48
990
605
693
379
613
914
6
294
769
346
89
375
695
300
588
617
661
61
537
91
446
515
806
638
783
630
155
904
775
441
153
424
787
264
385
18
954
716
15
430
535
250
777
599
252
30
808
681
64
697
370
282
506
6
135
484
323
652
789
316
946
881
465
818
369
116
546
750
228
792
138
322
290
644
539
406
65
92
333
971
60
89
539
34
11
912
326
976
247
146
673
374
775
345
787
678
870
910
743
586
375
791
109
560
933
542
578
498
128
413
824
939
778
279
466
84
552
163
234
777
72
626
610
353
345
532
286
660
937
191
886
14
38
395
934
213
578
111
916
459
400
950
343
155
463
480
906
627
513
905
26
816
902
7
26
791
595
567
369
693
557
99
791
752
820
322
729
421
902
846
24
799
260
731
600
511
766
799
804
679
458
825
904
28
200
990
971
200
879
208
519
96
491
16
601
202
754
754
285
957
227
837
352
357
460
13
171
637
71
624
865
707
574
768
27
219
886
904
913
564
51
517
924
788
479
259
52
218
975
767
827
74
474
467
242
478
282
388
457
506
471
990
67
617
93
101
623
141
223
772
415
927
92
131
123
14
649
636
771
92
640
49
780
462
312
96
46
583
684
840
894
15
349
549
596
752
489
548
558
69
681
997
607
922
485
532
912
359
399
519
438
959
729
741
405
508
742
725
743
350
567
235
206
481
741
502
362
146
722
227
880
287
1
939
864
901
520
3
39
624
113
206
710
419
682
956
316
417
122
48
883
630
355
722
502
118
540
521
974
249
690
846
425
363
232
484
698
982
228
733
603
931
869
998
790
631
756
209
272
296
812
141
610
927
842
617
318
959
510
28
400
60
290
628
679
989
553
203
912
359
97
721
510
837
384
504
626
776
384
667
842
674
276
788
56
277
212
942
149
498
530
819
809
237
60
719
741
269
984
448
110
67
53
853
820
582
792
604
171
262
395
766
711
916
305
75
360
707
282
97
700
916
688
833
436
978
550
432
443
313
248
610
47
991
919
953
774
516
249
983
133
344
625
412
768
802
885
58
11
599
650
345
95
156
810
285
773
612
792
779
294
620
895
49
299
60
133
310
231
37
322
231
660
563
519
263
259
155
248
478
495
571
721
134
703
840
337
768
225
290
74
361
588
520
707
193
361
632
105
94
924
666
219
512
116
985
196
921
28
134
889
954
277
258
881
491
148
750
148
812
132
210
184
463
33
431
777
351
985
744
481
550
58
136
773
24
721
839
129
124
667
536
951
281
965
589
768
872
196
155
287
43
217
32
764
651
406
932
7
365
850
477
678
166
274
929
612
790
739
745
529
287
717
683
326
934
693
877
882
219
302
322
359
639
95
201
554
476
769
903
574
45
836
125
18
448
673
17
509
50
879
101
895
540
368
616
684
332
437
189
572
795
233
71
104
488
93
93
653
59
562
305
382
609
202
55
621
857
381
433
446
263
585
92
718
961
36
816
782
979
189
111
388
580
833
71
485
990
702
525
690
933
532
827
811
54
232
408
782
173
181
829
794
931
803
573
128
664
670
908
443
292
822
252
966
152
43
20
51
846
851
912
88
891
464
130
919
259
317
736
810
123
937
93
311
466
111
398
839
661
293
335
482
554
673
723
684
332
863
64
482
732
418
371
46
508
784
32
212
949
583
461
380
883
17
619
919
195
162
343
275
164
828
23
489
414
37
619
739
438
34
312
426
397
155
530
566
858
409
864
944
283
580
341
951
979
402
22
913
866
9
378
388
601
973
622
404
614
959
887
373
13
917
111
743
718
78
492
325
215
611
661
329
622
765
475
80
667
907
706
33
420
840
144
871
193
548
520
785
549
707
995
133
484
938
932
576
554
145
363
378
864
969
894
906
11
361
250
71
686
397
403
461
367
273
888
715
538
206
319
242
384
487
990
229
229
896
998
499
561
576
798
156
154
90
516
886
570
649
845
300
547
690
691
37
739
898
459
160
150
664
713
226
754
871
999
58
687
838
933
699
277
454
149
779
559
709
138
194
296
625
912
237
801
398
386
929
128
809
384
913
183
700
239
23
273
318
663
372
768
682
483
51
23
603
797
360
516
383
596
490
605
210
406
95
42
9
903
275
967
887
775
323
434
218
24
214
556
768
624
267
438
7
758
195
425
765
492
714
841
677
815
168
267
213
229
26
729
223
246
544
991
870
412
55
754
699
757
553
785
947
979
782
101
139
972
607
878
583
871
588
263
142
34
282
988
119
4
384
424
282
796
898
762
390
66
354
750
738
180
239
828
837
586
692
377
500
327
360
331
262
766
12
499
99
594
426
778
146
608
596
923
782
17
356
731
317
517
262
719
422
778
344
78
837
620
576
508
191
42
640
253
975
960
971
739
35
517
797
951
770
182
62
481
317
579
503
816
726
424
559
783
441
988
177
995
978
50
210
144
471
221
57
475
990
197
505
316
464
631
799
980
319
349
736
699
586
894
91
84
986
861
237
943
601
562
861
253
414
632
989
317
187
260
318
801
41
385
160
679
743
632
961
240
224
670
802
266
830
649
2
556
822
928
551
315
133
403
262
749
957
919
769
56
522
915
140
40
918
854
40
650
337
616
427
393
801
337
292
904
329
599
890
241
579
709
438
959
246
515
294
219
440
924
975
487
794
356
974
65
476
57
441
782
271
166
201
644
828
593
523
752
469
180
93
370
10
915
686
238
645
780
298
15
719
431
957
643
533
468
231
795
527
355
698
753
110
402
891
401
886
668
206
37
326
543
620
605
479
348
602
972
755
95
654
337
868
101
300
15
868
166
109
486
119
84
773
569
255
107
296
644
101
936
130
505
899
111
623
337
116
153
981
501
577
670
885
224
982
169
312
176
828
985
266
703
743
59
838
862
399
98
333
255
43
707
35
618
756
828
314
78
692
386
552
494
339
262
911
516
748
88
824
342
167
272
427
588
91
366
446
766
588
658
413
927
104
549
494
742
168
244
813
921
434
335
333
135
297
557
549
653
35
558
910
772
2
709
469
335
884
875
165
459
635
651
45
35
942
593
335
574
958
773
734
814
183
481
384
66
720
2
959
477
402
975
161
681
845
544
359
247
419
315
205
154
969
894
872
940
178
420
179
860
251
18
242
121
927
961
923
219
891
78
55
389
804
100
147
329
235
586
740
450
681
375
112
830
670
28
956
53
319
854
394
478
174
642
832
925
815
128
961
211
30
113
273
438
220
978
790
533
938
198
650
882
764
40
927
219
237
99
320
95
782
608
929
912
202
563
791
504
283
11
269
179
712
245
127
798
153
161
978
731
435
637
983
865
150
879
93
812
493
943
181
549
385
72
961
154
25
223
899
434
272
452
481
856
93
162
636
74
318
95
509
745
884
800
113
259
823
547
748
535
796
877
453
424
410
312
670
705
299
905
577
578
50
908
158
356
237
726
856
421
632
921
990
475
113
706
8
700
910
266
442
776
242
637
619
537
23
830
877
413
396
928
270
635
822
665
952
116
636
800
319
439
592
502
32
291
310
724
68
177
634
463
241
240
591
788
736
849
618
294
290
145
595
368
588
582
979
85
277
619
85
829
49
654
401
81
152
115
19
313
714
8
370
712
163
850
741
217
658
565
247
440
926
975
663
816
399
650
695
729
659
755
834
705
103
613
414
257
872
470
757
41
346
422
614
281
85
481
588
483
744
435
583
83
922
470
923
235
471
970
583
947
357
264
202
320
708
237
515
838
238
381
241
572
344
374
192
806
285
289
155
655
788
854
646
91
225
667
135
660
152
333
652
802
902
142
650
152
544
600
250
647
126
823
217
721
372
160
461
915
254
931
293
966
437
4
788
844
766
687
12
296
555
732
290
747
892
734
262
684
957
779
441
741
67
46
460
723
468
202
604
933
903
465
812
442
875
621
196
436
712
727
254
975
956
84
10
736
609
191
879
122
837
277
311
601
600
463
908
241
49
866
839
206
222
624
787
494
262
204
685
162
52
742
389
586
822
172
854
683
273
189
986
925
137
726
671
418
372
960
673
721
463
894
491
597
889
353
183
655
833
20
557
120
625
855
352
390
302
583
606
809
701
529
456
590
429
793
867
760
626
258
903
126
579
536
858
901
522
387
136
404
7
686
448
712
25
574
916
300
923
534
327
835
443
17
248
818
542
220
411
727
989
631
824
840
825
292
89
215
962
815
716
632
885
3
929
33
369
960
840
823
655
265
678
992
185
134
21
527
219
178
306
273
190
727
684
193
961
391
258
86
329
269
860
619
875
46
306
290
160
746
548
841
751
89
720
795
653
352
408
188
732
517
765
326
747
267
97
57
498
776
5
864
366
408
297
718
698
718
223
574
251
751
523
111
542
833
76
155
672
982
793
319
700
766
658
838
82
617
254
201
559
18
899
55
715
56
987
571
554
832
237
97
776
892
79
881
461
756
346
454
301
986
482
196
791
214
652
859
186
834
363
778
237
728
609
679
253
114
598
316
896
725
144
824
658
559
589
271
734
114
561
255
90
446
293
648
850
942
169
457
665
710
915
29
45
663
658
543
170
737
0
275
201
610
305
78
197
627
0
515
153
188
189
763
963
569
204
588
46
82
665
313
372
751
680
210
851
438
741
780
547
473
389
973
404
826
445
936
16
591
197
117
919
813
201
891
390
147
37
571
312
173
371
94
258
534
67
757
37
189
880
74
243
667
731
391
408
343
922
794
436
828
618
510
918
70
85
302
434
983
578
203
405
821
557
963
219
554
574
790
169
526
725
225
352
837
862
837
302
272
613
661
532
803
644
849
895
155
651
195
101
521
630
415
216
931
519
817
239
320
984
477
621
471
173
569
654
946
4
582
51
595
136
235
127
243
218
892
742
669
852
700
603
24
583
97
75
297
376
40
414
955
339
21
298
909
772
760
660
26
925
603
39
264
925
352
574
452
451
684
13
149
827
184
885
773
464
651
279
984
304
464
958
405
904
330
190
587
262
220
495
594
364
958
350
499
26
533
840
399
963
417
857
244
766
334
35
199
555
782
761
665
268
305
561
939
620
874
666
73
334
647
964
443
991
715
190
15
695
520
523
444
76
87
443
789
810
568
301
4
437
181
878
396
476
293
749
977
799
841
591
149
111
913
698
817
931
803
201
947
86
185
408
601
454
578
732
596
993
580
213
80
902
241
920
407
204
809
236
591
548
925
662
982
310
215
715
155
425
263
299
647
771
47
62
739
300
970
627
619
417
886
113
529
730
945
95
629
291
459
503
677
254
794
717
630
335
834
688
526
118
668
633
218
166
154
315
692
624
212
843
403
895
965
723
858
333
624
159
398
907
241
703
307
826
836
280
259
418
88
615
824
368
426
593
998
449
431
601
908
797
740
56
962
345
561
969
122
495
169
681
445
892
152
253
225
796
843
522
782
685
366
639
546
688
638
247
165
879
603
805
728
138
949
458
846
778
441
949
729
975
255
250
205
937
437
657
344
653
883
80
879
746
337
828
892
92
889
21
984
136
827
675
683
190
166
701
638
329
812
7
252
898
174
59
330
336
332
226
349
212
93
557
542
61
457
704
82
552
595
109
316
833
533
160
560
291
989
250
630
71
65
911
994
410
845
268
890
556
786
815
294
610
360
289
312
103
808
299
612
517
117
806
83
354
490
285
852
576
841
631
610
225
730
544
511
101
817
13
649
141
994
410
200
859
73
378
302
49
942
615
278
559
982
26
453
614
531
791
651
831
357
409
50
878
833
305
755
187
628
344
459
496
814
130
304
711
120
970
332
595
785
63
666
431
524
675
450
867
585
614
373
576
571
13
130
897
841
233
759
884
251
416
423
138
640
545
347
769
866
796
51
172
28
217
786
478
851
58
711
74
647
717
567
418
159
255
167
755
120
170
700
6
903
489
948
472
14
779
277
624
936
716
406
916
986
13
474
927
35
511
56
805
622
451
83
989
742
475
762
714
760
945
889
960
619
287
984
542
783
359
76
881
97
416
329
72
677
624
992
241
100
10
223
530
805
117
35
242
168
259
750
983
124
594
811
708
605
803
46
266
371
3
891
600
242
230
809
489
953
226
71
561
95
674
768
993
142
478
549
567
350
694
576
261
49
327
400
424
830
328
425
771
325
152
682
520
616
414
375
584
349
208
991
669
94
178
514
952
731
311
932
706
489
685
747
549
814
74
897
377
312
843
467
66
86
507
76
958
388
967
611
688
545
412
664
939
450
516
975
170
313
834
545
15
173
639
323
858
416
30
430
843
971
796
199
896
585
705
226
905
630
804
669
60
202
457
408
447
845
405
882
837
90
118
661
210
107
641
198
467
890
291
695
488
350
196
466
465
875
631
135
453
926
561
229
484
585
515
762
499
633
839
104
503
563
896
16
0
94
555
350
281
101
515
281
277
850
961
637
467
329
671
717
645
497
499
707
794
74
252
48
96
804
551
625
215
157
717
739
336
241
955
497
851
314
433
994
577
872
873
293
690
261
433
474
257
837
850
298
201
129
172
610
249
971
885
302
886
127
663
835
306
813
822
340
318
557
785
757
251
714
962
667
638
950
736
27
529
884
925
812
276
845
871
110
746
253
704
678
540
416
269
798
339
799
757
529
453
529
632
478
362
904
313
168
540
5
996
464
744
982
509
940
953
323
570
955
576
117
5
996
693
107
944
646
722
747
813
204
862
286
381
116
521
846
22
960
99
421
785
387
168
81
24
765
385
178
122
810
465
992
16
140
733
943
461
198
693
808
212
861
330
260
587
840
801
129
91
759
400
462
648
474
935
768
522
107
600
628
594
406
991
628
11
661
173
252
391
365
946
426
72
668
67
132
277
612
785
783
445
99
804
315
280
710
489
446
309
364
998
59
407
508
447
655
460
941
877
337
668
499
119
989
409
797
741
799
585
580
737
374
989
665
88
311
410
503
697
498
116
250
165
327
957
472
489
641
411
262
641
238
594
791
126
467
896
404
440
187
423
15
371
979
344
951
13
688
719
301
674
385
639
878
296
601
777
337
624
699
27
205
364
722
374
689
540
728
892
959
727
58
258
767
819
116
213
889
577
999
82
674
85
331
255
286
313
266
126
573
14
720
691
545
105
753
842
740
514
374
312
944
372
612
655
34
350
844
708
394
207
730
299
588
583
342
359
346
590
388
750
838
337
874
994
649
758
60
159
391
219
983
300
424
917
554
494
284
388
685
750
423
15
770
247
737
225
691
280
741
868
261
877
937
716
982
726
830
177
530
650
404
192
661
844
551
251
373
577
91
581
904
97
782
984
446
872
457
213
37
519
869
778
346
664
234
349
685
730
319
65
782
445
97
599
988
360
480
508
280
765
688
261
809
902
906
148
310
380
670
974
93
385
257
490
16
484
733
494
697
238
815
550
646
860
905
605
225
306
307
942
261
241
297
545
698
486
646
951
477
860
768
832
925
254
381
253
389
415
808
880
941
843
964
674
681
842
978
24
556
263
555
623
548
190
687
350
567
394
422
569
896
637
890
357
504
642
253
123
109
182
979
931
780
53
487
6
659
331
581
27
983
32
10
946
538
932
679
281
640
483
878
763
679
269
246
657
301
632
489
61
322
399
67
344
401
390
261
987
243
928
690
855
501
479
226
993
380
504
636
223
965
574
137
751
889
186
75
932
989
189
421
802
387
174
723
735
666
106
72
744
979
456
958
25
902
462
357
474
525
811
980
897
634
108
513
354
351
646
863
462
876
565
455
396
127
161
348
656
228
34
736
471
514
18
998
336
175
850
524
975
246
609
540
508
681
898
617
613
94
280
149
203
597
697
570
990
571
223
108
865
445
696
592
214
791
859
664
953
955
512
952
955
73
417
663
189
214
165
552
880
297
745
742
917
752
937
819
650
243
911
628
31
892
427
907
775
850
291
509
63
500
444
289
482
846
555
803
603
388
405
900
683
202
701
887
729
976
679
679
61
413
848
184
169
390
239
568
728
188
337
226
659
981
442
277
350
921
563
60
765
105
368
937
380
985
910
78
958
251
392
965
372
877
626
343
575
650
253
161
348
114
488
494
601
883
998
593
726
557
459
266
701
338
566
535
53
511
585
752
241
464
869
821
518
140
306
638
600
643
563
529
659
384
95
569
805
819
647
281
16
354
880
664
420
509
991
263
63
779
54
13
141
877
917
112
624
601
785
229
408
640
86
273
250
856
36
803
682
527
462
607
715
745
197
479
720
917
505
498
14
65
837
5
28
435
939
256
783
857
449
882
261
854
752
875
399
603
201
382
401
824
984
708
67
342
643
534
106
179
653
662
691
969
303
820
241
153
655
484
666
142
982
217
20
990
152
461
107
969
193
983
777
130
2
877
747
234
389
149
433
385
944
841
865
367
36
757
125
376
869
877
138
495
96
3
205
511
741
490
741
642
182
681
953
889
20
227
114
155
974
409
557
795
305
580
715
483
673
561
102
939
927
736
626
308
589
253
286
253
514
697
638
940
341
585
239
923
640
303
349
953
660
410
34
492
483
648
520
410
292
907
623
916
381
423
715
144
815
884
60
229
89
8
236
645
652
204
155
66
375
498
161
162
827
144
866
47
613
616
142
257
709
80
962
898
390
797
912
105
162
489
289
670
333
728
453
706
52
658
546
782
407
658
234
497
986
614
178
63
469
865
790
677
887
913
517
936
81
71
594
14
391
928
232
134
237
428
463
387
325
916
287
491
437
192
940
398
992
146
505
668
45
657
133
915
575
713
155
853
60
37
807
248
22
846
331
417
554
769
557
59
640
329
821
210
466
391
412
458
492
43
121
161
415
876
968
2
920
980
486
860
953
68
246
903
839
382
982
893
245
955
848
613
42
359
68
893
938
469
524
921
868
138
997
457
647
573
923
370
722
683
681
990
643
400
684
193
503
464
664
200
347
912
636
710
621
702
483
588
21
116
981
485
617
635
821
721
4
466
273
512
869
888
647
402
570
974
335
400
493
47
701
986
196
556
668
33
892
690
167
851
282
977
911
652
766
233
70
218
160
225
81
678
520
124
979
373
769
601
117
220
200
490
378
85
360
729
703
969
27
854
115
92
87
653
323
44
563
613
896
88
839
237
566
907
72
498
954
50
483
959
62
870
947
855
771
525
290
630
542
950
549
108
673
589
31
453
44
459
339
46
942
950
212
136
965
647
400
861
578
125
792
283
275
619
703
229
16
759
520
134
433
710
177
311
382
488
766
962
170
570
384
841
983
401
681
726
444
151
193
171
679
36
231
794
230
534
631
843
136
96
597
119
129
783
875
1
885
401
108
816
443
585
488
73
67
88
719
354
141
296
938
255
983
781
178
559
392
774
208
509
38
75
646
304
777
948
56
593
400
771
479
952
498
111
914
537
37
83
368
616
450
411
482
199
319
798
184
375
63
872
790
789
222
179
346
207
596
255
290
490
150
854
380
883
533
608
653
684
167
693
725
559
298
145
998
865
468
90
793
937
185
464
303
396
213
861
769
441
773
160
486
182
147
953
983
355
545
2
626
817
679
195
340
418
111
756
157
487
676
878
271
277
609
959
190
540
20
778
461
671
194
947
565
982
842
665
297
396
490
945
507
393
156
837
162
694
473
135
521
310
246
932
580
488
380
486
903
971
953
451
802
759
825
546
685
286
113
80
200
655
770
73
717
673
675
622
711
609
928
888
661
596
41
575
104
959
541
589
72
882
408
877
465
31
401
80
590
169
366
208
906
100
25
834
330
286
134
923
445
491
354
911
444
973
998
107
631
399
111
421
451
389
212
118
41
72
249
62
10
762
689
710
396
723
61
376
832
542
745
547
609
241
953
741
830
454
624
686
694
873
410
985
194
132
423
211
707
694
880
862
423
413
734
225
80
282
199
397
638
695
416
370
676
561
967
609
115
7
354
123
572
857
547
78
630
76
797
57
359
563
41
491
963
983
277
793
921
601
649
745
178
430
37
758
71
414
325
37
657
995
5
350
813
982
286
978
146
890
514
744
809
977
800
930
308
579
725
873
390
354
691
143
854
620
638
681
307
404
862
597
972
921
34
324
64
390
337
670
129
783
463
9
202
706
903
410
663
125
649
979
29
100
379
44
890
635
346
648
676
800
145
832
732
167
936
185
970
773
27
795
940
224
932
465
349
563
523
352
119
414
476
875
503
965
407
793
744
716
792
715
153
562
140
459
523
513
945
362
437
480
379
283
27
661
831
95
628
190
421
407
460
324
164
597
123
347
402
765
165
329
945
386
810
532
372
838
912
266
795
144
854
200
898
755
251
692
317
292
652
30
558
385
31
574
32
263
196
2
282
227
427
307
574
708
28
280
609
129
746
153
500
918
447
277
503
807
424
48
608
20
878
797
754
217
948
908
589
893
914
884
649
187
493
319
473
823
637
604
50
570
359
89
773
955
198
841
670
105
350
663
423
470
334
150
814
926
572
367
574
211
552
646
281
998
947
582
333
776
83
955
788
301
759
936
252
787
793
977
971
101
164
863
223
658
848
382
504
577
531
379
351
437
810
766
795
203
854
379
80
959
617
927
854
219
517
970
363
892
180
71
582
188
102
456
755
589
427
912
439
201
208
824
994
275
330
551
481
402
624
604
836
331
86
621
423
780
426
582
891
627
956
181
580
560
720
83
124
13
23
517
888
535
506
162
205
548
509
448
979
62
750
288
721
182
432
650
354
131
346
974
623
739
61
169
643
511
897
598
582
664
896
8
605
509
366
683
425
354
437
644
626
786
606
441
679
740
587
764
799
284
217
590
129
389
729
73
219
222
945
389
908
543
89
723
318
565
791
667
25
786
475
702
588
347
584
243
334
964
594
62
19
809
27
637
498
530
332
446
527
954
517
193
668
846
892
799
205
149
929
256
268
482
34
252
860
946
679
406
193
325
846
364
932
641
860
242
400
31
217
195
898
396
793
879
190
81
405
850
859
980
661
754
681
591
686
208
272
304
335
772
272
899
805
239
793
946
623
729
912
65
918
149
481
949
329
572
638
428
759
438
244
884
702
937
63
508
126
176
762
802
85
906
426
251
6
112
334
240
7
347
123
841
946
815
663
781
561
949
73
783
279
167
697
667
486
338
908
501
463
206
286
622
434
803
74
361
467
248
589
334
815
459
795
24
811
697
329
68
609
985
771
840
178
956
558
978
416
476
553
935
164
526
322
895
62
724
171
182
726
952
53
247
126
856
710
781
45
350
668
264
371
934
562
392
365
691
420
693
689
288
553
712
734
898
880
634
644
284
611
73
269
526
775
395
67
538
611
474
44
613
278
367
827
962
847
711
814
192
128
105
634
215
868
167
195
278
618
302
940
255
179
249
910
236
354
979
192
35
198
479
775
790
590
535
499
898
476
757
713
744
1
337
372
32
89
196
463
294
772
419
363
136
567
877
65
89
5
21
948
368
454
710
169
960
717
368
259
96
428
488
435
567
533
458
537
358
612
189
136
796
913
112
924
238
739
823
451
291
921
860
195
53
628
767
395
672
367
109
567
62
864
643
671
739
995
976
921
876
439
829
505
104
92
599
470
620
301
260
527
930
536
616
548
879
532
523
439
570
617
14
444
460
819
802
198
174
803
691
800
192
68
32
289
872
272
640
336
872
93
707
685
416
162
44
738
34
945
440
390
658
606
873
972
112
81
902
938
85
371
426
50
365
216
298
114
532
209
399
68
956
459
853
519
895
696
15
772
83
485
894
159
597
200
363
46
122
914
404
110
64
747
721
373
277
852
161
954
426
241
408
654
837
337
539
986
625
500
391
700
193
258
801
938
748
147
426
506
506
492
634
325
723
491
356
338
145
159
61
821
29
870
569
835
284
173
432
112
902
440
69
494
968
880
236
887
845
990
630
304
588
26
73
252
443
903
733
997
481
513
149
110
150
906
433
800
117
780
891
257
513
95
285
299
491
299
29
836
688
565
794
750
337
537
334
625
848
742
544
398
691
803
193
637
834
916
378
377
234
777
53
117
946
29
11
902
553
467
19
314
694
947
901
313
0
78
939
85
155
794
946
100
794
304
398
945
621
123
337
355
597
410
468
652
245
866
503
299
850
540
790
687
648
749
453
149
68
700
597
20
420
529
847
326
433
335
177
669
192
169
817
242
486
211
836
73
57
640
377
891
870
761
816
184
772
152
824
643
778
866
367
593
776
787
425
179
785
21
751
913
297
86
820
201
65
620
800
545
463
121
693
398
37
116
812
690
765
526
890
725
774
229
983
575
250
669
136
277
53
420
389
170
430
517
770
173
818
481
146
234
120
59
217
302
547
307
713
26
397
143
185
51
601
935
581
698
639
715
126
943
242
768
342
77
723
973
120
649
330
22
198
474
331
219
559
139
815
609
759
45
453
276
138
823
872
570
685
913
7
125
465
396
770
97
258
893
651
632
994
360
465
224
542
406
719
401
555
81
424
880
787
968
824
648
136
584
160
417
670
268
324
763
76
398
42
302
678
676
880
176
220
973
98
899
24
771
394
104
357
653
83
772
639
98
255
139
32
497
337
385
185
475
830
650
866
466
477
397
912
775
520
529
991
578
976
112
537
862
636
793
801
215
46
910
97
685
729
391
428
473
87
68
806
664
66
651
510
252
184
363
842
332
231
224
269
965
879
89
107
233
424
708
347
210
616
183
662
422
874
249
33
130
12
28
724
703
600
102
398
269
106
320
433
904
545
473
125
223
238
55
847
481
88
387
60
722
807
919
777
900
25
248
488
713
318
882
215
448
282
185
429
606
236
185
723
230
504
420
609
180
861
786
849
555
425
673
479
125
708
411
926
331
507
569
538
405
268
641
673
309
160
80
503
80
106
596
433
122
353
846
328
753
496
136
366
669
53
332
488
2
998
527
610
222
15
5
190
124
622
778
806
238
707
375
947
285
628
182
669
79
960
288
652
710
542
865
815
333
970
345
545
31
660
536
456
576
20
493
939
612
804
794
112
114
187
960
778
188
315
381
658
419
207
370
70
290
134
491
83
317
860
911
420
803
22
296
719
304
37
531
177
430
13
981
871
775
564
940
625
676
571
126
274
22
551
887
91
35
708
649
166
464
885
941
410
998
567
111
288
904
512
329
596
946
82
994
984
733
80
764
292
572
259
140
180
911
625
874
931
202
382
650
763
342
330
239
181
817
801
320
706
705
860
873
800
925
877
78
936
796
606
902
759
260
761
767
97
607
632
336
456
295
219
856
284
495
359
613
575
498
774
769
833
453
171
955
494
149
777
498
336
491
144
951
100
614
233
164
452
341
707
329
202
40
249
59
143
66
689
750
166
629
189
39
108
741
535
438
398
103
909
1
399
575
14
322
557
355
384
35
826
719
176
904
809
584
327
887
174
142
714
697
324
443
46
145
960
757
887
931
195
968
829
606
993
412
83
115
471
545
303
152
184
134
584
310
196
767
800
567
186
553
122
768
224
212
236
533
839
187
424
624
271
836
836
196
394
738
906
675
230
227
982
761
421
278
728
936
874
1
909
341
880
328
880
564
174
381
114
809
952
641
771
640
310
643
887
675
569
104
779
382
756
311
380
801
630
18
951
510
365
822
477
686
477
291
308
285
708
991
794
223
82
423
737
777
22
680
446
976
200
234
962
45
135
603
300
273
692
164
707
479
305
668
940
921
6
727
675
163
4
464
719
728
957
992
530
983
19
969
932
629
499
21
596
971
758
734
409
68
585
468
492
79
942
639
718
299
108
150
240
463
993
414
79
944
841
271
155
109
201
406
896
674
691
999
375
953
685
754
957
486
3
268
692
645
818
75
12
98
9
706
773
963
681
922
953
245
781
726
810
892
543
876
684
916
24
956
42
240
868
265
574
211
976
740
63
795
347
364
253
13
872
601
472
522
968
692
843
761
243
728
407
749
769
287
868
418
353
601
477
779
908
87
392
523
636
548
788
379
371
980
402
911
876
227
739
37
960
213
365
2
545
157
913
946
245
129
706
530
895
604
662
244
573
37
378
719
478
504
318
677
302
608
269
472
753
401
852
954
713
943
233
728
391
935
85
461
622
986
264
397
342
545
89
71
80
180
214
285
542
561
548
150
862
983
844
566
719
121
695
808
465
708
466
853
496
76
678
129
378
412
649
475
880
635
277
707
815
203
749
134
84
143
517
754
620
165
65
678
553
677
712
570
134
727
654
118
740
526
297
765
319
767
702
655
705
914
992
137
746
301
258
386
495
225
592
362
628
107
360
338
491
370
652
490
417
587
556
688
773
128
23
727
896
289
342
304
322
177
743
349
256
658
45
788
528
525
759
839
204
820
743
162
229
580
853
283
952
43
352
124
737
707
55
38
323
91
825
516
631
156
203
584
595
498
475
938
820
379
131
424
340
502
543
220
878
431
436
297
516
118
829
446
939
480
476
714
175
329
217
822
70
592
698
361
190
189
312
393
24
367
700
289
460
378
34
963
960
488
520
54
415
414
483
788
649
110
172
344
515
438
535
979
686
796
156
762
210
488
960
838
629
966
818
280
634
973
783
664
607
163
93
655
476
271
716
151
466
668
59
868
466
966
362
373
892
68
527
226
483
649
971
425
601
969
903
698
323
505
644
138
16
933
335
479
689
178
347
873
775
951
806
883
896
964
898
551
63
712
298
656
230
191
655
366
633
810
378
89
653
927
209
295
696
757
798
166
482
627
623
391
44
721
49
417
227
745
253
966
211
19
497
495
141
829
878
152
591
615
942
631
910
68
355
964
257
798
784
258
185
46
686
980
835
440
565
753
657
300
654
853
564
321
356
753
599
964
994
677
847
469
405
825
209
996
860
391
57
22
122
670
128
123
716
265
590
252
939
734
134
578
446
620
559
936
919
199
560
296
552
67
228
409
895
48
635
689
189
963
634
603
41
655
789
936
537
642
993
434
27
25
966
730
563
495
313
761
275
455
903
103
721
799
700
907
387
326
536
916
856
491
931
122
527
465
509
35
386
467
113
646
446
441
384
889
389
842
449
853
591
615
952
612
49
707
191
525
446
338
559
398
303
766
598
689
859
985
365
37
488
924
635
457
784
578
686
370
396
208
298
480
31
321
897
986
808
542
39
670
153
898
209
95
769
558
151
277
620
588
47
354
684
110
908
408
359
22
741
748
375
145
688
703
225
863
752
760
623
974
973
930
15
562
711
938
52
180
892
418
176
390
722
982
316
15
209
753
936
695
326
935
269
33
895
415
986
365
997
911
675
977
213
9
506
814
64
965
201
976
961
974
952
520
790
187
380
612
811
988
742
315
38
708
72
375
702
187
287
62
977
323
198
642
572
118
547
217
320
957
764
216
766
111
565
732
945
772
980
531
176
622
557
138
403
527
875
286
675
372
361
538
155
775
455
744
385
960
254
16
149
101
210
199
752
46
158
18
744
561
225
806
273
455
779
393
778
835
533
173
108
600
931
879
96
208
45
860
527
366
802
186
740
156
34
128
149
131
856
156
156
124
590
65
834
688
735
963
305
592
80
739
619
697
428
528
677
640
671
823
307
24
729
239
792
382
95
497
658
572
83
122
349
236
891
950
948
549
376
723
397
669
837
796
860
842
328
207
529
581
81
667
668
717
157
739
457
924
57
692
915
576
783
865
263
68
61
221
486
91
297
870
556
897
277
132
163
748
293
340
935
615
214
984
659
365
349
498
743
154
50
455
930
27
486
516
401
283
331
383
778
323
760
665
243
72
152
624
246
368
230
967
511
191
623
158
660
750
99
339
119
592
717
487
838
622
940
30
611
858
293
587
537
415
140
250
437
340
358
940
366
973
717
234
80
261
408
787
79
615
948
992
906
581
892
218
606
254
882
757
652
930
430
321
927
908
776
560
548
102
93
24
521
112
527
709
61
994
149
297
142
352
788
247
169
947
523
211
835
401
112
411
116
864
204
687
731
61
828
566
974
844
211
919
268
572
582
501
819
731
124
834
408
630
747
426
708
253
237
763
748
756
636
172
962
886
686
918
819
125
738
908
235
468
1
272
469
84
33
298
780
79
463
320
350
773
970
5
469
341
758
458
216
720
149
488
986
409
95
117
962
227
513
266
1
422
239
630
343
952
174
564
211
643
271
730
349
684
533
631
623
772
798
392
478
33
561
539
412
419
870
212
55
283
583
335
613
741
190
369
579
468
567
4
349
824
952
843
996
627
96
434
858
549
289
380
652
136
672
394
637
384
772
359
65
237
694
463
748
937
427
147
558
8
541
543
891
687
446
167
242
861
81
61
25
307
600
352
441
547
626
771
700
635
962
963
516
168
444
256
25
977
629
171
187
770
896
241
49
728
688
108
94
344
560
467
635
144
184
650
503
564
223
141
268
703
567
964
708
686
705
417
944
53
549
94
717
108
229
942
784
629
582
6
574
735
392
890
319
268
772
570
209
95
561
409
461
751
560
327
877
882
123
718
747
423
457
330
341
817
196
209
284
396
161
440
264
790
707
399
692
24
889
106
490
745
307
307
151
37
639
591
485
827
213
213
459
376
912
965
196
74
22
160
574
768
997
184
720
620
434
181
902
754
605
435
113
284
273
474
209
941
615
235
352
302
695
959
197
19
108
68
553
337
112
693
302
707
321
307
815
137
291
601
428
435
662
926
863
257
315
682
163
454
284
761
909
554
375
56
67
87
477
377
785
313
680
865
718
402
230
736
33
112
220
169
855
918
627
215
566
232
473
665
282
331
973
585
600
503
674
156
162
158
862
484
800
314
335
232
698
754
343
324
604
346
515
366
406
509
257
625
566
288
648
43
385
195
653
750
706
538
634
320
830
479
314
42
306
728
71
611
520
72
132
987
83
407
680
802
763
922
820
646
119
219
565
989
830
127
6
357
361
280
437
414
631
251
478
478
693
412
74
263
688
692
6
317
878
387
643
444
543
236
329
639
956
717
410
963
701
285
804
3
63
938
203
593
181
900
601
768
283
415
911
296
562
518
402
646
570
364
434
863
626
80
203
895
574
993
437
398
497
765
485
624
251
707
483
29
609
10
758
181
755
679
18
582
15
784
905
835
316
195
264
402
574
426
316
92
743
37
867
442
834
503
648
757
410
428
639
198
794
179
751
233
988
18
629
429
267
609
876
24
445
105
119
539
856
0
675
584
965
339
205
698
543
920
800
950
23
849
35
259
928
19
562
105
909
663
108
729
940
332
551
576
934
605
901
292
496
17
878
877
354
793
354
652
63
249
911
694
83
944
217
519
855
154
793
878
323
895
798
882
536
64
869
519
635
687
880
838
94
773
949
923
574
331
234
280
846
641
355
486
323
240
413
546
314
388
838
368
573
567
706
985
374
321
373
625
425
594
975
838
609
952
974
74
893
611
379
470
892
109
673
77
13
450
38
481
21
395
782
171
85
939
78
577
728
17
512
136
793
28
81
644
322
388
881
432
588
125
164
226
867
65
287
380
996
592
258
346
541
132
178
674
918
451
988
840
7
362
79
400
892
695
787
368
521
928
908
210
173
625
825
540
946
947
150
50
698
700
931
744
468
310
345
942
980
136
202
123
846
568
326
965
603
589
248
738
506
0
789
211
224
990
143
138
461
142
115
754
72
212
124
102
533
933
814
482
737
539
524
321
273
396
11
618
324
607
603
414
268
127
824
961
214
702
529
311
488
57
984
707
836
803
905
685
966
629
546
46
454
582
562
480
371
144
851
168
420
541
268
841
826
566
752
77
553
849
764
834
126
532
983
212
159
655
146
62
352
250
575
997
228
755
64
457
712
283
67
58
250
296
412
666
653
263
682
876
90
246
784
637
182
876
862
669
884
568
430
875
500
536
356
75
199
501
802
751
109
880
455
683
923
18
703
778
510
43
618
827
164
333
623
801
791
821
642
117
730
155
965
921
922
957
580
779
532
906
500
98
353
413
362
285
360
666
580
796
733
419
99
142
939
932
958
975
795
725
231
622
106
518
205
815
993
863
32
359
226
545
382
508
767
840
810
840
398
665
906
218
996
797
796
938
930
255
426
718
813
301
840
903
929
349
363
785
722
391
399
638
577
998
863
714
988
895
998
480
804
20
895
779
470
127
942
324
595
569
617
172
270
873
126
275
943
529
362
807
948
535
864
840
740
368
688
789
978
905
705
682
857
289
214
422
741
337
909
210
43
235
249
828
205
8
550
601
714
446
7
682
785
857
826
370
815
0
699
355
728
688
20
900
674
276
890
9
734
983
662
746
111
882
811
819
412
642
180
686
713
887
51
421
434
982
736
990
534
244
186
128
242
363
460
534
845
872
134
619
473
414
28
673
77
377
934
322
948
589
75
99
992
704
976
963
568
293
384
821
842
871
188
190
923
337
707
350
658
378
743
36
229
353
562
674
44
788
141
861
258
299
988
196
402
18
888
482
10
897
712
865
659
377
412
633
899
861
559
806
689
304
575
327
417
969
32
391
182
53
476
566
538
222
351
811
759
867
402
297
475
587
840
125
906
350
753
311
392
241
816
644
993
880
349
453
503
366
970
750
224
64
202
793
125
513
973
129
492
143
813
812
355
744
480
942
616
164
106
443
120
474
305
956
710
560
65
894
868
240
532
739
387
537
668
134
926
66
994
763
332
917
41
598
197
0
672
275
623
759
514
73
723
234
857
546
145
35
962
867
313
669
357
443
773
818
221
476
726
257
495
311
302
290
547
118
617
547
60
227
155
693
385
368
304
578
497
991
620
567
5
330
304
827
3
694
28
509
294
0
484
483
217
338
954
230
648
358
426
843
398
192
321
73
253
584
463
169
334
665
90
355
69
387
133
899
83
532
187
39
325
497
893
331
683
286
7
42
174
758
82
438
967
344
913
339
87
10
344
160
891
919
415
850
805
660
156
695
711
810
326
146
123
850
702
928
177
485
128
507
899
277
927
900
754
795
311
131
757
191
264
841
557
444
982
15
512
735
141
709
76
88
144
818
499
469
818
324
216
61
157
847
323
105
235
713
355
993
222
870
330
604
206
504
632
995
2
333
722
915
880
505
60
18
7
181
411
986
462
705
36
227
887
711
388
564
961
337
340
419
959
620
298
473
945
211
655
494
428
668
408
858
704
740
409
843
280
793
878
222
224
431
197
44
673
555
207
586
510
159
848
432
824
50
256
794
371
747
244
840
378
113
437
518
732
858
693
200
851
996
451
828
721
415
116
30
976
344
589
28
798
675
78
573
521
79
76
550
800
219
97
869
689
350
636
605
840
405
268
644
387
743
582
934
703
34
215
996
460
667
140
943
600
743
500
383
813
426
954
604
397
171
281
945
861
987
724
413
628
918
867
877
105
851
745
666
994
884
668
563
521
440
86
89
766
309
791
121
245
305
925
756
305
277
0
648
267
231
40
674
788
921
532
990
678
544
311
602
591
200
803
547
10
97
192
319
994
6
342
968
158
570
102
829
953
54
269
24
186
425
177
113
418
244
606
764
482
924
407
762
868
787
750
191
309
842
868
166
268
740
939
136
348
474
970
925
397
769
74
490
752
738
859
810
909
913
111
180
381
903
693
85
537
768
15
811
158
974
357
761
412
170
279
159
33
654
839
491
170
907
136
727
214
6
522
782
85
680
314
112
343
67
34
571
376
508
470
822
755
67
55
807
649
657
636
239
390
676
935
252
956
683
414
522
205
277
664
88
588
545
202
487
454
513
746
746
878
353
423
436
36
894
862
955
780
640
644
749
246
833
727
429
145
42
730
368
517
549
367
438
145
524
787
898
25
405
40
779
382
353
171
949
847
695
397
7
774
375
794
225
592
869
300
528
886
997
624
781
188
511
49
475
256
692
557
57
122
4
892
532
434
276
362
461
32
843
510
407
670
571
882
17
738
761
902
90
162
596
779
87
975
904
574
110
121
895
696
131
494
631
183
399
363
479
560
222
453
682
843
419
536
545
252
426
134
601
255
416
614
256
796
210
151
228
997
635
744
778
945
822
29
538
953
42
660
355
249
977
614
57
374
431
329
801
346
834
492
131
5
957
877
733
357
89
495
404
941
631
959
616
261
31
397
541
179
55
490
284
710
176
888
127
450
463
516
528
474
760
697
226
253
885
249
711
383
398
245
128
799
132
507
495
541
179
757
335
986
626
717
456
617
685
712
548
260
701
42
206
870
173
573
946
435
55
83
401
904
137
621
483
462
488
847
221
273
967
453
204
223
224
133
604
267
679
63
826
68
923
776
92
733
19
520
263
516
57
926
436
564
782
381
994
554
351
875
526
148
169
995
102
207
496
375
179
400
719
128
746
598
19
210
200
110
510
363
909
101
997
295
422
727
576
773
822
869
655
715
327
718
190
610
300
801
359
435
431
247
909
513
695
65
370
222
997
436
248
714
817
76
107
960
985
661
887
806
552
621
374
668
855
620
359
211
379
756
128
705
326
161
206
759
717
611
323
112
26
41
832
109
638
189
12
404
209
759
439
415
221
644
521
131
53
934
487
411
288
95
836
327
605
181
259
985
483
12
140
836
588
611
546
665
287
360
659
593
985
176
772
618
713
998
385
630
971
478
856
690
943
46
432
152
996
424
56
410
491
609
936
959
723
187
270
919
718
460
263
454
553
652
767
832
75
254
92
657
634
457
281
454
985
429
767
367
526
911
477
422
737
132
945
384
137
965
213
232
435
146
883
397
696
962
983
396
917
805
720
411
856
938
79
595
286
234
636
691
972
798
182
60
846
66
211
466
327
218
9
163
615
481
674
971
777
844
785
440
921
953
27
371
664
713
424
887
895
0
303
309
445
690
875
136
871
254
823
507
123
936
756
552
1
649
82
464
741
987
0
923
596
56
425
414
430
815
415
750
584
785
803
473
287
253
176
710
647
735
215
860
427
458
982
775
163
513
450
719
541
872
452
734
170
550
722
691
179
853
637
69
429
850
433
419
109
485
782
819
418
699
799
740
357
936
322
891
883
248
50
113
873
367
381
761
881
733
846
69
301
393
314
269
963
26
140
796
995
95
386
12
886
788
469
13
782
543
214
923
858
503
758
808
602
597
360
963
605
790
450
68
290
864
42
825
238
925
365
371
608
582
362
102
947
707
257
19
887
874
666
260
376
346
818
606
791
44
485
50
758
937
680
53
577
368
570
167
535
883
723
245
31
590
834
251
854
411
248
385
781
788
879
900
830
234
511
387
258
201
475
712
499
740
383
415
958
160
186
836
661
516
104
692
314
683
723
49
515
443
813
157
252
615
969
13
764
131
464
16
289
400
578
22
803
6
240
595
47
952
672
852
189
989
111
305
265
512
806
769
230
731
833
468
992
17
414
743
124
665
302
353
527
794
697
353
398
881
604
104
436
338
297
154
669
910
874
494
688
125
953
504
775
606
614
389
55
514
484
403
793
988
839
6
384
199
257
960
499
264
877
307
62
752
995
270
634
791
498
772
340
240
733
986
20
654
939
459
338
434
251
207
268
925
866
33
909
627
169
969
397
471
106
73
312
254
659
488
358
634
736
291
256
78
802
977
473
130
913
639
152
16
244
504
244
545
622
119
117
944
637
669
772
136
280
413
686
415
189
286
262
752
473
586
843
938
76
686
100
8
861
337
881
572
593
158
275
466
921
102
77
747
206
927
583
323
384
325
613
751
612
275
787
665
387
76
718
688
874
518
483
289
480
419
745
590
999
200
110
160
196
570
523
122
681
531
219
909
220
68
499
536
938
578
120
959
406
505
980
697
174
547
529
381
689
692
332
791
964
119
398
658
532
440
887
520
880
606
281
741
940
835
336
900
188
99
60
428
905
615
58
735
570
802
790
107
937
60
724
561
810
636
332
436
308
981
916
128
253
62
635
189
876
822
80
507
221
115
150
400
649
803
595
675
254
806
703
644
45
671
628
321
183
575
492
455
820
894
719
853
742
184
782
134
23
339
488
907
298
295
65
76
314
404
573
441
660
108
414
628
39
316
778
334
154
142
38
795
450
947
387
586
972
451
153
635
787
397
214
239
506
204
548
178
611
83
367
144
227
946
704
820
614
342
549
984
6
718
225
462
314
372
106
536
762
718
447
662
278
264
920
567
127
470
278
714
836
279
486
726
802
840
373
366
698
96
419
181
838
898
478
89
715
915
971
485
128
618
132
752
936
730
993
728
595
683
730
463
480
380
222
598
96
641
979
152
356
810
773
825
905
943
276
700
548
149
234
593
600
101
457
161
822
207
754
844
428
802
994
868
995
427
578
729
751
727
459
397
100
212
3
749
784
891
33
95
523
235
537
112
230
504
305
671
961
217
705
797
800
217
765
760
796
771
888
513
155
458
208
796
391
407
948
409
63
726
85
811
912
480
163
708
623
729
452
1
331
273
813
647
977
862
379
637
203
849
630
785
805
603
892
873
15
924
282
706
108
516
648
739
5
442
394
555
915
976
852
51
639
363
247
277
946
369
994
260
580
798
551
480
697
854
966
381
136
297
612
442
135
965
682
549
718
192
956
421
884
858
455
955
7
491
576
292
576
967
658
369
704
537
113
42
604
321
623
388
335
37
441
679
662
461
730
72
786
133
436
921
644
142
551
426
150
511
457
261
60
211
73
71
631
875
958
472
658
598
559
803
410
845
243
583
566
139
639
255
773
480
441
632
294
709
658
838
494
601
287
242
213
31
994
647
177
162
48
565
501
74
924
445
687
536
686
155
17
960
669
841
594
664
797
477
363
519
660
658
640
344
589
689
355
554
232
102
782
572
926
334
202
287
558
852
559
424
918
332
430
846
676
165
121
246
740
408
674
356
526
518
508
12
851
337
913
270
570
331
283
769
585
251
629
511
292
620
339
771
484
811
991
577
822
455
725
626
272
695
405
971
852
705
561
750
172
880
44
122
641
515
466
136
31
474
704
194
917
820
716
979
632
261
517
64
275
418
734
978
367
460
426
566
2
595
865
249
537
277
444
261
792
216
852
983
159
29
92
294
375
86
633
525
798
239
353
321
653
742
24
967
71
881
551
758
554
217
423
104
932
604
619
84
380
811
199
809
226
97
998
441
988
47
65
899
980
897
804
465
711
125
260
286
252
458
774
481
739
185
780
541
428
168
563
243
123
920
664
229
681
483
221
783
853
421
630
203
365
459
124
216
924
568
56
615
900
231
421
722
657
643
708
770
17
340
467
366
143
870
440
874
216
352
148
136
926
522
620
513
679
950
778
895
197
329
617
507
181
733
455
159
866
765
205
687
953
361
932
112
491
928
98
506
283
490
992
342
237
279
540
982
719
355
331
83
634
951
951
127
771
942
586
621
180
319
94
632
162
853
40
35
900
126
612
598
622
299
491
723
68
552
171
899
309
25
262
987
156
853
791
140
192
625
785
192
944
733
569
838
98
578
189
189
842
806
663
125
504
257
145
540
784
608
295
694
598
451
764
278
258
1
987
333
383
741
740
99
767
488
387
35
122
48
693
580
267
756
750
43
842
139
817
4
361
999
919
505
431
204
596
638
741
647
959
869
345
924
760
651
770
248
280
653
225
325
95
951
898
885
717
998
947
262
861
537
762
315
591
510
804
877
572
446
128
896
281
751
86
802
171
220
386
663
743
121
651
284
349
498
372
889
485
506
71
658
699
639
506
382
24
695
888
970
545
2
101
650
916
126
305
696
569
591
389
893
839
944
383
654
164
985
901
51
889
644
609
714
980
801
734
312
984
124
615
486
37
952
277
149
438
453
308
932
251
211
620
448
524
515
206
611
707
839
772
421
896
833
50
516
489
604
942
587
161
949
445
769
321
726
5
524
234
574
510
573
114
402
966
992
304
875
944
45
998
62
738
866
18
945
252
129
185
965
646
271
200
457
445
797
139
11
938
13
191
644
328
508
236
488
639
793
431
720
107
262
843
855
901
970
41
614
315
880
920
822
659
382
797
730
421
370
244
4
773
407
491
971
748
266
460
291
374
995
698
810
409
333
694
596
981
850
480
463
176
22
254
489
760
325
371
779
602
457
304
847
129
347
601
359
99
156
927
731
314
261
624
805
138
705
569
834
921
706
449
93
556
46
94
391
29
183
344
60
472
877
862
372
952
956
108
725
868
911
799
54
340
333
857
75
865
642
10
260
42
760
12
963
427
214
623
822
403
860
766
365
979
980
676
228
16
167
897
99
818
726
348
446
485
918
902
275
146
770
466
899
426
282
542
343
31
681
330
70
236
608
944
630
368
806
902
922
742
34
72
66
89
246
269
316
910
95
806
852
723
63
739
344
992
136
924
412
464
856
196
46
764
567
269
837
74
158
365
905
56
981
993
568
265
629
893
727
480
30
739
780
682
944
920
206
572
991
806
331
137
166
582
175
953
918
686
841
872
141
773
407
853
170
365
108
602
96
783
860
970
403
703
757
211
559
455
593
239
909
228
244
612
929
331
695
334
260
253
636
658
495
937
81
588
262
84
735
274
501
840
186
799
212
612
237
713
743
284
952
354
376
887
291
230
681
617
387
547
744
146
346
957
82
190
975
345
511
377
969
105
268
753
743
437
495
677
112
875
484
424
242
78
661
704
394
535
209
90
999
123
111
328
581
302
725
738
18
574
58
665
881
119
521
623
952
94
235
737
504
548
581
3
375
169
197
162
799
19
86
689
71
196
954
451
276
293
90
288
143
372
19
159
589
455
328
824
136
465
287
518
144
757
804
91
522
888
828
190
266
985
848
845
990
900
298
186
936
263
328
954
300
20
596
81
793
758
665
260
973
277
624
156
775
62
226
341
321
810
15
99
521
938
591
970
825
400
953
69
30
407
950
771
213
881
780
606
211
582
373
865
236
793
506
513
269
406
268
237
340
4
611
546
553
748
198
594
160
308
269
316
509
465
91
740
943
5
578
552
798
789
338
247
759
305
704
572
302
317
629
729
441
747
127
495
80
699
893
47
929
50
304
812
473
414
138
20
557
269
501
304
306
71
672
795
550
347
291
57
270
789
812
321
58
921
436
696
862
595
379
50
282
399
642
395
223
290
985
872
439
613
82
855
716
106
836
764
614
427
80
563
498
773
493
647
876
563
472
78
84
576
592
832
126
281
68
44
737
628
485
958
650
779
268
195
580
789
290
536
575
914
445
148
871
744
997
884
733
382
45
265
225
465
415
882
633
463
375
858
751
22
230
399
172
67
794
383
511
563
53
63
457
455
948
214
32
533
631
965
553
201
368
222
337
290
394
559
59
358
386
786
779
289
216
139
209
337
158
878
516
51
170
575
193
168
503
22
33
894
700
437
427
274
393
411
813
177
825
210
524
90
654
164
578
132
670
37
665
340
786
816
103
902
989
552
860
629
814
921
436
125
661
303
231
706
107
898
797
174
129
725
603
69
82
882
823
391
792
212
412
127
205
366
616
120
180
126
915
904
451
532
599
128
414
829
813
819
748
790
306
792
146
353
848
909
253
904
405
149
168
478
918
973
556
177
12
588
385
218
393
684
897
469
799
985
957
38
718
368
251
446
210
448
492
819
6
749
234
788
808
922
991
249
666
322
902
623
748
192
814
331
317
731
160
550
540
252
631
740
338
805
275
89
663
184
112
344
847
15
140
999
438
543
264
182
658
91
770
279
119
346
491
162
379
981
309
932
347
783
589
661
210
572
546
826
65
532
563
78
631
498
477
693
601
813
12
671
851
108
502
741
636
701
453
250
43
914
278
202
259
597
368
163
420
505
878
98
506
694
742
745
492
242
725
643
345
153
312
298
782
249
891
892
930
127
941
116
863
810
794
760
41
12
556
362
422
206
275
82
509
807
204
928
731
234
194
141
594
623
435
329
386
545
362
682
250
986
237
195
400
208
173
659
467
906
317
873
286
661
898
839
819
659
381
677
11
439
242
214
654
81
183
163
330
221
302
697
791
672
162
175
869
708
919
347
10
358
852
675
957
383
815
686
880
692
317
855
825
920
168
119
745
953
954
974
157
248
269
613
551
35
657
522
1
955
271
216
222
133
369
173
150
819
133
44
6
235
513
919
648
490
947
229
182
489
444
615
552
671
146
36
331
605
248
287
546
281
401
516
954
958
343
592
756
826
636
781
997
936
778
990
518
21
724
414
383
43
203
567
157
239
335
197
987
381
19
129
200
314
384
489
60
271
59
887
497
225
852
975
21
426
178
675
608
844
696
441
543
41
145
574
886
275
937
954
126
926
272
946
457
536
70
614
14
636
434
261
121
394
231
889
85
651
609
199
677
827
173
277
740
121
609
699
595
519
670
128
669
775
329
960
687
937
975
981
88
487
152
590
848
736
283
61
593
753
87
852
247
550
864
805
896
910
730
248
780
378
919
795
572
8
360
247
602
144
876
31
127
760
158
162
30
774
847
490
912
807
968
339
462
900
620
489
347
314
472
310
57
859
44
801
338
438
164
699
420
436
278
999
103
29
671
984
757
35
8
488
904
844
115
204
486
824
630
404
797
578
685
214
725
812
76
516
63
351
580
663
801
499
383
168
45
260
1
740
420
216
711
738
788
933
178
287
59
253
651
496
137
813
140
686
733
903
438
847
120
957
163
653
960
335
830
19
323
46
23
272
639
308
424
441
419
661
856
769
636
992
778
317
883
725
582
322
684
720
365
310
410
597
680
615
997
369
393
880
377
783
227
978
965
853
697
686
767
576
330
917
164
519
809
981
482
823
943
819
510
649
836
280
314
756
524
487
629
35
793
321
452
192
677
975
213
584
815
452
564
296
555
624
347
512
359
283
407
358
131
83
665
833
684
798
274
31
108
571
691
757
489
791
543
266
798
496
460
558
909
787
719
722
911
466
319
82
22
664
958
524
451
486
414
783
384
457
788
430
58
516
466
26
138
816
462
257
51
122
517
737
620
16
521
477
800
273
612
759
349
393
831
294
956
610
751
704
292
668
136
143
576
85
268
752
890
862
537
406
653
529
721
669
26
497
103
450
597
141
216
894
551
633
221
112
407
412
755
133
624
340
358
672
78
909
658
276
412
705
534
992
970
214
63
818
718
579
269
485
859
345
406
156
93
143
409
136
976
459
383
20
112
846
63
496
376
802
822
913
101
529
163
848
670
301
656
826
758
524
721
339
832
362
316
261
909
46
686
685
784
903
429
93
710
646
9
879
417
878
23
893
388
755
263
84
210
758
120
570
61
779
796
978
462
151
847
760
448
675
566
689
344
2
289
930
604
28
991
973
536
145
299
484
570
396
764
806
283
404
78
788
870
10
178
863
33
979
397
167
740
954
679
168
160
415
758
796
538
432
758
129
36
905
52
71
751
478
361
886
688
44
60
280
667
268
408
324
785
308
567
851
539
443
426
777
853
898
606
881
571
55
320
247
834
76
364
765
809
225
513
933
29
614
609
196
93
115
838
868
852
328
400
74
763
506
743
539
757
415
458
562
682
885
569
140
717
638
268
157
421
740
72
789
692
77
434
862
398
134
942
483
701
787
789
291
460
935
797
404
654
319
59
756
801
160
186
57
98
155
574
844
155
795
225
879
613
376
204
416
158
791
999
946
409
103
815
224
895
144
677
538
212
368
106
959
33
878
119
308
612
846
634
615
834
555
342
612
385
646
641
497
692
749
99
263
677
638
606
185
933
599
772
741
83
77
754
167
484
351
229
402
484
118
33
863
966
304
278
311
49
651
591
845
866
429
372
118
96
690
15
260
925
69
388
270
512
725
290
947
906
653
884
190
670
45
515
755
715
195
219
651
306
925
348
771
200
310
844
174
202
699
117
768
252
364
376
12
657
162
484
109
814
960
959
185
858
561
547
156
711
879
869
728
921
643
140
61
944
844
644
944
973
613
341
223
223
119
125
295
496
792
706
596
169
499
107
961
411
610
209
464
514
867
117
91
679
852
231
562
961
765
301
163
577
573
634
991
542
79
654
9
725
135
101
594
484
29
47
165
812
565
763
229
954
351
602
24
667
195
24
106
583
192
243
646
937
643
52
712
7
753
32
997
845
975
880
910
530
231
630
892
930
335
339
352
505
407
286
261
380
633
446
231
659
797
184
387
82
376
580
181
92
137
363
779
380
759
633
377
673
298
351
423
251
787
249
944
552
781
241
244
615
650
668
804
830
654
627
710
11
419
606
544
689
378
80
153
996
306
354
204
748
261
32
899
869
684
673
575
531
603
184
256
409
774
266
752
106
87
488
404
811
668
686
750
427
805
650
406
139
640
985
415
207
657
521
23
880
234
691
909
300
450
786
841
829
186
401
570
699
98
810
988
228
547
638
920
891
249
263
790
386
86
968
929
765
275
355
425
932
762
850
518
760
579
645
616
531
398
539
558
621
124
322
413
7
712
313
205
826
670
190
283
613
772
281
432
296
713
676
516
104
21
489
354
377
748
207
89
613
334
738
321
906
766
889
841
483
239
757
224
280
513
267
216
536
299
270
713
135
945
856
135
879
481
743
23
533
929
498
793
466
786
460
625
412
573
65
244
476
777
16
949
607
95
778
687
869
367
726
37
16
469
601
132
950
64
723
475
36
107
403
485
343
572
33
751
322
209
514
841
93
550
530
142
142
842
425
922
538
901
624
678
606
629
354
662
75
142
324
637
341
747
961
807
860
786
654
5
852
453
888
636
91
606
743
713
874
960
998
212
85
978
160
484
225
691
132
982
497
528
64
611
645
470
415
222
502
686
315
459
692
906
851
153
426
855
425
832
963
430
250
993
522
711
976
452
3
353
532
64
928
178
670
763
120
832
131
238
63
214
23
618
993
737
937
22
806
957
392
484
335
758
520
762
491
707
750
627
790
425
357
438
220
842
350
713
685
878
376
223
481
798
268
458
127
539
337
833
620
883
870
243
186
736
405
775
683
38
72
995
508
283
412
660
834
505
819
93
235
412
276
799
928
368
741
346
21
233
176
997
504
712
520
496
234
421
108
815
555
972
33
628
368
514
372
313
495
761
5
913
739
421
759
41
485
756
697
136
639
408
146
328
489
150
199
796
997
588
334
464
851
284
201
180
412
32
110
136
548
961
899
617
158
73
293
119
882
945
795
720
929
435
553
198
964
492
735
99
891
707
188
516
306
401
202
815
627
537
598
530
943
593
57
264
957
284
755
922
596
364
592
654
827
616
447
207
227
425
341
699
598
508
323
765
972
921
485
993
647
925
458
169
158
365
12
313
657
340
81
687
498
308
116
840
558
448
536
411
189
56
250
816
347
836
34
393
859
600
963
977
575
733
194
718
697
464
435
150
739
376
511
759
404
209
924
901
727
777
347
105
168
149
775
888
101
941
267
491
148
749
19
994
95
167
499
725
515
970
504
512
27
273
97
943
998
901
444
10
496
171
62
745
251
267
546
316
669
43
223
497
609
910
769
683
921
120
16
888
651
804
143
598
178
32
226
873
793
542
192
812
212
425
993
208
801
405
785
579
443
71
170
545
914
676
71
832
60
315
36
998
134
414
702
769
793
742
47
224
646
908
212
309
170
780
209
99
267
243
176
388
108
567
759
738
181
510
952
578
936
185
554
468
183
637
390
117
794
437
898
259
215
594
404
816
551
657
330
63
744
876
429
890
391
100
77
979
749
933
310
409
812
505
766
866
276
970
95
794
546
249
730
272
504
186
962
65
26
174
742
210
887
305
350
174
568
662
813
831
184
96
799
356
664
182
351
969
662
548
128
275
826
204
286
309
219
41
401
184
367
176
435
139
223
525
725
592
365
964
496
634
110
202
270
845
751
203
264
588
80
543
258
485
22
96
891
245
190
250
938
865
200
729
157
178
469
736
89
800
731
383
783
855
616
594
742
697
176
652
626
666
361
21
181
768
573
705
705
115
639
686
489
34
160
265
384
189
59
917
756
993
153
787
824
123
606
822
370
7
62
752
21
985
180
69
695
241
584
270
683
279
218
594
62
552
495
39
58
826
467
208
807
308
149
915
971
855
453
715
617
71
324
872
166
742
586
667
282
499
479
43
668
577
361
390
873
3
243
698
822
895
383
402
150
865
656
882
598
724
268
252
695
500
204
347
237
678
653
772
234
673
825
249
313
69
13
422
226
147
136
153
776
222
37
106
237
264
155
608
42
309
205
564
841
588
639
519
222
451
844
301
434
648
204
810
667
321
425
524
494
931
845
83
60
933
869
596
553
410
746
613
468
147
604
64
804
943
835
397
544
339
679
975
90
525
602
687
551
322
121
415
259
173
158
598
831
687
555
434
516
336
619
950
596
261
673
32
830
501
249
892
772
600
807
956
631
502
790
335
675
832
227
730
523
212
818
767
697
117
927
732
682
504
16
259
127
670
270
140
691
139
566
778
280
903
366
769
254
380
250
375
57
412
999
191
793
300
368
611
525
217
125
821
850
916
407
906
830
572
380
332
213
847
222
804
275
420
338
269
337
648
87
571
732
132
230
467
998
702
72
14
204
162
891
586
292
969
718
123
90
888
824
646
530
638
301
739
732
16
767
332
258
249
736
133
292
565
713
320
435
395
510
628
979
301
522
553
711
713
524
769
955
488
529
584
582
543
147
219
318
481
464
926
929
456
187
0
665
384
863
542
913
366
332
390
826
511
924
108
554
270
141
903
593
743
280
689
250
462
797
823
567
790
262
5
40
956
643
824
781
505
865
303
675
871
172
569
445
131
699
509
296
928
541
106
733
571
203
281
607
758
666
838
748
979
300
744
323
735
486
901
817
416
960
453
224
859
758
522
186
41
143
35
721
505
944
151
234
472
140
618
187
109
488
171
771
783
182
740
195
912
122
922
647
616
83
162
971
596
69
748
131
537
714
390
591
29
802
72
879
357
96
222
14
197
441
248
460
347
56
389
114
671
213
92
99
384
795
695
792
71
832
267
918
803
223
102
333
902
224
824
406
679
862
776
865
247
489
130
756
152
820
698
617
773
236
567
344
323
921
365
160
215
584
485
681
975
367
296
563
703
949
181
15
39
957
657
853
973
783
707
241
134
482
338
151
218
812
4
581
363
2
640
74
190
192
741
328
198
67
986
246
830
362
510
718
120
505
227
743
610
97
100
912
381
221
138
822
728
233
430
78
594
773
512
792
504
709
357
540
806
845
498
112
402
14
147
536
117
685
549
598
768
722
457
289
988
971
8
688
708
586
621
771
20
957
349
353
34
818
406
141
963
740
272
725
279
180
522
301
539
534
943
770
670
153
128
459
774
192
997
489
395
683
113
209
76
687
48
798
972
691
416
933
270
361
852
656
105
658
648
483
125
961
289
955
90
790
262
580
344
560
831
990
926
933
211
821
485
871
889
413
422
87
848
477
677
581
59
579
601
357
501
315
639
465
430
93
527
241
859
395
134
421
22
474
521
984
183
377
235
496
99
450
732
275
31
852
257
325
859
598
646
34
430
227
171
12
173
458
42
559
45
484
346
728
972
728
474
289
622
825
75
179
603
277
130
471
30
596
975
340
926
837
516
139
789
176
623
113
618
981
608
364
429
439
166
248
737
715
912
423
172
589
593
336
542
559
720
60
682
207
437
95
467
832
238
301
686
467
330
341
19
325
847
871
272
584
864
244
795
994
452
538
658
501
75
659
482
593
674
256
268
137
941
968
285
404
723
299
770
660
878
714
630
395
627
951
505
257
200
737
110
380
276
715
586
734
433
177
353
917
163
991
565
81
219
244
868
838
580
130
201
880
858
531
389
968
367
353
552
324
971
926
359
147
633
339
575
973
95
76
68
691
235
125
109
764
318
396
236
919
614
608
281
66
590
806
138
622
225
740
555
554
203
378
43
483
549
877
56
780
467
537
660
448
589
494
382
829
988
424
61
387
906
923
62
400
277
802
818
378
429
445
941
748
276
30
14
814
122
165
916
704
601
558
731
867
689
465
704
258
864
151
406
270
748
851
739
771
918
923
24
807
334
729
990
905
406
169
712
749
243
222
220
982
197
369
438
485
629
589
503
966
208
759
31
237
339
989
749
236
511
32
947
244
199
554
98
431
231
258
506
735
277
238
797
880
170
590
693
775
877
517
466
160
161
81
288
705
128
707
217
481
187
972
127
533
103
525
454
17
329
655
491
454
100
625
748
908
407
389
445
92
752
621
929
343
121
950
357
277
805
317
746
244
787
779
431
629
579
309
170
899
611
676
411
944
503
782
389
495
97
120
916
420
22
784
869
352
680
594
523
342
562
709
277
584
269
15
181
837
294
207
229
625
909
85
559
395
180
92
509
348
810
602
491
248
432
658
26
760
853
71
87
624
777
180
204
145
546
472
733
882
2
35
664
725
757
892
338
852
630
401
675
90
6
461
472
114
836
430
575
585
148
514
989
229
133
888
939
534
274
759
112
914
857
82
969
893
666
874
880
843
647
558
337
390
54
601
869
123
625
779
10
382
366
974
180
680
750
386
747
887
431
501
896
429
590
239
882
61
411
951
627
256
67
859
867
387
773
442
139
821
727
192
98
482
792
228
655
776
20
301
400
684
760
957
271
971
506
941
807
480
376
254
27
691
521
500
343
778
316
182
851
94
58
475
321
940
927
611
21
672
788
186
274
688
289
858
198
543
668
79
95
185
811
363
655
918
867
762
904
905
324
212
141
869
592
713
552
602
870
179
709
795
859
300
859
558
131
961
866
393
771
575
427
992
609
801
199
290
878
454
842
484
258
157
519
300
580
122
128
963
556
814
513
374
95
390
48
985
112
644
995
319
136
763
796
454
968
468
860
983
564
936
540
749
503
572
670
622
488
792
156
601
691
712
873
668
737
380
452
681
561
557
172
723
907
749
279
71
910
945
460
636
889
879
740
962
359
117
218
195
93
161
497
538
920
257
911
305
380
473
543
868
136
65
462
403
666
987
321
940
842
126
556
890
270
812
746
806
327
750
589
852
536
92
637
454
38
62
957
748
199
791
966
761
376
941
382
837
636
231
154
13
728
209
257
746
639
624
736
509
237
386
208
364
923
314
655
986
664
431
961
504
615
864
497
963
199
577
309
577
871
361
732
824
582
631
759
40
790
557
983
22
942
994
12
846
410
242
871
457
92
290
191
592
11
188
32
114
638
411
525
115
330
3
433
671
489
971
997
302
42
224
445
439
350
600
867
214
763
29
394
945
533
774
292
55
945
249
594
595
287
212
845
946
160
931
36
602
961
751
411
217
496
248
879
771
260
380
585
517
838
988
739
960
792
660
205
203
125
263
158
996
437
631
314
383
131
488
914
545
916
378
623
347
545
396
316
838
769
114
885
732
633
127
489
578
655
794
29
893
178
812
910
688
692
70
246
495
842
247
564
680
609
747
434
689
831
137
349
920
332
322
609
105
676
736
385
602
94
112
864
205
498
410
78
525
630
431
484
263
329
116
719
435
460
624
38
695
44
669
793
288
707
229
673
674
252
947
507
554
788
698
710
401
818
316
866
85
382
520
660
357
362
462
618
840
398
379
376
260
552
714
386
26
973
760
931
928
149
484
521
659
534
668
897
401
539
226
314
389
319
150
618
858
373
418
396
273
942
485
247
160
258
769
385
746
862
356
323
996
709
336
609
795
877
239
546
582
785
357
510
912
427
53
998
374
978
592
53
99
403
480
594
344
262
196
194
876
172
141
875
254
387
917
134
455
754
214
186
286
86
589
216
621
593
881
520
230
437
833
261
90
861
446
284
947
866
102
854
647
176
557
105
144
360
880
679
396
285
427
57
15
175
166
106
58
567
681
968
31
590
821
465
191
49
496
311
763
479
231
476
323
14
964
495
746
386
449
648
149
802
226
983
827
204
264
811
573
517
317
830
365
92
560
125
301
154
242
904
696
795
22
167
655
628
179
442
434
396
812
649
717
893
674
405
26
490
912
252
527
441
822
908
370
502
60
267
810
24
110
624
156
591
994
780
203
641
81
31
80
415
44
387
713
423
999
281
858
322
360
791
355
718
325
271
950
170
302
904
338
975
898
853
467
159
274
189
35
992
722
515
36
384
288
426
88
458
796
595
963
283
365
173
47
351
370
768
343
795
470
601
176
10
703
50
475
928
449
212
690
600
993
965
90
685
762
877
163
351
149
297
803
393
340
86
693
671
920
526
177
63
181
73
949
167
284
145
545
261
840
890
55
121
374
617
934
91
402
824
590
311
869
359
690
582
564
718
83
528
504
551
362
57
916
185
441
496
974
580
945
777
334
46
673
958
393
600
377
899
628
848
61
222
600
716
717
382
760
889
262
911
102
884
568
927
183
466
332
111
886
140
566
443
693
222
937
206
162
990
103
805
251
591
619
964
243
429
269
516
200
12
199
575
924
677
4
814
768
460
18
309
181
423
890
681
742
233
7
514
384
850
569
682
552
407
238
29
416
68
580
569
296
636
951
564
433
127
33
213
357
855
559
406
166
326
29
147
470
82
116
826
749
702
684
626
397
964
638
726
160
240
706
742
446
922
468
56
531
516
372
95
595
503
729
735
797
473
588
913
643
835
700
819
417
272
379
859
764
734
381
591
211
412
219
823
386
863
822
488
358
175
976
235
399
265
801
45
165
377
142
858
381
30
173
318
603
576
209
476
313
665
93
873
600
341
469
36
924
122
675
658
90
106
322
646
391
120
544
799
167
516
167
572
682
294
258
103
991
927
925
64
717
762
390
55
84
951
227
824
461
110
805
464
689
707
219
587
112
637
128
102
747
77
502
53
49
631
844
748
321
901
638
517
303
486
264
685
5
262
175
728
486
420
627
684
649
527
44
742
124
94
734
238
75
689
46
532
847
120
964
688
154
475
620
709
397
282
964
790
985
972
860
31
221
100
474
488
297
532
80
807
417
220
112
109
480
358
334
960
567
202
366
528
675
185
297
458
470
710
564
349
536
781
48
266
432
155
826
71
382
333
545
402
954
851
62
503
990
678
761
114
456
417
673
563
904
886
712
362
490
329
751
533
92
218
530
939
769
782
452
954
130
237
312
593
568
494
146
251
863
609
462
295
871
626
690
338
718
599
281
28
325
754
829
779
895
722
956
251
112
278
930
21
625
742
456
647
905
808
747
951
17
79
275
236
469
537
863
859
411
1
61
873
333
152
946
750
641
964
30
198
352
243
876
285
447
782
621
964
206
585
477
691
444
195
811
344
121
418
524
317
800
317
34
526
80
49
807
771
844
468
947
602
299
113
653
952
468
495
203
810
855
406
213
882
720
809
466
119
115
947
108
685
783
822
67
622
92
532
646
101
35
652
304
615
970
747
591
234
482
197
593
982
461
398
981
486
69
899
448
739
927
439
427
385
640
22
126
562
559
820
561
26
821
729
937
456
738
213
774
749
323
247
844
351
495
597
497
693
192
217
828
21
767
581
345
680
277
913
307
640
840
337
757
793
739
507
367
448
730
907
218
943
966
437
78
6
767
724
649
828
585
579
779
286
125
96
962
929
801
39
869
76
877
719
24
305
256
812
883
273
147
9
572
948
273
226
432
739
769
461
964
749
306
782
603
58
704
214
564
617
252
557
123
185
701
821
600
260
449
892
705
310
168
349
272
851
800
867
238
632
346
585
265
245
843
430
651
419
287
502
202
387
129
561
654
803
913
614
167
694
853
607
578
722
231
634
53
694
621
560
304
976
557
27
861
703
923
587
149
880
876
694
368
349
398
165
149
550
875
745
863
433
969
842
222
799
261
967
683
235
598
100
832
686
363
638
721
68
37
806
466
419
178
364
248
614
323
195
138
365
565
679
65
88
960
267
296
757
209
734
5
976
720
801
148
41
532
610
342
797
910
326
621
645
657
421
321
848
340
352
937
446
980
423
531
612
671
644
546
419
536
261
267
361
316
749
282
217
549
917
825
951
217
71
813
151
797
83
633
358
867
869
925
546
870
337
524
276
672
448
271
20
196
665
886
706
49
423
220
432
679
664
70
662
670
575
208
808
879
226
683
402
41
905
55
60
538
976
246
377
85
389
551
874
412
422
113
701
805
612
410
369
27
181
809
830
457
844
203
316
106
733
802
71
938
438
144
515
782
828
137
780
817
410
367
938
686
851
877
608
58
332
944
815
424
974
854
691
623
417
630
64
29
95
605
377
743
569
772
493
58
422
812
670
45
503
181
347
644
777
519
984
25
13
867
659
581
417
864
479
89
689
236
341
224
614
315
954
74
641
400
949
381
916
236
900
34
645
108
629
707
50
977
264
467
228
51
661
373
227
764
419
922
773
704
164
986
918
852
955
40
830
833
767
671
166
240
840
28
16
640
551
165
484
614
73
224
686
652
653
710
591
400
90
954
247
584
584
915
692
842
543
378
446
718
111
712
171
331
257
415
451
120
662
797
943
116
674
371
5
207
865
547
733
697
956
933
697
312
939
444
170
9
668
956
186
752
770
682
255
66
373
70
882
242
381
60
889
657
369
391
793
86
126
222
199
561
483
9
905
61
29
487
219
136
483
67
254
275
577
422
947
965
831
509
977
801
39
99
414
518
256
245
686
656
762
984
188
78
945
377
526
575
704
129
719
949
581
993
199
870
584
408
840
153
10
383
627
485
282
724
64
663
595
950
344
979
464
248
874
23
46
115
820
680
13
261
148
988
720
424
136
414
821
435
914
28
690
898
593
361
217
728
855
717
772
270
816
895
895
106
996
60
515
260
870
700
31
625
872
2
86
134
559
874
778
461
889
100
365
980
15
494
474
412
478
339
354
23
716
256
677
45
976
846
927
618
338
968
437
64
983
980
355
448
250
157
564
558
862
178
488
780
584
35
574
797
846
13
437
380
25
243
766
138
91
566
3
921
250
154
787
836
650
389
6
473
526
168
1
575
484
277
771
409
762
210
801
213
724
540
582
290
644
86
67
770
635
893
441
129
538
568
914
761
754
506
328
219
587
246
914
388
89
196
812
895
891
38
312
119
488
75
670
699
659
28
662
679
751
41
888
792
183
298
189
765
393
127
882
269
221
727
457
641
634
484
473
531
942
244
985
629
578
311
813
781
271
937
455
703
832
627
756
297
302
647
384
773
972
109
492
526
761
522
325
918
920
697
137
933
188
37
764
773
68
908
64
105
460
266
421
559
21
715
147
343
651
265
900
414
555
513
664
44
519
341
499
122
183
661
386
601
844
420
777
742
30
622
196
643
532
378
280
435
767
35
604
479
635
68
77
396
322
827
766
531
745
27
193
68
627
679
403
993
251
76
525
721
395
659
474
570
519
596
990
682
825
642
988
109
315
450
853
76
915
453
497
21
389
717
60
362
685
694
717
597
849
10
189
537
939
256
612
214
329
930
670
187
667
526
369
948
290
201
241
353
205
363
683
992
80
311
255
13
937
56
540
794
320
13
545
21
943
246
131
233
24
233
297
336
821
151
949
913
126
627
563
988
732
698
804
773
375
216
458
941
276
230
688
442
118
714
20
660
856
261
825
547
554
596
717
126
51
538
992
465
44
68
361
726
278
578
440
701
557
370
677
789
548
851
609
618
367
550
532
874
359
696
382
324
651
645
261
806
847
109
164
167
334
370
551
799
451
183
487
199
902
729
585
18
879
240
723
927
956
897
925
59
948
862
799
537
200
390
563
983
40
65
381
139
755
702
216
709
824
703
644
486
835
163
139
435
953
428
791
974
366
349
962
910
780
974
99
834
21
880
320
120
589
614
190
738
882
356
715
201
34
627
933
840
422
143
857
552
187
952
635
782
611
274
609
21
388
506
593
447
344
0
360
364
977
688
589
835
673
754
800
176
472
389
51
855
629
130
916
352
612
250
34
282
550
401
20
382
880
963
734
544
349
593
142
839
548
214
725
354
681
132
516
77
952
412
574
562
734
245
4
741
354
801
694
104
544
622
912
617
268
320
829
267
422
691
283
150
294
22
640
718
984
540
16
770
696
845
981
688
203
441
405
49
773
396
229
271
937
354
505
301
88
442
317
10
401
624
121
593
780
0
965
702
794
675
632
921
230
6
956
163
612
852
787
189
649
70
965
266
280
207
28
820
224
536
590
607
435
393
705
649
299
269
697
95
997
345
569
718
74
485
719
340
241
226
418
494
587
200
631
848
516
69
643
456
209
611
409
954
261
818
317
807
436
740
236
424
329
747
815
993
255
655
52
613
98
742
649
713
301
468
136
900
471
499
428
654
863
39
512
380
83
442
267
736
691
605
547
434
241
189
605
322
962
110
280
10
133
484
53
684
321
272
798
504
483
624
106
401
376
830
14
958
58
876
32
995
253
696
130
419
741
276
716
919
889
435
116
121
701
481
213
437
108
614
807
500
529
460
778
219
717
652
58
995
693
712
640
127
511
877
865
875
818
20
270
212
489
593
427
105
28
736
573
525
755
753
940
917
369
589
439
764
672
75
68
893
726
100
296
854
388
823
470
877
266
201
688
906
619
499
212
156
314
604
203
850
475
749
57
548
757
439
882
992
446
676
142
595
383
528
552
858
625
992
70
839
439
153
464
795
296
504
14
544
771
449
598
304
917
997
23
439
292
27
791
538
250
615
176
223
164
165
589
127
210
278
289
586
210
141
381
360
585
467
76
281
459
329
413
238
85
285
785
589
218
886
24
550
3
842
263
581
78
938
940
181
163
754
996
527
263
848
59
398
201
672
464
675
425
845
986
381
714
978
814
649
725
150
344
398
836
239
714
588
557
89
247
259
899
496
990
164
283
729
769
185
66
515
922
996
453
320
794
960
431
960
788
871
101
650
694
774
526
520
89
82
25
770
482
454
713
219
45
314
959
402
147
414
967
6
811
442
235
906
993
485
149
491
623
223
973
928
264
802
449
814
887
307
176
150
553
429
415
731
988
562
6
272
911
226
427
37
506
200
700
450
847
456
648
201
114
817
448
904
947
683
835
868
731
127
803
387
248
951
304
381
917
322
506
239
489
66
963
612
629
407
32
362
434
536
832
506
881
686
134
226
183
668
180
735
977
87
197
125
445
759
277
311
698
240
489
144
218
601
744
308
833
789
437
67
607
222
172
983
282
809
26
184
710
819
520
180
648
995
160
451
567
735
361
854
837
483
960
673
548
49
873
383
867
615
147
869
221
441
429
508
2
130
44
349
708
252
338
10
352
978
38
931
203
722
983
36
522
888
423
408
533
273
732
940
722
473
102
70
306
955
654
809
462
816
399
852
580
917
921
797
445
83
576
129
630
26
415
92
361
642
109
395
625
690
713
387
612
60
775
119
388
848
124
225
52
35
971
745
374
577
38
991
74
811
954
933
505
968
396
212
903
217
688
779
942
197
11
847
950
947
269
159
842
851
627
407
140
878
285
637
733
518
458
345
986
205
745
531
402
958
960
765
536
314
203
877
975
452
530
898
935
779
897
374
89
657
16
170
185
912
154
356
877
99
378
660
692
61
832
690
362
853
133
800
467
10
820
296
606
439
256
338
582
405
582
105
897
589
263
808
342
412
873
133
701
229
913
133
143
993
315
333
286
962
566
430
457
30
930
941
820
97
413
893
84
544
612
631
774
743
13
304
427
689
34
198
741
99
163
370
110
398
314
34
442
805
225
754
934
355
158
497
391
459
167
759
967
738
642
781
21
638
987
114
364
900
565
411
705
460
523
32
831
52
814
191
516
131
614
782
827
244
639
881
279
323
197
313
38
466
944
529
725
52
360
461
568
77
702
970
808
741
209
83
791
8
195
448
838
565
97
470
592
108
166
835
703
357
414
490
99
714
0
429
385
210
411
219
87
127
670
507
863
31
677
165
849
756
735
199
382
107
633
26
764
244
726
67
769
939
493
634
489
808
11
443
740
546
799
141
996
663
330
144
994
634
322
78
474
378
306
729
699
303
49
815
412
961
452
829
615
260
538
795
175
260
315
840
905
470
234
354
85
258
102
297
744
328
789
385
446
453
35
52
845
293
591
937
492
360
698
90
410
922
922
212
298
272
15
157
740
16
431
610
600
76
253
978
489
550
991
648
702
571
43
592
264
506
289
427
959
686
779
246
822
806
151
938
534
377
364
774
26
732
197
297
235
427
431
33
339
229
671
833
668
505
719
4
659
556
162
978
773
980
299
566
206
289
283
687
390
255
237
268
826
752
427
367
339
878
964
340
299
416
625
665
41
619
870
241
512
872
263
133
632
488
88
853
692
650
299
831
535
866
832
389
101
622
32
660
805
318
347
684
227
247
300
780
54
108
912
301
229
644
292
801
697
714
424
455
30
20
910
978
121
525
155
919
4
735
670
787
482
672
409
402
747
156
349
655
991
172
805
195
300
49
683
406
574
508
852
963
96
182
539
822
578
863
372
952
419
934
721
802
349
148
721
616
326
396
541
157
644
394
318
28
348
649
598
672
548
568
942
910
236
267
408
256
138
614
118
465
620
574
901
370
891
900
107
413
161
467
625
882
974
14
910
662
506
903
156
64
501
281
71
550
437
811
524
867
499
747
383
253
73
366
402
325
836
129
898
740
26
558
639
538
316
465
645
115
460
972
520
879
724
217
913
850
676
175
232
275
437
758
95
142
785
722
799
858
354
412
195
258
914
502
558
545
464
329
576
770
115
454
288
99
908
571
531
904
268
810
913
503
352
440
106
938
702
485
405
279
378
19
24
215
995
210
123
489
734
450
636
240
977
979
439
83
441
958
882
879
207
636
874
220
672
508
347
333
606
445
68
890
715
374
253
626
656
72
697
82
637
738
715
666
52
306
598
945
218
458
147
806
692
350
565
204
245
242
662
23
278
165
441
591
332
964
493
49
292
9
240
924
487
557
960
365
667
795
515
521
914
48
293
480
976
604
950
843
354
458
231
582
284
7
773
269
163
330
295
827
336
557
636
190
482
755
136
83
544
920
304
967
83
529
724
417
698
766
168
836
377
587
905
849
197
682
708
131
663
629
479
67
125
993
568
97
95
858
833
4
742
559
131
119
838
817
510
896
992
785
146
374
958
140
723
622
837
187
127
482
566
608
952
181
265
313
911
964
665
572
357
238
79
967
208
3
725
739
747
131
686
143
571
290
655
977
960
954
680
919
313
186
900
442
171
458
959
577
916
92
126
360
303
737
251
841
583
11
765
649
462
29
700
934
668
706
803
605
491
80
227
815
709
527
755
203
806
850
876
330
302
831
148
983
481
730
618
906
233
802
337
237
355
865
104
600
850
240
951
622
218
311
654
402
691
5
137
503
690
507
990
556
444
264
688
110
667
812
379
669
118
197
857
961
757
711
555
153
171
296
897
37
666
491
558
520
167
115
734
860
418
755
375
443
637
793
758
622
95
101
25
671
160
687
777
699
515
723
998
152
74
902
254
316
989
23
493
744
1
202
799
401
717
898
929
819
645
521
131
489
110
272
446
244
389
304
743
17
6
681
58
366
952
171
177
55
455
847
574
135
344
673
421
841
540
346
591
752
804
847
839
65
975
911
139
758
645
377
567
919
945
786
389
790
236
847
795
85
604
334
654
131
55
800
505
562
24
431
953
609
799
662
922
550
103
582
770
228
474
517
830
11
958
749
208
285
397
761
798
660
439
310
90
267
863
524
213
183
430
649
64
620
765
261
385
873
279
599
949
16
884
916
766
30
309
780
523
907
558
684
839
113
524
143
445
876
535
286
121
133
371
812
882
623
256
498
75
186
2
951
592
940
720
828
244
726
949
783
541
835
392
50
675
162
379
550
715
426
144
336
944
842
169
366
561
684
589
368
806
376
446
590
357
272
699
710
308
585
215
847
516
519
949
442
632
906
697
209
648
122
697
7
312
450
476
297
95
431
727
590
708
792
27
80
822
585
679
775
13
400
564
431
252
34
666
181
692
24
698
640
935
597
61
151
75
639
621
919
912
852
61
437
613
620
368
600
19
203
792
466
542
994
449
793
568
287
8
902
510
737
107
463
688
778
314
364
126
329
81
679
296
787
350
989
252
982
117
983
7
239
522
879
539
650
584
456
124
111
653
678
451
16
815
630
793
928
967
331
993
497
849
865
731
886
653
755
81
838
623
317
201
11
144
825
849
893
108
298
730
285
939
406
176
888
605
402
236
420
973
133
888
743
442
360
956
122
749
373
352
532
860
872
51
289
6
249
336
578
241
883
348
156
813
881
747
840
494
611
357
85
832
473
70
384
500
721
827
764
753
839
879
445
516
594
952
105
917
898
104
593
608
682
279
0
797
635
684
210
417
826
571
222
906
666
963
722
819
508
724
928
216
776
570
37
202
34
828
735
401
389
867
692
313
97
763
306
969
285
800
431
166
513
211
985
343
748
234
290
103
751
936
264
586
904
341
179
419
419
162
344
275
620
526
70
269
367
400
454
199
149
931
495
674
274
28
752
108
862
717
959
732
292
274
784
546
694
869
513
366
4
356
856
577
121
256
209
474
489
536
618
261
655
438
379
804
662
279
920
377
174
741
101
498
640
596
77
722
45
715
791
129
899
146
139
935
917
638
873
417
791
243
775
17
348
176
93
215
392
770
559
162
764
338
969
837
946
479
60
457
50
345
957
368
62
949
39
348
927
686
630
827
988
950
348
84
164
962
286
689
743
102
463
250
708
75
138
967
766
785
973
845
859
861
995
528
904
183
506
982
411
107
492
771
333
888
643
782
386
780
267
934
769
479
919
370
141
912
32
905
372
290
104
280
163
223
868
230
561
475
736
86
62
620
474
987
831
574
925
523
576
339
372
649
895
311
234
644
599
227
938
82
518
310
352
253
458
924
507
731
452
375
365
666
986
832
720
112
97
499
147
519
422
836
206
912
523
442
444
72
366
599
128
571
363
498
467
216
355
50
383
89
221
625
677
914
276
265
705
852
238
65
456
13
637
323
987
928
681
550
738
697
23
37
426
665
162
287
149
626
808
209
808
894
415
304
990
412
353
17
764
635
101
891
853
914
658
290
140
948
557
49
543
784
872
391
193
859
199
328
702
391
335
266
837
529
619
529
742
88
800
530
788
784
328
360
506
303
806
906
370
703
574
899
386
140
479
934
319
165
685
920
662
218
812
601
541
849
645
98
365
368
512
151
384
500
476
226
938
350
627
677
599
987
471
326
509
568
593
852
611
534
314
289
113
3
736
204
110
0
989
821
317
245
104
821
26
966
894
101
947
91
843
670
447
753
841
760
969
712
460
185
237
526
249
195
523
292
800
853
194
342
381
234
887
118
799
645
88
531
413
647
15
972
29
861
768
438
909
579
921
768
51
699
907
590
71
954
594
793
715
522
187
942
389
222
890
263
755
984
382
252
580
654
962
750
872
55
520
644
689
767
535
57
559
831
702
906
456
503
652
783
887
601
74
401
402
818
738
483
311
33
962
417
769
135
362
896
608
193
766
114
434
41
256
687
542
418
226
273
563
29
115
41
517
570
224
606
649
895
109
822
325
314
860
476
589
208
517
533
396
443
807
328
451
623
983
400
95
105
155
469
447
284
243
248
88
261
29
690
972
594
905
851
230
675
669
209
862
278
764
230
752
220
728
350
866
519
901
70
230
194
545
891
720
64
381
668
92
932
353
329
211
614
635
855
391
681
511
401
849
937
916
121
876
31
888
159
141
782
188
318
826
762
192
53
663
159
297
643
89
668
883
39
496
283
379
22
743
879
603
129
21
436
892
51
291
504
108
43
496
605
255
343
700
826
190
792
64
251
387
653
879
171
795
347
810
906
512
472
220
493
760
536
749
248
372
658
731
67
229
480
499
909
953
545
771
117
410
292
762
355
669
812
725
141
723
919
140
456
789
263
550
103
723
597
213
803
452
750
651
985
996
33
550
563
334
449
428
413
955
775
384
266
9
914
322
807
819
995
26
796
909
758
376
254
149
183
869
601
657
597
947
513
367
29
219
318
332
301
317
566
421
582
215
542
136
894
210
332
215
438
378
386
762
460
361
388
519
61
965
543
597
959
76
712
40
56
591
961
393
794
933
801
110
316
556
223
482
744
344
788
757
220
618
445
288
667
365
86
635
873
469
208
501
185
452
403
571
147
401
725
232
964
820
906
62
691
649
390
685
758
172
883
55
596
657
163
95
98
883
814
199
113
571
356
627
553
307
562
930
302
265
449
587
121
852
730
345
927
780
554
770
692
954
144
5
138
170
203
492
481
489
274
814
320
625
28
842
368
565
510
414
517
806
833
176
765
468
830
274
856
470
929
485
379
483
273
661
250
29
378
78
9
105
882
828
816
149
299
311
673
194
827
803
724
103
188
106
26
313
99
433
10
780
648
883
445
452
841
255
194
801
718
198
45
27
43
588
594
683
420
846
915
240
851
705
568
749
238
714
757
420
654
996
384
476
842
780
176
298
617
103
259
812
567
663
269
15
137
515
738
231
224
630
183
336
407
109
360
993
44
609
826
534
790
57
857
492
347
95
888
515
426
511
417
767
653
585
826
660
637
458
53
412
194
954
394
432
151
910
316
774
738
542
282
514
456
138
846
449
828
185
865
954
878
447
332
252
28
542
972
940
662
946
304
851
459
760
201
92
316
679
981
446
498
845
795
360
539
442
815
362
21
319
979
727
572
660
636
453
283
744
582
657
698
137
354
6
460
365
543
699
382
246
355
973
665
183
655
512
281
219
945
104
485
455
4
316
259
263
575
200
219
303
930
563
994
329
476
716
241
640
71
87
645
6
294
789
104
481
96
804
107
878
320
74
466
433
344
981
335
733
438
757
362
751
751
7
478
873
272
40
544
879
201
261
858
723
926
760
334
515
220
746
928
241
725
346
152
394
484
645
914
845
398
634
576
824
428
267
707
322
297
269
266
428
122
302
976
314
677
606
228
927
480
215
245
617
595
492
371
828
242
811
771
660
215
218
413
367
969
356
473
390
948
765
61
913
593
415
124
719
976
591
589
364
742
42
379
790
239
878
988
78
904
715
207
75
22
351
329
258
533
957
109
317
979
582
499
896
166
520
882
115
838
749
654
389
529
948
363
491
885
601
309
731
99
280
498
297
485
716
155
389
193
878
617
151
233
423
924
392
175
287
155
493
172
669
636
877
872
676
31
571
992
743
85
794
385
988
918
994
243
542
549
105
738
210
471
425
700
145
891
817
755
831
838
264
66
593
433
429
998
983
83
799
621
713
334
863
85
707
20
778
112
599
294
741
811
292
827
74
516
376
852
153
265
604
66
77
149
883
33
912
543
144
449
348
393
171
980
855
66
342
103
499
648
300
444
788
300
498
585
316
872
450
380
119
300
351
77
711
618
58
373
504
684
398
679
352
120
313
937
107
133
716
693
886
535
610
716
540
222
803
593
954
508
241
563
606
442
698
380
156
662
583
824
453
607
467
233
572
489
901
993
936
581
522
522
730
775
480
565
470
817
712
841
819
828
529
960
826
732
662
406
479
273
34
442
157
401
690
980
345
690
975
645
740
287
736
234
334
943
18
153
261
572
378
909
849
485
473
52
631
417
907
37
105
280
442
218
507
417
948
750
862
317
559
447
313
612
223
552
892
897
838
78
846
204
949
934
991
610
607
764
139
497
133
463
668
662
832
177
147
568
59
206
639
411
755
780
23
272
5
76
373
685
906
590
794
566
819
8
802
108
216
878
971
734
162
776
424
891
507
664
356
478
145
926
739
272
918
394
667
200
198
4
264
470
770
383
728
995
874
45
167
939
328
569
643
924
205
260
551
542
831
696
792
666
715
144
991
216
616
241
115
531
69
222
261
461
160
772
976
111
489
6
204
37
486
964
262
440
762
959
778
893
917
159
336
204
421
937
903
14
243
70
493
679
644
122
172
556
781
300
282
323
880
533
566
943
175
481
408
162
430
24
51
791
770
36
100
10
33
384
185
596
275
425
776
336
527
102
962
867
853
43
853
866
627
13
559
910
254
141
642
224
418
408
399
532
42
908
971
758
361
257
326
372
518
8
171
149
863
816
407
499
237
347
121
646
441
873
187
159
382
342
367
394
461
772
851
216
808
195
107
204
67
43
713
293
600
115
355
401
536
179
519
672
668
589
28
351
273
301
6
314
22
19
128
853
904
368
25
878
662
184
563
432
732
501
249
166
987
137
637
505
998
2
722
661
475
708
881
441
190
758
592
115
905
792
20
122
887
531
276
232
660
539
408
374
986
766
67
122
466
53
220
19
418
624
806
891
435
634
416
648
717
311
391
796
90
319
342
13
0
721
382
130
476
871
980
697
362
837
887
422
136
990
231
505
11
849
656
89
428
570
985
819
709
885
681
307
369
160
106
171
565
744
812
227
663
627
411
800
483
259
15
835
804
896
308
566
885
919
606
158
563
217
446
458
595
231
413
477
697
671
405
863
926
330
657
522
715
150
109
224
516
464
882
936
742
121
230
306
272
333
716
220
886
39
495
289
841
985
17
748
342
855
53
743
992
592
816
649
265
700
874
941
865
960
39
172
873
735
482
794
90
798
857
249
934
539
255
61
781
879
206
694
507
913
722
306
490
646
375
850
91
385
652
715
847
732
416
391
710
100
896
391
826
926
81
966
658
135
764
323
818
190
147
315
897
222
470
657
225
558
427
885
648
58
363
310
612
491
886
214
496
9
769
742
313
396
154
262
585
753
219
920
566
641
425
180
110
605
470
883
244
823
350
212
171
457
519
550
87
727
853
619
992
879
745
420
70
745
316
625
465
695
305
611
412
407
524
583
591
161
290
743
713
979
336
263
438
742
103
760
583
729
232
340
897
852
648
740
491
388
567
146
113
437
691
918
177
426
610
933
863
398
425
102
915
562
370
778
511
421
993
222
972
757
693
616
306
632
441
173
7
378
549
162
445
731
425
258
467
884
535
99
738
279
494
938
70
902
510
456
973
226
542
895
908
139
658
235
966
210
909
172
462
670
95
982
888
364
792
958
357
586
404
329
566
811
839
950
793
632
80
784
274
904
47
759
213
671
911
888
986
711
213
453
457
748
705
512
641
490
985
911
47
45
788
953
159
721
648
713
887
370
425
862
69
207
328
599
383
969
535
235
614
923
654
41
905
671
273
104
700
190
319
372
151
746
494
677
902
295
171
193
213
144
403
847
408
544
822
754
625
918
112
889
710
898
52
350
23
739
952
33
185
575
328
455
389
191
543
917
583
666
711
330
875
648
588
256
18
19
497
782
71
731
462
720
136
951
803
550
637
998
430
639
950
730
822
473
805
440
561
512
307
379
171
553
288
295
979
548
761
195
388
359
154
862
813
77
764
930
610
739
399
983
931
726
944
818
192
916
778
261
715
673
889
32
424
299
70
843
923
43
130
414
100
452
4
250
144
914
789
476
159
275
860
817
481
711
735
121
894
249
211
679
140
454
652
413
753
838
611
426
188
101
177
435
108
816
289
501
349
552
276
460
123
197
237
372
582
835
566
991
517
864
591
64
22
654
165
448
820
357
409
298
495
288
45
899
695
863
369
729
185
378
806
813
999
570
94
773
300
706
388
22
3
682
234
283
446
439
469
0
804
751
799
179
244
726
759
152
213
405
276
919
193
849
875
665
720
553
669
664
714
331
305
773
693
64
963
945
830
486
671
280
790
453
458
962
692
812
465
861
481
72
449
928
799
728
71
157
174
566
281
136
554
279
165
738
872
654
779
36
112
673
667
368
672
325
593
431
382
61
882
637
589
71
676
708
710
177
474
946
996
118
844
572
568
460
720
422
193
801
805
413
19
440
184
707
501
659
354
522
712
892
998
709
836
43
777
421
946
650
86
264
597
79
218
253
615
211
786
90
185
392
552
893
996
735
430
321
383
784
580
40
869
855
76
461
412
31
915
841
654
407
741
328
597
220
106
164
825
326
212
848
810
910
762
881
656
443
667
324
902
148
810
531
468
564
254
915
717
71
567
1
714
59
699
371
306
870
551
53
906
320
496
710
986
56
918
827
334
414
712
14
991
416
997
986
294
570
396
757
206
822
137
567
653
490
255
526
472
541
400
736
417
810
558
607
385
331
159
286
45
540
296
273
15
639
479
338
192
349
800
894
165
743
555
104
713
57
519
317
746
549
837
368
890
257
21
68
811
94
943
81
918
159
318
925
182
545
912
229
302
807
299
833
905
515
37
229
761
113
153
86
406
83
589
809
622
786
354
209
748
418
621
347
795
303
636
544
723
645
565
337
206
386
919
767
459
924
106
634
541
418
575
24
456
301
65
98
354
51
27
215
168
183
605
601
215
985
715
869
551
884
431
823
827
180
119
756
341
38
845
864
819
695
313
166
968
682
678
765
129
898
629
32
276
437
247
495
586
195
130
298
640
782
310
767
359
756
710
822
373
78
633
539
832
968
104
284
886
294
855
114
720
488
790
743
655
741
142
406
331
881
457
69
786
375
571
505
235
209
400
884
906
8
882
197
650
439
733
996
521
89
883
246
620
257
683
272
678
718
263
723
802
152
604
755
527
711
197
748
806
978
306
377
535
202
389
243
665
485
209
132
718
552
984
283
297
605
11
511
173
884
624
124
16
641
597
275
952
347
585
552
601
274
133
887
733
95
116
246
857
464
406
604
172
797
41
380
310
570
337
586
291
532
30
420
16
879
681
611
966
737
493
709
618
618
592
749
162
297
640
402
84
267
751
20
847
587
845
65
913
474
435
432
575
691
290
854
578
213
498
584
768
34
921
171
731
575
83
124
131
502
542
750
400
760
820
729
503
341
936
518
440
695
482
764
694
832
803
153
364
113
712
762
629
815
930
427
402
161
593
488
696
869
301
425
854
994
316
678
933
967
163
491
261
530
838
283
798
66
748
380
838
392
468
693
563
900
655
397
563
305
364
16
123
423
207
403
181
833
52
865
788
258
938
482
398
234
753
661
280
94
962
219
529
394
508
385
655
37
652
918
903
48
718
419
724
962
605
514
76
862
120
62
613
723
125
353
34
95
997
963
884
345
576
889
383
278
439
230
330
506
203
958
217
479
832
716
304
14
220
433
204
105
371
932
249
13
644
447
21
134
678
384
846
1
293
897
29
52
722
612
411
935
3
938
94
172
715
579
998
45
373
400
89
347
464
170
614
598
344
305
232
455
617
144
557
123
442
228
340
446
9
266
471
971
346
345
24
389
147
242
501
49
936
467
213
19
730
584
223
756
704
966
445
179
289
13
475
135
650
316
826
511
317
775
728
324
27
319
626
838
849
226
48
329
351
652
145
671
531
742
853
971
866
96
84
105
437
957
635
2
890
819
255
364
350
48
295
794
774
174
510
970
516
884
386
10
331
71
756
884
515
943
512
454
489
119
86
766
216
188
128
40
385
963
238
934
36
620
707
943
560
937
865
852
701
959
629
558
847
212
511
180
84
264
913
469
283
995
527
915
371
465
373
911
716
960
974
210
791
123
778
569
849
347
468
851
855
773
93
845
225
81
180
844
376
475
161
834
123
499
358
627
51
389
748
686
187
377
857
217
763
861
393
844
437
45
294
324
703
567
882
595
612
985
258
964
653
785
822
128
226
870
129
619
617
426
858
786
415
153
234
865
846
88
337
836
631
882
140
535
178
285
632
777
672
251
414
666
502
259
955
24
472
821
668
373
519
697
194
902
719
178
434
774
120
499
352
357
672
905
884
715
286
19
863
246
561
168
866
247
560
162
996
880
687
810
367
764
453
368
57
208
278
688
73
722
811
620
210
574
161
180
59
640
104
764
941
121
129
925
204
431
681
413
462
465
237
768
852
995
172
334
917
310
716
525
650
299
793
314
575
428
935
849
122
626
925
997
611
289
169
286
931
682
316
450
330
434
705
288
86
389
879
975
986
261
981
625
156
750
523
355
476
751
539
869
378
588
418
469
212
343
86
937
648
267
797
505
632
26
577
891
828
946
856
172
152
665
166
98
446
182
440
731
939
993
984
480
882
366
362
162
433
792
70
582
535
25
17
668
961
624
908
163
831
616
250
885
957
389
914
466
536
573
148
806
453
879
902
222
534
108
143
480
480
660
662
496
570
391
564
435
128
970
352
687
562
596
419
269
549
22
827
544
887
173
835
672
463
637
986
554
174
189
931
11
361
760
825
546
646
516
442
942
949
413
475
764
950
324
410
706
170
281
69
425
984
339
500
706
453
454
362
371
193
66
162
483
612
724
968
562
17
792
819
41
28
182
724
653
96
521
754
137
830
25
666
407
185
225
44
130
466
896
788
427
785
27
192
395
334
791
726
786
277
682
273
15
805
825
547
830
937
119
896
80
688
455
988
156
707
397
109
247
302
888
464
558
648
490
246
738
644
382
924
857
93
998
215
583
409
164
530
945
310
983
393
641
931
158
750
458
862
995
277
355
976
39
76
906
549
974
510
605
718
579
949
14
27
361
820
56
292
284
675
80
754
855
520
624
778
363
699
994
38
993
163
365
450
9
426
561
103
870
385
580
470
402
950
261
436
258
232
852
560
985
351
116
562
226
43
989
168
724
620
936
701
639
134
373
925
927
96
343
679
406
460
979
181
4
887
590
852
598
584
894
499
700
442
41
999
830
455
920
956
618
879
458
207
209
76
498
665
168
115
248
772
412
43
865
130
597
551
479
273
14
212
276
545
169
909
512
295
933
18
572
327
168
33
17
171
254
887
191
206
225
482
266
562
270
120
556
49
631
173
735
650
39
730
556
391
479
736
485
642
149
994
323
622
320
951
478
378
777
20
486
450
126
467
619
525
319
591
877
936
39
171
232
479
919
126
791
921
979
513
112
855
475
985
595
341
168
190
770
886
667
258
36
198
603
587
36
73
40
316
820
90
158
952
918
637
482
322
671
739
281
374
132
31
986
527
512
700
189
49
776
30
250
474
905
124
621
105
556
894
346
277
0
356
631
114
203
212
673
930
951
202
590
975
882
192
553
320
576
632
64
362
526
769
437
318
574
435
110
392
654
680
821
783
996
959
800
883
948
164
580
307
413
204
559
816
885
994
554
141
400
985
708
277
149
142
616
110
674
338
467
148
526
459
747
900
564
46
593
673
778
767
854
35
539
771
631
184
875
444
760
730
848
212
691
484
159
927
439
826
830
158
31
805
11
152
851
291
416
298
307
680
303
555
563
990
368
171
589
124
594
787
716
214
331
504
93
71
974
294
159
422
574
779
920
675
255
852
417
585
662
933
686
543
839
40
580
617
419
700
477
803
335
418
783
333
381
515
663
729
529
880
983
225
706
333
186
580
919
652
154
457
545
901
197
38
968
937
24
266
135
867
398
104
505
942
809
916
137
715
375
761
692
252
556
146
35
630
245
650
174
818
372
306
872
16
100
994
15
452
898
722
805
93
471
859
603
319
5
207
295
461
608
337
396
44
934
273
943
642
301
817
46
877
74
574
825
566
943
646
249
25
857
166
122
641
650
30
726
677
637
283
346
467
846
451
284
565
399
437
182
553
120
189
669
428
243
494
226
239
47
66
469
748
804
566
926
682
564
145
207
927
989
164
168
521
919
294
460
295
634
783
770
12
916
278
447
241
506
48
278
182
84
433
225
93
222
562
189
749
931
713
373
293
165
531
736
513
56
780
431
737
235
999
665
135
853
488
359
971
876
895
457
368
377
436
484
460
35
877
106
875
191
930
631
787
843
586
36
947
575
344
145
148
687
354
530
26
214
670
611
770
94
701
638
457
484
945
668
886
807
361
4
104
807
442
546
612
686
854
821
923
854
374
793
461
175
202
459
891
264
222
100
725
148
898
59
59
613
489
253
661
126
329
268
704
377
593
984
280
414
835
190
963
910
751
589
387
114
805
827
606
680
499
141
335
328
408
71
996
19
128
534
969
778
732
116
22
143
251
795
774
942
640
931
695
680
942
257
360
630
701
895
93
267
611
161
720
490
31
976
967
397
531
33
589
970
763
260
232
502
105
843
951
154
846
395
776
793
440
697
848
358
363
487
98
188
335
466
948
262
103
789
361
436
163
909
974
846
509
25
302
942
471
928
456
33
236
815
715
575
102
901
81
996
440
462
368
271
964
847
342
572
159
685
424
18
5
482
15
916
751
505
698
665
732
985
578
170
681
89
927
457
784
685
393
226
555
385
229
120
776
203
989
675
476
408
626
454
359
389
789
149
459
585
371
817
898
614
982
939
871
463
388
119
318
44
889
863
595
270
917
412
165
425
352
178
457
470
159
989
769
378
516
523
923
668
478
821
122
284
524
416
847
441
98
512
7
124
829
738
577
157
808
148
391
436
986
310
104
4
641
859
795
790
891
589
590
261
142
447
153
594
443
402
361
749
246
469
732
45
321
553
562
913
922
708
848
118
866
895
698
420
707
270
910
469
782
14
844
720
699
799
699
115
978
74
83
311
34
96
595
45
457
238
728
647
244
893
955
238
205
931
806
900
288
155
648
872
137
709
974
364
685
794
886
489
768
229
37
566
764
145
695
453
174
885
89
495
747
27
434
640
272
246
240
772
260
8
665
397
473
87
658
920
592
834
825
199
133
644
349
455
330
140
474
465
703
323
337
263
97
973
726
160
153
949
749
425
131
443
21
904
555
139
753
716
949
794
444
768
999
692
931
500
404
67
526
810
113
776
188
560
631
514
262
105
784
927
698
329
830
496
669
726
352
796
130
69
81
367
953
905
106
303
955
575
341
625
664
53
564
165
115
955
710
46
939
489
389
865
28
62
72
856
453
194
230
87
777
987
337
500
548
478
999
264
250
879
391
265
753
522
694
669
134
566
430
693
987
438
149
704
540
379
416
471
927
543
598
299
383
542
279
303
691
443
878
695
469
467
814
590
728
203
576
465
688
282
338
871
952
529
681
849
28
306
894
34
415
629
74
368
952
179
908
102
359
635
789
895
625
978
302
917
656
644
791
947
908
337
266
604
846
130
20
280
583
154
923
352
9
439
617
270
162
308
322
202
410
826
894
136
979
927
838
875
237
491
420
242
660
649
464
926
753
641
379
759
614
200
448
826
731
671
687
774
706
454
942
610
953
980
982
971
323
309
308
371
580
484
657
611
623
136
305
583
533
785
874
666
203
22
106
1
459
923
260
410
373
313
908
70
127
308
631
498
298
49
236
685
868
57
775
953
173
4
279
530
481
661
411
382
692
383
368
566
980
477
718
987
484
283
887
368
538
312
659
440
655
904
415
385
606
636
905
83
371
143
64
788
777
810
705
519
171
262
834
79
546
120
860
654
955
651
440
909
823
484
559
120
328
69
626
872
570
637
221
982
179
991
210
107
303
929
613
880
167
929
702
796
976
446
760
164
486
500
208
235
113
213
796
683
449
61
657
421
525
858
190
795
593
743
46
933
639
94
895
799
158
507
100
298
740
521
384
941
881
534
649
48
365
802
223
274
320
92
126
297
621
37
347
607
94
418
870
804
975
597
219
924
178
171
231
334
18
478
182
632
824
37
211
269
761
938
703
84
255
36
398
784
728
859
535
450
796
218
615
360
49
878
878
81
253
746
350
734
260
45
84
165
514
389
49
735
318
500
240
878
816
440
760
94
737
52
262
15
22
531
755
662
20
958
799
235
762
66
343
787
656
697
308
834
391
951
186
442
111
993
441
497
785
45
897
910
198
132
393
304
796
754
229
783
517
339
994
952
131
826
99
766
749
537
895
472
521
91
211
57
141
519
101
473
147
862
876
28
57
830
766
429
130
643
767
240
915
266
975
583
340
470
849
611
743
223
264
353
143
880
413
632
686
264
800
61
958
698
543
278
433
188
744
890
155
604
542
9
640
289
181
958
284
825
856
180
49
139
296
118
247
42
286
130
132
991
499
524
499
17
381
904
903
586
542
263
573
266
337
534
302
959
823
686
201
527
887
256
728
647
302
576
165
836
607
383
372
957
434
188
29
626
981
934
509
759
690
357
667
64
918
583
402
297
852
454
354
237
592
326
943
161
311
780
333
501
190
760
487
687
135
96
951
374
949
25
94
364
25
735
580
518
455
844
57
237
179
924
763
223
167
820
457
1
164
191
25
634
531
846
715
171
783
545
86
667
736
504
697
105
100
106
951
266
517
210
422
380
974
744
538
114
799
24
389
143
762
911
259
127
277
384
299
669
46
187
423
755
231
481
934
778
401
533
987
603
187
484
468
551
920
602
919
696
275
306
841
492
879
310
796
275
969
770
942
748
92
579
251
867
717
823
333
915
566
629
283
656
968
85
338
17
208
202
864
184
454
223
361
963
863
10
268
698
745
403
790
856
690
924
986
426
652
641
485
723
157
305
384
193
534
1
760
259
733
39
40
0
888
714
521
702
83
547
898
949
144
705
419
273
480
17
367
890
239
469
869
768
780
660
604
156
779
80
367
691
664
243
621
964
399
25
925
471
408
79
8
940
645
597
309
404
726
885
124
357
129
672
18
253
293
521
829
993
325
667
322
651
710
842
530
484
907
842
360
263
358
947
38
886
152
413
66
305
685
823
925
825
313
201
163
239
301
112
833
789
49
735
94
306
682
469
48
754
38
944
106
93
946
303
546
357
169
961
952
518
161
784
306
235
188
863
831
922
659
479
204
833
228
597
970
895
241
965
611
618
633
371
848
231
716
210
182
949
336
916
115
883
347
329
510
44
506
74
734
677
639
908
769
819
906
512
521
918
391
693
341
376
63
190
743
828
590
358
689
202
44
60
761
858
14
873
98
398
871
330
330
390
332
734
748
497
612
608
309
391
862
520
744
733
245
354
460
469
211
255
588
407
412
185
974
557
850
116
387
946
17
921
575
513
301
472
620
420
39
824
804
360
890
348
803
164
560
667
891
609
162
139
170
686
372
801
763
203
327
851
311
876
734
969
196
268
401
992
313
611
58
164
501
346
826
616
921
414
320
265
966
269
391
893
620
690
649
761
485
173
21
137
709
355
553
154
171
932
686
862
823
21
142
298
716
617
118
910
180
140
604
666
133
137
544
247
205
904
907
188
740
363
182
558
928
733
232
317
245
817
391
66
208
701
754
255
152
277
666
254
979
24
531
745
381
324
735
8
987
480
931
102
551
196
395
828
470
6
681
338
943
474
298
795
43
620
196
608
492
334
583
47
793
370
557
671
608
39
707
481
65
756
444
384
182
698
832
868
541
758
809
48
332
992
450
600
198
429
731
718
975
315
275
209
844
887
614
346
432
749
492
995
180
594
363
498
984
663
889
598
568
255
379
192
674
409
690
587
38
630
259
689
308
585
535
970
469
211
981
863
907
791
295
750
487
647
558
577
559
745
23
904
827
245
800
749
532
498
338
87
328
567
416
599
758
128
888
800
807
5
666
723
613
863
25
865
935
444
844
136
132
859
334
185
822
892
90
65
212
654
799
841
863
162
842
140
871
218
959
638
744
96
861
419
604
349
681
692
675
610
81
862
755
854
442
687
450
565
710
939
635
319
692
856
280
908
547
365
746
626
348
295
580
110
853
643
104
146
737
963
371
133
986
294
409
28
492
587
375
583
252
977
246
453
504
527
319
589
278
170
229
525
577
226
420
797
237
508
691
728
889
415
312
420
741
817
65
737
622
107
92
7
510
708
438
592
471
354
542
735
362
956
758
956
20
163
182
573
545
378
91
628
821
432
807
396
269
466
114
549
383
275
111
12
847
584
381
100
926
741
183
35
108
166
623
90
346
33
418
920
969
562
615
873
399
398
483
945
548
278
970
302
113
520
20
630
619
536
790
911
799
62
827
183
726
927
368
18
806
948
897
361
578
585
651
413
542
365
967
815
979
839
601
201
942
821
717
529
101
83
346
859
473
7
592
411
920
161
58
968
721
6
276
390
565
200
662
109
371
117
480
623
498
189
982
497
203
884
194
106
529
658
576
613
629
588
210
477
204
223
959
250
942
458
471
644
850
249
857
828
637
244
723
177
834
115
731
724
611
447
305
653
211
791
610
334
106
800
662
871
245
201
324
481
92
961
455
356
542
55
348
483
171
103
929
363
841
742
920
72
942
407
903
783
397
967
371
382
925
588
665
105
19
160
592
94
551
49
407
60
656
714
837
375
795
141
116
673
460
775
63
384
497
83
43
566
604
710
707
10
733
315
681
735
883
128
403
686
66
84
219
49
421
628
628
801
591
696
655
335
693
920
614
276
464
851
849
933
937
618
828
509
183
242
598
158
700
241
374
420
843
164
95
957
153
976
781
617
22
234
709
308
353
569
167
272
381
26
114
865
757
130
197
174
749
795
86
974
249
477
594
435
89
710
135
907
112
791
725
740
356
261
775
154
233
377
650
315
683
881
240
696
72
360
418
890
17
593
303
933
997
109
427
52
539
990
47
338
839
931
805
192
911
400
751
769
542
420
351
721
578
934
300
594
373
202
179
16
655
329
489
83
652
981
328
173
468
787
776
988
278
775
988
482
61
658
734
127
145
464
455
13
274
88
612
795
924
641
793
132
410
215
133
871
69
51
358
931
412
90
73
414
391
610
231
686
496
950
798
459
606
348
282
358
314
373
689
633
614
255
276
840
85
284
378
35
938
965
546
308
824
156
808
100
245
12
953
304
917
157
945
920
515
346
228
526
4
440
118
968
282
874
785
828
113
243
595
504
432
199
963
948
425
89
582
757
654
909
817
480
774
258
252
801
140
515
1
845
730
874
111
992
10
511
722
890
421
542
311
705
803
289
202
705
441
134
292
970
153
776
213
129
486
604
723
362
250
915
45
254
338
139
425
338
915
290
23
741
599
330
896
993
56
284
242
161
162
928
192
892
473
838
246
212
236
616
934
756
322
245
90
595
381
857
255
579
867
805
822
214
394
902
305
868
707
777
140
162
897
618
600
596
543
66
377
324
686
280
511
203
127
74
24
769
137
37
118
924
615
147
192
872
369
223
592
107
839
14
771
693
703
820
491
176
668
555
244
19
624
232
502
418
898
728
209
744
818
580
5
758
767
287
579
748
764
359
769
642
435
717
596
454
533
557
903
90
17
724
20
744
626
524
421
842
602
49
19
382
538
742
48
287
182
479
792
742
727
172
830
220
652
772
959
586
12
114
690
404
930
386
997
471
251
555
32
814
855
470
609
737
104
76
510
66
792
196
488
508
428
504
718
276
538
196
758
920
752
265
600
619
804
419
267
136
569
354
558
86
816
974
69
356
977
948
81
434
652
940
84
564
732
705
280
221
646
382
3
789
273
829
164
385
56
869
281
211
70
527
682
49
302
961
563
381
4
690
373
595
41
387
475
943
467
916
329
50
347
559
4
200
86
114
798
1
387
604
368
93
983
907
619
746
937
121
221
527
704
168
701
293
196
645
128
818
35
434
39
298
636
107
207
99
859
887
732
147
176
121
438
972
279
493
484
416
542
830
673
484
967
129
194
900
605
270
928
198
923
157
491
98
873
715
349
980
724
430
787
6
61
860
587
868
110
149
621
501
755
510
914
199
234
686
918
198
834
730
112
177
534
2
820
647
721
339
966
605
522
342
143
619
8
215
751
61
434
804
405
718
329
946
138
76
198
347
398
332
722
123
227
369
372
298
522
21
823
59
791
629
52
703
307
27
845
162
147
750
361
361
627
724
824
372
672
771
9
570
965
252
119
451
139
221
672
558
889
96
323
981
588
388
354
440
872
454
522
185
789
14
543
35
468
761
83
483
282
327
922
118
474
424
180
487
0
545
963
631
185
678
779
977
17
471
9
365
692
924
432
48
256
622
460
194
442
719
606
61
539
131
997
751
738
653
985
855
910
587
380
579
696
91
990
786
227
68
122
775
957
487
578
618
555
96
804
884
700
371
298
42
82
740
296
793
609
364
354
611
950
23
180
280
152
150
422
145
584
505
766
355
452
772
38
62
754
451
13
435
871
76
442
487
49
601
269
901
409
468
486
213
582
727
597
1
249
114
10
194
11
643
588
62
619
828
836
9
442
410
416
295
970
335
645
756
460
471
237
821
943
477
127
811
583
89
890
520
166
527
541
258
833
426
290
468
175
761
342
228
757
93
520
199
473
331
181
81
245
216
403
404
501
164
28
364
206
240
11
104
984
664
543
155
662
731
642
865
838
705
173
433
994
524
118
411
231
709
690
6
755
57
492
22
58
578
104
37
177
859
296
484
595
717
287
430
735
604
676
911
365
242
469
575
55
595
456
325
598
908
152
518
190
266
577
871
170
117
359
113
822
115
823
479
598
909
146
989
434
422
702
225
192
230
997
862
112
58
668
347
21
907
943
942
153
660
495
91
595
931
717
116
331
515
69
446
931
973
811
491
704
656
151
932
439
732
220
691
601
228
561
558
81
864
537
650
595
407
338
915
4
389
374
732
333
237
179
214
518
522
813
650
126
758
30
90
753
747
649
409
559
745
900
762
704
582
723
32
265
562
707
43
467
439
108
350
165
205
371
450
491
275
721
220
355
219
900
932
195
491
910
433
520
791
740
210
918
687
483
547
881
962
846
577
347
624
719
28
46
90
911
822
881
128
489
267
189
645
896
644
568
707
719
3
132
609
813
936
400
133
112
41
357
800
114
808
246
611
143
552
314
323
389
690
957
61
272
196
312
245
455
691
173
702
112
110
840
835
89
897
908
829
377
111
662
216
786
94
640
28
930
342
34
847
103
748
814
227
158
295
257
203
134
860
98
35
795
751
728
752
888
62
402
663
724
847
291
1
925
412
844
315
39
882
605
177
637
392
232
283
756
788
10
316
448
610
908
512
719
894
871
942
734
757
502
114
986
813
560
408
50
989
797
155
81
743
825
811
989
895
658
871
90
485
852
845
873
719
481
859
919
200
785
723
903
192
743
390
479
316
606
755
993
790
822
632
734
323
757
222
484
427
459
364
868
507
762
296
347
580
311
347
322
261
954
104
270
57
748
251
646
680
223
474
402
221
122
975
895
742
186
271
71
930
221
36
123
968
461
839
433
651
167
807
614
554
915
581
315
216
658
590
778
170
105
487
763
845
965
923
62
913
952
179
610
142
299
351
248
402
97
945
698
340
625
529
758
998
141
726
178
612
793
665
450
833
607
626
710
519
140
193
69
971
97
798
247
618
243
516
838
873
357
865
894
365
126
869
12
713
252
88
953
13
177
835
454
710
505
15
334
715
127
417
918
700
602
476
73
382
333
575
632
389
6
549
47
542
16
544
320
978
342
636
66
934
590
829
556
408
364
649
183
31
632
247
264
104
636
901
768
171
765
166
425
872
724
606
124
181
440
710
175
744
398
321
999
361
511
25
707
684
484
462
476
209
511
153
287
675
136
318
142
499
159
92
584
116
642
118
946
197
140
411
894
783
70
370
577
611
909
351
990
381
569
85
397
547
454
284
720
751
903
953
351
340
419
101
650
983
258
841
784
584
560
70
146
362
905
419
629
557
645
365
889
838
528
33
806
871
121
681
674
283
39
276
556
973
9
610
679
940
721
550
730
3
912
90
210
768
545
587
221
518
201
859
119
321
4
683
259
13
995
847
932
409
801
618
236
965
398
528
197
344
115
985
965
636
29
428
512
407
149
836
22
457
51
455
665
126
583
438
977
703
16
234
140
685
947
473
999
269
821
289
866
944
497
329
631
562
245
687
235
188
777
326
332
781
474
995
967
867
895
161
668
906
833
863
5
653
856
705
670
696
251
271
230
380
2
490
455
33
673
553
369
878
477
856
890
796
643
365
357
340
203
599
598
141
379
364
86
387
365
850
733
936
192
306
50
864
913
28
819
5
318
38
841
717
839
432
612
880
332
16
559
779
469
496
762
584
125
521
247
880
32
961
172
982
204
82
977
729
246
938
819
427
904
190
765
644
456
619
794
376
393
901
710
850
927
617
50
310
618
547
295
752
996
516
492
968
716
753
648
283
111
177
15
113
464
282
620
64
243
396
70
76
745
722
551
348
767
882
674
313
62
870
501
117
898
790
738
946
918
2
250
428
792
230
13
324
862
447
536
463
245
47
486
580
813
909
301
54
350
293
824
19
515
223
668
992
115
145
852
509
912
458
548
655
353
134
525
588
506
81
220
465
160
803
359
980
645
530
49
838
150
896
598
499
568
581
354
971
26
90
569
51
75
169
465
823
619
718
179
244
255
603
976
609
574
416
725
602
530
201
359
792
979
744
222
654
443
240
772
270
796
922
233
316
351
766
0
353
779
937
578
220
880
363
985
130
481
685
226
970
237
339
555
686
622
678
586
837
592
163
470
315
241
130
141
171
303
531
194
866
161
764
927
642
427
859
524
343
694
738
859
605
600
338
634
149
56
108
565
138
421
241
232
327
464
561
104
381
746
915
610
371
426
729
776
610
618
891
347
711
952
795
770
117
403
137
527
832
833
929
51
761
148
429
520
609
726
469
716
483
736
708
945
840
620
512
702
404
793
499
484
628
418
202
942
357
507
950
775
576
466
891
546
702
620
543
740
570
506
745
747
247
1
146
152
850
351
590
5
52
837
885
160
515
907
463
54
65
383
811
164
458
914
420
520
930
778
773
161
762
967
455
571
411
475
152
374
414
491
462
541
716
765
586
17
833
698
291
180
315
102
493
786
6
493
612
456
906
912
695
925
93
552
600
829
819
126
807
573
53
573
879
857
503
513
578
29
455
995
524
357
532
239
116
638
99
542
996
330
789
529
960
753
746
788
826
972
158
989
735
902
795
543
329
649
297
737
74
530
374
539
355
192
728
257
989
476
910
709
55
245
163
567
204
415
85
561
17
703
723
485
17
519
771
598
348
890
263
435
492
970
2
362
460
636
215
298
747
178
950
63
878
552
210
943
228
151
580
628
398
639
359
322
548
137
594
351
12
741
534
259
385
342
55
801
927
205
597
675
109
935
323
218
364
829
655
560
161
745
748
323
191
975
272
321
676
684
156
106
297
23
128
908
291
829
851
288
136
529
379
878
441
873
266
909
298
329
502
146
324
74
487
948
68
465
648
542
905
439
457
407
407
933
509
378
212
664
311
477
946
647
513
518
986
730
760
890
652
171
848
172
721
279
286
798
663
12
353
702
344
315
876
513
811
562
868
765
22
693
892
111
636
431
826
839
737
946
44
862
254
630
509
776
452
393
533
536
621
118
548
356
466
817
92
358
938
297
838
725
329
933
696
283
733
763
111
36
740
469
556
862
338
135
802
393
781
252
80
749
754
98
125
218
857
343
772
858
272
654
903
882
629
943
266
447
237
226
800
998
386
63
257
897
155
102
770
407
607
558
784
733
203
217
314
896
853
812
784
408
511
336
819
731
507
458
425
584
524
974
809
103
4
163
699
618
718
418
619
472
302
316
23
304
625
134
9
703
746
645
166
621
414
4
696
917
36
48
945
518
280
153
694
152
429
540
446
340
771
853
920
218
87
502
310
453
312
432
908
44
876
775
268
832
169
35
668
422
628
618
287
963
566
253
747
763
878
204
46
417
904
86
20
331
707
455
167
891
640
727
810
668
374
839
973
113
683
399
898
778
540
802
394
356
691
267
65
210
512
429
651
572
580
146
911
109
777
442
896
225
993
173
585
643
706
988
82
848
247
139
681
216
810
155
133
951
826
603
947
964
808
840
795
469
212
561
345
740
981
3
230
117
649
489
794
165
386
355
10
14
554
249
435
157
251
884
768
311
407
520
51
264
72
484
529
109
518
871
211
617
197
99
781
832
253
117
621
791
622
383
47
194
237
820
810
149
703
486
684
781
90
717
970
367
439
407
633
261
663
468
672
479
77
593
437
31
77
870
806
61
838
705
237
400
497
912
793
810
36
86
960
21
527
693
197
690
761
58
886
784
876
906
211
108
561
409
998
929
337
959
45
939
962
539
450
691
674
479
737
169
801
659
234
803
160
952
39
486
569
905
559
379
192
514
414
366
289
146
113
880
860
84
36
645
118
362
728
637
131
734
975
746
421
870
694
216
831
285
701
344
461
100
199
817
223
516
913
402
927
524
80
35
407
310
186
85
391
311
24
988
507
947
642
551
432
579
462
320
601
345
14
753
657
530
280
674
90
957
433
668
501
778
599
349
794
453
344
884
868
875
671
169
343
643
366
117
228
355
264
911
818
398
334
903
921
404
950
102
995
206
905
44
43
817
941
836
856
231
209
893
81
282
975
538
509
661
259
555
763
28
354
394
628
252
667
445
155
35
861
179
474
124
350
232
430
542
936
617
348
455
846
903
558
629
472
259
612
596
967
144
347
251
579
138
233
68
670
124
873
493
250
174
667
402
835
506
824
972
310
847
147
487
501
193
687
218
105
818
208
62
71
307
349
731
878
714
47
608
107
325
452
427
989
463
28
995
466
7
752
574
174
371
982
866
336
456
715
601
277
109
81
859
955
854
973
345
538
867
436
690
772
361
544
936
58
300
79
834
355
663
88
811
198
978
983
148
219
339
201
541
752
504
674
497
671
899
739
258
421
889
786
479
490
466
100
423
955
441
697
522
188
753
448
658
321
765
609
768
522
233
4
735
945
316
972
245
492
345
300
972
516
339
803
823
944
555
342
22
117
870
608
971
764
260
73
102
925
754
552
59
932
670
430
102
429
184
767
936
142
52
709
873
955
742
904
36
570
843
754
724
971
174
310
372
74
464
8
689
110
183
339
507
743
48
293
882
331
767
245
276
92
416
197
658
25
362
927
842
912
288
310
207
456
796
874
936
724
301
32
217
304
674
993
966
998
740
93
633
755
670
565
277
558
999
223
632
207
947
443
837
493
29
292
224
941
613
298
557
84
601
618
842
194
291
927
553
112
11
739
898
416
900
556
465
424
137
427
392
981
221
41
290
709
308
896
202
735
790
759
571
856
894
316
578
314
542
553
840
941
574
800
638
655
795
658
955
161
109
125
697
909
90
725
751
857
430
713
96
624
504
653
33
460
472
283
840
164
270
959
478
835
468
204
777
943
167
23
239
707
512
142
554
864
167
70
110
333
157
242
528
481
1
939
696
736
920
101
324
74
577
126
979
286
539
324
516
564
37
833
489
450
542
645
628
994
456
920
757
179
829
83
95
559
771
309
339
700
443
365
784
723
782
641
315
130
941
215
26
170
135
530
6
581
539
948
317
912
889
882
487
159
177
822
532
222
877
628
208
731
755
935
699
832
10
491
15
731
742
611
427
154
109
244
788
934
148
881
673
120
285
991
268
491
474
724
17
621
319
715
869
443
256
476
784
852
451
614
417
632
161
722
225
660
686
676
348
203
294
190
302
113
55
967
785
477
831
863
145
430
293
287
171
910
733
140
530
620
596
448
522
504
337
416
246
784
455
802
643
436
229
631
962
778
369
489
600
707
629
92
618
184
73
491
516
681
805
767
18
563
75
730
578
874
115
734
424
256
231
195
569
435
391
243
442
962
430
197
358
888
227
144
328
813
479
542
443
231
520
86
568
372
329
992
499
2
43
751
54
57
356
800
376
960
794
78
788
711
251
31
536
1
444
453
811
123
283
724
634
115
319
273
867
553
282
987
670
869
898
800
781
81
206
462
441
192
162
255
351
539
658
633
294
532
467
670
52
844
976
614
826
223
382
845
365
121
80
526
767
969
512
950
106
438
280
680
61
783
918
331
524
503
878
400
91
508
626
190
720
593
345
134
14
460
129
216
953
105
964
153
25
36
258
226
890
206
811
488
205
552
109
708
490
555
679
283
155
25
310
17
669
373
548
16
931
998
823
356
356
169
77
672
861
87
188
37
967
956
758
772
848
511
702
332
113
88
373
253
689
983
220
967
37
454
284
503
818
473
791
784
41
741
98
390
294
604
644
771
622
372
257
541
786
352
312
803
517
459
139
821
745
315
804
724
345
897
250
889
224
663
403
35
620
853
85
138
133
617
278
481
780
852
171
395
846
551
133
826
12
978
82
349
104
730
647
943
280
308
842
539
511
987
918
835
288
717
604
903
570
778
795
655
858
879
177
369
91
650
442
664
196
375
989
984
329
878
834
239
496
23
21
828
821
313
465
613
729
268
975
587
29
29
960
650
146
714
934
878
996
850
162
744
913
359
409
730
691
15
442
594
923
11
700
408
23
744
220
603
349
465
304
419
416
657
377
443
925
267
76
987
583
6
995
922
689
756
789
401
128
897
30
943
659
359
977
518
858
43
427
443
623
221
742
655
176
712
999
293
277
334
169
419
65
384
302
392
938
65
434
884
613
483
585
568
716
392
0
150
517
17
346
923
182
129
875
584
347
308
444
408
439
329
323
213
180
1
981
294
505
875
461
565
540
82
91
845
491
61
501
610
826
184
963
657
943
835
96
505
231
610
757
881
984
992
539
217
53
67
280
447
40
872
898
235
758
170
453
802
314
929
141
401
116
279
279
863
385
742
609
954
324
142
606
935
348
607
120
90
668
459
142
791
266
395
665
108
403
489
736
84
432
805
448
628
557
983
431
357
551
587
261
522
955
533
492
894
711
460
926
818
255
152
303
946
604
748
88
630
271
753
394
298
154
859
886
727
39
655
399
469
633
404
410
92
133
305
443
119
175
210
477
869
428
137
832
191
290
670
590
84
691
875
386
389
851
577
725
754
802
787
760
119
512
369
974
341
210
691
320
165
974
388
486
271
221
244
436
464
499
37
781
1
109
551
869
918
695
810
351
880
161
622
918
719
122
699
579
191
796
742
175
942
98
877
725
631
628
902
82
6
34
22
12
129
84
415
237
311
620
792
619
350
938
319
184
328
422
319
244
374
365
836
367
217
220
406
869
917
116
575
586
103
505
242
47
962
338
846
154
408
931
772
314
18
172
785
789
29
124
874
203
605
74
915
71
259
755
571
961
155
153
523
611
348
618
634
757
532
605
216
406
604
444
532
513
560
780
946
66
423
777
782
235
949
544
419
214
326
338
583
187
892
693
477
419
31
147
396
277
479
148
288
141
639
301
850
587
691
229
228
312
956
856
914
279
635
110
117
834
845
254
988
264
408
941
697
484
318
440
197
700
626
285
176
74
768
547
815
711
857
149
660
617
257
288
832
76
597
608
625
20
634
215
175
27
271
12
267
804
911
43
763
483
723
222
756
612
192
523
620
361
383
430
384
531
504
344
133
680
905
222
460
618
925
281
998
500
475
312
104
565
103
994
871
142
177
874
304
243
236
12
695
661
407
42
209
984
889
356
236
292
272
56
171
876
37
481
792
770
519
474
803
34
375
2
106
822
592
442
930
366
408
629
333
73
389
451
598
376
478
511
1
248
638
834
925
109
553
534
886
840
751
230
972
54
107
115
289
622
864
446
396
314
483
356
341
240
413
535
921
56
548
364
894
352
588
791
471
751
936
235
135
40
267
182
547
129
99
116
28
259
583
189
381
588
45
169
322
553
833
86
136
214
936
311
651
869
128
715
579
238
787
132
380
759
559
396
133
963
778
446
742
814
617
959
406
128
679
405
411
185
523
756
938
738
299
13
650
849
989
88
677
570
84
306
58
308
35
369
10
291
738
426
730
330
474
954
102
706
368
702
891
208
481
638
256
618
450
175
291
585
261
601
56
951
966
589
963
24
641
328
239
103
874
774
779
132
198
552
474
686
18
559
914
464
245
65
28
150
988
759
624
18
879
292
650
643
719
25
804
512
407
220
519
702
687
278
998
480
154
701
20
486
286
765
767
501
259
849
203
696
601
711
354
413
754
17
761
386
248
373
916
630
942
104
145
162
698
474
172
682
621
322
529
62
566
977
974
182
519
295
333
283
188
455
304
892
895
638
859
923
187
466
777
876
277
587
792
885
436
195
801
219
412
866
508
764
813
807
91
12
706
998
10
840
234
166
218
381
771
527
908
388
107
300
701
99
111
339
933
469
422
410
176
53
94
633
684
926
945
379
100
55
816
435
976
839
432
602
155
998
378
865
521
232
852
123
149
308
914
840
476
145
553
376
551
64
446
145
865
590
178
490
528
345
568
203
269
434
153
630
809
361
404
531
424
715
121
256
597
64
392
400
994
284
119
490
437
547
108
788
278
45
324
29
87
852
744
644
371
114
881
356
588
969
609
579
135
550
996
773
347
529
175
217
463
61
666
462
204
400
302
419
967
532
665
580
55
316
792
855
703
125
543
946
682
494
514
228
818
979
571
794
31
195
52
177
971
280
121
370
28
499
419
315
842
855
829
96
547
645
329
392
920
791
361
241
742
338
532
776
209
107
245
226
877
603
311
802
835
626
44
710
405
542
991
199
625
827
439
504
581
229
31
586
912
858
118
305
542
822
415
934
786
445
692
951
24
782
27
200
723
500
624
716
589
325
238
589
75
754
57
738
367
435
867
583
366
888
627
550
378
150
788
380
823
194
701
669
32
958
269
761
43
695
624
105
577
892
656
122
553
475
866
532
616
338
613
829
495
885
33
296
720
986
271
120
740
235
430
469
766
655
370
274
561
330
971
499
445
430
982
487
7
685
349
216
286
644
476
31
940
888
667
99
475
32
602
286
968
468
835
585
166
298
464
936
141
245
943
67
379
21
313
497
985
512
983
856
949
969
384
575
637
768
865
328
285
661
589
320
123
303
512
738
105
389
262
723
825
786
984
613
156
528
486
794
79
465
873
178
919
91
242
883
878
972
778
85
750
955
424
380
338
370
630
663
373
21
879
840
899
553
122
701
85
257
314
930
195
273
147
787
22
162
398
365
722
82
652
300
74
417
637
127
681
305
488
797
573
149
645
367
535
640
194
597
17
325
712
925
58
447
249
645
526
694
522
740
785
982
539
911
137
404
739
657
104
411
870
874
629
732
59
634
158
816
494
281
884
295
30
242
653
619
275
623
782
309
847
507
99
90
516
493
645
757
896
631
306
996
584
618
77
397
374
492
252
608
992
50
285
942
782
938
44
591
213
719
43
205
641
315
617
291
251
326
274
279
228
257
209
680
483
296
903
218
755
840
191
748
905
941
994
375
606
504
275
716
201
945
694
566
21
424
145
153
792
142
157
402
6
889
232
741
981
443
42
378
142
545
215
414
779
949
884
290
883
107
924
876
172
449
59
663
502
506
1
408
64
393
409
77
546
420
95
572
606
676
691
148
168
196
187
281
746
133
521
169
745
847
16
78
704
626
106
581
966
13
204
101
74
412
432
537
678
251
255
104
648
338
339
443
703
778
931
858
363
547
852
307
755
844
258
746
838
141
864
55
617
710
47
216
53
715
55
610
80
778
789
563
392
174
431
344
238
435
939
607
502
318
464
143
608
949
588
164
369
624
791
247
686
179
888
342
597
768
771
99
641
778
46
666
944
547
337
838
593
688
319
869
861
328
524
174
379
55
562
0
859
366
981
104
876
547
921
15
414
510
867
633
991
589
752
708
192
820
791
970
436
568
553
67
957
127
853
41
500
944
720
944
155
421
48
461
553
967
796
17
140
664
490
428
369
183
641
690
527
627
153
432
728
51
388
644
595
205
982
360
54
887
921
189
197
26
886
958
339
438
917
350
328
368
56
938
35
6
928
191
970
184
200
860
922
758
934
196
263
550
905
873
165
2
68
575
354
934
105
57
213
887
397
93
676
149
744
732
978
381
588
781
594
77
438
15
858
313
952
936
748
757
607
61
334
629
879
943
158
308
273
534
514
106
809
927
948
675
538
527
107
922
399
674
889
261
9
708
991
75
310
690
704
911
186
103
911
447
159
716
533
371
342
913
859
373
495
611
484
792
825
65
995
266
443
379
106
695
846
950
885
571
334
468
181
609
200
156
520
727
297
934
682
653
601
813
579
649
856
59
718
410
870
971
521
969
793
289
317
663
43
757
590
106
508
427
523
881
372
94
850
822
635
317
700
542
800
22
356
840
528
396
421
94
976
998
647
756
240
843
475
840
221
944
719
84
694
889
547
430
618
159
810
359
296
815
682
865
880
477
607
655
347
900
98
120
676
382
125
550
805
491
393
736
781
152
752
877
738
466
72
850
809
35
158
818
819
738
589
928
556
332
676
736
576
424
702
296
41
105
70
445
524
819
832
416
845
991
376
955
345
207
792
473
965
59
880
654
171
30
275
61
13
257
673
216
754
102
81
250
287
741
649
384
978
453
188
507
105
593
584
903
282
709
348
190
979
314
357
266
304
249
523
534
437
451
457
388
285
267
423
3
312
68
833
342
14
700
31
875
481
231
26
705
284
772
956
291
374
447
115
926
836
84
285
92
48
292
666
122
282
156
762
300
321
820
781
777
107
650
160
884
134
787
561
292
801
645
222
57
275
995
221
812
693
117
176
339
940
558
46
880
41
679
623
325
146
179
159
404
745
497
665
166
885
366
885
866
419
812
757
397
931
343
798
654
142
217
99
40
980
656
423
54
755
103
520
408
171
13
916
705
437
765
824
596
670
619
128
634
927
19
363
539
654
626
167
739
943
789
684
72
118
270
481
203
938
759
990
79
302
545
582
144
161
504
678
704
588
44
450
1
355
858
351
842
820
855
954
258
688
211
762
444
500
140
759
208
794
511
446
12
553
625
458
993
994
590
888
279
492
373
275
362
921
431
350
851
487
764
753
976
355
426
358
638
635
832
143
620
931
375
224
370
43
688
518
759
489
636
908
196
561
303
923
287
108
50
449
264
173
289
446
433
965
850
727
283
379
802
862
556
491
551
899
15
901
765
207
823
248
282
514
46
830
221
255
839
563
355
500
132
388
434
135
664
64
309
51
722
172
571
112
83
200
964
941
466
949
503
206
597
425
438
422
661
383
852
308
705
250
987
26
730
662
561
948
183
704
204
826
263
756
919
145
829
51
542
823
271
841
643
287
775
698
684
643
175
643
511
630
824
354
316
759
620
471
326
678
155
666
675
50
136
403
89
289
217
641
449
940
400
398
400
46
182
143
209
298
278
139
620
108
187
199
893
94
985
299
790
498
109
556
262
781
966
601
905
784
778
89
788
980
509
818
341
602
508
350
453
958
954
807
68
847
432
252
982
3
970
966
628
841
471
704
152
558
581
388
912
134
880
573
395
390
631
188
480
391
285
363
174
218
45
419
511
788
506
880
582
639
95
618
327
103
474
117
996
504
199
304
129
807
651
833
84
917
594
887
484
31
596
916
101
381
513
318
400
924
837
783
952
727
626
986
984
587
354
649
442
455
544
300
329
9
275
422
39
104
62
958
844
831
563
374
276
489
760
466
145
395
648
763
50
783
581
973
343
896
77
786
926
921
9
209
400
151
854
106
480
920
909
105
253
648
186
140
229
753
642
743
22
248
667
671
145
463
641
812
549
755
324
865
846
172
407
109
830
593
68
227
555
863
561
804
191
168
679
132
642
511
815
888
534
705
774
814
687
80
478
826
970
895
968
644
9
429
443
36
452
67
276
834
128
442
623
575
554
719
153
269
754
873
690
214
462
674
398
400
944
185
115
508
89
367
803
878
90
149
317
87
206
633
730
721
395
830
937
738
898
854
806
86
479
862
214
975
325
877
195
100
523
80
47
673
807
448
607
51
709
329
168
599
667
703
784
304
891
959
793
783
983
363
891
719
492
519
698
986
290
601
195
149
819
464
182
689
237
821
972
61
22
655
236
40
910
356
506
840
592
494
445
126
493
343
181
935
885
826
483
49
141
375
202
350
638
898
444
749
97
193
870
433
628
410
190
32
630
174
550
157
204
530
432
510
401
271
845
694
946
38
557
966
690
286
956
357
244
593
667
413
101
566
549
216
987
206
945
28
227
692
477
739
354
524
815
944
925
453
789
938
424
172
191
258
807
919
802
975
884
70
777
291
477
333
454
644
822
976
285
151
325
572
807
862
200
844
432
790
741
782
872
368
391
968
564
807
219
213
867
903
121
889
153
483
958
730
831
820
48
719
436
107
58
958
29
966
871
338
49
2
942
640
129
546
963
597
895
86
788
896
89
607
197
609
298
363
109
822
143
915
941
737
194
330
482
242
688
602
402
277
623
383
600
620
80
541
784
26
282
268
125
681
79
641
59
183
718
150
641
100
412
731
629
962
553
391
589
94
256
986
578
769
433
852
28
576
400
380
466
684
281
177
664
912
650
380
296
917
940
557
7
136
70
978
334
173
816
924
87
352
69
257
107
477
489
285
50
40
887
981
421
437
370
359
117
134
637
141
660
406
877
544
543
963
501
617
111
289
911
363
283
774
493
430
513
647
580
764
488
418
645
418
322
673
166
906
215
596
784
890
177
109
510
545
771
251
126
745
365
432
898
981
840
572
211
515
420
411
851
517
528
775
858
994
216
507
286
578
800
237
141
204
677
526
289
31
566
681
77
85
139
964
485
7
725
627
158
446
158
613
237
144
498
198
362
590
135
627
948
439
416
988
515
190
253
359
399
772
798
311
910
837
971
586
855
718
412
771
19
1
802
885
49
518
983
840
914
30
516
195
638
708
802
473
633
538
432
746
309
677
305
855
470
845
535
902
210
122
800
19
387
391
172
568
821
740
402
815
698
24
615
677
571
155
18
224
921
124
305
106
115
474
242
904
929
194
510
119
802
481
334
738
738
736
587
675
136
474
381
736
822
104
349
883
730
207
297
732
225
116
849
882
167
337
564
33
697
60
548
533
819
124
195
930
81
97
769
51
299
828
620
998
813
107
755
57
828
635
477
785
107
481
634
481
617
876
426
617
194
671
573
694
567
134
219
947
682
948
517
466
605
360
97
198
718
990
6
155
108
531
920
250
748
458
833
624
767
642
831
68
135
69
191
226
101
406
877
524
179
898
767
111
494
802
435
156
557
115
295
366
606
215
58
242
218
348
334
610
189
662
97
891
407
653
945
125
118
647
834
33
57
887
78
347
364
832
720
280
548
488
730
455
478
184
111
168
404
611
827
336
773
248
604
940
121
418
40
305
284
9
618
492
687
538
657
113
482
663
175
585
461
785
573
991
749
575
732
336
987
680
408
633
569
443
385
175
42
362
817
607
256
955
665
465
379
303
633
75
230
571
432
323
913
453
795
14
27
490
862
843
199
33
292
74
494
648
791
209
199
36
293
777
452
849
158
869
926
435
917
141
147
834
425
962
492
262
226
712
812
785
827
166
676
219
363
108
18
800
395
60
772
262
934
375
678
947
598
212
756
583
549
590
473
831
320
443
848
110
865
232
861
71
581
907
456
429
311
210
314
388
704
59
784
445
596
256
989
18
919
972
966
63
389
969
448
49
902
788
257
51
715
972
436
481
926
791
232
262
881
355
501
611
111
925
12
690
936
325
535
411
655
602
911
191
480
48
160
576
386
293
202
691
855
206
882
772
634
582
255
888
451
686
497
58
800
69
218
282
151
211
52
958
543
993
213
377
758
234
566
156
55
509
331
348
357
160
41
975
962
210
396
239
21
834
578
83
499
737
954
815
916
191
924
922
232
508
433
113
418
351
440
359
86
250
855
844
736
162
683
784
806
899
538
709
596
138
39
371
605
19
263
676
827
596
27
309
31
77
46
663
969
773
467
332
918
715
475
548
242
363
694
229
167
635
900
200
747
461
204
380
328
602
655
312
860
174
133
541
651
755
50
714
155
273
996
333
7
687
911
74
155
298
909
123
433
4
932
741
548
29
242
859
796
415
647
82
750
141
163
412
137
391
473
650
905
117
158
694
341
235
346
227
181
653
652
527
883
828
895
855
952
682
535
276
591
260
813
236
398
580
792
550
236
789
501
300
352
380
998
269
237
814
355
607
615
782
647
327
993
883
304
952
919
787
238
853
321
44
419
966
222
267
971
264
929
729
75
211
802
139
916
56
583
224
266
221
867
885
476
842
831
990
828
313
708
562
111
299
693
53
809
665
30
784
204
408
218
804
28
630
43
547
639
5
320
620
899
888
920
800
373
511
255
152
851
769
24
492
926
982
425
659
577
705
445
422
716
873
380
448
553
275
744
306
907
190
931
904
951
634
189
793
436
157
978
213
511
844
20
226
697
400
490
227
816
126
798
989
596
931
809
577
403
730
205
983
980
818
329
330
429
954
322
627
137
144
161
492
45
156
560
242
330
225
380
118
739
164
704
950
972
246
410
129
473
131
77
797
491
367
387
425
135
266
15
760
101
60
435
582
451
409
616
280
557
931
824
846
616
736
154
421
407
948
904
412
987
402
359
416
167
264
415
171
242
149
928
341
822
66
972
517
825
367
668
745
319
577
572
346
906
985
170
407
408
4
590
108
440
509
193
194
210
47
308
496
211
63
633
223
288
769
758
9
240
533
7
792
809
74
556
216
113
246
532
246
73
282
334
901
370
189
338
184
55
777
92
574
936
400
54
583
536
743
190
363
960
960
893
164
254
956
331
988
997
547
652
28
125
687
941
705
543
870
933
436
434
973
880
365
203
580
919
394
186
897
472
27
433
24
725
204
56
837
798
893
573
201
675
96
185
671
454
920
288
917
467
411
813
808
425
913
245
488
217
182
728
548
432
531
106
37
811
399
110
759
696
763
695
790
589
182
317
79
486
320
317
152
382
966
155
592
854
439
584
246
715
174
149
235
167
522
672
470
597
210
712
979
331
989
300
259
253
657
155
391
457
828
417
630
970
387
622
433
244
258
10
623
690
271
170
375
536
972
897
953
618
91
105
886
688
119
38
163
261
983
552
348
870
729
994
563
175
557
325
884
458
641
553
421
403
917
890
714
70
203
482
426
929
342
26
843
259
803
340
572
431
548
54
31
785
17
833
282
161
341
236
822
933
907
622
275
973
916
677
860
514
856
596
856
419
211
123
194
315
587
97
186
949
706
510
439
909
345
695
50
336
537
697
496
674
940
480
280
623
324
840
885
273
877
350
298
158
790
924
229
293
867
189
953
745
596
288
295
663
331
674
1
396
496
650
910
991
325
52
475
697
651
586
820
86
262
857
529
725
656
571
392
567
423
735
936
829
610
500
310
513
57
335
535
962
430
441
399
155
487
154
168
794
843
341
510
937
362
28
934
291
174
553
850
854
110
875
904
686
331
265
26
176
798
802
472
743
666
777
494
830
752
323
496
729
187
121
755
516
284
316
398
590
183
201
895
452
339
589
220
61
3
395
834
720
298
804
548
831
202
48
453
419
895
296
894
944
676
992
175
687
794
936
323
127
248
740
689
613
835
640
652
714
387
87
101
349
946
680
426
587
814
61
57
515
317
849
476
134
8
957
933
842
54
415
477
612
965
519
770
726
189
160
716
256
0
409
223
1
316
755
615
840
199
660
316
711
368
726
725
500
18
875
818
925
591
206
103
723
478
141
512
416
641
223
839
109
764
661
756
356
708
986
954
538
631
663
287
572
826
415
321
305
229
812
978
73
936
775
651
627
722
924
246
643
643
52
469
72
288
194
5
130
117
75
974
52
360
575
558
137
857
79
934
688
808
989
722
695
558
147
213
406
691
904
531
88
257
496
796
440
442
404
282
310
65
667
9
488
572
206
347
33
593
692
362
167
345
362
432
383
547
355
411
808
688
596
211
885
147
876
630
346
614
690
542
307
683
797
336
416
572
324
775
862
192
300
28
31
34
810
555
300
823
298
627
233
563
552
167
547
688
905
976
904
681
13
816
379
474
817
651
132
129
621
50
447
887
322
381
644
415
677
271
94
846
900
786
51
560
870
144
733
789
669
308
704
642
518
918
960
471
972
662
39
773
846
114
900
72
369
260
646
956
340
592
318
842
403
759
507
252
688
782
439
300
326
847
967
761
394
742
110
731
133
398
164
961
802
788
590
759
177
278
268
956
567
298
714
211
395
369
2
395
104
629
784
321
417
678
932
28
605
469
17
952
437
956
444
584
43
783
24
813
256
642
263
713
139
442
832
680
302
781
728
347
453
824
311
373
471
973
461
681
296
639
100
973
594
762
541
435
354
457
175
965
634
328
21
561
259
377
94
779
501
58
857
277
164
550
183
78
55
38
126
780
623
923
79
551
27
395
145
460
143
224
671
893
907
143
682
274
137
113
607
963
581
660
11
184
22
932
549
18
294
312
362
830
192
232
724
941
371
59
585
81
129
319
350
845
343
62
443
57
235
718
855
42
331
689
638
564
491
801
668
469
36
440
280
410
785
549
101
84
410
253
569
465
321
233
32
2
701
910
534
487
623
672
613
856
714
477
43
988
50
180
942
158
280
343
687
871
141
625
669
212
452
65
26
40
412
445
828
169
839
702
567
49
508
815
859
95
882
729
561
274
420
755
668
800
496
241
422
709
337
724
65
743
231
401
260
846
283
350
758
228
899
42
470
601
931
247
641
756
542
915
214
286
757
972
200
998
150
381
44
458
187
437
944
887
709
397
740
755
772
71
396
556
936
611
32
622
458
305
186
52
536
5
100
955
488
606
467
359
373
968
404
186
631
905
580
703
802
306
284
681
263
384
428
105
96
976
492
410
839
711
453
523
468
860
774
416
55
287
827
226
82
973
190
202
671
476
12
428
478
919
994
959
23
49
364
586
759
466
234
185
859
744
255
36
254
319
464
37
292
52
423
117
577
946
521
611
865
903
576
106
174
732
196
94
587
894
78
963
494
851
420
775
430
537
618
979
295
523
749
208
278
905
875
622
671
467
825
710
809
705
620
94
804
366
519
861
162
515
481
811
607
655
442
934
647
910
114
533
107
874
795
732
36
255
291
828
683
53
472
719
106
31
380
770
897
631
629
132
946
181
146
69
876
149
559
307
188
240
281
967
238
881
596
382
944
833
707
135
94
993
473
303
403
365
62
816
639
41
596
585
242
536
278
931
458
622
634
749
429
450
915
744
291
667
689
748
134
231
524
565
130
327
35
776
67
870
792
332
590
498
295
468
345
899
826
62
523
540
373
894
53
236
179
47
283
924
197
454
655
411
565
404
817
264
136
736
37
364
650
670
911
960
315
338
128
402
831
119
181
564
778
113
978
165
573
762
516
423
46
420
211
62
16
457
139
270
477
945
787
659
610
68
495
208
388
243
88
156
441
185
129
436
147
939
335
248
734
272
613
535
127
556
839
597
745
487
622
890
829
649
340
163
855
304
933
862
115
484
909
363
105
368
684
997
506
568
783
807
327
673
286
551
160
299
778
139
149
790
370
770
96
377
50
126
534
928
585
328
290
830
187
826
245
764
762
286
621
267
722
224
783
923
790
387
598
402
8
35
530
222
165
832
441
593
673
255
780
257
828
996
630
196
79
850
772
514
379
592
492
414
467
581
2
777
371
784
733
375
957
356
478
676
496
837
896
910
539
39
389
954
415
794
821
384
61
150
635
751
820
858
983
495
631
903
456
233
797
757
443
410
60
791
894
954
840
96
324
793
721
624
265
842
857
225
173
239
253
455
910
517
416
383
867
813
169
352
688
635
654
682
372
937
266
621
830
650
174
437
857
748
567
735
499
576
825
726
347
865
339
391
322
802
268
816
283
409
505
578
873
945
283
894
426
576
301
614
921
196
912
706
438
786
537
440
383
655
70
167
570
694
668
907
473
976
176
483
688
517
350
88
760
406
898
828
280
913
767
982
314
839
33
779
965
757
143
52
273
466
123
581
52
950
230
264
278
57
197
728
920
416
479
969
224
151
47
839
970
650
29
831
930
957
703
318
814
915
308
769
940
297
832
501
316
540
321
672
941
702
471
160
910
678
110
416
800
919
597
305
213
308
423
467
63
41
383
46
230
601
2
142
481
949
269
78
333
754
522
855
879
390
963
800
641
814
340
312
176
937
951
504
188
551
105
350
657
120
390
648
853
580
47
134
153
454
625
538
132
541
122
683
652
732
914
861
748
110
351
793
165
562
521
177
403
607
910
606
17
600
259
697
886
40
719
646
237
270
460
279
338
80
191
805
682
100
827
459
857
465
334
791
506
985
975
711
120
8
479
601
470
148
250
864
886
586
352
979
448
805
155
688
784
982
465
201
628
836
843
182
253
497
655
230
578
980
991
610
393
319
862
798
148
139
822
46
675
280
599
482
289
197
345
935
612
503
975
192
61
666
238
582
212
217
453
366
740
756
330
411
991
25
505
247
83
477
788
554
703
173
551
171
186
911
404
520
194
796
946
682
574
603
756
773
37
456
567
199
487
709
884
317
640
574
886
800
461
406
903
174
264
908
327
920
413
931
720
340
946
542
560
372
66
166
810
628
436
105
934
452
15
161
542
132
411
220
526
791
899
452
704
107
218
874
409
500
761
302
602
673
907
373
257
811
934
576
272
93
38
671
515
390
63
826
398
963
456
532
357
932
211
932
849
322
191
424
506
292
514
892
596
369
925
575
473
75
165
900
435
327
820
617
641
327
732
246
940
54
897
27
498
370
572
340
917
670
116
346
153
249
346
403
730
737
699
422
843
84
256
797
428
591
673
399
85
924
528
742
600
403
679
635
921
204
575
464
135
516
587
475
168
230
274
672
917
208
282
886
303
779
425
381
937
386
202
267
956
320
730
815
236
500
400
233
256
199
692
1
35
550
54
55
868
402
424
43
264
437
673
21
879
325
898
982
211
156
503
514
651
934
43
651
995
37
147
521
666
19
827
602
650
996
11
587
713
89
919
192
507
130
145
702
534
376
685
833
317
989
715
383
344
184
828
412
270
120
124
724
80
667
265
296
605
553
498
481
185
839
444
942
129
278
348
94
628
957
716
310
511
539
317
28
935
278
192
308
485
981
93
622
274
460
822
869
598
651
866
112
864
908
234
957
523
320
858
737
35
411
132
628
431
907
813
354
909
227
43
71
34
311
503
629
739
695
271
900
31
828
5
940
263
683
598
996
213
199
985
294
108
436
442
343
468
9
607
721
105
154
217
832
260
631
449
697
286
768
916
758
982
616
832
515
768
486
516
672
209
232
830
311
408
441
537
647
764
11
411
73
198
994
687
815
691
120
329
570
329
525
571
21
288
616
559
916
679
607
523
934
100
495
704
813
926
517
392
184
159
952
518
756
531
247
480
998
238
582
221
391
208
338
1
985
331
961
421
846
858
312
475
408
481
351
669
756
244
527
490
791
629
789
454
279
846
351
455
643
929
849
837
182
952
742
710
595
328
349
986
498
738
259
889
221
148
387
955
317
916
195
301
161
445
217
49
773
639
202
965
19
692
519
134
421
313
929
196
736
221
89
12
708
824
954
431
934
200
241
142
156
877
675
790
57
986
67
779
791
136
735
605
171
523
637
944
948
767
71
583
963
328
860
1
984
64
513
149
553
297
63
866
614
877
972
545
568
433
743
846
520
527
485
201
413
430
101
737
995
816
755
915
576
492
693
991
456
426
31
924
371
781
476
366
584
381
991
36
50
115
458
713
293
407
368
224
126
975
526
707
475
998
434
746
217
322
986
993
5
424
429
673
76
364
869
741
572
450
868
773
23
647
185
133
364
627
569
437
798
797
484
711
79
363
788
10
441
651
169
220
692
740
554
527
114
278
380
517
232
349
679
438
603
228
52
604
146
194
275
431
122
301
576
899
491
119
232
227
249
677
758
189
211
939
189
440
972
214
740
604
662
834
346
211
955
227
627
202
817
997
443
621
409
340
369
323
544
864
108
335
848
400
768
153
528
287
427
189
331
42
99
618
816
270
776
51
806
352
710
356
149
751
82
159
139
327
258
839
980
834
947
623
917
254
305
582
23
871
186
921
854
766
699
371
486
616
759
938
308
720
374
90
393
579
713
9
362
628
14
427
995
425
973
124
270
463
856
802
567
572
463
307
717
31
57
178
46
551
326
765
855
897
762
216
980
730
859
639
184
109
973
10
919
485
700
939
549
85
971
720
176
525
92
63
861
213
645
498
527
382
331
173
32
744
886
661
219
993
246
140
318
521
479
443
160
421
61
834
377
974
824
676
634
544
146
621
77
210
718
441
794
170
956
438
897
261
115
504
268
979
500
7
486
992
940
217
335
680
304
885
664
282
98
830
141
126
727
329
174
284
673
92
257
941
812
185
188
702
687
911
253
543
402
485
235
903
49
70
575
990
841
693
866
448
476
362
421
844
714
844
532
241
984
965
471
606
816
225
438
137
174
453
14
571
809
668
391
876
339
504
147
292
218
19
245
809
484
76
775
498
573
52
994
491
917
576
659
188
823
756
886
76
77
552
784
505
869
485
369
274
473
163
123
525
706
572
300
920
4
871
428
828
638
499
907
734
180
773
682
772
564
235
398
277
723
367
505
193
218
853
720
216
284
824
400
920
400
594
283
587
233
180
277
250
602
907
315
445
961
856
885
446
660
29
569
264
418
635
599
729
48
694
503
77
22
981
961
368
292
364
256
418
374
113
131
229
173
802
903
822
111
779
638
918
48
215
523
141
94
555
148
735
353
185
576
566
378
733
477
835
727
596
739
811
258
771
130
89
620
680
600
43
77
78
264
164
243
205
995
984
833
136
361
423
407
407
855
541
869
965
227
933
271
336
292
831
557
354
600
183
473
854
47
851
31
547
820
569
832
813
533
723
199
253
54
259
12
970
907
840
130
336
828
977
264
725
574
518
893
985
174
569
508
639
672
264
468
444
522
379
572
317
402
533
429
171
48
482
852
333
946
269
473
558
23
945
125
943
948
257
313
354
183
441
728
923
830
471
949
369
348
699
599
432
875
844
261
300
220
54
743
777
434
553
576
715
316
879
811
746
129
712
82
845
58
134
736
697
823
648
772
902
878
879
152
15
460
655
577
333
82
694
750
834
895
419
791
387
750
331
543
508
89
566
566
495
980
406
957
777
546
800
288
899
364
363
667
336
506
998
724
361
223
73
452
696
175
580
226
677
894
645
406
983
29
245
134
980
809
188
93
300
860
453
524
120
55
836
587
759
220
961
638
822
514
269
22
831
990
604
326
286
557
310
904
759
896
262
780
186
756
19
349
78
990
940
742
381
300
271
748
939
781
182
613
573
733
827
343
421
42
884
570
941
516
180
205
799
269
476
446
402
679
278
16
787
673
716
277
991
864
304
709
449
693
782
826
606
36
97
975
676
137
38
493
769
2
939
689
399
496
170
650
755
393
759
82
39
441
677
288
973
270
174
200
118
877
861
881
157
746
455
221
514
577
919
462
911
838
590
221
62
78
76
232
841
455
471
736
275
354
940
396
912
65
616
99
852
173
853
616
499
397
979
269
239
424
113
198
464
446
307
755
893
656
11
523
266
534
563
96
201
397
481
166
50
214
158
652
404
795
372
913
449
345
980
664
42
276
471
70
652
830
382
301
531
268
307
349
627
900
948
859
851
987
512
62
740
734
622
760
274
908
223
120
200
321
627
933
923
206
154
488
820
228
885
673
661
26
610
731
19
166
374
501
805
447
107
725
734
714
210
605
265
985
363
887
16
589
360
291
277
802
38
849
428
774
752
629
468
258
205
768
649
639
772
992
570
961
663
747
57
207
315
602
973
711
550
469
182
888
58
352
22
598
837
815
419
732
574
549
128
554
746
973
207
136
557
772
270
792
90
952
495
749
916
916
743
289
187
298
893
995
451
236
654
671
290
714
501
203
403
241
347
948
721
645
746
906
873
956
812
676
70
182
173
729
264
984
850
824
740
227
933
524
948
409
922
378
621
174
81
462
643
542
311
52
929
259
794
568
596
109
801
323
268
499
531
177
36
725
720
602
234
987
206
825
936
949
235
74
42
653
114
656
550
169
710
424
797
687
690
55
25
580
557
479
805
974
526
507
879
802
942
760
626
884
130
697
903
805
449
0
466
874
264
760
637
602
965
720
280
85
964
872
308
518
758
713
936
993
843
493
69
809
214
395
907
825
673
949
132
926
310
865
561
685
659
967
555
949
876
494
204
916
542
54
775
112
703
639
146
698
406
160
775
282
709
441
197
575
842
621
157
395
691
451
780
717
843
716
118
177
554
364
491
185
29
171
205
541
725
858
894
18
477
610
721
259
372
738
676
487
551
383
76
633
809
514
783
870
302
212
195
634
472
467
7
158
883
780
341
383
765
878
961
439
334
889
341
498
729
60
621
553
881
68
576
755
44
548
883
435
302
954
9
541
117
206
488
910
253
903
637
684
266
311
615
680
535
996
541
324
229
304
315
157
582
632
318
566
785
341
312
246
697
29
451
181
14
881
382
594
635
411
121
748
583
650
92
245
208
83
403
914
972
320
902
96
204
526
241
111
281
477
5
303
311
354
990
345
661
932
721
69
182
210
919
14
551
625
728
312
457
642
193
223
382
718
540
528
796
972
718
774
363
655
793
402
747
879
362
500
447
885
118
833
580
466
662
938
317
471
199
488
739
558
843
999
899
169
986
126
3
384
638
708
956
312
875
937
16
60
998
566
863
644
946
967
308
362
909
791
145
17
464
548
972
621
677
674
465
729
847
879
651
428
893
26
573
500
114
876
713
71
156
586
578
352
239
645
74
631
827
270
892
372
518
967
912
284
413
890
272
224
456
179
771
403
180
75
919
160
996
996
938
645
415
825
430
286
417
652
912
111
364
26
700
957
355
388
404
233
677
725
482
777
806
684
714
22
238
665
183
775
852
922
896
729
192
791
1
109
592
213
575
892
430
848
564
289
211
450
589
404
381
264
412
459
972
430
116
773
262
253
651
623
856
111
315
270
127
288
273
713
732
29
32
91
711
993
895
324
931
769
231
905
751
640
696
904
881
864
569
523
584
257
11
636
262
822
832
580
3
871
251
558
558
366
740
162
245
448
349
206
272
951
189
636
283
448
464
691
577
507
759
189
451
68
683
734
882
59
459
119
879
356
470
159
458
284
570
820
507
198
283
657
696
328
706
665
837
431
389
960
65
7
119
735
159
175
13
621
604
870
862
190
267
884
482
22
538
32
759
928
469
706
409
636
308
813
292
897
199
153
959
892
209
65
384
909
80
229
119
786
471
225
114
164
54
512
662
724
296
898
15
158
513
473
435
900
397
747
378
950
745
31
787
612
567
616
923
24
468
336
114
191
682
723
24
838
559
438
904
47
857
396
253
426
98
647
673
124
583
988
583
711
94
635
972
527
857
896
567
527
650
748
458
264
521
594
863
15
490
997
202
698
433
4
244
364
14
355
591
558
296
273
900
138
31
173
496
919
307
436
46
91
892
328
606
751
457
48
58
319
299
327
810
460
766
12
840
259
756
611
204
920
627
159
69
814
974
755
289
391
428
174
601
597
52
16
475
775
730
258
786
31
797
774
511
176
187
676
596
495
988
366
613
37
821
61
408
503
77
604
238
721
359
879
644
658
354
427
410
525
46
202
735
922
893
133
894
123
347
683
136
256
988
489
237
53
657
903
249
579
807
615
847
917
320
361
547
595
863
282
282
392
828
307
526
668
436
619
138
487
116
54
397
272
75
11
77
338
440
848
21
193
936
664
186
783
993
186
747
763
114
977
28
372
752
914
384
958
503
585
42
426
840
339
170
71
628
701
51
479
600
313
117
30
931
549
538
61
423
965
695
735
356
671
264
475
796
798
101
517
364
615
131
258
326
195
826
350
540
201
314
865
52
970
914
110
182
77
74
408
313
139
411
66
551
29
109
93
454
588
54
222
986
764
316
282
334
214
738
562
112
530
218
276
157
546
274
639
329
872
183
180
535
834
69
422
438
164
992
911
64
520
529
80
58
253
845
927
285
404
707
864
574
417
215
20
350
882
899
258
468
35
990
882
90
852
345
700
20
936
217
979
585
983
55
900
825
185
970
626
524
85
568
334
2
118
326
726
436
562
815
816
524
827
678
507
769
111
713
3
475
52
685
292
887
672
624
480
252
199
84
865
57
260
387
367
555
346
242
740
431
625
93
698
227
427
64
497
734
153
886
646
815
736
168
337
746
626
208
905
766
756
95
744
177
662
83
997
37
996
503
492
701
266
296
105
218
211
643
71
724
555
534
293
854
380
542
266
472
125
214
208
792
242
560
646
157
760
544
186
349
696
145
186
994
523
404
248
964
986
740
681
816
343
327
744
337
820
124
89
564
981
651
182
156
15
961
787
103
974
678
849
912
810
178
222
491
365
850
430
56
588
919
873
512
271
612
452
119
967
442
326
317
828
98
874
964
951
342
543
151
512
746
788
24
325
789
856
596
646
766
821
883
495
983
471
835
265
583
735
286
947
27
231
956
821
893
761
49
985
954
721
806
164
176
673
522
597
885
862
648
62
567
60
334
349
283
58
965
540
380
478
500
327
384
435
600
899
561
9
509
219
420
428
583
155
351
940
724
538
674
244
608
396
47
1
776
79
211
814
796
260
817
369
631
835
692
483
715
93
736
466
608
5
113
358
921
504
827
710
873
171
907
613
487
409
617
216
989
200
892
702
240
826
19
777
53
993
809
36
951
903
315
812
163
604
368
844
297
731
310
864
47
785
456
229
898
501
827
667
4
255
522
525
885
404
147
576
549
398
582
121
51
33
637
755
31
284
628
779
287
935
302
0
64
736
92
558
733
789
632
408
268
757
38
427
441
903
693
809
762
949
433
796
852
113
897
923
110
250
425
524
507
823
400
588
350
418
398
118
506
396
503
371
988
234
328
113
72
795
204
114
716
612
954
771
829
832
705
453
948
825
235
783
765
215
315
889
352
543
230
435
720
71
90
949
498
636
679
192
917
367
68
380
839
367
676
356
408
963
711
89
508
344
500
323
484
28
413
280
88
507
122
38
577
570
250
594
885
417
907
129
725
552
550
879
290
21
276
293
369
124
221
557
971
77
902
660
317
235
403
162
919
146
93
9
887
389
553
642
599
648
939
686
712
66
434
217
170
941
310
797
988
179
303
281
81
24
94
342
164
791
374
908
44
860
951
305
634
528
852
351
312
163
862
572
399
417
666
44
796
979
175
543
106
348
432
635
252
488
452
999
711
565
496
616
444
757
781
702
793
807
386
364
270
700
448
111
443
984
214
358
584
513
798
196
469
586
5
446
506
154
324
748
987
312
11
578
878
945
399
847
694
302
527
4
40
614
995
651
350
506
335
817
524
478
835
508
863
914
660
703
867
90
443
884
967
288
457
331
104
971
796
58
445
409
374
117
506
735
867
35
594
837
502
200
525
328
999
683
889
686
42
607
298
637
930
647
413
666
645
427
222
234
454
844
551
371
632
790
115
94
222
844
57
345
856
883
454
353
986
589
640
131
9
888
673
171
643
527
679
618
544
134
909
134
456
723
426
794
67
772
408
820
99
879
519
744
163
597
705
21
773
990
258
684
573
309
321
747
820
439
485
264
611
835
583
278
580
34
756
649
71
739
684
828
979
60
558
155
250
437
341
759
285
580
344
42
979
177
620
463
244
541
358
137
916
641
428
975
476
934
843
800
804
207
702
354
582
201
437
539
447
118
412
821
227
522
917
238
325
596
596
947
363
736
558
993
95
206
790
54
757
317
524
504
450
198
608
492
897
687
169
221
709
29
597
24
897
702
501
267
764
972
716
302
742
144
399
921
580
525
383
142
0
743
959
23
306
378
768
65
304
81
363
261
34
11
784
28
172
299
6
446
605
11
220
693
515
682
874
493
137
53
731
760
316
986
273
520
15
966
698
787
379
705
559
441
528
333
599
754
195
983
922
626
188
616
748
739
155
799
744
883
82
864
232
448
307
162
766
552
884
883
561
714
130
268
41
416
171
349
927
57
406
223
387
880
876
579
806
735
408
860
381
242
150
543
722
708
424
314
343
753
63
63
476
801
207
516
662
29
789
980
265
267
257
432
834
600
411
677
953
931
129
355
758
201
359
997
64
21
761
964
41
464
54
730
448
133
804
592
133
823
14
539
138
611
373
226
789
245
100
125
235
175
157
184
822
126
669
446
510
145
726
573
872
194
329
823
845
988
259
717
744
24
898
943
129
174
687
30
731
236
536
253
976
646
738
951
346
642
162
968
356
592
703
408
645
441
523
837
933
485
909
279
161
304
58
87
888
610
542
299
122
436
803
721
639
170
815
991
625
504
771
719
205
331
370
101
199
7
790
201
702
698
850
100
523
404
382
493
496
735
876
740
875
98
524
763
55
937
221
984
692
861
120
390
268
466
768
210
796
833
769
985
193
475
472
296
176
647
689
737
340
330
718
588
715
531
93
874
729
716
193
827
495
869
714
660
663
556
676
296
486
48
150
875
982
814
39
284
256
692
760
700
127
717
424
629
9
734
595
272
631
711
469
35
859
983
856
443
150
192
637
469
158
221
150
232
404
817
431
546
434
152
166
178
565
959
668
992
919
524
223
686
250
5
765
257
538
279
707
834
236
958
927
755
535
280
410
106
25
306
41
887
812
309
312
924
607
88
766
222
1
407
859
706
174
386
879
997
344
2
500
189
378
900
729
96
884
46
714
65
807
902
113
562
708
513
102
601
395
470
231
458
973
103
99
423
347
695
168
775
607
695
126
623
757
264
872
577
171
834
87
451
180
832
110
335
900
522
130
977
77
299
846
333
189
644
594
692
855
265
897
478
479
35
81
161
669
489
242
780
776
58
745
175
370
234
548
650
137
827
494
963
807
69
974
938
404
80
882
830
434
664
201
576
856
993
783
937
396
539
868
620
831
141
781
152
203
792
777
64
293
353
842
572
202
818
477
645
839
874
774
476
70
311
363
52
53
854
738
788
387
537
954
401
998
572
563
325
55
847
39
218
881
128
260
883
355
671
941
872
9
506
79
108
778
796
122
435
596
280
818
121
44
721
6
272
824
470
83
397
250
231
756
839
18
796
482
116
70
77
518
332
528
250
309
612
136
159
248
766
203
530
138
678
824
483
330
977
352
805
697
446
432
708
422
842
143
2
681
137
116
517
217
751
22
9
971
447
133
839
130
326
563
73
818
480
941
294
662
471
766
741
424
686
747
161
977
1
763
265
506
441
634
99
768
545
150
394
624
916
620
915
335
238
320
540
100
480
846
355
759
257
998
792
65
274
699
253
25
553
758
364
89
896
403
383
762
133
971
426
127
812
521
128
132
325
274
301
669
791
372
333
84
411
195
296
233
599
473
648
759
713
77
662
462
75
953
681
884
437
114
28
791
397
62
530
161
223
665
914
649
310
742
920
817
867
782
564
175
578
584
458
338
872
660
264
858
708
749
7
228
47
175
970
602
485
389
198
180
638
738
275
633
344
878
390
326
526
545
394
281
374
338
827
313
817
996
366
402
590
643
183
181
797
152
655
22
673
679
210
670
652
894
26
984
269
135
206
690
253
398
340
448
251
997
172
632
603
577
671
996
394
382
983
381
168
190
431
971
324
179
435
680
534
905
967
938
232
347
983
338
4
884
213
829
219
184
64
140
634
676
513
702
296
423
939
50
732
88
634
139
796
559
870
546
222
512
577
505
57
46
93
503
500
504
342
867
207
739
658
684
830
85
314
88
778
479
728
624
236
853
358
753
614
154
635
163
312
666
819
552
117
284
568
870
882
259
406
360
674
322
458
390
822
345
795
862
815
876
396
273
562
760
208
103
365
106
506
224
483
66
276
386
746
300
2
992
855
314
382
590
534
545
418
11
778
361
447
541
238
251
5
61
149
872
848
772
708
474
506
371
857
409
316
767
824
166
938
617
518
651
211
216
988
435
727
832
664
350
854
440
214
54
238
72
243
964
840
876
918
31
828
825
748
784
399
38
96
328
706
752
300
763
428
941
437
523
80
314
533
374
405
599
701
619
945
248
518
295
48
391
768
242
33
922
825
884
735
254
692
910
104
797
644
351
748
635
469
927
324
514
336
180
290
993
608
229
688
269
683
398
232
150
253
233
847
340
398
821
947
707
158
702
135
620
124
693
449
655
284
757
596
814
411
106
394
287
889
690
601
186
60
874
520
887
742
775
184
17
5
159
522
547
475
659
967
661
384
644
435
46
980
415
308
71
316
104
261
202
342
526
332
290
724
732
477
515
234
331
11
858
467
591
439
760
802
769
612
46
180
500
369
932
911
696
226
38
116
851
330
707
87
465
27
222
442
116
653
701
591
374
615
756
343
844
173
816
607
505
311
904
386
416
52
47
535
163
640
794
645
471
436
110
327
940
334
592
117
228
426
978
343
148
948
88
325
534
543
858
838
198
328
31
935
203
98
539
85
601
553
648
507
10
331
498
963
805
787
629
567
35
607
760
729
30
151
251
29
648
855
120
362
135
513
499
796
487
393
838
21
157
222
866
430
755
107
173
317
320
430
230
387
139
356
225
1
297
272
143
513
10
663
749
530
89
737
732
756
480
908
884
155
886
259
988
845
816
611
761
166
718
275
980
174
662
713
852
49
620
41
501
37
74
458
34
922
108
586
810
43
363
800
687
173
492
315
382
476
191
92
673
217
979
295
371
329
232
440
977
442
124
20
774
923
80
540
476
860
2
20
642
420
298
651
798
453
402
401
792
321
815
763
314
364
116
51
111
274
821
624
283
75
350
878
69
659
798
842
316
998
498
43
353
748
867
13
776
985
583
123
495
323
381
301
821
351
677
930
921
134
272
546
730
186
710
832
156
645
134
749
334
902
774
839
226
540
662
382
218
192
134
786
745
74
700
865
136
698
122
470
584
567
266
890
421
908
89
624
537
92
3
56
886
651
46
419
266
635
697
948
154
862
444
185
249
874
383
158
632
675
905
58
31
614
680
152
912
753
383
247
260
635
454
861
106
512
527
204
378
92
717
632
17
941
447
540
711
339
734
770
138
845
561
580
288
807
181
654
715
720
954
163
854
568
775
395
179
32
713
181
372
62
519
419
758
729
0
361
618
867
77
293
702
116
253
361
367
178
119
699
957
275
470
702
324
884
168
27
516
454
219
212
236
931
508
872
604
736
35
928
392
898
632
58
627
477
425
171
975
503
793
646
542
350
248
435
223
703
142
462
612
895
805
975
270
35
67
2
351
319
333
842
55
836
172
642
730
645
552
182
306
375
589
96
173
912
387
149
418
66
46
391
889
378
207
688
603
502
730
662
936
477
726
376
102
138
419
823
971
97
362
665
715
911
2
482
62
559
593
589
777
560
709
906
251
266
866
182
964
637
905
966
223
835
285
211
204
892
208
957
389
557
477
635
343
17
622
789
137
543
773
518
907
319
17
881
423
958
83
179
936
278
244
526
421
174
819
585
21
951
259
452
931
471
325
825
73
917
5
501
517
994
685
467
545
960
638
779
187
10
390
900
178
18
407
69
381
34
182
882
796
451
418
650
193
791
730
848
698
912
489
96
636
279
736
675
631
684
530
554
291
813
851
424
419
163
848
115
386
110
451
681
172
246
513
74
843
480
821
291
112
169
741
88
855
542
77
815
297
911
598
898
947
72
839
269
170
11
257
820
426
25
656
956
708
671
166
315
765
249
267
491
399
129
968
196
349
736
901
256
691
601
970
615
937
608
46
465
655
422
333
599
140
914
72
645
910
588
879
123
701
379
549
763
247
979
512
911
409
537
914
735
962
492
676
439
772
46
753
764
453
997
160
170
784
477
353
299
724
621
151
340
117
445
381
213
320
694
352
509
95
812
26
509
259
97
262
535
919
327
237
611
565
934
843
194
573
741
385
44
828
825
969
335
103
906
958
245
427
180
867
497
236
511
479
923
909
863
133
68
357
430
428
646
644
8
924
735
244
871
880
200
838
897
548
358
345
875
258
506
464
994
318
229
733
474
65
311
551
50
688
490
739
740
189
858
576
443
388
417
922
195
3
384
468
519
689
496
265
336
865
509
11
664
389
325
131
193
798
716
466
482
239
406
446
765
438
912
22
619
992
778
764
596
589
402
394
799
871
133
291
8
972
761
630
136
309
535
666
74
581
164
39
503
457
395
531
491
73
291
557
936
652
728
240
112
328
708
731
651
826
233
994
350
61
973
219
997
63
482
436
934
76
919
262
237
415
746
103
956
141
452
549
621
239
250
850
393
484
634
464
376
317
282
23
592
956
711
627
224
815
993
534
852
170
800
578
324
460
769
275
273
64
488
250
601
960
387
198
743
531
995
413
273
70
630
693
91
929
654
95
345
481
544
363
909
13
386
466
448
257
613
365
989
540
685
257
510
626
260
521
622
979
669
756
993
922
359
169
13
154
808
312
849
10
633
339
536
979
159
455
686
185
433
682
443
135
801
27
237
192
100
832
342
186
100
817
974
953
424
328
849
31
787
825
237
859
742
83
458
695
174
527
190
576
147
605
584
661
222
326
897
173
771
774
695
520
550
550
544
35
532
151
285
436
395
187
38
122
53
804
488
691
175
392
807
492
101
124
306
491
788
323
542
442
987
825
174
562
612
583
267
699
156
158
91
605
961
373
200
296
941
994
530
129
521
666
537
921
770
360
861
323
905
232
19
70
832
957
23
594
202
840
620
258
296
227
103
335
619
967
645
927
572
350
25
536
154
949
786
919
613
567
138
691
998
450
637
298
97
160
206
605
40
457
892
97
777
349
64
594
594
420
157
284
896
89
988
18
609
659
705
183
304
187
906
159
167
532
174
451
394
370
797
707
935
31
288
20
196
12
0
43
256
88
944
835
967
82
581
849
617
459
354
953
457
192
829
26
599
457
597
938
715
229
3
253
734
352
490
425
265
278
782
944
753
376
379
6
799
773
984
693
677
646
556
997
289
916
16
785
91
424
617
597
184
302
398
115
783
595
629
6
443
847
986
147
229
207
326
785
720
557
631
729
836
841
745
410
191
729
338
123
247
858
906
623
704
719
388
915
830
223
906
422
124
313
45
677
230
672
40
204
634
188
357
242
580
911
612
629
43
895
918
942
632
816
661
674
12
703
656
773
489
665
372
501
485
268
994
135
468
114
17
847
193
985
969
452
424
678
255
195
875
643
808
386
986
101
465
412
886
381
105
593
532
220
649
415
718
298
900
114
380
543
14
926
585
213
137
39
659
246
414
765
345
424
580
353
846
698
175
593
536
612
168
598
767
157
948
750
851
874
233
415
748
100
822
616
127
861
671
817
878
105
138
27
322
848
859
39
687
438
64
661
662
390
360
463
830
219
460
958
834
912
265
513
39
110
346
993
649
403
701
455
316
715
691
515
334
306
43
739
529
803
954
493
223
183
176
469
859
163
51
91
859
117
652
448
166
578
657
883
60
747
794
875
806
435
848
811
765
422
845
329
493
787
249
580
512
586
962
731
676
566
542
400
912
778
562
345
104
256
772
190
733
487
917
994
352
241
476
740
762
186
628
579
521
896
790
264
190
422
149
281
267
328
397
197
533
30
86
18
92
640
728
346
112
707
426
215
305
359
847
615
265
595
590
994
371
689
746
49
468
369
578
401
85
9
90
634
813
34
493
554
595
94
931
796
353
409
742
171
922
559
483
38
292
489
883
717
439
458
748
371
99
618
917
244
564
41
244
522
177
991
327
448
361
875
640
13
428
564
828
430
570
175
572
903
746
248
792
890
230
493
629
261
468
920
151
220
873
361
935
304
272
124
410
119
340
447
863
41
642
350
908
639
751
787
80
236
833
59
137
578
232
307
697
214
404
746
76
467
47
955
985
237
565
179
308
6
498
739
703
125
280
493
185
803
716
439
82
659
923
476
386
884
409
995
254
289
106
510
65
798
142
810
101
340
720
301
836
966
177
389
943
491
843
326
488
430
240
794
237
427
373
33
460
278
461
182
230
55
406
515
358
773
430
943
67
142
244
442
648
331
509
552
320
996
13
49
422
582
983
740
497
506
205
242
112
619
997
341
569
140
932
27
151
910
617
40
130
431
252
590
322
692
55
444
616
996
975
657
597
391
606
13
982
872
246
760
584
992
823
888
162
332
598
267
793
929
456
521
535
986
328
542
154
915
113
75
919
255
124
227
248
71
509
769
136
989
329
362
516
227
937
562
628
369
636
360
630
297
316
973
413
921
535
425
953
154
759
401
815
689
297
785
883
439
436
459
468
470
681
242
477
895
179
530
146
865
297
564
859
269
492
366
698
645
672
830
583
505
668
324
379
219
66
636
20
358
821
631
216
159
557
793
567
860
840
290
248
474
746
749
4
818
81
165
517
829
116
247
826
613
126
308
480
284
559
529
471
891
377
56
920
238
568
922
934
528
80
252
874
130
173
891
631
96
125
355
138
745
195
485
96
759
43
792
927
945
472
860
85
606
236
409
976
467
57
514
868
581
228
846
650
476
427
573
430
13
803
665
225
745
442
477
769
285
127
666
296
822
634
877
492
553
275
842
762
274
370
463
979
12
701
87
319
923
682
866
210
718
434
359
20
406
340
390
930
609
96
579
851
533
178
294
745
447
171
706
315
458
591
325
881
662
39
881
308
998
332
347
337
760
207
500
99
935
914
285
889
797
576
943
237
250
197
990
412
966
789
555
529
264
207
986
14
408
651
681
820
426
330
768
457
474
593
805
362
716
753
987
906
962
825
110
24
545
42
755
713
967
38
823
546
553
544
593
161
880
385
446
665
450
834
708
142
906
470
854
723
414
816
697
329
979
224
684
948
198
544
936
463
348
661
613
278
163
698
641
656
106
749
980
919
824
568
968
431
498
707
580
491
916
533
934
312
518
772
226
902
357
875
640
763
773
229
644
746
181
326
448
12
710
469
507
808
15
366
803
947
138
138
9
608
211
259
491
814
914
635
620
894
730
544
513
437
253
263
850
946
818
817
867
503
701
288
207
68
184
108
734
454
209
749
181
909
744
954
655
391
317
673
140
30
958
871
61
401
793
861
1
81
372
205
683
524
212
722
771
246
379
680
701
912
152
151
788
365
56
408
596
186
976
991
524
79
961
416
157
508
359
34
54
760
216
773
870
386
975
78
477
927
74
732
447
396
744
666
573
737
358
21
386
4
910
42
95
417
635
973
470
403
578
821
761
905
867
699
769
946
124
939
481
448
301
420
457
344
587
320
440
106
268
348
38
158
93
270
871
390
379
382
588
742
103
784
122
419
304
608
977
62
836
551
232
61
816
112
777
301
55
370
757
752
489
436
73
228
486
940
361
235
0
257
477
874
994
211
869
986
241
455
649
657
33
114
683
262
352
222
74
487
519
569
163
826
720
283
716
926
209
735
701
548
453
824
237
862
144
705
651
996
803
423
736
421
87
758
184
687
654
565
191
485
293
859
110
464
271
288
450
933
670
748
937
582
729
407
456
193
870
430
377
953
973
914
728
719
863
617
331
580
865
712
314
802
19
246
23
696
203
760
893
331
188
24
107
16
779
579
330
583
896
427
878
540
165
728
524
849
281
46
21
944
322
165
713
281
803
38
656
349
841
75
1
214
871
909
561
974
660
695
770
852
957
423
48
123
164
390
815
382
204
280
184
424
521
19
312
566
727
934
831
19
908
219
65
445
97
216
430
863
813
528
567
860
382
730
536
178
168
58
585
409
385
744
909
830
129
121
462
799
474
24
34
432
526
963
376
544
335
976
593
123
909
260
490
660
670
657
849
716
54
66
780
148
200
729
518
588
57
115
751
910
53
86
648
98
320
459
256
231
478
532
719
819
495
652
86
291
693
267
851
120
340
828
481
992
729
243
61
284
594
746
199
759
103
529
638
165
434
678
375
933
392
445
728
365
991
910
801
374
457
161
111
807
868
234
202
361
945
326
492
119
203
442
420
595
891
302
773
958
259
637
603
367
9
650
590
366
366
609
957
453
189
4
624
15
72
161
227
780
641
33
851
759
827
169
272
838
54
451
512
136
335
344
705
312
205
597
564
654
113
925
959
110
156
759
737
146
898
347
294
391
669
49
200
321
431
440
234
232
720
24
101
422
671
531
783
867
829
319
558
196
246
596
676
901
465
753
88
113
52
695
59
638
836
61
567
408
363
73
955
375
772
343
518
397
134
99
62
193
793
35
530
558
703
705
753
590
95
516
565
739
210
945
748
212
310
231
752
594
745
870
436
658
872
84
201
439
61
337
792
365
758
883
131
348
129
361
810
269
366
879
357
641
211
633
996
242
103
505
686
430
859
742
763
637
510
445
919
650
523
313
974
617
223
52
65
447
285
676
166
431
87
631
956
517
429
303
424
434
580
869
552
836
224
842
727
664
537
489
792
726
433
343
613
722
655
927
86
631
776
828
18
212
923
319
865
35
677
65
9
821
783
583
204
988
593
835
711
221
593
898
998
272
337
501
62
280
881
335
854
858
703
182
926
771
130
875
142
541
448
759
572
580
752
807
390
721
493
994
96
976
740
856
916
571
686
191
837
409
632
840
220
723
103
877
581
240
692
777
247
464
857
812
981
921
924
792
386
516
240
801
987
622
954
641
142
947
823
303
458
323
682
59
980
435
282
460
176
281
636
517
744
124
343
888
106
786
938
521
78
573
543
756
796
593
467
709
562
155
627
233
607
508
234
613
950
897
421
382
24
339
96
325
246
653
268
916
959
116
520
331
837
726
518
410
467
692
864
822
948
338
523
761
600
309
928
378
788
564
107
826
321
329
34
637
407
46
223
751
347
865
63
31
949
91
285
723
96
255
213
894
379
947
195
70
925
599
71
147
332
479
999
702
838
255
520
54
300
5
427
679
512
743
427
234
767
269
813
223
873
286
69
509
660
513
768
68
819
189
923
973
278
799
250
601
661
22
518
134
673
843
122
592
816
892
235
435
160
253
137
932
231
459
927
404
914
849
828
584
405
903
365
353
701
606
865
173
538
363
763
448
286
341
788
483
987
180
228
291
633
626
751
211
635
783
727
19
614
787
641
651
689
334
977
967
434
791
355
467
866
786
559
575
179
339
397
474
583
586
796
493
491
457
430
246
697
620
650
241
740
985
121
40
972
795
78
794
890
768
472
652
18
575
39
158
697
446
413
210
941
722
371
870
361
911
686
740
489
943
954
79
676
23
221
648
881
662
756
946
528
941
483
512
264
788
354
642
699
814
72
614
757
124
271
777
560
738
121
368
54
705
895
860
968
189
849
691
498
683
290
314
275
226
502
376
499
52
638
55
583
361
1
54
116
634
302
467
844
574
332
706
858
222
428
166
374
951
187
305
910
964
864
919
548
509
277
117
835
878
95
174
335
911
715
467
935
274
263
198
112
827
779
290
871
385
269
760
988
649
977
41
477
427
4
887
534
148
704
371
977
507
817
874
496
848
818
283
132
694
297
966
78
197
876
596
578
623
794
968
64
638
715
572
312
979
957
979
558
153
794
935
72
453
302
775
0
388
858
643
592
741
56
618
103
390
467
306
575
297
570
737
463
514
267
960
724
727
597
994
267
203
334
649
241
312
363
802
591
890
72
900
298
466
485
0
512
94
558
420
417
544
532
625
870
731
297
732
657
770
762
946
84
625
635
736
889
290
516
681
734
820
578
210
724
648
149
457
86
819
397
933
218
104
423
752
860
625
205
485
770
878
124
182
570
907
406
457
559
927
993
380
344
72
362
930
126
348
702
892
533
233
16
816
421
727
82
140
51
417
98
687
684
480
212
400
418
345
677
708
710
478
158
289
926
724
305
113
595
848
274
256
185
358
191
651
329
804
762
384
154
9
759
823
888
220
305
333
581
968
597
993
174
923
59
544
931
418
151
365
862
817
802
674
517
214
205
554
20
578
84
200
468
706
439
256
9
571
716
348
256
375
969
592
934
513
94
702
319
717
148
103
89
46
192
494
734
889
406
57
448
18
383
703
656
172
356
314
673
542
49
390
28
682
549
349
605
840
426
581
319
207
83
968
653
205
659
644
809
299
123
13
751
816
329
7
382
865
562
660
671
874
981
914
786
350
787
137
148
750
12
116
490
213
563
619
380
983
950
346
997
176
395
286
989
561
359
886
539
388
966
629
456
418
937
951
4
801
44
484
622
878
828
995
766
262
597
914
850
878
231
298
575
319
886
316
249
437
889
671
859
237
869
118
90
194
930
597
636
20
607
741
605
807
791
914
43
728
41
272
450
246
269
591
551
209
343
850
465
744
781
647
53
671
221
574
491
376
616
926
311
52
164
428
450
483
957
779
717
32
478
329
490
723
960
430
922
633
528
445
243
950
703
411
298
474
775
614
330
950
871
84
545
26
964
931
511
630
493
855
369
502
897
458
41
668
557
84
667
26
615
460
913
522
67
710
556
223
172
669
890
419
484
75
749
573
232
805
886
100
682
898
570
104
157
66
228
211
937
276
13
842
220
360
266
527
658
310
900
560
463
484
398
848
648
17
669
343
550
947
583
122
489
61
914
209
721
815
35
817
313
329
967
899
161
547
234
862
958
118
872
358
576
930
809
641
985
822
369
646
426
297
418
320
413
422
420
437
393
542
0
165
309
266
348
151
111
884
974
899
292
914
618
692
503
736
737
77
301
324
746
489
575
581
793
684
23
355
114
591
721
476
959
95
391
12
216
15
441
444
574
391
100
707
795
469
577
197
645
887
183
155
634
583
115
679
854
664
929
376
190
129
804
835
531
798
565
888
121
146
256
280
183
500
494
546
574
593
390
319
472
90
694
888
691
851
454
64
328
871
41
285
251
583
121
698
838
602
784
19
286
446
567
47
125
527
965
342
466
281
248
595
678
703
980
627
117
988
316
538
519
523
54
272
868
712
367
609
157
951
397
508
535
839
431
782
405
625
256
803
960
579
206
92
298
236
55
610
743
716
80
423
173
115
598
837
576
284
726
671
800
662
622
656
340
94
615
38
33
349
544
570
287
638
440
208
674
154
44
850
959
597
610
446
823
251
279
519
120
126
559
157
869
728
836
938
737
49
723
143
88
64
735
422
779
24
224
662
71
530
262
860
393
701
689
20
406
135
39
829
748
418
767
813
264
207
790
923
384
810
28
167
869
152
556
645
314
652
69
425
53
209
986
185
9
464
959
535
415
273
952
52
125
32
808
938
847
883
248
810
778
420
224
775
410
950
366
243
516
841
694
347
972
842
212
190
536
919
686
862
418
398
389
582
470
227
135
806
644
928
446
102
662
105
36
119
812
734
471
485
401
985
35
258
995
105
424
316
450
665
62
738
927
426
599
254
733
791
712
535
436
206
29
326
258
128
446
441
248
217
102
745
693
323
676
630
726
75
323
491
615
219
924
350
971
778
875
298
226
389
8
595
124
921
140
697
54
583
760
925
331
439
927
268
445
563
119
670
70
521
286
544
226
288
547
564
933
193
261
780
247
114
806
976
274
505
613
223
294
768
505
215
216
436
201
533
394
385
267
409
344
789
288
793
767
887
930
404
347
988
549
736
435
413
71
277
597
216
508
210
47
255
693
963
264
474
503
512
299
608
774
101
544
264
836
938
450
310
486
667
903
715
975
2
54
833
114
396
244
411
291
996
554
917
126
890
10
957
585
731
120
616
42
1
595
125
70
519
281
60
44
308
544
649
36
208
911
304
339
863
24
693
969
948
729
687
776
672
581
243
745
82
928
851
431
386
322
575
733
391
126
74
953
599
334
23
166
781
997
238
264
733
451
49
832
464
56
62
608
717
878
20
674
296
618
405
441
471
882
136
97
733
657
471
386
412
967
409
773
301
752
950
758
162
891
562
497
753
701
47
297
291
410
832
198
886
614
471
104
636
292
739
698
163
174
622
505
523
967
341
186
143
456
970
547
25
543
558
772
367
112
198
18
82
671
430
38
541
857
785
776
799
46
243
131
130
98
609
909
590
569
337
997
218
714
638
208
654
146
493
998
423
719
531
86
582
558
989
386
975
300
437
429
404
829
270
565
682
286
117
404
489
548
164
918
773
139
102
353
763
956
898
934
41
100
512
795
974
112
84
554
904
339
850
603
16
745
277
902
997
545
51
466
1
235
865
868
146
324
598
251
208
435
462
29
438
452
170
379
93
561
469
715
653
270
386
375
545
340
761
831
154
48
120
295
136
406
791
205
306
208
596
287
417
239
556
615
809
394
492
585
562
92
350
205
183
985
623
393
278
365
644
929
546
479
529
368
486
450
255
346
640
919
933
352
325
253
88
929
812
375
106
722
228
66
439
345
282
190
772
947
70
900
147
417
606
477
171
23
358
151
511
81
39
618
303
464
850
407
755
444
64
839
979
231
864
795
157
741
325
94
360
462
229
31
515
212
56
179
363
412
214
615
501
546
114
810
902
801
561
134
96
726
841
340
4
721
406
182
246
929
972
747
594
839
130
822
875
523
766
113
884
481
38
289
956
434
545
604
871
264
404
431
105
239
90
121
613
914
565
25
760
118
69
981
664
472
249
372
431
711
686
619
27
40
457
667
440
660
661
773
83
998
787
931
685
772
817
549
698
75
240
577
406
87
743
412
98
927
367
425
673
455
23
94
528
914
677
723
378
286
894
445
781
558
665
336
290
763
669
71
220
764
139
343
699
919
959
893
139
223
349
257
403
991
219
662
506
475
983
918
576
139
39
321
284
225
883
911
671
802
755
931
367
726
37
472
491
489
509
310
572
753
840
613
98
881
789
911
568
362
404
421
894
933
931
147
333
868
931
202
965
260
214
833
7
363
596
871
106
809
748
454
481
152
566
498
724
814
561
706
911
965
383
543
962
383
677
850
259
748
512
707
670
99
95
258
220
476
870
765
592
850
929
361
218
373
453
28
825
349
167
186
583
687
749
681
62
43
64
659
229
457
752
107
762
755
698
429
842
681
425
613
74
982
231
138
664
822
401
874
133
328
427
332
185
858
291
945
531
145
980
474
58
322
97
287
941
890
41
547
571
397
742
879
339
385
200
794
591
272
746
664
47
236
780
214
556
143
309
694
796
147
869
552
318
448
350
614
885
824
133
299
179
937
718
943
581
110
403
581
937
552
816
83
134
779
428
932
665
158
286
575
777
510
862
960
984
534
80
882
736
472
152
378
229
704
155
859
905
756
810
841
108
445
113
576
553
553
396
593
293
837
104
696
82
277
615
84
670
101
989
952
859
904
654
474
899
696
715
131
44
862
634
917
733
357
585
481
145
773
195
521
894
159
729
562
978
7
580
659
311
175
502
34
3
876
948
584
784
34
676
954
335
97
672
788
291
909
194
242
879
216
830
245
659
483
710
717
321
810
928
390
180
277
808
297
856
769
263
302
669
517
287
498
196
244
644
601
406
882
665
568
995
331
344
136
600
91
517
994
873
802
40
46
301
549
713
775
842
55
223
407
242
888
802
851
109
823
84
553
458
104
690
697
294
555
174
277
874
301
36
777
41
363
29
925
424
274
703
540
612
482
820
112
716
614
742
363
895
840
397
390
162
180
236
258
474
469
324
868
763
649
744
358
473
149
701
754
339
218
713
670
489
191
888
449
794
201
821
856
513
255
972
340
193
172
38
463
262
177
264
375
98
581
861
263
626
594
873
385
917
480
319
47
960
914
695
648
605
289
406
756
81
486
389
410
523
656
999
330
923
334
874
837
595
607
450
540
767
49
206
854
366
219
577
863
427
948
578
244
95
558
605
635
211
181
507
122
277
407
212
272
62
155
436
609
702
404
126
875
334
223
827
947
468
449
185
101
542
353
112
948
272
313
568
594
666
46
349
946
415
752
356
950
572
90
689
923
98
873
367
609
355
816
338
616
618
622
810
316
743
824
194
61
64
0
225
120
98
802
40
116
116
852
720
427
456
52
188
942
254
331
844
427
932
832
826
493
260
466
332
724
647
64
789
479
351
675
520
485
525
538
271
377
724
959
696
191
31
886
387
195
354
580
698
589
915
924
159
467
140
763
517
831
563
161
750
661
728
171
335
651
320
176
262
113
778
151
677
174
533
804
172
131
275
974
101
886
489
323
885
801
268
37
270
790
928
355
340
390
517
915
288
555
645
359
454
144
134
396
620
23
795
185
395
95
229
146
500
208
558
96
208
481
831
916
782
836
820
307
220
181
515
343
849
328
740
337
842
152
892
623
931
850
304
10
521
187
596
780
349
511
119
123
942
281
808
298
585
816
797
549
842
431
668
562
748
24
657
712
749
33
625
959
955
141
978
408
953
767
238
688
769
199
358
826
696
82
253
285
318
670
299
687
416
348
191
568
219
745
656
732
571
623
946
788
446
398
437
606
134
633
786
55
443
418
623
688
596
782
615
903
345
993
760
679
141
801
126
4
887
745
703
419
910
784
168
46
211
496
611
817
30
196
722
900
616
342
459
806
931
145
842
571
312
70
835
832
792
694
621
433
274
777
197
638
218
62
450
312
179
283
77
523
388
346
874
700
16
44
99
220
886
950
412
931
184
773
557
862
688
56
781
676
832
138
834
732
688
490
838
53
48
319
675
665
639
410
784
316
345
203
470
763
237
968
494
766
76
41
558
213
875
425
816
548
934
586
240
532
839
378
575
567
912
987
131
301
679
427
879
744
389
431
17
912
666
323
86
633
165
968
440
276
738
244
275
909
288
168
978
389
11
925
469
15
5
433
925
701
137
920
992
243
378
579
478
635
5
703
629
228
256
827
18
674
529
881
539
628
323
526
225
180
445
777
329
57
16
698
791
588
42
566
405
940
105
755
184
867
799
579
745
824
963
141
98
966
659
598
352
154
817
832
728
96
960
980
682
819
878
861
251
933
309
675
411
837
392
201
504
31
248
900
229
986
203
199
873
32
33
663
43
201
261
977
261
232
25
905
354
170
320
837
491
254
905
362
294
26
390
864
712
910
148
740
675
882
553
571
799
371
58
204
972
238
75
198
603
228
96
191
352
545
520
649
370
923
291
606
665
905
559
25
219
186
281
237
163
179
89
401
195
280
243
983
555
191
295
137
495
107
443
139
860
324
655
581
655
219
475
309
292
814
471
565
43
172
381
355
636
581
884
72
30
127
504
693
309
405
881
315
816
54
165
626
492
361
961
520
632
242
704
415
244
798
697
25
656
927
761
821
31
929
386
153
388
30
745
741
66
920
783
555
763
731
460
23
729
179
14
660
494
271
5
497
537
523
144
515
318
641
467
998
613
52
432
297
53
396
30
175
293
278
675
538
493
367
651
262
179
240
825
573
936
126
823
610
928
81
635
436
596
381
851
811
181
996
560
881
888
114
358
599
630
454
398
394
375
930
958
739
993
506
201
325
191
20
196
369
306
116
171
331
23
658
879
957
640
353
77
549
210
801
804
287
753
68
768
749
77
276
902
865
320
479
665
995
736
623
325
656
941
526
609
878
341
879
623
441
415
585
162
514
954
67
518
332
348
968
943
630
101
588
919
191
688
451
263
859
873
558
191
3
582
713
276
314
725
552
868
910
97
760
217
719
963
930
893
672
495
883
635
489
192
149
736
393
491
251
285
213
645
273
882
909
814
737
335
348
416
409
434
459
660
689
845
966
834
319
360
376
235
238
595
376
698
936
672
905
223
485
81
740
726
727
851
341
736
644
215
474
379
125
524
88
183
80
668
797
135
967
561
129
963
999
127
982
464
940
751
178
104
576
583
321
482
344
627
414
605
33
570
624
205
758
80
577
462
467
917
895
166
554
547
643
900
198
426
657
23
348
248
32
261
436
302
515
667
20
202
861
553
393
451
724
247
18
412
186
956
800
913
91
136
471
493
672
547
563
494
677
378
419
47
398
832
71
97
686
162
924
326
956
964
800
485
734
743
434
628
756
923
977
358
335
568
460
119
166
746
816
197
201
741
773
168
327
126
619
904
715
744
293
556
165
494
31
575
812
976
289
913
408
864
224
720
404
501
628
756
994
359
489
261
175
834
865
405
642
739
47
858
174
96
427
9
918
454
371
81
407
946
459
956
80
53
508
142
116
963
747
449
59
985
573
729
431
66
559
341
411
897
251
831
81
365
123
206
937
986
482
3
975
520
799
824
927
390
106
187
823
26
45
338
301
732
321
100
540
745
371
537
516
216
257
911
739
114
920
760
701
269
508
259
795
327
188
162
165
305
442
757
279
549
115
526
160
232
469
128
295
723
92
993
209
658
237
108
799
407
202
476
61
650
564
958
587
770
366
761
15
737
596
987
539
812
541
904
169
501
382
169
402
372
267
407
456
261
522
967
505
477
431
899
722
833
248
379
908
397
168
480
443
915
981
904
562
152
587
497
602
492
49
760
72
3
852
0
508
962
540
203
957
777
488
166
258
527
517
200
403
611
131
58
153
539
131
920
884
169
189
885
204
163
907
197
622
139
143
476
286
248
777
705
239
271
279
762
928
726
631
880
977
880
93
109
45
37
167
376
304
719
645
110
102
261
645
484
286
61
321
275
70
159
713
123
551
701
440
620
579
387
987
672
256
229
317
953
811
317
468
652
745
759
474
597
195
708
435
433
840
566
29
449
16
926
522
574
289
8
878
152
58
350
579
894
782
347
585
408
697
232
760
88
735
400
271
328
286
256
373
243
122
594
602
989
711
791
904
651
513
376
620
744
51
308
457
794
609
404
67
914
184
147
323
255
923
126
530
931
50
89
887
415
962
33
815
85
583
351
213
446
509
281
476
269
165
177
490
518
61
835
510
791
520
811
402
86
490
96
137
631
482
529
590
992
618
72
826
431
160
313
6
106
383
602
731
332
956
15
636
886
949
627
415
699
835
970
11
893
111
236
842
68
304
726
387
79
138
182
687
179
216
936
183
717
215
933
906
6
404
148
408
288
997
494
321
240
375
534
32
330
701
13
549
77
135
884
99
578
972
96
958
542
627
346
589
52
272
595
175
883
135
231
929
104
3
138
804
505
584
574
609
210
974
47
12
660
146
603
496
939
22
498
786
570
647
257
103
373
573
551
312
52
352
979
10
321
866
518
570
111
241
648
152
119
272
925
529
908
259
19
523
655
918
138
563
949
543
264
970
316
202
679
955
433
341
175
494
277
188
412
799
363
73
931
813
322
454
24
511
982
60
935
142
796
423
539
846
546
897
397
652
820
815
290
658
250
805
220
542
266
152
620
554
968
837
990
385
917
205
162
561
107
352
969
157
982
40
704
953
825
206
361
336
940
30
123
64
402
272
588
421
932
745
14
190
632
966
585
64
423
324
317
392
31
771
962
584
716
737
83
697
736
591
775
269
107
869
589
807
741
622
831
972
23
119
669
79
303
444
797
390
161
159
289
296
433
24
323
610
760
73
293
247
229
198
657
252
243
920
511
400
133
51
565
708
272
197
553
678
591
768
723
700
782
81
762
132
655
58
703
906
269
402
978
645
318
808
643
57
51
216
674
270
833
405
184
257
644
700
562
513
703
630
894
659
575
508
378
673
628
352
710
3
843
352
924
100
928
624
333
176
846
40
6
353
384
997
458
240
171
317
604
346
732
690
730
897
51
654
800
659
559
293
433
300
370
766
574
961
444
948
306
897
718
703
660
895
648
770
379
111
977
725
904
311
613
100
201
47
344
981
481
896
445
99
390
22
754
682
555
730
152
225
70
439
951
744
381
805
735
375
455
629
971
890
272
11
535
665
389
299
15
841
788
334
810
421
747
546
254
478
449
160
22
966
394
586
179
916
670
212
635
219
671
87
536
225
538
216
107
415
126
125
197
579
82
420
21
74
915
331
518
958
207
779
786
749
112
445
695
882
586
431
383
822
384
820
121
292
743
293
818
486
862
167
459
80
195
70
48
137
913
539
78
986
286
253
868
34
147
160
601
784
951
720
550
424
253
114
173
795
503
73
547
260
390
53
328
69
477
135
572
695
255
372
799
256
94
268
673
547
507
728
744
719
740
562
346
263
721
520
594
224
252
29
20
107
156
627
512
951
558
279
313
202
103
781
375
300
453
761
428
549
642
168
13
854
884
279
128
513
305
54
766
806
661
68
464
498
897
380
116
282
14
755
87
751
984
751
399
558
41
395
402
127
465
578
914
483
702
934
356
382
849
776
225
672
583
995
66
145
483
945
805
163
684
850
283
741
706
483
498
435
388
869
442
714
461
739
88
623
765
568
975
111
997
400
851
183
355
248
938
586
626
920
94
159
263
549
670
682
718
412
72
989
221
350
418
323
256
768
49
415
279
52
439
682
734
689
117
767
56
380
48
35
242
132
619
699
936
901
846
897
966
960
735
228
767
286
299
15
92
914
904
366
920
521
418
706
900
175
312
159
404
647
583
654
884
387
927
905
32
184
673
2
590
572
187
955
746
583
621
803
897
713
477
39
690
996
849
285
893
212
13
291
619
515
674
418
66
971
392
873
569
258
858
394
499
613
540
895
721
118
461
308
477
953
270
979
578
301
237
100
323
747
532
693
543
68
367
467
503
567
943
669
400
847
270
731
239
835
552
639
971
111
477
565
135
995
497
149
531
273
532
27
810
787
236
70
612
211
848
396
61
812
363
857
803
467
991
0
991
864
349
378
921
956
70
914
334
963
774
753
266
639
4
834
713
863
843
727
94
111
826
473
79
388
296
999
877
917
12
370
57
952
67
432
749
875
6
375
584
714
873
214
465
539
872
362
576
513
778
905
236
95
331
182
99
256
118
95
615
19
962
737
406
852
277
113
172
264
620
936
391
538
151
321
444
193
571
277
953
330
783
764
784
388
819
175
657
841
597
556
674
633
388
809
24
645
194
381
127
653
542
307
639
755
222
443
59
846
934
494
904
404
914
459
719
563
721
194
125
33
261
768
169
180
314
435
751
493
113
847
585
719
81
171
68
329
141
696
972
359
171
768
730
423
555
16
869
686
103
115
830
605
437
413
826
382
294
611
692
197
522
36
650
691
71
532
378
306
168
857
515
649
723
508
821
554
181
174
395
988
603
530
75
906
116
851
485
547
653
980
490
55
878
50
563
538
965
935
169
557
348
935
180
300
953
40
5
980
296
520
392
116
826
307
921
775
617
18
420
796
857
914
745
62
512
565
201
674
947
493
229
368
336
519
360
749
581
703
417
826
572
310
635
949
867
442
997
646
105
644
233
336
854
180
99
190
53
174
176
849
457
605
159
980
270
478
250
61
756
870
904
439
558
981
942
449
686
863
116
631
312
151
932
26
500
294
75
304
704
366
45
67
951
183
948
306
640
608
898
351
535
224
683
165
237
780
577
156
89
250
61
619
21
824
223
616
131
653
695
35
528
261
853
326
365
303
764
867
712
818
342
4
592
173
674
503
366
617
948
925
783
613
683
822
795
774
693
859
710
960
359
247
321
321
682
850
657
86
518
256
318
578
909
283
965
538
647
823
894
169
637
467
115
184
720
34
930
104
835
385
573
836
505
353
83
386
259
833
70
750
45
999
946
590
992
166
854
147
864
365
794
493
680
714
181
70
399
634
508
886
301
702
371
192
726
513
325
218
277
922
926
38
927
694
82
750
525
26
160
805
122
382
813
35
920
826
336
948
637
471
669
406
87
806
622
563
169
503
949
258
826
590
231
326
148
666
300
37
947
552
828
78
565
841
562
129
551
518
683
196
647
412
40
117
541
259
59
498
356
516
230
831
300
933
661
894
226
685
76
50
722
218
283
74
385
748
288
364
476
13
744
268
283
528
907
573
430
702
397
457
181
914
368
390
207
223
407
145
431
195
984
331
360
720
129
742
950
311
381
197
202
738
66
622
598
88
841
704
363
843
558
250
179
858
988
649
820
583
991
148
651
421
950
861
261
758
980
425
757
542
54
579
703
939
678
537
919
43
503
592
43
147
788
751
764
695
142
792
978
386
873
108
902
704
158
996
66
256
107
514
634
53
490
810
908
898
216
476
667
697
492
689
919
481
790
493
391
586
165
352
9
671
991
727
462
881
807
840
115
930
237
179
496
362
792
291
624
764
510
205
325
425
346
896
684
903
597
545
57
250
612
532
860
735
287
112
31
995
382
416
370
331
278
100
197
394
317
449
356
914
683
221
855
612
900
31
68
209
671
846
668
773
111
768
489
509
567
421
348
969
639
2
459
439
696
695
55
116
707
615
12
565
49
402
55
475
853
573
739
568
756
533
478
178
583
680
487
287
335
885
55
333
147
56
454
620
508
999
415
983
859
861
549
646
360
819
654
622
541
386
844
243
901
244
771
48
543
427
803
851
628
501
412
986
979
875
99
171
630
117
746
699
547
831
562
849
682
893
998
599
95
809
970
906
715
325
515
467
748
770
199
804
792
103
40
560
576
728
431
258
55
620
64
136
470
254
693
358
944
605
772
288
118
83
723
539
135
121
423
435
99
322
434
191
211
787
969
191
308
957
407
359
224
449
32
981
81
73
666
700
752
694
355
895
112
499
753
276
73
806
622
487
425
108
241
333
485
609
588
931
519
731
522
850
746
971
107
73
214
766
99
397
591
379
271
771
75
767
895
675
462
960
552
607
922
533
495
495
389
934
640
841
400
747
384
214
678
256
305
208
262
580
616
6
421
941
723
103
285
36
918
336
57
467
889
985
81
647
47
283
172
810
113
712
418
952
807
938
227
286
509
26
427
863
379
934
333
122
283
809
205
132
588
71
16
217
607
473
741
508
758
864
221
344
757
506
426
43
640
755
319
69
642
79
528
831
352
740
430
708
774
264
427
847
851
341
494
267
542
590
946
357
175
794
375
255
246
358
326
665
246
59
624
767
475
769
827
640
856
385
253
412
135
442
182
62
326
693
568
834
381
559
267
175
435
520
884
624
379
448
191
933
29
258
808
69
319
506
935
882
58
566
770
87
456
25
114
877
879
307
271
370
851
719
859
482
127
779
407
600
55
481
360
827
23
434
305
877
226
557
482
312
901
810
497
381
460
203
285
442
163
837
411
630
528
407
174
504
269
708
985
161
939
356
365
200
909
144
298
784
342
733
319
930
66
162
309
162
52
146
162
734
635
553
162
524
259
664
468
372
126
978
501
573
530
771
608
784
766
99
963
771
443
273
235
737
748
330
524
483
621
216
852
160
364
289
27
780
347
524
260
512
640
444
598
376
48
483
221
576
454
337
901
720
203
145
708
102
924
598
830
226
32
37
144
302
260
145
678
289
932
438
616
434
895
421
187
360
625
621
233
490
637
363
184
128
94
963
454
39
558
211
465
18
3
132
114
997
717
600
803
882
0
595
336
965
268
839
358
931
537
96
141
669
119
0
53
831
254
799
461
319
735
660
26
869
223
633
18
650
51
602
733
210
827
324
730
967
727
138
725
995
634
366
902
900
834
830
479
725
642
771
275
185
617
829
267
89
879
311
407
802
246
743
537
503
969
824
915
507
571
290
438
396
212
496
448
34
84
138
80
61
922
804
858
569
112
240
268
900
387
70
589
155
295
767
115
896
538
794
314
804
894
103
392
679
597
37
63
967
867
723
622
656
248
755
778
176
997
93
501
487
99
793
250
822
820
576
739
715
909
273
584
492
99
601
522
18
839
706
217
144
226
268
979
700
717
335
437
765
995
329
692
25
808
217
402
990
536
451
70
587
967
797
561
813
140
672
296
471
756
421
757
970
590
310
332
803
871
523
737
127
181
380
391
274
982
785
175
628
794
18
66
512
116
640
858
233
23
528
512
445
422
966
177
914
923
488
880
898
344
751
46
31
88
880
634
786
992
938
740
383
262
822
695
659
278
531
261
900
170
234
743
309
740
778
930
472
484
341
982
55
745
772
549
497
349
185
667
67
41
232
803
541
751
372
552
741
929
968
405
732
0
232
410
805
236
249
904
337
8
201
314
145
564
49
199
252
268
316
860
793
400
528
682
269
253
253
801
905
201
664
550
84
766
886
563
676
676
158
481
235
790
272
327
814
409
424
426
894
141
722
687
645
499
125
221
499
188
319
590
974
680
89
366
736
563
564
788
629
431
38
99
288
106
65
322
400
769
186
0
676
714
916
7
477
379
318
78
427
841
626
372
166
158
280
700
637
569
757
545
494
758
707
780
469
993
432
45
316
98
38
555
946
107
367
289
260
89
521
316
625
271
185
232
576
133
47
626
767
392
329
916
354
544
991
742
295
520
490
683
694
42
104
792
838
870
346
736
518
461
474
833
809
953
718
68
246
515
136
4
572
419
465
379
46
593
599
279
423
792
499
731
830
869
23
499
804
153
613
46
387
231
178
438
451
902
430
848
79
873
929
469
580
663
715
564
775
188
302
432
135
254
250
236
877
993
675
763
788
367
408
461
754
427
134
54
589
95
502
434
817
899
226
339
585
130
325
845
723
186
851
66
124
734
502
136
717
275
493
857
317
543
218
857
707
601
546
25
71
51
116
232
444
517
964
280
328
347
17
683
721
173
111
694
751
641
22
960
416
185
523
971
551
554
199
986
614
918
932
146
367
161
629
812
405
451
319
25
973
838
352
727
580
549
322
682
95
63
619
345
908
415
732
144
302
992
423
910
779
41
883
518
902
47
44
173
224
171
594
476
38
571
45
898
381
194
713
13
155
51
675
720
650
146
456
76
273
922
733
626
551
169
154
985
28
166
223
430
621
922
610
754
316
494
167
615
925
488
334
414
24
984
622
548
922
406
741
323
409
179
926
35
116
871
760
493
691
875
683
355
498
446
313
195
3
236
516
37
538
909
146
938
765
76
322
945
616
808
500
290
478
691
147
979
16
878
448
871
146
487
311
767
858
474
227
373
251
873
618
906
900
580
956
988
605
768
930
601
541
555
147
895
805
193
475
968
24
489
664
916
46
521
57
700
411
484
282
674
300
415
234
34
320
532
375
64
42
851
308
148
380
251
845
610
821
75
254
94
413
635
515
599
550
110
522
482
670
760
323
623
50
992
67
925
339
0
300
164
107
669
349
408
338
765
664
765
246
685
701
690
794
786
887
727
783
513
925
997
676
490
903
805
673
840
234
484
196
387
83
781
469
91
491
683
623
843
865
208
456
452
981
292
12
402
700
211
842
258
535
372
164
408
321
409
608
769
50
880
61
152
834
612
306
320
502
142
642
351
127
281
825
122
688
854
304
28
107
376
740
356
979
408
961
32
374
476
45
478
131
369
913
885
711
22
943
243
171
303
573
812
865
885
616
746
966
399
211
79
573
960
490
932
190
408
77
315
151
266
486
511
516
201
717
222
26
967
236
432
877
665
868
458
34
660
863
453
945
978
261
832
523
804
778
84
0
689
110
639
612
445
261
465
134
275
174
331
32
549
486
99
32
106
598
658
182
766
945
467
611
696
976
268
243
678
348
343
191
597
579
194
68
819
903
815
158
744
405
200
252
275
145
127
702
311
766
273
500
823
986
56
295
691
228
627
636
451
464
516
372
441
428
287
815
436
791
29
712
739
577
786
880
543
990
285
617
121
245
587
793
392
935
620
182
696
614
300
587
897
274
501
824
196
179
501
804
906
606
639
545
65
817
672
25
962
618
465
493
796
891
694
86
604
492
647
722
163
343
771
568
598
97
371
795
480
680
613
414
456
132
119
566
481
286
29
407
665
538
173
4
854
536
716
450
117
466
369
214
926
821
176
214
465
537
339
109
656
804
421
88
103
651
817
623
828
394
488
780
194
2
534
137
330
914
448
617
681
361
746
567
139
312
217
652
133
287
292
638
156
722
14
215
385
583
509
745
311
971
297
650
89
214
163
844
195
890
833
437
369
682
636
416
69
179
425
380
903
556
847
775
762
363
355
670
354
897
452
234
162
694
790
902
635
95
590
127
61
447
410
909
710
842
3
904
519
943
363
950
140
364
651
160
239
963
829
359
856
678
871
900
25
934
813
78
942
839
683
788
754
172
967
105
59
29
709
193
171
868
573
311
574
508
487
277
721
345
914
112
805
999
534
926
925
397
935
894
133
574
138
694
688
732
210
775
266
682
688
411
288
994
432
681
671
381
420
273
837
697
775
120
768
225
650
138
394
900
405
468
832
990
335
162
822
494
605
166
262
660
9
464
68
660
461
222
699
523
797
207
61
984
955
442
120
65
17
422
157
647
52
112
595
434
100
916
303
840
766
254
206
533
50
646
605
717
921
139
100
171
555
890
593
470
780
170
270
956
743
385
44
723
391
319
799
626
333
629
69
415
142
521
460
312
338
813
781
791
840
572
191
763
994
741
371
1
751
884
348
416
462
921
604
745
622
571
650
750
192
106
585
689
693
597
359
36
361
966
790
488
382
853
919
725
582
698
315
130
337
328
359
36
381
401
327
475
879
406
507
480
92
200
253
147
680
550
198
213
356
174
414
102
416
578
651
329
707
849
513
868
391
267
670
157
48
897
427
909
312
242
519
493
952
932
314
796
906
242
491
5
821
694
13
840
168
760
314
160
709
331
712
725
272
716
423
389
80
616
72
276
107
18
454
205
795
424
390
219
847
265
95
599
783
955
396
543
395
349
826
412
415
219
597
517
17
384
972
4
46
675
431
5
706
855
364
183
478
577
538
709
258
830
634
752
990
275
294
460
976
443
212
756
600
677
148
833
42
228
17
944
80
386
704
247
932
403
547
784
350
906
500
97
628
382
562
990
755
86
791
951
693
531
309
616
558
195
530
768
196
695
567
960
290
518
979
330
51
863
445
925
466
303
688
415
867
785
860
468
321
617
174
8
621
727
497
53
395
960
88
668
481
236
717
573
448
300
247
726
497
767
739
858
261
490
233
127
458
828
107
365
441
118
738
401
371
386
631
397
405
250
504
318
333
955
401
368
938
145
718
406
540
143
73
375
524
835
845
585
962
888
752
568
877
640
106
677
180
553
234
587
109
233
631
690
715
58
822
441
387
217
339
963
451
854
634
419
539
768
555
210
996
312
680
582
856
248
952
780
179
2
682
10
337
55
436
66
283
763
319
847
103
202
519
601
541
999
640
828
874
675
953
176
789
558
536
709
624
574
457
109
57
548
341
966
680
927
24
434
339
889
303
292
325
230
293
236
600
511
365
968
905
40
612
809
890
706
48
713
118
338
963
560
777
994
337
908
880
641
435
718
114
94
976
856
449
5
89
105
274
279
366
36
358
899
553
800
822
456
24
34
853
114
173
875
306
363
755
6
577
823
985
455
338
559
129
351
661
100
616
210
977
772
479
884
899
861
439
395
37
853
655
694
905
460
711
388
597
625
305
995
392
452
356
185
130
524
148
989
322
921
92
146
45
67
824
515
759
811
486
548
433
227
132
197
492
77
128
603
377
74
537
961
152
214
62
600
667
414
125
449
677
321
922
763
498
828
291
867
847
692
348
674
877
618
397
813
907
420
941
323
74
774
457
127
6
586
789
884
784
503
831
791
710
57
72
558
264
528
536
248
537
837
56
118
107
977
939
497
466
813
157
224
130
628
433
674
164
124
979
287
385
440
638
182
471
340
706
143
708
628
706
795
261
328
873
13
688
89
407
774
658
866
919
5
139
941
16
760
244
617
453
670
37
442
677
116
643
851
215
675
163
63
594
2
446
411
917
710
524
896
485
464
584
709
96
615
600
19
136
444
798
863
393
300
108
125
474
309
401
770
710
272
76
907
741
141
973
808
973
121
778
113
895
574
757
517
1
138
421
195
362
360
325
673
917
467
356
610
894
358
879
851
280
971
332
165
757
225
817
326
552
24
271
911
778
419
765
866
479
608
160
986
172
572
486
724
64
122
0
373
138
891
144
730
337
989
345
532
63
723
276
953
922
418
918
322
980
412
99
836
616
482
745
795
614
137
649
829
579
553
481
43
829
969
767
679
899
86
646
399
660
744
644
280
809
944
825
819
215
263
70
182
406
281
208
755
918
173
542
802
236
185
228
241
624
76
940
937
168
800
900
365
41
103
118
335
573
806
225
957
72
8
129
768
129
794
336
916
774
248
684
450
833
492
793
230
392
974
446
253
539
391
418
326
333
653
98
469
238
486
235
97
607
496
304
970
81
600
936
66
308
811
579
818
617
65
67
924
967
670
898
430
843
167
241
186
698
358
568
843
384
802
486
33
833
152
136
965
616
96
995
552
892
234
883
874
364
882
442
20
641
883
314
154
36
685
226
81
464
438
919
117
554
711
606
598
902
971
697
32
866
95
802
950
229
240
259
442
348
129
177
819
125
329
680
757
503
957
823
193
318
404
436
921
775
533
172
282
539
52
365
785
32
898
388
217
112
810
180
954
220
94
588
46
751
327
255
958
838
572
435
983
876
242
757
752
770
968
543
120
145
634
619
500
116
887
575
886
765
494
992
71
818
731
688
20
403
765
698
364
122
149
25
765
738
592
520
497
90
821
406
758
195
941
507
255
633
576
545
656
968
491
283
813
288
618
322
765
368
66
95
121
812
213
271
885
270
273
605
800
211
503
888
633
314
998
918
949
926
714
99
511
779
919
163
116
304
314
415
203
318
764
999
782
500
766
880
132
674
163
534
689
649
339
459
28
880
383
50
211
25
129
334
411
871
756
816
103
405
558
716
179
256
233
493
674
366
276
398
199
808
692
571
590
524
361
763
614
33
602
955
481
384
880
674
467
376
589
765
86
213
121
670
358
566
976
48
492
755
333
902
100
924
356
448
172
949
187
780
454
451
963
117
748
160
665
575
431
150
567
844
965
345
278
234
991
333
236
726
259
584
12
678
452
641
315
604
128
927
656
62
143
450
942
2
757
502
967
348
2
20
957
772
594
380
180
160
293
192
530
999
967
847
607
246
325
872
878
118
81
121
183
460
194
25
110
314
438
617
693
278
421
702
757
33
50
600
73
778
441
696
1
280
405
341
303
735
185
132
476
133
565
939
230
441
598
333
395
612
812
691
585
49
147
854
865
881
735
533
237
522
851
527
50
369
340
722
657
828
569
748
985
929
284
452
857
28
656
381
716
778
810
606
860
914
841
735
227
607
390
207
369
740
648
279
944
785
728
173
935
777
569
63
645
711
892
383
560
791
234
44
43
839
442
986
786
860
662
551
389
589
277
965
433
693
423
25
856
459
728
288
773
169
974
193
937
14
927
870
779
287
852
401
378
504
360
501
940
297
306
735
514
29
947
643
100
479
115
703
637
453
351
528
248
454
721
9
893
485
920
86
416
36
518
924
384
568
810
571
101
755
646
886
31
301
877
396
795
245
217
869
633
315
115
521
383
776
437
318
334
972
503
79
876
376
60
615
93
187
634
365
406
211
411
467
821
564
585
319
243
778
350
41
510
444
907
474
512
15
861
770
243
470
896
234
609
41
868
993
475
939
982
613
136
821
31
616
731
657
411
642
595
900
693
63
245
722
775
846
605
219
729
109
346
77
204
431
198
195
741
828
600
28
349
526
46
563
170
895
543
298
156
442
323
586
494
286
970
900
800
640
827
183
797
426
15
174
412
555
464
12
576
471
157
944
828
490
766
560
190
761
820
692
110
140
880
630
750
287
681
117
165
42
451
888
794
568
257
112
515
136
897
461
725
407
101
287
702
990
102
450
829
600
140
564
524
754
583
40
265
522
462
310
880
815
213
199
607
135
430
378
661
455
667
890
969
238
214
992
498
986
659
276
423
921
993
451
430
229
801
852
249
989
405
362
107
846
458
413
35
4
374
939
369
979
360
781
836
906
870
369
534
721
974
775
456
936
42
205
247
583
406
539
305
935
254
500
751
904
826
868
614
520
361
276
818
360
590
803
119
998
263
121
38
301
123
59
196
622
150
77
532
505
218
420
433
282
665
288
34
667
852
724
13
587
723
767
405
825
299
289
314
99
894
870
257
189
979
148
911
37
260
710
44
378
492
935
464
217
836
525
667
35
286
635
840
189
788
108
17
762
704
782
906
584
150
800
444
935
597
774
822
285
211
442
623
24
23
985
539
782
449
98
887
732
928
258
129
331
82
245
570
316
699
121
736
377
584
733
958
148
98
379
679
15
883
430
648
139
411
639
101
802
421
189
874
724
973
414
254
141
333
314
928
244
56
424
395
61
873
285
796
669
929
783
916
98
451
450
430
973
417
211
108
955
595
560
466
476
115
86
564
116
885
880
513
586
971
116
937
453
34
755
867
279
536
379
524
329
724
447
727
953
816
416
338
338
776
343
885
64
786
149
524
528
736
412
596
156
417
237
65
364
489
434
178
251
271
237
438
829
717
908
65
268
216
552
409
800
547
650
594
348
792
333
323
406
39
839
511
533
257
314
647
162
684
197
923
529
50
200
707
300
576
325
500
453
952
360
618
135
440
847
235
365
822
953
350
939
946
749
122
911
447
948
250
149
140
701
692
939
997
540
883
349
626
716
840
715
378
50
121
491
990
933
818
286
183
975
313
61
897
483
24
142
137
473
214
43
98
643
317
410
611
475
560
522
664
37
90
449
67
173
817
875
516
459
163
772
167
208
292
162
23
744
939
107
690
670
443
540
175
466
301
666
708
219
632
54
332
738
547
506
58
545
404
850
635
211
804
179
573
100
726
906
405
360
488
626
53
863
171
771
172
256
797
499
671
394
776
263
392
148
728
373
4
276
684
758
680
820
566
123
149
614
146
185
321
53
45
351
526
1
217
71
653
695
460
778
388
483
39
197
547
99
396
650
888
960
354
509
567
739
46
331
268
496
437
900
87
704
490
823
594
810
662
820
359
798
496
861
411
542
387
544
394
673
774
893
151
969
469
405
608
49
139
960
284
630
376
131
214
137
176
492
536
439
813
455
830
608
569
871
311
324
860
790
447
677
188
636
737
978
287
952
874
722
641
779
151
289
993
920
179
71
152
36
844
620
223
515
57
181
489
879
725
417
851
483
233
878
175
966
513
15
227
211
367
354
526
854
409
466
693
562
213
47
815
626
506
310
227
353
322
541
909
426
49
612
6
390
586
875
516
178
147
669
795
23
760
71
45
81
712
759
75
925
396
969
786
95
232
552
38
323
556
86
683
924
13
754
40
279
673
545
954
886
388
531
256
519
867
578
672
510
471
785
761
191
528
314
977
382
228
28
111
840
971
766
224
571
575
401
248
431
956
709
307
336
880
349
124
416
618
942
293
421
538
290
268
778
432
428
149
55
705
477
381
746
918
994
299
238
249
686
314
502
208
520
709
686
528
219
897
612
670
364
849
247
176
151
568
231
225
678
922
300
452
933
799
354
917
845
760
881
74
219
415
368
341
94
301
38
6
930
694
835
959
941
927
527
292
931
73
381
465
709
711
737
739
854
387
451
855
614
660
555
616
568
145
565
203
772
379
828
804
754
671
297
518
354
414
836
694
464
678
941
924
856
119
480
787
702
450
552
758
690
887
462
353
939
754
81
799
375
233
894
618
733
25
918
144
252
232
137
489
677
908
537
561
438
926
128
398
396
688
143
739
226
121
422
8
23
314
67
118
894
322
930
391
593
306
93
913
881
364
93
286
301
737
758
897
826
403
844
351
407
370
70
687
819
857
283
883
378
538
94
632
983
630
186
24
558
833
636
879
692
20
100
782
369
601
537
934
859
873
775
708
429
969
167
385
423
221
912
307
735
278
701
859
305
773
22
881
498
993
642
282
30
622
878
661
771
552
89
431
578
645
555
315
958
238
99
323
980
904
874
709
675
577
536
789
788
362
658
760
473
142
413
413
40
420
423
183
333
137
101
759
325
657
916
532
552
736
860
347
730
654
154
315
509
44
343
433
956
538
805
173
728
338
98
814
115
108
536
468
881
811
433
769
6
910
747
958
172
345
352
864
64
274
780
723
329
217
225
292
721
16
303
270
125
570
161
981
966
268
983
809
562
817
929
753
855
12
618
534
938
536
217
336
539
720
744
544
774
22
176
265
819
602
662
698
198
658
11
184
929
571
203
675
416
935
637
49
845
901
759
770
101
709
86
382
833
268
884
604
929
695
10
804
119
790
427
928
828
714
303
295
661
590
958
226
95
14
608
156
993
543
862
533
478
754
287
199
67
902
454
63
411
437
827
380
913
224
328
198
593
471
96
462
777
77
361
428
509
471
958
193
666
719
568
717
166
516
100
266
311
317
902
282
457
885
316
751
425
936
814
632
579
147
560
759
297
763
357
840
504
896
902
851
561
852
144
284
223
478
26
759
550
572
315
541
604
183
135
837
418
970
671
36
782
911
67
809
733
198
377
450
762
345
43
704
442
496
165
446
303
678
957
377
109
818
8
533
719
737
154
586
9
56
194
922
542
676
825
96
529
101
213
800
890
64
312
355
111
304
49
269
613
980
836
243
480
643
577
746
204
97
976
943
461
377
556
641
25
188
963
224
833
3
919
720
783
547
433
408
456
892
679
960
899
575
128
906
992
285
320
266
799
140
810
680
722
138
505
726
344
236
52
542
180
179
551
888
984
247
752
531
670
798
722
985
809
598
908
764
328
375
223
212
176
744
218
392
791
0
428
808
882
102
849
571
539
127
676
44
256
885
635
777
79
238
962
289
193
100
400
465
352
126
854
157
463
435
370
794
972
868
229
915
839
120
194
313
828
344
625
292
766
840
211
675
261
521
268
59
129
846
911
311
954
595
623
297
650
395
927
736
483
147
223
723
180
881
899
283
755
450
443
470
213
596
209
502
271
645
707
218
538
28
454
761
675
229
912
368
432
734
824
947
961
428
998
925
481
711
270
710
977
994
737
318
692
82
926
444
452
952
81
149
262
47
562
893
64
795
302
418
965
752
302
23
665
400
141
879
329
436
721
132
224
540
939
967
248
334
702
699
384
67
330
53
935
434
486
846
17
444
45
807
993
501
439
197
235
959
716
258
660
907
166
787
378
440
443
943
937
989
837
74
190
409
222
123
367
724
219
789
903
926
610
484
987
702
745
324
524
617
104
599
538
880
970
673
120
843
671
783
990
365
499
415
647
375
326
798
549
601
638
789
767
375
695
896
172
305
15
35
330
360
630
149
155
354
216
48
679
573
386
814
523
543
242
165
87
282
163
318
313
34
923
777
893
525
51
75
78
380
443
275
232
439
9
127
906
759
85
611
877
611
427
768
243
233
639
215
171
241
644
891
907
111
481
261
63
211
645
160
333
846
675
104
900
242
294
871
585
446
241
341
367
361
998
298
155
311
208
339
669
37
511
426
895
340
943
565
918
281
327
234
20
941
849
991
113
146
804
697
174
263
992
782
216
152
911
473
603
686
832
389
955
440
972
698
40
913
42
882
633
7
315
708
882
114
966
927
465
832
363
572
196
897
412
719
926
284
475
319
649
931
635
662
367
545
828
38
818
480
774
738
198
310
956
255
881
63
958
444
826
16
169
483
237
998
434
238
959
883
509
580
998
482
359
359
532
399
490
949
62
513
552
928
252
418
497
35
258
503
32
959
512
491
197
789
489
494
457
842
633
592
717
571
784
272
860
629
537
739
162
312
768
962
77
149
796
924
139
78
468
292
665
469
427
229
71
355
410
670
96
373
177
9
431
771
765
995
180
222
849
931
484
903
550
492
192
731
625
919
461
827
827
491
856
621
385
965
596
793
985
965
364
624
578
836
568
385
616
45
168
164
642
828
735
150
164
387
94
100
467
251
475
691
644
169
474
72
763
285
975
636
797
585
959
615
514
36
21
416
67
10
991
730
437
753
426
967
332
260
83
282
734
670
459
699
853
129
407
204
494
558
509
415
985
464
332
456
373
4
683
661
314
479
670
500
708
437
590
197
512
763
747
737
646
405
525
663
576
452
118
8
99
390
276
745
780
421
284
516
963
541
684
580
146
833
675
50
249
2
983
539
997
834
543
575
133
450
71
381
565
301
424
682
29
117
931
732
584
315
185
454
968
128
775
282
988
448
599
577
382
415
283
588
534
871
735
597
868
805
813
469
226
621
53
630
808
798
96
76
524
990
786
973
381
587
395
383
212
107
698
740
313
145
985
586
611
628
744
181
437
411
905
850
295
902
367
121
638
205
203
647
246
247
205
439
944
427
505
121
742
716
157
169
978
33
566
957
417
410
156
802
135
366
561
254
950
728
987
260
546
34
470
150
39
585
592
753
968
304
198
398
282
514
181
529
221
301
731
220
39
653
546
178
523
869
80
413
398
197
84
581
149
116
932
846
492
988
462
755
682
959
999
825
100
669
954
386
385
227
179
744
318
565
680
565
800
861
235
23
232
928
36
222
186
927
963
411
398
411
935
34
202
189
906
785
201
158
768
180
921
346
737
826
87
484
42
505
369
262
105
357
920
929
486
527
362
594
589
300
437
596
661
556
522
869
4
980
549
549
350
574
888
604
140
997
113
112
907
854
361
207
376
210
663
514
812
560
778
811
315
168
737
385
267
243
331
441
964
543
510
338
829
449
431
884
781
415
709
903
424
984
538
957
876
281
799
106
703
978
464
820
852
607
576
182
610
73
865
137
439
632
898
340
916
110
888
286
484
695
345
515
508
810
816
727
661
776
899
796
249
210
496
232
17
686
595
556
560
927
849
625
784
498
896
111
673
579
844
215
686
592
449
994
832
167
791
436
681
686
336
573
490
573
22
36
248
676
501
863
835
748
32
696
567
161
740
602
453
549
350
642
698
96
271
554
587
793
219
405
443
321
706
181
451
211
193
120
614
121
283
415
374
705
64
218
841
179
69
414
168
729
550
406
853
580
469
13
501
150
268
598
485
919
644
118
78
430
573
668
29
168
746
311
221
935
162
912
284
645
286
178
686
390
350
330
416
709
382
807
667
295
845
433
32
613
543
794
125
598
849
885
707
581
247
974
499
368
900
170
179
320
764
926
221
329
334
832
251
524
671
333
597
816
317
352
238
881
378
921
801
494
406
35
787
952
63
258
915
199
990
852
19
6
364
257
703
694
686
984
757
210
371
304
861
116
863
837
491
233
875
569
829
433
861
987
602
127
744
107
466
432
947
897
336
643
321
74
864
350
51
128
762
703
18
382
316
671
228
279
590
756
791
367
222
680
317
901
773
180
340
356
531
857
790
333
986
464
169
960
848
668
701
695
493
324
481
575
232
59
54
917
936
224
834
332
392
600
790
279
599
921
98
593
474
130
259
132
178
76
881
433
48
449
617
296
372
707
250
661
334
310
898
10
851
864
354
811
861
413
387
556
325
116
105
630
383
614
360
977
88
613
997
430
21
112
784
563
183
303
355
106
960
949
508
273
502
129
268
159
109
643
117
43
16
978
721
366
762
52
685
595
759
491
904
474
766
505
747
564
20
270
568
616
650
53
504
186
150
41
235
735
761
176
700
235
965
373
73
503
223
37
695
263
540
543
537
585
513
41
365
567
650
380
751
104
600
807
82
465
826
314
608
201
908
166
653
167
273
125
594
989
417
868
642
122
977
303
698
652
499
623
812
889
198
449
296
924
487
695
73
361
315
852
819
791
972
594
645
734
216
234
101
293
17
783
628
545
985
743
71
866
113
650
714
54
394
12
89
296
419
741
848
882
630
977
50
19
427
387
723
162
268
641
530
359
263
313
117
1
314
139
208
959
768
602
578
881
415
590
623
41
202
608
704
48
710
310
104
693
478
12
45
142
732
345
850
814
737
670
676
405
286
991
677
383
7
564
996
187
686
865
706
286
679
786
689
633
722
753
194
592
49
297
63
848
605
744
806
177
45
93
637
348
184
513
432
860
392
913
576
518
584
820
283
745
520
5
319
171
606
492
933
25
722
524
15
836
186
152
248
504
772
736
35
447
339
33
17
481
352
886
697
251
119
726
731
389
518
38
810
813
72
113
364
830
247
519
442
103
879
69
952
393
24
465
89
8
464
201
479
852
80
323
879
108
929
561
424
492
32
91
797
319
205
865
480
674
23
36
642
599
104
201
629
930
757
554
793
151
434
456
457
869
736
624
353
204
968
261
708
771
270
773
739
114
628
474
428
988
200
817
514
277
429
391
744
925
988
21
729
56
724
193
161
798
441
680
591
735
712
877
8
595
873
813
610
487
140
975
237
770
454
917
937
930
712
899
89
424
11
860
507
345
298
807
334
107
111
535
891
554
162
312
132
512
966
803
392
744
986
933
976
485
176
260
685
768
913
527
791
172
56
844
683
849
715
533
895
891
731
285
587
142
214
11
855
621
471
351
880
800
108
379
983
43
595
343
841
983
871
618
665
572
833
38
743
925
273
358
294
903
933
338
595
703
788
92
213
819
536
793
602
10
884
840
655
141
940
934
332
811
816
143
169
323
112
499
221
937
123
911
860
878
384
314
487
233
559
935
637
289
578
419
536
10
925
27
73
156
53
521
898
899
781
205
815
928
139
570
235
996
497
871
813
107
833
39
194
248
555
576
741
273
183
685
34
642
808
140
964
544
488
569
234
802
651
768
144
200
151
64
348
622
764
234
479
92
355
320
699
86
219
704
994
244
931
729
971
152
600
278
127
583
627
924
580
842
853
577
96
88
155
579
56
107
431
593
775
274
134
289
813
88
202
135
133
700
917
489
205
255
97
442
739
527
113
797
688
687
568
304
505
396
110
282
783
342
811
194
0
85
225
988
165
26
978
701
318
958
773
953
793
901
620
160
601
761
904
105
520
805
395
28
853
360
984
57
93
82
981
291
108
504
925
998
314
300
991
608
223
887
246
582
112
898
806
445
558
987
938
563
418
532
468
814
121
577
713
906
842
687
908
498
455
383
466
477
12
529
309
526
537
502
200
74
48
754
129
820
393
362
480
440
332
53
307
905
329
215
261
796
418
987
479
197
885
790
112
137
868
345
758
293
58
473
22
235
91
429
760
62
598
900
662
964
927
277
920
46
325
563
779
867
661
708
122
553
511
137
450
984
748
353
298
361
852
374
301
91
855
633
954
697
648
278
641
16
770
349
934
584
499
984
659
417
417
287
917
641
319
409
198
771
646
726
513
112
477
586
391
494
525
277
916
455
249
818
489
651
867
285
408
842
171
364
686
202
586
107
25
93
514
30
104
386
175
464
519
275
411
249
591
570
364
826
403
9
794
448
953
271
101
126
738
729
747
238
377
962
179
109
446
902
573
175
483
336
447
546
18
544
18
995
327
618
706
924
802
846
621
548
183
426
344
192
554
397
592
405
746
812
331
996
440
604
528
581
326
740
316
614
472
651
736
720
79
847
857
261
410
148
77
33
680
722
249
536
881
0
294
413
54
736
350
524
764
742
613
512
672
707
644
270
358
810
626
420
823
162
742
313
424
843
867
282
24
83
529
628
459
726
594
361
456
137
849
521
813
95
147
696
160
823
226
529
143
922
941
311
172
656
841
738
772
589
4
851
549
653
443
208
86
753
63
768
634
551
925
80
403
260
786
959
464
394
148
983
952
934
224
407
89
511
192
494
963
216
112
471
257
545
268
383
176
353
272
47
109
214
835
50
210
84
339
827
492
839
412
160
405
882
810
566
357
385
746
605
601
831
95
163
743
798
708
113
400
820
786
234
676
343
137
863
696
146
824
426
507
756
785
739
340
470
418
422
133
440
1
938
960
23
647
702
586
603
431
441
604
698
773
685
733
473
251
573
78
855
355
983
419
234
875
882
484
411
963
511
669
513
190
640
402
771
943
791
324
516
406
920
394
979
8
926
603
16
256
474
761
607
690
779
944
876
648
162
754
664
571
574
941
637
667
967
460
879
220
296
279
78
346
487
474
35
323
560
996
628
466
598
959
743
636
538
407
706
574
395
632
632
932
26
469
89
880
327
935
580
336
856
790
965
148
971
441
106
324
321
693
336
927
304
602
347
799
682
39
238
619
339
398
531
785
962
647
845
866
755
143
632
861
720
133
496
569
871
709
615
882
938
701
858
242
15
353
258
49
767
3
179
845
124
807
319
839
252
575
758
525
39
494
168
610
837
730
964
937
468
214
770
263
356
264
430
904
508
380
810
272
902
574
487
768
997
288
26
657
30
646
614
805
931
869
94
518
252
690
209
296
245
911
47
794
572
158
380
352
282
599
570
322
43
813
304
782
467
895
576
453
754
858
572
629
712
502
794
313
118
53
501
151
359
290
759
798
531
928
489
49
329
620
73
754
616
192
130
926
219
358
919
780
66
868
723
399
342
210
580
14
293
285
676
479
379
19
674
186
228
297
923
550
706
169
890
204
821
966
504
84
911
344
539
56
102
794
859
349
61
166
843
231
659
295
485
201
487
431
664
607
666
422
828
384
295
58
899
555
534
828
272
250
678
958
334
87
781
62
687
258
200
43
986
377
692
450
247
223
850
465
260
605
92
788
164
679
941
846
56
896
39
914
807
633
683
707
990
403
981
161
697
120
331
979
531
385
239
192
106
344
642
512
776
28
731
130
701
123
630
82
443
218
489
38
454
542
511
572
498
204
744
456
630
831
873
848
452
326
209
629
44
906
967
4
607
960
716
873
419
222
75
611
953
173
682
937
345
314
43
385
646
347
352
688
381
923
200
586
498
184
394
620
455
342
35
360
528
217
856
620
803
283
6
460
261
317
920
86
690
675
719
561
458
209
729
188
767
68
656
253
113
712
214
331
985
639
351
750
428
942
906
942
92
593
13
257
242
32
244
208
487
141
123
739
476
430
200
920
960
947
575
927
606
259
122
918
18
953
542
262
894
431
606
761
629
378
417
303
301
78
651
201
487
526
564
364
549
725
941
828
906
567
389
954
474
283
693
538
654
891
843
448
598
895
947
102
27
766
778
64
898
6
316
36
96
523
322
797
892
20
442
886
465
364
43
895
846
986
367
732
802
559
474
205
532
67
808
377
461
566
308
668
401
589
58
254
351
889
904
559
190
682
911
489
632
605
288
280
356
731
761
356
739
837
682
277
394
436
970
943
18
548
191
709
619
224
342
864
70
336
639
671
382
223
637
540
9
562
799
961
200
974
147
677
719
602
944
975
286
970
617
96
542
643
121
66
343
809
10
22
72
782
907
739
82
465
786
969
22
963
324
991
830
9
259
101
23
293
910
130
287
681
105
554
214
387
580
164
751
213
63
829
400
827
543
943
251
509
842
753
537
317
558
750
787
172
400
898
281
97
69
545
202
166
733
505
189
128
777
229
531
595
350
565
278
552
694
32
370
750
294
978
274
576
637
585
566
347
285
89
326
476
578
678
606
919
891
266
864
479
264
884
152
186
317
519
815
360
402
720
404
342
588
184
679
434
339
916
996
797
534
944
696
480
11
323
3
284
924
764
821
517
108
248
291
274
563
168
911
403
653
434
500
581
478
281
755
505
813
453
634
798
764
28
884
535
687
417
368
998
415
503
730
628
241
170
17
886
85
893
74
648
340
87
450
868
435
777
555
273
276
6
196
972
38
514
869
565
650
232
87
168
8
241
375
360
817
797
250
415
992
0
711
756
301
10
759
313
839
596
956
466
593
962
461
21
868
39
227
37
665
665
666
40
883
833
237
641
931
437
943
807
110
184
7
501
696
513
532
733
3
689
512
684
214
818
789
876
126
709
657
271
410
497
655
461
742
387
100
486
390
941
84
507
12
99
179
527
462
351
643
202
541
876
165
507
315
266
509
845
361
546
730
7
963
363
921
780
697
30
197
585
181
256
641
435
273
116
231
204
364
164
294
367
155
485
915
223
774
233
665
414
152
372
611
164
52
59
194
141
88
202
778
81
134
946
780
148
262
288
997
80
681
595
412
890
400
68
282
376
607
858
484
533
478
74
930
27
153
724
474
700
267
933
445
745
430
898
238
432
863
919
686
232
275
23
718
625
318
727
338
572
528
749
618
566
161
710
375
354
152
416
929
305
198
576
228
117
531
104
613
661
92
969
435
782
989
658
447
957
205
952
537
883
903
641
155
69
516
306
954
431
470
94
245
332
546
464
586
639
607
325
771
895
340
20
603
976
790
937
834
716
945
952
773
849
120
183
677
81
607
838
507
741
905
84
965
234
281
341
716
564
313
760
926
817
404
360
82
658
931
355
25
612
199
131
909
991
737
891
527
955
263
464
773
179
343
352
692
156
761
347
191
167
623
893
325
352
142
581
665
836
454
489
115
216
402
818
646
776
474
181
997
817
854
873
354
884
153
763
882
694
630
918
869
662
904
684
87
620
615
644
750
756
779
861
265
583
888
686
92
554
718
441
164
653
343
717
145
606
280
923
59
904
481
629
452
521
117
145
323
67
81
948
45
835
189
204
686
131
639
441
198
990
503
35
87
141
743
784
340
13
617
253
950
751
823
667
741
669
443
887
603
916
265
419
637
957
487
835
190
375
644
548
969
607
308
233
772
423
253
324
814
13
532
933
751
432
167
211
755
598
284
478
759
289
643
333
286
961
24
373
345
511
63
361
275
401
340
624
475
223
664
813
543
946
283
864
34
957
666
70
798
964
701
403
167
900
717
255
818
880
825
873
702
792
48
878
37
218
339
29
882
228
358
495
867
241
595
305
729
49
543
730
9
282
198
744
745
524
640
723
560
816
857
481
620
736
843
450
276
866
863
835
804
664
782
958
76
801
397
745
174
771
239
718
975
888
392
143
819
656
899
41
110
228
207
30
744
303
301
70
547
1
686
925
313
269
797
896
159
689
845
78
12
13
965
381
482
690
799
348
421
538
10
459
342
93
526
767
855
251
227
992
799
28
317
172
378
834
962
679
22
524
336
234
426
617
315
30
713
306
529
332
669
722
443
194
450
716
54
783
72
888
149
327
23
283
655
467
253
792
120
552
861
715
175
171
549
426
971
562
673
745
963
795
769
649
206
683
920
401
23
768
592
747
207
792
722
856
199
514
503
550
55
270
135
987
246
905
647
40
167
638
522
506
111
939
281
652
485
476
401
211
909
413
325
702
740
501
350
408
970
648
869
53
592
456
522
725
617
528
835
158
125
891
330
393
430
631
234
523
429
117
151
940
112
688
722
540
328
148
166
310
199
68
91
320
574
47
244
419
506
420
888
812
534
547
293
719
906
953
317
208
80
949
939
35
251
419
330
625
957
46
776
376
950
163
513
996
481
669
335
483
631
61
685
701
537
931
259
99
749
516
929
93
559
591
262
591
890
748
318
303
719
125
760
546
251
299
863
413
269
57
879
445
991
445
414
734
176
650
257
618
895
950
35
331
218
682
282
527
467
937
451
652
647
120
670
356
724
130
531
442
210
78
230
942
446
802
842
623
960
390
799
913
144
980
265
809
751
877
344
391
712
820
304
481
408
722
29
763
46
942
317
589
631
219
212
294
460
266
494
114
878
518
795
638
376
249
706
326
32
275
239
304
812
348
570
990
635
965
263
910
451
392
255
178
433
610
95
79
311
805
313
95
888
171
171
554
790
605
778
52
985
682
977
816
329
468
695
706
212
515
336
508
45
169
131
719
472
459
601
229
819
354
347
925
272
144
905
570
246
270
971
699
483
260
986
847
422
431
530
919
585
421
188
56
325
495
343
30
31
704
234
545
689
706
155
970
776
656
560
438
870
739
804
196
239
198
264
959
44
993
525
306
834
487
417
732
202
855
872
226
969
619
278
984
703
301
189
494
56
203
937
371
611
872
365
322
645
499
811
522
901
656
447
389
616
102
918
677
89
877
976
683
300
695
246
510
709
572
996
291
193
393
877
707
312
464
84
504
982
114
762
95
552
791
446
475
276
558
699
142
754
81
474
325
344
335
155
603
430
633
59
450
977
677
601
71
869
47
101
113
907
622
4
850
849
880
303
390
491
615
53
116
315
814
409
725
303
247
290
812
953
175
423
25
449
673
57
65
818
90
506
804
65
878
714
418
846
196
553
542
127
598
104
250
386
238
390
258
943
729
342
213
216
507
647
932
492
216
598
237
168
149
264
551
424
599
705
122
409
196
877
613
314
520
823
266
572
927
412
602
68
908
77
717
603
702
120
970
364
652
17
254
849
633
481
319
147
55
114
165
603
455
975
319
581
126
783
300
236
611
366
386
239
274
791
497
669
283
425
634
630
379
290
441
136
730
714
390
289
192
890
557
627
207
59
761
596
704
126
866
351
88
571
763
677
544
964
187
872
595
259
284
845
788
67
867
155
96
835
510
626
479
290
343
849
644
861
243
423
882
50
198
518
271
747
153
35
387
355
976
428
709
664
681
239
297
746
129
908
624
303
605
345
767
459
629
686
89
107
461
500
315
729
194
853
793
477
722
197
855
681
96
959
292
58
561
108
205
656
287
580
802
3
494
879
728
714
803
135
775
150
971
985
889
799
373
115
943
623
655
113
559
973
34
948
658
763
976
874
387
436
312
88
488
830
48
719
677
484
758
450
133
163
745
998
297
584
280
928
147
707
110
70
292
818
287
34
887
612
705
324
47
963
574
151
348
438
294
176
691
8
415
939
266
774
459
785
112
61
76
93
665
159
18
63
938
554
452
823
225
295
508
282
531
613
803
198
618
909
865
681
556
125
987
211
192
788
500
403
861
625
118
925
944
700
478
166
363
965
139
276
671
494
795
977
590
757
113
493
212
880
209
501
666
68
215
420
490
415
507
106
523
361
614
317
382
947
662
260
731
880
390
661
411
33
542
527
679
478
731
281
452
850
106
977
140
96
447
442
391
763
936
658
380
706
170
25
620
10
295
489
895
719
568
636
373
251
379
562
212
514
956
726
435
93
446
561
17
764
427
554
391
875
76
992
232
778
149
537
115
328
490
408
275
101
502
197
670
492
720
929
360
165
847
93
729
368
960
651
593
768
730
414
31
634
913
793
680
758
30
992
902
921
667
72
658
459
962
964
426
821
246
465
485
797
814
981
484
138
464
827
888
461
895
209
395
834
375
321
983
761
143
504
487
630
480
317
871
812
58
136
520
357
394
568
368
519
609
841
60
809
411
794
779
94
264
915
605
460
850
954
884
203
986
442
873
710
468
773
59
586
26
373
137
285
933
740
160
539
93
359
938
646
185
536
877
986
923
667
245
62
539
259
568
878
497
958
794
799
493
404
711
378
720
985
355
410
446
883
617
948
858
568
123
389
482
532
194
26
208
756
46
590
469
835
653
696
890
0
456
533
305
577
26
323
669
64
79
660
847
137
823
87
89
782
819
736
515
212
850
324
853
729
446
11
753
223
574
239
261
773
816
47
714
457
922
951
689
722
606
639
703
649
345
71
787
962
264
392
17
529
640
989
272
480
326
712
277
809
788
883
673
138
839
165
83
358
681
879
394
474
80
957
348
145
270
788
510
923
516
686
516
828
654
420
531
705
803
592
334
720
960
956
268
546
408
65
127
792
604
314
16
213
928
92
303
234
734
804
64
786
691
538
164
822
946
144
20
441
221
692
645
144
556
301
39
705
231
252
324
673
558
258
559
236
336
692
10
724
690
965
898
739
379
198
972
818
838
552
406
50
211
200
815
240
841
23
354
957
868
998
633
687
12
509
936
399
890
473
27
460
162
252
459
435
709
978
778
753
986
769
851
224
458
405
706
320
100
584
15
139
271
316
741
25
828
440
217
178
465
193
99
927
766
340
776
470
6
673
392
141
459
954
170
904
312
914
399
714
690
474
769
252
212
875
653
440
942
672
947
636
174
422
327
988
37
926
291
3
638
467
315
357
210
642
508
799
798
304
725
611
450
11
79
139
360
83
427
581
448
987
758
45
784
57
710
682
264
676
544
9
710
764
631
39
548
623
706
210
204
18
978
120
385
960
730
307
833
450
788
281
959
341
989
758
387
894
278
23
134
688
979
328
391
730
35
199
336
336
502
233
50
833
390
754
649
987
949
829
901
736
237
763
870
396
569
306
768
77
583
687
450
735
501
947
611
8
600
415
960
228
637
263
282
518
826
842
202
613
586
631
854
670
889
471
957
437
204
30
202
492
112
606
305
763
923
835
993
908
696
333
484
768
685
793
797
13
634
396
703
91
16
216
69
664
444
607
883
466
590
851
48
310
570
104
649
886
988
343
911
335
675
162
897
851
829
542
222
978
853
859
372
910
577
214
331
110
87
540
636
931
30
837
92
529
47
549
600
207
144
71
605
597
146
96
972
290
796
525
344
593
614
955
173
106
516
523
799
613
630
308
550
543
931
219
386
664
285
285
912
784
562
157
581
498
908
605
611
873
457
429
944
998
579
666
628
454
24
411
726
635
415
134
826
426
69
282
138
76
147
162
455
923
202
563
568
410
577
4
330
816
735
539
363
310
356
79
746
252
439
203
496
569
118
887
588
139
882
435
562
56
679
485
831
156
691
373
198
619
179
142
488
674
367
557
857
665
556
768
744
988
203
545
352
598
117
480
518
207
723
519
312
676
205
682
636
534
553
664
724
639
246
971
872
401
517
125
873
233
521
498
353
729
208
321
745
772
160
959
531
51
629
50
162
620
532
362
382
336
473
232
552
253
930
665
663
747
312
308
686
421
485
816
937
919
406
932
213
630
426
101
233
150
760
219
52
32
568
477
778
252
823
400
650
771
6
602
662
346
550
400
375
617
293
408
802
321
547
762
310
963
958
769
293
571
338
803
461
230
758
666
299
244
531
87
709
595
589
594
903
381
314
28
101
879
862
704
788
80
33
804
805
68
99
142
873
919
980
461
134
694
720
130
567
577
181
972
624
134
324
316
403
531
786
648
839
115
878
342
261
165
231
326
27
204
684
716
170
15
627
157
393
429
647
685
71
953
786
170
209
898
656
983
304
459
736
228
451
997
755
508
445
616
307
572
600
54
574
754
973
559
710
587
593
598
481
753
477
737
996
678
973
202
113
128
770
783
526
278
466
903
751
203
168
704
839
556
257
695
516
3
665
735
369
332
814
705
543
278
254
275
556
437
608
501
540
592
929
565
841
188
401
13
406
802
301
122
436
590
673
425
962
440
361
954
48
648
67
209
71
199
57
183
630
774
159
952
622
569
198
600
246
850
159
529
674
571
271
554
749
764
802
116
370
930
291
517
581
460
380
237
63
942
319
209
749
554
322
165
813
956
732
115
559
32
953
517
151
382
131
292
201
700
863
100
394
153
796
239
5
953
819
795
71
268
147
380
579
424
472
994
338
461
677
780
353
77
543
60
987
39
582
779
148
824
795
86
305
421
193
684
497
523
724
6
978
207
253
720
51
996
449
887
113
362
789
584
337
526
331
395
857
405
444
207
383
829
618
796
663
952
670
614
704
29
25
910
957
647
165
21
846
662
867
930
960
994
709
585
219
586
72
778
184
48
229
701
672
796
278
30
122
197
794
149
716
218
293
116
85
149
694
598
611
121
967
753
567
4
614
37
787
446
898
849
537
979
917
170
210
187
169
574
26
870
601
779
381
414
579
13
512
344
260
103
398
151
831
255
663
432
270
87
808
157
919
688
312
914
437
702
379
922
515
963
226
117
272
736
270
461
552
665
292
962
168
291
338
661
239
660
799
860
644
221
364
953
544
695
499
350
268
114
856
421
558
813
585
614
522
467
274
678
27
716
934
899
456
177
704
156
338
815
469
940
667
357
311
249
81
302
148
142
148
298
970
898
628
526
642
973
281
595
285
896
316
768
818
818
257
756
703
450
488
417
591
950
988
692
332
921
553
338
418
549
551
341
761
918
150
701
317
247
629
45
886
457
950
650
30
4
267
483
921
135
48
483
940
391
50
127
59
691
266
146
966
34
237
896
954
904
850
979
741
916
74
696
320
842
916
339
697
695
24
833
207
331
545
325
432
37
47
953
946
648
87
870
683
31
888
934
446
668
199
727
991
872
393
90
579
99
60
78
787
130
223
223
601
482
406
694
581
977
404
608
819
817
183
960
377
721
562
564
325
824
323
623
125
714
213
96
269
733
505
537
59
482
423
550
957
404
280
633
842
200
494
565
762
166
721
568
483
448
102
38
459
279
477
191
402
222
895
279
498
716
822
804
96
887
248
654
790
746
950
577
273
169
561
423
63
137
223
404
196
745
586
473
201
429
667
546
354
983
502
102
434
157
764
190
623
821
172
432
407
642
165
508
75
456
653
975
956
789
676
757
424
722
622
539
19
42
252
560
396
763
693
711
756
828
701
549
4
965
289
496
17
446
113
730
360
111
528
660
643
337
530
504
736
418
682
730
978
842
197
612
976
632
891
983
879
466
314
715
150
978
88
874
578
837
123
860
393
877
267
145
669
697
480
872
501
736
839
601
916
648
253
63
257
448
466
440
811
282
808
730
988
286
813
412
37
960
867
658
535
516
406
378
177
577
983
296
827
767
203
78
4
12
2
370
164
355
740
398
194
905
554
9
525
824
534
861
664
640
476
352
122
828
333
705
557
798
688
459
54
163
815
975
240
492
922
12
287
244
356
888
43
626
912
543
942
952
939
42
74
810
658
851
915
480
620
182
760
337
216
246
431
41
860
55
147
793
746
804
931
786
793
829
921
293
887
41
842
847
735
123
863
150
727
5
186
355
881
29
226
101
184
51
423
723
601
477
441
36
31
964
368
837
471
754
312
419
361
833
630
545
236
885
28
269
740
733
306
357
374
225
37
919
84
718
743
330
209
141
625
690
223
756
368
991
845
328
527
918
512
86
732
260
194
765
152
893
916
236
665
512
182
987
464
826
381
955
206
635
73
197
350
571
799
851
316
446
683
534
307
243
654
902
683
230
734
853
389
546
236
496
941
25
266
767
656
460
381
129
573
73
428
464
874
929
423
183
221
728
413
406
744
983
254
813
744
516
720
679
222
462
409
275
366
654
364
49
487
863
894
731
33
260
215
340
941
232
381
842
611
503
290
604
943
18
889
701
845
915
68
411
775
826
939
985
757
844
666
160
414
53
331
863
441
903
996
369
115
50
233
867
676
97
289
202
247
215
950
227
903
452
73
759
799
43
628
430
469
67
127
587
326
904
636
152
461
699
968
63
791
401
121
421
936
886
603
791
612
145
863
375
624
522
48
512
781
258
202
321
800
332
963
480
410
730
742
142
165
370
232
845
601
116
171
738
718
934
962
83
15
729
977
1
786
488
915
620
34
328
698
674
680
129
111
224
95
680
45
533
228
478
298
568
256
365
666
711
911
410
410
246
729
189
916
425
66
126
589
851
339
393
822
748
329
75
485
220
922
150
397
480
870
406
63
770
206
280
716
742
447
70
865
823
530
371
420
396
211
355
371
631
553
354
372
65
844
868
532
27
618
742
291
320
333
595
98
591
693
809
482
45
634
498
488
461
84
778
520
297
953
369
442
303
916
433
826
118
490
335
599
194
966
481
497
467
349
685
199
5
37
784
398
393
893
126
141
115
360
736
473
608
75
639
810
77
550
441
595
836
435
623
130
679
819
591
918
837
248
18
609
710
663
110
786
402
818
656
387
257
829
284
967
894
978
472
852
786
470
436
521
966
517
304
463
351
925
831
238
754
844
185
299
404
722
965
26
263
107
699
632
750
3
588
773
633
498
296
628
915
523
54
32
614
628
634
205
431
944
465
255
661
468
887
920
282
465
664
419
992
766
897
183
52
351
593
326
696
5
301
231
653
124
729
179
811
910
903
425
986
143
108
30
212
322
280
628
899
548
713
569
26
84
631
873
549
288
624
346
961
79
48
567
652
427
152
154
158
826
174
601
57
288
147
507
569
244
158
857
801
377
560
29
251
19
453
163
602
759
955
424
165
442
567
318
102
371
551
630
394
748
805
119
335
72
952
383
663
441
710
509
560
75
898
131
337
505
269
316
4
593
545
412
564
326
635
504
130
587
934
400
63
380
712
60
212
242
442
128
579
304
228
283
676
181
532
106
374
810
479
503
559
793
6
985
980
369
694
663
346
367
602
659
302
357
590
570
217
773
884
524
488
824
386
688
187
58
481
156
248
4
401
587
175
455
868
925
473
904
539
138
340
697
116
804
387
19
939
357
730
629
651
866
841
660
649
800
32
0
569
404
301
163
316
158
785
552
857
28
818
488
989
861
371
152
921
328
293
439
726
684
269
405
615
528
92
349
517
105
33
598
314
170
272
161
817
624
786
714
217
55
516
213
485
987
289
973
733
249
663
100
88
967
585
838
518
266
126
913
249
55
115
16
602
148
351
911
713
916
219
929
757
747
405
505
797
712
767
995
674
966
510
866
904
899
63
294
277
744
756
205
952
869
434
883
394
442
577
168
538
26
173
973
174
304
979
39
477
166
391
992
552
742
586
634
303
28
778
261
487
700
705
224
215
585
10
592
156
366
339
189
497
405
621
402
930
221
577
710
344
46
395
420
386
111
0
664
876
138
924
742
630
650
450
863
479
308
17
882
853
925
830
415
55
636
706
586
750
124
505
305
673
495
642
985
419
916
730
443
33
415
525
656
158
80
771
528
799
824
89
230
387
220
326
669
531
852
175
221
638
195
661
93
915
216
127
657
573
202
956
776
306
98
576
317
762
618
627
745
224
152
437
565
304
697
325
556
556
283
896
741
649
112
284
981
423
438
56
22
768
45
662
982
975
198
231
100
575
856
447
447
381
479
942
28
51
714
604
160
7
129
279
8
187
49
49
159
222
717
45
609
191
63
852
894
145
597
46
575
780
80
600
702
375
675
684
225
24
807
333
394
766
393
984
966
355
539
596
220
400
195
735
295
858
167
619
387
449
50
383
406
913
965
36
453
708
633
566
179
36
257
896
659
163
52
684
456
715
596
996
470
728
875
232
705
944
573
404
17
53
79
349
888
760
199
211
686
510
180
223
485
860
976
739
663
802
209
613
311
545
189
195
697
852
89
405
340
119
878
171
229
302
535
272
667
58
978
888
158
433
672
56
976
501
792
299
620
527
72
287
598
521
525
474
34
821
349
705
629
546
738
157
178
521
717
474
549
335
51
106
971
137
105
640
241
119
660
367
300
589
709
323
672
344
667
503
855
634
781
794
885
20
101
453
322
833
251
874
411
653
940
46
604
377
423
265
827
72
705
219
601
438
532
625
704
297
40
673
628
242
97
929
574
837
236
162
730
248
463
167
937
125
554
433
994
211
177
348
523
146
501
334
2
398
316
184
316
864
390
985
931
610
460
275
281
885
805
643
216
267
946
325
745
540
358
537
371
673
105
60
317
54
956
533
241
814
462
137
798
971
617
566
175
322
3
312
82
643
485
170
541
114
25
147
988
613
623
562
168
883
417
867
693
177
227
331
182
176
840
512
76
865
298
763
225
277
856
798
943
364
758
122
57
316
72
160
544
725
39
735
393
423
785
735
465
104
81
873
280
80
738
848
605
148
658
186
188
236
727
335
363
560
862
154
769
233
227
404
376
424
403
24
929
140
702
198
802
332
754
528
415
558
122
545
61
291
428
696
27
273
287
307
830
74
821
616
49
993
151
659
46
218
959
770
215
382
749
174
352
347
824
215
526
979
334
552
737
631
594
221
841
391
785
665
292
474
640
780
641
539
438
73
512
622
610
863
892
690
789
472
968
13
914
230
243
17
334
470
619
211
136
914
977
562
874
462
101
185
983
949
344
981
725
145
813
148
504
20
936
990
405
336
616
824
505
106
594
238
493
174
385
52
343
43
556
962
132
271
614
828
231
689
748
159
659
188
172
122
596
639
959
877
974
325
988
177
416
90
314
317
346
871
443
693
49
617
247
679
569
438
929
257
252
376
27
510
295
490
771
527
477
347
317
801
28
460
485
284
36
875
782
929
192
929
613
0
50
993
290
470
994
815
770
464
204
148
848
154
369
290
538
42
913
508
142
775
120
224
717
420
473
652
812
247
194
966
378
210
867
77
1
85
653
769
877
292
387
429
312
456
483
876
480
679
508
574
235
265
516
870
702
360
482
723
291
727
831
571
674
972
812
254
659
445
188
729
177
487
661
91
965
139
690
993
471
304
146
874
223
705
885
372
708
102
892
888
445
99
770
766
320
213
354
526
403
601
201
748
616
495
506
997
188
833
341
574
614
896
974
264
656
103
409
467
65
606
871
486
417
476
827
304
644
709
981
192
828
426
297
987
215
621
13
831
435
175
596
758
879
748
358
812
105
381
935
511
461
400
251
219
305
796
706
646
281
42
15
343
164
344
296
103
879
873
725
575
100
619
104
48
89
108
248
835
578
851
305
694
717
824
322
249
677
79
176
196
742
414
799
91
997
910
173
450
3
51
438
495
8
123
701
784
382
187
943
84
664
361
953
939
269
724
700
230
14
411
330
955
536
618
315
440
953
217
710
91
27
814
303
861
955
404
255
188
166
366
413
605
21
973
403
582
544
283
221
470
514
145
702
170
996
780
702
628
124
160
975
232
685
471
169
150
236
803
532
546
673
817
33
611
708
606
911
862
340
262
856
876
631
296
223
209
230
378
959
601
141
778
32
393
423
435
374
448
559
718
987
88
683
292
892
401
214
414
262
789
561
650
627
652
492
17
337
690
202
114
856
987
879
896
722
914
41
780
579
506
82
917
169
163
927
854
30
700
638
961
988
686
591
456
16
42
348
994
886
572
41
211
930
21
210
765
810
289
886
533
207
106
412
863
401
741
854
261
413
345
560
284
607
489
510
747
227
996
91
655
336
116
365
993
579
435
627
979
55
202
178
897
258
385
825
139
400
236
257
838
906
3
818
842
768
402
372
186
131
320
960
290
752
507
203
54
574
358
311
73
546
17
475
324
851
742
787
950
985
690
50
401
735
643
414
314
198
18
506
754
132
720
32
683
156
344
885
352
155
469
338
80
254
673
142
45
676
590
942
587
443
6
385
995
80
231
957
279
410
255
283
166
358
649
350
148
820
733
708
828
728
17
905
754
962
52
730
824
211
354
35
327
937
435
308
741
853
204
866
128
354
624
688
467
354
889
135
474
311
318
555
779
318
427
215
29
819
547
148
983
995
439
904
162
432
244
176
912
166
634
146
887
427
878
683
290
881
171
548
742
278
575
984
319
359
800
303
299
737
421
505
526
268
274
9
458
184
444
807
859
249
271
678
821
263
527
437
797
222
846
608
777
423
980
109
771
241
853
344
798
531
54
136
84
230
767
599
944
718
584
823
602
470
876
707
482
810
635
943
192
267
464
900
346
130
139
510
214
335
457
814
961
266
530
605
814
575
285
567
564
742
279
826
107
275
301
855
415
936
527
1
348
635
772
550
448
639
729
17
295
248
707
156
775
492
732
705
819
581
573
441
190
939
495
814
24
944
56
677
811
841
820
60
801
751
265
601
374
247
594
445
912
413
304
54
360
175
301
36
205
947
874
649
483
351
804
707
538
180
16
693
680
929
748
856
934
70
786
390
987
185
223
726
314
378
548
609
270
302
598
515
699
15
445
399
236
926
462
361
934
256
365
21
776
847
662
209
266
371
315
390
401
52
888
689
702
298
185
455
943
148
957
687
991
199
326
186
686
260
825
29
86
387
190
144
591
860
12
257
311
658
191
93
609
17
856
412
68
703
760
245
744
972
347
483
928
826
915
366
858
392
588
81
45
21
20
885
928
504
4
454
339
894
958
605
861
753
929
380
544
89
42
160
108
45
189
466
576
663
300
819
942
358
473
95
92
835
828
834
294
20
678
156
18
536
583
787
639
557
89
805
154
684
910
750
684
885
977
428
190
501
205
663
613
192
571
602
312
677
676
948
937
953
331
375
550
147
929
302
915
67
577
826
721
5
18
48
799
474
104
463
108
551
363
551
117
821
286
245
68
54
216
348
630
478
199
510
693
72
794
831
847
291
80
275
377
12
260
207
311
634
497
119
910
800
166
526
638
72
346
442
561
267
491
445
777
488
612
308
565
875
795
316
844
632
772
95
868
936
322
518
438
795
980
296
393
795
458
957
90
301
421
460
122
894
941
260
566
33
434
440
858
678
733
705
625
964
238
471
999
115
978
325
681
439
526
666
131
407
659
179
53
934
283
754
482
307
884
430
424
420
732
793
841
236
773
289
99
956
816
909
366
892
899
910
857
806
337
489
670
756
562
864
336
868
774
464
376
792
799
117
380
419
45
719
846
840
392
867
911
86
124
497
438
218
828
763
190
292
19
584
657
255
98
829
655
709
805
377
276
874
581
440
890
217
624
173
255
933
374
362
304
302
234
598
614
884
653
628
31
767
248
745
284
280
506
847
917
126
903
359
960
176
960
527
669
798
510
116
210
81
924
513
227
673
456
838
294
286
53
372
179
514
759
194
773
189
826
765
101
797
707
960
468
910
18
61
37
602
721
86
321
332
978
739
655
828
395
532
935
916
478
430
41
802
917
461
8
637
628
970
865
121
851
809
51
308
73
412
963
601
662
522
768
811
736
837
191
661
30
675
880
604
15
46
411
142
106
682
816
487
113
391
329
87
85
255
959
994
807
253
895
830
485
189
757
977
986
812
714
887
64
751
399
165
429
218
174
219
390
745
343
735
547
406
699
238
883
632
549
721
405
182
833
913
602
73
8
175
497
615
727
513
554
664
89
647
43
563
29
882
990
337
458
891
24
922
699
433
665
750
551
27
780
131
202
535
909
590
603
498
281
463
264
858
992
454
74
514
901
871
990
778
323
324
888
773
87
690
168
628
471
196
858
563
428
489
439
327
254
379
194
626
826
704
551
45
440
732
577
527
77
356
972
260
382
940
359
99
463
312
182
721
767
7
988
469
559
426
377
417
219
573
459
764
64
772
685
281
225
755
769
267
731
862
656
715
572
818
286
601
589
952
833
63
486
810
789
683
415
454
554
494
975
126
762
339
172
116
189
292
481
78
764
976
452
702
246
421
702
904
569
66
873
923
381
441
544
726
376
504
542
387
127
642
188
425
119
742
85
391
158
42
708
586
653
892
957
803
123
116
369
656
262
136
830
823
546
98
995
978
982
262
633
236
721
740
34
151
258
347
947
344
543
130
503
348
816
626
831
442
945
420
111
898
228
373
699
397
694
15
454
901
538
781
473
867
514
796
241
314
263
703
633
97
39
474
907
609
593
302
240
979
156
14
460
922
498
511
86
616
614
605
358
517
321
615
426
303
468
815
348
481
420
345
363
746
396
443
255
527
617
948
987
273
113
492
644
328
955
145
998
559
116
942
730
266
667
638
679
688
21
42
811
204
995
925
309
844
285
774
451
660
755
665
861
763
512
25
669
9
349
367
715
810
166
332
984
113
766
170
814
469
50
721
267
520
819
655
737
504
858
166
629
897
181
116
791
499
516
442
532
502
702
501
601
976
792
580
224
184
407
55
229
812
758
111
307
615
869
346
342
436
389
774
834
253
991
738
641
866
126
264
676
515
158
339
236
808
117
645
872
986
421
186
682
561
789
331
904
180
859
144
211
817
797
97
722
433
588
494
907
229
508
295
276
290
154
356
759
262
660
797
446
480
51
528
137
505
12
122
460
181
63
177
209
859
101
47
921
412
319
342
374
567
353
548
749
760
581
820
862
207
400
991
279
685
499
173
134
591
345
331
380
923
872
180
71
254
20
144
74
462
38
358
687
653
389
269
130
57
254
372
27
755
99
749
807
373
848
232
341
955
786
760
736
305
520
481
755
601
173
511
493
993
755
672
759
610
628
625
742
170
512
180
282
634
928
433
735
740
290
80
750
866
445
514
36
437
676
880
688
6
428
615
194
513
630
572
488
457
625
481
467
896
496
781
433
100
431
801
739
216
801
893
419
156
281
604
207
348
213
190
289
985
935
188
779
66
869
709
631
454
213
945
458
341
178
828
687
626
739
13
514
0
858
719
229
246
965
25
405
960
182
293
739
928
113
817
654
319
503
226
220
718
254
322
230
568
740
34
786
393
45
867
531
557
541
495
129
520
266
139
822
893
189
957
855
402
701
729
39
850
610
586
986
493
430
171
291
794
665
414
628
611
714
502
34
517
912
851
515
26
865
839
179
570
679
917
790
149
428
672
629
553
141
245
696
869
896
988
43
324
657
27
958
20
482
705
925
540
909
216
282
405
103
651
500
131
600
637
604
538
456
280
749
57
843
736
888
58
80
324
715
757
992
554
837
129
136
150
88
207
610
706
680
470
983
320
572
827
705
634
179
956
666
790
226
921
648
248
340
792
842
359
739
360
431
640
379
566
541
901
257
527
570
355
214
144
678
76
707
373
888
503
845
768
440
857
632
830
734
915
858
254
593
214
950
856
437
313
642
73
591
548
741
479
887
731
443
355
390
218
738
440
263
648
828
253
650
997
158
306
818
840
79
815
254
253
307
383
491
42
71
199
276
206
638
765
202
462
772
494
653
239
589
528
64
556
981
869
317
88
654
542
149
396
736
404
47
600
659
903
962
745
864
906
427
600
188
484
306
250
450
341
393
844
743
949
87
848
989
933
233
400
540
945
527
581
275
498
114
733
833
142
438
24
84
791
455
301
650
128
825
467
343
809
37
622
515
742
759
681
834
896
19
488
384
517
528
886
867
629
977
936
943
741
999
490
747
797
193
79
300
4
120
414
388
995
234
873
966
865
254
601
697
848
931
830
985
707
111
845
727
449
686
25
271
243
306
477
811
322
125
647
716
831
253
185
129
626
214
494
470
522
855
299
694
384
920
99
980
946
17
249
968
601
961
454
828
233
339
220
933
180
72
322
204
19
126
602
764
645
732
672
882
142
964
615
692
976
825
268
595
376
600
470
450
885
613
800
989
774
578
488
795
371
420
87
814
584
216
161
344
139
36
357
577
552
626
326
100
333
590
624
341
196
722
860
507
410
913
646
33
463
940
125
80
513
4
726
231
39
108
562
118
756
513
554
496
37
341
143
293
860
502
861
416
214
277
972
647
592
18
948
277
593
586
623
572
824
153
951
406
672
626
771
532
7
806
112
974
920
946
892
521
450
476
70
496
365
959
475
364
473
18
566
398
888
812
836
560
247
805
986
616
514
46
198
814
622
170
15
805
513
362
595
63
403
722
767
849
721
431
73
372
657
317
404
267
728
972
685
172
611
337
486
277
407
794
406
684
783
672
863
340
746
597
835
483
112
399
584
583
447
196
734
85
788
376
328
129
643
600
531
73
144
466
281
79
733
789
513
468
724
448
167
998
528
479
407
136
760
51
57
867
645
790
435
715
405
980
832
47
646
425
112
429
194
745
990
595
206
45
832
408
79
115
803
658
870
152
578
959
640
975
831
476
716
338
725
338
549
534
935
847
830
949
586
464
299
269
501
257
192
995
492
898
264
261
317
48
752
732
122
248
474
251
495
176
291
590
749
978
162
192
205
532
489
100
663
148
32
383
835
48
382
742
140
653
919
244
567
20
15
415
353
141
931
427
978
419
856
738
239
291
645
701
876
551
805
927
363
391
490
286
738
145
356
197
253
245
414
984
942
986
428
369
912
560
683
52
625
85
616
11
998
319
30
511
453
348
424
792
101
424
516
716
886
403
201
822
361
970
773
803
279
195
328
27
382
359
385
405
895
27
411
209
532
281
162
833
777
622
107
596
275
646
964
100
781
625
965
858
241
94
404
561
487
600
35
849
985
113
756
737
237
743
570
675
718
784
949
122
826
476
224
946
753
976
58
814
125
642
69
413
562
240
942
251
806
720
978
24
246
423
546
134
488
881
368
432
137
878
388
220
846
408
471
403
608
102
292
553
979
186
817
996
800
820
728
561
420
306
486
434
174
522
384
72
853
299
787
682
251
221
175
136
425
712
4
155
486
595
61
540
733
659
336
708
735
503
869
360
467
747
915
256
482
253
323
263
883
727
407
945
944
39
870
15
13
437
564
516
917
883
929
220
732
64
614
772
464
721
522
312
957
875
679
652
909
190
553
802
518
38
826
40
5
612
468
220
154
107
491
952
555
778
128
877
777
988
642
320
922
176
223
73
202
990
413
612
216
567
710
386
883
326
488
943
339
92
547
29
598
355
332
33
135
83
287
196
86
590
758
65
578
76
831
361
7
93
758
3
445
33
110
830
41
349
496
166
890
527
90
370
517
546
80
47
767
450
48
598
859
257
811
928
358
494
27
329
389
149
126
618
106
682
227
180
494
812
426
704
924
155
788
616
640
226
38
547
76
724
455
755
951
896
218
62
903
157
437
449
545
501
22
671
945
254
290
336
594
193
849
317
294
73
638
977
653
705
648
295
634
197
152
50
713
29
342
420
552
2
872
679
266
540
720
660
107
746
65
71
740
311
838
309
695
389
753
526
774
866
674
910
177
339
985
87
102
499
84
846
865
945
291
154
195
415
799
292
329
411
587
325
186
561
834
667
151
23
615
419
269
232
751
587
516
70
973
389
63
283
100
354
350
140
372
733
300
95
532
733
881
782
978
134
906
886
946
350
385
270
660
172
34
392
786
390
537
521
488
729
588
596
437
579
10
975
683
623
72
882
280
589
445
443
209
965
774
144
171
546
493
761
283
14
382
585
244
884
650
127
815
389
629
337
338
755
99
406
208
344
33
285
293
360
652
525
446
434
850
534
749
445
301
436
392
180
515
981
569
193
74
523
341
473
614
671
735
240
909
768
853
985
309
325
210
778
422
690
786
583
993
175
24
503
254
566
605
232
635
997
470
151
638
376
124
270
463
288
157
804
892
881
556
577
921
584
135
98
884
466
574
492
485
764
480
303
844
655
662
508
657
563
918
302
963
818
535
902
553
23
279
784
343
191
136
4
399
188
896
766
564
380
142
930
621
622
165
232
474
291
328
541
666
589
850
302
56
643
370
313
230
752
475
357
127
555
788
235
799
295
773
351
644
388
962
597
615
661
943
6
970
116
266
389
54
197
84
781
274
936
100
292
295
628
190
327
255
39
672
887
409
958
994
402
843
670
869
727
606
757
891
769
782
725
668
488
665
838
989
116
738
775
195
41
158
355
320
808
138
826
492
677
818
329
301
472
635
822
333
143
204
205
162
346
882
556
155
124
746
160
996
993
800
808
491
397
331
710
717
913
194
698
639
250
914
680
541
185
626
297
698
849
908
158
343
865
835
170
337
224
836
219
433
320
895
822
415
129
190
611
884
996
735
625
586
180
21
647
94
645
691
673
736
375
152
312
891
265
494
618
487
214
914
704
281
254
908
950
592
723
346
96
800
139
479
121
568
273
110
413
698
4
203
102
522
351
258
426
163
132
441
814
470
90
89
653
705
698
95
844
243
516
488
2
249
831
873
766
204
509
850
246
749
541
557
666
832
328
847
917
361
599
425
326
490
195
618
878
13
771
382
495
759
662
46
385
23
55
620
595
641
930
286
888
343
855
178
840
701
486
49
800
765
553
436
419
205
257
721
4
876
523
23
650
192
978
483
919
701
655
982
591
268
504
174
926
216
614
307
547
77
650
445
817
598
933
175
478
334
39
309
887
499
427
417
735
140
148
475
680
459
5
887
939
408
574
545
256
895
44
489
357
8
376
465
842
591
62
815
572
809
916
619
637
414
563
318
415
781
138
997
998
179
14
86
989
562
193
170
215
897
1
576
918
219
481
701
906
77
443
245
816
188
560
13
892
854
29
238
395
666
672
460
531
278
312
88
64
46
230
360
576
986
47
821
757
780
305
251
957
853
416
919
885
730
928
515
916
799
7
464
585
36
582
903
547
14
371
467
29
175
665
171
434
962
474
470
736
340
7
418
578
105
402
193
498
402
654
157
940
136
61
294
753
679
871
708
352
508
514
882
240
446
960
649
924
585
100
590
171
497
289
754
138
860
243
171
39
63
391
576
237
43
142
316
832
960
923
532
218
514
632
59
770
979
41
485
484
692
686
659
0
948
892
130
787
860
65
342
746
257
838
371
828
664
565
222
394
588
231
839
622
812
647
214
525
629
346
912
836
577
485
400
761
159
808
795
895
322
137
722
916
9
478
385
804
350
32
396
436
373
912
190
230
84
386
11
264
183
350
799
627
161
523
21
546
759
417
668
256
310
679
758
455
931
776
731
962
0
89
631
17
680
646
432
820
206
44
175
948
374
467
55
854
551
744
155
611
131
18
106
683
423
132
520
202
430
334
659
622
605
780
679
890
519
925
747
445
137
6
375
292
730
519
303
247
174
436
439
650
968
981
614
508
847
751
526
128
899
495
808
351
787
147
523
570
903
533
46
847
25
119
59
617
748
764
711
824
698
217
336
301
545
176
211
101
257
518
543
355
601
968
40
31
18
607
832
806
269
995
62
646
908
514
508
997
460
868
71
819
476
734
473
206
384
362
916
915
418
589
696
661
92
15
880
774
908
565
519
248
15
79
527
865
176
993
728
792
675
367
505
675
728
223
723
233
261
812
752
728
533
798
770
49
242
374
644
545
431
33
198
804
747
263
835
359
446
696
359
122
736
372
962
850
617
732
545
169
638
751
554
849
130
414
303
305
351
291
676
626
510
555
659
826
804
467
425
776
7
221
695
83
272
316
937
686
906
281
969
605
711
525
754
789
502
80
73
666
781
11
673
744
384
501
80
853
478
146
541
450
50
361
973
716
759
193
449
426
442
497
292
212
323
435
587
651
491
980
94
188
176
137
854
47
99
275
550
197
563
520
251
633
682
359
319
338
636
975
474
214
293
706
612
863
622
36
544
545
272
521
464
398
558
267
46
59
699
615
420
766
15
17
139
781
200
872
244
421
745
80
528
683
830
498
904
70
751
624
782
775
196
666
410
142
214
888
853
964
383
401
445
755
245
64
574
524
79
718
441
141
51
162
997
968
219
640
842
87
915
94
81
370
827
70
470
739
512
175
993
829
299
37
575
448
437
892
742
876
33
178
545
627
264
604
966
888
955
480
245
764
868
440
475
871
472
125
239
821
780
591
72
606
81
714
184
797
576
404
207
472
621
454
389
63
597
170
774
258
142
184
31
841
51
135
374
255
93
243
941
482
24
433
954
261
739
557
740
284
907
381
912
303
27
445
932
477
643
480
371
137
407
80
482
834
39
838
936
773
536
840
844
688
574
246
405
643
300
403
839
641
840
212
511
579
265
7
438
485
963
433
462
67
342
379
335
940
141
181
137
674
63
597
363
938
908
356
27
902
845
129
20
844
156
52
146
636
68
602
459
712
919
835
231
426
745
48
797
749
963
120
349
507
171
442
12
570
59
114
849
633
45
424
689
243
690
651
83
581
715
263
248
578
996
304
695
594
745
290
637
33
763
646
966
591
659
141
575
881
450
716
456
697
559
141
297
837
670
240
482
978
905
450
435
355
877
442
839
968
872
840
261
55
786
439
657
554
427
193
851
161
959
336
174
210
100
877
412
679
406
990
765
788
158
688
510
753
267
776
160
442
460
534
915
189
889
288
105
782
470
640
73
46
247
635
803
180
865
932
248
278
526
79
595
579
811
688
380
671
644
283
646
670
662
378
143
538
187
37
331
223
343
919
233
634
73
535
65
700
888
319
772
746
624
347
35
592
476
483
364
281
286
26
839
185
670
204
725
234
480
731
481
662
961
822
961
250
268
777
402
52
452
549
758
315
433
180
342
86
552
337
939
478
31
128
615
61
259
950
345
555
433
431
475
387
272
978
441
263
285
376
908
807
959
657
524
531
359
96
143
16
677
282
695
513
488
869
26
700
261
389
471
389
466
773
161
177
794
523
111
653
688
355
521
189
890
830
8
719
538
500
223
939
825
725
517
83
163
595
186
614
59
20
57
892
772
613
364
453
140
773
364
32
80
591
952
651
594
293
850
985
155
221
438
159
434
575
7
273
733
650
172
698
154
176
701
265
821
655
940
262
428
72
801
8
691
55
126
384
896
423
573
734
502
647
596
667
629
410
319
64
594
47
526
726
881
9
461
390
190
806
404
6
359
859
997
655
94
727
949
686
881
335
564
336
411
914
868
625
688
379
877
969
248
170
39
247
736
177
770
377
327
952
112
731
647
630
34
128
738
999
999
935
898
485
718
581
631
386
558
670
233
649
682
14
466
132
74
349
619
907
551
493
450
860
427
963
773
271
175
608
553
217
512
338
918
20
625
913
858
78
471
250
569
169
49
666
106
560
124
817
221
286
44
842
932
846
329
936
101
646
212
318
224
185
745
320
231
514
861
277
831
391
581
106
824
400
982
455
12
556
755
340
366
917
529
349
293
217
717
472
343
679
858
296
498
673
622
242
705
305
631
371
998
733
538
961
443
501
71
141
315
705
124
874
60
947
557
272
680
129
266
759
805
429
596
313
809
721
147
308
6
67
371
278
930
859
561
884
763
115
223
532
569
177
911
734
100
230
479
414
42
441
247
494
21
29
152
689
651
805
777
834
697
139
703
338
80
294
691
770
669
144
651
726
325
620
379
204
775
759
838
708
684
390
161
444
433
314
240
160
87
608
469
922
587
823
546
158
520
846
198
75
720
187
879
837
727
84
987
546
157
183
732
355
341
712
827
744
746
639
693
865
913
511
557
539
359
895
46
375
484
442
322
632
45
53
674
724
955
686
903
834
503
923
917
284
983
234
307
274
274
174
361
830
279
590
138
432
282
903
537
563
461
111
901
419
202
255
424
540
461
82
161
221
644
138
235
496
777
82
743
707
437
428
599
222
826
366
861
910
338
239
175
618
784
836
758
259
294
100
684
933
802
194
393
237
870
363
660
939
618
220
218
82
66
501
561
863
261
870
963
165
356
609
29
486
412
227
232
81
373
46
729
924
688
485
24
642
721
650
50
251
88
631
98
700
324
416
67
689
150
146
414
549
4
136
461
288
961
831
144
392
677
532
491
862
315
996
243
287
388
139
601
781
858
450
704
853
943
546
340
841
516
139
67
821
686
201
841
482
383
654
448
841
990
807
907
522
369
593
433
662
468
684
128
514
571
82
559
261
185
871
794
284
904
560
63
196
283
332
424
56
230
686
171
413
259
173
628
804
663
47
262
287
922
561
717
691
235
29
285
644
978
890
142
274
583
110
274
178
499
412
896
764
172
176
172
496
27
598
836
856
422
570
267
199
504
844
857
505
255
823
14
176
192
473
301
589
409
396
201
924
972
872
303
363
889
617
684
696
757
851
636
215
623
100
571
151
349
244
263
551
462
931
602
267
752
819
732
922
766
397
835
623
772
127
252
368
210
812
321
141
458
993
43
123
818
714
820
773
733
473
468
223
316
752
142
780
610
107
132
672
103
923
913
888
367
427
915
769
450
826
34
251
124
868
681
396
5
98
298
981
887
226
835
22
635
537
788
101
878
465
759
625
316
734
843
608
346
404
856
520
787
196
373
435
240
39
467
135
286
703
714
747
669
990
814
868
63
548
530
359
396
635
963
144
971
646
853
870
942
777
265
642
497
580
570
658
165
358
328
265
441
172
84
958
603
353
625
336
327
661
599
927
505
362
685
253
550
769
478
348
323
875
277
878
79
980
49
175
798
451
643
972
640
275
300
373
26
959
563
7
606
110
190
561
123
985
569
157
648
158
168
759
116
853
350
674
691
328
549
578
716
295
182
646
605
299
657
322
877
569
916
582
349
806
799
109
416
752
734
873
241
239
137
602
191
265
670
165
79
508
616
671
835
34
615
547
571
995
326
735
219
40
73
960
979
551
767
450
999
536
305
748
958
396
332
414
418
819
379
537
912
340
196
728
412
475
455
684
158
995
862
414
645
956
833
70
330
381
202
320
227
322
593
456
127
458
295
731
274
215
381
211
153
341
920
5
795
708
214
950
974
137
124
42
862
391
742
231
718
854
9
925
988
535
41
995
435
889
8
720
274
337
502
7
293
337
592
276
418
108
54
975
328
230
313
507
562
588
240
286
130
80
809
997
940
941
712
901
496
352
28
101
978
143
976
881
87
323
121
278
131
336
505
654
768
631
481
905
550
19
162
713
360
863
746
175
585
988
273
114
701
204
913
996
156
267
650
265
871
293
617
995
343
333
807
925
155
439
801
643
993
732
401
617
47
434
190
53
489
498
248
478
212
591
938
625
808
86
210
520
974
115
740
843
246
422
426
780
674
620
176
275
939
957
504
48
593
762
432
288
296
70
167
381
562
798
992
501
644
775
789
593
954
797
940
773
728
41
29
73
427
765
785
733
84
895
71
443
912
324
740
29
446
477
50
908
34
895
502
173
511
270
33
328
155
49
167
251
781
712
529
507
11
735
858
516
61
934
184
723
39
535
340
870
474
562
228
22
617
895
861
668
269
497
368
404
569
976
28
438
132
354
585
885
653
315
482
63
657
136
786
558
217
51
832
533
800
447
480
19
739
496
363
0
269
596
851
630
371
598
281
993
350
462
308
888
631
94
474
637
548
82
233
542
620
163
32
738
220
816
880
291
789
389
785
757
522
829
163
982
2
43
572
542
980
60
579
308
924
314
218
98
776
634
303
11
230
214
700
274
577
644
189
665
877
450
70
686
676
801
857
607
795
791
402
134
33
71
641
497
692
354
458
396
146
934
884
659
159
631
872
68
744
501
692
15
551
560
304
523
287
418
65
11
808
970
192
134
188
790
274
127
141
407
730
986
393
591
725
65
241
663
552
187
668
568
720
269
846
943
941
232
573
377
972
717
919
626
933
32
4
210
299
597
525
341
138
576
917
74
689
56
827
387
897
627
383
479
193
986
337
849
509
106
73
738
624
115
562
966
837
217
111
419
227
507
673
996
804
727
811
688
415
578
705
240
649
449
531
190
575
166
195
168
24
387
820
122
637
22
778
756
259
900
896
830
810
866
474
954
846
593
776
746
827
139
922
390
893
205
507
554
941
853
801
529
113
983
891
732
213
458
523
483
555
782
360
722
331
426
393
485
80
307
885
432
663
372
310
52
878
765
164
944
211
736
230
475
531
504
706
632
836
840
170
167
24
27
402
241
139
763
522
943
851
729
346
174
344
492
538
310
801
980
869
578
830
858
678
272
747
358
476
54
321
327
954
142
89
456
434
577
276
387
761
821
35
0
164
393
101
504
422
280
253
211
617
57
697
953
978
125
213
976
438
541
868
777
150
722
340
129
86
921
467
950
660
360
819
721
626
135
444
575
244
875
425
47
98
897
178
471
925
185
219
578
492
298
152
903
644
999
506
443
232
731
250
566
64
511
428
336
957
664
959
614
402
895
966
423
798
890
719
353
399
69
543
969
168
640
691
797
565
193
719
996
896
348
673
18
358
787
50
713
626
407
535
698
199
616
140
407
628
130
568
928
644
599
666
53
611
689
87
614
764
52
893
646
361
587
972
889
4
841
595
610
707
588
362
65
588
76
610
829
13
552
657
253
95
582
702
558
481
351
963
354
265
668
108
956
590
218
882
932
879
782
883
418
310
266
931
97
800
175
754
842
77
768
239
455
291
307
433
847
977
301
391
404
117
377
69
136
319
131
66
396
198
344
799
205
615
275
637
167
685
726
547
212
919
23
56
700
413
324
630
483
8
591
868
413
401
793
211
749
874
382
863
455
126
574
118
95
104
116
663
328
265
859
857
706
957
365
767
831
293
704
648
752
578
871
936
739
478
224
186
709
98
659
133
563
867
138
350
50
899
133
395
956
450
563
878
922
487
232
29
70
445
202
771
152
708
396
424
768
952
868
737
996
509
504
174
133
824
782
999
375
232
317
852
148
389
433
985
138
366
287
267
156
177
3
579
73
498
131
455
934
728
651
597
994
685
158
229
877
639
553
928
207
901
258
925
457
568
606
525
475
778
494
584
61
8
767
151
700
970
113
143
274
365
28
588
139
578
636
969
310
250
163
653
771
426
843
54
15
29
128
880
858
79
746
759
794
551
690
270
678
253
819
537
639
157
57
681
932
624
224
644
588
852
613
358
273
658
209
614
278
981
970
681
144
827
919
242
307
507
444
932
829
374
352
843
55
243
94
517
378
579
475
357
623
556
291
981
774
13
385
672
447
100
280
258
251
36
916
761
77
802
782
8
429
715
869
398
330
967
955
760
979
860
293
937
248
282
926
286
455
444
696
295
103
445
465
129
539
80
726
512
595
724
795
375
592
31
312
9
317
554
883
930
828
232
851
173
142
826
494
128
250
393
861
524
692
907
680
675
505
62
620
411
792
954
653
337
6
18
745
394
646
23
407
333
555
706
703
290
563
115
541
338
150
383
670
867
591
656
11
943
474
727
188
483
457
191
511
702
241
330
663
306
687
114
723
161
855
620
167
768
381
822
855
110
712
163
451
904
115
503
916
623
286
288
985
227
390
235
220
149
812
372
32
339
113
161
687
54
381
676
483
491
838
4
720
892
467
502
52
825
784
612
297
621
543
201
84
163
964
724
177
250
302
104
673
674
934
113
908
273
800
862
596
370
801
64
614
726
373
542
759
568
520
974
879
448
717
798
516
600
537
266
461
379
439
486
719
875
640
983
367
381
790
911
663
930
101
499
892
589
863
803
49
284
986
336
660
412
758
376
389
202
912
462
417
913
16
585
994
959
505
487
655
529
778
789
27
450
617
689
822
377
586
273
851
660
610
834
565
296
35
426
91
439
425
926
415
515
775
619
807
636
530
872
223
885
962
799
731
655
56
927
969
733
636
396
741
989
391
695
335
629
229
936
118
834
180
803
873
590
888
14
436
696
549
978
617
75
322
741
462
436
536
707
106
181
618
507
833
123
0
793
385
916
438
958
784
263
307
729
521
738
506
164
775
106
809
138
687
922
401
645
705
930
119
473
404
61
834
677
567
322
920
58
28
280
268
501
263
257
732
891
631
366
150
811
424
558
848
553
214
740
305
773
762
815
568
763
770
406
485
827
494
955
332
796
701
419
411
479
758
448
640
951
915
154
322
849
302
616
350
424
687
976
927
679
400
498
781
58
342
215
318
818
302
797
376
633
963
879
812
262
335
750
870
831
73
812
570
362
905
584
338
804
243
598
65
193
287
805
300
302
944
273
596
294
279
947
202
304
919
741
865
405
19
709
725
896
38
5
777
973
84
48
526
112
759
631
46
34
465
40
494
432
214
594
82
634
468
355
101
867
286
677
577
45
43
757
650
905
991
853
546
419
265
391
196
694
824
405
966
311
748
698
411
458
570
659
160
840
68
641
84
372
345
90
84
348
458
452
870
894
986
85
542
510
766
279
66
527
357
463
687
858
695
254
478
487
500
299
124
79
441
314
202
751
986
257
869
34
661
147
201
891
121
13
303
720
687
872
685
930
112
112
926
704
432
611
268
511
184
348
45
50
734
537
773
687
411
969
857
451
159
44
675
522
602
29
474
122
425
589
435
905
87
489
565
273
382
333
799
828
6
492
160
821
871
46
638
173
109
944
890
110
263
513
748
600
769
773
357
353
452
789
929
592
171
719
513
829
697
844
687
281
314
657
910
121
162
809
732
574
271
149
564
966
464
428
510
845
326
375
6
189
752
876
752
875
659
694
27
494
7
242
986
683
215
785
42
986
962
897
263
254
658
464
887
306
411
827
644
612
865
996
61
264
920
169
62
563
632
776
613
24
13
805
79
171
357
49
640
87
462
805
564
446
472
587
599
931
949
371
334
858
819
858
406
873
472
244
420
723
337
390
317
316
918
716
427
83
124
803
462
365
788
306
927
269
332
74
657
837
336
802
957
420
460
962
402
653
556
215
2
305
994
506
317
319
542
917
907
811
503
552
153
47
747
578
401
841
432
923
525
720
578
172
290
835
219
527
470
873
276
112
783
521
518
72
64
690
741
823
49
550
220
935
141
210
356
993
96
44
897
206
490
865
596
834
675
749
318
720
912
316
908
747
805
280
848
92
359
423
190
890
673
570
68
51
746
339
494
611
152
317
431
559
773
575
858
329
871
416
259
157
444
902
138
99
455
367
150
973
120
599
402
995
390
218
602
213
272
372
609
179
778
0
728
855
501
169
603
556
45
568
642
947
564
127
738
999
383
286
740
800
838
510
383
891
147
797
424
992
429
11
487
66
634
188
521
188
16
700
426
708
936
969
273
616
492
484
808
397
776
430
842
497
986
545
424
966
744
296
652
139
493
419
631
419
314
910
533
631
626
740
304
615
231
101
31
739
448
537
12
718
199
925
497
640
821
950
77
57
768
509
736
148
589
613
527
830
652
896
844
61
218
888
417
71
348
218
721
775
98
752
62
2
55
324
692
800
35
255
60
680
309
484
709
71
52
664
599
696
594
634
733
430
380
653
378
2
161
312
527
719
479
532
314
530
251
70
173
59
824
763
35
684
132
817
879
905
918
124
855
406
685
504
424
375
268
2
466
745
436
792
307
475
854
136
152
62
500
556
168
422
659
873
550
341
381
759
612
555
969
992
395
540
592
351
349
487
283
798
537
541
557
850
265
335
66
653
299
976
663
771
219
572
16
555
462
160
450
546
524
488
689
361
777
465
790
916
514
83
972
911
389
69
383
866
47
402
500
628
626
695
378
35
181
897
99
302
82
553
260
600
776
730
735
751
680
879
256
9
223
913
961
251
48
5
639
689
956
823
618
283
522
807
95
268
637
938
420
258
325
667
770
412
334
437
754
897
855
512
220
872
238
561
52
307
94
332
153
458
219
298
49
770
83
119
174
863
920
55
557
64
597
937
213
303
425
269
638
420
843
244
133
97
948
154
501
217
48
77
385
454
594
471
466
663
563
768
881
892
584
325
195
317
475
418
763
315
509
931
430
867
575
51
996
439
61
705
267
652
338
137
405
479
106
855
562
414
7
88
756
229
546
369
4
8
32
760
767
92
352
779
378
246
510
502
658
202
206
919
173
273
880
661
213
548
390
839
349
503
844
529
416
443
741
847
546
721
327
475
426
497
606
709
588
107
414
560
324
113
290
210
194
283
805
915
817
580
206
995
162
992
252
818
814
198
932
218
13
666
228
610
532
623
893
569
370
808
807
909
289
683
311
595
254
137
791
179
713
745
766
350
809
996
334
371
481
988
121
516
982
184
133
527
512
762
669
690
160
335
577
754
428
404
878
114
615
655
527
175
336
852
409
962
344
230
329
806
315
453
155
651
53
810
891
686
511
922
33
624
827
906
447
418
557
970
617
491
290
782
122
548
645
828
737
704
202
639
479
864
492
477
258
573
704
988
42
219
826
727
763
235
116
315
169
157
975
73
26
335
735
32
891
289
314
215
154
426
922
532
277
877
389
748
664
543
958
135
716
294
371
335
630
377
428
863
710
439
55
712
582
824
123
665
780
531
719
177
526
421
696
678
475
613
874
793
288
814
714
715
473
447
868
589
214
352
908
655
173
588
402
693
941
802
465
721
877
547
618
280
993
461
794
178
197
185
556
745
274
912
226
213
869
243
512
492
973
402
602
112
615
951
511
554
387
987
659
889
932
63
930
646
587
886
533
330
555
269
385
568
316
309
130
301
233
530
623
176
706
127
710
411
24
10
503
551
281
812
342
744
399
826
714
661
831
490
581
322
587
281
937
800
372
167
28
769
126
172
351
289
594
807
898
228
489
162
211
929
811
70
625
466
329
724
689
309
924
812
609
43
505
939
623
622
558
113
22
208
273
501
488
955
86
331
762
900
763
28
625
50
876
287
580
856
547
672
223
596
690
853
26
27
331
30
156
584
228
769
476
992
360
583
676
670
726
887
618
453
217
598
178
200
349
649
833
80
492
82
277
624
326
629
228
645
97
754
604
872
214
852
781
639
322
872
477
373
306
966
453
255
348
854
454
973
931
570
138
177
601
81
581
984
942
650
512
239
152
439
757
735
747
619
486
349
352
327
305
472
730
531
3
244
411
482
369
854
753
307
513
968
725
898
904
102
299
820
608
700
49
741
770
546
437
615
195
364
532
765
171
922
538
135
553
561
776
515
141
431
854
736
994
94
443
600
988
406
608
964
724
313
258
984
145
205
909
338
697
2
400
988
263
404
532
875
518
57
145
727
339
471
997
503
640
276
519
803
932
573
72
567
429
950
391
589
991
2
558
729
685
254
31
542
186
761
801
784
16
483
892
546
708
975
770
53
526
106
398
909
567
911
964
434
646
444
664
753
645
674
720
807
804
480
263
381
190
23
758
947
994
46
404
505
607
931
789
856
272
953
982
720
283
667
43
581
696
788
910
325
965
636
440
98
344
677
964
524
777
916
442
430
214
88
345
759
326
176
320
234
90
433
934
68
551
813
270
737
201
507
142
10
567
55
526
398
363
734
228
199
381
280
367
801
785
603
837
868
924
823
117
968
533
65
585
622
321
485
545
953
638
689
543
596
232
228
253
335
614
219
413
799
68
638
610
628
228
435
287
435
155
865
554
885
695
287
670
28
967
869
687
615
795
6
351
791
760
720
242
500
42
752
467
773
413
439
725
772
100
387
596
172
867
461
709
969
956
183
532
454
683
550
543
165
572
814
933
586
542
47
263
558
468
169
645
63
617
632
989
524
54
408
147
601
222
456
479
686
37
510
474
84
339
443
706
16
847
833
886
601
447
157
161
245
122
671
670
381
490
868
842
749
112
924
951
25
467
252
529
812
210
779
636
815
480
350
87
316
920
506
870
299
986
170
709
143
880
579
466
221
865
189
450
356
759
644
992
968
617
138
688
109
323
575
863
251
318
868
267
930
215
574
147
460
159
785
136
544
5
141
676
554
674
768
115
781
7
898
612
773
732
818
631
444
752
52
351
176
335
217
895
511
920
881
51
965
697
173
147
106
598
192
5
735
702
682
266
988
539
962
994
266
106
968
208
690
425
792
76
423
153
942
143
690
470
238
288
951
412
840
305
175
64
917
782
49
46
985
883
654
81
151
630
649
113
169
752
430
948
790
664
584
956
550
13
32
339
13
910
748
920
551
136
271
28
798
969
318
884
191
145
819
950
829
864
978
827
233
8
767
623
374
351
519
731
875
392
437
283
724
657
806
870
298
756
295
624
917
284
685
987
937
691
464
784
287
769
447
320
958
325
658
922
634
591
228
313
727
525
969
510
691
592
129
765
127
337
986
424
141
306
148
112
146
18
262
101
611
909
290
135
383
866
66
83
845
80
233
166
826
266
144
733
5
382
67
503
124
967
663
645
51
880
200
678
468
19
314
49
821
348
656
739
934
91
745
146
74
500
951
41
132
761
624
197
980
663
974
864
55
767
67
666
64
454
54
52
717
718
934
574
743
850
237
849
844
981
635
535
465
121
624
609
860
882
994
577
81
6
183
271
918
689
966
674
24
938
159
604
929
775
817
147
307
169
387
288
392
978
544
428
978
531
939
330
6
407
215
124
780
371
931
701
669
961
896
959
365
337
656
943
127
45
447
308
701
67
53
269
493
254
452
295
15
366
875
679
472
302
955
734
684
112
724
725
176
433
744
27
448
177
561
180
48
615
290
473
268
552
100
562
367
966
330
568
512
912
421
823
141
838
971
73
368
700
658
54
362
936
3
526
546
674
157
168
152
238
994
210
402
125
471
902
884
76
462
898
120
609
841
81
364
128
510
501
202
668
825
309
384
784
478
151
148
639
20
53
637
415
844
55
412
829
882
7
673
426
517
375
541
412
889
314
538
683
272
946
260
903
743
582
539
625
166
49
105
562
560
784
575
951
168
881
235
924
203
288
547
360
586
411
647
828
653
523
55
771
353
64
882
620
400
633
579
224
649
533
113
209
410
279
318
747
303
689
254
808
243
751
941
551
888
512
65
858
533
872
982
314
123
400
492
511
83
941
71
273
142
551
978
996
574
398
864
167
185
977
794
120
611
195
180
961
505
342
866
814
29
378
690
478
157
879
934
159
0
698
817
358
475
733
371
812
465
411
692
273
684
289
32
669
164
228
592
723
644
709
795
972
454
895
607
795
214
346
902
180
90
311
705
41
796
928
867
437
797
799
982
621
79
141
288
179
304
600
651
175
948
796
314
538
217
450
732
705
764
966
855
787
219
503
100
66
698
54
173
630
343
708
187
854
97
128
229
205
557
4
485
372
541
883
798
39
931
785
354
662
36
959
984
240
16
82
383
342
809
834
969
738
308
583
671
486
158
971
3
45
156
636
712
684
966
304
732
257
160
424
517
781
818
221
388
697
338
893
214
277
904
398
276
89
785
724
616
463
9
197
795
453
153
745
947
347
903
678
82
784
738
612
236
238
710
762
761
860
884
750
552
3
664
437
818
12
868
774
473
905
245
428
151
83
227
343
864
954
842
820
388
545
656
960
541
758
40
264
156
378
351
184
565
516
192
86
228
931
8
542
203
423
32
353
702
825
761
476
891
899
352
302
378
6
99
472
411
207
643
712
757
81
613
794
502
816
497
541
999
81
261
486
85
381
613
599
861
892
471
111
721
979
288
906
243
630
412
821
994
500
600
13
709
207
640
837
774
817
332
625
63
512
999
695
132
762
851
83
828
243
884
819
461
670
398
665
697
689
429
689
432
51
953
671
193
160
824
317
576
817
497
376
674
484
329
806
861
784
573
647
76
196
94
753
610
135
903
207
449
799
446
8
173
99
62
820
857
274
13
254
335
325
499
913
22
916
951
911
643
655
884
28
10
806
944
71
244
173
3
816
842
669
810
684
729
824
859
383
582
748
826
733
835
70
630
784
651
588
965
292
187
330
747
305
38
799
238
954
755
485
97
989
108
412
590
145
227
778
339
223
87
429
190
710
950
967
641
812
76
344
77
478
464
536
38
922
351
304
125
405
636
335
968
691
222
91
186
190
377
431
354
352
705
573
788
385
852
303
198
703
605
469
79
298
725
64
572
853
725
492
802
506
161
709
577
489
790
938
933
985
469
184
385
285
959
306
581
829
642
750
278
164
784
450
686
414
128
577
943
116
269
973
9
883
25
26
651
169
492
94
274
155
612
378
416
885
383
59
240
727
834
268
923
401
664
656
588
883
674
198
265
462
137
761
310
635
6
301
724
875
272
619
579
995
86
665
281
124
263
968
695
190
830
902
382
984
240
44
243
124
836
608
294
35
694
479
401
218
171
14
603
477
124
1
569
823
535
611
270
928
112
997
354
357
42
939
848
370
621
573
38
405
746
217
548
155
289
755
702
49
651
870
501
49
294
120
318
36
130
199
252
271
76
334
886
989
946
187
712
684
510
86
487
195
816
292
385
617
389
273
624
345
224
46
914
858
520
80
415
1
781
842
927
643
857
693
295
620
603
904
317
778
487
368
648
552
581
531
927
714
750
613
873
196
322
950
991
477
985
628
465
580
216
746
257
622
70
305
7
429
584
242
130
34
53
294
88
858
509
675
907
109
721
464
172
253
676
272
414
245
441
691
546
512
255
158
664
501
473
621
330
506
89
599
103
747
303
30
757
758
680
31
81
362
273
719
662
835
480
295
683
669
921
399
126
790
375
452
471
377
679
490
72
413
482
757
845
569
169
337
874
567
216
523
646
331
326
454
398
156
842
255
523
912
760
581
281
937
953
605
301
894
877
480
258
639
953
3
249
777
506
958
331
10
967
102
40
98
125
738
302
767
140
411
551
990
259
610
945
67
923
603
72
800
817
794
455
612
868
70
302
99
529
493
758
870
538
20
721
687
175
346
870
965
815
272
625
401
730
567
911
275
143
915
803
291
222
38
613
971
28
353
727
707
560
605
460
324
448
959
635
878
894
454
675
561
845
569
569
374
823
241
821
638
12
967
313
701
542
861
928
356
606
214
661
461
533
250
425
77
922
14
171
390
289
207
494
127
416
696
297
56
800
879
976
588
469
601
592
347
992
88
802
294
247
36
622
26
222
588
59
244
797
33
717
365
335
393
75
352
416
76
115
607
558
649
442
366
833
322
470
123
932
26
620
702
707
989
442
856
187
551
735
255
834
376
572
189
571
884
473
308
658
70
117
229
910
98
103
115
257
873
856
588
373
659
262
156
548
289
902
794
137
65
146
842
266
177
793
725
691
720
915
283
224
834
107
639
808
825
213
518
722
40
103
680
943
947
263
671
988
66
642
290
30
149
724
965
483
613
178
780
625
306
146
572
996
842
670
205
862
623
424
56
78
63
916
882
451
705
878
788
341
322
408
553
788
498
682
538
734
748
488
119
766
650
112
882
603
423
774
106
336
944
240
620
541
65
702
619
774
7
395
216
431
510
83
153
21
852
116
307
472
649
597
935
780
367
296
850
908
847
432
534
40
319
503
708
198
46
243
612
741
374
441
354
163
991
239
139
927
45
736
936
791
758
267
446
634
209
542
574
759
798
419
645
772
91
798
180
540
830
595
805
767
296
821
783
27
827
635
166
111
385
374
725
229
250
997
356
247
22
859
261
403
286
206
734
630
897
704
145
148
626
524
611
559
165
975
476
598
908
291
356
535
100
161
965
834
871
306
173
787
148
186
606
687
266
645
314
685
150
867
303
543
336
869
161
834
228
782
384
267
733
697
616
675
702
950
191
529
398
809
283
113
730
392
663
24
979
642
759
705
170
792
629
755
938
200
429
388
945
101
803
636
49
988
349
233
737
247
803
528
871
891
100
435
299
675
717
741
31
549
487
938
499
818
828
131
20
397
775
879
134
397
473
56
121
55
993
192
400
981
90
203
146
106
348
397
569
863
194
186
192
572
728
782
528
709
61
766
266
571
417
307
668
563
559
335
759
64
907
963
403
761
567
384
619
509
763
562
38
167
691
262
50
965
356
396
980
741
244
448
764
171
617
428
422
254
150
842
803
573
968
700
541
561
41
474
975
37
164
853
111
886
573
365
637
429
419
721
529
821
181
255
59
554
785
108
645
22
612
505
158
610
727
547
413
170
954
700
416
559
6
954
891
18
754
230
120
285
880
453
620
7
972
55
660
205
14
758
19
33
475
219
113
735
396
607
599
788
67
162
958
752
924
873
862
495
747
555
770
131
384
415
502
895
900
11
98
187
540
109
186
535
553
270
365
304
2
296
350
315
355
337
993
586
688
795
680
419
372
14
166
278
577
183
494
556
964
941
379
315
735
231
337
492
261
500
883
833
988
315
835
100
772
888
582
966
158
446
54
456
904
373
1
15
90
112
471
31
853
736
302
29
419
359
253
587
438
971
807
796
697
667
683
487
71
195
37
56
321
458
155
476
714
731
886
915
182
433
760
891
61
492
380
102
48
172
906
33
35
396
218
833
612
957
872
882
299
671
893
30
181
742
58
287
207
66
341
174
387
315
217
314
617
973
158
533
901
905
938
697
7
742
766
301
21
929
652
473
582
726
561
397
20
324
306
581
381
437
63
969
186
58
481
643
563
666
793
563
802
121
447
33
789
807
417
856
750
377
900
654
690
707
678
187
554
773
727
109
943
124
346
91
492
393
925
990
752
71
327
837
774
706
825
716
388
389
427
743
860
6
68
494
598
787
768
45
31
884
816
767
596
188
177
474
822
4
429
518
643
741
589
470
657
431
496
785
193
628
639
350
677
634
124
231
126
228
809
314
53
93
90
862
405
146
228
741
801
442
2
636
721
921
38
780
427
788
656
678
698
907
739
906
903
728
417
89
417
63
235
878
340
278
691
555
639
611
396
985
355
739
502
52
382
71
17
399
304
404
572
978
383
219
995
866
600
773
24
335
337
286
415
831
833
325
644
329
26
487
710
178
498
392
629
387
768
242
210
172
933
708
539
8
303
5
923
777
449
377
122
439
279
963
984
711
446
596
108
326
970
684
535
53
512
455
263
208
16
49
387
692
809
428
454
610
317
324
585
759
508
63
426
803
629
882
940
231
248
252
774
508
170
338
130
186
926
625
687
598
162
73
860
476
22
590
657
209
741
229
367
729
72
136
926
217
143
446
625
82
510
142
279
576
216
751
241
18
697
349
726
842
555
247
988
937
714
719
474
323
549
96
666
145
336
161
790
691
218
880
836
480
862
849
37
602
379
823
93
204
296
370
371
856
275
960
150
262
894
746
153
812
650
94
239
831
340
879
263
468
14
242
686
691
627
248
450
269
9
556
901
161
957
469
612
823
121
305
298
227
490
914
88
190
840
172
695
255
726
146
417
978
872
576
544
70
645
970
937
767
736
940
113
459
562
878
13
34
878
124
794
988
35
304
225
331
40
348
500
953
626
610
273
351
239
731
210
262
227
516
597
202
475
28
207
810
739
688
866
254
366
856
933
648
321
154
163
257
825
782
518
971
150
629
647
845
158
230
655
980
116
616
695
584
379
228
747
726
933
174
701
525
243
506
401
497
535
233
439
582
129
886
71
442
736
886
221
751
780
49
557
879
41
712
602
451
145
534
154
407
663
530
929
479
490
408
941
712
949
896
609
189
489
215
278
413
851
182
239
671
960
554
18
866
497
476
995
428
391
216
810
63
97
968
373
343
388
51
12
193
5
524
161
694
96
299
189
747
916
548
600
81
543
84
809
296
162
441
847
622
963
616
438
983
638
590
286
353
272
99
290
433
280
668
242
952
873
671
691
228
283
899
310
924
719
453
826
313
219
572
240
875
546
222
74
919
594
553
360
93
580
854
542
81
479
662
215
660
486
19
586
712
638
594
524
560
743
130
665
264
757
844
971
835
741
989
775
442
834
728
36
770
36
929
594
780
950
591
26
743
0
990
873
415
224
840
115
537
925
381
285
956
937
667
676
241
851
198
602
746
221
87
307
525
20
385
623
611
177
873
982
114
68
371
759
336
768
251
319
736
319
260
847
893
653
667
531
458
172
382
856
595
140
93
326
630
411
591
211
292
702
162
742
400
942
567
246
127
612
478
936
364
365
800
645
185
916
327
279
6
517
395
965
41
436
147
208
818
785
855
966
762
727
522
198
893
132
91
616
136
564
734
666
348
951
153
510
240
129
155
370
521
851
102
93
448
491
288
662
451
108
429
753
399
584
106
668
246
829
980
619
446
720
153
396
474
68
624
684
622
47
577
317
420
601
843
882
440
87
240
461
762
460
497
544
0
534
54
31
556
636
48
526
896
980
833
975
495
953
841
230
18
201
797
213
419
980
681
357
189
536
284
827
685
192
393
561
496
681
655
789
991
395
616
17
885
106
642
916
804
252
50
536
133
120
335
909
256
749
509
248
65
742
634
476
21
393
737
228
464
47
555
749
978
581
313
407
268
259
753
182
942
140
300
736
590
950
6
736
584
28
36
325
60
547
756
304
740
373
864
583
729
400
716
960
783
920
127
803
403
154
328
64
413
933
351
989
429
284
698
379
382
254
799
869
919
427
653
563
836
767
606
136
256
715
569
338
99
371
95
167
355
993
172
552
924
699
710
802
945
399
720
206
833
527
454
668
538
969
869
304
922
286
957
375
217
633
331
521
453
279
285
245
779
419
845
825
465
889
589
156
874
870
534
670
969
614
506
841
915
533
432
774
329
826
49
50
320
677
726
5
735
619
329
193
393
966
539
130
401
475
199
556
308
836
122
694
651
204
686
787
361
589
123
728
956
822
630
461
847
784
667
519
857
381
6
279
984
757
204
322
669
853
819
290
866
818
760
958
548
501
543
728
213
493
986
378
804
707
290
945
448
712
449
692
271
645
699
603
334
876
320
293
758
288
183
286
621
272
429
474
954
874
900
97
609
557
669
571
695
866
628
796
718
924
27
580
92
819
392
388
81
383
453
165
162
99
11
148
987
928
609
767
119
712
871
539
260
698
164
294
250
940
455
788
334
28
441
817
369
900
257
959
110
419
784
890
544
936
602
222
815
295
472
168
760
941
559
372
601
59
488
854
515
938
729
281
911
527
672
683
982
130
61
828
206
187
815
287
261
214
522
959
114
703
326
123
752
0
483
223
840
37
94
434
955
620
314
778
316
528
187
41
553
917
265
61
478
983
51
393
391
396
709
628
187
707
755
107
608
236
786
470
609
115
500
486
788
950
569
661
785
884
215
328
978
890
924
593
49
250
797
517
814
892
713
233
884
24
737
558
425
153
301
468
359
236
29
226
285
767
174
102
533
73
417
790
273
184
25
600
721
168
518
413
482
992
170
914
625
264
868
748
748
861
96
577
732
406
272
253
752
661
447
250
582
697
494
579
775
380
568
783
543
493
626
596
859
495
212
557
418
203
974
887
238
173
16
78
50
651
585
510
723
200
911
609
658
647
235
587
693
236
677
696
479
258
562
902
525
38
838
353
49
635
873
104
927
394
320
623
916
707
663
415
862
776
677
257
923
110
23
903
660
445
366
450
990
719
607
604
553
489
997
412
588
274
347
12
808
757
624
718
218
308
66
872
491
208
926
779
768
711
164
758
221
360
820
831
880
801
226
665
908
231
266
258
713
191
689
182
100
773
923
651
272
184
154
274
473
785
702
589
205
166
933
256
350
34
72
20
105
13
997
6
409
716
257
953
46
53
461
78
778
90
121
569
261
642
527
587
807
772
824
854
9
669
495
199
721
508
472
234
849
797
324
238
922
823
36
519
609
414
745
120
317
563
444
300
221
253
360
272
397
36
68
99
286
777
352
391
288
899
921
421
687
200
432
360
101
765
163
134
905
413
898
54
484
516
534
778
425
227
49
608
638
846
575
328
183
633
315
989
7
255
384
155
590
395
419
338
640
580
597
264
97
640
532
850
681
647
922
917
643
430
437
512
733
950
280
122
655
347
600
654
420
448
956
475
378
213
745
834
9
633
898
515
625
649
323
353
265
23
718
910
719
930
634
364
167
548
58
467
327
723
617
360
958
836
647
143
21
33
346
281
568
886
656
979
100
182
681
588
136
2
799
973
326
676
67
212
999
13
461
998
742
397
778
619
877
921
642
274
903
717
895
154
501
905
910
591
84
483
397
911
781
498
49
267
142
513
417
212
376
854
69
845
697
28
12
713
842
888
425
532
747
756
501
431
690
454
656
486
968
73
347
219
135
416
890
626
77
328
316
761
576
549
607
36
417
305
140
320
839
860
986
729
641
937
386
288
148
291
920
511
797
696
50
954
681
320
305
95
564
247
487
447
353
132
736
157
759
259
556
587
800
531
117
850
442
374
833
169
790
864
943
852
81
474
729
558
194
520
261
358
210
521
971
747
967
432
777
827
758
388
749
651
803
440
292
996
479
963
466
464
859
253
680
542
926
222
152
157
23
582
2
59
30
129
437
884
407
753
229
191
196
652
659
366
289
962
639
676
425
818
345
299
469
897
831
872
89
467
668
635
58
793
757
250
891
784
67
974
323
441
795
45
144
614
950
408
157
791
619
444
865
441
440
263
882
218
538
94
381
736
974
199
694
532
932
761
912
269
241
45
206
8
171
922
976
416
889
243
211
814
93
906
808
612
957
272
92
832
594
90
181
350
815
93
662
722
185
456
902
593
624
705
400
283
73
292
899
921
639
521
280
665
265
386
868
772
257
824
662
477
512
916
100
274
804
342
322
604
268
897
697
20
901
500
128
593
589
416
611
31
898
507
153
477
605
524
622
470
648
665
584
174
176
255
560
96
540
180
946
697
817
163
414
437
463
196
27
698
944
743
851
353
439
758
719
278
202
97
398
317
216
333
403
488
968
47
231
239
965
860
33
489
915
862
24
255
268
351
83
272
940
984
481
333
410
346
223
428
369
900
381
280
60
80
602
262
510
514
851
449
459
774
564
117
879
320
486
52
780
423
532
487
88
794
99
224
278
638
812
891
452
172
495
969
190
404
358
986
803
203
427
420
572
517
977
633
935
894
845
665
743
562
412
628
702
218
60
905
109
362
795
271
372
310
113
183
488
404
327
46
613
740
562
121
543
875
19
113
830
254
332
885
431
556
607
677
90
833
945
484
212
982
776
735
631
393
178
170
221
682
659
254
901
165
149
524
317
936
884
395
627
4
630
278
354
560
920
156
854
396
222
778
862
684
291
714
389
14
422
533
610
287
711
383
631
141
330
996
998
273
379
528
260
978
251
242
163
161
344
275
621
934
579
319
633
136
977
52
147
349
448
295
306
157
600
429
278
489
458
289
824
857
77
316
951
844
163
30
503
471
759
788
548
225
95
600
665
731
95
519
665
164
401
965
548
369
149
458
120
75
849
803
15
943
701
100
94
423
861
864
747
326
338
760
421
494
208
378
607
990
666
694
330
458
110
58
778
417
334
730
387
39
540
607
310
689
819
234
936
284
651
661
209
111
173
442
173
820
965
615
34
887
929
427
294
45
103
554
32
240
860
894
210
677
336
145
382
612
801
522
648
362
847
735
428
580
59
816
688
28
445
127
795
938
133
545
784
885
600
170
41
586
296
945
466
300
894
591
8
850
161
944
814
426
963
920
489
705
279
783
22
201
743
488
59
355
238
576
964
722
766
439
589
757
207
490
476
901
277
669
108
418
658
0
786
318
734
682
368
881
779
704
531
52
125
837
180
865
758
574
764
727
706
75
88
654
960
675
779
374
206
802
806
637
589
807
526
375
84
294
504
668
438
707
652
140
285
300
578
554
949
412
444
769
286
191
397
819
919
930
618
770
775
944
712
345
959
134
405
665
641
493
590
556
68
496
825
870
235
919
542
526
64
347
204
827
744
426
416
694
771
966
744
331
272
399
135
364
58
578
475
12
15
148
613
185
928
433
814
449
888
467
254
707
226
652
377
120
171
928
502
881
791
393
304
134
848
864
175
978
607
704
777
535
359
421
729
880
794
786
643
723
128
822
434
390
116
778
90
767
67
919
994
952
209
906
282
127
166
324
552
104
586
253
580
262
356
189
498
327
257
196
302
78
12
467
866
996
264
129
429
983
820
823
7
29
99
274
678
652
120
231
285
679
835
937
448
266
604
377
845
441
348
464
156
881
43
581
782
257
139
587
80
211
450
938
294
347
742
897
704
955
463
165
41
49
353
41
16
510
488
493
705
828
550
684
732
22
683
569
939
167
7
139
284
598
91
489
722
860
890
840
691
549
744
555
174
228
517
514
656
588
951
788
329
134
34
706
908
127
79
660
701
432
572
2
872
287
90
368
709
864
773
541
140
675
4
946
238
700
559
849
428
320
787
220
721
267
204
989
955
972
892
727
210
771
392
752
344
695
317
654
229
21
715
202
250
262
516
133
0
225
411
325
186
864
972
456
130
494
617
978
660
445
586
437
538
656
894
898
674
731
159
797
356
821
32
757
803
168
840
5
747
859
519
76
221
70
672
145
768
231
507
744
106
824
287
453
795
322
742
897
897
297
247
990
580
599
719
297
116
946
973
66
906
211
206
198
967
115
377
486
0
544
477
870
406
588
186
91
130
297
383
742
951
439
151
87
811
925
789
884
155
64
981
748
98
165
644
117
602
792
947
322
709
92
592
476
421
112
791
447
583
184
206
299
358
524
542
59
959
557
530
818
274
818
349
27
430
246
121
406
972
704
523
657
711
251
60
538
211
626
637
235
414
416
307
647
235
428
615
118
85
506
675
60
184
740
213
872
913
147
814
540
924
568
92
162
339
810
177
257
517
311
619
28
891
587
532
147
974
668
914
979
456
959
515
103
81
1
821
254
772
829
608
88
27
139
940
710
663
273
713
836
316
60
172
750
629
303
239
740
149
75
679
219
468
470
242
516
562
608
739
662
360
349
609
801
642
756
537
391
580
383
952
647
699
601
792
195
777
463
318
344
324
708
470
651
163
508
690
830
331
624
111
409
825
894
27
412
941
655
584
169
587
181
470
544
413
403
607
72
523
367
488
636
611
486
573
331
477
454
949
633
524
195
673
779
807
635
775
260
291
380
106
901
921
565
927
978
84
617
293
286
904
16
557
95
399
621
664
777
179
43
125
892
677
220
435
73
689
962
544
941
127
55
237
226
348
934
566
935
720
212
592
437
935
655
317
672
763
848
478
634
998
350
700
805
182
184
200
622
998
600
827
298
665
895
438
398
550
85
880
51
782
396
157
686
782
144
928
686
580
700
613
622
334
258
183
177
412
711
448
915
776
990
151
604
786
337
428
936
811
257
816
198
356
155
578
732
312
417
434
985
190
909
563
831
971
403
281
967
100
215
790
688
758
728
151
223
99
20
203
533
256
521
171
352
163
920
283
678
665
567
651
852
993
333
584
752
288
630
899
692
429
649
899
914
517
426
285
62
753
632
897
581
401
191
369
617
256
94
745
952
326
972
778
892
671
278
198
770
360
341
394
162
144
919
239
453
160
441
577
196
645
12
37
254
110
787
695
886
29
293
638
32
484
332
765
477
716
748
374
842
146
87
382
129
514
22
388
359
210
60
42
112
429
181
819
1
893
956
923
350
104
195
254
884
515
880
254
731
465
284
3
784
67
499
214
312
361
463
683
735
891
373
111
174
459
864
837
367
772
309
369
157
115
967
772
237
494
617
875
48
697
162
548
740
799
621
210
214
350
635
55
309
822
2
591
421
262
919
386
208
0
844
421
53
453
420
122
23
41
594
938
364
685
102
885
815
316
815
248
929
77
251
182
346
846
602
577
291
874
48
463
350
765
859
291
142
773
34
768
563
355
535
842
505
868
613
453
261
292
684
707
869
112
149
699
991
10
778
345
803
699
965
334
731
876
544
567
484
937
956
296
253
499
913
113
613
698
16
925
877
221
133
372
982
942
14
685
932
379
175
846
456
839
416
271
544
794
427
402
845
3
754
134
742
370
783
589
842
564
213
904
909
971
741
972
972
435
390
695
75
958
348
838
704
71
122
260
898
851
158
792
511
180
97
838
205
734
518
474
731
404
79
743
852
831
99
412
812
722
150
131
368
967
175
481
228
554
473
13
644
932
36
486
939
293
904
627
317
212
501
465
228
30
592
722
289
197
790
509
999
612
887
562
179
167
22
470
995
783
384
41
542
269
196
959
214
583
244
85
614
946
663
673
81
889
103
825
144
792
313
112
872
196
768
77
725
41
849
983
496
777
906
930
638
175
992
787
232
761
152
828
106
782
266
445
364
690
879
604
461
382
692
111
346
996
313
582
336
275
725
340
952
307
674
402
710
997
768
84
292
515
510
789
903
275
21
107
517
883
549
633
71
479
35
572
397
995
64
738
729
832
711
404
923
563
830
400
941
678
402
746
303
334
0
236
820
461
119
287
74
890
983
5
455
229
771
30
685
886
602
924
355
712
235
836
349
268
867
388
257
932
38
566
46
271
975
148
847
669
74
150
456
83
683
735
628
194
600
920
580
849
243
155
304
983
496
376
987
469
980
720
178
883
695
892
950
681
908
403
99
109
959
10
322
522
81
437
451
177
157
203
497
779
891
615
567
203
941
879
76
772
366
74
171
656
235
910
32
482
889
985
134
262
110
388
930
31
602
654
392
606
414
10
562
460
999
494
516
223
596
357
224
713
940
501
151
488
382
762
435
177
786
179
838
890
92
320
813
848
23
782
124
154
994
428
998
481
433
97
541
658
958
408
320
555
797
657
816
14
936
576
662
481
955
911
360
159
188
224
541
983
732
100
251
560
329
507
218
176
998
307
265
219
772
695
631
761
833
45
633
516
131
66
597
151
267
967
154
93
607
845
136
206
162
685
801
57
65
432
774
318
636
597
452
936
96
769
947
364
633
991
326
395
428
441
560
94
285
765
283
820
465
466
516
425
74
604
673
990
397
719
932
767
260
226
575
666
125
24
601
679
64
946
407
880
280
209
622
928
319
965
466
725
686
10
522
842
779
366
483
745
40
641
252
250
401
531
59
739
890
159
206
481
670
641
40
20
336
695
884
23
884
335
999
857
342
151
668
46
902
547
721
996
665
547
422
846
113
314
489
202
922
386
714
585
934
783
211
505
837
974
928
551
547
776
724
689
124
595
345
229
573
700
880
290
453
634
254
964
352
346
39
81
690
937
116
677
573
896
975
928
624
333
197
86
511
388
900
212
295
377
545
688
625
77
620
704
15
764
372
103
283
673
742
504
756
883
566
149
652
277
994
318
10
405
742
419
906
902
924
325
46
159
371
902
337
387
844
528
311
215
967
622
659
570
65
164
441
348
422
461
679
611
148
290
556
19
314
125
383
499
392
574
980
172
921
961
195
444
768
250
622
715
979
98
618
48
942
544
436
651
840
871
21
922
991
761
404
732
179
206
112
777
115
227
349
282
888
122
624
981
211
646
334
77
317
909
406
761
719
409
507
270
381
261
575
360
279
449
135
386
519
627
969
55
795
357
346
480
794
933
965
577
942
591
552
181
501
740
789
833
529
366
658
900
479
722
191
230
942
715
586
323
575
414
823
355
197
574
355
642
772
170
215
776
465
122
636
281
662
33
482
728
280
153
353
919
945
184
493
14
165
2
103
910
550
68
563
566
531
268
482
601
799
334
452
331
309
247
81
457
774
807
416
834
789
745
101
350
982
738
563
170
865
469
32
763
110
353
248
405
796
205
934
610
461
866
253
291
203
175
622
232
309
206
124
775
129
650
604
145
118
406
608
921
499
963
323
493
92
70
38
959
574
143
708
158
553
366
673
67
732
282
60
274
345
438
336
456
535
768
513
797
744
222
654
355
739
453
422
285
609
722
574
562
631
316
88
466
519
934
596
566
528
924
204
566
392
192
478
181
784
23
624
461
420
794
799
973
593
979
963
119
520
6
754
870
657
660
148
696
616
341
769
268
812
402
263
841
199
95
158
861
120
498
472
409
92
269
124
431
240
460
232
557
837
708
120
801
615
577
372
6
644
67
866
732
147
356
141
234
877
837
30
170
46
413
34
738
528
396
814
540
643
830
806
885
217
7
66
464
871
341
344
760
171
804
406
255
917
940
577
839
618
848
863
957
738
362
399
766
933
380
894
673
753
474
707
757
592
615
137
927
970
39
504
822
156
340
818
426
851
129
420
38
492
585
237
839
178
295
680
216
60
966
213
74
17
625
853
476
136
552
546
651
670
835
983
739
661
636
733
831
967
145
807
328
964
355
548
189
775
739
765
553
914
266
606
33
424
732
558
232
408
85
192
20
728
349
285
826
539
731
623
695
594
405
179
355
28
279
607
850
185
885
954
780
525
840
545
980
316
124
978
667
701
380
490
734
515
971
489
334
868
137
149
753
214
192
855
143
975
975
820
237
906
695
66
477
164
689
97
421
457
574
63
634
783
98
574
564
744
147
130
772
76
657
819
465
764
955
902
645
367
153
282
246
462
205
833
635
671
592
45
693
500
320
391
721
364
898
139
161
928
756
206
992
997
525
96
405
622
34
644
867
410
891
673
293
640
323
271
278
322
299
894
161
443
334
31
700
972
634
269
836
692
58
913
886
262
701
455
351
910
901
628
220
902
220
515
746
35
239
395
356
198
621
224
82
34
584
583
747
387
578
721
543
17
102
663
149
805
989
799
102
628
220
787
366
184
399
379
358
745
623
46
589
939
416
341
888
450
106
745
50
396
173
109
417
691
470
689
202
236
728
573
397
136
636
595
878
771
621
433
472
172
643
619
549
899
220
457
878
919
534
599
855
445
706
420
235
618
231
713
697
588
949
855
116
113
678
403
827
750
99
683
929
863
244
760
628
375
491
252
648
694
576
90
410
394
968
625
901
608
628
440
162
452
389
780
997
21
385
737
659
908
51
832
402
183
181
152
335
663
44
708
61
909
128
759
800
863
492
780
340
894
23
164
359
806
849
477
769
671
896
996
593
653
658
357
473
846
782
299
49
428
384
480
108
520
8
593
488
908
713
955
504
717
327
808
110
750
51
403
807
913
137
312
439
991
678
929
129
360
114
971
179
363
617
673
673
144
482
475
957
541
745
208
519
466
127
535
315
801
805
15
379
297
734
854
167
435
335
241
807
181
722
873
517
778
420
871
851
348
183
275
553
674
360
47
124
554
437
294
546
707
166
125
641
292
506
399
525
593
775
310
303
524
820
527
238
71
75
852
303
325
16
215
437
884
381
803
106
676
187
844
253
122
592
466
239
471
347
15
201
488
34
482
453
638
205
514
179
206
71
8
378
483
117
664
35
900
850
255
972
629
568
939
573
524
731
301
653
220
951
442
706
141
559
81
236
471
162
587
116
732
668
712
653
436
930
154
666
615
865
224
264
627
244
966
53
588
669
554
299
837
615
391
998
686
172
798
577
435
441
250
447
429
565
80
92
723
442
389
877
822
562
78
226
454
52
614
3
753
784
29
124
171
473
508
116
303
91
142
302
731
557
413
275
184
345
766
498
214
651
928
246
644
257
890
343
20
690
718
692
688
589
266
372
976
309
735
233
335
56
780
699
427
563
502
168
398
942
742
789
546
158
783
859
415
444
11
204
123
426
230
163
336
993
30
969
484
884
414
405
344
490
958
761
109
770
772
376
848
476
451
46
487
742
31
111
145
106
385
896
743
552
361
235
25
396
237
243
7
722
890
73
678
667
381
197
570
178
444
516
788
530
107
930
49
352
957
581
585
731
834
464
817
177
72
281
495
839
429
473
972
96
305
876
705
584
359
197
948
819
295
124
326
650
27
626
545
576
620
20
776
469
239
997
619
238
875
595
75
493
474
937
90
204
884
584
230
280
553
930
784
361
584
422
231
336
621
117
183
471
895
827
849
21
45
987
344
503
669
913
312
754
750
996
970
844
706
354
936
156
978
191
19
519
832
700
795
292
352
615
588
369
877
441
413
175
529
199
154
389
349
71
862
189
255
99
826
222
558
528
849
615
591
604
101
683
178
20
50
860
113
43
774
646
185
804
248
18
323
310
900
911
928
719
11
433
86
630
502
492
526
270
687
636
707
950
796
640
488
575
625
622
74
403
750
563
996
418
131
102
401
97
883
675
170
591
436
909
546
612
43
568
991
544
265
267
260
237
842
534
814
990
592
264
444
84
42
284
903
755
847
60
538
545
663
295
164
921
64
353
500
906
434
578
317
827
920
340
861
88
165
533
92
539
27
920
88
451
81
568
963
243
202
46
56
520
702
405
672
204
152
519
614
891
464
133
277
285
958
982
425
498
766
739
852
184
35
603
275
106
842
908
69
344
630
280
600
481
245
213
131
445
170
268
378
232
320
709
832
279
587
266
850
324
514
160
719
311
162
177
994
466
595
171
970
910
643
847
715
597
695
66
194
581
576
145
284
518
371
604
669
191
6
801
531
889
515
411
96
507
970
472
492
252
437
161
102
951
543
902
954
809
357
19
130
930
523
694
356
275
671
253
396
448
611
29
447
104
935
664
428
855
177
601
628
19
924
255
148
78
721
552
457
160
652
868
504
374
351
546
341
399
510
354
818
73
797
444
525
73
794
453
61
514
586
509
242
255
823
184
558
108
836
273
550
665
582
396
842
965
15
250
507
175
590
464
209
158
663
630
273
368
523
602
79
752
549
836
543
541
246
946
14
456
197
678
286
468
869
855
331
321
172
283
767
847
300
895
78
542
803
387
620
913
849
666
803
616
215
101
308
684
788
881
845
577
726
234
437
422
274
47
122
7
255
498
749
151
24
362
517
476
994
63
274
58
127
886
703
739
458
163
222
494
361
3
380
960
180
440
980
312
564
348
505
264
820
732
35
955
347
194
829
593
251
483
288
656
623
568
507
834
915
476
999
11
351
111
571
657
336
660
124
385
579
188
165
848
694
394
7
732
44
648
754
284
982
7
263
539
125
566
571
761
207
719
517
838
266
0
82
602
620
717
911
877
658
917
920
931
893
942
530
99
125
62
942
104
975
76
659
659
768
966
475
299
435
885
94
80
178
977
270
852
865
851
478
838
598
52
36
778
678
925
530
227
717
760
894
792
643
575
762
893
687
137
136
380
553
47
18
14
639
113
429
113
412
574
315
384
722
161
334
569
855
923
258
595
173
469
632
784
863
413
521
680
123
429
858
355
975
830
960
240
982
431
182
795
98
642
243
318
563
616
110
212
734
374
816
39
557
492
716
159
727
979
487
107
16
331
864
292
934
848
189
305
634
781
754
688
147
52
115
56
965
431
513
543
454
601
157
105
563
55
284
274
147
657
52
465
391
574
837
700
850
807
629
478
652
318
491
781
981
695
454
168
626
771
447
583
424
439
376
229
537
25
443
52
388
905
842
780
544
795
565
689
75
512
849
817
49
720
31
687
960
6
632
148
175
255
222
621
411
803
966
658
792
490
809
358
288
649
341
940
874
990
840
845
439
331
114
905
485
863
253
504
569
55
468
413
739
860
590
43
365
187
768
253
844
551
128
396
975
591
374
568
754
749
388
431
494
861
132
440
661
515
548
427
293
280
189
176
895
664
604
823
330
391
898
225
96
92
473
348
204
892
389
347
594
676
8
112
358
977
537
777
848
580
571
548
211
286
471
813
249
144
331
57
131
438
205
913
892
849
424
982
260
470
740
542
468
985
305
733
940
397
645
185
343
222
405
593
910
153
498
636
755
34
791
942
435
246
369
896
208
493
798
930
714
575
745
104
307
873
957
438
723
923
444
343
268
978
31
41
586
154
607
388
694
133
693
412
844
668
999
172
907
334
121
327
2
239
73
860
45
349
313
440
879
111
76
951
723
870
718
513
705
338
916
85
212
479
234
939
887
177
434
647
572
529
252
803
813
542
204
130
927
559
312
354
103
277
134
550
592
304
386
492
703
412
779
826
709
159
400
372
576
914
721
759
16
826
629
661
202
331
651
651
561
876
346
959
166
494
160
515
863
30
215
59
364
100
169
581
27
231
245
337
114
809
406
233
859
16
37
3
913
405
549
386
805
392
986
279
155
183
137
221
477
453
341
913
157
963
278
965
305
957
103
141
365
479
760
8
609
387
418
474
380
602
589
594
691
536
955
21
758
517
526
658
792
335
966
843
266
754
207
735
927
418
378
455
828
751
231
162
273
161
762
388
642
530
177
679
908
12
522
472
99
51
329
826
121
44
844
806
255
519
709
897
93
695
425
927
582
740
396
29
903
587
34
662
143
463
118
888
371
160
305
903
496
612
866
528
512
446
894
237
50
960
27
488
239
425
264
353
817
378
578
732
59
371
410
740
24
580
87
352
946
500
949
953
37
433
26
784
359
34
697
37
247
550
244
819
367
645
961
730
976
885
413
537
500
767
466
664
213
211
655
594
571
608
83
946
57
298
202
243
341
500
650
375
646
36
357
54
293
754
76
994
739
674
295
975
242
348
441
993
453
354
326
751
865
116
133
892
883
510
948
445
759
918
639
997
671
237
11
138
191
261
803
128
819
314
933
610
96
521
230
897
818
757
125
755
389
813
498
308
266
534
614
706
696
32
672
602
707
23
493
778
236
893
376
84
423
684
342
293
751
993
36
486
881
973
737
812
320
592
242
378
769
52
613
285
278
568
679
788
877
723
614
889
164
818
440
553
146
251
878
590
783
156
516
4
26
875
917
709
882
28
540
450
133
143
875
725
711
390
74
178
781
119
461
453
755
17
616
875
518
248
835
393
25
396
758
145
137
935
119
587
58
916
209
462
959
318
747
673
312
242
461
380
86
831
841
358
235
573
520
570
355
916
136
638
382
668
284
711
547
898
23
479
986
84
936
445
524
657
83
138
283
917
877
299
354
806
851
418
817
609
551
170
626
201
725
454
196
934
503
584
297
836
718
447
136
298
19
565
208
28
448
159
851
970
893
10
688
772
268
225
412
729
436
63
388
335
998
624
764
221
511
741
985
578
35
625
548
604
694
563
80
743
175
822
137
690
375
657
790
880
888
856
186
784
410
946
387
663
201
441
177
224
488
445
970
448
379
759
486
380
560
638
614
23
365
701
930
754
108
299
505
778
349
980
124
928
674
782
927
650
923
670
864
353
680
78
586
280
16
742
376
275
772
669
290
94
211
544
992
394
689
427
550
781
294
105
652
295
1
785
121
994
811
289
119
567
149
179
441
69
899
571
640
721
342
504
221
87
401
151
152
852
668
254
559
676
828
34
968
246
137
729
0
464
622
459
118
144
600
886
366
473
665
225
802
5
310
874
982
78
846
918
594
580
359
648
558
275
684
141
797
394
84
996
254
412
349
599
220
459
719
911
937
923
353
692
769
718
557
906
815
801
90
369
921
323
55
514
715
279
186
864
742
151
22
574
694
426
597
724
882
625
403
815
109
861
409
856
808
350
241
361
203
49
949
843
994
554
473
717
761
764
992
235
102
764
458
2
405
924
886
424
236
627
733
880
688
820
295
431
158
1
960
737
910
955
796
803
766
547
31
603
622
527
399
5
633
892
72
94
237
698
894
455
802
567
953
593
39
654
299
959
554
435
766
795
546
962
610
703
606
746
865
377
626
411
235
463
824
444
356
108
142
166
882
126
681
337
132
964
102
649
283
956
470
934
14
200
195
870
255
646
970
251
123
500
319
223
206
387
394
873
497
43
764
778
373
46
814
623
991
369
930
285
877
910
970
351
410
413
523
247
416
654
333
352
321
992
530
865
891
278
253
208
272
132
192
351
275
120
198
730
725
239
887
142
332
349
168
191
951
226
802
233
595
203
945
84
9
192
778
159
553
149
348
218
715
582
251
760
90
763
789
54
868
293
661
95
135
561
752
578
87
585
897
280
738
496
614
79
361
780
346
148
757
643
353
67
918
313
532
717
75
211
519
771
202
220
449
758
634
993
723
256
478
176
76
806
532
996
247
954
11
36
603
151
21
894
254
872
120
977
168
582
681
779
970
599
88
210
940
284
748
896
157
519
143
378
92
272
480
519
652
340
844
74
381
493
831
978
586
609
490
221
882
899
550
685
215
22
857
959
874
910
404
168
979
921
684
400
396
123
164
308
679
552
340
999
291
720
526
850
379
336
63
514
173
718
844
828
152
384
503
751
93
609
848
408
7
682
308
64
361
938
382
469
375
817
581
813
611
179
304
571
163
678
53
64
999
857
238
114
64
422
742
651
122
983
82
918
901
95
500
300
296
124
498
616
83
92
884
973
511
747
163
758
918
901
327
105
745
524
270
205
208
506
102
22
601
26
486
597
48
382
502
487
871
890
22
662
401
417
101
85
124
71
697
98
424
266
278
792
268
39
799
610
559
539
49
483
743
924
55
18
452
544
776
631
594
976
743
40
66
847
325
484
411
487
581
798
988
587
136
735
731
233
942
541
727
954
448
755
274
300
756
881
374
171
983
26
484
355
968
246
479
506
668
871
85
384
821
830
949
87
788
530
213
364
447
358
851
980
91
523
259
271
157
874
490
956
282
553
798
292
559
33
280
825
218
512
601
839
826
781
705
652
639
394
164
642
861
421
232
937
918
5
135
447
384
650
574
712
905
838
14
268
933
376
65
252
157
460
268
638
581
914
811
346
973
702
223
40
988
64
215
773
511
762
694
834
917
218
519
421
383
886
976
628
403
877
11
68
535
812
731
167
879
217
394
660
565
313
721
961
952
580
143
912
435
163
722
936
527
485
771
342
465
223
125
577
277
785
543
182
695
384
51
827
990
879
568
688
255
958
467
777
838
299
499
743
312
130
500
606
585
459
655
231
697
799
151
645
178
718
244
848
178
332
491
361
933
913
128
924
863
379
980
188
874
897
244
436
33
15
842
575
369
480
352
748
486
870
422
774
79
781
690
177
642
133
43
304
619
129
258
458
12
499
802
927
301
500
850
777
98
10
738
766
941
431
888
334
265
635
794
435
829
64
84
316
493
434
216
45
790
777
836
475
33
271
638
183
799
279
603
241
772
984
772
16
215
984
766
415
968
77
266
790
189
82
833
869
695
308
681
587
819
939
38
301
394
745
452
945
4
433
50
917
187
440
541
977
754
827
741
849
572
747
218
602
802
151
9
454
396
240
235
210
346
765
47
606
132
556
508
279
804
866
580
581
541
610
147
295
432
972
169
38
61
695
605
825
189
416
77
226
817
730
238
393
385
601
631
796
846
136
691
828
207
26
374
287
423
742
642
999
687
372
394
595
384
645
388
356
5
153
256
489
592
534
209
933
814
534
777
51
599
270
522
545
583
621
700
964
201
495
154
439
525
405
672
962
547
577
407
593
960
333
395
509
379
798
715
706
83
884
919
434
950
764
504
835
653
340
281
107
121
8
746
742
402
389
710
29
826
679
503
974
765
73
546
14
828
464
727
836
960
472
145
654
211
264
58
760
602
942
68
973
538
834
23
545
540
313
535
211
284
890
639
632
809
44
264
866
80
256
537
652
867
236
103
124
42
171
247
480
629
793
307
131
625
897
43
78
594
144
353
855
183
629
238
893
317
159
632
876
493
384
554
448
739
891
363
936
268
898
581
395
530
247
823
624
809
23
403
765
181
698
665
304
450
465
529
388
303
513
275
537
464
284
273
974
785
918
20
645
906
605
836
388
689
705
737
128
136
789
19
572
910
389
547
591
502
501
13
779
138
652
297
883
692
315
601
623
684
153
616
307
720
526
864
105
388
862
677
153
213
248
276
279
521
771
524
661
593
950
954
170
6
464
518
37
862
998
480
28
173
881
832
848
106
406
626
758
596
654
205
108
319
382
314
633
948
140
994
452
26
910
74
740
868
817
272
861
137
374
308
960
618
185
363
722
660
979
586
377
118
824
700
274
185
85
947
417
459
70
106
640
432
985
579
660
840
275
307
596
70
910
518
940
810
968
351
36
807
734
718
724
636
672
136
11
453
121
954
236
491
546
580
785
996
601
959
175
297
622
982
871
242
266
122
906
114
1
370
433
493
191
834
560
327
846
62
398
22
470
598
10
781
7
627
509
482
864
997
681
187
18
737
85
549
412
44
655
611
957
539
865
419
995
867
772
217
293
523
475
557
100
374
229
919
346
859
733
985
532
495
578
591
442
965
165
170
648
961
507
245
965
424
840
705
612
773
753
710
256
14
120
479
18
748
701
123
190
251
681
857
798
90
386
975
37
150
687
943
129
86
773
627
519
411
358
408
814
842
636
343
120
128
146
903
935
9
801
520
783
827
314
741
497
548
921
647
648
130
667
863
817
488
479
735
824
713
847
204
433
43
875
949
413
378
532
372
8
749
282
707
732
205
407
414
885
962
276
14
578
751
166
778
203
185
99
267
107
309
443
613
625
787
322
988
523
495
588
761
975
304
409
152
512
233
497
100
914
723
558
35
758
923
920
599
6
692
165
192
869
238
979
450
306
73
915
677
132
73
704
509
542
28
399
151
867
600
34
447
628
348
39
403
913
90
953
642
638
933
936
329
443
982
25
934
597
477
921
764
116
391
125
915
707
488
313
720
178
195
154
589
215
972
18
136
302
430
214
281
826
531
624
252
843
144
525
453
569
976
479
522
186
223
575
909
360
92
888
718
937
189
476
346
477
942
701
125
914
192
600
73
882
680
910
267
418
857
245
305
763
239
609
534
243
525
919
168
841
764
265
141
791
812
849
360
900
94
377
793
206
766
90
311
267
670
333
905
102
175
394
24
466
735
219
952
243
360
648
83
270
550
470
509
995
303
879
262
14
969
450
692
848
972
766
727
436
13
127
698
291
830
221
440
406
708
885
165
692
926
93
545
755
386
313
267
613
360
672
795
974
332
531
440
480
564
210
785
508
928
247
120
931
520
111
496
335
800
195
676
714
624
531
914
107
534
676
288
140
145
517
280
453
638
714
204
807
871
316
277
449
598
678
48
140
264
895
971
799
414
144
974
110
753
633
146
881
502
595
950
179
841
594
852
953
150
23
13
269
480
835
133
716
323
208
839
229
765
5
961
408
530
929
338
390
476
7
369
116
506
745
112
363
381
215
296
614
756
156
381
273
968
413
921
836
581
41
141
434
38
419
846
521
543
916
59
9
949
397
905
831
432
468
330
771
968
875
468
32
355
704
330
142
989
490
885
110
908
484
94
668
702
336
972
61
713
777
799
176
902
203
834
884
166
88
584
686
907
343
839
442
584
418
562
915
974
127
617
181
655
723
160
991
771
958
183
831
104
882
827
879
268
876
534
825
503
462
314
781
858
532
587
102
760
855
174
301
242
755
499
176
262
737
890
562
541
969
830
233
150
655
800
771
432
51
553
661
2
445
357
49
257
462
772
94
126
15
290
119
313
898
452
165
7
745
396
918
639
89
705
551
655
103
81
777
937
53
99
383
559
402
84
408
204
371
462
658
338
553
193
60
665
808
668
155
916
674
312
184
853
610
54
393
203
322
584
971
573
679
548
7
366
96
588
59
334
917
646
8
663
258
886
11
371
128
757
548
877
247
600
288
308
418
7
618
737
254
446
181
770
817
67
987
699
205
471
499
945
444
118
359
835
686
237
87
54
413
910
35
146
351
539
115
860
427
14
617
57
179
580
584
756
678
504
781
763
102
975
317
694
914
68
568
951
43
288
16
664
805
507
140
677
664
930
158
926
115
616
444
756
826
189
614
406
549
593
849
68
89
473
148
978
843
386
246
671
578
990
280
141
206
19
361
86
817
780
50
4
416
707
536
478
80
909
453
161
890
716
447
232
456
922
745
903
84
658
448
25
25
57
832
306
489
311
405
785
554
32
660
551
100
222
916
614
440
239
405
962
633
13
220
610
600
211
710
668
728
528
661
555
952
230
313
361
667
829
522
476
82
36
887
165
79
659
346
257
599
890
991
951
926
807
928
456
136
977
112
43
24
780
618
302
545
930
655
525
69
193
157
143
362
571
620
433
336
104
333
684
601
177
564
453
712
993
702
4
746
99
444
556
480
21
223
416
206
185
813
976
359
379
371
497
435
444
997
386
106
984
173
868
566
787
34
295
847
938
733
353
313
301
326
111
208
711
690
740
632
768
429
6
0
509
341
940
376
851
307
829
581
122
801
177
517
478
359
235
589
676
34
794
82
317
82
915
24
640
325
427
364
362
191
309
773
508
490
747
490
373
915
579
72
539
581
126
744
565
837
416
276
205
131
953
125
964
466
579
384
692
947
645
545
394
746
970
190
398
792
261
804
900
981
990
991
854
692
630
555
246
992
464
445
730
86
442
315
447
426
78
704
46
855
797
950
123
814
665
964
73
262
878
636
375
847
571
669
501
611
515
57
235
763
134
311
566
12
353
934
777
122
937
427
196
132
807
791
334
693
74
342
694
462
280
767
221
395
164
274
77
797
233
427
419
180
839
273
110
368
575
989
534
555
79
313
414
99
858
205
611
424
768
572
481
798
378
639
495
282
456
379
303
658
19
725
55
420
974
133
193
607
627
564
756
313
743
947
864
736
957
192
447
120
150
340
298
553
652
613
522
817
722
589
358
341
996
660
758
703
270
301
286
759
108
930
937
610
726
675
194
252
95
103
848
659
331
31
883
746
574
517
808
61
463
392
190
91
940
97
53
928
154
435
523
650
544
865
648
551
138
44
741
710
982
40
480
181
139
698
312
685
604
985
857
682
417
14
727
425
987
478
246
92
700
675
905
417
873
652
568
997
82
383
597
457
574
136
322
875
731
35
170
388
689
354
404
557
477
310
576
794
272
472
505
114
45
83
1
2
302
949
802
989
524
219
259
566
182
362
836
410
868
961
110
651
753
376
501
955
57
448
474
404
668
791
146
640
517
517
208
455
625
289
13
117
337
474
730
139
729
953
257
609
52
329
269
428
443
834
156
405
51
873
716
677
126
132
33
949
343
343
895
837
811
403
272
15
213
858
430
783
711
640
436
174
419
940
781
193
411
758
732
578
975
530
855
239
44
340
871
43
613
179
597
748
973
739
237
891
107
931
925
724
908
400
804
599
578
435
359
108
681
738
147
954
573
501
961
34
552
236
446
213
876
960
658
928
699
316
106
839
858
196
328
278
400
68
1
56
712
567
174
810
865
296
898
956
264
757
716
173
19
524
795
682
131
519
70
984
980
599
408
714
789
601
737
98
907
163
262
635
687
146
673
455
519
614
617
62
997
573
466
161
700
506
82
395
176
70
711
476
964
485
781
450
342
332
696
236
826
856
53
601
172
841
795
530
547
982
834
467
112
21
518
630
672
338
520
450
280
887
346
618
241
171
682
453
42
540
383
799
892
503
697
527
939
625
702
779
389
905
347
638
804
20
685
6
184
447
449
49
627
20
444
700
359
860
393
167
393
609
365
524
136
866
656
669
820
633
67
97
627
413
361
901
315
313
799
2
233
244
956
867
625
25
873
433
227
106
807
365
978
411
822
315
462
300
67
338
499
121
466
714
464
260
894
128
158
195
991
368
880
375
524
513
711
114
725
200
846
527
383
219
541
231
784
801
926
698
163
595
29
896
117
182
508
798
114
252
518
2
676
412
456
738
626
970
615
527
917
547
742
461
325
665
74
895
474
361
590
36
673
91
575
66
197
525
394
372
699
455
438
559
916
13
829
429
985
891
729
726
73
732
156
328
894
466
246
11
402
127
751
491
990
969
672
81
979
446
641
350
934
12
144
472
428
637
930
803
19
41
388
259
341
630
153
720
760
207
583
554
343
328
223
188
508
538
500
845
551
218
324
465
966
556
555
860
829
265
5
337
457
472
864
326
5
46
476
420
776
80
243
460
438
412
50
132
978
641
900
24
386
803
891
436
161
263
918
260
984
460
271
735
123
712
159
240
472
900
432
950
806
528
951
704
4
186
688
752
483
401
500
125
651
172
131
531
502
242
721
186
657
134
489
207
243
458
641
923
738
800
311
158
767
666
404
666
930
488
722
603
321
418
52
323
347
510
522
921
60
120
844
766
565
777
684
182
271
809
897
125
206
208
122
926
605
536
190
595
503
287
267
506
815
364
143
930
19
630
479
817
599
730
908
147
844
649
499
295
689
423
752
254
530
54
134
779
108
244
345
790
170
922
56
174
61
50
445
673
623
491
878
272
354
128
103
876
749
381
857
756
918
301
636
837
58
758
528
967
534
858
105
676
109
329
454
133
983
246
403
270
988
141
28
518
365
700
575
418
11
257
168
849
828
440
415
4
298
358
410
237
863
344
454
411
398
716
570
710
530
327
643
998
136
133
153
287
92
275
233
944
516
528
465
526
837
366
551
268
171
702
130
101
998
647
585
87
429
826
614
617
169
381
982
662
163
538
833
324
357
915
679
848
779
249
291
526
131
630
43
263
587
589
31
822
479
776
881
550
851
336
848
604
283
718
244
775
310
130
441
550
962
282
967
433
197
45
839
690
747
628
637
736
105
169
577
137
959
920
58
704
207
466
96
422
127
761
922
767
17
622
884
339
139
269
27
831
62
356
746
17
131
795
595
432
331
377
86
213
709
852
720
217
53
77
159
896
568
624
612
763
212
379
280
698
604
960
299
878
817
43
216
432
940
616
114
712
909
312
797
890
417
279
192
861
869
192
851
979
24
63
346
31
490
989
946
193
668
162
103
151
679
823
41
649
717
454
362
295
420
53
705
78
109
846
925
55
387
866
441
326
546
825
106
735
795
754
460
454
65
577
55
49
288
805
191
693
49
495
783
564
479
650
945
631
615
311
88
870
757
880
662
587
922
752
491
61
545
800
218
50
120
307
253
970
453
476
774
64
312
480
400
46
446
654
338
190
319
492
945
497
897
511
663
665
323
459
387
612
504
834
968
143
524
944
186
538
671
508
122
704
630
124
812
506
851
518
827
421
186
426
168
801
775
121
313
839
42
515
966
469
551
474
670
977
612
433
909
945
28
999
550
312
528
494
814
677
587
193
413
388
966
579
829
153
391
814
373
749
251
970
443
932
617
524
641
957
474
315
919
319
158
316
463
294
155
131
521
610
693
766
946
887
358
84
580
462
317
422
216
968
718
192
785
33
379
153
427
965
588
406
975
157
916
976
928
842
714
19
197
852
815
717
301
431
607
873
667
139
630
335
655
731
605
813
623
799
690
551
722
447
444
120
404
549
518
117
121
297
206
837
196
718
488
186
193
33
79
477
753
92
271
731
229
938
978
305
808
653
863
243
319
687
601
302
111
771
44
888
427
897
105
325
855
420
967
579
251
389
864
421
742
623
865
585
145
666
112
397
643
827
231
964
860
188
461
631
900
880
940
371
189
791
690
801
45
387
612
386
159
683
53
332
716
122
927
814
735
970
304
524
580
89
816
402
104
305
569
191
243
682
386
116
6
731
11
526
713
433
284
672
284
110
539
566
591
810
790
976
467
177
342
899
538
31
42
23
226
595
878
576
549
618
181
217
136
357
862
639
667
418
266
174
558
395
692
723
787
561
711
856
397
361
244
843
920
282
556
227
657
525
562
90
837
323
48
989
886
258
788
771
4
536
404
738
978
715
831
488
540
59
929
804
379
829
252
332
124
697
784
922
658
821
335
592
189
855
319
305
841
372
873
842
582
931
877
64
170
869
727
776
175
763
17
712
804
258
711
320
25
639
223
491
403
371
965
774
33
437
624
488
445
807
451
646
536
439
237
418
170
442
536
444
658
937
249
691
689
742
716
327
870
519
476
221
547
874
461
276
214
639
951
882
139
391
683
871
263
933
686
453
959
185
704
357
100
753
407
113
969
335
160
750
784
116
253
135
955
892
67
826
372
947
116
194
969
916
501
203
586
317
373
147
305
210
144
929
57
830
606
404
135
186
55
221
747
850
65
753
147
802
936
178
569
419
836
420
872
187
756
865
644
184
725
63
438
119
359
158
1
52
347
98
130
10
596
624
900
503
466
336
458
674
433
163
151
565
828
316
965
131
189
349
808
472
247
316
285
8
452
740
893
521
438
636
14
675
175
413
886
613
505
988
653
981
306
172
761
44
969
332
986
132
331
258
249
758
146
988
84
120
205
371
832
581
722
663
881
452
625
401
959
552
409
936
726
745
539
583
455
474
270
214
179
399
821
394
490
655
834
910
487
981
817
253
173
515
289
451
57
824
441
610
111
55
876
670
657
535
572
456
764
945
936
468
677
686
18
203
654
882
97
830
410
249
701
35
255
327
333
598
960
561
79
80
462
838
151
157
425
32
869
255
850
765
430
315
189
862
365
386
51
546
267
126
518
971
110
953
136
971
36
478
463
418
900
196
287
906
927
336
293
801
112
328
468
985
581
122
440
798
131
957
205
898
711
263
149
653
276
18
999
196
624
541
154
616
346
866
178
582
810
393
190
247
961
686
592
533
399
790
568
98
507
531
920
239
113
766
629
250
704
626
720
956
938
553
360
710
526
189
266
458
247
928
445
134
231
313
125
216
522
730
590
821
580
659
519
757
251
544
700
915
248
321
591
991
784
921
41
613
418
530
671
592
804
938
526
974
101
576
896
287
387
305
697
560
81
599
894
31
639
625
927
3
573
367
838
787
635
361
820
873
505
244
773
338
904
561
183
93
821
573
620
398
426
918
595
562
215
772
112
870
958
69
345
928
688
407
873
754
212
876
808
792
805
885
579
639
508
398
714
995
404
102
306
95
655
498
745
761
211
267
137
918
846
51
342
870
696
43
460
243
429
742
507
749
8
373
317
84
577
444
965
331
848
102
867
925
614
166
367
11
410
568
301
814
434
804
942
165
980
967
52
250
868
703
130
621
574
607
695
861
783
893
528
711
175
475
57
825
665
990
933
670
925
271
959
534
957
290
368
818
858
26
909
428
677
558
464
10
188
859
118
307
985
887
218
4
507
520
52
875
966
938
901
666
351
479
196
355
819
719
349
863
664
27
224
582
317
981
97
953
445
89
575
925
243
649
311
561
522
795
253
378
240
27
252
564
581
366
330
601
814
522
73
497
273
87
425
161
99
264
481
63
170
811
371
138
623
147
582
272
363
682
821
399
210
622
431
849
295
674
477
457
639
821
234
636
997
297
370
905
773
67
375
722
994
878
161
929
292
256
301
142
222
607
228
616
620
569
440
663
592
988
374
39
536
909
634
332
390
213
407
487
467
93
118
513
212
288
388
303
664
675
408
485
480
763
340
636
754
242
229
81
706
424
821
799
305
769
646
391
638
488
875
289
584
815
502
155
133
981
641
370
581
526
993
574
789
78
154
599
446
636
458
382
936
22
692
893
383
692
412
125
291
298
633
107
98
849
823
801
960
769
604
1
94
787
381
604
850
362
113
551
931
154
439
822
264
913
456
426
433
15
692
19
496
190
556
529
377
161
456
479
567
132
933
937
625
400
530
798
505
735
406
311
669
279
632
729
481
635
426
748
340
42
28
797
40
46
150
913
617
880
330
361
147
551
306
855
148
995
634
292
515
803
633
846
679
827
816
784
847
686
621
228
767
496
756
699
150
904
834
194
308
743
358
131
86
529
367
577
228
389
941
283
351
425
303
597
7
759
767
400
605
255
296
766
696
758
932
589
465
355
307
179
392
465
853
391
573
804
740
92
748
969
372
879
820
981
445
349
461
618
750
521
14
394
359
901
670
398
781
677
193
77
122
235
177
692
955
105
22
75
424
795
526
529
140
833
791
308
487
110
810
268
43
642
562
445
706
232
969
57
533
685
967
448
215
114
445
437
323
858
422
210
313
360
450
22
631
903
519
706
12
856
899
330
77
275
636
743
349
577
834
514
726
685
326
269
419
975
541
477
957
191
582
78
897
557
483
79
104
251
715
172
55
887
31
736
225
24
759
297
398
921
733
981
683
899
626
709
320
890
564
326
571
973
636
199
0
566
764
405
918
131
500
805
721
402
338
106
328
65
127
929
244
48
838
411
789
518
282
381
912
147
930
453
193
622
669
140
736
844
369
817
155
391
585
393
959
223
927
550
841
650
281
730
1
993
760
224
583
48
405
16
415
620
443
990
68
139
377
72
117
148
859
617
838
161
491
863
755
731
231
981
163
960
658
204
655
340
314
56
108
765
854
995
550
807
763
764
420
131
41
530
921
65
415
94
485
843
506
5
853
873
389
367
454
234
330
333
977
822
532
629
897
650
991
772
769
981
400
391
17
287
344
672
352
327
552
480
533
366
68
41
788
958
18
573
70
488
645
967
991
807
950
991
158
394
271
46
813
164
526
65
8
921
523
776
847
546
927
942
280
993
7
704
29
905
448
439
226
114
852
753
436
612
495
453
943
527
485
513
243
989
9
906
922
841
806
442
585
461
970
453
477
259
325
26
429
119
697
730
560
182
425
187
577
241
87
652
597
703
727
306
0
664
65
72
800
881
816
168
149
657
370
457
673
654
818
578
196
681
951
178
581
121
704
520
792
491
236
239
943
263
240
365
435
614
132
957
905
243
226
990
959
694
433
70
482
212
530
952
468
985
925
894
286
576
819
93
529
634
374
535
402
714
600
634
82
124
695
734
734
288
415
76
581
461
759
607
350
23
454
858
685
117
383
958
266
102
876
691
865
740
748
161
967
632
539
985
934
601
842
28
522
516
208
159
335
802
227
165
486
354
229
174
479
410
278
2
546
833
253
295
694
622
621
707
185
798
486
155
17
365
449
643
282
621
804
458
435
362
439
887
54
895
660
183
448
506
378
928
978
220
566
217
304
21
238
128
169
317
400
466
913
885
601
14
130
100
547
58
801
630
333
281
996
50
988
703
434
660
509
673
551
282
97
422
349
793
896
582
592
732
926
631
152
981
741
660
892
364
979
961
120
169
306
362
616
118
504
356
77
804
605
121
928
559
866
183
53
908
547
835
172
452
576
311
599
641
173
900
49
265
656
778
202
873
274
366
984
599
298
723
703
39
665
645
120
701
60
346
627
607
556
895
717
491
223
277
858
247
726
3
657
851
680
337
936
503
506
914
275
898
378
801
280
310
169
224
186
486
435
582
756
309
734
108
576
678
155
731
696
347
523
590
616
315
738
896
832
540
20
617
908
705
279
489
485
865
428
642
592
924
170
491
9
31
695
727
770
231
35
584
934
127
964
263
986
244
989
922
51
288
656
955
589
563
575
328
221
995
619
766
950
884
678
174
695
922
868
898
828
862
342
34
909
934
32
861
839
521
438
500
161
734
639
689
832
339
950
421
570
909
519
59
698
932
64
562
971
301
403
382
818
213
63
97
165
730
445
558
693
593
176
587
731
118
251
544
943
288
358
54
998
783
335
528
793
15
380
522
729
174
489
927
384
245
905
841
89
655
289
158
607
88
114
503
359
831
185
210
686
469
186
71
322
866
662
131
321
701
286
635
295
243
273
385
787
642
653
193
362
501
384
172
852
866
830
375
884
949
819
377
83
771
678
306
899
416
733
46
251
726
327
641
858
468
986
896
967
896
372
786
561
158
684
625
661
301
776
573
607
931
788
319
663
239
342
209
999
809
530
301
675
894
7
219
116
891
532
163
895
670
474
823
604
784
123
836
38
876
497
723
867
319
916
367
98
340
409
604
218
278
193
572
598
172
494
767
799
905
922
978
675
299
359
62
542
467
653
33
660
901
524
463
934
308
620
375
721
741
443
694
207
966
801
173
719
0
349
78
126
660
401
536
86
537
693
500
606
270
713
982
523
565
789
636
717
971
679
4
210
100
667
46
132
533
936
22
622
538
533
458
404
214
211
600
401
797
494
504
963
95
94
408
982
530
646
512
477
910
69
844
430
705
314
945
441
149
479
385
429
799
857
419
726
428
903
268
409
636
498
881
346
990
660
216
429
266
683
568
509
484
615
323
773
385
493
880
994
746
218
940
17
870
853
20
3
208
32
637
111
851
485
229
596
645
508
697
673
643
450
192
171
650
295
349
989
847
375
340
619
851
652
559
407
994
896
806
388
376
688
475
399
449
323
17
655
157
857
482
836
780
221
447
700
987
703
109
7
966
610
208
230
57
69
807
622
815
570
895
521
68
576
770
637
200
934
175
915
474
593
649
148
959
869
202
932
52
969
896
116
582
929
827
750
854
845
289
1
101
890
292
189
343
374
632
604
420
416
969
37
233
42
108
359
196
372
555
187
448
241
747
516
933
378
218
94
200
694
609
41
741
847
227
821
837
880
694
482
579
496
372
132
903
832
340
851
877
890
88
955
899
932
611
452
541
943
62
268
332
883
500
130
720
677
584
291
319
797
190
258
218
748
475
855
529
248
920
821
27
254
775
730
26
573
583
803
901
947
89
492
40
161
686
642
199
850
561
830
569
817
776
152
564
528
976
974
798
152
263
78
752
207
696
585
512
16
88
396
855
502
30
646
889
341
637
414
124
624
740
132
502
8
928
375
538
0
980
530
879
909
500
554
796
626
394
951
181
965
58
264
796
857
391
577
731
11
269
149
665
386
978
602
91
871
639
753
729
282
594
729
993
428
791
799
473
484
953
339
618
460
864
181
367
48
15
636
901
253
562
146
117
564
410
14
273
871
223
70
514
110
165
150
346
795
202
562
711
447
899
873
25
595
884
24
670
395
329
763
885
831
8
222
5
884
839
367
910
746
242
705
944
263
984
440
602
78
384
209
907
676
650
667
840
405
124
836
660
627
479
749
772
71
922
301
84
347
905
898
549
448
243
632
66
571
487
183
486
772
520
160
836
613
24
390
360
893
935
320
524
84
190
859
919
657
837
820
922
576
773
810
330
606
131
37
645
777
773
992
776
884
196
152
503
5
812
133
323
636
453
262
476
484
888
650
797
608
686
807
636
426
518
247
877
93
512
896
948
414
335
485
527
739
886
282
830
622
840
363
713
705
675
539
260
31
745
93
8
653
784
232
247
712
474
967
486
736
299
437
44
981
595
384
262
181
56
22
10
150
192
840
141
732
368
832
83
807
538
489
633
437
644
412
222
281
782
347
401
436
348
996
606
155
253
515
172
640
859
2
321
955
583
818
60
192
858
609
800
498
195
564
203
16
441
792
471
474
36
507
565
196
322
924
865
188
964
635
605
59
912
139
995
889
218
47
120
944
559
671
955
755
222
899
51
508
786
602
678
958
625
14
818
210
273
196
380
958
411
0
892
707
190
769
122
300
856
202
206
20
933
882
387
650
384
617
654
543
240
718
40
315
364
896
979
51
796
530
769
23
215
812
179
204
141
283
210
924
604
733
337
72
952
586
710
985
853
122
502
492
573
544
275
165
325
912
721
115
397
393
383
152
620
311
737
782
213
55
513
296
652
281
953
546
627
217
581
821
195
943
327
758
940
617
280
389
512
147
615
906
962
939
366
969
511
13
628
530
658
499
841
900
566
618
934
109
288
944
499
271
776
223
253
569
841
491
822
335
915
441
669
171
521
908
191
514
132
560
103
810
6
288
648
809
419
517
294
966
956
586
173
827
851
550
959
664
821
62
433
870
486
217
720
764
324
378
225
789
656
84
871
765
605
389
511
117
281
646
874
644
34
291
631
572
845
156
302
87
724
497
848
605
588
458
716
474
29
240
16
344
404
402
988
322
577
817
667
247
128
931
746
840
428
830
54
778
814
336
797
117
808
943
684
143
4
780
557
643
766
688
246
877
820
693
331
784
11
306
873
596
739
771
239
370
614
181
372
280
107
437
697
965
772
872
769
441
345
27
868
658
165
818
514
216
627
911
636
491
551
138
328
515
9
447
664
998
282
58
111
119
566
538
661
901
782
479
704
483
502
145
834
731
437
473
646
586
664
621
726
326
922
190
951
994
482
606
803
983
83
591
484
528
745
398
506
148
396
1
299
774
997
257
374
92
608
572
610
653
645
776
829
944
278
924
376
482
278
3
347
386
311
420
531
621
847
209
592
950
278
127
975
238
414
645
742
617
522
669
581
435
273
162
500
872
114
885
601
453
89
666
221
460
644
579
211
339
321
172
687
982
448
549
715
740
423
119
138
392
97
731
957
323
676
83
754
451
953
390
115
691
899
109
710
704
485
229
674
978
280
892
437
304
450
401
611
758
649
926
101
353
226
936
631
531
874
421
143
851
48
775
174
138
477
505
734
925
493
291
621
111
924
81
75
263
784
653
294
114
760
18
315
749
60
931
736
886
518
756
778
833
755
100
373
331
305
964
382
188
267
592
225
547
274
542
153
460
91
471
568
404
422
944
787
709
108
123
990
8
984
308
852
137
700
461
750
406
676
407
816
513
190
191
295
946
241
247
547
700
283
978
352
400
395
726
371
470
531
160
94
973
756
806
712
293
345
670
802
53
171
323
953
366
541
242
923
486
109
163
156
750
740
804
224
547
240
884
867
689
940
624
563
630
695
800
204
0
561
666
40
474
912
436
561
801
296
470
675
778
917
968
73
615
395
72
398
664
897
438
264
847
390
712
550
487
674
856
72
583
585
936
351
554
558
239
385
663
636
143
263
118
917
877
677
202
275
543
156
222
698
223
34
78
125
757
286
505
279
292
448
694
33
92
7
576
150
459
93
991
628
489
715
592
75
838
948
982
611
801
434
833
46
19
35
368
593
662
308
164
276
750
672
87
639
547
213
137
664
82
277
919
246
75
793
153
279
579
824
97
746
302
474
315
91
633
513
373
454
907
428
700
80
434
782
743
454
983
649
220
108
28
179
485
515
35
772
499
887
893
573
549
409
351
324
570
9
370
983
221
879
412
355
480
207
245
769
136
429
412
693
641
190
507
55
213
308
936
858
636
161
200
195
333
263
254
638
186
2
292
856
321
198
202
217
231
886
990
538
224
755
99
972
918
856
307
571
604
201
719
336
654
97
633
772
949
944
171
720
656
513
813
720
230
759
586
568
189
865
139
1
507
445
959
468
317
287
160
47
542
367
661
241
599
123
368
87
886
731
175
491
113
922
659
192
294
601
77
187
95
246
724
307
589
27
918
721
697
8
125
307
910
442
479
956
822
438
548
573
394
645
500
932
910
211
213
777
93
439
815
314
873
310
425
505
76
814
624
533
839
322
828
935
26
697
696
520
195
189
860
849
73
364
829
171
754
308
745
802
66
187
876
638
309
855
275
47
750
676
819
514
273
708
936
204
615
698
142
448
868
720
374
957
669
773
699
162
200
728
641
937
240
358
42
589
525
129
687
81
527
116
616
765
494
512
934
736
37
149
156
297
759
287
261
217
40
391
351
141
116
798
606
401
19
287
229
491
692
533
873
15
818
972
96
400
659
424
643
518
800
531
697
14
23
517
309
9
554
644
868
703
645
225
389
144
795
66
248
82
819
573
334
154
842
490
781
147
476
256
998
435
785
345
397
349
472
235
113
400
812
946
58
698
929
57
581
189
894
864
152
361
97
451
12
905
190
912
277
710
581
507
182
446
501
581
112
201
84
564
65
87
616
870
547
66
150
656
895
575
556
627
510
553
876
382
774
158
85
254
137
679
481
937
99
671
932
362
900
52
244
803
763
660
111
383
456
225
558
1
534
920
844
688
953
9
438
347
506
208
94
378
415
900
128
917
524
338
283
773
121
721
360
886
503
388
814
253
541
177
756
911
834
654
339
282
122
634
25
304
404
856
960
258
188
751
942
838
239
954
61
609
363
148
785
865
698
99
723
361
680
544
231
294
951
342
893
951
319
665
863
321
236
817
357
531
229
914
934
705
672
64
290
968
390
769
165
279
109
861
117
963
484
772
298
589
884
918
112
618
207
512
798
615
548
350
467
142
628
73
247
786
218
435
914
19
394
535
289
477
196
468
49
503
363
934
414
192
202
869
841
498
68
354
942
855
380
650
601
57
900
859
868
459
646
813
642
883
212
385
112
843
786
791
221
586
282
465
548
268
622
328
643
480
962
167
512
603
885
356
706
228
558
47
682
69
134
916
983
27
994
339
186
72
748
422
752
859
253
205
519
805
662
807
178
668
224
249
943
524
212
459
688
488
322
126
127
987
920
231
613
366
95
378
648
390
779
335
868
360
874
157
291
66
78
420
999
376
811
356
259
968
321
153
789
968
961
229
768
787
754
893
893
477
684
132
534
989
515
913
273
642
657
534
281
420
450
478
155
90
926
820
750
922
851
274
459
660
362
232
607
666
335
349
635
661
764
623
393
553
392
216
248
870
48
501
348
262
996
404
147
902
87
193
440
864
277
158
629
202
555
606
13
609
494
553
611
767
742
407
748
867
911
144
705
432
355
971
208
24
686
942
112
910
171
260
122
359
76
951
76
642
567
880
176
367
438
49
368
919
897
666
864
403
593
107
756
602
755
540
557
845
753
405
176
942
400
386
617
626
27
913
273
239
548
670
699
593
724
745
792
819
512
186
890
72
788
133
35
676
367
280
638
436
738
102
87
554
515
444
248
561
81
380
491
556
649
629
285
418
614
996
555
437
62
739
380
508
140
688
993
356
874
934
336
793
479
180
610
742
50
650
486
112
444
813
858
256
862
825
94
642
441
772
496
533
542
230
924
659
67
89
204
562
261
765
337
22
721
22
224
521
87
728
800
309
68
491
574
200
878
252
102
835
441
749
300
964
608
507
952
18
313
256
925
870
755
852
128
740
922
448
895
214
591
989
626
936
150
80
582
659
848
86
400
909
378
719
973
485
383
249
349
486
145
609
455
111
439
440
293
987
822
598
207
87
720
784
830
656
216
776
334
10
228
422
467
558
855
203
407
179
577
86
699
581
915
622
871
746
263
243
703
913
659
331
570
845
524
894
74
97
394
975
811
954
723
845
450
924
447
930
504
958
431
989
669
146
142
795
668
264
702
76
425
160
983
761
161
607
580
327
852
15
753
996
199
876
459
302
920
127
190
142
836
801
692
567
453
581
137
937
455
892
794
349
703
944
677
734
294
558
643
236
75
642
787
954
693
610
357
372
979
618
385
383
740
280
778
601
245
945
186
224
444
704
769
338
893
380
152
442
889
273
450
845
320
891
373
488
831
709
33
679
48
323
549
320
512
362
545
30
211
921
782
705
87
238
312
249
719
126
342
815
91
197
685
309
32
317
71
624
263
850
874
204
732
21
466
81
201
693
907
908
235
642
189
398
984
816
18
482
571
794
664
811
965
960
754
959
526
401
481
452
314
201
0
964
107
943
885
854
880
484
776
580
940
25
973
976
782
682
69
334
416
982
883
897
549
779
514
671
537
984
233
406
947
597
744
0
208
573
749
374
406
909
273
204
714
788
90
628
432
313
657
687
26
593
845
310
87
678
524
623
668
152
157
174
185
722
360
334
792
501
475
431
817
604
515
340
374
768
971
104
23
426
878
296
619
35
596
130
110
839
712
631
459
393
20
538
451
394
495
100
936
201
52
58
578
204
358
138
289
507
562
916
45
532
486
718
904
583
840
281
653
521
765
862
542
47
83
41
110
922
585
905
736
531
458
951
92
173
557
433
168
415
220
658
183
387
711
639
369
770
694
435
270
239
728
573
473
257
199
95
874
320
542
511
254
834
612
313
773
489
806
175
475
0
612
94
566
863
809
85
699
780
409
80
534
945
908
362
560
979
988
41
648
977
223
129
464
580
674
395
778
194
279
348
706
295
349
847
682
579
314
915
87
121
275
44
320
833
175
793
442
664
906
87
592
33
767
215
631
539
890
306
580
78
221
306
935
137
604
260
554
400
920
152
986
563
388
188
342
962
360
205
173
150
373
200
515
664
23
812
229
983
123
546
17
869
24
739
3
527
602
385
142
947
651
485
997
782
190
808
220
418
203
192
144
776
935
175
853
562
819
370
556
492
11
117
222
441
214
904
189
491
160
252
376
172
920
475
696
21
901
781
115
846
805
734
300
481
226
855
727
768
413
12
130
722
626
377
222
113
146
264
820
1
484
977
527
372
38
581
227
518
522
531
150
271
350
427
209
420
84
655
296
994
707
951
228
281
397
537
537
772
894
680
49
445
614
637
635
384
662
343
372
659
947
188
272
290
943
299
516
767
766
982
895
956
23
623
351
42
742
440
26
590
3
421
559
707
163
69
211
145
243
72
929
438
19
275
223
158
142
287
56
603
166
992
572
734
195
771
545
952
415
607
524
96
490
997
837
168
528
778
823
722
208
764
342
22
271
887
977
281
121
417
911
732
197
843
767
73
639
169
966
438
721
372
690
880
2
33
51
409
416
45
646
740
434
402
173
282
163
58
644
143
752
907
444
482
205
892
757
291
957
579
969
823
570
822
218
411
985
530
542
340
115
350
543
281
762
818
465
925
74
268
495
850
548
915
72
726
417
974
826
697
637
642
729
131
950
194
419
859
837
684
748
14
613
471
513
148
175
461
352
655
155
554
386
872
967
257
544
851
825
779
882
135
614
830
537
849
140
126
429
7
621
160
584
511
745
850
94
766
932
564
666
108
794
613
344
371
931
110
291
873
958
228
160
884
805
260
589
523
775
15
496
640
149
589
862
285
500
605
946
429
321
224
821
6
704
757
597
359
312
611
330
391
20
172
851
161
235
485
625
618
761
530
900
337
526
248
736
923
126
440
185
962
582
123
397
130
56
621
967
75
233
203
147
979
542
649
359
660
743
655
850
961
992
502
282
678
523
239
651
932
73
532
23
391
700
895
566
450
669
300
524
39
266
717
556
175
484
734
4
963
799
769
688
21
755
242
704
856
729
780
779
751
371
771
333
966
947
781
368
483
590
843
321
111
220
510
440
562
16
572
762
848
25
22
172
110
378
465
464
942
360
545
148
716
927
708
401
72
499
426
56
495
866
980
41
300
917
108
817
980
145
790
913
944
97
682
480
873
475
957
784
176
623
626
74
660
311
553
608
47
525
362
86
507
529
959
386
616
450
162
740
875
866
877
293
34
889
940
650
568
592
922
306
996
44
205
462
333
846
986
953
549
867
674
402
142
54
444
337
966
297
130
990
800
572
213
828
591
403
427
404
456
979
993
566
453
110
962
682
44
247
453
961
32
805
783
500
816
768
195
72
976
641
557
867
734
64
775
695
401
321
507
441
590
31
201
786
344
209
909
940
724
499
85
384
210
613
283
600
428
500
703
755
644
290
285
383
294
478
763
315
646
26
828
542
982
932
502
203
344
207
87
720
87
498
152
208
874
49
472
122
279
436
783
848
683
913
690
238
302
674
576
774
324
52
499
157
875
471
292
179
326
262
891
377
608
987
378
261
579
822
231
728
840
970
717
247
146
808
784
159
756
828
408
49
962
255
935
742
14
344
59
462
532
281
311
1
616
596
970
645
908
403
44
789
135
471
206
703
33
860
968
85
197
414
54
703
980
624
918
167
218
149
887
803
193
314
367
867
308
954
739
769
645
969
948
882
127
162
255
926
687
599
60
194
672
291
82
652
474
112
15
619
138
989
388
898
582
913
197
73
924
448
830
506
763
755
892
334
927
377
113
322
760
578
136
921
945
344
895
921
620
565
393
889
684
197
391
72
89
931
785
885
124
380
360
924
843
675
133
70
54
169
675
392
635
506
699
935
271
24
293
201
912
128
21
115
511
48
507
855
329
138
480
98
756
101
759
181
58
20
950
759
663
794
281
740
35
321
134
275
58
205
244
973
129
568
31
206
341
608
132
672
886
881
869
765
408
746
356
872
591
758
814
845
840
538
262
285
533
964
648
707
274
317
989
73
118
980
999
7
529
609
783
640
238
662
552
100
99
244
511
421
600
2
487
955
849
662
826
823
33
766
321
393
228
206
566
485
77
986
391
645
877
651
759
740
364
850
13
643
592
781
906
78
848
581
986
664
376
473
714
453
236
878
180
739
160
508
448
34
438
135
921
652
936
965
306
480
781
231
262
488
510
303
707
240
118
1
384
631
761
605
768
516
283
51
458
996
382
332
362
130
718
899
599
510
986
217
188
118
483
118
783
940
318
751
215
351
304
284
268
288
305
576
71
879
766
144
103
364
333
910
964
773
603
728
959
261
230
39
902
154
977
370
863
281
662
975
400
724
151
887
296
720
449
492
716
489
659
515
607
176
918
556
808
987
620
441
954
724
311
971
356
110
189
66
619
126
651
932
630
452
52
991
103
515
435
886
60
509
267
808
193
574
97
913
993
427
150
230
472
584
959
903
605
555
915
879
486
59
795
306
989
540
510
638
871
970
10
322
110
548
945
660
960
168
112
343
924
570
40
507
19
523
716
654
639
317
911
954
9
341
876
424
856
765
134
707
111
716
127
533
502
694
840
524
200
978
466
187
963
917
709
951
929
427
425
577
24
500
456
702
604
457
711
275
540
796
644
510
40
192
957
922
807
166
896
310
461
29
319
849
706
372
502
505
55
205
40
523
589
745
416
989
782
632
898
813
530
504
95
138
72
194
800
690
662
775
894
54
536
916
859
685
828
228
145
820
292
870
84
659
980
986
980
397
169
189
942
418
517
754
579
828
276
447
182
643
204
590
680
285
614
327
394
743
619
886
285
222
974
69
298
511
481
997
874
409
451
500
498
273
416
364
727
293
684
416
511
468
341
598
593
543
436
863
110
341
542
287
665
25
968
697
147
109
651
452
486
991
374
537
613
876
649
387
932
542
147
251
747
120
437
615
255
615
573
775
502
412
405
443
7
756
119
715
756
180
947
307
149
519
393
311
365
395
851
410
907
600
374
98
69
707
949
530
224
732
451
164
815
801
308
133
954
280
905
622
376
661
476
263
102
35
864
26
726
987
319
246
794
826
580
663
338
422
391
240
202
213
161
867
997
692
671
829
275
581
715
598
86
252
870
327
731
717
378
604
365
833
122
242
548
387
122
515
635
121
550
30
757
424
330
511
547
358
15
133
462
623
184
68
66
800
736
461
511
79
613
929
356
859
734
181
298
687
716
581
239
65
981
919
244
186
204
42
767
641
994
527
2
216
18
193
248
577
267
958
42
55
642
628
154
119
902
683
862
378
837
998
838
407
83
565
664
206
763
262
210
493
768
779
56
565
763
281
640
953
532
83
717
969
809
787
525
80
773
90
663
980
68
257
273
261
54
734
888
113
483
133
802
981
217
118
181
83
697
96
793
549
428
16
802
234
649
308
967
282
437
598
336
987
183
382
931
582
241
259
51
835
526
860
628
403
81
431
190
406
18
348
50
523
111
944
42
475
492
220
382
292
595
431
541
275
184
554
832
52
203
641
19
610
296
267
736
660
510
376
739
842
324
945
991
714
234
994
329
307
319
217
708
95
263
53
724
8
558
565
553
930
65
7
675
777
379
324
910
406
595
745
727
826
752
402
81
398
176
812
545
834
771
39
657
630
76
468
791
318
631
442
4
862
503
217
678
853
479
601
774
542
78
204
729
502
162
750
97
962
328
298
505
982
573
869
357
170
882
634
955
961
154
355
441
119
816
735
886
742
125
136
836
71
941
492
47
376
617
433
405
642
92
470
539
546
939
505
45
484
243
811
8
921
52
401
906
183
792
942
442
422
497
864
936
765
760
68
513
717
579
927
496
898
430
81
651
106
192
294
685
573
851
563
102
184
460
838
780
118
453
281
456
301
171
103
309
164
121
806
246
664
0
410
38
769
816
66
541
254
169
654
441
448
654
334
302
683
35
577
937
347
223
736
292
952
894
103
479
627
571
845
521
513
264
604
581
548
137
904
861
292
347
759
615
179
879
304
490
582
693
805
568
225
690
610
176
788
655
676
926
914
254
350
987
306
513
231
60
4
778
629
612
823
405
269
199
76
520
284
92
787
254
653
516
918
913
564
146
464
385
786
398
936
782
665
100
608
992
889
557
428
323
40
936
68
544
840
738
926
168
182
343
725
81
697
487
814
811
591
893
200
892
673
666
931
226
462
401
254
628
71
895
608
743
912
919
39
100
220
138
860
145
791
259
734
235
781
809
467
401
673
905
326
829
159
720
180
760
68
534
76
931
579
759
469
25
952
127
258
118
483
276
25
282
362
100
539
819
301
363
216
778
289
761
382
705
51
942
816
912
774
456
322
169
703
590
814
398
360
105
890
347
320
385
591
818
340
799
803
798
496
311
572
457
100
914
410
561
362
416
327
450
392
613
85
880
683
108
84
144
659
654
183
663
433
930
479
475
327
684
387
429
495
172
325
867
980
983
129
671
551
564
0
876
285
638
122
549
914
93
120
334
934
300
293
198
797
350
444
892
624
456
483
35
536
299
114
809
308
752
983
429
204
394
612
644
503
709
588
677
644
268
21
577
380
873
70
845
444
709
786
7
302
764
892
119
579
796
583
169
529
480
800
615
161
198
581
495
229
486
965
453
491
621
171
910
630
907
789
423
160
566
607
85
377
507
914
906
745
67
824
23
383
92
679
351
290
221
902
199
926
764
803
151
551
226
202
383
108
103
97
419
185
366
659
610
94
737
492
424
954
415
807
973
490
284
146
774
312
754
673
272
936
161
834
366
338
710
309
504
301
884
313
813
570
658
753
326
805
908
500
59
953
678
312
34
689
886
782
429
560
624
746
946
253
468
632
646
134
157
98
584
207
565
136
245
172
254
248
661
535
786
992
633
754
543
831
182
514
554
400
929
525
547
833
122
47
392
885
617
690
912
710
984
985
746
189
973
528
758
53
448
454
374
254
64
884
990
333
215
449
645
135
213
694
249
238
460
898
373
67
572
58
719
630
937
913
722
612
681
44
538
190
346
949
849
96
39
833
425
180
384
506
271
539
106
117
818
389
757
481
374
410
472
946
570
341
925
973
36
772
785
182
782
668
450
814
931
935
967
48
633
298
453
267
733
43
760
675
850
741
150
577
905
140
412
70
224
711
153
526
953
725
130
720
590
469
203
304
449
432
626
532
566
820
985
769
988
794
818
473
819
284
956
383
943
525
335
813
730
644
147
709
287
921
243
140
411
327
625
656
775
21
322
409
806
662
172
576
283
453
388
922
570
354
762
621
764
37
620
667
570
172
375
742
429
54
188
882
724
853
448
924
130
724
593
350
804
995
439
202
911
8
161
349
83
983
687
958
658
886
490
280
672
273
495
44
522
260
267
730
665
4
252
859
780
754
690
899
921
900
843
903
435
400
489
26
972
426
166
326
523
323
743
212
985
360
783
499
980
952
495
185
0
313
54
646
397
892
170
226
755
167
401
595
357
991
677
584
704
475
772
826
29
513
994
640
783
693
422
717
152
28
671
647
40
778
583
458
295
244
614
346
701
181
964
472
436
798
430
771
214
126
98
285
562
468
755
91
182
558
527
211
179
74
262
103
735
856
735
159
7
423
750
708
105
224
558
932
18
38
608
247
640
301
564
440
517
95
579
975
490
222
159
747
373
186
603
707
95
699
246
565
765
844
657
531
455
415
986
160
933
652
184
775
214
557
613
795
419
265
0
638
996
30
539
565
200
968
617
888
910
835
146
306
924
966
345
284
945
462
918
315
753
857
26
787
509
812
531
932
486
420
740
343
464
295
175
693
28
186
581
240
259
643
663
935
27
796
67
103
71
528
883
885
244
69
125
311
509
619
697
440
129
987
849
57
679
583
325
369
718
359
355
625
550
710
42
934
323
749
995
841
967
36
936
663
818
949
165
233
84
356
991
459
274
699
778
356
88
195
390
286
930
464
191
948
976
93
35
1
620
937
516
937
830
326
601
424
492
317
382
882
424
588
449
975
497
781
895
404
664
188
936
157
194
543
104
556
370
235
399
812
903
214
915
349
674
7
520
448
468
975
462
925
390
174
852
313
20
418
695
562
840
272
491
873
88
184
781
361
402
220
232
787
963
637
64
839
563
239
124
924
42
978
495
29
738
970
284
925
831
733
845
210
121
689
908
443
787
364
117
4
204
252
101
136
875
793
91
496
856
345
605
452
408
248
384
961
924
997
629
197
177
319
252
559
118
153
776
591
530
113
550
154
369
918
315
826
328
43
864
246
464
400
553
834
641
69
164
612
983
185
426
19
248
966
8
631
239
25
690
939
849
525
169
155
901
246
449
478
87
517
750
927
562
37
523
31
355
257
897
862
521
760
134
109
254
314
896
518
252
730
855
856
445
18
104
573
293
187
591
270
115
505
595
828
257
260
267
235
193
443
656
347
843
958
422
558
414
180
312
23
831
902
429
793
746
940
923
54
174
263
308
41
896
465
847
640
708
493
316
898
720
27
994
214
700
147
578
415
28
389
814
136
112
962
838
603
617
702
601
23
827
773
861
35
661
563
322
314
667
927
18
91
483
367
464
862
431
344
971
102
379
0
948
442
57
207
600
406
809
895
106
688
205
566
848
55
763
914
539
822
162
916
734
332
48
569
974
143
248
233
194
117
547
374
239
453
865
184
927
613
379
763
329
398
374
382
450
616
805
748
714
988
192
536
297
480
353
807
664
843
918
798
524
992
321
667
661
662
942
331
961
291
727
156
206
751
826
755
690
71
842
281
885
779
154
742
447
10
679
800
671
689
541
554
486
626
746
112
996
600
518
771
677
728
367
158
15
818
7
718
468
811
87
898
548
321
665
646
462
653
837
427
738
559
991
988
764
967
437
125
614
942
441
930
859
230
374
33
692
727
173
331
354
687
933
747
114
542
795
72
639
774
359
698
754
486
250
627
250
11
975
993
605
336
621
542
615
320
309
920
209
917
464
887
275
937
576
325
287
1
66
132
76
641
63
156
795
420
674
352
547
159
455
836
216
75
430
952
249
678
60
124
237
387
891
218
983
470
56
805
932
691
418
393
229
926
12
189
871
314
53
682
712
329
962
192
393
998
255
323
34
64
664
415
821
623
429
933
768
738
996
981
532
556
681
392
219
583
313
538
448
341
811
618
785
378
668
305
166
462
24
621
6
674
293
827
960
172
456
689
699
553
590
721
40
119
659
985
264
757
983
131
400
769
841
702
987
377
858
691
778
414
808
553
426
774
744
153
296
386
296
311
370
628
216
491
366
523
155
697
352
184
744
699
135
341
898
959
226
565
342
573
595
388
676
895
309
285
755
54
539
590
844
167
74
102
819
676
913
720
375
47
701
56
928
17
433
389
512
650
151
405
575
310
223
198
682
247
746
368
468
952
736
478
740
28
151
154
764
774
805
25
742
414
346
120
636
177
266
0
576
379
789
979
248
78
454
432
73
620
659
217
21
949
604
464
592
506
760
155
177
165
469
157
891
956
234
479
676
131
675
811
536
295
400
65
936
889
806
12
964
651
620
408
785
172
439
640
797
430
673
529
533
194
588
986
421
549
71
286
698
15
461
204
119
454
786
435
944
444
582
700
623
290
226
195
725
280
232
415
91
157
871
574
932
331
181
646
866
644
519
271
336
92
199
815
957
941
373
504
305
342
990
365
293
796
341
745
592
825
653
642
128
885
69
737
202
578
702
860
896
309
390
453
189
650
387
454
827
784
804
970
168
288
366
755
833
722
211
40
190
774
229
332
501
827
206
502
494
644
352
675
545
552
606
765
900
371
634
671
399
608
825
797
275
637
3
985
55
294
195
882
491
244
371
559
97
139
38
342
82
827
750
211
812
57
439
884
48
256
618
848
869
162
21
173
516
21
202
786
524
338
696
116
844
19
365
577
406
524
656
788
77
806
721
551
127
49
216
230
939
948
843
578
541
84
34
92
143
147
616
496
143
586
419
734
959
819
345
91
966
589
373
170
533
398
679
391
374
278
847
755
333
717
159
320
810
166
754
362
41
152
640
449
612
509
978
41
259
301
320
314
864
611
294
895
409
862
37
389
813
317
568
206
390
117
110
650
658
860
644
386
788
114
120
251
216
57
105
35
883
594
786
528
882
948
765
539
31
693
716
475
100
0
57
224
971
538
540
319
477
167
606
841
770
494
314
943
77
512
348
623
508
548
879
608
313
280
934
586
838
796
387
721
745
174
937
711
331
355
332
554
301
446
286
689
696
215
475
723
740
804
112
495
9
119
28
53
454
116
993
418
37
167
187
809
752
591
500
789
376
344
659
953
747
655
394
446
678
690
944
968
438
639
18
99
109
264
69
623
554
3
461
41
361
896
954
494
857
597
390
265
113
431
737
139
898
22
272
803
510
411
670
106
93
468
672
500
356
241
621
489
342
122
213
931
917
696
892
775
170
8
884
469
807
146
242
706
540
107
817
210
722
161
797
936
534
13
945
955
371
152
803
887
936
808
158
788
172
198
577
604
213
35
121
449
363
397
509
278
329
962
543
919
599
253
663
88
67
952
459
810
697
180
652
973
499
466
637
352
653
140
250
78
979
746
477
881
91
601
325
509
134
714
698
370
718
244
562
140
920
652
887
848
322
495
339
823
491
871
315
190
898
92
384
67
970
935
418
381
540
188
262
390
663
182
54
772
969
412
254
831
431
823
982
229
634
350
880
406
129
923
191
551
596
136
463
167
81
158
362
21
592
541
166
711
217
888
810
521
48
409
800
523
976
195
458
241
262
230
81
6
555
311
931
978
90
407
494
269
365
144
121
626
924
230
271
193
720
871
390
618
785
522
955
692
516
587
457
610
844
371
266
983
554
83
248
607
66
449
493
223
437
346
845
87
716
956
862
359
766
489
665
435
272
612
96
392
105
929
1
509
682
934
975
879
2
613
212
570
943
709
240
629
307
614
65
806
948
179
306
258
212
155
696
488
345
372
998
99
86
663
665
80
769
920
286
700
292
991
649
918
867
963
46
406
989
994
821
289
864
109
52
76
579
801
476
282
281
596
7
777
786
412
560
871
706
146
162
385
411
67
619
998
674
867
595
900
233
18
814
601
353
867
106
979
862
560
167
288
657
196
989
967
415
582
450
676
137
688
573
27
119
78
257
711
35
579
639
35
594
867
998
344
949
265
353
655
356
966
401
764
734
427
494
906
120
330
318
838
237
867
659
802
475
552
215
835
164
109
454
521
88
55
17
697
735
311
998
466
205
822
428
205
140
73
787
67
311
55
586
776
603
158
481
233
699
666
923
326
245
131
463
715
277
600
806
463
803
680
516
944
707
205
194
196
268
224
874
590
540
726
514
937
439
175
578
364
806
166
416
366
319
433
634
61
632
183
7
355
901
618
127
93
623
935
745
306
269
894
26
562
548
90
723
336
141
113
386
687
203
898
466
519
368
187
297
948
42
934
916
709
519
522
511
164
64
821
804
559
844
314
976
397
263
102
666
734
855
247
589
470
716
953
480
11
392
384
240
210
986
359
454
569
693
641
0
806
673
392
714
37
837
770
336
902
716
821
877
138
492
293
430
425
913
840
75
938
87
707
540
871
479
12
852
682
858
3
100
877
667
31
639
104
350
649
698
139
840
946
388
68
224
406
314
822
563
195
450
169
308
997
542
563
533
394
529
538
319
992
800
452
294
958
31
706
798
504
490
345
946
367
646
455
49
329
184
288
180
438
791
827
317
88
451
266
493
876
987
701
554
657
185
818
315
755
719
696
996
385
463
161
706
278
504
510
106
771
85
913
334
493
357
102
858
804
883
267
646
143
814
309
193
9
71
868
927
107
915
791
332
824
23
555
186
902
665
408
524
793
679
80
875
830
522
541
870
889
574
985
603
404
179
134
358
407
149
130
844
949
398
669
410
196
218
341
530
69
18
857
585
645
978
168
909
707
381
182
275
390
160
99
292
564
923
235
227
78
652
604
831
112
448
512
143
110
110
751
600
119
617
949
436
767
521
313
283
371
437
93
667
400
831
31
651
153
940
174
784
850
581
525
758
210
324
437
210
95
529
752
663
17
729
898
688
320
727
669
13
220
889
553
343
153
599
299
675
742
627
87
791
789
136
52
205
663
100
254
854
699
937
824
435
420
825
213
308
473
244
665
982
653
499
970
926
849
659
332
53
539
550
680
727
96
626
968
325
619
378
504
384
186
410
980
243
338
637
705
526
358
632
341
697
994
632
477
147
279
760
559
927
653
418
211
459
889
888
422
865
395
283
864
547
598
902
364
680
336
312
65
452
775
266
195
134
349
697
986
574
460
54
313
178
178
676
612
321
34
162
724
808
980
343
702
849
731
642
815
532
541
284
208
36
663
476
895
529
278
776
425
59
574
808
843
967
419
951
81
757
784
142
122
971
759
292
933
761
524
667
656
604
649
446
507
434
198
758
780
203
940
683
181
392
521
568
132
614
129
126
285
979
840
252
645
352
354
36
393
153
685
730
262
861
638
469
107
209
523
289
305
505
541
783
23
929
905
675
997
79
444
87
797
924
460
678
190
708
411
508
584
596
334
641
993
35
266
838
157
452
332
557
946
397
823
760
441
88
920
225
588
42
143
845
138
900
282
16
625
746
723
617
57
944
30
448
410
484
638
204
25
195
398
261
932
877
482
332
109
436
42
897
443
656
812
10
802
188
684
270
997
412
670
880
673
375
187
883
431
831
274
49
51
724
341
4
441
204
188
260
907
154
11
921
15
961
446
619
732
231
855
402
318
336
702
890
776
126
712
738
204
139
17
113
891
321
274
668
130
634
268
98
179
876
760
177
43
537
387
561
926
752
897
481
352
297
455
192
852
497
951
782
316
395
885
471
681
829
81
899
62
508
23
426
401
587
241
611
100
331
180
571
746
730
51
428
997
15
561
75
999
204
37
723
467
691
977
605
670
333
905
651
202
920
623
126
256
635
800
957
857
878
243
865
810
622
125
213
716
8
825
185
119
445
3
564
73
506
958
746
949
647
28
652
935
39
277
467
697
471
84
759
243
22
113
692
116
16
806
786
646
612
803
543
371
634
482
526
491
42
425
466
108
323
435
919
349
435
405
887
663
85
573
130
662
691
148
716
214
76
986
755
175
419
912
301
55
982
952
546
991
543
562
113
953
327
374
738
91
487
479
460
741
858
319
123
197
74
581
161
956
87
923
85
845
907
230
980
106
610
841
928
612
877
802
39
93
965
708
700
215
482
476
215
928
841
454
311
24
209
416
119
787
299
533
941
116
961
437
194
79
201
297
886
167
854
11
324
263
261
734
559
420
519
142
110
636
901
449
351
341
924
37
293
590
112
530
977
115
683
815
91
673
845
551
364
105
562
340
698
29
200
935
453
525
553
453
30
161
729
699
365
987
551
812
913
76
146
456
837
506
925
7
467
756
770
416
535
680
230
463
621
362
992
412
18
844
714
194
794
149
78
651
993
137
236
146
185
757
831
864
104
399
140
770
682
604
885
987
755
813
27
272
717
241
410
194
175
109
648
786
899
629
928
793
180
900
82
424
674
853
291
530
972
533
15
367
194
381
567
865
909
453
546
594
635
824
974
397
832
648
566
375
844
881
327
612
520
156
737
152
501
489
582
914
331
905
19
714
535
629
403
424
57
33
340
886
896
406
349
242
986
356
870
219
794
669
304
45
489
26
33
879
122
67
799
922
266
768
239
294
851
357
487
606
77
60
911
548
973
232
866
25
430
208
155
50
428
976
827
435
931
266
755
6
891
717
93
751
804
232
264
881
442
350
433
115
924
143
933
270
232
214
343
282
707
371
82
552
81
83
489
877
294
911
554
440
329
832
288
71
623
901
706
407
980
549
64
141
729
339
880
705
932
109
917
368
684
607
774
748
635
985
273
94
262
502
408
865
122
62
200
962
413
693
394
824
723
554
634
481
225
72
512
929
736
804
926
278
707
1
242
164
690
192
447
773
644
957
279
201
591
890
31
412
891
275
617
624
270
57
3
293
875
693
918
699
973
935
143
594
874
120
267
649
368
318
470
134
939
560
260
983
510
343
392
194
557
411
482
704
556
715
612
359
997
42
137
54
858
205
105
679
394
40
720
111
243
16
583
846
838
992
367
496
109
263
306
621
247
844
431
352
406
880
916
132
925
880
192
143
959
672
795
73
765
494
216
888
139
412
393
735
192
790
730
780
867
79
714
51
67
49
879
630
911
323
550
466
15
929
250
776
340
971
631
104
454
126
322
828
489
856
2
650
736
180
852
984
473
724
14
434
798
178
206
314
843
373
957
878
566
557
504
800
834
435
679
733
777
672
162
682
87
650
421
298
19
885
273
399
638
332
812
5
599
193
463
818
62
767
538
879
526
832
664
43
817
384
277
905
847
237
141
170
316
796
800
969
253
545
648
141
729
766
489
899
68
452
6
540
518
568
691
601
833
521
900
975
67
3
959
877
806
606
996
89
330
919
392
861
658
910
780
648
325
921
49
639
577
701
30
724
67
973
100
497
655
469
287
642
282
379
831
981
955
463
646
323
879
426
197
106
839
307
353
18
536
928
920
979
959
768
595
177
847
790
250
996
289
225
305
47
615
207
141
569
57
814
761
440
241
3
883
609
803
330
695
990
927
842
757
364
547
737
751
801
249
886
969
474
15
593
563
224
521
18
94
274
958
30
973
998
948
32
913
779
503
43
475
223
915
339
440
606
32
788
836
769
55
885
423
499
246
794
848
298
6
676
260
943
204
83
808
500
724
76
776
710
367
891
211
549
583
792
242
108
95
54
404
166
988
16
884
76
216
221
272
805
975
81
182
527
132
736
369
630
171
488
530
897
107
733
954
132
967
282
431
646
61
590
890
286
356
670
8
0
648
741
380
782
736
7
348
447
874
38
172
412
324
814
652
372
38
386
966
314
292
217
283
297
464
768
420
872
834
969
773
514
565
507
251
476
622
440
663
368
212
956
538
201
951
351
942
34
264
311
415
863
273
686
316
205
395
35
874
307
269
669
530
498
124
112
10
804
226
765
157
823
902
427
472
376
239
714
78
597
244
576
550
958
384
538
70
715
274
617
276
606
83
821
500
783
262
673
360
259
620
345
21
770
660
591
672
623
800
201
352
95
449
948
741
689
502
819
548
442
194
568
392
246
281
989
409
80
294
737
373
912
76
100
584
856
975
900
13
232
637
774
821
392
827
328
762
117
314
177
619
82
402
944
888
52
301
560
940
478
494
515
894
841
139
222
50
492
641
744
719
613
184
385
709
617
885
756
611
367
156
164
6
353
771
536
83
249
677
110
610
67
453
243
375
973
769
981
460
209
817
73
310
798
485
965
333
110
323
995
581
659
290
704
413
383
444
232
4
853
365
405
54
249
814
445
924
787
728
999
337
390
496
565
846
733
461
144
776
673
614
805
902
277
148
659
462
9
822
488
61
841
83
721
296
994
175
501
467
614
790
621
335
804
862
268
497
803
343
149
415
261
926
148
909
777
590
842
984
911
878
228
536
769
608
472
862
761
622
427
330
465
556
466
454
111
186
825
815
208
619
399
887
817
808
81
176
280
110
604
990
796
496
419
344
513
875
624
188
368
913
786
47
104
392
477
640
161
394
700
938
573
564
515
438
988
809
743
140
544
635
855
835
707
616
241
920
229
672
115
257
293
92
863
650
96
730
951
398
351
448
695
276
536
224
911
44
727
441
222
554
524
830
186
341
375
113
5
661
253
388
254
149
790
148
873
190
640
430
109
849
745
730
997
454
200
529
97
124
714
506
2
317
301
873
253
636
158
202
200
115
950
847
822
995
667
223
579
833
239
213
674
339
523
630
681
328
444
110
495
255
963
300
58
171
786
331
446
746
822
836
60
369
459
139
369
436
672
469
616
770
972
391
792
81
115
255
709
254
94
185
807
537
932
424
444
257
741
316
779
383
573
284
684
792
110
666
655
650
940
66
737
48
636
63
732
596
542
442
195
749
617
245
394
695
146
915
585
775
967
509
810
232
177
36
756
295
192
756
797
17
550
910
899
223
256
165
444
430
377
76
509
873
749
834
72
160
446
911
373
987
695
879
808
889
79
413
657
405
311
454
473
741
542
557
176
575
541
658
19
1
544
438
765
844
407
822
818
721
863
273
444
498
376
505
200
7
42
696
379
598
896
315
281
209
938
529
700
948
834
561
720
393
61
468
648
475
920
725
470
900
167
563
2
657
933
468
809
398
467
439
89
894
212
98
828
34
563
220
443
856
302
260
226
511
611
83
907
429
194
776
779
807
713
715
495
201
609
282
284
292
616
684
657
961
712
238
689
903
724
557
459
704
918
944
441
559
576
726
239
809
516
628
615
705
905
819
903
152
845
291
20
673
965
759
300
197
661
812
863
129
821
478
67
996
599
879
595
458
303
143
489
197
79
742
671
479
973
260
578
727
991
22
975
416
553
914
853
636
162
452
916
714
184
182
157
987
430
415
729
747
538
719
10
474
308
4
443
539
94
196
506
315
463
153
828
934
641
380
683
711
33
513
689
933
293
825
930
92
926
526
763
483
584
890
71
626
688
22
805
97
208
961
353
350
150
623
158
458
66
144
110
870
425
722
975
70
994
13
367
158
243
624
301
859
312
244
497
453
893
104
115
822
621
672
433
121
677
447
36
700
743
531
521
500
688
409
290
890
390
497
299
36
944
998
243
401
29
836
280
168
776
880
602
49
241
827
915
445
354
883
669
937
14
687
309
948
876
650
271
167
142
774
86
931
111
366
461
704
203
281
843
448
129
863
238
955
748
818
597
988
813
378
32
401
193
794
198
865
213
540
763
828
826
360
24
868
432
774
436
969
857
631
450
256
196
606
924
931
113
607
957
375
82
372
695
825
463
7
407
576
545
995
913
446
730
945
405
435
766
296
201
562
980
696
38
536
729
933
527
343
273
62
949
426
391
369
432
681
924
305
540
978
612
107
23
878
780
56
477
209
84
201
86
76
317
625
197
68
691
989
177
138
635
343
100
440
843
197
604
768
329
751
896
963
656
758
934
331
723
125
447
858
929
971
956
56
450
195
899
254
267
801
46
921
416
709
944
493
720
410
447
427
58
618
988
754
333
555
52
558
841
242
316
451
823
920
498
209
996
483
698
765
800
589
235
47
544
298
698
663
903
867
111
580
337
686
708
33
785
514
795
668
507
506
472
418
408
761
224
708
700
866
452
755
439
216
52
266
844
874
496
375
868
374
175
497
751
702
332
278
668
282
752
199
389
581
214
632
98
511
31
600
948
467
60
247
169
698
622
785
500
388
148
402
459
30
869
895
935
505
935
139
181
400
555
757
158
197
990
353
351
13
56
521
606
211
279
726
419
406
321
75
135
255
222
200
249
228
259
352
218
905
851
303
907
286
578
707
125
19
131
73
795
497
902
91
549
652
311
254
639
362
870
182
551
424
488
527
236
477
337
865
432
781
526
50
654
892
835
460
468
894
131
889
603
746
789
170
942
450
796
753
391
5
444
996
842
585
81
459
897
615
216
393
450
778
908
88
365
865
815
193
490
216
315
541
235
802
512
664
335
918
339
574
240
730
920
944
327
4
815
693
724
972
55
284
78
994
481
183
699
957
991
728
737
632
376
344
927
355
745
454
683
247
610
371
891
319
2
832
50
219
879
365
691
453
655
905
578
195
743
322
843
329
92
479
512
464
649
205
197
550
295
962
681
829
387
712
665
177
617
11
640
438
95
150
877
961
250
245
854
470
563
517
840
574
314
78
254
176
637
481
666
213
271
127
727
957
311
789
375
553
740
503
766
476
255
621
888
17
83
656
602
961
767
76
285
186
230
682
454
635
424
805
984
27
231
833
122
519
919
210
546
58
988
147
830
652
308
244
8
732
301
991
539
272
836
814
275
382
824
228
637
123
882
186
458
474
256
881
161
615
848
994
308
601
919
154
277
796
82
509
800
34
721
521
946
630
751
655
70
246
36
553
705
182
603
922
739
565
324
68
429
690
155
667
817
566
774
944
254
223
888
872
435
939
296
579
203
996
250
887
522
589
364
528
242
30
590
924
553
630
715
741
143
431
95
921
598
223
385
194
643
63
692
137
40
14
570
210
640
662
76
851
986
467
748
297
937
443
96
724
383
174
42
481
435
702
393
635
49
821
563
239
243
119
800
926
270
796
61
739
169
999
962
815
920
782
968
546
741
105
182
266
889
50
979
860
586
249
704
754
582
951
863
411
501
16
700
827
127
398
301
570
764
455
806
687
159
608
574
451
802
747
802
483
294
540
974
876
129
302
672
882
809
363
694
414
682
624
265
117
168
333
407
282
158
446
177
11
374
495
77
900
488
564
440
854
789
787
388
26
338
206
768
73
488
468
450
204
372
438
442
626
631
347
211
653
467
461
419
456
576
71
786
453
219
826
727
734
406
730
420
191
134
189
248
400
333
65
953
707
739
371
821
932
934
700
841
413
549
875
371
739
429
459
971
674
179
562
910
667
348
322
287
851
945
225
163
898
532
92
281
695
201
137
226
394
443
442
45
194
477
952
71
769
883
289
928
410
492
842
661
875
212
793
591
326
292
90
504
350
722
193
949
231
943
530
86
979
451
271
265
303
289
421
94
658
615
947
585
432
153
911
61
439
869
88
575
184
142
14
633
856
943
793
677
743
94
327
918
22
697
660
923
280
78
811
874
74
761
721
798
466
805
707
685
628
368
258
501
79
130
673
491
183
703
137
24
249
348
96
59
101
288
494
510
474
427
638
131
201
31
989
27
450
240
882
495
766
882
316
226
251
419
61
652
940
52
437
939
708
335
706
615
331
850
690
564
586
221
411
889
918
867
534
441
16
795
268
861
458
907
123
790
918
135
336
638
715
194
87
766
490
281
537
677
373
321
638
713
891
218
1
789
694
292
706
797
127
317
437
34
212
410
419
249
323
335
262
528
930
827
36
489
404
846
538
668
799
962
283
467
893
968
102
916
736
555
467
70
652
208
905
979
473
391
554
121
53
346
516
141
32
718
610
577
370
704
539
628
308
286
947
989
743
152
443
916
406
349
751
183
497
856
116
123
607
628
766
583
210
853
840
708
468
326
571
520
564
488
590
915
984
372
807
716
719
837
590
939
632
752
923
116
737
879
417
968
981
785
725
624
174
290
298
142
153
152
699
280
934
698
143
842
947
739
404
740
793
808
236
442
387
682
542
29
570
923
167
47
344
97
201
43
111
596
530
518
351
402
213
615
677
150
242
534
983
201
361
423
881
38
328
887
827
334
416
635
837
965
939
61
216
654
640
147
719
9
157
469
714
209
560
652
203
113
799
280
273
101
919
718
783
635
685
685
449
380
179
842
23
241
702
317
161
224
202
489
704
590
635
515
97
292
14
567
52
923
66
147
467
507
921
683
745
67
367
270
579
796
892
899
590
281
776
410
167
489
494
934
509
694
303
914
625
289
455
240
579
254
250
259
810
931
298
701
903
135
374
405
743
304
768
445
26
271
73
127
348
226
384
854
775
525
916
79
600
370
195
171
872
859
606
144
938
303
345
366
137
751
436
678
248
158
908
797
288
85
853
51
449
485
835
540
458
775
816
746
856
130
191
616
804
284
213
271
23
855
953
66
31
108
429
915
76
560
694
497
885
786
812
161
279
241
806
359
193
213
62
919
28
757
810
557
377
375
828
321
180
412
335
129
627
962
491
565
398
775
729
309
778
320
636
294
391
290
332
544
11
429
547
530
252
345
338
204
385
782
93
966
682
851
901
478
943
179
228
938
27
606
635
526
626
305
272
482
772
223
625
890
1
298
135
498
737
339
874
472
712
887
114
648
593
871
809
946
171
865
59
334
674
52
615
639
266
201
82
221
233
163
262
262
234
714
761
171
977
272
355
510
200
633
222
29
429
780
201
537
382
142
599
599
999
995
522
653
390
249
249
695
141
159
954
687
158
722
131
11
841
76
760
927
328
637
278
226
311
110
578
57
297
404
533
112
331
193
597
575
687
855
43
774
754
382
400
341
783
827
5
642
854
719
515
534
153
275
494
859
668
162
21
364
707
859
815
614
487
482
53
974
524
169
973
993
535
825
880
968
723
183
227
860
522
681
924
945
503
229
85
501
706
284
550
375
871
916
116
920
864
877
126
293
262
866
256
189
734
388
485
441
7
444
171
430
269
406
17
744
336
530
199
349
589
749
158
859
79
720
199
397
78
92
264
615
523
453
506
763
381
655
163
363
579
361
92
450
180
929
490
128
120
256
284
754
143
307
671
36
464
458
38
419
794
641
93
638
166
377
934
695
605
964
752
600
737
329
418
785
418
136
270
658
949
467
66
153
751
623
702
109
350
710
776
569
4
741
349
698
726
357
202
286
384
668
837
560
30
709
705
284
955
712
679
961
370
641
236
885
493
20
188
988
46
527
663
767
110
863
313
140
706
922
945
356
852
45
233
355
657
22
550
899
199
948
878
790
850
958
75
481
43
997
221
628
622
12
608
544
646
910
459
892
525
350
967
838
18
546
756
964
156
322
31
395
496
829
549
814
900
889
538
78
340
968
862
663
260
316
767
389
74
58
892
742
985
7
872
113
462
787
301
713
82
143
985
577
886
659
990
832
874
755
510
915
327
580
913
142
902
581
965
837
246
112
961
926
444
400
518
877
663
366
58
594
733
613
380
31
137
774
370
113
937
675
529
653
467
953
184
121
34
781
485
929
882
190
285
73
295
813
926
618
756
371
2
280
356
561
304
873
374
346
769
999
808
53
569
267
541
66
610
59
139
647
876
401
474
214
983
88
423
594
233
884
24
169
401
543
846
353
571
165
871
729
464
836
540
312
637
812
787
432
842
178
340
935
254
136
284
339
801
614
915
298
112
514
500
627
688
994
872
335
432
971
238
44
321
470
70
780
403
939
537
486
505
7
586
51
47
541
540
119
291
988
204
430
257
379
123
709
345
336
432
593
744
482
871
968
940
78
313
558
18
913
422
294
836
565
174
688
466
105
243
707
50
606
6
403
133
644
489
277
187
79
161
873
752
899
987
716
989
517
646
962
104
400
161
197
161
794
182
137
665
619
551
82
565
158
942
659
797
824
912
196
62
330
22
541
172
745
940
20
844
451
698
171
439
867
675
117
906
50
620
582
949
146
576
901
363
284
270
197
156
146
325
48
979
262
398
276
382
504
279
38
750
974
131
432
804
882
214
259
941
229
260
764
382
184
816
513
440
794
723
282
724
252
835
781
783
612
832
719
858
32
42
131
564
630
12
385
830
265
623
716
553
560
227
921
936
294
508
839
448
262
682
134
615
502
702
448
643
64
779
776
350
280
236
220
888
995
679
930
349
121
541
953
185
611
447
730
553
334
953
327
970
986
732
880
582
91
304
646
606
495
889
126
880
687
731
285
518
999
969
370
920
464
305
794
449
517
338
732
285
481
941
107
497
235
71
270
910
985
391
598
353
941
538
385
187
840
298
767
226
93
681
209
568
541
781
761
937
171
955
230
281
571
267
560
290
604
51
718
826
855
897
756
145
462
257
33
720
237
925
918
110
901
367
464
342
974
817
479
806
353
792
746
205
680
335
845
220
21
897
198
21
727
771
573
756
657
925
892
911
378
107
752
708
233
622
168
271
809
399
160
499
70
95
137
208
472
805
159
462
939
376
147
739
155
341
226
330
609
731
651
346
890
528
431
521
257
28
55
74
145
786
732
423
724
378
172
614
913
885
922
416
800
980
213
377
859
732
523
807
739
514
747
24
122
799
228
513
872
624
423
629
816
192
174
549
658
67
705
155
735
47
564
13
404
148
441
416
644
288
945
662
153
339
706
19
563
577
199
392
271
229
957
399
784
584
898
737
240
234
311
563
1
432
481
662
294
575
113
644
558
278
984
303
121
40
622
20
746
478
938
195
496
663
885
426
590
463
122
560
915
806
283
923
188
415
751
288
216
828
212
632
599
756
8
899
120
104
926
651
489
734
131
181
974
773
632
469
202
205
160
984
285
512
176
963
273
890
748
152
934
757
883
300
985
786
57
757
519
676
890
568
693
961
498
250
408
251
681
750
379
226
91
998
555
479
542
921
552
724
454
297
123
452
131
551
857
280
430
13
779
430
640
192
275
414
59
356
644
638
960
781
861
157
368
939
241
86
847
722
505
661
45
192
234
119
679
578
974
498
422
361
604
298
76
594
254
31
337
296
198
944
382
805
56
991
448
715
256
940
880
620
257
197
371
66
443
828
351
964
205
945
71
246
276
825
104
597
282
368
644
983
830
387
385
980
321
226
880
497
473
844
238
583
7
255
605
281
397
695
198
190
577
643
390
353
376
562
788
863
88
51
700
134
319
651
778
671
102
408
928
828
721
371
595
500
392
919
438
643
81
496
694
956
939
426
635
120
963
167
249
903
987
676
400
720
622
490
709
234
523
333
205
395
212
135
168
850
880
185
443
211
886
285
57
943
337
943
470
657
700
820
162
744
865
533
850
614
941
80
227
492
83
244
139
574
873
856
593
807
268
747
609
549
782
455
968
851
870
719
240
974
187
554
529
192
742
690
410
942
547
970
206
110
810
63
443
153
544
563
111
477
859
414
319
987
303
606
733
305
920
892
536
834
366
967
576
474
135
829
17
215
159
958
975
157
485
839
54
404
630
839
450
309
360
99
746
75
1
396
992
526
974
982
787
666
558
513
738
437
860
838
73
919
220
754
74
379
110
758
225
754
208
551
22
211
68
493
504
278
680
566
974
892
919
359
416
290
341
872
818
894
294
159
799
721
825
43
993
428
350
257
24
553
599
713
580
787
116
584
868
669
171
806
263
300
27
841
887
772
807
11
325
834
369
467
34
868
712
151
316
660
697
317
373
925
81
160
367
901
939
212
334
562
537
44
517
482
675
625
513
958
983
344
72
51
913
286
126
234
210
230
208
900
278
293
639
291
331
538
703
546
306
334
187
788
91
245
750
457
629
741
551
163
41
449
965
6
258
407
959
735
944
135
793
21
351
61
434
227
474
461
871
929
238
865
703
901
443
886
236
418
871
320
974
300
936
266
784
439
302
581
585
293
311
405
610
680
753
210
144
120
130
985
779
691
973
670
743
307
347
719
625
833
257
718
731
999
555
755
370
545
65
505
598
937
262
411
449
773
172
651
793
701
626
271
614
869
835
983
10
667
107
67
977
435
377
262
439
282
63
669
506
936
902
353
724
909
858
695
733
499
172
293
656
125
785
85
809
547
627
206
844
363
135
280
653
609
766
694
925
748
359
561
790
422
480
632
858
808
875
825
37
452
248
849
948
658
944
737
318
312
571
393
118
528
504
773
536
19
498
949
431
91
924
651
967
193
559
914
142
862
576
687
968
220
419
366
116
570
466
570
813
904
324
754
398
39
431
733
664
58
313
935
609
761
503
464
805
585
194
251
932
799
744
747
16
514
813
894
267
1
914
712
705
454
65
946
605
728
514
563
92
737
508
651
874
544
767
981
119
729
92
144
712
513
478
109
23
872
625
639
362
726
700
25
798
62
192
363
367
515
103
921
549
350
469
523
572
934
665
699
636
727
177
454
71
697
434
279
50
861
765
918
401
820
340
75
279
918
880
696
414
277
538
857
497
297
49
935
981
487
939
471
230
326
550
593
184
671
877
427
447
266
786
702
60
395
471
934
301
204
579
803
231
281
330
71
270
951
141
329
934
400
478
417
761
425
737
888
835
148
216
10
330
959
449
190
897
580
605
261
590
92
2
846
907
64
177
568
325
199
813
350
360
77
434
138
832
667
914
573
699
803
1
826
77
360
837
600
265
228
868
313
213
869
59
546
651
788
63
649
613
873
941
576
680
221
528
209
820
447
161
557
282
707
758
479
575
770
442
477
870
967
23
656
966
564
922
187
753
566
603
816
655
697
260
128
818
342
657
638
50
606
370
790
825
824
762
213
769
847
825
441
851
589
57
959
636
429
82
719
380
194
895
694
868
96
528
510
224
315
864
50
29
11
753
451
940
349
45
298
342
456
82
928
885
638
972
704
701
893
228
645
916
472
322
191
194
459
433
287
545
54
78
49
253
772
903
958
802
124
565
466
372
540
534
606
954
827
8
810
39
753
129
100
130
512
460
10
404
865
62
562
501
134
873
584
147
391
428
192
898
645
37
312
976
802
608
632
691
864
586
340
246
242
686
578
137
992
358
330
581
288
681
416
922
150
145
894
550
494
202
978
21
675
898
540
351
666
279
621
802
889
126
761
326
566
602
597
768
699
488
822
938
103
47
97
693
946
215
157
884
992
700
534
230
355
880
548
250
865
226
127
234
339
15
779
659
87
969
785
304
499
790
514
944
921
774
935
594
981
95
35
948
995
735
411
366
755
643
105
968
484
504
580
420
617
263
395
853
457
450
579
80
298
844
171
773
353
265
708
554
418
889
893
174
759
800
535
478
375
326
745
444
24
822
44
775
378
456
122
921
142
881
711
203
41
580
484
571
932
873
666
638
579
306
709
921
272
178
935
867
590
903
135
882
828
890
782
958
435
319
292
679
933
979
222
167
202
31
368
418
181
546
898
588
57
741
100
76
275
367
781
271
843
722
335
520
158
381
377
979
647
282
288
945
11
423
3
687
609
187
912
187
641
868
143
399
496
845
351
144
767
315
704
840
738
317
588
48
401
571
631
742
995
307
641
833
205
784
214
347
791
358
947
288
712
942
793
716
632
428
424
811
966
270
484
845
333
831
374
905
971
401
73
123
816
777
715
264
45
208
440
160
427
863
871
907
270
221
28
600
146
649
837
630
81
927
352
927
922
375
333
365
218
151
253
361
532
543
220
0
841
101
877
569
291
276
800
174
472
408
687
389
120
226
592
438
271
288
860
574
247
448
744
147
919
917
890
555
613
394
801
818
605
780
655
199
495
428
700
370
923
848
620
395
925
896
316
391
158
490
358
109
551
463
704
979
970
213
525
205
924
592
625
749
322
904
458
514
699
679
277
436
84
122
628
894
226
609
869
18
519
147
211
503
507
494
68
482
754
258
219
315
469
821
718
372
641
8
589
201
637
593
172
692
853
738
442
137
25
753
694
859
4
863
856
566
911
210
869
603
587
178
629
704
817
649
2
712
679
648
460
323
480
627
117
242
372
858
167
129
166
930
679
235
118
306
717
377
978
743
736
572
862
68
524
864
637
366
354
283
987
261
922
616
428
287
993
611
904
937
3
34
620
237
989
914
445
786
858
793
437
628
474
813
368
346
199
994
427
616
142
255
634
123
664
132
22
52
217
541
828
26
963
641
809
133
669
327
102
384
367
831
941
741
950
304
375
538
663
898
566
393
391
766
778
577
941
328
261
751
991
299
348
986
951
385
843
445
687
901
543
934
176
647
741
570
116
795
400
311
44
948
439
113
603
339
157
743
302
598
511
676
315
320
749
153
343
862
78
613
461
628
129
550
974
106
222
620
953
438
502
378
801
403
916
764
267
458
93
254
92
689
302
864
387
65
531
17
584
661
509
464
285
751
349
267
888
636
149
116
502
752
66
572
46
679
307
519
812
698
98
14
172
258
360
107
189
858
949
684
567
13
87
410
405
960
394
445
879
453
587
66
640
339
676
582
786
344
911
405
375
483
981
828
949
344
466
742
692
147
943
604
258
368
579
572
214
572
104
811
894
51
642
185
446
777
241
15
530
762
26
961
740
102
969
562
56
200
174
92
880
753
232
322
693
19
653
273
647
815
102
954
472
458
888
117
274
304
240
455
627
409
796
713
204
730
697
463
279
601
452
586
508
885
739
447
816
440
666
600
121
98
149
142
479
714
888
125
128
311
747
697
59
675
926
197
200
682
39
427
491
231
436
699
106
354
981
8
610
678
467
960
628
721
997
160
388
889
703
350
633
361
895
831
414
762
554
290
169
962
608
133
244
625
300
34
185
476
74
21
446
94
580
296
604
792
274
838
697
354
895
137
784
100
870
737
363
948
988
0
526
779
645
681
302
668
872
98
878
54
25
212
385
634
528
490
378
955
9
759
344
282
751
857
743
104
36
400
771
572
705
270
66
637
725
955
187
388
93
546
944
688
706
380
155
758
857
169
704
979
376
571
856
953
708
862
454
963
662
95
176
869
494
695
135
589
599
245
924
453
891
548
570
391
698
389
901
327
488
425
478
246
279
867
392
994
185
995
998
806
836
61
381
762
559
960
782
266
791
868
750
800
651
489
762
444
875
886
216
82
198
906
901
807
637
561
697
208
627
262
964
236
358
83
864
599
459
220
266
597
102
62
511
818
385
454
342
713
155
280
837
713
36
324
145
912
87
864
464
160
185
535
699
874
984
196
175
450
928
713
413
989
753
878
720
395
86
99
882
186
674
844
426
953
90
297
437
23
138
506
450
469
889
141
692
300
51
421
94
395
96
832
196
174
325
150
507
22
572
733
294
496
855
985
93
776
849
553
709
261
174
506
485
608
794
685
74
268
401
456
685
495
459
490
395
999
436
977
230
92
53
436
934
140
942
486
803
848
238
453
830
64
294
879
710
767
806
862
176
599
233
648
732
758
11
96
753
882
274
290
546
475
997
84
535
151
20
872
650
991
494
192
3
212
202
539
828
290
162
902
149
823
416
593
212
147
714
927
986
737
1
840
489
521
844
781
547
69
699
842
282
755
255
296
29
122
553
996
816
979
274
77
781
533
496
423
683
830
521
406
956
892
779
233
610
907
984
557
635
416
721
151
859
682
420
149
460
454
904
677
600
769
307
16
668
523
14
376
644
689
324
103
709
180
295
60
741
521
277
977
941
535
634
55
58
664
960
809
48
476
88
655
65
740
728
744
515
817
179
164
701
946
468
316
94
76
201
601
199
358
748
166
277
485
853
343
950
346
560
678
936
969
726
765
429
373
648
939
931
890
309
996
907
834
433
286
114
363
298
328
20
253
751
848
181
623
576
250
67
514
355
340
972
24
842
783
673
883
707
377
938
507
175
254
31
121
761
819
312
415
451
179
374
909
867
170
974
537
311
324
708
693
448
903
665
117
249
538
710
968
443
710
475
31
238
983
918
287
0
137
972
878
775
518
196
829
412
698
264
470
77
971
626
89
273
757
436
63
373
734
1
367
738
552
150
767
146
207
236
877
791
868
172
867
767
220
29
929
517
86
26
720
79
759
185
497
818
368
16
603
917
282
190
650
516
381
186
827
38
530
890
279
641
247
964
634
977
572
197
759
729
772
143
262
428
963
602
928
495
249
723
2
160
540
632
765
518
306
371
192
424
30
473
121
698
676
808
409
296
732
813
128
5
894
278
190
145
481
277
451
580
742
892
268
885
526
94
417
759
831
486
89
654
124
739
411
679
301
815
77
558
60
972
515
298
176
234
477
142
235
471
159
823
546
872
310
183
848
626
284
782
919
157
645
100
543
563
531
964
206
463
97
459
821
182
764
725
491
419
382
233
251
77
543
987
673
994
879
462
683
287
871
651
717
846
25
248
683
422
545
610
66
99
810
279
852
342
910
529
532
184
350
511
653
842
791
423
227
51
993
909
503
224
12
166
871
704
412
801
445
437
866
548
560
248
488
38
325
675
820
167
384
517
869
382
644
815
715
142
945
500
148
168
981
385
970
493
43
454
19
943
591
56
805
896
185
678
359
515
923
785
194
688
700
514
923
155
306
996
829
281
987
604
834
566
41
7
233
227
561
832
491
774
42
680
456
429
906
771
39
549
472
372
928
222
660
860
49
582
31
674
932
233
394
771
383
374
199
895
96
752
155
462
921
910
541
873
752
783
912
433
749
149
648
654
732
219
342
842
943
356
737
418
850
860
629
909
66
787
574
848
700
90
723
963
273
384
256
286
710
614
743
358
446
285
259
402
414
487
89
343
402
63
211
58
847
720
311
893
966
109
434
669
873
615
330
304
355
310
813
178
513
768
559
873
24
638
609
638
601
262
665
115
423
634
57
625
326
899
583
319
881
383
589
793
321
21
446
508
656
719
691
391
323
420
127
867
373
194
489
262
202
37
476
942
946
107
248
130
220
953
362
336
704
677
619
261
847
252
599
251
799
566
526
197
822
439
467
582
356
845
801
656
557
656
369
252
140
259
190
640
248
210
592
592
230
291
368
801
747
299
323
874
123
705
115
158
11
275
523
198
685
592
449
995
679
312
70
475
70
419
324
903
215
357
290
352
183
648
332
655
257
583
442
21
335
152
390
266
456
881
349
705
917
702
169
692
503
251
828
257
30
264
152
748
668
419
91
816
363
771
681
458
406
141
823
503
567
997
270
32
14
496
3
941
214
271
354
199
381
194
206
99
68
847
676
919
576
872
464
349
185
54
292
298
686
153
421
394
725
690
960
845
875
735
636
242
413
830
634
306
234
901
125
728
221
282
605
542
189
905
349
783
363
432
735
937
360
491
969
309
640
990
542
911
253
863
888
371
548
50
451
344
279
8
57
123
482
694
380
320
828
844
396
352
326
680
776
115
842
292
669
550
861
601
577
562
949
889
839
860
114
40
541
198
599
405
583
607
744
424
876
458
927
561
798
591
826
692
62
348
439
665
49
787
767
796
672
664
221
413
878
267
81
491
194
753
20
801
615
518
857
123
560
383
613
302
401
61
815
336
963
358
151
158
622
599
192
269
894
751
840
453
285
71
334
946
759
814
87
160
520
652
711
937
414
622
841
62
939
396
206
729
472
846
494
909
581
440
365
469
497
390
877
774
327
176
33
214
754
606
912
874
403
905
806
40
611
415
125
328
989
133
771
965
463
545
38
803
98
272
722
665
35
125
282
734
246
695
885
837
655
719
275
626
710
802
413
938
849
70
455
2
160
305
260
970
168
56
566
10
174
939
131
93
396
351
584
516
829
408
345
488
560
145
507
355
412
420
187
739
138
648
168
897
134
948
54
671
296
652
645
873
457
624
110
370
219
361
59
430
562
476
106
423
510
963
698
206
144
99
333
977
263
212
11
978
804
295
297
573
678
155
152
373
289
818
369
325
224
653
30
601
139
263
800
567
814
292
22
830
332
877
439
268
147
195
258
596
560
125
742
866
493
958
91
63
309
286
869
796
684
12
451
853
284
122
561
321
998
289
445
61
707
522
178
541
191
102
300
262
606
416
103
614
125
338
236
90
345
44
191
730
679
771
82
250
617
98
724
197
547
810
101
677
586
264
46
996
985
880
82
287
744
747
265
515
160
97
461
833
153
202
646
985
826
192
831
965
599
478
581
643
175
954
33
99
894
870
130
214
366
559
145
380
883
297
105
381
67
180
397
274
284
733
394
82
678
316
216
512
728
775
508
408
913
483
152
548
505
211
927
358
326
121
778
727
14
116
635
552
547
53
668
340
66
585
527
952
22
996
437
936
417
744
41
127
320
850
719
211
138
27
389
180
16
293
964
812
587
714
602
819
125
37
756
35
777
950
486
735
873
101
485
697
234
518
724
354
740
332
75
629
364
718
174
645
87
295
220
659
218
106
938
698
468
159
150
489
834
407
843
813
532
633
123
181
738
666
191
675
874
449
368
733
272
538
640
217
767
245
762
344
731
390
879
318
153
947
718
173
774
273
577
853
34
131
551
313
991
799
874
418
291
233
285
445
282
879
511
807
428
683
526
596
797
710
811
991
81
27
464
428
375
642
912
307
588
489
747
593
140
551
66
307
981
630
253
150
447
587
719
449
269
86
892
83
950
393
599
935
26
860
523
176
654
151
429
608
580
974
936
109
222
408
499
627
971
527
897
806
467
489
186
384
364
256
548
124
659
379
956
503
493
754
595
641
617
911
525
983
736
63
570
463
49
89
467
144
374
746
37
875
954
878
136
38
618
515
507
101
579
466
69
114
975
357
882
38
562
158
362
339
57
466
114
178
431
268
414
443
900
399
363
324
858
22
826
871
449
606
772
239
786
187
838
662
356
179
65
805
100
835
963
288
429
619
929
252
705
189
97
164
33
845
20
602
399
200
746
596
504
593
615
606
781
758
400
255
689
968
824
742
555
253
374
749
119
300
693
523
300
696
33
548
992
964
510
780
596
88
663
655
519
481
218
992
4
204
386
738
668
532
500
852
457
519
281
232
485
367
5
544
800
130
515
614
969
4
937
941
124
806
844
199
986
914
502
830
866
633
641
811
565
398
340
814
309
667
652
325
440
486
911
332
801
775
411
183
321
46
162
442
666
460
438
690
925
7
263
112
128
128
675
68
582
488
893
707
846
481
575
700
69
589
911
373
710
976
147
959
487
649
649
498
161
363
705
998
786
662
669
821
775
818
345
634
446
950
160
943
193
865
330
66
286
987
960
56
875
230
893
203
404
373
923
25
666
446
960
699
552
8
4
16
2
663
231
555
42
487
308
882
272
283
862
144
66
872
552
453
840
987
58
963
370
267
559
304
433
964
905
759
107
538
519
719
399
491
461
186
857
651
232
168
381
133
852
402
14
527
330
776
940
913
745
819
219
163
639
955
470
346
486
851
336
732
59
963
727
445
947
126
737
947
565
93
633
745
232
719
103
535
256
350
377
786
453
275
316
47
730
954
413
52
520
513
35
708
251
142
981
307
585
986
540
828
595
811
895
985
160
831
698
170
15
386
652
388
494
200
86
669
774
945
783
493
111
584
625
173
999
320
769
186
466
389
138
885
137
794
476
36
685
399
451
522
889
865
742
477
735
256
50
990
85
902
497
262
460
960
493
490
212
366
400
982
183
33
302
963
358
224
603
111
827
610
58
948
260
379
665
863
149
133
861
292
341
700
133
898
117
67
687
513
265
632
329
189
678
737
362
128
563
492
115
52
486
660
447
262
179
536
243
398
652
764
702
932
1
355
111
687
561
326
251
764
611
908
675
648
59
954
64
770
929
417
905
712
956
299
992
694
593
301
26
677
271
550
9
950
649
847
715
664
908
293
835
244
848
483
731
180
557
899
911
841
318
957
130
308
451
272
771
722
546
108
752
592
200
87
298
136
1
16
165
229
869
695
401
178
312
402
242
959
692
597
30
988
805
277
171
214
918
340
458
792
519
902
560
9
536
410
850
385
916
211
598
116
4
863
535
811
386
824
555
926
756
374
253
799
769
503
541
985
622
156
979
672
709
371
396
43
556
90
61
394
664
548
663
85
852
452
561
402
195
496
20
425
593
337
810
377
625
249
190
206
755
378
346
555
544
10
556
897
896
546
477
257
486
40
936
773
280
339
242
383
448
680
164
95
875
621
211
947
799
973
327
585
151
168
358
249
65
737
698
574
785
905
262
106
35
580
241
507
866
276
73
516
562
749
978
725
124
117
315
645
930
887
762
500
804
95
900
206
74
587
630
689
495
604
895
527
577
442
737
430
329
104
517
463
120
423
165
649
830
144
499
705
13
410
823
691
82
798
763
757
809
561
583
96
948
637
795
570
919
388
386
974
508
957
444
205
1
236
351
186
598
139
854
332
943
412
942
36
347
225
455
525
721
798
832
91
871
410
813
952
682
994
66
642
825
391
713
516
127
693
17
830
873
855
385
516
350
823
830
450
531
461
449
115
430
601
629
550
954
362
354
14
279
289
710
171
863
321
423
435
914
598
908
329
107
215
692
499
731
161
664
899
25
862
634
614
554
175
795
111
200
866
6
924
760
448
975
155
36
91
336
466
182
383
200
795
230
548
797
685
2
165
249
716
719
925
739
156
130
664
866
917
478
124
840
338
725
174
262
787
703
872
88
448
683
716
162
35
186
358
622
794
168
185
246
87
520
335
455
782
933
54
927
997
722
73
369
415
809
759
792
575
526
793
781
178
708
204
824
712
712
197
853
570
496
187
908
195
733
399
632
655
164
855
376
230
385
380
279
496
695
259
573
456
369
651
578
593
493
152
20
986
969
128
418
496
521
635
750
16
146
583
462
465
677
280
385
167
972
75
433
647
309
574
258
684
341
377
808
310
578
614
559
519
734
441
240
597
56
785
673
313
507
761
346
718
184
176
55
262
835
514
633
20
245
111
513
583
831
128
977
33
37
48
853
957
958
553
371
703
824
668
451
710
203
916
618
602
716
93
171
143
120
519
942
538
194
14
984
606
872
499
443
441
892
650
577
863
695
62
709
693
163
777
168
948
601
982
3
991
533
241
710
384
574
439
411
388
743
986
423
90
67
595
73
745
570
278
12
340
916
487
476
890
358
465
611
927
248
756
556
159
320
252
939
290
689
165
714
156
133
842
789
264
125
505
370
848
921
229
216
50
583
403
817
436
960
420
192
223
496
163
338
995
939
488
184
596
942
231
544
262
253
94
411
289
567
9
179
686
215
89
226
15
897
319
439
824
343
413
84
10
204
387
867
317
931
50
735
250
34
7
508
210
748
937
306
800
475
710
941
42
642
101
677
348
863
266
966
4
818
104
958
595
983
52
884
122
807
187
875
61
47
599
781
756
681
700
821
682
357
727
399
37
311
969
895
242
317
533
934
177
956
140
180
816
222
677
631
503
360
24
842
403
874
519
84
795
516
868
789
698
377
797
568
675
844
723
540
324
287
830
264
536
758
262
313
947
751
167
975
707
181
382
997
313
735
88
230
176
348
952
334
336
125
312
782
372
564
76
316
484
873
104
209
333
901
437
827
716
151
440
951
508
11
817
841
255
623
29
465
920
895
910
52
223
420
379
953
787
631
965
727
935
470
139
343
179
937
840
624
252
168
423
158
93
143
927
285
132
103
850
600
31
203
981
652
891
466
306
742
655
544
181
709
695
662
494
21
921
331
704
583
359
417
229
591
437
785
992
702
646
9
791
534
280
440
735
428
942
710
217
26
102
108
453
886
186
189
60
878
9
449
313
979
609
570
883
171
264
74
629
98
44
84
870
262
57
93
966
619
620
905
29
303
969
380
888
567
937
729
856
559
162
476
278
351
842
418
472
981
779
273
207
826
575
945
714
488
511
903
39
220
414
299
662
584
145
146
101
34
264
655
963
486
210
333
899
144
499
55
245
387
177
357
49
664
535
411
581
141
124
925
182
679
464
289
556
241
814
598
751
996
27
397
694
39
417
289
363
582
288
116
827
851
129
181
138
745
516
146
600
639
285
404
53
465
528
737
660
49
841
134
93
990
472
765
558
484
621
228
286
36
398
244
732
767
484
951
7
362
655
463
19
696
649
188
887
99
764
92
496
280
303
150
464
859
23
975
261
676
942
847
566
20
120
864
61
741
786
86
925
747
435
39
898
381
178
92
975
526
802
285
292
130
696
484
943
819
432
635
442
39
899
106
43
608
898
55
487
805
792
554
170
546
13
315
487
951
342
733
349
404
108
548
750
391
590
331
187
447
794
51
609
326
671
785
424
29
169
43
988
419
388
498
20
931
545
323
565
16
985
351
117
9
210
528
855
17
535
854
580
627
217
685
160
332
359
671
815
278
674
931
159
754
221
374
599
661
425
787
352
639
57
478
90
713
766
282
178
970
888
941
541
483
162
798
37
970
893
200
497
770
196
469
555
318
974
128
787
471
635
497
136
947
940
805
162
249
670
181
164
434
708
281
174
613
46
551
181
74
920
601
771
370
304
690
300
57
35
856
689
613
129
901
52
459
125
300
971
832
845
401
303
540
623
178
74
959
565
902
344
535
113
745
306
658
757
661
624
922
720
48
134
244
432
944
309
503
1
785
185
718
907
917
907
2
421
196
924
941
529
184
36
199
436
149
375
951
583
352
147
215
155
151
17
514
169
771
238
567
89
730
679
922
402
255
361
953
317
349
502
831
287
167
365
855
930
656
302
938
58
378
579
677
562
523
635
721
258
898
308
893
471
463
84
293
922
263
569
721
620
292
423
657
822
270
447
523
787
41
468
458
816
595
196
361
67
724
585
285
445
809
431
239
750
623
512
183
365
245
666
851
115
537
775
409
501
135
883
177
436
224
836
273
832
911
884
108
880
304
781
133
108
300
711
492
846
500
867
439
286
274
764
26
611
710
656
438
592
400
629
743
955
904
734
149
910
881
439
893
732
493
901
109
455
658
932
223
174
719
65
495
538
177
719
962
393
126
163
31
235
854
944
327
267
522
105
130
559
298
292
975
965
843
137
398
816
399
215
800
895
24
263
442
458
660
646
469
643
246
377
250
358
655
270
411
706
36
386
193
461
807
658
238
479
235
535
596
607
667
771
976
225
578
515
12
912
219
339
82
58
443
843
991
935
358
102
810
733
191
217
217
428
192
473
181
197
11
493
475
693
529
917
44
728
965
677
22
21
870
814
909
277
581
836
799
677
628
937
297
453
309
210
828
185
842
904
678
530
902
89
492
3
218
727
723
474
622
321
219
499
632
337
262
773
631
646
179
386
44
542
988
590
970
929
872
952
688
187
498
463
670
806
777
313
774
806
115
86
383
789
566
889
978
544
866
1
858
57
612
183
861
907
526
86
755
600
881
245
147
968
652
635
140
86
837
654
583
341
976
967
774
796
132
187
456
860
219
710
127
313
258
826
500
331
273
771
580
18
155
860
467
252
597
773
383
805
451
472
504
191
78
620
278
102
980
930
80
305
781
938
770
325
615
327
75
168
517
897
459
84
26
941
723
406
231
730
170
476
524
304
350
161
227
656
749
991
996
583
800
226
287
660
913
182
490
993
494
891
465
392
845
503
886
71
927
215
877
78
525
504
683
239
781
709
846
65
117
765
763
364
707
290
137
73
142
782
377
618
169
80
81
802
649
571
673
703
734
393
351
643
22
226
81
946
775
441
17
251
371
559
121
970
486
169
438
502
779
466
540
93
34
930
670
292
217
825
374
838
295
114
680
220
249
738
528
58
491
256
578
119
459
220
748
529
520
711
710
793
253
983
274
294
73
475
619
784
605
949
901
200
994
383
561
524
500
601
71
448
158
649
152
115
66
774
758
826
666
840
738
548
160
795
484
929
707
717
421
630
817
343
901
441
432
822
748
145
565
847
596
3
866
733
885
79
187
826
441
200
5
968
474
886
677
546
89
50
258
575
8
564
387
147
636
213
949
155
161
446
533
581
518
790
813
134
472
789
437
36
821
521
891
649
66
558
308
598
390
331
595
461
710
980
747
542
326
648
199
842
148
428
500
885
310
552
896
870
579
929
459
766
62
245
410
369
377
989
872
673
207
322
376
107
116
944
273
548
463
825
925
916
119
39
944
460
702
777
232
474
883
241
497
172
601
986
458
926
525
553
407
951
320
335
394
26
432
873
575
841
573
600
262
507
448
551
854
827
655
178
553
700
934
394
411
604
339
416
24
327
426
156
623
928
637
825
214
177
349
327
841
721
244
168
429
299
878
330
876
911
941
602
98
372
856
816
911
365
105
363
802
98
470
42
544
164
928
720
31
573
848
606
305
105
356
238
741
306
652
834
367
215
605
65
660
406
777
409
769
505
952
204
445
365
986
222
911
125
31
60
811
815
812
206
175
183
634
488
544
67
34
951
606
867
925
341
678
273
125
941
721
528
278
459
43
501
520
48
920
555
895
339
467
206
91
553
682
428
502
345
766
332
189
9
341
817
363
793
489
827
436
222
75
391
399
150
566
439
195
374
332
169
738
132
690
12
238
223
97
981
533
904
64
121
901
20
437
102
189
115
212
562
484
838
337
934
402
152
139
228
953
262
814
290
909
6
820
779
102
699
740
474
300
290
424
255
411
749
967
296
339
355
715
279
370
190
456
100
342
281
84
536
464
944
357
604
692
611
880
36
710
832
318
789
82
237
38
488
876
272
700
712
665
281
479
556
656
255
918
171
916
736
198
669
756
347
303
921
500
629
553
615
571
9
65
118
31
8
625
548
705
485
907
135
302
21
446
150
376
286
233
547
974
330
42
103
886
24
371
261
254
758
64
564
596
903
878
281
603
32
425
610
653
968
415
507
869
300
199
470
306
994
569
64
346
881
746
820
214
186
148
881
553
155
741
765
447
988
763
523
216
486
817
761
433
451
896
953
490
159
166
962
85
564
844
723
795
665
312
832
239
718
437
309
284
280
386
160
968
317
899
923
269
795
167
435
368
34
912
33
70
468
107
85
610
574
737
603
266
676
385
100
760
223
823
418
633
991
197
305
60
445
855
617
379
473
83
337
519
749
143
421
972
958
241
142
361
211
99
511
658
821
488
511
329
314
103
663
186
145
154
309
959
597
328
890
818
104
646
904
525
1
783
57
556
44
377
483
208
712
492
939
288
653
883
903
359
593
37
905
760
555
317
71
274
780
453
228
76
730
480
333
87
817
487
687
751
480
671
89
254
196
681
85
371
4
557
546
271
379
457
960
558
627
396
1
983
956
438
946
802
783
99
453
416
884
629
28
721
379
134
159
361
109
637
121
680
490
784
256
917
82
215
280
661
446
45
670
358
971
76
557
515
369
483
147
377
181
187
60
333
949
875
355
799
334
308
514
914
258
334
939
28
812
325
874
135
798
272
188
577
649
764
247
909
765
209
991
977
100
349
964
514
812
256
653
194
414
326
295
936
824
344
668
577
721
302
371
735
255
334
550
801
559
727
787
310
266
673
754
360
407
871
642
110
221
393
22
543
556
217
669
461
288
268
434
81
803
207
298
127
907
831
760
85
611
232
644
963
430
390
649
922
523
603
845
144
97
169
173
453
668
375
827
69
580
212
133
729
950
60
889
895
587
910
163
668
755
81
248
524
710
386
907
139
53
739
331
436
985
172
689
32
727
842
390
50
991
135
610
503
422
674
265
126
874
249
843
314
384
276
539
253
447
436
460
960
831
336
410
92
648
165
486
674
799
88
28
394
975
557
905
368
922
365
107
47
757
113
271
483
243
950
548
120
849
806
727
824
845
371
829
386
248
165
819
797
612
464
463
828
655
43
121
69
127
764
892
939
454
462
204
311
110
822
550
795
818
480
331
1
961
183
790
243
61
843
125
204
516
303
972
203
5
787
987
909
894
847
481
987
599
16
636
142
348
959
713
483
537
537
545
772
889
141
826
831
357
564
993
200
306
447
72
104
431
402
774
619
60
665
135
902
977
795
481
624
443
456
573
31
498
270
2
73
699
74
138
909
498
328
117
704
855
945
145
806
487
810
383
60
167
454
196
711
799
16
117
427
220
101
141
204
744
0
129
587
445
864
190
446
564
681
929
142
421
589
490
15
862
359
17
44
574
599
346
942
324
852
669
601
497
775
926
588
303
481
29
288
261
359
742
603
907
211
411
365
922
641
851
857
870
44
167
173
0
969
428
278
664
101
218
283
41
199
726
577
686
845
181
35
487
419
574
890
552
588
73
179
82
275
496
146
597
421
227
270
507
255
728
354
207
824
0
474
224
78
22
278
246
828
978
574
645
959
360
544
51
862
982
339
279
455
883
662
356
71
877
456
688
824
293
125
899
902
714
938
611
485
768
862
918
611
615
837
957
71
3
622
768
207
438
65
926
678
70
914
824
868
823
946
455
491
34
646
267
20
604
825
211
770
957
40
531
567
738
201
178
646
740
524
387
434
64
564
510
273
878
104
28
197
720
881
84
780
469
277
895
533
126
894
98
879
182
136
905
677
474
947
997
673
906
195
224
805
700
261
339
501
92
946
721
874
545
972
814
466
408
42
731
824
757
819
783
976
532
934
536
391
840
293
620
373
797
236
357
8
81
644
330
912
965
542
250
491
169
732
679
336
227
994
682
228
762
100
902
721
44
765
154
999
696
401
410
678
860
546
508
250
753
159
908
355
185
688
641
245
79
466
58
439
145
548
411
473
997
37
299
305
127
316
219
700
463
611
854
419
954
658
643
201
165
645
983
115
50
128
563
750
793
136
134
491
531
125
905
203
751
275
326
379
784
317
525
296
714
745
514
161
936
632
403
215
135
186
363
127
642
95
306
684
876
276
98
8
43
55
832
261
992
159
855
79
36
810
693
42
798
482
242
493
685
211
696
126
383
289
11
762
773
692
248
777
194
751
871
802
440
791
919
188
504
502
487
917
706
414
957
910
202
577
660
313
581
324
707
801
71
467
287
267
510
568
573
732
313
512
29
798
948
242
58
174
993
755
58
988
104
288
188
214
164
922
567
536
287
175
77
129
334
75
911
483
657
205
45
942
855
252
282
54
55
624
141
693
758
342
159
637
709
166
697
280
313
700
651
467
727
139
721
445
134
766
281
221
793
434
928
517
995
883
588
465
321
665
426
10
849
660
140
978
599
5
940
127
836
517
555
887
603
196
544
643
761
837
667
3
158
923
327
664
183
632
791
919
333
823
945
229
152
607
984
688
834
917
94
497
894
981
723
443
883
970
829
308
709
912
976
179
177
426
846
554
153
222
800
785
940
761
50
166
246
663
496
492
580
751
886
221
373
156
776
166
568
402
151
360
642
225
603
22
911
100
584
720
903
123
40
14
443
698
432
434
976
658
299
491
472
984
77
746
654
115
24
144
53
234
577
557
343
779
411
762
605
789
246
895
322
102
794
796
602
441
671
30
453
50
414
91
624
890
271
979
41
559
90
1
366
657
30
983
516
367
58
567
660
183
152
755
0
44
392
505
449
641
578
900
454
455
311
243
622
539
547
638
291
358
268
757
491
149
369
880
763
647
287
34
144
959
509
751
464
890
24
188
827
207
854
150
62
479
104
257
971
715
97
334
39
441
145
265
48
419
187
499
471
281
473
687
394
450
908
454
629
888
180
371
661
823
959
310
872
89
278
591
980
751
594
657
744
38
510
982
974
53
60
21
595
759
515
982
322
452
443
577
585
657
885
969
92
849
218
326
681
776
779
736
711
458
840
198
82
319
215
660
461
39
213
834
340
147
276
647
937
785
819
621
395
787
444
794
627
130
846
295
532
257
247
537
207
473
127
539
579
921
942
792
72
88
592
312
263
363
979
367
645
256
987
650
307
290
704
915
117
749
452
423
576
541
525
476
971
663
413
61
135
651
669
513
725
600
461
913
423
543
756
736
486
818
910
66
268
292
622
68
323
230
235
579
857
856
904
715
686
417
421
258
964
539
732
23
629
929
544
647
386
170
162
956
128
965
897
200
246
767
790
411
445
658
534
832
574
174
588
980
967
432
869
156
877
4
421
976
390
917
617
873
23
716
977
105
518
481
25
266
57
55
769
585
842
439
844
696
648
882
528
748
463
420
62
576
123
983
782
868
508
245
186
360
230
659
879
569
25
143
499
473
359
494
29
36
85
108
39
85
961
401
431
582
733
88
435
878
826
526
496
611
617
714
909
465
207
124
896
572
237
999
392
385
75
619
380
625
791
232
662
704
461
945
833
958
824
174
0
486
6
612
819
898
754
413
41
517
263
858
15
532
526
787
82
32
68
740
643
814
116
392
181
865
672
22
644
103
558
957
320
840
999
561
673
19
384
810
617
86
177
562
889
75
89
532
288
850
96
263
295
614
696
554
964
103
56
177
292
930
451
407
252
355
891
224
127
647
96
134
709
556
447
973
458
288
775
685
580
633
259
57
424
252
912
289
111
846
658
273
7
378
334
124
926
413
908
502
366
297
924
882
478
709
529
305
315
595
211
696
109
619
480
972
328
553
928
990
721
639
100
875
465
269
246
634
498
446
104
931
875
507
928
298
390
696
780
903
120
129
625
779
155
787
877
960
633
299
476
748
505
133
395
762
17
517
361
810
142
196
977
746
31
444
809
995
839
224
171
312
410
94
940
252
529
414
753
4
198
549
793
593
288
196
521
497
139
468
288
586
820
838
507
23
730
174
812
950
254
744
908
964
976
846
780
220
163
55
360
339
450
116
209
821
971
607
573
811
40
262
476
686
361
306
519
391
432
569
538
393
276
916
490
405
865
535
983
925
25
968
714
101
491
502
764
767
987
868
497
785
306
186
392
84
599
534
535
77
543
464
843
385
784
971
123
501
111
594
878
596
676
352
669
420
774
163
451
251
158
829
84
799
772
92
355
516
82
961
969
513
110
841
719
277
30
828
688
184
299
123
433
532
597
287
476
307
843
703
986
227
909
908
460
769
559
641
750
998
812
965
733
91
275
636
285
701
879
467
50
270
370
844
303
369
454
392
52
486
934
853
712
975
792
612
329
459
848
118
186
445
270
348
433
212
270
931
112
707
848
737
174
587
241
629
609
194
63
886
672
54
153
165
374
352
581
642
210
198
931
907
927
198
924
949
718
770
495
965
680
631
636
820
519
451
111
461
714
939
925
798
892
27
619
105
501
115
208
346
769
836
21
718
82
736
737
204
108
192
659
181
424
694
451
752
636
740
804
180
510
201
748
508
406
103
608
372
410
331
928
178
405
728
991
779
433
262
146
463
261
375
137
935
579
533
744
514
730
28
849
108
806
564
62
377
312
665
929
392
182
460
70
443
925
277
60
640
563
887
390
893
792
772
157
278
789
853
238
590
78
294
37
832
805
661
743
287
381
788
330
870
495
334
838
413
916
114
704
67
250
43
678
589
799
721
987
957
242
869
137
986
19
873
984
750
488
837
738
563
589
701
497
146
757
190
90
209
491
286
289
611
508
848
448
55
89
141
472
932
189
307
247
254
835
107
891
143
138
761
191
105
108
216
307
247
982
764
250
611
94
618
588
590
755
431
633
577
862
520
605
410
237
540
267
540
605
409
346
182
948
114
817
247
39
28
73
469
653
936
770
481
110
426
737
97
51
396
534
905
888
738
220
517
421
269
598
246
798
596
490
92
788
902
833
917
56
494
906
389
188
477
397
30
947
309
873
531
429
818
387
781
678
593
512
921
233
926
36
744
785
79
578
257
329
458
460
693
399
952
860
938
271
252
589
105
253
51
997
339
899
549
904
655
237
769
171
19
220
511
313
393
273
13
282
715
123
480
914
226
532
159
121
266
575
252
621
64
162
66
242
797
918
663
593
539
93
211
944
607
405
603
37
543
424
503
464
483
946
861
146
882
64
126
840
492
734
309
606
397
93
930
918
308
551
738
561
527
960
319
523
153
334
885
580
516
990
562
767
124
56
300
839
477
140
260
400
304
752
722
855
673
317
556
387
189
463
667
799
851
738
861
339
268
832
47
270
867
35
592
624
930
890
618
952
728
189
287
926
142
428
382
79
567
361
316
451
376
109
902
54
739
712
985
376
1
5
928
913
967
749
676
661
758
483
30
554
642
75
843
878
173
868
452
417
818
581
4
929
87
580
20
683
191
784
262
185
639
256
822
194
308
125
709
118
91
289
276
596
230
648
451
825
564
434
534
284
853
244
400
857
848
442
995
51
664
363
89
416
190
935
332
940
884
422
140
868
380
244
221
519
603
188
131
531
399
837
80
437
23
117
147
16
525
702
576
368
15
73
222
427
100
404
704
217
656
268
156
690
299
530
357
700
423
665
488
827
451
766
321
339
428
729
159
659
207
483
853
205
288
47
960
399
231
822
939
557
249
666
736
712
37
782
899
76
515
48
848
151
762
226
595
496
229
945
764
775
681
186
638
518
292
891
812
526
86
715
150
805
200
293
182
602
727
206
721
91
195
823
983
429
793
689
160
703
489
274
567
843
380
865
553
193
38
886
647
571
163
719
608
696
429
128
742
587
987
522
611
627
434
50
902
516
933
146
388
934
112
197
180
475
493
161
617
522
884
743
106
220
229
362
6
721
172
490
588
272
626
396
38
900
432
809
850
602
886
157
880
915
332
712
928
431
487
250
111
265
408
128
899
347
19
166
165
63
136
941
745
250
227
72
141
70
307
149
291
386
353
966
446
788
75
32
228
300
834
912
228
367
219
609
828
18
3
461
908
514
973
88
905
858
697
378
166
92
377
845
582
674
677
1
822
211
11
766
443
517
51
34
458
836
46
344
622
944
609
721
211
276
360
290
522
888
250
474
469
919
5
198
316
123
755
270
694
491
356
223
670
228
136
427
529
880
818
379
653
454
478
172
74
101
804
396
453
682
108
420
210
758
469
75
286
0
622
590
16
105
900
521
902
163
973
377
917
255
38
643
197
786
527
1
154
567
713
523
905
982
316
715
394
402
230
36
773
680
210
765
263
919
521
286
159
733
338
140
101
768
814
919
170
26
881
903
111
560
629
685
479
405
388
907
119
127
291
834
532
929
487
583
55
710
144
995
688
629
327
720
46
618
233
137
718
220
765
821
129
927
489
555
436
823
780
894
561
330
683
132
7
654
451
421
29
356
155
189
945
355
857
978
767
461
284
853
245
864
432
238
945
334
135
2
230
753
758
919
435
941
572
525
795
816
693
543
301
432
270
527
746
0
366
730
924
923
258
744
726
129
803
549
822
681
210
896
717
761
941
885
145
622
464
159
167
882
761
778
35
931
316
195
932
51
506
151
104
159
246
247
618
2
441
246
86
600
180
185
199
749
455
185
3
447
346
170
100
359
148
81
750
849
412
523
0
434
441
531
148
8
876
429
759
774
894
239
545
662
95
365
650
87
228
869
33
987
471
336
839
911
892
325
1
647
979
266
893
98
777
822
866
688
506
800
47
105
794
970
777
152
313
83
468
72
534
540
218
171
42
807
351
22
387
876
523
384
151
466
240
754
702
563
949
281
696
157
611
517
652
635
241
194
261
456
558
915
376
212
366
440
320
806
895
341
401
869
303
73
200
620
68
457
503
483
641
782
819
727
31
9
581
768
982
100
573
837
617
963
765
137
741
960
622
376
530
958
185
311
571
949
831
159
506
243
722
193
248
647
793
40
353
442
363
267
422
297
729
679
374
860
117
131
64
789
512
464
640
802
917
775
992
430
911
715
359
534
563
879
517
902
788
763
141
542
855
22
61
732
669
215
18
463
605
22
329
130
497
813
203
137
531
849
80
231
767
622
490
436
873
779
892
830
246
431
317
521
62
838
460
28
993
97
456
979
646
369
668
191
258
346
916
149
85
903
382
207
64
806
243
8
477
763
393
312
882
650
625
430
194
219
674
724
894
469
825
787
837
450
192
253
708
851
462
745
313
558
199
975
256
264
297
576
101
88
852
294
8
996
526
312
819
304
329
851
624
527
662
63
121
778
859
607
151
841
548
238
884
254
215
167
294
806
350
897
786
15
541
53
959
326
798
917
124
886
441
830
922
984
190
821
999
863
201
196
15
459
758
451
408
846
880
905
195
104
902
233
702
297
527
384
931
541
984
476
741
969
534
297
50
355
192
699
689
85
878
559
377
904
150
41
426
452
892
671
124
360
402
488
524
618
821
266
818
734
154
94
886
812
726
842
962
196
183
957
40
31
164
227
159
965
395
74
433
599
531
193
320
300
21
609
95
133
751
618
597
225
655
15
446
824
853
745
904
335
585
124
860
326
360
998
524
417
245
758
618
450
88
792
774
293
409
17
331
809
990
829
624
813
496
587
792
92
76
429
970
513
336
533
83
334
868
879
68
742
926
270
10
83
91
867
888
862
568
945
2
817
444
60
469
949
269
196
622
952
835
350
872
525
933
233
644
359
966
624
626
428
752
160
974
88
698
780
724
343
525
143
971
366
879
147
419
327
11
910
235
482
387
823
568
78
173
279
984
856
43
9
683
530
764
734
999
403
828
100
306
963
558
157
903
569
127
418
39
177
494
772
416
131
304
48
320
517
865
84
288
418
796
454
130
580
615
890
603
657
57
824
324
253
784
854
81
419
82
351
930
286
349
959
609
858
12
737
824
543
222
536
4
853
740
812
952
175
958
693
729
109
800
206
819
385
319
609
4
642
513
276
161
731
860
468
504
530
52
149
53
270
476
366
345
365
409
855
664
376
858
133
822
203
843
753
159
338
466
915
979
672
538
126
197
985
360
452
713
751
745
555
884
961
511
72
631
618
114
970
350
362
205
258
554
962
405
648
680
956
689
243
416
60
567
497
940
186
803
987
509
884
254
304
807
759
25
159
433
583
760
464
579
946
418
181
906
873
684
198
878
327
523
825
723
777
448
598
400
518
525
376
720
181
793
779
965
303
567
896
940
556
490
440
281
652
378
176
130
945
900
106
195
795
841
62
499
329
962
501
250
6
255
445
592
476
483
994
997
770
132
658
798
231
189
473
701
874
913
92
561
398
949
864
343
397
536
39
249
303
801
869
218
852
41
718
282
290
690
781
384
635
712
104
183
732
82
265
508
358
409
441
172
911
347
495
418
848
897
556
354
237
269
135
475
217
779
362
956
426
768
662
384
974
465
855
634
360
230
983
365
505
789
795
86
504
917
127
221
672
746
736
836
150
46
60
392
564
357
615
295
942
668
528
400
74
856
898
617
158
275
206
240
613
609
804
700
746
770
294
820
188
662
204
259
314
530
571
662
68
790
528
673
896
760
718
986
629
913
773
359
249
541
969
916
584
851
383
607
283
227
124
9
362
47
187
151
173
460
739
749
660
779
370
445
712
268
991
809
751
597
82
498
460
732
596
555
776
146
818
812
130
574
574
136
712
687
173
579
287
56
409
976
365
787
455
35
87
430
644
877
831
52
348
69
142
405
783
780
648
575
19
828
783
200
374
279
762
489
146
335
737
214
819
95
797
583
539
129
947
25
90
192
780
87
757
240
435
491
806
835
954
97
938
854
297
513
635
544
199
356
678
14
648
554
312
174
985
238
202
208
998
410
317
930
975
250
777
83
525
367
676
435
798
148
908
686
321
208
222
336
390
914
877
196
814
325
645
326
614
925
346
436
144
689
610
59
363
966
873
84
942
959
412
11
1
112
971
542
221
227
835
318
96
142
349
429
333
320
336
747
419
127
501
436
219
460
359
948
579
336
679
997
862
931
517
128
248
432
152
237
661
467
281
229
116
80
26
933
172
956
293
875
128
979
864
332
520
927
190
584
333
972
919
723
408
615
246
773
489
933
912
934
609
479
42
9
846
482
952
794
450
677
43
265
431
921
167
770
917
569
815
767
903
793
771
682
158
403
679
14
979
743
317
665
304
951
991
762
259
642
60
147
331
995
993
174
317
749
212
472
269
959
386
90
708
37
506
835
4
64
496
808
567
783
495
891
833
214
904
684
17
277
914
670
32
274
548
220
389
160
978
985
281
213
590
114
91
647
739
785
200
153
249
863
406
530
117
597
103
956
721
673
418
410
597
481
808
684
234
200
838
807
253
826
275
255
324
336
392
182
813
993
142
42
120
724
796
458
866
30
991
652
961
731
167
914
749
556
81
942
758
994
934
244
63
559
358
38
262
842
627
76
305
319
290
60
944
891
270
746
157
388
920
63
520
979
955
505
497
28
181
797
608
825
457
159
31
61
411
194
84
503
492
641
63
728
754
191
313
680
128
132
818
463
36
544
945
928
256
817
67
909
260
962
655
803
477
974
598
102
203
30
419
418
703
81
998
9
146
988
820
831
424
425
701
362
906
196
127
997
396
160
592
897
789
274
17
592
773
512
861
978
951
519
900
912
771
668
622
456
784
716
248
490
952
223
722
224
712
808
698
605
298
780
257
499
229
792
785
678
827
958
932
567
119
781
629
45
456
470
356
905
848
20
533
594
99
896
999
731
18
616
860
959
820
782
962
5
942
632
820
907
66
559
687
628
74
366
43
393
89
987
336
507
387
442
936
138
601
178
501
346
484
915
942
747
305
574
992
38
165
76
22
691
638
472
285
614
140
401
819
646
742
686
706
671
342
50
527
147
564
599
472
991
155
321
991
809
826
171
871
298
113
965
573
878
897
204
270
88
260
115
503
280
49
624
393
186
93
431
743
370
874
228
228
559
54
618
918
152
19
692
276
844
783
321
952
364
348
659
534
766
136
296
114
65
406
904
572
968
879
688
514
561
55
719
992
985
467
989
713
27
568
525
326
162
845
309
1
488
756
104
361
229
272
403
680
419
80
171
401
888
820
417
318
182
3
824
230
405
634
137
513
102
895
434
56
87
411
45
306
235
507
192
968
742
635
101
390
155
771
992
265
929
626
925
155
337
30
133
938
339
817
931
812
631
963
268
688
104
795
37
199
153
16
535
75
44
929
482
649
636
714
367
827
763
353
251
999
238
136
896
151
520
818
609
137
659
758
209
801
922
982
78
575
274
400
916
199
691
68
401
203
954
57
748
55
789
291
161
870
104
935
545
444
388
550
910
588
657
147
983
602
434
731
643
794
283
774
703
662
885
532
99
358
929
253
381
839
595
701
530
349
565
125
154
26
435
964
827
904
265
343
81
523
48
694
713
521
79
546
563
483
592
867
810
388
665
317
725
835
314
328
825
763
828
134
656
809
744
304
965
599
525
912
367
737
676
410
777
689
979
893
737
769
796
71
347
39
42
905
109
48
564
140
693
125
930
206
16
840
773
64
367
182
692
63
426
493
482
957
594
755
896
963
661
6
710
575
228
286
13
64
711
689
679
232
698
635
371
790
711
327
505
603
610
879
985
177
967
948
182
857
238
40
330
596
320
354
404
597
449
899
354
776
955
413
597
145
423
159
400
382
402
102
47
640
447
605
303
402
265
977
24
247
127
741
134
691
139
931
248
52
724
562
988
310
473
301
66
778
61
266
565
439
826
338
439
512
987
497
522
335
794
420
570
277
435
384
250
330
851
189
994
377
332
879
445
728
933
856
196
113
430
405
580
152
125
287
897
121
935
310
262
329
514
363
184
116
224
419
959
266
934
943
80
781
738
826
532
105
298
196
73
337
162
946
373
895
239
638
411
974
152
148
53
654
230
64
757
841
7
289
764
672
521
533
340
988
666
16
557
798
494
963
487
784
810
16
720
589
460
81
805
709
955
755
706
185
509
71
873
119
525
241
368
795
455
290
496
441
429
357
44
445
219
151
158
476
270
907
834
342
395
647
15
483
793
415
74
973
953
382
316
472
408
186
948
749
460
765
89
184
819
576
607
59
681
495
649
518
274
937
866
668
374
846
495
131
233
854
336
21
484
577
698
511
533
912
614
776
594
424
408
144
278
629
956
887
605
927
41
832
814
294
698
689
167
95
241
349
366
388
835
760
38
954
417
510
171
487
650
74
302
974
762
439
206
34
839
849
234
707
828
957
927
885
817
714
795
162
299
818
281
319
57
761
79
105
572
697
477
596
687
61
368
973
706
211
518
102
381
928
304
588
852
428
912
184
194
932
999
686
283
310
536
997
44
585
812
563
516
348
925
640
435
496
671
741
168
919
404
215
348
306
88
580
187
400
481
43
273
60
227
525
626
924
650
388
707
920
748
476
250
316
759
584
455
951
855
436
428
69
461
603
462
367
844
353
30
181
389
301
390
383
201
544
589
777
402
844
406
151
932
740
40
211
41
520
147
62
844
340
150
122
429
621
51
739
172
559
424
565
497
440
554
291
182
832
360
868
717
827
845
946
469
277
392
514
200
477
769
876
918
932
134
47
676
433
467
17
360
823
174
36
771
487
677
451
19
664
349
201
462
340
147
530
802
893
745
154
237
840
494
363
110
862
840
103
874
205
590
47
792
32
239
326
777
39
796
225
440
642
853
770
586
490
575
608
908
535
833
923
590
760
309
500
448
812
979
427
500
772
380
92
980
489
860
844
225
541
255
950
333
743
216
281
692
716
85
735
389
941
360
21
469
934
580
318
172
300
905
578
973
818
751
714
10
776
282
736
295
934
868
684
705
1
932
238
552
988
500
579
415
620
146
623
621
760
892
152
839
393
788
585
711
210
937
686
348
651
231
956
654
209
158
619
657
153
195
897
542
212
971
648
166
180
903
29
358
593
88
566
641
935
654
452
410
111
912
122
900
655
517
859
470
126
614
639
140
164
284
95
506
263
961
638
581
201
168
973
566
477
814
738
477
13
116
399
882
348
176
135
7
676
687
676
615
245
787
763
810
119
392
47
689
897
456
533
305
636
35
218
453
306
711
562
283
800
412
292
893
481
170
209
220
275
720
704
806
352
932
264
578
492
516
408
862
653
0
313
337
216
246
12
938
199
329
297
61
865
229
467
792
22
635
126
433
81
615
894
652
365
92
353
299
885
303
917
615
780
535
714
380
984
277
676
513
49
247
877
620
191
895
5
172
769
768
811
539
399
414
350
322
433
849
492
638
150
254
652
563
46
703
945
376
777
108
99
254
852
963
919
666
233
588
570
207
160
643
968
93
909
313
82
687
210
526
282
704
650
670
53
581
757
844
511
221
435
297
560
62
439
617
28
992
373
977
398
868
224
821
153
344
20
577
676
650
683
215
504
697
501
413
333
108
28
909
417
609
712
235
867
393
301
76
478
714
792
405
313
183
447
4
201
982
281
540
186
141
239
440
518
479
876
209
991
355
753
899
862
46
905
926
125
925
218
473
633
95
781
443
926
966
618
17
454
495
403
928
916
742
350
235
286
196
610
387
808
58
622
528
355
888
70
690
414
220
547
859
936
557
500
58
865
263
908
738
403
641
280
685
132
852
407
530
764
400
871
926
392
451
482
959
328
994
251
50
696
452
946
603
256
8
34
942
265
384
350
272
763
401
486
688
690
8
863
592
196
38
300
246
601
761
813
72
144
252
324
518
586
25
398
336
684
325
45
65
760
865
376
252
693
990
954
417
892
923
228
319
860
244
546
281
628
118
61
443
2
905
336
378
246
227
408
596
8
180
873
225
613
897
302
559
881
674
689
964
887
538
715
469
76
689
84
969
188
133
456
806
904
79
166
480
252
253
782
219
935
130
48
922
846
255
666
941
85
271
511
528
746
715
145
164
757
323
476
953
6
630
948
34
524
43
151
344
923
697
322
53
305
467
63
150
134
718
720
889
646
514
684
254
364
786
922
289
611
821
998
214
801
148
640
22
602
302
209
335
188
15
235
676
874
619
102
776
662
138
426
761
217
691
24
79
761
710
234
2
451
72
838
740
113
597
914
916
338
24
298
409
375
254
828
583
673
560
592
618
679
163
677
766
174
767
658
496
676
18
339
852
737
115
947
650
839
298
490
89
596
929
985
681
447
729
873
729
708
531
527
820
155
917
814
213
190
676
497
263
887
68
178
344
676
31
804
103
368
295
296
169
813
262
147
993
461
141
439
209
417
430
302
830
467
230
236
228
214
396
692
849
148
500
83
22
463
417
543
84
647
400
664
14
792
399
890
672
9
957
771
43
728
678
5
395
753
371
849
980
615
46
956
408
596
795
415
561
487
281
348
782
201
545
540
207
839
981
831
862
408
181
888
42
360
95
152
845
872
501
27
210
569
297
959
582
380
492
592
969
294
394
543
353
403
739
286
857
480
67
671
99
588
913
84
726
148
530
84
803
887
800
742
884
484
96
746
915
41
176
909
496
70
438
867
937
181
675
839
962
843
778
770
757
395
195
66
116
847
847
425
34
705
608
726
796
496
578
638
733
863
51
637
260
992
835
158
322
874
662
725
457
279
551
753
286
393
770
248
182
137
24
842
58
380
670
376
767
616
603
287
681
698
58
403
603
589
625
229
328
909
170
705
694
310
138
2
958
36
943
449
193
168
173
352
766
68
465
404
372
128
474
820
370
297
747
387
629
792
645
828
747
996
340
127
640
810
718
120
534
592
917
421
325
580
922
170
19
791
146
242
757
614
302
300
43
374
361
402
985
364
84
902
570
394
90
926
721
138
953
672
321
632
722
930
688
33
362
437
789
943
624
502
934
569
7
846
778
99
210
219
405
844
537
268
212
508
929
300
189
348
856
904
358
559
128
866
982
774
113
806
240
393
802
45
90
133
919
789
149
144
19
965
29
829
785
844
226
821
123
252
340
882
96
597
921
435
530
79
876
426
189
572
360
498
340
732
118
122
283
880
701
155
649
282
26
567
116
643
897
370
140
603
132
189
894
13
428
655
989
602
857
744
232
673
87
707
368
251
529
437
185
270
215
431
338
803
978
216
886
6
232
357
43
16
362
75
174
8
275
967
391
850
698
644
776
557
774
578
792
164
340
657
548
220
443
590
937
698
587
652
16
663
372
93
402
133
320
268
229
375
792
492
750
971
691
838
213
863
862
452
668
980
997
647
682
158
639
268
229
903
631
41
824
262
384
902
174
43
48
246
392
738
175
36
579
69
812
736
88
576
875
234
503
264
604
939
758
960
391
525
252
1
23
122
936
200
74
676
455
756
307
656
751
467
555
42
527
499
623
424
23
593
207
708
735
94
16
686
198
931
447
951
653
804
290
485
291
807
411
979
517
650
964
337
53
67
329
275
807
657
449
103
235
557
724
792
422
653
296
320
385
943
0
343
277
344
718
901
7
824
270
800
932
475
940
982
710
327
594
935
388
358
198
276
626
107
378
711
236
772
387
178
32
872
662
476
602
503
204
343
697
656
644
766
622
10
866
324
125
832
64
397
850
54
233
987
384
548
340
890
929
61
443
197
705
80
950
17
731
602
645
996
95
957
895
527
825
483
882
503
127
696
302
443
650
134
85
930
208
94
455
27
445
508
532
287
12
484
294
45
314
795
582
786
321
801
106
749
424
793
649
917
553
725
82
109
616
6
847
648
767
714
351
566
665
930
729
43
372
632
590
139
567
964
599
134
383
269
808
316
619
524
838
665
720
636
352
407
737
175
306
770
101
793
496
862
129
615
656
285
451
612
993
178
141
397
59
5
410
300
239
9
444
205
385
214
936
572
337
269
344
718
655
511
409
397
486
880
557
811
702
145
50
350
386
250
222
523
660
898
227
801
164
115
148
946
332
779
271
999
257
513
79
444
428
296
674
757
139
292
259
89
704
328
485
194
930
698
452
614
120
777
633
962
740
470
860
423
655
493
570
860
87
26
872
302
362
774
980
686
481
766
296
550
513
293
655
431
255
161
867
244
840
323
694
336
987
302
161
628
682
751
874
71
210
273
121
523
869
975
986
216
170
404
63
985
234
759
912
103
932
729
827
202
203
115
192
734
646
517
532
564
166
378
312
80
374
961
398
932
197
808
337
925
382
341
678
285
695
224
22
706
876
55
158
219
252
373
189
977
721
167
764
643
897
772
430
381
884
154
648
858
21
360
488
554
642
560
282
821
928
518
990
320
431
893
475
595
868
24
736
466
150
583
312
545
716
415
658
485
331
806
967
676
729
982
510
867
937
789
916
124
30
411
814
91
628
782
320
636
829
220
944
869
293
371
647
149
151
851
483
611
172
618
266
619
237
577
508
538
522
800
818
759
268
138
368
814
393
124
65
62
859
624
167
981
713
799
450
573
641
791
48
173
818
310
981
603
194
659
10
369
505
565
253
221
774
267
454
459
599
318
538
385
659
891
833
713
602
647
231
280
237
628
54
85
261
93
635
61
895
814
661
39
834
874
729
903
806
486
995
940
47
650
667
890
618
96
177
245
934
116
384
915
659
145
528
661
762
156
263
47
879
249
559
135
828
540
708
566
29
664
634
133
286
120
822
743
465
225
32
473
195
564
510
362
646
75
141
94
447
660
255
74
908
157
909
240
865
73
16
375
66
333
32
678
734
525
854
779
815
70
30
91
216
932
954
391
734
988
836
996
691
861
425
322
23
159
789
213
538
67
312
508
259
801
935
218
868
692
985
187
653
607
69
946
125
58
382
978
681
754
108
716
447
419
443
709
79
58
949
880
533
319
701
821
972
345
126
598
486
82
744
632
232
989
755
714
510
313
536
436
6
521
136
465
159
167
806
220
530
111
722
314
21
150
212
294
215
497
454
681
894
539
119
567
43
141
879
760
743
360
613
584
788
673
58
255
802
868
474
800
500
962
961
446
437
629
52
282
260
919
669
667
165
326
304
56
69
971
508
301
452
371
397
473
709
44
56
453
842
349
290
992
32
678
968
540
57
260
834
521
853
839
554
688
243
78
842
173
376
446
570
434
95
906
268
398
422
905
419
799
992
407
224
941
922
29
364
516
132
197
767
539
977
61
113
601
771
982
176
746
761
228
248
945
143
693
95
346
87
402
839
30
134
82
468
148
122
706
827
73
475
706
815
594
294
781
677
127
373
238
545
808
600
0
446
21
768
522
25
710
145
473
598
27
410
744
398
917
183
424
50
541
478
42
279
232
468
926
900
386
861
870
707
735
295
528
483
759
398
820
91
219
161
647
379
69
667
686
588
376
544
896
290
232
621
240
709
941
551
815
609
668
408
635
574
958
508
323
144
994
483
330
501
651
146
700
964
994
715
12
498
429
678
736
981
230
459
264
126
418
561
897
999
99
401
491
723
318
249
708
510
953
996
799
725
159
532
837
903
815
727
196
454
16
362
331
408
396
721
332
676
442
856
885
303
383
406
117
959
316
61
471
322
307
112
919
308
400
820
551
872
385
90
215
422
222
342
259
544
485
852
628
704
242
475
661
998
458
491
258
815
419
745
250
22
23
646
160
71
103
531
32
891
593
444
964
71
606
989
448
690
752
10
192
186
231
83
695
676
980
250
691
820
47
849
352
727
726
550
823
816
759
501
864
98
941
382
257
499
745
761
696
660
298
1
308
960
642
419
42
899
231
53
597
388
458
428
872
521
452
529
115
845
151
932
840
569
121
921
766
24
314
93
570
778
449
635
651
531
579
18
452
725
791
475
210
650
514
977
484
738
979
43
218
902
301
818
798
950
197
600
528
51
477
518
631
577
304
504
850
294
493
991
451
428
714
12
927
773
702
582
936
184
122
378
667
914
455
571
88
711
971
58
735
46
394
183
833
783
107
963
412
311
291
13
666
922
709
981
81
710
695
426
513
337
606
565
803
305
367
595
756
669
151
377
502
465
396
29
83
404
660
260
544
99
652
892
307
35
658
63
492
620
512
255
922
794
113
180
121
807
714
266
454
518
766
940
356
361
962
670
298
903
300
517
162
360
238
620
609
856
97
771
460
430
352
907
896
720
633
3
30
744
887
293
14
681
255
349
327
783
678
988
798
441
915
908
239
791
298
629
615
117
843
781
562
903
601
511
304
632
746
208
383
778
845
796
982
666
325
963
714
258
180
198
700
451
382
842
969
601
330
149
437
16
668
776
28
584
622
491
236
852
110
921
876
688
274
860
697
717
959
880
942
660
593
551
65
171
317
988
703
802
349
702
656
851
54
430
786
517
355
121
820
433
498
523
982
852
707
362
398
836
276
305
754
560
903
617
205
245
858
602
800
556
809
810
103
29
281
930
987
696
308
554
793
62
376
808
893
82
670
108
948
260
365
472
795
305
331
115
342
858
703
464
386
28
577
295
663
958
913
967
335
649
481
522
670
954
892
409
139
355
535
773
416
649
705
881
647
5
351
530
838
145
964
987
868
25
748
354
485
140
471
87
953
950
912
807
921
182
570
673
145
913
301
857
874
120
662
2
503
884
424
511
783
889
906
692
387
252
708
783
959
476
768
984
761
207
412
895
925
533
92
149
141
600
738
672
171
364
675
221
688
415
558
290
61
369
538
117
843
305
98
402
72
657
956
387
798
787
861
80
211
688
792
458
456
806
167
649
667
864
214
284
202
40
353
762
913
582
559
528
441
682
583
804
664
802
636
43
33
930
10
700
183
620
936
649
334
727
836
613
419
621
885
956
51
131
318
452
667
396
198
323
543
710
322
165
280
935
54
918
608
151
0
17
683
873
253
392
140
412
847
366
266
133
120
913
888
218
833
333
976
123
836
418
435
488
104
111
545
479
428
211
555
819
741
632
828
194
262
440
471
533
793
696
728
623
578
47
672
283
798
235
598
21
962
275
779
610
773
315
418
500
154
195
75
745
40
630
590
48
540
695
338
243
587
445
201
30
16
904
199
457
245
647
421
475
660
667
76
519
594
614
194
657
914
669
106
52
960
633
532
260
506
262
989
757
469
605
721
891
197
592
190
843
423
633
393
312
538
434
50
245
204
243
296
653
415
926
770
103
806
776
832
262
828
53
169
913
525
303
172
669
661
313
287
385
30
510
861
12
26
961
969
865
217
835
645
256
349
613
424
65
731
279
371
197
978
154
619
154
472
188
340
569
88
582
71
372
493
6
187
732
673
225
770
883
982
598
299
678
412
24
855
665
656
372
879
502
343
622
258
841
11
749
675
741
869
618
93
302
147
923
28
406
144
431
92
891
601
92
647
579
720
341
589
20
795
232
872
93
225
741
949
64
943
579
459
220
779
908
339
166
436
675
630
391
107
266
912
941
284
208
427
603
4
970
475
171
259
162
289
440
97
502
145
280
65
468
571
793
858
100
317
35
734
436
203
341
942
248
51
670
940
80
478
6
306
456
38
408
829
436
416
168
622
370
233
631
983
68
884
847
479
693
699
931
795
731
926
964
378
527
374
797
600
278
498
661
306
641
143
549
151
114
640
797
94
437
522
646
65
0
446
985
755
939
645
48
165
776
557
543
380
412
557
965
650
747
180
520
673
691
963
739
449
380
573
560
78
482
493
95
545
730
980
922
382
484
229
601
916
942
449
859
639
407
273
101
464
338
659
952
918
680
192
529
480
638
26
439
669
531
134
49
503
439
306
10
148
389
485
259
799
401
620
863
510
120
263
752
997
34
617
712
757
995
905
54
150
959
957
513
319
404
194
319
567
775
378
793
416
677
411
42
90
337
296
113
656
399
915
369
429
632
764
697
816
548
672
909
510
329
875
929
480
485
168
372
461
108
198
568
766
456
826
666
954
684
839
222
824
444
899
282
643
257
514
127
996
737
59
838
970
410
275
504
302
62
956
957
892
608
985
280
239
432
640
351
36
533
498
322
365
637
971
171
697
12
90
983
829
785
86
203
640
815
435
73
5
542
583
632
695
495
444
369
745
109
573
781
20
877
767
697
368
659
272
901
729
237
121
794
71
890
298
359
794
780
561
526
973
960
627
43
432
106
459
590
154
789
450
237
254
249
936
727
546
817
625
372
227
912
399
491
610
153
984
859
669
308
130
680
135
910
829
323
34
16
945
152
81
122
873
870
450
402
404
315
93
120
445
974
834
750
467
674
688
635
995
74
993
418
927
689
5
154
838
863
587
916
615
634
589
542
952
379
853
996
493
891
398
110
6
972
289
537
439
229
647
631
499
790
953
917
12
875
413
206
556
881
299
384
732
278
914
673
271
265
281
731
489
601
596
757
245
972
757
996
631
993
350
149
639
188
179
137
176
87
897
500
634
247
844
501
600
15
832
144
961
583
993
536
687
162
551
829
43
437
910
862
531
5
123
905
373
775
318
505
270
753
786
32
419
47
428
857
676
948
885
382
615
697
81
842
583
628
325
198
789
64
471
825
316
137
709
292
669
623
293
707
27
793
387
874
96
4
636
324
478
973
606
491
825
801
815
413
899
840
0
42
609
799
827
917
546
659
646
54
774
10
136
645
645
398
624
917
695
75
660
692
186
190
208
284
883
984
994
980
956
596
338
398
433
565
439
619
189
477
708
11
131
92
420
361
936
724
577
55
173
909
324
179
129
268
780
798
352
881
998
842
479
303
435
16
63
430
12
489
640
752
437
573
445
70
897
786
861
694
898
109
916
690
548
318
188
85
937
512
934
974
161
82
326
106
352
689
537
630
235
177
158
630
298
649
92
504
180
88
827
131
48
969
814
828
804
941
131
505
283
766
828
319
163
347
651
312
123
724
306
800
155
313
204
285
309
799
645
418
396
770
248
680
931
615
207
558
806
647
375
246
538
327
530
11
386
234
984
126
428
419
839
834
728
30
444
854
327
236
333
469
507
377
70
278
805
738
272
84
777
257
993
146
238
974
840
196
555
681
372
480
739
533
370
916
20
215
700
365
963
121
182
287
547
300
459
787
280
550
626
598
306
65
294
739
343
279
795
6
287
242
615
123
734
287
641
329
472
827
389
431
981
44
982
323
405
308
933
507
279
245
249
469
928
290
878
440
771
263
439
235
116
436
623
85
168
622
851
582
67
918
929
616
362
483
525
123
643
25
793
104
64
9
145
924
408
282
368
978
739
369
308
630
839
657
550
995
758
809
858
649
704
564
975
264
662
620
316
391
868
125
632
785
883
937
16
296
651
174
462
424
925
497
842
148
561
977
128
27
733
407
663
433
704
651
836
635
45
855
848
707
720
130
651
521
732
909
643
416
555
747
248
233
282
740
894
647
777
448
44
335
943
372
823
405
33
505
388
647
939
269
138
657
950
653
351
525
654
138
483
457
25
437
844
362
768
399
349
615
993
933
501
880
226
551
528
320
415
555
506
179
288
171
864
333
4
468
409
546
541
589
787
602
684
247
408
755
209
773
808
316
377
160
635
697
950
503
763
651
811
82
808
345
595
184
370
127
639
459
191
422
388
552
581
885
994
878
865
339
213
54
494
475
323
16
755
961
336
943
972
291
150
502
446
370
104
664
195
75
886
40
636
893
64
227
542
242
266
982
989
231
506
848
494
38
541
667
54
863
678
481
890
477
520
40
497
13
984
237
834
863
1
127
607
258
254
539
639
845
707
409
847
120
481
626
492
571
890
5
987
190
866
493
978
148
533
401
521
153
410
380
795
972
924
383
17
56
510
521
201
154
398
760
333
985
605
397
449
330
496
313
398
741
56
32
92
406
871
923
768
470
588
217
136
631
141
98
891
601
976
648
886
593
24
439
232
227
796
557
53
953
656
149
350
86
893
69
422
198
728
762
533
270
394
833
742
556
347
509
795
431
9
419
994
644
465
543
128
675
511
682
51
101
889
839
603
273
716
662
625
895
960
937
789
92
140
779
458
619
349
609
232
521
118
482
767
367
192
806
908
719
210
714
232
510
966
854
164
986
687
119
29
516
491
660
707
824
390
488
686
977
799
618
329
491
434
303
9
963
89
512
258
67
881
63
974
468
792
398
920
35
915
422
767
894
276
906
715
652
912
931
494
866
4
283
273
409
286
697
331
540
839
662
737
355
637
190
64
147
930
339
874
983
183
883
982
392
167
497
197
548
742
13
484
238
535
350
106
448
933
160
719
443
347
479
807
645
454
173
751
21
582
16
804
653
560
608
321
602
948
435
965
274
190
581
532
813
533
268
986
960
387
21
357
732
351
858
97
914
325
500
91
180
360
284
944
155
313
272
899
925
359
488
145
267
365
618
702
95
259
522
926
561
37
968
0
164
203
714
563
552
427
617
784
566
138
846
935
697
626
194
770
832
561
829
866
536
618
909
516
777
726
244
379
201
559
361
111
331
369
509
992
86
596
376
212
22
111
488
481
401
636
913
237
364
85
127
77
550
180
810
923
797
269
893
346
414
281
98
571
327
391
511
253
81
29
316
319
705
114
62
251
239
811
455
245
727
621
247
793
248
338
478
631
975
220
128
603
920
163
130
503
295
562
687
144
679
993
70
213
58
586
330
777
143
575
739
14
560
640
181
130
892
46
375
289
175
721
235
209
19
105
733
479
420
608
22
502
202
686
231
983
499
150
372
522
890
931
846
749
280
356
459
72
313
692
870
623
677
80
423
666
619
536
959
131
148
377
167
33
185
186
12
333
259
359
490
554
845
339
108
816
617
21
260
441
833
978
723
466
424
956
849
79
74
317
442
109
47
439
644
353
809
312
20
901
616
828
630
727
223
139
795
60
657
722
155
991
26
443
719
939
100
426
960
514
220
160
374
669
713
185
940
938
516
867
925
763
424
386
808
155
51
225
446
871
615
341
711
33
750
538
257
110
993
361
335
867
582
805
56
465
724
387
648
704
1
352
666
352
63
859
290
23
780
542
791
115
156
189
796
460
994
975
559
77
683
685
745
108
848
352
511
648
640
849
407
351
505
872
32
113
28
419
562
26
688
897
108
295
778
465
80
547
815
958
746
244
149
158
958
744
92
189
660
784
454
1
9
739
462
386
17
120
380
74
259
27
271
321
520
605
794
235
87
343
935
914
219
836
227
757
276
210
507
711
350
163
818
885
363
879
751
648
654
618
192
386
605
796
201
233
647
310
429
156
93
911
227
308
627
828
942
69
548
997
792
432
18
927
33
282
664
9
96
57
165
378
902
534
304
296
463
593
144
589
784
863
510
149
556
155
135
708
983
176
308
405
419
791
201
905
245
833
127
695
857
679
571
968
712
653
684
628
302
975
417
617
840
92
716
600
34
122
137
210
856
99
945
411
913
872
979
3
238
977
113
763
573
621
1
96
755
697
121
471
644
391
387
894
555
531
360
420
121
664
582
782
299
174
699
86
919
402
27
795
830
421
589
278
64
712
225
774
219
82
608
474
33
955
884
254
280
886
911
406
488
534
518
405
364
502
610
922
184
719
844
247
905
785
304
824
335
27
310
857
737
870
310
920
490
158
562
190
485
178
530
263
497
91
693
840
170
67
305
50
173
37
504
336
864
14
283
969
34
209
332
262
488
183
188
947
310
283
711
659
469
897
340
251
161
561
835
558
664
883
389
596
399
566
291
376
379
621
389
636
139
731
279
733
394
697
872
266
809
220
817
185
126
444
972
513
373
297
893
560
314
840
315
566
496
831
714
705
113
493
223
76
983
340
57
197
841
540
40
697
788
500
978
452
486
913
705
986
217
191
654
993
846
546
322
785
813
995
773
874
516
758
499
263
149
366
950
594
998
427
149
823
40
839
741
155
582
622
302
445
807
35
452
818
404
439
22
529
882
826
729
572
588
232
385
297
615
931
290
474
815
338
153
644
278
99
104
218
388
36
974
18
353
885
409
855
166
358
851
229
645
951
991
804
192
302
995
39
246
23
792
913
749
826
687
378
455
40
961
688
309
947
46
931
526
743
282
355
934
379
535
325
924
705
341
567
519
200
766
744
959
675
168
771
865
463
931
544
845
368
237
747
276
889
834
769
812
694
236
377
788
693
860
905
174
138
311
732
84
870
612
452
696
210
292
973
193
992
702
304
564
386
12
160
347
337
231
509
539
604
402
795
375
70
799
9
111
718
684
253
610
683
83
878
118
996
287
820
153
549
747
697
134
803
150
192
619
859
910
149
676
718
524
689
451
586
600
884
770
379
118
731
515
906
131
670
64
844
662
893
156
234
385
705
463
926
336
430
889
113
575
313
69
171
642
688
286
985
440
538
452
640
162
991
34
75
469
971
829
553
583
422
629
923
421
742
44
233
108
614
636
347
41
539
168
636
96
195
216
204
518
193
955
591
708
561
132
533
923
723
426
35
228
389
752
33
758
887
540
780
348
312
227
687
863
887
909
139
734
333
537
836
437
280
663
599
171
879
541
255
78
418
579
836
547
333
433
50
600
555
234
489
221
948
178
118
531
311
459
677
478
189
697
751
714
535
843
867
88
94
603
175
412
580
581
758
117
953
63
41
490
888
875
878
967
363
101
640
558
884
918
437
778
467
745
249
524
260
785
948
237
855
504
602
349
421
513
70
156
864
416
46
1
844
752
103
659
883
201
474
10
412
20
543
152
572
258
109
567
171
153
309
974
713
82
664
378
589
442
969
191
444
224
118
433
889
765
529
258
423
265
170
887
566
123
853
754
21
318
505
421
33
357
621
435
939
788
564
351
159
695
329
993
298
691
697
217
843
994
56
742
878
938
800
801
746
495
734
196
750
697
638
492
485
753
553
621
67
742
398
999
464
407
494
572
411
657
986
57
857
902
482
278
487
664
274
438
657
315
488
713
515
300
54
221
56
883
968
328
902
126
498
757
849
165
170
85
293
838
10
519
344
778
871
529
186
469
112
628
502
387
963
375
893
55
200
218
672
534
330
921
598
46
669
977
144
252
953
118
951
830
749
5
464
513
235
186
418
677
22
835
398
748
932
959
281
906
269
217
804
375
980
96
855
920
727
150
835
54
69
540
858
105
164
805
350
782
111
656
816
676
613
47
241
493
16
672
896
375
709
739
919
114
604
806
83
227
921
781
91
133
985
543
494
548
617
668
183
111
899
27
215
951
921
584
941
465
694
453
68
370
66
138
617
179
437
230
980
59
922
965
859
896
867
477
241
23
561
603
991
932
845
366
812
833
857
100
98
231
427
730
813
685
648
435
837
762
387
298
727
894
582
124
858
380
497
417
488
407
407
898
376
658
515
524
807
337
833
333
660
926
642
15
522
124
260
416
869
314
627
862
870
275
818
873
526
642
972
858
610
769
498
730
162
764
482
863
334
458
160
867
894
719
443
520
678
173
767
708
67
703
366
346
133
901
60
666
759
482
564
849
234
341
727
830
187
334
937
242
898
417
952
568
545
707
762
769
999
806
595
970
444
250
619
755
288
251
418
329
458
997
609
141
541
788
988
802
537
43
52
491
157
321
155
182
237
66
616
252
161
700
904
550
760
978
688
148
816
624
946
493
784
425
169
639
632
141
234
70
865
163
992
721
931
283
727
976
468
102
597
267
537
232
370
401
551
215
79
854
741
573
540
513
643
725
460
563
744
5
615
191
343
814
330
780
850
787
830
207
863
588
716
6
620
544
569
724
656
907
642
369
49
509
529
713
617
303
316
508
632
655
351
970
650
543
516
605
120
806
232
909
710
711
409
218
677
546
686
68
919
671
477
804
763
266
271
62
362
939
575
492
178
899
26
712
206
749
399
799
99
233
311
468
581
17
284
113
574
516
431
457
35
353
557
121
398
29
253
567
632
169
31
439
360
709
277
668
711
304
698
759
987
992
58
411
73
418
94
247
448
618
12
571
611
1
68
757
244
642
807
871
55
47
769
761
166
755
390
592
470
49
414
328
650
805
737
492
476
137
372
321
11
441
410
810
487
218
178
433
989
197
255
638
334
286
969
79
228
403
655
370
643
597
935
616
724
992
119
154
663
552
794
873
617
156
953
819
454
347
323
327
241
413
103
721
219
787
536
680
33
293
231
139
702
407
171
340
865
659
317
388
948
267
146
345
407
570
317
530
261
525
269
131
67
922
343
161
774
229
849
355
280
67
821
217
866
754
300
347
397
889
918
412
27
214
83
743
175
273
68
810
230
44
638
515
226
366
851
142
184
827
486
576
357
317
194
522
5
190
166
146
5
717
792
295
328
521
441
138
421
328
850
607
452
806
536
102
572
6
623
199
465
389
591
159
620
171
513
629
771
775
764
895
935
796
2
545
644
566
792
578
339
461
879
110
343
124
858
477
783
288
594
370
106
572
304
965
824
61
847
554
793
726
740
648
181
279
604
643
271
525
899
570
115
964
471
422
34
361
24
923
916
936
911
946
41
725
964
958
301
296
162
436
805
916
54
506
620
551
826
588
4
231
314
113
551
554
922
347
388
94
531
197
604
821
86
261
508
96
972
996
200
760
895
736
999
532
855
445
571
660
844
399
80
298
253
957
7
693
888
805
97
177
995
439
768
430
932
462
397
833
81
241
31
401
759
47
81
873
320
555
378
88
497
464
620
963
673
837
993
905
66
113
40
111
247
543
400
589
405
133
448
290
191
67
307
609
946
505
767
570
538
972
435
148
990
734
408
181
281
776
882
690
395
542
135
255
594
678
600
861
360
606
900
160
699
478
59
621
983
809
408
711
629
131
66
701
624
718
71
73
156
98
707
599
886
567
943
473
866
812
782
936
273
860
574
515
433
790
940
215
322
523
312
531
237
888
451
90
949
934
689
367
84
272
249
571
411
88
838
241
16
597
573
115
850
236
255
243
17
934
363
121
910
116
656
442
433
667
271
143
947
858
418
682
487
536
615
834
215
197
463
82
926
816
892
519
310
781
881
435
490
475
408
135
908
675
707
284
419
618
593
647
541
282
932
600
697
19
181
819
665
441
481
207
672
995
498
595
707
889
293
634
272
605
751
782
694
836
456
613
888
223
176
381
199
374
407
416
163
693
883
306
527
712
315
901
295
612
424
879
998
364
164
633
585
704
776
650
210
909
907
184
133
80
362
209
319
891
661
177
584
490
677
389
184
420
148
685
583
411
161
107
730
617
51
345
768
15
594
998
688
320
76
30
402
263
600
953
246
974
0
344
444
285
14
689
86
894
219
395
977
693
453
964
733
539
917
623
397
617
16
926
836
738
899
721
350
264
326
397
259
294
411
811
698
981
374
491
251
691
973
667
787
580
700
608
710
574
673
904
724
482
615
666
808
530
239
123
804
132
923
908
242
82
133
662
143
558
634
689
182
616
450
632
388
525
401
854
189
680
443
229
869
327
783
9
372
391
488
48
535
621
855
878
370
537
180
801
258
592
959
799
538
42
368
457
843
327
78
202
693
368
355
999
21
837
295
201
328
685
468
736
281
818
430
204
905
556
403
604
992
362
19
776
503
836
624
452
337
682
739
970
654
616
925
988
476
892
732
928
644
470
792
225
632
617
343
181
57
304
703
848
834
176
45
8
863
662
805
219
777
30
332
739
738
180
687
920
208
182
207
809
606
655
546
349
642
576
992
605
48
588
810
577
154
421
347
22
843
471
925
221
741
290
420
602
883
714
276
231
522
458
891
448
22
782
796
16
903
682
761
448
791
105
981
574
101
356
609
875
163
586
350
811
523
712
655
404
769
246
101
862
753
791
682
972
138
381
195
872
731
441
70
15
240
200
369
300
631
979
360
332
521
283
834
262
826
731
66
538
992
231
386
827
321
640
57
715
765
316
422
499
259
771
526
661
509
140
343
744
978
895
503
270
645
907
168
289
782
835
872
411
470
448
195
523
781
405
446
279
20
53
470
427
0
484
564
265
627
963
32
143
560
219
814
337
227
328
488
302
751
657
430
665
532
827
705
83
865
574
42
120
172
169
683
330
805
829
41
540
322
706
764
62
463
269
214
811
569
101
843
507
568
967
128
751
993
181
204
67
721
554
846
995
23
682
406
911
587
25
658
832
124
524
661
643
756
123
406
688
94
716
262
675
154
366
398
400
540
63
540
627
574
897
865
463
410
864
826
526
241
152
468
367
912
370
288
888
343
630
358
210
298
132
910
842
37
674
545
483
901
947
974
781
998
278
319
271
376
662
625
607
9
819
975
745
971
462
750
844
679
507
977
600
462
428
392
907
451
698
152
384
959
372
428
866
62
490
880
889
619
596
503
638
388
138
378
760
470
892
994
950
570
545
581
822
240
796
239
636
987
650
622
200
175
464
642
369
121
352
147
657
112
919
506
730
931
734
209
348
227
365
648
739
924
752
654
670
678
627
946
906
62
413
568
598
599
245
666
445
807
363
748
180
636
704
199
415
703
435
923
587
825
348
983
872
176
533
476
787
796
902
185
238
18
244
831
392
714
823
585
219
544
93
838
583
998
959
457
343
568
407
418
1
364
597
538
534
204
570
524
520
485
278
280
974
690
601
574
241
865
667
415
939
322
438
665
428
303
702
944
245
247
323
126
303
717
502
957
62
836
103
147
684
819
919
956
222
66
514
275
809
177
383
908
982
483
951
182
402
180
192
501
754
150
79
799
24
720
894
453
652
872
422
266
956
723
871
683
920
725
193
148
347
689
615
725
967
935
281
827
796
876
298
317
433
710
389
25
882
901
589
862
322
44
919
282
162
241
159
819
322
263
118
352
104
705
244
532
679
284
836
694
179
674
228
787
25
72
629
297
828
843
444
5
695
137
470
524
450
326
957
568
431
67
865
113
678
920
112
465
455
70
37
712
539
69
574
893
327
48
955
256
841
560
121
379
316
234
363
236
411
417
937
481
667
713
629
703
322
868
462
575
968
468
21
604
656
201
944
114
993
42
50
661
585
672
98
128
479
614
116
414
229
794
948
7
378
499
156
526
2
550
782
427
223
329
321
819
14
554
599
401
708
499
338
572
299
671
696
440
916
735
295
344
551
57
157
784
448
860
824
882
296
321
889
11
47
303
931
892
825
232
987
761
711
27
743
752
881
610
647
6
723
444
826
781
221
24
253
880
256
151
670
157
217
297
183
331
460
183
703
370
210
511
342
718
713
976
131
558
293
291
862
382
167
457
522
28
406
458
478
612
824
942
437
893
572
92
774
967
757
281
520
386
483
624
229
465
783
339
307
307
395
619
20
279
869
934
806
697
674
702
50
241
2
469
309
652
491
37
184
346
155
519
664
203
244
988
751
96
631
112
987
15
558
681
76
42
255
869
38
922
481
223
756
432
195
967
549
5
51
268
607
219
495
144
695
457
637
981
489
651
591
325
153
171
655
49
282
436
298
815
551
290
130
519
696
658
494
246
756
752
565
276
185
186
484
312
414
800
92
908
556
988
427
522
1
74
382
390
217
915
214
996
914
571
270
739
294
348
753
747
993
863
33
605
331
741
744
940
122
477
639
390
892
123
170
713
900
794
53
914
537
98
38
339
341
993
437
853
744
651
264
736
969
762
914
984
391
244
292
801
55
974
79
678
710
623
932
664
542
856
467
652
86
521
768
766
376
416
665
787
427
229
262
564
204
695
628
789
763
226
818
385
445
216
829
758
140
16
622
179
469
242
820
926
712
594
224
909
362
297
419
549
394
490
126
406
61
359
631
369
757
396
917
501
152
142
964
583
720
726
705
190
759
222
373
411
128
42
568
513
317
32
922
27
176
812
432
462
38
854
941
467
587
701
342
48
977
829
899
562
455
702
298
205
369
321
768
909
654
114
777
531
405
543
787
481
678
663
492
729
798
395
116
465
721
577
547
169
786
18
877
532
134
977
572
876
162
569
963
111
732
386
969
174
405
830
792
352
824
35
973
84
924
555
561
549
156
848
927
459
496
318
134
668
22
197
288
534
127
435
743
59
776
699
408
662
457
794
30
12
728
679
771
601
640
603
921
354
380
879
693
563
349
284
593
951
855
691
966
589
191
828
379
180
945
143
304
200
691
361
531
315
323
66
888
362
869
952
92
172
172
108
214
298
728
765
787
934
606
852
908
669
41
589
55
121
250
426
12
491
682
796
997
5
406
891
887
167
202
240
73
412
328
283
663
946
108
470
992
345
7
515
0
546
323
183
756
789
359
447
742
30
1
872
123
321
770
564
578
526
22
317
160
970
596
348
667
859
371
426
650
753
426
169
647
377
528
385
795
597
875
457
846
86
246
658
728
784
918
964
594
814
71
675
849
635
575
731
323
268
34
932
608
794
583
406
649
149
371
400
902
729
908
776
604
546
72
641
337
293
793
107
173
546
576
567
842
266
328
279
256
345
476
357
705
682
708
957
998
702
340
965
852
280
704
532
353
822
0
785
991
594
843
69
413
90
721
660
225
43
987
963
23
691
572
30
853
67
753
966
39
812
449
626
34
263
984
759
117
334
280
996
435
522
804
502
786
795
203
272
609
300
903
388
405
308
105
971
534
560
618
652
506
508
721
823
420
98
419
572
357
619
910
102
199
735
381
552
466
504
759
383
295
205
647
384
974
858
436
796
693
251
706
549
472
592
640
207
876
269
191
775
207
336
910
363
857
668
472
126
432
255
533
409
961
906
424
591
107
104
920
983
10
237
773
349
171
631
520
108
820
661
618
399
318
912
563
314
718
999
882
840
666
46
194
419
594
517
268
547
103
59
454
61
908
126
886
970
294
479
936
128
740
230
241
188
730
752
82
58
939
729
357
516
317
491
650
930
344
773
329
877
169
743
580
64
159
469
832
768
687
291
416
2
981
231
243
703
393
831
913
40
241
475
198
610
471
933
21
465
352
687
924
279
666
262
392
562
655
83
982
36
579
602
466
583
118
806
779
957
0
475
547
697
645
998
582
485
297
402
214
444
351
504
362
693
497
773
645
127
41
516
892
747
9
395
742
873
862
417
878
567
679
369
420
849
546
248
244
41
326
748
671
408
487
616
780
502
731
385
325
869
684
616
762
355
15
126
116
654
364
790
31
642
797
741
841
595
524
195
472
9
296
561
523
52
226
746
812
159
651
653
757
770
810
470
147
223
430
493
339
49
704
692
207
832
484
273
913
526
480
969
781
206
433
950
201
355
339
142
532
369
619
553
105
539
67
49
462
957
723
71
969
440
370
354
5
807
493
108
633
177
253
624
616
723
820
196
468
444
334
303
421
291
625
750
136
382
783
878
131
751
311
589
870
200
505
636
70
671
74
938
347
510
116
555
888
87
451
869
102
602
572
125
212
964
138
686
91
318
907
934
732
49
712
497
614
457
534
92
410
106
979
195
161
946
23
983
990
22
147
410
712
562
113
81
290
490
892
688
856
10
767
697
322
14
247
56
121
114
131
55
449
303
138
810
662
734
92
30
321
613
593
12
744
428
643
666
55
185
604
509
670
347
272
993
929
567
124
456
587
610
686
460
136
503
198
725
18
417
793
989
711
766
372
965
633
536
996
806
825
57
39
184
294
271
177
632
720
456
412
252
183
455
784
255
462
162
376
760
769
208
120
96
937
983
103
437
703
832
251
733
213
438
292
554
36
417
179
864
409
536
684
146
933
28
853
392
170
672
447
579
27
779
244
955
615
732
731
587
916
824
130
274
175
470
641
259
288
885
240
210
986
34
992
631
883
450
466
421
181
756
323
171
424
151
945
528
715
568
497
499
965
816
971
684
631
642
737
966
973
624
332
97
588
870
252
855
116
604
390
542
725
501
598
630
993
39
644
455
716
868
173
249
793
730
856
896
48
660
395
940
675
414
581
18
680
571
428
247
839
690
511
479
989
39
582
254
867
154
720
794
559
173
922
449
701
438
174
176
852
993
934
361
978
423
976
388
355
235
891
726
83
936
295
461
905
493
699
190
457
660
278
407
734
988
606
905
427
973
229
940
653
523
400
499
417
299
723
753
971
340
114
197
584
919
643
749
747
887
42
761
597
265
874
591
214
611
325
494
523
735
909
303
685
474
797
768
902
130
644
709
296
814
358
312
615
558
223
300
148
289
908
392
978
650
60
366
219
719
969
134
892
803
111
976
253
792
1
120
336
735
844
912
986
411
680
542
857
629
86
232
265
664
830
343
531
911
111
874
643
913
790
807
1
972
280
263
103
979
557
334
206
197
158
538
248
186
558
470
379
357
54
717
265
461
747
39
426
111
704
815
163
107
830
719
713
451
374
494
252
207
178
451
719
785
185
926
601
775
529
23
205
275
678
616
171
470
719
603
141
439
646
439
759
160
474
505
868
250
776
695
982
458
536
748
394
230
638
144
496
473
370
554
405
792
179
288
972
476
399
266
218
841
137
54
794
148
920
728
834
117
788
811
59
340
171
433
343
842
420
939
883
628
611
467
966
954
351
237
555
308
922
83
788
532
276
397
946
660
297
318
45
878
608
311
68
441
310
632
372
4
620
60
644
271
640
645
876
487
614
325
337
192
604
79
871
330
552
704
910
811
849
260
174
441
343
752
24
707
717
729
204
347
62
587
805
501
49
169
522
909
944
452
978
183
158
2
528
109
628
658
673
165
467
393
698
351
137
850
692
522
184
927
65
291
941
832
944
244
619
927
362
308
0
932
857
288
686
404
994
288
635
259
958
896
319
176
32
336
163
964
644
988
581
232
578
960
805
817
160
141
731
812
722
564
642
459
496
10
369
374
100
884
120
631
580
755
166
638
488
904
826
581
108
281
630
67
198
631
830
702
343
759
122
410
215
324
82
565
439
656
63
884
334
774
311
666
292
201
968
495
703
311
617
237
206
913
759
818
981
559
668
11
353
610
11
27
436
86
553
856
510
874
673
432
94
791
57
38
34
979
269
545
732
795
26
49
134
879
121
527
374
570
734
9
488
606
923
174
729
403
684
747
215
857
648
315
13
732
778
242
946
741
387
985
184
48
5
366
295
673
159
487
910
352
141
521
104
173
586
14
14
682
407
242
441
335
437
109
513
312
440
21
996
527
857
452
991
34
955
434
95
223
456
287
984
925
24
50
163
337
787
612
328
797
817
57
647
527
696
619
120
710
522
397
143
70
963
703
322
116
990
708
348
904
441
144
471
999
28
334
944
424
479
78
315
899
341
726
862
382
642
108
20
905
969
562
288
857
773
597
488
611
911
551
975
986
314
187
683
673
724
243
905
141
975
76
426
165
537
959
756
57
390
499
543
912
595
349
599
304
696
222
673
803
998
801
918
887
279
214
81
843
430
193
334
372
875
393
676
316
41
115
964
28
495
171
656
496
481
519
491
643
284
71
401
28
703
446
280
470
649
797
166
2
755
89
637
822
514
124
900
294
228
133
22
674
983
636
749
982
111
918
826
120
724
791
153
745
777
884
851
839
836
926
925
328
827
200
64
162
934
939
915
935
351
49
831
556
900
397
463
464
146
415
121
306
493
233
105
484
615
319
512
925
371
200
473
833
88
580
789
515
617
948
504
706
550
941
460
111
365
68
511
718
710
748
977
185
393
718
276
825
894
859
277
365
513
867
114
180
250
107
676
747
604
690
414
209
880
694
564
830
843
932
21
790
647
510
540
618
908
70
115
678
204
536
711
650
331
769
543
72
427
941
129
137
794
124
98
200
362
253
846
623
712
639
389
210
733
665
898
966
851
406
192
73
437
615
507
484
562
30
918
901
593
860
888
87
460
28
585
112
540
897
890
806
873
765
677
154
520
323
274
770
315
124
272
584
47
823
547
480
994
157
749
565
377
89
911
259
117
123
659
733
179
210
822
124
128
347
529
195
825
867
143
775
394
119
402
737
36
613
94
475
720
729
299
148
824
60
280
154
315
964
851
501
992
957
878
469
726
20
368
240
42
792
593
353
944
488
247
929
385
860
985
419
398
841
585
594
77
229
433
58
615
975
843
943
5
218
751
516
570
935
530
141
215
117
466
41
125
371
972
481
66
890
552
6
295
581
802
902
303
520
26
322
970
405
186
952
732
937
166
203
816
970
120
130
957
260
465
475
41
329
673
713
360
495
893
409
708
474
923
712
987
851
961
295
231
83
380
535
423
807
412
249
887
776
548
411
351
696
399
14
91
481
359
899
983
905
845
949
650
314
29
27
82
648
44
617
578
551
465
585
863
444
188
899
265
568
414
406
34
555
959
498
658
206
672
178
97
306
337
4
281
675
71
695
514
537
856
914
619
838
426
761
177
448
500
337
794
324
522
521
488
31
398
615
757
512
232
122
256
761
874
5
802
589
887
173
441
276
359
869
408
482
8
431
151
730
4
616
220
79
334
186
382
463
216
348
999
637
245
69
62
793
746
5
986
107
316
61
312
958
189
102
880
998
848
333
563
947
528
70
349
932
409
71
416
774
6
210
497
413
499
298
830
759
365
897
643
229
550
318
165
949
941
403
335
623
952
259
337
808
456
950
706
791
543
830
809
740
179
360
247
495
622
919
472
207
128
59
429
649
836
710
48
490
152
295
110
218
715
429
341
860
13
850
81
610
34
451
329
789
551
81
835
325
246
807
602
191
396
708
254
850
596
299
250
228
550
783
589
157
357
933
5
867
145
265
529
266
150
73
191
537
795
827
794
89
523
900
27
612
935
353
412
187
564
60
979
47
90
546
833
736
614
529
120
702
904
832
683
168
699
239
221
107
607
45
705
503
929
257
5
586
903
610
705
57
203
209
547
669
62
478
441
183
474
618
342
215
276
280
998
231
570
680
417
904
754
973
46
131
622
998
13
611
184
262
306
737
239
648
567
341
295
672
149
427
491
386
266
646
72
567
263
867
341
486
661
463
812
549
574
116
687
458
835
265
133
474
574
321
41
356
918
817
484
524
229
491
278
314
803
493
551
838
741
506
110
226
264
268
618
606
595
784
726
524
706
560
872
231
356
337
182
621
984
433
292
395
882
788
901
192
444
227
882
800
758
986
617
766
696
878
27
250
288
220
268
16
83
806
769
497
142
0
213
843
123
113
96
625
371
50
449
796
578
461
214
605
826
18
803
620
941
292
843
561
694
595
617
489
570
951
386
168
675
307
749
932
187
384
508
528
792
435
396
568
103
101
630
837
703
418
562
588
191
320
790
276
73
332
929
982
533
426
889
819
204
942
475
432
131
395
564
400
795
278
58
502
617
416
513
39
444
4
877
204
53
148
630
169
220
51
395
1
918
39
22
683
257
718
392
157
581
939
156
925
535
347
771
951
83
60
775
958
455
569
613
788
125
116
486
884
952
28
208
514
382
536
183
605
895
824
936
172
867
30
740
657
197
415
585
768
257
795
444
839
549
581
289
649
411
306
869
826
311
260
45
625
320
131
350
941
597
44
771
115
187
825
161
386
935
726
143
222
474
165
753
824
501
529
339
802
797
832
665
62
993
927
832
193
675
308
207
348
772
130
922
477
578
30
921
373
597
316
232
743
362
76
90
360
978
283
291
188
148
963
238
466
81
240
407
403
703
462
186
383
851
576
479
958
377
673
986
173
685
895
571
237
192
469
876
997
820
983
413
119
705
962
953
484
818
682
390
664
266
149
1
173
241
36
407
220
574
977
171
375
637
290
801
259
60
915
631
941
483
744
587
539
870
179
863
937
105
482
399
624
461
540
55
62
867
32
79
651
383
304
824
495
228
696
744
21
614
163
96
947
113
33
669
81
651
186
122
911
733
845
124
712
920
534
785
90
437
562
249
762
761
268
538
383
35
815
26
490
162
441
383
551
583
868
241
115
940
804
380
732
784
819
3
824
0
467
343
476
915
966
464
141
811
927
36
129
976
446
499
328
157
709
265
89
139
106
856
898
610
338
829
335
678
477
166
496
577
250
569
567
729
465
88
329
661
519
190
323
935
474
492
716
248
693
366
792
942
855
665
776
289
771
481
852
641
394
339
121
664
367
99
861
86
210
572
498
190
653
43
413
451
871
48
159
690
491
480
427
400
981
904
669
141
156
980
900
760
851
206
767
522
937
854
632
363
425
244
37
128
868
249
701
420
607
900
682
63
839
446
878
87
971
507
376
109
659
996
467
169
423
285
237
228
392
293
658
577
78
322
141
784
128
651
614
322
332
316
983
531
899
234
477
737
534
469
681
480
319
4
905
540
10
288
132
583
232
149
134
978
924
523
1
173
912
159
652
64
356
976
237
443
486
441
798
374
842
974
498
237
340
475
509
873
503
849
980
954
737
107
211
771
631
485
669
367
707
191
926
645
239
475
293
44
684
976
455
127
685
197
396
18
73
89
33
142
452
930
563
519
638
364
422
233
87
460
325
881
887
695
326
653
484
946
261
788
884
608
815
86
428
325
163
26
557
915
31
13
108
757
261
376
269
582
349
442
177
956
452
711
991
816
755
27
757
149
666
638
830
333
679
100
235
183
156
227
841
609
223
545
942
463
291
178
347
115
697
922
301
576
831
161
361
400
719
932
815
403
77
992
63
199
515
445
868
829
568
16
584
286
158
465
833
194
284
414
566
837
607
948
295
741
449
682
891
479
929
737
208
410
565
669
561
923
383
757
475
983
73
874
198
270
552
463
953
310
180
184
442
210
61
349
303
422
976
912
490
617
771
452
837
285
83
692
864
593
500
761
759
848
258
831
626
468
463
371
422
473
15
947
257
626
621
989
613
573
83
517
984
738
834
322
253
664
413
597
138
185
232
246
551
842
550
818
830
225
928
174
456
255
461
71
835
258
729
792
754
111
170
4
433
663
206
544
970
429
460
937
168
351
555
370
70
106
912
616
932
526
796
318
66
719
62
758
20
534
885
765
72
517
269
204
765
545
719
142
473
932
286
211
56
19
782
450
831
715
315
20
147
171
580
979
83
721
852
924
41
858
404
312
720
573
880
577
91
178
314
854
245
829
972
478
345
695
648
12
810
152
194
566
59
264
13
161
3
416
254
311
715
323
476
30
248
539
436
288
433
760
624
368
123
921
219
605
771
366
59
763
763
796
844
515
767
381
433
464
185
58
620
255
12
258
97
192
560
524
160
456
866
77
215
678
689
122
238
594
269
156
18
75
990
174
591
178
677
845
608
696
115
560
47
28
832
840
387
936
599
290
2
358
75
550
697
775
401
366
414
172
225
756
819
329
607
104
189
138
157
863
829
914
654
224
484
835
537
972
885
665
806
467
946
4
713
710
131
800
966
596
894
760
973
602
697
691
619
48
499
606
487
978
113
174
989
237
959
556
413
727
312
676
875
823
852
189
87
328
113
972
317
381
251
706
249
42
765
798
892
206
139
194
691
449
400
773
573
150
346
688
387
577
3
404
387
486
790
783
857
901
46
59
862
218
344
514
52
574
86
600
494
552
546
259
335
533
962
766
118
297
534
962
473
72
261
126
840
180
261
368
499
973
460
914
609
473
52
2
464
657
471
85
75
401
257
469
649
598
267
177
361
570
629
786
342
462
553
379
312
452
178
34
345
905
548
44
757
104
103
902
4
414
711
80
776
609
27
655
780
227
385
405
630
170
155
867
225
344
532
360
574
615
980
785
142
751
775
141
246
284
315
313
507
441
59
845
788
316
579
781
339
695
127
716
781
847
59
812
411
275
641
787
953
674
123
893
184
642
673
61
835
202
907
501
569
134
496
192
257
104
537
425
792
669
699
589
67
995
585
714
343
239
847
11
389
476
648
906
757
238
299
841
393
583
566
722
220
463
943
921
6
935
292
521
228
141
103
441
154
885
747
168
559
867
702
46
497
121
215
706
157
900
404
931
467
229
214
214
72
253
356
697
508
133
889
33
365
540
833
62
587
79
672
526
242
328
619
234
29
125
138
191
638
748
531
994
817
210
863
182
936
558
270
831
162
809
326
426
213
489
150
2
931
771
834
485
205
591
589
37
331
273
855
171
419
297
229
428
24
225
429
85
694
919
259
722
303
440
763
218
4
624
864
148
930
378
65
914
720
265
925
313
68
991
828
221
70
7
215
327
321
862
980
378
327
511
607
335
692
724
281
209
680
619
135
652
452
795
128
418
228
433
457
423
389
812
516
706
167
836
175
223
45
167
215
889
160
816
233
204
80
619
593
955
728
766
117
212
370
292
576
707
552
527
871
363
314
926
219
11
691
72
208
537
308
135
445
553
347
959
211
664
449
336
61
135
904
984
186
840
284
651
696
510
936
939
454
809
36
178
133
129
305
832
740
780
824
93
148
633
82
354
503
817
551
206
604
688
831
554
881
818
438
190
577
539
168
602
126
921
363
211
238
943
326
380
536
487
499
855
46
851
854
218
625
188
788
797
889
961
14
527
378
235
77
490
795
138
654
535
890
299
842
669
503
124
664
435
738
586
970
182
445
846
508
7
386
799
583
364
96
503
559
114
579
933
686
26
554
475
983
537
262
954
592
597
709
186
887
212
404
12
40
225
194
784
927
98
873
850
859
594
490
487
374
400
397
453
657
572
128
544
62
145
862
325
641
262
316
94
388
877
330
934
951
806
733
206
542
529
880
832
293
5
859
83
313
633
862
883
768
993
673
491
607
442
880
508
35
524
205
415
849
822
553
297
926
924
495
939
409
778
725
930
636
473
741
786
478
852
197
989
285
899
126
86
888
857
699
323
474
473
832
864
538
19
642
94
459
506
672
695
854
122
387
439
728
851
672
427
39
47
98
670
299
334
961
322
280
851
538
786
133
670
775
445
870
771
989
316
987
103
620
270
342
136
950
678
881
650
503
444
963
809
143
518
263
475
519
745
224
730
973
54
888
454
925
809
779
293
672
197
840
587
20
612
202
981
873
745
682
913
138
737
87
454
121
517
198
228
933
984
234
460
161
843
81
516
920
610
971
283
462
388
32
998
975
775
7
504
227
463
614
893
423
972
234
736
594
664
343
219
454
347
589
373
701
630
267
658
302
426
825
490
893
355
234
253
135
311
999
554
591
970
442
617
581
41
849
724
659
972
164
660
448
38
401
678
597
508
381
560
44
324
133
506
13
128
179
851
194
184
616
742
584
699
754
497
569
806
685
827
956
565
946
186
558
958
403
718
504
605
568
183
469
290
217
846
417
659
104
689
957
548
739
176
80
305
194
448
567
881
840
541
928
568
115
677
23
129
612
171
53
258
123
599
428
851
603
910
113
497
155
917
368
263
353
396
165
154
325
246
557
854
390
474
211
306
658
646
130
467
36
774
407
407
647
982
586
499
651
126
602
573
406
256
535
66
697
132
963
195
156
808
195
202
188
112
856
674
797
200
582
979
498
27
264
456
765
807
110
17
163
270
824
95
932
490
688
8
456
751
146
254
128
104
56
821
467
215
72
79
107
477
384
512
143
665
3
760
836
270
50
349
688
223
679
695
251
742
365
834
282
911
931
408
492
748
239
797
297
554
472
456
248
797
443
801
209
36
804
699
699
371
919
58
124
378
540
155
835
554
466
951
301
332
408
593
261
962
276
956
40
2
611
172
890
137
795
777
469
842
766
498
375
828
471
995
610
409
738
505
378
582
31
47
414
833
424
45
711
617
492
508
224
606
733
645
92
433
250
939
528
580
556
50
297
432
798
261
540
331
600
758
198
4
946
431
290
161
980
978
164
187
270
707
30
394
707
147
186
332
799
558
71
518
160
580
819
280
802
982
598
256
898
78
853
553
50
212
741
174
0
430
964
114
616
937
192
562
287
651
21
941
115
148
118
111
107
20
14
68
372
789
31
789
222
758
122
425
92
672
240
311
795
661
96
970
431
970
644
758
798
837
539
645
50
55
778
179
42
125
728
94
996
561
802
346
10
248
118
532
564
391
407
82
267
17
199
650
619
503
667
966
836
30
293
146
289
530
132
865
761
848
41
917
499
384
392
618
830
720
500
258
637
421
596
630
762
228
272
870
721
857
609
126
620
531
3
727
830
630
716
230
847
758
728
752
496
571
870
106
504
394
56
862
292
88
116
132
857
253
127
58
548
214
814
859
560
345
392
79
358
918
685
893
47
68
672
170
493
582
442
858
393
392
643
991
354
203
191
809
492
608
525
322
466
772
969
621
491
252
712
282
470
205
940
338
656
27
245
453
529
332
771
10
240
245
781
879
296
986
588
45
132
885
476
147
130
718
530
740
880
390
833
48
807
114
390
196
353
599
73
323
984
469
302
210
873
871
550
650
510
123
55
463
374
134
138
243
783
882
363
494
210
13
496
497
330
93
72
343
777
643
482
192
144
127
601
503
314
732
734
368
98
815
933
981
629
299
713
975
769
516
999
848
272
808
379
658
398
62
646
465
881
106
480
449
51
13
636
458
699
131
739
224
852
138
893
818
725
476
439
154
952
74
880
529
235
945
154
276
359
972
149
117
100
85
993
646
795
822
969
631
141
989
660
928
114
507
979
889
460
988
431
387
122
144
598
336
524
776
549
985
408
963
446
903
749
983
837
577
781
17
189
103
574
485
842
943
523
603
291
368
994
478
769
446
549
764
828
585
773
936
387
437
203
810
837
750
195
646
635
848
993
440
129
499
53
129
257
885
374
810
295
830
271
651
331
766
338
735
824
214
478
636
125
420
170
972
83
590
512
44
864
834
37
814
120
985
909
334
452
38
774
542
330
377
515
970
459
918
374
713
958
178
872
517
974
488
757
410
354
546
620
854
753
132
82
657
296
96
919
286
863
986
884
286
678
377
119
367
65
187
354
704
227
498
149
670
293
218
39
822
119
268
507
928
789
647
81
475
61
402
134
552
651
164
888
718
914
639
55
242
44
50
172
328
69
531
311
473
131
30
691
940
93
594
960
61
507
383
562
667
550
711
175
311
377
786
561
739
34
758
981
234
776
70
65
85
69
383
626
506
437
482
663
276
25
685
986
836
677
679
354
695
645
879
834
667
666
962
503
371
624
385
365
941
837
99
549
490
884
831
798
337
886
459
351
307
288
149
870
535
339
801
853
420
426
176
568
300
643
779
995
836
989
851
14
313
334
303
923
438
187
804
192
13
306
926
983
360
115
572
555
228
400
485
969
36
165
87
601
63
755
56
219
865
155
185
217
542
71
871
688
618
50
95
494
164
153
872
884
491
67
759
539
279
415
619
388
809
606
348
116
627
675
262
683
667
466
687
552
562
716
562
916
376
364
817
674
669
137
870
40
618
668
857
497
629
711
405
206
269
897
932
921
373
797
539
716
406
814
211
502
809
806
275
270
678
714
328
138
272
223
968
810
919
575
690
591
791
443
550
83
215
673
307
677
876
478
203
899
60
387
390
801
256
496
806
782
900
567
177
488
117
97
609
311
995
993
710
220
866
149
715
29
728
752
0
618
157
149
415
168
978
145
220
200
226
539
263
128
436
845
330
336
480
899
197
414
832
955
325
167
516
637
729
556
499
349
904
764
402
98
448
798
447
697
793
525
914
244
224
388
398
426
402
208
573
822
692
284
337
878
461
635
454
735
538
327
452
177
119
781
979
417
890
763
981
339
698
554
474
949
938
418
175
616
321
739
301
267
402
411
242
584
590
726
10
446
928
13
622
256
323
498
54
692
253
68
215
548
350
273
10
190
707
24
746
610
336
111
195
340
753
241
676
252
804
452
274
190
788
802
910
302
361
207
665
148
188
679
553
576
36
654
477
818
148
750
1
692
586
762
719
363
535
229
514
684
981
491
12
892
549
436
337
192
148
490
223
488
97
789
557
228
91
801
453
941
107
543
202
723
964
631
756
975
953
715
670
766
436
694
600
200
273
631
972
481
204
168
487
702
35
127
885
166
69
522
936
341
98
520
915
15
530
779
574
938
927
469
401
166
383
748
338
853
183
317
921
150
762
629
466
469
951
266
728
887
31
259
191
843
238
85
109
169
270
797
697
216
185
112
996
85
60
523
321
631
354
712
920
375
196
932
274
718
914
924
217
418
753
840
134
233
842
581
586
573
475
552
901
222
563
256
721
757
993
422
518
9
627
55
896
128
523
128
598
319
664
513
126
749
187
749
848
445
121
232
519
810
795
726
493
81
669
150
891
714
837
769
606
202
442
415
121
315
315
204
323
921
178
242
843
535
107
852
84
770
291
374
847
634
82
530
814
710
291
910
792
633
654
260
439
643
41
500
542
652
457
937
585
310
569
991
386
86
40
532
435
149
154
362
350
873
802
215
200
231
59
643
627
703
458
14
161
49
465
8
196
344
513
817
510
977
519
575
47
712
457
185
563
873
649
404
137
974
624
706
874
68
419
491
722
181
91
885
792
345
159
837
605
385
165
41
179
192
676
755
70
925
36
291
555
718
134
695
519
261
715
936
302
533
461
758
17
419
924
260
245
562
15
659
787
532
487
482
807
253
398
871
974
668
520
951
816
24
533
282
61
131
637
566
540
362
267
946
19
441
498
863
586
952
647
412
823
681
802
90
994
821
868
455
863
805
130
186
840
226
319
543
428
943
942
49
113
558
337
676
564
759
276
75
747
365
272
34
82
790
546
619
134
152
564
586
180
365
307
771
426
662
547
579
471
221
455
690
245
127
925
800
159
344
51
428
1
456
922
800
39
901
275
734
552
952
845
43
154
407
454
672
508
496
782
888
341
726
673
497
738
286
10
984
650
116
876
322
159
211
932
92
760
245
485
961
235
199
948
971
268
938
229
446
99
770
705
441
897
932
565
756
172
316
790
839
140
982
909
40
398
543
703
547
419
1
613
358
426
721
324
484
42
410
819
862
369
198
639
747
406
330
719
165
219
989
410
425
678
951
973
262
720
17
258
410
392
370
455
273
157
109
502
374
736
603
998
948
673
985
294
675
40
755
406
431
553
186
363
400
624
284
395
262
588
450
360
632
857
545
92
635
453
195
846
629
178
347
850
980
446
591
773
811
196
312
96
950
860
641
821
653
403
901
836
175
249
262
423
332
316
728
344
903
53
815
690
797
280
831
135
379
164
508
716
504
126
86
465
352
313
617
853
803
655
622
544
808
4
634
863
481
92
49
910
764
146
972
330
822
217
598
728
837
725
867
162
153
894
919
958
832
462
684
822
637
417
792
321
955
200
55
768
886
532
3
282
568
87
723
294
49
198
824
405
390
582
896
37
948
686
396
128
39
797
719
30
602
940
199
578
71
60
172
248
533
779
446
945
363
595
538
942
612
306
535
571
737
947
185
628
643
114
159
599
795
389
716
916
232
607
945
734
774
672
996
431
622
129
200
62
940
471
505
267
447
587
261
457
42
469
43
316
395
298
408
419
433
165
860
271
490
803
270
663
90
793
920
390
544
635
445
785
78
142
963
218
594
587
985
281
393
53
108
837
68
878
631
106
887
587
45
875
982
839
180
976
57
247
482
581
39
450
345
792
700
599
995
469
90
188
656
558
160
948
842
154
312
25
467
701
183
936
241
510
353
698
430
204
526
244
65
683
934
395
627
775
560
628
613
284
412
587
865
652
317
73
142
962
254
649
273
789
987
841
730
833
712
714
2
538
124
601
326
876
867
374
515
157
391
694
230
978
669
60
222
412
346
522
808
580
804
831
262
467
11
959
150
98
812
861
820
398
0
902
455
106
746
615
277
144
729
543
630
981
589
679
534
801
563
388
265
947
746
374
129
283
131
320
306
761
718
421
483
264
47
14
890
46
381
755
599
654
767
542
797
685
649
600
494
683
684
456
415
474
419
76
88
721
576
444
507
311
931
742
564
903
69
566
900
653
870
431
301
797
258
558
52
3
655
672
857
154
336
14
336
440
855
334
770
27
425
218
636
809
54
917
524
105
691
313
208
350
509
845
263
430
526
918
857
241
541
310
386
795
994
489
282
154
144
53
8
803
189
464
154
810
437
447
670
89
521
404
984
677
140
484
23
762
167
79
302
29
286
338
194
618
594
558
813
991
809
966
550
473
203
26
340
181
158
106
128
749
916
870
274
732
319
401
180
402
356
585
811
91
532
285
199
483
390
802
142
97
328
318
815
427
603
530
118
582
633
227
190
842
808
409
113
227
232
400
260
572
781
539
238
23
160
214
965
281
914
660
189
461
546
8
776
21
388
32
240
372
764
439
601
847
216
201
995
810
460
505
628
141
581
920
744
697
606
963
272
765
964
940
54
976
404
641
693
289
641
907
327
280
671
458
825
428
721
964
109
531
216
581
893
15
760
265
84
30
618
17
940
79
617
400
7
47
151
252
393
128
344
404
793
590
961
382
250
929
91
209
812
236
867
959
19
914
619
887
379
728
754
502
205
775
895
542
732
743
781
73
673
561
905
246
81
153
54
590
118
507
771
931
941
378
674
44
678
273
624
112
994
206
828
181
148
669
712
276
815
6
93
153
244
106
302
96
916
747
904
878
609
199
7
246
785
490
990
925
299
0
471
341
995
360
903
827
844
142
580
365
505
82
947
884
566
213
849
864
239
15
789
190
697
972
182
993
623
87
655
157
688
641
730
800
809
239
993
940
414
916
166
829
67
766
35
291
713
344
861
745
569
645
808
683
60
207
199
958
954
92
511
286
106
372
216
195
512
250
13
99
556
528
669
638
825
536
390
87
454
442
409
689
168
177
777
493
698
744
450
713
923
8
963
474
611
607
0
198
1
563
330
88
839
101
72
70
94
233
222
577
47
97
642
673
262
481
955
896
188
359
815
709
295
68
230
168
258
252
900
130
826
960
43
154
185
675
800
671
271
942
519
386
808
376
951
367
309
406
976
73
504
493
321
711
383
566
947
645
995
782
92
203
157
851
387
496
889
294
828
919
129
570
8
951
126
504
526
991
944
758
249
196
650
480
944
499
382
616
591
222
256
2
722
868
940
994
93
927
697
308
426
614
618
200
680
712
383
675
643
801
270
964
677
589
540
56
513
386
618
268
976
970
227
954
791
50
639
400
18
105
782
981
524
592
625
852
423
236
518
734
806
513
988
7
449
164
856
782
998
303
129
320
19
648
933
512
0
544
383
109
554
60
915
586
627
294
371
488
508
103
42
598
231
700
648
741
929
234
128
367
32
398
340
959
796
448
469
664
497
403
970
63
669
686
976
992
969
626
314
843
145
953
452
57
570
826
182
397
144
524
62
982
933
71
963
560
31
350
671
791
420
545
852
538
768
399
197
291
76
260
680
341
472
234
635
222
101
804
564
986
57
189
993
108
452
855
812
358
483
657
20
171
512
864
389
509
458
496
57
18
403
494
240
472
797
317
502
621
494
409
879
358
757
803
492
846
269
199
61
944
761
498
310
608
776
94
223
823
669
164
518
321
649
198
739
506
838
363
714
701
961
422
30
222
782
685
473
158
89
216
493
926
859
951
503
663
344
384
262
931
267
23
869
22
90
900
425
140
584
311
298
327
653
97
917
810
527
12
472
47
644
772
718
852
165
618
444
102
674
527
250
537
108
921
589
673
940
31
774
253
448
625
250
239
656
222
708
298
34
625
302
283
797
186
525
224
695
130
400
930
300
843
191
829
5
987
377
553
884
651
620
760
48
374
87
628
407
945
92
121
930
54
826
204
288
317
322
864
353
429
505
519
504
264
841
849
484
970
595
119
17
77
69
49
475
555
991
986
322
333
181
924
985
138
103
421
652
839
852
282
659
888
54
229
279
184
952
662
419
709
811
411
631
425
548
208
113
378
943
733
251
156
819
481
939
319
461
959
881
370
782
384
924
59
734
322
245
210
120
332
253
571
346
93
702
5
729
681
842
408
325
7
309
936
170
435
900
401
457
326
218
170
189
779
84
666
458
113
768
988
194
836
832
915
595
758
36
18
195
82
6
365
23
118
444
279
583
856
433
243
107
68
631
688
512
590
429
385
643
636
485
1
204
396
611
976
960
190
378
913
79
314
959
159
703
329
747
980
786
325
838
291
930
490
216
804
180
153
489
478
673
567
509
669
27
198
125
388
396
646
454
128
515
840
127
350
560
364
499
132
354
770
615
429
537
398
88
110
490
98
366
949
509
938
744
794
703
598
662
945
918
511
363
687
344
689
974
120
218
85
515
133
710
189
476
357
934
840
322
100
958
688
469
765
598
97
375
548
425
363
530
674
735
47
404
970
433
498
652
166
956
534
256
188
262
149
436
69
89
57
180
395
304
760
185
788
170
956
344
353
291
161
771
282
728
292
730
172
987
872
872
581
885
120
690
247
441
919
546
238
966
628
828
529
300
775
267
173
482
182
735
353
796
370
206
885
497
453
367
363
47
240
863
535
863
54
380
266
464
78
222
244
26
283
177
772
500
649
927
628
138
726
615
769
215
371
258
204
931
946
235
869
905
728
350
60
863
565
495
565
666
497
469
664
261
853
861
774
317
804
196
843
706
283
705
813
451
870
590
572
43
695
575
395
736
65
724
820
787
828
237
746
417
790
94
80
380
715
553
206
391
461
73
3
186
845
149
17
48
37
655
211
610
431
270
657
830
238
319
922
317
783
955
16
655
965
663
402
393
651
237
275
732
984
783
915
665
174
579
223
457
192
416
561
809
634
512
857
116
242
457
887
148
187
825
587
766
533
577
885
307
453
871
549
25
72
270
266
226
947
312
71
820
992
846
101
53
923
268
328
697
390
283
856
155
316
42
866
384
356
134
867
850
244
709
146
228
715
982
470
553
838
97
994
617
707
320
913
616
54
572
602
321
531
689
922
514
993
486
376
474
185
441
609
646
746
697
442
61
447
859
73
418
636
282
808
215
601
901
388
825
596
929
973
813
474
715
440
474
398
316
79
4
332
355
164
267
349
922
832
279
534
111
567
529
370
964
732
965
254
40
80
16
793
577
385
410
528
37
49
468
334
199
359
690
435
354
899
871
242
121
647
83
87
894
115
441
663
22
6
884
566
871
943
282
870
34
733
219
606
751
694
305
961
347
413
389
283
342
881
875
351
243
0
232
532
115
121
787
955
36
525
646
581
371
182
311
629
528
563
824
991
157
765
760
509
668
796
543
997
800
314
859
666
466
33
778
27
616
592
487
787
940
403
686
328
801
133
116
54
488
104
740
110
857
781
545
163
829
322
220
493
323
120
186
115
592
358
178
87
533
92
68
295
344
952
594
143
561
365
211
256
464
93
315
756
391
960
140
282
850
585
460
722
746
117
142
346
204
640
329
47
618
708
310
494
28
279
367
123
156
328
342
541
466
244
757
363
140
185
794
885
213
541
17
400
647
686
748
74
747
838
151
548
173
753
674
126
44
358
325
335
229
198
866
560
357
456
97
118
370
413
403
131
835
268
698
528
491
737
702
317
119
762
836
886
903
688
122
166
644
232
165
699
758
638
57
311
125
938
250
351
194
745
498
59
461
717
293
904
793
716
840
186
367
655
920
810
636
943
821
438
942
444
145
459
134
644
430
169
218
492
36
76
459
468
903
518
315
804
920
463
628
459
953
948
642
774
589
776
415
372
853
321
964
580
63
797
464
918
352
115
631
838
268
167
287
92
688
351
959
97
873
958
553
145
371
445
923
587
894
394
294
236
218
393
783
922
330
274
863
940
625
354
894
260
66
934
861
738
65
643
520
901
330
198
547
572
664
806
239
943
121
224
924
705
907
961
153
276
859
41
574
674
249
192
129
946
302
779
203
795
70
296
53
137
216
323
963
797
383
664
671
481
43
758
938
986
790
192
560
93
357
493
4
838
192
86
728
512
45
826
849
472
409
949
938
530
233
737
115
915
354
760
561
733
67
23
546
354
296
82
57
934
727
615
745
249
797
674
699
708
992
525
157
513
258
778
31
491
159
293
443
198
171
15
830
647
100
503
438
95
159
230
551
48
710
674
970
902
391
793
9
427
39
679
353
810
975
84
806
43
623
682
125
816
22
31
836
111
441
696
827
731
973
54
63
338
761
395
848
338
341
297
353
271
130
543
944
604
159
341
727
248
109
923
378
813
880
666
183
295
563
215
512
335
96
290
818
277
683
522
374
253
771
270
134
841
778
409
525
551
437
219
638
639
74
190
268
927
44
731
5
550
745
233
183
915
863
199
134
648
529
691
327
297
467
126
264
65
413
226
417
896
977
85
233
167
859
571
954
928
193
806
129
964
676
993
223
592
34
505
76
704
937
137
571
629
30
184
399
138
820
291
594
726
718
637
164
509
642
754
215
330
878
813
179
627
435
491
587
47
807
108
435
268
460
335
816
214
948
20
684
320
294
185
52
267
766
664
957
93
265
318
572
938
656
865
873
611
57
408
803
353
627
35
396
117
997
540
764
242
321
242
932
296
799
68
759
959
699
516
94
113
441
284
293
849
806
876
309
444
383
32
248
234
336
264
302
560
891
373
737
969
515
478
547
237
285
110
741
512
912
436
750
485
728
605
197
488
90
22
355
201
815
742
624
450
627
819
220
231
195
872
382
909
182
975
463
582
899
554
746
22
184
676
294
226
811
138
3
86
184
275
124
993
62
205
36
401
895
341
97
418
925
289
601
191
774
170
222
396
944
464
839
918
624
528
732
753
72
123
372
873
26
27
793
775
944
265
70
724
733
807
61
438
583
420
201
764
806
763
456
626
314
878
110
370
206
604
338
496
984
489
157
166
737
562
910
79
575
107
202
147
271
980
263
953
319
570
738
348
763
909
545
236
920
940
520
4
411
192
905
79
982
746
587
165
844
746
837
49
569
837
376
466
587
937
235
433
902
530
763
801
404
640
27
656
915
747
857
269
447
928
860
507
337
943
607
73
446
371
201
912
133
888
385
498
651
974
725
832
387
126
511
917
158
628
931
434
605
931
149
659
605
128
789
645
184
325
642
944
882
429
295
822
229
491
429
306
895
885
251
937
971
369
10
778
384
554
500
537
8
490
368
315
221
307
424
274
289
945
352
372
968
191
379
842
588
364
7
749
539
849
993
438
252
884
35
607
767
640
766
665
798
735
598
107
666
706
321
475
131
388
766
388
341
547
352
381
933
650
457
279
30
480
852
696
102
495
202
671
364
14
532
176
5
174
92
894
1
914
704
758
45
722
601
690
341
523
902
861
975
18
8
70
6
313
544
740
731
452
288
310
389
112
180
241
31
911
682
931
621
700
683
48
155
515
846
519
199
424
844
109
190
521
27
33
646
224
692
535
143
353
702
801
294
893
250
754
406
161
918
110
838
249
905
580
876
93
744
662
32
39
488
912
493
984
494
643
981
480
179
561
364
902
93
620
8
45
645
11
729
271
908
251
457
992
892
682
493
279
442
728
582
63
797
587
153
786
194
788
679
198
268
655
350
811
105
252
327
386
195
639
479
305
48
19
991
974
808
990
104
329
190
198
576
280
972
191
322
227
833
408
164
556
901
585
135
230
984
134
564
103
99
55
930
222
746
521
35
33
354
211
316
932
181
373
79
581
61
581
114
839
507
701
822
802
483
409
410
360
253
603
718
100
281
66
205
447
222
67
218
561
892
273
957
792
286
267
650
447
802
480
150
280
599
645
864
672
665
476
68
304
255
69
159
768
228
675
107
810
15
957
540
318
773
878
237
102
974
340
961
706
899
941
432
457
264
595
149
22
845
397
193
954
104
109
837
941
296
929
937
528
851
914
45
81
525
309
909
307
381
783
746
960
127
797
219
232
605
944
610
866
831
653
750
604
115
10
505
702
201
267
111
41
277
97
567
477
120
480
422
66
600
987
595
975
167
422
51
460
842
849
645
88
664
411
417
757
997
759
108
252
706
447
703
291
880
413
368
63
566
468
556
61
665
570
210
550
103
613
725
461
420
880
692
362
32
867
230
359
555
231
63
716
38
87
231
652
839
357
999
815
617
364
949
882
48
157
274
860
10
707
170
456
661
800
61
365
685
258
202
583
483
113
6
20
85
3
112
642
143
958
507
914
803
53
422
922
886
178
80
811
559
155
640
531
265
198
518
446
181
499
959
213
510
423
755
225
956
52
549
618
37
707
275
789
254
971
594
729
266
828
562
51
747
400
879
264
828
374
69
778
717
814
77
280
191
525
688
766
490
254
486
885
205
402
109
256
976
498
108
146
209
599
350
954
562
987
275
418
66
625
217
78
114
568
210
152
387
608
676
176
185
517
117
632
890
294
930
389
105
872
149
195
566
847
951
223
970
161
331
554
308
912
855
202
374
69
57
508
428
926
868
939
351
370
715
821
962
826
257
947
338
195
738
974
983
127
717
886
286
870
288
131
58
98
177
789
801
947
465
721
187
496
954
78
953
254
239
641
429
314
531
963
554
625
827
500
47
243
204
750
595
776
250
651
619
385
597
29
192
134
753
514
294
850
958
612
283
414
8
913
999
647
82
785
552
491
119
707
361
773
593
897
646
650
864
433
542
877
974
743
590
670
101
141
73
468
491
350
369
841
932
455
519
132
170
61
575
391
294
944
453
309
649
557
747
71
142
947
352
406
420
378
190
388
594
561
830
471
270
349
917
934
424
330
839
705
171
618
736
466
617
161
960
37
876
898
521
402
595
18
904
551
85
139
375
117
323
903
992
659
765
247
578
21
337
306
201
249
798
657
703
924
668
142
35
403
762
915
355
253
894
679
422
932
123
428
32
929
947
912
778
946
741
847
417
691
920
686
320
460
837
944
349
317
191
80
854
7
85
722
175
112
202
105
145
863
55
907
314
634
95
218
76
471
478
522
535
717
621
203
50
578
109
818
37
158
569
239
622
623
676
971
444
662
985
308
676
511
840
773
587
293
358
59
94
422
763
873
646
772
306
78
658
22
797
299
361
142
149
793
334
302
943
97
411
556
877
272
235
328
766
483
314
528
827
950
66
471
445
924
455
707
263
804
610
170
350
394
686
305
483
570
356
441
744
760
211
608
628
979
107
178
491
767
798
792
106
432
159
963
595
720
829
930
794
206
820
865
275
271
808
420
656
887
286
363
257
72
403
700
316
663
968
970
194
560
450
808
629
13
860
495
94
147
865
936
426
418
593
931
401
842
939
698
560
615
299
184
687
79
528
619
821
374
159
414
713
360
249
387
657
660
79
106
648
606
652
162
823
970
686
181
270
420
491
688
783
762
624
794
722
806
582
832
802
31
320
446
579
388
325
536
544
594
357
38
144
25
260
979
776
11
962
31
774
33
415
50
477
973
783
327
101
748
842
23
994
936
868
29
400
79
588
79
403
822
13
716
187
999
156
603
589
772
352
756
407
870
967
416
434
743
334
515
804
596
527
603
5
672
876
586
67
858
51
199
442
56
211
279
987
260
1
12
945
442
947
307
779
972
5
606
123
228
381
779
780
87
132
777
898
634
313
720
622
995
270
531
258
366
27
640
673
774
651
934
601
653
494
402
510
514
985
91
359
461
431
782
349
392
443
222
308
216
362
160
829
922
23
454
42
821
795
793
541
540
951
239
463
449
401
131
92
358
43
671
199
493
159
820
784
978
908
467
945
610
972
191
957
805
132
209
777
494
547
155
925
659
374
954
650
560
317
544
728
530
607
405
827
132
873
193
303
45
481
881
48
222
575
333
205
614
299
153
656
822
93
781
487
449
419
104
450
665
757
508
470
776
493
477
9
858
428
421
452
434
597
300
829
287
114
645
3
109
581
619
722
525
622
913
361
921
949
594
627
620
935
458
359
122
467
150
833
204
428
544
449
342
544
531
946
737
54
458
437
742
26
71
152
68
981
385
931
316
445
815
942
89
390
316
883
579
588
14
271
69
533
684
62
325
538
860
212
863
962
448
712
931
371
159
639
325
273
443
373
942
864
766
990
965
322
315
224
743
166
622
255
157
571
506
900
630
777
730
468
523
676
818
866
217
319
645
186
828
562
353
886
855
559
77
333
908
757
865
150
668
850
864
698
831
401
928
862
537
20
314
38
658
189
0
214
35
752
685
716
802
944
745
949
44
933
36
639
545
594
830
230
845
332
677
429
526
142
579
386
613
455
253
466
749
708
795
383
693
865
425
219
581
559
614
832
603
78
914
9
647
360
753
361
643
455
220
123
66
464
956
40
629
931
765
560
243
753
70
471
131
541
60
735
550
398
127
932
202
329
610
194
150
665
218
941
947
512
440
136
602
419
629
852
306
274
405
787
699
477
645
868
231
67
550
699
927
514
350
402
329
315
784
319
230
763
70
440
570
927
8
282
257
508
283
675
989
255
842
994
608
430
456
494
754
360
809
948
222
26
522
13
989
952
652
318
491
312
627
39
972
584
677
962
374
485
519
658
46
839
469
383
827
254
199
502
795
135
794
933
290
420
769
400
949
318
267
194
237
143
564
40
987
46
778
380
114
937
505
695
779
967
901
548
9
149
592
393
29
920
141
238
944
455
527
886
286
293
976
531
471
651
994
86
65
589
272
928
847
381
351
117
902
330
280
358
483
834
949
550
439
191
328
801
939
13
80
873
60
872
595
493
765
278
982
987
787
44
604
862
784
341
372
146
912
591
879
437
587
643
316
473
860
693
741
706
935
339
298
205
270
519
486
427
592
655
19
63
936
7
883
804
473
259
865
553
247
202
670
997
860
807
199
254
673
753
494
355
642
382
867
379
463
900
786
290
360
390
102
772
86
110
57
222
731
529
289
289
994
874
816
972
489
507
566
20
812
424
475
829
852
185
235
674
807
24
570
594
286
837
108
966
564
21
153
101
561
16
620
607
147
460
644
449
626
651
649
143
690
978
311
451
92
510
465
169
194
771
597
19
251
700
140
377
74
700
25
545
805
524
661
303
24
848
552
188
444
175
66
135
147
866
539
986
269
225
10
873
319
349
432
3
130
498
186
632
934
714
79
777
574
655
991
390
995
158
1
340
301
734
732
279
838
632
352
816
115
813
517
249
215
176
183
900
65
551
269
996
897
751
830
532
253
10
645
494
184
333
175
847
113
601
150
633
390
167
424
91
205
362
517
628
290
834
656
736
71
589
839
846
570
41
199
433
419
28
711
582
517
53
85
421
436
852
264
383
762
544
810
725
260
868
63
620
789
606
914
791
925
479
616
247
526
73
383
77
499
541
243
203
920
413
843
300
870
871
12
204
999
947
34
752
222
860
954
668
278
334
608
287
713
971
347
61
409
328
562
245
288
472
422
987
886
695
872
946
742
781
212
469
325
637
177
297
445
698
245
80
963
71
63
977
779
967
262
975
976
331
599
768
345
611
763
821
889
447
296
711
415
742
428
476
811
728
872
275
180
715
733
940
774
545
572
720
990
528
715
856
948
680
745
628
932
798
101
415
368
337
586
673
675
935
723
183
7
221
49
851
422
849
854
848
843
875
879
121
702
617
784
598
610
485
201
968
406
19
815
332
613
620
780
379
863
892
639
707
130
637
97
843
826
611
77
83
824
916
55
784
679
17
936
57
306
851
683
134
325
518
918
910
409
667
870
12
486
278
698
667
977
613
466
912
369
523
776
67
792
669
93
928
699
452
308
403
35
6
760
971
387
149
94
213
152
420
480
950
320
415
193
699
850
187
6
429
689
502
271
578
163
494
666
879
59
657
407
253
833
861
388
692
748
132
709
252
352
586
372
28
246
228
874
872
579
743
750
965
490
187
409
675
452
609
225
197
226
527
720
742
752
56
960
567
258
602
183
501
653
494
799
399
768
450
336
403
303
148
723
187
652
544
975
457
577
483
805
352
438
616
165
453
160
100
220
427
964
736
924
242
549
274
171
514
186
284
431
564
988
634
479
606
890
61
29
697
132
5
555
216
104
750
143
271
309
937
593
2
710
863
530
564
222
183
494
439
831
102
162
756
593
730
70
925
302
847
566
12
377
919
615
594
593
244
24
794
438
73
316
369
676
820
658
312
577
144
716
761
796
148
251
772
926
108
285
197
149
10
342
738
737
840
476
873
790
526
153
781
892
846
431
322
724
677
726
208
291
171
399
803
534
966
317
602
896
114
632
828
885
415
648
98
282
163
783
717
835
132
527
477
841
813
929
305
309
435
549
808
964
95
555
880
80
920
772
149
936
328
580
823
871
128
497
51
666
344
434
882
737
627
600
450
507
566
570
740
898
443
362
449
448
730
96
245
583
323
176
445
914
742
869
340
898
739
212
233
823
385
451
406
849
177
988
939
724
710
297
866
276
195
50
998
264
222
572
200
221
273
122
402
659
465
343
662
411
985
692
513
521
882
390
362
405
382
159
672
370
375
342
640
459
803
584
201
520
91
636
40
322
43
925
752
849
408
735
942
808
691
372
183
51
167
599
747
569
490
844
559
944
417
494
565
383
175
117
1
903
853
900
281
676
332
202
902
31
670
332
484
59
362
402
223
827
349
512
300
893
58
800
514
159
874
137
458
696
726
353
865
172
591
402
726
647
700
989
14
294
746
259
18
474
931
561
95
825
462
55
301
449
68
11
600
357
412
70
183
343
378
331
631
362
549
410
92
39
74
258
75
576
987
355
471
620
884
806
721
210
594
844
43
601
452
811
179
508
637
539
346
230
675
123
151
318
848
657
54
630
592
221
882
763
258
660
683
698
804
986
466
798
122
145
634
187
235
945
610
849
802
701
581
149
106
164
169
977
169
308
712
213
61
772
246
688
225
936
446
575
891
297
166
296
797
74
546
254
110
875
929
315
482
547
227
203
987
184
385
886
973
79
413
11
846
300
482
188
864
460
308
720
552
679
563
769
613
982
101
278
451
94
288
427
214
515
875
269
825
627
197
141
796
641
442
893
936
643
516
117
120
225
770
863
92
245
243
648
72
673
981
267
633
327
521
329
149
416
959
233
353
330
761
507
631
487
759
583
501
385
836
274
686
632
375
469
725
994
21
461
659
873
918
338
6
547
622
553
252
772
747
520
570
89
325
651
441
860
725
976
825
248
502
930
792
334
334
539
323
829
915
710
900
117
962
383
982
982
755
120
69
946
565
150
496
921
495
408
486
258
239
912
446
580
213
951
583
800
570
955
133
102
469
394
834
708
387
3
230
732
656
838
277
23
924
505
759
416
152
639
453
420
807
586
743
516
613
311
969
26
162
49
797
856
780
432
221
953
397
313
727
252
674
338
518
620
23
551
197
188
160
34
647
294
109
886
448
417
802
70
457
885
335
315
855
654
938
739
379
70
371
26
167
988
727
61
532
928
904
216
825
169
668
135
148
897
87
461
884
736
719
160
439
621
926
964
890
228
773
337
219
444
203
290
818
948
272
619
929
926
519
365
30
402
405
14
672
97
277
466
119
978
565
110
197
628
635
185
265
298
572
7
462
888
272
322
722
273
42
187
779
260
822
22
330
378
865
622
787
770
721
824
206
459
205
418
132
922
139
844
885
315
250
144
589
958
461
405
41
697
737
174
730
677
491
181
364
861
31
516
647
612
867
525
37
947
76
689
704
406
885
124
947
472
873
818
474
603
466
875
739
46
881
895
922
907
657
995
409
677
912
939
583
547
428
795
258
991
837
265
719
158
169
544
581
428
558
256
46
878
506
366
108
708
195
65
801
747
394
34
4
531
313
583
664
787
631
512
780
36
314
378
771
664
337
79
319
113
827
977
729
522
735
681
659
432
510
744
647
482
246
952
107
257
446
697
106
134
687
83
855
300
909
248
594
436
117
453
95
74
203
312
106
902
269
4
529
481
44
454
99
342
662
524
387
286
700
150
199
278
870
148
242
998
658
762
481
565
597
907
921
655
792
364
485
641
834
504
546
124
473
23
685
428
966
541
732
447
105
157
658
892
209
754
52
959
707
420
370
12
693
891
801
525
41
334
798
388
290
972
889
573
125
863
668
629
229
787
551
834
112
240
262
33
648
457
359
975
509
271
311
681
516
789
929
257
657
232
632
44
950
820
302
152
964
394
891
291
376
870
133
767
314
320
187
595
776
891
650
521
361
864
476
535
693
332
810
512
4
691
808
719
495
883
520
99
390
795
952
499
261
409
520
849
355
907
225
516
818
958
520
480
964
160
168
379
640
314
476
331
677
380
942
350
823
434
412
692
172
296
891
97
90
265
503
524
905
329
552
445
514
76
937
473
267
440
459
997
681
775
325
570
409
529
669
438
444
657
969
320
20
492
671
677
567
976
451
342
418
712
941
152
91
893
12
462
8
503
882
806
896
916
738
687
715
552
133
652
384
56
207
780
843
135
347
340
396
541
475
462
642
345
537
121
427
526
772
916
711
598
294
842
335
234
950
733
623
204
483
725
602
362
839
452
818
741
693
968
608
911
572
625
936
237
898
855
818
163
385
777
226
572
429
417
579
120
898
987
629
986
356
634
233
296
627
334
814
916
396
142
63
413
979
154
100
680
205
407
386
759
372
598
126
98
874
645
255
13
206
705
610
570
65
250
165
505
566
654
254
155
957
869
526
246
124
631
345
568
923
924
213
770
83
374
236
165
643
719
717
174
493
290
665
473
936
760
369
48
447
86
797
687
489
348
939
895
621
309
109
147
473
149
543
506
785
537
439
297
393
870
270
708
92
355
961
334
341
746
705
454
472
152
272
659
135
419
849
361
399
443
869
678
79
712
981
767
660
555
469
895
883
685
850
152
896
573
890
295
590
124
621
237
41
257
295
394
838
361
258
956
418
878
805
693
544
219
697
333
955
826
53
885
70
187
259
272
798
573
520
767
177
557
662
567
535
297
749
690
758
192
722
970
494
467
78
309
992
409
198
173
657
426
717
707
32
708
810
899
900
102
202
716
871
735
536
504
147
466
300
625
116
206
554
569
702
37
700
181
777
865
205
322
526
607
259
202
923
459
385
868
940
981
159
737
947
54
82
836
306
229
616
656
296
360
226
239
530
310
569
162
433
617
167
598
794
563
527
478
904
803
869
935
435
943
584
253
183
5
660
27
68
782
385
482
485
825
77
869
119
717
165
862
383
28
548
659
905
422
588
961
158
988
273
188
301
105
798
677
51
965
290
184
52
202
397
326
308
743
614
926
397
75
919
853
511
808
401
810
325
359
408
488
971
870
324
23
226
771
240
197
258
770
920
161
228
478
946
771
838
301
847
845
521
306
612
425
223
427
417
224
316
897
640
670
380
895
790
250
310
586
429
402
466
659
654
436
295
599
348
729
15
498
596
800
954
47
318
244
847
253
349
974
672
856
994
779
525
777
864
20
149
194
893
57
573
681
683
39
119
109
475
57
606
510
940
241
491
348
56
53
744
922
963
989
675
901
558
143
345
325
475
335
688
737
229
435
159
470
4
821
384
546
373
764
617
309
628
404
554
178
495
276
748
110
521
298
529
693
828
6
434
869
916
678
622
724
179
801
245
308
332
846
452
330
828
0
566
511
872
273
987
388
438
967
841
170
225
259
560
171
634
824
227
783
968
566
795
60
728
775
357
35
156
249
242
246
273
966
886
25
14
762
774
840
870
270
435
650
57
227
34
18
113
496
568
471
596
907
767
727
23
68
100
875
507
57
74
515
693
980
248
451
295
749
309
320
684
784
815
237
535
242
263
128
512
393
767
973
366
911
111
19
842
891
976
645
808
341
496
305
690
261
424
204
49
10
721
369
92
445
490
254
147
897
877
923
677
793
610
144
744
920
475
4
40
219
479
312
516
831
520
512
458
79
974
271
499
616
690
47
523
278
988
402
420
518
248
691
665
979
722
610
903
545
55
490
859
955
337
76
787
430
453
576
493
245
732
835
772
307
761
173
247
295
483
817
84
234
501
961
147
402
659
133
279
503
51
256
181
814
515
407
380
954
963
764
597
68
485
714
578
587
87
695
407
869
252
676
90
196
778
644
523
411
721
505
50
315
339
327
640
144
502
125
926
764
993
201
48
235
246
223
372
512
713
473
123
897
670
71
618
823
327
235
306
236
594
209
218
987
49
776
173
561
900
352
654
370
609
398
536
432
999
556
303
755
101
56
157
570
904
634
594
179
45
241
579
540
149
506
742
143
845
279
275
828
481
752
596
597
628
447
101
823
856
318
41
931
746
115
291
910
818
829
172
632
243
596
717
249
195
584
864
410
65
773
133
794
974
444
406
466
170
510
663
123
315
478
637
148
789
454
910
242
985
520
942
9
929
880
654
35
283
532
761
988
833
357
68
425
446
956
738
628
934
302
247
282
796
293
31
114
891
398
829
191
854
801
533
934
145
273
558
942
501
508
418
971
514
507
279
24
704
204
758
880
282
47
69
385
907
178
981
946
402
899
304
389
615
83
456
33
334
527
452
32
683
428
748
75
614
518
244
215
149
366
252
115
795
547
373
884
704
227
420
508
450
296
577
839
57
744
405
343
25
832
116
66
419
945
789
688
143
32
31
903
685
671
919
939
479
174
34
728
725
880
654
593
345
920
631
941
681
457
490
186
479
114
686
152
598
901
664
74
762
610
20
353
314
422
437
78
905
282
145
320
886
19
647
468
768
802
614
90
999
145
802
479
700
632
919
823
969
288
392
299
700
892
0
642
255
512
508
122
28
569
71
380
665
126
604
327
778
852
516
940
435
132
275
996
27
754
809
22
234
214
469
673
759
987
147
13
109
34
366
612
764
219
88
204
54
391
418
977
786
718
220
120
383
511
548
594
94
124
40
460
173
92
308
44
55
227
127
370
934
65
860
976
831
645
745
818
499
798
153
262
633
403
474
488
774
305
164
857
83
944
704
213
371
878
94
504
895
733
643
85
150
146
819
846
428
301
270
781
53
200
895
174
113
835
890
977
765
25
758
785
905
150
886
138
47
594
63
214
112
396
360
366
888
137
542
521
453
404
437
319
107
560
715
548
843
962
709
912
708
108
90
132
704
873
558
868
115
683
848
536
575
332
647
95
467
194
147
7
100
949
651
568
455
511
918
537
798
430
299
165
69
467
244
971
372
354
16
780
795
526
360
711
721
987
816
168
362
429
831
613
734
258
221
91
457
26
277
329
362
810
135
845
932
305
154
297
671
121
593
165
986
209
829
8
449
446
294
213
798
353
264
152
352
78
182
182
913
953
330
630
38
199
228
600
183
123
501
297
593
322
234
436
320
953
564
495
975
110
956
901
609
338
70
102
572
662
90
201
895
162
96
266
523
186
818
522
894
454
619
54
16
451
736
968
535
133
212
892
685
425
92
564
560
357
20
793
401
2
478
368
357
514
534
50
466
630
519
462
967
701
922
933
3
237
675
631
993
462
793
559
19
678
710
46
581
926
741
47
916
241
456
534
961
58
966
500
69
159
669
276
51
548
832
707
370
664
454
569
235
876
486
158
620
775
175
308
455
918
986
636
920
801
700
44
240
739
436
320
891
111
614
499
767
148
163
897
261
85
229
131
120
264
666
220
882
627
625
773
265
836
859
675
439
222
194
871
496
939
202
845
985
337
555
962
748
578
777
217
143
284
270
443
20
142
254
427
423
981
546
647
6
690
239
907
959
369
279
63
779
575
730
779
564
579
139
865
574
76
997
387
621
159
655
556
715
865
181
601
496
733
581
471
726
196
610
99
143
214
732
150
454
131
745
472
180
16
4
28
60
4
382
146
226
27
922
603
540
338
758
348
877
987
739
231
578
684
524
414
783
504
85
998
620
564
327
514
841
148
653
562
151
595
572
747
486
516
643
89
523
74
120
232
987
116
249
69
224
794
610
205
614
76
482
555
856
849
912
635
114
397
81
816
432
277
414
118
273
575
275
391
427
263
568
430
778
726
259
449
399
215
458
652
936
980
193
983
337
114
456
396
323
567
905
13
972
859
45
938
452
235
634
308
310
215
143
489
672
710
492
687
188
695
530
357
467
596
810
764
123
58
27
481
457
379
165
853
77
889
667
470
377
292
666
807
917
22
449
441
734
611
955
92
713
958
25
233
478
502
918
490
332
927
645
636
320
203
83
183
900
625
238
225
463
568
12
339
699
175
32
357
673
45
921
181
706
972
838
344
772
978
266
43
363
941
752
751
974
21
886
758
441
895
749
289
807
737
145
731
282
462
941
960
757
43
322
331
85
110
830
47
633
972
377
217
908
804
180
543
300
863
528
664
387
702
685
560
931
62
589
13
332
853
829
355
746
929
448
16
139
264
165
513
570
925
879
678
233
743
700
98
475
253
387
938
669
114
341
336
833
9
477
553
701
640
206
104
270
858
490
234
820
497
29
841
202
209
530
127
394
557
665
155
957
9
179
495
635
463
22
164
102
79
837
696
642
858
510
958
520
540
198
947
510
770
141
66
55
421
711
109
171
557
170
459
86
18
875
12
611
76
242
138
691
276
476
754
415
289
412
633
170
179
240
536
163
120
664
93
622
462
310
975
300
719
829
277
478
61
883
820
928
461
744
132
378
646
887
122
265
942
989
91
188
228
628
597
895
181
742
283
542
106
45
918
89
39
429
590
414
625
561
634
675
784
478
162
526
507
75
642
658
849
621
236
755
681
371
217
634
252
964
505
413
800
720
69
74
738
814
257
570
465
332
79
376
859
784
474
254
55
272
240
146
963
492
775
829
350
958
714
993
819
325
687
628
53
381
568
40
577
175
27
781
135
996
439
564
432
277
794
212
905
506
670
326
840
107
684
888
275
591
794
192
217
707
506
641
187
913
201
14
703
232
373
789
746
311
644
416
994
388
789
393
333
918
656
398
688
184
326
829
705
309
141
449
496
786
703
204
912
653
661
507
308
320
210
828
277
157
702
3
193
599
148
764
739
461
39
909
411
301
71
358
337
777
966
576
768
782
208
31
950
230
891
212
131
872
627
453
57
269
477
838
776
640
173
556
154
665
38
439
122
26
659
873
911
861
602
512
35
400
6
707
202
159
967
271
519
967
924
117
601
508
179
766
630
285
944
106
313
924
459
179
70
837
588
369
356
149
23
8
552
567
546
371
63
140
282
306
588
158
545
583
319
779
79
81
642
634
184
596
689
698
944
615
353
708
356
45
255
155
949
149
579
131
53
496
231
664
484
485
212
165
613
231
831
729
610
435
59
103
230
119
952
768
954
942
608
570
183
126
337
294
134
502
392
843
193
817
582
377
613
830
198
5
930
411
402
589
985
996
858
499
761
233
223
768
119
161
924
329
392
756
877
990
632
344
29
807
862
391
104
261
620
803
887
613
150
59
563
947
632
823
701
270
372
131
789
871
264
661
937
582
934
336
152
402
790
913
658
822
740
73
688
853
568
743
13
484
626
742
46
758
162
712
653
870
496
192
618
512
105
413
876
771
516
378
916
140
15
711
944
516
775
152
561
458
402
301
971
616
489
609
476
451
564
616
170
577
501
685
282
324
207
983
447
490
264
302
162
207
734
320
274
659
382
328
761
94
353
222
799
113
231
292
34
141
570
1
570
259
138
158
527
217
436
787
989
599
319
441
724
936
829
283
816
172
141
296
566
875
824
81
503
921
456
798
936
841
145
872
132
451
708
957
849
406
323
252
117
199
403
685
173
348
508
888
401
783
282
970
808
185
330
349
816
467
279
934
37
648
125
651
781
326
664
635
96
962
52
410
119
321
74
536
392
173
601
334
118
274
340
704
259
97
957
583
584
182
350
907
779
706
490
806
49
646
570
500
45
551
396
269
261
424
147
555
301
120
597
997
396
498
661
94
15
214
882
516
917
825
226
784
661
305
912
162
66
569
471
794
840
501
630
598
484
692
919
311
79
570
627
913
936
123
295
207
113
713
273
155
601
235
815
62
125
380
273
856
256
888
840
354
573
188
963
913
722
686
999
107
111
889
742
410
876
784
981
728
747
606
637
949
397
740
216
903
755
483
946
397
845
464
295
235
919
904
926
698
532
274
362
187
87
51
975
7
879
994
454
234
179
503
653
915
120
396
955
497
341
389
564
706
878
846
725
439
441
459
421
436
634
152
565
260
409
110
879
761
669
651
562
263
190
448
519
491
575
538
684
736
100
424
248
37
763
288
481
533
712
995
100
486
122
436
131
162
217
523
685
141
586
664
328
316
220
870
422
166
271
315
222
747
719
123
530
99
199
568
715
289
166
183
82
992
249
567
163
428
428
414
141
405
555
942
716
32
935
932
34
445
354
689
461
910
793
460
857
353
375
706
335
636
522
177
250
758
994
610
152
164
325
762
401
552
190
704
859
209
929
644
265
660
471
134
589
639
417
152
915
405
458
619
210
424
549
628
259
593
522
658
20
38
510
735
457
894
763
388
513
510
145
708
553
460
529
219
391
125
648
651
243
584
467
594
466
315
172
96
287
555
180
872
222
26
137
411
126
676
246
505
782
43
587
894
630
934
716
863
763
972
733
356
809
591
850
986
543
70
937
688
44
376
621
338
848
443
6
586
152
28
588
428
519
577
694
553
983
481
176
958
959
311
756
791
341
888
104
153
63
863
330
435
752
797
398
41
139
63
261
361
965
222
628
789
556
739
488
562
557
93
756
537
100
413
146
280
366
119
617
331
726
702
317
756
874
725
205
232
732
392
984
719
458
849
511
377
716
820
49
201
827
476
56
241
474
729
69
708
253
788
565
389
792
453
256
343
853
269
590
173
189
931
622
20
65
663
982
251
348
87
16
26
733
83
86
127
809
653
383
997
85
873
169
118
249
311
630
10
257
540
132
293
921
859
385
525
373
39
765
416
33
712
654
869
913
621
27
459
478
23
308
64
336
644
912
73
804
933
37
985
945
910
751
504
389
966
610
157
42
389
551
767
159
280
11
961
371
320
3
517
499
363
63
910
350
143
382
118
791
436
685
210
709
934
291
483
7
397
899
664
213
644
437
22
535
463
509
761
639
745
191
226
380
742
466
789
77
92
177
979
748
188
207
579
629
780
986
303
165
84
546
599
857
841
83
870
907
217
976
673
807
787
538
381
706
581
396
292
180
575
51
141
528
500
217
319
212
246
613
232
679
202
683
200
544
672
213
404
73
540
304
859
441
768
574
964
249
778
46
779
590
322
744
870
368
595
819
301
862
950
765
217
695
755
93
456
364
821
855
843
409
308
360
840
532
392
620
295
774
601
30
53
420
878
637
231
220
732
644
965
321
139
593
495
710
686
348
80
882
683
489
81
32
121
573
303
690
755
133
367
845
707
333
390
365
569
668
949
240
951
845
460
261
777
210
312
189
976
49
554
624
26
548
508
949
886
657
372
121
309
860
96
444
41
732
858
859
792
393
976
724
466
256
150
296
258
90
768
820
978
870
319
726
283
614
168
813
109
289
242
240
841
409
686
834
712
637
286
114
968
498
623
142
573
315
926
87
716
656
749
311
974
193
162
382
650
724
346
389
947
72
742
162
68
399
224
630
295
436
569
952
152
995
177
951
745
241
957
373
316
416
752
689
708
300
306
104
722
662
911
613
478
754
202
675
959
925
722
25
768
777
571
819
342
799
174
163
405
773
319
718
721
841
912
959
300
609
302
567
173
151
450
242
528
251
761
485
969
417
30
297
392
910
10
385
710
173
46
371
473
281
25
438
961
93
685
714
194
179
595
756
70
310
115
622
30
652
509
38
945
551
190
553
939
345
777
730
540
453
877
282
456
781
446
716
935
310
357
4
746
140
4
825
491
236
403
283
578
811
994
515
392
360
513
752
811
385
701
45
108
92
182
927
919
332
401
354
468
889
290
688
942
490
4
217
29
420
165
912
666
690
109
390
966
955
135
829
549
374
685
757
912
412
749
832
396
216
635
918
709
23
318
186
962
311
600
785
627
671
9
83
224
135
325
49
575
902
246
546
155
671
311
831
146
534
641
205
122
553
733
672
25
711
856
460
32
245
901
696
628
473
892
366
53
584
425
801
867
375
70
779
592
952
219
488
201
97
213
740
47
153
154
687
351
187
827
889
511
714
691
517
784
862
54
719
610
892
270
489
898
707
991
612
296
96
827
485
619
830
296
35
162
394
680
593
557
470
113
979
237
235
848
255
778
843
0
378
94
503
581
369
123
87
573
32
245
124
946
663
599
527
640
944
629
209
244
530
245
716
372
274
894
710
33
310
184
22
28
758
846
207
302
196
576
344
651
894
658
664
757
196
958
384
398
184
878
368
449
617
474
223
201
119
603
134
206
618
55
279
137
136
812
562
641
647
638
277
127
806
511
367
697
122
262
921
185
36
345
764
599
176
96
32
283
126
377
169
53
52
575
232
56
924
209
268
442
220
48
731
984
417
926
848
620
804
5
171
44
844
213
115
84
416
233
388
215
393
148
432
158
737
894
248
977
258
806
134
345
622
397
440
131
844
890
483
428
192
63
712
908
158
521
866
510
641
94
998
499
561
938
676
88
12
707
286
316
298
754
340
998
980
987
716
44
622
428
736
547
140
174
693
577
384
841
472
185
197
663
310
512
814
668
802
769
226
446
615
832
1
480
538
570
854
454
929
882
574
864
797
98
647
804
799
784
215
652
513
123
906
122
821
742
45
605
417
559
108
516
987
508
315
563
855
658
111
567
738
511
865
908
4
18
88
369
73
626
664
951
702
250
356
930
612
915
314
707
281
719
71
221
79
161
849
289
780
935
753
150
808
115
400
250
251
296
254
197
76
424
74
91
557
36
462
16
298
427
701
24
665
211
883
305
258
629
797
416
943
876
854
657
556
540
522
989
646
818
533
940
659
640
346
755
146
644
599
873
393
227
629
764
674
240
933
890
457
741
142
853
510
169
348
151
640
404
183
232
603
187
115
959
834
676
103
537
357
978
906
103
65
886
584
576
502
500
130
934
633
161
565
777
204
521
12
327
884
100
422
249
52
679
601
335
575
421
144
325
384
304
131
556
910
945
467
371
62
33
253
4
670
654
384
975
133
59
647
738
547
410
323
861
560
302
836
75
232
608
528
976
395
350
700
745
388
697
548
264
574
981
399
717
418
437
998
960
134
436
934
833
17
241
158
607
64
499
103
32
294
680
746
52
62
602
177
420
293
137
424
307
992
48
57
800
713
113
354
868
688
822
595
988
453
181
922
630
252
167
348
947
686
618
744
792
158
134
73
340
846
812
593
696
616
813
718
833
201
265
154
375
304
461
876
618
771
972
608
223
533
212
677
894
342
672
918
97
800
894
383
143
989
894
210
314
717
896
952
927
839
784
839
759
348
863
975
977
922
184
815
634
21
959
906
846
894
993
810
58
911
14
592
730
890
97
879
318
715
960
524
550
203
790
763
892
656
760
505
396
763
540
313
781
404
754
52
69
597
791
563
810
432
804
192
170
514
523
732
297
321
522
254
951
747
445
636
362
323
258
150
939
297
232
977
952
617
267
726
940
631
583
641
468
923
691
38
761
39
239
335
940
566
881
130
952
227
794
426
391
510
710
268
451
516
727
948
585
565
667
633
146
917
871
232
436
89
545
658
35
469
30
973
342
760
776
472
278
704
468
609
33
830
163
734
810
884
765
914
434
323
509
624
894
151
847
868
571
590
977
488
756
958
275
236
449
664
738
797
991
780
393
873
88
482
234
701
70
931
458
342
246
513
903
275
283
54
389
908
899
332
648
590
88
38
581
107
374
279
47
62
899
844
522
575
103
799
962
921
967
38
971
778
927
347
558
802
22
589
706
156
40
305
767
478
139
910
575
605
270
112
44
616
307
402
335
16
552
696
175
664
838
906
259
979
358
875
288
513
352
421
292
709
965
433
982
986
92
407
378
719
343
120
983
827
491
657
124
58
463
819
227
265
108
253
392
475
517
459
953
911
839
107
223
904
497
115
863
369
808
220
108
735
808
481
232
967
713
717
882
337
120
463
154
464
932
343
233
605
50
13
721
921
650
981
101
838
708
839
141
420
314
985
384
456
761
755
105
951
246
303
88
769
265
901
795
577
202
108
408
521
303
837
642
334
988
841
385
614
27
957
526
587
570
22
106
398
500
938
47
25
560
331
843
36
431
12
194
7
417
397
254
200
756
116
945
310
564
574
495
926
216
87
299
874
473
999
110
179
356
126
397
126
387
162
219
811
735
840
822
782
740
743
392
681
383
819
262
987
9
6
434
962
899
871
437
576
188
10
300
380
998
497
638
469
401
714
762
628
188
429
16
172
366
336
136
94
293
454
24
63
264
442
952
196
718
140
719
112
46
341
760
529
592
385
856
332
903
155
730
171
917
523
994
773
288
460
118
49
777
946
796
898
364
298
938
396
735
945
409
393
110
587
110
755
790
514
137
812
504
44
746
638
553
461
950
48
264
753
425
315
209
649
990
609
84
97
810
472
445
759
323
908
632
715
727
420
385
175
47
182
620
137
623
378
770
647
607
443
634
82
175
979
79
199
662
518
194
420
796
664
795
985
822
495
152
848
697
912
463
474
136
411
284
885
770
539
833
295
938
425
705
194
514
797
618
484
737
370
766
486
776
962
264
340
836
838
601
435
71
178
225
733
798
147
106
131
389
253
761
15
780
897
452
978
245
296
325
948
515
749
690
304
229
8
99
538
7
349
274
707
298
813
204
532
507
888
423
732
55
143
509
171
887
67
929
553
320
68
965
191
160
408
897
399
36
403
370
405
455
185
347
141
507
946
802
130
881
478
867
535
553
653
525
157
346
849
449
728
149
614
938
242
602
195
117
393
26
441
515
695
276
51
844
215
336
307
32
369
314
305
61
146
265
251
80
844
765
713
673
448
935
203
472
531
308
959
187
967
828
990
538
175
725
272
4
607
78
381
348
957
439
202
307
252
242
60
567
748
506
112
583
30
300
343
7
555
709
433
288
28
118
487
978
548
901
919
43
693
804
160
96
69
574
537
192
480
511
875
938
251
307
656
478
843
708
619
986
620
556
668
101
441
957
467
532
457
538
53
766
605
189
977
505
362
773
593
476
480
760
334
676
290
701
325
280
103
73
642
755
214
584
243
988
995
110
55
979
222
332
515
117
596
172
635
901
968
7
372
219
881
121
371
946
702
130
841
984
267
976
311
360
965
450
400
364
574
26
771
766
907
274
480
612
296
415
727
721
768
700
366
452
675
475
793
76
171
785
216
689
346
102
555
339
107
447
161
844
494
889
330
433
842
170
486
235
551
48
272
901
786
886
313
825
442
221
667
766
154
233
838
217
101
92
500
824
478
514
761
604
0
964
692
476
843
104
975
913
923
513
263
713
501
867
993
589
893
585
229
712
923
408
75
693
982
154
998
763
833
432
35
868
850
462
243
925
855
563
952
261
151
647
91
824
449
541
537
355
315
448
932
457
63
725
159
361
622
684
315
329
167
927
85
442
851
805
725
162
101
749
316
530
523
107
268
757
329
340
377
611
765
21
122
924
517
380
540
181
589
130
282
820
700
414
114
499
671
971
433
577
351
177
246
116
188
737
287
460
275
114
449
4
935
704
637
833
637
646
244
617
701
542
186
897
36
612
978
424
223
647
10
730
237
700
533
448
869
6
371
476
231
82
449
559
419
692
826
8
157
255
600
24
444
862
169
905
389
79
586
452
447
172
533
772
426
84
501
756
58
609
358
47
2
690
195
129
981
981
896
962
601
114
499
973
978
516
150
866
476
203
779
14
646
32
572
382
58
448
226
82
571
866
299
945
742
884
621
402
585
961
946
16
608
49
221
231
110
454
751
432
737
126
745
174
980
977
397
285
47
596
271
49
116
579
590
236
865
654
803
407
606
118
64
564
120
65
58
42
664
672
67
143
992
590
229
315
179
324
256
638
685
94
722
510
960
105
572
670
501
102
706
996
292
709
206
290
496
681
757
312
319
721
131
776
303
443
494
13
925
186
776
329
317
216
839
543
730
979
47
36
489
959
47
8
708
977
204
730
412
560
653
271
882
266
177
997
725
147
485
410
788
942
231
59
18
397
477
370
277
470
481
363
224
803
312
169
402
650
21
45
103
535
972
985
163
45
192
35
754
262
957
537
398
954
308
657
454
868
612
541
634
90
931
328
808
685
763
89
38
166
287
228
898
621
163
890
747
638
775
115
320
277
390
889
283
993
439
873
720
657
589
161
996
391
327
12
86
293
333
632
645
630
908
363
904
431
482
113
280
833
955
758
556
984
363
912
587
201
138
863
829
184
34
723
994
640
7
342
678
727
208
628
713
68
997
685
185
517
611
266
348
619
9
645
381
78
906
406
647
352
986
980
854
35
897
933
962
541
13
739
328
738
690
574
747
820
290
107
258
479
637
227
193
421
462
725
957
227
451
232
222
121
128
914
33
4
205
495
820
140
912
253
358
630
326
562
98
255
275
125
420
865
763
689
491
871
524
611
708
387
105
64
260
590
467
366
756
838
450
686
9
673
713
15
861
280
980
383
347
531
536
275
225
465
332
595
62
893
989
956
414
245
844
362
616
914
365
815
556
224
924
134
354
223
177
409
409
141
31
747
279
144
398
801
403
556
315
692
965
875
390
179
557
543
894
995
509
337
985
13
627
520
313
583
628
231
780
439
517
412
34
863
16
990
362
104
369
16
857
517
737
48
688
674
701
926
608
786
20
514
118
804
834
967
93
20
738
692
515
72
673
648
80
733
328
799
554
836
379
676
17
850
746
678
100
321
850
278
170
542
58
912
579
390
379
552
284
612
307
69
734
171
605
279
28
460
233
101
712
629
774
47
690
908
954
435
1
142
655
806
895
856
841
132
127
178
962
559
878
176
538
668
353
297
943
938
296
6
324
918
377
677
866
938
455
60
240
464
172
285
766
379
884
759
744
975
287
763
933
820
698
145
942
200
25
878
560
364
601
658
736
688
787
921
996
242
263
617
143
795
319
164
287
792
847
622
289
120
847
603
595
584
244
382
767
134
890
291
128
66
519
278
6
423
725
607
670
134
339
951
552
581
774
531
738
781
872
805
853
54
543
173
710
736
10
722
110
957
188
70
802
404
184
234
702
238
997
706
946
524
737
988
924
962
101
834
719
61
359
402
1
145
249
397
85
23
354
194
452
632
95
198
929
154
105
235
371
762
405
12
172
435
270
0
949
541
638
612
635
625
133
359
744
410
951
316
385
658
494
279
241
640
998
487
902
772
518
659
936
121
689
93
128
373
656
245
14
593
752
247
518
19
992
796
761
192
443
207
153
303
534
846
826
201
848
903
18
795
657
13
898
90
732
7
97
342
448
149
655
658
40
246
593
736
862
200
954
129
451
821
992
234
746
357
854
960
737
406
722
901
802
847
98
647
753
141
265
468
924
663
603
851
464
341
122
343
222
811
422
60
430
445
530
792
397
982
940
809
648
538
181
319
247
536
740
100
291
207
537
240
862
116
636
829
43
650
400
456
458
42
492
172
79
163
320
514
514
910
186
981
805
698
666
678
821
568
281
483
682
540
223
891
315
194
418
780
768
628
378
666
458
979
563
356
927
911
350
271
591
527
929
366
469
335
835
715
562
555
926
680
817
789
358
902
865
127
894
312
655
701
4
334
377
241
936
552
863
199
540
564
827
128
604
590
925
120
430
124
387
82
757
972
809
245
510
514
671
716
265
558
920
278
436
142
389
403
395
874
419
420
641
496
346
83
486
411
377
925
821
243
782
591
453
651
416
104
493
403
276
454
473
562
704
867
749
135
623
27
235
231
560
935
220
230
591
972
116
788
121
606
978
568
545
347
241
945
902
982
426
787
712
563
943
0
221
25
528
581
609
338
947
182
578
599
572
695
758
509
411
674
379
777
349
872
379
535
92
116
222
730
776
941
704
206
143
374
255
692
500
718
396
137
419
81
496
214
709
129
367
855
943
374
188
702
563
397
566
307
600
592
635
510
810
624
291
523
678
536
702
548
825
879
870
983
365
706
442
865
614
338
801
50
289
609
574
765
3
420
863
190
902
849
850
150
563
329
6
956
975
12
515
791
747
883
840
109
385
296
818
671
883
263
259
537
623
383
708
80
20
61
323
255
499
66
9
663
329
838
583
220
847
922
796
482
437
891
774
313
902
811
778
335
132
363
541
94
7
549
136
698
16
249
548
860
455
224
589
574
679
251
572
966
81
261
555
616
289
973
722
686
683
173
915
379
234
596
494
632
903
498
585
810
840
25
928
151
438
527
407
934
680
803
315
938
73
526
8
755
826
674
666
283
491
397
921
941
524
450
981
213
141
364
129
534
312
266
279
528
912
397
242
205
19
716
284
715
624
962
24
441
785
340
741
443
217
145
948
245
147
454
320
769
759
15
464
826
419
959
525
34
505
545
721
558
637
386
668
876
349
187
665
916
874
504
134
465
638
217
197
134
698
882
63
783
294
101
971
817
540
653
290
567
7
412
611
515
313
739
206
141
79
808
668
363
759
510
775
262
64
639
621
399
713
515
550
85
691
573
803
48
846
233
782
630
128
675
202
793
868
406
56
556
222
790
67
95
228
752
143
464
670
238
600
157
528
365
710
79
94
509
679
717
114
52
106
795
102
959
407
743
375
854
4
99
463
672
485
405
880
220
795
465
554
948
319
842
846
958
375
579
752
492
120
685
741
707
199
94
778
206
33
217
754
75
660
606
301
321
722
21
657
182
601
650
4
490
761
819
767
884
618
36
809
890
98
234
90
595
620
549
70
64
892
989
116
438
903
2
584
844
739
343
169
351
175
222
413
79
805
885
223
686
893
358
566
338
417
200
397
541
256
63
911
458
83
461
411
293
233
535
539
557
368
474
335
171
860
484
913
374
331
901
124
53
290
45
386
419
90
67
290
174
278
963
736
638
601
592
944
906
480
750
286
343
703
755
107
661
138
997
602
136
259
613
52
104
539
667
113
79
634
991
634
32
62
143
373
101
347
113
845
421
701
103
832
100
920
411
229
835
54
829
576
733
940
124
940
933
323
358
862
889
372
92
668
633
586
576
4
309
917
640
266
30
280
346
344
7
573
438
256
856
929
979
439
941
344
236
206
233
655
98
428
255
159
259
113
790
351
38
744
941
770
545
916
724
480
407
923
873
520
858
970
721
226
223
70
230
3
39
801
23
0
67
508
594
870
456
825
815
145
98
309
146
903
806
542
957
370
980
799
919
545
226
852
207
72
626
743
234
206
963
181
341
6
927
168
771
601
511
314
944
62
611
645
546
126
155
164
29
967
469
21
783
404
428
824
890
405
237
243
1
196
877
899
430
747
555
599
682
75
861
790
604
805
820
867
104
665
422
544
554
687
460
745
671
89
817
643
470
973
565
813
89
582
264
632
960
820
740
228
21
178
499
603
556
8
178
500
524
407
149
431
468
652
88
692
465
274
504
293
651
927
478
134
392
667
594
657
88
899
129
666
831
289
122
879
792
713
712
249
283
857
311
481
923
528
126
967
464
799
897
491
120
803
44
87
353
580
608
291
626
691
518
182
309
145
663
647
138
525
445
743
426
360
635
354
479
339
179
580
646
876
618
925
570
841
868
870
559
889
299
441
253
380
833
603
58
60
770
669
251
260
388
175
904
558
738
781
795
393
706
879
485
520
39
971
31
861
876
11
336
509
161
689
78
247
851
178
684
311
775
123
893
715
430
323
187
423
320
741
548
746
189
907
587
596
883
858
62
26
671
187
97
498
390
564
632
34
347
145
812
895
781
896
708
985
700
135
905
457
843
888
971
209
960
853
193
268
632
248
603
584
640
708
137
24
618
32
451
392
52
382
732
627
393
643
645
731
885
622
871
699
819
928
151
148
957
773
711
106
29
403
659
588
676
427
158
799
700
822
201
294
947
459
971
246
401
516
122
371
638
365
327
761
350
284
529
669
753
90
958
715
456
760
203
917
868
564
616
230
283
266
32
452
233
880
342
238
745
232
668
763
464
58
970
566
453
681
287
980
563
688
442
285
538
802
289
395
830
735
977
7
385
728
88
926
824
215
909
785
998
972
554
642
758
371
310
455
66
52
585
942
558
423
542
400
90
3
218
634
559
673
809
501
501
69
423
315
240
524
981
424
283
29
373
999
365
319
865
240
235
837
516
262
991
907
565
945
125
295
450
877
381
793
87
419
752
906
308
493
276
942
309
987
629
619
51
787
936
216
214
701
498
632
429
511
128
269
229
9
449
208
877
422
817
543
596
624
532
795
132
298
794
976
308
958
833
243
800
668
658
997
846
664
948
339
119
348
104
276
120
489
161
873
743
505
285
304
82
880
837
446
734
763
99
770
146
820
534
646
440
670
642
266
571
842
212
967
680
382
320
713
230
260
105
333
555
290
651
861
379
766
94
21
994
703
507
52
74
559
700
925
740
894
814
162
231
42
785
426
175
993
837
872
662
882
281
267
398
57
7
679
337
857
186
926
874
557
996
20
235
336
929
821
420
886
631
312
931
923
249
47
694
640
792
420
957
363
912
907
427
371
426
110
515
738
98
395
97
538
314
518
669
201
255
865
853
672
975
439
426
200
208
391
318
972
730
988
678
810
295
835
561
123
397
667
145
7
973
68
562
116
970
194
742
642
265
914
9
652
323
895
434
857
881
957
573
700
856
785
176
901
892
766
809
573
269
383
526
249
849
72
792
491
96
467
807
138
684
100
183
376
311
146
459
161
797
382
801
313
312
48
895
201
154
648
167
957
547
368
197
450
833
487
274
780
981
123
307
217
355
258
263
592
556
599
871
207
187
500
750
531
865
340
453
555
311
43
641
103
781
629
845
6
288
881
324
844
642
60
190
465
148
247
39
893
289
801
839
467
138
209
205
909
737
501
990
958
600
152
860
821
168
350
496
835
90
288
237
552
257
146
424
62
83
647
840
864
992
922
89
960
891
486
889
697
140
537
503
613
96
457
365
628
461
541
151
278
710
717
878
225
601
755
343
931
616
123
604
310
276
66
109
398
369
223
247
363
90
536
834
915
795
311
814
208
733
134
811
513
98
883
990
180
484
319
141
795
262
548
251
339
129
77
798
148
972
66
369
154
952
48
525
418
638
982
596
962
127
135
838
951
34
48
672
606
832
965
512
60
705
268
717
275
104
564
502
275
399
329
698
542
215
714
859
960
531
804
331
251
639
222
840
679
590
929
859
702
995
143
96
7
236
867
770
6
21
966
358
351
354
279
437
283
465
469
120
529
120
925
789
789
873
326
250
201
634
740
919
83
200
981
756
779
625
883
484
40
382
275
671
102
965
979
799
705
915
733
623
484
629
753
977
75
687
732
685
950
235
432
1
809
986
40
722
712
320
782
371
151
273
399
673
124
933
792
369
929
617
269
480
364
874
118
112
533
629
517
929
808
57
762
822
521
325
608
272
365
895
456
4
5
312
335
125
225
625
14
280
528
15
47
460
240
320
978
781
842
871
486
199
283
462
788
454
810
720
875
136
534
678
969
343
689
55
815
918
167
84
734
754
684
318
210
365
749
962
65
594
730
213
366
613
326
461
214
157
5
342
130
903
306
397
206
903
396
455
122
431
197
156
522
41
564
267
934
518
91
273
649
785
483
948
657
486
564
853
629
254
232
910
610
425
103
977
141
838
684
580
997
902
956
795
371
568
299
150
875
761
86
575
259
25
188
410
501
360
831
108
392
117
220
929
77
715
603
753
881
380
193
77
65
323
779
109
629
703
11
879
845
914
565
53
631
918
373
118
591
980
518
531
774
300
229
702
222
280
510
499
764
106
331
43
208
673
122
645
43
540
493
948
578
43
363
909
664
649
603
266
618
580
298
691
313
260
677
431
483
116
213
530
690
894
375
736
513
336
378
659
562
586
388
94
385
375
104
396
821
99
571
210
776
409
298
867
197
722
859
925
423
893
539
294
410
526
210
723
636
886
956
508
983
515
443
245
781
532
809
442
227
581
913
890
189
129
634
533
70
87
404
128
969
437
996
628
467
750
700
56
958
994
339
561
244
213
803
426
238
647
500
917
343
380
531
534
160
703
137
116
292
733
713
881
371
991
483
218
4
287
216
857
587
604
7
196
546
646
337
762
223
886
406
517
265
362
315
165
570
567
205
358
598
677
637
995
689
200
853
562
466
11
608
772
939
407
346
96
327
948
177
732
697
204
292
998
111
35
745
780
430
752
288
96
160
763
626
401
659
786
516
93
742
48
150
488
566
409
931
899
2
496
691
691
6
955
75
683
572
451
468
41
535
584
109
821
184
728
281
122
692
704
642
410
129
152
731
504
429
411
594
571
717
369
6
450
584
38
686
261
35
5
989
805
754
290
537
285
74
989
279
726
818
985
792
963
391
526
801
443
761
419
129
77
887
171
303
301
486
547
650
742
92
846
936
269
658
638
664
373
650
536
975
320
670
798
904
339
620
288
910
553
965
234
877
834
282
316
262
701
842
335
843
307
968
731
848
98
569
792
16
143
30
596
61
716
99
78
879
612
445
888
573
4
434
207
850
350
321
258
245
704
277
181
648
642
766
868
595
846
0
49
827
738
868
922
634
965
747
169
522
667
510
951
191
41
986
992
275
211
951
231
493
953
77
64
651
95
672
778
288
708
32
411
83
778
426
318
960
237
525
257
771
732
821
72
9
399
513
516
375
454
940
580
548
886
983
50
222
491
396
952
935
468
73
737
558
134
295
468
784
689
361
885
581
859
799
310
745
922
710
675
58
300
769
157
193
860
253
660
68
716
112
17
560
277
574
102
261
466
579
82
692
130
747
326
734
663
113
646
327
910
993
303
866
620
585
862
682
598
636
69
365
123
612
729
923
981
476
671
736
436
839
775
499
987
285
874
780
66
571
379
681
170
409
243
33
940
653
223
831
104
148
545
341
848
441
804
460
6
907
854
917
199
81
997
359
128
918
517
277
271
759
176
669
863
557
139
327
229
283
400
871
150
89
732
530
239
501
54
362
373
558
747
219
394
73
909
983
789
6
215
334
729
515
625
535
801
354
235
243
300
342
797
423
532
723
157
597
719
960
452
473
75
937
90
735
445
464
394
39
596
397
579
772
422
81
551
343
177
212
334
890
301
730
202
510
322
621
778
908
988
898
94
974
527
129
854
784
972
551
998
340
750
328
315
929
979
300
698
916
289
256
522
253
592
742
254
811
109
568
735
19
489
363
814
748
280
738
692
900
528
641
773
873
973
677
605
704
370
109
794
372
241
721
415
529
708
435
755
195
892
258
312
101
618
138
23
496
442
870
58
685
179
784
790
649
63
311
767
32
39
726
680
757
624
414
266
809
711
833
75
577
102
886
671
87
250
978
553
278
601
172
203
78
310
962
625
503
374
662
889
160
771
885
488
121
121
118
771
112
900
264
390
232
901
893
506
94
834
688
686
437
870
791
992
862
560
407
193
304
432
860
514
82
712
886
124
629
422
578
450
463
761
714
811
978
222
805
180
182
283
967
361
918
665
971
766
366
521
529
619
711
895
120
691
463
374
135
410
916
660
600
614
206
391
645
784
202
356
105
83
138
659
356
693
68
895
609
979
137
711
241
939
434
183
725
287
144
978
910
820
188
938
761
373
709
542
896
700
903
6
218
837
998
192
733
650
551
331
881
208
284
746
952
51
192
281
678
277
690
911
652
757
33
103
558
916
460
317
558
415
284
162
639
379
483
682
885
462
905
471
900
293
727
826
38
21
888
575
396
849
768
730
774
473
512
141
774
481
22
910
529
470
182
677
669
322
335
12
647
590
513
766
804
645
411
990
99
492
403
894
554
408
107
523
60
272
277
259
914
164
767
487
769
309
159
596
63
283
646
44
693
993
831
968
418
177
787
881
70
884
880
871
275
157
113
473
817
487
37
235
306
881
483
249
646
519
34
368
724
780
782
885
245
663
345
837
429
891
329
673
753
482
884
95
126
263
733
480
360
408
330
77
96
241
555
468
952
912
751
899
894
537
564
962
535
324
415
821
214
522
677
960
653
882
142
191
572
37
14
41
7
639
6
795
20
613
301
978
695
618
990
584
141
80
670
887
685
763
923
370
20
357
858
385
531
32
14
683
157
279
984
696
890
281
988
750
707
936
204
865
133
560
200
491
768
962
303
578
623
191
737
536
724
381
997
927
333
977
358
429
728
923
686
440
0
148
433
128
341
853
754
509
414
360
761
653
380
823
379
967
15
700
960
900
378
501
980
150
735
821
29
450
977
824
653
207
457
181
897
184
708
290
381
575
398
780
469
474
668
56
123
873
322
100
518
392
758
453
488
657
391
483
971
706
944
504
645
678
503
457
66
913
747
4
187
277
881
843
94
519
88
746
105
81
619
131
85
368
293
740
740
280
884
819
785
932
50
106
591
736
577
499
796
764
793
842
246
217
7
592
286
871
883
998
410
293
12
967
968
521
464
736
204
722
631
836
343
371
330
97
215
691
863
149
23
478
744
197
169
896
253
566
103
898
363
338
470
578
303
20
77
44
841
175
399
634
641
560
721
565
537
659
430
453
52
768
112
160
43
305
698
490
286
770
703
793
42
341
417
525
248
191
564
678
971
471
813
582
873
111
136
290
983
60
2
629
204
317
800
303
620
447
95
288
47
774
363
867
105
676
698
66
33
470
872
375
234
865
745
161
480
514
445
290
172
197
7
883
437
209
615
160
791
534
42
950
939
341
247
494
169
333
894
759
704
856
387
428
33
702
198
902
818
104
406
681
868
697
720
534
997
210
866
288
560
347
723
642
802
105
20
692
995
40
974
191
737
753
19
485
220
989
231
861
775
865
337
313
422
828
549
206
610
869
256
268
886
933
392
841
747
31
496
24
346
165
419
73
226
19
999
548
940
897
113
868
898
285
186
665
820
742
105
454
847
128
898
743
968
139
60
689
486
389
351
34
136
611
527
996
435
650
731
866
727
435
324
810
952
674
147
229
512
710
778
487
511
914
645
324
341
701
815
295
115
658
865
402
113
962
442
39
483
127
903
538
819
230
252
66
661
994
559
686
810
706
782
973
663
863
18
767
536
685
39
245
277
800
106
441
65
424
294
205
25
592
682
217
73
250
950
200
448
706
756
365
1
646
135
803
863
486
924
947
417
974
864
158
976
780
194
232
161
748
856
434
872
118
948
999
193
720
701
550
337
227
741
252
410
309
898
309
819
861
93
447
552
580
717
871
307
325
815
595
130
986
412
808
757
760
718
310
799
505
800
831
573
520
378
430
616
121
984
65
506
797
758
125
937
456
41
196
837
244
409
808
106
968
438
766
70
662
303
356
849
508
14
80
880
725
71
823
67
749
101
704
684
434
55
96
507
118
475
963
476
696
302
694
504
932
945
554
8
298
547
485
805
641
532
166
436
453
555
319
458
742
401
127
610
894
875
687
876
143
531
49
347
431
850
739
355
77
956
543
716
393
303
608
788
717
44
526
870
645
549
252
920
100
799
296
104
738
891
894
744
960
809
468
683
17
504
974
34
367
78
62
701
223
51
228
515
72
664
128
784
831
186
248
430
510
380
135
489
42
907
302
628
231
140
111
731
987
277
223
388
939
572
814
850
530
84
922
355
348
321
660
14
337
977
932
873
437
382
175
238
346
375
376
562
95
698
755
862
125
673
895
520
646
481
39
922
392
190
966
835
1
140
811
996
533
71
762
604
167
533
814
491
157
936
819
797
107
714
355
276
686
891
464
954
211
318
490
836
590
857
366
48
725
470
128
321
145
329
490
261
292
226
830
214
433
563
236
272
64
408
440
507
700
501
235
470
294
945
627
259
417
282
764
272
953
310
856
689
713
925
247
951
936
709
114
280
887
675
179
789
569
525
372
140
837
313
29
843
730
139
137
397
151
589
565
155
163
270
374
821
480
983
254
978
620
931
295
363
623
109
453
471
142
151
457
846
768
724
726
168
466
287
779
65
644
869
272
556
384
500
92
591
595
601
132
926
725
503
421
611
655
79
738
984
974
634
759
988
781
870
246
853
313
94
661
744
605
993
457
291
355
916
303
168
655
568
309
93
398
360
126
888
825
745
107
139
740
55
217
91
642
663
568
151
416
79
93
563
94
842
355
467
556
705
499
727
394
328
92
605
61
403
593
451
149
113
625
677
474
34
818
296
748
86
338
399
290
587
707
234
174
906
688
501
345
939
907
503
559
550
772
116
77
780
121
885
870
764
942
224
463
356
630
25
942
234
447
258
260
162
289
826
431
518
55
781
516
991
402
62
496
644
427
526
712
859
315
707
987
651
886
266
700
655
524
685
61
446
49
159
80
539
719
991
223
131
87
561
71
595
637
103
667
102
63
401
662
665
773
804
999
189
910
635
770
418
118
447
509
466
727
2
666
982
891
919
854
352
502
355
456
479
598
42
16
800
325
124
95
70
490
123
328
131
819
363
715
722
868
305
390
69
690
38
388
512
456
92
484
739
597
127
263
61
277
472
345
319
127
236
644
930
611
928
599
120
545
59
927
363
661
868
639
749
994
434
229
793
353
347
48
961
16
368
826
556
349
830
501
756
694
158
945
83
74
368
211
276
497
409
518
179
5
584
356
688
862
256
668
340
698
373
423
354
285
589
71
109
739
390
474
633
346
908
505
679
621
800
778
572
609
827
841
617
864
282
62
117
279
434
522
457
963
651
259
46
65
694
783
842
466
943
407
377
588
772
768
937
773
542
529
170
842
604
512
907
413
636
589
885
976
469
658
980
986
33
870
601
951
192
21
23
745
799
21
394
836
61
866
12
914
930
767
283
504
198
321
373
946
880
11
531
510
356
118
5
773
651
986
349
55
241
516
292
24
480
722
193
404
187
856
151
16
45
401
650
92
37
298
575
425
941
355
188
727
424
980
580
952
644
139
293
671
430
819
425
679
52
444
748
511
826
3
646
867
129
107
437
482
883
199
934
636
703
80
189
115
551
387
991
732
169
538
179
38
665
266
767
712
382
527
144
522
763
913
23
343
844
223
382
33
224
769
25
883
889
513
383
161
170
535
99
789
141
480
98
734
182
135
58
80
293
143
837
261
760
525
12
240
507
361
877
665
4
764
567
873
343
60
773
940
260
251
118
896
356
744
477
68
737
307
918
238
715
360
287
406
280
173
48
393
583
265
13
639
548
332
713
21
85
542
235
254
838
66
528
335
870
594
363
509
673
483
180
583
776
394
292
624
527
267
497
613
323
22
909
658
103
62
874
687
749
300
571
893
500
294
934
848
119
474
854
844
593
559
958
519
701
569
522
98
868
243
907
207
38
123
948
399
506
123
554
360
871
390
510
699
136
335
214
250
497
322
482
365
651
418
394
243
480
387
294
549
207
682
728
20
480
131
296
805
391
802
668
588
104
794
192
637
465
262
500
282
682
327
291
525
99
778
453
144
408
45
971
211
146
549
37
902
825
112
969
301
145
999
805
836
818
930
948
363
358
797
946
151
524
128
10
10
643
412
592
289
427
841
91
41
560
213
561
807
403
338
369
705
740
812
689
416
436
510
107
181
75
783
223
901
609
79
168
806
139
723
395
537
226
263
671
81
230
713
21
230
281
82
125
844
934
144
499
925
33
484
831
416
972
226
747
944
62
768
71
467
619
572
659
993
470
939
468
566
877
955
877
412
180
978
961
144
187
704
63
399
802
506
522
896
561
377
997
304
93
185
748
169
802
672
625
774
777
206
342
235
103
940
936
582
529
54
187
580
327
693
273
858
481
61
357
616
127
539
69
710
262
748
367
416
586
815
841
883
310
329
175
823
389
235
567
309
403
705
471
631
906
466
168
744
439
710
989
773
718
118
655
763
481
646
677
795
100
445
749
757
672
342
835
499
101
503
590
314
834
288
9
446
803
809
636
717
447
641
156
909
314
625
759
645
133
627
52
537
354
229
537
822
107
356
978
424
848
971
472
416
187
140
357
210
225
510
296
60
348
948
663
29
901
359
250
961
764
714
94
576
862
576
930
681
163
491
831
337
163
337
272
979
354
594
43
638
758
435
246
565
269
615
854
400
798
683
883
586
737
16
79
377
857
151
550
915
282
471
460
756
282
645
188
784
139
45
866
921
659
915
958
118
241
765
658
369
555
899
410
945
308
854
403
696
944
18
313
817
759
317
323
994
148
633
605
191
758
125
99
364
896
879
978
366
584
752
516
841
14
650
796
744
290
650
352
601
351
565
146
817
220
939
4
229
708
91
631
292
678
510
185
508
889
615
656
700
920
762
704
651
719
120
284
718
895
300
543
263
986
255
30
766
752
15
166
2
748
319
33
489
135
793
666
718
287
916
360
32
726
739
587
859
22
679
616
369
836
858
103
155
990
983
95
365
561
739
603
741
466
537
888
999
701
254
893
74
573
437
469
476
26
499
727
488
912
216
394
603
598
610
184
330
150
169
7
122
183
765
925
406
447
993
938
78
153
99
468
310
744
879
518
353
737
923
830
474
678
182
576
573
122
491
820
143
35
400
218
717
758
320
51
831
298
715
653
408
650
568
488
864
929
250
853
773
864
950
668
326
823
667
82
991
147
107
442
327
199
405
911
692
659
839
242
729
196
947
970
252
895
988
381
993
226
536
861
575
726
634
970
790
168
846
714
571
112
233
987
359
922
106
545
786
406
197
643
919
601
173
389
569
699
586
773
478
387
322
523
5
692
350
896
305
146
412
93
785
729
557
239
504
137
825
933
419
952
951
114
808
384
484
142
579
913
946
37
929
475
748
282
999
400
872
972
307
560
114
423
230
250
565
919
204
610
678
326
453
89
720
453
819
377
0
605
444
892
698
717
951
190
443
810
363
288
728
371
986
992
110
436
327
177
169
485
155
232
949
337
185
676
689
23
821
378
114
703
935
208
760
832
690
996
632
454
876
667
126
678
604
778
292
684
321
773
314
398
530
222
875
41
919
588
553
200
594
190
299
601
38
216
14
47
794
433
683
814
513
904
496
73
247
923
511
720
228
86
228
251
969
798
420
941
827
17
558
769
393
920
305
907
927
36
496
516
231
526
554
73
837
123
68
76
915
150
395
964
538
318
122
17
183
401
755
882
478
539
73
305
182
966
746
389
699
448
679
341
765
445
480
526
766
790
59
824
171
753
641
566
278
412
912
173
659
652
272
259
388
581
191
19
433
426
334
798
799
324
839
694
179
753
437
600
313
48
632
274
26
355
769
553
438
909
405
534
281
188
422
347
661
13
54
259
736
581
875
950
544
233
799
54
62
762
878
323
554
544
145
791
279
100
749
716
181
265
121
709
528
21
458
61
43
804
261
1
562
197
893
840
3
84
968
855
19
814
72
920
342
848
773
356
835
490
540
107
220
965
881
174
926
443
111
6
92
300
601
135
200
636
875
988
324
271
36
848
136
777
759
642
453
463
673
592
573
816
319
434
476
888
393
121
797
226
75
258
162
14
586
260
139
988
448
161
789
306
581
414
717
170
558
952
992
430
766
312
62
246
773
18
910
611
499
978
405
68
146
330
473
262
300
546
984
198
635
596
743
524
586
170
914
495
486
354
618
1
495
112
746
462
628
257
693
496
585
555
18
188
582
324
723
384
953
1
916
366
360
723
364
992
856
301
332
240
968
768
294
17
290
873
944
284
681
77
315
84
406
947
193
429
908
186
233
795
911
387
335
186
273
969
555
445
602
420
658
204
66
347
620
854
450
800
239
101
725
356
696
426
621
418
951
643
336
221
3
182
30
988
359
701
603
303
112
492
497
513
590
380
762
38
326
825
207
127
239
929
840
755
513
406
83
704
388
651
69
326
178
273
586
14
524
315
293
918
773
713
2
850
609
165
658
423
205
320
622
141
121
782
768
41
477
889
519
213
640
241
896
54
573
277
464
412
133
757
884
765
870
973
820
790
516
196
19
593
202
465
994
963
387
95
833
889
417
681
767
769
321
320
734
687
114
592
956
216
246
757
553
318
787
43
83
997
664
354
567
283
185
607
930
514
913
29
585
792
655
80
711
184
39
713
500
121
736
517
959
702
616
878
429
715
132
219
576
535
947
623
357
368
277
386
786
925
145
278
342
908
24
826
821
53
106
875
308
62
118
441
444
558
827
318
423
568
676
653
466
465
944
642
855
501
705
941
855
282
985
207
57
786
12
515
259
554
296
346
70
707
269
371
558
645
996
268
461
933
211
386
62
729
510
294
534
431
45
51
33
214
873
753
379
948
933
138
28
228
451
312
743
526
919
869
777
320
162
723
30
13
660
380
23
299
318
690
598
870
830
458
813
169
882
498
23
426
483
844
777
539
880
29
110
929
522
811
611
516
581
670
749
948
926
989
925
345
771
161
748
362
498
74
821
234
231
730
13
14
188
60
822
667
788
609
945
209
474
190
587
497
63
616
791
59
736
884
822
834
348
821
209
186
22
971
164
944
437
532
786
462
836
723
782
513
384
645
165
558
627
874
443
630
41
460
371
699
506
517
96
842
88
865
300
431
767
402
448
44
311
904
760
990
292
135
405
344
124
899
429
762
690
111
491
365
490
112
889
926
185
176
159
837
735
791
379
121
340
270
892
731
597
210
545
865
180
94
987
375
905
687
834
394
70
502
77
882
837
371
816
867
921
344
836
581
390
352
791
160
579
617
203
288
625
718
876
405
252
790
391
168
796
371
229
899
938
15
42
77
284
830
682
423
967
706
504
275
806
328
614
359
469
556
355
508
16
626
61
804
296
496
556
122
425
240
518
935
500
316
986
582
247
127
331
956
177
719
946
386
798
908
38
830
101
901
178
598
628
40
158
497
446
878
186
934
542
698
835
971
213
475
970
124
755
113
136
69
103
669
222
861
473
0
384
568
959
664
553
184
633
543
484
501
286
457
267
547
590
605
640
914
817
207
673
784
906
905
376
883
856
61
12
497
433
175
227
318
548
262
875
23
870
236
632
81
936
79
603
387
21
258
723
967
195
777
432
919
317
429
183
34
762
359
710
454
867
694
156
544
73
107
702
116
604
430
271
29
469
671
71
44
769
726
758
920
625
312
985
465
412
873
727
426
441
295
496
253
274
6
515
630
970
242
445
215
317
579
369
288
817
918
83
838
910
895
803
884
611
743
162
416
525
517
695
759
137
780
435
332
896
118
379
229
504
676
989
216
609
35
448
423
432
729
762
636
61
330
241
523
542
29
7
176
489
367
502
856
464
833
313
397
574
554
694
634
990
604
507
718
289
580
199
638
536
527
587
585
781
26
707
632
256
384
922
565
45
933
896
632
232
713
962
394
847
345
203
1
839
335
555
342
654
431
365
454
187
979
286
996
29
402
81
493
778
834
52
3
185
632
704
933
291
172
163
9
127
618
378
842
716
482
947
446
432
359
91
51
84
117
246
554
339
482
439
610
153
710
619
636
560
701
980
867
142
82
527
314
207
567
894
584
833
381
930
615
922
574
907
815
162
187
931
991
861
970
654
281
513
289
133
293
668
245
724
883
805
866
16
710
34
37
803
370
48
116
568
717
541
465
741
360
317
884
143
403
717
248
838
203
970
870
278
791
271
664
517
432
330
932
672
784
21
356
705
959
821
170
522
229
763
424
213
564
923
444
957
351
128
2
981
208
848
457
830
545
436
114
305
944
111
858
646
833
558
495
381
729
656
195
602
607
243
563
258
389
502
596
685
650
897
583
63
43
405
894
36
242
302
488
9
450
549
430
987
699
588
233
148
525
238
941
593
509
818
380
370
841
631
159
451
242
412
912
873
226
329
736
376
976
849
983
909
343
828
17
519
511
371
772
609
372
592
651
795
954
565
543
12
408
225
349
39
793
94
161
664
716
753
577
713
308
652
979
236
674
328
410
975
211
250
600
59
88
858
6
222
320
720
748
476
902
414
867
804
61
680
52
727
148
61
227
379
653
370
578
793
113
678
653
9
863
32
236
167
326
128
353
122
989
90
505
481
781
770
823
482
671
273
477
107
104
339
565
741
666
937
78
359
912
938
632
759
667
446
28
226
225
470
99
182
770
614
877
795
591
625
177
786
357
594
416
98
618
821
270
978
519
585
117
725
633
781
291
55
803
512
918
549
396
42
655
714
137
487
331
547
448
53
174
625
199
838
329
685
714
982
258
566
759
584
894
136
878
49
790
434
302
175
732
269
152
235
566
785
409
986
366
277
104
995
252
902
742
388
185
44
130
40
244
812
776
886
586
604
757
77
126
581
378
880
803
715
713
675
149
734
395
723
273
501
887
658
931
407
267
538
473
675
687
184
830
854
322
331
113
729
571
993
22
533
902
792
655
468
236
246
87
250
725
499
141
436
194
184
814
347
651
596
524
209
914
13
113
406
261
637
756
649
145
705
765
125
23
162
559
820
583
945
392
642
33
484
963
208
301
581
139
231
344
673
139
234
431
369
476
787
130
399
152
846
309
353
258
882
955
900
926
163
902
117
138
507
571
863
266
879
793
52
186
26
410
934
564
164
729
721
231
752
904
608
295
484
992
95
603
160
660
35
126
876
676
80
893
773
161
180
244
989
751
754
488
915
805
103
99
241
699
0
998
121
984
230
794
235
721
33
704
517
114
31
52
109
123
36
76
92
504
398
567
358
284
906
6
525
327
971
508
326
276
738
373
535
359
381
692
145
115
649
651
119
816
997
910
463
3
370
109
988
583
57
246
770
305
535
732
50
228
651
706
140
9
947
694
128
467
787
230
543
124
454
35
592
576
994
396
424
42
797
525
824
599
627
929
864
284
95
242
641
73
535
658
893
225
336
285
223
341
160
630
283
832
607
909
237
341
357
618
32
975
292
952
593
22
187
750
848
693
366
536
375
306
54
714
542
751
72
645
474
566
611
532
809
922
465
597
895
95
673
184
490
582
877
206
832
124
703
705
32
38
914
669
529
441
723
839
816
632
248
690
21
703
79
336
908
768
600
754
472
857
363
973
668
854
582
669
394
592
648
103
572
606
484
266
936
65
429
996
198
925
872
876
561
544
694
19
769
646
269
33
329
910
667
422
401
259
496
240
274
517
251
857
968
344
977
373
832
147
914
893
903
948
512
301
555
778
46
759
423
478
334
700
101
312
425
719
81
628
947
375
974
243
722
158
307
512
502
28
16
779
52
690
326
133
642
6
658
637
690
767
460
544
101
371
836
165
38
876
605
835
66
210
478
293
518
725
781
177
916
625
493
455
29
217
468
279
593
242
852
161
760
239
214
455
13
504
741
230
495
986
385
402
112
490
209
284
503
647
496
556
665
91
724
831
577
981
828
130
466
709
247
307
860
767
105
408
983
361
746
390
698
681
251
507
721
201
43
540
271
760
669
134
158
771
746
746
862
889
772
145
890
987
790
963
608
968
872
35
973
558
95
909
165
840
559
157
733
544
326
695
132
253
661
956
674
805
242
746
256
892
592
745
268
17
847
284
102
80
212
109
155
342
33
967
450
567
807
319
409
918
821
607
604
714
949
896
746
610
292
652
462
122
154
207
949
755
970
369
150
454
86
1
138
539
152
229
620
515
44
511
487
465
233
977
323
699
618
117
265
660
688
57
447
124
74
70
891
445
114
590
458
980
376
218
666
202
699
360
309
984
82
452
726
713
360
292
547
818
647
643
711
835
941
316
680
611
996
251
156
152
807
794
560
291
168
100
567
575
679
106
160
112
232
503
391
394
465
726
142
2
924
431
900
54
221
798
654
389
555
247
334
146
202
144
756
48
978
801
747
916
582
685
725
361
490
587
312
463
42
550
802
190
769
534
675
214
479
204
0
455
756
491
844
901
330
944
171
470
377
699
963
233
404
547
791
943
593
903
710
17
474
571
196
833
161
554
453
403
992
571
280
77
634
54
393
874
159
877
735
369
374
424
567
144
685
288
59
858
241
394
684
640
220
53
125
340
722
217
189
253
311
16
788
205
785
336
514
264
91
157
289
940
588
346
285
999
622
708
498
957
837
915
45
961
704
790
957
229
814
153
755
597
715
90
470
958
546
900
8
922
383
851
535
900
582
316
904
84
854
843
439
922
16
872
45
141
816
105
515
38
801
739
553
656
16
441
843
534
573
270
733
930
815
34
153
263
141
22
407
468
526
362
160
689
680
682
972
637
917
602
405
177
300
44
172
687
149
253
782
115
874
802
334
591
57
160
896
931
524
962
628
895
319
885
460
827
872
461
303
799
309
611
528
779
769
913
747
892
757
316
33
334
802
119
860
477
650
31
862
696
340
988
151
876
222
395
43
210
544
826
279
931
761
632
340
908
912
255
495
15
563
421
47
757
756
912
312
19
224
87
150
483
366
384
803
390
824
435
124
442
972
736
862
229
358
699
171
279
660
424
936
933
962
351
734
352
437
634
143
583
816
553
639
27
316
308
232
883
845
965
602
991
864
872
513
212
376
297
278
513
864
355
308
262
634
636
589
399
968
910
677
736
61
584
961
427
0
145
774
946
643
275
87
704
795
273
586
869
49
691
916
341
350
808
749
228
104
679
978
65
96
896
605
23
676
452
67
597
411
210
610
857
816
567
941
882
510
193
141
795
598
223
393
622
549
76
871
0
867
555
944
538
870
471
276
105
586
898
75
494
903
595
744
300
286
414
544
87
265
577
139
450
701
332
223
794
909
745
66
779
84
271
112
788
551
796
775
267
288
206
923
75
37
30
508
846
891
153
920
946
65
955
865
77
535
643
866
355
272
679
736
643
651
981
728
937
170
255
688
958
346
274
87
391
918
122
589
311
131
573
988
214
352
201
305
984
198
201
804
520
634
124
986
5
262
566
489
618
698
515
359
140
846
35
31
87
640
98
162
157
814
51
501
691
434
929
976
421
375
970
357
810
274
240
956
513
428
829
152
775
38
846
977
454
180
714
469
337
613
274
471
902
996
658
562
340
7
841
138
14
2
90
209
453
43
878
347
721
383
645
229
244
450
388
142
367
227
867
143
710
917
554
293
135
809
566
953
843
852
320
537
895
449
942
338
408
897
814
192
183
798
202
659
632
74
82
346
322
399
641
868
26
418
433
384
321
689
463
498
641
118
570
941
333
680
466
48
298
842
120
900
831
2
471
990
462
114
621
931
415
511
567
29
867
209
566
273
61
533
44
688
177
238
644
635
959
86
343
347
150
846
164
912
827
983
802
672
329
325
485
928
43
934
415
139
671
393
100
459
505
107
603
789
211
376
690
618
383
408
835
906
243
605
178
834
255
477
76
439
734
602
272
76
257
58
567
989
16
537
512
668
708
889
652
809
932
654
882
141
480
866
287
171
750
920
533
267
93
576
373
141
704
568
312
794
247
177
92
812
153
979
271
695
808
730
102
745
867
63
755
930
523
381
395
320
528
916
546
944
402
862
449
360
297
77
356
521
882
217
106
186
804
717
831
249
254
251
138
884
615
831
941
577
172
120
293
955
369
225
951
140
515
424
210
941
278
559
869
265
614
602
644
863
446
42
143
823
507
226
772
469
974
523
498
914
762
890
417
48
303
134
280
88
83
506
235
865
816
428
411
145
214
931
159
976
439
592
312
357
784
864
966
511
615
462
903
398
405
369
953
100
748
794
766
702
926
148
344
923
462
308
808
958
412
968
554
707
379
388
567
470
8
479
781
676
408
89
472
888
875
923
330
11
178
495
227
345
268
148
43
221
647
492
701
179
341
787
85
363
753
391
902
456
705
517
39
345
847
436
877
676
631
639
661
954
922
40
716
559
959
910
45
533
127
507
991
232
793
680
319
927
35
172
462
296
77
864
85
482
675
589
293
301
254
382
260
258
846
356
347
919
588
267
501
715
920
755
253
270
556
245
387
40
842
134
451
149
779
983
398
376
106
595
955
795
611
876
655
354
181
848
22
863
949
292
419
550
149
200
981
570
941
801
239
521
842
506
586
865
495
185
62
731
979
927
502
236
182
915
156
309
255
987
13
883
37
327
685
646
600
564
116
749
64
723
122
602
538
232
579
10
413
567
110
819
447
319
881
220
938
952
405
279
168
27
397
114
247
668
859
48
613
726
223
875
941
179
766
722
540
529
213
669
697
17
703
646
576
103
134
236
230
794
541
30
601
908
432
570
398
481
864
273
563
690
113
909
844
851
625
155
325
560
457
186
74
740
302
910
137
96
402
568
763
748
390
974
45
601
576
726
836
317
814
495
939
429
484
618
520
296
359
245
382
68
970
376
319
851
32
420
121
593
787
210
381
454
962
628
962
861
553
82
403
75
711
587
79
515
989
698
532
901
187
334
47
523
131
59
255
813
827
167
850
839
308
10
108
135
797
66
694
962
373
306
877
313
561
877
161
939
788
578
851
744
439
663
515
677
871
703
261
327
662
890
412
544
615
84
411
681
30
78
674
636
246
18
906
553
679
913
280
287
294
155
439
663
310
949
413
372
68
815
927
992
882
405
421
63
736
500
858
103
517
182
813
968
696
487
59
878
833
264
954
565
856
712
497
668
20
815
632
305
213
712
421
578
439
201
923
308
904
477
271
239
794
969
786
271
101
202
393
699
446
517
396
113
956
830
353
563
690
385
947
513
843
957
481
216
56
355
318
543
459
933
308
517
406
93
155
693
497
721
892
933
817
645
575
770
363
15
962
716
744
566
424
361
655
149
526
721
505
59
355
692
304
523
848
120
484
305
149
307
903
49
361
295
712
270
174
298
245
437
350
703
661
773
912
753
221
14
908
647
983
938
742
776
581
73
872
9
9
413
165
198
463
652
372
942
550
856
897
414
750
616
29
23
292
107
278
808
142
60
808
147
819
94
920
186
641
529
21
78
458
755
882
157
848
172
295
918
581
845
89
426
242
96
322
925
151
325
857
182
163
439
808
265
588
561
452
878
144
0
98
560
656
34
308
174
491
589
254
739
70
129
395
192
815
649
839
919
558
776
693
57
894
429
737
529
140
259
451
246
112
909
763
403
808
273
889
95
366
435
8
180
402
901
543
816
733
104
339
319
705
698
420
519
235
508
663
892
953
378
713
404
207
699
214
315
160
269
565
141
389
148
302
152
519
963
402
992
634
170
241
193
988
265
281
883
999
370
44
72
717
205
468
244
804
44
86
552
317
497
481
969
251
623
93
688
99
588
669
70
723
281
624
883
363
346
517
394
381
388
416
477
280
302
111
194
585
384
897
399
669
14
328
71
182
986
531
125
2
769
371
375
214
693
461
663
426
208
858
416
304
576
234
54
182
391
404
664
473
203
314
150
25
348
287
123
622
934
38
256
378
725
793
537
326
807
116
857
709
789
958
655
862
666
313
287
207
124
930
373
13
438
608
752
322
419
597
747
723
956
945
685
319
428
218
528
928
704
781
455
202
740
755
638
608
537
765
367
58
682
985
806
562
211
649
345
588
107
912
471
886
793
338
80
714
307
951
388
696
869
532
183
362
853
249
692
816
705
910
697
693
858
77
844
581
835
601
380
557
925
56
398
744
260
158
589
987
699
986
686
210
465
322
361
910
422
852
82
219
474
6
508
245
2
304
183
626
107
526
802
673
96
170
207
129
723
650
809
81
903
741
730
290
900
424
783
822
323
488
757
380
338
12
760
312
559
995
8
723
813
90
422
954
333
451
390
314
26
272
777
116
866
5
256
107
193
355
699
666
344
233
149
881
308
351
518
401
774
689
663
164
696
747
620
218
530
839
740
882
64
134
699
583
548
309
29
774
930
241
141
620
170
27
664
603
397
785
856
396
959
860
406
15
383
55
675
93
458
78
581
53
145
566
328
753
265
406
456
213
470
662
866
828
683
660
919
234
584
125
233
530
337
994
335
15
528
644
668
605
255
65
246
464
616
913
410
169
999
13
98
592
501
411
76
511
538
390
496
386
308
247
723
672
784
368
217
279
133
301
35
103
648
344
251
480
266
457
358
353
873
265
776
300
693
237
291
80
230
449
621
688
498
383
647
94
395
680
23
53
177
878
821
20
392
967
869
944
170
213
755
681
972
667
651
899
957
268
254
976
298
362
987
272
67
532
249
866
906
694
93
540
365
269
942
960
187
815
202
648
666
301
744
609
917
729
868
595
290
785
980
364
441
737
58
301
956
571
83
273
826
25
98
551
495
179
862
755
434
894
76
817
234
689
119
525
419
702
31
695
62
734
99
897
864
827
457
731
616
316
520
565
357
340
846
409
49
232
372
70
122
626
705
435
387
370
890
225
983
336
854
642
73
733
169
920
101
219
130
636
296
782
768
302
157
549
908
651
566
170
870
598
136
135
121
849
378
595
527
54
603
510
671
49
122
465
961
949
534
338
578
441
184
185
498
798
651
374
181
591
278
792
176
958
728
638
607
392
627
496
226
440
480
202
659
756
238
21
842
36
439
177
781
712
488
803
480
317
52
105
893
216
255
793
666
603
717
664
944
1
81
440
190
227
666
58
248
320
339
14
679
474
593
206
781
254
833
522
301
446
937
12
272
438
711
279
388
19
585
204
497
380
393
144
305
815
702
148
245
878
205
486
107
160
255
43
58
35
55
773
167
642
770
594
504
781
765
323
851
181
215
245
441
598
899
860
243
69
799
763
252
72
194
801
29
860
37
41
204
242
749
231
360
64
137
476
709
500
31
167
508
903
250
86
543
858
996
885
326
814
145
789
105
879
164
933
729
604
568
719
838
329
368
482
594
484
121
269
147
878
812
904
201
245
784
977
509
537
572
966
819
806
20
702
232
118
669
44
15
79
772
22
214
853
345
758
934
549
381
77
882
149
100
766
503
941
219
196
700
752
279
789
779
156
614
527
54
452
891
880
268
665
462
92
411
441
756
738
345
53
643
356
330
33
201
453
631
899
842
584
311
821
937
87
962
233
630
901
768
449
964
432
936
15
455
246
106
76
289
393
164
379
479
361
661
990
882
227
241
919
806
146
266
868
734
243
936
883
708
77
419
214
448
882
866
791
609
806
755
897
605
365
467
814
475
217
832
34
780
270
109
608
450
564
416
737
851
497
477
643
758
136
250
737
670
881
64
426
946
340
903
233
202
617
584
743
336
883
511
490
433
226
660
847
340
190
333
66
619
470
45
156
321
141
51
5
165
157
205
837
121
606
1
124
458
262
697
506
787
381
20
675
343
809
418
412
956
758
29
334
691
110
37
370
786
144
203
321
196
188
266
489
395
533
610
399
844
955
724
763
320
798
342
553
744
776
116
227
322
996
351
237
567
63
274
84
911
639
855
24
66
704
988
223
54
841
646
150
30
366
626
511
903
964
832
833
470
974
264
619
602
18
89
90
398
338
325
968
884
567
259
729
757
49
225
163
808
676
613
657
593
336
842
850
293
458
378
883
707
813
890
409
275
576
1
501
104
901
263
244
807
963
307
99
579
231
61
275
860
474
828
985
965
387
453
269
592
153
922
155
876
45
187
514
264
570
452
491
440
553
444
730
213
59
16
826
869
777
820
501
942
220
932
302
538
826
683
841
289
53
455
100
947
817
58
96
912
41
219
875
906
838
853
461
627
67
150
895
412
64
440
98
614
472
542
882
404
892
131
387
158
585
425
614
265
942
644
605
492
566
561
201
389
199
54
993
161
764
317
286
793
653
758
735
290
712
356
211
10
796
537
362
333
756
347
461
569
871
615
737
176
739
965
843
48
766
0
266
37
800
132
642
356
758
80
344
553
496
107
421
293
686
823
251
117
490
540
740
653
60
27
850
596
500
310
443
527
783
501
474
286
260
44
527
593
585
179
414
556
286
837
40
908
554
728
235
565
198
82
919
266
350
381
249
389
244
630
986
937
300
875
39
664
432
371
308
169
148
767
612
502
909
282
47
850
811
498
54
401
545
355
61
236
542
501
288
310
150
499
80
139
810
469
298
177
6
522
408
198
363
908
123
141
520
962
624
737
252
89
174
160
26
280
405
41
496
490
947
13
854
903
883
714
445
355
164
831
394
647
490
44
53
391
270
101
230
511
572
697
483
871
123
727
359
106
288
120
590
448
362
693
902
347
290
83
355
72
142
612
300
508
716
922
686
16
27
76
907
213
856
872
807
954
266
18
88
611
755
926
356
111
520
417
324
533
450
951
149
400
521
1
173
702
917
571
199
985
634
425
386
352
952
938
633
767
251
705
867
959
244
912
122
679
324
591
93
234
811
651
819
437
716
140
245
841
257
395
190
903
325
166
661
119
473
245
927
597
480
898
170
874
695
187
766
254
610
882
774
138
108
199
707
794
967
577
568
153
363
102
121
752
193
482
11
312
344
72
200
965
813
263
11
142
266
16
241
887
356
219
935
866
738
133
692
354
603
518
335
665
219
4
248
726
597
652
799
577
230
85
878
198
775
182
657
86
814
821
636
695
136
852
88
201
484
291
290
183
682
13
398
823
944
202
637
782
455
35
466
417
815
142
184
163
360
561
736
8
633
952
708
381
679
361
244
260
497
911
530
919
836
669
63
955
667
195
986
497
862
213
811
294
613
609
409
684
462
559
215
484
19
977
132
522
214
687
575
686
490
486
139
806
729
914
557
458
867
998
886
518
930
665
747
138
736
90
813
867
534
993
218
125
110
680
976
309
265
157
266
563
194
827
747
593
685
640
639
451
198
484
390
778
506
467
794
261
189
197
658
506
467
931
918
318
793
286
430
984
886
392
320
339
858
301
408
262
97
76
849
535
390
933
333
593
720
631
117
778
287
533
448
987
254
967
433
422
536
973
662
669
745
843
209
223
256
260
90
66
286
465
264
776
369
459
725
354
712
152
496
108
924
868
16
806
345
153
927
689
729
217
455
833
581
827
77
971
379
37
345
232
0
493
258
149
666
648
217
999
809
786
362
515
818
354
723
315
399
216
160
301
252
369
99
313
893
840
15
265
669
318
777
440
513
284
539
790
690
825
557
754
890
566
130
672
78
219
913
720
366
206
910
357
357
632
474
517
950
61
582
98
541
145
415
811
663
443
5
458
792
597
860
142
248
79
551
981
973
513
776
716
430
842
590
832
510
856
280
785
933
707
574
492
935
446
374
137
622
372
808
668
530
519
638
462
54
747
408
298
866
924
614
757
500
926
319
876
634
89
498
342
555
973
714
836
837
946
787
555
511
281
905
990
63
349
699
957
597
296
585
248
233
495
858
266
936
316
86
164
358
624
517
810
160
59
866
303
412
634
617
385
469
879
72
660
544
481
924
912
21
336
41
869
980
385
228
248
351
972
519
437
364
389
726
93
25
399
224
310
630
964
556
213
28
386
339
540
912
802
237
982
961
895
550
198
480
729
58
915
34
824
80
916
139
634
947
128
754
141
239
447
123
944
870
431
526
824
121
751
873
876
648
307
417
571
414
129
862
214
434
92
326
767
40
140
555
386
553
526
174
99
348
949
812
375
720
455
736
871
256
868
32
491
131
531
85
313
388
40
807
329
12
280
592
507
13
790
495
197
971
85
507
654
284
531
343
25
859
830
495
565
322
287
506
172
462
845
765
406
795
238
572
174
914
593
361
878
125
582
901
359
127
34
5
865
422
478
464
633
284
548
570
490
196
648
210
170
776
760
507
602
61
813
330
642
25
546
422
704
188
649
9
10
355
650
895
766
804
908
18
283
75
439
635
172
367
231
391
886
274
24
973
398
378
367
463
308
72
958
52
748
381
104
257
772
975
644
853
237
773
547
7
712
914
657
674
48
95
502
110
387
548
832
550
763
787
910
424
173
457
180
54
272
519
852
586
116
945
773
88
145
980
573
600
787
518
241
962
968
578
175
646
14
881
753
232
820
5
569
249
811
683
875
799
759
798
718
189
466
196
776
736
627
254
934
222
554
258
682
451
967
683
844
232
270
257
130
26
881
601
622
371
801
457
692
571
794
91
571
305
446
488
395
415
225
246
772
269
624
823
574
321
592
379
253
432
525
782
781
808
974
735
183
356
719
638
286
330
614
773
362
542
950
617
145
442
402
462
822
541
391
442
225
348
508
885
968
833
289
708
794
659
86
815
444
261
279
973
572
336
266
629
226
35
259
315
409
23
678
532
142
298
36
758
563
453
954
578
250
497
656
775
192
284
727
103
543
382
311
922
245
94
542
837
784
295
474
683
433
75
327
765
343
342
942
232
40
932
595
3
511
52
39
970
619
867
504
388
441
444
465
347
966
560
866
275
962
431
731
323
500
291
403
806
893
594
254
971
791
121
644
680
188
223
717
6
180
696
542
806
537
215
8
875
939
898
176
117
505
590
333
4
82
58
280
473
473
526
579
223
912
931
426
865
495
155
162
652
31
522
796
553
748
313
699
842
41
568
431
730
436
591
346
755
25
891
285
851
452
895
599
530
85
656
959
529
104
397
899
731
61
338
817
615
868
633
653
949
897
620
534
724
870
938
265
583
236
461
247
826
818
950
437
398
705
350
686
995
386
608
343
301
95
603
740
119
420
380
121
35
999
287
235
736
495
388
821
974
276
112
352
911
602
921
972
904
706
950
487
270
710
100
127
803
598
882
626
363
477
673
544
520
187
441
179
648
11
978
360
779
0
197
789
213
174
856
158
435
982
336
996
899
308
808
883
853
877
565
491
66
78
358
618
402
880
902
947
948
19
868
824
27
956
841
360
118
933
19
643
129
402
701
159
912
549
576
57
850
133
94
240
722
690
908
460
411
829
661
230
771
896
402
62
519
537
675
783
451
262
387
57
847
844
735
358
368
269
165
594
22
35
944
44
734
908
931
186
574
653
122
576
56
909
777
420
752
302
506
596
620
651
262
115
368
796
965
247
265
716
802
781
34
610
519
703
59
301
210
872
777
485
142
634
626
10
378
7
393
648
444
39
317
524
178
217
129
490
558
236
477
923
456
204
407
738
56
499
712
623
952
105
943
347
803
730
589
209
902
864
430
874
591
648
6
266
645
746
311
135
335
33
63
404
701
63
686
902
310
507
940
744
842
473
433
9
917
5
676
108
670
927
404
357
733
129
696
780
722
783
872
179
986
243
665
281
445
723
599
451
125
402
961
90
835
3
699
666
330
640
354
861
674
170
556
361
230
624
837
42
298
347
422
549
830
582
634
698
677
284
409
999
964
602
313
920
232
880
531
444
32
987
494
367
935
652
374
886
2
56
894
650
933
639
540
451
218
979
654
400
403
908
295
3
830
810
229
424
363
571
934
607
115
254
959
296
105
428
148
973
80
819
833
818
177
676
223
873
696
87
812
118
926
582
739
808
132
854
833
857
309
440
275
151
429
363
692
887
697
122
826
863
278
757
672
350
760
132
642
650
947
166
465
821
979
886
5
270
714
490
506
204
311
695
758
37
269
361
65
979
180
955
360
807
303
764
686
855
449
258
946
462
101
232
555
676
812
167
659
422
951
948
660
379
317
868
39
482
535
530
362
305
437
554
906
763
22
761
111
20
440
78
105
215
820
232
496
33
194
240
645
717
868
821
177
56
101
964
339
597
13
884
432
152
23
914
614
753
242
413
640
161
386
125
609
209
201
337
372
149
621
979
314
519
459
35
163
90
446
226
482
371
607
305
70
358
278
519
825
310
119
415
402
120
785
601
267
826
543
15
7
59
561
632
840
456
764
317
1
44
770
654
447
766
669
141
765
221
191
399
712
262
306
460
233
614
628
303
894
681
652
80
754
543
977
937
288
204
549
526
172
367
182
303
81
193
908
667
318
634
554
282
49
668
559
916
773
729
967
812
808
970
658
49
294
545
267
57
531
520
444
634
154
910
238
95
577
210
620
449
22
569
267
879
551
805
642
326
348
145
397
338
86
665
554
221
580
797
655
781
197
642
731
784
437
301
985
426
223
796
126
963
59
728
144
129
737
537
600
120
615
291
743
790
314
340
184
532
67
421
92
61
881
639
336
668
261
674
381
335
323
630
235
944
36
254
893
934
172
385
629
334
586
474
948
797
586
788
613
453
995
887
255
834
80
96
112
140
761
10
438
489
563
127
739
771
573
47
119
840
133
528
452
458
289
230
292
624
105
311
271
654
958
337
502
678
315
824
156
178
953
656
31
722
493
646
95
317
605
406
993
698
211
263
964
977
57
968
487
402
686
336
801
363
211
750
947
213
751
861
75
506
984
337
43
755
494
136
622
235
587
176
720
343
998
77
112
253
338
609
312
666
617
483
170
649
507
544
418
719
961
288
654
758
307
962
294
471
259
280
661
867
491
470
308
192
262
725
77
591
25
418
476
706
760
379
176
400
337
297
136
448
305
240
64
621
862
634
508
711
695
259
896
23
21
242
353
754
259
809
772
830
836
18
104
64
199
847
31
972
79
914
722
934
329
817
753
552
102
601
500
791
771
511
64
590
422
215
215
641
476
120
912
731
913
337
322
871
545
763
662
776
456
439
88
678
251
265
652
95
369
940
337
501
918
670
593
583
757
704
428
571
809
427
406
580
160
334
213
17
501
114
803
905
747
698
228
422
239
769
660
842
16
604
684
237
29
111
760
265
280
533
795
23
305
227
240
735
549
218
221
922
38
851
49
158
208
534
459
933
237
581
122
2
173
562
89
949
606
552
814
456
23
605
163
906
277
352
119
710
23
534
346
31
264
83
686
1
312
840
75
932
953
858
295
16
876
839
315
447
36
170
608
102
223
947
251
959
67
170
474
10
525
834
28
850
56
518
149
991
311
981
365
231
422
525
304
378
893
851
373
943
488
307
364
600
676
223
163
233
183
219
348
490
495
749
324
531
133
542
823
293
863
79
485
907
934
930
760
262
51
720
859
828
305
520
99
934
601
360
919
477
836
699
120
672
776
859
653
695
448
348
272
294
348
410
148
573
890
958
125
272
785
28
631
934
129
779
329
214
249
528
253
669
508
194
354
512
156
415
183
23
578
18
987
652
47
945
599
510
610
237
603
658
771
818
926
625
417
176
115
414
92
905
468
825
198
756
614
326
747
281
220
650
806
238
238
743
796
517
420
381
56
856
624
40
66
342
339
363
896
406
270
704
324
273
389
576
104
444
714
845
277
964
75
228
856
119
179
223
457
562
776
594
921
432
372
945
782
749
643
878
498
506
571
509
415
401
697
958
306
312
863
595
588
811
109
103
641
836
541
143
598
960
548
284
460
195
6
761
697
519
165
444
99
474
143
521
811
609
758
727
331
702
71
143
282
806
281
932
613
339
174
930
838
938
397
525
90
183
44
637
723
378
3
472
594
118
599
241
959
691
668
23
197
675
331
950
589
575
278
363
339
172
685
223
528
629
979
677
213
872
308
410
913
657
771
46
586
343
9
910
978
991
772
479
969
449
443
243
841
992
69
624
61
908
677
909
810
546
824
26
79
921
54
792
128
702
398
287
517
989
534
768
151
105
233
455
84
868
856
798
913
160
847
647
152
638
89
586
759
48
251
55
796
743
253
93
219
461
642
149
248
791
530
285
727
411
44
660
621
452
927
700
922
679
27
879
368
945
35
818
361
121
663
758
291
524
960
494
526
914
532
414
418
890
328
835
311
784
387
86
817
114
329
845
737
695
0
274
800
670
817
698
410
534
317
999
140
653
830
634
105
903
857
444
776
608
428
739
496
934
580
397
291
252
762
501
401
131
648
893
450
700
728
765
944
903
599
980
388
472
914
743
905
162
31
927
989
57
228
972
206
367
678
716
755
9
847
4
666
878
329
528
169
335
248
625
396
522
961
142
612
423
517
241
696
877
484
728
199
110
385
999
168
613
753
585
133
649
127
184
629
842
435
647
57
882
488
58
979
876
412
567
910
699
385
646
7
240
239
393
255
860
844
472
691
854
514
865
670
91
48
81
813
15
968
313
561
130
129
420
920
678
173
838
168
992
267
241
572
995
892
279
758
747
639
52
354
849
288
176
134
454
604
970
534
725
780
219
32
7
635
470
685
298
409
38
636
410
47
793
842
22
629
307
670
703
589
888
473
66
424
896
440
795
563
136
68
86
453
325
287
128
805
662
4
256
27
405
482
640
571
432
440
384
642
381
125
138
845
224
651
863
8
371
825
84
153
407
514
481
64
272
962
729
551
891
57
16
255
324
309
543
781
571
650
418
969
529
301
883
531
858
823
90
612
882
758
478
749
246
771
500
612
977
948
351
584
621
226
446
158
225
547
422
152
434
409
415
711
544
502
432
476
292
772
475
20
803
103
871
297
343
448
218
201
311
400
443
343
327
61
965
514
102
581
705
114
506
652
862
619
288
321
764
750
154
985
143
980
475
67
133
314
895
660
275
919
863
290
691
858
865
842
691
130
262
695
851
275
600
122
334
281
163
203
30
142
492
764
368
333
87
600
260
122
443
610
159
880
502
617
581
909
101
715
310
759
734
75
697
39
904
32
107
858
681
983
960
541
257
70
630
69
258
266
343
323
94
961
469
445
735
765
348
16
494
963
734
823
172
569
642
66
427
927
555
740
896
796
607
194
362
803
972
608
563
751
735
324
70
81
860
431
453
772
69
514
598
506
812
690
936
215
130
67
299
912
441
338
734
86
394
225
29
726
198
577
785
979
142
229
651
404
823
482
835
868
648
604
564
205
849
308
43
955
771
336
288
46
492
97
274
670
466
966
725
643
821
766
391
72
516
325
663
186
969
374
428
193
718
437
541
819
80
112
35
210
934
189
189
782
662
923
584
251
915
356
936
333
575
66
875
553
271
199
65
661
681
737
731
933
394
853
976
483
637
456
558
444
143
436
10
365
855
609
784
878
894
311
92
650
104
1
874
75
612
617
728
343
959
71
533
922
720
548
398
898
274
921
835
670
110
219
856
709
351
53
705
679
301
538
56
760
969
82
710
985
526
386
176
432
827
655
234
183
660
699
321
554
527
572
828
72
284
588
142
503
457
492
264
130
805
295
413
441
516
115
172
441
175
252
855
207
266
930
97
707
561
640
502
638
586
560
462
597
861
747
645
96
261
219
312
114
626
586
998
543
541
224
23
286
230
682
64
24
757
397
446
981
189
380
896
807
256
395
971
823
985
893
743
375
255
319
767
226
909
395
746
317
199
943
523
944
512
703
950
603
817
208
298
35
378
665
963
639
862
543
144
396
501
170
614
191
673
773
642
668
136
407
338
394
174
869
912
567
105
240
528
138
931
414
803
993
347
822
477
870
137
190
823
151
987
629
754
37
176
813
618
993
644
124
32
319
824
584
339
295
516
4
118
846
448
825
781
138
242
341
301
818
207
814
825
998
565
98
356
301
930
133
823
908
477
292
854
264
704
481
150
558
624
162
769
35
251
793
317
156
963
562
968
879
366
792
316
878
5
817
1
714
667
257
312
996
697
223
0
722
651
217
531
259
258
560
725
874
503
367
243
4
363
735
28
542
7
568
351
853
600
287
75
798
36
916
574
849
526
41
820
974
667
597
406
995
451
160
364
70
656
242
543
531
570
166
641
43
436
773
580
256
653
632
335
691
859
544
947
394
550
868
904
628
509
755
157
903
876
490
603
546
380
101
533
128
269
428
82
430
65
222
480
124
873
299
969
405
356
574
229
261
510
122
391
982
557
828
695
777
813
861
414
855
321
347
182
730
39
236
514
288
725
958
2
120
126
159
888
140
837
118
414
211
116
952
865
392
704
874
30
909
456
49
850
142
542
448
224
531
211
218
61
660
295
896
220
37
225
518
65
163
90
999
703
257
931
744
711
954
546
507
809
192
229
998
414
113
959
540
340
206
701
204
384
58
268
995
61
155
182
608
452
723
622
851
198
618
841
242
347
544
501
364
466
880
225
462
730
879
884
456
212
761
613
984
539
871
129
332
893
3
46
304
139
202
658
787
254
467
877
648
470
661
529
86
152
795
760
245
574
897
381
136
740
912
174
4
399
896
50
331
701
891
816
173
175
79
286
675
388
577
266
168
647
361
75
213
134
257
783
548
361
903
216
179
489
545
797
800
292
507
301
391
213
172
35
329
42
500
844
536
784
343
2
611
597
124
287
990
153
472
706
75
26
276
939
876
926
979
812
853
726
344
995
751
935
695
337
230
718
11
610
991
706
246
958
674
830
566
957
137
824
537
368
296
347
987
156
521
559
385
560
875
920
776
981
348
366
659
150
935
189
221
581
881
828
493
65
690
821
121
283
625
611
125
46
337
8
376
851
54
880
814
359
629
376
595
938
501
144
973
261
181
376
971
82
452
36
546
176
806
887
21
516
617
260
343
571
36
327
126
784
295
796
606
676
514
268
805
655
166
19
138
189
75
117
698
565
624
138
80
246
217
945
258
336
645
394
578
293
161
103
388
190
271
489
480
517
109
932
92
998
416
211
639
758
399
879
592
605
57
332
984
80
759
1
491
945
410
415
257
712
175
391
884
913
558
975
224
629
984
720
345
569
245
130
463
874
530
621
106
55
901
21
246
767
13
697
558
936
166
570
53
501
275
101
556
728
920
299
552
681
629
820
394
163
606
459
154
536
840
120
107
423
348
966
35
434
804
193
246
224
143
138
277
292
587
235
288
946
290
310
993
888
381
722
586
52
375
184
876
228
491
243
156
328
688
501
845
399
454
816
912
940
986
955
771
320
521
33
818
342
690
163
277
189
649
223
997
380
214
504
42
968
145
54
970
464
272
373
671
510
836
134
650
753
191
450
818
851
719
988
237
413
894
448
325
109
84
965
281
54
269
497
373
181
733
865
292
882
346
801
407
827
812
228
435
636
520
779
148
287
822
974
668
834
865
619
521
380
310
643
767
424
222
610
508
193
335
43
926
504
211
592
204
314
329
195
820
556
319
494
231
429
738
567
911
421
344
511
618
905
885
411
679
346
446
9
156
394
679
131
246
29
126
929
48
740
62
364
640
734
269
908
57
259
958
19
398
806
635
863
608
856
514
419
338
837
29
879
881
719
321
977
817
966
104
732
369
808
218
309
138
535
836
372
699
432
755
750
225
640
449
456
86
94
148
103
436
11
749
866
360
52
816
724
856
877
399
658
294
46
477
579
412
304
125
259
293
942
253
852
430
838
149
543
856
311
6
725
985
198
752
203
566
445
206
93
27
443
22
972
2
184
557
28
52
912
245
709
867
737
499
221
830
495
627
295
512
140
902
494
66
848
302
886
982
880
779
17
943
337
378
262
783
484
278
421
614
519
156
434
597
760
607
397
747
155
351
651
301
429
75
939
108
984
831
797
661
747
35
853
664
422
43
366
918
236
74
829
957
579
337
806
749
288
637
974
673
592
897
827
348
75
697
595
724
184
467
1
10
66
281
968
273
418
109
465
1
106
179
490
525
186
982
854
678
950
38
926
851
71
287
758
360
251
861
499
86
832
882
154
354
760
13
74
110
990
788
495
298
452
488
490
580
341
960
885
366
276
429
985
736
231
965
40
909
407
876
796
947
795
453
528
156
565
936
295
834
262
460
495
341
370
645
243
934
73
551
158
118
545
413
327
339
191
724
349
543
882
219
185
199
590
168
766
980
917
791
669
891
227
297
215
210
797
699
818
695
29
190
263
383
873
670
490
291
724
730
803
197
254
832
803
264
745
128
445
427
223
429
817
535
890
517
80
535
753
971
969
404
177
673
562
14
881
713
281
864
941
248
991
69
239
653
465
961
912
356
157
457
296
864
257
186
236
212
508
134
730
250
261
458
785
885
393
729
712
135
641
190
996
415
216
551
625
832
66
668
784
454
19
810
172
153
188
777
889
53
512
531
589
66
920
412
295
631
397
890
400
78
383
758
231
425
765
495
73
849
570
885
769
363
484
355
428
711
277
297
75
308
162
539
554
648
82
636
487
271
714
798
123
448
529
929
993
390
661
801
189
918
720
240
111
70
389
893
51
914
531
396
448
5
737
372
418
101
533
798
556
498
842
327
721
661
843
186
369
886
918
844
41
598
926
780
787
458
806
123
988
410
640
452
661
283
627
273
460
917
27
236
353
685
822
94
380
77
33
273
636
46
997
415
975
321
823
163
663
681
198
119
569
289
639
712
710
138
272
890
374
983
765
93
70
297
29
418
863
573
885
758
321
281
596
475
293
288
353
833
182
432
661
356
46
327
375
128
931
6
157
156
336
80
674
285
742
728
781
267
329
355
30
358
649
714
705
307
89
364
657
6
673
169
372
944
379
809
556
751
47
698
256
998
273
259
893
206
336
586
589
303
516
921
241
672
940
662
421
437
980
0
621
360
832
600
118
382
720
292
543
667
560
601
306
444
669
778
483
164
29
347
42
683
134
546
190
799
887
491
157
993
174
94
303
895
81
60
36
904
811
366
568
547
958
344
12
849
101
763
654
100
601
376
194
591
80
271
854
380
396
247
617
254
305
303
729
141
265
739
236
410
33
740
230
0
989
463
89
599
390
62
377
561
661
604
248
771
342
131
655
616
968
498
289
865
134
135
92
390
749
814
465
351
364
359
44
641
794
725
257
493
894
618
453
817
901
573
70
214
469
822
195
120
865
876
230
757
145
126
167
178
92
605
887
333
318
389
207
812
954
347
434
107
951
294
890
754
37
32
80
7
131
987
640
606
335
513
497
203
201
836
975
375
209
566
170
340
417
21
429
939
280
244
569
520
476
610
916
955
474
955
211
835
872
723
974
794
352
128
349
876
888
309
791
819
141
592
209
517
458
172
686
14
443
794
492
294
183
230
489
255
231
524
417
574
988
735
53
366
256
287
337
889
811
931
298
29
561
159
668
598
400
810
226
375
493
30
478
548
243
732
956
407
273
965
225
934
0
165
755
730
646
956
224
436
856
681
399
19
298
539
990
208
610
205
404
749
144
204
391
134
105
600
647
930
146
753
265
613
98
409
693
48
814
736
69
385
947
535
13
405
275
861
271
234
989
660
273
598
267
999
204
749
158
194
911
992
160
516
485
933
165
809
268
264
750
153
144
881
418
475
139
367
92
207
577
806
662
684
831
648
332
130
90
117
732
586
926
304
935
558
387
572
175
483
988
471
187
433
858
82
355
169
589
401
285
84
759
474
453
732
486
937
124
507
828
206
523
744
516
451
784
125
414
602
674
270
168
427
513
792
473
418
863
84
54
859
958
624
648
824
486
885
486
488
567
369
496
925
269
673
197
767
786
447
219
574
855
123
722
367
301
988
866
463
761
714
37
90
167
978
266
363
615
396
603
212
899
554
392
429
561
66
487
117
234
859
694
333
713
674
344
400
295
203
164
489
349
63
944
382
119
214
116
546
885
644
672
101
701
149
395
880
256
616
520
324
463
764
219
149
889
690
148
187
462
756
409
195
114
910
42
754
920
392
749
522
108
524
834
947
909
820
610
659
664
461
355
806
239
465
6
308
137
12
93
562
143
58
394
437
563
583
505
140
608
243
145
650
353
459
444
209
64
55
867
93
272
182
671
358
535
938
415
413
573
902
815
510
95
722
803
558
525
693
453
358
440
325
669
65
159
30
485
63
61
794
122
392
185
77
602
622
858
135
672
897
554
431
891
385
536
0
403
388
365
56
413
58
194
55
309
287
252
412
202
193
419
900
65
965
84
932
762
341
606
37
27
199
281
307
208
176
820
689
518
972
169
14
397
623
449
50
466
458
655
990
815
311
176
469
253
115
671
154
519
873
697
441
779
802
259
73
551
947
792
78
390
889
83
673
233
810
825
829
491
294
251
742
534
622
534
637
445
761
946
291
356
367
896
272
283
818
19
792
472
437
296
645
784
90
374
988
426
102
846
920
399
54
8
332
156
259
100
337
508
370
831
690
752
695
661
271
38
352
474
907
612
624
340
207
5
901
437
108
900
819
361
399
963
508
304
107
503
42
389
284
981
704
724
225
967
575
287
713
750
470
526
520
378
613
905
63
522
498
159
374
616
137
523
978
842
298
420
981
142
666
816
753
451
925
897
606
881
468
461
496
571
870
625
510
393
375
352
489
28
439
815
85
84
989
332
589
387
221
609
993
434
624
892
373
15
556
107
747
746
200
572
570
180
811
895
796
790
989
1
220
369
704
430
616
216
782
182
81
24
961
116
107
167
68
208
648
778
547
666
295
971
195
256
847
974
241
653
979
35
225
488
903
100
635
951
357
304
278
156
204
158
643
974
444
127
672
733
558
866
311
404
231
70
65
913
625
696
726
150
609
12
77
102
600
363
302
109
699
886
345
125
93
536
29
169
108
97
688
288
964
277
461
614
545
259
989
735
924
76
513
471
159
811
696
152
92
468
768
367
658
289
296
960
716
55
46
910
636
677
923
49
371
229
260
92
237
691
418
225
50
987
782
579
451
68
594
212
838
711
43
738
74
42
87
249
291
471
495
530
917
522
640
538
839
780
589
558
187
596
949
995
533
812
569
422
41
573
774
692
879
540
427
647
120
592
65
248
967
698
726
948
215
699
833
667
517
431
918
971
400
616
451
392
98
239
775
313
928
859
213
702
759
889
803
79
70
375
771
483
685
97
365
903
165
506
240
313
906
37
21
15
358
222
231
924
789
545
771
802
762
686
562
405
479
357
381
861
343
947
938
635
514
199
551
530
819
617
866
447
360
370
673
401
186
847
477
147
787
581
563
559
132
376
131
89
94
348
614
279
866
562
560
461
276
612
762
116
371
507
99
380
541
794
341
301
73
674
489
828
442
182
94
92
33
137
390
253
238
187
555
13
117
737
87
445
643
19
415
614
702
811
150
286
926
261
548
439
477
786
605
424
261
894
672
416
614
70
720
556
336
237
592
973
674
976
246
369
902
836
653
502
730
179
444
33
160
972
456
972
242
423
826
679
47
334
2
822
914
962
302
971
974
734
836
694
133
605
823
996
996
338
447
204
43
644
786
452
847
755
904
994
890
44
231
156
857
580
321
869
356
825
27
714
670
740
843
315
351
20
122
384
808
81
121
548
317
974
170
287
678
912
401
584
736
340
857
215
555
493
775
632
878
630
352
308
656
157
622
932
180
24
740
88
180
53
370
674
67
283
568
995
506
724
372
546
370
897
100
963
945
328
20
44
222
630
592
756
126
629
56
735
332
106
620
657
645
449
153
430
645
717
640
427
929
101
857
768
576
880
247
570
535
646
591
431
393
825
272
134
742
177
119
609
267
817
110
180
202
568
959
182
635
188
528
830
476
992
309
246
600
459
182
772
412
507
466
162
913
994
874
796
519
755
212
403
644
146
583
846
21
702
746
197
208
277
829
900
165
501
303
64
392
562
774
523
328
230
942
382
572
426
824
531
599
630
839
911
522
498
784
51
949
738
79
617
926
73
151
981
980
337
580
716
969
155
612
968
225
615
645
113
591
577
911
695
865
241
229
857
947
249
372
58
586
13
243
577
950
167
337
623
18
786
974
799
886
694
928
520
917
620
448
544
357
323
424
103
734
737
199
714
545
220
33
700
831
439
640
553
440
236
16
924
383
980
780
352
578
473
921
236
505
267
16
250
490
660
652
917
628
732
298
602
878
288
481
632
401
689
631
911
469
368
866
743
415
263
633
865
909
461
84
236
297
125
902
963
32
231
896
278
579
105
379
412
31
262
204
753
338
766
199
707
933
377
871
146
754
372
320
464
744
599
205
161
672
674
203
480
873
121
370
746
252
577
433
555
716
649
542
398
80
567
133
469
441
761
737
474
485
46
168
148
673
226
20
886
148
371
813
829
295
864
301
70
524
447
73
266
845
212
678
18
596
786
793
139
573
368
793
599
317
28
970
601
43
769
11
41
206
23
341
176
431
94
584
526
96
866
871
940
6
982
895
684
801
267
528
818
240
850
867
131
416
596
308
589
427
748
620
762
812
369
65
600
400
221
277
288
475
972
358
60
744
229
932
603
48
376
629
262
788
285
799
124
115
529
570
590
55
623
612
796
303
457
987
30
524
548
457
881
167
203
536
619
494
172
454
493
440
948
987
936
306
249
892
127
639
735
432
580
342
396
549
468
577
425
634
681
102
46
421
741
481
799
711
456
347
845
745
690
237
582
802
538
588
38
930
385
28
405
417
187
965
279
890
478
142
200
215
175
536
250
112
195
693
147
14
190
92
104
767
156
98
549
106
442
395
647
537
690
949
410
167
958
252
889
535
470
604
308
847
163
544
755
397
322
738
675
259
494
483
74
190
178
842
6
113
501
761
432
981
221
986
22
822
651
884
632
262
378
447
642
944
224
373
583
219
561
496
401
705
302
516
893
988
723
705
880
184
489
358
890
383
246
799
823
964
947
817
204
483
831
228
856
718
768
70
967
806
958
105
979
172
234
754
616
683
611
319
763
674
684
611
208
348
760
577
445
860
56
106
445
548
383
140
92
639
331
673
580
590
722
142
505
881
969
898
30
765
840
872
326
50
781
231
7
863
448
446
661
179
491
651
184
916
10
780
826
745
987
512
538
349
367
187
187
500
627
485
151
999
469
434
717
561
416
825
624
534
90
598
451
616
97
390
204
113
495
681
227
289
875
278
967
481
691
984
751
754
918
102
138
944
680
454
24
519
91
791
246
822
362
995
641
214
533
196
666
194
222
176
546
788
361
747
594
707
921
791
109
720
401
812
796
619
346
821
680
617
80
769
477
795
695
255
398
31
434
28
22
899
679
271
379
969
892
386
45
897
489
303
498
399
749
38
696
559
755
103
240
757
984
532
307
213
598
741
138
342
117
506
220
481
49
984
80
373
697
756
983
706
112
557
43
692
648
844
236
458
816
931
446
230
275
562
43
664
245
62
474
913
138
169
129
114
620
25
774
204
384
184
883
990
546
201
611
350
594
414
441
661
404
361
853
952
112
91
894
662
119
787
689
607
975
892
973
720
864
48
528
30
611
662
343
165
790
192
87
422
431
103
307
470
679
577
493
606
267
175
107
748
85
1
322
239
72
645
395
254
621
279
530
474
203
191
246
836
113
953
439
355
541
659
994
252
61
816
522
942
129
798
408
726
680
975
551
352
956
627
968
564
513
281
522
860
915
371
960
548
470
452
849
122
735
393
723
672
51
106
484
411
738
808
396
847
77
519
948
301
467
282
98
726
38
89
736
768
176
168
754
228
933
736
398
545
577
563
689
339
119
333
920
970
278
968
46
251
258
904
315
977
456
636
434
822
322
139
56
435
208
852
291
579
913
925
146
894
481
59
165
574
916
54
676
607
320
838
483
740
474
187
574
650
513
323
354
544
853
897
933
135
491
350
772
850
912
45
174
600
538
189
821
672
32
985
962
150
182
936
198
616
652
483
4
702
588
783
348
246
916
250
501
170
275
308
514
92
529
513
978
175
38
989
844
139
309
934
975
709
271
607
838
791
328
98
683
52
128
500
241
60
19
423
222
877
620
34
659
743
323
823
101
211
367
616
213
848
844
325
474
591
507
801
808
903
903
867
337
863
845
984
769
707
554
144
508
140
924
740
705
407
998
486
33
949
959
819
93
351
859
597
790
443
764
466
288
115
612
552
176
387
374
957
726
32
123
535
331
57
199
231
927
341
420
181
417
994
478
573
929
952
986
153
227
758
126
113
205
697
967
107
772
849
482
643
151
471
958
766
244
804
614
407
244
171
48
544
936
304
338
766
997
459
968
920
558
500
886
824
432
470
144
535
613
256
230
779
145
888
957
490
49
650
71
212
909
309
425
633
203
310
845
352
876
971
53
605
481
937
500
363
215
630
741
375
997
584
182
502
596
848
501
164
218
517
884
407
840
304
296
409
190
492
437
163
835
27
710
804
31
55
302
979
352
590
344
180
739
58
678
898
731
373
198
532
345
966
156
650
57
938
416
306
675
559
743
593
305
292
282
445
398
410
580
492
908
306
703
906
786
178
864
294
884
772
157
683
973
788
827
734
446
749
850
705
769
95
21
251
930
909
407
778
202
448
315
211
340
72
549
825
268
698
876
691
745
463
103
563
28
342
183
331
718
365
704
33
626
728
580
982
331
227
394
112
757
663
309
128
901
783
331
568
800
502
751
825
124
126
991
145
647
406
749
266
644
942
587
310
259
528
350
996
993
546
218
997
773
395
903
101
946
617
299
23
816
705
906
137
826
175
263
877
158
808
396
634
99
845
760
578
669
618
277
13
630
531
319
82
244
480
513
922
841
392
429
146
86
452
415
302
217
71
508
137
477
814
609
345
560
209
998
469
912
6
608
472
930
776
57
683
341
447
783
44
251
633
978
615
160
235
780
400
510
751
963
2
921
363
310
894
656
109
411
679
277
211
432
246
34
432
710
657
485
387
708
293
155
960
733
758
876
191
995
852
629
777
316
231
532
777
970
433
772
257
194
744
165
192
795
307
773
529
539
32
834
755
790
511
819
407
209
897
78
268
282
612
184
67
429
89
360
13
525
336
627
455
790
0
928
655
157
667
452
417
973
401
344
717
931
873
113
968
600
550
218
26
904
337
464
313
888
759
85
87
959
21
933
981
452
724
736
797
214
859
933
269
948
789
580
719
119
83
705
708
638
64
6
116
333
890
954
357
5
865
150
334
283
76
807
834
50
843
168
270
397
95
545
531
504
769
207
346
589
918
353
452
827
928
284
668
335
818
735
572
320
85
547
650
197
23
621
321
691
293
76
82
235
863
147
826
254
267
618
333
504
931
865
809
163
318
312
5
275
109
511
483
115
868
580
182
146
502
304
580
49
726
373
142
299
1
214
579
670
670
337
341
386
197
131
265
253
336
847
874
169
62
553
906
457
76
567
87
105
546
476
588
211
519
194
679
455
816
154
681
723
93
182
593
92
295
878
593
68
466
219
345
751
325
984
724
711
923
169
674
688
611
64
614
203
431
683
19
999
64
6
891
281
300
678
773
365
142
572
277
659
750
128
873
914
262
666
763
83
801
859
683
4
769
412
507
553
349
591
553
453
236
648
360
372
173
717
937
109
916
980
764
511
647
990
370
646
645
286
903
598
572
283
493
697
363
265
487
303
461
109
141
737
805
459
503
594
381
226
829
537
307
290
362
955
230
305
345
259
251
246
33
733
884
8
526
42
489
543
796
641
564
0
824
815
554
799
968
167
742
748
842
461
819
8
0
75
838
709
478
256
375
182
722
392
910
354
133
140
370
51
607
134
738
730
79
812
112
230
663
137
144
977
406
707
111
819
265
406
664
246
156
723
315
877
228
977
469
506
328
174
895
545
495
189
482
946
404
135
695
80
700
23
753
119
56
761
472
76
200
666
42
656
570
34
408
234
541
28
55
117
329
72
389
492
324
42
300
926
694
527
242
69
708
842
25
77
951
939
653
417
973
915
256
455
852
187
141
749
360
16
426
411
147
884
926
423
265
16
572
85
221
682
460
539
958
663
708
280
121
586
440
181
22
531
114
804
975
439
511
599
335
810
742
562
725
115
46
383
756
871
54
493
900
389
893
822
569
60
255
908
118
770
497
646
407
104
505
611
136
70
809
942
715
338
352
459
792
128
120
152
425
557
430
377
211
725
159
805
743
541
942
53
762
591
213
326
594
727
789
671
496
275
861
720
633
259
246
85
410
554
424
786
512
307
248
461
658
518
940
202
937
963
757
777
278
948
324
316
93
178
848
515
187
410
414
368
716
758
177
119
70
546
458
484
513
129
634
513
440
634
388
220
304
913
433
7
959
658
328
194
493
965
176
764
753
878
872
903
99
732
106
41
332
548
486
152
85
648
523
863
363
601
91
29
695
603
728
486
915
129
391
991
928
155
342
484
229
718
548
288
350
991
82
35
28
811
877
943
242
324
93
240
971
817
618
429
822
148
183
518
37
224
889
578
829
110
946
342
178
427
901
848
399
842
298
351
946
323
362
40
577
853
973
205
456
146
90
34
818
86
396
844
667
61
830
305
305
65
997
661
622
478
136
252
835
440
19
393
274
271
394
494
804
445
106
953
267
416
371
367
458
404
679
151
817
606
359
832
839
235
481
318
940
397
524
167
262
187
230
593
408
697
483
176
618
513
506
370
598
776
61
537
837
131
220
316
417
526
136
725
768
490
477
905
319
498
517
760
793
182
794
817
557
437
571
425
464
929
433
495
377
325
847
434
422
648
451
583
425
10
197
241
46
854
545
350
322
768
43
601
936
806
413
872
611
369
502
308
484
568
751
413
638
894
243
87
133
19
885
134
601
434
799
279
437
673
456
994
294
192
629
639
69
575
738
313
781
128
881
780
571
152
884
934
950
547
657
744
395
346
697
808
230
144
551
898
986
705
545
721
258
381
543
202
790
305
713
494
328
798
387
627
7
449
881
66
166
832
956
511
243
924
886
127
142
184
505
0
518
30
671
405
499
81
324
2
766
44
834
936
123
311
310
175
15
995
514
223
509
8
742
27
567
7
594
868
651
651
267
43
903
632
386
579
710
674
970
934
433
287
633
866
520
32
50
552
537
270
628
412
845
58
13
556
157
871
772
566
218
894
5
343
419
78
441
838
732
771
679
942
254
96
920
447
487
304
783
578
995
157
662
635
891
44
519
18
340
348
831
724
134
252
211
885
959
395
93
398
272
854
174
978
125
699
293
22
59
633
21
940
903
466
337
849
269
412
473
73
83
59
219
126
989
600
821
395
281
199
580
925
337
704
97
423
414
996
228
101
871
613
978
223
409
574
196
64
545
80
562
420
348
128
561
605
541
373
746
216
251
990
894
199
797
951
161
613
958
551
431
268
67
575
786
925
345
286
854
179
290
720
293
515
653
381
367
479
238
430
229
869
442
452
398
103
360
78
438
817
793
299
650
874
385
505
720
540
773
883
73
232
95
699
179
71
97
194
551
132
363
94
735
999
107
422
472
373
653
252
937
918
906
182
428
169
272
718
22
351
201
828
480
88
59
415
130
909
926
236
867
86
642
747
370
569
168
151
553
658
893
486
810
492
295
292
442
176
366
862
823
809
287
46
972
277
626
638
558
389
49
694
310
618
612
398
193
914
57
744
980
772
170
737
774
191
57
974
388
921
672
495
402
367
0
459
873
151
61
86
342
435
129
714
856
63
384
38
199
701
646
43
494
753
468
570
303
571
932
786
999
482
292
681
58
314
898
812
655
316
641
458
971
624
258
364
590
621
557
867
295
716
215
587
466
876
126
383
545
311
509
968
812
778
317
990
806
793
418
883
714
551
12
633
513
941
816
397
196
75
592
945
278
962
295
544
3
219
873
984
108
229
739
529
520
24
965
177
886
27
218
704
378
855
747
820
43
641
732
215
804
496
872
816
796
737
793
789
555
5
470
658
786
686
281
576
398
929
61
541
418
626
542
14
409
857
927
881
762
819
754
198
742
398
753
464
535
612
378
595
705
5
464
879
379
129
411
628
844
287
674
894
555
615
502
115
878
192
214
467
423
101
843
619
949
959
565
512
537
228
92
429
76
431
92
788
387
534
897
596
250
831
461
47
672
449
100
677
172
195
670
446
800
412
213
224
583
633
657
678
967
711
367
379
725
125
453
289
734
850
824
571
691
557
977
970
288
974
548
540
159
257
773
817
601
947
294
849
339
822
83
706
196
691
372
560
758
498
44
972
475
769
362
310
828
217
747
384
792
388
708
388
142
878
29
569
802
31
249
329
666
998
13
917
691
703
315
960
118
338
583
133
782
541
258
181
623
349
804
297
233
826
394
229
632
645
525
266
364
61
417
670
219
758
747
328
619
802
655
561
514
92
532
116
84
108
412
754
850
434
641
46
107
710
17
795
365
379
449
250
192
154
788
250
915
451
984
804
983
546
264
232
159
944
381
323
251
822
23
650
737
692
933
144
162
865
484
46
18
601
144
971
305
203
878
408
843
293
950
295
908
738
194
508
84
660
537
176
823
189
819
870
194
305
225
988
6
707
537
713
203
455
565
556
738
583
983
865
880
981
274
319
781
102
523
780
210
222
110
41
486
289
101
614
302
472
482
615
223
944
322
759
105
913
587
81
224
994
983
28
761
87
666
363
206
351
824
189
863
103
968
589
499
231
91
114
188
919
46
117
289
587
725
660
570
60
786
744
931
64
171
657
91
695
957
658
292
833
91
722
925
52
786
468
13
375
320
984
103
681
546
164
242
981
459
156
309
826
427
829
171
540
499
820
569
767
885
160
974
843
501
81
503
195
458
16
678
132
775
128
887
730
824
908
857
687
680
696
351
404
978
917
950
698
20
250
785
678
736
815
966
768
863
928
675
527
241
848
826
760
109
41
673
870
681
734
588
113
171
389
956
213
431
716
576
282
827
978
812
632
691
452
324
516
240
958
409
556
867
419
213
818
157
348
41
343
418
602
374
719
988
391
174
550
428
327
663
979
330
796
972
311
607
269
949
172
900
194
897
733
998
544
890
285
771
239
372
688
97
509
989
91
987
875
173
973
795
609
243
49
135
865
180
416
495
198
864
746
617
643
620
938
154
817
90
157
602
258
817
684
485
298
451
21
128
3
401
960
604
451
533
384
815
835
361
583
908
44
96
224
578
546
148
74
741
733
687
316
975
468
966
429
390
812
680
578
970
87
500
232
526
209
911
583
657
671
249
414
48
63
393
794
880
237
735
774
678
374
434
558
637
297
559
424
473
403
406
669
448
679
633
625
37
972
596
341
555
258
113
754
489
999
952
184
660
493
677
913
590
602
195
820
245
256
106
506
174
30
731
600
831
206
287
132
503
718
324
911
891
135
28
965
67
819
686
45
759
368
603
504
454
304
956
306
400
82
684
842
601
878
186
959
679
948
212
427
575
886
568
568
716
295
232
909
588
583
454
881
26
807
405
647
587
270
837
303
915
810
306
564
147
797
269
30
860
905
132
482
133
66
863
818
93
854
287
540
889
539
4
895
992
413
398
701
423
56
289
843
690
105
164
212
342
616
402
285
238
263
800
204
664
245
896
243
292
510
821
717
810
197
786
137
146
422
887
824
91
736
670
890
263
397
387
334
354
541
846
751
115
783
755
114
516
779
823
164
797
188
49
27
387
317
497
551
546
119
39
528
669
27
957
118
152
453
456
742
450
463
257
929
850
573
544
378
823
621
164
369
566
704
762
487
3
46
893
725
650
511
63
345
504
554
483
260
286
518
188
879
150
731
205
142
527
314
663
271
783
96
786
692
479
711
746
545
308
155
480
607
129
904
643
357
112
718
756
963
7
748
467
889
103
828
131
999
741
771
403
841
544
847
164
258
506
451
447
17
167
909
473
758
892
252
587
702
723
104
673
818
60
117
197
299
505
282
98
169
416
151
165
39
997
291
878
97
130
897
270
958
620
950
908
208
999
744
628
160
696
478
504
781
426
882
593
268
938
662
434
137
340
642
465
475
450
115
884
334
298
45
668
601
280
39
982
630
481
896
636
450
455
403
647
494
977
114
643
947
359
176
868
613
441
840
857
954
218
764
691
422
808
28
576
451
820
714
544
696
743
795
719
352
846
387
377
917
767
964
91
147
435
972
983
400
713
217
98
413
350
133
730
396
497
390
621
921
72
503
441
416
193
155
959
583
239
744
340
244
719
759
531
792
153
559
886
115
710
336
784
406
750
257
725
130
33
990
287
325
729
181
162
99
53
904
760
53
603
915
557
790
147
703
7
311
67
521
226
956
299
657
816
956
433
762
726
303
397
975
226
625
406
822
487
547
876
770
102
780
761
316
668
852
717
612
234
216
705
88
133
558
655
925
698
563
866
439
437
540
413
957
547
190
195
417
489
320
903
3
569
405
69
110
804
66
148
609
490
525
135
315
955
348
323
401
969
625
527
989
1
264
468
467
184
50
504
685
374
19
731
493
122
880
73
930
909
332
334
198
676
183
878
210
525
40
688
553
609
636
674
134
533
545
854
293
742
132
870
451
387
827
948
899
708
900
321
663
237
927
575
810
471
113
381
618
232
380
362
349
678
948
899
866
715
400
931
701
843
558
804
929
231
458
191
254
594
353
123
259
247
129
614
315
140
630
487
744
850
840
384
467
583
686
346
712
306
2
476
559
632
113
981
662
745
240
769
418
703
51
220
337
58
797
253
925
683
134
519
205
355
324
961
147
399
765
389
302
579
74
970
54
778
388
983
160
575
654
172
680
187
935
61
393
961
862
750
871
61
620
544
718
554
287
602
76
344
150
631
888
431
913
680
54
434
572
329
782
470
886
816
438
219
263
185
942
805
556
105
587
956
29
511
442
683
425
235
590
412
593
138
824
935
127
22
1
119
6
891
930
651
872
985
387
646
7
810
287
584
507
615
384
0
460
836
464
369
514
158
0
998
344
845
979
675
681
209
120
620
67
355
246
919
498
993
626
794
891
345
868
618
202
347
636
760
101
421
305
652
439
210
844
344
904
547
33
168
274
559
592
422
666
456
435
889
125
224
892
278
364
289
623
87
682
410
377
49
668
722
635
368
308
544
132
653
420
933
979
351
132
769
60
395
141
260
979
217
272
234
592
582
384
778
233
170
126
272
197
499
154
452
672
424
656
59
982
999
281
135
162
841
970
795
677
794
999
236
704
391
399
321
635
597
377
809
221
340
386
879
87
582
975
753
945
159
818
413
446
954
816
283
421
203
718
854
356
69
769
603
344
713
308
286
537
73
559
942
209
410
977
97
669
226
20
299
908
184
39
975
888
48
216
81
243
492
399
110
356
199
40
22
818
83
153
485
41
6
963
175
830
471
346
951
781
675
306
983
899
126
421
731
23
303
11
923
126
583
475
682
862
625
852
949
527
311
339
827
765
990
513
993
351
46
11
331
626
955
137
386
739
259
459
965
859
58
313
73
758
212
127
856
973
819
376
678
84
499
476
612
381
974
953
431
271
510
797
570
601
725
662
91
678
888
906
903
883
801
270
865
425
941
700
193
73
988
71
985
485
67
123
889
80
855
215
726
700
136
127
718
918
24
776
707
719
742
102
53
765
20
924
623
730
172
223
778
880
384
392
414
392
656
365
635
217
943
623
176
478
485
646
635
888
825
504
941
406
959
888
56
49
377
447
93
396
174
598
397
669
877
421
232
415
59
321
493
144
381
140
37
673
771
81
642
805
810
521
521
810
167
923
474
268
877
33
887
148
770
114
467
799
826
908
527
53
36
897
598
220
94
967
411
404
69
565
759
379
878
748
365
573
869
60
494
369
47
366
710
992
399
956
63
61
826
537
626
710
336
66
270
967
820
470
346
272
7
831
741
933
311
64
445
336
293
527
229
297
360
627
385
121
89
243
642
915
883
453
940
762
642
55
91
207
666
985
772
935
721
829
706
344
723
726
996
259
827
479
359
162
909
610
960
654
318
755
472
604
136
110
51
814
629
725
480
798
481
823
846
900
216
482
124
154
323
925
800
275
921
860
353
956
112
302
591
719
633
256
167
782
884
898
577
511
892
789
65
626
260
83
480
783
491
4
391
495
956
101
897
346
731
320
53
415
3
691
586
313
969
261
175
886
619
635
443
410
138
848
937
555
533
256
326
723
984
24
124
401
721
917
913
301
695
1
198
272
316
252
925
964
488
877
730
825
231
558
799
351
28
541
367
767
5
932
346
620
272
104
947
199
484
888
262
325
761
459
154
553
415
313
336
260
869
971
814
681
385
373
625
101
813
333
550
569
763
471
192
881
50
410
338
768
3
328
956
692
605
848
799
511
8
33
441
605
515
496
422
972
53
924
707
7
621
903
349
417
138
786
950
420
439
569
421
269
259
105
955
223
735
694
567
318
808
729
57
910
81
396
211
722
551
717
539
838
654
875
597
266
454
833
101
222
349
193
8
659
25
19
345
597
559
134
421
915
312
405
668
918
897
788
637
605
720
703
970
19
732
382
676
683
267
7
272
151
754
644
881
525
265
602
182
37
596
681
124
70
871
345
808
53
485
567
280
291
648
622
914
666
523
529
911
287
592
439
589
189
844
104
418
183
946
172
128
714
945
628
955
290
377
498
467
867
697
529
550
35
456
34
809
358
739
428
239
659
881
514
823
220
769
394
247
849
472
284
825
914
30
851
41
820
190
822
326
195
195
121
77
615
839
588
547
382
355
491
415
8
562
410
78
961
897
352
978
513
835
752
388
398
40
312
55
92
714
302
36
620
341
873
271
24
532
601
893
752
11
523
918
665
458
64
828
717
63
321
24
449
207
882
868
691
923
611
660
85
815
811
286
234
318
229
61
861
726
478
517
7
694
197
812
516
378
352
678
761
354
923
936
279
54
96
669
678
177
792
92
485
306
864
329
60
497
369
113
938
379
131
413
97
55
424
90
128
558
940
379
953
149
213
729
912
159
576
654
148
698
777
380
320
436
310
419
283
438
800
555
576
710
327
113
234
937
957
977
11
479
471
200
218
997
732
956
931
895
898
802
483
916
803
478
90
668
633
229
375
970
294
393
635
642
529
148
322
452
146
677
81
926
985
138
728
8
484
276
854
335
249
534
713
391
250
881
4
525
289
722
583
535
895
355
153
847
262
922
572
452
754
749
263
99
124
141
134
942
224
639
69
545
768
28
451
445
938
126
150
280
586
748
357
532
466
381
308
807
0
28
833
931
473
958
647
742
315
300
55
597
830
484
675
575
288
675
264
248
460
462
516
581
532
924
891
357
419
26
817
636
707
38
909
482
471
700
354
541
780
761
613
619
381
450
132
749
952
830
489
697
134
973
41
496
131
661
917
437
715
55
390
225
554
488
767
643
359
457
299
458
868
602
100
539
700
159
772
424
813
414
451
473
166
786
93
188
836
540
479
672
216
283
990
764
711
600
226
517
790
233
948
360
624
465
889
941
690
453
46
356
304
905
861
502
254
829
977
702
189
46
223
340
937
990
812
239
896
478
559
503
61
227
544
461
191
699
82
384
539
212
579
495
353
432
49
568
520
221
784
942
416
384
398
789
640
420
336
407
836
456
666
968
380
585
912
248
510
868
4
484
119
523
969
909
47
982
210
538
955
966
843
514
974
857
62
880
745
889
336
320
108
505
895
803
507
797
959
539
49
623
912
820
631
429
554
599
148
901
648
750
380
903
784
813
269
212
351
435
772
336
490
790
129
849
293
484
867
381
785
939
21
772
567
641
809
424
45
459
928
963
278
602
980
2
940
307
215
573
376
894
52
541
312
235
475
345
476
766
918
101
377
102
45
325
592
322
202
637
578
777
530
252
680
654
285
53
780
429
403
186
920
237
193
135
393
827
976
925
815
837
81
87
168
125
743
570
949
578
612
233
353
736
677
537
265
40
970
463
390
994
812
481
860
529
468
126
727
337
720
417
234
750
549
376
689
222
656
199
719
675
289
80
252
41
683
111
958
744
660
970
915
493
408
518
490
498
754
926
643
901
934
632
576
761
760
983
908
554
818
235
583
626
993
339
776
351
936
928
991
733
55
146
450
355
623
465
96
114
539
276
284
96
727
54
442
921
803
955
733
383
339
648
102
52
152
519
581
327
269
552
184
523
42
968
697
77
704
123
740
18
82
764
178
152
977
787
831
93
606
4
83
204
320
711
190
611
759
133
986
968
471
46
967
311
449
838
658
23
852
210
898
405
892
705
667
935
823
562
944
37
497
130
968
446
889
203
713
128
194
100
218
128
673
150
416
571
526
441
36
593
95
919
636
656
486
421
739
495
250
866
524
445
920
51
808
296
898
364
752
456
448
189
390
441
978
198
667
801
682
499
756
912
371
74
929
389
386
280
778
847
640
148
613
923
307
962
293
775
340
231
334
733
444
201
448
39
263
820
877
692
411
252
730
43
493
290
68
673
838
718
433
882
861
887
748
397
147
822
896
883
947
663
311
940
621
234
466
677
703
781
843
472
933
404
726
246
680
373
184
997
666
35
126
996
335
646
707
6
53
783
224
22
453
499
967
896
712
588
375
234
976
510
57
517
484
497
655
254
922
39
847
661
708
630
784
764
458
469
273
731
340
707
326
785
349
902
656
626
465
673
659
594
652
835
897
318
787
694
541
832
725
184
511
615
522
36
733
194
973
953
801
277
54
318
158
869
881
421
120
978
937
136
79
948
40
427
413
460
75
778
834
343
364
983
122
78
593
828
319
503
265
224
122
721
703
305
887
314
840
609
60
806
179
279
340
676
637
837
741
40
908
993
637
234
299
541
598
506
657
339
31
624
382
506
589
241
132
486
41
541
884
718
470
506
640
959
794
368
712
9
404
692
1
962
678
688
811
582
183
751
440
81
542
85
41
484
226
887
507
841
798
846
387
857
272
444
753
430
436
294
524
696
661
49
427
196
525
443
459
571
75
909
200
901
807
936
445
620
569
422
659
404
166
554
853
177
7
609
603
367
398
421
649
932
69
303
128
14
490
346
560
518
962
683
231
306
619
620
64
281
752
953
893
946
454
112
338
908
733
289
475
174
859
604
638
753
901
357
298
972
945
61
716
307
391
27
42
715
166
75
556
348
593
171
255
368
172
828
8
145
296
752
797
89
428
406
993
483
654
127
799
910
741
616
978
169
179
615
397
372
843
914
429
612
999
695
739
637
956
800
684
708
345
317
536
487
24
908
464
555
239
804
956
421
871
863
25
177
910
456
95
600
72
877
333
536
423
202
338
85
773
439
993
605
764
460
731
580
910
656
410
200
793
363
952
41
287
113
98
670
552
562
854
895
872
310
255
288
370
215
703
239
890
74
516
185
694
343
880
99
268
150
612
65
860
216
863
622
823
984
751
20
177
247
415
270
739
449
717
514
950
361
358
139
161
910
11
761
971
529
709
378
974
818
85
901
931
763
872
101
791
133
494
843
717
117
803
590
230
85
512
797
529
47
102
572
310
243
432
364
191
626
820
966
800
951
202
690
922
984
520
541
655
802
354
622
63
428
512
769
856
208
275
573
461
93
677
711
643
811
313
773
214
514
994
158
293
946
824
777
205
461
59
629
797
584
932
254
590
7
786
212
618
183
455
204
112
989
382
814
731
944
785
742
854
517
22
740
44
72
946
610
475
947
214
267
330
19
801
445
184
683
806
265
505
618
721
806
652
805
678
303
492
721
298
640
847
421
40
794
442
98
257
367
541
86
52
297
324
131
613
385
724
720
854
29
286
967
972
628
720
771
977
842
22
865
628
967
555
609
379
388
241
756
431
971
63
272
583
121
170
251
61
483
679
664
776
132
790
464
91
18
378
480
483
397
708
321
151
135
274
130
369
894
89
260
64
944
821
822
96
536
868
259
59
181
135
323
110
791
410
258
885
799
335
868
451
955
443
802
665
707
924
485
621
23
181
339
999
933
77
413
522
593
480
471
699
67
168
560
541
92
991
403
357
152
679
624
996
690
277
565
798
748
803
406
90
875
756
440
639
167
380
539
82
448
458
30
977
986
988
480
487
22
29
698
536
782
414
696
497
57
515
946
16
283
332
580
320
789
212
216
527
784
437
270
698
902
792
182
607
100
472
124
896
205
394
177
797
753
358
340
48
162
85
423
593
931
926
21
526
678
266
516
637
685
768
506
648
898
350
168
946
310
257
844
118
289
338
550
257
644
699
536
983
25
65
42
971
584
100
597
665
62
501
450
259
903
935
591
998
808
852
390
408
168
788
338
660
220
452
127
643
658
698
520
575
577
14
276
5
472
989
483
230
869
27
364
507
977
609
806
457
33
927
433
276
188
950
367
522
792
306
57
255
439
986
938
995
612
463
611
681
493
262
528
5
877
104
33
38
638
548
986
499
693
154
464
630
534
992
817
48
707
521
557
849
278
748
806
391
177
478
909
433
412
360
553
892
439
501
313
950
800
135
175
690
588
695
412
586
770
259
321
778
818
324
933
745
649
855
354
839
59
655
376
846
117
558
890
603
163
980
590
233
557
98
529
455
600
214
455
554
633
323
88
151
634
926
571
366
83
155
26
315
267
547
74
19
986
959
871
78
665
287
30
951
800
37
108
677
698
166
977
653
440
306
419
355
124
365
164
624
566
205
542
793
958
334
71
801
448
252
262
43
34
13
614
3
789
171
295
192
891
786
468
928
645
356
238
463
867
398
131
903
909
45
339
324
54
148
682
536
493
601
270
32
719
673
262
988
644
768
153
334
855
397
999
214
159
220
884
959
418
17
365
243
270
166
504
525
847
277
791
987
755
282
622
896
598
568
42
751
193
760
332
270
293
991
160
162
504
119
491
576
490
67
722
832
893
924
148
284
75
119
667
820
593
161
817
416
937
523
873
123
86
713
191
613
609
780
511
308
414
346
870
324
202
935
537
850
250
519
145
166
669
923
301
469
386
967
486
977
935
901
939
938
425
509
216
585
156
491
830
201
243
546
971
881
963
554
237
713
824
999
738
301
452
563
514
487
133
418
22
67
928
828
754
178
994
571
391
373
766
669
227
147
532
732
79
542
494
229
503
954
765
568
418
800
357
79
714
651
835
436
880
99
218
377
919
953
107
130
487
984
272
353
326
478
778
607
314
701
617
846
73
842
345
546
510
271
253
775
700
149
914
526
426
568
513
214
750
972
755
127
36
114
561
198
491
922
161
531
81
412
608
581
578
44
667
189
393
88
671
551
70
750
815
453
669
984
710
994
110
618
800
316
51
403
742
993
356
616
656
375
64
723
194
118
565
388
514
807
73
596
801
713
132
168
952
373
883
278
277
235
298
123
125
644
668
329
312
405
44
632
731
421
73
590
582
636
38
431
23
0
482
68
732
821
479
910
103
57
274
348
938
479
987
233
55
407
869
251
244
472
634
615
985
132
816
424
360
93
522
796
226
155
579
183
945
90
22
836
153
924
661
264
687
900
332
87
882
693
850
486
34
856
269
474
824
660
95
540
220
49
860
585
719
899
669
411
759
516
787
867
930
498
938
818
119
993
42
644
810
755
602
413
873
535
159
199
865
13
231
620
566
941
773
734
828
966
369
988
507
480
955
828
163
412
237
437
197
21
95
640
487
857
383
667
565
811
881
962
657
349
666
828
705
332
92
868
432
319
86
197
544
170
95
874
466
64
465
729
974
940
171
486
909
956
282
893
858
88
190
472
745
328
409
771
799
955
75
735
450
377
77
755
837
603
473
469
321
660
79
790
261
834
690
645
368
855
913
667
146
779
876
960
218
635
901
138
18
95
906
466
209
263
992
400
773
974
455
958
468
728
283
513
153
153
208
98
471
954
410
652
589
908
998
45
205
299
647
87
992
633
500
717
976
605
369
642
920
868
853
172
652
890
928
360
160
554
145
885
454
697
548
340
460
546
898
904
483
290
545
659
260
993
878
471
676
943
232
352
727
938
801
490
723
498
934
213
935
732
673
107
124
930
770
698
783
245
13
62
611
28
724
926
162
574
991
652
929
562
900
268
854
528
843
415
95
981
233
68
690
974
617
277
834
767
719
241
74
225
452
603
373
219
794
629
244
813
969
894
706
261
180
666
595
421
844
401
803
813
465
467
646
472
940
277
304
152
750
568
320
207
755
213
65
310
762
843
698
944
977
628
804
71
217
949
830
263
108
359
894
808
651
403
370
420
992
204
397
52
355
779
738
206
634
11
828
832
240
677
585
309
489
883
232
364
465
667
713
593
569
145
482
142
272
74
401
748
534
227
675
220
767
211
273
769
149
596
74
879
564
690
876
567
385
732
283
780
325
780
483
544
285
76
521
515
884
19
474
569
524
475
158
637
551
261
884
921
347
894
839
160
106
124
518
997
584
998
988
454
254
111
620
272
902
930
361
231
778
176
335
555
999
364
890
164
840
433
557
591
811
834
541
595
662
784
35
431
309
258
68
444
665
175
145
642
897
310
495
866
239
965
494
746
212
918
280
505
363
276
674
823
106
522
227
886
323
171
139
837
820
27
694
19
797
938
429
594
234
504
384
335
913
721
99
371
927
44
417
938
200
330
512
453
510
200
696
955
168
751
361
34
512
516
412
215
803
872
75
576
53
176
536
98
309
606
864
768
92
159
136
958
774
736
97
233
317
915
999
527
721
360
321
631
851
392
36
227
736
789
263
728
57
428
664
192
309
473
793
432
131
851
924
657
837
810
495
697
249
682
593
5
53
943
565
317
867
528
149
856
593
726
159
636
232
145
55
258
111
89
832
921
472
546
70
167
886
774
544
722
655
885
298
922
760
289
624
989
620
269
867
144
863
699
845
200
755
196
347
591
885
512
652
31
894
187
342
544
830
420
56
952
89
287
177
19
951
131
651
213
893
836
138
28
104
679
836
147
877
665
891
9
172
843
561
858
245
89
234
395
80
826
909
422
231
290
209
881
476
46
118
918
637
981
748
318
498
164
341
160
535
578
364
48
870
867
668
827
606
846
83
913
77
846
909
888
384
54
382
449
610
640
173
350
601
574
925
766
69
674
639
695
818
230
882
94
990
174
957
919
915
273
439
22
703
140
86
286
509
517
609
174
476
887
293
69
304
840
386
769
641
583
954
763
529
574
99
597
652
266
942
312
790
51
108
733
844
558
158
341
974
661
610
482
488
229
454
692
691
379
84
393
747
324
291
1
398
352
39
747
477
660
166
139
27
592
782
62
405
183
164
390
791
581
346
565
52
130
674
558
367
0
856
339
575
121
772
824
159
631
36
940
601
627
484
629
302
112
23
314
812
154
188
569
945
352
900
685
344
295
770
514
782
982
305
297
88
122
65
197
446
224
372
374
721
455
942
512
357
36
76
357
299
137
986
867
553
164
83
473
980
487
520
794
783
919
622
696
906
976
328
449
511
836
616
464
842
168
693
3
800
427
783
866
520
447
770
476
722
948
911
354
427
129
768
664
763
828
566
589
851
803
71
703
697
461
509
844
177
542
612
488
980
363
88
72
944
258
1
990
96
469
487
752
676
179
222
636
145
235
967
495
708
284
892
688
344
720
572
829
937
522
186
935
752
719
6
529
929
489
447
72
424
679
93
741
70
551
715
321
470
136
854
398
934
42
947
934
727
805
761
378
462
197
505
112
963
78
239
993
924
950
658
947
6
981
262
396
90
639
423
289
186
402
786
307
970
704
684
180
610
277
693
655
348
823
641
172
741
649
525
433
456
697
909
86
406
429
647
533
282
28
742
722
23
822
506
255
832
119
540
594
195
4
261
157
998
412
24
671
853
269
637
175
595
806
744
219
87
90
457
108
853
954
446
637
912
763
581
496
712
17
209
437
500
137
869
916
292
322
79
923
424
921
616
669
813
967
984
24
821
451
519
619
283
721
711
743
329
694
187
315
84
455
112
302
842
226
48
862
724
689
185
819
773
688
602
412
87
177
488
206
208
743
872
748
375
245
787
774
145
445
374
551
130
334
823
681
741
877
279
48
221
250
995
853
734
341
980
99
552
236
34
302
393
244
462
748
950
391
868
675
590
390
136
296
235
85
933
312
512
989
485
765
324
55
165
467
681
534
113
404
435
438
717
733
382
878
467
114
196
189
211
482
393
592
56
15
179
14
362
210
144
247
149
27
293
432
528
563
970
625
511
239
900
178
820
182
979
922
336
147
978
67
114
478
660
719
606
548
5
820
611
356
443
13
34
430
207
333
351
768
178
478
269
586
250
429
994
527
681
858
895
678
352
751
853
206
476
149
161
78
584
513
853
119
850
774
576
346
65
793
786
208
699
724
582
812
336
42
913
111
919
158
836
295
61
621
490
631
510
716
315
274
958
457
401
726
363
412
655
802
90
582
725
369
466
226
1
743
959
41
263
590
954
659
124
937
996
159
495
406
925
135
277
837
211
151
574
991
585
630
422
153
303
152
569
254
559
748
419
703
529
828
702
828
725
792
963
832
3
860
301
505
490
916
604
183
579
161
134
305
344
726
731
103
908
49
235
197
84
24
876
476
843
318
705
767
831
94
953
382
161
754
285
889
59
871
908
735
166
245
211
693
288
410
635
842
563
569
728
399
595
875
548
303
183
794
457
273
58
512
936
887
924
321
948
568
41
451
80
283
449
194
226
347
115
810
992
144
514
369
129
554
714
123
471
512
270
397
24
79
744
842
200
492
277
339
334
360
902
360
347
720
196
168
333
49
547
841
301
419
781
156
273
119
870
485
462
512
470
562
864
511
176
284
917
444
218
558
33
283
265
929
885
267
335
127
290
897
621
929
796
901
777
21
852
278
460
104
10
523
544
695
287
381
32
346
310
953
810
961
750
152
638
875
783
419
251
238
108
91
84
755
747
686
656
686
220
175
433
409
275
713
577
882
586
810
761
236
834
344
723
606
410
810
914
179
800
840
428
382
213
335
306
840
547
958
381
681
593
76
631
78
468
736
278
592
20
43
403
850
388
153
657
603
439
176
519
463
230
912
615
912
730
647
541
146
732
998
733
26
374
682
149
178
233
503
792
952
953
788
583
620
483
654
767
340
676
111
585
574
816
199
710
949
732
473
733
882
923
205
688
399
45
721
556
496
868
224
377
410
737
530
899
828
799
688
239
975
165
392
240
363
379
168
531
452
897
235
988
566
532
720
343
367
338
145
133
398
458
147
774
848
603
599
926
922
771
648
891
501
362
462
954
578
659
274
0
994
240
726
94
886
740
99
139
87
215
897
192
105
210
240
16
720
347
905
970
261
435
149
31
397
718
527
356
604
313
925
657
934
243
232
379
658
671
671
949
784
827
278
65
28
986
627
866
866
666
773
479
346
158
707
199
533
917
157
111
16
711
165
165
302
325
257
583
948
3
706
301
217
312
161
195
571
76
237
969
818
820
27
816
221
931
46
135
934
60
456
313
471
750
858
548
787
514
204
195
187
600
554
872
899
532
171
374
332
815
452
135
640
576
610
463
125
985
885
762
625
64
475
629
358
53
558
527
421
498
508
750
659
890
207
951
459
869
407
835
552
990
721
786
704
362
986
622
890
839
194
607
27
89
308
945
556
606
15
503
914
874
781
87
18
919
310
303
604
68
741
131
148
652
630
158
19
814
120
986
191
57
62
120
669
237
383
140
743
628
360
601
356
652
4
349
628
812
964
100
620
809
381
509
9
401
979
45
926
939
715
407
827
608
849
129
861
952
983
633
189
933
781
411
834
287
635
228
957
474
669
279
884
946
265
86
684
403
956
598
319
305
724
827
847
990
100
549
351
364
773
359
574
586
702
274
185
360
102
307
213
28
136
914
247
985
128
245
597
43
211
950
778
374
571
20
627
668
735
727
951
992
567
208
768
251
908
630
554
270
796
811
342
701
733
376
734
164
11
630
544
370
17
393
352
372
981
504
110
489
989
533
253
432
727
257
343
346
717
415
969
435
46
427
229
802
467
285
225
441
626
501
924
221
644
886
508
466
516
449
371
47
962
213
152
980
608
971
360
735
213
268
726
66
460
416
762
513
463
89
780
984
282
767
205
340
254
661
973
549
281
28
237
917
511
314
330
710
431
601
98
134
764
160
157
799
205
210
400
748
755
73
605
486
603
620
857
180
45
515
93
79
670
525
69
318
775
621
811
574
97
154
945
145
456
386
671
17
462
556
380
654
493
155
900
574
702
566
93
371
388
156
703
835
635
200
721
910
532
797
148
74
371
23
990
319
147
686
499
8
168
179
257
101
47
494
106
240
122
153
647
614
783
757
351
815
180
807
20
729
72
389
784
345
450
250
281
395
71
852
592
670
219
255
351
947
989
788
670
760
91
791
759
516
743
738
508
652
329
912
239
836
880
937
264
47
903
414
202
156
273
310
14
945
346
113
621
833
868
142
305
997
729
430
111
149
828
426
295
651
449
497
309
253
764
926
572
290
227
12
130
471
626
625
66
929
783
248
640
11
781
957
331
879
914
901
463
990
985
845
142
273
93
51
226
853
368
200
961
202
627
847
319
768
699
133
354
653
934
890
70
42
10
658
219
918
193
562
256
547
0
860
207
565
460
766
904
660
555
955
773
936
900
371
45
653
844
929
656
173
852
964
347
700
607
861
341
344
338
558
384
733
996
544
692
842
893
841
997
573
845
332
921
418
211
554
241
795
609
107
47
219
496
80
939
969
399
166
318
188
379
845
168
397
919
21
338
970
196
24
970
281
960
853
749
18
726
94
185
930
299
849
785
435
131
542
673
697
375
82
435
808
199
945
26
413
722
117
332
274
124
451
588
71
986
37
717
414
841
656
600
131
706
660
146
670
286
210
802
353
930
892
936
841
874
341
60
216
125
136
653
667
56
937
20
428
904
168
390
768
833
861
58
278
909
878
99
764
502
864
179
404
156
654
123
29
207
725
539
502
915
327
615
241
72
560
879
660
857
89
64
998
614
609
117
2
351
992
561
457
826
41
682
153
936
680
354
823
202
701
33
958
882
970
465
541
287
606
477
87
551
831
968
73
438
157
540
590
448
121
863
904
450
406
72
398
358
739
263
303
1
488
939
480
372
452
728
36
931
410
666
871
842
595
846
688
527
623
643
41
187
328
855
834
811
596
834
839
810
55
739
794
925
766
589
634
304
544
196
348
445
621
201
22
524
462
8
671
661
422
159
31
286
846
904
522
96
760
726
288
78
480
904
979
615
346
847
781
571
515
203
67
91
970
236
592
479
847
705
996
533
406
539
761
778
637
115
107
234
760
768
248
884
554
443
45
956
404
701
989
195
638
867
70
297
858
199
811
16
170
86
371
14
506
577
451
689
262
253
728
933
290
50
691
949
677
866
365
236
47
854
589
275
537
767
638
336
363
748
704
565
354
792
650
204
247
781
246
291
779
466
340
584
125
125
591
280
353
850
875
790
772
708
590
174
86
258
295
508
473
467
760
948
195
130
908
554
264
746
46
651
259
949
563
527
926
735
215
335
154
714
183
238
288
562
644
381
712
503
787
428
631
407
296
358
648
542
564
747
787
932
757
456
347
830
199
109
207
174
317
749
72
276
675
902
608
842
658
476
828
300
734
915
191
610
353
412
697
1
333
611
338
506
310
38
720
992
757
270
133
991
558
674
334
188
656
415
390
421
777
959
311
246
432
217
20
860
300
177
75
108
454
600
328
269
852
537
115
449
804
548
999
307
747
51
346
693
152
364
297
830
13
594
288
800
7
468
993
713
615
757
751
246
416
698
337
427
108
525
304
41
524
411
294
980
245
779
506
13
605
570
207
219
88
835
509
522
58
948
630
26
703
628
579
909
863
397
21
519
293
319
249
274
609
992
905
134
773
648
586
825
980
643
75
354
592
234
456
527
568
850
136
763
459
976
17
530
640
795
297
724
215
522
964
482
937
773
128
951
536
324
328
108
838
621
805
882
998
167
824
236
877
984
213
547
821
183
989
814
223
5
911
162
685
706
0
712
55
104
18
579
329
23
861
395
888
869
139
915
168
666
438
204
421
742
489
418
621
831
628
592
355
361
590
575
828
180
792
556
926
302
190
995
501
839
703
51
504
341
566
13
254
892
623
666
891
252
151
671
560
282
426
539
789
510
219
64
423
330
369
655
276
24
651
747
14
434
366
814
253
707
8
562
617
433
513
282
851
557
627
936
92
829
485
695
2
663
443
138
605
199
978
247
627
897
895
153
929
889
468
132
141
861
730
503
779
776
923
25
424
132
487
954
342
436
839
694
429
999
377
558
662
180
918
475
78
109
116
631
897
155
988
882
573
160
499
133
938
384
923
448
294
742
401
657
361
118
597
67
992
328
949
386
97
509
255
619
235
990
875
933
952
400
589
8
194
260
262
930
168
361
248
916
881
308
919
718
554
813
259
529
504
730
836
815
351
784
91
490
225
558
630
360
35
610
725
478
427
263
537
220
149
84
386
517
970
602
225
423
120
235
954
221
550
693
195
299
644
919
341
788
305
968
611
648
406
319
47
600
768
361
640
676
190
80
817
532
296
169
905
458
195
791
102
537
532
421
475
397
413
713
952
657
87
352
297
453
240
195
227
340
335
784
322
39
395
51
218
149
673
638
423
338
273
544
177
889
430
261
339
159
55
371
69
423
785
41
332
603
744
751
808
560
856
140
341
878
603
532
562
178
988
113
763
240
186
107
87
0
591
99
88
22
357
678
908
856
427
503
288
571
676
671
18
253
325
611
199
568
568
62
537
495
870
28
153
106
590
98
374
461
130
280
546
720
915
862
842
158
701
45
697
15
101
283
661
928
646
370
405
593
929
24
296
470
702
719
237
370
443
746
627
480
380
413
283
884
77
849
563
344
155
219
390
636
10
849
682
292
250
258
90
926
793
802
392
271
965
449
551
346
92
832
909
8
353
68
911
653
258
487
664
309
913
228
978
922
662
436
45
938
111
336
104
108
998
167
169
479
878
793
449
56
950
421
438
71
204
692
349
619
534
511
389
814
268
903
314
201
307
400
891
202
160
596
684
311
953
72
471
456
238
143
680
350
734
330
756
697
741
223
221
844
159
996
951
634
600
745
688
679
247
912
526
261
397
659
587
42
19
100
263
347
476
730
353
223
53
454
882
842
8
349
710
826
929
249
232
336
181
744
521
847
334
149
407
963
928
21
125
532
171
682
962
128
25
238
767
789
286
240
574
998
704
931
93
344
156
520
895
268
238
249
745
939
179
777
143
118
992
708
307
638
110
89
158
310
990
380
921
50
916
168
666
734
435
368
230
85
617
644
589
748
168
782
927
141
622
825
127
338
949
425
695
712
693
608
269
634
877
555
487
897
608
472
547
314
372
935
736
723
682
927
106
473
853
31
442
75
444
236
75
320
956
836
675
506
490
972
912
797
232
666
445
338
558
695
540
477
958
387
847
296
236
85
973
86
112
769
250
480
671
634
377
931
31
988
925
257
743
405
376
553
182
751
773
942
554
89
80
55
462
189
316
671
118
185
767
503
227
491
570
553
694
497
615
895
456
178
602
341
678
823
814
776
119
413
107
244
449
603
887
287
525
438
666
29
580
506
632
160
767
151
342
977
78
705
647
93
266
112
147
21
550
973
84
970
536
254
103
34
311
270
501
369
367
99
458
577
996
440
647
424
894
342
862
873
705
281
490
557
90
968
686
826
445
321
831
52
536
222
394
73
90
594
371
556
49
763
680
742
943
578
240
886
916
96
497
808
625
340
192
527
911
373
196
32
874
402
39
500
405
320
37
848
496
718
164
137
897
364
217
350
345
493
883
576
826
888
115
936
439
178
925
925
462
899
226
339
43
953
686
562
294
589
865
571
473
609
645
130
365
380
868
587
721
219
186
322
775
722
190
640
719
738
239
498
187
960
254
830
819
378
381
78
678
929
404
249
760
422
889
843
385
162
24
367
834
940
211
58
922
931
741
796
614
622
271
990
623
869
195
567
27
845
625
313
129
854
26
22
494
724
294
753
796
795
560
728
515
364
759
489
821
293
187
865
444
727
444
629
505
872
251
399
208
707
437
803
792
648
23
988
181
716
438
383
85
739
113
542
707
219
244
808
628
840
568
911
946
478
823
479
722
84
163
136
218
407
247
88
91
698
210
302
446
834
396
154
729
815
217
303
677
896
323
50
279
529
388
918
464
573
187
245
31
722
587
799
141
161
325
667
529
674
155
743
845
563
836
201
861
807
454
128
769
316
884
295
978
34
788
277
51
115
382
697
952
517
36
420
193
924
570
967
965
203
554
553
560
225
974
317
123
524
946
920
201
61
606
617
999
378
213
63
879
233
756
990
466
235
795
272
750
258
292
543
411
700
335
163
666
958
947
173
160
193
107
887
355
871
966
355
453
767
502
197
722
623
541
908
143
214
41
326
78
354
364
432
170
603
139
911
909
315
731
929
293
507
713
93
410
760
275
285
887
125
530
629
40
974
511
16
15
962
734
491
33
527
545
279
205
143
344
372
367
845
426
314
865
873
371
385
328
820
923
279
202
483
164
980
267
48
678
56
917
682
758
192
51
317
146
17
136
71
433
577
0
143
354
480
347
848
806
161
663
13
874
349
92
847
378
846
809
254
368
90
783
962
167
164
93
11
283
302
627
166
406
340
311
215
768
482
0
352
135
696
610
709
754
533
31
669
243
912
977
964
399
571
404
837
427
200
482
894
39
870
88
30
1
488
402
939
246
281
428
530
299
478
200
974
194
885
622
983
203
381
305
986
878
607
432
582
794
720
20
788
808
312
908
637
421
741
963
51
286
127
654
431
488
389
425
20
984
992
835
527
483
166
150
324
960
282
880
535
860
514
136
86
731
321
867
114
717
674
916
523
430
284
68
139
927
521
7
872
359
904
172
948
166
694
947
920
651
141
628
758
559
119
253
146
995
289
57
224
115
999
731
562
236
205
436
89
613
660
158
918
508
657
563
618
212
453
3
250
275
131
654
229
300
740
583
261
193
568
220
55
105
458
755
362
319
301
518
254
963
922
62
10
431
975
976
69
388
525
830
100
292
54
460
92
746
544
867
56
951
428
151
537
426
879
0
719
324
973
744
337
609
200
845
715
333
544
717
228
722
439
85
84
257
682
263
770
641
477
407
480
805
695
114
752
928
9
929
652
166
489
36
921
387
662
779
679
249
795
53
36
518
337
36
601
162
767
442
270
307
173
861
952
195
581
545
848
515
947
453
495
290
597
271
328
730
900
477
382
240
878
59
911
790
367
396
336
168
716
231
378
214
919
766
152
728
294
297
529
101
590
107
719
660
980
294
12
6
773
637
866
919
912
39
138
144
706
904
942
629
849
829
808
898
894
665
115
711
301
280
574
137
658
696
983
401
619
988
56
587
276
207
180
713
780
754
577
486
538
982
628
721
921
623
415
503
196
372
566
393
292
898
882
782
522
426
555
54
873
668
742
658
287
421
446
381
124
593
446
265
918
771
754
656
30
807
170
28
399
549
800
266
749
333
780
567
892
145
593
764
559
438
185
295
803
586
675
986
967
593
556
920
621
323
526
972
329
492
239
485
593
874
333
888
780
923
102
526
728
860
721
484
975
761
855
136
890
643
230
568
80
504
640
327
625
444
652
521
365
169
596
511
691
620
786
198
715
886
138
958
530
431
697
994
58
556
717
992
603
853
338
854
565
963
925
438
743
647
390
729
796
185
806
719
9
377
771
833
986
522
969
985
386
408
842
937
615
400
230
58
639
414
750
145
910
614
140
434
77
274
537
249
733
590
561
121
87
562
462
951
562
1
46
161
405
261
925
787
655
891
287
28
607
308
115
18
201
426
77
444
153
85
169
363
612
717
954
843
919
207
987
160
966
773
83
830
50
539
159
471
827
128
148
147
868
969
354
899
588
214
618
481
960
402
697
492
113
936
568
88
623
114
497
690
631
683
512
379
775
151
631
538
182
222
192
96
721
928
304
93
10
893
468
59
194
931
735
226
999
878
187
168
539
959
585
707
961
278
380
294
246
363
80
624
526
37
30
544
189
950
163
819
977
962
662
96
450
395
995
114
304
236
221
641
174
636
168
107
367
799
582
396
29
546
800
541
90
709
973
688
260
75
527
59
79
354
87
2
636
45
98
531
731
50
951
834
876
737
806
556
544
225
783
503
546
629
633
419
494
154
243
907
791
96
55
95
786
700
667
574
785
547
947
143
889
796
887
316
378
34
569
903
557
634
805
79
535
373
526
477
64
296
148
222
798
834
605
718
483
35
889
501
588
476
860
602
419
137
902
288
177
240
657
147
432
470
608
765
328
924
638
699
356
421
927
683
751
881
633
634
392
524
783
252
752
585
712
15
626
654
941
259
804
673
490
561
705
754
345
933
189
655
11
389
25
363
906
418
254
56
748
191
498
228
107
794
518
388
99
325
719
150
395
760
132
549
772
224
730
251
663
467
764
285
881
723
385
17
794
515
82
32
790
293
347
253
300
339
968
99
268
519
162
468
33
9
832
658
221
35
363
54
555
137
35
187
831
828
357
239
914
448
401
292
462
897
561
445
17
779
469
528
727
983
588
413
740
176
861
995
931
161
764
426
875
875
318
229
344
931
350
662
504
571
341
332
616
337
193
486
768
392
797
120
234
142
626
220
821
237
437
768
532
105
359
695
626
743
767
95
397
330
254
680
688
296
149
56
336
159
416
662
771
669
120
102
570
915
545
987
738
227
467
362
38
541
99
53
606
19
869
678
617
528
688
220
288
116
659
912
143
351
509
64
334
789
908
26
607
703
639
481
837
31
767
110
927
180
452
280
35
852
197
525
367
539
444
795
418
373
669
10
112
423
616
336
746
667
498
796
276
394
562
881
605
455
261
878
472
990
807
915
641
919
842
7
889
533
8
83
450
513
952
232
666
279
35
945
539
853
178
698
203
90
566
698
484
835
581
908
465
238
336
803
84
891
297
37
63
515
767
808
442
98
634
267
913
734
759
791
425
270
263
1
825
965
623
860
675
767
848
823
455
652
31
227
916
999
870
286
430
741
575
773
948
480
589
265
623
802
756
743
738
286
841
598
316
39
453
41
519
945
299
485
445
761
953
904
906
945
196
353
720
897
155
105
371
709
307
604
34
405
870
430
824
422
360
485
275
599
636
665
38
554
757
659
646
768
11
567
881
468
863
565
237
450
563
205
608
19
965
691
625
451
994
695
386
56
0
748
699
186
785
90
481
453
833
792
960
708
280
846
123
923
310
867
945
543
556
467
314
979
952
465
413
85
80
815
517
935
625
124
637
192
666
184
645
777
420
367
922
54
695
751
311
119
529
658
508
29
102
164
769
372
144
906
273
213
851
897
465
590
22
562
902
733
585
352
678
82
222
639
324
71
31
128
608
773
159
382
860
602
87
455
510
57
858
842
148
197
446
920
336
613
971
297
333
585
372
654
700
134
654
892
835
297
612
118
526
890
874
278
5
619
39
976
917
616
293
37
316
862
327
602
737
547
181
998
417
10
985
987
224
663
272
381
487
189
969
997
969
170
612
67
918
410
263
429
565
711
160
379
635
417
176
817
623
229
22
391
67
682
469
801
567
878
814
254
929
672
534
290
743
938
631
39
795
522
152
609
550
518
12
23
257
214
705
457
274
377
288
494
334
312
568
101
108
646
638
757
780
460
410
406
621
749
920
374
749
700
825
532
490
129
640
120
151
403
500
222
795
136
983
959
187
109
844
76
745
630
248
385
567
846
979
800
793
561
326
548
249
451
261
555
454
957
416
981
966
200
351
717
938
985
459
291
984
846
412
4
56
539
923
836
610
112
585
654
286
739
823
508
152
319
979
521
213
390
821
112
494
687
247
906
105
473
454
948
698
834
523
46
54
807
138
520
726
29
10
328
63
637
739
884
639
869
236
533
285
823
659
52
486
372
802
498
558
425
679
986
467
998
2
979
693
229
576
743
103
5
725
979
508
397
174
589
892
214
308
338
513
792
658
909
893
604
768
94
379
324
551
481
503
652
960
155
439
106
97
922
5
450
12
960
951
101
996
524
238
785
381
117
671
199
355
696
450
30
650
432
196
644
543
301
220
76
258
272
40
514
91
702
73
901
949
273
360
863
702
707
432
647
68
40
873
462
42
118
575
598
189
610
536
563
552
952
231
443
395
961
797
192
511
928
197
344
981
635
523
436
908
741
538
183
621
588
432
717
551
992
711
139
146
763
747
358
962
733
810
506
5
968
76
652
509
752
727
500
2
866
329
170
903
52
331
524
369
836
216
102
222
596
415
447
173
212
890
210
597
107
970
786
876
512
598
813
894
339
247
22
144
994
644
802
413
50
776
219
565
530
799
747
673
373
565
620
213
716
842
454
788
119
111
665
92
190
707
384
534
902
462
334
794
102
334
367
937
614
225
389
813
969
60
675
562
84
339
978
807
696
713
23
642
189
899
997
252
868
370
305
413
276
105
277
428
458
353
701
468
441
312
303
712
774
446
986
732
403
864
707
191
393
624
422
732
835
569
407
382
290
685
162
649
516
800
393
895
262
732
762
544
924
139
837
343
809
166
556
543
232
563
694
506
280
805
602
13
312
796
399
29
21
123
486
902
389
736
151
355
526
609
897
903
200
238
366
916
92
994
325
863
96
889
462
599
344
575
438
245
360
574
294
288
220
607
59
564
337
863
770
602
30
186
460
575
907
132
551
686
784
741
374
939
873
781
777
539
132
687
763
831
668
265
179
4
264
285
139
946
467
179
388
4
306
10
161
38
605
442
311
685
379
793
938
143
813
272
365
840
671
10
388
371
625
75
708
216
612
689
364
729
996
594
269
879
319
832
917
915
595
530
316
549
137
578
861
415
749
249
981
704
636
582
770
725
472
244
603
326
218
997
881
740
273
561
1
760
657
311
550
723
825
4
862
160
505
806
947
793
184
798
296
85
599
820
766
732
688
398
893
59
148
403
86
900
329
41
605
289
971
26
409
27
902
370
636
673
29
44
548
826
591
624
559
480
228
15
930
996
582
72
174
836
492
240
575
520
291
283
557
49
730
853
123
63
574
964
305
323
504
454
671
366
595
329
869
210
60
90
362
622
662
248
182
138
585
813
340
254
838
94
874
325
162
749
468
288
817
172
619
360
102
559
481
948
673
585
872
974
661
52
419
388
783
876
200
129
451
45
81
613
217
703
921
109
388
678
929
245
374
111
786
555
172
431
232
124
657
81
300
2
559
17
690
725
11
67
304
275
867
536
965
667
618
620
751
378
434
189
98
122
250
336
846
667
242
53
254
211
302
55
571
762
277
887
210
955
898
866
749
751
554
539
674
764
271
751
80
681
987
556
485
487
138
849
473
462
168
949
51
77
276
195
414
76
858
39
426
893
875
7
699
48
13
110
462
957
782
208
706
223
597
114
217
874
417
656
906
279
569
191
357
340
214
762
540
377
697
67
991
252
703
109
282
511
909
647
596
783
500
247
169
309
958
689
880
600
682
143
642
873
963
382
77
778
788
152
272
997
581
696
176
380
773
639
685
463
24
765
308
170
501
115
139
296
837
100
584
71
413
131
821
34
716
653
282
926
198
723
166
961
843
211
614
723
301
349
467
459
652
653
141
887
904
358
198
225
84
548
883
561
505
564
389
732
522
623
133
939
467
551
642
145
861
393
234
605
523
620
184
141
206
247
137
846
96
292
21
819
395
944
364
564
261
218
556
744
668
216
25
896
912
990
790
880
18
855
840
743
247
65
955
865
635
247
342
715
202
651
329
291
433
938
143
67
248
317
914
18
491
572
187
796
648
255
984
397
737
657
824
626
425
158
641
209
79
374
67
412
319
960
811
58
387
4
413
693
445
52
209
680
484
630
758
224
92
934
448
179
799
30
835
664
60
65
121
637
336
264
772
128
863
26
850
818
577
428
499
186
619
608
90
679
266
787
181
907
804
986
323
842
249
499
76
26
75
737
400
821
413
911
726
466
451
328
0
557
814
884
493
625
386
274
64
798
464
560
679
509
449
989
505
251
590
751
511
294
484
19
723
222
766
843
318
134
161
561
470
897
262
692
625
92
881
438
43
907
70
898
438
344
982
970
174
859
815
168
171
573
221
474
609
909
704
171
775
38
334
765
922
846
37
663
699
651
948
25
327
142
922
330
244
591
223
720
593
757
442
431
214
841
117
222
96
406
273
399
316
894
750
697
588
513
19
424
455
187
413
24
500
125
640
130
518
526
757
526
933
169
200
327
682
574
837
373
44
849
535
992
798
901
801
296
82
564
815
320
950
1
967
110
741
924
933
415
766
54
929
105
51
682
813
230
651
867
34
327
356
966
530
839
343
169
963
278
448
885
203
144
546
780
926
960
665
232
646
101
902
36
938
212
880
750
62
662
814
203
632
192
823
534
761
463
483
363
88
341
196
86
266
421
455
927
460
936
967
166
935
542
586
25
871
716
160
902
721
96
991
237
143
491
360
980
996
909
308
297
338
836
951
676
105
220
693
77
256
477
26
462
845
451
248
891
220
881
361
178
392
738
242
461
932
655
690
665
676
235
45
434
873
785
464
578
340
333
146
134
509
21
220
679
505
955
753
534
561
429
7
609
857
785
634
710
898
79
313
284
653
5
84
528
969
313
61
384
680
978
500
877
711
555
899
517
975
901
128
226
910
154
852
818
386
756
902
278
502
431
706
840
105
943
571
918
572
231
279
751
244
431
632
937
781
848
589
46
878
0
679
149
774
608
477
67
553
479
400
768
121
103
980
870
228
376
812
119
194
95
361
920
802
970
964
258
455
907
316
352
447
472
303
791
235
518
299
23
120
497
598
175
723
769
224
225
513
377
603
72
277
904
796
364
204
387
960
377
875
180
744
544
566
527
982
998
768
331
63
32
814
920
932
596
53
870
858
480
596
502
367
200
393
119
765
388
786
485
84
455
640
345
955
814
320
803
341
310
176
273
348
452
738
92
862
648
391
921
448
331
761
357
260
217
124
495
482
488
535
701
126
388
290
909
427
599
70
22
538
728
903
487
674
913
629
160
980
811
936
367
322
3
795
949
147
228
112
202
961
953
840
64
225
821
419
990
350
302
723
289
602
869
465
41
890
213
91
981
317
620
382
830
570
517
378
736
938
50
21
818
97
663
553
58
300
667
335
291
15
913
263
209
288
667
318
267
535
166
856
896
376
417
653
437
730
186
470
431
367
418
612
924
846
693
801
855
970
630
872
392
538
194
734
330
493
284
666
975
6
537
686
8
961
868
826
160
185
738
302
322
772
656
319
58
80
435
31
393
500
75
143
300
546
521
75
17
926
772
484
873
607
622
888
963
731
865
144
68
991
27
613
458
967
414
230
509
797
594
863
670
320
255
220
9
587
363
522
408
210
912
982
896
672
329
26
683
783
47
767
819
50
290
127
926
798
328
255
13
900
370
324
378
975
628
127
70
758
748
280
471
896
712
295
331
110
478
63
858
650
478
483
578
985
452
773
255
544
307
59
802
346
59
474
596
789
54
57
699
960
201
224
740
759
769
123
556
170
650
39
909
869
464
671
916
824
248
880
900
112
332
449
879
350
497
15
356
696
142
867
86
739
287
694
221
154
138
538
791
279
255
147
522
849
594
911
334
949
543
708
174
425
537
58
609
842
980
376
893
457
181
295
565
255
97
594
948
365
261
804
94
884
239
167
709
761
141
980
270
476
775
266
711
845
265
144
961
143
124
788
534
918
345
202
508
300
365
881
901
125
34
263
61
785
74
308
906
335
793
369
131
744
651
828
30
279
895
650
934
161
810
183
264
541
138
908
13
591
405
344
793
321
556
186
590
707
284
39
577
174
290
365
435
881
699
100
556
761
705
912
537
847
653
471
558
809
650
468
848
621
309
893
634
354
429
108
487
245
159
690
188
669
495
901
370
679
54
953
321
832
7
142
68
764
88
254
364
102
539
488
224
658
195
904
470
88
836
96
786
451
14
49
351
552
545
182
733
815
895
162
681
799
610
54
392
321
147
648
268
365
815
619
724
104
279
11
896
514
401
566
632
759
80
912
43
472
685
948
771
384
123
529
756
890
271
393
878
968
13
383
15
708
602
509
209
115
956
134
659
955
106
472
232
78
722
600
660
277
346
340
550
394
172
396
512
281
599
319
56
171
532
774
646
414
763
517
377
413
278
466
410
147
431
294
348
712
861
698
236
826
140
607
654
107
567
538
405
239
919
431
255
864
118
905
264
642
785
888
339
634
157
988
374
931
146
225
557
534
435
894
994
276
397
41
691
110
740
933
7
476
286
158
426
183
355
388
758
220
865
39
101
522
159
12
631
401
453
440
670
891
879
116
189
543
153
221
104
984
210
459
885
964
10
586
904
375
369
787
922
40
142
946
137
587
926
288
158
544
221
61
345
527
325
897
83
932
256
531
775
772
711
836
459
223
494
545
444
866
644
572
276
465
176
232
701
824
364
23
735
740
267
790
182
422
390
969
572
914
692
932
437
193
885
581
606
194
3
601
947
109
930
478
238
962
479
408
112
930
702
282
878
263
436
249
497
287
209
446
861
453
791
84
422
857
889
964
553
105
14
159
271
323
901
159
194
310
205
191
911
386
874
908
954
412
571
0
556
741
173
462
694
206
681
990
213
149
554
275
305
895
191
724
956
861
940
957
711
830
744
828
478
247
338
910
644
237
17
925
156
515
768
281
476
93
170
776
719
977
61
474
48
10
634
274
791
673
123
694
67
49
249
681
952
689
986
279
653
654
973
803
394
374
96
952
398
652
50
738
49
567
825
127
230
982
287
386
834
676
772
390
528
143
132
180
325
862
833
396
566
775
737
729
598
165
419
190
2
275
677
306
862
45
859
619
264
54
462
230
935
894
147
572
943
522
113
814
453
916
209
894
397
98
148
338
418
340
373
167
211
406
403
940
322
754
458
891
331
228
228
16
311
658
922
240
922
419
829
429
404
585
438
273
308
367
253
933
702
46
757
449
862
175
381
658
256
505
530
837
376
127
762
896
731
426
689
173
995
682
524
364
859
693
952
231
149
85
747
792
448
930
54
404
157
568
855
962
790
339
864
375
755
940
440
546
521
242
479
679
650
153
340
446
874
250
383
993
803
819
108
219
867
451
729
866
472
235
339
68
458
559
967
316
713
440
187
532
979
856
937
968
977
628
832
227
641
21
778
865
900
339
684
802
839
391
15
553
103
602
845
639
956
449
2
596
298
238
835
881
193
127
468
113
942
994
191
53
886
974
897
838
597
450
897
705
727
583
771
856
150
292
863
989
684
362
986
18
231
351
196
919
842
770
67
635
571
690
494
76
84
702
670
934
70
82
932
977
77
316
391
770
974
261
589
126
455
91
142
595
422
117
233
835
2
410
327
170
275
986
133
752
741
860
22
644
472
865
737
945
174
393
655
131
500
899
562
451
476
564
681
853
488
442
666
77
301
989
934
663
440
367
427
307
669
185
704
372
466
461
713
209
923
291
631
626
506
9
763
881
575
325
600
145
540
105
336
823
887
272
587
338
891
994
570
290
680
710
52
992
322
605
499
65
475
174
414
346
438
863
458
504
881
292
15
641
197
289
492
605
316
442
155
737
835
828
41
176
166
882
366
234
668
293
649
444
400
573
479
481
144
568
944
160
97
173
746
877
7
843
541
387
481
991
365
769
618
710
308
787
350
953
445
297
263
237
588
197
340
856
390
448
244
849
942
49
110
310
987
200
184
66
753
996
656
10
875
106
602
171
925
985
719
706
793
500
486
291
821
756
990
37
638
355
787
791
772
35
122
937
19
110
742
927
361
576
317
519
35
450
955
289
895
706
746
200
462
149
641
845
565
365
126
890
612
660
322
484
494
733
864
969
327
737
434
808
59
480
594
542
465
779
109
334
619
901
745
246
121
6
343
735
679
428
888
891
324
274
704
508
670
485
0
11
579
6
234
555
120
300
810
216
199
640
733
119
416
679
41
669
23
498
882
410
670
572
464
242
212
988
187
825
404
670
650
474
818
456
56
460
818
396
667
961
731
784
81
617
303
212
413
925
871
558
509
917
820
180
660
486
690
146
213
735
448
14
83
390
152
884
862
462
487
372
561
68
360
267
204
941
933
850
593
415
858
460
924
822
185
836
793
250
163
200
510
701
265
60
503
771
903
383
154
94
783
513
919
342
413
597
793
77
13
741
88
979
900
532
749
152
938
540
251
175
63
694
727
429
369
301
857
805
65
101
592
387
268
639
403
913
198
494
931
235
941
777
899
758
604
492
494
48
330
437
680
69
182
986
942
978
343
961
537
638
11
372
23
390
152
237
607
814
350
641
176
233
698
833
216
691
839
430
249
810
721
671
651
358
866
141
161
666
815
293
376
519
561
457
765
962
854
118
422
212
26
763
942
948
363
915
303
272
464
996
263
797
377
155
714
609
739
745
204
816
20
576
892
370
917
264
566
598
992
293
223
631
3
300
694
183
330
439
301
702
185
656
934
918
250
16
393
199
557
120
517
281
236
75
139
156
609
641
508
647
533
76
303
33
504
193
719
451
377
865
103
819
586
26
979
445
452
483
587
707
582
415
818
172
594
78
2
859
226
597
621
280
355
597
852
38
701
550
516
607
579
529
828
838
0
803
880
50
295
366
249
147
910
639
577
424
773
844
882
559
772
702
319
328
159
857
457
59
320
932
729
779
561
566
164
124
856
918
630
461
132
950
926
117
973
913
254
500
937
622
798
444
612
308
674
313
71
256
712
941
58
964
941
852
639
397
803
774
713
948
710
636
250
964
446
983
974
102
554
314
138
581
91
214
551
835
670
507
679
915
862
573
919
635
490
861
97
482
31
980
969
699
527
796
996
956
426
85
771
273
595
134
123
82
381
576
289
918
3
753
277
564
983
830
317
199
780
304
996
73
788
520
686
751
861
400
211
362
915
109
377
644
799
236
511
264
571
728
619
276
395
562
815
89
52
958
414
129
431
715
546
880
977
688
102
866
152
267
830
71
824
397
843
991
612
712
954
771
571
262
990
485
418
970
728
378
736
120
800
712
438
901
814
954
806
701
916
848
985
890
646
479
34
817
35
691
931
888
800
576
996
409
529
954
943
448
116
742
942
765
736
435
373
838
751
460
256
37
862
701
563
784
664
994
516
590
601
437
446
381
963
623
645
897
361
566
562
545
866
36
65
241
50
322
764
43
977
638
729
586
700
120
174
645
79
678
365
258
724
210
581
718
173
568
588
381
974
668
702
773
722
546
215
498
894
865
646
541
335
165
102
353
942
642
387
50
632
145
882
32
930
115
81
51
524
139
334
161
181
964
951
93
714
20
573
770
754
28
942
760
59
985
891
470
290
259
308
91
186
382
854
621
57
736
571
148
3
143
305
970
800
331
442
746
417
629
938
151
840
879
917
522
287
398
606
171
11
433
447
209
31
204
34
269
102
362
673
821
616
387
305
804
167
640
474
23
702
801
667
749
119
372
487
996
732
443
109
748
176
352
888
794
472
889
636
136
84
622
568
340
491
668
167
820
608
833
446
785
890
442
370
499
295
565
3
440
188
839
901
796
604
187
695
401
928
281
287
556
54
398
144
76
711
462
199
891
49
770
899
193
833
951
842
941
656
576
862
491
425
657
457
875
96
494
531
814
192
599
424
594
148
894
668
912
413
671
158
195
872
886
154
343
556
812
773
872
562
804
625
352
730
845
431
646
89
50
328
176
814
781
354
936
7
941
222
800
542
707
890
720
234
624
430
376
756
445
772
780
865
981
413
97
792
543
962
282
710
531
28
528
20
871
363
778
623
687
401
294
300
983
587
536
33
917
571
571
573
91
425
768
298
597
211
281
860
73
412
237
310
903
871
988
576
272
544
220
466
880
173
919
74
121
512
631
597
611
872
809
368
359
558
657
324
444
404
277
32
699
953
743
252
628
827
802
606
901
561
367
358
261
232
335
379
41
328
317
295
702
683
593
223
59
655
773
14
351
419
580
304
65
241
255
821
508
766
522
999
942
635
616
140
145
164
377
401
686
358
981
724
809
831
91
322
559
514
752
463
308
226
942
383
871
48
338
881
34
717
569
641
722
58
149
630
66
187
714
934
405
617
660
642
598
728
252
582
397
515
638
175
294
207
458
137
299
17
108
386
526
388
177
348
386
71
518
751
367
384
377
220
170
447
421
773
958
135
447
883
580
561
522
651
506
195
928
99
864
511
301
322
286
124
649
690
553
281
760
242
808
844
90
146
916
565
767
774
653
763
144
916
472
145
436
746
132
446
986
196
659
229
683
368
359
749
443
615
17
320
44
918
260
402
914
802
9
19
736
428
113
98
387
613
248
496
831
899
538
415
855
920
367
489
91
612
83
922
296
768
839
455
420
589
85
269
396
349
8
841
884
708
973
876
501
826
519
639
717
109
71
407
605
455
336
731
500
134
462
669
325
175
305
474
215
652
747
433
397
390
667
405
69
312
168
681
219
874
388
832
504
227
758
422
234
311
223
98
704
112
714
613
687
562
48
816
63
938
809
585
191
359
513
158
267
765
331
796
515
738
646
561
579
647
186
122
408
650
961
726
914
793
898
53
746
655
426
562
907
876
262
636
588
207
821
164
549
426
974
637
808
288
47
947
316
314
792
959
234
575
130
723
651
217
578
892
892
270
78
684
729
83
221
806
651
891
181
806
4
494
434
84
601
3
678
776
275
827
253
10
709
743
753
900
212
200
791
775
529
163
106
145
254
890
88
731
385
627
807
554
652
244
552
838
159
821
764
595
652
13
361
903
760
707
240
599
947
459
214
656
393
548
653
693
262
461
482
763
598
89
914
291
555
80
647
432
131
140
833
684
159
804
904
536
852
111
341
127
486
199
224
121
794
251
793
555
324
501
506
425
148
718
598
681
760
218
303
10
474
530
697
772
294
480
9
548
658
532
325
928
866
491
366
338
225
290
468
441
980
764
483
620
558
79
409
520
348
392
154
442
981
258
506
76
817
693
174
957
821
70
711
613
771
870
688
964
896
854
381
683
941
989
315
211
538
453
529
173
527
774
102
659
821
118
75
368
47
523
722
576
631
204
115
837
141
57
361
50
105
7
874
908
826
550
520
191
496
201
40
208
975
836
635
955
320
846
247
835
795
801
955
994
107
341
993
20
896
761
110
376
628
923
10
227
734
242
501
606
438
199
410
375
877
623
246
402
499
787
81
369
989
449
452
754
70
435
732
328
518
893
275
776
765
318
13
218
831
725
89
424
44
721
202
645
36
331
47
34
229
718
193
14
140
679
565
615
523
536
240
810
147
651
683
656
394
228
317
760
896
365
989
196
144
409
754
149
296
834
637
628
708
39
709
893
243
113
211
959
27
969
275
210
630
969
168
236
267
583
230
634
729
209
57
57
111
895
322
548
863
589
511
488
73
42
98
145
339
486
416
898
697
393
364
991
228
311
908
972
119
956
138
27
852
699
293
542
231
225
199
563
901
258
149
630
376
179
851
901
170
227
842
374
67
585
848
371
32
824
916
211
246
391
220
88
21
975
236
973
344
950
758
403
848
139
700
425
220
804
136
811
45
70
308
289
915
24
763
161
734
228
639
314
863
677
400
576
980
775
67
150
882
75
193
648
144
454
527
516
347
722
326
753
296
36
349
816
216
376
460
513
469
153
483
763
981
230
933
119
77
566
386
559
294
513
272
461
328
781
923
399
173
496
123
65
253
408
652
834
239
523
885
552
119
245
594
434
189
534
408
155
335
19
434
774
97
577
405
459
638
380
371
689
39
681
353
449
978
504
538
417
288
491
239
914
306
365
816
142
64
745
608
511
25
283
24
526
353
786
606
663
62
566
149
115
9
701
211
856
809
771
230
121
504
713
550
369
362
3
186
427
711
275
432
998
74
958
971
212
354
606
529
542
130
388
420
653
67
301
796
483
425
496
798
605
829
81
315
255
850
224
641
877
374
937
287
693
391
153
953
592
573
512
927
436
524
617
294
70
606
195
582
451
265
976
550
754
382
490
856
708
404
688
121
833
748
652
249
396
473
536
255
84
832
385
971
774
350
553
227
218
793
701
655
853
163
474
150
235
870
281
6
326
542
732
386
367
269
677
718
995
696
621
964
148
861
193
16
204
202
421
498
765
245
252
245
70
304
428
729
549
170
655
387
535
218
603
816
195
941
469
561
93
402
658
447
826
989
344
232
77
963
452
741
66
127
81
72
968
141
79
463
546
663
352
401
859
736
690
455
993
648
968
875
330
505
729
64
439
731
28
170
396
716
977
880
86
784
988
673
262
775
204
626
235
483
47
806
171
618
681
813
957
719
938
56
517
442
259
508
38
106
357
951
820
405
946
697
355
230
270
20
545
435
913
751
507
346
243
825
206
747
260
661
665
75
194
903
381
181
194
191
811
678
18
299
810
609
556
649
953
183
147
203
896
123
516
504
245
631
158
543
908
991
960
438
430
803
355
467
699
563
356
373
907
347
569
746
979
319
828
325
94
156
509
125
309
877
649
267
526
758
427
624
999
126
864
711
83
381
973
850
267
812
537
516
478
449
689
758
942
927
288
86
16
454
949
35
381
721
812
321
178
285
20
460
814
246
845
654
83
177
843
721
384
522
942
725
538
391
455
953
191
721
87
403
163
344
98
647
195
151
223
832
294
470
999
650
620
90
954
988
973
949
12
174
926
907
405
842
49
306
104
253
156
293
194
798
160
238
451
309
574
830
167
149
961
989
47
558
785
152
526
881
70
363
450
98
495
460
506
195
513
860
66
380
697
858
277
442
839
395
899
139
165
488
976
45
930
567
10
198
587
126
831
658
848
967
638
982
673
320
418
92
37
603
429
108
322
322
796
195
555
770
397
851
494
702
296
974
246
113
536
432
250
231
52
375
758
19
233
935
603
639
491
473
377
263
38
912
703
810
527
258
860
126
2
596
999
351
696
429
107
807
955
336
500
790
400
529
332
681
77
169
204
993
33
263
646
991
608
27
319
180
833
670
172
331
284
29
477
747
829
15
989
469
749
771
351
897
101
839
361
305
185
584
803
5
582
80
190
581
653
69
582
24
40
406
201
251
694
923
939
262
863
672
312
123
317
658
139
465
535
826
408
427
264
555
240
881
858
937
727
682
791
415
521
194
446
665
201
832
62
164
452
261
597
443
162
854
479
492
546
445
889
848
213
195
697
652
721
244
72
820
324
748
199
266
97
854
319
942
36
724
929
742
990
948
45
731
637
912
353
413
444
476
387
305
552
929
648
552
437
800
413
567
662
159
901
89
620
867
586
615
531
170
508
719
392
903
732
282
828
200
550
31
409
983
718
364
532
413
497
84
843
636
516
59
508
925
217
654
79
918
710
661
51
177
822
770
706
952
254
214
513
47
304
930
386
850
452
563
950
649
979
225
421
545
573
131
876
586
794
486
51
866
768
424
815
731
162
614
991
813
89
809
280
349
10
313
374
140
608
513
147
192
528
107
143
92
174
137
518
165
651
256
116
914
463
241
127
361
240
7
64
41
512
323
974
230
478
347
761
230
807
457
309
791
159
396
323
461
62
524
285
767
230
296
667
354
533
498
436
318
650
144
898
551
831
866
457
755
905
608
694
638
182
904
100
398
109
552
608
716
599
594
114
623
427
473
603
686
221
749
78
445
301
426
70
747
235
415
598
335
807
341
291
493
452
232
378
462
219
52
28
449
215
90
502
784
674
686
563
341
821
833
353
242
148
804
474
257
71
956
505
560
826
669
39
518
539
527
352
939
282
508
850
789
275
738
766
707
48
613
527
686
73
447
978
17
384
912
231
243
288
212
549
954
491
416
427
295
354
648
269
154
802
477
565
478
229
359
361
677
182
541
301
91
234
628
676
724
252
286
92
465
773
34
69
690
743
203
927
435
71
337
328
188
716
580
231
821
329
584
529
174
893
572
810
3
775
449
92
666
642
578
87
225
108
809
894
272
225
922
284
438
814
198
845
983
344
650
779
183
796
911
603
922
492
518
868
810
646
797
255
31
71
533
218
193
287
582
927
183
2
87
781
26
595
244
513
707
605
165
724
641
196
403
421
873
589
392
498
928
295
625
584
993
72
270
51
645
384
741
928
206
220
129
768
414
698
223
209
225
218
70
29
948
965
213
816
162
87
528
721
753
202
917
42
403
940
375
268
110
550
0
42
566
570
803
836
148
915
973
210
733
474
47
540
75
30
899
154
30
996
81
260
676
363
882
741
905
65
832
578
996
368
68
661
933
915
307
237
267
48
687
463
704
514
52
713
764
902
639
161
897
232
12
547
370
325
968
516
295
776
580
933
837
642
258
760
617
952
450
366
776
560
421
400
670
853
856
877
388
25
692
862
102
610
928
884
586
174
419
379
7
425
384
815
651
961
781
397
749
951
742
701
893
234
540
252
937
521
371
435
519
912
586
259
223
113
538
757
107
93
11
878
7
868
548
708
341
453
162
565
749
343
880
763
577
449
377
500
836
844
116
618
772
756
48
940
449
282
458
882
497
380
52
380
554
219
833
150
875
551
195
471
72
779
243
988
137
4
875
749
715
329
826
89
60
263
345
154
204
854
350
865
372
758
858
254
521
490
75
726
372
679
243
877
513
572
495
763
388
940
457
439
424
764
155
365
655
984
182
688
685
52
188
717
70
859
624
519
839
115
882
780
304
656
622
487
59
891
992
243
301
310
323
384
534
305
51
887
793
494
21
862
909
633
892
410
711
313
176
898
160
916
767
335
810
811
317
137
801
565
172
156
879
975
607
203
433
858
391
582
854
228
548
908
407
728
346
318
778
410
22
984
227
57
243
222
277
605
48
789
781
202
922
226
918
3
761
926
558
475
856
763
278
884
459
302
583
590
527
312
485
944
59
774
42
501
222
778
888
479
756
485
777
728
917
624
301
422
214
497
455
364
750
547
15
749
865
564
229
77
649
131
694
809
161
361
854
449
564
984
138
241
962
710
879
926
458
40
909
552
966
634
639
472
553
932
605
554
629
3
586
516
961
344
564
345
242
27
19
321
77
172
505
747
157
936
85
355
964
237
227
621
329
499
680
671
238
388
426
769
646
667
973
146
303
115
826
537
129
97
11
775
484
846
947
725
234
105
682
86
525
185
7
627
52
107
443
915
879
25
682
621
864
368
104
431
99
319
180
728
554
735
946
463
939
39
94
343
223
440
405
271
423
951
437
823
923
277
902
546
530
767
23
863
949
327
642
334
188
580
922
787
419
478
898
219
175
412
91
193
407
418
401
751
548
778
922
469
15
843
907
669
63
278
616
407
797
75
40
381
939
3
218
635
514
307
840
236
223
928
240
483
33
660
299
909
218
481
557
264
190
579
831
624
62
361
563
523
670
228
126
594
432
549
615
996
406
623
833
790
666
768
265
650
135
199
132
881
849
907
188
237
165
351
93
794
864
778
723
397
540
237
62
311
562
645
891
444
4
416
950
593
235
584
623
287
195
137
384
557
374
193
938
748
778
344
704
414
248
581
125
611
160
959
118
538
290
493
824
18
318
708
326
645
987
13
105
876
783
320
965
539
341
935
173
307
677
576
810
670
879
259
609
662
767
111
217
707
768
295
593
64
951
831
222
450
678
69
720
848
532
111
157
818
659
386
11
822
423
986
777
120
883
720
255
147
932
90
657
950
201
687
390
550
775
686
601
193
532
733
950
640
764
452
64
546
453
523
898
955
739
765
468
745
759
456
428
211
745
81
416
345
709
721
67
481
239
318
338
184
515
669
53
572
438
242
574
249
90
787
780
361
339
420
280
275
475
971
640
775
0
977
553
724
310
876
248
310
124
946
887
342
939
408
23
237
102
319
852
667
889
973
223
716
246
884
464
693
576
667
776
594
149
941
942
367
381
33
451
570
208
888
472
950
954
406
522
174
725
138
489
930
366
192
102
368
85
543
503
452
16
744
242
316
897
25
468
965
125
978
677
119
714
171
815
264
896
766
494
180
585
959
491
137
888
114
980
434
460
937
852
111
659
719
465
676
967
803
208
945
281
466
656
310
526
429
988
584
397
359
804
547
443
403
170
569
784
850
168
429
54
113
145
876
339
668
559
892
393
555
893
355
473
865
830
511
458
253
967
317
367
220
260
198
801
167
508
980
237
728
632
786
510
686
903
203
546
268
260
926
899
822
159
586
637
54
719
42
433
823
297
798
724
944
529
525
581
131
322
320
288
629
221
581
320
694
721
408
233
444
678
921
992
333
37
820
737
527
261
435
694
264
485
949
519
361
239
495
776
952
350
53
781
557
844
560
152
764
638
774
31
552
406
176
758
291
300
228
725
761
729
177
776
390
461
494
567
139
161
708
921
481
11
68
697
638
859
765
758
7
259
699
624
212
827
740
857
186
415
587
618
918
554
220
875
280
345
841
314
176
904
558
98
554
305
849
967
56
270
735
813
842
188
263
744
182
750
411
634
21
124
38
480
555
974
273
535
10
349
564
774
296
539
951
128
850
232
890
802
121
268
946
575
626
75
80
406
62
855
116
527
150
147
840
901
499
110
179
116
517
215
488
816
119
129
673
645
987
55
362
884
460
773
826
735
917
722
408
780
540
592
272
766
305
118
672
117
49
118
53
162
111
238
508
171
32
416
943
996
417
403
143
779
917
852
694
448
805
497
291
760
921
85
679
835
815
545
928
45
287
72
917
282
564
833
339
990
615
160
414
733
670
74
446
231
16
668
219
285
640
183
816
331
919
896
144
729
246
573
989
204
597
402
910
596
619
201
600
357
893
257
280
920
884
852
83
624
821
614
381
350
539
236
95
870
839
190
472
273
82
246
854
585
77
439
350
443
757
214
756
877
231
27
243
405
907
41
117
154
895
785
371
104
921
478
572
678
987
47
93
119
368
384
977
946
795
547
689
207
401
933
609
766
41
381
266
596
66
926
866
181
231
140
418
338
313
588
653
859
293
679
19
897
932
437
603
292
58
651
245
352
223
851
703
258
896
645
639
758
186
522
49
398
134
496
684
252
870
772
99
165
315
394
183
744
80
854
885
833
306
202
253
902
224
646
423
449
782
306
14
609
863
659
506
289
522
326
515
194
8
326
841
256
622
916
453
922
752
279
429
726
992
681
451
267
861
401
753
260
623
946
907
701
321
787
491
964
129
495
771
154
660
285
81
398
722
541
154
399
962
84
670
350
872
204
213
54
814
269
925
796
526
836
953
584
586
442
437
370
255
288
326
295
536
953
869
354
950
612
663
417
516
958
335
824
781
121
553
807
323
159
174
202
147
176
380
406
315
337
964
63
333
231
462
498
915
587
90
553
68
218
957
776
608
441
730
533
882
688
900
158
26
250
482
524
675
350
71
655
524
179
345
372
626
809
922
2
164
532
888
354
923
742
839
460
395
475
171
899
243
937
449
182
104
56
283
639
714
796
313
671
666
958
852
450
971
435
868
370
915
179
380
837
719
934
978
274
208
951
774
763
502
125
481
33
754
851
556
122
279
225
402
53
492
781
676
974
748
618
130
184
530
408
517
963
195
434
657
304
602
20
447
732
539
270
521
391
870
283
354
242
366
9
230
647
221
82
128
900
335
99
589
910
292
216
397
827
933
911
334
937
825
90
248
741
497
197
62
55
503
799
463
141
769
758
332
473
970
23
358
400
134
476
621
370
715
887
46
61
607
870
643
453
879
639
605
428
969
990
643
826
165
149
18
424
992
993
191
606
712
958
809
213
489
701
224
150
930
712
394
141
955
796
581
14
989
230
996
848
127
299
993
903
951
485
66
826
812
225
346
494
533
898
660
122
504
490
605
747
57
673
458
196
954
356
90
364
783
846
33
986
713
743
355
583
314
662
134
542
10
619
479
465
160
593
67
337
668
483
379
632
675
636
670
479
420
700
433
884
674
567
679
480
358
638
643
262
185
775
982
661
673
977
761
21
787
169
8
515
361
632
732
407
492
911
451
749
193
628
129
635
509
910
157
328
370
572
839
283
310
983
372
696
81
234
205
351
529
2
377
231
487
862
447
701
148
864
519
448
581
516
66
123
961
726
137
382
169
173
189
558
91
126
770
500
566
626
223
181
864
394
453
979
286
482
504
41
251
853
228
498
454
129
551
977
842
405
64
159
433
747
549
302
799
648
299
910
550
958
826
820
678
490
433
53
767
625
764
757
922
598
894
963
877
35
312
399
391
253
174
484
46
146
807
292
881
895
55
655
962
591
228
379
779
249
908
236
282
620
461
465
789
116
111
994
612
315
165
936
249
670
549
690
472
314
3
415
51
483
132
133
948
429
813
57
875
681
537
321
90
945
997
461
313
835
354
765
75
501
933
965
562
944
526
241
677
391
293
82
881
854
278
233
223
781
898
835
508
424
254
69
195
813
251
321
615
693
772
836
727
758
327
238
616
378
410
560
690
404
935
437
883
275
585
14
255
428
835
723
656
297
804
531
926
499
821
966
497
174
3
834
368
201
54
21
975
928
409
788
192
792
166
886
519
254
481
344
173
521
545
775
772
778
419
867
10
808
764
822
892
889
690
22
71
917
838
710
200
322
212
400
597
542
917
304
838
433
180
863
223
840
561
281
128
574
970
774
563
19
63
692
409
22
41
998
310
878
303
58
938
774
983
771
559
943
962
646
420
647
912
758
59
72
25
208
752
773
228
649
90
271
430
348
955
704
566
465
757
572
252
365
9
834
653
359
225
990
499
409
547
600
384
295
789
962
550
749
12
636
36
775
860
775
479
998
145
613
795
677
864
471
853
616
872
922
950
906
417
289
7
921
265
115
420
15
945
331
107
39
553
678
389
710
95
631
941
931
828
78
747
445
257
131
874
264
110
862
264
804
600
64
298
205
361
340
7
795
863
80
365
120
981
890
21
486
553
444
965
702
619
709
402
121
663
952
172
941
510
46
110
2
726
164
616
798
918
958
450
109
498
916
797
877
132
654
32
479
614
432
701
584
590
939
738
32
511
609
310
317
970
481
176
985
903
299
645
688
837
173
45
956
347
390
685
813
913
728
617
611
9
850
559
778
75
251
977
197
243
129
927
361
249
312
953
378
96
830
466
342
905
300
877
190
677
340
252
832
320
156
80
758
218
217
600
915
779
164
752
27
181
687
59
805
703
833
33
207
132
53
849
412
700
539
925
986
502
221
977
190
435
362
655
77
560
376
521
247
732
362
155
577
551
285
65
744
283
652
235
776
860
689
604
172
76
330
177
256
942
918
739
104
408
277
865
664
136
124
392
77
94
975
468
653
128
258
926
154
877
131
38
343
187
212
145
34
973
173
934
59
870
115
812
171
411
424
120
512
264
644
124
176
690
52
31
882
772
141
687
697
784
755
881
248
389
288
821
228
299
930
755
783
625
771
3
423
651
491
353
179
391
567
332
62
37
866
706
271
371
908
187
685
91
935
188
188
95
126
767
900
371
695
55
551
494
356
578
26
400
836
589
818
631
668
41
942
855
375
462
396
895
207
18
20
542
13
987
696
325
325
224
811
41
435
862
703
459
944
576
149
63
953
755
365
928
930
965
277
662
78
167
610
640
551
766
598
258
609
675
78
649
890
309
651
585
72
917
761
549
217
30
476
193
646
847
967
806
919
164
928
497
87
339
590
505
221
45
472
870
249
972
259
991
703
979
279
974
530
195
50
980
30
764
230
877
362
352
25
111
851
127
457
824
132
751
742
8
444
622
406
243
758
85
872
653
963
490
161
578
189
913
147
179
895
381
124
452
480
369
531
185
924
44
33
574
795
600
906
693
434
317
653
853
634
299
208
492
621
582
75
560
514
595
490
573
840
736
551
81
220
247
911
312
906
109
31
993
614
936
700
133
407
613
621
699
161
38
49
692
335
831
748
921
887
701
573
652
62
483
676
388
805
923
484
847
537
36
528
272
597
399
365
580
560
71
880
907
385
944
376
312
835
375
76
728
516
358
580
124
763
385
500
692
432
748
376
799
323
862
776
352
737
605
658
246
439
194
757
256
622
558
481
127
630
977
331
366
407
161
638
559
376
18
971
685
898
475
894
276
492
534
859
457
355
806
969
595
81
649
3
823
367
724
468
893
360
838
63
346
251
447
24
183
667
763
974
570
177
292
490
536
380
933
24
353
489
469
746
698
554
782
632
229
336
602
191
541
365
412
287
363
447
709
859
233
864
616
189
77
413
402
986
240
10
157
465
72
740
880
242
258
993
946
90
667
509
606
862
644
231
610
390
40
371
177
681
265
268
224
919
443
954
740
354
137
726
293
382
341
426
115
265
755
806
805
365
630
19
773
193
33
183
94
361
76
189
285
632
910
746
914
286
454
949
696
820
34
890
449
511
106
879
175
594
725
938
688
936
792
280
862
330
626
960
393
703
962
209
583
119
922
721
385
845
419
486
823
43
788
955
726
491
500
771
868
561
209
788
430
382
1
430
879
185
994
737
332
663
541
609
458
44
165
809
194
123
458
393
12
984
292
828
413
42
260
70
349
676
486
591
424
459
135
363
49
242
374
784
480
960
153
803
722
952
240
202
371
705
832
934
689
575
276
16
745
827
425
867
552
391
108
522
993
258
614
731
985
650
853
10
535
204
602
851
801
405
99
838
352
549
701
866
170
287
872
51
464
659
267
481
184
732
801
379
496
820
295
103
161
432
600
943
524
509
789
222
748
8
789
32
361
933
63
234
872
796
77
211
419
157
520
501
760
226
414
833
437
17
924
916
405
845
537
544
323
354
567
406
285
775
327
175
246
124
695
891
721
556
987
68
161
392
686
491
616
267
498
901
786
555
640
606
760
726
265
270
656
345
659
469
456
203
86
352
411
489
80
703
517
808
277
247
854
634
438
519
170
65
397
853
34
655
9
916
494
98
920
887
584
238
5
956
843
393
779
708
567
835
681
800
953
325
246
409
376
646
783
885
704
81
348
401
281
95
699
176
477
247
829
393
179
946
873
833
118
179
873
904
980
651
832
568
157
541
251
241
734
327
99
635
331
824
878
665
357
732
451
698
819
84
328
849
211
653
949
469
223
593
601
538
2
396
286
728
15
544
180
10
922
14
884
138
957
760
177
997
746
950
338
501
79
580
231
158
748
943
15
356
242
396
131
614
22
117
357
798
57
456
270
333
308
101
308
420
472
317
633
18
874
860
150
423
265
64
838
561
667
376
441
90
310
385
310
172
731
566
923
496
71
48
613
971
825
777
132
973
79
920
196
944
313
365
109
330
492
949
743
764
458
367
750
736
668
927
108
928
233
129
380
871
742
497
53
514
585
997
547
477
414
860
830
461
328
462
713
887
356
302
588
219
78
649
497
57
88
607
83
363
192
152
103
602
379
138
140
332
995
723
420
753
921
731
344
595
583
667
801
622
400
499
263
659
642
999
12
731
417
168
967
104
686
50
461
975
414
93
298
424
727
76
789
198
653
918
496
457
101
200
96
651
598
272
150
451
785
954
491
848
970
763
157
81
855
443
766
311
501
320
96
472
10
133
327
994
141
174
421
729
721
406
379
926
643
522
597
989
941
238
190
606
506
442
744
429
472
950
280
615
121
793
880
863
875
340
968
63
234
880
297
906
826
316
218
274
708
486
638
970
85
836
21
596
408
399
10
246
783
462
718
148
895
985
436
290
114
463
405
23
572
989
578
621
62
507
986
675
406
758
711
211
320
73
912
192
543
495
36
728
389
478
917
540
296
419
220
578
750
760
44
309
321
761
411
967
972
636
772
427
120
528
454
742
820
425
644
248
679
466
421
988
458
137
493
922
397
597
893
110
868
872
775
393
789
181
117
228
556
599
361
449
886
186
816
97
849
574
489
290
380
879
702
415
411
596
986
113
128
255
962
366
584
17
973
409
270
356
423
752
39
645
238
449
365
160
935
263
366
650
274
902
564
252
716
658
375
529
383
647
535
653
957
256
847
860
74
46
611
716
136
332
975
257
406
283
311
923
735
644
141
824
251
435
269
359
408
518
719
862
446
48
653
617
353
501
498
881
6
842
754
273
972
159
562
478
37
460
496
81
498
588
682
643
402
253
719
544
711
351
889
444
17
176
526
207
766
35
403
341
650
879
445
767
733
849
768
668
720
652
232
322
449
787
545
301
1
888
185
47
501
150
976
448
688
154
878
34
536
976
371
185
652
366
216
737
689
927
311
499
262
251
712
577
247
492
67
881
733
480
69
917
655
788
724
738
415
219
891
491
349
710
371
616
277
340
777
677
588
368
716
905
79
118
336
365
818
530
608
14
922
679
147
124
193
606
557
896
561
408
613
930
144
22
95
662
130
935
286
578
714
706
76
837
251
938
291
15
355
362
711
142
132
628
939
276
591
14
8
893
469
596
659
589
222
749
803
22
696
201
558
691
444
754
719
552
482
597
592
994
935
855
825
124
119
590
132
40
169
19
43
604
185
340
281
383
697
745
168
595
503
745
207
340
612
895
778
65
506
453
161
61
909
120
536
609
155
48
814
266
531
858
381
210
640
940
24
832
420
106
305
206
87
146
845
985
365
642
650
110
477
649
184
629
83
904
610
91
523
863
444
594
914
973
709
515
817
686
425
112
471
565
976
9
260
42
113
125
466
857
223
223
9
500
952
352
250
535
842
182
983
841
493
157
803
713
688
163
327
826
37
862
659
235
108
351
842
469
395
278
350
460
554
196
216
690
377
593
702
708
339
341
789
422
468
603
421
107
511
573
304
767
773
817
127
244
734
535
526
885
585
834
50
752
868
173
303
763
758
611
428
789
999
233
41
910
312
738
77
712
41
389
187
495
371
743
97
625
612
446
673
465
82
519
417
531
612
248
440
654
402
896
104
881
792
764
286
646
993
224
527
884
251
659
336
726
576
501
375
721
52
269
921
415
252
770
544
560
785
964
640
477
511
562
659
393
939
466
155
984
758
125
355
857
508
303
283
283
398
659
208
551
941
390
973
534
949
955
205
303
672
538
136
544
706
605
105
589
616
729
29
603
426
30
457
107
483
123
484
34
310
245
58
145
791
26
165
547
440
134
155
607
462
935
106
513
477
124
990
904
929
572
132
793
789
332
813
21
214
419
41
57
91
260
622
932
874
850
79
448
697
132
39
347
652
756
895
187
557
687
737
205
187
801
530
992
811
400
509
671
619
336
7
113
165
714
823
522
289
533
644
711
863
221
513
12
978
1
690
166
475
368
387
311
92
171
957
881
615
437
843
871
965
419
114
740
697
210
817
560
618
472
416
344
929
341
407
198
378
527
536
73
387
413
512
899
584
152
255
382
300
759
203
433
454
686
538
17
571
351
778
604
577
542
364
200
837
263
442
182
202
463
340
242
793
477
844
712
188
821
711
71
224
766
924
43
590
694
52
910
767
446
221
417
458
144
512
324
155
86
184
782
661
292
929
591
722
431
886
408
233
160
926
396
762
79
492
761
165
920
396
519
61
952
390
325
279
129
495
500
621
592
887
120
774
405
781
61
147
128
508
348
258
884
580
535
855
636
66
870
676
785
439
903
712
331
903
972
560
592
820
612
887
503
890
214
85
294
70
115
234
782
262
107
484
315
972
57
777
353
634
581
725
100
944
268
949
418
409
375
723
343
952
641
172
841
971
763
70
282
878
243
833
25
234
161
55
734
267
743
130
360
709
785
953
980
987
138
245
10
52
518
648
889
980
343
807
187
453
281
455
330
284
40
844
106
817
476
639
928
354
600
785
909
961
193
341
267
96
810
640
295
69
718
931
996
992
911
169
345
762
918
79
905
759
616
862
865
673
105
55
742
690
794
716
386
762
440
916
292
869
977
964
706
101
840
634
121
493
552
554
836
71
734
461
193
115
480
343
475
83
141
493
855
432
130
211
195
205
80
519
781
793
350
275
903
484
502
520
646
674
501
377
946
155
432
11
520
443
89
940
644
764
881
614
553
841
285
569
418
495
572
478
252
632
542
0
895
418
512
134
437
235
558
979
415
566
49
257
87
634
319
333
247
80
534
171
663
36
914
651
477
449
205
275
812
694
685
493
277
662
793
18
538
868
914
962
708
56
157
727
998
244
319
854
220
631
841
573
365
880
336
634
946
49
143
92
630
751
527
463
575
523
647
875
657
902
385
41
679
9
761
376
128
828
947
25
922
820
749
728
328
376
192
491
475
163
664
906
292
18
755
904
963
184
619
655
269
423
973
949
929
812
882
355
542
343
48
418
497
615
910
450
780
207
304
315
458
841
943
623
100
728
590
352
822
575
45
831
208
861
775
781
286
17
610
923
458
889
771
391
63
862
948
641
734
738
171
254
328
333
525
910
721
544
776
273
177
694
223
823
804
339
628
753
407
323
380
473
600
939
183
410
197
330
784
248
710
829
741
175
238
819
776
905
545
279
292
431
909
757
106
620
217
942
402
546
599
839
38
512
116
265
968
742
190
671
845
968
286
453
368
537
798
97
287
857
146
196
39
452
888
820
268
235
321
462
84
902
335
121
602
933
293
879
691
320
705
144
246
983
909
711
795
290
387
940
533
73
96
611
15
442
304
29
215
25
297
313
320
593
146
216
445
134
379
315
279
981
525
162
175
630
59
6
636
358
85
255
256
586
836
607
834
419
544
978
221
2
465
426
509
542
988
2
161
872
568
934
679
518
944
230
975
408
371
666
204
44
194
478
448
465
574
319
56
216
631
647
783
545
56
836
978
713
10
711
121
881
836
141
106
921
483
945
254
447
946
594
949
690
298
140
592
533
618
258
137
543
777
810
313
358
812
663
810
863
991
722
529
410
902
728
707
928
896
7
495
418
600
643
904
316
83
891
473
512
422
854
769
247
437
1
540
344
196
995
210
3
676
23
854
138
779
745
358
637
465
313
62
568
494
199
660
931
677
645
666
717
40
138
686
84
739
372
212
755
595
387
784
431
594
683
719
184
998
207
49
590
341
757
870
774
612
899
543
507
728
612
368
432
224
258
273
966
284
31
920
265
489
581
197
655
191
497
759
195
462
64
175
872
172
206
144
772
633
155
139
717
953
453
973
759
458
110
489
734
921
327
908
914
851
717
450
126
641
657
863
941
958
214
246
704
914
780
914
803
98
153
401
106
326
653
429
329
872
875
781
477
280
689
577
685
376
795
846
453
813
705
663
470
864
73
274
932
832
618
215
86
962
189
195
409
486
467
204
844
488
57
667
342
631
205
223
143
130
916
749
122
170
592
72
216
472
409
37
34
743
373
49
818
848
82
750
40
689
83
905
544
733
499
15
840
267
334
169
734
358
866
988
966
186
66
721
482
489
37
115
85
381
417
978
62
250
924
122
92
510
609
777
11
678
507
975
837
443
816
191
29
724
747
988
606
244
481
494
961
283
727
790
37
219
43
151
354
235
327
449
158
771
592
536
699
649
57
934
23
505
700
613
779
422
133
773
681
495
454
711
96
76
165
482
598
747
968
664
903
853
296
107
366
606
36
1
731
535
516
222
69
22
720
696
54
257
987
849
977
751
209
693
872
640
647
724
498
658
553
382
462
183
781
54
27
574
757
319
312
23
952
825
738
112
515
204
319
417
757
985
112
38
854
126
409
846
599
414
925
544
240
522
987
902
18
787
79
92
981
412
166
885
789
545
413
731
873
891
475
528
750
744
716
212
253
350
732
581
332
59
222
951
325
272
521
876
820
926
464
994
909
314
337
156
80
313
110
719
688
844
69
388
88
763
827
346
127
584
59
485
278
933
974
814
381
630
975
583
111
138
356
927
513
372
431
534
895
50
409
222
558
205
85
916
61
343
797
341
344
793
811
193
319
77
172
271
623
769
259
762
428
105
888
684
621
586
623
352
291
750
361
712
248
363
339
941
883
440
870
961
93
860
984
392
407
647
32
304
450
825
494
970
838
998
865
547
301
615
616
525
119
832
822
418
54
151
138
945
827
639
902
415
839
209
884
919
920
125
310
526
464
61
661
4
256
340
479
996
433
771
313
278
812
218
201
180
195
1
581
84
43
880
201
888
550
922
439
980
936
892
732
372
701
679
739
569
374
578
527
236
374
211
558
573
287
322
787
165
18
449
308
219
255
413
212
335
875
24
896
509
956
617
536
779
291
0
120
180
788
267
413
712
58
586
498
967
930
509
358
576
424
294
867
738
420
432
48
630
475
329
852
101
383
986
678
167
413
606
533
620
854
711
657
66
211
758
370
954
507
655
342
571
631
407
914
822
395
357
72
923
340
362
667
549
443
911
539
92
207
998
9
436
530
542
15
183
227
106
486
564
175
233
424
213
221
815
832
385
555
469
479
736
940
345
769
573
803
287
349
414
56
632
59
47
48
915
607
182
101
654
741
920
162
668
474
89
280
472
759
460
615
794
492
602
897
764
597
38
57
383
151
293
215
550
961
697
5
899
822
732
494
298
723
109
223
411
800
899
47
206
794
494
633
653
597
893
948
775
362
350
525
957
409
883
436
249
763
294
144
829
411
130
762
223
530
188
478
108
136
652
137
599
816
464
442
992
549
970
801
796
4
262
708
812
59
750
599
194
889
437
375
906
114
755
157
84
372
680
294
877
730
319
369
209
828
314
563
390
473
486
240
519
359
938
401
736
106
618
708
494
480
864
419
569
605
402
565
723
710
189
690
803
829
67
649
677
943
312
79
628
690
874
174
964
688
701
90
128
616
730
43
32
841
319
160
636
856
538
585
561
164
40
501
660
123
413
550
862
942
933
382
841
742
5
183
410
286
918
339
906
854
603
960
866
652
440
685
251
291
160
503
419
530
983
361
867
12
208
299
43
122
720
856
750
131
177
473
28
998
898
381
27
468
331
929
828
568
22
558
569
872
267
273
74
439
384
928
804
409
585
405
686
377
157
67
817
317
160
587
57
686
166
75
952
352
785
398
814
242
626
353
648
807
839
455
208
238
279
665
872
505
641
367
645
496
77
953
929
2
34
320
975
735
123
543
87
945
597
933
622
718
264
285
56
670
295
843
722
984
706
328
7
394
527
203
11
981
478
444
632
748
765
412
369
971
171
697
798
87
837
885
444
611
469
32
439
903
314
14
780
889
855
104
479
236
115
922
362
234
114
953
359
358
707
862
916
71
653
178
779
90
48
13
553
697
618
794
309
442
852
824
56
983
509
820
885
767
587
470
304
434
453
765
851
651
403
293
418
85
113
935
759
137
993
866
507
476
918
208
161
65
593
945
343
890
940
443
965
61
949
870
960
959
410
927
275
724
969
616
354
736
689
810
995
367
281
922
159
732
830
772
188
905
716
69
314
712
368
719
10
640
537
757
844
451
649
947
450
421
207
154
322
791
467
851
237
759
695
543
176
337
18
303
407
93
247
219
654
155
931
518
45
608
898
10
705
680
637
284
260
557
339
203
582
43
897
497
721
371
142
623
452
384
286
423
629
876
535
529
11
909
747
308
526
608
672
58
16
834
297
686
388
880
143
175
35
439
457
357
471
578
249
290
141
962
510
546
838
352
42
372
64
353
581
986
110
872
177
488
150
738
656
404
536
356
220
552
518
843
722
555
645
356
118
755
515
112
453
599
16
280
641
425
851
680
81
523
897
394
192
487
119
402
203
766
776
336
499
812
387
623
585
254
693
222
850
142
302
165
576
354
815
443
290
367
587
253
172
999
781
888
187
403
889
355
333
500
874
79
768
503
245
837
164
780
792
342
772
403
324
280
34
351
36
847
377
333
457
763
175
106
773
35
365
677
224
979
947
682
242
889
638
84
275
271
289
803
7
439
264
531
413
626
958
545
268
715
638
658
659
265
384
283
458
54
696
510
363
434
558
938
300
75
641
967
878
161
197
984
602
287
841
159
819
15
758
735
889
393
275
227
960
994
174
987
391
139
863
735
215
952
785
537
640
905
614
356
589
321
525
485
499
371
812
163
649
391
371
798
181
121
41
700
106
549
840
990
826
342
706
497
383
781
327
524
452
977
578
457
232
4
949
330
562
274
496
755
571
461
477
872
792
591
588
165
425
990
339
472
133
795
653
763
580
10
307
243
711
449
742
602
903
641
509
414
611
755
306
106
426
376
575
237
752
775
834
283
569
428
342
100
24
692
388
506
740
719
829
285
835
711
19
486
908
995
558
170
86
247
261
164
327
836
715
144
650
169
649
208
460
297
366
338
360
854
642
901
989
750
775
60
438
604
284
910
632
673
456
907
863
324
751
713
91
945
955
1
427
407
244
664
75
331
653
323
44
394
658
675
938
492
360
36
255
92
647
388
919
307
935
312
517
977
763
207
997
394
620
867
755
457
614
190
479
457
953
616
29
203
994
825
864
427
382
35
53
753
133
404
978
810
696
697
822
75
210
586
669
313
842
435
310
25
615
91
104
946
842
160
364
585
752
308
209
505
540
291
277
425
683
108
200
561
770
220
989
338
417
388
279
229
306
517
173
411
365
748
390
746
947
478
232
190
521
321
847
851
328
440
351
489
936
140
139
670
717
8
972
224
348
309
384
928
857
400
97
344
769
877
883
57
383
448
684
740
960
428
822
486
706
436
877
456
964
169
671
440
367
510
964
111
917
437
841
68
383
727
715
373
691
889
875
793
528
871
253
290
60
78
451
368
110
369
927
649
760
724
16
559
336
879
978
490
810
167
437
100
357
403
343
603
822
985
748
898
33
223
892
138
505
824
999
588
717
63
36
492
958
340
103
754
408
240
826
958
50
432
927
782
609
694
790
943
615
281
964
72
940
718
262
583
646
328
930
546
923
68
830
879
761
57
23
88
359
22
144
670
751
232
273
262
367
260
75
594
448
536
253
703
784
111
791
526
45
377
320
155
780
320
418
251
654
328
442
270
792
259
73
803
960
742
375
368
611
960
809
362
351
954
239
726
267
464
645
484
875
425
700
725
71
967
308
275
607
587
955
576
950
980
210
778
448
61
578
382
760
594
421
494
813
601
654
926
244
358
11
153
606
524
828
34
307
265
218
39
620
376
757
639
204
549
864
867
583
60
869
334
618
47
274
133
396
818
588
967
827
789
507
207
708
735
22
175
344
300
635
708
689
625
428
352
973
247
561
751
986
594
20
460
691
638
960
240
565
481
712
878
292
891
97
627
873
542
618
85
16
168
945
647
192
523
526
85
298
964
186
643
172
89
105
437
79
741
749
95
831
912
690
645
330
737
145
27
705
391
342
696
134
83
276
797
818
389
403
573
965
727
209
164
548
812
503
926
767
956
521
128
935
777
714
247
513
633
536
795
402
192
675
56
778
470
604
380
357
994
889
699
975
654
706
211
602
661
533
584
283
453
534
454
549
833
125
663
263
705
430
646
709
665
487
754
983
777
476
93
852
506
75
509
737
738
104
403
231
375
678
168
533
252
574
495
478
548
775
886
674
18
170
992
180
991
837
789
735
965
455
936
745
285
987
769
516
490
416
943
827
71
70
819
565
912
122
709
866
933
655
554
181
105
842
229
805
984
748
328
452
675
759
573
863
680
897
428
166
344
60
189
704
826
882
385
155
508
654
452
903
177
87
22
575
432
952
510
799
210
49
839
619
441
234
356
686
7
407
924
179
925
370
212
171
461
818
725
74
346
557
499
630
183
534
581
193
983
494
264
52
927
308
912
255
30
529
126
955
216
700
256
152
454
425
495
796
517
324
623
796
505
891
140
968
598
369
494
475
60
720
511
609
592
388
533
714
911
850
894
231
738
111
276
536
23
58
865
660
802
16
758
685
934
345
722
607
597
983
84
224
34
304
248
397
58
430
110
250
508
825
347
132
19
632
815
995
117
443
560
777
902
318
743
710
794
665
57
570
636
202
822
558
862
878
144
331
178
245
848
692
581
658
66
762
713
185
3
618
35
47
785
448
278
263
859
302
521
625
640
533
272
520
704
861
640
821
686
209
247
213
397
827
296
143
468
411
930
185
870
122
84
53
982
49
662
154
288
600
423
535
149
985
35
811
437
294
933
837
931
51
385
164
11
203
562
83
668
881
722
376
736
345
741
849
439
104
514
26
406
812
883
814
722
686
277
889
58
906
260
824
595
1
861
889
170
28
882
792
185
691
917
580
430
281
589
101
76
805
263
199
731
960
241
943
367
179
872
134
588
894
773
261
177
315
500
785
214
692
707
164
889
784
386
659
68
160
922
207
232
471
69
360
583
815
382
968
838
657
493
543
625
594
233
275
284
24
664
412
6
794
773
219
456
48
838
286
652
39
557
803
19
107
609
41
473
32
877
362
925
769
760
409
585
260
855
41
885
473
105
358
167
522
858
269
290
728
941
994
711
999
949
323
385
200
840
822
912
768
402
392
891
974
342
264
584
649
203
901
628
825
143
859
58
676
903
894
455
153
779
992
176
388
223
445
148
110
400
370
674
745
973
562
290
143
678
40
97
754
357
837
709
57
57
895
355
445
916
916
713
870
624
506
726
456
948
314
68
710
545
230
31
213
570
338
120
550
870
717
266
811
294
50
247
577
982
185
287
290
464
441
966
133
67
187
906
293
578
905
267
978
649
135
540
766
165
580
416
825
294
229
827
900
818
521
480
523
133
64
735
97
505
676
960
21
111
711
881
556
487
808
382
301
315
947
674
772
519
731
332
308
635
947
588
494
899
354
783
689
26
543
87
182
432
765
852
753
408
820
328
165
472
646
226
14
720
92
735
22
471
928
480
230
258
616
335
476
975
82
262
83
908
239
239
634
975
558
780
981
459
771
798
294
109
571
352
877
624
7
143
576
758
273
467
531
501
208
329
915
422
6
225
843
395
567
731
226
624
5
958
590
679
77
823
993
63
893
303
447
612
889
234
478
690
703
908
109
47
803
735
838
295
530
946
671
718
684
471
288
99
284
957
803
832
961
600
932
995
217
128
31
530
527
975
33
218
43
153
901
325
52
166
856
624
991
691
539
834
310
771
345
308
182
202
605
673
249
635
647
251
434
848
925
661
129
706
480
11
76
999
70
205
752
829
942
444
92
592
902
811
934
574
580
219
758
905
251
968
417
807
289
859
393
783
859
981
205
729
507
271
452
843
71
647
608
663
440
272
835
251
403
789
805
971
196
10
878
620
259
150
586
929
613
886
657
881
787
693
288
619
411
365
963
333
519
302
186
249
207
752
424
627
696
735
675
127
499
571
61
232
130
63
60
724
775
748
942
957
489
212
14
830
994
233
383
889
293
753
906
931
825
828
639
753
133
817
320
715
628
738
607
994
247
247
592
817
984
837
527
581
430
81
580
842
704
395
631
600
275
228
821
141
941
177
806
513
294
689
805
972
972
309
270
827
366
167
933
61
135
174
853
979
974
524
566
596
895
976
737
201
612
804
508
858
130
261
116
870
761
246
235
809
643
412
836
119
161
363
153
837
209
185
785
24
6
318
284
29
725
245
816
678
440
682
940
308
967
234
440
793
253
276
683
133
309
955
924
594
568
358
250
917
801
59
751
722
171
866
459
818
414
17
449
756
195
112
927
670
932
478
703
56
74
775
283
681
36
658
22
129
211
477
385
525
916
380
482
749
453
313
756
994
173
132
193
277
626
629
868
682
904
702
328
39
897
119
925
315
110
313
201
351
131
914
775
524
951
324
893
43
453
20
738
792
188
492
790
60
101
27
894
975
324
678
128
959
507
553
669
728
44
30
952
353
835
381
832
618
74
459
819
362
858
535
68
574
975
294
291
635
584
262
307
810
626
375
78
920
288
566
109
840
154
82
594
811
673
487
618
79
979
230
890
503
73
636
429
594
940
413
344
266
345
644
111
797
340
358
208
817
852
5
184
3
13
391
251
948
311
425
290
710
457
36
879
11
239
472
918
592
233
449
916
881
375
490
846
596
74
12
911
459
825
47
128
505
103
131
476
821
97
225
562
622
700
448
294
560
580
526
948
230
221
161
409
315
327
920
36
924
874
69
938
107
275
423
479
813
872
84
516
108
291
61
828
793
537
570
679
919
881
116
247
90
543
425
278
437
901
604
298
412
405
84
41
697
258
349
200
191
499
562
109
321
246
513
222
75
853
409
921
170
134
608
957
184
670
725
894
935
280
706
931
900
37
306
289
656
761
417
887
188
936
841
925
895
609
35
318
587
404
327
267
957
994
204
380
507
959
65
700
168
980
896
991
111
39
561
99
191
447
731
317
650
317
625
97
336
152
827
281
623
664
745
684
744
680
471
946
294
153
298
204
583
940
634
873
144
855
949
471
411
83
95
91
398
283
319
165
325
621
355
964
379
400
583
788
905
449
396
918
260
405
302
300
506
390
661
871
115
582
946
171
138
884
190
318
559
313
560
311
566
654
707
464
3
464
516
622
573
217
841
340
102
445
781
80
151
591
196
236
100
737
202
332
304
103
733
970
555
540
795
59
988
77
562
109
517
231
366
671
697
685
643
251
490
440
595
384
227
240
197
973
103
994
343
270
393
171
815
418
967
423
800
694
263
999
880
894
712
231
525
90
616
612
770
189
740
379
512
314
358
388
776
56
404
569
115
497
611
979
751
148
168
320
15
810
988
14
378
913
726
699
876
944
790
688
27
943
784
994
315
334
291
720
95
55
958
677
423
770
320
422
860
969
168
214
107
908
230
506
165
829
335
389
940
136
482
259
448
892
935
182
488
510
654
80
457
757
857
60
86
264
584
88
161
19
283
614
390
401
386
708
676
765
924
685
321
563
605
505
444
359
24
993
734
344
311
513
977
941
514
334
776
868
852
816
41
227
336
20
742
650
435
376
895
173
662
138
623
606
243
320
14
972
46
452
151
368
987
815
267
42
16
864
916
521
703
441
498
577
152
186
941
875
280
949
514
815
289
952
994
636
405
114
384
560
825
112
706
776
683
684
634
83
493
883
842
312
756
992
35
937
755
443
784
115
694
44
803
458
939
546
997
409
161
500
939
627
883
527
543
707
457
298
619
880
15
866
917
714
420
604
654
162
657
985
975
2
69
179
995
897
380
968
244
817
240
917
49
811
401
915
534
794
859
726
656
383
682
343
472
916
29
36
416
101
957
17
148
875
299
931
708
585
865
118
882
281
426
249
499
519
220
123
242
910
160
296
436
268
895
484
840
84
920
853
598
319
210
328
826
317
406
746
298
164
159
291
131
622
692
365
436
384
576
833
719
859
204
693
71
774
457
39
366
191
290
732
293
385
119
903
577
58
326
878
588
485
765
685
250
512
205
989
761
716
968
66
205
214
6
340
674
297
36
548
282
552
563
807
197
835
351
113
607
770
799
279
529
392
569
764
811
348
90
325
495
553
772
271
474
932
631
45
599
319
975
519
497
474
976
224
557
265
711
570
224
64
740
751
513
467
267
802
585
7
626
745
102
42
859
219
509
784
690
430
21
552
82
314
429
405
268
884
308
263
411
143
724
949
264
177
162
257
761
668
336
223
125
711
419
860
380
805
41
304
847
681
204
745
204
320
645
628
918
764
699
347
784
933
635
317
714
366
395
35
164
393
954
144
871
795
48
861
199
569
564
712
639
983
141
573
17
645
573
108
89
618
759
840
204
181
871
69
964
904
185
432
721
574
580
370
876
506
419
665
386
299
541
52
837
524
423
432
106
705
353
68
783
516
238
660
750
975
991
26
721
949
444
345
810
664
599
77
558
365
609
618
827
884
534
524
980
317
901
904
225
62
574
72
22
534
480
26
43
730
926
575
502
386
666
665
85
593
732
288
777
951
185
151
353
67
38
527
586
158
863
522
133
859
985
479
104
667
480
149
446
362
870
823
239
433
695
463
343
271
647
16
131
278
209
772
112
418
701
29
7
543
77
626
819
4
634
665
341
443
658
343
674
966
583
32
783
301
891
103
477
29
779
358
16
634
273
128
701
181
627
885
827
353
78
390
884
694
781
985
733
234
722
4
255
775
855
93
390
748
97
931
354
527
554
709
32
220
954
465
168
319
331
509
930
138
927
264
577
427
317
280
435
620
524
69
206
232
231
67
135
391
958
338
222
681
805
524
366
118
837
109
335
939
667
713
634
781
263
396
16
79
176
975
649
744
282
843
353
526
656
588
662
992
599
187
0
348
53
215
124
533
576
367
836
346
906
248
230
373
675
538
496
869
415
623
322
636
123
47
450
338
288
598
451
110
439
16
636
772
70
906
12
419
910
297
224
332
309
833
469
660
832
428
692
246
820
750
102
596
184
710
706
292
572
793
382
81
465
118
244
613
450
617
567
81
747
441
484
215
213
805
745
948
185
943
829
622
446
350
750
793
860
410
817
424
505
394
857
347
735
598
835
301
516
775
366
410
715
98
538
985
139
801
504
201
395
468
908
931
410
462
912
455
693
83
106
436
803
344
965
347
561
444
764
305
719
446
715
548
839
39
222
513
337
162
645
769
572
673
215
175
540
66
686
217
615
761
511
54
730
622
812
255
304
392
404
650
796
42
647
51
131
537
759
746
960
322
936
205
81
48
503
81
881
322
373
723
506
472
395
9
415
933
451
515
782
99
739
925
458
657
131
69
245
71
806
555
500
32
739
436
936
975
532
405
211
53
633
580
422
581
9
205
979
83
347
803
766
406
760
647
61
679
614
705
987
529
42
475
866
934
88
245
869
917
556
748
921
83
799
4
591
30
798
216
632
10
306
953
603
233
27
193
698
90
100
782
89
700
358
607
511
847
851
919
85
957
952
847
42
635
550
594
600
51
452
616
201
753
120
146
109
860
961
825
942
689
636
807
131
401
59
556
192
571
125
799
511
679
237
537
669
146
91
469
148
588
961
57
483
145
125
227
531
966
628
987
810
104
922
828
758
411
108
201
420
384
34
818
191
339
803
156
675
954
630
849
590
987
429
775
281
334
224
30
41
694
358
123
395
211
206
70
732
32
787
465
711
668
635
946
352
902
356
194
98
622
51
768
944
709
637
798
62
315
835
592
916
581
193
805
915
339
470
754
646
887
653
105
902
163
210
493
584
41
512
735
327
360
592
4
336
513
920
557
994
678
888
705
355
737
878
848
642
667
810
198
648
95
866
562
772
62
0
692
781
714
560
284
606
775
508
299
467
287
68
810
554
664
127
700
814
723
696
138
219
424
873
852
765
662
722
701
909
295
267
923
845
49
578
665
870
635
688
609
910
973
989
880
900
203
516
530
307
865
657
845
433
71
672
647
700
118
562
217
804
912
114
855
977
95
703
246
897
15
187
766
287
778
143
467
697
435
288
511
599
505
826
768
868
818
841
419
764
752
125
772
507
538
314
848
255
176
278
533
214
896
958
208
778
828
773
792
432
5
157
167
659
198
890
89
52
228
785
32
884
716
416
616
832
395
726
35
569
525
945
586
997
508
585
821
213
626
154
878
793
318
44
478
772
624
353
141
23
569
606
400
982
964
684
86
325
358
479
145
38
196
364
30
880
782
775
85
390
250
81
485
379
173
687
704
60
66
654
920
444
301
755
688
535
673
168
958
565
873
190
214
524
59
451
125
200
903
402
578
148
599
691
247
351
677
627
846
473
948
560
421
800
289
679
651
851
735
212
691
851
914
196
680
148
709
53
599
53
25
285
550
46
155
804
204
632
150
278
936
511
309
385
259
983
949
409
88
455
168
205
600
637
130
861
267
982
530
793
471
484
203
998
859
635
807
35
756
94
984
346
510
992
150
854
119
261
80
94
230
696
794
724
401
380
704
52
696
60
609
906
947
330
826
663
532
298
166
203
264
454
709
888
908
671
938
166
452
980
729
186
155
759
784
450
460
546
816
894
373
248
451
800
405
83
143
65
862
315
309
104
262
507
115
850
591
420
422
220
35
144
712
350
680
775
912
782
292
293
791
406
664
898
939
464
335
352
878
456
997
925
247
118
424
763
669
968
932
789
330
570
375
973
143
889
95
486
605
485
531
890
651
297
55
899
31
476
142
961
710
24
640
517
648
83
292
12
870
664
124
157
396
731
6
758
337
113
146
545
94
341
203
542
992
779
987
366
200
15
210
741
946
307
736
822
253
529
298
461
85
199
275
465
949
962
130
9
351
71
375
678
783
870
310
508
326
603
342
717
103
172
426
661
723
931
153
503
8
3
348
517
176
860
882
958
624
826
531
155
514
889
58
865
228
78
442
923
580
661
734
551
699
621
41
801
34
59
42
531
89
728
746
39
170
838
520
933
227
553
584
266
900
828
953
806
114
945
257
153
808
468
642
364
377
456
298
416
825
307
222
911
561
30
674
926
380
607
599
764
66
545
528
810
304
809
478
627
964
268
678
368
165
360
151
445
572
18
230
962
935
510
829
359
803
164
565
779
601
681
178
502
28
780
935
200
103
228
432
399
142
331
397
945
758
240
612
251
472
227
899
196
227
619
214
209
220
869
598
382
784
562
742
819
424
326
963
807
159
738
788
104
781
71
884
139
158
318
950
184
857
797
57
558
627
30
906
38
627
70
469
388
836
661
708
168
255
128
46
899
247
9
841
552
460
762
554
445
424
705
103
363
671
327
373
510
730
182
287
369
52
59
815
162
230
806
725
812
92
933
501
92
616
454
970
835
12
965
328
312
591
258
678
66
105
920
720
781
655
628
361
162
747
7
168
146
408
37
54
485
997
182
512
152
378
141
893
193
678
711
151
745
726
524
18
713
317
975
66
191
654
356
116
997
788
460
0
30
351
466
680
72
940
651
594
412
365
518
781
101
153
261
894
546
99
267
455
833
690
207
133
889
861
941
45
899
328
412
477
801
744
759
384
872
988
552
81
581
681
65
563
690
214
621
968
874
267
995
680
787
86
786
342
420
989
363
532
335
24
184
976
209
215
515
171
878
255
325
481
3
518
896
730
491
377
639
236
871
331
274
168
925
371
642
493
672
389
651
437
259
940
102
315
329
953
627
565
802
595
400
917
550
739
454
553
510
381
685
586
94
38
407
548
881
316
760
231
21
324
324
712
949
283
957
180
926
164
414
775
929
383
219
952
136
482
794
218
800
800
218
276
600
375
326
350
998
417
165
694
375
560
332
688
297
201
125
55
572
788
792
304
587
205
841
944
181
183
84
590
847
722
551
366
115
372
128
412
547
329
695
658
685
326
951
706
776
323
832
182
820
662
631
264
297
140
308
777
697
83
285
54
603
736
854
826
816
410
119
120
218
325
725
739
840
813
112
383
489
490
240
421
660
751
272
785
915
323
46
962
754
937
931
320
854
251
278
632
966
422
9
505
562
187
85
491
805
722
581
556
35
715
200
550
437
220
462
595
150
630
694
992
623
346
55
190
130
585
271
969
297
649
464
438
358
201
899
811
943
959
886
80
869
488
966
978
3
339
537
863
763
487
624
239
218
494
164
648
163
293
579
184
276
85
715
621
244
104
973
540
804
849
97
398
702
317
195
144
287
463
31
695
818
648
23
341
35
729
528
30
966
751
404
679
893
885
688
153
955
799
546
415
886
827
436
825
692
109
148
956
442
521
161
844
690
884
140
277
225
708
853
651
881
149
960
687
6
350
350
872
657
972
751
407
874
824
480
840
988
158
651
387
630
988
673
715
325
901
534
881
389
635
316
191
107
294
365
836
853
908
248
497
210
675
124
566
258
605
740
626
453
477
263
27
436
848
985
891
287
411
253
254
944
210
589
145
885
460
342
793
580
749
843
684
224
675
897
455
669
128
604
529
548
816
199
238
781
317
875
861
580
916
98
330
808
745
180
315
952
250
589
19
708
968
175
966
189
574
55
709
35
102
395
145
130
371
998
31
768
268
941
517
444
991
353
836
582
455
869
368
618
855
934
229
552
292
276
753
633
398
711
484
367
243
305
885
165
384
651
412
412
801
724
554
111
99
941
257
612
80
99
102
219
764
283
270
82
714
552
913
99
817
845
706
638
423
69
671
691
263
480
712
968
109
999
129
427
332
929
439
368
578
373
740
220
523
436
616
265
318
175
286
631
903
807
453
695
650
401
116
423
116
581
121
759
720
451
273
25
608
587
542
642
991
478
966
105
460
134
891
901
608
634
430
612
386
810
522
174
646
995
395
611
768
21
95
551
526
275
35
337
134
559
938
304
146
385
906
24
949
741
247
861
914
650
182
871
721
379
50
504
9
699
48
433
110
761
577
51
913
392
198
598
834
948
94
886
617
942
772
581
607
593
514
541
245
857
970
151
388
911
851
141
35
662
410
824
134
326
335
544
852
867
758
211
510
209
442
218
254
836
961
468
483
764
27
785
461
551
334
479
970
384
71
661
163
806
31
333
74
600
64
990
1
360
508
207
775
379
566
219
598
384
206
66
555
4
417
820
343
708
275
1
581
198
297
543
805
520
793
648
772
734
546
385
117
78
396
18
163
286
751
276
31
665
91
330
768
641
281
788
907
181
970
962
850
843
359
415
524
960
812
193
747
147
138
316
128
737
81
293
8
68
183
6
925
985
24
679
209
430
567
148
211
582
174
216
192
15
252
818
391
448
596
417
856
303
231
132
555
8
431
477
931
292
557
515
764
218
77
896
311
159
132
911
936
177
237
527
71
570
220
766
176
764
774
422
919
64
405
729
786
120
170
398
820
34
418
569
476
29
439
577
238
399
868
136
716
753
81
575
92
919
700
133
285
589
625
577
600
451
633
119
557
483
905
515
257
960
524
12
92
489
326
852
494
251
693
934
564
639
246
163
355
89
6
400
837
970
774
908
498
720
590
263
955
237
326
141
824
316
442
366
573
544
198
860
719
101
81
531
448
986
431
226
500
373
281
829
788
559
300
63
350
12
27
647
514
487
95
998
327
766
280
548
810
776
813
906
183
811
846
309
543
143
337
513
120
732
412
282
628
412
731
601
506
62
920
802
966
600
891
215
880
680
361
363
139
764
556
394
325
948
750
237
113
487
540
263
731
609
30
402
556
485
600
583
758
949
957
612
739
735
417
718
924
479
26
98
788
589
574
328
618
156
649
694
306
409
652
310
975
545
327
936
284
628
412
741
323
540
130
193
456
44
630
109
155
407
987
665
777
523
670
74
747
927
848
782
789
590
895
290
841
603
209
660
168
691
852
373
605
658
541
640
160
72
42
640
109
414
648
32
698
262
656
104
391
525
873
711
331
34
393
242
233
734
668
647
704
29
414
460
378
580
694
627
363
982
757
994
759
414
987
124
882
264
501
91
163
297
968
991
234
201
602
134
972
892
992
530
931
821
930
259
889
10
42
997
127
183
362
343
262
72
204
869
218
759
579
836
555
17
875
469
226
463
731
571
104
619
717
886
636
827
427
541
626
132
597
572
614
632
593
453
11
799
898
852
980
464
956
729
870
654
673
966
783
396
896
453
0
313
869
760
34
876
662
489
844
9
506
122
158
542
845
124
407
412
557
441
471
228
656
608
65
560
767
302
133
585
387
998
828
489
561
702
187
973
59
328
915
762
270
401
858
377
366
361
381
940
8
154
266
325
560
289
827
453
625
415
584
489
319
537
230
320
843
237
992
254
797
169
74
44
135
464
594
198
944
673
414
974
558
2
814
685
512
172
60
324
451
9
935
330
438
262
593
677
546
604
757
878
644
138
724
560
327
496
774
464
22
1
193
854
915
341
826
969
833
380
358
244
451
651
385
656
605
225
386
987
713
576
604
571
634
804
574
218
532
733
3
707
256
21
501
493
204
464
499
814
640
134
806
429
364
663
702
802
454
477
185
903
531
554
207
868
29
682
585
21
417
957
394
626
410
622
914
899
97
235
469
705
64
543
613
786
105
991
549
455
948
385
473
430
751
901
981
169
642
102
780
247
501
834
988
711
267
995
289
5
862
404
615
201
594
913
301
223
458
462
530
514
869
9
712
640
1
169
81
251
736
238
20
318
492
449
112
976
119
557
752
937
333
906
22
912
783
892
630
723
738
332
451
129
160
898
316
191
338
592
968
824
195
928
303
843
462
133
515
386
353
547
529
759
982
343
70
935
968
98
907
632
917
839
48
419
836
854
647
982
789
517
73
451
926
727
153
125
146
304
961
612
340
651
540
818
338
630
277
301
439
33
213
512
31
796
732
102
528
913
786
419
451
658
698
733
66
173
48
821
946
507
80
665
208
694
724
420
870
577
0
273
491
995
81
100
191
821
785
662
791
35
214
637
469
100
483
941
727
514
623
643
297
87
543
251
834
268
252
13
932
267
536
723
913
273
4
357
828
448
203
69
764
410
832
760
465
351
245
169
427
712
843
645
799
342
380
509
89
832
95
37
915
563
626
975
731
559
131
358
100
6
846
142
171
501
620
317
457
835
699
938
707
185
942
732
805
758
68
673
780
462
443
845
754
838
25
562
734
199
523
621
92
64
463
602
338
678
671
663
614
727
442
685
818
938
276
429
298
659
818
663
125
142
444
648
957
137
548
940
386
129
203
388
897
862
212
770
440
395
650
859
728
436
704
787
134
452
35
595
243
956
781
180
599
899
674
645
932
708
873
314
611
571
193
677
978
396
399
136
407
295
542
926
407
978
496
454
424
151
71
444
953
54
838
148
29
19
739
685
674
672
903
217
485
224
233
140
380
671
589
194
484
844
601
723
56
187
146
925
480
504
219
450
545
497
133
329
240
355
613
640
275
794
422
934
124
248
82
412
222
611
608
187
108
50
395
565
427
62
87
500
662
811
705
435
209
994
144
82
851
596
855
541
501
767
748
514
610
378
913
216
939
18
794
941
690
132
602
69
328
662
420
591
95
806
648
341
935
508
803
336
906
612
481
78
720
70
924
975
99
795
419
283
356
463
843
440
254
831
438
252
128
638
994
529
411
276
343
11
72
685
809
385
775
663
416
495
76
344
948
580
166
405
568
517
792
51
105
609
907
616
144
192
666
950
140
572
289
115
777
80
555
390
665
501
348
62
698
727
787
209
962
71
150
812
86
492
753
790
779
589
723
926
53
460
141
813
295
972
197
502
150
499
406
28
851
761
597
434
243
128
816
539
620
948
309
523
460
494
912
361
305
276
104
817
297
483
360
142
238
290
908
58
591
841
443
47
124
704
222
642
814
436
629
525
804
897
941
420
673
883
0
656
825
521
123
526
657
129
478
902
646
357
558
34
185
606
52
693
542
340
255
731
630
542
442
475
930
922
305
359
710
286
627
61
774
57
590
414
455
974
241
178
507
523
974
135
205
994
552
884
968
77
463
408
837
409
148
402
972
2
23
480
805
144
976
607
487
335
460
723
618
71
941
708
273
220
935
822
573
824
818
255
34
842
798
780
820
954
386
35
275
137
851
660
559
949
318
980
510
938
942
920
267
559
884
636
325
682
747
915
934
312
28
575
989
349
673
543
650
303
353
888
25
307
678
668
310
600
391
648
312
293
869
694
629
71
524
811
835
161
527
811
863
374
171
712
947
988
331
309
310
175
869
132
847
390
979
751
801
826
992
467
660
367
968
124
265
307
447
503
172
107
389
571
756
916
500
342
322
822
322
164
596
139
51
961
724
930
175
612
582
86
20
251
539
869
469
360
212
557
542
32
172
718
47
353
854
42
760
445
913
278
669
472
396
292
673
347
291
223
468
479
823
18
21
542
562
136
986
776
897
636
595
517
26
613
820
852
905
784
400
964
314
359
47
889
711
190
639
843
600
127
162
432
963
786
72
762
707
224
158
953
50
308
989
326
823
967
267
926
899
310
758
258
966
458
375
982
852
251
406
168
940
438
958
386
359
7
24
759
737
888
368
16
622
922
649
186
480
621
939
917
365
602
949
724
482
945
189
438
442
413
915
355
234
837
778
944
705
693
398
340
472
542
790
820
796
17
384
89
929
858
105
740
531
924
652
388
32
795
151
187
998
904
296
38
660
62
792
998
948
394
56
363
881
988
352
505
329
127
950
916
915
593
278
357
919
653
949
893
885
979
313
627
187
678
241
167
949
945
192
85
330
118
719
811
293
555
292
139
744
550
241
218
205
63
353
89
375
51
765
764
679
409
899
397
90
395
168
968
429
529
323
515
223
957
66
367
340
413
700
684
338
737
349
121
578
153
647
107
523
301
977
194
214
142
536
453
429
154
328
127
593
545
939
58
217
570
242
347
146
482
699
522
375
809
227
299
519
379
112
190
480
648
13
973
672
530
622
424
882
241
97
724
436
454
142
419
342
16
924
445
721
586
292
852
682
389
472
969
724
763
200
467
658
298
893
176
410
464
277
185
779
879
683
701
176
314
280
802
633
107
770
478
390
690
277
162
39
567
554
80
414
552
332
858
975
214
2
636
57
561
831
904
568
186
870
193
762
205
890
531
151
856
332
900
976
803
700
607
396
332
87
871
842
740
430
895
38
384
954
218
483
737
105
235
379
43
510
64
331
737
241
64
686
944
331
308
116
337
272
902
90
936
385
184
608
555
10
956
250
415
291
410
262
263
91
883
172
861
276
405
944
359
319
304
210
136
690
470
635
843
720
823
596
241
255
665
348
354
275
282
981
115
58
174
699
514
14
641
236
858
245
829
202
415
858
32
117
714
664
688
483
473
944
810
167
464
164
489
858
360
726
229
411
594
66
875
619
628
638
385
281
692
226
24
140
247
875
265
356
681
539
256
556
380
900
552
643
176
778
532
72
146
284
319
416
906
128
851
74
997
353
695
617
844
293
948
357
706
406
985
270
310
55
571
15
768
54
467
450
750
836
909
844
522
326
472
777
358
191
724
611
701
907
202
789
85
999
882
322
432
165
741
4
60
854
380
466
965
660
187
203
175
602
973
233
859
170
756
816
832
353
338
276
145
868
251
78
119
806
669
465
356
981
229
64
901
644
941
802
819
200
709
134
882
379
343
387
933
408
697
0
588
781
808
310
804
657
34
904
613
620
538
675
179
278
69
203
157
866
270
684
507
323
412
183
562
599
987
350
430
367
932
17
187
39
913
318
350
985
914
635
81
881
944
724
704
793
570
123
526
483
938
407
14
722
597
322
351
333
237
85
654
917
26
418
148
891
34
532
259
958
450
222
832
687
187
60
120
932
865
33
751
346
154
688
253
546
66
423
403
443
98
345
459
78
443
571
888
956
735
402
774
497
972
152
24
304
308
58
643
517
719
108
730
482
510
336
828
40
384
377
95
90
310
161
532
199
39
309
983
657
133
627
984
924
986
442
854
697
191
281
11
492
581
802
733
624
182
653
662
603
413
102
324
870
341
42
226
907
494
568
986
851
266
965
333
704
451
694
373
334
368
211
140
785
667
419
978
832
810
1
326
927
575
921
648
771
467
789
626
610
750
160
536
315
585
8
712
967
936
453
26
171
204
16
766
584
848
212
343
611
792
970
626
831
46
943
113
463
595
495
628
776
468
230
882
870
840
999
7
392
972
473
690
154
315
902
74
915
218
723
548
868
519
798
82
714
235
696
578
348
574
159
56
54
624
254
829
251
960
435
297
871
966
204
446
129
798
802
252
329
266
586
481
895
477
709
901
619
745
229
620
106
4
769
667
500
624
84
158
918
237
52
877
539
201
283
194
274
25
840
288
393
194
167
627
865
131
113
977
32
573
256
840
595
514
37
982
322
438
470
490
300
82
843
238
366
55
935
252
909
843
814
60
810
509
482
915
513
285
419
831
152
846
237
394
638
293
799
32
878
293
237
1
820
555
384
653
477
930
35
170
90
656
410
201
278
215
240
885
6
525
637
434
508
114
292
874
814
80
561
345
112
360
530
769
877
261
769
846
476
179
225
90
676
858
407
406
406
801
433
810
150
989
66
269
481
798
179
916
491
548
774
423
599
204
395
195
238
481
630
841
770
336
595
357
163
756
385
389
963
613
91
68
390
571
722
193
385
155
685
851
562
715
205
85
819
176
580
923
76
502
432
139
288
820
749
723
627
784
341
224
613
945
770
449
708
613
775
777
467
385
57
750
894
893
192
423
368
99
160
959
424
405
278
209
611
924
824
754
897
735
128
942
190
29
252
248
213
704
401
116
473
108
54
335
946
543
808
907
27
867
166
253
194
274
985
569
833
752
818
384
659
784
423
208
418
759
380
298
179
577
753
849
3
692
805
14
31
914
763
562
140
847
851
83
584
603
347
208
531
882
688
849
552
532
292
190
604
140
227
133
604
600
232
895
787
616
23
2
35
456
644
303
517
701
250
623
943
9
754
826
349
137
426
438
469
169
556
70
919
982
354
906
504
769
948
923
896
346
144
601
521
945
836
267
81
43
813
209
176
456
398
690
91
969
275
535
984
486
856
270
878
353
711
498
764
914
791
827
151
203
798
507
738
938
261
967
785
558
852
347
11
933
873
209
998
410
248
200
654
674
769
870
23
312
466
265
66
713
859
223
884
367
585
684
744
354
671
464
812
707
164
776
197
851
177
392
108
177
128
995
113
583
884
626
247
958
815
681
23
764
227
442
157
485
987
888
804
608
245
567
541
604
217
828
915
874
305
439
716
329
132
612
144
866
850
420
784
840
588
93
365
811
56
724
197
434
118
918
197
293
541
671
54
879
904
467
72
937
868
896
386
346
763
81
801
312
568
820
142
946
605
655
521
300
674
33
868
607
22
366
574
347
741
145
584
802
724
867
134
731
542
354
310
163
989
749
827
12
206
237
803
965
410
23
223
295
156
695
360
934
275
59
176
168
691
792
196
794
844
508
732
399
384
554
156
16
332
762
167
146
83
908
802
421
963
79
917
481
174
292
92
997
124
65
668
24
14
156
210
842
784
150
486
570
153
392
560
348
843
791
346
553
503
855
672
956
93
804
165
425
440
988
398
866
28
684
758
522
667
453
817
943
389
709
600
457
364
612
741
59
458
194
30
34
235
573
146
318
222
608
312
587
524
474
724
900
27
508
240
832
966
824
334
802
674
539
265
411
992
830
136
24
407
520
186
334
112
883
269
559
460
384
959
541
521
822
839
628
593
680
865
280
764
28
645
932
802
206
815
376
100
949
61
339
720
107
98
468
893
239
158
632
119
743
994
258
576
654
969
532
286
287
167
839
113
818
802
645
161
826
193
422
882
719
357
231
639
330
295
501
971
883
869
368
812
111
852
865
858
673
768
521
330
928
193
718
792
743
158
753
328
351
627
652
241
16
634
869
174
382
231
616
449
835
556
136
240
860
22
222
502
107
676
319
578
424
90
967
694
135
719
460
462
462
656
716
605
412
629
780
977
500
287
529
488
656
329
307
687
699
590
296
881
991
359
481
931
980
599
313
495
260
798
648
421
23
795
305
956
260
642
248
893
725
414
820
461
681
803
78
557
649
496
992
524
363
828
920
463
219
678
56
953
316
977
34
838
385
228
680
840
687
159
692
77
802
245
148
563
614
904
894
345
295
87
382
318
283
803
594
916
598
261
239
508
734
754
641
946
474
974
357
593
22
398
52
465
521
60
118
502
442
322
601
983
506
398
52
774
660
800
649
346
840
833
126
332
652
498
250
270
484
878
238
635
490
530
214
534
101
284
845
402
892
424
383
1
864
612
930
26
633
603
537
227
187
851
59
18
408
666
796
0
772
375
938
243
591
839
773
78
363
352
312
186
643
297
445
119
590
185
330
339
575
536
317
160
320
337
837
565
827
225
576
554
9
203
852
950
965
71
287
94
342
62
44
596
454
193
928
578
161
108
723
188
498
476
592
228
31
671
65
279
578
888
698
525
818
709
970
450
356
564
993
956
410
333
597
402
40
794
611
188
387
133
673
267
66
285
582
672
342
603
310
118
833
183
241
349
511
274
645
357
916
140
823
282
914
758
365
405
418
805
765
909
957
513
452
628
976
773
780
139
274
527
417
712
164
197
916
956
178
708
598
467
591
24
112
504
796
935
814
854
115
508
338
138
484
800
16
20
317
547
69
974
859
758
99
370
314
735
553
551
970
22
254
410
756
57
483
773
510
154
2
268
495
900
121
796
996
764
97
74
747
596
412
93
588
299
428
554
805
564
698
744
198
10
128
190
927
680
197
816
165
623
837
9
22
570
63
607
497
981
676
830
441
266
737
592
630
833
945
589
559
129
619
968
914
320
79
824
535
982
845
203
159
514
983
429
985
315
256
643
204
699
186
90
660
252
397
901
892
781
857
988
211
364
601
650
169
659
313
279
891
362
513
149
634
8
700
455
762
978
347
527
168
722
199
881
717
879
789
380
730
85
571
524
721
205
493
370
321
477
553
947
885
63
567
441
898
979
27
573
245
631
645
504
903
448
732
39
325
867
925
624
583
633
549
683
917
870
693
743
939
281
723
723
891
348
310
734
405
820
237
492
610
637
782
761
537
136
22
832
155
420
661
824
898
864
464
209
207
321
756
865
649
497
50
79
904
388
536
367
625
657
31
373
7
474
305
735
76
14
341
864
224
774
92
476
328
997
179
807
278
583
791
758
583
186
826
973
803
635
604
515
968
688
894
328
709
230
936
174
734
290
609
725
422
595
179
712
73
204
668
428
322
462
94
484
608
844
571
715
572
296
575
633
416
803
642
613
55
985
86
964
725
702
137
548
97
668
287
981
312
361
104
966
525
319
917
313
998
397
359
723
349
584
735
54
970
718
958
672
291
730
167
32
850
362
144
558
33
27
722
157
657
763
917
447
128
95
259
283
639
6
407
98
924
762
29
71
828
409
753
914
524
429
268
965
834
192
290
462
908
296
312
645
392
703
22
719
554
634
602
546
631
299
449
491
538
64
493
815
999
7
266
749
361
403
69
860
143
78
943
289
51
511
843
323
372
24
746
602
305
725
718
338
86
155
75
749
437
964
245
678
596
14
592
533
78
774
616
103
125
512
651
297
799
464
282
977
117
916
107
514
933
492
553
698
851
646
869
313
905
545
12
453
240
311
353
223
646
301
375
73
732
193
19
786
396
78
300
344
26
688
755
77
827
15
364
945
225
446
188
469
24
234
409
166
800
262
458
869
226
454
872
874
360
785
562
681
645
439
885
326
564
915
612
74
37
436
390
665
501
926
199
889
504
281
682
531
327
179
292
550
853
859
61
804
959
278
240
482
812
97
679
16
149
241
411
844
515
151
467
876
770
542
760
311
10
449
886
225
541
403
768
989
851
80
370
34
262
933
753
818
387
973
12
686
773
590
819
247
316
610
561
105
708
146
714
294
674
998
562
481
774
11
100
177
650
501
701
343
8
953
711
515
533
619
632
703
523
941
773
746
24
601
703
766
704
295
425
26
819
246
55
292
208
120
102
98
567
805
892
458
978
611
741
367
1
320
649
241
716
579
769
137
251
552
231
997
987
27
796
483
354
573
945
11
299
868
478
223
460
474
679
205
768
72
171
798
411
660
841
560
171
649
587
702
562
735
912
471
796
641
961
549
587
140
506
528
369
630
644
835
469
518
918
750
825
730
276
120
509
592
124
19
193
994
718
883
693
122
303
444
197
542
453
534
52
152
227
325
471
969
842
991
900
346
695
817
12
841
96
254
417
937
155
382
813
176
550
347
587
342
311
55
459
216
708
515
130
265
551
482
660
981
411
812
929
257
650
694
479
14
153
149
982
157
410
624
445
865
385
451
907
297
720
101
465
442
891
166
439
797
805
254
720
69
976
506
88
563
235
998
636
14
2
72
879
287
684
19
885
801
796
582
380
614
76
522
725
272
884
873
118
323
442
918
400
84
873
640
379
457
659
960
680
320
94
841
935
852
398
294
686
533
754
387
551
282
765
822
924
933
275
220
30
331
214
31
572
155
577
945
457
665
942
956
495
631
190
960
970
716
41
446
208
402
286
38
363
397
601
714
103
914
306
834
722
268
895
122
217
124
588
761
703
741
145
961
221
811
262
954
46
908
365
18
216
809
744
832
527
8
784
199
667
179
663
412
40
121
842
156
659
403
530
283
269
979
529
165
541
809
197
91
255
209
103
260
38
757
711
352
304
955
621
157
938
330
881
175
356
764
989
839
150
576
287
447
211
962
788
560
327
184
826
102
563
754
487
667
886
380
445
115
100
636
144
279
303
248
979
97
553
669
426
941
401
57
472
12
687
482
931
835
850
558
856
509
185
496
496
116
532
35
411
844
241
290
570
899
210
263
23
650
849
300
325
174
942
93
565
696
75
248
4
855
315
830
976
320
39
695
873
824
199
235
520
736
995
481
322
136
549
163
973
104
280
493
243
488
495
355
263
857
365
870
469
245
923
96
394
842
23
6
881
886
450
383
360
221
233
999
104
421
199
212
40
168
694
225
894
904
825
250
937
530
415
79
194
133
358
266
554
678
545
406
584
410
457
384
732
923
643
46
732
265
228
986
256
27
65
633
519
203
669
283
167
240
945
885
835
221
114
879
194
192
579
745
548
432
173
237
138
956
724
448
20
658
429
881
771
97
170
543
300
149
798
903
588
7
186
130
328
974
375
479
379
593
596
210
751
322
248
890
655
246
463
884
264
952
413
834
360
906
3
357
792
423
548
1
787
767
372
735
704
518
495
845
491
465
88
555
283
850
388
514
651
334
32
210
795
639
400
835
834
749
246
742
78
321
624
405
157
690
529
275
335
646
619
885
363
465
214
777
585
956
40
428
615
888
403
553
706
969
117
992
218
765
706
325
134
769
535
294
479
889
398
876
983
546
680
513
101
200
148
561
628
975
134
281
982
532
928
991
334
142
620
548
515
816
5
188
101
488
760
431
911
939
913
570
36
424
524
128
762
398
463
419
22
473
437
577
308
6
686
687
156
231
352
209
624
983
929
733
36
103
979
476
382
592
806
896
324
891
163
116
229
616
104
666
653
467
874
957
206
192
478
195
430
759
956
453
491
894
696
137
422
146
819
828
179
210
671
876
232
107
227
150
709
33
224
771
424
507
721
814
285
877
893
147
990
314
530
233
897
436
317
40
148
463
136
62
44
16
460
688
366
491
759
548
471
85
602
141
630
982
567
371
544
239
664
595
28
766
683
400
636
441
359
818
481
471
154
376
448
722
246
132
272
208
317
599
106
475
359
427
133
208
137
317
649
882
842
144
219
225
318
758
319
606
413
932
60
732
672
317
780
200
681
700
986
51
208
613
916
831
938
253
316
328
998
201
10
4
207
464
462
15
45
958
956
826
215
961
896
421
445
245
457
376
330
145
45
754
52
706
399
529
794
853
129
171
428
506
852
3
212
403
205
73
346
910
577
846
102
632
430
799
967
455
423
10
284
844
831
687
748
820
271
256
396
819
341
99
0
869
758
786
844
977
621
27
267
289
869
463
419
680
898
942
193
309
416
82
268
897
107
344
832
277
162
869
456
778
407
93
654
459
608
700
902
931
349
254
534
223
165
432
638
260
294
254
824
761
490
421
291
943
753
130
844
360
164
21
947
808
471
974
842
290
723
454
527
378
961
434
209
840
78
940
618
225
136
465
940
915
144
849
833
651
57
864
261
156
148
567
753
977
674
511
898
821
885
871
397
431
209
144
25
962
454
971
15
386
237
845
646
701
978
276
269
676
936
150
575
340
11
329
717
619
719
351
449
973
565
5
186
829
14
834
155
834
81
752
511
966
706
999
588
990
785
15
226
589
745
34
532
808
104
658
147
794
564
750
801
116
609
66
703
179
18
474
471
345
892
855
373
662
6
461
506
480
18
896
87
792
28
791
252
228
372
727
642
926
748
534
84
661
783
665
345
445
53
370
231
712
923
344
132
452
4
3
269
977
290
176
207
259
707
437
731
947
22
259
713
531
540
365
344
338
337
612
212
446
779
286
968
28
417
90
411
495
72
430
215
410
202
463
571
797
529
112
454
838
856
921
639
210
277
697
436
634
834
954
132
733
229
716
918
145
401
928
570
811
338
513
124
758
150
931
849
242
67
854
87
36
18
401
178
749
880
923
418
541
251
683
862
511
156
116
151
631
670
220
481
558
446
88
224
821
175
673
246
93
523
689
391
860
881
923
678
806
726
123
404
751
621
290
119
389
61
296
514
770
569
386
852
297
437
271
146
845
274
179
833
402
119
354
846
41
485
786
857
957
257
778
126
383
981
732
469
79
750
288
525
760
488
712
497
460
837
743
737
229
54
302
96
111
831
955
840
674
750
436
678
792
185
964
870
577
788
478
709
478
314
715
720
558
20
606
922
470
833
884
219
724
505
244
234
448
193
448
396
532
199
292
893
301
241
52
563
910
985
713
723
455
486
220
945
767
527
645
748
40
583
737
899
313
79
385
971
399
589
540
82
939
158
6
957
371
26
268
32
38
135
52
299
972
764
979
673
274
902
79
843
239
480
501
26
336
141
735
36
946
430
725
975
679
418
445
511
422
766
327
637
626
722
664
519
525
920
35
112
298
114
505
838
409
646
904
867
334
831
301
782
270
913
74
47
905
611
345
391
470
752
920
355
274
917
545
134
447
995
917
365
886
360
968
732
165
541
197
391
85
962
754
288
952
476
185
278
941
902
830
537
112
965
817
208
618
32
715
262
96
357
203
230
837
351
363
549
6
533
689
804
774
455
204
343
477
233
967
603
660
152
322
860
315
257
518
586
680
976
497
120
621
392
734
536
800
494
152
851
243
568
221
836
190
98
355
387
915
711
769
825
923
281
961
260
317
239
750
873
841
176
595
338
929
988
240
9
170
8
620
961
117
453
617
336
149
295
16
216
68
694
83
28
507
715
862
772
705
456
727
777
924
532
383
166
98
649
543
121
85
247
308
219
870
837
977
65
995
154
562
859
580
566
78
726
515
443
249
104
798
901
677
774
521
725
229
460
127
362
982
989
653
243
204
45
782
300
894
434
774
307
377
185
496
57
715
971
778
178
845
651
174
680
314
286
784
191
99
925
455
40
304
270
314
666
574
111
633
98
367
151
444
472
121
833
468
198
879
433
816
816
149
284
425
329
673
187
50
159
737
733
669
784
927
453
363
315
317
327
26
965
407
503
197
243
850
686
307
929
167
960
661
677
491
684
608
300
391
41
45
456
16
994
544
733
607
473
710
844
483
124
101
872
729
989
96
423
237
50
550
881
809
481
136
411
628
831
211
680
102
12
305
656
239
483
34
610
12
104
129
362
378
215
154
493
670
649
262
90
240
878
299
762
938
391
277
376
343
664
234
706
83
555
633
577
754
695
207
10
91
507
710
217
392
74
656
691
560
326
105
883
86
779
189
371
642
631
865
613
590
940
304
563
812
580
641
368
662
195
538
972
768
658
503
284
580
170
345
848
438
409
54
968
542
611
409
561
406
453
436
871
516
911
735
228
601
204
562
4
479
556
193
696
783
684
563
511
714
632
300
451
62
496
285
162
161
413
935
786
699
278
13
732
726
487
786
367
498
270
47
353
496
309
782
362
441
354
830
932
786
48
391
91
441
930
60
730
605
529
602
597
960
878
530
131
998
250
848
598
915
179
960
732
622
206
783
541
192
323
939
977
226
717
562
946
981
653
480
82
402
529
733
45
266
594
559
768
106
710
389
2
709
452
929
78
396
366
156
336
186
256
862
254
175
732
81
491
306
220
96
393
763
668
442
346
162
305
721
99
901
491
75
753
432
112
783
463
715
395
573
75
343
223
789
198
716
181
933
828
697
387
769
518
371
174
684
720
876
271
335
455
775
254
779
547
187
493
541
961
645
748
321
119
59
459
287
991
498
134
6
607
964
423
955
732
327
673
186
7
284
258
123
163
184
310
645
49
619
797
474
139
575
630
4
176
766
350
240
786
741
501
804
143
720
931
669
79
195
859
85
242
276
958
294
670
859
163
444
172
22
18
70
889
372
847
78
716
355
489
704
767
408
513
960
229
236
292
987
240
758
562
207
691
552
305
223
456
583
582
600
695
950
107
274
767
787
889
496
40
794
855
41
372
718
511
122
725
531
821
263
513
627
491
341
529
724
90
102
119
800
889
912
830
314
950
200
621
380
22
126
369
328
190
311
123
250
870
483
269
374
761
698
356
911
397
375
380
217
427
818
212
157
887
164
704
429
761
69
920
260
884
865
434
260
180
388
523
517
305
602
211
917
67
937
346
255
783
265
127
489
29
901
326
792
633
753
47
94
655
193
866
849
115
665
68
329
250
518
589
408
882
916
380
995
741
745
762
218
724
742
493
930
289
826
889
623
765
186
192
194
699
884
456
129
901
975
923
118
813
135
200
739
338
785
498
734
923
558
773
194
346
598
375
12
155
980
402
94
706
905
393
840
270
931
433
876
492
431
449
48
638
68
418
838
31
496
416
821
643
571
48
443
549
576
592
491
224
91
693
320
392
569
245
556
76
173
195
598
55
740
81
569
802
892
908
146
978
610
727
513
310
341
199
642
480
594
7
845
245
235
354
188
608
741
451
500
125
655
46
474
267
851
25
750
282
141
674
595
158
159
269
831
382
45
760
477
89
38
674
609
258
556
347
276
454
516
131
341
597
651
55
872
95
448
381
795
344
226
626
593
637
206
317
771
904
891
496
484
817
44
803
604
811
412
303
988
848
917
816
791
491
584
849
854
853
830
801
38
845
514
634
272
367
446
651
924
134
780
586
23
30
74
398
858
115
370
587
410
772
90
279
693
270
154
988
476
74
480
851
294
633
890
532
811
791
869
870
40
636
959
869
929
778
964
540
285
785
170
43
540
263
370
24
552
344
578
125
221
124
632
387
262
353
649
882
773
279
462
430
748
183
708
588
661
453
466
943
787
224
441
93
77
442
849
269
26
672
841
416
778
149
763
244
253
245
78
416
946
594
30
957
717
845
621
273
98
808
744
228
386
121
640
369
245
652
254
104
144
136
151
74
85
356
3
669
829
609
366
22
979
709
797
167
814
594
96
855
305
151
617
270
628
437
659
587
426
278
292
151
456
661
565
328
87
161
415
330
255
363
595
291
637
861
32
462
162
232
484
312
526
729
144
222
971
238
757
195
915
933
412
382
915
993
553
566
993
288
792
389
64
734
8
630
556
233
358
282
571
114
741
505
164
100
551
825
249
811
411
352
258
140
964
143
297
748
941
693
693
984
508
12
428
995
114
656
423
481
304
248
285
245
22
303
205
964
393
490
90
303
159
235
931
934
113
441
324
262
156
401
129
624
196
690
246
437
246
760
141
493
756
63
241
88
138
536
8
706
402
170
27
871
496
542
5
787
255
394
585
432
247
390
353
904
511
201
71
365
944
745
627
275
137
903
933
153
944
556
778
927
393
870
172
218
879
356
481
91
291
362
324
893
267
699
332
565
696
626
380
390
611
906
442
475
230
300
390
921
790
794
527
274
517
347
980
398
160
420
81
588
605
203
711
537
727
228
228
74
228
147
49
280
748
221
816
556
925
688
481
397
689
778
386
131
463
442
23
331
194
922
296
258
540
358
357
186
170
447
15
966
292
536
673
232
10
333
74
690
857
816
644
568
795
261
621
378
845
407
46
866
269
274
564
801
856
651
378
294
147
542
499
374
621
187
995
310
324
544
846
206
765
11
508
262
326
663
288
162
692
892
473
352
662
252
678
428
906
631
703
783
640
319
298
687
748
291
757
667
445
892
385
618
64
473
4
360
784
645
257
274
402
183
237
960
888
960
50
90
137
746
294
63
177
557
632
375
376
950
657
911
972
36
844
122
179
902
815
1
433
865
182
724
492
624
391
456
282
99
250
230
51
680
956
190
241
458
381
918
532
922
874
736
19
287
191
274
569
239
181
987
763
522
525
331
243
905
226
420
779
247
116
931
181
618
828
374
346
711
70
850
691
251
138
666
514
482
397
878
14
758
63
758
871
240
123
705
921
272
933
791
416
73
865
963
364
906
639
508
354
452
956
892
941
860
395
218
39
565
182
412
243
740
946
320
216
358
391
621
939
51
390
407
374
653
220
158
873
131
51
484
749
304
684
928
729
306
566
55
633
824
823
610
569
471
776
241
744
920
679
95
550
498
79
47
407
755
197
122
338
585
824
986
877
815
895
657
171
149
364
465
518
837
129
462
941
837
98
440
191
251
831
621
556
915
710
659
319
649
770
148
377
112
631
699
984
159
483
284
181
494
418
594
951
29
460
404
929
35
426
426
413
365
545
285
434
230
8
97
879
593
999
208
183
445
637
960
65
152
638
561
86
815
573
843
362
815
96
239
943
206
947
422
167
513
508
294
764
972
910
352
51
709
315
185
282
847
682
71
892
853
847
332
628
79
963
52
147
665
333
87
504
518
875
182
28
687
193
197
184
967
632
78
789
746
715
635
173
903
371
611
183
354
497
458
405
117
174
769
381
652
992
369
953
287
646
557
576
870
989
817
205
30
45
80
309
962
686
830
370
515
700
886
254
216
511
303
475
621
489
620
826
773
834
34
753
370
869
491
42
664
641
620
54
574
503
847
916
137
454
844
91
474
917
78
622
178
239
60
655
387
772
776
502
665
548
925
302
378
103
976
271
748
898
840
445
842
982
950
354
48
762
618
355
750
852
130
74
383
205
626
353
162
565
419
920
643
685
862
262
166
4
884
250
646
361
294
558
718
536
54
709
122
900
827
468
870
499
821
951
585
299
356
959
613
564
304
590
777
396
101
325
20
997
947
356
1
584
457
610
625
187
940
215
643
884
27
980
837
216
781
901
545
714
868
77
411
804
645
542
556
711
865
38
244
874
244
249
506
777
624
911
695
323
898
572
66
565
476
702
586
752
190
86
407
159
250
190
637
944
571
631
665
811
870
858
396
267
563
753
730
494
60
608
709
65
541
464
369
831
103
753
41
65
677
94
645
740
614
534
786
156
805
265
20
72
360
964
605
430
998
56
532
843
601
324
40
180
254
196
499
128
447
102
477
733
252
875
147
3
516
416
42
961
748
767
154
369
646
524
0
666
707
687
927
805
604
562
858
809
688
640
474
2
916
82
449
271
344
960
421
947
572
565
256
882
161
564
606
697
841
783
219
550
956
139
924
653
496
645
168
433
972
634
409
352
692
385
270
892
858
461
306
365
229
833
619
258
56
537
528
770
26
586
447
425
903
727
955
528
39
552
491
553
979
942
317
263
898
632
682
858
131
707
245
20
546
576
6
937
390
603
907
743
406
78
91
948
132
626
380
741
910
872
324
2
142
297
433
953
859
352
203
468
787
678
971
44
583
759
199
701
896
6
48
62
628
223
377
528
309
590
922
51
362
816
779
304
319
518
95
908
593
489
898
786
337
69
688
517
487
438
817
169
4
914
865
630
669
980
206
555
575
466
488
314
466
20
146
522
286
371
268
367
973
591
801
287
704
781
765
261
256
12
559
576
611
368
588
938
926
916
874
184
633
576
477
480
487
96
386
37
160
62
817
428
506
281
809
825
601
837
983
9
706
19
906
286
955
415
475
453
729
513
767
269
437
81
741
449
396
266
595
183
870
351
605
579
98
286
382
726
382
299
672
356
761
280
968
484
319
727
951
180
808
186
453
377
733
402
977
507
978
279
323
464
961
697
711
885
990
293
870
588
394
212
696
32
309
421
321
747
718
397
179
613
701
458
290
781
45
818
822
102
789
891
500
345
111
346
632
440
779
335
5
433
238
982
66
737
674
526
338
920
887
851
285
395
248
600
18
69
265
303
638
97
792
998
450
842
672
699
352
42
693
755
177
142
591
474
751
871
380
630
776
179
300
741
344
463
789
128
193
853
948
397
295
472
904
71
162
154
80
826
930
691
771
37
299
5
393
643
424
872
803
735
600
790
640
410
136
804
830
49
279
823
952
602
540
196
762
92
453
8
964
982
845
203
841
737
706
430
671
967
247
996
634
234
266
311
803
421
789
865
510
228
389
609
652
183
336
167
766
442
546
846
184
260
135
472
249
478
84
972
969
750
475
190
317
272
183
176
525
42
371
829
614
58
522
353
179
643
638
999
278
507
991
932
431
628
141
159
826
381
884
421
621
305
971
519
218
63
306
888
32
454
703
691
705
958
73
512
908
357
318
362
763
163
549
420
192
32
328
367
530
51
616
64
641
924
737
376
85
670
290
892
930
691
917
928
118
769
114
574
268
474
417
155
655
27
754
457
991
761
824
770
77
813
559
891
479
10
416
664
655
285
746
469
909
665
825
725
449
927
349
954
665
97
58
952
768
896
333
58
853
627
756
160
585
860
587
713
694
704
467
334
829
533
818
821
305
710
854
325
23
980
595
344
620
576
990
394
680
108
174
903
728
966
331
179
783
201
422
902
735
672
450
492
380
763
569
550
750
162
152
814
978
976
879
280
104
368
103
364
70
967
148
724
567
117
863
530
336
772
150
251
295
526
785
383
931
571
48
473
691
464
623
241
567
94
997
225
236
918
567
901
148
508
772
342
508
655
585
543
361
927
544
909
410
738
449
982
701
509
661
370
531
491
88
741
448
132
65
343
750
779
437
180
870
791
810
39
78
255
86
342
603
383
774
805
455
745
560
517
277
938
398
607
887
920
172
12
231
240
366
544
214
947
963
166
647
298
297
807
543
263
16
410
494
454
571
144
169
17
711
917
708
693
461
411
206
343
522
911
143
459
149
323
872
326
921
770
507
534
627
41
334
893
880
125
379
979
917
707
264
472
203
821
840
245
217
153
249
269
200
818
299
355
438
662
750
536
733
60
727
920
267
75
695
414
170
57
660
72
35
488
996
877
383
782
588
754
805
150
410
217
437
226
867
551
303
280
246
215
246
423
959
869
158
297
347
227
149
32
438
972
696
471
196
364
98
936
960
420
51
402
512
19
469
43
35
271
918
312
937
357
541
668
413
942
525
317
183
22
769
92
810
145
983
263
536
701
626
854
843
406
238
647
226
677
740
963
270
402
418
79
547
853
126
224
891
277
897
420
757
476
241
851
197
851
875
284
286
402
575
562
949
812
272
474
257
373
530
689
953
303
494
370
860
303
191
6
895
641
502
267
995
452
267
655
77
999
263
738
608
471
487
357
607
867
147
81
19
392
64
777
475
922
247
740
769
980
806
825
48
184
742
555
234
706
177
865
53
816
347
829
936
794
599
454
883
627
769
935
573
36
622
27
697
857
463
711
558
784
527
741
936
776
807
426
166
115
198
581
881
291
653
473
298
398
468
692
837
725
923
845
879
405
472
986
186
918
246
154
493
27
357
863
257
810
986
932
476
335
809
371
182
297
332
710
357
408
858
472
123
122
722
584
428
893
739
162
12
386
355
673
284
795
61
579
709
127
683
436
476
453
514
472
174
568
170
543
517
523
194
953
246
375
397
428
328
414
266
365
55
919
625
745
424
694
146
895
162
152
864
920
746
859
494
154
568
60
759
264
450
514
771
773
676
954
905
450
751
575
353
669
522
368
951
851
885
791
877
502
834
735
254
340
462
584
267
879
42
12
582
120
325
613
737
797
109
421
141
257
601
92
710
776
920
536
122
956
172
994
658
136
164
771
460
635
69
814
63
753
709
876
532
449
569
323
930
727
493
579
11
173
369
198
511
810
980
956
419
561
128
923
218
976
471
874
312
106
753
326
911
904
336
34
209
713
807
375
469
755
604
334
471
952
880
881
550
462
499
873
673
45
615
808
345
790
594
908
150
551
845
284
740
248
70
159
804
688
596
946
622
893
891
336
874
830
836
101
286
80
562
975
752
977
222
679
473
269
178
952
318
508
343
330
337
811
575
900
149
974
939
771
541
298
71
406
192
911
737
159
733
11
337
108
182
300
70
218
790
777
254
422
254
17
906
292
617
629
689
709
493
270
339
229
607
313
185
12
111
882
539
587
154
658
433
696
610
598
747
42
505
493
464
894
547
388
151
68
59
419
925
226
417
906
293
578
856
340
529
88
848
638
381
119
565
200
229
692
101
965
16
403
272
723
432
804
256
91
262
547
728
420
561
906
32
615
556
552
397
895
293
923
536
628
101
672
573
213
202
343
831
858
126
89
589
880
992
665
129
15
473
161
593
285
394
575
579
532
299
484
764
928
127
38
763
410
899
976
493
246
56
48
836
37
706
702
170
76
458
268
387
306
590
941
859
502
119
106
334
743
653
190
273
892
904
160
517
211
211
151
743
984
978
566
943
466
540
838
988
143
74
303
378
440
593
104
866
11
734
960
441
11
89
312
727
585
702
983
533
644
419
81
275
573
111
63
78
781
7
868
577
56
828
49
873
745
482
150
370
899
686
953
531
844
59
102
14
150
778
206
160
796
161
969
900
306
626
8
923
546
613
73
183
296
445
553
909
408
888
738
559
863
870
255
48
224
955
325
650
525
387
712
98
571
835
764
471
482
174
466
279
114
504
6
227
790
924
509
89
749
124
640
450
827
928
763
273
723
269
540
606
368
86
29
554
775
866
686
205
185
751
962
265
123
177
236
665
64
42
859
736
838
753
955
46
513
498
517
998
581
96
427
142
399
601
97
381
444
357
150
991
974
556
502
808
151
114
874
206
524
911
120
877
841
73
68
379
908
607
62
465
535
221
439
386
165
349
585
996
533
106
213
285
508
751
195
337
432
329
660
564
305
921
918
398
573
773
843
781
314
53
639
928
199
283
247
784
447
782
640
680
78
28
254
610
9
26
560
328
223
292
849
586
885
335
759
820
411
550
70
56
665
962
398
921
617
746
305
853
994
649
276
548
594
989
532
402
795
159
164
139
433
413
121
894
884
942
989
299
312
774
54
200
516
483
305
923
652
782
669
327
761
746
936
788
676
165
739
782
843
21
370
596
854
629
459
42
893
545
132
553
281
811
825
871
110
696
111
453
67
906
859
724
447
522
261
763
444
502
212
253
362
535
306
706
889
952
130
316
583
558
422
472
251
153
569
435
501
654
118
316
639
860
249
475
193
434
767
188
958
881
410
210
544
441
452
590
529
103
62
82
558
932
62
724
392
103
897
95
223
706
697
212
495
904
795
253
487
975
863
401
425
766
370
837
44
108
515
332
523
206
204
613
775
716
282
726
987
752
741
847
537
66
157
408
570
58
17
177
950
187
533
43
3
362
547
927
888
296
569
996
263
796
770
493
876
621
558
937
466
577
46
957
794
554
263
474
899
444
268
368
524
726
716
192
645
10
229
424
56
152
838
110
669
324
676
921
234
174
915
368
857
551
382
966
508
548
147
483
648
723
783
428
759
19
674
836
854
124
644
267
409
824
250
243
402
264
420
534
758
286
741
296
587
684
101
121
706
457
447
57
134
750
802
687
112
993
910
96
983
323
81
989
948
339
847
900
417
631
853
752
199
279
154
526
473
730
469
828
947
471
908
15
871
327
830
350
982
885
16
202
78
751
944
702
778
480
908
42
752
170
313
471
249
736
843
295
163
94
874
189
32
932
359
502
895
383
533
362
493
123
708
133
0
98
366
878
495
477
585
504
656
800
299
143
447
542
761
682
831
617
415
5
615
271
609
615
708
563
802
507
272
39
511
187
444
103
512
800
146
361
253
896
331
113
649
428
47
913
704
851
410
167
783
695
499
239
369
643
467
366
933
929
29
164
340
454
938
393
372
287
499
206
762
961
98
439
877
301
656
961
345
352
534
786
159
185
84
869
527
562
270
875
717
87
897
86
110
794
648
934
782
892
633
977
930
421
253
38
185
662
302
228
54
812
621
199
383
274
274
660
514
245
797
715
907
378
417
733
616
852
102
268
255
583
218
72
291
710
900
465
844
560
705
653
986
190
899
847
322
854
62
627
82
645
476
779
602
977
115
372
756
840
949
498
882
58
294
285
516
998
24
957
751
774
918
312
629
77
73
785
75
549
295
188
582
704
696
399
126
686
967
148
363
574
831
71
616
784
817
780
386
856
35
287
157
761
534
119
515
880
298
31
425
781
473
534
906
706
949
785
853
53
516
628
482
701
774
949
667
583
52
415
996
948
605
669
436
6
187
188
636
363
705
258
538
441
932
756
918
328
632
900
888
821
441
517
544
406
768
142
310
481
11
726
765
188
44
798
190
44
555
468
122
370
488
465
819
225
580
460
875
455
398
354
372
841
319
539
993
417
349
576
837
894
398
255
633
783
400
244
607
662
296
668
402
63
841
869
570
950
730
744
172
571
876
290
240
611
525
630
73
11
958
863
750
11
833
890
701
780
468
63
945
542
121
442
716
414
213
344
798
607
426
769
234
817
772
503
949
877
705
405
563
594
685
720
76
428
316
118
854
515
936
910
431
817
503
868
355
46
497
664
64
761
453
651
185
769
347
373
754
14
938
837
128
483
156
745
300
31
232
338
238
748
247
166
156
820
398
184
243
753
979
401
878
771
866
356
65
508
692
403
394
888
776
905
249
773
717
94
974
831
350
353
248
951
377
887
840
985
107
449
260
687
585
706
340
436
940
739
286
521
188
592
843
579
110
2
726
584
621
106
960
871
594
900
539
835
474
427
332
163
494
944
595
441
600
217
447
874
638
782
826
952
541
180
709
31
924
776
130
792
810
527
637
574
701
163
421
58
745
173
54
785
607
488
968
419
527
253
181
890
862
465
593
799
567
340
488
538
300
847
572
460
532
372
228
98
912
110
489
486
622
663
784
268
753
986
580
818
312
948
472
257
296
769
576
904
923
417
820
67
666
95
190
10
492
820
537
150
565
816
987
86
715
626
887
493
821
437
47
328
390
203
621
818
330
57
222
315
977
643
493
973
996
185
840
87
196
313
564
952
338
136
708
351
610
470
69
26
430
790
106
17
418
830
267
651
778
293
794
829
886
16
448
921
791
21
131
929
567
381
7
252
321
709
562
414
68
485
174
601
879
5
555
60
529
9
187
795
747
489
509
679
107
120
121
613
230
172
47
898
31
916
873
578
443
773
443
432
933
148
579
610
240
256
596
884
147
961
220
35
46
601
838
425
555
741
369
495
759
76
499
121
224
461
849
584
230
435
233
436
387
607
160
350
654
332
516
164
964
548
802
541
934
933
668
780
234
551
487
119
909
671
502
196
698
267
848
178
860
899
651
505
990
942
300
650
221
993
792
678
96
679
227
457
146
406
900
723
293
60
618
887
572
217
442
351
362
442
636
242
875
725
439
238
7
429
166
957
56
61
148
713
474
617
777
881
615
169
685
192
530
14
719
502
88
181
141
559
461
704
833
217
755
184
66
365
395
906
612
589
943
874
73
613
271
673
459
206
822
50
334
216
629
400
995
933
898
413
168
216
679
340
70
820
132
569
196
789
613
151
229
851
716
86
248
904
416
777
50
514
354
921
155
930
43
203
155
97
844
949
503
704
188
202
869
52
122
462
434
448
582
570
47
18
83
932
262
42
121
426
443
507
750
446
692
759
685
998
890
376
534
396
378
674
396
51
622
45
395
175
424
603
552
537
860
664
50
704
26
489
244
734
571
565
82
282
525
833
183
845
305
376
56
863
632
473
593
539
747
131
473
402
618
550
289
823
843
184
373
143
448
358
801
201
982
377
899
369
837
926
13
622
932
992
426
533
978
255
278
573
843
335
635
759
686
601
146
994
946
926
298
535
224
948
492
658
442
473
606
669
750
457
430
772
506
785
638
474
7
120
322
379
895
188
621
115
15
603
788
75
798
514
132
677
229
771
711
667
384
183
555
591
746
224
432
978
22
113
538
783
911
299
920
649
424
854
443
605
211
521
875
461
216
371
99
341
284
916
656
103
129
943
544
322
206
853
752
162
846
27
688
954
74
112
275
703
345
473
978
715
107
123
544
540
783
87
826
850
724
84
62
675
740
708
733
603
166
234
869
792
786
73
423
188
305
327
135
136
487
263
359
32
829
830
729
508
491
500
379
204
922
16
374
403
603
725
297
150
750
594
202
552
108
446
321
292
673
716
739
916
903
853
628
207
597
936
419
513
295
794
526
810
207
767
564
645
141
914
63
751
774
694
784
371
755
933
514
638
965
612
544
572
672
563
945
578
154
636
864
242
568
145
880
81
477
358
479
683
206
172
970
261
350
418
542
654
249
488
824
606
178
237
455
736
241
531
694
895
368
848
258
676
425
368
526
897
387
998
662
388
663
562
762
487
492
480
957
861
482
491
52
573
128
735
56
190
255
424
730
600
728
734
764
524
47
241
927
112
504
828
686
805
111
635
30
676
783
432
916
640
652
367
314
187
25
197
995
47
11
746
916
450
92
722
921
474
881
869
794
988
85
548
174
851
589
996
675
311
910
469
318
184
562
370
717
84
409
362
767
721
700
858
329
413
842
397
73
98
222
793
494
936
422
197
748
832
914
779
734
387
214
678
557
307
842
796
921
353
393
597
352
297
273
633
223
857
381
2
676
574
899
918
394
842
618
743
117
638
168
884
83
513
180
290
118
529
387
716
672
135
259
1
335
259
165
584
55
274
872
548
508
580
521
203
624
148
815
586
721
48
682
892
169
802
275
657
230
132
274
385
967
852
701
289
329
642
624
731
176
230
683
679
829
276
643
463
735
345
275
991
62
581
10
197
762
209
47
654
890
50
355
92
769
923
959
695
413
570
834
817
893
248
524
209
580
396
209
897
91
559
536
374
853
852
244
43
129
127
143
128
97
837
609
715
64
160
197
196
426
627
98
867
355
195
155
597
289
827
890
331
424
30
223
784
758
467
324
528
253
344
642
892
377
741
917
958
823
321
836
470
112
844
654
330
765
234
482
467
27
753
192
514
503
891
199
5
727
522
942
329
315
457
207
951
790
636
785
241
770
820
160
253
185
839
259
386
361
622
611
759
338
349
740
7
946
475
962
359
7
909
584
235
186
525
331
120
888
176
232
48
484
201
885
959
589
894
331
580
531
89
293
166
106
684
459
205
468
301
72
923
333
225
531
540
53
433
658
711
93
726
532
832
630
327
880
401
738
117
407
391
920
4
65
936
723
826
86
837
694
916
910
800
899
382
288
219
282
189
723
939
304
835
807
294
252
329
294
680
354
153
128
458
840
154
825
208
124
878
360
50
317
85
954
832
170
418
857
981
882
42
93
148
517
373
350
844
879
251
811
742
355
407
611
117
656
680
310
930
130
919
922
746
551
638
415
605
481
612
255
468
732
637
542
290
55
450
829
777
812
978
338
696
533
256
200
722
796
182
667
613
463
663
831
868
523
327
924
386
446
140
697
331
212
130
232
488
909
809
102
500
405
424
787
747
766
522
466
953
374
186
639
704
589
783
605
661
426
169
474
560
885
617
766
618
493
173
56
952
339
173
719
63
565
538
271
711
506
485
736
696
498
521
303
627
899
409
409
501
843
80
380
92
494
841
788
953
163
867
473
195
33
647
302
958
980
625
338
167
956
17
369
936
985
250
237
985
996
613
209
215
35
67
656
338
159
763
948
613
29
649
716
114
246
648
298
797
694
299
210
351
503
100
919
478
324
471
253
456
307
191
699
200
710
720
10
758
428
3
428
63
0
178
409
654
413
446
869
189
830
74
484
21
971
89
386
968
812
575
114
0
850
876
489
284
646
284
536
858
136
501
792
332
339
990
104
268
496
723
112
528
205
508
886
148
168
268
796
26
931
762
216
566
967
14
182
874
154
839
9
255
295
96
852
364
476
268
26
678
517
8
219
293
849
424
567
146
910
72
205
697
124
748
382
530
158
398
98
972
554
749
7
307
861
941
987
226
183
432
282
516
367
52
675
249
888
45
938
782
211
742
330
495
637
935
624
790
972
13
67
171
408
42
537
695
18
812
908
253
804
893
373
972
545
291
69
239
944
401
677
291
752
834
268
627
537
490
118
175
811
686
396
827
593
639
784
865
784
271
686
818
53
532
363
334
989
963
282
203
940
153
784
352
545
38
805
467
101
486
698
431
635
379
801
659
374
361
976
861
739
678
886
943
925
928
544
955
372
270
697
969
983
372
680
667
218
627
291
466
359
532
431
526
782
906
614
478
617
719
649
164
29
104
367
229
956
505
207
510
731
765
852
490
670
881
309
190
201
848
174
686
618
102
967
800
42
897
1
871
456
235
222
438
472
166
212
907
942
395
268
788
642
151
29
399
990
473
896
920
648
937
311
5
257
962
184
326
610
620
858
90
539
575
604
508
390
124
700
421
218
4
263
649
127
314
188
658
340
642
315
76
522
566
495
420
358
43
510
722
289
105
653
968
868
686
687
569
271
867
550
414
435
733
773
283
82
576
438
899
690
649
354
823
620
551
547
715
215
733
515
211
558
78
833
809
326
366
654
953
487
475
469
371
772
112
369
102
983
864
691
538
428
64
897
210
691
701
98
941
997
312
294
336
112
10
629
840
477
217
906
878
242
646
847
3
274
248
343
140
462
454
896
601
852
914
658
704
720
948
185
974
315
294
893
886
377
317
597
848
303
131
911
435
133
776
72
925
968
326
709
229
981
692
948
941
904
182
255
620
243
527
292
170
365
288
427
478
828
62
771
38
556
151
69
72
303
627
965
964
744
953
910
343
146
398
318
213
831
872
27
938
842
899
166
42
235
322
542
246
805
721
602
831
977
176
567
326
537
282
782
771
551
541
266
522
575
562
26
503
558
547
728
457
738
456
126
102
194
605
737
647
177
90
957
289
879
672
116
625
448
74
66
851
264
675
595
207
903
775
0
107
938
981
688
676
342
408
960
165
973
946
852
45
219
478
232
269
56
537
165
316
748
666
583
183
531
543
755
129
565
420
62
505
532
480
298
929
297
577
780
927
504
279
595
14
130
252
494
714
162
446
11
724
403
409
98
609
563
23
635
108
684
49
732
530
224
837
6
825
369
875
970
478
353
775
202
33
532
97
668
462
178
88
136
800
66
223
459
214
953
68
357
233
175
307
15
412
864
624
972
956
616
377
270
419
512
436
205
346
178
191
628
372
887
149
755
799
6
39
626
32
201
708
262
326
612
919
346
294
173
183
386
706
470
896
80
138
60
315
789
673
924
801
732
926
987
181
588
770
172
464
305
269
511
829
915
303
32
65
325
366
538
155
150
790
332
854
431
56
308
264
554
824
401
437
797
186
257
668
787
288
775
60
495
822
672
651
753
445
708
349
785
121
851
322
304
123
816
64
137
793
499
994
768
302
954
133
182
206
344
89
645
362
195
122
741
256
202
450
965
349
354
938
601
939
300
672
512
415
373
747
923
656
313
567
240
672
979
45
439
924
908
864
481
895
314
157
415
333
444
816
636
415
940
655
455
320
140
266
670
698
77
253
783
49
248
965
354
138
831
88
126
657
75
565
959
904
53
672
822
73
85
762
91
901
823
364
701
205
649
154
616
128
230
936
691
52
722
613
143
747
460
993
425
707
547
588
126
409
677
258
604
27
685
578
604
378
345
319
932
466
959
368
100
657
682
976
153
287
5
405
670
262
696
923
278
686
905
186
906
325
823
584
776
242
665
335
486
868
510
803
388
61
684
49
704
466
913
671
763
856
64
96
242
437
908
610
80
19
875
576
103
877
183
382
120
223
561
100
61
131
88
806
967
366
708
741
567
647
740
817
983
611
812
254
23
89
770
865
186
112
313
291
56
229
243
683
270
690
529
648
178
300
869
446
801
31
182
307
80
403
941
565
342
24
702
710
141
280
584
649
564
948
629
2
221
151
98
514
557
87
215
266
498
762
553
253
491
129
94
257
54
895
404
706
788
240
266
499
31
694
174
446
127
738
792
428
222
236
786
672
43
92
849
450
231
465
127
510
391
849
109
139
44
923
888
203
33
743
984
990
399
868
945
316
778
67
844
594
693
32
966
257
474
729
986
589
508
996
62
631
439
15
824
774
695
407
269
404
298
594
836
444
524
666
899
180
262
133
607
150
522
744
347
509
379
44
751
406
264
135
905
632
102
772
5
643
394
715
614
809
660
581
910
23
895
826
448
115
130
106
613
478
475
108
821
8
931
101
535
310
212
533
606
878
867
895
598
644
914
680
581
709
993
61
860
466
391
959
360
470
658
182
426
316
645
780
41
554
870
494
688
432
532
873
669
965
647
124
551
366
291
629
520
161
403
160
739
240
765
153
154
576
792
343
180
328
269
782
847
102
815
248
817
194
582
642
354
578
696
305
91
256
384
288
435
288
436
812
923
45
12
403
161
127
854
484
302
259
367
170
695
165
990
928
887
891
238
99
70
937
392
565
752
197
351
118
206
298
404
620
230
513
82
798
938
954
443
130
694
886
839
128
191
440
337
54
811
491
32
851
173
855
986
923
73
343
914
527
351
378
472
660
780
604
175
601
219
956
130
514
608
849
701
966
897
64
258
576
718
611
544
903
426
678
500
696
424
604
779
84
914
62
621
281
964
131
289
69
649
531
64
291
490
916
790
838
492
706
343
597
357
524
183
833
92
321
610
238
181
185
638
944
870
781
20
212
298
809
136
471
320
467
674
171
917
145
746
929
420
860
847
127
124
203
377
306
629
329
371
787
784
151
170
404
642
491
709
928
466
420
58
899
511
293
306
363
174
885
339
836
210
556
712
309
559
779
611
429
368
489
92
681
488
814
642
284
515
258
974
889
396
114
355
307
62
559
957
505
75
269
181
692
338
648
703
591
794
998
240
634
725
24
317
245
164
786
179
354
413
86
544
55
265
711
203
320
937
135
303
28
829
988
995
38
523
651
210
825
388
575
273
210
684
647
966
416
391
923
583
809
756
695
995
239
827
737
282
891
619
948
950
550
502
603
11
334
469
58
46
412
807
816
650
285
613
800
489
827
86
556
441
542
80
633
55
76
888
926
659
187
912
461
517
216
852
924
165
584
437
372
668
964
84
124
169
723
440
217
21
562
28
626
607
272
487
746
956
915
315
49
490
8
653
222
872
890
128
956
466
437
26
57
408
609
368
82
979
618
922
812
795
480
142
346
983
922
640
783
202
568
508
473
185
251
430
28
369
356
927
606
564
600
506
206
478
668
434
149
695
332
617
727
54
403
103
357
181
117
399
213
484
521
636
107
641
104
932
375
979
935
513
966
594
467
446
247
75
385
735
766
83
223
772
909
410
104
61
772
775
617
377
858
373
42
687
920
256
75
228
250
361
76
608
850
541
145
853
725
750
760
654
307
587
964
613
197
69
878
280
438
443
499
148
560
888
600
24
294
941
639
28
547
264
213
457
673
746
874
349
441
682
509
977
998
357
863
475
51
907
203
254
630
145
363
574
214
593
729
965
287
472
570
924
360
214
885
861
224
654
103
975
682
552
985
289
585
272
654
670
797
831
544
673
954
374
829
242
870
38
177
679
506
74
863
404
375
299
481
137
11
446
699
685
984
728
241
746
420
910
677
942
179
849
79
199
279
954
539
639
940
285
632
836
886
39
187
542
244
252
934
723
255
431
427
365
194
617
496
754
479
562
633
83
135
662
713
651
284
876
269
557
146
756
161
269
9
630
500
628
275
185
701
717
886
875
493
355
137
599
455
845
735
388
104
909
682
896
894
185
174
176
416
217
716
606
624
44
449
731
646
394
760
760
879
344
690
342
21
37
154
178
54
720
655
355
259
544
760
64
331
917
24
870
732
148
388
407
74
392
55
835
529
385
289
441
20
585
131
125
837
534
841
885
986
362
244
987
196
862
871
539
513
340
94
42
841
105
598
302
899
344
603
106
184
677
166
429
859
690
300
692
422
172
655
505
887
442
981
146
224
286
891
550
580
694
442
201
404
971
734
646
169
187
894
150
24
684
459
740
828
314
439
327
359
443
335
976
548
844
679
410
113
796
525
321
53
816
433
217
874
798
494
706
130
84
435
793
786
46
469
474
214
453
748
217
314
454
476
324
540
947
449
832
415
80
998
329
89
661
627
379
184
136
99
160
401
324
803
983
570
457
968
34
959
547
885
965
273
109
728
299
638
187
940
109
206
543
673
295
50
803
391
862
233
951
783
614
659
134
224
13
361
983
948
767
238
172
579
493
642
58
491
790
165
743
341
252
708
65
985
713
488
627
476
979
223
697
559
742
630
219
177
20
554
929
2
439
222
113
58
737
940
823
265
749
577
633
382
950
466
785
206
55
845
522
507
100
82
778
255
751
707
877
398
148
47
944
314
773
231
918
499
910
400
759
481
834
332
364
48
849
325
996
438
304
289
840
813
727
845
366
579
25
538
904
489
606
865
386
577
389
105
675
18
989
133
225
180
922
189
787
127
375
643
656
152
118
668
279
570
282
610
444
337
85
625
857
579
825
393
243
515
804
778
288
316
788
376
357
954
189
332
38
366
445
505
225
593
356
299
993
881
372
478
328
318
872
811
242
810
623
673
144
257
853
194
691
114
867
456
358
467
881
460
307
247
961
418
348
107
537
313
959
560
733
736
154
868
923
860
103
528
74
431
451
419
641
287
107
985
289
282
124
56
628
79
778
624
262
786
580
834
864
873
439
292
575
733
975
903
736
788
385
574
604
490
105
911
319
331
526
624
196
187
113
71
31
264
169
454
287
416
272
446
665
883
88
154
761
615
331
442
859
789
484
915
379
256
910
184
7
44
69
951
837
906
143
709
841
769
992
210
329
651
672
362
143
376
31
6
671
575
792
9
312
227
193
239
144
306
548
883
835
465
926
842
509
271
256
768
644
734
250
879
625
979
32
394
722
692
335
779
568
254
728
149
448
918
424
202
951
923
721
851
68
134
181
481
157
949
558
683
941
478
660
688
746
217
815
437
692
312
758
285
458
761
657
241
849
480
871
740
767
714
95
982
707
763
613
936
132
742
116
373
698
50
239
797
885
811
196
770
583
100
240
591
691
314
76
337
592
345
765
496
423
385
472
342
83
973
263
991
182
48
972
948
648
418
939
92
2
436
718
310
393
110
144
312
149
408
741
839
306
294
450
658
882
961
254
635
939
681
884
745
440
503
137
175
944
867
104
807
855
385
601
95
421
570
975
749
636
165
686
822
920
538
671
383
775
605
23
159
890
164
796
138
677
503
657
447
125
135
562
331
630
734
124
644
443
25
760
993
803
712
369
463
156
978
364
61
188
25
252
717
654
85
394
544
126
876
932
442
391
283
928
837
324
545
658
151
461
665
988
74
585
262
915
405
432
211
747
361
525
335
659
532
70
246
408
757
579
263
164
671
380
332
226
824
407
844
478
141
487
55
838
144
883
648
409
204
626
913
721
279
172
681
298
480
615
648
262
251
311
958
390
130
270
435
918
650
383
664
258
144
974
900
656
77
919
561
230
459
730
906
510
450
493
23
723
703
411
231
455
380
313
350
591
279
155
430
831
380
873
291
721
181
485
56
778
480
125
490
384
316
92
151
737
506
950
748
894
224
35
867
871
265
236
494
425
582
241
841
145
399
930
413
61
134
380
352
208
489
196
688
673
202
225
412
13
683
899
831
964
44
676
21
948
121
918
584
814
978
65
894
682
272
715
589
558
400
925
820
215
150
607
939
214
897
327
391
974
910
590
488
343
9
648
767
466
400
401
660
299
222
775
755
447
252
913
710
442
964
272
239
688
55
61
278
684
854
382
806
293
472
610
61
758
731
746
747
152
653
138
481
826
125
835
59
829
730
353
830
342
219
285
856
995
831
872
440
270
718
462
18
208
789
149
179
877
298
53
430
790
669
80
363
249
747
104
260
116
230
225
737
296
247
72
992
465
772
56
822
522
35
922
6
828
330
430
908
569
228
166
617
111
82
343
436
966
641
788
499
312
16
536
697
685
635
131
40
956
421
504
578
513
106
699
595
952
774
704
9
116
934
984
587
546
242
108
620
247
475
268
237
666
212
960
761
98
485
231
262
100
538
619
723
912
95
930
830
674
937
80
661
379
69
247
679
608
21
853
270
930
491
617
214
281
478
64
63
499
890
798
588
461
947
254
728
75
902
387
217
130
50
188
843
364
665
983
211
520
226
109
396
189
963
782
655
358
621
694
268
365
336
488
702
884
603
600
19
698
501
176
736
315
597
649
859
650
115
170
691
727
578
884
835
760
330
92
789
894
709
361
89
218
296
228
841
922
866
175
380
735
205
875
1
773
299
967
638
896
538
48
829
151
455
656
31
121
296
67
31
163
47
411
894
784
936
871
920
51
169
246
377
171
341
687
303
811
120
90
708
295
759
202
531
998
931
962
997
185
844
234
782
355
126
568
457
223
252
517
859
212
892
424
103
582
356
497
366
46
685
412
373
399
843
256
150
361
352
966
755
461
100
604
75
195
142
390
278
562
150
683
322
3
637
706
305
653
580
523
243
3
274
766
854
344
930
660
230
954
142
518
722
884
387
459
818
774
544
18
263
416
525
379
10
881
129
752
856
170
637
712
370
139
907
808
365
796
92
241
704
753
40
875
832
23
304
432
281
350
822
919
217
678
746
453
760
651
283
863
516
226
917
285
185
490
269
131
554
411
394
454
203
603
988
936
624
602
296
15
38
979
761
224
534
245
387
288
740
137
160
318
535
576
770
218
22
10
681
340
899
525
962
677
727
735
277
153
251
172
144
77
978
739
303
294
366
303
846
904
871
653
265
956
919
911
180
151
510
177
151
724
270
340
565
98
658
735
824
139
904
736
98
822
384
705
229
357
859
367
257
227
657
359
609
568
223
507
70
1
290
94
81
28
537
759
298
823
605
906
512
79
748
572
844
13
1
423
338
425
986
487
802
325
983
11
850
327
105
445
399
318
637
363
439
460
277
822
990
30
465
130
809
871
851
234
872
206
293
827
511
991
312
398
918
190
481
490
112
658
709
976
595
381
694
490
733
384
523
847
705
432
160
79
222
527
42
109
505
665
423
654
130
907
963
594
55
650
704
110
336
349
590
895
53
812
510
808
295
549
13
473
658
990
485
174
995
253
491
633
466
326
315
481
60
390
503
537
133
551
332
520
175
11
427
472
252
335
645
972
163
568
289
230
201
869
489
447
658
757
60
494
581
251
368
947
845
292
946
444
467
183
316
174
599
402
970
959
295
30
321
669
935
561
440
693
966
314
512
657
188
907
722
139
539
800
617
973
844
926
65
766
471
353
44
981
297
261
506
704
257
899
774
722
254
800
243
643
506
745
227
894
721
41
559
219
104
586
64
776
923
120
76
377
926
602
537
153
72
617
393
9
641
395
266
490
794
953
761
342
258
217
376
706
703
522
478
565
342
81
601
602
246
401
289
260
451
542
564
47
229
828
954
136
980
797
451
542
728
907
232
717
287
972
263
634
671
764
567
210
313
349
190
38
737
412
231
537
887
922
48
313
643
943
577
319
408
754
485
71
52
861
81
562
129
179
372
776
676
837
187
153
539
388
455
421
328
708
896
284
72
229
945
259
757
370
713
646
403
283
308
961
331
525
308
308
128
774
329
542
780
230
982
129
777
145
165
580
444
179
822
535
459
420
611
164
442
386
453
139
612
397
8
966
343
898
715
907
585
675
433
893
984
279
241
28
4
274
423
794
557
452
420
825
878
730
938
234
175
388
815
535
711
177
146
641
639
961
767
247
585
81
451
121
256
670
416
327
695
901
617
517
891
23
611
834
601
914
453
446
202
554
664
46
390
885
271
163
435
789
217
310
270
974
88
225
810
489
591
534
772
470
269
169
981
689
824
611
398
47
878
255
337
938
478
583
559
438
806
724
975
69
901
616
375
306
197
794
170
298
601
222
184
711
93
972
255
322
738
904
36
127
756
537
625
103
628
35
302
416
11
948
96
639
65
262
850
290
257
412
50
375
695
374
505
990
995
539
994
938
443
904
280
313
216
90
209
213
170
761
250
260
213
624
671
925
3
563
939
106
146
576
786
583
597
26
943
379
49
390
287
193
295
230
898
989
708
515
611
984
49
865
877
532
650
247
815
449
701
717
332
84
866
140
609
283
70
821
426
920
228
660
883
669
874
397
204
987
85
233
410
955
324
591
490
29
591
268
388
479
101
486
457
644
519
93
281
119
762
932
297
621
41
746
243
470
468
746
134
13
994
526
319
805
34
115
489
962
117
403
891
894
730
521
244
300
717
741
181
462
761
367
390
280
801
231
262
394
884
364
703
84
685
356
516
813
947
531
887
331
663
400
665
719
793
830
492
775
353
829
429
536
306
295
584
210
195
711
620
227
337
9
160
731
652
39
969
809
794
414
73
783
423
361
425
344
396
823
227
912
632
928
875
132
671
635
988
130
133
565
936
595
791
768
302
365
228
633
968
421
352
828
818
735
309
318
410
831
431
274
313
80
212
707
737
439
657
17
344
766
450
276
984
325
673
264
439
546
976
260
181
303
393
526
869
591
160
904
414
144
773
813
186
977
149
952
777
643
860
524
31
268
223
701
149
742
794
955
600
703
41
516
414
489
318
221
423
558
32
958
402
755
945
750
524
296
285
149
730
859
567
694
699
615
325
711
740
534
643
493
697
764
838
505
866
22
441
335
276
485
214
698
494
849
478
662
124
728
696
784
903
395
730
596
134
586
25
778
607
641
734
564
376
485
343
965
975
804
10
603
886
612
821
528
511
444
679
817
633
296
608
886
681
756
601
286
38
459
826
75
897
149
408
912
619
454
207
303
204
895
433
871
375
763
23
211
552
346
801
633
294
829
687
783
327
548
228
145
4
770
812
783
406
495
791
302
583
386
921
395
296
603
509
782
109
405
618
669
80
637
667
456
77
483
169
430
753
379
834
402
678
542
545
620
448
561
681
824
800
843
532
579
526
180
74
361
931
924
426
551
47
657
555
769
720
299
544
14
81
925
693
980
92
124
338
729
271
754
669
586
795
411
328
924
661
164
909
111
428
727
768
880
155
401
430
70
734
525
746
95
221
393
586
751
934
969
747
934
475
780
495
492
732
694
897
274
294
220
444
548
430
144
473
791
487
128
550
867
935
330
910
916
476
222
632
631
529
118
399
65
973
713
946
666
6
501
440
631
623
217
500
310
781
734
390
717
965
867
704
878
238
666
743
160
271
832
338
74
126
561
783
297
394
152
773
792
42
569
637
345
833
149
665
345
153
655
760
602
264
103
16
333
130
236
395
189
671
747
217
539
304
261
810
877
14
244
931
832
593
412
705
453
235
320
584
908
496
733
86
730
650
603
256
429
476
176
310
381
582
201
326
950
156
584
654
795
700
311
973
522
845
903
100
750
367
850
370
805
694
844
935
340
69
252
44
719
285
434
859
788
644
407
704
124
611
798
898
817
243
656
337
743
88
262
5
943
317
559
333
374
838
803
651
621
989
621
71
765
16
746
387
47
322
594
147
590
494
216
572
251
937
351
257
483
655
107
424
199
109
596
355
967
871
1
621
523
776
653
811
138
857
818
558
73
294
693
413
321
849
92
260
871
70
3
567
698
991
574
873
853
467
428
96
302
669
714
505
577
943
403
194
844
585
193
678
315
490
953
969
451
113
399
321
967
49
778
55
757
521
593
345
940
480
312
244
132
310
581
109
381
710
189
759
536
624
262
150
330
343
681
169
353
216
909
700
733
617
151
133
94
905
824
907
822
446
952
153
700
166
594
203
457
494
839
288
350
108
334
739
150
698
892
619
205
986
556
440
79
723
213
973
698
347
442
885
999
416
264
441
803
254
598
930
117
718
418
298
135
658
219
196
124
212
581
303
137
716
654
922
282
553
8
986
264
72
152
842
983
853
947
968
316
723
912
536
427
625
268
105
304
801
839
183
447
857
208
703
87
31
519
574
78
259
994
472
299
31
514
708
389
979
789
524
257
237
406
571
326
388
887
926
125
695
999
145
142
708
338
735
871
578
84
291
272
639
466
399
22
633
831
87
316
823
773
267
617
217
990
800
922
513
990
734
534
717
909
693
343
6
176
73
116
879
359
202
583
885
500
481
271
55
335
132
733
875
391
497
993
487
914
587
536
351
359
447
807
727
126
894
597
810
744
728
403
691
333
643
354
623
803
983
31
202
702
209
973
677
390
521
720
35
379
510
114
751
144
652
906
492
783
91
691
53
787
119
768
816
907
582
287
676
872
890
290
913
187
963
520
404
122
938
939
947
289
428
349
743
514
423
871
883
480
876
854
120
298
272
328
300
409
29
643
677
646
128
381
593
139
939
345
714
984
160
203
379
848
545
297
659
875
366
842
669
246
827
471
104
166
138
165
941
900
452
267
819
85
799
85
734
283
894
540
434
38
884
591
896
250
403
343
640
34
658
72
832
367
817
819
430
650
504
550
70
733
820
61
949
350
64
935
105
422
38
438
786
946
153
361
869
425
200
202
652
745
190
567
117
452
653
665
375
317
649
487
35
962
257
738
54
870
795
565
172
189
514
243
63
800
740
619
626
707
853
15
185
96
638
735
647
342
269
757
314
44
455
387
792
519
257
690
264
216
218
144
469
721
808
207
31
813
456
343
723
30
898
485
618
56
955
924
936
916
109
108
803
272
156
12
743
719
804
97
456
119
62
487
562
454
482
96
576
856
581
245
681
942
978
725
784
573
483
549
298
653
895
301
335
220
644
728
780
215
211
789
524
10
828
755
711
258
41
954
131
641
795
842
830
291
176
757
878
231
982
119
578
894
551
475
649
269
706
991
919
855
896
830
740
73
308
147
644
562
947
537
35
899
583
702
965
923
233
160
100
945
931
223
459
394
220
831
816
273
252
994
615
389
235
284
943
793
45
707
194
434
152
912
464
951
571
510
401
407
258
231
982
560
171
819
713
436
276
203
199
440
809
672
717
446
862
87
439
533
232
800
705
874
268
525
410
836
392
851
538
608
363
953
907
107
407
628
308
927
415
467
535
315
428
144
257
455
84
784
951
697
294
366
443
385
687
538
696
823
250
206
150
357
994
103
69
534
322
762
649
343
451
562
700
435
866
840
59
294
763
244
26
298
716
174
339
515
783
520
700
164
81
449
16
474
321
650
931
258
378
738
823
761
587
369
243
149
167
63
477
828
758
71
426
970
694
367
619
92
675
824
569
249
814
916
109
697
41
781
333
576
482
655
909
325
3
564
332
227
410
612
119
228
417
793
591
734
185
874
612
384
878
655
973
245
399
103
598
318
869
778
288
141
347
351
957
358
29
730
66
70
949
690
261
485
457
129
759
152
191
519
298
442
727
787
868
577
793
931
496
204
962
341
1
397
308
790
988
479
254
288
427
735
747
932
225
747
169
311
313
234
207
972
378
93
739
321
658
960
875
779
26
660
875
843
784
223
496
666
716
52
237
925
312
270
320
534
742
843
932
631
889
110
970
762
596
3
243
845
672
925
409
100
639
351
877
496
782
69
562
432
144
164
895
617
566
698
744
745
248
317
203
488
922
931
806
847
973
550
390
210
811
178
834
671
831
248
953
700
736
234
767
809
503
808
641
583
154
783
57
356
1
645
357
756
222
872
405
702
772
272
745
813
235
141
665
70
296
445
670
627
767
192
521
638
710
333
190
381
486
71
378
175
778
634
50
544
50
755
698
571
566
356
128
773
863
35
970
68
911
998
672
841
633
175
151
597
780
647
868
253
764
259
170
938
347
626
204
647
262
211
789
567
473
742
952
923
355
306
748
521
754
230
738
721
336
248
13
343
414
201
120
821
576
792
990
937
68
472
944
811
285
255
330
685
781
111
607
899
989
428
731
207
417
641
25
147
291
935
993
325
528
408
690
291
888
169
522
60
449
702
377
660
22
66
52
352
116
375
30
209
967
994
119
298
592
267
112
786
588
794
217
764
894
994
754
446
606
66
387
861
577
662
164
857
963
931
886
987
167
764
641
59
146
757
134
389
829
672
639
988
769
393
733
365
421
955
921
271
80
224
960
703
561
99
412
935
45
265
527
309
495
34
702
844
248
492
236
978
543
259
132
984
646
713
535
220
326
944
620
119
765
812
104
799
473
927
622
754
8
77
810
363
731
422
702
908
972
339
730
268
682
881
557
542
179
578
955
614
457
347
527
519
375
1
151
913
274
946
400
258
221
424
79
308
321
809
56
743
558
497
528
651
989
819
950
785
588
621
221
707
253
95
671
565
54
230
253
129
826
40
95
341
938
247
774
438
269
495
633
874
249
362
186
821
424
58
622
682
243
94
273
433
406
941
954
262
30
496
111
425
463
51
465
186
133
597
820
25
934
253
163
553
906
116
926
503
248
108
364
763
368
912
892
732
162
621
881
177
835
414
755
473
934
362
310
722
542
625
998
189
714
236
212
31
760
515
728
906
974
682
185
95
633
152
466
81
83
530
119
555
557
310
22
49
614
544
117
788
91
130
877
408
842
573
0
829
704
411
875
75
964
350
877
95
695
562
379
502
316
259
320
914
685
752
646
761
671
378
388
97
14
42
324
994
494
532
527
535
151
810
376
763
956
695
735
259
467
971
659
682
57
793
140
115
791
516
26
288
953
773
869
191
910
895
807
372
716
258
887
386
647
876
464
544
543
446
845
665
680
471
925
808
643
961
381
383
250
335
928
838
89
112
211
5
502
125
650
214
366
714
550
834
578
181
197
109
62
230
898
560
631
767
67
894
501
415
37
793
3
211
943
346
897
397
585
577
65
889
594
29
215
475
561
15
168
881
982
754
305
945
744
269
491
714
429
988
696
664
141
445
234
941
850
668
991
405
115
814
385
596
733
733
758
385
85
466
316
587
166
396
681
604
986
559
514
862
556
279
663
639
858
868
459
623
350
223
892
671
891
101
637
568
640
873
623
595
950
46
87
797
629
303
545
548
701
803
733
99
435
781
803
10
425
203
256
76
444
396
499
957
57
448
66
158
513
994
533
817
709
249
641
947
359
546
432
16
171
971
47
121
130
963
766
6
56
311
971
914
237
695
752
200
281
10
253
615
908
239
394
882
226
101
788
998
192
338
883
87
300
47
56
242
865
180
872
894
312
949
207
963
926
435
142
838
931
72
852
702
994
231
850
154
567
859
267
61
155
468
94
506
909
660
129
159
917
163
76
10
869
637
647
148
452
610
69
755
148
265
901
344
281
515
842
511
339
323
11
91
174
121
337
477
399
153
523
123
444
239
76
315
275
686
843
350
373
437
438
830
319
256
174
974
577
241
572
226
45
894
515
770
465
654
531
75
438
297
541
321
812
618
332
809
702
764
305
480
973
519
675
621
561
536
34
463
50
322
888
382
954
21
25
566
425
362
74
789
703
987
388
819
310
123
391
313
366
113
121
712
388
16
404
996
416
580
802
670
951
712
663
804
488
729
518
603
90
336
719
633
953
823
804
376
540
128
837
262
525
228
752
702
170
642
545
776
172
530
856
235
514
449
677
702
914
853
300
702
626
61
947
864
185
507
723
236
562
436
112
65
108
927
313
564
858
27
78
721
608
599
685
705
832
399
980
537
7
240
556
632
807
350
811
137
767
721
540
300
668
100
227
146
771
208
4
215
924
492
875
15
808
872
562
851
201
5
845
480
597
924
934
429
987
375
695
188
389
422
191
573
840
717
712
523
265
678
887
490
46
934
661
860
330
779
158
191
408
295
948
895
405
825
605
824
932
182
392
632
643
538
752
183
994
754
394
98
88
935
770
787
723
358
70
780
787
142
64
43
92
997
840
580
235
820
70
435
286
960
774
359
815
162
299
753
995
261
584
752
229
219
272
942
390
540
882
782
842
485
580
206
503
42
59
143
58
726
970
388
426
875
175
408
222
891
959
849
989
879
421
855
873
588
562
844
419
862
969
704
218
754
133
644
39
335
333
38
557
595
741
658
129
914
2
336
263
662
237
180
930
9
265
167
508
131
254
596
783
841
573
620
930
226
286
227
226
140
987
297
156
773
951
762
93
592
412
260
125
843
50
315
974
771
189
828
386
707
834
159
430
375
981
796
801
469
954
296
441
183
710
468
719
48
633
496
174
578
599
27
151
972
33
230
793
176
454
746
855
590
545
71
585
342
357
791
315
359
365
792
968
703
452
168
264
387
639
317
646
353
861
488
995
674
914
300
816
728
985
28
520
159
924
578
490
359
446
830
152
649
198
318
549
390
757
940
341
266
632
970
285
317
259
840
572
334
64
709
356
234
662
547
444
189
998
862
391
960
99
869
660
702
115
968
473
293
932
990
238
844
61
74
806
722
299
297
302
787
486
156
602
603
432
263
767
994
895
93
143
164
575
676
939
487
229
303
948
625
212
274
939
505
798
301
152
994
42
258
926
871
229
236
344
695
1
305
413
272
690
654
676
588
813
927
417
774
546
92
795
176
562
472
261
903
292
894
164
425
996
29
600
909
99
51
390
154
17
908
306
831
319
290
188
705
532
404
687
178
65
163
851
733
770
70
443
153
216
603
284
538
159
14
75
340
435
923
856
868
640
820
892
843
853
899
813
583
162
967
295
486
392
522
542
815
924
425
969
983
699
296
524
656
417
538
461
872
854
422
634
15
731
349
323
262
936
120
75
575
597
695
605
794
993
701
241
219
949
305
799
119
646
405
509
669
327
89
625
256
354
140
276
138
692
267
138
363
564
247
940
305
874
915
344
349
420
933
405
974
47
943
942
392
475
859
606
213
307
676
611
788
49
563
210
343
633
927
392
944
268
272
496
887
443
319
57
867
250
127
476
339
683
625
538
395
135
489
906
543
268
698
325
223
220
377
66
573
872
401
651
520
883
37
291
636
919
682
16
186
23
680
292
666
535
930
481
62
95
194
119
606
429
649
407
549
590
931
455
467
960
594
458
260
799
341
698
673
581
569
592
259
501
153
531
355
649
408
824
905
27
909
139
291
631
420
789
764
67
461
467
423
477
962
175
406
637
845
408
758
505
159
927
432
167
217
923
82
558
488
105
719
714
421
723
984
443
204
799
285
422
825
595
105
585
86
679
742
114
805
313
2
65
989
229
423
743
302
608
352
715
57
374
391
573
466
60
960
704
264
686
911
482
108
527
619
247
754
548
950
453
587
722
127
407
9
273
979
567
628
238
309
269
416
588
374
715
350
163
46
739
905
362
393
232
258
735
304
991
984
426
368
766
236
833
569
549
85
287
383
677
448
934
424
762
630
217
870
942
898
527
667
119
789
454
283
240
658
450
632
579
154
436
668
557
812
28
712
676
914
726
811
702
731
975
207
990
520
945
545
43
194
61
910
987
266
956
845
302
933
649
363
337
132
405
516
872
239
991
51
13
730
427
868
10
260
154
665
794
571
984
279
780
207
541
918
969
444
122
972
60
309
730
184
312
527
709
476
807
638
248
563
656
860
70
755
286
889
867
846
584
606
231
615
727
643
210
135
555
790
813
147
334
865
175
693
856
869
542
232
246
708
824
994
522
859
516
71
956
959
528
907
194
209
153
384
519
417
961
177
67
636
320
35
355
899
564
482
324
588
741
579
625
241
481
525
290
754
895
8
535
58
314
743
610
461
546
916
157
792
712
143
644
29
470
333
763
685
820
182
54
358
284
966
440
960
995
526
898
824
544
809
766
301
571
853
880
248
997
502
589
645
575
221
450
152
230
826
260
806
817
399
233
223
984
608
937
874
962
877
544
670
720
651
932
526
440
267
548
621
15
838
528
883
1
983
266
166
903
905
172
249
510
392
276
918
411
454
851
423
250
42
871
270
828
166
342
814
930
785
524
334
178
264
956
967
866
685
513
681
396
761
641
873
864
553
33
805
609
447
488
64
0
600
733
529
352
281
517
235
45
490
424
298
116
727
423
88
573
66
194
12
232
113
490
604
910
393
44
768
82
380
324
679
162
64
239
420
685
735
135
253
386
79
509
475
623
215
454
874
757
538
126
118
766
772
746
229
88
692
842
556
526
974
724
926
155
319
866
61
836
766
443
672
278
387
656
337
645
563
506
843
199
803
860
882
666
113
936
570
347
924
99
24
350
668
103
369
632
179
861
191
45
460
368
481
169
300
398
38
511
189
569
859
391
825
863
677
309
798
320
721
712
997
887
702
649
182
879
679
42
834
423
474
952
550
2
689
16
639
632
691
872
275
575
950
420
552
960
596
487
85
593
116
112
180
239
883
342
984
942
405
665
739
597
703
433
965
821
330
571
640
388
162
997
901
862
649
43
838
719
675
910
756
124
259
335
638
53
331
418
681
727
490
187
761
699
438
606
977
981
197
819
973
300
82
293
126
196
321
517
178
83
341
858
605
404
663
744
245
369
24
111
564
772
296
941
310
997
367
934
148
775
507
752
363
474
377
743
840
800
374
288
622
712
987
148
288
149
105
716
281
72
981
682
612
161
35
33
842
65
887
346
114
219
344
633
206
230
738
972
600
207
135
190
155
934
429
8
958
195
941
201
372
389
121
558
544
482
304
352
572
656
76
591
697
472
127
349
57
797
757
262
844
743
527
210
821
96
379
337
896
726
670
485
644
952
36
545
801
249
487
451
958
84
232
62
637
783
423
951
250
293
629
786
590
255
214
110
984
792
749
100
797
250
433
873
166
164
184
288
752
43
301
297
437
368
128
926
617
16
441
352
499
658
782
621
262
741
11
289
791
812
458
944
84
494
298
97
334
952
183
568
499
680
372
667
396
270
18
461
392
124
36
4
569
294
40
772
751
162
179
559
955
844
782
901
897
104
351
527
579
349
559
270
673
280
962
554
101
820
801
698
724
33
195
605
320
790
357
570
419
242
865
398
878
91
732
388
500
177
936
734
191
665
307
576
140
825
480
811
226
942
939
59
964
759
115
35
900
813
733
443
640
979
216
234
970
655
932
242
911
36
473
628
912
845
362
982
928
65
13
481
410
724
762
94
953
236
42
352
686
507
793
438
291
777
217
891
279
631
349
883
177
131
322
101
539
858
917
194
545
451
796
874
526
644
794
638
481
554
469
561
957
656
632
402
534
284
504
1
886
906
466
642
912
5
818
454
202
128
252
770
189
200
347
659
376
150
765
891
560
483
586
737
790
578
981
199
46
271
516
502
720
556
639
578
209
921
72
698
182
568
95
859
821
211
148
408
536
77
950
578
543
896
758
933
970
291
639
859
903
186
488
564
629
913
774
569
403
764
149
74
150
285
343
375
271
986
210
529
236
871
669
369
843
301
755
588
478
882
879
981
145
475
49
732
237
805
523
818
527
823
4
717
771
207
194
88
58
26
55
311
252
418
139
487
170
649
446
862
437
293
716
785
788
96
166
743
400
72
94
70
855
179
244
295
807
995
225
667
543
15
845
935
843
542
936
64
260
61
99
483
201
843
998
761
664
979
704
367
694
10
109
505
714
41
379
849
329
894
851
321
745
130
558
192
709
138
972
94
227
159
222
108
246
823
785
269
742
373
952
620
506
582
53
136
307
599
581
484
377
627
766
319
88
739
185
224
119
511
866
766
739
832
771
7
302
327
148
387
461
482
126
243
901
994
830
540
956
378
451
302
618
656
762
608
385
658
394
397
342
66
114
167
255
62
409
119
91
605
838
255
586
139
63
693
362
525
981
842
693
491
659
238
578
867
389
852
240
945
590
92
275
520
745
966
923
215
944
993
730
211
586
789
263
798
151
643
854
473
741
331
503
219
594
535
694
651
895
817
613
932
533
681
747
997
116
223
108
214
537
118
144
377
530
914
163
80
477
246
442
158
280
978
879
418
183
361
311
628
692
698
778
663
225
29
215
667
238
71
547
420
498
728
675
814
79
56
360
615
544
289
788
631
80
682
604
865
275
928
202
893
964
350
24
427
558
852
506
611
158
803
346
778
650
646
148
616
680
50
577
594
485
578
317
101
473
436
569
946
308
102
653
762
93
382
357
987
627
100
673
569
662
680
503
167
237
414
616
274
851
111
823
505
927
458
813
382
7
532
559
875
995
779
810
449
36
110
506
338
781
808
60
612
35
46
650
818
716
133
123
951
432
491
826
426
606
676
184
110
382
963
903
258
721
730
831
171
746
274
851
580
376
782
452
235
514
319
2
72
20
44
496
174
907
842
70
948
308
127
635
467
267
52
105
81
15
949
442
80
769
266
747
151
360
882
738
30
256
395
333
994
42
125
590
829
884
45
22
998
31
780
338
310
27
980
336
105
405
29
463
982
7
574
897
795
760
234
889
618
518
895
851
23
739
287
47
823
63
705
569
359
480
1
552
737
176
798
826
607
532
80
873
127
305
800
120
488
947
368
445
284
497
406
860
367
716
93
303
444
729
972
686
667
480
453
969
267
10
170
336
558
232
84
503
139
383
969
29
9
945
776
498
250
635
755
203
495
686
284
685
107
514
318
660
916
571
942
420
69
590
98
993
895
842
516
946
473
58
880
398
53
600
288
683
731
284
541
912
149
541
490
898
194
318
304
900
592
153
16
580
361
48
394
115
796
684
22
130
838
645
882
843
741
954
98
704
541
264
478
783
63
582
202
373
367
952
404
505
602
372
713
967
411
831
636
942
840
473
439
975
147
202
209
651
989
356
549
12
68
533
104
655
866
450
30
84
243
940
71
579
543
724
972
448
278
269
46
623
197
598
776
454
210
594
164
870
880
912
949
960
606
41
889
67
902
159
698
804
118
620
37
159
18
930
758
983
658
778
753
686
596
536
94
570
474
351
292
929
643
945
988
291
991
81
963
144
452
336
484
983
235
506
165
516
817
691
403
410
216
187
25
771
306
82
249
370
310
532
621
231
952
159
647
607
891
724
801
313
88
491
538
354
254
819
904
785
711
707
507
227
585
235
517
331
9
621
659
335
874
760
576
367
771
92
985
585
547
521
631
838
66
331
301
246
786
689
476
182
104
108
466
106
905
406
326
974
2
778
431
0
473
973
420
22
75
230
322
146
80
960
64
617
81
61
457
141
482
808
816
430
99
860
61
878
73
554
31
69
750
592
242
738
143
124
993
405
516
644
714
707
129
573
943
250
915
322
520
349
527
677
584
227
752
387
417
403
657
197
795
661
578
323
695
169
1
741
863
3
752
902
411
840
340
933
695
970
28
464
44
227
53
586
709
162
820
261
270
861
903
291
922
741
722
742
432
416
185
902
876
709
498
42
141
806
622
981
229
107
292
869
301
659
961
869
682
225
386
396
251
982
707
821
761
21
482
853
302
245
806
917
38
621
726
717
310
121
760
287
73
8
293
768
24
384
125
651
162
396
356
706
29
190
548
195
575
912
478
59
670
40
167
119
802
131
251
857
965
924
994
714
448
645
829
861
888
452
164
725
929
489
124
380
940
399
654
221
120
607
634
2
559
74
670
472
876
352
644
960
230
648
107
78
405
390
149
934
678
71
112
70
258
664
210
815
246
612
378
147
722
16
432
123
258
57
376
135
565
625
257
955
68
760
135
576
95
532
294
862
4
269
18
799
454
823
153
936
881
239
620
741
144
718
931
543
926
857
852
664
240
153
455
390
921
254
844
335
838
900
168
178
837
88
281
669
772
701
549
299
989
923
405
357
10
885
782
497
132
166
125
360
607
671
862
611
919
384
928
539
608
772
563
739
846
42
608
703
852
647
420
428
371
301
837
571
263
44
910
582
961
956
865
557
657
677
997
410
44
743
352
298
359
847
542
188
894
655
390
455
518
385
927
397
487
256
445
2
548
921
540
847
464
792
810
560
732
996
805
48
128
494
55
716
78
310
886
267
298
626
536
554
614
35
956
45
453
385
200
61
60
431
109
956
909
500
732
839
341
557
520
270
49
408
313
339
122
701
9
126
691
384
239
844
542
879
732
788
48
459
988
98
970
224
557
380
335
368
268
955
391
687
430
970
372
345
136
22
330
726
425
701
609
536
553
657
10
47
136
139
915
10
416
375
884
889
716
217
367
537
577
41
141
472
119
20
897
693
568
708
745
873
729
623
976
178
639
907
329
424
528
577
88
871
950
842
3
218
461
477
576
110
263
443
111
563
586
478
363
713
727
922
405
112
615
696
656
562
691
105
496
901
588
471
20
36
942
844
924
581
384
25
707
448
904
261
197
172
515
956
736
680
761
764
357
504
395
564
645
158
396
73
240
483
236
92
116
255
410
891
490
249
284
857
914
19
488
15
880
410
6
594
139
822
220
229
77
234
22
182
684
146
110
964
85
205
244
733
160
244
84
584
187
56
404
162
767
533
816
588
719
630
144
776
99
344
188
509
343
501
776
408
0
923
816
508
92
924
78
715
76
9
428
542
87
339
119
834
465
445
444
987
297
794
726
682
303
789
470
932
885
17
924
858
412
406
244
449
794
712
500
19
386
917
320
621
932
642
931
696
68
195
24
22
535
682
911
12
456
503
440
333
184
760
543
450
313
43
585
739
114
157
88
639
295
167
965
97
493
636
809
667
983
498
251
295
298
520
627
810
893
304
613
289
206
576
165
260
788
705
120
960
68
760
40
891
675
267
191
263
38
797
679
321
286
724
595
307
514
395
95
580
825
433
637
995
924
425
592
577
135
654
666
250
140
584
11
527
485
502
629
122
521
884
113
926
344
354
194
676
737
883
967
99
996
278
417
592
828
490
436
80
507
688
523
58
170
343
790
710
840
238
415
170
633
877
990
466
545
510
751
620
491
723
175
953
265
820
99
243
878
793
290
841
199
343
816
836
394
638
865
451
505
761
656
83
243
31
2
79
938
173
561
938
181
43
559
42
943
23
94
52
188
798
470
312
903
991
175
730
999
94
190
318
345
435
438
317
391
805
94
650
438
522
72
694
998
727
801
916
737
946
371
128
897
834
396
910
982
456
847
111
547
757
656
949
626
511
786
864
937
996
328
463
565
885
76
128
839
554
633
70
973
624
691
474
586
276
582
932
44
189
832
960
679
177
479
982
602
858
694
353
723
14
718
560
386
854
52
743
736
960
446
160
855
847
350
623
573
600
568
622
891
412
852
577
177
400
860
356
485
567
13
226
691
110
355
250
985
337
624
65
38
91
223
251
301
222
637
807
517
191
783
685
275
567
513
209
224
346
209
774
857
561
816
657
65
752
782
554
449
392
160
544
899
326
339
982
587
31
556
112
9
806
302
869
775
950
579
32
536
918
917
290
86
221
271
922
41
527
898
787
51
776
181
688
794
89
293
469
300
965
322
938
622
591
602
705
933
816
37
844
867
387
907
84
875
781
107
972
202
26
105
844
498
461
509
555
342
992
824
393
970
763
595
855
902
95
464
925
82
424
687
827
518
925
462
565
550
265
386
617
865
127
36
489
282
312
812
878
341
61
764
224
129
619
873
998
968
860
123
24
159
292
184
653
939
893
856
294
684
436
728
892
520
766
887
138
201
600
646
857
18
607
742
872
148
701
778
903
465
258
230
493
450
201
846
983
754
291
611
196
757
712
206
72
419
357
520
11
921
112
64
686
782
518
765
17
235
748
56
640
983
179
485
607
913
332
83
952
638
158
868
198
410
248
34
841
658
168
896
982
45
549
181
227
316
523
901
788
333
238
610
461
932
912
880
720
258
333
172
453
419
509
359
500
563
173
286
277
601
945
91
623
264
416
87
507
10
708
510
906
144
916
885
637
81
40
962
730
196
433
722
461
655
559
605
802
606
807
543
918
117
305
416
732
119
282
789
948
448
534
110
153
599
913
957
215
714
349
332
271
847
303
351
32
334
444
615
927
86
358
631
107
341
767
612
989
53
981
999
952
568
740
376
713
31
620
277
584
196
605
751
278
740
885
50
941
675
421
875
827
415
234
823
794
258
110
814
197
548
388
438
46
594
720
32
573
390
891
252
638
107
163
129
714
180
459
274
290
593
71
986
937
346
860
952
177
984
296
954
10
234
505
152
94
327
855
934
298
88
128
894
735
110
74
783
616
709
96
199
318
386
704
208
841
908
410
785
972
178
935
195
481
270
698
548
167
776
678
693
156
458
997
507
466
73
889
632
54
26
322
801
764
169
887
700
288
702
311
200
639
45
522
991
418
78
826
889
39
438
650
774
573
652
155
50
319
18
647
270
1
32
101
229
35
681
314
489
60
243
184
100
440
264
678
452
118
845
531
452
845
360
363
483
601
434
81
128
652
866
40
10
965
10
525
811
237
904
0
373
207
331
378
121
145
593
70
743
516
486
277
758
463
863
306
550
182
182
515
547
864
727
279
658
948
138
96
35
654
224
462
7
36
748
711
660
607
518
344
293
62
934
59
373
136
594
189
964
611
920
585
942
109
370
18
232
776
669
831
107
559
815
311
710
886
125
986
647
565
355
808
378
602
944
208
244
753
652
387
5
586
176
938
301
729
634
323
379
986
867
958
308
167
752
922
246
640
821
455
517
21
328
593
855
670
586
548
521
200
841
225
99
942
795
967
485
257
518
892
32
63
594
318
596
148
273
437
499
695
595
608
412
496
550
869
276
545
731
714
900
59
167
108
695
742
288
562
535
581
713
458
300
524
910
960
788
194
633
895
44
246
110
600
851
112
685
269
303
38
411
858
231
430
389
555
210
347
159
214
170
715
536
580
712
63
965
778
34
951
14
34
786
337
307
265
709
368
969
633
687
210
506
51
904
905
555
22
956
434
775
805
987
854
389
652
449
885
10
22
426
726
815
742
963
504
398
558
655
995
177
622
401
123
227
374
252
439
389
540
803
965
316
516
694
543
77
180
696
607
956
785
519
299
658
935
498
303
773
989
521
438
731
829
141
109
535
930
120
548
200
538
959
548
541
95
602
967
331
18
517
483
724
903
704
116
689
51
382
188
303
527
607
329
279
93
528
503
955
897
635
811
985
648
615
836
353
807
381
312
10
333
448
13
766
284
703
335
22
784
453
278
245
351
800
538
148
537
416
143
379
591
738
84
158
732
897
505
737
402
13
341
401
89
242
314
328
690
892
552
92
564
832
728
941
69
63
553
703
230
487
256
512
424
270
644
395
216
380
836
405
563
886
176
478
908
874
436
453
641
766
642
991
547
985
734
3
811
56
629
144
76
156
512
281
913
311
197
738
44
672
872
450
365
440
440
9
121
449
64
528
253
72
395
845
976
188
242
768
756
624
209
51
13
204
412
446
251
954
98
715
565
339
198
654
970
800
662
385
277
529
520
414
4
912
224
405
995
40
433
783
755
282
163
717
783
668
599
733
925
596
114
507
487
744
570
546
577
228
475
221
280
711
786
341
169
213
970
481
409
148
151
76
736
50
202
734
90
77
753
12
463
330
752
809
272
734
118
360
564
25
633
519
737
566
948
542
859
775
897
29
185
244
430
461
49
973
786
34
406
668
128
409
538
256
124
159
887
87
361
368
823
653
522
845
54
664
263
594
584
253
665
634
435
120
49
234
299
834
36
989
707
502
71
878
224
202
168
324
257
646
340
970
16
726
522
154
102
245
187
911
113
954
257
445
819
42
723
230
366
397
924
632
928
766
671
805
302
112
190
384
472
313
500
490
995
636
436
148
450
580
732
730
762
352
358
312
3
135
740
713
32
16
781
877
485
528
635
94
39
416
815
452
855
47
462
263
584
471
63
411
536
571
787
21
945
436
35
545
343
379
875
466
715
401
592
785
7
891
867
42
898
468
699
568
837
190
953
946
228
594
637
281
461
588
638
492
13
84
968
986
19
339
237
298
640
477
235
572
414
750
692
377
184
699
908
123
28
130
988
93
441
884
775
902
142
214
486
894
661
964
660
789
805
750
937
20
833
217
842
117
970
356
9
469
158
724
841
758
698
674
167
502
288
669
519
982
74
189
858
700
51
669
665
477
741
419
67
904
78
46
256
607
333
667
407
265
521
364
740
301
126
34
872
594
811
713
625
277
759
874
490
341
457
107
332
624
238
592
641
683
472
799
986
70
243
94
946
593
549
919
69
421
828
681
441
450
467
891
103
556
168
796
705
981
381
126
957
326
942
749
325
71
483
133
149
986
51
373
256
84
398
726
29
972
849
712
691
494
148
552
191
193
849
882
667
700
459
450
477
516
484
914
352
18
352
284
117
477
275
11
275
306
469
643
637
524
444
479
787
945
173
877
946
387
614
669
218
95
25
892
397
276
841
196
757
479
986
564
123
731
135
838
67
806
343
839
64
171
785
607
12
143
513
287
968
487
130
102
706
936
921
940
957
672
762
623
23
299
685
953
997
268
303
621
970
690
368
171
758
243
498
416
131
611
191
49
231
240
707
823
415
179
527
609
625
127
338
846
556
968
692
516
879
692
965
609
295
809
180
748
5
915
752
306
649
971
412
283
611
719
826
462
344
379
887
647
702
683
149
601
277
48
750
489
284
908
242
9
375
885
957
957
942
266
769
332
51
767
611
594
283
295
359
640
481
170
923
450
939
198
331
680
420
288
612
94
986
386
75
487
447
774
249
639
321
827
722
624
678
437
370
545
672
572
994
283
31
676
434
728
797
720
192
668
649
273
570
677
398
427
451
96
57
476
198
788
677
482
592
823
334
827
571
305
257
344
138
732
891
344
26
394
60
344
85
252
124
814
636
171
312
112
939
8
194
937
789
190
28
167
982
352
527
537
794
911
663
604
500
499
888
333
93
66
972
671
871
883
221
483
226
493
205
322
71
379
911
674
560
224
532
743
709
729
285
357
704
788
809
755
937
437
598
542
750
580
269
84
784
795
912
336
116
910
74
438
953
469
297
703
824
553
581
263
16
456
650
261
151
468
98
10
511
701
296
972
712
329
465
4
164
621
92
916
309
883
842
436
919
556
436
242
133
64
157
159
695
319
547
281
535
285
550
357
694
622
275
982
126
851
163
510
629
428
603
197
130
774
183
454
610
36
716
189
315
118
178
443
650
628
875
515
986
525
215
706
757
418
12
469
121
905
369
180
62
738
270
375
164
662
900
25
183
866
143
197
248
771
717
867
245
271
843
643
616
708
925
304
438
635
443
853
34
704
852
649
853
481
633
386
319
833
871
799
888
759
187
330
510
184
161
610
262
991
798
320
512
642
541
730
799
676
684
426
521
57
461
511
748
484
627
818
220
344
640
276
890
725
840
949
172
351
143
494
228
500
458
549
33
326
579
776
747
183
318
886
300
349
194
522
996
712
430
835
786
486
612
651
77
410
536
501
141
80
112
559
150
82
997
632
904
214
815
315
973
940
910
847
883
449
19
595
339
165
598
902
425
393
933
201
673
974
364
850
438
597
324
464
900
289
411
305
218
753
812
486
163
331
618
636
629
26
947
859
846
782
618
409
111
488
224
78
159
925
204
594
74
693
265
788
221
981
582
704
959
522
320
916
359
932
235
4
227
246
989
835
972
191
989
997
353
439
602
890
939
505
786
933
886
565
723
759
622
673
623
723
358
279
65
710
338
122
193
207
102
453
146
199
209
393
462
58
449
270
945
163
622
884
242
833
682
68
459
106
134
649
320
260
420
124
97
957
17
163
943
530
598
619
880
315
885
662
745
713
888
963
0
903
855
906
97
513
799
271
137
237
655
218
927
892
132
294
717
322
770
741
134
661
571
902
914
881
443
694
245
822
385
271
807
237
379
665
393
203
17
163
773
346
837
330
440
722
282
900
752
458
492
915
605
433
545
730
607
664
161
142
767
809
165
98
209
317
197
544
501
546
131
306
884
569
456
400
672
954
793
760
444
953
940
590
140
799
250
912
412
192
758
463
621
800
491
915
594
28
825
498
769
221
761
125
510
814
239
122
956
341
757
268
259
714
603
842
101
650
92
555
90
417
208
406
881
964
467
105
951
287
60
906
328
625
524
62
901
133
133
951
103
469
516
538
123
67
143
828
693
635
290
182
836
900
187
381
83
824
511
973
413
503
917
966
552
894
469
227
304
458
502
295
256
86
283
638
54
720
418
945
460
383
258
378
845
433
584
86
340
620
746
99
25
469
954
806
198
144
571
127
254
518
596
463
736
620
547
19
351
118
779
930
175
335
948
810
659
454
400
650
65
298
232
651
150
380
302
53
84
628
602
747
394
579
964
833
327
471
695
995
377
638
687
481
352
902
604
109
28
697
984
364
889
849
247
370
906
99
310
23
643
221
791
839
627
370
403
133
138
36
753
272
397
695
753
156
786
965
79
117
636
115
389
497
922
765
29
826
714
16
383
779
514
363
82
376
93
783
518
270
558
617
288
490
775
605
754
604
50
348
402
881
438
334
932
868
533
556
29
403
655
704
658
544
696
871
164
347
243
611
639
567
463
398
414
934
177
43
463
284
533
754
505
413
749
142
890
129
783
381
380
145
478
843
123
137
979
436
239
701
232
790
870
227
359
88
956
809
96
857
593
305
705
772
546
71
696
451
849
284
36
975
229
132
216
984
965
682
694
386
323
550
147
723
253
70
139
607
863
477
378
127
720
864
659
694
921
502
791
220
945
53
903
852
84
340
260
593
532
749
152
727
741
389
629
452
131
423
552
127
11
630
482
112
666
403
679
819
249
499
52
312
144
950
964
313
722
813
467
815
922
987
737
832
564
234
432
408
370
779
897
33
280
191
389
342
369
912
982
140
194
105
42
912
522
878
89
980
95
14
642
244
699
290
96
995
653
248
790
348
469
808
134
920
118
817
511
603
846
212
664
873
905
318
22
320
89
398
829
185
511
40
819
750
123
447
389
341
86
82
428
116
161
846
107
482
709
739
94
103
127
148
834
23
101
370
643
459
135
318
359
139
369
423
850
280
615
808
898
534
778
641
628
104
696
97
448
154
913
494
809
491
712
324
326
856
904
241
508
87
439
295
757
484
956
733
695
720
958
609
848
616
32
364
831
751
471
614
61
967
37
468
969
614
753
857
992
109
375
998
690
591
552
587
856
595
252
294
232
771
141
627
879
858
970
922
714
201
101
554
674
18
250
475
406
23
238
338
679
268
955
472
843
518
871
397
732
437
171
569
214
769
609
0
213
907
685
629
0
625
992
906
617
632
596
384
75
663
141
279
504
913
510
298
778
901
330
200
982
944
679
288
306
455
783
556
209
888
74
394
11
92
217
217
618
451
270
111
546
157
267
466
338
712
496
129
133
722
183
581
46
5
979
985
768
281
110
787
562
672
262
906
843
306
531
669
641
286
284
6
692
158
472
444
102
819
708
432
795
783
970
712
118
48
819
961
417
190
759
681
215
988
593
142
689
342
799
943
207
276
554
351
518
147
910
427
380
590
70
176
82
69
60
634
994
341
399
494
733
67
580
618
123
255
150
442
67
355
457
153
451
432
232
713
386
796
231
389
55
932
586
424
664
987
637
499
9
178
452
772
263
787
448
695
211
440
868
672
66
302
27
431
617
831
608
635
737
817
836
293
874
130
697
91
229
981
512
987
426
868
943
151
396
334
224
310
660
332
591
289
611
318
625
989
474
909
525
753
213
314
895
789
981
202
104
627
140
406
627
270
500
18
21
20
995
424
852
736
419
930
219
979
910
378
558
395
590
925
146
820
542
331
887
612
105
894
46
214
924
766
325
321
756
668
167
367
56
576
678
478
904
536
537
186
638
241
245
79
644
715
825
146
281
582
154
499
715
831
165
639
497
554
587
725
162
12
574
563
219
389
860
339
361
237
595
185
353
561
539
875
194
732
708
955
743
952
505
734
376
55
286
104
378
597
1
861
383
767
13
523
701
274
899
380
317
151
814
48
918
907
824
691
40
173
206
534
818
788
510
984
152
183
925
316
579
460
149
636
655
423
201
393
18
662
349
635
195
212
456
298
638
995
108
640
918
821
588
4
585
779
298
937
665
634
345
825
4
874
96
348
227
452
668
805
642
840
593
417
116
401
654
912
25
274
4
420
982
268
885
386
460
403
540
288
897
102
699
905
682
129
997
962
735
537
395
247
518
343
313
650
378
858
894
196
874
366
64
303
965
414
277
386
947
168
417
450
634
464
623
636
82
920
522
9
179
22
187
212
840
259
690
484
598
402
167
621
12
927
781
757
931
520
98
654
550
687
181
147
845
823
172
599
60
151
209
902
398
751
770
955
39
919
483
294
465
889
483
204
335
919
250
961
969
464
707
166
616
485
382
521
506
340
378
339
40
584
263
513
199
355
952
99
219
648
841
737
932
218
719
860
963
518
204
906
786
872
446
597
807
939
329
497
872
752
704
632
621
61
72
737
435
367
739
671
868
398
671
860
65
722
703
41
645
98
505
956
926
800
879
814
328
445
394
992
449
733
760
951
235
273
831
293
419
406
571
118
622
550
249
178
961
391
537
301
141
450
355
235
391
91
931
333
701
601
550
891
219
130
740
10
661
770
885
88
128
427
315
869
199
220
568
3
579
526
705
543
901
760
318
257
215
891
952
155
930
96
620
524
471
854
877
498
26
692
317
181
579
455
327
268
133
41
555
592
164
979
810
340
326
718
184
688
608
202
682
191
471
737
237
721
903
23
660
775
490
398
824
994
822
378
329
52
365
369
194
791
844
834
830
445
634
50
529
946
729
719
853
491
322
33
309
586
321
299
189
711
476
181
853
21
819
576
565
790
483
523
166
50
594
995
117
934
209
288
913
803
902
644
591
989
911
478
553
597
514
618
750
360
466
396
402
212
691
723
712
451
149
404
306
398
551
913
525
271
5
541
157
762
915
689
179
679
635
460
259
234
688
959
142
787
567
428
344
719
623
902
336
993
92
466
176
28
745
169
331
257
855
234
145
53
346
121
396
949
705
826
659
469
101
439
739
736
969
535
984
348
315
891
413
295
892
760
662
990
717
973
343
748
227
709
800
2
135
990
410
725
364
177
118
191
278
512
134
109
266
472
692
696
299
934
633
92
289
366
723
668
360
603
642
499
451
564
123
665
261
448
979
184
289
644
37
914
178
465
397
713
217
785
167
673
47
920
5
622
84
12
637
99
701
90
267
796
682
679
234
782
990
52
158
945
767
410
730
854
396
883
362
520
660
623
417
712
38
792
473
238
476
816
239
571
909
103
446
44
418
480
307
891
211
468
327
641
831
56
265
485
927
656
350
828
381
206
913
241
679
811
796
715
538
509
595
905
709
168
859
749
366
677
51
203
117
687
339
531
367
440
178
468
800
682
311
396
507
947
354
83
631
89
847
277
76
630
128
707
923
344
308
250
460
851
660
515
585
245
101
166
769
386
364
204
399
466
660
480
86
186
653
929
981
333
319
222
475
136
106
353
5
904
259
911
879
727
375
162
412
335
154
810
829
306
71
840
756
37
80
633
463
875
964
750
247
170
121
185
225
792
666
911
622
792
105
659
6
523
657
642
23
762
352
864
243
798
69
412
536
525
718
568
692
965
734
568
146
912
662
961
177
2
123
368
544
642
408
978
576
211
628
660
35
961
492
329
427
986
37
300
889
693
111
342
398
890
345
746
947
9
96
294
96
424
418
255
315
502
12
406
186
954
299
980
462
899
490
10
200
311
510
194
324
850
887
249
904
720
11
232
143
164
621
848
340
543
288
389
86
786
294
486
64
758
880
60
645
749
842
112
243
264
631
10
21
355
545
66
343
262
837
473
116
23
332
427
965
272
252
19
440
264
753
150
273
137
26
826
131
353
712
392
246
879
9
117
378
820
318
475
923
806
44
92
439
403
473
288
40
846
524
760
991
448
409
509
785
919
291
852
121
310
814
115
619
660
260
181
584
213
620
72
203
452
61
197
151
2
137
831
269
132
312
163
166
754
495
797
156
164
469
483
139
408
671
637
136
803
692
919
753
542
951
555
533
109
263
967
122
640
70
451
847
42
415
132
510
164
355
729
127
141
260
607
313
457
781
814
186
355
109
191
566
151
797
534
290
151
672
653
421
123
865
967
692
44
99
167
628
326
540
284
764
8
684
362
541
115
678
950
450
800
425
250
417
354
533
983
336
849
560
807
477
708
367
379
42
333
925
947
590
660
249
615
519
115
310
28
681
463
368
298
239
257
761
87
423
988
535
801
916
12
77
739
294
393
645
822
436
601
118
170
770
608
219
195
606
774
298
857
315
235
593
376
752
33
276
955
157
372
335
637
748
595
818
734
587
135
800
150
459
549
180
465
890
886
110
438
557
790
669
603
203
782
506
829
752
423
385
508
964
161
885
496
300
425
420
180
379
406
244
216
830
219
32
109
905
792
163
402
306
460
771
452
996
975
758
833
592
115
286
39
241
368
949
759
902
809
107
67
117
467
366
93
932
791
552
433
433
942
870
520
48
794
678
950
189
743
800
456
729
717
10
906
770
333
317
250
409
9
900
529
642
415
245
839
186
563
196
535
679
571
879
161
138
285
590
300
561
201
405
430
845
634
210
496
138
593
882
551
381
779
307
683
300
713
408
702
132
798
906
562
71
123
558
941
34
536
27
71
809
89
823
433
834
914
408
668
121
155
742
928
49
491
555
696
785
493
289
409
438
635
759
876
244
765
469
114
815
610
906
57
109
699
534
5
751
846
53
806
246
553
148
579
961
833
771
907
328
749
558
825
413
130
514
714
65
535
458
237
765
876
948
959
217
633
705
706
899
915
552
979
232
510
653
16
698
496
433
416
546
753
322
480
962
344
730
395
230
512
265
119
177
641
161
978
142
748
368
997
276
350
89
997
591
146
891
736
246
681
920
509
952
882
946
249
641
903
171
952
427
422
991
927
82
160
142
670
60
403
312
462
941
698
244
205
90
549
417
883
390
944
967
338
924
95
327
815
111
308
174
243
655
518
525
106
526
943
310
266
880
152
3
372
320
520
422
59
811
275
146
514
463
743
558
584
917
262
23
859
147
976
980
804
413
774
78
550
983
776
966
152
483
64
245
162
709
491
304
622
979
826
735
399
502
18
486
55
626
175
460
708
462
340
110
159
855
630
413
987
456
64
937
79
802
988
980
631
299
980
539
783
717
150
926
980
218
562
899
960
627
460
827
346
889
120
642
838
578
637
985
861
529
520
518
998
694
57
757
341
528
844
455
12
544
806
81
967
138
505
690
755
650
73
777
494
98
321
834
761
3
457
554
161
113
730
238
464
77
3
364
749
497
355
676
465
439
284
362
189
197
388
558
137
564
19
211
92
272
615
290
254
399
174
765
727
788
288
162
899
924
367
865
63
275
477
588
877
139
8
164
276
477
76
147
421
72
173
330
146
129
166
280
552
534
354
922
370
974
937
272
564
8
297
554
236
442
753
681
906
30
748
473
114
130
624
192
571
768
62
171
919
344
186
175
32
473
682
115
523
615
970
321
314
508
218
510
790
123
371
115
958
87
367
48
762
835
515
725
37
35
367
203
654
13
584
12
703
122
125
224
749
458
961
865
971
838
133
646
594
44
700
642
362
645
404
306
203
751
75
945
751
752
265
688
68
138
686
535
778
778
332
229
239
602
779
26
709
857
467
455
653
481
607
745
517
730
933
128
86
377
465
651
846
499
103
92
195
626
93
228
358
444
956
141
795
468
56
594
719
70
72
891
750
484
701
571
562
330
166
679
850
339
25
814
112
680
40
872
530
288
256
86
907
255
713
53
873
897
852
292
741
752
103
959
35
151
970
622
417
643
488
27
457
726
52
430
649
384
506
776
386
221
743
341
126
832
339
581
691
117
957
376
175
460
572
293
337
255
742
920
542
948
777
774
467
95
309
348
433
738
959
137
182
801
76
75
850
595
57
474
68
625
7
480
182
235
981
963
421
586
348
502
480
446
375
297
65
382
857
849
226
760
679
96
435
475
814
727
348
825
790
27
239
595
504
107
376
929
417
258
894
325
141
952
430
950
655
812
473
280
668
152
154
79
325
54
380
408
331
884
647
611
233
449
46
320
86
898
55
86
569
114
805
110
966
91
794
42
116
585
644
44
356
522
876
67
586
225
717
603
807
514
820
518
351
303
375
444
329
932
484
150
758
814
373
746
344
133
438
671
145
161
24
568
893
572
241
520
261
962
147
475
452
934
139
52
522
611
226
595
754
748
996
796
386
993
194
951
901
133
946
28
110
297
458
356
408
421
302
80
33
906
610
607
443
447
910
22
56
531
777
461
245
800
345
358
126
846
598
309
325
33
172
93
56
412
250
716
141
152
41
251
745
848
96
436
33
562
983
13
986
935
789
955
80
444
296
85
6
129
645
929
721
953
705
908
318
492
311
407
334
290
526
495
618
681
256
875
950
16
123
334
261
811
612
43
436
963
94
172
299
232
309
243
949
421
335
558
256
539
139
776
338
187
896
129
406
617
552
477
94
246
541
988
113
617
566
232
216
704
267
607
183
198
956
847
243
423
629
324
337
364
392
317
477
151
363
837
370
718
111
269
726
132
381
544
713
371
679
426
733
606
849
786
382
585
302
538
934
157
155
454
740
474
794
836
851
118
430
488
707
975
107
696
96
645
323
944
601
777
422
687
286
335
63
186
810
93
146
920
267
130
694
137
369
363
194
253
873
758
142
176
455
853
44
510
502
443
635
487
349
413
196
621
886
727
869
954
463
258
198
262
201
891
780
439
636
734
18
617
893
164
295
237
944
597
753
955
953
68
391
597
691
110
709
609
13
688
806
563
720
631
44
576
930
15
404
570
105
92
976
989
528
50
122
775
63
20
850
576
407
820
964
37
865
942
922
908
529
907
165
24
370
150
668
918
338
220
376
499
502
605
958
941
558
376
673
492
941
417
187
771
238
577
386
529
247
826
197
240
79
530
83
995
568
778
345
318
63
299
877
98
595
522
264
797
181
454
963
448
49
185
531
463
2
658
524
141
415
711
512
592
417
386
446
752
723
48
110
47
248
875
634
848
620
816
672
57
646
321
766
450
308
790
741
362
388
142
638
684
424
703
621
442
613
991
542
729
22
163
493
55
127
281
411
142
580
950
841
218
934
871
444
193
3
200
36
760
804
181
207
910
330
967
885
741
487
92
587
155
626
358
532
218
326
46
614
869
152
324
231
47
641
221
363
144
411
81
160
51
626
192
695
359
447
407
846
401
883
108
7
841
486
670
97
857
844
825
86
714
483
288
726
211
906
853
582
39
484
674
314
559
118
795
277
594
808
375
232
990
669
902
985
289
346
512
651
801
382
734
557
982
572
675
496
728
853
13
752
125
548
108
463
265
320
551
360
939
758
241
131
583
837
185
968
310
392
498
541
366
607
419
694
795
281
458
590
44
405
323
997
973
365
379
327
296
284
639
867
658
110
998
845
364
954
219
689
898
835
186
840
331
206
861
100
429
782
698
444
232
456
747
529
977
927
630
369
276
283
728
405
187
346
983
205
785
705
889
249
384
312
348
180
734
939
794
7
993
533
500
938
425
137
326
662
652
774
942
849
504
920
954
142
882
17
116
380
35
535
506
468
119
373
435
40
900
19
831
222
383
997
495
833
186
742
886
40
711
598
531
235
660
418
158
108
681
818
163
458
585
431
7
123
272
361
953
316
636
223
48
545
287
356
157
423
678
520
987
890
125
923
516
934
324
589
125
133
154
133
641
348
931
821
645
265
969
111
849
775
698
861
725
286
291
269
621
523
561
812
844
677
888
868
0
23
868
350
365
474
151
569
989
918
116
447
945
971
251
671
672
763
110
643
734
390
244
340
199
934
627
897
806
428
812
687
84
798
791
952
899
116
185
393
420
389
171
892
789
934
185
855
635
766
992
414
432
825
474
888
394
356
353
461
849
749
407
36
551
903
428
504
940
345
538
344
293
944
217
697
722
773
859
342
877
582
532
421
770
66
183
0
648
746
681
214
975
798
718
214
235
782
247
174
854
241
411
906
806
833
11
168
375
968
518
525
99
429
216
40
70
582
601
540
855
515
568
593
192
584
882
149
275
511
399
440
234
746
967
481
897
125
642
251
504
388
462
97
809
187
381
455
90
912
555
485
671
32
884
668
958
839
491
76
963
895
964
933
64
980
504
264
769
336
949
837
114
291
158
755
616
66
143
210
693
277
286
446
353
615
272
777
812
541
97
387
282
240
649
669
645
257
842
589
60
133
933
701
376
585
57
770
685
604
58
746
699
497
654
868
83
81
203
291
567
533
994
18
274
998
500
732
367
949
278
416
872
655
136
603
339
164
461
899
672
536
943
283
194
76
20
537
852
869
245
595
146
197
873
353
915
158
533
488
40
861
736
694
891
530
291
163
438
79
394
885
937
897
235
887
696
334
330
70
16
963
740
425
450
772
396
116
376
280
857
314
378
48
103
151
514
900
787
804
663
463
618
929
786
154
527
822
665
5
811
862
946
544
45
229
500
624
926
323
797
949
114
625
4
169
725
39
815
151
647
783
374
366
24
787
593
979
842
143
487
336
289
913
111
245
958
182
777
855
374
713
757
38
799
397
59
592
490
67
760
803
471
237
158
109
881
516
600
856
773
811
648
147
269
173
320
156
302
401
830
428
409
881
190
846
48
460
53
393
68
262
311
646
226
835
490
837
635
5
935
554
311
978
979
647
87
166
524
883
552
573
431
26
896
527
370
274
966
346
448
15
909
502
32
450
363
271
885
619
505
154
669
871
744
18
510
993
664
972
284
560
956
482
781
601
807
978
91
917
928
594
918
759
439
786
270
540
404
199
6
881
51
970
912
674
998
830
277
20
610
104
561
220
212
95
998
554
531
872
310
695
894
396
852
594
538
403
177
73
291
169
23
531
319
114
928
827
782
921
522
730
399
712
387
750
78
892
813
746
935
556
94
110
888
964
898
353
214
578
454
506
986
381
162
857
196
901
496
437
141
83
206
828
957
834
871
791
108
543
268
179
979
737
972
315
527
372
774
682
987
492
678
268
373
18
198
799
414
621
810
940
928
605
761
273
780
721
3
858
137
618
770
100
557
738
506
0
8
726
75
100
787
693
286
548
343
787
356
807
454
359
585
242
786
402
612
484
314
600
731
561
536
768
506
87
858
217
184
238
17
368
281
762
428
45
400
889
89
861
881
672
110
9
905
206
635
407
4
602
395
834
435
712
831
357
159
511
65
324
394
674
785
34
931
828
537
318
440
296
933
798
504
754
549
484
912
319
527
930
504
303
66
393
120
60
980
560
714
732
660
744
864
380
239
385
156
723
414
213
743
533
127
950
593
707
215
592
150
705
449
134
623
716
130
469
993
817
128
265
950
61
191
384
228
16
827
163
758
454
829
959
568
971
787
45
736
74
5
744
180
283
434
588
60
705
483
949
333
49
548
619
545
31
238
563
581
427
690
751
730
307
285
715
957
680
470
859
570
786
584
539
529
273
539
423
789
550
583
495
656
611
670
471
829
109
740
873
289
810
973
512
858
527
930
139
668
204
274
956
953
644
985
843
789
736
678
434
184
991
297
106
817
290
383
848
104
845
609
765
621
292
182
483
133
735
674
250
663
918
531
773
356
350
301
51
575
441
259
385
161
422
438
797
753
724
483
568
444
81
167
147
749
571
694
236
861
626
367
488
945
992
247
320
841
386
204
291
987
599
803
107
107
845
955
383
57
195
576
106
71
743
87
883
739
143
546
297
99
36
213
603
811
476
147
233
483
519
894
200
284
101
563
476
312
517
656
607
486
158
424
963
508
197
402
519
457
546
552
271
399
521
247
510
441
601
963
979
859
309
969
406
923
930
164
67
848
416
216
252
681
0
809
349
568
751
893
673
329
15
158
229
808
229
767
610
707
194
693
27
132
422
524
113
106
826
939
696
81
743
831
722
26
720
464
435
542
217
308
603
660
28
372
251
448
337
714
330
301
983
333
392
801
954
210
517
142
365
716
773
125
793
213
803
374
407
70
265
14
862
882
786
730
9
325
473
285
914
207
899
288
777
538
829
757
988
194
998
242
86
984
365
689
37
371
62
181
230
172
158
539
202
688
755
954
648
449
665
872
642
310
921
382
352
351
433
978
324
973
179
470
522
543
751
184
550
488
147
840
855
186
963
28
218
348
156
847
930
477
74
99
351
491
400
283
295
680
607
780
422
629
733
924
822
372
72
902
706
909
50
638
181
116
72
156
150
801
111
683
970
866
325
597
45
833
379
165
97
441
232
460
17
724
312
20
287
889
398
155
741
425
743
981
451
100
89
934
274
180
42
893
96
466
308
539
961
429
420
9
752
585
735
160
430
7
137
59
350
150
403
390
253
168
126
59
51
277
555
181
824
30
18
193
884
10
428
54
833
714
394
97
88
704
891
593
731
811
671
710
256
478
684
917
16
571
155
329
4
46
73
623
151
251
776
759
901
673
748
232
710
666
626
279
651
705
904
898
249
279
362
937
899
676
852
540
160
108
136
744
868
218
873
47
932
816
870
497
832
570
701
897
163
339
347
902
104
870
143
768
887
413
259
770
589
216
90
988
305
70
890
118
392
439
416
883
9
690
584
501
525
581
52
492
119
11
388
284
552
832
628
659
223
364
621
73
557
525
518
586
737
132
138
353
194
90
760
848
845
623
265
271
440
92
377
620
644
367
248
270
717
711
870
637
443
60
39
908
567
31
322
545
588
165
762
44
437
760
967
452
961
376
435
491
130
899
516
163
12
957
34
326
717
3
341
704
307
738
84
986
242
811
589
46
102
581
853
889
937
961
278
29
984
683
824
943
573
691
949
479
542
347
163
683
409
412
474
432
460
72
382
13
379
253
352
173
411
635
469
31
714
799
830
319
778
853
375
365
857
315
919
946
8
448
143
717
48
339
348
369
839
743
632
76
494
144
289
712
303
280
742
252
478
199
977
354
774
36
882
247
123
952
917
967
455
303
554
407
180
566
312
897
116
953
260
147
349
955
814
933
553
479
24
748
355
70
538
371
844
858
13
600
762
653
417
723
268
890
854
305
629
83
164
50
988
658
700
894
331
359
951
288
396
764
608
462
979
475
92
184
347
593
129
273
653
95
657
98
553
740
392
435
181
996
413
230
126
86
87
609
684
848
431
743
595
891
298
982
20
16
853
980
519
787
489
444
314
735
832
202
70
123
539
898
478
927
436
767
930
537
527
518
965
669
410
751
65
833
879
375
725
219
634
760
850
805
989
151
632
36
772
478
648
618
23
587
424
301
646
268
166
206
412
897
759
319
656
365
722
964
114
929
814
680
815
102
456
756
174
569
975
358
189
893
192
765
940
628
985
637
402
321
966
557
963
182
896
726
217
287
981
894
530
276
600
814
608
447
266
450
858
333
420
637
693
227
857
304
808
776
200
784
611
399
981
812
576
162
488
609
485
801
414
838
553
833
619
535
899
675
629
545
132
854
798
419
215
954
741
241
236
579
789
589
984
266
857
423
837
481
781
726
541
970
664
901
250
752
85
548
7
303
199
201
353
746
759
396
679
675
745
926
771
905
445
419
899
203
46
667
737
382
285
962
595
246
912
454
440
880
942
715
28
628
418
202
212
723
406
300
984
117
746
9
484
560
736
252
978
655
18
287
192
45
957
401
204
710
778
792
354
233
513
182
958
438
727
372
534
267
428
716
189
27
583
688
151
128
950
535
627
743
116
191
745
720
654
21
474
443
424
387
298
972
503
150
462
594
471
782
274
436
424
45
530
963
173
594
195
479
282
869
278
545
206
627
729
572
980
166
319
658
433
737
195
70
857
662
4
155
84
441
94
75
550
959
266
529
512
751
49
372
211
548
558
396
552
725
175
559
898
347
22
881
190
439
487
361
97
824
290
975
259
327
142
783
670
101
325
977
465
93
944
124
419
473
48
66
410
321
899
391
537
233
736
393
724
458
447
554
818
235
814
263
312
743
149
614
637
631
633
784
668
262
483
30
287
708
51
719
212
307
704
770
945
74
748
813
407
192
253
934
469
208
935
40
716
271
29
258
72
430
28
569
361
402
775
568
875
177
846
334
480
122
694
396
57
298
953
109
186
329
36
614
499
250
473
532
2
676
52
664
522
595
259
463
961
782
497
917
795
212
265
427
366
55
553
341
505
841
465
113
269
530
90
723
192
535
360
755
223
224
324
388
958
842
552
173
426
703
494
299
552
494
359
812
757
245
321
629
869
956
320
393
509
911
588
81
632
680
809
357
865
836
295
478
458
73
497
308
308
544
474
289
682
368
570
471
488
838
933
452
975
398
412
136
204
305
358
455
435
946
725
239
306
95
41
267
238
958
104
327
893
523
920
856
540
174
70
449
55
819
821
235
998
914
637
210
174
998
125
482
918
741
597
542
453
766
887
141
930
694
106
2
796
203
107
454
240
293
570
227
479
542
822
230
517
706
422
274
515
828
462
625
815
644
940
9
727
202
15
948
264
5
154
500
939
727
37
734
892
742
128
849
787
897
798
25
968
268
471
264
262
771
15
352
293
697
822
962
873
12
139
350
819
590
598
951
482
678
286
468
966
271
174
810
375
328
168
331
141
702
290
781
733
144
717
320
645
23
578
270
295
437
573
89
369
97
721
195
628
34
752
243
93
733
812
509
859
770
706
844
54
51
134
268
53
736
309
625
423
369
134
328
14
98
80
181
69
882
138
874
807
273
227
511
2
124
88
720
966
567
8
942
322
500
241
318
617
114
835
52
499
863
764
264
43
190
573
486
847
814
524
30
352
974
203
386
762
917
858
35
175
683
335
103
323
78
361
58
364
294
823
834
476
240
959
547
608
374
419
808
346
460
653
640
23
370
575
296
153
967
183
466
268
853
519
747
538
194
871
208
689
323
670
51
58
813
943
18
460
582
505
661
411
374
171
170
809
950
627
286
918
745
332
887
443
815
427
629
601
547
973
677
574
71
700
138
306
186
847
950
115
390
28
855
181
770
735
222
907
770
436
437
983
656
620
424
209
388
602
505
901
243
743
466
328
490
166
253
969
415
29
45
275
751
853
747
401
597
734
141
674
501
909
783
59
148
553
811
924
877
436
855
670
139
41
700
905
746
219
356
859
647
134
599
798
643
959
679
305
295
207
908
43
446
51
320
35
310
101
634
531
681
120
562
486
874
263
345
1
0
408
719
334
882
219
83
394
687
217
974
886
642
941
683
335
367
961
996
51
432
761
378
889
752
52
598
387
528
791
427
231
975
904
845
646
761
118
148
41
359
453
929
102
448
937
508
12
979
537
396
274
56
659
962
636
479
523
932
822
389
99
555
575
690
630
149
967
95
951
289
31
193
567
419
412
126
268
939
876
402
483
864
685
292
721
921
834
800
447
96
638
810
617
420
739
654
925
588
935
113
932
856
258
12
412
783
986
218
630
590
467
876
57
778
575
59
631
64
8
667
325
905
249
975
398
910
547
705
934
365
462
11
551
37
136
173
190
544
626
990
122
794
345
58
884
909
108
960
916
769
811
288
49
680
529
908
555
457
83
46
277
950
619
953
735
460
937
242
355
37
864
861
95
513
736
595
288
758
912
971
531
988
264
216
414
509
851
443
731
159
356
893
150
341
632
489
816
386
977
913
878
167
118
750
411
112
443
169
814
961
424
162
234
604
892
466
267
963
948
384
911
176
181
439
125
160
352
797
271
641
632
624
87
243
457
232
894
293
812
131
74
854
282
337
782
792
748
221
928
175
596
960
519
687
481
866
400
737
185
358
176
659
854
290
539
441
486
912
259
403
881
286
475
728
878
645
325
592
233
578
394
216
265
373
483
210
718
683
338
970
181
732
71
973
766
39
122
921
880
823
545
834
559
196
864
389
284
263
142
452
290
703
204
295
523
263
894
361
46
669
192
876
159
600
746
7
475
869
910
760
441
87
948
127
884
686
831
733
470
10
41
919
676
238
882
868
914
605
329
475
668
79
127
69
603
682
345
120
425
687
582
650
684
106
905
451
323
427
331
15
501
967
397
782
428
552
939
145
703
157
732
449
921
942
492
710
579
183
865
195
59
23
62
11
476
575
410
326
455
571
244
600
95
908
599
981
658
452
874
759
407
202
451
751
486
124
908
170
715
793
134
487
623
917
173
462
927
217
22
221
91
459
246
405
971
820
328
635
486
680
571
515
496
454
457
878
378
352
551
875
98
201
980
943
402
606
31
284
877
932
204
204
875
456
86
204
22
56
413
860
55
172
988
660
378
718
196
727
691
290
241
300
592
986
421
347
220
978
134
559
750
401
835
455
118
806
135
695
381
770
17
331
402
4
338
181
349
907
369
605
386
697
393
938
895
401
914
410
297
665
658
763
433
702
823
399
967
0
20
74
489
643
362
588
9
985
958
388
833
979
229
301
846
987
771
732
324
773
98
143
567
642
947
904
464
212
993
325
499
497
502
868
652
931
593
154
811
183
817
958
183
746
863
108
179
801
65
459
293
363
629
919
704
840
947
680
208
921
892
845
529
578
800
57
675
39
93
653
180
897
222
897
24
289
921
656
442
516
710
783
190
164
585
807
646
553
903
494
449
90
696
292
844
680
267
750
331
126
886
123
112
855
714
963
541
106
15
105
634
643
60
858
445
781
749
995
186
921
130
33
117
205
225
465
521
923
281
800
408
419
21
159
283
431
137
698
325
681
498
379
291
17
429
117
140
74
988
276
281
604
450
993
475
498
963
230
339
882
119
794
355
31
650
912
860
786
530
130
418
582
788
737
845
163
886
103
103
173
617
532
731
529
366
178
688
433
235
281
587
925
851
591
724
530
740
749
47
945
871
16
243
853
698
323
380
57
27
233
99
17
992
525
591
949
417
764
203
522
730
151
89
199
683
236
284
716
350
922
635
803
563
786
464
855
292
928
492
202
99
309
906
859
30
675
742
531
542
448
963
232
60
183
238
254
569
893
487
273
162
737
336
137
82
942
427
541
24
496
755
4
962
998
603
864
807
893
133
208
626
706
51
822
470
643
370
470
468
261
256
464
601
181
742
185
924
759
652
33
59
51
898
520
614
483
921
86
914
519
200
747
19
529
596
654
515
189
29
97
655
253
111
254
994
278
125
967
571
404
248
179
675
543
875
819
178
634
911
927
734
537
652
360
492
218
818
296
859
906
448
688
60
929
755
721
438
564
496
772
166
408
830
127
270
7
577
187
714
189
230
293
182
537
740
86
614
42
130
11
660
524
816
348
770
603
466
861
900
566
625
648
344
886
888
567
503
879
980
623
694
159
133
954
429
446
216
329
142
826
53
843
125
929
479
549
239
488
897
60
508
147
327
583
217
553
708
824
967
509
223
991
259
481
160
132
206
667
207
691
982
145
345
7
767
945
51
969
179
257
51
140
983
282
507
851
238
132
636
650
298
328
606
341
72
711
691
649
544
191
8
199
60
513
220
341
574
38
661
873
855
629
235
409
584
921
999
159
237
467
899
150
91
158
115
825
325
199
471
912
752
871
26
275
186
316
835
879
139
157
735
615
674
264
405
81
870
594
866
359
364
737
826
502
394
506
477
942
16
700
319
768
334
962
305
163
319
43
338
985
107
177
606
878
435
511
12
354
537
293
631
160
417
933
351
191
806
707
817
926
613
786
520
306
842
454
360
127
127
139
260
772
855
806
727
712
939
441
404
57
107
146
823
226
283
985
17
616
141
313
461
404
709
957
26
894
675
237
129
671
444
32
479
254
598
714
27
190
105
793
31
433
576
899
826
124
291
670
965
150
806
641
998
456
475
864
89
589
615
741
346
399
415
500
630
621
493
816
898
258
541
322
875
954
56
76
197
706
696
958
992
113
569
2
541
906
770
977
708
756
637
357
435
514
10
485
293
438
57
54
244
416
509
165
903
207
633
179
540
357
199
376
667
11
297
396
971
334
444
856
281
20
61
249
316
784
108
807
856
281
675
612
599
544
713
825
708
261
773
312
662
995
139
764
135
707
539
518
766
555
838
924
52
326
53
359
350
321
666
731
662
272
204
307
424
796
116
712
157
655
459
165
596
383
188
38
786
443
197
269
372
274
193
259
391
353
105
432
604
843
663
903
519
233
909
367
293
127
239
278
311
62
241
93
538
62
705
18
23
813
180
206
843
383
112
378
957
750
650
535
513
739
330
442
547
181
199
405
453
690
765
15
518
997
252
73
336
175
660
435
723
452
42
399
506
929
110
386
39
226
831
142
365
175
802
356
699
310
284
349
919
968
824
796
11
555
597
46
772
954
96
830
720
70
826
927
601
435
839
434
368
724
123
430
303
593
577
882
472
147
47
108
753
497
345
970
245
524
111
582
132
871
527
8
585
703
192
289
126
359
696
870
73
225
974
354
975
112
585
376
98
543
424
996
728
188
884
290
30
285
522
986
531
871
287
335
379
217
537
343
638
890
237
130
783
992
478
304
543
599
910
233
817
624
121
169
592
371
225
106
261
900
179
32
363
764
995
826
725
990
250
342
57
891
656
195
920
127
266
473
865
542
574
667
888
964
662
690
797
142
428
449
302
191
568
900
302
172
368
715
427
187
959
209
665
995
642
532
422
127
927
353
46
754
831
221
661
984
453
804
947
579
805
804
898
175
890
253
951
82
508
594
878
889
962
843
425
645
653
473
450
290
462
861
122
381
469
536
377
414
294
777
517
4
181
758
365
178
459
725
266
906
755
98
689
405
667
200
652
939
101
789
668
929
606
812
99
651
382
960
672
515
801
681
446
620
198
734
648
380
812
275
460
928
697
934
247
886
426
388
80
79
947
350
98
857
161
921
223
375
570
479
713
312
616
374
35
644
487
794
720
199
411
380
814
572
427
662
40
200
872
341
902
31
358
266
185
973
586
164
169
758
885
982
532
154
831
409
88
912
230
729
665
425
193
240
30
327
372
802
906
434
991
727
444
680
513
449
56
667
179
342
472
335
107
61
600
155
970
577
611
717
917
169
927
795
140
206
996
580
261
654
890
450
239
386
74
347
891
449
699
72
998
505
692
400
756
18
15
156
844
919
140
348
765
135
31
204
650
60
768
925
448
519
598
120
889
909
704
346
439
806
606
97
58
703
561
997
950
633
111
658
657
252
546
961
177
381
289
856
860
517
619
965
289
806
634
66
680
24
754
831
693
473
724
806
242
55
384
717
622
148
504
213
102
779
909
135
850
150
188
290
181
409
786
4
499
450
306
996
646
189
932
445
5
859
168
365
10
764
234
414
184
28
974
988
582
769
625
394
759
233
887
94
726
278
298
659
118
503
147
750
171
643
498
574
490
163
249
135
879
109
776
612
483
614
412
702
223
653
765
755
916
998
649
830
604
666
945
93
392
878
218
142
556
382
426
256
548
154
322
290
95
954
992
116
201
294
776
520
509
452
202
459
824
8
351
812
168
242
728
678
921
829
670
579
855
83
817
863
42
699
280
546
15
804
120
572
51
561
581
50
707
865
7
77
290
858
820
368
521
279
37
375
898
112
901
735
694
542
698
767
790
351
176
367
737
79
640
584
101
614
663
127
525
351
193
633
62
495
642
738
85
984
388
248
99
685
595
464
74
650
905
603
937
22
548
978
968
519
949
821
154
941
591
834
223
380
640
957
791
177
410
523
177
317
564
646
997
909
563
888
458
57
265
542
373
694
613
745
582
283
249
684
35
507
893
858
180
113
622
783
228
34
181
209
752
811
40
640
595
966
78
589
424
313
64
194
99
813
463
617
457
802
400
46
687
894
360
851
323
915
444
115
222
634
82
978
223
137
36
297
946
725
11
915
740
808
242
344
259
234
115
400
873
312
725
125
293
331
413
172
503
553
295
297
855
893
612
169
719
40
884
289
694
974
964
649
336
371
933
892
256
669
961
528
128
739
876
230
527
56
543
677
187
225
329
908
810
38
589
802
957
643
551
806
571
784
847
941
938
288
310
936
942
915
754
783
100
755
17
49
193
245
914
57
822
886
781
808
602
879
756
132
274
784
983
328
494
355
938
957
702
278
49
29
770
304
90
681
387
463
461
775
711
68
436
172
911
140
572
551
750
782
297
245
86
928
160
514
594
521
709
988
810
934
751
123
87
536
462
558
950
409
388
745
625
554
400
782
678
673
595
746
155
970
892
277
231
838
43
47
809
851
438
858
909
618
317
184
179
837
546
878
829
328
124
997
612
616
162
998
329
116
19
732
605
71
865
271
362
167
470
491
466
475
516
779
755
538
157
768
47
508
36
782
48
532
302
100
72
544
787
591
529
412
825
654
925
95
754
220
738
753
30
233
741
498
877
492
963
467
838
471
263
326
157
743
476
30
967
772
848
19
30
908
379
771
223
548
569
906
655
886
831
733
973
430
190
341
710
429
315
770
36
314
303
384
649
671
500
953
55
406
424
741
684
815
653
272
503
795
835
957
975
289
348
820
56
203
261
877
489
73
505
569
195
54
508
163
969
251
836
949
862
554
278
960
826
78
752
191
539
182
883
515
547
72
457
266
422
120
191
658
619
305
354
191
790
449
542
329
114
314
446
236
278
916
51
112
965
674
486
973
521
113
891
653
436
551
997
798
153
9
767
388
800
49
265
78
443
592
416
484
224
544
684
347
519
717
501
116
127
201
67
320
154
787
743
88
726
395
390
513
596
35
961
491
796
670
891
449
870
44
937
317
294
722
689
880
286
910
389
63
366
374
221
147
601
555
496
97
233
312
895
659
390
90
171
885
68
285
120
921
481
985
451
862
791
98
949
266
714
257
214
99
355
947
497
613
477
201
678
182
838
871
621
153
97
443
591
29
343
242
395
797
904
723
947
50
934
11
132
723
29
43
979
138
35
117
942
14
260
294
530
171
732
14
362
683
45
46
36
159
536
989
160
516
713
985
496
641
700
421
730
915
374
790
309
401
713
252
311
209
745
269
516
986
920
960
557
788
681
424
744
646
36
421
299
438
919
165
606
5
696
625
593
986
731
732
937
637
695
402
778
688
309
675
674
814
583
175
65
235
573
326
578
744
293
822
191
327
74
287
105
807
576
209
200
609
462
154
232
829
92
163
606
409
183
811
683
743
726
230
408
703
227
757
10
997
880
622
382
908
649
748
229
100
789
998
497
415
930
165
753
270
213
63
701
481
236
443
837
971
9
979
279
440
591
539
662
536
396
649
626
80
777
939
470
983
176
554
122
428
921
989
110
592
710
691
574
269
734
914
501
586
106
237
57
623
488
797
496
231
958
373
923
393
897
691
603
818
190
645
595
334
693
614
145
225
563
870
135
121
298
677
597
786
353
447
805
988
966
24
74
701
834
150
619
71
864
463
349
696
516
784
427
54
947
288
337
176
526
693
131
789
886
346
667
546
389
766
273
122
836
884
504
852
436
417
107
660
678
371
993
172
267
685
980
63
235
211
861
549
75
337
213
827
831
475
788
637
545
85
90
833
318
571
875
592
242
792
239
894
781
893
996
856
220
709
896
905
417
599
856
458
698
537
58
958
868
109
780
598
321
58
542
958
178
389
840
201
861
960
907
975
36
900
394
498
215
483
587
828
345
864
696
121
109
348
74
467
969
840
218
354
26
804
855
536
734
634
236
100
398
319
520
43
893
487
697
142
528
445
649
475
703
508
101
259
98
732
58
388
381
598
827
600
223
902
888
533
126
180
381
479
94
497
956
198
818
210
942
760
729
185
119
673
247
280
775
350
804
824
174
264
676
717
319
360
345
494
677
710
798
550
423
955
481
40
775
184
817
847
100
383
485
788
900
664
520
177
268
676
439
23
982
406
628
686
942
285
777
476
946
640
87
441
425
616
524
193
454
580
225
607
689
938
153
283
228
458
12
312
873
858
901
441
138
896
352
500
341
978
848
36
613
581
76
838
417
55
433
804
206
608
996
224
926
786
161
725
878
753
584
895
795
487
163
853
909
804
841
50
83
764
421
987
884
69
977
80
165
632
202
394
893
979
582
730
896
331
560
36
92
796
877
125
67
716
921
856
903
363
490
104
83
613
514
468
253
106
625
90
252
162
983
273
119
635
894
838
984
764
907
732
881
105
89
554
3
768
766
650
849
325
324
426
115
874
961
976
190
609
324
991
87
321
810
205
413
235
45
456
57
643
320
454
991
609
99
386
848
848
340
858
560
551
372
319
578
94
708
603
835
249
454
511
362
950
907
235
119
493
944
407
560
895
343
858
854
106
933
198
825
152
463
64
79
886
977
706
444
214
164
458
818
895
181
364
145
976
606
103
412
303
322
637
607
973
244
167
691
135
159
977
799
260
804
979
297
924
837
357
830
685
492
148
643
925
105
507
649
14
712
75
184
97
563
592
92
358
195
335
312
50
98
733
476
708
339
943
893
532
726
150
141
48
755
989
909
238
853
576
461
610
597
94
242
513
959
818
351
413
639
157
722
650
252
834
715
216
683
428
941
764
836
101
922
819
237
270
713
943
218
933
444
535
628
204
166
686
733
566
154
523
51
623
725
553
697
278
718
373
801
299
296
432
679
749
794
246
460
921
343
695
614
98
726
663
966
194
324
15
677
656
961
174
403
188
126
889
307
510
963
753
523
504
790
788
205
750
653
391
766
66
755
756
127
495
677
153
896
522
121
802
191
863
267
700
429
788
843
623
617
326
608
346
340
964
366
536
988
169
959
134
994
760
79
486
839
515
110
626
220
729
598
492
506
643
834
671
325
352
180
3
168
74
753
514
586
795
245
557
77
269
10
9
634
436
154
66
765
167
314
860
472
745
760
393
760
257
136
930
782
475
497
662
171
681
985
206
684
138
102
841
908
880
868
1
810
476
911
581
256
642
288
699
808
471
724
359
680
384
964
696
282
346
734
458
817
913
211
282
192
278
423
219
99
152
920
703
677
940
448
973
776
848
995
845
797
751
14
988
596
69
414
479
201
188
175
796
61
861
383
136
368
135
489
672
552
354
228
213
42
699
562
832
618
114
989
203
976
233
303
918
664
390
886
348
844
540
771
481
245
274
610
638
825
310
864
814
110
833
532
655
532
109
918
662
809
716
979
513
612
802
446
555
57
965
360
653
561
186
225
86
369
253
712
808
749
536
884
726
694
216
770
157
2
472
833
550
821
977
482
858
937
266
615
885
526
447
838
181
528
415
357
152
684
316
831
903
703
527
18
333
564
915
989
514
996
923
774
155
466
939
292
634
57
329
814
526
912
303
162
320
861
69
62
97
397
813
396
651
136
440
146
986
847
549
698
730
511
495
728
984
631
980
435
68
416
210
347
584
918
624
184
337
837
442
180
240
954
851
190
768
954
671
352
138
830
479
402
978
469
363
886
439
150
270
943
161
315
265
816
551
667
551
622
210
354
428
598
259
509
721
406
677
469
192
634
677
153
383
549
652
805
972
612
436
464
88
726
673
239
737
304
371
381
463
702
12
346
812
752
815
369
64
852
639
421
127
849
577
728
977
17
198
184
441
83
265
261
588
512
637
535
754
405
139
937
93
470
790
853
138
208
522
291
244
152
503
336
819
5
505
40
725
458
69
664
625
886
938
207
79
670
785
475
516
106
852
436
301
606
328
841
592
176
875
192
797
731
747
930
264
501
640
299
902
637
179
835
194
791
689
991
918
630
53
592
841
43
998
617
206
703
284
964
922
731
347
561
788
394
928
442
223
191
735
827
671
710
566
675
782
968
819
968
803
738
590
583
523
501
967
275
823
428
703
301
164
837
329
36
627
861
617
75
675
53
294
282
603
834
359
708
756
521
532
725
754
941
358
625
936
181
568
851
433
175
162
634
767
872
223
773
933
986
775
44
120
662
246
721
902
873
137
286
385
114
673
229
254
981
611
506
684
264
61
740
94
404
205
447
263
557
628
566
667
474
480
50
869
0
138
20
849
972
827
226
273
231
747
418
338
237
23
613
181
204
14
344
215
482
489
355
111
356
604
614
513
761
153
896
165
274
631
218
648
227
431
643
499
364
408
681
273
8
121
733
894
392
298
373
717
935
413
303
478
193
960
311
587
801
922
188
655
138
744
507
698
279
625
567
877
766
810
22
446
650
907
67
636
480
593
559
747
571
84
367
396
134
240
432
751
747
925
440
353
203
93
917
791
505
190
173
169
857
322
687
980
837
604
925
172
619
321
503
309
269
403
918
586
607
737
819
276
527
906
266
62
845
104
267
467
244
530
747
176
337
940
619
77
79
68
805
572
83
439
441
220
920
816
146
567
395
730
477
381
806
454
409
781
713
129
745
753
702
973
479
813
4
384
683
479
295
240
937
574
956
49
868
382
549
139
378
974
302
318
320
700
796
85
255
268
883
112
926
727
339
417
375
146
582
818
399
871
857
609
446
211
593
321
998
913
66
901
635
719
299
670
86
410
734
180
165
618
725
366
9
831
8
490
706
326
78
933
295
682
342
888
331
66
61
673
651
75
895
211
418
571
493
53
766
84
27
687
460
216
650
183
120
917
40
967
811
570
456
181
199
491
875
99
572
718
134
932
183
437
727
924
560
512
517
815
213
908
173
615
107
990
374
431
661
500
981
398
253
266
785
344
5
845
101
118
864
652
673
733
319
753
659
884
713
974
486
265
298
773
674
390
873
150
950
379
29
52
174
411
699
213
873
375
426
175
425
718
566
815
681
730
283
252
78
96
159
291
679
123
231
945
904
91
779
495
347
152
2
932
19
656
380
878
42
323
186
306
450
750
497
452
411
71
244
350
798
71
588
728
410
617
579
906
276
741
162
923
544
438
27
743
982
354
174
862
121
341
325
588
159
670
615
280
492
835
563
442
853
693
462
446
696
117
832
328
643
227
187
813
923
49
157
535
367
412
760
870
453
165
142
969
450
148
654
629
637
978
761
505
709
45
871
39
499
945
464
917
623
603
878
387
768
166
107
37
94
427
553
277
503
790
927
309
334
404
794
681
184
430
934
55
835
793
190
490
831
173
885
123
846
505
902
412
708
66
896
157
713
720
309
75
300
359
426
718
322
952
136
153
814
825
363
598
175
563
835
794
881
32
429
307
163
134
251
275
959
715
424
368
850
89
694
753
323
796
884
268
563
211
739
715
217
329
647
990
123
2
15
16
358
686
351
479
847
905
930
270
98
756
973
453
745
935
577
428
706
261
341
1
906
218
192
142
608
846
63
270
787
934
614
471
504
9
708
363
554
307
613
964
763
821
339
448
162
890
294
623
299
967
987
139
33
775
34
455
797
856
377
675
605
874
662
41
640
451
831
838
691
364
680
118
807
495
48
58
307
507
596
532
560
586
322
544
780
659
249
832
635
985
83
395
250
28
794
65
646
806
607
430
238
827
267
62
139
746
446
43
863
413
918
322
380
68
423
980
507
639
813
972
428
417
91
384
121
615
864
161
60
980
833
923
187
563
93
796
538
890
151
68
565
128
490
258
277
988
904
809
764
934
296
988
41
44
175
757
625
277
34
398
942
306
78
776
959
741
570
190
400
520
253
250
639
603
950
836
312
700
876
734
946
616
385
0
691
401
449
741
669
508
70
397
392
686
343
536
420
410
718
244
312
360
864
34
442
191
820
790
521
459
549
229
990
470
365
926
617
989
466
278
755
181
583
784
184
318
467
266
382
216
610
634
672
699
852
673
498
346
728
521
229
797
478
939
737
526
543
531
761
485
794
673
482
319
624
486
356
258
784
307
263
551
706
904
950
113
287
302
916
981
253
312
613
379
120
176
339
382
783
872
820
931
885
121
556
671
728
352
784
274
675
900
674
522
58
243
403
586
271
312
484
46
913
728
834
89
57
724
449
577
923
381
853
625
926
265
673
428
750
621
326
213
980
641
429
30
5
985
69
149
192
897
0
318
233
558
118
135
112
925
936
510
898
343
988
249
307
772
796
195
755
591
149
832
660
248
39
506
356
154
139
77
601
16
509
477
268
880
996
852
960
393
119
682
78
420
676
563
565
767
837
725
367
658
393
429
806
237
752
852
737
540
686
27
908
622
68
840
228
940
700
506
108
44
767
482
30
579
585
336
296
228
818
715
395
984
268
127
2
288
681
793
701
568
845
570
953
279
999
619
699
732
564
242
664
538
812
132
995
555
677
780
178
977
966
423
11
997
878
792
699
419
945
49
299
596
335
999
556
532
57
812
29
476
881
762
301
73
284
6
846
346
985
940
252
693
731
145
288
493
163
743
115
534
574
431
484
562
775
822
776
650
578
920
650
572
739
67
968
498
758
406
678
632
393
108
244
816
169
1
238
842
714
817
209
467
562
567
279
657
707
736
743
981
659
991
978
407
871
93
503
822
464
653
264
304
246
307
613
745
777
869
55
134
977
626
996
372
687
585
790
555
412
489
283
480
670
575
470
377
95
421
560
351
488
220
108
479
260
91
922
731
140
242
872
416
468
602
899
359
174
154
789
170
531
658
640
197
499
892
184
404
78
954
213
366
777
382
491
663
573
211
859
10
907
559
504
436
790
259
922
773
653
122
143
909
714
29
173
472
691
779
805
12
727
817
922
202
577
794
321
939
829
566
810
826
344
532
224
827
122
270
735
905
918
620
381
797
7
893
824
567
519
618
956
789
81
187
373
812
63
315
804
728
466
165
345
625
110
454
414
254
84
717
28
178
570
223
290
777
924
806
723
344
907
539
375
974
288
775
603
221
183
595
776
622
978
87
959
364
965
743
91
490
254
452
919
845
772
504
882
898
54
276
278
788
538
818
452
407
671
37
496
798
843
638
789
123
603
181
559
370
660
604
515
933
389
139
186
196
667
874
575
275
356
985
923
875
929
385
875
961
175
277
760
846
5
176
883
28
291
709
707
0
20
549
390
108
569
858
346
773
566
817
162
108
734
588
631
874
843
588
546
50
289
120
384
9
838
339
70
745
40
847
640
294
285
327
513
633
358
266
255
751
777
519
200
184
892
186
308
589
295
726
339
480
738
207
665
156
174
728
914
708
479
865
712
317
362
588
963
743
919
481
960
652
338
396
809
805
221
156
537
923
469
323
603
930
468
489
933
815
232
43
917
920
495
945
408
672
237
715
695
457
169
398
365
985
945
129
700
336
402
914
152
508
559
877
372
756
832
684
939
806
283
77
96
307
274
43
721
768
216
452
642
589
827
258
497
35
475
597
630
857
21
673
660
925
247
453
878
634
562
732
888
815
922
487
354
952
380
787
519
596
491
758
42
545
708
982
163
842
539
271
0
103
346
54
611
769
781
200
722
952
34
361
985
32
739
53
504
460
237
879
995
710
730
232
348
859
678
844
911
397
70
272
523
669
314
597
862
129
567
318
586
899
397
551
699
181
867
260
765
359
98
2
572
790
560
869
379
988
291
830
167
547
946
598
503
959
690
416
779
267
202
926
17
294
810
44
995
597
444
521
805
61
801
385
532
13
974
548
775
575
712
204
415
906
11
157
896
32
617
11
689
707
73
151
348
917
949
272
617
441
283
56
208
217
413
80
484
919
530
349
913
301
275
852
653
369
84
530
935
692
606
281
587
130
421
533
255
491
172
972
129
25
712
908
914
54
223
597
86
951
886
634
725
851
751
578
487
28
905
774
693
967
855
14
742
73
609
347
667
955
921
602
424
108
524
401
471
10
558
546
616
61
142
341
689
78
70
135
836
432
313
795
289
660
468
355
204
315
957
828
447
136
362
927
532
513
267
326
362
981
571
751
842
385
982
852
823
801
851
817
636
710
709
972
392
504
980
12
19
714
301
743
521
581
592
243
510
847
948
463
687
11
575
424
545
70
454
984
767
222
53
846
534
557
943
11
3
993
950
803
100
18
403
43
928
123
110
206
412
754
661
345
268
782
296
52
654
161
268
298
79
777
611
966
396
642
870
435
543
643
789
624
884
453
42
35
123
593
606
854
107
787
702
708
412
657
148
744
314
54
837
773
468
446
743
465
229
704
574
466
885
464
43
662
946
873
283
596
721
395
494
651
952
966
163
9
839
347
315
195
828
738
428
14
302
750
360
497
944
691
169
405
663
954
571
469
123
958
459
145
914
81
267
940
218
346
93
98
12
784
596
549
593
782
375
131
841
94
277
636
99
940
989
811
616
771
87
580
461
149
991
233
262
212
980
499
973
267
933
493
499
222
984
275
929
756
290
785
578
264
565
278
100
530
610
110
70
959
935
196
509
518
852
284
595
929
808
371
252
182
230
612
93
649
445
715
199
724
57
507
570
836
936
291
311
108
685
813
94
832
299
107
213
685
518
372
95
440
863
522
267
848
103
828
969
497
850
19
9
99
873
250
246
235
298
967
824
734
80
698
562
195
644
901
143
380
247
826
697
165
906
615
113
984
25
218
679
937
155
861
790
612
185
757
842
536
419
882
647
752
348
888
526
35
646
778
699
574
231
868
653
578
339
636
752
441
761
496
200
767
887
959
641
267
887
847
288
30
907
876
49
958
739
513
367
653
884
11
746
179
561
806
115
70
367
310
182
195
461
223
591
745
245
475
411
188
581
769
607
965
858
337
292
839
277
434
414
160
351
118
233
128
630
597
935
471
357
621
340
330
249
408
78
431
378
819
792
3
693
544
423
567
799
254
170
608
386
579
626
505
616
830
451
334
3
908
78
758
247
314
91
583
362
326
160
904
864
257
895
238
251
671
402
190
679
247
176
536
535
906
691
986
223
471
965
352
110
456
945
268
659
33
308
150
821
26
222
117
977
18
78
633
241
904
466
514
286
941
681
202
19
897
126
167
416
327
218
453
751
51
724
566
437
1
331
752
748
775
916
530
988
721
606
591
689
564
45
803
24
271
320
264
498
130
106
435
26
603
274
935
529
875
516
648
989
661
170
389
747
641
465
763
657
803
297
618
78
897
345
598
535
237
890
548
479
798
386
349
91
262
381
53
108
276
501
171
92
646
876
261
863
56
527
35
311
363
425
27
421
400
586
536
202
391
886
116
606
921
659
391
506
37
915
774
376
780
107
847
627
127
491
692
195
189
453
172
502
305
740
619
738
276
890
295
669
133
910
447
428
526
837
840
936
872
498
835
826
148
831
868
28
694
195
766
617
596
326
283
652
574
85
234
433
205
30
965
925
911
570
582
943
971
854
525
922
759
94
87
263
664
21
159
212
982
748
778
409
103
356
346
647
336
258
159
154
610
654
382
617
405
499
684
220
913
865
114
385
931
154
719
147
941
884
90
658
212
984
187
440
607
653
978
956
228
804
503
309
809
711
10
55
949
859
188
605
869
288
971
570
415
273
684
160
278
129
287
918
150
270
808
867
691
132
307
571
870
230
896
728
72
673
756
872
1
536
87
895
831
519
190
90
49
635
988
188
758
121
696
10
292
336
188
931
746
385
440
775
973
607
155
337
639
48
770
213
272
536
231
861
64
244
972
936
101
481
130
568
433
680
506
631
777
640
481
604
598
831
536
772
197
815
645
837
922
940
126
416
914
442
923
629
933
248
739
40
571
302
791
812
681
784
705
480
109
242
822
186
168
958
360
770
205
828
429
104
944
510
661
127
532
583
809
541
873
46
75
430
892
210
758
412
193
882
981
940
936
400
728
905
740
15
935
768
334
309
489
711
516
236
62
74
30
918
337
343
715
735
510
78
878
831
675
915
357
697
353
910
807
357
656
117
574
657
487
486
820
914
877
721
615
124
394
497
635
858
976
905
144
30
793
250
451
148
591
397
201
341
145
550
693
715
446
948
241
400
259
720
355
456
943
633
680
246
411
977
878
144
388
978
957
4
73
474
699
604
247
659
943
645
907
502
544
309
906
359
581
535
822
570
544
359
293
154
922
116
567
303
432
840
488
465
820
588
653
407
173
16
14
765
840
829
121
631
114
824
859
470
889
631
427
167
193
263
255
644
32
397
650
548
140
905
50
846
90
229
861
201
974
269
513
493
291
540
525
131
387
286
168
104
279
389
650
76
194
829
32
728
341
161
683
709
627
899
967
330
458
178
779
818
207
450
455
15
506
57
556
736
544
473
671
962
829
130
967
772
34
306
784
490
248
655
903
97
813
935
252
261
36
619
337
618
327
436
463
905
57
269
877
891
732
247
68
366
418
964
419
477
430
607
443
207
763
528
364
785
338
263
335
586
11
569
559
368
105
125
767
439
775
272
732
684
618
553
292
953
830
557
386
540
723
231
113
149
152
761
423
939
410
819
383
282
104
198
724
352
6
67
987
182
926
109
354
397
181
491
536
571
271
364
353
762
811
666
892
500
680
548
554
782
815
532
733
776
923
244
864
849
829
486
458
740
66
734
29
814
845
721
858
569
202
420
664
682
331
577
308
471
725
338
963
534
319
502
465
683
828
236
709
232
256
272
473
548
203
414
713
553
20
190
329
828
474
882
463
588
875
335
464
477
28
872
964
327
925
936
330
35
216
243
25
656
415
921
601
276
644
467
219
665
74
933
965
622
927
604
249
590
253
664
119
542
223
331
280
481
766
593
240
393
680
311
941
184
34
644
720
69
180
575
542
525
731
74
697
976
710
942
700
254
321
643
582
526
455
829
265
55
35
121
709
400
483
868
428
166
992
515
857
398
372
353
307
390
120
260
87
217
283
988
253
465
817
872
793
888
474
853
316
118
660
826
711
323
590
379
827
151
869
459
411
115
610
113
228
166
483
729
417
98
773
583
612
879
866
168
344
633
837
232
495
456
16
13
282
25
139
628
676
230
185
183
246
270
25
66
231
395
597
374
718
195
534
435
124
652
213
282
93
483
230
602
422
853
75
10
773
724
190
719
323
565
894
367
752
804
788
892
87
513
767
633
994
173
412
301
779
233
818
193
729
701
877
622
991
730
612
553
291
107
812
796
634
730
460
149
432
280
35
25
596
762
232
985
484
132
863
572
216
56
240
566
77
743
732
830
615
222
10
242
755
744
663
392
823
332
816
622
716
837
400
122
644
428
98
891
531
406
596
909
123
345
156
428
609
939
995
677
68
390
507
463
627
741
442
705
827
276
822
120
754
798
316
401
604
507
800
970
174
621
958
685
123
164
416
331
474
516
632
730
240
708
301
321
761
535
710
823
500
751
973
425
151
369
908
172
789
932
238
353
529
534
515
707
612
638
882
153
665
196
192
663
386
575
738
963
26
114
964
789
28
185
790
891
677
399
44
625
209
242
302
278
479
629
681
599
852
113
176
530
31
304
28
457
272
875
861
526
1
293
584
259
866
82
797
597
32
530
398
780
488
980
804
442
54
469
310
297
293
954
16
800
463
86
60
188
585
425
79
42
269
871
685
638
876
517
805
716
316
889
958
833
804
463
114
199
972
89
567
201
849
958
382
60
646
790
176
830
155
476
810
121
729
81
304
53
893
377
711
250
529
932
752
516
458
577
469
36
295
906
335
2
345
578
990
833
52
629
783
918
219
311
604
649
477
242
925
923
98
362
810
453
615
445
616
567
938
191
619
951
78
229
529
285
109
595
587
371
465
201
410
319
705
279
521
72
300
7
167
817
812
443
269
234
266
405
277
463
0
628
599
353
25
369
544
224
990
68
776
93
828
165
909
906
255
501
202
763
51
731
963
937
794
322
674
463
175
288
409
417
775
430
549
809
682
127
432
838
763
151
860
995
38
680
281
613
918
231
370
119
784
284
353
483
825
375
450
980
880
981
915
286
294
209
326
327
595
136
953
396
582
241
516
397
207
555
252
924
905
624
495
986
751
219
209
87
143
633
643
861
719
367
785
705
565
739
265
28
290
131
62
677
802
750
68
564
94
414
245
632
248
134
569
938
957
939
122
298
983
608
145
173
132
444
63
666
648
523
556
882
222
578
879
299
104
130
339
937
390
295
154
886
809
669
127
942
958
617
595
671
697
381
684
7
520
789
133
905
114
697
930
914
469
516
945
124
523
400
625
302
495
120
395
579
421
533
861
156
304
801
787
155
664
675
809
987
87
46
313
980
700
524
399
596
476
867
177
814
6
673
501
170
615
70
87
765
260
981
244
899
662
47
483
716
389
606
407
545
689
32
726
215
652
522
452
648
744
163
978
535
418
857
719
553
353
203
956
674
165
764
413
75
377
142
133
894
250
831
95
666
336
661
573
365
951
66
196
305
781
421
468
823
167
189
550
594
218
488
138
998
447
549
857
656
78
816
342
400
984
466
472
965
87
146
517
926
96
225
264
484
140
519
154
121
789
204
695
151
806
346
676
943
687
563
779
134
594
494
170
720
539
845
23
376
221
596
519
911
62
255
243
453
842
878
464
533
968
916
955
104
794
191
646
37
822
940
683
689
122
818
719
258
461
242
762
855
735
542
558
225
44
440
962
887
191
966
291
768
640
713
499
515
519
160
25
560
279
528
996
750
615
199
76
175
161
760
496
281
666
600
432
142
579
736
716
760
591
289
695
561
223
378
834
699
806
434
382
628
571
614
292
378
575
641
451
7
675
746
536
517
832
741
979
746
417
47
106
8
123
914
188
498
40
878
287
572
634
761
850
564
663
628
623
312
809
407
728
500
502
753
300
703
458
623
941
981
751
293
664
505
187
461
721
739
213
500
248
611
554
801
14
890
293
517
462
455
200
910
478
937
72
588
717
296
811
514
802
20
397
516
25
919
19
137
21
727
607
273
603
42
379
970
64
194
822
686
3
818
842
952
589
727
957
7
408
688
92
411
93
282
550
319
794
268
155
230
868
604
241
207
946
351
557
305
469
355
875
145
869
935
784
799
828
531
737
983
9
602
281
618
869
210
690
932
713
93
211
514
624
439
579
551
606
806
93
961
899
872
80
295
146
302
591
314
617
46
636
843
157
160
299
520
825
880
752
893
809
0
769
517
501
753
601
520
25
24
713
798
285
114
254
758
124
594
585
113
423
387
832
20
560
106
84
405
505
812
130
234
429
85
29
445
192
753
716
518
840
594
487
274
675
730
618
224
811
419
283
527
135
549
163
502
436
906
570
464
270
416
915
844
145
541
578
34
152
63
248
99
770
947
800
69
381
584
424
496
806
402
655
244
603
900
677
39
960
551
392
625
920
513
963
501
454
881
0
312
244
283
25
972
248
792
774
194
236
928
669
494
768
550
393
194
22
529
259
96
959
128
268
189
230
256
716
320
926
427
681
802
300
312
106
985
607
39
353
791
471
584
388
454
443
258
816
884
1
515
597
58
818
636
249
931
339
778
605
2
26
234
262
296
413
575
662
50
3
489
865
901
79
793
302
617
855
516
540
585
697
742
323
515
657
374
379
52
105
64
47
346
266
10
453
291
776
440
644
985
701
403
814
319
925
0
863
826
823
105
646
223
673
63
806
827
459
650
102
637
806
69
650
782
974
312
61
964
470
633
50
174
10
92
194
565
150
602
149
687
917
443
216
544
551
652
591
555
919
707
596
571
301
99
607
900
49
177
396
690
303
852
314
21
750
382
523
962
916
540
660
810
182
649
98
551
828
362
607
486
81
561
405
204
856
628
256
785
285
124
568
384
146
588
593
960
667
242
735
2
362
117
548
101
495
621
349
848
472
290
601
942
736
727
92
332
742
304
404
759
14
46
848
405
133
864
411
961
890
16
633
510
542
882
845
994
157
884
430
851
724
487
19
142
505
272
990
399
472
857
200
819
685
612
667
27
675
12
772
934
665
660
411
89
32
184
315
926
407
245
590
987
191
286
167
723
583
958
890
776
893
825
417
109
65
372
714
642
791
549
196
502
160
284
12
291
986
634
70
443
792
341
865
708
137
549
105
981
920
261
312
812
233
855
740
535
396
939
528
32
269
307
559
34
411
338
984
320
459
213
557
682
830
232
693
483
489
275
769
537
29
330
974
603
319
566
674
917
442
440
62
718
798
780
691
432
525
655
807
597
318
78
142
241
139
124
542
187
591
564
733
144
92
386
817
512
284
93
405
978
463
686
213
114
556
651
259
858
417
334
371
846
88
474
939
341
524
73
448
23
897
800
354
410
261
455
466
684
275
693
290
105
837
851
629
76
245
608
911
848
133
970
333
475
959
101
146
702
506
67
309
863
22
692
215
760
504
398
616
754
879
478
977
481
742
510
262
182
866
443
266
741
883
156
259
815
265
12
254
217
720
955
273
190
327
197
399
442
264
111
987
468
581
970
354
296
366
817
535
655
548
484
344
636
320
228
108
851
349
207
294
575
817
308
795
165
770
474
573
503
176
151
587
454
405
101
38
445
932
828
295
856
663
419
948
220
389
49
617
197
690
58
603
9
666
546
822
837
932
927
288
985
916
731
525
979
899
519
35
48
967
465
923
482
410
675
696
581
6
325
63
475
544
660
709
753
324
218
97
285
970
905
324
545
484
268
396
984
132
978
562
370
885
384
337
233
318
872
580
875
655
184
366
381
731
618
265
390
640
43
269
416
685
391
688
909
123
496
389
438
761
794
971
739
636
651
840
545
623
200
782
549
318
421
742
823
329
126
361
915
894
731
185
833
116
509
222
774
783
457
122
421
653
763
542
978
265
882
559
770
95
217
361
246
126
28
660
850
692
291
673
233
526
42
221
212
807
12
848
882
467
774
472
96
936
269
521
898
613
824
117
110
984
580
85
985
772
791
546
566
866
65
116
693
492
579
848
916
992
101
505
478
611
542
924
941
538
273
18
48
115
614
655
219
700
311
195
363
892
730
617
174
621
429
592
108
989
853
169
214
22
311
908
346
673
674
52
759
966
2
804
862
557
887
46
344
356
804
441
379
213
912
139
599
650
369
536
900
270
129
265
764
8
709
378
979
686
643
354
857
374
718
566
358
885
723
668
92
830
636
885
951
398
796
304
128
232
530
896
366
558
972
313
166
469
616
539
867
791
138
141
110
511
757
610
851
429
805
768
918
474
250
979
686
258
830
79
661
316
722
568
527
722
446
379
907
109
787
796
149
828
711
416
162
398
481
259
581
963
820
227
418
257
251
904
872
111
938
746
20
788
481
742
699
878
685
536
627
291
180
276
18
969
965
328
767
86
760
91
607
32
943
744
515
536
703
992
164
571
747
708
842
452
274
374
954
559
715
175
641
223
106
210
253
511
461
680
49
352
336
774
696
451
273
730
557
211
850
151
295
763
410
718
302
397
377
669
384
958
417
431
582
798
519
450
53
841
507
952
362
670
401
400
329
938
793
924
611
205
345
826
48
126
574
204
651
41
991
703
194
634
206
769
185
442
617
642
210
960
376
342
134
625
973
414
756
798
21
678
262
978
586
743
260
91
837
276
449
666
109
904
924
476
533
23
925
640
411
618
627
224
616
650
453
112
442
528
322
245
879
922
748
904
894
243
586
291
528
604
272
232
196
349
6
445
913
360
275
704
597
462
7
71
687
786
686
646
631
646
305
773
761
905
435
470
446
836
27
961
137
405
31
999
674
500
902
125
230
531
943
291
506
961
658
605
596
542
561
348
1
637
996
562
741
971
777
853
255
621
869
332
998
681
919
821
98
651
953
826
772
286
929
616
0
650
727
428
503
513
107
734
551
839
861
525
216
821
740
624
95
816
453
460
405
437
626
815
686
555
481
753
935
534
87
641
724
555
457
755
299
372
960
543
406
841
386
706
55
136
96
12
13
473
299
946
287
575
796
671
699
741
830
480
775
533
498
187
29
574
750
795
110
988
25
172
104
173
883
261
571
452
551
853
925
530
212
133
143
278
310
568
235
66
838
564
191
903
624
418
733
253
515
85
377
831
595
480
564
133
885
515
67
823
823
490
293
521
516
515
133
907
69
911
483
508
122
92
300
910
222
244
288
316
207
865
548
417
826
642
657
143
903
685
242
898
621
266
669
899
15
291
831
976
502
417
429
425
977
856
582
990
773
731
419
481
443
389
902
520
984
254
110
482
272
719
437
61
788
327
362
738
592
248
706
82
273
738
520
465
78
792
620
136
661
684
466
444
197
417
848
569
539
708
859
440
262
691
582
406
379
712
574
612
821
241
126
968
87
204
734
728
355
384
949
765
406
416
899
343
707
99
0
188
915
476
33
15
907
133
333
72
508
946
783
571
222
786
212
157
813
515
921
37
31
717
117
823
305
927
341
716
180
39
454
910
693
592
446
907
977
290
424
850
108
642
748
465
708
637
737
539
383
392
721
380
784
235
620
891
465
84
579
48
163
68
969
824
112
58
540
634
0
9
95
521
354
47
738
542
15
383
459
871
76
778
833
785
625
380
688
826
214
468
633
226
306
711
504
407
420
402
191
802
998
815
831
931
634
397
811
997
424
817
636
288
319
517
646
798
868
188
204
767
567
140
936
891
455
283
829
461
1
432
932
181
254
678
852
43
74
689
245
659
404
450
386
71
986
312
547
811
284
740
609
399
77
289
549
190
347
864
446
291
74
558
660
510
387
294
926
892
832
46
763
587
15
949
213
992
28
512
592
437
898
826
353
116
182
311
162
391
185
958
265
670
119
356
246
735
979
948
711
475
915
943
45
570
737
772
704
701
271
802
937
126
591
474
770
70
219
241
821
883
284
388
435
129
33
382
69
163
850
914
380
675
611
497
93
824
864
198
957
17
430
974
802
55
607
313
508
72
718
227
515
930
943
219
840
975
401
492
263
247
604
379
550
583
400
616
778
328
182
527
103
810
276
488
55
294
566
267
930
412
851
51
12
238
14
254
925
478
588
727
502
291
98
334
682
649
524
741
736
831
577
834
947
94
932
869
878
471
2
404
25
219
149
20
91
533
193
48
640
885
586
423
783
635
395
963
330
991
109
857
340
769
7
680
349
591
710
802
708
821
921
312
147
100
451
83
763
447
54
458
858
366
972
895
744
753
377
910
393
36
882
635
524
639
885
711
985
121
223
511
778
342
561
423
81
505
604
301
213
705
940
649
983
35
566
430
520
575
501
159
340
488
88
266
423
752
841
93
420
616
990
861
173
995
663
141
949
964
548
329
432
906
548
216
66
26
166
291
211
924
562
814
168
915
291
340
194
479
988
75
864
488
746
188
68
180
94
408
299
141
972
179
571
728
169
388
246
849
867
646
477
35
612
644
951
851
253
437
559
486
580
791
810
934
386
286
351
296
725
363
826
924
527
337
930
400
110
69
395
570
102
767
38
399
886
128
883
424
561
720
99
579
134
122
14
469
639
627
26
303
881
886
632
116
378
925
32
487
380
744
908
690
856
842
67
491
507
756
705
257
614
725
47
965
541
591
704
740
587
59
102
702
116
413
266
900
332
952
439
378
726
510
184
535
10
693
304
502
495
207
714
709
353
609
237
987
995
788
754
848
528
863
544
606
379
469
958
179
489
361
329
665
833
606
329
730
202
246
59
663
97
165
811
998
347
371
207
815
31
505
388
724
376
162
539
352
256
741
768
767
652
93
910
881
661
462
49
491
656
721
257
773
343
64
891
147
386
659
415
215
562
462
370
439
165
857
79
756
38
818
146
32
337
654
495
542
561
861
860
998
456
275
451
196
96
104
776
484
168
61
830
207
264
234
868
230
177
839
845
247
524
14
304
100
36
999
161
476
461
657
871
929
18
516
639
735
101
481
962
34
938
133
856
511
419
538
151
416
875
187
299
285
629
246
63
381
600
707
458
871
916
822
602
247
485
93
475
215
703
590
265
864
888
953
44
324
518
784
381
846
53
378
82
65
152
778
970
995
557
704
546
13
662
838
952
702
622
621
829
734
645
430
730
302
300
345
761
293
57
657
820
572
104
85
389
320
90
958
193
673
658
76
29
108
172
162
904
549
42
477
883
166
416
307
229
953
12
632
21
413
453
195
8
590
258
721
422
994
229
401
684
252
428
859
445
677
979
937
510
919
695
99
476
979
723
767
461
857
584
697
248
138
115
787
281
897
563
747
132
533
806
788
437
744
974
930
626
480
5
47
750
371
126
794
447
138
353
440
166
691
484
963
549
439
135
217
497
178
268
776
1
965
294
790
958
249
265
980
31
156
363
625
900
719
230
598
378
308
591
517
783
950
45
703
298
686
384
226
271
274
86
863
360
188
273
48
198
424
352
768
326
962
783
428
631
619
159
852
917
33
716
205
745
56
753
672
884
921
248
423
118
240
142
355
861
643
257
35
751
951
346
69
179
407
91
607
516
975
14
374
688
473
536
307
505
632
962
944
412
320
896
462
37
460
639
498
178
52
640
657
883
12
630
410
977
459
266
56
887
802
52
483
779
193
787
731
969
967
566
464
960
538
403
317
516
510
282
396
36
179
494
34
954
590
206
652
82
420
634
46
408
797
526
759
305
856
172
894
888
842
992
765
864
308
930
134
344
529
205
577
62
930
743
523
793
531
27
559
773
499
842
848
604
570
999
777
759
364
755
452
892
491
997
402
108
901
39
114
918
901
110
797
728
543
105
309
848
568
799
683
683
807
396
922
542
7
210
904
694
214
851
168
261
573
847
340
290
344
336
65
652
922
119
799
331
881
254
329
506
536
425
341
642
315
762
319
964
755
266
785
632
988
5
99
405
279
167
481
311
307
815
467
271
67
242
428
226
924
194
954
38
679
246
713
236
646
897
362
842
721
426
266
657
243
427
623
250
167
25
196
501
660
839
890
798
701
454
302
415
330
158
381
414
418
520
86
229
495
353
685
583
780
579
115
492
775
910
917
418
608
130
974
204
282
17
463
736
436
625
714
926
674
132
857
358
877
828
833
494
450
367
835
20
902
136
882
771
484
660
834
831
714
839
954
845
239
758
86
142
876
154
513
869
173
560
607
869
866
785
137
695
606
867
53
958
507
783
298
806
741
883
213
294
981
352
97
38
172
849
271
165
887
534
376
845
530
730
853
86
991
181
243
769
185
903
647
541
495
809
649
916
541
993
536
797
361
706
38
557
815
600
469
434
29
790
626
813
936
286
934
800
782
113
235
752
189
13
106
402
335
990
395
240
289
118
504
568
416
69
126
177
619
264
119
257
658
86
743
484
188
276
287
93
582
165
459
398
94
403
324
97
780
217
641
426
340
574
728
302
667
705
351
332
483
206
116
972
735
142
299
382
664
964
823
733
610
28
120
276
322
504
916
969
618
798
497
533
443
430
345
980
380
895
456
376
724
482
142
981
108
82
556
24
957
749
621
915
38
481
894
421
539
955
890
935
834
594
675
598
849
129
9
142
294
866
205
297
577
39
818
950
99
109
949
53
669
739
569
184
742
224
55
285
675
506
436
736
847
521
789
480
433
309
908
364
988
756
132
356
903
792
776
467
17
339
10
883
806
301
465
225
529
192
453
980
343
156
620
402
613
41
909
996
685
962
52
64
813
526
327
174
311
415
836
706
300
319
272
434
412
465
158
441
363
52
323
124
713
924
724
48
878
245
228
685
812
399
410
764
205
322
84
319
819
108
171
748
304
822
47
238
680
814
747
660
911
25
492
214
804
722
124
198
850
791
427
235
879
570
987
197
152
563
361
429
895
876
429
817
2
349
72
102
637
89
815
830
528
375
796
35
170
666
585
489
442
381
321
607
598
126
875
178
113
769
757
297
129
122
913
489
446
130
169
940
466
16
555
387
105
73
52
280
476
136
298
786
455
653
8
428
843
103
501
36
459
94
282
428
949
387
534
193
885
445
619
205
742
937
930
143
577
198
24
91
376
450
511
827
179
988
50
194
723
727
180
815
122
63
129
347
328
960
861
626
736
187
637
565
745
767
809
111
569
135
425
416
44
737
197
649
776
551
685
864
126
609
503
209
0
836
83
780
786
88
930
102
570
324
711
280
115
688
530
213
872
85
952
83
483
970
952
962
457
316
450
643
723
607
725
767
761
874
938
343
561
202
210
787
240
681
344
304
972
104
142
515
339
868
775
140
761
201
496
271
164
801
25
898
868
914
100
965
518
275
222
100
659
42
483
999
463
893
410
44
199
688
891
65
107
548
914
614
734
961
217
177
839
467
51
642
671
924
313
174
380
908
807
876
971
227
479
123
370
634
402
409
914
707
435
653
846
215
146
406
318
921
234
365
744
983
222
125
329
861
506
405
986
165
543
830
650
667
501
339
465
848
880
442
185
852
885
317
950
387
316
645
545
947
752
671
937
899
751
841
766
157
871
684
60
957
272
64
220
153
903
183
466
352
251
976
438
162
180
32
344
289
163
118
431
463
14
472
783
216
482
494
374
874
807
395
423
994
107
465
144
468
836
243
297
279
547
227
971
577
683
221
266
391
573
807
705
16
435
397
572
561
654
466
5
212
888
34
612
486
135
240
304
889
83
478
94
250
623
757
435
1
292
639
731
785
272
35
549
80
772
690
894
54
156
804
181
0
271
445
353
8
845
102
961
896
328
162
255
815
375
331
692
270
651
541
403
508
507
384
788
984
949
473
638
886
530
846
230
895
435
609
567
736
530
972
675
406
344
705
304
204
945
174
587
600
976
634
491
212
325
277
159
341
64
690
21
647
949
432
350
724
335
926
238
481
319
468
677
377
611
346
81
811
33
310
41
332
646
823
960
973
931
813
656
877
247
30
463
822
142
218
425
480
424
296
526
666
543
373
342
569
785
793
189
231
926
690
896
397
666
374
952
64
163
676
905
764
702
652
31
237
884
762
483
232
183
409
642
102
392
263
33
597
899
382
465
308
285
345
76
925
492
544
818
960
253
941
822
317
227
724
158
57
284
691
707
497
335
756
256
407
196
286
906
617
887
367
534
826
828
136
625
639
289
156
773
569
340
376
98
166
747
398
447
633
178
45
902
362
114
365
296
656
740
346
858
127
631
713
183
6
182
42
559
383
50
553
397
523
544
178
84
806
495
793
982
379
185
294
684
474
629
799
450
163
837
931
598
737
230
66
265
760
325
499
493
403
610
400
147
627
262
833
233
532
513
500
244
943
745
681
874
435
358
57
954
780
170
272
876
426
374
471
448
352
596
770
127
688
103
948
713
635
315
402
680
585
691
476
877
172
128
6
959
444
561
804
474
223
220
284
680
192
749
687
437
693
351
779
133
8
258
90
942
728
926
388
895
156
897
757
207
882
590
810
277
676
628
664
772
310
649
118
20
758
292
785
85
154
770
931
910
238
925
886
715
89
58
118
72
605
544
29
6
686
682
121
141
625
944
560
542
303
221
866
764
781
648
965
458
369
773
556
234
962
564
974
677
338
721
89
257
954
885
938
568
947
845
936
952
31
585
293
588
470
495
301
675
54
936
791
55
483
172
770
174
266
957
34
675
830
160
781
475
121
261
247
971
638
486
321
752
160
271
834
651
827
681
729
726
837
938
102
844
683
20
151
689
88
271
858
780
282
493
976
86
447
913
125
200
236
393
595
615
178
348
202
642
691
394
2
29
551
604
267
336
758
53
596
0
476
788
921
618
219
104
257
496
415
975
215
123
805
843
776
232
583
611
599
637
191
651
900
931
606
383
182
563
53
916
594
242
240
48
737
769
896
394
21
638
415
861
57
348
170
901
820
817
440
33
881
990
638
42
734
193
791
870
705
723
679
343
751
558
759
88
629
439
280
604
864
365
332
792
28
162
373
627
440
388
788
438
710
756
190
984
745
890
100
904
817
573
575
763
383
496
637
382
100
191
917
697
401
90
689
160
866
546
613
758
385
507
691
966
688
419
782
821
560
489
391
632
884
906
185
803
111
54
881
789
662
850
871
363
883
193
230
515
249
468
392
340
556
660
835
518
69
213
397
760
718
431
102
646
588
772
781
739
85
58
248
342
471
569
870
282
586
715
563
1
510
298
811
173
139
867
44
409
596
633
339
688
863
883
754
198
859
124
819
496
554
984
769
353
300
482
647
83
40
611
961
319
273
634
298
804
794
188
665
969
511
918
205
350
818
208
683
440
966
950
374
793
179
640
127
656
666
116
767
327
674
525
749
6
409
320
435
24
969
320
743
201
16
184
359
4
557
959
445
950
272
84
755
653
879
864
465
951
944
751
795
128
592
352
702
50
387
203
252
451
367
474
601
79
162
875
962
765
735
510
601
370
408
474
98
152
533
251
933
390
167
970
756
923
870
774
740
76
556
494
462
631
26
900
400
916
702
654
40
780
964
857
236
656
307
464
273
228
124
850
869
49
661
496
148
37
198
971
232
551
243
758
486
214
57
9
646
808
707
163
160
899
143
97
774
380
945
846
306
772
764
483
198
833
829
374
844
569
771
750
979
974
309
216
674
631
970
901
116
730
828
73
783
514
142
509
354
85
86
978
186
781
109
537
829
398
574
336
683
974
5
203
594
868
740
642
947
359
519
248
526
763
739
439
958
796
755
556
928
316
469
372
508
37
900
367
896
268
381
586
338
397
215
293
370
72
279
378
516
417
513
169
375
600
222
356
987
757
236
313
613
614
521
706
838
275
614
322
689
502
311
927
197
717
315
631
93
918
827
494
762
701
20
704
173
538
459
128
774
55
544
678
951
398
954
994
758
115
788
424
692
748
679
455
763
781
306
276
430
484
556
908
443
303
481
344
370
141
2
374
278
191
154
523
867
535
231
260
733
216
141
632
404
683
436
30
598
661
867
449
852
397
113
620
817
786
971
74
931
616
944
317
88
543
413
584
749
601
800
646
49
145
658
172
322
370
777
929
780
776
728
374
237
193
197
516
24
827
631
177
445
976
547
571
134
873
171
733
49
744
287
182
907
714
177
560
188
349
799
611
724
250
954
190
573
312
778
823
270
33
93
859
759
245
427
410
588
787
767
18
644
331
597
839
96
281
878
629
557
175
554
391
849
478
595
551
539
65
364
942
751
411
878
422
409
64
978
468
979
710
557
279
931
884
777
10
831
531
462
955
800
871
549
837
731
883
807
473
554
555
396
796
542
48
413
632
414
316
402
646
997
943
53
501
812
61
224
561
91
340
738
252
61
892
464
615
71
258
509
707
690
941
736
330
327
848
943
969
333
240
253
202
26
623
407
816
640
676
840
120
713
823
523
507
970
553
59
188
241
967
319
705
942
874
106
182
710
283
507
578
720
85
927
486
957
745
150
875
198
289
580
175
628
16
396
566
748
161
812
828
192
514
178
500
692
90
144
87
209
950
98
984
580
533
676
76
117
197
865
143
238
498
275
106
13
764
193
732
137
274
926
154
978
32
417
285
83
246
208
343
851
713
825
200
645
36
197
578
801
942
964
454
787
667
663
667
151
866
741
578
137
557
232
628
805
245
745
869
395
142
223
513
706
493
924
32
472
780
428
472
85
885
681
132
853
749
485
577
922
313
480
889
807
330
92
935
186
921
532
289
412
6
968
536
950
822
140
169
432
830
688
579
618
478
827
298
119
242
723
504
827
956
282
499
206
819
875
789
277
804
781
8
701
991
480
202
207
687
811
362
793
261
340
563
257
461
242
969
870
895
957
703
858
819
151
190
917
327
36
46
410
605
277
44
467
513
54
214
13
988
780
947
786
812
967
280
771
5
651
86
490
79
992
509
718
768
411
243
939
114
980
834
469
634
707
950
84
188
302
570
121
528
278
258
521
413
169
543
125
351
522
414
141
367
21
997
773
725
505
594
390
986
449
833
92
571
518
460
856
30
952
324
822
884
284
488
550
75
952
533
553
611
753
479
421
612
860
700
26
933
945
835
70
538
180
163
871
652
108
208
154
904
20
101
791
282
860
523
470
318
479
647
638
957
418
949
380
11
32
628
615
580
908
699
721
341
75
627
792
629
321
576
386
465
150
774
569
274
491
13
701
705
750
372
548
542
153
594
586
363
773
306
500
139
167
472
374
828
189
967
678
858
907
250
27
990
432
98
126
245
883
273
721
760
400
393
921
711
946
161
93
19
508
593
638
143
975
839
338
467
461
831
559
441
165
634
172
821
940
526
802
140
361
781
724
775
995
677
832
217
695
168
689
983
916
944
207
720
394
15
381
56
147
149
129
392
499
555
713
805
916
278
848
852
882
80
34
331
200
421
581
938
889
615
920
901
859
732
162
181
804
542
347
357
331
152
658
746
695
566
569
666
35
197
993
424
297
632
146
139
390
676
357
325
130
293
15
106
830
829
294
251
789
127
619
150
486
853
209
356
673
298
494
995
410
126
206
760
270
816
734
865
514
872
104
204
709
760
250
296
337
366
93
471
579
769
285
386
70
200
419
597
990
545
746
448
467
980
416
959
139
71
826
467
96
696
285
218
870
372
12
171
681
331
136
190
61
326
562
301
999
121
422
63
642
192
320
764
859
863
130
813
566
0
256
150
335
286
442
954
87
418
351
787
804
889
53
163
751
911
878
1
600
334
320
744
697
133
727
968
457
116
553
17
235
927
401
39
470
355
178
469
67
991
350
841
871
189
424
607
855
639
87
535
224
894
113
769
928
728
41
859
940
30
197
2
478
196
843
517
606
502
458
525
244
692
822
912
601
795
629
357
44
916
344
196
408
884
370
106
953
862
381
891
884
895
63
582
917
188
542
837
160
76
537
732
604
301
800
723
267
711
931
321
565
616
343
914
560
762
680
296
142
26
514
355
666
108
652
899
755
721
877
974
102
841
900
468
992
719
26
535
254
294
804
823
232
236
256
332
617
634
178
15
828
591
959
108
463
136
926
928
979
253
63
45
66
415
301
11
838
424
518
750
373
88
951
377
298
772
553
891
590
195
677
531
994
948
341
368
677
905
675
445
758
228
200
925
387
910
292
941
701
433
769
195
99
746
931
585
350
586
931
919
997
866
315
764
953
655
495
257
363
31
510
392
721
450
996
336
289
316
282
338
765
883
531
179
560
20
687
226
665
535
666
947
12
315
403
256
647
666
392
846
713
156
870
902
397
149
372
8
242
593
780
755
595
989
534
282
670
310
34
705
562
986
782
334
748
942
91
986
610
537
373
837
997
646
540
631
915
380
265
263
666
635
504
159
29
140
639
275
769
526
167
977
84
79
875
495
859
715
856
777
44
618
496
980
415
908
147
272
63
652
95
955
982
350
338
829
531
839
319
694
107
99
360
830
446
780
619
22
859
240
57
851
377
613
974
621
630
59
768
924
512
820
969
328
890
298
660
325
743
682
975
488
274
81
314
510
435
121
585
386
864
716
972
574
608
755
511
48
149
761
171
391
535
930
771
206
676
363
355
304
157
155
448
811
655
544
700
457
998
4
53
589
147
368
331
505
228
18
744
508
641
624
148
640
38
325
541
252
929
44
872
503
969
268
553
724
240
16
203
676
875
197
35
760
927
639
92
395
475
833
989
706
295
273
302
177
950
733
827
720
182
945
95
308
295
160
115
615
72
999
464
947
297
941
526
278
648
751
461
126
173
411
441
761
419
997
220
311
773
695
216
749
634
667
536
710
75
456
442
788
114
225
872
444
485
965
597
913
232
584
264
706
443
453
351
315
204
981
410
106
202
969
674
780
186
470
132
231
254
784
82
763
264
90
918
502
601
245
393
226
535
862
231
483
391
323
544
413
730
989
47
277
850
429
120
14
666
337
56
567
475
177
350
977
627
795
932
231
40
472
855
824
826
556
845
302
781
707
328
13
128
589
153
302
802
327
484
675
478
223
582
17
700
793
718
35
12
948
240
529
11
625
714
369
609
664
63
56
684
778
623
20
85
290
244
89
568
899
183
559
638
849
702
263
803
255
569
379
412
700
831
209
496
342
109
883
571
225
935
956
520
766
509
348
295
699
358
41
375
255
268
729
714
744
650
363
257
812
796
873
917
501
274
621
979
259
259
858
999
905
814
126
131
222
388
827
996
496
656
789
650
240
832
501
972
580
634
695
662
711
12
512
685
815
314
686
284
0
908
577
826
461
337
402
426
809
408
251
159
836
715
482
618
914
138
161
709
171
696
849
662
739
176
930
47
525
203
878
278
121
629
406
1
291
839
731
618
482
918
117
757
94
519
733
909
882
579
585
162
715
832
88
821
63
169
306
394
791
244
750
342
695
232
768
157
46
330
428
323
562
71
146
780
882
148
735
939
569
972
45
168
728
934
820
190
507
559
78
769
908
122
211
949
510
405
240
333
745
187
688
744
865
68
836
695
262
691
259
710
390
377
442
179
747
934
371
693
695
973
165
667
667
0
22
295
960
363
993
718
362
475
205
236
176
323
108
211
921
537
124
343
733
620
330
397
831
651
893
47
502
859
365
151
265
138
749
321
44
574
408
974
685
74
650
822
495
619
515
827
671
588
257
530
544
772
409
188
562
837
426
167
751
743
172
346
546
416
68
565
408
368
526
332
557
683
120
556
692
270
381
649
619
268
46
39
695
300
950
492
262
947
450
663
819
51
261
230
480
413
351
793
134
714
985
597
41
348
700
564
737
879
322
806
376
306
50
634
422
939
641
437
603
241
874
862
654
944
907
488
146
655
367
74
690
653
223
612
171
877
546
727
150
892
164
680
397
876
991
789
167
576
815
281
116
751
97
365
619
487
981
908
854
637
600
599
285
904
596
438
559
353
478
989
290
161
266
898
369
637
7
840
431
599
250
544
341
644
782
256
666
780
991
451
668
85
540
608
733
286
258
487
750
612
648
76
434
720
973
284
133
230
293
758
310
792
155
410
934
993
598
493
731
452
585
22
728
968
689
255
126
564
21
14
971
844
472
966
473
476
933
797
15
669
288
549
307
660
685
23
624
901
238
121
212
496
587
571
414
228
591
403
560
296
447
691
687
786
385
430
455
506
453
415
387
299
463
264
846
0
165
149
406
87
65
445
322
763
255
663
780
331
613
956
903
393
956
296
86
862
760
213
571
600
119
35
757
389
368
779
334
757
102
708
606
55
80
834
150
826
323
682
686
348
54
91
917
343
364
405
89
299
117
733
434
588
70
609
989
42
729
32
981
534
558
638
488
569
279
126
488
219
162
396
978
56
624
92
885
157
223
844
392
342
560
295
200
154
838
445
108
48
528
412
340
62
499
910
867
843
421
907
3
784
239
454
745
710
871
371
356
667
231
800
332
529
355
649
166
503
31
354
890
183
204
154
364
823
909
387
521
378
892
806
923
280
469
200
406
113
145
13
207
930
488
279
609
205
493
194
619
524
705
920
810
966
235
900
698
241
782
853
639
444
40
516
378
730
673
394
550
922
969
908
166
307
498
438
184
512
507
493
45
507
890
375
636
332
172
510
538
635
611
647
962
4
900
634
717
681
453
32
969
585
226
950
351
153
548
276
994
905
607
157
410
112
236
39
309
857
184
789
2
684
968
887
702
698
828
923
19
622
934
255
998
665
473
680
375
622
692
568
816
583
728
34
664
607
712
361
217
351
487
53
100
43
462
452
951
618
641
619
336
861
938
121
648
283
798
124
304
201
505
759
27
52
367
337
758
494
225
636
66
836
16
64
404
521
419
469
340
827
609
150
974
192
526
368
442
208
15
612
540
964
295
871
545
759
231
471
108
36
806
912
470
0
173
835
477
342
854
195
286
900
600
663
498
573
190
164
305
752
923
470
610
665
726
39
468
934
79
895
921
670
173
295
167
558
504
597
827
282
557
771
590
140
631
458
4
736
516
686
415
835
742
754
423
565
407
788
516
727
460
201
973
145
731
744
47
673
939
324
139
206
222
971
318
23
980
831
344
795
984
626
414
128
486
679
815
541
179
138
440
370
534
560
198
155
283
912
847
927
792
701
836
47
464
321
138
394
912
924
802
103
29
885
561
46
921
914
350
537
214
730
232
852
845
85
912
822
205
827
396
131
216
414
885
21
164
328
862
383
650
776
689
255
209
207
745
217
259
68
10
949
145
793
317
957
273
708
751
349
531
59
770
955
690
924
436
252
928
937
47
129
852
875
440
546
863
511
134
883
408
616
723
91
690
198
891
530
523
209
645
49
933
551
348
374
127
7
514
486
955
923
972
849
863
729
16
224
835
788
778
470
186
907
33
420
355
754
617
917
574
347
992
916
268
622
835
693
415
52
608
19
450
880
906
318
966
930
812
558
439
273
770
180
631
998
1
749
67
594
810
44
851
249
785
187
672
460
995
588
926
170
641
609
591
683
163
499
594
842
222
220
635
804
276
76
518
824
989
969
66
275
468
659
517
747
856
92
99
94
513
657
77
408
569
156
997
348
663
560
144
982
305
707
242
125
110
855
945
855
97
517
937
171
654
973
429
103
588
5
236
83
827
490
556
943
481
364
367
250
592
768
737
441
233
939
202
170
71
587
268
749
927
767
489
784
90
376
813
324
986
121
551
721
146
250
792
614
878
375
161
749
698
304
308
104
304
511
641
104
357
131
313
361
769
739
9
336
424
739
537
357
982
608
235
955
313
198
213
423
818
251
115
493
470
925
462
571
984
898
596
983
7
113
86
136
178
593
123
272
817
613
54
338
512
461
930
186
789
682
660
359
927
535
445
101
10
35
19
617
459
643
460
408
76
951
98
115
579
302
593
966
858
155
457
790
919
869
490
130
346
447
366
508
314
273
273
139
198
123
91
173
43
254
636
370
929
668
773
644
860
401
442
322
818
999
854
654
669
952
273
678
751
487
422
155
254
586
640
514
873
432
336
292
605
124
214
526
96
727
839
241
975
999
302
472
558
825
930
459
120
542
0
392
102
995
634
473
400
195
170
291
593
217
726
126
624
254
81
152
449
628
576
170
492
268
907
129
987
354
83
410
631
481
767
792
821
527
290
928
654
319
31
16
583
450
55
770
465
409
785
414
944
218
769
568
115
109
142
734
505
358
729
844
654
223
897
339
682
601
290
215
300
296
653
646
987
243
712
132
964
369
905
78
449
13
209
280
754
989
564
170
406
568
904
714
506
196
476
244
773
192
3
479
587
261
208
25
217
853
33
998
959
140
956
38
387
610
782
736
855
82
480
363
866
546
30
589
506
331
278
78
493
311
868
67
124
71
228
929
301
828
656
375
701
783
691
863
584
693
277
417
91
229
69
17
383
926
258
740
916
215
349
153
801
805
305
856
616
56
22
427
447
189
811
489
345
952
359
984
638
327
567
695
799
127
467
340
880
655
175
179
776
657
515
437
702
224
4
356
185
0
755
70
884
549
744
333
659
66
104
225
788
542
77
720
654
118
384
844
285
494
444
862
885
337
418
710
628
639
493
201
806
108
527
192
505
242
282
811
786
870
615
522
821
663
582
566
374
787
790
372
168
32
556
951
493
753
778
802
16
571
617
613
229
790
940
544
699
96
867
673
386
578
569
518
909
317
363
639
234
818
13
908
799
108
809
39
976
85
264
757
971
743
236
494
243
436
423
747
994
258
943
879
822
462
85
834
940
37
561
181
177
330
1
765
173
278
851
543
826
226
154
260
746
307
980
329
169
128
935
966
548
461
782
964
530
701
563
221
291
858
828
559
526
191
391
679
633
188
152
827
214
169
109
432
477
663
588
806
101
252
186
311
698
271
406
409
292
718
850
527
968
299
692
419
585
688
653
692
68
311
174
463
283
74
785
305
943
213
823
673
886
819
38
647
939
160
741
174
931
642
927
861
444
225
327
395
595
444
369
756
197
768
386
344
10
851
622
102
524
772
924
229
673
933
674
982
687
451
343
365
299
861
89
274
943
106
491
99
7
590
272
866
552
433
333
289
711
12
415
669
158
754
58
933
970
7
500
605
110
884
483
530
746
754
607
399
583
335
970
845
539
531
215
187
104
823
856
688
470
608
676
149
596
287
693
466
112
482
433
72
124
49
971
653
123
930
597
473
368
106
813
916
592
68
187
908
235
520
642
832
249
819
983
166
654
684
8
553
49
411
471
108
312
691
373
335
662
946
581
989
925
503
481
450
30
670
727
943
167
704
291
375
974
733
785
158
451
243
168
747
489
447
850
971
595
175
669
778
753
350
607
40
515
748
996
552
737
627
889
755
912
402
151
332
272
145
589
215
225
338
324
713
172
655
377
427
119
516
504
746
60
529
599
729
354
13
186
624
673
690
461
604
419
555
438
103
778
11
872
607
295
552
162
89
172
163
711
993
412
469
289
726
523
648
304
760
493
997
892
74
928
271
514
445
317
791
653
350
669
849
769
68
685
966
351
379
743
562
390
531
365
53
104
331
142
846
682
125
679
658
757
86
292
412
778
704
961
138
789
921
397
261
366
547
779
738
497
591
760
407
414
69
644
413
936
665
520
627
254
977
523
235
962
770
341
177
386
9
94
553
574
576
764
485
546
932
105
132
828
880
868
654
654
787
800
251
93
889
225
799
644
499
344
997
17
503
505
715
851
231
146
338
471
517
123
959
692
344
815
277
665
567
326
568
491
478
347
806
99
311
818
682
204
739
887
454
486
980
343
39
921
952
337
367
954
708
550
241
467
969
317
478
569
781
201
43
575
744
500
173
936
473
870
563
29
613
816
162
134
718
486
612
989
827
203
897
260
560
428
910
581
405
34
60
876
441
946
527
831
699
980
311
244
794
640
512
354
793
724
10
911
418
319
299
938
266
658
91
233
681
20
663
595
675
379
689
617
0
694
575
255
715
992
961
186
726
526
227
184
615
846
55
411
753
442
935
639
123
24
832
232
214
88
585
431
34
344
575
605
550
560
222
315
964
473
547
969
560
375
919
301
280
68
195
140
880
933
469
842
306
831
277
500
222
179
388
783
310
598
842
693
906
671
866
892
65
934
683
771
720
124
968
95
444
326
4
931
390
438
269
100
598
489
992
400
441
186
49
632
665
297
178
724
784
267
408
614
698
793
469
895
722
519
28
103
892
293
41
798
151
455
384
822
161
850
996
265
953
397
575
335
489
308
57
677
671
957
891
364
861
881
849
117
506
170
423
655
723
283
192
8
386
797
648
812
297
158
422
987
851
192
616
54
409
707
459
807
367
691
752
540
791
187
454
489
638
754
689
741
340
537
247
725
988
867
839
725
296
129
809
85
125
209
791
475
623
409
608
164
401
806
557
964
292
481
644
432
652
281
174
937
922
532
643
277
45
511
604
712
74
540
399
406
177
415
873
104
598
881
193
275
585
925
418
485
570
366
951
76
882
100
371
648
448
770
81
300
704
926
895
2
56
728
979
367
40
970
181
929
70
743
733
292
594
78
221
449
562
861
285
946
453
671
157
306
281
938
69
858
889
862
886
579
3
635
921
184
453
920
37
944
288
967
428
8
548
45
830
8
885
258
127
661
896
587
760
478
252
137
41
599
631
46
260
483
334
797
970
290
869
982
213
528
468
265
933
359
233
518
899
133
489
645
109
549
9
383
655
457
462
680
740
927
779
246
541
665
482
889
714
365
458
432
509
982
966
589
326
128
405
886
419
965
949
796
4
149
244
406
976
628
895
629
919
885
752
72
503
718
941
381
874
603
725
724
530
946
240
379
514
521
693
908
861
303
252
165
209
577
398
615
781
817
581
107
884
578
742
18
134
264
19
935
609
127
521
198
309
532
474
891
164
732
127
223
587
719
445
387
183
395
205
205
383
605
137
461
564
531
818
722
983
704
352
781
434
91
42
43
471
899
920
946
89
639
803
592
442
68
652
18
669
899
845
102
328
61
3
478
84
799
520
102
84
748
632
101
108
898
443
525
386
98
722
332
184
12
691
557
325
473
519
134
804
789
427
807
118
873
166
845
415
171
104
548
927
850
488
323
734
884
615
721
254
423
659
315
554
834
140
188
436
849
156
356
156
247
942
5
568
914
799
431
225
571
494
171
593
238
254
787
725
8
516
626
446
91
281
88
567
465
177
351
888
887
120
476
838
889
433
218
532
981
996
123
93
219
525
375
836
599
254
448
303
440
674
773
51
32
300
469
55
628
469
914
225
487
411
376
644
972
689
540
617
980
794
878
242
946
334
500
293
628
108
123
995
991
18
818
574
163
49
92
92
228
251
660
517
20
53
555
310
252
368
961
325
460
749
643
851
923
839
0
420
464
69
421
812
909
763
372
399
381
23
31
432
769
983
531
38
152
205
586
452
3
465
985
747
683
626
14
74
918
895
351
934
462
192
405
393
26
318
617
48
747
345
659
307
889
554
12
902
672
374
16
511
39
831
108
737
469
60
163
29
762
148
953
117
497
168
0
610
301
196
691
496
605
213
754
518
639
398
754
728
848
17
249
738
334
246
709
796
251
46
755
542
668
786
83
826
304
221
713
487
644
556
353
503
90
193
654
387
257
555
573
487
754
336
98
58
624
534
563
292
546
684
913
562
726
239
57
175
362
192
941
504
482
569
910
113
37
515
243
442
949
10
559
388
997
14
478
930
914
844
526
104
863
681
258
338
563
589
278
651
743
89
380
913
19
912
74
944
11
692
489
73
452
45
341
761
527
458
773
298
482
29
141
522
359
201
640
11
829
537
88
435
772
507
943
581
251
708
389
71
973
309
780
908
531
213
275
860
529
53
668
212
157
14
326
238
770
766
977
968
803
697
270
631
808
596
549
695
448
273
776
562
623
614
221
262
850
11
721
975
665
813
876
119
527
330
710
958
962
455
357
160
447
145
672
361
273
440
213
706
923
275
860
439
764
636
304
975
267
83
422
860
833
283
998
742
615
390
967
246
820
102
860
47
288
707
365
58
253
251
95
626
982
305
937
614
72
487
375
404
263
874
893
155
101
410
301
606
997
157
71
221
200
767
552
549
744
697
564
696
300
693
569
686
264
358
488
294
762
930
500
485
516
677
782
614
298
520
225
228
932
282
298
446
297
428
140
507
539
669
787
702
991
552
425
70
720
337
77
37
821
352
68
769
752
830
154
775
918
960
507
802
158
485
84
747
451
317
218
658
535
861
413
734
731
69
633
941
21
246
489
671
175
18
172
35
455
840
983
213
265
254
782
155
498
730
622
330
55
58
983
793
131
791
420
615
497
121
992
458
404
849
500
241
41
651
573
468
637
555
614
583
915
976
53
803
874
716
609
286
606
570
916
183
623
963
132
775
642
107
425
91
83
169
527
506
48
138
7
556
850
910
738
498
773
974
662
729
704
178
938
25
334
545
382
618
691
224
16
945
512
349
420
704
286
195
84
53
266
934
905
502
571
25
24
615
269
61
709
15
588
321
913
10
542
294
956
197
505
587
593
150
931
549
86
581
449
316
793
606
805
604
423
237
637
160
394
605
824
205
76
557
760
943
214
690
916
556
691
309
321
443
790
375
871
973
836
100
392
350
480
649
924
584
619
979
332
343
651
14
120
771
331
429
87
884
174
303
53
199
944
823
989
453
257
486
225
332
771
906
320
242
373
872
632
891
376
335
546
191
964
232
486
492
231
63
981
171
402
568
604
419
707
933
970
988
687
914
388
533
889
901
789
397
896
998
862
783
715
224
393
863
657
641
374
673
196
459
227
463
717
433
233
321
709
979
471
246
402
508
574
592
766
80
409
697
674
783
711
380
433
527
80
878
95
910
990
439
602
475
277
18
782
375
811
196
603
36
734
656
482
911
908
974
121
4
521
573
912
65
765
658
956
103
334
248
225
765
711
889
689
201
679
156
915
707
668
233
240
873
237
741
177
455
829
739
878
279
799
208
987
433
110
27
534
308
458
430
233
16
474
472
729
941
347
277
958
581
779
151
247
65
34
778
623
31
834
599
315
296
766
185
691
136
852
162
260
260
565
96
992
528
627
958
143
194
222
703
10
455
553
178
919
336
818
820
558
529
59
366
298
821
355
93
836
761
362
341
443
329
542
243
7
736
241
62
92
904
927
650
61
665
349
664
182
353
926
782
191
87
267
492
272
261
83
786
84
193
665
42
121
50
715
127
678
273
667
545
540
95
956
95
654
33
510
955
402
659
898
503
186
533
981
903
724
302
353
68
498
245
143
845
324
306
305
328
707
709
250
984
617
135
950
262
252
125
320
338
598
42
90
809
32
341
685
604
92
443
455
617
797
292
420
665
928
379
84
680
722
134
983
581
684
130
809
273
670
739
372
254
22
880
221
548
662
916
190
690
620
523
554
480
699
566
920
840
876
429
849
49
601
585
423
366
860
527
314
256
626
409
512
756
115
748
247
664
189
851
637
940
25
814
177
39
376
940
327
454
895
915
810
930
58
837
635
726
57
164
47
419
172
339
548
833
448
854
862
575
896
391
965
105
799
327
726
719
197
703
228
902
476
892
186
486
798
656
274
52
373
403
263
201
36
215
562
313
323
911
121
298
323
140
525
202
277
802
540
395
31
677
931
503
881
323
481
375
33
711
679
986
716
305
200
963
932
162
589
214
705
315
891
914
21
91
798
413
650
944
732
204
815
226
927
897
775
637
520
163
36
483
976
379
54
228
752
892
903
998
599
661
788
173
254
823
669
839
109
575
734
970
754
550
85
550
724
47
501
19
246
24
945
162
237
384
755
984
954
98
794
411
425
907
949
850
525
479
287
545
349
587
492
963
550
412
169
861
712
255
611
634
619
832
448
671
402
934
510
272
614
390
527
111
504
8
438
557
77
849
649
96
922
618
966
686
259
809
92
405
210
437
628
176
440
973
375
867
527
496
505
99
94
159
734
19
37
571
653
433
235
332
142
918
210
468
5
835
625
957
558
119
370
339
371
139
156
378
553
790
61
897
473
922
533
716
987
563
854
369
904
447
607
730
886
916
180
649
483
931
932
227
261
808
950
574
757
894
393
20
810
258
306
150
386
923
263
292
982
210
749
722
711
449
303
742
370
516
280
876
420
959
221
686
791
407
221
602
765
725
903
749
754
715
738
991
510
632
713
857
167
784
917
20
279
82
227
381
734
840
591
126
32
5
732
874
17
546
698
749
442
214
422
349
467
404
193
293
626
359
850
438
799
929
805
608
462
88
560
345
222
342
780
158
865
955
126
574
335
95
500
809
821
541
97
531
206
637
826
631
230
748
906
104
959
916
490
21
697
652
997
367
979
352
371
478
575
830
975
480
509
240
572
877
820
7
214
97
740
46
591
882
109
340
746
244
157
742
530
560
840
452
108
754
310
239
426
707
175
779
305
240
13
454
873
13
209
627
86
852
15
157
798
826
993
658
160
906
286
437
892
928
16
994
131
147
776
501
105
931
345
371
305
332
237
820
992
978
750
241
37
49
317
315
329
996
117
544
293
334
829
202
921
500
766
435
680
770
613
858
554
897
667
807
113
73
820
428
959
834
543
16
566
905
805
552
843
896
379
420
49
264
988
721
891
514
8
219
206
86
759
472
111
658
589
795
429
357
318
226
329
15
953
459
604
130
329
249
621
697
564
472
236
56
552
912
822
650
908
923
579
69
289
790
610
188
647
709
366
731
896
893
838
578
663
810
656
55
903
673
356
673
627
864
320
215
388
940
30
500
567
583
695
135
852
681
495
773
568
603
808
446
748
8
160
773
63
492
334
689
388
833
560
469
219
202
737
840
594
237
936
650
223
794
557
224
751
181
438
155
723
147
122
715
573
741
950
961
144
23
185
462
284
641
524
424
415
361
409
558
809
141
308
639
919
747
123
353
990
620
842
404
371
503
605
92
196
332
273
611
298
435
175
632
226
652
716
133
214
805
675
660
915
748
913
152
187
33
433
588
617
176
4
826
607
879
995
867
754
929
106
219
403
57
839
682
54
56
601
926
86
941
883
535
929
134
797
313
422
116
747
957
707
845
877
803
394
635
947
546
451
327
609
344
167
898
194
194
32
594
593
82
96
719
258
652
242
202
48
8
627
360
100
492
225
989
66
346
152
556
381
6
509
560
659
694
702
343
194
108
249
944
853
15
865
107
526
384
98
141
187
77
757
346
981
381
623
50
346
232
665
230
385
652
277
901
810
132
694
893
854
34
829
123
80
791
113
974
122
967
675
27
731
208
523
637
207
333
777
712
929
267
233
964
186
986
36
167
35
886
71
518
115
115
251
53
423
329
140
438
247
589
862
776
543
530
645
596
349
639
15
791
563
783
780
122
134
785
942
869
435
209
171
935
345
167
658
58
23
190
854
862
920
935
558
335
129
591
95
228
748
176
317
943
771
538
262
622
166
207
772
165
508
977
564
352
214
247
315
584
358
28
342
67
893
746
707
229
271
228
103
612
434
362
432
751
966
593
445
165
446
231
388
480
71
978
862
760
960
336
953
458
117
360
909
672
385
392
522
887
613
279
87
268
667
24
429
482
595
142
41
186
731
334
606
568
490
214
495
935
611
598
136
28
681
455
417
384
659
585
255
526
423
826
94
233
754
530
511
348
679
836
615
171
923
393
80
185
299
661
150
314
322
69
386
337
843
80
574
138
24
774
386
947
517
664
104
857
942
792
997
339
608
644
779
407
507
121
66
247
449
112
810
620
782
305
788
269
441
420
757
404
754
733
400
49
766
671
779
535
355
39
171
923
906
603
854
592
766
124
566
949
674
755
186
492
958
141
979
381
29
698
256
738
384
340
270
738
202
797
151
712
679
337
843
274
864
799
697
725
427
691
960
98
484
988
82
903
690
398
781
541
246
32
35
228
921
248
129
597
429
494
299
404
509
28
279
957
659
218
321
73
852
702
929
355
352
955
380
846
971
925
247
209
330
301
783
957
414
393
19
540
345
155
347
998
908
996
930
819
332
881
872
639
439
297
898
76
978
208
540
790
960
356
921
531
370
537
527
228
166
923
810
371
513
912
422
832
274
6
433
373
203
822
623
341
550
260
174
775
165
976
398
273
584
261
132
916
254
96
793
940
235
747
963
791
765
352
990
905
438
440
335
748
72
345
632
439
398
407
412
956
266
749
324
447
149
6
405
570
560
827
889
976
985
329
730
888
985
918
21
541
615
403
53
533
797
168
306
526
558
960
58
405
739
313
503
365
84
412
308
480
186
814
727
400
502
691
825
108
308
712
41
655
773
873
383
689
225
535
444
383
603
106
713
852
751
918
300
370
335
715
933
513
340
482
166
521
191
903
581
206
738
685
785
23
278
509
630
381
887
586
145
449
285
455
352
31
914
627
429
509
775
621
113
151
993
396
22
787
948
605
792
909
289
435
589
514
83
597
604
127
260
476
17
52
229
860
180
568
705
845
988
695
39
248
586
564
570
115
851
281
927
571
598
455
886
460
403
742
809
249
519
289
636
406
339
668
163
651
63
505
260
88
0
50
497
645
916
112
762
175
563
881
412
451
353
526
407
436
421
319
484
637
717
58
694
921
114
261
777
521
448
330
597
542
232
274
394
77
546
702
983
259
506
431
298
448
622
677
762
49
971
221
472
460
460
865
879
705
643
788
352
261
266
320
47
226
751
162
442
425
14
491
17
295
574
313
980
363
916
137
663
591
631
58
72
755
896
85
277
386
120
337
480
445
463
671
874
681
636
381
440
983
152
388
469
337
714
220
650
677
801
537
604
781
625
816
305
996
729
178
371
950
134
113
506
377
947
982
892
838
197
576
207
822
776
296
519
706
3
322
349
997
862
802
684
86
497
881
423
718
581
751
612
295
413
686
791
599
629
641
98
116
260
454
803
761
853
633
113
548
474
474
492
897
417
965
613
536
102
243
940
942
523
719
949
559
124
911
384
984
670
925
620
781
824
388
373
563
831
517
963
355
599
898
539
838
534
555
245
183
2
764
907
154
421
34
619
792
768
484
194
863
473
919
350
828
853
291
708
722
372
332
887
601
395
651
276
504
436
277
217
811
954
911
971
590
174
939
438
410
812
310
999
898
222
412
895
719
43
46
594
406
431
277
253
142
554
147
55
730
792
41
416
513
937
720
11
764
115
114
590
821
123
175
944
766
643
779
395
282
341
539
620
67
520
159
950
666
712
684
77
719
627
843
17
143
210
467
74
839
671
231
202
137
840
35
136
355
925
211
542
335
3
522
735
946
54
527
367
416
386
238
625
347
872
812
301
321
275
220
697
636
151
294
220
823
610
968
632
471
445
531
24
50
547
497
638
400
541
730
451
530
563
264
184
627
265
660
415
296
90
862
254
206
22
599
519
535
603
515
695
858
214
585
202
244
803
501
436
83
85
891
208
35
831
410
684
681
380
298
793
351
938
755
678
719
125
775
923
429
470
433
676
597
730
59
974
683
831
786
540
733
87
583
429
298
430
328
420
661
344
3
949
396
866
675
224
569
289
669
358
538
240
293
409
286
456
289
291
925
281
631
318
774
344
227
164
214
636
878
663
590
249
40
455
466
234
915
181
218
512
80
558
346
965
673
679
190
707
614
543
151
342
711
896
311
619
274
460
12
478
8
969
673
185
252
107
615
399
854
269
272
453
727
324
240
724
90
592
749
210
890
816
829
281
24
985
797
334
73
784
961
206
580
216
48
292
2
865
539
824
606
936
791
735
184
147
249
681
948
95
664
156
41
68
686
422
28
247
99
135
767
329
225
71
823
736
173
173
589
266
418
247
126
958
73
173
342
746
688
89
59
291
231
169
313
677
526
780
979
97
958
213
995
98
4
147
35
587
868
881
60
184
428
765
73
880
540
979
924
906
708
313
363
182
320
94
783
758
865
958
725
50
217
11
914
885
224
561
910
156
325
233
720
423
927
675
533
455
610
530
410
173
879
196
372
670
970
736
136
564
490
75
736
621
253
216
374
10
704
701
740
915
367
477
537
222
588
556
500
780
946
556
214
997
496
280
654
10
326
255
661
242
681
722
195
270
992
23
131
449
261
287
201
667
235
146
971
782
56
380
641
943
93
844
942
133
866
84
31
679
25
75
823
212
475
278
368
79
689
535
272
567
274
987
133
29
143
201
915
330
911
732
576
486
205
243
285
223
715
389
894
208
923
854
945
777
229
562
704
856
703
90
3
29
467
619
465
999
758
478
788
661
208
68
94
302
388
767
973
171
951
413
100
659
213
138
569
390
298
862
775
915
837
787
436
587
897
417
458
466
705
193
50
361
993
268
265
519
773
917
11
466
512
958
279
882
430
13
349
356
125
216
972
197
437
180
257
962
352
771
847
754
549
725
140
954
564
711
234
208
681
156
472
956
377
298
844
268
616
917
686
405
926
428
713
500
644
407
878
80
292
75
427
345
32
792
530
174
214
159
871
490
750
149
183
69
727
448
783
861
266
864
562
819
232
315
859
19
599
154
246
851
958
146
417
749
146
841
875
652
762
235
24
934
2
52
976
280
661
833
403
9
447
113
58
540
693
273
743
347
599
583
768
839
978
649
843
3
734
296
800
144
709
218
872
846
37
682
464
935
73
372
280
696
603
957
737
786
43
498
64
780
27
452
866
48
282
799
615
353
516
507
674
383
385
502
331
27
498
839
153
685
354
258
528
734
231
778
271
236
780
545
67
628
553
86
345
28
706
106
220
922
284
715
525
273
197
214
854
145
429
774
798
969
261
208
381
797
154
634
994
453
959
971
911
133
556
778
551
508
759
393
763
528
444
997
361
9
36
590
132
484
807
886
246
141
520
584
874
4
640
118
771
409
438
380
43
973
544
529
21
233
510
495
659
779
448
341
381
152
418
244
284
368
394
285
133
274
83
453
544
151
902
784
745
136
705
275
772
455
534
81
250
384
378
379
989
785
914
199
568
557
228
311
659
115
18
616
737
788
887
509
995
392
94
338
161
885
99
239
834
197
305
250
953
378
303
550
169
117
64
387
259
527
626
764
702
104
531
501
732
419
272
53
669
159
657
692
502
811
554
327
979
912
609
949
587
864
356
720
232
749
870
753
559
74
438
825
883
671
528
728
715
214
297
807
111
148
142
712
552
409
202
261
581
796
102
313
783
214
763
846
340
184
530
681
113
414
749
165
11
285
277
144
779
83
450
871
326
802
624
563
445
167
403
289
753
509
103
830
339
375
534
471
328
718
545
830
434
915
159
861
212
155
362
855
493
386
761
620
302
403
447
761
471
527
873
977
774
944
274
706
166
135
883
420
497
319
22
412
412
876
382
573
466
436
898
331
319
45
42
951
341
640
76
686
424
898
419
451
220
251
597
286
797
528
267
124
260
645
484
165
870
121
608
641
38
902
551
770
945
919
729
973
208
259
343
187
7
927
825
361
446
952
193
596
981
374
774
897
83
58
3
882
249
917
533
957
398
407
583
413
429
406
380
665
627
924
460
622
613
108
222
840
933
383
269
800
499
97
231
519
986
202
784
479
355
174
754
106
432
220
79
144
101
807
22
525
928
522
588
859
488
378
881
213
631
995
461
205
871
319
127
431
392
693
774
110
177
312
4
553
822
517
775
572
338
487
431
834
813
249
985
717
117
0
174
653
572
298
612
781
64
246
360
710
597
362
607
27
816
608
425
192
767
297
513
735
683
703
904
975
26
190
786
640
437
710
791
943
221
781
420
738
160
764
355
771
630
265
9
842
620
568
582
780
329
559
507
154
149
193
597
724
796
989
263
951
334
557
329
462
413
370
904
564
458
194
535
985
155
519
932
673
582
65
601
152
697
16
432
246
994
497
571
65
596
349
356
454
829
503
209
791
53
813
176
413
306
713
545
10
504
706
456
596
974
52
735
672
148
120
358
541
695
686
678
121
491
154
172
209
672
68
371
843
545
256
293
446
812
143
473
8
424
592
449
545
446
5
243
995
257
959
934
19
696
185
138
605
20
888
466
177
87
491
751
130
123
112
582
884
990
796
855
32
339
821
380
352
760
142
59
36
857
730
909
669
106
309
101
94
569
842
250
726
439
956
561
854
409
57
634
351
663
6
306
474
381
444
216
29
28
886
841
569
490
738
931
619
321
832
289
708
918
455
984
843
27
368
633
436
73
442
273
709
389
567
343
593
776
475
960
717
389
619
121
387
443
369
604
691
177
121
779
698
247
805
956
415
10
789
991
741
378
587
681
749
571
527
948
532
899
982
603
978
481
834
398
485
673
12
942
789
729
263
16
747
605
190
734
947
818
454
499
468
143
976
804
416
766
988
545
353
255
625
419
618
802
868
994
748
398
48
922
406
189
701
759
522
834
505
545
390
4
106
664
455
808
30
628
656
678
398
392
454
303
360
830
177
205
365
192
142
653
479
537
824
11
288
506
435
57
566
710
69
967
569
507
169
351
856
684
972
13
387
716
405
669
549
412
787
238
707
364
291
485
59
146
433
803
980
413
174
307
208
963
775
198
875
697
147
117
484
100
74
946
695
979
751
619
229
216
335
772
468
120
117
263
381
480
557
511
476
578
251
409
675
526
594
392
851
87
400
596
517
446
417
602
120
633
981
168
366
962
143
839
743
880
366
999
270
926
781
50
231
495
481
14
227
591
140
449
36
29
141
141
902
270
778
754
561
298
6
782
755
226
123
511
963
221
354
673
489
583
787
798
630
854
552
777
659
222
863
101
709
58
424
960
479
378
208
947
518
469
472
938
635
885
974
73
911
831
446
297
339
614
107
277
742
275
995
317
116
575
734
982
326
675
115
447
628
166
248
152
818
361
972
867
566
980
45
246
337
679
255
973
329
843
499
792
290
437
932
313
970
28
592
708
939
43
398
673
811
746
685
537
722
562
474
684
579
837
917
831
233
120
380
320
13
211
813
421
726
840
831
37
381
79
882
161
423
634
607
204
971
545
195
664
935
540
756
813
455
676
81
705
986
799
867
590
152
517
284
803
342
398
945
124
536
726
419
726
248
47
565
421
834
98
475
68
41
626
254
680
17
991
656
552
504
823
288
452
607
150
353
127
875
77
526
8
601
577
319
60
646
356
963
825
108
358
716
784
507
533
940
141
559
573
839
952
149
787
248
746
144
449
139
622
746
915
452
19
467
917
177
996
770
495
428
976
114
596
665
783
170
767
496
950
621
54
480
755
913
852
500
804
248
693
71
960
237
813
647
357
258
892
787
397
378
458
175
933
218
299
892
297
837
644
444
261
917
730
47
806
395
314
792
486
611
375
136
612
349
778
481
283
976
808
478
499
218
239
927
577
866
734
418
114
544
493
770
360
689
689
234
95
93
356
307
953
567
10
58
576
976
902
116
361
169
724
83
601
610
99
698
28
949
713
717
89
190
894
117
676
16
294
219
962
195
612
121
593
793
698
821
817
532
943
485
448
345
258
910
787
263
93
870
805
581
526
283
539
453
165
757
588
41
223
831
505
907
492
55
623
321
250
641
601
909
395
363
444
34
433
412
853
825
494
259
143
305
419
260
575
203
511
533
797
796
596
792
925
228
578
139
508
568
642
846
533
168
419
906
413
202
945
517
275
734
324
70
815
421
780
233
59
638
548
740
345
616
836
686
677
466
309
33
558
263
18
500
593
764
878
404
962
842
44
52
213
466
89
304
544
271
49
780
825
323
295
945
601
289
554
476
69
211
24
985
735
800
479
285
616
497
755
825
774
118
904
248
957
251
871
859
193
558
387
583
138
25
202
764
277
806
393
819
658
400
624
811
898
386
816
459
733
878
297
735
871
885
748
423
902
92
624
675
877
981
349
388
721
660
420
289
119
477
575
895
835
355
851
593
688
920
139
658
275
478
313
507
909
756
923
155
897
400
402
656
788
778
465
923
663
272
211
763
526
873
392
221
103
753
997
632
469
272
941
589
789
601
769
805
293
297
362
26
699
59
402
74
575
517
658
820
930
634
602
87
803
244
433
680
431
75
599
89
127
765
550
245
761
556
45
75
190
816
922
589
18
614
686
5
725
116
731
445
482
251
375
487
134
699
760
174
713
61
111
51
508
952
600
881
29
714
957
780
489
742
856
740
621
515
628
140
406
164
9
553
247
793
482
821
535
182
154
219
700
586
515
853
737
447
882
969
546
899
765
171
780
548
722
191
916
159
607
786
123
80
394
554
544
571
658
427
194
388
877
331
9
355
65
818
483
627
809
948
178
227
238
122
774
939
798
293
813
539
238
32
564
547
529
311
817
825
95
71
361
7
229
412
422
920
645
301
103
632
178
14
676
294
598
630
932
661
481
859
393
88
57
922
970
881
880
721
712
727
113
788
463
178
849
561
618
468
552
3
268
220
45
839
95
344
622
155
622
962
850
92
608
48
500
849
978
99
488
910
286
253
671
809
603
210
951
549
101
630
554
157
44
488
511
140
907
392
409
195
5
278
793
855
395
666
199
290
371
519
174
152
583
981
900
617
58
851
210
915
397
399
774
762
613
880
170
4
318
810
846
775
113
365
355
963
984
90
623
68
268
280
650
270
895
57
135
624
483
213
444
644
71
124
674
218
965
791
928
483
680
853
909
45
972
632
740
175
270
272
969
86
191
56
265
427
617
229
941
634
530
515
265
436
146
890
301
6
441
263
292
258
693
670
530
206
120
617
735
318
626
825
884
295
973
585
433
434
667
668
762
97
740
348
489
284
908
520
232
599
611
375
308
560
883
251
238
830
945
108
829
683
966
185
795
907
973
763
492
6
453
432
968
697
67
44
548
601
736
899
408
200
542
455
375
98
311
846
661
952
336
361
188
977
901
150
842
211
805
416
99
501
595
607
176
963
163
304
633
969
179
478
515
448
970
460
781
249
198
60
489
993
377
791
690
670
597
30
145
9
859
226
927
176
319
699
648
194
674
305
392
497
956
460
882
404
106
680
390
819
813
861
510
766
794
590
400
32
737
6
920
504
301
412
323
623
795
762
208
488
425
66
825
901
55
874
587
469
557
19
342
178
769
796
401
999
104
73
196
488
109
12
538
772
633
960
540
746
945
247
170
333
350
581
522
505
327
870
905
932
546
502
207
875
187
894
655
458
83
214
766
8
103
880
766
501
733
521
206
712
983
196
721
16
353
185
202
102
734
170
867
134
228
70
569
937
940
939
210
706
747
876
728
457
853
66
809
194
215
816
778
136
102
361
612
166
96
565
624
393
465
515
112
696
752
622
720
672
201
762
866
692
683
968
430
128
668
400
520
702
876
681
466
568
605
139
688
383
398
521
470
761
729
782
940
256
131
435
732
371
636
449
884
272
250
638
510
664
906
117
198
936
796
761
948
905
806
364
882
300
566
544
417
706
935
54
141
554
61
768
663
769
876
322
12
661
394
669
593
219
325
911
851
369
131
240
263
532
489
365
854
556
690
914
182
852
170
366
980
59
41
152
41
951
893
26
761
508
369
873
491
242
151
579
994
163
874
651
706
906
966
584
205
248
99
831
115
670
46
927
574
830
882
277
657
177
563
678
126
932
905
941
481
261
534
767
623
36
308
55
576
244
458
552
224
236
351
139
412
835
299
967
34
486
536
52
164
123
598
975
441
42
401
106
458
398
643
543
449
845
696
818
912
72
349
509
491
911
674
98
341
47
161
645
198
86
243
336
257
292
691
78
596
563
514
757
535
461
744
360
615
68
674
563
383
691
708
282
902
733
448
523
700
137
660
724
274
960
414
131
347
311
836
543
822
152
726
328
130
596
570
641
172
923
889
532
676
941
288
664
903
45
1
964
81
883
155
5
631
275
779
113
443
560
753
188
781
431
913
625
672
776
433
485
578
932
456
464
246
922
555
897
383
161
645
161
105
839
516
589
463
421
712
163
497
929
400
67
541
311
753
315
13
98
912
484
606
203
859
785
70
554
170
429
805
566
534
718
681
409
366
240
109
575
205
46
982
444
511
707
171
462
347
549
267
887
560
375
682
731
208
951
491
654
808
140
696
928
437
990
673
662
306
252
240
547
625
559
917
239
692
432
729
285
721
398
931
661
848
898
681
124
590
246
406
326
430
823
90
397
178
403
50
231
99
957
489
310
626
290
282
600
371
997
231
479
708
928
641
466
314
898
358
201
926
46
95
88
349
750
633
761
787
864
547
799
600
925
411
471
882
266
22
47
788
306
688
539
702
180
513
130
710
76
315
705
602
328
962
476
274
627
464
635
510
567
368
15
158
537
75
782
749
607
498
95
290
811
552
492
803
999
954
869
264
422
194
709
802
665
78
359
985
820
373
738
347
603
91
665
747
324
601
44
68
484
210
879
0
550
469
314
998
833
680
248
951
522
615
288
859
902
134
577
580
688
620
616
352
120
227
145
91
903
9
589
994
13
938
38
999
441
917
999
594
954
194
136
789
453
928
412
403
210
586
705
6
372
386
890
845
805
879
240
654
774
304
274
831
667
11
325
660
470
973
796
417
577
947
406
169
649
673
451
362
336
485
679
754
572
598
531
101
740
640
256
177
315
974
979
4
55
228
615
752
264
303
747
980
679
506
677
866
788
850
220
886
249
231
968
912
656
530
180
751
360
615
28
857
542
810
653
267
890
183
999
949
315
725
260
816
324
488
752
395
541
893
630
307
824
839
360
272
702
750
375
792
419
706
177
333
426
153
903
325
285
310
650
351
42
178
367
587
273
646
620
977
770
36
276
254
897
180
667
371
545
231
905
833
683
244
274
213
447
410
992
166
680
91
527
150
146
512
583
322
102
899
333
518
779
289
613
534
441
270
341
418
962
741
587
325
619
356
731
299
561
877
494
331
721
543
149
253
824
763
51
701
794
413
553
431
860
343
788
234
511
411
987
892
229
740
204
437
178
418
731
4
68
340
5
114
262
735
541
79
375
506
455
354
845
10
420
596
811
837
340
907
811
996
181
953
885
217
82
695
460
49
881
355
486
451
153
956
175
551
580
70
739
405
32
357
470
351
923
845
881
252
809
875
997
165
866
807
961
731
422
335
849
219
919
51
549
135
603
919
56
818
594
417
702
556
136
273
517
348
504
925
298
553
487
394
700
626
573
755
358
74
995
604
964
135
530
304
963
34
869
320
387
675
25
439
45
435
657
488
163
422
55
144
207
504
781
395
24
509
903
229
426
239
237
841
707
323
947
35
459
629
85
794
417
260
564
363
769
153
228
622
573
320
407
911
628
468
870
254
188
567
425
9
558
232
944
870
623
229
197
632
382
651
725
183
531
282
25
912
17
82
338
255
453
948
732
546
399
40
469
695
404
432
49
499
993
914
921
948
689
468
814
680
577
67
831
552
72
771
393
883
723
838
770
909
737
970
338
907
102
460
891
696
59
848
553
159
890
979
78
83
161
130
602
861
662
109
80
441
435
48
988
881
756
385
82
628
206
264
245
514
19
261
182
224
178
341
653
734
289
716
156
401
385
212
91
32
478
829
235
433
409
434
246
174
140
20
649
587
375
47
859
78
974
48
758
736
238
419
169
604
628
150
965
929
399
678
585
114
550
17
349
318
382
734
701
86
167
227
517
961
381
713
703
51
205
135
367
662
409
130
704
325
488
359
102
31
578
50
11
152
248
286
300
734
121
232
826
180
575
415
359
651
23
203
537
796
776
48
220
990
398
316
230
802
478
765
21
232
538
361
377
169
621
544
480
988
570
543
431
909
913
547
599
573
295
645
827
574
230
838
123
199
705
143
955
490
839
168
166
917
905
602
537
876
960
484
241
920
61
233
736
854
113
288
390
959
438
481
10
96
17
748
708
696
502
721
311
535
853
812
808
531
488
113
136
68
936
800
335
43
811
647
903
652
164
763
398
100
22
227
924
777
751
22
133
470
117
218
657
141
844
687
537
985
201
311
167
382
648
442
263
323
342
51
748
206
150
144
654
272
237
560
159
987
557
381
464
378
23
772
900
929
984
616
491
577
463
479
502
439
229
995
774
513
948
135
43
603
682
268
809
470
262
195
675
700
442
341
669
336
715
982
43
546
316
77
432
110
0
702
707
267
491
698
633
647
992
982
253
842
999
824
896
173
783
954
652
220
858
211
150
795
111
340
248
630
747
312
355
881
299
144
464
244
855
303
253
810
605
673
613
395
40
293
628
131
729
228
162
735
500
216
537
574
372
411
84
890
910
36
234
875
462
504
211
724
407
48
466
192
976
898
81
148
289
798
798
491
986
342
836
2
142
571
594
347
897
656
512
976
344
76
651
880
999
793
735
624
191
832
476
13
91
275
134
285
169
774
861
281
981
728
468
39
901
911
714
316
789
80
888
327
867
9
542
831
235
102
715
41
174
927
950
586
96
835
884
88
120
943
644
702
378
911
564
82
483
726
174
433
491
209
310
691
155
531
302
684
953
733
340
257
85
358
7
703
728
847
909
877
67
658
222
587
784
904
503
750
65
18
392
574
746
778
946
747
434
479
599
696
977
480
742
709
888
599
971
339
967
136
973
845
871
943
263
209
580
417
981
32
584
227
203
17
554
653
519
31
979
610
830
752
127
226
831
810
160
469
319
487
68
69
251
504
365
830
255
916
584
709
317
977
79
509
786
28
186
872
141
704
94
209
524
768
104
746
367
486
345
783
119
378
408
71
157
35
845
604
654
577
205
984
718
287
626
364
792
535
48
536
803
894
645
321
626
458
817
942
426
561
730
224
277
527
573
446
566
649
91
229
760
991
217
936
938
165
411
340
602
705
151
836
767
618
193
373
696
328
20
970
662
782
814
856
209
74
728
80
102
269
839
599
302
873
880
22
791
387
173
113
587
941
20
721
645
860
391
566
555
564
881
462
468
115
886
898
882
398
648
583
692
294
950
82
628
300
545
818
937
52
689
454
145
640
766
253
593
392
85
348
465
516
849
761
649
77
724
314
66
107
749
313
922
238
455
718
781
276
998
419
640
589
853
587
779
272
384
728
401
763
783
298
797
931
494
819
428
881
479
61
538
0
970
98
655
829
412
809
752
691
432
858
380
945
289
848
918
6
744
272
939
302
266
664
147
388
275
800
730
548
287
385
746
38
636
405
997
215
627
557
987
222
935
685
80
556
58
382
522
683
774
626
725
953
555
594
857
58
345
403
354
377
241
581
911
910
688
491
194
101
194
52
569
828
36
569
736
335
806
103
116
262
32
150
73
75
75
756
184
434
832
866
850
877
83
737
533
515
788
460
409
612
776
963
2
190
473
763
501
725
437
415
242
901
843
631
107
723
787
577
339
528
561
973
988
857
379
409
585
65
334
398
158
412
108
39
196
134
377
530
667
520
471
703
220
117
107
19
286
503
862
773
494
420
93
844
133
551
342
902
479
38
734
839
220
274
450
932
946
337
94
292
899
167
741
725
484
331
683
488
975
540
153
135
955
890
283
47
241
548
201
443
670
200
676
647
164
735
196
578
257
139
77
7
30
528
160
725
259
616
91
672
197
868
915
417
932
509
373
238
938
929
144
804
447
350
801
83
773
972
687
702
520
987
695
317
212
108
26
150
585
80
439
723
921
985
460
879
71
387
636
978
403
857
447
479
547
833
204
925
841
85
607
402
32
432
198
519
24
740
444
457
50
376
233
33
151
693
72
894
897
520
878
671
166
880
918
293
958
670
83
52
305
641
968
617
667
256
322
361
634
114
941
967
941
185
166
63
170
364
211
490
910
230
452
277
899
0
410
980
361
607
908
3
670
831
976
662
52
155
448
394
734
667
615
431
929
958
992
797
824
768
847
514
152
424
323
246
59
998
724
247
66
282
946
9
725
871
552
987
451
719
394
201
254
570
789
296
703
729
33
859
738
371
168
601
777
176
570
87
88
304
554
378
642
881
454
381
250
731
875
440
359
371
407
290
744
50
222
423
947
622
719
425
818
359
631
661
259
261
266
410
706
204
163
919
974
555
462
490
260
925
328
108
849
412
742
225
437
419
170
941
387
523
730
693
144
229
250
706
0
655
285
421
747
442
169
18
503
991
970
666
517
973
512
589
780
585
188
26
50
767
701
877
590
320
976
840
937
242
630
497
976
518
74
980
769
384
523
458
231
435
667
534
895
983
320
773
304
561
848
134
63
693
982
811
641
443
492
587
876
624
987
369
546
869
385
353
987
648
743
58
535
936
769
974
744
473
745
704
709
932
242
934
732
195
645
524
597
829
206
789
716
992
857
470
882
946
383
427
669
467
776
200
436
789
945
19
586
134
825
944
351
63
292
205
631
954
517
460
692
371
76
118
426
171
877
607
472
764
757
552
944
165
308
441
934
731
52
145
482
499
297
380
457
14
669
727
336
325
197
110
358
484
104
71
666
357
279
995
960
256
542
590
587
836
132
975
788
390
117
575
122
55
250
989
233
204
363
228
811
606
516
170
980
925
392
417
356
389
43
412
330
436
340
619
269
864
682
532
955
287
77
804
862
939
640
697
340
253
428
257
665
811
728
831
214
230
217
324
875
689
306
314
472
396
84
922
28
69
676
362
897
318
955
545
44
13
746
348
699
279
963
369
346
903
665
818
938
635
574
706
165
615
423
392
442
619
173
382
582
811
484
448
230
369
974
532
993
634
121
967
910
664
48
506
251
321
56
164
138
933
212
746
594
539
277
28
172
709
380
418
398
107
234
672
545
856
969
974
589
210
1
667
909
511
525
169
604
268
540
311
126
616
703
53
488
669
921
945
703
131
2
57
705
880
220
601
524
228
49
863
985
552
100
640
713
739
734
608
383
449
899
862
136
530
506
486
334
94
986
346
133
830
993
596
137
481
72
493
540
465
461
95
446
180
92
1
49
347
975
918
575
206
354
505
291
697
286
208
441
241
776
387
62
738
335
626
710
942
239
600
749
288
350
145
241
313
701
888
140
269
692
106
995
946
421
670
747
322
477
269
108
298
890
532
743
59
933
980
971
253
832
289
128
251
133
522
154
128
700
780
249
905
829
863
450
526
577
368
689
721
272
464
622
449
138
283
185
929
849
61
979
95
771
613
570
810
307
508
128
909
882
911
404
857
13
908
161
552
382
332
393
323
755
700
75
76
708
50
963
290
996
854
871
366
765
796
767
798
879
316
542
767
452
295
478
795
191
165
341
937
677
113
549
1
177
497
776
942
590
926
545
221
159
787
407
862
947
186
294
806
521
193
828
503
94
149
876
10
503
10
69
496
89
694
134
185
292
243
442
297
883
93
861
375
539
79
112
943
391
961
348
267
468
871
699
617
590
771
253
813
376
579
34
265
274
158
361
433
796
866
137
674
523
540
687
423
790
596
665
28
970
312
181
966
590
511
625
163
310
551
26
815
842
783
266
348
797
239
965
846
275
189
825
785
479
374
237
792
543
17
526
100
337
892
139
961
269
484
491
937
557
493
196
588
112
611
551
26
214
913
184
872
944
961
550
571
446
683
536
682
955
248
989
484
43
962
40
391
682
384
747
397
862
257
750
711
717
727
315
214
653
909
307
35
75
154
339
821
260
485
106
920
913
285
107
99
840
663
458
737
956
218
847
350
949
784
43
36
707
924
855
982
827
690
204
490
608
604
276
943
861
547
436
514
973
252
437
69
961
523
878
436
610
583
899
532
418
328
59
383
852
589
597
145
883
186
341
477
500
116
54
227
388
522
534
563
658
618
8
751
347
137
157
409
707
367
738
523
280
213
776
371
39
518
714
899
892
152
909
48
588
27
272
399
489
141
780
327
174
688
255
254
536
161
471
735
742
389
489
175
829
461
948
874
554
949
639
353
874
409
500
662
517
146
35
830
870
193
659
929
38
187
578
278
616
890
912
482
536
69
924
803
228
656
376
456
403
91
719
355
208
793
233
566
426
595
847
860
901
225
992
245
944
873
985
257
1
88
146
731
996
600
828
640
662
77
93
428
125
811
773
638
576
465
905
817
172
97
796
237
623
500
285
965
783
206
34
828
417
570
64
688
660
198
123
292
922
346
388
618
298
289
446
877
561
330
338
759
603
97
345
410
791
301
593
455
886
307
812
425
236
171
498
515
908
551
674
500
488
797
336
190
510
474
258
547
693
119
935
799
131
805
164
579
140
414
444
271
778
731
411
221
380
880
69
10
564
579
916
607
327
501
70
852
723
461
35
653
68
257
675
922
844
964
332
782
123
91
796
943
319
987
328
103
561
723
712
115
861
71
514
733
671
964
164
596
332
618
976
123
835
2
501
349
963
145
394
565
692
774
350
926
903
19
611
519
170
823
800
58
634
782
33
657
15
800
455
321
636
653
654
447
517
139
317
939
16
359
298
188
908
537
556
469
376
803
788
56
158
482
883
545
319
187
453
335
606
920
880
265
85
325
710
677
138
309
302
137
840
85
757
259
771
246
477
467
255
247
787
169
34
458
829
402
183
442
603
876
604
768
241
722
555
956
396
971
823
257
836
558
859
605
988
896
12
925
840
446
615
219
726
570
366
127
820
206
980
185
29
390
884
356
434
472
550
74
67
121
983
496
119
165
148
452
529
176
125
74
285
661
817
381
141
330
77
24
440
864
68
57
58
133
695
998
275
696
46
548
465
496
873
905
515
451
545
114
909
285
433
41
190
493
700
841
827
456
147
328
978
696
591
768
933
718
584
85
525
963
927
326
142
590
985
48
375
121
374
136
200
855
377
960
416
567
528
934
631
970
692
434
342
981
654
291
545
1
18
864
378
957
221
128
802
403
240
533
684
853
472
184
418
615
701
10
804
453
658
3
454
734
259
604
319
373
72
720
768
296
206
574
34
966
627
181
458
528
151
529
419
319
472
597
635
792
861
349
491
795
839
29
961
782
894
593
536
267
696
257
14
407
581
424
570
322
749
163
121
789
72
915
639
170
87
95
214
493
942
870
775
714
966
201
519
629
488
519
883
124
990
370
113
611
330
887
258
799
969
9
982
252
809
827
313
217
695
439
38
678
154
625
403
660
23
566
796
343
201
199
434
9
90
567
850
95
887
119
367
735
436
221
875
137
709
426
953
150
874
505
341
129
723
678
859
29
77
5
930
734
553
222
77
564
84
798
603
5
957
705
900
26
40
213
554
74
607
375
974
111
654
900
196
724
213
508
925
522
650
896
743
824
140
241
597
472
879
702
509
810
828
669
594
498
149
878
993
165
159
906
717
152
649
443
795
598
987
987
407
625
565
964
996
639
445
784
329
750
517
833
885
90
543
624
599
852
440
870
303
966
415
798
659
192
12
104
248
827
902
364
56
803
764
339
979
338
207
582
90
884
349
161
285
359
503
362
351
430
684
74
950
504
986
359
569
544
385
798
546
617
516
493
310
85
120
483
693
104
511
992
167
598
609
790
748
521
692
373
11
395
396
236
808
325
340
728
261
481
814
686
764
207
845
294
361
826
948
966
30
367
857
858
86
628
895
596
500
538
305
892
265
746
486
990
909
875
499
237
455
494
626
252
958
173
170
683
521
379
552
779
799
316
957
429
394
370
298
223
335
742
427
593
433
48
103
902
287
15
134
19
497
658
561
620
498
744
740
559
26
86
877
30
666
319
500
802
99
73
843
353
419
291
122
138
654
752
40
239
248
127
215
722
226
261
20
781
794
655
133
956
276
667
248
968
226
539
181
627
458
696
743
30
475
223
954
761
157
744
527
527
598
433
54
897
817
704
816
806
292
594
16
623
94
9
911
255
827
730
208
279
740
210
364
377
564
825
915
666
394
59
524
82
321
401
497
784
576
219
207
232
270
572
956
868
480
638
44
707
202
135
813
923
528
987
560
63
860
442
879
762
754
790
587
390
173
668
868
187
623
710
888
32
64
30
145
825
5
364
670
671
421
65
87
537
784
488
810
153
453
58
909
290
445
161
71
604
726
431
332
822
586
871
792
614
805
729
458
879
367
295
614
91
823
264
902
590
789
241
743
628
385
254
858
729
82
666
795
342
209
751
385
240
24
429
190
990
991
1
993
927
598
124
448
930
690
444
872
333
648
291
304
294
290
257
341
630
469
90
44
628
842
456
979
152
267
762
123
368
58
974
716
905
167
397
751
607
60
739
927
52
578
760
443
798
3
311
801
206
197
809
935
435
833
500
234
854
475
416
804
832
273
802
192
33
212
155
593
470
358
409
548
755
195
428
871
28
582
826
934
212
794
604
710
741
746
622
261
570
877
53
891
685
670
241
81
841
962
110
125
743
317
685
372
553
819
216
744
446
979
951
889
550
519
106
43
814
349
97
958
502
973
123
337
439
348
971
136
203
807
384
523
633
462
674
6
114
60
811
618
485
751
73
240
10
300
518
265
356
911
184
233
719
19
188
802
653
147
682
252
124
104
311
684
437
597
550
163
53
245
283
673
634
977
881
135
499
158
575
260
664
29
58
365
994
51
978
363
291
38
964
578
930
958
953
144
565
70
129
545
61
768
297
72
846
471
882
73
568
577
152
118
794
735
952
497
570
768
221
819
589
360
919
162
650
639
982
339
295
712
500
58
152
925
260
990
320
173
333
385
8
998
375
876
244
140
267
540
292
60
227
539
988
219
139
530
735
340
380
288
473
815
586
245
263
643
373
967
217
165
205
188
741
989
311
904
211
484
203
424
167
949
348
225
943
670
815
126
182
923
85
601
176
948
98
251
441
990
655
780
36
312
36
257
902
237
124
888
323
980
849
550
596
28
127
839
789
731
486
874
658
858
162
199
240
135
773
219
37
153
909
704
493
585
394
939
195
275
618
713
204
307
67
1
212
38
349
372
275
886
317
534
66
330
467
263
742
988
89
596
849
879
850
396
786
408
629
140
515
20
925
817
337
628
321
955
487
15
374
621
171
670
504
128
129
943
53
24
704
702
580
582
330
774
923
740
138
266
660
950
78
464
516
246
921
206
968
802
71
744
958
825
232
559
160
520
867
223
473
268
226
477
96
160
331
196
824
139
784
634
743
560
291
94
621
811
433
607
678
462
875
29
952
921
884
764
294
165
143
913
421
387
488
810
879
471
888
598
970
954
768
235
732
426
406
544
818
276
89
98
949
621
562
950
426
258
43
81
788
223
669
505
5
372
579
781
450
438
273
537
412
274
868
6
723
675
704
228
138
765
351
75
749
166
146
674
444
18
556
149
533
47
61
406
650
138
362
333
916
845
253
216
374
577
169
347
822
407
424
780
956
958
576
424
602
834
988
850
937
944
885
667
785
362
82
123
595
246
340
327
464
12
474
636
52
256
907
872
727
71
227
316
642
805
708
82
122
191
140
738
534
860
993
912
657
340
494
922
861
69
160
749
257
8
98
144
148
393
969
107
908
641
322
673
527
397
732
236
601
814
874
530
594
344
464
407
705
52
765
192
758
185
180
533
673
514
9
760
947
446
478
227
91
741
203
692
995
586
92
189
495
163
397
412
532
139
57
242
995
568
599
395
743
73
512
812
743
602
69
974
91
62
886
501
619
215
392
659
297
208
819
501
203
478
16
944
152
283
275
962
456
340
115
614
249
837
998
504
583
93
683
686
929
564
174
445
357
797
529
865
543
892
981
791
121
848
59
905
989
741
654
372
503
424
760
813
923
413
979
697
481
712
559
112
348
443
658
49
931
672
964
242
60
824
640
750
914
401
972
262
602
122
663
195
34
288
544
863
397
291
227
416
589
110
950
947
973
604
327
100
308
746
907
789
544
798
751
41
28
328
684
446
572
762
80
630
601
626
140
732
320
261
243
481
968
593
664
324
19
161
370
659
239
345
354
926
605
203
6
914
974
330
671
329
124
969
442
69
835
665
66
720
979
959
252
855
775
191
909
983
261
939
608
186
197
478
267
856
776
665
81
637
694
157
561
464
290
271
278
926
136
534
166
137
353
992
317
993
305
192
81
841
560
372
378
731
773
604
478
448
904
606
748
918
871
188
664
410
920
14
209
785
145
123
702
537
611
493
782
907
827
873
647
719
944
653
724
223
426
616
939
548
821
669
806
82
196
34
983
894
720
978
526
820
841
982
417
283
656
337
860
586
96
336
406
692
158
482
570
378
984
629
36
863
845
771
360
938
586
2
116
891
558
992
140
33
610
783
85
44
207
555
38
312
25
470
802
656
263
442
514
959
178
947
633
164
764
175
50
282
222
849
598
438
740
571
558
742
573
527
808
851
578
72
787
542
739
707
232
578
347
167
403
908
210
941
457
325
957
33
219
823
181
966
342
178
292
991
445
196
79
356
15
998
440
268
786
917
933
518
879
253
44
929
321
903
942
293
288
543
572
471
900
900
884
472
896
634
538
841
434
587
776
412
416
856
881
474
779
239
408
833
406
310
453
141
661
228
826
30
396
370
441
109
67
925
204
818
272
575
996
700
928
809
771
513
263
244
717
712
623
426
215
351
733
254
222
536
736
244
507
495
297
8
982
498
78
496
375
936
337
135
492
15
522
366
598
418
584
888
978
87
663
782
27
366
684
962
793
157
679
545
517
482
496
708
824
681
552
480
365
721
427
275
802
302
885
163
904
266
269
492
750
731
815
145
801
923
469
450
875
36
267
614
258
531
319
19
706
459
686
667
309
367
673
298
629
232
878
140
585
579
795
713
562
896
825
830
526
488
556
301
792
906
359
643
465
314
592
294
893
34
642
430
988
45
299
821
969
17
541
911
502
809
426
825
975
748
763
198
251
917
819
812
701
698
888
840
990
86
597
785
296
43
519
158
112
29
207
818
636
5
319
847
448
542
268
406
312
784
971
439
599
823
551
133
4
374
928
521
454
497
454
575
401
899
582
645
573
957
854
186
556
919
357
680
222
976
41
359
94
845
70
237
949
882
151
329
99
369
850
318
640
709
388
603
832
176
674
763
153
786
708
926
316
972
731
811
954
466
797
344
80
790
918
193
318
679
565
730
375
395
996
101
590
112
727
115
744
710
447
415
648
25
693
411
95
88
819
875
717
759
173
830
53
360
594
853
584
668
997
307
133
531
326
574
475
445
914
470
644
354
205
249
987
870
367
789
292
867
42
65
329
132
230
976
27
422
414
125
358
625
472
850
23
651
698
195
660
522
2
160
198
598
581
90
935
257
759
218
255
52
601
434
949
561
863
384
687
442
375
929
670
157
401
659
271
52
978
722
614
766
263
891
452
382
308
685
142
780
272
235
833
18
158
537
134
112
572
712
413
811
240
623
625
174
496
508
737
280
492
694
779
521
56
719
808
813
308
384
366
344
513
719
903
119
553
133
193
661
767
927
455
223
534
455
651
741
650
157
526
373
706
54
956
634
360
551
450
766
57
499
627
158
153
102
337
924
92
972
943
35
186
223
524
475
312
729
151
101
488
427
183
717
255
896
314
735
494
2
872
973
973
851
978
972
975
322
654
451
179
279
918
389
566
450
34
748
704
911
349
538
723
255
27
168
661
780
890
791
852
268
682
3
356
236
377
578
257
517
932
741
6
433
161
223
83
448
50
792
699
443
542
793
852
139
584
997
779
334
959
804
185
928
333
108
715
21
296
312
144
291
938
411
692
547
932
426
295
938
329
496
940
475
203
473
60
265
305
10
423
900
998
664
804
919
504
981
47
958
787
65
28
17
239
64
220
83
432
568
524
215
66
577
956
995
437
665
723
475
23
671
226
509
287
567
387
265
179
233
21
703
819
8
421
763
223
729
418
771
869
446
410
793
117
142
162
55
734
758
798
399
118
212
586
170
314
694
337
682
217
772
89
553
709
979
452
512
265
361
214
427
33
338
451
604
288
891
346
928
758
628
715
406
83
351
898
136
283
905
112
387
914
861
675
443
649
289
745
221
279
92
682
630
618
258
42
399
998
643
850
113
628
918
899
571
153
207
758
500
349
668
917
623
104
758
844
414
239
596
231
910
39
704
17
682
385
942
585
465
598
411
614
917
904
125
361
340
386
190
698
650
997
122
313
936
886
940
370
216
41
290
801
113
185
708
944
487
972
705
981
376
139
147
702
781
419
72
700
561
370
899
205
201
159
818
750
681
286
695
578
607
655
220
228
891
821
595
620
490
61
762
967
306
913
569
683
823
44
349
436
948
458
924
802
5
856
935
23
458
452
859
422
562
382
554
977
808
293
666
655
369
61
803
917
530
439
798
431
663
315
155
548
824
506
468
630
234
976
797
134
323
193
104
472
969
381
65
12
345
774
358
509
455
876
154
513
900
890
968
362
966
507
312
670
937
263
506
57
730
8
47
509
684
505
354
105
365
949
198
799
207
533
661
750
124
489
2
261
569
964
343
549
492
411
642
531
954
951
779
922
105
821
156
561
783
59
664
183
329
913
481
242
835
463
930
386
997
617
750
513
901
971
643
972
318
194
666
109
809
297
735
361
645
246
255
356
936
334
534
940
817
678
657
231
552
611
385
615
597
664
217
953
686
451
202
426
345
292
263
771
502
216
764
923
904
96
542
920
162
333
361
702
118
431
590
825
848
630
773
209
319
836
443
611
493
481
792
546
848
334
343
872
767
179
185
741
94
554
844
499
27
497
39
736
627
981
540
863
152
511
29
342
888
260
460
781
125
490
758
949
187
920
634
982
761
294
54
941
428
931
251
139
559
236
604
991
93
185
401
17
798
538
623
605
98
467
896
632
586
668
413
346
769
357
996
184
75
886
702
864
890
664
827
3
528
346
409
595
149
761
769
272
944
491
49
446
471
814
186
289
473
508
842
562
519
290
885
708
492
866
182
780
596
861
853
632
577
971
633
136
887
51
779
80
59
701
220
512
82
245
964
270
395
214
726
830
492
941
143
62
947
329
761
978
22
304
394
960
262
943
348
198
928
168
743
34
184
110
139
762
655
75
543
749
371
530
233
712
447
354
972
327
429
777
759
671
328
28
230
114
761
369
436
286
314
411
571
979
613
956
191
209
473
568
208
279
520
633
705
534
120
356
137
795
150
686
160
568
0
506
321
342
555
769
747
294
614
910
961
984
80
581
82
364
660
22
303
789
952
779
818
28
43
208
616
511
238
939
583
405
874
718
319
298
425
864
314
721
820
813
704
415
951
900
719
831
248
78
363
457
186
314
413
819
155
511
179
884
692
674
486
378
595
721
775
408
977
276
271
6
331
897
964
609
355
463
571
847
36
261
617
991
857
928
147
704
864
630
65
179
661
96
500
372
941
182
32
720
702
346
454
281
490
484
647
653
432
113
650
736
480
810
286
341
216
770
710
58
92
396
839
792
128
608
437
823
30
730
700
81
942
207
916
120
909
637
595
803
896
29
977
681
105
610
666
407
899
522
156
538
336
985
672
697
507
672
215
623
491
574
626
491
737
712
198
679
653
820
860
997
225
113
90
940
839
757
106
917
558
835
33
882
533
899
250
56
923
611
655
158
637
837
678
112
373
116
302
534
21
512
630
858
572
103
600
150
895
785
787
41
856
611
762
465
300
130
219
854
474
155
157
179
183
354
207
531
645
423
652
286
562
187
509
544
328
469
727
647
177
774
891
217
541
25
24
76
810
905
612
973
254
610
929
34
820
822
435
623
917
15
798
330
65
893
487
428
189
638
564
245
109
908
845
753
7
738
882
19
34
994
265
125
352
828
209
645
295
303
526
299
940
344
24
78
745
459
287
639
741
529
294
290
841
235
747
740
772
679
62
829
99
925
977
875
221
781
739
2
326
557
873
401
220
97
367
791
430
740
661
467
408
276
834
329
714
172
676
495
196
929
857
256
662
195
43
316
534
670
107
910
855
236
978
450
282
277
565
50
320
400
260
459
646
943
847
149
962
399
886
471
671
669
455
249
136
120
384
338
999
849
172
344
979
157
482
540
777
758
535
958
954
330
819
719
891
500
405
887
381
236
962
324
241
203
466
111
304
476
854
734
645
832
512
109
742
561
345
913
663
634
476
766
660
888
89
829
577
96
258
287
708
249
599
572
103
423
907
536
409
289
250
998
314
585
869
346
544
303
199
594
193
311
225
450
464
109
588
681
461
190
912
638
789
278
444
215
481
236
828
645
170
373
475
418
750
564
620
436
210
172
854
922
671
600
182
184
184
665
123
991
811
809
826
585
502
350
708
126
560
231
884
349
52
799
653
574
788
520
604
945
538
771
888
533
116
613
755
800
80
519
681
795
419
54
145
200
865
408
315
443
607
908
206
391
198
666
344
968
629
459
966
16
541
45
760
536
681
69
210
769
229
879
657
490
724
223
662
417
795
669
727
579
621
772
58
10
317
907
534
389
223
806
788
286
511
232
938
924
729
107
250
987
319
977
133
310
391
444
491
122
511
762
578
789
733
232
453
79
321
459
923
855
829
805
556
429
254
180
997
818
981
327
974
323
6
398
911
305
687
713
915
515
944
953
798
368
279
739
981
277
207
174
189
178
866
37
645
649
734
569
468
933
436
307
728
385
722
875
734
670
767
581
703
559
39
893
572
854
865
107
606
865
599
945
141
333
396
360
123
387
810
633
9
374
587
455
521
729
216
937
795
263
533
328
960
327
132
762
731
162
123
408
383
985
884
268
743
301
209
216
219
960
360
332
846
391
764
367
29
138
6
350
127
243
282
971
20
568
471
41
164
106
824
638
711
857
440
187
121
525
445
745
46
686
647
463
400
309
871
696
979
610
800
280
768
786
450
537
813
850
273
414
521
453
82
226
189
986
948
18
993
504
774
938
527
980
918
764
61
981
676
130
876
491
73
385
163
691
480
332
517
704
364
220
865
337
148
637
915
256
955
887
221
163
128
85
385
574
849
568
227
44
728
70
667
76
28
674
689
957
625
444
312
365
161
188
821
640
714
415
537
160
732
237
411
438
539
553
647
421
104
453
733
977
54
107
173
987
117
738
25
655
353
178
618
318
808
484
788
728
941
558
544
226
635
166
593
357
345
278
801
388
468
962
137
252
256
421
522
723
89
338
988
455
705
576
544
277
506
127
254
641
23
548
464
341
968
762
921
836
47
172
571
76
143
554
131
906
816
641
466
688
913
449
84
855
144
35
7
645
414
863
958
185
775
245
458
720
484
716
348
267
145
954
603
591
170
913
122
394
441
791
12
590
626
442
45
997
757
867
897
739
480
503
461
732
916
57
18
134
954
747
992
981
683
409
224
638
667
379
354
16
896
894
491
540
426
474
492
156
879
516
44
738
336
769
531
293
517
402
700
668
508
211
621
312
788
311
648
287
977
784
390
870
145
226
61
278
90
966
500
458
909
261
425
345
963
682
422
291
291
879
131
484
388
84
857
172
553
726
273
32
699
695
442
708
261
496
765
440
609
412
105
76
302
641
198
769
549
764
927
62
283
558
339
211
916
788
293
453
385
909
172
178
140
144
671
902
452
310
277
516
757
218
185
617
374
180
493
785
714
462
164
893
899
347
649
63
180
386
486
560
431
848
25
121
653
565
931
715
442
125
513
565
68
252
806
678
617
538
877
906
492
33
774
905
577
421
907
216
485
846
104
264
180
954
552
604
971
593
938
301
435
948
911
573
613
558
434
705
184
111
455
454
258
714
800
212
925
623
371
271
322
653
817
378
40
279
280
729
758
286
437
249
934
569
165
262
318
618
472
707
168
870
703
741
392
340
77
40
246
131
96
955
31
286
547
517
702
348
315
865
841
441
59
302
233
477
670
30
504
32
899
717
360
767
416
793
669
229
984
403
59
806
130
487
417
867
448
775
761
309
763
692
794
747
468
550
189
129
984
475
491
598
18
231
865
566
812
533
808
633
306
941
955
239
337
744
627
85
385
815
257
696
977
82
275
933
65
375
856
227
529
629
634
870
272
843
985
131
109
785
606
411
30
112
195
720
31
20
891
140
764
709
588
73
398
82
342
873
200
604
365
179
167
79
138
568
29
121
870
6
755
139
629
575
751
604
690
997
131
541
305
178
99
703
883
47
499
317
710
835
835
926
365
327
309
570
801
349
246
657
665
966
918
817
206
637
945
19
609
207
335
744
894
530
524
753
30
730
908
448
299
433
885
704
875
356
731
69
296
987
334
757
816
10
827
490
856
42
774
332
836
351
762
684
880
864
815
233
906
56
415
664
765
554
312
37
10
207
319
764
718
366
883
998
579
903
332
982
912
916
539
302
524
834
471
117
353
160
260
677
739
146
422
408
978
175
892
265
8
481
440
409
603
593
233
85
389
490
54
726
417
349
650
738
651
6
980
910
79
433
284
861
55
999
378
374
903
98
970
333
990
697
627
358
692
33
256
26
998
895
289
330
583
299
772
706
678
801
556
925
256
633
703
638
37
95
827
426
218
283
65
738
115
351
142
824
146
999
615
438
555
860
77
372
598
501
299
38
451
655
891
499
840
183
534
819
427
521
547
817
320
498
278
625
396
160
343
106
128
259
734
623
665
645
294
718
143
764
368
678
887
546
757
716
922
273
232
163
476
979
124
460
626
372
663
378
792
502
324
120
207
694
515
187
804
448
628
360
990
180
838
564
54
915
232
268
149
802
165
43
564
526
815
518
950
873
484
72
875
148
904
788
203
465
646
471
184
486
812
641
370
348
77
902
784
991
949
34
508
568
552
746
979
952
885
723
333
797
377
295
824
293
115
31
367
127
30
77
997
500
427
680
35
758
949
296
946
500
691
877
803
309
298
237
615
989
289
95
516
947
587
385
874
145
176
954
575
34
513
876
706
56
324
843
687
992
611
226
796
42
964
762
154
698
792
640
409
877
10
246
145
177
605
913
473
531
497
225
737
177
791
774
885
539
923
872
188
239
10
733
414
54
223
29
116
404
432
1
106
245
138
167
802
413
253
921
520
160
198
238
599
394
915
913
406
740
113
425
75
693
397
431
378
177
714
584
915
561
490
317
943
629
952
130
436
238
76
387
837
75
763
945
215
315
91
42
945
183
520
774
203
226
238
889
226
967
547
24
566
967
360
723
199
363
755
26
776
984
417
437
297
986
602
578
90
341
36
227
221
282
719
806
590
416
634
5
568
639
347
898
893
362
448
501
357
87
140
915
608
70
212
174
401
642
879
781
585
257
546
840
886
903
598
20
783
522
268
854
905
581
900
780
544
184
962
516
21
675
194
271
954
590
177
548
440
394
729
78
691
816
404
496
551
253
773
106
386
166
55
230
187
995
713
892
782
569
458
923
49
915
436
627
827
667
701
702
621
563
570
631
810
387
923
463
1
65
893
935
5
169
760
67
603
987
160
233
743
988
607
664
156
164
77
479
185
62
423
527
143
9
919
543
705
417
704
865
208
144
39
891
412
914
617
734
19
969
299
983
904
472
996
355
726
497
813
585
362
32
214
877
251
643
238
246
167
146
705
85
558
693
834
735
127
685
417
31
499
437
321
44
89
526
479
246
134
793
111
799
498
628
690
122
421
85
617
789
758
276
839
29
834
649
939
634
229
789
887
338
889
679
508
967
451
68
982
192
616
263
371
724
209
871
583
4
433
92
830
678
370
369
524
854
346
333
120
109
624
35
875
15
735
129
805
586
174
597
135
874
164
187
908
128
119
817
309
670
660
787
705
83
2
492
957
788
243
909
796
239
561
912
664
494
627
708
591
716
850
498
164
58
452
860
980
25
646
123
166
304
325
952
678
544
963
523
271
440
557
235
378
162
644
799
582
102
372
577
800
162
425
455
44
150
140
912
534
123
720
149
41
709
297
410
125
778
364
743
89
709
974
942
298
205
775
176
206
898
611
338
688
662
385
423
947
248
534
302
726
584
467
891
421
630
730
123
802
816
602
834
365
674
632
195
755
283
510
850
198
46
28
313
994
643
191
990
678
136
507
272
696
99
245
476
210
794
539
928
42
802
527
487
43
268
756
177
952
772
912
232
473
139
797
589
804
288
265
603
619
626
695
763
712
91
849
75
895
205
646
60
426
540
748
260
498
333
715
567
37
203
583
467
667
336
274
606
104
808
976
115
639
338
438
984
928
911
716
865
541
120
233
266
456
609
693
220
590
382
203
677
558
747
656
730
210
447
709
800
397
380
225
459
221
632
930
468
479
876
468
878
299
353
502
562
77
680
707
168
842
411
781
771
116
280
702
522
288
9
280
185
237
71
657
315
73
760
824
849
572
348
520
5
611
94
709
250
228
868
688
774
838
998
489
119
46
38
988
170
14
215
577
440
234
932
78
174
448
930
660
408
73
947
956
216
222
747
739
247
395
771
88
852
736
999
8
406
123
986
946
222
625
957
931
249
954
842
511
765
22
20
141
639
249
77
607
162
173
902
498
547
239
88
104
169
799
747
551
272
463
25
337
219
989
643
476
24
686
382
111
812
966
750
160
925
867
25
920
209
888
549
966
838
725
271
896
20
196
142
51
762
979
951
865
994
528
843
211
468
695
874
378
855
359
248
912
92
441
552
875
340
675
459
896
196
801
911
91
846
700
632
227
611
253
638
690
33
210
218
734
291
278
253
274
206
606
901
653
305
999
237
409
799
202
468
392
624
573
339
70
264
71
144
928
297
112
993
655
818
326
519
189
608
949
870
618
363
886
462
872
49
225
539
671
264
687
522
61
688
766
230
61
514
933
542
502
377
863
570
432
394
952
887
451
787
845
84
280
680
831
436
564
582
487
0
8
822
420
793
892
519
202
418
326
69
587
594
17
495
507
933
328
252
543
360
635
236
612
655
761
962
340
714
669
126
862
900
505
107
25
186
539
775
686
64
423
585
316
935
18
66
8
639
113
380
743
823
334
126
757
624
312
817
922
846
668
968
736
28
237
576
27
67
807
170
893
158
591
841
412
976
436
332
185
396
402
446
309
697
400
307
656
441
802
346
879
572
326
127
795
345
660
205
672
73
840
597
206
76
423
411
836
822
445
261
751
486
364
299
33
400
868
892
953
512
749
509
340
620
530
183
257
742
819
853
567
704
819
430
387
180
110
966
647
20
416
850
284
742
403
113
725
410
736
474
232
134
338
829
327
644
875
566
357
747
32
451
470
740
698
410
890
404
981
491
710
247
857
814
533
850
49
206
772
166
241
11
946
827
587
400
522
367
541
172
111
8
120
771
747
393
769
162
957
405
426
522
814
359
399
80
835
412
236
768
199
3
288
693
956
507
665
738
719
817
324
224
177
353
107
526
304
600
625
545
876
245
156
954
313
53
586
637
843
316
968
986
554
770
528
158
848
498
271
775
986
721
869
172
280
837
721
161
511
306
860
785
298
154
424
605
944
187
911
263
179
829
2
557
805
741
731
428
716
229
630
365
181
15
332
41
415
291
243
283
276
449
647
270
358
567
178
929
85
28
650
655
896
851
219
479
781
92
798
63
837
53
645
888
320
812
724
272
431
851
357
435
693
203
778
141
755
243
457
439
578
816
817
728
133
40
513
811
918
728
15
915
590
595
313
695
321
331
452
598
198
275
308
932
77
24
845
116
978
513
932
804
618
630
828
892
599
569
119
761
516
247
880
684
147
51
360
18
149
387
862
487
254
953
605
708
719
344
840
573
607
365
541
624
375
12
961
790
383
22
392
31
351
556
112
400
940
552
767
192
162
231
399
837
14
48
901
665
913
977
465
42
55
477
541
734
48
215
845
583
850
337
933
374
511
55
797
757
285
980
655
851
483
739
83
949
971
734
584
799
76
586
805
168
666
734
434
980
98
709
641
43
759
914
49
125
914
865
298
705
304
354
851
844
321
968
846
904
129
210
814
36
645
647
79
94
539
686
682
523
643
170
316
78
278
591
886
892
862
707
616
637
132
164
326
983
451
198
56
424
56
767
144
136
379
616
500
963
809
402
235
581
602
261
414
926
837
381
746
617
663
530
888
509
419
204
780
120
723
551
447
443
833
331
233
433
933
358
963
649
792
170
23
818
838
309
544
48
323
575
533
819
399
78
4
181
723
718
942
488
557
160
439
403
229
519
317
496
289
544
154
129
678
541
548
180
664
767
458
268
191
122
125
378
341
15
581
967
162
248
969
424
241
243
398
282
831
362
570
504
685
752
818
316
258
329
553
40
647
641
879
678
74
91
391
288
442
35
716
91
42
484
288
598
709
879
701
418
497
602
29
360
871
247
43
651
769
867
359
657
485
575
773
580
295
2
670
314
383
810
588
346
909
4
242
502
829
818
800
31
15
645
740
652
709
160
763
156
779
106
557
47
676
3
193
409
4
296
911
214
900
927
450
375
415
210
16
453
286
3
985
892
801
636
667
36
410
204
570
568
351
343
70
944
810
647
314
862
239
908
796
992
37
888
327
753
612
339
433
287
63
740
301
722
960
571
538
45
706
611
87
94
69
788
13
327
69
210
216
377
141
118
846
655
900
7
315
833
393
19
976
4
398
29
359
857
810
349
136
970
592
479
446
81
319
964
209
365
366
84
282
339
675
773
448
122
938
648
695
752
28
150
986
432
413
441
148
495
179
994
856
387
385
391
364
851
381
44
853
943
361
475
531
595
311
117
62
352
223
569
393
450
898
221
292
871
359
730
947
625
368
575
198
641
622
371
91
521
896
535
96
902
493
167
566
675
588
492
900
927
721
6
423
210
734
64
696
123
243
666
152
554
691
152
345
735
93
606
127
944
953
459
238
781
609
561
862
558
589
304
160
305
845
858
41
655
467
134
800
206
574
186
974
440
676
56
252
396
334
574
907
28
80
913
261
894
440
537
717
915
461
675
63
380
799
39
520
560
9
192
897
975
310
953
491
446
913
769
809
889
881
942
454
998
947
329
573
745
752
447
4
911
931
542
96
636
487
10
136
937
51
320
430
351
166
232
638
748
682
582
136
396
105
394
126
909
308
910
785
323
545
802
504
939
427
361
671
611
841
335
261
60
694
277
988
446
997
830
443
499
18
972
995
650
890
400
945
158
842
397
379
72
84
822
625
334
906
384
978
570
322
196
776
406
799
862
47
852
990
490
568
552
578
455
588
953
607
570
331
425
326
624
761
869
715
75
993
972
545
144
775
924
487
549
396
247
16
737
346
235
57
773
757
304
779
367
963
961
569
447
56
688
687
963
111
581
432
39
82
918
811
52
85
507
627
516
10
539
615
153
538
641
953
796
294
900
561
659
898
419
582
980
377
185
578
335
499
860
180
5
573
754
700
969
512
46
142
736
906
779
713
923
116
490
967
105
319
483
739
551
37
542
72
823
62
809
592
999
218
373
662
35
693
896
180
611
1
218
602
387
25
411
880
492
136
201
145
304
633
465
840
286
245
487
704
571
522
734
660
991
281
937
66
800
54
514
315
67
484
201
360
643
940
391
864
516
617
337
104
156
609
87
387
723
69
67
964
396
282
934
946
804
50
134
195
116
466
977
9
95
917
691
186
761
584
84
179
265
775
158
157
50
414
934
116
953
268
11
94
41
146
389
959
746
789
94
829
529
485
157
804
543
744
467
611
61
964
285
476
896
423
129
601
270
392
679
662
84
344
789
906
56
469
901
220
482
909
259
662
947
49
662
374
501
350
183
413
876
25
452
44
697
777
280
300
0
553
702
395
275
330
246
48
580
589
241
908
256
132
40
921
291
225
49
115
783
362
123
52
13
747
403
334
449
428
410
94
486
481
29
813
577
540
922
923
509
382
321
791
68
925
624
310
298
193
781
652
505
566
653
648
319
155
644
491
305
122
333
865
384
18
10
485
492
967
821
395
151
410
196
796
252
735
72
747
797
962
833
482
866
956
742
625
758
718
416
184
863
467
155
190
369
803
316
944
177
151
301
99
955
28
773
443
834
348
887
870
932
95
256
258
664
856
755
457
906
731
15
25
48
932
311
274
589
246
889
670
958
554
100
139
804
905
865
488
624
172
890
376
817
942
489
127
166
787
945
581
887
670
358
232
654
882
710
901
534
339
300
21
2
881
38
213
940
548
490
359
174
775
802
857
302
958
734
90
427
255
595
118
980
59
741
496
628
939
348
16
58
97
88
605
755
790
415
613
767
409
772
443
606
661
410
698
520
886
523
21
371
746
658
463
98
282
245
629
12
104
622
262
161
700
234
844
995
226
153
116
456
657
139
854
946
142
149
965
65
150
22
571
522
278
335
349
486
783
586
865
627
424
594
462
230
972
882
977
866
801
182
608
117
781
997
266
287
885
456
26
329
285
559
254
924
110
665
507
243
419
571
565
909
171
463
688
689
789
277
362
373
420
740
827
610
863
165
69
695
823
649
498
593
793
324
342
414
582
116
834
258
0
905
868
379
622
43
422
773
530
588
852
732
69
663
937
164
486
533
782
657
165
305
382
464
40
121
31
895
250
971
895
750
159
71
919
333
643
586
779
440
652
810
142
857
196
253
427
368
667
595
160
685
865
633
571
716
738
857
523
558
759
391
792
95
682
420
912
942
132
655
430
331
870
213
23
781
468
57
995
23
525
656
77
397
934
304
563
448
27
56
332
636
788
247
101
610
956
500
303
18
386
637
976
783
517
56
122
947
531
98
247
135
256
795
142
345
751
712
862
397
182
792
589
613
866
103
363
786
784
42
440
538
346
598
549
35
362
208
343
850
275
763
5
320
241
638
655
928
884
119
439
131
324
445
366
433
442
107
624
424
134
559
406
508
161
840
13
874
78
995
269
934
557
192
365
561
181
765
834
311
397
135
335
456
805
510
60
868
905
375
305
537
454
708
420
54
402
265
969
140
345
82
318
562
467
118
196
695
510
55
765
870
367
817
547
875
561
511
795
143
107
426
231
422
293
470
937
982
493
120
923
661
536
599
148
744
5
549
654
457
617
688
319
908
949
559
650
246
793
502
180
712
543
679
584
957
820
623
711
561
403
778
2
884
476
811
764
331
39
464
789
889
96
524
757
467
160
431
540
317
223
790
936
867
427
626
698
607
491
727
160
722
585
796
485
48
903
98
463
803
616
748
774
444
538
953
115
234
719
810
439
47
223
288
553
906
930
174
288
603
251
109
750
938
56
188
981
386
648
290
841
121
244
149
851
192
606
952
989
855
212
915
31
720
962
206
241
545
882
222
849
190
425
315
839
269
2
810
873
307
365
761
873
633
134
827
101
653
726
605
939
177
670
783
975
144
988
99
43
668
345
51
587
964
502
826
723
558
179
939
568
892
707
635
614
46
778
714
144
516
493
568
831
490
546
629
201
169
578
752
140
776
40
748
457
912
700
632
216
816
572
242
936
621
400
165
489
166
861
415
296
0
498
380
523
436
106
566
654
445
911
297
27
216
781
487
246
830
100
813
320
349
479
644
49
253
778
24
880
890
170
737
348
547
671
420
368
420
523
242
938
68
633
457
826
712
891
148
229
441
601
749
546
999
583
948
259
905
379
941
645
683
601
669
127
282
43
916
630
707
128
713
157
736
285
227
541
963
759
973
985
615
68
219
56
566
960
329
232
398
62
18
554
443
240
710
768
208
753
865
945
627
719
878
707
283
617
414
779
206
391
34
128
809
540
431
21
478
707
443
615
467
633
934
7
36
436
628
155
566
764
215
522
242
674
902
298
26
78
47
813
997
768
51
985
320
247
671
750
639
702
676
385
216
485
291
42
937
877
280
178
349
140
565
826
354
280
324
3
206
853
991
943
205
674
521
781
585
861
832
41
979
491
798
141
356
443
728
216
228
360
135
554
681
340
158
84
79
446
863
460
938
308
171
74
705
720
426
916
151
639
665
751
669
100
946
342
842
663
183
125
106
39
354
26
645
188
377
437
113
839
238
27
43
956
594
494
12
471
427
408
466
750
560
8
161
880
943
622
257
531
29
11
488
852
895
410
967
979
123
482
490
584
218
158
315
235
628
940
116
721
241
137
238
791
423
71
159
8
246
866
360
87
330
277
503
539
712
518
91
890
790
351
367
591
410
464
178
11
144
10
405
118
550
861
406
149
756
802
14
596
977
675
895
642
447
557
896
300
911
760
352
505
330
254
667
63
112
249
769
136
634
771
37
339
327
942
612
837
863
379
452
76
153
33
198
160
783
385
445
194
640
855
165
767
619
561
980
986
569
819
580
517
456
852
361
207
513
184
873
286
787
552
97
45
785
321
491
423
694
770
719
707
403
526
230
809
49
906
386
740
114
826
268
401
472
307
564
910
892
547
688
352
740
768
4
976
553
140
420
103
165
851
684
868
727
352
361
391
622
29
402
295
170
872
228
773
606
898
22
338
448
392
7
596
496
381
847
901
118
915
676
238
24
800
508
514
315
367
519
225
541
847
695
42
132
19
740
412
552
483
824
259
364
51
396
250
781
79
16
938
665
54
924
688
341
236
111
612
746
915
577
583
58
910
893
308
248
578
634
254
466
918
341
433
303
3
784
587
608
272
190
312
430
383
74
96
519
509
159
65
189
120
936
55
271
446
196
456
728
694
93
895
976
556
493
342
546
693
92
648
71
250
151
628
119
416
449
534
592
17
244
488
177
877
173
89
839
605
565
458
381
63
173
677
664
53
86
100
183
596
366
446
718
396
289
847
712
947
391
620
907
295
430
199
148
216
500
493
350
679
292
753
188
335
836
378
520
860
940
166
24
133
105
85
887
462
899
293
736
379
722
541
560
740
55
104
504
697
683
682
184
603
166
222
984
762
500
794
123
37
659
867
443
299
681
61
892
444
432
592
693
798
83
893
623
613
803
141
299
718
505
569
218
377
579
168
155
105
525
90
714
545
869
479
19
461
154
486
232
719
569
130
492
219
714
552
515
217
193
354
639
186
703
290
447
777
557
683
648
323
541
660
803
519
189
986
83
702
58
202
874
45
219
313
972
426
460
415
543
924
437
734
394
306
405
620
710
123
384
418
800
102
241
61
212
439
379
42
306
389
313
11
5
870
849
243
161
751
921
970
477
173
977
710
953
834
935
753
505
892
553
99
143
51
578
450
148
869
895
260
543
890
765
370
538
402
105
444
933
776
573
280
235
958
994
907
426
851
629
985
342
574
683
300
265
262
829
890
16
354
800
729
488
3
917
719
343
429
378
596
209
5
211
258
97
80
942
975
546
249
314
289
431
154
224
824
990
0
621
83
495
389
912
664
429
136
484
489
506
199
496
252
93
845
965
511
245
432
190
135
787
310
705
369
932
242
412
123
312
51
248
849
118
67
757
791
918
852
557
607
388
481
296
734
352
552
959
858
560
446
401
884
74
527
392
453
96
766
48
82
283
515
295
724
479
72
188
672
459
249
129
17
37
835
59
959
82
877
85
541
664
582
647
715
155
207
428
141
524
211
733
202
555
364
830
570
292
77
854
891
846
46
319
302
479
335
942
186
545
114
414
831
50
956
323
136
340
983
374
696
518
118
623
623
847
842
296
354
978
313
644
221
356
663
756
770
699
371
987
606
556
546
839
18
703
886
771
18
727
955
46
749
676
963
468
857
394
201
566
420
197
523
758
667
605
872
254
685
570
407
229
872
575
52
334
449
675
181
344
181
335
93
147
633
118
876
899
127
828
974
318
878
119
962
925
521
757
479
441
551
646
827
570
434
700
682
54
338
417
486
157
898
239
754
323
843
887
738
307
353
501
871
24
65
674
666
494
109
721
836
992
886
92
326
395
881
198
769
275
592
346
494
50
314
992
133
855
178
265
434
854
358
487
795
494
373
891
350
862
144
32
615
609
615
175
863
298
657
800
606
40
454
880
374
605
275
838
653
517
113
505
901
763
763
671
22
590
963
685
784
851
451
828
249
879
678
612
729
666
298
901
999
369
995
912
45
587
230
595
241
660
818
655
497
152
492
152
761
306
703
927
408
436
519
744
226
297
126
947
674
2
527
115
111
119
202
927
601
302
172
434
727
771
974
626
759
566
227
473
908
676
461
821
757
311
851
623
600
683
16
925
110
147
568
841
277
551
176
66
745
860
124
801
330
17
396
131
370
917
219
969
849
390
77
778
297
749
463
699
242
41
602
572
797
753
992
283
991
676
112
794
999
258
481
815
435
937
841
656
357
331
115
550
39
740
574
155
966
705
78
913
692
898
346
799
147
115
59
330
614
45
925
766
122
770
990
132
205
931
873
242
15
953
613
256
128
636
549
477
159
816
240
836
412
711
105
253
845
642
526
276
66
223
225
872
651
577
957
738
249
68
404
391
931
698
854
25
276
220
166
817
163
218
206
814
287
948
349
576
808
129
477
545
504
473
996
258
564
836
721
444
562
29
949
449
242
433
172
334
343
956
759
746
491
90
770
812
523
181
963
200
99
279
503
552
716
525
141
438
481
590
376
658
810
444
471
65
711
698
271
554
909
583
164
399
12
980
25
630
275
411
260
589
267
901
643
806
135
227
973
416
450
637
789
584
134
302
512
170
575
379
239
375
900
451
19
883
793
672
910
962
112
342
747
313
62
840
30
884
15
694
138
219
461
543
346
636
505
205
176
534
565
353
917
137
516
740
302
102
359
271
636
413
29
633
408
859
774
394
96
692
49
984
621
133
732
543
86
865
359
712
283
188
67
830
633
227
385
235
151
344
989
319
622
534
309
353
513
534
690
222
878
59
131
128
674
397
392
143
89
812
965
801
929
240
670
341
85
78
741
976
54
532
683
324
48
511
235
377
415
85
793
886
539
556
853
224
706
448
745
199
287
588
170
911
436
703
929
97
104
379
566
332
567
203
168
525
305
799
541
251
943
618
933
339
626
609
883
631
563
206
377
172
160
281
29
470
604
969
54
826
731
195
860
506
108
351
570
496
959
133
367
904
681
24
10
274
497
804
340
74
178
147
395
555
567
725
394
109
140
399
804
810
327
138
333
546
314
435
61
597
681
518
173
614
23
281
757
989
532
73
274
903
23
965
678
303
75
201
668
553
456
263
245
515
350
506
621
949
552
545
474
747
75
412
8
664
720
111
227
510
343
607
644
228
834
448
482
170
502
546
436
914
524
572
771
16
601
380
828
624
19
983
834
19
746
216
42
764
320
303
648
579
316
190
437
666
877
613
917
12
475
55
797
862
889
75
755
761
993
155
208
779
512
107
371
614
888
651
36
416
956
290
486
663
794
229
999
700
546
875
445
167
248
253
181
552
583
427
534
636
140
744
603
917
966
461
502
147
350
94
591
796
872
238
637
716
206
447
546
708
773
674
239
619
414
697
409
220
437
476
584
289
587
619
614
853
106
381
786
342
312
596
136
305
640
755
209
901
894
576
182
939
808
767
707
779
692
980
745
442
631
180
99
367
176
503
104
34
254
114
723
757
558
296
304
731
796
104
625
118
31
734
711
489
131
460
54
347
604
654
55
927
184
711
331
625
479
151
266
561
306
727
603
847
512
95
911
544
641
922
698
94
107
39
458
459
817
460
173
642
903
823
27
817
7
378
442
630
654
168
279
160
929
82
392
967
596
917
377
756
700
269
898
461
529
111
716
359
76
713
6
525
931
968
717
892
722
877
379
917
685
682
386
122
185
122
996
67
336
133
756
559
151
416
76
905
395
153
240
253
952
318
701
402
966
100
776
155
522
538
293
951
610
535
498
961
840
114
206
278
865
796
698
31
927
657
466
343
190
669
988
181
511
793
234
393
847
388
124
702
444
42
17
658
536
455
742
443
46
842
763
974
643
703
25
898
996
840
813
861
450
412
441
789
441
473
289
651
891
396
176
567
674
573
909
19
401
562
590
219
549
148
577
292
423
536
915
638
143
452
363
533
101
2
874
689
141
114
999
202
886
372
990
883
49
982
719
368
115
637
345
319
809
916
911
189
750
714
652
425
333
466
607
566
186
732
62
937
357
809
875
211
951
500
957
937
895
818
384
70
836
639
867
293
774
827
381
368
797
141
460
839
919
940
762
84
251
520
132
629
349
236
978
483
138
930
597
948
233
885
893
880
744
35
532
660
226
253
486
53
80
660
231
93
635
210
933
372
310
243
878
5
741
577
198
817
529
955
145
595
897
437
734
668
542
839
513
395
639
380
259
66
43
443
224
63
378
482
896
528
960
276
710
337
913
447
790
748
289
943
665
327
625
401
733
625
124
317
328
853
728
506
756
157
946
324
899
314
23
618
920
63
4
486
337
155
816
994
595
946
130
92
843
34
786
911
540
273
860
884
896
838
40
229
32
574
396
357
282
44
303
731
584
398
28
719
425
681
686
149
600
486
528
996
721
306
203
817
628
827
963
242
733
681
442
246
152
689
165
374
839
770
445
133
72
186
660
357
162
743
738
11
536
426
786
374
448
66
457
600
419
555
915
327
143
937
138
855
711
263
406
621
906
691
293
692
749
2
632
819
53
504
814
254
793
435
566
383
377
118
873
423
661
591
129
4
908
178
677
473
669
815
781
363
840
59
853
401
561
356
117
577
889
479
82
448
48
921
621
933
677
994
418
60
176
147
715
255
353
191
381
199
296
47
761
605
456
47
309
318
883
517
119
280
572
528
24
942
444
146
558
856
427
898
878
689
329
883
795
329
189
148
191
253
212
81
519
228
99
909
233
928
63
820
758
945
236
273
366
491
675
201
969
547
134
273
794
91
187
462
406
157
841
653
219
557
723
437
560
973
940
352
899
161
897
462
314
261
631
758
949
672
102
541
563
306
704
349
798
77
918
781
988
919
116
725
596
362
674
748
871
664
542
599
20
535
97
843
643
506
928
103
745
314
562
846
354
772
129
260
235
975
73
682
14
352
153
287
384
989
30
580
909
428
741
801
884
808
674
803
772
668
35
451
885
747
323
573
640
44
304
411
685
121
669
868
682
82
83
550
769
755
225
891
235
773
216
419
657
945
689
117
387
751
523
706
998
304
118
250
897
896
547
12
539
252
921
561
714
911
387
463
79
420
259
579
952
28
116
50
76
644
21
372
753
386
908
958
749
731
836
263
272
578
712
864
840
788
619
451
397
7
923
672
745
122
400
671
939
138
853
682
878
564
390
958
788
233
927
321
478
392
428
223
520
759
641
601
707
507
20
738
221
734
820
457
287
815
599
257
480
780
886
514
302
634
869
852
695
739
520
55
10
272
761
764
460
525
764
758
395
614
794
305
879
217
372
335
426
341
509
324
808
254
839
138
109
615
57
579
35
77
387
776
724
211
875
485
527
507
237
63
635
512
579
621
414
334
628
762
486
892
233
958
168
577
18
995
852
713
980
998
750
381
631
698
705
557
170
27
674
452
60
185
687
698
313
240
311
466
847
935
638
51
636
438
660
354
228
228
196
773
180
138
200
501
495
323
840
714
776
520
333
825
984
407
574
537
478
163
965
759
210
866
543
613
139
125
630
362
211
766
799
18
296
480
396
101
324
864
716
640
676
985
353
624
338
750
176
199
823
744
581
298
666
932
877
666
606
277
609
835
194
82
46
303
497
738
797
153
354
15
318
167
138
84
889
573
302
807
149
697
827
116
594
26
475
73
617
695
352
703
120
361
381
655
376
547
806
373
274
88
96
77
599
783
500
487
444
572
240
316
309
655
664
83
486
38
786
26
641
642
449
854
95
805
722
954
419
876
341
712
884
36
334
274
730
692
510
130
274
537
573
143
814
634
642
860
600
434
350
322
491
688
573
848
505
800
837
138
866
413
173
626
428
521
251
609
796
591
983
285
145
451
502
575
14
785
405
59
83
280
103
456
958
308
785
977
456
84
355
37
743
717
150
74
640
84
346
689
960
620
123
215
556
673
953
390
360
715
224
532
33
254
883
664
219
955
475
222
155
937
206
677
576
229
265
89
28
918
928
439
220
471
206
687
879
139
965
825
932
739
618
928
923
581
565
436
895
8
96
334
128
41
260
963
792
772
741
527
752
67
994
363
121
658
197
31
669
698
5
334
421
437
939
335
196
643
202
956
430
333
25
921
224
82
21
171
935
269
565
291
943
317
801
234
895
899
682
520
796
390
23
46
185
122
828
301
901
153
784
879
889
152
691
746
291
27
359
675
238
878
230
767
93
916
955
598
365
716
928
407
773
398
381
462
190
856
832
518
883
85
106
424
253
42
245
667
49
732
946
564
264
269
275
41
598
418
269
426
158
544
823
877
921
469
796
889
22
788
409
85
531
219
94
134
447
434
374
683
693
688
722
474
103
610
191
161
880
981
813
406
369
783
972
167
604
603
114
371
272
832
103
785
688
623
976
507
166
232
314
215
769
106
633
523
991
990
582
179
269
199
920
626
402
463
935
970
348
787
379
989
98
136
443
593
99
949
21
171
844
40
256
755
740
450
541
453
917
500
771
46
748
191
369
985
113
299
557
254
317
861
105
384
516
125
434
442
717
118
357
662
308
900
712
603
800
701
43
727
846
54
397
408
404
172
773
676
805
415
918
329
685
860
5
300
481
656
621
7
90
860
769
661
33
956
725
534
482
205
698
415
721
175
904
861
463
708
956
38
993
83
915
755
731
411
914
164
279
992
627
927
608
328
934
972
494
60
145
625
548
482
510
888
205
825
545
488
954
149
382
786
629
997
450
314
470
955
338
191
341
739
362
851
221
169
592
434
426
6
211
979
325
74
642
696
273
672
172
223
947
921
388
663
497
949
350
100
362
442
720
323
639
456
636
297
560
834
332
483
911
435
666
881
383
405
584
816
466
782
926
819
849
955
953
188
19
913
466
306
695
913
640
313
960
25
787
517
64
94
541
548
151
600
868
66
424
524
96
961
692
616
993
788
595
493
243
818
647
951
822
689
609
388
77
931
984
467
117
526
688
674
566
52
15
428
702
606
352
719
256
541
645
820
597
901
179
99
503
526
316
985
448
61
112
890
561
890
634
856
806
91
309
343
753
913
21
247
797
817
458
572
104
293
927
585
700
553
157
901
785
401
674
883
581
889
27
441
255
330
853
44
517
990
201
800
586
264
923
300
574
762
225
243
965
499
110
651
883
288
933
750
140
161
477
149
987
609
463
200
450
530
55
774
572
158
338
473
849
927
404
542
155
266
800
125
204
312
745
415
708
156
836
419
727
881
910
398
723
719
79
224
490
519
68
785
376
709
473
984
327
289
925
598
457
366
309
514
326
56
143
383
353
476
755
113
365
952
992
579
957
365
223
685
806
212
396
602
672
791
6
721
167
34
870
216
679
632
770
660
27
212
187
984
925
450
974
313
924
992
770
538
441
62
607
939
824
549
347
218
620
111
601
772
395
714
722
348
204
230
998
662
245
175
43
821
736
994
418
720
196
80
718
874
917
272
857
664
792
281
114
840
780
247
161
527
187
545
494
168
56
470
86
699
974
626
24
625
127
348
346
880
211
383
227
795
865
453
502
377
634
847
666
482
632
375
17
25
174
91
613
548
998
642
770
140
673
767
767
544
218
731
816
544
553
727
725
941
910
731
295
862
824
462
858
390
487
55
255
867
256
773
400
536
522
995
452
204
803
334
850
83
529
97
544
58
542
17
516
630
502
563
517
581
995
159
157
630
652
905
99
758
924
367
432
954
702
801
459
400
334
889
879
897
747
693
355
137
770
282
980
790
265
251
663
282
68
151
873
767
554
334
985
46
479
205
987
435
279
100
453
453
396
118
571
905
366
489
455
472
255
777
690
184
470
49
647
596
705
607
401
756
403
157
597
562
835
648
406
578
346
381
860
739
520
68
434
290
272
895
869
10
23
656
788
805
559
120
948
79
847
270
774
585
379
137
434
109
179
612
673
75
256
286
64
534
674
868
42
406
153
284
677
367
34
193
881
484
764
321
907
15
247
728
828
514
150
152
890
290
511
796
989
620
159
287
115
557
852
420
513
296
939
369
999
884
754
287
642
549
112
773
464
157
701
934
748
496
833
895
124
874
629
373
881
387
471
628
321
623
128
433
703
780
122
772
775
90
849
191
853
410
402
619
709
768
327
402
769
532
798
831
458
570
317
454
795
991
255
411
254
48
119
463
232
830
342
790
931
196
7
527
328
607
967
85
940
927
393
660
303
198
346
523
4
989
688
616
102
31
714
102
153
328
77
409
314
723
607
529
123
28
331
935
274
151
308
507
468
422
846
758
903
626
370
76
26
905
944
7
910
387
404
636
197
277
906
602
108
765
886
126
279
611
618
616
894
783
806
94
729
3
64
565
91
475
336
62
51
543
278
913
80
265
464
460
81
924
210
422
759
236
710
21
563
326
95
805
407
180
597
574
876
594
761
992
673
883
150
642
39
891
186
261
223
921
223
252
637
949
647
905
41
183
961
435
291
256
814
786
365
653
311
205
602
103
142
299
928
993
484
183
735
985
33
350
856
256
974
175
716
490
139
907
878
482
774
44
430
373
461
23
262
272
112
849
674
50
867
787
782
539
597
56
125
455
536
565
633
123
417
397
342
81
411
13
554
142
609
771
591
855
695
227
773
17
163
437
500
683
726
89
237
82
324
941
42
592
547
898
244
372
188
78
406
316
853
583
650
202
719
51
455
481
885
785
188
744
209
618
854
39
541
797
402
775
80
621
373
223
412
523
652
658
959
630
642
905
286
453
823
855
395
979
542
947
424
868
81
374
625
602
946
22
351
88
450
474
279
644
40
265
927
860
289
772
621
168
934
390
313
408
685
877
271
329
47
381
523
351
569
966
144
829
652
623
60
467
552
670
713
826
328
950
928
325
59
941
547
764
894
106
504
777
650
760
636
800
639
592
874
521
501
507
342
705
625
823
809
985
150
375
645
825
640
48
415
168
27
658
163
686
73
639
514
224
880
586
532
322
923
529
162
133
897
972
219
525
457
164
54
825
687
711
876
106
825
180
330
31
635
248
538
155
314
238
291
304
328
929
487
274
942
707
101
605
854
706
330
676
192
92
15
236
97
58
580
992
566
740
858
630
370
66
27
735
154
877
447
739
668
909
380
457
419
514
43
705
398
275
278
911
32
980
678
830
205
794
576
890
197
0
287
807
642
406
877
474
572
768
114
185
84
389
994
123
373
801
738
560
73
438
887
391
115
144
334
891
386
831
394
716
208
470
238
808
409
64
483
260
427
601
568
781
925
449
799
797
443
395
926
613
784
847
658
338
506
411
783
329
163
836
763
712
426
159
918
571
932
31
187
197
255
58
378
429
1
285
232
55
61
129
522
465
321
541
521
502
142
181
728
554
28
315
763
832
662
564
993
68
134
136
553
189
457
834
175
656
555
511
648
357
751
680
814
72
652
407
677
963
828
607
415
721
222
572
683
409
352
569
111
393
149
843
924
36
796
666
256
485
892
884
311
73
149
883
619
961
935
139
769
312
321
492
914
639
25
350
212
111
435
284
261
584
389
925
796
350
235
274
423
467
762
144
321
707
396
354
295
385
460
512
395
413
377
738
244
871
597
984
995
107
448
455
310
108
644
208
586
463
824
855
796
283
707
638
37
209
632
695
98
639
387
698
862
690
335
492
891
701
747
848
922
550
55
594
917
278
793
661
352
415
6
612
688
128
445
290
75
670
390
484
393
435
565
750
824
447
424
972
814
16
305
630
299
496
451
693
806
784
107
78
479
832
657
701
255
311
571
981
898
892
991
762
972
689
493
224
715
237
679
665
690
54
323
860
888
439
445
514
510
413
380
240
784
601
413
622
41
967
913
243
143
73
325
745
696
70
867
122
849
811
185
705
910
208
636
350
594
985
381
243
964
792
881
218
814
303
141
616
773
241
210
796
834
169
519
822
546
481
438
786
11
13
75
539
871
526
94
814
214
617
957
645
43
778
617
31
229
689
197
211
909
840
449
161
317
482
4
948
173
390
444
825
27
588
131
563
718
44
874
7
882
590
291
617
186
900
828
142
840
908
923
691
42
615
366
58
612
659
25
859
998
424
289
976
819
971
64
887
361
433
247
520
759
768
861
887
570
628
848
866
418
829
727
533
783
125
697
733
493
881
140
112
60
596
270
22
418
5
927
876
564
835
243
162
719
480
927
808
190
901
549
448
658
870
122
510
420
54
916
531
68
827
840
22
925
202
25
454
850
760
337
183
328
963
941
581
546
633
60
906
298
493
151
730
248
234
181
696
205
373
807
398
102
574
316
358
526
756
420
223
680
393
76
716
879
758
698
52
259
334
65
348
794
718
761
284
840
897
134
967
775
123
515
241
116
751
88
403
385
975
307
972
430
459
695
161
390
369
761
756
739
404
687
395
244
938
685
830
786
313
499
794
735
571
841
201
551
434
690
280
190
883
822
438
720
528
749
805
748
311
297
810
644
530
973
728
499
940
509
675
368
847
568
274
593
32
223
246
886
466
498
936
442
897
450
799
762
27
878
558
437
928
441
366
69
547
684
646
29
563
581
778
549
510
629
750
297
752
769
965
410
758
756
159
476
966
108
253
544
308
18
409
357
274
138
817
939
270
994
335
442
639
647
954
333
805
773
175
626
927
687
841
781
811
697
949
806
173
82
965
145
279
606
759
553
659
48
88
489
236
638
822
522
912
3
664
423
269
264
744
376
694
973
897
44
244
783
425
916
163
533
84
990
335
58
88
50
352
140
690
426
214
266
637
3
27
318
303
243
359
567
744
533
982
971
361
954
912
612
966
791
500
999
477
748
680
89
711
737
590
974
686
243
992
232
845
203
683
304
94
861
136
218
998
217
855
904
785
388
975
249
376
375
915
277
175
640
266
703
897
88
534
351
141
856
986
963
824
500
500
704
185
867
825
854
560
963
2
865
119
421
514
755
144
980
888
684
869
896
596
812
508
993
332
982
829
639
784
323
886
159
882
629
355
510
615
457
630
561
545
260
119
153
241
778
707
641
558
154
974
1
576
483
973
827
293
492
391
621
897
627
632
615
848
971
412
232
601
700
947
608
928
836
188
924
321
919
381
657
75
987
437
343
537
429
877
281
466
950
687
767
146
963
0
530
201
857
903
187
819
583
185
761
123
983
985
439
8
701
426
447
917
800
14
870
783
690
355
577
90
266
207
329
192
293
226
549
997
658
205
505
993
864
875
922
274
156
554
790
253
137
114
648
46
467
42
429
8
828
923
433
964
301
694
682
331
854
972
245
530
930
829
689
471
220
115
608
532
467
31
294
687
859
320
213
667
63
838
249
588
158
231
222
526
61
584
723
531
283
990
922
308
20
280
592
772
11
65
58
403
367
612
662
714
262
219
784
181
367
722
311
861
531
846
517
873
352
822
704
245
856
360
930
824
388
565
28
396
108
643
997
157
340
755
486
285
57
667
917
273
688
828
151
455
365
605
197
72
757
663
14
320
596
65
3
212
875
936
416
515
363
313
267
150
335
327
288
691
888
863
894
268
326
549
191
544
777
606
797
805
624
696
990
874
20
169
946
685
144
527
326
165
125
297
600
386
990
531
402
708
935
961
112
384
866
7
685
797
323
148
470
620
713
472
922
43
687
468
127
896
815
849
646
139
167
480
708
495
573
257
645
580
290
750
671
24
440
586
844
13
867
753
706
148
355
858
146
157
977
277
210
319
881
562
117
131
131
729
537
964
332
431
339
183
720
457
668
772
133
51
481
214
537
868
445
420
984
730
514
126
890
531
335
688
0
604
59
102
945
246
877
708
609
409
12
928
172
115
578
861
197
145
57
523
838
820
926
594
879
843
283
826
829
792
499
481
160
261
70
870
334
56
174
902
858
462
620
282
213
994
883
235
533
175
850
616
111
849
359
358
329
7
784
648
7
922
496
207
854
213
60
600
605
374
935
91
278
159
83
313
689
764
220
448
729
342
339
331
522
938
503
14
77
940
356
816
574
877
148
183
673
421
66
682
682
979
635
559
34
742
530
684
389
320
455
80
466
142
760
380
476
608
481
767
61
334
153
314
785
487
708
703
428
965
152
68
283
325
445
127
423
250
326
240
328
39
605
274
932
229
983
816
923
152
771
731
69
118
284
618
835
807
866
152
121
724
165
598
975
756
530
549
945
136
50
584
806
448
797
47
353
310
756
657
77
465
970
847
990
822
792
857
531
556
249
264
479
502
667
404
668
460
503
42
367
841
595
698
457
241
333
8
887
582
710
568
679
313
687
633
909
159
729
45
462
960
382
7
239
661
897
955
890
707
563
250
426
71
71
759
7
702
566
10
242
183
568
443
477
321
195
880
560
801
134
840
620
474
911
132
646
306
567
156
614
65
267
262
229
556
730
907
287
529
496
606
272
760
770
469
43
925
399
795
632
540
23
198
132
380
41
955
378
550
128
379
702
121
103
556
389
460
24
553
294
897
868
274
491
759
460
526
457
627
591
801
761
38
371
704
843
29
412
981
650
473
13
999
598
978
968
303
591
737
743
910
434
412
781
984
294
453
810
815
752
59
154
718
524
452
157
925
2
871
67
64
777
104
130
737
43
534
944
370
391
127
349
824
743
136
977
562
796
255
961
298
608
196
542
968
702
332
211
946
153
269
342
199
77
609
501
389
862
529
654
11
922
540
36
209
641
522
344
896
75
804
226
101
71
88
942
637
42
456
209
659
276
761
726
553
14
3
146
106
177
494
293
394
125
759
284
342
401
581
420
491
486
920
689
67
71
665
346
142
295
467
112
275
281
78
105
85
509
902
988
857
227
381
673
281
953
360
361
353
297
741
687
476
770
495
449
607
544
779
325
220
267
631
917
288
569
770
476
179
914
112
812
581
444
741
173
662
345
633
621
389
991
16
635
705
809
577
560
282
234
951
906
757
743
205
56
631
770
818
589
902
323
900
272
959
635
812
959
981
588
806
480
325
954
847
946
816
511
168
108
837
691
894
712
246
378
694
669
666
846
856
432
633
798
998
315
419
296
834
343
553
930
551
905
576
580
183
491
239
451
916
151
932
985
604
655
408
231
666
267
42
528
127
766
588
605
796
266
707
737
755
385
650
101
230
295
725
288
728
902
586
451
80
89
259
279
134
381
452
529
772
572
702
813
673
175
230
978
189
651
615
759
667
520
568
442
247
2
814
314
374
160
116
437
695
233
480
825
48
532
745
241
50
280
395
705
741
933
84
512
590
120
259
741
416
976
164
695
184
417
719
204
401
463
741
773
889
636
402
311
559
172
121
869
664
311
534
402
617
207
560
763
951
81
706
56
990
102
860
426
260
920
10
358
977
711
804
143
509
24
601
241
261
344
396
683
507
884
715
830
137
9
896
68
195
240
807
380
804
219
60
590
966
954
245
749
627
507
717
756
616
798
25
996
8
476
538
27
657
762
88
944
693
548
664
445
889
964
201
959
532
653
85
423
899
541
420
462
561
403
270
543
205
102
532
474
680
69
62
501
272
725
812
84
115
324
900
948
28
80
59
647
357
145
162
937
989
625
245
5
842
605
401
754
150
771
852
885
566
32
443
585
167
579
805
340
554
831
153
207
359
562
552
69
789
656
402
66
348
224
641
874
476
783
706
230
24
70
838
947
488
910
215
690
766
489
792
171
646
177
72
458
424
741
510
717
575
434
612
195
368
65
90
583
166
378
892
201
570
821
57
721
733
842
406
253
224
495
379
405
179
115
302
477
967
795
279
321
79
921
52
557
692
203
177
963
766
445
369
995
268
403
82
385
814
307
494
767
848
459
858
692
792
614
929
126
899
638
756
499
257
799
474
312
130
997
964
41
742
328
448
344
729
890
919
587
531
522
726
143
85
741
922
31
912
932
458
471
742
815
452
861
16
984
639
719
34
262
531
390
413
382
697
332
348
506
424
274
108
735
403
801
102
148
851
643
867
490
705
407
995
777
782
308
377
733
403
577
771
360
879
449
860
57
935
702
414
367
118
847
341
201
282
834
872
945
659
35
815
20
300
520
27
841
542
117
512
493
571
882
783
338
405
398
798
403
376
216
35
918
150
579
592
139
524
675
613
653
75
570
839
535
409
684
179
68
231
944
147
485
968
931
721
301
4
495
707
142
614
357
539
564
96
847
119
701
117
745
649
335
38
176
776
400
996
976
407
322
115
47
410
243
546
76
141
192
659
103
821
180
267
550
159
31
642
304
620
920
609
471
613
456
262
404
56
426
800
453
761
35
969
594
331
872
834
766
968
622
945
896
211
375
722
39
600
236
64
637
352
795
423
82
17
392
265
645
22
114
607
849
52
951
580
696
545
829
685
682
29
648
915
387
581
931
931
57
329
51
531
23
455
433
714
33
63
592
414
901
554
111
880
515
407
782
780
504
340
92
950
395
432
923
246
767
41
236
595
944
0
29
827
494
825
62
973
774
682
208
472
755
991
859
213
553
577
201
404
799
509
957
722
928
944
813
625
501
977
65
47
599
635
469
331
664
51
55
885
249
138
437
486
581
956
313
847
741
493
539
631
69
945
54
687
539
156
79
685
540
804
494
515
984
149
70
652
64
494
479
359
322
95
179
950
90
883
221
177
507
431
75
965
983
691
924
147
601
466
458
468
240
276
588
103
242
22
47
101
933
169
271
404
979
896
905
758
285
464
51
994
747
891
932
917
21
959
146
531
112
770
408
848
400
152
461
238
765
880
746
166
228
82
576
895
351
406
733
944
595
443
765
355
717
37
284
28
367
580
910
185
879
877
753
429
931
276
204
322
346
745
326
184
633
726
480
247
905
792
130
265
351
24
540
208
843
324
317
469
926
818
376
823
140
842
214
643
572
80
855
501
700
855
492
19
465
286
46
953
133
12
221
737
273
359
360
113
1
520
486
410
505
511
954
520
304
360
373
577
485
893
794
812
595
864
16
811
216
395
26
645
833
698
133
744
109
758
321
625
452
644
934
685
508
31
24
28
411
454
743
794
243
719
208
579
706
216
192
222
996
503
288
250
48
834
482
846
913
952
292
379
846
535
160
480
630
10
949
260
964
566
440
555
940
453
172
263
330
738
142
395
544
985
49
380
614
853
587
295
121
528
346
167
88
368
625
937
130
111
292
652
972
752
64
256
921
755
875
90
665
671
3
238
212
825
311
339
347
646
893
9
827
620
765
259
178
220
471
644
256
142
817
86
1
378
294
281
390
621
845
588
177
188
205
419
79
290
527
837
280
246
698
672
707
999
121
400
308
734
392
833
644
997
798
244
699
292
780
452
901
266
386
567
295
360
640
39
444
132
245
69
286
539
945
113
77
493
394
108
780
846
769
39
129
688
206
128
281
400
683
117
549
953
380
743
901
592
600
958
108
74
682
176
609
152
830
283
461
924
532
341
785
838
332
128
863
818
790
460
143
634
163
529
481
182
835
453
190
114
364
329
126
293
341
425
671
381
170
343
71
683
701
762
263
717
591
53
176
544
518
85
793
187
567
293
686
725
602
516
767
189
657
716
745
179
127
936
207
602
542
520
808
852
229
124
522
469
622
74
424
200
779
740
449
399
377
311
621
734
347
32
514
31
393
442
633
907
71
398
992
58
351
974
850
934
118
79
315
107
106
292
998
223
488
270
197
299
275
642
370
832
524
365
9
738
107
348
312
808
223
728
554
540
953
389
377
86
219
953
74
128
840
622
188
797
607
167
883
552
3
3
834
189
209
880
242
496
322
628
121
754
743
833
468
154
738
187
829
839
59
766
123
463
468
575
963
881
897
711
556
138
672
915
258
40
947
358
144
930
715
790
925
360
461
441
157
356
586
752
640
439
654
206
475
476
725
642
170
180
42
568
501
5
600
625
739
791
198
590
847
735
612
454
372
990
159
601
665
681
172
318
88
655
790
968
512
657
859
765
760
371
701
674
973
784
885
708
748
483
510
372
412
819
325
148
440
25
396
437
38
576
17
303
54
849
172
83
391
689
558
984
107
952
42
375
484
289
400
479
619
293
360
332
407
418
271
383
890
754
435
105
982
741
78
446
352
899
713
611
994
678
705
851
401
842
257
402
745
300
484
885
405
630
939
56
476
449
421
689
74
769
474
731
165
418
288
410
760
441
585
142
374
976
94
761
704
660
729
971
833
977
798
511
123
698
750
920
125
998
841
247
946
712
148
657
564
159
954
35
701
310
168
742
580
708
639
681
439
495
965
264
576
220
663
663
570
711
457
244
906
101
801
17
97
465
692
596
719
546
94
792
652
791
148
347
772
830
247
640
796
194
406
331
720
577
938
363
246
434
224
745
975
149
998
469
461
1
583
984
170
478
800
181
39
765
520
290
298
277
290
711
409
662
561
64
27
928
811
333
657
353
252
583
709
519
457
350
829
126
65
213
733
263
533
145
32
182
548
40
989
604
629
774
530
323
922
321
983
107
689
514
669
861
898
873
569
21
18
924
972
674
483
334
821
450
446
895
862
628
335
301
343
582
582
970
163
616
757
667
998
113
797
332
772
658
510
592
573
320
17
100
923
912
127
490
45
970
163
76
523
442
346
989
240
692
237
145
549
356
258
6
727
708
678
478
613
409
728
549
666
344
375
640
953
743
623
68
643
147
894
158
995
173
529
767
678
452
635
753
378
185
338
92
752
10
873
881
56
523
282
25
157
816
117
520
645
763
489
38
708
232
909
426
881
494
283
87
135
705
910
894
785
328
198
342
414
168
388
2
933
500
847
935
915
242
792
563
968
903
560
210
145
395
125
204
229
528
810
38
365
449
423
509
616
498
848
757
883
111
138
173
106
76
262
539
906
817
266
959
369
985
399
612
974
262
11
789
877
161
225
502
653
355
99
906
658
120
293
524
433
422
862
866
482
826
836
407
268
160
892
935
392
855
916
848
770
868
487
151
586
639
115
428
294
947
225
368
285
4
877
789
270
381
235
901
596
944
190
385
818
763
334
428
828
707
654
160
777
170
148
762
29
343
134
804
591
709
75
665
729
928
232
106
170
957
372
557
78
348
965
910
918
159
594
178
111
623
541
442
773
589
435
481
295
307
954
591
175
281
219
179
106
954
123
449
514
938
539
502
792
795
626
259
284
821
127
364
122
525
506
980
622
819
733
569
428
556
513
606
240
924
561
678
155
131
317
510
280
651
469
738
474
127
909
356
124
192
584
273
638
335
899
829
815
985
461
610
248
814
10
108
516
550
587
362
22
677
475
140
355
14
921
541
732
478
288
235
550
459
976
224
210
418
154
765
589
967
435
455
964
255
812
53
77
316
508
701
518
162
73
907
7
890
319
852
652
766
401
963
198
305
769
463
237
575
405
96
992
77
37
672
346
383
108
131
785
124
324
385
697
565
627
140
625
669
688
505
692
458
144
309
633
565
520
417
846
442
694
784
358
701
268
566
271
232
525
220
539
785
821
850
301
319
368
101
231
264
431
375
47
751
512
80
534
22
320
981
765
470
464
787
219
876
314
761
587
355
664
749
954
363
925
512
996
952
797
482
859
602
890
860
585
838
182
851
460
323
964
598
357
370
705
626
544
679
644
494
358
726
85
326
500
805
124
534
32
187
392
152
183
851
986
213
892
283
381
264
886
367
288
32
190
742
649
548
876
18
344
830
298
803
960
209
97
809
782
378
7
849
189
191
659
591
822
108
393
888
438
498
891
838
316
617
406
187
108
120
719
706
136
405
494
695
189
468
867
594
88
157
347
50
494
265
57
698
551
860
977
406
808
552
107
97
110
148
780
341
297
200
352
373
405
343
670
90
2
925
54
371
586
990
183
145
82
895
639
456
443
296
571
141
753
658
94
526
173
277
793
861
634
626
248
470
712
426
44
506
302
485
359
918
460
744
601
736
595
975
355
983
576
809
160
175
344
954
51
257
706
4
54
980
519
336
168
423
574
801
813
835
205
147
517
852
385
333
776
78
738
194
587
255
169
279
665
581
740
951
66
921
470
301
534
918
830
589
426
835
93
94
438
985
954
960
721
676
622
999
751
855
499
762
233
583
37
4
994
735
824
405
951
380
289
470
613
796
55
156
241
923
884
71
945
51
25
53
863
540
530
621
572
909
788
770
884
860
483
855
665
360
837
329
278
376
212
529
561
253
737
582
61
747
838
683
1
42
924
133
736
684
921
217
8
224
551
542
848
367
782
654
210
28
367
582
477
349
875
941
555
156
131
497
867
390
588
935
374
6
526
839
67
737
816
766
875
593
143
849
252
123
41
535
192
507
505
279
935
959
338
420
743
175
526
800
678
385
150
631
527
194
854
347
213
879
662
922
142
735
662
361
280
891
656
654
120
216
387
132
104
789
269
194
19
789
206
754
239
250
627
944
441
588
217
471
776
782
440
70
343
953
924
631
689
979
614
743
298
218
560
604
374
670
896
982
262
710
731
855
259
306
419
557
882
906
316
112
531
576
452
94
354
252
569
524
369
390
809
806
291
615
464
429
966
865
238
765
744
260
262
515
317
825
988
828
487
922
453
220
313
427
610
72
847
954
967
771
910
404
460
215
428
653
94
36
79
37
774
777
644
131
251
859
980
958
914
549
57
420
143
889
377
457
404
811
704
50
321
354
782
457
888
186
350
691
850
836
397
570
962
803
570
212
290
116
144
895
337
686
47
966
341
874
71
173
892
107
527
208
831
725
542
534
304
918
716
951
963
270
148
5
71
853
130
933
738
414
597
665
857
901
757
144
134
121
817
839
523
704
175
226
758
625
757
245
577
317
618
649
177
471
923
40
734
299
980
509
548
951
203
834
676
903
861
314
191
236
878
485
330
306
948
462
621
992
464
408
645
560
635
105
108
888
625
702
985
603
187
825
508
229
772
5
496
461
496
675
374
552
840
860
613
29
403
422
867
761
304
837
585
686
218
457
450
259
719
687
753
416
343
342
89
685
107
794
949
243
503
558
893
39
694
593
749
870
736
670
805
280
44
142
835
258
522
311
566
903
397
433
726
55
726
819
46
276
905
492
532
616
801
115
273
918
483
986
525
127
190
312
150
862
478
784
619
69
240
544
112
104
731
534
640
620
858
275
255
601
703
584
771
851
600
227
702
958
695
997
838
208
329
967
717
836
576
21
843
92
20
152
383
398
181
326
379
669
753
109
643
586
390
640
310
144
370
861
751
518
934
311
175
790
123
493
975
469
496
454
471
971
792
542
90
484
90
665
684
628
708
325
578
19
114
11
502
47
409
164
613
862
291
140
511
510
210
798
982
501
527
758
249
411
158
401
666
445
596
62
559
599
326
220
377
605
898
741
961
907
231
803
647
989
156
185
475
108
26
972
350
100
87
709
365
389
779
617
287
407
782
50
635
623
628
940
791
687
334
469
668
612
402
563
656
950
415
447
153
838
514
473
531
842
374
656
476
402
715
30
539
765
775
509
195
50
272
606
760
86
902
462
768
195
50
632
972
942
126
732
137
881
801
305
542
664
51
589
59
838
238
942
309
112
497
764
385
566
735
814
752
320
947
110
245
669
930
237
697
808
591
802
295
493
12
127
203
492
671
210
541
625
98
819
70
800
102
15
154
190
118
648
623
777
853
769
311
713
981
134
425
987
305
917
173
823
59
5
86
96
739
701
554
1
299
575
66
990
285
565
88
954
740
162
953
444
296
815
74
143
314
363
460
861
674
958
133
273
95
817
890
357
333
114
207
204
83
949
225
861
931
951
330
605
978
760
90
455
422
182
725
419
248
133
5
95
903
132
639
943
716
829
790
669
926
626
761
70
286
767
122
348
306
740
402
181
300
989
128
50
409
113
13
58
704
61
327
870
336
557
576
941
401
672
10
894
711
43
905
729
456
790
752
836
13
866
81
757
6
497
205
77
914
711
252
497
49
135
911
702
180
800
13
525
161
498
189
14
496
939
686
842
339
93
207
749
120
861
429
684
719
238
518
669
315
28
541
278
815
180
301
389
197
180
658
908
28
473
936
386
859
406
304
847
19
649
468
811
494
284
477
542
571
234
739
313
459
486
133
468
916
774
139
856
169
209
190
514
675
827
16
501
228
720
565
903
324
901
289
92
979
706
849
970
835
505
800
393
266
623
288
492
986
663
802
926
81
171
319
525
133
538
522
778
137
329
930
507
659
830
38
422
876
196
214
265
526
427
46
641
432
860
933
137
914
105
732
751
726
73
341
920
614
100
189
196
334
726
632
944
567
318
49
898
966
222
352
310
649
158
460
444
631
956
214
872
692
639
255
104
47
927
929
825
106
408
149
948
222
799
421
969
275
857
394
911
595
160
792
910
921
563
953
135
142
190
910
183
815
215
259
47
600
61
40
361
820
466
119
150
59
216
335
562
956
569
99
888
326
603
290
790
332
86
842
185
702
588
407
11
758
425
877
252
225
997
656
741
160
312
929
21
172
599
243
410
799
931
883
535
262
521
959
854
69
51
319
580
717
862
545
713
590
524
69
935
912
159
95
31
121
244
720
118
970
2
605
145
3
769
65
8
745
554
652
231
921
877
223
14
790
829
570
370
90
212
643
496
136
255
109
578
356
513
592
450
205
672
529
794
271
398
105
109
291
328
762
748
293
27
616
33
900
528
993
833
473
163
937
270
778
976
323
258
963
701
358
165
747
571
292
862
233
952
107
879
42
44
294
767
694
254
474
5
961
801
447
481
306
275
957
521
388
739
362
830
900
284
852
867
976
365
584
782
303
628
652
628
176
671
443
999
404
450
940
498
976
40
640
797
10
861
4
191
760
837
440
29
423
535
305
516
180
95
254
480
496
953
275
928
472
148
101
211
658
951
383
465
51
839
699
28
569
749
725
516
121
878
196
228
892
718
652
384
823
256
265
173
181
947
62
757
646
712
440
271
297
706
29
971
197
307
34
606
16
535
798
26
539
724
950
607
335
58
785
944
667
950
756
246
546
193
152
860
142
210
193
804
963
690
721
507
542
319
522
522
263
509
597
684
519
878
243
662
332
526
18
973
611
815
328
859
709
19
552
384
294
328
644
958
863
428
792
83
904
951
346
494
241
122
201
652
433
760
422
247
557
288
940
353
780
656
952
505
785
873
591
400
221
145
685
95
666
757
723
662
614
962
504
776
749
564
710
570
748
155
678
862
420
416
931
405
595
30
313
851
222
27
179
473
181
966
963
90
511
400
869
210
845
245
828
706
799
26
635
903
523
716
261
627
228
506
813
289
333
51
917
773
368
593
824
571
53
725
360
101
718
808
81
315
936
388
327
592
353
453
391
496
389
418
361
751
810
4
921
680
182
924
807
352
520
489
550
487
106
727
688
161
293
555
615
652
538
384
53
109
502
531
91
121
668
341
740
46
298
434
506
34
44
623
1
503
702
998
359
961
866
496
292
238
385
987
307
153
204
134
736
475
440
70
93
732
329
958
549
875
646
32
641
802
409
817
213
812
511
906
560
847
534
83
749
117
549
337
746
569
788
726
2
641
233
895
464
19
593
130
256
541
959
835
113
274
676
557
939
746
602
360
478
706
85
719
365
221
854
722
762
841
149
194
886
446
156
863
671
355
34
92
730
991
824
798
167
387
375
523
252
357
629
27
494
359
363
859
121
327
238
606
677
866
712
19
350
687
851
428
250
389
256
653
29
589
646
288
417
537
65
370
102
662
891
750
56
409
429
625
104
69
408
631
445
271
384
659
539
572
946
741
688
787
76
528
782
982
613
156
555
469
599
140
309
232
913
411
271
466
51
138
598
823
826
881
378
177
681
459
630
221
642
143
421
420
756
584
171
50
158
257
120
361
436
906
912
580
0
513
112
680
900
144
772
780
944
892
391
469
431
910
79
83
122
793
685
178
853
526
872
373
858
893
890
202
245
322
612
515
691
957
622
371
310
233
718
411
180
411
911
239
65
582
29
803
930
409
122
350
533
38
782
653
372
254
82
825
734
623
259
263
586
711
689
174
718
504
323
597
129
273
663
140
569
763
641
236
569
243
689
422
436
435
391
828
664
712
853
21
682
527
154
294
59
765
486
935
790
327
576
764
697
549
854
984
814
275
911
311
546
713
995
852
553
278
318
247
986
561
170
404
479
506
160
886
459
305
910
786
895
633
78
371
805
785
86
507
395
622
498
645
765
123
98
961
979
46
665
157
992
332
313
474
197
499
312
373
338
290
915
229
980
195
125
142
639
907
567
889
915
711
207
59
670
763
782
366
236
877
275
88
155
14
134
639
818
950
596
628
694
55
650
875
776
755
262
579
432
700
441
760
395
997
461
163
40
371
297
396
945
434
508
138
257
625
318
335
86
929
132
187
161
726
844
684
473
749
820
741
283
738
216
23
212
545
728
607
374
0
373
665
607
161
80
179
833
197
178
745
489
93
665
707
833
898
45
412
572
544
791
510
721
563
916
89
988
496
31
190
458
883
373
435
719
259
100
858
46
774
993
235
531
578
370
357
33
319
647
780
124
122
908
884
853
808
807
359
142
233
879
546
733
292
149
366
500
48
918
722
201
201
978
576
857
214
444
5
767
817
755
863
415
119
462
542
931
435
300
1
894
683
200
524
196
717
658
850
891
248
986
98
525
642
176
520
838
865
60
273
684
467
195
813
340
936
652
159
194
585
824
144
899
935
960
848
783
796
71
395
280
829
569
40
541
978
447
647
109
83
87
823
801
687
719
763
439
444
73
480
516
514
19
92
973
299
848
23
811
668
932
605
362
438
73
28
169
655
6
137
558
505
559
591
270
349
504
828
693
147
631
179
368
489
571
287
586
238
129
885
76
389
403
899
60
938
143
437
212
521
564
136
901
718
255
701
275
128
486
795
761
991
877
506
70
390
738
457
319
213
88
628
998
676
17
614
44
164
671
677
392
853
307
179
365
927
450
125
708
469
406
688
435
157
168
435
632
164
507
18
54
795
212
988
801
553
897
550
68
866
5
606
791
137
423
139
129
281
422
484
252
793
633
816
800
38
689
547
770
299
790
691
442
505
604
434
636
975
147
235
606
848
976
634
581
642
185
877
414
55
160
215
577
922
795
567
675
155
342
292
616
801
633
189
663
912
705
366
117
857
136
303
812
766
583
529
47
1
702
296
582
633
395
195
452
418
97
128
457
217
376
610
171
602
750
509
559
263
144
168
420
591
740
672
421
712
572
634
215
329
754
834
103
676
320
603
648
498
683
751
170
567
765
450
829
1
687
16
968
259
719
95
329
529
543
492
218
473
113
240
582
306
839
582
152
515
840
665
505
982
152
893
638
341
69
808
111
896
128
559
655
521
657
138
994
94
500
696
958
790
599
218
528
812
796
560
425
433
367
234
797
970
332
353
305
739
60
579
191
31
935
762
743
104
997
588
622
45
992
350
588
625
726
860
802
555
974
920
723
814
428
252
522
263
64
387
922
106
387
694
174
568
308
449
568
662
253
358
895
917
283
479
99
860
736
866
322
145
659
39
808
701
514
952
190
463
371
626
967
944
820
111
10
477
209
389
404
652
527
303
557
201
53
519
359
546
371
935
441
331
393
308
560
187
580
516
858
576
435
805
801
705
909
756
363
429
794
322
874
446
454
321
267
255
192
15
319
540
722
340
105
456
224
575
386
368
964
133
879
897
271
459
237
368
178
278
592
107
636
342
519
854
924
918
549
701
757
271
604
989
465
586
543
509
515
583
98
846
578
868
120
242
227
256
588
392
614
482
289
513
562
77
789
120
516
531
720
57
0
218
266
675
410
438
193
712
91
388
620
439
891
328
551
393
949
697
993
859
547
693
319
767
949
708
406
539
277
333
112
449
13
29
177
976
794
241
395
890
145
771
570
950
444
633
107
219
962
48
845
677
766
499
171
439
318
815
30
364
407
534
5
374
973
516
373
795
638
247
364
88
334
87
836
824
927
844
318
366
471
258
490
39
90
694
366
599
817
322
462
705
388
401
893
64
298
946
901
749
68
872
558
417
33
123
275
502
1
212
882
501
329
687
126
481
666
812
739
290
854
611
600
870
492
172
135
91
57
364
480
87
728
290
43
26
975
191
979
209
780
213
219
328
504
241
954
473
478
853
830
422
185
223
207
523
624
450
493
950
876
410
227
341
55
784
305
421
77
970
986
941
630
571
84
375
310
404
204
453
326
179
755
216
921
701
224
347
589
158
476
208
109
480
278
550
946
757
251
562
427
762
334
154
757
336
586
843
845
461
578
661
64
855
216
570
722
700
405
516
502
708
866
866
803
442
730
280
715
518
855
316
429
363
971
652
27
362
18
998
172
109
818
637
4
69
633
27
416
879
291
288
689
438
400
259
590
963
667
391
58
33
907
445
462
440
738
411
810
782
305
602
952
239
699
157
563
301
100
444
933
559
186
272
46
866
360
841
349
239
494
322
60
173
191
65
19
631
518
822
224
838
234
514
516
503
146
415
28
906
296
682
53
672
299
829
521
726
830
317
770
911
179
125
287
45
974
126
945
231
357
713
202
995
156
145
943
264
714
170
416
829
85
482
961
425
246
895
892
865
784
253
304
60
768
116
982
734
515
67
0
766
822
422
560
50
439
4
974
56
510
310
634
224
199
408
129
655
441
720
904
89
438
811
733
279
632
226
418
792
234
259
663
213
875
475
179
65
466
653
598
5
960
805
254
281
829
546
202
100
239
495
306
968
827
199
69
641
336
90
534
751
296
958
348
470
80
368
196
152
827
866
313
242
787
111
974
851
874
72
980
494
239
130
306
205
966
239
706
884
230
161
774
877
522
625
804
507
523
293
190
869
360
866
680
6
275
280
243
72
499
949
663
634
766
116
440
83
815
666
870
938
560
399
318
870
217
502
132
624
332
59
77
720
510
184
111
138
77
855
918
99
955
705
861
31
684
353
207
945
405
709
354
605
153
374
640
68
912
104
787
115
986
739
865
652
350
292
860
853
502
532
107
18
791
271
707
698
596
973
133
211
695
884
927
404
482
209
640
467
907
510
563
240
804
947
629
716
867
187
342
21
671
338
259
508
768
451
391
623
513
618
954
815
242
144
545
758
558
867
641
271
883
749
890
299
820
479
753
809
815
833
228
132
12
828
252
715
822
110
632
850
72
930
686
396
167
360
301
242
151
270
144
104
570
954
255
975
746
892
638
479
534
194
500
92
104
927
446
600
871
159
70
124
313
585
328
491
757
648
923
90
252
16
3
193
360
744
61
382
492
791
53
842
990
473
130
584
874
168
601
939
876
764
713
18
775
832
289
105
363
819
842
47
162
133
476
365
301
183
997
107
546
361
229
916
915
823
652
21
478
53
813
430
533
893
306
493
526
458
956
802
967
576
492
956
441
860
163
505
462
715
205
518
430
432
216
892
964
550
54
730
317
492
833
124
984
787
112
512
115
327
551
805
431
372
134
844
312
318
192
669
633
666
929
306
261
344
107
218
979
975
120
420
983
785
240
728
671
346
150
580
553
623
164
60
296
526
889
423
26
444
555
805
448
295
980
281
418
629
409
192
453
906
214
827
275
314
531
54
716
809
266
717
295
846
329
731
125
676
974
469
916
99
558
592
637
16
743
964
209
627
15
160
38
546
12
74
254
33
698
194
225
904
224
580
42
163
240
781
809
185
139
541
669
158
51
23
713
569
751
256
519
673
170
519
589
850
954
187
551
323
598
677
48
152
428
759
311
510
147
274
779
705
195
842
486
415
799
63
766
125
126
631
868
887
261
797
692
605
105
597
984
419
573
499
9
51
549
905
81
323
702
42
296
781
746
701
754
348
285
443
445
360
884
810
188
775
708
76
804
568
901
503
555
739
590
578
358
515
434
506
620
294
309
329
738
74
235
842
709
42
17
921
946
332
884
569
802
208
95
527
691
872
502
244
193
334
580
735
518
431
859
228
566
393
475
504
18
841
112
847
313
269
149
349
626
341
798
94
925
358
729
54
259
462
721
857
556
272
388
808
900
572
259
769
170
989
751
551
93
509
497
951
637
207
909
431
773
969
91
777
492
606
609
45
805
982
38
375
320
475
742
118
48
873
118
434
321
540
379
413
787
249
907
393
467
866
308
734
106
741
545
941
611
556
793
254
188
778
196
763
73
386
885
201
394
97
997
861
756
391
566
288
34
422
938
588
433
95
621
103
548
484
371
248
220
218
479
661
460
983
581
278
797
421
770
117
888
286
551
118
604
289
61
588
760
584
999
930
274
777
835
78
239
268
424
365
838
937
363
729
540
89
374
100
293
767
162
615
292
813
356
43
431
63
461
664
608
324
826
671
985
258
739
259
284
688
89
573
415
540
921
472
797
876
922
460
443
666
219
354
299
875
371
92
107
184
579
716
738
535
427
408
668
936
580
77
509
601
650
71
852
801
700
152
954
252
279
880
540
388
929
917
723
364
285
214
373
271
465
117
22
952
454
78
214
751
615
593
702
172
793
993
768
760
221
360
621
844
613
853
889
781
928
181
194
383
334
257
976
100
200
841
213
981
624
965
434
442
205
690
206
813
393
343
237
447
32
628
678
382
35
324
575
631
564
677
53
998
333
492
768
618
218
565
503
633
620
784
940
439
586
74
46
262
657
695
583
194
146
28
975
706
961
224
517
728
777
815
515
450
525
899
898
372
437
235
168
432
662
344
996
238
235
470
605
711
991
525
833
687
783
864
744
658
454
726
43
449
167
469
378
133
14
615
264
243
204
997
763
717
186
382
40
597
67
416
582
416
7
113
478
638
519
145
220
390
725
331
575
82
468
586
343
213
952
666
93
195
357
179
946
870
361
499
969
333
110
479
974
452
97
307
506
52
716
324
32
975
518
123
501
262
331
942
18
60
728
832
81
131
27
160
662
896
520
828
895
505
180
421
19
598
317
166
139
486
403
674
428
260
242
112
572
834
541
870
88
365
219
428
825
889
503
781
780
882
40
954
403
403
617
797
749
228
948
518
453
817
229
677
864
976
813
643
962
864
438
724
65
158
897
714
655
127
379
94
833
48
790
56
695
305
430
31
516
233
911
84
920
551
231
934
324
560
42
904
280
39
115
107
458
145
522
798
533
849
680
968
130
650
877
725
507
917
832
731
517
659
179
329
997
850
752
362
26
348
320
74
568
371
14
168
933
6
460
358
506
631
981
425
653
340
17
848
236
411
896
911
493
871
679
560
999
179
111
614
481
495
860
944
974
51
681
902
506
179
627
954
445
656
575
82
200
438
38
982
284
646
152
534
664
592
4
703
561
267
172
178
975
112
105
208
431
48
936
280
323
173
362
384
749
37
516
29
380
678
324
266
39
952
185
943
202
207
745
708
993
683
55
803
445
752
505
211
937
461
106
340
342
974
453
980
523
431
441
494
151
603
150
779
798
392
237
1
338
109
2
747
931
602
704
849
11
785
498
781
851
552
228
96
328
698
871
385
180
886
850
313
261
365
644
51
250
331
327
832
597
864
652
712
78
763
433
678
832
805
282
40
33
101
860
998
324
301
620
349
29
804
188
234
943
229
906
37
558
527
474
622
532
356
708
206
168
375
727
313
763
516
187
787
878
102
932
719
246
717
620
751
64
861
39
277
627
696
10
407
269
681
296
978
705
683
27
579
599
514
926
55
577
180
200
465
908
831
932
758
232
323
622
358
290
214
533
651
252
173
615
760
773
898
528
246
630
77
736
395
109
492
907
617
572
448
95
919
320
132
626
751
737
282
87
452
227
646
222
400
935
789
985
732
568
409
265
70
901
652
338
124
672
244
960
370
112
287
653
740
257
920
911
209
901
518
842
623
771
279
260
875
29
54
214
236
204
155
639
860
964
229
767
640
134
104
64
811
507
324
396
140
295
847
402
946
19
789
628
269
462
178
846
150
420
204
609
426
189
512
202
477
146
439
921
579
5
440
602
25
685
29
758
721
556
518
825
636
601
734
474
860
164
371
870
157
802
658
558
228
916
709
843
160
652
794
804
815
960
280
856
122
869
888
182
397
462
168
308
509
585
44
534
658
442
426
905
127
931
59
301
714
239
389
938
642
184
762
427
688
648
412
998
765
962
800
57
24
315
552
989
523
162
268
885
645
956
242
446
126
325
590
205
588
689
304
751
424
852
773
882
198
771
5
600
233
725
328
724
580
298
396
855
761
355
304
46
876
202
51
59
5
722
516
888
309
516
836
440
788
130
605
72
530
380
216
887
862
504
516
550
872
655
215
313
288
581
286
477
437
767
103
636
101
399
494
197
549
244
613
273
914
28
204
417
152
911
716
942
191
738
4
689
812
834
635
160
503
695
343
459
775
486
690
25
27
403
507
575
640
97
92
65
451
117
473
815
206
11
912
905
278
850
698
86
473
848
496
326
964
104
25
508
262
644
763
589
602
724
445
119
120
974
245
464
662
617
324
236
672
349
251
2
822
858
109
213
308
348
920
909
357
494
491
663
141
805
450
155
991
196
410
918
878
44
242
549
455
206
41
923
992
459
600
517
172
813
416
89
185
655
520
246
433
577
379
298
914
288
419
164
658
742
287
749
163
604
901
717
475
892
972
871
370
136
932
511
194
528
39
391
491
709
157
122
876
254
869
796
824
822
109
742
825
238
452
732
530
12
356
689
22
173
93
815
513
419
604
212
568
36
885
282
92
573
942
617
498
267
18
589
509
804
463
118
125
505
554
323
879
612
830
471
10
613
212
861
371
542
149
227
641
995
962
155
590
218
155
830
305
865
766
136
316
433
919
793
119
293
622
684
724
163
778
496
321
450
472
122
453
987
700
922
264
115
318
316
380
407
329
101
835
700
982
401
840
116
464
756
141
914
911
818
321
723
358
622
838
259
798
690
802
543
603
883
780
569
511
803
313
703
208
418
113
258
617
399
833
134
239
387
612
731
383
116
464
363
293
263
180
458
366
676
839
343
369
379
822
845
974
401
149
115
93
485
231
230
986
284
173
505
771
189
619
397
623
152
151
381
198
303
121
768
990
896
590
130
555
560
535
799
348
767
648
241
246
802
989
953
421
744
756
734
612
238
921
550
639
639
948
661
209
407
81
37
65
663
464
115
644
145
819
210
149
328
283
316
301
355
953
535
914
333
77
305
950
341
373
538
23
95
974
316
695
929
849
306
292
489
514
119
320
614
688
945
535
673
713
693
996
73
743
730
480
303
318
236
492
986
599
578
298
642
334
562
429
143
367
255
437
391
267
706
255
760
420
684
771
617
436
442
610
955
325
23
738
278
654
205
591
57
84
369
497
507
242
343
307
944
831
617
268
274
955
723
168
924
118
177
30
81
546
657
42
379
940
622
802
230
359
434
991
35
495
870
859
745
104
275
550
846
715
261
473
694
413
754
231
405
482
865
835
764
336
184
458
520
255
794
399
1
840
643
37
489
162
565
934
995
740
521
257
559
467
36
825
269
243
866
987
434
16
193
60
855
705
310
978
545
856
485
467
15
552
959
536
93
878
873
721
67
130
107
918
163
417
409
230
396
168
446
211
205
971
966
773
743
193
17
477
329
796
971
294
811
811
433
614
387
740
791
4
288
255
935
37
566
954
139
63
460
242
485
984
412
34
818
479
298
427
878
414
675
238
199
876
379
762
132
499
807
361
738
476
438
997
275
570
972
432
572
378
813
176
714
40
977
506
918
790
624
126
291
889
688
288
473
872
346
253
723
576
658
448
610
740
987
639
758
11
492
403
140
694
435
15
699
214
58
901
965
418
704
237
140
791
592
182
840
910
150
91
546
149
449
842
934
722
888
421
355
593
160
151
3
440
602
701
690
31
848
827
718
818
405
424
946
958
498
218
627
475
180
358
67
490
659
863
400
955
811
904
674
532
138
756
797
896
741
400
362
427
201
793
42
877
101
397
389
458
529
668
495
256
784
434
125
716
323
239
805
95
264
656
853
270
777
36
665
426
903
724
781
295
299
399
644
173
827
827
304
634
238
49
651
868
829
484
52
85
629
368
181
317
650
597
564
903
866
569
837
167
927
784
289
975
949
768
30
973
72
183
817
391
660
851
714
639
549
535
520
943
906
896
938
189
611
419
724
791
178
958
158
999
38
248
971
253
928
647
26
183
978
449
936
458
253
464
549
304
95
906
639
505
573
240
275
447
17
679
370
109
314
820
150
617
118
692
285
934
902
546
232
92
213
892
496
679
565
331
275
503
375
417
532
697
630
744
33
448
542
929
562
928
456
802
442
989
920
389
506
310
195
902
637
339
579
755
788
816
11
382
695
469
174
240
780
674
32
367
766
687
80
400
805
771
685
991
516
277
120
913
935
610
285
800
723
544
415
586
912
870
318
628
615
629
208
632
818
634
336
540
748
416
470
200
128
128
545
146
525
731
256
561
167
981
829
68
949
879
47
335
828
512
806
751
880
794
743
776
672
416
278
146
75
596
84
986
914
865
769
79
721
262
942
159
27
914
210
542
160
942
874
33
659
330
923
876
289
752
216
447
346
145
597
919
139
207
514
346
596
345
960
564
323
281
494
446
82
811
31
96
4
262
865
608
24
189
90
894
695
828
630
771
945
120
853
965
992
106
845
329
856
857
833
629
327
678
38
867
898
699
406
324
612
485
674
271
704
382
511
357
425
357
406
912
158
372
705
190
382
260
582
144
804
848
393
407
640
455
52
511
170
872
800
390
440
391
900
713
142
720
110
696
250
53
398
853
952
902
387
712
640
490
583
281
983
707
741
518
54
217
379
427
634
648
261
212
373
990
131
16
858
540
931
466
949
916
147
108
910
629
310
887
955
2
198
549
60
250
454
3
376
941
841
859
628
895
615
276
635
25
284
583
883
434
561
728
737
803
685
714
748
983
94
408
653
930
266
749
368
711
840
362
351
421
931
12
942
208
346
553
146
802
776
207
640
700
968
562
209
135
614
783
318
466
808
281
888
31
202
462
222
503
607
453
455
781
825
210
992
258
357
80
749
599
535
7
587
131
3
883
317
272
115
996
172
172
188
537
407
608
195
975
691
839
796
319
855
402
768
746
824
708
449
884
473
960
83
619
56
738
130
638
999
163
208
942
494
527
14
414
779
857
255
340
744
311
728
289
858
205
433
837
450
624
463
775
395
319
964
205
303
16
613
333
793
8
810
875
8
904
702
124
268
586
104
325
472
517
387
488
857
271
958
769
59
193
746
902
930
911
461
464
759
271
593
554
660
203
19
825
478
353
53
632
432
90
347
822
219
781
375
662
747
883
677
299
7
572
956
119
732
327
996
806
946
268
741
860
303
816
112
639
121
174
292
226
864
455
191
975
134
411
680
839
219
7
191
739
376
293
161
707
147
959
503
367
917
475
341
696
280
372
732
516
298
108
4
418
669
489
981
931
270
56
15
812
937
837
66
337
163
960
129
552
78
309
971
710
503
166
46
386
334
236
474
295
388
601
490
543
570
91
987
26
579
508
40
288
512
446
489
113
615
937
594
698
32
690
165
55
920
344
187
788
444
752
81
502
721
52
391
428
770
409
401
180
855
755
824
660
840
306
806
713
691
217
794
251
408
976
58
479
948
815
373
402
671
261
917
963
948
984
33
624
514
626
82
67
628
173
204
424
542
209
374
92
821
572
264
606
61
834
691
31
709
711
118
609
118
755
242
391
742
14
519
761
484
964
796
441
514
597
693
500
712
500
726
970
779
888
150
276
341
954
560
304
962
489
378
646
145
121
41
818
398
691
636
250
365
6
22
42
418
518
18
833
107
7
58
957
912
935
294
674
583
597
268
613
263
290
34
421
654
56
870
833
37
911
290
133
773
295
24
864
835
270
232
20
926
293
244
667
728
789
862
896
332
33
686
595
824
295
808
148
295
224
267
520
400
419
84
612
638
266
888
88
795
894
858
220
669
533
109
32
915
621
354
805
788
931
220
698
264
148
177
146
15
441
828
6
448
106
893
250
852
926
341
61
197
339
898
355
907
276
423
639
795
267
937
736
574
684
729
173
120
166
635
489
745
533
243
17
771
233
319
885
439
5
765
136
557
941
910
351
246
883
288
218
555
891
145
164
942
299
617
304
16
367
299
215
127
8
834
126
175
737
79
490
264
431
858
617
867
789
476
423
654
336
140
863
832
297
827
274
125
660
621
433
194
9
115
340
524
730
261
489
923
255
414
580
212
593
260
975
229
308
207
392
864
230
308
263
34
339
565
192
353
423
309
391
19
753
951
475
348
71
194
452
376
118
330
715
206
223
573
130
261
861
439
639
622
503
428
791
703
510
237
197
873
131
294
649
137
614
826
474
61
726
36
459
516
940
652
607
812
485
786
250
54
206
422
645
870
963
382
65
834
561
237
265
921
373
553
756
227
67
474
548
636
864
720
457
465
391
352
346
851
18
92
597
962
986
194
342
841
857
85
849
619
777
183
153
219
234
10
965
184
827
429
859
518
107
908
559
461
708
332
867
154
373
204
942
620
477
721
952
160
215
867
992
989
705
49
869
781
931
867
823
424
891
830
265
20
120
336
697
720
700
867
549
848
373
703
892
620
432
613
482
620
912
874
495
491
940
626
91
419
810
185
445
776
436
698
366
719
898
708
938
962
675
2
337
139
546
485
235
490
818
170
542
374
866
601
575
594
669
855
659
766
143
243
663
39
970
626
869
440
620
43
509
338
285
471
725
901
131
935
800
177
237
487
680
843
740
842
185
925
498
627
198
449
737
910
792
991
378
448
772
102
44
267
846
173
418
462
550
578
845
69
739
417
634
672
63
631
702
353
641
520
951
785
340
654
328
593
91
531
464
252
491
660
251
143
684
79
575
34
286
739
325
714
492
126
18
121
566
559
539
624
590
97
814
952
117
336
713
783
387
267
509
877
368
480
759
258
583
30
117
726
801
200
774
103
143
175
605
861
14
190
982
367
317
2
748
393
746
53
838
714
795
174
469
972
719
841
206
969
850
860
966
890
814
132
871
955
571
82
995
175
173
146
790
405
33
487
691
921
388
480
529
215
374
502
713
978
58
454
701
638
414
822
874
159
836
286
219
605
396
552
986
199
328
32
136
511
546
403
649
752
979
904
757
721
728
637
569
544
632
685
130
195
17
757
100
138
559
675
661
751
457
683
887
637
825
93
237
295
135
373
914
389
122
773
959
399
258
317
995
668
428
53
927
129
28
122
807
412
364
715
486
228
64
224
886
203
160
972
123
99
875
606
47
69
859
91
878
602
791
897
884
765
755
593
570
437
839
887
514
322
270
612
604
672
122
873
885
351
351
290
603
10
231
842
64
243
203
932
15
756
134
277
894
61
456
267
86
670
324
898
183
651
595
634
147
772
587
150
306
762
978
71
954
767
480
43
666
125
562
822
905
652
687
859
8
149
517
466
325
670
937
790
343
290
49
798
811
174
410
59
75
547
818
548
665
657
72
826
931
714
721
820
60
521
690
664
946
49
903
159
563
539
695
770
269
294
494
774
548
395
589
289
829
237
904
8
937
363
841
751
825
649
416
766
122
567
902
999
816
584
135
157
611
371
755
434
81
351
354
680
977
900
416
56
204
200
497
275
261
738
631
147
980
745
535
747
46
286
719
184
446
586
753
398
95
37
76
367
318
842
112
447
372
363
399
897
488
593
715
692
208
736
64
161
368
584
510
756
144
54
759
977
697
306
637
558
900
111
111
334
340
608
598
104
278
105
953
942
554
167
39
479
855
652
593
342
351
759
525
931
127
99
361
72
169
252
551
255
859
72
500
350
922
411
971
842
133
897
542
239
862
960
997
575
127
219
225
68
208
892
712
464
589
811
659
724
805
550
223
644
107
694
885
114
48
323
163
59
268
529
465
643
434
914
621
671
433
451
980
2
396
135
21
117
724
347
580
486
547
499
750
269
549
599
89
858
670
725
248
783
366
786
173
316
631
492
784
368
238
765
459
412
394
71
688
212
48
277
596
808
578
212
302
242
214
955
956
1
820
750
669
601
378
711
801
430
881
921
828
616
632
403
763
243
772
28
287
221
225
722
367
478
241
774
783
331
730
316
137
337
490
274
352
250
887
465
290
971
975
664
531
998
144
340
306
651
330
131
415
657
610
599
625
387
847
760
490
628
870
93
633
438
371
792
426
9
930
840
951
969
195
444
36
959
35
160
583
686
979
878
114
114
210
313
368
299
626
286
632
64
319
375
104
314
579
420
817
527
95
480
305
494
127
688
210
634
397
526
431
831
807
114
109
820
879
909
752
702
1
885
20
579
952
895
640
947
738
646
586
545
258
426
354
344
683
242
713
680
436
903
161
490
793
508
889
289
587
579
822
251
277
583
9
589
459
395
727
231
11
735
160
391
350
609
912
30
259
924
766
636
639
551
555
948
743
30
305
806
338
41
282
843
199
633
779
544
309
371
719
450
620
717
564
743
285
698
450
398
884
925
197
452
930
293
633
992
984
103
287
869
571
165
822
113
457
306
917
171
489
232
334
206
168
788
444
234
475
142
881
764
757
814
717
677
700
672
783
881
102
418
870
37
158
458
380
870
663
168
875
653
627
133
777
562
317
136
182
108
39
200
202
386
485
536
964
690
581
705
607
374
16
394
399
500
292
931
218
766
516
548
173
14
25
56
864
66
855
680
235
176
249
775
527
88
801
370
877
362
935
687
82
863
898
855
368
559
731
353
782
895
182
221
79
104
763
233
825
1
180
260
484
43
168
740
747
708
616
96
354
321
480
623
827
607
303
783
274
226
405
236
502
769
360
401
766
4
662
223
106
360
742
464
541
498
934
110
940
669
101
666
180
757
753
950
279
262
362
66
155
804
39
995
918
280
670
46
522
902
550
493
302
83
155
131
53
358
884
655
383
274
811
740
876
415
388
29
733
170
335
745
304
919
162
323
295
818
675
257
560
712
428
399
342
511
751
407
243
419
494
722
349
248
923
966
788
195
873
394
249
715
980
235
999
710
608
838
703
389
670
753
964
638
6
641
41
277
597
690
653
761
9
283
313
256
804
332
687
484
116
613
276
817
25
632
358
933
242
266
390
845
607
202
335
879
594
210
492
164
658
785
794
841
27
859
431
886
228
93
206
51
320
615
881
907
245
376
991
696
345
405
341
883
563
98
77
408
596
928
293
715
852
187
600
613
201
561
291
359
564
281
975
187
559
561
924
197
674
347
461
979
119
772
260
84
175
44
9
680
489
184
204
387
47
214
708
672
827
982
411
13
580
769
455
369
971
120
612
137
117
233
897
805
397
965
323
585
837
366
193
173
995
444
361
251
694
62
290
495
512
700
294
84
235
626
722
213
366
673
647
512
673
613
973
548
603
124
340
459
423
754
108
296
398
613
567
305
242
881
542
194
275
131
271
913
984
714
298
810
211
788
792
412
39
112
320
56
686
831
81
12
553
334
880
956
439
715
394
98
506
749
507
569
964
251
462
604
97
102
386
834
487
503
165
345
289
549
160
866
156
308
913
681
510
546
456
408
806
778
884
293
898
58
424
600
671
64
265
15
352
88
565
657
91
631
447
338
951
345
318
378
364
599
141
764
694
930
673
387
635
812
517
936
240
329
544
424
94
693
653
546
450
915
176
872
805
492
214
734
271
671
702
516
714
452
712
940
648
585
71
780
564
457
707
840
364
795
736
598
510
396
732
825
72
555
43
766
458
598
821
896
333
303
634
35
370
488
809
196
294
260
899
319
977
475
403
197
800
360
342
97
120
787
917
475
494
14
561
708
566
952
190
467
764
527
968
660
250
275
815
231
571
260
66
587
718
330
887
213
600
772
232
666
619
827
166
33
163
721
934
233
127
78
310
414
814
525
766
837
499
734
156
557
649
553
778
28
434
471
345
449
963
4
870
262
159
330
320
691
348
105
654
638
932
648
386
349
702
24
269
741
605
344
560
966
808
962
290
516
800
451
196
313
779
272
820
16
881
31
431
625
390
911
136
203
547
491
42
641
217
822
733
361
997
680
958
769
898
232
745
271
730
250
810
483
12
654
776
244
32
611
363
60
212
798
556
29
135
183
523
823
732
866
54
842
553
57
664
447
363
976
603
971
495
517
177
540
526
303
325
814
606
107
893
811
683
726
705
170
428
916
895
625
447
734
277
250
368
795
269
579
854
422
13
377
977
599
873
811
435
715
48
197
239
87
140
666
430
575
241
460
508
667
728
84
425
406
198
486
867
89
954
209
910
613
580
926
232
525
103
167
634
939
664
886
377
551
626
396
628
706
972
144
705
460
679
182
463
560
750
31
595
248
862
292
330
151
853
616
429
374
589
951
385
765
952
553
22
127
201
308
563
982
119
845
505
944
312
811
200
478
14
492
88
804
812
835
767
45
493
289
63
630
889
127
93
847
501
866
274
28
554
910
105
407
114
7
60
320
605
646
410
505
878
57
945
496
4
211
305
255
842
185
318
848
993
683
157
341
109
556
244
882
13
878
184
382
931
926
659
953
353
466
848
956
994
0
208
525
284
859
486
821
636
995
32
926
796
612
806
107
291
217
30
801
663
420
162
749
264
599
97
798
94
530
326
243
395
898
817
702
93
957
680
916
501
700
513
822
78
684
207
933
368
47
150
863
909
879
924
957
624
395
138
402
935
426
665
111
132
949
429
733
174
649
447
576
753
458
167
768
313
546
986
839
177
687
710
910
522
844
31
687
624
868
30
776
139
285
924
611
635
796
209
876
235
795
98
174
290
466
977
115
67
222
453
682
396
883
301
590
718
753
355
77
128
772
876
292
47
723
400
919
663
293
454
510
145
176
857
738
704
747
125
665
188
636
743
725
330
349
698
988
348
200
680
668
374
528
656
561
6
815
950
598
447
725
954
924
791
350
185
317
943
308
247
977
113
439
372
290
428
962
116
946
175
120
529
562
619
615
545
379
703
414
452
741
522
641
920
492
868
190
176
884
361
57
315
986
175
126
266
714
615
911
845
21
21
707
23
194
637
257
817
797
994
628
418
923
451
693
906
653
931
373
547
930
600
363
439
678
682
546
743
674
620
845
886
949
627
187
3
159
14
51
535
881
257
199
206
924
776
978
282
304
892
685
581
24
42
656
654
757
352
53
279
215
561
888
43
570
992
288
195
784
219
993
90
46
427
788
136
436
730
92
166
853
679
250
241
622
677
939
951
620
545
887
581
778
207
926
640
944
677
993
831
604
675
583
652
337
645
453
276
452
846
74
494
293
997
25
458
783
283
963
854
786
213
80
689
855
3
993
743
558
961
205
91
719
938
833
606
425
899
59
135
986
133
424
87
680
864
115
273
416
210
348
616
618
111
294
777
333
473
175
96
422
249
9
951
635
367
59
643
276
548
374
204
971
630
374
837
131
148
585
315
869
130
941
14
457
201
850
823
760
121
386
673
192
198
679
242
899
460
973
33
823
866
272
898
685
967
316
482
716
697
676
134
896
457
517
273
919
212
685
876
436
51
719
332
857
516
575
942
833
956
600
629
449
577
273
187
559
549
426
224
43
871
551
334
62
978
229
262
927
180
22
859
997
362
506
903
970
77
389
573
272
196
969
655
222
61
133
857
326
235
442
775
730
77
618
231
207
260
725
435
231
851
338
136
829
536
834
546
826
603
187
348
238
161
483
86
150
469
548
982
826
968
819
168
923
715
374
822
222
187
573
103
965
194
602
384
180
595
430
477
261
703
375
761
758
771
29
517
156
41
531
978
576
0
500
488
471
771
887
778
694
361
559
786
245
252
804
297
709
308
307
581
951
846
21
897
581
302
591
233
128
522
116
537
215
253
697
290
623
690
252
715
973
878
437
171
294
60
421
578
822
327
532
594
35
409
174
965
782
766
370
876
215
801
667
80
332
348
223
786
969
377
261
709
734
91
717
501
831
199
927
813
10
799
790
453
128
569
309
716
641
147
429
759
231
355
261
285
309
102
275
394
422
369
254
576
300
840
951
996
866
712
92
196
215
131
36
51
484
176
223
919
188
732
517
117
745
758
836
797
984
967
625
595
715
181
147
942
793
142
704
333
530
92
385
39
107
418
229
186
281
394
74
110
873
785
835
663
252
284
715
747
869
296
921
451
382
998
151
13
662
705
993
199
716
557
344
836
370
151
848
967
409
846
157
272
714
590
807
857
151
292
536
323
282
94
674
110
145
200
350
612
592
732
587
916
475
772
318
0
218
64
579
382
212
744
994
678
876
442
654
218
435
929
707
558
300
122
547
810
491
719
690
236
375
228
79
596
887
202
574
384
595
780
409
11
500
124
150
442
57
130
884
854
424
906
614
408
831
504
482
299
370
998
611
403
868
846
639
129
296
576
563
134
541
719
356
72
450
418
901
622
831
854
433
37
680
808
903
860
615
100
938
671
372
683
979
863
378
819
971
62
582
603
81
843
599
445
875
882
111
960
933
802
57
173
938
809
203
175
777
541
741
808
4
275
61
966
482
757
162
549
466
658
218
562
828
80
838
181
365
508
8
939
581
459
539
839
295
663
844
139
441
154
278
610
272
787
637
546
638
751
402
612
479
361
194
512
180
238
847
541
227
649
193
288
777
133
190
157
662
610
616
796
41
653
144
623
425
112
965
136
740
416
194
518
830
437
421
698
4
730
719
602
566
823
631
751
542
362
256
888
192
197
858
790
712
292
733
855
755
852
901
581
174
577
135
339
559
870
654
532
830
300
726
339
81
963
972
48
701
520
580
844
529
571
396
842
534
284
629
65
388
421
153
631
383
659
371
291
135
148
439
308
745
246
337
542
842
86
872
183
356
32
835
205
836
373
741
100
774
458
538
698
725
463
20
662
494
917
405
873
807
336
750
120
991
768
332
275
43
899
417
305
650
734
815
611
80
312
191
291
339
32
521
649
508
779
642
927
134
253
797
878
599
415
758
548
81
400
768
743
564
265
441
582
902
522
711
281
821
743
503
697
168
812
599
905
857
316
70
953
142
403
569
593
762
544
889
654
830
274
863
454
958
817
490
665
72
261
861
976
328
304
696
91
224
282
155
454
25
527
2
663
468
225
323
906
360
871
442
682
654
665
285
941
741
327
581
637
934
901
484
876
139
148
252
632
151
355
495
82
739
614
636
503
195
985
587
732
358
315
593
206
833
623
958
744
161
728
465
637
662
226
474
346
298
815
95
675
497
684
673
641
556
744
864
204
7
929
220
621
68
24
700
884
474
111
929
625
38
136
397
49
914
583
934
547
983
188
953
419
423
534
673
632
560
548
367
845
908
120
88
306
909
514
644
511
282
374
176
130
340
721
256
317
383
931
441
38
308
350
369
666
885
128
92
10
11
99
830
904
199
128
561
543
140
593
522
23
64
97
882
910
331
281
711
450
513
236
150
258
652
261
108
64
920
258
647
627
574
676
515
745
251
633
513
442
581
182
305
936
816
604
22
347
143
922
931
268
682
78
859
61
960
474
534
111
422
272
405
82
953
967
511
470
406
586
542
213
941
579
799
365
432
563
632
944
607
359
656
344
766
624
20
694
494
988
216
248
907
545
371
106
997
859
763
521
633
770
772
291
820
433
91
899
402
129
420
554
172
156
644
862
614
634
462
628
276
744
26
41
400
576
751
837
377
965
169
494
942
704
899
460
880
34
687
610
937
493
520
836
138
828
598
445
326
894
510
993
321
385
658
846
365
286
970
956
105
231
654
438
234
306
529
109
170
469
358
266
643
654
507
540
801
371
171
547
419
800
79
693
263
808
731
180
845
858
93
781
480
529
372
479
942
446
710
424
16
741
947
309
73
472
624
111
589
828
834
523
268
984
269
966
239
536
546
54
484
259
593
144
424
479
667
965
701
900
865
481
257
424
904
935
138
837
336
357
868
465
861
310
149
173
536
446
843
235
208
635
201
233
72
63
292
454
849
126
591
866
621
807
904
770
202
691
996
784
944
811
312
951
613
822
46
439
853
207
355
446
414
175
401
585
476
288
486
362
846
920
823
555
783
966
397
586
54
914
767
796
160
187
837
665
847
915
239
641
273
929
692
634
58
385
87
951
234
410
654
890
277
583
707
722
944
679
272
40
610
802
365
785
318
722
436
742
815
444
619
745
921
543
822
715
968
325
630
143
594
130
769
807
89
128
615
481
176
33
696
72
929
966
816
360
266
526
1
115
609
188
21
733
85
543
488
288
519
891
990
168
31
302
934
280
455
821
644
432
241
957
884
789
438
469
907
354
969
650
757
555
379
289
173
987
382
416
944
345
874
484
289
104
100
636
179
953
698
319
130
156
443
95
941
70
201
92
528
760
286
180
594
852
535
197
594
782
529
128
945
309
326
331
197
454
902
453
442
849
885
789
204
284
991
308
39
20
143
354
745
373
797
659
787
437
835
599
141
790
556
953
907
889
41
225
903
574
812
630
259
107
117
238
489
408
469
435
189
538
54
428
321
403
324
860
352
566
236
822
496
649
405
270
881
749
601
521
365
346
175
93
278
963
978
60
324
670
934
120
568
801
622
298
565
880
785
824
148
8
189
216
684
723
793
622
493
622
894
177
671
912
208
317
308
138
931
510
873
357
718
737
28
716
127
215
341
415
745
152
160
460
612
530
86
484
513
101
814
847
439
678
568
168
826
275
688
844
185
974
421
178
430
438
749
338
901
740
419
689
35
956
44
487
82
252
710
85
571
340
863
350
98
434
240
48
52
316
487
451
62
166
457
17
659
977
249
292
215
443
531
982
835
500
548
795
698
683
299
372
738
210
170
648
246
530
327
394
107
884
921
656
518
263
503
774
752
70
301
49
660
297
418
576
885
183
859
916
480
895
461
884
775
304
4
244
337
319
73
39
71
929
230
489
851
106
869
671
361
307
466
950
78
110
283
728
387
995
259
331
365
867
505
547
985
893
652
283
445
508
141
955
650
591
826
885
273
318
889
312
991
877
479
860
998
465
189
702
652
804
392
144
619
187
629
48
206
769
248
823
179
456
337
45
717
571
45
607
480
584
653
68
913
585
390
763
759
836
447
33
282
993
224
503
551
360
224
953
784
447
855
900
192
546
245
670
686
845
422
156
593
120
345
479
539
758
250
220
128
860
444
203
852
737
358
489
381
815
802
443
36
81
423
567
740
3
807
340
254
686
762
581
158
889
930
320
785
690
679
154
149
214
265
946
46
879
299
910
806
573
742
57
370
631
444
616
140
309
366
895
160
458
823
569
845
745
292
861
3
464
95
340
321
657
862
593
214
319
88
668
721
543
589
759
650
127
322
656
657
440
813
257
180
71
668
709
132
131
748
500
85
538
647
704
673
802
680
924
878
130
995
518
8
882
857
948
611
330
979
168
342
469
167
207
639
552
315
897
89
737
806
186
356
993
187
38
714
114
125
235
398
397
594
292
413
267
118
152
717
384
763
840
821
564
975
794
114
557
966
248
295
421
782
178
470
401
132
399
351
907
839
379
848
918
771
276
776
550
493
450
292
985
732
362
167
582
905
884
109
526
557
40
866
506
675
726
252
306
108
378
570
773
167
218
828
86
802
671
938
873
134
485
148
397
127
329
455
169
451
710
160
588
113
984
704
937
150
104
398
582
228
370
165
677
473
967
237
650
70
771
393
244
67
18
548
443
507
198
246
680
379
795
64
469
326
208
463
525
268
371
185
871
242
842
832
961
769
993
783
747
744
603
734
779
58
740
371
416
599
855
444
225
857
999
772
971
558
858
328
488
924
145
116
656
83
198
24
212
385
996
122
617
308
765
415
330
147
102
336
302
743
910
435
866
884
658
11
180
571
532
13
883
89
879
481
897
806
463
416
959
348
638
204
510
507
556
503
251
459
169
539
199
892
561
876
234
889
794
968
8
901
52
455
341
7
253
358
535
947
992
125
592
36
174
668
246
625
706
189
53
469
617
799
172
162
108
28
331
281
833
784
472
730
616
863
687
751
225
798
398
150
645
655
769
293
252
556
767
890
436
882
866
662
701
197
152
421
511
215
799
614
513
844
702
132
690
419
26
500
171
320
55
941
806
21
513
585
487
12
690
352
287
715
166
164
741
986
488
504
75
916
49
301
13
762
119
48
417
490
761
371
218
180
957
771
432
420
32
763
140
515
300
268
228
304
938
540
405
933
114
39
941
899
958
644
768
14
662
61
336
92
293
479
369
20
66
182
785
469
892
380
837
901
366
873
834
777
619
986
846
7
52
978
223
34
304
574
908
193
928
259
748
897
544
696
948
882
897
495
783
269
246
747
735
555
694
412
396
684
290
363
202
661
920
488
743
494
512
697
442
647
114
728
283
822
431
967
627
24
891
5
947
45
187
142
513
11
675
951
262
360
926
582
376
535
817
204
141
67
987
575
724
99
411
141
934
407
121
375
752
253
976
841
454
74
713
723
647
0
100
561
662
52
542
300
495
924
115
911
149
607
465
177
482
176
300
589
242
311
797
283
827
170
368
338
116
627
290
745
899
260
34
387
37
562
936
145
123
17
164
81
422
87
56
497
438
878
110
511
419
398
126
383
634
519
356
32
75
309
848
539
634
349
724
164
584
228
597
545
89
135
797
767
381
187
795
138
640
131
148
967
300
42
210
308
294
856
53
28
3
460
25
493
369
655
373
851
731
272
296
599
477
95
487
912
969
983
242
124
275
652
149
639
202
922
906
19
213
955
278
154
614
885
470
341
992
593
827
844
528
252
547
161
69
932
266
23
412
901
511
885
761
700
522
354
545
519
925
267
769
891
345
990
569
533
148
822
499
400
530
912
184
473
199
858
84
989
67
119
902
960
862
970
749
434
6
479
387
706
335
134
393
984
781
292
457
939
150
10
894
772
943
878
795
132
863
485
706
916
323
131
540
641
249
244
933
452
790
788
349
399
268
241
40
674
268
913
32
741
520
671
741
755
173
976
589
368
861
449
989
857
264
84
317
265
349
404
201
839
570
625
721
945
751
891
732
589
760
828
535
620
373
168
386
768
487
5
327
894
937
809
455
369
151
106
157
266
230
180
374
92
89
56
406
354
580
660
270
301
88
416
918
948
356
496
579
531
155
51
583
907
212
257
128
689
894
403
827
785
31
141
699
472
757
298
54
167
904
160
834
483
608
91
946
786
249
252
923
809
512
48
568
80
502
674
346
165
21
71
379
949
619
49
40
592
14
357
594
19
669
621
706
807
334
707
439
813
407
353
133
763
73
448
662
423
624
124
705
179
538
536
923
440
257
639
234
791
770
118
136
164
624
773
358
353
894
71
116
250
905
617
450
706
370
98
847
795
643
46
578
324
487
906
392
193
975
857
766
934
327
469
992
668
562
779
819
460
853
146
703
570
657
689
568
858
677
442
576
384
624
20
593
968
29
397
727
820
457
121
96
921
791
248
892
776
454
865
86
538
356
827
576
333
647
569
46
168
37
794
639
890
582
942
553
730
696
239
755
94
693
517
2
146
985
248
901
326
839
684
90
590
946
233
53
434
288
678
31
323
147
837
827
663
468
719
523
353
257
990
685
912
714
40
205
986
616
950
157
176
369
600
198
256
994
859
406
836
643
6
503
780
886
946
197
84
301
69
956
790
283
791
513
890
284
628
533
534
732
708
894
836
258
764
815
996
621
289
334
886
469
433
134
536
997
152
673
758
876
934
553
736
281
370
927
393
472
125
2
409
600
571
539
842
946
267
995
672
416
100
899
509
324
675
738
169
316
575
671
21
939
858
227
928
103
483
574
128
424
999
790
310
4
223
629
165
186
694
473
95
319
864
70
389
217
983
99
16
587
713
625
351
743
120
974
434
651
313
988
283
868
73
777
534
16
125
823
926
3
908
345
823
752
268
447
744
651
391
805
247
357
40
798
495
486
99
409
511
527
379
612
529
325
613
559
911
617
83
145
688
435
381
703
450
747
673
282
350
176
36
691
577
367
490
140
962
110
677
823
557
857
536
553
914
797
825
80
397
977
44
108
247
318
987
215
844
22
730
423
377
885
131
943
389
159
296
778
559
792
817
455
911
803
98
227
784
514
93
8
383
468
542
1
937
531
100
68
946
980
206
917
90
71
727
206
844
939
959
388
889
982
780
425
379
968
855
201
905
957
154
995
890
91
496
620
934
458
687
263
173
373
57
642
274
633
460
611
186
793
233
419
145
763
280
387
317
334
461
163
531
2
283
334
909
705
846
725
825
94
298
172
540
533
935
27
922
983
18
211
431
363
965
499
360
15
902
426
817
328
22
480
452
459
731
279
815
225
43
483
189
242
42
85
821
252
84
5
19
948
40
818
939
665
735
226
858
2
641
80
422
68
292
420
308
399
846
749
981
376
859
560
423
495
678
590
567
947
696
191
263
644
600
491
143
737
516
384
336
629
554
637
878
38
108
928
260
14
314
398
340
941
592
461
910
575
302
838
596
187
829
853
808
116
281
707
883
833
252
273
838
815
344
675
966
661
872
676
646
509
305
84
211
586
986
573
704
28
822
952
210
300
634
413
381
397
972
483
103
855
426
739
442
213
432
189
651
991
251
692
362
25
499
513
62
791
878
865
379
371
345
431
72
353
853
475
285
454
916
447
308
711
764
601
559
562
363
577
95
204
19
895
324
799
158
204
775
492
891
675
436
417
527
940
637
576
363
813
28
896
84
515
761
532
453
51
512
642
734
573
837
514
299
636
976
286
849
394
676
648
603
828
108
879
751
717
755
738
691
58
26
906
699
580
839
996
759
714
233
287
273
926
431
34
118
489
663
679
121
915
698
998
9
815
208
720
872
171
333
479
286
431
356
845
224
633
592
441
81
762
423
630
290
926
403
614
918
502
740
773
871
75
224
467
912
559
427
920
272
183
894
704
346
796
599
512
724
393
342
212
400
175
190
405
531
989
675
710
51
658
835
384
663
378
319
124
474
40
873
877
847
402
713
366
503
326
752
717
70
973
61
710
647
306
186
280
17
959
910
226
480
148
358
204
805
469
514
74
856
300
627
620
677
17
138
453
65
679
398
306
812
119
973
626
572
51
101
527
40
455
526
968
648
698
0
229
420
97
551
269
226
238
147
801
690
296
83
59
814
198
67
163
426
815
667
321
108
425
469
113
389
986
556
646
416
89
697
0
29
274
812
47
785
16
250
590
635
890
766
49
195
890
740
965
208
768
20
172
381
506
413
301
733
618
15
571
590
213
658
362
217
913
849
768
820
433
805
491
183
767
796
289
285
182
383
88
114
3
807
761
941
196
58
372
452
459
186
22
172
803
488
140
714
957
304
188
197
56
3
157
569
272
847
277
830
511
530
292
814
674
521
234
59
215
655
323
639
0
110
892
104
603
49
173
32
981
76
621
916
903
540
219
552
598
195
487
601
935
477
361
633
788
707
594
374
842
475
52
891
373
580
479
21
130
934
745
169
152
719
962
162
289
168
343
902
281
570
915
437
948
452
12
98
310
515
950
918
534
70
891
29
774
910
522
698
167
563
333
928
502
849
60
293
703
477
957
743
765
616
5
185
165
651
863
449
35
255
89
470
660
114
423
200
115
663
194
648
963
569
728
832
536
344
553
369
173
747
251
488
119
489
348
354
538
339
222
616
288
756
427
895
626
273
270
786
418
736
790
121
953
770
637
663
399
24
318
389
783
837
438
826
10
908
712
958
568
230
963
788
430
79
460
233
544
108
666
694
607
967
175
932
334
730
786
781
151
624
111
161
889
513
592
225
613
86
799
57
522
955
929
97
427
476
187
108
368
325
660
917
957
436
378
77
386
931
528
655
319
876
602
642
679
230
572
727
422
487
82
723
847
135
466
504
33
71
129
54
912
489
564
165
608
167
613
184
218
665
466
503
807
704
310
849
718
609
969
729
972
304
316
888
389
666
172
75
606
562
310
831
192
345
94
385
841
125
373
596
768
21
746
857
792
450
116
840
69
868
244
821
528
336
469
679
370
950
940
764
349
980
715
857
856
148
214
876
948
329
488
277
814
208
441
104
407
371
3
94
718
792
216
936
310
813
466
483
43
14
25
897
532
29
768
105
770
772
556
521
597
603
174
50
111
793
706
25
22
564
288
397
603
484
960
465
316
299
125
320
445
480
753
846
648
720
599
967
891
367
526
808
355
203
373
48
1
301
138
490
691
300
357
260
534
610
528
732
960
442
84
301
687
313
529
562
835
586
275
587
186
701
682
95
989
759
926
607
917
329
381
215
219
133
604
341
228
480
564
43
406
195
98
852
614
542
207
25
738
913
476
48
741
732
730
844
592
522
489
928
43
161
798
563
290
8
650
548
568
328
823
175
395
981
164
576
135
265
347
746
498
498
806
635
829
511
81
72
646
583
707
953
974
209
482
619
903
378
242
89
946
268
812
762
570
283
176
827
587
370
579
897
467
598
153
743
848
288
313
362
512
430
458
977
734
658
912
112
690
393
13
982
834
915
873
422
688
839
490
254
372
427
779
610
588
2
456
498
614
243
64
600
78
553
624
522
278
177
289
963
194
28
393
618
120
898
775
70
37
846
665
736
47
818
381
930
89
383
677
429
176
308
271
95
182
65
560
270
545
620
765
235
248
875
382
769
167
618
418
87
200
866
732
967
170
270
679
492
354
197
978
894
405
435
381
54
441
699
515
42
816
996
488
464
843
253
783
773
504
361
38
51
67
675
508
575
847
448
428
332
776
819
35
624
199
750
512
601
120
827
740
977
705
416
931
633
41
927
244
345
507
295
274
375
886
522
476
320
675
125
92
735
390
969
410
137
764
169
679
299
967
602
741
806
85
483
809
723
615
156
744
538
317
118
543
466
403
375
71
723
266
181
686
144
133
315
755
265
536
678
403
802
592
955
137
793
116
529
609
560
204
925
20
149
182
211
850
328
798
176
81
443
114
518
846
129
943
926
770
941
313
460
855
352
158
959
85
246
587
497
236
266
367
431
638
827
743
6
929
42
319
391
801
448
303
942
217
145
361
977
607
528
94
662
387
443
264
876
256
43
819
734
924
198
600
476
973
695
789
16
692
572
884
431
969
163
127
909
732
212
380
365
841
379
609
930
527
909
973
305
492
436
350
871
886
174
382
133
201
107
305
201
483
896
894
444
564
52
592
234
859
610
562
786
464
193
791
504
265
828
505
500
629
554
609
382
676
92
424
371
994
603
796
506
712
377
702
843
477
412
524
714
925
104
353
307
446
543
556
119
566
302
967
18
188
937
808
552
336
994
165
27
168
40
300
369
181
949
772
156
168
104
792
718
571
597
476
445
984
739
151
537
733
265
115
254
283
217
241
853
875
544
943
323
755
839
996
646
95
900
722
996
963
101
977
494
6
745
943
159
691
588
358
450
500
909
82
87
276
315
327
738
854
56
998
736
496
489
102
222
810
737
339
938
858
923
766
864
797
791
304
915
173
732
107
585
94
928
499
45
773
801
814
324
216
636
688
649
927
315
342
878
12
334
436
395
675
704
968
42
410
669
835
874
862
494
225
252
110
152
671
476
688
656
308
76
894
504
99
950
571
300
997
934
37
849
537
204
680
490
645
200
615
709
836
78
122
143
401
69
807
740
561
15
412
935
765
222
472
34
225
340
914
184
63
192
87
775
394
698
138
470
820
531
34
553
894
745
276
298
864
325
981
313
194
621
24
40
535
913
602
218
440
300
754
940
445
348
23
856
987
693
271
371
951
839
195
756
578
25
507
508
213
68
586
409
422
29
525
83
549
594
298
971
895
993
447
905
904
815
551
326
934
74
908
276
848
558
442
981
498
281
316
8
333
336
73
347
843
110
674
50
765
370
458
649
983
172
395
690
971
479
784
853
639
801
890
513
581
938
749
910
113
71
273
500
303
161
610
227
960
382
702
40
756
683
906
388
647
659
235
215
876
985
570
399
526
482
265
724
18
528
531
713
335
673
494
135
723
453
131
349
510
120
825
84
503
733
914
873
772
45
837
420
551
459
16
402
964
774
606
192
334
594
842
566
972
531
276
106
647
986
319
650
810
625
759
295
375
90
645
762
169
808
280
628
929
994
69
693
154
547
191
674
284
316
756
528
716
52
485
405
998
862
681
277
209
35
38
277
362
683
307
146
634
338
260
627
562
91
429
444
828
208
44
234
101
286
231
122
688
92
442
240
874
712
80
256
57
712
938
678
474
790
191
759
487
486
470
136
75
830
215
20
641
898
586
555
900
978
967
197
926
615
451
784
147
188
42
726
932
260
247
820
237
65
641
505
926
784
395
427
741
849
352
323
738
380
256
784
934
226
511
302
177
670
49
298
485
333
574
787
829
142
796
139
24
891
420
327
149
163
890
736
246
77
784
290
179
195
866
71
545
598
281
808
103
529
468
607
46
240
894
841
473
260
45
942
196
637
342
666
101
548
329
840
71
359
351
938
216
692
406
276
601
267
115
158
624
368
553
264
722
78
623
327
28
153
798
711
128
519
361
961
122
788
627
73
498
973
551
548
927
344
584
46
175
799
405
74
11
257
72
943
21
842
157
780
639
848
390
345
866
326
737
205
881
873
711
625
912
764
342
823
880
700
923
63
181
434
742
132
405
265
947
423
2
251
766
802
43
188
789
90
357
781
950
270
329
691
366
349
983
196
405
571
685
880
928
766
56
194
85
38
146
849
848
609
410
754
73
609
562
475
781
791
653
118
783
456
773
961
338
381
51
520
375
937
34
969
833
785
960
292
309
179
136
432
144
958
443
927
83
312
695
19
207
784
189
871
667
268
25
30
392
629
452
879
851
405
609
306
7
509
684
716
995
705
714
306
257
685
27
413
522
76
962
685
284
432
197
187
68
579
481
439
823
264
395
976
864
987
477
693
986
208
787
29
462
30
870
662
189
56
828
403
403
161
840
619
640
963
253
896
764
536
170
54
560
379
640
821
962
882
194
911
702
78
986
706
12
57
942
472
883
307
360
564
996
2
29
757
244
597
541
763
151
144
943
225
913
171
398
182
755
282
585
164
53
175
666
57
684
569
9
32
357
732
744
918
612
950
686
631
252
792
156
177
877
173
510
210
775
15
37
153
588
12
920
224
283
587
535
33
301
504
935
277
223
588
502
136
154
897
597
710
114
108
737
174
339
656
560
183
729
863
856
489
387
33
205
1
16
394
374
627
882
906
618
691
428
324
220
845
579
838
84
678
693
555
20
917
796
470
793
644
803
298
430
412
266
827
935
611
310
61
994
847
732
697
377
214
424
878
652
229
452
1
656
475
659
898
980
305
908
646
432
469
113
250
916
155
756
559
377
402
473
848
130
321
888
899
179
544
276
134
51
695
557
948
598
377
192
8
247
455
247
801
757
198
991
496
316
136
163
198
446
948
935
400
354
298
417
91
707
958
288
541
721
533
54
66
522
758
429
889
346
968
719
882
674
905
831
865
12
962
907
572
154
965
819
996
960
9
24
312
772
769
584
789
483
792
2
487
216
776
853
346
518
356
965
560
178
730
543
864
168
792
884
683
884
213
155
529
874
434
996
175
451
120
160
62
20
498
181
629
322
587
154
9
160
416
191
671
859
173
681
247
562
475
124
981
48
193
136
413
585
225
788
497
250
100
33
740
117
26
21
596
859
823
529
976
91
917
825
266
993
460
272
353
915
204
82
822
702
470
126
784
134
795
688
893
514
894
89
869
389
381
631
451
560
409
243
713
260
801
830
338
222
328
374
977
58
525
482
947
745
717
414
806
940
963
181
249
873
637
630
63
384
435
49
729
972
182
680
616
917
41
589
402
997
851
562
955
295
334
893
212
782
843
895
776
257
155
211
786
726
455
565
302
381
206
622
866
202
79
308
911
433
409
922
491
109
661
751
525
232
88
848
339
512
179
493
745
779
286
892
444
370
460
339
389
145
100
761
411
611
584
910
118
649
90
967
471
488
953
412
667
946
755
289
92
664
519
311
322
642
714
666
719
364
509
921
104
31
41
692
657
509
253
728
74
188
401
224
764
847
627
118
527
601
540
537
932
906
646
221
335
942
417
432
409
741
199
203
174
357
458
967
938
889
119
283
500
673
472
205
402
517
43
714
984
141
940
298
871
996
870
559
58
550
453
691
575
383
509
365
870
986
99
818
10
57
32
930
120
686
13
17
269
259
293
37
271
782
449
800
800
809
941
660
981
375
437
647
205
732
426
204
859
774
847
632
566
349
552
697
238
710
0
940
501
211
926
13
488
337
659
510
755
768
511
843
295
129
391
18
610
296
474
985
785
986
285
887
51
800
664
319
723
185
19
115
970
109
217
196
778
612
557
852
763
420
327
324
872
393
342
580
4
147
665
751
395
193
837
19
909
685
441
851
608
522
65
443
868
975
735
382
95
111
512
409
22
322
407
667
529
946
801
118
523
968
978
117
921
460
351
254
627
244
25
454
3
956
311
984
652
884
604
767
562
957
874
138
301
960
208
105
535
189
910
181
440
888
427
374
135
983
4
669
715
831
618
553
65
622
832
22
359
951
392
517
83
329
493
187
807
725
201
500
440
210
938
836
82
642
162
923
865
523
342
822
796
488
567
682
631
493
223
455
935
3
963
404
162
721
672
835
766
461
551
706
503
504
257
795
656
99
232
437
27
452
185
360
466
572
714
58
510
784
810
925
2
295
270
772
265
459
891
758
733
59
414
101
114
720
157
533
991
266
730
199
989
98
164
127
805
785
150
949
182
571
311
107
882
447
733
203
762
17
699
374
838
471
109
666
644
515
115
18
959
895
572
854
625
144
625
893
907
840
676
712
774
409
918
422
260
377
347
201
28
315
76
901
177
884
919
208
762
621
893
822
397
119
721
586
39
223
304
242
446
624
503
940
438
846
962
132
506
73
450
909
438
361
657
795
518
228
106
927
908
448
890
271
443
231
898
283
855
913
709
315
243
895
834
429
967
31
0
706
404
172
735
44
63
836
991
354
684
38
23
84
859
192
300
595
541
0
743
463
102
708
744
623
95
554
459
393
507
733
357
504
416
60
443
700
585
645
800
666
787
203
693
267
392
765
172
837
702
227
245
681
921
745
723
647
216
153
203
570
941
333
447
353
968
5
463
545
793
37
549
543
510
421
478
196
971
114
224
726
336
380
967
660
359
625
842
923
300
882
818
320
705
269
829
739
670
46
291
289
794
788
803
77
881
156
406
370
130
363
658
170
453
314
196
178
396
358
35
91
723
960
311
506
297
861
954
275
565
153
690
514
404
293
25
801
846
784
893
715
660
458
94
704
13
38
186
806
32
576
146
461
754
216
324
994
556
633
220
992
981
997
165
804
396
109
658
44
639
429
467
391
373
259
803
696
254
959
214
425
941
752
57
202
274
716
983
503
137
25
797
167
962
641
24
406
546
593
685
100
999
956
889
137
760
627
310
10
617
271
651
608
715
862
670
820
300
58
956
348
855
40
97
576
377
628
578
419
113
68
334
640
336
204
170
925
821
457
160
713
757
323
849
793
910
583
43
594
591
724
69
459
426
508
470
442
913
611
720
283
12
374
970
708
561
58
197
261
679
737
25
275
620
582
999
797
281
894
973
845
613
923
359
974
645
234
811
932
412
721
307
237
424
968
731
359
73
656
32
564
636
893
519
485
355
150
85
937
555
960
204
108
581
846
344
73
814
868
169
555
1
478
834
456
27
919
535
688
487
499
975
391
274
657
8
262
845
458
377
535
982
932
575
658
761
811
551
173
107
434
689
76
784
110
770
109
36
114
339
751
967
377
130
826
700
744
690
952
865
937
420
505
622
577
292
420
289
297
105
946
466
408
237
484
69
734
94
372
137
954
970
619
28
24
503
762
689
192
855
556
291
609
152
549
360
484
696
953
892
399
746
728
535
548
247
494
999
324
799
284
478
823
68
526
607
399
110
35
77
923
374
903
2
990
751
664
319
718
154
904
688
769
321
437
429
146
501
486
319
166
887
596
997
83
340
656
218
867
694
646
939
54
697
417
965
133
654
852
559
412
317
743
623
884
343
752
980
320
373
707
873
75
468
720
659
282
901
725
790
58
828
867
96
807
631
746
846
117
28
429
61
663
269
782
808
237
545
762
862
559
42
363
443
342
815
730
823
335
594
217
446
618
332
468
858
326
934
272
217
408
444
250
589
211
47
301
315
498
181
321
433
130
569
296
390
598
417
691
128
70
185
504
538
126
932
465
873
694
832
925
342
582
998
208
704
93
740
222
905
871
326
14
25
164
741
979
427
454
569
224
202
910
874
57
628
844
887
452
770
998
130
480
505
509
187
386
486
646
934
998
181
828
686
299
379
418
518
559
135
972
998
898
24
562
221
512
365
666
414
719
518
517
604
325
92
914
545
509
270
871
997
729
981
132
580
873
925
386
342
26
588
745
827
460
579
977
576
615
529
889
662
293
531
854
906
224
149
47
886
531
252
401
442
686
454
450
955
895
273
693
180
880
808
338
189
624
939
510
291
292
118
308
558
697
66
668
554
765
418
751
471
602
17
966
92
771
956
374
438
428
703
286
180
879
201
576
778
831
534
713
863
94
800
655
19
997
787
327
451
982
51
902
963
407
514
968
748
145
668
695
893
572
237
156
309
765
862
19
432
75
261
715
737
163
261
455
706
979
361
271
217
923
487
433
114
589
555
901
79
533
293
118
454
638
577
703
220
984
382
14
287
404
630
689
932
478
394
819
164
600
890
894
550
410
179
224
399
888
731
449
647
551
166
13
612
640
603
132
256
11
784
13
350
94
837
662
794
521
478
271
978
643
509
575
821
636
709
581
863
120
678
661
486
974
738
878
304
326
286
92
494
817
943
184
780
183
118
140
498
371
792
101
415
73
437
703
504
734
595
226
756
939
574
517
276
25
383
347
631
549
403
443
761
697
669
790
748
206
978
181
821
802
733
425
604
556
435
763
209
504
758
33
748
477
559
392
158
633
245
667
815
889
86
127
380
809
279
511
997
38
433
805
522
119
714
867
269
395
535
835
748
201
392
328
945
677
47
246
395
580
735
95
930
625
323
631
129
94
428
445
237
965
256
126
50
644
676
204
929
905
411
209
439
249
621
606
838
178
25
822
968
69
160
195
285
625
55
660
827
731
591
228
772
347
77
61
88
139
982
361
352
637
325
686
326
683
215
751
806
259
783
827
270
389
885
400
397
466
426
426
641
742
441
920
377
323
678
34
6
177
246
796
647
756
412
928
420
647
195
659
452
893
977
373
219
718
753
225
437
681
21
776
54
936
573
273
848
462
240
880
204
924
525
968
268
60
347
585
208
606
652
743
446
256
749
246
308
739
349
533
117
56
478
274
497
683
54
487
626
770
561
177
883
217
196
167
70
640
613
392
689
550
801
944
217
633
510
475
695
860
189
683
749
831
692
981
944
673
128
574
314
814
472
878
682
570
533
302
568
746
757
862
749
433
820
446
959
492
989
89
622
305
845
648
130
293
654
768
57
389
737
819
235
405
305
132
679
751
895
296
544
725
374
878
976
610
408
589
902
890
407
889
619
166
999
291
588
718
98
494
814
935
262
675
487
909
850
442
177
328
852
733
805
133
781
651
967
354
334
520
669
164
561
43
682
96
390
904
314
537
532
386
765
723
605
908
839
257
164
853
218
97
686
645
769
754
683
580
301
816
873
660
30
597
967
50
997
375
590
589
143
90
738
541
126
545
901
83
417
182
153
423
517
511
442
123
677
907
323
244
891
553
943
118
561
286
108
580
373
877
903
929
304
882
873
540
627
873
440
451
967
862
605
467
876
243
306
186
280
276
779
102
479
153
682
564
74
163
634
163
240
960
458
308
345
131
595
642
218
764
276
640
154
560
394
271
625
740
452
904
372
623
965
432
636
466
410
833
757
671
415
681
249
222
20
551
334
979
277
194
977
926
307
847
763
522
215
641
741
499
346
710
622
402
813
970
480
213
339
286
229
866
761
759
825
574
394
199
103
197
3
130
801
572
596
120
808
617
527
467
462
2
726
489
501
639
542
15
58
885
881
185
683
818
25
518
160
888
794
432
608
764
141
612
870
565
984
369
172
188
62
251
780
432
719
77
265
68
888
844
595
140
774
966
222
841
643
465
14
307
391
152
202
276
173
54
957
728
303
549
616
840
194
567
613
794
968
683
682
245
597
637
448
475
463
693
138
162
361
894
80
662
45
672
9
410
786
278
540
502
839
384
385
588
255
195
575
103
481
766
476
744
481
966
441
313
464
839
457
221
889
458
190
853
78
750
447
321
343
403
895
410
643
1
643
945
103
181
203
661
712
663
892
827
93
812
101
614
989
552
759
36
973
564
999
366
827
713
566
883
145
983
973
18
535
907
598
888
811
109
240
929
903
459
790
603
411
30
573
237
673
4
474
369
990
868
221
715
235
735
496
448
604
908
519
365
822
983
447
411
223
573
159
938
994
302
173
207
736
226
354
123
805
838
149
375
626
588
81
166
502
28
746
746
367
155
293
385
500
946
279
343
643
104
890
316
371
932
228
867
627
814
16
661
75
145
609
922
791
253
684
893
550
452
777
698
977
425
405
623
16
427
124
995
852
742
419
932
85
244
192
128
628
808
0
756
929
258
614
775
492
78
818
267
876
136
632
22
142
950
46
96
979
60
778
336
607
938
648
501
918
13
194
891
78
16
838
260
486
701
353
473
936
485
378
998
481
431
449
481
507
158
305
216
977
201
658
89
621
270
174
940
267
735
123
435
677
755
590
737
499
710
329
170
923
666
937
863
907
644
716
613
41
904
53
355
1
288
135
860
304
448
144
99
888
197
63
603
488
869
890
371
260
697
681
352
996
835
259
142
52
20
378
155
282
273
252
54
434
31
456
144
749
414
367
866
174
459
542
129
638
303
137
691
543
830
166
200
523
63
528
758
783
544
486
196
583
916
649
61
978
325
792
762
442
750
696
878
924
774
284
660
506
437
59
576
700
366
366
248
944
229
494
90
108
90
738
648
584
741
828
380
457
783
489
481
339
210
555
626
600
263
793
575
40
5
347
395
117
34
56
430
785
488
201
271
399
256
320
393
365
395
624
762
379
390
203
942
648
359
967
594
673
133
635
174
746
153
59
97
980
281
626
584
481
436
380
24
602
200
855
629
754
223
79
821
274
345
214
830
2
538
810
82
819
545
355
699
795
807
699
490
72
971
283
27
204
330
56
153
114
168
394
165
124
256
399
873
314
793
231
234
164
762
452
781
206
5
833
488
906
751
769
349
96
409
106
288
10
719
295
165
63
973
522
696
625
949
169
707
51
336
926
600
226
617
727
909
328
455
467
280
672
278
228
732
663
689
364
201
184
699
838
687
250
477
673
664
200
698
583
815
905
722
38
988
306
926
643
416
144
960
311
142
586
598
383
19
111
396
759
450
52
61
771
922
774
142
407
541
59
986
502
461
618
208
185
464
943
842
408
165
891
140
905
238
761
114
384
959
949
759
496
320
569
900
886
311
345
569
791
890
314
518
222
467
365
759
673
763
601
899
794
106
603
910
591
748
637
367
325
595
809
827
463
154
599
108
500
812
813
182
557
380
776
659
229
274
899
971
568
206
726
676
645
500
440
211
195
102
512
171
19
829
313
489
501
753
330
879
748
988
414
706
386
219
351
181
352
87
406
43
824
210
662
952
566
790
738
855
528
985
479
536
340
723
253
256
783
659
168
744
522
609
838
651
386
408
559
908
657
271
590
278
628
939
164
256
22
385
771
165
310
213
362
336
832
649
172
833
220
231
714
636
927
559
725
562
862
313
348
496
264
178
221
805
838
266
826
812
527
231
356
786
760
213
518
410
569
830
140
202
276
24
998
394
362
601
188
662
40
592
625
401
463
637
929
483
319
719
41
493
760
782
644
591
453
496
21
641
912
435
109
64
32
392
630
649
896
308
646
420
360
512
960
61
31
315
904
999
374
483
882
302
899
710
897
19
130
716
863
260
284
717
234
174
210
144
26
604
372
968
716
482
560
904
146
620
171
912
750
256
442
683
529
616
319
981
235
420
85
639
694
138
746
266
253
994
610
348
27
790
505
921
602
50
354
748
634
20
201
182
267
941
494
822
489
67
4
404
896
624
143
343
507
453
231
757
527
209
52
946
584
563
424
465
846
75
580
178
631
650
338
51
575
288
443
827
383
854
161
522
383
913
828
410
308
36
349
81
159
762
983
215
369
849
766
903
761
691
396
506
77
390
3
145
864
256
163
210
233
206
411
849
334
834
164
780
708
114
419
159
10
605
291
394
392
134
291
261
192
760
618
360
56
801
377
858
134
132
830
422
188
285
858
374
829
922
418
163
211
850
963
44
398
266
360
215
186
45
78
748
91
538
318
210
41
337
346
799
260
804
730
956
642
941
815
318
664
123
614
397
33
422
969
253
66
728
651
841
383
9
418
136
19
804
871
296
389
613
816
641
950
895
584
352
198
595
205
964
599
559
659
128
200
599
671
331
738
25
929
724
411
894
707
541
843
638
376
809
674
959
960
203
486
655
990
337
553
185
197
432
300
391
712
250
112
729
959
401
877
995
171
446
136
601
301
839
542
246
700
651
477
29
410
464
996
581
375
708
352
19
27
732
176
905
926
850
747
293
923
725
435
116
847
149
99
707
462
327
620
674
140
56
642
49
306
380
395
35
717
96
228
444
274
824
50
958
800
324
30
305
293
57
196
380
959
665
26
472
334
485
836
946
364
3
397
799
65
851
509
595
908
541
190
954
703
709
98
942
976
491
904
134
913
410
767
362
13
524
64
798
431
604
351
770
627
269
756
348
630
697
300
951
839
635
804
348
391
754
646
982
853
718
598
886
420
458
220
346
42
523
472
359
242
831
442
670
26
730
862
909
488
312
827
472
231
109
11
485
182
999
160
338
730
209
675
405
636
113
495
64
531
71
542
110
260
569
613
681
774
460
14
59
401
422
716
487
677
465
13
29
333
70
768
492
131
130
750
632
790
769
755
607
11
838
319
503
772
661
295
436
376
985
321
305
273
954
796
605
614
459
768
2
449
644
387
463
532
195
762
315
130
522
26
467
391
866
500
667
396
649
384
946
611
208
500
852
735
278
287
305
947
774
736
114
401
370
534
493
618
92
199
783
199
498
676
604
368
112
983
508
903
935
685
436
775
302
753
333
662
587
835
298
773
430
888
763
666
564
846
244
732
73
283
272
824
903
109
993
907
172
487
101
94
982
800
658
9
121
557
250
312
999
860
688
452
233
718
755
950
949
222
81
435
136
177
285
552
278
850
187
224
119
616
705
259
654
952
632
815
288
651
574
794
864
82
500
910
328
456
555
788
423
499
863
784
917
866
556
162
258
744
140
157
320
311
306
522
69
606
790
939
556
612
160
53
772
449
191
317
622
443
209
748
140
718
851
151
322
278
695
11
770
726
854
310
486
762
363
73
688
303
759
974
656
769
845
392
957
155
334
515
133
253
696
592
367
490
549
409
545
697
353
71
640
917
759
234
305
769
333
365
850
122
240
654
870
457
806
493
68
798
775
811
902
241
788
607
818
131
215
414
0
206
65
626
571
745
101
128
645
306
479
200
404
290
196
669
627
635
922
831
626
378
600
471
962
185
518
245
509
318
349
207
574
692
837
892
744
177
316
531
309
835
243
855
561
236
705
932
958
271
317
958
986
185
178
215
343
753
646
279
988
182
422
165
178
229
612
17
443
9
551
113
92
831
360
459
682
268
537
684
105
851
80
764
362
518
562
561
770
891
636
184
9
801
686
455
306
630
910
255
237
729
866
753
553
398
671
31
83
463
162
113
653
97
288
989
396
513
920
400
578
550
105
212
919
443
469
728
53
310
474
694
996
930
610
899
193
729
745
276
84
586
486
672
207
356
623
518
273
585
314
74
142
734
526
179
872
170
741
888
1
376
769
752
727
451
270
975
442
173
670
606
784
106
997
454
850
427
395
862
372
116
460
669
438
723
316
150
676
63
466
24
185
908
944
199
332
924
877
735
249
375
365
746
367
26
910
32
221
892
57
900
111
953
280
725
677
89
393
185
20
910
702
30
218
372
51
961
818
941
291
662
806
501
7
462
551
478
462
837
225
310
765
216
732
13
739
671
658
609
295
218
586
175
413
880
692
696
682
327
808
707
140
745
988
99
915
665
192
174
567
69
640
166
418
209
910
311
642
2
942
787
712
430
833
568
862
530
537
819
680
261
806
644
144
875
67
706
613
193
90
961
4
523
754
712
676
515
969
624
496
730
797
399
670
249
685
442
494
190
56
251
79
525
824
380
830
611
774
936
3
813
333
350
487
601
722
104
370
838
20
867
690
777
114
901
389
658
969
78
593
922
309
140
141
370
342
622
549
148
38
485
287
533
546
116
974
115
392
935
997
632
847
740
3
125
383
399
304
984
831
888
758
965
803
88
810
603
751
711
499
752
5
81
619
29
162
342
450
966
331
318
278
434
452
30
30
930
42
994
482
628
154
588
578
535
715
950
283
913
603
203
978
529
143
813
766
197
248
157
75
209
499
874
284
586
307
831
406
511
700
43
748
523
710
444
200
878
481
771
96
607
975
399
659
974
625
95
92
759
305
134
560
400
823
488
835
211
400
552
124
232
405
53
831
85
937
566
48
449
629
827
859
785
638
452
904
807
349
947
564
439
854
683
287
820
963
171
498
929
614
737
140
50
277
530
695
790
132
71
325
232
919
163
682
854
90
976
771
130
211
371
366
653
880
464
361
216
347
560
339
995
150
981
379
492
852
721
493
408
86
302
33
694
292
41
175
508
832
791
951
917
285
622
566
871
42
41
674
349
576
275
987
116
189
573
759
834
887
457
910
907
31
517
907
825
709
298
132
882
544
347
329
81
583
199
556
26
820
328
88
806
249
356
163
255
115
430
162
196
829
642
900
0
94
540
399
25
261
669
397
83
352
792
241
945
263
34
842
716
937
256
472
669
964
282
936
513
755
346
752
542
795
233
688
329
291
517
273
665
662
302
852
529
960
525
432
535
679
348
781
110
631
24
505
846
45
271
943
155
489
916
652
893
819
842
571
242
575
453
543
736
781
159
508
222
337
824
916
853
50
964
860
669
759
38
865
9
322
414
634
653
732
429
454
339
667
187
757
975
27
534
671
745
475
469
329
555
123
216
588
506
458
284
122
599
277
952
839
914
552
170
23
574
970
80
267
79
237
609
445
425
452
204
459
740
307
222
516
706
874
205
36
8
633
605
712
911
197
335
121
325
980
136
302
958
956
458
97
421
84
607
603
950
996
411
77
412
46
156
769
848
613
916
326
894
383
477
652
439
69
871
344
681
779
375
549
616
358
973
737
691
537
59
956
921
422
295
796
369
667
261
715
896
488
687
502
715
48
338
563
196
145
489
817
613
489
871
116
177
60
69
326
921
58
231
320
706
177
47
861
444
268
743
50
369
759
373
363
231
440
181
403
771
307
739
461
543
375
748
60
621
374
375
371
952
34
562
75
386
816
132
14
127
187
996
190
602
183
984
869
891
610
429
21
639
494
813
335
277
525
208
142
447
522
329
128
622
840
295
196
958
433
812
999
714
269
580
205
140
241
126
227
335
957
919
669
977
172
644
992
449
868
624
966
746
555
360
87
598
890
494
219
323
862
625
865
440
543
114
571
782
583
623
132
222
130
960
722
690
431
433
566
275
307
590
697
794
112
481
295
910
258
66
751
324
545
395
181
866
799
166
317
920
594
319
335
996
218
544
150
721
651
291
14
411
145
699
934
53
753
41
762
607
326
656
493
324
179
631
994
989
25
916
347
419
921
587
258
550
759
672
447
441
367
898
773
999
488
935
406
574
197
757
886
289
815
124
980
659
96
258
72
298
61
481
279
65
577
428
312
45
24
951
939
349
403
833
895
711
105
99
347
880
268
588
375
626
156
449
762
388
988
116
308
874
683
396
742
733
834
676
397
581
650
684
804
912
190
104
451
971
68
348
981
443
410
681
217
566
549
463
579
934
938
57
577
841
531
557
718
596
262
980
860
661
336
726
561
748
117
874
405
851
697
771
167
827
67
377
763
332
823
980
534
206
570
16
797
689
704
550
624
748
523
11
492
677
314
548
697
961
199
450
756
380
429
173
795
507
922
589
306
967
369
459
370
822
930
807
194
356
704
235
539
57
495
83
883
671
58
991
651
965
963
199
542
331
922
526
500
615
645
598
172
552
37
779
704
759
891
267
963
305
50
503
879
982
646
292
144
864
398
75
454
257
106
601
113
434
126
130
586
389
992
937
471
836
918
678
240
658
467
592
186
23
2
700
624
580
407
686
929
347
287
369
856
114
453
472
843
919
393
945
111
810
822
774
839
815
443
878
474
534
730
656
72
1
553
540
396
530
41
111
657
755
194
619
164
757
423
831
651
466
195
326
889
316
39
109
474
687
32
720
60
49
684
949
531
256
667
723
504
696
518
724
12
884
275
118
996
613
127
329
890
855
624
330
935
841
140
447
526
833
492
602
554
841
842
783
343
88
381
864
157
42
678
957
160
710
328
863
892
784
642
131
462
361
16
117
479
741
6
292
126
671
725
818
20
687
33
253
325
568
346
470
216
369
987
716
975
780
510
274
776
285
850
169
998
593
36
635
475
984
683
405
67
898
504
414
223
381
551
397
900
942
991
509
450
83
564
103
46
528
740
386
644
944
949
655
413
95
131
746
431
437
475
719
755
982
877
182
785
77
449
144
801
560
78
733
538
88
872
184
732
703
123
421
749
448
282
675
602
195
348
775
951
855
520
159
101
51
615
475
478
875
847
230
35
999
949
108
724
292
963
320
713
658
487
216
130
666
154
287
652
626
752
737
360
173
232
132
432
538
915
282
449
141
204
166
784
786
731
957
0
594
233
533
93
653
177
839
742
471
315
927
159
990
497
447
628
489
293
769
983
650
728
263
334
720
796
463
447
43
836
256
91
472
92
379
252
220
807
312
294
267
145
885
808
361
625
166
67
849
386
711
735
312
364
639
620
639
707
818
961
901
908
183
395
715
133
31
440
186
8
189
993
302
409
860
793
718
783
597
170
990
390
967
160
305
510
830
657
689
523
234
27
991
403
904
610
278
972
498
57
168
567
912
247
908
22
865
24
400
32
650
603
420
275
516
680
245
967
197
431
296
332
438
950
464
297
374
95
49
293
69
673
557
474
341
517
619
684
632
322
5
166
231
868
493
426
683
635
131
754
765
160
322
440
775
740
513
218
885
308
133
384
314
489
146
98
195
11
266
572
858
842
672
172
396
830
144
543
472
13
114
841
638
507
916
176
203
541
267
510
976
844
798
780
326
227
731
371
609
912
446
444
498
277
756
928
64
457
734
487
666
849
610
390
472
96
947
101
989
692
942
92
50
991
153
277
379
76
643
132
938
3
283
551
945
448
835
920
617
443
370
973
73
151
383
831
665
115
363
962
955
835
977
852
63
966
256
185
134
534
203
876
803
87
904
635
663
21
178
635
869
303
613
876
257
73
245
742
286
526
427
752
428
616
642
26
403
316
477
728
456
390
251
69
967
797
202
489
898
617
670
742
782
320
703
5
866
357
302
642
270
953
531
828
221
895
475
22
400
277
662
688
483
879
745
997
362
823
982
812
273
134
697
887
338
740
580
338
770
278
62
232
178
205
57
860
604
57
952
112
320
630
392
601
866
662
460
214
671
686
484
883
165
744
920
361
417
824
559
421
597
840
253
72
874
97
832
862
472
995
726
831
536
159
833
870
4
577
781
727
338
852
273
277
208
303
880
892
954
362
913
820
483
767
304
158
861
209
589
415
655
395
730
896
661
841
737
488
532
68
84
684
54
382
79
909
655
318
50
945
237
918
845
19
781
566
274
213
383
472
770
933
125
520
229
817
864
253
513
863
456
629
418
746
960
475
949
642
268
255
432
865
591
790
277
343
29
125
156
140
606
280
200
139
39
315
94
492
964
615
545
614
776
811
936
907
754
784
644
410
497
653
264
625
278
724
450
493
134
987
632
234
716
35
934
960
197
262
626
374
646
947
34
853
509
97
431
363
760
528
557
64
885
356
718
694
231
260
14
514
686
710
883
204
124
257
370
467
163
639
858
132
44
299
164
37
574
555
797
704
847
342
19
798
868
711
807
822
210
228
294
461
686
185
883
99
941
516
133
181
903
532
227
863
771
739
840
241
267
80
712
835
738
688
236
897
864
288
355
846
896
91
378
940
373
614
769
803
736
48
774
405
40
778
411
870
671
233
861
858
872
98
592
273
533
216
967
696
561
91
262
421
478
25
785
160
878
516
653
129
75
152
787
464
677
65
327
228
104
580
52
135
572
459
618
170
410
676
948
698
98
117
296
738
611
174
86
695
570
589
519
548
276
751
635
185
350
104
423
591
386
367
342
266
570
247
714
455
101
504
925
569
944
585
364
652
828
993
759
820
248
694
602
501
803
157
879
67
118
530
974
31
949
896
508
782
123
698
429
232
658
444
718
250
316
601
187
56
373
460
176
50
634
778
208
182
945
431
83
24
172
477
416
406
134
655
779
180
7
797
214
546
815
706
12
794
288
692
909
560
758
716
332
675
283
995
115
371
805
505
500
107
962
431
46
913
467
915
541
150
172
954
206
334
835
881
313
658
60
189
831
426
758
278
3
120
88
206
621
128
549
294
180
900
103
906
583
54
280
829
808
744
775
123
281
87
642
14
240
893
590
733
96
143
249
832
620
600
630
779
984
844
864
313
387
926
488
958
28
187
857
724
203
398
340
108
564
641
281
874
820
422
647
481
159
538
363
10
844
922
198
546
363
856
27
873
498
988
916
56
183
109
934
737
25
522
245
241
255
525
450
117
393
989
548
951
205
60
692
896
955
530
29
837
966
974
799
482
347
132
651
642
507
958
463
8
435
904
109
634
533
174
319
398
819
639
778
825
840
605
35
907
158
355
738
97
778
746
508
462
606
24
519
805
432
211
983
826
151
390
804
520
613
31
145
992
571
129
411
467
441
770
806
253
234
545
260
401
853
285
886
410
410
287
353
534
143
470
408
740
440
723
800
377
795
887
752
201
265
980
885
382
95
253
826
151
414
258
416
819
465
387
581
562
923
688
135
941
660
115
303
95
17
24
888
288
973
402
721
670
92
94
414
789
526
571
122
444
278
865
686
933
93
366
922
975
579
357
307
334
164
425
478
204
255
653
188
371
385
167
261
767
339
438
930
948
15
79
90
977
346
402
280
227
985
850
465
529
890
216
355
818
291
578
57
20
573
891
406
675
192
823
27
688
676
599
765
858
645
633
305
225
767
665
151
748
236
61
609
174
352
746
697
960
90
632
812
993
231
537
455
991
976
308
187
873
608
317
341
892
685
322
396
275
670
190
105
832
705
580
266
19
733
360
333
914
51
480
424
960
598
10
433
608
670
326
405
546
205
130
840
333
969
784
105
628
704
718
200
61
553
979
687
148
220
900
833
197
883
291
991
552
226
128
281
900
92
236
374
271
244
41
159
686
625
700
17
512
394
536
365
875
748
197
702
592
310
950
865
564
341
866
625
178
850
783
551
864
377
291
773
580
986
871
489
982
308
231
52
78
444
385
431
135
807
553
158
248
390
55
677
128
184
225
347
783
152
803
884
570
547
466
819
827
982
496
977
256
814
368
862
723
383
899
193
121
422
381
320
834
291
382
569
813
518
760
157
750
227
969
201
866
197
989
86
270
324
716
525
894
550
637
925
874
363
287
175
76
537
427
917
529
688
915
396
883
275
637
484
299
621
802
669
706
884
416
3
979
983
740
365
225
556
131
995
11
641
106
567
147
130
527
379
414
815
597
228
640
647
937
491
38
219
203
70
366
623
478
747
936
121
770
606
557
357
452
253
462
637
899
571
630
773
526
367
653
314
312
448
292
203
565
413
0
502
680
905
304
964
954
627
926
946
440
883
267
393
796
208
764
764
364
222
599
312
362
607
256
612
134
966
363
155
150
773
679
923
691
769
362
821
275
92
656
4
758
651
410
389
748
424
378
25
550
699
898
150
882
673
348
855
879
774
17
348
520
610
789
714
226
241
512
690
502
718
501
352
887
523
185
443
688
927
26
430
46
815
546
224
942
697
976
405
684
8
999
882
549
766
98
191
100
229
618
250
648
88
548
944
335
987
57
694
79
866
100
739
73
695
688
225
415
761
241
938
684
850
307
240
85
430
618
340
714
527
169
165
57
193
382
292
98
599
400
256
791
959
358
10
98
381
517
417
2
324
540
76
998
161
765
95
756
38
200
776
615
129
554
668
909
462
989
622
200
95
277
551
142
22
244
443
778
508
999
862
431
266
195
146
909
77
400
871
43
734
17
644
980
474
647
169
550
280
367
845
477
157
32
428
624
558
593
732
586
392
430
243
665
561
482
41
33
373
567
475
628
203
682
26
560
733
259
793
795
262
336
638
647
702
608
469
560
759
532
825
187
813
195
508
752
579
769
267
978
389
889
392
450
99
809
940
653
443
463
93
307
324
452
227
220
938
45
4
903
629
442
85
522
872
889
424
682
743
16
627
803
347
915
501
454
221
766
339
396
562
517
440
147
380
967
151
135
126
799
115
882
321
901
726
32
331
854
69
487
937
811
442
363
57
916
871
360
470
653
598
815
532
642
72
199
973
306
47
926
740
162
938
797
995
481
132
939
83
751
877
491
56
470
974
227
552
104
47
124
594
724
672
282
668
935
454
94
885
996
900
762
755
570
609
59
911
502
605
287
854
526
705
658
576
431
284
111
421
88
796
675
499
833
980
269
134
760
316
822
209
862
900
192
986
708
608
689
288
308
926
931
135
313
888
251
201
474
975
960
270
974
138
582
569
248
567
184
809
685
374
797
241
616
614
600
705
954
922
797
772
395
894
154
435
892
817
616
555
509
247
106
185
120
285
952
860
493
731
76
428
854
99
740
16
78
884
165
402
248
210
160
299
44
221
519
310
733
55
88
232
388
167
754
478
324
730
462
717
389
718
317
864
375
67
909
879
27
277
783
582
261
608
267
405
974
439
610
332
423
888
504
142
583
299
209
495
986
3
165
630
254
364
87
644
452
858
320
336
988
119
395
23
914
766
510
963
505
526
419
463
916
282
810
256
645
324
309
369
642
563
93
551
786
573
359
419
322
729
293
954
310
99
200
978
994
833
905
754
27
745
287
336
977
696
912
413
664
394
380
618
395
745
432
953
514
211
463
603
791
51
888
9
806
321
3
836
369
54
23
883
991
475
284
968
587
662
612
653
547
857
884
331
772
941
995
404
601
16
67
663
418
340
85
533
93
726
202
865
819
811
380
339
15
855
150
960
596
106
316
488
107
435
634
791
240
656
985
517
748
848
432
447
983
312
973
988
582
77
573
295
873
835
751
992
91
97
252
280
17
119
61
255
853
270
304
365
348
76
844
989
839
820
38
519
726
862
692
984
942
452
556
421
189
859
89
320
690
369
983
931
221
235
536
320
242
654
637
59
974
343
940
559
235
598
669
704
617
960
281
103
277
490
503
808
776
222
906
383
843
86
987
340
694
931
235
346
784
645
67
280
813
781
231
650
439
113
396
697
290
436
523
16
110
83
766
247
855
184
512
111
124
690
272
19
842
929
859
793
850
225
217
820
963
851
588
912
739
977
267
370
908
206
897
204
228
308
285
233
917
941
340
32
118
613
351
104
284
353
9
883
367
262
37
713
712
680
219
459
247
844
720
634
265
858
852
849
633
672
904
455
966
218
137
16
931
610
357
1
413
969
856
530
973
931
847
74
488
709
902
883
965
48
959
319
786
940
52
501
547
886
213
905
774
813
817
772
498
682
385
390
391
631
457
258
342
41
314
498
104
152
702
326
23
569
179
187
686
248
824
668
637
470
794
974
983
559
726
632
770
517
670
758
196
986
272
468
504
943
587
748
93
975
105
590
578
458
245
315
882
674
101
404
282
114
594
669
785
120
492
779
669
531
990
399
74
340
444
792
15
350
106
918
136
452
272
609
123
838
508
294
193
477
174
779
88
91
803
435
604
506
719
763
884
398
164
634
237
691
924
945
257
363
815
760
124
465
841
337
720
506
263
871
173
804
736
820
331
334
421
58
559
338
762
226
635
894
363
727
638
857
837
83
512
213
165
423
651
611
76
549
269
939
856
862
127
225
638
309
413
471
948
109
820
596
640
146
880
876
651
870
131
774
813
795
337
609
462
326
543
704
795
89
571
784
9
325
189
952
706
540
205
264
833
130
674
163
6
345
561
449
848
965
827
836
526
147
28
305
984
775
629
207
571
105
96
474
421
618
761
716
806
524
250
471
954
480
531
285
387
39
37
385
736
1
879
232
117
101
122
259
814
701
118
830
16
774
811
318
408
935
552
284
978
697
46
227
365
405
957
921
222
281
360
716
56
532
125
706
33
900
117
767
728
348
146
446
399
246
650
618
354
764
864
786
170
463
127
657
586
144
577
501
116
768
470
825
265
334
16
122
949
835
862
931
112
499
694
218
75
418
493
474
877
714
60
953
699
148
629
247
762
496
948
724
676
476
300
550
973
428
862
671
704
68
134
253
430
807
591
453
587
506
793
538
454
381
818
86
480
819
534
615
912
149
670
989
9
396
62
461
538
939
511
386
248
147
378
923
317
78
342
516
335
545
734
253
365
440
259
158
954
801
480
23
745
33
402
670
722
166
906
163
959
325
860
427
37
669
717
242
381
696
414
587
769
283
829
603
813
245
972
517
788
538
15
61
184
561
952
300
796
284
624
546
736
252
757
498
535
365
907
934
456
213
774
991
829
538
730
734
544
161
385
724
204
389
423
855
921
209
263
463
469
497
458
18
917
576
492
760
852
917
241
453
427
258
311
178
978
585
334
408
542
556
358
620
725
341
324
606
857
703
509
124
592
712
22
831
811
486
271
779
889
960
34
985
134
486
360
364
987
320
94
707
177
445
770
540
101
174
309
512
527
505
727
916
930
669
203
728
316
182
805
865
927
208
141
45
473
884
530
618
220
50
684
803
928
892
656
159
437
446
898
82
857
3
979
439
462
947
758
437
228
744
912
21
313
557
351
15
995
630
398
753
712
660
37
187
314
429
545
284
10
304
683
391
668
927
681
801
732
503
946
184
869
497
718
311
290
840
748
387
928
602
447
790
143
194
408
557
724
941
74
275
493
360
643
55
197
163
18
220
164
957
131
433
294
825
994
680
666
759
412
922
268
30
34
569
856
33
496
239
523
600
543
997
3
436
237
580
93
394
999
117
517
404
560
828
419
12
959
421
222
783
53
713
428
694
207
643
127
696
175
42
307
767
297
270
846
303
401
146
104
269
33
533
557
895
529
554
368
33
468
908
909
761
966
374
43
180
54
406
186
922
299
856
51
699
25
94
918
318
599
709
970
529
937
155
881
893
801
508
167
528
342
744
976
455
798
936
299
207
98
593
813
501
301
257
780
646
97
754
938
661
50
466
814
897
748
53
714
347
959
395
884
925
951
277
12
345
101
103
991
530
148
546
997
978
277
260
537
919
529
153
188
124
455
170
761
874
600
181
426
275
624
118
66
233
49
242
596
563
185
574
805
175
261
313
398
686
899
206
26
437
617
620
175
510
214
848
876
397
564
201
436
630
441
821
44
995
355
303
230
785
738
143
937
269
716
52
669
394
168
913
77
330
242
443
286
262
234
102
22
60
792
224
269
607
651
493
151
859
338
226
767
991
384
1
409
675
890
23
412
378
28
973
884
823
772
175
804
465
100
767
806
101
897
914
30
779
735
341
98
784
658
858
780
2
665
70
28
752
195
981
290
115
233
5
756
320
77
83
262
576
421
774
46
548
363
144
669
406
521
110
888
256
387
678
862
766
931
784
441
717
541
66
353
196
477
973
392
623
782
782
199
584
883
851
112
589
33
967
788
31
233
613
2
501
845
384
588
120
505
621
707
954
453
286
816
464
302
518
621
690
853
292
278
570
217
958
837
566
567
261
215
403
746
817
140
540
220
354
0
829
614
159
72
985
456
928
150
186
823
569
645
656
281
900
40
241
735
677
380
268
468
744
722
867
585
227
633
533
502
837
706
399
207
591
505
60
680
813
597
394
45
108
664
338
337
905
404
466
891
986
374
427
990
176
345
800
216
864
352
846
300
160
325
168
284
56
1
20
420
899
788
612
354
76
930
83
709
609
143
354
678
905
424
63
709
430
904
911
311
95
421
252
643
406
381
785
923
888
801
656
539
398
272
896
194
884
619
801
583
815
678
427
299
634
81
527
408
688
676
405
606
691
264
783
652
456
448
205
879
775
18
728
492
644
696
227
116
691
798
700
109
205
35
558
607
779
410
648
990
782
78
837
492
996
971
179
955
172
794
479
608
768
198
334
764
839
917
286
986
865
932
90
186
337
554
267
66
85
815
277
677
676
473
760
641
394
758
738
270
186
511
104
17
488
808
190
160
497
994
226
474
484
149
22
988
175
446
930
637
159
721
357
987
723
25
871
714
198
13
98
496
849
780
370
730
707
778
75
148
989
204
502
363
347
631
291
924
700
822
186
586
264
732
313
925
723
772
704
901
910
623
152
455
983
595
572
966
298
921
10
445
444
754
619
293
333
317
152
955
723
151
787
131
867
12
639
829
570
585
959
817
452
863
830
646
451
574
109
465
751
655
898
399
430
243
664
502
304
159
935
613
512
598
399
607
178
784
754
223
361
935
141
334
176
432
444
603
418
880
555
643
219
634
536
447
606
554
832
328
835
756
821
463
650
903
877
904
993
518
984
460
913
941
204
378
256
987
760
533
236
480
486
993
24
516
775
305
597
43
209
367
755
775
198
124
8
190
96
21
791
408
82
53
740
547
73
522
887
696
378
780
137
53
358
369
36
971
364
799
602
153
525
690
883
651
460
938
920
318
595
318
222
559
363
538
596
272
686
512
121
100
709
0
381
690
726
278
759
180
380
145
424
298
937
876
617
423
199
803
418
481
930
236
115
693
682
842
293
566
467
937
813
990
435
746
815
660
878
480
78
271
650
726
362
587
554
173
671
85
470
261
531
380
268
829
3
799
328
995
673
770
529
842
47
935
581
322
557
459
403
526
286
178
371
872
987
830
852
619
859
137
370
51
776
227
619
436
442
718
928
616
286
206
125
533
479
321
345
388
433
727
468
603
524
723
894
731
769
400
825
657
99
937
927
895
342
950
889
743
164
120
471
778
773
824
312
605
816
156
762
249
274
647
535
325
115
737
589
3
995
813
412
631
412
848
78
965
4
582
452
247
488
292
57
541
706
856
278
931
551
94
511
640
43
137
289
388
268
311
972
980
26
375
151
358
670
850
709
654
848
776
964
963
141
680
627
291
871
408
498
721
721
797
440
150
444
203
2
620
756
329
387
761
939
933
958
13
779
346
78
306
208
852
353
522
193
869
927
632
225
2
530
650
254
666
295
545
257
482
57
730
761
179
93
61
349
972
806
161
442
756
769
521
709
905
122
590
490
262
159
678
655
354
829
827
322
976
998
747
725
526
765
336
403
542
569
639
837
143
232
941
193
892
644
131
715
537
170
744
944
349
55
12
749
465
271
750
613
115
401
121
33
309
120
470
58
336
51
890
819
640
54
618
296
996
669
669
192
566
226
505
710
208
171
985
403
328
824
591
796
366
676
383
566
585
647
865
897
323
250
848
517
641
607
752
50
575
42
124
122
744
773
176
813
151
901
996
964
545
305
268
370
716
707
212
306
209
224
943
798
624
12
179
396
383
686
860
15
368
427
355
479
251
158
831
543
588
552
684
943
246
587
934
608
482
5
707
261
256
492
271
861
124
275
261
14
904
387
607
716
501
944
95
928
217
427
421
901
979
636
729
682
355
985
286
104
677
784
117
663
171
952
47
15
56
692
366
432
655
147
724
513
969
647
178
48
427
704
5
253
489
74
48
61
127
506
357
48
640
200
904
317
637
997
752
308
832
276
522
74
800
351
454
455
730
673
525
747
298
84
876
731
812
599
229
844
287
67
496
135
556
228
882
578
247
0
271
274
566
628
329
135
656
194
216
977
233
546
832
297
665
711
613
877
441
133
919
192
158
154
279
163
540
772
933
385
842
244
248
788
579
225
25
564
156
658
224
210
896
877
838
678
436
866
549
780
676
601
617
234
785
918
130
556
815
111
844
183
297
690
520
599
635
736
744
552
437
495
659
281
398
563
963
56
347
110
382
548
971
331
444
357
790
631
223
905
347
249
12
233
173
252
39
915
389
158
981
294
236
613
128
934
735
10
166
656
935
204
714
659
923
4
574
259
283
970
35
598
996
461
585
539
2
952
766
708
346
477
945
787
776
106
548
298
788
724
169
111
672
899
531
697
346
21
464
332
647
904
993
876
121
29
730
877
299
161
168
797
619
429
522
990
395
934
848
537
189
467
238
416
393
314
724
167
759
583
408
823
965
311
408
130
894
452
936
796
764
224
344
396
645
213
983
931
882
145
318
436
382
720
31
951
334
411
594
926
794
116
557
330
843
776
540
110
239
509
140
927
526
415
992
305
59
373
252
911
903
286
626
289
93
815
264
592
748
629
523
382
643
507
999
652
676
266
670
205
161
975
511
316
718
35
486
788
461
395
966
587
137
974
986
629
633
136
799
69
332
726
198
206
662
91
949
220
489
879
956
813
666
776
283
809
920
5
924
265
939
114
205
116
71
857
196
865
922
23
47
101
25
366
72
100
677
293
425
327
569
72
305
643
116
960
759
914
371
282
549
708
112
107
963
9
651
395
641
472
146
525
135
280
434
66
921
558
504
47
718
766
575
282
688
787
701
191
734
719
881
132
979
439
869
706
59
239
175
863
546
657
474
19
26
539
564
725
642
793
19
899
834
376
7
49
528
269
322
975
662
832
937
584
792
371
896
564
907
845
978
822
958
251
290
630
856
986
641
544
436
306
267
385
118
72
495
601
781
681
476
402
251
299
874
459
696
130
767
521
673
695
617
63
143
376
742
735
516
457
973
992
267
207
175
174
336
229
862
508
713
349
92
218
797
479
726
335
249
807
520
880
349
211
121
555
794
69
997
670
19
498
880
520
286
197
766
109
960
103
726
310
344
935
989
467
550
383
876
595
154
579
530
456
294
209
847
47
850
852
615
12
13
316
897
832
264
760
849
358
402
598
438
506
222
55
571
991
231
713
59
577
53
255
606
801
896
115
750
512
743
488
21
958
55
64
948
84
225
595
407
369
715
417
767
521
276
357
543
703
290
265
526
959
719
496
981
747
170
180
601
328
600
454
735
114
310
454
823
750
40
873
605
916
412
107
921
134
385
647
450
726
440
868
26
772
869
586
919
444
206
806
158
501
396
232
549
521
373
756
365
47
850
616
43
306
772
928
518
540
393
816
805
247
898
290
734
832
523
935
429
826
221
706
730
399
550
123
364
675
645
878
512
717
168
987
927
426
473
272
636
463
565
907
73
259
803
139
568
336
337
292
335
252
591
773
747
242
434
210
44
146
540
756
117
6
602
881
488
70
880
590
511
154
438
367
810
616
877
787
779
540
844
383
688
598
890
705
46
832
321
822
641
412
802
114
848
310
947
806
939
745
592
650
425
989
531
531
171
894
13
897
92
386
878
235
587
962
526
770
252
799
697
608
240
395
774
158
501
345
629
337
550
391
901
626
390
916
933
818
205
873
172
6
179
29
306
177
812
464
354
250
86
932
117
924
464
199
493
379
829
756
842
589
193
14
504
683
399
354
563
95
553
808
716
141
80
647
674
349
803
435
279
382
908
852
156
773
1
96
697
286
393
736
841
319
640
206
534
797
835
305
293
513
835
455
725
524
304
477
184
459
576
355
459
919
675
995
725
904
225
573
592
262
554
904
295
464
416
432
685
251
841
708
303
827
591
637
857
50
661
357
386
511
641
376
28
155
798
756
147
687
454
938
376
716
509
487
332
349
439
922
745
785
431
958
465
768
473
977
38
782
97
614
282
568
415
299
230
697
63
157
163
988
331
446
736
822
803
364
531
113
272
339
586
577
600
651
951
151
126
689
579
492
786
796
248
911
74
800
215
328
460
743
486
853
606
522
828
619
928
513
107
504
122
795
225
341
696
848
281
964
193
788
881
451
898
88
48
229
785
275
440
436
14
102
395
515
503
454
392
454
220
654
944
152
136
685
286
765
956
755
745
308
409
293
11
856
77
299
343
934
161
621
426
851
665
567
520
271
274
423
847
294
512
106
786
147
843
415
441
888
951
146
746
277
945
823
268
989
172
349
722
849
900
847
865
79
182
369
154
638
676
67
566
366
488
413
745
993
180
121
402
452
258
813
727
156
553
694
981
883
917
8
135
635
896
939
140
7
915
593
888
203
320
830
875
541
868
568
123
868
315
719
302
446
878
182
907
703
62
858
742
768
601
88
671
735
303
535
388
25
585
134
448
297
252
948
585
515
28
73
709
689
864
198
998
378
949
332
855
437
379
681
482
830
800
36
639
752
553
834
831
824
345
362
608
662
334
976
586
277
31
259
838
121
667
511
738
711
311
58
655
884
730
891
481
94
812
648
93
7
129
533
586
664
120
760
822
632
387
134
551
448
744
390
173
257
517
631
129
578
930
411
787
722
560
649
572
35
421
175
857
873
82
701
297
810
456
671
676
388
411
646
364
846
213
731
649
330
503
910
407
117
428
811
953
606
153
523
801
266
900
908
788
20
286
952
352
589
654
726
488
120
314
461
967
242
593
836
580
811
571
732
923
145
835
117
9
224
737
418
777
948
892
506
509
224
479
526
620
663
558
591
4
240
441
919
687
968
397
922
224
5
151
619
849
893
486
15
138
104
352
743
957
762
136
849
931
838
458
795
190
551
485
711
753
299
268
170
742
929
864
332
626
408
542
647
445
983
737
419
323
776
710
255
550
380
740
19
964
246
767
375
161
234
488
18
562
743
304
681
244
131
823
880
608
239
94
177
813
451
455
136
703
348
648
575
613
584
829
2
912
516
505
492
72
711
896
576
673
886
402
997
357
627
230
486
109
597
768
787
706
119
359
950
30
712
875
155
655
135
693
8
982
185
128
142
72
321
334
79
446
768
748
740
864
333
995
525
187
239
73
436
431
791
703
924
360
259
855
377
118
459
87
17
246
472
370
444
271
890
799
924
84
446
419
868
145
395
586
673
574
902
427
714
493
490
825
726
259
606
155
752
723
11
599
930
312
820
187
906
959
380
400
179
497
974
983
700
886
861
175
15
614
785
867
72
956
75
521
188
239
665
468
19
354
676
255
566
455
501
342
73
686
30
146
181
99
251
701
479
593
962
448
85
881
628
759
597
347
850
898
118
239
772
13
542
879
331
293
769
577
612
989
654
719
727
250
592
424
480
22
489
37
610
741
676
99
931
663
366
562
755
874
701
318
2
3
267
254
480
94
433
384
587
847
878
619
300
681
679
807
859
260
295
645
851
672
454
797
53
121
12
863
868
700
831
459
50
145
248
116
428
404
726
206
623
222
760
333
683
41
153
788
364
673
929
984
897
309
608
961
529
612
241
530
785
980
302
96
395
160
303
367
377
800
364
912
420
649
453
806
873
918
352
540
811
489
120
259
87
303
726
182
10
258
200
277
640
969
399
510
779
563
638
20
123
802
318
89
110
937
397
26
938
991
483
841
502
280
68
110
976
881
930
816
210
505
759
681
892
398
587
435
203
529
235
813
957
574
795
729
563
713
174
604
779
421
794
100
493
905
636
495
948
111
671
693
347
863
194
377
466
737
248
410
374
219
425
745
225
640
666
196
743
322
203
367
431
820
365
239
703
945
548
457
112
801
68
943
462
943
26
524
207
59
804
72
745
764
568
511
199
284
361
490
651
138
569
714
328
872
154
174
565
712
325
39
317
402
68
984
360
689
525
879
492
245
241
123
192
487
989
280
481
154
230
884
356
967
935
415
601
260
379
119
236
779
820
796
427
806
287
845
335
745
796
162
704
45
889
610
348
390
791
743
723
822
180
541
126
952
960
66
352
37
455
306
30
193
921
30
948
35
511
385
348
889
946
882
396
583
797
911
379
775
59
105
797
721
616
836
109
43
298
578
436
993
252
599
326
407
404
480
719
620
632
136
429
834
696
551
138
350
963
677
340
842
270
634
85
11
176
691
240
421
786
745
133
499
366
930
813
142
499
212
623
491
527
30
705
64
460
471
756
760
396
73
871
404
499
32
876
749
144
142
171
624
369
929
159
188
336
408
296
450
937
461
640
714
529
202
349
507
391
160
121
656
348
594
105
779
868
187
521
173
985
40
41
86
291
229
571
265
62
723
130
558
860
821
42
953
956
437
201
622
418
965
253
586
481
854
699
120
172
185
349
68
707
9
656
591
596
711
609
903
266
730
274
339
162
350
190
502
578
451
616
667
924
43
700
142
885
402
130
815
973
225
84
95
799
423
22
326
480
948
329
321
243
86
56
267
591
577
68
751
711
251
937
156
557
227
168
568
929
497
127
762
708
774
304
917
659
71
315
706
649
987
495
56
502
815
940
943
530
146
39
537
205
112
720
938
363
237
463
540
821
832
730
111
319
695
921
738
707
714
423
348
55
753
665
46
727
830
754
473
262
264
933
379
837
729
558
576
911
979
656
734
788
230
607
282
130
141
810
697
134
168
598
960
100
281
944
251
216
46
514
396
215
109
347
455
136
430
886
363
516
355
107
834
215
822
100
549
902
377
151
871
412
210
11
364
581
785
689
313
520
254
849
571
420
8
316
885
917
838
637
451
362
196
328
65
800
429
944
802
663
737
831
653
236
86
734
797
387
696
63
158
525
355
965
779
662
986
361
783
418
697
63
450
64
472
280
0
872
381
307
587
985
446
498
80
306
393
197
291
470
653
940
435
84
275
467
499
255
324
513
206
574
634
250
176
405
346
216
242
795
134
652
837
522
641
861
632
990
817
378
656
985
607
74
506
814
878
65
594
933
58
520
394
852
679
484
676
882
588
698
155
792
545
648
247
639
124
853
155
16
349
946
545
345
372
662
841
917
985
226
453
660
827
117
304
575
823
712
708
339
27
815
473
476
761
692
353
325
389
448
651
254
731
840
778
486
483
116
283
64
976
395
35
186
946
920
62
48
968
957
437
834
675
143
833
683
124
674
224
79
117
322
675
695
891
129
754
459
936
52
253
814
452
370
990
958
738
17
726
577
756
615
922
279
176
84
15
742
658
425
324
248
123
276
248
168
629
495
706
921
957
799
280
521
968
114
891
308
491
995
308
220
797
299
490
230
853
277
911
878
843
239
652
823
702
777
530
311
905
837
671
474
290
376
490
508
680
469
284
718
363
857
889
138
23
840
830
278
746
769
392
810
565
677
23
50
850
122
392
533
767
899
371
438
25
959
655
256
582
99
399
491
107
927
219
720
230
693
813
503
945
681
96
690
719
70
425
900
865
475
728
587
124
272
647
975
894
718
991
181
653
791
548
468
692
264
616
574
171
233
539
222
599
367
443
985
914
96
81
95
818
480
709
997
814
601
291
814
362
838
813
49
298
949
740
374
229
90
916
131
126
363
5
687
89
830
905
627
896
358
829
392
807
12
767
437
575
812
422
346
760
124
231
709
93
226
363
837
599
272
836
724
309
580
173
852
748
779
794
157
471
498
536
758
559
96
473
386
82
83
952
653
378
529
332
64
411
732
122
277
391
647
704
893
726
523
113
863
8
904
944
999
530
173
48
513
845
641
830
584
842
800
212
101
925
740
257
747
534
111
806
473
18
923
604
381
579
340
51
886
538
278
902
404
939
588
965
593
166
869
740
950
852
367
730
7
915
281
26
574
79
20
939
776
335
380
439
206
81
255
633
716
183
335
890
259
885
288
765
889
484
110
659
323
473
449
841
295
547
701
595
461
19
700
355
815
266
60
993
158
960
186
958
687
690
691
36
102
845
958
129
307
659
144
660
991
48
759
2
15
212
784
417
285
317
966
231
407
452
668
144
572
645
689
648
537
33
294
49
350
315
53
91
733
781
408
190
144
642
785
955
886
378
662
789
480
906
813
448
785
403
160
318
574
554
673
43
559
681
191
355
166
646
315
230
928
139
226
594
485
764
203
402
422
690
459
733
33
893
838
625
197
50
342
243
707
719
447
316
122
891
693
596
263
400
567
47
981
321
890
893
64
838
470
480
667
4
717
725
492
359
205
640
418
201
772
392
132
446
18
622
161
246
549
532
118
810
457
961
1
647
205
821
942
133
776
642
451
424
931
457
845
759
905
330
68
153
496
104
286
519
920
589
489
546
133
576
122
958
746
141
782
379
658
134
941
282
796
466
566
309
710
191
940
941
628
295
351
189
359
481
513
480
977
969
451
52
275
300
293
256
332
942
927
798
720
684
41
684
512
488
119
249
674
381
0
560
760
485
186
271
5
774
800
86
804
614
20
35
183
158
994
749
614
405
592
549
99
281
92
936
846
665
141
739
894
13
902
768
849
754
832
700
376
622
222
685
620
361
484
376
244
620
136
91
464
77
706
928
871
233
775
330
23
716
486
272
746
108
658
332
886
44
295
3
237
841
114
318
532
602
988
734
600
601
928
507
800
934
575
538
117
375
999
100
230
792
144
712
530
170
413
883
162
49
914
958
995
894
64
426
166
677
848
797
263
169
196
676
41
883
789
324
936
360
301
62
137
446
933
809
889
159
631
364
584
421
570
64
29
720
748
574
862
793
301
337
313
98
174
248
527
60
664
299
846
130
223
98
516
701
310
112
290
463
180
780
236
949
608
431
808
696
751
983
868
518
620
485
811
511
909
301
222
718
865
452
489
115
408
610
848
257
466
821
304
565
250
964
581
339
413
249
154
4
966
853
532
980
907
661
462
126
58
228
572
199
369
880
848
487
85
288
845
453
92
250
153
179
178
876
486
14
634
91
940
143
738
499
677
947
674
64
830
611
767
720
676
546
250
176
907
238
678
522
373
919
497
57
528
3
294
325
859
974
851
731
843
849
503
132
801
3
703
412
263
835
693
267
844
729
377
290
746
177
861
904
433
917
187
177
467
70
482
102
826
444
418
613
514
245
747
623
637
161
720
97
291
697
835
649
581
421
615
911
991
839
734
821
930
463
905
706
212
702
405
728
765
966
892
192
90
1
893
480
79
407
116
876
916
38
362
163
440
320
462
971
794
960
114
220
496
184
943
413
106
359
883
597
409
825
757
765
346
723
744
606
361
642
923
258
186
95
827
242
806
793
176
71
160
457
335
328
671
751
174
613
689
128
266
121
535
585
763
686
250
567
72
432
275
510
663
253
557
517
171
543
345
160
114
420
941
48
116
907
81
901
463
779
277
411
473
501
412
626
417
737
597
289
108
258
353
36
323
978
25
858
766
290
192
889
886
229
848
867
417
50
305
491
33
790
737
279
650
842
887
159
596
476
389
479
19
461
19
962
291
42
634
665
456
790
999
79
790
742
128
393
414
616
739
419
322
262
173
679
272
906
745
554
919
222
285
729
459
709
848
674
746
399
856
812
598
859
684
655
394
953
499
560
397
690
682
274
746
454
387
234
957
159
922
311
719
781
174
854
716
742
496
337
696
740
39
101
0
459
162
913
762
565
839
434
799
8
919
166
744
738
585
60
324
386
440
694
406
291
927
346
258
885
544
262
494
260
177
467
607
681
914
860
148
880
971
516
261
725
557
758
53
208
529
766
736
45
259
471
798
452
649
62
197
314
756
304
142
839
520
274
436
748
903
564
647
103
903
763
787
310
220
562
140
293
245
302
156
209
127
463
712
114
923
147
160
420
594
140
990
333
995
774
409
842
279
350
823
157
654
593
300
236
673
531
746
580
141
18
671
463
504
316
709
421
487
549
899
570
309
974
1
473
957
30
977
914
750
998
224
449
430
272
319
644
206
835
71
165
370
70
930
926
703
369
430
923
387
869
37
658
931
6
319
420
357
238
475
169
778
339
210
529
107
921
519
487
361
646
154
456
260
348
174
326
693
777
672
621
352
679
604
501
936
201
319
243
73
435
153
958
779
886
802
873
288
952
509
439
157
260
788
140
224
944
832
657
465
432
407
939
21
889
763
563
638
52
177
362
552
304
588
775
512
555
953
329
453
957
404
374
548
237
78
918
557
733
998
409
302
537
287
231
368
376
360
631
433
261
330
914
525
898
707
979
877
591
345
596
755
591
701
944
910
251
600
153
97
65
546
212
24
980
803
636
904
426
494
978
556
109
757
149
957
557
107
756
276
278
289
88
442
929
867
892
766
325
285
10
635
557
658
686
112
425
157
63
77
42
498
322
238
692
280
638
13
421
992
750
253
820
824
119
89
268
175
745
480
306
29
963
479
110
189
813
726
287
491
172
364
557
760
269
383
956
593
14
164
726
295
78
564
678
413
732
136
891
285
881
240
577
239
75
891
378
21
408
937
679
793
961
930
287
712
921
786
536
947
410
115
774
973
830
679
623
438
154
468
914
385
116
565
19
747
808
615
496
354
230
747
770
522
709
456
255
730
665
795
416
343
125
875
442
565
294
351
326
252
398
970
107
574
357
351
283
992
514
987
107
738
131
414
425
527
346
144
474
329
306
85
408
976
262
272
70
812
617
515
399
712
110
942
12
121
156
650
702
89
837
961
487
412
304
108
694
551
599
731
489
640
754
362
333
48
392
915
837
732
3
397
821
192
953
691
301
406
760
767
826
997
985
844
765
958
418
251
205
352
974
337
323
77
346
797
984
763
48
603
329
231
379
509
317
649
688
330
5
681
736
12
451
867
566
859
798
845
559
111
412
747
441
997
370
618
621
552
263
414
454
544
187
306
393
610
887
467
950
500
38
378
841
196
423
669
252
948
538
357
628
474
156
543
603
742
94
348
669
313
686
650
225
591
692
701
123
649
760
766
795
121
317
432
920
990
555
472
724
283
580
759
962
321
145
852
614
246
960
221
270
424
921
374
231
394
447
253
925
584
885
500
584
814
684
484
851
123
706
207
765
302
382
439
29
958
744
656
912
229
426
498
576
950
759
82
566
586
805
271
956
460
543
487
326
739
585
668
652
583
245
257
629
354
179
910
684
787
616
142
536
937
506
824
987
437
849
768
568
967
693
507
638
254
602
392
817
933
625
43
834
181
839
675
443
852
823
985
34
939
354
248
561
717
718
641
412
196
97
723
861
377
929
976
931
994
46
621
1
361
641
518
412
760
968
54
50
793
858
620
642
338
823
168
571
903
515
747
881
302
268
855
169
452
308
2
485
216
73
832
21
703
293
610
61
937
216
709
994
302
836
207
112
959
619
844
289
584
960
868
466
213
285
3
851
352
893
160
370
747
959
58
696
804
316
296
334
550
782
1
475
906
590
813
645
523
488
137
333
687
351
887
991
898
283
147
256
110
445
480
31
994
657
554
620
616
885
223
865
6
575
265
422
737
520
427
199
2
741
879
49
772
287
349
689
277
957
810
950
131
656
805
56
10
742
54
553
412
944
952
134
413
303
148
997
869
598
157
678
643
249
849
843
859
107
121
962
834
203
969
322
711
591
614
722
408
544
481
917
966
209
713
209
163
82
496
537
993
171
569
56
94
713
280
580
114
635
658
220
115
879
604
799
245
765
738
763
962
656
311
99
714
222
209
845
23
862
728
302
606
228
872
36
797
825
209
652
904
921
786
65
95
199
747
598
784
940
84
787
992
174
423
677
970
374
788
455
573
481
532
717
814
125
31
502
166
537
185
804
271
515
117
143
937
924
722
836
993
396
853
218
95
669
613
178
545
440
832
474
470
460
872
347
844
863
796
429
227
28
529
590
400
817
912
657
26
701
959
819
609
504
231
611
244
787
563
15
148
585
550
583
688
286
919
413
62
93
797
715
27
376
145
466
899
756
46
442
985
962
440
108
938
436
630
385
842
56
718
353
665
718
801
848
621
924
714
261
557
521
41
969
518
614
473
736
914
737
605
385
191
912
177
904
667
874
875
896
489
522
303
495
137
717
152
626
365
765
28
877
803
53
673
261
178
331
609
71
980
627
239
945
98
95
943
883
383
169
993
599
502
924
27
180
752
77
837
695
390
324
714
584
989
261
106
324
596
347
31
789
330
803
464
639
757
60
5
221
421
218
491
327
27
146
224
855
35
818
358
357
646
230
778
354
414
735
553
50
280
860
558
481
910
120
737
722
194
298
877
83
529
774
187
98
955
869
117
121
356
66
829
902
419
212
838
515
543
57
415
364
739
454
308
492
737
732
494
481
772
144
159
472
582
558
717
984
833
12
256
872
857
736
296
11
120
745
570
783
771
932
49
413
370
737
961
141
486
1
761
498
291
565
606
95
731
608
240
936
312
187
730
418
663
746
748
522
366
76
846
991
463
811
887
628
773
336
440
27
871
559
211
596
623
836
624
185
891
126
862
597
316
453
708
765
965
177
173
851
644
564
70
328
755
329
395
467
987
579
818
364
676
477
800
904
174
596
523
425
428
709
864
324
18
288
998
215
322
839
711
235
618
603
532
608
785
435
17
812
870
353
592
98
973
973
544
801
421
485
177
623
28
784
176
586
364
484
841
853
389
335
117
681
237
21
733
645
267
150
329
2
470
110
652
29
625
50
53
582
910
694
74
763
72
733
991
463
295
37
260
323
355
48
193
109
40
415
629
699
54
330
238
397
650
575
270
673
610
629
438
219
618
915
446
91
759
585
408
288
575
446
882
556
764
100
790
337
337
470
432
58
493
512
98
533
703
6
513
193
52
468
230
703
447
983
188
668
205
812
167
745
871
815
620
560
260
396
444
248
581
36
990
290
114
872
318
453
479
423
362
564
797
272
443
850
532
624
71
767
644
987
249
825
179
516
251
214
837
281
723
296
454
786
918
592
915
792
979
356
344
492
995
165
792
187
685
545
180
815
875
937
60
81
827
628
109
788
472
901
936
857
327
227
185
523
888
112
308
292
317
101
496
784
291
400
379
741
306
359
670
201
923
932
791
295
954
686
86
619
582
797
862
975
533
31
474
229
415
211
258
880
964
907
674
168
181
960
489
988
367
379
18
322
324
617
456
455
87
699
195
496
533
730
474
589
146
227
760
410
890
613
244
631
379
503
371
937
885
271
628
583
422
963
675
175
678
649
521
474
785
567
467
137
607
954
256
815
940
267
230
937
766
888
482
195
442
264
568
252
186
299
382
772
137
766
148
540
712
368
844
180
36
190
783
574
519
550
992
454
648
991
711
550
703
442
127
14
252
503
147
785
878
979
800
455
230
413
713
483
535
732
690
403
823
697
822
150
235
257
406
262
498
913
589
901
648
111
913
268
181
304
991
363
242
729
728
714
646
559
670
289
198
346
122
842
85
239
939
525
269
300
574
238
884
895
129
232
374
345
225
707
53
652
627
496
427
688
105
855
151
812
308
847
9
785
32
75
541
357
160
740
974
246
612
47
962
856
597
515
815
838
861
96
181
984
131
982
204
311
338
594
657
193
911
994
594
395
362
897
855
742
497
700
599
550
726
72
217
501
217
529
268
207
695
328
802
14
582
723
863
908
820
688
511
120
750
115
245
749
761
635
446
168
532
525
434
479
123
946
757
713
718
125
343
525
966
450
910
903
963
805
866
835
369
466
251
305
544
404
455
76
892
567
609
978
832
592
118
884
505
335
656
380
735
702
92
402
290
804
675
132
99
155
832
201
396
911
882
786
632
479
570
883
217
546
781
588
933
274
91
652
316
136
132
642
544
685
432
588
955
262
238
587
163
723
605
193
793
370
254
0
984
189
606
577
505
356
19
772
800
706
748
474
987
553
238
8
717
229
141
662
643
937
289
962
45
22
593
117
281
706
870
67
827
708
304
285
960
815
236
955
689
177
736
576
443
713
952
112
258
707
174
570
330
947
695
984
291
155
901
644
414
534
508
244
287
315
446
433
22
621
86
593
342
403
916
893
58
75
42
705
784
875
636
63
289
603
916
589
216
163
72
888
827
757
435
405
687
730
456
913
950
571
684
624
112
629
887
479
789
932
964
982
166
663
344
367
484
836
504
403
825
246
984
19
692
268
228
419
649
437
241
717
665
510
105
506
617
246
213
628
949
477
731
390
533
908
961
106
703
346
168
978
604
649
74
400
313
368
610
971
631
349
538
700
917
409
66
451
901
852
78
969
540
969
119
238
585
473
277
898
827
119
937
633
136
141
752
785
30
536
130
954
944
788
342
868
660
98
211
202
277
964
610
478
222
334
209
383
208
632
245
914
754
171
741
638
878
470
152
936
752
865
837
850
572
811
55
650
654
104
97
44
374
486
350
390
889
664
105
444
714
272
444
813
851
662
922
432
44
977
445
754
176
450
940
33
16
588
100
881
418
164
650
594
925
838
908
79
578
347
745
990
154
607
556
364
472
810
877
187
74
918
851
345
151
290
561
150
332
801
437
117
11
8
275
550
713
816
31
18
229
997
298
71
992
496
216
640
926
637
5
386
352
112
735
552
973
792
337
188
579
482
187
538
683
579
853
815
76
465
805
359
875
179
647
284
986
461
977
41
254
455
293
550
329
485
803
914
152
99
980
885
277
857
56
848
257
498
95
956
191
243
318
631
433
710
795
294
721
458
86
981
355
305
582
283
44
73
770
7
971
438
530
404
890
807
179
857
502
823
435
761
198
107
726
864
41
302
147
818
228
147
358
977
492
371
898
936
501
728
63
714
738
264
394
749
615
613
862
196
219
573
94
396
202
858
314
612
968
51
295
289
299
605
327
292
341
472
11
627
210
599
650
194
515
256
841
704
237
216
56
511
737
312
664
393
976
974
350
758
560
826
634
139
758
919
264
963
856
25
475
783
214
295
532
405
74
933
26
403
10
229
785
840
699
18
435
211
172
102
301
51
451
676
850
575
901
921
652
776
402
299
960
863
106
693
825
486
270
420
528
166
108
860
9
295
311
831
248
198
523
117
802
796
790
1
737
871
585
732
929
661
395
212
266
921
655
474
619
687
454
624
209
901
631
259
383
87
775
576
2
771
464
784
367
819
204
473
449
29
1
464
409
517
544
820
183
350
27
390
591
728
149
474
935
697
774
710
197
469
785
365
303
348
890
668
390
988
535
365
315
907
335
626
825
77
415
677
242
671
751
915
419
928
180
117
342
425
734
657
419
632
807
328
754
473
861
369
831
627
304
850
353
614
219
587
397
253
379
972
796
921
720
694
423
95
278
30
200
124
520
406
562
758
733
495
981
23
541
761
288
424
424
502
415
398
345
922
637
383
753
744
193
418
580
658
895
214
444
725
779
418
179
785
346
364
99
83
104
686
770
40
872
817
111
761
515
626
239
126
518
910
948
72
388
257
954
131
21
390
123
968
382
353
172
64
747
683
906
121
915
790
609
159
614
342
514
367
287
398
993
264
215
259
823
723
160
370
949
772
937
876
630
365
981
694
299
778
132
851
103
634
526
700
32
645
200
908
52
101
118
824
653
768
96
260
252
808
356
386
26
507
345
122
677
90
130
481
981
14
733
672
171
616
403
41
636
890
466
286
771
701
21
14
715
955
646
392
667
769
514
396
855
249
195
703
423
177
428
149
291
317
718
69
690
611
464
224
976
912
631
171
958
848
31
848
656
395
482
519
438
345
23
444
820
701
731
684
571
413
325
349
226
277
900
159
292
154
699
281
962
827
193
250
177
900
260
955
521
9
18
508
328
678
721
425
11
62
592
196
173
97
940
504
408
227
140
359
431
481
364
190
449
731
706
663
428
91
88
72
635
515
924
509
625
337
572
769
144
515
829
704
110
132
364
31
134
827
987
332
944
954
950
108
324
990
391
482
60
38
491
599
505
712
975
683
161
576
154
226
178
224
374
399
986
24
764
315
135
453
87
265
784
455
847
556
479
640
330
772
113
475
447
78
292
338
160
463
565
294
551
760
863
210
4
170
539
312
188
945
190
902
534
802
84
80
540
769
869
965
566
593
17
283
922
84
978
438
437
470
69
0
836
279
806
726
120
332
479
887
568
916
845
725
267
671
532
475
975
689
501
319
907
458
608
333
937
127
570
270
448
27
290
770
294
80
930
691
867
48
960
741
53
102
57
61
229
719
978
213
126
969
779
848
27
785
680
52
946
480
346
640
204
493
104
834
772
316
700
23
763
874
990
255
958
880
392
102
852
533
387
602
904
266
408
99
641
852
701
756
357
23
331
132
465
258
494
599
488
190
653
449
592
71
808
251
864
611
412
326
670
79
150
432
177
384
58
249
391
820
269
667
842
290
161
893
341
486
664
406
464
872
576
532
250
294
716
800
526
992
608
996
257
159
99
508
501
182
86
271
905
752
40
986
586
581
407
115
522
52
301
319
72
541
52
445
341
9
106
622
918
560
891
716
489
934
529
241
653
226
123
808
634
114
92
650
24
38
875
313
774
184
165
376
108
361
439
87
783
793
738
905
113
53
312
28
719
449
369
69
92
109
275
785
854
883
630
354
357
967
11
269
789
180
205
166
153
385
840
921
390
698
995
22
310
353
481
502
649
10
553
531
126
278
882
884
751
830
911
78
981
395
197
867
225
47
531
957
866
280
508
92
813
926
95
678
414
361
627
225
535
129
405
640
399
198
360
555
187
133
118
623
970
607
473
198
10
458
721
769
952
422
597
642
179
569
344
836
11
385
164
232
199
193
803
417
604
957
510
245
934
930
317
674
877
386
205
951
791
882
487
246
836
644
391
637
528
364
458
805
741
363
997
489
107
883
768
629
711
218
38
390
34
224
447
218
360
349
414
605
904
896
531
566
788
724
116
574
884
283
525
453
845
398
512
512
413
437
106
273
878
953
804
528
458
233
259
250
461
155
376
549
709
882
131
54
1
188
987
209
955
446
204
848
170
592
939
62
482
680
524
126
469
492
785
718
710
987
724
686
538
860
642
155
951
277
742
416
451
61
831
633
423
102
547
761
617
868
352
580
811
999
481
687
71
902
927
217
101
915
390
741
436
698
221
633
132
263
834
964
150
838
555
850
641
805
826
822
285
944
460
390
828
305
668
620
4
400
263
748
204
420
603
186
88
550
455
45
566
407
171
106
774
835
952
877
674
361
48
957
188
230
92
408
956
996
536
615
310
89
297
637
633
719
651
868
313
805
466
23
529
729
325
28
198
586
827
952
749
50
966
797
436
470
812
192
252
571
766
409
374
136
967
723
737
957
49
783
644
118
572
801
545
653
2
426
245
750
72
360
986
910
955
458
743
41
151
636
842
321
229
471
260
511
165
655
195
15
709
944
474
857
249
369
44
347
713
719
89
293
647
694
695
13
929
839
950
521
412
689
904
229
155
291
485
705
766
358
344
57
504
297
963
62
708
91
751
322
760
840
689
894
76
971
409
818
608
524
830
568
539
710
868
38
383
791
585
170
827
969
119
666
874
554
986
225
988
965
168
24
971
900
146
343
841
14
891
416
824
347
395
225
758
371
685
427
482
999
274
358
229
77
252
790
595
521
560
599
750
539
223
814
524
451
239
151
630
766
504
140
864
53
247
571
412
645
620
366
922
430
601
358
119
967
611
954
344
312
66
921
879
381
469
845
336
828
340
774
413
41
138
962
876
686
637
529
945
585
993
617
496
507
706
569
852
67
470
191
805
162
527
804
357
133
942
283
464
920
425
87
753
499
716
682
807
244
102
765
971
472
478
53
585
997
86
175
351
780
755
318
125
11
393
396
307
301
750
684
104
124
151
53
200
367
978
918
12
55
763
803
993
476
472
595
188
857
986
293
214
740
923
67
285
455
749
503
284
552
320
881
736
365
945
86
931
549
472
309
403
607
353
606
531
444
183
949
556
492
270
236
662
31
593
765
903
324
460
160
775
244
91
228
964
58
548
691
214
941
811
221
49
424
483
629
679
836
444
923
690
369
683
913
511
459
105
812
663
3
878
54
64
528
389
411
349
872
735
867
762
878
846
258
364
254
408
598
370
256
629
130
523
119
436
928
970
524
750
509
214
926
961
554
831
876
346
132
741
660
199
458
740
623
236
675
709
477
754
447
258
279
934
478
206
131
754
928
644
424
35
847
275
253
928
554
480
360
248
162
607
670
301
648
432
264
492
865
480
242
449
246
653
215
568
358
724
31
431
611
28
174
644
177
426
422
645
889
172
89
472
972
730
380
222
198
647
606
820
787
758
634
507
813
44
99
362
481
880
335
893
91
254
742
379
299
660
850
176
321
422
371
482
294
123
865
434
460
262
654
483
29
820
119
979
855
290
452
518
839
977
217
31
607
157
770
183
340
834
967
34
427
819
225
910
767
714
985
887
119
150
648
701
534
417
959
125
169
721
227
94
366
386
904
154
958
991
530
892
418
281
372
19
2
333
793
120
982
863
109
863
954
15
227
277
302
841
695
498
884
135
700
606
663
680
701
625
197
977
247
242
212
758
77
740
479
323
786
39
127
232
173
775
397
148
98
713
673
524
716
125
469
754
833
366
133
3
645
329
327
154
519
467
517
648
799
347
285
144
491
588
569
427
471
475
81
659
346
314
750
113
788
107
100
99
766
394
31
280
654
208
460
647
428
231
7
504
301
978
925
986
922
812
194
653
554
370
89
467
133
78
315
345
359
240
487
689
708
508
361
505
796
475
141
268
91
704
376
145
597
306
386
734
839
956
916
966
387
585
386
814
502
895
465
116
296
126
607
198
407
115
858
646
731
104
952
740
15
971
502
359
493
838
678
339
810
344
607
648
392
212
602
877
992
177
71
660
674
79
693
207
277
197
133
650
56
534
59
19
435
287
959
574
190
605
13
292
224
493
20
920
552
793
884
136
188
28
227
22
990
486
537
271
312
485
567
296
99
483
187
694
629
994
415
431
679
529
972
892
915
627
882
767
995
960
228
581
309
380
477
521
685
748
737
441
886
538
603
891
867
669
318
353
281
544
251
800
517
306
998
939
453
278
290
360
655
992
990
325
550
159
667
251
959
546
630
853
921
940
950
352
76
731
704
870
896
196
990
75
22
922
517
591
354
893
378
778
674
290
713
105
387
778
247
614
821
957
541
294
467
625
328
494
67
509
374
974
852
690
469
424
792
763
521
808
726
257
200
656
119
432
3
594
106
619
127
19
261
320
839
277
400
935
585
379
770
320
155
876
718
331
628
845
723
231
470
510
142
815
150
181
277
315
144
439
41
26
796
676
339
951
529
617
86
382
493
392
451
110
106
341
201
378
403
82
651
395
339
70
766
267
778
535
926
693
897
637
357
262
741
698
3
621
812
799
756
871
908
671
140
819
234
686
788
133
38
228
187
631
617
14
568
614
699
856
354
142
715
95
653
456
590
464
324
540
103
416
473
317
618
799
716
142
652
909
514
755
702
800
32
576
809
197
902
474
406
757
358
612
367
986
789
347
658
510
957
589
886
969
18
465
114
581
765
262
343
17
964
83
510
510
426
255
221
696
113
332
763
445
723
718
716
49
23
691
212
678
438
766
681
840
22
669
780
962
660
119
530
687
435
125
237
370
627
398
542
440
55
738
825
783
769
485
317
889
785
501
339
332
510
126
418
480
260
515
813
637
794
185
553
721
493
222
821
817
254
74
148
32
427
965
109
748
48
210
659
246
453
334
161
677
960
326
933
0
692
844
295
740
292
975
495
107
816
876
959
637
222
672
887
282
207
20
328
600
11
87
650
243
362
324
514
941
727
302
454
868
744
81
615
55
911
877
461
172
413
543
520
307
74
436
826
208
367
434
678
159
932
932
847
240
911
353
493
930
507
17
737
90
416
309
665
433
269
787
382
797
554
680
268
329
40
801
334
126
761
292
2
536
343
636
953
82
415
281
875
489
200
980
266
284
686
111
34
145
838
67
62
658
510
893
843
396
851
648
723
309
850
644
721
523
139
674
875
501
269
941
224
370
914
743
388
625
698
771
426
668
246
280
486
157
163
12
807
309
457
618
290
85
341
647
819
625
72
852
869
456
103
378
723
448
21
714
160
138
280
55
9
31
244
651
922
669
891
42
988
889
686
537
330
254
128
276
557
331
402
481
569
659
804
589
544
969
577
834
894
922
592
461
870
116
777
543
437
920
34
376
782
457
608
256
81
574
957
387
613
151
968
443
833
92
512
616
899
77
372
872
39
229
363
10
804
323
162
529
723
533
953
388
967
593
102
289
646
937
759
254
873
503
299
134
64
258
228
112
436
94
194
174
987
900
861
788
375
672
98
823
874
595
853
928
865
259
57
822
302
967
413
846
92
184
40
716
893
692
118
98
259
633
390
587
505
351
890
278
784
427
622
815
722
611
465
863
345
929
445
655
24
114
20
642
535
842
920
675
813
544
860
443
634
292
827
622
441
287
169
5
698
909
197
610
620
683
499
336
908
502
509
337
395
147
697
872
513
659
868
648
242
76
652
430
270
571
359
727
150
854
522
653
892
20
271
379
408
456
911
924
908
837
46
379
554
242
619
105
578
734
187
380
400
362
375
536
561
356
246
479
486
280
839
291
87
39
197
230
257
995
629
77
564
459
426
315
858
966
917
553
442
111
663
55
998
351
556
464
481
627
556
178
141
147
105
374
998
291
553
930
699
605
325
961
940
704
779
899
444
734
809
332
919
230
7
920
319
536
735
658
847
664
896
838
53
951
890
539
806
631
144
73
745
396
598
637
795
643
190
117
863
459
850
84
759
101
759
702
789
805
168
967
153
978
733
63
271
558
506
270
615
591
523
139
416
222
219
810
205
601
883
180
742
198
991
413
892
263
581
929
903
328
312
412
548
540
606
694
122
191
64
741
842
943
52
915
34
470
977
455
760
775
811
14
477
917
461
876
232
837
597
686
170
922
888
629
912
447
823
690
57
333
308
979
414
466
424
790
424
619
268
653
568
900
839
166
485
516
806
488
136
716
651
542
702
693
972
469
951
327
625
335
955
522
243
331
801
787
625
637
572
760
11
910
113
707
802
749
260
197
173
713
828
265
601
939
311
146
431
614
790
785
988
841
42
584
691
183
935
95
317
816
704
502
245
323
315
286
502
205
7
834
902
301
961
774
706
891
571
180
452
172
600
671
312
807
483
862
97
738
912
39
124
19
378
94
200
959
114
331
610
861
376
861
799
821
657
226
321
876
571
754
124
727
104
183
24
285
416
669
561
87
328
719
183
479
902
514
795
711
349
634
367
56
757
350
384
811
188
616
604
807
975
867
523
390
701
901
587
869
907
803
331
563
954
905
109
653
430
351
449
988
833
125
143
48
487
905
460
82
540
673
777
497
552
649
628
735
201
828
166
919
151
968
856
940
391
959
191
703
442
652
417
834
341
723
606
831
464
57
469
317
222
522
490
149
884
451
785
434
876
642
417
753
500
365
441
840
858
666
230
755
910
236
15
464
462
979
489
206
962
543
151
319
522
777
459
357
758
69
378
193
85
171
991
477
119
122
247
707
513
639
695
139
29
966
327
823
256
364
41
903
127
262
617
844
417
125
471
299
53
420
258
567
810
573
455
17
469
560
742
679
757
137
964
319
617
868
610
244
585
195
945
419
565
812
462
44
837
115
963
756
589
455
898
937
489
179
872
456
754
501
262
697
354
821
774
936
329
468
567
996
655
628
311
87
56
509
21
811
690
398
401
21
242
263
365
57
601
731
685
60
824
458
998
60
834
334
389
292
771
737
814
819
990
912
746
352
580
928
386
176
376
371
461
800
550
773
406
771
634
571
936
541
544
191
96
961
834
276
561
113
944
599
905
630
444
867
277
158
710
282
768
989
164
74
159
71
603
460
173
793
327
86
920
875
261
445
288
182
677
914
676
361
386
585
122
962
999
507
400
837
950
575
113
516
494
246
659
268
742
569
940
297
857
866
273
191
20
806
112
698
538
522
966
343
312
674
30
522
541
879
697
836
858
515
199
419
984
560
722
930
881
312
634
674
927
236
835
253
201
504
19
228
905
901
16
65
528
566
485
792
387
500
981
837
139
428
462
540
975
619
653
139
167
638
228
871
40
994
218
609
802
749
707
973
2
87
35
913
13
260
485
350
180
749
658
109
910
196
791
722
236
553
474
499
508
503
898
598
562
100
562
606
825
125
252
951
668
359
786
627
753
792
302
468
839
69
652
548
729
296
328
876
67
914
218
224
900
348
694
263
762
363
581
965
896
856
514
46
567
591
63
103
849
102
514
557
859
725
460
596
349
939
66
74
517
23
798
130
666
493
57
170
437
120
865
609
644
879
930
525
465
166
156
917
680
507
674
763
257
318
876
691
100
437
82
87
509
615
572
335
845
799
71
8
747
36
972
970
48
651
521
791
924
538
687
238
56
210
309
81
75
765
188
858
593
493
491
293
328
264
638
863
121
382
579
596
472
503
744
523
115
437
769
591
758
257
231
42
160
699
918
776
241
913
914
130
192
108
13
164
195
550
731
862
847
965
269
14
942
720
552
491
734
807
422
140
11
192
789
231
322
718
680
5
512
480
526
721
931
90
506
608
86
370
351
304
374
187
25
404
121
59
235
506
964
586
395
888
390
6
611
541
556
527
219
91
553
582
128
873
475
944
641
503
693
691
487
313
637
113
653
255
752
883
852
348
100
81
867
595
965
159
777
773
619
151
731
301
151
154
819
220
501
703
800
648
150
858
751
132
808
959
779
263
17
232
133
873
241
245
445
575
331
258
511
98
639
601
574
110
555
339
425
97
527
777
4
816
534
938
423
929
282
280
104
329
327
8
699
455
50
816
463
961
935
64
443
50
212
864
864
141
562
363
802
148
325
263
588
924
349
16
110
950
790
156
488
717
176
352
940
35
752
14
748
80
877
617
404
243
323
550
699
157
871
696
560
564
955
415
988
909
874
22
724
882
235
169
519
225
576
757
200
918
717
477
521
396
547
13
339
891
660
292
705
256
29
423
453
815
42
161
951
156
421
673
865
357
813
808
689
868
134
628
431
822
47
950
295
620
432
698
22
777
432
756
307
718
984
894
653
708
539
721
958
688
943
664
996
89
792
600
483
0
280
357
419
984
291
52
105
49
499
340
209
193
499
913
777
542
928
624
308
624
262
695
589
969
809
647
93
692
870
633
428
686
249
142
84
489
232
881
706
180
989
599
720
701
279
481
256
679
623
941
252
701
481
342
832
344
976
193
55
894
172
326
68
83
478
465
941
445
800
474
11
488
73
741
860
640
673
813
445
938
394
861
925
996
105
273
802
304
842
185
519
971
829
820
337
663
985
249
758
743
61
401
77
999
115
849
289
403
88
476
361
830
703
71
154
315
631
991
871
630
576
855
159
106
896
676
803
175
188
506
24
152
351
533
760
465
549
195
757
369
146
225
769
226
454
316
408
966
770
681
239
285
745
283
980
457
763
743
45
162
951
632
565
458
546
706
583
383
221
626
950
893
435
864
600
174
433
826
545
817
899
281
124
230
336
645
949
723
841
343
400
618
614
865
181
946
749
701
719
810
259
482
986
627
189
523
145
653
317
975
968
0
397
893
736
245
496
900
963
155
621
242
43
92
857
678
149
209
19
648
156
720
917
416
512
265
719
727
222
298
77
592
579
334
655
438
408
162
971
935
149
59
458
650
422
6
973
324
87
602
415
248
737
345
253
935
636
840
32
617
599
354
701
89
447
957
285
328
908
805
361
790
657
192
814
12
783
699
257
290
408
402
187
484
959
827
634
267
740
249
256
479
429
524
963
295
536
78
754
749
946
269
286
991
351
949
36
750
414
92
376
442
476
817
111
302
694
789
790
758
12
275
940
719
493
770
36
982
325
187
955
1
928
88
633
59
986
604
949
103
392
430
811
407
606
829
691
615
862
47
954
246
200
557
550
92
24
894
198
437
532
694
148
124
667
688
342
890
994
173
167
518
36
535
144
347
57
583
757
837
764
127
788
730
729
509
630
414
913
654
123
338
515
475
481
183
791
312
544
129
843
339
533
427
594
859
181
497
998
643
896
342
850
645
487
482
133
709
387
462
897
883
819
850
185
838
765
45
595
748
848
852
593
6
901
991
492
103
465
9
898
818
696
105
31
433
763
526
362
155
517
363
12
994
886
832
903
697
79
137
983
926
999
508
22
205
0
246
215
119
721
425
707
985
10
666
98
239
815
11
72
68
518
566
627
455
293
291
600
617
197
515
173
468
341
134
202
803
594
465
252
569
870
457
139
470
123
808
300
671
788
813
411
586
704
580
607
217
85
808
219
872
678
651
393
944
552
23
967
307
193
58
80
995
37
776
246
537
654
2
113
48
694
188
616
461
558
589
237
894
734
147
355
778
421
864
1
634
976
909
582
297
309
785
932
893
374
320
529
374
15
586
604
798
641
344
215
984
527
852
968
107
312
750
959
458
258
382
716
737
407
910
130
737
521
431
557
721
459
933
192
975
44
460
621
805
742
695
88
78
485
856
949
877
823
412
864
430
669
797
82
536
973
590
735
454
782
863
883
573
219
88
85
483
240
931
571
370
233
284
821
70
497
386
582
856
185
305
883
452
602
362
687
852
869
794
549
158
964
264
418
896
98
265
979
321
422
220
829
179
951
253
840
570
203
148
201
810
760
499
310
314
248
487
44
53
396
953
586
548
928
756
947
89
254
253
915
505
281
421
915
430
49
903
824
771
917
629
563
301
89
92
380
956
896
27
730
200
992
816
698
901
507
93
536
516
676
597
391
761
715
122
545
122
881
12
792
521
468
418
852
513
550
960
241
81
722
279
207
661
580
446
17
619
289
574
267
694
773
896
640
343
270
909
608
934
622
738
763
587
336
828
963
208
142
982
55
668
823
409
27
569
138
107
520
609
781
610
911
292
357
873
503
413
709
295
541
969
367
708
220
458
251
793
883
417
75
792
909
913
154
628
399
654
368
848
251
406
683
753
550
935
921
998
872
177
795
672
82
984
599
234
748
489
340
780
679
160
239
211
467
446
919
440
425
35
968
339
310
123
540
411
20
592
640
898
26
541
561
839
809
490
978
499
879
833
858
158
499
752
299
261
492
394
32
987
700
629
479
222
439
703
268
287
678
955
439
606
432
383
617
213
757
535
166
183
491
543
179
870
716
846
393
865
535
671
43
767
380
227
926
399
180
982
839
149
964
756
579
55
290
986
66
728
178
98
475
618
617
510
124
718
619
582
503
771
976
223
554
551
296
597
599
496
0
879
570
587
993
197
440
798
742
383
92
547
651
713
1
140
970
598
449
362
325
465
1
266
534
319
81
96
863
735
328
714
336
773
984
483
638
129
795
313
563
293
23
357
788
560
739
716
376
497
587
523
368
889
524
222
187
28
283
121
436
213
798
840
155
804
745
127
28
179
492
406
684
833
855
16
402
392
429
534
626
627
283
580
959
834
350
618
930
365
227
645
488
235
435
121
437
738
658
522
937
227
772
224
871
147
839
84
152
447
526
426
473
434
79
592
142
718
210
69
752
353
542
199
406
961
358
499
123
675
936
364
809
353
828
354
51
101
916
710
302
109
566
153
633
345
235
420
807
521
590
602
757
244
707
969
994
115
715
708
248
345
504
701
982
801
667
561
271
807
386
538
587
348
953
766
204
245
73
804
957
97
689
304
541
566
125
613
441
394
514
485
857
645
839
465
84
380
453
387
370
60
355
651
218
548
938
100
444
598
201
177
721
759
551
765
583
422
19
667
168
982
660
507
469
525
919
899
342
646
843
66
534
402
503
0
102
334
842
120
745
608
529
435
224
973
611
571
172
889
527
320
95
896
925
752
203
273
166
438
587
495
730
881
873
154
66
721
936
529
90
796
678
669
485
89
445
107
576
473
458
197
382
262
502
925
631
369
798
846
301
559
249
916
263
718
621
402
738
923
468
72
87
697
795
615
647
55
511
803
124
35
895
85
12
294
193
700
69
697
603
914
544
854
273
315
615
230
318
496
144
828
486
464
708
278
151
217
790
68
241
341
272
427
346
452
403
722
155
110
602
215
497
908
62
382
772
867
313
40
398
151
490
743
635
303
264
950
810
524
932
450
440
660
101
397
184
100
390
333
967
352
5
952
543
388
478
149
795
208
142
402
374
721
673
928
682
614
126
38
920
307
836
320
873
973
36
866
471
174
874
418
990
905
680
880
929
648
968
644
34
846
546
292
826
454
273
318
793
157
205
836
275
996
489
337
280
987
451
169
666
399
639
213
785
55
741
613
825
263
681
637
917
654
676
599
108
342
149
182
533
156
874
143
2
619
29
300
805
85
967
531
718
335
941
8
275
115
189
781
993
34
529
514
922
461
581
785
340
527
732
330
937
163
998
94
21
105
390
848
248
635
932
521
284
903
33
408
898
305
318
916
336
405
462
414
353
824
29
939
582
958
752
423
361
340
953
403
239
282
243
371
472
29
975
670
597
827
403
523
682
407
533
497
857
460
260
851
945
79
814
522
334
646
247
296
482
500
912
748
620
393
25
412
454
636
251
98
145
418
610
498
150
258
20
861
194
699
387
247
610
618
8
448
885
990
255
133
556
62
62
771
280
505
26
148
978
530
268
742
437
320
878
937
731
606
546
205
365
122
306
670
966
505
926
966
905
333
75
519
736
283
73
323
935
828
99
88
814
425
882
188
604
948
14
669
657
715
494
176
966
789
314
124
749
18
61
633
449
50
583
205
340
728
535
289
194
450
347
315
515
372
156
363
277
28
872
739
310
818
676
899
462
322
571
94
435
428
137
926
510
24
940
792
506
231
672
179
745
354
131
169
867
925
876
247
876
709
551
533
966
775
13
968
175
321
161
286
909
82
818
853
714
517
802
388
834
312
162
839
64
999
109
274
284
944
375
959
45
916
680
419
690
707
880
403
337
742
645
946
551
80
815
591
385
650
203
976
646
399
118
977
713
602
612
769
803
714
959
609
751
247
136
500
768
298
898
5
858
204
994
8
317
568
750
624
704
382
381
84
71
151
780
839
88
151
39
549
629
850
249
209
657
175
231
583
65
847
902
981
479
36
743
762
77
569
800
67
771
146
929
0
573
603
679
723
428
192
954
141
10
958
948
172
378
955
626
892
314
185
956
784
220
83
774
318
478
93
332
676
964
328
584
966
579
122
18
679
143
936
793
736
693
297
325
943
766
340
812
535
525
736
14
399
836
998
240
459
234
982
821
120
495
136
740
922
240
543
159
317
54
783
763
111
640
537
813
919
594
900
138
695
469
793
319
828
346
87
52
539
696
403
708
718
636
824
461
793
877
433
972
90
842
154
100
377
727
866
641
557
230
741
724
381
683
299
367
641
556
553
18
807
588
645
397
967
692
91
810
904
202
876
159
355
313
504
976
755
844
490
11
10
131
642
775
869
605
479
470
916
438
72
476
387
515
943
644
893
686
743
235
59
427
316
562
774
653
177
776
335
798
997
4
949
978
1
471
202
305
651
739
608
699
913
124
327
320
522
903
762
876
311
160
862
970
409
458
88
251
213
952
735
737
881
939
119
402
206
59
579
657
834
22
744
297
853
879
880
668
570
658
166
774
788
863
910
283
475
233
455
293
861
590
121
492
853
59
431
664
2
952
866
27
340
527
843
231
391
321
390
210
195
888
952
727
349
470
988
212
799
464
772
450
497
382
983
577
400
689
416
517
695
909
891
602
927
773
662
697
763
929
751
561
607
319
358
311
242
85
507
92
937
334
33
705
617
393
769
190
336
39
260
303
336
656
933
694
333
380
456
446
255
182
332
32
104
280
904
599
718
959
358
930
663
873
702
745
969
356
81
516
202
885
842
852
821
455
319
523
904
204
352
442
622
21
368
257
678
202
175
987
119
913
488
256
748
407
211
564
784
230
813
949
678
831
384
949
476
894
831
480
807
651
489
85
377
942
159
113
423
552
149
617
28
313
137
127
747
538
684
281
523
720
307
170
908
657
752
343
484
95
658
915
520
381
553
677
864
817
184
308
675
115
944
391
255
470
960
44
807
923
179
560
881
325
343
943
754
899
896
426
794
731
932
513
563
373
680
785
322
971
164
683
362
593
952
447
458
266
407
969
364
747
853
415
437
483
551
633
21
315
290
692
521
830
651
383
413
451
900
600
587
54
139
333
426
752
597
727
411
786
223
67
81
46
807
650
301
102
268
559
31
304
987
918
828
804
235
869
615
939
97
590
627
242
354
907
756
500
622
307
891
652
666
149
319
84
932
695
986
274
987
191
696
858
775
947
540
907
178
922
364
152
318
881
883
805
902
828
858
744
573
876
608
961
686
180
412
675
797
589
438
971
600
967
470
773
2
546
353
10
180
605
570
275
373
958
681
458
355
209
387
741
46
1
636
222
906
414
380
303
335
423
786
313
232
840
228
908
89
298
457
842
833
691
281
185
206
766
92
368
476
261
180
699
201
532
284
897
432
992
135
277
65
662
55
592
164
911
378
376
388
192
252
269
413
846
491
269
62
360
236
487
240
206
326
4
343
122
398
175
439
501
961
15
782
286
823
853
469
462
937
740
487
680
613
144
379
894
554
501
644
894
499
398
850
171
921
931
932
769
164
679
63
194
518
436
515
255
490
165
772
585
172
575
578
657
76
914
884
922
676
200
82
361
188
554
271
407
912
110
847
305
307
343
101
979
299
314
139
676
866
661
854
9
51
7
904
907
630
754
3
733
859
125
593
30
73
164
625
831
665
776
53
68
201
53
692
628
650
428
823
34
567
843
652
694
367
534
745
728
935
494
320
987
949
59
505
355
183
423
501
923
247
839
398
982
667
382
816
173
60
538
711
595
363
85
349
774
823
131
579
273
769
146
569
311
877
917
616
998
338
830
717
604
735
790
292
21
7
651
275
361
333
583
931
355
933
53
694
765
611
528
711
590
649
682
811
385
425
873
430
7
434
313
858
608
964
318
300
338
903
723
24
974
181
824
681
501
719
280
921
601
27
267
987
906
556
223
757
443
249
775
444
993
952
660
718
10
350
604
327
513
843
562
466
169
60
827
659
20
568
285
561
583
387
435
515
391
268
976
825
61
365
485
690
384
248
609
227
811
688
139
119
434
120
313
484
933
121
738
59
874
607
299
751
353
509
592
979
259
552
886
589
709
91
133
778
236
481
965
420
327
654
103
141
915
19
677
872
388
14
930
763
135
988
681
509
381
976
760
501
895
115
638
538
870
724
124
614
136
246
276
654
68
610
994
741
538
952
165
399
417
207
809
742
775
882
287
134
898
920
717
308
214
252
65
773
30
96
792
800
604
570
489
656
553
671
208
85
250
946
422
29
896
74
892
526
639
446
494
890
117
448
428
594
480
248
578
198
235
654
574
782
375
96
36
152
639
588
195
970
449
271
571
416
208
384
881
883
160
301
805
296
653
492
684
563
759
816
422
274
153
747
828
559
688
4
435
46
267
610
741
937
733
482
519
584
627
95
37
205
483
954
765
43
733
893
615
261
22
31
546
859
908
685
287
457
416
570
743
469
749
97
58
207
942
882
552
418
331
695
708
155
550
195
753
787
343
287
568
896
911
965
584
344
604
275
110
932
157
550
794
919
766
856
889
416
908
842
706
379
336
471
994
388
223
24
21
578
37
880
814
158
510
390
283
276
362
487
439
788
569
231
484
445
394
787
214
132
841
522
89
904
184
215
777
259
911
908
933
834
738
548
838
628
399
255
942
703
747
454
83
827
884
470
437
242
376
329
917
165
256
117
586
195
969
514
614
435
645
608
400
290
137
146
342
19
494
246
607
276
152
313
796
579
878
622
156
709
134
623
557
998
703
244
832
641
728
750
488
236
691
837
820
143
132
502
733
250
249
852
832
597
161
746
232
988
135
886
759
999
468
824
722
304
623
296
772
322
68
262
509
198
14
327
972
574
804
204
219
37
1
594
7
55
149
216
407
313
391
835
424
763
538
193
897
574
962
261
644
212
30
931
470
307
370
772
582
283
643
54
348
921
923
799
438
358
40
468
541
121
289
275
398
666
858
312
490
515
727
980
146
996
502
682
638
427
142
155
829
534
393
297
31
560
734
936
351
74
538
644
343
529
950
809
468
612
531
565
380
632
310
690
800
265
6
931
954
205
101
322
146
623
838
809
718
615
165
801
878
427
770
668
177
930
774
860
39
390
538
263
337
648
68
112
985
774
749
424
754
522
311
644
543
19
538
299
249
572
229
466
979
691
796
452
398
244
476
855
321
432
161
284
701
413
656
175
355
138
268
475
110
859
955
603
737
134
749
126
497
767
0
430
889
172
754
262
447
45
672
700
681
957
257
541
810
812
637
214
556
684
143
607
852
328
89
120
522
908
893
735
622
412
949
875
321
461
932
2
609
856
440
944
508
47
649
387
383
174
731
148
228
3
105
483
412
614
880
261
616
500
930
907
498
653
537
856
421
365
116
877
531
387
85
708
790
117
569
198
617
653
177
887
124
106
987
296
141
593
71
390
825
37
987
289
422
689
227
339
117
405
406
488
672
419
977
432
869
161
963
589
226
171
189
312
409
519
66
609
532
395
614
803
22
560
481
998
748
916
810
80
423
696
638
475
86
371
463
731
75
537
482
797
729
190
587
511
127
939
80
227
121
538
319
91
509
619
623
791
721
481
136
305
426
153
58
966
924
691
58
846
954
668
717
973
428
4
661
299
487
663
910
495
243
10
536
241
954
340
252
420
199
770
114
371
639
429
586
380
662
394
502
635
26
579
12
305
664
414
114
713
909
316
285
359
289
878
97
707
723
771
988
21
221
855
851
599
656
693
65
383
797
401
563
4
696
872
911
383
626
140
200
363
592
54
294
765
201
134
550
583
300
318
653
573
458
953
884
501
639
874
335
229
622
276
363
516
534
909
239
602
545
388
407
924
290
545
683
393
317
432
455
372
82
129
90
731
48
897
231
369
607
592
410
551
210
216
774
293
416
641
279
555
619
997
747
279
843
927
570
165
319
838
407
912
682
533
905
749
738
40
961
933
725
829
120
295
486
126
392
618
796
732
111
449
859
303
332
367
573
937
929
787
938
244
639
305
605
998
939
17
720
942
381
222
207
463
385
353
118
247
251
662
768
454
182
684
907
710
98
1
232
1
968
621
422
350
156
611
320
814
957
754
423
970
410
469
124
80
32
23
129
883
633
128
478
605
493
382
982
690
18
645
964
124
662
331
897
951
552
306
519
488
176
542
94
811
727
784
555
573
245
404
63
709
27
153
960
328
323
78
675
904
578
861
921
941
887
955
121
577
40
69
790
348
849
157
303
635
654
275
892
683
15
198
269
774
17
19
670
18
627
891
111
677
344
575
157
168
93
954
525
927
607
65
844
528
618
193
534
221
73
755
405
391
397
707
83
611
682
905
783
457
758
96
242
645
879
466
152
367
741
524
306
262
0
528
584
171
183
323
223
619
83
924
922
542
618
548
897
134
44
579
67
779
273
644
729
879
79
40
602
171
580
334
560
773
423
354
433
51
524
860
454
427
464
384
215
574
89
100
693
627
667
896
345
820
882
632
425
606
349
648
903
779
207
731
20
271
944
183
522
466
645
252
786
385
731
835
772
417
352
873
713
688
712
52
615
413
172
409
262
368
934
639
137
787
733
606
828
293
724
372
746
487
412
543
755
841
277
274
253
577
758
380
656
175
684
82
745
954
187
704
400
274
8
660
782
67
977
789
364
226
892
704
717
369
755
875
639
56
601
875
616
439
50
815
877
281
708
594
925
297
704
437
45
660
439
112
479
735
294
113
906
995
347
800
499
577
117
282
432
481
699
305
341
817
254
378
624
840
46
750
230
355
662
667
612
317
857
838
736
743
293
903
357
175
986
613
881
51
232
165
592
588
251
461
100
999
440
260
61
127
73
353
109
193
528
226
493
711
253
750
550
740
164
435
42
143
404
93
324
932
344
360
41
148
726
671
363
389
998
412
121
743
312
358
124
438
706
890
553
887
816
314
580
589
604
224
431
656
219
648
293
890
387
63
581
195
997
446
612
283
217
88
306
580
905
900
675
129
154
854
371
172
367
795
664
252
673
311
207
325
662
830
521
330
637
354
790
713
191
403
373
990
249
37
376
447
179
451
819
793
342
797
116
331
538
80
93
349
846
918
124
522
151
802
512
984
464
703
445
921
249
324
155
633
954
418
72
18
402
119
747
229
90
569
445
629
564
468
22
30
994
241
35
934
743
550
919
569
390
984
838
939
790
310
755
156
73
138
850
149
544
126
199
30
876
631
718
563
608
453
658
2
947
727
312
392
627
318
576
67
223
548
826
76
962
205
698
377
104
715
877
612
965
293
993
364
893
395
749
885
32
927
700
356
811
601
993
568
504
877
97
908
240
429
506
792
277
553
185
140
428
149
370
273
666
127
146
991
154
986
805
666
100
197
945
761
238
28
991
289
804
384
483
557
644
532
913
149
92
221
823
860
427
370
922
896
423
714
85
867
69
808
840
379
966
741
647
148
659
610
662
563
937
553
555
991
631
667
78
773
959
573
313
234
177
630
767
366
13
549
476
763
479
653
809
547
930
187
523
644
314
173
688
914
816
543
147
974
128
46
913
820
846
961
491
787
72
18
197
818
846
8
866
594
488
799
757
179
562
717
286
909
805
418
727
976
79
832
429
278
694
722
594
110
658
347
225
362
87
427
57
937
129
409
445
462
565
106
206
710
857
741
155
76
517
908
278
741
258
234
69
474
775
914
716
434
596
114
230
679
498
617
167
720
967
603
582
479
802
124
583
819
856
460
571
86
294
278
727
330
311
331
362
264
907
746
314
527
942
719
473
558
501
800
508
342
794
946
184
174
232
812
389
263
961
276
322
870
900
954
536
834
331
54
679
64
983
640
238
389
947
95
192
804
227
721
700
689
956
441
84
186
793
749
531
567
758
787
383
434
344
472
55
379
965
129
593
35
539
206
876
587
595
130
144
288
348
202
37
898
310
477
100
808
536
749
815
162
236
696
104
636
701
388
423
288
972
357
167
3
952
0
805
636
555
749
502
702
263
734
405
179
842
332
620
85
385
769
152
959
781
279
344
566
366
753
621
621
276
463
415
21
250
205
737
275
648
123
307
792
470
994
674
43
180
427
929
774
480
627
538
813
843
823
733
269
156
467
203
376
411
575
778
506
134
133
610
207
725
991
910
523
465
258
588
286
205
157
172
875
17
538
904
557
505
58
153
324
966
641
997
435
865
131
689
866
943
504
504
126
978
931
506
779
412
260
38
147
111
867
419
185
66
635
985
95
633
285
303
149
677
308
312
355
309
686
847
672
412
278
212
75
138
598
303
230
543
897
771
972
919
455
532
180
318
644
163
228
856
537
901
472
434
945
271
234
879
470
189
657
678
954
950
112
193
979
843
959
850
660
948
742
848
346
615
749
315
692
169
274
909
23
573
449
529
871
859
908
781
484
769
397
471
793
483
17
164
760
383
222
994
634
714
683
571
951
73
498
63
211
969
939
828
539
220
102
900
736
398
86
560
73
529
292
953
511
998
17
947
830
833
587
68
963
366
56
56
41
600
632
139
618
669
950
894
965
329
666
720
588
370
530
934
955
969
706
739
331
395
668
375
231
548
649
947
832
818
953
172
469
965
12
567
67
425
318
690
354
956
603
876
169
588
938
568
982
486
577
599
530
153
797
979
155
61
834
587
380
960
301
483
814
712
814
549
864
52
500
182
993
752
595
210
837
570
743
8
130
435
235
418
649
731
311
331
957
908
76
648
531
503
378
422
898
293
999
777
218
468
892
812
949
855
534
979
872
112
264
603
963
777
988
476
855
609
321
736
964
92
679
55
304
286
361
836
213
296
597
293
67
190
959
67
479
437
169
248
124
642
968
6
117
272
432
215
22
8
410
690
539
663
278
109
381
178
846
424
652
922
847
328
480
937
869
398
92
374
278
183
201
799
306
883
361
144
338
924
979
450
774
157
64
350
677
299
973
190
739
147
515
662
185
26
260
860
182
402
162
370
846
442
881
927
637
640
331
671
986
837
821
29
673
143
865
907
32
600
993
954
384
643
134
236
317
273
370
530
758
388
639
809
948
971
668
545
192
305
31
787
872
888
524
896
268
146
477
914
604
599
201
982
694
358
90
778
686
552
861
747
647
253
739
124
850
985
167
929
607
22
409
921
344
577
158
542
286
85
411
639
841
175
279
683
734
422
279
380
18
311
298
376
971
211
803
700
655
774
463
536
392
99
157
722
795
517
322
914
852
924
77
636
762
466
305
374
577
539
15
440
265
353
30
950
546
343
573
143
342
942
105
493
736
965
756
974
339
530
658
713
693
947
210
782
622
368
799
961
781
155
456
479
880
140
617
212
21
249
510
165
384
383
541
968
595
522
826
101
86
346
560
572
828
17
447
956
538
841
172
907
504
438
124
461
426
219
396
496
570
202
849
411
793
180
854
954
752
553
912
17
196
548
204
364
247
76
596
690
627
199
111
59
742
749
395
183
270
261
249
905
25
932
106
775
860
756
354
106
373
38
127
175
237
848
908
669
691
654
503
782
9
799
698
63
274
460
326
388
950
441
981
638
808
67
255
773
454
583
585
869
830
715
624
261
53
795
163
224
668
836
646
504
615
235
284
42
284
476
167
14
416
651
536
700
758
83
99
861
235
921
114
268
175
543
120
276
950
969
354
452
30
340
360
808
928
106
104
768
311
518
516
24
250
876
600
481
185
176
911
791
209
139
711
668
201
417
840
452
146
253
940
228
591
270
234
616
236
551
755
247
301
880
124
160
157
967
809
849
156
366
502
646
341
422
383
539
411
638
396
904
58
548
822
316
488
190
255
570
926
551
776
855
339
851
472
591
798
396
872
961
724
655
188
210
496
810
758
347
72
784
67
439
296
607
516
535
877
209
244
984
247
358
99
265
714
170
659
964
477
726
779
59
921
176
72
564
546
357
249
776
129
461
642
696
680
620
806
141
759
322
9
825
997
602
449
497
251
225
224
542
455
192
157
797
680
139
137
819
655
959
924
625
367
150
383
670
632
853
486
806
735
476
40
448
129
831
75
211
919
28
95
974
292
9
267
860
656
202
544
662
260
809
730
526
989
730
809
931
7
590
773
710
383
229
26
747
439
421
106
84
406
867
197
161
498
687
257
180
932
428
909
21
669
389
902
266
484
52
373
252
663
856
180
270
708
967
354
45
460
20
981
159
973
211
455
46
604
239
883
927
831
922
228
900
396
600
366
953
79
168
309
963
10
786
90
563
94
303
480
651
144
422
184
270
305
53
678
833
643
469
358
340
797
452
431
475
348
906
528
213
715
509
87
223
677
434
708
190
345
6
939
189
118
63
214
502
26
58
717
873
428
772
628
526
985
8
139
369
940
847
102
365
854
76
372
545
524
788
577
731
377
123
214
183
515
307
191
928
846
30
473
992
653
347
738
626
670
514
966
247
210
842
936
767
952
614
87
316
911
854
788
56
203
879
629
861
318
149
561
261
144
145
864
650
917
393
895
471
678
894
942
504
564
749
497
393
667
480
352
398
380
496
58
839
100
982
591
496
268
867
245
815
94
20
193
690
670
66
717
207
139
424
87
168
935
510
586
421
466
658
493
643
902
630
746
643
117
735
767
347
690
496
594
515
318
576
920
96
762
758
282
491
316
153
3
215
755
701
414
356
640
790
419
52
679
341
224
762
567
77
988
285
826
270
802
1
487
421
589
210
423
588
208
789
670
318
410
580
530
266
395
555
34
844
727
208
580
750
946
204
298
776
274
597
586
168
484
162
684
473
132
511
408
955
741
155
727
525
776
36
493
349
848
62
990
22
115
753
732
888
159
580
750
538
929
541
194
19
856
971
170
397
376
290
546
516
755
453
660
422
851
677
574
467
827
942
960
871
656
136
77
262
100
478
998
153
795
215
338
436
110
416
667
232
183
857
506
28
792
725
894
598
708
20
958
41
41
893
844
197
162
759
396
115
332
921
26
754
38
41
80
778
175
754
653
303
187
873
390
208
375
813
588
384
173
960
347
651
745
430
78
463
718
392
89
623
705
487
515
915
542
591
653
59
319
141
644
824
33
196
370
932
855
948
976
845
823
342
445
579
928
355
666
215
490
847
697
328
732
436
646
737
775
723
873
256
672
734
103
103
910
938
46
390
135
246
115
154
253
171
281
259
714
527
241
732
154
398
320
642
30
361
664
156
496
850
384
383
63
314
571
290
869
286
647
43
278
296
436
805
335
398
509
508
534
50
893
582
710
319
588
282
468
500
492
598
983
763
939
242
954
736
898
354
401
462
973
516
132
513
895
727
119
424
206
241
243
511
86
772
796
807
725
17
915
667
699
908
542
279
573
881
966
812
995
984
455
873
291
814
62
153
895
805
301
33
502
326
814
917
205
927
776
485
25
728
528
177
655
713
482
127
410
639
91
222
390
6
623
588
953
718
518
511
476
116
897
535
900
616
821
904
87
594
338
832
900
841
229
815
960
615
839
552
141
758
855
135
928
816
626
186
826
656
1
16
420
26
42
558
82
106
280
223
589
644
198
189
551
318
482
128
597
400
550
927
451
606
228
738
808
549
683
351
391
896
695
334
261
60
548
924
890
247
819
1
725
523
527
135
558
917
317
825
249
528
873
763
33
330
113
698
214
293
60
706
319
611
714
443
560
661
710
0
350
625
330
304
632
994
161
929
195
117
359
1
648
939
941
781
158
482
969
756
965
48
639
510
766
888
914
368
115
268
130
562
796
595
224
233
71
511
111
478
741
598
353
728
31
841
915
67
315
784
348
628
948
740
147
428
734
141
321
764
969
491
600
107
53
893
632
346
443
184
881
57
213
558
559
490
263
852
299
399
659
356
362
416
669
549
618
722
232
431
232
475
807
768
802
370
348
381
399
680
827
260
53
449
326
8
309
746
683
97
809
630
784
519
274
700
572
111
281
39
276
692
516
48
978
695
395
478
526
532
601
197
129
732
322
466
694
904
554
399
785
996
551
419
381
685
694
746
143
43
923
678
88
968
868
511
606
674
753
655
287
407
326
912
841
377
75
372
983
612
978
814
282
541
19
770
127
947
812
746
931
603
400
873
906
408
175
84
940
729
89
974
987
305
876
611
340
132
132
946
608
669
931
165
5
759
963
5
836
762
990
369
219
387
39
685
218
894
564
930
304
535
525
23
419
973
451
132
215
997
892
871
170
452
710
478
450
61
880
113
245
439
963
452
645
712
266
153
28
111
591
977
579
279
555
494
595
374
112
104
26
800
199
42
406
372
175
659
482
729
791
64
537
946
187
798
704
158
887
352
438
790
818
761
278
380
981
984
572
304
861
819
281
506
443
911
589
796
600
268
274
894
637
349
956
84
823
747
342
142
924
11
612
595
67
445
152
168
976
275
228
621
418
980
238
34
942
867
687
311
333
518
225
524
630
863
908
925
594
503
731
866
161
485
84
864
269
507
335
306
328
250
283
550
780
98
666
653
71
802
803
612
438
230
893
255
82
534
94
490
309
444
852
831
198
801
82
978
839
264
384
343
914
244
910
980
199
110
502
747
755
924
912
359
273
435
391
834
655
627
345
933
89
498
184
790
753
314
687
439
885
690
421
324
172
944
819
650
385
137
25
694
181
196
910
894
438
473
408
844
452
43
870
31
150
463
763
733
57
433
93
129
318
191
539
74
34
810
405
315
861
953
160
654
784
54
801
253
401
127
158
725
790
518
409
608
996
61
832
594
649
570
437
529
587
884
656
486
841
679
177
649
710
746
370
619
919
442
287
352
327
969
615
869
888
747
982
275
45
964
862
381
994
648
165
545
263
673
798
779
833
568
626
942
788
932
939
96
603
372
767
755
788
64
986
569
841
755
713
123
385
189
911
877
448
132
224
893
20
627
893
720
656
266
221
623
370
530
208
219
908
172
957
679
24
719
336
866
812
992
870
650
872
304
759
244
697
628
822
482
700
343
893
531
175
337
151
386
618
58
834
322
202
363
1
588
755
726
498
654
774
993
584
274
112
577
480
133
439
968
349
726
459
153
923
473
696
302
658
288
761
816
108
623
513
491
888
26
477
126
986
840
181
971
638
524
985
753
428
166
797
56
913
257
411
932
818
916
495
974
570
791
459
913
117
519
440
913
131
443
836
91
420
849
492
533
752
627
736
625
690
174
398
692
151
63
956
243
497
995
821
386
597
544
258
200
327
848
302
537
176
250
444
316
211
181
142
420
321
411
617
469
392
547
405
666
141
364
897
378
601
273
535
507
279
296
437
900
28
933
761
497
231
492
692
192
408
106
204
918
24
850
675
170
370
981
207
524
689
519
860
448
465
292
621
896
449
230
117
282
955
860
942
712
13
358
61
720
989
76
921
703
863
95
560
722
377
20
907
717
592
598
721
588
417
692
150
265
730
34
451
313
492
907
492
284
375
934
746
24
450
290
897
877
302
967
883
368
217
573
640
145
291
40
289
266
455
603
763
149
935
284
852
702
863
259
273
594
882
40
62
212
564
721
361
888
479
117
306
916
692
700
461
419
512
213
671
854
808
955
600
12
809
122
369
648
71
653
427
115
86
373
71
88
864
205
9
645
681
886
14
480
51
599
67
148
342
82
319
650
174
150
477
934
910
101
965
536
845
506
532
210
280
665
958
419
481
816
787
21
144
248
55
346
86
457
613
309
598
853
482
221
10
102
953
162
395
444
143
17
684
640
312
861
250
570
221
676
625
398
727
732
94
409
268
46
600
563
419
717
938
324
929
780
412
704
999
283
152
284
396
496
401
263
372
200
476
551
862
406
621
346
837
525
98
560
625
390
412
72
528
846
822
295
404
615
613
770
456
286
104
316
678
548
762
223
585
450
64
6
739
878
625
410
404
416
333
223
857
178
523
103
881
310
6
859
326
702
778
379
802
666
690
571
990
392
97
682
537
600
798
703
599
632
255
891
282
647
294
656
205
832
231
894
113
711
84
373
970
871
806
224
49
340
147
867
929
550
108
960
281
611
325
297
406
765
593
129
217
73
301
493
624
779
275
355
617
906
198
540
129
309
275
305
80
760
368
961
743
61
643
687
372
339
704
833
105
850
94
176
751
837
498
393
329
600
186
758
758
231
328
948
223
621
387
968
148
505
374
883
86
123
982
828
0
409
640
589
698
349
926
719
295
409
243
352
893
617
5
835
863
498
137
290
7
866
587
639
203
143
493
267
98
748
534
966
235
991
504
357
669
949
216
390
200
227
117
376
987
321
633
672
783
191
385
190
484
357
164
781
905
851
432
669
878
346
1
284
457
732
768
975
668
424
25
826
931
828
763
176
463
60
361
8
424
473
38
752
757
828
997
272
599
930
256
491
136
415
829
227
268
870
366
588
222
527
265
395
38
943
172
136
461
67
460
635
304
456
286
963
365
737
200
984
774
548
389
203
308
101
431
424
525
398
481
970
730
932
562
59
725
904
337
533
482
741
390
692
352
672
117
54
825
573
998
154
250
256
260
440
230
911
681
378
897
91
83
0
64
145
869
473
159
441
809
817
629
462
123
502
409
600
846
347
268
190
32
552
966
465
668
445
190
369
844
669
308
190
162
77
164
373
960
78
688
164
331
17
548
699
888
638
610
800
942
329
202
991
832
20
627
582
570
753
640
354
945
759
483
641
895
471
483
92
714
457
999
831
981
228
865
481
215
386
69
919
596
45
772
20
650
85
240
660
614
504
522
181
416
37
437
809
964
62
330
291
307
733
842
800
670
466
976
661
636
106
387
599
656
556
266
162
179
923
485
305
717
670
771
742
454
660
194
779
229
258
44
543
133
908
894
825
563
322
540
426
526
473
250
526
974
482
772
182
612
900
804
680
816
796
401
839
660
873
20
963
69
330
807
529
718
291
397
402
204
697
412
232
596
904
745
332
599
210
439
250
663
585
556
190
797
26
733
886
188
89
912
863
799
245
241
6
820
376
425
109
351
968
84
979
745
876
6
275
294
957
897
897
422
926
7
660
27
247
797
257
430
7
479
597
890
263
75
191
144
81
344
907
233
7
21
272
45
337
415
452
440
903
258
758
929
224
567
604
879
712
586
920
906
894
73
342
306
915
590
313
422
562
941
138
142
810
644
606
412
606
194
805
354
641
343
304
162
231
477
455
385
957
806
298
52
732
531
45
982
271
613
985
584
959
859
506
903
583
658
257
344
248
952
172
365
470
749
432
720
81
121
645
963
968
648
793
486
479
926
600
797
78
164
959
330
373
310
287
516
209
569
825
172
224
862
725
702
94
218
835
571
272
129
153
815
660
916
942
7
946
448
505
819
261
798
953
46
803
571
513
561
363
788
174
3
412
61
924
392
386
145
296
378
897
929
184
210
943
341
883
890
933
798
519
255
209
129
715
284
454
966
114
626
868
558
405
485
276
29
623
416
195
375
535
33
912
645
359
680
750
715
375
982
480
876
944
933
327
443
927
360
71
756
400
550
446
608
256
177
849
534
881
943
849
230
78
679
643
619
452
141
842
318
427
806
428
467
821
161
681
136
598
609
65
387
474
184
990
21
168
19
291
503
163
895
292
94
899
571
808
418
253
273
847
900
487
961
381
266
9
94
495
95
123
834
715
825
759
411
372
415
106
742
621
478
831
833
603
934
619
521
228
330
907
394
604
776
720
457
913
764
77
46
162
616
976
712
542
397
213
881
749
791
138
420
484
437
416
961
737
527
758
956
250
554
600
254
731
27
297
947
551
31
793
677
941
809
370
388
414
110
285
885
437
797
6
87
961
359
443
59
764
927
617
1
332
595
313
860
844
108
11
8
308
854
482
137
45
162
961
366
521
321
625
563
256
558
347
4
744
175
904
143
599
848
415
843
355
813
394
161
194
744
709
274
70
238
899
988
257
833
538
366
735
744
375
614
727
680
361
329
919
763
311
569
936
783
227
410
850
503
312
319
328
192
635
58
483
869
361
570
503
719
597
220
162
394
680
883
475
572
924
161
250
368
193
918
486
172
776
317
843
141
48
698
919
816
789
109
506
620
467
770
969
983
760
208
712
3
767
776
634
91
566
839
39
887
650
288
422
724
70
630
166
720
218
295
841
788
37
205
897
594
181
366
527
780
479
34
72
449
366
159
958
98
582
761
912
473
85
396
705
38
305
344
743
652
639
315
714
521
479
997
188
714
526
868
200
567
182
291
259
522
720
695
66
844
584
497
869
956
312
853
613
267
931
623
224
313
392
926
524
963
371
289
691
801
160
414
314
882
19
479
877
732
67
750
196
899
909
137
698
71
871
525
508
229
849
485
838
589
453
463
717
587
214
119
231
359
170
957
627
317
890
558
960
840
296
239
138
457
175
690
304
738
784
990
334
772
233
449
376
17
134
622
603
155
425
445
497
366
79
773
377
62
979
361
455
842
98
149
901
483
108
880
452
29
874
58
111
199
759
386
649
854
40
34
322
318
253
840
8
921
310
524
607
35
706
413
264
920
378
888
670
984
696
451
990
649
109
105
656
446
272
397
54
316
837
433
353
884
124
230
865
827
960
159
294
794
878
176
202
306
714
624
75
854
916
171
455
949
43
310
169
835
351
694
845
181
797
735
442
831
27
625
332
197
579
206
10
835
978
132
987
69
232
136
805
137
656
510
845
752
519
412
722
69
790
248
771
179
220
669
991
938
24
102
584
674
287
940
881
674
623
326
469
275
193
125
416
552
627
719
176
39
53
957
259
4
309
513
13
457
62
813
680
562
411
307
911
717
267
311
523
996
685
79
739
48
756
774
262
176
124
816
910
519
194
240
73
689
179
367
184
899
150
369
590
858
113
144
489
241
823
785
921
227
556
880
720
479
213
882
830
310
681
175
50
85
835
471
456
10
357
860
171
178
142
296
159
139
789
40
274
44
29
692
725
808
497
704
169
308
11
201
365
896
359
396
624
213
673
213
305
102
915
703
553
908
677
195
84
168
63
282
971
464
467
311
819
34
762
564
532
326
254
156
915
87
19
999
689
23
377
338
936
465
643
741
779
791
848
249
616
464
114
101
53
280
943
319
252
7
770
298
405
584
475
874
204
909
890
273
347
979
825
545
316
640
950
804
868
508
787
16
30
872
813
15
839
883
475
919
305
829
792
669
716
883
868
760
676
191
823
133
834
939
957
721
785
113
49
735
544
14
403
283
346
981
57
183
727
698
899
885
804
694
761
834
669
438
946
457
643
376
786
130
594
566
301
244
555
898
558
540
523
403
235
722
566
996
746
453
281
865
973
38
92
311
641
479
685
552
940
587
76
592
500
48
909
937
736
770
918
261
191
206
19
419
780
297
266
214
502
871
133
279
830
863
831
402
726
97
342
944
472
341
614
840
237
543
26
516
150
763
20
954
302
117
242
734
296
510
215
663
723
140
999
651
81
951
464
195
942
360
325
488
847
551
891
933
887
413
930
196
26
133
729
266
438
662
852
491
573
827
911
246
472
412
766
272
353
146
933
142
920
863
490
211
737
557
114
902
400
962
547
705
88
848
282
692
145
650
816
402
835
181
772
233
961
476
997
821
958
647
198
143
88
436
405
103
376
350
481
236
512
824
589
256
738
866
113
632
37
774
845
101
224
967
404
918
365
252
230
969
588
976
812
465
807
874
781
518
614
812
346
170
725
458
557
100
926
904
935
225
623
709
602
954
162
701
35
286
398
97
53
116
383
898
163
12
687
584
219
709
547
830
866
319
568
826
821
732
630
393
469
893
503
110
440
638
805
879
494
854
22
7
697
644
270
612
497
896
625
778
860
145
780
413
789
583
884
689
730
599
675
93
958
858
271
923
415
513
138
771
326
367
963
96
109
979
565
391
972
423
794
83
822
889
124
922
125
856
828
983
884
688
934
529
401
960
173
926
903
287
181
43
15
381
545
896
926
863
332
882
216
838
825
144
860
186
287
668
223
845
116
404
191
200
586
78
106
413
11
340
940
922
116
563
673
13
381
615
334
794
321
384
936
104
65
419
287
206
690
124
572
260
640
694
571
538
715
960
298
717
556
344
680
282
372
305
647
336
669
564
582
429
795
469
385
40
584
16
611
764
685
33
938
582
726
857
471
41
781
36
615
124
100
250
710
230
829
113
560
981
14
878
637
853
966
514
128
783
450
987
590
843
735
943
777
28
854
561
540
573
504
210
301
66
587
670
1
261
851
797
668
520
394
143
30
840
910
752
19
243
477
380
937
273
557
413
562
415
747
448
694
43
427
28
652
36
721
724
997
783
840
581
460
226
498
816
751
823
52
348
966
305
161
330
32
917
402
395
977
907
850
639
121
180
304
365
734
727
164
199
503
372
942
431
597
49
340
830
642
783
668
327
878
51
234
763
841
348
245
127
215
360
29
808
403
736
538
646
725
884
354
463
328
92
508
650
598
266
498
123
134
898
570
771
826
92
41
471
793
439
424
177
935
176
37
685
353
610
389
479
770
514
289
136
740
302
754
867
863
50
122
395
354
165
263
755
680
642
945
157
339
207
476
322
359
131
446
461
735
401
771
122
766
853
45
279
951
537
587
480
680
693
875
306
412
115
371
717
688
604
152
333
191
589
918
422
364
213
993
801
905
36
54
306
704
992
3
341
618
270
946
325
777
905
614
151
374
583
930
489
540
216
168
262
276
288
678
831
979
177
257
655
743
431
427
140
47
216
372
278
670
612
89
708
452
392
174
94
257
563
471
476
810
959
834
35
265
588
17
475
280
226
10
763
380
780
399
841
252
223
426
503
812
822
773
707
716
107
754
849
400
435
642
350
464
165
279
202
726
328
992
187
833
192
335
382
848
801
987
653
981
454
853
83
920
942
335
96
655
196
83
802
516
20
387
313
233
963
299
890
210
339
224
906
761
386
708
618
615
75
127
265
393
793
264
897
544
366
181
86
630
869
132
613
137
413
459
988
938
209
518
704
397
725
465
781
609
414
412
987
760
306
296
110
669
355
449
867
85
52
211
848
216
562
815
284
502
628
652
380
854
619
317
140
75
333
401
719
51
861
93
26
515
927
229
295
368
765
870
73
846
958
385
536
460
771
38
305
84
318
114
599
369
269
459
692
109
687
374
86
87
988
171
95
13
899
532
122
337
608
455
927
212
81
419
291
119
619
904
212
560
404
637
530
753
571
490
863
175
390
715
88
939
215
356
493
932
445
136
615
8
370
672
654
24
729
808
210
730
761
695
839
904
236
622
710
285
95
372
659
756
972
795
788
149
176
322
846
597
370
146
921
765
211
881
810
377
437
521
437
821
19
230
933
597
669
60
578
260
488
219
226
93
270
442
155
923
657
12
600
870
838
329
673
924
74
442
522
405
586
726
346
243
227
566
657
125
275
164
121
920
474
835
91
370
501
349
339
455
500
949
306
467
948
710
403
566
866
357
466
158
732
381
590
663
433
571
797
263
745
243
2
206
668
604
637
889
211
233
353
983
266
6
802
28
580
140
101
320
172
419
597
385
252
420
231
709
106
603
974
890
500
621
827
766
275
449
302
513
917
720
203
459
434
368
572
576
611
855
472
622
834
666
536
497
135
999
729
801
626
559
345
947
843
56
812
802
362
827
933
596
333
421
345
727
976
735
769
528
322
524
642
808
689
955
977
766
336
817
110
161
307
7
530
81
690
829
985
473
876
630
705
636
846
510
503
770
810
795
645
555
680
486
838
121
180
902
490
952
661
288
494
815
215
247
803
627
172
620
949
22
346
774
555
829
274
841
187
530
97
18
801
559
822
484
263
84
193
151
162
318
382
14
860
996
931
536
314
163
333
685
66
932
519
258
348
262
707
89
198
979
77
595
864
765
360
921
366
502
786
299
592
538
615
372
688
970
29
319
182
783
27
961
374
547
148
781
426
845
650
657
940
124
671
517
683
323
517
379
747
637
588
935
428
642
971
739
171
546
366
136
861
288
174
80
878
589
47
835
438
548
175
956
6
241
476
907
888
644
941
147
723
495
18
172
649
34
56
74
840
682
696
212
41
668
815
912
419
70
939
556
328
666
231
689
360
389
203
746
653
379
417
972
444
570
351
979
733
15
585
899
858
730
80
385
313
750
814
742
514
182
322
454
319
539
698
684
551
72
79
285
919
875
321
117
549
250
173
205
369
542
617
867
221
992
909
363
767
924
367
382
342
837
34
855
562
427
428
573
406
280
567
513
869
529
396
454
7
894
313
776
20
37
876
282
31
34
106
987
142
22
83
857
972
544
518
904
667
427
113
973
137
269
910
902
794
594
839
518
234
322
229
338
765
673
611
174
797
973
898
6
155
565
988
854
381
441
394
913
983
869
836
35
675
900
870
317
742
177
792
465
526
512
382
558
774
870
941
353
358
264
245
487
484
124
640
479
865
971
700
891
31
871
447
674
869
413
688
522
317
516
86
401
137
754
549
275
680
907
477
359
564
786
992
908
689
824
100
253
529
545
559
725
565
608
832
498
544
31
66
903
71
255
443
903
44
783
637
844
305
973
442
694
335
930
65
758
417
260
347
629
151
375
282
434
592
53
159
960
581
710
904
739
126
517
45
852
877
985
931
507
472
591
770
526
260
695
739
844
640
486
75
817
35
309
304
13
964
848
865
421
730
978
549
872
303
322
439
6
954
646
962
537
640
641
671
719
990
951
718
210
898
767
220
251
153
211
709
759
590
110
127
588
50
378
985
486
512
791
372
168
981
146
741
64
35
728
545
807
69
762
522
289
252
459
813
726
529
714
585
506
429
984
569
678
311
309
923
980
478
729
717
167
572
371
335
350
86
757
483
652
68
782
992
995
225
897
657
920
96
196
183
438
261
906
369
648
115
808
391
759
906
630
20
174
270
78
92
769
19
463
336
380
729
986
523
928
209
824
53
466
863
626
233
703
873
435
750
540
97
363
699
266
89
87
575
553
977
900
514
735
804
112
855
773
610
98
285
141
223
962
435
874
432
454
476
475
513
613
597
898
109
247
764
601
230
999
932
449
675
408
988
612
755
80
631
901
668
536
602
209
951
876
319
630
819
885
598
111
517
325
967
264
795
950
67
690
937
261
183
344
110
767
6
978
574
18
77
561
499
846
609
639
23
97
389
830
489
341
746
991
758
521
143
31
428
46
245
876
928
569
565
545
928
559
876
710
703
237
502
777
20
904
743
560
219
219
959
647
771
822
699
903
850
623
229
68
878
161
526
529
839
749
32
840
890
753
306
423
739
663
279
881
774
228
237
320
312
459
734
178
30
700
263
66
377
125
450
856
106
488
80
815
103
803
766
992
595
804
840
709
392
119
513
74
907
141
351
417
15
769
653
998
424
93
581
333
757
55
556
764
506
446
758
68
480
936
137
885
298
831
621
859
190
826
643
212
237
629
347
224
55
984
520
863
400
329
190
577
653
258
332
429
428
193
963
264
976
587
903
458
602
449
669
156
63
524
901
387
531
535
831
617
315
561
867
430
842
231
347
241
118
716
895
341
665
937
299
409
51
385
232
555
169
935
401
554
30
849
475
858
71
708
450
86
860
851
206
422
550
546
464
435
301
341
849
170
922
644
879
561
34
635
136
807
215
610
948
485
40
137
421
528
993
953
759
603
109
447
648
989
719
697
961
130
513
238
892
358
565
664
365
316
317
426
790
449
192
539
413
912
427
231
702
126
252
82
694
83
476
860
883
838
345
456
614
322
593
312
329
411
613
993
328
800
107
405
774
962
407
491
171
125
288
494
667
836
476
311
302
263
50
333
376
138
713
144
508
674
8
553
864
915
563
872
196
155
766
138
776
123
46
890
336
891
990
738
482
429
799
9
541
152
124
482
26
414
913
310
989
101
32
90
985
789
989
477
894
106
395
393
851
294
252
485
855
468
717
221
656
14
453
729
782
481
598
447
763
428
723
162
812
383
772
438
774
453
188
199
774
95
228
653
54
462
945
261
656
187
260
998
478
250
509
558
624
874
478
505
324
201
434
180
629
601
956
951
8
600
876
138
820
250
937
795
958
609
962
175
712
891
673
983
532
900
565
306
392
866
42
533
119
764
510
906
484
157
676
127
166
175
177
30
704
420
432
353
914
487
294
844
95
94
313
302
883
603
757
214
671
214
24
877
897
446
718
170
577
453
390
691
940
541
395
211
721
203
447
59
179
0
891
898
522
907
408
14
570
276
547
211
404
697
603
651
798
750
729
833
809
225
290
671
822
924
555
802
12
287
289
27
236
449
877
255
773
387
714
858
232
453
501
584
892
355
120
709
466
22
626
691
350
824
772
473
85
79
681
123
723
254
270
390
108
760
40
931
48
589
324
397
301
205
690
714
294
51
332
889
827
397
111
142
283
526
87
533
873
909
402
480
870
805
519
47
49
396
564
369
797
113
758
974
996
318
735
663
56
543
20
737
331
572
858
472
276
897
606
213
141
739
929
821
928
418
1
431
689
706
714
629
721
323
939
576
342
244
799
537
637
647
618
921
403
49
265
412
367
41
498
80
512
9
120
415
339
16
429
483
432
333
988
898
94
834
100
939
766
835
525
690
125
400
204
664
705
967
917
583
578
378
690
581
918
971
201
8
361
435
591
295
449
486
66
112
111
819
242
990
325
679
485
713
400
228
87
668
520
932
821
876
511
29
421
639
807
832
663
278
605
926
653
937
277
45
552
607
777
56
535
935
194
711
196
859
667
253
898
218
99
402
735
629
531
688
494
253
141
62
346
585
148
300
846
286
184
491
679
78
185
65
913
909
279
325
952
679
178
758
30
425
412
108
980
376
347
4
914
503
867
172
996
573
603
441
597
21
691
595
978
343
773
946
23
53
582
522
183
722
79
860
684
546
195
41
708
41
917
927
394
836
271
307
696
353
523
471
89
748
72
547
304
576
460
734
231
539
726
714
278
272
778
409
44
959
259
285
781
812
53
504
543
510
117
45
806
307
74
763
862
807
801
458
760
191
43
381
403
978
597
866
10
632
842
195
634
379
234
507
708
281
581
240
7
94
541
130
546
526
832
430
288
165
381
158
316
199
640
653
711
625
887
646
25
917
691
674
67
67
189
847
718
154
534
220
163
686
933
231
281
110
651
353
804
879
788
686
553
591
450
443
672
216
856
27
877
365
296
759
505
296
961
324
343
668
863
406
282
702
27
553
187
28
973
217
964
196
187
510
888
288
520
4
182
692
750
940
764
735
374
512
816
913
352
491
65
571
504
845
598
29
885
488
717
657
455
259
713
194
708
182
274
878
403
32
452
110
925
569
840
121
34
72
192
62
979
514
670
685
809
577
221
113
856
952
681
920
267
284
708
184
803
198
371
783
689
742
720
287
756
428
542
687
483
347
935
662
722
559
355
861
33
721
50
77
969
477
745
7
667
25
962
616
417
773
337
70
911
527
293
870
227
711
447
665
445
970
540
904
226
435
751
930
31
35
539
369
702
990
135
817
485
163
903
358
867
27
476
999
834
550
831
368
736
202
27
548
796
132
371
345
404
7
855
780
919
308
530
740
143
778
335
280
985
420
936
556
690
238
112
17
306
826
909
604
7
362
305
808
130
961
710
961
985
947
141
979
145
283
177
702
333
149
527
906
275
389
614
623
866
879
469
49
372
149
697
208
570
228
807
762
499
847
325
79
991
520
980
826
794
280
387
412
147
966
348
621
845
545
600
69
64
532
901
321
600
181
298
202
272
953
584
889
976
701
518
281
996
531
96
344
629
53
674
670
25
830
10
376
358
66
495
405
418
381
573
784
806
512
390
62
486
177
896
266
864
970
312
620
361
803
165
742
412
157
112
770
53
615
891
288
163
940
22
207
680
775
804
662
659
14
287
691
19
546
832
566
803
274
870
639
880
46
682
842
88
35
757
658
212
421
379
677
633
593
74
495
100
981
878
267
191
389
781
36
971
586
463
761
999
215
668
922
533
704
770
77
561
468
984
714
86
579
803
167
196
643
579
177
398
80
612
448
397
933
721
919
775
277
123
500
188
179
799
413
168
812
627
320
331
7
439
272
527
490
5
979
161
848
26
533
737
495
593
142
420
402
959
561
48
826
67
384
144
84
77
295
672
94
149
843
589
686
388
938
402
452
189
811
7
992
537
857
598
655
355
260
235
639
888
379
586
85
552
897
608
378
171
710
95
145
490
993
490
938
435
630
691
447
36
611
988
890
494
110
476
362
207
6
853
364
347
46
597
19
12
689
53
181
732
249
677
459
360
266
914
394
801
580
316
49
403
66
956
365
711
941
225
318
112
119
606
119
969
82
278
966
544
890
728
269
629
894
478
849
607
873
499
291
355
160
616
309
595
289
879
393
706
109
422
177
264
129
781
467
780
218
723
988
13
42
533
206
2
985
848
583
526
259
549
311
874
193
487
251
433
577
472
736
556
331
183
832
492
99
403
786
688
434
697
606
759
785
708
255
233
924
375
417
258
183
398
996
150
527
876
117
31
777
287
994
458
178
113
798
833
541
37
475
243
288
136
137
399
263
360
594
64
726
126
569
688
154
590
796
8
940
47
660
49
550
829
499
778
199
95
42
255
920
543
976
239
995
970
894
391
39
890
37
208
781
528
210
994
297
395
826
57
933
168
877
831
687
609
258
85
14
902
452
531
588
864
222
378
189
27
282
68
554
476
190
696
392
201
291
483
743
521
226
37
475
990
178
289
127
669
941
541
379
293
119
334
538
308
271
872
268
614
986
361
323
50
53
319
220
396
318
493
576
744
570
660
464
871
518
334
123
173
117
400
954
969
798
667
328
878
143
723
807
142
80
792
605
611
818
41
917
257
650
675
373
534
752
19
617
842
657
315
149
249
448
553
485
19
577
385
645
811
748
395
717
239
977
37
193
450
612
330
231
818
536
974
836
392
443
782
715
273
935
569
76
253
450
520
405
211
67
81
534
348
976
408
244
171
304
625
20
112
171
556
559
64
63
522
331
356
478
890
30
73
352
848
173
869
820
24
166
671
261
699
818
603
833
9
154
527
348
601
775
739
285
258
764
207
355
901
804
733
451
221
654
168
805
356
60
494
612
648
919
96
521
822
752
292
769
730
440
732
539
797
706
562
149
25
575
521
908
282
936
827
445
310
45
982
385
641
748
356
569
271
157
886
337
62
318
414
561
59
575
367
551
213
250
894
431
286
643
468
759
104
215
235
539
12
985
540
248
908
613
2
124
509
484
576
308
56
256
706
368
554
629
338
339
699
391
814
392
52
778
402
838
165
652
525
865
218
716
198
733
982
822
302
511
7
382
553
520
21
485
152
519
404
325
729
139
691
860
247
937
53
647
818
14
993
141
850
54
205
754
987
713
353
511
729
116
519
122
846
832
993
132
742
146
180
473
108
936
230
789
702
667
622
825
539
417
856
842
253
890
935
30
314
462
997
354
419
790
24
492
302
602
23
146
499
558
250
194
345
870
682
810
735
468
208
453
269
903
240
800
600
57
657
742
318
502
462
366
555
116
482
684
170
562
568
133
379
909
612
572
735
187
640
433
967
631
565
34
652
78
197
281
143
863
834
465
123
870
142
755
906
611
268
464
453
827
281
746
951
477
779
670
724
702
522
947
551
379
289
413
319
730
201
96
972
71
203
297
188
231
70
995
24
578
219
154
739
612
910
139
531
0
441
561
837
971
737
377
335
212
303
819
523
49
989
950
219
670
247
559
847
110
890
402
501
133
505
495
385
124
824
273
616
164
859
818
316
354
889
700
255
947
147
447
415
483
86
946
659
137
324
574
357
418
753
20
891
89
426
245
286
523
663
916
358
228
35
999
846
925
172
173
502
32
258
754
885
127
934
353
473
641
962
722
705
872
337
450
127
646
598
432
948
389
978
530
761
306
942
290
371
214
584
925
357
273
562
164
647
943
374
419
292
131
887
340
341
137
285
116
819
536
896
652
919
817
754
984
894
113
342
385
776
708
119
273
415
491
735
222
178
818
812
897
512
804
692
833
207
193
69
310
278
306
526
800
542
143
372
36
977
61
107
233
363
904
417
609
354
824
18
89
812
62
160
618
68
428
548
653
589
245
955
694
930
978
391
188
492
79
953
599
328
12
529
117
41
805
928
832
998
317
437
504
233
88
409
526
761
896
172
364
631
553
213
494
875
976
948
602
809
856
757
156
236
309
686
93
93
607
578
970
995
558
96
589
165
452
738
301
851
552
70
688
254
242
130
377
618
878
953
276
909
698
514
152
726
1
2
58
519
637
717
687
81
903
599
305
684
709
688
335
577
428
896
999
93
138
466
189
515
616
931
338
592
65
962
233
158
873
818
270
465
391
895
827
137
114
921
350
635
215
953
688
257
49
312
694
780
579
31
335
24
759
952
272
550
37
51
639
329
574
576
974
789
516
341
391
720
248
482
62
793
818
82
727
382
335
140
243
53
393
883
512
486
710
201
926
444
262
259
925
536
445
612
728
352
365
554
823
213
209
470
389
807
286
797
874
220
304
289
794
396
835
287
911
388
408
638
351
709
523
753
866
407
975
440
666
988
87
514
128
344
481
468
557
105
978
46
466
833
300
305
377
957
714
525
159
19
887
532
233
847
311
978
665
304
166
829
927
705
36
375
94
257
267
149
118
533
822
362
621
510
811
141
396
669
864
366
438
381
39
898
444
320
442
727
930
420
92
744
143
298
49
804
139
290
952
742
758
798
931
706
961
485
968
855
874
139
781
315
930
459
362
882
197
957
427
22
423
428
802
169
807
833
852
231
540
518
96
488
884
330
14
187
583
323
42
247
545
29
905
923
531
442
955
703
397
226
713
677
248
587
654
704
867
70
386
942
203
904
327
408
359
707
979
217
901
445
176
732
140
297
66
651
148
539
406
448
493
569
560
652
995
210
456
623
171
619
54
556
634
312
48
796
47
10
87
652
762
537
169
239
581
612
995
357
166
868
991
170
789
54
760
297
137
669
651
824
882
755
526
840
676
86
479
511
595
951
206
336
884
656
356
38
718
597
831
572
418
730
197
637
165
174
162
24
707
253
264
696
493
848
975
919
817
213
480
355
328
190
233
884
925
438
876
496
983
812
8
612
39
967
499
794
180
583
19
709
936
953
183
488
485
246
566
814
510
440
427
907
406
715
749
298
27
138
542
853
78
135
931
606
187
642
95
955
82
648
988
483
799
535
307
467
570
93
98
903
988
458
6
804
206
273
931
53
629
308
504
52
827
91
361
392
878
209
401
0
688
861
172
605
986
491
788
277
37
773
234
371
370
752
222
54
277
415
719
579
796
360
607
499
236
301
555
564
463
712
336
217
533
249
248
197
775
255
57
153
171
45
277
756
673
502
960
632
590
752
461
892
406
197
12
403
452
534
843
780
483
142
700
897
270
691
954
578
882
596
629
387
120
746
443
702
544
524
991
235
783
425
245
310
657
645
514
511
66
175
653
870
681
842
936
336
310
831
844
522
522
940
100
648
141
417
610
343
65
140
81
645
750
677
993
477
60
9
115
463
484
757
814
954
664
626
227
619
646
533
907
338
454
379
271
870
208
516
707
826
594
900
8
217
539
759
59
605
375
971
104
388
358
241
731
651
206
462
409
479
88
82
691
775
383
116
568
194
794
607
580
985
333
96
456
445
778
23
385
468
177
790
36
411
267
719
155
882
958
625
694
549
539
167
824
144
455
60
61
463
66
983
574
899
325
621
989
827
838
606
944
566
153
169
260
239
851
101
814
344
205
561
801
947
753
130
323
426
365
48
504
355
816
31
145
901
752
223
410
875
939
439
526
529
546
273
139
722
929
962
1
170
113
765
333
455
281
407
686
629
913
902
696
923
969
59
789
71
793
880
839
521
101
177
611
650
215
927
985
613
220
206
127
120
257
252
387
376
745
550
347
394
915
262
686
176
131
123
638
547
606
660
608
656
123
627
405
852
688
45
561
705
37
44
85
190
549
949
786
644
991
633
944
297
784
921
569
762
710
552
420
108
413
608
627
720
7
189
606
829
43
925
290
373
827
624
56
940
404
926
221
838
682
98
793
125
153
560
711
463
699
587
722
828
96
133
396
194
659
288
767
103
453
318
845
935
201
639
159
287
26
421
590
182
584
841
130
687
503
837
2
949
403
505
229
963
747
475
507
509
363
882
411
880
380
231
152
252
335
701
603
608
634
894
936
79
265
835
525
595
366
521
962
947
432
275
104
249
71
626
531
199
992
218
94
229
68
625
551
172
906
155
993
291
283
983
693
247
933
572
529
365
892
712
777
825
108
727
454
974
994
191
188
121
923
520
161
489
69
252
35
871
166
239
759
302
292
541
935
995
531
608
168
622
215
969
951
36
905
505
237
281
910
844
443
947
714
818
945
674
773
274
203
399
213
96
842
374
694
941
472
3
665
347
612
410
900
336
405
901
103
358
195
712
151
304
395
187
562
640
358
438
187
498
425
306
538
948
128
592
384
570
688
37
926
173
52
352
31
976
78
151
196
293
509
938
325
548
262
991
553
330
655
887
551
148
197
457
918
755
480
397
906
81
642
134
764
284
987
416
420
227
530
598
273
226
301
981
832
149
854
258
601
452
983
352
51
892
884
301
593
824
944
543
426
21
473
45
201
785
368
772
680
107
563
77
445
936
876
310
983
322
713
573
624
560
876
927
712
276
585
389
890
521
964
484
65
853
781
785
723
135
296
871
184
222
594
316
138
668
319
728
50
189
103
989
481
964
453
987
828
46
684
530
528
443
644
33
951
637
432
323
914
651
31
383
114
629
961
997
151
839
180
983
572
200
63
144
385
588
566
983
494
421
366
376
221
178
883
220
911
443
149
932
994
754
413
98
863
688
528
528
492
550
781
856
538
11
248
23
594
67
843
256
334
239
239
854
103
122
379
12
545
679
946
138
93
309
620
493
48
901
99
430
950
281
686
838
51
663
266
185
181
996
900
990
840
935
625
429
545
498
49
709
494
610
907
439
45
205
453
165
644
654
14
144
194
362
360
479
103
457
868
405
406
245
200
657
646
98
650
576
293
136
516
475
466
604
46
212
830
629
242
145
0
104
645
801
613
21
809
641
836
70
303
231
787
567
861
653
685
442
403
489
359
576
955
535
81
182
825
774
865
648
565
803
248
212
719
591
14
579
73
909
973
239
194
712
874
136
775
49
332
771
171
438
937
685
472
247
276
564
95
946
94
659
40
484
986
943
244
375
808
132
779
986
540
140
661
58
799
722
222
346
606
971
322
466
961
201
510
231
535
56
866
665
439
931
442
803
937
853
500
275
869
860
82
851
45
214
313
994
647
365
971
788
168
112
109
688
804
575
977
886
948
195
951
981
687
981
395
322
303
961
573
721
787
760
163
362
354
550
182
369
137
614
391
224
44
984
468
607
165
878
102
91
592
77
990
194
626
897
132
256
62
977
604
487
271
732
275
587
459
212
870
953
402
154
446
298
33
258
802
876
674
662
853
852
767
547
367
15
89
886
606
839
149
518
295
521
691
147
745
952
209
721
168
80
567
102
661
852
778
689
538
505
713
84
356
723
447
925
940
927
220
261
319
871
978
67
475
6
135
776
932
67
434
348
78
890
905
430
823
344
372
453
351
974
195
480
908
108
4
647
752
757
675
482
728
915
541
322
348
21
714
242
521
619
877
839
348
664
466
720
257
982
738
726
12
303
759
118
297
413
804
423
675
305
991
337
905
931
39
293
411
189
679
836
952
423
911
734
807
674
530
95
18
204
311
392
765
583
553
804
276
739
68
376
269
353
657
773
188
35
120
442
588
215
739
108
771
687
387
964
910
861
777
415
740
915
767
762
738
233
810
653
206
134
554
410
85
230
858
779
179
612
456
152
574
384
865
527
856
746
486
178
705
805
720
294
884
461
779
11
253
959
780
629
856
137
11
234
743
114
312
971
922
791
738
162
537
145
398
414
421
194
650
353
105
869
815
117
902
354
873
218
749
244
754
289
919
440
997
552
874
998
369
87
932
723
198
365
881
105
430
537
960
936
335
542
643
50
21
692
950
174
695
705
883
77
703
342
656
471
806
689
648
787
971
847
539
285
99
856
523
472
224
851
561
712
216
513
962
471
185
286
443
679
823
689
638
255
538
567
614
362
531
84
304
304
657
626
95
793
950
515
550
290
250
370
960
405
496
701
665
230
872
425
128
46
951
339
30
354
178
97
621
565
285
792
379
273
123
305
992
495
177
987
626
17
33
920
141
833
940
280
566
626
503
185
862
0
501
24
288
577
134
242
406
973
514
356
484
158
512
89
213
326
204
837
209
350
651
137
478
931
132
886
111
645
841
873
545
966
510
980
481
933
784
145
415
454
131
356
979
519
897
25
251
379
835
826
215
747
222
223
478
382
975
268
223
557
904
367
278
969
272
22
974
168
566
56
558
963
174
701
154
287
320
894
899
982
994
742
847
557
919
753
236
709
418
353
763
211
649
663
610
759
853
13
35
308
741
328
321
255
136
16
772
387
82
942
10
357
527
80
896
114
730
195
456
151
255
392
43
3
516
153
387
35
100
144
491
232
131
460
92
879
702
52
36
314
956
70
24
320
328
450
871
256
829
700
341
999
360
943
201
840
90
392
348
596
352
321
174
180
966
580
742
485
84
652
877
271
548
311
454
662
21
265
479
345
370
205
986
769
516
695
137
828
62
573
884
542
298
664
134
87
133
785
53
621
824
803
312
113
745
263
547
927
586
866
562
149
57
104
157
563
961
14
601
482
667
629
903
747
184
909
287
517
333
255
253
790
149
242
339
434
624
688
312
652
220
989
741
703
448
225
192
229
863
58
459
859
38
793
513
162
881
404
431
975
540
732
41
789
984
641
896
282
707
553
956
607
976
96
406
540
395
516
647
744
821
33
930
832
580
998
784
196
225
949
514
574
214
417
118
727
63
361
675
283
126
644
7
865
86
385
398
146
232
554
516
555
169
693
198
713
110
545
465
99
867
93
960
734
755
804
417
372
180
358
184
575
815
47
872
472
9
905
578
616
8
120
646
79
912
615
91
702
946
394
924
714
867
332
841
443
755
970
906
297
110
32
442
495
333
87
305
44
270
247
647
606
522
136
326
84
777
702
126
585
657
701
576
397
5
823
793
752
119
884
229
882
374
631
980
723
75
236
99
164
301
157
170
846
293
62
976
631
456
605
329
972
320
270
666
945
861
190
624
206
57
948
24
387
659
170
373
458
821
967
265
461
513
967
343
525
137
934
658
157
537
136
239
900
620
43
259
777
876
972
152
526
512
343
124
451
668
298
715
814
777
114
71
700
532
476
722
656
837
271
498
506
92
467
452
158
318
134
977
763
318
224
460
507
912
733
437
270
501
787
641
399
179
781
68
729
148
807
360
370
681
554
569
808
735
946
42
446
111
669
51
315
543
547
271
159
942
561
593
734
536
971
337
520
977
977
509
283
930
486
62
833
812
492
317
705
550
893
194
455
165
305
170
171
927
772
898
126
512
198
807
976
178
494
608
808
659
697
699
138
594
605
247
560
71
718
665
474
383
730
536
981
655
684
871
730
914
615
192
131
865
87
642
308
285
115
409
569
481
753
339
235
951
295
690
624
79
284
745
934
539
411
974
890
915
289
765
329
720
136
511
347
539
591
898
242
226
975
135
801
827
403
559
904
856
313
223
629
339
346
12
2
877
339
51
571
38
557
584
553
939
753
145
4
532
757
92
205
758
356
74
784
583
449
186
790
636
827
847
60
652
171
881
342
763
356
957
88
129
168
412
441
607
854
66
908
758
690
518
862
714
234
878
880
581
769
598
483
18
720
454
957
958
972
710
42
617
373
152
463
487
140
266
472
228
482
4
776
757
843
732
876
172
460
603
92
67
710
675
599
924
266
602
213
394
656
194
12
924
83
625
556
28
703
982
911
600
830
951
120
244
574
859
916
76
527
947
134
88
218
401
796
315
676
723
382
847
639
234
530
161
928
210
386
184
477
550
370
613
805
377
909
733
414
206
451
536
878
956
616
672
546
357
428
998
603
770
15
417
947
748
73
211
609
652
158
650
230
771
419
471
636
215
247
103
118
702
327
160
80
572
140
168
997
305
738
695
302
265
884
915
364
858
96
517
802
740
50
156
799
25
326
899
694
605
915
640
943
972
572
98
960
855
320
348
328
297
649
448
691
430
617
117
35
302
703
904
695
941
635
450
161
403
852
836
426
323
272
144
191
427
87
896
627
405
594
907
258
702
68
110
657
846
184
962
856
452
296
508
270
317
607
733
628
345
92
142
357
411
182
428
791
688
657
915
145
62
750
364
237
387
392
691
607
558
502
880
641
563
700
680
480
614
67
893
937
662
755
121
425
860
436
278
804
900
157
399
344
23
223
68
717
846
919
154
985
684
769
706
368
695
402
253
138
900
234
870
469
712
238
153
161
566
301
180
85
385
187
383
519
427
990
956
115
359
267
289
649
859
337
404
857
985
412
996
922
468
241
147
736
468
419
229
439
336
393
805
440
925
666
10
877
895
383
748
167
309
513
533
354
409
524
829
663
545
896
670
99
233
611
21
843
846
842
906
754
254
777
399
871
183
966
615
990
629
31
637
460
486
373
560
155
885
461
134
417
889
72
550
30
345
595
26
653
923
786
241
30
586
194
747
155
426
858
545
988
353
886
228
967
980
396
934
43
264
310
486
247
195
107
258
716
175
17
299
79
867
726
610
240
490
398
133
614
872
198
490
722
383
571
277
392
383
467
977
43
723
600
755
108
305
509
150
876
172
58
571
946
277
446
291
893
560
956
32
142
861
317
954
671
325
973
739
632
373
950
554
894
925
816
721
501
929
328
788
860
862
606
603
847
290
325
214
556
70
667
927
714
253
917
301
251
110
159
851
585
119
251
548
95
911
432
865
387
242
310
832
282
620
725
583
624
652
317
583
79
871
65
319
149
307
598
909
933
408
854
378
168
203
245
319
416
464
203
562
217
794
992
49
824
772
129
826
334
289
419
714
382
929
588
729
852
100
508
502
613
662
301
698
706
545
414
310
903
766
444
8
366
328
762
748
826
332
977
81
581
478
619
841
150
762
723
292
791
33
29
546
826
414
930
873
357
948
241
787
985
922
146
665
326
685
126
634
721
572
689
848
875
25
968
546
46
576
16
135
762
298
136
267
468
301
609
932
215
73
982
238
28
676
917
332
256
891
508
561
354
203
707
160
787
738
102
617
809
224
335
521
554
728
227
844
961
813
585
195
845
482
134
736
933
997
192
324
632
536
501
522
68
228
289
403
280
599
125
43
60
122
517
883
278
910
846
410
277
200
345
1
616
497
294
356
576
628
409
296
133
514
620
539
968
471
931
161
9
515
484
752
875
392
953
473
51
93
445
71
454
110
350
611
355
150
961
737
686
438
118
729
583
178
98
61
844
47
93
171
419
212
94
584
89
730
786
9
328
481
412
107
372
755
681
782
21
501
68
890
195
312
980
531
886
804
463
344
947
587
36
456
76
577
624
834
18
28
491
693
736
797
977
276
911
344
60
826
929
118
772
858
344
957
285
731
522
761
769
515
105
427
890
646
575
508
547
305
282
645
778
32
30
607
854
307
436
365
702
501
609
934
535
253
730
368
14
754
553
98
801
281
312
421
291
789
151
305
179
581
3
644
483
790
580
494
370
685
642
362
321
325
668
867
69
653
867
828
744
733
521
484
53
914
220
848
961
983
292
523
499
870
616
203
592
134
477
289
262
748
296
177
885
620
892
379
708
862
717
573
851
71
623
52
801
734
796
191
509
678
298
188
548
693
542
24
169
735
974
996
840
400
212
42
667
949
350
807
478
844
927
993
595
627
520
957
469
968
994
372
226
516
525
70
574
589
871
601
173
343
292
602
242
720
422
561
449
465
207
274
658
792
698
721
10
438
552
29
266
224
825
186
804
802
498
464
708
64
207
913
848
603
938
775
178
174
396
335
99
101
661
872
881
360
801
298
565
124
912
284
64
550
175
335
328
251
309
830
472
221
850
137
302
49
897
845
925
165
8
758
985
77
497
456
693
782
745
988
88
51
911
867
318
768
186
956
204
61
815
428
823
907
616
795
505
431
723
309
784
397
940
459
127
830
304
829
163
630
986
522
604
471
708
492
910
892
217
13
242
387
872
39
185
785
501
180
157
791
501
398
684
862
163
398
375
704
550
81
13
413
964
245
655
622
523
910
447
544
564
73
168
43
573
8
72
156
49
539
710
67
839
34
392
788
397
951
691
42
408
393
621
249
395
745
197
952
369
76
543
708
743
286
566
445
60
53
812
134
815
539
622
770
776
799
862
823
648
855
255
427
955
515
981
147
205
719
551
420
583
811
856
84
253
958
186
194
83
978
335
960
289
595
141
576
716
736
895
758
98
305
246
762
758
925
464
167
669
335
1
243
106
509
182
508
701
518
145
374
654
151
563
257
872
602
630
642
450
859
720
716
118
139
641
841
269
703
394
745
703
311
947
224
142
883
448
330
790
141
847
567
491
19
435
321
190
683
942
703
195
482
111
693
328
167
953
842
715
35
625
487
255
988
640
418
113
2
840
485
485
911
605
690
732
262
417
573
106
718
478
206
780
726
488
864
542
581
479
250
195
428
184
618
484
673
906
912
212
828
90
222
34
135
679
687
885
273
671
507
305
438
426
138
605
472
483
781
857
47
497
70
671
313
580
259
728
653
300
249
542
239
50
298
610
429
662
544
93
532
276
467
199
301
808
313
296
921
16
573
134
615
877
742
821
329
351
74
981
37
767
657
867
534
797
964
989
271
548
206
526
866
152
481
530
375
320
313
355
570
63
847
188
948
8
909
1
894
632
599
674
773
398
205
655
836
604
360
953
387
382
30
879
632
966
352
524
17
764
665
637
544
53
408
449
240
500
849
246
447
552
693
217
432
779
458
39
980
18
957
812
209
260
27
956
328
991
266
328
413
678
486
789
445
77
316
74
350
261
715
712
85
636
287
416
561
824
992
221
108
153
945
416
431
219
194
957
652
195
114
566
663
526
124
442
611
41
958
899
701
5
180
115
63
744
785
415
39
411
890
811
994
900
676
206
175
382
148
258
805
193
613
601
689
860
627
448
82
179
222
571
301
918
343
833
233
601
228
164
110
55
939
527
805
700
42
84
147
411
777
33
999
486
761
990
939
252
664
308
20
624
423
561
563
103
237
410
39
105
750
906
153
854
334
74
147
128
11
690
680
168
517
812
384
301
834
35
703
823
499
900
34
660
777
502
487
327
356
560
904
645
116
259
749
763
34
466
194
989
232
394
650
929
52
197
848
578
576
176
544
239
942
47
472
969
802
720
215
258
80
413
320
21
456
555
495
81
44
540
977
413
306
751
330
891
182
16
168
177
76
430
431
483
9
406
461
404
968
347
675
723
248
125
865
618
458
12
776
658
71
104
553
857
239
381
893
236
884
637
785
12
975
294
1
24
709
301
670
555
76
790
609
489
941
256
339
443
80
726
235
679
178
348
832
789
595
512
346
598
738
13
5
921
393
106
951
953
87
283
893
29
942
84
317
458
10
324
254
288
559
814
122
493
231
400
316
675
831
560
642
905
125
770
178
803
912
161
323
448
687
441
891
139
117
683
186
837
370
643
110
585
152
824
911
548
842
347
698
294
947
211
462
747
257
689
987
379
919
218
730
758
473
902
288
457
493
985
874
420
886
3
500
319
405
461
19
526
341
154
960
141
406
386
337
636
302
433
580
998
567
557
56
130
280
592
72
294
749
774
33
196
835
833
314
53
911
378
436
547
978
926
470
34
604
168
30
104
315
851
542
7
236
343
571
421
876
802
17
668
23
919
220
812
656
214
265
639
829
489
962
525
833
818
227
544
852
288
179
9
382
352
542
281
507
143
881
966
143
390
683
418
552
671
360
275
748
701
601
766
184
191
700
995
89
351
87
315
585
87
469
706
372
401
213
828
879
724
694
301
293
889
378
651
190
892
817
442
586
815
996
305
95
2
14
550
165
513
408
300
184
878
864
965
974
443
364
500
474
327
924
804
112
939
471
259
184
397
954
31
918
599
322
379
183
882
382
71
455
824
798
972
624
672
277
504
800
739
385
380
746
254
689
837
759
243
379
436
555
501
356
426
566
599
228
69
522
393
742
608
929
659
638
622
714
502
394
635
119
228
289
504
925
930
274
692
692
58
102
165
369
598
726
508
934
907
954
921
808
93
5
757
373
93
24
841
818
679
595
373
596
628
6
132
909
319
849
47
798
182
34
158
401
28
624
318
402
612
78
321
20
394
364
989
251
446
896
691
533
608
712
9
21
846
773
166
135
255
973
712
468
690
910
316
781
166
37
36
411
219
193
317
456
356
638
557
455
170
562
701
172
620
757
455
877
790
290
805
508
226
808
332
520
753
798
553
933
534
130
937
880
390
805
439
374
600
614
399
556
417
957
906
244
149
222
787
544
133
554
364
955
619
392
430
285
933
709
471
144
324
90
602
76
14
896
799
971
54
206
989
832
718
74
766
326
632
597
538
459
804
870
314
699
971
982
185
228
493
266
937
425
969
585
497
720
999
177
443
821
819
569
879
894
543
669
914
782
970
757
337
974
172
855
594
538
487
634
353
787
744
707
474
443
907
241
778
951
918
74
629
163
965
285
216
192
96
125
537
341
355
764
962
168
784
561
926
103
640
113
98
637
378
789
981
221
601
315
523
546
883
580
445
470
460
698
247
0
725
64
698
160
347
133
457
137
951
618
739
47
849
728
492
225
699
370
148
905
750
12
722
423
566
732
638
819
110
172
986
101
990
330
239
205
590
454
919
143
232
682
172
620
661
817
811
598
878
772
399
658
13
959
283
750
366
790
283
984
802
842
635
229
282
890
761
331
39
678
34
766
241
577
383
788
635
461
970
298
531
831
971
17
87
155
516
84
6
660
311
676
135
328
918
497
581
129
842
461
817
192
312
503
755
471
333
189
181
235
190
934
283
815
823
176
12
45
97
94
624
743
796
270
239
297
269
153
307
63
53
907
41
30
258
712
977
909
659
571
46
636
993
545
928
356
771
631
605
828
125
880
287
399
62
678
88
334
954
971
442
505
217
446
447
429
883
205
59
890
39
82
459
92
904
428
651
763
352
94
385
131
616
958
801
878
796
21
473
186
769
250
346
993
798
301
602
430
927
822
233
651
570
913
264
323
288
203
522
252
92
72
706
627
642
52
178
710
205
610
991
548
731
269
627
691
593
205
698
937
20
330
882
122
949
285
40
792
246
535
835
432
425
434
307
911
249
406
344
826
185
56
732
449
667
379
571
200
573
584
965
255
50
858
600
127
623
123
408
899
451
789
999
778
836
824
520
520
382
391
458
525
961
513
312
812
844
741
525
882
272
236
306
15
477
998
357
607
523
23
657
241
176
107
769
501
752
919
853
640
684
97
483
834
919
535
562
193
950
694
10
214
937
845
882
603
252
277
743
997
312
153
292
425
532
149
715
27
909
918
550
241
101
645
500
965
519
211
562
46
249
339
675
188
925
759
314
383
388
289
163
755
151
463
929
790
231
112
39
578
34
370
95
667
705
73
814
829
217
555
409
740
524
130
967
274
412
951
966
609
462
242
449
696
396
258
485
596
496
395
926
723
644
377
494
739
170
67
795
941
231
56
736
757
286
549
569
197
768
709
480
850
706
624
196
419
324
993
580
90
413
716
353
390
181
849
389
787
590
217
978
440
419
410
396
10
163
530
262
785
816
380
424
489
785
530
208
124
577
152
722
412
818
145
896
443
285
176
692
198
880
498
224
614
655
267
607
100
698
177
71
782
654
371
586
731
964
451
306
733
967
661
814
435
22
432
191
64
984
162
140
183
270
906
179
228
727
234
773
628
926
752
60
359
83
471
924
735
900
17
883
162
540
964
102
884
947
535
66
954
314
330
765
206
184
898
231
776
459
61
916
705
943
511
541
993
598
282
933
443
19
355
20
525
745
519
763
666
982
700
638
540
888
851
915
238
773
597
331
64
124
466
729
484
639
324
38
485
971
801
961
700
260
494
287
950
55
344
699
765
319
695
999
565
527
971
48
646
939
983
266
425
954
918
352
295
599
332
198
625
939
936
822
738
697
726
642
927
426
399
204
501
104
203
398
61
733
921
834
298
384
839
287
502
563
729
375
518
36
117
147
742
786
618
279
112
977
67
31
78
501
235
956
565
931
958
897
22
225
743
52
857
645
663
899
379
803
387
67
883
292
104
61
497
772
602
521
146
256
140
148
141
863
466
411
974
932
910
151
977
159
934
825
79
338
147
481
960
880
625
647
821
370
449
898
124
941
157
565
664
389
209
689
937
98
446
552
768
754
255
751
313
132
194
634
571
120
805
190
228
835
569
645
742
324
978
116
927
449
391
736
501
345
673
940
555
27
98
109
210
888
92
670
382
504
54
196
873
19
587
92
437
501
122
463
220
705
755
59
472
826
824
893
852
331
446
902
327
78
513
237
473
671
961
178
512
235
336
960
411
197
13
761
210
788
646
145
530
77
849
111
103
880
359
956
343
547
634
508
121
988
185
532
564
159
85
800
896
952
96
49
922
556
155
645
297
644
882
990
720
613
329
906
674
634
742
384
752
950
82
774
132
618
793
210
525
300
489
271
953
459
635
448
482
341
874
732
609
696
828
511
496
911
250
40
45
552
191
270
926
529
142
986
665
25
888
860
793
979
602
592
993
760
488
684
320
801
547
951
54
356
955
198
225
779
838
109
583
920
859
51
904
928
702
285
659
733
2
607
542
577
697
804
826
470
979
35
731
583
359
48
52
61
642
419
535
806
630
811
411
694
406
550
636
106
908
853
329
723
644
401
569
175
825
240
388
607
9
633
293
550
890
295
70
63
720
764
15
361
701
798
677
101
400
517
649
396
611
323
758
356
922
393
508
939
710
337
330
708
688
83
677
52
514
227
862
718
637
524
901
9
398
392
688
742
50
984
323
291
743
398
201
18
419
838
839
75
13
854
880
900
322
538
778
842
503
898
807
556
490
867
835
702
634
119
758
830
456
348
514
898
440
186
745
786
857
142
709
953
69
64
402
957
17
645
452
56
943
801
225
720
506
949
78
219
948
508
180
53
8
259
312
234
472
896
29
13
649
777
122
770
79
795
897
636
185
920
631
502
626
648
299
26
620
828
34
900
939
878
798
536
892
443
675
314
45
205
291
682
398
7
735
98
919
736
868
272
964
17
115
47
409
297
318
764
419
580
611
678
908
719
155
824
124
246
765
257
635
391
144
487
611
433
155
550
846
81
797
914
617
103
280
396
178
319
712
817
994
560
923
261
479
128
714
752
883
426
293
134
953
816
884
677
237
988
606
236
690
982
169
327
260
64
874
612
675
823
561
731
176
47
799
177
949
473
469
993
28
753
856
203
204
546
671
106
833
389
413
603
473
997
944
118
536
318
70
870
597
371
253
872
74
594
427
719
563
380
188
499
832
126
845
137
187
26
907
299
217
424
235
59
982
928
931
823
505
101
134
619
28
799
722
98
195
222
45
697
987
667
981
141
401
572
308
535
690
99
143
953
186
308
581
384
4
138
476
63
711
257
104
220
251
186
358
564
898
610
174
193
757
488
708
519
271
993
400
39
959
199
159
199
119
16
295
194
120
758
540
87
789
267
16
86
271
277
199
500
561
392
430
983
45
149
127
563
788
684
188
831
266
806
644
546
775
700
60
646
80
616
421
279
271
159
58
112
493
598
116
25
247
63
432
609
157
461
715
219
847
165
265
861
753
101
722
249
8
374
55
461
277
638
354
897
241
573
204
852
351
586
851
138
70
9
413
807
998
786
328
905
203
344
737
265
664
188
330
627
943
910
435
391
637
436
405
821
69
933
507
632
100
845
23
677
9
123
413
534
52
878
124
29
543
135
776
306
713
125
786
802
945
132
161
23
620
188
177
673
135
61
253
446
102
108
315
344
615
612
568
736
862
642
496
686
297
132
128
4
941
543
283
757
955
224
484
735
396
752
210
480
633
343
825
51
785
918
75
832
528
286
767
951
9
666
187
199
656
674
83
687
595
722
357
88
159
796
586
425
125
477
303
326
752
71
635
89
967
436
215
959
14
43
66
276
360
610
98
18
390
377
953
975
735
890
78
497
84
628
953
542
449
334
951
424
386
714
128
504
597
231
772
796
362
475
275
165
939
836
564
713
95
818
975
470
327
948
68
816
810
695
530
449
465
54
557
135
627
957
611
694
315
469
884
327
738
32
440
85
217
471
87
382
509
132
524
477
435
359
719
658
919
696
267
963
647
784
534
602
696
767
660
487
27
131
323
113
66
969
220
919
547
489
571
137
308
299
59
460
324
717
790
949
920
545
861
331
778
227
859
306
265
902
467
591
461
840
133
852
925
619
581
439
901
671
747
68
930
941
372
970
419
828
322
948
876
39
566
94
710
925
564
189
731
289
349
476
915
685
181
126
553
997
654
334
749
82
216
502
96
708
124
723
941
371
118
97
754
882
248
377
696
188
866
53
419
606
235
893
271
986
302
856
56
680
355
171
459
509
703
556
19
461
873
361
572
991
360
237
203
928
643
399
385
589
700
873
356
585
622
821
952
439
739
188
627
228
423
409
32
670
405
341
348
791
55
100
662
189
612
237
178
686
50
216
638
414
213
829
925
916
141
311
981
84
789
480
507
480
883
658
524
691
746
340
828
62
31
108
228
28
825
41
364
86
977
768
67
744
643
808
611
379
758
913
929
200
166
632
313
490
289
718
519
455
424
436
842
777
91
628
769
937
491
764
13
902
285
751
185
243
307
296
158
913
652
347
694
798
756
829
246
192
727
378
481
875
78
965
810
97
993
806
785
377
260
440
556
298
711
408
65
231
246
593
780
447
679
500
764
854
518
52
237
885
251
201
440
178
96
307
552
558
379
297
537
730
266
512
734
736
661
740
476
467
940
883
776
896
220
329
136
85
249
499
831
381
692
688
567
975
25
980
585
177
683
37
982
24
773
475
379
91
267
657
272
209
215
656
380
547
633
549
437
203
663
694
970
905
466
391
642
47
324
916
608
509
750
136
775
644
276
30
922
285
431
492
125
471
619
637
912
546
339
804
734
255
784
27
592
233
465
398
494
332
611
24
489
980
501
996
436
937
211
793
67
610
750
740
558
681
228
793
907
307
864
81
406
251
256
197
930
319
165
892
182
527
440
100
888
677
98
863
16
622
542
897
5
671
762
117
365
981
527
380
360
182
348
956
169
386
98
261
123
352
545
806
436
100
296
617
795
145
188
703
60
494
598
396
260
237
960
950
35
650
160
327
876
893
646
815
969
561
253
659
903
313
442
830
320
706
648
794
320
669
593
527
869
131
439
117
682
563
558
201
19
963
766
899
250
51
892
174
672
126
356
318
435
45
442
929
385
850
480
812
839
461
139
269
206
127
329
386
57
865
470
15
162
15
305
725
750
197
13
874
533
652
382
85
714
813
45
665
542
881
86
141
90
706
678
938
57
85
138
962
444
678
674
241
981
374
277
220
757
656
672
214
374
893
18
956
822
590
156
656
389
394
868
509
119
538
525
214
886
370
32
298
773
604
676
301
126
905
873
339
860
444
688
140
165
112
542
822
354
109
434
94
542
478
628
506
533
299
416
567
727
196
251
717
129
141
750
520
613
400
437
550
749
597
912
203
698
80
578
5
66
359
610
597
456
771
368
646
474
753
465
480
35
164
184
243
485
286
679
937
878
971
585
533
339
600
311
724
795
351
242
183
755
130
142
689
223
76
594
292
286
541
975
917
735
54
131
621
667
480
443
457
58
838
270
262
174
661
798
278
968
54
145
349
73
858
736
774
161
213
37
832
713
225
850
113
559
55
321
336
469
749
838
397
655
73
796
131
416
413
582
730
511
620
974
22
398
491
476
140
841
710
898
201
311
371
653
669
748
342
424
311
405
33
647
304
500
78
516
598
949
718
796
954
309
25
145
855
662
931
64
388
278
824
856
434
205
136
765
276
383
520
280
702
492
392
588
31
307
241
245
75
708
803
267
899
971
728
714
47
210
591
458
278
228
52
260
209
24
316
623
637
182
711
953
292
653
543
950
382
798
826
84
303
250
331
168
236
338
577
263
453
281
868
775
877
196
781
427
955
899
34
423
382
188
543
310
454
839
95
779
142
556
771
876
330
658
822
773
975
227
916
595
70
768
98
322
819
691
610
175
94
888
800
347
882
777
876
192
43
92
697
680
35
237
452
246
999
84
93
941
307
631
823
897
950
852
693
955
316
884
473
407
883
610
275
343
115
918
608
505
745
687
773
825
579
986
759
993
932
927
734
335
39
115
895
868
936
446
980
229
982
108
927
183
694
318
724
338
484
634
329
969
476
6
173
899
793
265
669
968
365
575
2
481
194
823
441
571
569
958
142
987
492
277
104
655
6
467
113
191
601
384
948
524
120
387
565
796
672
32
458
304
124
669
144
97
346
604
802
610
988
41
928
912
491
607
354
303
16
379
864
647
600
71
986
704
360
924
239
625
796
741
346
168
864
332
638
975
515
973
846
469
705
718
101
472
500
909
24
365
575
252
458
492
414
634
134
507
504
446
867
451
607
431
798
995
466
531
107
446
332
712
828
898
636
912
289
199
258
599
609
902
250
632
474
762
627
12
807
111
245
648
816
260
629
332
2
205
139
173
144
931
860
295
412
118
47
495
690
481
61
685
514
759
969
967
661
481
760
88
892
11
932
982
443
762
365
924
992
956
485
404
92
501
156
186
826
435
196
215
664
894
129
751
489
878
665
605
19
245
111
782
206
671
231
973
182
719
985
770
855
625
85
965
865
341
442
197
252
360
844
815
296
195
881
713
11
69
717
948
344
429
631
429
804
988
695
672
51
378
926
745
901
567
768
602
280
465
368
560
162
781
995
362
37
867
38
991
331
716
551
372
180
809
958
965
342
25
225
453
187
291
537
298
381
890
5
892
86
805
515
477
547
944
813
603
68
753
334
843
897
323
94
832
495
679
803
138
496
344
92
261
416
334
260
412
999
914
646
748
86
1
163
225
472
914
516
647
514
777
748
143
712
672
20
747
992
198
347
204
257
665
490
707
591
305
798
43
240
109
148
701
120
833
942
363
601
964
315
540
59
543
545
204
528
383
477
289
659
725
537
212
108
894
58
446
431
222
585
187
638
156
626
831
626
161
408
338
756
642
631
719
258
795
688
941
275
492
40
366
22
407
865
630
359
281
93
577
715
573
944
904
674
703
258
73
19
744
659
628
212
335
743
82
493
365
76
543
609
766
851
579
844
834
431
401
159
641
379
977
337
164
61
781
477
498
25
773
145
459
928
291
650
153
77
371
641
896
472
149
577
966
458
720
176
499
891
800
424
830
877
932
520
68
582
599
361
911
407
514
679
653
300
653
240
130
490
45
363
960
287
271
292
536
925
43
585
447
604
784
487
668
617
424
553
468
185
746
26
776
317
422
432
409
611
978
130
704
756
693
601
458
63
705
330
785
307
129
251
665
677
406
556
718
719
778
211
617
495
583
682
689
848
220
681
500
541
502
734
627
230
489
729
804
168
515
520
738
442
272
886
696
551
697
454
922
173
509
543
328
694
672
305
199
740
220
371
369
730
524
161
880
53
766
271
428
351
536
451
706
947
901
415
52
451
727
704
54
14
325
837
842
491
247
148
481
579
624
322
13
398
798
721
320
812
524
883
966
227
121
227
428
558
527
804
338
993
179
583
138
116
436
10
471
784
466
900
159
767
81
359
444
646
35
79
475
276
354
558
236
979
411
577
941
1
783
21
434
238
117
502
239
938
965
882
275
314
500
980
57
973
331
814
866
560
990
58
32
169
519
143
13
23
480
531
903
256
621
448
994
993
250
972
391
737
374
304
882
71
11
411
999
973
792
886
636
589
825
327
613
871
934
69
199
593
620
249
146
594
583
17
11
446
811
100
220
184
802
383
465
140
699
619
42
501
12
653
586
568
653
866
650
61
450
30
487
414
999
198
327
273
536
363
52
460
704
292
980
186
715
680
488
863
859
230
577
628
204
385
912
462
764
547
232
39
503
163
830
149
522
150
49
81
107
297
877
256
607
210
134
637
825
813
690
451
801
7
168
33
652
14
226
624
428
217
410
201
978
475
977
835
734
105
303
127
909
461
206
410
694
318
751
2
405
819
749
75
423
923
43
503
802
60
877
494
52
348
444
458
326
443
464
733
922
700
105
479
713
523
398
76
130
64
224
804
153
0
553
417
516
763
141
770
105
137
97
212
94
616
611
933
863
491
474
70
206
171
682
159
663
728
617
989
650
894
838
152
764
807
583
393
810
668
599
825
398
858
25
857
964
12
518
24
203
482
430
489
673
819
682
431
553
92
941
846
702
202
133
755
740
600
734
116
897
97
193
910
282
282
594
694
31
815
457
729
728
891
919
629
595
259
927
273
178
591
170
990
82
681
825
677
337
256
815
434
492
336
666
309
45
643
270
188
892
791
7
888
121
932
565
335
482
314
821
522
462
215
523
977
586
322
482
907
448
206
732
955
328
659
623
105
845
233
267
101
259
408
702
91
662
886
219
306
148
215
582
126
382
259
820
598
331
874
959
564
605
79
920
989
524
888
448
783
483
400
247
765
605
303
713
996
102
813
459
664
797
633
214
294
242
210
392
575
8
213
972
176
780
223
146
447
23
487
583
381
346
927
340
863
572
537
553
318
524
360
331
773
673
669
304
224
197
329
946
761
452
701
936
292
923
675
847
538
594
347
275
356
670
476
103
67
25
210
217
410
600
787
791
683
672
930
606
270
376
979
153
851
451
80
926
911
718
995
209
502
101
735
507
889
443
379
996
493
524
288
489
751
233
246
202
363
920
517
922
754
836
256
698
344
706
65
664
276
126
702
649
50
900
298
340
692
778
441
261
722
944
236
363
499
489
787
888
685
679
919
441
115
156
420
250
532
184
443
464
215
304
937
507
237
85
748
751
164
167
124
752
961
674
666
80
652
634
38
512
531
450
23
337
290
563
912
225
752
867
783
257
435
294
170
53
49
767
378
294
592
53
752
986
529
370
291
246
425
512
405
292
686
833
484
554
976
472
273
952
96
122
746
798
923
502
385
706
216
801
212
797
72
280
422
243
207
874
562
537
682
267
897
673
619
119
20
328
547
46
952
392
145
740
966
318
945
14
290
827
114
236
769
580
772
546
151
157
784
572
409
579
312
426
892
550
450
541
913
137
418
526
750
565
657
322
694
821
692
834
662
877
743
165
618
551
67
8
475
3
906
603
305
394
345
799
634
621
121
322
767
487
713
938
436
117
611
201
661
835
834
309
4
344
479
660
346
661
394
385
941
426
381
553
756
943
748
762
872
917
492
483
29
262
28
616
334
318
130
241
881
490
194
335
664
435
825
816
49
696
200
62
972
463
562
874
916
911
87
499
570
809
566
45
508
139
852
74
419
775
273
263
515
557
961
188
555
782
807
804
80
51
235
918
219
805
395
223
615
316
494
172
347
710
392
748
840
514
853
937
111
95
930
789
823
189
389
101
199
374
275
337
623
141
548
34
883
825
716
753
35
12
319
165
719
267
944
815
45
240
66
564
698
422
78
315
298
272
260
54
937
637
590
606
329
170
981
48
726
697
360
658
537
268
32
166
67
558
879
103
17
891
819
839
486
466
325
834
681
936
259
940
541
938
384
652
577
284
175
313
310
154
47
278
449
381
970
189
661
429
612
608
751
755
145
584
673
430
976
6
54
379
936
352
542
500
857
16
745
632
990
838
954
754
192
383
225
240
282
375
87
144
898
160
690
143
319
405
858
901
860
515
513
64
236
247
631
526
625
683
935
616
757
90
565
273
38
575
188
33
97
31
948
813
732
86
343
766
886
837
57
188
955
386
462
505
869
722
523
811
808
343
330
661
38
254
677
353
831
703
934
170
179
742
602
525
589
508
56
614
442
97
724
717
342
155
975
479
456
302
532
765
351
679
183
336
117
102
857
534
370
682
185
853
721
854
627
852
978
307
204
437
438
232
135
944
48
864
192
344
919
726
583
177
263
831
138
532
109
397
581
465
445
485
31
651
819
946
723
357
858
548
83
555
490
768
255
742
594
445
798
101
554
423
741
810
968
850
191
400
931
415
994
916
356
667
840
569
713
212
771
551
72
894
958
604
841
686
219
286
206
484
875
926
359
37
590
345
720
13
557
476
522
500
956
937
904
361
958
878
235
662
273
84
57
233
892
861
796
254
321
339
595
712
448
255
357
813
937
91
526
508
631
988
892
249
434
635
629
318
624
282
14
169
154
55
713
738
45
337
572
906
355
166
498
975
871
909
796
527
231
925
12
40
128
379
263
242
126
989
546
698
567
669
713
385
84
558
39
113
210
916
637
257
569
32
260
513
416
209
69
779
842
734
624
461
355
528
779
712
895
235
996
350
299
361
374
578
690
464
785
576
861
766
431
653
37
189
422
981
797
97
172
249
304
350
305
714
947
217
394
193
405
225
964
290
265
677
938
436
761
310
923
211
200
155
767
990
465
986
106
262
871
11
829
915
71
371
572
621
999
489
609
790
476
239
475
993
791
399
10
190
133
103
485
204
975
505
674
773
501
125
394
533
720
501
130
622
940
969
756
526
778
435
828
735
614
434
717
815
368
592
316
423
912
848
164
926
530
487
840
405
441
213
554
517
179
592
283
960
113
740
781
895
184
798
634
248
85
728
2
78
777
740
140
976
287
726
39
377
714
938
375
952
568
863
734
587
531
912
678
836
498
37
862
82
106
694
369
442
121
701
987
851
662
712
63
760
63
542
261
863
786
900
547
929
594
388
933
609
815
6
333
749
356
425
354
447
343
461
20
176
365
174
878
918
397
999
443
289
839
112
103
31
885
663
582
963
197
936
725
384
277
891
570
633
194
393
893
535
129
830
971
907
516
477
5
955
268
773
774
999
769
134
150
522
472
216
326
280
70
396
562
586
435
691
486
270
353
809
655
825
720
494
779
691
463
887
809
812
123
209
97
581
163
848
53
829
560
44
993
50
827
412
226
471
753
108
349
696
297
768
974
141
195
540
119
212
928
772
70
790
915
290
88
687
55
494
288
705
566
588
93
942
325
753
740
627
106
227
960
408
982
413
97
722
492
859
403
867
95
652
979
340
121
918
877
120
390
820
601
350
68
959
460
572
260
209
203
609
121
770
498
297
331
400
602
755
761
332
469
364
751
355
72
29
360
40
356
156
625
541
168
678
332
653
828
275
357
899
317
306
174
747
678
690
748
390
958
192
956
608
155
264
24
575
265
236
76
278
916
731
980
117
471
678
461
929
336
186
402
569
720
711
346
687
482
2
701
433
970
919
569
171
986
97
690
146
272
265
906
300
549
396
831
329
467
306
562
596
6
160
206
476
905
196
846
218
315
529
48
727
168
470
51
215
597
85
524
229
43
460
503
268
93
125
949
63
145
699
973
999
868
525
140
51
130
475
9
255
169
958
817
844
270
287
540
278
560
923
399
326
683
166
918
114
789
673
123
207
385
299
355
430
125
280
288
999
423
366
169
447
456
929
443
978
958
197
4
894
901
884
801
342
628
573
533
732
444
899
563
38
729
841
21
560
875
440
33
559
341
297
352
88
288
444
365
556
553
559
546
402
81
246
400
963
364
151
592
451
315
337
304
360
170
266
293
760
473
40
501
70
653
423
408
334
513
202
653
478
876
993
628
563
317
294
934
246
979
567
726
417
315
870
130
553
151
745
537
333
420
836
419
638
618
201
465
419
414
677
936
39
272
614
707
316
758
131
700
663
401
542
466
720
639
688
413
642
869
633
758
53
996
623
718
186
528
123
532
385
610
570
272
523
112
819
901
387
446
551
704
442
501
470
739
841
591
56
422
93
426
205
74
318
146
882
696
672
336
574
619
618
683
322
797
584
825
714
806
325
543
796
539
75
95
779
730
924
100
604
249
829
840
773
876
605
911
893
740
427
397
642
380
161
196
852
649
507
411
768
338
15
164
592
532
971
137
653
575
508
20
438
602
781
278
269
222
319
557
170
323
806
284
635
404
425
689
627
158
846
524
162
536
119
185
972
123
564
93
807
953
134
225
422
954
437
975
656
704
564
133
210
835
151
280
166
659
629
553
236
595
480
840
178
518
825
617
494
282
574
243
456
763
34
633
611
4
957
768
339
543
388
296
939
479
538
172
318
190
394
308
123
457
188
196
469
906
138
601
405
15
14
434
377
674
601
749
242
40
779
531
808
68
795
119
50
812
433
451
397
43
918
62
68
252
486
119
70
20
168
327
888
633
755
962
330
985
729
424
985
512
878
493
319
474
490
310
811
877
915
202
801
387
529
781
162
316
663
328
811
715
629
567
915
823
785
677
533
102
268
970
943
737
70
180
688
188
246
346
199
556
571
152
804
252
743
627
562
945
288
899
657
607
178
969
436
453
647
676
314
681
300
707
82
229
778
748
225
957
401
583
644
768
653
334
365
741
184
504
920
392
887
524
230
292
38
610
804
607
248
399
572
853
424
96
739
951
794
763
385
969
165
605
859
162
574
340
915
81
747
255
121
970
201
160
327
969
931
858
306
216
380
500
124
882
40
303
794
27
273
307
479
690
876
95
600
31
671
971
708
791
753
24
465
679
596
208
213
880
610
826
157
197
824
938
71
344
749
481
928
134
274
161
913
126
750
869
117
637
449
738
259
240
483
76
369
892
6
119
244
598
719
979
626
186
600
528
268
730
309
596
925
759
358
172
782
479
761
738
339
301
120
899
521
471
738
951
884
327
541
845
82
742
856
120
384
977
11
687
686
378
485
888
721
714
417
597
679
605
570
625
203
328
427
488
323
298
912
941
327
321
717
288
546
68
596
749
702
179
905
32
252
391
6
268
932
850
894
313
994
482
756
96
827
616
123
944
11
607
482
618
842
920
731
36
656
302
687
246
490
222
544
365
711
647
983
252
128
859
45
265
681
466
922
178
434
716
450
478
149
504
482
407
725
995
100
657
746
322
795
845
678
942
283
286
939
452
517
399
623
630
286
698
925
789
382
454
953
595
768
776
752
814
584
55
579
522
18
300
2
971
58
253
142
283
98
46
951
869
336
957
284
505
387
827
692
836
574
686
815
99
989
535
363
328
256
982
339
834
538
120
109
828
520
589
59
0
484
6
435
185
142
221
520
517
389
179
360
883
384
423
137
372
867
549
822
149
709
19
582
4
507
303
514
35
236
597
841
8
780
640
669
755
231
17
711
968
328
665
274
239
335
688
435
522
823
449
101
481
878
642
118
754
300
590
867
981
190
989
567
616
536
542
972
17
615
203
366
188
752
409
674
9
866
218
982
586
265
712
76
460
293
253
477
551
231
504
124
361
710
271
964
202
503
441
198
786
37
289
819
765
774
666
320
623
0
951
261
790
639
247
278
518
994
507
951
220
882
90
153
490
403
411
308
587
987
550
924
849
206
322
685
299
386
715
871
110
36
496
185
906
551
838
320
480
36
882
291
630
825
322
846
858
804
923
510
525
21
613
668
646
543
30
715
809
564
91
544
597
308
359
769
317
832
945
720
275
563
531
560
699
405
978
307
124
762
187
565
409
944
838
32
681
885
508
59
993
811
527
605
340
751
256
246
861
353
29
857
320
611
891
320
715
7
299
971
954
547
236
115
278
856
367
244
749
427
4
574
300
242
902
839
873
258
133
383
633
60
218
606
59
620
817
216
621
67
367
447
961
867
879
524
742
574
553
181
811
522
554
471
653
414
593
311
175
818
248
275
947
217
898
379
955
214
455
745
267
35
766
895
35
857
180
106
332
332
839
161
880
585
470
462
159
891
555
403
96
402
771
385
501
245
111
141
380
514
815
878
72
280
305
729
376
361
680
296
438
766
574
539
115
148
176
183
638
747
639
320
647
910
454
253
444
737
798
246
462
835
643
694
366
687
487
313
621
163
289
600
698
664
320
540
993
214
715
126
156
212
645
962
223
676
614
842
87
233
289
794
747
584
244
588
853
251
947
475
610
268
96
385
831
18
164
188
413
74
597
52
185
890
550
9
438
278
906
403
388
629
390
363
849
357
144
982
415
112
202
74
587
244
979
662
27
675
281
23
652
777
312
103
53
918
389
257
785
240
721
991
322
63
906
260
526
979
956
390
819
357
640
808
551
605
369
137
336
627
873
25
531
303
900
151
97
805
532
204
374
785
74
42
52
83
568
199
58
476
298
640
684
759
23
416
792
296
639
105
738
961
607
201
95
225
922
2
975
811
431
981
930
834
504
851
207
229
850
32
654
621
481
710
984
605
559
451
985
829
398
668
826
979
190
956
433
368
453
879
339
299
707
8
18
943
955
634
310
297
682
381
303
143
626
860
483
461
346
878
888
471
211
31
715
708
484
619
427
930
441
76
137
155
834
45
670
551
161
795
178
645
717
959
680
455
231
667
53
94
109
39
773
898
975
334
918
261
783
497
886
786
463
558
916
595
539
624
111
344
827
615
902
385
412
952
781
989
624
517
454
375
618
541
157
533
352
61
805
648
662
259
938
245
288
601
284
387
44
231
47
905
41
233
941
559
583
788
82
238
882
27
66
865
120
149
159
551
652
978
160
781
156
412
862
919
149
103
107
557
203
936
415
704
415
706
16
951
701
582
986
580
116
338
174
981
713
662
528
440
358
407
231
693
353
30
973
109
888
850
706
505
90
873
737
289
901
756
547
57
209
984
840
36
644
985
282
411
690
259
926
882
826
850
328
810
295
33
550
566
649
616
98
224
800
919
70
122
958
332
603
348
69
715
331
366
589
626
240
803
959
2
695
198
406
860
684
985
371
537
783
965
55
989
159
722
506
825
50
581
551
419
573
621
31
185
371
916
104
598
102
176
561
650
894
61
761
359
72
284
836
394
280
808
68
784
466
650
118
18
716
661
125
738
721
924
358
690
358
357
607
213
429
930
574
751
584
195
956
414
60
8
295
89
270
499
629
182
992
924
162
682
304
411
955
813
759
668
415
104
205
388
856
90
868
339
268
627
490
329
895
465
611
138
231
422
864
82
53
859
841
484
766
669
487
275
64
611
635
189
796
716
716
358
380
261
541
41
154
655
867
739
792
383
397
776
174
576
123
711
940
878
334
593
523
332
146
353
623
387
955
35
807
582
163
79
697
45
84
294
732
218
399
49
614
560
395
389
477
594
535
548
439
147
954
414
777
637
10
327
427
65
998
703
66
814
145
577
799
412
421
913
771
198
285
252
441
400
985
541
973
37
879
90
761
875
817
475
284
515
220
497
448
191
305
693
812
390
306
261
595
783
665
529
574
786
906
121
497
748
529
158
375
357
650
119
428
923
131
192
904
579
530
960
139
37
53
187
419
202
780
638
261
851
596
407
217
735
897
762
383
43
322
22
996
281
352
668
361
514
648
783
375
82
535
50
653
717
157
412
329
219
281
682
116
497
381
580
540
412
201
511
146
479
453
409
410
322
475
156
450
862
106
591
230
902
541
662
832
654
92
229
698
379
425
623
86
659
804
31
146
740
630
620
625
339
184
332
973
793
34
502
537
520
342
52
994
594
216
961
300
973
819
718
940
194
444
863
983
598
647
120
966
226
714
43
276
778
171
669
370
749
341
96
316
385
660
84
791
578
556
862
42
674
798
390
256
745
790
134
466
935
66
15
146
371
469
911
912
442
946
635
168
583
117
221
558
445
26
125
802
816
233
152
989
95
550
915
860
282
252
807
408
61
228
391
81
800
692
822
422
524
309
74
427
714
959
903
513
920
641
615
324
107
46
687
985
882
722
755
561
581
367
752
250
918
855
524
471
709
209
931
130
572
690
935
554
740
472
379
62
147
135
538
189
569
736
603
309
130
476
20
799
686
799
119
266
926
42
913
871
449
398
685
117
352
432
167
103
123
372
646
879
939
990
536
645
965
65
457
632
220
247
998
624
903
473
151
9
991
259
226
744
24
328
4
506
565
256
717
734
856
573
459
762
800
309
999
367
338
875
976
852
904
368
207
222
711
824
893
954
622
310
264
659
508
50
625
329
581
907
837
308
585
553
563
142
961
835
955
161
119
62
762
405
107
143
741
241
369
536
100
791
213
639
490
968
409
565
810
770
471
740
258
447
724
758
563
101
209
36
44
779
27
931
957
418
558
637
56
731
852
82
877
53
36
391
988
808
884
724
77
116
241
157
451
284
605
681
865
59
998
457
324
324
971
561
183
115
195
290
57
840
211
801
970
599
99
730
450
200
765
55
943
713
615
384
298
745
340
939
11
915
58
413
568
464
680
424
823
716
350
192
833
921
636
453
324
102
427
468
768
662
796
792
322
209
527
763
160
464
354
975
737
81
9
814
596
303
76
844
450
87
567
488
634
69
678
430
284
1
867
980
964
756
888
955
579
122
316
561
55
531
360
201
294
632
142
888
14
386
668
745
723
649
661
390
95
462
584
289
637
363
65
605
196
736
156
293
352
331
130
634
96
551
798
183
358
115
710
117
763
726
511
791
818
582
398
45
442
993
715
777
460
314
622
812
276
79
824
946
771
594
776
275
138
473
822
733
637
447
929
765
15
64
410
767
161
371
213
993
54
657
209
752
606
439
620
518
843
507
192
828
338
822
841
914
730
940
49
798
787
441
949
303
736
61
227
588
171
570
829
338
371
871
792
196
183
702
854
58
532
786
24
99
678
379
17
715
536
791
695
39
26
20
539
212
163
887
260
866
426
579
605
358
445
517
511
556
335
422
472
943
204
890
571
38
765
426
261
780
581
451
525
906
804
526
589
374
913
447
11
204
172
922
153
326
616
437
241
279
992
923
256
258
546
91
447
818
987
317
303
472
977
170
472
840
399
910
115
81
480
523
64
779
471
115
510
171
504
445
555
743
256
557
192
501
215
993
936
234
651
661
390
184
516
415
913
698
219
860
778
597
208
215
811
27
772
645
703
994
660
306
481
162
814
280
379
151
745
485
358
899
906
411
43
172
531
629
770
994
22
133
203
668
644
932
41
826
57
592
252
521
476
867
10
620
583
666
500
702
444
983
971
994
276
212
951
513
949
454
986
41
250
177
53
995
220
411
52
978
951
970
535
159
821
155
161
98
513
700
42
987
387
402
183
695
465
918
344
416
388
406
449
438
48
686
30
262
946
837
255
363
108
299
250
96
707
127
686
30
690
239
14
954
612
531
337
290
419
464
602
292
168
548
176
800
801
900
863
345
604
181
855
445
295
364
466
20
332
22
417
348
560
209
912
581
47
590
660
619
540
312
892
88
330
473
168
321
138
954
284
412
703
345
752
113
117
277
886
860
330
807
775
435
7
305
810
370
139
350
715
787
41
505
868
290
837
404
58
3
38
247
549
219
348
109
156
603
363
803
428
436
132
438
789
863
787
833
52
136
844
254
58
29
621
57
110
518
760
576
805
342
816
921
451
950
75
362
960
194
932
440
472
827
559
897
999
946
840
935
564
733
570
765
26
191
207
530
193
733
492
39
715
411
657
789
756
914
39
486
32
531
106
676
432
927
167
944
670
601
766
74
693
582
704
351
798
690
396
513
677
934
324
981
332
374
139
253
739
272
16
17
434
596
586
896
300
846
803
98
459
938
129
355
325
627
434
203
162
176
558
65
667
247
18
683
490
919
436
171
786
562
617
533
715
123
802
510
973
83
959
624
718
782
250
533
700
393
807
352
24
465
368
147
573
304
409
539
304
834
244
166
146
307
861
91
966
216
575
698
561
257
315
993
63
954
37
307
601
102
566
472
867
138
595
989
584
893
839
100
339
72
454
400
521
601
499
632
113
719
177
102
214
16
522
717
586
703
356
473
272
591
640
73
118
412
534
43
48
728
90
430
571
300
649
147
636
259
437
621
758
434
818
351
310
352
496
399
683
370
11
506
492
947
250
960
307
10
904
307
45
115
678
345
778
661
784
412
80
614
54
531
713
531
216
240
672
792
571
76
787
272
167
311
411
918
835
780
510
21
20
741
467
6
268
139
905
819
502
65
77
665
263
811
345
174
956
67
379
536
748
548
339
182
904
427
142
790
332
494
839
882
264
231
267
969
275
796
225
122
277
896
765
854
921
911
602
314
26
78
63
962
365
494
523
966
779
852
882
223
894
92
674
566
374
855
729
502
910
879
903
290
829
336
313
884
972
4
876
53
623
774
266
481
803
45
167
32
391
505
387
671
431
510
733
745
979
497
947
809
578
694
370
992
192
768
407
792
87
32
54
777
790
604
405
817
942
976
353
651
619
517
32
326
233
48
582
532
376
874
186
238
998
554
353
246
218
216
909
987
560
72
369
363
68
130
581
583
78
111
809
824
239
325
206
95
988
48
96
405
222
440
962
245
393
164
20
622
498
777
913
406
362
358
816
380
569
166
496
475
953
42
619
955
130
182
917
599
204
927
257
525
311
315
730
378
101
114
81
541
85
1
191
751
557
344
255
869
70
257
627
501
660
257
875
610
757
583
839
145
442
882
706
845
323
739
957
364
237
501
824
720
584
276
380
154
199
453
87
806
887
752
703
540
775
615
76
405
425
815
847
3
500
425
459
768
259
479
761
637
604
964
118
498
512
548
544
603
797
281
926
723
527
543
522
926
824
319
746
544
251
363
32
112
718
825
130
543
727
875
345
128
860
769
77
699
810
806
34
253
594
294
77
335
284
924
106
121
554
187
392
74
311
915
328
144
792
339
233
327
446
391
964
913
426
885
570
48
545
616
375
913
253
325
699
712
744
455
67
519
557
181
784
699
861
389
953
971
779
94
641
243
47
413
340
288
453
578
459
249
784
498
514
870
935
810
552
757
651
654
554
774
571
777
780
267
474
648
840
305
79
436
152
627
345
422
154
596
524
444
19
629
548
619
289
964
873
107
349
568
791
73
677
379
472
539
853
198
418
616
768
602
72
756
984
190
878
277
321
795
931
810
948
831
793
512
781
286
408
333
444
481
380
218
377
521
127
164
566
143
164
758
720
908
768
732
412
674
146
961
226
720
508
230
348
785
959
498
308
765
366
393
404
409
27
465
120
776
412
517
630
981
592
568
585
524
151
337
301
997
250
619
675
460
248
310
453
666
862
441
108
63
961
705
450
734
594
404
731
128
469
140
574
201
381
904
875
709
660
912
403
574
985
285
133
802
629
845
720
514
941
757
456
192
818
61
101
26
791
694
85
446
110
20
729
42
875
798
956
171
771
225
640
703
866
877
660
54
204
447
558
819
617
361
851
139
562
120
725
342
559
635
16
157
717
615
262
812
204
697
436
397
574
205
971
410
881
568
529
639
612
795
49
253
164
201
924
832
519
134
958
824
686
222
105
482
926
986
610
665
634
869
225
668
121
558
249
918
617
765
229
633
640
621
116
495
74
441
758
83
373
541
634
652
824
799
651
297
797
5
104
597
268
661
871
782
677
122
844
383
303
291
986
376
394
286
564
421
666
759
948
984
6
239
768
935
216
217
163
450
915
634
337
689
834
42
547
364
29
866
690
83
378
709
76
851
408
95
942
586
246
784
387
278
371
322
264
218
896
381
436
163
967
717
550
961
295
844
747
999
229
229
667
883
485
624
813
706
387
988
121
15
884
550
299
538
825
301
157
604
767
479
837
273
451
556
564
89
838
602
561
300
830
419
835
359
579
285
64
52
70
769
186
319
810
511
499
454
84
650
851
426
705
483
802
605
671
924
543
183
312
210
516
320
223
338
337
905
548
917
697
283
534
360
194
663
228
224
179
36
682
134
886
496
669
339
432
567
588
198
680
421
669
579
816
740
674
420
547
300
273
809
986
457
312
3
838
942
906
805
287
465
213
836
716
59
297
594
179
207
624
329
914
819
416
679
727
84
20
422
559
593
985
498
293
640
177
747
344
593
249
806
922
490
731
640
257
925
51
566
737
426
949
390
719
935
499
930
374
250
333
119
761
439
899
159
499
17
896
672
713
667
306
610
615
531
914
900
982
771
302
579
636
155
881
945
893
324
147
100
302
403
197
661
94
215
955
285
307
838
109
64
695
581
78
585
345
710
247
512
686
752
843
81
891
879
700
599
56
188
308
353
460
622
180
572
126
616
384
210
773
25
444
86
724
936
478
300
822
731
897
8
95
446
274
494
951
250
67
90
23
87
253
388
844
279
187
798
877
840
10
841
544
521
463
893
828
89
997
79
347
401
899
655
528
402
528
127
283
850
250
779
51
30
896
324
596
359
338
771
812
674
810
652
839
148
202
286
155
225
330
635
112
749
459
842
876
817
245
316
857
270
187
610
926
875
514
412
555
977
845
178
60
974
874
117
962
882
565
694
147
382
278
221
95
553
942
61
672
327
621
944
617
510
269
391
709
927
594
396
908
794
418
220
303
499
594
423
315
173
475
2
238
568
164
28
416
558
869
177
618
37
608
142
102
43
815
310
879
470
93
825
374
913
51
84
454
43
875
673
827
310
962
420
330
139
741
242
780
451
474
695
767
86
134
334
474
940
921
817
26
836
549
995
782
587
982
877
710
97
549
999
946
745
899
187
375
322
24
336
212
43
301
800
753
770
846
615
807
324
545
412
124
960
700
943
975
655
606
644
503
598
4
477
501
225
428
5
94
946
471
281
822
688
445
648
578
894
132
541
243
289
814
968
562
816
807
310
928
422
418
749
672
160
77
509
742
625
862
959
222
984
602
106
380
24
150
89
929
851
893
779
981
661
116
992
890
553
614
62
74
724
964
751
709
941
689
579
32
213
665
185
596
111
673
957
165
928
7
115
179
269
130
291
675
109
961
53
570
447
122
760
56
463
492
47
967
833
168
533
444
912
331
578
944
629
828
33
248
952
460
271
249
949
615
259
993
40
763
207
342
955
846
468
707
888
646
466
88
181
923
151
436
401
298
361
828
436
965
865
824
743
766
932
805
435
820
791
608
490
3
440
338
170
69
248
735
719
867
470
332
771
989
528
639
313
248
804
773
552
667
449
117
468
533
590
931
160
599
856
615
878
532
68
272
0
218
36
545
450
367
438
793
890
896
200
992
544
604
145
667
585
896
495
104
693
708
756
369
709
676
438
442
26
255
119
602
535
953
268
447
194
715
517
970
251
303
119
104
971
45
299
850
736
326
973
749
645
921
160
219
20
617
424
802
190
974
926
638
988
555
721
890
257
548
478
69
98
268
414
282
466
122
215
700
295
135
756
883
288
776
204
424
624
826
974
540
316
311
933
968
801
662
897
636
657
826
777
258
616
409
947
326
906
883
683
267
103
413
347
380
929
113
983
518
842
969
377
427
469
4
957
445
798
793
539
650
876
446
232
525
925
302
111
684
38
878
320
333
53
797
172
348
955
948
735
578
943
716
612
538
847
238
720
408
746
856
348
701
703
28
861
874
823
825
784
353
582
290
320
574
212
756
478
394
242
177
895
391
457
159
96
132
156
691
439
124
904
760
47
237
405
509
120
573
679
932
999
290
180
148
20
808
242
18
210
164
32
388
74
569
938
643
643
856
948
598
433
356
334
74
275
396
351
425
375
253
527
855
642
114
352
718
250
630
893
625
382
814
943
636
391
318
215
39
842
943
547
121
586
97
960
996
230
777
765
873
647
260
137
380
706
535
997
977
815
340
87
627
478
490
766
406
391
414
591
545
716
212
939
121
645
663
265
891
83
489
510
635
13
386
577
160
328
536
886
747
267
873
341
93
781
749
898
679
563
830
73
234
144
991
914
342
292
333
340
421
429
996
698
779
934
15
801
212
861
847
847
310
956
208
947
374
465
294
265
882
90
826
780
858
145
971
19
477
376
398
370
940
906
191
784
694
910
834
37
35
498
997
472
396
634
838
424
873
541
493
888
572
811
573
783
912
717
179
784
178
210
782
161
510
945
737
35
675
184
3
384
291
531
840
498
72
253
596
524
672
880
151
956
556
377
164
911
332
956
345
881
439
985
504
486
25
370
460
544
67
814
610
340
678
789
418
13
414
493
771
396
109
626
978
46
273
811
912
430
296
495
233
16
432
647
948
74
228
859
712
488
198
863
369
724
922
53
26
912
180
239
775
635
594
497
96
60
552
39
470
240
807
155
208
175
374
108
412
726
855
836
120
258
271
700
161
776
356
178
128
650
310
248
467
152
354
877
986
258
477
738
206
90
120
390
583
533
22
906
81
273
105
848
261
328
785
838
101
462
368
683
94
357
886
508
841
858
331
753
167
251
397
185
408
308
349
185
43
939
950
161
77
785
651
370
588
196
70
10
838
896
908
19
464
759
320
756
787
582
608
678
646
10
827
550
966
760
589
669
984
707
623
727
893
252
856
953
678
382
703
736
221
848
850
477
49
462
878
786
331
447
191
21
546
477
977
775
367
566
676
284
567
197
425
817
23
384
387
409
558
42
465
176
457
631
458
466
263
56
951
566
455
538
656
486
809
7
497
642
165
392
107
452
541
350
124
255
271
212
275
645
915
715
158
173
564
467
482
975
439
57
479
423
964
533
433
533
316
32
706
160
534
551
984
401
859
416
186
909
396
700
418
8
715
879
581
603
607
146
302
34
576
582
830
306
712
829
573
626
340
636
740
357
856
82
861
499
464
911
57
799
642
82
771
938
488
985
98
277
260
506
604
904
363
452
707
520
534
122
638
595
309
737
553
232
469
91
231
744
503
526
622
70
363
877
771
952
765
190
939
168
851
800
587
487
967
221
245
98
476
333
800
663
829
180
322
345
130
218
106
996
417
19
813
683
433
34
298
141
421
15
859
408
954
411
569
30
745
705
412
679
153
232
707
33
791
591
117
833
27
308
598
424
980
778
166
55
613
207
991
436
932
442
446
697
842
388
747
1
702
79
627
150
53
826
665
352
632
329
418
268
119
685
19
980
996
410
882
208
490
633
927
103
967
122
117
283
494
314
967
705
344
553
324
191
297
892
118
1
384
346
331
262
390
251
340
89
873
547
665
992
409
180
832
264
439
824
499
633
844
325
986
157
766
232
776
264
304
787
562
774
711
124
807
63
546
123
263
928
749
437
790
3
61
135
920
872
48
259
800
932
501
356
644
619
103
255
391
130
742
99
100
503
643
392
773
383
989
667
689
312
669
361
371
98
974
923
442
756
678
462
759
573
507
151
61
335
343
204
670
216
914
951
500
545
897
553
636
133
186
120
478
398
650
882
200
929
980
565
698
434
868
490
298
808
640
254
495
145
516
335
54
394
162
473
901
28
640
987
202
158
188
192
529
508
204
438
691
368
859
113
6
126
786
260
387
943
499
726
851
877
311
693
85
712
903
284
119
840
717
288
185
612
787
600
667
884
284
17
638
945
442
782
23
104
340
664
748
705
424
808
560
633
673
169
308
203
640
884
925
861
359
802
980
179
307
515
810
514
640
277
653
428
842
415
736
36
19
42
731
595
823
611
104
740
619
209
719
889
731
979
478
835
289
891
601
902
351
682
37
634
85
718
642
647
306
129
814
997
98
582
854
331
631
450
960
672
320
630
773
3
943
538
676
979
992
507
107
783
289
549
499
307
53
324
413
876
120
812
978
914
236
412
867
451
466
97
96
239
55
261
739
325
359
919
671
232
354
790
521
522
9
771
188
51
310
488
528
269
554
521
9
737
224
342
149
874
20
191
412
16
769
738
954
938
401
930
918
374
961
239
775
523
942
437
51
626
879
174
495
79
644
883
896
3
251
228
989
83
147
645
329
330
52
306
867
11
864
121
198
622
759
61
54
701
516
387
944
695
466
351
451
632
884
340
960
86
446
914
169
422
221
535
469
42
522
814
142
252
191
779
225
411
158
416
88
497
557
686
707
628
768
215
130
803
429
165
918
242
302
901
176
556
413
987
721
76
325
278
925
126
966
65
856
573
268
601
471
883
113
121
281
710
394
726
651
69
508
542
740
539
79
645
863
83
204
846
292
158
110
893
245
695
892
566
281
873
198
590
740
139
96
245
589
483
889
932
846
130
937
693
876
653
45
361
216
103
329
477
630
917
933
582
90
716
499
230
832
323
953
18
225
719
931
616
471
537
437
288
989
837
861
915
148
837
57
202
995
955
862
819
720
527
770
249
606
58
765
222
20
677
868
831
847
250
354
193
531
575
527
644
606
6
928
312
819
47
84
612
161
71
497
361
237
536
453
877
874
735
408
700
991
806
360
281
283
543
729
177
237
848
824
163
675
851
689
820
481
402
240
629
887
503
834
990
746
524
366
714
994
554
215
229
606
95
726
903
516
204
229
584
800
794
261
87
171
801
515
735
802
114
446
77
204
323
933
310
219
488
60
411
440
611
189
731
872
656
943
362
513
416
785
501
336
483
560
772
956
856
191
541
877
133
204
55
418
565
900
691
285
502
709
244
79
959
711
454
451
968
550
255
589
517
264
954
340
311
783
502
314
693
386
199
730
891
257
671
734
621
566
526
675
360
675
825
408
845
762
710
888
186
530
273
996
939
679
318
349
699
22
321
802
77
402
87
905
179
547
606
445
481
60
741
398
542
583
184
397
511
155
315
509
922
729
85
813
642
998
277
939
873
802
598
728
900
588
982
244
311
729
1
207
350
73
682
161
652
108
28
421
538
112
896
580
95
589
438
30
773
97
826
257
568
320
44
530
558
50
377
502
228
34
504
103
21
29
994
39
83
303
123
691
869
934
352
312
100
830
967
901
481
277
807
353
594
917
392
932
886
824
378
877
175
369
277
566
815
792
434
938
530
734
559
976
884
967
611
867
75
786
46
515
279
772
527
301
11
77
722
299
654
918
530
452
646
634
486
571
177
984
57
384
636
936
606
841
254
579
783
904
347
60
986
511
576
60
945
513
118
683
619
816
1
508
679
763
248
36
453
67
256
58
769
251
728
92
557
524
613
17
638
691
453
584
101
750
562
175
406
213
99
660
377
544
209
419
175
182
356
513
579
131
922
181
476
948
442
24
999
582
354
826
573
502
40
617
48
738
679
385
789
609
331
500
205
264
132
457
632
932
675
737
343
89
769
829
208
686
386
386
523
532
599
411
393
663
888
802
340
532
366
966
773
710
700
967
306
327
856
301
730
371
756
547
828
137
632
642
917
414
151
959
164
985
876
904
509
492
733
706
535
576
144
994
876
657
971
264
995
608
338
952
947
463
919
438
972
524
783
746
349
438
353
315
844
608
751
78
240
413
314
966
575
492
332
197
87
815
933
3
264
814
903
742
973
183
811
439
422
455
889
218
782
725
742
182
363
425
983
94
576
883
276
351
167
921
305
406
855
837
74
181
655
533
722
760
768
347
304
700
681
387
79
692
648
589
864
633
513
511
470
7
348
13
853
927
841
993
122
721
698
472
22
54
196
451
533
653
762
503
146
483
238
687
893
825
973
480
481
664
301
662
833
210
152
205
886
446
218
730
818
764
561
47
180
452
704
472
736
646
892
60
714
167
493
765
161
243
769
39
293
79
200
264
21
81
912
403
495
752
404
127
262
270
526
144
939
733
710
181
348
419
766
525
549
610
17
290
781
713
761
521
664
135
189
479
392
188
567
7
666
570
196
913
411
345
236
678
532
221
919
863
328
670
318
66
324
209
117
747
26
953
794
500
812
196
301
624
288
617
709
50
567
600
588
337
448
372
675
887
24
819
510
90
59
321
489
968
49
446
946
627
931
303
624
297
251
631
985
88
491
582
600
524
348
542
199
462
93
669
584
779
199
454
98
753
773
701
803
497
389
735
713
367
527
400
571
996
583
89
783
898
920
633
875
514
25
571
256
745
947
942
84
122
912
246
318
324
53
695
909
722
727
662
121
227
931
842
402
901
869
20
941
336
374
858
281
677
853
884
418
267
41
337
122
617
316
462
108
220
424
592
579
547
130
148
175
576
459
696
483
470
253
754
108
746
730
424
790
806
888
92
125
14
454
129
507
554
160
88
805
369
345
348
994
109
126
618
312
489
872
54
528
263
183
338
161
999
463
165
717
902
161
650
790
281
293
748
718
339
840
495
25
748
870
780
648
542
337
794
333
501
602
693
998
687
52
510
441
692
195
30
240
10
0
751
397
263
663
349
902
446
164
22
11
152
970
379
147
849
132
5
347
276
284
485
519
48
377
252
102
46
413
84
183
474
148
136
481
278
509
108
666
570
698
141
293
929
505
291
796
821
716
147
968
306
248
576
953
951
800
320
81
359
308
770
77
932
358
208
582
454
887
599
98
746
519
686
235
299
807
383
60
69
708
131
478
403
481
77
745
871
468
366
855
122
484
71
760
999
41
930
311
570
313
248
578
976
858
605
612
589
636
756
953
385
204
703
607
990
788
152
498
274
462
99
747
358
674
193
928
788
64
189
175
648
214
480
659
354
718
726
263
446
914
103
217
252
962
161
28
572
582
1
431
838
648
693
961
471
793
267
426
704
212
907
282
902
355
470
426
209
754
668
421
517
497
130
673
273
458
906
408
44
653
619
74
145
408
813
999
56
142
245
164
76
46
265
330
534
266
338
93
392
652
162
28
331
246
331
771
158
856
528
79
726
189
973
877
641
904
491
716
769
943
145
518
208
762
109
986
748
227
789
744
590
891
835
364
695
997
409
17
414
292
645
369
57
168
190
841
352
932
804
605
163
301
537
263
826
916
671
631
483
826
96
397
964
18
325
647
401
489
618
365
275
719
178
313
381
618
970
628
445
496
878
425
921
807
6
808
741
448
622
586
819
30
843
336
78
482
396
31
866
568
649
788
990
903
765
959
942
962
601
433
878
41
655
478
967
508
925
543
315
316
589
521
471
514
800
515
209
182
442
68
247
868
296
846
37
963
787
874
815
975
812
950
192
55
584
121
812
275
146
229
192
137
712
835
382
808
515
223
884
401
878
484
720
147
409
537
168
467
941
374
326
657
774
635
345
964
327
116
822
998
748
217
362
698
55
16
926
550
12
381
454
654
523
225
124
666
196
18
876
680
479
728
174
966
270
960
191
988
951
318
217
350
474
257
82
468
520
381
21
594
381
604
936
925
729
342
309
724
795
846
283
868
738
843
5
333
422
131
139
845
449
347
389
137
11
339
513
850
489
791
496
963
908
29
967
691
734
515
568
659
149
328
629
860
63
239
124
423
504
417
469
102
449
987
456
307
112
15
651
350
158
827
846
998
381
83
455
100
320
757
797
173
38
543
850
195
737
207
560
157
43
346
328
719
719
501
910
339
828
919
124
309
947
167
368
184
651
775
424
111
605
670
146
793
482
555
157
443
836
993
47
463
485
999
111
891
354
427
626
434
334
377
986
397
668
742
12
2
139
506
515
473
108
511
210
325
963
572
57
602
203
172
124
838
983
241
890
572
431
554
218
22
191
816
47
716
307
56
730
592
950
457
948
65
460
656
973
652
406
740
448
651
643
535
740
92
179
169
993
234
633
763
538
839
756
279
297
418
645
932
161
453
474
736
549
318
5
769
543
225
81
162
802
139
392
866
823
678
899
571
471
932
491
89
868
59
904
299
247
94
457
173
278
926
207
477
416
744
177
279
554
576
102
149
930
280
150
19
650
203
320
42
219
358
185
493
529
522
552
797
312
713
918
445
952
212
998
327
382
616
782
721
401
721
424
392
534
689
19
413
368
481
559
784
403
32
974
97
130
410
848
995
491
167
739
118
913
758
536
171
348
709
996
408
626
586
957
89
49
804
206
99
123
310
40
753
173
10
741
921
561
904
352
523
830
664
330
873
721
712
436
215
531
558
357
469
212
405
176
293
834
543
498
175
243
829
777
996
911
854
329
102
31
183
982
224
366
474
634
12
765
375
855
932
829
203
534
64
307
216
353
51
982
789
222
426
547
831
674
179
259
214
694
970
178
368
805
773
86
922
975
930
754
473
766
96
454
954
980
218
722
833
136
979
970
746
493
796
996
341
675
75
174
689
743
724
612
572
29
197
150
808
985
132
132
118
919
912
952
557
613
590
240
130
170
372
311
284
641
701
816
968
182
555
684
935
105
433
763
444
236
460
599
476
876
213
584
430
801
338
312
535
873
857
79
17
893
263
934
728
448
920
412
324
394
380
325
500
351
618
117
74
79
869
611
512
206
140
809
894
176
241
219
764
337
585
901
317
526
326
215
513
88
255
96
584
716
669
56
878
892
579
809
91
113
645
419
251
73
62
844
667
83
208
314
54
890
724
549
226
263
890
435
296
241
750
952
901
713
608
636
444
919
359
236
934
223
473
189
47
410
226
662
895
784
894
830
855
195
123
781
956
909
171
265
48
442
830
73
797
356
332
18
137
704
71
519
600
9
10
788
900
537
145
839
312
579
186
895
131
57
124
904
788
740
888
544
662
967
571
646
496
92
893
613
200
669
233
823
722
37
778
193
229
839
740
613
467
154
648
765
851
577
269
801
430
367
339
292
494
968
730
321
750
542
652
356
371
72
50
862
561
126
124
138
588
243
280
443
928
419
992
707
982
919
674
588
127
239
204
621
949
255
58
443
925
17
911
292
865
119
18
287
508
237
659
953
398
60
4
413
678
169
901
760
171
589
358
660
478
737
444
62
904
653
653
812
220
817
933
995
260
102
525
225
172
435
149
765
526
393
334
624
550
385
203
917
192
934
568
65
239
24
191
711
787
805
183
326
525
285
652
974
452
517
542
221
743
418
994
636
67
526
828
699
845
337
421
566
263
692
134
56
244
192
674
326
431
312
555
2
225
488
522
564
202
751
667
262
142
610
341
297
435
231
445
495
300
660
432
744
505
785
680
588
229
413
154
147
483
803
898
412
357
823
101
777
117
731
917
603
813
802
488
3
158
321
371
448
533
438
211
961
182
250
347
540
249
89
540
624
903
473
56
963
469
505
603
665
286
421
527
631
958
500
446
612
100
592
579
792
591
683
698
865
504
255
42
656
195
110
222
396
206
903
885
750
759
657
412
177
567
786
581
391
858
344
629
837
405
326
550
453
34
910
514
732
131
345
312
516
911
23
962
469
901
342
452
813
597
696
660
746
232
574
745
366
636
538
522
465
610
472
484
100
905
498
422
764
288
233
274
349
569
154
330
685
938
714
931
331
393
669
832
343
365
473
106
355
953
363
434
206
691
486
448
368
683
305
245
804
834
502
304
201
31
514
721
936
156
930
647
964
582
154
643
148
3
6
273
649
851
468
834
402
624
246
721
437
209
822
431
640
158
556
198
973
118
281
925
97
578
397
810
839
227
948
990
905
957
163
446
622
459
393
405
584
373
266
404
303
883
780
200
885
95
772
23
121
541
55
835
646
662
53
170
693
936
604
89
66
543
417
744
854
704
864
359
265
888
421
939
813
894
113
209
560
947
388
847
39
215
43
596
596
22
292
832
961
93
795
817
915
800
923
717
439
496
900
802
347
161
849
936
15
716
665
653
874
157
758
589
898
729
506
219
539
389
798
532
591
425
701
584
203
339
16
865
111
354
301
172
820
704
664
413
78
56
570
781
11
397
737
417
175
762
38
612
744
45
424
78
239
964
552
351
999
570
721
457
714
600
478
109
155
96
875
445
340
197
842
916
619
467
191
556
832
439
349
935
767
502
144
704
188
363
484
72
928
988
273
889
598
209
779
513
74
160
654
76
776
925
792
167
858
523
713
417
22
443
523
671
881
206
228
140
715
167
370
862
514
671
151
320
76
582
0
231
216
196
745
383
650
868
291
655
754
169
320
879
198
180
784
511
203
901
365
225
26
953
17
24
627
85
477
264
508
151
53
534
86
176
759
452
621
864
245
695
747
506
177
936
483
903
91
88
515
557
136
886
429
50
776
67
16
913
118
842
23
262
647
482
387
418
78
973
138
735
135
579
6
1
611
184
794
717
471
902
717
965
534
369
423
400
167
602
576
671
861
823
372
380
823
126
64
42
348
720
241
172
908
674
954
746
882
304
284
428
473
732
994
403
20
995
588
865
563
481
541
619
33
631
891
374
471
551
944
709
312
35
203
931
742
608
405
582
196
785
694
511
794
967
548
674
734
662
179
598
859
442
367
918
98
129
957
779
117
264
136
650
723
905
475
686
102
420
166
715
773
205
302
565
955
411
234
488
975
317
49
306
496
803
475
237
256
683
78
124
45
439
395
596
563
466
499
396
968
202
477
154
480
833
602
50
576
430
50
921
343
296
490
341
553
636
71
621
232
421
81
908
362
770
838
574
936
786
896
348
572
464
275
5
495
663
983
14
147
906
440
734
1
859
374
592
106
930
524
187
457
33
646
81
873
661
242
861
861
756
574
973
802
907
731
196
62
78
659
885
237
131
372
341
89
368
99
953
685
775
51
570
582
86
24
512
98
549
686
47
407
292
369
673
312
592
461
463
150
45
721
940
414
756
167
484
948
866
895
278
423
490
588
841
468
985
715
636
643
923
349
339
461
692
569
421
156
59
484
757
790
986
666
415
477
331
829
249
610
138
763
140
251
152
52
760
268
645
776
120
446
380
588
139
660
623
132
429
315
916
948
428
37
132
234
101
79
93
424
620
358
68
507
64
921
693
891
239
382
790
158
142
664
432
568
228
729
324
966
383
104
659
337
972
550
731
894
634
964
463
883
518
110
729
40
965
637
774
392
152
269
412
828
398
68
217
119
743
252
340
558
588
995
794
347
3
401
315
11
615
6
622
863
301
75
612
18
205
966
314
400
728
279
501
122
637
2
283
736
800
466
206
332
100
858
287
811
222
950
643
284
328
43
345
533
54
923
16
705
855
937
867
278
847
473
446
978
670
739
983
94
569
252
373
744
982
872
754
506
657
716
410
15
187
631
165
476
634
214
295
478
488
474
6
380
641
660
507
11
622
318
118
120
819
341
555
221
993
451
926
858
312
319
142
82
862
854
554
577
303
828
536
625
291
946
244
467
655
229
222
992
417
527
839
297
199
337
708
739
21
244
511
287
383
415
977
755
438
339
859
162
39
271
18
244
485
99
363
951
835
564
882
204
620
573
674
863
394
547
590
463
781
227
523
281
1
301
802
405
743
927
673
618
741
666
950
944
278
262
609
891
27
483
1
648
352
817
840
158
607
106
396
19
213
382
343
846
825
830
459
251
349
758
79
712
69
717
933
577
634
159
785
547
748
295
956
148
394
409
155
364
750
596
20
21
995
70
270
708
574
476
165
168
141
503
487
917
362
896
519
365
254
998
688
507
858
845
549
908
877
746
255
59
7
707
666
860
99
176
423
512
104
192
748
377
362
758
284
140
979
243
748
882
211
427
336
364
483
249
193
796
36
547
14
327
226
698
787
626
29
421
639
77
89
5
845
321
750
793
4
324
58
963
72
498
151
374
921
472
169
501
649
545
215
31
773
720
872
105
544
785
293
816
225
402
655
465
273
814
772
745
507
712
740
400
977
187
590
797
21
546
716
33
773
963
340
176
869
901
135
125
69
708
94
348
442
557
961
344
336
757
100
368
857
518
350
888
996
357
482
81
654
153
804
575
693
883
841
976
497
533
648
823
835
15
356
249
62
959
831
73
490
380
464
356
816
758
641
889
496
318
659
809
611
631
477
505
875
900
752
374
692
570
569
857
865
877
260
994
57
305
899
924
787
942
698
99
899
962
870
492
223
791
632
908
991
545
65
809
324
707
64
538
897
62
379
763
156
352
285
524
681
138
726
842
910
494
193
550
581
329
120
698
278
79
811
44
77
495
544
681
644
867
104
72
317
979
833
183
747
498
641
960
726
365
200
201
611
539
230
766
350
717
345
700
12
672
332
982
840
666
473
700
989
33
831
740
742
805
737
423
641
563
844
12
354
185
515
775
354
566
172
588
556
454
933
748
802
416
433
349
458
151
677
375
464
253
181
401
878
240
813
695
766
834
475
70
441
219
146
91
358
865
83
39
160
995
978
8
707
347
944
321
892
236
795
905
120
619
97
389
513
869
164
191
297
440
548
403
932
957
278
340
932
841
481
966
727
617
681
323
510
794
313
525
132
841
336
733
53
869
667
273
56
765
472
462
86
670
592
615
799
507
436
389
262
305
841
863
547
103
593
479
884
284
60
647
911
188
870
817
698
428
212
554
707
889
381
387
1
673
702
747
297
247
976
924
479
804
646
96
515
616
95
395
911
772
648
266
177
178
331
301
897
326
81
241
350
966
440
593
602
82
698
384
813
916
640
970
755
925
769
677
557
444
914
323
474
708
655
441
55
641
419
844
7
91
584
574
649
83
902
977
151
107
30
446
133
226
701
55
328
516
588
462
799
381
788
669
831
953
70
287
221
759
315
222
645
76
997
429
677
235
127
866
752
356
803
780
355
666
556
493
787
562
261
279
349
199
928
0
184
723
733
44
620
560
277
150
432
849
529
362
684
659
435
327
550
609
921
177
224
615
730
406
158
968
11
529
549
7
493
347
338
181
319
924
715
670
873
966
234
306
981
49
430
594
613
147
148
557
507
286
605
597
0
12
533
421
838
578
55
664
469
807
876
777
902
745
581
952
394
165
159
818
654
18
119
470
908
138
231
733
53
461
979
379
753
575
3
435
305
246
554
559
194
856
703
670
539
720
299
564
519
93
588
646
510
156
148
37
2
23
946
21
647
539
862
101
990
696
427
912
477
584
984
218
616
781
187
612
557
43
953
597
145
812
918
314
547
750
591
293
840
383
431
206
103
389
162
936
568
242
120
189
28
117
616
609
698
487
586
252
82
866
62
789
654
712
485
591
775
478
889
7
747
648
417
55
363
129
805
478
362
608
599
188
847
196
554
684
291
682
872
398
33
677
849
595
645
445
487
653
990
529
956
17
464
833
459
963
152
914
463
689
117
351
560
174
530
885
546
993
887
185
921
29
541
266
20
259
838
140
948
649
400
274
933
707
162
202
209
51
659
577
452
827
983
82
524
507
196
887
498
490
26
823
989
686
327
722
489
658
750
586
493
72
40
658
468
586
305
810
597
157
691
156
39
347
957
357
99
697
583
262
597
342
17
295
308
599
177
678
924
902
643
701
423
976
465
576
76
200
500
971
252
184
642
523
703
20
896
222
928
775
146
17
839
186
65
524
651
140
664
635
873
112
359
143
760
682
659
108
994
77
926
300
803
950
310
461
719
454
927
433
296
613
531
594
994
491
832
292
545
244
730
588
370
79
298
375
139
775
207
126
4
899
593
644
101
552
844
138
139
377
619
210
55
305
89
841
590
964
785
501
478
278
568
11
282
149
112
673
600
892
808
224
370
437
98
115
462
619
278
329
42
264
904
871
232
714
410
910
492
841
803
305
3
563
957
317
703
365
687
216
235
900
95
85
232
882
942
916
265
945
97
760
162
407
602
288
14
608
943
794
334
137
103
22
549
868
592
573
545
454
702
99
601
275
969
796
793
516
25
33
9
314
851
605
21
477
512
402
55
437
941
375
55
969
548
857
479
255
255
164
855
670
447
740
795
441
129
640
739
813
824
108
916
665
693
507
586
653
322
759
860
284
722
540
137
993
236
481
162
938
424
40
758
556
205
846
187
23
674
806
537
261
281
191
84
763
624
121
451
898
5
372
186
343
760
314
656
687
522
744
884
931
314
1
814
391
859
938
541
899
713
333
616
610
624
95
479
476
588
670
784
892
837
439
459
802
603
604
137
317
527
595
609
753
575
609
562
946
661
146
779
651
226
642
813
641
217
924
520
91
297
115
784
878
698
712
149
939
570
954
899
144
253
931
484
948
308
429
728
151
829
684
354
830
125
315
61
279
618
77
217
950
575
919
996
227
826
292
346
666
838
671
602
394
50
636
171
112
936
883
853
406
67
675
710
264
754
306
871
512
596
241
346
119
430
466
562
113
923
102
96
300
137
77
76
992
126
134
887
91
595
905
710
923
612
205
836
857
519
203
199
414
1
728
718
719
229
55
253
635
737
407
927
561
644
115
673
548
165
54
593
684
730
42
212
751
859
955
965
299
68
353
929
882
260
899
646
700
570
908
296
3
14
128
203
56
455
765
483
815
173
265
696
676
587
33
782
10
211
659
25
636
979
974
398
133
67
843
551
937
831
381
628
207
761
935
0
382
246
813
980
870
862
166
579
725
497
166
131
821
133
341
813
574
280
260
315
656
818
665
949
364
803
408
935
7
9
394
280
483
81
448
60
970
185
587
993
845
990
267
258
193
343
646
741
611
665
558
627
767
273
264
820
459
325
967
42
594
901
779
451
703
53
48
34
736
275
612
290
876
814
859
790
943
469
571
977
366
886
116
413
442
122
956
407
424
866
547
981
601
125
283
885
352
419
217
826
727
91
77
831
10
476
146
75
258
541
849
24
73
393
72
625
941
415
733
642
583
592
622
765
742
245
141
561
278
330
999
314
90
365
740
340
340
229
820
533
618
545
985
466
185
298
124
744
326
182
388
873
593
213
658
178
452
711
13
37
759
517
661
198
650
30
236
266
773
122
552
978
137
622
210
569
235
969
588
604
425
892
97
815
899
534
724
805
504
718
158
446
263
557
747
337
676
247
502
620
427
847
913
990
874
376
32
680
820
941
722
837
579
441
248
523
897
224
543
722
20
18
728
702
521
184
896
563
343
313
977
834
749
665
820
865
708
452
806
816
451
952
748
408
2
218
73
999
509
487
524
743
312
795
115
966
571
161
498
279
323
285
640
259
725
9
223
494
908
233
585
876
931
706
497
646
595
48
930
852
494
119
849
974
206
668
323
867
784
320
577
27
970
257
754
891
773
160
561
202
355
590
0
611
320
418
617
467
557
564
566
793
488
292
844
571
938
813
251
174
5
104
229
920
39
444
388
987
234
383
729
759
507
176
36
536
978
277
128
495
494
515
252
349
181
205
660
856
210
876
381
917
945
140
38
590
468
417
440
121
735
203
392
201
79
472
808
445
942
825
73
861
213
631
379
134
796
874
211
502
358
424
415
783
932
211
942
658
543
612
60
116
726
509
297
148
448
882
295
247
108
998
262
666
38
491
388
333
970
514
12
393
273
498
681
514
982
60
532
493
548
800
806
675
262
21
126
372
455
814
628
833
78
982
870
806
929
903
358
754
442
104
937
487
618
381
283
257
398
590
314
160
741
581
925
343
111
235
644
382
117
613
582
681
111
250
638
356
774
503
820
694
639
894
951
700
498
402
837
269
619
866
458
639
206
724
740
589
376
720
318
741
572
515
351
245
685
698
28
770
207
715
305
195
526
186
918
557
462
239
329
84
404
296
721
150
453
46
153
490
159
114
689
623
816
130
282
584
604
224
102
630
229
667
427
880
214
382
743
654
821
98
776
225
354
255
974
438
119
453
984
455
384
320
654
10
439
401
138
738
481
969
117
866
260
178
667
25
378
238
996
793
699
834
728
221
230
462
108
25
413
839
528
286
880
397
258
195
250
876
347
239
198
404
467
793
977
995
859
502
479
231
427
738
25
65
731
210
728
324
23
673
913
205
766
618
807
58
260
744
330
814
885
176
810
326
416
246
455
531
601
94
118
906
253
126
870
619
397
878
945
69
915
176
714
792
277
139
983
244
250
202
823
142
904
276
448
567
805
402
674
44
591
218
371
376
744
7
926
271
142
56
676
843
379
663
83
205
736
459
724
192
168
305
946
671
43
808
735
75
365
178
942
244
235
975
308
231
817
23
418
608
55
999
444
79
144
812
728
383
889
778
151
61
250
282
38
573
476
250
786
941
511
688
431
552
458
801
634
589
64
927
86
741
342
562
709
328
609
489
272
284
356
89
930
532
562
564
101
383
164
679
23
170
134
361
522
550
75
56
876
970
477
974
340
688
13
690
743
726
136
16
211
198
400
729
864
934
341
324
548
862
412
763
457
878
757
777
508
191
738
971
655
348
511
549
806
931
649
117
822
730
298
576
686
544
271
47
878
324
442
232
978
258
963
797
984
522
4
48
93
562
533
720
429
856
695
570
797
863
108
154
846
216
929
474
997
920
806
977
343
605
995
25
353
566
537
339
585
671
387
34
376
574
150
420
438
333
419
44
494
676
611
422
538
526
339
340
724
857
454
613
29
759
658
125
683
5
681
642
416
92
78
462
835
511
551
327
599
20
640
897
980
522
972
17
7
895
423
341
870
172
667
846
710
771
362
457
75
111
893
300
721
750
578
343
67
274
627
145
526
710
200
352
278
968
191
47
327
826
339
533
393
439
309
430
682
550
466
720
254
122
102
355
134
42
340
806
350
834
186
3
921
219
397
109
655
450
862
823
324
810
219
149
490
942
837
899
71
395
860
147
501
606
873
71
568
363
400
364
103
483
926
533
604
397
364
729
424
80
834
507
769
728
577
162
853
851
134
976
181
129
896
271
2
650
781
747
841
674
750
134
804
511
640
609
247
202
566
383
941
366
787
656
782
332
397
530
798
699
332
695
415
598
571
100
226
820
880
916
522
288
508
97
610
695
40
213
244
854
992
371
948
838
843
346
8
76
344
859
92
609
91
787
457
525
188
167
402
316
774
415
874
199
710
389
455
813
865
932
158
872
112
390
807
236
635
610
502
138
641
273
497
810
820
156
26
948
88
343
471
632
856
310
158
623
509
454
719
34
167
562
891
312
600
132
784
796
405
409
965
575
398
988
963
798
482
417
149
355
904
695
836
131
348
764
595
345
755
234
68
287
450
443
92
124
970
615
957
327
574
905
164
754
900
452
890
364
667
202
126
8
626
579
655
14
72
558
725
796
457
339
437
103
706
884
834
70
183
649
520
265
100
449
763
874
9
385
580
725
23
405
731
41
766
356
859
495
903
332
315
932
458
740
100
769
346
729
481
820
287
56
821
263
639
77
355
482
891
508
405
888
15
15
779
569
817
878
654
512
531
322
163
38
906
983
692
153
961
974
163
221
0
882
702
373
953
795
560
408
465
940
719
841
64
563
211
749
572
312
717
58
119
816
314
401
661
281
732
566
297
615
524
525
164
968
864
108
435
521
357
51
126
672
54
358
482
932
635
134
782
606
274
659
239
324
36
352
927
464
994
474
747
873
926
607
301
324
284
648
790
741
75
984
898
475
994
173
106
396
953
200
156
713
427
310
939
720
542
212
732
729
43
900
485
443
799
683
34
609
655
488
40
615
801
552
367
983
212
252
455
558
976
302
874
487
272
381
712
382
148
947
260
774
988
548
106
632
421
43
51
567
568
800
995
140
817
529
191
61
553
212
38
691
619
552
50
20
930
382
238
865
382
260
604
517
135
331
950
154
342
729
815
602
958
708
529
278
942
54
387
930
133
268
857
474
372
820
724
705
796
425
421
273
60
910
290
435
41
768
732
703
288
752
852
85
306
174
156
482
296
569
481
421
816
446
912
894
925
752
521
188
993
704
695
965
342
979
445
279
38
947
34
364
43
87
568
614
856
71
898
63
372
406
581
877
226
336
4
139
435
672
314
654
965
240
356
6
105
743
792
830
348
404
225
815
465
38
89
113
418
407
486
811
293
512
219
437
215
644
749
814
412
715
845
585
581
326
356
977
739
19
591
441
868
262
418
301
310
68
662
835
368
755
239
136
399
955
858
996
956
484
256
377
748
709
143
443
448
558
93
952
962
762
629
525
579
668
562
487
724
282
823
720
835
154
314
950
330
674
139
510
153
115
799
956
504
620
72
61
98
984
798
791
481
410
80
48
877
689
919
51
553
731
534
981
585
669
831
725
314
238
330
566
228
606
568
34
362
946
114
269
98
924
815
326
620
516
664
413
351
975
46
898
469
173
632
384
262
515
403
627
920
126
408
886
821
659
387
701
244
673
148
749
431
134
22
212
477
159
794
757
322
922
626
188
71
476
318
835
118
429
617
405
115
845
464
675
315
924
494
788
101
834
989
737
103
844
296
821
604
1
406
954
672
856
343
173
166
199
681
866
314
936
865
501
66
163
730
183
817
935
940
440
37
440
798
627
294
343
925
967
703
778
56
207
65
769
306
588
4
676
894
649
37
912
983
814
533
648
233
864
671
170
336
62
527
634
866
858
335
50
844
921
216
706
682
105
672
257
563
9
693
575
811
804
369
430
881
20
904
798
196
531
10
704
650
809
263
489
575
395
663
634
63
624
876
568
272
653
82
259
23
526
817
789
237
124
21
125
483
815
796
227
608
985
708
119
951
306
557
612
511
867
698
418
412
563
226
953
378
308
207
147
876
938
724
160
306
704
642
90
179
578
401
63
269
142
262
3
838
304
919
248
462
676
853
181
962
362
633
661
523
55
101
286
212
811
816
356
945
135
131
452
913
254
84
143
177
915
164
267
993
999
942
616
789
961
198
493
384
148
110
115
17
166
117
641
164
913
421
160
13
443
910
923
214
31
844
665
360
356
983
375
884
990
800
132
417
802
294
262
155
498
998
385
202
520
301
477
383
629
863
608
651
341
628
893
11
491
869
630
496
434
585
741
840
999
194
752
948
948
328
403
673
263
794
962
481
187
756
637
868
447
29
132
590
58
310
929
824
85
623
825
36
66
378
809
977
438
913
373
831
898
438
352
282
363
714
338
944
689
205
67
126
980
162
144
962
153
385
292
666
71
425
143
775
299
612
940
676
803
650
255
722
305
200
548
618
508
834
191
765
891
346
946
337
19
273
631
331
351
879
60
466
992
536
990
122
542
871
500
569
111
876
570
773
707
254
333
117
36
969
884
226
373
227
862
180
84
356
328
801
568
520
222
982
179
635
640
998
986
538
676
488
309
602
113
28
220
263
626
638
539
930
448
604
827
343
570
705
725
199
230
165
367
486
792
609
121
435
372
803
413
343
323
462
910
760
19
823
530
243
603
309
780
434
241
107
715
124
385
214
781
430
262
850
783
580
409
280
794
103
61
309
645
216
414
468
456
535
803
748
571
898
445
5
951
713
91
469
789
782
95
807
599
151
479
219
408
800
413
288
199
440
807
314
709
726
890
953
76
872
504
857
609
803
911
879
934
18
360
64
182
515
103
86
912
526
201
705
333
270
731
296
143
249
355
194
158
74
408
654
180
599
441
324
468
140
94
45
607
684
247
290
379
697
147
242
69
523
823
802
118
534
240
370
594
859
521
485
825
562
405
417
864
777
155
172
390
93
894
8
971
553
246
194
446
676
191
415
405
721
465
276
37
44
799
136
46
725
389
76
142
596
435
572
655
700
956
426
607
282
748
279
40
454
933
47
621
219
184
536
597
498
615
475
722
180
813
919
840
928
688
241
130
478
970
280
100
646
18
820
822
107
881
64
878
620
828
332
610
54
330
930
78
908
672
546
150
802
786
362
689
534
823
589
279
313
619
838
808
712
917
668
196
460
415
472
206
207
785
150
632
768
839
104
225
765
109
673
628
95
392
468
391
469
470
725
41
18
425
259
335
173
34
527
802
778
235
787
296
976
251
119
267
129
608
421
477
859
620
587
142
881
514
106
413
203
97
340
224
824
334
942
468
211
587
904
849
978
663
140
743
432
930
991
449
185
897
527
936
662
910
570
935
793
792
2
998
292
973
938
134
850
400
702
433
982
964
581
154
203
598
995
840
734
334
250
786
640
233
965
799
524
128
727
425
540
161
948
90
770
117
297
786
145
366
823
948
944
640
457
612
2
396
903
798
445
404
324
994
443
522
477
767
827
909
908
927
912
787
674
309
864
402
235
803
380
228
568
493
235
607
250
12
671
374
798
730
646
980
204
514
899
760
800
140
833
561
843
89
241
63
830
210
300
42
320
609
530
632
176
821
637
510
135
702
755
885
977
555
209
179
89
496
972
479
944
464
847
225
44
842
193
335
226
969
307
252
898
70
327
972
414
854
830
2
284
546
792
444
324
952
534
339
569
676
723
881
659
531
651
386
294
580
178
587
261
470
614
107
247
830
223
781
845
792
13
205
975
310
281
534
705
289
58
267
158
279
576
653
191
145
283
291
535
129
460
380
747
415
299
461
494
300
134
139
117
890
681
104
718
126
263
129
604
34
284
228
98
950
22
942
377
493
474
400
296
475
876
99
572
613
433
87
677
610
798
814
247
268
144
944
735
702
914
2
996
438
848
766
653
837
558
719
230
673
666
100
264
858
994
245
264
788
977
361
896
991
767
32
759
158
566
205
29
50
830
690
200
109
914
805
656
24
608
38
656
457
749
623
493
594
661
696
450
224
512
993
444
260
518
375
794
929
349
215
286
105
103
379
851
613
936
50
932
427
318
703
410
882
625
76
37
425
263
843
10
369
422
101
687
209
322
327
534
906
580
647
968
818
47
802
924
367
370
333
878
719
316
13
631
307
610
739
53
733
591
426
870
780
557
445
530
28
738
5
710
587
96
471
981
58
727
821
65
147
319
507
68
872
201
571
47
659
845
44
394
535
258
216
284
194
866
773
942
170
282
507
208
613
583
170
806
626
167
277
701
657
491
385
578
304
440
947
397
631
93
669
194
672
749
230
157
881
448
247
251
196
725
704
289
441
603
154
718
164
523
360
270
497
35
150
20
726
683
115
203
33
204
62
437
159
957
889
923
857
312
607
10
498
756
959
485
598
14
711
553
348
897
114
589
499
426
459
659
468
472
257
271
144
72
780
528
271
85
866
451
444
508
696
555
131
40
514
688
117
48
815
331
972
170
335
923
866
646
582
386
109
70
841
439
890
66
149
978
429
272
582
857
349
402
328
799
272
397
180
305
674
176
122
477
910
765
188
930
567
508
720
825
770
395
409
857
143
133
866
724
76
533
317
28
868
917
391
256
250
148
114
947
518
505
544
377
138
610
265
411
889
824
597
337
74
547
645
918
364
514
303
384
742
777
620
292
851
608
673
336
377
701
73
567
918
16
66
32
522
530
293
266
110
354
306
752
551
984
449
251
393
947
272
399
345
855
112
388
328
605
275
49
345
860
313
924
714
334
649
606
14
303
342
230
74
115
609
730
144
126
818
215
322
829
631
326
385
330
614
387
606
145
971
872
712
132
275
824
361
609
507
690
133
25
185
413
139
585
111
422
791
882
746
45
204
472
874
889
990
397
971
977
809
462
393
196
799
34
71
992
758
67
689
370
129
118
40
113
199
413
209
571
1
291
509
102
744
946
294
129
254
26
740
827
244
131
46
319
112
122
660
841
785
645
579
232
672
321
950
566
400
798
175
993
938
271
557
363
844
310
891
832
854
826
680
313
574
432
698
843
334
258
841
438
515
351
282
162
356
291
160
756
764
643
418
590
4
959
582
794
700
742
503
74
186
480
473
339
851
98
523
143
326
942
285
229
656
920
422
361
646
862
549
116
141
409
286
52
519
660
406
70
139
879
570
417
875
581
149
459
581
196
43
233
223
545
797
12
213
777
349
10
191
170
97
418
679
491
101
583
895
369
158
682
319
878
624
613
526
763
457
358
803
346
461
378
772
856
884
149
537
247
85
18
773
240
162
950
514
547
954
675
225
903
353
539
711
340
377
384
224
192
990
323
902
944
362
752
326
687
139
245
859
595
211
453
980
815
532
983
863
918
461
528
649
672
459
71
67
575
516
486
173
451
192
30
859
256
807
363
436
602
85
78
177
936
384
493
950
996
702
777
345
163
196
172
677
157
272
956
683
504
799
598
788
920
401
627
699
394
650
826
729
78
280
679
509
919
407
328
694
744
522
295
704
465
749
973
5
476
550
490
897
339
615
939
470
934
33
530
31
594
496
923
630
397
98
357
296
322
732
792
770
304
848
688
483
763
325
973
851
451
379
438
591
129
231
734
691
888
134
932
502
998
320
827
104
850
23
612
660
76
331
888
805
838
536
465
48
192
701
840
864
860
9
708
51
806
127
676
906
163
493
257
768
341
843
473
841
283
296
518
143
726
151
717
531
443
947
359
437
366
621
963
358
533
15
386
221
790
19
606
821
775
593
628
607
938
390
851
346
482
604
112
932
954
324
728
340
246
684
150
429
486
328
981
334
39
780
119
138
109
238
326
347
610
710
939
228
316
853
778
788
481
699
79
445
833
600
548
147
214
984
864
822
936
364
955
323
91
998
143
866
878
499
153
925
110
565
382
64
881
3
718
355
84
840
2
259
196
174
221
446
863
568
267
767
162
332
963
488
371
188
37
92
248
200
186
74
53
254
350
830
608
41
689
70
213
552
12
386
206
499
382
939
144
791
63
271
601
510
929
934
228
681
271
655
668
309
835
306
658
34
843
454
655
220
945
248
700
100
23
94
757
532
851
783
847
735
420
499
232
594
883
506
180
476
257
977
378
819
781
835
757
110
328
644
257
734
135
649
682
831
217
607
715
443
803
905
390
268
234
879
379
579
798
961
467
839
282
459
168
424
689
706
561
94
99
175
428
144
698
271
975
473
929
179
512
565
419
882
197
676
840
917
800
564
726
212
803
786
273
908
780
190
805
253
344
523
364
781
771
254
324
136
479
655
349
568
629
48
743
498
487
352
322
836
480
694
895
777
229
294
702
375
854
930
119
492
793
838
293
327
199
363
807
747
65
726
726
14
134
404
199
883
176
816
605
382
241
746
114
352
122
453
39
489
410
628
405
144
159
559
661
221
135
178
516
806
835
281
988
228
891
576
474
135
464
633
545
654
756
196
631
485
8
365
196
725
464
293
8
573
582
722
166
501
557
332
787
896
351
545
736
311
265
585
857
815
659
526
403
436
920
699
22
767
535
263
643
514
316
542
321
371
857
304
583
582
263
251
893
4
852
404
663
811
978
527
996
973
337
929
992
959
498
317
513
629
665
668
347
188
697
509
654
800
411
460
910
109
255
25
222
860
237
186
770
937
554
440
213
370
822
593
220
290
583
618
779
284
98
207
463
464
886
547
590
510
273
132
7
888
794
662
325
594
116
449
929
267
602
935
927
963
552
348
537
463
150
696
493
509
27
861
31
404
97
665
798
530
2
548
297
758
750
853
553
828
401
244
960
642
772
954
583
49
131
376
619
106
841
652
829
238
68
525
780
621
585
61
927
926
283
34
101
705
578
351
403
298
600
132
43
210
633
426
145
455
415
531
567
809
22
724
822
658
200
220
797
890
343
400
32
870
935
405
583
506
124
5
727
609
565
743
872
509
181
628
227
230
479
673
967
141
856
393
794
79
918
45
932
936
578
962
322
368
59
521
922
699
181
487
34
743
443
697
35
897
650
379
328
483
990
407
723
330
701
652
810
152
434
533
146
782
956
731
79
57
986
749
764
267
9
784
998
813
730
612
183
944
656
914
677
53
860
946
725
31
990
436
169
552
884
387
953
438
178
997
320
453
474
746
99
293
721
93
779
895
312
84
876
764
947
57
325
492
565
195
59
576
768
18
950
790
745
256
118
776
522
970
255
402
843
512
704
933
806
719
866
769
836
984
84
424
974
802
833
342
463
96
429
124
962
262
566
554
169
565
584
998
28
163
952
527
91
177
589
802
71
91
422
409
341
776
502
657
673
928
67
709
150
344
701
479
658
556
429
482
972
984
769
684
225
411
18
263
54
357
24
60
408
662
101
199
982
274
455
436
60
5
795
177
899
899
333
93
261
377
441
354
208
309
480
643
327
974
754
859
100
956
794
254
734
302
400
319
827
387
234
247
464
751
774
190
308
591
694
268
261
316
984
399
533
624
67
390
165
816
826
31
779
293
856
578
329
600
24
766
602
883
742
614
507
239
972
19
750
38
375
413
362
307
512
368
236
620
595
839
136
54
103
321
941
526
186
766
861
533
298
800
412
460
774
517
683
995
811
935
843
694
591
681
864
584
261
158
806
663
437
36
72
503
745
854
193
954
606
107
237
545
690
183
958
274
693
807
784
161
832
624
325
951
736
363
176
165
670
865
327
217
67
211
814
841
423
298
475
802
772
799
284
893
900
659
649
149
721
73
80
824
876
131
690
760
760
660
188
496
482
713
843
646
93
688
495
366
790
543
348
796
224
607
789
577
140
803
24
850
256
79
325
31
344
596
114
791
122
209
487
888
172
319
699
362
613
237
178
552
687
712
839
98
160
565
275
315
938
338
639
577
362
897
2
760
45
746
122
469
320
521
927
875
471
207
944
788
763
32
338
368
429
998
861
682
61
442
551
109
143
714
556
581
950
210
463
163
438
704
351
924
700
225
230
113
441
718
791
596
956
104
465
394
939
606
919
602
955
664
355
130
203
359
942
806
729
11
885
279
649
171
946
592
612
654
473
499
856
321
489
228
382
809
280
588
527
879
821
588
486
769
436
626
28
292
814
319
431
191
427
960
554
620
715
207
329
665
628
88
360
268
87
744
291
704
50
479
390
640
837
880
928
367
183
449
627
809
384
240
486
700
837
586
93
964
754
489
633
319
599
744
958
613
138
721
633
124
722
916
162
744
371
88
61
352
233
687
252
26
245
120
345
91
976
968
585
700
990
50
201
576
960
82
306
449
836
95
602
321
26
195
25
815
663
836
246
712
24
145
902
614
46
648
924
211
43
863
237
497
299
919
372
205
571
200
273
935
318
947
916
863
966
778
813
676
80
35
568
984
292
171
213
590
917
607
714
135
456
852
810
275
301
479
260
310
503
789
713
179
326
267
436
302
460
979
864
604
267
83
428
600
63
268
271
930
544
391
210
683
511
28
522
55
837
434
822
102
84
765
709
124
392
164
144
610
970
239
403
111
581
445
732
988
997
226
109
970
421
270
246
351
826
442
297
472
234
203
465
600
801
181
21
704
238
786
759
153
558
155
85
752
124
339
529
149
13
535
365
867
785
283
369
275
84
958
441
524
955
738
421
105
769
561
589
255
440
621
414
647
744
142
849
393
264
275
548
532
487
71
712
429
119
717
627
169
896
195
594
35
895
554
326
365
166
807
551
369
11
448
676
869
930
383
297
792
675
311
179
550
878
323
915
156
362
978
934
588
975
906
745
192
570
695
361
5
75
71
50
604
722
671
554
12
819
223
222
689
373
524
714
821
677
368
904
83
787
845
72
212
144
48
580
191
597
98
428
68
701
936
723
165
227
528
871
992
50
193
478
528
182
491
742
617
576
231
285
432
203
908
747
496
991
125
4
404
373
390
529
107
241
905
842
846
744
32
262
573
699
666
623
952
438
156
732
249
503
953
963
975
426
574
120
123
951
261
553
875
987
417
377
276
271
287
241
928
759
96
918
50
94
522
358
49
851
554
623
582
447
854
376
676
597
685
492
156
848
318
476
785
406
842
350
706
691
213
937
548
543
522
908
340
128
485
566
699
6
633
936
491
709
254
865
976
864
804
647
585
889
346
923
578
554
17
596
238
681
428
818
216
372
675
485
58
576
401
860
952
23
625
544
857
310
434
899
304
388
199
564
526
319
198
566
464
101
771
439
798
509
424
870
93
737
508
51
948
828
143
157
341
379
468
926
539
146
356
467
567
322
8
905
722
511
22
642
670
656
940
982
1
739
195
360
86
473
252
979
486
336
882
122
147
804
982
661
591
242
450
718
266
143
467
825
311
521
753
302
896
201
975
479
985
711
989
466
710
477
312
170
514
172
554
126
333
187
988
145
736
98
301
214
194
143
517
125
5
266
303
258
195
536
950
462
950
605
108
377
419
192
962
343
705
873
647
327
286
758
846
704
962
644
739
981
175
179
97
430
105
440
526
674
329
853
247
346
813
841
941
895
535
487
575
335
440
262
155
277
168
862
314
76
526
565
94
593
905
827
892
186
353
446
233
856
936
708
717
345
345
233
995
671
106
354
277
270
878
521
76
551
366
242
814
5
94
666
742
192
286
739
664
979
494
222
732
985
114
812
470
447
51
196
679
901
488
56
168
774
836
658
271
492
111
186
207
394
440
863
835
652
333
839
326
40
284
792
262
634
638
187
320
661
26
165
713
247
595
797
933
99
300
516
761
247
638
49
56
897
215
856
365
669
187
632
562
667
267
724
708
480
919
513
257
245
432
189
71
870
598
563
704
722
109
527
189
651
305
255
787
331
681
798
938
564
579
56
549
319
102
604
398
232
143
0
545
680
525
291
617
673
226
793
442
479
680
524
383
109
555
705
323
273
785
80
23
909
804
788
492
487
315
588
561
652
258
693
866
260
715
127
704
958
936
179
904
825
856
466
383
846
317
421
690
778
861
85
161
326
83
129
614
843
643
449
945
962
224
791
600
120
677
609
772
351
768
762
14
904
508
535
493
333
586
553
122
229
883
893
77
847
39
561
574
118
512
71
511
73
676
271
671
474
344
836
417
389
435
99
372
151
440
795
551
914
564
731
669
912
201
221
132
445
95
250
455
861
36
343
644
261
240
636
218
952
369
598
121
120
760
340
950
678
606
917
883
707
64
597
191
319
644
609
337
139
455
836
178
977
433
237
930
366
96
475
851
175
340
794
640
145
481
558
889
328
372
567
768
370
762
537
101
24
577
134
487
127
0
62
192
807
281
63
620
457
101
371
497
930
962
953
204
479
97
780
962
887
310
342
944
103
271
956
637
703
219
542
903
100
752
812
847
42
358
533
133
592
115
456
772
904
80
201
331
924
904
662
676
587
73
773
553
759
652
356
321
269
347
399
23
145
4
904
470
743
928
750
272
927
644
910
267
166
218
242
543
244
560
980
260
696
754
584
876
96
833
471
590
498
653
343
788
978
887
430
627
758
381
353
539
325
570
141
950
573
312
924
605
215
357
426
799
679
497
496
662
863
928
613
409
611
78
788
209
117
66
825
314
569
76
797
979
126
827
14
57
831
890
857
372
504
463
464
43
998
751
957
838
966
597
915
345
891
977
61
235
888
922
839
140
107
174
58
567
307
342
659
381
656
150
492
388
78
479
723
865
512
354
250
738
945
99
97
364
763
773
122
703
702
575
336
278
0
14
657
349
763
455
724
529
576
579
179
906
113
193
897
883
178
686
212
550
492
377
145
398
348
843
252
941
441
383
761
825
649
159
268
643
862
19
707
882
211
765
985
594
281
861
49
576
955
476
288
676
550
986
178
243
562
176
701
67
560
201
281
847
292
891
398
904
572
968
596
544
623
367
135
838
856
651
213
214
882
322
260
309
286
525
502
407
6
324
730
445
852
907
415
141
623
437
902
352
217
662
908
231
70
552
656
185
20
954
490
720
962
773
70
406
106
368
87
319
948
547
99
192
331
795
707
419
457
517
18
463
555
923
481
929
162
168
660
555
920
787
960
674
727
913
959
796
968
798
852
151
366
627
354
390
126
45
937
36
960
208
729
801
733
105
132
776
717
382
758
883
251
710
655
345
739
749
905
635
304
192
957
978
249
494
688
717
962
877
845
609
247
880
81
934
333
172
772
851
561
888
973
363
136
583
687
950
338
487
670
383
381
740
793
373
992
168
9
263
91
938
983
192
394
183
86
504
598
305
799
49
508
578
691
624
980
277
402
160
604
524
257
332
909
362
691
701
205
432
289
454
799
334
885
754
319
322
32
29
458
707
743
29
746
538
756
213
888
382
85
706
853
410
78
86
217
953
228
431
501
493
405
771
520
795
287
192
75
896
159
706
923
519
301
758
353
653
412
285
170
907
837
516
19
276
529
978
968
735
546
277
836
142
695
356
466
455
390
89
160
559
998
664
815
232
38
550
855
286
188
937
1
748
44
246
699
506
971
977
705
92
708
338
545
625
654
846
332
423
558
483
220
416
570
427
60
662
700
766
243
832
843
577
428
978
828
904
731
65
569
357
888
481
877
504
308
937
509
176
707
946
761
655
956
693
302
606
501
531
584
284
729
213
985
438
631
213
875
120
729
999
658
532
615
507
578
957
772
730
838
681
760
240
781
562
348
345
273
990
668
421
320
623
109
492
651
139
592
251
74
783
424
42
308
546
561
778
31
99
560
739
419
666
538
512
510
472
699
981
251
612
664
964
220
386
326
389
617
440
166
302
948
849
467
548
789
964
237
126
468
418
536
770
81
470
826
726
806
372
638
654
861
454
220
569
65
506
209
774
51
108
625
760
587
987
474
483
273
539
795
439
536
319
515
43
276
739
390
948
572
171
561
797
553
765
379
426
330
360
185
125
282
423
830
152
266
940
488
19
282
93
289
198
941
144
975
105
588
848
839
913
667
940
890
503
663
123
511
164
674
980
724
229
819
500
352
470
647
659
843
422
881
187
461
413
224
165
603
773
757
258
843
705
376
145
806
976
265
503
981
75
345
278
862
255
154
59
465
202
783
238
596
939
181
962
605
647
892
70
501
923
315
378
368
722
350
315
778
25
839
619
742
85
580
197
255
743
99
847
164
707
629
688
409
577
648
497
321
303
956
383
595
762
131
76
471
901
743
352
771
56
171
619
600
849
382
309
452
184
30
826
114
853
590
47
740
939
314
742
388
194
618
978
86
998
890
908
623
442
963
929
851
199
601
847
470
314
617
99
624
693
605
895
225
473
436
411
779
654
544
721
756
220
302
483
781
786
55
888
841
599
961
704
813
989
320
130
663
868
870
722
741
683
79
370
43
550
507
509
743
666
733
293
709
691
955
212
585
360
840
906
720
386
550
219
506
760
385
831
978
888
114
515
932
870
943
285
128
664
232
433
825
955
227
360
291
574
547
470
675
379
245
215
385
615
93
178
770
123
713
249
975
525
936
52
120
959
716
894
592
971
867
256
957
835
262
266
75
768
46
347
562
505
874
655
243
195
255
696
993
924
581
947
606
240
595
711
26
826
162
340
210
906
18
320
403
64
50
744
354
636
951
440
550
386
830
778
327
182
970
234
183
160
504
554
746
874
715
58
958
688
957
476
228
175
285
800
372
241
121
371
687
812
104
248
166
853
147
776
34
883
917
960
200
49
875
424
100
58
467
383
358
153
811
904
280
76
458
565
746
749
352
77
72
989
371
722
855
819
301
701
459
978
716
384
885
89
174
57
181
814
953
665
974
491
153
830
269
320
509
398
200
73
492
352
536
862
817
312
783
144
379
356
423
840
835
849
118
574
239
437
376
847
817
944
444
451
932
977
48
389
938
832
907
260
452
997
91
753
615
796
595
525
190
764
26
237
973
976
358
340
459
259
542
503
627
129
835
714
227
490
337
577
678
184
175
544
310
183
519
85
807
137
208
585
577
608
517
730
318
67
314
796
491
799
978
992
619
14
242
743
217
987
132
181
71
314
603
182
879
17
524
633
755
200
265
420
53
125
827
300
658
749
269
127
792
314
504
604
361
189
822
458
701
120
636
238
848
811
952
817
550
102
520
133
727
366
235
461
81
364
526
991
549
185
477
467
861
306
486
149
728
503
750
575
492
767
183
238
227
759
316
392
845
477
863
701
631
995
655
540
279
931
965
208
115
791
827
361
902
445
797
559
776
600
797
720
36
494
272
554
409
450
848
802
969
564
933
15
325
49
124
984
92
885
801
5
802
839
796
941
604
969
537
46
428
792
101
424
96
573
699
463
358
212
543
560
903
61
655
584
722
341
876
494
898
923
840
716
508
568
643
773
704
111
95
387
677
683
569
807
390
802
973
397
318
198
830
434
408
185
999
744
289
486
762
939
102
725
265
71
721
827
894
700
100
894
466
442
695
340
982
781
780
231
712
986
82
215
147
219
179
558
337
421
934
491
351
625
378
165
894
636
640
380
958
538
149
14
486
868
12
249
149
742
613
956
469
263
774
865
111
561
749
149
540
406
374
991
451
152
480
771
512
634
259
593
375
124
396
982
184
58
976
644
380
681
675
792
647
904
204
512
865
642
294
589
432
127
800
711
972
917
350
742
985
85
855
206
393
63
312
497
751
225
479
661
63
915
373
628
562
536
221
570
634
90
713
183
288
274
83
893
390
4
110
730
377
780
78
394
387
172
957
637
605
194
418
807
3
513
766
415
955
310
911
216
730
705
328
524
888
421
544
382
612
337
211
537
691
91
751
997
899
124
906
528
165
977
820
133
369
770
103
244
694
793
689
885
570
783
166
471
979
271
501
958
757
759
97
532
419
75
559
720
450
645
721
16
626
565
675
439
651
824
126
312
434
565
213
705
134
529
940
817
439
917
662
877
710
912
56
820
911
715
966
916
911
716
570
462
894
501
291
947
565
934
518
641
624
539
468
6
873
921
143
796
612
635
192
492
694
936
689
266
900
569
29
488
533
489
502
476
100
276
462
368
26
791
996
750
661
249
884
605
357
810
468
545
131
847
683
580
29
251
792
56
754
54
851
609
412
46
577
540
936
351
165
488
960
27
113
613
294
997
339
677
142
306
364
33
198
493
213
908
134
883
126
972
65
579
182
681
476
855
851
913
471
89
852
626
630
6
779
173
154
822
658
377
646
35
97
441
764
197
898
180
616
139
891
455
119
453
533
852
167
284
240
133
814
222
485
966
107
44
847
854
170
161
20
504
619
20
520
395
767
447
515
917
412
586
302
569
17
895
452
895
137
411
183
183
255
765
110
41
94
237
242
265
818
599
42
884
705
525
999
797
880
825
169
638
795
989
186
174
696
763
131
755
437
20
946
492
392
583
863
318
80
491
599
47
449
339
501
39
135
370
773
60
355
752
853
137
840
941
516
886
611
965
277
823
299
692
395
528
814
876
490
270
536
541
77
780
135
580
420
742
590
970
337
645
688
700
295
957
384
600
551
457
715
931
894
560
56
353
694
596
85
417
886
848
974
850
556
623
422
778
850
473
741
404
92
564
373
887
841
700
611
107
835
137
480
221
54
536
109
462
9
313
263
403
232
43
481
435
381
434
244
389
301
313
442
827
864
61
757
902
68
597
62
894
571
727
813
282
143
136
819
498
349
266
59
42
251
964
631
683
309
559
865
557
568
142
25
244
903
426
934
22
864
131
967
995
493
963
458
591
871
680
744
672
578
513
790
238
658
57
157
944
232
886
494
354
725
130
490
280
190
305
647
556
3
47
251
142
935
82
196
988
177
952
626
692
43
723
925
65
106
924
244
186
73
830
202
756
299
85
5
443
37
302
820
2
745
635
139
892
137
937
207
711
188
53
766
821
316
128
640
84
36
233
739
164
748
735
410
16
718
160
894
277
902
149
549
680
268
575
364
654
392
267
737
51
963
407
107
295
288
0
454
65
703
505
857
640
22
600
806
809
342
47
648
796
737
98
451
592
25
274
745
572
1
847
963
608
593
597
978
193
603
720
123
398
320
25
622
58
743
483
418
25
9
571
671
166
287
477
285
116
994
985
778
689
428
633
788
656
387
172
79
856
868
102
75
753
367
885
165
70
734
103
880
822
811
176
773
401
965
938
504
913
670
491
538
821
485
671
815
267
159
874
515
397
951
816
767
480
485
334
955
95
164
200
986
937
733
170
752
863
639
831
504
798
36
173
448
231
55
441
92
919
917
796
846
652
139
477
398
48
862
529
246
611
287
113
851
572
993
41
590
512
862
8
702
838
761
465
730
512
469
990
974
271
9
128
186
251
755
139
230
951
872
683
756
999
266
726
113
409
230
350
804
632
702
546
134
21
143
650
125
922
465
635
499
455
674
981
875
767
529
351
591
790
468
877
250
408
183
147
887
105
841
547
688
480
401
608
109
571
870
140
483
893
16
712
49
10
720
314
770
450
342
305
434
67
331
269
661
364
133
42
15
316
360
923
508
613
654
645
145
633
701
504
886
30
13
610
162
719
739
943
886
263
415
779
222
323
578
492
635
0
407
771
638
563
478
501
795
658
168
152
828
180
789
497
469
400
754
259
886
903
257
821
598
213
312
949
665
282
255
856
719
234
892
898
606
913
849
417
766
668
906
728
28
560
432
399
394
596
745
357
978
750
945
201
504
259
123
8
485
157
370
436
898
741
936
99
981
294
993
216
148
973
844
293
870
566
66
566
585
784
527
282
926
390
397
801
832
292
403
270
132
233
740
551
461
49
396
348
714
706
555
301
928
615
966
981
985
298
863
542
711
842
992
838
420
232
217
687
204
487
957
4
984
536
454
626
245
418
16
553
967
86
161
240
820
859
461
234
520
37
410
440
520
68
374
27
810
526
390
791
608
230
125
908
321
929
218
331
464
126
93
875
363
200
451
181
591
64
893
848
873
852
606
153
175
197
967
864
790
654
92
837
491
929
205
535
998
883
401
121
457
34
415
939
149
537
301
952
84
75
408
80
135
733
585
460
879
716
989
689
556
147
489
546
531
711
816
664
937
271
621
111
769
119
717
886
655
732
556
90
817
917
1
58
394
354
229
906
925
504
697
629
478
576
996
674
163
212
797
453
775
447
891
587
196
967
274
228
867
855
391
920
275
44
325
258
634
771
315
20
457
427
676
408
214
155
590
446
516
556
902
322
600
287
428
432
970
464
921
838
278
231
785
158
403
773
759
995
418
889
945
11
735
306
655
543
192
142
565
974
497
9
362
115
958
335
511
739
870
622
697
385
949
503
604
697
875
566
784
294
121
829
33
511
263
779
612
519
773
549
92
300
106
965
483
730
346
584
163
290
386
140
290
283
660
207
555
471
469
479
613
581
99
731
356
310
27
51
802
365
863
179
931
745
885
952
555
932
362
847
719
558
421
963
606
776
500
699
117
993
974
589
327
83
673
969
879
975
523
433
949
515
729
177
575
669
511
424
832
198
557
142
553
954
180
39
685
627
930
220
846
479
44
368
373
724
744
76
355
524
556
762
354
783
112
878
107
821
316
432
984
627
746
754
740
294
305
64
695
873
375
994
155
832
903
143
708
829
178
72
440
476
518
355
65
420
451
689
788
524
349
412
94
790
363
225
2
459
715
268
305
348
128
830
856
934
451
236
430
735
776
618
421
473
451
188
13
549
102
685
225
587
627
477
67
44
896
855
580
642
162
669
948
875
104
590
465
489
223
76
729
177
382
526
15
125
649
502
867
663
674
176
290
400
128
394
704
684
302
400
413
694
699
827
463
817
472
54
159
416
0
334
414
660
205
366
829
89
121
458
915
309
814
84
348
213
483
937
1
413
545
939
759
526
728
536
356
0
247
127
221
51
340
564
609
823
867
934
396
749
61
26
118
289
442
394
748
546
501
356
223
397
29
994
914
923
791
286
71
739
967
302
576
457
201
690
884
353
506
808
112
782
519
698
202
693
968
656
159
214
447
500
385
854
521
156
886
514
133
337
962
249
99
921
629
877
371
111
960
757
371
571
775
902
825
896
343
863
804
105
764
749
731
420
416
980
846
287
899
367
867
296
775
942
783
930
32
819
182
594
403
147
586
553
516
95
823
153
90
50
226
541
220
967
138
487
954
836
42
206
863
395
602
497
292
828
553
827
838
613
139
324
453
502
751
959
14
481
257
475
836
816
905
610
579
758
550
993
806
598
346
539
653
391
607
853
949
102
933
31
380
283
672
443
806
156
473
992
242
514
915
54
800
806
281
71
529
307
984
572
35
968
995
728
128
913
912
591
388
712
708
528
187
331
331
965
916
338
122
277
997
544
274
143
513
412
965
917
961
670
820
39
933
77
545
461
951
507
416
179
662
78
746
799
522
363
939
532
194
566
555
397
985
934
698
324
505
13
329
111
341
553
350
220
451
580
375
794
653
823
9
877
309
22
124
288
858
742
316
849
761
119
551
58
421
440
160
800
922
926
317
140
785
978
45
391
87
763
680
912
613
612
284
396
249
412
722
443
800
879
933
683
113
748
980
689
121
937
147
152
600
851
725
704
636
317
438
865
628
805
509
610
611
876
424
4
342
762
636
321
651
913
757
287
233
702
72
339
705
258
33
761
649
185
265
606
707
528
158
511
197
583
469
780
933
226
109
855
462
946
300
229
322
465
837
376
159
848
706
925
235
115
38
758
21
428
581
94
386
125
640
522
400
305
65
379
49
693
912
964
481
296
428
980
24
925
364
835
554
425
333
981
79
576
431
355
403
258
628
35
928
231
889
991
313
520
252
662
653
818
698
514
455
122
417
777
595
637
630
935
319
473
140
267
888
835
318
710
163
421
44
822
19
597
472
305
379
811
53
161
475
118
162
517
568
620
205
153
962
915
989
601
439
546
375
171
30
23
187
921
540
892
959
27
757
425
562
989
260
277
163
833
775
955
680
801
573
678
785
30
826
772
456
673
842
977
589
537
562
988
942
544
115
288
983
739
993
698
834
740
64
444
3
569
828
449
980
333
667
276
150
582
567
118
252
918
445
172
561
511
187
407
118
965
153
52
82
272
940
85
121
2
216
326
407
142
425
697
502
179
258
531
362
200
782
209
12
868
41
198
465
593
467
440
642
132
688
714
616
573
659
193
917
167
611
876
863
166
192
255
854
756
303
415
32
522
124
918
695
975
224
935
800
437
291
983
896
156
529
298
673
858
771
466
0
529
48
107
526
106
10
480
26
353
925
547
725
407
617
565
245
253
399
284
541
655
256
12
943
615
505
695
359
805
287
609
565
999
898
805
428
625
40
571
18
175
968
727
383
993
632
202
836
681
473
891
68
350
441
19
872
777
520
436
512
350
909
841
464
620
531
177
826
294
811
777
401
677
431
421
254
349
397
678
748
858
884
312
22
691
983
747
39
96
718
42
757
35
552
733
85
310
408
47
778
543
116
880
536
362
705
586
927
50
991
347
322
195
766
933
901
328
803
695
298
250
622
945
4
544
507
718
715
623
993
964
57
44
224
572
7
578
81
415
200
577
404
303
8
884
464
866
993
210
128
948
608
340
533
855
636
550
472
198
966
41
332
730
928
663
22
782
491
944
68
450
933
873
342
877
484
119
213
869
18
305
914
82
925
717
53
171
563
961
34
946
309
610
173
18
920
748
447
446
975
369
924
686
808
565
797
969
590
55
428
561
532
210
163
816
417
385
301
775
336
228
843
404
443
773
485
721
695
108
350
128
713
312
940
457
811
507
439
593
483
92
745
411
407
820
996
732
841
733
447
250
291
922
957
599
764
392
784
96
632
526
964
661
16
862
302
700
610
915
110
621
198
532
317
126
519
930
687
925
166
177
791
261
659
427
559
494
295
99
523
404
201
39
607
871
835
606
215
416
322
110
9
604
69
546
335
521
363
28
942
569
505
326
221
373
151
129
909
172
751
318
70
510
191
828
602
633
706
383
580
762
568
685
134
660
361
669
457
22
385
720
207
350
390
68
570
48
881
875
512
59
950
206
736
118
916
32
697
53
216
191
479
188
323
209
509
469
969
341
874
627
615
255
542
365
61
27
58
246
710
290
728
319
256
953
410
106
812
506
608
169
367
822
835
515
30
167
296
736
569
147
308
60
850
213
441
681
148
15
54
182
538
346
437
568
723
444
285
221
740
81
36
688
609
4
501
702
4
763
145
698
32
474
529
605
32
495
629
762
107
678
738
515
134
140
519
93
116
649
2
316
946
19
270
743
382
756
903
708
680
427
310
575
774
790
945
610
427
368
492
60
689
834
753
754
348
994
689
665
476
942
983
444
747
260
87
778
583
269
987
990
16
338
851
789
990
34
891
381
172
780
120
862
208
159
716
378
374
829
773
417
698
53
707
538
684
451
503
75
826
626
922
466
481
854
749
438
893
960
462
730
103
392
688
278
796
517
399
743
715
692
790
676
499
979
722
212
668
887
866
410
776
833
76
437
502
220
761
483
477
319
59
412
598
351
86
977
122
614
899
812
786
606
855
59
113
348
31
729
434
417
67
25
231
74
972
231
373
807
564
885
36
757
985
579
414
788
336
618
901
437
303
426
625
307
428
65
106
927
371
546
942
609
245
634
20
151
346
924
744
344
112
934
806
602
696
569
971
510
885
765
690
983
698
295
128
335
116
252
772
516
310
775
832
144
61
211
226
578
971
123
141
768
760
770
140
3
668
652
140
164
769
427
275
992
796
856
898
35
416
706
219
62
785
107
434
268
542
429
605
640
544
510
735
801
605
769
923
457
899
332
397
931
587
407
382
419
313
141
212
138
449
444
7
444
462
538
289
709
537
300
869
439
421
351
965
8
345
275
307
544
353
373
885
374
329
919
325
962
760
339
406
581
626
344
477
75
332
371
535
320
186
51
401
613
764
825
506
919
242
980
850
705
202
41
566
919
231
492
808
935
729
709
424
812
75
135
935
812
102
453
122
847
942
306
754
206
510
620
836
590
835
993
582
819
557
540
618
556
79
898
742
25
783
857
958
614
79
255
151
245
254
7
80
230
540
141
835
914
172
513
541
106
983
175
926
752
649
892
419
242
576
507
586
772
345
413
832
601
363
195
373
171
830
489
648
764
667
322
143
440
710
181
543
214
881
220
944
630
159
546
497
229
491
387
834
0
974
12
532
872
939
208
241
393
699
923
892
475
466
924
575
555
149
435
144
279
302
636
578
862
532
204
948
987
448
204
869
941
259
552
998
406
974
466
816
599
860
218
326
784
24
829
850
235
552
29
473
352
215
483
453
408
453
141
215
940
343
964
522
215
965
110
981
988
129
970
765
287
315
703
613
750
151
785
995
442
221
496
279
369
822
501
496
675
681
877
290
134
94
842
445
217
640
745
259
690
196
609
625
244
498
870
851
343
858
377
212
526
626
316
985
402
797
785
670
871
931
21
378
577
155
832
768
709
562
43
268
279
568
677
823
559
709
855
942
612
130
418
0
265
603
708
238
38
996
273
713
189
766
485
865
391
97
376
126
572
561
582
911
276
463
85
84
723
664
940
158
151
914
579
52
512
754
791
848
382
522
439
342
567
189
781
465
649
720
533
876
372
632
605
73
252
101
285
229
630
617
440
971
269
287
628
372
603
421
771
927
336
181
379
231
758
321
158
51
139
375
832
157
304
411
771
919
947
755
968
662
435
794
834
664
513
711
175
115
945
693
506
334
400
34
575
868
272
845
266
767
630
364
376
119
600
364
409
518
549
950
436
1
133
837
893
305
457
741
125
792
679
964
537
237
71
437
332
206
352
933
508
18
715
471
212
415
980
277
288
570
665
66
258
320
680
117
371
677
473
169
817
809
565
166
904
817
834
226
359
283
720
490
195
598
589
921
885
625
162
910
494
490
347
126
802
1
803
928
813
0
220
557
766
136
662
949
726
286
817
287
374
625
652
156
725
432
548
901
759
199
812
737
535
489
843
865
306
880
286
676
869
226
964
671
518
680
995
992
339
493
988
388
357
869
67
888
837
31
326
687
519
487
964
89
72
312
385
533
975
267
976
20
125
711
806
673
302
256
852
518
851
684
48
549
359
477
618
519
516
832
599
714
839
379
217
772
132
279
63
948
833
907
300
465
816
636
704
169
492
764
407
208
797
934
120
911
838
597
885
511
711
737
231
962
855
994
959
334
8
270
828
921
86
332
477
849
744
382
194
381
708
890
424
47
162
71
197
41
819
687
672
876
914
41
391
378
877
313
893
917
638
623
325
562
923
553
673
436
794
481
61
684
22
649
457
262
153
961
656
799
867
580
93
6
15
932
643
716
980
146
717
468
117
113
498
209
314
310
535
608
213
165
413
530
789
406
552
148
646
947
955
41
711
296
914
267
168
588
605
356
642
113
287
85
693
882
71
74
120
87
734
203
15
576
703
258
126
746
580
282
997
85
698
291
497
846
543
995
631
297
491
316
185
774
494
615
600
541
317
984
964
798
304
812
22
649
7
365
52
482
76
755
527
391
973
339
301
537
834
809
431
191
483
78
423
140
833
935
151
248
549
458
300
817
574
763
252
514
15
670
105
819
774
793
112
978
382
595
828
145
189
292
584
816
255
948
959
142
398
272
900
180
465
735
118
54
34
426
182
87
720
365
987
552
609
215
504
612
577
628
477
57
867
274
946
998
42
623
709
449
750
56
595
307
62
712
373
554
863
943
262
407
936
739
884
812
684
19
99
835
765
820
487
990
198
227
964
457
890
118
16
746
651
442
992
157
579
723
504
430
249
994
278
952
433
709
911
38
978
332
596
227
904
48
995
710
754
944
916
839
115
204
498
408
107
764
112
520
267
924
588
625
461
948
743
806
968
932
268
715
901
216
962
941
965
951
374
770
880
85
690
19
531
0
218
808
106
715
822
482
713
50
160
270
238
474
530
318
952
270
589
73
995
766
261
479
226
419
855
30
257
104
474
468
630
252
688
458
239
350
164
347
43
440
551
81
739
922
803
354
708
96
91
374
965
972
860
527
770
154
149
936
764
80
294
879
204
740
573
207
341
321
18
847
257
725
633
823
994
676
545
873
884
193
756
159
241
320
831
404
410
274
15
83
495
92
668
728
249
378
493
956
201
814
40
917
629
670
600
432
714
120
685
146
102
845
762
335
903
725
477
878
516
493
835
620
259
832
808
968
963
512
375
836
92
191
391
391
250
77
629
47
934
857
85
16
243
595
444
592
41
366
437
707
862
911
232
516
435
976
350
670
961
122
85
474
6
329
928
72
295
192
838
752
784
175
312
490
348
838
983
39
282
514
197
987
938
101
151
932
801
940
522
775
638
555
345
6
807
397
971
487
5
457
263
990
373
582
658
796
908
108
469
779
145
992
563
160
73
360
509
761
480
817
833
380
412
628
425
233
739
558
578
547
124
278
348
667
842
293
343
203
991
107
384
784
751
549
167
207
404
338
115
768
451
236
957
538
555
815
136
769
207
9
437
156
228
61
778
690
20
183
212
223
651
174
225
116
709
57
36
695
118
70
209
577
90
102
995
6
230
27
196
844
601
373
539
619
241
950
258
653
170
304
449
86
209
639
763
944
518
677
779
60
728
56
502
591
280
415
782
502
997
106
654
118
475
321
578
304
64
942
747
306
987
316
344
290
725
57
310
441
918
465
31
402
504
649
435
221
699
915
134
77
275
933
342
453
458
818
747
630
23
242
221
839
31
149
888
434
86
794
205
44
301
887
397
132
161
119
906
356
491
339
122
807
451
542
136
23
985
603
850
445
129
709
805
188
44
290
406
533
656
715
899
323
134
967
480
312
258
3
490
540
606
735
5
189
83
282
257
581
951
79
933
632
657
496
559
610
126
152
932
757
984
225
903
757
651
483
487
170
383
270
458
936
295
692
220
264
399
77
311
728
827
709
409
743
43
180
365
703
499
806
740
623
616
181
327
401
855
995
540
232
431
411
282
551
238
826
524
2
13
199
643
615
178
917
371
271
111
364
961
291
95
954
470
976
185
418
671
698
898
857
870
166
289
768
951
71
618
69
80
431
917
416
250
857
767
234
971
933
224
638
149
654
647
11
899
933
759
48
100
723
480
308
899
540
902
871
225
365
122
112
396
74
308
851
756
117
975
588
943
839
623
874
889
725
941
271
4
363
467
176
339
784
469
800
906
924
138
307
219
800
996
156
907
862
36
317
551
355
444
842
9
642
553
799
678
74
427
494
957
307
863
674
89
270
760
128
82
534
787
704
602
855
629
943
589
971
673
735
658
311
345
618
595
973
895
362
674
689
448
52
563
172
730
400
894
200
17
120
843
352
788
842
326
111
574
27
479
554
763
824
29
254
992
361
657
576
453
975
477
368
330
395
245
889
166
510
321
644
625
616
824
401
986
873
275
592
86
235
388
1
976
874
647
287
687
456
599
372
827
790
105
32
675
680
271
638
571
302
640
993
348
85
189
455
555
893
558
381
873
9
943
53
701
664
709
685
743
163
305
893
127
318
344
9
5
423
634
277
601
862
198
52
621
900
176
606
137
498
498
523
432
587
969
795
848
390
838
976
668
977
491
45
447
459
173
446
952
924
770
460
699
869
698
171
641
256
31
763
796
206
317
677
606
716
346
443
786
753
125
726
889
846
318
808
321
250
857
533
126
896
817
765
382
349
453
199
533
760
538
442
956
842
391
908
546
844
820
605
66
456
928
519
218
140
507
329
658
17
847
720
634
62
90
663
168
173
569
167
492
695
225
882
138
789
269
5
278
345
170
473
508
359
413
406
761
850
950
883
295
784
144
657
660
184
567
632
279
505
92
589
625
787
260
274
255
303
131
284
494
911
716
351
403
611
748
363
146
99
535
304
205
911
21
94
548
834
360
748
10
732
322
442
461
999
237
616
788
698
17
806
276
653
659
393
426
71
245
235
215
900
161
799
6
502
510
784
50
813
650
426
555
369
781
677
802
280
352
965
184
25
621
240
435
517
795
733
343
898
994
336
565
712
456
857
204
488
164
846
185
574
743
846
370
809
140
640
205
363
218
63
561
77
342
64
29
339
313
481
47
180
132
396
723
258
357
490
961
274
967
578
250
4
164
365
745
739
437
172
953
61
832
671
906
904
560
694
265
90
333
61
753
335
268
222
223
664
140
944
31
446
567
290
99
885
201
424
275
998
108
862
639
941
726
126
823
192
717
20
895
436
734
621
768
938
284
619
443
41
372
473
767
200
933
35
480
379
907
971
451
479
739
285
567
831
893
471
292
549
355
720
638
468
787
951
715
900
640
365
172
684
288
318
698
440
652
463
317
522
189
169
76
225
313
469
712
981
13
700
687
416
788
902
987
96
858
570
438
330
205
510
94
26
630
280
383
994
577
292
514
142
501
114
969
447
597
279
948
522
90
840
237
798
347
202
329
909
457
824
682
135
808
395
431
217
493
436
351
92
603
231
225
957
981
163
109
560
832
702
203
476
281
590
383
116
804
773
310
156
561
522
330
875
83
891
103
710
970
299
234
40
106
382
139
779
124
716
391
802
84
639
52
889
988
95
659
60
141
197
211
75
216
551
247
749
630
62
15
515
165
891
750
950
403
270
772
362
591
984
990
56
167
218
696
823
960
168
433
506
171
302
643
452
3
533
204
329
228
932
725
934
151
527
555
415
529
314
484
772
841
455
80
657
332
650
607
391
875
866
647
418
594
567
563
229
715
388
516
109
532
422
884
55
950
272
433
463
494
656
246
869
995
927
996
490
560
827
206
763
404
272
215
469
831
818
777
184
347
609
152
402
513
191
851
390
372
792
259
729
789
968
638
972
21
348
657
71
335
491
84
635
730
160
996
276
789
63
765
116
981
242
881
749
15
686
797
664
981
287
667
432
989
658
926
825
386
647
72
673
882
346
439
205
366
956
415
476
79
531
161
850
542
66
332
651
317
473
508
211
706
792
952
848
761
394
755
296
81
667
837
510
32
420
977
393
421
987
704
56
895
520
34
723
363
705
193
672
106
857
717
339
287
448
415
525
137
1
746
393
533
670
620
61
874
80
224
13
510
733
762
548
655
628
885
825
852
897
761
364
115
653
129
675
550
608
140
959
738
583
294
96
146
424
322
948
543
486
755
156
320
876
174
751
43
513
553
559
255
973
547
555
473
612
683
854
801
503
779
254
588
619
951
781
381
59
467
0
697
977
893
557
598
279
940
76
45
302
472
744
63
416
850
102
638
161
285
602
903
335
503
819
300
742
473
158
743
15
403
56
824
215
530
38
509
604
501
435
275
944
198
785
689
303
306
734
199
198
274
507
726
214
650
332
708
265
594
685
385
722
581
86
826
844
808
399
520
731
470
146
594
603
234
806
9
69
965
439
109
239
676
771
436
984
184
758
684
370
601
173
133
828
898
334
282
990
961
884
739
905
440
845
333
411
104
808
187
594
838
974
471
656
146
543
567
430
750
725
261
480
29
944
952
683
382
269
72
575
237
206
115
122
338
861
686
113
22
580
737
899
0
495
944
200
179
152
251
323
814
279
819
409
923
980
173
194
123
303
879
573
908
995
570
306
113
183
41
186
351
382
779
319
579
870
184
985
358
348
388
704
490
351
360
588
973
833
828
376
220
722
535
299
150
379
482
349
712
380
23
113
208
945
83
976
399
266
502
454
606
494
657
668
294
869
872
312
634
603
559
413
369
92
322
477
72
906
866
415
783
714
481
694
88
100
227
550
763
503
257
498
729
410
630
289
475
798
893
107
387
49
34
669
268
79
278
88
484
93
111
917
482
635
298
690
296
90
598
106
246
908
995
473
727
597
419
28
35
289
369
348
972
598
271
619
720
852
104
362
846
475
384
863
337
393
334
391
990
690
91
569
50
710
566
758
839
431
612
204
535
776
6
651
96
183
546
408
595
376
174
289
19
601
292
583
201
233
686
816
758
175
441
835
452
425
70
683
521
25
853
742
875
238
402
971
851
308
936
924
476
187
367
686
128
685
89
739
542
104
795
987
153
574
752
191
744
169
736
553
287
991
387
610
486
583
858
329
624
854
77
535
677
861
252
505
700
789
575
265
310
853
833
770
605
442
257
930
753
632
805
203
624
441
444
462
310
54
688
715
488
471
275
583
682
244
159
458
874
732
28
863
243
365
11
769
788
707
885
830
723
916
800
935
946
947
988
492
727
525
741
138
709
271
918
295
784
797
7
889
907
377
479
693
769
47
218
107
426
809
409
702
231
572
725
17
299
256
699
478
544
964
646
917
274
166
180
266
578
601
755
327
645
364
839
420
333
577
949
572
979
351
249
214
861
879
232
571
265
989
766
735
136
116
623
663
409
871
137
388
190
783
499
551
119
232
932
207
199
888
988
391
86
420
325
229
191
433
117
696
575
227
959
356
770
109
126
102
344
604
338
681
17
931
539
635
584
103
309
21
691
291
204
601
873
165
458
485
0
550
596
881
99
404
898
902
313
214
617
708
1
417
322
615
931
759
861
846
242
975
266
203
464
86
734
896
615
920
289
761
454
533
751
802
963
138
694
324
536
768
499
669
246
327
824
349
58
814
797
626
249
556
614
574
568
231
639
760
427
718
25
462
975
324
679
191
364
846
834
748
484
692
284
908
558
345
378
715
618
984
438
744
226
434
309
132
284
328
585
499
104
490
751
187
545
719
452
830
292
491
419
504
940
835
342
445
825
783
994
791
218
540
690
38
148
196
109
442
283
131
466
427
754
976
114
15
524
917
954
588
245
539
283
245
777
490
167
650
841
895
111
939
659
765
680
806
985
622
993
352
336
931
428
668
791
219
693
321
901
640
227
38
602
910
701
55
805
61
186
201
449
683
972
399
409
972
720
973
900
807
311
985
832
267
808
148
98
955
800
139
722
973
703
925
71
99
271
706
348
53
390
478
775
723
720
305
538
328
470
873
549
558
458
377
709
165
788
256
245
415
376
704
893
113
947
603
31
886
616
283
114
139
528
33
43
210
354
628
622
19
135
189
824
812
411
590
897
841
450
849
480
133
568
287
578
616
916
775
426
302
573
835
122
214
897
353
630
28
782
567
599
274
599
770
685
458
45
639
922
130
85
577
404
694
296
740
420
565
485
193
218
200
490
987
837
355
325
275
479
948
333
733
801
54
690
230
796
982
236
534
749
19
816
178
142
865
143
221
17
280
571
177
892
393
555
185
876
312
94
817
801
870
377
312
166
439
174
526
221
949
214
36
859
88
748
617
773
167
250
329
959
297
699
189
497
43
548
208
60
645
857
193
874
739
705
449
991
34
963
668
945
362
315
32
154
960
220
386
409
657
726
920
897
509
322
450
202
828
61
472
982
204
123
431
405
768
593
443
180
633
768
785
422
901
53
689
838
55
602
258
979
273
722
755
558
54
405
638
319
467
758
297
194
701
135
848
838
303
178
830
246
964
129
386
140
239
582
945
174
265
593
928
660
266
293
807
863
42
584
324
617
943
687
533
538
801
418
697
851
124
62
914
545
578
242
302
968
122
288
65
670
274
655
61
500
704
915
77
917
134
583
268
23
494
588
975
40
970
681
606
671
532
518
852
133
568
127
58
910
867
722
149
698
888
434
174
453
114
318
428
6
234
775
471
985
733
564
972
224
594
989
892
513
85
535
613
381
357
534
71
522
772
190
533
279
716
717
562
971
208
967
934
954
238
574
448
995
383
730
993
389
780
210
755
468
379
803
392
636
578
355
155
926
569
736
553
722
595
24
307
353
301
63
15
366
834
300
375
76
180
862
560
862
65
620
681
518
557
263
955
544
746
885
229
749
946
607
701
692
50
866
552
581
692
536
295
720
633
793
554
663
542
749
116
82
301
270
441
714
520
863
7
660
352
449
584
231
406
972
926
34
178
846
208
487
963
938
147
859
966
371
834
635
323
627
105
891
407
470
485
296
102
533
179
11
11
686
543
372
65
122
392
397
990
265
846
362
673
492
683
145
143
116
760
997
914
669
372
114
113
213
308
135
85
455
717
75
681
308
765
743
606
42
824
753
946
579
754
502
735
898
170
235
746
870
870
861
708
889
66
889
595
154
888
564
403
910
14
813
772
151
300
82
726
988
224
958
259
361
238
858
994
32
660
566
14
884
617
525
271
840
612
430
375
453
430
673
255
284
18
952
188
719
810
986
737
397
549
109
32
817
161
917
83
847
545
669
655
821
505
724
869
70
338
34
667
474
484
679
737
760
502
93
954
221
643
744
928
609
360
239
92
534
219
926
234
294
740
180
605
237
303
152
728
351
546
199
390
36
221
746
418
82
771
840
839
348
880
753
791
367
438
142
617
267
992
416
512
310
866
642
871
744
899
107
300
542
283
274
369
830
483
614
780
811
430
609
135
198
928
571
399
483
570
774
746
415
677
527
932
497
271
945
829
39
218
721
783
530
994
352
736
349
100
32
205
422
255
591
954
493
328
243
222
594
68
363
133
695
683
108
278
445
214
557
570
871
354
144
188
498
62
969
646
731
391
264
809
130
64
729
327
75
610
945
711
762
275
298
621
301
177
536
662
114
719
588
314
758
181
294
991
310
916
642
304
384
436
562
821
347
583
793
695
688
24
357
248
248
136
917
773
216
744
557
408
964
823
855
821
698
216
402
265
397
914
876
650
670
679
790
315
726
650
979
513
71
534
147
22
567
945
600
555
515
783
909
718
632
153
555
471
268
658
715
474
698
760
824
327
438
650
519
813
222
209
622
523
130
358
342
734
934
129
641
834
607
913
510
409
834
419
780
265
488
951
418
539
25
494
865
670
696
123
434
592
147
606
485
469
659
830
435
72
329
60
493
432
971
347
110
395
478
76
790
355
772
255
892
30
246
430
552
678
574
114
71
324
645
682
764
562
261
813
994
902
794
326
749
918
325
903
501
61
500
305
142
820
254
389
882
406
756
386
362
182
215
569
426
821
177
961
189
429
581
655
28
360
303
689
241
442
603
98
642
116
871
454
289
476
822
217
347
579
505
124
604
426
138
324
920
666
414
852
883
555
700
991
490
473
878
131
517
968
336
225
320
59
742
807
18
393
424
584
445
148
72
83
317
206
316
238
398
406
649
743
703
222
444
568
418
369
385
688
40
95
149
90
411
68
526
179
593
404
418
842
475
614
456
428
905
237
473
572
500
465
530
768
215
86
300
941
42
143
610
762
632
444
250
100
891
820
789
600
991
536
515
433
131
450
733
948
907
777
828
660
469
962
434
9
286
21
822
376
583
814
318
657
263
541
115
561
629
774
312
295
356
308
564
655
899
4
140
744
600
149
549
901
756
137
145
11
307
191
101
506
840
49
426
154
533
928
571
189
575
956
728
655
489
140
284
931
107
478
632
634
781
58
472
35
164
53
331
376
978
589
252
702
864
878
134
966
865
325
393
620
941
338
641
772
216
105
426
590
460
970
579
950
211
617
425
267
355
985
163
562
452
445
755
450
400
702
657
612
372
722
626
113
741
287
423
20
24
325
294
701
283
853
721
612
388
514
398
157
123
531
1
146
246
965
973
205
987
176
961
563
412
828
577
617
331
14
309
297
427
121
498
820
136
88
795
383
666
68
830
949
81
179
898
152
780
925
570
732
147
252
86
22
589
823
432
150
262
518
212
804
816
280
639
956
922
416
509
558
291
886
216
588
626
903
960
233
433
98
323
178
365
504
65
33
576
707
553
475
365
154
695
125
427
230
23
436
979
273
481
919
652
231
712
570
742
927
174
81
694
695
958
14
958
44
373
331
935
349
990
729
645
397
112
522
96
862
26
576
598
240
746
207
256
469
595
455
649
202
197
924
96
268
572
660
52
210
715
136
914
287
862
685
363
232
877
760
878
824
527
932
351
762
167
948
169
570
777
249
468
389
417
309
376
3
43
229
548
710
908
678
877
591
806
464
214
167
504
293
744
377
584
212
584
836
635
653
653
926
345
59
883
230
416
576
62
79
148
751
9
456
835
404
90
787
728
998
244
149
786
68
398
788
348
526
714
369
824
812
401
243
592
633
972
668
584
438
921
848
980
299
798
631
168
67
231
793
522
116
585
38
262
655
372
306
274
23
643
31
418
70
730
789
513
395
803
314
13
205
592
724
351
155
190
23
792
220
435
248
441
613
126
125
699
769
748
61
210
469
105
9
269
864
262
933
553
234
862
779
997
444
367
889
594
95
453
375
782
44
640
752
749
832
852
567
409
942
558
10
707
527
191
607
745
266
172
409
931
126
158
736
977
280
321
311
804
291
489
995
441
582
622
818
344
806
67
976
505
756
161
780
319
480
258
430
717
485
719
328
621
22
341
332
404
8
187
846
668
13
24
93
52
569
430
8
73
486
964
815
918
176
34
523
810
658
898
332
67
550
365
231
798
294
193
809
456
741
660
468
120
456
97
415
72
21
692
611
596
259
644
449
280
741
190
581
867
575
189
971
745
582
984
812
758
83
483
861
449
605
634
891
869
502
875
194
85
485
590
805
198
344
193
430
419
268
343
77
838
976
649
419
661
575
39
754
293
371
823
519
546
394
886
882
921
997
623
590
828
225
150
170
542
896
537
127
283
733
384
96
824
325
911
815
318
557
801
520
697
881
763
616
821
124
1
925
501
120
295
957
493
744
891
630
605
451
100
60
455
18
300
654
846
954
539
818
390
357
242
250
520
684
707
222
241
31
865
517
867
713
462
285
337
611
393
303
111
412
294
647
718
587
182
235
653
315
951
909
489
215
769
536
283
151
313
11
571
241
267
155
919
312
16
820
823
985
958
740
692
632
975
632
503
65
506
264
678
842
971
802
985
582
591
346
621
986
620
661
254
777
174
968
14
528
7
460
595
527
706
554
395
294
914
425
831
401
230
886
534
78
883
589
274
44
318
446
435
554
646
641
143
269
132
32
415
787
683
826
780
22
712
530
350
588
70
476
336
67
609
234
681
307
417
540
208
432
440
102
721
560
318
873
282
238
102
921
145
826
906
484
465
448
242
245
261
89
952
162
449
277
652
826
258
516
678
85
698
589
250
512
372
182
774
75
568
398
338
319
408
672
516
784
166
54
298
511
240
61
962
203
728
168
268
461
419
372
874
891
465
558
731
941
55
691
58
986
324
813
483
558
718
948
578
657
73
664
801
650
525
105
797
621
755
65
16
194
706
751
238
316
797
445
320
674
750
265
92
81
670
715
424
97
183
16
635
595
75
586
584
675
51
179
940
414
458
567
382
756
279
405
302
331
157
410
279
984
813
291
709
480
308
105
914
641
419
899
969
101
151
2
190
419
974
675
220
441
456
13
852
532
781
782
83
779
513
653
134
465
106
297
59
234
679
293
574
992
119
747
327
739
401
438
428
78
331
915
963
36
330
667
772
840
90
646
978
116
589
95
925
604
987
476
138
52
575
893
50
361
688
331
420
181
812
30
782
878
933
672
763
639
865
248
377
776
671
866
52
21
844
881
618
314
521
769
454
567
781
475
573
589
356
236
765
425
36
492
709
818
479
729
363
295
803
539
342
791
550
703
49
918
555
799
12
709
245
65
455
45
885
344
728
322
78
581
961
604
879
237
870
328
597
429
955
883
326
985
179
909
210
881
518
302
110
763
669
505
669
953
390
325
279
87
102
273
208
269
789
265
634
233
242
245
624
808
826
287
358
789
42
220
661
190
572
644
239
125
673
355
902
985
12
679
721
221
567
176
610
482
478
30
270
366
642
657
856
406
637
313
406
763
994
949
280
963
47
965
586
296
410
0
598
769
594
968
824
473
417
116
594
349
617
377
887
416
473
359
199
213
878
425
190
647
630
409
883
14
166
62
161
501
608
467
686
268
936
628
490
146
120
873
223
966
665
141
840
49
189
147
116
173
266
347
587
676
787
439
192
446
90
808
893
733
372
872
59
210
375
211
868
782
67
980
666
533
923
586
921
887
553
801
123
841
320
175
665
407
265
910
724
692
879
996
294
165
148
330
907
453
832
697
655
38
458
329
795
195
110
228
931
592
121
261
9
490
174
961
889
26
141
995
554
127
349
82
647
337
722
297
266
300
664
314
284
814
392
252
775
609
278
135
298
851
101
563
309
859
122
479
676
364
57
522
709
294
182
586
72
586
121
73
491
883
599
290
12
534
126
221
913
743
985
256
875
856
717
719
446
808
376
84
923
261
454
601
146
521
901
720
291
246
735
256
26
377
636
526
64
433
442
310
758
509
697
927
880
897
54
73
364
980
387
831
630
492
332
639
567
868
88
607
616
969
124
793
835
426
24
526
852
980
780
121
998
983
438
556
69
961
5
603
230
543
347
340
761
45
52
891
790
489
739
397
221
61
3
766
847
70
834
615
400
155
443
981
137
489
750
233
632
283
941
312
244
390
896
96
712
935
693
388
729
849
447
751
251
168
75
84
594
517
359
866
89
114
452
67
679
64
274
600
54
766
417
34
371
640
389
759
931
635
224
688
443
717
237
187
20
558
886
777
48
766
714
234
462
871
990
479
270
516
24
504
485
610
729
741
700
118
169
163
676
117
501
535
834
987
130
307
60
145
873
323
893
356
338
860
323
749
108
329
919
628
987
742
569
724
765
362
342
451
2
540
635
174
65
870
600
238
123
153
76
953
472
94
878
586
733
417
145
670
628
938
319
771
967
554
68
145
70
315
676
755
728
527
179
109
829
236
115
506
751
478
231
310
241
180
815
469
545
458
472
130
958
850
615
12
810
41
623
776
152
28
418
532
288
655
157
535
734
627
966
43
819
527
872
259
844
924
760
91
107
967
122
179
512
782
75
793
700
560
409
441
300
791
960
47
762
217
115
43
552
147
986
513
718
79
341
63
221
601
341
113
424
568
698
88
945
857
326
522
313
707
333
821
578
272
789
999
277
412
460
961
126
918
502
659
136
429
235
627
568
254
96
502
193
236
693
156
844
730
126
730
581
543
844
618
680
211
524
393
396
898
574
518
635
931
483
280
997
767
464
235
64
171
617
728
367
135
217
227
61
887
599
263
480
956
895
845
150
76
805
903
766
840
450
109
309
838
881
820
64
264
362
757
137
249
527
818
680
639
926
793
921
87
434
129
78
423
86
741
773
253
28
795
783
658
70
960
641
105
666
894
373
602
545
404
437
283
274
331
644
73
295
849
521
453
437
501
159
333
411
766
45
488
21
515
180
490
997
52
198
515
480
509
711
676
683
703
224
209
795
616
442
990
386
701
228
697
669
410
16
840
14
958
343
139
490
954
426
968
691
258
817
725
193
714
114
341
960
578
315
404
322
483
960
406
734
807
147
948
114
129
895
69
106
794
287
935
730
580
729
308
342
400
9
249
952
796
676
928
884
77
259
484
271
644
805
492
848
969
74
592
828
377
936
935
977
979
710
854
635
637
33
15
458
852
514
101
956
242
172
989
219
865
274
777
913
703
29
940
490
808
191
899
413
247
105
815
158
481
803
572
998
224
835
97
193
612
997
96
809
667
559
141
514
809
461
210
607
949
215
370
463
63
895
930
971
305
644
496
471
725
443
402
216
728
862
262
746
641
975
662
591
75
869
604
998
980
292
790
633
263
334
580
924
374
940
931
550
485
980
797
300
236
995
851
459
624
309
896
177
305
19
910
349
850
417
978
603
192
306
369
106
454
562
443
572
999
741
893
571
932
210
313
519
94
478
140
839
998
552
812
519
949
920
146
670
131
199
473
918
689
442
517
118
144
255
291
277
752
578
854
184
543
701
240
963
228
36
87
849
203
966
455
274
717
430
500
970
253
825
996
976
125
18
687
221
551
410
793
690
117
822
989
338
547
856
402
373
539
504
284
235
301
371
258
905
60
711
761
191
205
665
908
534
256
120
659
246
9
63
431
171
504
111
374
861
967
168
752
447
998
519
250
107
234
831
513
302
539
880
432
34
380
714
820
334
448
927
551
662
480
946
45
697
14
518
436
914
506
50
338
960
808
91
293
597
328
186
291
746
423
62
133
382
133
64
729
974
224
855
324
783
284
713
768
292
96
833
110
983
345
545
365
335
745
738
330
491
558
573
404
309
766
896
837
410
576
731
859
834
263
36
347
792
572
936
443
847
673
106
984
345
916
898
495
530
647
858
995
207
108
540
374
92
88
792
937
589
847
38
319
657
632
883
632
286
560
59
584
167
553
405
944
936
514
307
783
41
231
782
352
856
28
647
79
14
375
731
490
563
190
992
833
206
510
889
279
469
973
311
549
15
2
38
478
455
808
781
170
209
633
897
417
937
516
665
977
432
84
853
597
179
842
328
959
344
888
473
29
739
565
43
894
574
625
747
13
584
619
906
809
262
8
339
225
822
655
797
987
0
953
355
878
259
875
396
989
487
397
133
191
956
763
912
263
92
67
512
891
777
771
697
800
410
162
519
188
105
902
455
755
842
211
103
816
239
781
674
982
142
753
741
282
905
716
71
512
294
467
602
143
916
839
68
480
476
86
602
377
608
229
571
443
969
186
191
397
443
537
391
525
389
35
297
730
232
918
938
573
803
77
885
346
974
948
516
51
632
122
760
835
103
200
227
574
171
814
84
712
72
763
795
556
818
680
224
171
980
432
726
510
304
689
599
366
737
898
56
307
281
751
541
734
779
181
635
115
317
631
556
386
497
438
551
667
686
676
831
294
520
266
860
465
680
701
253
620
634
490
505
628
678
189
301
830
881
693
693
477
259
754
773
961
46
250
627
318
8
816
576
409
766
50
872
347
65
423
876
946
639
356
460
991
776
513
332
862
718
180
876
222
199
220
836
742
770
27
824
734
865
960
233
680
824
252
860
470
807
592
25
927
831
763
476
760
618
255
282
574
917
829
145
578
519
269
945
751
607
215
372
944
951
309
267
936
978
821
961
495
281
276
317
164
998
248
748
728
150
810
173
362
187
846
268
66
351
38
865
283
881
342
415
500
214
48
150
618
166
116
701
224
815
790
501
445
707
863
578
926
97
562
750
353
633
60
334
608
136
148
447
818
51
166
338
670
846
650
736
986
977
813
862
783
635
870
645
672
618
20
136
456
255
777
507
139
752
808
666
116
279
628
47
739
509
844
770
129
802
313
710
994
634
757
919
195
470
16
482
133
386
4
236
942
910
871
816
96
800
704
258
388
918
704
824
654
787
742
926
457
509
630
409
728
156
424
692
829
539
804
240
687
541
615
877
136
380
537
6
286
824
116
580
725
161
306
956
92
661
992
35
379
132
46
458
665
455
186
560
23
808
700
194
665
621
203
82
486
427
231
820
920
85
75
411
72
107
727
640
782
668
692
227
534
132
390
378
350
823
315
11
781
196
133
963
298
392
582
129
114
735
577
946
70
340
252
826
270
706
514
149
843
932
788
242
796
113
337
120
616
767
695
554
554
63
838
688
283
409
548
827
597
775
537
62
57
178
271
131
527
954
143
210
511
145
95
205
590
526
153
310
891
794
501
68
302
919
76
701
249
553
66
27
796
249
476
48
938
281
35
654
326
698
175
996
76
363
270
592
336
489
173
225
998
638
17
240
293
450
798
599
909
521
969
110
732
975
933
940
172
605
809
834
641
154
278
900
916
460
631
332
9
901
65
494
468
558
782
174
308
334
714
129
640
676
808
486
23
912
714
591
948
218
840
293
63
948
122
404
737
325
273
142
896
933
727
273
310
989
915
713
123
678
348
785
823
521
430
957
230
954
729
239
835
779
218
774
781
68
831
596
412
856
660
721
556
820
912
816
994
545
39
167
857
529
775
340
63
54
63
769
80
265
533
955
560
530
426
963
509
289
509
200
934
190
479
55
686
368
860
78
888
141
689
491
48
977
713
382
817
798
794
491
154
716
172
736
645
205
958
480
525
50
463
375
737
683
6
194
783
284
468
598
343
176
249
637
417
549
46
460
426
18
613
345
178
978
304
495
874
172
403
698
737
795
841
469
456
543
782
738
268
5
81
8
33
716
89
920
936
20
243
68
744
648
812
647
946
476
341
369
82
286
741
552
766
95
12
420
121
473
158
940
193
156
210
376
168
283
149
593
389
667
772
429
197
426
128
654
827
115
656
717
875
118
331
903
872
286
731
57
127
552
932
14
794
225
168
930
772
423
26
961
212
789
317
671
697
772
700
502
331
33
255
336
859
840
705
309
764
407
946
404
177
322
803
955
195
344
262
670
853
144
422
193
820
167
443
218
724
677
917
237
278
807
67
577
717
771
358
463
365
939
786
833
153
329
234
305
418
592
413
438
415
833
881
384
277
322
113
493
613
146
251
532
256
625
334
790
99
18
860
455
412
148
863
312
35
650
974
448
637
878
535
487
27
877
225
340
504
366
712
900
385
58
341
444
388
591
902
882
33
661
883
404
153
503
743
522
985
895
694
371
684
640
301
776
972
39
900
797
79
429
739
359
183
763
595
854
250
92
97
457
69
426
711
817
148
104
246
875
981
105
169
14
229
0
279
175
438
312
985
188
863
548
554
729
557
59
654
639
975
178
285
441
269
166
252
581
762
104
439
647
492
669
576
689
493
824
327
737
541
208
296
113
173
204
131
55
148
463
349
771
835
937
301
982
585
199
276
486
537
292
828
380
426
917
239
231
718
631
438
463
593
800
411
143
608
76
945
417
525
965
403
447
500
451
57
966
232
164
56
927
244
97
514
871
902
288
873
185
378
134
145
790
303
621
232
24
636
594
94
206
313
822
110
152
125
873
28
354
154
774
574
618
992
411
556
460
812
989
540
78
663
379
179
329
33
561
876
788
755
124
816
553
318
853
885
406
597
147
984
765
477
281
745
667
909
145
739
79
229
28
752
932
875
369
30
130
739
907
949
175
995
132
47
582
154
861
59
586
832
7
278
961
642
260
769
888
432
700
299
64
402
162
376
462
200
482
550
382
50
201
687
808
418
341
184
794
433
767
105
513
993
334
301
460
793
209
227
463
321
222
82
498
652
792
376
234
436
564
287
583
232
944
679
558
264
200
9
333
777
77
762
862
632
110
656
795
586
842
414
337
906
793
718
907
905
93
826
945
686
628
646
134
444
679
821
865
565
557
331
819
275
717
741
322
785
125
643
152
881
730
530
612
147
778
757
0
20
80
635
537
599
394
236
69
355
709
29
46
959
344
81
327
294
299
646
425
203
43
44
437
721
361
658
366
716
414
833
120
614
635
374
976
428
462
529
965
583
287
957
711
102
551
218
515
747
29
471
527
213
648
350
952
397
825
682
488
527
773
214
912
905
673
446
421
387
128
428
732
979
654
746
767
196
240
541
969
643
464
671
837
35
523
324
101
172
642
235
357
414
292
176
826
763
754
534
89
381
472
589
354
113
669
159
151
938
370
864
358
665
955
812
329
721
462
205
319
481
732
160
475
533
100
326
164
748
424
223
731
605
675
484
435
709
722
540
204
743
697
960
867
276
805
857
132
967
300
614
198
215
218
460
944
655
877
570
753
164
254
293
466
933
570
27
963
279
642
224
620
834
878
570
146
145
621
863
680
644
338
346
127
201
11
827
582
333
754
847
52
909
588
728
743
105
463
816
84
900
781
204
403
134
612
581
505
605
875
582
598
634
542
785
494
269
735
79
983
274
984
479
978
232
229
500
710
675
878
979
60
174
594
489
378
887
735
305
39
937
821
293
925
975
994
816
445
790
96
518
925
859
756
371
676
612
871
429
46
526
785
548
529
90
20
734
805
370
379
762
807
412
30
754
904
917
980
277
449
233
45
924
299
247
405
628
231
550
893
540
721
167
342
182
159
864
623
404
795
650
233
609
395
253
473
743
792
449
575
69
322
263
166
307
227
350
137
520
367
343
494
975
221
573
518
236
732
317
795
727
720
717
206
67
958
127
882
177
802
844
652
246
796
568
591
130
26
504
363
996
98
603
957
163
893
458
544
137
174
908
323
94
251
662
781
421
645
984
628
623
281
973
212
582
866
440
760
948
348
451
484
264
319
269
628
471
837
864
794
470
581
33
708
489
661
123
533
572
417
422
236
600
192
505
168
960
550
741
638
907
404
767
878
583
221
301
667
435
905
989
442
985
580
208
800
813
5
507
954
788
963
877
564
932
475
704
885
70
776
482
478
76
945
226
561
912
850
467
276
288
113
838
447
148
817
818
907
332
230
706
832
1
337
107
704
317
169
290
622
882
523
980
355
589
239
393
162
842
562
93
652
554
409
468
326
962
631
690
87
109
932
623
10
193
223
407
958
843
339
698
511
589
613
192
643
572
103
161
967
421
588
205
434
379
138
516
874
923
498
659
685
820
215
638
397
927
485
335
244
448
89
28
169
578
777
907
144
745
721
752
476
807
73
458
828
0
647
3
878
429
680
607
579
794
875
395
395
865
835
869
707
181
285
4
771
689
389
622
257
490
55
130
29
488
876
682
638
706
771
923
517
509
498
65
427
598
92
973
261
9
232
851
975
267
725
928
265
800
796
948
273
999
850
514
961
327
659
236
802
941
302
345
551
863
96
12
606
71
355
128
155
347
854
989
659
278
319
579
615
476
730
894
305
618
909
972
67
423
650
984
707
202
306
579
16
376
915
867
654
27
741
977
504
954
301
664
15
253
798
89
883
636
88
978
450
118
565
927
485
30
645
599
576
423
809
803
423
577
16
862
348
34
985
963
801
29
694
668
845
427
523
641
91
331
265
696
10
185
880
476
947
683
887
888
147
538
708
932
66
389
67
444
794
664
405
118
676
995
278
999
907
818
565
305
729
204
103
364
464
853
47
964
832
4
531
893
688
113
150
866
928
379
873
617
391
511
43
673
410
989
763
919
400
220
985
312
672
284
254
130
795
195
386
919
308
73
81
283
390
213
964
932
99
803
882
272
178
838
98
534
214
94
125
292
230
322
983
797
768
383
740
44
799
604
513
189
479
937
84
831
122
249
438
374
629
631
736
747
804
751
314
77
420
6
370
821
500
232
55
710
840
92
229
486
398
453
447
268
274
985
359
281
418
81
169
523
112
868
826
587
765
604
420
881
563
326
351
201
42
554
250
284
997
498
609
234
981
306
555
144
699
930
447
791
955
188
518
333
949
713
767
7
297
569
775
658
276
651
53
97
557
773
890
328
811
438
978
62
757
625
323
695
985
741
290
947
624
854
665
506
258
765
780
710
677
249
541
39
803
943
226
577
398
998
409
483
536
210
60
207
971
558
365
870
356
351
826
426
247
463
139
147
861
964
86
658
554
110
258
343
825
344
911
623
411
24
325
610
989
444
859
883
230
714
702
692
272
98
726
284
822
631
325
100
358
796
114
302
535
986
271
629
10
770
23
66
466
737
818
606
987
745
840
838
772
384
498
339
83
19
955
878
895
506
642
423
80
266
842
191
273
497
893
765
990
945
978
623
288
801
398
359
21
757
569
159
447
382
584
586
899
14
896
698
319
603
331
974
817
261
922
776
326
341
305
946
376
220
763
276
767
697
321
959
9
208
860
596
735
676
212
641
36
881
7
57
594
661
347
274
234
37
495
967
32
65
322
614
378
186
858
984
665
409
171
273
866
587
389
996
851
429
457
195
475
866
732
452
95
667
880
783
263
697
53
96
802
304
252
191
473
714
899
143
987
428
5
455
391
415
872
843
576
511
546
636
133
136
657
249
36
326
547
350
60
994
813
268
572
526
828
987
517
835
584
258
334
905
611
269
953
972
922
380
141
781
335
215
494
410
991
846
850
701
962
689
837
46
977
904
323
218
76
327
454
800
619
215
329
628
550
464
199
128
402
153
375
585
122
352
472
699
746
124
680
486
636
333
220
953
772
15
794
102
826
544
995
89
318
221
77
209
345
920
273
987
171
659
797
562
655
682
22
298
326
850
805
652
97
178
44
593
983
262
147
549
350
379
112
899
503
821
955
611
695
673
116
182
363
707
82
589
380
821
330
996
573
436
741
743
808
273
226
337
647
948
645
145
149
619
15
188
987
696
913
402
504
981
987
859
123
177
9
401
451
161
951
588
25
906
856
805
64
431
881
974
387
715
226
92
851
509
332
643
540
375
206
730
827
94
317
486
552
307
129
737
684
850
921
286
121
852
704
429
173
156
89
212
896
691
982
783
712
378
609
136
103
110
171
231
560
276
540
795
742
339
590
527
858
641
627
229
721
909
37
508
240
92
332
576
271
694
917
156
630
307
319
115
630
635
625
266
492
208
467
28
173
47
526
104
978
234
857
535
728
231
613
811
60
503
653
847
404
812
274
363
299
397
650
23
669
835
413
606
117
661
652
264
343
715
620
658
43
72
870
402
36
226
471
88
99
645
395
70
829
761
564
780
381
621
996
236
864
94
884
874
994
863
88
656
879
585
338
107
128
130
950
192
195
97
787
57
596
311
832
14
360
733
612
902
563
552
227
948
952
666
604
19
524
418
939
82
918
545
169
884
671
806
109
794
56
951
751
571
552
123
245
116
459
557
440
232
645
373
763
817
859
18
685
226
847
302
26
895
391
317
326
775
556
960
410
725
730
11
124
771
835
80
642
295
766
392
231
898
270
289
381
899
793
68
647
983
202
898
258
416
936
625
86
633
249
317
435
56
875
416
209
369
197
826
947
866
951
582
226
308
399
222
376
535
462
350
953
272
132
504
579
963
541
40
62
136
179
611
165
205
20
478
879
727
620
798
717
617
304
25
980
809
608
849
334
221
394
248
954
30
700
446
251
492
560
991
137
773
455
972
164
442
485
764
513
924
603
104
451
270
523
981
5
362
160
367
343
289
851
424
602
615
12
520
654
130
973
610
352
356
427
619
378
626
718
902
920
90
696
851
963
199
666
140
83
69
656
616
858
22
566
805
588
293
316
774
531
573
39
640
56
677
395
407
830
803
205
813
454
254
670
160
571
836
306
644
274
165
842
788
117
202
219
360
364
525
76
444
606
999
772
777
749
316
297
530
325
629
529
578
921
184
931
65
217
666
764
460
43
312
780
508
596
603
993
99
926
302
902
997
615
834
132
486
91
360
171
161
216
826
469
765
857
228
614
571
280
823
196
631
126
518
251
990
849
151
131
788
547
872
185
491
944
590
221
988
818
382
897
668
60
442
8
450
43
81
862
906
331
65
852
949
389
758
912
764
353
136
184
829
475
554
980
190
422
650
74
41
411
864
972
136
358
567
856
486
448
8
617
727
104
370
902
477
310
440
339
566
815
453
358
534
210
597
649
513
579
943
916
168
703
514
958
785
662
43
353
197
179
285
889
599
284
687
384
645
249
380
684
977
811
883
498
102
887
644
674
50
660
664
46
924
131
481
421
863
61
565
897
602
975
322
996
427
493
974
132
27
382
963
529
29
5
535
521
880
385
285
955
717
667
523
301
712
655
92
314
856
998
713
370
786
163
388
909
588
821
724
151
764
931
971
863
683
701
130
772
749
223
263
982
53
540
50
663
938
135
421
770
438
951
607
417
76
177
518
420
764
381
874
364
111
34
960
881
149
420
843
356
154
385
527
129
641
745
618
202
669
6
410
816
279
896
540
695
611
167
693
998
841
334
999
841
543
329
913
176
715
980
633
471
3
339
259
137
364
265
910
351
380
79
428
254
678
554
330
582
369
267
388
591
57
396
965
429
548
194
723
20
831
739
629
53
555
164
221
265
7
663
802
642
424
707
432
621
568
503
920
357
177
575
243
262
701
826
216
183
817
384
17
87
472
690
285
571
454
384
116
644
564
192
294
538
429
357
39
161
986
137
552
565
870
871
115
382
598
437
791
689
431
277
896
485
746
905
642
213
733
788
364
531
748
7
721
483
595
197
599
361
557
918
694
759
888
666
825
236
175
596
616
558
881
145
913
168
382
382
383
452
714
780
602
761
373
309
114
54
14
146
79
127
852
276
232
563
384
436
384
981
391
564
541
7
217
450
448
338
782
11
247
314
817
574
316
135
106
399
738
861
528
274
665
996
679
795
637
430
350
900
907
141
334
921
469
549
873
509
595
932
297
693
445
897
918
36
434
564
843
147
475
37
269
973
397
324
54
755
22
582
948
814
316
89
574
144
527
918
883
306
258
120
677
828
90
3
483
331
654
391
807
452
232
906
573
574
976
248
351
517
37
890
465
433
955
500
855
277
391
176
780
528
158
799
830
437
537
927
169
951
357
424
12
677
454
804
784
760
819
322
681
485
605
103
833
3
876
876
414
217
601
122
34
977
626
779
365
715
656
431
187
877
520
161
311
473
228
758
693
507
514
417
456
266
595
841
419
837
181
559
925
493
118
936
653
673
141
535
548
146
505
353
661
553
768
488
840
61
520
534
48
599
133
149
927
964
123
38
359
160
267
636
863
378
136
787
813
686
325
964
178
194
386
247
83
388
593
111
401
602
451
932
139
976
578
495
748
215
760
227
929
173
737
165
701
412
134
19
363
105
232
297
982
409
923
40
806
471
693
570
389
203
521
767
37
47
46
189
425
325
328
644
659
202
451
555
697
509
984
462
823
720
507
631
488
918
462
99
209
560
800
8
72
228
182
891
898
994
104
423
831
747
332
931
52
968
64
399
848
626
214
782
581
424
276
678
929
857
262
781
711
181
848
595
585
245
589
123
199
286
992
862
990
34
743
293
272
444
666
749
750
477
52
260
473
654
780
763
554
865
131
300
364
505
916
658
310
400
922
635
397
852
436
235
242
684
280
380
760
166
274
307
949
946
430
360
614
649
595
610
532
164
374
628
888
227
637
899
823
467
130
984
627
972
18
126
280
399
918
321
534
98
311
954
637
578
441
304
428
577
965
448
104
419
589
419
797
678
280
130
911
220
931
671
375
958
101
404
440
769
147
345
483
886
41
756
787
690
352
922
922
268
830
402
271
407
429
313
771
294
997
756
574
148
830
604
340
488
465
905
251
202
104
196
298
409
648
557
812
510
795
868
996
945
976
286
560
231
386
905
947
274
26
715
183
321
582
619
661
209
399
109
182
58
996
747
661
468
981
239
468
69
88
782
42
646
61
408
404
776
201
739
332
196
421
849
789
716
401
278
838
663
804
529
304
538
558
938
722
21
723
754
957
294
516
294
114
184
762
932
37
216
171
294
234
955
41
101
868
537
329
713
788
153
131
28
523
967
443
572
111
829
69
826
720
450
459
673
618
362
929
815
527
619
553
159
925
551
124
408
710
830
161
605
820
930
519
104
675
341
360
566
917
611
208
261
486
664
947
977
594
14
871
238
631
513
278
184
665
911
572
119
199
24
271
289
488
349
601
155
581
195
151
282
736
386
722
313
496
523
619
377
201
44
186
778
682
969
392
312
374
433
75
82
858
454
787
7
15
413
576
881
506
566
386
160
735
251
426
729
372
500
866
829
803
892
657
508
935
191
244
913
437
345
20
227
521
504
748
951
896
610
868
633
228
254
563
225
870
965
883
175
281
937
554
482
326
828
273
955
467
229
514
580
137
184
1
810
816
185
952
797
496
405
101
120
816
1
526
100
174
161
396
585
726
682
573
372
746
66
575
740
347
936
865
532
809
588
688
466
65
185
925
139
892
820
620
55
714
93
515
957
860
443
836
547
934
181
175
150
688
852
998
131
271
880
831
99
799
25
816
639
971
791
797
206
564
198
216
370
799
406
136
671
51
674
738
847
184
524
463
125
607
946
894
930
305
846
880
465
853
450
833
227
657
780
4
73
518
757
766
382
981
496
828
596
263
731
872
40
561
554
587
469
25
331
573
660
285
635
831
13
437
652
731
517
269
188
24
13
968
438
327
802
647
452
184
713
863
164
400
520
631
420
551
450
309
384
799
183
798
949
246
804
359
119
455
323
997
542
898
319
642
37
211
627
690
818
950
262
549
41
923
635
737
271
598
441
212
824
632
756
156
928
162
481
637
866
206
192
501
846
538
431
930
295
960
454
456
347
643
361
328
342
702
537
243
640
309
512
327
925
753
437
627
751
209
473
466
256
513
349
802
5
710
205
450
82
515
858
114
14
697
443
109
863
787
234
728
156
168
532
670
925
387
436
468
194
163
745
45
676
705
658
710
23
9
238
724
197
557
933
107
832
791
111
156
999
108
669
357
118
729
922
186
240
537
816
568
470
81
904
306
942
650
337
456
60
642
78
876
682
393
412
673
618
133
301
786
440
309
16
796
387
531
46
837
603
614
558
388
396
891
220
125
330
398
54
941
943
159
871
852
509
13
792
254
845
762
199
602
562
185
972
790
120
404
98
338
424
219
701
22
421
978
578
222
469
382
525
103
15
112
39
441
558
317
896
360
618
478
831
217
267
494
84
934
894
732
441
566
385
525
976
269
588
20
2
523
427
530
608
134
633
609
618
237
797
945
444
409
669
559
638
123
736
81
554
842
766
582
787
168
655
126
16
837
391
110
759
270
726
329
438
204
802
870
553
846
835
652
110
161
187
457
85
233
200
135
69
327
652
508
290
28
985
570
509
454
620
505
191
214
101
169
84
152
792
410
886
63
736
48
441
512
881
398
529
977
557
534
624
562
178
252
401
238
545
970
393
810
875
453
472
899
282
530
912
658
643
416
72
420
242
711
57
176
100
223
508
773
929
427
775
968
764
503
961
303
808
511
236
388
884
685
813
761
468
199
621
350
680
648
398
651
892
93
92
671
636
943
123
353
723
459
931
309
112
883
365
492
915
996
977
737
776
551
531
655
434
571
727
368
14
973
956
796
396
672
736
627
685
577
404
476
60
993
576
17
817
186
789
840
707
752
85
803
266
718
974
243
513
657
344
467
572
735
924
984
518
604
442
521
418
543
136
540
617
355
632
694
90
857
206
123
610
8
416
212
646
875
227
419
574
496
273
322
25
991
511
498
670
146
262
509
85
258
226
892
954
237
548
927
22
458
942
923
349
793
175
855
805
665
563
677
415
341
253
792
489
428
963
587
610
950
765
101
399
708
463
182
479
787
421
947
106
92
767
438
109
391
96
36
172
954
706
273
158
35
777
358
166
191
721
188
23
865
781
601
347
450
247
772
431
105
447
242
83
95
925
569
824
889
869
13
560
62
421
701
349
789
918
573
224
341
270
407
254
927
741
589
978
314
859
326
470
386
690
214
357
851
22
989
745
973
578
996
636
91
212
281
145
319
797
234
741
423
128
12
303
744
378
811
52
105
401
376
28
90
770
483
451
32
901
219
810
976
496
526
425
493
65
914
196
380
698
117
955
457
498
708
760
200
164
615
683
651
439
241
789
16
901
79
488
319
257
78
728
712
630
187
475
136
510
833
141
731
662
829
643
684
520
983
649
646
721
651
295
16
11
959
324
16
653
978
212
275
443
773
701
550
729
314
294
436
202
491
13
853
662
718
656
779
491
593
465
775
515
334
926
692
992
637
319
751
532
900
794
467
474
738
498
710
590
500
762
422
864
301
441
20
230
221
248
95
843
849
70
410
825
579
335
305
244
162
260
583
485
720
788
571
444
133
86
90
239
34
936
404
469
477
363
231
456
912
436
503
232
685
790
82
283
60
865
247
49
208
239
989
827
882
95
495
249
409
140
242
361
670
797
690
781
821
211
519
501
997
83
342
162
696
330
697
815
407
825
472
152
570
456
950
110
24
44
85
754
732
620
722
917
373
461
741
781
916
748
398
329
998
568
633
518
676
960
796
681
835
265
737
798
270
30
235
983
254
571
115
762
309
395
93
400
950
52
473
72
543
436
817
346
329
721
769
60
578
866
640
446
90
443
705
66
157
39
324
205
750
98
423
796
382
512
414
329
489
933
459
301
714
378
71
682
986
356
312
315
736
383
281
76
440
985
41
976
523
62
415
304
120
231
255
933
914
29
538
799
453
662
272
805
422
631
274
255
866
841
398
411
688
889
31
299
847
871
644
344
186
80
529
485
948
629
407
754
712
473
534
864
586
499
516
62
593
954
856
860
981
620
632
384
238
961
398
899
683
476
597
768
500
508
976
298
515
80
478
345
374
570
475
797
984
57
351
110
358
915
819
902
814
35
293
633
259
469
679
679
407
800
63
462
887
65
668
676
21
433
298
876
0
24
115
650
268
157
53
562
57
161
378
576
640
21
646
920
335
120
395
886
643
343
521
395
244
344
694
732
834
268
183
559
67
99
904
155
818
738
404
934
655
108
5
211
413
322
566
641
674
811
316
963
759
750
349
816
779
198
353
886
48
52
794
288
287
199
262
494
170
766
700
363
153
111
640
620
444
724
310
119
764
416
818
987
287
526
215
68
974
366
310
971
900
48
395
337
738
5
617
51
890
888
172
621
670
114
579
29
349
841
593
519
103
628
651
675
822
687
182
133
809
805
456
790
104
861
728
903
12
338
359
157
513
254
232
613
219
884
784
389
238
580
957
952
663
435
973
791
799
597
79
320
49
3
145
856
683
119
771
646
767
688
497
582
161
432
474
996
509
955
926
553
614
431
806
870
831
433
313
452
83
506
355
689
457
857
576
274
595
892
354
814
607
70
14
702
54
818
784
777
347
802
425
767
315
399
785
999
859
392
411
911
656
622
211
880
826
500
118
225
66
273
287
277
861
316
840
456
637
908
100
323
419
919
171
283
886
602
117
211
513
378
818
840
34
411
151
893
435
722
158
234
514
677
516
835
589
236
169
896
224
202
426
529
795
957
368
575
130
354
310
271
407
487
968
505
673
456
259
525
161
458
274
155
509
908
239
109
87
504
355
725
191
491
2
810
393
811
977
751
353
447
534
137
739
997
202
507
469
254
912
365
444
74
684
190
478
41
194
158
722
24
742
931
780
388
664
974
626
899
691
644
510
800
530
184
66
593
223
836
153
498
743
318
448
283
500
771
124
271
861
540
31
28
467
166
968
635
363
327
604
738
681
604
154
395
861
618
391
719
581
605
860
359
969
939
34
253
440
493
194
109
337
155
282
602
720
505
915
678
143
117
960
194
117
273
451
793
249
497
108
779
179
680
863
119
919
890
319
198
37
392
696
990
555
684
827
650
587
856
337
400
695
240
659
254
515
673
594
954
878
531
13
249
345
538
147
729
30
615
276
755
844
111
340
531
677
340
138
718
75
87
258
743
155
983
881
314
209
818
858
860
716
810
691
733
619
818
783
190
500
566
19
800
63
36
495
412
670
73
220
652
676
588
751
129
454
884
258
888
917
479
811
858
746
705
520
951
319
105
169
348
43
508
355
725
273
545
671
564
291
742
835
416
598
479
64
606
806
674
93
377
553
284
513
694
244
435
457
919
499
370
166
28
952
783
492
425
240
363
863
763
515
550
805
290
623
858
792
523
822
360
827
412
196
335
829
849
711
174
390
121
941
179
66
681
603
245
545
471
898
21
35
673
305
248
981
280
211
337
492
239
661
721
167
814
27
237
466
2
692
566
474
870
395
557
364
954
120
275
546
379
954
865
354
740
562
372
773
304
758
866
340
404
624
804
568
931
493
910
568
36
431
159
141
144
894
312
130
203
474
643
859
118
595
861
347
433
930
760
678
883
146
819
504
261
190
113
894
368
802
318
851
37
402
718
777
359
576
465
622
390
667
297
820
502
690
321
327
617
636
339
267
167
688
697
592
298
923
234
886
234
248
519
55
481
552
688
187
457
698
733
181
9
719
11
735
659
134
3
742
263
74
74
508
81
883
674
849
633
923
45
825
879
849
221
39
705
112
561
578
313
432
380
290
385
916
318
566
639
167
769
171
153
806
314
908
429
749
380
710
90
765
768
79
403
489
590
699
703
946
727
56
468
954
573
913
891
70
818
116
471
623
251
473
119
285
224
445
591
560
431
374
465
155
501
280
120
763
999
254
248
24
297
296
647
44
388
5
5
366
367
75
301
707
504
557
616
811
791
963
665
932
231
50
496
976
627
648
685
10
166
344
756
782
770
232
231
178
653
375
637
191
401
538
799
905
919
328
153
756
583
382
570
213
619
846
105
410
680
919
959
938
814
204
933
615
703
553
359
582
2
970
315
329
657
605
512
34
630
433
578
121
443
968
59
926
268
538
683
267
196
985
796
540
830
708
167
18
576
736
347
572
956
382
195
874
483
60
788
550
467
749
110
288
567
912
309
609
192
59
300
31
705
241
887
454
749
392
367
586
358
427
769
567
717
441
837
868
77
150
999
195
285
252
747
343
963
778
864
574
589
404
487
53
302
717
611
617
268
786
23
374
187
657
512
909
78
948
80
41
998
246
565
193
439
712
931
517
568
629
301
196
333
527
229
937
452
969
343
557
919
873
209
220
379
326
240
271
300
881
219
968
27
857
226
261
351
112
323
746
957
765
578
76
779
702
385
577
663
147
476
299
595
404
85
551
486
380
501
53
885
914
122
387
932
404
199
202
831
56
787
507
629
544
439
27
73
961
535
184
68
738
378
900
928
350
256
403
848
525
203
285
787
682
927
45
193
278
682
844
245
608
983
563
823
722
571
747
786
781
956
348
852
112
491
206
665
106
175
924
508
608
622
620
392
352
600
715
726
365
416
563
84
48
824
90
747
824
578
649
41
557
15
878
223
513
349
280
370
360
368
541
25
605
787
307
411
538
387
896
966
337
97
174
978
134
168
681
363
154
583
559
462
501
298
783
194
378
833
991
893
161
162
647
847
263
318
788
624
383
263
374
132
417
646
965
224
684
801
867
924
26
47
359
854
715
665
368
414
771
62
582
551
620
112
718
433
555
834
129
172
650
612
370
92
197
840
427
75
364
622
476
613
167
946
944
14
772
511
387
542
2
40
476
448
958
993
170
460
389
832
287
529
49
469
714
270
735
190
41
792
621
44
741
765
876
212
614
992
97
481
108
675
148
430
96
151
576
848
979
76
61
346
94
303
944
51
105
791
756
427
125
119
160
77
274
423
747
105
864
241
292
256
619
534
730
961
816
40
122
725
448
706
413
255
208
167
786
551
525
805
790
805
451
210
613
249
275
366
190
20
10
636
415
181
681
983
183
851
715
795
974
753
659
343
372
432
465
27
395
925
684
384
331
795
553
782
642
528
750
53
118
276
468
402
688
836
800
798
410
703
785
39
82
457
978
516
593
906
257
69
129
888
99
580
803
331
715
426
913
664
537
237
592
978
187
819
257
892
775
850
390
735
367
972
679
690
735
364
381
833
920
22
901
972
494
768
426
383
101
373
435
508
241
682
740
448
949
860
248
550
433
395
662
752
525
466
940
99
680
7
420
705
744
361
282
367
452
974
393
534
70
840
296
473
734
939
640
540
742
311
766
11
429
625
817
442
468
78
727
187
509
664
424
259
789
198
160
510
296
16
915
487
879
684
291
262
924
592
301
784
16
726
485
634
84
575
256
803
318
282
662
367
409
98
68
394
173
111
990
378
377
518
54
28
96
528
291
58
114
324
66
37
44
392
246
131
921
502
795
247
835
517
319
545
115
163
471
785
495
420
300
289
571
150
812
972
176
828
540
317
17
753
287
20
236
241
591
991
878
692
930
689
892
964
810
921
873
681
962
96
457
285
83
13
932
735
624
21
944
780
822
676
752
625
276
520
435
256
135
706
766
31
96
435
647
460
933
876
453
935
998
646
70
795
454
824
485
240
829
162
306
416
767
793
640
619
536
295
234
876
203
548
635
971
375
415
330
672
265
317
981
857
575
213
681
343
865
626
953
215
295
627
576
979
29
615
730
152
434
490
6
253
699
193
241
906
77
212
865
293
32
230
773
778
414
800
823
923
212
810
968
284
482
915
655
704
477
598
752
88
176
309
839
371
124
918
645
614
972
441
113
767
545
17
771
255
731
369
876
792
977
723
328
878
962
919
913
787
436
787
788
275
493
431
797
77
810
440
481
71
16
822
359
175
315
12
476
33
945
492
209
151
571
437
823
178
185
579
350
776
986
603
197
251
497
92
444
63
174
186
850
199
841
192
365
729
530
791
15
790
280
298
813
130
845
279
377
763
573
342
290
638
45
455
733
489
456
438
670
829
832
452
707
185
861
178
610
627
782
190
396
165
404
895
435
639
942
867
430
125
669
231
957
567
751
905
157
364
760
768
898
247
122
469
269
287
928
751
304
69
678
287
281
428
598
824
910
666
684
147
51
667
922
729
112
228
725
161
842
161
70
543
267
946
757
720
600
157
484
942
4
100
515
631
48
480
477
448
904
570
650
394
984
228
821
534
540
214
260
203
822
498
882
174
919
669
858
414
710
504
135
615
454
863
723
463
19
540
225
157
401
481
49
62
644
881
486
223
18
479
355
492
362
850
518
387
418
268
722
928
43
969
752
392
849
521
37
395
815
351
21
648
265
296
779
242
431
897
373
35
582
557
131
880
848
452
321
473
109
483
565
556
65
470
732
330
860
251
577
713
633
558
31
458
171
323
366
704
285
842
775
495
994
101
264
587
449
740
143
162
801
490
942
756
358
966
650
448
840
89
208
77
791
753
258
446
322
261
746
83
488
940
760
227
174
394
631
362
376
431
582
251
817
504
107
54
322
782
444
561
566
319
413
152
686
369
579
864
893
341
510
335
110
240
136
865
668
926
588
558
481
937
918
817
902
39
319
826
201
198
857
928
686
255
978
607
849
627
206
370
93
519
805
932
34
754
5
117
276
506
64
418
285
160
304
15
859
482
140
494
143
472
603
172
569
20
420
268
84
731
54
653
629
762
766
178
90
33
331
761
641
2
210
508
294
599
861
235
387
356
578
456
433
699
0
305
113
686
258
243
601
708
719
473
611
484
540
80
960
7
939
363
850
595
667
144
966
524
664
550
263
319
35
463
263
600
149
122
297
524
601
945
308
751
291
909
92
359
120
748
109
619
622
914
113
513
279
997
481
94
444
818
540
507
473
987
947
195
340
351
874
532
6
320
646
880
518
649
238
274
460
947
795
736
746
390
915
639
212
206
224
1
975
757
750
228
417
19
447
779
582
147
942
838
659
62
708
773
256
513
436
312
762
445
95
712
89
125
53
965
895
229
215
778
378
661
866
159
98
197
950
576
151
175
8
143
159
60
448
509
953
156
318
298
292
364
226
845
392
279
984
183
861
318
682
259
736
153
44
625
718
58
299
305
115
123
474
903
702
377
764
667
383
368
153
344
327
996
929
498
705
489
541
278
742
886
938
597
941
762
936
97
678
32
650
507
126
63
217
620
773
335
772
649
200
666
872
918
712
285
421
524
834
951
174
410
127
877
553
879
746
241
742
986
640
222
276
625
649
214
489
826
872
298
745
741
598
201
551
852
318
398
550
196
134
671
789
771
403
658
194
236
462
960
796
26
151
969
465
569
820
530
476
332
305
429
383
228
933
994
526
462
917
276
201
535
252
984
507
471
141
982
714
368
451
619
566
538
22
171
719
44
176
826
895
760
487
783
964
72
221
349
971
101
111
52
460
927
674
626
194
947
19
465
193
589
680
434
698
137
449
538
748
710
901
623
377
636
781
314
909
764
555
792
200
172
116
698
375
721
89
251
231
763
375
621
454
739
893
765
441
215
262
365
482
840
158
417
999
923
842
473
371
141
598
404
155
870
999
789
812
548
480
762
544
50
749
733
826
717
483
331
693
187
510
831
991
99
72
841
73
986
474
870
536
60
946
380
899
585
743
376
557
36
932
151
560
112
641
688
829
605
557
547
97
414
47
879
115
258
296
598
10
965
352
743
577
679
814
408
473
68
381
604
9
995
733
26
985
668
801
473
464
137
608
409
200
846
142
851
889
52
457
967
315
138
666
821
500
59
564
755
895
592
697
99
482
380
84
313
627
573
133
737
711
553
220
491
270
375
802
306
283
872
492
611
473
10
761
747
656
790
986
618
7
473
125
363
305
166
247
800
788
717
71
969
907
861
332
624
89
458
56
855
350
501
811
191
486
526
586
799
456
159
83
453
425
189
384
10
865
680
265
718
565
248
515
380
141
59
614
61
947
962
947
849
193
818
741
682
176
879
177
262
299
230
179
468
617
198
999
715
437
541
565
208
504
322
807
78
696
130
760
252
328
369
541
996
833
699
379
782
87
216
745
226
674
739
971
37
104
19
352
559
110
286
509
442
374
927
541
654
907
461
96
72
117
165
327
623
998
121
610
128
473
374
924
319
524
132
982
62
1
488
582
245
419
692
67
138
23
261
375
544
946
727
706
58
77
54
801
203
695
395
33
622
724
214
644
626
847
862
313
956
243
982
53
903
762
669
428
253
158
505
51
956
510
598
715
922
909
482
814
483
645
744
831
725
800
182
274
67
566
3
811
876
835
833
973
431
611
493
12
513
28
586
426
304
720
109
50
442
830
39
735
160
555
832
321
419
737
643
315
805
475
528
76
592
764
522
169
458
544
393
240
277
568
839
22
996
546
883
506
505
889
899
357
514
514
553
240
305
934
878
314
166
435
146
890
497
672
143
474
166
325
77
683
752
942
454
465
824
955
777
433
778
930
714
957
986
820
169
991
29
756
802
631
739
858
629
276
230
720
98
697
289
632
945
458
877
294
835
356
926
417
365
243
746
583
127
906
280
269
56
576
835
750
656
333
909
204
585
254
409
416
50
281
552
733
103
387
432
816
884
543
387
404
503
326
912
11
978
412
757
726
962
819
659
899
217
446
685
106
342
980
750
824
42
430
990
819
911
152
440
399
239
317
750
365
956
649
429
497
54
609
638
653
942
178
3
913
234
530
1
242
415
236
738
705
244
966
245
572
654
753
593
665
37
650
616
781
870
869
862
423
457
978
164
236
64
14
909
60
133
307
904
687
309
782
320
688
991
848
925
777
277
162
788
361
232
698
830
491
283
248
417
637
367
266
323
512
357
837
82
300
747
704
395
914
727
435
584
412
475
567
153
455
435
228
889
930
17
130
197
254
819
809
996
621
13
64
487
394
37
891
2
339
373
305
34
153
701
338
352
571
283
381
384
639
47
988
313
747
886
839
535
402
315
551
921
70
766
383
156
776
947
418
281
656
733
17
755
7
71
351
37
865
96
46
359
166
920
319
423
918
575
501
450
931
669
227
807
64
995
570
349
213
673
532
241
29
144
429
512
185
521
293
884
476
618
611
716
531
155
578
88
417
375
864
941
385
159
718
522
401
613
530
371
727
458
177
388
732
15
650
117
473
577
454
218
878
405
707
747
626
622
290
404
714
695
164
885
423
342
359
262
641
460
539
147
831
374
854
673
213
839
257
54
250
990
281
720
52
920
461
258
435
974
149
661
950
379
635
668
847
244
117
122
606
370
917
621
806
31
442
400
405
298
671
240
119
530
512
566
211
903
407
65
650
656
75
964
730
145
823
936
505
988
912
780
832
40
781
362
821
946
11
355
293
166
371
853
536
698
714
811
754
618
968
969
145
903
448
14
626
119
183
67
774
412
390
298
808
300
102
917
374
288
208
193
124
483
98
655
845
627
221
83
412
879
764
313
153
797
423
22
707
69
844
621
478
647
235
533
173
567
400
679
486
681
973
585
299
273
971
413
8
825
99
63
74
444
408
623
335
770
732
279
838
40
762
283
846
430
750
697
698
213
363
354
296
846
413
457
138
513
766
398
468
982
197
393
197
664
795
289
630
550
215
972
671
55
971
772
6
494
469
638
813
786
259
598
967
291
954
270
120
449
874
372
297
876
104
792
394
762
463
580
737
582
28
93
464
471
801
983
3
8
44
839
142
375
144
261
155
574
119
127
759
734
642
616
47
600
121
967
859
409
444
390
39
161
713
688
884
811
427
557
199
305
366
595
630
172
852
436
116
66
174
514
661
151
887
59
197
304
939
333
798
706
161
426
54
925
456
668
931
138
159
699
856
316
350
692
736
558
92
444
399
942
937
507
732
608
153
628
513
473
736
764
356
94
204
519
817
140
638
638
223
275
786
152
733
643
6
759
166
538
786
609
993
165
745
819
460
654
789
644
149
158
376
286
545
23
452
350
146
278
987
342
441
485
618
780
417
987
948
27
810
484
140
411
298
1
390
706
677
528
358
35
558
726
876
778
846
674
674
818
766
180
40
492
898
618
367
551
355
885
559
370
270
28
951
498
319
343
549
896
937
478
772
134
763
344
945
922
644
154
491
223
714
852
183
243
2
543
448
584
968
655
118
196
986
140
167
273
158
199
987
738
118
651
408
561
137
532
15
412
320
83
284
671
701
636
784
150
4
987
522
205
601
67
245
950
39
370
72
285
476
718
350
939
701
455
403
232
23
885
149
323
424
650
538
554
463
289
806
677
513
369
941
747
867
573
654
198
273
775
363
527
30
938
24
499
9
102
405
277
76
74
623
238
355
959
825
130
753
664
833
795
842
704
836
16
961
642
996
42
328
442
538
810
799
20
141
285
585
217
923
15
220
331
173
826
450
507
463
410
26
936
186
307
406
258
951
455
72
800
794
727
398
299
601
28
790
363
694
540
211
51
54
100
891
279
744
390
614
91
31
966
579
202
93
891
903
910
961
773
973
35
738
572
472
390
934
426
839
649
771
790
346
21
503
473
244
338
391
366
126
933
183
293
232
148
251
323
496
56
385
542
85
702
949
688
61
344
201
604
295
732
784
165
488
200
6
194
559
565
952
375
945
16
620
943
722
543
294
295
356
822
41
594
133
579
373
967
270
734
728
105
412
384
515
675
149
84
666
398
113
806
325
595
288
395
373
63
54
379
345
991
248
914
565
35
969
366
928
706
362
23
389
602
428
124
722
210
11
344
394
609
597
369
382
913
646
161
867
253
821
8
744
991
140
46
90
430
268
821
868
522
415
264
906
738
64
479
863
965
976
31
932
938
41
953
789
552
729
11
76
348
359
743
806
140
457
270
842
932
665
233
795
495
197
358
512
983
292
543
427
581
935
914
95
120
349
924
732
356
893
992
213
267
115
357
423
547
989
656
333
48
550
729
114
591
455
706
793
838
795
491
240
968
689
913
780
89
293
330
923
155
900
570
230
20
710
176
618
2
24
570
387
518
177
449
130
797
488
326
942
278
520
889
970
913
190
480
415
368
535
428
546
789
64
430
955
176
570
582
128
412
889
342
544
492
572
8
829
207
102
973
75
795
54
4
750
78
761
918
962
380
256
523
916
768
887
632
488
849
601
557
322
19
587
256
594
382
411
890
945
277
887
829
337
954
812
617
653
27
176
665
663
85
327
322
654
747
772
45
555
983
500
580
653
612
574
198
380
172
190
424
968
244
991
364
865
409
365
817
684
857
471
548
151
800
60
412
988
110
944
600
700
119
526
293
84
894
568
542
580
579
610
18
843
936
396
491
683
478
402
99
366
148
951
729
7
996
213
927
570
710
812
291
157
694
613
28
585
522
923
434
76
719
334
777
850
665
548
70
497
981
415
726
596
594
76
154
382
628
500
890
674
292
807
139
282
33
842
633
539
306
509
272
224
742
766
310
563
807
705
730
275
197
910
499
948
311
950
514
529
307
805
19
358
166
109
197
406
822
581
766
196
974
655
883
340
105
74
128
69
802
648
739
918
215
132
982
763
930
520
247
793
594
361
654
223
776
561
735
77
685
126
756
625
272
885
963
147
271
463
314
704
586
496
325
87
754
188
564
594
713
403
785
122
559
707
174
615
966
58
317
88
648
758
738
139
841
901
743
725
337
566
251
606
310
751
225
165
130
126
839
384
243
704
17
420
237
255
153
466
291
186
377
983
822
360
621
385
226
84
539
314
479
405
171
363
617
297
516
194
509
22
118
751
152
972
917
377
294
611
488
336
558
240
828
655
980
811
987
638
462
411
357
798
624
490
241
596
299
933
846
625
794
912
564
996
177
459
848
687
676
251
116
405
243
560
218
521
677
239
477
475
15
483
504
382
438
108
567
697
253
575
972
988
761
608
130
138
917
416
479
5
523
542
414
802
411
391
664
842
977
249
580
902
288
284
340
879
770
168
187
178
369
38
448
691
933
636
867
239
671
71
270
378
458
260
494
578
517
835
668
822
124
394
865
598
916
977
127
93
116
247
394
436
767
934
729
838
464
384
115
892
908
255
502
621
803
447
540
369
957
761
877
219
554
956
415
243
551
784
951
429
67
450
445
904
73
751
591
791
102
922
722
640
500
367
467
854
391
27
465
941
833
359
655
870
733
274
757
936
968
552
563
487
368
833
29
165
89
933
664
910
669
903
94
251
524
952
181
222
707
980
893
691
446
788
687
412
655
520
117
868
258
811
428
715
209
197
120
297
516
560
802
200
203
113
799
595
493
5
813
569
811
394
599
989
3
917
221
205
287
224
279
575
462
596
95
587
754
927
840
703
442
487
15
890
555
566
42
849
297
141
746
831
18
641
146
390
289
827
655
76
432
399
90
778
782
187
27
691
633
684
970
953
330
360
755
927
510
227
88
140
66
534
603
589
41
243
114
462
934
445
232
479
586
237
435
194
847
595
244
147
101
399
25
585
860
809
891
214
464
137
648
375
476
337
197
76
673
59
13
682
180
101
386
191
450
58
919
237
688
716
354
743
78
880
150
799
514
55
489
90
32
723
81
992
450
688
125
839
882
228
728
430
8
915
303
248
698
427
451
83
373
548
801
281
103
457
530
122
17
685
214
959
125
405
800
800
392
386
338
983
773
264
340
436
712
178
557
201
208
878
658
893
137
128
230
916
840
815
103
792
439
330
212
449
572
151
317
876
983
830
483
286
912
381
357
858
209
494
901
619
173
550
38
27
337
149
87
625
996
879
201
902
82
225
874
598
559
350
685
624
590
66
724
969
789
682
351
366
582
672
456
316
75
478
343
171
771
113
711
152
923
123
231
170
660
339
264
972
939
224
271
252
265
956
478
291
340
359
729
274
17
424
804
107
778
742
351
30
219
935
330
376
301
679
480
980
413
419
390
466
637
646
229
862
11
969
685
609
176
64
98
519
584
390
336
442
901
304
709
0
653
434
298
429
861
146
476
174
237
154
609
146
912
853
221
674
226
726
921
259
120
253
381
940
901
153
838
564
369
338
369
609
960
575
488
826
694
119
185
945
123
632
604
216
780
924
228
382
310
982
309
617
422
356
147
210
509
686
728
777
308
955
562
656
571
525
276
665
522
215
127
90
629
424
466
99
607
439
778
90
617
181
149
314
584
577
256
930
134
587
904
804
888
454
611
843
641
678
911
451
708
726
393
64
619
88
396
416
476
355
214
520
305
530
678
461
900
345
334
13
127
182
533
208
384
303
471
707
733
506
507
940
628
55
573
703
597
391
638
285
788
950
493
289
271
771
550
359
210
252
68
536
478
638
412
368
563
373
464
589
961
348
507
400
573
696
357
545
571
903
158
516
354
29
4
997
242
668
827
772
279
371
570
31
966
904
762
853
660
548
986
25
290
609
941
566
962
433
338
994
389
882
328
890
660
513
231
689
3
927
461
596
11
298
51
297
340
561
677
339
394
688
217
571
887
99
959
829
790
621
291
918
702
145
314
23
292
302
192
382
654
16
484
188
863
992
879
363
507
754
736
215
532
304
304
180
263
797
240
108
482
711
994
884
355
888
711
924
753
933
942
665
596
399
453
644
293
2
546
746
22
398
626
122
993
845
553
627
847
948
651
612
155
490
690
520
826
867
960
952
465
198
60
288
461
812
175
732
425
887
227
319
292
523
887
901
169
846
213
75
537
77
795
975
116
187
654
409
690
57
279
518
881
128
490
960
547
664
22
479
895
22
852
627
754
361
948
824
191
692
136
845
868
205
230
893
194
332
52
202
193
271
811
45
847
655
768
452
351
267
937
353
734
600
95
217
913
159
299
592
60
286
535
683
724
811
256
704
236
761
285
236
53
271
128
244
663
288
790
285
143
118
899
3
810
658
364
47
230
312
351
854
859
783
390
997
512
172
46
307
787
56
158
827
748
133
687
671
801
347
280
349
929
364
333
271
628
917
71
131
110
686
964
642
254
879
2
985
216
237
633
460
765
979
867
525
863
887
662
983
244
420
357
202
147
426
778
264
443
485
663
215
585
603
561
422
537
134
428
576
654
933
308
556
244
48
38
818
456
969
560
585
942
737
256
945
247
927
879
869
310
495
989
254
73
54
803
483
964
868
659
268
324
491
311
817
561
708
627
949
413
987
822
939
160
488
86
522
585
76
606
486
535
458
696
607
462
742
471
355
724
625
602
943
381
9
773
79
915
867
868
955
146
441
182
450
665
252
317
200
253
990
803
957
334
643
116
800
730
86
909
185
885
873
910
411
137
810
186
586
284
151
687
177
794
713
187
299
536
163
254
889
170
164
352
973
139
757
771
133
517
646
140
177
936
368
504
209
219
668
438
796
906
94
742
658
866
162
578
926
398
752
132
17
177
580
494
825
627
482
124
508
257
566
268
504
146
256
948
674
732
466
875
9
738
888
726
598
121
492
812
151
62
197
602
723
36
886
844
279
677
807
805
790
854
256
641
984
357
529
615
70
72
318
145
613
179
87
810
368
569
668
415
163
996
49
839
185
942
660
203
469
656
179
84
851
48
254
121
924
382
192
644
101
962
24
995
754
173
997
240
458
88
981
416
201
423
384
575
115
464
758
806
933
20
953
20
13
524
942
929
469
590
675
939
415
828
900
432
868
634
656
403
620
889
446
940
995
75
978
106
669
113
58
410
923
422
503
127
264
618
427
436
149
315
790
125
395
532
210
46
805
984
163
186
127
262
13
890
95
895
934
88
431
725
67
995
657
719
784
479
182
503
735
124
704
99
937
184
346
575
679
482
896
528
41
951
168
814
230
206
678
138
33
820
495
483
890
142
843
21
241
9
267
396
69
833
174
240
733
347
955
431
196
789
590
978
751
527
678
800
158
556
779
731
582
229
639
342
927
109
193
409
520
783
395
974
472
993
468
975
248
129
324
344
29
442
272
663
154
422
419
836
914
105
90
940
726
728
335
107
680
243
955
912
0
340
499
828
509
414
737
183
312
838
402
667
905
558
765
17
338
181
366
885
222
623
826
83
340
2
862
607
627
140
180
266
190
808
927
468
255
433
329
718
120
337
924
238
850
731
150
785
829
286
980
60
841
546
440
771
394
909
9
738
534
921
226
659
622
119
531
252
203
770
169
469
338
644
128
220
460
180
452
871
218
211
167
119
190
80
467
559
929
189
343
948
957
999
307
968
569
764
596
519
800
60
673
742
529
92
729
797
489
802
640
326
630
39
623
488
727
189
60
70
447
45
356
931
292
403
548
69
757
339
397
374
424
204
694
429
760
502
577
506
170
325
256
78
304
295
676
158
861
390
544
231
201
291
492
855
875
691
693
714
744
320
285
612
442
11
106
57
295
627
288
348
657
715
856
479
12
385
889
166
49
432
389
398
597
621
115
695
33
635
125
477
654
383
860
500
555
256
77
863
604
882
374
609
47
934
875
567
643
282
521
772
42
504
840
291
828
500
1
966
848
926
222
319
440
788
587
147
844
234
894
428
363
457
893
139
694
503
5
213
969
113
805
562
974
448
782
61
997
837
672
557
636
590
311
738
867
580
555
977
315
338
879
357
28
779
4
721
395
417
110
435
612
7
41
998
704
890
141
973
947
990
316
867
70
487
739
929
885
745
634
175
510
762
759
494
414
366
586
555
481
715
850
240
814
589
747
564
413
214
175
711
890
50
793
994
456
641
218
675
85
732
270
756
437
961
26
829
69
711
318
95
538
759
5
914
967
120
241
199
284
534
937
922
39
564
947
506
868
5
522
153
272
800
826
67
654
267
848
410
438
690
211
761
681
495
51
165
799
220
16
90
518
965
987
850
230
661
372
165
712
288
433
502
391
662
871
135
18
766
434
90
545
624
391
181
862
998
245
653
259
851
976
522
482
180
991
987
110
513
255
790
446
118
320
542
241
405
125
349
869
215
361
709
288
308
80
483
366
772
549
236
481
209
107
842
542
93
680
116
581
689
334
536
858
826
913
890
816
291
901
325
690
478
381
661
146
947
374
276
285
552
298
134
465
918
216
282
707
937
218
706
834
302
974
683
437
867
238
735
27
107
310
532
558
585
142
732
149
447
250
273
739
715
502
345
142
119
380
660
635
846
536
644
911
88
101
546
30
158
858
32
468
691
62
165
461
738
293
233
499
275
776
913
945
909
710
707
699
316
532
245
387
1
594
745
688
903
601
858
859
298
648
309
164
264
598
951
907
754
969
28
864
763
868
113
361
737
839
290
284
940
933
488
4
902
557
3
774
541
352
839
247
526
42
508
376
763
801
533
969
618
715
892
118
209
161
522
528
405
996
314
727
49
188
581
854
891
993
52
217
731
265
666
885
146
229
932
237
431
799
396
503
899
267
214
426
160
550
371
594
492
314
859
724
666
860
309
498
40
870
360
413
132
89
530
248
75
644
316
39
39
742
937
726
860
444
678
283
30
728
673
862
522
157
655
233
474
274
860
64
194
608
568
474
100
857
571
249
953
776
570
441
654
590
353
425
193
346
462
100
458
644
409
257
420
159
878
806
183
837
345
621
876
996
574
354
1
589
252
974
905
224
608
409
299
675
492
402
827
983
30
259
62
574
532
610
909
687
730
689
784
212
549
361
410
604
398
368
747
715
182
604
511
328
728
436
431
693
911
523
184
293
740
927
152
896
770
530
275
900
725
675
836
221
600
427
951
938
774
647
963
545
750
98
393
243
224
362
784
56
278
166
810
86
944
339
944
906
311
948
835
239
427
694
490
846
660
642
794
216
340
398
575
392
439
468
389
7
101
734
13
609
427
343
81
514
274
43
927
576
103
96
601
182
342
945
601
372
476
468
978
81
568
913
194
9
349
845
491
124
958
661
255
724
562
762
121
691
484
187
306
894
270
332
157
652
736
470
681
178
255
422
828
330
106
931
482
207
410
747
623
665
450
899
516
204
783
248
754
367
639
440
266
93
755
268
764
639
955
640
596
669
250
599
663
810
765
475
357
655
256
582
766
210
329
583
951
540
474
288
54
470
23
856
877
180
659
826
273
912
840
420
902
796
949
984
877
174
656
357
733
875
498
46
235
890
321
931
191
139
39
598
979
550
43
710
985
300
794
520
245
253
159
386
418
808
635
151
549
534
889
988
425
269
731
62
243
649
646
390
403
992
135
721
517
172
718
43
679
191
68
907
497
199
731
153
613
761
681
489
647
386
813
301
81
326
228
167
336
905
284
873
706
416
815
370
629
493
297
449
39
329
691
810
262
470
234
388
527
795
655
377
697
43
942
381
338
748
913
812
462
516
918
403
55
308
78
961
760
524
898
564
817
451
211
520
195
368
596
974
823
462
286
3
509
488
935
310
100
38
661
949
218
532
928
946
591
3
15
963
943
7
444
355
282
359
794
897
290
373
476
547
932
821
320
156
526
45
682
219
448
227
469
663
958
439
977
605
203
789
750
314
389
649
905
286
417
744
589
934
976
303
660
935
271
454
515
697
200
552
29
840
562
339
154
990
347
143
7
502
123
861
76
27
51
296
994
280
840
809
242
759
52
261
404
737
361
783
104
868
278
242
264
289
507
136
408
333
792
346
207
407
814
175
925
588
768
594
589
803
685
377
462
998
534
743
657
213
698
698
850
796
448
85
73
331
901
472
371
784
683
519
81
944
499
320
703
10
263
533
257
504
245
840
396
343
399
76
160
845
954
461
859
109
796
581
235
255
523
102
459
339
308
35
708
723
395
496
626
123
529
944
546
929
745
755
307
717
908
553
891
240
403
156
257
426
599
850
917
114
103
508
799
622
368
893
517
947
454
405
487
538
321
874
499
153
88
908
237
844
861
69
442
989
382
619
201
598
227
122
369
223
960
409
230
36
642
132
853
878
643
135
945
519
687
401
426
102
994
72
105
42
405
59
589
926
27
562
194
512
280
389
663
16
78
120
751
748
11
5
155
942
78
162
923
104
431
713
631
445
520
995
809
447
39
873
240
868
458
486
517
844
738
534
11
494
533
890
494
916
734
706
170
546
284
183
936
85
783
292
21
674
157
76
974
996
599
630
837
79
836
279
464
92
177
600
303
685
765
915
145
67
952
448
104
812
858
862
816
221
718
95
906
518
533
185
149
430
363
685
872
181
103
964
786
51
453
228
673
525
228
721
716
105
65
309
487
798
487
669
808
135
564
507
497
345
44
915
902
947
369
562
502
217
754
753
303
377
125
234
528
761
799
260
802
306
453
473
149
879
485
983
693
949
910
515
872
918
739
654
250
159
442
751
899
171
340
778
905
366
66
265
902
941
723
955
51
247
317
317
20
974
80
694
248
888
144
222
634
181
476
805
784
792
994
532
369
465
148
516
137
907
309
835
941
919
260
978
328
349
675
696
469
20
940
354
195
311
231
777
373
74
828
893
525
605
180
247
117
398
30
403
394
123
286
783
254
736
300
299
404
802
428
255
599
131
527
468
356
811
110
667
192
921
412
908
231
200
360
855
786
427
170
337
708
695
965
991
942
907
495
710
415
680
181
135
308
778
998
724
814
367
459
503
149
893
332
5
859
899
208
505
35
164
590
186
36
432
107
51
781
935
262
739
703
877
156
667
791
171
195
433
881
409
770
62
35
94
844
724
985
3
793
545
936
429
435
240
327
198
582
20
536
540
879
117
427
563
750
445
3
249
245
714
215
175
20
476
187
285
533
279
34
635
265
389
305
329
813
672
730
804
43
774
421
322
816
958
825
130
205
41
562
350
361
813
745
490
405
378
359
90
354
416
880
86
879
531
876
564
195
671
586
12
425
425
904
646
459
665
504
849
57
800
759
738
275
538
76
982
767
720
672
674
612
173
275
5
746
904
281
6
578
76
746
804
191
330
747
218
308
469
971
806
848
943
614
978
345
77
395
109
532
319
23
938
987
187
631
359
950
606
752
117
248
777
900
879
634
765
185
706
684
806
748
744
901
337
649
175
532
825
587
536
824
151
827
581
255
173
970
520
425
896
608
370
131
887
397
134
357
744
44
434
11
353
182
146
835
836
579
945
150
883
899
851
769
934
765
293
716
840
740
465
934
909
447
738
74
722
150
92
190
460
537
554
20
558
712
569
381
579
37
55
560
670
255
22
702
840
309
742
402
824
957
378
447
573
72
723
424
297
24
615
447
513
781
148
583
200
459
198
444
856
866
788
64
951
238
231
824
762
473
691
964
58
118
790
569
543
713
398
576
559
302
79
926
590
436
12
995
135
354
693
849
646
144
476
604
492
829
400
658
308
800
877
86
864
30
611
991
273
465
715
199
313
391
64
985
33
61
88
111
465
318
190
267
880
839
46
588
236
516
196
779
59
165
57
8
605
157
135
131
485
120
675
484
984
958
420
970
193
342
929
796
808
155
609
786
742
37
947
204
78
592
524
289
558
274
291
273
72
522
296
311
432
408
478
885
690
83
510
367
469
736
223
951
982
613
415
161
657
89
308
102
421
899
972
843
791
349
364
747
673
745
338
363
484
578
461
822
988
270
682
576
375
96
978
387
213
579
807
288
248
480
558
395
508
755
293
538
343
152
820
481
197
450
347
709
257
44
345
446
736
691
366
645
339
255
657
557
555
62
495
20
919
115
610
812
181
403
522
675
515
489
97
563
542
123
686
832
541
192
521
942
36
61
786
70
813
635
324
632
87
467
771
962
366
530
717
218
313
443
98
451
771
82
211
781
271
35
32
795
113
310
909
803
953
52
220
575
995
728
722
464
206
994
453
937
951
748
275
176
762
222
851
767
498
108
173
995
470
754
267
665
805
527
658
807
942
365
261
823
143
41
22
415
954
732
355
741
686
254
704
628
495
802
242
795
950
883
685
438
98
91
412
843
426
268
392
29
968
759
817
730
351
994
620
304
597
888
678
632
907
288
201
622
141
404
914
807
847
711
567
283
375
629
866
774
649
804
353
397
369
347
586
818
163
633
932
464
764
839
109
113
584
248
327
977
82
535
221
807
506
323
487
556
264
123
170
289
816
118
342
981
63
931
196
786
957
208
361
245
641
594
953
764
282
741
322
151
69
313
239
246
187
429
641
967
268
344
310
861
904
917
743
294
603
866
348
432
836
49
884
751
851
202
874
718
154
491
556
345
25
462
267
127
332
906
825
300
561
278
866
978
490
349
683
924
978
47
890
735
13
155
484
38
615
805
512
595
810
678
94
559
189
505
411
980
237
551
594
998
309
822
265
493
763
192
981
593
296
245
26
403
457
55
337
98
396
219
361
653
417
351
716
575
311
461
502
47
800
796
954
218
143
106
515
979
182
70
738
870
27
137
110
826
325
988
680
182
527
65
120
647
897
912
656
589
164
450
605
570
625
78
974
42
804
190
281
285
341
720
545
377
153
403
414
509
498
277
565
587
57
14
483
624
345
869
238
357
137
679
368
198
32
706
444
292
478
88
659
224
792
317
187
922
724
339
89
695
647
396
206
521
981
49
954
274
101
403
748
434
389
654
975
769
573
112
278
13
112
234
939
73
990
50
491
615
121
475
197
76
302
36
943
614
577
79
146
243
139
11
92
971
517
704
554
591
375
335
293
255
283
105
189
38
970
841
973
66
397
333
816
414
919
348
449
934
372
379
126
630
949
685
821
871
669
640
772
758
769
410
505
776
262
757
311
139
81
871
103
147
896
379
879
877
716
767
282
837
974
604
254
896
651
91
86
403
71
524
50
521
966
329
560
100
480
789
258
489
168
578
55
772
987
486
43
845
69
996
79
836
643
516
490
196
85
502
426
425
283
744
129
614
112
647
622
979
950
788
198
891
182
869
333
788
528
933
196
351
404
3
249
880
470
89
986
133
888
714
456
950
116
767
764
753
793
997
990
178
0
530
874
740
97
309
64
773
693
964
201
175
598
416
236
502
919
776
929
288
218
372
342
937
447
910
449
571
319
312
702
705
449
718
711
256
79
622
464
54
26
317
817
107
33
219
835
240
211
338
133
416
800
884
600
794
814
225
724
95
752
457
651
98
720
440
882
556
491
83
964
591
669
144
907
517
192
632
966
507
554
31
354
1
822
18
986
255
195
231
48
757
550
269
865
274
77
34
746
451
532
209
606
682
707
725
425
630
354
858
774
246
886
162
663
540
828
612
129
338
422
993
855
142
264
554
46
814
433
730
109
185
474
593
351
553
603
144
937
347
964
710
511
884
209
903
348
727
501
533
754
65
387
975
638
631
829
137
453
222
962
459
63
268
533
902
213
829
403
718
954
573
291
151
516
790
915
723
505
454
481
503
6
820
945
649
422
387
234
416
711
712
196
927
264
122
261
507
593
164
773
678
512
967
722
569
258
472
137
542
831
624
159
589
342
524
285
165
197
968
102
3
534
826
658
597
813
555
515
50
631
112
81
362
228
301
110
834
592
80
185
811
205
847
535
973
437
200
588
320
596
58
929
843
859
953
122
46
265
391
459
336
420
209
839
729
833
468
587
179
577
748
967
639
739
229
309
880
138
813
725
100
346
621
119
754
580
674
892
878
867
474
905
868
451
200
960
669
994
793
598
752
998
537
739
314
103
569
393
268
769
6
182
126
724
964
905
494
859
985
235
945
419
61
210
243
16
787
581
565
517
626
668
715
850
739
407
901
106
466
207
227
794
806
493
857
868
323
392
293
920
31
999
299
3
287
135
179
776
707
801
877
871
316
621
103
468
642
668
443
646
527
850
942
244
816
772
795
786
356
713
529
744
20
641
491
267
517
592
120
872
87
245
831
279
88
220
781
749
90
327
603
410
68
847
309
0
587
631
422
439
160
890
986
733
487
460
386
805
982
552
127
769
834
832
479
735
108
357
243
208
256
504
833
613
790
411
261
389
18
144
242
797
292
771
814
872
265
335
563
101
425
136
445
990
796
300
177
246
29
845
397
74
810
834
331
250
758
439
14
788
66
470
726
466
20
81
869
249
806
982
439
814
601
366
771
72
302
109
59
841
311
866
509
417
371
143
986
852
384
514
598
116
217
332
674
601
372
322
609
731
36
156
568
254
351
182
959
720
880
957
898
970
75
942
125
465
671
810
661
658
108
500
624
982
673
709
852
819
891
544
273
638
445
346
673
488
600
999
605
794
471
801
444
730
527
787
524
839
844
266
298
636
862
254
317
517
745
304
244
388
414
438
819
487
469
293
748
89
842
21
366
735
966
399
37
451
280
876
403
48
301
203
444
422
747
946
510
474
642
888
821
277
764
382
523
59
312
252
288
971
300
683
357
404
831
822
492
679
420
408
720
65
445
34
983
849
41
525
217
887
267
58
372
165
445
123
315
997
447
633
143
77
388
254
360
235
506
502
485
304
77
144
762
821
356
742
584
776
824
68
464
115
349
351
282
802
690
838
479
960
409
265
659
7
694
356
623
601
673
327
402
635
397
3
345
457
89
843
437
589
419
617
707
291
399
838
577
43
10
971
892
551
759
577
788
633
435
747
622
419
914
559
957
933
94
598
173
684
708
347
270
423
662
823
577
466
11
109
188
539
410
180
167
117
250
165
195
339
231
607
182
919
190
834
163
981
342
66
213
143
94
340
661
560
49
365
544
45
673
285
499
531
109
384
383
152
607
78
57
736
297
235
701
297
118
23
869
221
176
561
273
539
211
318
125
873
660
951
884
8
765
941
960
965
614
638
296
410
623
676
420
383
900
833
350
21
522
910
682
901
690
568
178
14
934
379
634
151
749
855
575
973
642
53
695
515
21
537
352
841
930
627
200
875
181
63
948
893
69
810
802
35
212
550
413
830
445
347
446
508
918
524
883
109
567
397
243
845
67
692
212
389
109
341
595
629
967
875
959
126
964
836
514
688
528
266
431
458
169
442
575
43
771
16
391
307
726
275
21
729
824
632
710
442
455
856
218
134
747
509
918
266
77
35
107
295
439
379
70
274
539
680
679
593
957
188
196
440
221
43
312
385
118
90
585
253
131
980
128
966
434
530
252
976
470
389
511
4
950
512
166
398
879
124
540
592
460
505
589
951
103
586
247
748
324
607
983
15
247
39
576
117
610
74
288
759
168
73
347
519
257
488
724
939
118
564
96
67
342
836
746
336
483
872
700
697
599
631
939
885
108
274
477
575
299
699
688
344
223
653
553
485
347
230
370
268
206
320
390
42
127
489
178
216
62
727
802
407
8
531
667
121
808
640
380
850
394
174
232
788
781
820
840
643
766
569
814
982
11
272
827
537
128
501
990
696
695
216
647
250
191
864
207
484
860
608
542
13
975
300
318
518
363
624
912
267
470
277
588
470
57
735
416
917
683
580
205
527
431
38
836
767
814
503
92
856
646
977
744
569
899
654
724
898
434
119
733
895
356
90
324
601
355
722
650
220
827
51
203
677
25
782
738
925
679
181
856
345
217
622
293
876
838
877
246
705
106
458
519
857
766
63
495
644
552
965
229
292
33
724
155
893
456
526
541
138
505
546
465
659
410
93
506
825
419
765
133
727
704
124
266
741
993
493
219
938
681
334
934
919
411
660
35
559
781
301
437
697
794
893
643
620
994
934
885
433
190
272
309
932
676
862
802
9
390
31
321
680
980
865
993
561
224
707
472
35
193
562
787
950
290
789
499
853
671
559
858
333
627
168
961
572
977
675
136
441
628
602
393
624
256
633
711
377
37
388
133
151
38
95
848
6
855
299
18
815
527
272
407
121
205
173
678
372
500
529
124
378
180
854
773
839
326
462
64
457
764
993
790
978
12
831
84
548
126
750
963
40
720
834
780
856
583
434
795
760
76
439
753
444
431
107
875
288
747
831
946
428
823
852
224
894
122
373
372
939
570
760
490
873
717
337
853
783
121
459
910
315
232
890
960
966
350
920
647
26
12
639
465
231
228
380
835
41
80
540
969
654
571
430
398
166
245
119
203
872
309
265
373
674
636
63
556
168
543
921
594
770
460
268
866
13
960
794
422
306
799
742
705
247
460
64
473
452
216
569
799
534
574
707
567
751
771
284
645
594
532
398
137
483
811
272
419
719
555
777
356
635
404
346
284
266
448
625
489
928
183
974
293
450
354
934
847
128
364
123
101
233
749
410
275
280
836
609
926
49
821
256
222
271
821
688
655
455
890
597
460
683
264
212
949
797
298
241
126
652
383
248
133
838
901
786
851
736
968
687
522
650
688
345
645
572
326
477
958
639
874
726
772
308
785
640
466
699
216
473
802
643
716
572
940
780
563
351
359
195
220
375
278
401
313
451
243
165
388
740
164
299
495
688
278
8
36
677
943
289
726
936
44
999
289
365
717
937
713
65
70
200
20
429
558
115
454
61
472
694
669
775
444
441
485
925
515
506
178
562
318
138
109
378
618
934
941
577
974
483
899
601
795
8
957
380
769
796
886
524
850
301
780
3
47
190
712
609
745
719
445
944
579
870
540
557
775
493
110
943
221
103
40
350
750
440
168
306
48
684
136
352
954
342
665
161
766
55
693
180
842
295
244
43
121
9
336
426
555
706
430
15
799
952
63
729
891
621
933
208
745
544
675
38
697
683
747
955
752
125
119
733
627
369
930
404
211
523
874
272
944
404
794
461
79
191
972
420
998
147
440
601
172
29
289
325
904
419
488
381
465
414
599
102
810
725
396
337
787
722
71
622
602
219
414
828
374
904
155
865
101
269
983
595
514
930
63
111
964
40
962
717
919
564
875
214
211
407
372
101
365
481
80
394
70
431
611
731
272
237
151
971
562
479
554
650
505
200
582
965
925
627
739
308
152
408
609
283
687
60
472
730
655
854
63
62
468
377
267
691
489
544
992
48
998
448
716
869
433
523
931
821
787
76
238
47
195
940
251
624
954
585
201
344
638
448
764
843
411
660
260
128
815
350
643
555
936
693
920
148
38
862
625
380
978
965
37
160
293
7
471
986
576
281
920
635
176
867
15
895
575
215
554
631
97
644
289
317
205
343
102
331
467
263
389
991
737
154
415
244
833
970
275
3
689
121
712
514
629
310
35
540
488
953
11
421
352
216
847
527
366
276
617
962
478
331
264
857
128
640
326
995
930
999
333
523
792
458
590
131
535
900
645
469
587
291
705
629
446
154
404
446
321
977
131
905
49
464
214
378
691
235
994
166
142
149
519
236
41
386
67
784
174
584
787
582
805
944
268
33
24
755
857
326
736
549
829
225
21
230
704
89
388
226
203
211
299
743
979
45
879
652
256
802
753
12
55
26
73
993
819
164
689
279
673
904
633
741
823
3
774
547
299
149
52
835
303
717
730
308
996
320
765
96
762
870
792
166
955
125
737
986
20
141
507
659
858
798
559
593
989
503
884
668
457
970
245
752
583
511
864
516
206
249
657
358
374
751
160
436
489
824
976
999
30
545
154
893
530
308
321
676
535
273
891
895
128
151
562
748
576
330
260
100
257
721
730
705
945
402
798
954
572
172
934
935
559
667
396
495
244
639
637
533
617
440
301
646
595
644
38
37
336
245
717
129
755
582
999
709
607
217
922
620
169
231
743
984
551
424
95
351
842
484
522
482
515
310
519
550
705
434
634
903
57
108
735
88
454
719
244
740
963
647
452
263
3
20
910
449
3
679
81
68
740
930
11
694
880
430
463
799
199
324
615
783
269
696
86
918
36
502
947
40
525
525
787
755
129
58
550
650
615
371
118
341
734
948
74
883
315
7
895
304
471
830
976
494
982
818
494
418
756
752
523
57
833
852
925
705
865
511
604
194
768
43
149
273
366
686
488
110
107
735
913
708
562
123
281
857
63
275
770
137
553
172
378
621
381
69
763
157
226
19
218
130
413
918
782
672
892
954
936
846
276
760
543
996
28
53
616
183
508
305
784
667
699
500
683
326
728
417
305
199
642
310
634
241
124
973
474
698
943
844
758
726
475
243
678
923
33
642
851
146
949
678
4
9
922
112
533
744
44
263
318
198
223
105
456
801
499
129
589
906
515
62
409
298
317
251
78
174
715
594
853
935
392
820
383
160
500
510
480
102
336
406
872
831
580
249
896
899
332
845
548
683
482
40
792
599
131
530
646
870
0
37
327
64
787
528
218
853
232
457
67
704
323
30
238
842
324
305
929
841
717
722
995
800
235
975
643
801
114
437
95
782
171
407
669
137
40
240
970
603
640
229
768
633
823
939
85
906
114
291
761
799
466
328
683
776
303
174
850
105
542
920
61
483
466
772
219
645
784
250
875
833
977
656
384
630
635
786
129
961
239
418
592
886
603
840
466
544
882
869
526
770
168
706
314
323
970
643
642
366
148
849
868
239
765
406
953
661
484
66
511
128
985
761
734
155
22
662
580
838
416
25
405
68
305
44
809
714
529
622
247
370
695
6
896
716
849
634
493
280
288
905
389
22
802
485
975
945
88
346
519
326
949
830
0
106
495
876
152
357
846
340
15
681
297
680
352
648
151
308
446
468
344
526
580
542
397
427
29
589
113
645
61
253
193
115
708
780
813
208
142
775
611
400
735
963
864
946
449
143
814
438
774
126
570
43
739
19
934
336
23
160
560
776
30
598
615
360
24
159
283
100
823
443
925
629
924
451
738
858
291
721
140
572
740
893
17
847
527
972
537
638
620
593
268
894
269
373
221
283
977
25
550
760
154
780
145
59
535
354
727
312
985
721
471
202
925
189
147
622
483
988
188
966
639
60
301
532
199
101
653
768
363
473
577
241
834
586
369
431
269
840
887
413
604
533
566
823
351
22
939
72
320
413
157
676
95
781
945
118
388
790
231
412
81
97
578
632
97
756
309
960
105
236
556
511
732
490
484
673
330
936
341
355
431
81
964
655
885
34
765
469
563
505
413
364
19
972
654
654
72
779
200
499
294
842
873
194
18
518
33
898
524
306
508
591
482
783
396
363
3
735
638
154
159
525
825
943
207
361
309
161
921
425
392
804
161
823
830
573
996
697
345
854
983
557
244
781
905
230
993
694
737
246
62
440
560
739
996
430
47
574
485
142
181
663
270
642
612
681
561
94
213
686
592
576
373
519
658
23
256
455
222
255
254
568
689
595
101
295
892
125
58
410
863
821
677
165
532
94
888
857
617
2
241
878
944
279
147
478
455
847
665
701
618
755
206
1
827
203
772
516
65
126
479
994
91
103
265
596
756
426
963
482
897
256
627
472
924
854
671
703
354
964
282
172
794
552
765
682
523
675
677
52
274
987
489
167
601
511
420
895
857
500
973
604
620
138
770
738
710
441
19
306
644
920
537
77
133
176
270
130
316
876
871
829
316
594
966
239
607
610
71
661
533
475
668
680
980
615
829
764
544
482
214
306
994
168
428
186
673
665
782
839
464
276
799
926
34
55
383
490
590
299
629
213
436
717
496
54
174
459
170
86
261
55
207
416
810
941
504
381
833
294
434
757
783
322
487
961
133
726
704
169
893
572
40
111
419
443
341
28
920
227
543
595
810
397
571
981
597
274
798
716
141
717
327
344
497
670
540
859
613
968
447
763
206
38
492
886
270
152
144
686
70
163
397
289
309
681
416
297
897
570
977
666
159
243
845
645
99
939
266
178
685
681
911
352
969
248
723
700
413
168
574
581
232
567
842
528
578
777
941
538
923
987
432
58
521
447
864
716
83
206
103
60
426
555
916
929
559
379
199
762
882
817
810
363
484
656
73
4
867
405
256
313
812
314
614
30
989
34
95
800
769
287
653
298
350
409
325
431
687
920
563
365
791
186
325
174
922
90
355
671
940
52
477
222
455
458
231
897
255
522
8
187
316
992
238
420
774
600
798
219
680
931
773
765
394
640
285
245
588
385
72
447
210
273
835
519
643
991
160
109
807
8
942
986
806
831
991
761
932
630
686
231
235
324
528
952
697
526
796
338
158
861
645
52
874
961
676
107
497
478
551
467
904
375
917
123
606
767
519
909
981
676
252
481
960
148
85
643
136
827
941
263
197
812
144
140
31
281
908
786
777
30
459
573
282
998
493
791
961
169
475
399
100
377
760
152
811
810
402
442
968
265
268
498
113
185
231
276
356
206
122
578
814
104
503
669
599
903
448
289
747
261
721
828
227
496
101
345
529
498
77
256
414
357
302
28
219
875
427
49
37
751
298
2
937
550
479
684
16
822
576
34
991
41
184
201
653
112
1
312
721
413
59
689
354
272
585
334
806
14
359
678
80
134
26
118
572
762
295
548
652
903
602
995
524
857
256
327
718
213
751
381
81
670
524
665
363
712
463
386
522
418
434
463
932
721
358
618
491
105
728
326
168
747
607
207
629
831
303
334
409
912
156
939
475
336
174
529
262
841
156
227
400
67
187
577
498
264
927
965
539
144
93
444
952
755
643
542
750
506
665
855
397
992
454
167
44
598
971
445
323
896
16
990
356
620
408
805
777
540
31
610
959
961
115
710
953
312
341
793
754
809
210
243
765
351
553
794
744
982
7
312
495
430
15
40
813
194
869
389
943
608
850
712
321
642
516
891
528
953
998
892
481
88
282
903
345
277
562
262
167
445
763
547
81
990
696
959
284
562
928
329
194
738
616
207
792
996
275
455
183
406
780
114
365
768
776
468
459
828
469
431
80
739
237
170
370
744
34
331
469
948
582
229
6
413
541
533
96
663
23
162
3
689
742
951
607
40
395
543
94
127
214
709
30
777
630
807
77
998
168
944
532
748
301
673
227
867
19
358
622
623
137
404
654
956
627
805
377
745
542
193
452
206
691
712
776
671
523
42
640
157
119
262
797
149
433
176
157
719
867
694
707
67
922
250
234
526
487
38
135
20
425
18
124
704
894
88
244
158
636
581
532
285
910
458
310
236
103
366
124
771
34
171
33
383
539
715
737
299
842
940
486
139
131
570
7
624
207
625
954
983
839
106
255
271
566
336
843
216
815
939
131
715
63
93
82
956
57
323
932
754
33
130
927
294
452
551
286
240
377
404
573
912
163
958
512
359
809
374
139
59
754
875
420
799
614
778
78
620
812
588
265
868
810
138
408
805
146
116
801
823
577
133
285
229
278
522
497
88
136
184
249
887
441
391
959
288
724
661
296
934
128
238
184
884
591
612
378
623
495
589
80
494
74
507
182
224
94
4
380
86
105
597
326
372
812
536
266
538
806
784
271
893
554
96
617
591
147
61
85
617
211
693
105
535
794
395
602
896
760
983
694
455
193
6
227
999
929
749
45
9
134
628
889
588
429
68
322
239
707
588
199
16
91
559
97
679
477
180
353
424
252
907
188
406
840
272
988
744
960
480
36
735
734
590
300
207
917
450
497
697
819
685
654
830
678
471
445
125
248
520
165
496
639
36
1
919
666
935
514
463
593
306
497
569
695
659
93
975
972
239
555
145
974
230
286
263
254
207
567
246
539
882
841
825
733
217
51
590
948
942
270
957
740
389
851
924
242
959
134
902
623
978
81
323
933
966
261
796
265
851
786
508
663
209
581
613
443
616
900
405
583
804
393
345
599
563
172
958
799
968
59
612
253
237
857
323
761
146
817
191
806
192
610
558
119
712
552
336
982
747
303
354
880
936
806
202
601
875
926
771
867
535
687
587
463
717
207
70
9
29
700
478
785
85
601
470
619
925
824
220
894
408
92
827
642
188
625
502
133
277
363
255
721
54
597
910
949
811
131
591
446
835
699
970
649
857
762
172
13
625
315
864
368
528
536
881
232
7
744
789
192
989
62
543
663
337
192
185
619
926
613
957
738
614
997
345
405
727
365
370
723
579
479
764
400
349
808
50
633
607
5
890
417
248
75
193
987
846
344
449
133
861
290
120
984
647
21
41
346
681
466
579
951
961
63
264
602
138
164
745
299
913
275
255
167
308
910
537
212
104
735
368
421
853
693
292
938
592
204
211
608
763
79
408
431
398
845
250
58
441
220
603
734
388
431
715
493
338
800
173
602
208
5
697
324
588
25
180
727
915
113
566
454
900
33
431
675
621
131
116
971
632
210
508
191
140
220
829
300
759
143
117
392
828
119
713
670
104
672
266
141
283
276
516
494
570
781
932
198
36
585
136
23
228
27
306
898
133
565
208
547
227
620
335
499
281
719
94
118
159
707
651
62
705
298
10
250
530
118
195
887
323
682
180
688
857
843
285
806
650
968
158
208
716
69
798
639
383
48
575
289
885
236
81
439
967
421
450
124
404
729
754
277
87
764
471
967
713
996
160
107
955
273
870
645
619
316
907
947
946
270
645
298
250
716
774
440
48
836
516
525
554
216
105
312
744
399
492
757
551
197
413
102
404
185
657
219
169
855
192
545
877
222
792
160
420
383
766
471
974
840
523
832
825
299
531
889
976
823
558
398
691
622
695
491
596
778
205
730
408
676
868
684
493
494
290
122
451
571
123
633
460
324
328
350
592
520
988
613
23
601
908
391
649
349
831
85
395
855
254
932
852
320
111
754
36
977
533
120
91
77
517
947
463
129
901
570
730
685
770
175
909
133
473
166
395
492
107
376
65
721
53
995
679
865
484
321
766
910
70
732
680
691
131
891
54
741
835
937
664
493
150
370
94
632
163
693
1
63
324
524
813
519
26
906
426
868
370
42
134
515
278
583
988
325
199
671
33
582
400
733
344
325
594
148
481
2
289
757
654
643
725
460
334
959
748
207
996
270
886
54
381
583
868
242
234
57
118
405
513
982
648
874
777
442
456
406
827
563
436
477
910
61
652
638
663
219
913
146
422
893
694
48
335
300
688
431
253
102
594
918
100
214
344
460
806
476
51
223
99
124
55
492
370
387
867
566
218
701
998
147
900
107
77
6
117
631
94
658
653
121
470
699
761
288
773
267
550
346
100
592
111
615
976
117
228
440
560
977
787
522
348
48
271
42
550
927
648
192
659
958
997
245
80
511
105
51
924
38
283
960
536
308
802
226
46
139
648
892
969
74
674
144
333
206
272
953
49
688
693
17
604
772
353
485
366
685
234
329
160
4
822
301
250
558
894
185
848
907
613
235
605
736
405
12
57
536
631
303
929
523
669
18
368
558
226
817
733
671
58
932
114
13
411
503
434
960
515
262
344
552
622
148
539
417
922
309
224
400
547
670
786
168
890
686
676
837
73
171
708
639
74
592
984
211
283
469
793
966
515
687
893
875
152
378
346
741
555
572
524
531
31
486
806
216
460
244
844
486
396
903
947
476
958
547
439
682
886
459
327
229
753
584
202
753
232
282
314
373
643
452
6
164
653
422
967
208
9
550
884
353
501
419
314
659
427
787
392
954
560
419
552
130
829
471
821
288
676
671
459
29
316
661
743
642
560
532
433
363
278
501
627
123
972
763
59
972
900
717
308
701
323
184
815
934
619
395
376
859
401
238
907
639
390
389
984
608
4
934
983
265
699
178
423
565
94
85
578
802
901
74
454
384
216
170
437
722
490
840
262
695
490
361
474
436
632
603
561
77
207
414
863
617
756
771
931
666
41
55
462
941
717
765
567
487
238
885
588
967
132
522
673
150
621
376
453
499
318
148
736
611
409
905
646
336
610
978
847
378
997
613
196
290
205
93
719
784
769
156
193
896
64
833
129
671
776
502
607
66
221
694
272
148
271
284
139
133
107
433
354
193
815
674
674
539
570
662
832
201
850
146
469
976
725
303
373
509
24
441
577
492
222
206
29
755
345
287
392
732
222
187
972
673
858
3
899
197
474
347
750
149
532
303
217
142
820
864
83
344
680
259
350
645
98
536
734
850
446
50
578
190
580
971
762
270
629
703
305
359
100
427
486
571
48
445
549
719
105
377
388
937
425
461
218
660
676
71
557
679
476
789
408
205
376
285
220
515
199
612
398
385
101
630
158
858
263
854
36
188
243
687
405
490
236
975
888
576
103
935
634
573
804
159
89
677
749
78
956
808
616
355
72
504
930
629
747
662
621
989
461
7
453
539
192
918
871
460
367
454
388
150
795
944
873
832
63
325
995
197
453
140
795
559
777
742
649
498
222
369
985
945
559
812
356
734
178
382
985
674
581
624
359
753
642
335
444
167
684
501
175
877
753
433
865
143
859
60
398
948
984
391
560
140
508
51
27
781
396
60
363
71
578
597
227
916
327
9
627
679
160
3
764
658
113
783
530
152
980
638
490
229
510
924
277
189
759
742
386
443
30
510
263
721
108
308
348
963
752
586
558
857
812
67
259
92
725
851
953
383
446
720
394
7
826
361
701
590
648
599
200
643
362
845
397
314
435
980
764
729
416
599
585
239
29
157
644
14
863
375
41
236
737
436
428
60
715
103
513
369
743
985
964
687
179
33
194
720
505
341
479
26
612
689
549
394
663
611
108
322
228
856
59
540
768
899
855
336
93
265
150
70
336
294
848
931
182
743
800
407
524
409
930
679
228
120
631
643
353
321
418
130
7
788
613
682
839
45
257
111
102
48
165
520
630
429
94
282
934
846
423
992
73
778
95
728
346
292
248
342
324
679
195
962
243
929
725
517
103
837
360
803
400
55
119
153
553
557
270
808
630
436
589
897
503
435
880
971
321
556
965
729
258
708
612
407
650
595
306
228
721
22
746
312
546
887
827
35
815
406
85
277
438
857
186
641
527
393
823
201
166
392
192
676
679
818
549
356
244
150
942
679
955
930
468
958
154
239
635
909
500
608
491
461
889
289
493
713
852
654
981
33
348
5
265
800
62
530
732
412
241
291
543
457
16
28
363
870
83
339
680
721
363
367
941
374
546
484
596
410
37
230
625
749
439
517
847
960
633
558
922
763
781
559
16
414
296
767
521
14
628
118
487
834
175
123
273
124
863
72
183
898
312
824
786
89
390
317
121
143
158
343
633
247
108
171
331
313
418
223
250
629
491
941
731
303
320
157
929
907
823
71
875
124
888
183
795
40
714
59
695
420
443
54
480
815
591
695
14
759
263
297
874
757
137
704
0
533
525
848
80
209
683
659
80
458
822
422
896
725
897
217
672
809
881
296
498
102
109
527
73
373
520
123
345
922
377
743
738
992
760
58
690
144
300
296
569
180
572
717
916
61
22
839
8
637
776
931
712
570
135
2
745
706
756
842
976
535
823
342
583
780
387
367
160
482
818
105
981
856
835
20
665
808
357
758
84
455
363
923
955
436
932
52
377
230
378
103
696
744
815
757
828
89
313
739
575
707
525
871
202
441
356
896
542
387
52
867
475
393
985
987
496
890
169
341
709
509
489
892
401
856
67
501
220
716
159
925
388
440
157
163
868
994
509
700
975
792
175
293
71
869
2
80
370
883
702
429
679
905
710
756
420
241
366
776
234
250
619
715
609
871
62
683
775
201
438
289
960
103
574
457
625
384
412
276
490
208
410
390
41
886
968
815
839
954
959
588
286
865
915
425
12
852
324
384
439
807
234
195
930
804
713
734
16
947
531
715
918
759
606
350
389
880
235
772
806
832
170
336
674
938
237
422
426
123
591
44
365
233
235
34
497
963
924
241
951
853
390
584
838
659
234
117
227
817
833
993
796
414
865
162
881
738
679
976
923
815
497
846
444
164
412
281
479
418
33
839
301
626
580
630
748
243
784
947
161
867
111
644
743
128
874
150
527
911
539
745
116
980
314
876
993
376
966
860
719
828
794
861
50
31
526
670
722
18
621
267
663
475
867
530
475
729
709
785
862
459
286
762
168
202
858
384
136
542
455
157
939
109
769
613
619
27
725
17
278
285
779
385
399
469
498
756
413
999
577
931
255
837
952
178
578
272
302
215
790
574
788
304
284
560
295
819
273
907
148
421
122
18
976
141
171
758
421
502
175
561
976
169
547
67
389
27
528
627
153
272
376
602
697
796
869
907
280
45
386
733
547
988
725
118
168
836
179
703
453
882
178
743
211
276
395
924
604
111
191
8
832
929
557
28
399
627
283
211
173
178
409
354
920
705
666
492
616
660
606
430
6
181
422
487
771
462
132
52
315
647
27
661
894
482
462
333
198
288
9
835
129
429
832
914
64
329
798
644
191
962
882
712
961
503
403
80
246
29
750
839
262
257
44
523
278
516
709
677
233
362
857
202
645
686
4
395
131
246
927
377
519
699
283
815
311
57
691
195
634
130
106
160
159
260
780
106
689
506
705
846
248
613
711
521
888
4
942
394
672
727
339
537
479
100
282
91
257
499
57
450
966
427
621
877
306
137
902
288
735
218
578
607
688
155
828
597
588
500
307
386
812
848
665
464
417
625
675
521
747
511
120
920
917
790
598
296
558
480
983
462
133
715
443
159
670
659
346
80
998
843
985
142
69
91
622
904
747
382
661
243
733
484
882
694
156
178
433
946
2
107
248
435
399
773
383
511
498
266
143
940
801
181
855
45
413
33
113
922
286
712
65
226
911
778
205
51
720
141
707
608
606
424
264
726
998
305
309
932
803
78
698
656
196
175
275
74
347
955
610
813
320
312
711
881
32
335
678
711
813
337
834
731
885
220
230
422
755
711
703
789
411
161
114
519
103
48
135
432
386
604
955
52
764
196
397
889
521
52
501
442
737
486
614
190
738
968
895
575
477
343
999
932
32
48
312
178
727
694
495
304
506
740
692
139
758
416
69
592
934
410
596
335
289
384
900
794
321
940
989
22
344
711
45
659
836
295
807
763
690
832
746
69
455
526
129
242
113
667
826
57
378
278
776
499
353
63
308
787
901
158
278
172
775
47
607
781
999
331
339
661
665
177
225
809
919
491
876
507
433
697
971
331
458
498
223
946
609
51
244
114
587
38
710
726
775
209
80
208
533
505
549
194
490
976
802
210
841
612
160
232
989
100
403
468
983
691
722
506
911
604
853
64
43
376
740
10
457
868
41
762
801
69
421
396
527
17
597
21
268
846
769
705
11
710
354
853
516
342
766
248
316
97
628
499
928
817
157
431
395
536
921
691
774
599
451
792
16
479
803
266
975
847
200
629
857
809
422
968
368
494
782
543
519
660
804
20
330
750
661
511
330
303
146
583
48
606
920
519
418
189
136
950
248
717
209
796
543
942
704
499
390
805
584
438
561
500
510
818
347
805
812
171
300
764
421
198
662
728
240
574
378
401
385
404
909
710
728
847
532
389
677
410
710
497
885
86
468
312
109
730
828
940
297
95
249
338
348
793
711
211
184
437
141
23
303
453
467
972
162
480
667
24
749
483
932
436
967
44
661
290
223
594
216
674
631
829
332
725
890
643
662
485
145
812
962
723
225
652
89
161
607
786
540
427
436
525
778
549
237
702
928
243
389
186
517
716
597
140
257
331
138
277
317
79
13
304
31
73
607
162
270
507
772
876
969
756
724
718
147
552
779
184
764
886
380
419
974
51
882
203
5
732
123
97
150
262
102
740
69
323
828
702
139
735
270
131
541
878
892
470
93
872
193
411
482
288
363
500
826
263
935
146
89
464
849
94
820
127
550
356
286
538
693
765
17
296
591
774
938
690
127
535
309
170
611
911
302
160
19
167
970
246
188
147
551
782
441
641
443
81
731
395
573
182
458
585
397
841
902
99
378
767
979
124
774
472
617
844
96
240
343
691
715
204
708
335
235
540
229
362
484
963
627
303
970
994
404
306
2
881
255
147
367
899
447
934
534
913
701
602
168
606
263
517
237
989
682
182
159
821
21
152
640
799
212
904
52
369
778
790
141
716
456
35
183
916
866
14
783
915
153
369
81
55
128
489
982
191
155
66
439
76
5
774
332
910
12
95
224
423
614
832
173
768
287
244
966
155
82
897
308
409
788
946
665
67
968
795
347
458
523
789
836
679
344
742
764
357
754
837
748
521
43
65
525
981
389
233
562
876
135
881
736
709
601
951
903
315
356
802
218
55
403
288
804
973
411
239
72
557
411
705
112
540
880
396
202
164
275
904
983
609
213
376
405
497
440
58
12
515
522
858
219
698
266
16
555
302
103
653
60
941
804
446
411
678
196
55
976
249
881
23
714
816
580
529
952
968
636
59
428
862
346
938
594
452
364
396
357
24
694
551
651
726
995
729
403
952
341
753
590
620
964
614
452
334
915
612
932
166
923
59
904
404
562
554
164
785
637
449
292
643
493
976
124
695
685
667
158
994
886
787
866
315
946
378
793
20
593
888
835
129
662
165
146
629
98
579
724
963
709
519
965
348
668
530
823
264
85
519
132
67
106
656
202
760
985
270
753
21
606
675
658
798
213
611
100
861
19
94
149
645
902
552
674
354
111
315
889
937
657
938
609
687
986
821
430
209
924
257
914
977
98
179
25
790
174
720
840
11
53
480
295
311
878
872
366
563
947
460
578
991
734
422
180
29
742
394
315
724
335
175
851
229
554
15
477
78
398
293
116
885
404
495
136
965
580
585
316
146
406
776
692
0
767
468
665
238
71
713
501
249
385
736
801
215
820
584
825
253
780
351
181
566
878
639
816
356
341
416
68
123
247
481
266
543
583
562
618
912
747
605
716
458
966
827
68
7
442
12
319
429
482
962
90
916
609
694
753
790
946
204
847
179
474
521
881
705
383
334
134
821
923
360
148
890
191
421
318
800
565
853
789
461
96
377
437
745
376
11
655
660
527
661
261
21
364
309
772
704
885
955
227
788
218
830
712
243
429
340
980
553
972
856
939
246
921
8
931
136
82
361
260
176
424
45
773
368
174
790
463
942
430
143
255
379
595
849
111
952
756
656
624
694
639
100
960
299
527
262
153
641
871
753
538
769
669
90
861
771
439
394
255
681
574
563
630
517
394
676
391
751
305
96
863
731
812
940
903
816
737
600
692
59
284
239
798
315
209
118
986
594
822
797
879
662
299
904
664
725
223
565
808
210
260
117
104
500
426
805
208
87
284
21
331
570
934
733
906
934
374
949
5
132
563
825
831
492
277
704
419
209
636
928
55
556
142
473
203
873
979
562
806
939
552
393
934
385
41
980
133
307
12
682
168
779
60
16
975
619
190
784
732
244
326
589
719
280
238
644
106
741
766
92
74
32
772
349
108
445
748
104
171
672
362
779
204
31
324
178
447
727
223
631
413
688
382
569
263
918
727
249
725
295
900
886
315
403
236
601
77
831
539
361
826
478
70
720
418
931
830
3
806
635
242
457
58
709
288
986
757
82
731
970
929
466
595
538
745
610
743
548
789
503
788
145
171
278
63
492
252
628
113
225
211
18
568
944
752
17
924
594
925
967
312
154
210
356
892
193
989
880
667
366
153
981
127
825
553
961
197
645
923
450
407
556
511
466
36
915
809
181
805
576
870
877
341
511
139
902
747
796
286
191
805
809
31
417
948
568
397
638
112
933
605
690
204
289
865
751
799
211
260
548
225
143
184
264
385
732
547
499
736
606
721
80
99
626
769
84
226
919
767
907
634
959
504
409
954
704
179
551
705
55
630
89
340
316
199
155
910
712
91
363
287
592
537
411
206
116
363
789
658
305
734
860
262
584
650
36
128
348
688
124
662
464
840
368
972
10
336
157
205
558
522
323
219
54
242
146
284
68
347
54
113
384
396
688
297
838
602
240
535
588
417
864
983
627
342
295
883
816
852
192
704
238
829
943
793
744
978
979
969
690
944
664
737
511
340
134
605
641
707
848
314
286
629
880
295
363
755
456
588
860
214
694
16
122
428
32
479
973
236
8
423
685
396
987
491
191
620
258
849
883
371
527
585
684
464
296
799
152
555
414
550
122
121
778
641
584
770
512
152
459
993
145
884
791
15
149
827
821
243
370
344
612
922
868
490
205
933
148
830
868
135
658
2
228
393
573
734
905
582
501
621
337
587
973
532
12
375
59
710
220
535
281
777
397
20
551
33
139
305
711
583
998
228
820
33
222
391
125
675
123
206
824
425
729
946
553
79
917
521
588
680
670
705
338
22
263
122
749
439
535
871
650
359
116
985
117
792
572
52
794
650
492
774
33
30
539
784
328
173
804
865
229
374
137
686
453
129
174
868
824
721
901
870
918
265
145
876
256
475
736
147
468
2
537
589
92
71
378
779
737
407
263
598
691
201
811
157
291
875
481
293
881
134
414
303
81
755
834
218
959
672
907
12
707
460
300
99
153
619
403
845
889
232
868
980
942
742
316
443
922
224
952
176
892
48
216
873
227
603
430
419
376
801
294
553
223
957
40
839
405
146
791
517
156
886
944
275
521
891
935
180
986
556
737
128
446
963
620
974
299
628
184
956
995
949
391
436
710
689
205
218
573
397
347
942
677
192
572
342
969
681
372
66
93
256
983
419
379
104
64
469
746
179
29
835
65
197
454
11
76
162
978
607
835
815
370
542
975
544
703
389
699
173
712
38
737
601
736
160
634
257
43
138
286
351
371
697
851
202
286
847
501
980
46
611
661
819
593
22
769
427
703
72
219
493
687
399
259
204
557
347
909
69
26
864
899
672
829
707
38
884
697
143
823
736
488
557
761
872
826
423
507
318
605
402
370
544
698
128
189
294
469
721
258
959
208
884
452
98
450
79
144
519
632
353
30
850
626
144
852
401
858
686
207
973
645
513
169
256
528
862
112
414
977
611
747
580
123
591
297
174
223
477
80
891
450
974
290
2
737
766
715
525
374
355
249
964
259
235
77
921
973
132
427
152
783
555
763
109
851
302
751
348
874
277
998
394
668
647
57
695
214
773
135
509
829
102
823
341
267
22
389
766
465
182
268
834
985
933
58
660
589
688
41
296
483
228
985
767
615
883
31
770
588
935
553
425
854
386
269
392
763
26
13
256
139
509
821
998
628
645
550
958
461
239
709
83
861
844
633
792
705
749
659
584
499
766
704
201
911
162
877
528
89
291
770
544
763
81
951
605
17
566
822
305
292
728
19
530
130
448
886
492
666
548
595
567
293
655
480
197
859
832
891
404
245
583
47
532
901
842
6
210
138
54
295
750
515
684
919
214
276
814
960
512
859
557
134
632
7
968
851
55
741
689
223
316
24
531
478
868
207
280
973
352
261
907
492
84
378
81
856
493
870
624
152
194
890
281
66
135
274
619
225
383
30
438
656
467
325
479
745
43
540
754
217
176
190
216
947
119
226
768
113
414
453
291
11
163
889
293
472
880
423
238
350
126
537
497
187
450
873
440
67
77
127
50
728
88
344
898
744
963
667
132
180
532
231
589
175
100
651
542
656
503
917
443
194
75
264
161
938
8
797
914
336
571
678
842
106
711
965
756
256
820
589
380
41
809
667
84
613
398
653
929
490
894
317
567
878
854
102
712
188
117
822
325
238
349
954
110
759
808
367
753
716
19
101
633
669
167
401
665
616
522
739
699
834
907
326
113
361
361
774
42
398
438
849
67
365
105
155
741
135
179
644
931
438
526
311
338
876
963
566
687
319
196
511
68
312
51
146
671
893
729
483
690
647
137
366
720
630
527
910
958
468
58
446
907
329
133
588
374
795
481
859
19
370
381
697
937
110
36
603
752
390
903
745
35
502
767
706
328
743
184
116
409
81
545
206
689
550
220
101
89
91
663
394
23
350
513
675
153
180
82
246
465
782
668
263
561
54
546
392
398
991
657
114
384
971
123
452
538
822
290
557
405
266
738
209
503
965
831
266
957
240
618
620
695
586
488
776
333
829
735
904
93
576
252
638
554
703
507
50
953
588
217
114
869
127
464
721
877
988
513
944
17
874
817
281
12
403
987
851
24
796
118
187
355
756
640
528
547
787
557
360
408
642
448
19
307
751
611
213
732
477
216
673
987
882
54
845
268
346
821
124
823
467
754
658
680
226
756
183
72
977
850
826
901
48
411
949
560
57
644
674
212
611
571
543
460
208
296
64
939
769
212
607
756
679
165
456
436
613
445
687
803
597
523
194
332
736
667
931
761
107
249
427
459
520
506
585
888
937
180
535
934
320
844
281
428
900
868
930
480
110
184
696
524
805
208
199
770
93
592
303
580
57
100
799
222
867
315
691
172
199
839
637
931
225
523
732
223
204
210
568
159
111
67
571
682
613
61
321
564
357
831
267
251
225
141
498
909
474
494
329
523
12
797
324
602
286
380
584
139
628
311
515
43
371
801
240
316
843
708
828
693
667
673
204
922
222
980
963
588
473
184
473
308
871
308
211
56
404
931
350
172
290
563
382
894
297
777
185
12
970
96
40
918
526
898
605
140
341
901
46
245
734
767
729
995
100
187
847
596
909
998
211
700
627
706
393
378
582
342
157
710
543
732
612
168
754
208
805
395
596
865
117
786
838
380
159
113
413
612
484
453
726
229
912
123
233
642
10
956
44
494
165
638
649
610
446
501
218
45
918
465
631
397
901
147
493
572
902
184
966
420
312
869
714
668
705
388
545
280
275
517
158
287
619
188
250
37
916
878
710
862
840
165
167
310
277
405
635
538
719
730
549
990
284
273
283
242
91
91
103
929
895
435
381
203
22
530
2
955
136
524
506
843
803
384
494
906
862
155
817
394
302
795
29
6
986
939
702
708
971
100
595
865
428
504
789
289
633
609
744
27
935
60
838
437
352
323
980
430
172
99
972
100
130
674
556
850
73
528
149
835
795
625
398
809
926
731
110
716
914
394
89
880
61
763
60
805
215
807
924
115
12
602
845
133
477
929
711
987
122
631
627
920
21
574
680
670
538
479
171
235
57
296
703
261
156
348
789
644
102
497
853
172
310
949
177
121
943
954
899
395
484
883
525
306
847
291
599
862
885
747
373
403
375
199
577
225
753
120
936
173
143
414
755
81
211
298
155
111
457
318
225
562
83
307
818
986
370
376
504
567
857
232
344
867
410
2
688
481
62
843
559
542
127
432
462
790
130
230
349
270
40
305
46
94
231
556
938
689
474
421
331
316
423
258
951
276
46
19
48
723
279
698
514
105
172
222
860
377
760
554
558
370
669
684
664
418
635
902
157
303
317
38
359
447
381
275
736
825
82
889
937
504
468
864
448
757
694
243
304
732
176
532
81
977
741
762
985
889
1
922
440
935
189
85
427
837
168
274
769
936
708
500
6
404
822
799
569
209
705
504
694
652
768
685
299
763
97
811
208
462
569
601
197
988
19
202
780
844
171
709
115
965
457
131
943
942
153
961
464
276
267
490
307
757
249
772
37
479
972
750
502
502
918
178
678
469
217
333
938
79
792
417
252
59
255
796
433
446
523
239
4
811
738
533
675
496
923
464
819
907
378
822
739
426
290
720
837
976
431
833
70
900
959
139
88
117
835
15
232
876
579
895
69
594
909
472
622
191
820
935
171
740
137
121
670
406
361
552
153
400
12
79
12
92
299
879
558
973
321
261
473
45
195
67
835
853
42
287
441
947
774
376
927
156
438
146
142
687
417
138
137
551
18
879
248
733
619
595
514
984
232
486
21
612
670
413
849
18
567
382
758
242
640
638
594
626
298
119
78
868
239
940
647
240
784
892
291
868
286
870
907
789
477
4
763
991
289
202
613
538
126
377
841
887
587
805
156
58
212
790
781
791
573
958
600
500
517
439
582
679
570
233
742
300
950
27
844
544
502
394
111
982
140
821
910
473
365
641
455
132
262
28
188
574
352
575
10
790
635
242
275
739
812
18
610
447
13
608
399
828
142
360
215
347
431
620
157
96
971
117
34
993
292
970
435
186
200
50
95
113
685
61
133
987
742
981
371
633
575
7
743
501
422
584
917
442
713
863
310
888
654
541
417
121
178
68
832
328
208
501
944
256
406
555
740
444
407
215
496
726
515
382
29
124
205
351
608
149
605
767
390
639
10
826
463
871
372
368
177
44
397
94
961
469
648
473
221
750
980
948
101
96
560
667
448
417
104
101
715
355
186
151
332
209
570
524
326
856
924
527
45
475
838
160
628
255
152
406
968
279
766
751
902
842
385
565
698
747
614
992
875
880
180
186
653
556
48
650
322
123
627
813
41
535
118
667
585
465
494
198
242
37
388
424
771
778
238
397
9
210
545
172
825
798
506
791
416
702
239
701
80
236
53
236
498
840
539
280
864
817
717
13
901
147
898
684
755
256
43
451
882
445
680
627
992
609
769
856
490
247
120
441
173
995
520
848
817
984
65
320
290
168
328
176
574
828
306
685
81
535
133
979
643
508
108
125
565
104
292
393
188
376
690
226
958
779
232
424
137
565
68
286
229
775
564
8
685
386
967
307
273
597
753
697
960
811
55
262
116
13
529
730
809
198
487
570
905
981
744
826
640
42
333
542
468
525
868
34
890
742
75
302
895
444
397
365
635
365
867
708
214
950
93
685
594
527
767
367
603
517
320
655
960
716
937
591
655
399
585
708
797
189
544
869
535
102
90
283
340
876
662
868
574
81
980
546
0
954
45
68
813
607
931
854
123
617
414
23
161
330
638
863
550
458
236
839
421
172
965
115
406
270
301
721
240
381
725
143
657
250
625
588
987
973
171
64
999
951
696
758
631
934
886
515
889
490
833
228
798
597
589
312
407
346
693
410
798
103
996
637
642
395
326
265
602
981
479
738
213
303
708
82
504
491
192
6
290
317
86
507
375
347
144
942
402
134
398
239
264
661
405
911
331
450
166
246
969
782
228
87
103
385
348
761
602
624
903
65
294
313
551
605
917
239
542
862
368
39
316
402
208
677
363
314
379
531
759
909
613
507
257
340
302
932
357
712
215
558
454
760
898
346
278
245
617
546
277
806
654
755
872
119
620
647
991
857
830
479
949
4
364
619
171
63
510
837
955
902
819
928
783
534
645
734
399
871
426
391
674
985
515
443
530
324
464
332
700
216
495
346
148
556
820
443
744
568
718
960
732
219
106
996
779
352
412
61
760
748
37
97
775
0
427
753
196
112
547
812
545
805
593
246
588
697
162
55
32
169
650
106
168
191
414
522
901
931
291
990
580
536
454
377
267
559
513
952
843
691
613
381
166
948
169
184
257
191
531
731
439
944
985
205
525
568
782
883
234
177
183
615
125
567
768
510
73
866
823
504
922
308
250
191
889
317
300
505
143
932
852
480
863
328
746
741
239
100
904
95
874
126
778
493
116
339
627
827
293
214
621
619
119
62
25
284
935
733
380
749
520
550
575
858
396
701
340
780
513
240
727
602
860
616
801
27
159
727
974
900
79
962
440
432
387
560
691
809
81
933
254
470
490
656
151
723
13
211
685
815
439
24
93
197
579
703
630
945
465
708
585
37
239
834
562
819
611
434
849
329
481
553
34
913
323
986
646
733
403
750
383
780
202
479
348
802
42
336
571
471
656
630
607
406
413
831
121
659
528
716
880
961
50
142
339
102
797
893
433
428
662
796
101
334
363
552
774
162
885
728
617
792
439
225
337
622
938
465
686
600
774
990
33
25
489
90
411
921
477
820
312
501
458
114
658
489
205
507
429
161
817
624
65
155
483
134
786
117
722
672
932
415
70
574
574
765
894
772
920
917
661
276
503
19
331
635
982
168
174
248
161
605
817
422
190
606
858
326
522
949
489
498
316
654
141
144
937
569
671
280
606
971
888
302
548
60
520
253
278
181
349
866
975
311
738
929
457
662
703
637
59
464
584
629
73
622
330
488
197
144
311
593
571
690
108
170
658
940
514
693
694
408
64
509
89
465
16
611
439
660
324
619
761
427
452
179
555
606
692
469
584
872
272
157
242
514
579
538
996
562
470
285
479
541
678
630
59
396
131
682
33
464
569
694
422
285
648
105
377
242
479
933
295
285
976
792
176
68
904
42
326
224
501
428
839
39
138
118
26
57
925
344
562
404
434
637
712
644
414
386
597
630
36
23
391
199
719
180
77
283
868
799
647
543
336
689
511
236
843
594
988
861
500
168
294
23
185
628
490
137
304
51
742
919
657
867
591
281
758
218
50
765
587
132
132
961
924
609
975
318
703
731
520
864
671
66
438
677
34
758
341
900
292
859
540
703
993
524
531
78
825
45
88
740
136
642
60
660
944
666
925
880
729
307
316
162
601
348
13
874
292
722
53
287
223
572
337
752
194
926
832
224
365
212
199
216
883
781
646
439
880
61
85
551
564
83
119
430
574
151
65
593
412
702
495
631
557
656
862
966
105
522
750
661
862
687
619
256
164
571
592
194
561
951
272
462
711
180
867
979
846
294
704
704
927
540
181
808
657
574
109
44
236
536
928
291
203
279
765
810
369
947
234
981
194
749
431
829
415
194
135
632
783
198
511
48
143
25
115
534
100
620
54
262
985
966
620
900
156
620
432
750
585
736
251
108
575
947
593
58
391
307
163
101
272
837
283
234
568
38
443
838
939
290
662
573
651
460
523
551
689
112
68
386
36
297
340
481
622
549
607
456
494
796
585
819
806
609
317
859
76
904
654
781
833
601
122
41
222
854
588
678
572
356
808
371
87
792
879
433
659
269
678
222
441
265
237
628
991
960
293
447
152
846
333
490
489
585
809
611
258
839
597
90
881
482
72
952
179
747
775
513
154
60
49
889
934
812
513
784
113
470
872
766
407
679
310
68
772
8
771
855
100
453
780
609
453
60
91
868
859
164
146
21
264
862
442
139
185
545
187
510
977
57
309
268
39
679
340
765
524
603
257
142
470
347
73
2
68
145
317
420
734
495
651
285
478
599
342
877
430
342
90
417
936
415
554
711
423
760
574
277
227
208
726
684
221
486
859
739
712
672
345
708
624
232
632
319
866
946
888
818
492
975
196
765
410
154
966
520
500
373
688
997
349
348
935
116
123
803
26
295
904
326
588
558
999
688
825
49
781
166
179
319
943
736
258
730
626
890
305
107
395
956
311
813
652
324
900
934
492
586
162
809
592
788
603
480
895
509
842
739
286
355
669
511
617
236
255
74
443
905
512
705
504
604
992
568
22
318
965
613
275
422
901
221
333
742
911
588
324
251
761
715
660
201
740
950
258
707
507
814
209
663
434
921
516
213
81
355
891
827
703
583
215
728
349
66
457
603
875
547
184
949
193
334
322
967
88
478
593
822
362
836
438
537
157
433
992
822
955
920
865
379
905
103
165
232
268
233
503
667
571
912
654
912
56
264
515
622
596
326
20
575
739
186
981
625
772
333
630
146
621
872
122
385
980
949
668
598
597
768
455
44
574
285
540
369
171
523
727
616
532
691
470
899
20
708
339
77
447
143
300
832
206
0
548
233
557
90
866
373
447
250
208
131
993
640
836
769
552
682
84
282
418
780
154
871
380
55
948
201
902
296
71
657
159
244
18
392
412
576
959
289
778
483
890
23
796
342
338
328
411
97
302
897
492
396
179
140
169
178
997
398
193
312
832
723
807
240
490
744
924
797
100
450
302
613
332
252
415
428
426
453
187
586
406
818
529
159
167
790
551
544
601
145
231
606
595
975
297
802
753
738
197
484
576
875
828
231
764
642
612
898
887
874
410
421
946
913
176
166
277
252
201
783
411
243
464
262
884
108
288
696
78
505
828
809
371
565
347
405
162
164
380
923
538
265
21
209
513
775
240
607
850
100
253
164
150
315
798
242
711
290
867
426
502
223
84
492
326
816
171
672
620
754
379
931
653
31
460
395
775
677
631
371
125
241
971
40
27
667
260
814
887
294
302
800
923
766
178
974
857
372
285
468
440
107
240
49
896
352
267
519
320
684
792
271
50
19
833
821
637
192
459
981
123
111
740
513
572
5
241
914
609
995
529
389
119
367
677
375
247
517
962
939
659
975
790
743
94
533
199
380
720
902
559
923
295
224
452
699
100
727
580
742
12
486
743
860
857
240
957
590
188
569
780
513
426
797
141
550
415
559
504
385
117
679
577
703
413
811
76
68
165
801
651
845
879
422
277
494
500
602
767
391
519
85
558
364
215
117
308
135
673
987
872
737
745
964
971
180
619
692
835
585
544
681
707
372
228
448
926
569
236
852
897
951
407
851
767
574
709
877
449
306
481
915
516
974
206
155
493
517
421
427
809
59
347
321
481
549
552
944
333
8
457
356
168
485
463
133
562
744
888
215
741
851
138
72
463
715
726
493
479
752
329
222
232
196
836
849
478
460
957
322
529
708
419
825
928
350
400
522
878
55
147
182
995
586
965
275
686
988
238
24
109
963
847
172
553
849
99
409
832
26
608
623
150
649
619
49
283
605
65
299
625
306
618
748
756
401
240
121
122
952
699
893
148
626
257
101
86
893
811
238
21
745
642
551
439
935
451
752
214
502
737
790
508
463
789
109
894
38
175
438
666
280
946
519
222
564
971
726
759
103
296
940
420
75
675
435
661
847
283
916
772
144
858
913
862
364
914
839
439
409
369
306
952
901
625
445
863
109
609
148
603
346
756
878
347
812
45
93
257
581
135
197
166
311
649
293
644
967
986
584
658
91
810
420
619
58
345
347
482
119
935
243
801
991
566
461
543
519
510
563
824
634
606
838
44
202
721
968
1
404
240
584
446
786
454
979
772
22
384
308
976
817
706
683
334
192
628
888
36
819
855
869
142
607
597
246
972
283
313
616
327
832
154
736
924
654
109
755
634
272
63
950
625
25
634
169
853
244
821
964
673
328
366
593
188
363
286
952
97
656
307
342
623
864
914
354
59
979
387
981
46
963
0
71
244
599
256
736
395
127
912
465
137
853
564
968
279
759
522
934
644
99
828
539
332
451
31
54
544
371
390
819
76
974
282
512
474
723
425
117
505
368
731
786
962
314
762
508
950
359
88
350
420
293
580
877
822
956
751
825
292
448
940
467
404
362
538
22
280
39
55
493
571
349
930
387
216
520
5
396
789
501
355
747
855
763
273
412
681
297
573
12
241
384
847
298
161
319
488
525
91
396
381
464
237
675
165
862
598
677
1
61
819
81
426
55
863
483
974
38
353
122
315
83
349
574
69
862
164
964
748
77
143
96
540
548
751
393
16
394
485
754
453
96
843
571
307
557
393
281
318
613
94
869
147
228
74
462
518
149
764
265
99
757
765
579
644
322
384
362
537
973
306
181
167
240
769
198
188
841
72
328
388
451
280
47
343
935
290
702
502
528
819
171
885
995
797
332
515
668
7
251
448
686
235
150
385
439
40
710
431
461
512
820
272
997
52
961
917
434
158
781
809
975
983
471
724
865
81
391
162
998
27
240
811
347
442
344
339
160
246
267
15
95
622
646
691
458
201
506
79
78
810
860
322
212
190
904
192
964
178
623
530
72
913
849
641
284
388
152
300
704
125
809
162
803
112
270
364
261
556
613
325
314
659
110
283
382
126
665
544
570
159
406
769
538
289
848
506
329
55
871
523
745
913
345
350
409
678
393
503
194
166
413
35
102
263
568
410
667
385
193
963
621
956
715
927
812
773
454
250
244
142
480
416
777
339
938
894
272
649
27
969
226
958
159
723
716
608
45
870
714
495
533
273
375
35
853
221
560
445
135
938
144
733
237
668
61
494
528
994
428
877
766
996
928
929
620
118
867
341
733
811
970
127
351
229
32
15
346
173
688
287
17
632
950
612
224
371
197
40
565
696
737
888
960
392
694
947
368
491
151
664
420
446
448
938
932
228
39
530
678
820
37
890
178
992
586
720
273
323
679
559
843
826
969
702
239
819
728
8
137
124
904
458
220
579
319
0
843
794
817
851
268
733
626
913
653
434
64
760
956
32
258
527
191
904
906
333
15
612
874
114
74
21
751
219
303
852
460
291
232
488
886
53
188
877
271
388
734
155
747
39
46
385
429
617
619
120
162
398
821
436
165
43
69
235
121
302
170
203
695
29
894
273
116
402
632
516
603
656
560
823
203
34
39
454
584
79
259
434
822
647
117
964
785
338
445
445
5
618
381
778
524
34
880
335
56
262
705
303
185
264
820
937
857
957
876
738
123
878
679
517
439
59
638
150
976
426
630
943
689
147
529
462
544
314
503
452
643
848
492
169
564
550
945
293
271
848
412
650
270
538
110
463
742
70
229
933
138
180
279
997
126
646
779
620
764
367
646
232
93
404
250
547
170
845
154
616
899
10
894
332
175
341
409
62
339
881
97
180
172
214
671
327
614
139
892
395
600
109
83
262
91
149
817
111
433
402
218
645
26
943
655
762
629
754
40
997
738
579
651
66
928
953
913
491
486
585
630
989
283
446
72
483
990
525
196
834
924
476
46
649
803
6
442
3
17
657
487
946
442
409
665
419
655
198
580
187
28
5
703
217
953
279
794
8
385
492
632
264
347
709
957
571
411
947
576
957
160
677
706
58
172
208
290
343
593
741
313
311
181
442
635
141
292
692
170
110
321
10
465
456
377
630
978
452
391
918
136
266
33
196
899
189
473
32
508
580
852
511
544
164
450
649
523
301
132
753
654
90
567
828
405
414
201
703
217
334
868
426
920
400
183
439
801
479
187
726
418
234
883
640
103
585
828
224
316
670
211
237
524
943
570
865
630
144
624
27
363
934
335
217
914
539
808
725
23
316
908
867
329
300
731
43
778
102
336
172
128
791
61
591
267
640
815
989
520
978
446
857
185
340
890
927
672
764
460
565
477
809
332
417
206
265
768
315
420
68
710
117
319
416
360
725
210
432
264
530
597
72
462
165
229
707
795
844
802
865
980
88
128
930
115
588
924
247
551
614
577
688
974
986
354
4
564
945
934
606
301
639
915
592
993
203
312
853
157
884
360
845
536
659
803
338
770
855
851
625
422
402
337
157
949
735
21
534
406
251
137
617
461
944
259
817
330
200
354
261
225
369
582
285
172
143
546
347
710
581
691
304
552
36
547
739
84
802
225
498
149
121
484
815
370
316
505
750
350
637
279
478
350
65
128
26
582
804
108
769
870
286
895
549
433
842
644
292
164
982
878
28
999
160
699
1
595
397
487
373
941
145
240
960
878
738
65
839
297
749
116
468
257
160
612
433
764
223
282
651
557
300
650
652
824
822
873
155
450
617
329
208
821
995
73
700
40
496
731
817
941
624
272
298
321
513
337
817
179
501
890
584
175
658
890
334
494
70
146
999
217
665
997
173
267
619
483
124
190
195
415
186
162
217
792
484
516
438
405
363
487
188
479
99
718
410
690
408
791
873
961
189
84
155
536
358
211
438
85
141
801
124
680
816
63
826
656
552
752
228
479
112
377
915
648
734
752
476
620
822
275
693
142
785
406
381
770
914
59
382
120
622
427
718
898
551
181
318
275
149
551
292
837
480
226
680
718
908
548
968
471
197
312
851
620
740
100
358
399
313
355
598
635
525
195
956
974
313
952
260
811
819
271
246
178
137
18
591
768
266
299
352
874
686
597
324
889
938
58
549
301
225
182
94
898
514
156
37
808
176
109
193
689
101
371
544
767
479
499
880
255
79
442
613
241
794
779
824
101
100
259
925
21
649
724
488
961
169
602
136
273
349
83
620
974
957
384
851
837
971
199
919
929
901
94
838
385
872
306
43
970
942
450
160
117
970
438
746
883
194
784
424
442
748
682
188
104
909
432
103
404
617
544
107
412
838
706
285
943
870
860
784
154
943
744
511
745
58
14
686
596
204
275
961
9
575
565
547
714
324
614
708
255
643
403
809
21
157
530
994
419
756
582
691
427
29
410
193
548
738
99
521
155
320
791
380
668
289
9
815
729
780
87
974
95
755
936
744
689
916
899
770
658
838
136
196
691
406
745
267
751
728
581
141
910
869
49
800
544
421
642
327
469
811
906
667
839
207
770
280
168
512
14
702
343
909
327
560
186
31
81
525
254
621
791
799
898
830
717
619
411
355
573
231
224
676
133
538
800
864
761
277
887
717
678
944
890
496
174
681
506
80
521
301
823
847
175
905
200
777
537
387
471
959
220
327
860
906
159
478
298
387
563
283
429
211
664
821
406
358
987
261
721
250
402
499
730
561
312
273
359
603
713
540
55
283
461
767
821
166
789
466
428
515
386
154
559
496
416
367
652
282
779
83
909
998
517
408
982
687
525
511
220
931
962
371
231
158
187
205
378
369
910
189
112
256
228
902
772
688
964
799
936
831
117
705
705
476
157
351
186
825
319
727
93
437
685
629
186
83
591
925
142
809
754
850
210
256
371
840
95
979
772
794
794
915
943
867
968
97
878
874
193
255
793
35
784
714
377
64
421
629
114
106
711
553
978
891
349
378
446
301
947
315
417
145
547
233
671
604
152
796
468
288
614
380
689
727
707
341
213
54
297
10
929
567
293
285
499
606
358
231
575
155
399
481
459
650
636
237
491
108
580
880
533
905
577
612
849
140
942
784
439
800
134
526
589
633
597
545
282
355
530
680
519
96
113
514
177
849
319
168
443
92
660
467
385
701
630
690
19
514
314
247
853
989
941
230
655
976
697
715
925
359
822
926
99
774
257
54
187
678
761
831
479
962
566
933
857
980
690
232
304
707
405
4
335
104
389
520
101
405
898
904
988
360
348
700
84
44
370
949
644
267
314
135
680
591
439
400
334
238
632
536
850
966
120
97
518
667
325
989
704
954
261
162
677
10
211
108
891
833
170
158
130
247
388
530
345
748
451
399
421
316
583
51
645
505
623
515
730
279
299
494
92
827
448
45
636
985
262
719
700
294
504
851
860
920
714
69
587
152
138
835
529
811
327
617
659
753
107
619
792
384
34
46
191
146
459
267
76
572
598
5
926
558
52
650
182
156
930
969
675
341
438
945
993
963
629
270
711
901
901
954
169
577
62
277
456
741
170
517
979
740
428
209
601
950
491
47
360
117
763
280
723
586
313
933
140
773
419
704
341
74
947
694
902
213
53
395
213
257
75
778
625
76
753
252
149
64
584
1
674
109
122
211
345
620
793
876
294
885
997
50
700
536
371
619
79
703
870
115
716
403
340
169
38
6
133
798
443
256
825
188
24
897
725
147
170
349
902
161
90
257
117
913
322
281
441
624
997
411
281
749
939
795
384
982
461
471
941
485
916
214
869
148
17
560
579
31
6
639
548
833
72
141
10
673
791
456
202
915
306
340
419
409
69
743
412
107
689
291
120
697
277
371
805
980
629
334
941
307
235
330
970
92
522
83
583
710
717
821
692
153
567
73
54
797
641
278
798
416
913
338
295
123
316
610
860
162
455
747
706
966
579
272
53
291
360
778
843
335
222
671
498
574
573
570
444
629
215
305
674
840
637
925
386
888
455
671
192
150
560
264
551
457
399
860
906
112
482
940
143
901
690
861
505
39
125
550
16
543
59
496
45
621
684
332
499
788
52
833
521
835
878
432
554
509
711
864
825
349
286
43
958
460
623
900
585
590
243
57
313
858
628
385
118
275
82
983
656
292
334
559
388
713
430
582
902
331
173
960
936
20
677
56
392
780
142
246
889
488
444
473
357
392
783
703
925
354
41
892
977
615
824
259
55
537
696
870
359
973
951
568
433
364
593
78
6
835
271
579
109
117
911
320
631
152
212
182
6
81
413
557
655
572
287
154
41
8
265
269
230
356
453
988
747
416
987
456
576
922
339
796
573
767
446
83
801
970
99
73
28
203
874
16
391
828
672
918
511
242
18
4
109
900
860
935
109
892
839
717
618
318
917
491
464
251
204
987
501
796
360
708
689
481
90
952
441
946
591
35
474
382
721
537
703
410
841
372
679
989
73
725
456
318
913
502
206
979
390
589
935
818
774
846
729
976
308
969
151
819
434
154
279
92
16
348
905
863
905
965
404
891
445
305
28
663
636
7
798
564
205
355
213
268
904
308
328
109
300
987
553
314
778
250
876
111
31
177
932
910
999
904
444
690
0
840
490
41
954
227
51
836
408
658
292
928
822
23
714
487
693
879
933
435
590
786
352
738
732
913
719
789
337
916
756
647
991
277
891
520
504
611
695
979
275
867
511
214
727
262
896
314
404
10
472
999
40
728
407
537
231
373
441
880
27
754
654
23
358
972
588
444
606
750
310
728
796
456
264
813
716
194
9
690
86
219
875
424
674
442
857
304
926
322
693
899
652
329
205
897
535
793
525
218
851
702
341
19
400
697
153
344
784
375
901
446
37
620
932
388
192
609
313
182
101
222
872
561
314
575
191
101
212
86
360
717
517
80
683
809
425
864
65
146
816
252
825
64
838
308
914
303
137
796
90
410
68
340
605
867
813
58
291
10
25
110
9
137
871
925
14
189
125
337
449
789
741
287
602
169
3
237
178
128
213
217
211
554
586
23
86
295
672
183
3
682
936
460
774
228
317
757
296
22
797
78
258
68
986
100
452
769
331
56
55
215
808
644
921
10
409
10
620
338
176
861
750
556
228
678
738
998
957
366
130
70
112
48
625
712
959
751
672
595
803
862
572
184
683
552
632
643
961
821
242
626
692
43
745
761
239
888
808
958
625
199
248
863
147
208
183
662
393
251
930
187
429
543
777
900
492
577
935
332
349
479
40
44
782
109
948
26
917
642
237
261
495
779
858
286
688
508
503
562
488
821
622
61
816
720
110
836
817
53
752
77
424
247
501
524
257
421
408
292
622
209
698
666
13
543
205
582
568
261
565
579
135
418
739
235
34
352
746
553
611
246
552
85
743
339
922
775
637
331
797
251
896
640
611
214
615
48
631
984
234
420
880
380
484
908
775
224
749
377
476
187
134
528
641
652
352
143
94
434
883
386
213
919
181
672
667
699
155
0
887
527
822
415
114
932
40
758
400
176
372
309
10
629
725
504
695
139
592
205
658
203
34
395
241
170
123
166
679
250
259
364
85
340
300
520
690
608
972
857
735
542
911
401
378
302
805
94
498
408
415
12
654
318
582
918
591
845
234
548
692
507
767
385
909
346
450
925
576
80
388
307
870
488
74
260
36
70
884
344
915
55
118
936
885
15
193
561
550
904
364
262
311
339
247
182
703
381
714
241
71
263
376
790
109
328
769
98
993
688
508
70
861
78
640
911
83
362
438
296
10
970
255
159
452
461
28
459
92
61
668
94
896
561
283
554
954
698
733
929
873
165
225
838
212
967
603
133
956
801
625
192
213
919
66
628
909
802
822
759
614
176
509
598
786
153
709
476
165
146
5
912
928
284
857
952
291
605
552
426
870
569
607
821
704
391
446
601
192
319
321
531
460
881
822
251
908
851
966
741
149
66
478
546
724
906
240
358
878
6
600
585
677
142
361
118
138
651
401
478
625
23
652
448
30
669
640
965
10
336
817
976
769
881
526
275
935
714
399
870
144
17
741
947
427
10
175
608
301
672
251
95
214
335
321
250
176
501
430
285
434
724
243
651
86
96
53
36
963
908
206
218
376
900
218
629
619
36
85
68
87
220
356
173
130
509
34
129
330
4
610
12
510
210
127
826
73
785
71
452
598
559
590
184
592
903
57
187
471
359
915
246
435
812
261
842
80
343
827
315
783
457
148
981
57
873
706
906
782
839
909
301
882
496
99
46
85
480
983
991
65
893
258
420
585
980
436
843
87
155
472
357
962
245
811
893
465
509
135
778
799
196
238
516
840
235
34
266
247
693
154
826
145
481
430
886
256
236
366
83
882
584
313
587
892
715
410
905
135
709
753
258
346
927
297
400
706
879
136
775
278
486
334
815
958
114
386
72
39
877
717
573
870
685
293
881
464
509
848
747
946
624
4
786
589
549
545
250
987
279
286
51
225
774
607
138
549
378
138
404
188
385
987
742
157
600
509
501
784
371
814
41
582
70
573
352
68
395
419
802
464
744
230
922
20
74
161
192
989
229
813
60
493
384
163
910
287
863
311
310
733
526
573
551
812
83
184
349
712
449
186
419
245
867
997
867
884
855
385
336
235
107
979
829
464
50
769
299
267
183
774
756
757
251
587
562
718
897
400
863
978
674
182
373
885
486
559
52
645
207
636
497
863
299
869
527
32
330
653
844
606
859
269
445
583
872
714
618
437
102
104
728
312
918
798
495
746
437
971
895
388
42
878
299
770
547
140
978
478
137
654
170
260
732
750
669
175
255
381
298
516
960
297
290
258
13
947
389
744
872
509
758
973
477
82
405
836
866
618
298
765
458
712
559
805
755
211
931
293
632
242
968
121
36
149
566
405
614
280
727
910
395
358
969
20
653
509
759
977
775
844
957
648
232
367
823
774
37
711
310
878
310
110
980
265
561
574
502
980
700
417
134
277
761
862
138
646
171
524
658
793
608
934
732
282
365
111
45
749
945
294
821
699
900
770
367
503
56
953
532
156
771
420
86
95
16
346
296
892
914
342
329
692
199
384
516
281
224
0
517
731
578
296
122
760
886
685
57
756
585
184
265
545
970
256
433
690
384
356
703
489
448
850
448
844
149
636
558
723
324
689
627
55
581
489
502
822
56
568
574
938
759
982
710
998
820
327
302
378
324
961
812
209
15
532
645
522
526
613
478
685
293
671
542
396
681
564
338
672
278
469
855
543
173
376
359
928
167
842
801
194
506
545
758
292
9
952
716
267
699
138
480
151
144
278
802
500
143
476
886
109
217
717
675
465
328
54
38
769
614
669
986
699
107
988
534
673
97
127
860
648
972
295
199
297
392
205
750
211
531
680
321
135
724
500
174
241
598
59
269
461
288
141
860
296
126
950
847
597
759
79
398
649
782
926
569
481
608
806
258
32
348
427
444
560
767
578
261
289
466
888
99
330
885
26
427
279
431
746
613
569
681
113
793
949
946
289
840
377
498
68
724
673
407
273
479
248
189
419
335
629
272
307
568
802
641
349
983
117
847
254
170
165
600
53
547
805
890
151
133
438
995
666
131
128
433
479
753
138
722
472
600
590
126
443
965
5
937
50
94
753
281
491
583
236
149
254
649
238
625
223
937
751
371
974
525
514
406
721
683
237
487
887
648
459
105
305
882
662
837
174
13
279
283
72
6
354
956
180
251
248
705
460
172
490
556
53
755
132
972
296
945
85
806
566
490
943
445
6
888
442
198
992
571
350
257
667
898
599
636
960
446
777
912
447
391
407
877
832
820
473
507
604
654
641
502
27
929
196
185
93
565
706
65
484
386
539
946
770
64
749
924
723
250
356
877
5
941
230
502
614
98
519
20
597
694
615
875
650
760
900
270
705
673
327
959
857
109
860
350
35
566
487
82
881
970
142
755
748
562
684
642
324
133
80
901
792
494
948
805
888
257
577
70
310
613
718
901
944
407
991
91
923
460
176
173
626
855
352
614
137
571
841
923
749
419
912
956
268
273
964
353
978
407
664
787
174
575
202
733
547
101
804
73
375
831
486
408
64
646
675
219
906
989
303
506
186
655
312
898
625
637
106
825
77
701
27
254
741
375
24
778
790
536
559
763
270
185
641
816
276
925
934
903
594
748
839
80
701
35
704
848
928
964
847
184
890
534
101
576
571
749
685
226
769
478
764
217
306
413
808
376
108
710
162
389
270
440
19
663
633
506
431
598
473
898
737
836
729
935
320
798
479
23
324
857
236
746
31
23
801
956
579
583
627
124
928
534
721
706
883
306
417
328
159
227
967
352
584
682
790
2
876
138
957
957
446
456
501
398
660
650
294
838
820
839
652
55
206
667
211
237
408
63
730
383
715
131
59
162
118
548
510
515
226
117
221
215
256
47
823
354
396
578
423
588
350
734
187
705
436
590
225
267
646
183
848
704
252
784
520
966
533
286
568
702
882
390
285
105
405
40
398
665
506
835
312
955
397
695
694
362
22
935
16
600
9
793
684
5
704
731
827
820
173
327
168
721
402
760
429
121
634
888
706
89
450
479
23
149
309
548
649
651
723
873
749
684
717
586
49
843
772
764
80
120
730
423
985
31
623
229
30
312
991
713
252
400
360
189
49
603
14
294
823
392
833
2
251
501
273
351
844
454
938
379
895
77
521
304
494
473
39
586
101
530
286
756
543
490
518
48
90
439
16
473
464
33
369
538
700
564
899
409
314
996
859
916
88
513
889
728
768
435
137
78
270
877
776
694
46
454
187
770
327
668
573
974
431
199
882
3
788
489
37
684
568
246
792
760
805
779
628
252
904
201
337
131
695
739
542
800
717
708
88
310
364
483
38
3
605
187
806
83
383
803
531
409
214
498
968
395
987
932
884
731
742
993
22
717
687
137
128
737
582
819
449
533
67
41
372
322
822
786
543
267
870
107
286
104
122
130
263
610
282
942
822
264
62
837
778
934
688
996
797
993
539
248
263
448
944
873
344
607
562
445
50
525
738
537
254
652
35
422
513
399
100
127
60
742
264
216
911
82
485
361
453
222
693
904
438
924
530
669
953
912
442
125
95
217
799
181
194
17
738
150
727
458
919
982
109
41
895
357
614
960
760
674
174
383
343
505
469
909
315
109
960
242
688
779
948
298
396
503
104
84
323
696
314
648
32
817
737
861
524
161
253
157
108
978
950
873
125
212
786
71
38
966
930
792
596
421
747
327
690
906
327
968
212
631
614
548
951
875
995
931
30
884
877
902
893
375
759
737
525
669
5
774
812
421
894
314
877
990
661
904
508
298
458
659
61
416
690
521
985
658
897
773
207
719
925
191
572
618
549
675
605
274
731
903
569
325
897
780
498
56
315
648
96
465
356
853
269
394
623
313
533
850
799
177
108
125
800
688
752
271
614
181
989
579
427
615
626
261
758
333
581
527
266
22
719
491
673
416
383
545
817
224
856
211
163
855
885
557
179
864
648
303
400
756
52
22
178
11
522
598
735
591
224
94
642
647
450
993
401
348
824
71
55
807
952
42
903
105
113
662
915
331
123
705
790
390
717
240
791
688
416
944
513
879
388
992
42
899
365
607
388
593
202
572
75
982
448
350
827
616
26
483
361
918
658
588
838
914
757
46
379
893
663
405
595
249
835
946
618
501
414
206
440
297
892
317
915
488
314
705
812
630
292
181
512
514
278
306
285
145
661
230
904
883
573
910
721
466
955
648
846
913
302
669
675
33
526
364
107
337
444
193
725
890
945
810
738
3
773
539
678
145
28
263
503
183
432
294
290
385
293
806
568
789
763
391
323
213
465
235
247
171
541
38
52
740
419
141
910
933
551
325
776
376
196
331
909
7
685
842
792
356
597
979
623
151
990
63
359
5
526
120
660
897
751
673
194
87
264
189
789
320
915
780
174
306
585
670
115
101
69
838
485
241
995
37
110
206
282
704
574
10
691
893
169
163
131
202
779
951
941
691
276
73
446
14
221
220
71
124
520
267
495
631
681
959
471
522
236
363
270
952
174
891
532
363
167
40
301
502
801
329
955
814
746
732
138
811
284
305
886
935
607
719
292
466
129
279
518
901
492
844
561
383
518
643
472
734
860
797
544
260
705
488
221
521
313
871
623
421
553
668
259
297
677
842
741
800
601
827
476
422
989
87
245
80
945
928
564
348
681
461
758
686
523
978
172
339
509
305
642
378
532
734
704
295
822
680
457
416
100
4
173
289
766
39
166
830
200
86
456
182
103
2
220
956
571
312
423
852
430
983
518
596
412
413
243
753
59
277
821
880
987
82
840
139
540
499
999
309
185
384
528
231
300
391
399
220
20
889
845
168
666
916
367
228
976
354
922
672
74
985
855
872
942
654
959
546
458
846
914
886
766
617
816
389
950
954
772
585
608
509
414
426
550
646
727
59
930
365
401
48
598
78
527
615
30
179
193
432
816
453
269
852
771
372
917
646
428
598
877
462
127
328
6
126
191
435
787
444
586
165
595
844
386
343
815
88
3
35
722
666
769
374
532
202
656
212
969
43
713
959
150
135
424
583
542
292
51
790
878
951
794
840
391
446
791
207
705
400
62
671
201
662
972
762
644
381
915
782
949
727
167
191
295
124
507
496
67
876
66
59
687
340
33
280
937
297
47
677
953
563
866
114
905
448
718
202
589
277
531
478
700
121
938
811
169
974
588
702
919
849
21
381
158
401
952
170
592
630
477
575
894
373
908
208
317
398
817
664
34
306
529
521
622
316
190
786
111
113
386
714
499
736
965
5
947
809
837
310
702
939
495
314
558
465
230
671
39
25
929
304
817
988
10
324
635
550
227
449
306
369
620
258
106
517
290
222
340
319
847
654
698
235
623
616
846
238
640
860
649
38
397
22
433
956
730
797
998
783
136
580
263
469
574
606
440
364
901
944
370
847
152
879
948
547
522
358
652
231
808
292
573
489
396
17
345
448
844
517
292
620
531
117
383
726
511
419
991
785
359
702
158
20
698
975
266
488
146
326
333
165
874
767
492
660
320
246
219
953
393
42
236
558
844
669
119
757
531
419
55
342
221
880
968
771
389
703
424
656
250
981
939
141
78
319
811
261
323
614
405
191
572
569
433
690
475
609
178
814
9
839
379
976
244
539
763
788
311
601
238
496
405
209
654
27
764
709
417
111
264
466
559
492
867
141
460
847
503
832
556
395
507
832
789
169
656
68
622
814
234
347
33
624
239
429
678
147
150
133
16
167
971
175
453
755
109
268
717
845
820
892
92
776
672
265
577
444
75
246
762
661
266
835
596
268
707
482
387
45
718
20
926
904
929
652
270
658
953
943
937
132
267
216
263
252
260
94
462
325
953
335
302
739
774
444
665
201
480
263
881
100
939
903
861
764
955
929
342
956
783
659
948
349
443
601
290
891
21
709
715
2
665
5
475
164
423
624
782
786
222
88
166
587
155
359
325
9
865
676
364
297
655
946
6
20
271
673
904
382
816
805
490
605
123
644
865
667
478
770
1
634
78
194
631
503
387
836
177
111
902
778
744
419
978
693
99
4
216
104
815
786
689
263
418
863
277
482
255
426
988
793
544
493
906
422
391
734
364
720
294
489
435
939
505
619
926
188
81
912
774
197
490
670
69
809
229
385
641
65
586
245
763
605
665
405
725
143
512
384
637
962
855
715
827
2
866
829
951
393
208
732
456
832
178
9
567
114
380
48
454
164
241
211
342
861
871
838
944
641
678
713
538
22
728
682
171
499
171
955
750
545
347
95
650
835
361
185
42
823
635
372
353
458
728
0
793
506
884
732
197
668
109
508
508
226
6
246
212
394
108
998
739
139
506
922
263
640
135
90
713
44
245
100
797
34
916
624
720
303
506
817
753
758
908
476
524
188
963
908
758
942
567
382
763
195
57
745
501
316
371
258
810
950
700
583
763
64
70
64
682
33
271
672
406
589
61
733
359
830
98
611
455
822
874
608
161
182
829
222
73
920
988
802
997
793
408
746
675
892
455
748
527
476
16
409
469
28
811
828
390
664
510
636
116
463
438
421
921
37
428
646
219
545
883
374
445
280
823
570
789
753
786
95
237
437
268
869
748
710
134
586
145
22
635
814
243
524
199
64
355
154
209
991
14
569
255
501
799
736
816
38
727
993
573
943
439
209
983
446
116
564
31
68
69
513
415
449
461
674
996
851
729
629
627
992
423
214
955
354
494
515
800
693
979
336
448
764
650
956
665
841
905
157
511
922
386
842
736
368
389
40
13
25
264
11
234
843
340
126
809
801
370
382
290
592
731
748
969
9
144
192
390
52
609
286
549
467
286
45
492
990
190
230
795
343
568
896
423
196
479
166
633
333
206
797
476
981
315
517
555
327
398
507
229
745
950
781
571
47
913
34
504
205
254
585
189
619
776
629
723
651
264
908
700
510
658
18
197
651
386
175
879
533
444
758
937
699
774
212
353
8
548
637
855
954
940
270
233
165
514
624
943
495
583
57
270
649
391
929
211
901
521
756
41
963
46
836
858
879
685
761
667
627
350
722
965
559
981
857
690
332
253
931
707
645
291
173
412
577
26
21
52
880
31
323
916
303
187
93
4
237
580
792
267
115
530
952
458
558
715
202
494
524
997
298
434
186
408
338
906
67
718
614
745
361
618
833
730
779
21
595
804
350
969
138
48
729
411
949
132
20
97
44
91
746
478
759
1
710
478
394
925
550
942
597
663
591
869
845
583
498
690
70
168
935
340
999
269
196
489
235
9
851
86
435
31
546
921
874
426
531
717
780
333
491
79
859
954
677
84
930
879
136
779
986
923
776
678
13
998
81
272
343
895
252
310
564
551
130
468
467
592
598
985
121
56
549
572
772
44
948
571
367
300
647
53
984
120
813
2
843
548
774
333
624
15
257
998
495
218
220
268
187
196
207
961
493
529
719
87
750
165
350
83
415
934
977
952
206
447
328
992
300
442
532
586
258
55
128
457
709
420
984
25
578
687
946
239
2
634
60
426
192
83
696
815
163
787
505
678
203
349
639
691
733
63
259
211
367
588
737
403
395
39
329
615
265
311
951
373
284
376
723
62
624
895
324
276
829
972
183
638
913
42
871
35
406
455
884
690
571
712
564
628
888
458
326
967
801
742
809
172
270
46
904
224
702
574
246
758
395
287
402
11
555
276
494
883
682
937
641
99
583
522
619
172
129
27
12
278
348
397
967
233
687
218
898
629
956
969
810
356
500
982
541
790
654
475
92
670
701
430
748
291
628
705
418
368
388
145
294
399
538
462
236
19
282
980
577
662
656
849
954
977
963
530
384
25
307
28
218
901
41
191
714
217
420
765
282
344
174
397
743
115
588
82
620
843
72
766
22
235
517
395
711
389
118
357
579
525
904
424
219
562
446
759
274
147
707
12
513
621
968
577
997
303
64
842
397
317
601
951
83
552
319
223
898
284
105
553
152
12
905
562
910
700
130
856
975
243
107
174
468
852
627
275
569
777
111
492
519
284
49
72
294
55
408
343
494
106
706
456
373
537
995
347
852
377
37
422
896
109
154
509
877
434
545
997
850
525
555
382
949
714
960
310
816
164
108
778
44
516
388
938
25
577
569
348
678
718
554
58
955
754
341
931
488
87
655
17
115
226
832
476
554
424
290
938
95
785
374
407
611
461
375
446
277
152
700
555
294
114
809
988
605
536
433
166
608
821
327
404
418
238
303
371
647
260
503
716
282
297
506
935
479
451
212
49
74
392
134
221
376
515
901
818
804
583
216
490
302
435
676
5
142
664
606
963
600
454
760
580
173
629
721
857
429
104
525
892
192
828
397
330
268
179
970
278
554
839
431
816
976
310
145
828
581
770
309
61
418
561
424
903
510
483
893
585
756
699
929
331
758
3
609
650
385
602
263
210
213
120
710
655
140
930
598
507
327
852
993
58
832
776
59
652
321
533
910
514
663
710
33
974
295
210
328
472
168
360
812
134
630
690
538
234
405
168
901
299
974
400
185
411
210
72
638
956
826
853
283
865
215
902
145
319
807
158
158
455
573
746
378
345
68
148
719
769
647
260
493
840
270
910
827
758
592
635
147
350
258
579
279
124
840
449
877
233
828
717
911
907
342
397
477
924
940
994
761
617
775
860
654
808
407
750
24
787
311
637
484
82
100
951
696
28
822
786
611
104
519
387
3
277
856
566
989
194
587
521
204
964
580
890
437
39
150
51
918
335
34
87
745
102
544
978
107
705
419
347
972
890
34
991
683
87
839
5
418
196
379
937
894
33
684
732
173
622
406
203
744
110
454
401
744
44
985
335
229
984
212
3
287
802
151
466
487
32
867
23
228
572
773
114
992
457
869
380
331
990
329
873
776
69
764
336
532
43
762
113
670
291
257
99
443
542
682
194
177
224
774
515
561
538
430
972
924
254
794
545
297
115
762
619
797
915
801
148
694
860
737
482
973
581
524
547
613
586
709
754
528
804
873
357
699
639
674
195
680
699
356
897
605
127
883
141
396
794
52
368
954
536
692
0
981
230
836
589
377
475
327
270
275
922
76
580
498
681
537
403
99
211
248
944
859
606
82
691
231
286
726
662
176
244
673
83
511
501
989
492
985
729
730
364
50
885
895
550
499
960
83
424
280
599
589
22
713
38
32
314
29
302
53
689
121
386
922
484
917
649
393
625
481
189
549
486
448
579
149
580
794
771
686
343
352
606
460
996
2
626
795
496
142
581
411
250
421
823
315
398
83
886
295
348
716
793
153
113
105
597
486
716
230
551
763
212
175
610
476
108
48
505
107
658
453
235
539
189
884
656
358
139
293
38
349
769
339
25
443
530
296
134
428
249
43
453
856
691
418
746
273
537
589
536
98
760
113
935
590
364
86
450
945
202
6
230
387
205
26
967
910
756
597
75
805
247
932
851
806
503
55
409
63
293
945
56
521
212
400
39
601
690
496
538
342
374
795
786
64
313
689
100
474
527
696
57
752
769
200
864
634
147
358
908
710
351
834
63
966
154
85
151
51
456
521
6
33
299
247
331
560
77
895
926
7
834
667
31
479
524
394
172
304
960
743
933
739
833
136
815
789
892
625
825
749
167
933
775
704
153
471
530
684
935
922
269
160
696
974
714
791
485
926
334
645
812
253
176
647
75
392
403
283
131
751
323
36
677
703
348
236
800
169
975
400
492
662
419
114
432
527
3
142
664
960
168
305
730
25
992
407
501
640
549
380
173
237
171
423
890
50
721
904
72
124
520
376
513
941
808
855
642
411
775
15
793
373
862
543
106
269
705
447
617
863
628
79
320
571
229
727
272
904
9
859
840
787
761
545
609
613
746
342
519
775
185
843
926
401
921
599
157
908
553
690
469
764
313
878
334
343
750
26
211
898
512
671
590
987
849
556
239
277
41
695
558
503
964
374
327
570
496
969
336
562
252
599
725
61
593
989
257
610
88
440
149
129
760
799
154
678
54
888
329
407
428
932
428
601
208
788
250
580
40
973
204
498
9
226
711
695
779
170
511
725
944
553
24
137
172
162
530
526
182
580
946
294
601
224
318
527
756
797
524
198
279
333
337
753
961
903
434
421
430
268
232
666
698
860
61
307
49
132
667
34
234
324
105
996
650
545
445
987
694
425
122
238
782
654
595
136
130
820
358
830
857
15
26
502
743
232
150
650
595
492
639
105
827
982
501
487
69
727
472
379
676
818
346
623
639
435
653
694
877
467
270
284
52
517
887
923
506
745
280
208
805
467
193
590
778
958
775
5
137
720
727
856
636
440
273
922
86
643
576
442
528
893
866
473
218
850
458
112
126
680
237
906
866
561
829
447
475
582
301
700
279
713
369
879
394
739
340
766
240
393
200
178
790
875
327
597
523
794
169
625
118
512
383
71
923
87
980
862
53
840
668
63
14
196
595
494
719
113
148
902
690
987
731
340
297
623
865
621
358
888
597
776
866
413
921
95
728
172
827
96
356
648
434
150
285
136
505
685
957
624
565
30
751
587
126
679
744
203
507
780
333
33
163
802
176
414
695
136
846
763
54
608
269
88
492
597
878
409
124
163
748
753
622
275
640
294
209
844
842
65
482
740
660
219
902
474
627
134
547
32
477
972
547
482
716
808
543
42
268
298
922
885
331
704
0
662
613
282
27
197
876
897
913
744
230
609
679
24
257
821
844
837
771
314
463
810
608
525
247
264
731
817
889
498
617
19
364
226
467
876
234
193
310
990
81
4
354
258
697
487
804
901
163
521
335
813
757
300
863
733
815
409
749
651
523
479
31
424
858
274
659
533
825
442
434
740
85
389
497
696
348
969
119
47
522
757
345
819
728
798
290
820
682
298
213
740
883
835
846
366
398
368
46
84
993
968
112
208
939
145
422
673
632
618
376
863
970
358
530
343
719
384
398
833
799
583
476
974
344
205
917
529
972
395
556
432
778
344
584
634
920
737
691
453
56
107
893
332
992
291
931
99
808
662
173
558
187
671
130
574
699
482
552
615
352
663
997
157
943
177
498
364
781
767
466
343
507
356
43
445
673
694
48
252
59
318
589
79
748
85
474
776
359
362
454
956
464
498
103
524
378
416
454
549
592
734
759
179
528
497
931
21
898
417
634
475
230
938
701
435
217
564
397
36
52
963
814
51
182
279
765
957
905
171
740
196
829
672
213
657
937
875
815
640
455
936
863
530
128
71
910
14
413
956
271
993
531
966
116
731
995
896
808
249
101
198
733
318
686
872
863
268
502
767
184
359
911
118
641
306
807
160
550
312
448
110
840
14
846
737
988
918
23
728
822
459
700
306
267
6
687
786
231
720
251
836
566
484
247
393
411
273
170
571
654
199
459
444
295
239
878
918
110
285
402
860
989
286
646
131
341
115
794
356
747
523
991
789
482
263
858
583
553
227
616
770
994
546
751
228
398
449
845
592
165
373
563
646
985
579
520
449
13
954
526
773
629
626
799
795
554
136
963
197
237
770
755
770
726
722
909
580
544
665
753
98
409
622
441
77
119
613
548
287
532
670
627
93
47
232
85
954
215
928
54
230
551
108
89
203
260
204
536
147
250
451
70
402
737
666
374
431
982
541
821
571
848
76
998
332
284
143
759
256
250
825
155
403
211
664
49
222
498
328
778
685
5
103
202
522
310
615
552
114
793
104
19
313
820
435
723
460
91
491
775
329
821
653
137
313
464
791
47
859
969
328
466
242
317
36
674
548
819
261
606
509
589
738
857
684
836
284
454
193
478
283
801
740
379
284
624
15
210
534
926
566
432
482
230
822
600
232
165
462
763
115
842
88
922
325
176
260
743
43
348
653
685
643
353
304
631
899
741
542
384
958
447
356
171
140
308
88
688
95
309
958
775
401
143
37
709
991
859
595
950
266
450
69
301
481
780
993
678
263
406
714
807
725
925
142
571
631
448
420
791
813
38
554
189
914
412
334
981
305
718
759
914
337
872
878
978
361
506
536
711
605
263
468
237
159
349
336
154
459
139
524
241
982
293
905
302
296
178
981
441
514
846
696
490
247
3
295
277
904
644
430
438
885
340
427
879
185
266
252
684
112
949
93
422
165
57
400
254
938
648
639
673
141
660
37
736
540
270
866
374
668
376
255
290
870
339
483
591
834
370
67
718
717
132
664
277
125
648
298
37
488
484
425
412
130
649
738
383
277
409
167
181
513
364
748
982
308
140
435
41
857
132
601
958
40
541
550
939
133
83
303
95
975
688
726
697
58
308
437
637
671
74
969
407
816
35
422
75
882
411
675
36
881
236
803
986
35
530
847
472
132
319
225
740
77
130
299
748
725
71
205
614
477
948
468
988
103
736
389
167
297
138
261
439
354
867
534
779
715
907
540
68
701
916
377
561
12
654
264
997
757
247
740
274
884
805
896
376
689
634
572
878
755
946
892
626
741
576
788
686
669
857
865
439
289
63
634
391
171
762
739
58
281
531
581
88
865
72
330
342
155
549
821
819
727
682
75
499
749
839
714
439
377
841
873
793
840
253
665
625
196
880
449
904
16
995
924
833
905
496
925
306
479
450
533
790
560
159
147
804
964
994
801
776
777
731
262
846
891
987
588
165
639
402
415
664
976
628
905
603
619
991
24
808
613
936
323
663
514
554
782
321
320
984
463
908
358
566
269
397
792
831
157
621
38
803
904
620
123
994
315
896
565
247
886
522
541
422
457
653
298
961
468
498
72
148
117
717
785
332
65
990
290
625
14
477
252
540
284
508
33
827
872
471
863
602
447
808
214
706
809
809
954
186
264
535
826
503
917
377
871
490
122
313
545
725
843
971
48
196
451
12
157
110
134
100
486
169
9
629
218
134
986
31
253
877
94
821
972
592
286
283
361
852
168
758
647
477
436
803
381
684
902
992
239
2
904
194
644
118
833
438
982
203
487
100
939
586
244
568
889
979
635
371
922
531
467
842
958
545
782
489
606
26
987
219
183
550
331
481
648
595
113
42
648
970
733
881
822
168
787
807
111
830
239
100
725
670
467
353
335
288
331
245
50
66
474
102
698
241
35
467
749
436
326
646
7
888
893
783
254
849
356
9
145
628
333
732
424
232
595
50
397
46
308
983
28
167
84
885
675
986
419
72
392
138
764
71
362
46
664
923
298
203
386
938
556
717
803
846
603
366
341
224
209
911
842
699
537
158
589
394
307
410
936
660
90
991
192
148
124
101
699
554
889
957
806
802
844
95
171
112
245
808
446
69
611
453
347
102
110
866
407
960
875
616
394
958
99
225
6
328
881
798
472
706
32
170
403
15
961
340
882
902
793
610
32
714
2
687
471
40
472
400
897
769
575
694
182
628
544
749
379
427
978
346
385
153
5
986
292
64
532
869
335
831
468
421
961
852
482
371
645
822
627
770
928
956
973
963
309
95
943
180
614
293
338
61
538
903
108
512
962
445
990
338
508
304
75
221
82
680
767
2
290
348
576
416
415
840
90
617
338
852
478
229
186
615
96
474
126
375
225
763
502
996
670
721
750
565
386
387
319
52
966
634
344
276
354
283
749
35
356
891
789
5
819
747
617
769
39
234
642
734
180
222
149
171
784
725
684
359
614
532
203
486
571
921
315
143
780
965
125
756
431
147
468
988
102
484
94
144
978
137
396
787
435
65
331
761
355
203
395
284
667
414
730
156
255
946
190
127
922
4
434
586
548
949
544
904
102
885
136
194
858
532
294
836
848
409
987
620
626
576
638
245
970
225
686
149
919
68
853
133
108
730
135
512
391
179
825
600
728
566
22
6
919
305
610
529
606
661
311
795
429
141
957
401
209
373
145
738
988
467
63
382
487
497
432
186
750
161
272
994
9
404
770
818
970
540
742
123
480
396
16
483
694
532
76
976
291
177
68
756
860
156
124
323
525
250
926
353
601
774
420
335
319
664
349
749
801
446
621
249
68
529
967
560
847
590
91
998
816
894
132
849
590
549
578
50
270
595
915
394
339
326
729
119
186
407
8
164
911
455
174
71
265
568
551
532
212
82
471
796
91
574
783
307
411
26
240
560
246
736
843
376
108
772
931
439
671
980
551
857
902
47
833
819
840
968
73
626
859
609
417
769
695
949
237
378
185
249
509
104
538
545
315
697
687
76
657
718
716
149
842
332
668
741
815
688
799
807
500
828
876
977
602
14
293
148
853
655
727
388
151
181
415
165
918
165
109
599
712
679
493
737
626
345
838
606
516
199
307
612
861
911
914
664
832
133
38
954
159
434
36
158
4
421
938
964
208
81
576
850
562
970
386
247
935
661
675
405
582
321
938
713
764
357
648
159
859
525
272
458
532
739
101
837
993
253
904
906
53
863
553
473
704
177
792
439
885
671
888
431
878
624
84
572
862
336
954
140
861
464
218
326
950
42
335
924
334
143
779
959
289
152
580
299
931
131
821
780
686
427
84
1
703
962
35
54
932
451
13
322
716
640
451
794
262
168
321
827
446
535
908
90
210
391
933
743
423
148
645
207
157
920
734
994
240
597
597
503
591
362
572
781
684
605
371
864
138
505
575
604
750
422
929
57
340
379
505
375
328
518
595
493
378
931
644
518
107
217
916
175
555
314
974
259
82
351
691
737
101
944
260
632
173
275
168
435
217
627
629
27
850
531
701
495
63
302
561
726
629
194
70
384
192
523
658
958
191
299
422
790
527
673
166
476
736
847
473
327
250
966
216
545
752
290
44
775
159
18
55
90
571
428
91
964
537
173
239
774
347
235
790
75
655
154
637
856
49
499
490
386
36
349
231
639
995
748
301
51
482
937
69
727
101
846
977
105
499
889
636
955
717
757
854
100
171
306
289
183
314
217
631
580
852
111
386
632
863
437
421
852
542
677
703
363
359
386
938
901
972
867
511
599
587
214
105
824
939
614
6
747
673
852
422
866
269
931
361
210
156
399
475
536
991
811
250
766
854
602
209
283
732
61
737
639
832
465
527
657
587
211
356
573
202
243
296
800
990
173
248
299
588
468
963
288
689
779
746
115
656
596
451
979
828
686
716
260
208
783
86
374
166
365
534
574
306
273
635
175
496
807
155
529
544
3
638
963
830
417
48
680
797
136
438
150
397
879
431
631
668
1
687
851
590
954
93
438
348
211
999
217
443
611
513
562
296
886
385
876
23
438
823
14
88
27
486
669
713
870
350
566
301
540
236
197
316
249
837
642
127
585
352
981
178
169
341
735
447
929
651
401
552
475
310
879
24
197
870
682
905
746
131
799
165
316
61
855
899
675
310
117
744
726
793
17
983
232
201
307
670
779
744
369
990
273
274
977
329
539
251
511
366
187
831
281
757
746
246
576
716
169
638
235
859
305
824
366
509
473
496
929
775
58
7
720
998
411
873
291
682
839
184
267
873
673
763
977
906
275
846
799
86
735
100
656
805
359
23
248
919
85
606
784
838
462
748
64
364
637
430
788
388
717
480
299
553
571
39
113
470
931
834
117
270
780
201
107
668
478
456
406
886
611
413
38
759
196
537
259
871
112
594
941
467
583
906
423
871
150
893
336
626
632
425
410
650
772
199
937
399
105
2
476
676
264
25
455
169
371
81
491
148
722
804
843
8
652
720
781
730
486
549
908
20
36
690
211
530
929
389
162
480
753
562
892
956
781
764
852
924
860
856
261
376
450
48
911
427
752
699
667
714
655
34
746
494
180
352
975
157
985
791
134
540
691
102
280
236
813
969
321
79
323
349
948
718
981
656
553
912
557
444
925
233
46
126
764
940
728
873
629
545
197
561
256
269
735
353
733
200
336
575
739
144
952
893
613
452
20
625
41
888
616
170
755
799
737
472
333
539
575
723
902
328
366
714
430
610
440
858
922
203
785
842
880
644
707
865
151
782
140
936
539
949
770
759
557
665
508
388
159
405
708
499
650
959
303
37
157
25
776
833
868
53
50
982
515
694
195
915
195
449
945
161
211
172
314
886
765
392
35
755
756
528
885
959
255
48
274
208
318
634
584
812
699
995
111
595
673
505
116
677
690
263
519
237
204
2
940
680
769
751
496
208
479
729
261
471
54
355
974
79
533
482
969
937
960
327
915
987
978
706
237
130
861
980
111
258
395
36
496
285
508
282
478
696
961
374
824
18
263
344
801
283
695
38
686
276
89
142
174
886
629
909
660
323
123
757
85
363
36
694
458
174
205
73
992
122
967
357
488
213
347
927
291
110
706
47
625
880
891
976
247
63
576
552
393
709
726
739
630
134
129
995
33
883
999
990
720
213
732
931
898
628
235
767
529
918
603
399
546
889
396
213
485
686
268
412
12
126
364
307
286
982
751
395
459
530
781
723
91
376
722
248
819
647
877
887
462
348
597
889
229
538
801
201
530
714
403
865
368
239
15
679
364
463
327
216
318
541
900
896
853
898
787
814
115
41
296
389
522
109
361
972
497
324
218
894
946
45
117
779
715
957
615
953
741
778
203
473
764
776
869
748
229
889
768
848
379
323
71
323
47
467
404
191
137
650
895
892
384
533
794
393
592
521
439
349
69
741
571
779
964
695
478
31
796
759
297
624
527
530
724
577
819
459
66
835
617
529
57
477
688
289
547
374
246
379
239
172
741
488
344
263
87
525
197
159
729
143
73
806
729
854
755
539
773
573
688
648
230
609
247
297
881
862
870
315
264
472
990
497
811
874
54
165
637
550
607
538
788
511
792
543
481
589
820
186
407
364
160
58
518
262
327
82
197
769
184
82
157
205
443
214
368
392
843
625
574
397
335
445
406
87
446
379
775
713
679
993
259
433
106
504
409
180
369
646
213
752
938
252
123
70
115
657
117
66
677
66
114
376
204
899
140
75
98
716
33
735
750
963
889
443
805
705
763
473
398
908
662
337
936
359
739
40
812
933
746
441
301
677
983
333
520
381
955
751
494
749
757
646
505
141
640
461
722
393
507
966
813
434
236
428
131
733
570
100
840
634
74
624
241
888
897
162
273
239
79
836
960
498
382
574
396
419
199
897
97
559
362
429
539
958
798
284
204
239
731
331
843
391
59
547
831
325
241
725
34
973
129
344
871
845
766
424
204
171
288
270
20
316
93
520
24
257
240
461
93
257
631
409
567
953
190
21
682
787
282
573
909
972
654
350
350
275
89
187
848
876
481
774
341
697
528
774
349
92
538
823
92
550
584
805
434
322
716
898
429
332
623
990
876
453
361
619
926
151
213
763
571
133
168
681
658
866
652
638
13
655
406
618
285
36
61
724
922
773
157
434
619
266
632
583
161
588
453
811
972
903
875
623
677
411
878
202
150
683
147
431
29
643
477
154
709
771
951
123
37
52
678
539
557
413
605
667
229
831
332
221
857
913
668
795
183
977
864
240
449
700
582
346
903
130
345
231
276
794
654
194
257
909
876
960
851
348
751
668
916
762
885
809
58
697
488
367
804
103
930
108
482
475
837
651
183
603
405
155
373
156
567
943
47
116
77
726
744
863
22
489
95
123
853
665
541
397
779
961
410
823
1
264
260
22
773
754
456
835
280
250
203
204
180
815
904
911
4
291
108
56
471
842
590
28
696
345
175
328
759
486
891
935
774
951
545
767
279
524
961
752
221
149
115
418
465
117
270
930
681
529
40
333
688
88
313
722
239
776
396
919
276
365
238
43
46
343
717
956
804
960
887
703
437
997
915
598
845
190
60
961
722
180
776
694
515
386
268
30
156
932
308
636
690
748
77
492
276
109
429
984
706
145
210
282
738
48
602
667
236
982
681
508
727
374
756
460
405
982
492
310
242
588
856
669
336
307
537
695
296
382
997
151
842
702
622
594
3
290
968
802
837
442
831
332
409
108
28
68
736
756
144
375
561
976
591
534
747
201
868
877
651
391
837
657
872
875
975
554
621
934
560
173
79
580
603
797
694
780
951
256
11
53
273
149
2
494
117
96
656
221
446
173
931
425
408
797
275
637
565
687
328
24
767
626
188
898
367
830
680
435
168
839
757
13
306
849
432
684
895
922
280
384
828
745
969
48
570
276
187
596
237
813
42
774
317
491
25
562
141
920
170
543
411
208
25
676
344
29
64
528
50
584
66
732
941
266
871
735
454
52
176
58
738
404
937
785
157
972
666
918
800
245
366
574
340
553
806
551
563
781
856
902
921
9
118
779
513
148
901
377
905
157
275
511
5
908
883
613
29
92
990
258
766
10
485
510
307
472
343
562
875
604
114
417
249
130
861
530
762
626
178
644
724
861
181
771
626
747
430
392
740
967
570
807
907
214
107
757
178
778
293
540
949
294
582
904
737
168
201
874
210
68
344
455
40
906
252
949
61
113
199
287
630
443
397
527
698
977
777
250
216
595
526
860
592
261
577
194
318
353
203
213
807
898
832
937
188
499
975
440
326
209
763
663
43
806
167
157
243
783
402
774
310
305
809
425
275
435
135
129
674
16
788
564
449
237
671
629
468
350
606
631
236
852
627
435
204
882
182
112
770
494
785
4
390
984
265
820
928
700
985
163
837
611
638
316
814
893
278
934
728
507
224
528
702
625
818
717
922
736
431
672
989
39
698
262
215
346
524
659
434
493
415
726
120
114
704
499
982
73
578
647
976
336
273
377
131
912
594
458
691
761
56
165
11
809
94
782
982
265
364
825
187
602
147
870
149
672
481
769
692
414
848
886
968
809
427
445
435
237
591
755
328
811
578
165
765
935
308
76
203
860
555
511
418
712
772
827
282
382
162
422
346
8
566
618
835
255
534
300
112
552
874
216
101
275
600
447
814
202
742
976
33
250
980
341
243
818
315
477
903
287
122
983
938
428
554
704
632
961
682
417
989
374
732
488
517
806
723
412
767
894
827
778
34
318
233
178
658
162
810
755
354
808
1
380
334
441
450
322
465
612
250
306
167
371
467
321
261
408
111
304
389
243
534
636
200
13
851
690
623
970
928
342
653
322
992
451
411
478
59
239
360
784
869
859
987
856
177
611
525
88
497
358
809
829
25
102
433
513
722
572
185
514
420
88
807
31
19
60
868
572
920
782
405
595
142
258
619
456
976
484
688
186
482
938
288
570
119
965
179
889
827
388
577
786
986
324
219
531
875
865
692
666
197
830
195
978
657
576
965
572
259
323
715
840
661
223
275
214
974
617
238
121
160
449
528
799
382
489
453
975
701
503
615
795
788
531
36
739
199
664
620
50
407
439
481
877
170
855
529
779
743
546
320
325
90
6
163
848
759
815
285
174
732
564
149
61
800
458
712
507
133
392
437
872
315
710
441
281
461
201
98
990
284
837
297
863
567
157
125
30
337
28
616
904
766
648
508
915
46
455
374
705
831
466
194
233
356
295
200
823
527
286
718
407
1
374
703
775
665
115
458
673
833
384
92
491
230
432
490
256
53
83
33
254
991
617
242
178
800
109
191
525
459
900
788
698
526
544
930
436
976
825
899
917
981
638
137
682
577
652
406
417
148
275
970
707
889
111
823
216
450
139
960
47
597
428
69
250
19
123
540
895
259
716
208
983
738
350
225
618
135
612
947
81
713
931
3
453
831
40
199
472
952
436
908
334
522
225
580
732
175
151
680
680
965
694
470
140
418
72
40
404
984
720
228
528
310
610
777
927
827
175
782
768
836
211
381
144
4
187
813
144
906
152
373
893
755
343
469
133
819
409
869
72
354
809
773
59
646
954
136
550
175
619
796
657
224
699
675
998
803
355
702
912
222
209
277
905
671
115
226
735
881
525
103
415
863
756
599
979
577
991
389
412
87
539
787
268
899
451
969
871
365
896
496
75
74
769
944
146
855
890
713
638
806
710
914
345
537
864
783
886
123
199
607
555
991
463
565
406
896
262
898
298
232
209
420
143
668
415
234
298
556
873
171
406
514
729
811
252
664
793
980
30
155
871
404
489
508
174
287
355
899
39
304
523
949
863
300
972
623
764
488
590
146
657
48
813
196
402
466
328
30
615
38
392
64
687
681
603
442
595
335
264
268
659
649
364
768
112
367
307
36
785
878
404
657
609
111
63
547
179
451
524
34
21
60
373
961
454
76
89
162
235
829
173
542
350
998
756
393
312
154
956
829
125
803
519
852
496
890
826
275
502
440
70
285
210
43
50
307
527
520
884
34
569
480
90
188
93
471
474
740
559
919
464
65
702
265
393
456
302
944
869
817
642
794
975
482
437
259
640
521
804
543
586
974
188
770
632
574
593
709
352
534
50
838
514
422
53
479
273
600
197
128
107
888
59
810
937
458
183
66
788
700
523
526
80
461
236
754
549
736
773
470
848
863
514
678
292
6
683
203
766
407
961
805
217
974
176
907
660
32
890
36
999
415
52
451
441
591
657
422
97
772
483
48
448
293
851
792
94
649
800
358
121
523
707
933
865
248
956
260
19
662
763
910
632
80
157
841
337
515
867
223
105
1
552
658
609
811
747
95
220
291
897
394
235
650
152
839
795
698
416
242
968
227
251
416
115
853
460
790
466
610
591
127
409
535
983
207
123
607
372
870
796
631
896
816
617
50
226
45
117
597
916
848
550
910
184
960
354
30
457
732
810
561
204
43
225
939
514
173
535
116
260
28
723
554
757
655
237
416
884
927
767
423
544
823
723
590
584
936
11
560
364
130
575
672
364
584
859
101
143
791
156
376
465
288
620
274
421
660
795
371
130
316
617
996
669
620
73
966
876
289
158
357
136
706
12
964
279
545
330
34
155
859
371
799
192
817
51
80
310
706
943
829
404
863
542
957
75
71
353
51
450
882
530
481
485
627
98
623
473
626
890
229
758
943
765
525
334
780
14
23
838
975
14
580
548
920
831
734
429
568
157
802
316
985
226
303
403
498
581
2
5
744
17
853
528
898
370
131
351
120
373
724
89
166
276
534
201
250
721
725
65
360
29
593
431
559
761
5
980
380
471
2
20
81
625
349
425
505
172
57
789
924
330
6
15
633
496
688
515
965
966
905
476
344
710
733
499
756
203
761
288
990
218
739
394
707
791
273
777
307
228
723
169
414
972
635
770
601
67
103
863
531
745
314
593
846
245
619
955
781
148
225
426
937
950
476
854
137
801
746
86
333
360
721
329
521
62
552
262
790
306
434
973
351
908
271
300
883
347
925
462
665
106
864
697
551
579
630
292
307
664
412
81
804
532
838
767
895
75
537
641
348
428
660
687
319
130
830
62
919
624
234
13
649
511
271
227
228
128
253
164
178
681
628
997
777
661
740
811
41
827
747
386
451
493
74
618
489
433
803
73
658
820
314
799
780
589
208
954
513
572
778
379
47
610
800
350
756
279
1
145
492
460
393
538
482
551
946
46
514
316
881
742
13
114
20
425
574
457
169
811
748
60
487
894
740
894
474
475
890
912
455
391
473
109
846
295
651
940
640
109
829
388
681
818
914
921
365
755
441
361
215
792
600
295
900
438
169
888
192
26
593
934
403
786
67
679
871
182
542
293
575
990
859
878
430
987
781
839
52
625
29
632
210
578
496
733
819
184
686
411
221
887
393
161
531
829
240
648
295
576
186
496
448
994
257
60
704
641
120
709
875
84
732
149
820
506
321
99
905
627
321
926
850
196
144
43
112
90
401
839
220
64
470
535
43
149
159
209
862
676
784
262
778
814
779
148
947
652
743
405
476
109
92
114
357
230
814
261
14
890
777
50
881
874
547
468
92
906
79
78
306
931
19
560
176
500
346
585
139
361
525
64
551
247
831
821
806
131
133
327
907
505
856
461
292
190
657
39
193
964
938
599
277
635
564
209
573
939
932
364
100
210
980
565
522
820
937
404
10
0
200
259
312
770
17
446
503
240
283
280
738
462
149
538
272
820
997
537
182
28
811
244
386
490
898
759
913
471
289
796
406
287
254
871
603
182
816
575
211
476
54
667
144
298
263
2
669
179
797
747
114
48
412
902
144
50
773
557
431
760
206
280
568
297
771
622
856
851
696
137
970
239
358
646
989
839
575
905
396
101
287
813
653
865
977
911
618
204
349
510
189
557
789
81
302
124
549
731
733
707
966
253
417
92
249
658
441
154
849
668
253
556
999
797
8
189
802
24
299
171
405
246
483
878
823
862
739
949
46
327
911
476
518
5
872
490
391
357
802
82
474
539
540
449
508
527
561
741
387
626
244
822
927
23
896
669
32
932
129
581
343
50
175
825
499
618
689
170
42
874
308
182
858
414
145
874
416
503
549
988
341
292
798
550
429
137
186
164
606
48
665
652
411
63
520
195
131
284
51
519
849
609
32
724
647
688
930
990
35
764
349
144
104
608
758
795
927
242
338
138
474
683
139
184
78
74
312
415
521
173
612
316
101
781
182
892
426
828
67
660
613
750
22
721
343
38
118
625
889
924
962
535
528
277
37
188
570
130
27
388
187
679
713
793
317
349
493
545
598
992
909
763
282
695
576
21
0
157
100
685
996
610
754
807
381
134
701
480
115
523
303
121
345
305
149
0
160
505
146
625
114
37
406
371
495
645
440
465
772
53
80
145
687
555
464
747
408
129
140
618
980
285
969
885
787
952
235
604
216
108
593
743
870
407
501
615
362
321
829
360
990
232
690
430
157
266
219
495
936
659
614
535
837
363
732
730
844
870
7
561
339
494
747
204
744
825
597
477
45
601
249
161
314
905
135
826
147
766
967
674
276
686
230
700
518
198
934
202
815
949
605
738
937
74
113
169
392
449
359
579
969
413
354
27
97
543
639
124
492
943
151
479
273
308
954
661
831
99
573
193
329
637
308
391
594
82
950
437
679
690
90
82
73
440
947
118
18
987
344
5
899
328
504
379
327
275
274
922
469
770
402
739
177
252
686
180
686
516
978
146
781
73
326
396
761
407
352
960
177
564
635
517
976
111
774
459
179
31
237
551
45
294
540
29
589
782
499
985
339
232
959
21
77
6
59
585
869
248
42
942
247
517
84
626
744
640
123
894
423
807
930
34
672
972
556
938
617
64
268
264
776
3
748
778
789
438
621
2
672
825
998
610
346
381
26
357
108
867
259
763
967
588
814
643
473
360
776
978
47
737
938
946
927
750
3
122
920
786
234
192
293
93
783
741
282
930
34
804
760
919
859
882
364
619
543
603
59
436
161
709
186
181
719
532
88
303
245
437
787
131
604
699
286
441
663
270
231
247
899
19
388
677
463
800
515
876
845
94
789
39
620
131
477
800
210
829
72
526
842
544
366
80
164
609
746
614
808
624
402
200
248
241
735
977
960
483
448
231
797
493
574
975
20
774
278
223
10
375
217
923
243
209
729
27
547
160
977
827
999
40
955
694
977
616
120
618
414
439
434
869
157
727
518
67
784
233
840
836
783
610
909
166
345
299
956
355
545
457
160
464
874
548
196
397
824
351
643
499
144
621
599
562
738
514
57
736
407
495
856
872
369
899
937
250
543
269
218
68
967
353
144
491
643
494
57
2
655
656
495
381
87
591
817
513
666
784
393
977
385
976
129
877
685
67
419
206
633
356
619
985
68
625
959
80
793
823
62
380
90
102
875
850
803
758
195
685
898
532
152
248
342
950
141
187
229
109
151
434
800
101
616
963
118
358
949
485
399
65
542
672
318
606
378
438
909
733
198
777
414
371
256
19
100
750
770
326
998
405
32
454
197
763
818
808
673
983
572
882
79
228
49
516
552
695
359
514
826
931
124
385
787
309
420
57
616
895
217
283
255
84
283
189
816
217
854
149
562
969
682
970
914
917
384
965
951
418
327
33
438
280
129
330
474
543
764
145
482
487
416
248
865
375
54
348
142
405
455
876
973
120
83
203
92
672
728
653
844
583
852
892
591
664
879
364
378
645
34
379
122
517
566
5
146
531
330
50
53
423
936
583
309
15
919
625
202
242
975
108
683
254
122
168
731
135
488
493
694
326
187
946
337
410
505
335
582
948
941
239
859
239
719
874
978
733
853
216
367
79
522
458
693
668
895
734
197
498
693
832
20
315
976
353
765
185
690
872
689
725
103
410
696
214
717
647
78
936
572
696
176
216
518
348
228
350
624
64
947
966
775
77
310
840
702
123
413
628
632
163
254
430
329
712
18
22
513
303
329
303
144
704
252
693
416
699
965
757
24
689
687
662
264
846
787
300
568
418
810
770
807
799
141
283
615
601
792
82
981
259
232
869
826
346
523
102
957
808
335
367
587
149
684
873
166
452
900
244
291
479
881
224
849
687
778
397
938
405
118
81
755
862
380
664
295
683
323
534
38
848
758
910
864
92
219
609
766
311
546
474
99
722
288
975
683
469
146
926
435
342
577
274
598
843
574
465
615
552
629
333
91
146
484
920
472
940
499
161
221
429
694
477
306
520
37
904
500
326
22
630
46
579
331
776
449
973
122
275
406
522
310
313
702
958
60
519
913
497
726
473
180
850
868
443
622
366
223
939
274
757
472
143
884
963
473
451
884
902
527
808
608
163
207
857
556
841
275
429
12
743
140
406
326
210
427
730
249
695
509
874
563
120
473
570
501
428
518
506
172
297
65
656
807
846
911
326
339
76
516
695
988
181
42
648
523
568
864
632
199
652
614
577
891
335
194
419
132
96
674
437
111
705
345
252
766
257
81
459
19
824
500
746
537
444
173
613
608
823
604
829
863
595
477
780
371
0
50
128
581
177
449
780
842
588
825
815
115
852
279
513
587
204
649
880
401
143
143
415
371
183
174
684
649
256
202
648
994
973
474
968
658
39
513
189
717
362
131
428
158
251
922
597
126
804
302
977
263
14
987
292
382
562
505
236
377
151
721
345
549
372
653
730
906
847
873
746
765
970
1
710
979
946
782
910
35
47
645
107
611
437
770
6
952
536
635
103
810
404
22
1
497
514
414
493
252
955
517
365
489
850
753
804
607
289
166
268
472
957
570
5
475
596
109
690
926
366
219
987
189
315
155
380
734
419
275
168
640
770
79
995
355
875
135
604
823
634
289
187
917
528
51
918
871
794
221
735
383
56
171
619
986
491
630
642
126
542
26
453
610
570
945
64
822
774
583
548
746
983
128
7
435
355
37
262
405
402
712
763
15
12
430
81
186
312
601
581
289
230
722
126
105
939
811
677
800
57
790
721
597
351
384
880
300
228
478
796
218
229
185
764
232
328
20
900
54
854
716
504
499
350
220
759
899
671
20
508
861
195
897
298
405
587
803
66
148
203
498
572
263
448
79
961
757
790
484
875
594
400
819
363
555
126
45
918
333
408
288
562
418
334
668
515
147
376
108
182
875
669
605
451
310
751
855
949
270
629
529
555
598
806
472
805
800
874
760
3
7
821
708
712
935
394
333
823
992
463
157
485
538
445
823
654
147
771
919
959
941
185
771
863
342
940
2
798
879
747
608
518
733
234
897
42
316
31
267
481
706
425
254
578
917
113
111
590
54
788
929
911
680
341
938
196
227
803
673
721
517
423
899
402
929
680
588
399
527
125
506
58
846
723
136
530
380
590
811
443
589
830
267
856
30
576
607
541
284
215
508
952
404
619
74
830
216
461
267
805
565
616
467
378
797
378
818
351
932
504
960
563
307
866
742
557
874
467
288
49
303
827
652
856
326
452
582
876
332
414
462
872
817
262
342
866
776
386
17
709
164
204
440
150
954
220
787
102
170
122
193
812
609
786
666
809
971
890
899
456
608
992
44
493
782
98
532
915
558
864
957
651
536
581
634
272
24
199
647
38
7
485
865
650
684
389
898
189
882
705
144
64
776
803
724
95
416
317
877
460
303
786
980
622
319
889
20
795
774
545
866
755
778
318
659
45
906
667
691
625
404
138
403
958
953
291
779
982
576
831
799
178
38
576
966
812
116
270
228
401
610
101
569
230
953
719
519
46
726
588
554
911
757
895
179
814
265
551
534
256
496
296
435
206
12
718
940
499
102
24
996
986
192
23
817
373
10
182
834
579
816
614
899
442
118
261
559
728
403
324
374
942
197
273
228
841
55
20
63
229
414
819
933
21
805
569
223
193
273
781
697
529
391
385
268
696
455
797
286
988
990
534
298
276
16
97
929
569
185
590
434
988
641
885
866
913
915
2
762
165
587
353
834
564
50
323
420
439
780
848
277
922
237
618
380
158
268
921
121
728
933
166
495
663
368
578
907
478
783
50
470
135
991
942
806
31
906
538
727
958
977
112
511
686
411
804
366
863
187
262
593
435
301
247
642
714
975
251
485
198
835
116
282
392
890
628
568
770
314
513
364
164
585
192
633
939
627
204
477
590
589
854
643
833
939
774
133
817
828
846
709
694
493
162
136
864
247
143
652
756
480
159
303
614
298
583
658
727
821
463
362
42
857
203
499
590
817
416
211
374
106
405
57
357
415
916
847
135
187
378
695
782
675
832
26
336
677
180
277
233
498
940
701
782
688
454
237
478
688
524
331
240
634
702
21
760
25
3
658
421
455
961
164
608
568
610
645
902
133
960
327
805
136
137
749
460
116
368
664
616
691
327
944
789
826
819
498
124
370
442
572
915
621
795
115
282
777
617
305
496
567
312
497
566
167
29
457
835
784
7
306
728
810
25
146
861
560
472
845
147
728
4
85
70
673
617
281
793
65
370
781
64
556
312
789
927
741
43
397
277
990
129
284
763
87
893
884
73
778
30
491
870
335
479
726
364
435
242
987
904
569
49
236
905
827
733
259
683
611
896
703
212
55
990
400
466
263
591
20
68
541
698
420
403
682
635
211
672
230
751
526
791
28
963
808
864
596
329
786
322
580
450
442
478
678
596
937
374
651
702
466
61
18
539
532
619
720
367
303
23
917
224
441
551
288
363
625
835
726
804
226
482
15
826
429
399
638
888
756
722
92
661
620
182
806
265
551
890
288
579
66
124
950
488
762
644
395
312
104
843
139
919
856
708
476
507
969
450
449
505
928
791
786
194
658
138
192
37
793
675
905
397
7
511
345
363
949
534
122
272
411
559
744
100
977
822
274
897
735
899
21
519
560
761
867
662
482
147
117
84
929
775
394
37
442
107
379
647
833
420
719
551
911
784
755
735
952
689
983
204
624
907
284
143
94
170
622
560
88
20
687
188
366
456
521
495
331
257
933
645
959
531
34
410
26
508
449
825
389
755
741
473
644
467
970
32
58
162
317
9
780
612
409
241
330
3
218
133
583
177
439
848
578
712
599
194
787
81
23
728
63
623
476
774
977
124
439
849
424
455
792
788
606
741
540
150
543
33
582
838
722
211
786
853
246
853
436
874
612
151
126
982
816
567
600
222
462
319
452
291
228
167
372
572
211
98
329
460
573
534
892
921
501
576
583
660
296
710
558
267
797
163
700
732
888
942
586
90
300
373
628
202
852
633
157
265
320
775
386
232
376
343
249
902
417
639
504
186
111
236
741
663
62
657
590
561
334
658
87
32
710
847
756
611
222
976
163
511
473
470
729
469
410
687
924
578
854
311
841
80
88
749
754
477
765
3
935
996
550
106
484
406
910
144
585
193
986
305
734
27
878
434
928
218
721
836
695
687
200
290
776
566
885
927
403
512
441
216
891
488
79
875
372
282
991
43
95
798
130
765
736
414
919
812
339
491
640
130
455
672
296
833
706
67
39
976
841
314
732
930
92
851
837
420
291
746
571
41
260
119
730
671
787
908
309
510
307
830
441
38
658
563
632
830
566
859
908
829
533
659
562
531
426
393
835
108
357
194
644
246
288
27
871
628
907
691
638
858
513
505
199
490
654
495
582
948
256
73
949
705
761
28
363
770
398
294
982
735
391
4
907
500
143
182
932
190
449
651
887
71
506
200
142
842
307
383
85
892
701
418
108
456
773
590
235
887
27
454
986
306
845
453
792
612
901
649
938
623
559
908
674
266
297
427
873
618
220
126
68
967
951
370
786
975
720
628
444
586
659
393
990
245
260
956
492
262
616
420
379
18
635
60
937
825
536
645
31
855
995
946
73
770
817
522
4
964
879
910
767
542
544
945
165
399
560
440
23
782
633
107
665
401
486
857
449
568
424
235
642
945
283
230
894
193
867
850
946
161
909
275
924
307
283
830
47
287
112
6
684
625
685
786
934
430
661
817
836
56
177
842
223
615
555
310
831
459
637
115
480
586
551
759
240
944
772
579
257
975
718
338
991
849
710
416
876
555
604
215
974
574
432
863
104
767
65
704
344
883
983
788
627
420
262
30
818
429
762
662
846
683
857
456
375
89
53
803
6
616
458
954
481
394
271
198
971
598
861
801
246
744
805
745
501
83
526
24
132
632
744
646
604
767
306
782
249
306
874
166
183
219
16
295
426
683
880
62
603
815
352
905
855
265
752
352
420
146
160
46
233
176
640
828
295
330
720
549
435
958
162
61
771
106
735
801
935
101
694
109
523
630
214
947
481
845
454
17
159
82
460
822
430
160
721
703
222
768
672
859
208
723
579
903
290
988
251
436
495
73
708
715
307
117
56
777
427
645
251
318
172
547
333
495
220
118
270
690
806
67
268
816
131
721
674
322
735
563
869
576
133
887
149
635
717
752
929
845
453
635
703
136
631
310
24
747
179
643
830
863
487
146
570
804
954
524
3
750
223
796
924
211
882
451
206
104
395
203
883
333
349
750
545
224
965
399
506
16
97
808
98
931
950
497
324
402
450
408
433
474
775
61
733
812
91
697
600
92
166
564
795
456
758
344
453
617
46
764
714
822
832
264
831
592
996
952
615
768
540
330
319
575
35
135
445
935
315
720
126
848
796
682
157
617
731
189
418
940
759
45
240
742
947
488
551
864
986
970
423
574
978
738
117
149
109
970
977
677
501
77
807
495
514
71
944
100
134
518
767
275
656
305
967
78
160
348
966
878
447
52
880
191
132
770
863
835
755
722
378
611
60
678
607
477
711
361
674
158
513
119
356
891
893
113
986
261
306
995
519
62
174
420
588
428
195
578
361
555
410
265
383
470
456
150
710
376
158
497
74
962
829
557
81
255
189
100
862
852
280
750
247
511
642
825
986
516
655
959
550
984
908
135
401
839
631
845
438
699
5
476
40
253
29
884
283
602
94
59
166
522
379
944
245
487
234
475
671
662
92
827
922
921
424
823
357
187
339
73
10
858
42
176
277
241
522
176
823
718
271
30
461
230
38
87
830
221
189
356
551
859
320
456
632
723
511
608
184
518
34
738
448
738
517
117
421
742
737
408
889
890
132
416
244
569
665
585
180
171
519
421
659
827
415
364
108
38
443
44
447
564
560
691
557
23
108
393
629
445
488
670
490
663
788
355
456
29
769
145
567
909
431
443
451
671
198
428
862
982
205
971
273
56
653
535
64
517
334
288
154
235
592
772
169
44
888
655
992
696
386
956
760
502
379
408
884
590
634
472
453
631
411
329
100
824
3
459
614
293
843
842
16
353
581
767
224
646
497
124
469
677
702
292
583
592
470
130
498
765
138
160
618
571
516
637
413
621
87
526
144
475
500
564
582
774
500
105
901
256
116
774
449
769
626
612
955
515
458
80
807
671
465
873
138
549
715
606
219
846
746
336
701
829
945
542
965
874
849
851
819
840
448
471
19
735
994
271
366
529
576
698
342
205
533
281
935
183
611
24
390
317
134
322
610
19
332
655
77
672
462
40
96
100
948
828
711
620
441
626
320
719
324
676
373
156
349
987
144
317
501
523
688
914
861
24
331
707
970
603
24
59
129
721
785
462
22
333
529
437
969
457
419
936
447
823
919
266
684
186
648
306
235
929
592
695
294
278
22
242
81
364
66
922
901
287
133
894
99
113
136
391
469
314
301
42
855
245
59
514
51
116
233
175
713
168
836
616
234
348
387
536
607
795
837
544
806
771
539
619
356
64
438
110
389
115
935
832
70
81
354
144
795
110
553
98
518
471
128
173
907
368
961
68
497
46
46
421
437
400
809
589
91
715
747
633
582
842
283
300
176
824
648
551
346
417
883
129
254
703
927
263
30
327
765
733
951
810
969
367
43
898
672
714
242
868
771
476
973
482
353
141
661
353
891
303
172
753
987
259
474
402
81
754
79
463
807
966
563
107
541
137
656
166
540
148
6
437
646
569
108
712
622
190
223
79
239
123
133
475
944
408
891
847
284
464
398
579
937
263
549
128
205
902
372
234
951
823
448
186
521
677
518
519
329
929
182
143
373
818
609
894
267
792
570
620
329
943
77
285
629
388
854
196
843
459
704
538
476
407
241
234
252
534
953
914
977
853
530
175
19
796
936
634
976
699
246
354
724
607
984
158
142
237
721
257
635
826
332
657
624
485
789
102
827
550
811
845
519
934
402
745
726
564
729
512
320
10
321
651
5
914
889
953
852
834
891
922
627
199
338
738
161
68
106
479
406
843
38
34
36
808
471
34
402
152
256
590
224
75
599
469
486
193
442
626
879
511
180
31
928
295
638
31
191
823
310
258
406
283
613
742
715
294
916
471
219
437
459
146
726
369
402
155
3
625
75
955
33
961
314
150
102
419
636
317
29
804
610
652
92
780
193
220
732
726
456
745
557
39
19
680
160
117
665
483
522
420
313
422
56
210
747
305
465
958
81
309
682
531
131
882
258
882
591
748
254
823
495
65
103
922
181
266
966
14
708
736
399
381
640
718
658
205
560
527
209
826
94
33
114
820
670
596
213
43
508
8
711
273
938
667
584
564
173
179
294
485
881
987
953
375
267
87
201
737
49
442
629
865
843
144
894
210
935
788
593
855
330
640
938
484
795
617
780
612
135
408
541
115
898
655
476
994
905
192
441
958
222
658
517
129
374
539
951
538
419
706
916
877
749
636
718
610
105
459
812
70
881
318
546
547
763
358
137
240
309
291
101
326
8
843
971
520
18
610
283
256
749
437
279
755
245
86
323
572
560
73
620
433
723
599
90
979
908
703
621
995
197
992
324
361
402
297
309
384
989
672
435
896
734
564
131
167
713
893
188
793
798
924
26
635
197
805
467
832
367
765
810
974
341
164
978
300
873
947
95
214
792
763
343
989
374
634
111
722
844
908
336
606
634
951
287
25
543
315
842
306
169
766
350
958
768
695
239
674
967
873
987
658
333
298
96
726
822
503
958
103
839
733
494
198
988
551
58
403
665
806
542
488
232
342
487
490
774
590
181
476
807
409
896
217
607
576
526
689
940
711
696
623
143
309
531
179
374
116
49
225
810
335
308
323
281
499
871
92
111
645
700
206
883
61
66
208
121
552
330
23
543
335
630
372
339
229
530
972
719
159
467
167
705
122
274
486
865
76
184
51
716
66
77
375
578
79
885
44
704
38
160
122
732
623
844
857
673
154
468
280
795
701
1
874
904
35
345
888
290
319
382
567
511
313
141
276
552
299
650
157
727
64
472
220
511
946
954
192
896
266
797
178
902
992
420
611
257
933
789
610
375
226
976
109
277
656
575
568
793
965
167
123
51
304
79
568
778
367
30
985
915
670
49
395
844
397
889
216
641
665
857
310
574
586
872
797
946
933
432
248
893
433
296
556
442
133
2
147
363
285
47
26
797
719
409
640
856
252
954
699
524
320
893
579
678
815
843
89
963
807
328
938
351
912
985
430
907
820
833
799
793
70
480
631
252
613
401
178
616
374
775
504
652
826
314
438
147
749
997
141
133
644
739
970
586
512
930
685
686
130
221
120
905
771
697
444
549
926
321
730
805
77
298
627
527
185
736
820
317
449
721
462
966
976
453
406
756
635
350
393
957
589
741
276
528
126
793
857
807
78
94
841
134
62
405
972
610
100
289
518
118
799
186
386
848
23
859
354
414
138
375
990
680
773
597
847
141
426
362
287
820
471
642
438
611
395
362
221
573
506
752
868
524
259
527
57
458
919
225
754
408
284
837
589
447
159
792
705
389
524
663
99
472
753
270
268
519
84
750
401
287
183
720
316
68
479
497
128
488
346
679
749
228
484
514
313
818
649
760
879
124
799
187
442
189
152
595
234
428
629
439
374
443
746
193
943
589
982
28
453
916
51
23
769
944
920
593
939
527
135
6
130
925
903
794
46
918
870
82
66
861
759
462
578
864
524
969
829
890
526
743
657
856
270
935
515
269
179
584
10
238
900
311
87
237
39
744
640
672
606
392
433
607
624
607
848
749
472
839
657
219
617
413
389
662
863
860
722
772
408
825
288
361
705
255
747
704
798
362
821
466
292
292
762
807
359
745
523
525
458
814
206
944
426
227
233
170
915
624
346
168
47
410
501
305
458
682
665
818
951
772
586
173
499
367
955
352
403
301
649
947
55
501
133
415
642
843
269
7
524
117
19
703
740
974
316
431
6
29
698
570
20
655
294
18
534
894
863
965
612
187
809
568
535
239
415
337
674
945
345
531
849
125
651
793
491
741
603
951
374
58
224
624
951
370
342
950
863
678
288
487
690
486
509
110
553
387
322
490
617
148
463
862
922
193
296
46
481
751
294
924
615
550
561
17
972
663
389
20
534
663
703
267
814
684
958
385
725
301
580
480
551
282
962
608
627
275
267
19
984
524
773
833
285
521
694
505
672
564
372
43
404
737
438
305
774
690
30
844
393
874
346
237
280
100
492
199
743
985
274
969
592
278
437
583
601
814
903
2
406
52
584
343
679
550
648
214
356
870
223
830
266
938
635
32
427
873
783
829
27
235
623
860
276
868
333
683
804
706
666
684
297
870
4
731
302
463
466
57
933
763
742
875
17
463
727
948
59
677
552
737
429
320
304
656
996
278
413
998
344
743
371
897
815
89
994
98
743
704
358
405
193
515
109
820
348
662
144
874
642
773
537
51
636
607
131
225
915
563
480
269
817
572
83
93
991
478
488
355
810
304
652
564
375
430
20
799
807
888
658
618
428
135
251
400
318
226
659
234
95
561
30
471
661
386
37
585
727
174
812
676
413
399
602
784
10
259
116
156
803
441
190
709
87
452
919
544
36
73
862
879
419
433
209
45
905
827
587
465
900
769
77
710
711
392
777
144
800
330
311
502
860
43
27
971
548
390
232
391
963
109
574
347
451
834
819
789
21
124
197
281
382
404
397
252
852
501
29
702
473
207
110
654
924
848
800
929
845
878
339
313
676
343
572
845
289
141
949
581
48
433
984
160
639
622
716
533
775
73
995
349
253
932
314
140
159
77
543
46
301
725
38
913
168
46
688
472
597
460
698
995
174
211
100
374
747
577
366
241
490
726
339
296
291
730
268
970
234
728
676
963
409
455
912
233
469
549
795
817
568
625
644
774
600
945
986
196
164
91
511
353
287
94
30
701
583
902
899
101
872
937
402
69
755
228
266
821
596
642
915
195
827
944
504
839
490
5
915
938
864
891
923
652
314
595
693
428
520
12
588
746
432
839
619
38
241
599
71
131
400
262
314
285
691
990
612
299
377
58
440
570
434
980
684
817
129
161
177
67
519
251
532
848
902
955
488
746
974
859
773
504
832
220
237
748
388
702
388
440
284
567
533
812
840
798
222
614
335
607
239
89
924
828
56
859
320
565
846
832
963
427
830
470
689
851
849
833
219
235
479
869
91
803
73
186
88
265
91
756
769
196
230
286
55
890
468
526
31
290
414
309
858
693
12
645
796
814
755
657
72
455
241
817
367
360
362
119
243
503
753
138
200
329
599
731
230
360
930
148
828
450
646
619
114
901
160
273
243
31
930
407
868
912
130
123
143
552
785
288
288
855
683
525
739
626
624
251
980
665
672
293
280
394
851
860
499
867
926
728
702
157
249
647
973
839
598
367
308
991
869
244
44
980
842
800
382
910
366
408
329
38
982
479
221
481
810
493
269
344
548
150
206
556
140
89
652
293
673
326
383
203
335
616
47
100
928
258
667
119
666
243
865
102
967
888
247
48
875
62
403
920
874
511
230
150
892
563
536
820
972
486
852
166
260
97
459
607
244
122
284
157
985
626
428
50
670
301
699
787
339
631
545
425
5
355
503
730
764
670
673
385
818
644
333
29
360
528
966
740
941
73
911
292
880
681
808
479
39
446
582
528
977
508
270
373
445
970
324
414
412
520
468
858
252
0
577
245
460
434
180
243
692
343
944
856
513
790
747
198
158
665
741
35
446
804
593
141
777
384
808
228
638
427
397
787
261
423
583
924
844
470
650
360
644
556
429
341
299
752
669
17
326
921
679
224
912
954
756
703
295
149
606
405
330
931
512
930
536
842
344
932
755
645
420
334
145
59
510
836
577
723
888
821
524
511
605
107
639
233
898
705
331
467
186
375
227
463
317
780
379
838
620
548
326
544
315
667
742
300
227
818
960
440
332
902
6
947
999
42
811
385
628
689
2
232
174
682
604
787
508
85
282
533
528
323
521
23
410
364
361
40
220
80
591
472
826
792
750
108
957
221
905
572
82
293
216
14
75
576
293
170
23
826
446
20
918
759
878
600
759
226
246
550
262
905
622
730
898
66
822
881
171
786
87
374
214
584
848
730
189
900
541
59
594
14
174
928
7
492
874
299
35
398
171
513
922
589
434
39
567
930
833
927
424
175
576
442
894
309
60
771
684
726
797
131
613
851
988
869
585
616
166
149
257
369
856
22
506
501
586
44
401
261
520
336
566
434
54
166
963
243
825
704
278
295
56
487
966
350
811
349
908
601
689
827
659
4
431
929
275
456
531
606
171
739
394
151
151
569
860
949
891
87
223
541
145
942
468
169
215
895
873
804
423
496
837
252
136
974
676
479
467
695
385
250
557
577
66
692
595
379
922
647
171
682
428
551
334
728
600
126
753
918
863
398
938
748
562
732
153
566
507
34
535
625
956
229
966
587
354
88
1
14
175
41
620
994
363
563
542
374
391
929
445
256
111
434
358
829
825
380
193
695
19
171
342
818
662
658
545
913
589
69
208
259
631
219
792
95
655
585
922
510
86
343
240
476
903
518
303
391
747
584
808
931
89
598
828
868
747
918
191
224
150
218
686
883
135
531
829
458
771
326
947
162
981
6
356
921
842
407
161
903
542
47
416
343
310
784
496
494
974
904
987
529
238
898
48
410
144
217
108
739
42
663
499
565
635
726
192
268
888
328
392
949
949
248
805
680
902
9
801
114
863
249
107
16
936
532
294
415
925
689
734
199
540
854
354
81
420
735
45
302
8
228
407
32
613
2
802
651
738
327
839
331
755
435
554
167
721
584
175
630
284
127
969
467
774
564
130
588
357
639
367
311
485
278
29
426
905
762
803
896
471
870
347
152
804
82
130
79
239
111
422
748
739
29
209
989
544
489
905
634
264
688
28
934
381
837
483
183
80
954
723
632
32
556
67
938
970
235
262
937
555
944
68
473
192
212
715
268
252
80
712
709
407
509
249
684
520
313
706
617
277
522
801
229
140
549
67
522
763
906
993
171
588
773
197
147
757
142
939
838
820
961
677
960
508
879
881
185
89
92
862
9
684
201
761
979
189
347
101
357
453
721
582
714
393
624
249
300
573
884
84
447
339
63
149
486
665
72
201
250
863
784
828
940
428
962
971
238
181
364
817
245
465
773
210
294
803
166
461
765
395
614
801
630
974
655
242
620
603
291
726
275
619
81
443
514
330
551
169
966
871
500
636
658
357
769
25
319
718
96
669
617
751
397
635
426
738
98
674
247
277
347
425
28
830
823
973
184
168
467
824
691
654
369
356
809
389
58
668
594
4
198
274
659
520
225
373
415
55
453
512
391
143
500
575
279
303
252
346
281
718
318
154
702
455
867
663
166
533
799
467
376
879
601
391
142
822
176
970
364
460
150
812
227
302
182
935
24
158
905
306
395
852
301
142
725
983
825
501
946
769
865
818
871
986
814
930
698
284
818
733
432
899
644
899
866
702
247
473
493
79
183
432
921
88
379
388
845
504
752
805
180
628
499
339
843
100
789
140
177
938
297
310
1
313
749
738
215
190
680
110
124
436
46
561
763
545
832
112
883
381
435
804
637
185
13
354
264
835
809
940
666
625
250
724
23
825
998
21
260
451
814
662
587
707
111
356
332
755
31
924
247
183
397
14
254
796
155
768
865
228
855
388
114
59
835
958
16
905
555
211
894
994
420
136
869
588
19
335
77
594
996
659
505
359
37
958
12
61
787
850
744
657
870
359
618
335
434
633
732
578
591
728
859
248
786
591
815
790
143
291
768
747
211
863
783
354
769
55
948
730
293
439
672
968
597
855
106
826
384
581
903
677
217
115
583
909
451
569
498
834
23
912
138
887
650
448
318
636
808
67
324
375
120
692
666
230
979
547
192
818
515
873
326
957
655
408
103
731
88
534
421
564
562
23
474
400
493
467
279
74
95
223
327
988
276
535
739
642
864
905
192
257
330
305
122
501
117
61
278
569
897
240
997
624
274
760
617
217
334
366
359
951
142
785
910
86
699
77
349
711
731
275
597
601
859
334
827
642
437
725
820
948
437
573
317
566
816
236
991
789
963
19
37
479
496
430
1
489
943
70
100
561
37
679
359
70
301
677
318
582
573
273
127
838
270
25
833
276
864
412
272
169
475
101
848
581
712
413
829
670
593
394
888
962
800
95
868
828
637
403
474
930
476
857
549
915
637
554
699
822
532
103
576
52
591
29
815
200
342
416
604
707
964
442
308
80
437
279
287
282
775
348
831
753
549
197
858
865
540
864
182
769
468
220
643
172
622
687
512
271
378
614
565
800
67
299
994
226
261
68
522
339
827
160
844
420
490
644
350
686
183
222
495
486
641
824
475
512
752
162
66
765
375
649
442
933
786
860
859
490
717
355
697
921
476
339
713
469
827
200
791
352
340
608
903
104
342
425
151
252
873
171
198
932
120
120
532
904
543
17
471
820
345
872
499
964
81
471
94
820
537
383
143
389
947
179
204
448
743
299
115
765
904
733
463
773
980
285
883
763
716
355
858
379
940
239
164
171
821
985
77
680
670
417
677
84
973
901
891
260
640
505
928
895
996
639
735
764
188
898
419
646
993
251
955
537
984
386
614
581
135
151
157
338
365
500
230
709
955
586
26
336
813
488
178
401
238
937
226
9
742
574
80
731
438
945
764
22
36
141
399
970
794
228
684
173
187
431
177
659
8
213
611
66
869
42
694
363
202
614
608
332
982
900
826
724
733
160
968
350
852
554
869
12
270
244
650
831
551
784
626
364
728
97
335
53
438
189
265
447
256
344
251
725
226
767
184
476
386
419
385
889
651
859
403
469
256
637
643
783
749
836
908
390
503
133
44
255
726
600
32
285
327
904
427
898
803
633
118
920
683
99
272
234
567
310
409
21
995
536
631
842
421
256
659
237
297
686
490
943
87
721
737
132
276
744
202
611
68
743
946
569
667
71
427
334
142
762
237
819
835
310
255
780
683
691
952
982
649
730
412
911
417
200
169
999
601
824
979
638
66
581
399
413
223
173
324
794
765
731
460
854
922
46
777
15
895
874
717
578
449
114
456
547
390
492
642
174
777
530
903
269
678
125
258
518
10
766
44
485
28
593
639
359
946
431
811
686
13
315
936
603
239
640
717
300
28
149
552
169
834
556
510
329
890
566
334
576
868
623
914
705
506
135
441
108
300
300
249
429
335
364
895
293
696
420
876
547
520
932
317
485
526
221
800
6
33
775
34
586
594
103
975
421
146
928
855
586
807
767
526
328
973
51
183
796
793
575
366
992
907
977
864
114
319
195
753
557
488
764
200
918
203
871
391
271
659
387
715
127
669
183
285
687
874
908
548
949
489
685
961
581
87
903
435
802
855
667
219
679
614
750
181
147
912
992
919
206
402
852
544
455
437
159
781
330
545
478
692
628
739
126
273
844
664
882
65
327
480
777
397
555
184
459
912
787
383
560
90
811
490
14
685
738
940
665
157
1
683
531
973
838
411
63
728
833
149
972
21
824
629
645
749
250
621
507
776
252
298
936
451
794
394
702
436
395
323
860
468
887
758
564
428
151
703
366
434
856
623
274
18
376
739
59
447
107
816
226
931
127
620
116
385
179
351
304
318
63
532
136
746
939
23
487
510
390
783
508
649
837
128
284
123
933
189
123
667
15
826
574
647
318
329
419
90
470
633
336
518
394
564
190
498
718
635
695
778
72
213
546
280
631
73
503
501
252
568
747
422
452
103
628
976
807
890
625
514
636
672
66
437
961
935
250
861
414
760
494
785
857
514
97
302
92
333
269
807
251
330
689
678
599
679
269
451
834
803
866
726
806
811
532
649
60
486
233
404
703
913
894
835
415
417
395
5
633
594
659
163
255
944
53
714
402
923
827
72
521
99
18
870
638
112
524
83
441
345
92
490
627
588
98
960
849
689
310
38
557
854
404
793
205
181
963
716
878
313
671
457
626
967
878
314
618
641
320
12
719
123
683
931
221
731
32
933
862
199
832
461
835
240
660
223
392
147
546
114
415
214
733
388
821
874
394
328
177
610
244
653
501
87
841
102
1
301
384
327
73
353
881
398
644
557
996
693
902
500
509
73
328
594
963
878
933
70
172
534
109
372
390
718
825
377
281
380
902
17
115
143
538
332
923
530
360
693
726
473
844
251
27
643
701
413
36
224
602
992
633
960
418
235
127
698
575
368
714
325
502
853
493
12
42
898
473
886
796
546
561
952
446
750
645
424
486
711
102
24
265
773
466
58
144
679
301
749
657
479
587
291
27
664
176
379
564
719
322
12
301
228
708
462
53
337
55
433
413
449
947
105
308
515
278
313
365
15
167
594
547
422
716
775
446
72
114
713
790
256
199
486
103
792
278
45
551
820
781
284
668
831
833
740
756
716
893
465
574
722
39
59
839
861
189
780
520
173
789
35
10
91
984
802
933
557
355
684
393
792
371
713
554
276
951
312
868
568
122
992
117
638
172
348
402
126
316
393
788
709
40
199
108
917
147
141
884
884
481
995
8
529
464
808
447
355
286
739
460
600
71
550
116
590
915
523
861
927
641
259
156
339
46
330
760
183
801
322
693
28
497
946
948
943
775
880
31
32
410
287
90
51
93
559
591
838
471
680
489
584
318
757
38
448
260
826
690
559
887
633
676
325
644
199
983
74
839
559
177
981
608
225
935
563
186
295
742
31
493
113
970
949
984
516
574
832
513
831
211
942
903
147
480
955
651
373
670
758
26
890
478
813
387
971
338
799
506
335
918
178
77
535
937
580
609
305
575
482
371
161
770
786
932
682
7
891
982
151
710
1
714
318
660
360
564
301
583
141
626
379
932
56
50
915
330
190
956
206
101
628
583
87
925
116
222
153
432
534
240
351
149
856
264
629
56
394
435
629
150
720
84
276
921
703
859
980
645
692
96
231
24
79
160
994
102
656
378
573
667
434
225
59
997
882
588
33
700
335
744
960
135
759
557
796
888
684
606
691
665
957
869
41
683
531
253
914
3
421
481
976
259
61
314
1
386
69
949
145
323
506
529
579
185
705
705
929
106
531
447
209
351
708
953
595
442
642
393
669
569
577
78
262
549
768
742
193
658
26
478
153
624
608
544
355
188
954
878
283
489
229
935
516
79
571
735
130
943
169
35
247
13
728
344
858
20
336
280
848
616
911
183
180
500
86
697
973
362
629
171
554
478
247
386
775
101
993
219
46
257
241
686
813
173
833
919
519
695
183
118
788
913
978
61
277
424
898
442
145
169
717
648
128
625
714
312
423
579
795
469
710
118
762
779
726
865
231
375
6
254
607
934
268
105
738
626
656
878
959
671
488
162
38
716
959
344
327
959
573
128
567
469
380
620
465
869
648
7
169
596
156
324
42
331
131
514
699
632
815
87
302
276
100
619
635
814
152
873
850
417
254
415
822
676
269
2
71
730
252
500
310
322
820
233
370
730
240
71
573
699
270
445
429
680
346
513
84
882
929
384
182
962
829
470
23
227
387
8
497
559
257
910
232
627
58
758
157
529
822
798
586
239
423
417
418
713
542
590
895
523
484
329
375
511
954
273
686
488
883
969
875
545
697
637
848
301
695
333
815
937
788
262
189
203
405
875
159
879
668
534
419
790
700
825
853
401
838
805
160
150
678
11
87
295
723
161
874
89
610
650
992
686
271
904
771
729
75
571
397
274
757
978
891
841
543
411
452
68
601
21
60
154
736
556
922
423
112
334
838
269
714
389
767
610
236
809
305
874
701
616
156
541
3
521
638
893
136
831
36
481
719
823
212
422
936
768
786
389
167
336
4
570
184
671
970
875
526
176
156
279
403
450
891
291
759
444
188
884
749
747
17
929
738
924
941
231
979
643
208
33
150
443
526
998
479
758
813
366
358
519
915
890
541
882
555
767
695
903
289
145
1
348
544
166
622
858
901
453
659
49
130
590
20
938
414
375
342
900
631
140
678
962
830
911
851
116
258
330
435
620
345
997
740
66
58
335
504
834
410
707
97
653
296
668
153
567
11
872
376
413
886
94
131
123
712
184
253
214
179
775
997
502
232
177
616
172
200
259
358
713
492
295
995
189
876
913
971
860
469
698
704
865
824
788
251
939
891
603
418
186
245
881
813
263
610
325
753
706
390
403
765
436
292
20
234
120
706
880
55
444
319
690
872
803
841
939
868
560
932
979
946
36
965
238
995
523
292
344
720
842
316
492
435
254
392
470
794
470
265
513
488
671
731
308
560
741
690
894
150
102
280
513
764
868
674
128
958
568
391
906
445
852
655
108
845
248
559
934
163
73
148
983
38
79
572
156
38
923
107
559
931
923
867
788
626
646
739
14
855
57
486
469
254
424
72
705
484
577
611
60
331
456
944
735
129
189
729
973
455
721
255
693
533
510
172
974
860
62
925
571
272
600
874
367
877
383
937
10
148
411
873
68
443
669
314
308
348
149
822
295
476
190
542
509
816
845
568
48
914
261
168
166
808
795
989
646
467
209
470
400
704
822
800
423
782
694
350
816
59
881
367
425
807
7
444
129
686
593
535
58
961
650
864
890
786
159
962
65
494
751
316
81
99
46
292
603
555
662
309
542
191
98
613
289
572
356
468
615
613
814
807
383
680
678
514
975
43
222
651
653
16
577
343
963
956
962
611
323
189
866
427
249
209
39
491
451
895
75
169
892
582
813
215
791
390
676
821
54
225
950
114
548
80
611
587
278
350
714
519
613
739
982
989
54
894
115
364
730
158
546
646
40
808
585
707
845
655
505
477
76
886
710
568
514
258
425
108
707
778
472
336
832
273
0
85
165
807
986
992
97
39
663
774
851
961
448
450
543
73
608
460
312
638
530
295
57
657
610
56
637
463
3
350
659
300
300
13
944
557
543
37
617
576
986
871
941
274
737
211
203
893
27
729
818
695
106
436
342
540
502
477
318
999
507
90
866
56
609
652
72
939
497
840
18
859
951
105
589
942
557
256
153
360
727
179
79
432
684
24
795
168
847
764
725
38
603
905
950
129
34
196
910
575
150
615
10
428
944
291
576
173
480
738
424
767
793
26
305
759
454
200
935
400
258
703
179
598
881
603
909
155
27
554
679
320
991
513
360
989
660
839
815
806
448
124
487
251
214
267
697
606
906
17
844
824
736
863
581
848
835
443
145
814
865
491
801
376
312
485
782
152
780
499
938
447
995
460
87
226
720
417
133
948
317
932
265
838
736
659
49
375
14
216
485
215
721
372
1
567
466
978
623
302
718
241
80
19
985
957
189
710
759
815
25
6
155
956
839
544
967
89
799
136
563
402
440
569
464
762
693
581
331
212
825
194
815
743
109
568
813
19
539
75
883
726
609
245
315
887
887
87
209
935
542
221
120
776
321
505
403
240
724
903
80
550
677
899
981
315
561
263
352
93
347
907
643
949
744
283
476
104
341
206
545
821
413
27
408
977
138
768
887
993
577
435
634
498
443
987
260
769
41
531
950
454
464
759
522
410
699
268
129
457
284
699
686
66
804
425
724
548
509
336
687
130
346
116
638
892
627
977
12
986
454
315
949
518
148
522
858
506
965
332
905
754
896
504
676
600
120
142
133
525
823
462
382
790
762
454
674
977
74
558
666
272
54
34
453
164
230
220
820
681
780
423
740
263
315
299
972
387
873
998
492
168
839
411
741
266
338
856
526
179
740
127
392
273
840
45
79
332
571
6
558
898
17
766
151
926
261
992
693
506
56
823
86
208
813
862
526
78
250
931
435
168
290
210
794
268
767
58
941
932
586
103
623
815
957
727
110
544
470
59
878
405
685
218
81
788
252
693
604
385
210
354
716
194
529
814
684
665
588
656
453
625
545
340
970
241
963
260
513
409
672
314
644
212
845
741
93
79
400
433
260
418
708
421
155
904
141
925
376
298
307
229
456
847
569
895
881
961
925
57
362
929
985
419
180
649
171
400
625
322
956
928
379
133
340
731
241
133
561
811
563
243
850
581
398
937
927
172
942
418
860
616
184
598
740
206
228
496
314
204
782
223
498
631
782
81
387
232
914
639
821
544
818
945
699
219
372
657
39
553
853
198
273
895
6
841
435
379
760
298
727
409
480
870
729
211
447
388
395
624
827
87
432
760
395
488
373
387
719
755
492
568
682
764
738
849
555
605
357
461
682
534
799
941
438
164
811
351
403
12
616
708
992
391
838
650
243
4
166
341
578
636
984
230
353
704
360
555
740
17
611
362
112
795
647
192
126
593
478
737
231
184
473
443
821
327
267
183
571
630
804
275
179
184
741
410
185
51
419
638
351
814
110
662
230
737
969
732
815
293
642
941
62
413
41
700
410
453
638
74
420
663
551
457
932
230
417
30
169
559
557
685
96
290
559
941
549
551
856
677
731
58
43
596
756
771
14
342
207
581
132
814
333
988
241
373
50
953
608
597
274
817
2
777
581
73
503
173
195
67
304
166
96
584
409
302
557
636
439
854
98
853
921
681
791
135
901
575
939
819
551
821
952
963
666
179
775
51
508
99
610
150
811
348
413
236
46
921
959
269
495
803
264
885
254
182
265
837
580
242
509
766
673
717
798
649
823
180
538
141
387
598
111
416
133
51
395
34
110
401
551
385
540
667
989
475
584
638
633
431
124
641
670
292
647
725
277
754
180
497
227
471
552
562
777
251
322
135
629
983
700
187
784
987
724
697
424
131
148
652
243
684
621
615
435
731
990
315
372
338
75
110
679
229
609
579
467
605
765
458
327
49
999
726
764
413
134
92
901
145
504
243
969
590
809
213
276
791
962
624
274
455
881
193
403
730
230
56
716
118
315
950
78
899
252
378
131
547
426
143
39
668
40
701
345
923
18
933
852
559
930
825
273
41
482
766
424
816
937
186
592
770
434
391
309
983
270
919
723
60
660
784
311
2
981
105
478
138
2
196
254
965
650
699
796
857
594
164
344
296
728
181
440
394
519
992
603
513
407
973
569
203
899
563
185
434
316
325
749
215
407
916
602
883
201
185
173
702
25
199
484
476
316
957
268
962
81
906
847
102
333
270
731
849
297
325
753
702
502
681
334
798
850
3
516
507
990
967
648
943
110
880
601
674
67
339
736
384
442
374
79
71
972
61
608
968
329
751
579
734
794
920
66
432
177
285
227
296
94
314
152
702
492
14
216
579
230
333
2
331
511
754
582
306
928
481
531
761
268
325
179
967
47
51
528
17
52
621
976
729
202
92
984
493
521
222
207
650
553
472
835
140
338
700
363
581
726
3
926
644
635
113
926
369
340
513
469
602
146
777
969
20
243
851
803
507
754
593
889
242
631
8
491
860
638
682
423
507
420
502
395
275
352
768
862
435
486
214
303
392
726
157
133
509
754
920
452
81
157
805
285
816
819
76
989
868
208
93
422
565
197
249
73
49
78
608
777
774
367
237
348
754
396
900
529
432
419
925
505
67
558
303
491
429
914
402
44
382
262
129
903
729
987
856
764
166
706
544
849
398
946
237
858
256
387
308
388
585
989
655
424
513
519
194
245
486
168
164
386
854
219
300
140
188
869
300
455
556
396
580
566
151
550
783
127
981
694
184
317
133
289
171
612
198
162
153
476
233
494
199
747
972
935
484
232
546
128
930
406
183
243
251
322
788
558
520
687
951
530
175
944
491
134
913
899
609
314
990
208
799
414
379
957
566
716
351
395
103
573
558
510
796
133
973
150
488
282
661
379
294
964
236
496
626
445
766
312
704
502
730
544
780
847
773
599
248
701
324
992
874
476
370
836
119
895
786
620
796
224
465
961
402
697
213
696
758
384
917
252
337
578
237
396
342
7
258
83
365
59
561
653
414
699
496
957
695
130
23
927
41
510
274
694
154
216
294
368
449
783
976
349
230
919
953
126
641
183
529
851
714
872
507
72
330
106
813
352
658
349
69
263
590
974
487
684
274
257
467
420
304
328
635
880
352
426
553
230
499
692
34
524
790
634
242
583
524
364
211
624
436
138
515
203
20
327
460
561
518
149
510
189
476
168
486
830
212
767
288
596
354
261
489
476
347
152
469
253
288
619
136
944
1
734
841
188
187
919
572
183
342
598
131
714
290
21
10
664
79
651
650
99
392
660
230
763
256
850
718
180
761
210
536
702
687
751
413
471
353
505
607
158
545
669
313
592
808
686
828
596
662
223
767
96
374
218
702
55
332
40
540
198
745
16
897
783
115
880
8
323
805
953
17
301
366
236
393
371
625
806
719
73
79
359
209
710
468
397
132
403
404
561
552
358
875
175
176
855
736
60
817
845
106
741
785
43
992
277
158
231
107
620
682
343
563
288
809
490
786
338
831
89
227
372
443
166
427
432
989
341
795
325
663
597
919
12
4
444
943
595
955
888
941
789
528
559
772
790
605
343
235
145
936
729
193
558
463
357
848
944
11
481
762
152
816
332
116
485
906
559
155
455
759
685
237
490
764
179
165
304
214
827
717
752
33
237
527
123
622
507
189
60
337
678
738
839
977
939
129
972
946
214
653
785
768
324
75
603
261
497
240
767
353
353
524
325
174
918
262
462
256
363
628
491
610
912
321
414
289
765
393
716
771
173
581
111
532
539
934
379
127
76
202
762
836
8
291
931
447
324
390
266
619
592
331
847
393
869
647
591
578
868
351
220
475
240
294
116
773
47
740
282
496
490
907
414
53
298
842
37
102
328
82
231
337
729
794
611
29
427
513
933
18
969
208
233
942
437
541
885
976
535
586
0
965
364
819
556
70
956
670
134
405
30
239
896
404
516
53
991
808
235
961
509
71
58
728
632
538
263
398
282
693
425
601
974
10
606
171
411
808
21
669
263
159
980
324
989
182
696
166
610
337
965
341
311
351
63
404
872
360
239
915
189
866
686
4
535
37
573
336
139
42
366
576
741
114
820
662
497
21
743
117
979
965
118
220
152
777
31
46
215
174
880
172
565
644
539
340
556
884
580
97
923
563
388
956
662
206
698
789
76
550
305
911
502
231
213
722
542
207
98
99
623
88
993
905
443
248
311
950
358
233
809
320
821
672
72
968
158
349
398
320
170
667
634
998
384
320
646
758
718
266
831
289
508
762
38
390
426
330
580
123
648
113
204
839
925
405
966
783
31
598
970
791
164
146
450
229
666
529
118
781
330
418
768
516
914
76
74
267
98
553
390
242
975
155
512
147
736
443
7
907
96
784
703
120
7
289
661
570
988
352
111
310
427
25
570
486
316
302
177
257
556
719
792
916
611
567
752
918
81
231
75
959
555
578
416
697
575
185
602
170
83
242
8
12
591
318
916
395
251
426
582
201
298
131
20
358
51
314
744
27
480
822
580
658
107
708
248
921
158
914
614
346
707
832
336
115
675
130
168
199
186
587
870
133
909
575
786
78
227
228
489
471
857
74
555
816
739
856
891
98
324
619
86
721
721
653
119
741
912
321
478
736
536
13
254
592
940
420
685
740
448
635
265
400
180
277
179
496
747
301
460
305
272
818
889
183
945
27
833
622
986
667
951
818
589
151
542
560
631
664
182
123
734
481
243
627
749
740
657
794
26
836
804
206
912
961
586
744
891
360
917
580
765
839
84
726
900
856
101
891
254
143
186
411
804
968
762
217
367
76
514
446
873
59
747
803
237
183
540
519
211
554
222
175
895
516
386
388
25
906
82
668
555
749
745
262
20
916
496
391
749
434
893
581
521
152
448
105
353
281
507
891
699
958
691
268
143
271
277
627
788
495
723
949
805
736
892
613
702
593
177
716
626
662
805
763
441
326
465
258
878
170
409
475
239
748
831
814
71
783
51
877
42
106
314
250
462
910
532
294
378
740
341
29
454
722
900
393
903
890
134
497
288
749
458
925
618
986
944
273
139
877
302
999
790
572
434
339
740
154
369
592
10
276
207
645
860
581
649
463
493
291
848
683
244
559
914
442
250
234
592
641
132
59
669
919
277
260
663
511
467
527
61
559
900
923
456
255
227
216
325
58
10
455
528
864
898
585
33
846
15
54
119
18
190
38
825
330
965
714
824
405
985
461
180
777
223
733
375
188
824
136
923
19
714
896
881
744
226
171
31
159
455
984
650
179
913
279
712
900
635
130
103
837
838
139
578
822
915
987
976
402
29
700
891
37
338
507
42
992
460
698
909
819
583
115
807
424
429
869
289
128
159
264
866
823
49
754
881
893
344
15
908
867
278
497
526
555
262
495
469
847
81
590
416
774
619
797
739
942
105
53
341
748
594
862
712
36
753
294
948
487
10
770
919
283
254
797
690
610
454
333
809
700
639
139
882
751
564
324
473
789
541
139
427
278
728
177
624
352
833
988
438
575
424
583
576
455
589
440
335
910
844
686
198
587
240
564
29
706
229
140
771
352
863
154
168
301
706
656
725
367
42
233
881
56
363
205
666
7
446
498
610
470
929
545
114
969
862
783
50
212
646
4
399
938
724
656
37
687
27
896
909
669
34
146
394
605
353
818
113
82
455
835
437
994
968
944
672
211
416
468
301
56
680
522
136
986
188
350
310
953
753
937
435
626
323
166
48
692
243
99
736
654
965
163
361
208
614
570
911
627
471
827
785
355
880
583
645
624
528
799
796
154
136
703
532
822
990
132
723
285
142
297
890
907
834
344
167
123
632
379
127
144
289
980
491
264
525
210
285
851
711
0
175
404
923
21
792
919
640
369
178
198
192
803
899
391
930
126
649
994
191
146
595
346
602
104
184
205
316
13
677
207
848
88
932
426
982
711
680
59
580
39
323
916
558
359
688
139
242
359
327
607
409
67
456
724
115
272
327
119
118
526
598
473
994
931
109
207
536
89
391
141
566
189
453
627
477
568
324
551
922
731
667
58
890
682
705
653
641
959
58
126
686
922
601
372
335
708
552
780
646
863
546
194
17
310
652
871
501
760
670
772
801
639
56
935
993
986
14
388
683
648
650
129
506
717
471
979
914
780
499
940
858
808
576
94
138
862
251
735
551
82
622
207
733
301
952
514
598
484
576
47
353
634
283
436
948
332
530
88
783
439
574
269
772
767
49
575
246
361
812
168
186
42
924
881
322
925
755
461
688
99
914
547
213
252
128
536
48
363
558
815
96
887
883
633
7
777
657
99
374
38
649
168
901
869
442
667
754
367
893
702
49
647
309
118
847
363
887
180
156
20
238
987
686
425
861
374
376
216
503
638
335
138
783
365
775
670
66
67
203
640
121
518
375
494
917
899
265
463
151
132
982
565
836
678
635
890
22
20
593
574
890
586
431
253
23
589
785
188
963
408
864
458
803
829
220
925
212
313
944
439
236
934
601
530
40
854
769
539
719
473
554
401
612
871
148
972
163
35
47
985
681
503
780
724
258
235
646
43
487
627
701
95
180
959
85
855
199
384
838
462
100
725
613
671
813
773
264
307
979
984
770
477
193
576
48
633
478
76
550
67
780
336
17
619
568
982
421
752
509
144
345
107
596
487
759
230
958
894
401
889
242
199
833
532
51
990
994
397
25
181
67
429
49
75
449
168
882
683
200
142
151
255
827
447
378
302
929
322
384
522
268
43
677
227
670
445
283
34
852
596
747
473
730
492
843
634
378
63
83
726
832
970
472
631
297
540
951
582
381
999
886
566
262
422
693
449
654
429
256
461
726
810
960
98
611
270
877
403
895
497
307
420
154
730
359
758
308
471
412
835
389
64
299
634
148
320
884
252
54
947
681
745
72
414
284
326
576
895
189
418
825
300
997
820
689
994
622
930
522
337
856
391
872
308
844
644
804
120
180
772
464
735
517
583
205
614
78
816
935
546
362
968
423
706
313
534
448
760
340
107
906
843
999
982
775
184
310
444
895
363
903
880
464
797
370
22
523
811
471
306
199
749
36
766
636
547
3
533
365
438
645
467
92
604
411
999
35
47
531
940
379
727
19
784
516
118
194
692
425
366
250
989
673
399
654
586
379
69
491
207
582
595
319
932
21
442
362
142
734
119
277
620
201
683
301
509
245
604
721
961
43
980
607
635
108
951
202
762
59
172
714
313
539
773
332
206
48
815
991
464
550
284
661
194
634
476
623
851
847
817
160
548
485
669
138
829
707
387
131
275
560
431
190
201
91
137
517
891
76
244
243
485
917
848
768
861
382
402
181
335
986
559
610
7
232
229
451
227
771
857
493
619
570
832
947
9
290
779
795
655
630
752
484
161
579
347
867
685
532
751
789
884
686
742
989
701
66
14
226
123
689
649
362
580
405
60
268
285
677
942
767
375
596
54
595
198
657
311
496
762
88
854
420
593
999
428
412
624
805
449
238
542
624
877
425
869
780
18
546
338
898
363
278
684
997
68
928
908
229
462
170
186
10
644
365
495
520
914
527
965
540
477
605
40
479
28
435
863
89
107
644
513
565
915
183
128
820
642
613
134
719
334
48
939
692
932
35
321
917
652
271
386
727
208
423
633
393
898
52
31
719
490
73
680
796
156
628
331
592
997
250
938
644
368
908
469
545
290
650
700
779
23
606
57
274
392
397
572
755
21
85
522
505
205
851
695
937
450
629
733
100
588
73
594
646
751
361
702
511
199
590
522
584
224
576
920
881
868
163
917
548
150
944
964
640
122
973
104
806
454
204
663
21
6
501
743
730
358
226
441
425
532
742
461
335
640
924
478
467
727
163
791
465
609
412
128
302
190
559
784
429
175
178
690
470
187
669
669
55
760
378
243
99
468
720
658
697
5
314
42
56
229
821
626
474
904
230
683
216
231
440
341
912
175
126
738
516
238
998
591
111
934
551
220
511
258
374
125
153
99
749
195
426
834
295
419
379
324
645
813
680
524
234
479
734
508
133
875
95
371
501
794
617
242
353
67
912
743
803
210
412
882
105
962
356
775
890
716
276
1
345
928
638
311
440
901
529
779
376
256
976
553
5
603
812
430
946
691
999
777
117
718
458
790
215
229
808
680
294
836
135
82
532
812
272
326
954
560
157
342
673
877
188
971
295
677
832
926
706
4
603
951
122
40
767
183
228
573
718
604
91
249
449
779
901
127
999
296
797
32
277
864
92
611
51
841
799
4
961
243
364
76
319
73
652
421
361
180
67
794
641
134
915
46
286
61
87
459
660
379
663
899
277
716
461
569
974
867
835
815
765
79
693
644
941
173
680
214
581
366
717
755
393
679
341
956
961
832
506
989
184
825
830
709
878
555
611
437
543
259
118
427
964
606
583
536
945
808
450
467
46
639
603
276
143
874
239
301
890
437
938
621
462
75
256
1
379
998
990
684
29
897
81
877
704
422
862
990
827
545
107
418
526
320
159
171
149
931
157
416
814
189
253
152
389
724
20
444
301
41
322
441
399
829
16
157
696
822
806
272
211
65
950
926
83
712
614
34
634
647
706
239
451
117
8
23
367
338
187
697
292
713
838
561
919
214
168
476
620
900
184
609
20
515
860
119
981
381
594
583
621
217
87
739
656
112
413
215
153
670
390
442
161
885
894
457
367
526
418
927
461
696
478
2
527
52
991
416
5
298
58
805
935
266
424
35
102
832
872
155
197
508
188
41
401
368
223
528
291
157
119
415
330
727
28
46
771
644
869
285
549
795
297
52
123
189
335
732
736
94
417
936
52
354
965
813
315
119
204
572
515
703
672
165
890
754
859
661
151
595
520
373
173
368
265
413
717
489
875
570
75
209
486
65
972
829
329
384
596
797
983
908
615
551
82
461
64
491
609
92
971
626
678
124
556
966
704
357
820
792
412
238
587
893
686
578
418
465
734
486
917
266
298
451
236
287
940
4
647
282
567
82
170
169
954
108
402
434
591
867
353
447
448
793
863
645
162
339
419
137
795
169
828
98
452
505
524
598
884
204
965
758
74
140
616
946
481
552
95
564
580
474
606
162
329
25
26
870
698
937
610
672
846
850
176
714
912
91
298
544
784
74
233
956
797
194
308
835
713
643
711
375
329
340
410
101
206
75
13
12
861
94
611
92
524
465
517
621
329
394
940
985
385
996
926
533
523
123
486
2
400
324
80
61
296
195
279
171
806
600
741
692
901
771
443
769
517
584
246
149
624
374
44
723
527
267
111
74
739
510
335
351
415
266
918
373
783
192
638
648
61
907
144
632
824
459
130
517
166
35
955
61
663
378
815
220
858
204
411
694
251
763
847
154
64
824
753
165
507
495
986
509
43
577
835
394
80
683
7
910
593
763
620
414
466
190
634
442
309
269
790
176
925
727
773
711
842
5
394
715
624
419
580
23
867
905
100
965
716
670
338
269
500
507
323
333
850
552
817
770
784
31
707
310
835
820
407
551
360
342
138
250
577
262
989
353
880
461
212
525
337
269
378
588
295
4
310
699
399
790
802
604
795
788
684
698
841
145
675
181
382
208
693
770
79
126
27
2
135
665
672
818
835
737
544
930
699
322
347
665
857
713
547
741
213
690
140
503
941
564
900
169
253
11
166
988
931
865
269
775
893
346
137
576
322
321
43
100
373
226
905
629
438
881
238
33
740
585
175
0
558
132
580
604
276
246
782
317
57
403
642
988
77
804
223
671
191
229
350
498
992
987
393
78
232
574
257
893
235
984
706
937
634
573
753
626
352
768
110
50
673
259
529
492
251
708
577
239
620
879
282
625
275
802
598
430
585
121
54
294
802
802
895
341
902
263
720
363
358
720
446
549
787
295
227
848
152
424
411
696
688
908
822
943
626
232
486
830
978
83
482
683
482
456
921
294
733
141
836
263
195
490
522
652
332
277
580
978
181
314
978
913
659
949
481
53
846
718
33
321
41
242
238
613
597
876
690
11
401
465
250
652
659
462
961
1
729
617
667
12
524
441
818
534
29
53
21
440
658
421
448
872
371
855
743
522
438
492
494
835
34
180
781
870
267
979
341
656
102
337
229
997
55
159
363
392
450
463
392
103
899
309
210
521
36
495
323
340
825
272
27
602
296
514
936
805
712
21
363
6
678
225
249
405
71
409
860
180
264
259
211
698
571
435
885
408
908
65
432
124
842
357
297
926
704
672
218
197
569
380
53
711
999
891
175
202
689
648
799
719
34
769
271
912
77
551
399
673
917
395
258
901
824
573
824
367
872
269
537
215
887
238
771
937
516
17
81
203
266
530
541
934
601
925
725
768
910
342
371
599
562
103
335
137
781
926
108
25
46
468
499
505
547
303
968
422
952
715
983
900
831
937
42
498
248
309
219
233
118
964
889
794
436
280
12
52
368
374
806
184
63
779
857
638
171
159
621
688
90
606
833
218
782
168
1
419
477
36
269
594
787
286
302
737
319
457
392
490
832
575
213
695
156
187
521
835
230
759
720
944
292
694
320
8
685
955
229
995
491
210
224
930
164
531
171
888
573
253
321
704
937
35
193
769
548
275
684
757
272
1
109
907
665
437
210
574
871
181
922
849
255
35
891
113
380
246
270
819
914
929
848
593
723
243
536
648
891
371
79
874
353
552
792
328
597
334
139
112
761
473
252
56
394
421
48
567
303
906
143
82
890
906
968
388
186
302
344
561
799
897
673
897
110
856
727
147
441
909
75
262
664
191
97
355
958
559
430
937
331
26
75
431
790
207
885
619
946
156
549
582
653
731
247
492
55
983
157
478
33
755
430
391
943
155
525
185
6
442
697
374
238
20
525
137
441
984
698
395
126
282
79
877
656
479
502
497
74
879
250
577
715
869
164
353
92
931
223
385
660
769
315
919
215
395
547
703
238
641
377
389
276
960
139
402
799
633
738
472
999
630
197
774
253
797
106
296
807
757
704
58
758
75
50
839
684
804
8
108
18
980
383
239
506
827
194
370
877
665
298
986
480
851
183
924
334
71
52
474
654
827
329
470
285
429
848
182
696
397
765
941
176
373
93
202
208
651
87
48
348
880
759
762
370
866
781
25
730
166
52
16
509
531
949
855
137
189
504
495
153
8
844
989
943
549
166
959
884
404
361
410
914
160
715
394
778
650
457
678
534
960
188
371
284
166
46
504
260
91
480
169
454
805
311
322
98
225
115
739
217
374
713
568
621
405
769
511
951
308
251
931
370
753
699
248
620
643
485
798
43
750
199
500
781
31
575
250
593
600
906
379
10
500
911
124
419
580
137
99
850
717
639
200
659
856
169
6
953
79
986
210
226
404
628
447
183
131
476
370
144
92
649
588
578
407
663
480
168
40
593
942
336
188
503
624
944
645
372
126
24
282
973
295
473
224
198
970
857
19
845
205
223
750
796
734
507
305
568
439
927
50
27
742
358
211
663
863
595
30
887
661
481
169
237
176
984
560
788
359
859
871
232
9
943
397
159
276
227
799
235
657
851
749
511
740
501
152
803
791
716
427
252
528
935
536
906
485
742
545
80
326
782
332
671
983
525
906
286
3
937
81
984
49
1
410
117
780
510
250
277
48
466
115
941
680
440
727
168
937
239
403
615
236
882
780
738
675
898
85
636
622
588
22
429
25
143
888
101
224
189
322
392
430
647
96
595
731
351
990
757
881
981
994
627
205
485
847
772
530
695
942
331
884
470
704
930
261
713
359
781
289
177
969
889
951
409
507
577
433
690
517
687
172
237
712
87
294
416
968
999
585
515
899
741
752
705
559
487
986
745
528
814
689
388
457
364
227
836
383
709
552
530
364
669
678
480
961
902
504
891
920
236
712
126
43
423
856
127
180
21
472
894
432
674
943
764
783
940
819
805
322
882
313
670
150
682
499
492
597
308
903
581
561
117
130
430
630
382
6
54
993
535
879
181
733
74
775
783
221
660
86
450
707
650
746
807
693
15
272
226
624
286
538
123
419
369
56
499
145
118
636
352
363
155
56
331
137
303
557
137
696
739
789
796
588
896
383
771
334
120
942
161
100
525
409
433
451
922
699
171
856
762
115
740
572
251
203
617
855
101
817
72
572
26
275
808
239
710
161
339
452
431
134
104
498
334
16
284
537
810
849
735
61
903
537
470
484
558
521
237
792
877
891
878
926
833
176
987
909
350
816
740
994
782
947
122
784
670
701
782
677
352
401
920
121
969
668
654
322
299
962
296
507
977
522
864
754
325
127
459
12
355
224
93
913
733
708
10
498
106
757
189
409
744
175
238
947
879
625
636
89
63
871
789
700
872
518
199
732
554
350
729
76
289
275
310
466
179
710
900
631
489
8
402
263
347
806
591
41
458
64
521
50
200
916
696
739
514
597
182
107
691
420
749
63
407
308
527
767
784
41
358
228
380
668
902
45
883
920
306
489
265
715
414
707
106
719
163
61
132
694
108
844
510
320
339
709
174
618
642
821
710
813
385
421
360
311
387
26
269
605
351
156
985
729
845
569
820
75
708
268
597
102
38
734
986
921
454
804
491
704
724
32
459
954
185
878
61
358
477
673
844
260
286
338
15
825
546
718
842
372
152
984
471
447
655
387
486
736
269
352
971
478
583
484
20
529
729
683
14
229
220
389
881
20
127
62
928
290
823
668
876
299
886
940
587
99
384
702
604
278
497
207
545
801
156
358
467
84
725
59
785
256
550
217
797
360
463
759
932
124
936
573
275
503
147
258
626
611
229
652
843
981
176
679
736
890
373
515
304
584
623
663
452
201
835
928
812
509
250
172
106
59
58
812
75
602
663
949
551
242
233
827
52
311
150
205
17
135
47
584
628
624
411
875
763
603
296
13
467
826
331
56
893
911
839
387
652
302
863
116
993
697
436
141
729
739
680
511
322
535
924
486
860
131
969
559
683
806
782
425
446
186
75
734
338
405
365
99
590
345
540
332
866
815
65
589
219
52
344
273
442
730
214
429
766
21
366
784
22
159
172
476
826
468
349
381
146
39
140
749
529
298
832
410
614
653
697
512
820
944
693
311
947
107
720
598
530
61
961
155
36
810
488
490
711
863
840
585
373
21
383
979
503
735
407
401
72
167
120
932
352
526
847
964
388
769
285
909
25
946
437
341
801
373
203
215
424
294
935
493
872
936
74
635
427
545
929
311
329
469
661
206
957
402
241
816
290
766
333
691
114
139
943
987
795
850
893
895
114
913
582
895
16
492
546
489
927
958
520
219
726
458
933
221
189
645
180
97
496
936
122
401
496
205
419
948
821
574
19
561
791
611
795
853
45
841
67
931
370
2
761
856
580
755
90
285
280
22
628
226
693
40
92
825
117
618
999
990
986
737
731
646
62
604
850
730
987
216
250
85
648
427
920
591
102
446
680
244
943
973
12
793
769
199
120
422
315
751
853
118
494
706
563
250
145
415
64
48
756
455
421
239
888
829
598
316
150
503
147
384
130
411
372
981
116
409
50
167
877
2
842
977
296
191
42
557
17
331
391
761
661
108
209
446
701
562
623
175
129
882
142
599
519
609
485
558
330
185
621
390
633
30
587
466
454
599
196
736
671
165
983
775
450
878
202
562
62
593
426
264
350
327
373
196
706
426
780
517
995
200
655
880
825
411
870
322
489
408
234
187
938
165
860
40
504
252
618
238
291
284
680
130
402
481
687
633
878
236
773
746
48
175
643
247
339
151
390
781
690
304
957
77
976
201
61
370
851
499
556
859
116
199
953
716
9
617
540
608
49
368
380
203
410
668
318
375
848
513
704
367
499
547
125
664
52
142
249
890
221
637
861
21
29
380
108
222
816
771
732
222
922
211
11
661
405
864
825
533
168
469
415
594
97
162
498
154
748
825
951
697
39
457
202
522
85
553
837
884
364
661
78
367
844
560
752
115
446
689
742
170
831
680
901
894
706
58
475
22
960
948
485
679
34
813
994
57
729
914
731
598
18
949
473
735
747
879
295
723
973
762
427
49
485
926
841
526
837
253
910
297
84
854
913
739
936
625
293
332
363
939
416
203
638
981
493
909
533
238
206
298
811
984
251
57
530
848
511
43
772
282
811
368
414
684
417
231
788
617
679
555
542
667
668
460
753
559
362
424
735
368
574
982
960
982
536
207
186
570
954
798
673
160
103
58
174
987
776
957
704
962
416
893
379
992
520
982
516
60
107
864
427
268
957
763
753
499
515
479
38
409
80
806
126
304
927
768
589
717
662
527
46
224
739
319
744
611
40
122
890
346
742
221
77
30
922
631
858
779
717
51
532
128
894
240
273
142
276
442
756
423
11
635
809
61
697
132
413
857
947
752
368
271
911
917
934
751
467
901
701
946
760
770
557
627
85
326
864
475
707
137
121
169
442
796
842
259
633
817
755
852
411
596
862
69
930
49
645
892
500
133
781
726
656
359
180
185
737
207
781
288
971
70
628
858
529
78
224
269
637
907
412
15
328
297
596
345
835
384
540
847
343
141
118
431
26
471
772
709
855
360
472
348
780
600
138
238
683
365
135
68
147
19
596
634
609
669
362
619
522
720
569
330
103
264
503
624
163
41
794
556
941
179
804
549
260
221
915
331
6
889
848
635
812
968
540
310
217
29
275
524
840
368
536
941
476
164
845
280
823
510
809
713
612
620
700
992
331
945
199
905
604
726
232
315
640
423
740
297
360
280
173
938
124
804
786
443
278
790
702
312
81
12
233
410
739
528
314
33
156
638
149
679
359
651
711
721
5
89
677
140
570
149
16
645
336
613
946
149
956
378
229
898
400
866
636
497
424
282
808
346
682
404
645
988
124
471
469
197
399
366
61
101
260
805
175
746
678
235
860
359
480
998
373
103
548
637
218
590
572
459
418
650
910
177
992
527
920
645
31
260
433
656
783
868
217
947
164
728
915
717
189
682
449
497
787
597
762
469
677
144
480
453
839
154
442
213
951
457
353
140
142
142
346
568
283
633
847
703
961
855
428
684
256
841
409
831
877
7
16
730
58
713
589
144
434
127
653
75
892
994
786
409
794
798
196
286
81
850
68
706
422
504
144
234
989
171
131
224
353
245
923
736
42
57
256
102
512
412
375
49
822
832
1
485
60
959
319
821
652
289
356
902
272
881
559
824
986
421
604
839
208
450
655
308
453
458
829
906
507
81
232
697
725
769
726
171
125
163
139
238
270
932
143
894
708
942
738
283
624
213
327
451
55
548
598
889
12
307
915
296
231
437
387
624
18
717
63
587
720
91
689
264
689
979
63
881
238
741
923
812
898
541
288
287
399
322
504
618
716
89
375
352
9
172
622
398
478
748
401
568
790
286
545
957
337
103
752
545
97
104
928
937
662
647
14
906
253
904
473
290
65
104
788
142
711
20
385
71
245
236
618
11
407
301
324
473
147
732
576
935
216
166
753
979
311
575
339
511
628
842
283
333
890
216
287
152
149
548
323
547
731
606
681
966
61
414
779
532
229
552
624
852
816
714
750
942
192
61
754
811
923
303
209
69
153
728
304
331
147
797
675
852
560
544
619
775
726
255
227
439
599
109
920
245
427
998
541
554
820
218
606
581
939
401
399
116
717
829
106
585
797
558
582
441
455
330
452
270
432
23
260
364
661
486
573
713
596
607
279
409
206
850
579
491
956
16
851
581
282
477
354
655
183
669
877
875
938
362
26
780
994
114
176
862
811
760
120
753
72
474
697
80
976
594
1
900
757
140
34
460
986
870
105
190
787
43
289
699
20
802
168
609
81
350
201
520
139
686
232
463
231
759
907
328
505
642
621
971
973
681
874
500
596
942
767
907
322
152
489
816
982
903
91
230
972
711
683
103
60
584
470
926
485
408
373
443
218
582
935
445
836
303
55
286
879
889
495
176
956
332
794
117
363
754
453
543
553
855
214
832
547
277
108
397
355
81
908
621
24
353
2
87
369
344
637
649
692
471
0
347
310
428
139
167
506
874
74
641
818
837
547
55
243
887
313
801
595
608
748
252
557
770
615
453
50
637
641
385
200
343
326
697
750
126
264
208
531
231
123
96
568
681
46
201
705
955
260
700
149
58
931
589
687
974
920
953
654
532
47
64
926
723
575
125
56
730
689
364
71
478
258
867
753
491
536
961
621
2
666
469
532
912
578
642
321
11
353
192
581
970
191
132
909
912
384
36
959
619
201
207
518
728
238
945
12
855
880
859
697
36
149
915
854
299
926
40
277
608
226
239
659
798
34
477
249
717
164
220
90
91
924
871
263
153
74
181
455
517
200
581
308
954
132
998
307
782
540
208
396
252
354
823
802
763
455
701
695
835
327
895
884
780
194
593
676
254
339
559
670
759
63
675
940
497
319
283
783
889
479
371
858
527
693
228
650
203
249
146
437
673
636
260
508
619
112
946
443
212
381
496
128
50
462
768
554
240
581
420
156
967
781
755
895
75
964
886
360
598
14
869
392
48
663
503
47
816
813
676
690
454
943
652
940
819
324
377
903
969
127
158
825
118
77
774
727
531
773
513
212
454
826
173
378
368
243
403
649
447
455
532
866
250
484
76
57
177
874
955
442
620
841
644
807
986
961
546
160
7
111
525
812
436
825
96
277
586
756
54
121
679
638
428
193
254
679
843
865
634
431
248
267
34
590
769
827
652
320
31
889
584
603
336
851
270
370
223
449
118
311
210
592
432
670
545
347
131
423
593
454
955
350
900
129
915
328
216
617
779
269
302
897
323
543
279
118
972
670
431
445
523
774
196
416
752
910
373
251
268
381
191
83
690
177
940
550
65
941
255
565
748
612
561
46
830
619
310
366
547
216
740
663
736
935
696
386
759
187
579
887
973
672
556
472
121
147
873
367
579
744
511
962
635
234
205
835
389
203
685
507
679
657
28
221
212
486
906
115
479
789
857
222
629
474
471
535
838
409
791
547
120
51
809
574
94
111
681
520
174
485
211
970
351
785
465
600
461
15
398
282
566
712
734
493
752
316
772
459
882
322
437
911
317
996
113
288
528
798
165
875
772
164
818
213
854
751
20
519
447
659
826
929
271
617
397
843
946
355
812
344
693
633
820
749
113
801
814
427
759
678
750
338
320
711
971
623
484
218
982
833
677
398
918
676
258
507
389
243
338
20
10
811
398
228
496
401
452
165
310
484
473
288
184
130
837
718
56
640
736
340
899
536
221
672
268
301
716
785
880
837
800
336
802
231
670
732
171
590
510
576
926
407
465
774
969
381
434
500
217
231
541
606
436
999
85
908
430
832
4
203
898
402
494
9
63
469
93
219
386
652
764
95
788
913
20
473
489
459
384
498
833
207
858
538
352
346
835
888
28
436
619
648
791
270
130
218
48
893
104
799
338
959
356
402
908
250
53
158
61
329
353
287
518
958
93
725
818
538
294
70
478
678
658
57
640
173
43
267
442
182
67
496
718
675
11
771
397
31
681
611
926
47
171
527
8
27
525
487
141
999
151
741
348
966
933
341
59
569
511
844
973
326
762
361
903
328
851
443
683
649
434
675
186
786
401
510
870
141
812
68
977
76
875
772
237
93
115
237
295
620
171
951
577
291
452
948
147
715
728
691
879
66
500
537
514
815
258
816
105
83
339
728
836
533
520
668
270
316
11
661
774
76
612
200
252
192
664
885
276
464
445
217
977
613
602
633
427
473
104
664
863
117
498
933
926
150
417
740
331
60
593
187
243
392
628
267
127
169
747
896
11
228
560
919
687
625
540
428
433
326
495
613
158
966
171
160
966
304
381
960
757
629
557
478
420
528
392
264
903
461
233
523
695
483
367
877
419
904
583
281
564
108
462
871
909
855
281
880
119
770
430
764
927
462
153
859
511
746
605
409
266
122
702
264
433
162
843
696
521
26
970
77
816
403
54
533
928
755
897
376
298
358
692
188
408
721
946
586
563
691
683
282
601
81
918
876
165
621
504
140
225
263
13
0
628
763
600
665
571
760
156
234
6
764
98
788
71
664
106
810
234
134
67
701
246
600
481
206
911
662
557
407
14
264
236
351
52
116
281
485
867
257
890
258
195
3
433
537
429
774
297
996
414
797
190
53
905
232
625
58
318
160
449
15
996
530
637
501
98
703
305
454
327
215
854
784
644
212
279
576
873
952
571
50
772
519
278
841
518
952
718
293
80
778
250
887
466
189
428
325
61
928
896
303
901
804
172
360
643
336
827
343
15
195
987
420
812
961
691
572
968
974
672
69
255
1
622
36
777
420
795
609
221
779
927
124
456
205
759
794
416
721
912
248
324
306
822
669
986
816
656
669
764
246
783
167
224
214
423
953
506
866
625
656
146
620
828
850
400
651
173
794
264
733
388
764
132
413
606
727
338
380
492
781
531
788
380
70
753
648
955
311
766
228
52
374
610
773
525
425
637
475
491
906
280
902
140
108
32
74
208
409
441
445
175
475
476
549
814
302
85
182
22
92
775
878
182
725
810
984
654
802
902
58
336
426
240
121
679
687
779
823
820
755
782
616
183
907
897
739
483
981
260
500
902
278
969
568
307
994
770
968
301
386
831
980
712
165
18
435
371
624
994
120
862
184
510
775
557
714
904
739
851
274
296
57
21
786
556
645
336
953
413
611
955
671
365
148
310
487
75
349
25
426
63
67
868
666
844
599
0
777
493
991
302
781
685
314
239
565
245
775
64
191
590
539
720
474
575
253
346
457
425
811
531
9
458
112
845
166
838
74
528
684
949
72
262
895
160
80
460
314
282
703
550
888
428
38
202
422
850
423
892
599
964
989
310
25
828
128
533
369
30
215
792
389
971
384
101
608
949
902
366
298
556
752
961
594
892
338
53
376
319
244
116
282
356
144
581
715
117
53
96
314
668
261
116
492
572
241
509
245
397
699
475
911
333
354
306
161
3
256
820
323
771
644
594
831
407
45
698
175
784
576
8
284
594
910
218
5
164
763
678
885
580
719
836
636
402
195
648
396
878
423
138
834
280
20
562
530
175
458
642
51
490
448
817
626
823
747
583
613
504
81
575
701
475
222
172
362
242
609
539
923
70
951
346
609
556
968
401
795
90
836
348
835
587
911
232
925
977
418
786
142
261
924
185
288
765
371
316
775
666
605
680
239
383
161
109
294
367
667
443
910
239
489
623
727
165
291
688
177
428
316
838
81
26
174
556
933
364
902
549
720
55
664
995
370
627
545
522
912
745
718
813
380
681
163
656
537
140
502
842
290
884
78
455
29
213
567
239
973
665
744
1
100
494
424
612
496
218
935
659
415
548
217
338
161
120
874
703
270
42
269
626
959
971
997
545
623
188
865
750
144
426
407
320
318
901
122
931
957
860
302
736
682
209
700
553
567
501
811
152
584
99
290
356
437
411
741
109
716
611
717
220
309
968
608
20
329
295
930
863
50
204
897
623
269
35
567
157
294
322
450
42
706
397
860
116
209
388
28
487
599
250
45
50
185
260
398
367
862
6
692
597
258
938
195
438
757
626
312
584
809
96
284
545
215
704
637
681
639
784
768
232
985
739
155
793
613
534
861
144
336
594
390
198
927
195
432
196
478
366
722
978
248
315
365
770
416
977
625
681
742
87
390
547
798
534
385
836
276
17
845
716
135
864
668
767
711
888
555
483
181
895
445
557
609
694
326
873
745
541
691
74
190
256
639
662
263
228
130
66
950
303
473
486
323
869
122
434
654
669
870
710
184
623
989
782
360
153
264
980
68
908
198
146
913
873
703
33
967
132
210
987
796
247
255
866
369
421
1
390
891
222
904
121
67
4
485
789
141
794
997
87
570
490
757
959
869
371
313
114
729
909
448
750
886
205
707
571
373
642
93
506
763
510
733
398
449
40
77
960
667
782
87
523
947
344
541
736
163
628
176
60
377
312
985
957
630
576
471
302
381
865
479
741
211
105
3
886
86
623
693
783
663
286
730
565
286
760
282
425
147
697
946
990
614
604
142
327
564
222
83
888
619
195
987
557
692
621
371
431
51
777
518
253
378
807
746
452
119
917
640
138
743
819
888
131
153
134
764
81
796
973
186
730
916
700
822
144
369
891
676
231
287
476
825
720
811
62
911
810
126
287
264
639
666
477
367
499
63
540
673
46
443
808
151
874
171
876
400
537
905
0
755
314
597
453
615
572
286
682
181
928
929
623
398
982
501
780
10
711
60
455
11
168
238
648
241
689
414
848
329
336
396
166
505
75
687
384
17
797
622
535
451
341
498
883
538
524
959
324
633
946
655
421
370
813
71
646
895
160
604
948
732
698
748
386
440
29
394
339
742
431
356
823
97
196
186
236
157
155
795
893
350
889
250
124
217
186
185
856
57
278
967
13
393
443
262
169
76
899
85
309
38
875
953
799
818
519
100
45
712
933
120
966
655
94
185
559
671
458
102
188
606
394
760
158
90
73
680
371
49
657
2
303
801
611
622
425
940
454
228
167
764
681
888
89
733
318
302
300
515
447
585
434
881
307
470
367
779
918
387
964
140
45
650
845
17
693
205
445
668
706
194
820
400
217
630
842
229
784
357
802
627
969
25
957
153
871
887
529
654
552
406
426
675
114
774
287
400
562
748
238
115
721
583
45
193
949
145
575
678
555
715
713
470
270
388
208
964
565
541
946
162
908
186
441
962
738
869
76
457
327
567
828
42
481
238
205
207
284
462
904
788
466
237
220
695
594
32
779
479
449
881
657
1
453
616
601
507
373
816
694
532
576
408
100
434
469
539
179
76
566
735
149
148
134
878
205
368
245
443
298
83
374
365
769
765
266
788
345
837
400
225
409
897
257
979
461
347
980
154
815
241
559
370
655
360
892
832
532
788
826
102
874
892
507
751
522
184
740
911
571
573
106
250
236
578
102
17
604
651
516
251
54
716
379
43
293
384
95
220
501
812
194
494
522
175
573
665
418
972
816
835
302
535
727
398
933
82
87
78
943
53
365
289
312
590
954
473
824
677
205
165
569
348
876
211
760
512
487
195
108
433
692
296
116
597
143
964
125
332
243
90
563
724
604
890
367
540
67
868
328
784
819
84
783
609
136
238
724
944
603
469
346
381
63
167
748
624
701
62
427
466
149
252
739
231
949
489
949
170
921
75
669
1
790
890
847
38
387
801
833
542
875
779
683
741
834
969
604
587
680
990
408
92
805
233
228
679
815
377
366
50
276
776
491
463
192
592
694
676
727
12
638
879
588
953
132
392
466
245
853
588
926
345
138
565
126
487
81
135
413
414
348
242
560
456
850
874
471
120
511
768
10
280
503
350
354
420
936
38
431
823
587
144
17
269
346
983
777
581
281
731
123
798
634
420
51
617
515
86
678
268
235
525
916
297
49
596
90
499
531
722
61
805
96
875
835
288
490
865
196
462
264
298
300
921
807
85
690
35
684
303
349
660
244
806
65
171
205
210
945
208
735
559
522
409
14
819
831
250
356
524
583
83
771
738
16
599
985
522
117
572
721
228
941
127
384
398
518
573
252
693
528
775
463
51
729
854
994
286
568
193
106
794
753
273
885
631
429
574
255
437
722
317
521
864
938
86
649
35
533
333
867
355
114
544
442
467
849
740
941
22
204
482
666
580
562
741
406
431
685
250
568
175
651
526
75
33
671
326
509
161
95
553
836
652
831
7
561
293
47
453
622
586
799
590
884
415
322
707
459
713
263
953
837
704
556
611
75
825
254
256
832
667
120
574
926
7
235
446
549
854
645
161
810
185
751
28
742
707
396
306
919
374
322
288
449
417
65
589
731
181
602
849
647
786
939
981
345
705
648
161
546
590
134
281
569
175
642
15
809
196
83
927
200
566
621
227
254
258
939
854
929
12
260
86
406
976
733
949
30
173
673
947
24
134
922
649
758
456
640
713
529
837
905
536
722
99
411
218
375
81
556
108
312
913
798
73
276
332
921
93
13
274
693
642
134
334
386
287
206
869
867
662
96
60
492
691
513
218
974
895
825
214
554
207
707
692
493
470
590
211
47
811
926
625
851
342
529
388
357
904
559
987
248
814
782
728
243
89
318
532
839
776
757
744
494
623
267
160
431
706
155
28
827
842
501
774
734
370
535
335
779
492
935
930
172
369
435
248
997
815
604
261
369
828
450
990
133
632
831
557
610
144
665
454
381
678
377
472
840
560
824
477
298
757
859
792
639
684
201
248
392
820
470
50
908
121
668
968
849
703
897
235
605
668
771
770
83
413
209
359
121
248
121
625
697
211
732
621
701
219
838
445
926
643
771
370
494
511
351
265
428
572
772
403
514
680
652
177
21
723
271
809
376
522
920
129
770
147
508
311
533
470
244
48
534
542
214
379
29
842
173
433
545
588
911
707
841
715
441
535
733
899
877
93
752
889
601
419
114
141
355
568
96
797
600
928
453
145
503
983
975
17
522
637
719
2
547
629
758
882
696
478
776
532
480
440
676
826
241
667
488
602
462
353
613
968
78
151
965
208
193
136
828
806
418
329
801
518
451
161
965
839
197
887
372
736
755
352
199
866
843
956
557
164
396
852
703
934
798
413
934
546
769
892
366
602
521
647
139
676
707
856
756
410
414
527
76
996
505
694
404
811
13
170
997
617
41
7
262
825
972
568
403
973
42
31
830
607
511
660
929
256
99
872
805
923
978
722
22
496
547
309
628
994
626
776
208
195
478
207
256
299
638
30
192
115
573
525
412
998
628
525
414
788
190
763
799
294
967
292
345
156
74
128
517
193
700
59
399
834
912
235
470
123
637
913
567
167
910
381
858
673
989
796
609
401
172
243
341
158
537
215
97
651
411
432
392
428
484
415
342
431
854
81
77
345
151
638
888
832
152
873
984
619
663
895
378
340
997
305
23
189
613
425
210
486
792
494
242
657
143
548
710
575
510
854
873
53
888
357
117
84
437
855
261
334
170
799
607
171
318
743
430
464
667
718
958
590
463
347
283
712
461
538
759
547
506
404
565
322
637
181
43
788
710
835
976
534
938
931
852
661
541
297
14
816
273
648
911
294
386
332
691
796
988
858
816
226
248
77
449
873
107
588
551
33
39
480
555
694
290
121
795
251
386
330
89
981
97
906
613
258
913
816
675
785
538
453
586
669
403
451
872
271
982
138
804
531
310
499
910
897
208
225
644
65
866
351
579
554
82
645
126
777
652
422
483
210
877
189
627
784
744
734
377
602
907
774
922
751
581
626
992
732
491
502
322
408
932
220
8
518
39
276
480
367
787
994
178
425
308
835
642
845
21
502
200
991
407
700
845
596
415
23
471
536
640
859
465
238
589
339
607
817
494
727
391
695
50
368
260
275
276
136
311
605
951
927
357
280
353
371
553
751
276
674
260
608
956
308
307
764
603
699
771
83
367
526
711
926
966
904
425
749
716
856
257
743
48
76
113
406
781
962
231
95
435
743
790
960
548
940
112
337
545
276
391
211
44
779
812
930
296
852
197
741
592
592
361
600
335
641
19
517
634
645
44
411
413
547
902
34
38
926
195
26
395
362
61
271
108
964
859
714
149
823
751
939
783
699
554
847
692
519
218
35
442
563
503
843
317
52
423
20
831
231
160
395
669
975
728
229
679
104
735
961
394
866
597
916
748
239
375
856
569
562
733
857
842
328
589
278
793
214
793
852
496
518
848
182
281
501
673
982
399
567
261
305
297
680
485
787
139
537
480
86
959
112
461
980
476
289
483
759
461
88
640
236
237
929
961
635
503
472
73
425
730
712
174
896
549
404
795
861
186
738
972
328
97
748
400
358
765
332
44
757
462
583
923
298
185
306
81
26
204
950
359
425
630
277
849
135
519
205
323
7
618
863
159
876
920
878
652
394
256
964
673
933
38
430
964
367
739
300
766
1
215
334
361
584
139
150
42
345
595
834
253
98
456
560
889
42
340
382
947
39
381
315
711
971
691
63
505
535
201
882
175
705
623
13
316
40
16
851
136
519
310
909
936
457
775
703
252
863
392
787
506
221
786
427
73
991
221
612
241
855
503
932
219
916
137
600
316
624
811
657
424
238
997
141
862
529
612
17
436
217
795
60
136
174
818
734
693
566
654
135
108
597
343
320
458
400
391
248
320
523
731
29
804
902
511
104
659
603
655
761
405
271
400
528
495
527
141
48
623
327
489
179
333
717
280
85
787
771
300
895
88
569
764
419
402
960
162
95
776
468
295
440
980
479
498
714
830
732
482
413
448
128
479
145
459
746
482
750
269
72
678
796
103
724
765
404
553
906
239
747
211
93
431
821
667
709
491
308
858
345
307
874
148
60
283
603
794
727
447
98
652
233
528
320
728
402
409
406
178
581
402
990
930
393
196
466
267
833
756
55
171
335
370
462
474
279
366
179
101
368
75
117
754
84
895
318
909
916
584
497
77
109
338
163
456
846
424
838
536
89
34
170
911
211
309
771
335
496
9
15
666
285
5
171
106
215
481
941
669
288
425
431
841
764
915
158
880
231
262
821
432
782
992
455
383
327
576
468
925
938
551
379
734
801
277
106
991
778
657
161
389
22
144
212
625
375
405
129
816
90
730
375
610
287
519
88
321
235
937
399
558
823
650
251
14
728
57
630
430
820
473
832
820
269
740
453
46
75
699
212
265
536
919
846
435
333
222
874
213
174
52
846
341
630
199
253
5
456
968
410
151
662
366
699
831
835
709
854
913
341
631
505
3
210
680
745
970
933
653
356
504
201
340
246
667
222
550
620
703
278
785
907
476
77
931
66
805
112
559
56
725
314
361
354
167
130
422
348
64
537
947
212
488
66
738
517
338
131
503
337
926
433
320
746
805
673
912
767
62
35
244
470
552
463
425
883
627
707
730
728
181
914
272
621
959
921
39
526
672
915
190
315
680
159
167
748
782
797
649
265
924
613
883
692
856
207
151
2
955
809
602
104
718
433
143
236
738
812
215
654
607
259
635
218
283
491
625
471
104
945
500
916
172
21
814
827
788
301
710
58
832
39
234
380
745
490
942
166
156
979
881
440
536
742
70
533
176
469
291
472
718
883
133
839
634
550
209
592
292
708
882
309
997
503
589
431
22
321
164
167
204
679
805
175
807
374
806
365
397
993
781
347
176
449
111
350
273
416
330
299
230
650
819
962
894
538
526
239
373
813
335
418
536
98
366
601
248
222
596
140
245
160
203
154
873
617
262
999
110
401
942
449
573
694
405
230
350
646
41
883
948
537
527
202
339
763
601
454
723
857
415
573
299
186
919
132
38
684
27
472
721
322
544
537
355
93
927
948
986
452
281
90
879
226
790
454
935
289
424
973
124
607
674
438
747
218
274
194
121
971
952
639
72
729
602
282
937
710
652
535
944
528
493
395
461
353
916
212
625
432
647
443
357
860
421
134
690
922
960
692
912
898
768
168
607
116
778
382
353
510
511
671
712
146
423
95
201
531
835
342
962
746
580
229
74
609
587
523
578
175
363
986
235
147
234
333
645
151
617
386
794
639
7
836
41
538
456
180
307
814
790
603
107
550
182
869
489
918
179
305
661
830
477
949
134
375
69
750
255
800
585
525
725
43
788
522
843
592
132
196
573
772
480
739
865
488
707
356
597
110
156
995
316
424
539
919
785
677
803
906
666
370
974
595
735
57
400
4
488
327
352
340
437
551
455
2
928
622
254
777
933
424
969
64
423
920
96
718
844
707
744
238
670
819
381
99
484
985
945
392
894
109
210
539
96
972
646
175
181
0
267
262
148
878
352
386
537
186
982
414
429
859
880
307
867
473
428
724
707
292
463
342
848
724
855
951
70
369
407
603
81
872
809
90
890
453
616
645
916
799
134
132
952
59
672
273
715
309
383
344
558
73
416
736
140
264
385
77
33
365
849
139
872
32
80
110
877
71
422
244
862
841
698
970
862
600
563
198
453
378
44
32
97
726
186
478
829
676
910
688
13
872
808
0
205
736
872
959
106
566
84
939
853
49
116
764
289
733
944
774
439
721
747
885
948
533
236
779
50
43
233
51
203
673
594
883
587
86
496
825
368
477
551
182
533
928
504
902
257
597
148
156
747
932
45
818
714
645
534
614
160
115
178
278
705
549
460
435
323
57
337
750
129
676
163
627
313
834
836
63
315
225
941
815
286
253
293
989
311
117
3
875
496
212
530
805
471
296
324
242
126
110
2
703
810
518
757
35
326
285
876
969
383
635
603
503
844
614
846
159
705
26
11
45
685
223
900
885
63
337
91
398
557
427
820
945
477
92
310
282
621
573
324
237
451
344
15
760
873
456
390
718
659
313
828
44
634
967
735
326
787
451
610
781
674
220
843
350
125
333
481
195
507
281
11
747
348
899
363
777
414
993
802
877
839
482
698
148
22
492
999
527
848
999
59
679
580
593
156
422
895
229
609
160
918
160
716
768
201
4
302
499
733
683
720
879
860
818
719
770
41
400
770
139
345
368
785
554
925
445
592
787
793
849
311
746
150
136
211
951
320
280
120
49
629
27
464
382
679
838
21
790
614
214
989
970
864
554
413
492
422
727
927
824
703
46
816
188
79
72
631
876
950
235
520
758
963
786
784
401
401
208
456
837
807
120
623
398
332
570
883
772
102
910
150
27
797
446
994
811
934
88
881
904
684
953
954
320
949
594
842
167
89
105
174
242
184
403
338
976
507
888
730
740
642
198
363
565
559
554
366
61
734
701
733
588
229
720
411
340
216
266
568
609
62
43
319
997
282
141
232
504
13
753
550
841
361
515
209
468
458
629
557
160
633
195
607
398
789
75
291
262
862
906
769
239
732
856
956
190
675
709
448
471
285
235
20
463
922
862
488
602
990
554
602
713
237
852
177
480
616
94
123
677
788
881
370
703
967
753
737
190
334
805
236
98
237
352
632
62
918
491
726
52
688
782
169
628
714
586
108
326
762
181
949
248
283
176
97
343
469
980
566
998
816
518
101
768
550
196
374
209
159
940
518
42
383
339
273
992
60
986
837
465
64
160
595
376
980
756
511
99
448
856
480
86
196
729
682
738
869
304
144
95
266
590
590
138
62
541
296
243
345
75
804
14
201
279
43
473
222
399
960
702
149
147
396
197
899
846
71
374
328
578
9
532
945
174
662
93
337
758
359
762
842
907
948
746
918
995
806
825
722
802
280
463
352
25
470
501
626
536
996
438
376
109
640
961
106
555
311
207
902
214
446
210
602
630
31
748
863
749
379
766
539
269
553
778
77
227
489
178
605
426
971
428
172
193
684
896
353
369
819
673
843
506
302
595
419
389
379
47
189
280
756
82
970
401
699
733
472
357
792
384
890
303
898
265
666
22
847
876
849
201
270
398
27
413
118
182
167
66
467
387
933
434
285
635
985
525
597
422
379
333
972
434
847
786
628
454
932
683
162
400
768
486
639
977
721
740
992
718
953
156
341
540
755
267
226
647
620
206
195
796
293
984
760
932
273
78
465
453
696
652
65
564
569
684
995
674
19
98
147
753
815
922
385
737
769
84
418
475
596
265
547
364
175
331
242
989
899
25
90
278
534
769
970
863
714
621
653
640
675
74
584
426
95
849
848
67
191
550
175
519
42
428
41
855
691
996
84
994
323
830
98
446
660
832
662
907
259
741
562
684
51
404
896
418
205
992
314
59
264
549
693
305
398
469
132
574
432
399
529
419
24
214
843
977
47
647
398
716
377
610
713
731
504
106
20
982
691
55
737
943
251
747
283
130
935
439
784
0
246
980
938
635
926
954
506
287
499
816
737
620
769
507
116
593
884
712
734
323
71
238
119
254
684
226
35
402
347
644
290
180
247
395
419
344
733
80
227
593
971
822
882
363
797
936
276
657
711
149
372
215
921
236
30
260
400
234
639
515
33
762
757
587
941
26
654
991
415
178
670
81
178
990
86
215
616
967
982
336
365
96
734
4
523
373
488
186
569
625
581
158
335
760
820
137
990
748
45
951
186
264
115
277
823
124
815
563
253
857
415
721
465
507
117
940
914
318
838
619
693
760
515
753
205
264
418
85
220
557
497
108
0
985
982
39
343
879
933
580
297
245
518
499
980
690
802
83
902
896
514
888
394
452
107
488
487
336
800
775
587
851
159
995
562
344
582
961
464
443
496
740
369
412
318
504
570
450
983
329
501
551
636
58
34
540
886
907
790
546
896
799
31
577
733
251
656
925
542
534
540
110
74
911
427
940
240
356
161
548
890
966
625
630
86
506
657
942
504
85
586
325
571
63
138
822
346
856
34
65
219
959
622
395
932
597
379
196
55
850
859
491
664
726
437
26
364
686
935
309
362
882
128
493
421
705
790
878
80
670
981
901
298
847
360
361
372
236
174
593
804
309
934
371
649
643
46
721
835
527
35
426
107
235
558
609
899
908
11
913
216
957
969
501
540
630
253
46
650
907
947
425
447
929
114
378
98
576
110
460
103
493
614
205
7
197
522
776
560
986
820
277
229
155
355
162
651
135
349
740
800
911
351
525
192
724
655
772
238
936
185
593
135
810
23
939
934
279
176
414
116
294
106
885
553
518
876
59
291
599
306
332
742
703
91
781
641
713
928
921
65
727
513
669
86
553
317
369
116
523
870
887
716
802
786
605
949
231
27
627
830
976
34
871
423
185
724
703
770
710
333
776
194
462
868
201
138
113
613
577
9
423
341
869
360
273
388
837
574
626
931
881
554
333
897
204
600
267
658
483
270
726
110
504
636
85
95
101
205
278
260
345
944
885
405
269
978
492
139
39
195
554
939
512
968
372
40
642
51
344
382
532
581
494
972
88
79
879
736
739
28
558
445
287
986
24
113
780
166
558
938
867
450
899
672
777
642
797
607
871
305
999
506
719
904
382
890
741
651
326
95
68
495
452
29
942
509
871
754
656
192
343
154
617
494
146
119
849
938
425
238
559
721
407
46
138
48
30
304
619
933
801
469
899
866
623
109
13
565
81
622
177
660
514
642
239
109
709
574
881
490
398
110
624
204
259
76
797
255
722
119
828
392
939
749
569
446
429
422
976
485
479
950
317
503
405
429
32
672
138
621
89
8
113
313
221
687
108
302
454
135
294
60
886
938
519
430
80
460
852
694
726
105
918
666
649
428
978
823
427
956
726
570
515
480
457
378
509
939
7
968
556
97
2
804
510
271
717
611
582
914
647
217
194
613
672
185
139
32
17
677
228
865
893
586
349
421
343
951
467
147
124
681
309
71
811
39
353
821
444
518
589
605
855
466
46
994
938
456
627
161
471
334
716
511
667
611
954
285
975
122
93
966
887
834
469
581
938
654
383
961
231
668
71
855
712
737
419
54
80
22
626
308
904
400
595
601
816
43
923
950
26
295
678
113
712
340
555
493
926
891
744
913
385
753
503
605
213
956
18
565
371
520
230
440
544
583
597
738
411
216
438
661
721
651
493
95
551
550
844
454
740
299
985
697
123
317
646
208
178
233
635
850
325
401
401
564
671
63
702
28
840
348
303
391
266
167
973
215
348
274
300
832
686
635
171
52
163
819
28
3
10
828
74
767
136
601
510
41
565
571
93
800
503
930
520
938
288
617
687
46
667
279
616
353
64
276
801
580
495
761
211
760
39
342
655
583
529
830
613
769
49
991
442
542
87
217
819
490
379
416
62
578
165
324
498
499
516
557
958
681
946
643
457
41
51
174
563
521
389
285
683
749
600
856
428
416
919
200
785
169
824
153
249
119
496
79
364
474
57
361
798
642
266
568
31
871
278
824
215
726
935
865
44
463
911
995
347
908
681
576
194
974
421
303
792
48
807
381
270
476
188
639
558
821
718
296
150
708
361
856
169
366
646
633
300
577
985
956
633
791
290
733
556
933
793
910
506
11
543
248
842
915
591
365
459
563
876
515
450
724
721
632
717
38
634
490
891
2
386
554
814
71
842
894
264
112
46
494
129
870
355
980
128
161
885
966
724
764
400
444
211
884
85
990
165
858
614
379
553
840
313
131
894
327
440
884
526
502
963
866
371
973
427
610
589
561
134
120
615
730
447
458
443
378
922
713
610
838
535
922
925
900
312
784
945
233
609
386
401
250
133
967
992
425
853
363
412
268
672
38
926
329
613
514
156
58
996
602
288
313
739
450
131
939
293
110
231
306
940
694
347
269
662
583
964
990
149
262
320
796
215
23
120
339
278
736
802
634
247
679
719
853
141
176
134
689
739
521
932
240
709
673
613
798
682
256
781
189
274
535
445
595
349
252
693
123
946
444
998
254
130
78
454
381
263
864
147
546
746
410
624
222
428
718
466
239
73
739
387
662
59
693
440
208
977
679
408
202
424
693
621
603
975
624
938
809
910
193
823
813
530
739
167
956
349
967
978
23
79
984
251
421
540
417
133
475
210
791
920
992
261
643
827
519
309
640
12
858
369
632
541
590
33
919
395
199
307
990
354
517
863
690
962
247
892
665
769
350
464
744
502
89
358
725
106
236
908
650
275
928
778
661
24
784
873
902
132
106
614
118
482
484
84
528
450
227
508
960
924
58
985
192
18
294
407
207
424
692
573
807
185
161
320
87
809
647
649
966
638
589
995
665
622
937
312
442
594
606
640
749
959
386
376
399
639
269
524
56
40
717
523
803
304
326
567
116
194
736
455
890
771
691
622
123
636
362
100
662
279
970
388
688
345
891
394
675
575
604
527
828
937
887
549
639
112
255
464
159
980
761
990
212
937
313
855
77
819
922
462
798
823
145
540
902
520
690
787
975
800
447
139
406
211
401
435
122
149
864
569
194
869
475
510
122
782
622
289
82
254
562
104
794
510
134
610
135
511
448
367
930
600
928
886
33
419
6
247
306
502
596
663
389
315
932
244
857
296
887
270
90
206
1
801
687
514
720
658
872
492
554
396
724
673
762
417
634
492
853
476
426
939
301
361
797
978
372
305
973
882
637
828
668
838
678
186
421
455
747
96
926
373
564
146
861
691
914
236
790
677
867
531
564
913
847
57
735
297
525
299
282
120
20
121
738
947
554
285
430
975
433
417
371
4
43
858
732
581
969
817
868
285
852
509
860
477
5
286
244
151
66
310
282
878
49
287
697
681
120
269
81
699
382
336
638
455
443
462
743
604
896
687
198
901
871
83
632
21
745
960
640
516
186
239
360
386
884
280
954
493
875
794
121
454
485
141
48
922
89
643
866
309
842
557
747
542
665
309
265
571
977
542
602
34
976
805
758
163
382
20
771
418
363
263
294
386
674
758
330
357
801
967
134
4
860
543
854
488
102
315
914
29
218
280
674
923
252
302
707
895
776
712
795
673
851
34
615
899
75
770
692
4
674
543
734
158
717
106
571
848
698
24
511
594
360
687
49
570
77
452
389
833
8
453
337
496
725
40
712
886
493
465
285
733
238
332
78
925
913
490
196
744
730
283
182
496
470
923
882
609
859
480
358
625
963
251
298
907
704
321
981
944
368
575
717
900
601
999
997
867
127
395
583
143
60
122
949
300
689
871
792
778
62
54
778
149
93
264
507
152
776
415
800
705
940
541
828
43
175
847
490
80
57
647
473
375
198
159
971
892
567
490
699
281
925
542
35
819
77
515
433
305
628
202
32
749
257
234
790
604
902
388
362
688
0
250
563
71
632
515
266
936
850
848
922
984
181
94
960
51
52
603
933
662
427
264
608
172
352
897
725
513
801
923
486
56
57
468
733
224
788
647
658
51
817
341
778
668
163
939
367
427
207
198
101
340
329
772
187
844
847
826
397
417
13
935
462
651
572
564
564
743
520
255
732
602
106
235
236
56
327
855
692
370
696
269
69
561
688
815
483
372
2
354
246
845
163
751
551
884
566
362
657
614
944
760
927
280
544
626
365
681
549
441
475
846
527
477
420
605
228
139
102
776
398
663
988
313
656
756
265
761
292
978
617
70
404
831
89
41
239
296
948
444
24
809
302
187
558
115
153
584
880
149
226
385
242
652
636
602
563
527
929
383
84
806
240
951
461
389
425
311
386
773
168
498
115
521
602
99
813
380
124
374
634
98
841
127
240
12
567
415
450
986
110
694
772
480
206
484
368
681
76
448
757
849
630
810
668
150
716
499
143
206
311
938
749
457
934
420
839
388
133
404
684
870
929
126
758
474
583
8
876
943
447
484
489
200
352
584
10
594
434
137
895
544
260
378
599
5
591
843
900
106
274
581
924
171
657
970
121
113
369
826
503
228
804
777
995
333
386
299
169
317
766
172
843
262
149
534
353
365
751
324
532
727
650
449
533
767
940
700
267
431
979
950
390
633
737
968
740
709
488
436
813
754
509
332
113
319
418
103
856
25
325
879
928
351
961
649
986
922
723
169
848
125
589
859
767
271
867
873
439
994
268
863
23
132
113
472
841
443
661
141
590
239
523
56
548
969
531
657
95
923
350
683
198
791
275
590
312
908
113
218
815
697
519
142
569
20
835
459
45
352
677
755
801
437
264
233
328
843
95
38
929
716
98
697
553
274
691
283
590
90
59
962
68
996
605
721
140
47
582
409
207
369
423
336
361
737
426
751
947
868
910
220
565
608
535
325
932
404
72
144
102
499
955
664
876
630
814
943
737
607
504
385
459
800
189
666
341
236
541
171
753
292
171
287
957
851
57
983
920
747
563
28
919
48
431
669
718
319
491
758
854
762
569
987
419
551
718
148
827
355
789
37
164
474
144
241
792
415
423
205
737
594
206
746
634
425
171
968
939
945
188
724
961
398
216
388
10
878
472
818
400
304
679
636
963
390
263
541
196
263
43
595
271
518
826
437
832
678
898
609
855
152
296
645
206
747
309
739
937
931
731
615
424
461
286
262
756
814
605
693
400
235
433
927
776
268
59
909
42
731
379
793
802
778
794
896
568
935
74
697
505
2
595
407
765
760
806
149
428
249
591
192
167
952
139
207
88
155
778
616
632
572
391
299
599
104
910
939
829
551
226
252
160
804
557
933
415
350
823
677
897
511
522
867
201
52
339
417
941
462
668
101
656
323
357
252
933
461
174
343
579
890
40
21
885
381
362
1
836
812
637
476
558
892
680
406
947
771
357
619
784
368
521
121
58
624
750
475
849
662
825
807
949
661
58
227
775
790
295
524
282
141
301
684
646
938
620
315
622
346
379
924
834
91
730
859
710
866
64
106
241
658
730
895
657
534
228
338
368
314
672
49
640
326
266
867
444
401
297
378
39
906
86
747
679
582
859
253
670
849
486
775
437
232
417
920
206
613
361
21
707
239
404
92
23
21
833
435
234
621
650
18
401
35
319
490
490
368
236
464
690
607
954
949
607
705
431
939
436
816
380
796
204
740
296
150
999
88
421
463
825
472
37
977
135
792
32
194
653
128
390
516
151
724
475
547
222
925
94
616
673
897
438
781
604
713
913
790
414
640
222
286
854
114
553
71
181
453
776
706
953
809
987
337
125
371
311
595
470
74
487
755
174
127
570
981
20
87
534
616
667
894
941
247
254
29
31
117
685
938
266
326
564
339
236
290
106
890
805
544
711
325
350
639
911
849
749
729
160
701
860
826
445
19
642
345
476
113
653
237
875
48
389
26
137
277
489
487
520
592
357
898
127
695
912
75
551
160
453
524
553
439
22
54
77
815
510
922
954
250
759
636
339
344
715
354
496
738
179
727
711
688
713
353
217
593
890
255
474
27
722
590
701
575
590
736
588
730
525
263
442
562
239
254
833
441
77
488
761
642
867
910
36
234
788
410
681
332
256
727
608
549
107
664
785
321
165
269
57
498
633
779
605
571
552
966
576
616
334
589
328
881
919
502
356
305
670
239
316
307
201
507
956
639
155
889
481
316
679
856
486
493
377
160
516
273
253
230
470
394
775
107
746
462
998
878
844
792
449
403
269
630
401
28
605
350
274
887
772
945
281
318
304
54
682
447
913
939
354
712
973
134
973
894
876
577
522
508
803
801
455
962
443
750
566
450
181
699
501
507
429
868
60
875
634
935
934
74
958
786
748
630
177
10
224
163
657
492
902
245
400
890
853
800
422
130
502
504
667
185
171
459
420
848
601
934
705
296
212
453
427
565
403
295
432
132
766
209
445
177
223
951
435
982
34
65
868
758
393
640
968
443
48
482
981
879
674
536
113
154
438
467
935
935
675
591
985
30
286
884
429
111
868
730
516
249
188
622
247
662
434
878
233
417
954
311
333
110
31
397
388
580
763
654
856
485
798
160
120
721
399
454
854
762
911
4
843
746
941
308
197
422
10
999
663
419
360
132
932
125
179
506
873
714
695
981
276
790
326
102
472
980
113
100
935
666
877
545
363
15
18
97
279
558
477
528
650
506
797
710
569
649
476
108
917
608
931
611
511
123
360
78
178
239
875
672
466
992
46
461
392
726
671
641
938
843
653
837
633
837
663
277
971
627
779
397
324
827
510
907
178
454
694
648
343
715
644
696
86
441
387
905
283
915
595
297
493
690
415
702
578
170
967
584
448
433
237
716
365
368
367
703
566
114
755
886
771
755
897
683
966
727
128
275
522
679
717
50
312
644
169
913
582
571
904
52
431
743
579
880
536
207
28
808
172
682
337
465
565
846
646
4
141
975
290
214
347
427
928
937
314
353
145
236
451
830
753
655
294
642
568
124
663
783
776
463
86
978
612
85
18
239
296
80
770
572
595
534
326
984
948
298
84
683
24
666
349
92
997
441
578
632
278
51
298
601
625
605
901
407
744
654
569
991
117
615
770
311
803
403
401
497
278
557
329
738
60
772
629
544
679
892
729
779
425
697
680
58
217
22
265
490
139
955
321
108
454
858
208
131
580
250
191
26
862
289
308
853
279
434
880
21
301
52
673
585
743
42
848
775
156
612
478
258
108
372
105
817
297
634
234
924
620
569
871
475
801
611
715
53
925
996
502
980
512
218
775
939
257
56
642
761
524
249
213
762
467
859
828
442
186
795
989
704
49
466
67
898
139
146
445
197
196
931
880
713
665
219
920
308
607
589
478
588
815
930
569
138
996
127
29
287
694
101
558
704
221
378
35
245
405
803
579
474
725
720
966
680
291
4
310
385
412
394
573
846
448
801
108
775
776
624
538
76
842
713
487
641
150
84
275
522
842
734
399
795
104
775
537
5
624
770
498
436
527
148
371
961
71
451
712
115
130
969
412
244
9
577
518
771
883
36
283
85
191
674
483
693
77
473
165
610
749
909
721
165
680
982
987
828
25
894
233
87
620
205
430
858
139
246
375
748
915
791
375
340
629
412
753
386
662
123
380
611
461
308
661
860
755
613
861
857
361
269
946
563
842
200
644
772
728
935
364
731
527
94
589
179
487
756
771
151
369
44
719
662
581
541
716
265
477
652
534
271
580
376
972
781
534
299
458
354
752
761
416
171
93
792
258
412
393
225
182
218
264
564
181
119
834
58
544
802
83
55
859
605
927
178
159
236
190
753
864
193
310
866
43
822
48
972
554
889
624
418
302
439
118
148
578
621
737
161
8
993
538
355
350
224
223
3
84
454
493
796
174
364
152
973
195
886
83
593
754
597
134
720
427
994
591
894
45
941
399
505
584
922
277
616
24
965
204
438
380
453
927
488
72
736
705
450
190
234
666
191
127
120
959
830
906
848
788
407
629
452
837
299
523
781
897
543
208
826
674
525
0
245
745
26
421
252
590
569
554
98
41
746
449
167
618
312
379
35
116
699
291
828
926
586
874
947
604
340
973
753
215
430
72
997
405
858
693
999
284
698
781
315
464
159
190
261
192
897
273
985
332
687
216
320
365
869
315
215
893
765
201
83
870
850
992
716
48
809
221
346
534
99
365
862
417
622
4
218
219
233
643
596
297
488
667
430
151
814
387
539
116
728
853
319
174
244
506
353
761
397
393
775
138
68
549
265
750
848
968
706
535
744
679
314
131
34
440
774
818
263
100
44
283
490
282
340
856
496
614
980
585
562
330
876
134
437
148
885
740
135
451
770
483
724
435
461
81
30
867
888
640
931
460
553
663
383
953
757
131
510
74
272
950
72
786
22
30
42
697
570
394
82
42
889
574
98
811
425
122
998
834
857
79
836
715
779
61
204
895
766
177
862
870
156
520
594
122
333
591
403
461
378
539
780
718
498
816
723
669
376
505
741
320
287
785
786
679
796
591
576
633
293
688
118
539
845
624
220
267
273
7
713
351
123
206
165
395
967
498
939
881
159
342
134
949
857
907
360
172
90
455
137
382
988
584
853
692
892
165
225
66
876
6
615
768
85
976
526
54
999
315
890
872
999
609
400
607
672
938
402
407
512
520
233
823
744
977
544
28
362
600
469
541
958
235
540
723
344
604
665
747
0
763
98
984
123
744
177
52
77
296
972
226
231
880
475
542
877
838
8
94
910
411
36
187
914
963
7
477
968
930
842
400
893
473
712
785
782
40
996
457
158
609
825
680
742
793
333
357
725
836
71
641
983
927
206
9
106
287
803
96
455
536
453
771
887
574
972
339
540
340
393
293
141
850
957
31
31
806
929
933
449
677
164
753
750
388
740
528
123
288
325
460
732
79
999
861
921
358
599
752
724
718
451
444
141
428
31
263
884
456
587
630
379
366
75
50
319
923
426
930
922
782
39
715
709
571
101
449
473
490
681
105
277
10
996
432
743
266
616
179
494
370
940
102
46
178
368
43
854
530
716
385
336
113
308
196
90
328
326
375
563
993
208
915
11
514
952
419
296
81
154
369
83
150
432
973
892
852
827
290
968
56
809
454
60
441
664
521
267
215
560
330
118
205
162
256
653
505
413
501
591
194
695
551
519
915
569
805
495
908
415
261
118
503
849
754
408
35
569
607
265
863
547
151
413
266
364
457
659
478
855
584
22
984
154
625
89
109
680
837
291
802
241
582
926
752
183
567
429
93
703
618
861
293
374
430
636
909
712
972
24
785
430
16
146
630
46
880
136
427
354
92
618
22
208
369
526
369
474
918
813
445
577
863
964
197
947
933
229
166
67
588
568
899
596
815
467
289
952
434
542
577
548
36
268
526
820
977
470
956
740
842
179
415
593
140
331
928
502
10
795
119
577
226
543
813
831
4
787
579
742
487
791
461
603
661
51
219
708
91
318
266
537
168
70
981
419
12
714
216
380
144
311
447
1
717
444
812
851
735
917
983
241
379
32
688
263
978
845
976
848
805
736
541
550
881
462
475
606
922
638
681
177
846
189
628
618
352
128
633
819
748
326
880
438
297
281
201
551
4
455
479
7
281
653
527
855
278
816
813
100
411
546
126
960
321
191
262
69
464
931
852
464
420
195
37
594
803
940
345
773
124
0
565
815
322
949
356
827
429
312
984
318
816
102
559
587
956
700
252
490
425
32
737
533
46
342
810
949
638
952
84
264
907
992
802
482
424
172
526
361
598
760
73
921
730
202
177
844
828
898
360
492
889
439
444
415
892
889
128
411
986
735
514
743
749
593
549
383
536
492
539
357
893
290
811
458
197
183
484
978
495
558
182
13
459
41
235
473
50
417
110
376
164
233
907
609
101
624
835
864
237
189
712
163
542
154
893
670
86
941
249
134
294
508
370
179
625
630
848
149
836
267
791
174
846
318
281
388
636
542
650
775
804
479
407
68
894
122
712
810
843
776
89
887
100
135
453
766
667
818
8
279
609
45
180
936
520
653
515
761
813
810
16
606
33
272
745
452
434
47
38
268
375
766
606
129
862
563
347
667
828
241
330
34
689
307
218
903
398
861
806
429
228
55
585
7
974
833
505
979
128
845
283
640
24
457
370
856
470
627
246
108
552
133
602
852
497
286
356
449
88
451
359
793
451
476
963
658
674
395
366
985
363
209
852
878
208
544
570
110
244
856
598
558
368
884
790
933
998
597
499
471
754
706
522
730
506
749
51
185
496
549
403
686
454
103
93
731
433
729
110
803
228
482
50
501
599
901
359
40
641
669
269
816
646
350
365
784
296
320
35
614
174
264
868
2
549
760
498
406
992
140
470
749
117
166
19
931
71
486
577
553
686
95
647
339
379
545
789
158
191
931
786
441
185
105
158
769
90
544
771
393
213
526
715
677
220
447
5
306
136
401
313
482
68
511
989
122
339
601
924
362
233
551
958
385
164
798
12
240
100
957
937
827
22
563
270
795
833
79
186
510
407
414
406
364
425
880
400
459
479
270
328
320
836
495
501
650
772
791
671
857
266
522
138
844
184
79
357
951
263
763
29
95
145
773
4
168
306
564
239
810
769
429
376
799
892
460
328
97
265
466
309
799
666
256
28
773
625
719
576
650
230
685
545
315
343
719
761
159
53
317
902
743
794
81
904
881
952
486
476
852
766
204
271
972
756
560
279
425
627
192
25
439
545
349
680
990
479
753
291
205
993
484
604
270
212
120
84
975
250
615
264
343
574
457
746
289
714
573
723
970
652
865
728
125
117
5
396
613
780
633
558
317
347
217
957
281
547
9
550
360
45
870
944
786
414
502
968
689
692
998
529
660
904
679
187
228
824
498
943
835
782
154
497
830
723
52
34
823
81
430
31
102
516
727
922
130
194
817
495
616
473
983
644
769
110
556
506
896
867
966
95
236
324
954
737
616
114
847
50
352
250
925
92
711
92
884
168
486
378
70
600
258
895
958
728
345
468
808
271
203
641
984
967
846
165
821
91
490
986
90
708
550
428
360
48
411
933
811
277
501
851
127
105
427
202
124
558
667
97
351
880
906
230
653
998
890
287
734
123
819
10
231
541
70
563
111
286
908
727
660
329
878
146
744
442
705
585
379
589
613
1
324
58
175
829
945
272
589
466
236
893
973
888
976
576
161
822
121
367
803
52
411
569
166
825
726
394
337
162
365
701
591
105
932
495
966
565
336
186
561
6
516
331
429
632
745
71
606
793
168
688
657
114
31
406
315
760
656
435
433
457
634
561
998
680
285
481
18
861
391
633
902
981
265
883
65
825
230
573
990
518
302
4
516
688
753
175
992
691
223
477
624
867
667
555
959
165
165
358
805
0
875
988
138
265
575
10
759
138
964
558
51
319
534
500
727
830
318
447
662
853
808
649
367
612
707
799
440
741
349
139
773
221
790
886
903
933
933
838
631
924
689
497
684
476
199
478
656
28
543
196
295
726
633
546
859
51
306
822
46
355
940
171
63
228
162
100
714
596
200
438
801
21
173
667
638
525
584
673
275
711
40
921
745
717
333
588
369
982
996
158
142
775
92
561
575
697
102
172
663
716
767
781
292
319
844
892
282
273
621
512
754
389
55
326
422
327
810
952
504
181
430
118
420
564
260
234
641
824
244
975
755
800
461
8
262
368
606
187
320
711
498
155
21
223
260
932
936
899
662
786
864
307
672
166
945
215
65
346
174
118
246
190
574
755
524
573
356
604
18
893
478
632
731
721
170
14
922
578
263
137
788
625
711
726
716
26
517
761
688
444
664
48
459
228
605
643
784
135
361
972
780
532
194
280
837
280
779
756
744
64
291
112
616
250
454
110
834
533
686
351
312
32
562
700
329
433
297
388
589
223
837
282
136
990
287
612
858
268
208
194
601
385
495
779
895
625
108
536
28
611
407
379
402
9
710
361
346
15
350
91
459
468
465
805
779
784
619
858
588
782
400
11
403
978
635
566
31
254
837
557
676
3
521
329
443
391
654
127
869
88
305
887
559
653
766
879
860
328
329
913
517
142
509
487
486
882
425
337
385
318
868
947
76
662
165
611
101
737
809
111
517
244
454
47
650
34
743
617
858
910
865
551
348
839
962
470
961
2
634
739
339
594
812
119
955
440
655
689
505
157
936
225
670
933
35
273
256
609
889
533
293
52
470
653
389
179
773
393
969
659
853
97
716
256
403
559
154
382
590
217
749
637
584
937
290
312
963
725
788
897
614
869
112
985
848
627
720
993
409
670
202
125
492
575
702
798
566
130
366
608
444
521
316
276
609
30
159
222
818
805
123
137
739
22
290
175
446
544
979
825
986
501
0
41
10
946
855
598
84
175
37
423
601
328
925
182
934
580
392
600
127
960
498
13
62
555
254
919
190
239
863
899
285
12
860
856
34
31
495
257
307
732
130
158
147
974
929
91
362
255
621
140
348
329
798
17
216
953
459
477
65
547
67
226
203
976
904
78
664
431
82
757
914
170
925
816
8
230
95
787
420
989
793
947
61
444
944
722
404
178
223
935
201
814
515
70
497
305
98
270
878
387
114
366
915
508
6
198
303
233
717
60
714
487
145
253
890
874
482
167
325
680
217
776
269
833
379
351
369
616
35
647
407
694
653
674
318
152
867
231
927
739
351
18
362
964
582
730
59
859
656
638
935
640
453
337
812
33
619
670
179
723
9
839
733
962
458
466
558
841
930
465
88
700
372
751
820
7
728
268
735
604
742
379
660
133
899
734
863
913
671
884
309
261
989
512
715
132
107
513
148
309
558
951
101
714
625
407
397
20
768
427
262
269
34
974
890
17
815
721
390
966
536
411
384
502
868
826
313
362
718
911
163
172
524
409
339
651
521
86
946
96
611
657
418
996
973
246
369
520
114
297
487
885
826
948
636
849
193
13
572
596
93
181
225
175
343
118
927
359
334
985
942
21
942
950
446
62
609
652
339
588
47
213
430
662
938
362
246
517
621
196
418
528
992
569
679
199
917
211
255
938
338
778
765
621
572
376
61
250
765
442
659
896
9
65
902
965
718
692
124
100
802
892
302
556
420
196
752
415
253
873
680
264
361
418
348
394
742
136
322
468
46
959
152
447
866
125
217
318
226
649
98
233
907
953
955
984
763
631
826
878
899
634
929
605
110
708
557
501
440
656
597
231
948
211
738
307
902
609
874
346
69
459
779
778
302
84
411
195
665
48
165
297
770
305
413
127
968
577
964
632
589
416
298
411
118
186
989
252
174
833
638
618
60
554
211
507
206
623
508
741
277
486
496
821
800
484
684
942
885
76
16
487
924
663
338
990
694
392
714
807
910
888
13
367
525
7
747
249
246
275
145
574
676
58
21
460
43
368
452
951
698
934
808
314
507
516
966
29
535
171
299
143
233
906
997
502
895
137
865
64
328
746
373
402
376
853
212
806
396
166
371
435
720
133
831
462
765
740
741
944
545
812
719
377
458
194
464
955
120
938
111
932
952
140
822
277
457
341
503
373
774
529
966
575
375
396
411
989
626
80
777
464
836
884
301
66
969
58
76
591
277
397
484
737
976
662
35
843
407
550
597
190
399
318
347
737
361
77
71
623
198
741
588
257
930
25
293
115
314
854
697
373
17
887
327
366
162
526
983
251
536
891
938
540
359
455
637
93
241
594
862
89
119
212
358
619
825
608
218
46
360
443
521
665
450
130
390
432
964
122
764
995
225
842
657
153
33
693
643
595
954
964
656
246
244
290
175
268
631
986
68
363
4
183
342
348
547
171
817
582
558
981
127
280
47
320
432
119
16
216
977
694
630
720
82
524
66
808
573
639
690
915
342
200
265
297
615
701
819
672
635
496
697
924
311
225
41
59
688
631
249
601
224
448
968
307
504
529
956
906
137
321
12
673
934
874
189
597
543
914
144
747
719
70
740
733
413
674
113
994
426
882
475
884
400
307
389
773
398
275
519
742
739
869
80
5
606
877
406
568
43
528
594
581
512
659
394
584
835
977
231
894
632
105
39
526
34
109
263
317
326
960
256
581
556
606
889
676
750
993
816
179
640
843
776
35
68
819
454
590
288
115
840
160
75
744
680
107
748
236
897
922
160
36
616
125
523
399
138
944
151
654
36
661
882
939
621
327
923
509
691
772
794
958
958
819
304
607
423
438
35
920
701
855
112
464
797
675
899
135
150
554
352
362
640
406
17
36
850
687
530
600
839
446
359
776
95
822
342
594
524
754
217
709
182
327
836
231
776
736
853
560
165
301
444
39
419
677
992
305
285
587
671
2
471
706
15
527
116
415
517
393
186
301
386
670
646
818
317
498
743
464
74
339
773
425
194
466
515
963
944
398
757
328
725
816
667
683
565
499
748
137
606
184
679
489
357
899
319
846
686
609
670
482
263
576
902
781
934
717
470
97
57
306
474
198
823
855
988
118
398
398
204
16
903
922
490
119
935
479
424
105
216
931
116
11
387
386
36
187
922
432
41
530
735
589
337
873
814
206
393
315
787
714
821
155
23
692
202
644
4
69
486
748
727
712
409
460
129
685
331
153
703
701
617
849
530
674
320
971
644
344
748
462
944
883
260
886
936
390
961
302
36
30
159
177
612
529
177
627
151
331
749
923
917
448
353
551
420
845
948
110
574
398
198
837
835
425
825
127
368
407
390
650
11
451
570
561
875
637
487
707
479
734
795
207
785
911
398
172
712
740
922
97
750
744
688
567
778
156
579
577
193
190
507
341
571
466
594
47
986
313
823
121
671
73
71
326
960
123
852
991
893
407
376
377
201
626
115
322
114
805
376
554
68
949
299
345
468
265
689
567
807
428
414
802
646
824
811
788
420
145
363
107
989
157
499
180
705
396
482
827
347
19
587
329
582
981
52
586
943
667
629
161
413
83
963
775
615
517
854
299
355
824
359
574
664
233
760
225
328
317
333
962
990
413
244
461
207
551
262
902
629
419
218
925
967
584
726
527
888
995
50
454
461
263
940
526
163
47
626
94
654
158
957
640
27
43
708
524
194
685
48
833
643
379
279
621
697
74
463
979
996
490
55
427
259
736
844
479
591
915
378
326
710
708
978
104
130
642
985
159
127
323
953
972
67
819
44
985
778
231
703
382
966
779
962
955
953
483
374
946
48
613
67
857
832
884
530
979
877
708
277
610
369
593
580
897
973
604
706
279
788
233
944
662
266
330
90
541
507
175
344
18
709
280
367
888
3
685
453
372
836
976
766
766
526
207
754
815
468
888
873
735
352
109
533
67
960
536
2
893
640
665
987
153
321
443
15
576
524
760
118
808
488
50
514
866
21
939
774
963
479
335
15
534
673
430
963
541
651
358
714
349
537
392
274
792
592
593
732
964
908
613
640
950
174
364
712
370
698
105
881
324
489
88
926
912
384
297
593
687
651
462
157
741
631
177
971
815
420
2
275
322
672
167
417
417
239
81
321
500
906
412
866
782
904
834
164
615
417
882
839
872
200
570
769
411
295
457
438
904
870
798
865
888
351
601
238
271
488
120
279
442
657
482
813
244
615
442
636
693
441
156
325
948
706
716
75
383
907
736
775
511
804
113
777
515
727
791
96
534
506
614
899
743
662
92
388
264
226
572
254
753
210
58
720
654
764
596
226
657
860
474
829
547
358
943
280
610
169
937
896
251
323
271
674
322
449
561
482
441
879
641
390
80
228
239
386
710
840
380
17
682
45
504
608
903
860
277
881
769
164
838
180
577
834
860
130
714
336
203
683
662
485
64
23
347
247
921
377
347
554
231
526
376
720
970
610
529
941
830
685
468
473
244
444
903
308
78
75
488
762
400
325
327
833
171
182
663
397
993
393
398
155
401
245
805
77
114
639
957
348
77
661
823
83
765
302
646
687
332
428
263
634
818
444
464
160
349
105
586
966
264
115
192
310
627
435
493
8
869
807
584
854
203
634
830
665
164
276
413
140
898
652
735
503
113
148
309
471
707
977
191
892
85
909
310
709
528
520
773
3
293
809
336
112
452
296
203
746
607
636
26
320
452
71
152
324
91
47
742
245
541
17
356
728
252
163
749
653
340
42
444
514
580
361
977
139
858
766
133
758
473
64
90
883
988
242
2
87
110
796
319
426
544
745
74
42
640
332
710
916
289
604
206
901
50
541
700
881
188
866
368
354
58
91
95
354
354
852
953
925
904
271
92
783
811
591
360
679
99
16
756
894
63
724
560
801
833
341
118
926
837
576
225
269
349
818
578
821
326
693
957
478
439
197
290
631
332
371
778
946
193
81
650
937
953
432
754
237
630
93
659
937
953
63
10
433
434
9
937
426
424
588
704
437
250
695
83
205
965
587
224
719
822
395
529
769
77
994
733
203
312
304
421
41
484
666
293
313
120
236
716
58
60
679
145
409
625
168
938
938
940
963
221
931
490
234
519
724
653
797
219
590
254
61
703
158
114
256
754
740
385
856
887
335
64
639
212
878
737
470
874
226
961
649
671
266
903
67
653
360
827
41
316
47
329
639
836
449
919
832
447
226
572
736
329
881
213
102
16
667
127
660
678
810
102
854
220
216
537
262
498
133
816
581
100
941
323
519
982
559
155
163
178
279
840
473
185
515
625
499
490
651
677
935
162
728
948
759
19
948
482
223
495
747
524
822
712
499
857
65
70
233
331
303
411
795
381
59
550
479
54
605
670
955
82
747
966
420
687
652
214
777
134
676
446
841
3
982
866
239
537
943
365
623
19
724
468
769
999
158
593
356
988
605
286
194
12
39
737
131
158
89
318
927
556
910
67
696
532
808
254
846
46
635
254
645
142
443
961
786
945
267
705
58
790
169
8
821
522
556
586
744
918
750
252
228
933
616
613
144
415
481
202
163
521
158
51
48
715
866
326
251
101
111
225
823
343
412
734
282
899
523
734
106
897
207
826
104
574
175
979
44
223
800
194
80
791
981
858
910
838
399
80
84
858
232
692
704
295
38
794
219
942
476
806
630
645
924
770
497
595
578
102
872
955
642
108
590
259
185
518
845
251
894
264
538
876
808
419
658
996
513
598
598
371
805
948
905
127
311
779
730
322
164
576
567
966
897
896
759
583
518
411
199
958
87
616
457
843
615
98
603
234
295
386
139
957
935
337
749
916
861
688
805
182
878
88
995
6
275
680
265
889
294
583
903
543
971
868
381
839
0
154
304
344
562
488
520
171
230
589
6
161
948
973
864
473
946
672
855
345
194
390
827
554
324
101
126
55
458
847
387
528
160
123
654
715
855
505
573
473
754
575
331
106
643
295
915
563
921
909
562
10
714
852
332
854
164
619
879
512
881
88
702
215
376
695
959
29
63
785
203
502
838
69
631
712
80
501
237
126
100
619
502
501
279
535
655
244
275
956
838
247
575
890
149
223
772
957
598
200
96
968
181
969
411
970
778
394
690
246
398
171
84
170
624
40
330
866
153
648
190
857
356
37
942
152
52
669
57
934
437
824
433
255
915
612
692
670
423
400
364
550
523
579
472
664
624
81
320
985
234
244
838
828
125
705
75
309
515
382
901
762
205
491
717
441
584
536
270
971
362
838
655
326
387
233
702
630
685
564
676
952
208
923
968
348
783
963
618
113
880
860
16
190
183
218
212
468
512
916
705
793
731
779
944
922
519
353
396
607
994
383
451
797
427
363
746
462
564
965
250
996
845
729
643
172
170
551
353
652
655
707
610
798
367
596
273
583
892
268
254
492
590
967
314
644
511
666
560
220
899
585
917
960
833
122
519
268
152
496
485
503
964
1
752
652
150
726
779
22
738
778
592
149
568
64
515
389
593
56
862
109
135
298
445
803
163
151
597
568
950
453
379
479
367
537
863
989
45
95
878
874
671
509
724
605
196
441
591
293
687
319
789
623
638
299
22
715
715
688
109
804
553
482
31
875
736
854
741
22
372
29
931
396
443
153
121
925
838
615
812
616
621
20
109
41
86
643
408
44
480
133
478
290
813
359
725
824
390
4
848
453
640
389
637
447
449
361
674
995
350
940
913
212
541
258
183
465
415
903
695
972
368
939
290
618
68
529
217
356
166
236
579
181
651
407
37
819
126
238
827
37
441
414
392
763
684
619
848
487
305
387
170
402
847
191
977
818
878
166
762
955
142
698
300
362
878
643
512
916
780
765
510
130
301
687
130
536
275
898
927
442
684
779
441
326
103
12
987
447
106
453
538
557
576
616
442
739
584
735
816
941
968
532
299
165
354
576
322
255
147
268
248
352
883
201
604
90
836
191
863
379
691
697
351
736
175
785
902
391
8
800
96
49
769
28
779
73
244
951
454
138
917
336
635
406
353
496
152
369
523
354
211
954
97
99
219
622
20
145
582
271
656
490
99
368
670
686
726
545
114
391
603
450
932
649
163
651
625
501
751
843
838
859
243
1
296
816
598
907
789
789
517
866
367
793
308
921
170
302
1
673
418
612
660
747
579
883
11
790
830
742
87
659
142
964
268
313
352
497
491
30
732
280
580
817
170
640
631
274
621
251
932
397
863
86
355
371
783
440
317
290
455
374
132
944
464
535
4
837
144
712
929
106
786
617
105
954
56
501
491
746
893
764
261
974
974
765
641
283
609
431
638
650
782
707
857
117
913
483
424
105
967
185
634
443
258
545
873
523
34
924
889
474
588
978
208
273
545
71
594
24
912
340
929
542
240
174
658
437
82
504
354
473
986
973
445
371
189
842
297
79
749
259
311
736
167
728
521
783
153
310
794
398
349
622
603
593
595
350
378
755
468
334
318
333
649
911
352
74
230
933
692
822
262
631
245
392
240
584
428
930
859
105
35
899
344
212
361
757
243
338
896
611
339
244
281
946
649
543
664
929
123
949
687
174
10
61
63
430
336
291
204
974
509
588
362
313
528
367
52
100
742
164
879
552
817
666
0
210
694
797
61
434
37
829
825
146
805
696
198
786
647
468
579
488
729
173
386
503
501
772
281
477
635
501
540
34
848
906
708
786
831
428
381
314
123
567
494
872
379
106
695
257
140
472
771
643
396
915
107
484
514
849
398
933
168
484
362
262
265
692
193
502
165
277
359
864
976
159
67
168
40
73
963
565
535
995
664
689
236
32
581
703
321
44
100
590
329
47
94
534
647
264
75
267
708
821
208
305
530
787
480
247
152
315
400
123
146
567
81
602
753
601
666
273
218
549
34
266
515
561
752
303
858
797
319
872
302
690
37
425
372
463
298
97
552
73
840
878
313
678
212
222
781
919
936
634
224
327
199
485
475
214
518
320
140
693
538
705
342
436
856
222
962
948
985
223
942
171
638
833
977
164
853
958
435
618
137
920
839
78
538
338
241
399
11
349
655
229
810
545
114
795
735
297
915
791
837
45
779
643
619
566
780
756
147
909
65
977
527
86
297
112
437
710
545
426
859
947
475
242
459
923
216
111
753
10
684
388
389
783
193
309
729
445
645
959
760
988
742
611
805
277
689
165
595
149
887
884
332
426
165
605
684
974
45
263
271
889
683
477
938
555
218
968
306
880
713
978
106
189
675
484
945
294
993
436
676
966
52
446
701
78
293
353
720
59
591
467
77
632
100
222
65
872
372
71
954
894
84
289
46
972
196
154
998
546
170
64
589
116
184
642
428
502
997
452
454
906
254
593
394
779
200
281
786
785
556
962
695
799
826
876
494
390
224
122
202
23
631
242
586
162
436
890
369
830
67
9
620
770
589
620
822
741
52
69
665
884
281
397
742
382
439
248
489
307
427
180
744
864
745
81
701
579
888
705
500
791
279
463
831
935
749
508
504
938
995
806
404
494
108
779
154
461
497
526
200
472
739
547
461
834
990
354
176
711
283
857
916
264
343
857
283
313
123
438
508
393
499
495
674
191
852
365
750
49
312
279
245
7
189
947
462
186
356
228
255
194
211
153
97
369
717
349
735
126
900
208
949
63
704
728
730
262
641
25
342
923
61
835
836
182
734
506
671
161
375
577
180
678
962
439
72
594
292
327
228
999
652
573
87
624
845
629
510
338
205
296
606
970
834
293
741
343
106
997
922
298
754
105
876
100
353
496
411
553
805
10
680
857
950
627
917
324
884
769
583
957
678
404
211
943
425
744
101
551
544
569
853
707
691
528
928
968
151
383
466
648
84
394
688
458
394
778
880
6
848
528
623
351
953
417
755
898
665
7
934
661
571
822
174
818
625
184
276
798
487
894
55
791
354
15
338
927
113
136
364
849
432
230
277
970
194
391
607
174
7
752
68
896
543
464
768
742
394
226
252
616
808
697
434
211
589
707
561
674
808
931
963
329
604
926
842
886
700
395
816
213
183
241
986
910
271
754
839
307
226
995
724
91
930
914
289
750
636
324
589
422
717
529
217
913
48
560
259
636
393
828
676
892
513
233
293
164
852
919
838
499
405
268
109
356
356
188
861
230
279
814
96
989
444
93
190
683
197
762
309
349
314
768
616
54
403
268
135
500
21
801
156
722
645
190
482
942
522
24
144
363
274
69
606
90
82
311
146
152
240
242
944
833
195
662
459
772
231
838
36
955
687
916
488
873
339
163
518
498
819
73
562
429
944
420
597
703
371
388
474
254
819
773
384
595
883
638
820
729
667
583
152
752
723
416
856
865
231
413
592
718
288
753
956
507
673
993
982
738
638
249
402
666
892
862
107
938
524
944
969
358
228
228
240
678
250
709
835
193
598
133
213
163
997
669
762
953
306
237
735
410
870
593
652
512
607
711
709
880
525
784
965
674
502
438
476
745
716
482
158
299
25
619
8
345
749
585
585
585
587
393
466
840
964
609
591
665
27
601
834
727
768
258
816
462
823
538
317
756
309
906
900
534
292
70
320
259
656
369
891
806
594
731
779
719
692
748
692
430
822
545
694
575
303
597
62
910
263
605
97
251
778
69
819
172
290
297
885
36
646
102
347
823
199
981
995
378
2
971
822
496
853
887
8
237
814
995
793
970
1
250
510
904
170
547
334
732
277
778
646
7
391
526
482
962
564
25
3
307
107
997
669
550
425
862
250
993
187
82
244
945
557
112
959
780
858
174
648
66
551
631
121
808
731
277
427
200
364
504
104
805
423
269
211
969
312
429
156
433
989
473
716
817
628
840
160
532
674
399
866
797
912
364
408
908
672
840
228
78
600
522
329
527
371
712
935
508
335
610
583
187
386
422
856
238
329
335
342
290
219
921
235
727
340
883
789
174
770
606
647
654
659
777
110
675
984
768
996
392
934
536
89
576
286
209
551
320
612
329
587
238
182
649
356
174
208
107
650
617
803
718
35
97
411
939
632
957
51
111
103
788
744
187
791
133
643
376
619
707
954
995
155
692
961
833
656
906
960
46
358
292
15
787
180
711
296
611
777
711
624
96
198
568
697
585
839
740
336
497
703
545
441
201
186
599
204
90
219
898
143
401
46
331
0
0
802
601
730
579
883
873
174
511
522
514
309
909
177
466
39
832
58
890
236
773
469
513
742
252
934
201
7
620
153
692
822
801
666
62
742
6
713
957
897
263
904
31
349
109
878
500
706
607
737
361
103
797
717
644
707
875
185
978
190
38
123
760
896
827
349
752
514
161
292
133
517
401
572
93
461
48
300
648
775
934
584
584
833
871
824
347
291
13
805
982
438
809
484
939
992
868
9
420
263
296
102
966
968
73
507
16
271
634
4
203
233
749
510
492
997
32
743
362
110
421
810
988
813
266
439
490
466
651
51
306
759
422
12
511
293
475
47
985
262
991
147
577
860
96
829
547
31
110
334
439
958
284
967
837
653
788
89
69
313
366
790
827
105
847
275
179
448
358
910
401
459
313
379
128
749
735
235
152
627
618
947
758
409
259
295
806
700
953
205
546
87
940
898
706
717
909
941
821
848
744
301
734
905
446
451
52
516
943
85
518
902
995
50
678
282
879
607
168
398
456
947
186
666
496
539
522
710
690
638
824
162
332
104
731
155
477
560
145
446
7
651
633
280
671
834
27
414
693
30
103
351
866
117
991
522
954
130
374
365
437
914
637
857
469
859
441
137
30
755
17
45
584
302
459
591
743
637
37
315
312
434
924
959
174
597
546
163
470
956
766
105
121
359
970
618
677
99
674
91
637
825
784
336
990
46
528
546
986
992
332
878
519
363
18
738
715
450
497
403
566
679
934
303
265
38
38
261
169
627
440
604
3
873
230
151
895
222
492
418
744
564
757
564
405
619
661
163
926
204
271
686
367
459
876
508
772
870
824
129
646
463
704
995
901
765
44
297
224
425
616
646
609
225
592
710
99
962
377
710
64
605
230
376
598
747
196
411
354
78
831
421
228
530
101
109
156
566
153
529
743
716
436
380
111
409
233
31
498
25
394
716
677
786
26
374
853
172
253
204
699
303
193
147
535
354
856
794
820
528
98
415
763
524
864
831
794
428
833
340
289
32
196
241
569
608
813
820
956
537
376
569
178
463
684
519
712
681
769
467
455
515
437
346
789
87
708
455
526
375
657
322
570
804
800
908
735
807
429
228
67
67
29
602
297
709
40
963
920
39
455
162
491
94
478
605
889
181
786
349
558
978
912
420
463
817
525
173
563
511
771
743
155
568
883
243
326
490
272
261
640
289
890
156
971
581
446
814
130
460
139
288
919
636
871
200
411
401
972
740
461
897
614
525
191
673
126
390
197
396
930
824
458
680
196
429
386
86
71
497
769
326
994
348
128
705
198
522
903
416
566
835
93
957
977
696
483
143
935
594
465
671
417
270
283
705
745
970
405
379
618
663
991
918
188
35
606
154
122
464
75
587
375
586
18
358
640
488
163
375
260
71
770
37
988
726
668
830
291
141
455
974
907
228
528
516
223
869
327
14
709
178
470
64
971
714
130
559
332
179
673
792
50
175
480
572
984
32
409
807
573
818
468
811
161
814
568
613
102
912
964
984
493
539
143
951
129
232
628
835
368
941
139
295
185
380
55
903
619
586
985
577
820
339
375
743
157
557
337
138
348
49
517
828
830
252
304
829
645
747
722
993
430
151
884
923
811
94
729
308
671
370
510
900
404
548
355
225
818
827
937
334
353
862
853
650
604
466
603
364
438
117
560
307
588
891
769
343
220
548
404
63
27
459
511
440
434
248
513
416
819
836
465
169
89
757
484
784
924
139
481
67
300
143
533
697
439
122
287
30
63
785
353
354
444
970
313
961
634
19
766
598
12
237
643
568
873
628
696
329
615
690
63
401
277
975
888
975
772
270
210
913
170
527
123
652
211
93
720
48
998
256
86
644
667
749
133
910
509
221
745
182
845
514
333
529
477
336
17
875
76
450
614
5
499
200
490
949
153
351
777
571
390
792
98
860
33
983
206
896
430
130
934
11
220
962
145
478
968
496
244
329
545
281
465
577
70
954
778
391
810
186
495
776
505
30
14
474
350
319
254
145
498
16
671
945
461
158
131
920
881
647
745
347
736
809
683
691
65
654
563
898
483
390
227
166
942
456
27
250
326
932
312
213
256
984
771
720
700
577
586
113
67
679
872
514
24
581
161
386
143
331
129
298
324
974
1
426
606
906
83
662
242
534
61
223
480
587
877
868
58
514
11
364
860
838
728
798
560
714
845
786
52
69
807
721
255
567
717
956
744
144
373
174
701
373
587
630
609
105
921
110
557
874
297
430
277
131
294
460
634
281
206
881
174
422
292
977
996
143
841
820
973
120
350
190
260
367
341
343
513
384
83
937
769
841
482
63
537
989
393
985
570
739
234
513
588
353
393
889
193
25
835
579
370
594
110
869
925
518
18
868
293
566
464
449
286
267
877
107
242
738
791
483
964
896
551
584
897
694
890
265
331
970
327
859
443
398
252
236
868
501
702
579
754
582
25
239
113
331
247
447
232
75
226
101
421
414
632
152
937
270
332
548
495
731
983
318
578
880
650
844
999
214
431
398
145
685
618
741
425
393
606
821
89
556
380
508
741
769
472
469
3
743
689
208
676
566
364
562
119
200
504
61
276
756
882
830
198
107
598
566
576
892
683
406
82
388
480
402
998
165
21
940
909
699
333
922
949
613
675
539
692
281
276
557
261
834
226
179
457
708
982
762
484
823
479
963
663
956
580
286
449
789
772
839
108
223
58
460
922
945
920
511
387
439
806
742
496
762
182
495
146
415
828
625
196
783
317
421
67
912
767
761
859
856
524
591
308
220
11
134
446
592
11
654
182
47
399
573
125
484
626
560
843
633
78
67
837
796
912
273
86
612
420
294
779
106
234
811
867
333
470
458
139
123
985
699
426
457
724
623
140
0
700
649
615
886
324
421
337
816
557
330
458
527
36
525
175
216
332
853
504
438
795
798
450
838
325
988
912
475
668
745
638
22
645
947
228
572
672
246
212
530
479
878
171
753
586
6
60
854
555
534
231
663
892
190
191
553
683
692
697
228
493
849
688
489
10
60
681
897
921
588
730
958
700
391
260
701
610
106
555
594
962
890
3
768
303
667
309
345
889
449
252
736
530
4
530
406
398
321
45
3
494
132
116
720
377
428
764
271
81
473
760
781
155
185
68
191
213
808
217
205
822
332
388
167
414
642
294
232
693
974
723
505
584
458
56
556
477
258
902
583
631
796
665
638
709
569
471
911
812
891
465
226
626
411
725
671
659
336
739
964
444
183
60
33
881
548
350
318
121
366
571
859
58
699
953
506
284
770
156
879
5
569
307
925
121
589
651
899
623
388
885
33
744
341
149
187
946
68
115
808
115
296
871
704
910
387
879
517
138
459
220
445
34
780
8
236
692
495
169
327
531
181
255
774
853
10
108
69
130
572
678
777
948
569
330
222
682
420
213
354
556
615
848
922
287
30
579
638
313
504
618
137
836
505
488
785
195
5
860
625
245
755
726
648
807
657
758
689
998
219
922
553
406
301
619
664
330
273
854
861
571
223
391
643
933
143
334
178
273
399
150
316
236
198
621
391
483
766
26
78
385
141
251
516
15
430
650
931
681
535
4
216
315
332
869
696
795
341
958
176
843
164
587
805
497
720
744
557
810
489
591
268
110
534
208
307
349
536
264
815
282
404
213
174
377
327
297
338
398
809
522
259
703
655
127
116
268
160
709
983
627
728
966
333
234
528
736
732
293
930
524
798
509
96
766
419
874
61
984
952
132
970
457
416
415
620
290
713
256
661
562
686
687
719
145
948
820
792
564
966
946
373
913
590
399
467
226
415
259
887
976
307
638
943
497
372
968
764
649
683
295
113
507
264
276
120
374
28
365
776
494
550
351
579
765
29
630
317
564
233
422
722
514
791
832
963
274
722
580
32
716
60
380
149
342
619
268
304
560
681
503
398
785
716
504
493
830
736
88
788
640
404
292
258
163
564
565
674
686
123
806
427
29
199
155
33
773
87
986
332
427
521
163
399
87
605
344
524
747
846
626
804
762
480
55
134
300
77
523
801
422
80
240
239
607
942
155
343
547
358
657
110
286
764
529
640
258
642
408
4
954
770
758
133
661
760
182
293
598
933
1
522
531
328
365
484
895
900
530
708
399
213
206
734
962
474
504
538
698
842
685
371
529
294
99
773
641
603
992
519
355
471
777
671
698
664
338
454
863
606
526
766
448
48
67
217
422
732
659
524
75
417
742
542
217
405
856
279
131
219
799
758
391
373
631
336
748
230
630
416
726
715
981
642
36
234
415
450
152
453
280
183
258
229
428
907
891
64
459
782
957
611
175
793
70
190
110
820
8
636
920
104
813
905
985
820
183
444
479
106
369
993
817
538
939
319
826
879
448
790
493
582
568
361
970
949
488
895
539
168
156
684
165
71
446
905
89
823
764
394
667
884
747
817
882
56
565
225
417
978
570
199
985
586
139
209
330
644
729
980
342
182
785
139
680
247
31
256
237
548
62
414
76
288
667
148
6
365
392
41
537
336
452
808
128
720
492
394
52
172
302
874
793
351
453
793
264
57
401
593
166
783
697
956
602
470
142
676
595
96
987
223
499
226
283
641
817
292
855
911
98
10
56
512
993
602
116
763
54
477
701
957
283
206
378
170
753
732
970
421
836
830
787
167
502
753
570
344
108
813
892
283
495
156
150
527
519
2
974
329
987
975
916
29
117
402
363
215
929
877
890
327
947
769
74
671
827
695
915
701
270
98
672
547
509
764
21
634
615
7
957
185
954
25
362
815
154
571
226
249
257
369
121
21
160
304
150
164
238
478
403
729
238
88
177
872
843
71
25
454
130
583
79
963
931
772
473
205
547
955
540
29
883
328
342
540
944
932
29
40
969
293
263
600
203
779
712
525
379
903
296
517
490
616
227
90
500
467
503
145
732
840
178
496
704
80
845
592
44
939
666
832
112
266
290
669
404
343
734
485
149
312
661
601
369
105
537
484
615
10
248
157
170
478
473
384
520
373
961
760
923
532
980
845
960
463
457
351
491
835
349
86
304
443
849
338
637
357
125
976
265
881
610
675
460
787
373
794
794
884
805
701
997
631
402
311
68
648
657
668
623
328
660
445
574
580
455
239
422
256
283
298
7
593
239
525
889
83
224
381
309
797
679
399
942
109
797
205
299
74
39
360
649
696
263
383
619
534
615
238
187
686
892
162
638
14
709
774
258
641
13
59
434
598
7
140
685
858
560
501
5
644
960
52
597
230
548
307
238
996
157
546
142
800
889
600
491
57
219
601
377
793
184
941
1
106
343
339
207
228
790
102
543
254
568
599
256
83
837
942
220
625
716
959
316
68
319
376
851
742
860
936
72
625
735
935
923
252
269
378
727
679
865
420
8
466
109
740
282
359
977
405
167
247
506
36
330
651
961
160
210
623
705
62
332
139
510
533
735
160
401
672
124
955
390
633
344
896
187
857
655
414
227
557
784
714
274
525
154
479
189
656
435
724
299
937
368
798
694
543
101
414
310
786
99
549
958
535
720
985
204
319
81
55
335
698
609
95
389
985
50
405
550
893
839
686
783
583
850
591
38
982
444
730
41
830
691
230
979
139
772
653
612
749
72
68
399
385
254
129
731
855
701
467
379
912
883
794
460
927
173
659
328
305
100
365
409
29
617
474
265
621
783
504
719
502
213
715
152
748
738
480
798
933
475
683
791
987
868
391
837
248
998
281
562
638
452
196
570
76
106
970
928
97
132
957
708
819
389
332
162
882
612
348
533
239
462
810
667
662
321
151
353
600
689
107
817
827
510
392
282
168
705
471
818
921
572
569
444
677
759
731
84
879
908
143
36
408
449
67
467
50
15
492
187
120
57
847
789
372
715
386
694
387
994
866
877
839
745
655
917
71
166
738
398
385
381
582
347
132
249
369
664
9
740
560
823
113
693
552
444
876
693
920
828
937
988
536
813
93
195
486
747
202
628
805
881
682
843
17
962
327
801
180
903
38
870
214
384
233
705
208
397
255
407
157
920
1
950
158
437
469
1
901
304
27
492
545
242
404
760
125
450
735
642
432
809
901
801
477
659
316
95
37
505
519
448
602
305
811
791
419
322
696
909
805
783
159
403
818
302
686
205
585
49
556
471
703
167
401
23
808
305
357
613
539
841
543
946
983
669
20
368
578
562
712
761
305
497
829
201
987
47
458
980
942
409
733
115
723
976
968
765
663
970
302
879
363
808
237
440
333
655
98
276
42
602
776
618
156
628
148
580
612
974
779
976
483
931
668
10
777
476
361
929
23
946
712
547
18
935
624
300
354
213
832
608
16
114
980
182
624
823
453
768
927
304
511
529
874
304
394
737
469
150
654
954
585
300
375
773
157
308
125
868
714
175
476
98
637
38
353
618
294
555
229
916
936
669
743
459
838
650
105
124
892
343
306
388
41
102
199
389
611
67
378
690
498
511
973
713
430
688
12
691
964
818
662
456
770
863
208
209
441
67
40
718
743
610
286
285
162
394
325
35
804
690
159
997
736
441
636
678
927
763
152
742
287
759
182
681
978
409
854
546
926
361
85
430
862
37
46
761
92
916
783
769
81
221
986
782
735
539
425
702
233
212
48
73
357
316
620
707
400
748
350
926
672
261
555
960
503
912
691
578
147
616
962
936
47
84
929
587
586
906
290
21
526
304
597
199
544
673
771
587
96
446
820
387
342
458
852
620
943
466
851
249
596
147
861
320
705
895
740
933
534
371
68
401
838
127
995
477
217
713
320
376
990
635
722
107
240
736
240
542
74
428
553
591
336
486
241
457
189
168
28
52
809
12
611
378
333
888
936
507
975
190
285
278
499
929
255
634
464
830
220
877
987
778
757
680
700
897
350
837
943
75
576
523
632
324
104
640
560
121
969
255
942
688
518
5
555
994
489
624
145
81
438
171
869
729
300
409
76
51
644
339
697
872
242
346
567
59
768
570
721
812
705
557
565
801
468
879
670
120
462
366
520
481
123
329
602
380
127
372
201
494
546
839
552
855
714
481
999
754
508
681
115
271
863
312
697
127
303
216
988
538
532
727
58
969
496
2
134
29
113
798
913
69
923
328
799
537
446
484
27
207
817
651
16
418
228
348
899
624
737
693
728
89
500
28
729
321
664
197
88
478
374
927
158
40
328
929
210
14
913
747
612
506
693
599
234
148
305
83
368
949
555
821
182
708
936
237
715
217
550
645
482
780
463
228
780
978
521
336
468
821
553
19
40
83
364
178
43
253
614
691
269
396
35
332
865
815
927
914
593
182
955
474
520
180
712
601
484
966
901
85
221
885
801
317
729
407
827
553
823
75
202
521
739
584
542
879
229
517
956
875
246
439
790
721
111
348
892
349
826
288
464
512
25
454
881
871
0
413
235
617
702
73
314
935
671
274
117
231
835
574
649
534
486
2
45
973
513
433
190
55
479
374
600
382
910
102
3
626
279
409
772
649
97
553
59
175
85
662
658
521
799
255
378
773
673
577
338
448
171
94
574
215
62
815
529
55
963
869
77
918
490
540
712
161
207
254
101
113
135
84
986
961
738
222
250
855
876
304
779
991
422
295
691
111
807
699
245
275
84
176
567
71
708
8
957
709
579
113
804
62
449
563
845
396
349
276
277
471
227
178
816
840
231
912
158
919
155
713
308
942
551
19
323
250
704
453
310
614
221
137
644
720
996
370
790
880
321
12
323
977
8
743
382
886
843
228
310
9
27
848
859
196
321
203
102
303
834
653
999
472
481
221
816
443
319
101
615
418
157
611
492
182
798
854
274
147
95
819
528
408
607
882
967
16
251
790
81
481
170
946
577
805
366
6
989
20
49
875
40
102
34
657
229
109
417
583
368
365
76
793
623
522
767
206
452
943
448
528
198
373
489
710
208
769
993
405
860
893
601
930
199
685
786
791
250
486
430
717
127
123
725
199
936
812
554
843
438
405
766
211
263
577
215
345
324
123
858
384
406
83
540
296
497
154
610
18
436
826
623
768
381
770
620
760
45
594
668
712
216
580
683
597
922
134
697
256
672
788
103
424
184
94
29
594
211
441
503
236
855
150
714
680
611
813
889
252
796
166
575
156
326
435
359
987
421
309
712
329
892
522
788
702
165
878
432
932
916
172
367
486
670
732
728
800
679
630
296
358
589
242
551
356
796
655
114
497
522
335
118
354
743
603
579
893
284
73
176
794
846
896
419
532
221
951
22
202
471
411
790
937
797
373
479
619
705
363
293
961
846
277
619
858
81
991
714
275
341
908
153
696
634
769
450
906
396
371
843
652
156
737
821
871
715
111
45
467
797
121
139
611
206
652
623
481
603
531
238
687
533
250
363
651
439
911
215
776
152
647
232
765
82
193
865
969
736
159
555
475
66
453
955
341
796
601
296
863
178
917
244
140
970
929
649
532
508
802
151
239
72
685
238
32
742
581
476
857
473
809
437
270
432
65
281
368
152
412
175
656
395
540
63
529
876
339
260
200
548
944
305
346
106
385
483
296
32
271
967
375
588
800
744
284
255
77
972
11
399
556
985
520
162
762
464
567
695
180
616
505
731
600
449
611
307
833
189
283
179
868
823
318
193
488
215
180
375
806
95
555
285
417
154
119
272
783
397
575
249
129
962
11
642
192
90
36
57
426
959
723
751
171
583
372
289
165
817
527
390
891
556
180
38
363
773
0
504
50
320
392
30
905
825
437
797
206
803
596
107
346
440
876
22
722
266
136
714
547
308
7
52
285
870
156
529
260
749
613
234
886
684
411
736
369
854
439
110
780
776
139
637
295
346
838
710
858
10
721
338
799
545
142
886
173
140
788
543
817
813
574
489
39
794
296
269
506
80
84
279
674
638
508
547
788
488
719
281
674
997
278
547
785
810
134
314
850
935
749
801
885
994
469
96
841
945
301
723
894
991
578
70
750
373
102
774
870
898
800
119
602
666
357
799
738
22
42
397
905
784
454
348
56
180
349
58
643
963
761
931
117
636
935
627
816
756
350
277
4
610
137
416
128
621
555
244
700
185
125
150
273
65
97
949
72
88
578
918
67
497
246
239
930
766
695
316
724
684
818
818
362
696
194
137
59
810
535
513
215
557
739
732
661
690
977
494
645
542
830
730
814
907
808
615
942
828
403
681
575
125
914
328
5
909
466
17
303
416
272
801
22
461
826
69
895
689
824
979
666
5
400
357
354
680
13
534
858
832
252
99
738
22
698
467
5
735
586
883
127
814
718
238
830
354
781
534
236
531
860
960
476
523
629
353
851
215
198
157
240
177
607
972
530
862
856
328
648
584
848
579
250
640
9
154
599
226
592
313
442
258
508
105
17
553
1
983
274
945
414
172
467
175
391
51
606
64
273
293
334
56
127
613
896
54
898
363
347
293
425
414
720
84
786
960
185
310
448
318
388
525
644
890
318
427
361
560
643
607
246
833
565
818
194
514
280
405
541
907
812
611
722
668
970
323
41
984
925
554
837
222
251
491
555
755
938
462
331
319
482
245
334
175
988
194
918
691
492
437
490
153
479
461
775
997
216
690
626
526
724
345
320
943
61
241
423
67
403
762
586
396
893
204
739
614
789
198
738
185
354
426
460
206
660
724
399
92
298
400
374
595
345
584
138
433
215
703
411
966
469
475
377
243
748
142
32
62
711
21
322
962
116
89
325
832
264
619
751
452
186
210
335
494
366
415
448
744
956
540
395
82
276
494
978
897
591
324
998
469
805
747
761
464
494
516
136
914
47
224
23
412
620
368
438
533
220
944
416
668
587
360
15
878
591
95
414
651
314
848
496
151
301
732
996
157
462
239
217
742
302
326
283
455
241
928
653
932
515
263
561
411
7
819
127
514
48
735
596
936
638
304
554
546
439
564
922
160
8
719
17
189
39
186
996
350
625
470
185
7
247
456
530
302
880
244
665
336
520
11
43
41
844
814
959
124
267
637
410
189
624
117
937
390
339
982
309
418
635
752
553
797
274
890
30
883
942
269
263
322
432
11
249
136
26
263
320
737
888
376
175
292
52
362
795
941
562
500
685
636
518
142
245
4
413
368
271
937
874
908
933
449
615
153
799
244
158
728
396
659
92
275
352
608
454
899
712
556
215
99
640
913
399
84
811
652
504
462
279
832
289
940
846
603
904
126
311
650
379
318
868
710
383
891
841
732
958
22
367
904
69
323
344
317
875
506
606
909
253
265
514
160
777
831
28
949
855
237
357
818
609
755
244
58
915
728
942
337
849
958
496
657
554
631
523
903
432
978
87
961
425
91
166
109
145
701
275
154
557
220
754
319
672
285
526
740
495
134
944
928
904
942
881
572
71
258
963
908
637
151
71
466
122
560
824
194
675
619
397
826
847
353
964
280
692
287
666
682
115
425
285
887
577
287
263
527
806
676
520
39
179
329
670
57
212
263
182
958
529
476
320
728
784
27
927
80
464
407
811
816
188
26
965
613
162
899
19
262
538
791
354
236
812
379
753
795
254
77
859
982
958
959
132
682
127
468
213
936
825
467
387
548
127
4
541
993
938
116
981
950
872
564
41
458
906
386
478
629
367
735
194
410
419
445
432
18
91
472
865
727
485
455
540
654
117
195
213
206
965
863
749
626
393
210
543
786
10
613
379
342
179
16
302
787
608
691
325
49
608
731
577
113
733
266
725
196
505
519
19
25
344
892
877
247
53
889
510
241
300
641
293
84
632
336
567
8
451
920
927
932
812
3
969
641
828
457
834
329
368
201
75
647
912
91
292
300
899
886
30
770
102
331
894
320
581
20
189
913
740
841
90
771
717
669
491
658
797
814
545
419
916
268
304
434
513
317
573
950
950
877
866
913
740
21
338
441
909
592
58
771
687
939
580
893
778
817
741
684
971
222
788
161
685
27
735
639
205
385
90
679
636
96
365
704
246
231
485
517
306
478
686
446
916
756
743
780
243
804
662
952
34
24
766
819
237
699
725
411
444
658
571
694
140
566
464
807
730
565
491
304
476
860
611
471
385
339
160
40
535
826
412
193
528
624
586
404
809
123
389
601
56
876
104
124
407
691
134
294
368
461
921
555
150
120
35
46
559
575
878
494
895
497
349
679
654
967
43
560
332
295
441
712
835
121
242
223
896
843
216
147
416
635
564
351
752
369
8
290
690
42
113
921
484
234
149
663
797
836
358
844
461
541
466
598
637
103
835
928
513
401
802
74
562
783
886
395
292
16
867
778
713
957
271
135
904
939
575
443
567
488
656
404
319
362
647
478
794
463
9
747
692
167
871
121
111
443
139
690
315
536
934
766
815
164
758
638
478
547
68
386
465
737
955
913
454
201
639
184
270
559
75
314
69
355
289
116
730
773
321
149
604
109
678
88
607
756
114
96
661
879
529
567
355
760
290
42
497
288
43
310
69
57
367
402
972
393
499
97
684
726
251
15
437
569
96
76
7
306
583
388
806
780
930
946
249
976
254
526
4
605
747
249
373
606
963
143
839
374
160
895
146
234
54
632
32
105
925
191
308
246
625
511
556
532
53
565
500
908
157
478
981
418
790
342
213
701
660
28
17
617
889
728
843
968
794
574
735
784
63
727
419
54
998
293
185
684
688
48
331
558
293
442
900
341
432
878
160
217
497
54
330
191
831
757
546
837
411
679
789
548
712
558
953
719
440
974
84
232
109
31
45
200
103
629
205
282
98
385
128
179
588
48
835
285
873
864
86
467
829
276
869
397
185
703
816
505
498
352
86
991
892
429
176
114
243
540
381
641
707
56
967
802
402
861
557
474
626
495
585
766
978
926
545
811
118
364
216
250
791
642
74
592
950
234
589
20
830
122
463
254
694
724
261
361
489
904
165
3
954
868
344
872
247
512
32
899
871
936
280
592
622
673
898
349
305
849
326
963
358
842
184
120
345
195
414
596
246
188
174
223
691
271
392
956
691
953
883
153
737
948
836
720
681
827
912
18
991
902
600
459
580
713
761
257
299
21
142
785
560
858
481
428
360
503
235
982
23
189
166
677
864
211
483
942
470
80
344
933
601
526
743
944
886
656
41
632
362
67
339
155
376
521
191
766
504
263
587
595
566
945
208
739
631
437
199
191
892
312
57
496
193
977
799
921
951
331
929
167
211
429
762
796
959
791
402
285
405
794
925
609
964
504
515
695
556
689
317
261
384
576
715
942
165
430
190
608
385
610
76
610
388
931
958
556
784
345
188
560
962
233
660
90
552
768
789
947
692
779
87
770
350
420
518
199
324
388
24
636
337
483
369
757
208
254
299
312
491
184
822
733
408
670
387
27
952
3
128
214
198
492
11
443
934
781
242
80
797
60
453
562
420
71
831
351
506
409
700
390
714
85
717
645
11
747
868
82
593
904
837
106
560
435
339
476
225
616
324
886
488
542
875
405
414
925
658
367
737
15
311
729
620
826
49
113
114
83
195
328
0
555
553
484
500
139
212
128
972
125
987
244
370
51
553
6
601
654
257
818
333
673
284
912
806
426
369
232
254
329
118
209
527
550
62
635
823
933
541
631
976
52
731
432
4
907
157
161
476
821
577
414
494
979
550
155
489
860
809
404
320
704
633
615
121
505
322
402
363
550
382
496
162
372
276
210
549
0
766
741
131
150
734
840
104
418
168
603
193
338
168
524
144
264
285
523
874
206
150
226
863
409
758
354
760
896
572
577
937
999
805
135
279
71
508
798
198
610
183
137
122
751
120
89
454
517
560
600
208
14
489
316
414
324
212
218
549
562
312
852
98
629
147
397
441
411
647
553
786
714
842
557
862
706
969
829
391
533
306
75
82
250
926
840
462
955
83
382
886
547
25
30
669
301
421
492
230
802
595
653
731
48
178
214
680
602
462
425
896
24
612
992
278
543
724
839
394
954
629
965
177
651
545
140
909
84
359
958
987
391
222
973
720
584
731
167
576
492
34
107
892
836
858
11
229
104
646
379
61
793
926
14
4
942
637
830
961
48
763
872
92
560
267
727
270
72
458
678
333
304
416
96
670
933
611
427
682
780
24
505
461
750
618
202
546
149
700
554
991
113
29
332
790
703
634
55
117
648
203
873
811
194
176
535
375
171
839
612
592
23
946
583
275
398
490
663
636
567
743
452
754
82
723
951
425
97
784
867
784
707
373
11
690
719
573
847
57
301
115
26
127
534
814
428
792
130
338
711
209
772
954
63
418
914
150
687
698
400
348
245
697
112
328
530
430
925
203
627
748
75
265
35
879
82
999
298
145
151
451
77
202
710
177
83
373
797
823
443
645
507
853
913
198
689
873
63
608
313
631
996
869
130
645
37
612
263
808
476
351
590
465
505
392
348
757
60
716
772
218
614
412
438
876
352
289
685
228
302
252
370
247
296
881
475
239
660
229
747
365
886
660
301
227
732
967
144
732
433
97
857
423
635
975
970
655
555
965
317
138
531
799
397
34
570
662
336
149
458
395
316
933
427
254
220
140
236
719
6
292
923
430
856
221
198
231
923
907
29
297
969
260
921
852
78
940
95
740
248
509
775
106
186
137
850
94
257
121
165
288
275
356
730
582
620
179
652
259
40
579
878
463
69
277
981
35
44
816
973
777
471
85
127
475
192
538
605
709
921
777
833
14
35
434
86
769
161
245
694
187
39
695
753
575
164
41
68
222
994
270
701
996
245
546
530
241
783
509
584
772
7
736
44
659
419
878
727
885
160
512
971
45
561
355
320
453
412
243
585
905
689
791
397
178
281
217
675
344
246
661
155
103
280
167
28
967
146
52
584
414
155
941
255
656
769
282
890
654
77
99
143
311
729
479
567
824
769
97
339
291
295
73
668
550
210
441
224
473
310
78
200
250
135
305
144
901
131
818
927
752
302
650
264
583
193
241
901
634
487
240
414
75
152
474
56
311
434
729
745
369
431
456
400
884
743
492
838
767
654
970
105
835
774
63
340
317
218
206
596
931
383
279
612
114
527
806
770
203
372
168
77
301
626
929
70
303
341
484
205
821
714
371
534
971
817
981
776
639
960
629
425
127
543
620
54
116
245
749
641
208
680
581
581
639
170
491
280
899
281
971
878
877
87
65
663
521
738
668
904
359
832
422
826
822
136
687
893
879
795
113
817
654
630
51
136
115
459
294
700
972
181
830
359
380
576
398
304
905
987
725
156
862
986
316
889
962
12
566
449
157
403
968
261
272
881
125
523
290
800
938
419
239
1
442
527
330
700
748
202
834
994
412
523
902
98
92
902
807
797
599
513
894
893
694
563
369
61
500
916
103
198
968
375
975
100
983
412
979
559
486
585
218
988
359
958
390
335
389
863
984
895
155
845
36
54
556
729
940
171
890
24
222
125
113
659
615
316
450
462
147
34
941
669
385
467
214
573
273
397
142
145
582
935
501
441
189
41
455
891
639
666
137
789
184
497
601
518
228
597
600
907
166
945
834
538
33
593
405
600
900
291
467
667
493
862
47
447
645
449
543
794
127
517
426
758
295
122
482
770
731
633
190
574
173
476
106
86
213
83
910
213
675
507
242
708
307
407
979
788
896
176
327
263
559
980
557
930
450
490
810
470
45
324
466
966
845
54
593
26
534
677
278
215
51
403
621
648
956
0
254
677
489
993
383
997
900
932
781
968
583
208
962
595
124
128
443
872
981
781
159
606
593
185
458
328
241
340
960
837
333
97
389
290
494
926
541
979
29
665
733
45
963
252
283
748
641
54
6
125
758
253
797
941
747
12
835
336
674
474
682
183
678
548
241
477
136
573
719
878
443
120
791
138
796
625
182
297
476
175
33
613
158
483
31
536
701
805
416
281
860
418
181
993
833
377
492
445
181
724
89
116
596
837
733
516
797
724
803
335
327
260
834
908
462
192
312
682
26
654
256
627
662
627
730
857
558
497
444
383
834
847
286
94
403
105
251
94
316
205
97
291
808
669
219
170
843
833
857
895
850
141
365
242
438
645
803
632
126
199
74
369
412
267
602
183
406
326
237
102
346
819
832
20
794
786
568
438
297
53
389
222
841
81
11
421
579
759
864
979
32
824
747
985
568
379
523
792
626
267
757
355
615
742
298
647
608
34
116
194
633
576
573
550
72
164
691
421
739
256
267
148
642
256
288
511
840
565
851
231
989
157
313
9
305
741
117
961
551
75
917
639
790
167
71
405
963
896
407
28
394
74
322
169
323
923
569
720
328
75
421
899
664
149
70
155
203
445
495
124
352
90
229
485
316
998
50
76
570
441
864
305
625
123
680
275
355
312
655
440
824
141
427
953
719
131
402
946
805
283
177
412
472
678
720
864
995
939
42
417
204
739
903
66
815
849
932
806
202
901
437
1
433
831
182
527
655
865
4
582
183
353
940
136
875
850
856
928
838
263
951
419
450
195
598
470
537
133
376
937
308
581
271
741
473
985
121
358
950
746
941
747
314
248
204
255
170
881
873
682
235
956
560
538
16
525
978
929
463
71
730
551
415
61
581
485
686
575
586
867
220
467
432
982
639
867
720
905
512
859
873
938
134
658
641
421
853
558
937
804
470
751
224
436
515
687
943
757
893
198
816
77
210
499
22
527
637
0
623
133
751
441
426
876
465
310
29
395
242
459
504
136
229
569
951
99
278
367
136
788
879
279
563
552
854
713
53
505
919
793
268
785
832
981
418
986
129
774
471
491
860
773
743
287
622
967
677
28
571
966
508
552
195
347
155
627
383
388
452
723
500
903
990
58
509
699
588
490
992
485
690
144
726
817
479
985
839
821
30
434
220
711
298
797
584
417
382
326
686
845
149
985
114
130
445
18
489
656
861
849
932
950
420
370
488
910
257
860
273
185
461
654
924
68
763
699
600
376
112
288
307
825
471
439
416
622
427
743
570
295
507
406
897
665
116
615
325
516
844
376
427
905
554
382
106
844
777
27
956
185
221
993
180
698
991
200
680
908
683
107
255
262
598
761
819
735
836
181
415
299
717
811
850
801
945
716
566
883
887
227
298
342
338
147
506
659
200
483
197
706
293
185
332
545
341
253
996
563
786
674
50
808
667
130
535
661
337
145
723
828
883
568
391
550
94
740
401
255
523
550
781
481
731
783
195
25
527
10
924
403
499
212
203
987
991
475
536
549
175
560
719
602
933
949
760
2
68
486
840
384
937
304
754
989
787
798
985
586
33
446
909
990
859
367
147
673
278
412
152
0
693
184
652
274
663
727
438
322
834
456
202
582
495
156
374
368
475
203
411
731
154
638
841
701
555
902
646
315
161
530
681
763
368
421
970
795
17
153
7
12
378
830
984
2
146
935
411
499
433
378
407
644
224
28
914
112
220
626
440
190
601
747
464
439
705
518
631
854
724
180
662
190
179
819
798
944
790
290
529
388
291
362
765
169
218
891
735
728
936
938
12
134
694
746
728
180
730
159
74
424
737
538
233
780
882
734
900
144
953
954
932
580
409
110
405
21
904
296
856
914
785
138
768
734
457
169
175
916
174
906
672
131
516
36
972
988
473
118
15
26
376
296
660
398
836
831
894
353
605
632
645
546
218
919
95
563
894
581
148
132
975
695
716
47
235
819
47
691
802
147
995
934
280
320
811
313
366
927
92
495
308
157
699
668
443
742
508
913
734
256
833
262
222
884
850
720
563
747
958
90
268
720
841
630
470
517
567
176
581
725
892
273
93
156
29
513
523
266
265
984
55
928
712
228
180
148
782
694
219
397
311
901
833
434
863
416
369
79
867
2
796
157
409
193
105
135
866
246
537
18
89
402
854
203
771
461
536
888
978
755
70
297
988
54
382
658
19
514
217
393
150
841
368
246
407
817
958
579
643
627
736
811
323
882
149
676
812
874
133
49
403
554
757
866
504
845
550
170
535
68
576
29
166
364
57
62
23
827
550
584
607
212
139
436
575
745
288
614
461
595
479
450
429
938
848
416
33
581
742
880
147
696
459
221
261
941
539
912
742
224
445
800
434
435
495
906
517
361
516
432
836
139
71
669
827
734
941
44
432
312
70
817
847
380
872
492
122
614
793
541
793
553
341
100
626
483
787
278
18
725
468
994
242
868
527
540
199
610
199
773
206
305
619
685
402
166
621
591
957
528
543
52
898
139
956
713
30
184
815
57
677
728
670
418
518
892
565
49
664
390
442
940
81
977
422
37
548
262
412
741
684
3
602
331
493
589
313
507
542
77
596
344
531
221
827
747
655
295
752
527
784
644
38
639
758
224
674
433
532
135
48
527
293
705
430
891
454
671
116
106
188
358
983
785
172
65
175
136
438
157
558
71
865
58
90
226
695
212
724
565
220
167
507
371
590
849
583
422
516
175
861
724
326
518
342
688
902
822
946
243
963
293
667
994
711
736
48
709
245
878
303
748
286
366
75
272
166
195
31
967
69
302
198
132
572
157
82
239
227
1
495
679
771
705
762
755
904
854
916
111
861
698
840
983
272
579
277
914
35
107
121
870
478
302
886
800
143
675
740
524
278
682
172
265
441
768
363
817
756
377
967
945
864
778
712
374
532
68
959
244
191
467
885
209
280
25
713
889
178
41
642
32
236
703
6
14
296
95
415
10
386
762
752
269
78
767
70
628
163
104
987
544
693
491
11
176
188
820
267
518
554
794
468
749
38
167
593
559
647
152
777
473
363
36
401
559
648
151
150
29
166
266
105
5
878
270
546
879
351
761
402
529
902
390
166
707
376
775
914
812
863
803
182
206
816
697
864
404
743
263
196
541
791
172
168
54
233
247
624
560
176
856
739
45
149
711
887
362
448
47
727
350
726
276
444
68
179
960
273
977
58
700
757
706
479
790
3
293
51
798
83
353
412
698
211
24
154
2
507
79
930
999
860
720
83
687
216
775
218
867
430
153
120
127
627
833
140
761
467
521
528
19
116
480
160
568
958
308
136
310
442
87
93
808
116
749
35
478
271
82
948
666
605
830
795
461
736
374
57
810
984
110
447
145
990
750
875
600
494
657
669
446
629
362
132
707
956
902
118
377
358
351
592
76
925
957
48
613
723
636
997
646
636
443
190
504
83
993
456
883
502
149
801
756
302
2
185
236
822
756
680
284
384
594
952
390
804
816
718
989
295
323
361
105
230
402
907
394
226
735
646
7
808
499
445
762
155
539
472
501
248
940
465
433
818
673
240
609
771
936
64
197
555
666
138
905
550
263
786
124
918
306
886
771
336
580
933
920
78
830
685
437
495
714
998
570
5
476
869
454
206
792
925
577
373
607
897
998
177
482
431
641
753
521
969
760
647
467
266
69
585
77
525
785
745
868
691
770
703
695
328
789
87
673
556
134
523
755
885
934
245
846
730
614
316
910
809
330
891
857
807
262
122
56
42
177
302
136
531
768
632
690
621
201
499
501
666
917
568
827
900
234
14
434
894
285
736
835
144
811
889
848
272
169
311
368
243
662
716
532
971
119
98
264
584
511
132
973
614
500
537
476
906
495
831
700
669
493
840
253
859
824
669
294
487
218
594
868
894
882
458
33
901
262
256
80
408
78
905
593
732
326
436
645
253
725
831
95
893
948
428
3
123
609
932
578
222
630
347
856
841
762
272
753
503
815
937
689
325
311
491
178
679
125
139
838
920
281
965
177
48
959
613
778
411
200
94
516
355
633
96
910
525
388
208
46
28
268
451
46
914
667
750
517
815
718
806
389
882
988
876
664
249
243
720
409
652
591
972
231
169
589
275
721
757
920
985
686
800
786
845
455
893
359
474
34
649
283
798
994
676
79
171
852
782
250
286
535
884
13
272
7
688
869
401
42
448
10
317
226
341
800
671
583
928
869
219
145
241
309
636
237
756
634
680
995
972
400
898
267
556
724
110
683
769
82
931
770
450
758
411
328
698
430
862
80
245
291
548
764
28
613
170
443
424
247
552
9
730
275
506
949
747
689
313
674
757
95
664
940
62
451
292
152
290
578
519
52
204
53
835
230
725
805
972
875
848
848
426
611
173
632
773
781
169
759
658
91
738
601
918
244
448
957
447
978
959
128
914
814
729
898
963
755
196
336
835
135
214
116
311
462
269
609
251
795
850
384
799
330
393
687
822
952
432
859
436
902
444
574
218
567
349
764
945
635
382
692
868
602
426
912
207
762
252
538
594
243
96
992
115
51
610
764
976
685
122
195
786
8
632
3
465
575
922
739
641
822
21
52
184
469
561
851
874
119
183
143
414
530
277
244
368
382
851
344
769
160
72
256
806
136
437
42
512
186
940
705
719
162
749
142
458
437
749
103
259
806
735
195
349
504
380
460
793
745
384
414
83
974
769
463
585
233
458
970
46
221
426
736
17
461
401
946
652
536
961
813
330
646
53
363
736
958
445
852
669
770
0
534
157
283
176
556
405
124
147
356
972
807
574
402
215
925
618
284
772
600
12
812
180
195
469
16
12
880
725
923
571
171
451
733
511
181
109
918
150
693
950
67
822
917
201
201
685
329
252
491
113
5
454
919
711
465
453
897
221
913
402
23
689
325
114
690
820
276
913
163
905
954
790
277
907
426
656
655
949
865
133
972
951
700
312
337
427
132
754
793
625
476
30
681
508
330
440
260
871
941
698
154
727
799
821
396
547
694
492
877
624
397
668
164
818
836
125
18
799
702
180
739
652
574
532
914
229
720
971
580
110
883
279
239
983
742
524
58
781
884
215
577
944
877
231
753
808
237
721
549
613
299
317
409
855
611
1
746
703
125
271
606
683
912
718
27
979
57
236
494
588
440
57
664
926
762
996
169
255
934
922
85
485
568
754
372
725
492
473
45
883
377
423
212
319
217
915
703
35
239
722
604
811
781
18
447
909
429
693
715
879
921
366
955
40
730
730
593
469
241
815
508
612
425
459
489
222
204
904
214
131
266
520
75
103
930
568
444
448
362
363
802
342
150
742
213
494
263
987
574
720
703
148
820
267
426
827
729
729
537
919
485
959
532
762
626
891
718
135
366
590
223
414
748
621
937
691
126
95
622
477
986
776
185
131
688
483
395
172
614
559
183
502
696
14
69
207
350
200
427
922
886
480
843
859
893
871
736
221
13
437
429
694
707
32
566
51
289
154
839
591
649
335
550
475
937
906
338
140
315
507
62
965
586
132
591
866
391
36
763
999
696
268
220
473
831
524
311
291
122
711
760
305
761
883
525
22
476
766
617
216
859
916
255
858
85
453
484
262
471
36
804
581
921
791
568
414
293
149
104
703
738
107
559
64
105
825
118
563
344
978
374
783
29
834
223
640
2
910
725
864
749
292
607
147
931
202
829
85
954
553
842
559
447
254
385
813
304
410
508
738
911
390
164
114
250
105
302
216
370
370
26
305
497
513
687
795
260
328
456
554
697
443
68
488
910
157
880
126
48
172
130
845
41
284
871
331
908
271
649
952
973
784
95
961
549
761
685
249
223
939
908
297
408
382
154
749
253
929
637
80
385
10
593
565
591
748
108
755
349
811
304
998
497
170
47
704
368
533
769
69
490
558
964
603
214
511
485
74
398
336
984
751
893
20
686
440
104
225
407
542
873
2
377
650
867
395
764
892
305
550
754
709
473
477
644
338
75
205
470
262
417
968
132
338
50
13
253
899
318
400
48
346
655
42
48
719
791
373
968
191
242
817
583
40
672
200
57
133
512
464
503
76
867
888
156
307
32
984
467
748
267
590
839
478
809
291
172
497
835
607
621
591
37
889
4
396
101
799
43
942
741
558
808
17
851
90
147
259
738
790
30
327
5
224
119
794
231
951
14
103
23
390
457
155
101
215
412
49
663
372
956
904
810
357
313
909
898
500
862
636
669
294
416
937
651
166
271
632
888
601
40
24
447
605
72
592
811
904
263
29
198
945
897
340
779
456
126
121
207
825
507
788
409
184
904
328
364
372
43
482
34
158
689
282
939
707
204
234
209
334
38
935
696
1
29
54
664
497
979
883
764
261
712
224
966
920
251
221
196
204
311
510
317
546
602
112
540
541
966
793
71
776
291
404
716
486
339
551
530
287
957
184
889
471
484
962
689
990
393
662
398
616
891
601
316
536
884
555
353
142
742
171
172
498
651
251
930
296
154
90
84
760
112
772
70
88
397
616
853
289
531
668
769
148
5
780
448
819
79
633
598
381
657
0
178
447
847
683
521
997
703
296
4
783
88
136
146
272
117
342
849
360
404
652
726
467
383
974
279
680
719
875
924
438
342
589
333
367
203
630
576
147
799
650
322
77
831
318
332
786
760
111
630
307
205
265
738
978
130
554
585
23
502
310
629
121
742
660
783
510
200
93
205
998
316
892
775
284
365
130
590
599
947
746
919
951
625
199
281
912
598
171
225
848
365
830
105
683
566
942
309
431
960
141
957
445
528
444
63
10
63
615
230
33
668
49
775
682
36
366
14
411
376
218
892
794
704
81
54
79
605
11
101
195
53
557
441
628
970
964
659
316
765
756
207
235
744
127
968
305
465
944
433
747
848
903
926
741
288
369
940
662
213
350
565
5
479
408
407
231
267
810
639
399
165
794
746
432
886
444
767
429
827
934
746
820
574
247
960
352
748
136
529
581
638
960
797
3
845
714
507
335
551
408
27
547
634
703
114
601
193
738
293
450
788
619
928
156
531
994
358
102
679
813
9
294
207
328
203
630
395
309
45
36
504
776
549
810
257
438
134
963
295
954
286
141
308
290
846
598
547
968
216
210
408
176
550
288
518
35
97
833
479
796
140
51
840
661
378
732
482
705
531
466
331
751
407
479
145
997
116
703
805
59
931
246
925
651
548
278
468
832
660
308
545
745
313
454
849
891
891
165
478
872
702
172
703
693
272
272
367
379
751
206
286
48
332
605
827
338
983
985
594
787
780
158
860
305
951
433
304
330
970
824
852
349
214
95
442
20
933
352
89
954
233
224
661
949
247
937
217
366
979
2
503
981
23
465
697
768
206
657
454
762
727
801
161
136
77
621
466
315
507
65
635
105
887
226
249
578
80
884
447
18
364
866
338
56
757
319
907
993
417
35
603
140
721
409
728
507
30
219
419
143
26
72
309
429
784
252
14
498
337
659
559
496
756
111
992
990
692
824
352
103
536
987
892
817
679
500
893
61
5
373
787
575
263
912
406
566
695
481
543
46
951
502
178
863
675
111
700
952
253
867
948
944
233
625
852
80
26
925
586
905
756
478
759
947
315
805
911
98
282
886
360
846
250
463
713
869
675
793
170
126
208
703
859
512
292
577
769
907
78
970
802
415
715
153
405
270
760
677
576
730
343
461
22
435
172
910
560
225
443
608
713
540
819
9
399
829
552
25
536
438
922
851
115
452
617
475
329
604
638
864
882
888
757
116
608
337
142
663
854
394
559
486
435
486
989
168
320
128
483
771
831
546
390
149
882
247
521
829
414
713
460
70
684
677
127
665
945
767
898
215
928
16
580
391
582
505
833
257
111
572
634
583
411
59
343
937
379
523
33
126
171
226
122
187
615
730
255
787
776
429
809
656
474
174
417
877
411
429
925
642
284
437
704
571
35
153
748
12
761
99
888
657
343
553
576
557
238
849
887
802
555
529
971
269
860
631
202
638
810
47
925
485
848
140
231
469
378
253
936
881
327
800
150
105
103
147
463
293
659
45
395
748
80
127
115
491
911
354
326
390
540
607
632
511
800
721
257
501
374
305
778
754
389
335
146
959
67
852
646
548
220
254
274
528
308
170
242
364
696
567
195
239
38
704
934
999
197
141
802
218
776
31
982
439
407
825
861
855
30
271
79
69
554
328
22
713
346
490
993
695
275
378
39
363
40
718
840
559
371
833
86
915
891
356
476
679
498
362
361
176
984
862
460
839
398
915
764
44
134
900
663
462
745
123
8
772
759
421
476
261
172
181
284
429
906
220
404
961
867
117
946
931
853
112
862
959
951
589
81
922
448
144
122
36
662
721
283
261
3
983
789
495
455
818
515
303
187
607
118
485
174
645
841
75
875
85
983
940
390
327
51
23
653
83
243
5
75
739
840
948
634
433
660
479
696
251
333
726
628
402
596
443
672
440
705
433
796
494
315
951
506
65
250
309
256
974
20
473
912
304
143
798
18
321
789
7
696
350
808
637
921
302
135
502
350
554
280
276
923
22
599
795
135
700
692
798
551
567
439
675
932
294
42
336
701
799
790
379
598
961
477
681
290
608
250
381
526
218
631
552
969
575
545
760
925
706
124
484
214
550
417
786
193
62
723
858
297
427
391
893
170
18
130
12
803
945
603
325
622
790
65
663
274
831
104
303
982
586
973
655
30
248
686
952
613
782
373
182
669
579
82
431
455
513
56
867
581
706
108
117
707
118
273
989
985
470
227
844
101
90
248
107
793
478
883
130
812
759
768
7
941
989
498
801
140
213
872
988
909
569
342
510
528
898
705
298
646
271
285
678
372
353
57
902
757
592
643
35
351
289
105
799
289
655
640
848
790
588
832
288
749
967
70
664
524
747
130
937
292
853
338
45
6
113
947
96
913
55
317
740
870
932
599
565
898
688
318
957
759
225
977
930
37
241
25
988
837
211
465
815
429
39
282
602
378
706
861
67
892
243
964
536
574
651
344
42
105
340
991
247
884
504
393
603
822
542
749
889
967
692
549
8
162
77
889
640
552
3
81
692
404
353
635
164
776
85
560
959
95
303
646
685
592
603
426
543
950
968
114
144
490
89
161
854
369
919
359
597
797
281
388
870
842
987
692
446
471
346
516
980
286
221
968
569
498
863
728
803
364
950
949
370
923
889
447
869
798
795
496
786
935
458
740
33
19
73
142
861
609
864
155
68
658
291
616
310
43
858
312
879
788
583
509
774
301
960
741
26
223
953
558
820
173
147
219
786
284
227
483
587
874
828
915
42
818
696
957
768
493
141
260
437
122
220
281
325
525
12
415
309
641
933
277
897
465
605
257
969
924
729
139
720
246
409
333
433
250
391
772
750
784
202
95
147
233
170
550
680
315
972
251
655
665
368
42
918
628
731
760
550
542
919
204
371
616
869
753
385
151
638
318
165
912
192
15
221
880
333
261
49
901
398
606
583
522
149
72
290
47
123
775
596
560
411
290
458
531
556
990
243
127
688
115
401
867
21
370
764
521
750
900
596
481
78
82
353
504
9
700
56
384
618
819
187
333
531
618
755
796
528
905
329
778
340
616
788
842
405
859
238
873
617
717
379
612
781
449
752
348
58
595
423
995
966
538
615
120
596
288
846
228
479
99
587
427
955
633
590
431
207
454
167
862
346
345
202
927
846
264
995
433
506
773
529
151
775
333
613
879
405
848
655
75
848
948
983
330
772
302
261
157
322
740
144
735
709
532
431
129
666
342
689
429
799
185
174
907
203
314
842
52
856
679
372
991
312
972
264
217
414
717
33
560
374
998
880
259
435
843
701
301
258
864
984
100
234
135
200
330
592
820
889
602
178
464
620
157
718
996
706
231
352
716
101
487
174
938
964
76
792
649
176
675
425
915
98
114
832
886
473
416
213
290
532
519
323
87
69
54
677
161
632
707
873
309
332
217
418
313
977
454
556
66
730
667
481
428
203
933
957
480
530
3
40
110
377
727
627
331
574
254
677
12
807
800
790
289
136
773
43
870
909
86
961
655
94
569
343
62
303
797
61
779
243
248
330
803
547
464
721
592
995
916
505
773
385
757
324
518
882
855
52
661
823
413
697
912
273
182
662
816
526
980
495
304
530
258
988
143
263
143
891
673
262
613
178
143
451
922
222
870
837
73
312
293
577
458
434
378
230
676
744
353
34
58
134
837
701
333
692
69
893
34
498
305
997
367
173
163
618
92
252
751
748
313
878
171
599
560
682
574
789
822
638
852
59
383
714
615
164
441
509
529
631
507
883
764
1
79
988
193
5
424
154
166
439
52
114
786
221
139
638
25
919
41
755
147
805
425
792
100
748
355
418
22
250
631
502
743
467
993
40
312
974
973
441
17
913
717
106
747
817
305
102
958
882
348
271
424
255
905
930
482
254
208
7
273
924
760
456
735
101
648
222
53
145
802
367
568
81
76
62
222
774
912
12
72
513
703
790
807
868
714
817
935
477
875
971
418
862
961
72
500
555
376
162
544
566
638
310
907
741
467
664
518
319
945
554
152
244
794
715
380
675
157
45
29
841
921
16
543
324
777
934
313
542
5
222
738
763
427
839
853
634
599
37
751
637
967
10
947
466
318
640
93
318
149
22
851
276
442
944
135
18
940
324
40
307
152
883
856
265
634
727
363
794
727
702
741
183
563
626
951
490
152
834
374
887
693
780
347
435
289
541
228
191
557
224
905
484
430
833
414
961
852
701
668
723
788
979
264
484
257
251
188
139
515
711
793
700
358
941
599
623
10
755
687
291
954
700
265
842
469
784
564
835
366
10
106
973
250
226
861
911
528
277
150
569
58
994
195
155
133
270
907
53
519
508
174
895
971
625
839
464
156
811
658
223
270
799
212
556
201
848
47
637
799
466
571
118
324
261
877
22
526
90
680
105
565
444
515
817
568
282
752
351
892
850
922
148
743
312
271
887
579
519
477
124
622
252
47
873
823
628
805
568
534
839
71
649
388
53
58
429
167
571
23
664
163
63
800
248
234
976
515
9
710
110
62
331
233
500
799
509
195
665
898
926
261
409
295
919
328
656
931
584
461
185
421
274
177
563
792
122
532
472
794
519
697
807
427
531
832
149
727
599
417
175
492
52
199
610
820
828
81
354
340
764
632
453
437
958
730
131
57
784
244
5
953
714
873
763
302
512
410
697
209
444
612
831
885
326
667
313
856
816
275
821
241
671
68
911
595
978
997
348
897
914
518
124
47
763
414
593
789
49
303
426
327
483
615
437
638
362
249
905
11
968
854
719
21
360
190
568
440
624
629
204
474
425
598
889
438
339
216
104
746
542
54
972
144
733
488
851
667
496
795
552
991
657
598
242
98
744
113
367
128
315
402
154
586
598
756
160
803
591
620
122
961
385
648
320
780
204
442
340
505
444
988
383
783
925
499
929
382
824
808
609
458
194
167
605
589
497
462
698
273
234
889
753
844
663
428
531
820
955
497
530
80
778
529
31
579
835
610
386
657
112
284
133
926
704
175
107
904
738
762
305
910
809
87
375
968
678
420
742
498
300
494
499
10
133
761
563
37
405
570
493
672
782
823
980
113
335
786
124
727
269
837
711
65
610
967
984
527
993
517
320
264
222
780
437
289
784
180
695
978
356
596
754
822
743
217
210
276
268
541
931
454
185
185
74
595
433
256
708
827
453
144
508
369
630
398
946
253
640
821
328
940
4
617
524
109
151
931
286
516
70
782
26
809
996
940
264
498
403
989
724
926
13
241
620
291
455
796
536
741
104
350
816
976
490
79
589
360
91
529
57
466
237
723
578
72
351
778
853
393
277
454
423
6
497
979
734
679
706
233
409
624
851
482
986
663
47
941
470
398
749
345
480
714
521
523
959
335
420
823
535
334
608
151
202
900
888
555
301
833
93
70
62
452
59
210
693
408
517
200
746
98
950
456
543
391
845
984
574
493
418
989
722
553
679
724
319
899
852
20
164
559
196
948
415
24
111
702
166
598
510
374
694
546
327
409
133
496
969
13
683
889
177
844
103
223
91
782
735
865
937
960
686
188
412
244
135
236
384
596
17
852
819
803
544
614
97
554
689
551
862
417
396
800
306
386
980
478
848
35
991
123
605
422
601
297
348
577
174
962
419
371
358
364
316
92
551
607
288
459
346
901
430
259
407
232
891
170
994
127
272
589
392
493
881
718
600
15
730
700
922
563
163
815
815
700
311
26
907
161
999
477
774
409
457
246
13
494
365
61
732
920
602
228
512
306
989
678
243
431
997
183
177
976
919
614
871
704
767
390
1
569
833
549
264
977
814
709
926
952
797
599
49
900
477
783
360
31
501
724
609
82
762
482
854
537
243
79
915
737
638
544
45
364
466
234
856
13
572
749
351
975
269
698
401
533
182
482
924
844
641
516
716
315
42
628
28
142
691
211
964
537
796
307
756
906
300
900
515
945
843
154
630
912
486
626
91
165
555
405
674
119
109
368
196
82
389
633
860
188
807
187
20
352
840
929
807
510
528
162
372
495
222
372
797
967
817
173
986
157
213
276
989
679
534
783
987
171
828
167
622
387
126
143
18
536
293
487
560
303
329
711
734
796
300
941
722
995
124
186
483
188
258
222
831
410
371
134
87
847
502
432
240
162
283
564
997
965
953
44
897
401
701
357
976
446
254
313
730
160
461
105
853
32
118
60
872
1
69
833
174
641
720
183
463
20
407
258
493
188
991
58
202
641
808
820
512
502
377
275
429
570
233
986
355
347
990
283
567
37
37
209
441
836
53
136
300
923
187
121
684
498
900
260
330
96
645
809
134
151
878
451
733
519
445
310
788
319
919
840
622
982
698
100
212
559
809
446
422
412
346
416
929
86
513
596
210
891
17
531
707
220
400
443
714
673
952
370
527
802
548
20
771
895
278
617
18
716
490
789
249
826
118
129
749
219
3
440
196
617
269
338
327
958
538
217
599
16
592
659
890
163
646
771
244
967
719
37
465
631
482
521
101
331
537
158
842
741
502
489
268
11
387
724
262
380
51
984
955
418
962
931
363
978
863
87
776
276
241
922
375
898
0
103
158
71
521
373
77
41
870
795
106
388
725
643
490
222
297
201
720
531
420
279
844
677
114
378
265
417
371
471
654
530
375
573
56
569
483
489
364
303
414
888
930
2
990
62
223
485
401
53
853
970
157
0
244
921
674
40
270
679
882
203
856
426
670
622
597
345
259
731
332
226
475
769
383
185
734
302
683
728
131
853
137
285
909
86
993
595
370
864
921
719
527
785
415
88
217
947
641
910
978
119
557
725
108
689
982
404
812
593
167
298
393
70
739
684
500
120
173
867
998
485
667
618
444
470
964
923
497
800
299
123
612
674
266
984
848
507
316
785
101
23
319
27
779
223
354
212
640
223
110
80
560
602
512
72
915
630
188
870
486
191
210
583
732
686
212
587
714
356
382
582
961
905
65
127
59
582
847
465
578
437
150
391
73
129
19
97
948
597
584
394
486
817
370
563
463
774
393
238
746
164
555
24
798
811
62
624
894
908
790
7
435
777
139
884
730
175
319
570
824
201
40
667
151
104
112
279
606
144
42
318
820
637
464
816
731
673
826
124
174
817
482
294
824
694
385
895
471
243
921
213
614
85
281
109
776
380
538
439
197
547
775
802
793
974
487
939
385
949
496
978
424
414
940
788
732
458
565
652
589
450
632
532
82
520
307
525
343
702
502
569
24
88
730
788
60
946
589
725
276
711
241
229
933
931
148
570
18
67
425
662
63
830
9
165
655
336
660
640
768
159
926
928
837
460
581
787
476
22
408
353
987
507
692
376
66
959
273
789
879
245
552
478
366
94
186
66
973
680
614
404
989
967
873
98
540
720
326
942
498
712
679
559
12
734
521
10
369
470
355
283
602
310
504
482
718
277
625
835
76
117
234
403
532
343
657
777
26
442
20
941
88
228
774
577
378
72
538
260
505
711
882
288
494
471
587
558
307
687
32
152
586
241
559
577
60
133
546
381
87
380
865
789
358
128
849
608
537
985
880
759
621
494
605
118
615
929
479
474
321
324
429
402
787
43
632
474
159
490
369
779
936
446
16
203
894
297
889
402
615
820
94
479
797
753
263
724
514
503
935
992
758
220
345
900
132
446
648
989
972
386
255
878
69
180
6
53
809
907
573
933
138
828
937
469
90
670
942
762
137
183
994
783
881
558
751
766
74
338
410
240
237
536
549
618
709
668
785
499
410
62
605
482
838
853
270
49
575
961
63
419
544
350
258
191
903
742
157
560
412
433
634
277
853
898
466
117
54
659
784
563
364
5
471
448
903
848
99
321
695
244
179
678
321
485
707
927
24
776
824
355
202
504
30
36
75
775
440
208
98
899
786
959
689
819
598
105
504
456
584
678
983
379
953
742
119
581
193
848
536
493
38
370
884
478
797
171
942
682
221
510
759
499
946
928
977
185
524
706
778
435
254
833
887
869
397
608
790
223
986
640
479
780
136
838
112
86
985
920
924
907
517
880
85
337
456
531
915
730
8
641
514
470
793
578
254
669
740
294
253
199
602
793
693
84
448
608
525
110
264
375
376
149
975
558
374
919
740
116
636
837
866
775
483
776
613
651
73
679
344
505
109
674
185
683
72
265
837
198
376
918
603
727
472
701
837
352
112
970
486
193
61
678
417
452
314
108
442
238
313
803
555
167
538
456
674
838
839
708
825
961
723
350
310
584
149
476
75
782
102
436
573
539
165
88
716
874
980
698
500
731
851
204
696
589
957
886
455
53
283
942
241
821
402
937
851
442
901
96
781
959
857
182
523
132
482
842
853
150
124
185
736
53
60
562
334
225
631
374
314
601
921
162
649
969
61
414
298
668
439
141
922
46
570
716
644
21
659
577
84
679
619
428
422
984
225
885
343
161
987
308
994
737
50
468
815
179
961
651
967
676
398
360
942
336
994
997
499
893
96
511
758
40
436
973
26
739
994
11
222
990
753
284
807
902
322
385
388
549
501
485
650
355
153
379
853
251
160
728
482
622
286
286
273
874
241
81
337
917
8
147
572
380
769
156
173
625
656
749
60
228
975
942
802
946
277
932
778
723
183
871
677
387
95
971
377
208
229
708
789
470
360
869
224
141
943
676
377
678
546
655
375
857
180
340
125
902
577
175
292
32
690
577
304
694
326
42
356
359
541
319
910
658
84
613
120
343
867
523
549
140
811
430
365
382
775
608
75
607
546
157
32
147
943
477
876
218
60
855
955
258
551
158
296
38
829
545
93
594
796
452
143
613
398
859
122
778
11
298
553
755
176
644
482
377
304
396
96
625
150
286
175
967
213
31
778
452
192
797
528
258
933
654
87
526
339
917
232
622
818
55
285
43
207
776
756
129
375
502
92
589
500
676
515
639
364
584
818
919
140
404
665
618
342
833
251
219
172
697
689
30
698
929
87
977
982
582
226
169
551
608
288
403
862
317
197
521
330
37
679
521
590
300
541
687
650
1
174
540
477
185
309
823
305
866
409
607
900
481
682
150
626
144
897
237
270
700
367
101
6
232
361
261
388
107
904
67
788
163
286
446
647
595
497
949
250
58
121
952
887
721
331
344
524
325
192
116
896
950
22
376
1
994
975
651
791
346
794
957
410
504
444
747
940
541
493
342
27
197
172
827
39
518
42
775
505
576
630
369
578
427
61
966
22
642
858
651
569
865
129
85
730
378
26
555
124
530
209
992
474
965
96
930
931
285
350
942
726
249
32
755
524
407
657
244
285
404
344
609
413
956
717
107
240
426
773
642
510
718
249
443
659
885
989
53
791
804
706
940
859
523
700
875
999
429
573
16
545
270
749
350
540
773
118
674
47
176
837
99
794
530
297
550
482
766
710
15
300
141
429
263
181
309
481
448
287
419
341
1
725
964
67
931
368
880
438
984
990
357
991
497
426
64
280
681
607
359
236
355
306
666
207
774
177
145
402
76
986
37
620
802
277
668
134
340
674
174
294
979
500
922
51
576
743
718
900
113
958
518
316
658
36
609
910
350
804
759
421
91
31
961
932
954
335
47
459
714
316
160
106
197
446
225
301
298
460
582
906
256
865
528
841
394
227
371
269
585
654
671
340
691
715
598
910
870
424
149
949
342
185
628
279
192
362
69
634
655
471
596
512
793
215
627
692
221
771
785
956
570
403
118
390
613
546
184
116
882
955
839
19
150
781
342
417
521
460
594
857
945
730
294
617
437
803
993
772
691
371
60
61
904
990
204
449
630
710
129
266
387
262
222
890
162
795
983
514
568
178
702
106
226
388
810
83
867
697
129
768
360
687
776
538
798
634
522
467
452
616
365
952
987
402
731
34
718
32
706
362
548
964
287
267
820
626
482
379
830
264
929
514
651
571
311
251
464
961
886
492
875
63
273
509
313
429
955
29
727
801
191
159
516
51
889
776
489
459
971
367
119
825
871
885
445
981
103
414
39
483
46
877
307
178
531
1
629
500
397
811
189
702
92
339
712
921
516
739
341
598
632
922
695
816
345
194
838
539
929
967
766
236
968
819
937
70
758
934
84
812
308
160
716
596
145
453
77
688
546
530
419
673
987
773
162
589
587
619
537
803
750
781
442
267
387
154
21
978
452
307
928
860
797
763
290
362
135
470
334
348
813
849
422
970
536
33
568
0
890
600
369
39
21
231
711
360
750
732
127
588
276
975
154
233
970
407
698
812
882
141
425
806
438
200
936
977
242
515
612
747
61
900
721
433
340
764
516
497
957
627
541
849
215
544
639
373
256
771
438
982
816
919
730
449
710
454
59
806
759
192
168
214
917
753
17
815
185
740
919
907
314
214
820
282
997
627
199
41
154
173
933
798
618
6
666
507
133
158
546
324
219
908
628
104
276
194
564
986
22
917
847
814
711
169
591
867
900
140
922
479
479
867
278
354
782
812
210
722
726
640
169
960
714
116
380
359
561
793
263
158
496
12
291
602
427
967
380
466
154
837
30
898
704
917
886
377
923
666
518
701
612
327
192
424
912
173
633
462
528
656
734
229
83
575
294
658
66
930
948
800
253
931
666
284
366
799
590
120
91
489
55
828
826
589
724
801
800
98
310
941
357
859
537
405
965
489
936
516
527
68
667
549
461
779
58
769
493
732
359
999
114
857
155
160
589
413
48
487
262
655
22
977
768
623
862
81
508
404
639
605
453
895
380
255
371
20
149
998
534
956
444
120
411
853
282
380
438
771
61
826
821
703
38
531
779
950
243
997
498
794
521
246
833
508
624
495
966
584
781
266
412
144
866
439
580
669
651
423
106
197
834
800
604
612
371
734
973
111
479
449
358
196
999
547
768
80
754
765
897
320
621
732
212
965
387
230
523
387
611
236
69
661
719
845
507
228
0
325
421
135
249
136
374
703
866
852
648
277
753
340
495
464
230
190
132
24
576
771
637
971
69
598
512
995
186
257
130
822
765
893
14
182
932
748
305
209
11
104
688
14
626
251
557
401
867
458
308
834
652
222
793
16
55
227
458
85
768
391
632
742
621
967
218
111
762
33
742
909
96
777
848
356
153
512
314
783
570
146
581
252
986
689
643
215
48
259
79
804
791
455
456
359
812
899
842
736
400
568
836
652
242
835
79
900
983
267
863
977
233
869
139
548
290
132
775
217
662
870
15
460
878
168
805
132
831
957
210
732
326
269
910
608
988
279
221
327
779
361
480
234
625
975
496
149
861
438
835
950
364
175
741
363
63
643
423
677
664
751
789
731
437
848
687
569
817
328
374
572
670
770
96
810
506
535
926
733
678
350
701
428
37
372
25
468
217
190
418
365
401
728
568
689
243
347
27
897
854
692
873
581
462
614
176
922
752
887
440
366
52
188
243
992
650
923
104
456
512
190
330
898
937
396
516
899
772
194
505
202
168
702
537
486
31
779
175
660
707
630
671
821
978
641
579
861
889
802
807
412
42
898
68
994
656
156
105
706
306
396
369
672
167
718
20
627
935
85
592
327
759
648
229
422
237
303
22
39
45
420
67
857
651
849
793
832
63
811
915
202
402
802
518
498
746
148
330
905
727
292
896
448
674
528
966
483
793
150
855
398
306
516
692
59
244
97
701
880
417
208
843
509
253
358
785
146
437
79
143
326
540
817
693
528
735
733
330
525
278
432
651
531
353
322
225
243
990
131
798
475
947
411
958
383
41
954
219
0
463
532
146
885
524
528
407
193
989
240
422
168
231
757
432
356
335
463
491
467
640
589
956
754
318
445
430
396
672
108
279
352
46
466
89
395
468
815
109
703
986
498
972
796
304
266
586
614
597
535
615
582
516
194
751
141
410
736
980
154
810
298
638
115
582
15
191
596
318
809
419
656
195
650
944
742
232
566
622
538
930
183
962
321
649
132
580
99
606
238
752
900
292
497
636
207
196
711
771
61
754
354
356
733
514
171
773
879
697
587
789
601
298
446
294
910
187
600
407
513
863
398
883
471
86
786
134
327
731
64
27
7
471
928
344
30
340
316
356
209
123
744
369
950
233
454
646
269
412
440
824
60
957
737
467
783
412
821
817
44
829
903
836
432
319
350
514
656
845
674
347
256
467
147
737
728
230
325
382
146
168
821
657
118
646
679
753
155
809
987
169
646
855
944
367
152
660
714
804
471
581
470
147
37
451
71
248
779
282
309
351
993
56
517
12
172
279
779
604
89
446
402
654
832
832
376
627
751
760
246
880
350
573
995
298
119
79
152
152
882
306
665
48
954
257
975
862
827
785
505
675
642
823
394
26
840
573
469
172
121
431
236
882
116
613
784
674
725
13
615
379
21
297
362
863
538
568
918
550
532
24
81
503
520
251
349
766
894
957
625
456
971
667
589
869
702
656
265
878
489
531
723
552
952
342
716
403
328
97
346
293
828
160
821
671
732
54
315
824
35
856
534
733
727
349
817
815
780
362
338
569
405
362
517
781
103
578
845
740
412
875
905
318
3
81
567
103
257
502
511
926
226
806
23
434
133
74
825
450
229
52
221
314
80
819
881
641
634
116
261
899
732
591
673
894
292
63
205
836
768
173
47
291
529
652
153
929
24
28
838
17
547
189
515
210
525
765
827
950
131
719
687
65
303
490
563
289
506
337
940
252
414
728
169
455
489
412
393
473
407
661
97
997
83
827
824
795
209
926
839
261
359
656
695
190
528
579
311
241
898
968
642
72
543
431
752
442
663
635
620
834
988
380
150
881
84
729
156
160
655
324
74
200
910
790
6
819
632
981
870
238
365
38
889
869
293
194
789
922
992
225
636
308
297
875
578
291
359
126
771
152
554
737
967
245
364
532
920
390
139
383
761
484
940
391
486
664
439
611
778
932
26
437
235
956
827
136
255
85
784
241
350
623
315
380
170
700
40
109
958
912
32
116
798
169
558
62
107
665
932
400
433
964
53
122
478
825
140
55
471
192
128
310
776
304
904
246
817
618
15
710
367
395
167
664
450
700
679
125
808
745
448
179
98
577
369
524
330
236
340
156
866
389
462
655
370
212
591
181
140
805
378
992
94
118
552
465
857
700
542
745
489
589
189
968
953
161
746
236
59
72
670
546
797
895
948
487
193
74
974
451
328
2
228
681
441
904
605
317
501
782
897
284
609
264
46
316
657
912
20
260
685
223
158
541
884
863
107
810
717
902
708
19
124
523
446
438
499
376
464
166
574
139
837
303
37
406
316
357
722
434
585
602
976
964
892
615
362
889
602
104
629
736
819
9
955
112
446
251
918
35
396
292
358
118
695
469
715
555
379
433
294
155
82
506
103
71
249
842
840
646
721
466
776
700
217
758
899
459
458
524
170
764
660
569
265
787
575
606
541
980
471
300
218
187
916
561
709
918
150
863
844
247
305
364
13
757
715
118
494
115
917
898
807
814
462
596
439
756
438
861
954
635
922
361
584
548
707
424
169
406
892
270
583
859
950
363
487
288
930
46
919
96
125
143
128
696
816
71
684
870
182
774
864
732
228
426
934
919
677
857
230
8
280
71
555
780
749
229
849
186
943
628
947
480
625
932
67
577
510
277
80
542
106
649
559
137
819
664
599
304
870
975
552
95
270
436
335
280
698
543
745
335
445
116
887
587
242
789
163
528
364
342
174
996
630
70
638
275
295
591
93
116
404
376
230
434
288
114
351
942
439
720
40
587
499
284
878
485
565
31
533
96
776
174
437
933
329
871
162
914
833
781
166
312
749
406
805
174
210
833
825
80
845
905
809
214
774
302
472
172
897
134
615
730
835
849
227
915
928
834
107
914
863
346
52
983
717
176
915
607
144
562
997
814
661
58
881
621
861
290
862
239
575
431
463
263
599
165
4
266
507
154
844
509
382
713
310
334
369
365
900
841
176
395
207
732
812
23
782
459
913
36
775
124
308
131
396
535
705
102
832
528
569
298
131
457
954
653
467
212
186
983
203
275
968
74
268
725
268
37
768
277
436
72
782
323
451
624
715
424
384
308
540
644
440
62
289
977
514
499
593
343
0
913
905
819
829
248
974
885
373
421
829
439
448
476
700
103
315
446
704
381
155
767
305
833
649
771
378
594
351
420
272
921
635
118
833
852
190
182
729
446
219
211
296
598
526
742
566
36
888
862
165
640
276
618
976
349
124
306
610
851
608
132
88
933
667
941
13
969
942
710
695
987
465
449
657
799
899
176
515
488
700
547
615
867
625
651
752
658
732
737
44
8
661
172
954
330
338
357
959
959
655
284
609
872
884
206
807
817
519
593
119
198
526
216
547
720
921
507
984
594
86
23
201
261
463
182
26
294
221
551
60
269
471
378
916
12
320
125
862
812
991
135
389
956
434
379
497
196
388
394
544
896
569
603
490
742
495
22
997
681
596
284
847
629
991
209
489
74
70
883
442
204
228
807
783
919
422
196
502
88
145
860
24
751
310
270
316
978
227
748
177
803
733
200
190
364
725
774
533
48
571
470
416
34
743
214
366
60
977
722
745
187
743
380
694
167
995
664
270
35
320
379
150
579
311
853
728
460
425
780
443
857
284
467
995
909
913
922
805
104
578
233
786
379
794
625
754
318
92
414
704
78
121
567
513
911
802
610
426
402
183
657
224
409
399
332
876
13
223
323
520
725
791
981
429
481
409
927
388
475
588
986
826
538
681
131
185
294
189
83
408
916
836
517
208
178
452
363
673
136
740
463
517
235
484
704
225
256
656
270
806
692
782
223
23
79
929
617
548
969
370
912
96
225
235
862
189
125
484
349
316
633
827
716
725
499
272
23
143
193
132
78
388
328
936
764
621
903
602
940
878
385
334
338
402
664
838
545
749
614
866
659
568
7
423
986
501
853
710
136
799
703
479
321
618
331
653
724
61
640
475
986
846
861
564
912
562
642
678
653
617
449
812
184
717
574
348
953
637
277
552
878
659
738
63
895
776
378
268
490
611
425
1
814
703
97
694
730
289
137
844
910
488
370
673
574
133
113
681
841
303
131
680
875
42
982
440
237
294
808
179
178
573
146
926
90
169
728
851
651
240
534
808
88
441
76
659
383
95
198
209
649
683
354
586
190
372
719
588
431
302
580
580
665
121
534
951
17
112
730
715
615
762
270
628
977
251
435
966
546
272
690
507
83
472
752
274
472
360
658
336
801
669
782
990
219
224
877
552
971
672
487
151
309
182
581
578
279
17
844
681
33
428
825
497
432
467
213
825
183
747
957
79
387
814
123
531
850
262
948
619
789
959
812
207
998
645
468
437
838
116
235
488
346
356
139
978
594
531
470
321
447
922
523
175
666
982
32
289
686
193
762
294
177
658
906
54
100
356
627
335
488
944
108
546
814
939
781
98
161
191
727
333
978
959
694
574
480
991
722
5
905
321
248
26
756
280
83
133
532
391
910
938
33
106
544
342
734
283
596
408
68
703
116
335
139
606
441
318
595
190
935
788
924
291
444
485
570
415
300
54
487
393
462
520
6
51
812
293
781
270
940
359
758
627
857
528
860
933
809
770
969
380
456
5
357
839
441
968
561
423
894
924
790
104
646
884
411
738
659
359
438
767
309
686
584
34
347
950
943
127
523
627
216
824
373
847
942
197
507
155
948
247
386
676
398
342
328
368
113
855
348
782
207
628
63
413
375
811
950
460
652
456
876
680
194
754
639
416
483
256
802
433
310
705
839
233
785
139
852
857
723
227
401
807
578
949
636
854
160
824
513
251
826
757
623
157
198
780
723
844
621
279
33
629
39
790
240
145
335
767
119
48
870
395
185
54
547
702
857
227
109
633
816
541
304
803
325
971
834
481
961
655
411
162
496
902
152
33
347
545
199
126
585
862
943
157
80
794
784
970
1
596
171
425
506
239
883
237
601
403
40
130
243
999
191
537
234
728
702
911
559
447
827
105
830
325
882
564
762
547
160
747
922
364
600
717
825
439
892
785
844
386
957
508
479
489
663
61
971
155
821
789
270
730
949
271
201
5
411
559
497
651
302
119
898
174
921
48
347
710
406
43
270
826
617
727
857
990
33
866
866
47
988
817
325
547
485
797
33
416
194
594
955
526
234
259
711
582
427
36
256
330
798
18
291
146
642
880
924
84
74
466
198
239
866
252
849
514
323
518
628
314
950
257
6
779
426
772
883
808
64
861
988
901
526
992
859
622
914
946
981
760
564
20
34
51
276
719
577
416
313
824
125
176
787
692
797
329
535
813
482
106
969
542
580
647
844
316
121
839
650
207
798
85
162
52
713
678
417
873
489
544
159
510
40
662
885
626
529
798
10
266
647
26
301
12
342
294
592
724
502
990
99
414
887
382
667
689
704
692
373
628
364
219
776
94
440
676
0
780
447
415
902
303
688
393
218
587
942
667
609
831
536
968
732
905
988
552
245
6
436
158
365
952
874
12
187
143
396
620
670
515
791
968
52
471
720
329
609
900
950
181
290
354
241
278
68
952
28
921
387
327
296
396
442
167
590
662
275
138
996
888
500
708
417
661
149
359
99
482
620
160
805
262
842
267
488
513
346
471
128
372
436
74
333
581
238
857
40
30
401
543
162
683
933
578
836
599
662
976
897
948
475
987
470
687
305
206
820
252
724
158
546
342
601
804
255
45
677
746
175
406
191
442
807
630
607
1
688
488
39
794
714
353
419
30
690
695
674
836
638
668
633
877
785
271
410
447
834
95
435
103
500
304
440
193
109
828
674
365
504
745
609
698
655
176
939
159
398
685
258
739
900
498
719
45
374
880
78
745
863
483
260
297
197
404
973
247
447
438
20
148
98
461
945
195
539
496
281
602
402
967
503
682
231
591
258
718
722
836
603
400
468
189
728
594
462
539
13
843
482
953
135
415
191
570
696
110
916
908
891
65
913
91
86
812
781
874
627
763
458
24
752
372
395
239
915
299
307
852
370
44
780
557
579
668
361
629
695
373
107
853
901
720
799
550
402
313
754
950
259
487
483
561
434
213
630
483
946
752
50
703
665
378
48
525
412
778
53
605
458
686
281
655
794
538
361
123
456
648
74
741
599
997
192
457
215
26
590
402
911
545
745
817
666
30
371
644
322
243
862
121
858
331
528
934
609
63
872
342
181
151
763
700
93
316
771
667
770
300
427
883
680
593
749
304
731
106
943
974
203
852
207
341
963
895
13
866
929
631
405
156
81
737
372
328
63
137
938
311
291
572
517
135
27
317
874
783
612
416
985
25
954
736
833
749
644
23
227
432
591
236
343
412
215
337
650
194
115
817
600
994
132
145
632
748
976
90
941
548
322
336
413
990
209
852
175
661
911
310
956
106
518
239
171
912
357
567
135
70
91
650
528
175
776
809
11
454
732
386
877
429
111
17
343
653
701
783
410
85
716
555
505
426
815
768
992
270
272
214
406
328
953
515
62
475
356
201
909
603
657
649
33
450
892
764
219
466
610
214
559
2
479
506
379
476
261
859
580
345
497
47
702
371
642
318
176
402
93
625
670
465
44
814
464
693
85
58
627
160
705
958
125
668
197
631
971
65
984
196
656
682
971
713
584
573
572
868
816
181
810
49
874
74
141
925
582
352
737
505
867
158
767
253
623
159
694
969
363
741
669
935
965
427
170
474
74
152
769
307
738
204
127
642
806
942
674
416
169
798
753
371
735
595
934
969
902
26
434
831
328
73
501
878
893
636
804
136
14
669
383
939
340
321
882
564
427
619
469
77
72
882
606
511
756
260
59
666
204
545
504
190
323
132
424
310
86
109
80
135
804
241
599
921
303
856
187
935
297
210
164
222
704
67
468
974
131
756
289
985
492
559
553
733
128
906
969
667
9
551
356
80
790
147
557
828
986
970
122
2
562
916
181
362
56
78
104
271
386
248
511
610
526
676
310
822
274
644
900
133
923
903
634
86
285
581
579
994
4
899
866
498
690
815
876
449
291
914
220
975
628
319
770
470
506
397
758
281
992
842
134
767
830
110
496
138
764
855
438
197
517
678
889
654
550
620
224
95
377
843
435
487
905
589
553
697
205
918
165
346
428
176
609
716
934
136
877
306
107
378
98
571
978
781
587
83
55
343
165
136
717
509
428
755
335
235
913
868
906
745
531
141
449
107
64
192
284
669
882
449
673
948
883
62
814
239
507
671
745
790
18
45
512
841
984
449
946
916
936
123
181
626
412
173
421
583
816
870
632
197
88
937
61
845
114
490
299
78
207
598
193
409
57
412
154
188
678
308
709
53
59
816
465
92
497
756
82
593
164
631
525
458
790
526
691
422
267
955
971
198
300
380
546
581
943
614
428
426
149
861
206
684
997
481
307
648
244
367
373
851
14
946
613
481
870
765
550
17
686
33
671
420
133
965
519
554
98
23
271
989
133
981
194
740
899
578
813
368
836
265
194
325
5
224
770
62
516
301
142
873
378
184
558
356
980
782
81
747
737
25
994
478
300
872
783
474
188
108
713
730
810
954
379
846
661
212
399
222
609
817
317
216
195
334
346
326
482
643
319
407
219
262
450
872
27
113
767
171
562
506
948
446
457
363
444
73
776
216
797
432
876
594
656
562
800
150
982
660
615
835
927
367
857
239
515
824
991
656
660
611
86
579
485
750
734
634
451
585
578
972
404
857
388
637
7
658
914
211
69
875
537
294
914
464
971
797
253
12
462
543
726
899
103
87
247
967
774
804
322
393
408
30
656
319
207
864
53
419
119
54
867
233
333
200
710
564
578
296
946
808
157
348
459
407
658
150
275
420
676
936
666
27
461
475
364
306
482
521
636
108
519
353
634
425
836
706
34
567
318
871
343
411
828
50
326
868
147
352
221
779
73
852
102
506
826
587
19
363
433
166
475
479
653
594
796
178
575
591
186
756
503
294
710
24
701
633
723
223
505
204
546
579
924
901
915
726
81
729
615
129
933
900
4
320
189
585
354
425
539
980
300
219
445
300
684
388
118
750
717
458
841
534
820
651
728
133
639
874
204
542
754
797
309
511
418
153
966
790
846
283
388
26
191
311
355
219
919
321
943
261
761
867
600
203
8
184
777
341
227
74
539
47
733
560
664
814
817
311
779
423
624
830
255
732
539
831
664
963
567
842
373
503
838
319
677
250
803
672
106
626
375
156
189
203
353
73
857
825
987
808
60
738
925
290
738
343
175
239
700
978
639
228
954
898
216
161
263
230
408
216
979
278
618
701
558
640
532
499
186
547
521
756
666
552
249
372
205
590
369
870
714
869
123
663
245
283
541
348
725
830
315
435
366
132
286
297
651
84
413
364
486
41
696
274
220
39
786
315
609
244
461
87
788
56
823
909
829
134
811
10
100
672
133
242
53
583
1
215
780
493
260
203
1
865
909
876
519
927
180
227
343
740
353
333
342
944
88
70
410
724
231
450
339
948
864
482
396
270
355
846
799
482
967
464
95
415
204
34
164
435
348
4
943
388
45
498
868
972
866
482
388
677
87
938
562
105
276
550
590
452
22
1
994
251
295
980
515
248
633
154
370
784
99
723
191
10
249
927
417
966
663
167
217
985
7
762
62
434
858
293
740
951
785
945
531
919
370
39
145
301
942
652
399
251
501
88
864
289
465
442
106
564
588
985
328
68
851
724
665
718
601
939
989
628
997
38
257
296
568
568
975
885
226
71
365
14
752
930
742
339
1
755
599
110
333
205
721
160
969
223
862
478
273
583
755
945
203
649
81
199
756
313
828
63
929
364
90
279
356
959
102
85
162
371
793
390
823
350
792
490
875
52
363
670
769
4
48
28
660
535
538
952
491
609
63
922
915
164
14
277
608
134
206
42
859
924
997
496
970
635
501
652
461
83
966
245
372
878
801
923
944
18
572
205
742
520
248
398
233
995
349
481
39
355
83
303
694
83
237
158
812
476
644
637
242
673
400
489
620
134
545
806
88
144
807
685
103
51
340
214
438
92
178
216
11
916
60
264
453
49
17
450
713
470
143
885
957
188
559
631
328
828
289
65
922
509
234
258
190
754
515
961
22
235
509
75
346
841
800
741
676
191
738
267
28
973
677
594
55
222
878
307
727
538
846
705
564
911
591
284
759
334
451
169
48
316
698
400
575
85
729
509
924
792
551
443
284
400
697
346
688
111
990
16
658
555
488
282
659
482
530
820
176
59
958
437
719
477
529
970
249
681
747
490
668
488
707
823
429
672
753
792
350
108
615
158
294
792
46
836
739
756
896
238
376
25
843
870
876
881
510
245
338
998
217
435
625
801
404
166
273
243
993
253
979
97
914
15
616
234
421
535
883
760
157
316
530
250
17
988
827
967
360
833
306
95
256
130
608
977
127
374
448
904
310
706
210
141
606
946
723
718
846
543
365
616
441
924
374
809
700
952
401
581
627
857
910
399
71
671
172
73
25
903
272
440
458
260
661
806
775
878
183
737
384
765
161
977
409
702
484
70
804
534
632
214
792
247
959
540
757
253
795
679
197
634
693
413
43
751
11
412
602
490
682
597
72
932
639
499
56
923
35
688
729
161
174
390
963
739
337
283
74
291
695
551
172
380
214
589
28
507
80
983
622
729
224
541
798
408
189
77
553
719
401
756
99
345
996
896
686
100
87
8
142
165
29
365
432
462
56
368
54
450
861
849
853
379
943
300
651
20
174
631
715
504
579
947
668
919
280
491
360
674
279
487
11
834
154
3
848
502
880
763
185
806
499
97
11
976
537
901
198
764
521
930
599
912
99
793
440
4
954
804
459
518
705
185
108
323
259
43
911
263
438
301
13
242
656
165
594
333
611
993
135
968
206
937
380
315
456
495
827
642
48
403
19
957
295
389
697
65
921
452
839
93
786
124
719
551
706
531
63
860
553
626
988
71
149
412
993
382
964
595
14
492
734
683
643
485
209
794
906
408
312
824
928
157
540
325
721
893
331
791
177
293
846
254
91
575
361
666
380
544
226
667
499
81
403
492
598
182
643
229
996
386
166
983
888
128
809
250
779
125
755
388
641
627
868
545
816
528
180
447
748
491
736
783
558
975
692
347
732
985
852
726
177
121
861
294
317
705
956
876
469
806
8
608
999
630
742
105
881
746
759
198
434
94
830
841
696
452
16
832
60
632
653
373
879
189
836
822
423
306
741
571
637
150
571
310
754
655
361
534
320
489
284
999
464
770
905
750
96
133
467
299
816
319
948
662
909
704
710
259
774
910
365
573
669
46
489
986
197
717
829
933
100
816
427
543
626
980
321
860
860
978
314
5
998
296
382
570
234
906
797
797
136
285
488
189
668
537
294
769
528
514
215
614
583
364
114
191
902
47
119
494
566
620
361
783
227
965
369
650
726
943
415
399
986
429
627
983
841
425
203
62
439
799
631
875
33
61
500
681
753
821
99
809
423
123
479
502
225
293
759
779
388
231
418
265
492
549
458
711
76
846
248
172
768
195
807
792
411
377
165
891
546
46
140
389
188
470
265
19
778
39
934
858
27
82
805
436
696
596
342
869
649
952
37
533
792
670
400
140
233
167
941
385
81
852
748
368
329
718
538
742
716
181
629
113
396
994
175
589
509
132
404
237
353
450
839
544
58
16
34
438
476
541
752
752
799
623
391
755
866
78
173
830
828
221
658
390
9
747
230
607
540
174
495
537
235
198
842
28
43
806
40
916
852
767
681
158
754
309
56
479
158
118
13
577
401
269
644
662
235
800
14
791
349
32
455
917
157
579
535
144
184
398
291
530
753
670
459
936
958
806
651
731
988
713
33
36
39
129
797
211
540
686
61
627
645
175
529
220
19
742
118
708
277
315
619
683
852
693
332
939
531
19
996
822
400
586
644
678
64
196
184
288
741
557
937
910
378
543
631
753
933
858
205
510
439
299
34
510
299
248
577
150
295
260
71
696
565
769
495
242
626
590
412
791
685
445
901
481
348
573
555
818
791
170
612
642
11
441
333
177
364
746
714
980
441
769
573
216
455
136
850
408
365
969
586
255
259
993
70
169
376
616
282
712
894
669
351
663
768
298
758
703
684
757
644
780
662
248
906
926
69
881
32
426
940
492
509
265
616
944
422
891
529
388
996
957
944
53
467
564
597
995
221
74
912
683
922
459
942
761
347
789
682
621
528
4
942
639
298
609
852
481
402
611
647
913
788
72
383
209
783
667
917
180
893
348
617
1
137
655
493
803
529
937
620
62
235
480
921
705
192
546
180
306
961
134
470
362
71
147
750
351
894
471
656
920
507
539
137
852
953
754
891
211
55
120
340
97
514
938
765
599
416
399
511
343
49
521
556
561
388
630
115
492
2
621
123
657
922
535
223
951
259
76
693
442
750
195
1
479
555
996
55
678
139
956
730
536
262
701
935
879
522
245
270
494
684
785
195
331
79
862
990
386
140
863
160
260
907
213
46
438
625
431
624
534
628
566
126
792
812
978
278
656
372
705
726
382
41
856
277
18
957
362
792
884
58
867
722
891
547
592
102
288
566
612
466
454
203
706
686
640
867
86
663
381
914
536
21
652
434
682
744
87
924
793
394
791
951
152
332
96
264
934
640
133
126
188
684
272
666
331
816
929
340
805
852
776
226
175
491
895
158
998
498
325
965
408
805
402
608
982
385
679
604
445
263
67
162
837
132
725
655
321
53
275
982
847
627
610
59
586
775
998
891
830
855
927
806
69
869
997
938
587
353
358
894
310
641
540
423
60
560
521
243
72
530
749
708
153
727
253
575
229
820
251
726
235
432
904
932
245
306
860
768
30
867
755
700
554
680
468
474
426
571
530
683
817
15
934
461
607
349
691
561
527
330
642
476
634
57
163
816
357
137
111
61
14
726
121
923
988
980
252
267
223
817
203
770
870
863
372
897
700
997
933
392
910
402
413
948
111
898
994
826
269
335
694
108
865
660
235
965
503
154
948
592
1
991
511
68
827
316
550
242
683
341
526
888
27
281
269
447
361
245
836
161
241
387
613
341
631
427
664
100
338
484
753
468
497
348
63
687
986
218
187
561
792
154
652
305
238
831
923
517
470
890
184
675
545
424
127
451
705
61
154
360
272
558
471
358
549
611
199
15
137
71
318
319
684
451
328
615
465
161
730
266
746
165
479
90
498
892
958
359
878
297
532
47
351
516
694
841
617
618
306
216
160
849
856
782
396
94
273
999
322
909
163
624
838
411
473
31
447
222
128
655
427
156
291
452
919
537
92
253
603
88
13
291
275
291
548
414
606
37
348
838
276
785
73
74
771
943
577
998
542
765
97
763
605
558
854
883
288
144
833
735
492
192
660
875
698
781
641
498
777
765
352
54
860
161
550
783
614
562
136
735
359
531
716
216
85
246
530
97
124
62
581
890
167
202
453
221
612
21
183
351
691
860
700
654
944
182
949
601
662
508
401
802
473
996
800
113
710
423
971
934
657
960
651
189
65
804
708
653
494
977
274
374
400
762
176
726
410
509
829
908
156
815
488
450
469
810
42
604
863
512
438
277
232
228
104
220
73
276
581
723
845
533
571
379
26
706
671
291
901
68
470
284
135
442
532
374
395
148
816
764
827
8
619
482
899
729
656
578
919
403
100
650
898
691
867
515
538
360
279
974
993
264
798
460
621
121
667
543
599
617
217
685
574
601
299
844
260
214
870
2
322
809
508
723
442
68
400
669
671
283
482
160
393
698
963
52
645
129
731
401
988
294
6
128
695
774
730
322
820
623
336
14
801
628
744
491
107
308
155
339
356
75
150
33
823
801
399
919
658
804
793
476
371
816
647
190
735
496
652
273
308
327
580
335
275
959
645
504
344
562
701
119
171
479
219
668
725
535
939
958
270
750
942
571
135
42
641
837
157
688
68
233
663
91
528
234
283
436
648
828
15
335
927
477
14
347
826
892
562
652
658
89
738
455
480
399
980
623
973
925
732
873
553
961
576
667
149
204
390
472
565
73
694
134
481
200
247
745
421
595
381
40
516
918
660
640
53
279
465
327
304
207
402
17
473
80
312
259
265
846
526
391
274
375
608
151
419
654
685
602
372
134
784
502
30
986
967
404
685
562
596
979
615
725
40
395
233
697
223
640
122
217
220
607
262
950
72
692
795
570
415
380
476
955
501
230
438
748
834
495
411
346
702
723
7
85
566
709
937
981
688
473
49
525
88
551
307
436
760
696
306
253
455
300
892
808
809
359
870
969
214
874
838
230
569
564
316
344
7
211
432
669
154
958
309
611
842
487
885
90
548
315
300
852
141
814
566
637
232
324
43
755
104
389
919
874
379
530
976
684
664
740
895
975
621
903
729
786
805
953
322
854
752
106
528
341
538
122
458
621
22
231
499
420
274
207
861
506
585
417
545
76
740
351
340
442
644
660
648
484
117
441
319
779
62
29
856
856
113
137
140
38
835
95
413
636
321
618
694
211
775
873
315
984
376
152
82
472
162
0
126
278
262
406
709
909
436
417
837
756
142
456
373
723
145
530
982
361
165
491
339
779
336
658
892
838
92
231
886
691
136
586
713
872
695
798
936
912
310
892
188
280
883
773
946
877
601
562
663
866
204
657
446
866
951
210
341
983
882
385
590
618
433
320
130
664
299
700
321
804
736
405
126
31
59
771
416
262
58
189
65
711
902
82
440
516
266
277
15
593
335
989
117
685
355
956
278
143
496
836
900
577
70
415
759
603
225
316
744
70
300
961
61
362
503
203
496
824
99
763
548
630
473
460
40
40
982
426
795
608
120
164
683
258
256
267
276
446
112
364
344
962
383
300
263
96
963
534
754
122
460
267
725
125
518
789
116
399
302
717
301
133
894
864
487
141
755
346
906
834
40
401
120
489
46
290
492
925
676
935
461
987
30
421
522
450
936
174
961
979
412
775
255
968
47
822
31
635
746
414
845
495
613
708
275
11
282
241
179
419
70
91
116
895
335
226
218
804
975
896
368
984
380
989
504
466
11
712
966
78
529
625
886
310
539
922
914
170
759
622
581
464
300
781
745
527
754
1
983
890
128
299
558
212
654
101
337
783
441
924
568
156
900
660
836
377
677
905
679
587
522
413
895
772
849
762
277
650
85
909
726
233
811
757
342
654
735
123
414
923
295
854
217
193
548
523
584
300
856
76
145
731
188
127
278
104
502
877
89
234
419
640
10
845
689
893
565
656
242
613
667
386
144
220
846
272
865
357
123
373
522
481
441
419
325
283
289
324
57
858
772
287
453
266
763
39
732
305
941
353
764
93
27
656
347
458
532
236
955
870
985
425
708
597
780
538
627
420
787
134
142
278
832
497
965
5
590
445
420
550
701
237
4
172
331
755
746
200
547
886
847
33
371
82
749
568
816
731
510
496
806
311
799
801
876
365
329
329
944
539
994
475
29
910
563
2
707
481
133
17
832
563
755
263
130
658
317
363
889
956
68
98
358
551
581
173
316
47
738
709
661
445
535
571
264
841
781
938
340
439
298
144
178
213
471
247
357
36
690
70
237
381
367
131
866
299
219
884
786
105
783
602
397
461
887
41
722
444
472
299
370
603
202
891
225
40
332
938
883
145
84
464
23
443
451
831
992
878
742
697
105
526
380
461
359
124
846
174
931
697
574
230
640
805
995
764
95
492
272
75
74
200
953
799
265
582
249
318
163
358
79
645
52
140
232
856
975
908
59
379
829
549
898
992
912
416
923
819
485
122
206
470
485
630
330
760
972
841
678
671
929
622
402
130
831
289
446
62
542
186
913
566
381
161
587
354
920
642
273
290
503
775
893
725
79
210
133
649
611
557
619
435
511
98
675
611
611
588
800
789
321
5
788
542
55
354
860
111
674
208
157
706
936
212
776
833
556
199
206
282
320
717
833
588
678
863
631
554
490
8
176
132
774
309
625
948
886
570
525
873
819
173
930
683
350
801
356
187
799
96
563
2
156
289
693
305
980
540
274
902
543
684
127
543
923
829
336
900
922
788
95
668
892
685
792
604
449
110
676
229
430
494
151
910
432
810
423
652
48
388
77
790
814
159
9
72
716
483
330
139
440
333
443
109
170
320
794
862
499
124
979
869
604
194
955
741
199
5
991
167
699
461
805
601
557
887
348
496
178
486
227
389
308
409
752
257
868
120
151
176
350
114
362
739
915
83
256
39
596
906
513
620
863
123
323
494
757
404
4
500
513
13
147
36
342
598
476
888
994
439
336
715
614
88
332
782
472
658
256
458
340
848
80
713
335
524
727
115
973
734
183
516
809
443
90
383
596
206
249
548
116
779
650
410
729
795
581
578
618
710
241
530
99
736
434
674
470
347
393
825
719
368
505
984
120
631
571
440
340
916
820
699
50
476
874
536
509
667
226
295
379
734
60
228
969
144
513
646
174
25
125
438
70
255
919
295
947
423
922
969
634
388
948
587
238
315
254
491
58
303
327
264
995
691
405
108
267
376
871
623
761
480
799
936
502
343
877
820
165
129
145
135
561
105
297
942
738
880
613
973
385
408
13
840
467
564
661
850
999
453
408
683
283
762
974
65
986
337
598
396
505
517
835
37
486
875
202
856
302
307
610
53
434
30
111
324
51
100
684
353
592
4
694
252
784
273
885
855
931
605
645
536
203
952
962
341
680
661
581
378
120
755
114
162
330
888
673
234
192
879
795
907
739
260
426
678
744
884
924
77
202
610
634
286
326
949
22
555
896
298
572
852
667
123
71
4
651
463
434
806
849
221
526
130
944
661
537
112
734
375
745
214
107
283
157
131
51
117
756
282
606
758
592
76
341
59
608
240
494
519
264
542
927
899
93
879
975
675
467
855
114
816
406
574
167
749
923
292
197
546
789
70
868
510
19
626
786
82
336
714
570
467
459
807
252
492
726
722
300
132
592
141
447
807
435
217
613
251
391
133
122
641
380
476
421
293
712
213
784
99
720
251
757
708
901
261
781
482
666
408
679
804
827
758
268
153
287
119
528
435
642
280
793
151
962
778
921
750
54
362
916
884
380
68
285
372
905
5
662
764
444
153
87
584
772
827
192
690
52
254
793
839
360
974
350
184
0
382
935
256
14
627
748
915
907
750
513
345
288
663
488
416
410
271
796
432
608
21
664
717
810
271
29
101
35
118
979
797
502
42
406
407
745
622
681
628
496
153
708
251
910
817
799
162
576
940
634
445
990
273
615
405
205
509
809
111
116
721
174
489
323
188
268
616
817
926
339
506
223
240
425
995
633
540
220
698
55
44
639
950
268
970
63
819
607
224
93
13
425
450
595
615
207
30
480
949
708
4
472
471
708
121
22
109
656
908
394
352
345
603
218
534
388
381
951
297
836
262
734
770
164
622
993
398
579
144
624
851
626
453
527
555
899
894
222
98
306
572
852
905
51
741
81
213
624
141
771
589
69
830
617
180
724
345
511
365
405
804
553
565
418
969
722
139
276
911
230
70
799
806
889
760
145
344
113
846
791
201
113
895
697
916
96
778
92
313
548
280
508
184
656
199
460
568
957
95
150
924
442
684
977
342
55
439
285
856
358
166
767
511
246
579
644
697
205
676
359
388
198
560
726
359
667
505
332
762
204
809
543
374
954
408
875
557
954
133
694
901
692
515
555
225
425
752
278
542
764
158
230
814
484
673
47
714
686
636
425
429
934
932
846
728
42
465
180
667
668
914
396
905
333
433
860
489
756
982
887
780
236
360
572
481
389
701
624
478
495
167
207
678
829
764
227
371
809
481
187
479
72
460
302
249
75
676
954
415
464
981
677
498
12
748
670
626
714
845
201
148
932
990
210
717
138
607
525
877
544
601
586
436
783
635
294
362
865
540
565
416
487
188
897
498
178
694
78
11
895
255
69
451
166
17
375
913
643
683
954
870
927
188
270
283
403
432
887
380
772
651
921
772
143
907
547
338
921
504
437
972
812
785
711
355
836
347
369
255
517
976
513
889
642
569
60
728
47
642
908
467
218
899
232
498
429
123
380
454
154
50
870
249
492
220
877
104
923
92
317
859
848
981
333
127
174
649
308
836
214
785
962
491
840
45
834
201
686
150
548
918
62
380
426
853
389
21
91
567
135
220
806
308
582
852
460
705
266
586
827
911
171
261
599
126
918
140
311
381
803
654
791
128
123
564
217
788
295
208
256
10
885
924
123
425
527
789
2
245
471
674
909
355
502
258
709
575
41
715
751
805
299
403
867
427
502
684
810
319
619
904
325
702
316
252
132
62
654
332
713
354
493
324
371
450
291
915
120
461
864
633
547
948
867
766
303
868
170
209
642
468
693
154
274
869
646
301
932
574
602
967
445
765
847
212
981
10
953
881
674
789
701
911
585
288
551
929
219
430
311
367
434
558
892
238
703
281
425
823
702
674
102
336
772
934
119
707
169
15
732
33
117
954
552
545
526
130
602
547
129
86
132
753
535
459
82
665
773
732
372
805
100
397
525
334
466
49
808
639
43
622
310
969
746
70
647
81
883
372
959
641
737
416
990
769
25
411
556
130
351
896
326
118
549
189
269
625
46
88
344
491
526
223
541
217
471
205
927
959
15
365
371
905
255
660
531
261
946
350
970
840
313
81
802
412
286
728
988
419
365
960
991
665
325
535
538
557
363
580
222
324
99
715
825
399
512
502
53
407
291
588
286
187
953
164
261
595
393
567
393
658
102
241
927
311
21
401
179
71
242
324
9
17
354
160
544
467
623
305
932
333
722
197
234
463
304
243
321
567
986
532
174
959
115
733
68
958
361
547
347
504
986
774
23
906
236
750
602
680
825
159
452
931
790
644
157
267
889
593
268
426
658
898
60
275
714
5
665
343
758
223
556
522
556
483
824
153
116
73
383
516
290
192
677
850
112
703
20
409
786
491
895
900
263
775
683
388
239
652
710
885
304
94
803
581
627
252
621
645
897
993
736
281
966
772
298
52
981
900
387
730
275
786
178
982
762
116
227
751
349
987
148
843
354
827
248
956
937
186
902
288
354
773
518
874
22
814
688
256
800
662
871
841
969
241
787
366
679
536
13
219
492
753
577
657
374
269
218
694
546
747
111
52
301
992
741
229
267
408
838
922
986
65
840
347
408
475
238
283
811
191
510
605
57
208
276
905
847
433
798
477
764
43
6
884
652
837
250
748
576
229
605
841
779
898
421
478
811
297
991
858
110
783
587
744
544
538
929
947
364
781
478
921
608
499
81
988
407
217
921
609
369
905
81
255
415
479
946
760
351
71
50
303
992
254
857
739
133
541
642
908
209
924
873
928
29
178
332
682
469
896
395
838
857
972
255
952
982
558
679
601
902
315
91
600
225
123
775
878
807
686
304
497
874
421
443
221
935
198
427
593
59
174
867
236
751
583
478
851
385
21
401
329
637
151
652
255
810
770
21
625
980
796
982
335
355
782
485
126
703
873
211
104
812
327
960
598
643
499
347
244
672
418
671
937
595
7
118
845
264
929
702
82
743
440
886
285
877
148
732
715
511
957
719
13
549
816
534
518
463
838
157
865
715
875
228
726
654
701
903
931
243
153
108
812
709
97
354
882
9
410
205
900
553
254
558
919
414
164
448
96
782
504
349
724
721
171
550
777
68
548
759
398
141
34
899
750
266
405
999
452
348
847
181
189
359
920
733
151
194
595
729
534
98
668
776
135
601
472
842
279
800
884
645
637
365
367
2
829
707
995
39
74
348
426
536
998
669
112
932
891
919
807
657
894
344
726
474
649
455
963
563
160
112
943
230
563
672
546
96
925
144
578
902
268
248
834
706
161
381
658
554
191
128
813
344
329
434
885
504
862
765
342
656
153
397
942
587
217
867
394
31
134
266
947
118
294
149
285
485
954
323
240
405
895
532
456
900
724
626
967
769
486
679
174
485
72
817
306
37
142
928
597
395
20
789
567
730
882
249
413
335
322
107
512
653
481
300
678
674
547
482
142
694
764
495
764
157
837
901
468
39
194
910
298
606
871
563
713
686
813
533
315
913
842
629
645
232
815
771
716
84
104
589
317
672
782
64
29
556
45
504
584
829
821
441
416
323
826
951
577
843
925
28
38
926
956
336
142
919
594
526
935
929
998
81
719
853
488
975
584
390
135
1
50
171
579
385
432
227
156
311
425
779
498
812
707
288
366
281
137
624
311
305
548
88
111
641
497
19
556
934
736
818
255
361
904
122
853
402
571
31
725
395
154
165
654
286
569
764
761
632
516
866
59
40
317
100
274
669
542
681
763
954
727
527
5
692
728
645
689
422
742
251
724
307
547
144
158
51
584
706
651
453
624
211
509
234
650
754
134
134
66
181
92
549
857
446
437
433
180
469
126
182
441
430
171
619
77
973
105
420
522
505
826
260
672
196
304
900
429
244
230
159
610
88
910
153
322
708
518
982
175
164
67
191
918
536
590
376
788
379
243
955
178
754
217
531
396
427
796
630
925
177
875
32
951
412
362
781
782
863
711
372
67
829
4
704
352
538
438
427
653
832
631
507
951
891
919
289
450
125
514
127
379
932
466
227
954
412
145
905
105
733
4
64
76
587
655
875
226
436
982
754
752
325
244
48
429
157
861
641
540
387
96
859
607
334
364
848
516
127
132
494
327
570
850
974
115
514
314
96
534
247
27
985
957
185
935
327
796
565
273
313
929
378
91
637
177
105
13
436
291
614
768
896
250
225
482
531
683
285
62
375
860
879
458
437
731
488
785
808
961
483
901
33
32
420
95
521
281
704
912
473
478
27
877
134
243
134
36
45
845
333
528
487
641
317
749
309
652
813
432
303
520
213
173
722
607
64
832
425
122
509
313
633
859
259
467
914
456
30
393
12
108
697
834
139
614
593
684
28
182
283
767
326
907
15
123
741
259
248
532
695
824
632
521
29
498
408
211
93
247
530
807
856
773
769
523
942
91
733
413
321
800
753
73
199
425
34
281
264
140
653
254
378
711
810
812
749
139
776
73
950
404
903
422
55
487
750
912
593
268
977
687
383
127
592
457
558
788
427
201
751
230
453
265
639
432
913
496
24
267
385
564
529
367
365
164
292
552
272
356
591
15
101
970
954
942
687
957
987
612
667
272
997
330
953
76
877
385
790
939
737
878
822
50
748
695
246
636
984
881
652
373
709
59
341
27
104
337
844
126
732
664
469
666
336
465
34
511
520
699
969
493
679
25
31
787
560
904
506
323
528
243
954
361
965
456
885
255
185
755
792
736
205
564
128
66
755
876
761
600
143
268
80
211
191
330
825
258
756
806
201
231
352
877
875
892
379
609
250
281
536
846
593
837
827
525
501
234
577
943
367
208
959
601
591
841
138
828
174
416
286
553
980
456
901
408
921
726
756
660
499
924
755
146
677
49
897
509
628
737
287
964
224
196
844
198
837
865
49
201
982
66
739
595
850
112
457
8
605
697
877
576
637
961
366
216
280
350
629
755
847
245
819
922
899
48
873
946
520
986
614
767
902
199
390
74
125
557
744
615
844
288
885
977
676
561
879
192
80
94
554
996
178
388
851
144
1
127
591
433
386
850
799
178
630
979
196
304
238
571
832
969
706
478
19
589
456
779
414
270
924
79
793
992
826
465
448
475
53
744
530
965
80
786
249
341
238
978
201
431
128
924
757
146
216
633
596
375
755
708
479
637
608
725
833
335
692
953
479
20
30
882
211
11
816
537
605
913
275
736
151
639
784
125
281
961
102
736
64
318
661
896
336
115
551
854
562
313
507
841
931
732
678
867
403
293
472
488
636
730
927
479
94
367
768
450
642
219
288
602
622
377
916
657
279
733
222
601
688
862
880
547
220
869
369
62
118
369
105
974
668
746
902
607
527
409
338
489
946
826
528
333
210
66
987
705
47
469
997
765
722
950
503
227
847
710
959
420
321
236
460
145
346
189
967
863
79
834
978
31
623
868
459
470
915
1
137
642
980
56
528
751
533
266
236
358
870
95
513
42
759
3
329
685
238
829
934
392
104
785
807
385
264
65
359
741
492
411
948
274
76
664
482
707
361
230
612
327
709
652
476
507
773
96
145
209
545
422
463
918
877
710
350
437
376
602
698
504
835
439
489
497
415
655
384
181
590
388
436
865
199
671
490
60
805
823
231
713
489
560
519
587
101
226
781
566
585
922
141
495
970
888
76
703
273
512
482
521
782
481
238
330
151
372
642
413
679
620
511
91
688
569
493
383
857
544
596
871
281
484
567
395
270
600
921
31
735
974
501
120
805
74
833
782
23
374
178
208
39
65
882
231
245
607
26
685
457
662
584
581
741
729
378
835
790
587
473
509
588
613
378
286
90
412
612
769
367
22
62
180
983
410
623
988
197
985
764
368
829
683
785
487
981
204
792
545
840
17
184
274
237
912
877
310
738
299
252
712
326
460
562
565
525
126
599
198
56
466
227
780
61
211
192
721
746
451
180
605
670
297
567
809
752
268
216
210
897
320
753
882
491
240
507
128
151
247
134
470
144
350
117
30
363
684
19
240
847
531
763
867
948
556
889
384
949
696
248
833
738
733
196
843
323
801
246
987
406
801
308
201
847
200
779
664
947
981
124
721
790
578
238
702
663
910
469
687
91
925
819
693
940
871
22
829
494
983
638
46
990
774
104
87
553
214
829
657
32
165
452
737
482
632
845
965
378
285
780
313
193
379
90
666
939
842
418
277
351
742
642
910
77
497
231
517
686
567
600
282
286
105
106
304
906
956
398
823
640
794
232
714
809
626
115
862
15
530
538
154
607
644
728
572
279
617
762
732
393
135
389
522
993
557
715
511
452
242
506
532
75
800
664
718
368
708
363
426
712
651
84
507
184
541
273
280
485
10
636
778
626
867
948
390
746
69
871
434
714
743
738
866
788
179
113
611
847
250
182
655
687
321
407
720
796
530
969
386
856
146
161
669
814
469
336
200
983
263
648
315
182
961
346
181
365
327
201
178
556
708
879
78
350
773
627
120
124
184
7
946
81
627
768
977
157
44
659
958
956
509
473
832
357
651
320
587
547
169
429
39
415
8
462
160
329
435
390
235
675
90
326
197
42
104
167
445
953
468
184
792
603
688
743
335
307
425
815
921
429
639
382
751
496
88
552
949
575
847
214
165
324
616
984
183
468
984
519
904
805
956
877
958
221
8
881
701
61
320
562
325
74
888
760
755
600
920
371
270
337
778
869
858
945
97
137
868
27
805
257
297
473
65
126
844
168
444
268
606
353
291
547
703
747
499
807
809
743
945
832
982
163
499
497
862
889
484
815
497
217
847
677
761
111
204
829
838
84
376
682
536
92
405
682
30
55
640
477
688
179
80
981
955
464
583
635
761
736
260
326
790
214
171
911
491
934
952
985
440
586
6
28
661
139
366
686
139
759
772
174
517
637
177
554
114
907
812
609
346
699
548
463
746
976
355
100
995
456
933
525
724
543
281
844
871
580
514
980
434
840
928
877
454
947
958
209
290
318
373
76
72
371
331
763
611
29
966
798
923
68
965
805
345
287
90
40
71
116
680
729
421
687
475
694
326
8
395
310
542
985
70
261
459
148
829
594
429
30
952
626
867
453
618
522
864
762
232
989
746
650
948
22
661
331
488
86
288
426
605
872
283
63
530
947
294
396
442
181
58
649
112
462
848
835
215
338
338
167
778
484
949
879
439
282
953
991
215
67
206
390
662
857
139
579
526
239
264
526
49
153
575
325
971
791
371
833
895
924
265
710
945
836
943
226
678
291
199
138
868
620
501
180
917
359
73
952
245
570
112
450
153
462
515
421
571
166
433
801
24
419
859
858
549
240
235
9
396
655
230
898
704
228
768
860
313
889
668
526
675
278
209
707
319
444
730
710
3
873
931
950
343
68
818
371
709
420
7
119
107
325
729
716
162
39
744
546
929
956
292
854
986
755
622
995
102
512
752
168
518
991
869
630
816
349
991
500
78
244
579
822
421
697
22
754
892
928
621
177
553
381
455
981
252
802
978
591
979
39
157
685
413
564
340
723
682
761
854
307
387
656
101
778
518
170
530
256
103
250
29
284
388
889
572
801
298
551
824
700
400
689
710
817
368
733
848
828
794
962
876
748
247
362
184
877
59
870
123
913
704
482
978
913
632
301
877
927
377
719
226
746
198
273
862
898
728
624
714
727
936
624
340
437
353
912
873
729
366
675
617
972
877
414
25
919
617
836
857
245
869
426
827
221
176
431
878
894
798
516
871
267
75
631
350
693
759
493
25
62
215
571
296
585
369
483
928
199
472
642
123
869
189
979
648
891
451
30
697
701
781
802
205
376
252
178
426
376
559
563
443
102
758
125
210
402
704
353
147
529
12
230
847
316
936
867
478
990
316
155
741
603
429
349
374
771
234
913
573
91
633
51
591
605
704
235
890
303
798
348
67
452
134
916
363
629
51
890
93
133
987
181
73
823
998
148
524
807
334
58
58
205
943
174
738
467
127
728
952
654
601
844
367
984
213
61
235
227
911
385
601
549
138
782
0
288
158
749
953
829
351
261
58
328
919
787
961
336
786
25
963
552
291
969
337
787
634
928
437
882
224
767
80
691
851
168
385
1
972
279
898
649
555
927
31
438
467
690
461
174
163
330
309
230
640
705
7
48
821
146
697
495
104
176
624
82
581
81
101
406
908
300
640
705
847
877
324
330
467
723
349
748
973
233
698
569
686
601
664
802
565
711
381
147
537
318
99
155
193
147
967
348
430
348
527
667
569
135
80
770
956
159
361
564
84
128
460
281
331
423
901
539
876
897
295
983
294
828
709
872
776
127
32
215
633
72
983
834
178
177
428
910
6
668
84
204
660
747
206
195
227
150
414
92
955
412
947
655
861
451
254
688
343
849
208
441
910
458
689
867
210
682
389
565
944
91
512
451
651
624
310
606
996
56
309
552
903
551
113
16
532
459
393
500
370
657
29
824
5
485
328
974
830
923
98
376
556
420
421
551
999
398
936
651
882
712
760
479
874
229
671
570
854
160
524
707
187
189
573
264
442
243
99
198
424
510
840
641
745
412
147
524
611
910
383
171
980
145
0
160
308
622
613
312
325
961
947
123
266
655
415
332
554
468
272
351
108
590
547
739
129
914
571
322
518
160
333
873
815
728
73
321
814
894
299
790
862
854
433
284
889
711
289
835
238
413
480
117
644
283
97
955
365
806
644
969
28
566
25
320
327
123
185
119
39
421
913
986
897
910
693
154
486
512
658
885
515
444
538
499
332
339
872
988
144
290
3
184
293
256
969
983
172
66
390
348
960
499
131
800
615
77
589
900
272
172
323
709
553
315
984
694
875
530
782
700
476
42
772
338
189
381
115
926
208
348
638
142
193
356
366
992
282
864
687
57
336
243
685
38
394
508
149
690
258
863
151
708
132
26
962
735
850
618
291
130
289
161
842
128
791
251
0
142
607
11
494
803
249
434
286
287
7
774
529
420
776
712
375
37
168
472
515
899
41
571
955
473
95
878
269
703
620
7
960
900
465
807
406
641
285
995
555
197
494
901
175
440
919
801
343
189
615
988
492
40
584
575
852
407
505
990
330
46
242
502
549
435
301
295
568
641
475
592
962
129
556
982
985
998
35
369
783
463
314
857
139
367
223
624
147
199
171
360
227
606
175
403
581
599
355
423
640
387
708
130
528
730
487
563
253
294
963
267
304
169
585
473
853
484
590
122
442
917
44
164
547
537
866
27
628
103
847
432
622
423
691
293
504
985
854
435
822
82
37
301
227
854
557
895
384
165
92
12
689
791
988
24
811
844
317
723
70
795
529
240
380
921
572
366
724
364
62
230
584
620
436
284
519
812
878
471
495
955
491
813
306
762
667
339
326
201
327
201
89
504
597
788
419
36
948
982
948
859
636
219
80
350
302
639
851
595
73
332
814
361
286
713
538
505
135
696
229
837
716
748
989
63
296
986
875
586
979
979
766
403
987
293
701
259
990
956
434
165
455
201
454
408
860
167
613
464
931
480
251
322
207
105
331
283
201
204
344
186
537
353
226
538
887
152
531
607
361
797
344
392
401
823
412
141
832
515
229
525
400
445
872
887
333
687
383
776
972
136
239
794
44
882
128
89
922
678
291
399
919
42
248
476
285
738
904
756
771
406
549
221
196
142
418
987
853
940
358
179
200
696
527
625
674
22
619
189
230
263
793
253
352
942
596
740
24
642
599
24
717
825
308
71
54
637
650
471
758
644
510
40
982
53
204
568
580
619
529
68
17
455
976
896
840
59
436
156
80
746
75
446
968
699
440
633
892
211
922
618
545
938
377
647
438
474
572
662
357
323
448
84
659
288
799
243
480
633
514
806
538
928
953
500
995
340
296
911
570
104
198
102
808
489
476
96
227
713
105
332
697
230
670
227
744
534
319
325
481
222
318
580
6
947
138
564
327
783
934
830
793
498
862
406
870
303
22
769
488
682
684
319
972
414
232
401
170
695
136
429
737
846
450
472
296
971
121
20
84
950
421
873
895
254
671
206
458
390
134
577
955
928
374
381
25
670
605
423
62
880
674
659
546
475
819
749
743
905
341
484
434
170
296
768
729
579
979
317
7
822
548
607
32
879
766
978
91
734
441
109
568
32
711
429
447
611
455
977
244
328
569
244
734
764
674
558
320
103
28
280
607
132
866
554
836
629
84
436
461
791
379
440
400
795
244
680
26
593
64
688
576
6
179
516
785
75
248
120
866
273
24
799
910
592
340
876
284
147
8
358
426
731
760
718
621
625
142
457
339
280
0
142
645
265
366
327
122
417
329
47
608
193
501
847
732
916
805
274
609
34
805
111
247
757
957
777
273
278
443
414
580
630
998
966
841
777
776
457
741
654
389
265
545
892
983
889
389
920
368
131
269
663
943
57
755
371
783
19
920
190
253
233
381
578
992
183
530
904
469
482
297
43
238
667
238
745
602
184
876
248
350
362
502
324
68
231
432
76
450
765
632
311
853
594
695
13
722
515
386
517
970
755
911
689
566
923
87
14
760
242
897
415
598
847
794
389
402
677
870
526
955
744
691
335
340
190
348
848
983
424
317
186
110
668
568
207
599
613
695
356
472
594
128
793
247
744
239
494
919
332
830
837
555
724
955
916
251
146
707
905
868
668
398
64
492
278
770
569
214
337
704
982
974
222
500
817
500
963
678
130
287
537
450
584
477
507
467
293
778
980
617
314
588
634
746
200
828
667
660
714
721
736
846
907
290
905
210
884
352
860
945
445
515
159
599
548
704
476
845
930
328
4
832
736
83
629
190
497
673
129
760
564
725
892
107
580
818
405
142
516
444
182
647
810
83
538
622
403
169
913
895
903
866
208
496
671
502
242
693
164
303
840
140
356
207
546
87
498
862
298
227
68
260
386
866
990
400
135
440
131
210
212
322
57
761
42
294
577
648
632
573
257
328
644
286
866
139
758
765
910
305
16
683
891
712
427
900
284
491
756
798
19
364
872
164
633
239
65
254
163
799
279
951
370
712
638
938
100
814
239
142
481
155
542
114
871
989
328
184
175
748
862
127
961
523
38
587
687
674
36
97
688
195
615
133
806
297
403
696
410
938
942
42
463
978
469
727
6
827
418
584
852
975
12
944
900
354
755
401
380
774
904
563
350
661
456
79
513
150
930
23
453
478
874
236
510
399
126
870
300
645
146
235
779
67
491
286
122
581
557
426
758
628
544
887
126
689
174
237
557
523
66
697
658
46
838
76
610
857
651
746
51
319
752
516
382
748
299
445
377
688
54
695
913
558
901
474
313
492
779
360
945
982
93
884
798
919
478
87
705
493
816
198
978
142
768
800
398
312
398
887
600
589
121
712
475
362
1
949
784
183
508
606
279
704
655
972
908
908
335
27
206
4
864
102
346
402
407
31
437
96
377
272
581
632
320
590
166
395
891
873
635
366
331
400
990
617
561
987
320
770
857
393
554
409
177
809
188
410
791
782
574
131
991
725
396
127
996
130
617
614
474
11
759
466
355
175
359
905
849
358
353
398
998
386
991
694
828
229
636
867
119
229
138
278
79
766
781
916
791
127
2
90
655
84
585
295
751
294
954
151
925
736
434
494
675
37
789
571
966
995
515
861
48
152
165
111
908
808
190
189
663
192
756
965
40
998
602
292
538
820
304
682
964
190
348
410
319
196
77
607
407
372
595
927
76
60
981
546
960
158
970
891
634
44
413
197
865
528
828
513
235
891
587
921
440
100
625
278
596
462
650
874
793
50
460
260
130
787
163
432
373
848
828
591
679
830
271
650
877
625
170
466
287
498
988
493
645
94
709
872
788
846
365
792
44
695
15
523
261
780
317
136
885
256
211
236
598
390
949
513
640
374
142
572
583
351
334
958
598
253
563
58
167
737
922
198
216
363
415
730
728
197
161
300
87
253
167
470
371
104
8
911
892
192
16
93
824
446
704
736
198
645
442
793
35
79
653
192
587
452
104
777
951
957
176
283
660
319
856
262
257
946
278
662
625
183
562
517
394
22
942
55
119
960
682
335
957
478
609
827
484
590
165
731
721
747
84
731
786
715
881
201
685
801
352
897
630
371
965
272
604
823
452
492
750
850
654
909
44
919
442
491
971
756
360
755
690
600
67
749
586
856
843
699
626
459
582
930
401
420
737
321
583
226
871
708
360
844
338
832
899
789
653
900
33
174
233
641
764
241
612
571
40
862
863
498
68
192
313
254
585
246
731
11
819
286
337
146
92
411
231
424
990
78
898
501
429
388
887
927
975
621
592
879
244
23
190
947
452
501
778
371
686
260
496
523
470
191
545
513
380
494
909
345
653
32
224
538
496
739
182
79
128
997
168
147
794
901
6
701
844
625
507
394
892
923
272
720
977
509
58
790
29
444
873
150
344
355
479
401
740
912
42
656
202
287
133
331
338
158
808
929
774
77
730
919
260
536
998
93
202
236
851
954
981
147
713
631
692
613
329
197
341
326
608
614
879
265
642
226
418
69
733
869
865
88
448
817
718
662
783
910
38
240
883
319
946
35
70
966
474
733
805
632
497
443
228
7
115
627
805
785
165
574
161
212
425
99
991
854
87
260
229
459
14
908
328
160
861
718
787
11
375
112
2
720
790
541
711
899
975
696
19
928
499
600
798
573
255
108
400
541
468
209
896
649
229
950
17
269
901
966
172
593
281
20
377
104
917
687
520
63
355
42
250
655
85
95
387
889
474
717
676
585
657
103
835
782
544
745
890
566
994
934
701
100
286
791
504
382
158
370
266
200
675
169
570
27
127
177
953
646
614
623
908
120
559
35
928
38
833
394
155
602
274
875
181
455
699
607
116
738
309
929
906
697
114
323
88
597
266
237
739
887
595
404
226
699
666
996
118
679
264
48
317
583
910
691
521
773
490
997
659
978
872
849
560
348
889
910
423
954
128
735
964
237
50
889
565
949
408
545
902
917
568
229
62
339
931
977
415
356
68
94
366
983
205
29
349
241
309
600
600
529
283
627
69
482
836
734
382
415
427
552
287
744
831
277
220
980
93
319
556
365
190
363
811
313
147
279
912
881
459
101
894
749
937
976
310
757
13
858
383
176
524
204
594
467
106
986
852
897
398
203
55
386
657
167
44
183
636
992
399
515
497
844
244
14
240
447
500
381
726
977
848
156
198
953
452
216
713
864
592
453
991
191
884
529
133
752
5
972
238
994
81
246
561
836
917
129
41
703
736
989
196
135
15
80
226
68
977
691
595
494
424
579
311
594
857
817
598
987
567
422
245
173
613
290
788
200
141
949
179
627
720
758
688
567
670
656
743
458
112
473
285
366
987
499
261
70
647
289
409
827
27
55
792
77
22
769
33
20
350
311
634
632
675
126
657
380
706
261
807
481
69
131
798
363
346
635
351
247
977
974
236
992
998
92
218
305
870
610
372
656
244
305
431
131
719
899
946
55
493
558
56
907
798
425
486
90
766
557
790
824
770
269
42
970
274
50
259
905
364
957
756
337
106
395
706
357
894
85
573
354
181
145
734
257
692
215
265
838
104
396
602
591
158
236
750
305
840
561
234
789
505
661
560
606
536
151
191
189
575
323
29
887
168
78
28
544
931
733
739
328
902
260
0
699
118
418
618
535
359
660
227
394
823
520
520
942
788
612
758
601
630
557
862
548
911
778
57
283
144
183
826
24
565
276
480
35
351
491
50
504
970
737
937
950
752
401
883
611
679
52
672
26
531
703
181
736
569
737
104
199
737
33
840
554
108
226
666
817
66
869
154
881
70
653
785
451
556
126
855
307
989
622
637
616
246
132
255
677
545
664
842
957
697
439
86
122
618
353
271
507
591
945
478
24
156
785
785
56
265
126
64
61
936
754
237
550
209
920
233
406
391
772
170
258
864
321
769
635
933
567
867
58
261
690
743
717
149
580
260
693
978
433
27
425
647
408
961
545
325
873
123
457
805
485
154
694
576
841
625
546
531
117
97
157
796
529
827
953
78
898
233
891
272
327
344
717
956
770
118
749
666
633
108
619
377
73
654
316
823
165
225
948
722
399
278
259
396
74
246
688
623
479
242
747
883
326
40
358
901
156
650
601
534
288
841
929
262
954
186
481
878
439
772
291
89
103
837
163
366
264
258
956
878
213
566
842
783
796
544
135
537
272
484
837
533
823
226
190
341
137
854
333
541
77
402
397
972
423
766
814
568
524
782
203
547
837
21
214
203
614
991
678
605
754
494
911
136
407
608
996
117
44
493
668
865
252
759
29
300
834
217
207
813
38
126
921
478
457
723
204
136
251
679
126
925
899
968
627
654
775
517
336
48
23
305
982
224
760
846
178
159
284
247
334
352
86
456
815
380
86
173
645
195
975
951
322
399
796
852
990
603
847
499
887
796
862
940
882
207
905
152
509
579
926
17
253
486
447
893
744
413
156
463
702
153
973
483
461
203
604
435
752
499
632
229
429
768
324
958
366
390
794
835
505
98
519
987
32
949
393
769
556
872
278
360
71
466
673
977
593
580
466
534
560
942
487
332
51
18
123
781
283
593
610
505
694
802
971
208
769
634
476
239
612
90
553
815
666
421
995
508
630
864
436
850
937
658
683
919
211
213
326
563
933
898
575
900
53
854
644
64
938
594
348
57
274
677
925
940
525
273
639
114
656
824
492
900
954
172
38
623
148
160
812
182
51
694
401
733
124
45
199
851
589
554
828
296
267
365
741
531
54
782
17
340
960
736
767
138
828
525
922
338
938
64
962
465
928
381
101
624
119
584
924
370
950
938
699
365
896
393
803
870
442
467
626
702
931
638
3
572
766
966
403
200
416
76
385
221
226
291
415
290
998
136
850
544
560
864
658
920
403
175
365
177
607
221
780
725
603
991
27
657
28
489
195
497
282
261
470
607
21
255
203
757
181
647
198
507
777
868
142
876
403
737
85
768
672
161
495
608
59
353
359
420
690
457
97
755
924
246
76
619
868
903
794
920
571
990
908
770
862
827
559
973
1
229
212
349
396
243
237
965
97
711
423
839
665
39
781
796
966
986
542
98
318
263
825
491
866
643
859
291
457
210
659
155
413
48
870
942
939
599
688
732
956
690
564
443
706
444
13
999
755
242
418
760
561
163
492
211
330
841
189
86
616
437
929
147
943
276
365
528
441
792
911
250
259
708
762
887
68
120
823
665
762
999
778
839
419
336
923
464
901
152
806
386
313
321
78
25
260
39
393
721
953
568
870
660
441
795
169
372
651
935
40
647
919
408
569
570
36
468
925
636
399
813
209
484
661
604
18
315
868
62
836
550
557
263
400
254
136
88
562
979
936
232
503
651
493
485
271
292
654
672
797
604
232
839
556
958
518
667
26
254
109
697
123
776
427
733
393
901
304
804
903
97
907
761
525
113
333
175
283
599
465
694
654
855
260
187
539
119
699
433
431
730
926
421
435
468
820
893
499
824
362
179
180
443
232
665
966
533
399
827
664
179
88
658
490
45
875
906
143
717
79
917
49
814
927
594
221
459
407
125
468
165
128
715
598
683
111
678
812
820
61
782
657
71
373
21
775
586
196
61
224
537
299
728
614
156
730
923
65
134
141
277
966
130
67
545
105
275
394
675
590
862
162
174
867
109
167
784
270
867
37
376
908
214
91
584
172
490
441
736
361
496
377
578
635
10
81
145
706
898
213
555
645
666
141
682
80
990
724
790
394
190
244
592
269
220
14
609
722
286
977
856
901
359
831
363
835
987
172
243
76
922
143
156
898
915
944
478
527
215
809
725
614
92
877
785
933
66
71
402
189
624
671
83
463
925
62
17
942
709
847
188
757
202
975
345
838
975
975
831
102
217
363
317
386
799
821
98
944
658
875
852
205
359
511
556
723
946
544
101
216
906
197
307
673
691
793
200
709
566
121
579
213
898
722
656
873
915
321
669
929
8
731
27
349
772
661
130
652
315
406
818
940
227
204
109
732
363
240
530
410
264
820
376
903
417
292
96
940
298
981
651
815
81
188
964
740
382
394
620
20
93
133
465
546
494
236
790
93
98
123
267
487
807
192
135
792
706
852
428
543
365
237
411
991
471
861
352
153
373
154
202
17
57
243
315
694
396
275
912
889
86
32
465
413
498
427
110
312
149
194
289
719
907
478
906
661
149
664
442
822
566
577
724
336
634
937
875
963
780
931
837
451
369
124
619
705
216
580
550
603
184
568
437
0
91
183
89
80
155
269
872
830
346
556
483
476
336
715
371
743
191
61
918
295
575
222
809
323
110
838
413
263
883
173
17
333
812
862
535
903
816
145
19
677
186
389
197
195
62
913
129
16
541
291
703
658
869
198
211
938
494
754
799
80
816
20
223
632
356
786
851
564
676
526
539
685
232
212
721
850
88
909
849
846
922
898
576
265
724
455
84
926
741
462
507
738
845
555
334
920
502
770
212
89
483
688
193
950
759
346
647
993
107
843
318
356
417
290
769
460
108
279
560
918
313
973
906
35
870
497
970
926
103
860
584
224
88
939
803
712
609
223
330
607
296
183
264
525
528
25
364
108
723
331
249
765
679
48
475
677
84
434
104
494
344
950
527
140
401
635
352
367
238
971
948
612
466
75
665
127
412
936
794
890
589
45
314
402
658
323
93
519
52
865
746
817
847
708
383
239
767
587
521
486
377
178
516
261
278
152
468
973
723
655
802
296
230
364
124
598
835
663
680
319
916
196
457
871
211
241
496
458
49
173
881
588
608
121
259
377
742
111
787
789
95
775
778
791
801
587
955
68
556
807
197
351
134
403
609
656
516
4
26
155
726
102
342
661
461
5
439
36
734
654
946
448
889
426
464
410
168
941
443
298
482
488
275
859
524
64
731
546
175
617
944
492
36
741
349
57
493
106
421
126
656
586
183
304
714
380
481
928
943
753
122
997
993
502
782
859
657
487
113
936
637
91
808
535
468
244
899
331
225
550
968
631
968
796
771
229
543
759
609
843
203
35
539
532
252
190
834
205
89
915
997
913
886
680
410
529
686
633
277
634
241
218
399
930
295
593
873
576
282
858
917
969
385
132
91
181
791
784
250
561
173
517
223
946
395
960
165
743
204
194
557
219
579
121
919
578
672
823
157
584
955
129
94
677
292
224
199
642
552
29
656
379
708
682
785
428
503
995
805
401
416
24
398
232
306
59
662
456
444
427
752
918
246
705
151
453
157
512
280
507
131
254
21
255
866
80
206
22
564
702
153
468
173
891
568
221
823
258
215
910
742
65
422
870
314
371
245
86
248
816
879
88
871
215
426
78
199
256
76
810
973
982
586
722
659
584
442
133
261
959
514
197
571
676
922
32
412
126
120
619
204
810
810
816
130
110
436
850
387
403
618
135
238
382
310
363
855
787
273
15
383
568
727
852
367
761
597
209
966
551
195
343
394
28
222
798
377
356
912
35
462
483
612
862
48
748
964
656
574
567
648
508
452
348
936
816
828
762
513
995
789
236
840
954
338
525
391
372
934
165
997
413
712
165
672
78
131
26
980
994
263
736
284
878
730
543
656
478
177
389
558
44
928
180
975
399
320
253
158
689
323
973
859
975
191
369
296
616
641
569
904
613
217
504
302
517
674
796
245
76
137
691
682
897
168
373
594
137
865
853
852
470
276
135
67
963
473
296
468
819
293
621
111
573
303
78
684
575
11
184
831
872
765
401
802
968
32
968
489
256
242
298
385
289
379
710
470
601
553
719
646
207
635
410
357
198
317
55
811
886
779
147
477
426
546
526
214
70
942
27
21
263
106
316
312
296
731
327
156
23
314
257
778
600
70
898
983
560
544
208
147
478
42
712
47
296
497
329
490
341
139
395
332
926
111
367
420
867
562
454
363
809
815
221
342
352
646
329
182
155
268
978
499
313
445
817
23
447
660
228
350
944
543
156
956
48
19
428
616
903
738
868
43
351
76
188
582
265
962
746
21
544
219
942
56
464
754
491
326
35
913
352
759
613
937
130
15
965
197
162
561
737
360
89
753
353
945
739
230
940
113
314
959
359
573
141
279
145
211
573
979
270
473
240
688
692
252
936
18
130
15
685
432
147
120
128
368
925
791
430
439
296
651
945
778
647
480
877
486
698
150
941
343
902
2
98
578
24
682
806
53
763
72
403
692
575
896
242
586
324
287
576
286
148
53
288
643
923
199
835
591
473
416
789
630
924
932
480
239
943
872
369
774
724
218
582
508
475
764
585
493
482
45
148
566
665
106
601
679
655
462
836
533
346
725
586
957
478
812
805
812
890
153
770
85
142
952
757
209
13
728
961
986
570
137
898
119
279
23
975
435
321
714
655
465
99
49
933
927
229
868
875
162
893
906
69
281
410
230
164
268
243
902
409
809
195
870
668
436
873
890
748
132
76
377
394
630
838
548
683
112
447
669
804
851
835
415
370
516
426
218
502
137
435
950
873
521
744
77
553
454
647
832
847
795
625
639
787
552
792
167
109
722
982
624
679
556
888
235
244
25
138
495
892
133
100
603
142
446
274
488
176
418
409
373
152
159
488
617
256
841
599
304
782
659
321
272
807
933
319
847
902
622
794
873
914
710
616
355
409
979
782
917
484
462
975
518
867
102
430
611
775
710
255
719
828
792
754
122
549
411
153
903
10
83
733
683
278
743
327
118
691
906
996
920
443
647
233
191
870
626
578
552
100
885
291
124
576
285
670
464
448
761
947
341
6
131
316
421
399
477
158
39
752
459
146
473
387
179
893
888
435
416
982
139
662
817
686
703
559
37
321
92
705
252
891
455
375
100
630
631
331
805
893
919
899
718
905
221
359
650
66
380
454
535
335
871
492
937
910
41
879
179
650
495
2
722
936
993
975
991
795
947
156
339
980
718
12
181
210
380
237
412
598
853
811
873
202
675
679
643
40
427
977
35
182
734
396
631
355
945
337
225
942
850
854
677
924
85
854
632
116
622
149
722
122
956
91
471
476
437
352
602
33
215
961
190
821
320
663
959
484
861
219
392
115
404
710
917
891
959
95
860
726
459
589
536
946
604
261
424
155
500
888
276
968
281
672
433
873
38
361
686
353
235
809
804
334
248
458
957
506
939
473
727
0
508
496
430
846
634
648
189
632
623
617
63
479
180
865
847
341
529
803
861
584
275
71
704
688
891
34
335
996
336
783
308
944
590
246
843
289
579
184
905
505
163
708
474
220
710
811
251
545
879
576
137
154
596
279
934
757
497
318
883
769
473
285
668
277
40
434
917
932
929
967
378
576
199
398
161
654
38
797
831
566
641
436
202
927
532
487
288
147
803
712
734
359
878
718
122
754
696
697
67
700
389
73
15
79
601
425
581
521
785
249
17
339
951
21
487
817
182
544
650
925
157
954
395
384
359
457
589
775
924
368
484
673
232
529
7
764
341
284
337
462
143
876
51
291
44
610
325
513
711
212
236
281
493
896
327
826
379
574
502
923
543
43
932
787
91
40
205
911
375
230
274
215
913
886
771
311
685
851
293
732
153
640
359
100
619
734
825
1
667
980
525
438
166
614
769
527
199
312
950
685
903
24
543
217
828
293
963
493
551
450
115
39
175
615
59
269
960
15
299
894
556
494
445
560
807
657
241
991
708
815
586
259
798
645
503
683
204
328
109
103
931
9
510
963
76
979
498
245
342
517
671
624
297
17
476
594
602
96
423
888
787
794
184
622
588
992
949
253
7
23
20
543
220
423
929
619
961
37
863
556
132
471
682
652
457
549
55
89
838
553
708
759
839
967
150
826
326
470
969
207
186
624
66
315
954
811
633
410
248
254
315
97
710
59
437
714
71
217
19
866
708
841
889
828
380
706
351
614
896
334
533
47
591
808
232
204
414
928
320
90
638
181
258
48
515
980
7
931
934
421
65
128
182
597
33
56
259
728
433
166
304
746
760
487
358
654
761
267
318
418
765
515
804
500
549
188
230
272
121
184
8
556
94
584
806
73
523
960
327
627
455
448
460
797
601
147
172
806
862
104
532
498
395
571
265
151
234
167
987
810
699
863
921
992
242
588
572
355
527
122
363
782
969
773
356
644
720
879
829
884
105
665
258
74
823
270
433
755
609
645
933
59
297
464
931
548
545
969
594
131
137
311
12
232
659
19
212
853
827
284
206
772
249
855
754
528
550
625
955
186
448
462
226
201
97
565
40
639
979
877
366
202
816
100
21
359
964
773
381
415
647
400
12
954
109
103
186
90
411
534
758
34
148
568
598
740
861
920
623
19
62
98
882
967
156
204
356
543
262
812
62
531
936
315
980
393
524
999
690
608
46
874
821
300
135
195
75
318
512
130
582
837
521
537
425
126
728
240
853
893
87
425
67
401
702
867
616
225
297
588
947
423
600
791
504
588
760
926
785
730
409
569
234
133
821
359
35
926
427
623
241
974
471
243
164
766
496
388
402
284
996
313
206
425
821
902
721
123
758
291
48
471
494
207
331
324
625
188
331
273
500
199
6
900
25
782
554
24
606
838
768
637
441
20
785
612
470
633
28
904
764
243
947
395
447
356
480
149
484
129
820
179
591
87
245
522
944
625
624
326
889
108
240
751
136
996
883
935
112
564
265
195
261
983
423
441
995
988
699
281
725
959
481
635
4
175
327
138
597
230
685
815
802
770
168
906
626
754
870
886
635
75
440
547
437
893
584
650
356
186
611
859
926
602
251
293
845
37
156
757
838
382
236
578
256
731
995
831
957
425
898
305
408
368
453
306
454
170
336
126
506
759
406
496
278
568
767
9
256
617
222
630
495
470
288
725
954
956
15
628
383
630
431
15
992
508
545
980
631
432
513
709
89
17
340
142
422
457
524
102
608
756
886
815
898
499
913
6
222
299
703
41
708
147
124
213
454
440
166
608
217
353
809
223
854
37
77
730
201
221
484
527
578
576
100
858
800
472
34
354
332
438
817
44
534
4
18
620
585
694
630
938
727
488
466
191
956
721
961
361
518
952
904
553
317
961
435
605
176
703
291
77
938
849
198
577
760
935
506
359
441
968
444
900
964
872
264
737
135
598
552
617
320
479
619
63
807
17
705
915
617
172
314
619
194
834
59
973
334
324
241
764
974
324
519
335
659
908
704
449
192
201
845
215
48
162
862
676
43
650
486
914
433
12
204
36
971
611
681
684
322
403
912
900
63
683
6
190
91
657
22
615
88
988
266
212
690
323
622
104
935
974
500
451
856
266
327
646
87
656
964
554
456
135
19
92
374
185
228
278
971
243
324
971
439
235
682
292
959
483
985
29
222
588
137
586
732
460
612
541
82
162
261
674
234
390
92
735
277
942
841
718
467
237
269
905
796
100
324
24
755
13
590
321
461
529
967
652
512
986
402
991
337
147
145
999
859
291
923
856
69
415
528
567
386
826
440
10
433
684
405
190
214
219
3
123
206
200
553
986
811
192
387
495
129
27
965
358
779
193
233
781
457
573
100
661
171
772
759
0
38
287
511
39
497
227
834
890
147
262
535
134
134
842
527
974
158
937
688
312
397
290
475
787
91
954
22
472
949
68
735
1
20
983
213
634
905
552
317
764
871
840
357
542
430
440
283
703
542
927
958
232
711
399
581
804
304
861
111
942
123
965
0
397
551
959
655
385
907
31
450
813
187
986
288
970
147
120
352
628
943
302
360
115
228
985
340
800
33
505
294
234
24
275
123
406
129
313
256
946
733
7
407
278
849
488
925
4
441
270
256
856
664
881
324
124
163
465
459
303
194
555
788
124
295
639
795
329
292
382
743
29
812
734
841
50
588
469
13
65
434
14
19
404
35
297
292
363
433
312
598
649
634
120
496
956
470
236
561
561
529
425
3
816
327
51
786
837
588
147
473
952
392
271
437
861
285
924
827
792
41
22
867
148
798
603
39
874
354
257
528
307
985
409
208
917
697
824
849
355
861
383
143
658
276
663
337
426
132
39
926
712
946
914
765
139
95
248
270
361
250
174
768
522
26
273
866
149
225
440
505
909
425
703
484
718
335
672
158
918
829
786
40
939
506
679
79
414
24
369
786
586
220
538
354
359
156
233
148
806
814
209
967
718
931
788
818
398
795
33
146
26
572
824
829
23
513
796
648
967
282
784
738
561
113
302
215
775
903
998
814
927
811
383
172
355
400
63
101
677
943
603
198
730
908
323
870
517
554
282
107
150
900
149
351
750
770
844
55
238
312
220
955
621
344
689
971
242
343
11
625
916
752
85
710
219
782
760
817
665
17
159
310
543
833
194
297
715
712
925
761
601
724
758
576
580
876
927
335
824
402
688
909
47
468
723
728
684
438
871
252
786
465
292
490
975
680
879
484
61
317
826
617
170
192
225
18
826
571
313
267
494
613
291
538
671
826
186
484
581
414
600
75
438
761
836
819
937
923
750
458
64
169
523
175
190
569
406
577
340
300
202
759
282
199
541
890
263
75
262
245
775
745
575
343
500
376
618
874
651
786
223
83
237
69
238
61
964
590
848
194
402
475
854
358
291
565
588
893
688
905
430
31
520
902
735
123
565
281
170
162
77
901
871
520
214
169
452
41
372
441
257
543
132
372
578
535
753
32
760
800
147
193
968
888
36
507
17
676
242
97
803
786
819
952
497
741
775
394
268
498
626
35
165
67
638
168
39
662
644
86
367
29
633
581
542
250
314
715
187
598
516
629
684
426
766
5
306
968
921
996
540
790
964
299
326
539
695
138
621
258
53
336
693
748
974
82
499
64
696
357
330
483
479
83
244
549
353
560
833
193
493
762
777
323
236
51
984
742
433
43
842
328
341
96
547
888
857
145
675
538
826
195
955
345
393
494
182
449
201
946
276
951
719
321
257
681
279
395
386
170
551
310
715
705
570
964
867
758
528
399
771
251
243
949
31
144
986
574
375
379
363
171
728
7
626
813
480
850
440
319
548
807
951
888
162
699
538
344
516
60
481
359
947
931
86
241
692
479
596
528
451
847
715
744
988
686
63
478
912
839
496
402
757
766
980
71
134
413
874
551
777
602
720
410
230
996
586
996
947
114
363
39
31
76
850
417
574
967
174
6
430
557
359
433
341
197
275
947
155
661
427
548
266
938
897
372
254
875
110
85
123
822
786
486
938
411
741
330
966
228
969
476
0
918
34
999
88
777
666
344
889
657
672
372
373
335
28
209
615
262
266
615
34
150
901
899
348
685
211
728
53
930
161
844
541
139
189
66
385
856
293
475
2
729
601
983
884
438
885
73
958
784
967
414
683
932
65
529
720
874
994
275
813
381
287
155
172
456
554
542
108
251
508
862
232
462
846
677
182
185
769
107
314
76
689
893
920
730
500
962
929
662
223
753
968
727
370
351
824
35
678
166
705
179
623
221
476
769
633
895
58
781
263
9
830
66
160
83
204
902
295
548
888
439
315
997
21
810
478
189
589
353
512
343
662
682
814
155
436
377
266
978
104
811
117
268
146
305
363
937
738
364
635
131
491
707
86
37
298
997
818
113
468
241
336
203
187
314
407
23
890
914
569
33
220
301
8
79
231
34
297
533
174
518
96
287
139
975
239
413
265
220
767
756
860
700
668
640
457
611
647
676
566
828
130
898
626
434
14
433
730
905
660
246
429
535
815
864
949
263
395
396
790
748
628
654
505
494
908
790
305
461
250
471
986
404
571
198
888
639
641
900
391
231
606
665
898
210
820
77
486
960
547
93
205
370
348
278
889
219
693
915
607
44
866
665
19
377
190
526
259
644
647
614
848
112
114
691
862
14
852
209
470
676
624
637
66
850
495
669
445
351
385
986
761
742
847
54
983
20
309
68
598
744
105
105
596
758
913
260
444
230
900
10
141
709
557
656
112
798
272
718
846
5
921
880
655
3
746
448
680
806
792
810
524
222
505
416
670
244
653
19
707
337
896
224
562
767
852
783
957
223
975
307
74
201
652
295
111
747
961
647
594
837
803
426
570
461
145
141
185
783
38
250
417
874
263
176
952
33
750
835
680
552
566
685
725
401
275
998
855
328
340
257
922
777
880
747
296
997
73
424
39
529
772
824
522
475
479
830
209
132
833
67
924
331
862
544
335
215
61
862
370
654
323
414
936
199
429
547
745
782
581
463
517
942
143
23
493
481
233
398
624
962
355
339
851
801
507
454
953
633
777
432
665
452
444
533
324
809
753
81
335
490
78
646
583
303
878
837
405
354
588
55
792
736
391
162
586
460
720
13
839
164
835
568
211
378
887
215
140
149
796
286
322
602
111
836
304
446
604
142
692
357
1
350
131
590
630
194
670
379
60
662
157
82
852
382
339
620
618
210
64
977
277
407
944
667
407
359
864
93
892
776
501
83
548
683
788
644
592
670
289
518
431
8
104
944
328
538
297
537
586
262
774
386
777
797
351
416
579
936
79
191
301
42
176
765
873
207
317
577
804
464
878
285
468
304
927
866
728
7
535
160
652
233
197
356
525
219
796
28
399
498
259
908
935
130
36
375
548
975
394
941
878
705
69
715
723
235
781
75
942
564
337
15
328
458
645
192
725
498
86
909
255
318
604
742
224
390
70
713
527
350
969
202
96
278
939
406
739
492
742
77
2
606
751
531
249
603
503
702
992
498
749
18
804
572
670
93
831
738
355
23
329
402
72
688
645
219
189
539
132
963
785
520
741
895
473
818
628
618
406
118
549
574
511
880
354
996
546
19
263
952
561
663
326
792
459
835
356
97
716
712
367
435
16
199
722
594
647
6
194
994
355
955
268
384
14
796
237
487
53
627
918
528
521
516
8
194
284
723
769
494
545
560
898
595
544
555
896
17
416
767
225
81
85
42
843
669
448
271
165
893
761
682
88
664
603
380
352
172
608
455
258
369
430
231
522
540
538
351
883
795
556
948
590
884
23
299
334
147
480
642
809
287
99
923
75
55
243
421
574
616
661
150
393
96
419
46
227
785
705
692
213
340
95
775
505
292
505
235
97
436
336
916
952
743
718
900
727
512
972
713
722
483
131
908
647
423
956
610
484
616
33
510
316
824
116
730
557
267
230
326
962
842
902
95
124
122
278
166
242
207
978
933
599
735
996
334
578
771
992
862
521
285
541
846
853
461
536
586
765
706
26
642
257
901
236
312
783
726
608
412
302
194
816
261
40
417
300
391
707
644
986
93
210
424
718
170
818
922
387
910
771
627
79
261
813
348
836
776
594
468
358
797
657
380
352
366
835
456
510
253
597
420
274
904
718
922
644
702
44
723
144
671
631
869
682
17
323
700
176
310
439
925
42
378
632
264
95
163
554
323
711
560
35
630
972
971
182
655
780
269
314
198
562
255
907
491
276
561
912
942
960
981
961
114
379
692
791
233
808
797
212
806
197
91
228
95
694
463
469
580
708
147
992
676
762
688
741
73
582
510
698
498
356
485
180
5
794
320
539
572
264
800
466
893
870
363
153
900
233
998
853
674
183
324
468
359
567
750
566
330
346
362
415
783
254
99
899
662
590
508
176
453
741
920
565
450
563
493
250
228
514
166
191
150
936
760
515
696
27
425
80
197
169
770
4
782
261
2
512
314
512
591
558
354
250
747
699
630
575
593
537
352
718
506
614
93
8
962
106
23
353
792
548
962
870
209
369
882
118
409
78
586
914
618
92
685
201
187
988
704
635
426
236
580
254
56
375
93
350
482
285
542
217
323
895
480
452
951
178
267
673
439
295
610
242
59
237
705
302
843
470
925
419
309
308
678
863
401
256
165
143
940
611
42
211
415
851
537
310
854
334
865
522
655
161
577
833
215
965
322
808
438
237
798
209
351
363
456
224
954
679
2
329
877
936
626
681
563
545
328
573
424
554
731
984
444
903
274
969
898
835
283
871
141
693
58
31
973
550
149
470
785
147
753
179
904
783
597
909
299
228
723
583
480
551
9
13
894
594
960
665
656
134
68
741
689
406
774
378
735
883
950
143
749
54
679
693
720
351
886
833
43
461
291
561
422
959
571
529
934
263
71
636
984
965
676
327
698
734
927
157
980
287
739
212
43
801
5
297
835
325
521
814
996
997
130
845
458
287
749
939
93
16
544
57
281
608
85
618
283
601
307
379
162
898
8
321
236
650
940
584
923
474
172
408
530
30
769
170
234
849
655
62
308
11
66
63
533
803
66
23
876
735
220
850
413
173
287
32
21
944
621
667
641
988
9
531
390
830
658
426
702
856
828
362
237
572
73
934
52
213
398
743
286
783
8
812
977
818
560
358
830
712
29
394
790
814
88
357
111
859
560
558
755
903
55
176
482
301
13
19
1
560
569
358
814
821
523
236
318
925
820
94
40
529
759
143
420
874
483
429
568
926
23
567
286
427
26
8
970
618
448
683
178
246
418
378
599
724
865
140
355
706
490
98
568
719
654
652
220
167
269
968
330
558
40
164
527
670
724
670
849
878
661
901
622
364
242
632
169
106
154
299
169
414
979
369
767
709
675
780
207
683
472
5
912
742
795
410
776
833
971
794
686
580
913
323
522
48
872
106
897
123
575
910
502
753
324
983
24
382
110
933
829
714
38
857
746
941
276
296
67
58
561
148
417
639
650
442
707
120
694
615
134
91
163
608
588
701
982
417
536
805
142
470
471
750
510
367
96
867
207
356
260
273
798
757
688
242
138
930
446
226
659
661
127
505
526
944
498
436
367
849
628
106
206
560
277
92
3
84
310
960
913
534
415
358
755
957
563
212
358
276
689
532
545
6
328
968
637
589
816
965
140
941
723
42
323
192
259
151
494
504
998
774
855
743
922
28
844
961
565
265
762
151
465
972
940
239
889
856
310
852
538
91
887
23
196
464
395
525
731
524
238
281
531
852
649
609
31
756
666
292
225
640
43
716
354
843
58
280
539
252
470
127
68
415
775
142
873
959
944
699
239
163
281
318
449
316
267
394
437
396
298
419
481
943
414
421
70
126
648
394
442
4
891
799
548
805
825
301
995
367
804
612
706
831
48
519
614
353
829
910
761
36
122
122
355
16
349
891
228
318
620
301
787
762
833
933
259
558
863
974
955
195
753
810
627
586
711
791
938
509
907
850
961
244
872
617
532
26
921
479
764
933
288
61
625
383
472
141
570
632
851
49
589
865
277
818
755
832
953
711
880
804
15
406
655
133
183
233
870
598
508
539
423
475
577
572
621
650
859
63
170
517
408
478
927
598
340
630
116
394
231
150
712
356
139
920
905
367
675
395
817
38
929
444
562
420
265
469
196
525
109
223
883
178
376
145
8
845
709
112
486
396
1
796
818
50
793
202
192
218
173
505
919
783
353
591
829
560
124
954
839
376
885
759
571
49
621
156
246
305
280
809
705
109
559
754
472
391
921
525
996
469
461
139
283
627
581
286
139
339
407
686
206
660
637
546
198
265
769
287
189
420
79
195
202
854
798
891
472
667
216
402
587
327
382
724
616
410
358
678
951
916
771
906
56
599
584
897
958
605
28
751
805
364
658
882
608
812
25
567
141
924
246
915
594
511
147
291
340
996
120
225
608
347
207
663
452
953
443
799
394
918
395
961
907
704
18
504
391
714
368
519
710
664
480
770
15
492
39
846
449
601
71
801
514
120
7
512
93
577
977
147
242
700
156
592
77
428
960
354
601
970
88
639
575
880
160
728
821
894
659
885
463
305
871
384
959
438
601
429
581
341
249
85
104
591
679
25
919
465
34
69
654
485
283
998
355
7
590
137
917
820
113
362
268
488
232
55
60
101
381
53
267
477
576
992
867
819
153
674
613
579
429
525
565
954
932
115
891
579
885
871
626
102
990
363
556
361
575
684
802
662
596
323
435
846
545
542
455
250
636
133
565
952
286
575
40
123
712
689
829
628
710
140
80
330
989
326
251
997
44
929
88
207
749
967
357
532
997
144
47
405
933
377
881
533
934
754
332
38
329
684
711
660
905
952
1
421
940
164
968
977
361
103
494
87
168
96
396
31
59
972
6
534
793
639
829
397
667
300
387
71
368
192
223
415
139
620
780
414
122
953
774
474
189
112
67
536
968
729
995
358
526
153
701
478
251
630
10
309
914
176
831
475
558
899
874
48
421
452
537
475
38
924
840
511
801
219
290
791
46
48
905
75
78
72
503
928
297
70
772
249
866
125
696
120
128
828
823
774
953
971
493
86
131
52
794
84
93
654
568
434
960
587
547
705
686
630
808
671
225
47
794
502
751
89
199
255
286
492
721
572
584
421
174
88
378
713
604
630
210
916
281
306
537
806
508
359
234
354
16
532
192
927
590
806
62
971
865
617
385
910
505
373
496
5
85
570
383
302
227
849
351
253
81
774
615
718
571
308
538
426
56
696
914
133
424
930
612
840
375
924
303
402
861
250
911
712
47
614
830
192
894
199
930
968
578
53
121
95
617
591
927
711
134
772
621
931
278
795
839
49
601
219
491
162
140
830
938
800
664
567
89
311
224
316
244
301
45
138
226
681
280
770
627
190
508
409
223
86
204
386
493
701
692
946
62
353
296
840
174
668
859
960
466
539
940
59
692
612
55
658
831
266
725
743
424
336
356
487
518
538
4
737
197
329
137
375
294
107
913
902
169
452
116
969
679
571
508
212
331
58
222
460
846
685
477
242
344
281
870
18
989
722
481
435
225
651
228
895
34
745
928
795
397
540
485
24
453
116
712
677
949
772
351
285
948
327
860
599
607
826
854
352
236
294
718
832
575
507
589
783
775
822
760
709
447
663
638
801
273
708
671
47
158
561
13
261
702
116
92
777
266
591
777
808
176
16
253
406
638
953
183
367
436
260
496
232
220
459
662
209
447
766
308
830
992
213
341
594
738
547
864
12
789
925
553
777
676
325
710
19
266
794
920
963
671
797
382
684
617
257
854
621
101
224
598
727
81
605
356
461
741
400
290
821
132
694
170
300
345
848
824
997
376
656
202
67
285
737
584
804
772
768
386
636
781
585
401
675
129
575
892
382
227
147
974
68
119
30
14
802
899
916
109
33
232
21
489
960
921
620
953
948
880
949
144
334
41
616
483
695
713
922
92
656
6
553
534
66
886
703
797
829
781
154
465
78
121
550
656
989
232
192
532
414
171
770
360
875
198
137
701
37
305
13
823
443
837
51
374
20
951
706
286
411
637
805
822
996
890
157
910
457
556
513
55
550
728
422
12
462
883
414
781
566
211
402
235
676
923
788
798
180
58
553
659
126
570
777
44
815
297
952
634
271
326
3
857
424
254
675
456
834
88
880
621
397
754
433
686
500
268
954
176
276
917
730
524
980
682
293
523
519
715
404
235
996
886
176
26
588
549
242
222
214
917
45
897
222
898
186
266
532
361
174
647
954
506
216
742
942
172
340
740
942
767
333
78
896
893
46
442
226
52
860
196
157
177
94
649
677
8
565
140
968
589
497
653
654
671
35
103
87
657
76
352
796
419
873
410
162
373
754
567
514
571
133
672
578
539
248
536
774
197
526
287
349
52
457
691
487
810
689
293
674
907
686
421
67
708
120
590
134
917
550
625
943
26
133
104
784
694
219
705
839
267
89
631
529
834
773
174
969
709
836
872
119
344
832
130
231
303
45
353
740
893
229
332
117
938
997
697
902
365
613
989
906
925
81
104
216
829
801
53
587
649
525
685
340
22
141
815
713
183
603
417
991
167
242
735
379
212
766
461
127
262
808
971
85
221
362
578
191
604
658
369
449
251
292
15
2
995
384
177
60
4
823
572
617
17
832
294
730
577
758
664
846
151
837
828
528
453
56
861
491
772
473
904
131
57
178
104
217
752
149
32
605
645
576
22
501
349
642
772
287
257
459
429
423
858
551
168
394
446
765
988
898
579
516
453
4
733
70
742
90
796
262
694
934
228
89
683
233
743
693
476
482
142
879
926
363
613
880
882
668
890
150
348
769
639
891
456
685
649
973
815
781
295
474
711
825
347
362
609
653
948
931
986
607
725
431
966
363
477
598
272
16
28
907
484
659
753
585
266
335
761
474
337
758
534
726
552
182
166
98
805
270
875
864
581
481
704
624
904
546
835
877
457
78
217
6
298
751
543
796
120
933
522
991
5
748
216
747
242
808
814
368
822
476
440
675
817
242
801
296
371
337
239
103
287
135
750
198
622
344
593
375
395
736
678
768
81
37
789
69
803
370
943
718
799
338
618
192
179
518
34
759
324
201
379
906
277
741
711
481
307
72
748
616
399
979
148
50
511
871
277
397
629
188
45
299
471
326
564
129
705
492
174
883
455
970
484
350
122
116
822
49
419
376
605
293
151
200
838
708
311
377
613
322
340
52
757
891
783
10
111
423
419
536
259
987
820
595
935
843
373
112
532
655
811
345
410
946
735
615
612
725
112
345
843
804
44
400
207
468
168
297
95
637
841
128
622
480
672
3
391
479
813
791
876
361
782
436
139
92
367
16
39
271
525
584
387
99
172
618
778
153
387
308
726
247
947
637
854
700
592
72
245
630
755
982
647
66
412
272
336
308
519
835
492
872
553
310
765
319
872
284
390
616
882
980
547
6
920
393
903
91
327
474
740
806
631
901
233
159
928
807
87
2
799
310
147
230
108
476
188
739
545
998
6
714
79
633
540
232
18
352
247
255
362
274
659
228
445
37
444
726
874
142
839
292
29
980
555
449
41
58
188
427
249
126
313
275
836
482
297
691
582
978
784
898
439
963
97
646
572
31
165
295
57
308
337
496
396
615
420
353
800
189
610
159
340
940
462
966
880
892
607
376
794
473
949
414
906
164
680
550
278
773
686
316
487
659
160
142
907
894
195
448
440
80
880
937
640
711
984
266
531
249
31
235
661
833
283
749
269
173
70
375
172
18
775
718
628
807
878
64
952
711
967
936
729
184
139
784
541
48
581
359
199
386
879
210
18
703
208
943
283
743
180
492
781
467
102
912
804
53
718
629
508
510
413
481
753
841
296
498
501
670
380
701
531
60
534
462
403
667
945
546
769
904
366
10
318
917
609
683
948
810
958
659
627
445
879
220
477
17
895
791
997
396
35
746
184
284
648
442
890
54
51
808
699
772
653
943
126
707
794
167
230
217
788
441
831
527
847
733
916
184
52
543
910
306
186
441
653
240
131
772
279
178
88
755
802
593
173
28
677
821
670
670
484
260
404
366
751
308
934
569
137
259
665
349
164
298
350
917
419
980
577
764
154
701
790
6
807
999
859
288
716
84
237
444
845
509
438
977
328
225
534
540
186
227
558
502
614
630
151
987
545
206
475
738
977
77
127
401
505
37
714
857
1
818
688
229
153
598
233
719
339
207
822
593
790
911
775
415
956
670
973
40
720
873
278
881
200
201
485
832
36
498
23
802
647
341
31
832
988
830
545
735
282
468
731
271
469
817
59
475
840
596
116
228
590
929
889
355
546
301
468
108
786
503
376
846
603
41
891
151
177
483
498
736
563
880
690
86
891
767
602
828
14
269
38
751
385
116
429
755
248
58
788
807
403
248
321
762
624
971
333
526
938
880
245
92
126
111
933
985
489
248
473
717
316
179
749
913
138
590
597
494
677
772
138
716
345
713
760
899
275
991
302
373
811
184
141
833
383
963
396
525
812
107
462
531
920
747
365
935
920
250
320
170
1
280
547
376
124
704
649
207
287
199
495
275
602
773
657
762
646
0
677
374
865
745
363
237
228
646
78
963
85
998
498
572
604
475
874
80
398
782
839
683
918
217
138
800
197
57
255
895
803
40
163
560
759
90
137
308
516
302
211
851
874
925
191
361
359
78
114
284
796
818
512
821
43
437
536
642
663
54
79
322
328
969
57
312
664
833
513
743
117
581
331
775
940
600
551
948
424
903
612
125
307
226
46
399
980
904
627
664
626
291
181
832
942
527
981
900
546
828
764
125
661
866
191
58
367
630
817
203
529
207
249
605
634
146
730
189
84
92
716
315
854
99
873
463
492
781
217
904
591
881
663
714
348
15
930
95
478
849
189
901
261
465
666
143
363
807
250
278
429
471
168
79
8
621
946
668
982
258
683
779
148
307
760
684
472
793
921
996
249
205
585
921
507
781
767
375
252
164
165
239
846
256
302
383
49
802
879
347
560
934
974
706
511
211
142
707
483
257
809
903
606
650
998
645
661
532
309
508
133
530
657
401
460
959
625
275
933
891
920
515
768
566
957
534
888
644
704
298
943
118
116
465
767
968
884
431
971
410
536
633
142
172
9
392
44
100
35
969
736
169
340
50
37
56
736
25
181
197
523
827
995
202
273
473
666
291
288
582
16
611
550
835
925
155
827
308
505
276
377
613
111
92
451
592
528
239
239
243
303
754
679
690
261
933
576
709
225
287
647
330
289
890
792
237
117
546
572
415
11
721
697
938
829
193
411
985
155
522
793
712
511
809
686
196
587
488
33
253
742
255
774
563
134
620
373
632
718
639
169
533
407
934
81
20
415
729
26
442
800
582
857
914
408
421
296
198
504
984
675
762
505
834
281
284
238
951
419
281
406
118
764
171
984
38
950
150
381
379
517
919
340
929
370
462
765
43
283
567
926
347
73
202
458
745
907
68
302
170
276
438
542
188
912
104
378
819
615
110
693
596
352
971
261
990
19
281
589
353
124
388
568
728
801
804
168
995
650
83
246
593
284
797
248
203
233
479
922
120
434
584
575
484
244
486
89
509
612
387
617
611
590
717
574
734
91
885
974
556
517
188
280
980
307
607
266
134
225
877
370
817
807
164
554
321
1
412
714
570
366
763
155
880
843
330
278
76
119
635
353
218
309
876
31
825
158
126
940
355
304
471
694
192
834
68
107
176
563
0
388
366
676
458
936
129
718
112
48
420
106
179
435
454
29
342
98
881
675
10
909
910
419
708
7
342
814
16
191
782
174
175
912
61
986
699
315
373
221
352
553
281
641
376
328
283
231
328
414
664
510
260
871
49
681
378
285
131
149
981
64
228
954
55
310
768
561
206
141
49
563
656
957
287
404
326
95
896
229
250
127
563
129
958
780
982
631
96
546
714
35
547
153
797
399
606
158
503
944
853
905
316
66
422
607
775
303
616
455
461
765
13
566
669
681
7
290
474
33
906
613
706
697
24
822
223
549
282
666
87
564
146
651
678
69
680
459
197
827
93
697
220
470
875
403
627
720
779
422
371
785
217
368
461
684
229
520
233
765
31
877
920
793
915
895
964
19
946
811
95
861
676
720
742
394
5
68
26
27
526
82
167
713
592
133
148
563
54
536
458
522
265
927
433
871
249
788
301
762
398
669
287
678
906
502
595
555
37
58
447
68
4
141
434
662
440
838
303
854
218
924
536
716
150
963
228
109
134
177
361
189
437
854
689
543
572
601
909
307
168
923
346
51
708
17
46
770
722
533
417
366
847
176
92
936
776
316
444
448
435
494
137
431
63
59
644
798
826
957
162
439
37
178
466
891
183
385
97
670
715
477
53
340
265
323
827
441
872
984
781
437
265
118
688
829
485
144
434
93
285
831
938
264
240
695
74
242
511
136
432
369
160
801
256
632
957
595
88
39
545
285
211
595
44
885
506
512
821
798
518
177
421
664
518
62
443
24
516
574
685
285
371
546
410
347
250
246
61
466
66
628
277
596
995
28
381
818
660
566
760
446
949
318
21
494
98
754
994
820
183
708
292
223
540
251
727
955
301
413
705
353
720
969
166
792
607
417
494
35
968
828
295
458
15
247
993
131
129
402
326
623
920
702
414
100
62
837
2
499
481
441
625
634
961
106
576
615
587
688
979
327
398
772
550
360
966
757
10
682
16
968
7
157
314
81
467
642
700
426
27
119
121
48
191
324
794
331
772
48
950
134
204
270
574
536
757
563
74
987
41
849
643
538
59
121
916
673
512
800
561
160
415
644
45
969
943
656
822
479
597
676
36
601
668
337
19
382
709
791
686
549
358
70
150
413
430
547
755
464
813
375
568
946
293
660
538
780
737
497
340
309
304
417
235
499
722
973
533
784
597
487
708
81
528
106
828
619
212
880
34
63
706
87
21
534
280
452
139
574
532
682
749
985
334
454
857
196
253
934
666
409
128
610
596
511
189
19
96
887
932
163
294
956
523
695
216
670
130
928
538
175
531
163
75
857
680
61
288
995
387
775
908
463
276
354
634
927
205
582
92
901
765
210
956
125
808
131
564
478
286
762
465
420
127
605
559
854
987
816
426
527
960
917
202
7
903
36
293
3
883
415
960
22
556
453
965
814
286
476
846
558
350
410
900
701
22
407
238
87
329
113
571
636
171
335
167
427
588
105
973
581
67
474
16
907
829
115
903
328
392
834
134
361
786
173
198
4
40
203
37
386
840
311
264
995
877
619
449
121
573
746
223
215
76
445
498
644
216
147
209
113
634
513
499
96
786
3
856
69
709
355
694
845
136
150
301
74
94
509
808
764
153
952
283
444
380
139
961
32
158
88
632
169
619
859
733
5
484
263
825
65
30
315
60
508
585
961
447
379
837
383
582
935
881
912
232
776
779
991
191
772
41
818
651
954
758
791
450
570
329
986
717
683
447
445
45
858
489
137
710
962
718
668
800
24
86
107
683
360
143
84
114
955
140
945
340
313
307
438
732
635
161
666
85
193
684
950
634
7
864
966
313
939
297
409
672
211
950
713
542
6
14
154
668
886
919
439
166
953
959
548
332
909
781
795
256
864
540
573
609
177
715
309
590
422
433
563
990
941
287
320
889
711
294
371
975
360
243
998
792
131
917
473
763
531
627
953
841
389
609
9
23
138
216
127
281
612
759
642
630
744
227
561
179
938
251
989
467
209
63
622
889
626
503
971
24
84
416
456
892
457
557
675
378
374
816
690
709
662
540
510
559
666
841
763
929
186
979
609
987
845
758
169
100
682
618
287
976
148
659
107
884
545
681
926
317
840
957
643
843
101
552
130
549
450
538
711
546
193
818
815
755
976
902
723
399
153
394
19
152
470
345
561
48
657
661
55
110
190
929
552
399
506
884
452
41
417
118
732
421
81
162
114
85
807
539
499
364
363
155
165
652
357
771
116
498
480
219
736
106
534
413
852
808
575
152
938
256
878
166
659
348
450
362
893
856
484
65
224
214
303
409
34
109
824
339
412
296
409
776
841
653
555
897
225
233
298
323
266
431
724
535
892
769
38
496
962
11
983
993
591
889
986
563
820
577
861
495
433
96
634
777
86
945
994
659
709
766
431
12
166
98
857
281
989
962
431
683
94
153
366
136
258
403
224
628
958
104
575
153
290
702
4
579
958
529
982
849
40
991
961
326
266
867
431
906
231
585
58
312
641
577
53
980
285
910
806
740
286
925
806
450
920
191
460
340
144
305
706
166
900
236
183
456
994
674
529
850
697
285
207
362
343
3
831
130
319
691
517
94
345
928
910
895
554
222
111
173
335
899
998
166
557
168
295
522
793
560
549
435
774
412
17
603
90
333
436
138
467
8
639
940
992
732
841
234
273
237
91
493
20
705
678
773
624
280
493
11
768
425
190
358
642
386
281
605
975
832
397
598
753
880
168
565
757
529
57
392
277
131
76
990
421
52
46
161
125
747
752
114
509
587
712
917
742
614
709
571
172
449
549
627
327
466
26
744
731
13
659
111
28
974
344
463
422
286
122
969
634
969
846
917
468
214
251
145
376
820
401
856
839
436
254
800
696
595
475
326
548
703
0
877
582
216
351
406
95
276
668
799
710
158
115
848
375
542
826
137
811
766
434
182
198
105
200
682
66
618
226
984
515
246
215
468
10
787
484
392
826
50
485
844
311
825
531
587
698
388
572
656
62
83
674
287
484
695
511
0
361
148
849
52
373
648
951
468
495
418
85
104
975
83
856
613
695
244
982
874
227
760
444
12
132
421
538
352
318
149
821
524
933
601
624
125
438
423
627
428
764
930
191
766
176
995
967
847
421
633
223
274
834
894
911
750
879
236
498
423
168
948
391
934
826
222
9
873
980
720
378
601
374
601
766
963
993
803
401
812
126
452
391
241
205
788
864
595
731
676
857
195
655
389
384
686
679
261
267
376
356
595
220
713
266
68
46
66
794
525
5
337
656
694
871
297
736
384
86
749
43
293
388
419
50
411
949
523
107
514
207
335
975
397
229
275
636
455
563
614
59
760
210
473
839
912
702
473
16
779
941
195
30
823
266
899
502
380
185
492
296
737
276
161
274
940
602
704
604
477
401
612
807
754
593
451
816
927
819
963
20
529
495
195
413
255
311
747
219
921
325
340
478
704
519
834
47
362
784
742
466
294
541
95
267
599
942
828
835
730
99
187
41
763
473
736
390
761
969
58
304
892
410
219
591
469
18
658
817
438
369
8
735
948
550
245
729
146
276
107
747
386
347
803
889
156
385
383
375
818
25
653
524
283
312
418
655
688
499
549
745
908
792
380
160
69
744
485
116
885
18
624
311
86
822
408
616
791
884
746
971
384
996
791
602
347
997
374
398
29
469
820
453
386
340
980
501
38
719
3
715
995
631
182
904
611
370
990
21
335
885
417
248
223
88
878
486
696
990
200
588
902
125
740
525
127
818
433
905
606
42
470
674
50
956
435
777
716
884
212
93
962
374
887
723
178
313
393
335
194
528
789
750
410
806
537
729
538
32
741
155
274
528
588
442
116
265
887
854
350
154
236
342
412
260
892
524
795
981
141
215
51
35
730
217
16
429
331
232
127
155
481
97
477
157
980
727
532
699
45
737
90
50
234
33
392
701
578
755
472
312
740
249
899
743
105
52
936
658
577
843
571
209
141
141
600
780
623
187
954
821
297
446
155
765
501
19
345
604
533
790
900
782
612
960
850
885
682
930
42
660
848
207
688
796
728
421
583
66
919
690
838
538
641
752
957
304
127
525
75
956
334
957
953
115
740
920
58
795
583
772
610
614
119
984
808
6
428
558
123
421
622
803
126
127
712
679
791
868
738
126
879
109
892
844
597
388
570
799
199
203
101
520
178
357
60
457
445
324
195
795
706
191
254
384
616
910
582
7
443
284
57
801
735
255
94
958
742
253
342
32
457
51
934
337
304
631
624
993
290
44
86
194
39
89
236
178
624
247
744
720
993
86
915
702
932
695
266
735
241
207
811
500
973
200
36
469
0
27
559
425
355
112
666
63
707
130
971
137
983
622
380
206
792
409
877
470
891
393
830
477
171
457
52
335
85
675
792
920
358
410
562
501
118
774
477
113
347
396
64
793
34
361
963
119
564
718
886
985
53
366
360
148
626
44
320
731
368
524
357
363
170
6
163
651
250
161
93
456
913
867
768
387
691
867
198
517
540
282
33
371
658
366
484
770
882
471
573
199
576
316
716
202
680
9
665
605
590
520
744
230
880
278
161
185
29
744
575
64
663
526
121
318
61
182
456
581
970
666
353
423
744
851
415
384
964
324
600
759
997
601
786
519
787
437
336
555
301
605
850
582
805
627
76
7
30
91
485
158
976
680
891
928
19
819
234
64
506
785
149
672
933
695
182
148
92
715
126
91
563
960
713
545
75
684
153
875
182
334
307
323
817
156
977
837
143
827
923
70
272
567
696
331
67
861
834
723
721
204
819
120
509
620
958
416
230
686
749
868
621
14
357
187
960
232
742
963
855
609
934
49
356
38
346
771
51
482
61
816
448
846
621
870
691
201
499
870
965
375
923
520
118
817
767
80
323
378
790
356
232
310
706
742
744
117
315
607
559
278
271
232
522
845
84
723
993
47
691
925
702
471
931
521
100
408
40
261
699
196
816
637
439
105
442
19
781
669
848
660
319
664
287
487
209
663
419
221
382
994
586
811
196
771
669
813
220
523
987
898
917
624
361
839
156
215
723
641
909
784
555
156
652
623
366
561
739
822
472
887
830
122
113
183
633
768
249
312
299
902
556
382
967
263
57
975
887
393
177
374
716
338
380
918
934
631
536
632
846
282
35
499
496
635
290
954
141
964
109
710
947
387
448
512
612
232
879
784
49
396
281
961
63
785
578
258
156
118
126
29
280
569
167
870
937
302
263
889
53
446
784
93
105
476
857
529
622
3
470
525
12
631
667
930
984
339
452
327
619
93
125
718
379
172
880
978
816
510
579
798
638
131
630
159
740
97
779
285
388
544
622
663
784
370
894
403
109
998
186
716
228
283
165
66
303
641
331
628
686
27
329
255
960
116
953
905
139
114
875
9
405
230
51
94
192
5
43
853
483
785
634
443
671
575
400
529
800
372
77
970
725
337
526
283
358
410
393
111
198
633
647
97
249
603
295
977
40
929
434
129
668
901
758
673
962
156
413
65
771
342
398
285
327
34
439
627
934
154
29
368
506
447
157
731
708
468
621
955
244
980
845
362
953
20
40
19
958
364
986
921
898
805
267
904
241
392
251
412
5
281
836
504
624
908
638
15
386
914
140
22
461
385
978
506
812
550
184
241
30
890
584
779
420
462
783
865
72
286
569
462
190
780
211
839
740
957
791
896
191
701
964
938
536
881
406
460
403
661
213
122
45
107
83
340
875
896
699
868
219
310
846
798
150
497
90
795
792
38
264
649
689
0
448
84
951
60
28
584
584
884
892
504
1
625
143
991
780
668
907
637
902
688
578
172
752
905
656
965
962
299
907
998
326
456
498
856
384
695
518
882
496
749
784
951
213
558
671
38
96
822
371
438
374
41
287
42
411
183
260
732
794
81
973
329
873
359
501
416
998
491
109
845
493
157
564
239
842
604
566
578
738
552
423
780
499
484
426
951
991
348
590
413
201
272
974
697
122
296
523
114
985
905
892
59
652
122
667
743
103
747
463
999
151
492
106
980
868
119
806
8
930
44
234
272
106
399
725
85
66
176
305
512
406
625
830
320
550
918
605
302
449
227
925
315
238
104
765
747
727
789
560
207
354
37
45
95
156
414
22
588
230
808
590
927
990
906
945
579
148
278
368
474
190
912
110
195
328
304
126
939
873
607
106
571
699
861
563
271
686
672
793
205
228
179
102
785
326
438
335
261
170
903
632
405
877
901
702
328
630
207
149
531
16
472
684
461
915
457
986
87
362
865
59
491
701
527
996
5
62
646
599
287
584
746
239
705
434
309
800
502
651
658
695
810
343
771
173
100
727
775
30
981
377
666
734
630
416
235
950
105
790
180
384
478
289
801
1
62
335
140
351
909
511
886
584
858
699
143
837
599
182
785
46
714
864
380
731
952
379
101
285
285
932
129
517
2
142
982
903
68
834
99
288
912
692
965
636
838
909
708
126
183
599
943
962
5
350
736
106
514
930
411
139
530
353
51
171
683
852
296
89
469
568
803
560
598
341
984
425
91
196
995
769
130
356
120
103
186
552
912
233
119
926
893
198
718
286
470
618
775
514
52
69
216
720
972
294
1
134
242
687
934
464
747
859
850
364
514
957
943
560
448
335
699
483
863
963
48
758
633
670
279
63
290
970
615
976
713
626
523
640
567
376
893
257
595
287
414
518
353
420
28
92
368
114
594
587
319
957
50
792
21
493
476
74
527
187
180
308
435
793
680
903
835
564
263
548
740
957
211
361
470
153
804
941
103
135
759
800
387
214
144
879
161
126
94
909
335
120
566
346
153
722
422
14
901
835
639
136
222
115
337
108
353
348
333
196
238
698
71
87
840
592
162
4
34
570
193
332
17
130
926
276
660
720
61
697
347
503
900
615
657
126
805
489
566
176
819
449
22
964
454
0
618
762
674
745
535
249
37
762
968
931
561
299
857
691
768
608
457
391
91
829
382
420
897
664
858
333
716
923
402
541
683
900
443
352
267
227
624
750
182
91
242
214
793
717
749
314
209
916
782
254
39
778
763
633
2
838
955
455
185
850
131
766
898
550
376
963
818
625
818
841
294
979
274
792
46
659
704
827
725
465
591
118
297
299
314
545
653
11
16
70
801
303
951
573
711
546
378
882
580
148
521
374
171
896
178
115
731
643
428
650
359
385
565
561
412
767
120
477
265
504
219
977
897
412
709
902
61
769
539
927
227
149
747
517
954
504
421
968
824
722
775
913
497
689
327
713
645
611
772
998
118
550
515
236
579
416
710
632
557
484
279
424
219
409
191
75
515
802
653
169
609
356
163
145
89
160
957
749
768
434
171
218
989
443
143
892
272
162
922
455
326
414
516
160
159
203
428
11
686
651
647
636
582
223
939
329
12
748
690
712
338
395
362
829
557
706
353
20
432
409
250
395
361
299
847
764
691
544
319
907
801
564
827
369
870
99
269
811
785
936
959
184
913
832
631
349
838
395
243
378
988
478
857
621
560
472
70
268
651
309
739
533
593
222
608
268
749
579
772
458
256
677
464
776
192
372
786
778
788
758
67
534
671
504
223
278
425
874
814
40
569
979
866
829
171
495
715
457
20
236
872
260
35
530
935
689
63
636
408
604
490
690
595
519
5
712
539
480
668
361
763
601
334
938
804
868
536
440
708
893
785
734
804
428
326
170
400
199
239
118
444
544
436
290
651
177
265
314
408
302
207
641
282
148
825
467
593
323
551
515
452
813
495
230
502
25
182
684
584
278
810
40
770
829
92
183
927
275
864
799
991
754
376
494
370
942
213
162
304
806
531
511
378
730
440
646
518
953
599
470
120
583
541
569
34
368
986
206
431
683
444
118
525
846
517
683
249
245
791
845
366
401
380
472
878
951
385
191
420
288
645
194
228
387
476
105
385
535
1
979
107
760
908
735
631
41
793
15
580
476
922
128
506
552
986
812
490
485
946
917
121
297
338
811
721
600
758
133
587
909
535
563
216
835
859
530
220
465
873
953
63
894
763
698
99
66
996
46
54
972
452
266
949
700
851
549
186
538
592
568
221
740
260
68
983
272
810
513
820
357
931
595
179
23
277
470
827
40
682
867
717
909
100
916
957
813
906
885
748
110
540
906
560
764
824
762
968
487
320
736
813
182
435
741
328
687
23
369
514
167
804
163
866
849
829
379
86
795
537
30
574
566
615
373
662
562
188
602
531
401
276
44
440
368
692
75
501
963
106
957
757
670
201
395
31
572
375
60
766
219
336
756
512
132
883
471
728
442
219
172
632
724
775
588
695
640
195
97
201
619
542
183
443
695
237
566
590
615
414
265
654
493
469
683
259
952
28
392
943
601
59
550
497
725
768
513
156
309
983
999
734
935
435
551
594
599
711
424
10
562
761
428
218
256
46
511
809
420
494
269
975
392
958
760
120
492
959
993
226
778
723
756
936
14
832
207
404
600
786
4
930
942
472
248
368
274
228
78
347
283
276
332
960
47
318
707
819
196
12
650
948
280
611
445
539
254
105
421
645
295
103
980
439
638
9
994
374
147
434
113
265
608
409
24
150
807
284
979
181
104
375
143
103
920
945
460
789
177
900
318
849
622
487
69
2
405
828
910
616
501
249
696
248
489
132
344
880
655
526
288
856
951
133
89
164
552
496
643
903
190
970
496
262
426
689
425
294
377
620
866
782
751
124
314
641
604
636
592
363
808
374
783
450
140
794
33
460
942
865
763
527
597
31
401
984
853
148
984
724
998
473
81
847
814
401
415
945
437
316
973
691
417
173
870
587
149
2
737
443
949
969
134
976
62
824
219
572
362
111
697
278
56
842
313
891
51
791
421
610
948
10
377
765
701
355
538
877
125
34
912
291
316
536
757
222
523
103
848
504
835
50
522
385
535
764
919
208
347
848
976
692
614
38
975
876
233
346
305
967
600
482
11
186
97
889
953
628
131
556
603
794
376
492
346
623
997
883
858
79
257
589
207
207
202
274
778
453
197
57
336
251
331
112
734
835
578
916
251
623
579
617
697
158
430
693
331
139
999
871
194
575
41
377
343
367
215
528
554
307
475
225
769
483
922
559
957
492
706
762
563
924
970
211
608
233
420
809
511
927
600
656
799
914
43
990
390
730
277
616
525
132
120
42
60
417
45
464
164
831
715
207
194
561
36
505
600
652
689
950
711
4
543
388
423
848
23
294
197
500
729
659
152
489
368
410
289
517
752
155
438
38
672
719
652
955
522
416
614
262
929
18
957
829
40
125
116
200
480
476
82
137
326
766
672
340
235
173
219
66
729
295
599
781
722
900
366
720
207
900
912
676
149
790
918
673
276
13
324
947
345
688
210
526
405
153
85
813
479
290
723
400
818
738
601
855
617
710
14
643
739
166
38
767
938
434
55
441
456
336
223
6
265
564
463
268
340
972
655
89
63
759
493
23
212
119
267
258
514
362
946
718
355
688
531
414
367
894
27
401
150
969
506
406
94
324
974
365
687
651
133
601
127
616
886
176
754
555
875
69
214
839
594
563
949
886
558
402
400
871
388
9
525
284
338
161
340
4
470
508
88
626
716
548
996
77
666
733
438
941
88
756
848
352
814
158
896
82
52
307
672
166
345
505
280
134
612
218
194
213
202
950
730
64
589
658
152
947
718
110
849
262
961
557
816
509
6
252
904
800
35
875
452
448
450
203
63
428
353
937
134
966
90
35
114
686
414
21
515
596
403
444
44
841
598
434
266
972
996
266
687
652
538
776
284
861
183
879
422
294
977
977
350
295
927
553
56
269
469
621
388
509
25
859
253
655
856
912
234
179
320
749
356
184
819
638
6
716
515
700
967
582
909
692
634
618
65
763
844
861
67
913
973
664
421
738
749
488
684
543
399
249
409
413
31
559
143
130
60
472
956
785
331
959
598
973
264
29
718
48
63
403
839
1
37
885
670
529
81
681
503
202
768
759
517
71
499
837
671
861
65
559
197
629
409
286
413
856
801
689
119
572
897
177
919
470
276
423
256
748
55
720
634
565
886
425
638
691
360
640
215
675
868
321
446
271
341
295
587
653
936
315
438
31
359
716
533
610
512
158
563
559
804
936
630
333
790
202
991
911
958
242
683
563
131
592
270
244
887
724
771
766
983
39
75
155
51
265
829
392
696
595
301
694
439
483
527
299
983
548
384
851
558
434
679
985
985
379
992
462
389
426
523
884
227
352
284
852
432
367
134
654
599
824
553
116
49
558
67
85
897
937
546
93
796
997
313
182
331
49
880
483
381
5
429
996
809
541
504
175
281
484
501
28
376
705
143
13
810
579
665
146
897
86
569
640
122
148
355
79
550
679
412
410
285
73
553
469
287
634
236
178
724
231
628
388
570
850
341
610
521
245
877
897
421
870
8
267
974
58
85
694
333
176
233
945
767
424
618
767
355
365
907
355
845
989
674
725
100
477
832
835
781
961
631
161
742
714
237
806
897
167
970
975
922
325
865
791
26
59
461
598
464
5
86
608
311
333
516
26
710
125
480
781
371
978
245
11
758
828
463
352
310
16
840
440
12
416
593
351
432
338
115
545
407
493
257
366
863
826
255
45
153
910
212
615
696
872
100
632
143
565
433
718
265
5
788
261
747
526
873
766
180
143
484
914
617
35
421
760
312
465
411
555
405
556
482
728
410
803
818
803
843
651
987
395
937
422
132
864
423
387
273
527
955
936
93
611
769
319
309
137
625
913
966
719
447
878
986
259
726
197
819
745
96
583
396
186
118
290
523
132
860
689
415
5
74
527
165
175
951
389
29
7
839
40
388
132
124
695
756
699
224
392
64
584
226
510
715
165
178
313
541
90
984
136
105
822
225
809
506
679
214
962
653
795
927
107
858
231
642
569
328
778
147
998
850
136
409
428
204
40
386
153
522
130
731
760
131
838
282
523
317
87
946
827
245
511
936
758
848
5
201
728
745
603
637
260
758
590
760
174
577
413
435
469
983
194
490
178
576
34
637
496
501
843
402
767
227
283
453
342
892
724
905
172
21
578
416
456
212
695
537
168
942
735
624
405
780
866
627
16
901
515
415
656
32
584
662
775
840
184
612
128
725
291
175
187
229
847
960
20
677
103
742
661
341
789
752
289
978
289
151
397
811
515
612
849
612
423
627
22
627
862
532
427
84
434
693
590
393
760
989
663
907
572
913
485
670
618
548
180
651
439
203
971
166
969
421
686
238
550
277
351
7
393
375
12
611
906
724
772
529
400
474
875
310
591
412
317
62
515
108
159
365
287
615
207
366
68
699
132
347
715
846
618
876
319
265
938
871
939
865
79
536
390
420
62
480
118
941
411
388
651
575
887
806
852
439
400
841
20
450
538
803
27
637
511
214
149
938
186
134
578
964
457
908
720
931
26
997
287
150
786
503
981
821
463
503
832
136
715
430
375
743
728
177
940
765
97
116
23
490
844
354
894
994
65
313
42
592
287
969
121
674
259
669
521
426
828
445
712
551
885
988
108
908
268
794
230
19
422
19
584
275
307
499
153
426
39
289
404
909
10
66
450
535
422
156
221
744
57
77
722
153
361
703
680
613
355
706
913
916
227
69
725
118
891
279
211
820
811
899
921
939
254
471
961
969
195
635
7
473
867
181
167
35
572
724
910
499
118
194
935
997
642
62
386
582
673
436
409
473
478
769
599
583
393
39
166
735
654
727
959
617
805
379
768
235
801
96
716
813
50
38
703
394
127
792
727
964
279
605
796
509
805
607
124
513
417
402
257
711
997
555
783
640
218
997
16
576
781
798
892
860
187
851
887
195
768
688
202
318
78
767
280
901
436
976
615
745
807
683
834
414
818
845
822
604
888
976
641
127
412
555
793
392
968
652
449
709
630
916
212
474
407
625
352
711
82
178
63
969
517
266
696
896
183
599
449
190
271
191
258
11
494
81
436
66
71
202
608
456
973
769
619
447
746
743
795
484
858
485
900
678
640
266
768
574
948
826
358
557
672
87
280
647
393
808
591
582
290
947
607
192
18
749
101
142
808
276
427
737
347
669
329
649
27
873
875
897
944
649
102
938
874
191
628
374
764
375
56
863
383
574
620
284
732
961
643
213
388
401
758
885
265
440
690
139
608
6
747
616
402
88
530
860
734
227
852
749
552
313
856
488
559
198
102
781
341
300
332
919
134
207
548
974
686
363
743
719
140
964
716
38
371
875
124
953
857
782
525
736
535
371
641
725
895
884
13
190
178
6
712
237
790
499
301
314
540
863
967
342
96
127
705
674
828
972
988
325
325
508
672
370
153
409
411
168
758
798
192
322
334
151
606
513
755
511
798
0
859
196
520
844
102
138
223
38
184
667
9
291
48
770
921
615
900
15
391
605
434
517
753
888
139
291
694
396
257
21
245
605
207
622
167
0
905
890
639
16
957
865
557
367
921
223
258
817
850
637
816
532
237
186
121
623
177
653
324
326
944
437
154
568
691
49
267
832
943
667
597
350
925
439
511
81
34
169
385
959
891
273
917
488
304
680
270
471
18
176
153
723
406
290
324
245
238
209
996
25
57
148
945
572
343
899
870
487
664
957
39
85
128
393
308
747
861
381
387
664
35
329
103
813
133
863
513
321
169
269
1
885
251
84
70
935
62
619
821
396
974
123
725
78
263
702
455
970
950
781
68
810
880
68
333
127
125
190
188
214
101
831
41
987
690
612
329
181
373
748
586
613
995
696
891
668
733
283
978
61
136
834
758
510
202
784
609
810
953
380
343
0
92
801
630
899
816
920
54
23
116
634
138
864
28
493
530
736
890
428
486
666
462
546
994
414
408
793
652
374
205
277
491
767
986
999
14
178
219
381
466
236
324
120
865
260
186
552
809
881
853
271
870
537
421
493
613
594
574
891
596
788
557
919
712
639
521
235
784
671
635
444
893
140
571
733
606
923
888
84
273
308
690
324
718
293
542
235
325
226
198
121
225
752
107
877
426
832
903
836
273
317
815
484
152
92
796
908
546
585
398
300
246
398
827
457
275
251
676
96
626
420
60
161
811
144
815
451
522
384
453
410
214
926
516
156
805
160
19
536
265
87
878
439
930
667
384
146
595
430
979
719
631
815
475
862
947
988
657
976
685
244
782
991
246
887
844
370
144
617
374
298
776
527
859
91
496
688
984
35
631
77
964
478
564
485
782
672
940
489
874
353
57
281
515
768
195
651
478
446
785
67
143
17
394
354
763
41
255
837
562
482
488
951
384
783
197
862
680
662
170
911
480
668
258
699
707
760
154
786
772
373
234
636
325
258
186
548
615
10
466
45
711
986
101
364
750
299
625
921
110
110
134
350
622
396
527
564
102
897
114
880
161
567
827
680
774
525
994
818
604
129
343
422
136
481
128
9
164
95
119
495
362
433
737
153
203
727
545
12
769
465
70
485
405
10
728
752
453
700
421
878
788
580
192
725
348
101
694
425
60
759
581
357
339
480
254
673
598
136
928
22
15
659
568
279
910
710
813
558
920
640
638
172
308
377
54
895
373
926
365
600
933
910
195
21
853
996
716
615
7
88
147
517
369
511
676
772
93
872
132
322
760
24
170
497
567
512
989
275
820
645
923
437
679
813
351
768
357
797
972
22
282
652
862
524
449
802
408
436
726
146
621
612
225
179
160
230
338
357
600
540
378
986
600
122
164
48
611
192
59
316
492
694
940
144
851
664
709
9
952
766
346
58
463
555
933
796
300
525
258
25
529
246
908
173
369
991
505
45
685
222
748
369
910
66
707
530
400
121
97
651
966
611
905
830
314
106
186
749
390
915
226
620
899
104
729
565
893
40
572
398
203
822
840
509
813
868
140
304
921
979
265
452
307
632
484
959
570
698
567
124
371
531
295
900
416
6
330
12
348
515
522
698
821
585
865
360
312
145
22
341
388
874
289
768
386
787
886
81
364
659
219
639
338
838
927
446
594
29
295
816
233
711
735
248
213
848
82
794
407
356
320
163
579
435
289
853
724
14
412
910
556
187
422
710
59
477
977
956
456
430
90
241
181
244
894
31
559
382
17
731
919
150
334
339
555
420
686
868
338
112
448
30
579
679
175
496
482
20
43
415
199
112
465
58
946
813
876
883
26
950
322
83
462
766
912
746
608
166
914
296
366
824
947
164
76
291
380
238
399
52
177
481
877
817
231
821
34
163
443
949
353
627
389
677
816
669
272
199
209
278
22
821
682
168
175
14
179
843
33
119
60
295
807
546
517
408
554
898
473
414
671
153
164
833
445
603
471
106
823
19
85
365
766
606
716
72
609
213
366
669
802
713
132
585
443
963
416
516
912
246
370
75
181
417
530
198
501
0
486
36
794
667
479
948
150
309
415
964
344
801
753
864
246
993
862
203
862
220
252
364
675
597
247
298
95
504
467
663
83
115
564
440
230
783
996
236
812
421
644
738
663
524
417
975
523
874
892
740
455
414
74
238
549
351
182
109
757
458
459
209
585
218
648
625
656
107
195
398
66
584
567
543
653
837
820
692
567
787
187
598
53
756
537
9
661
142
540
961
698
355
623
219
294
308
905
727
521
25
119
768
480
574
606
855
529
510
665
832
999
317
576
131
921
750
748
622
395
215
995
131
378
445
755
511
658
482
179
577
387
780
61
722
652
692
406
790
156
882
262
447
601
982
393
841
872
297
378
39
543
751
422
520
561
119
206
46
180
151
587
713
349
693
802
409
717
927
519
170
420
202
411
362
231
677
949
788
284
192
177
600
378
838
873
671
145
181
416
389
614
817
487
67
139
102
139
151
577
530
531
295
267
453
12
238
520
704
351
871
183
457
954
656
412
932
765
42
482
904
452
222
583
98
413
42
53
955
23
70
990
422
727
287
674
203
375
368
129
618
303
847
835
382
391
257
990
192
678
179
326
95
730
980
863
846
595
410
254
796
414
395
312
490
398
531
5
251
937
811
499
649
839
634
454
442
492
803
123
509
146
418
54
59
106
27
374
861
958
66
738
573
879
546
594
759
265
615
720
757
202
75
664
739
39
766
432
457
533
817
54
786
896
932
885
985
924
121
165
235
246
207
267
711
772
142
733
894
175
796
136
197
224
937
47
397
476
114
49
75
751
365
226
356
591
775
239
202
705
741
232
776
852
38
682
677
211
349
297
424
871
845
283
990
131
262
954
148
420
513
634
69
360
950
173
743
930
387
187
661
641
669
342
303
827
117
754
183
890
24
819
964
478
298
753
790
673
31
974
218
588
522
535
57
276
249
540
213
563
39
956
638
760
59
179
498
75
981
495
603
758
287
738
928
48
369
473
451
948
800
619
32
659
840
907
376
560
434
792
757
113
513
73
427
598
30
576
222
635
837
523
810
105
887
66
785
783
365
648
303
598
480
170
676
34
202
788
767
448
121
972
71
318
343
404
427
755
778
662
132
756
977
373
691
189
958
909
550
826
847
576
992
540
429
708
210
748
493
838
331
855
556
940
918
311
591
367
30
708
432
7
298
199
769
631
389
197
841
924
543
789
817
367
781
327
314
117
562
290
261
448
291
575
566
21
409
694
538
461
448
890
943
330
977
972
288
127
58
534
659
560
561
541
835
554
843
836
165
337
421
351
732
799
389
7
985
486
795
816
275
286
71
363
838
945
897
944
422
158
679
683
926
60
446
113
640
564
294
865
853
559
626
954
279
732
970
264
214
234
307
306
729
768
918
954
817
647
799
632
308
306
130
430
570
232
105
299
201
464
317
559
556
609
945
143
427
251
82
846
155
48
786
480
393
878
920
800
258
276
814
68
525
585
370
135
697
161
893
73
352
642
240
192
727
712
595
306
829
409
178
639
372
433
453
220
646
881
730
476
594
217
125
376
239
162
236
535
883
686
861
180
831
13
154
80
785
186
934
636
254
87
531
34
919
867
629
114
345
458
567
415
398
427
77
312
412
571
4
149
324
124
55
502
172
239
246
773
53
482
875
713
231
729
689
543
776
716
790
321
695
767
198
6
481
365
569
37
665
564
979
405
791
115
418
380
766
727
879
218
974
951
55
907
325
367
236
822
955
548
46
138
895
30
329
375
871
161
26
514
716
141
866
285
762
738
965
178
114
348
779
458
551
346
437
625
200
193
874
591
166
29
645
288
328
965
494
376
131
201
877
586
54
992
381
354
41
548
549
806
577
796
47
956
820
737
367
872
990
288
313
872
629
255
202
328
158
689
343
313
543
598
233
895
793
8
935
80
868
894
882
271
322
789
457
349
988
183
747
57
169
298
851
390
510
214
57
46
945
720
243
686
812
490
439
652
483
894
370
854
80
0
298
942
655
398
656
445
73
614
352
93
323
311
189
161
784
617
249
19
855
549
10
438
685
582
86
40
12
119
964
561
970
9
624
327
645
444
430
66
446
134
332
411
395
556
628
272
796
293
430
358
135
908
787
301
232
527
241
850
259
397
253
172
890
707
796
810
539
946
755
396
421
870
652
285
274
233
814
709
164
550
321
941
398
904
700
504
742
71
933
77
378
451
813
885
548
374
162
371
128
433
619
908
830
588
133
712
150
896
245
988
42
211
782
681
780
252
793
695
806
945
619
936
386
167
118
517
209
403
327
626
88
209
58
461
883
622
839
328
424
521
419
753
125
425
737
324
254
977
472
600
131
260
761
277
860
108
928
879
98
437
771
990
267
722
209
606
574
652
570
598
813
996
140
401
420
470
767
265
959
566
760
625
139
268
973
726
658
259
488
775
725
34
426
362
444
674
622
767
432
701
41
523
541
692
19
548
246
11
23
229
613
346
331
42
301
674
345
831
187
807
295
667
674
91
256
710
368
744
733
858
165
484
778
810
926
910
385
271
378
88
218
233
658
717
339
936
147
766
793
795
202
504
41
996
286
382
449
875
141
456
683
428
316
793
475
200
568
401
947
395
749
235
910
316
211
962
266
183
164
356
697
965
229
252
643
473
269
934
261
814
652
646
936
425
296
462
276
972
241
887
46
765
397
8
739
435
39
846
7
765
865
489
966
37
541
770
411
705
810
740
773
148
309
565
165
189
288
368
400
907
61
36
686
520
202
255
356
275
296
346
321
271
442
171
260
826
841
242
258
7
933
308
142
997
751
654
846
745
20
972
16
953
56
347
922
998
836
126
359
514
797
901
54
26
592
102
449
242
341
148
559
879
690
171
34
501
940
55
167
619
144
564
293
914
763
223
944
625
184
564
108
456
685
708
241
871
44
157
47
994
285
745
859
915
365
879
874
809
792
525
10
563
399
458
306
538
811
25
1
345
265
887
544
13
635
643
57
151
210
504
874
184
292
334
420
8
93
406
628
24
654
425
207
996
703
909
490
891
879
14
735
348
515
164
24
537
621
499
682
306
825
642
357
528
524
774
766
674
933
783
28
100
319
707
81
319
172
76
441
672
547
522
540
75
281
823
961
82
643
748
965
732
754
693
466
741
165
445
282
243
745
732
843
755
143
739
881
461
264
791
407
951
314
907
636
115
165
400
476
417
544
971
504
856
518
825
440
318
387
693
613
751
884
600
906
448
190
869
13
71
238
839
61
481
760
443
903
698
350
979
139
946
836
389
940
588
528
488
292
228
509
400
214
413
213
488
303
728
960
96
693
292
256
587
215
971
863
655
88
150
625
47
450
577
251
908
729
181
770
332
267
774
340
903
489
882
656
599
21
178
440
842
911
453
547
193
723
163
366
573
276
305
772
731
764
29
567
713
339
965
179
580
58
462
491
462
366
392
607
382
337
847
55
963
148
247
125
488
575
560
371
494
192
920
736
912
65
243
178
794
130
877
782
641
13
600
611
271
341
504
718
561
884
665
215
155
358
512
707
135
587
263
152
612
35
538
206
573
893
910
420
818
910
4
70
962
57
441
893
322
764
406
314
129
160
936
248
984
503
373
602
659
105
267
778
736
527
344
963
150
407
910
931
357
648
639
456
757
554
604
199
168
925
709
97
912
468
310
441
878
411
7
609
790
305
375
327
767
857
109
361
174
877
550
143
599
4
332
761
821
31
349
343
730
409
943
619
570
526
263
889
899
736
850
863
548
276
337
615
935
900
464
711
325
22
393
602
87
629
389
855
154
849
151
62
856
405
574
319
321
182
395
721
998
37
371
829
8
915
120
370
108
809
396
902
996
33
364
206
645
37
509
829
866
776
218
43
58
831
302
121
310
429
993
213
985
266
622
954
729
533
57
551
593
221
564
111
849
892
612
732
243
241
682
398
24
394
291
583
339
892
835
533
507
278
891
696
535
853
603
501
327
214
207
110
700
820
967
349
364
813
934
759
973
441
501
654
199
133
82
742
590
875
683
583
233
326
796
71
897
29
791
82
963
189
459
907
708
682
8
457
183
369
373
709
442
496
895
796
72
443
344
232
583
685
667
404
356
895
104
831
681
258
27
281
371
541
512
171
274
340
832
427
196
852
119
262
609
93
912
638
204
570
602
924
247
239
645
108
431
387
998
488
288
716
647
429
217
218
655
210
956
511
364
449
246
826
334
183
641
460
884
910
608
358
892
7
934
776
384
413
510
623
820
991
127
883
969
247
16
117
546
483
387
78
213
433
742
571
112
797
396
104
655
740
924
790
913
649
604
248
828
646
712
643
212
348
216
528
343
581
430
730
338
714
234
912
993
747
117
142
119
341
660
693
31
163
446
782
609
896
371
954
108
197
694
155
650
594
586
218
100
195
642
142
934
609
949
115
146
980
167
141
55
546
871
827
980
583
644
341
325
667
472
974
826
677
314
904
513
817
412
491
852
742
961
242
371
166
846
93
86
511
572
524
374
971
436
964
58
682
310
30
791
362
745
930
574
145
766
552
257
200
282
555
896
929
555
741
506
550
534
219
690
428
467
533
268
457
841
835
582
631
408
710
333
216
122
400
397
908
547
233
944
979
884
782
343
808
637
510
762
797
631
221
59
261
796
108
716
349
955
849
543
704
113
257
713
935
67
765
605
110
650
555
204
898
934
513
745
596
861
34
896
603
119
837
392
525
322
688
401
735
431
891
812
990
944
285
314
537
315
445
520
229
529
570
158
131
292
273
821
543
918
421
521
335
629
721
770
309
576
600
10
93
871
437
429
734
175
191
761
311
777
599
16
727
960
292
502
373
44
790
625
893
344
229
607
53
759
856
626
49
691
141
477
599
305
546
146
716
240
289
892
893
72
29
829
513
869
391
48
584
398
857
459
537
852
328
761
543
733
713
915
729
727
431
480
753
379
672
930
664
484
578
491
382
273
332
360
886
306
35
758
821
77
462
263
895
748
796
757
23
317
301
823
666
692
934
20
324
223
553
360
990
704
804
375
747
190
681
119
514
233
904
78
796
945
100
205
88
680
571
880
160
657
413
200
648
377
393
330
5
272
31
447
570
680
49
46
450
601
745
752
544
876
504
378
143
864
520
563
684
210
93
86
584
158
705
796
830
724
485
669
389
68
951
388
436
21
206
42
592
833
386
636
906
227
339
748
936
852
821
939
977
893
491
715
876
625
166
863
327
904
731
890
233
386
389
754
278
109
629
244
410
141
248
763
675
210
342
487
992
106
333
67
115
462
393
200
80
427
418
924
483
850
692
757
726
584
300
973
832
823
325
185
528
8
266
568
208
818
61
333
396
245
667
184
498
702
967
470
687
11
563
646
72
120
261
652
854
355
366
704
129
163
963
179
158
22
239
507
247
522
964
305
782
722
539
545
902
149
812
867
17
493
478
157
680
863
752
693
248
535
700
386
90
120
483
491
639
577
87
68
355
333
889
272
288
469
358
966
32
779
118
761
694
98
254
740
439
722
747
390
955
368
103
573
878
911
362
400
127
725
716
396
491
380
929
235
345
614
436
259
386
511
753
876
374
65
148
270
42
389
665
125
429
985
416
448
32
287
334
502
815
409
710
397
134
340
573
2
647
115
323
123
420
586
933
748
513
993
974
230
190
522
616
709
556
654
248
305
607
192
366
861
368
631
263
310
728
634
761
527
457
652
25
299
19
259
969
170
378
511
254
598
549
762
958
414
793
980
339
475
243
159
646
223
507
176
30
358
936
322
698
310
429
649
421
925
763
389
57
644
565
260
189
885
445
418
586
813
234
166
214
15
471
817
506
174
762
901
865
769
692
358
363
649
252
564
729
853
669
363
175
914
153
13
947
551
546
352
432
414
730
160
608
850
534
538
531
882
295
961
939
76
498
465
969
484
36
443
242
634
852
26
108
182
395
734
772
703
803
795
981
717
964
233
877
696
896
378
660
752
835
326
402
372
17
549
83
575
321
921
444
274
115
346
955
226
681
589
280
308
875
942
981
37
877
232
857
684
474
492
553
803
23
853
273
996
616
278
717
21
468
722
774
617
548
898
251
368
287
93
628
52
113
872
536
776
580
563
705
462
723
581
72
873
697
512
973
873
837
817
784
272
615
344
623
458
604
686
305
559
195
360
690
653
422
352
646
400
910
262
642
257
531
142
530
799
681
632
473
804
214
814
815
899
479
192
123
986
636
458
522
683
870
212
116
948
106
877
922
28
875
751
127
433
530
410
799
680
792
287
210
686
942
277
65
269
39
493
206
679
825
498
143
763
663
853
816
912
977
188
238
802
678
323
60
624
631
310
882
736
898
405
907
952
923
490
521
673
120
498
998
103
25
356
660
617
889
825
191
816
544
750
860
151
965
441
935
588
628
249
97
605
941
34
919
253
690
984
632
917
191
837
413
181
349
837
907
727
680
434
987
378
452
550
209
520
878
843
111
47
412
197
130
855
453
341
105
184
822
156
273
458
364
628
123
407
524
926
388
404
945
604
320
518
870
207
428
609
6
18
325
960
123
491
794
992
428
954
847
780
641
187
840
274
342
162
557
506
425
318
851
874
928
416
952
798
331
210
644
340
296
583
929
734
16
550
778
404
739
218
544
224
904
993
296
779
744
791
814
213
587
721
935
628
836
388
221
14
119
855
462
933
605
656
395
442
681
271
822
543
634
242
976
929
255
422
219
426
142
510
868
32
683
105
406
350
787
165
107
543
170
827
238
171
189
676
328
100
821
376
876
308
366
339
561
646
168
48
978
678
26
994
545
716
628
723
359
935
252
822
464
893
146
751
905
26
16
769
854
933
445
700
415
918
919
78
870
373
935
840
274
308
653
56
140
233
895
173
886
327
20
675
785
972
955
819
575
43
617
175
155
693
225
94
467
668
165
473
851
832
652
789
936
849
509
438
299
370
955
527
393
789
481
823
847
201
623
82
269
10
144
974
368
514
107
524
942
379
933
140
969
870
361
265
254
236
800
933
512
440
541
619
611
858
556
148
24
94
535
794
655
606
451
857
906
908
262
89
848
244
181
802
207
921
944
125
441
53
52
41
374
537
587
988
531
556
368
755
390
57
480
952
6
675
147
659
695
968
417
703
784
800
230
890
458
919
811
642
191
672
455
962
653
397
934
153
960
253
949
956
276
341
960
592
981
837
1
72
91
423
290
807
234
318
862
905
158
303
493
852
103
351
26
476
341
21
548
43
520
904
408
374
333
599
519
799
118
698
197
939
31
437
76
234
139
648
797
282
967
657
933
132
636
455
250
506
69
572
8
551
765
566
128
501
632
388
479
603
320
349
723
914
968
918
248
834
488
750
374
312
409
401
586
155
518
111
185
782
23
375
528
777
982
966
906
15
655
190
24
137
804
134
336
591
962
403
117
977
171
377
760
964
228
694
553
687
291
762
583
135
325
925
599
657
919
665
758
513
730
925
336
237
889
65
427
242
739
690
824
68
335
970
480
583
437
418
821
138
684
174
677
159
131
592
605
673
848
126
716
742
277
680
491
921
681
969
788
21
417
267
794
456
20
3
925
997
23
431
841
442
109
467
430
649
966
925
539
751
872
397
574
504
674
769
814
493
812
21
913
209
848
306
927
674
625
422
770
987
250
284
536
23
517
679
322
365
285
829
861
660
215
141
42
323
560
729
739
972
981
775
620
571
674
931
454
36
280
559
45
46
52
472
879
453
828
781
629
522
947
65
656
243
898
314
927
592
590
969
317
847
190
435
89
927
232
485
526
338
858
594
991
715
922
538
736
516
987
863
852
823
314
307
861
974
143
366
236
67
513
109
523
24
21
176
226
388
740
274
104
688
810
514
492
754
482
235
712
567
356
969
352
914
945
239
841
828
779
454
606
915
348
728
856
742
60
780
912
56
876
761
995
210
376
540
3
363
479
587
179
979
210
58
350
104
466
494
612
845
115
242
805
395
856
39
112
614
415
740
905
630
487
970
241
844
124
346
534
844
793
296
953
410
334
618
63
810
791
898
198
654
631
366
247
602
920
387
595
302
253
19
539
471
77
407
408
472
311
88
58
154
87
8
812
199
104
502
20
533
172
488
356
950
722
857
313
219
942
230
325
680
354
727
789
153
923
238
841
713
820
794
554
546
200
192
982
551
96
470
340
20
925
834
783
234
17
587
382
139
561
51
679
865
219
303
316
590
791
270
62
182
978
313
837
894
2
785
501
954
775
130
348
981
168
348
728
36
183
504
877
908
550
580
971
208
381
69
934
234
178
499
240
78
212
596
719
767
165
386
641
269
917
428
486
33
18
951
107
719
246
343
261
905
386
69
186
989
281
369
741
235
309
599
977
655
496
148
379
135
940
770
742
974
499
475
530
430
854
493
914
838
456
141
379
281
323
756
693
245
996
353
196
897
756
770
321
224
935
3
650
804
872
87
558
828
845
391
123
328
550
825
253
40
300
176
530
93
180
218
743
767
966
295
133
480
730
719
232
821
450
611
751
50
772
130
769
983
810
655
67
480
618
229
903
449
984
514
669
402
135
96
288
159
987
241
188
529
625
410
379
348
774
657
465
207
216
155
777
896
494
277
607
107
975
337
693
395
641
562
201
767
444
822
50
861
625
267
172
582
310
68
969
910
226
395
311
481
97
107
895
710
428
66
238
782
4
721
760
376
169
348
667
479
827
563
399
508
626
681
405
766
296
740
51
972
307
986
986
352
430
437
472
583
767
561
964
838
861
952
788
673
14
958
362
682
540
306
41
136
210
474
156
873
942
612
237
899
776
924
386
650
739
653
878
202
19
547
995
606
789
914
233
53
376
770
554
677
760
956
920
44
99
336
34
249
371
153
639
502
748
849
268
632
991
699
404
611
491
586
928
219
771
177
211
27
113
412
118
774
245
670
68
50
751
563
735
810
332
464
916
389
688
509
752
269
404
472
329
251
21
945
611
207
676
682
700
526
835
25
990
209
88
687
209
8
667
79
414
11
770
763
824
136
777
970
668
481
165
578
417
377
252
911
138
15
442
633
466
192
514
280
492
542
156
779
646
632
999
885
667
260
399
602
201
958
345
991
222
828
156
75
900
348
155
965
12
231
494
205
600
595
816
760
277
416
816
684
919
609
745
410
1
287
855
933
39
373
581
415
335
936
195
477
759
155
740
529
904
129
331
358
746
683
318
566
67
543
380
544
676
268
829
392
716
41
424
385
31
802
341
5
91
793
442
313
639
159
175
88
231
381
796
792
373
876
142
123
366
760
782
335
995
641
307
397
323
940
756
422
204
761
177
541
377
342
96
817
848
806
858
454
613
733
511
431
587
677
258
265
353
362
246
950
668
445
334
253
880
846
408
117
988
579
837
531
930
163
113
31
374
887
440
312
304
860
829
932
254
32
557
273
521
838
624
534
968
437
79
517
397
156
235
493
248
423
535
128
280
947
305
29
863
70
714
302
303
494
850
296
990
59
934
81
171
941
610
570
381
610
455
363
811
458
113
784
846
770
951
276
722
473
681
226
26
747
911
641
745
726
227
519
237
112
446
457
928
693
442
890
564
122
894
205
592
623
914
636
117
185
819
521
656
976
255
789
22
708
732
762
516
590
407
28
858
275
861
620
561
987
78
146
889
634
313
392
91
58
690
928
467
642
87
751
488
510
310
748
912
180
618
410
637
241
46
220
514
304
927
307
585
425
947
693
260
557
416
407
205
947
958
362
666
453
603
971
190
893
786
256
679
475
550
617
107
430
830
433
991
986
673
519
542
664
714
51
474
178
415
701
166
271
374
104
311
750
664
131
4
459
726
643
100
352
918
20
919
285
718
171
439
522
454
943
247
95
889
517
806
537
98
30
908
53
869
945
22
527
933
23
624
510
278
65
401
969
818
985
246
747
588
79
78
471
837
804
652
320
431
175
23
343
138
763
121
594
362
74
774
99
462
217
41
139
787
912
104
667
552
250
510
555
459
977
829
692
871
736
333
105
753
663
34
61
168
627
405
540
602
324
367
443
814
378
262
877
394
866
448
495
196
958
749
503
69
801
216
416
798
734
387
401
372
390
111
609
923
302
665
294
377
395
176
144
620
535
443
16
699
560
886
939
107
723
555
393
915
450
986
824
841
386
130
338
714
974
47
762
637
350
180
532
327
559
735
113
153
485
926
373
337
401
381
63
633
73
293
985
285
287
984
171
668
565
194
560
845
993
434
654
150
501
167
752
500
278
104
141
439
795
153
771
719
92
729
292
233
700
93
55
753
59
380
174
825
460
820
25
575
569
693
154
661
287
610
563
692
702
520
723
891
930
769
859
0
111
900
251
98
260
442
565
692
101
181
413
273
939
331
286
30
38
194
446
464
227
471
695
855
162
107
287
324
833
432
239
433
117
341
183
82
452
975
517
651
799
890
486
311
665
245
766
2
877
66
922
78
373
458
368
574
399
359
680
460
182
205
459
881
379
411
352
100
660
547
493
545
804
188
94
173
674
295
780
875
324
703
946
765
183
861
281
34
333
803
282
373
649
503
818
360
389
120
194
415
853
639
41
159
637
587
246
434
877
614
446
644
797
65
405
362
759
325
308
226
513
787
195
56
199
511
988
338
186
598
364
368
60
857
768
169
391
727
370
964
432
403
635
658
366
258
259
634
863
82
120
561
460
704
288
188
320
378
155
759
132
952
683
759
350
390
294
213
586
865
380
270
494
603
431
367
542
102
657
92
35
990
369
856
17
862
957
129
2
914
854
511
906
185
982
386
175
893
422
982
885
834
562
12
995
219
525
148
753
148
767
42
863
35
949
646
848
815
346
888
412
99
77
525
747
556
509
412
411
319
778
44
204
812
431
1
73
948
211
965
282
687
855
114
584
938
206
858
203
951
735
763
125
521
572
642
886
781
297
854
526
756
178
890
747
373
423
561
97
408
804
877
454
26
946
263
270
452
871
654
699
478
118
269
746
502
583
847
403
265
919
787
156
672
615
589
939
144
145
267
945
378
453
415
996
377
268
904
892
52
472
462
629
891
712
955
687
854
734
833
751
913
159
404
398
795
27
159
435
610
101
425
490
879
751
118
327
423
277
286
25
562
922
239
569
899
638
249
267
851
297
927
311
265
156
973
929
583
294
822
795
405
522
777
76
695
279
193
50
270
222
356
903
305
157
769
524
535
292
905
312
861
868
831
394
584
447
501
973
690
850
318
808
355
330
400
688
162
280
65
481
251
447
537
280
790
365
576
745
905
833
966
841
810
160
515
830
348
676
151
327
272
599
98
72
541
370
381
100
469
803
843
320
769
451
497
925
68
961
427
231
657
97
140
660
388
768
877
746
501
767
580
800
366
199
535
502
345
124
519
829
566
548
959
111
166
751
863
571
705
719
114
320
401
185
893
809
789
968
625
548
734
211
176
639
205
932
343
749
420
280
138
67
891
954
896
8
141
948
838
870
223
647
197
522
469
630
226
697
616
904
494
887
866
36
952
595
516
789
356
737
10
273
948
158
458
975
981
199
687
560
322
65
475
991
175
116
528
956
268
78
19
824
576
126
130
202
410
573
468
527
19
119
391
610
499
816
10
484
903
641
626
52
38
602
556
205
810
82
331
319
918
62
693
155
456
411
38
484
84
214
504
378
320
653
752
363
930
920
41
126
51
85
868
269
186
561
546
69
610
689
376
214
402
205
741
145
967
782
26
810
558
374
420
585
21
203
838
324
231
613
440
383
960
818
288
402
347
38
197
773
936
96
593
386
145
114
812
301
564
123
795
310
279
232
470
668
658
67
964
267
438
462
893
571
974
864
504
792
347
276
896
335
742
697
75
898
715
763
917
517
529
900
557
121
873
981
398
510
188
773
370
176
246
195
267
234
480
419
644
689
547
971
214
982
433
710
698
452
524
679
123
914
539
648
967
192
582
992
34
430
380
368
760
900
508
413
595
24
189
177
574
865
425
320
971
697
860
563
94
629
640
119
953
454
202
563
905
631
961
83
999
832
198
455
90
163
665
473
850
226
277
825
963
709
321
773
784
73
158
494
860
487
758
778
886
784
973
527
548
118
528
399
372
335
590
388
18
775
147
726
97
316
165
852
702
539
891
563
729
697
994
140
374
670
212
905
231
563
4
949
431
733
111
374
169
335
744
693
584
744
983
930
837
42
350
915
134
690
384
968
737
204
63
674
700
643
308
495
986
164
911
538
946
145
619
323
286
421
143
888
653
193
938
787
891
32
424
502
765
605
823
128
269
249
802
299
53
189
680
84
467
615
401
227
416
278
733
343
431
411
185
864
248
620
784
953
942
903
293
488
344
13
259
636
755
342
868
412
856
92
122
38
755
670
811
250
756
847
309
274
463
526
128
967
248
894
670
111
250
108
575
672
319
250
333
601
153
520
71
422
684
241
69
902
167
285
112
714
463
881
752
970
553
382
832
938
586
432
693
940
162
301
180
369
768
402
903
219
388
469
635
206
626
851
180
503
781
497
131
813
50
191
2
500
141
732
204
479
335
496
686
993
953
462
583
320
72
816
256
986
691
238
518
451
412
162
246
52
868
546
475
36
606
561
38
604
979
720
389
990
715
646
318
65
742
74
997
509
995
125
847
885
949
40
662
370
354
35
636
811
529
666
489
821
199
383
977
715
300
527
545
346
675
463
949
28
61
637
484
495
180
909
392
608
594
950
393
647
386
183
780
523
377
189
576
826
899
370
634
689
557
66
3
589
51
703
671
731
979
202
120
527
143
456
633
729
736
775
455
891
444
357
92
2
859
267
108
181
751
446
857
403
24
868
379
10
544
91
663
867
610
762
37
501
970
453
176
317
131
432
237
195
205
958
999
208
129
221
303
448
862
947
631
648
584
33
789
107
392
684
683
697
76
203
995
443
610
814
923
893
999
577
6
37
712
586
478
79
61
2
181
959
782
442
21
220
720
828
436
107
393
77
623
67
517
604
951
410
699
281
462
389
110
394
615
979
782
690
789
274
167
316
440
319
93
764
76
516
826
332
377
994
589
46
578
218
30
43
178
840
675
575
759
422
14
614
332
165
482
678
89
290
751
742
780
526
307
793
560
551
867
643
45
692
176
15
633
352
361
870
773
271
842
169
672
170
852
778
167
764
322
251
683
761
203
196
382
950
474
754
994
303
458
280
422
453
872
252
929
361
502
489
394
205
278
605
469
161
849
883
365
880
454
404
182
420
765
550
261
446
171
92
891
915
496
381
407
269
150
290
784
340
166
503
264
577
431
552
992
495
405
219
714
297
563
751
302
618
747
33
876
744
411
427
188
43
179
570
223
323
194
110
373
457
944
971
144
578
101
529
587
519
679
686
965
515
671
182
674
946
968
147
494
874
619
169
510
944
544
787
136
891
701
575
277
526
536
145
549
962
582
803
145
975
572
573
106
127
183
184
988
689
719
152
432
838
793
253
716
166
398
730
798
303
347
161
340
243
513
150
855
359
81
53
28
743
993
528
725
156
384
995
200
102
191
994
985
676
380
19
870
893
325
371
782
754
146
226
655
50
179
8
140
593
694
106
543
480
63
716
306
137
539
680
204
135
777
926
834
757
862
376
392
944
276
97
218
969
138
541
687
866
574
612
854
23
105
564
900
940
926
176
509
637
220
512
341
701
904
839
137
568
101
387
518
402
344
946
964
855
480
356
705
705
572
193
283
22
549
488
383
681
542
157
174
812
34
927
803
717
239
759
496
132
766
855
993
328
45
448
414
790
235
327
298
465
572
813
300
270
676
144
731
565
313
873
160
15
698
937
370
895
165
739
719
998
542
340
600
510
697
286
698
779
75
256
608
87
67
834
926
382
51
950
136
240
138
95
584
126
858
875
701
254
502
710
284
643
742
478
95
808
380
862
168
381
558
53
979
286
405
103
52
358
701
130
704
958
107
527
5
409
859
336
396
996
877
979
269
844
652
287
279
840
960
741
118
725
556
953
462
957
403
895
328
770
870
24
916
854
464
778
24
538
881
709
681
939
389
126
345
990
709
110
474
179
963
926
618
706
881
925
992
972
898
46
217
942
887
864
308
168
819
504
835
577
260
925
698
53
670
935
25
780
167
846
616
8
674
876
67
130
737
343
435
510
51
816
829
659
146
296
54
207
839
318
455
741
272
252
936
703
763
877
532
775
839
990
855
38
675
115
813
680
593
485
951
318
826
103
441
23
476
956
271
940
931
982
167
412
431
500
12
674
342
714
409
518
711
11
688
463
428
341
276
305
962
415
539
139
753
379
230
676
363
792
287
192
326
752
510
557
440
979
995
159
859
893
242
779
773
553
175
496
454
72
925
374
618
833
728
903
156
293
364
571
860
644
953
28
244
788
105
482
8
59
683
828
70
854
496
230
746
76
890
237
450
319
776
784
868
157
283
521
149
36
128
162
573
115
950
955
428
806
943
478
215
816
84
33
81
454
171
240
191
59
711
158
292
137
508
531
445
325
599
697
945
485
272
415
187
9
317
183
899
655
738
968
663
496
822
183
928
857
151
85
381
159
343
778
611
905
945
777
923
283
729
636
277
96
999
152
674
97
670
482
933
817
815
548
180
105
270
131
568
236
423
759
838
321
961
350
257
277
196
570
199
82
626
963
208
212
605
229
79
787
968
616
469
62
211
180
81
147
877
621
910
114
99
837
169
539
570
534
984
865
285
581
36
412
866
507
577
339
442
123
146
614
47
647
875
367
558
143
302
48
446
485
459
400
167
647
21
290
929
821
837
38
85
664
68
990
90
705
537
802
649
539
391
730
518
323
49
236
272
974
248
281
817
644
226
751
788
397
923
5
718
832
994
275
766
726
73
287
880
331
54
737
870
119
791
198
630
550
212
82
120
59
325
771
662
427
50
404
56
609
918
935
670
215
52
479
606
953
286
895
948
805
796
591
286
129
560
91
495
363
376
718
602
146
528
750
200
413
731
205
369
359
988
393
591
257
680
36
371
610
670
704
646
283
823
179
258
818
959
621
445
979
395
413
971
914
240
938
61
927
686
635
897
317
674
80
319
170
639
613
295
213
369
364
159
992
559
873
578
22
1
32
279
231
363
254
158
61
757
237
101
755
252
102
147
700
664
370
840
250
884
609
639
893
949
734
451
743
213
796
678
220
855
20
225
671
842
855
125
562
5
414
792
908
404
18
163
3
228
570
39
626
177
211
901
360
12
818
80
343
491
1
427
79
588
916
798
130
397
800
906
544
59
443
19
583
616
428
773
144
534
976
646
237
360
312
825
397
584
848
445
796
991
555
508
448
996
423
302
27
611
550
810
146
153
913
440
914
497
560
81
67
372
243
597
977
226
754
749
202
788
152
340
904
705
468
806
580
303
274
228
298
571
178
331
187
747
694
415
687
550
439
103
2
402
293
667
701
247
864
852
134
221
63
872
615
209
921
558
867
667
267
334
218
154
451
263
94
927
91
954
756
771
786
733
390
980
151
845
305
419
663
605
531
805
173
565
49
880
801
82
305
322
204
758
91
591
837
247
234
318
440
520
630
688
651
693
756
910
468
29
770
736
232
430
503
762
908
246
327
488
160
757
302
7
145
925
879
609
975
722
603
827
23
608
96
737
327
256
625
406
292
286
571
356
352
867
123
151
637
95
551
273
611
318
677
963
418
129
234
732
986
86
366
420
739
476
106
335
936
594
540
978
472
578
19
271
353
463
394
873
985
622
113
751
229
87
660
86
248
651
122
47
509
644
225
822
428
105
426
648
560
718
325
301
607
803
824
422
920
201
667
588
141
450
972
335
560
455
353
146
12
395
40
913
297
689
890
95
261
71
942
642
744
177
162
304
622
309
748
320
594
481
737
739
669
51
753
987
689
106
531
798
120
86
962
971
422
616
154
287
487
817
791
616
317
32
669
150
880
714
882
254
96
732
646
736
232
326
667
305
784
468
590
716
248
194
157
627
166
174
883
761
968
225
145
184
64
449
761
276
706
79
910
183
924
617
669
419
575
337
490
546
405
893
462
336
774
657
898
739
95
330
266
20
218
299
716
315
569
708
38
726
999
3
532
527
906
641
894
620
716
336
89
545
445
202
105
619
643
780
175
443
651
749
303
586
325
144
89
705
134
443
434
608
663
67
957
373
81
721
622
578
175
481
316
839
889
758
141
873
512
230
904
616
779
261
487
706
769
632
167
293
774
234
234
533
889
207
209
383
780
2
952
804
863
525
430
634
66
546
878
648
777
381
236
435
367
918
903
401
724
291
618
624
165
144
593
22
767
555
409
908
613
650
532
193
298
916
793
169
352
348
135
797
629
911
19
113
285
327
426
310
866
45
957
932
987
375
600
508
499
175
949
116
693
662
288
215
292
697
669
665
11
66
25
668
763
589
665
436
408
273
113
6
64
593
167
672
433
519
48
223
844
525
457
953
53
158
842
74
852
583
550
451
576
177
108
852
125
735
114
755
938
30
456
608
454
228
373
824
198
279
521
680
157
824
405
776
793
899
662
927
284
354
557
818
348
767
262
681
917
174
815
85
427
477
53
267
579
154
373
203
687
797
50
373
86
321
378
226
475
524
218
531
291
16
231
762
453
296
298
538
441
474
536
785
323
956
344
419
93
198
439
35
934
941
808
777
941
129
87
636
282
859
520
644
297
749
376
771
630
436
37
46
37
313
280
540
618
914
284
476
524
916
91
518
594
855
922
528
243
628
365
786
787
383
965
41
726
447
254
341
449
660
302
752
304
547
585
30
117
420
964
974
362
105
254
17
549
849
966
539
855
937
623
51
682
303
7
972
793
418
503
186
435
531
262
535
801
690
637
704
281
676
420
75
677
944
424
785
565
54
964
360
104
511
885
791
874
653
595
715
871
983
329
360
197
200
243
311
120
540
305
930
242
82
737
100
15
887
213
24
220
368
77
42
192
24
29
231
363
297
377
736
746
902
414
740
739
261
930
429
437
355
937
834
710
328
558
141
86
72
164
383
891
333
473
373
63
43
830
930
608
49
837
692
85
508
420
107
550
782
243
648
405
928
716
239
177
565
963
360
626
337
231
508
162
887
177
93
409
659
84
558
133
293
806
80
611
483
401
511
413
356
51
709
348
921
351
449
118
437
605
693
836
449
306
745
173
810
43
895
957
956
851
614
48
410
983
182
766
263
748
504
367
397
253
978
831
448
45
934
603
365
217
509
565
776
325
580
436
151
772
114
229
757
623
665
267
274
917
644
425
389
105
319
101
325
268
335
470
730
30
624
973
97
196
573
163
928
2
182
349
129
295
276
701
209
320
711
127
567
571
725
897
974
415
128
775
141
578
404
474
24
429
640
512
832
960
18
481
554
549
886
974
799
232
410
505
904
540
986
540
286
641
890
443
729
792
690
231
775
400
20
404
949
825
901
559
515
900
402
319
999
618
662
937
565
82
647
188
708
939
839
205
280
929
648
0
555
826
702
924
742
917
427
86
601
590
534
967
925
867
814
705
37
960
956
216
57
917
343
925
552
584
557
90
944
268
28
103
549
255
901
810
14
119
130
307
480
368
203
226
419
553
93
500
853
455
24
154
126
440
465
221
850
742
671
609
509
228
794
680
305
360
712
973
211
184
360
390
880
49
34
451
21
567
335
785
154
555
644
613
313
588
620
602
89
641
776
424
447
664
261
1
512
273
615
139
181
686
991
713
361
558
1
55
568
988
871
907
384
655
276
492
165
176
948
470
302
831
666
150
555
661
296
665
721
878
33
755
834
883
406
605
681
901
578
364
412
5
467
202
118
420
210
784
188
790
596
96
832
843
364
157
638
429
739
332
903
164
679
897
842
996
266
8
886
830
508
445
187
350
230
757
192
512
414
420
29
935
333
945
862
937
271
437
824
754
210
349
692
643
639
100
756
945
648
790
645
321
234
195
915
188
706
45
744
249
549
574
378
722
763
286
213
823
311
423
315
242
407
880
196
544
600
457
328
358
411
390
487
488
788
652
116
985
588
743
872
936
192
134
16
522
8
780
774
114
386
804
119
609
996
376
884
188
744
590
992
148
473
205
346
213
373
665
447
469
142
565
109
519
311
50
631
445
968
420
675
465
29
449
997
618
221
552
194
401
593
34
241
702
990
604
913
999
482
914
719
969
704
192
913
434
867
968
116
273
42
682
373
927
22
86
155
282
839
330
43
677
469
730
828
800
775
317
577
719
483
794
114
119
750
253
862
62
851
27
572
909
500
763
221
768
807
14
352
571
472
662
862
796
20
824
975
541
325
214
572
878
515
434
193
40
517
719
876
312
44
791
797
407
387
64
826
100
846
973
531
12
701
123
114
420
219
825
24
883
137
550
297
504
961
253
100
517
704
704
952
341
652
670
631
634
790
727
972
323
856
815
509
441
280
615
100
918
9
139
219
434
400
503
739
673
216
893
525
176
227
357
221
730
584
970
168
301
98
335
913
995
576
603
15
744
220
553
255
771
114
181
88
914
464
587
203
252
12
335
181
321
407
690
365
731
485
370
976
979
487
745
568
366
122
242
434
388
808
834
792
598
579
815
177
788
267
489
889
902
753
146
278
570
991
66
835
330
640
659
20
802
810
924
77
726
594
720
419
861
435
162
685
496
248
121
495
921
330
745
112
971
810
344
70
386
476
420
653
742
998
885
912
575
829
644
509
877
504
986
886
766
853
80
939
311
533
497
842
616
459
570
185
408
788
454
851
234
889
725
503
456
461
774
400
238
357
563
817
848
965
710
986
155
32
842
354
925
977
309
804
943
833
493
906
544
538
384
553
364
289
690
959
353
908
461
191
282
537
37
488
137
641
262
719
876
735
849
516
225
435
803
188
183
337
153
656
187
546
451
780
548
693
184
130
435
184
276
298
983
198
921
326
299
609
717
97
849
76
376
697
503
865
142
984
900
280
804
285
421
546
936
550
772
557
451
915
746
804
431
702
884
639
669
184
635
858
694
739
414
435
68
662
538
538
849
64
623
842
627
291
524
482
747
668
456
118
502
768
338
948
101
462
132
888
66
939
577
45
532
28
116
564
534
239
772
250
170
655
715
140
545
588
750
809
920
165
36
287
227
382
818
914
986
262
583
52
119
178
576
57
567
673
555
496
598
980
455
151
739
438
540
675
554
869
16
342
818
216
766
749
463
361
999
863
539
204
937
702
849
736
728
596
560
498
61
845
717
352
806
410
902
554
437
117
558
471
669
496
272
682
210
622
317
888
115
744
990
985
506
365
88
163
787
509
846
222
252
968
302
475
505
813
924
655
408
556
653
524
461
180
349
516
589
339
772
497
27
944
743
876
781
52
223
290
553
199
343
964
501
30
980
491
397
288
484
719
517
896
855
277
556
53
775
873
238
4
813
979
283
314
388
133
471
592
501
714
410
129
978
111
412
354
235
866
206
851
16
622
764
549
555
335
157
747
383
298
570
53
188
153
595
812
299
951
121
709
827
137
207
854
791
362
226
925
719
351
462
777
135
733
62
871
307
541
475
594
674
895
362
641
867
823
972
106
981
82
560
59
549
547
342
532
430
420
526
4
65
538
475
131
679
407
980
300
722
481
860
213
551
495
148
761
664
143
324
380
818
412
184
777
9
141
63
492
846
147
488
492
216
676
751
645
838
265
953
292
155
858
444
462
339
928
606
246
103
577
10
93
224
553
369
567
906
83
241
333
131
573
553
268
269
711
60
406
704
13
721
475
739
934
284
886
605
401
362
608
208
352
256
710
877
155
551
141
723
252
182
555
161
92
245
574
290
587
914
825
17
663
679
381
8
519
332
581
950
706
718
944
348
543
406
333
14
137
402
74
633
984
337
166
348
811
43
599
277
436
268
964
218
519
849
332
896
357
387
481
299
96
539
769
557
726
940
172
817
269
319
416
290
827
409
389
571
929
870
625
708
519
646
906
5
711
503
574
217
342
650
789
37
975
299
913
728
62
954
832
3
686
139
753
500
921
890
836
367
107
91
621
489
988
700
124
484
559
640
464
175
346
43
686
985
924
983
890
185
188
470
357
399
583
119
571
18
944
9
591
972
235
915
302
587
776
680
616
658
414
861
936
91
535
831
911
211
400
952
98
269
515
227
380
144
322
307
502
930
513
204
864
67
484
243
499
998
162
263
904
607
735
818
924
131
939
896
570
468
878
757
129
908
693
101
803
816
566
689
951
541
560
551
437
776
400
151
176
640
79
583
181
96
874
300
193
764
201
23
14
152
147
184
19
380
663
609
141
946
479
610
205
176
786
250
742
324
773
976
795
651
693
239
853
51
571
309
804
386
652
728
408
39
243
715
466
209
643
964
848
804
938
662
791
341
537
556
467
406
785
907
706
516
351
886
656
228
35
811
128
119
527
787
355
379
670
504
484
825
769
824
258
629
322
742
273
952
229
778
329
496
361
676
463
360
381
584
846
891
142
982
134
698
19
720
198
1
711
728
403
4
304
209
775
886
76
766
0
590
637
664
674
938
188
230
59
72
719
655
868
806
461
221
797
638
917
993
427
818
387
366
766
121
656
258
714
141
907
7
939
445
293
351
851
501
777
227
427
306
410
615
360
130
84
513
560
835
582
455
692
523
582
134
514
224
556
650
249
616
827
62
54
977
741
247
704
165
668
22
667
159
732
266
529
509
648
335
931
225
404
575
349
47
806
369
390
780
141
607
304
794
1
919
689
155
194
924
684
89
423
29
945
393
153
912
834
85
223
830
802
288
801
870
461
829
359
294
302
97
797
293
991
683
288
982
865
618
498
279
386
476
373
473
885
654
649
806
409
624
800
168
276
972
809
946
941
453
584
211
64
68
468
327
357
650
292
433
834
579
803
165
707
375
346
261
92
542
252
500
341
980
723
240
436
454
372
760
270
94
943
311
222
693
340
500
85
753
929
397
528
110
157
841
38
611
233
371
182
441
265
659
474
492
497
959
299
673
935
349
285
599
789
479
217
64
935
994
48
40
948
172
88
138
129
108
708
897
938
738
259
162
2
23
541
539
965
337
327
888
116
767
865
739
413
9
60
504
194
283
741
621
552
129
508
346
162
98
372
198
59
853
288
582
327
288
521
997
821
192
737
17
36
63
39
670
220
192
285
204
818
268
272
211
828
891
1
896
58
112
761
16
598
634
372
803
220
62
904
981
120
31
951
367
302
388
594
660
723
621
521
769
638
931
527
723
903
640
628
430
426
324
731
728
976
459
351
960
561
359
414
272
292
646
560
756
763
667
353
844
345
763
341
979
158
746
404
546
68
688
394
394
190
802
85
386
94
975
116
556
697
225
102
737
25
846
377
161
686
3
157
908
522
958
749
731
421
613
704
870
848
326
317
868
594
897
199
458
250
659
129
135
870
522
721
944
126
766
285
888
59
959
428
937
299
495
51
447
657
53
861
728
937
48
288
656
629
508
302
67
735
371
323
654
302
231
852
172
538
661
597
985
717
215
556
907
397
639
821
616
110
983
751
115
91
725
588
437
382
608
613
721
863
727
978
123
883
72
961
682
427
59
353
951
74
405
502
581
959
850
181
254
536
959
501
393
68
900
850
313
521
375
843
28
288
174
413
109
840
180
842
484
905
949
38
790
610
249
183
73
68
793
226
472
849
222
629
309
116
485
574
623
222
978
654
89
7
85
137
230
316
158
206
350
30
800
434
141
992
242
25
340
282
755
823
263
815
824
496
603
684
853
475
725
8
837
423
855
904
658
864
525
223
928
275
921
113
872
730
716
44
860
489
389
182
393
360
671
882
763
117
628
182
278
570
408
808
148
749
686
511
411
599
243
426
666
700
267
195
860
135
537
225
167
375
351
855
878
744
759
885
532
781
843
325
482
462
388
18
919
228
718
304
792
524
877
5
104
327
165
956
139
273
637
491
552
126
490
247
909
331
119
353
768
863
356
784
752
110
735
501
434
507
802
487
540
986
131
662
802
691
340
643
493
138
494
388
363
932
56
838
664
746
692
363
73
644
621
419
990
711
121
40
955
539
904
518
111
535
823
888
599
625
136
738
117
917
645
185
260
141
726
374
35
297
610
22
109
241
597
162
797
511
190
379
276
332
944
39
395
95
110
363
569
115
371
335
281
567
42
520
306
140
72
639
164
92
403
927
584
799
905
513
566
302
755
233
140
144
466
603
590
824
683
15
807
303
282
917
953
587
431
477
941
375
969
78
123
911
830
15
452
157
788
597
962
963
385
921
435
889
622
861
182
292
646
381
573
951
380
85
293
534
645
115
406
869
350
988
884
27
115
37
660
333
388
646
53
672
880
539
384
208
484
937
299
876
110
305
167
856
744
147
175
372
417
596
153
252
800
541
511
458
173
104
78
802
968
399
824
807
433
484
318
750
882
249
738
898
437
821
93
291
487
621
310
799
374
9
805
42
436
499
388
811
264
406
112
814
149
623
254
959
271
907
994
222
213
384
967
445
462
581
167
950
168
653
692
205
205
16
998
176
915
196
18
909
451
921
503
60
992
887
968
931
691
265
480
814
390
911
98
953
94
634
39
444
799
49
290
393
840
730
444
510
953
801
994
126
846
124
759
453
403
518
772
456
520
410
166
742
250
898
789
863
273
162
997
793
681
40
575
303
529
184
270
878
757
931
963
946
907
101
135
210
470
303
229
909
29
924
80
586
942
34
751
852
197
751
126
86
468
986
452
777
767
426
716
494
978
516
159
873
329
231
804
232
769
535
967
374
534
740
51
318
403
554
304
777
517
191
872
840
105
396
389
901
818
247
986
889
330
969
713
163
240
638
799
36
233
811
535
675
91
562
800
939
746
350
407
394
767
806
246
463
331
214
487
384
177
172
310
806
848
644
373
220
301
994
909
937
101
773
205
808
63
416
608
456
744
712
278
640
979
640
437
251
704
415
798
89
165
573
529
116
202
30
949
871
872
837
688
864
601
196
279
718
565
280
319
695
261
274
816
437
154
278
531
305
330
721
230
297
541
36
378
944
264
226
962
729
986
616
864
62
956
558
567
138
962
663
341
275
731
605
939
962
817
444
839
242
421
892
697
429
42
896
326
291
982
204
268
384
831
819
442
892
228
312
566
404
381
853
476
499
953
258
913
6
543
599
618
844
355
597
138
815
488
594
529
391
33
533
283
226
567
504
851
444
830
537
823
439
499
839
99
355
864
466
837
631
636
202
746
89
635
533
666
415
17
984
436
87
34
67
152
62
403
51
596
974
832
64
188
443
923
647
171
903
244
815
838
117
321
894
138
993
33
777
475
57
646
652
25
744
69
828
584
34
734
588
620
968
69
16
213
466
246
919
527
942
585
742
52
167
677
758
385
655
223
797
265
978
483
961
998
716
899
541
852
224
24
932
826
492
322
685
697
965
172
146
535
539
777
514
451
509
985
144
634
637
747
412
484
548
247
672
977
562
498
136
577
89
883
348
109
422
919
923
852
391
964
224
272
91
141
639
678
226
865
58
672
403
193
256
927
339
649
282
747
849
875
775
74
948
577
152
251
172
527
792
577
888
576
951
687
223
324
975
237
13
884
284
244
902
113
350
176
430
358
43
772
169
743
386
553
158
674
520
177
920
501
88
504
480
654
518
56
52
235
510
987
826
633
491
171
541
327
380
360
890
54
75
617
889
502
946
632
854
790
201
988
568
281
303
983
382
241
394
495
493
757
301
303
151
101
14
484
949
512
588
629
473
839
428
707
407
215
4
774
633
308
123
395
579
174
918
34
606
693
614
601
374
808
632
910
790
441
443
962
71
318
422
632
664
520
374
651
715
8
444
628
988
778
95
199
761
501
741
804
598
400
314
84
948
605
473
270
907
326
360
931
446
126
371
994
619
863
530
811
177
470
739
429
719
1
897
687
973
386
532
847
580
686
257
691
805
207
361
430
260
76
573
750
929
775
110
790
861
176
183
665
741
185
312
487
279
408
451
330
280
279
438
652
81
370
892
832
947
48
834
313
609
62
843
953
903
267
596
527
598
118
51
801
972
788
74
139
828
60
544
529
252
68
235
820
804
37
74
894
412
651
903
832
656
688
829
782
548
589
732
121
705
931
614
881
453
45
48
316
826
699
37
790
359
102
619
740
221
378
853
550
347
525
208
706
170
871
206
95
279
140
904
766
20
900
693
735
42
399
863
288
912
32
195
295
278
828
58
326
767
633
663
267
599
358
639
371
764
47
573
697
50
267
830
636
270
46
393
344
685
83
502
353
124
770
44
487
879
532
729
631
323
574
249
289
992
389
244
758
834
969
97
59
114
521
868
739
713
702
624
571
749
517
565
375
187
305
245
276
925
278
969
922
559
525
585
669
114
813
277
759
902
105
160
93
241
824
140
936
669
529
479
202
917
706
900
340
872
462
804
574
90
701
504
109
447
132
664
505
673
909
599
647
63
188
337
385
640
167
691
636
678
123
460
432
639
741
417
975
743
447
568
565
887
141
262
270
352
400
549
359
18
713
377
959
45
247
694
410
775
619
610
569
120
347
427
73
818
792
634
948
0
618
867
933
376
868
403
948
772
594
853
125
312
805
100
881
786
493
171
11
983
229
322
555
90
573
579
56
169
221
746
480
985
844
397
545
180
847
778
480
841
408
927
395
434
823
500
83
118
780
569
80
720
206
507
734
205
784
213
151
749
461
6
465
220
219
930
565
608
132
856
984
347
29
91
781
815
614
312
31
173
718
577
348
852
478
539
663
634
926
302
782
949
804
513
908
709
99
745
440
965
267
388
812
208
410
928
940
903
383
458
934
622
374
67
751
674
610
857
544
237
258
415
392
876
39
354
368
476
867
373
749
828
880
544
400
559
793
426
403
478
952
772
806
743
859
570
979
788
472
322
576
740
516
575
574
883
867
89
107
352
477
852
187
569
24
239
727
93
519
893
639
193
695
154
528
680
850
104
695
270
806
68
135
715
951
67
993
215
332
840
77
460
796
604
553
615
388
89
384
583
648
986
774
564
171
384
501
686
823
37
497
689
378
798
86
184
419
240
200
180
3
643
911
331
936
865
837
964
962
478
703
83
853
215
487
662
654
148
52
319
74
374
791
78
330
409
211
264
278
995
413
645
427
263
611
448
505
456
247
922
563
778
291
507
145
177
753
256
202
821
812
759
47
54
486
299
981
551
831
478
223
15
309
713
341
221
281
986
387
32
279
237
481
807
719
835
910
266
815
829
393
348
971
749
998
334
531
399
732
195
507
276
31
415
962
76
380
565
774
226
643
36
919
987
210
148
929
265
665
939
892
785
646
601
35
230
240
247
479
849
331
601
640
298
279
370
18
886
996
187
213
1
388
569
450
695
765
196
808
883
521
985
873
91
933
822
668
399
323
150
533
260
44
498
927
423
972
272
397
89
660
563
636
344
229
443
223
539
734
807
5
458
824
63
225
693
527
866
824
642
982
57
878
804
191
365
801
418
413
575
54
471
55
36
406
388
489
681
203
332
257
157
117
604
120
658
115
360
589
72
181
609
673
951
254
410
129
969
167
611
438
141
301
613
782
85
642
712
284
398
848
305
495
517
272
352
624
15
914
934
894
908
55
537
392
409
657
501
584
649
753
509
709
639
83
410
635
944
193
392
785
785
40
737
471
856
864
728
361
930
701
315
24
191
601
503
109
641
352
721
518
76
881
889
817
630
529
795
254
505
683
607
704
979
486
455
248
880
730
759
666
243
853
513
664
896
391
292
409
314
979
203
362
208
399
612
824
30
79
548
919
387
951
871
476
762
699
772
449
979
7
898
287
834
733
49
617
951
973
443
994
682
272
870
192
105
595
906
73
420
836
534
43
474
758
653
130
752
133
883
341
805
528
829
218
70
272
575
496
249
988
814
440
490
296
851
656
136
282
917
735
486
608
807
767
125
187
44
304
881
119
395
674
914
206
885
486
288
672
787
976
403
340
834
881
617
623
899
335
558
700
360
86
921
867
226
255
175
28
82
272
118
25
778
554
35
918
495
685
727
241
197
404
616
357
444
359
329
385
564
174
701
513
103
302
939
543
699
136
977
958
909
588
359
686
323
843
149
742
432
83
161
761
174
866
934
253
577
538
798
670
730
560
985
726
231
842
190
490
57
881
127
539
807
675
274
277
928
37
341
149
104
237
934
556
396
508
960
225
232
774
337
786
523
689
854
723
204
69
442
45
457
321
830
109
837
642
902
377
92
700
922
184
393
93
845
62
13
848
433
974
165
110
68
148
293
825
440
158
70
815
537
371
863
704
828
766
501
724
645
66
706
198
432
826
979
49
565
6
554
697
184
338
654
681
236
133
687
586
394
646
638
985
822
718
384
915
516
568
237
879
583
842
116
536
177
506
409
490
358
303
997
246
666
124
189
701
853
49
806
134
503
129
965
515
129
491
818
639
362
735
274
14
466
420
646
10
560
317
768
282
811
659
28
278
958
777
724
78
929
48
172
80
943
945
209
415
796
639
690
447
353
517
150
713
414
323
567
371
295
651
104
739
680
86
370
584
481
985
38
31
96
420
839
36
859
985
825
143
4
0
921
892
533
852
383
738
501
951
782
649
811
393
467
519
297
228
498
10
403
176
524
458
826
229
29
205
558
481
161
975
105
790
938
917
695
349
68
40
917
395
93
787
716
600
241
513
943
152
405
67
12
941
90
649
585
865
89
142
279
153
651
226
852
10
501
929
86
469
433
593
840
311
800
191
683
586
905
335
549
706
354
960
809
805
939
430
260
820
350
830
909
808
395
460
342
164
638
462
816
93
678
684
357
420
818
281
732
291
679
171
223
987
503
149
234
998
150
690
608
181
301
558
387
598
764
288
251
155
174
425
171
564
155
910
759
519
631
464
111
960
161
493
426
125
517
452
491
871
87
726
374
443
727
862
345
841
399
78
833
25
47
17
365
635
592
301
583
534
167
731
270
202
5
745
80
138
787
901
734
935
937
215
641
60
431
873
851
626
681
207
244
494
770
738
809
870
186
494
567
999
899
111
647
465
153
999
300
401
745
477
414
169
971
73
337
680
287
16
196
719
852
510
207
193
719
356
89
388
70
90
659
299
248
487
597
828
669
980
707
802
400
959
985
306
237
931
308
808
939
625
361
829
991
197
252
432
712
681
410
120
925
242
981
619
138
731
346
995
797
977
183
50
555
567
876
357
53
811
4
958
361
845
375
962
322
582
100
351
363
331
3
751
360
423
282
131
306
833
218
610
74
621
222
21
304
118
514
592
896
852
650
901
164
430
494
708
566
515
678
476
655
648
840
651
832
44
81
402
845
441
848
315
465
292
1
12
510
172
878
186
331
132
271
405
483
508
430
962
700
79
834
632
557
289
885
391
298
320
464
530
830
210
401
948
389
762
195
411
881
739
469
917
271
892
294
350
955
898
485
229
428
81
211
691
626
632
828
290
95
583
290
699
49
581
226
193
45
842
320
824
475
164
270
213
613
845
270
840
614
225
254
376
287
701
647
177
986
899
911
603
411
39
981
428
935
967
588
940
999
212
789
736
813
54
633
242
149
226
548
631
447
614
796
520
903
393
286
16
539
18
413
393
943
558
529
771
186
405
338
891
183
784
199
817
89
729
366
801
564
950
483
564
66
425
215
404
501
252
171
591
232
839
987
344
783
156
823
2
978
644
506
338
579
774
374
902
21
387
311
47
213
630
210
58
632
410
55
373
594
664
224
750
934
946
435
791
388
487
378
189
762
442
831
4
825
243
738
950
852
772
355
977
713
865
962
558
382
753
439
5
584
450
862
608
208
353
173
535
93
456
351
385
197
910
842
250
722
26
376
333
705
158
135
950
241
593
968
308
337
787
946
32
474
590
818
896
395
449
590
337
453
732
409
347
443
1
842
494
568
950
661
537
692
4
500
208
631
666
677
691
380
723
89
773
882
138
995
900
115
166
840
10
299
150
449
165
374
261
439
612
748
517
546
369
735
237
517
2
277
581
292
227
166
486
298
519
966
603
248
145
310
157
953
69
514
608
425
855
640
569
677
506
521
967
585
884
636
987
397
858
852
520
51
186
268
990
470
479
189
28
418
80
581
406
966
269
241
263
94
540
492
708
236
866
244
401
892
186
884
744
11
227
129
491
20
352
945
86
638
676
751
369
116
72
468
652
144
532
676
64
426
829
309
503
342
573
911
424
951
780
726
140
774
53
388
272
640
223
121
816
873
233
442
649
473
335
73
84
916
67
566
23
490
262
234
352
389
86
986
86
182
854
911
986
482
332
387
337
553
927
573
284
465
544
451
257
502
589
653
833
53
821
71
463
584
854
809
657
762
430
22
971
954
626
602
926
419
101
919
402
375
297
449
551
373
283
309
383
245
793
593
18
661
434
957
302
729
486
66
913
597
638
701
570
391
521
52
603
694
442
25
593
728
613
142
245
469
693
617
736
912
816
408
551
94
742
54
358
431
433
671
912
132
499
349
85
937
213
639
257
566
14
243
51
18
340
30
209
865
662
125
151
12
801
123
696
314
523
433
530
935
845
544
282
724
393
303
398
988
347
470
538
403
683
971
124
631
789
238
405
936
610
155
473
407
592
226
285
470
857
107
609
121
526
343
945
980
617
178
102
582
923
55
5
111
449
790
802
238
903
240
249
932
997
908
814
12
43
413
214
476
939
122
416
288
257
139
894
277
467
865
125
648
338
710
564
63
648
749
330
819
907
333
965
779
482
580
971
235
873
134
662
462
992
719
899
20
887
793
327
24
330
908
128
229
229
906
401
350
552
844
428
740
847
230
510
713
179
465
747
428
824
977
209
239
515
387
239
293
422
610
839
852
477
949
256
929
73
926
22
11
973
717
547
305
248
338
398
467
110
737
24
109
759
100
922
719
712
991
883
97
368
402
810
605
328
265
19
870
630
175
595
951
120
205
758
403
592
487
73
945
419
630
394
721
248
79
986
868
648
647
929
989
848
191
521
729
882
464
148
305
581
17
477
322
496
340
65
740
513
246
391
240
453
696
843
663
798
495
213
477
608
42
719
201
61
664
329
977
7
530
719
775
914
550
644
341
628
19
67
804
80
246
158
49
506
521
283
538
275
854
407
336
88
241
83
264
340
340
14
438
458
407
502
74
332
431
323
658
419
142
401
746
272
408
901
285
16
879
360
971
165
246
729
296
501
424
220
39
552
403
8
803
911
356
643
675
527
845
456
697
456
271
230
207
118
997
397
816
576
187
343
599
596
919
248
59
984
827
566
493
130
6
887
630
983
639
81
733
939
970
468
777
198
685
106
618
841
736
366
935
275
355
219
650
45
773
143
846
324
97
517
944
926
440
343
319
59
46
153
194
483
536
803
184
278
958
864
712
312
364
6
606
94
92
763
110
866
226
680
178
769
902
822
664
143
604
202
752
355
48
260
541
761
391
194
484
734
945
296
809
23
149
405
292
908
169
529
757
48
732
556
728
542
612
304
153
177
250
969
589
993
991
985
130
983
455
328
112
515
49
288
875
362
218
11
301
905
252
721
626
151
665
656
432
606
879
406
210
630
824
95
399
196
808
382
702
707
68
739
732
722
910
7
921
803
217
225
587
363
848
936
419
178
287
633
861
581
505
484
666
261
161
332
518
733
965
567
355
318
164
31
805
297
754
414
244
841
220
166
710
259
883
252
991
517
820
707
922
908
793
531
176
112
930
637
831
470
797
793
941
970
100
244
689
897
51
486
580
679
157
892
340
679
623
861
294
48
495
719
975
258
806
149
436
252
218
76
886
121
280
604
26
551
188
824
761
298
503
5
35
691
802
453
890
537
451
313
205
816
429
547
236
730
397
737
45
377
324
751
950
577
959
905
652
797
495
410
581
860
353
266
935
34
565
459
707
594
662
564
823
388
750
96
560
253
284
821
697
818
140
528
649
45
103
22
616
386
796
991
771
362
474
957
205
102
470
834
817
940
985
843
254
832
63
389
467
638
211
420
935
57
453
929
569
353
843
859
25
205
416
912
726
738
388
808
636
30
617
550
959
331
595
519
865
935
467
263
731
755
321
561
934
732
994
242
906
854
6
206
238
603
725
125
563
863
67
619
836
599
742
95
616
429
153
323
749
321
904
756
515
658
936
826
156
220
896
944
18
444
196
687
660
695
154
573
613
708
76
729
10
582
516
360
897
338
732
46
160
774
862
69
192
170
891
891
805
251
624
689
187
911
471
930
92
811
447
668
357
561
288
947
360
310
820
153
226
342
384
987
568
215
584
579
287
710
719
395
877
255
504
985
125
968
486
771
396
409
983
943
423
923
173
729
31
287
880
202
861
365
228
128
65
591
182
712
527
760
645
277
713
740
636
613
631
12
600
413
569
989
563
359
425
500
38
261
258
740
494
639
863
670
756
492
8
587
71
580
723
741
812
306
255
679
377
99
204
715
348
357
367
901
412
396
39
821
994
391
653
639
413
127
385
922
448
809
113
310
14
682
476
897
903
928
700
338
418
851
987
916
481
62
114
209
78
70
482
449
792
407
474
157
438
294
945
452
586
870
409
255
485
657
855
320
206
233
849
20
351
743
434
919
259
312
255
182
690
997
945
417
372
363
880
340
955
372
523
561
363
8
728
932
570
130
38
716
749
702
379
654
521
946
525
286
129
817
650
518
493
723
731
956
808
972
62
18
649
589
660
690
192
945
818
627
753
369
779
636
886
243
272
938
636
261
805
645
36
375
602
803
363
930
120
796
190
536
794
240
51
753
424
765
606
568
149
237
63
651
720
462
655
612
386
913
569
745
366
481
600
893
812
902
203
5
173
494
379
512
197
20
596
850
371
522
4
441
911
301
620
389
388
722
62
789
954
113
354
63
71
494
642
750
371
28
477
113
947
312
227
475
886
755
980
618
515
441
344
891
233
375
994
819
421
175
437
433
869
923
259
541
437
299
190
410
986
608
325
669
170
733
737
476
581
866
638
923
591
75
339
343
839
817
202
249
504
286
476
980
696
280
783
630
115
311
690
638
81
872
811
390
977
596
880
659
98
842
438
341
957
339
203
197
117
388
929
392
898
823
624
450
326
666
448
198
325
819
275
603
502
602
921
327
953
803
641
356
306
372
122
968
241
535
238
525
783
227
128
829
789
451
524
19
571
521
289
158
362
577
95
142
420
492
481
579
549
9
905
939
854
900
496
370
994
77
927
736
873
795
955
748
125
404
582
644
149
708
243
977
197
591
822
388
92
283
297
200
572
798
352
704
28
489
948
911
153
200
428
335
454
396
832
254
398
111
67
978
174
310
4
173
966
211
776
68
340
281
785
140
388
126
963
20
265
367
454
478
942
155
886
804
771
458
946
980
672
580
538
592
588
291
686
587
690
62
89
92
893
510
625
729
220
334
512
850
938
338
180
726
598
846
821
738
959
55
104
135
406
660
526
166
726
414
636
80
549
609
107
309
178
493
306
76
898
742
566
591
938
275
424
711
817
395
226
812
144
413
104
14
405
22
986
217
47
423
830
393
56
819
566
71
649
797
588
195
431
127
631
846
586
790
553
935
818
797
155
102
972
780
610
865
862
488
313
223
901
300
376
784
372
932
77
678
459
870
411
810
875
511
695
659
691
316
594
754
395
5
129
919
108
455
675
960
422
866
410
329
306
760
788
157
826
779
960
26
69
691
243
29
104
5
259
422
773
841
62
361
369
410
14
944
606
109
33
990
820
665
866
885
12
830
471
410
339
286
484
162
149
789
579
821
989
561
703
752
425
220
337
556
895
536
90
160
295
595
83
293
316
584
623
881
577
235
479
719
308
626
403
72
788
929
870
490
213
915
436
270
129
327
668
636
305
682
431
836
389
879
612
443
409
742
228
771
93
614
274
8
143
250
620
685
4
88
908
540
645
955
175
950
795
819
590
641
336
832
572
586
419
199
815
26
539
921
138
944
153
784
538
190
424
201
591
822
128
349
238
890
812
35
524
29
358
275
373
800
17
456
263
79
822
355
829
878
418
312
769
283
224
764
803
207
113
252
470
17
714
22
769
724
680
614
140
752
603
222
773
443
694
925
382
629
368
145
425
769
58
764
906
55
422
424
150
282
308
436
593
472
241
689
625
536
983
372
27
705
834
48
581
33
534
678
465
971
407
733
587
699
568
87
910
263
38
226
207
988
199
857
323
912
805
651
193
322
694
17
354
918
703
186
176
411
167
294
816
219
166
580
714
507
722
637
91
939
505
69
435
963
854
986
495
323
471
516
175
222
620
565
921
168
281
981
675
312
271
281
382
524
823
131
143
164
776
336
903
871
158
943
540
41
647
46
658
131
455
438
813
951
714
516
530
263
77
902
956
603
975
712
644
171
380
833
607
260
913
159
563
480
258
476
14
653
778
361
76
466
514
333
549
795
5
747
627
805
995
3
66
951
161
755
367
576
131
581
862
703
687
975
470
237
131
843
150
562
334
223
38
896
920
135
174
323
21
926
734
192
520
332
76
896
616
107
945
74
618
192
623
87
300
768
907
589
410
307
14
840
328
836
237
120
699
248
451
448
410
532
140
459
4
156
717
456
453
815
256
940
947
657
809
941
253
490
417
269
451
621
567
274
0
171
990
902
155
293
639
174
884
278
84
255
994
422
818
466
622
855
586
684
967
629
806
614
514
787
903
704
847
531
337
409
257
972
929
753
204
347
566
712
977
467
95
196
233
50
504
929
448
645
775
228
81
288
411
527
672
206
401
991
961
30
695
787
816
587
321
866
951
840
6
669
558
716
130
72
708
64
900
387
472
259
703
638
300
123
230
784
883
38
855
622
869
591
589
2
571
242
647
359
469
609
952
587
911
280
505
354
355
327
795
700
220
804
643
285
890
563
838
701
409
558
228
564
573
98
848
34
398
972
130
466
134
300
468
687
200
920
536
87
738
193
181
697
464
813
730
533
206
721
655
531
232
673
858
7
345
285
471
286
625
276
652
247
574
95
646
172
259
804
240
281
122
821
365
214
856
649
583
397
560
431
720
346
532
419
485
515
804
381
698
985
597
2
952
484
464
772
879
532
848
7
906
238
887
198
596
469
796
34
538
760
467
66
286
557
622
936
170
497
108
464
575
703
900
669
618
547
609
654
703
479
224
268
393
139
593
869
42
580
34
666
236
146
160
215
864
97
845
313
116
45
903
696
246
108
103
550
403
86
684
299
68
364
384
544
832
85
982
880
408
66
364
346
132
216
794
838
363
320
866
401
349
79
452
326
379
65
613
378
686
734
124
739
916
997
667
933
922
75
484
996
960
254
758
140
340
60
756
588
792
281
625
463
316
547
564
216
799
738
814
568
282
814
157
210
564
781
859
820
615
540
17
242
971
298
154
147
836
46
931
73
681
152
643
897
371
62
13
624
254
847
527
147
738
268
440
95
221
493
413
938
490
890
41
43
631
791
23
458
693
97
373
321
410
294
94
911
621
962
11
504
75
245
9
312
774
819
17
246
491
761
540
137
701
640
960
220
469
20
2
639
607
291
778
672
800
112
665
721
227
494
825
810
366
700
148
460
217
777
787
448
246
992
940
69
386
395
590
969
953
499
371
240
905
103
61
691
189
432
723
547
306
429
167
698
167
593
379
380
827
204
28
785
672
657
497
731
246
696
385
256
143
641
245
220
617
205
920
963
527
222
643
22
294
586
256
64
683
509
86
835
430
370
37
874
979
436
673
31
297
741
837
378
377
280
153
236
186
41
129
454
538
138
433
130
631
752
523
179
529
825
322
225
868
47
223
704
971
695
827
710
702
611
196
882
392
605
538
995
566
507
203
72
146
160
771
561
511
175
165
564
799
115
662
511
246
124
7
647
684
149
481
364
17
332
311
387
451
969
832
548
665
544
584
773
278
834
756
725
559
301
343
315
696
276
672
652
319
723
60
873
869
471
614
522
267
348
252
562
243
834
252
944
533
249
272
630
81
33
841
608
584
543
849
785
727
431
754
585
641
53
340
948
120
75
290
597
979
373
474
926
413
779
644
571
936
197
977
698
721
725
870
337
577
948
437
534
30
844
611
504
780
672
859
312
837
196
0
894
401
351
746
672
859
57
598
974
756
857
894
846
840
506
159
529
934
447
5
563
899
630
233
177
153
471
785
710
22
623
758
29
174
875
330
273
96
184
511
272
777
459
855
195
448
997
448
732
311
999
177
700
990
86
646
33
194
344
31
932
97
903
16
337
193
202
885
158
591
127
892
911
84
275
359
107
616
195
79
869
818
439
923
809
335
835
598
98
514
411
524
795
71
177
714
338
240
95
110
459
927
795
120
662
584
118
636
751
296
86
321
231
904
470
508
672
374
517
996
929
882
595
573
401
732
840
826
946
996
867
526
864
68
215
574
878
266
540
953
948
982
613
901
848
843
12
139
455
418
506
615
569
734
830
832
492
656
690
890
55
335
487
859
422
405
844
961
113
595
522
770
89
935
284
151
991
422
194
181
122
73
326
945
2
789
571
982
998
793
634
976
413
107
930
38
9
69
177
489
641
741
480
67
538
736
26
86
798
200
159
776
137
422
158
651
433
182
914
978
404
276
775
649
872
653
397
518
21
863
447
755
38
941
433
140
145
553
239
744
798
320
749
862
814
582
520
803
314
3
975
872
189
740
663
242
585
786
380
113
674
984
175
533
998
776
813
880
80
75
589
554
733
311
556
226
18
877
540
514
359
950
358
552
540
697
678
221
894
485
81
370
886
99
389
441
254
544
537
57
230
993
410
764
426
972
23
574
462
33
152
866
258
609
517
775
435
724
814
95
738
864
887
50
508
71
678
937
481
18
291
93
829
592
793
300
700
163
710
472
802
541
606
982
64
253
534
511
321
889
650
196
890
155
812
708
309
303
688
53
433
621
447
396
865
971
220
336
141
673
539
493
57
397
786
540
279
480
223
88
55
492
359
983
159
368
464
884
257
222
305
507
830
625
449
449
339
376
362
490
254
542
230
701
885
963
92
998
608
805
230
255
91
166
990
370
451
367
605
63
32
603
359
950
785
798
896
885
308
64
261
387
573
496
978
524
629
714
471
177
541
763
115
446
523
947
735
564
295
997
503
265
972
284
685
792
205
221
737
13
32
889
800
255
971
442
160
375
336
849
599
662
137
539
829
405
576
215
131
185
291
428
237
655
785
607
14
219
606
388
293
204
737
277
691
988
844
853
145
67
386
779
0
468
102
261
692
753
399
52
469
188
20
290
66
6
854
966
924
805
506
122
225
420
451
779
595
325
514
185
73
516
928
673
606
174
223
755
372
47
18
202
851
323
180
511
63
473
331
517
96
761
168
219
70
138
992
19
953
819
671
329
147
631
738
768
57
346
966
863
558
966
449
509
10
852
329
97
458
62
425
992
137
233
53
237
181
445
760
858
231
734
291
31
617
901
860
585
49
331
285
749
538
174
464
123
384
810
75
965
374
787
886
925
402
75
477
574
343
276
822
466
222
322
534
406
240
516
377
798
131
750
69
964
361
674
393
145
694
984
473
400
901
2
13
162
338
81
333
930
153
205
56
293
800
871
972
967
988
251
870
844
26
586
255
679
766
927
740
981
778
463
13
544
895
241
777
978
113
521
266
984
691
167
654
32
776
388
787
609
885
239
325
69
672
704
993
159
260
885
272
138
180
38
226
337
901
636
464
447
349
806
611
389
276
738
559
485
514
385
758
50
414
435
488
519
407
540
956
697
627
447
440
971
352
536
984
226
801
855
663
740
220
7
77
353
182
589
891
319
598
987
45
241
775
76
767
983
819
665
282
44
888
635
700
825
231
838
806
719
233
230
96
215
880
696
385
651
137
335
578
871
573
619
504
593
539
664
382
641
975
318
922
25
461
737
336
202
180
305
719
518
305
660
976
931
220
155
28
793
829
669
529
80
975
946
922
453
421
436
868
505
600
251
845
531
370
119
656
767
745
440
846
728
712
767
151
662
403
1
243
664
918
126
228
262
941
295
736
258
726
743
998
964
948
400
567
768
369
742
633
877
650
961
558
189
598
379
732
951
272
947
562
967
426
327
324
953
784
335
586
443
170
334
812
999
361
231
126
277
362
822
765
118
112
271
185
632
846
95
644
524
22
341
17
130
870
148
940
739
279
782
659
623
852
273
949
62
629
458
809
207
185
356
657
474
760
88
138
528
662
408
422
486
670
105
873
51
627
939
343
304
866
393
244
709
930
302
863
300
940
896
657
650
31
451
682
42
404
963
875
956
840
139
61
441
662
610
558
230
370
3
779
952
190
943
360
648
596
238
20
470
231
268
758
921
582
373
630
796
98
232
618
50
483
392
679
882
417
21
216
9
942
11
143
517
474
368
177
461
261
330
529
1
822
494
192
928
528
767
726
580
522
593
251
329
85
270
984
227
760
395
421
247
264
23
700
994
14
604
533
457
540
229
103
49
53
2
883
598
77
363
724
184
984
106
935
996
690
847
529
104
674
668
626
378
72
847
128
70
534
369
116
98
777
135
422
468
998
749
213
578
330
809
445
354
134
181
293
583
955
425
168
65
952
838
572
826
879
538
620
247
45
505
672
447
246
811
742
479
971
403
138
531
994
298
9
266
915
400
15
938
526
215
92
502
502
299
291
885
781
423
281
986
889
370
777
526
685
513
298
792
629
979
584
312
9
336
568
285
373
500
681
225
943
345
469
524
589
846
727
560
603
530
519
464
764
114
420
334
270
20
439
415
654
726
319
252
561
250
505
452
549
344
170
312
728
925
81
179
684
524
322
72
128
934
607
518
272
302
535
786
238
500
177
343
510
719
867
422
755
31
78
843
181
812
935
615
373
992
973
750
99
387
129
901
39
204
874
330
20
373
246
866
381
445
356
182
4
924
557
503
518
199
106
338
840
268
443
602
650
122
423
548
723
647
765
664
435
29
929
638
253
893
619
881
936
25
169
126
691
652
853
379
660
120
938
755
196
583
917
489
931
303
647
134
55
946
794
191
889
1
121
458
927
122
825
41
895
850
141
857
700
55
665
245
611
605
36
841
958
977
62
897
605
547
840
869
586
946
692
673
396
153
409
641
842
642
146
625
383
263
374
474
838
92
786
132
25
952
87
954
859
78
513
274
168
567
30
390
391
904
840
697
513
821
666
256
753
963
861
323
579
202
127
277
589
973
441
540
71
673
590
384
827
282
362
802
882
319
366
379
957
804
520
233
205
475
193
258
157
10
344
397
42
634
812
139
304
231
714
736
899
382
311
187
588
862
687
198
692
519
594
604
149
740
355
611
866
674
703
742
997
102
300
438
158
941
522
812
38
973
855
738
403
353
759
522
389
752
990
603
304
704
686
529
777
757
850
294
186
969
102
576
857
297
53
214
372
236
743
804
900
148
321
480
144
844
982
146
871
325
213
807
141
338
168
366
737
354
106
383
624
976
832
5
553
360
16
933
211
135
518
498
276
664
919
339
827
93
638
433
970
815
338
591
179
712
323
971
13
640
357
749
207
558
733
411
683
925
142
195
964
927
832
871
913
727
317
833
183
828
865
376
55
959
809
386
83
281
637
417
269
209
769
446
944
787
632
134
423
220
874
124
397
439
909
311
852
62
713
234
627
446
122
665
311
697
17
371
157
51
407
415
673
579
430
539
204
158
758
228
718
442
422
566
121
246
147
519
840
218
509
637
248
353
407
788
697
688
943
599
974
466
858
689
166
638
258
450
953
203
920
301
986
985
734
570
327
369
912
857
709
87
452
364
804
5
149
190
15
309
383
786
427
922
960
120
315
567
592
887
995
610
665
770
537
729
229
185
436
782
739
12
959
280
352
59
508
422
903
351
705
541
820
468
560
582
199
833
259
399
491
605
400
779
380
457
276
384
20
122
127
140
710
462
135
441
62
435
236
970
814
966
47
907
400
814
742
724
898
495
206
425
771
187
924
863
838
492
667
190
683
185
437
232
636
45
665
18
35
383
751
736
383
19
567
82
784
955
543
291
316
194
391
682
538
940
492
841
75
178
980
59
820
867
470
477
911
409
217
118
553
220
578
240
121
183
930
753
57
265
529
977
875
555
575
354
601
598
308
604
381
36
959
517
425
775
953
504
337
26
475
983
86
472
285
439
355
523
225
256
573
918
833
514
468
198
162
182
545
494
215
239
805
972
714
135
578
885
289
188
814
254
21
925
878
763
855
221
83
596
774
970
545
198
379
774
799
367
382
201
562
958
669
909
539
575
510
312
850
300
694
64
772
699
496
336
668
225
541
78
938
330
720
217
767
700
757
921
83
331
886
106
345
119
611
270
21
28
697
760
51
898
946
658
289
547
31
269
927
885
451
352
499
271
771
749
369
215
458
129
98
999
364
216
493
897
179
460
455
471
457
673
807
630
628
511
189
563
629
585
9
272
779
376
379
286
667
989
837
72
108
504
410
989
784
431
649
924
805
772
72
649
732
942
782
562
121
564
406
84
510
577
852
827
557
386
673
96
233
85
507
12
880
615
930
560
965
369
876
19
379
465
422
1
565
572
251
915
788
666
555
824
835
572
60
968
160
426
292
79
774
977
874
939
688
567
328
612
665
3
782
336
62
428
99
804
470
945
884
691
642
589
116
10
939
694
194
434
378
981
521
276
497
826
53
96
16
366
685
744
954
782
694
103
753
386
635
785
841
543
313
305
593
445
727
851
583
22
832
407
818
609
999
367
372
756
332
68
493
169
938
28
514
817
178
270
569
213
614
170
312
187
55
662
481
339
374
920
494
640
294
729
633
595
954
180
614
739
720
219
236
118
794
255
376
439
884
809
425
469
525
745
435
259
818
637
346
199
675
590
477
257
407
153
613
155
215
857
131
884
385
186
818
441
888
319
797
804
438
907
213
864
930
890
572
75
146
508
415
692
516
719
526
349
425
480
286
508
908
57
681
86
74
647
29
796
830
637
908
329
737
32
705
675
701
287
252
272
226
932
840
430
38
754
401
997
894
13
238
290
300
453
363
768
498
644
189
372
588
647
93
66
162
145
364
188
869
348
809
266
741
354
179
367
19
563
571
826
396
951
324
484
520
235
487
23
883
537
91
742
452
359
74
767
826
809
577
609
491
174
585
75
734
252
944
519
500
651
64
330
488
154
354
592
796
205
997
879
879
141
927
635
310
84
114
863
249
735
584
121
171
819
103
851
134
458
708
185
459
381
883
162
991
528
561
233
425
869
364
801
182
759
45
77
264
491
501
875
191
491
597
489
234
523
884
157
392
184
968
860
728
669
41
602
569
586
665
253
283
67
606
718
510
868
221
422
839
222
912
384
531
798
731
482
122
17
532
627
388
167
563
245
54
961
104
492
637
728
405
43
980
254
98
274
339
385
457
627
822
806
425
994
358
19
637
386
466
682
693
112
107
710
89
453
523
576
858
555
529
21
799
739
567
196
479
717
695
684
271
817
8
894
371
892
579
581
458
702
31
632
253
964
171
461
557
249
53
695
891
159
964
890
715
366
52
616
869
403
485
245
86
569
675
66
52
518
177
965
346
598
906
595
416
750
933
229
491
921
918
942
130
258
853
454
178
157
788
671
682
540
537
865
15
545
391
545
724
964
689
208
190
34
240
65
495
419
944
711
180
70
671
351
9
868
466
310
743
826
869
150
417
993
159
406
633
692
142
331
94
951
729
770
776
392
643
215
607
808
174
87
412
559
60
556
232
118
664
515
617
950
100
62
63
451
760
431
417
881
615
474
324
771
293
242
326
883
952
214
438
365
579
834
631
983
924
834
858
304
753
269
797
724
226
568
873
97
530
340
106
994
486
719
805
520
92
814
774
619
498
564
82
5
545
567
779
972
350
364
877
109
112
51
472
153
981
336
566
165
166
495
652
733
719
358
844
341
875
304
541
20
774
944
545
324
336
52
992
801
106
667
136
165
977
657
998
486
425
443
576
989
511
546
655
919
490
712
6
158
756
282
339
517
347
280
783
330
417
456
928
726
900
896
72
899
732
553
616
624
469
583
898
164
873
48
308
384
963
79
350
307
485
613
302
5
400
947
909
1
216
147
91
396
828
921
993
740
67
585
949
966
401
463
797
804
956
103
302
208
861
812
761
69
497
715
263
984
865
808
848
670
539
736
760
790
616
405
619
46
993
295
820
850
371
59
889
801
219
215
501
703
40
649
913
862
241
246
195
833
360
930
144
34
841
623
513
575
360
250
710
661
685
357
63
504
703
651
418
567
599
38
263
882
789
637
312
959
936
804
203
411
990
185
628
621
117
400
784
698
765
851
714
804
715
938
623
420
744
666
436
426
268
562
45
829
824
941
515
798
489
372
105
654
842
608
141
573
630
897
76
39
295
535
641
828
10
467
964
801
937
877
755
465
299
676
945
745
688
539
246
885
866
825
564
567
262
427
482
974
933
358
173
792
84
578
159
769
646
222
384
890
744
196
155
709
915
489
818
888
818
37
137
714
561
713
627
126
634
444
703
106
781
778
884
943
174
772
184
205
721
775
896
954
359
842
602
479
774
935
625
533
946
528
178
633
586
51
565
905
344
108
516
886
64
86
214
796
184
909
216
559
565
476
613
714
68
152
168
308
556
796
444
391
556
130
813
746
991
930
72
533
642
388
470
385
111
902
951
704
864
406
405
496
63
397
980
662
582
749
925
67
97
746
498
48
76
636
102
751
891
643
990
231
441
361
937
215
86
258
448
513
773
907
408
520
968
137
345
955
40
96
394
985
741
978
485
756
363
119
875
171
187
187
262
802
980
867
162
648
721
149
84
457
692
970
179
715
845
680
132
466
348
262
651
746
734
959
464
525
317
828
814
913
204
456
655
785
739
103
756
877
536
436
902
457
635
161
21
856
782
173
192
189
898
129
87
360
515
794
818
8
301
920
246
746
750
680
611
918
265
822
519
264
737
194
47
708
875
83
612
611
864
450
357
442
203
241
467
150
344
850
910
838
615
891
251
206
746
474
869
941
866
170
371
612
663
608
729
316
764
31
400
916
690
192
568
828
229
88
621
110
844
39
913
721
83
776
19
893
178
872
48
814
466
88
148
598
410
33
304
85
594
402
863
808
388
392
827
64
528
691
553
261
115
248
978
655
853
931
142
382
821
401
794
22
257
903
711
710
337
21
441
812
915
945
370
424
659
446
660
691
927
918
358
534
758
183
598
893
411
940
116
762
742
241
804
657
909
698
284
733
584
524
991
706
825
778
786
866
864
987
169
396
909
856
370
201
283
211
776
973
863
76
647
603
790
822
780
984
54
445
871
470
93
884
6
868
20
533
761
31
499
814
198
685
76
852
683
217
385
138
962
777
568
777
678
956
116
288
305
122
396
364
575
415
396
619
964
690
469
447
976
744
268
250
523
29
786
135
28
343
726
20
72
508
418
362
88
669
499
751
906
4
598
504
264
916
283
311
710
870
508
676
613
726
793
277
877
227
25
308
294
250
792
576
42
831
533
384
142
899
976
168
74
144
592
796
866
88
946
868
680
217
845
710
291
929
399
244
844
94
490
134
471
784
103
48
741
451
550
951
871
166
235
981
310
94
383
905
60
703
510
125
118
610
236
166
717
492
687
344
82
712
846
864
796
445
868
82
894
586
623
909
483
443
978
535
819
705
843
613
809
927
727
423
919
708
932
173
96
250
440
52
225
669
879
960
849
159
917
323
291
960
251
578
624
965
568
310
36
609
764
797
244
173
8
477
714
119
987
123
895
125
810
139
646
992
981
217
385
231
185
988
290
969
706
785
895
173
74
496
862
216
270
1
904
362
36
272
803
103
107
403
715
531
631
10
605
380
604
791
14
53
37
27
22
49
145
335
52
230
36
616
964
77
168
180
725
474
275
749
597
311
826
854
530
475
914
438
694
149
265
596
492
74
182
918
225
231
694
561
756
670
884
462
482
42
211
958
589
10
833
554
977
916
517
6
31
694
214
284
38
310
85
715
179
85
561
109
699
220
410
705
610
249
864
598
455
501
717
611
537
665
700
321
672
835
786
180
919
678
498
43
947
803
346
46
470
836
773
342
408
777
297
253
155
83
603
78
244
15
495
828
188
911
766
328
251
720
86
203
974
608
318
641
82
48
344
308
986
303
62
961
111
240
25
750
510
955
824
381
833
236
192
577
955
922
507
935
248
220
769
889
669
646
406
885
912
549
89
289
334
293
509
810
664
743
178
724
757
995
463
328
625
529
150
731
596
769
580
824
485
771
210
508
392
588
842
385
414
394
120
49
606
730
952
146
124
657
233
17
563
641
933
295
662
593
843
879
314
696
735
480
960
945
904
524
872
555
250
786
693
500
270
994
161
688
234
768
216
9
736
639
386
617
54
67
570
521
843
761
687
602
763
234
419
948
179
409
347
552
443
794
612
85
753
76
695
534
820
516
184
886
383
972
17
389
175
548
674
193
47
245
358
431
27
3
705
654
319
824
865
375
374
915
708
547
195
189
577
384
626
460
657
58
84
487
988
406
817
852
989
982
779
126
820
102
557
271
432
345
828
258
528
830
794
280
553
469
95
139
412
335
443
836
424
605
36
499
577
235
394
182
508
509
365
443
370
195
394
987
917
201
654
862
722
997
179
392
721
869
32
909
190
998
189
109
873
659
367
467
678
962
771
661
815
508
702
944
291
204
798
933
416
980
167
565
234
858
586
553
642
198
751
259
460
312
597
947
594
415
540
444
231
386
33
857
201
608
722
511
239
862
331
855
385
670
404
568
871
849
294
394
991
116
799
188
798
48
48
839
563
85
145
327
495
993
326
794
694
490
334
212
514
739
434
282
958
601
436
490
682
3
666
412
377
836
945
738
997
824
966
993
198
292
918
463
289
660
35
467
357
676
878
903
140
205
147
864
465
704
349
359
325
617
947
556
593
892
625
219
790
257
93
524
293
991
796
951
564
416
144
542
390
137
789
459
869
351
954
241
632
589
660
853
656
82
629
586
626
643
22
237
267
527
626
422
515
980
524
575
800
825
18
475
88
741
487
115
747
854
875
19
169
778
970
896
622
839
263
52
547
596
919
587
743
705
552
982
480
39
355
308
999
156
394
448
944
229
32
633
500
45
341
790
572
843
80
947
16
894
923
281
584
758
236
666
33
249
641
198
32
246
182
472
274
274
457
813
556
887
29
17
772
522
916
200
299
799
762
570
584
12
425
399
794
524
817
999
445
854
978
875
9
552
681
789
601
379
492
312
313
865
696
669
163
980
308
119
639
600
273
573
616
337
707
262
548
518
676
662
891
132
28
477
931
731
611
946
171
691
928
975
41
209
728
5
815
395
560
430
109
12
576
317
903
244
938
800
38
611
866
199
40
778
794
777
146
293
716
434
432
789
411
744
491
640
103
12
944
502
282
804
438
19
26
384
127
743
975
251
673
922
695
208
197
771
477
566
877
881
331
134
752
576
405
720
478
686
635
351
896
77
948
665
410
675
188
425
442
346
116
26
254
411
238
324
848
64
256
786
628
122
242
909
442
640
717
2
263
650
108
674
318
618
47
605
543
131
963
951
470
362
712
274
222
200
353
764
667
582
491
637
827
9
377
281
788
976
585
587
160
685
571
851
209
327
455
267
816
906
517
330
443
481
643
865
782
718
431
565
185
819
197
480
636
980
501
934
155
632
884
622
748
643
611
921
27
277
358
137
357
134
400
284
313
14
653
199
324
91
637
256
524
259
459
719
929
388
297
586
982
36
720
167
326
647
26
355
192
758
855
291
774
393
228
458
348
763
111
994
621
692
699
188
490
750
489
639
38
146
710
938
345
996
341
709
155
475
533
971
902
929
93
669
569
157
549
322
836
897
412
97
130
146
107
130
861
794
710
651
819
669
968
789
775
300
505
843
903
150
760
870
940
436
36
832
18
444
645
451
435
24
3
624
909
404
574
828
861
616
424
475
883
355
400
628
475
529
385
342
491
389
142
896
505
165
970
912
980
992
517
128
302
503
751
311
368
329
465
616
213
435
87
543
272
728
744
928
13
877
567
506
378
187
860
535
805
557
666
57
238
825
379
686
724
959
379
276
664
439
689
905
213
88
43
953
652
103
342
129
3
608
130
386
829
967
323
470
617
744
379
52
357
518
244
665
765
313
294
424
517
80
517
709
107
451
373
762
409
278
619
468
519
40
545
680
839
440
680
923
988
747
378
112
322
246
735
164
468
248
284
430
361
34
365
779
693
857
811
945
232
399
278
729
735
120
797
890
722
192
945
300
393
78
189
896
572
941
506
974
987
863
561
113
292
937
742
314
667
580
293
897
526
296
778
487
776
120
532
999
587
71
936
353
799
160
484
516
981
355
705
422
252
73
388
978
0
334
715
262
642
607
610
193
969
419
259
62
933
700
833
645
314
321
197
874
62
40
181
938
812
43
104
890
938
780
781
63
30
862
818
571
951
64
342
810
500
145
755
865
154
294
570
599
992
220
456
970
955
73
58
878
935
723
143
332
20
450
358
252
253
662
7
974
490
105
552
982
533
633
376
420
235
446
438
442
272
981
17
836
572
951
764
335
428
380
667
641
719
4
838
862
852
196
300
803
562
9
933
794
399
312
425
360
341
579
303
718
808
3
656
834
398
224
22
547
859
69
669
593
977
831
817
580
899
190
313
359
360
161
123
745
350
308
235
630
420
204
567
254
862
322
548
334
128
338
153
510
997
394
917
749
812
915
273
22
326
817
762
27
124
521
522
893
788
299
897
237
251
568
905
504
473
604
85
260
916
799
63
351
659
325
553
369
626
995
151
114
656
432
892
186
126
552
56
404
129
490
724
83
346
255
934
134
536
100
701
100
933
154
496
843
100
273
721
703
989
583
323
910
489
956
71
742
718
129
940
386
881
856
406
71
310
37
633
777
273
274
2
122
978
723
693
53
709
568
316
716
712
977
438
379
895
554
2
488
92
87
344
976
883
260
170
412
108
446
106
108
260
916
481
460
924
515
227
48
715
846
667
536
8
2
396
360
560
574
360
834
778
15
857
539
367
712
352
378
882
469
296
871
747
937
569
844
585
168
564
36
458
620
466
107
229
948
332
467
455
976
709
766
81
191
276
587
822
570
474
588
766
820
784
379
289
381
836
690
910
386
508
837
620
788
634
204
672
410
762
74
716
14
602
285
76
475
841
904
81
953
894
847
906
618
713
687
645
482
560
52
295
586
149
835
735
135
808
933
50
519
512
313
40
959
486
133
204
409
552
10
175
429
161
189
858
229
717
747
654
746
709
129
422
912
286
388
707
778
283
605
110
529
260
915
424
253
127
585
612
289
728
630
892
845
600
588
226
225
749
449
729
274
941
544
964
322
838
836
274
839
736
520
707
25
681
433
92
751
464
393
343
434
791
365
389
736
991
317
400
793
883
818
95
256
483
55
15
666
448
227
285
929
995
905
687
757
398
376
943
638
614
155
848
221
513
359
138
662
446
35
116
22
693
263
926
366
360
33
766
989
623
538
778
35
719
813
267
976
2
326
934
262
28
869
723
970
759
627
819
723
699
902
7
54
675
522
252
700
147
437
818
629
290
443
638
589
406
453
792
389
588
517
539
491
721
954
72
307
871
428
621
402
539
374
388
76
403
851
910
951
179
694
815
306
161
771
726
578
163
729
258
680
539
388
271
435
526
873
185
754
19
844
585
500
939
786
558
388
295
419
241
607
989
176
31
340
714
351
909
515
933
824
433
828
253
965
818
452
632
590
639
262
862
485
642
696
361
363
733
947
889
926
432
77
959
55
784
71
419
182
940
991
273
160
987
756
228
617
47
807
584
283
595
465
601
467
476
325
309
142
693
380
295
205
392
183
743
804
540
462
105
57
776
737
973
5
594
596
995
416
108
75
141
396
653
744
511
945
483
355
106
346
777
344
92
925
980
445
593
153
599
975
917
360
147
507
39
988
506
766
766
936
808
605
698
138
488
987
932
794
960
92
545
992
711
150
18
978
166
523
393
12
578
246
850
171
612
224
556
348
822
430
80
844
697
339
366
197
207
919
681
603
406
565
462
814
716
315
58
812
862
18
716
866
233
618
621
311
408
202
380
640
918
139
757
654
476
482
129
910
756
59
371
710
542
120
505
369
129
176
939
480
141
260
612
788
504
444
892
705
743
614
735
205
809
117
468
152
876
914
969
601
85
87
12
929
920
767
561
971
839
826
274
753
793
878
541
343
395
600
37
666
88
97
562
745
671
793
435
109
376
180
893
446
787
143
279
363
144
226
711
714
79
813
774
628
649
138
424
311
392
684
350
312
438
937
854
163
149
633
792
383
870
894
537
515
490
996
928
784
635
588
826
378
417
917
859
53
342
817
946
843
706
521
3
80
495
33
963
922
819
767
559
583
590
625
178
112
371
869
971
766
848
690
495
216
786
741
371
147
597
206
132
680
614
74
816
176
234
340
412
302
573
545
718
84
554
131
82
431
110
667
685
126
963
385
19
525
331
901
783
669
774
401
974
560
762
684
612
238
527
152
608
427
199
936
185
573
642
99
416
954
785
664
787
511
582
165
874
156
913
163
831
812
395
401
367
681
227
691
717
794
48
368
97
350
91
913
163
514
346
863
971
958
44
191
564
253
459
120
493
546
53
366
192
794
117
190
257
598
236
974
28
817
478
68
286
655
161
518
942
966
124
807
830
236
754
736
445
247
920
760
556
868
154
614
489
242
805
627
466
860
175
995
130
393
215
827
736
183
472
917
754
721
751
476
386
861
405
351
487
885
561
407
777
641
186
856
955
579
828
581
915
464
241
408
841
703
864
53
838
885
798
758
619
903
394
932
47
324
699
95
843
520
943
667
408
292
302
342
336
280
618
967
438
9
732
820
213
908
438
982
108
586
356
311
28
49
546
259
912
768
384
993
506
74
592
394
328
727
86
711
395
265
395
145
507
35
178
292
560
487
220
632
701
331
415
210
282
49
756
44
232
715
403
292
121
887
813
460
788
967
239
292
266
865
121
745
449
723
985
529
658
264
137
421
832
327
856
660
87
732
373
899
541
15
680
129
342
79
423
576
515
391
833
344
490
778
16
813
615
32
824
545
415
179
719
598
556
221
427
89
45
633
990
925
122
515
23
133
585
733
380
329
139
917
855
521
361
817
969
946
35
929
708
395
691
533
858
215
304
901
831
34
788
681
894
850
433
295
518
654
823
738
391
380
305
56
790
424
237
511
643
606
342
781
222
906
932
494
925
301
696
723
138
702
817
904
116
687
677
670
978
462
256
248
821
2
23
789
390
737
586
782
102
230
883
37
654
249
950
399
685
612
507
835
452
749
521
761
772
40
514
614
396
313
575
77
772
461
293
148
723
743
353
454
559
801
249
198
130
832
600
782
308
694
398
36
303
288
329
678
438
760
992
295
757
222
990
430
342
209
19
277
291
7
777
182
667
380
922
332
973
196
69
851
768
499
244
803
938
775
553
960
762
923
968
57
82
634
321
56
417
771
116
380
180
146
238
229
202
948
54
629
292
336
609
678
361
749
887
6
25
658
141
435
445
721
574
839
116
902
105
630
298
284
117
915
83
269
260
35
33
249
420
985
216
745
442
115
478
180
648
718
984
698
251
978
890
865
898
3
35
995
814
209
933
905
373
31
75
785
576
525
594
841
830
475
179
537
783
702
785
412
39
618
685
890
957
124
26
430
24
895
66
345
85
79
787
256
716
232
245
115
197
421
876
474
169
16
877
445
41
275
167
29
555
705
917
904
860
949
254
499
408
660
580
84
132
246
53
349
85
172
238
711
420
288
930
821
766
111
63
682
415
379
365
793
407
958
480
777
348
707
939
175
705
656
371
30
853
635
599
198
1
352
778
260
516
652
785
169
422
960
771
327
581
276
405
765
111
299
151
443
147
870
8
839
748
280
458
540
744
437
384
648
131
926
2
162
611
327
328
991
57
582
646
247
510
537
648
217
500
456
121
154
675
783
93
335
900
109
149
674
787
427
820
33
103
156
246
415
910
318
938
521
533
779
508
619
407
427
301
190
316
742
921
807
347
531
585
203
258
721
460
417
167
218
536
631
253
341
516
715
677
136
314
551
196
817
746
76
157
789
946
821
486
513
687
892
455
768
480
793
100
187
126
728
454
785
927
77
486
909
879
247
431
928
701
895
266
938
305
218
605
681
573
930
563
509
204
862
565
195
553
2
351
391
977
667
460
210
500
692
192
485
160
746
816
262
53
828
862
66
965
610
307
103
350
699
630
250
604
535
680
685
49
566
352
497
878
966
966
860
399
239
466
642
494
859
989
408
395
388
113
108
769
421
378
667
578
308
769
7
689
883
714
120
531
798
433
941
604
271
388
925
754
801
740
600
339
360
898
60
135
394
57
930
666
918
890
351
604
846
367
825
832
235
238
236
242
361
201
133
181
792
807
357
187
511
608
390
579
766
777
114
784
188
768
207
508
610
976
357
847
844
653
448
815
850
760
43
840
152
792
159
258
322
914
447
23
30
59
352
814
217
785
320
379
441
857
158
468
444
31
512
350
764
723
526
141
114
977
307
436
598
172
223
851
218
617
41
247
681
549
288
340
253
960
451
405
349
708
776
111
285
823
213
576
831
368
189
361
886
906
877
837
488
772
413
600
780
948
985
392
185
856
472
420
752
952
661
311
770
204
895
494
647
416
712
307
774
336
82
570
737
632
66
924
341
67
39
632
77
773
217
301
754
137
493
222
693
824
631
368
608
346
622
415
712
865
98
218
171
846
911
134
260
612
226
386
630
823
298
865
45
395
464
189
266
771
772
517
878
750
207
385
864
181
905
588
910
465
426
305
146
282
971
340
521
92
407
82
430
635
415
948
857
205
541
222
536
837
965
566
676
624
962
899
19
258
201
364
550
113
709
135
915
319
476
449
590
911
321
418
145
775
105
266
884
336
303
15
632
654
448
211
803
913
401
317
428
277
985
736
928
694
706
65
320
517
246
192
619
988
772
8
22
470
124
985
137
448
8
550
459
191
676
503
66
602
787
212
448
195
882
277
711
681
370
637
920
849
189
327
202
701
41
216
918
860
945
973
920
583
478
52
635
536
480
633
822
753
304
375
260
233
629
23
802
159
753
875
567
15
678
635
433
715
883
707
369
492
701
957
844
283
358
413
438
153
228
246
634
22
973
537
162
790
481
564
171
119
249
460
690
166
148
56
597
888
894
872
738
352
654
221
567
798
574
133
409
426
266
971
506
492
351
122
38
583
901
103
898
62
833
885
617
208
211
323
283
314
975
849
193
1
277
930
744
646
611
836
750
176
313
674
347
688
516
799
351
129
559
880
729
664
101
223
580
521
995
435
85
640
812
577
544
701
322
619
431
189
255
985
365
902
678
644
691
135
875
395
816
879
699
364
340
431
81
520
888
143
117
73
583
795
636
682
346
757
519
197
558
780
923
4
941
706
280
652
199
376
79
817
330
179
450
385
306
372
5
324
590
943
180
354
800
417
880
177
637
913
490
32
600
132
555
177
302
426
346
543
950
571
491
175
554
494
135
929
713
546
101
117
5
988
908
202
570
701
838
947
369
563
157
999
753
193
527
295
880
105
159
835
595
932
295
178
218
513
856
956
586
197
414
143
999
588
511
582
720
439
282
568
390
962
44
327
750
759
949
97
160
711
999
558
748
528
237
811
592
508
968
105
992
718
242
970
188
379
73
870
928
767
132
717
699
71
963
361
986
676
164
197
321
420
361
219
23
276
614
68
472
670
0
766
647
391
365
805
964
525
243
757
443
620
97
575
318
251
732
188
554
13
536
996
980
494
849
213
755
721
70
998
719
971
130
821
149
885
171
159
951
250
828
410
919
735
583
377
561
407
986
914
681
315
383
966
23
368
488
293
477
754
467
380
773
158
689
354
858
715
767
756
153
835
547
347
405
55
926
955
294
141
489
834
788
328
219
8
584
267
425
280
893
659
338
476
585
39
589
875
29
604
573
879
140
356
723
925
393
423
5
528
129
9
199
635
241
133
719
373
241
819
417
636
227
943
695
13
395
855
85
851
112
525
515
858
900
439
139
166
3
231
438
705
337
223
781
145
880
276
448
40
266
421
892
882
450
474
716
920
203
16
786
515
750
605
854
870
477
697
705
730
772
935
462
50
195
93
971
344
348
721
997
197
465
548
267
213
542
593
644
495
990
388
216
853
160
613
404
470
313
539
838
82
155
89
60
316
672
390
337
441
266
33
146
556
688
1
509
348
107
286
176
202
877
246
627
325
917
727
691
468
649
738
108
87
676
26
220
960
208
726
147
720
670
833
145
980
417
602
558
446
108
244
663
745
701
445
576
49
751
406
950
780
595
275
193
448
553
972
961
836
172
810
471
752
176
228
435
26
133
379
593
35
299
735
547
934
890
177
361
76
957
652
397
895
82
918
952
575
26
451
58
162
289
876
583
562
426
373
495
262
774
734
808
227
219
956
346
170
93
526
574
820
749
481
106
677
507
906
508
268
319
205
930
553
46
122
430
471
301
144
546
796
726
231
163
971
332
154
541
381
700
845
840
624
605
40
953
368
752
245
433
652
513
650
53
101
410
645
100
552
644
385
750
55
959
106
478
723
558
705
293
142
100
404
596
466
389
188
196
331
289
601
187
870
575
418
653
1
583
491
41
340
417
984
380
99
652
599
144
101
911
292
77
415
662
904
615
38
336
549
9
195
555
538
405
173
999
759
359
13
617
520
780
589
118
671
547
371
419
183
756
619
506
11
379
806
505
677
1
483
985
806
608
247
458
311
681
717
778
214
212
371
51
24
608
797
247
938
242
751
887
259
698
270
883
533
962
995
872
701
447
400
402
900
435
275
507
759
163
784
973
816
250
985
612
819
632
284
648
942
11
275
990
11
503
984
254
869
911
184
611
762
361
48
426
914
963
701
160
762
663
777
62
797
939
766
519
252
647
16
325
805
459
381
160
297
732
109
160
900
845
199
740
199
114
379
15
665
118
409
127
79
795
561
876
572
954
436
801
873
759
953
271
511
60
665
867
801
445
437
158
382
321
101
152
380
163
235
967
540
88
447
470
887
659
770
761
619
607
496
901
76
64
162
5
900
983
764
741
964
97
798
40
576
386
662
987
42
464
891
231
354
26
125
188
160
859
820
61
167
859
829
71
265
995
215
977
825
96
217
609
569
742
420
882
671
445
434
891
631
225
548
155
211
453
659
985
82
995
914
83
859
31
655
727
238
617
920
76
712
489
597
961
524
188
388
667
917
212
343
803
208
719
52
828
949
461
6
909
886
745
896
626
548
195
337
255
96
491
124
906
129
118
995
750
452
715
979
232
558
418
180
827
913
702
737
203
658
364
317
8
910
213
960
312
119
513
631
88
187
765
153
44
402
31
681
940
369
224
2
248
808
374
773
348
592
967
616
341
182
667
17
479
835
855
910
190
194
981
666
417
260
445
944
641
781
408
929
74
583
791
33
760
110
904
26
128
738
856
344
974
603
345
387
628
710
127
788
812
121
87
174
3
854
477
381
250
103
847
184
777
948
969
466
529
301
68
777
261
694
772
28
149
928
409
921
137
267
19
550
72
441
305
137
929
232
243
62
547
140
72
620
523
253
766
91
579
87
53
763
541
640
346
182
145
84
968
781
562
369
800
899
235
494
8
635
833
749
802
756
201
442
945
395
587
245
243
277
393
665
276
503
941
121
156
360
469
846
550
685
48
515
761
421
439
16
895
146
932
559
6
677
795
812
165
382
440
816
262
991
509
677
510
357
981
492
938
280
386
204
626
348
22
335
154
288
505
784
235
307
912
795
784
169
580
162
964
428
732
237
199
61
350
973
152
791
284
279
582
869
297
179
323
369
746
286
247
91
92
903
182
248
562
516
790
531
845
275
773
367
440
836
549
616
815
589
94
233
556
846
977
612
279
588
206
900
172
41
654
351
332
930
438
149
387
730
483
391
942
332
394
600
611
868
382
908
522
279
884
481
795
255
860
309
444
712
162
237
631
557
90
815
250
702
441
830
858
15
666
267
674
998
245
393
176
726
411
321
272
679
516
102
308
247
820
226
595
640
304
461
990
119
678
398
336
101
543
571
294
428
689
671
812
504
537
571
549
729
114
696
514
700
348
114
740
979
295
215
332
710
618
120
453
383
387
46
148
297
865
55
329
798
61
392
420
692
615
48
190
557
238
513
250
326
495
420
139
424
626
295
590
428
647
334
292
276
677
412
177
409
805
373
975
261
999
780
777
76
911
201
19
962
647
123
536
203
296
222
37
427
509
376
694
87
890
835
60
27
557
309
382
429
985
920
798
277
708
71
316
311
193
906
678
249
635
116
644
319
774
518
627
798
206
890
601
529
181
443
111
306
370
569
170
734
763
358
675
400
563
758
336
130
175
727
89
27
542
535
764
879
452
430
894
920
779
49
135
767
155
162
832
644
583
477
230
642
502
670
90
535
964
840
402
103
378
678
295
495
779
419
25
267
2
646
509
937
732
399
449
996
485
242
764
658
91
456
548
162
909
81
526
913
462
513
718
190
749
917
831
647
91
683
691
839
12
748
702
5
576
90
98
818
724
479
565
524
500
796
551
244
515
777
748
279
110
922
441
971
194
940
224
856
869
426
726
977
433
362
829
99
381
885
495
754
318
232
962
46
255
376
516
126
924
48
785
306
714
173
570
482
681
980
237
184
914
241
581
42
604
373
537
481
802
823
431
288
514
96
626
345
249
604
900
798
465
92
122
704
7
438
416
633
516
235
398
56
562
213
96
134
325
655
955
115
712
308
784
692
940
213
958
423
476
93
547
311
614
501
525
634
51
34
94
328
172
728
644
691
48
98
393
64
381
738
131
432
971
66
5
972
151
883
80
289
332
604
219
398
103
885
654
260
30
31
836
317
127
45
592
111
295
312
213
945
948
767
883
666
685
716
9
2
811
591
183
208
797
741
63
624
401
249
27
867
157
624
865
199
535
239
955
612
833
907
88
528
309
107
429
254
528
196
111
532
648
105
918
671
219
123
31
361
151
197
859
210
398
943
701
977
900
241
79
250
943
316
939
546
43
678
47
819
393
383
764
601
520
583
318
645
538
382
59
656
1
622
823
181
123
124
472
521
848
670
495
961
736
215
12
787
432
32
609
217
346
574
293
990
93
550
435
287
488
522
209
768
205
664
406
646
678
504
512
317
50
151
269
675
403
16
183
454
627
73
744
611
56
300
620
807
365
703
640
747
103
434
879
428
664
747
814
56
574
204
828
762
630
683
606
172
959
312
973
758
660
60
699
426
979
981
799
262
539
100
621
637
103
431
341
686
545
912
469
734
191
631
517
790
128
359
287
351
984
406
289
179
932
966
382
577
397
682
579
397
386
532
414
435
25
907
564
746
533
222
915
268
2
798
402
39
653
459
499
435
154
347
479
195
958
405
561
138
436
20
919
272
13
45
889
470
366
558
515
526
917
534
314
39
442
954
929
593
836
554
577
995
120
294
117
930
270
932
92
952
90
244
55
925
297
368
454
456
653
725
324
51
489
22
810
640
316
553
224
655
131
488
590
595
55
78
209
749
938
376
650
460
933
833
437
292
503
549
669
962
690
195
929
958
286
925
557
965
550
706
220
906
928
564
648
362
273
557
691
682
818
147
509
64
386
143
490
258
408
831
595
186
247
741
791
87
656
543
574
860
946
24
908
217
846
295
46
147
549
492
174
755
720
687
201
222
115
767
459
103
502
755
139
964
859
5
583
904
520
591
109
123
164
291
662
156
975
84
712
182
138
669
632
283
224
32
133
980
23
257
696
544
144
630
51
473
192
463
52
698
846
211
753
569
527
385
365
605
480
2
524
501
316
244
807
144
63
26
887
147
986
571
436
400
189
58
125
894
836
76
327
694
744
351
446
47
287
121
909
140
920
171
197
113
605
598
930
476
87
621
400
400
717
159
133
443
222
85
594
849
618
415
587
733
957
302
925
766
587
739
270
406
960
623
688
620
635
391
961
275
423
968
249
997
520
65
248
975
336
311
981
223
919
662
306
163
765
721
480
832
74
260
470
668
364
692
622
413
170
951
859
999
87
592
19
313
270
29
569
299
463
883
107
444
690
213
650
565
56
859
359
776
629
444
357
449
721
248
933
655
100
133
31
656
698
258
722
133
801
971
471
408
517
346
76
147
618
459
251
832
191
439
118
596
382
339
184
31
378
826
112
242
84
973
604
259
892
423
883
260
151
585
666
371
601
308
462
684
577
872
855
395
700
87
298
833
466
265
959
711
276
148
179
772
348
831
712
720
797
234
381
78
870
766
827
982
742
387
402
684
391
110
421
63
833
604
359
160
416
300
665
604
857
563
68
743
511
651
759
211
678
540
694
166
587
635
3
848
343
287
35
463
105
121
28
824
743
636
67
333
82
795
428
1
647
281
632
924
643
100
557
346
77
632
546
7
862
258
890
230
637
57
481
63
999
305
740
564
554
243
122
949
207
161
458
257
424
237
161
940
484
489
963
331
476
930
885
101
605
783
883
245
882
651
98
650
202
837
378
11
832
437
779
917
277
420
963
751
46
667
125
605
512
196
26
286
657
137
17
598
626
837
154
539
590
672
876
206
465
624
861
739
179
766
383
10
413
710
129
806
400
620
573
64
215
243
821
415
390
995
115
165
669
579
828
712
679
323
832
694
439
362
313
764
18
703
818
248
229
218
696
154
227
777
577
191
572
597
537
687
500
956
624
658
759
571
712
67
826
626
527
865
143
472
382
26
690
672
310
443
357
374
111
748
458
498
729
375
850
462
513
349
689
481
39
966
14
426
768
18
493
847
999
303
837
100
683
970
973
277
605
106
928
809
103
223
272
502
347
758
30
934
684
31
622
444
337
88
639
85
610
408
627
979
129
965
867
652
592
508
454
703
897
735
512
413
61
942
117
386
873
646
35
70
947
110
101
700
145
92
202
304
490
335
612
505
562
291
140
301
337
704
138
266
171
803
60
110
368
253
640
581
743
261
876
852
208
609
300
137
936
607
639
188
238
419
893
638
279
546
878
133
464
482
805
835
366
736
299
884
787
596
987
122
45
239
993
443
244
62
272
192
924
969
209
132
664
637
598
427
885
901
629
701
826
790
116
470
116
15
51
293
474
797
184
280
576
813
176
22
126
29
163
696
330
43
781
30
164
330
317
469
944
350
920
769
200
378
569
483
974
249
404
325
451
480
108
411
772
548
235
303
111
623
486
250
267
955
873
21
976
268
259
715
276
208
843
103
995
910
14
907
505
688
376
25
39
231
864
493
246
600
582
92
390
30
680
240
816
437
253
717
826
501
1
183
185
219
923
247
689
544
204
421
586
281
443
802
759
702
962
273
223
947
177
586
138
688
659
663
532
364
467
721
666
925
669
175
130
267
316
255
743
421
871
378
177
422
651
449
810
930
666
814
26
129
496
852
672
287
622
9
959
181
932
441
812
996
792
134
914
902
929
461
131
959
721
149
632
201
363
494
118
211
456
798
483
922
483
936
548
845
633
279
347
531
182
980
660
104
869
418
807
23
684
212
211
612
738
130
618
614
25
675
5
616
986
607
955
596
95
245
552
72
775
429
274
600
398
698
912
837
119
260
91
228
162
748
55
792
136
548
371
861
900
686
676
251
109
384
383
827
15
833
894
691
508
307
976
983
704
247
314
892
418
711
274
163
264
483
727
352
823
821
923
120
698
153
501
475
625
559
388
139
763
365
493
564
726
848
110
904
760
640
309
660
71
46
741
874
93
409
214
374
818
698
973
378
305
176
929
492
737
51
774
210
439
405
166
557
152
502
717
844
40
322
366
874
724
301
91
168
368
964
260
991
684
378
59
625
101
235
741
652
788
469
650
366
235
292
702
525
92
39
732
629
149
950
175
606
379
954
35
9
10
437
529
590
537
934
41
273
166
141
90
332
339
292
230
234
244
512
773
198
739
254
725
724
120
517
415
427
640
540
998
188
224
238
603
258
790
162
338
474
671
99
579
152
340
57
286
795
559
230
881
196
912
290
147
902
454
224
39
354
569
80
459
663
525
539
676
462
622
63
665
3
284
240
56
304
499
566
776
165
321
733
986
971
142
351
203
626
719
781
232
304
889
960
466
533
217
886
396
484
422
43
680
194
692
558
47
96
981
100
557
92
194
634
198
643
121
876
918
459
235
667
340
361
56
204
441
62
597
925
185
981
515
420
272
18
496
934
424
393
93
732
334
538
618
272
408
568
103
353
803
886
131
951
904
868
514
524
143
240
840
144
731
409
889
780
569
399
610
562
106
212
378
443
77
941
165
395
833
559
744
337
775
634
52
812
445
622
163
738
966
196
473
671
289
499
174
732
547
458
663
865
45
374
115
112
131
893
550
241
242
752
422
666
820
40
73
239
781
490
560
804
366
745
622
750
468
852
35
435
630
734
272
157
950
387
908
454
787
141
869
409
862
433
727
610
742
586
741
486
492
435
27
86
993
121
751
429
940
186
399
13
780
832
838
927
475
204
908
852
739
191
40
546
473
106
26
614
551
108
547
256
536
555
607
601
664
898
111
38
285
778
402
138
664
370
61
189
798
913
469
246
251
163
523
354
701
492
533
539
989
891
965
864
101
968
21
866
521
207
886
220
408
530
613
414
369
57
651
406
861
990
584
827
625
526
717
331
929
320
243
423
525
248
889
639
419
558
914
734
394
153
806
73
547
70
546
754
85
954
251
699
969
515
773
261
734
395
887
567
102
134
839
671
218
574
636
100
348
318
633
917
850
594
988
617
587
705
954
272
143
183
281
256
471
191
782
408
7
92
473
488
527
854
672
491
409
250
46
993
502
139
966
366
95
750
361
534
458
550
239
332
192
578
257
364
658
107
256
495
930
701
898
819
220
163
769
185
859
16
898
566
716
269
467
340
417
608
884
174
169
173
235
916
854
520
941
482
598
533
262
718
131
216
653
852
735
843
434
651
178
158
882
65
750
118
336
3
986
757
933
378
309
501
697
558
491
689
28
741
244
307
346
789
815
253
381
651
245
271
805
28
512
55
59
691
123
511
4
113
618
878
130
280
817
166
157
346
606
987
469
151
166
672
582
739
771
542
424
224
57
323
542
584
328
964
379
789
30
559
581
581
300
697
992
869
759
878
655
522
314
372
916
166
671
963
104
666
664
356
66
861
832
548
996
422
934
755
852
297
220
771
407
451
234
782
588
482
740
424
501
740
225
57
441
661
44
739
386
115
511
737
250
450
456
367
744
361
318
77
504
698
640
356
888
405
255
749
700
445
789
964
346
65
694
13
768
26
592
189
837
942
807
733
24
646
358
828
289
920
180
308
752
185
839
125
908
661
560
438
980
560
109
389
863
524
387
719
774
801
298
918
28
515
58
999
924
134
22
555
866
194
994
423
585
863
422
460
707
403
762
283
746
60
380
387
866
235
867
998
761
298
730
158
756
963
476
601
122
775
526
118
849
181
132
122
368
643
331
620
81
893
967
217
520
24
984
618
69
766
86
153
216
463
951
966
323
127
790
599
28
499
349
470
50
457
606
786
186
578
463
411
234
733
834
749
952
684
382
591
945
531
301
565
572
622
650
502
676
306
536
340
468
616
731
693
7
591
335
637
17
819
406
534
994
30
712
727
737
464
181
202
944
797
548
999
68
42
917
644
954
213
237
539
912
378
25
509
604
75
993
689
806
365
394
181
340
64
36
632
347
476
246
279
169
818
930
33
965
217
920
497
780
815
390
736
131
830
181
977
668
47
122
832
275
521
915
683
188
713
129
361
260
516
892
981
856
516
122
867
175
15
439
668
772
639
513
350
214
825
844
456
985
71
28
34
410
420
123
198
229
119
126
286
820
236
226
571
251
39
742
405
397
474
234
744
706
560
960
836
338
317
819
880
587
93
389
367
870
838
548
496
381
965
971
548
179
8
667
746
146
63
931
274
28
223
611
515
436
646
27
275
968
835
760
773
56
966
627
546
666
784
262
229
989
797
588
863
95
330
470
627
843
868
145
751
185
820
5
331
828
627
327
4
760
295
579
940
943
716
611
538
346
82
615
362
59
832
896
46
802
222
978
496
894
812
671
989
97
832
904
26
72
552
77
626
82
200
887
363
720
83
303
88
736
594
683
956
235
532
511
311
675
23
820
60
457
68
389
748
758
371
995
473
848
998
49
765
493
579
835
473
399
635
677
589
636
639
329
564
887
537
533
113
303
767
190
278
914
137
360
908
302
347
988
856
201
165
89
315
889
334
466
526
23
403
946
148
330
957
345
91
74
871
760
292
801
879
430
430
261
324
82
334
854
984
476
980
346
253
84
585
500
168
909
785
691
47
770
502
713
971
923
475
779
780
546
879
109
297
477
885
932
101
221
290
741
745
301
483
999
575
675
24
805
960
386
864
117
906
262
651
874
762
979
254
322
535
216
298
976
583
881
889
160
72
402
604
556
236
59
448
518
750
706
532
822
274
684
424
36
614
792
637
67
770
419
456
407
845
712
497
204
368
584
256
958
509
16
993
433
619
29
914
51
653
779
304
265
70
783
865
95
89
375
717
21
533
144
102
342
98
886
933
300
704
789
738
976
80
257
972
582
337
164
909
932
35
332
171
310
581
424
61
495
877
251
379
148
312
367
376
5
276
831
606
192
664
464
806
404
121
358
228
19
768
51
102
643
299
224
170
771
534
634
526
665
716
269
617
145
870
256
457
427
708
695
11
913
198
529
686
548
569
959
749
629
3
784
212
691
887
956
756
416
971
299
225
8
209
951
130
708
441
846
489
432
582
318
300
118
249
882
719
538
45
938
22
953
386
224
858
11
326
788
766
646
420
310
432
962
98
259
253
422
571
593
76
839
902
658
715
30
588
745
53
880
925
264
202
737
918
124
113
128
391
763
940
140
294
451
86
236
874
539
909
421
525
803
738
936
800
191
763
648
477
193
535
865
563
169
279
599
395
439
132
19
813
127
916
218
488
102
80
548
922
455
15
220
441
775
806
303
861
229
917
260
775
814
465
912
598
41
539
508
562
286
575
720
859
114
668
867
303
499
472
286
710
141
927
859
848
641
470
686
667
789
847
712
594
215
405
469
876
91
122
377
705
67
767
480
856
230
690
73
231
125
738
13
143
569
130
264
377
160
961
381
638
713
360
136
632
698
641
954
869
81
437
834
579
662
58
336
926
150
832
939
888
21
100
25
815
925
665
129
304
736
288
365
986
867
963
823
335
401
912
697
288
897
990
213
717
513
178
629
298
806
296
309
300
103
165
445
415
658
290
105
390
731
336
423
886
645
132
932
677
171
596
367
117
912
234
563
68
561
126
653
237
394
896
744
365
181
514
589
826
878
608
856
707
477
254
279
747
98
367
817
75
760
283
658
756
215
691
741
819
923
635
694
653
182
473
970
233
563
689
685
561
797
483
612
450
804
826
90
417
987
788
131
599
77
461
436
804
506
755
753
172
162
935
516
284
24
47
607
329
262
549
723
764
43
224
612
480
891
822
888
256
500
977
2
184
884
691
103
613
822
572
152
218
836
598
598
392
391
836
104
177
437
928
159
265
93
574
230
129
207
338
539
138
146
974
531
711
517
424
382
582
784
764
319
736
354
2
737
764
995
276
35
648
283
213
582
614
617
618
316
997
906
586
534
787
33
295
384
824
743
619
612
259
20
456
722
328
35
41
703
355
98
398
324
463
960
160
338
114
465
638
908
415
849
117
776
907
228
71
734
497
286
763
755
424
130
378
267
180
339
665
954
611
435
83
107
462
14
718
185
444
316
538
655
495
185
382
422
862
217
902
87
167
332
701
372
120
585
126
738
747
310
434
674
820
899
836
382
14
775
118
852
150
546
748
239
331
602
222
207
193
0
338
460
616
962
59
549
933
51
158
64
228
473
61
724
605
314
366
907
888
518
121
581
230
955
841
721
41
930
457
507
146
271
941
148
518
534
254
911
327
530
792
695
136
205
0
565
902
886
54
755
357
432
586
985
692
108
277
235
298
793
835
748
776
829
321
799
857
212
751
570
232
209
229
427
44
567
322
753
154
596
215
752
4
478
873
163
286
493
458
579
256
483
333
929
330
833
891
485
389
996
100
494
443
577
333
987
604
203
143
344
490
426
206
164
842
426
277
581
520
74
354
869
607
489
639
968
787
632
351
988
590
323
461
55
117
61
916
275
445
856
172
172
991
745
948
24
695
834
754
761
85
693
34
72
949
483
59
604
883
800
174
886
138
396
669
351
44
924
641
379
818
89
664
651
939
713
674
330
353
206
62
738
485
277
925
673
548
961
244
872
195
278
223
662
712
55
817
825
864
970
48
774
19
499
523
488
772
165
477
119
498
356
165
346
84
522
981
811
884
215
123
576
325
715
9
904
965
721
831
258
873
911
36
373
6
1
973
77
385
59
918
433
156
368
209
44
53
681
551
29
761
796
195
812
60
290
909
247
46
976
780
734
405
30
486
976
47
825
41
858
321
320
86
169
380
694
230
368
827
4
629
13
852
918
845
310
300
766
653
827
747
440
616
657
614
163
971
260
406
302
563
466
639
72
868
224
86
703
735
496
354
701
255
212
985
902
845
115
645
419
997
134
859
298
745
882
164
3
203
621
121
262
839
882
21
151
694
964
983
893
776
977
789
477
381
554
151
439
145
594
255
967
995
499
936
301
999
305
258
536
983
545
27
19
856
75
721
894
264
871
557
714
89
963
157
899
792
67
6
493
882
617
323
809
559
165
229
290
810
605
416
982
49
11
528
626
963
104
906
122
756
786
909
215
710
769
442
998
169
835
24
766
771
571
428
607
152
56
120
701
805
653
192
80
588
353
165
120
642
304
243
581
580
152
93
61
973
132
873
478
833
762
377
830
141
555
40
341
819
421
818
973
550
644
553
919
172
436
737
293
550
995
560
413
127
331
477
933
909
718
544
229
348
133
982
951
366
157
845
758
389
750
790
874
740
626
580
678
790
136
93
514
342
567
319
797
208
208
461
898
661
686
431
432
329
518
312
945
78
709
339
371
222
983
42
862
640
454
744
63
523
873
223
835
291
598
16
196
317
268
815
45
950
268
327
34
703
401
748
811
258
568
797
845
564
627
377
227
56
316
411
120
696
983
729
214
688
748
238
467
619
214
958
459
205
980
747
60
246
294
690
490
580
914
382
938
195
73
616
145
403
621
650
610
638
550
919
768
634
271
855
469
676
435
546
636
590
742
457
290
548
293
222
635
513
100
681
236
289
816
296
871
175
569
43
796
402
64
841
581
263
682
63
753
728
75
831
77
573
960
642
768
437
466
729
534
969
759
613
993
970
670
766
723
913
320
749
268
238
414
851
519
657
942
339
680
687
879
476
173
318
443
848
140
395
595
153
113
560
628
530
466
919
15
778
13
105
648
620
12
515
404
631
53
2
552
726
207
741
960
420
904
295
515
70
545
708
168
645
287
984
72
21
924
636
671
45
624
813
403
757
752
85
805
121
654
565
854
814
195
855
739
183
728
433
635
39
154
46
293
169
420
169
279
768
332
422
570
154
920
497
208
758
308
313
708
927
780
548
637
683
302
155
598
650
328
563
180
625
983
974
824
471
524
97
307
487
84
868
372
8
668
836
904
934
750
137
258
270
225
788
314
880
732
909
450
234
677
177
615
386
159
845
917
13
265
433
128
134
939
442
631
263
795
101
149
570
634
384
821
248
897
770
338
460
915
953
781
375
725
622
472
401
409
990
176
882
138
372
726
600
719
920
330
49
363
403
23
307
235
497
426
971
821
134
276
985
816
37
130
289
289
518
152
403
983
863
68
968
308
459
253
203
892
466
325
270
542
245
141
865
170
989
169
118
727
912
51
430
759
693
439
390
621
424
358
559
574
134
249
619
903
193
42
579
716
633
322
132
542
852
537
464
925
387
875
378
893
311
842
94
538
788
537
493
162
679
344
48
412
515
151
685
437
570
884
293
819
267
13
269
772
135
793
985
506
284
126
796
101
122
963
918
324
562
151
363
469
292
355
939
287
13
749
220
107
642
301
952
296
249
531
667
424
60
659
532
802
786
811
30
235
667
229
11
256
702
838
465
578
986
280
906
541
521
590
18
254
769
80
863
60
368
313
822
122
136
932
548
334
31
511
792
988
538
166
854
37
531
816
739
292
188
783
870
768
958
141
644
128
299
445
629
494
309
161
527
201
423
996
120
956
892
724
874
473
719
530
850
567
158
173
786
522
946
522
696
886
788
842
946
946
98
602
768
401
786
270
239
886
947
809
155
226
59
84
624
338
893
954
253
76
660
76
860
988
79
201
203
893
834
981
526
297
465
36
219
323
280
875
834
220
870
700
565
277
800
869
917
757
928
852
704
203
728
912
197
766
465
21
795
847
871
451
964
180
43
374
231
18
765
489
569
736
138
874
320
96
773
977
598
110
544
427
913
783
755
550
20
138
94
800
378
192
436
659
198
366
559
709
127
90
376
310
193
262
570
705
520
73
428
108
72
352
168
347
230
735
569
456
231
103
647
314
651
153
868
235
70
912
350
650
449
461
892
608
298
904
587
433
622
567
59
585
517
335
788
114
557
315
227
169
805
452
32
358
970
279
629
805
850
24
102
139
686
64
219
589
132
992
184
834
139
590
481
650
383
665
323
112
429
197
188
753
143
515
26
671
638
983
966
258
377
789
960
88
59
668
885
388
996
317
555
629
178
296
766
554
481
342
205
538
86
670
164
710
74
852
752
161
61
748
706
91
543
707
833
724
256
867
579
785
264
566
947
624
357
712
875
230
311
125
801
27
478
901
817
692
805
624
231
338
895
64
283
699
357
13
964
627
884
773
147
318
292
176
803
65
874
539
671
517
116
264
354
167
398
879
110
760
305
665
35
733
939
181
768
934
400
955
712
277
463
594
890
604
380
374
142
888
751
265
487
83
149
765
373
364
305
590
361
825
218
884
739
600
20
346
960
681
193
581
809
395
148
482
390
405
603
5
919
287
996
520
837
848
297
606
687
58
824
321
914
968
46
253
414
81
872
358
92
937
714
404
442
990
618
896
732
34
214
71
474
727
518
347
314
763
967
891
248
728
801
405
869
727
86
256
510
425
515
512
72
131
835
643
983
800
725
217
594
598
570
652
68
737
976
546
913
738
998
886
570
163
218
385
64
932
754
380
142
880
493
816
621
327
820
820
537
795
592
836
504
701
392
500
770
612
879
647
343
645
277
453
502
440
843
329
917
688
641
461
122
159
629
383
537
141
405
32
850
447
287
236
430
22
45
618
296
707
60
436
878
591
523
437
675
115
419
373
91
206
758
91
715
502
68
808
170
262
644
772
698
638
997
107
755
129
482
766
467
402
232
594
241
770
63
139
67
899
920
175
202
409
669
203
989
470
340
431
656
621
94
316
650
856
957
258
303
644
435
707
21
844
481
84
321
944
695
416
814
445
779
57
522
614
926
780
689
891
468
528
932
402
601
665
866
505
156
657
738
426
819
111
738
370
74
417
551
889
455
632
28
908
200
391
323
154
900
530
352
889
220
205
134
566
744
718
654
555
389
77
138
616
961
251
80
152
735
625
16
132
289
123
646
427
392
938
326
201
455
572
149
355
917
594
638
124
935
848
409
4
231
101
927
306
863
865
622
979
483
924
824
527
759
131
890
318
274
592
286
798
684
993
940
699
883
282
290
660
729
318
691
653
55
622
560
476
860
668
710
472
819
888
836
945
787
843
944
743
652
284
257
585
384
361
236
599
294
550
744
990
507
78
689
473
451
117
481
700
392
132
428
30
358
541
376
582
335
297
520
625
862
719
878
310
675
120
380
604
502
674
847
266
960
257
120
224
976
179
873
895
887
69
286
583
281
835
429
726
895
819
650
454
57
147
622
320
189
356
451
543
913
787
428
778
672
585
866
723
879
409
456
210
839
229
871
617
298
688
987
315
622
202
403
183
109
250
234
503
79
667
991
375
492
395
631
931
573
834
985
406
352
106
668
598
948
615
86
777
727
392
421
253
962
886
878
435
543
249
847
203
14
562
640
48
916
154
787
475
441
808
442
635
19
660
453
896
215
704
830
917
218
268
701
416
17
199
17
854
527
841
192
230
873
640
640
555
625
892
128
410
974
576
844
580
135
188
96
894
358
726
568
342
691
941
701
991
816
266
621
931
950
986
976
916
213
325
24
263
749
574
729
198
61
722
108
564
137
419
27
754
312
309
484
513
928
415
345
385
630
753
681
781
50
801
635
373
518
323
466
410
973
718
884
435
148
338
85
456
328
271
147
483
391
365
679
602
447
128
990
803
17
363
105
166
354
622
616
824
281
885
932
131
742
419
582
698
651
216
615
904
148
710
808
889
22
442
796
775
240
313
532
272
981
440
494
137
56
312
155
442
583
523
277
448
414
85
742
367
779
118
313
76
513
298
361
246
302
871
2
42
37
127
300
725
139
97
852
410
940
43
177
229
884
892
181
566
132
748
528
724
962
173
515
968
680
307
805
158
263
768
505
620
879
715
112
948
214
888
272
705
695
163
166
541
705
296
457
5
11
467
484
279
646
103
466
753
732
568
732
984
643
281
172
46
548
601
285
803
432
271
10
806
846
516
588
735
122
328
6
91
0
842
402
395
187
955
942
982
762
303
85
676
797
442
319
979
955
994
187
366
783
620
463
264
616
640
51
617
899
611
60
948
873
844
237
395
332
293
829
139
2
922
810
706
333
434
268
648
632
528
535
407
823
98
504
316
49
118
10
468
431
581
150
101
246
768
42
892
843
867
565
846
900
488
620
668
707
429
426
526
267
771
574
622
218
177
243
68
995
549
445
865
1
490
689
298
650
916
638
983
7
475
595
604
300
147
890
730
804
845
194
465
895
900
272
912
577
876
808
417
76
504
348
183
828
697
9
675
417
446
899
372
915
879
377
868
697
488
575
744
204
356
467
977
268
907
700
145
266
263
901
75
211
279
173
718
574
93
374
769
361
102
301
214
94
448
77
250
758
424
259
648
431
165
469
140
303
971
717
240
465
15
371
212
838
760
439
749
53
289
833
870
480
126
159
283
22
932
453
113
654
638
995
376
475
965
983
523
876
32
872
378
556
73
53
633
544
444
570
519
38
731
843
542
50
995
521
841
93
153
361
602
399
622
649
366
770
85
877
355
677
748
996
742
96
852
310
554
305
442
410
704
748
269
419
719
560
666
805
539
195
827
2
364
209
969
764
937
541
139
95
706
385
968
729
233
721
526
914
670
355
944
699
159
151
975
276
187
784
871
458
851
547
318
126
348
633
431
903
686
637
633
606
803
983
809
306
398
848
148
928
39
75
477
687
244
869
701
665
387
930
841
602
811
5
789
507
550
337
740
162
915
281
723
31
589
721
242
999
601
869
818
98
145
270
297
833
70
502
720
298
315
15
927
93
188
141
148
8
701
181
261
865
574
834
792
798
564
474
372
730
498
931
494
603
884
924
698
166
651
741
100
447
41
565
932
900
444
819
871
925
954
296
133
654
300
310
976
798
839
69
566
93
488
718
501
83
517
760
44
877
735
254
127
236
600
851
797
451
10
34
903
703
347
7
461
724
495
35
958
167
690
160
981
914
567
805
650
547
378
371
29
786
534
18
392
203
269
704
259
611
100
465
407
815
840
34
139
435
17
471
481
909
313
390
306
224
940
415
264
815
542
970
722
491
51
97
205
897
370
308
52
849
380
98
575
939
182
747
282
480
509
401
766
604
20
315
417
224
795
575
434
389
651
97
981
148
844
691
634
543
689
553
250
729
434
836
680
182
666
579
848
534
751
405
159
919
204
438
723
35
68
879
835
846
272
30
982
490
12
607
925
518
209
92
357
341
660
148
306
158
279
214
801
124
666
770
869
398
769
763
914
576
340
921
972
579
111
331
168
704
302
709
847
522
493
233
245
205
394
615
785
571
549
308
87
463
303
455
960
173
178
969
977
292
69
77
753
865
814
275
295
751
207
209
755
486
423
36
938
776
878
433
702
403
501
287
222
611
902
453
918
872
740
72
800
837
442
223
433
66
52
644
180
427
427
793
187
902
749
95
193
837
261
42
486
482
244
23
122
414
58
612
905
492
767
998
992
389
266
43
615
346
852
769
301
495
977
497
188
211
275
844
917
560
418
333
109
139
104
740
24
385
949
806
846
698
560
305
160
334
120
660
515
493
656
402
576
303
447
598
304
612
930
253
309
807
370
429
827
348
426
25
292
743
191
172
890
983
392
159
457
194
558
948
132
361
422
119
613
424
97
330
999
965
115
104
199
875
127
863
84
948
511
253
221
539
653
402
623
416
555
24
45
482
197
553
515
657
442
966
447
841
313
674
668
606
913
973
449
144
965
123
786
841
182
686
234
302
800
659
585
345
802
763
772
853
731
787
823
914
274
750
173
16
228
213
973
279
628
690
900
671
980
354
181
17
333
667
797
161
812
98
859
785
266
49
625
721
914
169
985
614
748
193
894
649
856
39
498
244
870
406
360
589
812
122
920
569
117
198
68
700
985
439
439
895
932
495
868
577
485
702
815
21
979
808
220
573
316
529
380
785
981
716
219
310
585
776
82
809
305
573
502
110
184
546
38
732
948
878
187
690
807
257
223
307
550
58
667
529
528
416
344
405
351
621
593
941
605
37
711
209
464
537
939
262
107
636
636
17
236
358
829
124
734
718
654
634
56
763
18
419
350
106
135
726
956
392
95
827
248
127
898
168
997
479
576
187
855
976
765
484
21
409
759
492
653
746
455
492
985
350
31
504
193
709
189
243
512
250
946
510
762
497
855
576
919
406
619
757
764
35
706
235
281
223
414
469
806
360
735
256
719
626
931
822
873
572
113
38
884
879
42
401
838
304
757
891
152
157
374
716
753
472
863
712
57
651
858
17
914
614
650
508
991
223
292
502
285
836
753
503
725
597
276
88
501
293
952
129
467
360
364
832
769
95
510
604
257
992
187
760
775
553
230
291
474
459
287
723
545
337
705
972
518
50
34
280
20
934
486
798
670
911
572
244
22
465
789
351
75
185
490
56
67
851
181
832
803
2
166
225
176
97
666
168
114
499
945
451
148
895
710
206
633
638
892
633
85
138
48
847
434
916
762
190
590
52
640
214
143
685
993
788
943
603
395
2
133
19
236
396
14
395
155
63
41
852
333
134
391
697
628
246
656
868
906
259
872
521
913
81
238
869
34
559
875
200
129
373
186
783
973
895
79
556
46
7
900
15
543
172
684
546
664
870
200
375
263
939
104
578
44
816
408
659
673
347
271
529
532
651
270
405
482
851
672
920
50
899
707
423
901
989
555
183
169
17
507
18
979
164
73
712
969
438
52
462
301
720
794
535
586
27
364
194
588
853
94
391
121
88
928
191
677
539
677
293
144
594
589
924
522
413
178
581
469
606
921
733
328
447
968
177
364
330
291
286
701
983
364
380
294
591
531
74
731
695
740
800
46
775
605
558
205
570
927
823
795
656
513
460
915
296
958
705
801
921
952
30
696
399
986
555
590
715
42
197
624
656
627
656
505
164
602
779
850
566
73
879
648
175
76
977
975
538
462
27
640
235
273
450
156
775
494
272
569
188
110
14
386
411
865
883
394
227
333
818
529
648
428
218
299
64
541
499
501
705
615
339
212
709
961
8
809
98
142
191
195
467
793
401
947
222
121
645
571
180
682
471
766
118
347
156
33
784
554
632
664
166
333
631
867
758
221
633
224
13
602
38
523
300
424
905
516
729
318
632
94
950
829
68
809
3
981
87
30
297
669
332
824
541
708
900
878
189
194
108
707
886
387
523
938
826
586
374
407
36
962
867
617
763
167
788
657
525
55
424
788
808
564
561
672
784
415
436
839
731
478
134
920
866
788
778
757
873
103
434
495
994
125
724
195
935
622
614
201
397
34
434
193
712
310
51
12
36
291
498
85
731
775
134
724
136
652
628
595
608
163
3
834
916
975
336
42
540
7
157
235
202
231
883
0
63
520
961
724
981
575
206
335
820
956
946
747
26
12
860
822
812
379
776
192
907
655
433
884
666
972
278
657
797
869
95
587
478
659
250
470
429
13
338
126
805
542
131
246
869
387
295
878
489
959
882
340
327
496
587
711
733
264
434
451
841
358
946
366
921
179
973
68
388
932
171
762
478
759
458
826
470
268
959
312
127
250
417
814
686
465
729
762
52
227
575
206
179
681
394
984
935
17
402
946
525
491
737
631
977
700
34
782
899
462
354
705
213
103
123
592
863
522
373
945
968
584
938
955
844
40
999
211
883
294
545
481
779
364
883
881
679
846
747
178
272
229
865
636
280
89
2
916
300
755
771
19
842
960
796
891
499
453
124
164
548
446
125
386
459
326
126
210
797
928
738
340
985
408
240
606
873
276
179
267
505
861
963
283
715
531
757
747
960
972
949
482
579
347
519
435
26
142
194
631
351
392
482
198
930
656
555
107
877
121
313
366
574
283
398
220
46
3
503
248
484
980
148
53
478
526
698
886
179
382
553
708
294
757
24
897
783
409
169
349
861
993
410
830
925
737
508
885
956
782
318
887
238
417
636
530
729
430
239
261
449
281
167
797
639
989
814
682
156
652
122
252
433
253
12
84
949
287
204
620
237
422
155
623
69
171
147
7
834
178
31
395
369
825
486
768
620
652
741
415
481
592
253
424
596
454
389
113
451
274
757
163
284
830
51
124
597
147
37
269
896
506
75
750
997
294
679
123
388
452
328
301
166
880
668
927
929
597
767
490
205
188
254
818
467
791
773
905
459
511
811
386
436
374
153
725
601
433
781
587
679
507
761
398
410
492
474
800
204
465
670
110
446
217
51
648
871
719
460
108
647
712
63
34
658
246
167
283
25
417
173
560
723
507
441
947
985
127
330
160
211
97
756
68
139
177
7
43
640
126
961
601
286
866
886
709
60
119
610
887
301
334
440
894
84
562
653
247
371
249
884
671
199
866
714
146
254
220
70
582
621
45
464
261
123
676
363
957
958
957
934
72
239
16
129
23
127
229
629
563
578
437
976
700
165
854
300
248
800
1
607
394
500
979
598
538
425
650
716
807
762
690
749
301
422
55
128
148
859
911
513
236
301
873
195
47
813
925
739
86
118
815
450
432
231
257
225
217
495
235
346
455
105
897
711
323
269
609
151
266
443
929
192
704
212
808
353
982
129
252
354
532
401
257
643
516
881
527
670
536
927
514
253
723
58
541
302
636
336
816
680
554
497
833
386
163
640
771
444
197
370
262
83
146
847
950
298
636
916
822
15
507
767
483
465
557
931
84
943
544
73
514
379
361
497
385
491
496
100
866
729
546
456
540
376
182
748
871
381
959
594
263
451
892
858
266
759
686
16
101
952
984
741
502
235
556
783
803
135
946
713
979
769
429
802
728
926
631
1
882
781
318
504
284
835
538
695
903
232
568
366
684
396
182
727
604
285
680
86
138
526
955
66
674
598
940
555
535
816
168
43
73
452
237
633
972
852
793
156
613
683
493
190
734
618
150
88
288
237
850
1
582
163
1
228
417
317
111
406
783
196
900
967
153
219
765
568
258
416
753
728
637
798
393
575
350
171
928
349
618
603
918
108
728
133
403
13
28
562
644
759
762
174
337
996
995
260
936
861
590
845
456
144
679
567
568
561
383
470
534
236
776
692
107
346
162
960
976
691
451
283
370
617
143
485
893
8
79
955
529
581
867
776
41
258
533
541
259
831
679
789
332
170
59
363
810
289
365
918
49
146
695
310
973
22
190
898
669
632
653
793
104
243
963
108
480
995
181
58
81
242
594
574
99
464
679
997
42
174
580
532
520
913
862
866
425
529
813
950
106
917
426
178
522
165
656
973
192
222
108
838
801
997
250
256
922
516
770
463
814
80
444
797
778
839
823
625
503
3
256
945
800
914
22
404
943
494
497
336
258
924
833
938
60
108
345
419
765
391
409
263
715
947
629
557
138
823
224
600
263
738
707
924
937
415
307
636
531
690
84
445
41
171
415
721
369
367
126
741
388
913
704
874
919
609
257
818
273
618
940
323
648
463
773
557
156
305
394
223
27
784
976
513
503
960
61
653
459
264
446
35
487
780
204
368
187
406
295
182
839
624
592
597
481
710
615
525
700
891
586
427
356
991
526
790
414
968
240
652
234
42
272
342
258
977
829
406
314
377
887
560
724
209
580
528
57
390
379
745
138
11
415
767
786
781
978
998
715
480
113
52
179
638
396
759
447
267
51
240
895
671
638
722
201
8
380
526
702
84
488
410
812
593
383
73
595
571
952
688
542
738
982
152
247
553
723
380
172
485
757
424
256
972
635
44
431
472
475
586
47
106
338
996
971
802
372
186
423
189
458
5
659
70
339
843
277
143
601
380
351
998
38
213
442
618
283
911
131
60
138
563
893
663
837
696
50
459
2
850
144
114
531
811
18
834
982
589
557
969
908
669
824
330
838
861
287
856
874
977
352
1
631
237
926
66
872
257
994
493
840
164
564
772
143
47
724
782
643
195
382
531
276
700
635
525
130
655
425
327
626
25
859
392
129
80
37
547
703
12
656
964
259
522
149
814
227
814
874
688
189
950
60
334
415
11
255
334
623
985
33
179
282
179
260
429
627
321
868
708
139
6
196
958
592
685
791
799
179
854
350
67
752
754
100
905
900
489
223
558
111
931
274
918
629
891
526
495
220
915
963
474
869
565
59
297
261
805
333
919
0
878
252
580
568
591
182
360
433
395
626
778
167
780
90
145
907
221
910
203
232
270
636
654
547
831
75
731
481
580
414
199
279
870
55
46
637
420
117
222
359
93
684
343
326
774
691
762
820
419
825
970
63
802
207
860
386
579
566
989
773
964
625
401
431
475
299
128
742
610
824
255
782
419
43
687
127
773
105
151
319
346
589
807
493
350
664
330
478
791
870
740
996
836
933
330
70
755
278
450
380
996
836
304
854
220
815
488
407
356
413
531
447
86
281
162
140
644
712
698
38
858
526
147
142
417
643
521
519
491
220
608
874
176
810
675
674
248
112
71
842
759
135
371
209
139
942
660
612
546
877
567
901
342
647
172
412
608
945
550
212
474
769
261
957
695
199
148
63
940
438
30
103
37
663
897
762
792
261
777
909
550
613
327
460
549
608
784
332
93
211
706
656
129
839
783
806
243
358
656
879
32
923
231
930
971
306
923
246
213
783
460
805
103
697
924
493
764
190
360
267
526
12
919
83
566
764
363
21
339
587
173
138
524
434
865
418
293
234
998
366
578
961
752
205
113
36
343
702
21
153
324
654
392
252
168
221
254
140
700
934
830
139
216
70
178
91
575
101
761
218
113
8
658
198
124
856
930
532
556
721
821
394
74
96
147
190
971
409
156
903
507
641
381
178
13
209
784
580
154
466
929
854
13
358
606
11
539
278
888
385
492
252
140
44
409
492
775
177
263
869
366
399
815
295
909
789
377
49
922
70
972
385
876
880
833
36
997
439
480
271
591
686
615
486
770
680
613
780
957
920
681
247
540
502
725
414
364
792
986
553
65
12
427
507
566
641
702
365
336
628
256
764
851
129
633
879
405
957
847
51
947
846
980
486
145
485
346
29
815
196
871
82
275
362
67
571
274
448
956
627
893
213
656
140
169
491
228
333
559
478
960
729
906
446
937
354
884
396
387
727
443
907
482
92
198
562
456
9
59
136
212
821
407
252
667
221
873
863
68
266
538
957
835
646
436
779
768
260
1
423
440
637
42
593
43
726
101
992
540
331
440
316
823
831
983
99
870
591
792
999
966
194
505
563
357
35
346
147
439
402
956
800
599
685
632
597
944
795
128
782
605
315
989
591
734
738
950
772
693
110
687
580
249
708
82
155
781
384
546
562
713
231
763
457
974
268
358
683
319
939
107
49
764
926
263
206
812
724
569
968
660
901
769
789
251
429
623
864
512
64
864
327
11
321
860
478
853
972
397
418
353
742
273
421
312
745
80
40
398
855
719
194
592
81
346
938
632
396
362
756
132
79
841
678
857
52
309
515
710
117
784
355
372
99
564
852
296
715
922
200
34
473
304
277
638
497
813
858
635
723
566
587
915
889
280
313
430
650
426
533
227
169
205
955
229
330
889
937
491
937
66
229
553
626
229
74
721
22
638
603
886
539
788
880
503
809
490
475
870
64
111
98
937
346
702
283
560
140
447
53
223
160
697
718
647
648
426
222
6
636
425
801
204
378
391
551
330
704
458
721
532
58
573
898
240
781
285
5
669
531
415
223
895
979
825
284
103
788
616
186
972
22
42
401
759
130
525
250
653
647
817
594
304
441
397
195
822
623
367
30
290
233
782
375
330
667
914
510
313
738
226
951
857
257
146
756
224
875
531
453
24
259
884
73
54
7
422
823
608
40
364
626
418
966
526
719
648
777
595
499
18
141
939
280
416
458
850
250
484
227
43
525
267
109
238
803
197
465
633
119
126
412
556
654
471
353
903
452
90
750
32
113
863
29
526
393
665
100
178
681
109
314
538
48
500
299
573
309
102
411
907
713
893
199
278
599
707
849
901
767
594
577
51
74
208
41
670
55
444
597
381
660
620
945
815
439
903
53
836
431
902
537
251
121
736
810
371
297
586
531
284
911
845
193
328
729
195
99
407
78
935
215
854
597
478
400
550
384
91
737
652
61
312
786
854
155
26
793
35
365
957
279
522
596
439
11
706
847
965
105
244
539
890
12
229
913
105
280
524
692
908
558
26
681
243
8
786
169
975
418
351
172
93
648
939
573
91
74
836
651
263
633
262
639
638
362
411
849
709
600
519
439
381
61
428
494
328
236
743
860
588
830
594
945
492
153
563
443
454
787
652
458
937
453
787
945
282
3
573
116
922
244
774
835
993
689
744
515
831
32
985
291
190
644
661
444
232
2
951
529
872
457
782
729
860
970
958
995
57
955
857
563
6
24
560
611
453
120
951
235
140
398
836
571
22
659
931
772
806
114
836
27
416
625
242
660
654
436
562
565
573
200
133
160
747
761
256
243
928
861
165
712
167
111
51
948
361
164
824
955
797
311
265
971
45
884
811
880
141
601
161
189
72
776
361
707
362
329
649
50
14
276
612
696
532
770
540
752
60
496
467
793
947
921
855
491
51
819
845
323
825
982
681
351
765
993
794
625
963
181
475
177
719
456
419
685
653
421
962
600
695
17
880
610
375
137
922
869
490
266
654
900
87
766
296
647
806
526
526
419
434
676
277
51
68
844
231
42
885
595
909
114
689
620
708
859
844
956
202
950
420
845
207
489
125
2
589
182
566
254
190
625
18
174
927
771
580
382
291
547
599
976
754
487
252
903
99
879
286
213
849
462
607
197
243
577
118
954
564
847
60
617
3
474
87
887
630
998
529
648
346
895
357
155
401
231
58
818
590
277
941
811
501
695
994
3
660
672
431
416
706
727
448
333
829
187
696
973
361
490
251
235
984
623
472
946
206
417
572
886
489
417
280
123
395
987
254
357
635
800
560
698
892
414
931
513
40
266
304
955
604
754
624
807
489
883
244
603
232
691
907
987
722
102
583
743
843
942
535
839
665
426
138
245
161
985
819
144
95
20
777
817
238
359
27
776
417
920
299
590
677
901
608
478
79
618
994
124
609
651
872
209
392
863
214
283
924
516
145
798
958
49
21
290
494
529
940
975
90
855
711
531
121
442
296
192
465
8
490
105
642
486
557
365
15
559
323
145
879
933
917
682
632
944
669
610
438
579
214
907
878
346
244
568
958
33
464
467
944
813
753
665
457
574
858
728
913
677
593
116
529
805
74
591
131
604
34
143
254
862
413
957
168
531
353
358
360
220
894
397
558
849
391
156
938
803
859
539
64
639
71
737
344
649
29
359
175
838
249
863
118
273
983
558
919
44
625
269
191
955
866
940
477
647
115
5
653
300
980
675
747
129
998
74
515
780
675
737
958
936
625
10
6
699
930
640
50
275
19
172
27
60
816
73
217
470
640
86
790
196
838
856
442
213
909
514
497
446
412
270
38
175
751
717
756
512
629
947
735
875
428
774
511
695
236
535
188
882
351
61
347
893
778
554
374
931
684
616
538
572
718
707
19
518
9
129
65
812
631
568
806
140
262
413
582
77
228
654
508
109
51
962
48
73
221
880
966
95
620
179
206
74
925
128
349
71
559
649
202
417
820
928
886
932
428
798
101
302
263
153
65
951
410
109
877
690
680
721
510
737
431
295
822
581
715
247
971
538
293
33
719
480
657
11
5
812
36
535
551
326
21
65
38
27
509
231
38
927
562
873
887
455
265
962
397
120
761
756
564
920
780
856
162
82
412
511
585
680
572
925
37
389
271
653
452
473
820
130
522
459
446
472
445
260
890
877
680
440
976
350
706
514
57
263
684
441
824
610
316
540
31
775
583
198
822
747
567
794
615
637
660
487
924
859
547
954
132
85
564
19
219
256
54
533
889
576
490
795
67
31
70
227
559
62
394
887
211
164
783
582
440
965
854
271
121
535
311
272
943
74
507
3
505
480
837
379
209
708
812
694
661
290
744
463
464
63
344
100
109
297
431
355
195
192
554
865
498
284
699
335
71
651
550
47
723
504
683
26
62
799
549
248
907
555
822
516
36
405
805
466
141
370
191
115
270
472
179
562
459
90
880
749
976
341
210
88
48
932
970
684
324
739
523
243
474
294
879
93
752
478
573
131
236
742
63
207
618
685
35
405
655
825
23
677
298
753
397
61
19
986
466
92
94
530
743
497
170
318
831
269
747
861
760
985
514
849
698
444
725
593
295
25
606
392
471
525
163
512
219
992
84
39
10
817
113
240
961
748
695
177
124
832
260
669
338
466
337
505
509
359
375
902
107
837
384
238
52
82
125
540
304
346
478
997
477
190
389
461
843
853
31
322
723
522
491
964
19
621
496
911
439
644
744
124
479
328
193
827
930
700
877
902
848
720
4
868
615
137
777
720
367
622
44
790
87
348
493
67
616
446
100
765
495
398
591
909
975
255
220
754
151
173
514
461
644
316
880
204
67
418
736
374
790
124
459
459
447
543
940
723
405
492
296
450
282
998
542
563
871
915
36
986
592
88
798
696
590
122
919
148
396
897
854
219
309
439
201
364
771
889
966
817
341
475
203
558
669
993
301
915
353
627
556
233
481
22
192
325
35
676
331
84
663
211
689
378
399
889
124
895
951
338
383
396
767
119
782
729
795
921
473
464
602
260
314
459
572
412
645
599
298
960
657
222
426
154
561
742
609
199
715
204
494
643
58
534
628
796
519
155
919
855
182
269
579
698
694
575
172
70
855
833
961
653
590
102
327
644
691
75
283
895
638
173
516
463
686
908
417
348
928
885
161
462
420
864
599
200
514
815
311
490
675
719
540
550
668
661
658
574
585
968
217
734
457
268
302
810
25
865
589
975
675
933
992
101
65
428
833
772
462
704
86
983
908
313
809
282
320
314
202
171
54
750
326
85
723
850
528
858
284
887
586
560
174
84
349
729
693
516
176
660
134
954
932
241
375
809
420
415
590
477
127
119
486
238
475
362
720
515
361
381
960
470
220
597
181
264
643
97
17
321
318
417
529
370
562
258
114
569
757
265
242
876
80
987
927
729
158
117
699
876
415
60
591
232
242
693
606
128
925
364
267
152
61
52
888
322
963
885
224
590
758
927
137
978
370
742
591
618
699
950
367
552
406
963
253
49
338
102
218
97
983
30
435
961
24
2
684
803
923
968
662
660
545
113
226
987
508
556
977
515
450
375
612
941
17
504
955
831
897
406
94
956
555
782
327
707
965
460
96
485
605
451
470
687
875
540
825
203
842
825
857
457
985
25
369
146
449
808
333
320
790
569
228
479
202
753
136
26
985
675
465
827
253
501
736
797
928
708
49
400
394
223
533
879
580
304
388
73
932
527
155
205
318
192
36
542
958
166
236
170
667
896
398
982
497
584
189
915
740
509
283
95
747
830
588
144
215
714
196
908
790
954
516
493
397
742
321
808
617
808
796
699
733
609
444
783
304
806
110
861
857
90
271
587
758
481
766
185
916
821
660
458
151
845
494
935
87
527
144
486
188
317
596
723
47
647
568
548
570
374
238
627
49
424
85
982
776
342
733
232
958
123
319
235
892
322
444
915
787
748
285
704
38
590
168
668
44
559
26
250
982
904
499
882
386
247
362
758
291
632
24
289
223
379
619
721
688
296
853
333
867
241
863
999
355
257
319
530
453
592
365
908
286
118
607
259
490
133
102
507
366
821
519
687
792
233
899
858
915
648
374
355
763
688
494
810
614
828
627
381
998
654
293
415
797
45
755
758
735
337
827
396
753
214
313
987
758
991
828
377
346
691
525
192
31
254
400
58
478
765
133
964
684
358
358
208
135
827
277
15
685
135
94
741
130
926
558
950
550
38
33
924
520
772
107
312
293
765
946
797
591
533
294
15
766
278
11
788
80
548
99
65
358
149
765
899
277
702
259
645
419
605
30
72
704
409
300
551
881
494
76
622
271
302
977
413
170
739
341
279
9
967
430
242
689
291
778
759
869
330
90
614
56
549
47
52
484
458
68
610
335
713
234
864
974
832
642
874
813
730
266
545
232
803
180
420
437
501
682
610
581
908
154
392
812
264
104
581
404
372
457
922
742
604
598
468
494
765
336
795
736
457
467
264
193
398
557
973
408
41
155
841
39
311
497
399
951
305
148
313
89
488
603
244
160
773
243
345
271
94
521
827
664
856
160
579
978
863
10
68
517
989
957
619
519
42
225
974
880
787
300
274
177
674
725
975
848
466
565
201
986
799
180
599
515
612
742
741
714
535
396
638
249
663
688
755
734
373
974
964
11
690
878
415
247
683
433
159
668
969
119
218
182
698
170
681
216
826
289
296
169
536
525
420
541
467
500
943
634
589
406
122
358
753
403
424
838
66
577
962
902
527
945
924
989
519
999
957
874
267
736
956
95
56
900
955
470
539
401
432
599
625
872
922
586
940
950
110
382
967
665
431
290
341
511
500
287
479
485
918
572
871
582
952
677
87
658
848
560
228
149
585
375
694
161
309
143
344
150
716
42
575
930
476
930
340
419
257
414
107
602
983
823
397
61
900
435
115
557
943
730
950
296
273
732
179
423
586
449
237
253
112
392
3
561
417
927
549
520
653
185
86
451
556
284
191
823
95
951
548
413
623
507
531
235
965
915
632
109
206
282
645
141
165
22
333
805
880
234
37
878
387
53
958
400
819
628
345
864
822
511
674
330
718
602
558
676
923
951
913
227
524
868
650
573
479
907
673
759
799
898
577
616
426
561
172
806
635
671
385
6
155
927
586
491
935
985
73
472
724
16
819
927
723
274
646
579
487
977
470
42
613
51
919
314
824
287
141
753
646
542
996
479
345
555
857
284
823
458
823
422
420
418
680
207
680
985
381
136
391
54
624
916
431
220
127
588
654
491
600
981
231
915
672
209
236
909
38
735
429
488
802
783
214
608
909
25
479
372
867
589
751
338
914
35
121
847
851
525
523
515
963
943
275
780
56
458
323
154
79
816
992
37
177
451
227
910
692
568
131
941
212
675
993
104
776
943
312
89
793
696
971
368
980
197
141
553
963
738
434
797
635
190
258
402
447
129
89
865
634
5
16
718
130
226
926
604
311
973
414
353
632
488
520
817
516
456
659
978
598
56
71
242
741
333
169
327
33
506
598
967
978
376
9
19
281
546
568
251
37
906
628
48
647
365
557
959
483
894
551
101
622
863
939
489
55
58
585
386
748
210
92
296
462
336
880
308
725
735
531
858
742
798
253
65
148
33
50
884
342
781
744
691
913
137
811
737
62
701
860
560
466
364
440
112
317
755
225
566
66
4
368
623
444
545
311
499
547
354
797
227
649
95
522
222
35
121
740
96
684
737
237
207
714
807
260
296
234
623
834
164
346
405
123
698
250
283
128
719
649
847
712
736
447
528
978
202
974
140
513
377
376
206
527
789
988
228
130
304
80
535
565
623
575
253
454
694
673
750
207
616
974
362
983
345
628
628
912
178
922
238
138
473
55
334
430
555
434
337
908
795
682
793
260
998
394
395
763
789
774
733
639
140
674
850
993
182
666
157
153
76
672
115
461
432
679
767
90
245
401
522
624
223
987
476
856
388
946
760
941
987
934
41
798
629
500
377
855
236
415
105
93
614
974
694
122
720
578
195
869
393
246
561
553
271
780
151
555
535
969
944
966
893
291
457
689
697
301
411
736
797
345
508
43
391
651
181
702
737
629
734
507
58
725
514
318
744
554
305
870
84
229
83
853
712
740
343
294
691
986
433
129
502
956
531
229
453
95
778
745
941
719
747
478
800
24
265
222
347
930
942
318
755
516
8
484
688
575
993
815
829
333
594
267
119
82
221
595
706
453
763
438
384
112
526
11
173
768
266
179
342
983
280
914
821
638
901
831
803
764
49
14
813
649
273
612
858
522
760
743
926
376
624
618
485
14
267
951
192
760
249
513
817
582
51
168
85
535
609
550
99
995
66
773
695
767
338
845
591
254
695
594
17
983
606
189
755
462
859
856
934
275
850
787
537
545
872
24
723
458
9
576
730
684
360
912
196
858
200
815
522
8
538
929
121
751
181
678
777
993
910
230
906
426
766
858
857
27
684
539
907
240
636
165
155
333
21
683
6
580
123
92
669
303
500
148
957
430
566
205
373
1
297
987
648
136
886
590
906
584
251
768
826
958
539
688
631
339
919
360
567
146
700
451
911
522
814
911
697
570
661
700
739
180
244
121
837
677
445
563
184
402
274
529
412
642
899
129
907
694
577
612
774
723
271
235
954
740
490
22
2
724
668
346
293
935
214
643
872
346
104
308
707
259
301
224
979
918
454
492
154
320
946
214
604
202
367
433
40
508
231
456
600
110
702
706
937
501
118
721
773
791
842
86
867
852
251
930
650
723
861
561
884
426
307
457
322
940
268
977
409
485
261
632
2
244
807
867
325
104
260
439
443
601
596
516
505
632
410
210
491
531
362
558
390
350
617
378
695
685
782
617
935
956
848
262
835
39
669
92
36
897
942
399
206
148
141
792
568
275
445
877
372
760
49
55
156
361
414
464
161
176
319
57
127
144
611
110
30
779
920
685
226
245
444
733
216
408
873
71
909
881
315
700
966
148
620
96
124
508
566
999
243
232
643
897
67
26
9
21
331
695
769
426
178
727
371
936
40
838
973
439
596
563
208
496
672
524
821
619
496
567
911
339
702
519
983
273
296
5
66
439
509
696
555
597
537
463
107
737
795
270
304
841
161
37
230
528
661
78
766
754
617
541
176
197
412
848
637
553
571
706
315
642
44
807
740
679
442
112
805
379
439
877
34
160
11
391
761
478
38
548
189
256
471
545
227
480
322
551
453
330
877
960
677
679
106
168
447
856
617
977
525
853
779
245
736
754
122
82
489
379
759
135
811
464
164
432
803
679
140
635
708
546
426
555
351
890
915
637
163
58
452
106
626
217
763
377
495
174
983
963
368
904
587
248
870
270
436
48
19
383
483
837
101
517
133
370
924
176
879
899
896
484
292
655
438
512
626
23
210
33
119
818
7
39
379
380
594
603
607
892
906
774
254
989
515
567
28
75
827
449
588
266
630
947
544
638
240
683
253
353
804
473
57
79
185
777
476
890
681
293
60
521
970
575
742
222
713
771
923
848
850
848
32
710
11
373
591
486
713
303
320
124
713
985
299
908
521
194
991
565
875
342
313
198
656
6
580
235
518
738
729
488
724
993
51
560
438
319
358
658
849
672
580
287
823
664
30
796
421
856
468
10
686
35
322
392
45
846
556
999
193
526
586
166
303
749
837
756
554
645
954
914
452
508
79
413
216
906
350
559
436
132
771
971
870
678
873
504
788
481
136
601
463
265
845
431
311
314
3
167
625
689
5
456
143
398
646
314
140
943
351
134
310
701
663
117
278
313
568
282
717
831
460
749
58
385
774
55
585
887
737
296
259
662
802
705
143
431
123
654
460
388
796
19
876
267
470
953
281
704
977
12
963
971
678
509
370
867
254
400
475
867
956
471
414
189
353
855
162
739
789
448
89
809
321
743
993
15
373
49
358
202
590
775
483
907
234
511
873
220
274
952
739
373
809
325
464
188
142
640
948
451
488
252
431
308
192
535
592
188
897
558
600
338
790
383
825
228
311
0
531
953
140
333
660
614
161
281
87
374
399
760
105
186
989
547
598
962
613
958
308
660
543
645
998
626
941
83
499
652
571
942
924
957
271
417
277
172
822
458
15
86
726
763
255
932
457
780
924
285
29
490
969
624
260
71
992
674
778
802
752
898
862
452
486
147
840
648
543
625
265
991
509
512
652
2
21
701
512
998
72
340
303
774
886
345
713
37
399
96
73
680
919
682
674
381
802
973
74
14
294
497
32
697
594
930
937
16
528
372
640
221
597
601
769
636
554
833
580
166
155
279
14
190
413
714
206
105
924
111
911
626
364
891
352
525
623
104
764
882
682
942
464
616
91
753
136
350
985
426
407
953
254
70
100
517
107
194
297
229
363
34
282
537
23
511
643
139
544
225
225
939
61
87
261
670
267
499
659
914
821
948
101
712
600
207
191
237
968
665
352
985
121
728
847
824
552
946
610
448
43
662
758
482
641
713
940
455
445
529
94
394
189
195
480
647
918
398
791
14
509
422
820
289
589
225
321
580
725
487
148
30
57
107
258
142
988
513
132
967
404
409
773
531
760
806
338
367
928
250
358
981
809
494
10
751
523
328
958
854
884
22
773
622
643
430
589
67
800
990
739
329
667
652
449
739
776
157
173
110
659
927
724
425
834
527
67
185
60
469
127
971
973
586
967
289
860
685
57
484
242
645
74
690
982
339
965
907
667
81
236
211
94
218
109
920
456
323
51
886
359
946
892
787
156
672
433
441
777
663
283
397
205
544
578
62
113
760
44
656
311
900
191
866
572
169
413
497
579
64
875
149
92
148
518
744
662
661
357
154
34
230
779
980
402
774
673
684
330
560
746
220
984
591
335
698
829
777
27
155
307
704
452
950
425
759
724
747
247
138
99
986
38
747
374
47
102
921
648
447
24
897
828
819
693
206
483
982
703
458
929
166
787
78
497
994
991
248
466
866
384
6
861
590
557
250
716
796
995
281
461
401
207
684
75
294
640
76
772
766
908
529
235
222
433
278
186
889
103
833
370
909
230
9
366
495
686
208
264
464
475
617
461
825
165
17
316
721
992
581
799
457
612
349
661
250
660
547
308
826
925
997
557
563
225
987
712
451
531
662
33
77
726
805
820
883
614
473
416
377
557
315
692
526
841
67
510
267
999
615
414
976
607
379
919
465
918
377
85
493
732
739
968
356
949
318
104
309
692
621
158
446
889
467
202
239
677
52
122
618
901
612
355
595
298
532
44
831
332
134
640
575
409
70
707
32
198
771
144
651
398
514
373
372
595
621
960
898
607
229
920
993
922
220
666
16
978
73
593
896
37
916
764
413
837
572
497
550
270
778
34
115
326
765
952
840
67
360
664
773
795
640
745
339
774
744
235
590
106
842
731
406
144
967
388
237
876
534
633
724
794
99
964
680
880
18
353
731
26
438
228
14
876
223
580
435
232
839
632
694
779
962
296
321
141
396
103
481
563
518
966
616
419
778
428
195
6
953
335
68
150
629
835
595
806
730
650
286
123
125
598
710
647
781
306
608
791
462
22
891
478
934
681
672
827
182
435
301
283
475
443
829
202
920
597
165
932
388
663
874
18
114
644
779
34
170
706
32
69
903
940
932
602
598
536
938
901
249
775
16
655
744
769
374
459
396
253
852
540
345
40
191
790
107
561
893
525
724
904
815
745
684
86
516
262
519
723
778
624
126
57
399
404
334
310
371
375
814
916
455
949
948
325
76
329
319
38
268
138
908
581
722
81
823
315
229
40
222
74
846
670
558
245
952
950
85
13
68
810
441
116
236
683
656
49
259
236
452
685
735
123
374
413
177
567
584
396
749
364
903
403
862
957
463
675
555
448
490
782
953
844
301
511
9
81
707
431
678
706
307
771
110
472
848
45
848
668
205
937
637
2
409
279
723
234
526
609
307
781
528
915
557
209
18
811
442
101
108
987
726
608
19
791
810
181
738
631
981
420
183
915
642
796
363
785
1
572
42
200
879
830
430
986
939
906
708
839
925
86
798
934
573
702
977
232
768
9
887
93
953
300
347
195
675
353
60
345
166
243
346
992
399
137
392
875
300
412
586
941
33
657
876
550
756
53
650
349
302
373
589
336
959
922
267
143
916
63
543
836
848
775
557
145
225
902
783
351
176
892
364
720
523
432
254
972
98
174
726
688
340
389
453
136
265
292
31
685
238
420
350
427
764
182
176
229
137
18
5
488
773
518
40
369
449
650
511
331
311
441
768
661
201
459
843
343
135
121
617
312
473
498
795
343
801
13
251
923
42
136
876
568
187
249
97
760
203
667
827
474
2
79
503
33
864
621
311
590
62
587
255
81
213
996
647
591
993
412
588
572
509
5
740
473
244
592
355
555
902
681
241
957
721
226
485
675
184
406
239
70
115
193
210
906
690
327
838
820
552
43
53
882
636
922
308
801
921
876
137
785
352
133
127
170
909
18
694
219
737
480
731
450
787
43
173
849
792
279
727
847
879
152
109
645
688
808
24
723
226
390
988
31
183
989
479
808
696
503
357
653
972
199
813
515
336
759
529
945
762
383
867
208
954
871
156
843
78
707
115
201
198
41
46
459
177
771
485
461
187
458
103
917
26
763
978
127
321
304
406
941
146
619
505
789
857
575
846
380
31
987
114
955
153
958
527
578
932
220
754
21
216
808
524
99
237
996
275
38
128
400
610
197
592
665
201
674
477
625
532
773
671
227
591
559
538
950
360
377
158
5
782
458
484
717
148
212
671
410
6
79
570
176
283
923
676
690
801
269
402
571
814
173
476
600
155
781
692
376
330
609
229
877
523
758
824
499
47
878
880
912
747
920
619
716
627
255
956
848
631
664
123
229
579
90
939
69
975
357
301
869
365
417
358
672
192
72
759
317
290
289
942
73
105
166
577
189
154
229
109
213
225
658
101
121
21
565
278
854
729
494
505
79
884
85
560
716
689
636
317
816
112
306
574
40
306
476
585
215
55
826
370
628
141
800
104
675
986
622
623
473
50
957
790
846
746
937
873
104
840
855
518
644
360
433
427
481
865
720
698
472
992
157
452
551
535
4
249
365
340
526
221
649
296
789
855
375
241
447
583
21
689
418
551
215
587
78
160
256
891
49
645
931
595
460
328
757
755
287
949
746
594
784
237
309
812
503
838
544
70
421
923
731
733
59
436
772
569
942
906
935
660
669
472
622
863
260
82
607
928
249
565
687
181
502
713
596
309
397
893
935
882
346
740
746
825
202
954
580
640
630
550
113
274
206
157
677
433
905
448
224
378
762
152
242
363
244
622
543
21
52
765
92
229
640
44
895
642
419
651
725
104
300
247
247
487
971
16
607
65
612
260
618
189
905
595
303
376
297
331
443
476
288
869
321
347
267
60
375
523
860
105
824
482
123
528
960
138
512
895
685
564
319
760
994
445
617
448
867
550
794
964
399
801
967
884
679
151
910
712
783
995
809
998
201
767
706
155
615
500
801
886
325
907
275
819
445
891
877
66
30
33
375
269
906
491
122
751
188
10
675
596
121
77
737
340
22
889
870
21
653
516
209
623
46
969
342
179
166
405
526
659
283
773
885
575
966
400
949
528
487
878
759
579
651
365
747
162
196
566
911
870
788
411
401
531
815
144
619
877
411
189
943
846
606
124
366
711
902
600
927
964
708
547
565
574
491
218
255
438
413
196
345
325
52
691
692
278
953
934
441
503
817
369
108
809
366
526
336
133
128
46
673
264
203
10
728
613
67
804
298
111
454
168
646
209
430
583
767
708
127
538
126
388
213
875
252
860
399
696
296
830
46
708
824
477
717
966
500
275
179
398
857
925
186
363
291
439
772
228
400
105
293
828
223
250
951
789
172
894
213
771
745
843
640
315
880
47
589
346
358
496
508
974
885
853
336
324
352
726
987
405
458
737
362
295
630
523
926
287
65
405
163
990
413
555
274
409
820
560
813
266
858
478
297
415
514
674
880
249
848
837
696
763
54
920
80
881
539
405
209
274
982
394
560
136
537
390
984
78
842
173
501
891
156
709
741
908
212
210
534
593
267
707
9
274
806
932
471
272
972
848
661
499
490
990
253
602
716
850
194
440
541
126
528
960
786
813
623
111
57
629
581
295
332
906
770
111
410
599
60
396
579
435
817
740
720
974
177
811
173
578
778
912
396
871
362
70
926
103
457
833
552
218
311
267
92
781
152
176
321
359
811
604
694
2
774
6
252
245
544
964
359
801
652
847
637
10
385
856
280
870
739
538
394
263
760
283
615
715
659
158
112
952
252
468
190
441
31
424
580
41
765
526
161
74
901
187
497
897
175
285
711
744
51
874
809
142
256
555
781
161
832
825
109
441
961
176
89
177
660
438
777
618
442
476
163
421
208
210
203
629
667
479
469
806
278
999
384
928
806
151
358
420
118
276
202
13
65
725
690
994
252
967
541
234
896
293
33
705
681
242
762
531
666
990
903
926
327
434
714
683
785
782
423
599
891
226
223
263
870
406
89
547
614
216
448
966
219
488
472
458
593
906
893
75
619
144
114
712
889
867
39
89
994
892
366
667
407
76
236
368
97
762
19
896
633
742
757
100
502
374
734
952
440
747
909
121
957
888
871
705
753
909
650
180
756
998
828
548
382
443
583
783
797
121
300
186
25
649
740
263
295
660
965
854
197
938
14
913
870
811
647
920
427
446
592
175
960
661
13
845
228
41
771
55
57
914
222
689
57
587
995
678
551
210
360
705
187
677
746
327
673
808
68
543
385
302
731
918
944
198
305
604
730
851
974
631
394
599
849
937
530
81
954
158
365
327
927
281
513
527
847
450
372
514
615
801
105
539
900
615
192
358
798
712
303
953
276
278
647
21
301
276
431
645
610
934
344
679
283
436
831
723
817
810
379
615
134
555
392
265
341
891
340
404
644
29
200
552
593
228
843
201
962
165
696
918
231
911
556
353
237
244
454
540
541
568
36
463
562
639
727
752
225
344
399
629
547
208
450
684
421
718
685
326
531
95
809
408
478
363
694
270
159
224
677
788
638
795
156
686
864
985
561
491
419
983
678
67
208
480
865
624
315
108
338
829
930
367
467
681
251
37
637
236
648
577
374
315
920
905
221
220
151
194
68
539
116
664
372
317
975
43
841
99
737
490
190
273
529
25
489
9
612
280
829
908
349
170
361
205
376
499
247
631
228
708
170
757
246
50
92
674
415
454
195
224
970
958
323
879
413
303
430
697
236
758
519
759
735
818
737
926
93
994
88
515
483
493
417
629
977
540
251
631
856
294
978
577
961
477
574
256
603
95
137
265
712
901
83
775
545
491
453
818
83
820
120
7
562
636
626
414
519
810
924
405
286
282
196
956
122
337
303
880
973
126
144
304
280
836
634
407
411
747
498
993
403
694
608
590
704
742
443
359
104
405
548
833
532
44
299
520
215
49
486
641
759
406
468
262
999
717
99
913
615
834
517
802
297
869
349
999
155
606
265
497
390
817
918
202
167
856
840
492
190
587
430
159
234
873
177
938
672
712
74
744
879
94
965
336
584
296
942
648
771
516
169
610
627
447
807
582
383
157
539
228
592
347
592
987
720
650
91
434
525
906
236
840
772
929
514
542
819
431
784
867
577
901
741
259
384
671
283
906
176
442
593
19
473
839
357
146
418
901
688
751
554
62
180
562
626
531
613
680
664
128
655
629
620
188
914
205
682
889
320
835
345
581
320
739
538
182
852
924
83
633
60
704
613
117
372
873
931
101
189
842
846
378
60
215
597
421
986
384
617
627
302
459
924
105
776
644
594
668
872
469
282
819
886
771
221
235
188
823
638
115
680
76
698
970
935
457
268
25
518
742
175
337
311
296
425
32
594
941
941
892
829
72
905
805
607
694
10
44
541
428
739
602
583
321
522
568
511
214
375
436
792
916
245
211
180
60
708
214
921
21
528
984
299
426
960
498
306
861
258
376
756
188
506
982
239
98
89
527
331
450
693
995
737
614
900
501
741
774
219
474
31
859
851
912
476
858
686
349
811
888
726
682
947
997
783
114
866
254
172
298
175
663
258
909
205
578
711
560
847
903
127
763
557
718
259
653
696
203
117
740
518
231
247
397
737
256
836
518
821
374
239
541
986
989
931
686
43
413
401
355
243
302
860
407
989
384
53
747
704
75
619
944
938
613
137
183
522
173
347
392
141
274
539
698
877
379
25
601
249
440
296
149
422
458
789
245
846
599
349
623
888
412
542
93
114
35
159
306
295
397
757
479
118
30
101
541
536
256
844
226
272
321
159
735
505
843
584
721
157
973
334
961
377
533
570
456
391
579
582
995
731
26
657
922
802
831
645
243
907
257
159
608
10
954
977
346
705
550
632
622
720
726
355
568
638
96
777
330
901
108
318
887
204
817
335
20
526
205
355
541
571
593
712
784
475
140
774
580
12
986
776
753
775
250
87
612
518
282
716
296
313
951
610
939
72
102
816
451
727
864
864
848
359
757
658
78
398
910
969
951
837
251
795
694
560
904
828
147
851
307
865
422
451
974
171
1
60
388
258
452
58
140
280
966
990
364
697
783
719
625
863
506
693
285
56
309
348
810
300
873
419
152
34
76
710
17
827
703
48
609
257
94
596
100
581
133
592
810
164
847
319
676
627
889
116
699
793
438
655
297
157
9
277
806
840
993
934
326
33
497
147
171
95
312
547
872
421
105
714
832
788
829
687
22
686
144
423
225
751
30
864
538
270
19
91
485
725
228
907
406
225
929
842
367
663
77
148
732
545
645
30
75
379
690
546
989
95
48
959
476
564
917
383
16
366
795
90
632
185
763
221
801
557
70
1
555
287
359
986
213
533
686
697
770
387
241
520
870
777
756
949
238
163
830
803
207
854
375
358
917
197
401
76
609
486
954
524
333
732
459
78
626
606
329
2
499
78
742
363
503
503
585
152
460
63
301
934
363
434
870
218
735
90
703
764
845
420
668
499
484
677
830
493
467
872
116
3
302
826
937
968
947
402
225
203
573
83
653
871
116
905
222
45
79
197
721
809
814
555
252
236
395
304
681
76
89
895
244
466
623
49
368
42
593
137
461
71
657
942
789
150
412
276
729
218
562
888
493
333
537
497
285
290
751
436
796
197
127
326
318
275
0
145
990
833
3
575
799
293
893
589
454
666
55
970
721
554
938
781
36
621
356
55
954
359
79
984
256
91
414
292
663
445
872
212
217
971
272
836
657
873
225
490
212
649
913
924
591
483
385
865
706
925
299
268
693
19
675
469
34
512
740
527
393
753
622
204
563
761
174
53
11
208
954
245
390
399
350
968
312
987
555
23
241
578
585
736
33
838
573
17
706
360
501
274
813
576
954
47
365
694
30
947
281
119
419
251
459
710
258
793
106
561
359
327
179
86
969
648
577
332
700
2
604
844
639
977
442
560
360
688
515
366
566
271
806
898
538
689
651
936
843
386
594
933
298
312
28
217
477
989
183
693
989
597
162
102
750
284
856
701
410
607
209
581
753
673
388
339
706
869
631
469
13
381
605
922
510
697
40
564
401
134
14
944
514
312
748
633
663
991
103
468
93
856
585
603
278
871
759
206
305
839
335
203
331
800
157
284
671
710
225
52
355
707
915
648
47
418
288
528
385
253
284
539
951
100
876
15
976
465
433
739
798
805
753
56
31
455
278
437
531
105
892
17
515
758
401
479
457
767
912
310
22
105
835
224
564
25
194
120
759
93
710
343
737
36
918
590
192
892
778
932
692
955
361
931
193
747
593
549
678
895
782
869
607
728
179
379
966
479
849
106
406
325
763
183
235
836
779
233
492
458
34
410
798
705
959
660
381
439
472
472
740
568
708
363
967
64
258
908
161
74
720
907
276
568
999
344
668
502
776
983
702
974
254
214
322
84
158
968
395
200
392
501
571
267
666
256
938
10
590
992
100
209
181
773
159
898
970
493
829
722
214
973
119
533
584
863
21
847
922
852
704
149
562
758
829
82
176
104
307
433
729
741
589
392
853
49
469
339
523
514
60
531
665
999
654
67
374
296
678
527
640
37
809
842
862
828
130
389
861
307
279
674
759
134
96
108
167
543
588
576
82
296
183
971
606
436
38
464
520
253
189
142
269
274
366
397
661
465
863
162
263
262
314
254
221
743
98
336
920
583
305
872
274
605
136
786
489
215
634
289
902
113
136
424
576
539
897
763
736
378
228
799
258
413
376
229
97
126
214
710
549
662
392
714
405
389
95
92
685
483
556
824
349
150
707
976
517
530
318
729
230
862
135
640
385
313
370
556
756
923
314
292
73
159
195
375
218
138
937
4
424
196
352
385
601
863
283
462
346
25
324
222
711
213
918
670
746
572
191
161
820
918
397
447
42
111
973
318
692
815
977
198
875
652
481
208
412
831
610
529
527
965
448
462
830
807
220
118
976
16
409
830
828
0
861
829
464
67
850
266
806
598
178
607
950
98
597
537
272
424
964
755
839
17
362
123
705
797
156
549
258
474
533
373
146
912
24
569
679
352
513
63
718
235
358
255
821
37
10
770
522
587
985
727
264
396
628
693
227
228
100
18
25
481
767
71
360
722
769
458
300
502
260
482
220
846
786
50
62
498
850
844
920
735
539
868
383
860
576
817
796
607
238
754
639
496
23
125
449
32
499
493
231
775
610
239
421
60
367
996
447
463
274
564
141
351
857
391
669
869
855
394
108
838
546
92
78
353
316
29
702
792
895
846
591
626
62
736
628
742
326
954
510
166
227
341
107
978
958
962
717
850
513
315
790
15
769
256
287
696
851
276
128
401
258
800
603
524
932
45
596
583
707
666
306
324
771
659
631
223
303
222
980
302
150
367
236
354
456
918
241
972
560
742
379
483
38
600
903
716
211
801
192
746
751
240
552
745
714
407
501
876
192
389
303
167
151
766
130
217
492
260
336
911
340
120
103
157
275
771
983
38
140
256
422
977
832
364
798
529
273
417
811
367
719
26
534
194
444
431
791
307
287
536
910
281
819
227
380
281
411
101
760
143
421
201
627
86
584
623
217
494
436
501
268
729
566
3
222
760
289
354
337
788
958
905
933
679
813
409
240
115
303
720
605
243
370
557
408
824
102
972
416
550
806
417
175
743
609
972
537
636
775
368
684
758
352
528
62
284
360
974
964
930
576
843
565
618
742
103
679
587
675
566
882
149
215
646
96
512
260
173
668
295
892
935
554
426
452
581
708
224
141
196
71
74
693
560
564
158
241
509
579
926
866
428
494
59
570
178
366
737
2
345
585
31
600
839
146
222
817
695
84
750
79
646
278
70
337
33
99
910
358
45
748
760
543
368
344
600
15
159
711
21
414
970
86
160
649
598
147
565
661
957
280
494
465
592
877
9
28
748
476
929
676
128
992
525
371
758
338
386
239
696
267
563
950
678
643
622
588
905
541
379
566
257
634
216
92
820
750
912
436
179
198
828
219
165
343
100
892
482
692
963
924
314
52
527
831
388
423
567
180
551
284
636
788
666
847
142
130
722
758
979
930
62
55
608
746
477
192
460
452
33
96
905
684
93
241
891
28
464
523
237
297
963
614
133
337
538
354
36
406
896
170
267
8
577
775
251
817
515
195
546
842
795
665
280
620
389
944
977
770
250
83
211
480
922
41
541
464
799
119
799
925
46
820
136
348
394
862
675
691
639
488
225
416
77
172
741
285
112
915
62
396
112
509
408
763
951
422
81
52
305
0
126
112
884
479
258
949
459
355
738
75
644
694
268
519
767
10
338
716
894
657
774
461
61
411
192
140
100
15
687
652
229
691
141
683
74
940
861
923
450
719
417
711
691
389
525
329
291
256
534
322
805
288
255
132
259
414
71
820
611
727
562
984
647
474
783
435
424
939
80
544
717
809
49
56
363
673
778
795
621
203
35
634
647
966
357
679
632
90
879
966
59
668
517
745
212
724
876
279
27
474
590
595
546
283
299
57
410
514
54
209
101
496
645
704
239
268
971
82
663
248
571
2
902
445
216
403
509
235
137
913
168
971
880
875
562
311
259
702
68
809
890
767
908
2
852
528
183
214
593
377
520
826
703
280
227
429
566
51
114
701
660
75
294
195
219
59
794
19
542
954
1
574
84
999
638
116
372
179
632
368
889
564
4
418
95
672
697
130
464
265
948
872
226
782
98
535
53
694
578
197
416
712
88
657
200
950
256
747
841
501
846
234
713
227
142
836
936
86
530
57
500
503
856
622
399
623
120
241
127
714
879
712
281
795
764
436
654
226
200
776
467
652
27
442
577
630
641
32
396
670
742
215
826
957
728
650
242
601
851
527
532
155
997
862
398
833
728
593
635
908
816
74
224
419
152
856
540
515
578
208
136
666
999
329
642
275
927
441
56
439
924
66
923
540
33
823
131
935
133
329
586
500
731
931
53
923
220
368
884
903
735
373
966
549
867
482
450
189
219
73
58
898
97
893
425
637
906
958
748
899
316
268
12
528
941
967
302
702
993
311
369
812
53
914
367
684
800
441
860
911
215
462
972
290
365
946
582
660
383
667
949
324
359
156
322
624
72
166
503
236
677
200
816
711
178
321
956
853
737
914
533
268
911
967
234
609
581
400
626
893
958
314
537
164
416
841
352
548
794
196
59
398
263
363
669
742
704
639
430
130
799
702
127
245
595
342
520
621
989
155
863
408
459
972
189
756
644
77
790
195
205
194
630
687
220
508
34
740
687
112
77
174
270
685
192
361
562
799
41
368
96
438
935
828
148
682
680
283
177
905
892
929
269
794
855
905
578
779
844
502
864
339
798
776
691
88
729
174
695
607
751
668
115
576
222
269
155
354
224
532
7
377
594
561
116
670
37
712
342
978
348
180
328
658
554
908
654
316
169
474
488
416
913
513
130
871
71
103
41
40
221
326
541
313
600
474
211
732
205
559
359
794
42
347
706
382
846
778
526
859
686
94
609
937
632
764
169
229
829
885
301
826
539
395
852
417
548
355
298
422
18
288
435
867
995
766
938
56
699
335
731
749
394
673
134
332
176
659
672
577
559
608
993
206
857
248
194
305
67
285
718
158
349
135
710
265
15
298
879
528
53
995
148
65
13
257
753
439
854
170
715
755
128
89
851
660
51
775
423
398
974
177
764
666
874
847
515
989
965
92
76
84
55
506
455
684
795
730
141
905
517
551
347
31
565
695
688
634
441
736
279
245
747
125
852
53
464
377
89
418
629
142
296
650
723
220
701
968
892
376
16
492
998
523
279
694
276
534
747
594
571
166
59
159
687
663
621
498
552
664
816
283
504
65
787
895
890
72
735
466
882
267
498
801
755
694
905
271
779
917
133
637
866
605
296
638
668
336
379
322
156
4
34
291
945
244
937
282
803
704
238
902
881
648
224
530
868
905
772
552
378
57
819
245
22
218
571
96
257
827
544
485
328
409
766
943
558
140
663
832
613
32
798
573
272
391
856
27
174
331
414
872
334
745
566
44
974
783
644
941
961
914
407
6
301
153
417
420
247
647
920
418
777
541
174
136
991
144
753
181
136
439
729
12
152
493
210
389
894
11
4
716
499
69
770
519
862
654
58
538
318
423
228
703
693
51
974
909
429
489
272
205
199
740
430
176
584
106
996
837
110
2
156
525
69
402
31
380
820
971
479
77
159
871
388
730
620
517
190
516
688
304
465
625
994
197
6
916
299
807
522
94
717
375
269
261
140
375
565
187
174
709
259
348
912
417
89
628
449
943
123
842
436
378
911
744
895
866
591
974
938
783
169
879
613
47
584
722
902
683
258
233
161
897
761
706
422
845
777
155
416
854
999
798
444
257
858
676
699
4
886
333
431
987
407
399
537
251
170
307
546
47
816
521
969
58
831
792
731
511
416
616
575
559
323
7
703
387
24
759
271
744
318
455
427
474
938
616
994
453
124
699
878
450
456
108
947
553
80
391
59
939
39
963
156
504
874
408
977
891
268
116
212
949
531
246
961
308
240
825
727
993
187
787
161
602
420
928
531
402
705
665
581
288
740
82
81
482
769
76
341
160
748
688
141
989
77
607
315
482
142
590
324
19
238
748
81
327
808
668
42
657
535
959
943
110
966
388
162
738
928
898
784
428
391
419
145
167
565
129
781
944
831
917
314
253
877
783
167
776
79
364
834
382
338
341
893
628
162
460
959
559
470
953
338
598
873
395
236
647
990
626
34
785
706
582
796
47
8
803
550
617
544
848
968
870
926
934
950
862
634
204
378
267
136
398
549
514
570
124
867
199
672
759
531
397
204
515
668
773
705
935
38
475
220
289
336
70
260
188
182
968
623
73
293
367
830
895
941
562
275
816
184
998
916
541
341
523
666
909
399
429
534
695
335
813
781
594
229
332
55
784
902
371
367
387
716
801
580
668
964
212
427
793
967
977
164
129
187
169
398
544
223
800
804
437
889
994
46
363
169
976
444
645
732
500
791
993
228
598
528
62
31
543
791
587
657
772
698
960
307
185
573
335
661
218
584
211
704
108
900
401
241
562
383
820
720
824
525
138
499
523
406
129
773
527
886
967
421
891
601
167
973
308
841
67
745
840
625
511
286
344
848
876
690
342
108
480
621
634
64
139
216
607
425
462
649
507
887
690
214
896
58
90
248
371
127
710
525
464
835
489
41
162
593
523
174
582
248
60
98
305
354
434
613
944
205
154
621
707
169
699
48
93
804
113
271
474
492
432
177
266
277
358
706
924
765
278
73
856
271
674
910
317
31
617
631
454
286
968
515
632
617
885
237
488
497
210
882
830
215
682
997
904
512
827
992
902
42
63
43
797
201
801
598
127
129
272
586
790
112
770
580
219
484
912
309
253
992
534
208
892
939
150
542
513
342
99
907
186
420
37
396
603
754
932
931
446
372
534
788
261
601
704
905
241
748
596
274
793
974
74
637
263
909
975
299
432
145
536
24
835
836
800
254
483
865
756
17
55
785
408
669
42
219
27
972
803
444
352
245
790
564
97
990
154
333
846
901
506
639
125
670
460
635
571
253
777
355
82
802
780
23
414
871
162
764
499
964
947
885
598
216
442
838
292
132
69
834
702
218
684
23
384
282
230
586
612
40
184
339
275
474
163
412
802
942
554
728
380
801
886
433
7
120
50
769
126
938
168
375
702
458
229
914
159
939
379
182
678
596
223
212
999
633
741
126
139
107
306
394
870
888
16
57
743
739
679
857
225
907
682
17
438
677
909
924
601
169
427
471
409
882
109
88
597
388
114
235
61
280
894
252
920
218
970
215
149
170
490
182
367
370
424
391
389
509
883
44
510
137
625
264
650
482
979
556
427
532
166
864
43
568
415
772
26
165
901
342
85
464
927
229
80
936
293
100
909
372
213
727
980
342
881
863
13
679
215
391
489
174
789
651
590
410
237
898
786
146
124
677
802
317
174
3
226
745
428
589
151
584
832
499
988
436
114
307
618
0
552
624
506
425
822
246
706
74
13
221
667
973
529
267
22
443
442
547
701
478
260
666
574
104
777
944
191
730
344
330
451
781
808
996
653
847
952
118
489
265
32
122
712
196
867
657
742
155
517
670
676
806
127
962
547
426
638
31
443
678
712
919
924
970
5
251
551
339
11
935
666
20
405
749
913
425
769
967
583
599
545
784
465
41
806
334
135
792
833
732
422
945
193
556
705
624
376
690
672
409
252
678
744
602
253
296
564
104
872
306
526
133
522
520
102
86
697
903
256
303
89
526
824
834
546
393
233
213
282
645
131
692
772
95
656
817
810
871
803
752
869
133
78
696
675
730
160
312
494
443
770
58
471
618
402
339
112
493
669
537
749
294
829
915
93
377
851
183
767
444
909
232
228
732
443
519
533
480
808
820
430
858
552
236
144
660
583
498
588
5
330
168
403
353
244
808
971
818
535
423
959
771
664
108
218
348
180
48
749
840
50
740
193
561
25
156
436
964
224
720
67
508
213
254
239
921
285
936
448
155
543
421
987
781
759
930
750
262
17
548
126
546
746
91
260
855
843
378
187
39
789
577
265
782
763
752
189
338
658
891
586
209
856
715
549
8
262
622
984
97
66
628
651
836
472
850
509
771
152
759
679
92
158
433
51
538
482
772
793
710
162
853
470
734
882
924
104
33
896
686
88
189
388
494
611
984
243
307
332
292
106
970
348
901
300
855
810
573
22
556
27
415
864
694
63
634
114
1
911
258
827
882
691
129
971
236
920
677
68
719
161
351
242
39
874
203
880
878
455
406
361
767
432
643
54
492
594
481
695
283
361
133
245
527
952
845
30
195
79
934
111
600
263
358
610
29
157
892
281
770
657
410
814
193
106
981
451
625
859
77
412
372
381
60
567
537
699
84
596
818
182
273
102
535
630
370
758
927
869
731
705
425
11
800
331
890
681
681
499
438
270
254
561
83
15
109
627
469
453
271
525
855
219
439
464
923
589
864
508
228
34
538
597
164
489
483
8
3
750
79
558
122
212
676
908
260
179
454
328
87
610
181
341
83
941
535
606
734
784
374
356
751
664
142
976
457
40
896
77
535
230
168
329
953
671
648
816
769
215
526
734
745
113
693
200
404
484
653
512
779
961
671
98
709
949
469
93
684
118
557
631
779
294
518
52
65
478
791
806
551
636
660
778
21
749
898
476
880
597
524
352
419
105
356
524
214
577
770
739
566
940
393
559
488
491
65
920
385
571
775
974
412
625
507
670
246
353
466
9
324
157
171
441
448
951
101
365
143
227
734
37
268
43
842
464
524
499
178
615
224
232
67
195
28
667
931
315
800
522
859
875
989
334
595
874
594
410
667
401
952
692
9
366
236
419
128
848
455
935
856
95
353
145
727
660
887
574
380
962
898
668
394
888
265
159
426
175
358
762
920
68
207
191
697
834
302
882
132
6
457
40
873
493
710
332
204
560
60
308
757
770
574
606
362
564
674
165
451
885
923
87
331
489
716
427
590
276
922
281
542
767
232
887
296
555
851
865
35
721
88
277
532
800
971
960
122
583
317
850
822
553
465
56
924
812
528
995
388
620
67
570
704
757
107
534
902
974
701
687
61
415
951
30
628
908
820
12
999
317
287
337
396
792
541
419
104
459
519
957
7
114
113
498
399
336
419
85
970
494
72
753
128
279
344
24
457
974
139
509
925
705
209
173
488
474
345
541
554
652
71
217
538
762
107
635
785
35
768
20
73
563
49
173
224
559
515
771
30
602
849
766
873
366
829
99
694
677
793
167
891
414
618
406
153
610
664
62
293
536
443
714
506
635
819
809
720
292
79
815
303
481
506
950
995
815
379
96
541
67
842
994
883
464
172
24
546
729
787
906
169
301
502
553
949
942
492
145
638
486
832
52
34
701
391
986
325
455
643
864
373
967
948
617
322
622
856
670
500
720
524
23
52
268
561
605
576
241
428
961
379
288
414
971
749
281
378
37
580
25
817
625
265
673
165
654
70
701
233
284
869
62
47
529
636
735
875
834
851
573
712
229
810
50
122
227
445
523
279
865
847
215
244
955
224
718
537
658
412
162
703
836
111
439
776
166
270
733
752
802
892
53
354
17
231
739
356
702
588
320
662
798
830
162
487
954
721
596
188
801
835
443
508
489
80
774
178
837
796
785
951
154
276
592
887
308
221
305
289
316
181
717
325
189
166
217
275
564
883
883
932
417
933
666
448
992
599
458
344
232
311
692
292
838
661
227
476
884
657
0
96
712
994
445
666
677
430
751
136
194
976
506
750
758
493
146
661
940
583
497
466
346
917
328
730
177
969
319
142
38
455
919
496
474
745
544
621
390
501
962
741
773
175
777
148
404
102
853
157
149
79
576
248
168
662
109
346
871
524
490
426
442
138
881
236
538
445
172
466
67
54
769
134
706
326
35
7
441
626
907
497
692
598
491
735
117
332
91
713
14
356
485
637
524
570
918
72
465
913
183
448
713
270
709
152
191
291
812
68
501
339
191
561
318
153
439
328
304
805
789
104
91
20
313
73
954
817
637
253
531
234
604
912
963
330
379
143
739
500
385
685
788
635
76
1
939
544
357
715
927
421
23
940
885
388
367
471
570
468
384
281
949
674
457
875
916
864
719
670
47
156
766
424
83
972
391
133
398
494
289
885
466
706
375
498
392
646
674
452
96
529
776
797
87
320
847
913
591
931
567
145
368
77
348
415
739
249
813
897
924
532
644
930
108
4
187
456
928
897
884
836
533
601
82
698
668
841
370
109
888
342
898
658
836
897
113
770
533
712
462
209
372
269
959
320
239
47
901
509
324
241
822
241
979
450
289
651
183
837
767
647
337
603
816
514
878
402
428
545
626
180
669
784
735
202
190
171
151
991
712
309
933
522
719
811
952
410
866
286
995
597
96
143
632
647
676
521
987
958
845
921
952
897
394
324
885
139
590
642
550
120
630
610
781
105
892
336
54
692
904
485
330
329
909
235
111
78
556
60
62
162
717
14
980
716
34
723
954
971
177
957
813
819
958
51
130
803
507
228
615
14
178
537
378
122
500
602
406
980
307
458
474
341
568
782
917
841
803
186
826
102
665
546
814
410
976
679
594
581
112
756
36
207
431
884
582
482
812
828
366
859
133
879
999
816
278
20
362
163
108
138
445
178
499
114
280
209
147
963
40
310
502
670
843
93
845
752
988
20
150
381
961
303
637
997
981
968
414
13
639
922
748
975
354
706
76
424
591
425
852
133
284
251
821
104
384
809
154
202
978
706
490
215
188
374
284
330
724
989
618
220
748
6
466
324
582
211
152
921
21
207
548
719
43
838
219
718
637
338
980
680
107
561
217
381
621
794
16
183
466
768
706
366
787
559
255
992
844
718
287
346
545
639
189
201
952
573
198
923
734
325
350
349
692
997
97
952
372
957
229
247
394
21
275
860
227
772
114
989
920
534
217
482
521
349
657
890
2
868
612
573
726
667
24
591
615
955
690
748
755
678
980
146
143
602
158
780
196
40
334
549
749
972
470
137
489
150
479
136
357
515
597
129
28
908
873
201
385
49
658
957
910
45
939
152
442
940
4
509
928
841
881
601
309
682
61
960
520
444
380
210
547
232
457
866
767
927
922
410
340
311
881
42
124
343
993
718
58
762
516
311
990
384
816
45
294
279
335
608
351
978
648
3
919
37
251
685
468
132
387
947
420
351
269
762
117
486
480
317
178
672
466
499
867
830
412
921
956
566
20
495
658
93
763
165
472
42
582
478
329
808
790
639
781
652
865
336
252
957
570
935
484
9
769
405
377
791
541
653
945
140
258
617
203
44
487
11
922
81
27
831
513
354
212
756
155
285
891
407
820
449
235
533
495
752
394
275
351
54
134
336
852
105
730
862
405
779
378
861
326
140
214
798
259
465
22
262
674
539
308
103
982
503
949
435
322
837
245
961
739
921
991
107
163
697
311
151
512
506
94
61
804
261
876
380
560
410
32
731
662
601
540
520
70
807
72
663
172
805
947
213
475
130
791
999
413
675
353
421
605
180
476
241
666
700
227
107
360
342
28
27
32
648
957
575
541
915
427
252
713
678
503
274
738
499
180
838
183
238
293
841
518
764
460
897
989
333
391
698
47
683
214
286
53
216
232
582
779
370
125
327
993
704
76
452
557
24
803
638
266
313
585
837
189
760
3
945
218
25
80
10
503
502
407
84
369
321
395
224
97
608
86
451
602
535
722
958
961
127
250
142
363
80
931
131
550
229
451
171
71
187
226
791
937
115
459
787
514
257
385
922
235
424
125
588
133
3
695
270
219
556
730
837
299
566
812
445
629
863
503
748
344
654
407
68
893
164
237
948
820
464
67
271
320
818
444
434
862
713
861
745
42
828
811
807
994
119
575
692
953
513
486
885
607
219
370
238
40
957
430
352
594
61
10
571
396
279
186
212
422
981
827
143
873
232
88
476
133
80
631
630
212
591
482
658
387
882
97
11
509
157
51
58
219
200
60
681
283
972
574
580
755
340
404
759
96
226
743
268
193
50
735
606
705
143
835
201
147
902
476
163
712
873
541
868
754
606
797
814
10
151
860
334
522
731
316
683
586
418
912
926
707
652
259
737
160
775
531
610
148
675
653
481
908
131
760
24
766
119
435
738
970
92
111
304
788
300
539
748
570
26
454
776
118
587
234
577
189
326
311
887
471
818
673
364
833
18
673
762
16
783
846
649
567
842
764
406
723
100
107
450
600
370
905
943
173
527
288
354
776
257
483
648
152
333
975
564
953
939
544
14
560
310
146
844
43
115
204
764
722
839
7
737
966
629
269
550
506
982
97
342
499
134
96
831
312
481
67
896
568
853
214
253
773
95
770
356
480
223
863
716
498
805
22
905
721
729
923
10
261
113
70
789
72
796
657
826
714
881
52
429
434
768
179
22
464
773
387
896
453
848
366
470
510
331
2
749
734
135
126
216
386
781
698
708
956
997
627
353
84
758
495
891
385
35
512
821
406
260
288
702
484
435
861
704
546
491
536
529
190
557
726
827
775
386
259
950
787
580
272
204
175
119
783
441
548
152
734
586
840
933
26
61
867
865
788
103
307
812
805
383
363
309
87
141
699
948
334
509
361
867
279
471
309
460
460
552
509
218
638
53
216
490
954
460
241
710
60
775
254
653
380
336
998
610
851
167
443
187
28
672
639
637
591
373
620
642
870
305
670
89
158
654
619
605
431
826
48
207
423
310
74
371
541
906
968
64
43
851
113
280
153
875
773
854
106
369
500
958
160
881
561
371
80
311
179
612
952
760
116
13
928
741
605
582
846
84
974
201
717
617
224
677
58
717
949
947
379
904
342
326
319
852
599
712
560
324
431
753
399
771
721
824
501
575
942
633
448
919
46
216
84
913
33
4
350
952
654
293
756
274
305
865
521
55
211
362
667
445
155
420
415
239
231
292
314
72
43
756
959
577
793
630
381
789
859
990
856
540
635
233
629
795
714
287
328
893
371
987
651
473
159
78
919
32
600
920
587
931
911
977
568
831
882
758
681
124
75
478
950
733
393
537
112
317
987
468
882
682
736
927
15
521
425
933
301
474
418
485
997
597
352
296
382
77
55
226
967
720
690
494
742
196
766
282
288
322
164
926
985
575
138
892
243
947
6
88
513
900
525
392
611
111
207
490
240
944
703
116
134
538
272
312
282
464
126
60
639
470
938
569
134
658
700
752
524
845
195
954
800
126
720
472
386
877
205
830
885
536
57
419
912
230
474
941
166
766
861
169
237
937
834
145
442
466
408
602
62
356
554
878
114
431
488
966
536
469
414
394
519
287
718
41
683
529
320
419
73
404
395
727
491
789
883
942
586
367
949
750
431
283
244
481
0
215
222
731
731
714
808
881
420
317
795
701
295
243
603
761
567
974
243
814
746
771
825
259
36
288
843
279
419
208
779
818
40
736
877
880
975
985
53
627
95
886
746
544
174
594
597
346
70
247
759
750
445
538
254
254
306
874
769
558
832
173
920
277
740
111
402
745
189
300
684
817
870
711
319
334
981
980
495
124
928
945
817
329
328
671
435
952
506
283
316
348
497
594
701
317
82
601
403
299
58
179
676
363
66
616
848
2
302
646
124
315
844
242
375
169
753
830
843
324
635
30
698
74
631
860
395
868
89
376
188
348
550
455
783
424
695
512
412
772
668
612
600
80
393
866
66
987
734
860
982
352
641
127
843
196
207
90
771
68
950
504
160
89
944
120
295
396
672
608
252
386
584
471
329
118
418
754
659
256
645
376
970
384
99
957
16
560
33
695
213
526
495
319
147
753
83
633
828
213
915
933
158
203
311
797
809
317
330
530
374
449
621
751
135
578
19
181
142
189
86
655
685
105
658
521
991
623
613
802
680
709
404
255
511
654
627
115
689
275
170
592
971
298
580
992
721
654
930
711
611
869
774
988
551
483
15
849
983
540
779
850
559
842
2
941
897
855
309
169
354
962
712
309
823
799
694
647
217
897
271
43
424
570
596
439
745
474
982
254
876
888
158
689
397
574
653
850
8
904
1
406
118
551
973
519
958
395
644
441
176
276
483
126
329
949
827
706
989
357
979
167
597
124
481
914
50
308
941
782
262
211
743
471
574
461
852
575
414
786
132
682
406
241
636
380
327
469
856
783
588
416
1
6
717
472
513
227
691
311
872
306
526
266
618
837
506
997
130
423
115
562
97
472
253
883
127
946
245
181
55
638
329
151
610
781
878
246
165
450
529
559
98
409
331
594
850
301
667
962
29
709
188
362
662
625
677
265
373
61
125
60
868
238
831
667
549
804
2
772
348
108
46
204
16
862
282
646
787
39
740
579
867
155
550
415
814
979
983
400
4
636
682
427
402
472
26
705
52
114
582
66
435
987
35
527
216
47
587
604
642
121
907
852
469
539
460
349
448
563
73
471
153
502
952
901
733
418
16
992
483
362
884
690
938
921
733
775
57
958
88
719
229
786
214
134
54
195
792
199
586
341
834
700
452
873
276
716
228
529
529
391
366
197
962
277
713
563
958
220
740
559
454
844
693
329
934
408
523
185
2
509
827
520
335
819
528
89
170
814
458
227
63
62
599
326
157
118
622
108
497
626
359
37
657
842
236
555
388
377
564
375
300
916
39
328
908
492
857
39
704
114
540
198
103
846
929
356
180
72
114
637
490
474
325
785
106
891
449
179
662
134
444
115
726
525
134
245
602
895
258
524
477
286
585
779
194
455
168
143
913
106
669
403
404
309
473
133
138
124
517
555
840
268
764
668
659
238
663
226
878
492
375
333
115
996
164
476
761
506
241
831
303
415
131
776
451
700
87
100
102
267
270
809
611
763
851
369
308
504
942
357
366
59
125
911
908
132
868
867
360
403
67
136
626
395
354
663
327
518
458
527
106
879
117
560
63
591
546
904
127
710
743
182
244
473
321
389
392
467
881
306
491
729
800
19
552
188
39
851
629
568
808
779
664
708
425
322
221
731
864
811
552
27
722
798
546
712
664
535
907
620
111
826
19
778
698
573
929
604
93
450
726
25
349
558
706
566
382
688
236
787
630
386
260
411
472
286
215
719
288
813
5
478
513
912
647
508
886
324
640
145
386
724
284
719
787
897
627
97
182
403
189
811
972
2
168
570
645
513
809
916
921
212
607
164
719
470
875
54
467
591
846
693
565
890
178
24
152
286
329
27
660
375
956
82
336
547
690
875
942
955
783
900
583
156
5
339
114
882
224
178
10
786
678
909
480
263
402
183
796
537
414
70
434
981
157
202
26
609
162
32
471
915
304
763
497
11
246
673
183
763
922
569
716
179
519
914
39
373
425
577
687
238
382
431
424
147
73
468
948
815
313
466
225
71
606
781
747
139
519
240
799
220
694
451
928
362
387
785
343
92
909
731
488
716
861
305
981
490
928
106
942
727
340
552
649
701
746
823
83
706
731
259
652
219
174
711
673
14
407
666
529
612
987
326
425
106
266
76
668
94
490
922
763
319
650
650
279
67
174
144
954
620
797
624
459
553
425
939
849
361
741
982
61
291
187
797
463
972
505
308
320
162
514
169
753
178
14
96
855
669
956
362
432
709
434
655
947
862
963
239
830
507
675
632
683
907
857
24
52
697
320
499
301
85
98
862
91
573
365
700
873
472
518
360
633
22
943
533
933
30
190
752
466
676
353
648
126
225
25
717
397
57
546
916
474
864
891
776
397
602
263
540
868
358
106
225
211
546
613
655
283
687
21
660
180
497
668
902
118
997
515
187
540
638
520
414
98
683
818
461
238
223
935
868
955
356
100
897
337
604
692
936
217
217
792
363
648
477
911
738
403
207
577
733
798
427
809
342
426
975
954
531
569
757
360
489
540
918
254
844
988
160
114
589
981
160
482
680
763
435
87
209
976
541
417
72
396
692
793
213
423
441
469
746
80
784
689
422
658
261
179
741
981
882
723
343
594
345
227
715
604
892
239
381
165
764
682
889
842
603
970
57
558
504
135
98
397
247
384
461
911
168
176
837
389
210
651
150
999
314
869
195
760
278
24
912
352
404
632
837
964
883
673
931
789
121
808
152
811
116
976
98
722
503
967
577
692
986
705
411
748
993
808
200
749
851
202
981
636
343
85
448
5
607
126
287
781
864
371
408
917
308
881
805
81
566
688
440
342
282
165
439
341
21
33
156
960
907
363
815
337
686
849
73
188
789
385
115
478
105
405
456
203
46
379
908
974
954
757
418
287
905
146
726
992
165
966
226
812
747
735
429
187
281
372
699
41
835
143
441
663
164
29
594
706
541
551
416
427
955
925
623
427
779
839
134
677
275
429
251
550
221
948
998
658
706
258
628
501
850
714
633
151
776
810
77
680
317
26
780
141
332
604
744
124
305
431
219
894
723
224
245
599
360
660
863
932
706
41
137
841
479
917
984
824
196
830
957
677
559
770
676
144
539
775
15
899
632
963
777
642
322
424
336
625
539
672
969
963
566
207
105
588
531
933
999
734
259
882
421
186
807
904
919
419
984
92
838
85
728
514
656
177
353
311
177
368
36
878
784
889
732
350
523
427
942
527
808
298
331
116
914
918
496
358
419
136
402
443
431
5
979
360
424
881
546
987
664
878
591
605
69
388
594
896
152
422
543
411
661
727
397
314
311
191
68
547
50
875
710
357
833
256
373
127
517
298
198
832
440
29
941
340
144
974
629
235
41
244
279
211
124
670
808
114
451
89
739
260
660
110
867
577
897
132
39
433
827
812
959
575
544
548
494
77
426
302
732
706
340
629
140
591
412
407
542
931
456
781
288
8
792
952
770
399
799
930
981
68
971
981
614
780
666
440
196
128
461
472
636
158
240
169
645
639
167
369
366
327
559
128
490
974
750
222
875
76
50
787
839
326
464
713
467
588
103
569
677
100
839
748
165
492
90
293
335
573
450
941
960
26
160
920
35
491
186
817
319
992
779
46
512
214
636
50
762
784
29
271
505
553
752
159
90
662
202
819
540
933
400
155
916
494
14
166
124
486
815
144
850
565
47
224
655
374
171
186
105
648
425
407
842
419
890
270
893
737
641
418
460
713
373
256
35
602
47
435
13
47
270
445
891
230
288
542
849
681
983
870
310
436
713
122
371
687
773
930
623
297
336
311
439
971
779
695
7
646
608
941
105
863
118
551
644
659
157
27
239
957
411
230
445
945
854
264
794
350
956
155
681
868
29
908
44
802
178
608
387
432
222
350
315
102
427
353
55
551
135
29
878
274
504
456
292
880
577
602
472
329
670
469
767
339
552
275
423
93
57
173
759
480
706
155
437
307
536
941
18
984
64
26
504
881
355
822
29
211
525
450
805
366
821
196
190
587
42
202
13
735
269
661
225
440
645
53
107
762
283
271
143
839
480
667
627
554
356
231
145
881
387
502
317
890
479
155
934
26
485
491
646
602
803
526
484
552
600
64
638
952
556
780
618
323
543
478
982
579
682
726
421
617
772
156
640
755
340
396
161
854
605
851
48
78
136
664
949
314
316
976
651
39
489
776
846
228
385
455
171
960
16
888
524
294
120
650
200
892
444
644
106
723
200
11
195
132
117
423
759
575
515
57
300
309
925
59
114
741
202
359
741
951
904
991
944
670
721
862
87
252
254
326
584
996
409
735
655
737
554
877
801
385
777
932
736
101
790
814
110
535
894
610
190
657
50
323
356
582
661
285
924
822
304
674
159
797
285
412
484
593
658
355
275
987
397
793
533
241
151
422
549
169
674
937
968
943
160
571
525
958
401
379
389
467
601
789
44
642
185
573
354
660
677
859
818
93
967
3
497
573
580
268
480
800
764
285
748
920
546
297
189
242
893
735
563
215
624
574
690
914
475
889
228
5
189
7
736
295
959
980
53
587
705
374
684
3
67
795
427
730
367
400
414
512
642
845
870
889
764
728
258
677
2
770
704
406
625
458
202
767
328
372
270
307
127
925
219
688
795
111
657
557
789
896
740
492
643
707
660
699
516
551
529
979
826
668
593
648
5
382
726
41
828
229
38
529
940
242
674
860
681
175
564
65
795
757
328
590
604
874
765
157
359
171
1
993
802
515
688
693
752
51
351
503
177
112
915
197
956
45
108
633
856
376
782
166
463
828
378
268
552
685
228
560
788
349
386
412
721
319
67
230
360
99
141
120
256
826
91
627
139
305
150
781
869
44
4
711
566
243
108
418
583
417
329
278
742
467
359
863
447
492
665
292
68
833
590
268
47
146
903
360
516
23
436
98
841
18
904
643
555
6
722
664
736
369
534
437
367
801
962
718
100
242
530
810
322
238
232
253
610
622
158
205
776
277
386
115
30
847
663
83
120
407
356
6
910
1
2
923
943
153
966
835
280
665
692
275
22
352
872
881
652
728
44
202
819
236
299
292
185
504
655
884
9
456
599
722
560
375
447
966
142
352
899
946
810
613
751
337
992
412
820
469
158
407
803
281
420
589
508
672
793
710
128
618
412
947
620
460
417
109
826
591
552
672
42
124
430
817
867
524
870
462
159
716
353
29
843
237
865
764
960
480
661
404
448
82
661
590
346
796
94
190
512
344
413
929
629
931
197
187
404
48
592
913
113
324
151
383
366
670
982
601
698
400
906
420
738
617
108
662
546
899
702
92
382
353
702
948
248
903
312
825
727
120
200
333
626
115
706
900
524
703
563
688
749
699
623
298
793
101
913
909
182
407
283
234
771
294
467
863
110
6
472
124
854
260
545
548
198
205
100
298
35
251
771
352
139
56
221
140
612
818
903
975
140
529
481
759
122
562
817
905
416
636
327
417
862
118
625
61
577
835
291
290
796
859
568
266
391
484
361
781
838
676
175
58
611
1
450
816
262
863
387
776
151
24
359
313
449
813
205
188
768
866
440
28
469
352
142
665
749
396
606
474
562
550
955
24
382
527
881
937
970
189
896
642
786
55
204
68
77
619
964
65
451
674
606
867
954
849
87
286
624
554
95
694
342
288
911
761
210
11
537
755
141
74
857
851
388
154
307
647
520
326
548
73
99
759
668
166
706
103
556
241
593
119
502
263
929
891
358
574
489
222
501
703
884
83
308
901
586
100
7
652
429
875
392
647
353
531
968
554
677
346
693
942
675
464
953
614
744
490
422
280
561
595
858
954
208
661
734
499
872
89
307
21
356
270
15
694
788
490
51
589
829
943
803
935
886
725
311
678
134
392
755
58
672
405
80
315
566
580
928
539
362
932
536
722
41
657
992
615
587
176
657
505
688
760
485
854
235
277
297
870
612
643
399
217
317
4
943
16
411
898
252
661
355
633
22
750
145
45
615
308
101
198
785
333
381
262
380
684
589
308
966
655
962
460
54
69
461
719
64
736
990
526
727
212
782
321
371
307
356
676
846
886
172
146
448
902
177
366
439
406
975
831
582
888
133
988
154
466
824
155
301
712
301
183
927
292
445
487
483
306
147
216
401
318
200
61
242
225
304
215
823
506
563
755
156
590
133
310
794
508
24
689
808
846
35
987
56
126
70
196
225
544
986
84
800
240
651
493
562
801
211
214
268
202
544
483
907
578
234
880
166
737
325
449
473
26
819
717
190
820
79
819
8
705
903
609
462
887
592
272
231
953
11
303
999
547
45
34
898
909
895
522
808
638
473
949
947
136
158
453
740
797
737
310
709
685
977
646
376
271
112
966
901
346
44
721
607
335
89
984
161
41
15
411
23
929
808
241
266
67
262
847
180
24
852
540
601
454
972
294
756
980
15
524
656
352
385
377
186
643
670
837
7
776
95
604
915
543
383
202
140
629
224
135
382
611
247
998
477
118
127
816
581
878
369
407
701
574
399
194
829
582
512
635
7
31
254
206
107
159
573
161
787
230
633
316
598
74
42
133
932
324
259
281
359
588
200
510
426
508
36
235
355
507
975
168
883
670
422
774
244
872
241
555
534
509
60
656
403
349
807
973
358
853
922
819
746
362
402
728
736
442
499
801
828
770
683
977
348
475
83
668
508
841
252
874
521
421
264
500
15
346
541
502
534
125
543
884
283
689
646
923
206
179
896
115
410
787
881
900
35
241
717
514
574
522
911
2
498
627
433
522
792
135
412
306
515
892
409
560
222
529
196
806
747
39
788
231
226
393
264
931
482
88
677
655
274
980
145
965
623
645
971
611
307
659
317
435
439
554
302
911
733
201
303
806
19
878
21
971
446
752
90
2
102
874
979
347
790
64
916
387
477
310
902
921
304
743
492
118
730
92
742
358
781
550
493
545
320
381
315
951
678
98
705
900
387
173
329
540
867
13
639
415
757
115
759
336
724
922
35
752
565
327
753
750
897
890
887
152
731
159
955
572
914
985
478
940
572
167
961
801
279
474
72
103
612
13
823
324
829
623
662
881
134
201
814
682
612
465
513
219
41
878
104
784
112
582
690
325
675
891
532
995
60
898
818
970
774
495
87
921
534
795
463
288
196
727
955
665
458
682
443
458
77
235
360
475
175
678
585
506
648
633
852
883
633
617
918
248
505
683
112
274
664
358
811
328
882
725
130
606
330
667
214
619
467
500
662
139
334
532
333
658
810
671
26
910
477
531
420
418
907
605
668
985
369
267
332
577
824
622
905
846
787
888
952
503
31
451
231
231
349
790
617
56
605
800
772
437
609
976
727
262
601
328
166
52
367
979
463
810
327
632
292
173
179
179
642
853
754
172
95
223
439
143
57
416
141
283
883
465
864
823
658
582
860
258
790
435
835
890
734
80
12
296
734
32
260
102
24
79
502
586
262
706
129
476
755
869
745
206
465
407
497
819
543
579
764
844
542
549
247
724
198
346
385
189
409
377
832
846
843
353
639
610
17
94
628
242
49
457
98
303
287
455
647
104
582
235
297
983
109
573
39
416
366
61
643
995
832
325
220
786
119
828
977
847
917
192
155
38
990
780
952
550
499
198
892
272
587
299
549
98
506
664
656
58
325
982
746
649
767
379
891
211
293
162
953
600
0
975
531
211
669
339
707
453
734
180
894
26
322
709
101
392
365
386
590
228
773
568
689
855
392
595
206
566
271
375
681
579
791
888
759
592
887
372
489
926
517
991
709
424
961
366
350
233
749
603
24
561
863
616
378
175
107
110
491
945
127
69
968
714
627
153
460
430
827
548
182
82
52
778
955
167
29
131
765
118
713
55
985
504
838
659
27
330
788
577
534
467
903
861
803
14
901
289
713
988
64
579
474
745
886
724
216
87
283
952
964
56
960
277
210
799
598
327
29
800
942
728
701
647
110
90
236
787
499
529
315
680
578
969
492
982
61
618
560
335
927
427
573
646
358
879
54
401
588
327
720
502
723
376
334
507
656
387
821
549
889
19
708
594
326
946
379
601
542
266
575
348
141
439
882
471
832
657
885
160
808
572
355
908
125
569
470
970
43
144
351
507
391
281
132
854
334
451
54
329
136
304
380
546
536
248
67
21
14
571
904
237
504
232
177
551
887
434
422
319
537
799
395
984
253
38
956
370
562
428
304
902
695
15
140
651
439
794
7
600
769
316
376
588
124
112
192
765
233
63
523
647
836
336
936
519
309
811
813
531
70
159
252
978
981
797
291
992
73
666
489
427
245
958
849
430
463
986
0
670
205
527
469
376
197
369
158
801
672
900
117
683
89
707
254
137
604
224
664
115
740
203
116
641
210
26
27
131
345
407
50
106
356
785
584
861
703
191
317
978
570
469
45
833
488
50
332
166
669
701
249
662
98
508
886
544
371
376
585
398
264
154
165
508
9
703
823
792
721
156
892
106
691
918
364
320
504
267
50
762
532
794
584
810
454
229
827
41
832
549
686
117
500
296
673
817
623
786
157
954
874
779
200
996
719
25
470
788
665
521
753
771
726
898
348
592
56
260
332
622
258
977
542
915
584
301
465
449
577
645
225
695
169
30
62
76
26
835
747
824
32
668
490
327
171
430
854
697
746
513
475
935
601
408
377
411
735
558
111
69
271
206
44
878
805
969
966
16
512
198
132
595
393
471
632
91
672
668
445
222
562
396
718
443
107
762
916
576
306
909
50
257
103
214
588
376
365
331
213
97
397
978
495
264
728
560
281
523
27
684
95
237
74
69
602
327
591
764
479
749
408
618
707
123
543
180
36
248
526
101
908
605
86
759
865
253
610
185
876
492
707
826
549
479
189
268
846
466
790
526
466
967
848
886
855
922
713
205
859
96
956
35
145
302
110
595
949
554
804
957
676
12
703
24
338
610
527
705
417
952
397
364
119
712
626
414
86
621
759
520
220
750
34
184
651
326
578
725
212
328
448
569
789
765
285
504
857
442
380
945
660
329
94
631
389
922
105
613
108
354
191
128
521
323
486
620
877
128
486
784
598
418
618
864
28
151
934
672
455
712
766
260
619
806
532
224
329
482
741
605
672
279
506
923
316
447
541
405
739
891
135
148
447
681
440
597
319
315
911
941
169
325
283
552
387
543
269
563
405
700
209
546
706
758
85
378
747
815
55
848
960
589
582
690
285
186
218
370
776
520
306
472
661
250
458
241
92
516
168
917
533
83
737
722
375
935
708
94
314
737
715
65
795
239
23
931
12
653
564
728
696
321
129
10
791
218
374
428
213
113
439
886
381
521
541
666
405
985
385
174
720
516
754
806
126
602
148
31
556
885
249
658
367
214
593
704
998
501
321
697
804
872
732
113
360
866
766
808
934
853
74
152
91
791
597
922
289
143
853
155
89
353
587
941
698
502
884
442
313
730
134
529
594
50
842
71
732
264
349
899
943
918
871
974
223
52
112
665
552
761
810
273
548
300
285
967
4
57
615
436
259
384
777
9
810
915
757
541
769
73
380
994
854
841
728
644
520
963
737
276
946
614
745
911
321
74
830
364
504
250
907
603
124
790
61
44
835
748
482
715
245
877
830
973
963
636
476
356
792
817
677
238
447
318
38
619
18
391
907
45
937
810
209
533
177
927
978
566
623
436
116
648
159
210
8
501
201
269
748
826
82
782
300
450
950
387
947
388
128
977
847
332
260
420
325
902
82
107
527
9
589
830
126
944
401
516
394
213
675
375
325
621
206
459
442
224
2
1
914
608
682
405
468
493
662
86
501
110
492
236
313
924
726
4
546
73
603
932
663
34
316
106
139
227
23
826
274
384
646
833
119
376
197
998
995
567
297
274
831
958
496
77
415
403
863
704
187
458
321
469
949
752
210
148
635
634
346
125
790
882
942
79
473
872
867
547
234
117
862
146
584
151
713
74
630
379
683
479
221
911
684
619
448
323
325
210
902
73
116
188
215
835
788
986
385
935
20
233
358
451
96
474
633
470
650
680
574
155
683
160
414
432
566
19
750
435
30
573
941
193
698
438
972
66
461
563
857
542
629
647
370
517
281
604
479
491
772
932
238
100
236
936
700
107
567
430
22
844
99
782
325
177
77
679
457
764
629
75
622
736
968
567
61
889
856
697
676
804
318
366
694
480
259
139
931
974
704
214
935
631
163
917
995
646
567
541
981
704
17
59
239
666
822
112
998
561
597
808
836
95
123
991
24
585
663
841
850
379
772
939
870
770
825
559
711
662
147
688
827
663
889
581
839
609
271
708
489
956
703
136
64
969
562
432
210
64
181
832
483
195
711
830
677
872
244
8
33
458
860
737
998
838
849
190
948
30
817
380
690
896
451
352
372
726
104
474
32
547
900
130
594
137
32
497
35
590
884
477
539
685
957
109
276
408
680
264
856
35
902
669
329
473
969
760
76
383
753
228
861
961
777
655
40
669
59
655
374
131
571
429
274
145
327
689
732
953
196
56
777
730
760
533
887
919
799
96
328
975
587
491
4
351
495
936
295
37
774
855
716
724
505
749
132
433
80
533
292
126
315
110
452
292
632
28
823
569
779
773
765
44
53
261
307
992
654
438
520
259
618
688
788
17
87
836
597
25
297
218
893
507
138
359
738
723
802
881
153
397
960
481
166
449
290
614
413
396
319
794
754
540
696
787
272
382
10
375
869
937
504
903
670
147
788
154
739
976
775
268
201
795
892
964
230
84
121
372
135
714
573
849
393
825
678
972
651
491
723
623
365
855
245
567
248
670
363
497
33
476
746
837
474
75
185
84
432
289
476
602
61
807
317
530
721
187
180
309
203
818
974
841
972
807
15
826
201
824
378
232
363
4
99
299
957
291
60
618
497
414
880
950
525
407
607
674
882
54
614
208
708
819
526
256
406
210
533
52
508
429
189
371
442
805
871
332
837
128
424
893
900
118
514
575
630
591
30
945
534
427
712
165
654
675
938
993
410
832
41
701
762
408
675
25
585
118
439
442
944
910
66
981
52
9
620
49
278
502
312
422
932
503
306
190
119
962
197
195
572
681
175
765
75
461
610
684
299
564
662
525
412
473
659
857
492
819
392
126
64
374
116
663
859
730
337
106
417
558
662
225
405
317
660
558
731
262
128
569
114
723
656
628
100
549
535
917
606
926
519
88
793
692
982
263
231
187
1
150
82
417
161
766
649
112
27
223
944
325
723
516
859
482
164
532
802
730
484
976
551
222
185
529
663
774
175
944
628
376
989
828
895
588
969
733
834
497
410
448
228
322
669
152
509
380
988
682
587
330
124
938
729
631
236
35
373
658
741
494
233
949
935
666
884
618
800
681
564
73
91
410
325
25
532
536
367
505
798
184
3
727
229
57
892
760
182
232
931
991
692
979
787
987
517
805
22
247
566
238
224
229
595
266
376
162
780
39
517
673
32
193
396
854
784
589
992
638
20
119
256
912
157
615
477
878
97
283
694
669
174
662
735
422
24
883
937
16
15
105
347
467
173
532
170
703
930
633
923
82
118
973
890
479
651
812
603
130
252
839
245
347
825
40
88
647
341
541
295
916
34
126
398
273
205
990
12
975
179
696
384
658
641
97
255
433
315
854
872
834
967
619
679
395
931
413
237
879
908
545
366
120
230
87
479
196
51
108
161
1
659
868
796
437
979
659
498
318
848
516
137
717
847
790
706
698
749
56
16
185
350
121
441
708
135
593
879
327
526
169
914
458
423
892
28
505
988
576
134
817
941
309
848
854
222
673
936
792
929
138
836
329
555
115
963
672
955
433
445
950
999
876
685
143
791
297
764
859
226
896
617
186
215
129
178
925
298
369
139
550
760
412
37
4
331
751
549
482
225
596
333
231
818
385
246
489
441
912
163
622
200
571
398
558
668
403
143
478
3
936
438
911
521
282
978
869
19
901
150
814
954
959
996
803
857
431
897
275
334
666
148
109
966
343
884
522
565
368
24
854
417
300
11
7
690
25
140
226
127
524
186
178
367
566
446
45
556
452
967
117
184
777
362
208
637
802
543
759
973
547
625
454
435
116
902
455
120
814
778
516
891
52
962
722
198
27
724
376
513
30
707
995
296
176
729
646
743
401
469
232
637
636
313
121
758
793
922
228
603
189
451
858
985
524
833
311
674
476
537
142
538
679
73
234
631
441
477
171
782
870
399
920
71
437
391
301
717
746
221
259
779
976
140
527
463
52
247
763
338
281
224
444
90
415
915
809
815
738
860
146
537
777
549
254
576
127
501
455
188
384
88
906
76
560
102
105
864
302
259
171
504
50
148
378
19
281
47
53
437
11
142
30
110
802
194
373
430
459
138
182
947
218
127
774
68
281
463
11
708
86
481
112
594
536
646
901
757
973
79
808
382
577
962
968
190
363
512
655
912
826
949
141
496
93
909
666
899
382
454
353
801
301
588
280
531
594
818
470
213
91
634
403
885
449
179
932
190
224
96
564
753
424
110
670
261
6
390
609
355
760
595
537
60
102
715
930
868
417
184
373
553
894
342
103
98
800
298
940
310
730
935
285
100
493
162
919
367
474
309
913
702
316
465
624
439
423
186
538
908
345
761
234
542
42
654
436
992
956
257
611
497
644
866
445
754
464
166
665
82
813
567
250
477
119
247
567
682
575
651
466
522
416
911
908
943
214
491
237
649
292
124
150
218
305
821
561
535
875
284
139
893
281
137
207
997
56
977
990
905
989
153
727
582
483
491
593
187
913
160
580
896
430
50
735
481
789
788
31
318
210
940
451
126
729
169
250
894
530
979
608
41
124
572
652
144
76
607
716
542
556
422
603
669
947
804
369
337
435
432
909
989
7
490
794
965
338
714
975
955
837
303
974
967
36
114
877
402
366
16
532
838
851
690
270
728
373
874
348
327
911
630
718
437
898
149
847
97
122
778
289
703
138
839
348
826
159
597
55
16
308
555
35
933
153
458
531
648
265
75
205
321
886
822
319
311
814
490
202
481
874
65
868
992
920
424
783
501
926
445
451
215
393
130
806
777
588
543
847
301
483
140
380
909
474
44
770
74
969
539
321
169
66
3
877
358
586
683
13
23
638
452
583
298
358
226
648
969
396
708
225
143
703
473
203
258
684
230
57
758
83
738
513
294
190
760
756
932
856
684
850
632
691
9
859
658
303
280
953
41
601
725
642
622
917
751
119
210
888
958
955
671
699
387
297
476
683
489
735
774
400
961
214
160
900
986
108
871
74
268
469
641
563
519
125
908
667
564
988
101
272
832
128
142
505
813
882
139
322
771
272
617
168
338
44
196
677
898
718
19
370
719
877
607
40
112
376
755
705
274
509
865
527
960
989
965
526
327
642
601
768
818
247
499
787
920
142
721
370
353
934
822
852
779
6
186
377
715
429
133
645
800
463
196
849
608
85
180
600
998
947
705
603
164
622
697
143
446
490
844
575
480
876
204
930
502
588
309
301
203
548
781
572
499
785
243
142
78
884
514
930
312
176
971
16
494
989
803
812
779
408
301
870
825
523
896
773
827
994
545
54
162
137
204
262
602
552
377
224
454
520
776
544
920
976
599
199
275
365
800
853
815
517
827
169
214
857
730
408
337
493
909
479
554
291
656
673
979
30
881
71
412
794
866
501
223
194
793
541
74
83
521
295
790
770
430
329
910
415
166
526
948
877
252
788
814
207
515
729
769
893
145
960
366
81
774
847
651
65
342
988
309
781
566
667
957
748
384
28
816
332
993
698
339
311
280
417
695
34
607
996
974
828
110
354
561
877
779
114
931
67
279
866
954
950
742
487
384
813
401
863
985
819
225
797
448
735
956
603
875
17
834
37
845
899
477
275
810
403
229
324
533
311
499
579
158
941
6
497
547
517
223
159
14
305
982
211
105
788
436
639
699
148
998
772
603
153
423
958
22
614
209
690
541
611
230
425
367
723
632
718
601
385
718
190
942
568
715
949
785
302
201
6
866
828
572
555
886
971
155
634
955
662
259
540
714
61
603
478
201
566
638
319
29
60
595
259
702
977
832
577
216
792
263
485
913
565
457
26
579
254
690
949
928
946
982
837
341
3
206
783
13
407
60
951
450
216
647
583
981
45
304
73
885
100
915
555
902
254
23
702
520
383
638
532
11
379
848
410
377
18
387
499
493
899
836
145
95
13
389
26
832
85
772
211
720
298
540
986
508
651
978
128
83
497
839
43
383
505
108
918
341
185
710
725
51
208
310
570
299
147
659
735
240
931
213
651
29
62
782
191
801
651
942
231
125
325
706
572
833
857
213
685
312
99
341
416
200
65
547
911
247
877
351
491
26
686
575
490
901
788
709
350
278
712
744
377
309
240
184
66
898
815
123
979
878
650
616
953
705
889
465
614
68
363
648
786
723
292
733
356
926
643
201
787
185
217
204
652
295
384
289
217
873
899
544
122
190
585
645
746
314
973
358
408
392
960
347
777
38
256
884
602
222
397
79
492
919
266
844
558
231
118
217
810
745
574
899
541
242
41
834
987
630
869
833
35
573
858
130
253
958
211
413
695
167
729
960
932
880
344
386
891
749
649
62
326
189
958
544
7
169
345
386
347
742
690
946
896
899
50
687
42
260
561
661
828
111
258
438
550
599
56
228
100
448
918
780
984
609
134
916
929
61
324
450
502
202
40
746
842
621
445
1
818
918
792
394
329
380
605
139
1
449
991
987
349
219
90
736
766
121
313
579
772
290
469
106
32
715
803
9
978
802
316
997
126
260
447
924
432
389
71
520
952
122
254
421
407
973
313
315
111
554
202
842
929
154
493
787
492
929
67
742
69
344
677
588
425
87
760
412
863
416
183
511
827
174
884
836
352
799
141
991
697
623
543
925
448
501
731
91
815
998
408
898
925
192
394
360
108
415
757
725
807
393
67
299
320
974
941
987
117
751
769
505
943
956
368
214
566
994
865
411
385
111
812
329
263
124
646
687
337
673
437
18
203
843
281
910
779
711
192
840
548
410
907
481
749
172
385
975
99
796
912
993
795
287
298
770
823
38
501
381
955
909
151
298
907
19
5
933
320
907
488
689
966
253
347
183
789
627
110
777
940
294
943
205
441
151
71
904
133
179
408
40
492
57
360
628
73
531
40
429
590
241
785
584
785
22
847
155
108
473
850
447
441
885
575
387
498
206
526
142
906
944
74
344
96
382
437
218
445
339
465
251
381
454
593
636
202
969
928
551
144
482
176
311
777
9
288
535
297
413
856
884
822
480
87
428
466
287
981
303
611
910
716
339
738
990
592
445
769
711
463
527
654
100
151
613
534
987
961
814
86
93
749
244
959
23
423
167
813
933
216
59
772
21
635
853
553
765
442
396
654
608
577
494
928
447
399
419
407
19
729
141
66
353
619
19
371
286
485
585
546
131
80
153
736
84
32
660
24
908
131
573
944
608
634
334
872
911
153
401
335
939
998
420
719
75
869
334
902
637
25
64
652
527
904
537
51
996
422
926
513
359
678
181
421
561
581
654
35
874
28
97
934
683
350
198
679
996
951
735
745
778
922
420
983
601
675
295
378
431
112
284
261
962
542
731
825
104
607
55
439
919
656
24
746
460
541
165
18
347
563
149
513
208
407
89
440
270
8
4
550
886
376
33
452
905
31
664
938
679
638
364
699
596
79
369
94
945
156
425
171
542
522
708
455
436
176
238
638
156
838
918
393
880
678
986
34
723
212
385
585
888
321
201
776
842
801
550
334
834
361
975
89
863
162
115
118
631
431
6
264
22
457
733
745
823
619
113
203
927
561
405
734
596
728
908
815
720
321
93
520
801
619
996
339
952
214
835
508
911
31
34
983
272
801
122
768
408
521
356
690
363
201
853
33
594
556
55
747
138
777
453
812
406
311
335
185
832
268
754
761
851
554
700
125
271
505
589
989
194
997
954
415
45
499
862
119
594
449
885
478
285
178
831
712
646
765
424
589
210
837
249
966
188
198
475
480
791
743
388
230
943
758
232
503
279
442
730
292
339
655
485
216
640
698
326
377
201
939
910
998
362
636
142
532
712
589
893
342
718
920
154
308
864
339
248
927
266
471
537
245
765
836
753
911
802
380
700
353
478
312
30
294
461
749
374
940
935
539
625
555
152
265
690
386
931
10
362
338
441
534
420
904
890
668
542
819
936
502
678
309
942
667
694
159
375
894
390
362
173
67
24
139
452
856
36
660
727
547
965
207
352
191
436
265
134
886
165
27
892
135
180
822
397
428
537
801
305
18
485
678
402
707
899
502
474
651
912
854
943
110
650
575
648
244
469
596
255
688
623
836
64
935
436
818
980
900
442
27
256
446
168
144
745
895
482
512
449
293
791
640
925
603
29
392
136
104
890
846
316
697
684
796
343
539
349
319
470
858
777
974
752
355
26
454
462
984
786
780
979
227
899
868
699
303
770
94
180
761
436
158
778
439
665
868
959
732
749
813
841
439
465
130
402
269
458
500
135
543
285
771
401
629
982
465
906
805
253
167
44
425
546
883
30
23
986
689
345
321
65
215
544
533
500
320
289
612
896
861
429
567
685
610
956
313
764
708
601
258
627
314
837
665
467
127
942
798
190
465
408
985
486
196
614
869
689
821
393
578
399
626
381
514
143
901
13
795
213
89
243
862
765
795
869
941
149
618
185
86
48
507
611
506
360
415
729
569
570
331
961
10
966
493
911
581
619
29
223
155
833
665
222
407
289
957
31
103
731
321
730
257
252
410
720
230
45
775
444
434
194
224
685
102
267
471
432
240
336
742
502
802
879
531
372
983
562
357
300
589
523
639
120
789
663
166
245
776
238
242
565
777
745
425
417
595
375
665
533
311
140
63
521
23
237
933
798
160
849
864
845
189
65
491
153
729
857
475
325
962
973
53
689
936
615
163
938
154
983
583
337
484
415
656
333
283
818
14
392
299
865
158
137
173
530
180
760
562
962
171
798
47
681
386
344
46
834
461
897
381
136
283
135
838
589
41
95
417
911
573
250
840
546
495
673
333
105
788
219
791
873
426
709
837
58
693
138
303
520
609
661
705
881
952
634
296
28
699
210
663
377
776
869
909
781
104
737
188
323
230
938
261
935
833
884
675
929
634
913
91
865
12
749
755
763
903
148
688
816
546
718
522
378
51
994
506
441
377
10
119
967
472
548
291
368
777
51
743
633
154
697
369
110
178
210
306
624
676
260
208
991
336
111
974
160
670
450
640
143
355
973
119
517
911
653
33
74
493
88
616
398
468
168
167
452
738
944
616
437
144
254
303
875
395
553
168
602
131
702
185
589
110
960
716
7
884
51
141
847
850
29
292
470
870
636
907
480
593
646
290
236
928
90
696
934
413
156
790
580
191
835
216
454
974
862
828
678
85
238
57
633
171
82
241
412
488
346
221
796
71
933
555
632
994
170
146
583
670
346
963
844
132
414
485
186
680
187
979
920
358
551
380
202
932
598
320
149
558
151
892
25
82
77
302
768
55
946
582
515
29
289
400
786
131
592
758
875
47
880
54
590
779
70
291
601
480
175
657
655
127
66
847
764
75
637
106
690
707
577
628
218
866
921
336
343
381
787
46
108
106
303
534
333
459
495
934
213
396
898
361
849
887
383
404
85
690
261
983
369
757
455
89
790
244
73
618
849
698
259
100
939
970
682
149
993
451
256
50
617
420
860
940
454
697
435
880
356
602
304
456
466
667
859
352
957
735
772
767
432
602
809
667
312
873
271
147
573
921
980
309
230
47
253
820
795
132
350
256
389
605
591
959
310
291
841
504
411
949
681
414
382
129
769
50
317
520
169
137
305
121
885
103
311
411
998
989
765
660
264
238
126
232
782
905
759
948
495
633
965
476
503
843
840
111
14
656
896
606
318
467
429
36
224
556
77
102
30
361
487
921
162
936
192
217
107
63
865
29
973
416
937
426
661
233
672
941
347
752
390
814
526
926
297
520
589
253
370
429
664
543
287
570
958
471
95
573
367
253
455
806
373
636
786
878
941
290
405
34
856
108
389
100
710
512
820
339
0
129
806
442
725
95
757
792
704
921
368
106
117
633
202
489
787
415
865
873
127
948
223
297
406
272
373
985
975
813
313
483
203
17
367
654
359
972
995
29
557
668
843
214
275
690
339
253
353
127
212
718
531
461
652
618
758
758
126
868
348
668
829
434
849
615
192
475
145
657
405
608
300
853
523
385
658
586
160
658
986
626
53
888
578
70
63
205
920
862
685
864
197
0
636
194
363
76
906
100
294
883
764
771
484
800
39
191
852
367
110
944
977
128
967
26
223
894
445
890
844
415
245
68
913
160
144
849
45
964
368
270
296
778
881
497
45
620
306
66
45
170
97
581
886
447
96
65
608
736
36
242
301
994
67
933
457
61
78
22
953
689
875
346
467
948
759
462
226
981
184
980
249
391
508
959
521
234
772
543
520
354
298
516
568
653
699
635
168
855
364
826
935
69
521
895
958
58
289
756
413
932
989
899
13
4
431
883
856
947
712
968
95
621
366
998
803
752
675
243
264
255
512
69
368
582
870
178
750
147
353
868
486
254
804
344
126
885
884
180
937
738
156
216
461
322
870
271
146
573
95
491
762
33
228
293
291
145
429
7
518
51
249
469
919
436
965
354
309
398
745
285
724
257
281
397
348
603
850
8
192
289
587
976
413
68
132
92
793
443
888
622
389
545
12
878
66
537
652
48
185
724
540
49
710
960
381
61
576
960
556
950
575
605
419
755
701
251
167
558
358
306
569
450
682
594
156
777
278
816
507
495
458
496
23
937
733
448
390
814
655
496
732
510
469
322
924
177
24
489
360
514
403
542
186
17
669
956
640
98
759
345
978
882
735
195
860
142
343
871
259
650
116
176
62
17
779
351
989
735
149
270
159
445
500
566
337
902
883
603
10
603
677
551
203
935
701
523
614
273
754
453
192
430
173
560
373
341
798
844
896
120
658
917
576
653
981
685
763
963
496
119
494
311
24
333
159
712
220
229
399
586
353
545
159
670
185
564
623
862
523
318
161
627
569
431
699
909
301
906
765
224
831
913
824
440
223
496
959
536
675
850
787
567
385
637
749
573
595
631
773
328
941
779
330
542
386
806
958
934
15
663
499
597
155
770
26
856
941
485
8
299
304
217
516
214
966
769
388
392
811
240
874
344
530
22
195
752
674
898
34
49
907
823
24
145
849
488
598
613
878
60
27
976
342
464
554
482
451
832
175
428
17
491
590
150
962
793
883
833
846
656
778
627
745
945
743
805
848
876
10
717
740
654
934
27
254
765
769
998
212
679
821
595
956
404
130
566
77
695
224
374
935
313
114
235
710
483
879
429
838
873
195
379
179
964
44
576
142
273
479
625
693
780
985
932
693
877
736
112
379
865
362
694
16
370
442
699
211
102
158
296
7
385
929
608
928
487
669
743
335
100
102
267
622
867
114
703
836
825
656
382
809
841
939
52
977
983
792
676
336
874
349
20
850
992
468
107
402
64
762
712
225
29
14
362
512
747
437
459
609
462
752
479
567
17
233
801
641
904
100
917
221
685
831
887
604
447
923
203
145
524
147
362
61
633
715
867
832
643
350
346
676
881
589
206
788
511
481
997
216
605
389
717
675
284
301
554
21
238
672
577
385
686
973
422
852
167
427
72
997
627
408
17
528
887
13
301
383
695
497
911
186
331
60
352
708
691
71
334
815
70
226
872
718
59
4
691
278
184
197
317
220
255
773
255
803
309
9
697
897
612
41
262
553
892
862
562
204
594
113
887
798
597
365
938
788
755
753
3
712
147
317
988
42
460
341
360
681
837
252
279
976
210
849
970
68
999
48
901
631
343
908
730
889
486
924
760
284
420
941
579
132
313
16
249
529
593
795
340
483
401
605
373
451
361
810
909
591
123
294
822
148
700
62
865
678
649
843
835
702
420
499
234
709
554
890
984
859
151
532
689
686
341
70
869
960
275
433
69
157
662
558
961
56
843
606
280
18
814
402
354
418
963
15
504
370
617
49
556
985
216
124
17
647
141
592
812
732
477
859
919
209
939
619
981
389
28
863
405
163
782
798
702
248
833
155
827
874
117
200
881
163
259
836
770
74
218
216
717
408
697
113
218
181
680
27
997
330
117
892
117
993
546
902
229
801
462
904
662
809
740
707
160
217
575
718
885
242
84
78
644
346
332
184
41
773
181
94
23
505
776
207
346
283
170
631
577
334
587
859
864
248
27
134
512
300
224
321
289
363
359
432
156
404
418
781
248
273
708
400
135
912
523
861
421
77
879
999
266
559
547
428
916
704
348
496
845
695
589
107
514
723
41
770
334
287
570
335
624
610
373
976
60
604
12
398
861
841
213
589
369
812
459
649
146
247
933
511
196
705
258
261
303
784
111
994
455
175
505
302
342
575
939
788
60
312
368
413
278
993
182
976
939
744
610
188
612
595
26
904
809
96
476
420
882
791
110
184
419
571
532
92
635
849
332
263
919
523
723
673
514
617
639
715
373
248
481
54
62
110
684
63
696
368
676
960
368
255
700
30
389
322
856
118
433
777
754
650
316
40
569
850
243
797
481
869
913
594
316
896
981
139
578
184
265
320
881
933
644
202
213
926
102
577
778
207
728
264
487
780
240
887
885
569
802
56
509
198
341
218
742
390
167
569
404
104
455
462
467
743
256
204
714
944
853
417
414
472
820
223
60
649
0
295
274
941
718
307
791
638
440
204
527
574
818
9
63
333
400
593
94
964
609
385
730
33
188
285
459
149
679
365
105
767
314
294
412
820
983
990
250
888
171
552
410
350
842
826
616
488
836
361
29
357
540
808
518
184
606
906
213
485
401
199
240
446
790
647
198
257
404
78
932
699
760
49
97
273
708
53
46
260
24
89
8
16
180
272
643
493
71
885
932
11
178
815
169
657
289
632
266
702
749
733
734
818
68
969
396
264
512
830
671
436
853
294
77
72
890
19
996
504
930
184
323
309
333
667
335
315
125
944
332
417
116
6
602
446
557
982
835
306
376
920
834
477
280
592
360
867
827
455
579
668
306
538
591
149
632
233
480
849
332
236
71
445
704
895
69
703
457
509
864
538
177
313
557
417
375
88
530
289
123
334
844
552
39
866
422
603
696
313
486
626
271
561
956
819
99
673
637
621
957
468
457
972
773
798
381
820
341
144
802
843
396
230
285
110
464
382
380
538
506
855
708
930
659
76
316
813
985
520
124
654
639
649
378
534
752
666
434
72
284
888
134
843
167
167
437
542
330
498
50
683
917
292
505
718
276
915
100
472
642
817
38
873
956
415
450
654
625
632
794
537
925
585
507
576
265
308
104
961
71
437
485
945
71
720
565
812
723
48
373
779
296
193
114
193
713
196
202
563
606
353
367
695
779
313
647
167
520
145
309
169
382
504
793
106
955
451
64
107
620
735
493
236
701
488
78
781
368
576
105
379
446
503
344
242
505
376
449
279
995
185
839
929
962
941
787
534
923
279
905
545
346
147
9
236
557
473
933
967
448
78
560
70
817
422
817
843
302
698
137
786
702
649
0
585
321
486
714
140
531
963
151
743
203
235
91
840
277
345
930
796
959
754
220
249
772
839
400
509
701
122
175
559
294
139
631
17
964
514
888
250
921
664
467
83
14
370
374
168
595
444
353
332
777
104
741
14
242
872
97
227
578
910
388
880
457
608
688
596
33
301
559
513
179
889
962
312
34
858
549
986
218
901
52
821
389
694
885
982
172
327
125
105
890
138
550
666
396
715
116
565
77
929
624
274
170
956
613
636
611
920
984
506
527
479
148
514
913
494
733
739
83
368
709
404
31
888
880
375
226
638
21
372
968
33
688
364
389
611
695
116
459
694
266
700
443
173
20
794
324
395
525
696
987
695
343
115
568
876
18
3
523
771
770
144
597
209
612
881
182
831
704
16
717
606
565
567
543
680
702
614
254
642
377
31
528
695
20
703
323
53
749
79
906
200
706
707
695
475
801
310
780
461
835
780
232
525
129
824
255
18
34
16
920
273
166
866
878
951
495
482
385
160
222
12
293
181
104
162
473
324
505
336
685
426
460
381
980
803
909
54
654
434
590
350
270
925
377
4
186
712
742
392
876
946
490
825
563
571
308
867
814
34
366
292
844
646
881
910
603
698
116
440
520
891
637
276
663
420
737
672
349
146
454
403
994
651
457
557
729
172
708
667
165
692
367
432
276
961
905
761
161
714
574
710
331
121
849
380
21
433
364
798
950
563
778
357
897
931
434
447
367
231
816
446
508
907
840
291
974
891
45
553
152
655
450
544
823
422
416
360
16
867
603
386
627
143
92
57
586
422
852
368
432
677
699
490
35
877
516
308
459
212
36
603
367
254
683
847
21
402
63
770
60
966
807
512
338
225
191
430
758
165
974
650
253
293
295
455
347
661
415
931
125
855
208
316
931
634
543
109
233
768
885
851
882
75
238
279
953
44
130
255
719
401
354
862
340
131
592
286
828
274
34
40
398
677
134
621
59
936
703
67
806
453
1
683
111
294
646
528
490
101
106
381
842
820
86
811
991
655
97
594
923
850
401
979
271
698
64
436
884
501
662
887
540
871
871
394
276
517
919
162
466
556
839
100
146
999
940
31
994
822
635
719
328
638
289
273
605
268
659
337
611
23
580
384
283
239
889
410
300
429
48
496
854
284
456
380
497
866
181
969
400
793
97
702
341
354
257
309
111
344
447
223
785
780
149
208
368
635
592
80
715
919
45
995
54
492
999
141
871
96
322
402
949
339
473
465
156
186
397
798
903
151
376
65
805
386
679
929
16
108
157
903
682
174
524
241
452
481
301
314
531
866
131
749
43
258
825
469
688
46
381
924
58
353
242
790
858
799
339
413
824
204
751
286
43
173
424
343
662
345
677
153
27
327
880
130
58
487
429
156
273
483
273
727
801
697
419
698
111
559
625
505
132
446
986
841
929
831
164
47
398
348
695
825
879
235
826
404
899
365
970
649
304
488
841
392
43
236
273
413
459
996
633
998
722
878
472
901
415
847
445
413
685
223
455
242
638
253
568
596
649
18
95
451
758
615
663
538
510
986
189
552
190
234
832
522
449
570
770
702
241
143
542
21
56
656
551
475
649
366
167
673
181
839
200
268
781
39
103
483
675
265
365
699
153
914
391
227
806
962
548
203
139
665
336
930
489
855
432
42
182
290
902
181
775
160
125
825
780
779
892
520
386
127
863
836
877
1
16
584
580
520
40
49
905
836
180
654
388
0
972
832
689
64
359
747
833
681
319
28
488
852
170
39
432
800
355
46
350
16
39
357
112
207
106
639
220
979
804
252
827
609
785
253
578
641
546
729
743
361
556
860
158
951
741
966
353
861
74
278
334
14
330
995
299
866
964
909
267
763
53
674
913
103
916
940
304
601
234
26
10
937
763
171
808
457
596
804
977
442
184
611
93
502
454
406
620
144
268
302
890
410
620
557
757
762
877
532
680
340
778
508
412
118
968
261
460
367
26
739
280
422
979
421
597
441
240
834
105
513
763
544
972
495
521
220
921
158
690
391
976
45
17
964
411
233
148
983
599
539
836
74
136
403
693
298
813
0
488
242
154
550
884
26
84
673
244
493
891
699
233
624
193
892
637
984
547
369
803
954
968
986
101
971
913
457
867
354
52
275
152
310
474
140
638
344
704
278
534
757
223
990
235
67
152
710
64
659
72
651
681
999
169
119
316
310
501
280
106
967
471
149
105
843
144
429
780
213
312
841
429
917
567
530
286
759
926
498
678
342
313
381
967
657
684
209
351
5
514
811
794
613
714
380
923
367
955
670
703
352
289
502
844
702
693
589
255
971
385
68
50
737
285
381
510
991
807
290
617
512
592
994
781
225
651
220
294
671
991
491
971
198
294
992
930
307
842
304
390
244
206
619
845
710
200
863
444
60
312
138
381
496
112
875
141
67
708
871
269
511
280
618
42
231
394
569
102
397
223
279
153
38
681
561
297
587
60
107
465
743
585
559
414
0
428
699
460
126
384
626
738
110
154
247
444
846
439
609
91
262
172
489
75
266
158
390
923
464
28
61
990
325
360
641
638
933
385
997
742
384
72
53
265
729
255
460
382
186
518
115
14
355
926
934
662
155
310
987
763
275
509
263
941
494
109
745
563
302
429
304
75
580
951
25
378
753
393
566
622
570
676
405
975
797
775
140
646
479
691
851
351
178
862
186
538
674
245
215
246
677
429
574
800
754
262
343
385
537
302
426
973
33
580
280
287
502
268
998
490
856
781
574
494
645
93
992
61
941
225
246
575
898
651
342
991
855
404
754
977
199
947
980
733
63
14
507
70
871
522
542
870
34
338
905
750
222
579
615
442
788
422
340
618
672
192
117
201
814
26
814
467
104
907
39
360
717
270
397
899
768
561
482
903
850
485
498
344
275
922
984
763
791
234
135
697
517
52
412
385
316
902
45
386
754
654
836
314
806
607
517
717
242
27
612
586
350
522
25
968
103
968
387
51
192
706
913
741
526
65
910
226
250
835
538
568
499
925
367
135
273
695
950
605
693
460
619
553
725
152
17
794
847
782
682
40
78
836
504
790
746
24
932
719
377
251
182
629
156
965
871
903
468
327
551
586
76
608
507
909
37
958
606
347
439
872
647
52
973
296
767
502
809
38
519
337
715
960
326
680
20
209
367
189
160
788
595
384
457
227
545
5
197
285
673
728
160
97
8
358
831
794
10
245
148
197
62
694
261
813
808
979
475
92
585
491
985
142
78
142
84
718
557
451
111
41
987
31
542
489
680
91
671
797
640
255
30
940
819
575
33
619
392
357
425
586
913
694
485
458
404
936
907
548
978
148
61
135
886
166
702
291
398
269
605
44
326
197
377
819
651
650
280
836
960
360
319
690
207
597
132
591
987
775
162
711
664
720
910
382
30
28
522
11
284
613
258
869
740
395
635
334
744
978
661
302
901
678
160
372
491
399
16
548
635
35
604
157
513
290
843
777
300
761
432
420
435
993
489
910
242
4
868
576
655
728
364
376
546
694
951
217
533
43
781
73
830
268
475
51
640
588
751
539
501
411
510
942
237
58
201
937
406
101
356
552
683
563
179
724
287
356
629
217
175
129
651
695
970
606
699
938
592
295
309
626
179
610
27
234
154
864
575
58
26
161
891
242
940
464
390
646
49
751
752
648
859
166
385
574
509
831
902
774
239
525
926
467
978
337
557
932
566
780
712
467
794
997
590
29
646
999
873
674
22
566
77
432
401
313
642
988
817
959
821
705
826
781
395
244
540
940
10
214
890
287
748
389
20
874
688
691
52
337
890
222
500
266
652
986
152
928
353
404
490
570
36
635
721
455
869
132
719
916
798
750
957
7
590
578
567
59
281
633
457
285
145
527
546
859
744
755
129
476
141
39
453
0
622
246
418
163
168
539
860
669
261
852
647
960
261
515
218
730
258
963
718
135
751
745
764
988
348
735
410
512
869
368
458
38
11
593
97
840
416
577
868
623
850
943
756
365
697
746
668
961
342
482
594
410
818
584
59
621
697
538
989
503
262
966
566
657
331
752
665
367
995
534
482
269
136
874
77
839
366
453
640
531
33
937
812
978
361
682
780
687
988
799
987
42
784
159
560
257
909
0
524
223
402
282
985
311
894
642
613
14
68
19
384
378
104
184
782
941
491
836
297
237
621
44
671
655
676
69
849
401
381
634
631
123
905
252
596
710
56
24
97
465
421
312
366
32
269
714
845
35
821
854
252
716
238
212
362
941
975
348
883
858
763
968
839
933
753
863
886
314
894
74
624
76
764
933
860
844
964
738
617
186
657
790
241
665
80
848
11
579
703
188
569
748
416
301
366
746
60
868
510
580
265
444
988
721
705
529
890
513
786
156
821
848
47
493
950
963
388
767
730
684
613
768
628
200
492
455
355
896
142
412
379
64
205
584
662
994
522
551
157
615
148
887
210
830
412
232
792
947
845
840
901
3
391
728
65
304
328
573
711
311
289
847
882
933
548
993
937
164
886
871
986
994
655
178
197
823
459
534
743
464
471
533
928
973
430
160
503
301
368
418
261
778
735
873
279
150
741
573
154
3
648
400
683
329
490
884
748
431
823
291
899
508
304
32
248
350
213
926
894
947
240
984
29
245
414
112
873
440
495
508
458
327
515
236
12
28
991
973
442
375
895
47
578
629
120
597
174
133
76
159
505
85
187
184
978
241
488
951
232
359
676
719
74
788
451
996
832
901
714
736
995
871
82
704
497
289
149
810
973
701
169
675
997
126
631
684
50
188
513
432
80
730
78
206
391
905
880
987
281
159
649
666
969
50
332
516
390
454
328
792
333
260
203
381
70
899
503
882
814
435
798
277
567
790
136
839
718
680
376
90
504
990
388
80
346
166
141
285
588
529
311
838
436
964
639
705
373
348
954
74
428
314
808
336
948
386
373
324
172
997
380
845
142
138
119
734
36
353
59
328
174
66
364
483
893
883
227
184
948
235
789
550
122
113
769
185
670
815
388
576
527
931
777
659
477
96
967
109
276
777
635
393
264
977
969
614
104
168
841
488
119
134
893
401
630
494
264
639
681
826
375
249
804
27
303
548
192
535
853
598
494
668
467
937
717
117
283
151
74
459
908
93
554
194
621
254
215
431
110
329
553
749
10
60
586
296
406
981
790
245
467
674
851
952
555
686
662
250
419
755
557
826
513
430
609
336
366
888
173
718
575
785
135
15
252
34
918
888
688
286
765
975
521
122
28
564
519
689
764
685
208
677
916
749
571
828
692
599
759
763
84
561
170
803
509
372
107
72
439
659
763
29
232
60
809
760
854
816
9
366
921
163
971
121
425
266
284
287
109
304
248
43
398
39
747
213
658
850
229
275
415
266
705
915
979
228
275
10
393
483
547
728
347
213
862
939
654
681
617
735
305
472
698
77
253
223
207
166
736
991
277
395
172
681
421
38
483
326
233
263
311
334
859
471
342
424
235
715
240
503
638
205
852
257
601
650
984
495
481
826
421
843
516
377
958
749
901
12
871
858
689
455
449
869
508
39
655
49
124
876
389
705
314
739
750
721
584
966
667
798
884
762
478
73
456
136
577
912
185
149
939
346
57
730
120
39
610
384
140
985
435
829
257
509
577
264
71
552
563
561
189
131
533
387
24
97
636
174
523
530
373
800
869
753
74
136
265
335
677
891
116
953
239
679
958
813
19
122
176
439
860
569
521
483
320
721
561
741
581
170
242
792
952
202
140
271
438
649
819
997
86
698
142
276
389
489
296
518
568
843
962
677
891
520
482
260
804
983
320
601
19
716
16
664
988
465
715
919
218
655
400
418
965
929
802
567
434
917
172
784
833
543
288
974
692
9
208
450
770
762
551
518
396
905
880
578
935
847
137
158
648
556
896
770
579
565
972
657
496
564
37
379
526
498
485
393
280
836
163
100
120
757
495
422
599
43
350
649
482
841
83
147
452
614
696
201
6
856
961
546
480
433
184
396
868
521
720
931
822
293
829
348
963
79
393
664
112
278
385
130
841
997
725
513
63
963
371
855
336
154
406
705
88
86
52
387
914
720
272
139
290
871
459
888
19
973
97
731
904
486
787
755
11
689
7
970
171
444
915
144
123
305
848
571
284
178
624
573
834
346
132
764
149
302
296
841
912
44
624
882
103
558
773
487
597
592
489
60
777
131
412
297
960
707
75
2
407
90
125
167
865
756
31
113
739
914
65
828
852
547
62
643
854
658
561
806
412
988
863
341
774
961
505
432
949
3
428
202
312
297
502
411
39
97
661
925
387
616
579
770
377
292
640
334
71
382
221
550
858
660
27
431
816
445
69
387
116
596
285
12
922
812
361
714
842
134
363
653
252
275
86
315
842
125
886
809
418
554
352
620
228
900
432
228
195
749
187
235
978
393
179
135
906
457
307
537
658
511
30
619
395
100
801
814
365
892
725
315
717
815
179
958
50
674
744
63
812
662
558
343
928
722
443
977
341
557
159
461
83
254
582
984
741
458
866
517
65
243
618
39
768
207
205
996
887
601
221
437
661
313
181
534
796
480
746
324
697
116
845
904
772
719
446
589
206
425
614
412
597
382
618
117
638
405
860
316
599
558
730
74
925
517
227
381
999
6
828
545
278
972
638
177
936
822
322
475
783
918
769
245
111
198
117
979
971
889
153
679
153
726
315
819
985
18
310
546
16
562
401
910
884
46
234
41
544
337
895
779
266
369
45
698
379
421
660
101
207
820
76
228
426
674
511
857
785
268
893
610
175
562
630
89
530
24
937
748
873
273
392
49
111
988
31
794
119
601
745
170
738
889
723
948
442
573
303
95
23
437
773
157
452
514
452
672
818
563
366
344
108
742
511
629
179
880
256
482
920
987
767
543
580
342
101
734
697
994
873
32
849
561
847
104
903
930
333
52
677
793
204
320
401
834
513
750
301
307
787
672
720
139
171
285
799
566
40
858
687
363
750
888
927
817
60
455
542
106
985
945
443
243
180
400
377
607
339
995
744
850
385
494
189
143
338
861
803
456
605
403
458
252
586
26
175
448
109
293
999
90
150
686
192
289
892
353
185
91
55
132
203
641
766
732
32
92
808
336
254
239
663
632
982
184
672
704
19
758
870
286
467
359
377
295
484
876
737
776
799
890
444
316
223
560
770
889
935
484
724
188
925
688
0
473
9
768
450
913
680
654
781
417
94
581
305
604
706
328
454
13
286
549
585
483
859
955
158
752
806
912
372
459
650
297
116
568
936
564
138
288
320
579
907
644
852
180
18
576
544
384
617
575
361
237
998
537
999
477
991
942
874
378
707
620
65
970
831
549
190
525
417
968
263
359
646
768
831
546
745
468
650
861
440
357
65
183
811
843
690
551
525
669
432
337
205
687
184
891
461
868
185
911
600
494
722
470
373
743
63
294
895
864
531
793
271
90
383
520
296
536
722
632
737
451
121
200
466
871
698
352
422
444
880
141
114
538
318
239
70
45
339
130
638
121
625
587
730
657
91
510
80
123
175
410
528
71
695
323
106
752
387
580
888
576
460
367
84
267
916
678
576
538
119
917
302
401
931
513
218
281
410
611
932
250
205
206
820
277
639
479
63
573
784
103
348
95
994
704
830
418
634
638
425
2
256
72
591
5
947
911
868
962
891
395
625
501
886
129
867
134
104
450
967
600
27
399
19
762
443
652
582
781
366
24
388
245
803
284
580
52
73
590
262
457
434
800
548
265
348
15
156
251
366
627
254
222
365
468
769
146
101
317
785
867
807
561
963
123
549
937
62
626
447
685
888
98
756
456
510
950
703
327
805
219
288
754
504
796
951
665
545
386
630
159
9
211
205
662
936
110
878
993
742
424
730
90
190
355
499
831
201
111
559
330
661
41
622
125
127
774
618
532
499
23
842
951
60
4
826
353
285
239
220
581
876
364
839
466
944
344
400
950
720
733
730
569
2
532
550
845
533
358
714
264
426
807
292
946
386
802
642
237
228
866
620
86
245
783
102
278
368
981
294
621
308
525
653
772
456
876
639
231
5
76
643
987
927
938
343
982
516
271
556
247
206
712
383
390
610
550
634
586
277
800
708
339
120
750
436
404
320
168
815
711
127
817
825
759
298
830
772
558
655
924
49
704
437
217
285
233
798
545
3
817
651
388
930
321
612
30
677
405
298
723
615
989
799
226
347
856
8
116
924
973
0
584
507
427
72
624
699
287
571
468
334
667
98
196
637
114
419
726
485
417
266
545
197
961
754
526
42
491
987
466
934
324
647
264
274
129
633
958
732
901
674
630
426
206
9
27
68
914
583
826
115
907
320
777
190
712
504
984
444
151
831
44
642
458
652
506
952
681
489
174
942
627
164
486
25
531
494
735
181
167
543
40
339
490
551
540
421
227
776
543
39
256
135
303
89
722
244
723
580
887
824
950
688
341
967
308
419
698
152
332
834
823
404
22
111
703
492
337
168
392
889
918
571
924
308
203
719
982
483
213
90
605
102
641
389
748
154
6
972
359
341
410
303
906
560
562
831
428
792
766
938
181
510
881
801
772
529
318
515
463
686
446
54
767
234
996
14
373
556
500
295
116
966
90
986
859
280
371
384
789
190
688
45
276
620
815
92
135
639
974
395
148
985
931
838
759
547
913
82
93
491
336
864
404
65
117
943
522
14
147
822
171
90
165
383
524
549
196
59
93
830
746
18
892
942
468
674
353
542
723
784
606
267
951
394
409
930
677
544
926
140
955
451
811
531
440
94
214
160
6
497
998
876
655
620
424
322
335
555
564
419
434
748
28
326
368
148
771
853
706
75
747
241
288
711
870
792
673
583
38
525
125
999
378
131
817
758
86
443
458
769
427
692
407
230
237
673
15
528
121
116
74
709
251
487
30
374
229
99
980
732
769
808
57
602
674
645
390
637
482
583
654
964
409
535
879
359
284
506
599
274
822
348
603
296
728
60
248
677
730
139
549
516
326
746
631
32
495
483
259
226
460
561
819
236
339
468
349
246
429
233
548
488
502
600
251
351
814
986
621
477
419
877
292
809
40
538
414
920
277
916
301
975
235
226
367
716
54
70
290
310
386
138
511
386
452
131
114
519
419
782
440
30
591
769
391
520
363
923
961
385
11
404
60
67
225
126
620
29
879
7
893
762
9
108
271
983
38
144
922
821
9
832
629
4
516
891
414
98
850
515
496
878
814
319
673
182
394
749
424
590
94
0
497
86
31
170
813
848
181
115
442
261
744
355
566
31
600
39
217
210
179
457
10
760
928
489
849
69
818
13
524
518
955
706
204
161
20
77
185
69
214
969
206
645
671
109
73
734
633
837
11
555
442
69
196
438
934
321
893
731
716
713
571
81
782
769
119
604
231
857
857
158
640
823
633
543
244
403
209
880
382
918
848
915
357
547
560
646
562
556
867
174
681
899
531
688
87
809
336
578
35
579
892
716
957
432
833
151
627
140
214
719
769
638
620
377
15
133
639
560
956
532
687
312
668
609
407
137
578
112
637
723
924
537
899
341
528
740
139
446
128
303
694
540
225
567
30
248
378
21
523
481
679
723
759
690
580
941
884
701
229
414
680
627
329
168
159
0
784
829
614
798
620
489
147
564
261
951
927
274
902
784
937
811
947
134
639
544
373
818
933
213
945
655
798
204
503
318
774
823
382
617
885
412
268
566
341
506
172
25
254
764
856
737
121
821
460
851
529
965
789
568
923
819
485
631
274
887
8
127
245
362
546
14
409
383
810
336
725
323
480
816
960
664
669
832
903
791
177
57
740
397
778
792
430
533
152
596
529
422
533
388
744
818
805
542
352
182
79
78
603
531
157
374
703
115
21
439
124
103
93
527
951
943
838
151
541
476
580
447
795
312
120
435
58
428
129
319
785
809
858
749
96
23
468
52
534
209
863
811
969
78
943
310
609
455
467
209
163
767
768
540
104
15
889
830
168
569
628
417
534
557
17
251
874
786
249
736
341
824
15
922
71
534
85
462
635
547
514
853
530
853
923
166
383
717
167
571
325
216
0
974
137
867
959
312
81
266
274
348
574
342
520
855
610
660
435
949
724
615
374
563
142
707
153
423
987
27
538
225
299
925
755
466
81
120
320
862
150
699
132
176
431
464
86
969
696
106
261
734
377
545
521
756
863
215
988
140
470
80
832
743
155
365
313
60
166
56
880
462
894
19
304
316
568
30
329
221
619
891
425
792
888
991
83
962
373
715
19
771
967
598
128
855
923
637
7
440
301
185
399
51
244
49
656
398
735
600
278
566
787
405
476
656
84
231
475
655
59
6
494
738
534
65
897
840
332
118
467
300
956
665
916
737
835
238
579
926
462
290
960
923
722
77
598
296
87
478
619
782
534
692
510
485
218
61
211
329
712
732
163
832
506
549
482
247
312
98
195
856
529
710
227
565
491
96
275
783
691
736
814
251
430
371
323
388
21
830
333
98
923
569
299
310
137
522
531
468
740
41
269
988
657
624
717
265
178
554
92
833
444
1
987
844
303
242
487
69
965
790
375
464
306
894
776
678
417
781
224
673
388
311
932
468
90
705
288
668
159
936
420
344
165
368
414
465
117
346
508
855
69
374
540
714
795
623
188
280
230
1
985
205
956
162
866
313
895
203
431
110
55
114
118
651
236
15
253
357
993
76
959
286
472
466
612
135
902
215
796
52
471
885
776
660
637
640
899
534
235
677
670
130
19
399
452
929
160
559
943
640
430
921
226
330
53
785
697
262
275
652
458
187
103
4
415
879
905
49
194
303
408
716
354
172
322
915
794
580
597
203
394
95
79
1
510
394
811
701
45
881
820
893
717
84
559
516
938
214
136
320
388
914
694
162
214
353
702
852
553
57
766
317
54
166
483
903
357
982
754
668
625
88
104
104
426
149
307
364
204
508
872
464
498
135
813
978
276
81
986
970
523
891
277
543
432
822
285
388
225
837
324
423
989
314
554
573
19
459
352
638
975
93
61
934
686
903
738
591
550
334
888
602
466
551
779
729
426
496
99
89
870
358
517
380
387
681
982
393
125
533
779
802
722
133
353
425
976
521
41
415
890
684
214
717
313
195
178
678
431
473
807
716
84
931
448
81
563
207
436
444
762
215
224
375
941
590
620
678
597
744
914
730
563
481
521
890
931
180
492
766
134
488
298
472
417
960
433
768
439
537
816
16
891
743
720
70
517
613
898
892
503
395
839
804
153
722
854
528
545
647
601
430
872
153
823
57
809
650
413
135
607
935
140
819
37
470
683
182
430
305
516
776
274
514
714
200
937
837
184
218
236
637
748
319
681
128
201
261
39
728
113
644
617
387
396
107
561
531
728
367
369
542
214
501
289
939
598
924
404
375
258
722
503
528
133
386
666
493
491
642
716
908
581
745
233
631
91
86
558
964
250
987
454
930
399
510
865
460
176
59
426
212
850
573
210
112
979
885
465
873
444
806
207
343
945
242
647
271
186
505
105
658
801
279
561
788
168
659
102
410
440
851
937
491
857
166
990
486
942
890
707
81
988
465
818
185
781
999
603
147
884
664
659
594
66
967
645
844
632
712
238
948
968
939
445
32
241
333
371
750
519
461
110
962
106
965
394
775
808
795
939
750
711
963
235
448
722
658
975
752
128
335
686
184
171
223
65
636
336
605
246
942
858
538
56
602
926
273
406
18
486
14
373
662
748
321
675
776
179
778
974
933
844
807
35
61
539
999
21
660
27
975
617
485
523
11
194
856
501
768
245
862
718
511
342
173
887
270
721
268
416
653
332
154
34
589
686
415
548
933
755
315
211
603
112
530
397
125
216
638
776
932
997
738
567
719
42
505
169
402
984
442
300
543
823
813
173
974
981
629
648
836
709
657
765
812
83
905
934
759
936
906
675
25
956
183
627
663
139
727
538
422
248
799
564
907
965
577
953
131
203
213
389
659
413
816
727
89
355
467
540
329
981
156
331
191
574
265
187
226
19
184
484
77
283
98
19
737
195
534
417
466
444
11
317
611
599
477
129
644
106
139
267
659
54
790
750
553
479
346
86
686
325
527
387
564
643
620
696
52
493
88
807
645
425
551
814
891
582
271
682
936
342
855
869
371
693
414
10
479
327
234
537
195
877
560
699
289
425
181
162
582
336
635
416
293
621
851
653
871
991
774
22
502
576
399
531
911
37
956
47
426
228
692
77
725
914
452
147
272
87
316
988
84
985
873
412
989
768
637
598
582
37
469
421
899
260
73
211
309
277
431
733
924
933
592
74
522
480
781
595
421
923
401
915
275
294
319
978
816
760
756
171
614
912
43
839
746
26
16
548
949
795
990
927
964
372
378
901
929
246
494
20
988
603
725
42
931
442
130
898
675
222
589
43
650
678
987
35
52
882
271
943
985
11
145
287
3
693
946
425
706
717
289
584
712
393
661
557
226
397
422
219
263
239
665
494
245
633
842
847
413
947
37
374
306
199
995
54
82
494
215
867
632
152
181
850
532
612
243
820
654
299
914
803
588
870
619
67
468
956
663
246
17
805
408
879
120
859
49
599
227
390
641
389
559
947
32
346
173
202
243
313
819
767
944
140
262
283
583
139
386
211
50
440
37
619
797
54
354
566
769
269
730
77
927
848
61
657
106
733
124
9
162
491
75
624
506
999
177
961
127
835
930
618
298
153
788
397
40
204
645
855
271
816
866
681
460
204
379
51
385
41
988
983
599
895
792
521
87
718
515
256
689
91
738
503
716
445
869
261
449
344
919
712
357
329
918
50
393
128
263
31
188
797
296
138
966
867
629
461
81
183
570
431
925
388
746
40
549
31
113
156
743
458
472
805
220
187
906
352
588
508
492
164
35
39
721
301
271
836
611
451
336
68
94
808
653
539
481
647
92
236
788
839
101
758
624
723
262
129
960
618
98
669
69
756
934
868
213
120
724
305
27
259
574
888
965
545
131
596
193
850
168
294
743
513
33
764
71
139
451
143
878
960
444
572
412
279
481
352
141
884
301
752
851
459
741
283
697
375
925
69
447
501
754
460
836
205
556
347
268
456
839
134
103
407
868
307
657
213
303
348
931
468
233
791
392
923
935
861
498
509
159
141
879
810
724
881
284
340
991
304
512
198
882
526
469
812
862
23
595
151
628
277
226
843
188
649
383
215
555
371
279
293
740
411
922
745
967
762
285
536
80
845
657
184
492
504
285
516
471
166
329
727
206
973
741
13
570
694
917
522
155
794
925
191
134
488
615
577
344
759
814
310
847
565
79
563
879
342
965
196
223
645
507
288
562
326
192
204
916
241
320
794
331
731
231
15
642
764
606
2
827
10
564
224
166
881
143
825
12
688
99
232
716
182
40
663
279
482
931
422
525
854
370
225
937
691
878
864
565
381
128
718
218
812
403
888
434
882
947
29
735
386
274
49
808
365
25
699
616
366
324
26
614
628
723
975
22
231
228
466
472
458
102
9
444
353
139
0
781
999
549
583
74
886
382
1
492
763
500
192
144
564
784
539
549
237
728
468
778
991
696
400
814
233
875
587
669
269
854
942
823
750
934
174
834
146
477
134
58
206
148
302
425
620
984
819
897
941
95
765
966
971
59
361
170
356
432
168
836
597
48
609
142
375
471
341
212
969
25
976
898
105
987
677
263
85
755
391
131
484
0
739
631
419
711
212
847
389
96
195
797
71
915
203
91
292
635
91
700
939
89
870
794
474
291
272
603
30
609
957
200
952
457
745
83
920
405
812
112
713
766
922
520
930
523
205
367
298
700
943
600
105
642
393
814
241
706
506
201
472
189
277
765
67
392
832
661
393
76
926
307
326
776
549
878
850
308
316
432
766
211
686
882
179
183
701
170
366
399
469
382
779
577
292
755
830
130
154
625
831
862
617
916
24
266
791
73
473
982
645
854
147
542
711
482
714
585
330
441
753
419
461
190
586
53
621
720
851
676
19
511
818
454
69
943
319
287
976
484
878
743
903
580
867
523
381
398
328
76
794
44
657
153
822
993
286
586
290
591
456
363
525
762
316
234
982
862
688
468
188
685
265
259
895
252
106
102
147
280
277
735
114
869
374
224
276
333
556
582
125
731
192
909
531
284
869
892
872
397
764
174
962
597
787
248
753
653
143
495
396
554
243
24
828
372
511
749
324
597
764
825
474
472
593
5
5
529
957
287
112
516
552
468
150
256
448
788
690
151
114
244
199
449
974
882
800
810
457
844
468
778
38
942
79
542
752
693
504
149
568
245
198
99
925
494
934
26
713
382
729
645
939
841
699
15
285
525
988
601
757
827
245
429
900
693
720
183
931
477
691
106
769
598
347
809
273
775
860
615
384
69
991
840
238
869
789
564
474
384
653
23
265
226
42
111
246
561
230
306
556
134
929
138
427
193
857
234
583
347
535
186
334
121
213
938
373
922
838
557
976
323
305
529
366
538
17
450
607
98
178
951
750
983
342
289
282
79
846
736
899
73
180
713
700
457
215
63
472
948
39
927
189
247
736
54
466
916
188
627
283
294
565
477
542
0
704
159
280
806
716
841
833
584
781
874
432
535
611
66
968
443
647
86
961
654
726
112
563
558
189
167
564
459
21
214
531
507
861
263
310
171
631
272
574
956
344
29
845
420
334
915
474
428
404
15
456
167
554
417
276
558
675
790
384
585
11
323
783
952
498
713
710
960
458
381
741
978
294
828
412
157
887
610
989
301
402
637
945
469
21
777
812
552
819
213
100
974
963
332
473
386
71
957
884
868
829
179
387
969
593
357
833
443
571
99
630
22
117
952
295
556
896
397
202
626
116
719
552
820
508
523
958
210
552
144
0
837
22
793
648
252
297
914
96
214
484
352
371
610
333
78
668
901
924
527
376
290
935
811
789
67
779
143
534
12
615
418
675
985
774
354
622
60
649
746
867
538
832
298
116
535
716
294
468
41
440
933
624
748
472
33
286
213
418
27
767
322
339
511
298
769
977
236
907
649
999
156
683
757
474
455
424
364
970
558
615
657
405
428
528
578
333
231
292
877
57
497
497
898
780
375
664
26
263
7
642
977
62
230
572
566
987
329
322
967
333
603
29
477
425
63
569
732
600
661
200
342
126
539
703
678
311
225
508
568
714
48
734
267
194
730
456
324
500
993
485
308
832
763
461
647
913
137
565
959
157
307
85
969
225
839
503
756
403
388
477
636
179
0
758
952
78
433
319
753
326
750
104
151
870
554
160
718
324
142
412
72
920
842
22
45
611
916
90
836
614
305
178
226
390
173
661
238
878
353
247
956
434
949
751
153
888
306
160
572
585
567
303
599
557
160
136
999
665
493
492
70
473
74
459
649
134
321
429
252
146
360
639
953
521
195
881
152
184
469
957
27
643
469
870
157
855
750
783
28
185
839
640
943
457
681
469
699
401
716
946
538
439
619
281
509
311
860
654
484
115
21
777
753
423
842
496
863
784
951
452
408
12
655
957
818
748
830
145
349
898
420
319
899
978
340
466
729
632
269
934
503
66
159
117
368
608
546
179
458
288
283
263
963
623
36
911
651
919
36
413
449
641
560
6
115
670
105
35
999
248
298
117
830
483
471
139
19
656
153
572
363
438
790
138
905
257
798
492
637
81
514
822
661
812
27
96
700
232
435
481
585
741
577
57
630
828
371
438
735
961
464
344
770
679
892
180
844
484
447
298
308
655
120
32
41
270
6
991
703
431
690
227
776
33
326
707
792
738
5
812
374
580
760
244
154
873
591
972
980
423
435
96
661
874
420
365
514
461
861
477
768
546
305
165
120
668
770
268
998
243
911
791
570
951
251
665
221
15
908
361
318
259
468
174
636
926
22
703
744
109
876
977
624
340
275
495
104
139
555
250
455
357
801
883
732
327
918
322
314
965
35
949
9
968
588
562
253
108
121
452
193
348
424
190
544
661
251
641
50
917
701
603
610
540
796
298
714
516
907
687
187
951
928
249
739
231
648
279
629
116
412
514
470
592
541
628
903
423
805
773
601
265
938
48
193
767
729
755
229
764
440
564
874
134
505
14
396
459
785
967
88
146
100
640
246
720
885
345
795
714
906
376
311
25
603
911
948
748
705
404
302
162
197
322
772
386
124
600
277
619
206
678
786
859
881
928
449
437
511
82
9
631
541
698
431
794
186
706
436
84
349
293
48
29
789
875
714
448
620
326
671
784
30
155
446
467
154
562
731
217
379
516
989
636
115
407
347
490
287
520
456
475
78
468
69
681
697
898
642
922
539
611
755
29
220
768
673
236
912
442
448
799
865
160
436
405
436
363
559
336
605
352
566
932
710
992
278
181
199
799
518
670
439
851
485
130
687
326
154
289
969
341
303
582
205
714
323
219
684
887
939
291
346
476
34
275
124
422
112
674
225
384
759
276
600
387
796
15
503
377
931
208
688
315
270
216
341
375
340
467
978
665
654
855
148
673
467
399
872
437
719
382
787
166
164
541
876
74
362
475
317
549
942
385
886
596
886
70
866
369
123
909
563
86
667
23
307
686
847
208
566
64
960
518
738
37
696
895
731
415
926
69
327
278
898
375
304
831
516
75
514
990
709
466
872
220
325
790
271
549
281
918
389
464
43
71
474
856
200
204
881
43
945
142
700
540
561
190
597
170
618
98
968
642
569
58
277
195
163
962
346
990
643
264
134
386
927
584
328
92
861
466
0
868
961
161
96
238
425
860
914
766
230
655
8
53
660
647
321
383
269
17
839
575
690
195
120
694
301
599
621
571
119
176
826
305
918
854
687
720
692
857
308
642
955
110
184
389
410
406
323
785
159
152
261
291
393
53
337
443
519
964
622
350
271
321
159
409
392
630
365
92
41
97
764
595
14
744
18
788
253
551
414
512
464
912
365
103
699
928
730
453
988
916
798
342
468
22
262
828
609
992
400
382
56
254
415
506
310
810
814
660
812
711
298
924
77
718
166
55
578
568
733
333
736
578
922
677
913
209
978
345
179
8
571
231
394
401
381
165
660
311
246
468
950
459
524
582
187
902
285
167
240
859
506
127
47
814
230
73
46
900
984
899
785
638
872
665
84
846
61
671
169
740
539
658
288
612
398
662
765
573
564
356
269
431
313
624
339
29
188
265
742
895
827
467
955
771
48
322
153
439
320
140
762
837
411
320
240
182
160
996
91
965
344
550
294
494
856
496
280
367
959
590
48
123
640
83
400
763
343
23
827
749
453
23
584
605
393
618
311
665
182
306
330
67
532
976
724
857
112
538
557
725
735
659
725
82
81
262
928
631
1
434
701
938
325
963
392
721
83
182
671
460
806
841
471
171
252
681
246
17
158
424
802
166
701
570
297
765
503
467
256
420
735
173
763
909
33
798
230
549
764
190
593
651
178
331
901
344
112
387
96
992
147
838
57
63
364
83
727
67
681
16
152
192
454
734
945
361
970
7
746
849
709
397
177
428
750
67
639
42
434
531
658
575
998
338
111
405
729
487
472
263
472
153
599
767
821
659
943
107
298
361
342
243
232
882
927
276
337
310
826
819
506
922
519
67
472
420
671
833
509
206
289
389
310
606
503
109
771
289
329
471
885
975
788
23
86
828
659
378
93
557
457
695
493
144
32
246
641
382
684
677
810
894
8
875
813
849
598
167
584
248
188
556
320
771
570
702
876
55
982
359
417
242
366
871
69
719
556
323
629
171
2
818
370
137
942
540
53
779
739
168
13
970
914
708
665
879
648
261
687
941
529
751
479
508
786
105
799
216
795
419
190
262
328
658
156
609
802
181
820
589
254
780
612
179
456
997
640
492
679
350
953
245
484
540
921
113
43
658
957
591
966
765
394
705
784
143
761
40
743
744
316
505
263
425
125
532
976
146
244
460
818
1
169
140
287
862
839
668
130
926
728
474
639
827
159
153
785
984
352
549
64
837
909
121
235
538
2
335
622
682
913
133
896
24
637
636
71
661
16
439
32
452
775
804
926
125
323
414
880
707
45
199
783
589
789
294
45
311
457
577
785
312
502
617
262
280
788
619
352
293
418
292
935
50
416
355
880
954
191
20
910
921
989
989
15
208
540
602
999
143
236
821
996
22
459
600
114
421
618
861
468
701
455
721
764
422
433
499
988
434
688
569
425
553
140
94
160
916
544
480
375
31
593
634
345
259
189
687
592
188
632
585
633
241
900
335
68
472
626
194
690
347
167
379
148
365
237
868
476
12
631
719
933
331
112
398
263
475
243
458
699
546
881
224
906
907
182
460
183
934
557
999
839
627
295
557
66
42
545
662
991
117
896
326
758
562
888
908
672
715
561
468
32
423
486
991
85
87
576
89
327
757
82
639
146
379
793
494
578
717
561
340
260
171
563
442
893
808
634
3
466
109
216
641
23
703
28
89
69
277
460
977
225
887
104
258
497
346
434
811
988
815
923
487
849
222
169
470
725
820
889
577
714
715
562
875
3
127
645
601
4
195
945
811
911
358
784
335
184
506
538
848
890
258
381
1
854
547
361
542
187
8
71
320
598
628
101
351
82
244
563
687
113
333
684
7
214
705
791
335
606
34
985
590
971
75
737
845
164
277
347
384
201
728
81
147
997
522
573
521
807
991
111
626
180
316
392
560
178
302
285
948
907
448
290
382
485
532
235
627
955
347
19
40
440
776
657
34
399
992
736
382
468
934
344
897
63
750
742
979
509
523
946
726
306
751
753
479
665
305
326
294
222
517
272
769
699
904
462
472
92
612
239
84
699
200
48
518
16
102
887
182
687
951
770
806
213
424
466
391
30
268
408
435
195
540
810
568
381
397
776
89
812
316
508
162
253
992
614
940
424
73
806
989
6
939
388
728
514
722
756
951
962
558
291
10
65
29
470
957
667
740
110
994
854
872
83
227
552
509
732
100
504
83
316
633
332
228
302
967
972
943
327
872
804
816
808
232
993
857
609
835
1
168
617
179
805
181
605
527
626
449
805
382
578
114
104
936
873
450
390
146
153
701
715
654
619
512
820
931
480
830
639
77
703
289
638
382
838
644
830
929
656
266
487
141
492
244
377
871
411
539
84
976
218
876
997
523
964
40
457
65
489
950
109
890
531
792
694
233
855
104
563
194
874
435
452
887
495
413
969
383
449
622
933
107
369
975
838
730
42
649
154
717
823
268
459
713
710
72
317
365
904
219
157
806
111
587
818
970
577
616
416
170
478
308
564
591
616
62
901
712
44
182
685
558
605
407
926
117
527
859
318
554
809
678
631
122
462
693
155
515
855
766
448
307
290
673
405
478
360
126
544
824
991
319
394
655
906
414
196
529
969
751
231
14
798
254
824
888
708
904
35
821
201
411
46
439
200
25
696
388
481
511
794
449
326
215
319
297
245
769
468
93
76
89
379
454
202
169
996
715
444
574
571
477
893
133
431
316
27
285
717
263
558
897
17
276
688
362
377
201
714
583
23
144
412
295
889
785
851
96
472
490
358
38
198
91
448
607
254
242
711
273
753
123
275
447
219
263
409
634
508
856
497
767
640
852
18
44
203
85
205
42
726
552
78
751
220
3
325
538
681
723
259
627
413
477
649
559
629
387
406
679
301
954
519
690
222
897
429
279
345
297
10
947
15
883
841
284
222
353
223
559
79
70
351
331
671
562
560
327
616
638
226
934
132
51
513
54
656
595
663
968
557
647
299
233
923
742
447
565
510
564
127
614
803
747
385
963
119
733
4
533
722
558
486
803
365
581
509
979
935
950
900
512
664
254
128
95
638
177
83
954
549
869
671
868
87
282
383
363
227
704
858
965
551
596
43
176
438
258
164
397
41
420
636
593
616
888
737
56
577
114
588
11
924
426
283
748
282
437
430
181
151
44
187
335
834
811
588
223
559
353
510
917
416
13
151
781
301
590
353
126
995
537
408
106
780
116
316
538
798
17
712
586
878
332
826
489
914
56
352
779
629
811
121
912
793
369
734
672
982
408
900
491
723
225
472
607
474
464
312
292
150
784
683
240
402
368
538
979
12
202
826
825
852
322
77
525
786
834
952
753
864
451
30
302
795
394
747
527
782
764
65
130
694
723
411
36
161
209
303
986
717
795
685
43
556
289
635
185
740
325
936
488
60
335
766
780
215
17
784
189
835
375
647
94
959
949
261
133
54
131
209
269
187
340
740
200
341
278
769
341
206
48
751
504
287
412
69
624
559
283
318
780
422
842
959
249
147
124
550
250
333
2
240
575
665
189
534
761
722
826
75
416
580
659
558
719
81
471
696
535
348
229
290
70
618
707
29
432
212
488
404
585
777
143
488
254
300
406
417
619
585
975
865
665
284
930
783
132
144
698
589
120
998
601
746
644
884
177
838
706
140
940
278
467
756
35
59
11
735
637
181
45
837
316
636
126
15
604
538
128
401
216
409
918
959
413
742
709
600
425
363
813
26
328
871
864
875
593
718
152
204
842
621
861
284
384
697
819
595
651
44
330
945
796
311
159
406
439
420
940
953
478
945
349
465
271
674
916
918
5
917
517
347
114
811
915
492
421
713
503
103
763
812
967
564
652
284
790
885
51
92
151
570
483
313
630
671
169
155
142
687
367
227
619
122
897
848
541
663
281
574
982
10
286
306
195
430
774
668
384
568
851
368
91
755
110
37
144
378
556
181
263
496
651
93
328
81
467
536
727
263
947
822
708
231
168
675
665
776
813
139
266
523
835
529
658
150
968
875
89
445
402
863
826
768
523
518
109
369
848
277
491
263
288
489
654
440
134
91
751
942
753
157
358
276
302
281
288
672
775
319
674
130
496
292
972
689
440
326
763
101
99
902
729
594
447
107
281
132
750
809
154
768
188
122
441
225
198
617
87
449
918
883
199
177
92
671
69
905
636
963
171
833
58
50
458
260
410
915
240
120
778
176
96
794
936
949
820
275
951
581
281
474
231
547
609
807
335
768
271
255
692
209
172
278
89
975
8
606
406
884
490
418
451
852
828
78
127
948
272
799
829
269
269
417
526
833
284
230
237
837
580
778
748
173
315
504
628
207
475
725
417
937
173
9
548
426
838
603
256
722
435
837
495
567
79
377
287
721
929
306
741
102
59
521
23
180
28
258
339
220
530
457
753
384
987
654
984
978
475
907
594
41
833
702
44
90
479
668
935
679
126
909
587
415
516
585
364
369
132
689
803
287
897
134
286
42
482
67
899
345
129
413
178
363
110
555
224
601
682
439
801
775
729
241
814
712
253
692
212
378
303
177
742
594
936
462
139
823
140
674
573
540
455
253
265
616
915
9
902
188
16
900
732
760
548
640
542
67
359
16
582
481
64
866
974
498
408
766
110
117
296
403
832
341
139
224
795
54
293
629
260
2
281
785
859
43
52
972
17
511
161
182
201
989
566
241
72
318
572
391
64
674
799
167
822
482
883
803
698
482
596
864
919
675
449
522
408
639
207
660
974
191
68
739
567
79
515
633
346
534
662
821
385
20
756
895
648
198
205
577
863
123
998
643
214
854
637
290
565
88
945
56
51
877
992
626
458
735
333
888
934
177
160
995
346
156
974
725
811
212
907
206
603
236
402
86
430
863
391
647
329
606
386
405
742
664
921
345
76
578
706
36
943
995
778
119
292
395
986
558
454
326
98
295
722
335
629
71
960
293
341
324
319
557
570
28
117
767
639
656
983
344
175
951
597
942
554
370
933
11
65
75
991
798
705
884
426
983
718
639
624
10
774
836
601
420
859
129
743
656
67
990
442
100
504
697
312
357
548
301
706
50
866
942
237
326
475
999
586
408
672
858
93
343
107
917
828
81
594
943
455
261
818
658
428
694
382
346
989
659
496
711
746
746
299
34
943
351
901
556
895
149
804
784
837
821
548
870
73
134
260
144
295
337
807
490
375
299
656
944
11
788
561
513
759
655
989
482
390
459
378
196
968
701
564
334
719
400
925
654
35
273
923
502
309
919
739
920
912
475
764
669
704
870
425
673
752
37
254
439
21
659
500
559
51
987
665
102
296
5
707
571
557
8
198
254
735
145
556
34
319
754
576
442
690
167
118
901
8
565
190
602
187
770
242
502
349
139
82
850
98
842
672
465
320
624
929
54
944
417
442
47
936
240
301
202
880
455
702
294
467
693
20
243
800
967
735
80
515
99
540
577
162
203
225
430
709
75
264
99
417
447
909
110
684
741
79
941
255
149
874
316
385
709
899
330
336
177
983
926
689
697
727
835
785
395
480
343
769
128
419
883
162
248
436
509
615
482
679
95
988
435
200
278
618
719
602
193
467
684
262
536
786
201
993
571
141
346
497
693
95
742
364
647
802
701
612
746
838
466
690
68
970
147
143
392
47
1
456
986
922
814
91
244
465
895
753
895
412
76
955
658
77
332
620
155
178
130
192
569
358
153
784
972
634
182
807
620
257
897
896
722
986
90
994
472
105
476
328
252
524
490
179
828
976
206
737
327
738
798
858
115
317
95
41
500
470
847
709
650
474
183
335
39
703
577
808
255
587
787
23
862
490
851
337
354
402
461
921
325
288
917
952
571
412
164
818
940
635
832
305
343
446
416
204
71
423
808
564
227
384
547
776
495
531
412
547
515
785
28
408
548
708
713
893
382
503
339
910
97
678
304
941
236
265
857
662
968
326
851
571
522
458
502
353
721
968
816
32
619
43
612
645
413
525
37
750
356
67
136
288
262
185
283
713
633
288
933
323
763
255
838
42
603
950
70
928
226
421
251
421
814
993
290
237
85
639
703
712
507
236
44
774
992
867
577
265
355
227
532
926
514
962
927
368
969
724
491
775
185
789
606
492
555
697
485
826
344
200
388
496
141
670
450
250
82
403
932
209
938
615
435
158
587
428
326
367
427
723
554
197
956
168
861
127
574
345
248
805
766
193
411
107
760
398
353
638
391
104
502
707
363
225
929
181
136
399
142
691
475
35
307
947
175
951
51
551
698
969
507
42
510
821
440
413
940
666
10
225
228
932
41
895
591
866
960
948
195
734
97
815
219
667
832
307
448
78
969
242
24
582
114
58
77
879
779
475
516
323
231
704
857
958
467
692
617
528
389
863
451
524
122
95
578
707
332
329
182
787
496
483
502
826
95
864
71
180
906
754
456
654
387
960
644
597
672
693
274
134
231
35
690
544
855
555
573
410
350
883
576
48
371
18
742
427
129
873
278
492
423
100
103
649
425
869
600
60
673
604
626
836
26
826
619
583
672
417
23
346
721
140
841
694
404
987
534
542
572
115
942
498
189
530
970
275
811
310
825
615
489
653
82
515
268
768
617
980
694
731
720
925
959
226
745
375
938
386
911
67
927
713
170
990
590
617
10
304
4
993
4
745
740
597
959
11
847
782
575
332
655
902
223
131
684
12
789
271
891
374
285
417
551
35
742
483
903
884
302
83
581
540
511
679
198
783
816
784
276
410
70
414
710
457
281
94
872
413
265
539
554
371
346
844
582
489
122
462
317
40
409
76
746
63
18
941
154
681
486
823
321
514
668
361
688
390
732
16
156
82
296
26
460
863
671
157
775
164
758
33
436
664
821
502
371
349
334
22
864
440
882
106
873
916
977
860
570
51
183
192
155
831
216
843
66
207
12
743
900
25
737
644
84
24
87
383
435
635
163
685
549
479
392
360
285
402
970
417
408
190
997
713
784
946
863
54
639
507
676
445
787
88
641
785
657
893
654
136
754
210
719
700
17
85
950
189
732
781
220
794
281
550
850
756
444
931
331
468
226
456
879
204
268
14
63
682
412
686
405
410
970
172
844
176
991
954
916
428
310
638
301
826
368
504
964
42
656
740
443
784
642
343
921
908
238
92
84
669
282
405
649
559
77
593
576
154
536
560
51
558
354
350
647
656
245
50
61
217
673
155
446
873
714
509
937
512
376
266
232
351
304
604
56
292
637
246
370
19
985
832
46
422
212
565
731
782
145
386
775
310
247
236
515
951
803
811
316
301
486
207
750
906
596
293
62
296
707
938
45
594
978
674
415
400
959
353
534
966
747
700
917
210
685
815
282
960
48
60
629
578
902
416
121
691
573
457
28
515
944
122
723
900
23
461
633
259
440
930
878
573
926
441
785
31
347
779
701
720
528
572
201
589
963
515
631
295
53
799
786
866
554
765
569
180
217
585
38
765
947
43
852
316
506
505
260
23
826
726
898
61
694
84
978
181
156
966
971
607
906
604
600
142
641
956
633
248
501
494
36
341
839
949
195
9
448
459
754
491
206
997
647
400
601
259
440
100
95
794
893
589
459
836
268
648
47
772
405
906
174
864
691
718
926
47
413
227
718
162
980
87
196
189
418
629
338
840
671
895
666
470
382
600
246
402
153
197
344
110
518
547
390
816
968
908
921
84
293
139
252
810
681
176
168
781
646
816
91
679
691
654
380
825
841
630
38
560
312
505
356
22
200
798
489
763
525
572
942
261
767
925
899
695
461
956
815
935
780
783
190
650
136
605
328
316
985
811
349
285
121
79
650
302
447
326
518
991
579
65
665
984
210
612
103
809
666
451
285
431
51
101
307
790
966
515
461
813
252
738
99
418
975
730
827
111
861
147
929
65
844
586
228
972
706
807
497
234
860
662
866
526
546
890
681
633
736
937
375
382
732
972
825
896
876
261
306
604
780
381
392
73
49
469
219
203
93
954
67
182
833
59
509
820
761
404
576
398
467
833
57
500
947
27
655
457
930
689
879
776
514
299
367
973
904
449
128
940
871
715
971
359
291
343
981
392
862
262
103
575
604
724
280
540
429
881
735
89
721
880
519
679
83
27
246
887
319
996
375
452
91
752
375
255
665
495
196
814
768
885
489
724
483
660
516
893
790
835
687
53
108
993
801
877
382
792
512
683
707
701
708
684
218
21
61
170
854
494
456
147
78
626
915
780
556
771
916
128
758
92
696
497
472
45
311
657
130
496
107
874
596
557
343
234
684
790
229
74
458
60
738
148
15
350
794
741
447
7
252
605
138
165
509
309
6
451
976
725
412
236
653
53
49
638
977
4
337
807
880
442
405
941
443
19
133
183
614
294
664
737
806
790
121
779
670
469
737
819
859
335
795
260
676
255
695
474
937
694
850
726
74
413
112
130
484
797
335
239
975
511
631
583
601
629
671
502
404
298
213
206
217
332
183
471
758
26
958
8
397
725
896
181
448
503
260
455
951
516
922
273
545
28
482
396
772
110
455
730
663
808
491
138
707
225
535
289
845
276
247
273
62
882
333
457
435
379
290
181
798
66
662
109
628
689
674
610
649
687
944
209
261
835
369
501
915
167
66
246
62
353
134
35
223
935
249
971
983
703
594
683
13
150
938
912
436
724
116
380
206
118
704
134
654
571
432
658
828
434
801
401
134
17
459
126
879
529
761
904
5
119
539
809
512
485
579
399
639
794
695
592
348
963
905
718
549
27
850
751
537
320
634
638
510
737
603
579
88
136
451
467
790
238
576
157
429
30
735
629
877
481
53
416
890
655
441
48
150
507
218
870
472
706
394
849
436
39
338
542
119
210
375
356
516
901
605
365
547
972
220
454
44
996
459
813
535
996
197
200
267
30
850
890
621
754
681
474
397
213
895
868
400
980
815
454
480
746
140
802
113
804
533
336
423
492
319
80
3
65
770
10
618
623
362
994
807
849
465
299
422
110
607
126
931
163
414
21
761
800
15
103
665
370
738
903
340
322
512
205
571
282
4
400
730
718
596
718
2
563
398
732
218
710
869
133
322
849
40
798
21
449
396
203
618
420
223
935
901
2
893
48
547
639
285
188
848
438
178
144
458
601
351
654
254
654
215
739
496
623
448
444
803
498
187
56
322
101
877
722
610
817
993
259
373
499
881
987
592
478
235
760
889
859
184
344
856
178
615
247
236
350
906
47
455
997
250
558
821
162
922
606
826
577
495
586
653
168
467
711
533
684
714
106
913
358
19
863
673
484
94
847
362
19
263
661
835
178
529
319
322
757
425
903
486
168
272
90
307
128
874
155
324
362
737
597
390
601
966
548
918
56
7
210
567
535
24
841
205
822
734
180
292
12
425
444
35
742
63
582
343
697
795
279
751
184
856
457
798
738
933
815
255
860
437
57
241
831
402
673
440
17
109
281
890
280
331
841
773
243
664
257
407
467
851
745
871
402
922
882
677
848
151
849
574
449
723
131
57
548
233
5
702
142
363
237
757
233
273
997
586
330
956
419
80
773
227
281
191
982
458
731
366
110
998
993
484
303
9
611
140
805
913
219
446
213
643
148
383
703
748
955
955
729
786
453
980
647
635
494
286
471
757
437
614
504
627
15
369
370
381
169
695
293
954
701
38
175
331
491
44
625
835
307
104
689
416
541
830
109
979
873
38
866
140
814
83
589
395
413
760
987
147
92
211
749
19
784
293
192
221
526
772
376
142
829
755
644
766
65
615
124
90
474
925
820
912
91
709
388
246
838
635
651
688
800
120
203
837
756
291
176
771
697
328
152
783
98
726
374
23
539
833
669
926
224
269
433
42
351
923
960
659
269
25
375
973
960
415
53
703
29
608
601
800
259
148
103
742
584
490
782
922
260
341
791
483
499
621
723
430
79
75
685
66
691
696
835
992
602
627
419
181
62
616
794
564
163
83
631
376
658
722
593
961
462
340
776
219
256
74
691
88
794
979
4
327
813
339
843
884
693
773
436
196
461
706
782
715
159
207
58
298
423
679
788
403
217
106
500
358
839
879
391
708
487
935
358
20
32
99
637
579
915
885
39
91
705
49
582
658
464
566
413
200
669
46
280
838
745
20
616
373
114
636
238
779
941
485
997
117
956
237
134
348
82
638
736
310
571
811
375
570
432
980
705
55
110
799
925
252
532
34
175
710
986
726
934
503
275
155
639
534
700
870
494
930
535
580
495
107
506
540
698
299
203
472
203
414
788
824
776
191
92
106
993
561
389
908
337
958
190
480
755
650
103
404
426
305
827
797
155
963
325
972
374
344
967
276
223
552
253
50
53
433
906
116
957
26
659
18
179
789
497
813
190
729
5
692
168
308
448
688
967
664
967
658
114
426
78
396
14
560
133
541
774
620
510
725
718
212
171
157
908
319
476
626
782
720
257
922
116
193
560
450
83
676
59
953
461
741
245
526
334
660
978
577
486
475
331
493
592
310
745
166
629
680
679
674
978
724
217
738
636
564
262
859
164
495
988
263
483
389
936
186
51
624
136
619
566
314
647
147
301
450
284
4
855
759
332
573
475
736
649
404
645
202
1
967
605
212
290
253
841
296
880
349
341
300
662
807
933
568
367
658
239
318
107
979
582
233
611
24
899
795
641
192
733
810
919
215
146
134
683
710
374
449
528
347
319
246
186
12
316
6
653
44
705
567
266
399
79
273
284
681
326
67
534
576
427
786
963
709
597
806
274
130
26
455
269
256
586
445
373
400
943
772
21
514
792
378
252
555
449
270
504
987
533
95
150
278
828
572
800
788
378
708
70
328
945
155
175
254
491
287
245
281
531
757
741
882
674
421
246
21
827
992
898
112
826
60
434
436
141
723
692
280
730
558
871
503
82
140
748
820
142
41
978
693
204
62
23
690
269
209
178
635
953
783
859
119
45
187
462
382
490
729
333
174
110
872
416
55
941
642
123
134
993
235
970
521
396
821
884
492
16
309
672
732
96
193
823
857
734
550
219
103
674
256
748
686
397
745
216
914
889
194
554
456
328
491
161
591
830
613
371
228
813
84
739
441
79
303
693
464
248
481
677
137
5
963
957
447
745
570
493
835
984
745
946
187
727
363
755
964
274
455
65
271
83
366
767
532
784
180
643
767
944
750
75
319
821
361
140
959
415
720
803
58
675
838
710
391
613
48
573
647
74
224
5
801
240
886
521
607
50
659
324
798
658
790
808
930
384
180
599
417
474
219
329
905
872
870
701
256
491
704
129
742
1
49
590
966
122
96
313
260
893
890
592
531
353
371
487
454
998
992
113
441
550
125
913
237
466
759
905
380
179
869
153
809
176
79
389
446
242
196
930
305
603
497
894
948
340
429
291
714
868
361
83
40
700
86
450
489
0
672
940
764
801
518
128
632
229
801
359
184
979
449
557
711
314
618
242
15
291
61
397
99
462
376
782
590
566
62
210
95
529
449
375
966
893
597
700
531
236
773
805
708
215
69
472
747
220
830
296
973
27
418
951
67
946
866
196
246
935
193
593
750
414
483
607
25
532
259
241
182
912
422
686
58
336
4
490
271
551
185
514
300
141
311
676
183
914
853
915
798
909
170
651
200
863
811
293
199
389
969
979
635
972
128
701
611
305
297
931
609
338
211
944
366
944
72
430
264
808
627
939
314
158
98
922
736
666
37
883
497
18
448
867
84
85
26
237
677
481
261
260
468
846
420
944
93
41
752
499
535
15
115
465
439
47
299
864
539
235
587
281
546
53
159
885
310
951
329
175
94
824
396
832
683
160
718
702
742
791
156
673
927
74
83
60
324
54
36
421
897
375
135
438
264
340
764
904
550
486
729
818
667
881
612
714
324
267
440
601
67
32
106
560
710
318
489
434
9
368
975
828
615
618
863
313
991
902
537
925
459
342
478
170
342
283
597
362
774
276
764
963
341
882
579
411
690
836
5
732
360
408
274
190
783
613
206
396
498
104
816
636
172
557
898
155
157
445
625
391
784
310
794
647
661
857
64
624
92
604
65
8
860
517
785
230
230
681
700
425
220
963
200
139
394
903
915
308
657
289
325
942
729
322
789
972
747
93
169
887
399
617
644
343
730
626
64
623
835
522
634
716
834
40
528
499
324
346
249
131
151
313
502
69
157
434
713
381
616
989
483
557
118
17
402
252
952
339
601
238
240
616
407
4
529
841
52
977
374
719
214
779
579
727
814
987
985
816
643
647
115
625
143
780
843
798
771
271
959
810
712
933
657
406
562
93
429
614
693
697
785
902
422
775
71
689
688
315
594
823
50
453
951
11
91
483
958
31
870
493
436
741
158
288
281
499
476
925
181
687
519
380
851
843
488
440
200
254
9
539
964
952
117
468
690
354
108
712
500
947
743
208
310
66
538
671
993
948
455
74
614
892
175
875
395
404
421
641
65
501
535
119
519
197
274
34
910
275
41
905
813
885
633
35
18
690
350
62
423
713
333
757
50
808
881
949
147
525
411
727
224
734
258
140
327
262
800
504
165
488
143
872
161
653
517
60
323
652
703
289
760
575
436
546
24
580
169
776
977
939
776
517
513
2
859
492
227
279
519
212
839
928
967
706
330
266
810
903
832
864
955
808
482
260
767
444
189
606
892
722
786
149
946
126
356
470
793
570
134
315
458
239
848
931
168
804
499
998
544
101
458
371
197
559
81
901
324
522
876
78
393
111
442
721
118
518
551
217
969
826
501
384
742
625
803
166
632
786
210
789
651
640
558
232
201
238
844
872
518
466
154
380
981
454
478
890
654
11
525
180
939
480
897
526
342
234
525
170
274
190
354
715
84
208
110
365
378
119
63
843
331
198
251
220
531
616
993
351
264
313
950
487
965
485
983
723
951
255
347
920
302
403
277
422
287
57
13
225
945
404
168
493
209
58
945
244
505
850
791
454
821
246
405
286
324
770
832
986
413
569
814
113
662
396
681
519
333
207
914
480
742
180
916
867
368
440
573
75
23
83
57
845
143
156
91
282
820
296
536
568
78
453
161
882
284
496
604
690
712
345
934
529
660
689
598
34
141
829
361
394
145
296
104
491
72
54
877
577
13
118
119
124
47
527
765
721
542
338
227
379
105
496
364
924
411
744
356
453
11
403
161
15
636
807
235
150
90
890
572
131
914
626
389
209
592
406
968
930
443
651
975
275
299
951
625
121
266
20
913
535
769
692
869
893
2
154
338
768
610
910
294
642
611
579
496
382
577
952
984
263
630
761
449
850
551
517
926
449
981
890
866
197
190
586
191
518
900
724
728
261
118
164
329
13
98
106
329
274
122
279
548
241
291
749
938
16
679
109
857
659
536
207
35
385
682
282
574
703
34
512
100
659
583
941
118
796
952
704
534
649
150
266
478
433
202
209
289
236
140
298
73
146
483
90
693
116
178
206
611
820
793
395
301
850
49
291
113
592
454
572
169
12
429
499
308
470
595
840
782
3
278
782
52
530
379
931
330
540
854
380
327
62
235
628
322
293
120
888
204
639
768
260
147
941
658
987
417
298
150
814
340
453
913
382
257
652
85
157
688
671
699
737
423
690
810
980
619
948
399
548
233
22
547
913
688
719
308
807
881
209
882
99
48
772
282
947
726
280
85
976
336
133
538
697
795
842
935
514
634
393
928
133
442
282
407
427
439
678
678
335
136
435
685
233
441
671
517
587
15
870
171
755
115
55
427
450
7
782
420
536
73
661
645
479
178
569
770
285
826
796
8
100
104
150
168
591
758
944
919
192
601
556
873
453
453
574
170
971
321
888
130
693
684
568
94
778
379
128
573
261
176
995
669
777
757
969
66
423
602
947
808
340
458
40
368
103
570
946
930
366
528
766
307
726
186
810
306
540
893
505
50
425
640
247
151
479
206
860
856
380
876
505
473
903
62
147
100
701
130
949
769
235
636
581
14
751
289
199
366
264
341
805
281
64
871
793
265
562
944
44
1
852
136
438
854
403
166
778
872
970
580
434
342
76
385
254
572
195
881
646
47
620
935
710
836
361
92
387
516
568
976
460
719
932
959
405
283
837
622
519
712
686
902
995
599
122
146
419
126
342
289
876
643
499
630
265
152
974
470
80
749
372
944
420
822
0
747
391
290
17
776
926
650
120
416
894
430
760
321
591
476
610
716
103
406
132
73
365
822
342
803
999
367
995
83
94
587
765
204
932
654
372
0
22
868
199
39
392
131
838
830
255
411
315
229
729
809
633
647
33
706
500
40
351
303
87
508
867
335
853
264
363
320
530
447
819
453
652
954
683
556
909
801
382
242
948
972
251
845
565
148
298
901
30
477
533
910
986
981
674
999
400
173
448
715
950
878
780
761
735
244
544
100
111
66
859
55
363
827
35
512
741
666
453
220
680
969
395
530
893
593
391
459
770
236
407
521
592
816
275
358
510
357
680
505
542
899
245
683
470
751
580
892
205
547
313
258
377
200
499
699
805
986
565
992
300
845
508
373
841
333
675
439
6
71
687
924
346
460
628
738
614
298
263
250
617
425
66
784
537
852
739
706
848
800
877
55
735
867
897
454
628
142
24
115
700
956
724
155
106
125
515
365
345
770
710
589
981
161
323
500
959
508
492
659
703
884
381
894
843
941
727
569
622
932
123
83
684
170
760
872
187
664
208
31
467
985
865
101
918
573
21
396
945
167
868
585
483
618
701
184
229
85
252
322
813
253
852
579
320
54
860
508
85
155
251
4
433
498
215
123
537
215
884
390
50
161
841
855
225
866
668
135
541
570
247
753
615
935
569
361
382
290
486
470
381
716
378
917
375
273
873
113
371
325
607
938
198
120
84
138
73
226
713
332
686
13
202
149
39
317
342
532
424
472
774
715
160
418
375
293
762
211
33
193
617
100
944
408
964
278
508
567
685
811
552
783
185
248
817
120
969
260
744
632
65
645
743
829
545
638
488
795
971
615
502
507
688
826
459
75
437
639
963
129
303
714
86
179
968
84
719
93
50
546
94
393
761
355
299
310
392
61
915
987
512
559
56
308
184
430
432
67
971
329
505
179
989
62
568
685
758
176
991
617
331
44
468
761
824
409
563
213
205
721
7
682
137
751
257
955
742
340
651
464
654
927
475
677
886
136
842
508
177
465
752
17
322
424
970
350
568
320
41
890
208
344
437
664
897
146
235
329
605
494
21
209
604
580
60
333
976
406
638
165
431
223
366
514
3
743
578
743
605
81
409
311
425
509
286
672
168
933
30
621
372
324
217
742
317
3
747
959
687
3
979
539
499
475
536
567
511
350
747
534
143
778
791
85
528
373
283
191
969
314
148
604
922
480
859
75
999
773
680
387
818
281
483
246
445
215
264
472
258
624
141
722
564
22
678
628
499
809
801
407
870
236
315
193
588
852
599
814
601
486
987
45
707
543
553
313
569
19
789
602
267
2
511
637
915
941
116
345
427
720
874
883
408
704
806
602
128
414
474
947
186
712
166
631
990
812
592
429
82
116
887
837
911
159
581
868
40
865
727
97
742
329
951
574
735
178
251
867
533
588
484
651
442
554
245
420
500
194
961
779
363
521
705
875
693
452
348
201
760
229
859
531
906
157
285
908
347
61
970
607
820
987
660
93
150
123
798
324
707
641
853
833
903
521
39
405
701
166
847
93
741
811
113
325
489
711
573
16
591
377
119
496
28
153
893
117
975
523
968
296
96
416
809
739
715
397
303
562
679
283
354
530
611
125
296
99
6
485
428
157
954
154
874
573
334
813
813
468
421
71
267
684
61
806
466
936
748
86
284
14
320
363
500
815
876
177
853
867
223
728
974
324
285
829
984
327
875
110
435
253
821
740
798
975
396
666
829
243
454
145
276
673
623
359
495
89
879
30
328
760
551
953
980
150
371
797
562
402
96
755
402
70
779
914
879
790
88
887
440
179
673
219
9
161
243
515
37
520
332
805
35
84
299
948
864
728
261
156
294
106
174
5
395
436
809
56
2
820
548
934
513
329
671
602
648
627
62
527
844
775
636
922
137
131
683
73
436
632
724
692
612
140
652
705
890
758
952
795
544
946
680
569
52
886
765
450
754
707
968
245
124
625
963
591
777
278
120
413
659
352
957
129
647
852
555
284
290
597
974
565
854
879
608
59
641
898
172
437
298
148
426
647
108
661
196
168
650
831
462
120
721
237
172
768
473
749
880
360
92
988
517
109
698
618
760
46
983
376
18
865
294
887
408
439
799
125
50
584
335
312
751
418
190
153
969
692
468
641
783
335
476
380
401
100
291
898
804
963
48
482
11
317
656
257
807
610
11
685
414
467
688
187
229
632
284
908
777
579
113
593
657
455
856
198
110
284
898
416
1
201
307
413
420
669
79
356
661
678
333
706
249
680
29
50
189
574
536
525
492
769
196
952
735
961
204
110
505
480
639
436
556
997
312
342
436
902
119
92
206
935
573
267
247
168
765
599
49
832
212
851
7
869
284
907
265
712
173
330
346
947
218
351
929
705
131
844
783
315
671
793
652
616
541
847
822
214
700
81
892
56
953
180
680
636
523
506
303
146
616
946
132
959
279
461
78
822
94
686
562
415
534
35
176
61
745
636
774
64
205
365
169
294
505
272
709
639
575
797
975
886
185
23
117
620
405
107
710
33
993
389
966
365
840
757
139
379
457
115
299
668
267
746
116
907
181
278
857
601
142
974
363
2
296
194
462
748
954
477
126
994
536
978
775
6
658
933
547
74
639
861
153
98
998
659
831
988
649
746
842
75
512
755
183
685
949
122
838
296
184
523
785
893
402
613
590
199
251
980
772
587
737
406
373
359
719
612
607
710
827
41
846
976
886
385
887
258
281
335
993
782
745
195
243
377
255
815
927
181
881
607
655
857
956
572
610
582
147
911
14
820
524
864
450
970
280
341
314
342
795
258
182
217
539
206
717
70
847
565
412
426
151
567
925
632
778
31
631
400
945
994
595
32
175
623
703
648
653
98
801
552
249
9
819
427
869
31
455
223
377
788
361
169
132
558
635
542
955
411
68
981
516
524
362
643
596
32
155
521
792
245
337
330
702
948
366
651
26
961
515
418
608
251
139
729
629
931
755
985
949
685
281
381
468
646
116
209
268
914
463
417
820
528
275
672
185
446
945
728
638
888
208
28
940
840
120
116
637
630
512
527
835
23
298
626
514
641
487
890
864
457
80
649
402
311
744
746
844
700
697
847
440
811
316
144
597
659
197
976
132
107
435
806
799
18
960
974
309
530
666
827
466
65
44
703
337
5
274
612
203
353
122
336
745
212
654
525
170
886
659
500
321
673
870
393
767
78
277
505
706
560
282
896
973
707
797
903
339
879
563
762
815
708
359
227
749
931
436
70
404
884
630
292
317
962
603
129
680
849
764
720
460
18
569
364
681
46
596
30
340
374
209
616
496
767
843
366
774
433
864
909
476
115
756
609
372
687
612
928
507
449
267
790
357
384
991
379
11
436
389
826
531
834
364
123
388
757
272
27
694
737
407
39
19
14
132
956
587
701
85
662
11
162
95
433
864
548
308
180
30
393
87
642
618
689
923
22
71
241
743
651
84
692
233
722
95
731
289
209
570
153
712
110
577
188
207
447
988
255
950
256
616
980
826
715
331
370
18
740
95
554
316
254
302
444
562
748
238
538
359
865
453
737
438
386
813
442
343
73
816
894
949
739
634
87
0
227
177
968
664
939
140
131
320
962
143
837
879
3
617
28
362
690
983
481
156
211
606
220
776
524
169
305
624
813
270
493
422
344
313
588
853
731
704
143
484
685
560
411
998
422
384
193
295
191
985
536
655
355
242
35
913
957
489
669
268
497
960
225
177
689
846
299
162
17
149
550
712
527
352
773
421
940
417
697
581
690
764
832
222
953
963
660
371
926
904
932
869
275
865
488
704
18
195
453
179
158
54
923
634
387
547
787
378
598
392
583
491
418
322
767
893
240
114
544
49
230
430
997
101
594
261
824
830
732
949
712
723
115
348
604
555
824
951
582
171
109
798
398
12
155
25
509
929
232
653
550
826
891
334
86
228
244
258
569
245
929
203
719
44
518
157
348
290
828
995
191
215
590
18
500
581
851
267
129
435
570
830
822
509
421
87
134
978
499
74
191
114
543
906
29
542
493
583
363
149
968
769
170
536
885
619
128
794
640
58
377
76
861
905
308
692
336
151
645
47
547
682
848
736
913
464
94
322
191
271
845
613
91
779
193
451
150
380
926
405
135
281
244
335
457
849
288
73
978
660
874
481
707
858
80
379
295
329
879
601
733
862
260
340
290
59
825
236
815
724
450
144
29
24
697
683
299
389
266
359
367
853
907
48
527
483
845
676
840
601
951
566
205
794
942
942
476
714
547
255
187
933
847
469
490
213
763
859
972
235
973
348
599
244
889
381
543
732
501
63
850
857
721
740
957
706
368
630
51
478
35
481
574
74
112
610
690
976
41
496
318
120
181
436
304
130
278
410
748
858
533
211
184
947
53
948
526
488
462
172
571
287
799
556
513
289
58
811
643
976
93
894
710
755
485
497
381
219
378
833
17
56
455
383
694
782
287
128
402
109
25
437
469
263
704
97
353
331
473
453
625
75
550
152
674
768
184
779
185
504
870
571
505
318
226
230
833
73
540
745
179
461
844
820
978
944
856
123
366
427
34
298
505
122
580
646
76
933
989
50
204
400
752
285
192
693
716
461
321
699
310
9
381
156
801
27
672
980
296
496
383
986
588
742
680
977
369
473
915
492
539
576
119
505
717
273
820
939
466
631
111
475
913
112
994
54
400
62
720
417
442
358
595
919
480
701
599
644
361
635
369
180
5
517
771
528
769
934
408
101
367
458
874
548
193
73
619
504
459
566
673
173
321
693
146
929
767
22
599
852
669
138
368
2
315
437
545
236
338
872
870
592
98
571
334
343
928
281
525
367
786
37
996
263
712
805
35
452
692
623
62
795
18
821
79
15
651
939
879
91
54
620
178
212
834
771
152
580
278
865
158
857
428
108
624
133
897
918
483
398
979
958
426
213
781
141
649
608
294
254
272
739
271
529
608
827
36
14
605
463
567
141
787
819
709
687
189
414
591
317
930
581
543
583
0
939
771
728
42
280
877
352
123
475
654
405
69
6
369
956
943
838
979
863
11
911
301
526
149
723
288
390
449
704
56
796
107
701
620
946
233
997
125
905
979
757
455
476
215
121
583
446
450
706
89
468
36
902
286
926
14
537
360
947
137
366
559
206
755
971
604
845
501
562
223
81
764
124
870
689
352
728
595
156
374
735
183
814
733
733
468
127
555
908
650
794
435
323
334
650
919
497
138
105
259
453
819
278
12
244
329
100
287
526
149
458
827
528
684
646
655
75
947
124
98
553
989
426
91
497
166
496
108
908
207
393
903
39
211
984
502
940
522
504
487
328
941
388
757
868
354
14
995
4
268
913
315
278
828
779
492
64
159
279
307
246
878
944
97
126
908
630
774
964
696
661
491
173
426
409
621
181
411
616
104
9
39
407
346
437
879
891
668
491
582
330
948
924
528
629
761
730
468
283
697
711
415
876
872
791
529
291
733
68
576
922
591
93
606
283
373
917
584
853
507
63
656
966
511
854
305
986
486
986
232
560
161
95
206
415
391
742
13
553
743
326
259
88
976
148
823
601
286
984
554
550
776
199
81
403
399
938
559
546
11
261
232
44
531
630
489
506
487
145
738
618
15
408
907
801
156
827
62
545
565
707
989
990
292
514
334
296
506
755
73
666
403
906
682
51
385
121
931
358
131
870
381
843
631
178
904
286
142
258
684
291
677
511
175
541
263
945
417
346
842
776
416
13
245
223
139
747
26
514
754
952
526
372
15
101
728
721
255
911
707
309
894
139
399
272
698
585
860
648
436
863
314
670
1
206
538
236
23
154
183
267
402
579
488
392
193
337
497
396
4
195
514
67
25
444
198
821
603
342
733
57
910
437
777
901
636
647
551
579
769
275
243
953
332
13
855
533
752
327
192
786
775
78
369
668
658
349
93
229
251
540
662
795
438
234
540
855
984
917
593
20
996
861
784
555
787
937
456
552
731
154
42
704
436
533
827
746
375
172
32
324
13
560
730
70
73
171
224
177
323
219
440
228
109
706
526
316
219
675
653
607
278
798
581
520
482
791
180
430
609
4
878
423
304
445
851
539
341
687
29
579
36
413
375
79
544
286
106
162
578
732
117
47
350
886
508
944
916
876
89
37
471
750
963
855
772
102
230
132
162
248
321
396
691
522
808
257
792
301
436
235
136
992
424
667
917
439
282
705
561
77
338
556
739
366
475
509
588
778
905
701
762
732
398
941
97
900
953
67
913
203
202
503
924
496
662
888
144
933
272
498
918
310
676
629
413
41
719
91
748
997
571
159
392
704
836
700
542
623
942
33
478
115
60
207
207
810
562
355
820
714
128
489
312
851
780
37
857
347
753
349
106
452
242
499
755
417
68
966
191
306
384
575
640
32
71
729
714
288
734
831
431
897
814
442
962
503
945
267
108
780
496
586
745
956
899
517
165
297
851
557
509
82
99
107
745
948
559
172
351
357
444
457
984
177
935
302
503
299
272
789
703
486
664
308
343
17
185
516
574
637
901
935
655
227
562
835
317
861
669
470
289
108
125
678
612
373
710
135
729
465
240
308
802
120
706
139
153
927
81
594
331
239
543
796
876
351
903
644
81
981
764
264
607
560
805
114
298
220
297
888
96
783
973
704
454
506
717
301
149
769
739
322
442
461
836
789
145
53
517
907
796
902
635
736
523
889
806
405
419
370
323
624
526
755
812
270
996
279
368
643
464
946
417
29
350
224
637
261
893
789
86
427
790
491
489
474
49
299
763
179
844
469
544
740
111
260
600
386
540
973
423
752
811
797
638
713
105
9
987
333
69
700
879
238
841
481
806
807
499
315
51
16
359
485
190
652
146
257
243
757
639
492
924
513
893
548
774
701
588
304
243
57
341
62
570
463
267
373
274
435
521
368
52
490
283
915
141
481
173
598
179
591
275
78
114
668
815
833
140
64
945
709
655
228
816
775
485
407
87
436
392
86
821
401
339
68
968
563
107
95
410
886
274
482
723
925
649
555
474
625
392
54
310
302
240
688
107
678
57
474
315
183
628
491
229
779
632
72
254
190
106
682
339
59
944
896
590
29
256
600
522
150
903
126
559
598
314
135
471
341
854
72
19
709
184
853
687
534
289
97
284
675
851
74
548
904
833
8
495
827
712
866
192
104
102
722
989
0
785
733
241
46
317
375
303
293
324
685
717
116
228
397
429
267
162
250
839
710
329
694
495
681
476
9
969
67
232
917
407
214
976
617
917
666
700
226
688
727
244
711
602
884
123
877
29
899
593
796
761
268
75
412
717
421
467
406
325
5
6
923
651
575
464
632
68
688
139
738
845
657
631
860
687
666
231
960
559
639
444
188
186
690
87
83
989
898
173
872
796
196
631
714
438
601
81
78
153
60
607
327
195
892
728
897
217
789
486
431
557
353
722
17
128
205
919
856
410
753
879
925
877
79
694
228
350
387
272
81
929
973
528
43
411
847
437
215
850
636
394
18
31
668
996
344
488
56
925
487
700
949
2
177
50
605
330
2
974
575
9
773
663
293
897
711
630
348
464
375
840
432
612
594
117
872
349
41
561
194
364
946
940
338
698
187
725
477
887
56
299
951
460
803
68
606
490
72
730
325
231
864
941
219
180
137
747
693
464
139
336
846
97
39
10
665
581
486
249
446
801
810
317
23
218
833
280
982
689
701
516
4
510
84
834
908
565
896
676
979
150
524
957
362
290
722
880
112
363
661
779
740
564
646
188
58
505
583
862
156
885
117
529
17
652
18
935
284
839
971
349
770
478
780
180
125
721
93
143
949
669
192
747
615
789
260
240
542
9
446
121
781
794
973
228
109
470
757
751
501
374
961
359
739
503
345
789
235
670
376
275
190
929
315
45
392
902
583
116
271
67
500
684
673
234
307
420
595
517
107
67
218
325
386
657
599
361
399
187
842
176
340
15
516
331
406
877
990
700
488
971
349
69
844
196
759
673
309
594
673
235
400
585
258
528
196
525
740
180
850
985
278
227
16
109
14
796
676
897
102
243
970
295
532
286
379
797
738
953
725
843
601
576
955
817
105
753
51
823
721
695
724
708
106
430
978
419
343
391
100
562
31
737
788
106
538
949
606
478
286
924
901
587
92
408
589
19
715
579
54
676
771
393
177
126
466
433
794
960
746
330
492
885
733
44
961
477
120
391
785
611
517
250
854
655
856
794
602
249
956
956
140
480
574
667
106
187
177
831
434
898
372
44
840
886
77
233
679
878
207
774
27
175
958
658
412
83
593
330
349
822
235
846
601
981
476
442
216
632
112
65
701
106
546
816
612
898
788
308
112
561
58
829
487
980
178
610
670
906
235
611
229
846
867
638
287
515
568
335
120
902
217
441
670
416
350
518
274
841
807
731
630
699
788
352
329
344
195
72
592
255
981
425
874
332
969
906
225
495
68
316
743
132
971
493
951
726
912
715
579
158
641
52
89
344
415
91
889
939
636
612
653
19
583
589
702
677
92
343
262
677
135
494
407
236
651
782
63
427
646
972
496
938
35
763
17
901
969
80
577
828
702
133
723
705
255
224
64
610
270
370
388
675
623
190
907
334
342
118
936
47
72
210
718
865
901
663
593
583
186
556
156
970
43
114
723
338
737
388
4
728
508
726
129
521
845
108
570
628
263
959
564
499
730
99
410
481
959
391
603
896
986
813
739
308
238
295
66
588
850
458
847
33
196
105
53
611
664
346
801
717
904
240
627
420
79
307
686
48
188
119
441
8
348
563
117
356
421
522
18
925
770
571
90
153
204
503
155
112
154
520
366
793
267
402
922
433
489
379
425
538
628
311
555
236
289
594
140
892
956
737
899
6
227
138
617
695
681
242
662
625
170
438
267
93
308
649
464
102
204
232
537
704
827
760
584
925
714
483
864
951
593
45
64
757
545
476
303
244
149
165
313
835
550
328
393
796
157
856
291
37
50
96
766
903
528
821
430
872
323
729
281
430
335
50
559
285
7
697
6
827
407
671
927
749
943
28
922
298
416
986
626
108
370
325
293
946
777
777
453
999
505
419
390
934
89
597
513
83
430
716
100
247
363
16
207
0
582
694
807
764
74
101
885
615
321
173
482
915
328
645
748
947
430
825
720
639
325
19
847
936
694
965
543
907
862
244
143
42
907
435
691
518
336
402
915
805
0
888
702
432
299
305
2
927
859
161
13
782
34
300
632
536
813
97
382
794
148
133
526
756
137
212
558
473
946
41
388
205
340
132
314
680
304
20
563
346
766
575
278
134
11
176
264
974
929
739
600
365
148
838
247
240
438
485
663
797
22
288
233
32
655
363
801
872
585
972
989
987
479
223
263
426
181
788
605
494
345
609
493
110
818
163
898
98
877
325
705
52
714
426
492
160
318
119
251
164
584
623
776
179
154
805
187
20
340
831
252
586
481
542
793
441
97
35
177
671
137
605
432
217
168
899
353
340
770
48
916
740
677
782
157
749
769
648
206
347
569
471
750
654
50
385
246
959
554
914
798
187
328
591
967
318
256
213
768
606
725
276
908
658
976
116
676
786
983
812
173
586
508
291
71
945
241
922
182
459
930
815
889
186
647
663
386
586
208
7
358
444
892
698
130
444
516
336
164
490
636
411
372
614
132
838
668
860
721
276
549
715
275
761
759
781
447
443
996
818
810
773
744
737
431
605
52
431
712
828
167
256
242
875
468
936
722
226
835
133
225
92
184
662
350
344
584
558
909
786
284
837
428
583
222
933
120
42
280
437
206
147
221
869
220
969
86
475
449
653
58
589
646
898
707
452
810
431
955
622
345
552
507
869
365
145
558
541
442
285
738
675
264
693
587
558
305
882
230
484
527
68
762
497
131
560
710
599
688
5
200
425
642
83
447
18
584
489
146
969
31
649
129
604
926
492
235
247
721
694
589
269
576
941
122
722
397
436
738
15
335
627
358
772
255
317
48
341
464
270
466
846
402
263
162
595
33
235
56
356
368
356
682
693
746
154
629
775
474
734
176
463
434
412
179
581
122
119
536
107
977
507
236
903
255
946
938
106
185
110
408
989
9
751
838
903
243
202
327
857
966
118
860
530
40
279
294
657
638
986
827
73
345
698
483
435
69
857
740
428
175
937
610
195
763
722
433
858
488
104
784
147
100
863
542
575
678
642
587
466
178
344
355
344
851
247
280
627
876
913
546
599
23
511
36
71
220
698
711
775
829
986
783
31
300
719
847
168
404
579
641
663
266
799
198
585
704
301
523
460
248
869
455
530
360
537
924
115
444
65
97
208
422
351
234
458
482
117
588
139
256
778
817
320
991
526
633
650
856
894
377
177
304
364
447
767
598
835
138
642
260
984
669
488
49
400
113
741
425
22
572
974
61
202
335
229
871
877
84
127
890
62
614
8
363
199
903
708
177
853
733
192
197
647
593
774
917
985
557
356
306
932
382
820
560
51
126
120
169
591
815
178
903
922
126
973
43
229
32
815
921
344
182
685
142
300
167
830
491
310
951
80
110
60
119
796
170
591
882
105
102
415
621
737
514
434
327
820
887
36
48
27
908
60
316
183
688
53
6
935
627
956
601
894
161
769
251
116
233
952
462
160
31
824
355
301
318
941
938
752
908
534
831
721
9
550
437
177
576
662
635
809
797
896
624
305
750
75
822
201
190
806
768
429
649
315
429
385
719
519
287
734
520
961
91
31
32
841
856
195
565
453
578
6
613
493
489
499
639
587
443
28
419
498
93
823
416
409
177
725
230
675
904
724
882
957
743
438
218
812
686
183
732
718
4
632
485
111
511
729
385
890
747
647
886
51
586
510
346
266
243
233
790
488
303
419
721
673
696
133
562
421
926
933
287
993
311
743
27
161
152
419
790
471
260
139
320
927
520
244
399
644
243
660
891
357
637
453
121
5
818
15
853
132
699
982
32
330
612
406
295
216
806
198
257
509
566
301
396
716
530
49
55
182
50
46
773
916
969
205
451
187
653
849
922
870
510
629
890
416
428
507
670
960
280
559
469
123
608
743
59
330
198
441
289
471
927
747
303
404
539
369
44
346
284
564
189
32
117
366
893
204
703
965
517
260
250
929
313
779
637
670
776
827
385
729
92
807
794
723
56
148
910
325
891
343
176
341
220
967
515
757
951
887
189
931
849
659
788
264
396
60
611
502
865
169
886
353
832
155
740
93
730
403
922
38
769
79
748
70
531
807
60
462
155
240
149
996
230
981
149
469
138
846
378
437
930
791
86
780
678
850
179
738
589
89
186
860
665
412
985
481
304
427
242
815
661
142
860
592
879
405
497
34
586
311
837
974
123
368
911
687
545
188
691
462
268
974
701
390
203
945
482
598
3
998
3
114
755
632
586
625
643
127
39
945
805
463
707
978
250
920
338
220
989
67
82
425
404
391
307
367
771
469
871
293
507
637
852
320
362
857
209
266
682
791
345
372
496
378
861
448
574
686
199
442
625
200
371
473
883
777
794
246
642
302
353
595
363
525
4
326
611
355
76
298
592
575
833
176
172
224
806
71
950
648
34
887
42
144
537
166
32
949
714
136
847
849
25
261
647
71
689
179
155
189
556
621
437
955
409
875
963
186
971
833
936
74
36
619
631
501
384
540
292
211
169
83
420
717
52
777
894
489
424
268
999
358
50
43
174
591
581
83
400
982
585
50
886
652
936
343
466
234
769
518
840
94
287
537
60
483
33
679
403
523
538
138
5
595
507
931
448
233
286
665
81
633
664
937
974
738
226
472
665
471
282
477
345
726
112
571
101
398
944
251
240
197
609
676
22
417
735
595
645
7
141
428
6
486
251
900
308
474
469
776
841
123
22
609
228
277
220
589
510
806
360
355
735
265
269
274
345
997
352
438
225
126
893
823
105
837
864
458
94
22
905
553
258
340
879
947
38
68
465
899
653
454
60
182
352
665
990
632
212
548
994
563
295
3
453
787
62
839
939
993
729
176
544
856
439
457
277
273
281
580
357
984
440
515
597
894
521
800
419
738
393
792
237
636
580
767
283
513
325
241
261
64
690
427
17
420
136
775
248
568
731
205
66
665
125
951
179
142
873
550
346
716
991
580
419
311
75
220
522
716
301
928
254
249
578
595
58
640
219
89
137
806
444
256
869
329
951
5
58
547
572
260
468
365
710
108
62
601
558
19
585
467
501
772
169
384
837
944
46
481
620
731
613
433
957
314
683
531
253
432
228
207
871
182
688
653
172
781
323
421
306
52
974
721
491
672
865
801
268
74
438
431
212
938
132
30
752
714
337
441
404
187
180
828
220
941
8
658
258
959
652
613
321
151
592
961
167
343
238
287
683
45
491
694
416
149
598
509
345
882
111
428
464
228
356
541
164
703
736
106
488
661
6
170
186
586
707
657
511
234
512
47
545
190
338
145
333
321
984
286
937
186
504
42
528
524
496
649
907
608
585
833
219
521
294
54
5
932
668
383
220
886
862
994
144
261
73
747
819
797
203
63
667
747
307
395
19
359
373
643
278
250
411
31
261
678
948
279
565
920
556
243
876
334
660
699
806
378
58
485
411
996
245
521
671
253
591
322
439
655
801
281
54
745
264
652
428
531
108
465
94
556
536
22
416
334
429
535
703
641
398
283
724
693
36
7
5
598
688
387
119
870
537
494
458
222
160
30
491
32
725
978
655
100
233
49
683
823
935
187
83
721
308
886
949
97
518
465
2
632
950
418
881
785
587
999
221
276
858
917
59
863
852
410
440
621
136
54
212
322
461
755
244
522
754
734
251
685
403
573
799
623
454
499
44
376
737
947
201
291
500
296
889
295
97
45
694
509
530
949
721
872
992
942
232
446
3
702
763
604
826
101
363
121
951
925
714
713
113
486
241
390
218
843
37
428
1
969
652
300
136
492
855
324
104
87
242
532
391
456
681
328
852
496
16
253
905
984
429
25
184
858
352
269
265
76
824
867
301
812
185
775
6
752
520
0
872
961
149
596
424
186
721
508
99
502
496
733
852
36
582
74
771
628
255
342
38
698
198
862
982
522
633
87
629
567
271
995
348
550
395
702
778
615
51
36
771
158
910
48
28
26
422
963
680
882
478
846
928
374
97
96
666
570
917
1
124
232
898
127
601
319
36
181
884
120
613
198
294
419
40
829
592
907
287
60
914
460
923
13
47
71
473
218
115
291
291
467
863
763
702
719
448
433
47
309
306
265
597
130
914
733
975
226
320
338
296
895
212
445
401
612
46
40
625
907
702
257
186
117
608
847
131
770
84
61
314
64
491
20
334
400
932
696
248
136
629
79
649
719
715
778
738
55
219
179
180
672
85
330
962
567
818
497
592
106
338
704
431
38
652
237
425
956
592
763
448
249
7
363
893
950
979
234
380
597
39
190
996
664
363
33
868
573
74
491
358
842
265
771
380
65
593
491
32
303
43
870
701
653
787
951
216
440
329
870
151
707
702
729
597
436
295
569
602
504
691
552
836
586
774
873
866
727
74
214
169
115
20
185
637
657
948
445
456
913
903
674
178
3
687
613
29
655
223
424
474
94
514
196
918
923
188
370
792
786
332
233
876
792
88
37
501
469
542
517
952
256
93
408
809
872
323
898
864
718
901
798
813
286
606
354
340
699
186
673
547
569
686
186
626
831
172
521
921
651
887
704
190
187
227
844
834
909
311
127
635
858
585
579
493
848
324
733
58
15
76
727
201
436
601
471
39
921
481
236
724
699
620
220
305
861
656
262
331
189
417
260
522
509
591
453
619
205
529
505
650
794
805
297
923
542
945
229
812
407
425
932
425
955
304
706
328
852
619
140
98
227
340
288
223
839
183
685
873
259
16
782
21
135
329
237
183
887
596
53
644
23
901
130
781
462
782
57
254
231
936
973
964
352
372
824
329
194
482
66
244
657
965
332
665
270
538
517
240
55
711
580
406
636
219
832
855
516
43
948
672
97
895
308
697
692
969
635
134
927
190
244
342
781
178
845
752
933
656
643
320
521
673
828
864
870
12
193
382
66
98
625
304
673
136
858
915
459
299
702
230
811
958
440
479
767
78
62
348
739
83
674
943
313
285
845
717
461
106
2
420
196
248
948
974
516
411
822
899
902
870
83
301
267
793
898
638
253
156
640
292
189
567
267
202
246
653
578
323
216
712
7
391
891
535
60
159
832
166
133
703
204
349
68
357
735
668
849
82
455
16
77
829
409
755
327
39
399
340
101
760
498
792
462
736
928
44
595
672
892
851
340
334
951
0
694
473
102
346
117
854
483
600
891
277
703
135
446
108
313
436
348
599
995
251
628
40
990
733
61
258
830
581
24
18
141
156
824
469
279
873
94
542
207
144
493
577
229
188
788
631
893
52
846
647
764
446
818
520
633
447
221
56
855
947
513
771
247
23
221
381
674
539
354
718
589
817
217
606
448
651
858
555
951
697
271
713
489
537
645
381
74
525
455
904
527
996
481
363
741
70
872
368
840
467
580
406
68
243
591
242
655
975
983
567
597
586
413
512
211
738
855
470
943
897
197
89
315
527
515
97
409
499
203
217
439
752
352
788
267
655
806
361
689
853
894
697
477
778
700
805
99
193
242
204
294
286
718
473
85
968
522
62
622
627
236
824
341
35
363
333
117
567
82
666
491
796
991
659
749
165
154
349
336
238
579
276
221
196
929
512
782
379
493
157
724
3
85
916
980
619
888
202
128
22
541
934
695
637
784
213
556
11
39
888
21
920
54
307
340
283
267
911
392
349
801
465
739
692
232
89
65
915
173
554
351
811
25
534
98
660
927
638
85
198
200
680
643
357
754
193
918
840
975
793
871
231
544
820
720
854
445
423
625
12
76
909
667
518
576
143
214
712
647
982
46
518
938
777
749
979
198
67
984
125
817
928
0
525
897
508
401
969
736
280
489
790
710
89
132
237
759
522
377
114
698
65
23
723
520
712
425
614
544
429
417
43
487
304
783
451
141
811
339
16
536
991
927
488
882
355
98
588
607
911
604
918
237
757
670
225
364
710
793
635
244
374
489
290
4
998
42
953
599
436
900
398
84
456
706
496
979
85
834
866
856
38
485
82
7
762
553
318
288
428
692
983
669
6
558
887
866
465
228
542
368
586
496
581
791
848
977
20
287
530
73
918
524
34
304
817
979
861
56
514
653
422
458
911
746
688
997
385
172
23
189
540
617
880
594
274
245
468
700
239
978
125
689
715
822
434
228
577
121
851
809
779
437
499
844
747
340
620
24
479
721
549
907
73
679
462
329
273
622
357
817
752
282
108
875
319
323
403
992
143
863
341
314
528
874
816
991
743
519
20
745
306
128
525
611
821
551
538
195
400
698
530
810
240
992
405
745
653
556
562
996
846
314
673
735
414
210
484
579
554
72
944
438
131
657
646
756
587
56
587
489
225
328
959
566
643
456
859
147
413
992
58
69
308
582
352
662
144
734
76
677
200
500
531
36
885
900
969
211
4
335
407
727
667
538
797
112
922
609
675
990
698
39
177
996
578
119
593
86
162
396
665
960
479
137
488
950
595
263
200
669
535
749
236
240
747
378
630
976
657
553
8
408
72
329
436
901
875
342
201
815
899
977
531
201
783
321
122
659
749
903
256
953
422
310
610
184
843
126
862
390
857
584
750
660
293
373
463
428
542
317
795
947
491
55
400
71
456
108
497
280
275
757
361
290
242
120
343
763
407
183
689
918
991
565
582
549
213
275
102
585
919
9
727
42
861
548
669
592
761
706
879
438
425
968
155
940
325
522
127
784
447
950
374
143
263
623
438
821
379
491
832
582
443
532
288
972
705
415
553
696
507
149
543
652
923
182
782
198
564
615
472
136
798
899
801
310
705
596
872
851
912
26
634
763
618
783
393
731
974
965
614
602
121
339
189
72
350
774
53
201
557
966
183
211
55
795
525
899
666
660
934
854
24
166
263
112
872
113
194
702
747
956
784
957
604
47
967
805
88
543
255
972
256
100
136
770
150
672
611
813
773
386
468
920
146
801
938
894
426
357
253
615
279
266
148
591
239
772
73
275
31
330
710
289
924
832
872
304
187
50
416
441
716
669
33
736
960
966
565
77
759
172
344
216
497
735
464
361
692
137
457
351
605
208
397
235
666
805
310
536
368
811
779
191
45
654
294
902
336
370
80
88
980
990
980
72
390
771
498
919
259
439
464
923
868
187
209
235
664
926
718
73
381
642
627
264
695
462
525
978
638
719
605
685
314
776
718
438
267
543
61
518
654
444
536
141
592
447
96
768
888
257
759
659
579
198
555
772
130
798
976
87
33
706
596
412
521
241
19
284
785
408
764
405
228
105
228
339
262
723
815
136
91
973
613
0
337
732
938
758
368
323
627
753
130
649
897
14
249
634
927
415
189
392
646
47
204
485
814
536
458
521
523
175
560
889
297
901
327
445
450
731
953
827
871
382
943
182
275
749
991
747
914
994
123
703
872
455
408
786
355
134
977
977
811
486
461
606
485
711
986
336
93
875
204
810
182
905
976
43
419
607
83
282
563
487
504
519
12
738
973
36
976
597
918
111
813
813
623
581
29
987
415
717
62
172
278
847
352
7
976
900
851
287
723
636
895
322
943
130
540
223
653
500
786
796
446
320
221
970
717
307
567
610
556
985
299
583
62
557
327
399
748
256
193
852
933
251
973
913
100
54
141
655
176
922
302
784
96
373
583
74
777
322
129
375
266
325
124
721
719
827
425
832
914
786
633
962
445
555
557
300
556
249
410
710
546
206
260
50
339
983
257
637
487
459
444
753
375
652
125
582
708
590
73
63
165
286
887
389
39
537
974
957
96
694
758
836
589
46
993
554
149
459
305
518
517
240
971
966
704
329
875
401
725
814
322
373
614
467
185
924
561
712
663
410
732
164
360
612
840
186
524
101
571
962
713
903
81
926
832
794
980
837
666
584
693
474
969
831
883
152
372
813
491
636
649
102
691
790
328
127
516
205
982
527
330
274
793
438
533
989
122
97
452
994
516
552
125
378
189
421
185
573
318
941
746
733
549
502
551
44
330
726
649
865
120
847
508
909
846
705
67
735
553
750
350
793
172
791
385
918
240
244
165
139
496
166
804
180
26
932
344
831
641
389
823
808
474
962
463
391
660
547
683
578
671
589
316
620
850
437
763
507
470
576
544
385
200
315
248
591
107
83
7
853
114
996
621
384
158
821
117
627
844
631
0
206
694
745
958
57
222
285
140
957
245
148
326
454
342
495
572
448
447
654
478
442
542
718
27
568
573
317
947
153
525
468
308
642
951
822
3
900
979
502
647
818
221
304
778
800
129
598
623
70
821
392
844
995
619
255
281
5
384
499
378
15
830
301
346
5
7
113
439
125
245
311
167
502
767
588
876
123
946
574
693
299
791
966
764
279
191
727
455
472
925
262
131
571
648
773
364
461
632
965
394
306
20
377
974
202
585
536
931
517
325
69
340
522
695
60
420
283
348
184
548
838
148
459
722
94
564
412
168
956
453
774
312
417
349
329
684
284
916
602
705
272
962
292
54
496
475
322
506
850
989
411
125
89
906
441
722
837
534
80
278
107
187
34
477
86
349
583
820
65
861
488
920
140
36
895
389
163
980
353
101
181
923
242
702
314
282
794
111
44
653
26
254
64
471
340
884
43
32
769
610
471
816
636
560
352
163
663
364
747
275
130
46
476
544
854
95
338
332
884
752
501
857
306
823
136
139
478
601
654
726
987
131
637
562
908
874
947
0
637
282
34
201
140
902
130
354
443
529
769
240
220
441
430
95
333
323
65
140
910
181
332
708
900
98
147
562
514
864
708
853
66
287
617
582
849
308
896
667
114
102
462
865
246
328
240
587
494
360
41
97
19
531
123
111
163
258
565
68
911
677
316
3
890
724
110
525
313
479
415
949
32
506
921
902
454
996
272
327
91
914
958
759
874
72
168
889
913
689
860
789
375
400
934
264
566
668
987
981
828
156
972
490
448
10
66
878
712
551
550
888
943
441
383
533
967
924
495
101
135
303
740
847
919
415
237
576
726
969
9
820
687
919
143
869
911
822
136
834
322
130
482
19
16
986
237
816
278
871
429
458
360
464
213
937
718
636
543
725
461
540
109
349
23
705
225
253
68
19
353
961
420
926
718
719
750
168
926
349
628
816
47
405
232
18
128
846
983
396
204
166
733
30
407
581
710
848
774
738
151
77
589
822
612
141
317
653
540
322
772
275
735
59
761
7
489
98
13
817
222
155
425
257
966
692
285
607
215
947
381
701
682
100
713
23
239
640
747
943
111
978
627
782
515
985
176
224
613
834
345
80
416
295
355
356
353
68
305
210
200
589
374
792
635
483
679
63
390
743
123
109
480
658
364
405
696
315
776
724
2
649
795
68
536
964
942
7
811
397
572
609
469
228
89
465
419
877
238
393
990
997
719
541
756
218
523
60
970
458
671
663
178
728
216
805
501
494
5
941
721
19
840
43
237
448
215
200
354
910
256
828
303
770
9
705
845
144
978
488
855
164
974
222
30
832
966
772
662
419
288
740
360
431
941
386
661
278
778
710
45
567
3
496
616
817
496
850
481
849
704
969
113
76
504
604
615
744
672
222
645
860
579
894
588
233
215
940
745
595
513
958
717
218
313
725
233
893
544
678
574
201
92
703
384
762
750
28
812
28
664
486
190
812
650
844
522
225
981
13
291
451
814
809
808
702
350
964
852
676
0
28
469
54
986
767
986
985
4
114
503
869
594
662
186
360
87
227
282
377
869
977
161
420
56
313
823
767
429
450
496
914
450
719
235
776
344
685
857
898
873
145
987
946
331
349
315
567
701
820
205
196
766
853
993
473
392
894
522
428
506
25
566
958
243
257
277
759
308
774
742
681
635
247
53
897
364
307
879
231
314
649
187
747
453
69
649
587
440
59
940
393
68
306
703
78
955
310
700
970
794
782
457
428
126
172
576
617
660
853
800
803
153
580
876
95
477
389
55
988
700
842
299
845
990
749
929
482
703
51
492
504
32
310
377
725
906
235
561
191
197
743
777
172
87
888
448
540
50
216
752
441
265
454
530
336
428
544
527
278
624
582
671
933
173
666
60
441
956
601
413
848
301
211
420
898
364
580
794
678
721
494
689
562
781
537
622
941
798
741
902
300
163
365
13
458
423
386
537
673
577
126
924
763
731
888
494
191
823
783
40
810
426
962
251
933
748
689
297
943
397
683
925
764
579
288
371
960
105
870
153
590
328
368
301
926
240
949
191
946
562
949
711
387
943
466
128
29
335
85
781
478
870
336
267
544
553
749
336
963
239
701
724
973
993
730
904
19
154
784
315
446
422
720
331
254
379
228
191
785
75
14
379
362
751
519
506
297
221
92
414
451
118
167
180
902
622
86
57
267
46
145
878
585
468
63
128
493
946
544
908
611
190
422
372
407
554
820
632
262
586
422
201
342
751
830
122
703
723
18
620
107
552
646
659
618
258
44
901
661
520
624
749
909
98
896
686
455
168
825
367
323
279
131
91
853
899
393
97
471
324
631
362
611
619
848
76
519
369
332
567
444
291
831
390
604
910
152
437
835
326
842
969
954
14
697
93
540
153
898
489
740
643
615
501
754
6
741
371
446
700
104
52
391
816
267
319
63
983
128
870
703
572
722
721
300
104
59
289
674
988
990
650
705
544
599
431
437
226
865
89
292
875
144
566
85
744
329
489
238
609
223
971
322
736
724
981
4
400
249
697
466
602
666
617
918
6
759
214
159
188
310
255
694
612
945
607
876
633
858
304
81
338
123
461
417
607
187
546
432
999
958
198
384
952
336
765
647
311
714
194
376
972
141
334
1
580
211
886
943
360
476
31
95
82
2
129
512
442
191
631
789
363
723
920
773
712
804
268
900
870
306
541
0
449
409
105
611
585
22
807
43
925
360
256
81
878
452
706
604
953
723
544
324
350
699
799
877
910
429
472
22
207
604
174
558
265
901
945
905
284
665
758
633
868
415
440
623
425
610
925
962
44
44
939
740
858
192
6
565
282
174
333
906
185
459
966
41
758
829
814
914
868
578
412
258
934
644
436
906
38
428
116
479
595
593
495
507
901
118
593
761
255
922
592
974
478
549
910
417
35
999
30
14
260
756
730
732
471
304
204
638
13
972
999
13
963
49
42
641
570
653
195
550
402
732
488
432
215
817
262
513
572
433
352
878
308
776
121
372
37
488
161
787
947
543
600
200
96
642
346
982
992
974
392
612
796
73
622
991
901
707
283
121
712
501
573
305
859
889
724
552
785
216
950
236
636
451
784
858
612
692
761
131
436
827
324
908
504
985
490
340
710
358
913
230
51
137
233
67
380
665
499
495
673
986
362
433
464
136
365
428
298
457
594
620
146
123
351
296
516
555
790
432
438
320
618
753
799
91
710
624
400
947
25
927
822
971
111
451
59
787
462
699
868
691
549
936
356
216
23
816
251
158
943
300
528
925
606
210
630
214
521
192
185
75
360
907
437
774
352
413
609
968
833
324
654
29
763
918
473
242
249
935
611
517
593
611
59
413
602
523
993
864
538
282
98
365
853
842
162
588
140
859
702
860
673
530
842
926
442
326
981
862
426
181
265
878
527
184
723
400
596
891
613
947
730
228
679
341
805
883
992
454
700
50
407
10
635
964
522
194
753
977
160
421
89
370
789
172
877
596
959
227
584
360
237
451
412
917
673
436
911
610
954
900
890
883
632
348
949
741
60
806
760
188
998
879
633
213
436
446
868
646
128
351
76
535
323
282
265
439
366
467
918
498
576
898
91
745
188
580
555
38
194
231
165
675
230
784
911
558
158
111
24
61
526
796
237
481
549
477
792
901
64
854
497
930
221
625
423
877
704
283
222
587
764
526
423
408
425
854
86
424
778
50
767
687
688
845
500
774
975
325
637
539
366
500
76
78
947
321
395
466
245
919
904
582
573
298
834
694
175
66
20
187
355
68
992
102
463
478
225
463
25
485
694
681
606
888
905
890
65
642
718
168
549
114
357
153
54
376
87
223
952
70
478
295
505
138
82
970
656
881
776
955
93
874
874
370
219
544
766
525
199
318
242
549
669
650
70
767
220
727
951
945
363
682
234
210
335
926
633
760
601
970
13
390
183
492
119
885
831
643
342
427
407
625
942
489
26
67
348
83
198
526
535
824
874
377
871
32
132
385
993
311
611
769
293
152
501
872
323
787
477
10
660
13
370
264
335
442
340
936
812
992
211
957
346
960
11
308
118
699
657
598
869
761
903
740
715
228
343
968
588
28
983
465
231
431
536
596
596
550
64
719
155
572
541
930
94
191
612
545
332
886
286
730
513
364
750
620
615
732
356
184
901
503
81
831
900
69
359
120
178
814
948
208
445
327
731
319
139
602
198
882
883
846
217
164
662
319
571
22
86
85
378
609
572
655
198
462
116
581
10
285
959
234
871
39
753
631
835
126
511
220
673
615
15
904
904
289
542
240
659
540
757
356
612
541
647
80
180
577
405
50
614
244
445
408
349
555
326
45
570
704
555
231
990
919
386
948
665
55
636
458
712
193
427
334
913
291
387
382
649
104
340
314
232
805
661
890
173
647
173
569
863
524
872
376
481
292
707
213
798
556
880
986
920
488
964
411
701
274
578
207
311
656
544
630
466
866
242
298
772
752
696
794
34
603
9
136
572
216
434
977
599
97
227
371
457
343
402
47
136
42
322
487
75
216
271
817
386
548
155
345
43
588
266
319
766
584
472
855
467
890
879
496
27
32
959
316
651
311
439
697
565
14
185
454
131
342
21
692
507
779
608
728
901
964
787
165
563
235
210
647
269
179
275
778
941
281
435
554
283
899
115
398
529
614
547
859
944
126
158
844
912
931
452
87
155
320
966
516
947
126
196
322
324
775
174
419
107
787
764
652
52
772
389
559
680
683
780
812
832
607
368
137
807
86
252
291
0
989
360
304
978
577
645
105
476
956
622
447
48
214
287
29
270
158
564
389
119
330
731
751
96
566
875
163
307
875
318
663
68
697
934
90
717
209
835
440
304
997
222
786
675
320
830
125
150
463
955
336
579
808
464
892
258
883
509
405
642
888
797
912
871
612
626
32
852
181
964
399
736
686
894
615
684
209
160
84
203
187
970
543
356
225
596
508
947
407
184
268
737
89
915
552
893
741
336
278
496
562
997
23
473
199
334
794
213
700
813
200
670
682
668
820
677
557
874
940
767
965
270
346
855
349
503
279
614
913
850
963
180
278
911
248
640
438
615
275
912
737
18
327
452
891
547
618
266
315
545
559
98
247
338
303
234
965
489
546
655
19
816
172
885
770
657
547
718
385
374
46
34
947
832
672
357
838
144
335
890
461
392
880
202
195
221
79
883
819
371
224
893
766
56
481
725
383
863
475
592
850
116
156
611
926
634
49
702
944
915
630
450
588
818
797
276
277
549
904
810
113
232
68
310
66
162
471
914
84
371
112
932
193
13
573
948
80
26
379
735
909
414
145
384
82
679
407
31
713
137
735
641
68
288
698
394
670
852
768
825
787
73
837
871
279
999
745
937
209
471
880
261
559
84
293
883
924
31
425
73
505
20
444
474
310
434
374
483
228
369
73
320
847
727
230
142
284
21
291
857
563
712
271
962
396
495
561
943
951
699
732
345
769
75
373
497
946
853
485
21
874
849
776
657
703
824
588
122
153
997
916
108
283
410
762
141
871
637
534
103
946
402
717
701
953
309
415
853
193
544
626
183
840
20
291
884
566
70
202
527
846
183
504
618
428
975
290
69
299
742
694
449
866
205
964
208
846
484
278
658
141
430
844
359
294
327
502
57
120
585
232
488
343
198
693
576
750
159
757
445
75
292
295
719
968
724
86
896
609
9
296
255
888
889
813
152
855
791
978
686
642
644
106
686
555
93
175
808
382
320
636
521
336
596
10
446
272
903
939
597
188
538
163
771
611
967
400
138
6
895
410
669
629
170
589
58
967
171
10
169
998
303
532
669
465
865
216
836
942
403
867
909
980
329
191
958
963
744
9
936
604
480
547
767
595
24
702
147
253
502
617
991
137
783
582
708
679
953
501
844
37
347
514
669
275
469
848
820
621
669
240
905
858
922
451
153
412
165
776
795
80
382
368
178
226
853
289
49
295
368
984
35
950
407
668
423
919
991
499
238
312
453
419
941
349
717
307
372
917
138
407
176
951
833
366
876
193
827
359
785
918
636
478
722
773
85
800
488
185
849
5
641
254
143
618
387
751
578
184
700
625
983
926
892
869
975
153
875
409
202
727
16
358
765
332
421
317
421
391
338
727
68
962
664
898
374
786
286
254
648
668
96
723
754
99
209
872
243
25
379
672
457
557
755
277
859
434
520
890
291
116
104
239
440
207
421
535
303
695
60
422
510
149
762
69
55
201
653
756
104
68
627
601
401
824
45
955
234
277
81
627
849
285
663
961
869
745
184
78
623
630
56
220
751
546
995
621
565
982
560
288
808
211
691
641
375
461
363
689
441
203
201
709
860
524
155
158
730
615
735
561
539
518
997
601
922
148
950
217
255
911
49
206
88
92
17
442
591
768
358
994
714
128
980
785
370
22
748
415
588
231
863
936
929
393
429
151
700
250
588
93
779
893
195
625
279
785
953
245
566
403
985
980
143
64
52
258
736
200
627
416
39
166
594
630
124
484
168
603
515
603
473
258
383
759
614
497
356
845
899
647
490
380
165
546
952
614
271
742
480
473
517
574
947
229
529
985
896
174
791
598
896
235
142
21
830
199
206
298
3
909
67
234
6
192
462
496
523
524
524
170
519
978
827
881
659
784
702
7
607
131
620
838
210
885
546
767
903
37
148
574
559
282
289
22
180
971
167
424
295
40
502
88
8
24
48
145
718
200
177
154
669
635
416
947
309
534
842
875
385
428
153
896
681
457
455
311
253
446
150
603
200
794
915
137
684
262
941
723
995
712
447
415
676
314
894
147
870
46
732
37
845
223
463
446
82
809
815
494
807
760
90
593
635
604
170
762
824
856
366
59
678
850
74
481
246
512
890
60
838
746
909
369
468
929
981
58
886
399
137
580
531
119
678
459
202
953
895
969
814
545
204
915
457
46
495
688
272
786
508
767
419
941
539
591
654
115
927
50
725
898
841
886
784
495
226
182
338
539
932
22
331
396
296
960
140
46
761
699
92
954
245
642
193
53
96
807
666
917
160
587
905
424
154
687
661
426
639
241
51
2
378
904
594
840
786
533
722
316
527
984
488
640
977
926
990
129
74
856
442
703
763
680
321
337
629
392
648
888
246
168
91
395
137
850
910
533
792
591
702
290
349
631
823
575
993
740
331
288
578
811
266
954
401
181
449
72
606
667
420
750
398
295
374
386
405
674
932
83
182
607
219
2
394
406
803
883
771
417
661
111
616
692
210
935
536
275
303
660
526
495
320
199
326
177
999
811
685
603
548
486
845
783
504
670
166
53
474
974
398
140
176
909
220
852
91
693
808
37
600
700
547
204
47
631
376
542
255
436
621
222
92
558
783
844
302
853
820
585
333
395
211
505
750
410
916
483
578
522
22
218
560
517
671
5
371
381
581
936
951
69
304
389
5
381
56
507
237
805
571
785
277
882
726
436
531
772
342
984
446
88
350
731
762
414
273
783
944
522
388
228
29
254
865
338
350
847
363
684
344
952
89
260
705
57
758
449
10
847
848
609
56
40
678
492
450
595
546
57
477
454
835
188
326
37
180
646
211
491
254
272
531
718
726
310
494
592
128
465
810
320
702
634
87
112
583
123
177
733
357
511
944
323
867
852
771
508
83
327
134
906
350
970
276
234
475
752
297
215
375
160
562
785
962
292
57
310
848
556
531
207
536
464
782
640
800
552
16
152
969
889
210
715
63
44
855
794
108
168
31
294
667
588
209
265
58
968
558
63
951
895
246
465
992
485
933
954
747
414
455
448
473
494
953
442
787
146
879
169
778
816
947
734
92
124
561
233
872
523
740
81
252
264
190
197
202
586
290
663
703
523
125
636
843
842
551
198
495
874
715
16
317
119
954
169
445
328
122
690
863
975
526
426
90
169
317
598
742
449
391
516
361
532
757
924
27
944
870
429
281
667
242
238
259
358
199
576
115
231
802
594
385
2
116
865
876
739
810
116
771
754
168
115
512
812
128
446
234
130
857
229
965
461
470
200
305
322
827
642
747
7
418
404
547
81
299
61
550
270
938
358
878
434
369
196
693
636
615
559
766
814
303
273
787
431
437
194
632
395
571
103
746
366
658
996
637
119
796
904
242
269
32
130
946
41
90
539
97
832
635
6
34
689
972
850
189
752
647
504
812
695
122
599
645
942
620
560
21
25
195
503
884
909
44
246
108
511
389
471
282
852
801
973
68
770
196
512
600
971
866
259
519
101
615
181
293
246
203
630
428
506
915
730
360
725
67
119
262
326
431
283
183
165
912
140
627
186
515
337
740
729
397
157
603
717
857
766
836
778
516
104
107
222
961
719
543
60
552
458
631
89
206
267
935
776
595
305
678
985
228
526
237
161
352
203
512
767
381
795
48
638
775
265
514
769
35
556
560
327
570
423
197
665
260
582
468
984
533
66
630
339
369
291
950
209
902
931
740
785
729
572
930
802
224
243
488
504
397
677
666
945
884
138
170
857
534
571
896
65
772
327
431
840
414
958
417
266
385
375
994
881
757
57
188
180
935
821
517
595
169
610
518
100
730
987
541
245
59
516
12
110
241
145
600
397
66
25
262
77
89
916
92
578
645
485
633
498
294
115
59
610
688
785
787
557
159
295
202
236
477
771
842
346
26
93
63
147
672
284
181
366
956
856
117
1
573
426
51
39
170
942
232
862
850
460
558
894
639
739
575
663
41
813
400
266
136
86
310
531
578
796
903
556
106
41
982
781
369
866
445
495
112
235
852
168
851
858
416
563
822
301
711
961
940
569
493
336
501
392
34
290
985
53
878
786
6
85
323
628
453
212
105
589
283
408
781
727
298
271
265
843
983
951
349
995
180
554
868
35
592
854
45
808
414
657
912
126
851
289
61
964
904
993
849
388
564
882
583
961
773
494
846
586
993
676
277
43
549
268
409
867
619
188
354
928
618
560
226
987
783
741
507
197
418
93
389
439
542
369
120
484
386
334
703
825
568
829
528
130
970
650
794
494
209
23
843
108
635
554
445
504
54
487
57
730
303
806
777
234
866
550
481
30
980
330
364
936
680
557
874
948
262
158
412
19
587
493
85
887
979
701
11
726
379
990
238
716
329
173
93
208
96
479
294
175
568
465
659
520
587
504
248
547
86
532
16
777
245
181
163
483
728
464
743
964
813
753
741
745
923
680
16
740
424
421
435
449
39
424
139
53
119
663
768
805
273
33
539
206
500
639
608
85
661
171
536
967
336
662
827
606
630
494
80
618
425
159
277
826
20
988
848
256
15
561
697
249
418
118
890
366
383
124
801
874
871
930
320
968
182
343
275
606
634
601
546
233
30
144
174
184
653
854
949
755
20
523
557
465
861
574
517
127
34
990
171
70
5
843
611
689
315
28
475
499
121
971
13
271
417
366
466
354
614
436
98
601
536
324
463
220
448
11
261
930
205
728
717
976
607
152
184
699
152
793
576
244
406
804
96
462
78
432
598
977
333
904
683
679
693
381
722
134
693
993
60
681
57
347
17
82
943
61
622
380
151
346
167
507
455
843
701
188
864
319
86
88
770
354
209
677
490
663
490
823
539
736
863
320
742
996
600
861
534
538
146
324
894
647
48
373
443
773
772
410
813
173
963
556
70
657
108
199
780
38
751
831
433
293
990
963
88
279
891
811
936
952
995
962
742
887
502
563
637
186
954
632
137
975
996
949
212
727
570
589
653
317
897
297
603
880
569
490
927
265
239
56
305
461
416
705
271
811
391
536
231
342
281
451
850
998
86
918
505
352
806
953
63
44
473
444
937
234
504
891
156
952
259
23
229
154
636
783
610
416
196
355
76
506
421
194
260
385
390
483
223
709
72
270
415
153
912
544
198
731
169
338
921
995
746
317
403
135
945
14
4
330
856
81
268
814
234
965
634
101
331
7
17
763
771
283
830
379
262
589
210
29
610
473
255
1
807
349
548
368
806
272
499
767
537
964
177
632
112
172
849
821
157
981
143
340
94
380
177
212
170
672
739
996
874
8
782
175
542
187
317
779
412
744
566
280
195
226
876
286
881
460
422
999
438
556
146
984
593
904
117
266
185
674
460
86
30
268
548
265
245
765
502
621
503
122
802
602
431
902
956
87
242
836
672
80
958
256
442
57
629
927
254
255
434
165
572
596
733
59
132
412
362
743
258
977
171
118
478
419
677
121
552
687
640
514
386
127
373
9
487
323
887
547
841
585
958
688
923
874
770
31
794
198
369
874
224
850
560
819
759
657
281
300
820
584
68
971
211
33
990
787
165
533
114
900
39
231
713
212
267
794
381
697
206
753
790
694
908
955
419
472
641
684
985
569
492
583
396
145
8
440
134
689
398
597
277
826
578
18
207
918
975
595
324
154
637
573
287
276
370
515
609
912
804
621
551
17
634
727
762
787
730
94
792
252
486
600
222
797
758
897
769
171
59
498
538
832
248
453
32
305
288
44
434
39
26
272
298
499
117
678
937
711
620
701
71
933
220
268
601
550
682
83
598
907
19
504
206
633
753
490
874
986
368
581
268
918
303
463
396
522
481
740
118
893
860
399
914
123
107
970
314
93
539
744
873
671
485
128
552
505
188
7
96
580
732
980
210
829
699
449
259
537
201
947
22
343
43
124
47
32
674
27
809
273
790
722
751
472
118
829
880
722
692
675
881
312
331
806
134
706
222
897
665
972
302
64
580
552
286
432
298
211
340
530
124
214
803
977
594
947
46
583
41
413
939
820
823
951
807
196
551
401
423
428
962
236
760
623
19
186
448
577
322
392
16
19
978
866
653
922
643
852
279
101
424
70
867
216
286
229
883
350
13
158
165
772
450
280
669
24
923
873
72
85
465
366
125
735
941
608
852
252
280
855
230
46
486
502
795
753
589
951
327
178
95
906
741
30
349
902
886
166
288
426
322
599
621
769
292
976
824
707
395
600
69
601
164
364
230
458
577
719
349
619
134
96
931
90
714
911
785
448
936
696
619
854
371
58
420
258
286
125
52
851
448
427
456
434
533
84
158
867
418
716
232
946
105
432
315
384
566
274
27
680
999
189
149
957
627
385
653
59
457
711
209
198
740
729
207
141
871
288
626
636
652
853
161
640
999
169
28
929
708
764
842
81
247
339
276
116
331
254
902
893
750
549
717
558
762
306
563
574
802
17
940
779
90
67
385
785
189
703
413
226
350
144
516
169
768
675
952
964
689
225
693
732
818
5
83
949
572
443
490
604
448
607
388
12
26
215
61
273
406
467
792
405
138
366
331
57
314
371
740
316
110
412
805
692
327
564
773
646
556
644
928
381
483
414
813
117
320
336
937
819
800
636
824
445
654
602
370
509
143
611
907
624
11
515
830
597
161
211
261
807
541
307
31
491
239
389
850
850
330
332
465
614
159
706
165
497
697
786
676
235
371
162
822
827
371
699
23
651
213
223
443
189
438
407
213
592
475
831
814
433
627
188
272
615
300
675
904
948
791
335
724
356
16
773
925
486
676
613
911
74
247
867
434
271
864
740
488
946
740
487
452
641
759
958
619
547
938
320
602
691
765
419
698
945
956
490
383
954
546
548
912
966
778
48
522
937
145
879
71
57
215
936
673
600
576
601
642
680
279
98
654
770
795
563
928
436
13
741
147
275
418
416
928
650
846
947
666
686
137
701
197
57
458
570
517
698
76
745
0
853
778
356
199
132
973
26
162
598
815
198
139
332
968
298
974
839
278
692
313
848
30
336
229
146
275
791
522
689
37
747
936
302
455
298
599
390
909
728
662
521
717
209
222
125
107
568
675
371
96
877
856
492
493
992
457
41
507
351
613
624
107
961
122
523
452
217
276
867
999
177
697
940
408
81
475
889
344
327
223
980
22
515
793
766
799
504
753
650
76
447
673
653
503
842
111
730
942
518
202
484
956
66
309
454
244
649
861
489
626
605
640
129
986
842
889
440
130
336
856
184
271
600
494
704
713
298
430
45
720
240
538
302
282
681
281
275
690
230
210
756
385
502
204
499
914
145
208
570
268
131
577
828
739
108
83
814
366
375
26
481
693
961
760
649
127
563
972
334
564
552
287
668
505
994
443
259
920
86
454
884
946
629
906
913
565
708
218
800
2
185
590
73
328
561
194
720
774
500
45
468
305
674
789
396
58
126
47
659
358
742
842
870
690
375
479
641
60
420
16
900
623
997
148
523
74
975
614
924
986
854
310
742
541
820
670
969
801
607
963
817
301
890
370
828
192
211
386
418
975
739
154
223
653
901
162
963
284
885
364
179
469
379
922
914
628
551
762
537
511
280
823
870
745
396
641
848
785
755
165
75
398
416
257
667
416
839
610
783
426
107
359
698
28
232
440
109
485
90
766
853
690
656
485
900
562
295
379
723
659
741
133
234
553
384
32
719
168
29
176
523
222
180
701
117
54
936
32
740
888
155
704
390
512
747
179
853
741
982
989
949
609
868
448
80
242
808
236
659
366
828
909
805
701
833
42
56
225
399
431
78
4
391
215
321
711
314
998
585
206
93
385
108
397
162
417
686
87
350
868
173
670
230
14
838
796
255
372
19
759
757
75
578
94
316
605
44
87
689
659
227
42
380
566
732
621
496
174
502
519
405
946
807
275
789
652
223
295
866
827
474
978
290
858
490
935
316
96
771
218
866
534
767
842
58
224
994
531
980
802
626
327
500
914
971
792
78
24
922
149
452
291
883
259
99
35
246
652
863
190
123
62
968
416
676
60
46
761
156
31
682
564
456
48
687
387
783
748
801
266
245
403
239
374
124
54
697
581
336
992
157
905
750
24
627
214
648
632
23
29
453
479
301
951
563
761
559
712
807
657
299
10
808
643
959
670
33
556
818
103
706
434
947
77
155
404
152
804
976
363
130
740
714
558
120
191
46
926
976
644
920
683
817
680
503
797
847
612
19
57
897
724
472
239
341
323
388
270
965
708
826
18
419
410
664
1
685
525
852
236
496
265
419
373
910
97
110
663
107
272
453
289
691
295
916
564
285
413
913
975
567
802
465
659
907
262
252
86
239
292
679
656
297
591
292
55
968
694
529
439
592
477
889
191
765
514
113
747
249
516
919
942
998
255
382
72
41
384
330
765
119
338
656
494
145
39
496
681
870
43
354
973
376
511
789
947
608
326
195
440
71
144
497
196
690
97
358
657
923
218
737
489
862
585
742
808
146
701
233
453
385
921
300
363
538
589
671
86
188
360
836
84
73
597
88
830
875
693
503
979
868
869
875
847
135
751
664
492
690
189
466
61
954
369
586
534
303
135
653
732
568
61
518
332
305
61
284
282
974
588
291
343
894
975
90
640
287
594
562
154
383
499
951
153
347
199
125
396
528
266
358
219
129
491
573
75
947
203
324
729
721
807
606
681
837
891
796
369
559
764
308
397
780
800
438
465
777
329
931
862
972
108
307
187
686
105
248
948
707
250
581
997
63
264
263
924
187
724
163
961
267
327
36
856
381
558
449
615
971
833
848
250
275
532
448
478
372
978
147
75
569
108
421
559
515
282
672
286
441
26
947
766
626
376
615
292
854
367
23
430
168
262
634
801
64
881
213
411
739
944
772
585
432
48
374
213
273
686
18
188
900
95
361
692
626
468
859
365
110
345
95
415
390
624
388
901
821
200
669
348
39
873
346
687
116
612
739
702
338
185
209
997
958
681
498
756
648
608
345
447
649
464
696
781
172
254
924
993
906
880
228
972
838
786
141
811
782
215
326
93
395
892
639
687
722
505
392
504
163
573
938
103
46
543
294
422
581
218
113
351
656
960
525
761
0
827
470
479
210
83
329
504
536
862
795
264
876
734
787
779
952
250
539
496
971
725
27
305
671
374
236
73
229
341
428
236
309
844
187
303
853
833
375
593
257
560
35
683
691
130
956
562
327
846
731
397
220
217
266
836
729
296
254
44
610
935
683
357
605
135
619
435
913
523
540
73
217
570
969
121
634
532
689
598
359
125
592
82
609
870
782
830
15
883
521
154
176
860
59
617
158
350
968
454
783
356
570
277
459
86
290
714
125
659
27
443
87
650
676
410
398
94
405
295
904
763
379
502
154
100
808
164
509
484
113
223
329
713
16
347
542
357
344
176
113
158
966
284
835
466
470
348
370
411
658
590
121
819
404
204
175
333
808
475
328
360
769
726
912
436
792
93
884
620
327
512
588
128
329
624
943
823
548
264
477
776
626
974
275
774
9
266
651
126
35
513
576
656
323
916
974
851
19
548
523
197
955
578
570
459
463
280
261
837
642
36
63
379
831
527
900
607
191
321
747
443
346
942
852
881
629
39
878
771
401
779
590
265
401
923
539
626
501
443
914
429
924
259
66
707
328
668
933
171
85
880
844
719
216
432
146
427
476
555
65
538
179
65
621
361
246
788
645
366
733
70
434
2
995
185
155
856
842
992
427
630
493
891
223
321
597
299
133
291
114
51
466
411
956
26
972
464
690
257
953
390
576
36
853
105
860
279
238
112
465
337
438
255
747
964
742
797
658
392
356
431
5
757
192
216
462
575
789
234
914
939
935
779
28
808
81
530
660
138
699
628
662
545
32
891
122
101
203
494
197
254
857
532
787
989
270
526
645
776
747
947
879
990
804
51
996
454
763
314
88
826
331
202
507
306
904
865
604
516
922
785
339
625
502
230
712
761
943
821
401
730
928
494
528
890
851
705
309
213
952
262
252
920
377
15
727
265
270
196
453
717
72
641
445
104
935
772
904
728
582
330
213
107
57
438
308
767
878
778
317
539
457
678
725
943
71
578
255
669
785
945
677
563
253
984
723
161
974
737
149
832
960
33
311
532
672
154
564
811
433
706
502
116
70
441
572
688
395
325
701
58
156
722
970
351
455
691
436
992
115
104
862
764
975
279
198
923
159
429
870
496
237
283
957
940
628
828
486
426
88
692
706
452
817
801
995
382
513
114
586
232
311
380
340
684
821
245
801
102
306
75
419
265
146
281
788
243
495
395
286
508
400
311
158
655
186
578
15
134
728
911
136
913
688
407
99
897
763
557
130
566
838
999
721
683
496
124
364
979
779
485
205
39
356
309
740
294
129
669
205
589
386
144
598
306
674
437
313
785
661
763
234
375
808
83
854
528
160
478
470
249
865
72
209
10
532
982
818
850
850
326
415
402
74
786
410
190
537
142
531
918
237
815
157
987
251
300
258
805
761
963
57
195
969
185
909
175
758
715
324
256
890
671
878
50
265
221
707
847
20
611
378
664
312
36
73
608
328
306
905
473
841
119
806
237
834
566
245
279
101
640
548
202
654
488
960
609
575
17
943
134
225
509
122
632
124
271
32
720
188
163
698
582
989
903
556
61
650
355
757
663
306
170
825
923
832
894
85
492
51
116
187
427
667
129
610
499
361
165
672
622
687
428
722
259
771
923
23
756
744
10
241
24
752
886
176
955
610
986
847
458
932
640
33
51
177
17
699
462
391
681
273
74
452
89
102
3
974
200
756
606
628
6
933
250
45
941
142
491
366
349
943
609
997
425
400
955
235
561
620
385
496
113
391
0
431
870
406
146
11
519
303
302
418
430
701
419
875
42
965
475
741
435
433
593
61
450
806
689
164
313
485
546
417
663
688
38
535
820
748
63
171
411
693
483
695
352
521
127
76
400
152
153
565
996
597
734
736
969
579
268
890
586
1
523
353
663
364
28
885
869
756
455
445
556
692
267
438
376
643
282
64
741
155
72
738
509
163
447
931
281
53
3
758
817
539
183
377
248
553
777
564
546
525
587
343
443
518
920
32
73
683
730
625
709
140
414
580
628
79
42
298
31
306
326
220
287
980
605
717
607
8
486
301
890
879
341
106
96
259
361
943
810
426
735
432
453
961
794
222
957
507
444
212
662
459
49
424
90
175
971
426
323
901
165
615
499
281
15
613
229
734
632
42
755
358
430
764
821
109
38
421
446
242
537
914
876
530
421
314
653
945
252
62
85
532
127
243
76
686
990
530
982
208
57
681
141
221
636
506
255
238
717
899
929
496
409
733
269
239
512
205
644
666
586
81
294
281
748
976
720
444
368
423
54
909
318
291
626
844
267
813
791
556
812
648
208
520
871
703
544
273
463
870
731
937
623
812
873
124
123
96
222
378
705
360
954
235
579
487
258
85
622
174
775
944
850
413
523
420
465
57
773
478
829
290
376
591
818
585
134
25
466
393
233
339
344
888
278
235
47
448
360
272
607
481
102
226
742
699
155
149
891
4
953
806
545
621
675
229
568
688
660
70
228
96
725
713
0
429
149
824
884
285
468
188
658
244
729
657
992
159
876
566
200
957
367
501
285
885
881
747
572
402
690
258
673
273
667
179
598
331
672
979
357
357
568
708
134
936
514
892
331
956
699
20
683
737
670
931
484
93
301
622
238
669
371
566
914
378
793
968
315
434
465
467
988
876
158
997
598
934
886
617
545
524
977
352
54
940
804
421
978
275
694
625
633
144
72
843
944
93
874
809
345
747
540
771
426
982
506
991
200
911
117
432
987
869
535
887
21
494
450
183
267
162
561
990
50
854
907
250
95
638
278
827
973
577
91
907
627
648
304
210
290
509
710
936
136
619
790
529
896
87
219
845
52
872
529
481
977
334
513
66
145
253
242
132
882
853
0
808
684
939
102
408
751
273
527
988
766
672
82
153
154
665
446
131
441
218
520
341
273
289
8
631
146
81
319
875
138
67
442
476
312
72
780
372
518
258
643
761
999
699
250
199
787
307
978
129
371
636
165
121
264
15
13
925
600
471
698
924
95
553
369
872
145
294
655
815
854
181
864
255
498
995
123
619
46
203
852
516
428
62
355
337
462
717
391
247
491
624
851
762
320
438
722
962
734
446
240
350
559
268
767
144
275
304
808
369
586
655
580
705
954
290
719
667
681
388
722
615
509
197
563
76
679
459
856
530
348
283
303
769
296
625
346
527
267
766
594
722
743
101
959
365
874
544
880
643
741
920
647
67
640
314
370
838
604
592
234
918
834
873
827
767
996
528
551
914
227
248
25
956
299
971
82
24
372
352
639
433
112
616
939
853
791
431
6
682
870
77
231
73
923
414
569
729
747
35
190
55
247
758
286
938
534
293
21
875
643
845
128
75
37
384
975
39
48
344
565
429
611
582
690
361
62
158
242
93
469
955
252
145
656
899
151
925
155
348
807
765
4
703
520
290
96
797
861
851
32
104
87
533
358
586
672
275
112
723
68
596
701
93
713
804
345
973
279
285
204
989
944
78
408
869
843
742
128
308
637
140
900
828
901
432
620
623
673
949
701
906
779
906
992
634
87
605
803
436
83
810
551
789
430
872
200
900
551
744
845
483
24
272
531
478
126
332
272
906
906
629
62
906
798
975
520
550
907
217
374
612
359
226
502
593
708
823
605
944
619
150
474
935
324
301
311
856
259
747
155
320
865
987
364
319
762
334
917
527
452
620
679
763
690
797
604
978
853
931
168
586
376
58
724
873
111
284
649
421
814
82
895
982
681
424
81
777
612
532
19
659
717
267
728
920
430
99
629
328
36
557
645
473
616
700
839
564
147
184
141
67
933
57
577
538
521
968
415
431
230
570
976
94
755
78
431
497
809
740
970
180
760
1
548
777
866
753
369
734
256
448
969
964
807
499
563
520
180
172
789
116
373
257
256
321
18
295
345
616
670
275
356
610
397
736
228
48
275
891
426
432
505
908
993
786
687
209
635
988
258
263
482
87
838
412
205
323
962
243
351
670
489
491
741
956
423
766
125
0
740
962
707
495
779
888
150
330
295
76
15
925
370
781
816
661
541
27
82
999
31
795
503
714
171
588
607
79
545
55
934
455
682
254
300
41
29
91
119
215
596
972
829
723
130
800
330
527
288
800
554
87
669
608
269
519
375
355
551
251
640
349
106
641
16
481
231
300
866
512
833
492
365
523
795
42
102
47
189
682
670
264
210
462
655
406
669
315
800
280
862
194
28
845
799
619
199
691
374
461
853
601
122
510
3
639
550
364
796
711
936
964
87
667
289
406
278
948
283
315
60
148
737
195
237
170
575
886
811
110
706
264
727
241
127
967
251
979
363
113
637
355
875
343
867
45
159
481
116
729
338
170
795
131
656
805
461
40
788
508
621
211
198
541
83
697
859
894
292
988
61
301
402
165
586
10
742
991
206
24
990
833
302
793
87
368
316
844
285
262
313
269
686
626
270
587
207
332
328
999
740
22
818
784
681
807
716
854
1
742
657
317
949
734
655
681
437
861
102
36
355
541
30
660
631
195
862
543
488
913
150
361
377
956
459
818
842
338
543
389
976
434
314
576
915
137
803
749
7
533
118
497
101
13
682
705
442
908
925
526
952
665
414
214
562
442
935
940
538
612
858
150
585
568
546
277
932
681
803
421
199
134
401
786
332
825
736
811
61
936
756
20
434
864
602
114
606
908
57
541
547
158
629
737
340
639
154
557
105
668
320
137
639
553
117
792
764
530
307
492
733
931
645
354
496
413
530
887
679
898
350
451
478
602
483
779
950
553
245
597
442
207
743
941
402
838
810
791
582
70
845
390
861
279
129
764
358
430
35
887
492
184
320
824
687
637
428
914
258
89
743
524
947
355
193
693
994
355
275
967
173
627
383
818
217
13
410
759
48
268
828
946
527
522
997
183
678
398
768
951
59
457
857
658
828
749
50
618
391
222
886
140
549
614
805
185
830
604
482
512
962
409
312
490
234
161
167
663
124
84
533
530
329
179
469
799
930
18
299
102
833
237
727
999
254
674
543
731
775
465
881
168
732
462
942
282
815
915
521
237
311
112
769
90
128
724
725
313
701
797
500
840
690
479
717
664
421
806
121
519
712
818
632
972
937
651
390
817
820
632
343
458
207
848
989
102
123
896
165
309
695
968
251
407
497
14
18
677
387
970
666
400
147
453
677
144
662
841
412
708
495
92
44
645
291
251
917
449
180
86
27
354
719
215
813
543
480
455
809
917
974
978
62
730
613
957
945
78
699
565
541
955
390
277
682
929
600
318
342
965
616
530
747
159
980
78
944
308
508
428
202
280
815
103
595
30
957
807
987
985
103
611
311
95
779
147
716
913
121
330
437
612
15
917
83
914
681
368
734
24
449
253
602
504
901
345
745
48
188
986
742
315
259
188
788
417
158
434
26
913
826
226
758
848
374
653
695
336
815
379
954
533
71
503
950
191
739
364
879
599
632
483
895
819
116
496
314
53
400
828
805
116
484
508
988
670
671
829
884
66
741
990
461
842
962
428
934
729
556
249
803
461
709
776
840
342
123
282
536
67
40
101
259
216
106
183
239
119
424
956
858
217
572
753
436
470
247
119
45
628
28
506
556
51
31
964
489
936
327
214
263
403
947
663
867
295
212
33
88
20
365
516
410
912
663
344
859
866
906
273
242
441
599
306
763
34
350
730
463
488
419
930
800
267
681
621
401
791
867
807
485
504
786
852
310
64
761
60
428
913
476
22
884
588
825
113
670
701
904
431
906
811
47
192
884
71
929
756
373
358
546
853
562
405
684
832
647
461
38
750
70
405
454
614
212
454
509
389
89
471
203
397
771
93
999
375
554
495
595
127
370
662
754
447
382
223
739
284
394
870
787
309
8
993
271
790
219
926
349
422
367
622
840
209
771
719
534
953
553
62
811
651
139
95
132
527
614
13
136
47
727
266
992
990
239
515
595
701
820
57
22
947
657
665
826
856
242
116
367
563
0
317
993
168
35
69
967
319
127
91
892
184
714
972
777
697
117
539
99
65
490
372
347
845
312
356
633
459
425
354
26
673
892
63
840
546
383
900
598
742
242
750
175
818
552
78
879
782
489
525
226
928
84
295
871
721
473
111
538
733
742
135
988
311
496
684
77
887
921
235
910
774
347
968
814
672
722
222
784
605
744
655
153
264
630
65
90
930
573
728
60
389
809
460
596
545
31
282
28
19
584
189
293
374
33
123
60
558
258
565
780
464
875
321
930
261
349
462
723
191
230
283
77
966
43
842
758
821
140
949
654
877
983
481
588
184
624
569
138
914
344
787
58
102
13
939
475
593
21
321
605
823
75
747
759
769
951
583
271
448
339
924
299
624
234
567
762
497
912
677
784
545
931
246
926
377
567
64
851
888
769
870
255
799
51
784
808
385
158
769
36
733
703
151
912
478
376
16
800
545
312
563
74
201
363
480
997
802
656
774
711
194
544
234
218
932
531
447
585
767
927
937
581
180
496
34
349
173
789
52
358
913
369
993
67
681
324
725
923
437
653
672
413
765
948
585
858
212
660
596
39
765
78
602
505
161
204
480
615
602
726
984
633
585
715
832
236
240
989
544
863
645
140
492
808
983
79
890
856
508
104
551
219
862
136
960
447
540
135
833
412
497
743
587
187
778
767
943
398
897
523
951
685
510
540
256
151
849
13
146
838
305
441
258
997
185
117
471
588
298
942
612
424
351
400
143
507
490
476
160
341
907
723
912
290
62
395
35
395
190
910
773
553
48
198
551
385
40
449
946
638
590
248
452
235
357
13
956
849
189
28
343
710
386
847
748
549
873
51
535
642
358
806
514
495
780
220
251
319
745
524
647
35
514
190
262
290
608
501
705
730
487
167
39
837
935
449
183
185
109
428
311
644
39
545
58
645
949
91
646
754
961
642
563
379
480
326
344
978
797
294
49
666
70
643
785
973
824
998
92
445
512
262
676
762
336
527
504
687
173
686
348
294
187
259
652
956
509
185
950
709
369
153
44
525
420
929
701
560
668
919
613
108
84
481
246
721
373
815
227
183
417
770
710
587
265
261
647
566
335
754
376
763
776
109
826
525
640
253
60
833
419
449
350
682
34
65
518
841
140
556
546
467
745
579
866
699
914
822
783
334
987
616
697
286
198
819
932
323
463
352
810
407
215
510
785
783
437
63
20
475
565
911
111
298
661
798
171
279
383
969
303
766
324
629
826
435
481
652
737
652
84
591
283
597
120
186
942
806
687
247
165
441
330
596
957
339
824
97
478
657
767
865
842
393
71
288
634
163
393
236
969
631
392
589
807
199
511
523
620
840
627
961
825
636
985
748
117
937
532
317
622
857
871
790
383
268
436
888
691
631
631
414
33
245
154
923
80
840
128
228
837
843
232
412
588
484
57
191
610
246
957
410
588
127
495
28
379
357
929
412
882
801
167
564
898
349
240
737
739
399
526
732
200
454
801
448
476
26
834
702
629
731
173
551
316
842
500
425
260
521
62
465
915
196
865
149
666
158
336
816
778
933
765
988
619
984
912
444
224
592
100
301
155
927
517
607
628
828
716
366
46
776
321
664
286
341
774
697
755
558
432
756
159
771
458
878
125
277
921
378
44
86
252
7
73
494
819
773
431
563
851
711
701
978
748
52
35
260
502
934
364
881
927
701
271
644
961
351
681
737
425
794
431
548
79
450
524
287
185
913
260
888
973
263
786
894
913
221
656
178
910
472
276
989
796
712
546
285
180
301
669
442
837
803
650
27
96
717
644
818
914
138
735
192
194
819
952
143
552
438
567
484
246
217
143
773
854
789
97
72
492
168
197
618
644
918
849
391
500
109
884
983
185
578
839
580
355
277
198
844
998
595
366
971
733
224
963
835
464
241
418
211
117
546
604
181
179
259
21
250
271
98
898
573
948
380
706
896
767
747
525
160
265
892
950
958
924
873
673
58
818
62
39
207
962
570
642
785
63
757
917
192
692
658
252
321
868
545
63
280
667
382
580
363
459
924
380
938
265
704
253
401
983
476
916
694
126
395
935
685
431
732
700
730
940
458
122
119
832
18
31
516
175
159
578
674
550
60
140
422
576
777
186
149
710
909
995
729
47
275
837
229
727
873
183
602
611
70
476
483
455
549
504
831
454
841
733
128
677
317
854
590
665
845
698
80
4
626
607
695
856
251
682
988
59
958
4
777
793
619
48
597
239
639
175
621
836
263
52
945
747
607
5
559
949
29
551
997
70
353
928
244
646
958
153
605
575
811
901
346
63
106
183
415
136
229
602
682
248
217
496
423
786
49
303
107
705
58
902
699
440
856
400
214
611
441
102
780
327
231
879
941
443
400
636
568
747
186
231
409
91
15
159
399
622
800
596
367
0
656
381
895
647
998
306
410
945
381
909
93
380
467
907
400
727
27
25
647
364
111
88
168
874
710
883
284
107
298
598
704
360
461
337
563
486
492
491
209
778
32
448
851
187
737
473
182
271
47
345
744
512
586
215
137
876
678
608
83
234
862
749
785
593
650
267
241
158
497
850
757
410
801
520
913
641
291
324
827
676
29
532
105
38
772
73
182
994
637
573
754
245
726
754
842
887
973
810
196
232
411
460
891
163
518
57
995
819
785
458
903
102
511
93
619
898
825
91
831
528
273
278
734
11
750
961
54
847
793
606
931
955
348
470
538
809
502
428
755
915
500
591
776
829
372
650
18
508
469
984
675
888
970
963
823
473
981
698
19
641
779
142
140
947
624
620
137
859
377
94
686
876
626
40
220
410
474
274
621
970
748
729
241
145
356
428
638
58
316
749
413
99
234
61
5
309
812
225
562
11
53
338
49
828
548
328
554
534
539
611
184
403
182
55
726
845
304
227
502
912
970
24
628
808
625
86
766
15
701
388
712
17
139
899
788
511
156
651
862
526
536
271
95
72
518
958
966
988
546
323
645
772
86
583
114
603
866
576
750
661
950
275
337
784
43
176
785
981
84
152
466
502
160
991
869
549
508
6
456
569
324
927
766
80
214
672
429
327
626
168
713
783
457
933
527
849
76
743
143
595
221
44
361
961
875
16
478
261
626
312
511
216
999
218
540
294
211
271
185
91
331
840
586
383
647
316
414
713
547
646
243
486
692
916
459
386
466
134
236
360
473
166
753
860
580
983
358
111
823
167
420
276
849
599
989
28
894
922
720
71
111
438
641
988
255
16
839
876
783
483
430
598
101
233
89
891
233
369
457
426
706
836
146
370
976
958
122
411
88
799
893
665
319
276
954
96
380
252
548
961
77
541
294
181
690
887
543
428
337
950
672
395
867
461
110
885
380
236
996
164
618
984
656
275
526
733
579
182
323
664
861
210
491
989
562
145
733
828
991
239
830
111
510
498
401
857
268
875
396
236
124
174
62
549
319
6
38
764
956
866
647
237
729
529
726
897
117
949
544
202
429
206
251
167
2
23
538
45
348
443
39
519
95
410
546
79
481
211
717
651
735
762
172
873
925
333
159
624
421
639
294
481
131
830
321
935
486
30
598
606
182
852
493
490
986
642
38
847
159
409
596
528
609
144
513
559
802
379
493
235
586
578
631
412
755
375
334
236
828
18
298
182
497
275
280
987
172
102
90
900
354
9
67
563
828
514
176
294
164
448
480
108
484
633
595
263
954
504
498
130
700
929
284
174
626
297
414
162
612
217
640
253
234
168
745
193
488
959
394
966
885
577
302
847
207
826
936
7
567
155
715
987
619
672
154
501
788
308
813
756
347
635
772
827
895
9
338
784
458
288
76
308
544
352
284
537
45
212
555
369
460
709
921
942
925
517
619
418
318
588
566
750
47
43
177
745
108
468
329
653
856
321
187
122
306
343
504
470
646
37
967
648
427
469
127
773
536
513
517
392
524
799
308
473
366
778
756
931
548
314
283
40
465
258
971
558
885
805
434
354
886
272
794
901
489
116
10
557
19
309
220
262
238
230
46
915
971
518
32
231
157
409
351
365
113
720
199
26
876
56
461
680
962
713
217
87
99
241
853
542
653
612
629
237
492
29
317
299
543
177
507
549
286
995
593
281
326
767
941
923
270
386
89
84
980
664
680
311
549
473
134
213
780
147
990
114
524
697
330
112
193
446
637
563
469
530
482
718
323
78
349
721
677
3
905
304
932
670
336
361
6
799
308
934
721
261
337
591
273
486
4
463
105
849
832
805
613
931
594
509
686
971
148
294
793
867
318
170
15
600
223
141
325
300
660
433
779
231
728
93
785
794
834
63
975
727
456
505
218
903
342
645
915
369
945
427
253
927
45
441
640
799
913
720
316
129
18
432
748
306
216
749
483
486
895
879
167
29
479
761
259
272
113
78
634
595
344
305
876
931
721
649
305
538
457
402
968
86
47
316
287
68
483
191
485
454
898
397
517
82
782
432
372
15
852
553
259
689
818
892
863
797
609
920
444
370
551
557
474
22
732
180
593
130
67
45
51
167
365
318
551
121
157
67
550
155
67
718
115
359
498
746
98
282
655
479
314
338
844
775
551
899
757
60
75
281
308
332
820
119
795
52
258
796
726
70
336
848
867
857
884
395
615
391
414
723
546
670
658
486
229
551
280
414
198
786
229
394
384
815
689
310
915
595
850
426
457
829
745
30
718
960
194
205
554
879
956
705
467
52
492
479
318
355
516
50
349
236
806
570
405
146
283
532
214
934
469
256
854
153
699
895
876
687
378
851
57
890
363
132
296
675
838
913
193
248
357
307
595
941
380
741
862
881
478
124
415
284
362
380
689
124
910
560
891
923
661
118
101
737
806
855
184
337
713
892
555
109
831
980
965
403
216
843
318
652
747
737
981
433
63
454
103
254
573
737
379
810
192
69
355
602
766
987
797
457
119
192
236
717
474
712
441
730
270
119
869
833
942
643
320
976
445
910
712
670
234
683
327
904
125
816
76
744
932
830
983
998
311
849
636
515
501
930
921
732
165
577
81
680
369
925
94
105
600
315
571
29
793
639
359
794
71
936
830
881
538
858
110
827
662
264
730
419
161
978
471
103
818
897
689
455
27
946
736
836
666
495
475
772
275
369
297
383
106
745
250
981
497
632
355
882
161
96
664
803
856
256
631
474
847
852
951
464
315
257
466
68
356
650
949
952
948
542
667
58
814
327
649
470
357
17
69
917
457
114
891
620
629
297
140
522
353
249
91
944
84
143
79
415
792
212
137
661
445
813
89
901
801
624
296
396
483
539
408
518
226
271
230
637
38
51
588
143
176
658
726
208
914
150
117
60
936
117
317
647
978
662
457
79
843
601
581
642
264
447
419
786
990
490
250
769
426
302
929
471
804
550
668
261
372
166
567
300
703
245
537
861
889
53
171
252
167
710
661
247
119
634
70
219
702
309
907
739
558
472
875
109
828
898
696
20
755
883
352
977
840
46
493
496
13
511
174
686
136
922
258
593
55
347
167
878
869
560
579
956
141
819
502
78
987
904
432
129
618
485
27
133
975
564
502
759
339
303
491
667
550
263
227
63
462
712
817
734
773
419
499
333
291
45
16
347
530
835
880
239
499
122
579
721
834
765
688
498
951
473
241
399
507
480
30
351
125
149
713
36
434
434
313
536
458
695
882
427
722
358
65
615
952
163
748
262
156
90
902
128
685
537
848
396
411
785
843
776
380
177
946
935
127
389
117
50
439
107
256
651
575
819
902
964
911
73
268
195
965
622
532
528
970
105
631
87
553
461
466
369
222
360
457
207
568
372
232
708
769
72
548
169
141
764
494
424
16
868
298
805
882
26
730
801
222
533
69
132
959
754
640
320
634
510
702
118
380
179
331
204
39
989
317
841
373
936
461
267
313
759
292
667
693
992
927
623
481
53
271
105
39
58
945
91
483
228
861
186
216
165
418
554
615
849
951
588
900
671
67
206
673
956
58
556
817
744
242
884
94
888
281
186
208
546
364
134
768
892
389
274
748
858
860
16
290
133
638
444
435
258
144
932
96
287
562
452
510
292
951
954
988
364
43
812
885
803
211
987
160
655
949
146
741
463
892
438
74
486
489
640
755
140
754
66
844
716
391
869
450
697
451
844
982
534
791
305
478
564
272
788
343
947
598
494
225
290
414
284
247
314
143
803
603
489
403
322
525
609
981
442
22
665
246
344
131
614
141
760
796
264
39
514
904
8
436
910
980
463
994
39
785
86
655
641
14
714
216
647
469
964
335
760
319
315
158
697
645
169
694
392
561
134
758
20
219
202
819
122
809
610
772
185
667
373
407
370
437
381
565
399
547
124
234
568
40
701
626
139
604
824
260
910
890
480
150
972
35
427
742
906
66
18
645
944
632
422
830
351
205
947
504
959
545
260
869
17
237
101
49
892
228
616
397
668
400
860
533
554
85
462
339
695
239
308
546
747
22
536
190
280
366
448
964
660
948
616
99
38
23
684
691
289
675
278
792
420
665
870
344
936
482
232
729
576
854
730
582
397
188
514
746
547
530
635
293
579
404
898
9
171
257
540
104
492
470
497
742
537
643
858
993
965
975
853
847
819
198
508
825
473
937
385
34
581
958
860
787
525
107
167
400
620
66
692
809
945
671
44
732
406
53
533
999
343
690
264
514
365
307
609
741
101
733
759
528
260
614
712
444
35
545
757
275
120
962
612
681
746
677
320
726
220
849
143
425
339
812
800
785
565
862
550
520
17
618
800
290
838
843
856
359
902
534
847
950
71
659
599
763
424
829
622
597
821
290
4
576
34
955
597
619
132
482
18
578
676
259
669
249
300
269
91
313
272
122
198
937
600
37
834
807
192
571
627
722
763
917
144
126
952
681
192
299
506
549
111
213
486
657
486
750
173
127
508
167
815
187
560
792
377
966
239
660
645
777
921
216
411
496
399
552
793
916
2
962
660
402
590
715
681
404
373
31
335
547
27
969
523
982
164
488
217
766
297
603
435
876
349
220
301
979
77
200
866
252
929
249
17
614
136
335
337
262
266
649
819
443
65
634
549
4
724
385
38
356
268
346
3
207
810
75
460
318
702
35
735
402
468
320
545
103
430
676
903
922
143
587
482
522
308
423
986
252
807
193
521
204
798
96
440
142
293
441
816
822
457
848
781
365
450
449
938
753
184
430
138
192
209
373
790
460
973
621
277
514
439
0
680
651
413
421
469
266
36
0
259
244
868
694
771
303
502
316
853
389
476
305
265
298
751
707
225
238
529
992
903
451
66
972
504
164
109
212
830
715
748
814
768
178
30
181
732
877
805
689
850
320
498
261
684
913
521
502
793
876
546
635
793
963
795
729
760
166
839
808
78
714
381
909
190
86
161
282
72
521
607
948
279
271
622
274
279
157
866
311
136
728
533
779
356
731
261
857
293
107
527
293
356
208
370
814
782
979
297
616
216
797
185
952
715
310
394
434
16
97
1
247
118
6
563
643
971
310
945
956
719
344
559
640
943
501
855
870
369
575
456
279
135
538
636
821
173
559
840
69
155
999
203
386
355
846
871
402
975
771
92
592
555
911
422
158
415
389
250
341
647
135
286
992
733
426
399
914
173
738
111
503
691
60
711
914
477
599
447
502
681
781
803
5
676
14
652
630
953
416
553
897
224
709
201
696
22
470
284
235
794
379
547
559
558
131
787
312
976
641
163
368
187
154
213
325
309
501
543
111
652
945
690
304
691
837
723
35
249
833
389
533
989
578
178
436
149
257
331
25
564
520
56
572
848
498
619
582
740
19
807
379
877
612
586
161
796
619
148
260
202
80
148
803
415
685
523
286
526
693
10
580
376
8
178
813
33
951
842
670
834
68
725
753
111
879
232
529
512
666
848
72
633
429
706
334
945
12
86
305
270
94
785
0
321
715
682
702
597
28
21
975
798
751
145
141
132
218
483
86
694
342
957
167
924
191
357
286
498
288
988
519
765
311
541
466
179
467
664
811
202
974
910
281
732
870
263
438
203
269
396
641
967
114
101
892
837
2
591
390
751
980
215
133
473
135
311
944
409
503
746
256
160
280
836
427
196
512
381
840
445
149
999
361
996
356
760
110
94
105
768
627
646
261
108
542
92
764
343
179
265
630
782
304
967
303
307
345
639
182
377
603
480
324
340
487
33
535
295
57
783
294
749
276
857
968
400
840
713
804
682
736
463
539
43
144
165
844
647
545
190
288
596
747
614
84
881
913
73
961
150
410
372
190
594
215
107
135
438
576
826
367
691
516
866
255
890
955
717
55
766
880
86
575
489
206
301
848
336
780
770
868
997
825
97
657
160
725
102
237
502
43
108
115
206
839
69
111
215
288
731
505
428
819
281
301
153
430
645
441
387
717
40
780
45
683
616
233
453
14
624
226
707
965
984
27
864
72
987
130
949
858
836
807
887
500
940
996
546
715
187
349
21
906
951
321
244
221
562
715
953
360
611
795
240
293
714
540
473
84
258
466
989
417
529
881
728
720
632
401
773
540
336
214
217
19
971
985
182
46
674
63
821
617
640
86
333
419
47
461
209
499
755
604
155
260
507
476
579
305
939
251
654
685
77
765
118
308
589
81
349
677
784
437
830
527
2
904
435
323
53
687
244
332
743
878
508
944
507
700
462
594
384
678
900
475
8
723
292
689
392
484
892
347
358
708
726
833
907
902
883
795
280
797
310
37
243
746
520
245
339
362
681
5
591
0
887
418
410
99
582
646
774
960
391
35
406
495
910
615
903
354
186
699
861
208
330
934
662
24
621
432
437
721
812
970
36
675
722
95
560
999
260
349
416
350
267
586
780
820
171
853
843
198
809
29
862
86
473
101
841
115
428
296
121
722
482
420
713
238
719
216
228
839
105
538
479
359
318
46
301
531
843
360
72
551
647
984
273
631
106
849
788
301
21
972
737
114
946
888
205
657
43
516
927
354
561
648
447
571
389
573
882
160
121
235
108
440
651
919
580
718
3
84
39
774
817
559
201
922
18
914
679
516
411
812
835
676
750
708
775
708
347
256
722
361
752
724
510
768
357
573
459
668
537
803
14
47
619
633
761
273
523
793
896
695
34
374
80
455
675
345
456
896
398
295
743
544
837
679
144
977
861
118
365
575
928
525
977
475
761
679
127
627
795
788
31
362
954
904
895
173
65
223
430
232
945
869
452
591
988
582
60
758
165
949
384
385
484
340
285
611
857
48
386
481
327
697
457
494
1
212
76
376
963
847
404
211
689
864
882
855
401
911
392
167
599
445
191
908
80
240
752
519
805
930
252
60
433
604
545
198
115
400
367
126
560
999
759
174
838
22
860
966
368
666
848
120
804
341
983
145
224
620
205
741
106
195
733
608
723
397
687
64
726
385
29
711
73
380
507
83
488
482
573
463
278
134
545
424
589
737
553
592
256
101
27
931
552
915
720
253
524
180
241
472
228
120
176
584
45
952
305
836
367
304
179
464
11
56
302
58
84
336
945
246
760
370
655
297
24
807
351
552
779
333
976
396
801
289
271
784
725
363
599
989
560
63
875
132
181
840
40
541
60
159
654
973
648
812
958
515
669
501
540
685
380
377
998
414
819
874
505
990
395
553
554
616
708
971
474
138
556
499
238
866
67
877
584
680
721
945
0
240
219
509
429
859
926
233
674
986
618
57
127
944
201
344
40
879
713
510
171
260
908
794
595
848
764
497
254
371
199
981
646
824
899
715
53
538
218
995
417
290
802
827
523
517
381
509
840
676
912
823
10
772
807
824
283
261
830
452
326
635
198
794
23
301
949
252
961
479
371
429
598
756
430
818
558
719
356
787
490
112
910
876
798
121
650
873
142
828
477
663
207
361
139
918
512
664
594
703
479
774
487
958
766
140
746
448
11
844
674
953
58
142
213
108
300
888
961
525
901
963
475
791
742
262
320
184
305
650
967
928
862
997
39
191
890
185
236
344
877
673
448
925
376
937
734
98
914
478
958
547
690
791
777
3
208
555
145
281
337
687
685
589
627
273
545
785
326
296
389
765
42
402
986
618
449
532
312
239
123
949
446
801
626
509
57
381
4
504
848
555
968
797
412
518
445
517
614
22
289
311
831
135
510
39
584
444
58
886
632
763
879
561
436
193
171
868
718
983
45
18
413
852
682
398
276
404
724
463
643
591
90
155
107
957
698
852
626
314
857
377
774
134
221
14
972
736
19
479
422
278
222
107
793
405
588
439
460
660
72
460
55
88
952
282
640
952
318
882
947
315
567
601
783
560
707
236
782
198
949
806
851
957
578
484
369
463
164
178
126
216
868
567
33
333
647
642
77
595
991
81
853
267
127
626
962
72
798
332
34
143
453
355
736
288
72
480
165
403
682
344
810
43
865
426
539
911
580
468
568
302
378
537
115
286
208
16
567
139
738
980
618
170
690
751
374
554
323
939
966
273
254
705
180
506
367
270
996
675
219
980
356
72
897
294
688
190
540
533
436
293
906
967
38
193
764
487
357
464
174
299
233
979
854
236
274
352
322
403
56
15
182
912
938
715
519
787
154
955
603
606
496
764
967
214
876
193
734
915
462
115
269
303
722
884
35
434
366
814
714
2
696
769
503
918
334
211
668
204
88
368
817
954
329
251
494
963
16
59
56
929
152
369
740
574
678
601
663
43
432
180
637
781
590
263
576
803
169
651
211
181
591
895
330
266
827
417
102
3
830
691
789
682
127
309
887
873
317
421
634
620
535
370
906
305
85
165
4
122
195
867
173
712
835
577
592
890
165
123
461
449
874
578
415
925
715
569
218
334
600
369
886
516
21
792
631
215
893
436
469
934
207
514
913
635
996
626
133
805
825
960
576
440
167
460
191
659
937
135
547
316
447
197
509
750
324
62
374
513
765
175
839
603
293
963
27
121
571
719
265
12
422
38
224
334
144
364
808
494
57
944
394
779
866
726
233
880
987
715
745
249
449
596
164
175
919
636
903
452
525
550
794
45
100
728
127
239
72
470
155
590
105
830
728
409
676
330
773
611
930
44
712
803
879
644
351
995
88
233
231
806
366
219
421
248
357
434
631
236
150
505
430
355
961
724
890
316
369
310
624
945
483
561
304
198
202
659
222
868
905
497
604
544
375
276
404
232
310
66
127
664
975
947
618
38
689
630
508
93
103
990
31
993
609
346
172
403
482
994
900
246
813
553
530
506
131
127
908
19
626
428
631
674
359
921
41
960
275
762
650
839
875
121
286
524
166
343
861
637
779
461
12
934
365
448
951
309
374
588
720
727
97
733
556
385
487
852
44
295
341
580
890
515
904
654
65
500
346
491
750
86
35
85
217
213
108
560
107
496
942
168
373
535
568
155
488
512
516
756
8
902
313
837
150
309
91
264
171
495
577
366
356
261
394
35
143
709
154
117
970
809
127
844
17
440
587
784
741
199
61
48
829
806
988
430
958
386
879
402
500
872
577
109
923
917
272
697
94
461
270
708
543
901
802
941
914
636
568
827
265
876
150
437
550
862
261
553
488
859
584
254
980
239
952
824
284
250
403
347
300
710
23
946
208
545
962
102
939
250
25
262
732
751
614
631
298
969
657
277
592
892
355
655
574
562
662
867
448
770
6
586
751
173
782
932
207
268
446
364
14
28
124
494
413
555
881
716
487
445
469
328
48
241
36
757
416
554
634
771
610
985
417
282
711
406
815
374
985
765
42
429
588
619
620
342
716
415
495
758
906
747
227
759
975
105
161
575
972
323
214
63
138
324
487
770
578
227
756
810
500
94
42
822
73
380
234
376
48
22
492
562
598
786
266
481
518
102
952
108
253
174
686
853
354
61
317
833
488
266
184
606
95
622
821
659
424
197
652
318
846
837
110
191
683
514
56
669
273
668
548
978
670
986
342
657
710
598
248
792
596
283
286
70
745
164
227
626
705
470
440
562
887
614
764
567
115
258
480
484
520
660
734
527
98
335
48
139
594
773
34
603
31
718
264
667
969
295
125
735
52
967
471
948
164
256
49
348
470
948
767
352
362
466
876
700
195
892
459
253
194
537
604
252
25
666
361
465
150
772
124
460
432
754
435
772
910
499
700
133
31
587
400
517
23
76
91
421
169
610
857
11
705
290
944
442
943
587
303
414
760
81
890
389
742
45
825
164
856
862
939
922
626
818
105
580
207
700
867
812
227
345
796
151
900
371
292
979
609
524
982
656
937
11
8
532
638
903
66
985
478
368
908
103
19
42
780
185
305
796
164
323
515
927
121
696
853
404
449
969
825
801
789
611
186
262
404
339
440
458
774
620
554
390
223
226
647
13
826
192
629
523
182
46
761
3
377
763
781
419
101
739
913
850
584
103
854
524
570
326
250
579
608
877
53
967
220
220
694
460
802
111
60
26
479
702
669
946
169
635
549
426
702
793
647
675
546
888
148
413
494
711
718
438
529
195
133
74
658
503
848
936
644
706
342
693
49
658
382
510
664
531
227
430
458
320
627
840
779
474
56
614
700
756
417
477
238
243
791
510
693
976
885
85
198
740
489
464
53
937
876
436
504
131
170
972
443
475
117
722
171
966
618
454
201
629
274
990
39
442
853
622
945
278
587
807
804
45
349
531
118
754
801
267
438
986
661
738
503
140
602
319
260
468
6
641
111
268
48
516
351
936
587
162
320
253
587
327
932
428
500
19
897
619
421
446
860
779
712
308
463
340
88
787
163
402
610
350
607
120
161
380
578
833
266
479
842
292
493
314
379
554
195
540
745
357
52
299
538
815
975
632
545
329
613
899
19
940
281
537
899
897
362
828
837
415
314
602
205
144
54
763
928
905
521
615
16
377
907
961
486
911
868
196
120
941
662
444
620
922
458
702
954
108
188
664
176
307
813
418
368
818
593
864
669
114
401
527
208
895
941
7
191
36
659
920
655
718
586
796
128
0
511
562
813
467
5
3
102
877
811
627
339
954
634
798
745
404
958
378
808
308
31
965
833
613
530
908
896
610
715
490
170
951
226
578
527
652
430
197
206
203
30
456
653
842
112
522
963
220
393
864
194
533
462
377
234
273
979
281
237
668
27
825
952
725
929
540
956
501
48
177
133
848
114
248
783
550
568
669
238
359
635
751
861
181
105
972
301
586
685
455
340
85
545
449
915
921
322
292
974
419
406
830
596
726
591
777
86
494
437
908
796
349
604
117
705
216
804
530
540
122
350
74
647
114
839
457
222
373
954
516
171
717
605
462
777
524
527
615
11
549
328
460
693
925
983
711
29
748
955
670
939
554
118
424
598
379
406
254
326
653
209
413
302
832
881
739
812
853
613
972
567
559
396
564
269
255
76
190
158
772
443
819
526
403
95
392
606
890
675
784
639
978
191
824
322
240
51
582
235
342
568
212
424
204
47
650
352
437
143
175
863
918
378
290
725
969
8
855
627
117
635
652
517
331
221
42
597
96
904
245
647
887
157
72
344
278
766
325
204
646
195
537
925
26
40
266
475
55
233
412
627
955
586
787
178
671
595
946
216
936
809
331
455
964
35
581
603
471
507
746
977
339
420
928
321
549
69
258
859
303
707
401
606
802
300
643
256
846
42
318
211
565
695
41
352
337
120
981
754
607
679
205
542
303
182
672
988
211
856
222
534
38
59
687
856
259
25
151
108
386
235
491
876
453
624
640
841
937
17
525
482
310
645
737
124
579
65
443
204
626
95
760
957
959
946
537
55
38
247
73
730
471
532
597
806
764
975
858
868
777
9
143
150
919
191
635
181
18
305
586
940
259
290
976
305
138
379
344
287
962
774
751
827
559
655
203
317
175
250
358
603
199
620
331
52
571
549
685
936
736
781
271
283
500
503
508
557
681
355
577
261
408
254
386
705
338
780
572
971
55
619
451
693
511
364
626
765
750
216
97
382
755
85
936
364
614
783
366
413
818
994
529
420
759
825
386
780
249
952
772
525
92
806
653
679
634
603
777
662
619
431
539
966
372
218
946
496
654
463
59
689
218
792
38
266
527
621
600
153
688
981
214
526
402
755
558
548
760
130
962
733
720
475
888
417
610
362
485
518
598
160
745
195
471
719
404
212
774
577
609
893
637
335
901
738
622
683
194
480
684
120
348
906
853
435
147
461
93
882
800
579
448
476
967
563
126
951
239
447
647
886
9
369
63
673
267
636
171
795
281
814
204
654
434
296
891
922
66
145
593
74
63
902
785
13
983
277
40
514
773
340
439
552
792
877
634
913
67
809
377
574
992
337
657
160
492
684
116
709
351
576
431
505
412
866
845
795
377
975
44
789
201
423
136
704
48
691
186
10
228
258
353
185
647
375
863
880
659
25
250
615
596
826
772
981
502
509
246
615
803
414
667
219
598
210
479
852
32
588
817
646
979
181
897
934
951
235
184
121
480
398
536
456
166
681
476
11
815
461
680
284
839
876
710
516
24
211
754
943
775
195
171
23
706
857
516
736
847
87
871
724
879
964
307
526
571
376
358
453
275
921
602
653
198
218
783
637
652
694
42
707
376
127
799
762
516
34
950
643
670
406
145
622
67
285
362
305
142
902
269
635
38
13
873
43
176
725
27
899
130
870
92
943
369
680
201
271
959
105
819
523
500
357
416
423
773
980
16
81
885
155
925
215
232
807
761
254
796
290
487
635
766
765
650
461
878
748
491
61
261
703
666
285
851
393
40
718
608
757
894
449
537
827
768
674
22
48
224
160
487
805
101
348
57
232
915
430
621
435
234
795
671
768
234
61
394
33
715
753
81
47
880
373
166
446
887
832
863
629
748
33
288
882
936
178
187
581
107
606
754
199
379
869
766
334
701
281
351
245
586
874
301
435
654
654
200
168
238
85
712
913
634
502
749
323
843
179
233
153
722
706
345
998
354
534
455
973
409
340
862
198
398
231
787
264
637
61
825
198
123
395
483
347
29
897
94
611
560
320
494
480
925
475
769
292
687
557
803
768
481
365
555
147
234
879
474
616
652
731
314
136
196
19
32
599
975
666
83
21
650
61
368
44
463
294
507
748
821
482
625
515
407
614
250
912
982
311
433
245
601
430
488
818
101
673
878
42
233
575
362
653
737
726
783
391
44
750
179
860
171
20
941
205
839
617
392
965
440
269
476
204
192
601
254
662
873
190
720
187
292
743
380
432
199
668
157
881
836
778
464
705
527
93
554
73
210
542
728
853
956
360
82
105
957
446
437
969
238
174
191
23
345
913
524
137
693
943
141
951
476
130
434
595
986
561
458
481
620
564
68
777
723
46
668
971
954
665
872
309
390
600
449
619
34
282
662
995
122
439
62
214
274
172
536
997
187
203
733
561
855
254
205
291
167
674
703
978
563
177
400
152
315
43
15
905
299
738
598
50
206
23
46
1
664
89
260
823
109
620
932
634
409
749
917
482
2
164
635
16
916
888
734
363
302
60
385
166
743
99
572
320
622
221
138
636
665
507
831
65
857
437
24
169
538
343
981
516
969
359
916
988
14
296
418
271
437
809
276
576
248
934
47
48
793
784
858
127
784
771
115
800
376
639
373
870
385
705
482
921
788
268
509
394
226
475
139
901
697
934
936
994
87
534
177
646
279
323
1
588
626
458
830
632
345
586
708
602
642
779
858
603
418
683
660
927
881
381
225
550
6
802
287
349
880
563
580
129
126
238
170
372
324
183
214
267
840
501
114
932
694
502
164
411
929
174
128
245
783
111
987
904
454
298
93
959
868
909
700
218
735
709
587
923
56
732
227
413
752
873
525
627
506
812
891
20
237
965
681
549
481
639
578
354
385
90
552
109
128
855
883
766
752
968
92
186
498
55
194
658
437
408
63
618
365
788
520
4
998
258
882
314
600
256
662
75
791
951
811
32
219
292
242
661
512
520
746
679
887
169
775
653
852
864
651
650
111
233
205
814
854
336
955
3
329
366
237
179
956
838
381
140
36
869
230
983
5
43
756
504
547
667
57
781
846
281
220
780
182
188
347
224
781
997
784
894
918
789
656
580
78
372
795
293
572
955
85
300
717
393
428
322
577
654
678
842
283
730
844
654
122
503
33
549
812
169
743
219
903
903
42
964
428
932
675
608
786
245
482
559
903
660
785
847
850
174
579
64
156
877
248
391
707
773
457
422
720
27
733
134
801
309
148
853
912
136
890
687
327
276
144
718
113
455
474
393
528
393
219
327
557
888
424
258
476
671
886
77
966
284
391
276
554
186
912
646
917
282
662
293
610
766
246
539
556
227
497
852
567
774
199
621
154
47
783
787
325
921
86
750
602
101
90
308
10
74
946
300
387
349
576
44
896
211
522
749
40
417
429
195
354
193
93
618
907
672
927
663
864
468
922
287
785
563
625
993
956
122
898
53
391
817
971
299
173
795
548
688
37
636
647
239
556
585
481
158
233
102
248
315
248
471
454
799
142
861
987
737
944
182
509
527
701
485
896
506
888
780
95
132
863
228
539
667
961
930
31
250
907
749
169
1
927
218
234
181
783
621
506
733
702
244
869
219
647
833
285
416
542
599
855
345
598
310
714
432
572
632
146
471
557
438
851
848
759
600
729
829
4
602
379
706
256
552
217
664
251
271
555
945
649
393
498
388
564
853
508
255
753
700
659
323
84
235
429
212
932
191
192
699
914
957
499
395
772
632
368
819
475
287
688
763
424
782
845
816
858
300
49
874
624
634
98
502
566
246
124
547
690
887
697
43
929
347
187
675
517
735
361
430
814
706
577
681
426
364
858
936
381
617
844
848
155
384
270
930
666
28
872
457
761
589
985
63
825
709
483
468
80
836
323
209
15
278
294
802
979
178
948
981
877
596
401
8
565
511
23
249
381
546
162
275
763
215
407
407
398
145
273
279
545
410
379
438
862
290
624
191
96
862
140
443
975
698
478
323
442
983
832
675
62
867
332
462
897
402
480
177
370
549
938
946
446
822
150
895
252
913
871
86
882
49
346
741
896
335
863
164
143
676
312
795
780
436
139
99
729
577
881
770
742
939
128
850
232
67
161
435
217
772
194
986
809
232
257
451
550
394
43
392
795
312
999
461
687
519
973
983
354
707
937
939
672
121
66
485
92
402
912
732
180
0
433
709
415
449
265
954
932
560
534
401
938
669
993
52
740
180
643
694
965
608
791
842
421
455
927
844
943
335
378
849
602
360
887
512
398
331
706
739
645
482
775
419
773
498
740
602
351
936
217
736
522
351
41
643
527
273
720
59
306
283
621
862
760
4
55
126
169
67
686
429
206
76
583
575
972
317
987
311
818
613
390
421
176
249
780
385
794
642
910
184
660
542
58
894
200
843
54
630
239
89
173
471
874
75
132
184
260
621
696
941
895
926
382
663
62
360
571
633
413
107
61
903
809
856
867
623
168
118
13
550
683
155
280
784
66
989
590
379
662
270
13
376
475
488
102
219
69
278
161
10
104
205
999
383
774
306
993
583
106
1
334
637
280
894
939
429
630
11
888
269
835
604
459
97
842
801
99
182
530
246
756
307
38
779
708
480
98
24
979
54
513
562
937
977
523
236
55
957
468
761
727
245
403
197
764
774
424
711
911
611
321
369
599
173
864
933
875
953
744
208
359
126
986
72
92
391
728
20
717
737
183
892
952
390
324
571
592
472
468
304
649
45
272
887
948
111
426
723
141
727
732
923
609
646
119
491
800
384
827
931
981
603
967
428
736
86
886
313
443
653
952
847
197
700
935
767
492
194
677
425
915
590
544
524
322
872
897
831
598
703
864
629
335
797
690
231
68
411
832
629
423
311
529
582
61
240
507
971
158
56
765
41
387
39
438
258
370
635
635
143
647
825
526
425
280
36
49
408
633
388
248
421
690
170
280
572
570
847
923
393
935
800
895
241
894
975
423
218
159
196
582
62
58
170
55
985
366
783
655
634
245
413
235
460
820
48
484
239
50
586
521
519
651
552
294
645
923
727
424
325
705
48
893
154
482
76
252
180
779
494
31
284
3
841
293
950
457
56
359
438
787
179
336
45
950
942
371
151
644
640
412
533
612
900
936
277
669
150
579
537
220
213
137
438
745
441
524
470
570
290
171
387
168
63
531
292
158
973
580
810
737
812
939
599
533
453
47
412
993
267
265
229
804
123
140
143
943
704
939
966
858
589
79
254
289
474
201
503
814
848
415
96
4
722
735
762
531
217
248
971
518
326
915
707
635
785
227
119
34
816
800
972
299
274
560
551
957
528
497
574
642
514
930
115
759
730
746
38
790
788
522
848
907
847
218
547
565
344
812
120
525
640
563
537
679
273
162
991
394
723
273
906
470
864
972
727
996
267
263
327
860
502
843
68
101
453
428
228
57
116
125
511
152
555
653
471
891
95
770
776
417
545
290
807
429
223
737
746
897
138
787
960
732
932
406
510
799
423
512
81
149
640
222
650
499
651
516
480
427
645
161
988
228
889
298
405
997
718
781
426
807
587
3
487
45
848
60
355
843
221
543
484
815
354
692
970
418
291
490
535
753
685
891
162
239
327
875
550
178
954
739
271
421
252
317
128
254
494
155
976
143
501
767
436
958
844
280
473
623
116
176
209
340
987
113
136
341
611
957
982
493
408
193
872
491
515
100
647
791
292
115
35
608
14
137
99
649
328
683
433
309
272
328
742
485
826
661
156
458
860
716
703
487
942
685
816
588
551
548
317
45
364
20
35
443
851
989
993
164
500
77
140
670
884
300
779
848
664
256
447
262
210
66
859
485
782
378
108
471
440
749
788
686
745
933
704
625
433
977
465
650
712
652
297
131
671
425
246
636
712
754
155
947
712
196
567
129
151
329
447
854
58
643
91
113
247
364
362
868
950
33
555
846
48
305
630
599
658
43
108
343
768
98
235
30
62
683
205
686
289
625
12
536
642
422
300
290
645
412
226
277
310
640
524
468
147
180
397
964
67
140
129
748
604
229
30
683
832
146
340
354
5
453
614
930
666
498
147
193
306
283
547
353
793
910
736
308
858
166
895
999
848
370
593
831
306
110
375
228
671
704
87
986
933
895
892
971
210
208
498
293
506
628
448
135
865
219
679
91
573
662
393
443
45
116
577
951
38
149
200
561
984
78
878
152
889
566
245
314
173
775
427
560
972
128
135
177
400
109
907
708
197
692
704
571
741
693
725
541
856
713
730
504
585
111
431
779
525
408
125
606
958
267
538
648
374
486
966
209
554
174
771
684
793
412
700
311
365
79
934
892
364
949
410
242
830
612
384
958
659
204
452
532
751
621
564
369
959
145
578
672
915
662
731
264
729
904
319
893
501
462
99
292
425
962
513
50
495
617
136
836
920
733
307
690
26
201
750
84
152
638
413
862
609
182
396
263
511
762
684
698
481
804
710
958
577
567
767
401
646
248
437
952
775
833
246
841
653
671
767
461
783
483
494
611
659
893
609
190
110
598
334
844
938
346
996
558
681
880
188
925
634
639
314
165
104
831
383
469
264
308
92
552
26
525
583
561
520
663
172
375
203
85
503
975
440
910
484
830
666
787
63
766
24
650
316
343
206
835
752
345
963
56
597
51
746
219
593
601
580
34
400
625
179
489
694
655
763
642
684
224
534
9
987
699
326
506
914
93
849
616
566
800
144
608
121
810
960
933
848
696
669
298
966
586
965
61
526
942
260
157
859
821
165
851
213
2
902
608
246
480
546
714
348
257
873
881
520
1
278
124
333
386
382
1
199
151
454
284
488
704
418
946
539
949
593
380
946
38
559
556
978
879
580
763
213
765
614
14
10
131
550
130
943
861
722
155
632
707
630
106
142
526
496
80
660
258
914
683
879
709
373
73
127
133
721
872
41
430
304
510
75
105
543
124
319
866
399
386
953
359
489
734
646
692
858
401
396
91
107
183
384
860
995
654
146
759
763
684
291
204
520
933
305
467
631
286
287
89
39
347
100
453
47
688
927
161
331
450
760
6
134
367
845
39
75
891
172
363
285
361
299
225
927
741
310
350
907
35
989
338
93
389
833
56
907
635
340
544
103
700
469
954
893
112
571
704
582
764
55
860
945
32
152
688
852
512
319
423
963
662
380
128
350
174
657
72
252
482
230
882
472
767
127
783
6
113
109
915
842
959
607
495
23
590
237
906
996
334
747
175
655
637
310
393
590
512
435
538
482
269
395
863
957
772
780
684
269
304
146
749
370
761
30
687
426
214
969
602
323
126
402
7
8
564
392
798
942
978
136
127
407
799
716
2
370
607
949
276
255
741
18
20
91
66
73
649
790
314
701
862
647
232
4
21
862
493
406
829
0
317
859
492
751
758
36
289
345
388
578
566
23
760
190
840
332
650
134
926
227
862
951
641
657
69
698
878
97
925
114
159
91
251
127
637
756
212
148
861
649
573
174
767
825
354
402
35
725
691
832
711
406
977
828
835
557
374
501
293
889
502
351
266
625
721
785
834
124
318
571
635
977
250
798
589
486
574
39
193
781
913
640
200
958
72
376
122
416
849
102
838
768
858
505
813
454
851
492
620
597
603
953
762
228
188
149
591
708
462
299
105
197
47
649
342
117
346
70
735
95
892
862
22
429
588
574
700
74
822
838
718
612
557
509
221
775
924
671
77
840
8
113
737
543
600
496
571
543
818
331
53
684
130
289
651
442
973
25
465
872
640
189
45
673
868
779
981
153
478
864
281
792
518
255
545
330
198
79
404
339
83
59
700
790
177
203
70
882
5
784
154
980
723
209
89
145
159
444
470
85
751
603
229
74
704
10
573
203
673
32
203
528
483
354
920
407
452
576
155
331
942
337
715
240
462
136
558
483
691
356
794
1
810
886
716
234
743
76
977
790
561
537
490
799
336
710
715
797
978
870
413
713
976
421
868
900
884
626
242
201
812
685
306
432
954
59
39
663
915
466
98
792
931
668
249
810
251
922
205
256
710
171
515
496
575
180
109
47
57
139
948
888
935
761
835
351
784
435
471
443
607
693
15
864
174
73
896
659
404
252
933
730
282
793
976
447
319
792
174
876
438
622
558
454
703
23
231
603
699
91
383
226
258
946
895
981
709
505
377
173
251
41
867
916
93
358
723
83
784
270
101
485
244
488
255
69
669
951
687
261
416
741
13
526
833
724
253
634
930
410
613
557
809
526
227
59
225
459
493
809
407
835
568
640
42
936
428
745
853
895
91
573
591
481
888
510
912
405
163
627
448
322
104
294
345
633
276
342
839
943
72
348
396
658
659
554
127
872
283
126
911
250
786
659
282
316
200
97
969
739
438
755
821
444
125
401
596
265
68
866
331
338
839
310
246
352
681
172
277
785
272
428
135
315
307
396
295
748
928
458
0
824
708
150
891
449
284
276
778
420
866
327
431
769
890
519
114
81
626
927
920
994
710
470
129
947
499
163
459
889
170
617
770
73
485
263
238
787
27
981
832
347
643
609
223
888
725
918
147
85
926
166
963
733
944
884
973
938
330
146
691
892
674
650
425
614
460
712
539
590
235
736
227
930
96
675
5
3
434
229
463
754
987
462
941
748
284
466
594
428
119
947
845
718
507
359
736
68
287
304
338
707
523
302
397
414
265
184
241
961
508
502
59
164
979
509
801
872
252
222
741
412
961
264
464
105
956
716
186
182
945
653
174
185
318
204
634
769
362
230
24
846
284
299
189
694
679
668
772
442
486
288
5
758
432
698
698
19
124
352
768
270
770
656
362
358
54
409
949
508
68
191
550
368
157
302
758
214
65
997
369
826
694
970
43
567
817
856
799
356
391
542
74
714
739
400
366
944
82
465
260
464
265
469
139
429
650
207
723
616
590
450
495
796
942
508
449
891
901
271
652
591
216
417
160
570
59
512
377
670
524
364
132
564
469
850
355
254
356
303
470
756
927
644
101
233
896
214
91
806
984
956
104
663
290
456
289
139
88
307
766
736
624
180
237
301
60
26
432
388
243
72
256
223
553
648
117
473
296
870
817
524
913
505
861
958
629
93
836
852
485
336
647
648
838
522
3
745
79
679
610
577
445
348
316
532
185
221
886
955
648
38
861
377
907
930
334
226
990
525
63
819
180
728
609
905
785
772
359
199
277
571
232
182
380
66
851
88
599
287
631
915
976
776
939
473
930
868
55
350
126
984
126
161
611
98
161
642
664
477
666
633
695
920
394
148
897
308
263
308
998
145
961
907
714
275
423
664
75
551
730
950
54
293
164
412
947
236
743
480
869
231
22
331
313
7
91
327
73
267
156
794
374
513
587
495
758
752
518
720
449
556
105
642
951
947
478
843
955
659
448
302
759
147
789
155
235
578
385
283
400
407
46
835
418
212
379
277
409
69
767
331
309
712
744
172
559
40
254
912
224
435
609
709
681
57
794
864
972
768
60
711
608
141
30
258
860
796
609
628
936
319
451
401
146
39
375
960
330
344
657
616
232
662
41
60
41
634
662
101
680
409
620
187
131
241
356
846
676
117
565
738
324
962
341
127
476
901
800
568
148
700
479
933
328
911
125
255
529
860
932
828
816
452
814
820
660
980
352
777
858
483
373
252
830
194
837
282
596
884
998
426
346
679
477
995
78
902
919
438
967
815
372
69
594
413
882
12
311
52
637
243
117
834
784
945
185
785
341
802
439
615
906
263
771
710
903
64
627
493
45
611
7
509
12
97
157
63
497
889
162
259
101
604
62
298
671
493
906
389
220
449
251
557
306
281
697
363
855
44
627
748
992
278
471
486
134
316
448
299
463
547
405
806
607
128
713
178
939
799
357
924
23
615
376
519
813
540
959
868
408
241
241
57
680
139
163
530
118
888
122
442
35
360
722
914
503
343
652
931
728
699
88
833
322
249
476
880
257
354
304
152
617
420
352
18
708
858
876
487
882
701
83
804
381
101
660
419
889
36
636
119
656
344
22
802
289
821
116
429
396
63
27
141
611
391
542
786
856
750
439
560
37
432
488
314
35
17
483
550
858
414
925
812
98
775
220
8
248
509
304
480
797
165
726
830
936
618
711
532
512
125
980
617
734
512
454
837
14
124
899
651
431
524
998
635
156
548
38
265
470
555
925
352
160
581
688
692
703
254
324
433
962
633
86
108
349
350
385
961
59
381
342
763
471
991
829
993
652
38
587
215
132
982
813
9
829
512
109
647
588
899
472
861
593
776
370
606
651
797
863
95
589
499
398
563
379
206
267
362
638
240
600
974
762
314
951
149
534
896
271
256
396
957
376
148
142
868
697
720
6
179
504
75
732
936
591
834
673
21
829
541
621
661
642
547
600
872
247
246
871
289
536
299
684
774
959
310
520
340
719
372
571
480
759
709
511
80
585
138
358
760
135
625
972
978
894
459
920
324
536
933
176
553
374
852
842
952
379
987
44
101
264
229
56
844
627
779
898
110
39
106
746
691
537
675
28
737
954
790
429
683
554
769
685
533
228
598
138
819
841
351
66
537
835
532
922
814
332
584
500
293
694
927
944
543
909
597
960
811
984
39
505
298
94
869
410
145
929
808
198
967
974
972
983
456
702
916
317
628
827
692
387
977
674
587
98
995
36
187
389
427
915
756
907
136
210
2
624
428
730
334
622
109
207
688
222
446
127
18
637
849
35
0
98
991
842
316
977
619
208
789
264
288
937
733
561
246
491
820
744
461
300
961
811
370
371
11
251
640
824
798
12
428
914
813
883
273
651
734
782
388
934
407
141
428
21
206
808
597
49
557
973
776
918
598
766
509
312
471
685
607
180
482
474
789
531
478
802
734
283
150
845
917
602
178
4
328
302
320
23
454
426
571
87
586
332
624
857
888
140
573
978
307
15
754
134
701
776
836
806
176
799
445
891
221
111
708
467
93
136
199
879
653
267
106
25
758
768
320
404
761
572
734
453
481
560
310
757
643
98
647
989
569
11
461
495
695
949
365
188
830
174
510
359
334
656
608
77
729
889
82
75
530
943
933
706
654
695
737
868
770
356
982
94
179
78
951
123
928
539
332
983
277
500
528
165
810
977
340
303
226
599
210
0
669
354
387
690
94
190
519
932
347
21
140
882
760
842
981
756
424
976
550
724
614
132
454
745
437
462
330
145
431
465
470
563
968
734
803
293
41
421
955
507
671
475
903
512
411
342
80
22
330
166
113
170
288
452
183
61
95
11
602
351
162
94
328
448
322
843
317
133
383
861
706
426
194
309
82
458
296
102
424
621
611
573
785
581
502
774
844
183
975
115
540
651
879
322
937
605
998
878
298
606
908
281
547
364
986
553
113
669
129
423
751
951
714
682
48
682
122
699
649
671
127
747
203
766
547
643
964
972
60
319
738
328
413
522
45
957
433
311
940
895
692
813
426
909
547
524
720
751
272
166
911
186
586
996
680
293
287
386
440
709
257
655
728
347
13
424
366
661
226
582
802
606
789
620
778
13
975
610
955
256
860
379
325
897
862
759
759
431
762
271
137
215
671
53
443
445
184
28
284
273
424
756
882
271
417
157
924
155
399
395
78
681
468
898
700
931
422
789
276
711
512
571
108
695
949
654
548
241
23
78
263
488
223
528
160
593
465
781
961
43
419
75
747
480
394
721
377
651
581
43
439
456
270
139
967
760
781
385
253
3
401
688
189
449
579
964
740
715
897
542
600
795
71
863
76
58
777
369
453
334
370
411
772
891
296
809
913
932
43
882
186
300
46
432
462
112
896
418
108
19
474
192
142
544
855
753
179
583
647
987
402
409
569
728
298
819
823
184
12
745
43
525
114
765
847
142
7
544
532
761
283
331
935
654
529
287
429
98
228
286
624
26
916
787
509
482
195
509
163
841
113
950
361
199
690
829
868
253
119
295
78
839
162
737
645
45
831
157
990
115
610
253
804
233
911
80
294
859
582
740
974
610
663
115
345
295
898
683
298
672
261
293
241
685
130
966
234
689
475
190
672
428
819
525
731
494
535
541
866
79
458
604
54
191
755
627
948
769
432
315
624
359
109
394
300
139
811
430
212
761
389
542
367
115
38
788
308
976
215
0
736
172
56
836
282
757
893
66
785
167
629
148
287
363
429
602
345
576
58
610
201
749
241
137
305
303
534
266
110
501
115
894
334
681
990
449
376
419
564
957
654
688
18
724
838
610
182
510
411
320
38
27
893
1
191
821
362
684
237
32
464
174
184
536
463
429
127
656
647
765
824
645
849
674
999
26
851
487
699
32
833
629
528
421
930
44
13
236
101
198
822
862
813
772
164
784
216
268
761
240
972
786
89
856
884
75
133
443
173
69
994
545
740
948
274
909
820
838
837
678
62
447
755
915
402
645
950
405
229
854
697
583
527
33
485
805
528
576
176
162
426
373
398
786
15
279
545
429
236
148
621
926
310
467
640
578
270
789
634
574
860
871
306
674
32
483
211
561
718
837
239
659
837
672
439
51
871
509
599
584
676
453
540
613
594
766
677
645
249
908
995
981
548
409
166
106
581
562
686
531
46
529
36
279
228
565
37
81
637
883
448
70
229
537
100
331
178
150
527
46
651
230
101
288
894
559
412
439
373
26
108
772
898
736
336
657
758
577
565
876
4
197
446
411
539
764
954
323
985
257
208
924
959
858
224
2
578
204
185
47
155
1
740
776
259
980
281
374
590
115
237
539
231
287
818
648
532
533
503
362
879
935
229
689
698
328
209
203
692
58
22
613
643
139
392
993
403
925
341
150
186
811
701
566
94
404
982
357
810
465
324
201
500
413
634
260
404
574
609
700
689
916
624
344
6
345
503
770
1
885
465
517
487
58
125
792
18
470
415
436
377
889
697
650
747
556
253
119
879
433
463
373
319
778
204
997
390
406
814
151
897
766
53
111
915
630
852
6
476
335
509
318
916
719
470
106
304
386
99
772
369
300
805
945
239
859
963
249
147
513
732
729
524
550
21
736
916
718
609
354
478
70
381
184
995
25
34
645
430
612
876
271
8
8
313
254
531
660
38
870
921
614
471
622
156
894
623
0
463
248
872
339
466
703
171
201
665
368
407
607
773
331
377
526
693
941
383
735
442
548
361
28
317
704
793
684
913
880
105
906
800
106
418
106
656
366
83
82
631
907
683
907
849
623
49
686
839
807
337
824
224
923
334
335
178
670
528
813
588
555
927
843
22
279
714
588
681
359
740
31
443
250
998
77
675
911
46
114
74
581
554
966
317
511
555
113
115
498
181
713
427
790
3
898
57
371
576
390
344
45
226
559
282
727
989
632
520
530
702
962
951
484
509
877
148
888
402
722
882
66
51
270
421
315
798
956
289
474
623
880
127
951
347
883
186
379
236
637
768
428
393
173
238
127
461
47
108
100
280
592
964
866
674
735
945
507
632
960
843
508
598
218
718
689
827
796
841
170
54
265
288
584
763
162
151
141
249
301
998
639
425
343
78
690
219
158
415
724
824
29
887
68
736
522
676
643
207
756
175
599
25
377
427
261
148
803
542
965
155
310
430
169
616
376
358
691
614
291
866
749
890
2
316
728
882
609
712
426
132
500
143
650
15
240
74
600
206
305
647
907
939
829
242
946
655
72
539
261
550
515
81
709
374
615
435
440
342
279
650
148
514
147
271
110
938
448
904
177
417
364
763
963
911
796
159
322
742
622
801
129
131
916
435
714
262
658
278
554
803
855
478
723
678
730
385
82
404
735
266
707
37
787
818
103
692
463
422
455
431
459
188
873
825
718
333
753
295
434
348
528
402
759
511
342
420
558
865
433
843
520
963
391
187
668
514
244
232
391
851
310
695
24
96
466
200
915
7
912
869
321
829
517
384
206
872
743
746
97
640
23
60
700
301
415
315
351
70
48
564
47
166
793
961
868
893
781
26
165
12
397
721
610
640
323
211
2
598
78
150
364
702
141
741
920
643
982
955
7
796
978
902
825
674
163
403
363
845
7
386
539
969
336
178
771
676
105
368
645
737
700
84
451
179
391
81
287
350
237
754
262
822
459
240
239
105
355
286
429
323
960
460
737
927
642
937
636
983
490
49
364
170
910
744
607
305
915
267
755
317
250
943
730
772
39
700
480
701
900
128
561
636
496
697
904
71
777
848
572
261
838
82
498
164
821
971
605
755
176
96
753
73
297
863
213
947
82
382
587
105
861
286
988
170
94
958
241
229
780
920
107
821
388
109
608
662
111
980
816
682
868
464
25
817
148
498
9
566
256
725
395
689
152
934
458
772
298
374
263
978
823
836
678
612
97
927
263
313
840
188
273
889
727
990
244
127
237
844
35
242
834
453
266
300
93
949
358
827
121
492
656
815
506
454
755
578
858
691
703
813
431
139
540
460
974
361
220
244
317
488
800
490
572
791
254
318
152
621
285
702
649
21
639
124
962
849
3
556
685
766
184
795
348
696
422
857
242
613
78
866
697
365
55
704
742
523
445
198
176
650
16
521
413
53
434
357
417
489
763
954
819
651
386
375
573
227
95
547
935
987
881
749
957
484
501
765
786
745
299
49
819
392
683
92
289
550
723
115
878
108
549
214
760
962
515
44
791
175
822
898
485
581
674
238
278
263
111
999
396
175
177
821
401
290
498
206
692
542
271
662
60
867
433
313
858
869
831
324
787
607
302
132
106
915
459
113
299
75
199
589
300
272
478
382
739
40
47
395
934
684
114
573
486
110
703
585
806
145
864
708
176
435
429
24
518
457
481
806
812
521
485
357
812
163
591
920
774
994
54
1
574
277
730
837
699
804
987
134
947
428
136
405
57
26
358
244
119
427
983
110
123
477
402
820
139
588
810
849
300
632
221
379
82
789
590
297
252
144
719
724
758
745
292
576
639
737
445
542
751
656
620
202
647
627
877
2
523
996
148
426
686
15
41
468
501
112
381
105
693
311
881
525
658
644
12
317
759
57
817
247
956
217
452
534
906
137
505
14
184
122
928
391
556
805
738
66
737
23
504
427
521
771
432
483
802
315
732
53
999
343
707
710
508
646
389
123
19
873
763
123
428
623
806
118
315
888
587
854
659
289
208
369
125
580
165
2
403
320
671
40
655
76
456
652
944
752
946
247
7
970
795
409
636
751
729
32
633
61
377
30
319
788
855
86
425
635
67
936
938
115
962
444
364
728
409
394
394
699
320
580
338
618
921
750
144
39
592
626
332
240
135
160
788
684
742
60
522
575
344
390
879
347
799
619
526
582
147
563
477
891
135
65
936
357
409
118
199
771
112
498
149
762
956
923
980
956
787
696
489
489
306
111
916
584
542
871
93
337
891
41
876
75
208
417
45
293
435
995
896
299
758
382
121
255
265
10
260
207
93
616
767
354
860
493
121
413
288
223
403
327
647
286
520
536
342
668
867
725
396
604
793
620
958
904
90
495
329
634
200
781
364
627
664
84
176
538
989
141
938
229
922
75
240
946
524
718
21
921
301
867
597
758
901
129
5
164
540
251
677
927
776
547
515
51
754
693
59
621
109
704
260
205
414
75
152
878
28
775
78
579
181
148
775
261
117
58
675
840
70
745
319
929
113
568
426
40
737
421
756
59
724
146
944
779
706
780
702
260
379
701
949
219
988
615
12
911
206
824
731
988
464
162
836
471
899
88
35
443
655
239
167
623
104
202
565
233
196
143
633
342
8
890
409
396
818
177
506
779
17
228
452
114
155
804
977
915
325
694
610
64
46
295
871
817
489
388
310
320
226
708
726
813
910
868
926
934
631
742
658
291
155
995
398
317
620
884
691
486
799
163
355
823
44
610
209
237
649
673
989
902
634
962
890
402
263
777
424
785
351
768
461
137
800
173
187
340
89
140
858
751
967
956
366
556
579
672
706
22
519
544
809
959
920
129
579
382
543
874
230
247
742
696
844
799
77
373
600
563
926
229
471
351
959
66
131
722
998
601
531
193
322
804
198
535
27
696
953
330
655
511
480
782
183
992
433
571
785
640
310
235
908
515
68
821
751
576
937
382
627
661
284
857
0
68
234
943
507
168
393
928
234
921
616
584
293
881
730
648
475
737
187
321
72
981
333
806
208
533
994
903
322
15
497
928
586
759
839
35
78
470
676
570
658
341
757
440
975
534
174
814
445
2
14
70
98
381
730
34
435
68
319
668
886
689
917
632
472
92
559
635
217
266
645
580
94
859
297
131
349
582
948
358
537
158
798
155
35
416
783
3
256
909
575
835
528
748
175
536
335
803
881
853
559
232
499
187
389
990
583
73
193
965
774
969
893
511
907
46
89
563
337
672
941
604
417
199
526
970
797
47
706
680
232
110
667
118
426
602
80
551
241
502
687
131
825
509
118
805
327
287
697
509
986
984
281
867
232
577
388
348
761
621
406
137
805
228
36
468
102
366
210
229
635
446
553
480
282
866
89
854
947
95
575
56
75
34
485
813
413
410
726
653
504
555
240
801
87
353
345
355
387
378
676
616
712
495
663
896
461
559
45
543
384
930
993
268
415
358
252
449
914
132
335
639
896
709
318
156
757
418
89
862
211
196
577
216
413
654
983
817
624
114
473
152
542
469
18
772
959
368
272
883
540
868
984
5
707
667
928
87
76
51
212
153
865
401
383
211
131
152
198
71
694
269
208
21
877
234
901
459
404
405
991
288
905
128
53
739
479
693
770
914
29
67
901
782
805
415
584
55
638
18
762
6
125
845
780
734
241
964
740
665
319
892
58
517
137
699
227
456
906
646
786
388
195
376
599
464
593
957
914
889
85
41
866
237
992
201
663
680
259
131
418
440
835
598
654
483
848
117
611
179
730
968
621
780
837
253
16
329
846
892
831
829
216
892
456
623
992
83
464
409
463
427
567
824
430
494
157
35
28
536
664
336
471
214
482
145
2
956
949
409
294
452
428
863
551
216
214
737
234
162
770
408
213
202
398
651
765
534
851
320
214
832
477
290
471
38
440
878
417
383
365
290
186
563
709
669
795
216
92
741
846
28
987
309
163
232
339
249
932
782
562
325
992
0
191
590
331
778
924
352
604
530
786
567
757
914
187
407
381
289
178
125
534
745
643
533
433
114
761
791
36
135
343
966
269
925
370
727
585
783
530
569
122
698
220
972
147
460
97
395
900
202
419
247
976
691
418
79
629
505
846
915
614
778
513
959
227
418
118
157
409
644
741
517
522
256
743
698
14
56
15
622
492
937
690
425
623
655
102
55
872
975
600
516
76
54
351
727
235
916
591
326
669
197
249
821
915
290
508
740
146
753
372
163
106
698
650
34
837
298
968
446
455
322
873
697
78
989
935
463
900
872
805
58
588
250
814
242
811
458
371
898
52
868
843
987
360
256
835
857
59
405
104
582
36
205
343
684
825
658
180
933
721
668
867
338
909
331
133
789
528
689
857
406
310
160
606
716
356
55
353
30
486
711
6
925
937
895
995
621
997
357
499
654
654
689
721
219
345
430
12
802
867
88
424
404
15
929
34
154
297
490
430
261
557
983
505
900
28
472
621
414
442
224
967
551
665
569
125
269
566
672
617
578
815
230
728
377
554
539
82
922
148
49
868
32
675
326
435
248
993
558
34
123
933
672
141
432
281
195
24
879
730
903
792
271
20
300
415
32
227
986
880
341
374
936
910
781
909
314
482
895
663
114
384
961
794
472
231
53
930
802
533
768
794
143
677
196
685
473
712
468
64
44
280
714
221
425
177
837
698
440
498
726
813
105
293
842
276
829
968
206
143
283
578
878
833
918
147
666
552
550
863
343
140
127
518
816
208
176
720
535
850
951
717
682
171
325
356
219
685
664
656
372
648
437
233
932
491
824
661
77
685
676
307
180
586
383
70
985
183
623
164
291
392
606
175
569
180
348
848
791
487
955
368
535
921
523
747
974
800
589
882
880
730
306
801
681
363
754
668
762
220
893
898
978
293
890
445
574
997
837
70
548
715
769
698
252
509
926
121
612
314
547
282
849
989
357
834
243
520
378
187
992
289
332
780
724
551
668
234
869
699
95
86
238
287
808
166
980
900
705
300
697
161
74
362
411
235
425
717
125
370
910
227
853
95
387
312
660
812
667
54
574
547
466
658
192
220
659
557
154
952
109
918
407
270
80
697
346
751
872
53
118
364
740
985
99
459
909
409
387
424
135
632
947
330
899
762
302
767
787
957
284
127
549
36
813
887
870
88
976
217
783
9
107
648
123
965
489
880
800
91
44
804
350
97
124
154
591
514
780
112
36
223
129
110
91
777
16
51
241
403
20
808
832
899
679
352
404
380
424
994
5
276
587
295
155
935
999
807
675
453
465
407
530
315
226
700
415
970
216
433
684
183
158
678
541
871
284
562
133
150
874
24
772
326
297
596
394
226
170
522
249
495
854
805
765
150
807
20
816
177
542
372
843
811
180
546
456
677
779
512
989
911
299
189
926
149
147
178
6
835
330
543
970
451
487
765
723
620
837
620
851
594
969
951
992
563
131
365
0
372
894
503
718
449
141
533
327
270
249
307
107
265
977
932
242
918
21
168
771
457
901
104
269
15
294
554
102
653
522
167
843
63
192
590
122
422
592
648
985
263
299
891
711
132
148
743
4
210
214
381
625
987
440
1
106
837
432
729
146
780
23
230
134
893
922
852
32
706
725
487
393
0
961
819
632
555
865
207
371
695
533
763
543
243
20
918
20
154
853
753
282
889
976
759
260
60
757
61
961
896
380
299
42
535
325
596
269
938
638
777
917
666
687
668
847
949
377
607
429
798
717
852
179
777
916
117
587
424
415
802
217
865
979
959
877
359
573
607
194
834
896
102
450
589
781
966
339
996
149
18
755
730
400
510
39
307
727
56
886
576
283
895
340
95
688
788
221
398
400
595
416
227
238
29
624
455
856
978
720
499
286
101
806
746
927
375
741
363
20
780
316
468
742
885
127
595
163
510
819
260
566
320
753
411
300
419
723
108
961
677
897
994
256
535
949
818
893
650
914
129
423
961
444
798
310
161
168
48
936
318
14
907
173
721
463
832
820
882
467
1
969
167
470
97
678
57
996
740
899
350
140
411
496
507
544
784
913
889
540
97
284
624
322
452
594
167
517
796
123
988
892
476
552
96
369
5
204
233
28
194
665
749
921
847
109
286
422
609
96
8
757
725
84
922
689
216
169
321
485
915
503
314
889
210
795
426
964
221
917
293
103
4
451
615
553
325
267
788
800
758
279
714
157
8
90
910
956
999
327
378
240
329
596
742
39
842
969
99
933
338
236
400
137
451
826
682
833
593
773
13
504
956
675
789
60
2
156
16
40
976
679
361
313
379
971
266
887
130
734
645
124
646
848
305
999
911
990
923
801
112
850
319
119
144
637
400
949
867
122
401
392
81
301
926
321
160
124
232
278
257
496
423
377
379
206
438
353
254
84
233
206
855
891
346
747
891
75
419
486
35
251
741
72
836
291
985
206
619
465
451
923
224
112
24
261
964
729
660
663
17
277
611
976
288
803
885
339
767
503
787
817
921
580
450
274
334
758
761
560
7
984
337
222
756
52
656
31
827
70
770
739
767
362
51
264
906
697
292
209
328
329
770
102
166
784
572
518
992
968
982
643
28
463
216
690
188
128
416
321
819
26
349
98
322
913
947
724
557
23
316
144
519
415
474
54
696
734
917
120
121
986
433
534
762
9
118
726
953
730
379
450
557
945
523
312
893
257
44
921
580
902
519
337
720
702
45
800
183
344
940
73
489
479
481
883
164
424
22
66
135
909
332
786
348
931
654
905
262
490
344
401
986
498
297
388
411
212
249
180
694
662
812
663
37
332
487
221
54
269
725
509
934
305
603
124
715
606
503
120
93
198
274
625
851
312
993
301
119
635
454
314
870
544
610
827
913
422
547
354
911
357
377
240
909
646
705
961
809
229
582
755
599
307
285
349
555
710
634
535
685
140
172
604
943
196
736
867
871
603
353
435
385
328
686
206
96
838
488
931
239
288
619
807
536
938
225
566
962
380
680
557
49
605
934
350
858
538
57
154
365
797
433
10
878
774
81
992
103
594
62
354
24
203
633
245
925
88
40
26
452
43
640
944
802
139
707
929
200
902
674
962
963
729
244
110
961
390
265
928
649
515
865
370
543
229
348
186
642
482
696
976
85
518
970
777
432
119
389
601
719
729
860
167
566
583
482
904
339
257
97
631
896
36
123
983
888
371
242
597
178
738
836
554
628
612
483
353
902
606
395
573
647
728
233
559
119
437
488
154
452
459
184
89
485
172
318
495
280
43
32
812
298
745
350
483
390
423
198
730
556
926
434
683
185
48
748
812
554
343
758
429
601
888
829
457
452
687
61
882
647
81
928
216
802
338
753
238
143
222
829
109
559
538
375
310
421
880
958
358
380
469
39
991
118
701
862
483
995
616
335
680
75
325
234
208
883
890
469
702
376
484
775
100
775
759
78
247
774
359
392
853
776
522
245
549
172
491
393
512
625
38
805
268
482
48
321
507
971
998
417
418
957
891
457
366
172
766
796
722
530
639
757
565
14
737
136
279
346
583
893
978
761
828
618
481
705
499
231
632
465
25
285
317
749
918
765
300
947
822
18
993
399
198
861
946
627
611
363
9
643
971
622
997
607
217
12
497
693
642
96
305
78
701
33
663
753
874
707
105
267
946
461
658
907
359
44
881
157
928
78
571
107
553
88
912
325
967
478
824
9
289
643
765
397
777
486
466
94
656
796
638
10
546
0
487
964
675
354
254
188
893
185
171
476
864
604
603
369
839
419
563
883
505
220
959
648
464
777
261
534
846
768
264
129
838
997
707
367
487
34
381
748
600
927
602
711
183
644
307
579
497
763
792
611
832
482
532
163
124
909
412
844
589
47
645
641
59
718
737
145
857
948
144
376
21
722
19
745
174
721
348
865
573
992
148
997
458
937
907
384
276
904
415
959
22
891
662
456
485
441
178
86
13
269
432
772
41
622
392
628
337
133
501
297
355
904
631
332
244
843
994
899
717
906
234
493
610
134
357
790
144
902
893
122
117
763
65
215
637
819
996
691
643
573
263
550
250
107
670
386
488
50
630
39
401
756
388
556
932
150
65
215
533
962
750
508
225
336
473
863
739
82
36
22
70
330
582
7
966
805
603
281
763
526
228
366
694
543
684
95
213
891
908
195
517
327
474
624
429
299
398
18
967
90
379
512
120
359
343
151
157
27
688
660
900
742
552
802
752
435
692
866
159
703
744
233
98
84
49
193
390
344
271
319
485
493
944
649
658
483
781
404
324
26
808
597
689
203
119
614
714
486
389
666
462
606
310
636
536
859
522
414
336
755
360
86
759
198
506
182
806
774
538
794
431
53
141
380
798
686
717
946
707
97
663
9
727
865
369
235
223
113
309
411
868
276
140
556
979
463
269
699
507
885
682
321
597
790
262
411
363
857
220
654
648
846
502
722
431
138
46
490
829
713
615
260
426
162
7
3
15
619
360
577
498
917
165
191
58
936
494
127
725
900
487
968
943
667
570
382
542
37
142
428
919
245
401
455
754
538
388
172
472
511
265
747
691
988
110
774
260
317
515
935
542
641
227
295
239
978
377
268
710
471
283
290
61
528
854
49
587
363
160
17
249
158
655
154
651
128
216
589
203
786
247
938
905
949
201
443
766
965
56
194
811
392
183
940
34
320
601
335
839
15
775
676
564
942
326
863
398
790
23
585
116
839
40
940
758
553
637
901
284
586
362
7
566
259
808
578
459
966
496
241
250
320
166
359
562
655
990
321
242
972
824
321
407
697
748
614
669
300
971
990
853
932
265
413
721
348
17
292
175
949
772
962
367
74
374
337
613
962
753
271
752
919
395
474
371
567
30
889
503
474
16
628
24
223
160
689
237
277
701
403
808
682
726
450
736
884
476
991
424
645
451
15
588
779
732
649
354
484
444
940
828
719
703
665
744
111
806
766
829
496
396
50
758
998
987
723
114
50
661
393
224
285
886
447
149
778
268
18
502
46
79
579
425
280
708
957
437
829
552
977
549
437
554
107
17
622
315
258
574
151
740
662
93
461
775
71
410
27
189
750
560
432
361
746
747
545
912
566
901
304
544
909
47
717
345
0
238
286
671
421
302
360
936
755
314
803
507
985
896
893
724
349
499
876
403
198
478
81
936
852
535
673
433
609
359
498
281
791
871
570
573
371
720
303
770
982
51
21
208
838
890
953
645
224
95
674
532
895
833
928
72
663
27
790
391
306
902
892
458
388
519
565
504
248
418
923
386
667
915
899
417
47
417
128
20
600
216
297
902
35
407
856
491
956
661
357
735
655
622
838
356
814
916
504
273
7
539
410
567
958
886
229
199
660
381
125
733
152
432
122
699
701
433
253
329
763
31
827
758
113
564
759
264
49
84
452
432
889
961
838
264
139
46
637
785
798
60
414
475
843
334
953
530
455
741
120
704
81
426
869
844
95
305
471
865
213
632
658
206
755
193
157
2
104
668
72
567
247
425
909
94
632
571
930
5
671
537
912
369
869
731
653
213
883
593
262
765
19
694
727
70
416
344
273
588
639
542
718
429
59
170
679
302
806
757
264
179
966
986
622
181
787
80
948
995
56
50
927
126
791
40
911
696
441
668
375
416
241
958
55
928
981
649
319
200
359
464
468
853
564
122
853
500
12
383
714
753
646
559
277
738
652
277
21
78
680
953
401
519
640
580
532
887
74
978
272
22
442
345
639
685
896
619
346
986
325
345
455
389
975
626
341
871
915
197
734
492
276
585
35
870
707
157
642
144
978
525
437
871
51
229
726
969
863
701
499
786
816
497
888
620
850
386
778
536
772
234
684
17
881
561
707
561
493
166
354
830
517
997
129
693
503
69
726
863
285
569
361
685
170
776
459
774
361
290
215
39
486
451
501
238
902
287
272
583
951
114
639
494
219
693
274
667
89
535
520
30
516
226
917
152
245
571
548
704
585
899
37
383
588
292
883
273
723
643
906
100
243
543
54
98
593
436
308
174
708
448
255
719
984
835
149
545
326
857
474
547
91
250
903
999
964
139
146
237
387
464
755
141
0
880
991
98
376
196
950
988
990
289
80
938
728
870
551
12
363
64
638
524
49
698
142
72
161
197
303
758
225
336
749
493
949
931
832
860
838
403
632
565
499
480
349
881
226
766
501
361
828
667
358
204
447
505
230
368
392
953
788
378
614
130
366
844
548
620
766
42
156
276
516
832
815
280
889
707
920
833
743
98
136
751
460
745
385
396
632
73
495
450
737
234
542
257
915
735
199
782
943
303
988
0
376
68
287
844
339
644
576
482
397
248
493
666
507
993
164
422
633
425
557
75
433
819
830
844
52
96
576
967
543
842
908
570
163
580
354
797
81
631
894
193
655
670
810
79
771
445
710
325
517
470
742
998
18
138
619
586
421
96
631
804
529
572
295
374
68
239
801
80
750
762
863
191
534
35
470
989
821
196
89
199
405
249
107
311
696
269
256
689
432
387
947
741
885
310
152
988
830
916
636
115
37
501
788
958
279
718
8
909
987
888
559
983
443
461
436
156
613
640
135
818
179
352
394
266
865
861
461
456
569
489
135
653
868
723
369
966
891
372
716
441
937
958
427
582
392
242
742
966
841
449
702
206
62
710
143
845
604
615
854
781
890
761
627
391
220
515
521
233
695
555
3
196
685
626
988
962
540
401
626
498
14
133
574
530
894
717
460
318
662
674
656
992
151
965
52
547
288
988
961
32
661
337
315
183
388
733
916
470
974
954
482
556
430
264
304
299
956
141
347
109
120
601
995
961
588
982
362
496
24
436
288
774
661
795
344
963
828
825
347
608
653
966
878
630
741
933
407
79
722
411
69
983
100
229
973
36
123
726
969
278
78
162
911
534
778
469
432
176
964
536
755
568
707
360
488
700
453
772
892
749
274
787
692
83
74
939
397
702
366
956
990
305
472
466
692
875
245
702
337
172
76
366
734
919
976
670
229
505
532
822
96
947
880
664
666
760
470
866
369
790
464
502
9
355
43
231
275
994
986
450
101
864
824
710
151
967
425
197
937
442
345
36
249
405
297
30
260
803
441
28
406
243
879
813
367
183
621
909
567
616
236
164
251
869
802
841
950
905
960
265
975
170
754
547
783
246
88
599
952
341
834
246
958
902
406
507
645
622
620
984
904
562
271
877
512
787
906
979
288
258
64
661
509
654
839
513
755
640
201
97
460
569
486
34
49
949
200
21
558
422
266
35
742
924
28
871
735
470
15
309
226
335
824
88
780
430
597
970
722
703
715
119
349
551
624
189
665
778
11
66
176
57
795
242
43
383
923
914
169
207
538
126
295
881
442
869
258
293
597
543
12
192
340
722
525
656
546
344
717
296
1
273
616
648
648
741
665
712
601
307
261
695
386
407
621
726
437
626
763
261
663
75
431
353
423
761
814
883
998
586
637
424
608
170
852
930
601
440
150
60
449
892
343
726
427
416
246
599
936
126
843
826
804
133
809
274
430
505
647
209
261
925
207
786
603
607
285
957
99
472
691
394
710
845
781
413
735
593
662
426
105
650
472
857
508
962
477
806
729
728
143
567
768
921
372
756
424
153
262
107
215
403
421
5
679
654
271
13
17
336
855
297
392
323
655
503
532
356
548
961
880
967
335
383
669
498
989
796
231
728
326
770
85
323
426
877
223
344
446
67
277
201
260
309
232
305
825
516
690
443
621
491
706
83
882
571
255
442
895
810
642
931
185
73
599
763
610
511
895
941
972
511
184
670
59
431
884
868
794
231
513
865
9
148
794
752
693
161
892
318
784
820
475
874
236
280
782
199
775
241
918
794
56
309
727
454
602
518
5
586
129
214
320
342
317
472
63
623
961
681
794
230
823
206
325
766
202
67
969
797
789
309
497
295
304
367
600
425
897
856
149
387
909
94
309
707
267
604
293
883
552
508
159
487
6
444
290
41
335
365
874
81
138
864
241
713
379
654
740
224
216
870
684
727
954
262
544
360
122
202
197
472
850
832
480
417
357
73
722
658
432
143
435
362
293
879
560
845
313
908
776
256
743
577
253
50
845
157
257
113
53
824
248
180
360
629
284
555
93
966
107
1
349
852
151
68
140
28
813
842
719
480
10
503
260
729
60
945
126
532
678
54
725
987
317
378
14
684
46
223
225
236
721
507
650
332
27
409
61
830
647
175
937
925
438
229
157
234
928
196
870
913
941
579
169
735
502
693
768
663
424
600
330
532
587
427
565
929
328
766
71
969
509
789
993
188
42
59
80
544
801
822
413
14
153
523
410
101
651
945
89
800
856
558
177
327
640
853
118
714
236
861
706
578
399
294
275
9
318
39
823
760
56
970
944
38
42
63
516
169
280
390
727
85
872
258
139
977
656
216
563
794
939
787
473
996
139
452
92
511
906
619
460
208
686
863
79
826
903
684
579
849
592
114
99
227
568
419
139
650
244
156
196
174
281
821
450
164
354
196
817
592
603
384
681
365
41
759
948
171
119
884
753
757
495
481
856
3
716
81
509
542
778
545
415
291
212
802
547
448
643
869
829
738
9
182
297
185
516
308
361
560
134
747
622
291
871
906
115
628
4
855
339
999
52
315
822
902
605
881
283
363
275
132
258
162
2
673
435
107
514
32
58
158
505
197
339
639
368
530
333
50
724
283
977
574
670
857
477
573
677
143
919
462
90
703
325
906
188
406
948
907
782
79
815
29
804
269
633
640
358
596
221
516
331
548
567
707
764
331
61
596
428
572
182
64
31
211
475
871
709
400
879
492
211
970
839
849
342
149
480
959
76
144
837
137
694
304
447
886
663
77
11
160
355
620
874
727
211
561
240
10
20
643
646
710
703
93
289
309
488
358
770
765
989
350
915
902
928
192
378
15
312
213
896
532
396
930
455
327
762
508
888
595
275
854
464
429
47
771
210
213
530
804
436
170
943
277
405
196
546
426
974
688
543
769
934
888
214
787
133
38
330
21
920
935
290
348
510
683
665
31
757
872
502
746
544
256
506
743
230
616
645
854
561
246
560
686
126
185
574
541
63
444
309
181
719
344
969
553
814
940
202
373
329
360
871
245
108
773
454
665
205
558
559
352
916
748
771
868
84
676
575
821
890
5
972
867
654
0
193
372
254
61
827
962
790
92
992
236
365
242
188
940
411
455
38
913
407
140
416
442
794
582
657
990
109
720
699
1
914
165
583
705
119
970
363
632
46
952
211
871
699
2
381
369
910
383
389
441
361
836
136
269
7
442
718
706
735
280
20
246
460
827
943
346
255
223
911
670
719
903
277
789
837
498
866
178
477
471
355
373
453
150
471
265
747
921
312
843
225
3
411
455
939
978
105
576
384
226
295
825
407
383
693
660
18
271
153
368
686
344
967
90
278
157
66
86
290
318
843
223
556
252
971
709
376
384
3
0
998
690
657
785
137
367
215
55
688
739
13
148
916
501
323
674
229
532
393
70
263
883
22
85
967
233
549
941
645
154
899
365
699
963
915
226
978
67
837
777
404
112
414
632
939
335
637
669
31
222
905
416
506
287
679
357
404
452
412
116
158
168
838
810
200
322
8
947
728
980
24
960
77
968
62
850
848
170
875
351
856
758
551
510
711
32
526
370
24
184
512
65
0
953
675
29
828
43
190
581
221
895
957
987
300
554
783
292
217
841
755
771
391
275
175
675
724
404
422
492
420
790
184
582
136
423
169
635
424
867
75
607
172
670
910
474
875
34
575
975
813
92
964
767
254
739
204
464
504
302
839
589
564
653
641
448
691
684
872
751
55
156
594
836
415
92
480
511
283
786
321
407
80
484
848
963
202
690
517
371
368
911
639
395
449
423
223
427
542
981
668
953
757
86
455
971
788
639
598
226
903
500
315
745
292
954
123
696
301
636
725
855
946
394
431
494
58
534
983
846
193
379
383
293
0
50
758
932
223
188
59
352
590
567
32
150
492
534
732
442
678
871
937
261
751
402
360
432
709
928
795
272
233
523
665
908
625
260
458
276
608
262
698
219
551
431
667
501
257
676
212
289
864
333
921
185
394
993
29
927
222
86
438
584
804
453
743
645
142
731
320
267
67
863
638
15
131
989
750
56
552
575
97
247
40
629
151
559
620
744
441
267
791
294
555
171
514
103
601
395
869
882
910
715
928
952
933
523
727
499
345
355
953
251
534
864
981
628
330
164
932
274
342
549
244
412
582
32
464
250
502
698
93
597
498
465
378
353
198
166
43
234
343
213
986
571
870
645
515
549
191
363
27
339
990
345
601
444
596
858
78
289
830
215
58
417
989
764
505
958
213
540
690
819
55
348
156
318
756
969
134
431
588
318
816
499
261
980
714
745
401
77
609
861
171
779
848
313
135
47
168
970
212
964
677
998
813
258
148
979
642
252
103
771
883
71
705
786
675
857
11
301
37
725
647
702
585
415
558
184
766
895
135
387
136
377
644
939
201
774
274
306
57
651
248
377
792
711
702
201
478
9
977
470
894
552
986
11
324
350
754
737
586
938
143
954
766
281
759
128
223
237
728
525
978
100
275
622
111
894
672
464
396
693
627
867
77
775
245
32
118
705
669
207
226
512
75
802
910
595
10
113
585
634
317
735
683
162
485
994
311
259
402
485
203
973
801
808
953
562
780
91
715
480
790
687
508
240
663
590
154
114
604
470
456
28
165
660
105
326
474
511
646
956
400
365
619
377
814
172
816
501
197
422
41
345
682
639
314
171
429
127
481
154
574
73
49
961
625
949
960
209
699
87
858
644
434
94
867
624
549
700
876
606
255
703
14
36
208
178
6
185
320
852
194
782
634
320
121
756
899
79
692
231
290
615
335
315
292
813
93
666
266
710
873
872
808
954
828
800
3
390
975
376
46
773
30
669
27
919
472
957
592
965
446
434
521
574
38
710
514
272
361
443
598
107
12
755
957
598
862
123
837
246
63
892
352
63
372
874
826
251
743
765
945
448
689
235
481
127
739
47
963
225
72
848
513
505
633
419
232
770
821
923
287
661
133
671
876
800
847
854
615
58
642
977
555
643
166
879
636
98
94
168
632
379
957
868
687
494
461
861
55
78
684
523
64
623
705
600
12
367
584
133
228
340
312
783
130
841
191
920
784
824
921
677
577
544
862
446
413
63
13
855
90
582
101
16
509
30
371
383
938
378
48
808
876
148
868
746
254
977
892
665
522
675
994
104
176
361
104
189
545
541
466
141
889
169
943
206
907
825
679
203
940
688
914
763
664
653
666
90
189
637
948
632
757
834
695
658
69
855
959
95
33
508
724
15
99
183
498
336
332
730
277
565
172
763
781
238
496
282
872
137
301
466
929
529
436
940
182
821
89
475
239
914
472
888
438
720
446
28
458
124
826
922
50
352
865
832
303
120
279
83
621
453
885
558
155
378
913
930
47
326
828
150
634
297
738
98
474
731
783
65
779
325
632
189
662
887
413
340
890
756
838
491
463
946
57
775
148
501
424
846
223
742
559
757
794
532
147
313
839
939
295
663
678
832
559
686
10
922
891
580
198
49
613
948
739
334
96
7
966
996
111
341
407
146
374
751
341
340
315
634
510
981
260
930
970
467
107
853
229
685
199
690
841
850
64
448
947
577
500
405
505
393
871
322
202
918
179
6
382
515
132
104
404
60
957
940
937
677
801
153
495
570
760
863
516
181
929
900
457
942
767
763
166
960
648
836
576
725
798
412
136
582
691
853
983
264
999
70
944
565
18
463
703
524
38
288
786
889
974
872
926
988
472
918
428
402
706
388
342
799
206
199
292
108
750
554
939
842
729
326
248
232
910
67
52
372
322
724
214
811
218
412
215
737
855
624
105
946
960
774
735
119
603
997
977
82
928
304
173
234
573
2
779
397
176
462
451
567
155
801
791
174
379
500
324
943
710
184
417
279
141
873
30
378
897
522
817
66
868
670
34
243
894
759
424
852
912
108
10
878
120
491
228
419
909
136
801
805
320
282
916
353
911
923
582
915
203
898
918
787
580
500
832
351
763
108
842
501
969
0
575
690
228
929
91
709
117
304
281
285
543
913
452
377
305
932
944
519
959
548
378
936
689
106
698
366
708
953
532
196
230
663
527
837
39
438
444
285
690
292
955
902
399
348
17
798
535
183
824
25
781
776
882
901
167
952
383
40
500
604
991
554
56
863
276
591
757
777
39
696
177
772
278
855
366
313
172
527
484
858
885
661
191
267
872
41
972
443
4
652
992
115
97
435
436
684
324
892
148
591
624
745
93
921
138
438
616
384
977
48
334
493
576
964
893
485
979
159
623
279
436
245
553
380
220
672
961
962
877
450
288
600
606
304
649
732
156
412
628
726
68
126
418
737
251
107
846
34
665
771
787
94
507
9
27
410
90
14
563
306
560
817
872
965
480
701
444
437
37
419
482
868
812
682
430
385
759
40
738
743
637
825
835
735
552
343
690
348
953
804
158
73
244
289
372
509
668
844
466
188
645
904
265
949
388
587
366
688
208
212
673
830
765
287
871
593
331
350
893
458
220
997
351
573
202
380
226
642
980
572
249
513
48
602
776
631
28
640
733
857
433
890
10
555
481
730
241
858
968
536
602
252
819
931
430
535
157
512
727
659
287
211
311
255
634
124
166
40
627
900
815
245
139
801
828
339
502
717
669
355
135
570
33
37
491
713
320
922
474
543
842
581
210
40
869
636
562
566
267
362
345
929
934
310
326
251
425
60
171
225
750
952
404
381
754
49
387
890
953
416
245
755
911
923
983
785
149
747
790
473
162
844
802
754
33
841
363
77
360
135
619
697
992
798
266
346
948
485
800
433
749
906
578
971
630
589
911
88
793
913
18
659
340
742
549
936
911
31
901
40
951
964
87
494
817
615
426
799
643
772
405
141
190
710
747
638
166
320
808
338
272
259
930
88
820
506
862
228
785
476
456
441
405
121
46
465
263
339
995
962
848
741
227
63
307
138
52
405
620
305
659
278
202
249
55
817
236
205
577
453
730
835
966
592
780
648
194
927
649
642
985
451
730
228
524
698
384
531
575
450
672
325
223
771
160
275
238
668
809
795
841
847
475
410
225
690
151
338
539
163
781
427
921
457
391
453
783
304
381
571
237
302
12
569
214
748
280
933
224
486
399
511
68
655
219
677
202
156
534
925
319
773
855
215
398
188
917
875
412
718
750
836
632
30
214
195
498
485
383
920
960
828
580
546
676
921
135
269
695
924
188
450
235
473
391
585
372
111
82
913
716
187
46
903
530
784
740
912
752
534
603
489
974
104
422
644
728
270
666
331
435
106
26
955
720
178
87
949
549
369
558
65
945
219
446
130
777
462
433
387
908
702
371
669
910
389
692
991
357
409
85
478
965
596
648
280
996
93
220
884
901
664
19
995
404
675
844
329
665
351
845
917
107
831
507
846
302
331
864
673
782
476
167
38
302
580
742
120
341
856
70
863
726
857
935
479
379
699
692
294
372
125
952
246
4
321
801
982
34
336
783
302
168
32
96
894
486
680
747
858
308
692
113
222
322
928
264
877
402
167
644
317
640
444
134
188
465
889
234
543
527
953
245
814
689
244
411
372
379
319
837
766
756
394
545
806
145
853
496
963
407
723
795
668
235
234
742
651
619
983
51
123
74
478
754
255
502
215
172
577
310
988
673
216
233
25
924
304
926
903
29
720
846
41
716
800
627
706
75
549
476
964
29
524
642
798
761
670
65
786
325
473
190
918
682
661
980
186
763
342
837
609
161
204
510
171
483
505
66
935
508
266
23
281
850
545
710
436
763
848
913
595
833
752
232
639
60
740
615
227
772
798
53
184
196
955
187
30
635
400
782
86
893
774
213
538
132
942
489
976
474
887
590
112
108
803
595
240
432
319
991
174
162
350
967
105
843
497
625
965
330
850
859
128
902
904
673
605
414
928
523
309
514
676
494
272
716
95
800
240
68
854
59
716
484
613
642
665
492
568
798
895
860
94
400
930
30
16
397
588
276
779
267
792
123
512
14
257
589
354
357
462
214
621
557
216
401
6
772
797
813
460
176
672
122
651
649
31
402
511
945
427
532
837
211
904
101
234
291
176
199
140
142
169
758
203
392
294
193
483
186
980
450
539
935
204
567
467
295
417
291
89
480
781
473
78
122
222
516
506
265
193
480
842
241
310
431
236
103
736
661
378
926
526
37
28
987
928
641
48
33
401
309
852
558
138
986
246
123
514
19
387
480
105
560
671
673
455
861
395
17
956
401
887
923
858
404
725
340
351
469
856
487
916
476
963
256
464
290
109
42
689
939
972
542
845
829
2
178
411
651
576
676
900
273
852
609
367
555
355
357
442
486
909
912
716
110
120
218
531
332
541
904
212
74
520
447
64
601
368
488
335
647
941
678
537
606
807
477
379
254
14
703
557
815
22
504
171
225
462
531
189
342
57
721
270
104
770
90
483
340
85
797
537
382
55
853
762
217
688
329
88
793
414
313
889
620
764
404
801
353
899
665
973
292
397
336
417
944
678
75
853
952
769
226
480
329
996
191
140
187
194
598
948
190
317
816
830
400
187
463
72
168
238
39
714
351
445
905
526
935
68
429
623
663
101
771
202
426
197
285
88
429
128
248
864
173
824
695
73
826
854
694
674
178
179
759
711
568
34
682
798
561
607
903
676
46
956
198
405
312
878
4
35
323
534
82
112
679
137
476
514
866
548
316
117
698
114
406
465
714
466
711
21
28
349
984
351
136
760
204
353
997
694
810
200
311
331
966
622
110
785
248
458
749
283
22
378
125
685
158
530
847
376
737
714
302
290
727
659
865
476
661
616
652
766
649
834
810
828
521
552
523
79
413
266
226
530
383
613
915
404
204
990
600
143
493
639
896
715
662
886
293
924
619
716
868
769
313
282
878
986
178
97
877
250
414
227
989
767
970
10
187
136
86
720
524
666
453
104
455
730
322
600
282
817
861
333
348
438
322
648
95
827
13
252
979
585
504
509
837
74
561
576
472
435
765
987
204
462
817
595
809
213
16
723
25
757
412
918
284
646
501
440
139
856
850
858
218
972
740
323
306
884
447
423
493
477
514
125
338
943
606
233
130
936
918
815
784
618
123
211
683
171
698
213
721
757
966
791
241
522
631
606
589
172
856
551
447
963
160
334
903
31
666
579
290
654
270
790
261
737
44
583
661
904
464
424
149
103
33
694
132
977
477
288
751
226
292
733
940
345
650
307
927
148
516
102
300
713
410
265
796
333
354
251
854
359
472
397
984
473
959
221
860
973
932
71
970
801
831
960
932
575
88
64
74
734
397
783
273
19
663
599
633
610
927
710
396
194
702
522
39
933
310
514
110
799
710
157
31
77
325
640
753
774
365
593
859
470
552
738
607
583
189
41
671
515
742
926
649
596
259
94
777
968
876
108
259
696
502
401
699
158
562
953
223
52
264
737
763
5
878
925
138
503
422
887
697
131
887
98
348
154
647
695
723
771
42
792
200
587
8
913
660
654
920
156
289
132
343
378
445
733
235
781
543
104
946
122
815
635
231
883
381
31
859
236
796
31
465
815
790
459
753
766
196
673
934
217
602
569
244
42
278
544
868
454
545
171
260
112
864
446
58
523
712
744
338
730
319
653
215
792
298
872
837
5
477
412
168
80
373
174
124
826
430
25
746
121
776
542
112
643
782
362
618
804
47
209
892
29
504
761
517
381
269
55
438
432
150
934
318
529
654
124
476
11
689
713
367
411
281
536
492
230
272
427
199
906
173
744
398
528
677
892
683
514
335
518
227
639
180
73
37
657
856
669
380
988
58
404
934
139
809
839
966
882
908
793
685
163
280
901
452
129
612
619
711
525
536
750
206
53
454
521
176
49
659
534
405
760
279
8
567
889
616
529
498
948
459
886
901
374
808
950
881
229
373
273
571
917
793
843
758
894
780
502
95
386
379
472
875
799
712
369
605
26
354
142
100
287
707
564
533
756
240
481
524
253
473
423
374
29
897
643
692
585
770
679
329
975
561
917
614
747
353
771
916
570
874
989
342
874
734
328
83
336
303
18
530
514
653
274
459
858
198
221
441
410
965
406
952
950
296
55
404
34
956
935
300
278
507
309
316
916
763
14
626
589
495
264
935
813
655
508
434
763
718
812
110
469
459
987
885
389
758
962
775
389
963
226
343
126
163
392
555
398
341
507
974
968
743
164
281
826
152
730
226
483
690
734
813
242
773
469
53
525
637
92
873
76
411
741
274
296
465
309
310
177
958
342
245
352
657
804
156
34
66
901
984
781
170
68
64
678
672
510
489
202
930
813
296
582
747
377
644
951
205
506
854
445
260
677
922
833
261
92
308
494
448
497
404
341
812
259
361
256
102
2
785
511
235
714
757
828
684
667
670
782
868
574
82
42
653
289
691
51
476
43
239
350
91
772
909
598
785
716
338
818
408
521
770
565
392
75
769
920
776
847
260
286
86
263
64
635
331
304
502
444
120
286
676
175
303
116
303
672
93
729
205
123
185
652
577
962
173
16
290
904
622
96
949
150
816
770
788
115
832
59
442
923
85
80
564
240
561
232
517
444
963
672
374
41
566
221
913
473
677
651
317
664
504
242
210
274
212
321
85
397
910
995
662
515
832
574
309
614
232
544
232
113
860
659
809
978
778
488
318
330
220
595
227
558
122
651
160
166
744
275
439
582
262
260
336
102
589
761
197
527
421
610
476
679
717
875
623
637
450
265
804
498
72
104
592
640
871
490
323
693
815
809
370
392
120
778
862
108
472
409
746
279
572
271
253
572
82
829
531
772
340
496
399
612
496
702
329
782
914
814
949
988
620
338
483
422
925
953
436
509
5
424
869
507
859
21
418
20
157
297
354
891
87
372
74
636
196
275
165
589
873
239
406
14
808
681
396
443
223
27
108
569
43
538
247
602
310
434
631
938
498
815
657
70
573
4
748
332
98
305
58
40
276
789
403
148
755
206
167
420
971
568
467
181
766
964
449
110
110
843
871
651
781
948
430
146
502
233
957
984
189
778
342
797
311
5
229
137
424
368
58
488
180
239
836
515
817
46
405
787
497
893
772
717
125
604
13
661
15
257
664
793
823
8
933
793
960
794
470
85
237
211
121
284
636
825
234
424
601
507
110
766
632
540
251
817
637
890
490
667
69
608
864
492
145
247
773
183
839
757
701
665
503
724
397
824
349
327
483
426
830
581
58
44
484
471
147
48
434
914
555
147
726
284
115
336
611
946
327
988
815
196
721
383
196
563
924
869
276
272
63
668
149
336
177
818
940
897
58
987
495
166
55
49
989
497
353
694
785
771
513
823
336
675
489
960
323
701
966
610
930
791
151
150
540
303
166
399
227
752
256
685
155
404
520
935
365
972
521
682
699
179
896
8
153
466
410
327
955
889
203
688
904
482
408
84
472
104
760
643
465
711
880
583
352
531
719
416
119
889
555
489
312
372
185
498
663
785
617
163
2
870
404
501
366
17
510
59
469
437
589
213
765
377
972
708
514
306
327
433
462
188
856
98
320
721
77
208
635
242
248
475
283
562
445
224
987
938
56
468
481
339
122
210
700
526
860
827
623
92
102
713
843
600
758
515
786
769
848
718
334
256
815
875
393
410
198
842
704
681
303
42
996
507
883
123
334
372
886
852
765
409
644
124
619
684
760
528
266
957
927
418
643
717
682
368
558
231
822
949
921
207
922
354
266
731
361
150
719
188
632
486
790
992
153
466
982
210
685
365
509
472
937
124
590
708
796
528
494
671
445
863
417
282
908
87
640
480
708
336
165
431
496
772
652
200
677
931
827
165
697
538
816
276
859
122
486
676
370
242
970
88
970
39
913
678
575
597
322
504
514
875
196
108
346
215
999
747
135
455
856
570
409
228
354
161
529
222
581
8
897
183
551
429
624
489
347
219
150
923
843
983
999
647
412
673
811
932
238
538
89
421
278
25
483
604
496
55
475
991
107
590
695
734
310
300
146
823
211
742
505
777
452
137
527
612
377
319
187
66
397
213
498
384
839
506
924
506
196
577
703
484
577
456
384
323
454
933
604
169
723
500
132
331
387
475
708
96
495
643
922
833
314
390
389
864
761
468
110
911
595
530
239
997
927
145
272
178
53
61
401
501
12
859
518
26
498
188
748
323
443
521
560
329
71
144
767
830
768
918
231
275
95
55
99
931
926
145
864
724
825
323
901
718
556
246
591
106
933
248
224
553
156
869
407
194
165
232
121
792
323
46
938
569
973
94
393
460
485
683
467
891
883
542
642
571
150
154
93
713
137
720
729
750
541
366
224
570
215
726
303
161
124
551
143
927
994
521
538
957
884
245
486
267
357
107
776
158
986
98
121
279
828
667
327
163
972
308
140
131
324
216
139
879
128
514
914
351
642
993
402
745
523
437
63
828
30
715
116
126
806
41
381
380
830
791
967
362
678
187
608
304
452
87
124
523
907
40
866
7
445
10
418
877
373
718
714
776
75
551
594
225
636
598
344
103
12
137
670
718
170
942
582
295
942
995
102
373
85
806
813
834
362
96
119
969
266
524
892
220
676
134
700
612
789
505
193
615
383
993
120
68
229
248
517
42
7
274
357
928
75
102
333
746
720
998
625
701
131
737
639
95
880
304
966
203
910
530
254
543
204
364
888
701
652
95
595
142
328
463
246
872
301
574
508
222
460
379
538
142
518
515
714
603
302
10
669
801
777
810
983
182
683
708
65
549
252
544
972
525
679
826
760
278
581
985
545
947
698
651
689
627
645
451
490
575
324
191
430
675
909
845
767
154
129
137
955
674
175
838
862
191
578
695
670
540
861
55
93
539
58
983
754
891
739
545
545
764
663
950
303
644
510
309
312
219
333
574
456
33
757
531
376
489
687
651
221
225
867
418
302
65
595
242
823
168
126
101
496
38
698
734
900
849
44
535
773
582
738
125
225
185
492
333
581
225
445
281
641
762
775
602
438
838
532
955
496
403
678
171
931
227
676
96
959
394
938
508
96
258
484
34
444
368
6
233
731
287
942
472
881
651
56
125
751
986
167
835
767
890
497
812
3
245
378
515
556
251
973
368
68
806
753
598
7
305
771
277
268
32
704
478
247
255
426
521
208
643
674
354
444
84
613
63
868
831
826
900
931
858
622
560
225
980
538
201
430
178
591
716
736
723
268
830
909
29
338
397
109
154
265
902
262
316
304
732
430
89
852
338
994
69
566
505
962
614
59
76
130
972
304
712
538
393
341
799
916
144
97
324
620
202
429
484
138
717
292
914
982
932
785
240
662
410
867
704
183
679
292
577
769
282
800
663
882
669
913
658
400
577
973
451
450
594
293
364
641
330
157
221
168
187
16
752
217
52
229
28
933
534
258
326
900
802
25
260
318
930
356
195
720
878
188
35
644
188
97
594
934
249
810
240
619
817
729
735
815
933
59
875
702
561
258
204
709
917
170
170
95
511
901
129
840
300
175
329
683
185
979
500
215
552
567
219
28
711
947
445
564
546
856
662
187
846
962
852
837
371
423
414
970
379
69
106
310
84
133
159
5
822
922
270
710
912
633
449
624
202
283
325
570
615
705
317
261
927
513
420
151
946
742
142
949
368
282
883
696
931
407
436
238
429
141
309
266
934
850
980
97
757
810
523
276
508
313
372
474
370
152
122
813
756
876
500
271
109
350
602
957
796
658
603
26
376
95
933
751
664
859
421
947
433
462
637
445
525
879
796
372
999
438
479
679
287
751
597
117
359
687
270
422
976
883
326
291
827
548
903
87
813
102
986
245
528
319
164
827
765
733
616
901
260
504
301
84
726
189
433
459
619
254
277
839
215
699
146
660
504
153
104
87
815
735
372
688
0
533
342
976
241
291
499
878
340
487
771
604
889
430
113
471
764
705
15
550
163
603
841
28
404
524
368
250
727
327
570
272
255
776
594
208
373
569
838
426
485
9
826
765
887
240
104
514
557
45
609
974
67
71
754
904
698
369
608
941
487
617
711
455
906
975
316
61
784
666
419
669
711
691
550
396
581
891
206
835
575
981
533
238
873
331
666
14
83
773
270
593
75
921
452
306
384
638
550
151
855
530
629
659
943
191
498
767
34
141
898
475
77
952
53
643
167
596
389
863
160
635
625
423
558
787
972
323
478
60
619
808
642
45
14
673
382
435
384
453
55
371
785
147
292
957
276
43
350
791
769
639
198
124
58
248
679
85
104
447
786
944
44
281
576
322
554
694
943
559
597
947
36
428
853
669
732
152
503
701
352
508
403
454
118
414
544
267
568
723
274
387
988
557
591
50
843
249
221
115
723
440
305
939
778
778
261
928
105
921
363
412
582
879
518
501
776
250
922
936
425
677
840
617
217
910
841
108
38
957
925
861
364
911
750
724
390
56
540
624
61
556
834
282
796
673
470
463
14
918
612
69
879
50
940
678
912
785
478
383
508
764
328
999
569
83
209
252
169
670
265
319
476
797
374
990
28
124
510
198
666
732
226
435
694
509
981
4
808
889
715
586
559
343
79
57
630
750
188
929
243
277
75
397
981
638
830
93
533
969
364
421
140
708
372
129
606
455
604
341
275
382
666
525
51
549
235
894
629
289
223
15
267
662
906
332
716
370
572
558
959
724
221
971
985
405
148
35
266
793
128
211
159
113
917
420
342
304
111
535
928
425
973
450
590
421
467
402
459
249
868
32
135
696
943
586
46
251
447
635
621
963
447
455
897
151
974
40
218
189
186
768
181
154
829
188
331
799
117
915
256
172
626
696
571
655
865
204
415
377
644
719
347
225
950
125
738
210
670
378
252
996
538
539
894
881
871
517
916
545
858
204
936
522
803
374
948
127
151
236
394
425
724
537
594
434
299
223
139
61
876
594
647
629
93
838
939
735
369
342
665
373
166
787
227
132
334
186
463
997
635
13
738
606
895
346
242
949
715
302
732
938
675
633
491
911
56
824
937
304
237
235
55
15
127
582
644
704
25
864
844
481
953
246
900
593
220
152
132
807
113
259
755
720
890
771
658
701
497
725
441
873
88
412
790
285
118
618
436
31
562
669
545
171
491
751
681
890
636
830
286
205
493
440
548
805
92
594
915
64
899
357
489
960
200
903
517
937
688
326
865
376
980
886
148
202
856
515
918
154
799
147
106
754
608
290
372
193
502
711
121
691
173
303
700
665
253
186
399
375
46
539
202
187
542
531
414
584
472
762
53
737
194
937
103
103
517
785
94
517
21
41
931
73
807
904
552
878
320
792
616
280
607
583
168
827
4
787
130
431
228
450
371
376
990
951
902
601
948
223
677
693
986
758
984
230
47
844
424
976
870
549
395
680
651
896
967
685
934
212
512
279
993
847
994
353
627
901
527
710
798
461
564
92
977
301
630
955
145
646
485
435
39
602
529
641
137
283
643
4
441
379
21
552
163
841
898
291
484
69
13
107
492
916
885
633
85
943
245
632
747
360
707
114
970
214
930
66
21
395
917
412
179
964
977
929
767
437
358
501
93
781
919
403
413
673
536
975
312
854
34
538
514
653
645
188
267
732
111
883
674
129
716
70
959
324
404
617
673
260
605
546
312
549
227
646
832
534
872
816
770
452
699
525
341
701
240
654
238
216
418
665
122
418
55
548
121
438
589
198
321
438
432
854
262
62
150
61
237
312
340
236
584
416
425
213
341
109
933
105
520
882
6
142
65
34
472
852
272
371
801
380
910
29
747
960
913
136
139
670
997
489
710
395
790
131
515
544
706
437
786
305
716
850
859
493
971
230
888
800
387
626
284
880
948
962
795
806
813
123
810
243
406
784
686
795
41
974
802
13
478
983
651
452
519
353
983
913
604
645
744
824
150
311
196
825
847
591
131
241
48
428
150
71
265
32
523
734
691
164
341
565
117
619
995
611
808
414
441
844
584
804
444
819
382
491
207
931
159
293
812
281
298
791
197
543
926
687
63
28
267
755
163
268
118
180
924
8
275
278
765
461
533
829
297
631
316
185
473
130
533
977
516
758
511
252
48
222
615
261
913
643
901
81
422
408
748
875
267
674
833
528
193
881
507
786
124
140
199
425
272
920
729
645
77
691
773
895
142
544
303
120
952
434
592
540
138
228
401
600
408
105
355
111
166
887
97
3
460
268
283
54
741
601
549
15
265
352
903
213
674
683
80
324
983
523
264
120
653
601
881
163
808
444
838
866
51
897
870
664
104
694
568
633
786
67
769
695
955
815
314
23
22
877
324
602
95
393
408
83
931
994
857
821
417
144
137
528
57
217
543
283
507
932
274
408
556
382
321
524
408
911
947
418
698
395
79
119
697
627
296
686
427
886
291
988
179
504
15
381
286
633
694
678
555
650
518
508
351
736
405
522
107
852
147
891
73
668
481
206
60
67
15
593
97
728
914
579
773
506
103
446
484
203
402
978
966
70
497
987
293
57
814
349
995
806
22
470
98
530
3
732
337
762
619
309
905
526
559
743
8
355
819
669
841
713
806
323
193
910
519
776
576
908
867
33
292
139
710
124
619
204
347
62
461
112
353
139
759
581
571
637
509
430
771
761
261
222
197
650
436
249
648
94
689
71
535
678
533
162
970
511
745
566
619
904
456
402
890
181
942
939
420
740
931
456
631
240
429
654
323
291
754
96
432
153
928
706
646
277
441
26
752
272
485
207
1
321
149
352
656
461
391
941
945
346
974
279
954
628
883
811
361
829
487
638
459
843
330
443
237
472
426
119
620
241
181
664
615
756
374
284
194
318
592
485
974
122
53
294
127
245
664
988
616
311
528
451
287
77
177
388
674
529
396
874
692
228
684
13
741
160
710
543
4
281
14
606
970
346
413
643
17
555
576
856
377
32
512
605
531
488
988
602
493
72
630
422
319
277
95
497
870
122
226
514
423
531
484
564
44
427
27
725
702
775
258
85
852
686
703
263
222
70
131
236
118
36
224
973
716
703
204
851
996
605
556
469
689
853
979
154
42
580
198
294
998
72
744
329
68
549
450
858
933
682
626
140
547
817
786
686
470
159
726
780
693
952
194
432
159
840
214
153
566
763
125
757
24
832
901
939
212
768
874
884
253
823
826
6
288
29
66
162
165
710
320
725
914
276
248
744
172
925
701
246
351
418
750
431
979
425
325
618
0
145
991
726
515
941
821
189
265
489
811
247
700
598
788
353
4
171
766
787
619
336
629
893
598
57
0
445
608
289
360
757
560
601
44
425
445
480
549
513
800
698
186
846
308
948
467
804
555
734
68
931
2
67
349
504
530
260
605
476
89
645
537
172
644
927
181
898
739
898
78
337
963
597
80
56
287
180
909
971
122
175
694
28
697
378
355
222
353
247
748
589
259
618
113
214
451
340
826
867
862
985
86
444
994
17
593
618
77
70
57
776
638
588
201
372
211
928
264
640
464
64
308
604
214
774
750
554
669
558
274
607
488
190
220
559
663
424
150
831
162
902
308
831
50
583
983
234
883
835
430
297
34
14
818
263
966
826
891
713
572
62
521
255
698
309
23
20
615
704
49
478
444
496
714
203
763
243
19
440
119
772
780
637
599
744
362
198
634
814
133
875
148
640
402
447
879
825
338
10
360
938
951
108
462
355
888
409
35
477
589
741
253
536
748
796
146
449
872
996
201
371
120
36
252
669
317
262
78
442
7
760
821
425
799
286
202
547
607
54
612
863
792
407
969
465
198
405
339
258
5
628
768
414
421
406
266
98
690
285
477
906
79
295
400
528
271
856
483
556
84
202
156
172
129
218
477
861
674
911
744
671
504
555
50
745
182
858
256
98
991
197
958
693
783
120
809
447
522
685
664
308
998
597
478
367
195
493
956
986
511
19
950
497
828
365
922
747
207
82
995
619
878
306
245
910
251
961
770
212
439
547
879
372
845
155
548
499
365
472
537
497
87
199
682
892
627
989
632
137
709
273
311
884
928
984
371
416
189
331
609
740
714
392
636
775
620
11
347
518
176
529
475
6
388
20
564
227
374
713
412
611
829
243
7
311
510
217
557
457
837
134
486
743
16
765
163
102
102
630
367
82
719
979
272
32
167
944
498
111
99
374
59
634
588
833
474
258
402
132
828
982
659
849
465
868
196
395
729
854
472
886
685
231
661
982
408
941
477
881
940
254
763
104
49
548
904
129
226
303
222
773
41
749
22
490
670
910
613
709
17
710
156
768
517
919
597
939
336
272
322
783
924
358
442
121
248
873
349
703
80
779
7
628
346
88
691
169
259
737
82
604
632
392
721
580
573
2
774
750
947
134
453
787
779
626
128
482
65
897
151
458
830
632
243
693
68
605
584
307
164
832
227
780
550
807
549
780
219
187
142
333
751
724
208
514
277
492
862
935
189
723
546
973
808
756
846
495
119
845
473
411
397
544
75
722
65
679
286
715
206
102
119
891
160
719
426
339
902
908
282
896
25
871
463
935
519
436
656
164
798
193
603
628
804
679
849
752
100
950
868
77
835
522
420
368
888
279
785
948
311
372
413
225
385
375
446
208
402
718
573
49
904
159
377
221
292
72
805
823
861
237
167
625
763
951
168
516
901
586
74
292
555
128
998
416
996
162
572
246
687
960
774
707
687
210
549
578
123
371
87
716
948
702
843
449
708
943
195
35
690
881
885
431
533
637
988
155
643
975
191
321
940
303
135
819
363
203
909
845
196
474
436
258
818
359
399
416
749
425
282
578
484
456
818
281
706
291
21
273
233
265
484
718
692
173
971
985
313
893
473
765
792
983
843
720
335
857
222
857
736
384
84
243
165
969
691
807
642
533
150
725
350
693
129
721
739
997
346
787
582
974
313
868
171
686
820
194
151
646
234
252
713
221
800
675
722
269
503
499
449
54
584
590
142
476
463
453
367
852
525
215
758
392
69
997
580
959
763
778
53
330
67
489
473
394
447
826
300
699
190
375
230
813
603
518
514
450
707
533
833
775
843
655
614
890
21
173
733
92
380
40
12
592
344
484
980
213
995
320
575
698
502
439
480
275
634
712
510
128
412
475
732
23
755
702
518
573
541
561
667
878
629
541
596
628
914
176
807
901
914
452
257
332
940
297
186
486
319
626
449
265
792
540
935
405
119
376
373
155
107
965
632
695
101
763
585
465
238
995
615
582
775
264
589
378
662
301
486
655
725
720
116
813
698
772
757
457
991
831
896
116
550
857
552
941
286
881
555
829
332
191
649
109
78
161
923
280
551
934
723
714
531
810
167
662
751
370
51
19
256
723
191
956
601
844
225
541
501
367
146
670
597
514
12
655
32
649
19
225
903
158
50
264
415
783
415
154
909
687
215
819
72
293
811
909
331
574
764
326
670
572
238
433
673
728
606
101
550
734
516
893
96
109
223
112
700
786
339
696
282
401
351
290
532
114
475
474
955
35
936
770
500
568
585
917
16
934
986
153
238
941
756
139
981
502
456
110
27
881
257
7
70
848
632
467
839
327
492
823
764
761
575
458
562
703
671
856
477
335
383
6
772
694
282
364
261
129
744
63
934
323
909
749
74
157
570
111
968
204
354
213
332
973
935
794
735
410
391
775
660
114
219
493
320
354
456
965
947
117
651
462
226
453
282
135
521
474
863
821
488
411
879
822
701
277
811
234
978
198
154
360
601
959
207
801
948
208
276
290
718
851
972
433
298
658
485
815
584
823
27
441
920
470
526
397
113
182
925
243
728
260
22
603
99
462
726
527
594
307
158
217
553
753
586
938
258
210
749
287
810
683
403
786
526
336
552
314
873
815
997
473
866
693
330
965
458
286
631
506
729
523
701
967
321
646
658
904
446
702
199
464
787
300
741
528
903
951
483
588
877
292
684
678
847
250
352
438
755
291
788
363
417
358
582
26
218
827
378
687
630
278
246
649
461
175
289
583
176
187
137
541
769
214
403
934
179
813
899
643
781
913
624
95
929
628
868
715
876
859
922
477
289
927
244
851
695
710
500
857
914
61
157
113
913
421
64
67
231
367
650
801
870
439
279
912
631
788
617
795
759
800
920
638
23
672
410
689
763
592
382
86
473
45
681
412
589
693
357
523
733
547
577
972
684
586
387
840
883
884
497
261
641
566
475
481
891
82
437
243
825
841
828
611
696
887
851
78
308
419
269
50
501
16
374
739
83
87
742
734
744
881
99
797
429
751
434
910
764
711
91
68
466
703
91
855
976
257
947
546
635
831
882
444
825
424
812
106
260
319
79
448
632
255
239
23
499
661
242
427
786
969
736
604
138
955
887
395
22
652
762
892
926
653
375
118
576
656
305
169
655
4
278
76
742
850
979
791
89
234
93
317
746
461
643
445
803
737
806
425
719
500
19
645
298
865
987
471
328
32
225
437
8
918
368
110
557
37
168
372
62
106
423
744
610
638
954
639
80
716
642
503
20
480
54
645
497
155
681
825
152
3
171
488
115
781
413
694
860
172
994
731
255
121
321
953
594
83
827
966
689
436
222
621
650
805
889
937
688
718
896
842
271
665
300
793
312
607
178
291
242
925
417
628
326
581
203
107
360
115
864
715
541
196
745
98
131
108
534
349
304
499
6
181
504
819
507
309
54
155
646
307
651
594
633
821
996
259
385
698
772
0
481
382
509
767
505
474
141
909
460
282
128
973
92
480
496
292
524
724
893
617
289
171
174
841
298
720
252
514
777
84
203
603
350
820
346
804
67
150
79
316
310
20
235
605
310
331
35
337
588
402
836
87
791
873
714
729
362
596
981
477
876
751
646
545
661
527
795
341
277
944
521
957
610
983
722
788
254
363
476
315
204
873
851
49
10
346
648
47
407
670
560
903
793
971
364
320
891
848
513
825
582
600
16
519
669
533
34
906
387
761
655
481
366
562
430
593
810
653
598
965
659
547
951
78
531
890
273
167
285
68
49
677
212
108
959
404
621
338
651
563
517
373
275
419
677
801
698
657
355
511
363
832
657
484
855
264
317
724
706
453
87
88
693
928
485
202
184
505
278
494
254
550
299
90
734
759
777
637
715
540
105
724
714
366
3
556
59
599
510
994
874
477
182
132
591
472
743
33
988
96
763
576
38
10
143
222
604
88
614
289
421
916
844
941
444
145
652
533
765
958
310
61
394
949
315
417
630
595
476
212
834
510
467
5
911
109
743
129
559
547
156
455
612
620
150
432
497
13
765
915
314
122
146
589
427
152
599
579
252
779
305
887
755
634
547
943
148
977
688
519
764
230
51
955
530
935
114
88
119
104
796
974
607
282
488
42
278
535
324
108
605
718
651
992
934
9
360
315
383
193
423
802
852
189
81
278
941
877
606
815
146
134
743
987
625
524
690
662
817
240
898
222
216
207
220
838
971
456
289
575
777
287
700
642
656
417
849
327
272
987
509
423
806
475
927
168
985
874
622
916
997
725
956
962
674
292
184
757
715
33
66
391
115
246
399
952
82
408
986
278
74
982
445
763
687
440
784
91
808
768
524
904
128
877
932
269
973
800
392
207
290
99
154
226
852
852
355
812
721
116
76
959
642
460
733
706
209
853
401
768
433
993
719
570
830
28
206
656
713
606
777
10
705
321
231
805
506
829
336
227
620
596
160
141
1
22
211
119
132
370
420
912
610
442
764
824
373
186
267
177
634
944
272
790
431
826
65
192
693
56
671
334
545
803
693
486
619
971
700
491
383
82
388
485
868
423
682
545
178
952
475
840
533
984
394
647
745
913
670
414
722
675
834
65
184
595
778
306
209
748
284
646
961
71
777
851
374
222
417
904
719
408
398
313
345
62
443
778
44
805
676
410
905
384
133
215
561
886
744
161
764
344
801
987
936
978
413
42
648
108
529
663
77
189
226
629
140
558
990
36
563
131
825
285
300
101
532
84
785
362
890
280
235
6
770
534
845
326
36
271
141
510
431
317
300
750
224
552
355
182
806
44
911
103
114
845
573
900
961
414
63
930
363
992
614
410
0
106
97
884
833
218
427
295
43
241
104
977
304
505
303
640
623
246
795
70
430
340
103
60
307
99
234
478
825
990
915
234
90
714
186
877
894
127
760
869
383
79
683
443
507
185
460
735
913
686
184
607
599
415
164
918
94
749
834
832
621
94
923
81
296
563
260
372
991
777
695
75
735
289
397
414
444
611
522
774
636
245
343
671
561
995
458
641
281
716
380
473
748
209
95
919
10
405
180
275
159
281
390
891
333
904
723
761
530
446
4
587
666
327
597
115
944
918
620
389
690
760
946
281
536
105
755
115
504
438
729
527
626
399
641
741
527
508
750
69
771
60
675
866
842
847
535
51
797
398
361
509
136
956
998
103
203
73
485
297
945
765
197
220
310
942
870
284
46
383
88
686
259
574
820
428
304
154
436
785
802
164
784
336
811
131
930
736
879
506
213
361
532
879
65
454
375
83
280
152
566
307
834
544
512
218
547
749
52
948
849
496
513
412
676
108
589
485
696
820
609
214
503
885
279
458
357
753
913
803
4
554
29
452
336
597
696
705
796
542
13
101
746
62
533
151
855
622
906
177
631
428
313
421
392
403
64
793
906
766
918
997
977
24
815
319
900
762
253
880
797
405
40
131
333
963
975
662
517
628
932
789
768
932
387
299
579
166
456
533
157
678
813
27
353
764
37
610
385
852
188
672
245
68
196
387
341
132
498
132
532
321
586
859
112
921
252
323
875
410
111
874
791
590
65
34
402
443
850
298
193
676
167
235
658
407
71
257
650
741
644
248
637
762
292
856
184
825
333
729
131
566
3
334
767
582
214
283
465
434
806
50
815
833
427
817
699
613
932
133
337
875
316
716
320
685
109
718
892
467
986
550
952
215
107
803
188
752
898
96
865
704
461
496
252
902
325
620
641
820
69
667
219
714
220
687
653
151
855
113
218
271
248
634
207
920
393
161
235
736
686
259
481
955
988
759
482
693
202
202
268
598
822
931
848
353
844
310
937
772
111
53
214
510
183
643
365
976
450
490
663
18
61
342
8
166
61
119
26
169
458
811
521
5
637
290
272
903
981
278
308
732
306
994
924
935
531
958
40
171
441
677
9
385
103
531
632
381
734
504
147
283
914
922
739
789
815
108
570
121
29
471
722
978
742
983
11
454
438
159
728
227
902
151
401
232
380
442
986
275
689
262
653
315
662
171
338
469
426
739
581
559
286
489
458
382
604
732
855
307
392
771
522
634
385
202
365
727
845
631
289
858
623
863
344
899
520
452
836
22
973
802
299
529
923
250
394
266
345
253
949
956
50
944
490
714
952
368
691
297
438
624
166
190
138
335
272
689
685
212
122
80
998
176
962
362
131
780
637
694
596
65
85
279
952
269
125
516
781
90
920
700
18
242
223
94
310
279
175
445
170
882
92
798
631
533
230
783
663
766
945
711
924
307
714
179
161
321
717
294
265
367
322
775
735
287
63
502
641
408
212
698
590
932
282
632
331
535
351
768
805
348
934
704
771
662
207
561
860
309
126
928
731
19
152
129
776
812
385
612
559
519
769
734
643
62
655
543
730
132
246
2
620
139
607
184
112
879
43
404
468
864
757
83
494
822
495
552
255
756
440
302
772
422
218
677
187
818
155
326
988
318
611
135
112
948
416
388
727
101
303
38
382
947
246
373
127
445
795
986
589
531
602
460
285
197
804
354
186
494
223
568
730
138
186
854
154
58
497
824
167
889
665
706
643
706
505
586
566
191
695
285
790
709
454
228
360
860
191
566
781
248
938
926
535
442
850
976
278
260
520
358
997
701
517
614
113
617
494
82
587
949
727
450
361
421
752
861
49
778
229
582
391
365
333
821
851
701
117
262
463
98
678
291
503
350
37
940
974
705
521
194
428
296
797
477
773
436
650
557
294
78
528
360
568
107
15
912
285
858
451
70
338
722
970
794
179
857
374
755
566
114
186
743
227
935
728
600
681
26
911
511
988
831
756
926
24
608
443
531
228
943
192
928
802
814
96
518
532
790
410
318
846
264
599
142
377
514
626
118
163
852
907
570
245
860
816
475
48
81
947
42
992
979
367
70
488
536
24
711
810
644
243
114
192
150
158
737
3
327
556
946
384
114
699
843
789
14
319
656
495
533
430
370
10
334
113
270
769
904
241
807
297
51
191
880
268
467
246
835
415
389
722
999
768
660
90
277
219
506
316
2
211
626
18
211
351
998
138
978
791
886
373
731
404
455
224
367
990
114
529
927
16
209
342
128
910
624
118
70
166
16
746
477
91
888
652
270
805
336
882
501
878
90
537
219
826
45
440
771
387
677
804
851
476
993
763
998
363
989
15
297
658
675
77
368
146
52
209
199
473
23
231
593
907
370
660
464
471
657
440
283
862
684
613
547
57
301
709
297
326
42
538
348
455
863
845
397
389
568
233
516
941
191
509
277
244
866
556
741
577
235
591
220
906
9
422
540
314
164
370
504
305
867
316
899
113
164
66
240
83
770
694
520
483
89
503
101
540
859
210
526
743
143
986
712
526
633
603
380
488
689
751
498
476
199
406
426
938
865
655
344
580
256
898
513
343
905
279
317
670
434
528
397
301
84
292
870
544
319
426
778
728
238
68
276
938
365
572
261
352
806
693
915
312
342
773
237
105
15
130
885
918
559
228
709
341
558
561
237
677
138
51
667
327
382
320
88
186
526
866
342
553
267
40
180
526
720
421
334
18
842
862
874
972
390
3
766
50
205
515
471
254
942
437
476
352
583
545
765
797
877
971
389
561
698
340
795
399
356
419
189
307
45
465
563
106
457
298
802
327
254
53
833
873
172
853
847
442
534
701
619
328
350
143
171
747
160
913
997
202
156
107
148
146
111
823
873
426
742
921
157
798
456
65
267
375
219
559
429
38
312
631
653
574
428
852
822
520
910
899
920
18
827
96
784
686
928
947
3
102
196
3
300
103
136
126
150
791
85
591
884
695
18
748
218
717
125
485
33
56
742
456
509
28
852
742
475
927
425
753
470
20
147
929
535
458
132
611
578
741
287
647
796
588
929
77
147
369
770
543
683
973
497
33
704
467
127
749
886
334
367
860
169
946
504
284
60
211
979
831
453
261
210
36
249
238
74
32
796
868
454
314
347
865
812
109
813
442
954
756
282
282
145
428
5
846
186
693
158
16
15
489
6
498
352
655
460
558
205
86
775
16
340
509
485
517
184
912
634
410
86
369
473
119
35
202
677
261
370
832
733
622
235
330
373
103
448
599
159
83
218
639
106
109
766
591
936
107
145
732
606
357
65
808
467
720
690
360
642
205
293
478
645
915
523
651
62
195
464
562
100
177
882
120
902
869
587
446
673
213
546
861
310
873
258
259
907
871
775
599
298
583
173
833
344
15
537
361
984
220
48
661
467
307
779
717
862
303
559
756
559
850
688
977
23
311
906
563
309
443
667
555
314
853
503
833
455
548
815
208
620
757
27
865
401
842
190
864
880
103
363
370
433
648
711
345
579
125
62
973
909
831
733
386
59
344
744
600
173
101
439
32
52
771
662
737
537
46
274
294
747
828
418
845
997
190
244
61
636
507
425
58
826
643
32
179
859
214
651
845
13
783
922
166
50
98
512
45
486
519
296
89
320
544
848
477
922
837
572
505
229
310
640
652
982
30
482
188
299
989
263
186
971
180
31
183
15
265
734
939
546
90
55
764
163
66
660
9
122
64
257
982
775
455
255
132
543
370
143
673
819
796
788
463
147
593
462
164
727
316
758
198
669
310
976
273
957
357
762
605
471
669
132
623
378
589
267
595
784
112
916
112
401
573
798
771
973
404
492
157
621
563
602
311
794
590
711
748
244
166
353
638
41
277
596
789
340
557
930
433
387
649
880
473
712
615
575
605
661
220
33
853
500
115
130
87
199
373
635
616
246
485
845
552
73
753
11
73
764
763
465
650
345
813
190
37
31
744
611
885
253
153
666
117
479
380
725
758
531
481
92
837
58
293
55
231
19
523
534
828
918
147
870
598
887
68
11
369
482
614
79
874
728
252
458
601
613
266
525
907
348
385
337
285
138
16
464
70
534
358
276
304
360
164
245
98
788
526
360
243
824
81
974
841
884
36
902
226
635
435
930
665
877
864
421
299
643
970
123
754
40
10
831
432
913
841
435
978
401
644
736
32
367
751
378
148
141
665
439
208
422
140
368
313
273
674
35
286
714
782
916
249
248
982
140
767
538
686
445
247
963
843
912
488
959
505
788
886
109
670
876
705
135
634
56
701
511
4
612
169
912
722
996
736
453
842
994
150
195
911
744
701
492
132
240
916
573
229
470
252
341
165
639
997
915
563
288
308
181
243
997
799
636
224
171
983
479
398
946
623
186
71
482
272
202
254
884
790
27
62
181
50
568
66
624
765
762
420
884
995
208
679
584
969
329
74
735
144
122
542
536
645
725
417
624
855
964
198
23
413
274
986
496
830
853
719
326
985
877
125
995
610
138
908
8
920
918
453
241
416
373
236
955
650
98
746
291
210
66
749
220
590
945
689
449
310
325
968
914
479
542
556
590
273
70
990
636
611
270
443
469
947
263
617
546
750
24
698
321
10
880
194
545
606
343
20
19
195
138
640
443
856
65
775
957
412
195
99
991
782
396
811
178
321
326
323
407
215
303
700
569
189
317
628
568
915
542
820
481
496
320
17
752
423
885
674
151
179
760
916
538
530
156
240
242
950
169
706
973
525
44
333
42
580
137
316
434
785
45
895
74
217
634
867
769
827
222
434
504
3
804
652
235
117
387
825
761
728
654
734
267
0
235
161
722
456
849
987
897
631
143
944
703
134
320
221
557
584
735
621
618
816
606
861
666
486
655
14
945
898
387
296
88
705
789
841
699
86
325
505
711
965
243
935
685
910
664
282
959
10
354
516
305
223
36
898
941
989
729
809
205
155
55
433
562
948
842
62
417
615
938
352
709
182
509
727
660
749
225
327
220
92
536
61
934
502
144
661
553
795
147
85
870
783
744
991
918
625
149
159
332
936
813
321
309
41
141
284
532
527
629
15
146
802
372
788
34
246
107
13
514
696
218
535
590
469
853
568
259
86
479
106
717
944
293
100
472
256
772
461
225
947
395
546
353
647
705
507
550
547
444
579
174
274
629
145
48
700
705
295
416
982
659
420
608
705
983
320
405
788
88
554
708
868
989
717
30
782
543
150
243
11
855
658
437
55
446
921
961
135
489
516
773
457
175
956
681
509
991
467
579
494
988
780
941
222
415
162
327
530
740
499
308
707
172
720
519
13
196
834
650
307
478
123
33
485
473
424
692
351
45
980
352
532
387
49
615
633
981
746
395
28
865
544
848
620
433
269
914
103
141
585
265
89
916
332
632
60
278
435
767
725
405
440
444
725
137
538
692
451
743
749
234
105
178
282
150
749
92
799
325
592
929
454
513
878
406
880
311
294
830
841
31
909
599
638
988
544
18
847
614
279
154
623
364
388
474
618
508
144
307
886
525
947
123
964
309
213
638
272
351
405
284
337
904
942
895
105
129
515
645
665
286
887
321
837
725
872
417
108
52
71
527
271
612
662
877
812
711
890
111
710
438
326
290
371
237
48
691
366
713
808
646
961
364
956
341
559
431
442
172
81
106
897
66
607
469
686
933
139
213
990
37
401
65
210
422
327
17
353
524
936
612
444
639
773
235
796
83
356
288
36
134
137
841
425
87
889
471
382
416
787
534
541
434
609
12
825
181
66
704
797
300
64
726
21
764
130
710
664
830
51
616
214
837
402
961
404
866
366
617
607
335
246
575
578
470
332
690
593
731
542
782
75
782
522
444
910
438
140
157
162
856
823
600
6
653
348
487
70
481
652
927
703
234
190
705
56
108
209
302
499
446
91
303
901
581
884
338
346
921
653
442
186
535
740
842
740
845
598
805
959
431
718
516
941
775
374
448
975
129
48
237
163
417
436
243
364
537
167
676
487
432
548
878
52
735
480
806
34
640
769
806
650
84
667
37
613
217
508
804
339
278
298
286
492
208
239
94
666
981
987
247
587
525
768
723
572
384
229
778
427
112
795
755
565
782
874
284
94
566
27
692
606
513
170
922
291
163
980
554
746
135
101
359
883
216
603
646
378
519
928
693
443
928
581
690
944
294
817
27
150
648
617
880
25
295
38
259
163
233
544
171
956
401
924
986
239
887
672
877
850
149
776
18
933
858
865
473
888
211
147
519
219
636
260
74
897
587
136
360
575
900
83
702
167
605
331
761
294
410
171
457
841
277
291
373
875
302
237
500
98
687
51
185
248
472
494
145
9
402
892
171
351
466
540
117
639
171
552
521
373
490
962
647
633
39
220
102
313
495
488
893
964
3
778
239
734
220
979
531
342
980
34
279
847
336
15
199
895
480
223
945
291
891
198
698
441
573
990
597
815
668
160
227
213
595
209
361
28
154
814
764
446
554
997
230
913
486
670
845
924
137
215
463
628
810
189
545
565
657
84
882
467
126
423
647
900
901
203
809
325
899
736
121
44
301
828
906
956
698
880
68
937
754
126
248
820
139
515
687
517
282
730
996
220
222
983
360
722
295
983
159
912
295
446
863
373
843
815
931
237
316
636
267
800
691
896
408
277
222
969
504
608
742
81
6
298
67
872
847
919
687
938
788
12
376
750
555
927
310
775
45
690
725
342
648
369
218
165
466
877
972
448
518
328
353
459
459
684
19
796
544
898
908
576
725
40
977
17
959
713
438
301
612
779
170
25
229
812
923
697
831
620
546
466
875
955
949
213
687
617
733
592
28
68
303
104
752
685
630
862
692
295
500
998
226
316
824
710
602
622
321
346
856
684
225
100
831
313
74
399
576
54
475
308
995
222
18
124
198
262
792
17
94
62
794
282
198
47
547
361
706
964
547
873
798
668
398
969
355
547
85
754
851
785
4
200
490
278
620
466
635
11
672
367
820
560
747
478
75
685
943
27
727
628
38
664
370
867
254
686
755
259
61
55
599
167
645
540
111
554
718
318
582
726
269
121
580
501
383
399
623
390
476
342
625
650
567
277
925
34
539
427
623
817
592
395
650
439
896
820
329
641
409
592
546
434
478
801
211
238
549
84
778
905
219
692
736
639
423
290
964
417
779
458
626
897
77
648
256
187
136
755
38
117
143
856
734
896
253
297
814
818
678
253
398
408
996
206
231
862
386
541
316
166
515
84
639
240
466
309
997
543
32
673
254
548
497
7
291
606
688
246
416
75
321
281
384
47
144
701
648
22
905
524
583
972
99
124
137
340
690
476
931
565
948
556
790
471
826
814
740
494
820
448
746
918
835
760
874
57
990
31
49
404
127
577
2
735
507
904
412
585
506
333
334
12
486
210
507
578
397
421
625
327
274
402
897
284
828
752
794
858
876
176
687
301
602
103
629
548
359
164
557
987
68
810
629
738
419
972
2
331
794
997
658
774
783
768
398
584
856
325
825
639
210
4
584
789
411
659
536
25
133
424
486
539
101
874
781
332
691
771
891
35
888
231
413
29
719
780
115
880
810
692
610
564
463
989
94
808
304
883
466
47
751
601
150
640
29
951
353
800
280
704
235
89
457
213
817
757
289
337
397
861
519
607
65
102
719
590
358
287
61
400
774
983
797
358
463
196
96
219
298
99
344
618
849
49
389
121
169
567
258
379
205
96
959
676
518
443
881
302
655
123
177
82
532
162
832
651
990
924
930
293
919
827
233
511
229
463
905
591
294
973
534
425
718
26
825
31
84
538
709
693
445
157
112
98
553
533
481
672
636
29
287
304
397
106
872
226
426
663
364
715
199
390
96
83
621
75
140
727
189
334
942
165
862
593
623
809
177
173
560
383
826
28
452
817
951
843
64
875
903
64
106
766
898
584
776
75
276
68
812
109
250
516
715
481
872
85
580
550
920
753
40
922
519
48
543
186
439
967
571
514
414
934
665
26
408
539
401
589
671
139
281
1
41
376
394
774
779
4
920
302
875
181
660
663
758
740
601
60
67
512
620
886
328
0
958
241
161
59
359
3
730
67
211
41
166
893
823
531
453
174
271
106
342
433
185
848
319
150
826
14
244
918
570
925
307
717
378
113
559
642
807
43
774
873
163
733
937
352
891
669
310
382
841
935
296
445
129
456
653
206
599
321
481
210
15
939
115
271
798
418
33
102
412
519
695
758
835
623
336
13
599
976
960
496
643
309
587
931
660
979
429
279
594
494
749
79
341
942
110
279
707
128
395
415
536
378
366
108
744
342
578
850
225
641
379
650
627
441
82
279
558
293
578
686
756
767
343
28
510
779
539
779
621
128
880
588
622
891
661
927
905
455
52
505
177
212
525
863
55
581
353
981
671
917
155
580
453
997
888
177
716
232
738
71
565
156
774
184
277
92
781
946
706
92
827
915
418
822
600
727
1
554
80
861
207
779
961
76
339
109
302
246
494
225
49
707
347
248
365
108
710
46
976
737
993
182
980
72
209
307
825
29
48
953
314
132
699
624
255
555
103
215
884
399
185
545
355
541
501
447
358
778
538
388
205
122
409
947
619
296
135
354
692
771
104
940
314
785
412
919
154
930
761
114
414
244
509
770
771
329
916
969
772
755
836
349
662
548
816
633
697
180
665
132
507
197
707
691
748
120
100
323
646
954
38
803
182
110
716
718
670
112
719
331
788
852
271
364
594
305
473
140
141
932
612
351
565
572
963
987
120
367
755
827
463
155
103
450
24
581
488
613
557
787
175
161
890
351
667
403
675
4
138
356
325
379
180
219
18
662
44
406
226
632
568
993
529
567
972
182
809
372
412
434
170
906
81
316
671
524
369
775
940
887
674
398
96
396
805
692
789
437
106
827
78
726
245
829
158
854
212
561
760
447
822
532
618
235
53
88
253
614
0
637
464
351
469
675
418
452
33
929
80
311
467
275
571
485
244
564
820
129
285
788
776
631
25
280
806
752
789
467
930
501
126
812
394
186
265
85
230
558
627
54
877
221
983
648
37
228
70
804
538
113
985
764
163
612
882
63
88
493
443
82
925
159
879
128
738
618
733
680
65
376
814
954
676
291
441
500
256
738
909
288
25
800
968
639
658
861
873
73
915
622
318
635
577
891
824
458
136
855
933
928
638
37
580
894
680
646
71
101
792
350
386
373
556
982
417
487
953
156
84
518
850
510
355
232
798
578
55
651
82
36
115
327
859
303
821
527
988
493
43
184
633
728
975
957
216
857
609
797
941
358
638
760
248
327
667
42
430
639
472
739
992
638
609
403
189
431
710
445
284
656
818
360
648
425
263
695
95
88
910
462
81
694
162
754
195
224
133
514
974
250
811
987
596
475
330
435
465
233
748
216
738
969
539
912
100
305
864
843
81
63
171
781
722
424
407
441
195
204
809
506
391
937
495
390
233
872
253
809
417
86
353
332
194
87
277
921
668
974
628
524
591
443
550
215
844
604
969
345
502
835
451
458
642
760
890
206
125
664
449
557
995
304
242
701
890
173
947
666
100
3
938
212
135
309
60
743
691
911
799
910
171
46
835
614
147
573
468
594
587
894
297
933
330
81
617
197
950
895
718
939
854
179
313
738
950
964
415
247
853
120
227
2
259
479
379
904
132
152
661
19
281
975
26
885
28
829
389
214
385
193
696
618
55
395
774
758
358
864
535
904
105
17
929
457
763
558
605
122
400
211
70
117
608
109
917
686
774
379
264
948
171
784
357
29
934
69
353
386
904
672
644
208
487
908
635
56
470
260
184
820
803
212
273
967
983
103
648
728
55
138
388
529
815
857
260
183
165
572
229
237
707
650
278
783
150
642
189
559
241
787
401
208
436
333
250
462
507
162
290
841
170
572
537
679
108
911
865
379
690
863
928
992
113
250
992
916
542
375
191
841
498
520
125
322
529
756
559
947
288
353
661
211
672
199
951
601
465
808
153
944
883
177
846
460
137
189
144
174
453
847
233
746
785
144
344
362
628
955
620
893
950
893
760
157
432
949
48
941
457
950
547
556
532
248
963
200
191
369
730
275
714
267
395
361
596
126
310
68
209
971
740
638
935
704
789
569
11
789
106
410
757
923
912
306
638
643
174
854
967
550
772
946
965
102
215
957
222
116
341
796
518
548
629
61
964
988
413
41
962
362
213
316
534
689
574
930
374
508
812
520
594
625
857
221
130
209
821
682
353
953
954
110
414
907
560
465
327
891
527
192
808
787
388
876
680
604
186
168
205
350
956
862
267
347
272
722
830
976
458
826
822
773
536
800
441
301
317
645
363
425
277
905
844
379
735
843
373
190
580
943
430
56
870
189
195
929
61
10
74
571
673
971
379
450
46
177
587
590
835
323
186
40
639
452
44
132
502
284
419
956
235
923
842
947
159
303
261
801
756
656
642
365
938
35
190
6
648
471
507
857
394
697
739
735
240
997
16
895
981
465
334
58
743
877
837
581
90
853
106
327
181
6
432
190
397
484
589
167
90
285
235
933
616
807
324
991
659
140
528
448
708
5
821
677
886
164
546
970
359
955
795
268
791
403
138
979
782
206
431
202
334
256
128
381
483
395
170
577
555
737
308
807
516
414
184
141
90
990
965
423
784
323
803
892
231
307
736
730
701
589
143
933
829
707
427
344
367
841
848
44
134
906
984
505
941
746
633
869
600
763
851
819
684
589
694
243
359
187
474
241
387
991
499
15
557
628
714
196
724
393
130
689
632
93
176
708
866
889
151
458
282
859
2
531
346
285
36
870
138
786
881
422
342
619
400
10
785
656
520
506
144
153
92
709
689
314
920
870
145
542
607
820
551
3
226
357
342
389
134
39
822
107
660
976
797
197
889
375
932
454
930
589
412
160
296
631
884
364
512
383
799
419
547
450
635
475
554
21
602
91
264
465
889
441
277
529
790
795
55
755
288
129
725
611
988
592
106
606
31
119
336
184
633
379
61
592
640
374
417
997
723
526
755
679
556
286
867
762
724
85
611
712
465
156
862
576
408
772
659
572
860
616
267
715
896
583
738
562
978
867
170
540
916
536
881
199
372
880
86
959
960
454
879
160
999
772
343
848
56
482
0
115
791
569
234
900
459
256
167
7
465
648
43
50
303
562
410
666
150
696
838
949
729
197
884
205
41
425
476
567
271
48
635
107
104
876
726
7
906
904
219
212
864
943
829
245
962
628
183
269
255
970
610
308
701
639
507
208
61
455
40
579
453
58
490
202
528
872
95
625
968
939
616
653
282
450
93
550
945
959
962
564
501
507
505
476
165
960
643
519
844
592
748
594
822
361
218
377
51
869
154
990
483
298
30
869
648
715
690
841
640
15
973
62
423
114
721
935
2
456
439
624
239
923
548
738
575
836
659
940
849
348
468
595
188
283
512
565
98
878
76
690
329
213
161
566
667
857
491
185
854
548
725
584
635
13
316
498
117
161
746
612
317
182
212
573
423
687
588
12
153
668
511
953
748
200
459
519
536
462
178
784
477
288
132
460
905
800
509
530
182
655
977
238
60
110
851
213
394
605
641
310
316
69
208
473
700
816
65
605
581
445
996
987
289
459
209
980
82
525
45
718
761
548
684
57
854
578
615
185
253
113
426
303
88
92
360
249
921
618
734
405
27
462
340
727
756
555
450
784
325
708
393
53
805
311
918
727
401
971
288
226
215
643
860
192
291
505
561
392
614
596
558
833
418
483
43
445
706
995
144
517
123
738
592
53
526
471
890
562
107
407
297
978
672
685
327
103
914
269
146
280
812
60
679
411
33
121
313
315
621
696
123
161
871
864
389
61
314
805
656
163
144
538
893
293
406
217
54
991
155
503
245
756
293
63
340
574
477
208
313
330
570
442
777
119
368
960
370
917
211
651
37
512
433
267
466
141
83
78
506
157
267
419
790
374
820
122
898
810
395
598
145
881
391
360
809
317
774
411
388
478
799
529
192
147
568
858
623
417
512
815
904
4
824
377
460
21
362
200
617
486
325
899
596
861
184
194
121
667
569
654
933
781
109
964
447
658
182
764
484
873
22
423
802
522
56
113
450
701
986
832
776
655
386
574
83
976
645
219
23
154
256
635
918
812
852
696
226
612
403
15
329
218
651
480
833
293
791
676
472
2
939
244
554
305
395
617
921
135
179
856
500
650
402
466
59
680
609
911
214
801
700
711
827
798
814
769
222
221
756
650
296
174
732
274
161
966
820
415
488
350
240
204
278
399
169
976
912
35
71
295
675
308
825
350
732
742
189
644
46
304
756
666
53
30
966
26
214
44
214
786
767
403
84
913
218
938
430
784
189
551
190
390
423
231
536
98
138
501
472
981
630
596
989
180
864
399
32
567
56
625
362
395
455
987
467
255
234
840
587
362
555
268
992
542
978
328
239
508
819
802
639
486
397
439
562
268
450
683
555
247
376
910
943
340
598
964
442
324
26
831
675
511
272
567
882
485
267
277
229
469
51
587
386
352
164
756
726
522
979
856
749
114
507
755
823
883
267
741
737
642
783
465
36
48
354
560
150
757
755
822
103
696
434
97
922
670
899
658
202
968
411
140
382
941
684
859
883
853
354
455
107
635
560
845
960
677
30
428
200
806
743
971
15
348
697
126
627
810
809
206
333
488
267
246
630
396
286
867
123
165
716
61
986
137
12
204
319
347
396
944
80
271
6
141
282
62
851
956
735
961
300
563
399
600
803
577
754
321
707
482
79
396
730
55
652
843
169
927
332
576
557
248
780
593
934
911
155
77
706
714
44
895
395
701
1
870
718
536
608
113
221
716
672
627
425
258
993
531
669
932
522
164
280
60
273
344
457
122
999
505
332
651
172
551
43
177
566
702
427
518
237
26
250
827
982
210
997
300
171
829
203
875
672
434
297
297
729
820
821
748
994
55
562
414
398
863
570
772
370
113
973
615
834
651
620
304
446
343
138
399
211
464
718
194
382
839
213
611
626
372
386
776
511
205
336
840
875
942
61
499
623
875
308
854
43
572
691
277
899
825
582
32
833
869
472
904
615
751
995
665
316
953
129
220
506
729
140
454
361
556
168
60
86
305
755
671
127
399
159
488
19
120
498
380
752
179
846
826
862
931
571
319
253
52
843
642
989
810
140
179
644
99
755
554
741
94
690
164
911
620
97
680
97
883
801
309
289
504
921
511
647
896
895
182
216
251
887
941
132
487
253
176
289
396
251
964
158
643
166
717
334
456
211
438
405
923
739
634
47
898
538
579
299
804
646
307
27
631
980
122
333
36
180
774
894
776
787
692
493
358
347
617
578
3
958
556
727
603
634
716
568
143
848
541
643
818
971
467
103
924
306
85
62
842
112
19
378
487
301
36
507
273
4
555
182
658
239
644
957
320
902
293
296
731
124
69
981
234
526
505
437
519
532
940
313
378
964
185
331
673
835
22
276
9
649
34
413
113
6
302
201
840
975
594
816
419
67
148
429
576
514
437
599
520
866
926
250
70
132
977
547
328
819
560
136
43
167
660
21
935
136
933
375
490
746
925
327
362
375
592
807
793
232
467
595
368
431
784
995
531
761
163
432
987
571
706
533
887
853
859
317
307
273
282
705
782
745
128
666
628
90
600
357
749
92
925
995
928
691
151
946
325
106
476
695
348
710
697
203
618
149
973
239
578
970
17
129
185
514
735
405
81
103
347
465
303
232
203
959
742
692
733
580
782
978
581
240
445
16
692
392
771
849
585
126
387
576
885
71
838
99
629
933
589
423
125
663
428
719
503
428
210
279
176
69
494
965
465
468
418
67
131
524
800
342
944
130
449
798
562
624
208
280
657
632
964
123
636
511
390
427
282
136
248
859
42
605
991
425
369
428
728
161
491
215
403
569
299
100
403
175
453
355
362
523
394
1
395
106
432
444
539
246
346
33
391
988
81
66
552
389
453
861
259
393
355
986
402
89
539
541
480
635
294
282
888
681
995
217
377
49
250
496
742
847
64
374
113
24
866
219
685
300
13
874
903
174
760
825
70
565
274
329
524
291
390
987
962
478
208
191
477
734
229
265
474
834
652
145
27
177
638
477
756
34
290
647
983
221
315
933
887
291
257
828
411
31
224
820
264
274
150
768
35
67
760
975
515
681
18
571
15
169
327
573
560
54
454
362
519
655
466
289
826
261
65
454
704
432
151
115
397
302
706
621
900
436
725
232
690
692
766
565
292
765
405
809
286
3
695
868
70
364
377
995
811
258
20
126
769
579
564
312
288
862
685
259
818
701
838
613
170
558
716
989
180
642
619
310
615
411
503
633
878
10
262
519
483
20
624
824
878
508
393
159
290
672
791
363
939
980
852
813
858
160
838
995
800
21
531
13
714
299
108
466
17
314
570
745
453
91
182
696
916
654
476
517
169
567
580
989
402
255
62
425
291
285
331
947
256
281
185
441
814
209
665
710
644
864
784
340
165
900
818
52
43
357
71
74
949
982
210
759
48
285
996
46
935
962
827
849
302
67
756
151
49
149
200
112
869
354
870
755
520
933
279
947
155
95
752
205
54
573
927
792
861
964
795
786
361
403
266
425
939
905
415
689
673
519
138
88
696
768
137
158
472
676
217
155
635
25
772
458
860
318
876
131
87
711
59
575
3
597
347
921
844
499
661
611
237
736
219
624
295
418
750
505
965
842
56
719
506
717
753
476
120
737
588
88
618
965
904
42
953
377
365
820
240
141
50
940
414
195
173
379
448
387
851
34
607
509
740
396
453
74
987
796
470
6
152
425
203
377
177
745
139
195
711
456
64
813
496
51
495
253
113
550
975
0
592
18
809
761
98
268
646
513
634
697
465
226
763
123
441
429
386
871
5
911
45
22
927
273
188
47
67
43
843
881
114
119
49
334
281
761
799
796
467
849
730
433
30
2
78
702
760
729
484
694
704
894
593
669
791
681
633
124
922
782
4
902
416
794
758
862
83
839
479
706
69
429
541
774
163
614
612
927
343
190
760
274
15
883
545
108
821
633
104
664
923
143
686
578
960
976
975
198
118
41
0
237
729
624
320
942
504
312
762
120
311
800
899
520
921
816
535
685
622
360
420
239
848
396
363
566
162
829
412
653
409
103
622
180
136
142
412
843
801
541
185
406
549
20
147
603
18
207
641
709
895
465
621
530
722
220
394
490
566
992
339
999
197
423
867
990
475
881
951
11
380
717
866
521
220
253
265
672
584
159
925
99
157
938
392
112
348
199
691
753
649
944
38
473
487
345
906
502
701
773
272
698
804
272
66
476
480
814
523
6
400
866
674
538
865
986
943
973
632
46
741
761
315
933
271
560
872
194
975
15
153
166
54
776
86
527
635
357
0
767
130
518
337
211
414
517
402
664
15
282
282
992
535
527
422
448
822
366
466
81
129
68
636
49
267
197
952
318
753
550
985
599
913
412
392
0
930
970
246
153
679
467
625
130
943
63
668
750
744
801
685
50
991
379
865
58
51
24
175
435
601
394
484
597
494
629
114
37
710
416
867
624
328
267
817
845
139
91
805
504
587
948
646
495
229
33
351
862
530
13
325
420
583
13
471
505
167
791
863
354
358
737
324
507
518
957
684
334
268
655
136
680
829
822
324
497
566
819
601
384
127
430
969
637
487
86
343
926
246
902
901
441
433
296
128
583
906
355
743
543
847
221
635
78
374
959
76
122
607
341
210
801
800
978
866
835
60
545
70
530
566
477
726
397
713
111
274
179
896
945
715
770
397
426
201
792
307
931
126
980
452
834
441
546
142
708
934
593
240
214
570
215
539
288
315
172
952
614
169
988
59
773
628
741
546
443
149
225
146
571
210
437
95
890
771
73
284
360
319
878
481
312
43
431
606
642
112
543
148
479
394
579
772
28
200
101
548
475
340
670
583
883
31
246
286
297
909
747
36
441
313
313
473
683
645
533
84
490
325
568
598
382
31
879
415
124
866
909
18
917
650
976
406
120
986
116
977
242
438
42
972
788
452
750
204
663
327
288
449
499
468
253
410
473
801
741
212
113
839
708
396
503
352
579
422
882
974
551
157
527
947
503
665
63
583
726
623
263
653
775
798
427
708
818
737
719
228
909
64
757
103
328
358
298
856
525
79
139
906
227
972
848
404
775
662
460
170
97
306
365
765
752
176
409
609
243
981
9
45
536
547
893
388
411
661
52
820
614
487
542
769
807
744
34
839
132
464
359
844
209
3
834
576
974
25
584
488
727
826
273
10
993
374
339
319
458
629
790
850
337
233
869
703
572
730
209
429
707
184
672
204
683
665
358
782
589
236
899
672
399
721
539
633
287
980
498
99
735
799
834
262
320
179
953
84
841
145
523
637
19
682
992
658
234
912
750
34
275
590
86
776
138
829
187
101
34
321
629
564
647
344
775
371
776
527
11
748
547
891
797
960
928
974
746
114
754
527
262
63
922
146
35
152
480
161
186
14
366
970
420
518
234
383
686
8
992
609
908
71
10
899
673
357
309
273
19
861
420
386
257
975
903
671
134
63
597
177
650
558
522
139
284
528
208
100
424
813
524
2
432
589
479
143
803
931
263
970
211
540
432
853
138
611
656
814
947
468
394
797
726
905
682
291
202
636
274
971
907
565
248
903
789
796
137
42
435
130
106
434
444
28
734
186
815
12
386
525
361
48
430
212
279
536
868
153
693
956
435
875
805
443
320
837
14
44
389
877
478
388
446
435
294
1
948
186
649
575
252
583
111
802
174
506
127
401
641
117
424
726
973
707
197
494
427
308
560
977
830
862
785
482
712
112
287
791
324
785
279
475
225
12
657
588
939
81
185
965
332
497
292
631
745
675
328
376
319
384
208
920
534
256
635
579
382
78
533
908
75
409
263
536
947
279
468
62
578
335
237
286
389
977
35
164
889
807
862
509
96
710
776
775
964
907
827
733
949
660
814
400
369
862
237
853
85
484
618
299
383
596
737
339
754
440
560
845
139
980
854
893
105
608
315
237
172
321
389
610
756
377
978
360
303
49
960
348
821
354
13
117
184
122
710
801
904
510
471
29
37
347
86
315
5
352
426
798
374
158
79
845
42
268
42
18
28
907
511
664
98
525
603
600
27
925
120
362
825
970
85
825
489
78
519
729
993
415
788
603
314
644
781
617
565
867
555
214
656
230
726
871
54
625
868
359
380
959
17
499
973
836
322
788
745
173
185
815
769
898
412
670
899
954
648
243
457
860
395
764
943
643
844
119
884
131
907
197
727
660
861
346
293
363
743
665
783
60
232
437
532
586
79
252
774
746
176
506
533
201
468
395
463
46
166
92
216
546
879
346
859
290
330
319
903
251
218
494
236
313
339
697
647
213
615
163
874
706
986
451
796
971
805
526
155
654
714
8
855
145
520
572
41
798
619
659
986
912
936
790
522
448
880
281
882
845
267
267
648
718
150
183
88
268
13
350
617
164
185
988
794
997
856
329
827
747
877
365
458
901
182
827
831
679
919
100
852
699
838
220
48
15
237
368
950
519
926
967
440
715
207
890
889
516
748
678
571
291
802
178
316
376
381
503
628
774
864
403
305
960
776
839
448
75
250
168
196
788
672
485
915
942
16
555
610
105
885
383
841
45
185
520
24
498
71
170
497
362
359
280
897
395
657
941
815
55
862
707
257
985
666
474
405
174
849
659
838
625
393
424
433
638
888
128
885
623
992
846
187
941
354
136
334
388
270
534
603
325
929
280
331
578
782
984
689
809
926
314
999
527
904
659
767
133
399
450
12
390
834
3
573
843
706
390
553
15
858
124
490
844
123
515
893
501
287
473
17
288
950
676
317
133
562
340
300
781
204
804
430
592
182
983
557
420
283
162
20
941
610
919
858
482
185
867
797
399
671
861
517
65
497
494
792
578
994
231
201
907
431
892
126
401
45
247
643
385
913
252
519
23
225
87
662
447
865
111
770
534
59
409
840
846
632
206
271
337
150
993
250
268
250
170
217
805
708
954
82
870
242
50
490
72
799
774
97
968
77
491
914
104
300
714
212
714
949
122
616
347
185
747
423
635
127
905
611
441
854
195
730
256
48
242
855
116
742
45
587
902
632
48
166
638
406
898
493
856
917
608
189
151
168
214
370
794
794
839
558
168
272
505
961
582
173
267
426
788
646
218
71
893
685
483
527
930
694
622
575
940
146
647
659
214
9
682
570
741
101
948
653
404
678
242
687
240
43
758
209
969
447
628
452
804
292
432
480
841
617
715
222
579
292
414
245
871
38
366
939
503
308
208
942
609
96
174
101
643
535
953
165
818
986
168
75
216
580
185
315
274
535
276
503
912
420
457
420
35
672
241
575
387
494
796
157
392
235
270
492
403
102
983
574
742
107
135
846
696
644
435
734
59
124
321
250
812
934
457
849
438
58
766
858
58
642
244
607
958
645
94
88
231
704
549
396
833
940
849
970
41
896
617
173
433
263
150
475
143
169
608
570
690
656
849
391
846
467
244
72
306
831
369
163
150
974
939
531
519
362
924
722
526
684
277
939
617
66
571
45
163
713
568
436
610
909
661
993
587
127
981
837
230
328
956
774
645
687
159
923
71
823
765
364
15
514
487
224
338
897
72
857
532
71
34
406
239
554
429
420
318
833
204
756
75
335
929
559
892
545
855
852
44
827
639
481
378
907
683
435
186
531
834
19
365
203
323
140
338
458
471
200
548
901
938
754
461
936
384
355
935
956
297
586
952
185
557
307
532
878
47
344
722
522
582
152
793
971
984
889
855
366
131
207
940
331
310
704
975
940
658
335
187
711
240
982
460
958
393
29
343
421
283
12
792
369
850
744
638
472
769
852
773
401
438
922
832
918
56
962
268
250
240
906
976
353
844
383
445
764
48
314
340
832
827
119
979
166
533
804
486
167
393
145
942
736
344
332
735
354
560
365
582
31
286
310
518
461
364
323
622
962
626
751
65
799
111
200
734
211
36
97
547
243
273
337
502
606
362
207
150
898
609
541
629
985
450
422
973
785
597
353
93
105
261
786
184
265
340
664
515
407
875
959
636
366
925
610
0
235
690
390
906
736
564
438
788
172
37
97
676
934
858
694
843
947
520
10
121
153
910
824
29
51
375
157
161
239
253
623
767
252
479
504
524
55
558
601
918
806
597
127
796
994
279
983
650
55
602
739
152
801
350
539
103
34
79
111
188
74
823
648
12
332
851
572
245
55
549
358
626
831
572
248
96
167
199
568
247
987
528
68
969
782
682
231
377
688
127
97
87
994
181
32
538
975
305
213
575
286
157
214
707
344
17
345
772
346
877
330
312
736
899
874
67
101
825
187
529
811
764
789
343
360
505
205
337
705
430
646
145
445
499
423
400
213
515
441
441
872
552
800
155
20
482
411
942
511
106
296
548
206
394
848
977
802
310
631
599
476
644
950
216
405
197
231
711
777
320
643
181
34
524
878
838
805
772
464
231
326
546
458
781
85
691
172
818
266
664
829
725
194
827
697
928
3
753
850
998
127
47
364
500
313
597
136
991
924
84
34
389
667
543
698
243
389
458
439
747
465
688
159
350
535
472
318
537
687
160
165
481
805
361
971
46
105
523
965
812
510
894
359
795
825
931
333
799
981
247
946
570
388
330
970
693
746
385
497
32
590
557
100
226
8
937
119
535
828
194
38
962
632
657
685
199
25
204
964
556
429
700
40
304
268
105
664
597
787
678
488
315
818
21
811
196
556
365
430
6
786
746
424
81
42
476
994
24
242
215
635
943
612
212
323
251
511
852
837
113
526
826
357
1
176
543
50
584
481
64
114
966
247
118
725
419
804
598
934
798
345
849
992
392
800
385
48
844
183
314
689
45
687
959
704
241
475
990
33
702
312
589
8
585
706
643
511
752
518
704
878
441
735
817
450
832
747
974
304
854
603
859
186
472
845
793
127
971
69
368
255
522
228
171
496
580
344
840
318
381
776
205
228
298
417
830
125
811
937
791
176
120
204
872
229
117
946
488
602
844
142
962
920
287
319
730
833
941
670
956
853
177
357
505
759
67
605
292
163
378
77
937
615
912
611
811
282
133
684
63
539
505
171
611
981
279
297
791
877
822
159
798
416
738
650
975
612
632
322
610
34
325
643
493
623
822
903
586
538
288
857
486
438
423
437
185
245
664
802
86
970
569
819
902
502
55
14
913
276
891
456
803
333
985
761
439
204
857
160
640
200
503
860
735
566
935
16
619
636
789
245
998
146
781
666
665
865
827
709
580
906
543
782
866
244
880
917
611
977
481
617
182
858
177
463
303
665
323
670
129
800
781
249
180
782
406
860
167
11
114
331
274
482
80
315
344
203
974
734
565
176
994
555
852
654
870
696
478
687
351
356
562
748
596
561
265
832
80
177
779
109
187
807
869
80
873
262
932
530
724
170
183
356
539
527
931
342
249
733
102
421
205
3
794
305
32
301
593
824
285
239
677
804
526
17
708
820
32
627
152
719
730
463
159
116
830
2
920
152
812
660
614
708
798
975
715
117
854
588
260
654
242
365
84
887
846
658
936
847
62
737
300
619
794
962
114
559
26
62
620
227
696
523
20
173
533
278
273
399
526
410
650
244
562
894
214
447
686
980
77
816
799
399
69
492
57
286
908
942
670
655
900
13
48
82
208
714
32
994
169
352
545
224
739
782
661
205
421
943
923
659
106
671
261
346
449
184
759
36
281
116
492
981
431
526
815
803
919
505
498
686
896
518
334
347
656
685
24
917
574
501
764
203
505
543
386
401
420
107
455
758
820
170
849
981
440
48
34
663
454
779
826
797
876
431
682
80
712
554
238
462
116
842
123
987
945
627
892
479
169
197
573
824
247
966
897
2
564
465
799
961
789
396
846
216
55
789
699
164
483
734
324
930
316
887
326
541
680
964
498
260
790
829
516
855
386
523
358
421
751
894
983
215
102
714
808
209
800
194
165
901
675
19
857
639
642
464
449
245
828
845
763
460
938
562
851
691
164
653
110
796
179
341
564
315
719
786
101
969
918
548
656
568
517
754
59
901
993
733
956
889
946
217
948
279
942
147
966
50
744
160
72
683
417
364
632
689
439
782
739
298
779
919
352
448
198
343
346
2
400
803
977
114
407
321
435
37
612
732
290
433
868
447
39
626
439
20
243
847
328
226
943
900
179
656
872
532
653
640
440
324
256
921
549
347
483
796
337
579
134
504
841
2
523
827
890
606
445
719
843
114
623
760
388
200
548
915
959
160
532
486
736
802
344
569
669
850
376
973
315
356
913
172
944
976
258
963
32
651
572
827
236
780
197
67
36
285
388
204
850
258
707
592
615
789
247
13
963
878
443
256
707
986
58
196
211
336
213
575
371
489
228
153
259
550
719
568
575
982
405
923
687
598
803
201
171
613
272
406
405
513
129
628
74
748
760
418
740
841
340
282
460
71
312
931
75
393
46
860
80
407
434
422
509
319
749
36
567
523
552
125
728
716
659
779
627
534
994
386
349
226
697
155
848
379
39
312
640
435
826
376
803
965
848
985
61
749
239
639
617
291
918
142
363
174
761
329
378
118
67
540
290
594
356
103
554
893
701
925
715
635
910
315
339
408
186
51
157
660
60
879
578
411
319
162
944
480
353
897
986
810
542
416
878
604
461
927
716
445
266
796
524
365
339
244
994
610
109
913
492
581
716
860
407
440
417
441
520
123
955
222
298
126
204
733
620
404
318
176
734
628
394
292
25
340
578
107
636
237
24
901
537
693
883
675
866
840
367
467
543
16
774
749
554
548
678
42
228
673
204
92
614
218
546
947
144
404
767
705
770
887
475
215
155
245
331
288
74
872
66
93
512
225
101
156
873
401
212
460
832
708
926
998
48
999
129
646
756
122
346
313
866
379
676
493
739
357
132
106
273
54
711
9
263
460
559
495
123
333
759
209
873
826
531
7
175
728
592
776
191
854
467
782
138
702
585
549
65
891
326
714
182
631
886
470
564
174
216
503
427
110
98
456
377
926
75
814
97
597
15
717
491
361
988
85
862
618
146
239
76
644
946
240
168
127
113
380
47
378
162
493
520
444
334
980
33
623
475
450
77
613
334
757
241
785
774
217
468
607
427
18
766
810
88
792
71
215
268
96
381
545
112
165
972
663
884
610
881
929
754
722
903
517
909
528
785
178
901
271
338
926
497
115
950
785
376
528
440
591
101
484
981
913
948
210
933
341
616
174
797
745
210
82
194
457
843
342
85
570
708
867
359
26
775
973
440
75
970
557
840
475
85
107
563
410
789
723
155
609
864
405
521
179
630
766
230
142
966
298
151
463
76
519
202
849
725
658
309
562
574
266
151
176
933
599
792
268
121
886
317
917
151
151
325
460
520
914
624
745
363
416
867
884
915
445
974
578
542
91
224
835
792
907
806
683
613
222
142
21
495
354
202
514
434
560
183
949
829
756
211
229
990
579
855
757
386
9
130
359
703
548
52
230
199
431
692
923
245
506
501
196
951
80
405
943
91
941
546
189
734
638
526
420
239
390
620
441
737
737
334
834
371
783
943
477
351
864
634
976
749
197
188
328
966
577
539
334
207
939
20
551
342
934
726
883
653
583
343
276
910
182
343
109
761
258
99
142
158
245
416
38
517
66
434
543
447
92
326
136
283
298
787
363
188
549
308
717
916
96
932
276
397
766
860
828
560
432
848
482
115
785
957
992
302
600
89
704
657
995
539
924
708
916
865
380
727
832
872
529
433
93
990
960
576
197
68
478
164
453
213
313
260
313
685
258
786
987
617
300
676
368
192
855
572
716
771
220
794
349
416
249
316
524
523
765
282
763
849
113
991
222
11
326
369
375
249
246
168
619
333
149
500
501
999
47
34
43
537
738
153
508
548
526
857
430
20
311
641
938
20
629
59
439
798
21
875
913
550
55
11
88
460
564
429
134
485
598
901
41
588
204
484
675
708
720
980
118
178
253
439
973
869
473
808
846
917
790
196
13
181
67
918
237
620
322
72
668
196
412
202
826
987
509
241
310
361
844
861
726
914
117
815
686
619
810
398
540
180
672
689
19
896
163
458
162
722
310
584
81
617
460
530
322
583
714
485
393
616
948
16
502
891
616
691
438
438
515
894
63
949
873
554
90
382
840
707
329
57
561
465
410
101
734
155
475
31
743
291
547
419
339
136
522
631
152
494
660
848
442
17
408
428
618
354
145
596
922
427
122
579
371
180
30
118
485
416
901
886
630
339
187
301
992
10
662
169
127
273
441
630
269
985
237
307
790
508
200
331
644
111
290
916
855
998
837
32
889
987
825
594
249
847
480
985
248
460
493
689
310
377
241
943
564
619
227
371
788
419
792
576
494
785
616
142
602
331
555
559
387
481
588
383
519
671
826
617
645
268
727
178
395
305
271
460
475
177
599
477
780
740
844
335
880
478
632
726
165
259
7
965
693
550
219
24
881
473
983
930
754
219
93
870
26
134
944
233
595
864
863
761
466
426
5
722
78
187
463
345
588
961
98
435
968
384
525
11
677
549
962
679
677
975
524
847
391
613
330
319
480
467
264
874
624
856
353
386
877
763
193
146
738
809
375
138
567
245
55
611
578
641
287
362
486
732
852
111
766
247
523
652
669
278
397
207
823
984
410
73
231
197
309
105
788
54
440
939
925
276
101
226
243
0
588
777
996
735
654
961
91
933
694
343
901
520
9
937
21
19
172
808
851
343
641
277
17
746
301
543
371
788
786
428
550
778
441
66
513
546
464
998
7
773
234
892
932
958
174
10
676
360
81
179
743
927
323
172
528
544
930
515
41
323
110
402
937
417
548
511
111
967
826
869
294
655
888
856
659
32
195
225
24
269
237
120
820
448
182
926
624
522
902
875
741
809
93
908
277
906
556
679
97
356
879
826
459
234
832
68
175
32
599
656
692
95
276
407
325
677
411
668
905
431
963
670
807
161
944
707
246
447
238
606
607
963
465
809
218
200
569
49
638
565
30
176
928
92
475
192
730
732
842
100
619
38
608
571
206
540
904
123
358
797
868
182
404
414
550
690
771
986
820
383
443
725
874
843
663
77
750
624
83
836
164
56
403
964
295
469
886
384
922
106
895
684
293
670
409
326
31
922
141
237
830
908
840
65
833
579
975
995
403
340
291
794
876
209
316
793
318
236
27
155
642
930
796
488
868
204
599
764
884
896
260
834
769
466
991
293
3
33
747
659
142
692
142
900
270
876
891
545
915
292
706
205
11
744
424
43
482
48
945
801
135
634
121
238
610
629
787
396
766
977
778
856
836
432
251
970
373
458
468
833
652
74
776
317
901
946
868
925
334
766
560
678
608
935
860
514
829
369
160
227
87
830
775
456
402
862
12
889
137
772
687
535
354
912
758
169
230
70
824
549
401
462
551
220
860
640
963
122
826
295
28
10
596
446
575
799
453
970
37
531
426
440
161
359
229
335
158
426
835
601
277
411
530
344
706
849
976
345
424
297
949
830
167
350
493
746
582
56
364
336
502
64
242
160
997
360
536
48
346
248
571
101
349
143
313
28
228
879
146
942
424
411
528
309
218
377
6
407
165
5
617
799
678
560
937
640
928
141
176
357
911
622
717
913
798
91
277
0
701
897
127
192
81
365
77
47
604
889
295
540
773
830
836
235
798
10
430
742
525
586
398
171
435
906
394
877
892
6
713
216
587
866
714
376
632
77
762
950
757
724
53
216
530
146
385
578
982
104
897
104
186
741
371
251
929
928
911
457
882
550
146
558
427
685
253
673
108
128
737
574
311
507
842
498
883
935
779
40
441
283
754
692
628
218
770
496
468
520
98
786
824
676
38
562
248
684
438
256
170
434
245
88
225
606
532
13
80
312
196
641
323
326
332
970
792
819
237
635
95
817
85
708
60
157
401
89
78
279
203
283
821
735
170
761
35
182
655
158
290
705
691
109
58
463
683
533
139
259
989
509
770
220
150
994
52
416
296
863
639
804
519
516
649
940
460
269
767
63
802
853
938
288
272
287
944
612
989
951
741
818
982
234
544
68
290
180
257
393
902
47
526
352
463
62
570
937
486
994
834
326
116
635
532
567
427
566
203
252
599
808
201
429
112
14
492
136
603
399
133
455
846
315
360
44
336
193
96
70
390
754
208
431
439
121
155
923
911
229
21
33
183
671
346
226
679
881
920
708
510
557
200
528
625
88
720
443
670
962
610
395
418
827
740
932
524
820
833
356
294
434
860
908
23
348
424
526
261
452
470
20
615
352
183
69
617
998
715
392
190
961
371
179
680
431
193
204
650
740
4
855
310
281
222
474
104
755
109
14
484
29
990
508
741
348
603
644
919
420
412
410
133
597
799
146
951
363
313
132
979
722
606
369
260
118
730
903
651
421
436
954
537
511
323
228
219
619
446
203
995
758
448
55
332
161
141
873
808
20
453
22
402
793
171
553
100
139
629
696
924
960
316
431
644
144
140
578
799
670
407
470
909
344
899
949
738
268
27
469
917
641
320
509
853
781
668
238
105
633
304
429
135
642
247
902
447
552
149
303
176
344
421
141
988
834
546
275
289
704
721
623
627
658
853
606
876
742
760
659
751
100
184
265
201
964
432
919
989
0
472
366
918
989
840
603
358
188
148
14
657
529
608
959
315
755
852
934
271
473
712
461
877
211
970
341
432
364
826
357
212
500
603
89
639
511
778
156
614
169
435
382
2
865
245
360
11
795
483
793
970
836
888
880
893
850
979
475
520
716
694
532
520
521
232
765
362
293
572
941
998
614
628
289
540
313
57
283
735
214
203
146
620
625
995
346
485
631
888
233
893
13
655
506
831
396
704
858
670
849
825
554
719
479
518
256
425
694
37
430
178
114
774
498
651
484
92
947
434
764
864
387
215
691
437
269
440
529
903
239
775
645
294
170
303
739
623
684
469
748
911
592
449
483
468
585
840
770
234
234
316
65
527
671
399
892
459
60
771
107
316
878
792
658
987
511
903
580
22
602
512
194
983
240
856
387
733
907
379
739
420
140
110
941
884
599
183
387
517
52
2
641
580
285
964
806
588
687
954
117
37
190
100
825
696
161
875
66
616
984
177
159
953
104
137
835
410
812
748
33
223
769
46
82
844
523
939
996
662
119
995
80
404
958
756
506
399
756
697
88
99
910
757
871
664
629
95
108
106
629
416
433
823
401
663
601
887
221
562
446
798
585
983
55
614
872
179
434
842
216
457
967
606
922
580
186
976
792
4
479
996
438
463
640
965
227
555
653
355
174
23
975
895
885
914
596
464
344
240
51
13
619
311
122
755
481
806
476
233
726
364
761
855
90
60
766
773
974
907
932
27
515
180
842
856
339
621
545
535
710
720
138
218
287
278
124
722
625
375
872
838
555
168
154
574
828
436
74
808
964
848
845
944
281
207
735
778
113
263
581
328
880
502
964
22
496
618
892
120
700
366
925
483
89
839
821
69
59
51
906
587
160
548
709
862
74
388
135
20
56
587
694
969
797
78
169
234
587
771
933
61
577
704
735
109
464
305
454
591
869
467
37
214
569
934
136
153
693
737
766
519
416
543
840
623
606
372
458
204
655
263
704
199
976
737
586
585
41
105
246
138
360
119
771
385
458
619
141
478
594
766
279
869
873
870
86
956
831
654
674
679
373
145
58
158
568
281
238
809
602
239
497
742
86
640
976
751
775
151
555
593
860
194
328
549
356
185
173
869
898
710
960
672
115
300
758
205
489
490
293
134
978
725
190
733
756
550
388
485
440
485
422
399
706
773
203
142
195
421
660
988
368
810
192
824
853
33
190
360
882
879
625
103
433
123
965
598
963
933
881
196
380
784
289
712
886
639
407
87
394
282
329
55
69
303
182
467
84
979
970
515
70
674
135
890
307
50
802
638
59
102
175
86
114
595
666
283
383
240
311
773
408
163
60
924
734
984
708
960
434
718
239
307
437
632
524
304
340
94
594
49
379
91
276
718
928
232
63
697
149
503
764
377
696
904
948
814
685
449
737
902
704
493
275
287
214
940
469
226
103
877
961
353
338
303
760
415
420
105
956
893
955
917
899
142
185
402
197
793
521
789
190
887
508
396
447
264
17
627
700
330
872
25
188
527
284
756
359
412
715
547
669
370
839
460
94
117
346
37
214
344
278
936
817
421
577
134
445
920
142
790
827
369
678
978
800
123
24
113
296
469
457
175
423
398
941
604
669
637
10
707
202
318
396
657
445
488
179
59
323
477
429
266
159
230
806
52
910
226
343
330
195
843
32
885
854
374
643
893
197
795
617
593
243
832
223
836
330
777
170
413
741
790
568
754
262
256
941
736
306
17
816
388
470
51
182
85
985
343
108
133
30
360
817
865
48
475
593
170
316
482
758
139
895
112
186
785
977
326
378
203
515
332
175
763
840
176
918
983
856
694
826
754
221
819
390
739
646
789
691
761
838
658
456
271
689
86
509
888
962
935
385
937
227
797
23
203
703
96
263
321
252
272
288
863
883
105
355
170
945
885
506
989
424
806
463
308
803
358
633
763
539
493
598
452
718
416
262
612
963
483
578
189
163
833
452
676
628
7
158
294
550
644
16
206
651
635
832
294
286
813
782
276
728
381
170
525
414
746
256
343
790
525
284
814
107
808
591
341
670
816
200
403
637
790
37
885
841
937
629
613
992
722
58
734
108
161
240
607
668
639
308
944
113
128
410
874
81
762
495
364
918
937
953
181
3
488
317
939
521
703
794
49
791
297
330
805
204
786
348
470
835
111
509
790
588
964
897
271
457
872
83
227
507
720
263
391
146
901
285
298
768
586
929
881
375
472
144
380
143
734
393
195
588
277
989
680
351
219
869
260
756
59
681
385
983
478
657
523
731
876
512
881
487
945
421
545
876
996
94
63
635
422
995
170
260
413
625
144
743
599
352
631
298
637
11
681
550
142
16
434
150
127
721
585
854
299
74
217
0
31
94
685
912
316
963
626
676
992
299
24
922
912
674
711
106
956
524
627
566
140
189
333
979
51
39
644
731
72
477
885
359
418
792
137
716
686
91
906
458
961
101
41
528
2
894
493
713
142
574
211
797
231
647
845
218
208
62
76
764
712
788
914
692
460
705
643
878
470
742
565
877
662
540
29
99
646
854
603
498
291
969
409
817
310
312
764
74
533
194
530
745
98
516
24
378
8
240
64
658
966
67
933
510
920
38
34
960
617
861
344
178
868
256
79
576
817
147
667
175
590
78
301
627
609
400
395
76
744
739
208
181
329
54
447
982
508
9
85
917
722
729
901
773
898
768
276
445
155
690
5
457
700
822
403
637
178
305
436
995
725
660
724
2
701
874
564
917
83
327
621
37
908
599
853
974
960
422
128
514
357
150
723
182
637
814
394
834
923
956
55
629
744
227
624
215
27
369
138
648
829
462
761
321
373
883
950
21
217
669
606
572
969
572
472
693
181
902
467
130
982
674
292
812
616
907
765
969
419
386
5
913
614
397
999
331
808
180
305
639
399
44
830
614
924
871
296
83
144
89
451
932
493
203
391
326
608
902
39
387
42
537
75
426
340
709
452
932
810
90
831
120
581
135
283
114
738
557
912
710
528
179
282
302
18
187
942
267
710
136
773
153
426
123
881
843
378
352
187
103
292
441
381
910
205
546
72
452
302
608
603
826
628
534
523
488
692
904
679
601
993
417
686
45
986
559
263
909
72
844
137
234
17
810
336
435
335
781
415
925
926
840
914
529
569
280
509
314
243
852
104
602
549
758
290
573
955
823
950
114
54
277
553
117
746
825
649
837
641
53
29
998
151
940
821
643
236
723
227
966
61
592
309
968
370
842
731
727
340
197
235
424
217
448
852
171
848
473
861
464
540
683
358
436
2
740
766
199
740
639
942
37
65
259
912
610
86
685
22
573
870
887
69
141
342
816
944
37
221
910
643
290
360
15
302
49
67
523
570
76
151
270
302
60
284
886
304
181
7
693
359
716
133
0
160
333
794
861
627
498
633
102
647
502
51
885
168
513
407
938
207
152
323
688
362
827
779
352
775
968
566
346
324
540
41
326
271
280
961
395
23
730
443
591
874
974
552
758
923
462
288
259
413
313
221
760
362
211
615
103
515
907
272
798
905
86
101
656
837
848
223
139
462
923
752
509
206
39
99
831
449
233
197
259
635
293
900
421
245
357
0
233
447
513
68
54
839
694
993
247
502
125
229
472
87
574
511
340
267
406
894
128
388
885
497
278
109
821
140
949
899
320
267
694
909
989
312
974
807
716
778
717
512
364
585
83
976
258
79
133
921
738
610
128
722
981
391
44
228
547
673
540
13
177
168
518
998
996
805
424
195
114
173
437
424
414
197
715
597
775
903
248
555
875
143
335
505
672
24
629
122
501
593
277
520
285
113
741
828
817
330
687
438
890
162
189
355
339
436
853
824
453
830
807
108
807
438
498
851
423
720
764
723
88
956
484
153
918
594
235
624
174
295
273
38
216
993
287
798
922
10
274
116
15
778
309
568
559
287
522
650
297
802
498
776
197
282
985
918
122
161
810
126
377
477
424
711
493
401
343
739
363
239
421
118
944
388
426
602
302
661
333
475
528
708
789
501
421
735
467
724
281
888
347
212
921
168
96
516
667
735
965
723
898
618
790
363
921
831
428
878
59
40
328
891
543
654
99
739
491
103
527
811
173
473
686
89
258
479
322
803
598
178
725
138
313
900
406
758
129
225
573
615
753
65
986
243
783
320
729
902
20
146
480
222
231
640
256
726
905
148
485
719
796
958
669
135
898
843
563
610
899
807
559
795
264
518
680
12
483
779
104
284
480
397
603
631
127
967
99
888
889
725
553
446
73
185
449
779
217
843
50
150
906
390
506
301
687
394
641
311
774
527
765
711
565
551
605
401
721
678
307
755
943
457
170
797
477
267
14
557
571
518
202
495
727
801
946
923
583
963
971
617
922
515
41
478
161
726
59
814
786
307
663
296
580
892
830
155
898
870
813
977
180
64
399
576
846
282
263
346
107
453
464
905
426
909
803
830
337
556
524
418
888
508
709
589
523
434
62
574
891
468
757
165
394
485
566
944
220
970
340
513
244
696
285
202
887
285
665
571
526
771
45
207
642
875
851
406
580
587
651
379
345
131
563
480
962
216
414
455
756
832
391
453
324
980
713
742
899
886
484
624
898
245
928
56
559
913
547
887
604
340
996
356
753
335
779
241
43
414
222
257
430
10
928
448
336
14
535
240
316
809
994
957
589
653
655
357
348
449
805
837
502
461
442
243
976
119
291
947
219
419
122
87
810
370
352
44
552
753
130
688
599
325
867
533
745
715
675
754
992
919
605
220
52
828
357
31
229
391
166
917
79
979
401
562
92
220
382
679
803
715
586
38
56
965
453
438
896
539
821
834
984
307
163
332
320
191
472
834
854
794
879
187
229
159
10
35
713
838
622
937
643
32
306
615
164
221
522
265
124
364
729
420
526
149
817
624
530
421
295
488
227
925
275
677
540
243
981
384
113
837
737
61
685
561
475
698
493
133
5
163
224
526
215
270
874
946
721
471
890
219
841
327
433
668
171
121
12
127
128
193
562
138
28
331
698
340
475
702
275
210
569
805
106
326
619
69
757
836
657
362
479
586
601
594
906
180
707
564
151
749
152
684
508
921
947
59
85
74
278
92
561
498
319
743
18
252
704
76
498
204
185
951
842
734
903
28
574
163
270
115
355
852
409
143
812
404
649
719
373
397
618
507
575
437
720
320
338
599
859
737
590
722
42
59
436
406
153
916
424
729
829
266
938
535
770
510
992
65
64
165
229
279
36
898
410
724
775
294
279
864
782
225
107
19
773
457
642
459
312
674
385
49
114
675
36
38
624
446
34
562
195
773
555
196
514
294
523
742
799
106
841
254
258
933
972
543
216
137
667
201
566
973
598
149
662
206
408
947
83
506
339
434
553
969
408
697
72
661
605
603
828
371
242
166
118
336
468
840
494
683
106
259
164
523
970
67
163
804
751
199
547
485
87
878
843
910
460
675
168
627
176
753
321
259
47
805
259
186
228
171
811
563
655
137
139
723
920
826
558
454
299
587
396
591
931
411
175
274
866
685
340
201
83
932
620
255
693
580
146
430
216
88
553
685
459
525
821
732
317
131
398
132
797
376
275
742
738
113
43
395
764
203
21
894
837
922
907
279
743
345
786
60
387
113
319
757
762
251
797
51
889
294
289
373
509
268
887
522
624
463
243
984
350
294
768
677
500
478
171
153
584
623
495
293
231
155
522
179
950
599
458
533
341
808
999
642
297
455
459
357
894
805
110
876
171
944
246
484
627
847
373
257
255
43
991
620
780
833
313
54
742
115
609
497
583
805
798
739
547
115
467
930
179
640
805
476
470
174
963
212
704
825
281
959
284
678
791
325
649
817
659
655
276
85
390
369
927
518
500
997
639
548
394
512
859
107
152
337
679
612
872
526
581
148
562
588
80
320
438
52
349
247
52
745
543
911
345
812
373
64
725
456
238
197
456
270
613
846
225
835
837
794
462
857
454
844
164
444
100
219
902
393
554
95
105
630
350
40
151
184
835
322
898
798
928
660
846
35
253
580
31
382
683
15
501
475
501
82
331
533
853
543
593
446
220
774
72
554
803
134
186
124
49
870
705
288
636
111
245
89
395
74
449
385
88
150
206
908
382
192
222
604
889
519
266
896
180
101
305
930
616
77
383
336
605
455
944
886
115
529
360
452
948
369
793
810
683
320
598
190
169
10
9
799
183
145
126
597
93
577
953
414
366
465
941
677
108
252
300
878
778
868
869
892
842
549
516
530
64
19
489
513
785
67
288
220
354
200
925
327
380
270
377
983
691
662
668
621
336
181
229
766
945
156
500
249
399
209
528
706
670
217
587
331
186
154
219
739
114
607
579
782
5
131
35
874
44
734
360
594
994
952
769
653
235
448
590
696
397
476
920
891
933
227
367
599
428
7
271
632
317
256
737
844
72
640
150
912
625
156
175
29
148
803
947
467
423
757
1
278
217
607
188
757
24
446
462
925
296
400
839
366
185
385
23
181
192
318
523
857
371
675
316
368
74
171
217
516
877
415
978
530
694
890
802
582
697
627
710
846
820
310
286
164
83
216
355
279
220
9
373
342
97
22
296
976
841
541
288
919
918
264
551
594
785
986
565
132
495
598
85
543
759
65
249
702
481
819
774
977
316
300
154
192
145
488
602
279
232
869
733
738
65
547
91
811
345
113
980
114
591
457
122
223
255
351
299
269
833
615
681
931
511
192
569
22
744
4
277
172
293
296
850
353
740
924
644
952
755
730
393
207
196
307
295
135
146
482
840
53
579
869
446
657
819
612
772
881
901
556
367
570
624
636
131
284
290
327
859
636
480
225
601
449
629
825
926
439
976
275
922
181
554
842
977
364
663
60
917
574
89
304
140
682
248
596
701
143
710
879
309
921
725
273
331
417
301
817
613
655
784
269
173
781
706
62
277
138
511
746
810
950
809
205
958
707
824
543
846
51
261
411
165
526
549
258
698
390
213
108
313
429
545
393
10
388
527
24
508
605
586
169
456
511
951
953
468
641
941
510
509
896
566
779
266
642
374
557
615
771
371
957
530
595
640
218
226
509
486
689
338
270
251
921
554
541
137
657
116
666
606
501
92
918
667
441
823
153
609
936
184
158
683
748
876
860
865
558
427
369
280
951
206
642
917
218
393
8
281
312
658
814
569
925
397
232
270
866
40
346
193
464
801
489
247
6
297
751
794
210
750
918
507
768
410
789
241
822
374
799
34
581
179
892
878
890
278
920
916
610
604
38
718
802
685
435
899
474
346
511
753
395
531
776
726
481
950
585
559
870
343
312
220
789
863
415
451
908
538
489
795
262
617
596
161
484
581
454
249
669
542
811
450
965
470
452
108
717
145
244
767
762
646
877
741
699
929
546
297
0
760
327
245
890
335
33
372
306
786
226
961
626
935
406
330
986
155
194
598
838
853
242
623
129
691
206
260
225
273
252
689
261
361
627
25
494
385
215
4
404
297
713
255
334
0
742
621
630
226
428
277
412
957
152
331
637
55
667
821
230
758
473
50
9
496
583
495
414
430
873
478
249
925
884
525
830
665
585
934
326
962
594
138
604
492
608
902
478
14
560
371
765
262
527
750
107
981
587
303
834
617
994
27
120
788
890
682
339
291
420
608
810
238
2
691
91
104
506
69
232
23
292
845
97
231
478
581
300
375
591
800
969
791
37
952
101
116
383
813
979
4
553
621
72
230
87
795
599
792
485
769
353
297
71
813
504
365
859
382
606
666
995
272
206
217
19
857
219
814
746
968
575
655
705
147
341
361
158
202
440
141
859
13
691
142
901
48
869
648
321
346
478
908
791
373
662
286
697
340
770
452
145
194
146
963
959
569
545
716
530
168
4
172
864
266
615
707
373
169
346
545
673
802
1
294
931
415
353
422
620
137
759
792
25
141
935
671
946
323
667
125
275
60
464
952
239
342
244
448
121
123
47
548
181
457
311
479
268
390
169
214
745
161
586
294
27
290
983
137
713
748
816
101
740
925
124
609
308
790
922
331
339
619
750
359
929
519
347
437
162
393
767
150
17
57
533
382
478
240
971
83
29
697
667
439
883
385
724
9
848
789
267
98
40
500
36
795
478
135
436
640
510
527
851
774
769
598
512
853
824
991
758
589
406
54
404
857
13
945
929
590
737
270
188
238
387
437
643
672
717
500
930
350
396
574
361
379
436
43
305
882
457
753
451
300
745
72
363
712
158
927
451
549
378
769
447
926
536
719
114
963
841
553
535
306
47
675
974
851
536
798
131
442
908
22
550
650
656
143
730
316
539
622
155
894
821
640
561
231
78
18
762
768
213
615
346
232
369
799
306
449
50
807
905
27
538
655
285
698
850
566
195
812
90
642
226
634
497
644
273
233
829
427
579
332
754
776
895
155
634
369
715
369
325
611
756
874
644
968
482
305
823
183
142
941
282
937
886
594
428
256
453
94
103
265
827
884
251
58
288
503
467
891
800
17
223
467
127
62
964
935
220
963
183
915
505
332
808
2
402
370
263
97
689
22
447
928
411
334
687
941
383
47
657
966
356
320
657
615
256
387
659
231
474
780
837
316
631
692
757
265
847
855
12
593
768
740
93
781
134
896
121
212
263
754
836
193
597
842
900
978
561
790
867
207
763
948
959
562
384
297
680
28
537
974
482
394
128
111
276
938
999
301
895
129
514
403
37
408
305
117
444
589
554
200
69
683
393
243
950
148
408
870
523
772
641
261
145
881
550
145
177
608
444
107
817
562
240
421
418
573
812
790
559
518
868
207
355
962
639
709
98
467
7
861
610
605
113
380
826
491
477
412
223
402
471
768
324
121
864
674
215
712
523
538
995
686
67
457
765
412
260
885
664
936
720
596
427
237
396
421
637
399
397
956
803
245
265
569
977
717
897
878
712
586
346
110
45
88
203
190
511
825
432
144
521
133
552
399
426
496
408
89
508
491
959
279
214
525
132
943
461
82
279
760
959
420
258
823
778
337
157
659
222
899
617
447
652
395
671
457
367
335
676
307
989
646
214
422
483
622
480
731
414
388
267
870
105
641
193
894
610
390
512
237
557
544
502
394
133
797
2
981
232
86
388
321
737
391
910
964
555
495
400
478
499
175
776
192
223
379
953
15
837
878
377
41
209
445
344
69
400
505
304
526
445
331
695
69
245
225
80
322
649
405
81
766
83
66
644
591
292
945
408
751
622
728
970
422
591
198
755
639
370
609
45
541
463
528
450
195
906
759
591
383
206
8
973
758
859
884
347
902
349
616
206
982
830
575
410
573
186
538
37
644
19
15
470
738
983
301
188
791
991
820
599
109
735
720
37
872
753
159
846
565
408
832
519
39
732
176
626
762
785
390
658
3
62
502
723
624
667
245
487
938
833
560
984
721
523
29
681
288
270
526
165
852
212
417
434
78
212
61
191
851
618
160
297
672
545
704
721
632
626
717
696
742
560
549
194
66
789
152
982
333
149
161
235
664
794
138
935
762
901
268
807
457
6
795
137
577
882
503
333
174
307
134
942
76
127
515
642
543
118
447
863
312
222
286
585
869
85
751
916
83
323
259
167
29
896
316
888
336
785
281
673
31
302
7
210
27
987
91
489
98
801
147
748
68
452
169
123
996
778
527
770
230
662
343
697
485
694
224
859
417
498
265
772
339
703
770
650
764
231
378
0
125
269
577
254
11
821
46
135
618
99
266
429
64
379
537
460
879
28
861
621
747
668
466
89
62
179
13
287
150
875
196
20
130
183
863
963
427
132
3
903
804
33
666
360
310
99
983
250
943
363
997
652
411
791
36
989
478
343
687
883
226
318
994
285
365
643
74
135
827
521
183
51
639
698
482
958
875
593
479
654
603
527
565
255
55
294
250
322
646
734
811
49
774
995
889
798
279
216
662
162
207
940
45
748
402
331
445
374
862
748
323
481
350
515
746
693
711
697
305
323
106
104
979
602
614
958
782
58
541
357
435
251
944
725
573
843
912
167
895
664
684
684
566
147
132
932
296
379
895
24
247
453
985
181
508
286
567
742
292
250
862
120
256
391
348
376
228
870
948
256
463
750
114
157
281
713
826
633
740
226
853
178
551
637
612
675
306
428
313
696
430
674
747
143
276
523
760
494
552
565
452
686
909
721
685
523
301
701
957
226
754
801
379
53
241
239
229
261
894
954
704
842
143
832
809
251
503
671
326
102
780
293
695
368
218
557
595
216
968
573
800
130
794
660
117
585
355
979
598
333
504
886
124
950
104
727
7
661
714
760
700
637
93
382
838
918
775
426
944
762
696
690
746
858
364
800
962
549
956
746
433
205
900
734
619
90
954
888
725
559
195
237
34
834
458
10
406
355
845
357
418
5
785
268
578
478
934
820
334
696
54
67
128
400
983
362
413
740
138
744
170
682
379
193
188
111
153
908
879
654
264
705
354
415
683
227
560
91
344
512
760
320
623
518
207
595
22
203
324
238
847
349
554
640
718
807
415
908
901
443
360
259
483
348
767
865
772
895
296
400
91
30
774
115
230
419
62
916
124
833
18
957
512
873
119
512
290
925
378
642
754
355
956
692
83
661
652
224
258
507
750
161
101
826
309
774
584
428
511
552
789
214
864
500
277
667
425
799
875
286
710
347
154
876
411
223
479
485
714
139
320
652
329
867
803
325
853
39
863
585
407
566
170
791
650
879
739
595
333
71
76
509
715
685
315
949
565
148
75
437
116
692
814
631
981
214
571
175
716
260
644
335
993
469
411
599
37
703
685
799
336
411
328
657
110
684
829
491
749
172
323
505
491
661
211
508
292
414
191
275
427
385
191
681
718
768
164
483
486
583
674
663
754
185
704
420
629
639
858
827
570
822
684
892
934
317
652
616
730
515
740
968
83
191
79
450
214
134
714
930
679
928
920
419
715
694
201
813
365
320
801
966
531
976
781
809
280
830
2
468
417
112
290
156
286
552
151
126
698
443
182
326
292
626
655
605
112
103
737
744
748
826
83
226
782
171
599
61
380
923
441
91
726
578
428
197
169
697
824
408
565
715
531
590
424
435
43
85
441
516
923
3
995
932
853
866
93
59
189
639
81
895
171
711
675
751
729
566
128
740
250
197
457
538
272
700
913
406
428
375
686
619
161
694
36
306
841
470
76
789
99
227
510
260
441
524
444
40
455
374
484
394
117
279
783
278
812
720
958
216
872
999
693
5
974
936
516
826
257
976
227
545
627
543
204
916
350
770
142
623
767
162
565
529
933
758
729
409
875
771
183
189
14
713
130
758
744
540
753
799
623
919
626
989
426
379
276
896
53
809
61
723
835
112
130
656
299
651
388
682
863
839
761
507
883
258
988
214
863
687
183
294
652
163
774
80
498
920
752
58
564
329
248
433
29
586
128
258
964
741
591
932
756
585
887
662
98
563
266
519
289
158
250
231
939
604
789
760
368
875
793
754
548
803
478
590
844
482
510
587
329
208
74
340
593
428
441
94
467
251
752
338
263
803
742
34
478
559
457
363
751
218
395
258
505
703
937
276
68
787
684
794
837
574
701
656
407
580
488
866
211
140
180
952
501
930
938
657
969
755
715
399
42
888
702
256
302
99
916
339
122
921
221
19
190
832
751
194
286
613
87
283
139
209
246
60
532
821
180
725
119
313
16
629
636
457
589
3
687
978
313
113
304
619
966
401
399
132
117
557
680
459
528
890
244
453
44
548
37
946
960
179
870
902
673
981
730
63
815
504
128
973
760
111
226
94
36
207
407
150
853
595
406
414
758
676
359
735
556
744
208
169
644
740
402
530
409
24
977
108
481
760
321
450
971
383
457
858
539
570
214
708
150
315
595
16
162
357
672
608
155
589
503
521
695
262
139
20
544
787
773
929
806
184
718
438
782
561
331
431
294
338
5
7
952
969
760
742
136
481
732
694
399
418
167
889
816
997
539
437
701
349
334
165
880
513
730
484
796
511
773
944
317
146
499
739
577
531
707
82
639
869
252
879
119
256
491
470
876
509
966
344
892
941
826
617
548
442
715
791
486
211
392
601
99
787
101
326
801
138
354
199
289
294
865
739
210
385
701
976
488
210
511
24
190
834
278
931
73
155
93
325
444
444
628
465
409
621
63
350
411
290
959
1
711
894
594
387
340
353
648
176
262
273
262
65
597
96
242
684
176
764
668
222
333
346
58
724
83
203
463
738
453
829
76
651
978
761
900
502
773
866
424
444
944
131
390
89
173
562
701
815
257
211
164
554
115
203
370
627
731
142
28
719
856
50
845
105
721
812
490
474
776
46
744
961
151
591
275
174
579
327
340
312
544
166
389
328
244
275
719
963
107
250
232
690
766
243
983
305
121
759
164
962
332
168
508
68
690
19
429
318
676
970
111
898
300
703
222
304
977
94
887
696
528
503
944
961
359
548
582
52
518
259
514
46
936
881
643
448
468
532
868
796
954
475
185
927
40
585
450
666
139
569
217
788
271
346
90
547
425
40
206
786
884
898
824
336
233
649
178
344
815
139
471
441
698
482
258
793
373
815
81
863
91
348
451
899
117
530
928
237
345
103
240
241
521
969
198
684
175
468
859
2
731
587
408
560
736
429
364
990
71
800
893
217
925
199
66
387
716
935
170
559
594
525
325
442
471
135
785
677
346
921
155
532
763
428
366
836
507
184
882
265
702
224
897
369
98
285
65
845
441
705
93
134
439
802
724
502
608
696
636
684
339
827
709
483
828
282
473
883
84
542
742
73
271
193
357
338
588
441
117
606
978
869
577
442
269
323
630
213
584
206
559
749
595
200
17
943
27
141
655
80
181
840
617
188
561
403
345
252
775
344
98
533
569
540
465
952
15
893
542
822
82
718
377
727
989
548
274
488
69
156
135
540
376
441
511
494
98
134
81
956
945
520
148
790
794
883
458
155
175
586
704
826
352
541
159
929
408
364
334
978
875
89
809
358
76
549
702
928
661
826
24
465
411
462
752
689
742
595
537
205
369
334
787
580
66
430
645
651
343
25
370
220
16
342
520
267
613
751
966
902
756
212
960
488
226
479
422
966
804
232
272
154
367
904
680
587
143
10
976
207
728
755
641
553
857
801
973
212
818
34
754
893
72
372
278
312
225
860
186
421
232
692
920
929
977
759
775
817
260
367
529
160
837
942
894
450
692
376
949
941
345
520
197
817
890
540
448
716
342
660
745
57
927
378
117
495
278
80
572
64
342
52
922
979
565
485
22
485
136
809
585
26
305
152
608
320
39
187
905
810
543
183
557
632
974
890
476
923
574
713
859
739
160
461
226
447
372
214
569
892
832
517
841
224
823
637
379
193
172
504
82
141
925
200
511
782
315
228
80
793
961
214
477
207
550
917
398
577
606
236
923
717
904
19
291
176
543
587
653
746
224
707
489
274
561
630
576
409
234
582
217
118
215
559
796
917
89
206
651
943
989
541
26
960
842
661
693
742
381
794
39
851
20
198
427
94
369
178
961
42
611
508
628
900
632
302
631
726
345
106
237
961
327
962
996
20
364
223
260
67
355
144
227
709
551
303
142
114
828
175
815
999
997
178
823
757
57
47
874
337
18
651
701
251
943
56
364
708
136
422
875
386
489
429
525
713
500
186
209
198
986
360
620
464
619
11
78
82
914
246
728
15
262
716
313
577
112
340
738
623
511
804
391
52
931
525
748
489
998
313
971
224
137
875
852
728
728
985
332
891
78
923
124
652
195
503
720
343
550
90
389
315
376
878
835
349
584
816
221
363
16
533
852
663
214
385
971
12
911
599
804
653
625
402
793
299
545
35
350
953
747
327
894
76
951
474
339
625
559
466
948
689
812
168
927
354
125
386
972
989
887
505
551
136
947
359
686
783
457
945
648
775
64
992
47
481
531
306
556
784
378
3
329
577
38
708
774
55
52
79
819
943
443
129
296
690
229
450
905
989
513
642
190
74
806
688
225
71
622
786
846
214
285
901
290
660
723
451
819
724
423
577
73
797
643
149
822
579
435
630
277
518
321
783
325
36
785
306
824
97
57
275
542
475
412
217
935
167
699
675
424
488
251
155
928
675
719
401
322
876
794
951
537
644
223
273
718
659
860
190
355
173
815
11
589
136
622
142
62
940
306
584
835
215
649
847
480
463
904
120
522
60
94
704
466
120
152
570
754
479
401
395
704
781
918
76
760
503
132
464
725
533
359
145
323
936
902
503
448
880
360
732
561
177
503
371
645
653
336
172
973
756
61
247
888
922
719
175
49
57
613
268
816
830
656
729
786
277
766
960
794
696
201
218
987
237
712
370
161
616
567
195
190
106
743
190
623
914
323
821
517
121
114
871
751
46
562
679
681
41
842
659
631
410
632
185
752
169
95
413
14
790
661
69
636
626
625
430
719
833
734
789
736
27
845
442
868
531
126
199
143
249
436
701
391
580
26
603
384
326
533
989
497
303
441
752
593
41
382
181
934
713
496
694
362
561
254
221
473
185
180
421
154
580
52
395
743
157
327
862
986
154
333
260
651
986
586
61
681
372
794
182
150
847
644
564
647
126
966
838
300
453
360
208
787
983
656
981
321
470
124
971
553
379
947
100
605
528
989
67
140
913
903
400
346
635
445
2
861
897
331
655
600
141
483
220
265
461
299
287
218
324
67
603
551
597
378
742
208
815
101
194
210
674
92
704
625
832
743
980
871
456
75
275
835
281
234
623
587
434
82
643
524
643
853
296
724
871
466
55
52
821
495
105
459
824
292
978
779
746
270
302
317
169
914
986
816
809
509
63
230
514
9
953
879
670
289
923
691
953
560
570
756
994
229
883
933
267
231
272
368
832
75
108
347
713
204
977
737
458
884
512
239
624
766
691
921
173
744
537
202
355
288
364
546
128
51
908
839
288
63
397
108
505
835
942
268
100
716
688
335
320
959
261
748
203
497
301
298
976
897
786
628
261
814
577
75
42
987
66
686
906
346
994
622
108
983
83
668
743
796
154
82
915
314
807
157
443
425
406
627
132
14
998
606
625
328
916
857
912
354
230
901
795
475
273
848
129
117
550
290
863
584
955
276
909
774
582
188
451
788
591
926
580
988
762
778
162
520
758
772
169
808
190
527
679
489
522
33
249
264
878
331
77
205
183
546
853
892
388
251
407
758
787
795
428
753
331
573
34
827
613
517
683
715
37
144
313
291
306
691
829
819
576
673
824
392
103
778
42
349
315
95
560
838
115
727
85
388
446
563
309
776
843
783
164
669
67
168
121
775
86
528
848
792
267
394
581
779
195
765
191
93
909
965
204
7
228
931
981
981
760
936
660
521
896
11
253
12
71
953
687
584
126
778
467
156
695
86
536
14
86
344
843
563
542
118
782
97
538
21
496
884
236
178
93
914
297
725
574
481
354
43
555
527
686
140
723
979
69
21
808
918
538
245
953
387
261
305
645
702
944
593
724
17
439
814
654
291
355
781
287
648
675
191
672
895
150
390
976
254
842
350
761
659
685
692
201
40
561
434
739
503
760
375
199
184
641
22
874
285
38
728
177
539
461
204
544
417
794
422
937
885
115
812
574
305
213
925
663
525
368
5
672
922
222
181
982
922
152
660
702
440
743
224
869
455
991
389
339
566
110
178
932
80
917
584
99
691
747
552
891
513
974
842
960
837
761
779
675
44
376
838
153
444
176
786
90
613
962
43
165
981
283
861
623
103
418
973
672
757
739
776
701
342
728
110
684
509
727
161
47
108
724
620
406
982
262
402
407
202
467
498
673
665
958
230
773
603
870
67
60
446
604
635
110
983
506
751
278
909
832
98
350
334
960
907
657
396
498
997
79
389
810
269
417
160
350
537
886
132
84
236
520
536
396
645
257
512
976
315
688
805
405
256
907
89
209
320
737
529
486
549
110
739
329
175
248
344
640
956
514
545
418
860
474
192
595
401
8
32
335
451
200
983
624
847
938
335
261
702
798
451
743
816
561
526
529
35
182
270
527
370
593
537
189
798
811
835
248
919
962
559
249
864
804
161
85
150
286
289
598
584
944
841
176
164
60
957
998
711
652
617
292
934
888
423
508
784
803
553
264
694
828
300
114
315
246
25
641
260
756
506
494
926
432
82
755
14
631
869
431
45
367
204
830
365
87
351
174
737
979
365
800
43
915
521
176
229
265
892
575
641
402
485
96
151
639
81
95
805
420
722
586
802
343
494
509
789
864
200
432
98
880
788
40
777
563
465
17
24
40
970
592
447
710
750
382
84
749
344
859
218
479
628
766
578
944
186
741
606
85
814
4
180
590
904
656
890
455
970
707
697
836
849
339
233
758
866
974
93
544
378
4
927
155
416
290
787
470
645
229
853
620
286
486
235
306
534
468
385
550
354
681
683
129
150
957
492
121
805
523
261
515
922
504
54
406
551
804
843
943
269
878
298
37
796
366
52
682
261
684
134
221
303
452
317
584
267
584
838
189
218
162
68
415
428
222
651
137
37
556
810
117
322
718
385
362
29
96
752
194
862
903
200
947
367
30
800
248
39
210
226
863
174
225
944
203
569
216
390
924
562
438
908
283
471
342
639
347
640
979
217
601
355
68
120
334
357
400
386
817
621
512
726
630
95
662
531
332
85
847
292
120
682
563
800
422
678
368
205
85
675
404
699
513
741
833
109
772
138
419
604
980
15
44
836
537
690
427
765
586
613
229
565
920
892
336
668
369
275
865
179
726
374
78
974
688
534
646
63
405
345
571
393
81
311
592
71
438
788
830
510
632
975
173
666
598
479
101
270
992
87
991
273
331
227
61
47
122
266
945
290
103
832
989
945
317
440
633
313
209
353
490
791
531
826
103
630
845
784
223
701
314
575
224
822
700
43
614
715
177
308
469
77
839
206
359
584
905
643
683
418
918
664
685
529
645
9
722
461
519
749
129
878
474
767
944
344
298
521
756
761
259
851
945
582
291
422
130
596
631
554
962
114
359
500
703
324
299
209
511
880
528
10
74
835
579
938
232
42
90
614
594
208
872
612
356
625
995
260
143
633
448
146
676
635
156
105
144
861
608
568
584
85
818
695
578
511
321
771
664
123
254
716
914
528
395
568
401
431
207
741
568
968
901
920
663
298
412
573
231
704
102
624
792
876
560
760
156
430
52
121
851
531
326
178
287
287
27
487
90
491
977
651
743
840
530
633
205
638
685
944
803
332
914
39
228
83
285
334
166
371
362
786
172
225
609
618
467
557
588
647
358
380
148
394
279
910
876
218
847
220
987
806
484
612
584
499
597
96
56
695
682
312
355
780
444
417
82
444
494
844
970
477
388
269
512
811
512
761
538
828
591
746
459
674
63
325
374
451
173
622
545
810
730
767
638
419
892
694
707
891
50
838
142
759
161
50
119
660
420
748
936
388
744
253
59
733
260
238
753
426
665
170
153
358
679
342
155
230
833
704
908
467
386
92
622
0
732
847
463
604
882
31
420
526
963
15
706
220
29
495
346
613
997
698
726
993
288
141
893
317
658
844
457
257
611
812
692
558
481
22
311
821
708
453
235
286
369
222
310
564
279
659
252
110
746
377
587
773
744
2
350
56
660
27
317
657
882
455
720
130
175
5
396
865
329
361
193
768
983
414
946
205
284
247
632
946
408
827
868
223
947
318
873
188
138
567
720
246
505
847
192
414
332
69
728
522
419
227
543
86
741
587
795
896
619
321
526
120
8
5
943
21
825
94
827
339
143
150
571
411
327
468
143
669
134
295
108
113
429
40
452
215
493
67
85
616
617
302
411
979
745
183
926
418
400
584
772
817
269
738
66
908
835
459
188
819
962
287
591
302
541
265
388
369
714
582
269
296
193
999
164
140
935
630
896
156
155
54
465
200
331
19
778
777
901
973
782
464
226
819
280
347
203
470
471
336
323
989
697
41
315
991
151
499
337
92
382
789
979
161
215
674
458
49
774
911
970
56
640
510
674
512
850
652
492
63
531
915
931
747
979
140
532
169
3
352
865
526
841
177
885
608
937
698
893
784
210
8
438
317
677
960
437
48
195
80
340
109
494
909
451
131
316
537
420
191
326
503
321
179
687
452
128
318
166
143
855
154
630
564
643
305
994
250
511
733
940
115
482
476
808
908
146
413
257
666
282
875
814
914
365
662
749
989
683
946
319
580
487
821
999
544
853
149
1
533
141
82
681
245
284
466
475
148
609
50
828
171
244
44
947
249
118
830
699
76
239
968
163
626
180
768
68
868
890
98
406
152
839
475
927
600
166
311
902
896
131
1
736
396
203
776
363
530
66
752
365
466
469
694
911
904
605
911
509
743
926
410
442
531
594
244
50
741
513
480
201
173
170
776
841
243
495
993
40
938
722
180
936
372
898
722
910
132
795
691
987
757
629
618
144
367
87
98
917
462
206
691
649
323
196
957
389
255
824
455
496
42
453
506
844
524
799
303
682
137
370
612
821
318
933
110
638
143
366
898
240
829
270
926
943
747
175
566
913
876
486
725
938
899
644
189
52
662
117
68
225
975
684
849
787
195
24
572
594
459
798
165
544
267
125
109
330
213
722
617
749
232
542
27
127
875
323
123
190
330
482
386
433
501
796
705
223
296
184
316
727
398
959
11
373
489
145
123
76
884
368
765
332
888
128
379
702
987
863
211
213
327
135
212
614
799
166
564
762
244
563
96
23
978
877
193
275
264
981
802
267
417
176
504
845
668
226
173
795
664
261
409
139
996
741
985
684
819
155
521
226
283
92
864
610
566
533
573
889
697
53
731
347
610
608
802
780
795
336
814
554
145
889
55
826
960
504
191
475
609
743
359
159
555
595
666
418
843
411
439
693
971
289
13
463
386
275
371
807
339
277
943
422
322
467
824
47
944
191
354
505
322
794
932
387
566
50
112
34
761
776
769
410
856
657
260
59
967
889
339
387
359
752
525
748
29
311
689
483
936
596
238
300
276
94
713
894
513
494
657
452
936
139
922
251
838
771
416
795
401
531
656
489
358
904
622
429
998
362
405
606
383
171
862
575
181
218
566
147
670
894
152
715
611
489
373
818
80
602
310
160
60
471
340
381
163
954
816
826
814
971
466
512
445
393
993
278
629
212
682
590
164
29
10
990
837
516
367
23
295
773
18
352
635
699
126
11
111
621
328
237
346
389
714
813
338
238
268
276
614
929
685
416
550
875
893
937
334
512
33
820
832
905
624
826
186
719
916
319
589
709
970
496
353
950
901
237
624
75
691
633
510
845
972
182
265
887
314
424
315
618
7
383
922
133
246
334
102
350
950
20
32
640
230
437
666
766
397
645
497
925
206
901
700
34
271
177
238
589
583
626
42
291
411
504
716
913
911
306
3
256
409
737
550
978
375
379
599
108
82
979
859
422
838
127
222
626
369
905
466
841
881
218
607
845
752
988
583
780
988
901
439
273
650
479
93
610
451
750
777
961
843
932
922
396
622
183
289
334
149
504
579
569
273
950
910
480
655
330
653
314
217
145
137
650
523
206
513
931
609
960
635
20
197
381
263
291
317
4
254
337
833
723
797
836
887
564
908
79
409
3
990
91
180
425
959
625
140
70
747
237
72
792
671
92
56
813
732
472
256
766
491
255
656
57
576
301
729
401
433
293
186
646
583
619
714
916
399
275
307
347
873
711
966
474
625
718
63
5
106
416
666
890
669
677
870
228
957
373
186
666
920
179
339
40
591
473
672
59
226
283
377
17
656
185
356
118
397
220
470
434
268
557
761
710
345
789
494
401
77
275
146
714
525
981
3
29
523
457
93
239
878
760
979
458
812
540
212
53
841
816
925
842
138
870
404
61
565
469
743
743
368
654
799
831
617
316
917
974
138
793
948
970
188
687
423
841
276
553
753
493
600
517
812
380
184
894
736
696
877
445
5
351
455
792
934
377
104
157
978
903
27
962
723
105
17
748
794
314
630
471
123
851
635
290
355
397
108
70
652
530
334
602
48
263
561
209
532
714
898
605
720
225
332
47
372
432
199
591
812
147
793
804
180
610
887
500
506
712
869
523
204
386
504
222
904
996
577
369
514
183
855
82
490
916
195
697
407
808
139
338
340
491
762
584
882
172
83
613
229
698
242
722
769
808
216
317
745
225
575
879
371
514
453
985
785
611
583
167
95
359
79
837
555
51
54
629
957
61
270
855
157
945
76
555
627
949
184
890
144
869
2
606
131
872
910
888
2
859
247
947
342
820
471
578
598
444
843
815
349
418
368
827
321
875
346
161
719
275
529
567
118
559
622
803
443
652
840
184
930
25
582
122
743
628
108
507
505
715
204
830
146
840
634
740
542
724
323
330
407
179
628
213
568
413
331
408
254
327
517
110
332
407
338
204
796
941
608
943
879
849
852
503
407
485
675
431
632
327
659
832
183
387
285
659
653
162
300
980
867
316
393
765
92
931
740
487
817
700
115
109
891
923
303
866
186
889
966
343
8
333
444
106
461
505
423
554
961
643
973
493
97
169
561
697
561
36
149
438
792
980
764
668
883
458
102
157
308
510
90
125
89
104
872
932
932
984
84
929
694
499
18
122
258
369
979
244
396
23
216
322
415
895
583
59
851
307
282
374
29
852
379
343
358
393
653
600
330
625
991
993
372
187
222
911
577
344
296
58
73
21
406
941
530
733
580
823
585
207
217
55
917
597
883
83
803
160
912
88
185
324
910
992
364
59
922
746
93
401
922
391
845
508
219
793
259
438
64
291
633
887
36
772
870
990
785
479
822
242
825
339
850
813
287
859
100
290
441
199
157
210
809
428
621
682
987
86
302
17
585
654
315
363
885
864
844
298
340
136
865
393
148
520
796
368
43
530
137
365
139
213
603
321
270
347
106
311
390
896
979
43
459
929
72
253
303
322
702
787
106
159
734
88
312
6
711
967
516
874
952
494
950
174
48
413
889
771
71
941
302
510
337
541
541
799
13
486
92
504
384
452
743
991
782
946
10
802
757
36
455
372
576
136
84
976
24
437
426
571
314
315
560
313
237
618
994
405
926
836
558
119
211
23
348
772
2
834
282
292
678
339
499
953
35
562
618
114
797
770
196
107
168
766
840
382
135
443
671
346
909
328
430
12
640
811
367
9
6
55
525
765
585
619
834
554
886
471
555
79
127
566
522
75
626
420
57
498
816
972
82
597
198
379
660
342
804
809
420
394
29
120
24
404
370
179
640
105
205
723
796
47
356
794
33
389
317
336
624
951
807
862
739
559
536
294
247
871
736
513
618
608
659
512
636
255
463
932
374
344
924
536
574
610
359
385
857
439
672
791
367
968
927
837
897
125
685
845
784
73
543
797
264
725
161
764
390
613
428
806
66
212
436
162
229
218
545
661
833
844
465
103
49
605
178
841
787
532
159
946
915
729
783
685
466
444
543
823
84
267
714
531
86
915
420
492
0
384
588
775
318
829
562
80
594
655
61
325
740
917
848
324
121
283
816
287
103
875
189
54
752
680
225
267
464
491
624
307
717
556
45
331
68
542
692
749
764
933
491
969
715
355
659
583
230
863
406
793
389
552
424
30
3
155
935
964
642
40
186
136
795
299
405
7
55
816
170
835
210
621
31
173
854
610
17
820
251
632
916
306
622
309
552
945
748
148
197
644
295
569
874
51
32
936
959
617
633
471
575
402
912
880
806
228
312
85
817
572
176
894
67
9
443
62
715
294
732
224
916
57
645
639
24
587
836
674
187
855
858
211
580
920
359
26
346
258
155
185
998
636
29
978
394
560
243
861
848
492
912
21
992
128
457
84
893
303
112
482
269
637
541
417
788
545
27
809
664
748
65
493
717
605
179
552
856
98
760
908
673
241
110
351
717
544
357
208
453
175
308
43
556
160
719
114
387
109
512
699
454
250
650
361
70
760
57
943
717
651
859
632
124
823
339
477
102
281
726
692
251
635
508
694
772
237
16
780
544
265
703
126
44
959
832
168
544
316
262
130
182
388
432
31
243
781
731
719
15
857
589
231
636
653
249
388
998
89
166
463
670
968
876
147
77
372
402
386
298
667
725
780
269
954
260
681
892
86
465
655
958
262
201
54
390
865
710
444
710
19
450
879
110
156
775
511
371
503
636
944
592
760
611
966
12
524
805
923
374
272
82
678
350
954
153
949
651
90
831
805
831
921
319
340
379
415
513
35
878
371
472
985
614
461
430
463
176
419
639
363
590
719
916
503
681
999
987
689
756
666
135
980
833
333
578
719
704
807
798
602
742
689
527
159
969
805
20
593
353
261
546
304
647
489
356
461
293
747
478
804
148
703
317
516
38
123
763
570
728
219
820
983
849
469
813
440
598
330
20
448
371
753
0
331
784
981
123
802
569
168
539
108
670
624
122
272
19
415
271
627
413
977
607
85
26
524
635
573
190
428
687
171
198
978
542
625
295
321
941
628
455
246
430
982
414
586
734
916
105
189
269
857
247
70
209
241
66
41
942
65
493
497
123
747
967
600
202
542
484
566
394
814
309
822
201
8
982
428
552
134
146
428
735
175
700
248
141
681
507
153
782
100
23
464
295
210
941
490
289
853
257
620
104
428
249
407
9
828
955
91
690
446
843
834
613
461
182
738
911
346
331
373
720
486
238
240
620
737
983
895
955
777
122
861
586
827
120
976
137
883
169
289
85
48
792
182
857
522
865
184
787
745
768
122
669
751
90
156
249
180
711
296
142
152
27
531
975
438
946
680
858
564
358
329
793
677
768
262
794
64
493
962
91
724
277
40
876
260
593
58
927
274
434
342
104
148
271
215
243
276
932
14
317
922
218
742
103
660
110
204
601
156
597
629
253
936
386
91
803
660
868
30
321
661
538
216
121
15
437
792
161
112
863
986
50
113
141
673
158
201
110
664
150
909
615
726
910
721
386
793
821
237
352
914
952
494
682
33
853
990
810
540
372
588
423
66
211
146
910
334
485
107
135
36
768
143
613
874
513
910
281
466
842
347
604
649
115
750
847
299
428
856
711
819
270
247
390
619
727
563
911
798
890
944
581
27
430
656
738
438
87
834
224
48
10
667
59
845
671
682
403
547
697
175
264
699
471
194
623
526
771
555
585
491
97
857
896
385
450
812
163
698
59
592
857
837
848
278
442
95
950
294
517
394
118
420
922
821
305
649
811
665
748
993
885
688
282
63
311
408
296
373
972
25
891
85
716
939
469
338
524
344
18
119
312
988
385
384
834
939
677
299
793
300
484
791
383
973
546
391
92
173
363
141
271
328
908
720
535
972
128
484
520
261
707
661
911
544
46
520
38
655
388
672
641
519
682
186
593
654
954
229
719
935
771
582
208
291
595
524
368
22
412
538
990
201
513
777
811
646
120
827
602
915
734
395
686
472
402
915
793
252
573
128
910
981
205
966
689
259
367
875
828
569
429
13
587
713
365
380
166
135
575
932
8
344
541
863
341
950
921
504
803
103
202
953
448
980
788
524
848
31
50
423
432
550
847
385
754
601
990
110
770
934
273
503
667
781
745
999
203
909
116
724
884
185
408
735
461
34
68
83
165
962
185
469
247
985
201
982
987
906
431
719
350
847
732
926
845
284
874
799
194
592
766
507
62
974
183
106
847
183
353
629
212
69
513
545
720
80
471
576
38
846
82
223
246
846
344
52
268
626
947
143
839
6
279
198
611
104
67
905
133
570
680
425
419
347
422
592
755
965
504
149
353
977
342
386
352
114
952
704
367
148
125
464
719
2
659
181
570
157
763
535
122
948
479
972
346
289
457
409
949
802
445
315
387
838
366
420
354
412
98
776
680
20
855
223
895
297
327
735
543
797
919
212
88
628
764
405
131
844
175
444
151
699
665
856
505
189
16
194
917
0
873
560
589
271
846
104
606
813
817
572
989
354
398
395
473
781
421
82
988
486
833
726
266
198
899
59
804
241
859
439
670
777
64
144
45
28
365
745
92
426
470
471
927
412
755
278
890
324
502
260
759
691
465
469
245
47
771
226
283
930
620
993
476
10
907
491
373
792
986
283
687
252
971
763
647
107
506
406
615
294
394
674
900
627
540
29
219
192
420
395
345
329
904
922
527
354
833
999
937
699
457
946
702
898
674
269
702
247
65
88
67
40
50
509
61
562
871
561
680
37
973
929
678
628
593
122
38
788
269
41
79
636
611
328
394
916
209
81
984
477
555
989
633
909
562
338
82
156
869
620
730
516
399
782
573
489
155
35
378
370
944
321
472
335
801
934
443
324
967
591
379
522
512
730
499
871
456
719
211
332
778
913
316
160
327
72
598
682
716
918
154
255
995
918
315
506
548
439
801
460
115
807
123
530
979
281
975
260
322
273
806
411
178
694
419
816
168
571
643
616
61
236
803
945
137
589
480
481
189
985
15
488
600
356
185
91
278
440
280
98
637
565
404
464
47
753
473
633
208
593
176
772
527
450
912
500
460
571
190
155
744
757
528
530
396
195
842
437
616
496
260
78
698
308
642
664
508
397
71
252
977
373
974
694
15
267
728
597
973
309
814
687
185
395
261
15
466
668
468
254
718
144
825
508
2
942
81
875
971
164
438
756
793
522
317
983
632
649
147
869
859
232
545
354
781
173
565
972
240
12
549
405
308
259
775
189
423
702
452
646
317
587
135
49
997
379
74
174
167
514
650
776
744
386
167
44
511
39
590
744
35
131
526
112
895
168
41
135
954
251
44
70
349
870
751
278
560
243
909
673
819
138
664
143
381
674
506
382
391
14
263
608
960
63
600
952
441
758
270
168
171
375
575
423
108
698
59
342
312
998
975
975
674
619
165
411
479
573
621
468
392
600
634
29
249
933
757
544
918
937
843
249
608
409
605
504
938
930
758
586
44
971
359
856
873
206
186
800
538
714
101
15
692
283
771
121
384
867
618
156
131
840
219
555
630
885
509
903
793
319
740
189
542
492
102
836
424
254
837
151
573
673
664
735
827
694
684
391
607
367
122
978
848
985
670
890
367
119
437
454
159
373
458
437
760
340
29
883
891
170
702
858
167
697
624
156
578
148
563
574
35
57
418
375
719
797
449
36
348
763
484
579
911
611
68
735
314
473
602
988
491
801
473
718
349
749
774
997
996
563
208
454
548
713
117
316
936
875
193
283
853
541
876
157
122
0
645
872
518
719
752
286
399
21
257
441
445
770
177
264
887
589
106
965
177
743
330
166
141
774
85
564
524
795
848
756
666
218
598
365
345
429
604
43
768
508
190
489
101
817
777
65
0
574
113
472
121
324
948
45
617
423
901
374
773
418
6
483
182
589
899
6
731
251
569
7
154
367
204
416
265
125
101
114
232
156
355
768
704
883
851
439
676
556
146
174
929
737
796
11
543
944
549
130
294
613
60
603
962
723
942
79
500
497
867
936
737
798
867
396
426
707
606
862
796
166
332
813
290
25
897
771
236
238
418
596
666
386
243
558
161
787
878
528
701
242
74
289
37
70
112
200
800
369
783
541
47
163
569
144
962
431
91
295
348
561
699
559
505
266
881
610
198
290
474
464
203
774
721
443
596
501
820
798
320
900
672
972
167
455
576
418
279
645
176
834
747
628
238
465
711
24
701
303
780
49
43
212
905
303
177
107
972
661
804
327
641
142
671
611
809
690
864
542
581
39
988
244
181
883
747
289
591
962
653
812
266
135
800
716
285
905
23
767
65
584
945
505
773
216
996
58
282
778
339
450
631
442
74
215
963
51
615
559
592
804
868
550
251
866
70
577
885
435
631
754
531
579
853
251
991
993
350
220
380
776
774
851
469
794
290
391
769
924
267
400
479
932
364
346
417
137
487
994
497
805
984
606
739
490
906
700
768
484
268
478
847
824
464
203
602
111
160
182
0
987
930
405
758
203
964
447
234
796
997
306
936
4
986
435
691
674
780
403
776
642
982
923
206
184
422
365
810
991
7
249
404
235
106
783
174
330
317
425
926
620
834
165
292
223
73
659
824
847
803
395
817
594
240
155
991
830
127
313
833
835
496
349
563
351
426
479
457
47
227
387
165
334
748
92
928
465
249
543
183
487
984
55
22
711
128
496
509
984
29
583
387
78
178
42
118
201
520
803
307
660
930
224
781
959
321
344
970
79
715
237
669
493
619
578
444
959
809
330
198
462
769
733
483
372
274
787
532
924
211
643
866
668
965
881
969
53
7
192
724
528
730
495
398
684
358
683
270
370
402
451
40
564
357
682
439
789
109
854
394
683
763
38
256
609
600
569
623
456
691
34
924
14
293
557
788
898
718
638
867
389
106
425
479
683
746
973
786
563
952
353
103
965
307
111
471
325
510
829
744
914
129
920
652
834
56
594
320
847
494
328
555
139
856
187
367
192
145
584
0
734
469
742
578
695
676
943
71
592
294
976
449
884
690
517
82
953
540
548
421
304
332
381
636
877
981
471
809
257
143
58
152
453
938
854
105
993
795
999
49
152
846
21
549
206
517
944
309
325
22
501
564
902
122
211
708
769
871
132
165
224
322
57
85
875
110
905
369
631
504
730
595
856
805
698
793
805
383
337
481
266
386
761
198
708
783
688
732
696
331
780
918
12
615
594
185
810
867
311
966
479
181
826
728
218
60
532
344
719
505
362
583
27
712
998
765
187
334
493
322
92
656
821
858
704
83
883
871
292
521
315
398
469
80
253
117
301
701
914
387
235
108
449
354
830
186
971
476
775
267
507
958
562
462
878
988
874
120
230
409
95
626
464
455
950
453
223
282
25
597
48
753
94
911
922
711
646
282
891
981
116
889
236
632
208
161
729
441
566
583
286
187
859
666
97
307
543
267
934
144
195
386
360
491
397
200
830
832
476
720
251
837
731
752
133
481
335
808
718
344
143
256
172
637
456
486
401
491
78
474
614
825
920
438
560
368
440
912
847
145
926
605
304
927
944
328
401
162
144
48
424
571
718
545
622
708
525
286
958
549
957
344
180
836
627
87
158
638
23
15
425
505
25
791
257
553
486
509
295
192
696
688
532
283
818
816
914
810
905
201
104
674
385
819
493
172
203
192
225
337
147
284
851
183
776
401
927
126
126
209
551
448
646
867
478
68
448
53
541
374
831
404
632
559
532
124
849
193
129
549
2
893
51
346
915
525
494
841
594
305
448
814
807
399
57
450
434
790
927
227
796
36
433
693
546
631
419
459
350
952
4
819
319
69
59
612
531
242
151
879
991
143
81
898
92
217
414
928
299
718
492
636
217
436
104
415
165
802
55
99
195
935
152
143
257
258
526
759
522
301
661
880
62
531
787
386
795
368
933
213
214
394
972
417
858
826
300
857
347
32
959
686
742
362
273
146
984
800
245
860
723
775
596
138
132
674
664
488
363
315
176
642
341
938
606
246
321
188
670
343
112
741
647
768
266
437
560
377
212
136
893
286
937
169
444
220
32
340
541
208
512
317
447
884
204
655
168
123
127
122
629
100
169
23
219
33
745
489
803
732
95
796
351
744
566
308
543
653
661
280
255
253
550
450
683
550
941
512
955
704
62
326
50
689
704
954
435
333
963
280
10
78
320
344
134
146
595
662
39
487
591
248
712
315
408
738
116
848
817
737
45
85
797
130
359
703
31
783
555
587
67
994
501
974
87
297
894
634
82
780
649
989
90
283
754
520
408
678
532
415
605
86
718
216
269
590
404
490
383
349
661
295
414
840
421
376
192
596
956
92
373
865
855
451
702
499
345
710
258
886
11
765
395
962
172
872
354
613
734
569
533
748
583
193
296
777
615
803
981
448
10
545
210
860
770
517
905
358
865
0
473
620
708
697
109
17
313
990
374
535
501
950
592
500
61
201
309
139
581
999
227
198
579
435
910
118
270
948
275
550
972
312
440
484
798
330
731
840
220
592
537
319
88
125
862
864
898
618
414
851
694
219
410
272
495
889
610
119
349
734
275
585
523
705
761
618
653
50
356
654
920
369
145
946
593
909
985
369
718
413
318
939
583
733
846
673
87
805
558
876
341
592
495
540
625
785
769
671
450
633
687
252
702
763
277
23
838
417
460
158
777
734
413
343
484
699
25
912
158
618
529
934
251
944
315
799
939
778
218
528
888
786
895
490
904
193
786
22
39
5
381
837
755
207
311
467
316
21
926
775
790
129
207
177
65
333
118
518
872
53
310
836
384
618
530
362
397
976
990
516
0
428
552
264
547
986
886
35
148
608
769
479
60
597
661
742
542
232
964
259
160
975
99
549
185
829
760
99
24
223
133
104
164
645
882
35
524
33
596
111
808
57
176
595
207
715
90
924
175
418
664
278
652
131
723
391
636
614
364
595
207
505
192
181
155
555
986
213
655
780
137
12
903
79
534
173
68
733
57
206
232
510
236
590
376
221
856
251
292
99
559
423
509
584
536
209
131
221
972
892
640
478
719
726
584
230
816
898
319
130
754
900
444
205
220
789
555
129
315
940
518
609
218
322
154
355
612
881
594
422
111
275
638
357
162
159
795
616
219
280
451
307
56
288
627
921
147
644
439
918
620
852
74
103
757
498
516
282
688
607
560
605
823
393
141
500
691
106
948
47
729
319
97
530
102
383
822
751
728
336
547
2
848
860
126
918
987
379
742
721
309
620
426
496
105
891
705
641
562
992
409
592
692
124
790
650
959
6
378
979
648
252
531
252
908
648
13
573
393
937
478
920
104
143
306
481
338
205
546
431
717
946
462
60
933
111
247
341
446
940
379
7
391
585
785
741
166
469
572
321
871
227
571
979
792
641
430
373
731
26
85
815
200
49
784
17
907
355
10
144
107
610
421
837
998
712
16
540
746
261
363
341
922
544
314
909
609
563
174
122
227
216
955
208
6
222
34
996
261
301
578
872
860
63
429
944
679
961
186
837
904
387
768
149
717
14
456
34
437
979
716
448
451
823
402
154
928
876
357
272
378
292
384
314
418
260
623
980
253
266
801
415
485
188
112
269
792
639
642
862
953
289
872
404
948
298
67
484
55
602
972
671
79
590
98
869
411
375
777
519
999
402
554
914
902
202
158
129
942
218
376
736
355
34
9
602
927
648
718
524
632
773
174
56
798
889
90
213
727
443
63
3
338
638
393
385
366
273
246
774
236
968
277
713
770
806
718
307
569
105
991
961
315
657
252
66
611
146
977
313
337
610
179
959
728
763
392
820
169
59
281
929
691
881
164
798
652
844
654
101
774
693
575
84
82
127
270
154
958
263
730
249
453
999
693
92
6
45
478
950
14
364
425
301
531
239
215
300
743
646
591
160
882
53
277
4
493
415
547
368
937
307
130
280
18
451
966
848
658
521
932
326
2
921
848
82
601
528
175
123
425
718
205
983
768
891
678
180
936
637
407
759
60
738
559
659
733
984
469
543
426
634
266
220
507
193
207
812
958
581
704
508
363
314
208
361
165
966
792
90
54
585
748
393
777
504
185
442
603
196
473
613
497
852
715
720
726
501
893
523
982
954
142
7
96
430
12
389
635
835
727
750
555
544
11
999
153
928
132
289
249
536
610
269
803
153
236
922
530
416
47
352
894
481
279
185
39
626
765
973
97
511
132
711
58
200
667
729
515
158
578
792
963
927
911
348
669
648
79
177
677
172
68
104
310
955
36
554
785
533
87
683
797
330
723
408
604
813
732
276
796
253
696
695
557
520
563
182
6
915
408
508
966
238
173
8
478
963
31
922
476
451
273
662
25
135
544
895
147
113
558
341
321
843
513
626
924
999
98
870
366
825
573
695
809
867
712
983
464
974
891
996
160
543
257
634
22
661
884
26
624
487
645
476
351
332
751
262
676
894
796
825
229
210
29
288
158
45
773
565
628
226
944
471
772
62
285
314
908
735
834
574
938
226
650
515
16
140
292
299
911
767
764
975
286
830
59
717
98
500
917
835
260
924
230
303
234
807
995
393
649
766
568
833
715
818
880
572
531
189
26
12
725
166
701
164
376
512
171
33
999
118
763
574
765
783
443
83
110
859
113
885
114
561
66
531
531
733
809
877
740
910
212
199
202
724
341
822
134
909
19
108
239
225
517
391
840
762
741
109
709
776
261
261
253
671
248
145
144
227
169
348
177
493
515
890
356
494
918
16
687
357
19
40
325
233
987
994
837
711
115
760
536
430
821
147
510
10
206
547
994
910
727
101
421
482
354
496
994
228
119
543
479
664
744
916
950
359
427
766
823
392
322
696
637
546
587
114
257
228
581
663
292
683
422
149
907
43
381
209
56
392
174
628
311
819
966
1
293
550
770
900
101
139
153
938
812
951
615
878
75
157
16
486
993
61
160
42
979
460
842
697
575
337
600
893
349
884
769
777
879
422
739
318
545
80
235
368
995
832
500
205
112
798
683
927
963
915
653
258
11
181
141
28
631
719
561
755
958
785
362
648
100
257
99
457
795
149
363
346
72
59
372
205
458
270
375
773
892
380
171
936
413
468
183
370
445
886
983
889
241
923
654
747
969
991
452
930
200
119
331
75
191
683
753
627
43
525
159
151
314
183
680
335
627
562
960
676
680
435
856
534
623
362
511
351
635
398
312
510
812
274
283
832
766
896
88
603
702
317
119
906
861
625
422
431
436
382
865
890
923
610
568
278
456
176
301
936
998
751
227
994
884
192
125
935
730
306
275
174
170
517
270
158
709
73
13
613
109
334
99
383
691
730
652
494
941
811
828
894
457
499
699
102
670
408
320
214
104
665
407
156
20
766
404
795
613
122
173
700
21
215
209
8
43
273
589
334
60
926
461
430
473
119
392
443
782
309
356
137
738
407
309
283
484
754
329
267
341
879
79
286
553
663
892
186
765
258
752
817
350
437
994
754
936
724
90
507
488
483
508
763
713
458
972
457
418
674
560
564
735
599
926
972
921
871
763
79
690
32
101
549
660
257
578
570
320
569
760
549
187
84
0
982
872
172
444
401
545
168
665
72
830
748
279
657
603
708
759
72
926
396
854
982
698
526
754
807
553
374
111
778
419
829
351
852
692
475
261
154
416
567
384
66
161
679
454
405
369
106
464
95
811
124
277
734
325
835
286
491
276
191
503
543
943
988
901
594
479
333
196
687
32
927
909
280
626
925
565
331
108
807
901
591
156
438
419
910
743
76
572
421
44
83
338
88
144
333
698
779
953
166
566
978
952
251
861
485
380
677
797
680
466
930
808
660
712
859
155
475
272
490
957
985
570
723
932
268
668
596
490
376
881
55
207
798
469
727
180
629
83
117
388
968
90
736
2
529
456
626
895
28
751
605
37
831
200
969
160
752
495
739
158
88
906
913
246
959
476
832
306
487
204
654
238
717
629
150
31
392
38
735
688
401
804
143
75
754
550
484
796
224
408
131
12
768
720
111
0
656
470
969
179
396
95
296
7
345
635
973
595
141
696
7
239
187
61
421
534
759
682
17
381
551
621
223
189
999
32
201
604
990
602
828
991
9
43
62
397
787
216
458
712
964
736
778
226
434
410
734
799
483
82
924
238
933
111
851
736
333
550
518
828
792
650
132
647
151
868
164
547
286
43
843
489
352
757
978
427
722
967
376
56
530
353
37
722
1
530
57
672
165
511
645
337
30
674
656
644
455
732
88
632
191
90
206
529
445
878
550
470
717
797
776
164
654
849
569
714
805
694
925
558
480
974
534
510
652
853
557
51
621
397
40
19
589
587
97
349
131
675
867
115
430
277
609
372
535
465
658
149
468
134
669
197
802
838
190
715
313
280
182
158
168
350
38
762
185
949
165
539
267
766
271
903
987
573
758
185
905
327
269
394
828
46
764
915
334
930
564
565
682
296
83
238
986
312
230
305
789
639
375
28
52
973
284
483
57
529
714
259
889
214
383
294
132
248
716
637
13
675
633
861
603
953
776
198
965
531
398
320
252
38
528
524
469
154
403
631
150
239
253
407
239
319
429
572
722
203
405
338
64
225
177
22
373
242
510
359
213
752
742
425
462
75
374
230
560
559
259
109
536
28
313
893
405
486
716
705
100
38
237
228
712
781
578
632
815
485
745
825
651
330
326
707
204
333
367
270
434
242
154
988
6
512
105
593
696
935
495
690
474
639
221
229
726
16
554
966
209
865
903
965
461
695
373
416
619
317
13
765
856
776
166
827
348
470
378
364
125
830
908
978
283
769
824
890
103
245
281
41
600
887
674
805
609
211
289
611
408
343
733
227
948
493
797
918
433
554
115
213
225
35
446
427
441
804
45
540
514
456
646
53
395
683
775
101
665
7
376
298
586
543
160
587
289
23
913
667
992
897
582
151
345
142
346
293
568
901
112
723
276
915
730
415
87
167
4
474
283
973
736
844
718
896
253
255
934
236
604
821
314
218
810
140
307
787
503
814
423
601
629
676
145
998
741
686
392
170
781
294
745
392
912
65
711
664
809
254
331
69
833
443
273
838
182
625
47
724
169
537
433
100
278
5
281
428
726
49
865
612
599
244
812
354
156
630
338
517
339
939
371
106
366
196
501
95
938
894
349
293
163
474
269
36
463
620
476
422
726
723
871
509
47
57
734
345
339
363
193
998
5
547
618
953
400
500
356
470
429
714
800
995
579
987
455
144
154
140
866
662
731
532
36
492
195
42
737
506
65
386
239
934
354
292
476
43
155
771
951
335
302
15
130
117
494
574
354
67
795
588
222
546
758
336
707
977
252
259
145
609
952
517
58
409
607
406
708
563
594
555
390
54
45
167
402
991
561
50
551
587
398
910
551
402
295
665
562
139
331
966
336
818
109
25
572
727
571
930
481
347
25
153
780
607
320
487
861
277
126
581
667
623
307
705
714
136
172
946
218
18
991
349
889
209
937
385
312
231
128
8
596
797
834
164
409
65
948
535
824
381
264
10
582
339
926
583
641
706
91
601
775
422
94
997
148
223
247
198
960
515
203
741
959
166
381
812
511
631
140
543
503
848
683
539
406
565
447
643
934
678
732
819
401
88
47
473
654
336
193
226
870
817
194
317
448
564
223
202
234
5
107
982
928
592
501
81
826
288
348
640
560
690
420
209
603
278
21
657
337
528
509
31
823
80
260
107
105
569
834
130
933
607
972
400
546
142
54
771
726
53
5
578
999
781
200
608
489
443
955
154
598
801
367
245
316
96
231
175
141
825
328
908
185
432
716
360
89
227
264
346
828
275
157
458
9
742
750
339
683
883
933
387
604
408
285
26
502
439
218
148
953
925
834
613
297
405
66
429
501
379
230
450
100
394
853
308
939
359
210
305
425
343
159
181
56
174
230
917
33
928
326
911
541
692
151
904
919
822
758
639
449
198
68
899
473
153
953
134
205
47
31
196
518
294
785
392
672
233
553
561
68
91
477
138
552
496
28
494
871
943
681
939
276
500
985
322
88
525
831
950
321
746
342
356
541
566
974
81
413
129
465
855
248
854
44
826
642
444
509
792
333
313
159
457
52
759
892
411
166
811
552
877
235
979
475
272
884
267
971
451
270
776
11
198
167
539
165
430
597
859
634
176
39
754
44
610
920
790
707
667
202
699
191
839
838
592
73
217
824
180
91
855
83
85
297
999
554
497
532
516
589
30
510
43
263
639
20
180
755
183
748
809
127
341
278
940
276
877
549
745
813
132
544
260
866
77
273
918
275
155
636
999
139
514
495
391
152
863
521
139
800
560
363
306
137
381
429
739
133
673
219
613
144
273
637
862
497
118
489
222
631
207
879
746
959
969
302
843
606
913
839
328
17
809
42
407
560
767
485
345
981
700
759
167
121
83
867
180
134
650
258
160
664
455
525
748
398
752
61
343
414
174
518
383
469
945
274
635
233
326
576
347
461
22
954
459
353
689
438
224
115
733
2
49
948
847
259
990
576
947
477
673
727
83
486
171
356
537
88
382
571
342
347
653
487
483
790
181
967
509
662
435
729
559
958
239
27
918
912
447
617
27
136
306
130
454
34
739
784
249
817
939
849
144
124
164
418
142
23
505
419
655
25
326
226
894
915
486
773
362
706
628
629
598
983
643
352
763
446
979
281
877
450
698
117
491
841
489
820
933
459
436
557
988
234
666
783
812
477
527
823
351
119
80
640
230
606
507
799
958
660
73
290
172
921
153
934
204
988
917
391
693
962
700
434
851
259
567
499
768
743
995
550
772
966
725
287
366
450
724
716
426
145
216
994
219
469
586
728
472
41
992
106
490
371
798
999
488
266
475
91
638
101
283
745
108
857
171
413
105
826
113
911
970
216
380
822
140
698
958
8
484
617
367
428
6
947
625
990
860
481
614
545
658
310
708
323
653
897
208
541
903
457
241
969
797
585
818
947
877
555
47
908
829
594
375
233
681
770
0
472
47
381
136
119
792
20
288
773
571
983
759
693
301
669
274
239
111
43
615
474
647
738
978
566
709
588
39
264
870
172
132
447
637
641
717
434
279
929
899
801
750
455
66
314
558
21
825
785
443
404
234
287
426
932
772
89
483
854
741
960
927
905
688
371
212
697
607
941
751
243
479
102
719
29
916
134
638
338
996
975
895
360
253
374
826
634
53
242
632
356
839
180
463
236
365
937
151
214
489
207
381
422
986
748
156
874
916
746
649
123
220
200
249
143
910
285
209
490
380
537
913
496
352
340
239
62
615
251
213
82
681
520
443
107
657
848
984
998
205
115
988
329
667
309
120
730
762
889
407
783
341
77
642
421
807
612
141
956
713
307
25
622
890
861
856
489
930
62
281
991
241
814
571
820
587
395
260
505
858
997
407
52
186
959
516
9
376
933
14
439
417
850
268
856
766
14
417
551
362
606
26
957
997
27
650
584
974
320
503
333
768
721
755
337
354
511
364
946
763
336
572
44
909
298
196
527
237
799
553
926
556
568
659
152
818
760
783
161
808
801
23
841
878
622
945
678
258
863
440
589
782
638
171
740
596
970
353
794
82
822
373
597
16
501
50
250
340
502
22
952
710
777
39
868
486
159
102
333
323
495
35
844
149
666
522
81
313
228
291
288
840
568
113
59
585
266
761
761
416
700
197
516
10
830
77
360
47
6
798
591
250
87
540
59
743
435
615
392
264
713
295
329
597
414
222
972
662
525
15
7
690
496
667
122
843
567
781
682
264
340
111
534
39
970
365
965
377
507
443
645
74
604
593
30
230
961
367
211
144
981
312
503
789
264
503
79
772
79
489
158
767
684
195
774
290
207
731
220
21
870
386
29
389
21
250
184
367
990
818
348
637
947
817
407
273
605
800
645
641
437
464
343
416
352
597
307
290
330
582
116
302
343
846
286
924
921
198
867
884
264
928
379
172
311
274
977
808
695
191
163
240
810
562
745
417
342
990
8
264
461
595
690
270
556
196
535
379
424
466
45
786
965
963
515
110
118
85
427
743
291
438
543
435
385
168
18
934
528
467
593
505
474
529
730
963
278
664
190
264
540
494
466
38
887
573
461
914
429
152
158
682
734
698
674
618
360
861
492
309
300
495
901
302
893
669
79
686
155
215
890
743
112
573
437
775
753
977
537
594
502
345
927
539
791
743
31
547
705
363
626
863
398
231
225
932
711
194
565
904
814
946
539
807
981
868
367
18
348
470
443
926
230
390
778
666
850
407
824
697
315
728
652
18
587
213
362
442
211
563
651
495
392
483
579
654
228
556
743
124
946
68
864
263
71
578
100
881
876
485
482
360
656
986
972
859
271
944
358
606
497
271
235
225
844
824
150
981
253
840
383
657
473
434
655
719
286
457
204
891
888
779
823
495
724
906
365
576
206
632
830
558
25
68
544
222
843
721
204
468
995
813
430
239
122
718
231
474
230
254
506
212
301
294
187
237
418
115
214
171
657
429
71
809
771
44
875
59
178
517
835
608
519
52
848
983
140
846
592
528
7
191
283
402
41
262
247
214
750
24
278
169
114
398
244
323
704
292
801
532
817
289
954
209
985
792
919
988
410
636
816
967
31
377
152
233
245
39
534
454
477
553
634
655
486
570
60
809
923
660
321
200
36
321
697
196
168
115
629
341
370
548
856
204
740
115
628
174
756
880
659
588
902
473
912
255
245
127
340
535
646
660
346
82
707
661
564
123
22
571
952
1
951
962
112
133
401
877
778
759
480
980
274
272
275
35
628
936
668
206
920
398
770
760
838
422
227
330
353
58
271
620
776
372
586
689
220
182
718
508
804
809
590
596
861
138
745
312
599
452
171
229
375
772
210
160
105
815
901
783
356
240
915
976
564
302
479
784
279
229
462
352
67
190
649
939
354
583
951
782
186
23
254
294
538
403
995
620
718
256
575
39
981
984
981
497
489
693
378
987
304
852
8
276
407
51
504
417
829
856
550
113
560
252
416
913
350
159
411
4
485
9
372
770
201
670
640
314
454
701
50
353
100
938
60
990
974
348
278
392
90
180
687
378
284
187
944
836
931
764
119
439
121
96
318
816
660
510
868
3
992
715
434
760
84
36
874
839
157
655
912
375
882
536
238
295
559
114
543
963
363
257
245
786
125
709
498
345
360
763
44
689
29
844
341
237
924
718
647
491
796
409
324
678
511
298
533
537
239
641
448
998
71
945
65
863
169
909
717
646
930
551
791
52
918
135
990
678
277
939
779
278
27
155
888
488
513
4
443
39
81
654
597
431
537
962
887
463
518
688
218
282
246
877
426
229
153
360
462
878
62
400
866
402
459
720
759
196
807
803
940
945
211
153
138
657
75
839
629
816
117
387
756
869
178
7
778
206
78
506
82
812
775
750
28
43
400
788
488
903
789
857
596
758
996
361
828
6
419
707
504
821
549
995
683
153
202
969
455
254
842
327
195
917
503
577
3
278
212
6
830
560
101
694
217
698
499
929
525
767
626
413
131
726
439
68
333
959
499
480
135
500
86
563
988
359
596
757
589
958
731
193
929
47
19
442
673
196
565
740
480
711
734
552
529
801
465
165
7
124
795
229
31
623
936
274
943
539
317
552
711
655
876
668
303
805
313
275
991
153
237
526
586
449
356
436
228
741
574
433
942
919
709
920
420
759
600
996
798
810
293
45
220
666
915
564
381
570
2
505
798
544
959
557
684
957
11
629
176
23
990
116
619
724
56
639
431
976
63
237
783
307
260
85
864
80
382
57
762
298
572
948
619
616
712
933
31
821
763
606
454
392
156
98
261
124
449
574
153
337
787
200
795
451
130
517
220
816
688
295
463
276
947
501
146
857
626
204
505
243
435
95
498
45
538
431
733
371
530
245
8
761
970
758
710
655
773
616
150
883
681
536
200
767
905
344
592
236
651
354
445
518
144
799
244
23
840
956
506
455
649
531
889
321
22
660
302
445
477
933
256
967
537
955
862
55
987
894
187
558
698
369
192
716
388
477
321
781
812
792
625
220
443
859
546
344
109
185
37
842
953
812
246
845
951
501
872
935
783
703
167
569
492
342
766
483
246
723
557
752
459
618
66
662
744
678
426
749
723
355
111
19
939
832
536
415
963
794
801
719
728
387
925
690
460
664
731
208
809
582
253
794
77
257
181
668
551
892
293
83
922
544
65
698
126
22
35
693
628
414
955
702
257
573
471
836
397
254
132
534
282
376
4
235
682
48
206
71
34
624
408
248
551
903
965
582
124
174
15
236
425
696
286
644
969
159
163
983
147
754
385
415
419
573
974
554
794
444
460
344
237
6
9
364
423
277
947
830
922
232
146
789
713
744
212
423
491
540
615
325
222
886
893
693
226
88
166
541
781
610
310
956
601
160
410
789
301
571
649
775
644
436
164
527
541
707
296
815
360
431
583
742
585
561
263
446
374
525
170
581
579
527
943
501
194
16
845
729
74
799
65
426
731
958
916
60
348
537
797
62
527
698
72
139
666
750
717
8
67
801
428
718
138
145
990
752
645
637
45
308
252
457
826
739
148
555
825
806
402
594
334
936
649
414
171
858
694
272
48
225
106
741
631
790
946
724
290
473
300
142
255
539
432
583
215
567
347
834
534
32
768
179
60
175
88
296
499
127
122
682
85
698
732
11
619
37
479
44
839
150
310
40
575
897
826
274
467
851
726
770
738
909
843
165
277
441
203
28
466
965
487
341
976
344
947
744
174
830
413
426
370
994
526
182
982
886
854
698
960
368
742
456
566
562
528
493
10
519
674
403
339
990
98
437
441
43
275
247
924
432
812
108
554
594
261
526
715
200
769
827
198
1
667
848
368
991
840
143
980
998
27
202
962
28
365
665
778
631
55
518
777
410
864
667
202
437
18
516
643
415
635
455
851
274
570
647
788
19
216
745
965
396
977
806
453
727
361
703
760
675
872
663
896
986
131
576
547
630
302
277
443
62
363
136
577
627
232
450
860
32
428
279
11
991
431
302
149
947
512
462
251
307
135
229
117
812
452
342
72
59
152
256
403
683
241
331
411
636
770
708
143
19
426
953
992
390
40
472
543
887
916
685
446
835
794
957
514
179
139
314
91
799
538
374
103
435
645
66
162
4
515
633
828
862
622
2
174
330
541
450
448
799
593
35
162
89
893
125
19
938
901
966
756
195
337
739
886
746
550
349
812
858
445
917
595
734
140
449
245
751
455
579
752
25
828
862
957
7
727
473
112
640
936
494
492
405
363
879
634
687
378
697
665
25
390
658
557
791
124
668
167
795
518
541
271
839
62
544
214
237
153
975
230
500
306
257
199
713
187
260
950
919
84
751
117
589
720
398
605
458
824
270
722
763
941
763
517
413
890
820
387
309
442
85
960
280
705
635
130
581
799
163
104
438
88
918
759
444
976
357
273
781
375
868
110
626
480
486
327
402
730
147
781
938
304
59
534
127
266
319
116
396
190
333
898
329
651
328
578
112
314
889
199
587
179
466
620
314
588
800
744
949
278
949
124
923
73
485
983
506
221
268
391
658
88
871
622
100
588
754
220
241
916
453
849
971
1
254
445
809
399
710
527
667
540
460
360
134
976
302
11
53
213
151
226
496
60
600
231
437
363
542
554
936
671
997
163
397
356
894
252
681
249
19
290
921
792
498
681
302
154
578
524
855
650
490
973
848
412
729
321
990
235
342
886
920
664
179
946
140
27
912
146
360
96
396
887
800
231
225
486
631
686
841
660
512
171
789
169
887
283
383
928
395
38
940
299
69
612
454
203
285
356
361
132
65
168
302
474
143
792
109
558
942
665
458
499
481
247
843
327
278
384
838
41
671
378
368
735
774
168
108
308
701
699
767
140
137
674
528
392
559
748
291
268
683
708
156
655
953
714
73
933
885
498
301
843
685
651
340
773
769
550
560
936
169
927
621
941
973
321
854
957
127
332
113
469
45
737
765
68
396
732
24
64
66
374
903
66
736
618
194
741
768
262
786
433
550
657
812
154
901
279
111
301
325
616
522
290
998
861
244
54
600
973
993
416
528
234
166
722
481
836
469
850
334
846
63
245
385
343
867
257
305
236
723
705
240
473
125
443
2
459
242
2
911
97
340
664
715
798
530
555
331
36
826
530
760
128
732
951
728
587
226
16
406
504
890
777
841
439
454
450
871
996
751
986
570
368
831
923
411
332
399
310
519
375
871
810
971
910
182
979
765
645
896
163
110
147
817
774
375
335
628
817
662
60
530
202
434
121
472
12
24
158
292
774
467
149
716
915
581
301
785
92
61
756
437
287
153
787
192
64
679
430
714
481
865
397
629
215
379
132
439
674
843
292
74
20
276
152
954
996
116
960
599
819
55
362
617
35
864
843
681
656
34
919
191
904
215
56
935
676
969
175
342
16
723
602
969
995
787
808
469
114
953
75
506
439
863
213
215
182
689
486
741
713
532
72
837
700
472
370
977
565
734
946
285
179
199
693
273
908
813
461
918
169
866
122
532
669
421
172
103
19
515
191
480
233
687
651
121
842
441
641
963
648
564
317
90
236
98
648
265
962
473
524
666
382
940
706
210
708
539
342
639
389
946
81
940
836
38
453
805
966
394
198
546
300
378
856
114
914
63
834
723
359
581
848
624
672
575
71
851
673
624
265
83
191
997
96
76
337
904
902
690
102
71
865
83
804
475
373
19
702
457
885
983
78
752
798
499
960
388
436
791
821
352
960
459
545
965
70
260
352
541
233
610
991
419
503
883
658
325
506
299
277
766
725
993
57
924
153
832
737
319
240
66
381
945
945
341
63
973
534
134
493
971
298
989
865
366
49
77
743
869
342
701
336
322
321
573
645
708
185
510
295
757
804
788
689
996
795
624
961
746
126
717
271
50
722
537
614
635
665
656
455
458
37
856
357
410
722
938
185
515
716
616
301
168
312
39
801
62
766
584
157
866
919
239
400
934
975
650
681
104
931
324
912
351
735
961
337
246
958
883
558
944
541
625
178
886
30
126
398
384
810
977
213
830
876
161
304
667
363
654
762
864
713
724
445
958
166
251
571
945
648
976
294
714
49
293
842
725
159
402
430
789
434
668
252
308
56
25
521
192
3
301
210
412
979
953
346
306
112
411
744
778
254
687
106
589
592
860
852
258
822
465
56
292
873
634
101
425
646
371
394
757
258
238
162
80
205
847
282
410
914
804
381
892
835
789
929
122
38
422
228
805
868
524
426
829
881
728
868
51
26
320
409
527
387
675
53
596
982
644
463
736
598
291
787
602
623
740
894
406
683
817
320
391
128
871
71
720
317
829
914
116
789
636
669
988
921
738
471
641
553
1
122
591
173
69
815
529
131
831
78
556
622
110
99
514
980
797
926
999
470
147
825
42
194
145
288
399
56
836
959
189
936
321
534
550
583
761
307
709
215
888
60
670
772
33
335
465
497
648
354
871
298
210
160
118
697
76
691
151
122
323
25
996
276
501
941
285
280
690
548
626
464
22
335
821
472
103
822
535
569
200
845
44
659
694
272
502
64
327
369
537
259
869
886
454
945
537
432
611
520
184
789
953
30
965
198
745
115
854
860
683
287
0
826
50
622
570
603
198
437
72
648
395
809
539
769
257
658
585
339
626
649
727
478
270
304
820
984
445
540
157
54
878
184
700
247
218
609
776
252
10
358
150
131
722
804
826
973
173
654
651
158
688
52
809
11
1
840
306
438
352
43
876
355
493
841
213
187
33
686
163
745
468
189
742
374
944
613
568
169
612
909
19
491
829
35
58
659
99
558
224
248
822
99
886
763
678
847
739
71
57
715
791
456
825
32
305
156
713
35
554
951
722
926
513
294
226
363
7
488
222
273
596
420
765
750
628
485
904
27
700
582
841
969
639
82
718
890
363
682
830
911
2
200
136
322
445
836
776
641
682
332
674
268
642
65
18
462
687
480
410
241
446
24
669
215
437
500
815
379
174
95
30
252
97
713
591
823
401
870
175
156
530
243
381
37
660
26
56
759
59
769
453
739
990
105
206
619
291
105
129
377
979
968
399
865
442
646
185
552
90
135
902
283
500
871
153
100
974
582
509
312
210
548
903
616
932
595
582
876
529
382
373
395
43
128
239
93
172
3
267
721
326
815
391
64
465
861
829
419
834
560
305
591
610
221
492
35
134
163
409
990
50
32
904
350
907
447
894
42
38
954
245
148
363
327
127
405
369
125
193
410
354
987
869
366
720
134
409
395
596
615
994
488
31
749
453
57
621
204
107
849
10
195
502
245
555
403
400
161
29
284
418
44
467
157
893
78
11
13
756
404
967
460
717
3
209
489
808
391
298
87
591
340
875
752
877
49
802
570
390
853
445
836
877
404
283
184
360
161
675
504
856
236
140
527
693
687
781
998
704
338
645
486
19
905
719
345
533
109
212
132
306
39
497
983
274
678
419
955
786
840
527
410
582
259
113
431
26
768
644
757
296
390
235
535
999
334
39
607
30
365
817
474
52
611
811
461
120
730
694
971
563
474
593
921
640
548
737
57
76
581
354
282
358
157
456
153
804
378
521
97
578
819
613
731
274
706
2
825
637
20
381
153
626
985
248
114
755
610
571
417
464
948
283
369
863
935
820
655
708
277
777
689
145
300
265
744
199
561
357
708
610
83
739
430
853
526
864
527
707
194
261
66
274
91
662
116
66
498
605
117
110
669
196
84
474
314
554
655
741
327
254
751
360
384
822
748
354
910
663
988
932
306
789
945
664
482
21
901
632
966
53
158
85
138
949
116
289
862
883
481
453
672
811
958
119
984
670
841
232
238
179
281
398
399
254
543
658
982
655
164
545
843
507
399
978
772
14
3
104
509
77
114
225
36
351
787
98
320
878
637
102
174
668
809
489
208
375
153
357
562
182
18
99
622
587
175
438
808
819
132
250
33
185
232
564
12
173
216
267
113
357
596
638
310
20
245
433
802
504
700
429
511
167
571
582
616
709
738
911
926
102
18
713
769
563
170
412
939
492
233
544
371
254
150
6
27
509
563
189
653
212
440
741
64
211
635
332
810
334
161
725
305
330
488
163
760
354
843
127
630
621
518
757
567
943
347
341
961
76
438
231
787
461
119
126
957
511
617
202
270
175
998
236
386
53
914
392
608
830
653
858
224
66
343
121
910
86
530
535
685
860
958
167
748
613
229
323
197
956
839
279
93
787
617
90
255
43
773
395
223
185
563
720
278
813
487
328
638
646
418
73
931
38
447
81
578
390
10
267
276
579
32
725
429
323
180
887
357
131
268
256
136
121
469
840
214
605
809
636
59
318
122
37
807
833
50
942
533
223
405
913
56
212
686
433
608
659
973
538
972
40
458
541
999
517
405
945
974
756
99
896
753
945
365
981
952
890
987
484
156
276
872
957
253
917
445
630
6
498
683
331
863
749
101
700
219
19
670
490
175
613
792
584
633
400
678
265
511
890
551
697
465
606
26
348
24
511
99
115
274
890
549
840
84
549
391
353
539
425
647
558
448
416
27
687
946
38
860
531
778
675
380
334
631
599
937
816
433
51
56
177
949
576
828
429
516
386
936
623
278
680
525
686
836
756
516
335
648
595
774
381
612
393
424
288
192
412
754
594
806
883
590
498
804
40
120
608
956
926
807
943
221
258
869
644
869
403
918
362
928
71
182
165
455
234
913
21
326
379
544
954
683
601
962
56
412
534
111
335
356
991
947
940
409
765
903
55
932
810
331
340
375
808
473
813
848
452
864
800
547
340
993
573
254
272
466
803
438
625
796
95
601
174
626
875
711
368
537
997
9
428
739
364
739
842
442
301
755
373
6
662
94
2
405
1
135
244
436
354
139
118
463
900
775
178
447
823
82
26
439
105
104
872
305
535
464
718
464
451
680
973
146
933
33
504
966
35
406
618
769
57
331
904
476
557
421
989
855
210
140
511
336
392
849
916
172
368
375
237
985
28
498
217
758
388
791
594
732
744
876
140
163
792
288
81
616
202
830
440
348
951
916
513
798
179
618
379
370
905
262
281
481
632
32
526
82
697
439
229
688
437
354
277
117
270
451
919
801
150
809
31
451
295
351
402
293
532
375
971
318
12
430
353
953
943
77
762
817
793
789
776
850
998
202
456
942
403
110
30
650
706
957
386
191
870
137
190
151
958
109
581
260
205
240
714
828
741
977
207
776
917
4
416
963
864
233
491
849
867
145
740
541
396
992
86
791
749
868
543
314
596
357
828
75
433
326
468
40
472
553
425
901
505
794
519
172
309
190
174
421
568
27
592
625
854
325
960
823
205
145
190
708
453
126
143
84
795
28
751
243
569
812
608
322
278
804
218
2
994
945
577
938
997
653
165
564
117
764
505
486
707
277
463
561
477
166
978
432
195
525
906
957
862
549
765
759
551
127
749
414
448
328
166
664
790
873
379
409
438
502
898
559
606
63
439
673
52
362
106
679
43
501
414
265
969
14
583
152
485
83
652
808
958
759
406
257
524
920
16
168
990
905
772
598
532
838
192
172
33
919
852
788
531
114
398
657
402
812
71
514
39
84
913
584
750
745
631
552
187
181
786
939
535
702
218
914
756
703
757
899
155
219
842
313
893
141
157
440
734
88
162
412
595
484
35
266
515
681
863
902
285
765
425
758
624
628
3
603
491
459
166
923
65
907
463
458
870
305
587
602
560
55
352
303
442
621
942
788
133
927
196
320
369
825
419
907
629
781
21
616
718
133
791
114
979
887
904
611
247
886
232
814
362
395
178
850
595
919
676
728
33
50
802
323
9
298
974
783
401
469
996
793
51
511
580
697
521
779
22
844
815
631
1
632
185
816
510
799
455
619
210
435
181
226
827
55
485
54
161
41
823
249
59
200
610
330
191
16
251
902
943
884
146
142
844
582
846
517
29
943
320
359
417
251
272
424
879
649
464
470
809
937
85
982
803
223
959
939
817
604
884
562
417
951
258
165
35
975
647
320
437
592
379
229
868
124
663
320
731
702
305
982
624
678
367
957
390
289
923
389
94
926
365
361
938
522
290
674
335
232
423
198
356
456
581
665
744
981
470
821
666
385
707
518
767
909
409
299
494
955
413
389
277
281
463
298
471
400
333
495
649
769
597
984
942
441
362
486
41
262
600
65
499
466
761
121
975
318
605
420
839
646
845
197
143
57
827
919
640
614
665
865
252
562
817
485
212
487
18
121
774
821
296
791
456
296
639
149
171
978
577
903
100
718
564
41
42
749
645
597
516
507
53
286
453
157
635
170
122
357
205
485
602
943
246
62
599
943
761
395
198
811
268
112
387
602
351
179
866
953
937
496
891
824
610
212
306
219
814
772
199
553
410
867
799
825
811
285
435
628
350
189
109
528
777
401
865
237
690
229
136
832
554
433
889
837
921
611
70
44
892
475
828
728
608
998
199
273
973
110
215
186
199
744
76
179
486
687
437
557
183
18
229
93
671
642
98
31
199
701
261
99
76
74
790
881
189
643
511
202
384
57
703
87
851
451
104
219
405
784
322
92
792
699
889
306
415
775
723
347
27
670
691
708
871
362
668
183
105
208
455
342
29
569
613
590
764
620
814
14
573
480
66
827
897
112
473
594
349
927
268
965
32
236
176
649
153
406
979
624
238
60
371
267
143
403
252
975
517
574
659
282
670
241
197
996
662
433
107
656
219
933
931
225
77
800
127
617
190
250
448
270
66
277
514
776
231
952
785
714
429
976
265
20
166
225
799
994
742
731
155
123
76
444
738
248
81
618
26
144
127
995
710
782
893
714
660
481
42
450
763
643
863
542
691
184
876
476
901
470
427
367
254
724
107
659
514
745
134
170
565
335
12
61
466
654
262
181
354
36
320
279
700
381
845
871
309
230
654
409
589
498
382
128
359
555
664
587
644
129
202
256
745
652
521
366
113
391
247
769
286
347
440
300
785
152
53
15
133
256
767
204
521
200
165
75
256
53
121
249
420
113
860
699
142
603
197
635
249
928
162
40
925
506
183
370
204
231
894
657
473
124
201
793
124
401
139
140
792
49
51
683
514
328
573
857
149
987
263
715
630
307
239
81
184
532
880
854
873
580
221
567
124
969
668
182
974
321
583
711
226
321
354
158
412
242
638
826
561
55
745
808
355
599
748
965
923
876
655
245
398
258
211
802
260
329
355
707
379
225
708
478
667
588
928
989
335
317
250
272
530
37
917
680
960
416
850
609
772
856
114
588
441
753
681
640
237
291
477
932
965
829
546
971
803
642
292
340
468
571
709
964
233
168
562
156
604
675
995
943
347
314
205
907
601
42
310
44
888
563
62
695
666
174
704
166
23
233
606
61
804
911
533
921
755
310
220
720
517
201
993
873
353
225
7
712
120
314
639
803
543
516
468
160
607
420
727
271
334
475
184
247
855
452
941
118
359
665
699
105
451
376
833
407
811
173
579
740
5
299
170
956
923
710
808
269
684
534
487
643
674
667
84
663
267
94
838
412
435
904
636
467
941
187
498
109
418
127
79
954
387
257
871
843
303
724
443
892
508
38
467
781
768
927
380
670
574
557
554
804
596
870
70
307
798
122
578
970
609
518
382
472
259
385
300
561
17
39
951
271
131
528
258
802
578
154
3
195
438
83
214
94
99
825
438
444
815
68
728
438
409
734
99
744
512
443
732
469
709
759
568
302
85
879
360
53
406
329
269
793
896
467
814
399
553
675
530
110
124
972
686
548
55
705
722
156
458
202
999
843
483
213
271
213
734
879
289
439
821
968
288
564
590
596
679
922
488
381
0
875
800
76
796
216
723
887
18
903
838
824
196
215
422
774
206
288
578
752
885
445
423
874
112
627
80
373
522
738
857
458
840
759
413
611
149
92
840
722
600
587
485
305
989
361
535
941
321
392
58
217
903
128
63
611
450
106
300
513
716
647
636
521
341
219
413
819
52
576
898
795
356
48
629
290
578
646
447
871
574
934
528
113
900
836
556
955
920
287
47
702
511
295
949
463
502
642
489
742
947
833
960
748
319
567
372
571
441
368
11
655
827
458
46
154
553
785
540
874
700
905
208
203
596
324
349
237
74
838
759
704
780
893
597
387
999
964
81
872
291
866
332
430
386
249
226
85
81
819
964
0
237
994
259
457
842
972
73
23
90
280
380
817
63
538
740
709
34
278
111
947
480
349
534
768
297
434
627
929
222
125
411
151
211
192
896
25
732
759
79
923
802
780
955
41
42
595
394
70
5
900
767
472
366
558
124
829
107
237
11
851
32
914
84
665
651
675
24
124
933
376
712
77
254
786
191
637
870
593
321
879
77
39
986
539
364
947
290
343
922
885
593
420
653
985
101
331
396
352
961
550
959
159
525
214
278
464
241
166
664
86
588
450
545
638
355
297
413
429
757
445
601
68
123
738
621
790
257
206
70
426
580
755
742
655
908
119
157
785
947
59
170
782
794
366
949
109
29
258
311
982
613
724
897
113
480
495
549
306
196
933
171
704
398
71
925
149
39
807
86
340
833
408
563
264
196
706
284
374
649
509
807
253
551
783
482
439
543
126
324
868
875
844
297
11
254
260
757
510
324
931
174
164
247
730
874
842
367
430
671
309
324
782
712
463
190
6
748
927
224
387
824
630
734
943
243
727
696
975
219
998
562
40
323
667
252
403
770
270
161
291
626
406
652
182
770
102
584
503
956
16
961
953
64
212
919
120
287
351
888
93
501
430
245
740
281
253
506
200
613
181
783
502
994
604
510
890
809
826
84
272
121
9
881
72
651
698
595
283
204
521
228
922
41
530
239
219
232
315
682
937
381
899
120
265
945
6
324
979
497
379
888
660
852
969
808
513
511
212
668
677
954
971
916
496
930
130
238
693
687
381
840
783
556
909
737
253
752
921
236
84
631
998
585
738
668
70
566
400
888
269
514
650
339
124
627
938
931
573
375
45
547
804
311
561
658
821
707
385
622
657
625
131
549
906
309
864
464
391
783
276
494
765
202
702
583
149
339
144
452
987
888
273
948
727
855
350
603
482
904
639
152
445
341
785
539
628
579
952
961
13
222
313
866
800
772
907
972
896
476
737
114
101
894
968
558
126
370
161
735
125
802
999
349
412
627
267
352
697
453
618
430
228
983
305
763
998
81
835
490
674
12
38
385
476
598
456
881
82
609
746
536
536
15
763
441
74
478
444
778
323
552
174
759
735
382
420
958
998
487
214
915
33
468
569
416
590
569
689
463
367
202
124
117
737
150
493
238
324
753
287
551
875
634
345
615
757
781
820
475
184
253
368
147
149
483
491
861
474
525
909
948
707
711
179
352
765
723
527
436
825
108
710
104
137
694
857
899
312
856
282
649
464
683
71
226
412
90
875
956
291
879
960
642
52
247
711
713
164
912
741
628
580
53
561
542
794
218
642
597
69
2
8
866
701
550
322
399
894
447
211
688
360
368
82
569
300
924
48
761
540
660
999
525
5
5
816
736
63
544
372
606
528
63
166
362
225
202
451
538
8
531
271
923
150
393
633
576
907
745
874
120
611
910
479
623
639
904
74
960
700
907
536
985
20
32
114
888
373
564
706
818
895
282
469
848
283
841
822
941
275
232
815
660
510
304
272
164
794
81
76
532
616
727
432
102
823
249
856
433
95
73
781
845
488
241
308
754
675
181
788
561
538
657
849
822
797
670
307
334
657
553
288
721
353
980
314
13
541
550
664
613
205
761
212
172
358
745
570
597
182
952
931
951
754
258
207
407
999
662
28
365
313
130
283
585
32
163
174
342
547
236
649
630
28
7
840
148
506
75
375
163
272
61
313
81
590
907
153
317
258
847
672
587
745
26
30
769
727
402
940
954
513
585
777
167
883
738
586
735
658
746
623
951
261
337
422
180
922
621
384
243
27
183
941
228
586
801
528
684
413
711
46
826
182
523
690
619
517
352
921
614
683
739
550
483
841
567
944
734
835
634
433
297
62
124
21
166
304
440
805
480
870
990
439
691
639
393
754
442
807
571
879
97
608
661
955
925
657
222
460
169
611
2
921
78
757
550
268
668
841
709
352
725
186
102
355
712
14
505
355
436
424
625
364
527
463
883
292
790
271
367
94
649
82
778
859
583
403
722
640
399
357
126
988
181
401
790
938
891
7
62
130
174
628
579
896
285
204
706
95
141
459
943
983
284
53
320
775
308
643
467
875
903
352
663
882
969
984
940
163
489
44
35
649
545
118
624
641
589
950
345
143
594
999
992
86
777
175
656
277
399
29
100
694
503
134
672
521
240
345
90
257
965
763
764
526
85
541
218
234
148
831
627
112
95
130
414
796
159
883
0
298
597
168
828
660
684
451
632
259
33
505
688
899
765
853
254
722
91
150
753
937
928
501
659
545
768
280
46
577
905
582
227
681
955
496
84
113
201
241
625
817
109
327
711
488
529
757
542
496
471
953
201
291
881
764
603
518
840
313
109
672
695
349
381
857
756
41
725
817
979
514
661
710
975
178
553
323
0
479
153
715
399
133
74
694
123
305
185
770
684
955
881
342
244
924
174
650
909
744
330
377
237
868
895
470
696
108
105
552
503
845
474
245
754
500
585
198
28
52
4
33
522
865
160
44
734
212
969
770
531
420
790
829
638
115
684
588
162
737
473
300
160
151
401
442
613
51
48
87
313
272
779
25
877
10
966
19
739
960
116
118
488
248
767
956
968
878
896
50
904
684
132
183
761
352
211
581
562
113
873
427
221
808
74
361
266
326
194
839
361
998
689
532
755
191
482
361
698
868
939
182
944
365
306
784
217
795
280
132
893
21
585
738
260
543
638
27
356
985
305
852
768
653
735
490
538
160
208
748
248
402
674
475
887
700
665
341
668
251
890
287
707
313
997
338
569
446
964
907
917
778
760
908
491
701
299
976
14
819
10
567
925
270
171
917
471
200
692
352
231
413
500
436
253
755
345
605
787
321
918
23
339
347
146
495
364
261
854
372
53
817
905
183
295
477
160
68
385
752
139
333
73
971
24
947
763
264
292
64
274
749
460
412
88
401
712
985
393
259
514
590
660
787
460
348
32
315
15
966
859
760
481
914
784
501
146
689
387
750
488
709
158
419
599
207
351
75
80
845
772
468
487
250
601
983
647
154
460
932
511
117
50
76
543
313
451
758
102
953
991
289
905
235
672
291
709
778
978
587
766
717
677
873
839
261
534
477
792
761
164
122
761
863
240
931
447
439
66
746
191
793
474
791
579
807
317
612
245
765
461
617
418
187
834
858
426
811
340
490
305
155
217
904
596
759
970
338
670
122
907
512
426
390
106
270
355
440
451
203
283
680
644
618
451
277
828
713
943
977
151
661
462
628
700
535
286
655
344
761
718
89
566
788
364
650
845
177
707
662
45
174
669
441
39
16
379
708
396
578
745
460
749
682
347
825
759
684
47
671
547
472
526
716
306
610
192
615
376
126
392
363
159
144
724
873
788
577
626
180
352
467
176
254
470
172
785
589
3
203
543
798
487
306
141
628
862
202
619
407
95
358
384
849
686
797
828
314
404
383
66
562
790
306
504
237
440
874
6
135
548
475
745
265
940
312
425
438
972
416
814
281
521
468
165
675
451
711
945
773
168
211
595
720
280
948
673
64
484
65
433
383
491
595
545
59
232
283
784
248
472
61
779
581
635
398
144
184
716
37
471
530
40
407
820
537
8
157
202
610
529
425
385
254
909
631
217
537
706
278
344
262
837
251
479
333
86
150
36
128
944
987
570
592
341
406
392
573
430
38
560
997
966
162
871
405
527
21
599
713
245
575
642
697
798
28
298
652
430
311
583
65
117
403
417
2
845
459
37
445
917
373
866
336
854
509
972
814
580
165
708
232
219
942
904
657
926
939
167
897
214
771
78
134
545
738
955
887
779
112
375
77
836
915
453
501
957
231
322
683
83
978
759
903
96
32
410
599
108
815
893
14
259
615
485
613
822
127
24
201
394
182
212
130
571
762
783
659
359
756
300
787
90
115
340
483
680
790
820
636
598
392
654
936
178
722
951
374
993
282
846
307
769
17
873
499
796
713
753
347
326
18
899
76
171
193
227
654
648
716
849
5
220
851
815
521
523
968
1
312
910
184
552
862
452
284
281
469
12
759
26
492
631
416
438
569
217
175
840
267
921
462
905
127
441
993
245
392
761
849
367
828
858
919
753
41
597
783
43
891
267
37
197
882
74
349
273
486
953
303
368
241
283
54
870
772
19
868
518
683
120
143
508
373
114
44
878
513
590
550
36
247
374
993
37
956
412
295
730
740
116
211
7
558
7
590
35
275
654
663
111
753
482
562
367
444
188
822
185
644
798
580
736
994
17
374
728
41
511
382
300
381
984
237
98
581
656
694
455
894
903
451
740
30
138
652
463
882
26
79
967
616
97
51
396
600
787
268
242
936
195
705
519
895
214
416
717
444
75
891
120
71
310
885
951
150
940
331
226
356
672
266
163
109
307
508
813
530
524
928
499
708
497
258
330
728
839
990
254
256
659
65
731
603
420
620
99
903
452
734
827
797
534
725
720
134
273
486
28
331
66
726
140
385
909
229
390
5
743
183
915
396
523
873
550
22
15
494
519
983
918
268
826
505
329
818
667
397
253
524
14
498
68
481
67
329
657
439
270
260
981
297
90
434
151
702
626
897
414
168
156
179
864
700
428
377
498
415
7
186
539
609
766
511
949
646
536
74
19
613
492
837
233
85
922
768
148
654
499
400
569
735
576
70
46
661
158
70
745
557
158
360
721
439
975
958
579
615
619
899
240
136
382
866
674
158
92
646
379
864
663
613
448
2
712
796
40
961
865
362
153
700
617
410
794
257
619
556
31
826
991
997
231
274
140
50
125
783
591
348
695
358
687
764
910
75
377
754
731
435
169
600
167
258
596
997
657
987
934
578
764
639
486
51
493
511
316
768
422
706
43
786
60
794
946
573
612
528
741
303
285
841
764
874
954
75
615
655
249
88
972
921
107
224
244
874
556
800
924
549
828
816
793
353
797
671
777
820
591
944
540
702
122
354
294
523
86
563
138
459
203
609
274
683
490
41
153
823
192
672
844
175
28
532
574
715
115
549
874
414
621
554
254
676
830
674
631
321
601
784
645
688
298
337
587
945
17
261
115
891
23
159
962
326
806
411
296
966
571
381
363
293
87
191
379
202
38
33
309
74
1
129
348
852
2
262
223
548
731
795
943
955
574
437
959
478
443
316
756
655
487
283
830
597
505
553
392
657
742
839
174
43
203
479
308
415
639
382
133
506
621
583
470
682
884
868
930
941
520
861
909
265
985
575
523
177
909
38
509
659
711
533
114
274
617
743
57
896
828
826
411
713
235
522
132
775
182
519
116
921
208
959
480
762
783
625
393
762
172
690
539
305
88
472
475
475
641
244
23
879
58
296
384
538
77
29
749
236
744
251
385
253
750
669
801
887
197
625
192
630
112
178
364
475
84
454
54
661
796
519
669
142
360
887
641
654
965
993
564
668
958
934
85
134
403
386
265
471
640
786
500
415
31
794
641
181
267
717
942
216
909
148
869
110
653
575
228
967
253
365
55
640
685
421
277
662
867
656
326
265
940
663
622
524
554
164
982
907
371
998
557
794
592
506
125
238
794
899
649
718
149
314
679
115
418
716
63
749
531
74
748
803
119
392
29
657
497
636
144
363
665
114
390
952
947
898
512
18
541
870
306
820
667
386
226
462
623
426
430
857
3
801
479
538
964
582
791
961
728
292
552
369
346
985
21
613
487
806
267
105
484
217
589
17
585
735
623
352
195
364
991
241
103
644
984
36
41
922
641
571
541
521
360
220
165
999
865
353
861
649
364
43
548
298
799
327
751
429
263
69
316
792
48
329
650
14
696
797
815
722
27
538
738
745
75
244
536
165
54
163
762
521
248
464
622
562
207
984
615
576
621
682
940
861
972
927
823
721
526
283
745
953
338
812
295
363
615
502
287
904
67
870
250
992
40
896
651
304
879
896
847
144
458
464
103
712
635
734
784
757
705
419
555
373
333
943
171
524
765
986
81
708
951
996
799
333
384
53
184
259
686
331
497
434
120
616
723
152
875
240
779
749
562
416
515
378
372
643
110
251
939
58
941
118
53
90
78
707
475
514
40
769
227
673
380
816
700
288
553
214
778
91
606
863
181
219
32
48
503
886
353
507
349
131
741
530
829
3
912
525
299
131
919
45
813
235
494
892
965
986
802
338
652
582
836
75
908
921
717
991
643
295
166
779
123
493
706
347
746
473
907
721
918
272
604
161
166
97
425
804
833
523
667
337
182
162
539
474
82
916
386
70
255
791
519
689
668
55
461
426
561
533
719
579
255
806
858
305
977
595
165
338
428
224
264
118
912
654
961
46
19
541
916
249
520
824
486
687
245
400
12
996
627
175
265
760
123
786
264
372
821
892
852
885
162
254
235
886
553
256
613
434
533
870
919
579
22
71
552
34
842
611
814
386
991
509
569
811
36
599
866
329
743
988
421
111
777
212
486
188
988
11
927
856
348
384
542
121
298
58
879
410
170
853
364
433
593
829
633
749
407
207
811
531
583
765
122
701
280
905
51
972
645
797
282
3
500
385
401
475
809
619
412
486
715
67
886
193
750
800
693
330
207
213
394
785
663
956
21
373
845
626
923
736
53
846
482
193
571
149
55
380
327
480
809
608
362
436
54
931
19
212
604
175
651
517
173
56
547
649
702
738
32
499
136
457
822
447
706
948
821
895
309
437
963
756
770
418
585
453
678
930
529
18
364
286
300
713
243
979
370
954
317
302
377
960
95
566
481
268
977
439
827
169
451
47
854
690
997
11
491
161
882
608
664
620
208
758
650
296
773
369
943
499
307
236
986
67
517
712
296
149
53
699
991
762
947
52
658
879
137
38
788
691
756
873
41
486
431
891
388
372
628
787
365
879
189
202
86
136
119
767
883
73
462
850
305
406
197
397
17
456
507
120
308
1
158
219
671
316
262
684
694
921
550
489
676
424
958
940
352
358
560
884
527
828
736
246
546
393
861
572
120
507
148
204
259
160
811
594
285
158
391
491
918
896
304
866
357
171
880
347
838
312
617
169
856
10
429
440
754
187
147
200
743
303
663
311
604
924
205
350
526
666
68
261
789
244
913
718
977
200
223
442
714
171
638
544
312
900
257
663
628
145
784
907
538
529
0
118
498
617
867
425
160
196
706
711
601
723
488
325
827
311
229
103
93
306
728
475
686
373
294
664
128
596
230
339
823
847
442
12
318
952
601
842
732
721
359
44
355
662
235
195
678
405
161
495
835
452
44
735
319
134
353
315
490
359
114
478
215
233
50
751
173
132
25
295
389
680
366
714
151
457
499
394
389
973
56
59
605
654
261
987
717
798
711
525
999
678
757
781
241
372
373
715
359
634
773
221
467
426
654
230
540
528
771
415
381
998
722
586
673
433
576
179
925
86
676
75
782
425
123
48
956
498
242
635
667
871
579
786
776
523
82
500
853
736
475
616
356
503
76
276
102
391
300
4
778
662
920
2
260
449
184
640
858
158
864
799
906
569
332
717
520
134
600
405
704
250
486
626
488
316
537
94
626
587
579
980
674
626
848
916
428
589
299
884
293
1
717
219
297
928
937
609
563
815
846
4
984
273
413
37
412
930
741
441
738
38
869
728
789
107
347
264
442
904
255
62
684
570
915
833
337
765
700
692
311
225
696
240
62
67
110
99
730
900
790
303
688
82
249
634
343
686
798
534
311
994
998
972
871
627
258
683
418
332
314
159
14
317
289
440
428
566
459
299
704
719
903
233
200
533
405
471
957
870
580
568
311
468
767
412
10
793
427
302
515
718
234
319
16
601
650
243
840
870
299
705
744
862
223
903
492
434
512
48
422
153
666
433
14
515
965
53
488
361
749
941
331
271
616
925
381
981
210
811
86
844
327
583
863
154
149
78
570
763
764
178
375
234
473
91
23
794
534
370
665
245
115
441
577
287
890
330
660
33
689
633
805
659
499
192
480
660
625
754
736
615
576
668
192
825
888
196
525
858
797
656
630
47
767
183
209
837
391
26
643
93
708
196
470
643
653
334
333
289
959
473
22
388
234
697
9
805
676
797
942
808
168
437
226
861
627
932
866
824
920
347
12
38
19
48
484
2
843
71
712
150
824
94
162
900
424
758
322
893
508
30
107
245
897
788
144
151
727
382
826
401
89
850
837
297
492
546
444
118
338
656
943
835
196
442
560
162
316
954
10
925
375
551
631
8
242
863
558
845
537
403
924
281
202
107
325
643
827
961
238
241
212
261
898
669
68
815
908
991
30
333
855
294
796
835
38
35
956
372
204
735
837
298
99
147
598
671
35
402
732
406
161
597
80
36
636
100
645
666
55
570
96
353
423
205
241
692
949
386
124
632
36
267
356
617
602
226
178
893
214
717
992
829
352
113
927
861
839
923
160
581
673
149
821
779
329
299
364
314
286
938
865
501
403
172
318
823
23
113
393
182
241
564
676
627
81
667
688
681
637
472
243
85
928
863
666
588
392
67
95
365
866
106
304
98
361
251
202
926
199
247
979
127
616
851
643
92
388
300
742
502
74
9
520
19
373
5
424
236
400
280
534
214
560
452
271
131
771
830
225
991
409
912
188
81
598
817
544
112
60
986
424
801
169
442
276
953
603
948
76
386
839
360
16
67
70
828
142
743
946
910
379
158
335
645
372
736
638
832
369
711
530
868
243
685
382
779
130
669
47
473
946
989
930
60
757
888
325
17
153
417
393
858
568
983
376
617
442
24
993
741
660
9
531
529
347
769
89
627
125
726
515
879
247
72
943
442
776
409
69
317
395
691
57
118
689
131
911
874
493
757
16
177
337
61
380
335
795
785
329
758
715
183
859
24
74
310
875
179
879
971
325
216
556
36
383
78
126
875
121
196
67
472
594
152
722
144
866
270
679
499
389
487
996
621
523
904
591
447
247
671
292
454
92
688
822
222
903
596
549
925
80
83
596
209
58
285
552
160
447
296
46
3
393
531
473
570
669
790
568
355
883
181
913
633
465
276
308
26
766
337
407
352
368
138
153
403
849
12
539
520
261
960
315
792
344
750
905
620
199
487
717
442
868
534
173
803
786
436
74
356
788
878
179
751
104
347
810
793
20
76
186
567
417
389
872
5
378
997
213
727
355
608
235
803
363
288
345
308
693
77
834
599
314
839
664
503
126
241
930
517
25
122
219
223
581
283
930
502
243
407
575
113
860
493
250
115
131
395
439
150
749
788
656
657
916
387
34
424
57
662
903
239
70
860
930
778
71
704
193
138
170
242
80
144
924
423
951
189
29
157
725
726
493
239
484
273
271
215
309
57
254
899
141
763
336
546
257
249
419
195
201
998
731
736
223
876
577
400
748
100
806
123
656
447
802
145
13
370
602
75
373
953
420
35
23
466
931
797
407
812
289
798
990
204
571
445
489
199
303
791
207
559
690
174
745
862
382
478
744
387
974
799
868
868
9
818
138
416
3
484
849
702
801
255
218
679
495
187
84
761
140
547
198
308
961
346
786
608
393
888
428
322
717
166
291
761
794
265
863
309
93
817
850
870
22
43
453
259
769
262
642
596
376
674
647
368
846
956
505
479
183
750
671
486
565
333
981
894
755
920
808
79
977
60
87
836
717
641
768
320
583
948
836
396
113
230
736
244
938
514
370
367
574
335
683
405
777
305
697
932
765
810
613
794
883
789
704
352
512
276
856
118
774
403
491
657
871
274
744
497
838
145
591
504
827
979
508
152
887
891
888
190
504
121
34
99
6
45
349
619
707
33
286
960
581
345
325
996
181
538
944
835
59
295
293
353
250
922
783
237
333
664
57
169
321
115
370
270
311
841
414
115
991
64
352
783
235
152
905
323
831
658
452
566
645
460
662
857
417
993
938
409
674
173
777
45
736
26
805
991
521
858
501
32
464
134
585
616
853
942
40
77
968
826
97
41
176
972
763
670
925
355
629
115
342
376
661
94
740
768
65
190
365
1
127
222
783
636
446
918
272
832
135
820
119
825
89
986
433
506
606
859
880
954
126
931
932
362
346
659
763
170
94
926
670
359
109
424
721
568
935
799
936
702
951
743
203
555
114
223
107
405
744
169
251
187
662
66
980
308
618
449
974
590
808
55
902
612
20
851
863
114
120
644
660
490
927
621
842
346
668
132
641
288
565
17
325
933
52
569
936
250
10
178
622
515
77
185
800
232
738
146
968
413
561
204
264
630
456
375
145
153
932
14
228
47
29
237
228
974
399
307
190
41
4
956
429
994
69
594
681
425
563
716
632
808
240
645
348
662
380
36
982
701
259
982
541
827
949
224
188
814
727
463
48
796
614
219
689
710
607
219
664
835
845
404
406
140
352
600
339
295
394
548
519
532
607
745
22
964
715
444
497
688
810
518
748
267
590
735
319
756
949
203
867
432
616
727
703
277
32
193
83
333
847
682
616
446
955
298
49
803
656
175
897
649
569
777
254
108
580
734
615
688
279
166
851
674
72
176
90
673
464
513
787
900
998
1
803
181
805
963
426
630
464
470
413
313
767
724
515
433
565
536
907
847
574
186
170
394
14
823
480
871
123
883
299
365
285
489
543
358
833
990
373
435
773
812
103
139
182
423
56
344
356
829
486
893
874
322
873
655
889
444
212
679
999
728
167
532
28
810
990
186
843
214
189
254
613
594
149
939
481
793
860
208
644
517
211
944
172
527
159
913
16
72
13
731
394
335
197
111
346
925
627
890
615
246
868
747
615
85
212
395
800
803
963
636
700
943
671
514
438
49
378
334
470
307
80
748
863
876
464
590
30
466
767
909
243
978
540
822
777
605
287
489
255
674
81
936
728
263
6
774
959
415
265
679
766
415
502
899
34
140
571
446
857
805
569
497
152
933
118
694
764
406
640
831
219
222
413
292
105
81
868
360
558
964
367
131
767
151
99
63
188
651
882
852
627
20
446
870
700
8
926
197
732
245
731
870
346
830
574
237
919
247
928
31
708
57
56
745
251
911
717
567
471
867
134
540
503
105
700
126
28
670
457
254
834
96
778
233
801
355
9
351
542
927
545
273
524
366
73
720
748
882
202
888
138
832
790
622
357
431
544
324
463
63
795
566
615
563
981
771
578
740
581
208
540
565
701
43
970
983
744
357
463
17
378
768
13
716
373
227
757
748
969
516
201
968
502
61
549
689
936
236
322
240
657
512
75
441
356
802
428
616
295
814
474
496
426
969
57
522
3
388
33
779
851
260
57
452
930
618
376
888
671
760
401
845
776
113
855
599
355
621
673
588
26
611
18
555
36
371
696
830
63
780
98
561
657
878
523
491
910
367
96
22
542
788
245
186
821
517
153
374
342
52
459
229
584
483
903
43
810
489
260
36
863
980
620
36
871
840
112
252
549
824
524
718
900
481
175
79
202
247
453
320
631
512
558
165
295
186
764
273
972
829
207
465
501
165
946
422
18
46
429
904
53
176
442
240
698
557
875
134
73
984
844
273
81
704
130
421
249
274
744
870
68
848
959
986
636
488
841
16
391
336
609
918
330
657
742
643
481
764
454
641
695
619
911
53
193
176
853
878
486
843
81
109
847
599
480
774
994
980
12
906
660
154
635
394
276
899
425
177
336
358
104
166
6
628
450
555
459
682
846
599
524
342
605
281
614
172
695
258
937
634
372
505
362
866
979
843
840
953
237
628
84
649
562
823
779
268
252
839
741
0
410
5
124
115
567
116
367
225
792
286
374
153
546
802
115
893
289
18
126
176
513
182
16
55
323
526
132
320
615
271
626
847
376
330
862
316
846
768
637
210
772
126
297
297
714
36
213
908
78
752
757
400
606
678
158
197
468
827
63
547
609
471
7
29
520
336
701
550
80
489
110
415
818
208
850
277
78
323
199
994
295
919
569
515
59
671
727
662
271
299
788
703
117
94
236
684
738
580
966
142
947
887
824
626
501
573
487
704
150
868
643
229
372
356
50
379
850
669
31
945
761
14
501
335
846
893
166
168
841
330
398
630
880
553
553
9
979
738
934
238
964
856
6
220
732
221
47
324
763
809
560
708
608
202
198
384
399
687
988
661
268
682
125
957
359
391
127
447
37
986
573
221
771
198
968
597
76
626
454
555
43
252
406
587
733
45
241
527
831
886
442
287
812
487
156
403
591
353
862
932
941
335
632
606
156
685
214
790
656
766
829
986
709
429
321
10
460
606
236
964
459
110
789
708
333
701
79
569
804
228
668
300
278
974
497
492
341
671
634
666
135
347
485
498
569
212
9
321
292
948
656
735
779
963
959
639
641
25
274
111
437
149
78
405
46
564
928
488
8
542
348
299
186
911
290
864
915
235
945
3
213
632
328
995
677
138
611
686
751
805
396
650
792
910
993
476
876
248
200
906
406
472
77
323
19
93
972
399
302
872
387
235
681
550
561
88
267
865
547
221
846
862
266
749
370
248
619
209
775
336
744
820
66
890
850
58
226
243
744
320
534
801
183
232
631
747
367
37
590
395
784
243
595
115
81
12
713
252
992
671
743
225
0
145
506
583
991
938
555
271
325
793
161
851
97
221
684
480
174
371
348
431
831
40
946
489
494
66
110
773
484
417
815
109
998
569
573
539
982
264
282
108
998
238
953
279
422
642
14
587
705
683
319
650
768
370
64
266
189
936
942
39
833
461
641
123
49
490
895
814
365
731
552
247
841
15
165
365
329
493
576
202
311
55
61
913
437
183
819
202
324
604
645
19
400
182
451
157
770
206
125
977
363
486
121
928
355
595
717
266
999
799
246
352
658
889
21
873
9
543
857
442
804
284
683
151
613
830
677
821
170
668
74
16
471
269
833
419
806
889
939
924
526
283
613
823
895
494
191
512
60
647
279
706
640
41
495
857
571
526
89
203
76
530
379
366
572
180
507
284
462
810
828
648
576
253
288
406
476
754
94
754
186
450
498
629
570
232
115
0
244
324
791
123
15
578
921
243
274
514
418
373
232
573
858
977
495
298
148
78
814
800
640
294
927
888
914
289
942
938
942
494
682
336
146
780
561
454
702
960
658
662
52
339
88
778
976
425
332
128
528
759
333
197
208
196
650
260
309
144
17
798
937
891
772
714
721
217
723
648
944
907
634
918
974
800
473
410
469
899
850
492
752
643
958
449
354
327
917
408
472
451
466
552
884
23
859
361
301
144
783
606
363
347
435
837
809
302
663
877
432
868
989
297
317
253
573
310
419
742
911
497
506
266
577
571
618
532
362
840
119
280
377
913
779
480
735
344
987
799
700
263
515
910
741
396
399
892
375
399
872
297
900
142
212
156
48
725
702
680
834
898
44
962
621
843
732
857
249
790
914
997
566
7
933
275
83
895
139
331
577
413
820
772
726
249
735
455
782
226
373
408
104
381
459
523
261
423
129
546
936
306
882
113
962
210
828
761
825
300
342
736
665
644
638
910
261
930
949
394
248
4
384
721
982
956
572
211
439
874
337
214
480
975
183
484
418
317
399
242
820
386
477
127
690
716
718
94
689
145
224
979
258
841
922
352
894
278
192
94
447
554
233
638
365
427
630
595
553
534
263
881
625
759
562
400
188
846
3
254
815
730
425
144
99
29
0
99
951
7
609
703
71
950
140
845
856
59
39
622
716
856
574
33
77
636
878
615
585
557
629
640
36
269
588
519
939
924
497
92
324
323
402
127
509
931
631
424
206
150
559
347
167
781
512
5
544
968
442
787
704
936
875
302
442
407
396
356
109
546
924
573
178
467
409
996
156
119
429
694
93
87
625
221
475
755
993
687
908
835
876
906
715
171
22
462
217
242
996
200
9
870
588
568
862
151
871
862
543
755
690
66
167
980
545
380
168
541
424
450
559
699
340
624
891
739
463
863
698
45
455
784
937
27
215
24
386
933
699
323
338
948
586
364
844
422
5
743
708
238
414
448
26
596
149
756
934
217
217
28
136
942
658
460
126
253
944
693
242
695
864
761
91
517
25
100
660
342
399
482
826
750
777
398
86
132
696
620
907
435
834
999
285
899
190
706
781
102
697
246
347
118
852
984
340
21
234
879
727
704
967
53
474
516
155
92
115
281
358
755
663
918
225
367
890
637
738
819
74
983
569
269
333
250
353
268
248
647
895
839
900
532
383
72
665
904
840
832
157
382
381
663
560
188
60
718
382
707
551
584
285
665
712
407
669
439
960
465
849
933
272
579
594
94
512
924
852
205
851
81
163
508
252
291
181
819
140
494
383
945
478
937
121
822
856
714
927
575
110
206
982
764
901
133
451
876
141
119
619
103
988
431
824
591
653
756
603
418
157
360
347
678
194
525
729
787
180
667
110
226
245
680
788
570
197
531
161
461
862
613
575
278
659
438
641
277
417
788
375
706
248
320
935
501
318
26
150
482
722
587
974
625
418
218
625
69
669
696
759
972
495
972
54
551
622
147
864
650
972
229
809
341
893
921
578
67
937
402
110
592
27
909
102
476
384
562
533
559
566
93
401
740
780
557
535
456
970
432
273
528
519
127
659
942
246
332
670
144
389
242
518
782
977
754
443
108
252
827
396
979
407
435
69
69
209
740
674
411
87
563
103
901
546
12
821
661
583
35
657
434
795
495
637
98
542
164
44
940
842
474
952
349
520
316
409
241
885
52
203
677
906
432
640
791
753
770
471
226
994
268
374
866
791
37
361
166
414
416
326
725
667
555
821
217
373
186
580
158
804
803
198
147
228
497
913
229
321
468
72
646
471
763
358
178
751
949
726
746
660
675
55
16
995
936
377
890
933
621
94
336
675
554
479
388
900
433
991
828
988
818
689
876
488
575
896
189
859
162
191
876
777
360
254
125
55
879
931
68
958
10
664
844
248
775
511
943
775
586
713
674
480
675
125
142
397
318
479
402
79
366
574
335
943
688
527
831
552
871
368
587
683
781
396
157
133
503
806
49
323
35
16
176
282
874
425
148
950
730
161
788
358
967
392
6
349
193
947
292
764
146
39
915
979
732
749
959
39
121
941
788
607
97
685
724
549
753
623
527
293
402
510
463
756
530
770
424
560
92
335
474
383
939
146
290
986
427
753
469
712
157
26
597
326
597
594
286
452
378
402
456
670
335
116
710
803
566
10
597
404
584
62
398
23
581
55
117
66
49
901
394
635
119
759
128
675
269
129
403
491
186
142
528
319
642
843
182
948
912
737
106
874
896
506
932
787
94
82
325
342
605
139
66
578
652
85
841
907
41
288
722
16
350
353
625
523
843
936
856
116
738
573
403
209
271
95
353
774
549
813
724
290
395
149
604
280
981
966
277
912
158
140
135
404
733
871
789
44
75
123
736
47
854
848
977
635
282
935
3
180
115
650
51
37
10
433
911
41
330
429
189
899
164
150
273
637
166
635
252
403
174
936
995
782
131
631
369
995
655
936
444
52
842
561
326
584
914
204
650
134
624
140
335
844
718
497
880
817
594
725
231
166
216
181
990
483
551
961
794
462
601
488
606
327
150
732
468
159
205
616
957
398
216
211
324
459
3
95
499
302
241
314
468
888
915
314
811
473
792
589
189
773
143
925
390
397
56
527
519
701
341
208
395
399
635
390
460
456
40
220
246
78
636
930
473
404
9
854
414
705
811
62
69
783
581
406
81
981
246
596
258
265
424
342
431
581
344
290
850
240
534
971
231
712
608
978
372
4
51
335
230
480
549
926
826
715
752
474
826
998
402
292
668
951
803
71
311
257
521
261
172
675
978
989
237
853
599
423
146
329
617
973
97
145
238
578
375
764
785
275
108
802
616
996
807
287
552
526
924
782
603
459
335
904
18
320
242
953
497
782
704
832
187
676
746
617
227
543
931
555
746
817
275
9
666
73
649
266
131
407
862
270
205
596
916
17
15
138
709
42
618
741
346
177
533
426
250
351
61
566
792
441
950
781
103
772
299
241
8
564
177
461
139
441
132
372
359
523
848
925
369
444
556
515
17
602
818
114
397
618
495
106
96
676
495
816
464
275
606
747
98
852
337
44
310
205
483
910
142
451
713
274
263
767
716
974
247
603
691
924
38
562
729
616
65
186
790
381
495
100
138
78
929
472
877
593
68
67
235
82
814
626
908
408
787
285
439
288
325
236
9
224
446
857
837
155
146
519
875
627
403
426
559
96
256
667
240
406
169
634
750
990
158
956
93
634
352
953
86
850
535
584
740
302
310
314
696
459
5
753
939
957
457
223
921
306
522
977
652
695
435
211
215
8
449
148
245
132
958
474
738
209
315
165
284
912
790
314
121
516
698
611
34
937
701
104
188
220
248
732
302
694
274
250
676
475
250
610
89
490
770
471
459
636
997
361
546
362
945
482
695
388
89
664
148
532
650
963
584
910
361
0
59
907
378
600
142
389
494
465
239
358
590
61
13
569
503
808
720
481
502
169
369
672
282
34
732
648
58
435
229
424
752
67
441
661
586
823
591
165
833
951
424
447
993
707
90
230
885
628
744
546
970
613
130
201
767
577
632
477
987
585
571
260
138
261
463
805
566
870
45
69
558
6
121
791
801
49
398
804
156
134
901
109
525
681
34
399
98
51
691
740
280
937
148
209
70
417
676
346
930
330
928
160
92
149
628
416
96
950
101
730
331
995
483
935
886
206
961
170
214
832
534
846
931
13
654
503
653
763
219
191
170
482
149
726
811
237
891
124
426
812
183
327
4
578
543
364
795
543
285
7
268
613
388
93
815
864
23
624
35
67
480
827
843
85
201
110
996
995
442
57
28
491
199
355
445
539
160
610
112
713
762
444
755
437
209
536
32
493
63
979
539
15
599
373
338
541
169
903
117
180
380
379
747
540
997
954
61
32
172
646
161
913
759
1
292
738
594
107
932
77
978
256
522
577
974
122
734
313
265
245
580
370
492
188
231
16
649
846
675
336
781
932
445
93
712
909
532
992
635
557
183
640
563
614
874
21
363
512
615
311
585
901
119
874
386
876
536
492
553
425
86
731
993
582
833
882
850
543
527
112
112
949
970
394
799
603
132
184
735
451
359
72
992
766
573
557
479
914
421
523
728
688
388
949
436
164
304
611
323
197
424
903
523
418
559
437
232
16
520
136
194
642
440
612
833
171
89
580
386
905
804
398
608
949
166
473
557
208
381
269
709
449
150
427
122
529
387
841
756
155
549
986
905
524
503
165
811
741
596
409
957
313
857
482
88
665
382
261
338
670
865
455
729
914
184
543
708
837
629
504
567
720
835
65
215
695
543
315
202
459
110
990
319
32
65
693
149
520
824
302
954
125
228
522
418
45
278
195
637
94
51
799
515
591
192
709
261
388
578
143
493
196
468
1
945
551
444
339
665
669
445
327
696
65
953
803
294
619
794
40
288
625
640
274
840
399
542
376
695
787
977
690
629
388
984
49
892
118
522
634
287
851
341
29
982
736
131
156
688
597
572
374
707
471
159
308
56
215
12
48
446
682
530
749
315
713
535
614
685
244
47
189
953
193
862
572
937
984
927
933
345
419
948
637
86
629
492
249
204
816
675
29
500
989
235
874
585
937
478
3
527
269
505
708
436
736
172
306
193
92
213
227
3
406
55
817
905
582
109
237
265
526
647
94
548
750
930
181
92
548
744
201
589
282
24
907
425
726
641
255
787
432
709
131
15
284
924
575
615
68
886
196
52
363
886
942
166
159
729
546
709
652
79
851
329
360
581
29
735
609
598
454
714
873
778
797
126
436
487
289
797
720
574
399
152
69
924
290
379
176
831
702
710
414
143
106
163
497
792
201
383
992
989
704
696
551
306
499
674
65
571
700
830
14
911
148
522
327
465
944
629
835
20
173
236
348
667
215
493
140
140
475
188
188
419
190
518
620
81
603
694
976
34
607
38
875
598
609
232
362
728
993
518
616
588
7
302
172
362
296
673
279
371
818
953
224
707
908
521
984
555
460
525
690
564
21
286
487
756
243
986
561
995
638
70
95
791
863
266
144
849
378
717
549
998
151
541
914
910
599
70
123
725
376
985
686
197
304
967
370
514
805
393
355
3
146
501
673
138
558
722
869
365
74
594
851
781
304
996
670
685
223
129
505
176
460
999
147
606
394
872
468
731
186
402
264
324
916
530
36
58
340
383
608
167
36
706
530
197
25
135
504
148
883
39
890
865
171
411
917
508
833
384
538
195
177
886
591
508
28
491
779
72
307
709
889
62
637
263
800
826
993
152
284
807
446
346
359
440
798
546
47
119
467
863
160
657
260
98
322
765
604
808
140
654
607
244
521
139
471
889
265
543
85
352
967
123
885
569
223
725
462
926
500
306
611
143
216
354
396
952
185
61
551
43
523
156
50
808
287
315
633
68
506
845
260
183
957
382
875
224
796
740
188
444
391
71
594
675
702
202
726
427
714
220
416
701
758
38
583
831
616
216
384
965
40
222
731
699
262
40
157
832
323
139
255
676
256
294
603
324
862
947
496
956
380
881
553
830
752
138
411
990
541
683
313
915
408
558
234
771
72
790
287
517
543
48
910
464
653
172
719
131
730
209
739
868
301
643
573
933
282
979
255
365
48
207
486
354
987
811
436
287
84
493
923
323
493
673
507
300
850
376
159
579
25
526
219
443
915
45
7
502
910
490
242
605
424
269
924
986
727
293
898
480
294
449
293
551
642
58
659
422
758
434
969
965
450
93
39
316
998
912
296
384
780
659
382
559
965
262
830
72
858
128
262
433
785
509
83
912
528
35
955
152
266
970
722
429
729
342
289
188
999
430
139
525
545
563
744
359
126
642
876
989
862
860
804
585
364
708
512
980
978
348
375
707
205
123
888
878
719
216
912
815
847
296
118
214
145
909
616
211
331
79
851
703
266
983
535
718
720
570
230
240
999
117
917
334
122
682
880
287
910
862
257
131
146
344
221
279
296
736
497
260
837
222
237
424
454
10
577
693
460
2
84
483
440
853
1
946
945
533
589
208
262
997
545
408
486
971
784
784
29
21
997
655
686
833
710
844
134
739
980
258
599
215
37
35
983
256
174
95
635
723
246
571
862
985
196
620
411
151
429
643
909
282
744
561
69
669
851
431
128
951
683
300
641
68
757
618
977
382
591
242
749
889
645
358
861
969
337
652
88
169
824
515
20
958
536
42
843
44
339
644
246
725
65
508
885
141
958
112
831
561
171
959
468
651
943
82
104
516
168
612
960
555
737
499
572
434
296
355
261
354
235
457
291
893
282
7
467
544
579
200
395
760
834
82
951
550
235
343
831
709
821
807
445
703
246
642
204
88
847
963
891
397
640
188
660
836
160
443
769
635
255
20
0
947
801
56
531
519
835
547
853
871
611
634
478
462
63
708
600
327
307
599
504
924
493
277
250
823
89
323
443
155
848
966
735
643
630
464
176
507
499
874
232
347
443
783
859
859
662
690
410
61
989
845
259
706
100
793
62
607
683
565
154
16
361
867
465
346
215
505
403
967
54
318
196
131
941
803
837
95
400
951
122
538
147
621
953
785
886
388
520
735
410
537
627
936
104
825
974
957
64
990
656
75
744
398
781
217
53
145
73
799
272
38
953
912
346
628
352
83
994
363
214
430
605
21
326
955
230
826
292
481
389
609
671
19
532
912
865
186
448
621
378
467
627
198
502
921
624
794
291
548
711
472
682
762
273
322
155
70
977
39
970
82
98
233
956
767
577
718
204
855
496
185
741
81
483
586
831
887
620
589
772
848
788
651
849
312
264
864
796
174
180
20
120
337
517
789
42
563
626
554
671
204
908
882
937
487
687
634
136
450
813
566
152
217
66
980
166
310
977
126
404
553
495
302
688
492
164
489
321
153
705
205
585
323
248
131
612
825
690
268
472
412
817
290
43
29
601
296
839
300
476
134
461
46
331
858
951
158
797
613
405
825
895
277
668
112
502
459
835
535
153
99
542
248
363
414
115
280
775
248
628
484
290
552
450
766
481
290
887
105
931
955
492
179
760
614
621
756
508
278
960
802
411
995
847
482
974
268
71
970
246
723
965
42
437
379
595
732
243
203
855
332
799
721
352
270
231
361
404
728
315
523
147
478
551
567
915
976
232
31
889
389
432
376
281
675
27
116
513
345
675
254
606
375
686
942
853
521
680
191
712
137
600
965
378
601
986
870
184
583
911
97
457
656
959
992
341
274
70
365
953
222
848
56
910
1
634
785
873
710
964
320
657
590
290
841
141
446
191
65
195
890
174
890
108
741
181
232
277
346
473
924
65
738
427
625
738
572
490
942
869
386
865
683
239
180
763
827
0
734
962
325
919
233
430
737
192
218
755
587
927
866
234
908
203
72
805
683
610
239
188
8
812
808
338
98
826
203
181
463
736
594
938
950
810
430
699
342
79
286
140
556
975
688
360
990
57
965
424
6
430
416
392
230
388
736
878
515
393
354
360
723
463
581
980
695
792
634
339
866
161
706
797
271
28
17
146
590
953
218
772
132
176
932
112
773
310
34
499
543
583
260
869
543
399
362
523
561
336
240
727
884
534
1
513
210
310
650
718
416
530
274
876
852
577
237
723
260
943
530
858
345
221
388
114
203
927
884
197
670
968
25
205
721
332
702
200
555
85
462
833
481
137
207
25
235
725
225
625
443
293
291
496
583
734
648
391
568
585
332
934
657
305
147
822
232
28
719
474
94
71
954
746
743
390
83
29
259
375
937
493
135
46
322
208
347
513
349
883
446
349
862
774
648
115
298
90
463
556
180
794
478
962
792
102
616
928
267
779
538
764
894
394
71
890
103
867
413
963
721
577
887
879
523
783
825
761
987
540
365
162
414
178
364
928
910
703
462
681
773
996
367
593
117
99
14
766
737
356
246
312
142
286
610
638
617
269
142
782
975
980
105
991
474
874
400
222
88
812
699
360
121
195
705
799
361
922
175
844
233
844
130
927
803
596
509
93
723
687
8
553
898
239
690
968
722
983
814
586
618
119
499
294
434
651
668
361
901
452
144
288
796
325
405
410
799
454
879
651
219
147
481
187
997
920
660
553
401
153
716
464
577
708
624
127
361
721
983
978
373
519
296
495
753
787
55
897
116
305
982
425
544
558
113
724
637
492
69
127
307
191
534
298
469
633
687
502
110
163
964
739
729
856
180
358
774
34
409
22
863
511
213
23
335
868
94
659
771
327
487
560
237
585
349
449
541
704
137
987
35
274
624
46
516
318
318
626
811
263
141
83
746
226
91
885
230
713
859
445
450
349
370
155
966
13
416
984
649
777
426
220
870
612
318
138
549
572
106
530
886
749
740
699
371
826
909
101
748
403
15
396
25
289
249
667
841
481
305
462
407
120
483
228
874
915
45
575
414
419
352
129
440
503
394
434
791
309
329
741
770
819
235
93
117
81
21
68
471
765
128
521
452
408
177
284
428
437
131
311
137
875
35
768
236
740
146
529
995
145
995
519
128
634
40
595
908
0
650
477
65
693
402
479
431
229
240
143
89
461
587
991
13
130
327
769
976
670
426
30
668
198
776
650
866
691
22
69
658
883
50
248
889
192
974
678
783
373
538
428
339
451
401
38
742
230
858
585
340
87
934
274
663
170
975
720
958
569
531
59
583
555
920
484
78
774
152
831
48
988
200
772
820
878
266
176
880
82
732
623
260
178
98
875
755
957
541
664
887
253
591
397
305
876
833
489
350
165
634
532
671
522
366
796
621
622
523
701
478
560
772
964
401
353
862
780
29
60
186
452
878
938
599
419
349
892
752
262
993
529
502
932
916
535
182
399
369
139
208
15
937
495
213
441
790
801
717
968
963
119
957
92
855
526
683
212
34
388
114
827
313
21
910
788
789
555
303
86
10
819
338
0
360
810
479
170
186
0
918
675
506
131
119
990
320
313
879
867
441
956
140
717
313
440
184
745
371
311
638
370
381
796
79
357
128
745
9
469
100
423
292
162
630
485
120
815
645
542
850
259
140
456
885
765
235
112
929
390
188
353
83
968
422
896
195
954
359
285
264
841
823
858
934
394
88
199
10
671
128
806
436
765
807
324
226
129
30
714
48
728
644
307
90
576
154
793
981
137
95
969
828
190
868
633
142
505
200
211
213
420
956
806
234
32
323
497
481
295
352
694
713
956
93
268
469
273
635
34
353
271
483
359
365
783
365
717
246
874
742
151
793
933
119
759
519
432
880
60
339
998
843
427
93
629
918
832
235
10
878
18
639
275
691
767
940
130
732
213
224
587
419
715
295
821
625
245
526
804
559
581
343
615
303
649
840
335
830
710
657
37
971
771
890
293
867
213
408
935
249
219
687
887
535
443
448
568
462
17
967
403
220
367
80
474
210
671
77
585
600
139
728
396
17
325
144
82
741
548
96
57
834
351
692
550
617
290
617
536
89
221
453
69
80
53
325
758
652
407
54
632
896
856
326
768
659
680
312
388
85
613
713
677
889
286
813
265
510
743
142
534
60
442
638
16
804
696
759
49
509
601
96
900
241
50
141
607
25
656
39
729
462
932
157
444
147
317
817
70
331
931
814
55
822
954
204
625
891
722
138
852
584
446
784
651
272
698
986
158
529
758
976
275
614
734
602
347
380
456
182
136
157
527
290
396
202
824
39
492
152
501
734
722
387
991
367
526
886
837
162
947
486
900
870
843
365
202
328
848
56
277
963
730
373
343
185
687
231
401
193
907
418
86
634
108
188
653
909
503
721
853
823
843
655
893
710
852
61
475
961
291
122
902
815
331
967
404
694
388
107
578
794
252
282
574
261
260
727
727
486
31
822
129
743
833
206
139
892
830
392
639
693
357
666
694
953
458
696
256
487
253
535
462
498
218
111
845
321
155
563
999
95
300
918
176
699
720
0
721
588
755
815
87
535
253
343
303
299
496
357
167
121
156
180
134
308
532
348
926
875
795
852
326
693
107
924
867
942
289
576
3
548
405
842
632
650
165
962
261
996
716
69
587
562
272
641
910
747
125
978
748
464
223
486
209
752
62
783
611
408
54
151
849
377
696
72
461
543
374
942
15
788
68
848
314
187
20
120
357
310
102
534
241
268
148
285
802
233
983
693
195
62
288
646
720
859
588
238
898
328
352
647
992
481
189
970
364
323
995
802
428
645
600
373
684
486
830
882
152
410
647
829
220
519
553
423
516
988
366
667
834
989
168
986
251
970
804
184
338
462
798
851
581
693
645
368
4
438
563
835
691
856
94
416
470
730
17
819
120
482
886
517
981
176
391
530
69
769
371
119
911
487
178
159
624
167
439
511
721
626
858
538
531
707
151
846
655
383
264
655
443
329
35
96
273
483
265
297
752
392
759
638
76
344
504
991
592
246
763
600
871
934
68
513
21
648
419
475
237
234
666
682
147
43
72
853
72
980
152
760
845
606
791
0
498
485
158
297
628
700
617
595
46
401
345
721
641
76
487
665
271
229
324
281
413
898
397
436
934
926
339
623
769
83
236
171
765
819
552
138
691
452
898
166
426
537
71
152
847
580
454
33
576
236
981
780
301
367
244
302
946
444
83
606
198
664
74
48
571
699
482
617
860
86
206
351
971
9
209
881
84
773
215
301
190
839
590
832
109
18
848
202
464
300
5
842
0
402
918
241
649
183
971
965
266
846
336
338
690
981
690
329
773
189
862
423
923
862
688
783
517
91
447
213
454
421
924
531
122
613
953
555
17
864
890
51
585
311
825
687
317
790
797
428
726
964
242
842
2
118
538
492
519
145
252
175
365
332
14
864
320
814
885
369
387
111
117
379
798
471
644
290
294
977
368
23
435
93
474
283
744
426
360
407
393
578
141
477
255
891
599
966
750
553
464
521
987
816
928
426
410
775
460
491
624
53
440
767
233
563
603
316
381
89
984
330
410
735
530
664
200
354
408
984
929
423
402
972
342
16
85
201
238
40
902
856
364
572
540
873
885
994
96
404
825
911
541
575
502
32
803
541
524
992
814
32
177
308
722
505
543
965
427
380
487
404
605
769
839
329
509
615
674
361
514
523
533
146
749
913
776
507
125
462
13
817
55
551
25
558
852
695
429
978
869
264
549
458
809
781
126
110
513
649
100
544
156
842
714
231
981
375
832
20
804
690
256
378
163
539
579
607
108
543
431
992
794
246
341
680
226
637
106
702
547
441
680
929
166
185
110
146
279
722
954
633
634
258
839
404
984
914
341
245
19
718
70
129
920
960
60
443
228
949
343
150
253
99
662
437
545
491
113
422
906
887
621
16
576
92
394
806
590
970
743
398
768
955
291
610
155
270
45
826
412
443
276
62
131
992
25
223
490
378
305
950
623
895
53
594
576
520
682
446
829
354
764
314
106
281
110
725
129
932
482
74
267
525
900
330
587
401
994
627
228
160
337
492
789
40
342
220
265
448
872
867
156
713
439
426
927
185
32
195
516
532
848
82
799
132
528
852
532
623
569
105
204
897
63
439
997
604
15
800
832
135
760
242
861
977
382
610
276
532
474
488
125
322
692
941
674
314
40
108
49
236
773
885
336
360
131
320
671
739
171
183
357
737
514
409
243
533
292
492
306
92
41
834
625
153
708
918
875
465
611
320
388
589
234
13
924
168
969
883
6
177
671
890
403
422
767
537
791
574
572
427
305
366
452
291
250
913
764
312
7
864
503
520
332
668
717
106
749
590
3
358
24
457
553
943
680
96
586
491
674
829
370
664
141
28
860
538
74
531
654
142
773
822
296
503
819
165
681
984
512
936
387
235
735
2
617
641
684
630
833
199
834
589
475
221
155
149
140
325
390
786
468
314
694
483
314
691
515
173
355
547
225
911
167
568
375
209
826
242
538
739
656
298
724
322
803
89
455
666
695
972
646
584
871
535
692
176
291
789
992
153
432
530
455
521
640
477
304
110
601
504
698
327
369
655
631
370
80
408
381
884
756
139
323
80
123
469
278
24
907
457
955
737
232
707
164
136
599
17
872
191
488
421
513
428
870
478
221
317
556
544
572
94
135
172
244
95
957
710
417
840
174
13
20
606
809
5
1
941
0
143
611
756
408
640
271
542
173
935
136
362
850
690
527
214
625
154
694
486
438
95
727
344
182
17
901
602
532
667
604
947
451
914
959
627
225
731
727
501
537
374
794
892
45
181
445
73
114
188
477
802
40
945
708
232
297
779
414
872
425
596
902
635
348
111
224
598
262
40
972
621
79
856
581
179
386
152
889
304
631
453
366
899
104
693
750
295
996
326
349
217
448
584
204
64
76
263
750
775
401
597
448
274
701
910
741
620
343
913
806
981
780
761
88
70
813
432
911
357
51
956
801
122
72
706
659
952
7
614
644
532
971
425
537
192
779
162
765
896
244
985
914
959
744
854
0
407
703
937
405
949
384
430
668
236
534
332
179
476
488
527
822
899
273
426
595
147
905
495
847
202
902
860
514
652
431
339
900
739
912
921
545
913
735
581
848
498
72
192
476
595
965
977
521
896
663
895
487
238
89
14
117
464
834
978
811
627
766
450
94
619
802
971
519
747
980
146
316
387
349
49
111
898
793
956
829
42
236
174
128
60
548
647
301
2
183
178
511
320
57
615
836
52
411
477
156
560
57
785
84
234
891
985
77
3
905
536
723
295
542
515
942
630
180
297
899
251
475
590
225
637
710
272
218
929
296
766
187
646
751
419
216
123
587
610
847
162
854
859
744
312
648
433
422
33
336
59
556
953
630
274
832
119
373
514
195
612
719
311
868
632
331
74
323
358
868
935
56
338
243
347
729
754
927
942
91
191
588
255
373
504
543
323
459
109
490
518
680
86
711
100
685
826
948
78
634
240
726
199
71
959
140
97
631
131
490
904
697
125
503
372
504
964
266
184
614
254
898
459
946
672
657
940
392
875
25
963
358
550
608
202
846
858
261
47
325
427
362
681
243
515
765
464
496
641
314
659
832
253
749
715
304
896
987
309
659
997
355
962
204
539
744
998
112
283
299
976
539
874
303
916
408
375
288
39
500
141
915
428
65
519
111
71
44
24
495
83
37
897
485
148
492
959
618
864
818
28
505
299
862
158
179
399
950
371
822
536
11
958
970
173
809
21
308
179
449
587
252
473
209
340
340
729
29
365
816
631
575
890
218
612
82
673
676
461
206
882
726
271
140
518
618
806
511
74
878
803
786
990
329
443
793
215
891
190
975
99
631
345
782
585
327
623
83
948
527
763
901
281
649
422
821
735
239
147
829
273
516
281
383
96
85
968
437
677
64
210
838
501
479
654
991
134
454
288
469
803
21
172
39
952
463
728
119
723
399
991
2
151
982
205
790
638
244
433
963
940
740
458
203
868
138
510
718
13
725
515
388
377
557
673
695
438
808
16
859
210
362
364
522
355
172
645
342
456
420
889
515
630
913
973
474
930
795
458
608
518
23
837
942
884
168
165
543
415
629
478
460
668
644
502
808
439
385
428
806
118
336
388
856
209
998
13
685
36
52
20
783
731
956
505
1
490
380
831
641
953
463
691
364
974
158
96
960
176
985
154
576
971
702
132
163
788
341
676
810
941
174
304
173
309
981
229
875
817
74
621
522
792
624
539
996
899
874
897
449
887
226
712
803
775
740
910
202
717
119
218
415
863
255
307
73
296
78
609
878
545
66
821
771
980
633
286
754
970
781
156
940
231
516
638
653
344
524
815
284
502
905
785
419
340
138
686
993
626
190
52
166
147
773
569
979
46
842
3
276
938
266
636
466
352
695
562
228
192
908
267
662
935
173
931
217
547
825
875
408
881
515
226
297
6
824
813
902
26
66
980
276
74
836
380
444
225
968
695
527
166
105
799
458
369
356
695
285
972
940
645
580
595
856
706
182
617
370
972
823
152
306
652
458
698
131
832
707
376
149
981
146
557
247
639
426
787
278
982
454
927
982
633
316
201
504
413
538
789
235
648
166
73
556
304
911
853
788
256
824
512
652
702
791
554
668
901
721
595
870
902
472
237
63
998
477
728
441
376
55
976
331
733
404
968
596
226
275
954
384
672
315
178
951
500
296
498
459
294
263
873
130
809
649
517
738
468
775
632
476
726
67
913
171
188
460
202
521
443
364
91
758
626
493
897
165
291
457
147
303
263
265
377
258
51
99
393
717
511
477
136
467
291
564
305
192
249
917
778
204
520
257
412
977
195
500
907
95
312
13
396
513
292
599
256
680
582
819
761
826
330
714
17
595
12
721
99
624
790
942
975
305
78
796
454
108
343
355
915
953
958
868
661
77
633
712
355
940
499
3
600
745
389
735
706
890
257
649
377
907
163
261
312
421
358
163
59
818
294
730
673
638
424
328
729
69
913
151
882
598
187
507
574
166
151
818
466
335
101
865
502
604
469
182
988
584
778
923
615
750
383
195
717
892
520
161
863
728
331
871
384
47
779
987
127
872
66
534
142
168
519
474
941
917
752
844
649
109
780
547
379
694
11
347
569
572
624
49
946
130
431
321
691
421
880
522
562
798
708
951
143
249
313
864
86
695
802
116
844
418
167
485
285
400
287
439
258
438
313
234
26
636
972
776
694
127
28
820
674
706
906
743
290
289
431
618
113
338
388
454
414
613
606
63
857
538
117
802
45
803
832
684
876
10
208
967
356
13
5
410
628
92
597
646
438
364
144
752
59
648
233
99
146
480
732
165
740
683
434
260
590
297
539
943
14
690
374
405
41
698
617
560
353
790
662
34
430
296
979
442
588
840
692
600
164
62
189
886
39
334
945
169
376
379
264
195
128
901
785
116
956
875
827
319
869
81
146
6
437
610
138
127
689
237
844
302
893
425
715
735
675
171
816
238
959
904
547
110
228
877
4
829
423
158
454
230
162
302
739
761
786
455
531
81
97
956
168
134
805
751
189
252
348
473
586
184
696
15
249
459
752
83
343
617
945
971
779
422
250
505
658
840
66
682
494
955
749
972
996
236
940
53
90
50
963
867
570
145
128
938
466
723
605
362
221
540
568
203
911
484
930
525
319
589
230
690
556
95
724
430
613
419
851
290
948
679
403
86
584
21
608
508
938
981
640
430
704
96
814
978
535
690
280
900
188
836
502
443
592
907
396
535
650
263
779
238
213
139
344
453
966
254
46
492
638
834
866
377
115
390
870
225
361
477
493
706
10
566
103
96
663
898
509
771
322
930
94
729
734
820
994
160
222
245
89
997
485
969
381
789
590
14
61
604
849
24
922
350
618
204
181
835
81
739
994
616
62
687
149
995
448
995
142
199
262
545
602
90
995
591
640
615
144
124
61
777
893
441
294
601
635
758
304
819
435
360
177
644
294
576
891
570
426
343
700
475
879
577
361
67
111
996
962
608
28
109
294
982
373
121
446
117
172
388
918
66
795
73
82
677
674
578
956
363
614
772
755
212
192
3
741
109
817
640
281
369
498
157
118
783
617
274
917
664
715
948
337
326
691
844
466
358
141
486
217
492
287
449
100
907
497
449
715
364
107
359
258
842
740
264
722
495
903
81
573
167
518
350
940
33
504
819
772
299
860
908
156
925
924
876
884
824
31
423
973
667
873
651
71
147
287
472
585
375
311
952
951
44
943
542
306
135
510
866
993
616
232
302
703
285
888
89
755
608
33
298
224
612
572
922
316
203
858
769
13
292
763
856
296
764
488
703
298
174
944
635
876
953
536
896
807
202
494
374
918
311
32
654
662
560
393
110
906
449
756
642
487
836
669
505
687
756
795
930
422
815
241
161
228
42
751
476
102
719
52
254
662
699
427
385
623
529
306
909
772
330
332
291
162
225
798
458
576
836
235
109
930
883
2
630
490
302
169
517
519
149
595
965
592
120
677
366
5
631
82
803
237
979
412
614
118
845
775
330
258
631
560
692
48
435
456
926
863
8
774
26
161
456
508
55
219
443
546
53
990
238
166
58
209
349
551
834
375
204
529
932
63
110
343
974
737
198
753
228
86
582
584
67
387
572
510
379
225
262
258
587
741
123
898
958
906
740
230
971
995
210
250
314
820
879
330
786
673
642
682
17
949
172
744
310
821
423
304
295
108
263
843
971
324
84
517
484
130
824
168
521
580
111
663
156
445
49
155
692
913
55
817
291
244
897
665
406
601
790
828
707
224
390
557
991
293
315
359
17
759
579
236
643
205
403
351
250
736
32
428
753
622
419
719
561
272
123
356
107
207
627
247
519
367
953
532
886
830
794
65
341
790
975
253
870
926
393
64
125
286
581
365
235
610
424
681
437
268
0
562
807
930
573
410
800
841
425
37
165
927
99
847
257
242
457
358
61
622
635
236
343
801
186
180
194
757
53
253
433
279
953
285
244
295
947
904
956
112
127
787
627
704
554
267
384
414
978
393
223
515
333
170
865
819
166
780
636
902
999
212
614
853
518
532
631
368
684
541
489
608
763
51
865
556
624
904
14
636
453
535
878
46
140
809
388
761
428
269
547
965
978
795
620
573
495
729
337
164
642
870
138
659
434
510
675
491
133
720
248
287
39
401
959
599
214
954
23
716
315
7
47
938
642
171
707
708
949
579
593
882
384
227
839
262
633
681
37
122
386
879
826
463
796
101
576
826
723
125
179
468
872
727
278
46
469
865
519
402
35
588
328
135
122
158
964
684
339
948
235
255
619
640
476
497
881
370
824
418
53
161
44
412
238
674
24
485
185
848
789
226
553
217
627
699
218
780
568
777
959
822
497
483
318
692
952
403
973
947
155
382
566
678
719
155
215
177
954
721
505
108
479
849
471
960
418
141
919
103
564
678
80
222
918
201
265
109
428
736
549
893
59
555
68
687
102
697
865
745
935
353
231
408
468
174
711
246
46
418
211
847
797
593
915
457
937
487
369
604
638
538
370
444
690
164
759
582
612
979
673
796
909
41
293
669
894
413
758
29
475
836
887
535
122
412
540
139
845
786
667
591
686
714
786
603
89
648
727
576
322
693
607
858
455
205
330
287
524
198
331
111
587
326
155
29
289
628
433
315
299
101
745
450
539
839
75
201
827
70
551
731
906
39
816
298
885
454
345
85
395
198
232
250
783
489
81
667
943
302
595
528
48
665
662
87
358
914
606
699
950
472
684
719
523
254
482
24
160
853
23
525
181
476
949
552
96
914
922
434
842
830
709
993
667
940
50
525
763
447
720
242
813
296
708
652
511
840
304
699
223
424
278
182
756
969
902
168
21
120
346
48
752
446
246
880
954
489
808
778
735
461
765
777
643
710
456
135
217
95
196
836
125
742
268
123
549
359
156
402
419
460
328
680
544
633
286
640
418
516
191
883
675
188
855
121
24
649
861
229
336
221
295
594
32
489
460
436
404
858
454
288
897
158
705
744
250
922
51
496
451
3
980
51
786
704
244
68
435
644
111
159
319
202
431
433
516
33
939
509
621
508
320
873
512
632
397
996
805
663
380
748
890
333
586
278
517
163
8
528
42
597
541
326
686
762
900
658
58
793
169
957
98
697
336
931
960
432
509
335
923
232
779
360
7
980
870
116
704
193
917
95
438
322
661
710
575
225
37
617
31
106
469
35
903
88
636
543
268
834
595
542
959
723
160
11
671
778
662
230
887
676
557
510
134
635
689
930
121
455
978
751
312
956
744
144
953
191
498
320
197
953
890
884
531
89
803
524
404
709
312
619
402
170
8
798
244
18
436
345
514
704
591
693
451
416
782
935
39
295
241
920
73
861
698
773
819
537
197
348
348
184
495
413
971
863
243
855
554
944
603
203
147
8
343
132
452
283
188
574
696
268
830
177
223
948
965
191
747
92
638
819
370
846
566
539
60
343
994
531
236
403
231
812
816
206
913
351
301
340
126
524
899
254
634
871
233
369
787
421
934
870
477
293
109
691
642
106
922
497
928
756
665
122
747
823
918
308
509
116
357
961
794
549
284
855
371
888
353
289
141
144
763
347
605
870
958
977
601
550
629
260
910
385
930
619
504
581
696
84
121
162
513
162
913
239
121
282
214
209
222
510
747
12
279
70
141
677
809
12
465
52
200
217
949
820
663
433
906
461
656
423
692
428
466
626
346
97
752
671
111
917
446
411
986
616
654
347
983
386
395
756
879
644
433
629
310
249
191
643
557
880
702
271
396
738
541
668
922
610
111
619
106
466
772
375
320
918
407
452
841
418
670
69
916
980
218
636
868
873
320
735
457
990
927
254
654
765
139
75
741
605
683
38
679
240
360
11
21
23
920
966
838
100
411
228
495
400
159
342
467
823
823
593
661
943
497
401
964
611
33
813
609
748
419
408
28
977
446
499
38
580
117
425
386
868
150
586
528
610
956
0
315
245
476
865
63
524
214
360
501
301
333
257
93
925
619
840
621
927
731
129
54
609
994
520
449
611
466
359
420
635
848
529
270
772
840
732
818
125
321
529
650
142
356
961
829
548
302
693
281
98
43
614
837
679
552
123
819
936
562
789
218
912
609
255
559
572
139
193
107
900
925
926
95
593
512
108
982
608
401
103
556
592
371
560
726
401
690
448
603
962
452
824
21
477
632
84
258
702
840
625
868
338
62
915
1
562
516
418
611
648
555
208
782
853
252
177
24
324
244
333
293
824
560
391
60
357
184
551
432
90
322
572
452
30
884
440
867
543
636
988
160
9
319
526
938
315
416
546
677
669
546
525
785
440
823
995
331
76
832
524
711
632
321
285
263
749
958
354
987
669
972
512
127
551
220
174
249
980
321
498
839
746
487
485
802
72
269
810
453
230
254
274
699
699
16
62
68
834
596
114
302
108
180
575
121
18
351
528
677
277
134
341
37
706
981
214
639
773
636
742
925
915
110
336
495
627
33
667
891
306
527
709
481
998
299
438
637
205
108
207
694
102
350
924
810
640
385
692
171
438
87
763
641
424
706
294
148
153
662
592
831
620
381
483
340
327
997
969
301
48
290
879
883
434
751
320
136
683
323
183
926
430
476
827
604
768
783
305
261
299
300
681
325
941
748
419
865
595
189
918
79
409
436
82
991
430
819
258
813
845
486
823
91
687
401
453
813
214
25
425
998
809
819
967
461
249
458
936
578
463
187
184
413
898
564
726
324
787
414
35
656
400
412
491
578
970
903
197
371
792
978
786
175
225
870
104
384
429
193
3
340
256
343
569
621
954
286
140
113
742
441
632
120
982
583
383
806
20
831
235
881
710
332
892
373
920
956
612
795
903
387
582
671
894
171
656
132
403
640
213
454
960
252
544
846
452
697
790
790
445
82
401
95
475
501
238
826
825
42
981
868
420
979
866
552
827
934
235
542
169
574
867
863
372
382
631
99
501
683
424
664
38
426
491
870
484
275
894
176
726
834
373
811
295
406
592
769
394
577
596
902
930
962
791
250
125
216
360
989
826
287
322
271
941
464
951
22
488
524
813
800
958
448
107
378
105
410
326
912
493
231
580
161
870
929
364
957
112
286
626
830
203
548
771
12
49
724
198
192
822
421
50
953
898
266
411
346
688
125
598
298
422
364
600
417
482
245
970
11
491
792
401
764
286
575
80
509
72
82
528
700
167
180
327
111
401
553
645
494
245
352
375
614
91
830
958
365
977
832
243
759
397
639
70
932
731
910
244
709
106
487
616
116
630
280
976
426
774
4
36
339
777
896
48
925
815
873
435
877
298
112
526
622
172
860
791
918
277
333
516
615
92
902
584
28
794
873
344
223
206
581
846
680
888
760
172
775
356
535
403
962
771
845
540
470
334
334
853
271
180
335
979
807
777
736
437
948
154
676
689
344
46
543
408
144
521
126
273
314
135
286
381
495
491
338
87
572
471
287
399
723
126
182
845
191
269
182
728
266
602
177
754
399
598
227
271
98
828
676
462
785
337
858
187
938
72
629
848
870
963
55
283
60
807
96
760
750
669
611
742
237
490
262
369
160
215
592
320
932
179
961
934
938
204
281
265
315
441
217
832
827
671
80
46
654
153
658
442
974
357
762
386
321
640
831
802
771
941
218
341
477
70
316
796
138
293
802
899
271
317
57
245
831
571
53
229
632
763
264
199
272
230
329
400
101
723
907
489
858
612
66
783
782
869
774
830
508
68
623
452
262
881
112
966
391
511
869
874
255
113
479
551
413
944
892
880
982
79
620
662
335
400
459
626
75
329
309
481
393
208
430
878
350
304
704
925
168
207
683
369
641
296
369
14
578
535
332
991
819
305
844
13
459
696
138
856
609
491
945
538
795
934
432
749
176
892
455
22
290
702
915
547
267
418
289
362
833
634
292
655
850
457
734
390
274
880
62
217
3
421
620
75
869
46
887
395
497
79
288
423
52
509
901
955
243
553
133
474
884
367
641
77
676
4
483
538
857
30
524
65
296
490
890
618
560
899
674
334
777
760
279
253
152
222
142
24
478
400
490
710
889
9
158
466
505
677
879
548
992
765
193
137
529
635
849
401
687
134
579
287
194
118
101
674
113
128
319
878
580
562
729
977
455
442
174
997
13
821
166
433
336
44
432
74
633
514
726
230
791
369
740
236
366
577
779
37
417
228
24
25
66
48
33
509
222
749
511
662
459
403
199
790
679
269
126
692
169
942
365
127
533
572
674
766
251
298
121
242
636
357
611
405
868
45
327
875
111
795
693
652
733
329
272
790
625
188
996
984
889
260
698
163
571
484
24
530
784
785
434
776
454
228
680
381
920
866
941
384
731
152
504
95
121
456
258
370
92
888
581
135
126
522
790
939
725
723
889
240
390
783
429
488
609
129
485
526
277
483
983
950
433
945
244
664
287
292
163
867
324
801
375
21
751
531
478
26
810
924
648
492
982
960
986
635
818
748
720
258
616
283
665
183
464
822
882
132
619
542
885
641
123
683
712
285
239
529
769
94
98
8
536
825
720
207
898
832
879
910
883
40
513
128
832
392
416
816
973
565
617
722
720
439
397
959
507
513
921
652
172
996
555
548
190
984
982
176
755
328
52
452
362
793
955
994
114
443
209
124
657
409
723
800
907
261
280
894
166
313
870
301
895
607
896
360
330
984
349
298
183
795
126
379
501
834
789
256
333
762
111
969
482
906
93
885
501
290
705
146
752
733
734
426
834
646
2
656
150
789
921
752
637
959
345
191
291
710
481
561
948
149
963
101
87
446
910
949
118
934
397
683
980
240
647
453
357
311
553
262
129
57
565
272
264
289
274
371
109
247
438
949
897
847
601
572
777
284
937
772
899
337
76
942
33
590
894
894
408
734
487
828
207
63
332
31
126
951
74
786
889
232
93
319
420
580
223
473
523
859
211
97
959
522
424
282
576
62
21
211
179
294
293
302
759
801
189
644
543
730
190
565
741
748
24
618
475
559
541
321
575
43
444
174
687
638
774
987
710
600
11
907
361
652
873
195
870
497
635
28
156
561
262
340
478
859
750
104
200
430
337
999
447
803
836
559
619
271
201
760
416
957
910
117
593
236
891
581
891
434
323
555
76
394
260
891
766
264
411
761
856
299
491
972
508
860
800
233
710
154
931
285
8
789
930
930
754
334
271
364
478
14
44
150
369
258
107
520
748
494
605
835
340
527
183
419
584
410
747
291
749
240
182
708
295
801
553
400
114
198
944
205
121
556
856
28
411
35
926
81
451
801
362
955
355
483
382
708
751
610
837
8
644
561
298
457
103
345
542
328
425
797
289
74
787
224
661
543
916
831
920
730
754
164
342
687
8
330
958
762
636
998
623
86
746
267
11
509
143
301
790
543
687
195
940
50
407
723
643
325
754
825
856
58
642
69
413
318
220
287
882
986
491
365
337
903
874
979
634
339
863
172
526
413
10
91
114
214
126
46
518
295
981
949
826
514
335
431
215
796
302
756
500
220
189
445
742
346
267
612
785
205
531
251
114
71
5
756
526
446
610
772
871
255
71
878
522
990
772
746
138
957
769
506
391
610
425
587
328
142
930
449
745
734
908
18
162
919
632
741
396
832
193
590
578
86
206
181
708
195
914
399
816
198
855
168
463
32
943
894
918
943
983
328
897
655
269
674
220
748
450
895
262
698
986
407
935
939
891
847
405
21
384
167
718
3
410
421
106
194
437
495
60
377
61
211
442
342
454
599
298
147
343
866
322
456
818
925
659
638
949
760
332
188
879
824
8
78
736
573
333
823
580
670
873
430
73
712
799
120
305
877
404
951
456
652
642
866
408
197
569
844
336
681
867
332
567
15
720
492
332
307
900
373
509
895
348
710
591
496
869
170
125
647
164
833
449
967
577
692
495
162
196
986
239
298
179
274
457
786
66
163
560
692
477
806
721
447
143
595
142
243
781
293
501
159
261
586
394
734
87
481
93
900
191
632
170
634
224
207
22
7
719
725
430
917
476
570
873
73
281
591
128
759
105
704
38
552
44
608
189
793
265
208
69
634
722
107
752
796
44
470
820
388
963
106
778
98
591
924
567
837
783
214
340
230
254
383
652
265
741
332
685
275
942
896
981
894
978
562
565
705
557
503
871
979
981
991
459
964
674
367
739
907
880
925
977
880
252
30
533
882
83
700
501
843
877
377
39
677
69
962
147
250
328
846
328
220
176
505
174
530
381
755
992
727
114
196
507
630
29
494
336
5
674
165
726
462
723
414
863
889
324
874
286
616
398
866
465
960
937
521
251
238
306
891
544
562
408
568
133
591
18
330
522
108
433
721
211
467
681
87
880
165
187
891
614
266
528
4
922
254
156
856
937
875
176
481
643
57
20
668
224
641
878
541
271
739
818
304
924
400
204
524
974
96
43
832
244
721
480
557
134
358
334
802
265
295
262
872
619
591
601
517
298
238
879
782
712
645
57
359
753
324
96
581
222
483
771
214
95
375
227
422
355
302
102
275
375
372
426
833
41
772
868
274
206
339
825
754
838
42
757
85
243
80
9
86
684
797
380
24
239
267
98
166
413
420
33
300
344
621
795
81
571
160
941
940
181
17
298
682
245
581
986
609
99
980
992
403
647
711
812
194
854
539
237
603
977
403
483
154
579
923
874
216
0
475
377
949
938
865
598
375
147
305
825
98
923
677
201
113
672
872
346
404
916
902
704
239
494
195
106
223
225
750
713
331
932
645
303
531
220
789
338
431
897
258
143
49
231
353
156
717
812
244
940
440
502
45
491
386
662
372
973
109
745
998
173
495
864
198
805
79
252
543
58
370
972
914
511
842
135
839
909
268
796
318
118
369
283
763
315
623
589
417
327
513
935
476
608
65
166
267
724
142
114
566
90
137
401
112
57
28
708
919
487
869
810
224
451
999
20
622
598
890
429
81
20
524
685
358
935
195
175
805
293
596
495
965
37
617
27
40
901
706
976
262
60
852
533
595
231
607
598
856
683
197
137
825
124
936
555
117
81
163
76
845
656
35
234
902
292
692
160
279
535
635
545
481
664
859
932
52
773
937
519
777
837
223
625
764
33
805
196
70
595
132
309
586
296
581
723
406
709
248
786
103
792
65
630
232
800
557
823
964
814
587
384
264
218
884
742
591
378
800
205
456
321
103
777
981
323
422
455
343
586
565
220
905
234
784
123
858
871
799
461
401
901
230
790
694
909
82
655
438
278
805
395
688
611
337
72
337
407
982
753
235
145
845
58
679
560
322
726
248
432
365
664
920
954
244
862
934
368
875
238
161
429
772
903
942
486
691
942
483
531
390
900
152
715
673
890
993
165
327
984
863
703
841
760
680
852
70
269
45
926
382
695
790
604
980
66
996
237
233
878
699
261
793
101
601
948
711
565
853
278
199
988
524
946
309
630
430
535
140
767
266
963
270
949
911
809
599
834
623
308
34
267
232
900
717
415
380
253
394
224
542
78
701
179
709
583
3
157
892
752
362
676
858
864
763
382
603
499
395
87
324
247
564
184
159
853
730
637
436
63
409
789
67
54
929
164
991
420
379
43
652
79
196
600
436
261
597
334
927
601
804
688
105
538
439
756
594
990
814
106
69
809
950
815
641
876
633
587
109
531
803
633
503
842
523
394
173
991
689
86
815
415
663
651
917
158
704
79
733
870
350
613
717
225
798
79
398
746
752
416
477
532
930
709
862
315
134
718
338
659
171
275
746
982
879
493
454
983
120
871
607
693
57
817
66
989
878
990
838
560
855
592
335
377
743
854
114
704
216
906
790
852
87
72
865
994
895
805
627
937
41
505
939
174
182
219
893
733
969
641
303
455
43
177
485
96
510
601
847
329
462
570
683
994
502
437
993
254
991
644
352
307
38
331
284
954
785
246
292
912
921
951
959
680
579
411
423
138
487
350
98
725
813
456
752
63
967
991
811
809
181
263
383
526
203
625
740
861
207
667
54
351
418
141
396
922
668
250
708
78
846
650
486
827
213
28
484
896
904
639
315
760
590
783
995
657
221
115
679
298
131
833
12
643
246
141
692
186
373
488
43
978
814
105
838
545
996
975
611
301
942
64
827
139
25
25
193
812
641
198
947
511
509
476
29
326
564
415
73
622
840
466
16
271
950
421
86
900
552
141
446
56
809
691
634
387
590
660
993
570
796
163
405
534
586
485
71
627
143
612
263
200
408
604
638
653
697
112
468
95
769
630
869
208
305
496
185
487
339
32
252
82
232
854
745
871
345
65
70
957
582
786
218
28
434
347
715
892
77
888
398
960
816
330
996
197
335
693
612
668
27
316
795
188
268
491
301
810
366
651
599
612
586
863
279
355
447
679
48
920
259
229
98
151
827
78
934
547
122
746
207
526
862
229
992
625
177
491
969
502
497
36
378
453
826
944
749
990
764
386
475
658
928
544
66
175
37
308
901
172
753
157
13
810
277
43
5
223
120
923
411
138
877
840
54
212
898
747
406
476
920
86
682
836
128
266
414
211
529
737
495
214
357
228
788
369
956
825
343
320
916
309
726
550
396
732
169
799
319
115
344
49
691
354
732
390
344
840
160
557
262
121
393
305
566
619
542
111
914
504
168
861
31
839
845
882
844
84
767
8
664
409
491
132
847
168
946
43
645
43
84
150
771
917
973
599
118
160
338
955
96
113
974
363
343
660
968
571
733
223
377
171
508
856
851
747
83
756
931
621
29
162
340
934
545
15
337
245
99
409
339
973
493
383
345
423
545
731
956
892
381
331
83
65
653
846
290
397
4
480
423
886
758
137
757
972
324
571
673
869
690
782
245
146
112
710
990
753
392
389
721
514
399
880
632
216
531
343
276
114
640
361
359
846
793
889
756
821
368
661
355
510
990
410
242
369
335
615
846
564
761
952
233
831
728
52
225
583
283
64
179
895
153
144
227
681
642
48
38
511
883
485
572
377
260
94
994
530
55
332
952
503
372
536
341
671
82
488
919
486
50
632
915
715
849
460
859
256
636
98
482
224
707
987
232
120
55
368
621
226
645
9
211
303
525
568
813
299
67
852
420
285
816
785
846
538
166
196
921
962
15
291
386
494
704
434
227
499
408
509
601
203
901
793
244
755
811
246
496
513
978
922
583
459
528
729
316
63
761
128
117
802
961
396
994
98
982
156
531
721
398
935
384
69
764
47
995
671
732
546
983
287
615
34
741
791
241
87
796
374
205
923
396
518
919
660
941
785
755
94
92
74
752
904
242
871
199
877
172
798
512
99
778
483
293
12
893
437
876
525
474
954
816
321
963
774
440
145
87
880
472
257
630
562
898
339
714
543
738
523
691
752
123
888
441
793
166
553
16
65
986
349
739
30
110
549
10
71
1
462
521
935
612
190
658
193
507
312
32
897
952
677
848
205
835
658
598
211
840
161
803
48
619
915
563
244
412
967
787
559
166
237
179
963
46
379
314
133
753
363
280
884
360
782
119
164
442
260
148
912
269
777
887
937
681
131
625
196
496
328
764
776
652
123
90
734
173
260
18
485
771
395
492
622
597
650
785
377
675
995
638
102
882
730
681
510
882
75
194
542
696
680
628
846
459
427
189
934
469
854
503
969
941
217
609
29
767
21
778
736
76
909
288
727
635
126
600
255
498
593
159
722
932
586
966
747
434
867
39
467
263
236
897
519
770
855
36
454
664
843
781
900
243
80
299
15
131
344
356
350
542
258
679
281
504
403
462
885
359
332
918
681
930
132
493
412
882
561
40
918
702
293
186
8
31
410
607
865
919
719
643
447
733
828
174
100
617
420
118
892
701
341
806
995
979
741
479
808
990
806
303
899
913
284
998
204
80
840
779
621
89
125
861
84
980
819
861
177
713
175
270
893
757
691
573
494
924
990
337
147
821
607
704
630
597
703
498
312
701
118
673
153
214
628
867
670
141
650
492
177
358
151
244
379
451
499
133
173
792
451
125
592
307
107
916
230
164
988
337
965
336
27
868
998
930
903
565
137
110
418
464
803
957
541
304
727
756
70
579
545
529
182
802
600
377
879
296
553
341
284
64
341
463
654
449
643
215
896
392
120
649
333
226
707
338
524
481
947
840
51
280
533
624
546
31
165
682
716
532
736
454
184
165
56
2
110
524
704
961
195
659
261
461
751
469
820
605
215
354
767
279
235
706
509
305
140
230
979
659
982
110
962
484
74
612
628
459
348
976
981
906
739
25
807
354
634
58
684
70
243
598
468
783
255
866
81
362
960
163
400
338
404
608
715
214
399
826
272
837
293
223
823
906
174
47
888
755
52
139
727
65
769
457
291
758
291
293
19
558
732
831
284
333
183
177
894
142
379
382
946
917
743
827
736
4
914
208
79
39
985
313
617
681
647
197
853
160
540
406
565
477
905
702
583
535
43
379
915
537
449
292
575
911
522
931
817
799
252
428
399
35
8
841
348
842
69
412
564
829
454
703
658
682
620
825
94
670
183
661
154
440
530
816
240
208
89
750
548
112
791
920
772
861
761
185
262
977
834
842
352
897
595
234
562
588
814
994
218
360
470
839
715
870
213
299
850
181
45
416
780
308
218
557
703
626
957
313
297
872
230
317
474
11
317
616
897
859
290
539
760
305
497
890
796
454
811
409
10
877
636
750
778
160
134
848
672
342
42
457
174
229
153
161
593
803
256
484
225
642
528
99
346
231
906
664
736
101
426
382
833
844
690
754
804
651
263
888
996
3
646
635
282
677
142
915
344
221
681
824
134
996
409
285
500
286
134
205
400
71
519
75
64
489
734
237
469
98
228
362
901
434
76
177
505
792
475
655
797
949
431
745
336
2
462
297
58
804
883
943
660
910
701
110
285
453
162
820
820
355
6
157
829
460
602
529
570
761
666
846
30
922
592
74
688
353
358
759
55
48
704
505
282
914
263
325
511
198
812
673
147
592
459
9
549
509
763
51
493
379
840
786
443
313
428
854
429
329
850
914
747
965
349
268
581
571
135
976
280
33
616
10
778
190
516
384
400
35
440
784
424
155
526
349
918
445
947
896
830
374
139
130
931
411
402
13
508
859
448
915
997
105
50
258
237
206
727
965
316
836
942
262
961
493
711
770
746
814
556
348
404
393
9
369
751
715
781
686
108
822
88
740
642
34
92
673
587
143
477
866
14
786
385
843
669
133
934
332
926
58
557
491
272
162
558
360
321
204
879
153
302
878
411
919
907
223
998
660
795
962
315
705
737
661
85
977
766
769
90
563
871
192
996
893
734
796
502
915
151
863
626
302
101
897
912
309
266
70
232
571
709
951
240
474
424
67
276
604
653
449
110
541
101
341
978
544
457
147
311
636
747
464
57
840
334
718
802
4
218
735
459
862
420
716
541
929
350
631
589
470
408
512
717
289
612
790
164
329
74
364
951
680
104
256
329
420
933
910
451
784
771
318
611
780
854
678
536
469
863
156
611
709
467
648
770
969
478
415
216
421
799
8
752
473
872
413
776
745
226
546
883
643
304
503
688
272
732
514
218
931
783
832
768
464
216
876
501
546
100
901
480
176
37
773
737
804
16
728
578
523
105
161
840
907
520
87
308
881
217
863
0
905
797
392
893
204
681
456
426
885
639
150
3
619
21
882
542
931
156
922
196
45
379
992
452
123
629
125
615
57
50
26
445
663
859
393
258
811
520
138
745
31
724
70
737
459
229
440
917
855
797
313
182
333
181
467
957
157
266
47
653
222
279
232
717
251
926
411
508
178
205
854
522
929
36
915
520
783
590
589
652
153
288
813
12
920
348
563
712
962
751
37
811
961
450
69
216
38
970
613
514
290
46
922
355
964
728
95
296
645
822
397
310
519
424
336
183
434
857
805
751
324
578
877
260
888
255
397
664
748
665
187
633
110
209
450
928
209
759
949
465
153
773
201
988
638
600
149
358
582
486
102
724
72
263
579
572
660
456
431
636
29
200
308
186
760
71
959
816
926
861
890
214
389
414
386
299
80
409
718
40
964
451
982
381
155
787
897
440
498
555
65
971
709
679
630
214
826
27
765
943
368
753
204
422
33
487
809
61
297
918
471
62
830
943
940
649
366
465
899
79
489
434
813
940
374
146
764
699
759
394
623
82
185
631
156
967
37
387
929
570
720
296
988
214
999
667
448
138
330
120
441
337
592
841
684
887
807
355
596
92
254
472
867
845
431
24
559
398
261
517
174
682
63
771
461
427
451
276
341
713
265
279
562
985
104
589
513
149
472
862
133
440
117
110
954
275
28
689
785
400
360
704
891
673
538
508
538
191
101
186
177
562
212
28
268
418
225
159
213
106
502
38
219
988
773
794
402
208
119
628
575
408
744
174
260
895
868
611
729
481
221
851
972
792
317
827
983
171
208
401
771
252
188
650
707
818
769
369
217
614
477
161
330
134
265
385
370
748
384
319
308
95
115
375
470
664
188
740
486
112
178
946
335
614
167
997
518
168
783
12
176
212
85
181
764
14
271
925
427
635
872
773
906
211
220
974
802
147
55
124
21
812
764
390
92
118
294
80
285
68
277
14
945
757
618
499
468
33
993
385
763
931
450
875
870
692
976
247
474
36
388
700
389
942
780
300
474
752
591
923
6
255
103
604
607
385
770
318
447
965
198
478
403
592
371
848
251
962
173
737
633
490
78
645
49
123
83
562
434
3
892
87
204
867
561
43
588
570
984
303
474
301
278
387
15
704
588
55
108
210
849
224
249
897
919
724
877
262
580
455
349
671
70
315
909
996
151
936
314
646
787
485
628
966
371
494
480
297
700
951
799
746
885
839
95
738
937
429
379
564
623
393
71
706
465
448
770
626
243
291
509
403
251
716
650
835
201
417
783
666
813
644
233
462
258
880
381
583
101
252
237
364
967
99
451
463
425
411
381
419
536
842
354
881
865
815
579
425
229
725
936
223
7
660
845
352
964
727
451
927
45
829
471
972
490
496
619
225
166
417
44
32
669
220
249
912
803
911
793
628
404
276
847
246
248
490
407
931
315
279
662
903
98
966
843
833
186
817
934
401
321
878
558
903
871
843
172
970
909
187
458
207
836
910
355
748
467
280
524
847
669
900
920
273
981
535
378
221
234
211
228
603
415
984
108
938
439
414
783
13
640
59
278
848
714
83
778
741
501
298
778
669
504
125
195
547
939
374
919
917
179
319
546
874
393
626
697
132
15
708
773
134
625
182
353
316
108
359
797
391
100
862
879
635
486
140
625
770
434
566
441
514
321
428
107
656
382
529
491
235
939
662
683
546
987
33
830
791
51
62
626
956
725
326
253
677
53
193
952
165
916
180
543
653
92
45
292
715
532
739
421
721
891
552
513
745
673
984
239
475
66
654
299
559
161
630
172
738
605
626
567
679
372
712
855
614
124
633
29
200
854
461
523
20
907
406
417
12
980
619
914
361
306
648
957
593
878
147
293
884
41
910
416
664
486
495
705
559
5
241
620
893
861
319
827
710
101
191
114
342
342
622
614
475
986
460
728
100
413
58
649
550
399
592
831
503
14
993
966
387
195
939
579
431
970
5
701
870
609
358
572
234
839
506
325
640
337
825
678
728
72
496
912
192
98
790
889
110
394
134
152
893
917
112
326
230
88
249
573
919
425
166
991
204
182
345
214
150
936
130
633
306
164
212
550
487
507
596
823
140
24
876
496
453
791
314
437
860
883
599
357
754
482
598
67
245
543
341
456
414
789
255
987
757
80
567
468
374
623
939
478
851
747
569
858
873
161
81
554
964
290
903
23
431
850
541
58
753
934
454
140
449
265
146
372
322
971
926
73
252
2
393
58
762
812
500
883
7
348
639
118
326
769
769
307
474
53
333
976
726
933
223
72
451
885
435
703
250
193
361
921
731
28
476
20
929
937
170
544
62
507
558
834
819
339
718
983
283
469
671
697
680
118
654
255
75
64
405
382
81
778
485
891
562
166
482
607
644
188
650
756
246
692
244
92
420
615
936
849
797
708
403
125
255
592
645
94
415
958
837
744
559
183
667
870
144
741
327
755
19
934
833
408
671
63
620
590
517
45
300
531
72
478
152
421
736
98
970
429
513
643
668
547
140
467
4
153
692
644
508
848
226
816
316
593
120
592
233
747
715
534
254
111
273
827
69
398
58
978
744
580
866
532
765
837
881
63
839
475
720
583
91
3
529
285
766
789
3
50
189
593
136
972
730
77
653
391
880
856
995
613
686
742
87
25
480
346
50
623
938
699
77
221
945
660
557
670
583
375
79
965
948
533
846
924
979
143
986
924
489
547
322
453
341
637
520
826
675
357
566
819
946
211
419
148
439
220
920
837
892
711
619
973
79
253
635
842
607
382
543
820
654
550
320
952
712
656
219
57
288
896
142
861
703
197
491
331
737
528
494
888
168
394
921
13
605
740
724
552
981
161
997
524
291
768
699
258
353
300
570
231
288
862
570
949
978
19
692
359
95
906
774
188
305
788
150
593
585
849
211
319
374
199
443
777
581
559
502
839
807
679
914
138
825
667
283
635
691
314
383
25
368
356
806
533
691
474
385
996
531
301
853
765
878
298
968
289
813
650
790
351
211
202
882
200
441
444
163
684
546
939
775
65
851
964
960
459
318
634
441
661
10
943
216
711
692
967
560
589
537
624
804
651
934
396
926
33
6
438
159
272
184
9
277
595
657
950
159
399
962
944
228
761
127
552
506
758
967
344
914
680
442
474
893
32
472
590
622
13
667
738
753
483
120
129
461
943
64
580
922
219
972
468
340
870
377
419
103
153
547
754
204
656
477
527
199
141
367
669
636
808
657
835
811
821
469
366
411
87
475
222
156
918
891
150
874
466
510
283
904
28
524
675
715
707
282
288
129
32
447
858
133
39
215
94
641
981
957
735
945
301
837
537
286
863
415
680
526
343
355
276
417
281
334
868
853
920
427
920
268
453
121
578
437
905
167
547
357
708
951
826
8
935
110
885
462
564
56
6
133
623
311
406
499
761
172
687
729
972
43
748
857
996
183
11
802
247
194
829
323
609
731
804
663
614
271
559
104
910
485
49
378
353
720
442
572
157
710
809
726
263
200
837
38
714
321
344
37
572
933
122
378
444
795
32
136
581
585
855
821
137
254
194
598
384
335
910
511
509
851
68
42
177
749
264
530
590
568
634
927
234
944
442
882
805
465
50
638
361
355
152
46
26
269
404
341
243
570
848
970
47
195
908
672
453
89
868
270
821
454
374
992
194
432
820
357
154
7
258
984
998
185
430
455
270
419
629
131
804
40
824
240
493
958
584
660
29
933
645
410
226
78
414
269
527
900
591
998
627
283
877
429
524
47
831
29
756
93
27
447
944
620
112
290
388
814
262
644
699
395
644
214
154
510
626
305
891
255
450
696
605
905
86
352
66
786
281
683
17
39
225
809
875
344
157
381
502
540
857
407
547
960
736
297
213
123
449
599
699
552
949
22
243
559
12
438
488
761
677
665
151
179
764
898
243
180
953
37
973
371
698
589
454
812
796
888
996
658
386
725
22
221
365
629
449
874
150
625
412
915
441
95
569
546
517
249
847
331
384
39
986
868
885
624
597
488
390
361
781
14
834
844
811
565
792
175
470
995
384
569
71
227
188
181
16
688
580
887
468
755
997
423
728
632
559
874
710
256
908
16
891
691
825
250
186
352
539
882
90
491
816
500
78
372
993
650
401
841
382
186
728
569
72
616
58
104
523
745
58
448
590
204
29
585
75
759
132
618
589
309
325
0
191
76
903
610
1
279
216
327
105
320
61
763
589
860
926
892
835
805
509
375
154
164
577
241
783
186
773
911
820
360
640
188
778
905
488
769
833
4
765
969
303
597
546
908
376
311
379
367
943
571
346
533
299
396
635
515
198
62
350
823
874
45
275
770
265
336
129
113
265
821
591
758
455
93
712
576
197
410
75
615
879
917
815
210
348
381
730
910
182
127
455
151
412
377
595
2
61
882
249
951
461
542
648
581
811
509
50
6
818
231
533
894
466
863
439
262
304
245
664
129
957
765
543
135
655
773
839
575
618
18
170
741
608
239
101
948
637
347
537
706
634
121
972
231
510
214
329
928
888
642
674
847
374
46
696
237
426
210
469
696
597
490
783
988
446
418
662
206
477
887
615
866
949
953
9
648
866
182
292
129
951
156
998
46
540
27
132
337
491
302
411
43
421
854
51
608
743
154
372
10
386
978
291
924
256
697
110
27
553
811
582
647
152
608
549
729
832
840
495
259
33
522
460
926
953
78
459
72
392
354
5
712
929
50
458
859
747
229
648
471
527
552
560
411
275
569
74
981
828
950
7
968
668
162
367
663
391
348
82
886
669
78
660
404
901
789
323
696
832
700
432
503
978
238
151
965
411
530
188
911
486
915
923
185
959
617
604
611
429
677
614
620
686
9
229
303
738
80
295
928
580
816
19
92
249
78
812
917
535
882
418
384
15
118
785
678
602
92
64
251
793
366
925
617
729
121
951
681
971
936
414
106
316
639
50
302
567
154
255
746
203
414
494
557
475
140
975
195
272
105
972
302
266
218
149
415
134
769
891
552
221
180
670
385
353
515
849
940
327
946
850
25
188
660
508
166
430
508
222
260
395
914
380
721
226
508
336
582
136
783
219
814
345
305
828
863
258
841
75
789
679
85
354
813
406
720
952
765
218
493
657
272
413
65
18
37
197
898
811
499
766
181
486
320
164
528
833
82
28
930
181
537
203
493
342
753
277
763
635
254
939
786
20
785
877
991
678
718
120
332
23
618
767
48
87
56
513
433
484
371
912
316
361
667
578
500
379
572
185
652
44
314
640
36
389
201
654
216
144
605
239
496
954
482
718
146
306
974
152
446
217
986
742
383
475
85
138
803
808
449
325
435
790
796
235
437
373
412
280
742
824
456
507
316
632
778
98
194
805
114
213
889
623
738
329
16
719
99
234
83
804
981
121
867
193
512
539
177
56
672
212
561
893
630
578
315
983
450
732
365
717
912
676
752
700
337
953
989
545
161
634
39
530
67
804
417
405
900
345
523
308
825
425
214
207
574
706
205
812
629
669
701
653
455
134
558
142
628
377
940
221
137
727
797
368
912
326
441
859
201
106
192
93
205
404
8
396
147
123
432
960
986
927
683
48
757
399
520
11
414
658
462
388
689
811
701
23
10
137
885
879
46
10
215
507
912
63
486
444
955
641
739
609
319
913
73
554
878
185
641
766
169
215
642
441
93
574
205
165
430
269
79
896
742
313
432
75
809
876
644
585
585
261
130
140
402
422
765
1
369
167
888
162
323
361
590
139
143
417
718
526
549
32
496
622
733
943
333
76
810
320
635
876
918
64
172
222
186
366
684
100
107
986
81
334
333
581
978
636
694
263
427
784
389
282
154
860
784
102
688
847
253
74
130
757
135
796
356
255
80
445
313
284
284
610
961
75
217
973
108
419
117
821
481
319
408
907
306
810
31
632
33
251
473
591
93
542
630
304
617
985
283
850
70
728
35
841
969
145
520
53
56
275
187
56
974
145
781
441
499
283
628
135
855
368
93
134
457
830
460
484
33
574
558
682
210
219
923
753
18
625
439
117
82
70
610
427
216
649
387
170
140
422
397
264
280
253
507
756
637
224
184
375
443
626
396
572
911
138
197
296
243
989
885
495
889
275
809
350
32
24
167
909
332
968
408
593
580
66
313
443
217
624
269
118
867
5
538
498
900
376
268
995
120
807
292
187
30
313
468
182
973
881
232
593
931
695
399
93
194
293
742
942
524
235
915
803
0
941
939
225
264
403
71
275
556
594
75
220
216
985
545
36
753
61
745
946
792
466
565
644
209
406
136
279
945
576
415
418
180
647
215
59
489
698
607
755
646
969
350
609
562
816
736
212
148
82
80
391
46
446
403
585
412
383
86
615
709
846
716
425
240
576
905
803
163
215
659
73
361
935
341
696
795
18
597
259
277
471
421
570
146
228
937
298
496
16
382
21
864
663
708
245
963
391
639
733
41
92
207
247
586
893
923
397
26
233
13
634
349
150
842
745
791
211
377
562
90
606
809
665
613
606
736
821
751
354
685
135
789
619
288
86
116
32
478
160
661
359
238
639
166
688
231
132
439
979
850
772
648
943
865
956
418
134
959
89
211
24
880
957
769
758
566
285
669
606
207
935
742
308
705
623
357
347
514
753
622
446
450
723
524
94
977
887
982
749
531
938
211
637
88
403
520
388
425
140
500
613
437
163
249
896
705
510
593
377
900
89
96
678
769
820
830
357
595
508
898
755
555
977
106
145
998
284
370
79
363
823
808
377
825
566
144
865
930
479
827
978
162
193
152
376
445
738
876
222
827
838
635
801
629
110
791
612
375
281
803
752
866
619
887
942
205
90
341
18
420
721
471
29
790
761
527
151
911
617
283
923
767
621
294
95
811
526
785
416
207
411
416
481
506
92
859
355
628
223
290
589
958
184
889
630
238
932
560
760
484
375
280
970
867
234
583
546
136
943
494
738
738
144
494
254
1
377
365
126
662
427
306
608
944
759
528
271
676
111
914
444
11
83
29
122
827
24
868
815
392
554
300
310
52
268
292
824
573
712
602
386
769
856
265
12
616
367
567
739
523
42
864
901
836
600
842
171
81
395
28
247
52
884
376
523
403
973
955
251
680
717
81
577
813
874
134
277
303
42
956
342
628
432
222
685
911
327
68
747
495
615
436
520
666
182
949
173
137
646
129
466
244
944
692
805
382
569
793
778
1
509
43
493
846
365
974
242
215
709
947
803
442
806
163
590
614
279
661
353
522
120
505
177
968
126
752
688
422
160
374
918
116
395
325
282
801
962
133
190
666
647
289
706
553
665
618
338
283
336
871
38
37
190
203
609
641
472
825
365
383
414
229
709
864
101
191
795
143
371
14
754
881
548
542
737
623
199
393
621
282
440
584
257
422
468
255
252
308
848
878
934
90
387
506
831
20
258
168
676
707
704
707
123
975
574
168
88
737
538
688
512
467
486
706
104
688
976
748
89
279
114
652
459
50
118
247
874
53
129
797
675
998
248
346
492
442
44
889
109
37
599
739
262
918
689
854
268
950
380
839
172
164
912
431
147
518
991
1
123
212
508
254
335
673
455
334
756
659
51
461
182
245
759
186
642
98
903
694
383
804
744
692
798
613
895
826
154
506
726
221
292
373
557
661
42
352
639
974
792
161
957
837
752
525
840
840
237
725
256
444
210
426
693
253
913
367
768
695
147
467
996
309
656
29
549
449
671
243
245
998
859
83
739
473
853
469
724
456
861
412
571
712
144
483
467
577
30
246
461
732
895
744
515
58
858
912
820
552
723
508
646
447
796
365
703
703
379
933
906
415
92
453
317
345
613
817
824
942
708
134
875
119
164
855
826
988
447
962
753
789
109
572
676
502
483
162
594
663
428
202
289
921
193
542
928
662
656
32
50
389
256
187
470
509
161
870
434
163
725
627
919
286
421
216
755
711
635
366
952
638
312
205
389
981
282
291
75
65
381
35
808
484
635
325
1
763
816
931
693
48
256
931
128
50
360
758
952
989
751
247
844
83
787
204
530
69
113
419
474
710
612
653
727
477
868
487
580
200
78
429
25
703
27
732
102
983
617
202
551
996
215
781
762
61
991
234
797
126
874
405
234
769
456
150
110
87
600
705
899
632
610
556
699
436
746
688
731
712
16
634
410
256
271
8
914
431
347
478
857
598
74
711
813
643
102
871
925
960
422
856
763
128
370
562
69
602
519
539
518
96
611
406
439
543
603
484
163
765
220
594
33
924
151
294
410
950
396
591
232
121
383
486
755
355
105
726
705
40
441
249
557
10
30
731
800
123
505
755
914
895
358
858
579
945
271
746
20
433
11
922
727
190
221
499
181
25
408
151
810
234
30
32
853
591
472
442
179
948
192
235
909
11
132
279
523
799
696
60
64
144
336
427
193
345
882
435
922
338
427
784
319
619
470
758
902
244
126
415
602
278
536
443
726
795
479
914
754
429
323
3
612
59
21
889
328
548
315
668
278
384
127
741
24
118
286
656
635
921
652
184
189
749
95
42
291
411
877
305
362
90
818
822
287
63
568
316
657
215
851
317
220
336
615
105
386
589
176
754
3
445
445
199
933
106
29
172
956
795
673
559
252
312
77
708
851
711
308
261
148
244
720
782
12
408
25
481
515
395
500
576
21
502
988
92
348
664
388
208
386
85
973
224
998
142
883
713
681
93
674
42
911
488
584
145
51
386
89
528
313
932
123
192
683
953
946
477
958
204
893
88
52
270
513
268
410
524
903
411
824
755
592
859
332
252
145
960
762
515
28
774
529
340
94
936
735
490
23
470
151
470
982
64
964
964
188
208
933
927
832
50
169
82
946
137
507
938
610
72
157
784
56
469
388
676
921
574
349
483
842
543
640
844
407
860
521
342
347
11
860
614
158
678
677
43
780
48
953
157
763
699
58
467
291
615
127
463
478
981
248
611
182
415
717
67
609
155
674
834
55
159
985
649
458
835
91
662
44
75
269
948
169
965
347
734
33
302
888
657
9
105
399
381
286
342
455
298
908
439
689
860
284
931
888
362
814
662
188
235
219
289
212
29
608
689
958
394
805
874
902
819
840
610
406
437
217
259
804
762
414
622
516
829
53
342
682
859
681
530
171
983
295
474
216
849
958
744
525
205
98
357
314
558
767
157
885
527
431
484
256
693
668
803
733
557
512
425
105
332
418
663
878
837
700
724
877
33
612
574
348
284
645
391
643
888
522
632
316
778
734
783
307
907
726
64
519
319
104
223
966
419
322
348
768
157
352
729
803
529
375
307
132
49
803
869
608
865
104
422
544
421
617
875
768
297
408
70
871
420
71
824
812
533
580
487
977
12
536
654
168
518
956
899
374
813
771
467
814
796
571
347
797
96
453
297
34
822
59
53
873
35
741
262
697
474
616
949
326
690
872
682
118
755
393
654
788
528
366
966
511
654
404
618
344
626
507
59
14
283
322
847
502
149
635
743
744
924
470
270
769
293
240
379
422
718
807
560
878
851
555
711
661
921
699
434
56
64
581
170
353
904
356
268
969
346
589
477
27
632
81
40
676
920
625
681
626
343
786
121
598
292
430
213
881
625
510
496
627
839
883
536
196
606
848
846
692
139
242
646
713
44
713
514
429
20
598
12
317
800
295
148
345
235
200
711
937
75
319
915
827
936
836
179
57
704
292
889
818
452
296
167
444
701
910
321
608
84
166
724
377
293
344
610
842
235
426
332
651
358
979
329
789
256
527
847
890
970
823
722
74
419
201
464
59
64
820
386
736
118
30
295
769
438
124
273
852
643
800
320
646
660
635
971
618
52
844
859
764
946
262
687
573
900
405
178
703
511
8
694
743
802
57
754
383
270
5
198
319
770
926
95
538
466
259
117
168
865
613
384
788
8
455
495
92
605
947
69
800
615
539
700
889
582
756
227
712
649
214
786
835
725
253
923
200
263
588
524
314
593
895
589
901
343
127
835
736
269
621
523
825
807
163
189
520
179
304
945
222
781
415
813
209
997
849
944
234
980
391
193
565
480
66
596
502
819
254
590
308
476
927
667
209
474
200
851
568
888
752
982
429
544
239
363
155
495
10
582
56
699
789
583
690
608
42
933
753
692
602
574
161
983
270
728
894
633
422
422
678
832
31
250
176
305
312
761
539
225
748
932
235
722
198
655
151
985
606
654
170
240
698
858
30
360
205
732
407
308
158
335
816
243
905
424
468
0
526
139
637
26
757
129
562
902
640
528
192
134
204
563
821
788
407
940
755
854
164
556
308
600
269
560
382
646
683
954
719
772
169
454
298
965
123
537
444
457
637
563
98
63
132
230
815
413
738
737
143
174
265
417
165
738
529
929
998
457
842
445
246
97
419
632
608
94
971
747
656
939
865
924
681
568
93
283
524
209
271
339
71
114
283
216
899
23
382
208
809
356
279
28
644
960
54
65
581
541
689
22
460
244
284
570
976
643
945
583
735
583
463
299
588
474
947
340
480
929
316
503
70
866
909
749
432
375
165
859
135
589
905
323
596
362
739
440
272
921
54
531
930
105
281
234
548
971
370
730
344
961
44
765
933
413
442
529
139
823
981
986
319
376
727
383
752
495
365
309
670
787
520
225
426
443
930
115
939
169
280
204
584
338
749
448
243
438
502
911
811
409
131
5
998
135
709
972
228
828
581
934
331
162
995
870
289
896
712
576
471
994
377
768
898
427
903
639
762
897
845
188
301
566
323
791
51
88
963
204
843
454
334
148
440
191
14
946
742
937
622
602
189
978
976
459
676
492
97
761
244
185
904
272
349
781
340
805
204
53
871
395
520
936
147
211
80
632
831
862
459
867
687
682
888
334
838
96
262
448
974
723
115
101
288
67
501
316
97
369
748
733
7
690
885
564
284
668
806
561
794
7
223
131
643
242
362
976
332
326
197
875
481
299
192
183
584
17
77
453
458
268
163
439
267
743
275
706
906
671
485
592
819
851
408
600
471
496
804
964
461
612
196
664
448
878
55
909
832
206
184
680
159
952
809
686
688
129
307
926
202
524
223
5
261
448
700
826
68
320
561
150
905
973
878
149
700
439
629
155
807
434
950
12
463
592
108
69
611
440
555
199
307
457
692
523
764
802
276
531
11
257
89
160
951
90
384
414
950
622
132
656
96
460
340
755
649
935
599
918
259
928
158
623
161
75
953
180
753
682
463
373
749
711
226
811
886
226
764
339
666
436
982
364
423
979
427
620
613
887
722
647
418
944
491
365
312
660
246
13
795
981
117
478
280
548
656
292
990
630
354
374
515
640
459
207
28
8
824
127
516
908
47
562
380
282
106
327
734
943
75
656
956
571
245
604
485
728
93
850
921
971
91
388
947
10
301
4
33
616
193
695
571
793
344
749
33
738
914
316
36
855
996
172
791
775
948
418
249
276
61
391
569
342
454
613
399
314
867
839
825
118
316
41
996
112
397
510
553
597
22
992
166
350
335
223
795
509
361
556
45
998
2
503
430
179
201
753
576
465
871
34
906
14
425
113
655
416
634
648
391
307
645
501
821
418
43
93
480
404
667
152
203
754
612
839
359
869
110
492
470
786
927
934
580
69
767
334
795
335
383
747
255
630
801
637
638
233
359
585
933
408
399
862
465
977
763
644
111
466
234
732
40
137
210
509
257
129
941
936
987
318
731
501
695
700
592
188
956
156
370
958
519
31
763
606
41
816
943
606
146
763
17
461
977
648
625
793
794
772
596
213
627
534
326
28
250
959
278
942
197
136
511
43
529
966
427
568
473
675
209
312
213
547
941
656
56
657
358
135
455
246
559
926
163
456
552
71
236
752
404
113
617
304
22
63
27
723
789
487
37
306
409
125
851
917
730
272
111
29
410
449
164
482
531
647
759
233
362
485
728
445
675
483
205
261
82
199
591
912
195
417
366
745
445
916
481
816
245
680
662
523
239
304
599
625
446
29
537
85
248
484
890
892
623
55
501
324
262
205
426
92
354
496
733
422
711
174
514
503
922
953
471
48
864
536
574
974
861
69
724
637
18
286
649
359
782
514
257
874
123
50
199
341
719
848
681
735
448
319
218
203
378
330
440
460
875
217
492
728
641
696
564
735
4
55
273
655
473
445
368
397
135
172
423
351
450
47
979
105
710
316
539
305
38
575
352
181
381
521
821
216
634
321
650
327
823
685
934
439
358
972
224
8
46
829
191
935
851
531
30
324
641
199
194
264
836
795
751
237
942
257
24
8
35
669
18
672
569
792
106
522
263
562
794
189
15
615
593
861
935
728
792
186
121
662
850
97
462
35
72
409
910
225
921
955
157
842
160
320
990
266
239
118
993
781
850
997
131
249
730
714
136
756
914
392
447
490
473
751
704
332
543
841
116
333
122
796
242
337
520
881
721
368
520
293
824
774
583
370
117
947
59
414
920
989
473
428
1
590
65
939
681
76
655
972
767
986
576
350
923
784
594
792
181
505
793
891
826
18
267
881
850
569
437
418
369
80
686
709
720
721
475
941
630
224
422
863
295
190
791
664
614
182
327
995
450
652
904
798
259
134
263
566
979
295
555
432
590
918
621
563
641
177
579
97
218
410
122
264
319
998
624
177
834
291
976
456
608
431
760
922
890
660
211
285
528
456
936
460
951
577
72
354
878
96
256
169
220
430
123
230
504
476
446
689
348
876
354
684
19
176
869
190
684
318
319
13
17
301
242
439
877
607
780
938
751
922
952
517
283
253
828
739
634
768
673
131
701
914
258
179
991
939
950
263
846
163
704
152
248
402
21
993
463
875
752
199
35
341
555
259
445
70
284
306
400
721
948
124
502
37
999
738
297
947
729
238
517
436
336
427
19
406
519
241
305
21
304
433
139
602
21
672
137
322
778
842
965
284
918
67
3
715
946
247
489
299
678
827
803
451
260
913
657
320
32
970
11
967
348
21
561
140
440
681
885
876
852
771
925
899
830
226
765
142
556
919
499
305
8
22
131
849
835
101
840
771
921
285
854
712
392
291
310
535
366
958
391
263
172
377
821
128
236
769
282
62
368
321
84
398
46
742
151
890
295
223
322
144
458
573
731
926
77
309
1
663
506
746
354
842
452
12
146
777
231
153
94
39
228
20
246
999
205
588
565
322
822
541
350
529
77
551
977
144
716
677
594
812
961
397
315
280
480
178
514
849
752
738
366
582
63
748
257
813
977
530
233
29
867
391
396
411
495
39
836
348
141
655
726
142
112
501
147
619
280
458
513
637
57
662
872
772
35
388
413
862
473
474
96
839
927
190
557
719
957
804
345
631
917
777
304
386
827
616
565
901
99
472
779
72
752
544
328
213
792
386
223
14
485
305
34
640
148
272
118
267
758
216
195
902
427
303
623
886
649
136
835
241
650
814
647
109
489
592
378
73
302
84
108
552
441
669
598
202
46
750
833
603
461
294
612
891
986
293
260
308
658
69
926
524
996
340
6
628
887
286
853
904
239
203
443
308
226
410
6
297
795
328
617
327
640
674
603
770
949
80
355
724
339
812
555
741
697
901
522
408
984
620
908
811
577
504
350
854
254
547
862
463
999
826
365
185
319
233
173
230
781
750
756
469
90
825
622
70
17
143
129
228
478
879
451
457
376
700
776
649
917
458
35
85
483
724
737
590
277
298
474
842
716
228
912
522
656
131
112
276
830
298
994
41
568
819
680
614
855
377
289
168
19
182
201
190
863
535
512
981
857
580
634
176
586
14
823
420
581
300
249
692
22
495
353
485
605
473
879
748
448
764
593
643
261
820
101
84
559
140
91
83
891
352
823
482
893
393
536
729
124
908
262
542
837
698
436
294
531
26
784
172
587
594
219
900
198
384
311
60
411
448
256
628
851
760
956
306
291
780
645
405
231
760
91
15
767
561
459
839
7
259
86
654
390
545
902
345
193
327
942
590
995
717
112
96
959
690
659
483
981
349
159
748
243
525
59
807
449
953
394
255
279
867
126
235
505
496
718
889
938
546
859
421
790
975
352
998
255
942
558
6
899
207
245
731
513
362
156
345
203
806
627
651
368
723
63
602
139
418
720
98
727
794
513
431
118
460
229
816
381
34
649
747
987
70
738
959
238
393
290
27
849
283
480
981
640
781
852
601
188
955
594
657
651
144
316
315
558
321
41
70
269
831
248
438
44
289
733
239
46
427
172
61
710
89
84
976
311
102
961
845
254
947
769
196
708
475
432
804
943
588
84
133
846
358
216
931
442
291
212
526
51
85
636
489
653
945
485
867
129
443
896
292
520
965
456
837
75
495
759
978
768
626
253
930
840
649
616
597
919
148
432
33
887
351
86
285
434
743
500
594
93
204
564
455
520
688
28
805
838
503
188
437
701
472
119
318
540
196
707
224
633
390
70
351
757
399
494
117
408
303
44
955
42
312
797
807
364
69
200
43
73
664
755
43
746
736
350
121
491
549
201
271
291
80
567
711
69
894
54
267
602
714
920
203
214
259
985
528
846
268
88
630
802
538
275
655
591
411
36
589
737
776
11
743
625
298
472
511
150
804
228
776
13
275
813
403
798
990
898
501
249
585
560
24
539
913
557
92
63
965
177
231
763
217
933
621
63
200
409
648
14
765
345
393
412
640
29
529
384
260
716
144
408
900
329
842
658
49
43
722
705
539
140
59
709
44
714
829
534
715
508
660
34
446
615
718
182
195
507
762
944
551
233
209
406
257
462
375
465
817
866
900
759
121
82
478
451
762
748
118
797
420
853
57
878
521
517
539
140
428
509
547
586
906
300
934
612
57
78
343
59
697
872
444
283
670
33
80
87
302
686
507
80
784
688
125
710
229
531
746
262
237
750
290
455
3
224
355
727
170
848
665
320
263
643
821
997
610
122
85
178
876
945
240
262
177
733
979
851
539
775
222
896
620
279
677
265
292
751
299
566
782
782
892
22
884
288
717
469
757
816
833
644
279
464
457
979
508
927
343
918
926
989
842
269
913
900
686
931
847
109
552
28
849
396
975
762
445
710
763
885
970
806
680
225
366
968
946
786
158
591
888
969
15
623
474
202
507
838
135
761
707
108
590
120
42
16
515
785
765
489
979
480
376
836
414
489
8
213
892
779
776
233
266
847
238
893
688
194
528
985
292
459
800
357
135
722
530
566
69
474
223
434
627
42
946
67
684
526
387
972
245
574
569
548
607
722
247
760
22
687
76
88
176
216
293
268
417
229
987
448
106
861
11
405
672
259
364
962
219
950
199
548
574
182
226
766
420
786
535
613
56
637
846
161
621
666
722
894
459
229
786
611
184
383
173
829
477
265
782
961
838
847
715
403
733
197
162
129
55
824
351
976
28
767
838
276
462
675
571
545
856
346
314
75
131
634
240
922
200
440
987
394
285
370
460
104
238
31
636
667
885
57
311
749
32
550
747
49
302
390
448
694
9
536
446
878
99
116
735
93
860
935
709
115
648
21
921
824
566
569
684
243
862
746
354
674
849
899
667
957
268
235
461
344
106
534
180
770
981
736
209
960
323
873
235
93
145
765
659
684
806
917
558
656
448
60
444
964
122
860
349
169
625
745
840
548
500
697
460
665
882
117
253
989
468
594
281
248
218
681
656
577
396
966
24
142
841
12
872
306
178
125
140
807
914
903
549
588
451
990
262
703
808
851
668
95
404
234
409
439
625
220
68
694
910
313
970
791
644
851
273
430
67
121
753
238
579
679
432
87
265
353
100
985
556
360
545
877
792
671
948
795
671
46
848
442
100
864
570
351
293
383
548
963
177
20
557
267
43
137
804
73
714
132
276
936
975
33
756
54
997
819
119
16
185
519
751
833
26
970
544
329
232
494
675
897
749
77
823
425
37
68
903
887
694
355
685
562
569
15
27
405
555
806
512
948
780
40
173
179
668
58
482
311
237
67
726
619
653
565
359
149
245
686
754
114
192
68
612
243
691
118
325
141
344
775
643
908
343
715
541
423
439
873
646
68
828
117
830
173
283
225
76
923
711
965
783
705
141
495
219
757
14
599
29
698
628
172
329
308
259
708
639
665
756
289
444
344
670
615
884
600
726
372
386
223
135
732
627
927
391
748
67
24
124
344
616
841
943
417
143
26
208
911
897
93
708
677
799
988
67
975
445
245
661
572
544
625
570
781
732
949
193
109
716
479
859
914
180
344
580
731
307
445
723
989
713
922
296
346
148
126
842
712
442
260
982
342
807
735
960
810
316
54
510
415
205
684
544
969
381
973
384
674
670
524
652
229
765
538
439
614
287
373
953
243
450
400
515
963
38
485
177
740
263
353
75
10
583
316
383
851
694
72
774
110
698
111
906
698
342
158
859
272
488
50
362
337
640
832
269
126
490
918
25
564
575
843
311
366
470
857
169
169
852
472
432
400
125
813
974
584
13
363
867
373
921
669
516
803
890
380
114
266
61
152
756
735
885
911
534
940
520
679
223
302
341
545
416
916
872
199
441
274
987
880
520
260
701
668
895
599
335
460
515
700
666
431
42
369
75
849
284
473
627
871
404
757
777
676
861
149
279
737
469
440
650
304
423
254
497
881
431
96
977
768
388
286
385
976
687
406
824
676
958
830
532
651
874
551
875
323
247
915
419
421
69
942
841
494
685
627
535
158
209
495
177
972
467
190
253
6
251
461
10
840
142
249
329
887
332
525
97
844
849
92
397
327
496
202
953
963
290
472
591
495
410
965
110
233
565
746
44
567
809
249
638
241
931
389
637
108
673
284
989
87
831
303
260
743
958
213
338
219
455
188
574
341
180
36
535
882
66
544
899
991
661
187
401
384
669
162
67
157
463
888
503
67
249
314
969
403
185
522
16
870
655
269
109
356
58
656
440
614
164
223
602
41
121
374
266
852
78
6
878
547
651
220
644
423
712
285
935
80
533
70
691
154
903
803
196
658
887
378
477
209
802
94
543
653
987
119
802
221
816
691
933
813
876
534
387
825
584
353
701
644
849
145
879
794
759
549
430
782
270
188
651
56
130
58
580
698
205
426
678
721
762
555
99
752
140
569
894
401
550
468
490
132
617
359
699
91
450
802
403
705
868
314
72
811
206
323
46
597
315
237
481
422
240
531
737
823
98
82
767
690
154
678
358
818
412
743
879
267
664
925
110
480
161
384
765
461
185
196
526
984
940
655
716
816
449
666
612
39
55
142
189
387
997
663
509
630
146
758
443
376
146
875
972
43
904
926
865
940
805
950
324
835
65
900
428
848
98
778
520
278
693
587
222
363
999
737
796
842
106
394
16
302
432
880
728
706
762
986
870
273
273
380
411
303
914
264
358
996
828
422
411
634
889
246
300
785
250
811
787
331
82
811
922
803
271
550
722
916
468
256
250
99
985
100
645
430
307
958
481
368
40
78
964
661
839
308
900
404
705
629
908
639
226
696
725
682
464
309
310
961
3
368
696
554
800
344
449
19
838
529
94
333
499
791
58
164
128
100
987
951
107
446
877
249
202
209
435
148
711
873
314
195
884
522
421
592
489
876
638
756
148
772
318
289
765
300
978
418
378
999
154
423
821
28
736
566
222
974
55
612
652
939
867
637
427
276
925
31
34
379
578
43
984
192
460
982
57
838
977
495
545
723
547
376
676
228
300
82
709
849
823
950
640
445
817
428
526
838
11
270
108
204
942
434
659
380
956
859
472
569
141
106
609
818
858
35
610
6
697
587
634
561
146
686
585
704
113
132
64
148
941
254
493
281
616
39
124
961
95
437
676
5
947
968
229
292
945
225
114
612
964
163
389
169
389
598
750
140
163
465
981
596
385
395
265
12
161
394
973
331
554
351
378
268
9
736
955
43
90
216
639
98
638
436
785
510
894
755
720
697
10
173
932
899
971
796
457
754
797
640
659
400
923
517
216
940
798
38
515
200
350
738
401
159
462
314
79
272
216
486
3
991
394
513
325
900
126
613
672
646
796
192
836
861
330
565
232
548
678
905
808
90
499
336
496
822
265
556
722
262
436
764
232
46
761
869
60
166
771
168
539
447
101
907
293
601
256
542
591
383
8
699
760
618
441
703
342
810
357
452
174
258
820
735
339
526
420
215
309
101
262
854
284
970
113
112
840
429
898
558
436
641
819
936
52
791
894
580
895
541
161
622
483
544
362
195
847
157
301
772
222
55
906
432
779
476
5
256
357
51
305
98
368
744
437
899
704
955
619
161
199
827
310
962
158
683
198
493
13
845
903
628
953
722
628
92
409
491
98
361
320
531
782
212
513
234
781
646
431
628
151
517
56
117
370
660
39
126
693
684
30
34
657
247
719
109
512
847
479
520
743
592
61
829
56
859
751
993
42
381
65
934
540
374
756
603
918
331
235
891
47
384
341
104
342
54
181
461
410
417
676
486
200
90
464
830
397
145
550
75
428
924
41
609
60
395
372
727
592
657
412
519
279
683
584
892
854
613
653
34
35
569
770
896
85
673
381
179
774
676
608
313
378
780
837
713
85
153
899
362
899
185
881
909
466
253
703
871
630
381
752
259
810
486
102
348
47
86
519
36
666
260
986
964
714
281
346
22
795
18
424
243
631
724
171
2
935
821
958
136
710
546
129
69
236
186
14
833
934
942
575
779
840
117
633
547
511
538
138
548
65
538
904
565
230
296
142
525
595
348
517
781
786
746
734
859
893
419
817
277
4
350
962
507
333
901
727
95
505
390
918
486
761
99
519
336
110
793
163
540
840
512
527
725
319
709
453
964
285
816
419
587
364
148
826
745
674
207
474
769
47
302
960
181
887
308
76
53
945
603
153
6
733
392
854
527
221
331
90
749
17
600
402
855
940
822
933
3
850
90
120
359
471
49
285
317
25
714
838
556
499
928
379
3
382
467
563
97
658
450
47
980
679
941
841
318
589
164
904
718
376
5
320
612
33
862
177
284
115
679
734
946
203
767
163
905
881
518
117
143
743
837
96
493
853
238
250
818
890
411
828
264
569
6
692
432
357
121
99
195
830
801
454
831
74
373
313
727
295
40
801
131
672
168
776
830
146
802
540
913
861
370
229
566
245
306
787
494
470
308
800
13
625
289
719
300
315
356
560
594
313
27
82
220
473
842
494
40
635
515
204
695
131
672
160
844
914
788
553
465
707
501
621
847
410
220
352
713
658
689
111
312
94
701
327
787
795
27
947
414
358
394
280
168
611
473
153
179
447
303
267
192
627
770
534
810
743
943
775
489
100
427
195
583
163
254
171
483
713
346
176
543
283
815
620
291
808
273
850
21
224
932
929
455
644
183
999
66
128
335
512
404
619
438
759
791
740
437
407
210
548
147
865
384
921
73
476
662
273
823
957
138
639
55
824
756
15
358
829
696
875
891
464
296
92
484
860
178
979
666
140
258
984
840
757
154
477
15
845
955
511
9
778
575
814
689
930
390
75
986
186
968
142
708
855
930
455
976
294
161
723
660
950
679
167
317
587
410
808
24
276
851
262
873
176
418
426
193
409
940
20
531
533
244
206
883
237
665
992
235
296
946
629
324
748
175
810
983
933
491
744
386
63
244
998
183
832
378
785
349
900
334
910
852
338
805
699
706
704
783
15
825
334
374
273
25
655
398
199
65
444
797
140
737
95
677
393
58
302
101
550
312
162
715
899
242
43
234
879
572
998
309
665
70
700
429
507
555
168
793
993
558
298
40
419
184
554
922
605
641
461
553
16
885
986
243
301
475
594
737
511
113
615
829
682
466
633
557
218
443
574
893
200
676
998
224
505
796
750
616
171
877
490
321
773
886
214
873
805
302
810
218
306
283
102
630
909
413
643
4
386
190
82
51
459
798
113
318
457
29
112
731
69
324
338
542
20
261
537
365
745
68
725
311
957
562
227
797
344
634
428
800
86
70
367
825
915
119
875
570
930
503
686
317
657
15
929
111
280
370
216
136
657
133
576
655
116
275
246
392
325
321
289
561
909
608
115
42
717
959
206
333
997
849
366
932
15
174
675
360
122
505
999
366
784
279
418
897
115
193
952
446
446
355
100
680
421
856
533
915
42
399
576
418
2
946
226
946
173
683
336
931
970
18
251
349
295
648
33
432
908
563
470
787
126
12
606
565
273
184
217
887
336
243
688
664
241
460
455
562
587
909
787
947
619
815
799
624
917
439
732
404
85
804
352
657
99
439
611
348
848
925
742
640
237
339
298
756
998
835
196
742
709
242
562
25
438
188
740
62
307
229
987
816
958
383
33
786
288
641
966
825
538
905
706
235
505
446
439
579
790
853
644
380
348
653
320
183
476
610
710
268
538
13
838
986
162
253
565
55
852
497
332
80
154
641
863
398
831
579
575
951
440
743
246
544
813
174
621
193
77
608
89
213
984
787
840
480
604
135
410
800
105
35
856
673
975
750
932
922
649
165
434
872
532
266
842
786
800
153
230
462
299
282
561
212
307
717
644
709
596
802
889
977
659
747
105
717
248
985
956
333
389
794
112
257
563
481
926
180
173
891
540
190
247
731
361
204
315
582
104
5
553
370
883
739
614
532
484
168
967
962
99
646
987
466
192
711
733
7
194
278
198
609
101
24
806
219
422
745
743
870
591
324
460
783
403
594
584
78
827
872
112
916
295
899
648
753
83
53
853
534
755
637
592
993
705
724
549
679
510
36
224
142
867
708
552
346
784
151
317
557
745
915
522
221
174
577
946
321
340
473
793
646
629
114
849
163
873
546
584
340
996
710
133
517
163
50
560
159
603
825
29
905
929
325
419
142
842
248
637
362
744
634
999
468
519
866
517
273
877
675
523
197
149
955
305
478
89
194
139
432
676
724
261
93
158
437
201
430
488
738
890
837
240
512
979
790
213
386
698
61
658
309
609
335
818
279
586
950
579
21
233
817
184
655
961
994
636
958
407
401
689
560
432
545
855
979
969
936
205
487
809
636
963
377
830
454
116
798
684
677
355
76
401
452
690
103
265
728
174
270
588
223
622
588
36
219
611
968
24
336
668
60
842
993
777
149
552
722
933
345
617
604
794
204
580
218
877
541
257
14
718
318
986
770
686
607
303
405
527
318
77
591
709
85
69
526
553
793
754
482
212
792
379
208
227
305
27
552
792
803
327
936
93
877
389
256
762
869
733
29
427
209
999
999
107
375
994
299
770
32
227
652
745
133
829
231
957
789
730
406
125
856
16
985
922
803
447
511
284
431
588
903
165
37
596
879
771
521
677
690
177
583
582
336
589
983
54
923
324
795
350
979
461
631
757
601
251
6
247
359
80
882
387
818
206
506
858
340
286
516
816
372
541
430
833
762
128
576
124
552
758
797
905
879
871
964
998
150
131
759
33
290
619
88
594
437
45
33
838
988
165
880
458
347
38
973
679
454
496
983
293
785
752
283
892
995
2
620
83
123
857
564
569
965
274
601
283
36
608
102
604
425
165
874
619
455
932
309
237
591
548
705
52
325
49
74
323
948
395
930
754
647
351
541
601
937
502
853
384
683
286
51
687
188
328
268
439
787
364
716
344
618
523
581
134
556
319
861
27
85
101
147
998
57
480
680
768
691
259
961
716
600
179
772
48
257
134
590
613
708
602
695
438
625
677
844
514
162
571
17
439
470
509
44
878
96
199
852
784
456
642
459
666
163
703
696
416
466
20
820
751
237
150
607
120
494
479
228
8
608
153
766
939
543
47
43
908
157
307
402
392
347
566
174
774
557
215
359
122
511
176
216
951
192
986
268
208
141
488
615
803
829
986
691
357
606
415
608
441
116
727
398
619
93
991
696
50
183
957
134
665
613
772
839
863
56
461
894
820
230
138
846
449
193
78
878
237
53
931
483
142
470
195
23
621
730
786
101
691
829
447
464
300
905
334
500
173
701
223
827
669
101
242
402
325
703
705
767
733
386
744
718
721
205
274
916
823
404
99
417
814
725
820
97
744
714
201
817
128
530
445
869
626
285
969
688
198
346
447
446
901
336
837
248
885
469
399
217
446
335
291
710
859
802
978
393
17
271
382
554
633
138
599
62
55
948
878
850
419
31
354
754
292
466
326
434
616
790
707
368
708
677
318
268
786
725
741
37
14
607
326
854
27
866
988
268
297
362
671
197
371
123
279
305
978
709
247
345
496
522
434
565
590
621
597
994
843
935
840
386
390
477
548
847
140
159
506
377
395
898
707
886
945
658
342
284
566
303
348
845
997
825
2
446
579
31
924
713
794
686
3
356
772
0
225
170
229
4
67
964
499
660
616
723
541
682
651
381
899
368
233
868
541
125
95
304
676
205
638
772
324
889
198
895
684
305
958
571
974
349
932
426
207
353
671
559
112
748
363
847
639
521
455
92
188
565
202
894
62
126
373
110
700
351
80
118
89
154
463
66
522
321
852
570
570
812
850
588
56
836
196
90
99
627
759
223
557
990
66
572
693
444
3
693
82
885
762
422
104
625
230
60
180
128
500
636
198
109
930
848
123
806
817
91
433
418
932
657
41
87
885
111
936
250
252
305
814
909
377
202
806
93
400
191
42
218
687
453
523
569
173
71
452
861
713
363
212
669
656
951
384
574
722
428
837
925
742
841
885
272
41
922
240
391
589
618
325
346
855
113
51
805
832
265
187
990
359
802
262
32
985
432
288
201
227
122
954
970
113
149
552
470
950
720
956
749
625
371
442
874
67
514
68
136
604
833
801
206
254
125
667
750
177
492
938
1
491
946
893
854
388
544
982
711
31
291
736
989
108
455
856
51
389
459
515
245
54
701
354
919
23
614
458
380
391
692
973
244
199
293
996
197
679
794
919
590
659
251
62
242
662
556
558
356
834
339
347
558
971
132
582
455
427
385
802
309
92
266
557
998
515
459
456
71
75
293
789
339
248
66
681
129
142
20
80
563
617
63
670
883
541
699
277
454
312
501
473
935
69
804
199
532
928
430
371
941
908
83
427
482
107
696
857
574
213
397
136
37
518
617
588
995
924
414
144
371
655
648
43
277
648
221
956
744
368
674
704
786
158
262
113
831
960
148
100
370
774
43
242
608
140
4
50
340
465
347
782
978
47
162
185
395
967
669
589
871
876
287
8
692
194
799
751
160
586
872
16
973
193
905
471
396
489
207
291
912
360
82
60
318
46
853
917
82
711
48
435
220
641
914
252
373
893
581
619
566
787
393
310
559
42
772
474
755
801
714
15
543
9
930
397
938
239
259
547
634
725
98
184
665
660
760
296
436
452
511
773
402
255
145
803
896
292
150
919
293
506
736
173
395
404
7
216
213
426
456
414
319
646
304
625
590
876
171
188
643
217
600
46
913
634
161
182
479
119
102
342
472
654
956
449
790
918
460
557
46
748
38
188
836
392
332
469
473
82
43
269
206
947
571
358
286
99
700
773
603
907
741
734
218
0
777
543
927
755
499
311
371
463
593
882
212
635
14
324
810
89
793
494
403
42
625
310
201
995
612
656
822
882
259
406
592
718
758
927
8
637
740
211
919
459
419
608
220
799
818
600
362
307
701
19
678
460
575
434
140
677
518
535
866
175
631
846
427
267
478
38
797
386
433
513
498
104
204
452
364
630
498
337
917
621
327
573
648
922
868
992
947
134
421
678
831
734
197
170
211
818
557
803
700
14
286
884
230
3
1
591
699
357
322
186
887
931
447
939
899
260
855
815
235
80
422
333
819
157
79
92
662
563
610
858
77
645
328
921
220
164
587
941
111
826
849
650
218
253
658
954
82
471
273
118
892
786
524
447
786
569
369
623
516
529
32
535
529
710
993
868
212
19
322
389
958
396
790
691
226
107
592
441
120
105
151
393
569
589
628
15
812
388
732
27
645
156
367
116
3
660
481
593
25
485
799
598
98
956
27
119
181
791
770
654
241
972
917
470
502
336
682
398
607
936
380
430
84
247
827
606
655
515
273
665
549
932
977
430
541
489
379
625
655
497
927
515
98
129
77
3
774
727
14
800
266
196
804
598
592
831
357
664
937
982
975
429
408
368
603
891
720
590
73
114
332
944
460
982
272
254
742
757
850
270
179
978
771
16
860
345
609
591
4
275
298
544
257
7
223
169
575
494
499
626
144
437
778
429
491
303
269
450
210
430
12
781
132
219
444
416
13
338
104
315
219
549
80
525
594
661
964
178
43
495
388
937
819
52
269
468
352
30
872
984
925
4
718
64
365
3
45
604
80
401
327
297
511
434
134
608
160
673
458
152
431
267
682
394
443
741
452
734
781
589
1
605
624
894
885
545
828
582
771
285
9
967
472
686
515
752
576
843
772
361
378
215
163
62
463
767
566
167
983
346
650
571
907
278
962
771
473
85
319
944
992
439
730
799
829
547
800
656
136
605
504
714
63
157
346
358
825
425
658
524
968
945
43
25
988
995
912
457
61
914
725
403
36
855
320
917
1
817
80
456
48
895
248
821
409
49
857
496
61
833
255
432
979
824
637
16
780
142
781
453
311
672
48
336
454
630
227
746
844
835
249
369
360
333
524
118
809
447
835
254
87
997
638
677
640
593
728
847
158
10
871
424
82
710
407
508
146
411
998
476
280
783
512
570
800
531
829
48
369
689
214
985
40
794
688
156
416
220
720
318
787
816
92
879
248
774
864
475
118
810
398
75
856
584
240
585
422
221
910
240
824
236
767
737
889
169
703
386
557
9
698
812
308
843
293
273
472
790
269
441
450
911
21
831
67
307
49
321
166
76
129
603
620
121
718
662
506
561
389
880
491
771
119
56
425
414
444
106
653
55
13
758
692
339
530
264
497
269
544
996
566
787
850
353
68
299
250
541
461
203
481
288
178
971
998
589
175
138
417
553
438
841
935
804
468
715
375
61
354
831
338
462
39
889
567
338
711
565
167
946
989
250
983
655
726
434
949
913
265
211
387
298
95
277
52
422
807
831
740
51
751
162
329
577
217
373
664
606
183
971
601
916
311
536
66
547
546
339
253
373
491
604
758
150
444
232
290
89
214
162
686
513
783
856
97
164
289
508
124
800
43
867
176
718
695
178
736
568
751
390
930
711
319
138
658
364
475
677
436
282
495
959
488
634
510
944
652
826
10
953
471
587
496
811
891
261
151
829
464
709
163
870
719
537
344
818
461
330
143
272
945
506
359
220
21
956
371
648
730
393
683
483
872
236
396
207
296
266
217
858
485
133
683
604
718
623
117
978
336
938
938
851
390
581
807
392
50
523
505
84
171
399
26
211
658
311
807
153
217
381
719
233
204
627
741
391
330
54
484
298
994
4
435
199
123
528
786
171
436
279
368
366
407
998
833
939
955
410
441
223
969
205
173
804
846
834
2
105
118
830
66
970
259
336
757
522
376
41
804
636
154
695
907
322
230
749
832
812
714
18
473
851
728
659
717
902
194
859
56
388
863
190
181
526
501
60
594
374
79
958
941
807
427
668
579
806
90
761
284
103
800
256
899
618
888
272
787
806
994
102
753
936
685
884
510
246
3
812
877
265
20
533
666
186
535
337
718
451
872
212
707
761
197
700
560
433
417
882
909
687
553
763
618
324
918
139
645
281
809
312
187
912
314
939
318
567
680
908
680
262
9
888
15
560
880
982
235
509
992
975
466
31
906
487
72
424
133
217
681
65
46
567
241
721
760
233
516
760
476
175
240
302
539
462
899
930
141
778
18
829
149
932
269
61
804
910
88
763
925
694
639
195
306
273
503
571
450
715
538
284
617
979
67
368
326
793
31
951
560
139
805
617
101
461
732
5
182
35
862
171
763
702
501
412
210
649
770
201
727
987
632
664
987
857
374
480
648
379
5
600
8
925
206
211
362
537
227
377
69
72
978
104
359
832
289
27
694
216
526
98
707
127
647
8
245
538
304
31
961
192
95
481
115
534
855
138
609
122
64
226
755
649
269
537
175
140
228
534
173
243
198
993
644
850
123
893
312
314
980
617
321
727
509
853
746
448
433
472
361
806
393
428
215
389
975
578
646
300
534
532
904
469
445
760
811
714
596
187
929
129
3
477
251
922
580
826
386
429
976
801
723
846
624
712
671
861
976
306
588
610
675
201
701
396
777
277
557
159
272
431
918
858
519
496
308
58
223
996
432
669
458
713
76
795
543
137
584
848
307
378
678
864
928
628
398
363
954
752
626
969
87
134
921
102
424
300
704
409
640
205
770
159
206
366
153
629
499
467
148
816
813
548
359
127
387
982
429
34
768
389
385
637
146
679
355
212
528
679
280
43
883
865
814
962
183
797
306
115
298
103
249
443
809
660
968
180
565
320
642
409
156
866
352
302
860
282
288
50
632
508
44
846
59
843
836
514
39
495
567
409
176
568
488
905
975
445
11
507
847
861
838
829
39
124
582
908
384
912
448
995
897
172
270
813
926
135
598
962
3
94
439
757
28
272
785
196
362
386
383
398
668
38
506
930
541
124
511
932
914
410
521
590
872
439
325
105
618
594
17
754
641
184
325
67
315
594
264
381
306
376
778
344
818
519
186
223
892
989
719
4
694
107
883
406
382
612
518
987
667
330
748
370
376
997
720
606
318
31
620
952
845
737
327
128
640
732
566
468
425
584
493
684
672
746
331
7
458
668
438
163
29
570
593
999
983
771
661
18
937
583
743
534
442
866
802
181
840
847
801
912
97
617
543
131
538
709
328
81
341
950
347
724
672
387
636
306
973
896
322
224
495
724
118
445
964
981
849
22
846
9
820
155
150
703
106
372
211
185
492
150
537
250
620
523
725
175
194
891
733
686
372
151
723
714
186
328
871
979
13
166
689
707
33
83
323
202
908
999
628
618
145
818
81
11
782
761
909
958
582
442
372
292
8
812
378
964
322
715
804
574
822
708
319
344
680
354
697
21
918
362
479
733
402
657
185
381
112
231
392
484
870
825
624
680
116
315
414
142
779
312
924
724
873
167
542
352
527
201
124
705
724
16
487
187
474
37
639
241
36
99
310
375
948
533
9
426
896
449
904
856
940
719
474
839
962
709
919
751
200
727
969
322
498
93
412
908
342
1
813
348
543
919
34
350
881
692
330
746
772
878
984
813
435
230
201
24
20
50
840
320
631
438
684
104
180
859
228
464
156
443
411
512
893
960
988
215
681
556
798
374
735
900
156
763
270
302
455
297
897
659
122
649
641
953
714
503
667
157
196
220
783
380
148
887
431
580
863
634
258
955
296
563
218
267
196
950
330
426
982
481
129
284
361
738
269
906
785
990
687
546
365
919
73
315
667
212
197
716
683
257
546
352
532
550
615
255
614
78
860
90
786
882
373
88
411
967
221
2
463
840
323
657
745
887
64
93
862
22
774
324
428
339
271
412
100
660
115
828
347
744
524
828
226
389
558
498
759
881
522
113
818
741
350
890
276
558
954
701
944
179
863
576
536
682
418
325
394
726
958
81
532
189
836
490
574
87
342
314
269
343
734
99
367
948
285
610
751
653
476
620
167
794
213
93
671
432
377
885
765
300
322
366
375
371
11
448
173
258
466
127
192
224
10
748
924
571
419
623
112
484
236
344
93
123
29
737
272
14
316
423
83
596
590
679
682
796
876
483
360
890
70
750
465
604
42
587
830
938
424
379
313
379
463
795
783
421
402
483
436
994
621
52
853
986
312
808
403
636
679
946
424
61
111
71
25
499
277
156
395
752
426
929
308
569
41
9
359
692
474
584
880
573
448
916
36
369
843
818
702
662
262
10
266
106
195
227
545
971
526
297
201
948
102
582
586
165
559
980
196
945
238
977
577
321
902
745
196
987
417
182
942
205
43
315
25
284
653
819
288
688
745
349
192
569
163
142
200
62
303
34
708
857
744
754
562
633
988
887
670
265
801
486
824
187
416
931
753
69
433
744
522
68
797
536
211
218
221
931
284
51
192
241
500
331
301
497
37
697
773
459
741
331
698
907
514
506
6
871
58
278
443
733
343
484
498
96
390
959
946
644
210
228
831
999
246
409
311
714
351
766
511
562
88
191
714
608
341
0
752
442
688
374
163
483
716
874
274
720
3
62
947
797
790
663
960
425
911
827
962
671
894
586
763
873
580
408
910
719
493
694
104
203
611
231
29
329
735
854
569
744
810
222
442
5
882
563
212
635
39
801
64
600
27
298
123
305
826
852
63
9
878
175
681
366
991
154
835
50
97
291
915
650
184
820
647
429
859
210
613
28
810
415
577
855
77
598
133
625
863
502
392
788
285
288
173
175
672
567
883
337
92
24
372
631
113
747
205
40
702
233
675
522
481
57
387
410
583
936
633
214
438
463
534
562
302
979
554
618
610
476
992
344
701
163
477
211
691
58
673
334
869
119
598
853
212
461
725
328
213
841
776
907
882
950
542
379
973
659
772
503
196
506
962
557
24
586
618
576
435
733
27
158
807
600
469
849
753
404
327
182
662
174
480
567
547
167
477
761
814
852
40
79
741
472
555
856
905
454
936
782
344
140
507
249
15
117
183
748
843
173
65
345
51
388
143
842
491
261
508
598
300
172
424
903
694
344
706
947
306
248
931
578
919
617
658
568
783
295
390
130
439
163
864
533
385
385
230
306
762
936
724
158
836
39
713
710
791
239
316
692
969
517
937
633
565
736
386
259
756
111
638
58
760
986
434
143
916
947
969
967
926
15
643
906
829
523
912
608
550
607
858
4
899
67
66
268
355
962
121
397
419
139
208
695
511
41
822
28
947
307
870
325
768
609
789
253
319
862
172
189
838
87
995
568
285
469
938
970
589
406
684
503
781
768
668
448
412
128
507
709
582
214
43
196
769
320
524
745
425
428
566
694
667
45
429
993
880
862
377
908
857
358
900
53
30
217
305
4
112
46
546
71
106
629
492
203
179
910
67
435
740
753
120
397
991
692
508
441
276
964
778
951
413
815
473
607
820
599
702
980
570
98
611
315
94
546
370
724
299
66
807
983
440
440
552
82
739
147
979
300
270
854
303
986
785
898
14
339
951
12
847
855
72
441
552
890
415
115
787
401
278
622
856
743
703
57
525
47
76
691
895
209
611
939
336
23
818
335
25
641
873
652
345
644
664
292
497
565
738
121
600
49
402
897
867
118
490
842
812
545
138
986
553
432
8
171
76
209
75
396
85
483
918
36
464
266
566
33
941
927
434
203
392
760
522
454
596
92
139
417
689
302
709
805
575
536
98
195
271
251
515
83
179
173
1
62
102
513
464
951
781
847
493
747
623
813
0
991
467
973
57
905
580
155
876
190
404
97
763
347
90
789
633
302
660
555
961
531
486
874
978
360
974
964
162
440
579
701
816
217
2
804
201
6
6
733
745
496
11
238
599
639
811
576
948
127
243
705
402
247
511
230
325
161
91
750
104
9
815
880
526
995
272
24
332
757
426
665
853
682
299
982
436
406
954
783
133
490
666
141
229
685
619
902
232
308
847
425
641
94
98
960
300
372
118
903
729
762
628
365
203
782
90
417
517
681
897
126
461
877
150
189
91
938
839
992
63
308
266
985
716
517
459
731
814
649
193
244
74
425
317
162
343
430
325
441
85
32
907
162
179
416
191
91
687
849
871
50
645
915
940
42
851
251
801
708
945
672
369
580
237
91
645
764
980
689
112
596
491
244
98
829
785
887
96
308
919
706
96
818
453
13
593
92
784
938
104
789
497
426
218
858
815
383
597
261
734
384
889
92
425
270
784
645
785
271
163
349
874
395
222
936
718
669
516
222
497
711
152
932
272
202
159
556
952
231
812
516
256
269
311
396
381
141
386
507
866
22
257
530
102
544
605
230
827
126
823
562
563
944
30
681
252
244
448
782
307
539
751
753
717
599
506
915
163
553
312
697
993
994
324
556
384
354
914
141
447
572
615
310
164
409
582
664
899
976
42
643
836
570
25
269
204
862
321
544
266
563
896
306
233
799
640
957
451
63
479
846
890
749
161
789
6
235
533
218
972
179
168
304
100
516
174
432
753
146
55
578
804
429
312
815
126
189
438
102
946
241
855
412
112
905
523
597
928
303
791
973
121
51
926
446
524
102
275
229
857
399
588
912
808
822
722
625
843
677
364
117
716
345
182
104
673
785
363
332
719
538
636
206
264
46
613
96
969
152
40
553
266
623
278
40
712
688
504
999
412
55
817
425
836
860
362
548
790
162
956
577
650
685
260
503
768
242
726
421
416
873
803
777
460
356
502
181
847
998
737
305
994
396
143
711
446
523
159
279
772
270
481
759
747
960
3
251
649
838
930
698
146
682
397
252
863
763
311
719
354
193
914
591
762
202
359
477
183
623
174
905
146
450
579
238
394
355
180
703
784
778
405
345
828
901
895
813
814
150
703
685
117
725
197
619
664
813
582
630
710
161
734
121
599
432
689
447
38
779
990
755
604
718
50
182
754
317
28
703
735
39
497
494
264
290
851
872
442
796
616
775
837
674
45
744
403
69
283
805
911
944
723
977
486
521
721
524
630
592
541
971
534
640
107
415
681
772
524
648
387
976
808
390
95
867
953
472
750
190
349
653
289
482
257
867
343
761
684
907
311
441
660
37
883
16
176
496
989
938
363
553
293
1
430
643
716
408
943
424
70
994
469
185
685
205
667
720
539
688
982
608
463
347
513
302
288
113
465
101
855
24
755
932
329
382
968
142
239
623
511
396
604
977
293
619
180
629
73
938
226
231
291
692
64
0
909
48
996
776
291
633
518
91
503
477
356
346
686
816
979
51
708
966
274
800
151
957
342
31
282
304
26
440
458
48
903
229
820
226
368
837
441
166
762
37
68
670
907
468
517
282
544
173
887
318
599
75
825
762
714
248
77
234
663
543
337
451
407
60
642
818
346
592
911
724
435
843
806
754
937
886
451
859
2
81
231
852
441
146
333
1
396
585
25
744
129
642
486
977
721
546
714
324
605
804
445
942
310
64
191
299
562
333
503
194
80
812
909
820
221
552
426
888
128
469
526
503
247
896
593
201
313
937
126
410
29
619
726
361
252
392
733
135
394
957
801
853
31
380
63
494
568
805
723
527
605
735
447
703
304
704
849
849
541
667
951
487
946
911
502
499
707
981
38
851
103
34
303
600
914
680
384
47
69
302
836
111
859
306
78
781
581
321
262
90
786
332
123
808
643
423
197
315
389
401
142
285
894
237
640
509
366
346
891
98
9
383
897
342
934
568
215
467
33
920
535
691
89
191
542
373
173
717
245
262
969
167
527
570
585
102
500
528
900
980
280
961
965
451
155
163
858
186
873
533
65
153
607
166
490
732
451
844
739
776
100
247
786
174
688
917
756
61
88
401
527
842
855
974
263
981
18
177
571
715
448
56
576
459
39
111
249
769
229
160
112
921
633
679
425
599
572
525
112
809
391
858
131
813
896
88
163
138
715
232
532
939
490
537
706
941
656
63
772
382
804
880
362
100
3
167
730
529
298
973
373
926
873
224
783
197
912
212
889
866
569
777
153
233
745
308
384
638
465
436
417
822
907
702
707
184
476
567
392
364
196
62
375
82
472
224
254
752
642
824
950
396
890
795
638
489
641
415
936
954
745
226
30
226
685
32
59
124
144
60
119
60
699
372
803
13
176
813
337
965
266
893
352
374
494
491
847
811
695
753
585
791
993
334
931
759
499
495
39
298
996
322
648
832
185
356
664
436
892
225
485
33
425
859
434
401
103
880
580
27
495
898
867
77
651
441
702
750
49
659
314
831
247
646
93
391
893
31
134
837
144
424
379
623
477
862
935
900
482
983
609
438
640
133
145
907
862
383
629
473
498
529
543
960
230
278
8
855
684
413
166
492
330
395
777
541
120
22
520
454
423
137
641
371
185
558
770
668
65
321
342
684
845
673
681
221
325
719
396
381
98
670
940
935
54
261
779
966
84
145
73
580
532
999
290
31
817
845
350
973
544
309
750
78
25
955
805
813
672
563
452
265
928
404
400
948
118
356
542
603
394
148
252
698
143
164
825
929
470
961
627
30
668
395
473
883
633
66
266
867
76
675
229
640
483
539
707
350
113
38
986
509
678
46
562
636
784
148
915
128
148
934
429
54
185
689
401
762
349
809
821
498
862
571
533
628
704
896
346
107
65
608
277
731
834
774
562
228
299
357
220
403
368
19
159
602
916
335
395
697
989
179
531
549
149
71
946
87
787
84
657
124
356
542
737
922
660
245
26
142
639
101
441
794
693
740
422
645
680
614
778
884
941
842
433
190
296
257
873
639
824
690
785
372
901
821
754
133
286
501
150
310
975
20
631
797
944
872
649
880
375
8
384
544
75
288
887
890
902
162
281
854
860
73
312
738
676
346
555
788
621
168
59
51
567
731
224
576
22
550
852
93
608
957
458
258
879
895
352
624
654
602
581
550
677
448
778
192
167
754
280
800
622
137
432
888
423
19
931
171
413
717
783
430
392
712
665
142
838
13
353
420
95
437
649
784
788
903
750
167
74
903
765
201
305
914
530
110
837
441
92
62
274
508
110
948
790
7
879
55
632
627
49
311
558
974
738
677
589
191
898
863
253
599
966
178
921
251
311
593
13
410
402
340
269
624
962
293
989
671
869
788
834
707
292
772
586
702
949
756
170
885
597
402
905
625
31
854
452
21
459
664
61
502
428
798
558
308
40
645
283
415
43
454
624
926
5
148
648
140
3
140
105
262
562
997
402
512
580
886
415
248
102
305
833
597
878
299
475
71
450
968
681
669
634
833
856
464
500
346
725
656
635
848
711
728
857
374
272
727
515
562
358
576
471
19
430
993
645
398
758
228
468
28
158
193
945
711
623
747
506
525
744
763
421
838
134
479
591
879
889
10
814
379
745
774
663
713
10
959
592
427
978
555
569
112
597
597
706
709
980
579
193
333
819
893
430
970
70
846
665
572
829
144
434
667
75
375
760
973
559
430
387
669
929
417
352
267
609
730
497
917
461
735
857
267
330
414
212
248
50
227
620
610
313
789
733
903
78
702
610
148
559
971
404
163
410
818
381
929
337
207
548
426
517
542
482
768
242
415
740
337
269
230
208
899
457
834
361
932
407
225
635
222
519
441
828
0
251
177
232
982
228
951
536
94
1
232
344
31
198
622
435
321
264
858
734
134
359
737
342
709
118
432
815
727
607
271
905
422
668
320
201
760
326
502
119
614
600
816
914
363
977
202
331
736
330
462
748
430
429
539
170
170
602
85
319
952
648
753
280
913
177
498
270
656
739
141
635
433
794
526
94
518
568
991
742
202
790
588
625
288
902
73
80
713
189
500
192
394
810
43
690
296
333
567
158
668
546
834
339
16
546
595
673
216
571
45
500
876
977
335
137
77
87
484
573
733
613
439
341
494
472
406
468
389
795
834
909
734
58
63
254
219
948
795
906
656
772
401
708
922
69
791
437
123
815
302
404
398
467
838
474
139
867
479
709
414
4
209
789
776
642
523
278
433
884
587
580
776
764
560
555
550
982
240
900
943
254
889
883
0
128
177
881
650
960
51
114
551
577
229
174
356
332
368
88
586
321
141
534
46
847
430
914
110
765
674
711
375
979
663
514
650
98
105
211
22
785
755
857
182
28
467
456
424
946
518
635
251
434
890
601
817
850
396
105
49
926
336
388
765
106
380
412
621
526
826
658
286
249
258
357
318
231
541
211
244
168
664
376
284
609
229
754
796
959
977
824
36
532
923
135
370
244
946
217
848
663
32
234
353
880
391
716
578
179
473
329
66
244
619
688
29
974
408
796
410
617
750
740
848
45
457
893
555
877
911
362
671
485
821
493
359
332
768
584
750
635
564
38
868
975
311
970
510
277
717
304
205
577
622
485
671
574
900
93
331
12
406
316
29
553
159
942
506
950
240
180
97
691
917
816
680
522
200
595
74
646
500
219
445
151
191
473
283
630
582
138
343
445
956
429
523
358
753
126
375
456
839
220
615
558
785
900
248
443
246
88
546
715
134
657
115
704
181
677
549
660
945
440
578
572
46
376
493
287
286
471
234
111
878
40
100
432
578
686
249
806
109
548
888
871
11
281
795
555
716
972
324
498
507
60
504
326
259
516
153
80
374
866
772
891
879
688
539
939
804
756
681
2
106
740
669
394
401
539
674
366
436
746
639
453
204
307
50
276
491
529
299
167
630
622
884
924
245
215
85
976
199
285
564
927
393
249
179
265
513
58
951
327
593
691
947
702
631
502
832
744
696
939
724
257
518
315
836
974
76
91
825
587
565
0
651
603
933
272
428
523
241
387
338
249
499
410
61
824
313
14
359
782
285
141
164
840
888
538
82
259
838
808
677
416
6
95
34
295
29
642
671
573
195
403
236
246
91
829
167
124
558
857
284
603
231
175
894
372
430
420
367
360
932
63
810
744
737
852
661
873
298
755
774
731
206
564
368
312
870
327
857
104
666
367
61
994
45
702
962
408
472
558
431
601
275
478
534
791
314
656
917
163
79
744
313
406
749
512
410
92
243
511
472
404
942
87
440
961
7
681
856
290
587
243
675
859
174
393
575
28
368
842
636
831
910
286
477
766
241
164
90
304
32
325
973
486
578
868
430
587
837
351
692
875
997
226
488
106
375
314
38
612
139
853
14
122
637
369
255
377
680
160
263
598
897
727
894
59
578
697
114
988
527
724
935
729
476
526
511
444
402
597
564
67
648
589
592
126
221
161
441
854
132
122
464
206
962
162
726
621
659
393
80
977
520
105
774
626
994
587
934
748
164
521
985
703
779
946
724
735
206
286
23
492
460
140
745
777
745
154
806
845
37
418
212
312
926
836
436
62
862
359
289
610
118
949
616
802
592
201
422
361
492
818
43
764
580
834
472
791
662
906
804
427
513
160
571
870
600
735
999
557
207
972
896
659
363
660
818
868
945
881
935
509
61
50
180
233
920
585
460
921
856
237
335
536
934
691
921
707
92
714
104
443
724
230
179
628
953
162
700
89
184
414
185
933
30
510
84
46
157
52
716
301
111
550
910
473
239
661
654
37
29
702
540
812
448
632
402
194
36
184
988
257
376
86
248
413
497
500
607
100
151
300
587
27
898
239
264
771
553
762
996
433
183
870
431
706
827
831
750
724
294
892
753
200
712
203
406
330
14
337
771
916
89
691
848
575
41
836
641
447
859
315
876
679
147
100
677
816
424
689
790
67
173
35
987
523
220
539
170
938
625
566
840
462
50
557
741
618
396
809
291
592
16
615
330
293
411
749
878
781
800
755
87
177
494
874
251
123
751
88
835
336
559
848
542
574
809
421
813
522
440
813
418
300
744
128
268
172
405
445
46
513
932
126
908
529
983
144
619
502
115
600
415
822
699
330
672
517
606
930
760
564
215
45
16
683
462
614
923
434
710
692
772
893
228
990
698
147
658
49
331
466
732
843
847
915
120
268
353
844
630
721
682
595
660
729
56
123
122
551
641
342
635
790
322
243
162
89
100
719
854
510
712
431
15
670
182
132
389
32
311
78
471
249
279
198
718
753
222
461
59
404
153
39
175
63
447
475
643
154
916
557
509
55
537
139
216
896
872
397
846
442
957
925
282
147
626
772
773
587
875
794
678
705
244
535
975
40
215
313
831
288
403
918
143
768
690
927
961
188
318
630
826
852
24
960
524
621
24
710
886
135
547
493
324
110
518
607
321
143
262
284
853
643
717
193
255
800
22
40
715
179
23
886
369
787
443
583
643
931
717
247
808
676
284
756
612
738
487
451
473
491
880
37
664
51
560
884
23
236
80
56
330
369
447
339
595
848
355
727
654
976
547
921
205
415
77
136
764
809
517
923
94
364
695
684
744
193
935
754
249
284
981
356
935
378
324
927
309
355
414
23
547
13
608
857
546
171
57
339
417
879
67
80
842
257
113
689
917
874
775
899
435
37
112
412
225
292
327
119
680
823
416
362
393
745
472
278
141
280
827
56
53
524
825
958
890
217
269
458
504
539
783
402
906
620
265
890
695
954
471
110
996
41
551
915
328
19
811
716
944
649
65
73
489
282
704
486
108
93
320
232
702
267
152
559
771
958
510
857
125
961
467
947
909
346
256
174
836
758
431
743
529
839
323
250
630
3
848
108
441
142
810
153
122
209
490
416
946
602
286
959
682
620
753
261
719
130
498
482
344
723
158
517
821
550
447
886
362
959
902
55
689
106
216
367
583
212
324
464
395
922
465
586
128
192
659
497
96
587
446
544
239
8
848
763
138
605
787
3
669
44
687
83
428
529
374
43
617
665
736
266
157
88
284
993
270
824
611
404
600
96
738
938
943
619
350
614
829
699
701
598
724
519
299
411
549
101
913
337
674
924
854
285
941
770
679
529
546
920
237
470
719
668
179
935
616
719
437
734
648
663
899
102
74
778
25
632
714
537
196
4
68
947
131
907
811
315
632
787
232
265
997
423
308
763
282
514
133
223
182
55
137
649
216
831
292
291
535
936
24
968
347
641
693
545
311
738
918
765
314
904
472
279
542
79
619
579
571
776
102
849
174
771
251
444
794
329
773
836
25
890
244
768
689
847
659
306
319
675
5
577
574
368
973
565
502
843
807
828
122
685
282
222
807
216
329
646
170
326
26
986
164
399
929
569
422
579
948
484
251
878
934
737
323
446
712
210
751
259
532
476
608
641
317
189
732
724
197
555
362
752
170
733
653
963
268
547
993
922
839
826
169
39
284
299
130
548
178
149
771
498
953
655
373
705
664
339
238
307
38
226
383
977
90
478
120
735
765
744
516
884
173
937
860
257
317
864
402
32
560
486
561
515
412
560
994
330
86
318
765
747
130
124
238
478
626
659
75
192
927
299
656
578
69
631
198
528
428
393
821
47
985
703
150
525
228
178
432
473
331
881
92
783
36
288
752
45
975
869
313
949
529
971
270
586
146
423
64
688
742
584
196
130
529
361
499
242
960
945
279
589
687
437
131
492
429
223
110
194
964
312
916
718
710
734
199
519
798
59
869
745
51
172
999
495
720
481
779
59
119
953
640
480
922
366
675
798
273
28
489
232
698
235
135
921
649
762
515
632
118
432
847
499
67
314
787
406
221
306
893
843
844
553
725
695
483
767
443
435
380
950
50
703
478
348
451
720
365
101
709
545
752
31
952
752
747
311
404
329
952
711
972
627
501
728
455
43
276
76
80
468
122
505
904
930
381
185
474
53
511
506
421
221
995
769
652
715
590
183
69
696
49
117
689
167
402
353
542
473
299
911
482
324
545
625
651
182
925
116
102
646
101
377
892
998
662
746
959
714
476
977
567
871
876
707
767
668
810
288
817
453
507
948
147
693
812
235
950
739
575
187
595
268
141
436
606
195
0
678
202
787
452
78
344
752
686
465
397
585
699
347
846
668
528
730
506
45
334
801
315
44
703
491
466
625
925
489
714
0
727
59
228
219
137
166
406
604
114
683
358
39
782
928
208
186
530
909
864
9
586
305
149
247
289
970
679
680
966
457
893
367
187
112
647
325
262
274
763
319
934
500
366
500
729
769
729
182
327
222
751
377
67
181
372
964
216
807
361
97
348
467
346
224
302
19
22
289
145
523
15
746
446
921
57
556
372
103
129
292
665
5
170
600
791
812
359
953
616
228
761
512
267
43
945
509
951
138
209
313
390
63
610
370
949
184
869
944
232
176
916
990
411
435
19
373
278
554
88
949
883
591
561
448
694
969
689
990
234
582
770
260
291
644
878
282
734
53
658
247
63
494
245
644
942
241
480
485
805
291
654
220
917
27
514
15
509
582
394
288
84
39
380
177
627
513
314
138
846
599
507
493
886
641
806
942
60
35
26
673
668
329
916
25
441
551
399
254
378
616
169
205
245
139
77
16
442
556
793
532
425
911
885
632
875
848
607
678
738
374
545
746
295
804
314
100
431
306
426
760
202
599
403
449
535
849
249
206
839
339
128
598
969
366
974
6
427
627
808
541
495
833
939
134
622
842
380
692
496
680
765
838
263
273
727
74
118
513
727
622
866
201
181
766
672
500
631
991
845
738
800
541
481
218
296
616
403
758
439
930
576
378
833
52
348
859
261
230
321
680
536
73
709
792
1
858
530
315
948
599
568
670
418
678
355
892
586
749
558
641
69
780
486
463
569
303
854
680
658
984
958
489
409
465
773
759
983
229
905
267
590
60
713
79
139
984
980
670
60
476
408
846
8
874
900
719
280
310
862
177
791
39
701
106
390
732
103
231
52
71
766
452
67
558
572
460
421
238
999
940
447
972
927
319
249
715
226
655
719
564
483
293
967
534
137
627
404
29
189
664
364
911
37
636
397
741
92
269
355
605
48
614
424
709
799
881
858
37
978
67
967
182
805
254
284
370
352
300
720
233
78
851
321
187
149
295
568
307
252
790
239
254
325
13
207
133
102
544
605
998
124
69
561
465
219
679
852
608
129
31
946
3
405
951
449
724
463
94
682
922
204
416
402
928
338
831
862
740
861
249
484
783
187
802
359
125
120
625
101
66
917
656
737
102
246
533
886
685
319
209
202
758
998
193
418
727
380
202
754
5
112
747
65
401
935
120
911
840
20
899
530
374
296
180
164
625
599
50
47
551
673
951
376
827
781
127
845
635
820
549
560
581
632
241
309
732
652
691
625
655
117
675
34
238
159
807
108
174
48
494
372
628
192
370
226
853
505
641
28
824
47
740
816
818
659
698
801
266
679
512
892
325
129
479
322
122
184
635
140
614
541
651
130
727
242
283
410
315
340
60
594
866
10
929
828
103
905
428
127
910
336
801
860
705
248
723
241
64
681
629
672
246
146
751
558
919
801
913
428
745
634
44
534
674
323
632
523
809
880
569
361
770
745
769
878
85
225
424
383
979
742
495
452
435
81
703
746
650
573
6
978
207
313
605
284
845
245
934
600
62
527
865
799
668
560
48
71
909
709
274
559
991
943
816
98
84
228
334
66
255
186
325
62
482
957
161
887
535
510
690
807
764
38
308
450
348
35
115
954
885
976
617
503
306
36
214
278
728
276
633
464
548
703
876
285
297
854
579
497
161
943
341
628
159
393
613
49
795
770
825
613
412
675
984
827
600
254
721
525
965
3
651
86
650
617
742
367
420
113
753
202
961
960
305
456
243
213
148
313
704
34
523
207
845
433
361
671
404
540
872
761
398
596
121
808
612
489
652
729
696
862
281
946
210
668
693
818
930
231
271
556
526
168
560
147
502
504
879
186
533
499
192
843
243
870
955
747
279
45
364
57
768
829
75
843
483
733
54
166
868
789
789
928
233
936
909
763
45
764
489
664
948
927
423
671
481
423
297
847
771
469
611
653
670
571
835
633
485
204
658
676
919
308
413
618
368
1
738
704
227
908
376
125
399
594
76
223
823
320
214
686
230
733
848
575
967
205
618
999
625
260
943
342
110
726
956
652
6
62
449
302
398
835
375
926
432
693
228
555
178
522
597
564
545
92
8
13
756
613
914
517
50
267
248
615
733
657
733
707
986
523
193
111
539
999
600
269
763
860
717
365
996
233
948
797
23
634
253
452
920
961
211
775
508
416
289
69
532
545
648
757
221
425
959
397
535
786
654
158
204
336
894
989
268
704
53
620
751
431
505
102
832
321
221
221
634
852
418
916
791
687
728
189
116
626
213
160
109
186
346
71
320
669
745
795
558
997
350
785
809
91
104
298
891
608
43
14
969
252
67
976
427
24
33
672
218
943
691
436
531
246
883
310
816
478
588
525
1
151
637
71
136
256
657
12
751
279
631
197
293
943
402
169
642
821
246
969
862
649
70
52
980
603
292
442
492
948
975
345
812
673
561
645
799
98
327
511
294
156
301
856
620
353
916
926
676
909
915
922
104
22
997
745
441
795
318
970
985
369
79
391
602
53
610
506
159
245
295
267
772
766
638
886
179
878
219
601
785
933
193
871
729
630
403
527
224
740
449
283
671
925
476
331
597
870
190
611
407
838
292
566
465
471
241
208
380
463
639
647
283
267
645
523
279
548
382
644
761
452
263
192
381
605
338
501
644
215
801
870
136
534
49
853
878
227
331
500
566
816
526
177
806
969
944
268
472
30
434
274
291
83
668
638
110
2
921
270
632
885
628
574
160
160
474
956
278
711
195
75
518
703
555
240
13
642
532
868
745
692
241
418
44
796
93
809
983
834
893
560
819
835
514
515
684
571
603
785
874
407
285
400
814
272
16
729
441
114
775
234
763
437
145
976
816
661
42
315
803
766
456
280
601
952
957
155
883
360
402
743
186
884
592
336
462
568
317
569
967
372
742
124
74
342
182
30
736
817
6
678
302
231
145
982
106
311
221
344
880
219
103
884
180
261
804
547
715
36
293
398
911
334
208
93
682
13
615
852
169
73
649
100
123
194
75
819
801
712
514
713
172
89
111
241
387
939
173
849
118
627
358
299
41
37
499
335
375
312
937
777
192
178
862
443
759
604
971
149
365
558
902
333
37
286
378
345
594
1
181
678
555
305
758
504
801
51
304
178
542
330
24
242
703
491
628
109
543
940
697
791
230
821
78
883
817
226
305
962
909
49
222
650
979
162
356
289
992
197
653
560
276
230
533
315
268
16
591
16
420
646
219
349
0
580
223
949
814
754
784
223
227
320
51
883
914
219
769
536
812
278
146
819
766
266
886
71
575
490
629
888
993
609
927
63
396
604
19
385
409
252
655
713
755
673
716
602
878
925
730
179
616
529
605
503
638
428
938
377
740
261
728
376
24
464
445
710
776
641
7
610
358
977
731
258
737
283
784
515
914
108
169
101
274
855
781
304
449
688
686
524
711
115
754
833
990
623
135
929
496
873
833
169
760
720
388
70
364
163
36
658
937
837
961
499
784
663
840
621
330
599
899
554
102
995
484
616
875
213
431
380
107
556
773
191
385
993
637
21
710
665
83
447
807
203
409
696
438
319
248
185
824
436
794
97
386
929
96
23
30
185
856
812
876
196
358
202
287
931
400
694
82
590
146
841
31
741
486
953
428
948
632
533
151
752
213
248
110
465
758
227
874
71
317
765
718
650
116
376
22
806
190
723
97
27
885
945
716
923
394
163
815
97
882
26
784
311
186
100
392
54
358
862
951
38
466
331
304
666
120
318
299
544
754
440
493
286
797
428
635
200
974
993
20
636
512
179
745
729
17
350
340
688
550
105
281
318
352
450
497
639
143
565
755
428
591
556
128
525
399
274
119
292
0
685
364
535
549
840
16
180
181
586
938
946
537
519
43
625
216
843
813
195
755
504
613
530
426
251
255
35
717
901
787
43
389
958
755
971
709
950
829
65
275
37
759
949
847
628
519
780
690
265
454
815
745
42
101
745
712
927
976
12
893
918
799
464
682
645
232
557
436
603
197
825
470
467
798
983
565
504
332
825
990
732
905
207
687
134
286
913
732
868
314
125
327
918
833
667
320
967
980
150
245
808
562
677
439
20
471
770
590
368
624
693
376
427
627
979
340
468
221
522
281
415
276
640
629
301
257
348
492
864
870
174
900
878
788
769
920
142
215
843
577
493
814
641
460
940
372
490
11
185
11
220
900
87
458
897
599
488
727
107
89
58
381
39
531
654
915
801
266
905
641
727
278
784
817
790
669
830
877
75
222
604
216
265
302
247
568
821
739
25
863
883
257
372
582
840
975
672
670
889
590
229
99
725
746
472
479
718
321
796
875
490
815
905
147
268
200
638
31
951
28
209
455
557
845
739
775
104
631
399
969
546
149
299
468
957
564
237
134
241
882
773
23
620
80
895
901
850
248
888
253
912
80
347
689
171
691
717
533
99
902
843
780
158
675
901
406
536
304
65
175
353
503
348
328
946
347
426
546
445
650
336
374
697
635
103
67
805
833
331
586
65
949
850
181
468
59
128
687
845
986
67
59
57
773
510
972
461
538
648
468
74
844
865
136
458
326
438
236
694
249
114
629
994
782
88
116
365
193
908
630
686
547
424
426
401
932
569
640
237
703
666
611
747
793
357
559
33
239
978
951
553
213
69
722
624
348
257
466
549
644
704
903
94
846
158
370
837
283
325
310
635
375
865
112
373
831
845
500
985
732
539
98
483
569
199
519
876
6
175
747
637
847
553
704
316
819
320
254
534
58
447
249
634
81
88
588
535
491
978
824
858
424
254
882
451
489
706
241
246
264
821
139
10
934
896
491
967
955
140
138
989
725
521
243
730
455
995
500
663
780
599
418
874
815
239
716
983
213
793
658
724
210
155
843
453
12
772
665
411
596
6
124
419
872
37
793
790
41
548
156
62
647
128
841
431
213
590
505
907
215
572
59
351
540
622
56
668
61
127
376
50
311
422
446
693
31
340
420
986
401
187
490
256
633
415
511
411
768
771
163
808
886
619
893
302
175
509
970
993
795
939
528
27
991
61
959
61
301
365
574
542
415
793
66
11
427
769
735
800
318
241
336
927
514
307
387
917
795
556
636
959
694
725
387
682
620
391
502
809
623
645
231
565
394
354
7
433
516
914
219
302
381
69
858
926
462
633
465
727
578
895
525
745
745
55
141
571
175
924
959
447
205
80
174
865
865
699
275
299
407
975
680
721
168
580
296
333
546
924
379
814
23
275
863
448
257
959
858
528
979
327
463
534
439
575
89
984
764
456
813
232
733
78
878
906
525
160
953
925
795
107
760
883
812
141
849
369
650
451
895
149
791
784
501
75
150
406
49
623
630
387
602
469
599
133
967
653
682
880
493
43
717
722
745
907
115
74
334
898
12
709
541
325
583
625
979
52
399
332
517
181
377
454
150
290
923
300
962
388
524
222
967
424
548
791
429
843
109
909
377
956
214
69
233
797
165
161
648
957
670
447
296
900
872
34
610
827
168
180
21
218
550
360
841
923
998
532
719
587
391
800
338
424
84
813
302
685
480
383
730
926
150
748
902
108
565
202
970
156
266
508
905
423
810
739
346
418
552
546
765
833
458
140
446
402
774
433
821
114
213
953
482
250
828
384
104
8
952
951
286
103
12
333
459
997
284
716
241
886
383
375
389
188
710
199
582
995
830
913
112
96
417
610
147
810
504
569
551
951
830
620
543
660
157
927
740
533
521
875
791
975
791
586
742
379
87
97
525
247
934
60
961
503
780
445
350
648
546
545
653
312
16
485
340
633
953
333
499
991
602
515
619
711
782
179
138
480
542
89
138
657
655
744
364
677
965
3
542
608
666
99
404
965
748
54
718
615
81
751
368
276
911
329
120
904
256
683
146
894
333
731
502
790
211
923
197
428
426
928
267
960
353
153
106
9
541
320
863
761
578
273
408
421
630
381
5
439
903
977
340
614
485
698
789
158
24
931
871
684
926
58
276
684
622
156
822
420
345
62
271
986
449
147
680
582
378
327
73
826
369
856
650
141
464
345
839
615
434
461
292
632
57
932
867
355
789
942
681
519
306
713
50
463
417
940
947
883
260
718
12
822
721
607
509
338
633
671
107
130
54
914
883
479
651
227
914
19
841
49
736
716
663
350
804
740
610
949
744
186
351
115
969
442
52
815
54
135
323
320
587
477
156
627
419
973
381
316
238
583
311
988
594
309
773
954
151
428
639
538
25
633
498
955
71
867
918
29
145
439
321
975
763
220
519
300
685
652
253
971
960
552
359
432
710
777
348
614
35
967
962
521
929
860
427
57
615
773
830
770
316
98
892
748
922
108
432
806
460
764
725
958
949
597
769
978
74
786
611
495
507
964
625
340
700
818
335
220
577
356
791
144
50
590
722
417
884
189
161
630
134
859
819
344
936
119
935
807
4
406
509
79
523
675
850
242
416
123
497
468
820
407
545
600
435
512
998
300
585
917
695
914
930
325
928
62
31
546
255
778
6
994
420
241
626
870
112
421
492
813
897
564
675
173
336
421
434
372
779
940
966
755
680
771
224
735
429
70
747
864
51
209
383
787
25
995
138
989
98
935
734
746
922
25
67
911
446
500
913
496
259
181
137
920
730
802
848
236
472
355
866
231
816
433
488
32
529
418
929
983
838
792
880
15
687
899
321
512
795
532
54
50
739
239
68
513
800
138
695
616
825
437
454
436
274
596
774
333
828
468
508
289
224
116
508
842
91
654
485
650
896
516
712
329
470
20
413
80
490
891
69
74
687
677
285
613
395
423
46
377
266
573
744
145
784
10
221
98
264
437
452
639
995
209
817
62
938
411
152
553
946
903
380
851
309
641
544
397
396
58
104
531
348
165
196
121
799
613
894
506
34
303
929
719
610
605
71
41
854
264
577
763
426
852
721
638
815
673
38
423
306
885
28
499
226
618
52
251
81
375
950
767
399
659
989
113
50
195
444
149
239
461
36
323
873
907
24
485
428
70
328
527
536
509
880
705
769
314
580
190
542
856
274
634
559
131
186
830
76
336
918
883
785
787
894
705
118
850
694
765
229
93
129
762
876
277
388
354
224
68
407
134
895
79
13
303
767
689
119
958
271
243
769
749
793
524
395
197
411
700
588
843
840
184
947
333
111
504
123
48
671
296
245
765
53
507
620
786
802
411
886
556
548
588
261
418
908
133
480
14
963
819
262
549
887
673
816
573
219
783
367
487
536
46
455
204
72
791
205
202
118
601
11
994
283
852
929
255
58
526
161
345
494
554
525
624
555
923
992
653
665
466
712
922
802
697
412
970
902
722
359
426
709
735
420
894
491
401
330
407
451
288
214
989
913
124
771
551
838
425
442
928
39
970
943
723
211
720
184
729
296
557
215
663
849
174
942
435
419
620
394
241
790
96
314
622
629
326
678
563
542
395
975
376
405
561
434
431
13
580
277
91
565
848
74
306
499
939
519
355
301
878
655
594
623
235
101
689
994
267
163
560
388
387
664
27
744
271
319
79
621
264
260
566
459
465
682
196
305
859
627
777
767
233
931
963
252
714
424
56
9
237
496
743
377
466
158
806
537
949
127
197
792
719
163
418
309
964
166
749
188
402
114
827
361
506
218
397
701
917
122
457
93
779
962
363
894
853
531
545
864
349
641
563
905
596
759
150
958
819
596
632
109
921
456
465
8
827
941
582
110
935
622
516
86
860
854
468
35
675
35
826
780
67
497
150
228
703
573
649
370
524
746
840
656
0
572
340
26
18
135
883
281
667
802
238
906
259
665
711
315
485
600
840
374
516
845
19
281
135
246
284
74
11
553
875
539
531
787
821
637
707
445
432
621
973
531
842
862
122
894
217
827
574
494
390
319
547
533
690
663
97
403
736
863
557
400
964
595
941
71
880
465
935
353
381
433
535
939
524
650
79
526
777
148
415
923
244
973
256
55
360
292
584
695
452
789
17
427
177
297
717
80
746
670
41
573
274
898
186
177
457
824
739
901
680
529
164
113
700
440
490
967
715
784
406
129
920
598
178
372
777
239
931
281
822
208
778
140
152
28
930
715
800
820
504
743
925
460
627
659
945
192
321
386
333
153
507
158
417
716
44
95
173
878
293
503
266
594
197
125
919
870
780
301
661
888
575
620
546
755
856
691
671
682
913
156
100
707
490
100
940
307
840
980
161
418
842
147
403
285
813
809
941
271
251
626
399
816
985
910
291
821
542
461
988
733
891
788
360
259
591
523
213
311
300
21
996
966
4
454
989
126
57
715
7
529
795
339
732
245
681
823
830
345
178
819
613
279
951
816
693
428
359
917
991
720
961
233
922
526
526
449
858
19
275
3
757
82
210
403
277
990
171
660
51
764
667
722
932
90
998
94
176
693
825
133
578
631
178
188
779
346
440
976
676
190
144
654
920
725
498
857
56
796
476
68
435
991
682
793
650
872
995
487
422
280
791
874
18
192
323
762
20
688
920
9
491
741
580
718
48
940
204
558
373
114
258
428
193
457
592
587
900
36
737
592
304
690
441
184
994
397
299
578
692
473
951
549
659
537
103
484
704
326
393
774
427
236
28
666
14
171
769
902
709
284
462
98
240
917
204
459
864
554
936
444
219
434
120
373
957
620
652
804
275
676
917
97
514
202
103
817
778
695
247
52
5
25
936
533
788
531
548
658
277
971
399
289
230
916
533
425
344
233
553
344
517
928
205
609
982
847
316
812
892
993
155
909
4
504
604
898
951
465
863
614
755
819
748
246
188
980
529
691
522
428
535
180
247
229
615
533
644
7
600
946
27
911
968
648
572
45
890
756
958
396
658
802
159
294
597
192
785
659
723
8
717
176
241
912
590
211
105
797
852
691
814
763
102
271
647
421
553
444
612
833
699
466
977
292
638
891
826
559
404
710
929
56
252
670
403
780
929
854
878
398
438
632
703
996
250
289
463
149
574
125
925
537
277
725
7
183
250
56
487
49
303
288
844
125
787
485
126
643
359
929
921
742
729
876
851
162
898
545
191
838
561
745
477
642
688
249
210
643
808
691
961
752
716
583
828
653
652
449
531
741
236
917
508
345
837
723
27
816
179
663
162
273
784
206
912
111
981
728
433
274
363
968
523
654
310
459
855
917
137
519
980
506
217
517
604
255
549
663
802
6
16
152
752
737
266
992
183
387
199
516
482
90
797
908
569
481
279
583
524
821
360
700
247
984
59
178
817
383
392
61
93
901
897
867
272
344
611
839
488
81
499
836
422
945
853
360
769
509
729
128
448
198
225
722
365
956
795
813
710
871
363
393
156
253
262
745
382
206
400
67
396
856
222
15
327
928
423
553
237
875
574
431
752
591
106
812
258
912
303
925
570
934
77
719
750
819
225
804
915
390
149
751
818
514
332
637
198
584
591
486
527
127
17
229
486
428
235
118
432
234
264
164
583
798
635
502
908
405
291
25
270
530
259
308
787
697
192
16
663
731
806
80
822
462
325
14
338
866
626
274
385
308
462
258
473
561
305
265
850
810
594
666
266
166
195
733
929
861
359
479
804
613
703
450
89
457
798
116
861
770
223
471
806
760
690
612
401
688
568
355
267
225
127
968
763
759
527
276
107
955
413
869
593
374
765
486
11
393
28
588
30
551
907
646
97
147
841
445
780
248
241
93
295
742
641
244
386
162
625
657
948
184
581
983
166
335
90
251
343
83
524
880
713
899
411
929
179
163
176
401
713
520
67
85
380
89
849
484
538
387
211
333
319
695
35
345
262
895
12
115
401
649
978
624
919
919
407
602
214
539
321
567
307
280
648
723
459
595
921
564
74
769
984
210
865
63
731
839
301
221
48
259
286
917
725
855
161
937
782
239
842
843
496
764
495
422
446
357
405
952
529
202
279
651
144
526
342
957
702
693
930
429
890
488
765
174
452
725
644
799
721
609
737
859
594
40
306
628
634
493
347
552
46
228
225
587
709
666
592
549
629
250
109
722
176
323
697
818
749
932
803
154
618
101
576
920
67
737
630
588
479
993
883
784
139
188
455
631
681
383
245
382
28
424
399
581
286
137
798
413
109
840
531
912
915
110
526
631
692
83
924
793
996
44
912
705
156
123
401
687
929
110
877
711
607
727
513
801
558
928
820
46
636
829
613
119
639
612
84
500
347
664
31
969
488
350
217
118
890
784
540
306
596
229
697
62
817
115
186
354
471
45
558
96
769
731
79
302
958
286
938
576
646
771
932
726
157
963
383
410
107
393
790
567
71
563
996
474
151
791
532
470
447
349
582
802
502
469
399
164
72
32
572
610
44
923
514
26
109
513
195
73
434
630
437
165
293
292
760
547
369
499
624
463
388
432
702
493
359
88
332
171
272
879
494
413
243
265
410
354
654
821
666
965
204
449
871
902
889
904
117
236
219
989
670
140
908
722
860
718
852
490
643
924
130
660
8
533
404
775
783
967
263
756
563
241
304
606
720
516
776
611
611
573
991
529
126
760
896
345
169
524
231
559
91
880
992
655
304
334
961
840
570
205
216
941
703
293
92
265
738
212
431
743
771
80
930
121
551
422
876
731
545
783
736
569
806
894
116
889
738
688
810
450
394
854
717
771
5
838
568
678
584
814
0
216
472
990
791
729
524
510
607
653
578
930
518
539
270
659
701
607
596
251
995
94
276
47
15
169
581
724
81
987
5
999
286
534
257
940
299
894
310
521
992
125
982
468
928
277
167
625
851
787
482
171
996
953
534
832
794
670
463
676
443
629
247
474
137
535
318
833
874
288
24
438
488
706
474
541
855
597
875
278
815
51
505
694
420
496
71
656
674
967
112
594
329
566
505
378
982
715
651
466
310
271
776
799
741
931
447
311
880
965
128
343
864
441
302
395
434
314
540
283
112
384
581
459
282
132
359
910
421
316
479
120
852
338
987
715
477
478
916
641
264
196
576
308
268
349
883
668
504
35
155
124
312
796
985
309
928
233
395
780
610
511
608
469
358
310
512
723
360
770
558
702
595
548
10
961
109
66
915
970
118
505
567
20
138
162
299
177
728
417
933
581
131
206
351
843
164
884
590
916
127
24
653
905
832
336
476
544
794
571
106
669
778
295
170
277
557
118
45
396
358
830
740
649
3
369
437
655
397
772
905
527
184
541
983
628
728
197
951
601
910
218
786
193
486
178
637
642
813
130
158
488
323
42
725
988
584
130
134
333
66
203
124
223
640
781
331
178
535
217
604
800
489
587
502
923
116
670
838
369
81
651
766
554
459
639
691
495
141
690
465
193
273
756
585
341
527
949
458
152
833
196
794
946
288
101
850
640
182
115
961
992
394
994
172
524
773
582
117
745
343
582
622
799
352
658
213
339
501
971
911
661
245
832
25
796
309
631
923
897
712
487
61
218
598
495
538
821
50
369
58
994
456
817
788
849
883
227
767
561
126
342
636
746
997
657
402
101
422
108
445
691
197
262
24
685
18
119
951
477
680
593
739
286
461
864
317
488
963
905
237
201
60
452
362
35
381
157
49
762
115
322
292
943
863
875
441
918
35
254
26
545
3
202
180
350
361
748
689
307
753
765
543
827
996
106
958
101
890
309
888
449
772
59
699
891
846
928
557
914
870
792
67
995
988
578
91
461
285
246
686
876
469
706
271
187
597
25
79
448
59
476
508
322
26
194
805
912
941
31
393
403
277
403
367
331
832
706
312
352
414
594
711
721
857
391
317
143
181
593
317
520
796
466
475
961
739
373
433
683
333
261
853
998
579
226
481
85
975
628
457
120
227
966
915
226
775
805
48
222
245
576
238
730
518
26
258
736
199
319
118
545
499
551
269
503
109
256
807
272
242
618
403
258
466
962
413
723
986
96
417
343
626
154
736
417
478
492
976
930
430
242
766
774
817
538
72
903
898
650
229
14
573
35
574
608
790
237
202
572
958
334
338
786
561
456
999
644
588
988
955
581
911
423
482
831
982
629
470
873
451
532
498
33
652
108
4
234
79
604
516
450
162
834
632
397
121
118
1
863
960
3
527
141
337
596
759
465
365
127
98
174
137
388
406
509
975
292
716
274
269
546
778
895
767
330
812
178
976
902
2
764
482
900
966
53
266
711
837
942
482
615
267
232
272
394
682
503
759
740
377
317
665
945
153
240
691
647
213
120
933
748
547
255
272
483
23
523
833
193
855
416
707
607
190
902
4
33
548
261
406
293
288
561
411
893
682
153
447
826
265
402
398
767
256
296
4
389
274
348
217
670
94
3
720
691
744
587
105
150
419
558
977
4
46
632
386
84
687
808
528
694
179
496
25
623
523
61
954
674
242
232
661
295
729
310
874
489
152
908
5
208
909
309
162
484
122
1
448
379
592
313
264
665
868
331
412
987
548
381
122
723
136
31
545
267
726
942
548
914
681
236
576
820
293
707
488
669
495
170
515
568
582
24
327
657
283
360
129
785
10
186
742
54
873
984
397
360
252
289
202
132
217
665
718
480
303
843
500
973
887
672
22
799
178
863
479
607
31
245
875
634
118
378
796
288
665
807
682
980
765
523
982
466
154
660
316
484
665
412
398
697
569
828
414
551
364
626
241
41
627
505
201
547
228
193
965
963
356
561
703
406
972
631
427
273
864
786
372
86
90
836
395
384
731
559
637
289
176
512
596
822
211
947
101
517
709
646
47
42
743
459
85
33
428
544
569
525
548
539
878
16
97
740
10
116
784
458
257
656
696
418
74
469
374
256
609
460
991
520
375
514
753
16
419
979
415
360
34
854
778
211
818
687
525
107
614
848
283
475
75
116
11
153
590
202
79
500
695
101
868
938
689
295
153
619
652
84
450
960
991
71
778
551
730
163
490
602
50
84
554
322
48
255
815
10
891
488
228
768
157
26
790
594
691
834
765
169
664
731
581
196
323
121
168
910
324
468
390
657
602
361
581
916
426
246
27
574
274
701
396
851
833
902
762
315
539
85
90
465
255
704
869
93
428
282
639
813
179
816
801
413
247
34
167
424
679
337
849
806
389
483
102
552
84
5
705
258
5
437
212
117
939
933
904
936
841
353
100
804
765
417
6
481
172
85
874
948
786
203
999
41
62
731
641
80
666
532
47
449
46
184
910
658
615
661
240
511
541
125
585
328
794
961
317
251
129
209
250
348
800
332
565
39
696
573
312
641
2
13
536
209
114
227
188
399
48
153
571
888
822
968
721
428
774
795
139
908
863
293
5
206
79
623
366
49
16
104
51
888
220
46
8
372
270
526
126
978
496
408
435
906
533
21
313
370
423
890
49
227
81
374
768
639
870
78
849
32
530
834
324
460
137
494
38
708
591
956
578
42
869
661
100
63
596
832
911
729
410
506
978
94
620
262
409
234
271
657
109
114
975
341
481
940
166
652
740
695
869
833
486
931
153
218
83
433
425
527
927
339
473
157
125
734
189
636
287
891
726
559
342
998
286
647
932
747
79
230
287
849
597
879
251
941
193
987
134
574
233
776
290
303
283
221
161
600
948
117
261
979
284
795
365
619
238
779
248
11
100
154
582
189
88
758
265
135
917
978
207
380
128
119
629
398
307
237
505
844
233
562
499
420
57
58
885
687
854
76
184
391
28
821
552
25
210
84
276
503
558
986
178
408
377
148
793
287
549
425
512
476
579
332
173
162
95
703
497
490
56
312
741
6
139
219
946
728
91
682
928
104
825
441
581
420
328
409
6
556
383
467
461
752
321
913
976
298
864
683
443
541
823
590
187
21
626
89
860
438
385
131
179
449
617
265
695
274
230
376
462
881
872
698
349
428
598
332
735
265
402
945
453
588
486
234
672
328
922
282
596
895
469
548
838
572
169
474
817
440
826
629
944
732
264
244
137
757
673
21
842
787
389
638
474
339
851
431
826
329
79
396
965
746
242
527
755
856
145
559
365
193
371
536
792
595
524
545
866
360
504
169
452
562
242
276
600
53
317
653
21
253
48
929
921
506
684
606
721
806
484
492
387
954
219
943
246
859
155
604
809
908
832
297
605
387
398
843
901
819
667
734
945
99
934
414
541
47
175
910
384
171
126
978
41
494
194
606
159
716
979
388
551
811
757
320
761
333
804
584
286
246
359
176
999
544
433
109
424
41
67
111
363
737
750
222
726
219
795
970
744
521
644
153
870
184
136
678
452
614
106
682
286
274
497
859
274
158
280
876
208
903
362
914
397
92
982
831
695
970
594
230
262
908
887
73
326
556
122
4
863
20
139
717
290
466
307
73
489
693
359
312
789
322
338
294
800
983
430
630
106
561
204
291
994
514
561
208
333
85
941
257
586
439
320
741
878
619
554
16
690
2
399
465
78
651
77
361
187
658
489
705
330
305
457
250
589
678
421
469
880
742
885
868
687
339
121
314
448
642
8
938
28
947
530
495
716
709
159
647
490
625
497
649
809
93
723
397
202
418
338
79
889
72
340
231
404
893
501
823
589
292
694
204
726
116
189
54
10
690
146
213
758
97
883
936
387
148
161
511
110
556
183
398
625
170
190
749
187
401
398
87
956
248
966
616
558
992
686
342
831
704
513
503
679
542
124
471
601
694
379
465
286
93
79
873
79
859
395
501
591
736
898
348
213
896
881
370
845
416
786
613
697
255
138
865
61
363
435
82
824
101
680
236
903
968
427
849
361
125
736
911
221
560
524
806
782
976
142
604
276
348
889
247
164
44
790
36
190
75
924
380
165
103
123
444
252
155
325
985
777
913
280
786
877
910
506
512
867
196
651
383
338
447
643
383
832
474
649
968
494
206
890
637
888
80
338
559
739
535
784
978
566
56
120
350
388
934
40
915
873
697
408
926
794
424
4
31
329
394
159
358
744
513
307
194
200
420
213
603
363
52
190
599
766
185
749
869
132
416
406
974
830
667
946
853
56
5
806
410
789
451
958
968
653
874
898
489
365
503
458
891
637
635
725
162
278
797
801
288
39
903
853
783
624
791
790
591
518
837
507
835
694
783
875
245
222
16
420
245
734
762
667
277
858
841
769
911
107
277
884
880
268
701
106
991
375
499
701
320
602
369
2
952
829
702
54
374
76
820
925
218
67
882
940
338
171
301
545
950
179
245
375
644
917
328
361
748
339
211
22
261
743
344
778
527
580
504
765
619
253
167
430
717
964
930
183
702
948
707
532
558
775
866
873
668
277
537
976
941
760
807
336
227
171
435
928
381
353
815
825
4
737
886
348
858
358
284
91
457
639
114
873
962
753
988
769
750
453
823
360
326
419
544
779
318
932
764
759
298
70
275
776
439
286
60
459
331
139
915
558
847
155
716
256
908
176
845
412
60
616
842
292
469
614
809
213
80
121
441
155
466
148
103
446
886
413
805
961
976
131
287
779
768
231
488
550
491
902
40
285
834
178
288
227
557
217
200
597
681
501
817
164
40
817
992
196
314
111
312
706
663
432
255
667
491
161
581
610
465
27
322
317
524
624
692
647
630
280
425
475
776
367
468
928
722
478
494
80
226
198
672
802
334
10
329
433
739
955
963
899
609
764
803
858
257
140
344
869
78
354
16
925
954
529
907
367
899
103
219
119
772
70
322
271
539
920
520
609
656
117
880
675
928
130
809
19
535
702
219
828
962
404
842
698
647
143
492
135
869
793
95
534
741
700
696
35
853
12
632
825
164
272
137
514
774
291
571
484
493
323
846
896
810
86
165
943
0
751
996
917
420
642
161
781
482
514
860
652
698
714
562
648
948
907
767
289
131
98
16
353
609
171
306
944
451
11
828
401
467
55
437
252
368
694
783
129
470
319
774
569
988
437
618
640
609
221
69
558
545
696
0
852
464
52
120
128
191
21
799
183
10
110
138
684
288
938
769
76
541
623
732
492
798
612
750
232
544
231
440
102
893
552
320
548
111
525
44
778
990
700
12
297
275
324
56
885
81
221
616
630
227
77
474
555
186
771
512
795
858
394
799
937
251
296
999
589
444
338
824
16
31
516
825
171
549
200
617
199
310
513
432
657
37
237
567
19
312
97
571
138
906
653
833
946
527
782
745
495
148
507
409
958
941
329
513
498
879
672
533
784
404
837
920
738
53
165
629
781
100
253
823
67
951
501
662
89
392
887
379
831
542
285
977
206
886
287
851
539
648
88
949
854
733
580
171
957
29
724
317
681
999
266
839
315
614
77
440
136
355
348
781
598
765
118
322
976
714
861
841
951
656
335
101
314
713
796
874
4
856
473
703
275
881
473
659
930
427
984
376
538
510
450
122
876
933
548
681
904
865
885
472
96
779
344
607
117
25
239
28
870
610
83
443
276
346
741
501
723
94
752
562
805
702
314
283
579
602
442
984
990
771
129
948
464
690
677
226
160
118
41
431
159
291
949
455
906
672
274
845
767
929
654
444
274
509
983
679
269
329
145
396
158
420
353
630
476
269
664
545
572
626
102
264
908
591
667
654
410
506
43
503
656
544
145
124
131
975
400
363
239
221
915
68
221
913
183
554
887
666
314
211
823
28
471
984
801
32
244
665
423
70
720
350
72
315
39
373
557
671
961
351
295
263
131
931
638
364
516
616
795
743
113
307
154
540
347
834
472
818
678
436
82
136
44
780
466
969
600
371
538
53
798
233
137
894
385
262
666
421
694
947
916
724
871
856
457
328
775
11
265
340
131
460
213
441
76
451
581
223
705
619
448
124
283
675
147
626
393
251
583
919
13
512
443
271
56
289
475
660
638
406
151
602
478
556
580
800
461
167
666
438
64
510
553
774
345
951
139
244
350
108
189
322
893
693
185
981
720
183
362
248
118
210
359
654
600
137
969
350
942
772
432
422
756
41
644
455
258
115
681
331
678
906
83
540
408
176
897
197
817
989
486
105
825
807
967
185
786
544
167
773
719
681
160
300
573
59
290
857
730
109
350
308
738
938
694
296
61
680
848
143
650
971
242
577
36
317
611
26
190
660
725
102
244
725
324
597
424
938
937
935
840
180
993
44
813
775
421
501
255
474
458
959
209
847
881
565
975
626
507
805
476
346
935
856
500
435
391
610
116
184
231
722
203
509
366
624
634
365
536
92
349
162
217
827
633
242
440
194
676
925
312
785
240
181
176
766
201
875
126
983
302
166
934
564
282
277
698
721
502
571
474
524
74
855
524
152
515
88
754
958
292
950
560
394
927
972
111
174
429
674
771
595
802
796
898
636
517
428
594
947
489
966
241
790
131
97
603
276
76
880
236
385
637
14
18
970
72
533
913
121
749
871
217
551
424
143
614
641
945
17
308
76
66
241
504
210
825
177
966
826
993
541
845
993
47
824
746
389
156
606
777
890
346
294
853
500
501
760
376
539
863
163
178
398
489
468
874
897
451
679
379
212
543
400
307
885
94
693
519
195
553
143
410
586
554
12
831
133
97
774
827
967
320
538
337
430
347
396
527
39
927
492
282
176
658
848
308
828
200
417
91
44
373
506
767
606
775
673
618
183
416
447
224
863
964
767
349
755
921
649
829
207
731
961
983
389
230
653
755
573
236
49
963
558
82
604
728
117
206
275
298
186
682
733
310
180
937
152
566
781
509
19
650
671
744
616
384
909
359
542
261
806
814
795
496
117
429
339
316
761
899
876
324
852
558
275
592
949
628
862
986
969
625
791
884
816
376
112
891
410
94
993
183
289
468
689
793
586
713
672
639
127
751
606
368
51
110
400
592
567
811
897
673
468
696
324
587
434
211
710
515
906
496
943
239
473
406
545
751
958
860
397
76
784
606
667
507
401
794
308
149
647
790
370
744
724
836
301
236
354
143
291
460
219
303
486
366
892
120
918
219
367
201
856
909
232
446
58
353
193
590
181
941
401
794
936
518
14
563
214
37
469
753
187
61
372
155
762
610
788
813
934
295
116
965
580
989
724
631
118
167
845
38
99
9
713
900
651
568
33
818
199
420
976
488
29
62
296
638
145
319
138
143
239
946
497
443
825
257
225
254
105
278
718
15
277
0
153
929
556
565
933
783
884
619
720
728
220
312
550
485
888
703
861
835
639
232
715
616
775
397
494
752
67
15
24
395
582
985
716
375
644
117
96
404
677
353
251
146
668
729
467
954
534
692
214
802
310
524
63
499
540
576
709
792
717
582
426
937
632
736
555
420
475
577
842
196
710
367
474
989
801
934
620
38
92
486
743
632
106
341
897
493
314
463
654
587
695
667
678
512
993
569
721
71
437
202
939
804
276
202
875
994
118
454
291
349
338
289
701
760
307
645
426
864
167
171
381
489
352
541
176
526
293
29
440
91
530
566
327
45
929
749
882
597
845
32
763
101
932
841
351
223
489
839
94
168
860
865
205
123
672
249
670
397
278
451
30
711
196
788
968
971
242
912
84
639
75
670
802
675
989
581
937
181
960
774
949
279
971
738
870
468
774
174
573
16
922
360
780
797
252
913
677
673
27
50
699
792
779
771
213
656
516
123
401
924
835
702
143
217
845
121
734
728
523
857
57
268
900
701
660
768
775
367
622
83
308
799
999
391
447
612
608
213
538
538
546
734
179
784
358
392
527
110
808
321
868
173
315
489
824
22
843
724
417
970
72
863
434
789
433
184
948
404
198
204
888
673
279
786
970
587
306
722
276
212
240
745
343
558
616
641
812
732
451
777
238
480
114
983
535
191
701
489
864
756
523
220
550
856
747
967
920
862
599
410
414
577
224
688
550
475
250
197
995
457
775
570
439
235
144
465
625
906
492
902
712
90
636
632
813
934
430
648
528
731
354
513
712
165
710
375
829
189
350
539
936
749
828
178
801
660
174
501
745
510
700
85
41
242
852
783
52
960
534
400
793
629
681
345
690
190
987
449
467
759
897
305
493
681
831
560
859
985
844
915
339
461
785
431
774
408
764
268
415
580
827
444
331
799
251
799
919
299
905
243
804
10
26
181
111
166
857
466
891
123
877
160
417
920
796
364
386
232
856
975
532
744
91
319
413
634
816
918
876
77
739
430
333
363
908
616
776
1
50
450
386
701
115
710
7
313
965
491
204
782
791
805
433
844
13
906
657
970
316
544
283
389
9
182
817
255
206
850
341
669
807
197
100
31
225
464
907
870
546
776
891
306
627
385
515
314
997
831
892
399
440
780
740
65
25
773
711
308
877
436
619
450
721
545
251
439
627
271
386
869
784
910
472
241
717
986
511
218
116
973
796
463
389
795
891
222
31
657
6
457
715
238
725
385
966
538
488
953
661
828
272
213
511
561
728
651
851
803
239
140
770
877
216
625
736
554
801
486
33
572
195
287
471
598
848
737
939
537
795
299
527
635
393
31
885
630
625
90
194
291
99
831
866
968
942
208
746
346
264
923
719
157
336
272
231
46
993
818
371
27
782
990
242
552
164
432
160
384
441
801
856
159
682
452
459
777
49
952
779
542
853
985
355
336
908
788
14
375
672
411
706
409
354
562
705
401
854
116
498
717
685
900
331
317
870
699
253
489
974
907
900
214
0
926
792
888
623
480
635
515
760
873
957
446
245
754
854
932
552
716
167
459
615
107
697
18
275
281
661
72
857
836
112
767
404
437
375
820
299
688
883
641
723
495
7
51
779
657
125
205
38
783
709
474
945
631
699
827
873
523
320
161
844
999
184
516
290
192
468
617
905
112
615
373
140
623
807
982
938
486
381
881
444
169
932
26
381
712
366
302
158
710
659
980
884
48
600
725
533
917
386
10
799
753
699
310
398
579
943
106
982
807
699
925
922
932
444
831
704
376
460
852
267
246
930
454
699
983
613
397
933
122
180
43
690
750
208
983
385
88
121
323
251
830
813
557
966
764
262
392
722
767
875
169
490
938
750
532
787
686
380
287
160
867
463
816
167
64
239
917
278
547
495
332
922
810
712
501
494
136
337
496
779
166
504
57
642
439
757
363
984
816
426
823
221
407
458
777
99
474
301
881
505
873
517
470
581
151
390
69
950
635
215
19
66
119
928
181
197
808
109
12
641
561
176
289
922
279
240
814
353
516
643
574
416
270
220
495
192
75
329
191
165
510
161
440
476
777
823
433
748
561
404
752
664
65
462
698
340
84
394
376
728
587
870
460
822
474
227
167
367
587
666
251
952
940
666
429
376
143
399
605
84
639
909
707
833
819
108
759
220
532
18
846
854
902
800
651
549
603
218
124
827
818
580
813
907
843
131
717
522
645
353
388
216
266
910
395
92
153
81
151
71
432
147
571
439
874
329
758
103
947
276
878
33
910
678
193
666
495
751
968
884
7
283
219
680
448
330
639
614
725
866
553
271
808
579
383
371
271
7
585
753
468
586
171
447
399
385
724
625
735
664
763
73
121
860
42
251
636
829
62
501
34
324
132
578
654
757
54
521
882
797
644
418
918
141
495
139
190
274
745
652
122
5
73
865
472
907
264
143
991
401
357
599
931
838
602
826
637
658
143
699
417
185
980
237
323
672
953
371
945
848
226
458
166
594
612
732
67
143
502
355
719
783
204
227
229
569
541
380
239
66
764
684
372
310
830
799
279
78
863
21
274
773
423
633
94
688
752
601
294
21
156
606
602
914
106
796
928
865
769
471
260
133
286
552
382
690
944
681
598
275
535
479
118
988
193
589
88
294
738
634
645
872
874
370
257
515
917
261
207
542
840
478
855
619
852
65
307
759
155
471
41
488
843
659
825
512
263
774
904
348
166
870
344
357
909
401
685
900
890
193
284
114
798
338
532
64
525
965
344
185
899
93
723
763
773
828
906
790
767
988
592
767
438
436
451
483
885
918
192
899
391
829
794
249
91
758
44
664
369
738
596
501
259
989
560
744
213
239
614
109
70
927
526
300
970
466
338
813
249
148
689
215
421
971
266
958
839
109
750
522
506
915
138
615
209
471
950
886
124
896
309
294
459
195
209
271
357
476
249
818
306
316
807
429
89
760
892
414
744
53
981
845
53
435
696
192
783
626
341
448
295
971
854
219
749
909
445
833
65
748
985
904
61
213
468
3
284
267
383
831
417
202
681
308
276
323
378
994
494
529
133
633
793
772
814
282
379
53
410
119
931
100
160
879
14
226
883
643
126
22
522
673
790
15
861
392
200
465
22
117
207
356
357
330
246
909
764
345
611
831
552
983
950
18
945
705
557
106
568
407
738
260
415
705
870
808
619
427
102
168
490
743
404
77
495
372
249
949
845
276
330
587
629
340
679
81
658
198
848
836
418
54
267
529
65
109
98
335
652
167
403
61
860
402
980
2
80
747
289
107
68
114
878
501
13
425
428
805
633
493
383
255
275
837
750
453
176
218
323
713
259
649
273
935
874
917
36
196
204
573
617
42
34
712
271
415
787
83
365
977
35
942
76
646
474
487
31
861
635
577
402
379
208
445
421
219
343
864
535
569
876
588
245
268
171
156
323
208
464
450
660
139
170
142
354
206
12
670
672
815
158
954
141
404
473
584
172
635
848
31
98
417
470
201
807
520
119
36
167
606
279
473
923
975
168
557
452
265
555
784
878
181
634
317
116
348
305
808
201
416
592
515
401
715
480
774
199
863
852
179
606
1
572
944
981
399
78
739
427
493
696
72
128
324
347
690
758
391
98
951
193
265
521
131
967
543
359
535
742
528
101
777
703
338
991
300
705
998
107
413
394
285
16
142
310
798
871
928
921
154
176
222
271
15
252
153
957
998
561
650
17
945
120
818
53
47
894
792
338
584
278
258
854
488
52
668
601
436
565
434
864
190
644
665
212
215
746
524
126
650
28
745
854
280
954
797
601
289
754
547
751
298
963
958
341
775
410
822
113
929
425
147
597
659
710
421
486
846
444
964
719
40
781
873
502
156
139
666
554
118
406
710
717
405
764
665
500
547
381
941
660
927
225
408
674
958
358
7
771
332
424
628
433
687
273
979
339
757
753
10
659
462
192
479
700
538
418
170
726
216
391
322
242
491
197
121
609
207
411
547
513
891
932
640
20
301
23
913
309
350
245
404
410
64
522
428
384
571
855
879
268
332
926
135
562
776
380
577
411
663
111
5
990
599
663
185
413
563
689
660
312
106
740
227
808
157
993
195
688
301
767
80
974
435
615
917
61
374
154
15
663
101
83
444
885
459
841
553
724
581
689
887
48
38
580
604
821
558
458
928
591
480
598
454
837
749
843
467
14
709
26
323
234
790
406
958
124
920
346
59
560
402
46
149
573
313
369
254
541
373
302
978
230
880
742
160
58
580
590
710
406
219
283
118
334
138
868
384
951
906
428
6
505
403
614
121
946
444
413
55
515
701
477
775
767
156
578
546
46
325
496
731
11
955
389
400
606
989
290
78
32
290
663
477
255
137
761
208
576
335
648
583
842
864
38
991
252
405
469
13
753
525
829
104
272
501
955
971
647
921
120
770
403
859
283
821
631
316
420
633
881
919
324
248
523
899
542
26
740
156
729
435
445
920
773
726
894
90
198
157
902
260
178
120
152
985
566
354
851
231
338
255
365
554
577
813
521
84
942
163
305
699
603
626
248
292
993
133
119
293
583
753
51
694
898
554
74
696
256
494
871
216
86
612
549
994
673
625
488
973
530
760
961
629
234
91
317
640
795
905
786
288
431
460
96
546
826
659
487
373
638
83
104
554
139
213
408
286
823
190
749
690
287
184
541
282
767
211
739
50
448
334
93
453
352
307
849
917
992
553
92
373
85
236
130
533
239
294
938
434
593
666
121
260
67
437
341
323
24
243
581
10
271
545
336
976
568
924
234
391
307
804
634
345
8
243
157
62
842
565
657
816
855
958
665
95
346
50
919
308
460
56
32
41
887
381
386
626
411
368
953
229
679
170
580
296
243
895
617
391
147
233
268
60
288
328
904
444
462
485
4
792
960
853
871
637
821
186
520
216
188
833
462
123
270
643
766
143
921
663
385
674
110
774
817
411
757
948
83
80
946
334
248
642
865
252
275
266
424
629
836
413
176
672
905
766
945
582
508
125
944
750
357
877
983
630
202
823
536
598
441
714
703
633
96
451
920
90
913
2
123
932
819
602
251
415
712
977
380
557
946
186
957
255
477
96
261
642
375
342
579
657
275
167
86
369
550
275
669
144
647
356
901
367
880
184
741
128
497
698
45
967
953
817
147
780
590
172
361
564
279
544
907
765
914
463
541
919
589
995
228
316
399
38
550
182
988
222
306
394
397
570
423
905
821
887
213
274
760
343
192
987
920
409
948
540
259
242
714
682
380
810
875
366
34
669
70
794
237
640
51
866
77
578
402
244
198
675
465
986
62
432
450
477
841
306
636
589
346
149
382
806
229
750
629
877
204
964
273
68
39
904
125
791
575
747
64
875
856
904
272
476
73
451
372
54
738
598
988
437
924
451
902
175
700
925
51
222
415
601
945
347
849
108
936
856
12
739
858
783
578
959
192
39
575
0
8
987
363
505
258
851
214
86
800
627
589
763
662
852
934
537
269
298
445
436
201
870
241
796
653
94
477
164
249
803
540
679
485
170
294
333
578
781
573
102
338
188
292
598
682
7
81
7
741
771
547
889
814
33
989
317
182
5
788
87
784
8
449
927
655
200
638
505
610
333
626
407
435
603
456
296
704
356
146
297
820
428
521
963
733
628
438
438
580
366
417
146
82
434
47
691
714
410
883
83
911
294
265
435
330
554
907
817
848
196
125
626
320
666
249
385
863
263
682
135
698
707
443
966
949
773
359
297
542
698
259
944
343
463
671
380
364
91
965
856
343
160
623
451
36
101
498
614
867
316
368
337
187
679
112
799
692
904
826
818
795
698
124
657
697
519
36
90
358
36
932
655
204
364
217
248
284
319
7
266
97
735
83
73
608
980
510
619
913
699
536
191
115
170
539
942
93
698
474
637
376
493
933
961
358
311
796
126
404
645
943
609
47
492
549
360
593
224
672
353
991
862
913
440
223
612
784
320
140
585
130
41
827
299
871
808
694
249
280
308
134
465
51
304
518
706
181
461
716
359
471
318
339
723
634
57
696
141
275
725
526
595
182
67
575
800
306
157
855
550
274
736
826
62
862
963
521
523
463
146
988
23
557
925
307
678
230
418
634
930
731
61
18
974
350
880
136
997
961
953
266
678
603
919
822
576
786
823
547
922
324
351
988
583
580
508
844
670
950
614
720
256
243
907
45
650
240
948
453
98
850
702
210
232
829
590
99
444
508
321
143
159
788
68
330
808
595
283
306
389
445
51
992
449
735
83
699
843
365
881
143
838
408
550
708
411
723
652
918
851
416
668
494
13
261
65
877
531
87
386
864
460
556
310
495
401
863
24
63
152
111
637
218
135
490
374
127
635
775
437
4
100
797
41
250
158
814
661
996
468
437
829
936
626
215
215
148
198
611
602
326
662
605
187
762
485
954
492
889
948
957
393
642
252
13
856
272
854
791
538
358
138
851
107
207
453
690
32
601
979
4
840
309
689
967
279
579
464
190
474
44
122
475
692
478
598
345
578
261
526
154
630
794
581
586
158
23
112
979
839
696
225
914
779
985
654
400
325
882
373
341
276
640
463
561
404
497
431
948
64
176
957
808
436
785
52
208
240
719
739
568
725
886
21
576
288
37
198
542
774
81
314
342
594
406
483
640
779
844
614
350
770
296
346
960
800
440
679
361
213
647
935
948
197
724
961
129
366
853
522
183
484
991
608
110
459
112
42
732
46
141
610
560
141
39
882
132
293
920
367
541
78
294
67
837
470
810
431
959
56
661
925
809
828
778
540
119
673
15
899
956
609
666
230
113
141
890
836
372
57
317
501
630
994
485
951
489
409
111
800
406
331
118
157
325
977
34
647
961
873
419
277
879
619
690
733
744
337
576
204
194
31
861
180
589
163
514
576
155
439
267
106
543
253
547
443
639
309
339
358
83
859
301
522
29
575
426
181
172
602
595
982
333
596
89
913
319
926
899
945
998
94
522
192
767
476
158
581
520
175
244
312
413
521
294
372
905
616
873
25
202
731
119
338
936
773
280
27
898
912
754
243
20
324
484
403
17
215
187
6
553
466
400
26
448
411
212
430
738
732
870
728
849
273
235
589
500
741
702
888
8
74
245
12
592
931
757
426
58
727
20
751
322
703
500
452
73
604
169
472
107
8
113
940
233
313
444
922
187
204
894
755
234
236
378
858
932
62
853
500
47
168
944
246
865
37
469
795
629
888
444
113
747
988
84
396
485
587
90
654
45
571
590
675
275
162
571
949
26
456
428
251
29
653
700
815
967
877
235
168
666
707
349
897
331
636
206
868
274
823
488
310
8
2
775
952
566
471
562
34
671
666
89
703
928
487
239
226
325
791
936
851
576
89
459
421
52
484
551
611
254
213
254
71
865
120
36
346
168
955
672
347
312
861
232
710
40
787
252
128
423
442
187
715
310
58
687
553
314
558
953
356
443
261
578
935
587
416
776
197
787
957
650
0
507
702
485
379
753
369
874
12
198
627
745
267
540
463
719
686
715
788
661
885
787
627
763
543
997
471
777
51
108
199
437
505
319
383
764
201
193
987
899
977
718
838
124
580
956
346
603
255
717
862
701
510
477
731
952
756
100
524
57
10
296
591
939
416
563
128
689
572
482
593
977
47
560
313
731
903
256
86
317
390
445
383
350
785
390
142
149
373
646
571
630
674
366
755
780
946
876
51
40
308
221
953
875
537
178
364
798
451
481
563
521
783
76
104
201
348
770
109
221
989
616
444
168
805
614
121
144
649
824
294
426
155
841
476
873
913
212
224
456
309
741
183
295
161
30
958
416
405
700
405
705
936
306
71
672
251
514
701
755
818
405
603
122
870
189
146
315
599
884
380
445
730
439
405
759
208
66
584
909
504
13
88
833
46
424
239
84
206
502
577
860
286
450
846
545
401
172
344
702
344
227
31
926
474
593
403
52
392
866
139
44
659
19
88
37
879
568
126
3
331
439
347
358
375
597
30
608
201
121
964
309
84
510
219
223
931
850
899
922
348
73
124
698
440
253
739
375
374
846
54
339
822
367
615
931
258
168
921
264
253
802
337
94
715
658
23
618
581
800
471
838
62
304
587
480
686
735
100
172
105
425
600
396
427
344
35
230
624
833
780
975
830
103
971
477
883
90
660
547
146
761
881
719
677
772
71
688
949
517
987
975
487
765
398
670
204
877
328
596
664
566
595
780
896
780
420
735
119
860
371
836
307
301
166
536
584
445
324
55
828
722
202
616
174
98
199
400
414
254
738
351
880
231
976
810
779
436
177
294
608
919
196
920
483
202
253
437
281
663
169
316
178
251
200
151
894
25
265
589
415
340
623
88
985
110
887
529
298
143
318
63
26
317
861
385
198
910
740
767
471
669
128
762
692
791
313
326
106
337
379
865
844
198
289
290
962
997
170
337
37
147
166
232
466
338
106
940
334
255
367
917
676
66
991
932
104
393
846
923
291
9
874
355
542
147
451
215
420
792
878
812
103
835
212
629
514
913
462
318
531
892
314
427
326
546
957
132
140
987
376
196
314
469
130
575
994
785
540
697
483
480
345
638
507
857
223
432
804
466
812
601
657
62
912
920
143
410
351
627
536
162
529
136
508
128
740
90
800
102
608
626
474
884
955
489
640
997
747
977
724
878
56
698
463
833
611
697
270
697
135
992
963
664
954
604
213
930
475
146
980
880
74
738
628
743
556
431
110
839
856
774
80
548
162
516
882
834
676
269
105
285
739
444
598
131
910
925
723
41
445
137
464
711
223
3
810
644
477
437
90
432
112
952
511
755
228
655
236
123
385
959
151
181
15
386
411
589
431
686
851
281
45
636
242
491
829
673
507
480
725
778
875
509
810
691
679
593
242
93
981
75
721
361
580
532
609
940
642
621
179
55
501
681
625
899
334
53
855
935
488
82
625
732
31
91
828
801
620
545
735
184
649
516
254
653
826
534
880
415
234
650
584
750
484
70
952
778
711
74
447
202
879
387
414
527
15
832
899
106
936
607
852
20
931
166
646
132
999
731
714
928
154
830
535
574
850
210
175
529
317
330
503
561
923
156
321
796
956
305
252
431
530
259
714
666
916
737
281
952
539
725
419
561
141
109
362
140
13
995
89
826
594
894
248
714
334
577
824
917
675
94
731
10
721
218
376
486
724
278
18
560
94
846
777
498
929
61
399
128
453
241
793
11
649
630
83
239
820
290
252
133
5
935
23
937
266
255
213
906
457
460
900
256
267
664
881
122
418
447
760
191
89
944
52
997
116
789
836
582
305
584
468
901
657
791
277
625
863
229
96
734
125
938
907
321
858
776
337
526
351
386
657
934
6
455
181
552
659
872
834
210
152
778
641
644
967
335
704
269
285
792
99
370
666
651
763
534
235
361
969
902
207
615
321
614
921
363
249
621
863
353
402
340
287
857
353
20
884
610
281
307
785
965
517
602
73
962
717
298
120
496
350
432
208
471
746
843
258
788
952
327
984
532
326
739
357
833
326
985
991
602
674
63
23
174
65
436
495
494
809
672
979
911
217
724
244
332
423
305
23
934
660
875
681
891
884
891
542
947
430
761
870
821
814
645
261
299
985
909
554
718
223
817
626
920
371
65
159
58
803
938
15
746
648
982
158
2
193
666
223
279
383
769
722
645
148
911
723
861
702
791
433
302
909
8
184
579
33
846
302
313
884
116
406
329
365
458
303
597
678
961
295
273
101
345
324
953
960
757
669
526
930
331
42
195
260
712
77
112
982
440
82
754
976
634
156
534
113
936
773
453
87
60
737
7
762
794
376
269
128
34
124
809
417
44
156
127
245
195
388
185
810
665
919
531
747
966
455
702
200
728
363
693
20
113
178
867
152
152
955
885
997
525
341
572
998
652
453
357
492
479
761
249
247
33
635
259
458
132
295
78
476
184
496
878
833
398
888
810
639
724
597
851
276
422
50
491
883
687
637
243
936
134
807
65
256
918
772
734
609
226
249
92
179
726
910
549
515
549
570
537
100
495
885
430
915
374
444
892
993
801
462
305
508
313
633
743
426
950
588
174
124
104
882
178
976
76
823
606
888
225
950
427
282
252
842
656
793
958
931
376
456
349
674
366
11
708
695
722
507
797
331
633
999
287
969
630
846
4
815
515
543
289
194
196
685
367
540
267
627
530
590
706
479
705
797
821
122
236
854
11
47
191
764
36
91
916
650
282
23
55
445
676
808
328
624
322
201
409
663
905
636
515
779
676
77
785
691
519
362
884
560
995
859
648
431
193
315
428
337
941
176
691
528
5
554
105
810
454
85
736
772
463
83
469
58
950
965
990
863
428
264
697
383
805
742
628
596
392
39
512
101
396
498
417
593
682
939
793
908
321
989
754
213
397
25
200
437
853
197
106
107
322
644
753
788
865
554
190
988
138
563
63
611
178
583
757
39
725
125
993
363
671
775
114
4
382
35
467
338
484
563
860
411
57
946
832
822
696
815
232
556
603
241
875
775
425
325
776
58
583
746
331
851
947
254
35
438
217
546
374
346
892
56
115
337
445
644
726
775
643
794
661
862
15
607
788
581
757
73
161
751
35
255
343
765
246
705
925
28
582
865
293
7
882
685
610
675
575
470
947
214
327
344
78
706
694
585
124
424
944
753
783
366
907
324
400
643
730
373
881
70
850
599
340
759
702
741
449
441
895
101
572
823
239
779
295
985
573
751
782
620
95
484
348
815
363
267
797
817
127
121
224
515
730
713
246
970
268
508
484
984
661
98
858
265
260
636
546
411
547
350
281
545
575
322
310
280
746
64
375
649
6
258
693
993
630
8
361
882
828
438
729
65
325
930
806
824
678
823
642
425
928
949
970
233
101
936
998
746
82
659
356
532
755
611
415
504
402
644
901
726
549
10
40
747
38
657
761
611
177
488
73
513
780
668
220
547
495
308
624
170
426
499
919
40
376
644
366
565
428
788
674
959
649
258
681
644
790
131
22
881
704
638
582
467
316
271
187
244
167
444
12
33
376
73
183
15
193
685
702
962
579
663
621
707
491
789
95
147
217
846
305
539
537
67
2
38
49
182
472
971
740
590
998
338
108
183
827
782
508
285
472
813
566
144
11
775
319
418
776
265
761
374
249
3
761
681
194
788
265
333
925
182
115
390
193
474
264
107
427
386
316
947
805
615
710
700
16
396
563
65
522
59
21
76
322
554
876
106
957
186
293
638
605
96
469
52
707
595
2
936
135
112
703
182
965
761
645
71
120
784
128
219
812
845
932
840
695
258
824
389
324
419
247
778
451
359
924
168
0
700
260
781
245
754
650
870
323
502
927
136
995
70
934
478
490
57
861
372
334
283
295
796
147
820
716
316
993
674
112
772
333
287
771
105
914
846
958
167
343
874
929
922
890
860
842
572
430
5
71
829
566
289
916
654
982
120
474
634
201
963
575
369
582
705
20
962
485
504
930
152
34
705
605
49
161
344
13
644
741
755
764
105
598
117
265
822
739
926
930
871
145
639
135
767
165
724
231
421
453
117
877
562
208
692
438
200
240
224
464
152
432
227
420
597
285
898
414
544
96
764
444
893
743
984
566
872
195
876
801
845
865
283
606
0
812
624
609
809
50
631
850
904
254
723
243
432
826
153
375
706
753
442
997
526
24
981
398
396
265
535
795
338
810
914
632
144
175
212
617
131
771
911
557
540
820
970
275
643
84
938
266
886
810
366
838
196
112
890
858
784
811
752
357
853
815
705
150
115
866
136
330
871
126
105
164
117
296
796
903
427
631
881
542
385
950
44
942
424
154
317
405
815
508
428
480
564
518
595
488
995
636
642
296
923
878
205
484
232
602
538
12
386
446
580
919
380
401
161
455
638
325
448
727
51
623
74
454
33
226
879
177
898
913
585
452
163
61
350
155
673
706
731
489
993
326
959
812
481
52
689
809
881
433
415
622
635
44
970
352
878
793
84
28
70
673
408
914
790
335
225
329
763
740
148
793
315
914
375
166
398
60
909
645
554
552
108
498
160
371
265
748
565
567
968
340
451
448
258
181
911
465
867
916
942
70
669
363
946
795
518
612
201
627
405
158
746
136
771
446
299
14
325
50
94
456
111
784
668
439
129
72
621
356
718
339
876
826
574
263
645
232
246
964
990
912
513
299
62
76
764
813
920
778
851
973
46
111
337
904
187
628
613
429
360
759
86
73
806
758
144
583
542
951
602
392
310
527
197
780
878
966
852
504
76
194
478
493
46
738
204
743
832
788
224
204
563
327
446
805
318
275
58
60
996
851
197
502
313
68
617
866
806
571
958
172
410
76
943
689
855
744
671
512
925
228
688
444
34
937
829
24
70
649
554
3
524
40
467
584
473
832
250
216
326
571
142
860
473
511
660
857
610
112
707
412
129
31
357
45
537
179
148
826
62
993
680
569
519
269
634
922
279
673
692
569
368
358
5
642
174
767
98
387
32
742
892
772
259
16
848
340
230
722
649
312
794
147
809
476
869
246
23
274
606
454
12
229
38
81
350
642
776
80
14
228
849
669
524
784
180
730
463
471
479
182
653
147
780
475
76
807
432
827
483
757
567
101
857
448
43
208
137
503
317
157
865
197
733
346
383
317
37
23
77
335
667
939
902
809
132
369
818
199
972
560
541
58
555
543
202
965
399
178
16
504
917
808
296
98
276
314
7
935
979
310
935
577
876
52
480
853
668
385
773
741
561
990
861
71
953
686
734
597
730
981
230
653
504
175
987
376
919
888
10
461
491
832
893
119
177
791
627
957
62
116
583
220
72
402
361
433
531
562
281
948
785
635
665
675
91
69
542
541
140
995
907
630
19
428
947
81
930
627
163
371
100
638
232
61
55
578
939
255
497
664
4
0
743
503
120
945
703
194
377
772
29
307
675
959
985
490
386
330
972
419
165
601
105
17
416
816
986
790
22
742
286
926
90
241
562
294
655
368
430
635
227
413
395
535
102
566
163
356
348
938
958
729
461
30
437
182
309
69
243
834
497
804
534
19
294
564
927
106
932
405
25
305
930
991
483
342
355
688
125
631
744
20
290
885
751
268
14
514
831
892
382
23
308
505
311
73
688
466
530
972
731
251
66
6
826
811
422
827
329
784
798
242
311
823
268
485
612
112
86
679
571
951
409
449
839
245
130
753
456
838
360
379
842
50
837
793
686
453
546
215
250
387
30
309
969
288
164
729
705
788
822
901
816
642
109
6
208
568
244
828
760
572
204
825
656
328
579
377
894
34
837
20
314
813
184
287
0
570
47
85
477
103
31
179
663
242
933
774
340
92
860
326
821
658
160
858
82
985
355
746
453
385
216
5
308
424
733
767
236
330
640
742
479
354
770
220
220
574
513
598
160
100
426
573
240
226
160
233
519
804
332
518
148
697
311
805
214
493
12
80
604
917
347
681
440
289
543
324
796
681
194
901
229
703
164
386
667
229
513
555
399
702
849
505
661
492
20
576
129
251
124
611
625
358
163
366
136
627
976
629
862
609
678
80
536
426
863
648
683
257
312
512
812
806
672
46
307
222
524
860
769
990
334
738
328
155
769
757
358
760
622
952
241
674
238
910
333
192
550
334
204
537
42
219
613
647
878
66
957
793
761
689
699
579
938
175
966
774
179
742
865
834
891
175
791
116
543
718
98
950
313
824
824
683
244
703
515
478
277
142
148
731
206
515
798
905
957
852
699
648
324
531
217
154
489
511
737
788
576
678
1
55
981
161
233
984
994
284
441
783
782
247
478
248
781
769
13
906
634
649
986
106
661
849
147
167
975
846
382
784
534
924
528
190
20
706
444
694
100
851
22
990
250
71
867
105
537
918
617
557
35
152
856
793
741
871
976
735
386
298
960
251
872
835
897
250
718
251
677
528
940
972
111
74
710
518
916
701
220
180
339
179
94
646
533
72
347
878
144
382
781
228
693
844
613
352
861
199
5
930
401
878
30
266
688
779
169
106
595
804
316
237
305
680
955
695
55
136
251
229
717
595
785
797
433
877
453
923
365
311
946
520
151
757
149
465
354
29
343
673
741
896
508
423
976
391
537
456
416
836
92
162
57
448
41
506
141
153
508
995
902
41
13
126
394
652
81
887
829
243
296
482
218
20
462
704
180
792
828
336
32
720
378
255
406
619
3
479
542
641
846
950
865
540
684
642
433
697
696
295
364
3
574
388
186
543
962
250
872
443
370
331
780
628
497
994
709
379
834
615
343
376
870
803
810
131
99
856
30
326
656
594
716
326
939
189
233
485
957
561
738
140
295
939
697
625
602
330
541
754
589
436
877
635
258
311
631
896
585
788
952
633
250
464
50
63
710
998
641
441
93
467
41
729
255
424
441
922
681
144
271
111
661
237
964
483
688
735
442
103
254
768
522
418
970
411
235
560
807
965
701
829
891
519
294
754
161
667
132
9
645
711
36
436
629
466
308
551
946
141
206
667
806
543
115
457
892
941
917
100
918
112
592
776
792
697
587
471
386
691
953
369
985
929
710
151
817
781
312
402
26
826
131
805
63
739
711
266
443
735
316
677
752
791
880
672
978
446
6
517
503
651
737
893
976
834
673
406
77
964
277
128
251
330
24
518
804
310
756
977
856
516
99
851
156
786
527
842
326
194
496
94
645
144
576
513
479
982
147
356
312
980
536
773
681
958
150
955
83
139
960
135
892
281
634
937
674
689
810
529
975
197
447
773
951
686
879
536
404
490
713
221
888
122
668
848
222
957
32
787
430
487
956
461
897
45
215
458
333
174
830
558
416
89
733
66
417
257
644
867
583
693
405
396
654
124
400
135
677
155
866
67
763
208
122
203
324
349
951
645
801
88
303
563
174
582
646
441
696
731
93
241
927
265
861
17
668
845
633
896
131
489
575
329
32
332
833
664
609
965
546
897
989
126
737
846
102
196
115
541
226
172
735
146
101
513
35
587
283
958
196
118
968
30
867
549
646
738
26
90
351
583
285
859
951
634
214
602
143
195
662
395
1
130
232
946
511
662
992
895
763
998
940
642
667
453
333
92
318
52
99
819
630
704
998
21
795
806
238
162
443
185
288
887
619
378
894
220
594
115
959
706
39
446
99
608
954
676
877
80
334
364
166
233
325
206
959
855
759
419
768
857
181
785
927
181
713
975
701
706
237
375
724
372
369
644
931
943
401
34
933
804
576
832
2
248
581
484
453
590
628
377
364
811
389
88
734
613
831
763
168
879
868
904
967
940
558
627
262
593
798
76
61
540
989
993
857
191
222
575
71
777
208
674
416
66
92
907
249
429
873
698
239
110
896
13
32
477
680
9
26
342
307
937
687
299
965
330
725
215
537
104
79
935
644
595
782
17
976
663
135
791
11
586
130
414
722
207
47
966
370
537
853
389
182
992
195
769
450
999
326
499
629
548
159
3
871
411
353
528
99
218
975
911
136
76
516
292
728
585
356
352
427
657
917
721
951
139
282
231
43
34
929
839
350
14
138
865
474
635
721
636
176
603
45
111
873
327
317
198
691
707
950
981
208
215
427
653
903
888
276
590
963
845
237
739
427
582
559
745
499
237
655
208
5
961
636
513
866
82
983
957
121
97
609
334
945
186
509
920
831
665
499
986
190
936
772
91
291
194
451
721
3
858
585
186
592
489
122
687
697
658
260
708
136
832
590
295
796
427
490
489
951
503
617
190
966
856
523
503
296
247
634
982
283
8
309
353
446
323
381
163
339
574
4
297
58
284
495
104
866
707
854
788
882
816
281
230
230
407
32
340
6
811
432
792
565
573
725
167
632
831
574
741
479
68
835
512
554
665
753
645
810
446
427
10
883
335
816
453
816
79
431
681
812
973
177
868
350
550
834
841
303
769
221
171
13
7
602
526
871
653
633
520
138
920
995
809
916
146
914
76
352
303
849
136
755
877
838
729
259
89
9
57
703
519
287
593
113
662
735
861
832
481
88
69
348
178
344
663
577
509
404
87
177
790
308
845
869
922
534
108
650
369
610
631
3
928
513
85
382
13
611
863
544
281
823
452
141
689
401
645
335
126
704
56
190
894
239
316
215
179
652
607
964
880
836
837
958
818
740
973
169
878
288
30
794
662
180
679
37
751
258
296
223
650
550
817
385
707
673
515
116
579
121
907
363
606
475
1
858
611
725
126
432
631
828
725
162
650
469
97
101
95
801
640
440
1
724
371
98
551
9
892
529
430
226
123
725
506
267
872
959
878
385
928
199
22
642
174
344
781
298
309
936
674
748
949
926
24
555
739
401
476
524
218
821
495
814
375
324
949
34
112
842
530
68
950
721
310
90
935
130
382
245
0
898
189
346
24
334
193
91
177
388
202
640
350
357
895
480
368
742
17
504
626
51
268
661
788
552
687
987
189
447
833
537
451
506
705
909
684
971
552
668
371
175
248
878
278
913
557
839
554
225
694
263
976
946
761
23
194
56
288
944
705
569
751
709
910
194
381
116
416
753
677
213
135
132
407
975
120
385
726
660
923
552
423
830
848
360
288
556
144
366
566
131
329
370
792
783
471
220
942
567
434
399
950
404
298
84
883
129
593
345
253
84
83
648
135
703
819
943
45
902
957
669
711
486
644
936
643
184
788
784
76
615
68
890
908
85
946
32
701
796
562
818
472
626
780
704
734
733
677
933
323
841
914
243
642
180
999
474
291
570
185
154
609
6
602
378
420
751
696
568
193
50
514
690
267
677
470
39
843
851
688
649
285
992
820
372
140
25
22
868
785
827
576
109
109
853
587
411
790
906
200
130
107
514
168
69
271
383
363
982
21
13
887
528
932
417
140
702
289
744
120
706
496
242
633
324
299
433
50
972
3
160
475
126
98
957
287
328
687
815
902
521
637
908
482
278
52
624
19
586
420
283
524
706
373
528
893
139
763
629
677
566
591
150
473
20
103
804
236
398
156
158
746
101
892
93
163
760
834
830
573
496
232
49
692
0
422
107
229
133
232
616
923
553
11
344
749
415
729
226
813
534
656
939
47
759
266
517
608
597
531
883
516
634
720
771
987
919
540
390
760
465
937
599
227
305
581
98
761
644
955
781
791
319
829
866
720
953
219
472
201
2
915
104
74
760
26
980
313
196
378
47
613
623
457
737
783
99
273
524
118
885
846
406
407
224
597
661
288
617
430
931
547
242
196
734
502
376
610
924
309
932
133
811
613
429
324
799
585
607
916
869
806
850
597
664
26
426
466
259
483
46
295
546
400
195
693
42
566
737
817
253
98
424
466
101
612
449
645
948
82
215
402
602
600
424
697
819
889
355
501
194
667
168
491
133
737
27
151
776
228
139
53
624
384
343
961
846
942
262
925
723
703
405
42
879
898
900
397
307
689
697
583
862
152
662
717
751
120
584
592
221
335
471
824
329
342
796
207
984
39
122
108
545
383
199
135
940
119
863
132
592
420
853
601
802
989
920
534
722
555
101
699
103
899
389
875
8
42
156
110
850
103
79
376
166
563
584
683
39
491
68
802
774
80
150
517
80
481
451
167
560
440
458
955
793
912
147
511
542
198
108
266
71
269
972
635
480
773
63
560
257
644
132
547
978
239
737
587
47
826
89
700
571
19
149
67
817
554
183
767
641
613
199
30
765
563
225
951
778
26
489
236
16
480
863
982
374
890
911
6
72
296
420
134
615
499
864
166
839
103
93
856
395
288
159
36
769
354
259
434
880
202
659
778
763
935
163
419
324
855
541
134
330
965
61
415
15
470
132
701
917
145
378
902
873
301
826
701
204
927
577
953
471
395
618
274
190
135
358
842
753
874
291
619
23
643
974
135
694
195
743
222
572
545
996
520
547
218
847
471
943
360
644
705
392
936
339
620
727
425
310
477
917
362
49
658
459
53
472
962
86
304
351
919
434
747
986
337
508
73
379
552
685
90
324
536
541
995
768
479
575
236
196
36
373
473
594
842
959
356
841
527
691
947
260
30
940
619
61
294
749
193
338
176
827
303
812
90
200
642
273
301
277
260
143
220
397
923
800
466
611
229
453
556
972
756
334
579
676
398
807
444
517
529
948
637
804
670
856
613
746
486
580
420
490
368
939
176
631
621
922
356
50
374
478
386
86
103
82
930
496
542
639
199
880
140
958
917
396
706
22
410
351
667
216
322
758
596
249
416
690
944
993
290
844
577
960
86
885
45
989
546
26
488
379
357
784
762
126
528
876
609
615
538
736
772
442
627
169
347
95
638
477
516
59
674
904
981
406
663
457
527
921
189
317
396
714
241
669
97
775
243
6
90
553
272
476
76
874
16
920
287
184
198
286
129
966
266
554
498
366
275
164
520
442
691
429
657
777
507
631
231
404
838
795
583
528
527
614
892
368
870
828
375
316
760
709
97
573
58
377
589
887
11
362
951
448
56
606
978
329
483
162
939
514
240
965
763
628
626
595
890
762
410
76
916
959
451
48
271
984
222
799
773
494
806
953
507
544
746
915
152
221
899
946
130
342
77
255
112
265
956
579
910
317
658
41
525
991
365
339
258
792
708
528
555
29
783
717
344
388
168
48
469
153
350
706
770
419
472
99
357
660
224
842
879
688
645
70
776
395
397
552
818
165
339
137
325
743
655
279
328
493
722
538
183
811
798
382
833
760
284
370
368
224
751
726
825
143
105
43
775
252
218
531
915
398
782
935
426
635
30
167
379
751
116
494
137
766
584
534
929
440
73
593
824
686
630
360
259
114
90
101
885
596
863
111
391
413
466
417
250
308
982
466
86
414
775
65
886
43
847
874
825
549
740
931
741
393
281
209
640
500
174
581
923
536
535
618
501
583
389
539
524
920
297
81
597
39
488
557
72
674
512
636
377
416
300
741
358
270
540
917
976
194
170
49
489
778
594
727
861
908
450
370
271
315
801
650
713
474
270
357
443
780
527
116
11
847
333
873
392
150
574
959
742
647
702
68
541
382
870
930
547
178
814
532
957
385
428
405
766
151
223
933
591
75
253
148
177
673
67
369
303
29
507
498
522
783
444
871
967
733
190
466
305
491
29
791
916
82
972
961
993
269
917
851
606
431
259
452
731
270
888
120
332
898
22
716
599
304
162
19
4
937
472
549
448
467
858
266
68
225
100
288
602
478
952
19
400
457
813
312
335
293
869
553
17
602
615
446
132
894
484
328
438
643
38
961
516
6
742
922
890
578
666
285
810
349
405
48
154
688
50
419
614
739
771
433
824
207
145
262
175
169
973
59
770
113
381
15
748
14
470
77
935
499
186
876
213
823
210
466
219
937
229
310
478
729
150
914
622
697
647
369
361
664
147
948
447
59
313
982
227
839
770
857
815
122
248
801
48
547
207
283
492
217
636
872
254
759
900
847
4
428
290
379
60
590
261
51
315
749
868
771
839
157
310
690
190
343
44
811
689
637
839
54
244
696
824
679
831
944
54
20
710
469
735
423
858
74
855
275
137
387
245
800
517
923
375
496
120
200
345
366
662
453
838
512
829
710
566
195
947
789
828
294
772
78
483
97
540
252
710
449
969
163
568
212
558
782
824
618
213
712
559
788
518
432
896
158
146
684
23
927
653
700
441
952
257
178
215
347
126
916
209
107
454
871
527
617
971
418
953
893
753
378
520
406
326
46
817
342
959
729
382
652
917
367
109
421
20
817
888
618
824
529
847
240
720
808
314
4
736
7
248
305
404
718
897
864
774
75
686
60
879
334
696
496
917
648
485
869
836
714
737
927
324
598
473
354
113
289
840
878
379
238
105
116
228
77
875
450
258
595
424
209
371
260
361
36
796
244
110
480
329
839
844
36
504
422
563
147
782
178
148
70
195
805
598
869
974
818
668
832
600
860
759
108
851
579
314
126
197
512
68
73
845
92
221
388
113
116
934
472
922
852
691
10
993
475
224
289
476
222
325
610
207
495
48
776
917
164
697
911
3
605
412
954
362
214
235
745
717
737
122
870
617
292
607
562
757
188
520
775
947
256
16
948
13
172
224
412
267
207
4
485
883
92
160
433
539
796
438
755
822
532
18
99
816
391
698
458
405
106
697
261
126
574
510
253
441
373
302
889
588
684
662
829
147
611
531
922
900
0
46
207
55
204
193
892
810
274
180
934
910
567
424
40
534
945
323
679
920
665
327
905
643
205
723
663
318
385
904
234
818
656
99
327
804
19
342
564
916
637
387
217
323
621
9
353
844
491
585
130
35
631
996
44
721
948
817
632
35
987
477
90
73
755
140
100
400
578
474
340
734
306
900
771
477
33
381
97
154
59
403
219
805
123
199
151
235
100
757
789
360
495
592
710
327
160
517
716
265
171
605
316
249
359
33
281
128
362
890
699
125
341
404
890
414
906
415
498
584
592
849
6
48
28
680
711
237
836
151
322
184
336
129
123
231
163
403
776
253
648
505
646
617
885
119
506
148
977
862
711
128
628
544
794
384
273
293
955
68
581
514
428
319
300
447
187
140
865
765
228
410
559
479
230
76
263
713
747
151
561
889
415
844
436
268
4
176
646
298
930
633
638
629
287
415
478
204
526
565
592
171
421
240
149
758
261
221
199
963
429
966
386
552
518
44
496
462
220
658
393
392
480
533
548
184
763
498
85
938
268
100
823
450
662
57
7
52
355
91
87
588
697
843
850
734
354
836
469
110
319
76
78
985
957
738
904
556
477
529
111
273
431
238
69
281
171
239
104
497
190
935
318
994
938
193
904
173
956
830
824
742
251
210
983
815
692
189
57
87
972
640
248
943
543
693
888
407
961
251
106
195
160
982
946
557
801
73
355
39
559
298
831
588
778
904
550
797
19
790
342
217
198
258
816
651
411
361
107
50
456
204
641
722
678
921
409
103
800
570
285
922
870
933
808
495
918
999
872
693
502
551
352
954
3
647
893
146
583
944
223
123
981
241
228
934
971
579
388
181
187
696
81
90
661
631
792
558
224
520
625
347
479
219
816
47
753
154
643
265
12
228
477
701
981
331
602
878
6
135
823
949
275
181
963
550
730
709
833
760
498
748
874
129
727
15
454
938
264
251
893
434
584
126
695
410
87
960
597
609
142
314
49
952
256
267
777
918
957
984
754
369
128
340
503
608
196
700
779
582
925
704
21
710
661
524
88
975
628
797
215
731
471
870
97
126
265
809
235
592
481
964
923
786
809
683
118
604
137
676
140
932
717
57
486
288
839
962
841
946
639
934
384
2
201
176
514
912
686
184
31
87
375
957
616
26
351
31
961
832
759
793
146
839
966
90
313
339
192
839
90
871
532
575
173
144
164
989
698
580
159
743
337
721
80
290
427
280
678
797
599
270
723
566
780
200
777
764
807
891
584
995
561
853
908
965
530
758
211
716
778
217
248
921
634
643
700
460
577
198
487
653
403
984
765
34
435
221
373
190
476
725
324
206
838
205
235
954
776
616
534
990
462
939
646
479
742
680
206
52
89
783
54
983
412
932
1
171
619
700
956
58
772
379
717
792
588
844
463
773
148
254
690
953
612
712
928
111
437
55
219
684
480
627
936
705
361
858
382
833
804
354
790
65
130
559
816
2
505
347
807
504
762
839
600
960
832
625
414
971
456
788
901
766
615
380
644
308
171
894
264
313
573
258
222
611
532
416
11
218
399
793
171
976
854
652
262
301
857
923
601
591
885
114
974
212
932
38
200
440
814
859
857
355
962
383
736
154
753
216
641
940
294
535
175
934
661
485
54
301
81
94
456
407
648
549
90
841
988
840
235
20
108
80
673
554
353
283
295
617
718
140
994
136
185
169
954
326
223
486
861
817
772
268
909
322
542
990
815
367
733
744
842
250
888
126
590
831
954
727
356
210
837
698
79
249
967
2
554
464
906
826
868
707
941
575
628
595
493
859
960
222
791
743
733
137
572
861
688
281
121
59
426
412
74
315
420
955
764
454
538
865
599
512
818
595
410
186
753
244
221
870
909
846
183
887
228
277
157
928
972
581
692
214
646
759
523
26
608
584
522
208
143
176
379
391
104
557
412
774
79
398
982
321
99
541
438
814
192
831
492
674
196
156
732
987
137
805
160
779
340
578
156
748
55
521
88
854
300
243
645
322
120
594
720
249
840
838
141
438
703
615
609
640
551
534
834
439
5
283
123
951
573
922
619
499
509
790
757
499
412
823
307
793
83
664
30
150
679
125
366
9
394
158
238
456
101
170
602
234
491
447
131
25
936
760
355
315
850
192
305
159
466
395
431
597
41
104
361
677
601
541
665
802
414
30
672
493
456
729
346
665
125
913
956
244
65
275
605
705
717
679
947
614
769
66
435
194
589
913
212
552
297
385
423
969
407
256
801
701
330
518
515
359
998
975
964
163
915
276
532
139
847
108
993
795
862
566
973
500
36
473
97
185
501
794
792
414
948
890
224
325
468
898
458
114
778
213
359
869
253
915
25
170
284
163
266
315
644
864
494
630
289
967
340
402
95
748
816
735
918
226
440
256
942
774
510
475
816
165
90
86
600
411
912
182
33
425
751
192
666
84
459
682
624
278
187
461
54
341
794
701
743
18
660
63
793
925
168
726
335
187
904
358
809
426
204
753
729
276
629
545
264
970
54
948
365
858
966
137
603
799
629
811
947
228
914
855
113
929
964
621
553
993
935
529
318
924
119
779
814
709
711
121
817
969
534
259
291
14
682
396
282
959
409
642
797
196
259
180
698
204
428
487
703
393
116
182
942
665
446
509
921
408
715
120
293
513
556
923
245
706
150
323
248
825
512
49
841
392
238
38
694
910
675
353
94
787
187
879
720
363
898
392
424
860
426
702
48
209
302
888
11
395
973
756
161
634
27
53
270
154
938
653
747
958
748
861
320
420
322
881
296
375
584
558
69
229
34
803
251
639
964
42
172
357
278
197
351
344
261
731
275
19
419
161
93
537
512
765
788
151
923
342
745
934
823
61
130
817
933
207
166
783
901
490
301
80
215
298
548
46
523
636
203
433
235
60
618
525
369
307
913
203
41
623
54
859
605
48
778
510
534
62
742
180
934
23
215
603
673
220
896
416
119
97
940
496
103
177
703
859
653
979
157
568
154
42
510
844
242
796
758
633
493
465
315
116
60
460
972
594
222
631
628
479
357
914
437
254
584
495
465
170
993
524
935
685
674
745
54
182
825
796
455
636
772
862
50
604
417
997
513
151
70
460
560
148
957
202
453
412
309
745
859
781
545
515
173
297
324
560
895
976
172
103
74
439
656
278
684
11
122
169
829
478
854
739
470
846
99
498
897
42
317
737
286
857
544
289
124
826
479
90
332
29
848
439
38
370
805
93
601
564
533
388
468
727
945
278
262
925
670
28
582
164
523
153
849
712
392
540
262
58
120
79
519
194
875
696
370
694
153
988
37
738
819
663
309
489
114
545
743
780
617
282
96
475
60
553
229
570
675
778
606
300
273
564
140
126
740
906
140
882
231
694
310
663
437
953
639
889
956
74
467
534
938
329
756
946
652
837
632
92
879
35
173
22
986
59
78
859
659
915
432
157
699
217
332
474
521
614
886
270
541
899
614
277
199
152
939
181
359
88
573
533
485
497
347
671
346
979
685
882
841
868
306
684
605
726
681
875
847
811
887
840
516
417
364
934
103
541
716
401
22
3
78
35
830
783
96
823
577
997
346
924
665
424
71
620
342
673
357
970
262
530
641
750
493
967
408
50
863
304
819
621
496
483
165
956
987
618
185
215
969
628
102
291
713
691
502
738
987
559
286
663
745
409
100
911
180
719
59
332
971
765
379
118
489
297
316
386
189
779
305
205
404
99
295
22
802
697
405
200
915
158
138
819
589
482
456
5
561
777
668
169
999
639
525
126
337
286
850
295
463
827
114
693
304
615
23
678
812
24
90
121
431
946
834
589
446
829
102
760
637
113
345
775
684
588
186
780
419
281
691
863
247
323
15
25
997
626
847
310
376
509
470
953
826
981
402
302
162
240
854
857
812
246
597
730
244
254
329
979
370
151
85
858
164
32
582
929
26
572
940
278
843
402
724
799
866
81
120
839
293
910
319
528
661
566
226
51
513
136
644
249
246
874
604
808
369
908
96
153
856
907
687
226
280
290
255
104
709
403
1
20
323
995
470
373
651
962
671
945
189
420
133
334
421
916
800
885
277
850
439
179
891
59
662
909
55
775
386
312
848
506
12
872
399
889
528
821
553
713
755
861
8
746
120
406
852
83
895
309
510
368
391
251
546
634
422
142
875
905
588
194
634
320
995
723
654
115
992
952
985
762
203
738
208
487
862
717
333
591
287
971
237
707
797
733
735
539
966
644
523
571
947
61
680
373
163
186
122
621
771
406
293
50
345
708
117
396
341
122
411
323
265
679
703
114
176
218
739
49
966
529
773
148
193
11
351
929
956
273
832
501
520
977
502
863
130
595
962
3
876
239
960
648
330
316
146
507
338
981
191
309
749
451
287
234
86
868
663
301
178
559
812
60
697
57
971
227
464
211
829
557
945
384
619
161
56
278
894
846
599
385
259
172
311
38
628
296
711
509
477
820
557
260
380
859
771
479
912
457
807
617
330
824
889
459
350
543
290
109
918
568
221
421
242
98
317
28
230
580
307
446
133
88
58
550
102
44
267
173
436
958
710
954
310
767
144
284
535
53
589
926
972
389
56
107
447
999
127
747
849
964
191
699
729
67
425
915
982
396
592
559
291
961
660
38
213
391
368
669
688
462
718
631
41
849
429
789
582
596
4
975
989
686
901
944
445
245
974
677
259
217
765
465
458
350
308
886
802
765
456
980
302
837
320
668
359
920
364
921
626
790
785
815
679
526
719
153
499
919
838
618
751
243
20
264
755
734
373
936
295
389
34
262
177
172
181
993
224
717
423
310
173
301
70
494
194
465
720
712
741
462
3
537
896
742
665
546
939
248
744
164
344
800
400
888
175
320
831
671
964
871
868
791
172
129
97
389
417
488
968
89
971
804
241
544
985
748
227
755
312
420
74
120
983
156
953
287
66
631
607
167
659
585
417
191
922
170
357
536
34
627
603
219
677
155
922
854
909
111
870
519
82
37
92
647
232
686
674
373
385
549
617
7
458
522
279
778
554
640
18
793
361
775
346
182
30
649
630
559
430
261
239
502
673
643
271
805
273
587
199
281
94
867
309
997
875
735
785
666
737
566
729
197
168
251
42
913
931
157
844
670
697
816
652
954
461
489
968
547
199
257
344
227
573
426
646
353
42
167
666
688
317
760
128
252
311
239
696
60
331
519
566
364
399
143
256
829
854
527
123
223
878
261
851
523
479
842
177
368
462
364
241
770
986
539
134
177
361
852
94
945
903
231
103
250
235
718
988
609
558
974
368
917
775
374
284
132
248
29
596
638
234
508
66
732
591
450
84
839
273
291
989
223
143
745
987
415
472
333
517
644
733
855
462
109
162
662
575
297
684
818
221
370
697
511
660
83
912
137
92
731
214
180
936
832
883
109
286
598
17
131
542
746
508
219
698
585
705
97
72
421
610
593
453
31
17
595
831
611
245
313
467
357
620
177
14
774
378
557
447
868
26
845
739
341
70
651
969
101
73
627
378
680
552
389
888
585
727
208
382
12
920
843
501
692
607
286
963
791
371
288
688
22
890
645
660
957
912
399
277
771
26
263
348
2
500
208
681
872
979
604
628
80
637
602
169
745
698
493
165
204
424
695
760
735
793
813
521
879
885
513
61
710
699
492
230
879
738
110
90
729
298
878
445
769
198
487
954
132
295
163
305
315
916
379
359
565
290
594
629
897
676
182
368
349
578
304
531
331
511
553
225
506
570
197
546
887
76
942
901
88
937
332
579
675
501
615
350
763
614
756
76
339
330
899
769
309
669
680
490
840
46
395
90
286
32
990
898
603
45
818
960
559
913
350
249
858
27
441
133
150
24
622
236
188
382
675
532
482
917
660
623
19
914
475
448
109
732
118
143
800
860
188
389
648
953
8
22
933
359
279
145
613
375
883
369
390
125
364
848
314
421
759
668
902
350
707
252
98
573
918
620
382
576
752
15
137
668
608
627
845
320
723
120
869
690
482
960
289
564
737
309
279
348
952
719
720
366
716
420
103
381
778
383
984
327
684
383
660
400
849
626
197
140
724
165
797
283
450
291
989
464
956
589
846
537
615
969
276
197
641
595
948
247
26
648
646
288
883
263
888
602
614
859
855
432
574
420
33
16
447
878
188
483
157
273
548
311
711
431
424
170
435
651
295
828
947
299
155
132
606
143
56
808
383
717
11
425
692
391
482
646
571
163
277
87
466
701
632
303
811
286
481
989
874
808
243
945
421
790
334
761
58
21
330
110
163
151
407
335
636
172
524
848
391
607
860
802
154
707
972
569
885
311
362
275
329
918
607
713
754
719
11
426
622
820
859
390
322
487
575
58
801
528
538
583
229
138
393
601
528
429
676
790
637
211
300
976
392
229
944
758
97
973
532
861
43
788
982
675
578
686
671
711
653
666
743
72
79
998
671
358
662
740
215
122
25
920
328
35
554
316
130
344
289
215
969
609
362
524
714
416
383
459
314
724
167
122
750
280
369
776
673
755
299
385
239
698
774
198
651
760
264
232
395
230
452
424
948
435
724
305
813
700
834
989
488
559
46
391
964
876
135
455
744
512
786
927
161
837
901
72
624
585
244
721
792
439
536
517
309
504
91
646
237
213
455
669
192
430
195
497
452
197
87
807
138
887
557
50
764
224
32
682
944
260
398
991
40
495
112
721
560
653
879
80
164
39
616
704
731
160
22
24
816
787
210
691
225
126
602
499
754
549
736
996
911
389
44
753
199
555
535
719
265
105
320
578
990
565
843
454
72
412
861
603
809
737
253
434
399
125
778
506
646
674
381
757
429
58
399
14
950
146
687
430
503
308
524
125
660
370
335
460
87
460
856
148
798
898
153
697
290
288
684
17
346
307
10
626
62
515
761
12
56
440
720
326
583
627
115
917
479
936
909
557
599
160
734
566
89
208
548
49
720
917
52
577
764
712
558
929
635
534
302
41
340
303
234
901
914
194
924
50
896
450
153
204
51
147
343
716
455
917
731
270
885
213
806
444
887
641
393
266
839
718
225
451
690
995
988
660
619
227
488
759
88
762
785
74
1
716
812
538
796
128
957
989
974
550
127
278
495
786
836
199
535
698
933
910
296
344
653
226
561
455
484
629
571
519
269
790
84
168
662
449
205
584
114
262
197
124
847
758
947
522
229
803
759
222
494
597
854
41
620
609
86
453
681
778
556
53
109
567
467
167
651
70
23
650
332
383
772
907
344
845
468
748
475
812
810
14
550
16
651
541
264
425
543
93
854
894
32
610
148
693
250
699
16
222
182
768
102
494
733
687
138
203
427
317
350
191
447
866
727
428
326
178
935
65
611
725
818
252
732
796
273
170
452
130
765
971
476
322
387
423
124
374
957
808
32
352
558
670
564
16
640
974
249
179
456
690
960
405
538
885
212
101
683
442
167
651
455
826
733
72
632
973
157
518
397
214
409
145
635
842
910
491
341
464
944
625
697
818
616
378
470
303
670
778
680
121
134
167
542
726
944
702
929
361
23
632
844
192
820
784
16
830
767
692
971
684
531
527
696
465
296
916
675
618
316
262
155
49
589
351
554
251
606
656
836
89
726
558
174
102
253
427
302
996
17
255
358
168
50
6
592
552
646
493
430
538
379
577
782
467
997
150
788
940
257
520
888
508
629
376
258
747
928
940
985
0
490
676
105
694
91
433
108
732
398
206
609
30
642
749
443
845
156
495
35
210
199
771
716
293
400
421
161
613
309
759
453
421
565
630
790
303
685
263
475
213
366
84
524
288
53
11
594
782
263
118
426
99
131
163
753
933
75
629
51
351
377
96
504
260
741
595
920
161
54
767
473
768
16
223
705
348
785
45
38
155
546
977
6
246
523
140
592
957
352
621
956
452
978
950
504
474
222
625
266
123
251
695
354
712
52
966
610
850
621
980
265
565
404
829
339
544
431
538
682
434
855
568
587
647
996
369
461
770
397
623
832
701
809
450
888
560
177
86
998
355
309
396
309
792
149
711
812
61
410
975
954
174
246
488
34
427
616
569
942
351
343
280
316
861
795
596
742
594
367
53
959
739
527
747
584
413
748
785
599
785
52
469
796
246
42
591
956
854
796
529
653
289
131
25
40
130
183
417
275
114
911
898
466
94
540
134
387
981
933
386
182
879
573
830
946
177
588
45
196
353
573
773
183
570
178
60
14
895
187
6
155
890
73
49
783
301
987
53
809
851
765
758
295
115
58
546
538
476
98
842
875
856
969
235
482
880
36
263
645
945
350
102
469
908
736
389
30
553
185
140
806
246
361
372
665
89
863
577
696
550
160
104
550
585
50
47
864
76
865
97
671
483
840
166
586
199
195
437
516
472
911
386
941
539
957
22
625
221
334
660
848
720
536
988
364
847
267
768
607
104
426
685
129
455
652
153
811
371
115
438
265
613
396
281
665
25
812
361
703
110
389
921
830
274
96
97
10
26
133
199
85
681
612
229
199
47
744
346
824
252
424
984
849
444
431
269
908
671
349
703
945
349
617
637
388
752
731
226
710
119
535
86
256
960
634
192
703
933
91
74
321
96
132
828
802
718
348
418
410
494
39
188
810
210
474
117
427
87
763
609
680
707
355
488
326
963
594
163
665
452
143
729
776
534
344
939
691
772
465
963
478
377
228
308
305
294
592
92
4
844
820
148
216
610
273
71
229
72
394
784
763
903
229
638
980
28
412
148
871
179
306
80
424
520
82
788
795
549
497
953
689
353
348
334
679
537
609
732
839
13
868
607
221
433
552
534
221
868
772
845
248
93
623
960
126
725
174
464
848
993
155
420
873
16
903
514
399
831
576
654
667
439
293
868
734
3
67
429
842
193
891
602
15
682
213
978
976
776
116
299
719
791
450
287
229
668
935
159
572
301
767
564
401
744
42
950
532
466
48
608
490
705
280
81
463
986
587
279
926
668
109
545
565
610
523
784
739
831
525
465
291
25
444
636
513
430
71
924
350
268
243
33
156
891
545
400
605
561
90
513
531
873
220
278
742
344
62
734
127
854
127
16
499
45
717
177
420
160
340
817
541
205
141
709
778
350
409
317
640
525
642
803
26
922
627
66
214
965
89
779
255
938
903
187
70
345
796
392
186
831
318
404
503
60
168
821
511
984
796
715
182
190
459
658
340
935
953
371
935
440
32
74
864
174
768
548
480
961
195
453
552
96
193
266
632
948
442
941
65
113
466
68
148
241
949
979
169
228
891
610
92
7
508
80
621
737
422
631
868
766
496
966
102
566
669
984
806
447
232
727
334
613
611
301
9
971
553
966
927
542
789
811
664
274
37
870
548
235
338
641
163
6
135
267
196
461
10
847
445
990
947
194
953
953
685
988
735
248
788
201
736
895
952
628
124
292
186
314
132
792
352
244
120
316
102
42
844
521
629
406
782
742
942
225
492
779
79
594
662
210
932
206
684
249
931
864
819
746
186
899
308
651
781
410
305
764
669
330
991
668
289
126
907
797
149
573
450
169
28
25
645
235
528
259
99
704
477
441
571
634
246
362
815
90
407
457
596
249
883
205
506
921
925
411
681
807
975
910
473
139
623
114
482
8
601
910
316
589
225
858
368
808
52
690
687
89
319
385
940
163
179
932
64
379
486
506
652
441
75
600
565
13
33
757
310
725
475
52
405
606
51
170
193
67
967
632
210
243
596
661
15
503
163
782
438
994
346
433
664
412
631
83
231
672
371
994
882
262
183
199
128
606
713
728
179
161
894
2
654
229
222
647
913
692
641
325
624
284
739
300
257
468
139
869
948
921
872
341
840
816
449
812
271
13
844
373
955
143
758
211
191
808
547
247
464
273
699
687
391
233
839
389
954
676
388
792
571
308
740
525
420
904
197
136
697
470
92
280
598
299
625
190
762
696
21
929
49
85
70
949
366
649
12
230
9
318
754
794
742
431
373
859
669
514
43
971
49
631
499
204
300
568
967
587
367
684
503
366
796
276
13
397
737
271
404
986
791
82
302
596
266
493
411
733
552
233
134
311
489
308
275
890
416
616
526
623
466
986
723
71
910
302
687
894
157
559
642
620
900
124
183
406
985
496
98
366
348
157
262
681
821
402
3
638
77
100
148
819
437
646
20
658
782
991
346
800
535
831
396
190
223
173
815
344
230
891
815
452
675
457
357
490
124
756
763
589
715
866
164
674
802
977
748
94
490
872
475
717
438
375
786
980
738
150
949
656
490
354
876
960
757
621
948
530
739
180
807
812
604
97
734
211
722
65
879
352
651
560
874
654
473
14
579
267
686
371
870
88
776
910
154
119
521
762
181
300
833
773
82
35
166
239
169
371
95
501
633
275
816
173
656
231
329
247
692
865
60
139
674
180
836
683
788
557
821
460
938
982
764
294
811
867
33
864
40
455
429
72
125
543
794
973
699
233
366
60
920
107
555
332
514
126
450
891
572
304
307
681
558
499
578
673
685
754
784
996
388
182
115
620
390
419
154
180
994
424
171
86
498
412
126
904
151
628
999
673
192
380
290
384
211
106
852
758
724
21
258
254
227
29
652
306
672
596
211
163
731
329
605
218
855
833
978
785
225
539
344
669
381
748
952
649
337
243
366
160
851
842
597
63
519
969
969
983
378
158
132
99
915
495
830
32
8
276
674
791
844
198
336
227
190
607
172
66
267
328
320
381
715
241
54
12
680
186
856
72
574
222
250
977
54
86
733
854
963
675
47
562
405
896
947
730
230
177
797
979
205
173
263
351
226
552
464
681
993
352
955
56
922
685
548
28
272
802
705
556
882
608
15
314
186
927
231
471
816
950
112
835
815
855
771
189
373
616
636
660
183
796
430
263
887
703
707
169
537
763
724
379
908
877
647
558
614
618
204
581
922
242
320
419
65
718
620
448
188
39
27
149
916
438
800
244
340
423
703
990
595
588
478
789
691
478
942
439
506
337
378
988
468
969
707
96
424
39
682
520
59
677
664
941
144
511
25
606
666
721
973
227
652
817
167
343
440
214
217
803
660
495
203
937
501
728
871
475
210
352
393
453
720
118
789
459
703
852
363
116
429
991
901
734
290
269
391
87
302
11
864
814
637
649
610
500
927
107
1
26
976
903
93
717
466
934
269
514
288
866
953
15
170
416
925
740
943
381
132
554
535
120
599
121
601
613
652
771
238
491
388
741
300
780
351
300
165
652
444
130
587
141
254
488
998
648
94
837
586
40
154
700
131
514
799
283
669
534
312
155
273
245
488
953
660
654
430
884
453
50
287
84
265
94
831
161
465
896
476
948
670
804
927
987
940
39
931
41
284
26
337
471
653
986
234
835
13
565
940
512
333
894
388
669
372
657
848
124
891
140
82
113
14
782
690
226
725
208
221
77
368
109
211
17
147
229
603
187
822
630
530
363
693
120
551
65
5
510
512
678
25
742
460
215
777
459
916
713
405
358
546
728
521
509
493
59
164
315
772
99
686
243
884
98
942
21
353
286
965
68
334
180
387
657
206
135
127
809
389
873
24
239
155
52
334
263
311
551
270
364
789
300
615
936
137
980
439
394
838
815
291
978
943
299
150
96
991
857
164
592
488
642
464
352
497
833
26
533
358
529
95
487
769
689
148
607
770
856
240
632
699
80
871
537
696
254
262
385
424
63
346
895
571
878
77
342
973
22
72
463
898
578
649
749
253
773
372
584
867
945
137
600
68
666
2
101
191
789
364
58
270
805
535
66
863
79
41
850
551
593
637
337
893
248
387
629
880
398
633
22
389
182
812
442
575
516
644
425
922
512
350
812
242
361
926
940
143
904
378
219
600
49
347
643
113
608
871
15
247
748
115
805
804
81
898
837
218
404
844
571
395
456
739
829
79
160
789
670
183
559
196
337
795
653
755
991
93
635
638
964
617
104
673
335
591
160
229
697
189
516
590
4
877
120
918
177
581
615
375
871
558
347
783
669
895
47
186
773
951
284
102
382
246
971
701
610
501
282
265
924
410
540
168
824
996
953
515
860
369
361
721
460
854
252
602
35
245
777
311
613
467
469
14
415
429
828
356
313
116
628
833
603
729
120
948
85
671
846
298
289
935
349
310
689
929
479
871
550
630
405
145
548
850
359
613
148
440
21
121
351
563
131
139
909
134
618
373
731
709
724
731
757
210
489
204
598
881
542
84
267
15
933
445
980
30
733
136
771
92
591
904
785
730
759
287
412
924
625
91
168
716
528
871
190
475
15
516
712
650
347
70
289
427
536
685
407
389
397
679
538
633
835
313
389
399
840
807
339
823
794
949
4
912
907
471
990
265
121
872
674
555
814
186
394
649
888
219
723
983
479
824
682
116
399
346
408
999
61
738
275
710
766
701
543
112
56
21
756
928
775
370
287
966
922
590
240
993
746
758
216
834
26
66
628
687
349
347
380
529
465
130
890
520
93
883
548
854
916
26
996
96
71
543
416
176
788
971
39
632
753
204
28
941
466
821
885
924
966
29
903
770
197
930
224
234
189
904
740
661
474
285
23
456
593
268
146
912
114
445
437
723
129
72
229
816
208
631
229
914
710
39
864
16
765
603
596
444
367
965
724
752
723
379
116
973
978
178
948
291
790
76
873
962
508
795
30
234
411
918
447
480
83
342
324
87
214
509
13
25
630
467
891
41
680
246
511
998
883
694
144
3
562
438
546
557
508
195
37
294
76
327
145
149
52
364
406
333
8
75
388
247
591
386
793
473
747
213
622
922
497
127
587
780
846
566
35
744
999
824
813
226
674
583
964
561
243
381
321
440
944
685
9
656
852
332
835
683
481
897
526
775
750
367
425
724
143
204
827
227
393
735
477
157
628
829
581
503
7
395
337
321
498
307
648
750
641
727
194
383
62
145
838
594
493
32
690
661
483
206
768
360
513
297
178
493
212
102
363
51
615
249
152
13
841
242
473
78
756
123
922
922
153
39
924
7
4
301
31
547
948
662
448
903
853
942
405
985
264
795
160
338
704
955
388
576
168
424
723
676
964
557
267
752
805
525
70
921
572
966
856
988
644
749
714
616
433
529
144
327
153
888
686
588
951
915
13
123
294
178
277
507
353
764
643
316
776
104
285
896
502
369
485
204
241
857
925
715
118
89
31
743
720
982
718
180
126
379
242
774
41
91
431
942
443
414
573
733
733
299
337
702
17
973
455
235
688
432
188
995
243
318
777
311
448
92
676
599
671
80
782
951
761
492
869
410
620
75
87
732
535
992
920
897
687
274
950
824
865
891
149
580
747
665
325
951
318
203
122
150
409
899
813
689
898
795
647
712
640
548
467
673
942
492
781
570
519
310
468
896
969
931
755
173
268
81
172
269
323
252
709
616
882
68
559
500
392
899
927
752
336
416
2
763
143
877
148
770
814
387
44
974
405
303
740
149
818
396
315
639
973
358
826
771
221
368
901
676
216
458
3
435
645
179
538
173
636
978
583
564
322
465
950
143
988
742
243
968
2
543
607
973
910
873
889
159
349
379
590
509
556
209
947
155
621
131
373
794
643
591
731
363
72
877
610
570
208
3
771
102
492
61
839
899
811
50
893
933
500
719
389
242
157
503
616
304
915
351
464
530
467
446
929
519
786
408
486
941
194
191
28
617
303
79
509
76
260
203
566
954
666
695
2
554
45
40
627
661
139
96
599
910
685
737
359
545
970
661
328
410
635
614
984
390
925
652
163
191
920
559
570
674
464
590
652
230
575
51
680
489
30
172
815
764
251
968
142
774
96
850
860
878
389
590
278
97
626
777
616
571
406
822
967
918
220
437
36
476
396
99
271
731
591
927
181
382
911
11
477
343
676
707
748
258
422
841
962
774
232
251
284
817
260
790
515
786
385
900
848
528
890
308
80
633
779
756
462
492
443
196
832
993
446
70
976
39
464
27
599
834
203
772
574
53
430
298
805
572
12
862
344
777
962
449
316
102
254
754
608
237
859
553
192
720
272
480
98
860
921
417
587
606
515
847
49
8
995
23
610
450
570
905
429
229
108
325
984
875
226
570
672
660
912
0
903
331
981
965
141
370
919
728
39
505
584
214
73
277
332
167
840
160
198
188
161
174
653
934
416
374
215
418
839
31
818
245
271
46
409
644
889
102
130
241
859
878
558
492
374
261
856
607
504
250
605
123
831
181
207
41
780
754
973
645
841
285
261
599
917
684
812
931
434
150
306
572
224
409
595
509
76
978
907
304
280
805
939
171
636
721
784
502
816
759
316
507
241
131
187
159
774
807
837
117
561
724
496
251
802
354
803
16
53
115
677
778
110
636
658
188
819
211
164
722
788
129
969
796
975
435
12
124
141
884
42
585
154
36
126
662
774
695
490
894
994
754
718
905
653
509
84
673
654
725
466
400
374
643
459
316
889
865
911
574
572
129
474
985
731
847
764
950
19
28
572
422
698
850
742
443
75
498
153
876
308
150
417
998
716
26
840
477
384
376
728
317
538
612
705
428
349
85
909
396
417
359
173
471
456
503
731
489
467
256
832
528
164
181
102
691
623
116
652
671
514
945
542
753
466
810
257
785
969
669
912
740
618
28
623
313
962
878
702
12
861
143
215
844
16
350
746
783
986
168
639
161
354
911
808
649
68
230
723
64
850
866
843
773
210
455
866
438
345
547
431
917
226
861
880
269
837
274
34
245
750
940
483
427
598
775
222
536
525
694
255
606
816
704
37
413
888
612
293
69
204
554
331
128
883
907
223
564
666
903
961
750
614
334
740
714
287
286
632
824
36
651
246
784
394
88
181
933
120
657
629
383
58
738
632
350
924
3
304
404
466
584
459
337
916
96
794
803
101
823
56
852
273
534
200
849
97
637
198
677
28
430
956
314
31
619
306
980
446
946
77
183
97
470
216
836
412
806
511
842
492
646
780
723
151
22
144
109
368
298
796
99
722
249
917
90
818
774
704
851
919
450
750
547
112
63
896
221
830
903
983
526
84
635
624
792
926
732
4
39
509
840
379
23
826
983
807
912
291
190
477
720
980
563
970
43
451
94
624
80
176
359
550
863
673
361
677
303
70
52
733
679
965
50
161
924
926
992
690
722
955
328
148
269
17
435
694
726
582
428
295
597
933
360
113
812
720
215
393
979
355
353
825
803
284
991
52
220
850
292
499
320
846
180
391
661
918
421
476
484
563
854
90
989
668
847
682
726
240
953
565
112
517
204
25
410
368
621
994
870
89
546
15
573
477
326
501
783
484
350
175
360
518
51
177
694
740
425
235
988
464
429
585
402
14
782
63
70
860
398
34
488
711
919
389
516
167
490
483
434
122
84
381
491
437
306
186
661
623
994
760
299
729
296
139
816
694
402
295
372
273
711
999
337
884
8
162
407
701
79
330
132
515
746
847
766
984
941
910
345
111
375
61
839
176
31
0
825
708
125
807
255
640
589
500
969
908
251
680
629
199
867
405
172
96
702
153
298
116
998
161
875
166
392
50
63
229
173
332
665
706
821
303
421
326
278
612
243
189
457
866
255
67
537
262
963
45
790
995
122
127
21
724
577
393
79
521
595
732
492
58
849
566
961
204
311
786
827
219
381
741
778
609
776
198
361
669
902
49
931
536
118
201
644
659
865
669
396
623
767
496
13
958
235
306
245
283
253
219
889
553
338
53
637
739
444
764
172
514
802
854
273
329
957
802
311
672
11
179
285
81
127
494
766
836
674
25
965
241
95
899
548
806
738
645
410
535
735
540
962
332
649
708
563
143
959
769
879
18
111
449
593
609
498
925
624
583
244
426
242
617
396
442
933
274
247
919
133
642
386
674
572
113
25
235
904
134
371
491
302
681
296
794
516
743
96
450
872
800
325
900
330
141
183
12
558
79
502
181
155
677
824
585
345
924
693
352
820
893
320
808
719
634
206
983
568
346
717
712
451
631
678
595
399
41
257
477
929
749
356
73
321
665
393
332
694
869
669
177
154
102
259
929
182
424
694
880
235
83
542
948
850
538
589
985
193
823
935
344
633
78
919
893
977
372
499
982
364
366
757
927
219
34
948
717
433
3
489
308
818
565
898
787
921
774
415
728
344
517
53
161
351
944
350
755
47
74
284
187
983
740
213
613
410
791
428
628
180
861
409
673
366
210
502
26
623
38
100
13
633
386
545
285
563
976
468
715
302
267
153
593
263
45
78
772
103
954
356
650
304
84
346
427
915
211
135
200
830
6
713
670
702
355
813
144
972
838
687
539
701
528
265
598
442
198
721
104
42
106
98
311
608
942
792
555
171
875
804
878
182
938
675
753
770
544
80
396
593
95
791
962
211
865
314
558
830
769
762
98
530
562
967
459
76
821
112
948
134
920
585
612
430
595
695
384
150
249
295
382
377
994
371
212
453
742
824
574
563
67
813
5
421
327
227
469
720
468
485
205
755
215
627
762
124
420
365
310
493
37
397
192
886
365
31
133
549
807
772
570
427
43
369
407
391
722
794
921
481
801
338
765
690
659
478
904
923
714
321
81
5
122
399
951
327
629
537
844
745
878
758
552
477
144
72
985
744
977
215
834
302
511
230
481
27
829
587
379
574
395
728
188
319
50
883
17
987
566
547
481
116
718
288
652
494
2
236
719
935
947
361
984
256
876
334
758
497
524
949
173
246
493
245
401
424
235
732
225
292
684
717
302
754
191
392
35
302
529
992
280
616
874
372
58
503
821
762
361
408
802
852
463
863
418
315
478
567
266
9
84
787
54
420
677
8
339
138
286
436
696
67
613
982
186
26
975
314
316
488
159
451
89
239
291
610
468
653
327
744
694
980
516
305
384
766
707
231
59
918
610
271
116
603
141
444
353
751
789
8
784
606
207
497
500
701
506
104
824
969
700
432
152
339
806
587
1
639
893
670
975
43
39
644
937
851
464
941
985
691
31
419
904
294
189
737
599
22
144
476
992
804
795
335
167
515
449
546
838
728
852
379
320
696
337
221
583
170
666
673
185
575
200
445
808
167
144
785
727
760
566
862
254
28
623
234
179
323
793
178
205
355
923
731
937
784
502
719
120
246
127
281
380
510
26
896
816
375
572
896
866
371
848
769
103
496
340
731
785
827
920
885
576
601
886
170
336
594
67
540
783
651
709
587
604
286
132
87
221
390
602
646
129
244
275
659
287
414
797
904
980
220
837
505
115
542
199
654
451
947
522
401
172
346
547
414
20
715
251
951
193
474
52
574
736
150
131
328
971
654
419
236
160
993
622
439
774
605
941
249
668
194
186
25
633
498
598
104
962
862
632
899
744
524
532
468
489
96
169
217
413
527
365
882
943
683
998
3
468
787
344
402
93
754
330
900
314
53
547
434
451
831
604
181
853
586
858
938
970
235
991
841
26
773
326
341
981
480
656
968
11
494
974
583
711
339
832
867
150
218
478
952
755
40
399
256
689
272
446
342
368
42
589
36
933
611
917
133
799
407
646
756
927
872
9
165
700
764
898
888
889
797
114
651
879
339
862
991
685
899
257
65
67
296
30
305
265
861
638
443
409
345
481
417
713
969
115
467
879
462
980
880
427
260
161
98
400
943
684
579
995
59
92
491
855
613
927
180
46
231
172
580
555
374
135
213
396
488
621
835
821
114
734
784
477
382
18
286
342
887
706
27
17
8
736
256
360
472
566
234
496
45
952
330
142
702
417
593
424
896
401
341
674
979
771
346
885
809
766
707
322
616
994
453
992
574
617
530
554
180
743
219
566
419
813
81
704
227
970
308
640
346
236
458
808
637
641
841
284
381
754
342
462
547
182
595
385
771
367
607
767
459
380
744
299
125
160
532
449
440
200
124
434
94
243
932
372
264
692
715
838
594
716
378
366
252
395
365
447
846
794
475
995
510
449
879
620
108
495
823
982
833
605
573
890
484
46
356
397
209
562
535
263
668
714
615
589
336
312
985
666
37
501
466
27
588
787
461
364
924
889
823
489
918
415
787
860
957
900
31
423
254
681
70
255
954
375
854
788
536
630
368
67
954
204
292
175
894
140
828
843
976
93
528
375
528
945
463
773
588
72
941
572
489
64
5
154
900
22
517
695
117
15
58
263
761
975
687
441
230
852
259
821
531
704
829
361
569
816
612
809
871
726
60
629
854
177
972
327
47
108
282
137
24
281
666
984
806
686
946
434
408
664
208
650
792
911
356
674
727
602
988
95
824
774
922
360
770
247
577
873
896
469
202
271
625
621
376
817
442
457
984
872
24
526
281
87
508
768
760
804
954
112
794
426
518
537
306
102
555
974
96
370
703
702
24
592
429
303
379
659
424
652
337
516
97
112
421
668
880
34
822
230
566
994
963
730
219
327
129
246
404
378
466
564
269
523
11
111
924
583
78
744
231
744
158
566
306
910
384
337
403
641
958
241
191
914
246
514
236
234
351
328
636
250
256
336
844
592
928
171
288
981
181
344
911
669
627
3
227
176
937
315
22
266
203
865
297
740
987
753
707
840
707
734
254
133
726
22
154
901
99
181
359
629
60
716
398
319
488
744
149
652
799
786
353
830
534
443
942
207
509
558
917
855
313
872
850
267
447
657
162
274
141
587
647
734
90
847
447
261
402
804
991
909
99
975
23
351
404
18
993
466
194
388
646
388
569
105
959
71
272
612
910
339
73
681
804
364
318
966
948
756
920
272
390
553
544
516
34
616
7
989
613
104
705
489
692
303
498
180
620
832
833
767
920
404
860
59
779
122
520
418
244
241
665
869
789
754
623
441
836
937
777
273
220
237
752
716
539
164
740
522
748
396
586
152
512
927
987
618
138
52
419
672
936
264
894
730
540
626
719
947
715
892
692
264
193
313
738
789
803
709
479
708
467
522
28
106
431
379
276
63
509
2
211
774
422
529
389
520
441
677
238
203
891
123
217
436
859
917
513
686
637
987
2
858
588
821
228
639
664
416
408
181
903
317
246
291
834
60
864
95
178
362
568
823
607
499
11
88
413
719
967
695
592
755
806
2
526
558
341
511
218
646
901
577
543
54
277
930
770
186
862
942
355
518
903
999
809
515
897
266
611
154
174
984
811
518
796
901
824
60
282
850
444
388
362
355
933
773
139
177
145
519
307
460
212
685
464
273
341
842
280
955
656
752
902
399
457
170
340
392
961
903
998
173
467
600
9
636
279
321
137
607
220
473
435
772
509
626
107
222
228
685
73
527
843
502
869
789
686
481
611
378
662
734
732
486
705
442
583
153
778
213
617
371
465
764
813
7
10
840
420
596
871
835
636
194
435
527
4
818
870
21
121
376
586
683
603
104
707
296
752
177
25
954
738
667
27
818
223
818
461
319
820
489
406
730
808
186
494
893
675
148
870
534
950
853
51
514
935
929
302
490
344
470
405
540
141
15
907
440
312
598
834
901
410
726
866
246
85
283
620
278
465
36
774
934
996
124
203
244
856
445
339
501
398
429
948
386
109
585
285
952
943
49
326
256
844
177
539
582
108
404
865
812
932
572
509
912
38
761
225
972
792
296
832
683
961
333
474
864
389
574
373
493
837
529
452
655
889
348
411
227
527
180
637
658
894
481
388
847
292
553
644
928
280
29
607
450
188
637
147
661
81
50
411
382
788
688
271
607
915
258
297
436
798
579
791
108
313
125
309
470
765
814
46
891
597
673
579
895
463
794
673
72
677
903
200
876
172
886
536
952
693
432
607
8
644
618
359
853
797
681
116
141
536
519
3
138
400
703
524
137
415
687
309
937
69
802
192
704
791
412
217
444
628
886
624
73
802
506
809
346
664
635
928
999
196
289
922
951
199
971
606
47
206
90
587
47
83
130
845
643
212
645
286
284
193
687
779
254
233
336
974
843
325
112
62
861
167
142
822
667
704
109
159
439
775
349
280
944
760
941
75
282
623
514
763
729
80
334
972
995
91
981
173
189
467
989
791
112
192
992
609
444
714
443
314
371
623
0
596
262
551
756
456
371
166
727
296
594
19
801
857
117
576
340
235
405
365
312
570
650
442
65
608
879
965
11
351
886
234
315
752
854
564
114
915
594
729
710
33
656
311
526
835
417
883
748
358
590
405
859
479
729
785
623
789
982
140
753
801
903
746
540
263
832
975
218
952
734
332
791
860
312
79
653
361
621
35
144
506
827
821
513
97
785
29
562
897
783
468
890
754
931
603
4
809
766
282
75
553
518
147
611
525
851
178
435
835
893
243
152
591
308
259
89
304
321
656
290
935
100
621
895
316
195
408
801
95
524
557
214
794
588
666
560
711
616
565
864
541
818
347
757
652
214
650
12
937
281
86
302
986
947
915
607
484
867
742
307
632
942
351
828
281
630
446
564
88
444
496
649
78
385
911
627
452
56
96
643
383
745
97
940
471
243
636
424
135
501
285
406
718
373
66
925
315
402
547
767
530
193
647
697
262
45
564
25
15
461
393
990
890
477
253
353
420
797
829
368
406
265
25
836
971
869
248
111
552
660
248
76
963
976
995
956
380
296
421
995
386
881
215
267
971
257
402
15
486
698
281
198
466
96
662
557
772
880
69
58
30
537
810
81
507
885
96
354
601
486
209
201
109
186
786
848
203
167
284
299
871
59
127
334
744
498
870
196
984
497
944
513
303
161
481
703
469
67
374
89
316
225
692
341
328
52
332
679
534
310
144
438
906
293
850
876
664
823
606
860
405
169
951
198
658
194
945
238
28
549
176
455
894
977
66
996
924
744
514
874
937
620
909
275
790
271
43
451
941
852
568
932
640
583
235
710
70
606
549
976
558
747
215
565
360
196
36
922
358
109
226
55
922
107
295
341
806
895
235
622
231
30
347
822
640
846
195
272
921
317
438
405
483
436
161
154
737
102
800
239
156
468
941
746
870
522
530
569
655
903
830
632
720
162
833
169
343
299
637
732
249
533
616
114
70
922
240
860
105
242
906
151
961
598
874
101
196
205
905
999
747
789
361
325
597
321
288
171
534
538
787
2
219
892
40
587
473
197
387
754
307
94
698
144
72
584
82
625
193
589
110
319
832
251
604
304
704
8
840
180
801
33
52
115
191
5
550
613
573
883
307
977
521
483
945
352
199
31
904
684
265
865
591
822
110
486
834
36
535
540
537
112
462
428
771
61
52
453
71
355
513
931
696
37
817
906
283
858
600
13
26
332
47
858
557
935
243
13
281
847
844
759
885
463
744
833
348
178
124
687
960
847
77
60
255
217
783
982
899
935
437
932
838
257
385
721
48
230
521
194
397
958
305
521
157
808
632
191
889
732
337
803
640
485
617
741
244
518
469
560
947
765
504
732
107
231
225
693
831
186
575
83
706
673
446
984
634
11
154
348
150
96
307
97
232
397
608
512
149
635
590
752
170
36
776
189
40
992
861
2
489
776
600
959
478
340
237
687
12
825
486
379
923
164
681
349
55
954
473
701
106
555
417
848
520
421
884
205
377
810
1
266
638
467
408
663
7
49
759
252
197
380
304
214
853
728
499
892
638
86
177
823
717
620
235
98
991
92
116
144
956
545
475
749
282
982
221
844
959
597
274
52
439
568
550
277
245
283
358
99
292
170
287
599
920
456
341
710
740
247
293
114
437
296
868
808
494
442
475
975
247
490
610
907
544
438
52
582
910
806
666
589
522
4
595
758
210
300
181
339
513
57
334
641
17
518
987
305
936
912
138
817
836
144
94
885
896
436
783
393
632
340
179
840
269
660
543
168
864
148
750
682
504
101
487
402
590
311
875
61
419
278
661
878
657
248
68
519
928
81
964
141
592
393
536
155
534
294
267
232
879
200
457
667
819
840
746
930
466
864
191
506
731
499
189
300
212
333
614
505
502
124
367
805
608
97
104
835
644
839
132
638
216
964
729
513
875
781
948
557
578
36
243
417
247
869
913
184
998
528
293
397
149
146
673
971
425
461
163
225
807
84
683
401
486
393
436
391
181
762
414
475
364
387
778
241
174
930
514
804
749
444
120
804
220
275
323
210
297
588
442
815
477
811
944
818
98
6
513
349
999
69
738
267
694
757
464
740
239
486
932
459
501
111
709
561
496
505
14
976
170
281
409
551
479
545
119
892
522
189
836
862
727
555
566
965
576
910
206
732
373
270
265
839
634
178
521
623
420
409
121
328
971
524
99
918
517
32
996
10
570
221
778
640
11
844
850
50
141
506
934
875
530
442
580
892
347
220
46
76
188
219
436
234
846
928
990
691
28
881
706
499
731
266
992
381
491
684
835
423
205
640
8
76
16
938
578
424
467
520
426
792
717
257
508
239
155
323
149
621
516
953
861
159
986
259
886
34
265
455
4
304
370
198
739
448
751
121
149
477
884
908
727
566
447
387
95
659
901
696
862
909
230
19
479
331
96
631
362
675
247
756
188
716
444
925
854
583
261
319
975
499
93
21
485
636
577
184
205
12
621
932
319
555
32
866
138
507
320
143
580
470
54
701
663
416
144
479
864
872
594
273
315
498
939
107
671
119
9
810
38
479
276
345
994
5
491
59
447
515
191
342
10
86
531
258
56
396
110
864
415
786
205
590
507
14
913
223
643
886
713
521
440
389
561
411
352
906
711
596
751
804
544
414
885
15
359
990
595
667
21
539
616
639
712
604
182
749
431
231
379
666
12
407
687
650
926
296
120
880
143
317
746
542
465
626
88
84
898
138
109
546
294
35
331
330
997
351
230
660
129
703
391
677
469
971
584
231
524
41
535
664
109
642
960
675
676
313
256
367
313
463
749
600
38
916
342
652
357
549
259
702
260
353
286
579
181
422
63
68
599
470
222
798
839
696
867
90
126
119
197
210
433
875
38
242
222
762
648
392
724
174
524
336
544
24
580
44
58
453
2
420
683
990
304
865
222
123
122
446
582
584
272
87
755
42
413
192
293
771
406
216
513
411
672
503
757
496
290
122
459
68
793
523
530
716
691
856
964
34
346
851
197
339
389
932
949
678
474
185
934
507
720
451
107
479
668
609
370
558
817
593
705
462
377
224
353
418
759
872
154
311
397
779
167
731
189
182
829
309
342
737
41
23
420
528
213
479
100
917
786
702
236
842
671
302
635
811
203
182
295
919
357
697
136
208
149
303
151
144
482
619
965
623
786
168
553
718
273
688
230
802
574
207
946
929
505
831
292
525
385
163
447
451
63
130
854
42
369
774
509
326
873
911
552
861
697
921
982
126
492
280
620
29
573
911
961
603
938
48
748
217
896
543
762
367
609
169
131
944
729
522
873
429
570
531
755
331
891
841
143
184
702
465
82
381
528
389
202
985
845
404
804
736
444
946
813
774
868
499
300
939
968
745
133
171
972
624
259
874
814
792
228
356
299
633
423
658
310
858
826
979
480
188
570
420
415
831
755
819
693
567
805
505
917
722
484
215
995
694
117
279
815
645
546
952
255
74
525
997
398
88
745
945
652
296
429
716
717
352
855
291
989
83
303
562
574
168
702
702
475
862
300
998
667
602
220
415
802
809
687
199
898
387
29
997
93
373
607
605
649
584
944
568
553
399
585
761
388
204
229
189
433
862
577
826
749
9
847
605
479
371
92
730
69
137
255
634
898
670
287
972
177
28
908
246
992
663
561
193
534
218
997
647
48
538
42
899
569
791
169
849
380
142
768
875
717
848
695
286
639
17
595
564
347
44
314
911
299
777
663
415
799
621
591
744
496
91
812
211
642
290
364
974
725
742
809
294
830
21
434
80
818
999
803
780
748
276
1
634
294
85
30
55
282
711
209
690
700
962
121
947
322
485
95
142
51
94
431
378
72
213
762
501
656
140
684
925
14
293
337
747
156
688
992
897
762
676
977
677
445
13
797
862
307
70
965
566
379
327
727
753
297
179
359
320
214
990
541
765
47
377
928
99
427
17
571
842
580
337
641
790
245
210
819
619
900
571
627
189
111
283
115
227
663
778
793
378
622
802
506
262
675
782
420
353
979
663
10
745
453
842
930
504
364
78
846
476
261
487
256
162
500
874
191
699
917
319
733
40
993
228
593
590
504
116
564
685
990
822
94
944
780
80
33
655
771
146
246
615
756
869
143
7
584
141
855
721
821
416
540
178
320
307
296
742
379
674
243
96
377
398
279
651
459
454
717
868
45
316
384
718
887
209
87
368
479
713
164
325
736
971
176
545
769
925
68
160
163
698
74
390
837
738
969
262
268
809
613
892
811
475
224
40
15
215
309
2
244
565
205
492
434
883
557
966
824
872
350
458
457
197
519
513
253
67
751
263
887
163
59
235
609
927
908
688
843
730
127
440
375
216
687
224
506
332
329
152
937
757
637
831
965
100
936
276
397
980
546
557
277
68
761
786
752
920
390
793
671
103
652
953
129
330
662
742
192
550
726
214
733
511
754
743
539
500
745
654
870
112
500
572
50
864
696
368
370
392
535
153
742
48
552
500
626
825
71
641
138
192
883
872
797
252
758
89
143
813
181
949
142
664
988
83
125
957
384
807
665
447
227
78
744
409
999
1
544
949
505
298
692
249
154
692
277
867
550
952
449
849
844
3
577
646
810
821
560
130
664
344
779
300
790
634
364
685
901
587
975
193
426
919
13
348
301
926
956
278
765
985
487
339
638
709
31
957
183
591
214
426
280
168
971
392
819
866
194
181
93
761
388
635
173
563
12
658
354
22
649
891
929
323
685
970
832
379
66
235
652
40
886
980
156
66
297
170
386
338
293
502
737
924
928
825
816
921
150
178
273
396
810
157
893
410
122
301
16
177
905
241
190
39
891
558
993
372
345
317
211
427
791
149
661
917
462
457
31
306
846
85
297
763
661
304
105
873
43
540
68
637
288
992
135
702
707
437
311
710
941
410
908
192
721
556
544
79
620
399
451
222
487
629
318
182
890
94
325
609
727
45
356
216
817
867
674
534
305
512
979
657
897
808
200
475
713
495
108
498
824
656
848
256
493
622
36
498
393
832
900
782
962
196
971
826
673
138
956
643
843
293
154
113
993
397
740
619
736
923
237
667
843
866
694
654
440
177
836
784
209
106
551
112
164
713
425
911
581
340
612
345
714
508
993
828
921
645
287
190
828
0
211
376
708
603
769
63
996
544
703
521
85
939
670
135
865
839
361
161
311
319
618
832
908
556
79
887
111
876
61
12
548
24
189
233
624
631
261
270
973
972
80
529
399
912
77
618
435
912
36
929
471
306
742
911
907
710
262
315
658
357
395
764
198
788
324
539
339
888
40
199
62
280
338
413
239
803
961
768
85
399
983
625
991
88
487
1
624
586
200
138
164
935
395
474
835
626
789
141
15
988
359
81
879
212
383
582
940
686
852
161
734
45
966
193
837
347
981
30
892
365
885
837
199
808
347
226
77
388
452
512
784
224
864
751
328
293
256
218
70
862
282
811
826
666
398
355
964
190
437
730
395
391
654
824
403
159
703
389
532
620
130
909
569
254
168
160
154
888
224
472
215
446
755
979
669
699
993
392
763
275
582
168
468
971
461
500
119
87
745
104
769
648
165
54
70
607
225
855
272
239
778
291
279
557
828
579
448
992
530
707
901
541
891
172
280
990
761
263
736
582
845
346
546
395
733
16
648
439
332
2
260
820
901
509
628
905
307
216
377
747
11
465
784
539
229
645
207
259
820
160
320
821
129
930
863
119
295
931
52
446
324
494
872
860
160
71
630
188
725
759
39
86
105
122
536
285
578
734
818
738
210
483
907
463
773
12
139
759
39
954
39
276
868
675
653
318
514
563
701
33
25
430
868
535
619
787
579
159
619
599
757
981
552
252
516
463
744
814
251
458
84
395
709
243
123
447
45
550
940
483
397
170
216
281
988
466
578
409
682
558
847
861
771
111
846
661
599
954
643
425
292
924
583
522
534
597
273
845
853
727
931
79
445
194
353
66
583
825
245
397
23
394
591
854
444
926
643
432
890
834
347
138
269
23
913
95
28
290
199
432
545
378
753
341
349
41
406
505
891
718
696
276
780
526
56
30
602
459
615
646
879
413
49
289
662
735
725
628
350
317
684
585
55
340
913
278
811
441
478
924
858
901
734
364
130
184
805
683
611
143
969
774
819
625
176
856
328
227
173
431
392
77
96
107
297
99
413
454
18
60
351
95
392
91
596
531
17
185
34
850
47
878
773
357
843
768
242
19
399
540
913
939
37
595
472
647
78
222
572
950
876
183
601
524
15
797
297
967
760
143
799
611
308
762
91
257
134
475
700
699
656
80
495
273
533
7
992
875
930
486
197
293
875
126
718
48
937
349
73
414
860
764
551
93
618
39
662
974
359
316
815
981
47
900
720
629
721
341
844
303
540
445
629
607
77
436
598
460
429
632
287
328
675
919
980
65
535
867
60
956
732
196
801
535
744
591
772
665
290
520
200
803
903
167
224
23
800
772
437
851
734
129
63
738
47
53
332
31
193
289
906
17
889
238
769
656
260
199
208
17
257
128
869
600
506
769
723
604
917
905
312
865
997
558
50
940
436
871
227
818
194
58
481
832
597
749
476
238
919
759
874
753
252
844
687
224
184
910
42
808
814
344
833
856
934
913
547
53
602
870
658
934
334
338
107
739
454
48
134
229
609
332
978
506
677
531
82
191
543
982
511
944
820
653
948
486
393
259
766
550
480
305
394
891
6
859
673
354
50
578
407
38
186
147
905
468
482
586
645
711
405
383
988
796
644
75
302
955
606
590
894
507
42
374
839
131
457
772
368
872
538
242
312
969
128
339
761
473
268
512
97
275
610
296
1
232
35
505
275
776
473
397
570
466
904
539
695
47
553
59
642
855
745
595
523
289
600
246
263
288
271
91
740
320
131
177
276
488
73
325
741
782
709
641
512
622
758
858
453
635
873
804
625
651
496
340
953
839
691
843
292
738
766
537
129
248
277
254
827
113
331
512
240
902
427
978
856
46
686
797
632
369
208
282
209
36
240
875
31
887
573
40
75
920
38
373
786
151
930
47
351
46
131
307
132
850
310
252
875
366
513
856
24
397
618
131
296
863
164
149
396
50
783
513
531
344
442
370
197
143
342
995
92
721
711
521
938
639
384
337
107
979
228
162
522
599
510
105
433
499
121
201
422
821
12
692
37
50
533
431
213
599
375
417
455
299
287
933
788
630
747
616
432
904
494
211
740
174
230
888
397
208
811
210
698
549
549
6
846
279
245
317
201
919
959
467
976
86
695
687
508
236
681
236
350
611
824
869
54
983
190
126
475
30
372
11
765
620
836
439
291
910
663
752
360
610
570
253
42
665
581
796
799
586
195
794
772
368
914
120
468
110
421
383
641
63
221
473
114
313
565
288
185
993
346
830
423
567
370
964
758
327
416
581
177
878
904
348
291
869
666
648
759
429
264
629
335
778
845
496
285
918
292
471
71
260
379
645
385
493
215
809
837
955
624
529
336
924
350
443
690
588
514
536
492
341
764
715
690
946
10
547
601
257
281
947
780
551
429
691
816
352
558
956
266
677
268
588
4
92
49
149
245
65
301
316
719
930
38
457
842
409
843
742
866
641
797
662
409
278
397
437
78
677
468
324
178
644
770
512
581
639
740
896
568
238
238
25
162
743
415
365
127
49
881
989
725
380
157
12
943
923
346
824
970
730
508
458
218
935
909
957
145
228
914
85
727
849
499
154
383
77
323
559
100
544
204
710
317
434
577
742
581
409
126
644
695
156
955
346
368
399
625
293
215
682
209
464
597
344
694
278
64
13
646
657
232
211
425
168
216
515
343
49
181
568
991
871
409
201
478
462
3
754
999
145
745
830
261
908
901
428
414
342
383
857
752
562
812
979
719
417
145
455
413
429
203
994
821
918
30
705
58
813
22
46
491
630
705
83
577
3
447
465
493
500
910
225
757
414
627
231
857
502
338
496
176
185
219
233
809
8
993
165
606
69
911
576
538
429
648
708
95
293
13
908
279
313
657
442
452
896
901
565
8
505
563
280
153
662
952
465
940
689
240
398
502
161
160
674
224
257
106
471
900
795
939
202
804
252
378
301
322
498
356
381
258
22
981
186
15
506
987
583
699
897
407
854
77
881
942
610
253
117
180
328
417
807
286
936
438
540
413
325
740
308
653
204
311
42
584
25
869
897
0
846
132
514
197
177
686
120
767
776
496
646
944
720
611
578
580
877
981
104
250
400
326
766
467
899
82
776
587
832
276
931
212
557
449
658
312
352
613
666
699
644
216
806
91
403
804
966
873
752
584
108
350
800
396
94
712
251
952
331
198
30
837
6
674
248
950
957
773
797
523
737
488
151
232
838
869
339
232
164
767
157
655
136
587
331
446
694
930
417
756
808
966
742
779
617
543
446
639
449
542
327
489
492
666
606
220
360
20
300
910
989
391
113
1
571
478
887
582
968
418
278
556
698
776
600
772
704
734
842
601
397
824
675
801
81
461
853
639
470
685
846
853
249
55
104
415
157
37
708
534
500
828
803
953
221
956
702
683
778
490
399
60
683
569
854
291
775
278
491
797
830
988
735
188
45
744
185
279
79
750
18
603
430
786
513
396
313
72
566
542
787
665
91
231
832
367
955
570
758
494
817
734
855
282
332
407
343
651
387
769
559
984
50
882
953
185
49
556
3
216
201
438
635
936
261
361
561
925
649
656
351
383
275
275
835
410
72
100
107
806
691
279
190
995
946
214
493
211
796
209
32
552
763
63
396
791
673
564
742
61
318
748
115
388
917
265
241
278
974
431
414
848
364
521
427
771
293
143
40
249
524
499
250
899
134
668
916
751
752
147
368
740
691
893
264
849
732
767
533
84
820
583
929
731
125
355
612
765
430
927
493
850
816
338
112
830
395
618
534
958
730
895
298
914
299
413
851
32
743
277
209
302
661
700
781
410
420
805
669
610
404
115
603
527
204
196
8
32
955
972
351
329
732
413
563
758
852
82
380
674
108
837
769
907
88
376
365
209
788
239
14
308
493
231
52
607
756
465
294
10
377
823
84
790
639
789
108
119
154
919
981
614
301
483
993
896
959
951
164
162
477
754
493
205
60
328
648
424
279
824
382
57
634
31
76
344
508
709
950
869
767
510
3
145
404
796
685
71
420
116
94
704
788
471
482
407
479
222
165
951
270
545
119
495
646
722
134
679
976
410
923
193
735
770
394
955
31
838
761
335
46
922
153
630
275
831
549
200
527
712
703
749
234
264
380
721
570
232
914
177
665
965
363
250
357
778
783
120
981
416
385
972
31
660
75
591
114
259
241
954
650
919
165
382
15
665
436
162
283
338
787
661
731
55
969
894
840
102
213
148
65
198
705
698
496
1
136
176
470
92
7
977
578
799
864
436
668
985
10
445
759
796
74
512
700
381
237
629
149
495
472
260
44
342
322
681
942
765
943
491
23
950
882
309
859
676
158
167
991
348
199
841
745
135
308
619
400
351
177
618
193
410
934
784
538
395
456
45
739
571
743
346
793
271
985
700
224
113
895
585
859
231
390
143
731
719
378
193
688
126
12
644
599
131
591
385
796
171
822
407
837
236
799
362
105
668
368
633
149
663
858
376
144
429
771
816
634
26
253
930
554
824
223
127
698
602
587
351
356
746
348
70
289
650
956
760
943
848
957
317
436
659
941
225
88
624
735
333
421
554
50
664
234
418
354
159
198
959
345
464
52
308
50
872
754
777
664
820
255
228
6
664
447
346
633
379
954
965
790
743
889
576
105
911
382
340
813
536
967
502
902
936
724
810
214
86
455
681
244
562
927
6
472
731
571
743
691
953
148
722
73
623
443
122
348
966
301
17
751
577
295
211
979
947
131
301
430
252
923
174
731
892
432
654
701
985
341
282
368
508
363
936
13
714
238
888
880
465
114
752
139
474
145
961
656
764
836
580
920
860
253
74
13
689
746
572
869
221
207
346
153
364
915
107
680
184
576
187
155
824
111
7
352
69
439
971
541
100
837
890
190
333
437
905
679
863
530
340
321
437
418
489
601
709
191
844
69
302
965
381
548
416
876
679
758
395
351
443
19
664
129
629
951
576
111
614
27
114
996
323
640
591
920
724
437
599
32
663
546
868
784
116
351
922
412
901
922
333
483
610
66
823
809
875
320
919
218
92
510
966
676
952
977
326
768
871
115
420
16
583
633
309
618
625
967
785
224
423
311
492
985
855
157
643
203
472
573
687
665
688
976
135
369
768
610
609
391
976
549
76
772
848
235
157
846
167
771
201
832
727
102
307
432
296
732
55
9
776
665
329
160
11
373
95
165
368
525
286
404
888
200
105
953
766
776
848
700
819
916
266
773
89
718
707
885
878
935
396
275
481
119
663
513
134
159
646
278
451
122
282
59
262
970
237
850
710
27
60
866
123
864
589
240
842
611
844
82
57
569
11
506
144
741
681
892
685
580
839
126
933
413
201
740
294
148
8
217
672
967
577
372
8
702
930
74
74
835
248
278
481
169
729
758
833
827
32
663
943
439
484
831
953
432
259
474
930
979
573
465
518
706
548
468
831
394
4
918
496
571
84
488
299
191
89
922
83
146
723
142
38
855
77
161
396
494
976
599
581
273
378
757
265
214
321
484
931
848
622
934
373
750
306
281
959
586
630
545
560
922
132
82
439
401
706
576
941
804
586
694
655
488
999
37
427
964
540
643
864
321
460
925
682
749
364
173
77
664
144
365
55
285
123
784
464
505
158
425
534
533
494
895
203
908
120
601
671
313
904
967
953
933
759
743
675
131
159
924
974
780
579
890
7
443
559
789
415
639
572
495
85
510
742
261
571
743
428
571
294
256
447
831
165
653
362
839
40
401
94
554
944
796
780
184
92
552
443
118
31
222
36
697
785
951
597
840
37
261
684
342
489
426
371
312
206
893
181
412
863
47
987
620
800
694
619
691
890
218
364
73
557
969
656
746
759
196
962
771
502
122
966
526
209
638
422
201
203
142
489
755
830
532
370
835
576
849
287
840
199
91
898
231
785
234
458
660
728
255
371
525
888
591
406
507
810
58
659
868
58
569
282
63
328
964
557
906
956
263
634
46
661
292
440
438
299
838
40
277
289
340
896
819
653
899
744
778
890
165
676
305
158
235
799
739
828
405
270
714
496
529
830
301
177
421
587
917
366
82
132
184
315
328
162
752
443
663
104
569
858
225
601
293
908
302
138
742
555
80
257
281
732
188
672
500
615
703
277
212
659
938
742
983
245
224
209
45
703
744
857
647
254
808
621
270
383
472
481
980
308
392
497
690
597
281
324
714
868
973
742
527
933
545
528
792
107
390
275
729
248
739
415
705
567
620
41
260
793
933
372
259
984
693
246
632
938
216
912
93
93
441
664
131
739
534
840
291
140
607
810
723
106
804
611
650
128
310
803
857
567
908
1
972
620
497
45
488
289
819
349
993
88
278
201
352
621
302
624
2
325
383
32
644
580
738
128
961
374
496
530
801
320
877
773
816
122
587
694
503
171
707
929
872
125
848
39
855
167
7
805
642
615
27
310
802
515
510
149
169
162
701
258
738
127
608
610
615
698
991
789
237
84
13
673
840
802
72
657
889
185
431
457
534
959
187
493
210
413
665
614
272
577
112
852
62
110
419
701
211
41
682
984
124
60
642
990
349
560
3
401
729
447
115
136
739
376
230
39
968
54
179
481
170
338
521
515
269
474
237
216
839
864
701
386
298
867
726
155
383
529
860
928
674
443
945
987
694
706
299
897
570
877
656
607
698
37
974
217
807
978
80
268
991
93
280
872
3
130
550
569
156
10
599
14
347
843
91
95
45
849
958
956
851
779
461
749
468
401
154
921
393
799
58
248
238
958
937
536
443
545
367
383
430
846
615
895
374
209
936
644
855
166
907
779
149
748
785
387
365
806
603
785
583
754
665
517
303
709
422
169
673
853
437
161
866
605
928
786
513
393
616
863
758
947
469
349
424
350
590
848
942
430
694
409
448
777
821
619
659
28
304
633
151
355
856
878
617
828
0
408
88
165
888
55
933
641
375
666
223
305
766
206
348
682
837
49
695
764
44
142
965
278
92
692
213
653
375
686
221
689
672
95
267
453
803
235
810
857
434
216
618
674
82
932
858
775
977
711
670
747
926
196
973
882
834
493
297
416
98
852
564
540
124
652
347
828
394
399
503
466
774
371
867
990
479
731
344
242
172
191
752
713
161
717
856
758
230
932
350
96
34
606
766
747
423
807
719
448
333
569
485
217
339
273
834
314
209
651
726
456
609
674
163
463
620
432
667
604
236
429
658
482
726
973
409
704
214
72
92
472
582
907
852
141
610
830
121
18
490
763
294
652
94
544
565
919
178
667
302
568
176
251
855
218
203
980
940
12
702
551
940
44
603
52
716
521
299
902
941
428
624
869
184
395
897
551
556
573
525
449
777
562
682
755
7
512
370
297
778
865
443
750
479
638
564
681
688
452
253
179
807
443
287
202
822
391
341
96
435
236
418
591
938
580
219
981
808
454
492
789
719
752
843
371
574
842
848
102
519
272
385
385
939
69
25
208
365
800
780
674
257
912
228
330
973
995
860
738
929
895
572
723
175
478
373
722
730
307
136
818
405
829
884
554
264
234
281
409
547
297
976
434
774
927
794
50
778
71
345
758
895
862
11
735
43
466
741
121
302
315
207
882
96
370
974
491
752
153
173
936
714
929
765
423
953
185
33
488
50
38
926
851
959
882
409
270
621
485
455
495
72
751
309
592
104
537
689
688
795
549
803
611
435
923
960
282
201
596
705
412
692
172
476
10
798
845
645
969
187
52
137
630
337
887
565
494
302
675
112
985
811
46
848
852
489
247
536
202
424
563
26
26
670
677
438
552
797
801
115
420
677
417
841
692
774
655
498
719
751
233
475
562
256
934
650
777
578
841
220
497
320
690
600
314
525
288
638
944
118
752
191
422
886
143
733
846
724
278
492
305
363
445
708
785
313
955
903
197
441
188
150
242
763
875
162
736
546
403
573
865
261
928
643
770
119
670
533
370
690
396
811
708
966
44
646
734
452
615
924
836
7
332
596
896
649
225
154
248
758
476
772
40
893
887
431
279
169
210
712
106
289
552
839
327
179
110
107
844
702
351
297
185
961
124
677
707
653
73
235
170
63
614
30
938
958
890
201
752
22
629
648
408
573
573
307
581
79
205
974
309
230
551
76
814
170
55
286
928
835
389
452
864
394
963
145
206
592
801
912
913
467
450
676
908
285
263
998
929
478
150
650
912
953
311
799
110
241
465
224
376
361
357
108
282
675
481
811
261
928
565
999
152
390
447
39
537
50
620
758
177
180
793
275
208
159
294
891
175
145
506
933
469
548
664
281
236
995
837
307
288
818
589
252
205
824
737
9
894
970
256
366
67
873
152
51
427
330
506
167
572
0
318
793
27
985
242
553
93
81
588
895
939
525
671
560
414
452
129
294
527
279
740
665
699
808
102
381
995
640
314
743
369
717
244
720
251
364
13
588
909
311
674
380
19
796
170
167
267
238
808
59
629
940
309
750
231
156
378
712
706
409
918
935
63
812
731
933
239
434
83
95
503
855
946
982
424
338
852
532
834
34
690
590
42
118
18
890
444
363
360
20
228
615
961
264
852
580
293
176
720
123
756
476
445
87
769
449
341
609
445
289
692
81
273
937
547
456
270
545
844
71
121
769
383
619
21
674
899
388
715
208
334
21
205
938
506
988
512
141
40
412
388
963
535
763
855
678
201
264
84
511
682
488
18
761
593
996
356
932
687
244
554
250
23
748
161
445
328
186
252
955
920
878
138
487
979
392
245
860
720
458
854
822
97
384
59
976
971
196
131
719
364
826
983
134
521
409
361
989
305
754
728
452
584
772
362
956
826
231
941
125
623
248
645
364
44
538
18
438
613
233
912
312
110
797
50
514
938
953
305
830
556
365
1
797
417
497
359
773
791
333
137
844
501
596
195
655
362
283
529
812
374
449
952
398
136
317
434
175
952
720
196
728
676
963
7
575
911
843
868
629
954
939
547
288
754
264
969
310
700
961
84
997
814
339
819
730
236
568
433
776
380
187
121
699
519
176
992
410
221
763
152
458
669
882
929
210
909
908
313
911
912
966
977
171
453
93
333
402
955
752
368
284
302
817
585
209
965
155
497
222
670
600
898
639
934
840
532
690
295
394
691
175
23
501
361
650
600
51
856
926
685
570
406
340
23
382
886
824
965
753
987
192
555
317
159
872
332
977
50
76
653
854
201
366
775
184
363
486
232
427
286
351
727
701
979
460
850
395
593
982
187
54
286
941
431
442
420
213
754
3
706
480
760
73
302
432
352
111
778
336
376
9
755
139
939
43
747
138
2
319
414
673
389
407
492
172
456
30
534
943
287
234
429
116
157
106
787
716
210
261
293
220
11
306
979
273
911
356
505
549
343
422
721
322
867
320
819
221
706
414
946
911
588
817
906
530
19
34
557
166
675
647
632
343
985
861
653
827
507
526
825
635
586
348
385
245
285
360
394
76
666
959
476
605
609
926
432
979
783
909
20
350
446
475
853
560
850
335
422
794
532
760
709
416
167
52
459
231
455
550
329
439
854
548
707
887
407
131
737
607
557
539
648
907
6
827
572
478
643
563
853
926
211
61
85
559
714
237
976
290
576
446
323
79
291
697
737
519
158
427
426
559
585
437
463
70
136
289
193
346
38
953
998
657
978
284
386
814
810
94
688
723
92
554
165
734
849
387
373
890
325
277
397
508
276
488
761
130
605
298
824
436
390
400
705
465
157
39
18
465
544
742
359
866
728
745
150
532
586
344
537
539
730
444
939
713
603
104
320
931
234
263
514
426
563
965
602
408
419
983
940
569
431
801
479
497
693
255
917
601
40
34
546
942
253
12
213
14
924
878
187
992
645
100
890
388
738
125
630
241
534
965
763
668
801
632
527
493
980
665
415
706
77
780
320
43
836
911
741
728
602
275
460
910
383
400
848
178
98
656
792
793
378
278
689
436
781
505
278
870
595
887
991
337
837
104
744
915
11
406
673
344
563
453
227
625
580
909
720
242
883
122
162
678
173
228
943
811
140
379
725
573
850
448
970
40
857
214
988
992
63
20
444
49
638
469
230
756
296
434
434
882
970
941
746
801
442
817
227
33
459
197
302
878
62
828
687
728
749
733
675
770
683
595
80
463
805
595
717
789
775
683
759
444
720
0
242
91
47
432
861
654
957
152
713
610
239
515
676
346
889
182
472
400
794
147
925
943
982
420
880
5
809
907
349
487
100
479
525
802
646
915
291
740
458
132
910
657
481
735
961
110
640
752
949
49
435
699
523
113
144
965
796
878
854
960
51
230
335
17
756
985
115
989
174
10
541
253
835
360
349
964
520
796
760
764
253
208
402
923
975
835
379
71
498
582
604
566
398
867
586
211
632
930
508
889
641
161
145
854
138
713
860
692
39
318
269
169
528
123
978
322
303
881
732
205
148
330
433
348
854
470
530
954
945
251
384
19
643
592
641
468
558
149
363
102
991
367
821
48
486
392
119
652
354
121
442
396
328
741
177
510
617
446
769
407
659
304
810
180
104
800
878
593
65
478
341
472
665
162
692
245
480
859
158
775
23
78
723
832
781
232
625
62
821
920
988
805
644
52
602
33
579
630
69
828
111
623
458
28
696
31
598
581
72
862
248
869
879
974
194
503
552
879
189
698
40
573
927
330
327
671
675
745
549
220
320
27
4
377
787
233
69
799
366
768
618
589
650
670
889
231
453
945
816
67
826
466
982
253
962
762
665
156
623
389
234
757
534
459
311
16
39
926
478
686
945
965
736
746
295
857
152
401
81
658
494
871
143
137
531
296
614
455
779
614
872
237
711
497
196
569
450
747
928
706
282
293
897
838
5
801
498
95
282
604
730
626
707
935
757
721
556
434
815
900
768
520
995
488
302
787
486
324
464
331
99
674
829
778
631
214
66
955
931
330
63
392
199
900
488
15
153
422
697
850
696
131
169
952
454
612
282
672
165
66
459
413
13
787
514
165
777
279
992
981
555
926
178
772
908
789
151
384
821
942
605
541
705
803
697
366
996
858
363
194
387
776
314
571
88
260
936
296
728
647
582
415
371
917
440
815
791
63
380
671
704
854
303
597
36
135
603
430
840
69
51
241
336
420
916
517
990
756
799
452
651
988
58
209
735
570
825
952
775
1
441
314
302
224
723
79
478
922
951
584
339
245
2
153
444
196
47
480
225
986
25
786
651
996
520
908
634
609
250
469
751
162
205
38
800
727
844
197
721
308
35
236
694
417
605
737
739
242
49
219
395
55
185
591
641
137
681
536
173
546
305
896
14
573
659
568
964
341
666
734
66
399
430
611
376
357
103
193
319
450
350
65
563
248
129
84
330
982
485
337
678
219
36
88
446
42
659
855
691
493
616
18
881
512
972
729
710
606
860
343
80
264
795
465
576
360
888
346
86
381
444
490
947
488
436
835
994
261
116
831
725
17
50
153
839
374
510
598
950
134
450
753
193
507
437
547
524
265
778
251
787
56
435
107
272
902
119
578
374
700
996
256
445
475
841
12
644
231
370
745
743
88
754
32
137
472
240
934
952
720
322
455
584
434
878
419
773
275
989
225
439
434
368
764
762
719
303
471
654
27
918
71
461
237
558
710
585
93
504
187
941
391
400
285
161
936
465
993
54
294
903
514
342
753
814
486
272
326
15
863
325
486
112
919
110
116
712
466
265
889
574
182
350
45
338
437
933
520
574
76
8
806
151
443
127
817
246
200
771
954
263
955
670
266
481
635
899
952
62
13
726
136
389
463
71
432
948
260
834
766
517
850
924
335
217
979
42
209
517
110
135
679
374
875
679
182
178
710
700
512
216
822
862
122
186
343
3
510
916
106
495
26
62
647
101
394
265
686
892
328
977
681
290
133
158
881
344
620
790
661
441
714
564
304
748
966
117
94
43
814
657
944
363
443
11
620
34
843
751
136
559
702
551
726
435
811
656
492
942
548
216
450
868
637
87
790
211
354
370
719
218
353
416
602
474
660
522
211
384
19
704
498
211
96
243
440
745
490
443
623
857
361
181
165
168
324
21
777
520
404
442
422
869
371
741
971
166
649
701
444
169
944
447
149
29
310
92
631
261
570
301
887
457
856
349
972
882
577
421
387
785
33
772
783
751
184
611
236
855
223
889
274
637
843
741
782
940
364
935
571
898
599
447
800
590
685
207
144
211
515
492
695
431
821
247
286
633
946
362
24
44
613
113
889
266
462
676
866
528
400
83
760
550
967
823
870
780
913
195
108
512
552
909
311
124
3
799
144
924
647
587
319
282
276
296
465
717
136
66
269
843
421
296
461
914
659
172
324
254
407
352
316
295
681
42
138
234
854
583
784
815
506
902
361
577
615
97
46
10
806
460
667
254
468
1
908
854
56
531
45
486
677
585
12
998
504
563
475
889
406
596
72
473
13
365
89
713
565
400
714
678
239
219
944
765
757
136
861
507
379
317
982
244
247
293
459
756
931
608
280
957
257
796
877
236
520
183
733
578
481
21
447
879
249
808
792
736
338
445
286
94
579
295
248
4
584
306
328
82
964
275
460
20
477
856
197
834
406
352
340
304
675
773
195
913
254
425
995
375
338
755
372
135
839
536
846
489
472
425
392
178
37
824
348
884
136
889
902
342
327
131
872
870
144
105
338
830
437
548
254
429
715
856
396
937
846
326
597
375
431
40
658
861
27
158
807
306
662
119
975
110
136
590
231
218
542
913
498
883
129
225
120
664
95
226
780
716
289
460
950
149
505
330
505
471
607
415
155
211
836
995
261
565
35
22
910
638
704
310
802
855
197
111
90
725
811
94
292
176
923
15
170
321
282
22
821
84
807
896
21
367
783
319
43
874
186
669
471
963
185
809
860
865
308
853
92
617
755
374
913
989
355
565
619
772
947
951
595
733
262
744
561
428
240
533
97
230
860
195
110
400
37
165
19
185
917
634
906
326
814
104
737
701
580
454
391
483
298
365
504
200
376
338
13
698
712
650
876
802
739
886
868
404
60
177
227
298
483
315
114
295
900
212
979
169
409
614
533
792
515
230
896
752
994
797
979
92
287
737
584
48
160
865
674
145
536
652
211
996
316
293
144
526
104
712
348
418
957
267
809
830
435
780
402
697
437
868
253
892
291
433
931
447
392
903
30
452
176
192
942
329
676
422
243
314
395
181
442
348
405
464
537
443
862
544
937
590
56
338
491
229
518
661
878
744
495
921
757
788
606
83
497
910
662
844
888
98
671
960
931
27
647
360
908
441
975
650
310
826
763
272
339
757
291
603
19
955
431
385
793
732
202
351
189
481
398
622
878
454
462
444
369
471
627
501
790
810
956
523
527
697
832
502
898
425
670
617
308
689
686
601
646
62
56
406
193
416
746
408
226
601
604
991
533
451
343
723
88
113
497
843
643
988
72
604
265
872
81
633
160
127
938
384
374
286
988
288
492
693
870
733
650
299
233
690
985
598
763
884
686
476
921
904
714
946
72
602
644
697
879
15
706
682
623
532
390
134
342
437
475
332
528
169
328
140
536
767
923
355
543
671
680
623
483
498
227
138
77
349
209
717
76
401
625
86
232
67
545
30
353
862
190
76
760
699
40
378
68
192
810
326
711
2
914
208
76
20
587
245
95
143
615
911
663
250
785
811
752
375
184
71
999
836
614
995
195
521
831
35
767
894
748
298
243
405
664
951
976
997
541
598
749
13
269
210
907
386
204
199
848
967
52
295
15
868
716
572
437
897
126
679
179
909
697
758
257
716
669
123
248
855
680
937
428
876
867
168
565
40
83
927
83
899
318
252
545
86
579
15
521
490
904
279
628
476
877
281
69
462
249
12
79
765
430
27
539
855
946
325
840
718
811
378
35
881
345
362
996
63
232
401
614
575
547
633
905
465
195
90
547
800
160
126
629
313
305
848
376
111
477
61
378
792
346
896
788
302
953
31
342
142
502
907
903
890
940
942
452
602
429
47
979
494
856
433
241
988
205
398
929
408
290
863
653
433
565
901
344
361
205
891
115
252
201
929
930
52
774
871
447
915
693
306
312
691
332
763
736
274
892
301
57
438
4
234
61
232
340
644
933
448
342
588
320
357
517
676
243
105
127
161
990
352
824
644
137
958
434
958
318
193
945
579
229
739
434
549
126
8
610
895
132
162
361
539
60
990
549
488
258
813
153
784
297
241
721
322
980
910
783
74
80
273
945
482
260
491
514
665
565
669
461
391
395
190
446
504
260
246
628
994
574
621
566
290
425
138
750
332
301
505
838
137
581
997
763
804
269
565
842
612
158
829
655
465
93
943
917
661
13
526
640
292
657
6
839
991
414
109
836
799
101
270
61
379
171
463
94
844
650
453
636
152
696
933
977
105
536
526
736
243
50
54
312
320
493
578
642
250
888
482
351
112
837
248
50
679
650
285
403
839
685
396
796
747
156
518
426
248
553
212
914
625
262
732
496
251
788
138
321
121
257
140
767
49
840
736
251
744
172
92
593
867
721
273
154
785
820
980
386
616
69
740
981
731
943
309
16
678
4
38
775
417
645
73
284
646
874
160
49
925
16
585
259
134
635
380
563
256
166
301
788
724
358
758
655
586
697
369
557
772
651
488
937
974
130
495
702
28
482
300
88
963
184
400
55
635
515
836
587
632
617
624
163
167
39
50
599
928
919
426
736
812
80
408
531
628
888
57
701
780
171
353
35
773
683
164
545
15
851
946
581
604
630
652
315
600
63
947
226
831
505
756
703
0
521
98
35
914
805
864
978
521
166
68
553
676
914
45
163
858
825
533
611
563
284
602
79
176
612
656
634
244
689
617
547
573
217
69
600
27
349
8
229
989
595
487
297
313
602
449
382
218
371
758
27
598
392
89
670
22
839
271
149
395
787
827
912
382
192
109
492
792
369
716
775
586
112
861
164
204
293
891
228
367
602
681
561
844
548
725
294
131
506
150
322
136
551
923
721
658
607
277
575
821
904
943
113
596
737
932
894
233
650
248
182
873
284
403
149
30
345
427
911
882
584
155
330
85
592
185
786
380
544
555
487
109
251
349
707
742
76
410
96
558
684
500
947
703
632
165
236
726
580
392
978
863
620
724
42
318
219
370
737
244
28
187
972
362
429
789
635
417
372
110
138
73
222
105
363
611
308
363
825
79
485
15
951
995
534
909
220
835
844
607
558
653
435
90
335
341
965
580
180
437
423
784
232
349
17
88
513
230
744
852
127
336
138
662
373
284
110
787
520
666
969
225
101
637
484
49
573
386
698
242
335
795
501
535
872
19
13
418
199
485
729
97
636
636
690
890
29
108
341
768
744
974
520
954
545
78
246
755
128
881
37
234
624
163
861
102
741
494
268
825
488
820
582
373
14
731
886
628
65
84
423
568
644
782
867
371
242
856
409
249
557
579
437
528
720
152
922
313
621
205
970
149
618
539
941
36
99
130
974
995
24
828
779
465
847
881
353
118
981
380
262
197
173
293
266
418
703
159
938
686
246
887
117
253
990
26
891
127
244
91
663
691
130
375
830
283
590
916
790
921
99
192
603
383
300
325
794
140
31
420
701
515
455
85
202
786
516
506
681
115
468
579
405
599
465
915
711
388
572
711
795
175
45
738
379
17
628
698
192
951
142
507
194
271
828
16
774
642
414
128
471
494
231
825
638
66
371
377
769
91
339
131
536
999
699
944
448
655
270
626
334
854
888
92
68
713
800
959
203
849
752
573
784
308
399
846
195
536
790
373
157
568
303
797
761
641
694
604
193
442
114
880
719
570
255
899
43
116
680
30
454
272
718
538
515
893
202
315
477
337
858
517
50
137
264
437
540
321
990
634
252
894
941
417
565
335
334
488
842
651
322
32
13
443
762
685
208
743
769
100
276
768
3
393
252
427
692
31
418
125
664
792
243
335
151
943
766
260
211
673
835
707
703
859
763
191
393
707
712
811
47
141
609
76
213
383
345
170
199
699
258
777
527
346
978
680
354
617
113
354
796
917
160
56
852
137
401
156
976
459
323
181
886
401
966
193
556
218
282
995
844
473
609
276
132
56
417
269
447
257
513
867
962
589
206
676
524
798
467
559
496
982
651
414
799
548
55
621
318
886
254
265
892
196
491
512
75
660
120
499
134
182
862
746
695
828
34
25
694
218
143
643
590
674
836
178
185
529
675
369
740
680
380
568
437
412
237
383
31
591
4
422
398
869
430
119
764
90
318
805
355
731
640
325
122
181
396
246
550
957
127
10
194
810
549
807
604
183
251
259
853
440
523
615
441
392
363
481
260
942
615
538
246
31
378
246
121
487
503
913
371
816
621
208
502
812
92
582
361
841
556
40
282
182
217
313
769
62
37
370
282
861
665
977
693
882
449
713
145
957
585
600
973
174
269
569
260
684
329
502
292
174
882
898
867
469
415
771
279
179
779
677
132
349
569
210
635
672
421
169
357
580
946
485
993
185
655
558
73
667
82
5
920
205
118
726
877
964
993
6
95
54
515
992
992
285
728
543
263
364
200
364
101
90
982
696
527
961
163
618
459
89
178
259
688
209
897
679
898
508
787
904
446
90
593
650
342
938
897
388
55
905
410
126
423
53
321
791
185
999
186
580
250
159
450
610
855
206
137
937
77
491
306
37
862
30
92
114
747
709
122
614
645
172
473
971
769
761
349
955
636
105
615
162
260
664
816
9
91
79
912
968
205
62
150
363
232
240
862
51
561
429
84
858
905
362
640
408
71
9
224
368
952
518
374
629
871
19
398
822
506
573
797
685
559
70
323
161
17
759
159
719
23
559
305
175
713
295
341
76
238
58
892
340
831
435
242
217
940
101
524
351
795
813
935
71
938
82
449
131
466
773
412
941
69
272
795
723
38
159
888
744
596
826
852
588
198
244
671
264
555
600
170
244
152
515
450
73
881
12
477
75
45
638
705
20
59
693
212
94
241
841
21
827
217
300
255
285
323
772
105
569
870
979
434
529
870
275
598
773
703
38
140
426
676
659
663
945
146
136
315
970
507
341
251
173
278
26
88
866
614
773
11
382
654
542
227
166
61
393
64
687
618
139
11
16
507
301
154
925
694
14
742
855
898
231
450
191
423
215
115
586
544
825
883
260
187
304
67
624
193
686
499
858
703
248
239
975
811
293
106
407
419
88
728
788
765
341
176
179
64
971
540
402
419
49
162
167
483
429
618
915
543
723
683
35
808
532
310
196
632
423
49
555
432
572
753
581
378
636
964
233
271
175
402
743
715
326
533
136
181
714
827
254
654
998
825
703
704
3
100
590
105
647
488
25
266
306
37
724
17
562
739
794
744
110
152
833
213
217
750
390
619
254
316
992
961
544
174
459
85
975
356
997
605
566
5
243
705
305
534
95
898
862
33
178
516
430
782
954
856
768
667
101
216
628
21
612
993
668
280
969
569
503
590
168
360
140
315
976
304
967
46
87
292
998
28
242
196
454
870
427
990
84
916
566
951
44
944
990
656
356
232
800
41
349
160
719
286
103
570
211
799
336
544
878
812
875
422
75
748
731
886
827
352
350
559
597
888
326
619
375
467
382
67
524
752
645
902
85
5
151
67
937
115
419
150
149
291
698
630
199
986
211
869
309
139
702
654
376
337
259
459
31
334
375
578
79
571
397
575
476
278
228
543
45
200
261
990
578
550
349
604
669
276
145
165
959
136
195
486
855
938
130
818
523
33
973
44
268
811
293
663
537
494
629
268
880
529
740
710
49
80
222
332
610
49
403
688
108
862
711
752
375
670
307
555
839
270
427
43
614
910
333
855
865
143
73
409
960
138
207
930
0
316
748
267
88
579
674
388
823
619
969
98
241
316
999
443
347
585
153
161
166
328
521
691
673
345
87
280
63
942
267
636
128
152
344
790
554
896
424
87
972
337
457
932
666
326
295
42
270
292
80
366
897
934
223
742
412
496
470
594
654
719
533
754
854
921
182
728
282
796
643
751
528
68
814
445
49
46
596
668
778
606
542
711
986
494
799
228
892
554
336
35
200
260
171
207
61
835
558
42
968
865
481
408
498
297
12
177
414
212
522
219
261
388
235
438
565
590
971
371
509
601
53
451
570
144
85
333
711
95
846
585
564
792
347
450
318
779
514
257
443
607
120
721
222
450
168
411
525
717
767
786
117
646
43
153
186
417
703
892
780
900
891
558
217
529
529
519
382
633
481
292
52
731
717
80
296
148
624
153
238
251
849
352
767
46
130
987
155
995
17
685
270
321
831
890
520
181
607
952
923
144
624
913
508
939
543
16
101
326
219
811
457
222
289
893
325
845
536
36
703
6
368
717
660
297
825
952
773
561
180
528
948
19
27
956
246
125
877
655
197
35
613
919
928
490
528
95
755
878
518
453
623
491
894
535
588
687
182
854
834
273
230
878
453
852
470
156
755
577
245
36
149
845
610
176
607
97
410
211
195
541
503
708
817
713
168
932
355
474
156
83
21
730
154
934
67
409
724
873
623
730
585
795
31
325
743
63
329
63
467
69
770
743
503
931
38
941
548
860
145
768
19
822
633
56
283
916
918
616
772
949
574
529
547
966
663
219
394
204
177
641
795
439
867
312
811
53
883
859
82
632
701
56
394
332
353
788
757
967
64
524
260
499
414
766
281
686
16
537
798
619
119
357
829
653
851
616
983
913
681
213
938
772
80
782
649
434
637
413
235
241
224
139
15
59
41
56
666
138
452
279
526
989
139
972
194
546
21
443
743
670
546
71
337
759
830
724
667
829
345
439
817
106
931
619
824
365
462
417
897
911
613
724
437
871
971
417
678
355
811
96
158
619
885
556
757
129
902
847
600
337
627
4
927
703
915
134
735
887
694
901
805
62
613
206
517
283
966
277
623
578
466
543
40
590
628
237
29
346
368
859
338
368
435
586
632
808
183
537
658
130
684
916
83
434
365
856
407
370
582
761
105
919
258
880
298
938
173
605
50
707
208
972
575
909
622
636
13
227
498
247
70
611
425
507
709
251
41
136
546
461
264
521
105
306
5
549
815
668
767
988
893
269
431
787
56
295
45
936
49
705
623
71
268
852
422
339
530
36
493
10
1
395
52
88
527
966
688
461
779
664
886
96
761
850
921
465
377
632
836
118
806
124
433
677
568
36
57
821
482
386
445
482
843
826
179
627
812
295
210
711
982
882
11
882
806
403
60
303
698
640
544
440
19
931
982
211
615
628
74
702
864
38
252
456
773
418
916
147
294
682
628
231
661
495
88
683
16
86
979
653
336
505
875
712
971
301
89
503
209
381
311
390
130
303
192
24
551
16
655
587
136
0
424
789
135
388
644
238
426
350
234
290
302
424
754
615
483
439
813
445
672
769
484
200
397
963
922
893
424
171
110
766
390
825
768
930
308
649
316
626
652
645
893
762
846
390
121
901
830
765
645
686
53
98
647
197
612
678
789
971
78
276
795
399
360
123
674
766
330
484
495
720
729
828
345
159
494
409
711
942
0
545
767
981
381
570
257
473
25
970
235
447
875
656
22
627
256
574
431
351
414
292
699
623
22
445
704
309
176
32
494
755
24
165
594
759
546
641
892
825
988
920
623
305
783
175
461
28
779
67
817
976
434
922
529
635
397
127
251
545
105
814
632
442
66
784
342
678
584
956
65
817
191
429
470
328
480
996
169
288
755
245
570
712
182
173
505
150
302
675
184
536
960
279
613
457
435
139
433
932
119
305
210
262
748
2
697
261
184
246
288
638
553
937
168
47
29
700
931
127
418
462
289
23
5
426
464
566
412
847
750
30
303
946
8
519
154
459
230
915
802
202
936
483
587
238
998
172
668
917
252
999
359
790
307
200
319
174
414
984
561
595
728
400
730
438
816
585
998
224
28
903
313
154
542
867
29
78
254
749
196
871
703
689
841
381
186
274
749
525
172
591
569
930
651
137
137
508
186
640
480
624
671
457
402
324
678
564
249
228
420
550
920
409
683
505
687
700
729
196
701
705
60
306
352
236
542
760
436
134
588
527
896
614
669
588
636
927
166
963
686
780
548
181
718
305
469
548
473
538
310
285
865
616
890
299
20
871
211
37
721
466
236
947
765
802
934
368
771
563
782
217
303
239
141
305
870
523
874
883
865
293
782
460
15
520
909
84
527
26
512
735
322
952
19
122
130
254
645
278
199
478
906
699
193
438
622
138
477
955
38
897
409
397
898
279
97
49
47
488
905
171
855
566
109
27
967
63
758
191
650
479
66
124
514
920
810
798
393
607
490
248
29
598
548
125
569
421
556
982
794
623
766
36
161
264
552
252
497
14
288
372
558
938
575
535
168
560
144
510
139
766
597
469
501
783
5
206
889
364
398
311
569
486
171
598
801
698
723
612
804
308
845
826
372
480
690
57
353
381
687
445
662
24
284
3
817
524
0
685
803
874
507
573
779
756
857
768
735
305
164
946
329
703
584
725
570
213
680
591
792
945
351
788
52
624
179
354
682
317
992
250
168
66
700
313
638
388
402
904
974
108
456
364
154
261
985
879
906
679
665
766
616
341
616
573
944
627
323
853
384
471
300
765
754
925
746
65
72
941
388
133
404
259
141
998
788
328
212
764
359
943
849
463
652
505
788
874
658
701
226
730
946
636
761
783
359
767
246
250
204
346
965
155
928
367
597
826
613
62
354
813
174
198
309
803
479
497
100
137
758
786
397
13
519
483
1
9
193
507
542
818
848
824
441
454
150
401
456
583
232
260
721
724
713
717
535
53
202
182
476
992
656
648
972
283
551
996
436
816
521
320
451
298
777
264
672
166
217
466
589
666
371
625
768
550
502
895
563
313
813
310
472
126
469
12
522
952
158
134
873
633
645
869
84
328
777
949
373
646
699
549
822
871
142
740
807
46
863
453
726
181
911
776
497
183
604
19
0
228
123
120
479
355
639
393
963
318
760
225
83
569
933
807
991
788
101
716
318
469
429
505
130
911
249
688
964
209
883
646
159
7
841
359
861
790
777
193
681
223
929
680
280
974
486
843
931
962
244
831
686
138
280
354
139
773
715
288
809
161
76
239
368
273
690
909
670
147
207
695
143
572
439
694
724
716
925
779
939
242
742
815
533
813
175
479
755
27
932
816
719
832
434
211
385
651
437
914
268
730
527
405
936
912
583
82
799
366
2
420
43
90
406
245
53
595
220
656
417
331
751
254
307
824
617
974
113
166
823
210
869
447
718
873
469
505
643
876
45
10
34
470
69
366
696
764
184
786
428
824
342
525
310
348
166
981
130
846
775
459
343
245
635
608
371
789
109
720
920
46
590
791
606
501
812
686
327
76
371
827
602
97
347
422
265
367
470
389
315
266
774
488
701
195
86
262
649
255
591
871
123
15
815
13
273
104
28
436
179
349
67
816
633
700
756
837
727
49
147
517
520
49
65
636
452
728
980
631
355
636
822
398
534
348
138
338
36
163
555
556
979
57
15
168
703
58
271
364
191
974
729
311
628
294
105
189
253
669
415
75
30
357
236
194
603
816
814
741
277
130
470
504
658
195
729
981
368
704
405
364
777
233
100
554
621
353
153
681
976
61
62
152
781
636
74
563
718
684
788
796
250
841
296
911
728
206
795
272
650
215
521
33
493
927
946
943
597
822
663
199
722
462
396
223
55
743
836
994
107
46
541
512
976
387
822
161
971
382
873
294
478
755
871
958
470
714
229
641
78
770
331
201
610
684
586
182
524
555
991
911
772
676
526
467
439
373
864
65
301
579
728
285
270
465
113
369
862
23
821
816
132
564
198
770
191
945
211
742
667
43
183
697
671
382
687
673
121
413
510
615
306
6
497
121
724
606
434
822
535
291
829
52
336
760
491
199
525
978
786
391
19
669
514
291
741
393
892
995
667
852
817
326
247
873
296
109
122
67
938
185
74
945
735
991
946
742
514
143
7
170
259
654
325
451
536
340
644
205
229
536
527
845
885
149
32
423
456
947
711
193
296
659
932
769
500
575
770
0
598
260
236
68
140
198
447
298
231
476
665
133
846
937
499
513
860
20
562
667
775
987
115
2
110
171
919
457
709
667
257
487
12
984
27
395
165
701
532
979
706
694
660
564
644
916
574
416
225
349
253
968
690
270
938
109
391
649
483
535
123
863
25
972
713
350
595
404
850
20
826
734
339
149
686
692
373
611
300
972
185
962
609
614
339
843
479
896
691
315
186
773
678
944
754
279
23
458
516
201
981
814
106
914
689
849
442
615
611
791
768
948
222
301
555
300
455
246
172
367
378
647
282
264
233
47
998
935
273
276
909
488
359
536
830
103
130
407
284
838
37
864
29
274
588
168
612
845
934
833
380
804
66
322
634
815
531
391
327
749
188
634
540
850
661
813
639
699
8
842
0
709
600
299
327
219
23
66
901
701
26
912
364
494
506
185
455
828
303
816
397
842
735
384
234
646
748
959
665
739
349
670
399
207
712
940
743
159
383
977
729
183
665
976
710
942
817
899
780
47
946
769
6
940
395
303
946
227
78
667
886
204
363
149
801
244
924
396
265
147
237
753
127
49
26
490
206
778
933
857
432
182
97
807
212
647
581
939
838
293
716
446
926
491
934
518
449
627
659
580
595
840
734
781
537
709
961
114
638
546
308
482
113
182
675
766
155
781
632
682
399
646
55
57
720
845
78
928
269
669
480
82
157
655
378
568
556
982
8
350
742
836
106
819
577
945
952
574
415
70
151
735
124
529
858
546
472
942
189
479
77
727
256
632
747
983
875
555
964
921
875
59
168
324
534
192
478
937
572
722
544
863
550
809
592
52
308
229
758
406
973
296
754
683
691
515
994
167
94
100
550
951
127
20
364
629
852
698
190
933
328
746
614
674
983
47
227
730
990
572
774
137
400
611
62
540
873
305
297
631
302
514
13
465
132
70
553
875
487
175
500
918
508
800
722
746
432
387
403
823
308
443
412
519
32
581
203
533
941
421
810
891
2
185
295
741
787
858
903
72
279
858
388
318
297
85
222
285
417
470
563
490
2
765
944
48
479
248
908
382
618
156
238
476
519
650
596
906
890
166
555
730
836
422
363
229
883
40
340
894
136
797
606
247
27
884
146
548
125
412
799
121
79
580
133
982
201
261
483
769
838
139
159
460
820
122
749
691
863
730
186
698
689
90
406
330
722
667
244
807
902
989
438
96
506
989
960
466
247
812
696
981
989
477
515
257
635
952
627
696
539
315
511
25
9
790
759
451
136
495
456
87
361
298
20
204
940
332
834
450
227
14
422
785
463
133
82
591
7
786
803
255
352
202
561
160
316
503
587
50
22
480
723
102
101
352
749
705
902
182
244
744
551
485
851
51
765
804
466
182
812
614
423
284
58
7
23
13
918
646
880
981
638
149
635
491
484
431
564
896
531
775
727
732
86
453
594
187
172
908
723
275
742
746
59
909
566
191
395
250
930
800
163
701
503
588
880
364
682
853
833
477
172
911
665
534
597
681
653
159
856
130
337
35
339
595
241
297
801
768
639
720
790
42
156
284
902
80
392
260
740
560
217
537
474
607
430
936
87
281
773
550
652
452
88
132
595
423
206
780
593
677
544
945
45
739
11
247
384
177
248
973
119
754
956
265
386
267
337
658
810
639
859
171
223
735
642
475
985
458
828
249
333
422
444
543
224
809
775
573
527
588
928
395
200
973
105
305
409
182
87
477
842
525
349
877
903
926
503
500
935
641
512
819
100
277
339
290
414
659
439
260
94
251
639
73
204
561
358
163
283
699
57
314
542
343
874
461
672
266
882
314
582
718
259
712
351
882
664
989
355
505
326
170
514
456
297
393
917
827
408
859
677
306
568
152
901
208
419
768
101
719
357
687
584
380
963
979
864
371
95
807
881
305
256
615
127
399
727
239
715
106
134
38
485
215
242
555
176
724
960
875
226
34
167
219
323
406
744
503
648
381
800
595
960
652
597
60
550
803
947
964
429
946
538
657
27
795
550
104
97
884
767
894
208
212
602
665
675
803
178
22
855
165
830
786
904
256
431
995
472
675
360
684
111
137
476
425
27
89
797
559
37
318
821
621
744
553
494
141
398
10
440
132
763
617
149
272
759
401
824
849
418
740
190
573
729
269
630
418
654
942
505
398
670
115
114
589
846
841
145
244
546
54
104
194
487
173
755
766
330
820
700
269
806
542
454
482
379
623
632
502
837
141
880
275
666
657
376
877
634
607
359
739
798
447
346
334
184
363
300
657
51
177
247
342
766
352
382
66
790
397
31
874
124
193
323
640
937
728
284
43
880
846
917
651
823
192
246
148
408
491
22
920
817
636
146
211
301
662
961
900
874
824
79
525
414
249
857
230
456
361
263
615
776
145
194
277
655
203
780
440
765
0
693
569
319
864
215
48
789
186
117
938
553
446
434
602
936
743
106
755
704
402
330
598
492
984
557
456
452
983
741
733
502
721
784
14
298
849
278
892
780
978
956
882
657
210
792
384
561
139
482
202
624
512
810
111
245
174
702
106
745
685
820
257
538
293
521
580
887
754
235
213
480
979
948
9
921
534
834
264
451
972
432
780
425
845
776
857
388
109
998
145
176
498
695
439
774
246
46
812
177
170
741
251
79
496
402
834
144
165
661
454
157
511
468
114
15
933
423
475
652
626
766
440
119
185
837
492
112
419
502
94
363
855
956
573
6
31
874
384
875
549
723
666
656
458
373
15
985
610
247
52
853
634
965
156
194
629
321
191
732
664
201
700
630
436
742
644
37
818
830
579
5
360
407
92
945
185
313
792
226
301
759
480
148
732
851
325
19
574
670
778
271
725
703
51
521
982
730
453
12
281
519
17
418
348
350
608
978
834
654
330
243
249
775
930
636
875
23
479
922
997
189
999
363
454
647
979
944
796
769
398
17
12
347
772
780
5
169
261
328
201
589
426
348
870
25
99
134
237
474
4
567
574
225
314
767
821
203
886
908
13
857
212
526
91
228
278
65
813
772
303
216
253
604
213
288
130
470
277
861
77
661
864
256
351
748
714
191
431
320
778
528
491
227
227
687
626
165
981
883
880
148
612
82
755
730
855
634
30
468
841
2
340
459
236
420
336
69
53
541
675
614
392
403
247
899
923
682
354
385
220
308
914
964
770
903
882
148
932
217
76
277
915
753
200
160
890
408
623
848
632
243
191
868
538
641
940
101
741
820
997
123
715
625
703
583
122
680
204
56
798
45
57
232
781
521
885
68
591
144
800
89
368
412
496
44
707
226
861
762
926
161
467
233
477
746
792
358
57
866
497
813
997
780
434
992
747
648
298
950
207
150
246
498
472
416
510
505
4
389
19
571
460
972
30
702
881
274
583
954
633
379
89
383
840
413
616
18
480
332
544
425
63
201
967
936
754
334
620
916
754
798
386
502
511
397
476
930
647
544
873
631
789
154
165
215
258
369
920
386
499
93
357
863
967
527
720
238
24
326
715
838
405
590
214
531
89
441
67
610
303
702
486
703
642
39
589
371
288
95
289
829
456
616
12
485
721
42
292
949
688
653
829
699
356
786
723
708
980
57
410
708
187
132
460
411
399
313
0
978
370
200
553
776
259
444
270
672
594
836
888
248
232
456
946
459
336
372
815
662
568
810
214
898
209
678
518
581
554
875
671
294
423
110
630
586
887
846
672
808
807
678
515
449
395
71
487
322
780
172
952
14
310
212
58
69
804
936
27
751
102
699
21
665
117
409
794
705
635
243
34
874
123
742
915
259
323
615
829
139
499
179
501
936
257
729
706
223
318
252
463
826
84
122
269
316
16
543
326
262
511
955
701
356
986
611
176
910
451
695
32
639
619
677
716
802
916
934
91
697
926
416
514
828
230
341
542
425
449
43
585
640
224
611
17
21
871
339
936
39
783
408
574
759
838
446
749
986
831
283
903
399
569
219
715
696
532
70
822
187
96
463
680
194
18
108
723
978
860
259
145
862
594
864
826
954
675
212
39
172
908
854
65
722
304
227
58
810
376
305
802
608
992
300
953
264
636
40
228
731
61
317
492
690
309
37
54
879
665
812
634
237
335
851
297
504
627
50
254
685
350
378
569
338
420
534
502
16
3
657
991
336
904
601
412
956
214
892
770
301
968
928
992
536
661
871
428
402
468
685
274
936
731
841
751
206
158
436
441
791
951
265
880
745
89
669
906
324
647
670
286
734
357
703
214
911
55
82
480
536
182
232
716
861
806
719
531
144
142
971
362
77
282
405
425
15
895
820
991
88
648
258
914
463
320
958
392
240
203
790
231
746
992
88
997
263
63
400
396
946
885
88
213
978
129
364
268
314
325
492
325
358
111
88
103
146
779
393
742
598
360
400
387
798
931
359
904
943
725
287
297
235
778
766
103
618
828
127
941
646
726
829
220
773
99
192
332
70
776
810
6
479
635
479
505
688
199
408
969
614
641
200
306
367
33
678
268
801
958
392
697
764
193
352
344
340
890
197
958
35
865
835
476
397
472
39
479
369
547
125
570
996
327
716
518
843
328
245
136
965
285
241
560
97
880
410
251
746
21
547
212
399
559
331
146
314
204
205
698
648
584
812
584
292
146
596
569
380
587
580
530
49
143
812
332
64
422
790
873
845
860
707
583
636
463
868
110
65
999
412
16
423
237
910
242
987
361
80
96
744
506
836
93
794
303
261
73
369
611
70
920
98
123
489
119
922
345
267
311
119
19
857
293
192
195
464
83
232
19
562
921
614
576
732
649
85
271
764
889
27
494
518
27
192
938
449
590
683
830
967
647
255
460
268
160
605
179
517
626
649
566
140
557
93
1
724
46
109
280
280
289
354
389
72
23
814
224
185
869
560
370
614
615
177
606
277
449
531
339
912
846
116
710
466
242
843
327
326
508
682
857
461
503
380
182
455
167
972
475
152
828
299
805
291
497
814
48
816
98
100
763
972
619
295
58
53
815
951
281
502
769
399
681
515
890
854
455
333
310
740
433
511
657
708
315
10
723
545
861
610
37
613
665
786
86
8
310
13
474
596
970
914
3
349
725
393
373
55
115
834
380
690
793
951
680
845
618
775
563
282
118
880
891
964
173
253
268
924
456
783
441
33
454
258
420
104
535
901
829
25
483
656
20
547
353
745
495
89
22
987
837
994
176
330
996
401
150
660
452
201
845
989
196
816
50
471
208
415
784
937
562
941
662
42
140
888
478
175
317
987
795
70
607
543
260
374
277
402
813
489
653
14
19
671
519
977
965
127
815
765
739
941
144
925
369
994
943
189
398
267
393
634
132
706
626
913
341
148
918
28
621
70
744
958
412
262
867
872
567
382
677
572
448
490
622
369
424
115
211
44
552
662
234
846
258
928
546
17
141
343
634
376
395
766
683
710
334
400
820
71
637
470
922
809
338
600
466
375
526
454
186
733
832
407
480
997
648
871
185
557
946
843
732
441
416
336
755
245
679
380
77
625
933
149
388
380
18
411
207
197
278
412
279
299
854
50
227
714
155
56
929
886
344
918
410
739
845
746
335
667
681
825
204
192
986
579
361
576
742
821
16
262
336
150
957
531
512
997
164
853
821
792
684
136
923
296
266
95
745
979
750
817
883
110
461
509
735
178
532
478
438
193
274
426
955
959
357
24
418
532
713
314
607
637
416
898
107
918
140
516
977
700
895
171
525
748
353
890
512
873
662
302
304
943
67
577
819
361
739
640
444
474
542
673
225
702
812
299
924
498
603
987
479
959
366
201
274
346
367
365
296
936
810
241
91
75
772
582
558
812
495
605
502
121
485
484
652
859
753
62
596
745
695
410
131
976
926
27
277
467
549
822
648
979
728
12
746
606
652
582
423
660
94
54
322
158
966
97
113
834
941
153
803
681
828
289
388
503
798
667
509
600
611
795
81
381
519
277
756
371
284
548
338
522
986
938
134
57
866
437
473
30
516
926
267
34
571
167
335
639
857
515
116
30
481
239
620
813
591
665
734
454
406
266
116
930
163
569
757
631
166
63
605
913
229
942
188
232
800
205
783
96
576
152
453
870
484
575
313
332
349
338
969
768
923
835
572
951
576
159
776
399
372
820
568
469
944
149
863
125
336
951
960
816
885
879
76
267
501
58
751
796
663
125
249
461
356
266
119
19
342
37
428
147
955
137
716
561
1
872
832
277
94
55
887
335
451
453
311
321
802
804
473
83
274
640
585
282
941
737
509
471
323
150
691
948
806
754
582
36
788
386
426
368
925
549
791
503
820
596
492
966
265
478
967
402
384
548
376
488
431
586
664
541
752
197
800
863
702
495
939
2
572
20
461
365
455
728
482
606
103
583
246
728
559
53
151
190
179
832
475
298
198
57
294
53
373
751
863
323
647
678
675
914
899
664
741
827
173
707
244
381
538
969
849
832
234
989
883
440
965
635
822
209
906
594
519
740
986
564
382
671
928
778
787
388
739
35
11
505
478
205
621
998
631
514
414
609
460
885
336
190
85
205
525
475
526
938
826
377
693
160
394
285
368
94
217
828
741
527
357
598
404
692
93
124
262
364
817
489
211
477
553
474
607
56
681
16
388
369
476
881
148
359
704
557
360
406
436
887
685
147
629
390
586
259
173
988
796
356
955
427
507
629
458
174
750
636
981
871
253
168
535
648
507
883
716
164
904
902
210
573
616
855
384
468
440
744
450
551
103
493
694
65
993
170
889
973
462
335
199
393
801
483
993
73
202
324
132
648
272
887
509
950
681
215
150
711
511
705
343
123
98
160
206
204
411
606
125
676
0
446
563
854
691
768
886
50
504
985
64
551
517
115
97
747
678
120
464
502
347
154
316
524
533
188
681
452
509
880
592
670
530
361
698
338
920
365
385
225
554
200
700
878
489
682
938
410
77
714
928
591
313
415
39
801
755
610
637
745
213
483
474
474
271
139
914
933
346
1
599
727
342
924
277
721
572
967
130
392
7
452
251
336
572
723
698
126
804
527
682
111
319
220
870
275
322
760
397
781
27
162
274
32
37
960
689
301
318
23
673
368
50
340
769
385
341
275
295
179
237
479
4
302
505
205
908
161
447
867
834
397
470
82
93
712
359
36
539
844
727
360
372
66
958
109
386
206
601
281
549
935
175
299
889
930
867
705
601
431
9
747
298
965
567
746
369
131
313
198
81
851
256
63
356
907
837
865
482
85
792
231
584
807
602
753
953
824
121
7
801
597
599
689
118
855
577
21
865
75
487
381
71
505
419
91
218
481
737
462
49
874
270
772
196
958
229
217
409
216
51
72
415
410
968
19
989
117
511
587
774
208
575
965
104
437
31
795
246
609
758
436
89
328
81
978
348
391
435
104
126
329
97
347
929
554
226
287
607
132
227
845
314
348
386
61
988
508
956
703
695
386
406
53
506
321
641
831
786
178
399
231
112
572
320
974
365
342
20
84
855
467
416
844
263
601
874
66
928
895
614
367
497
331
510
305
996
309
361
18
351
217
815
968
31
86
214
588
4
580
533
48
970
674
347
840
933
611
433
361
993
1
703
86
216
825
427
280
580
25
58
221
464
882
365
936
738
946
897
9
339
899
748
854
415
626
574
895
448
706
858
327
970
3
772
455
892
521
356
573
251
978
456
263
489
105
963
509
73
437
836
465
369
944
646
602
450
754
177
556
683
969
547
43
5
910
671
988
420
76
213
614
46
870
907
829
579
61
302
640
933
165
549
786
493
32
182
264
502
970
636
19
369
903
225
467
45
585
750
92
98
759
947
348
612
45
324
791
505
537
831
639
457
235
579
319
29
204
662
784
309
278
605
58
945
470
332
288
545
494
218
513
227
614
511
682
883
391
161
67
36
903
131
527
591
706
893
948
657
851
346
225
310
718
666
344
693
471
842
430
603
676
304
658
624
26
337
722
506
152
294
297
974
819
356
285
254
437
449
100
794
828
340
498
876
366
315
911
263
171
438
264
731
954
856
639
875
508
748
224
514
49
733
357
272
877
892
968
396
596
876
297
189
910
734
625
264
469
219
385
451
604
536
510
553
207
546
470
402
390
748
885
420
529
158
436
913
555
510
548
230
712
206
258
926
923
789
543
978
365
679
727
461
654
714
134
805
869
596
408
570
660
203
700
808
837
889
71
386
544
870
785
628
222
554
720
699
851
586
420
136
933
449
332
635
390
52
283
165
272
750
765
66
871
11
269
938
663
763
834
714
677
457
187
444
861
389
124
495
108
764
34
870
785
728
671
433
247
340
276
533
231
897
244
851
409
876
14
462
811
580
216
420
346
569
425
196
119
316
700
681
490
251
904
995
346
818
497
171
268
824
494
464
152
416
212
683
761
417
936
201
462
80
444
43
372
614
657
430
268
732
661
997
353
585
662
462
543
785
964
347
54
73
673
147
648
49
379
738
25
285
177
528
885
597
668
58
108
119
601
309
157
632
569
764
44
711
84
116
115
141
160
839
83
644
817
769
891
973
379
119
420
236
796
640
745
88
932
189
274
712
949
698
891
740
564
296
878
817
358
209
570
975
673
904
408
678
662
393
325
984
541
166
378
309
506
365
463
6
368
18
227
416
168
132
214
907
311
898
885
392
425
267
215
772
730
204
13
359
419
240
548
864
536
707
567
908
27
632
590
916
191
679
386
525
30
299
185
148
664
658
382
120
586
623
295
599
30
817
882
138
689
204
782
561
460
637
250
323
22
741
241
190
749
486
213
418
517
160
371
406
772
445
791
363
851
750
256
739
112
361
207
491
553
927
139
83
482
680
591
338
553
790
120
969
379
568
767
93
911
94
354
869
752
168
231
934
980
792
685
376
256
36
60
495
802
270
742
846
513
26
675
265
208
262
510
111
25
939
773
661
291
717
410
840
291
767
772
55
31
975
145
292
314
287
847
796
778
740
853
667
58
320
710
432
39
600
600
629
954
208
734
627
837
476
829
323
700
611
813
340
613
154
3
537
309
836
602
434
864
449
369
270
88
502
841
821
821
746
445
362
785
138
747
126
674
598
843
375
874
939
938
877
873
622
634
10
897
534
742
308
350
220
392
490
132
139
460
41
331
618
513
587
106
104
437
911
179
81
893
589
100
431
605
250
286
682
190
450
90
945
145
963
666
212
295
982
918
408
895
745
602
458
558
812
149
676
776
370
446
696
75
628
464
670
939
406
681
197
157
485
593
592
425
230
539
334
978
736
244
119
32
922
401
643
278
709
835
500
265
354
876
410
490
546
325
109
687
305
579
581
73
968
737
903
518
919
607
958
910
151
756
858
982
489
39
974
239
332
850
657
593
935
988
919
879
109
13
292
963
714
582
849
393
173
962
891
414
701
776
811
193
620
962
255
221
177
573
529
99
420
185
821
726
492
95
53
571
999
49
32
364
100
36
806
477
96
735
898
182
185
547
699
696
241
253
504
762
898
446
33
577
827
467
949
534
743
236
102
753
430
697
39
427
234
419
270
175
170
826
905
114
536
932
87
205
714
978
40
968
86
992
802
110
541
12
33
458
331
570
788
319
890
48
216
627
826
246
888
262
767
488
774
130
926
478
622
701
659
546
605
253
161
40
306
948
198
462
106
553
925
24
369
636
500
33
782
379
765
392
529
555
447
591
991
940
711
447
317
751
875
653
523
686
681
492
772
189
220
887
138
93
510
425
608
302
172
17
450
687
854
997
888
696
692
120
815
15
490
114
853
955
220
201
258
521
481
255
742
217
697
779
656
361
19
615
722
647
792
991
306
974
769
849
883
341
258
769
72
268
961
597
740
729
829
947
485
933
81
190
147
701
27
755
331
378
107
744
621
784
31
218
956
675
710
694
849
702
386
320
829
969
864
623
809
949
872
7
600
60
683
901
526
701
257
383
470
638
627
144
804
688
9
958
755
75
483
655
82
46
271
649
44
501
244
369
350
932
120
323
882
387
889
56
382
872
66
239
702
407
441
273
271
73
368
129
27
525
903
346
544
814
795
315
388
84
265
90
315
945
490
718
594
714
583
821
787
126
977
710
753
205
984
116
695
969
338
459
687
615
969
522
18
910
179
391
119
71
423
550
89
744
854
594
847
341
511
894
33
301
729
381
807
32
763
982
498
204
280
568
496
272
102
937
244
116
787
543
694
584
775
901
90
892
965
970
71
780
606
696
58
530
711
331
170
4
549
50
806
954
581
950
45
971
866
808
554
631
61
298
490
35
678
173
326
951
267
951
924
742
845
437
675
1
185
305
589
968
6
734
945
250
869
122
713
279
147
530
142
909
313
854
152
1
774
890
831
225
312
673
77
482
565
977
766
606
631
367
190
595
884
135
49
518
650
669
174
474
416
888
747
56
44
912
426
119
970
959
640
806
521
14
928
388
996
707
430
928
496
58
601
42
184
854
927
340
283
123
0
52
420
344
560
793
244
171
668
890
139
273
133
788
583
321
172
264
969
39
56
302
784
290
578
868
53
512
493
148
426
790
199
835
864
980
570
718
313
254
560
361
139
616
830
357
21
992
208
681
271
68
237
349
931
877
491
305
993
533
967
670
261
595
110
611
301
441
762
585
97
556
723
992
856
505
188
255
220
615
876
4
313
994
549
175
82
620
602
928
441
632
181
780
696
807
670
554
352
126
167
754
437
21
161
312
500
110
922
270
467
746
402
496
512
472
205
717
760
50
462
928
964
440
672
667
650
704
831
66
129
457
289
320
947
990
62
680
10
352
720
24
802
244
698
396
337
851
511
483
338
983
980
833
926
111
295
80
820
899
588
126
227
49
823
435
263
973
620
993
769
215
418
477
927
442
580
848
842
569
798
900
786
517
590
473
421
924
593
220
975
165
520
852
603
807
335
882
918
229
877
2
959
89
886
585
250
214
651
258
977
590
148
846
439
456
594
873
324
848
582
721
159
203
382
881
144
637
766
168
262
744
571
525
576
580
568
825
804
75
630
575
294
193
710
8
873
104
891
203
348
7
776
495
321
60
75
462
879
95
361
598
525
284
417
782
415
18
587
956
991
223
711
421
85
841
669
879
869
982
543
607
169
745
410
817
594
270
689
769
688
183
983
123
455
516
417
22
145
796
369
325
675
876
955
595
611
635
631
365
105
639
878
664
456
32
513
587
722
930
936
751
986
781
176
689
591
219
559
335
172
569
635
574
64
274
912
805
249
224
683
461
52
476
918
863
829
373
383
552
965
783
591
713
121
552
179
811
283
106
994
820
625
843
733
911
805
362
699
280
345
222
672
949
769
416
877
855
289
403
568
929
69
946
102
664
717
116
197
648
213
777
739
810
396
927
389
510
529
149
76
430
648
182
20
468
769
137
196
979
16
346
0
458
756
374
811
470
63
328
98
952
652
711
823
990
219
436
950
577
663
92
455
405
216
989
301
873
107
91
291
997
976
484
93
450
561
207
757
279
481
908
45
794
687
750
408
422
829
400
210
767
845
710
923
339
630
996
919
194
748
876
849
160
800
748
697
842
94
794
813
798
186
717
48
28
516
443
656
723
73
381
805
390
268
759
685
66
323
863
187
926
966
241
272
119
818
612
291
584
274
59
56
747
665
878
677
486
135
142
424
246
944
842
68
772
182
502
232
377
252
651
603
933
993
327
274
902
813
775
861
508
772
724
667
36
149
915
230
99
145
782
689
801
566
922
680
978
141
881
102
802
54
194
772
494
376
416
870
253
866
515
12
916
310
276
249
159
422
952
769
589
841
851
649
842
719
421
334
35
85
496
67
150
62
726
293
567
289
369
185
157
26
961
149
398
161
26
373
20
619
96
403
688
953
247
710
232
827
669
660
392
459
78
29
13
86
669
545
566
304
210
890
184
834
858
677
231
237
903
78
250
657
735
743
27
62
148
623
864
983
586
265
396
832
707
899
652
437
445
705
836
7
306
628
288
348
843
419
518
819
137
647
979
904
84
920
427
172
377
479
877
618
980
64
586
930
353
746
572
358
437
84
188
496
716
500
377
806
985
503
210
35
797
302
249
45
569
372
305
170
433
310
934
223
869
403
353
490
49
787
99
965
0
68
499
185
880
160
750
94
797
938
831
977
867
789
553
977
753
939
878
984
69
529
351
908
754
459
822
877
961
690
815
209
879
628
418
809
183
449
180
553
707
346
881
184
288
857
834
411
426
543
531
990
809
469
184
75
666
239
13
650
244
791
926
910
220
534
927
820
64
80
214
164
267
399
577
106
103
955
582
720
887
918
647
930
777
170
246
210
124
754
794
997
848
845
539
340
343
640
124
385
164
543
83
193
962
250
817
313
454
196
360
798
102
847
162
493
743
627
854
443
572
75
722
563
155
322
496
339
433
43
583
661
991
836
436
517
313
486
694
882
288
261
148
583
930
152
742
468
315
123
23
707
215
871
129
659
15
735
887
289
839
125
221
916
269
22
639
527
891
463
371
577
347
587
967
105
320
288
790
26
169
722
743
507
979
610
573
293
758
531
375
876
112
601
948
405
650
844
880
579
890
604
204
564
970
747
422
65
985
358
984
315
322
803
79
774
847
978
394
540
589
67
738
34
826
189
450
679
69
70
331
330
219
367
182
101
281
571
891
49
323
904
550
609
467
873
964
292
392
297
726
926
794
528
25
206
191
797
527
953
450
662
598
195
988
619
64
713
673
124
280
535
879
557
951
589
789
859
749
353
15
876
774
663
417
663
513
758
804
529
164
653
831
424
286
62
806
717
844
401
60
973
607
228
355
772
559
116
557
478
654
460
301
682
713
982
687
731
946
982
795
718
321
264
823
319
53
887
146
54
307
573
402
986
573
209
222
509
847
124
201
770
447
689
256
653
604
640
619
388
975
905
753
902
476
710
17
205
700
775
925
474
930
797
731
473
122
643
414
482
55
759
303
347
942
342
714
824
454
508
623
491
799
157
768
413
269
600
874
852
346
266
588
369
976
421
797
962
195
214
718
720
696
205
830
131
761
629
735
463
522
283
159
120
486
557
498
481
305
482
58
680
575
248
647
165
723
640
685
733
885
106
285
14
896
826
73
379
275
226
197
758
85
981
280
958
163
202
691
845
48
335
697
572
89
992
226
401
391
143
163
790
927
761
12
448
141
835
208
213
42
603
862
880
653
630
880
757
413
330
134
254
234
999
703
274
547
317
467
294
308
921
664
697
328
429
149
343
191
82
681
199
148
712
858
253
790
489
965
380
986
661
25
422
325
56
299
629
505
431
209
132
276
523
864
652
366
594
501
721
59
803
889
922
520
448
47
810
280
100
706
880
548
989
823
558
291
233
474
310
491
245
143
866
576
622
160
648
793
949
344
308
755
610
525
948
676
425
564
157
43
944
873
710
950
801
507
949
223
99
302
782
729
396
719
478
819
727
423
581
174
371
480
452
144
283
326
34
742
860
109
636
931
607
392
731
838
655
300
49
556
920
266
648
613
425
160
166
357
19
375
506
703
303
421
497
450
531
360
41
362
869
14
609
574
331
192
613
281
429
363
686
957
606
615
841
436
929
342
264
237
404
727
561
930
518
2
971
585
200
288
480
207
927
330
156
399
265
226
60
60
891
456
993
449
402
710
732
454
173
489
242
232
569
310
161
119
380
799
530
787
482
306
708
969
608
901
443
342
277
70
415
559
54
399
725
204
548
835
770
134
518
501
969
900
368
63
468
237
676
934
390
881
930
938
686
987
208
165
591
693
431
829
280
221
577
380
6
952
306
685
435
199
176
259
112
583
263
171
83
298
771
56
487
384
1
304
816
202
997
814
355
361
746
463
831
396
702
224
73
0
530
537
314
712
247
589
395
557
858
510
69
736
792
703
520
41
996
352
262
69
241
755
673
417
193
874
195
766
970
584
189
346
926
463
562
649
103
484
89
514
881
982
304
859
872
237
675
813
765
282
679
73
531
287
487
825
572
982
683
21
505
200
166
62
336
304
992
2
842
358
5
229
555
502
795
798
144
277
912
158
547
158
944
553
211
740
974
66
638
187
634
975
789
721
269
129
627
882
540
292
193
640
114
158
99
171
190
493
717
831
896
104
669
206
835
463
193
346
877
275
997
539
543
906
957
421
186
479
64
527
46
210
211
790
41
288
743
393
797
96
921
282
429
600
299
955
412
798
60
259
370
806
157
34
806
727
125
170
673
885
968
310
437
295
711
52
527
603
991
226
499
137
501
472
778
372
54
288
881
416
489
790
143
767
294
713
411
635
778
280
437
760
356
597
816
822
115
553
450
691
967
907
18
998
939
898
738
291
473
514
812
933
399
656
297
885
143
315
580
532
188
746
966
788
761
336
706
242
993
414
918
297
753
356
304
680
291
438
685
876
617
853
473
166
367
6
719
749
571
981
464
852
461
521
282
706
454
353
373
239
394
907
492
49
876
820
89
385
435
84
755
429
366
62
76
967
201
828
874
643
394
359
976
56
69
614
69
867
555
19
153
89
469
975
290
498
179
588
521
57
429
539
484
397
872
466
438
95
259
854
408
747
187
882
949
484
533
469
504
927
268
997
914
161
670
476
827
870
125
556
479
213
702
255
751
933
907
537
357
296
991
496
224
997
898
589
319
594
375
836
105
36
193
490
250
395
846
559
156
130
417
617
663
655
441
98
428
192
248
851
695
979
59
70
316
791
944
669
435
174
908
190
186
689
503
299
14
721
38
369
538
906
376
840
60
614
667
387
114
544
757
402
296
73
996
286
414
157
761
309
544
70
914
463
867
814
52
310
388
914
343
674
510
72
537
226
35
540
889
875
594
372
432
749
696
816
506
634
343
281
352
971
699
205
781
746
988
603
951
295
354
383
627
770
490
730
811
756
560
413
998
851
974
243
146
663
467
945
168
292
152
964
691
628
243
117
190
530
320
131
622
791
823
466
399
166
18
245
327
655
989
997
55
882
864
169
854
529
783
661
288
686
552
659
3
349
162
251
16
208
645
550
391
658
284
904
358
843
462
612
767
620
690
529
734
162
207
408
243
519
247
366
442
240
973
154
129
502
791
835
539
972
417
789
657
130
486
769
826
274
512
441
312
744
366
78
115
481
816
68
115
539
250
543
279
337
861
949
374
747
624
403
476
225
520
858
712
153
402
486
507
781
861
182
848
182
221
639
481
380
505
510
258
395
212
61
257
610
271
479
96
274
934
738
321
272
995
853
145
837
274
738
125
683
685
271
324
197
881
522
591
863
665
312
666
916
249
794
134
281
536
922
726
607
923
875
134
623
807
256
809
449
586
755
938
297
937
110
342
103
804
660
614
459
2
941
287
625
502
873
434
624
184
404
743
516
338
913
795
393
126
519
787
494
557
29
306
734
172
469
715
745
304
850
123
355
685
667
553
281
55
263
902
974
544
901
431
343
669
830
521
144
250
404
247
478
474
526
313
244
891
94
4
43
220
679
41
814
632
675
111
734
208
757
894
565
240
928
487
83
631
228
223
644
887
614
391
446
74
641
520
524
833
737
797
638
601
767
949
149
45
635
255
912
525
659
30
912
30
528
662
473
468
623
627
460
422
123
728
930
277
86
438
945
358
237
509
758
928
559
879
63
433
812
973
967
222
33
432
233
267
220
734
594
763
86
79
846
248
421
716
67
198
956
414
880
326
294
641
70
37
871
588
437
554
755
878
715
158
939
696
416
600
719
466
911
452
941
480
75
805
525
507
7
851
57
111
285
955
407
587
514
203
715
460
425
629
621
366
764
907
524
283
957
816
903
356
45
918
834
810
761
844
984
137
635
49
457
123
183
563
229
303
121
708
330
794
929
78
290
466
643
757
482
773
222
75
889
401
90
93
927
808
214
850
363
650
378
460
135
356
671
728
164
215
519
653
937
500
768
791
760
567
302
50
981
116
329
273
145
55
883
367
844
673
279
240
820
276
486
153
670
469
643
765
985
96
187
611
384
890
66
253
210
526
612
786
548
188
917
697
292
105
973
990
103
663
281
716
470
859
687
397
830
560
392
983
595
240
227
738
42
553
1
58
313
449
460
671
476
424
131
583
64
460
25
474
853
808
256
494
62
27
867
656
380
570
138
36
211
100
998
981
867
610
367
269
215
34
23
601
376
963
420
232
819
344
531
87
122
237
938
938
522
173
718
67
859
128
137
393
827
596
825
355
155
217
250
74
371
656
593
105
609
943
294
877
571
982
601
401
519
873
941
819
303
661
985
814
942
298
284
682
324
857
625
448
482
413
399
105
813
31
951
995
294
264
282
902
643
568
556
517
60
49
81
780
855
945
156
760
306
803
382
486
176
205
979
187
4
39
476
483
520
813
162
20
474
100
220
78
886
387
263
877
762
301
895
545
771
963
121
74
694
593
882
805
626
212
883
960
339
242
274
678
856
979
625
736
754
872
273
422
899
696
893
62
226
432
994
528
213
260
506
876
117
264
881
88
473
211
652
16
233
715
11
726
993
629
214
242
213
301
258
700
170
893
975
371
930
414
651
498
592
73
955
992
65
741
454
919
359
957
130
405
626
75
413
415
903
313
657
239
614
381
312
957
807
903
625
98
925
907
121
228
250
760
273
642
72
142
665
935
857
360
696
275
236
355
973
727
745
202
830
807
135
981
631
260
125
946
612
566
581
407
51
343
205
190
209
480
799
629
672
449
41
806
140
567
120
201
934
198
883
257
821
738
984
824
338
717
728
58
141
970
892
934
629
73
7
851
300
817
807
924
760
818
183
848
347
748
739
279
711
428
797
9
312
579
497
755
204
266
815
100
165
740
327
772
580
529
759
916
376
189
795
894
268
947
900
290
755
100
394
565
645
461
295
682
654
122
356
621
364
792
299
279
507
347
231
952
811
187
314
735
196
501
203
650
321
518
653
856
410
547
179
719
825
23
890
94
40
601
216
747
811
413
789
623
51
646
318
881
397
350
821
266
841
721
812
635
776
504
662
590
155
362
650
534
361
860
280
298
86
168
955
262
82
11
992
298
300
819
845
137
848
131
246
694
816
462
435
254
761
114
997
343
651
280
172
217
139
662
436
324
336
906
933
563
115
14
315
257
247
9
635
380
571
718
538
460
977
750
944
228
657
189
967
467
243
381
647
450
642
664
617
644
280
987
540
197
561
181
12
428
373
862
137
948
839
896
216
377
332
351
757
508
555
952
760
587
454
97
770
809
455
321
36
741
73
219
41
466
685
842
884
251
223
410
689
165
345
8
460
784
112
67
119
333
191
139
159
355
867
122
576
174
557
197
179
226
603
741
53
491
796
443
408
251
833
993
254
740
70
257
502
533
734
214
469
64
847
12
29
956
133
323
645
63
792
21
876
722
97
293
914
375
544
834
765
548
244
408
216
82
329
955
885
821
299
752
507
431
287
159
483
405
536
250
361
624
702
71
314
901
616
794
947
109
670
749
267
74
18
74
982
398
597
705
386
368
380
571
239
65
0
156
292
322
461
190
849
802
653
378
215
308
305
292
93
442
953
977
245
741
673
891
792
117
436
268
630
20
454
662
181
82
945
906
198
226
891
446
622
529
921
755
528
892
436
19
7
644
935
17
581
719
850
618
356
387
824
354
681
363
961
247
310
174
327
536
729
220
899
258
706
581
848
34
112
840
543
550
360
371
695
35
246
289
226
417
264
284
873
701
372
653
836
235
739
712
535
983
458
886
614
510
352
559
809
6
449
617
427
437
257
713
340
573
888
46
539
749
326
215
178
892
281
989
229
945
105
276
804
976
316
532
797
446
605
958
454
686
248
257
979
96
580
622
792
376
761
909
327
855
702
947
877
579
979
424
509
745
944
61
230
345
916
388
964
465
819
280
152
555
244
988
563
789
768
968
862
793
968
808
691
591
532
317
293
877
600
543
374
989
470
905
760
837
715
64
323
764
492
41
367
173
531
954
91
967
272
120
358
692
52
33
33
935
282
973
709
852
783
791
543
583
145
208
110
920
47
122
307
973
587
840
366
782
121
561
199
741
382
673
746
900
677
7
23
825
353
984
195
603
165
257
97
478
4
824
204
212
190
666
397
627
433
647
613
955
435
392
539
495
765
346
788
317
759
424
980
841
877
413
627
451
368
371
762
960
905
346
628
464
190
157
40
256
126
224
369
746
146
146
687
782
851
455
12
102
320
18
50
437
466
219
423
931
617
851
544
843
406
138
366
770
349
788
159
740
831
331
65
930
530
881
485
224
169
68
794
326
635
667
810
538
690
289
922
990
161
704
290
610
561
457
722
228
703
608
292
41
389
559
166
14
478
935
697
548
693
559
214
861
339
437
833
405
117
370
230
435
731
814
153
201
650
586
242
135
876
918
443
11
554
799
871
122
58
160
241
891
409
934
504
578
810
729
448
56
932
192
80
262
202
751
70
415
21
221
505
528
724
833
70
177
360
531
415
524
713
163
82
645
592
506
91
560
951
679
290
452
222
8
79
899
272
156
872
275
899
703
819
805
244
730
286
951
269
799
621
341
981
0
593
998
842
717
838
689
311
651
812
832
886
671
441
16
615
123
425
389
693
432
797
135
140
696
388
96
367
115
859
837
294
98
135
532
507
332
822
40
88
219
622
714
666
669
675
580
746
912
891
286
298
559
564
260
714
887
750
89
64
737
670
355
495
981
905
372
909
906
417
585
520
835
87
819
568
636
391
173
581
40
731
770
599
155
544
619
108
524
420
19
310
646
127
484
569
276
241
613
898
607
512
870
510
97
157
591
945
965
395
622
867
664
604
508
698
859
813
302
453
935
92
397
230
400
429
829
168
497
198
711
767
339
681
604
40
15
998
901
64
551
451
921
19
677
421
898
313
415
16
930
203
589
136
875
316
131
812
944
46
798
148
963
950
453
261
520
329
302
430
485
420
115
587
180
794
38
42
295
359
281
753
154
49
359
806
684
338
574
264
597
710
40
636
715
64
398
832
897
867
107
954
363
493
177
9
722
354
763
163
674
195
177
700
50
279
856
692
153
618
290
928
771
536
587
232
287
344
106
150
262
883
460
270
692
316
655
818
834
399
159
145
506
42
847
761
102
487
191
737
658
681
940
729
680
105
46
247
134
719
384
836
834
217
507
386
106
594
180
696
509
672
994
644
437
322
546
646
2
894
598
810
478
391
45
408
252
314
280
813
909
854
277
293
105
860
524
311
159
922
942
801
314
98
698
22
31
105
754
142
194
228
94
582
212
251
731
829
989
565
628
48
394
527
128
704
939
126
775
209
69
607
37
330
205
488
773
914
651
77
793
992
355
346
963
646
34
89
321
122
951
862
491
211
264
762
488
840
248
106
972
242
729
791
887
38
981
907
369
155
48
686
184
756
644
528
972
561
932
702
56
974
496
452
357
524
311
242
787
193
370
184
212
404
909
219
840
694
141
137
673
998
502
571
211
908
200
681
148
199
5
237
186
892
501
928
785
396
220
87
675
200
35
232
343
812
401
315
368
629
408
183
676
998
342
893
857
212
905
845
492
715
819
608
532
495
497
960
731
480
306
741
720
325
530
762
884
954
626
31
627
985
161
268
788
644
883
983
783
251
593
42
116
991
76
830
103
694
699
256
959
214
154
272
582
59
280
730
43
333
713
797
519
222
752
438
920
665
41
133
829
519
300
548
818
348
381
280
598
79
213
331
938
221
619
385
744
715
859
269
730
512
903
768
348
569
49
189
781
890
899
419
943
784
747
29
60
450
275
937
664
985
641
960
27
208
453
922
451
930
758
378
911
369
190
701
589
723
597
436
779
688
963
493
856
205
338
859
105
738
263
10
608
399
337
315
957
68
665
939
666
305
722
536
513
403
410
745
879
451
297
222
103
453
758
53
410
981
718
727
777
683
763
486
30
779
37
323
230
318
875
659
987
529
834
189
472
615
140
953
551
261
852
809
824
599
615
696
124
818
407
286
483
572
962
278
468
192
273
813
669
10
669
954
711
391
702
339
783
751
31
18
957
153
237
19
909
609
637
710
14
76
798
112
443
283
88
523
383
867
940
796
13
621
88
426
860
909
513
286
196
750
958
188
407
872
491
140
369
167
599
700
300
437
703
543
33
535
794
811
148
323
380
997
776
746
326
142
44
808
208
966
194
587
492
342
812
803
132
404
36
377
628
671
526
990
699
169
212
277
256
28
813
533
422
837
31
150
14
125
941
892
131
873
232
142
963
470
380
123
562
58
703
717
445
895
670
58
262
997
946
420
616
78
411
587
419
757
232
425
959
614
711
927
598
828
115
614
359
37
786
6
638
754
408
371
719
131
466
199
25
3
534
546
536
308
582
508
946
944
307
797
750
934
756
336
963
840
275
624
599
339
209
702
709
483
50
361
67
98
983
558
256
613
999
653
640
898
731
381
906
437
829
60
428
189
12
273
20
977
660
918
419
752
560
879
245
541
439
958
375
939
385
631
661
384
833
5
800
924
675
13
198
966
557
769
274
255
750
612
459
742
636
794
859
512
108
933
769
743
401
390
540
867
460
342
730
567
631
704
597
171
405
172
87
803
106
90
767
801
361
337
532
118
666
443
223
573
113
92
670
529
678
367
747
974
437
833
297
609
86
856
927
363
470
964
255
202
896
472
771
793
181
409
922
952
563
339
57
948
647
218
669
259
523
211
537
89
711
350
177
166
3
313
275
473
774
971
454
490
767
722
166
977
161
592
634
838
876
832
734
465
230
569
785
963
541
274
441
393
602
751
571
678
200
974
914
856
238
96
460
376
294
970
353
354
377
228
559
437
577
362
917
745
82
830
35
787
269
862
69
292
393
860
290
796
128
882
936
672
168
989
328
491
66
981
820
490
163
643
54
59
535
452
684
427
121
602
320
745
967
359
688
508
46
152
467
187
785
923
37
817
788
36
889
585
149
607
905
946
452
10
615
589
263
424
987
438
733
20
161
796
663
652
353
314
628
471
126
129
809
205
96
527
103
38
603
783
874
881
803
248
853
286
764
637
260
452
840
511
394
673
555
679
782
947
657
609
767
46
281
554
195
864
89
902
54
737
51
25
436
408
215
440
291
706
817
494
822
255
747
639
131
520
207
419
576
985
966
786
917
163
39
123
415
257
443
202
983
649
88
156
109
961
589
626
330
546
623
695
718
444
526
201
867
475
589
677
528
390
412
802
281
719
574
758
338
121
148
608
627
174
719
907
83
461
634
260
575
914
325
44
265
946
193
737
927
680
488
936
938
810
841
976
787
89
728
936
92
84
95
310
793
225
142
620
164
202
811
434
272
751
986
384
984
816
542
358
302
522
11
619
166
680
444
750
572
132
944
589
81
683
363
858
331
248
6
628
883
686
39
286
608
944
759
794
343
153
550
687
16
123
998
503
217
340
941
846
880
463
279
153
368
747
359
405
364
252
562
158
186
858
291
916
560
816
616
868
851
752
641
285
224
882
612
752
827
194
113
690
777
748
853
687
152
693
568
811
476
12
559
846
339
340
63
870
391
428
292
575
19
125
520
677
856
792
13
180
46
254
783
35
483
690
184
240
572
199
161
975
632
672
659
279
583
82
597
623
698
923
63
141
343
641
563
177
237
902
802
622
878
65
836
575
564
87
663
471
601
274
624
633
678
605
239
242
945
627
498
492
232
494
284
146
935
691
981
277
949
632
759
505
506
909
204
682
349
214
53
367
354
922
575
102
787
734
275
613
681
571
383
944
108
673
256
661
198
81
467
901
147
966
92
147
105
276
833
898
19
563
768
226
246
7
279
74
104
854
716
138
726
889
316
483
624
146
658
933
362
361
414
875
296
290
718
416
106
184
655
314
693
783
976
31
396
512
529
913
833
818
343
132
964
966
771
995
266
446
928
914
837
154
470
709
128
106
991
360
59
542
76
305
591
577
470
809
223
710
586
786
906
560
702
944
475
376
276
76
618
47
143
63
553
485
995
163
152
615
691
753
57
759
366
578
686
757
653
419
358
506
330
578
176
665
640
932
328
196
637
195
755
530
376
312
802
624
728
988
9
554
969
364
336
632
240
350
561
83
100
417
603
552
243
194
189
556
91
496
700
918
505
828
882
468
780
190
559
850
282
878
661
320
162
522
798
200
889
134
674
569
748
115
531
847
615
301
296
661
805
394
644
544
812
890
637
98
456
329
366
638
341
284
297
706
969
806
838
536
932
16
296
72
599
562
207
213
775
5
97
552
208
647
420
26
517
424
359
467
460
631
493
546
224
107
462
125
667
691
799
213
405
916
93
903
301
834
764
895
943
924
197
525
644
856
405
937
551
381
515
774
191
355
16
109
258
487
905
546
907
769
407
672
299
643
268
393
209
105
200
632
508
221
635
408
615
138
217
70
128
459
376
759
778
67
126
618
145
97
388
760
106
832
251
195
384
523
705
32
713
512
941
580
4
963
77
359
157
488
475
598
146
318
586
120
814
202
401
620
946
724
555
222
746
877
461
304
1
433
497
357
720
416
817
737
819
205
207
239
141
395
215
540
113
586
554
685
306
657
752
340
723
439
311
73
262
711
722
717
138
493
899
926
577
679
679
686
320
710
747
337
893
492
514
841
535
886
153
201
446
595
323
887
826
783
292
51
918
84
71
487
768
863
232
112
318
592
345
123
930
383
274
133
219
723
478
530
974
911
587
667
620
460
352
998
148
870
83
644
241
476
844
674
757
723
984
568
313
237
770
585
389
209
436
659
324
843
204
100
847
13
541
535
18
800
439
439
39
264
868
991
507
338
133
406
99
83
715
484
592
18
194
257
714
108
817
383
89
443
928
779
590
195
769
85
200
481
13
130
450
3
350
489
988
498
604
312
228
641
654
345
317
426
987
201
696
741
330
269
466
971
445
564
571
592
861
763
677
496
992
216
619
551
558
838
739
664
366
677
335
100
406
377
975
638
390
250
465
11
726
49
423
230
916
955
688
785
331
756
373
583
616
76
24
284
481
461
678
108
538
765
788
122
237
808
533
620
684
603
153
699
421
339
702
980
464
17
547
961
489
921
457
417
965
136
391
117
414
815
772
440
348
190
199
923
601
834
705
319
930
932
873
499
259
271
259
5
348
569
262
171
987
547
189
914
429
339
44
17
506
666
290
937
716
145
619
485
968
706
771
465
417
397
990
858
688
473
858
702
242
39
460
261
569
149
673
888
130
827
863
695
196
389
343
908
712
954
696
485
862
546
186
195
192
184
198
69
638
236
488
988
241
585
337
476
640
109
787
217
916
229
616
280
345
89
33
354
121
363
929
658
154
344
705
477
76
896
221
377
806
857
965
58
609
820
512
725
674
708
80
707
509
351
182
993
826
592
272
277
621
374
935
206
858
277
974
588
970
816
343
104
179
163
733
266
581
55
170
931
189
977
139
927
259
867
88
228
747
714
474
522
298
37
866
695
187
593
368
299
244
21
41
97
836
328
240
803
474
453
18
486
434
918
171
558
219
66
191
80
466
0
288
161
232
374
914
43
75
207
435
811
675
993
451
217
594
118
176
115
486
832
81
304
554
506
749
101
954
380
478
815
668
297
87
777
935
36
25
183
225
720
792
519
616
450
366
525
972
928
682
104
303
44
868
912
441
165
874
121
741
655
611
990
526
263
778
307
109
930
863
175
36
856
328
322
562
669
382
204
218
988
821
719
492
686
659
221
650
511
195
727
261
312
59
354
700
585
801
783
106
452
46
275
703
276
723
222
654
894
539
232
499
891
502
654
766
91
614
590
652
813
13
485
256
637
331
818
978
377
589
952
558
961
735
145
274
799
60
615
183
435
830
381
951
682
943
373
177
356
748
501
786
960
747
333
861
141
610
923
267
895
322
887
795
326
213
998
530
44
849
919
20
920
46
879
218
922
359
189
90
748
181
374
210
533
205
118
802
986
985
686
456
316
432
967
597
95
546
415
633
901
15
521
24
886
956
56
380
740
641
600
664
399
734
332
907
229
137
437
796
4
234
989
607
804
811
776
165
821
628
577
269
335
665
515
34
683
88
195
280
319
883
319
276
144
644
580
380
492
247
819
57
392
94
202
830
904
505
347
616
889
750
44
41
129
670
657
356
543
72
919
119
21
900
585
173
63
199
770
282
217
800
846
708
25
631
194
16
951
59
869
781
19
140
418
258
277
626
390
674
580
6
779
304
315
72
127
297
429
379
571
20
293
808
54
744
107
374
877
197
800
725
581
85
302
88
424
220
700
637
9
966
686
939
721
821
845
61
417
235
917
262
453
451
201
671
222
388
488
151
439
366
582
663
535
867
974
470
831
366
829
454
784
447
691
693
167
822
132
716
598
102
210
104
732
943
466
733
551
449
712
548
729
798
799
341
459
65
591
14
111
649
681
982
171
730
819
110
995
880
23
630
442
36
37
319
190
558
744
711
497
782
684
527
42
676
299
49
267
132
690
918
172
517
250
523
305
34
816
127
364
805
241
356
36
465
796
773
472
973
543
644
619
207
189
810
767
424
320
858
12
984
285
350
472
147
967
149
34
357
57
603
54
421
842
833
228
44
215
688
916
846
642
563
502
278
954
126
494
357
794
595
268
908
889
444
43
900
780
890
437
257
835
957
392
132
311
424
319
59
549
258
859
52
756
776
977
570
937
71
739
171
266
246
889
754
53
709
561
303
732
681
489
984
813
949
923
109
773
675
946
734
316
393
158
48
63
219
50
942
309
947
463
403
537
839
421
104
648
555
796
90
60
132
730
866
327
522
654
197
959
189
959
348
325
232
696
126
833
244
244
404
522
449
860
406
18
146
282
816
448
259
77
946
36
693
284
216
430
472
276
135
980
945
922
253
843
902
250
801
314
98
233
282
937
468
750
819
889
365
190
638
555
384
415
380
959
880
317
743
907
667
802
636
425
993
856
767
969
615
796
229
148
655
9
794
637
23
804
893
146
863
982
774
597
224
311
778
443
390
889
5
248
803
998
246
826
545
631
801
289
840
203
521
222
847
962
959
413
252
123
341
53
894
233
39
364
284
520
853
300
171
666
397
945
428
232
761
454
167
983
635
904
922
73
658
950
706
285
973
239
2
209
661
653
850
663
926
484
127
6
755
138
939
130
821
23
32
175
844
582
722
890
142
451
32
143
150
467
389
61
410
621
823
247
970
716
118
434
429
484
562
782
925
660
921
957
290
382
826
410
665
567
699
509
310
876
792
662
737
763
742
96
673
700
41
443
948
962
30
15
263
469
821
787
593
191
869
578
24
888
805
438
687
387
508
762
933
463
864
566
84
206
300
478
305
417
183
885
885
668
881
450
464
278
210
514
720
443
791
721
575
787
109
661
793
632
419
147
716
36
420
299
395
299
355
517
693
582
403
770
479
165
646
908
827
517
404
335
656
304
725
612
876
597
37
282
198
460
945
766
526
788
435
733
223
895
618
708
860
15
30
6
858
814
786
772
931
494
473
262
67
274
922
398
782
140
911
62
577
972
620
874
231
860
243
394
477
265
120
850
235
384
691
621
730
472
306
233
94
769
982
623
201
265
630
27
889
309
456
423
9
68
154
977
415
181
536
726
643
265
714
93
561
985
732
953
261
495
251
601
147
250
154
624
279
484
238
409
658
798
990
542
593
846
947
908
38
556
562
611
488
921
715
198
833
888
554
116
7
557
515
223
95
150
241
251
302
986
148
711
579
240
926
856
314
706
764
476
352
676
766
516
974
52
461
133
975
72
326
821
941
154
570
442
829
470
405
94
59
854
571
217
281
190
700
175
943
223
108
505
560
126
885
37
512
433
964
331
821
958
2
58
81
237
750
713
478
54
954
419
133
314
916
871
493
178
430
915
238
930
408
263
13
795
969
697
763
990
841
56
226
362
551
794
125
931
497
321
250
763
902
861
700
116
281
404
2
906
492
433
760
706
210
163
959
94
575
605
638
488
578
383
174
449
572
299
487
107
596
510
809
1
29
297
78
679
275
383
246
865
685
968
925
771
949
128
290
763
737
630
218
652
673
654
201
453
415
617
66
273
317
932
260
349
852
105
479
273
564
646
331
180
454
332
26
946
966
703
60
221
763
200
395
150
679
393
804
967
501
582
906
965
875
366
361
734
574
400
947
931
968
807
330
878
27
65
771
988
387
212
352
671
788
852
82
210
825
873
342
205
494
745
839
523
678
399
449
550
507
86
685
350
191
119
110
817
330
895
442
875
827
22
225
938
126
0
181
356
136
46
296
496
764
625
931
685
316
256
565
729
369
780
116
746
849
971
413
778
919
569
355
863
715
129
664
277
248
399
202
574
356
442
700
271
440
531
738
191
544
232
48
234
397
210
881
439
359
489
33
332
859
92
996
759
515
342
26
894
878
753
771
240
718
209
884
502
853
102
71
658
780
479
205
130
863
595
726
460
897
631
479
187
817
889
354
229
968
739
632
813
388
422
104
310
408
520
121
69
72
411
845
212
924
473
570
687
34
41
338
883
809
510
244
286
57
496
893
479
906
11
148
754
974
319
17
380
109
949
701
597
754
828
675
133
247
975
286
559
549
137
833
760
11
744
220
649
476
695
453
643
356
440
924
668
484
254
378
282
562
670
304
736
32
857
654
249
581
670
94
952
392
147
628
694
181
257
755
490
664
177
96
1
413
515
20
829
420
756
241
194
498
541
102
757
30
928
454
378
8
332
630
989
951
415
787
952
938
188
765
629
818
329
776
794
289
841
264
318
639
659
178
700
751
736
280
506
797
156
706
419
13
896
322
586
341
116
878
699
313
617
468
799
824
716
349
676
145
707
741
708
416
340
761
105
931
443
798
909
205
929
168
468
926
412
653
533
467
73
474
270
946
177
22
288
942
70
408
904
284
318
55
636
313
843
823
728
400
64
451
459
708
689
309
197
81
101
746
86
326
271
973
479
501
66
385
357
482
93
640
572
161
702
441
563
641
365
237
121
761
681
417
787
567
149
851
886
796
912
40
681
912
491
944
344
149
911
644
735
98
475
32
742
27
41
147
182
52
731
161
490
412
443
452
627
224
764
346
78
876
574
885
216
302
724
115
768
654
18
148
814
129
540
881
596
535
49
345
322
865
854
82
202
117
708
221
298
279
706
195
420
567
911
960
636
881
511
577
85
375
757
510
894
925
983
431
13
189
297
418
229
174
246
272
541
756
39
967
286
449
761
271
424
370
836
839
674
971
261
760
865
398
784
408
707
856
103
619
733
896
833
718
627
198
434
417
110
749
268
831
217
952
677
859
343
878
212
584
822
138
421
818
622
200
778
884
536
120
29
682
889
920
973
686
194
21
199
407
28
70
254
270
722
246
941
943
21
63
217
74
843
468
381
526
914
221
452
664
623
916
406
787
239
278
285
22
738
453
429
67
446
181
561
278
365
673
281
381
106
621
462
440
921
836
354
512
568
354
612
25
665
59
219
547
189
981
299
648
184
301
976
634
960
953
311
10
220
900
286
452
463
479
495
144
670
165
405
395
248
51
112
139
43
674
545
233
20
431
429
367
237
738
92
185
325
256
773
464
426
181
532
550
847
799
902
222
369
168
165
926
86
418
576
50
209
463
165
680
587
63
456
471
187
568
786
874
52
122
765
245
231
163
461
551
713
985
166
279
927
736
234
374
897
66
538
111
939
535
769
881
30
427
647
700
844
720
989
291
671
943
521
967
544
861
418
95
582
29
961
794
442
258
212
489
538
227
142
654
233
965
136
667
746
261
868
237
642
829
656
350
997
779
952
259
936
821
104
785
516
774
425
75
625
494
607
530
916
592
345
910
399
721
37
976
26
67
962
452
77
857
738
4
521
142
318
537
129
125
312
628
609
590
677
781
64
627
804
706
126
367
363
383
411
679
383
132
269
371
463
809
435
901
455
646
574
187
469
823
81
275
266
576
973
115
705
199
195
735
46
975
586
739
403
917
579
62
818
223
935
822
360
41
952
820
829
610
337
418
330
910
222
48
401
640
174
182
197
844
778
526
173
971
290
814
243
259
170
345
41
304
115
157
700
194
966
79
435
938
474
189
379
651
479
98
947
891
478
657
388
588
458
347
833
509
840
155
259
987
367
940
733
736
357
686
534
842
986
521
747
481
718
672
26
496
872
730
645
833
929
103
576
455
842
786
350
93
678
389
445
290
168
878
556
18
576
902
55
568
677
1
883
670
767
325
888
180
243
750
612
479
54
494
827
217
929
43
462
674
178
301
13
97
529
592
503
553
634
259
115
645
736
204
45
815
689
33
337
375
358
475
94
257
729
665
714
390
349
30
649
546
237
733
430
689
395
189
691
797
62
617
788
685
628
500
78
561
469
691
536
422
821
300
189
908
963
377
617
347
206
677
65
36
628
913
325
779
669
10
331
893
861
451
367
517
227
915
286
386
201
841
563
564
873
906
899
900
757
997
121
695
184
2
265
444
357
236
69
458
634
619
346
108
566
38
814
378
710
983
623
265
687
244
950
457
193
295
262
224
945
926
235
811
722
345
645
925
822
255
125
998
796
727
259
403
249
64
682
236
31
36
963
580
916
5
768
360
970
280
410
977
419
866
893
542
982
881
43
356
200
438
814
445
980
34
201
792
653
581
491
219
556
462
168
861
753
753
572
490
305
178
390
399
631
77
661
636
628
809
745
720
467
517
99
912
911
584
951
658
725
125
549
516
725
322
179
797
952
227
231
247
465
943
728
513
605
742
405
204
242
463
368
111
358
424
437
576
576
681
369
942
992
59
164
973
174
69
483
515
343
431
586
888
806
997
516
876
779
874
216
334
346
177
679
178
293
830
632
946
700
962
239
6
833
100
523
174
237
680
601
974
21
495
849
419
376
223
923
995
307
267
154
576
825
296
894
602
689
218
917
743
621
38
85
585
558
629
976
247
829
526
250
383
852
292
321
774
611
51
918
807
190
806
716
679
305
602
842
214
652
845
188
756
997
870
720
963
112
296
201
40
800
392
774
607
733
183
924
931
717
717
44
98
486
909
894
97
422
345
736
624
799
858
295
491
786
261
479
112
996
873
568
129
856
431
733
425
413
465
359
809
811
527
247
673
146
616
620
244
502
478
400
560
408
278
244
771
847
848
35
558
725
971
744
234
842
777
542
303
467
143
70
835
195
364
217
429
189
937
504
0
128
827
187
797
436
517
508
685
520
413
342
223
348
129
554
237
250
893
481
253
118
136
897
149
250
545
499
312
126
212
494
953
323
505
42
562
611
754
642
98
774
986
461
654
976
898
654
621
554
228
843
169
951
431
357
588
295
902
492
732
719
956
271
299
64
626
428
978
33
846
86
561
485
71
686
390
630
797
11
857
731
274
687
142
474
572
401
698
370
599
690
961
251
198
58
779
282
129
208
105
479
442
319
641
690
521
13
546
418
799
857
642
566
739
331
226
897
878
148
535
40
993
726
98
522
83
887
464
483
413
812
124
524
103
827
991
811
908
713
324
62
924
885
885
21
273
465
515
895
974
842
180
947
819
862
140
485
774
320
110
620
660
968
108
41
501
993
219
126
758
673
860
572
539
866
836
937
474
201
330
448
536
704
22
863
127
131
980
324
767
46
261
544
217
25
83
862
202
661
13
950
402
245
210
889
237
614
265
670
63
536
691
950
731
438
267
739
835
497
429
234
262
841
678
995
60
945
353
935
465
115
79
120
388
504
169
775
697
549
591
780
883
913
330
992
380
65
462
664
368
960
25
331
822
557
624
242
269
939
340
816
252
649
599
464
874
782
116
261
36
36
986
849
397
440
974
665
495
893
554
717
109
515
518
762
446
915
767
397
974
959
373
316
832
731
566
888
667
715
494
715
922
579
643
973
776
669
85
533
311
395
871
513
336
678
744
907
916
127
276
100
168
267
303
582
457
869
774
51
972
565
242
496
773
693
271
167
937
441
798
612
353
858
839
751
684
650
613
368
268
324
307
248
685
142
173
296
1
114
360
525
142
860
140
964
40
452
301
28
114
496
952
339
580
9
977
870
470
365
960
558
870
784
761
64
186
420
810
458
405
699
391
518
550
58
347
503
663
525
3
168
541
459
313
334
908
115
653
296
637
294
841
833
598
141
956
976
709
13
493
95
785
517
219
156
39
159
930
319
809
561
633
148
386
974
229
569
939
510
728
800
225
801
225
475
949
490
497
38
877
926
692
690
342
733
982
369
162
860
613
908
148
797
521
771
334
271
905
879
318
972
743
465
220
539
39
118
232
663
232
782
616
248
733
800
847
551
91
384
888
537
879
376
615
513
64
79
224
685
593
3
789
362
819
38
331
230
142
298
594
367
121
91
515
603
248
412
206
992
468
485
986
870
27
845
136
89
434
482
744
96
958
461
865
436
769
269
643
750
661
849
679
943
9
135
22
496
997
387
923
803
882
738
780
254
550
233
93
33
17
786
869
949
123
886
192
934
621
49
679
198
687
975
854
235
539
132
804
6
173
869
37
535
135
782
861
610
149
151
793
838
959
383
185
579
387
178
864
122
554
590
781
512
34
92
879
677
698
612
564
532
243
197
872
844
630
185
624
800
912
882
920
85
968
485
698
708
93
349
690
104
540
695
241
360
935
973
441
35
185
272
70
490
512
118
833
37
209
761
519
788
501
62
476
463
604
505
948
100
624
497
1
108
320
314
421
203
249
452
380
97
320
558
683
771
83
530
489
508
872
833
896
132
202
540
589
395
716
466
756
218
63
281
229
75
974
62
710
820
896
958
308
741
585
814
886
384
287
336
813
288
964
598
310
162
475
150
12
129
49
100
345
684
658
278
591
623
307
536
440
872
539
828
670
362
51
797
503
621
638
483
55
618
478
451
282
499
210
433
797
817
133
662
639
991
905
152
199
95
986
430
754
555
858
97
625
587
166
488
483
374
953
892
145
471
423
627
754
641
30
649
474
419
844
97
209
176
706
407
328
646
963
923
491
999
606
814
387
164
994
342
855
671
290
634
391
944
400
147
818
728
802
44
544
984
151
869
42
1
357
544
662
466
368
16
455
592
152
366
450
52
986
477
352
667
74
903
36
752
699
548
591
969
958
682
485
868
228
793
818
487
662
472
205
643
509
767
337
511
195
148
48
578
220
620
632
427
325
302
183
687
136
779
369
198
40
640
846
102
829
974
833
64
954
933
272
569
994
289
424
735
456
287
160
313
136
975
146
261
404
47
149
369
950
508
861
725
343
940
938
698
392
840
134
175
454
720
854
2
564
648
984
966
747
629
140
848
316
484
262
173
447
618
868
709
262
472
328
757
541
878
762
376
263
320
756
838
468
696
153
500
757
924
158
70
767
520
411
810
826
707
487
369
149
288
154
163
856
29
583
303
703
526
560
301
112
668
563
173
164
366
787
551
241
962
995
152
220
445
777
470
590
636
25
53
965
801
691
328
289
965
271
200
651
590
369
108
664
810
32
653
20
912
816
133
586
480
23
994
444
5
179
360
21
255
387
773
82
259
890
532
88
117
961
979
104
608
631
353
162
696
922
139
296
526
789
237
181
716
482
374
224
720
42
718
706
478
789
705
276
24
288
848
641
612
269
612
268
367
323
532
575
888
592
208
429
227
250
307
105
6
506
929
461
264
732
368
141
727
581
887
615
187
551
401
579
819
815
506
508
219
328
157
333
269
272
901
309
731
11
990
330
364
866
898
193
814
450
970
789
485
768
209
641
573
545
816
254
721
313
878
216
187
454
192
732
584
222
895
57
831
36
625
899
908
368
213
903
848
60
874
931
498
546
883
545
87
273
344
244
52
119
194
73
330
629
765
33
371
519
568
133
82
230
151
620
473
969
72
673
141
151
656
56
713
577
569
984
911
342
5
107
58
411
935
156
677
807
783
95
576
3
807
194
190
609
162
799
438
805
936
235
50
922
10
529
808
950
339
372
459
833
748
2
60
897
492
341
783
164
431
314
611
481
143
234
762
445
774
599
642
524
526
861
743
891
294
861
844
180
660
432
977
273
800
415
272
653
802
955
246
83
765
734
554
313
428
824
797
846
534
294
586
823
539
400
844
461
361
406
650
779
448
716
927
907
678
446
710
313
60
470
304
877
895
661
963
525
992
556
550
918
388
885
825
532
438
395
733
347
54
919
438
106
152
305
555
322
391
312
912
69
748
986
201
979
569
897
114
599
681
546
877
504
52
808
901
736
817
890
69
94
874
322
29
487
46
670
268
147
415
96
545
872
477
476
804
28
955
260
66
700
369
927
628
137
433
52
920
233
78
435
362
449
818
687
785
101
436
988
921
28
851
637
176
119
444
266
450
330
863
552
466
631
927
422
272
69
600
531
929
641
500
5
960
869
240
277
124
412
475
80
634
128
420
597
31
12
399
777
459
295
46
393
727
356
722
912
897
346
327
26
532
566
728
917
200
608
514
625
524
71
140
610
995
642
323
126
656
608
156
951
929
904
890
2
643
481
18
220
534
875
690
315
496
333
565
741
12
484
940
164
817
103
64
670
122
490
320
815
593
422
147
91
218
855
295
568
609
372
932
17
865
36
909
515
654
143
915
851
334
689
374
12
886
130
831
444
217
709
440
676
435
536
163
215
120
598
276
169
614
895
271
401
394
189
160
34
453
315
543
940
579
799
730
631
842
51
706
85
368
636
146
272
577
547
724
280
800
800
113
318
671
131
184
609
687
68
352
810
823
327
145
786
314
719
699
446
163
442
719
834
399
288
924
992
87
329
496
872
652
207
210
447
327
556
616
736
93
136
439
760
156
778
886
804
48
877
349
343
503
708
419
878
420
417
193
864
4
31
546
686
991
154
720
410
240
629
737
302
214
287
40
537
697
544
695
235
718
728
789
234
564
166
175
834
293
27
627
409
130
115
210
50
929
369
621
22
753
473
426
883
380
619
745
725
108
150
403
291
73
661
619
124
148
273
282
242
491
85
453
218
302
172
377
644
270
793
660
206
501
66
774
785
43
490
484
927
870
136
595
800
505
993
846
340
254
873
245
907
310
507
556
220
122
125
660
647
565
953
867
636
428
248
752
681
126
149
756
365
84
37
225
658
860
63
836
784
596
712
947
137
181
431
641
765
904
581
16
944
865
615
336
84
895
943
262
439
195
379
818
717
905
52
570
709
25
74
652
197
165
256
30
53
974
227
657
697
448
186
455
487
454
840
534
469
283
102
46
274
568
542
539
557
415
815
588
963
663
545
228
793
907
902
949
625
990
120
156
798
757
45
840
995
520
685
373
623
400
877
415
324
503
411
490
142
608
972
810
467
225
413
369
205
912
381
671
44
821
341
864
562
208
522
767
972
513
12
348
571
445
477
648
671
629
559
50
288
907
502
96
962
386
959
773
347
545
243
889
365
58
43
546
881
730
47
170
308
1
503
805
274
404
133
818
101
1
631
136
532
171
751
218
241
48
719
298
862
459
427
237
944
536
880
338
608
709
774
345
948
662
904
45
926
189
299
144
370
461
284
633
658
6
319
366
881
269
351
813
983
37
620
213
275
96
547
651
34
240
578
730
807
352
405
49
213
302
50
735
141
389
48
731
430
142
207
529
762
635
390
502
80
800
757
872
476
255
468
569
852
164
720
694
613
323
227
424
214
275
447
411
510
203
472
947
59
444
749
328
404
238
926
348
879
556
809
816
461
82
80
468
967
902
831
385
240
8
36
776
770
464
489
599
633
881
158
7
649
108
889
878
942
968
497
857
941
148
873
463
803
616
24
4
389
664
197
260
804
180
126
141
191
256
732
954
901
780
145
855
739
131
359
368
178
641
442
883
169
569
901
228
514
115
905
357
109
867
960
463
535
397
920
51
185
566
668
193
116
635
561
766
665
535
839
763
873
305
724
507
595
149
707
399
340
191
952
960
193
246
260
251
978
316
650
777
535
544
569
616
626
331
685
582
274
414
952
75
150
938
121
524
27
774
910
588
946
182
620
149
886
521
180
138
595
57
175
749
9
136
278
846
87
896
896
347
441
685
72
757
555
454
481
913
556
502
5
737
486
192
221
878
790
458
24
370
749
222
902
144
530
170
685
359
288
376
979
588
902
962
966
646
824
650
323
943
291
522
237
948
726
340
785
739
438
355
599
322
735
41
779
577
238
246
803
100
778
996
300
875
586
625
586
650
715
848
403
453
845
929
98
759
759
758
370
645
604
158
571
282
15
42
799
123
384
722
357
604
687
701
385
316
847
145
480
732
721
328
319
582
200
16
615
566
94
366
274
729
358
684
939
133
52
183
955
655
68
134
313
400
823
12
191
431
82
486
475
516
63
9
877
703
705
812
749
922
867
436
418
449
170
100
103
717
843
708
389
932
531
651
566
73
850
915
499
495
355
107
18
769
446
276
231
910
53
276
583
788
898
296
649
208
81
648
370
559
444
143
22
898
944
638
608
21
457
44
551
197
676
490
975
89
483
145
166
463
650
714
629
58
396
922
85
97
81
295
320
992
241
407
322
620
722
745
954
459
561
826
255
218
640
948
106
474
331
570
423
220
375
296
689
100
580
579
189
792
176
583
990
11
339
435
177
272
32
759
346
715
441
611
538
74
836
406
752
344
377
189
340
925
905
278
485
716
413
675
899
396
721
881
470
918
680
878
717
441
129
965
833
282
425
334
974
402
627
686
206
820
580
473
327
973
432
142
604
968
484
271
662
648
965
183
138
581
748
707
290
193
611
520
748
206
14
552
350
852
338
325
768
701
259
580
866
302
722
946
406
845
394
443
644
562
804
334
476
178
219
449
358
459
4
181
42
423
295
942
601
494
121
186
808
768
590
774
648
582
18
609
537
219
576
318
769
637
963
197
280
498
631
150
954
489
345
937
321
817
191
995
244
553
337
184
514
172
766
63
437
917
22
501
564
457
415
465
386
196
873
215
184
138
484
613
726
671
533
510
968
406
833
359
262
774
464
862
743
932
769
673
225
988
561
475
23
379
422
116
548
50
683
661
75
495
30
243
390
122
230
672
770
803
969
922
953
742
957
736
750
214
510
30
182
452
539
733
645
432
752
497
413
825
112
701
82
895
548
483
752
97
116
812
634
571
822
618
713
581
810
308
489
506
616
232
634
183
422
68
971
247
315
168
823
526
334
159
928
775
218
455
517
748
276
287
824
217
100
984
482
553
510
31
875
783
148
750
989
554
239
636
856
612
224
535
311
901
242
570
328
300
669
757
897
94
773
826
199
958
429
811
798
66
959
424
377
307
185
876
429
884
183
80
572
766
818
256
930
987
255
107
816
927
148
685
20
717
719
894
330
536
619
469
751
883
51
779
630
381
368
40
742
559
427
284
136
351
45
350
981
619
996
591
113
243
339
255
770
981
251
705
61
800
839
274
85
554
117
774
980
171
950
661
342
728
432
518
686
630
371
776
226
941
608
859
66
816
15
48
962
822
574
630
225
158
639
708
496
532
717
981
683
306
479
126
657
101
379
490
411
465
289
639
596
352
958
132
650
113
985
258
792
715
5
948
877
428
884
139
677
440
685
102
730
554
661
664
257
952
464
642
607
451
429
964
625
133
536
793
109
501
351
592
720
410
939
848
566
277
197
555
904
815
353
696
544
166
535
13
317
941
140
521
21
314
623
93
300
533
902
490
289
465
995
540
694
456
173
543
196
754
309
180
982
323
252
646
77
751
137
505
963
988
888
738
537
313
784
381
895
471
253
350
662
257
443
837
683
904
20
306
723
385
544
235
756
684
758
409
559
159
737
313
798
425
665
828
383
505
275
931
717
835
868
667
661
968
978
539
269
972
923
650
900
830
818
738
108
345
4
723
757
633
781
757
436
748
910
960
788
881
686
175
380
691
585
738
33
853
837
928
590
351
326
625
155
105
856
436
411
941
593
26
206
233
290
302
229
404
47
56
68
280
601
350
593
736
111
570
250
282
842
381
84
297
711
761
795
314
858
48
798
881
841
116
960
91
82
726
950
17
715
917
26
495
21
202
702
666
343
928
602
933
706
301
177
96
580
939
636
992
588
623
585
205
901
568
918
546
214
409
123
17
34
721
225
538
507
386
797
962
644
825
334
908
770
465
271
413
731
920
817
26
953
132
147
498
623
87
954
452
220
838
917
726
918
185
238
270
511
203
493
621
806
894
670
394
234
250
870
497
307
734
132
520
54
317
0
292
280
573
891
630
378
596
613
829
848
30
285
1
168
348
362
668
391
929
218
157
985
883
945
410
791
194
115
901
814
703
676
808
328
850
604
637
235
798
602
593
42
571
186
605
48
966
623
185
268
32
54
258
428
354
214
552
501
507
454
586
623
230
950
974
34
122
825
669
209
305
106
855
423
931
464
495
485
894
700
17
191
367
320
422
820
568
262
250
633
940
340
967
219
985
759
544
413
650
156
195
185
521
90
977
775
797
207
602
370
106
634
25
127
570
207
602
618
851
868
910
698
938
801
573
135
569
536
472
190
763
30
926
479
588
939
158
908
304
229
251
145
152
891
824
241
762
663
635
620
501
633
623
980
964
238
652
421
394
336
448
142
560
311
401
127
835
515
514
112
869
947
123
845
951
378
80
464
737
215
730
761
940
694
817
725
518
233
496
32
761
154
572
259
896
831
561
703
1
448
119
809
913
890
603
790
328
558
193
89
283
716
932
253
972
219
905
935
789
312
427
532
31
421
353
100
958
213
406
237
616
379
374
423
654
242
100
979
363
176
209
240
972
405
890
225
892
383
144
822
815
849
829
889
638
6
222
68
120
994
339
738
524
106
609
847
590
16
939
60
706
45
809
118
737
912
184
598
910
306
630
987
774
763
643
587
183
794
275
441
868
29
509
486
873
903
299
267
71
972
607
636
391
950
272
273
52
91
953
725
466
495
391
961
747
795
536
307
880
784
525
477
119
101
851
168
431
89
663
389
370
942
557
876
954
450
942
424
979
510
836
375
755
355
391
466
687
589
471
952
693
436
146
260
739
215
49
907
9
873
135
866
693
581
192
522
29
65
855
154
710
284
228
561
18
363
493
735
273
804
344
641
143
793
481
541
871
513
710
331
904
326
17
299
722
674
583
44
270
509
906
36
956
779
901
492
153
682
316
504
73
550
286
974
644
669
806
628
596
502
859
256
444
41
764
263
526
655
969
95
275
952
93
916
952
141
353
930
3
917
417
779
648
414
817
136
858
347
892
843
180
299
563
17
463
553
204
845
888
185
300
850
562
759
281
747
373
468
859
31
752
213
818
49
453
214
605
749
920
75
342
261
539
701
565
699
234
940
802
663
993
481
41
792
985
511
343
653
515
274
692
736
258
253
166
264
336
980
789
372
84
670
462
104
638
787
921
28
41
682
532
20
982
577
297
9
297
840
139
656
565
700
514
606
264
140
150
61
661
155
783
235
230
695
633
327
476
73
242
634
676
604
976
170
405
929
886
797
346
21
537
99
8
487
314
487
205
419
320
679
777
696
737
964
878
843
466
960
311
566
563
244
492
635
677
580
320
761
48
446
573
996
936
497
967
62
486
620
205
80
279
943
815
18
35
482
867
690
152
902
140
469
622
833
362
966
890
56
786
146
567
302
948
874
288
936
335
248
14
461
820
951
752
57
101
387
925
597
240
3
784
375
464
754
450
309
519
372
513
250
359
153
323
760
440
79
687
620
582
940
895
976
334
895
683
877
688
297
401
523
302
264
719
275
949
63
201
577
565
122
342
618
105
359
818
38
131
894
17
24
167
610
239
89
738
679
176
197
184
429
332
67
307
299
394
48
249
991
828
897
658
67
980
644
729
759
743
121
472
640
743
366
259
700
425
713
539
753
128
120
81
986
427
281
205
494
490
124
366
170
218
726
914
894
506
8
432
123
840
545
349
105
515
807
743
258
407
295
210
891
260
222
493
91
534
523
37
835
886
214
183
759
647
359
247
20
906
992
60
362
42
861
268
926
701
401
717
93
758
368
222
161
671
56
911
92
156
9
28
998
934
639
853
315
542
489
531
597
701
619
47
646
777
572
500
158
122
620
213
45
397
937
896
970
304
742
780
959
405
60
243
783
375
335
526
167
181
905
406
862
394
2
347
529
952
329
746
103
431
256
158
687
645
835
438
724
311
320
453
476
571
985
587
310
114
543
110
433
925
65
519
501
560
294
951
973
667
380
899
657
63
147
188
172
893
741
638
970
920
649
166
55
805
156
339
276
513
198
340
620
548
131
2
678
58
180
73
677
578
860
47
203
355
628
956
575
59
182
850
788
67
103
505
733
123
904
963
751
133
864
512
778
176
302
14
266
725
964
725
133
181
450
525
368
941
551
95
483
168
137
368
518
447
344
887
514
645
239
674
422
547
424
222
137
650
624
941
471
297
826
692
769
394
426
155
855
587
69
656
329
641
675
670
520
843
576
113
931
305
476
147
885
740
500
415
350
609
718
978
241
734
889
912
611
14
161
383
149
516
467
694
18
986
802
411
147
908
469
97
73
79
696
448
815
766
701
918
642
853
64
143
587
896
182
331
547
35
899
863
985
296
692
216
278
921
902
967
36
113
232
201
384
881
214
987
824
741
758
230
900
553
506
87
8
659
742
889
446
510
904
705
646
267
684
647
137
509
980
404
574
512
412
452
872
558
960
401
247
821
345
915
131
286
307
740
368
811
98
867
994
322
161
926
480
100
880
563
924
215
181
412
716
447
17
389
171
899
757
796
606
230
952
539
665
990
505
581
848
899
293
86
68
523
359
859
228
238
50
679
196
353
858
858
829
172
20
517
468
275
542
86
242
687
626
514
297
95
65
782
519
429
337
388
782
716
913
794
249
102
199
952
801
457
26
732
852
318
25
135
124
713
214
786
532
436
27
40
237
988
427
810
168
470
561
690
941
381
999
470
194
848
385
763
651
367
698
52
990
75
77
318
213
633
738
10
907
545
443
667
802
935
702
807
845
710
330
910
396
509
533
345
541
912
418
961
548
161
760
941
363
478
711
55
749
953
996
63
356
929
122
229
590
737
788
562
46
98
362
330
403
908
400
460
208
490
467
262
498
255
252
564
693
107
812
382
9
980
119
102
780
988
288
114
931
891
912
315
576
437
860
606
909
934
390
374
985
977
562
405
280
261
670
946
751
284
915
878
142
503
823
554
342
680
62
505
619
580
852
446
371
809
142
875
528
91
868
442
855
876
462
766
361
675
466
860
808
721
34
277
35
194
777
469
983
597
135
3
949
478
616
220
276
428
525
203
878
609
355
138
80
159
262
526
814
229
973
507
361
930
658
315
480
330
242
989
39
308
778
821
721
148
254
421
121
170
193
790
248
784
177
465
511
527
758
410
193
986
781
533
716
217
673
757
901
176
630
580
900
155
993
338
58
896
100
501
191
879
66
21
439
440
428
380
988
377
945
347
426
593
566
220
556
18
509
48
624
830
852
242
727
218
67
668
735
67
591
577
850
693
276
767
91
278
601
83
450
16
521
844
796
829
225
915
202
53
612
274
171
110
650
130
827
931
370
965
747
326
748
520
576
366
475
275
192
433
705
306
340
556
164
206
334
753
463
522
663
213
163
926
135
844
209
145
851
934
326
851
633
545
967
181
109
941
770
239
643
769
883
60
390
79
419
697
347
335
448
530
984
42
922
477
637
779
977
29
983
85
921
722
405
620
13
817
438
402
397
205
302
318
766
858
119
590
183
161
951
308
782
876
357
932
246
856
187
414
542
404
579
815
300
818
134
172
766
440
553
437
313
867
786
987
948
674
862
938
569
74
479
733
250
337
802
646
989
595
188
423
510
831
155
364
294
440
961
936
625
187
627
371
54
617
804
297
286
510
795
38
54
817
886
643
173
85
315
885
829
456
573
240
426
277
253
543
553
326
428
33
90
156
961
696
494
526
585
528
831
108
697
852
598
279
332
914
724
993
477
341
246
808
112
663
853
969
882
188
369
99
554
627
385
443
65
122
891
820
984
941
103
143
315
426
861
791
430
611
545
240
466
92
613
650
201
210
428
247
973
579
154
892
318
795
964
725
924
972
287
410
183
678
161
75
972
437
733
627
791
404
509
301
707
702
18
313
154
934
383
484
286
801
61
504
811
187
111
932
38
943
756
18
93
178
55
569
27
723
579
584
768
273
757
836
733
79
93
463
167
380
552
656
186
133
491
218
75
602
490
581
453
148
619
328
195
372
806
591
969
829
278
969
848
72
810
283
413
4
303
661
789
79
680
896
540
408
475
998
116
739
621
402
41
328
801
24
772
985
930
752
106
473
42
480
392
258
804
226
146
11
316
432
436
253
93
832
26
187
213
474
480
838
759
79
377
647
57
834
921
569
575
910
588
540
578
495
116
874
965
131
107
621
521
756
164
845
133
653
571
484
321
305
388
538
219
149
533
804
665
457
579
712
986
977
570
206
104
938
368
175
980
996
984
661
379
649
404
155
737
419
800
779
335
971
89
866
169
378
161
377
547
936
301
320
322
337
21
180
437
884
877
917
793
379
380
644
610
180
42
948
865
671
410
629
620
201
753
102
726
349
470
741
180
453
438
279
818
814
391
349
97
403
14
234
551
888
938
269
543
916
263
97
999
56
114
786
725
612
822
388
949
594
324
749
580
890
412
572
426
653
864
344
24
339
712
12
936
502
645
145
533
653
878
4
651
850
118
425
177
82
1
700
95
535
851
892
57
652
821
34
447
264
814
231
447
709
429
11
56
62
893
127
292
434
874
790
668
298
190
405
484
784
59
56
279
446
180
28
584
481
780
942
552
734
87
478
14
514
378
845
221
494
768
245
223
299
102
15
544
740
662
197
678
699
546
250
518
536
421
658
5
277
184
951
553
72
746
494
804
844
559
413
61
691
139
344
107
683
844
736
290
942
297
127
88
733
578
731
355
811
418
556
544
363
122
4
991
145
415
13
536
865
37
325
775
63
439
17
811
340
153
631
632
684
925
262
691
297
137
741
778
821
962
646
480
34
677
819
545
848
232
171
804
72
523
397
629
889
352
246
91
483
949
831
521
604
496
185
240
976
479
792
490
22
995
223
346
573
997
653
542
491
967
433
819
304
668
911
86
636
263
872
171
673
66
90
921
951
675
115
338
503
106
889
165
937
953
519
675
192
811
829
202
118
618
625
119
757
217
638
357
503
666
383
978
884
9
474
960
544
879
417
347
112
607
549
858
540
541
55
565
170
805
604
188
543
319
307
441
948
680
1
565
166
182
49
549
719
858
964
154
223
56
652
548
752
800
853
288
481
706
741
959
802
661
469
762
709
11
81
769
457
460
806
940
996
961
24
993
27
787
559
835
897
628
156
622
127
954
771
47
455
299
708
996
188
416
206
313
413
277
199
256
552
843
753
514
785
673
107
232
28
820
629
684
193
836
652
757
11
846
821
326
43
395
549
690
93
351
108
18
899
836
26
247
876
688
251
699
720
159
235
874
35
259
106
678
438
398
294
433
901
821
941
522
216
596
216
999
564
378
696
782
828
328
975
683
434
313
821
499
488
131
596
744
707
808
398
523
107
907
795
105
540
303
443
520
638
298
687
878
461
538
587
70
274
721
884
965
737
980
235
597
948
580
21
136
928
904
985
693
232
283
347
180
147
683
16
763
787
412
153
206
100
153
905
775
119
834
844
304
947
248
707
699
795
211
11
173
699
823
170
362
482
826
931
295
304
590
465
867
231
969
394
820
938
351
159
654
770
716
124
717
179
190
175
53
265
187
134
7
504
941
664
170
351
675
487
98
938
262
589
138
276
877
413
408
136
236
849
785
914
217
789
404
864
459
413
254
686
304
29
475
639
495
669
244
484
884
968
874
839
101
986
546
178
943
629
175
127
891
529
285
75
527
851
875
187
546
748
745
212
751
310
428
334
735
19
997
282
686
803
581
949
217
927
559
279
85
154
401
719
330
501
986
8
487
389
222
499
217
147
800
161
548
549
902
229
632
116
490
595
443
283
11
637
428
51
705
354
275
684
577
499
132
722
302
469
613
391
623
575
816
755
438
666
992
441
598
387
517
428
80
200
581
420
218
190
346
338
65
79
407
912
937
97
961
235
39
422
92
840
40
660
650
205
446
91
512
203
614
509
223
533
121
877
763
145
783
83
823
655
998
91
570
659
373
711
93
394
346
353
969
925
576
747
219
245
436
290
732
523
709
342
876
511
741
952
121
264
513
519
685
471
290
104
872
735
257
457
593
945
444
518
644
342
212
809
607
73
148
522
578
787
410
726
543
978
6
957
538
111
518
200
995
831
379
173
346
717
161
869
515
170
664
659
866
183
182
355
869
423
327
367
240
838
642
368
237
310
912
432
386
303
373
52
651
360
660
314
22
623
346
139
462
523
269
241
379
829
200
611
985
556
155
178
761
175
478
295
347
870
973
397
258
683
684
331
40
65
92
596
707
846
44
492
571
597
905
850
440
488
212
732
973
689
387
907
549
780
696
344
642
996
925
538
559
657
676
262
720
630
703
315
576
777
793
77
629
203
252
189
580
721
553
108
52
554
96
51
385
408
727
807
915
21
971
14
362
467
593
798
590
637
917
983
584
598
154
167
987
938
386
333
366
783
285
803
654
770
746
822
315
303
787
591
64
445
488
226
901
470
949
731
993
706
61
802
64
919
197
332
268
403
570
822
200
526
267
524
683
471
86
700
146
283
917
184
898
639
280
184
968
183
495
786
493
551
586
290
81
662
395
488
253
781
527
691
605
524
731
753
731
63
264
298
593
153
158
794
249
902
284
994
71
488
26
333
796
513
876
12
430
245
870
340
685
700
354
559
473
416
320
502
526
871
347
349
889
61
620
425
188
666
174
326
835
617
297
883
850
245
358
793
252
652
520
863
276
797
818
957
453
920
63
709
504
164
242
128
907
218
387
129
798
906
386
87
150
131
651
217
829
42
172
784
609
905
767
816
441
895
358
277
855
730
334
432
701
549
97
881
590
418
443
711
813
585
964
122
777
379
5
875
976
813
180
145
603
352
972
889
983
151
514
336
628
30
910
862
389
235
168
938
655
516
483
990
708
203
445
729
157
118
285
349
675
290
625
887
884
320
790
525
532
528
157
895
273
261
585
167
918
221
573
72
565
322
683
373
413
433
586
531
367
495
858
794
616
554
343
247
37
990
100
258
581
681
397
147
366
525
768
735
513
220
662
876
65
411
712
495
474
154
30
929
764
933
989
604
367
841
273
379
830
876
80
48
790
331
982
776
828
771
996
77
76
567
111
948
952
625
51
840
319
69
66
709
20
363
351
392
582
347
513
514
487
715
47
626
895
464
214
304
729
389
871
840
132
877
633
507
700
598
149
595
159
486
184
178
540
125
938
738
840
659
699
656
898
557
149
284
657
897
599
611
179
219
472
33
538
83
694
882
250
952
162
804
640
820
450
789
122
197
926
202
187
541
22
427
821
1
795
529
475
9
205
857
360
179
947
48
71
564
779
497
935
214
768
203
931
704
285
888
965
567
982
121
479
398
849
366
153
275
965
935
190
267
963
563
724
456
458
427
652
223
632
620
579
489
748
891
17
638
365
471
100
705
721
886
124
820
256
88
541
245
862
887
636
409
717
406
802
861
684
617
889
77
714
545
406
365
657
167
399
750
386
271
140
421
833
467
850
670
726
669
468
682
95
850
332
787
414
728
545
977
932
657
55
688
227
865
252
806
363
476
654
735
376
381
926
18
191
185
652
273
728
138
204
738
800
568
237
894
92
224
315
234
279
168
150
31
48
848
61
781
814
689
533
1
499
543
416
743
454
24
463
563
117
419
6
150
482
520
484
139
599
463
485
559
103
261
202
665
999
546
323
606
718
672
793
224
263
307
936
45
311
692
402
450
333
35
189
244
252
618
834
334
301
211
610
534
232
690
228
653
237
19
976
443
830
367
562
134
894
950
962
857
240
177
427
312
735
170
716
142
850
461
579
572
909
307
884
70
643
331
53
510
87
438
992
625
760
996
23
226
839
936
232
417
178
448
736
750
524
28
489
149
3
427
80
334
248
992
954
850
839
462
124
322
748
442
901
512
924
248
966
545
571
339
989
228
607
497
307
723
965
159
756
51
873
517
476
111
349
598
265
416
357
976
9
194
285
959
972
792
638
117
138
508
776
407
141
273
193
519
305
901
523
958
630
270
405
651
41
691
364
415
409
844
691
83
198
135
450
891
413
889
848
759
858
946
247
232
856
920
538
165
636
129
405
258
652
68
559
290
64
127
501
841
311
961
951
87
120
516
998
291
619
24
128
105
659
859
809
847
782
739
221
786
24
723
976
571
957
216
32
326
404
514
757
850
58
500
86
649
928
167
911
465
717
25
446
258
807
996
393
200
41
99
848
0
150
725
987
337
141
989
699
698
332
657
954
894
743
240
591
170
626
28
878
109
20
500
708
122
100
925
27
489
80
331
158
983
973
641
372
238
752
440
487
189
714
998
127
802
681
704
496
412
810
553
545
428
143
999
230
203
53
789
340
516
677
467
248
404
941
141
621
66
308
327
286
698
927
341
469
714
402
543
998
367
268
463
770
75
221
618
290
868
292
380
435
222
870
67
958
337
948
848
304
786
425
244
529
683
425
66
775
137
563
577
273
716
915
393
663
323
850
607
62
246
700
696
635
447
900
926
633
27
497
312
554
696
455
313
308
603
172
696
130
50
626
897
308
452
234
193
660
660
325
538
236
275
626
551
126
709
133
980
973
458
663
643
36
844
70
669
821
71
522
487
186
827
136
693
736
114
160
139
679
260
167
909
453
41
689
712
833
506
739
582
842
98
269
225
170
701
53
314
622
248
153
431
925
265
603
15
878
683
296
751
382
277
43
853
645
522
904
604
126
122
794
332
357
738
333
90
265
845
877
745
124
499
324
752
468
629
252
790
85
409
477
780
573
777
725
366
777
95
612
562
926
510
771
517
43
913
463
596
636
27
963
836
587
904
832
291
207
286
681
341
700
606
397
606
536
2
9
373
516
878
64
346
585
371
227
386
124
128
256
829
327
952
293
209
389
958
319
583
860
619
541
46
630
528
979
337
398
951
233
196
275
978
67
962
740
740
578
762
939
82
736
853
849
390
344
850
267
271
343
582
832
706
442
249
87
51
431
803
422
460
747
527
77
313
829
657
826
121
920
407
820
998
198
604
399
231
385
977
119
564
958
669
56
499
753
728
753
939
48
395
661
888
77
315
332
369
165
579
663
362
351
257
562
55
421
65
980
990
540
875
776
38
455
903
680
119
712
757
230
735
770
66
604
92
988
649
795
102
404
19
770
139
617
429
234
702
188
418
46
809
924
928
427
758
236
382
4
939
114
555
783
386
947
777
817
426
523
592
998
270
357
964
324
218
201
485
53
102
980
113
506
67
626
360
513
253
367
178
467
532
471
606
871
48
120
34
630
243
63
23
300
270
652
862
218
683
87
631
642
49
875
819
905
444
331
711
36
478
894
546
845
93
199
781
49
29
592
388
67
787
928
4
840
513
867
566
227
117
55
726
51
823
187
770
509
710
44
50
537
533
973
524
737
529
428
694
992
681
195
556
361
820
163
666
798
706
198
515
667
721
821
664
285
862
670
632
527
715
500
712
365
46
337
598
334
706
214
323
544
875
966
417
892
429
409
926
636
968
588
668
126
247
58
31
458
769
906
418
338
815
490
205
621
78
557
258
79
788
669
379
564
301
558
426
521
298
319
115
551
653
40
271
716
860
568
578
323
880
22
915
782
209
828
368
543
761
505
33
88
564
265
203
392
519
548
865
40
111
300
437
822
570
16
656
831
597
563
227
57
588
162
393
989
487
547
268
947
748
746
634
13
631
323
835
306
505
513
44
151
637
210
160
493
983
62
184
14
807
417
164
185
735
595
853
373
23
775
822
672
798
941
690
728
382
93
720
732
663
549
26
84
806
249
691
890
466
217
281
565
420
497
238
431
183
549
383
904
811
866
69
873
753
622
222
424
180
308
969
120
352
406
277
293
900
833
958
671
227
793
369
298
537
335
775
65
227
28
21
957
654
844
302
746
343
982
421
744
192
8
783
536
37
469
208
865
678
195
267
224
446
207
878
496
995
68
280
974
718
594
579
121
34
752
32
142
369
213
922
217
548
284
257
958
94
981
236
768
932
363
139
683
217
378
596
763
456
396
149
987
459
439
488
817
536
246
965
517
468
896
258
329
351
248
25
122
218
695
942
62
719
893
960
861
528
680
604
849
47
72
683
654
208
14
322
602
983
510
790
907
619
530
736
415
797
885
742
293
346
223
870
282
326
302
190
571
590
332
296
870
505
605
936
504
35
682
47
165
348
53
564
150
823
280
89
369
221
134
940
371
948
965
764
701
707
237
349
457
625
782
487
924
151
140
415
830
942
161
26
454
743
522
965
951
180
106
657
219
239
948
502
284
917
514
601
939
703
638
412
808
431
250
261
633
610
343
612
780
953
25
101
817
491
225
166
166
515
203
420
596
420
454
344
770
84
401
893
889
528
837
890
847
596
826
976
567
85
457
640
156
327
796
784
179
581
150
295
884
82
690
704
270
855
878
425
93
576
953
854
476
752
211
198
706
331
657
841
979
47
234
553
726
882
891
0
608
249
348
463
633
839
504
65
793
478
413
85
924
429
335
748
725
224
468
640
943
137
191
271
72
52
633
418
326
171
453
224
615
950
108
344
181
338
695
98
619
682
137
671
22
642
929
467
320
497
394
10
327
689
972
517
616
632
203
346
662
89
110
728
576
465
654
795
311
711
873
900
790
571
707
525
149
49
565
121
774
508
603
724
391
521
788
261
966
912
541
719
264
537
5
452
633
969
493
824
454
663
526
452
402
79
296
200
658
515
65
865
423
260
759
126
317
167
490
903
789
624
53
169
202
109
260
773
307
813
32
409
561
984
712
48
609
440
600
421
985
219
502
788
792
190
170
137
988
853
684
976
461
468
697
648
461
766
126
418
362
872
237
273
150
381
828
291
270
948
198
183
950
954
133
935
503
501
910
928
485
411
857
877
862
169
905
595
422
764
618
774
666
217
523
683
224
48
319
505
779
638
621
217
620
91
14
197
508
496
183
302
274
544
243
993
296
354
566
120
617
35
894
148
815
392
967
333
573
51
866
10
996
107
632
822
18
277
263
442
706
804
320
887
89
591
726
702
743
924
129
807
604
177
780
325
657
979
190
156
898
990
388
582
266
458
412
694
682
29
305
992
62
136
48
545
67
805
519
628
312
140
407
620
973
603
868
883
78
905
799
563
132
756
169
498
164
927
966
487
947
132
940
579
799
957
292
629
484
561
10
480
648
859
222
209
793
448
879
240
68
484
288
565
169
550
729
44
95
601
163
593
922
878
566
451
565
666
272
689
819
439
677
282
876
939
496
236
39
7
59
30
146
390
676
474
262
806
202
45
433
929
633
523
814
642
163
652
14
512
542
578
386
504
241
561
218
214
86
182
76
246
161
844
350
265
126
754
382
701
358
252
847
756
666
842
882
501
895
311
933
251
411
458
678
568
491
509
169
80
893
102
491
276
914
506
781
917
776
310
872
549
500
141
994
312
709
741
176
986
498
65
424
617
141
294
230
587
258
207
578
581
12
393
215
345
400
165
791
69
414
975
817
31
332
656
849
720
760
265
27
856
396
495
636
684
229
557
547
80
992
540
834
254
797
270
835
557
811
713
884
243
545
107
397
344
657
119
161
438
674
139
457
386
945
303
222
550
401
495
724
526
805
535
961
214
299
354
290
149
618
937
296
856
387
424
892
776
961
108
811
164
381
68
545
575
766
510
607
29
361
409
996
315
464
473
18
437
257
31
618
13
25
517
273
628
720
855
108
828
585
913
358
755
900
966
774
238
666
805
551
520
855
7
570
518
86
393
143
213
175
903
448
964
763
67
519
42
455
335
765
516
272
195
424
185
183
224
28
310
151
997
730
601
524
758
723
969
207
510
994
639
904
390
763
538
43
366
361
728
301
82
793
368
206
178
15
427
491
410
757
479
611
8
180
616
973
399
250
184
333
556
54
477
156
139
795
810
458
576
367
171
780
407
605
323
477
153
218
238
874
50
852
339
420
137
236
568
649
316
725
678
369
522
327
659
931
166
841
993
622
333
421
599
415
79
576
664
968
958
51
516
269
487
814
484
789
669
998
175
395
381
448
568
555
1
584
705
305
436
797
193
534
369
910
152
279
10
917
679
691
111
198
786
439
489
350
307
88
432
107
308
733
51
968
597
852
298
717
406
564
266
91
404
329
397
698
319
44
24
66
517
507
61
398
448
78
898
236
207
921
902
847
577
250
766
318
302
139
759
969
135
836
742
725
855
127
870
952
851
719
529
982
657
133
764
610
635
757
771
622
95
944
351
659
194
677
469
426
955
242
233
420
284
373
815
902
44
670
177
352
264
395
248
686
961
473
50
95
934
788
502
247
764
617
968
40
914
168
782
403
917
152
438
145
544
847
744
754
473
41
766
742
479
84
29
932
592
639
188
65
264
564
818
434
666
863
518
306
908
756
132
851
769
220
64
733
224
433
458
507
368
579
832
577
295
37
209
916
351
555
53
370
580
451
116
151
589
245
494
498
331
436
437
119
328
981
655
631
924
205
359
695
209
472
890
99
462
442
391
80
808
921
141
769
953
901
250
725
409
682
586
114
735
655
256
361
892
939
300
744
310
308
646
223
38
838
415
885
137
370
493
732
448
4
793
114
442
990
926
696
54
255
740
623
208
866
842
102
479
36
740
818
250
826
671
455
830
355
943
298
312
208
609
282
470
362
837
269
883
416
503
847
789
533
38
280
699
645
35
795
264
572
200
982
510
462
549
290
31
179
742
207
219
500
912
722
944
710
757
393
492
58
750
901
558
422
96
114
944
217
551
755
899
84
648
32
431
868
634
878
866
418
383
156
52
624
985
429
279
663
22
132
478
307
637
95
361
529
657
862
540
302
177
703
748
554
332
173
795
764
13
582
345
892
662
652
10
659
815
851
290
793
34
847
613
522
100
196
959
924
424
909
747
885
633
239
668
653
206
273
211
729
950
601
844
928
982
329
488
275
682
954
795
686
780
11
727
722
629
817
733
512
512
327
546
155
598
318
189
424
691
767
761
366
184
395
582
886
994
317
552
298
719
367
427
50
264
624
357
896
452
857
72
980
997
351
851
14
388
381
234
891
355
2
809
270
374
653
406
203
752
299
164
99
763
452
733
716
889
36
565
538
314
439
240
511
428
345
104
615
681
590
314
354
316
869
446
738
262
355
331
841
587
57
78
327
827
45
878
913
742
59
755
387
744
786
635
216
160
907
445
232
599
106
938
571
160
361
360
112
371
143
980
904
426
51
202
392
650
878
445
703
707
854
995
75
404
536
824
268
506
864
421
602
458
678
63
69
827
211
509
594
758
482
626
703
507
657
661
673
439
754
694
232
757
452
174
579
804
303
223
799
869
257
120
829
932
374
859
478
663
330
679
987
287
261
99
234
522
202
721
589
925
700
176
556
717
148
952
277
729
691
569
75
112
252
183
988
410
959
911
383
0
841
343
42
336
509
653
571
829
860
122
312
61
841
820
952
428
403
318
355
670
313
723
621
110
905
353
909
723
306
372
938
643
256
22
203
600
136
651
62
347
875
335
554
967
326
828
819
519
154
468
8
244
323
667
616
25
997
953
81
207
351
518
199
349
253
979
842
63
30
488
604
742
2
823
718
558
675
64
347
41
593
333
690
448
704
90
200
951
23
155
312
961
79
386
860
937
123
644
868
688
88
769
647
318
233
228
864
955
893
845
906
763
161
353
507
461
454
338
590
588
720
225
551
381
181
257
211
773
500
493
107
793
791
356
526
388
358
68
994
344
352
129
491
184
923
243
836
974
573
90
416
985
298
266
403
62
844
683
81
231
634
511
259
193
560
50
332
201
80
344
989
125
149
412
715
784
591
573
229
980
148
56
845
851
606
409
54
16
116
568
27
630
25
162
422
780
952
715
669
483
307
259
920
894
502
235
91
516
213
272
510
951
965
247
404
445
539
54
284
506
899
764
147
930
994
251
391
634
727
982
462
76
230
146
81
901
548
597
501
123
89
770
950
205
152
535
806
414
809
424
197
352
833
317
968
914
604
306
669
731
659
323
562
130
736
9
838
308
217
56
297
791
176
484
223
605
97
630
464
436
768
988
233
69
521
145
569
688
383
667
767
74
293
141
920
999
577
729
448
845
500
731
735
832
360
479
569
364
383
329
637
474
177
332
842
62
690
871
420
403
908
612
300
48
177
333
457
604
254
935
22
77
872
320
233
322
35
583
720
501
131
472
515
91
674
718
321
826
209
428
653
4
936
790
769
95
744
280
740
128
335
424
201
431
871
620
250
631
599
678
586
65
423
918
256
56
861
303
437
833
738
718
511
690
659
513
430
648
159
523
910
473
985
486
122
363
283
153
331
372
462
122
13
407
753
114
463
415
702
457
872
961
696
320
375
264
418
161
519
960
317
450
143
710
187
116
703
827
706
91
41
887
365
42
13
529
939
974
623
264
4
67
957
80
221
875
243
108
776
469
610
283
259
341
270
270
871
641
196
436
624
337
976
571
86
323
136
946
962
898
623
391
576
348
62
332
882
159
544
687
925
604
808
628
796
810
694
313
103
665
928
906
228
349
142
579
906
326
57
704
514
676
952
375
429
993
807
957
687
283
770
291
751
583
553
547
124
106
632
764
559
940
76
919
918
833
960
345
349
436
712
616
61
637
485
71
796
940
736
570
112
638
914
370
460
604
32
328
730
773
717
496
580
633
282
524
381
77
109
162
163
52
983
930
96
399
921
829
571
105
323
29
707
725
310
840
181
583
379
68
981
377
849
745
122
225
637
378
916
598
341
973
767
583
29
690
116
634
794
32
657
53
687
269
865
343
330
329
424
435
252
295
196
769
839
686
586
22
264
709
384
467
206
799
605
355
770
539
156
56
202
613
985
322
955
426
896
88
657
418
928
700
991
655
823
433
474
709
136
283
43
981
607
692
619
829
555
507
260
55
914
40
948
741
346
0
778
196
760
33
361
493
275
775
683
201
774
441
7
953
18
722
569
782
511
251
386
769
952
480
790
887
316
415
557
242
550
412
595
402
866
570
457
800
192
633
890
998
296
240
986
384
932
464
960
628
742
487
243
593
828
84
742
13
323
41
907
877
299
931
210
460
907
153
287
901
434
344
473
267
910
831
242
214
880
172
991
413
601
313
207
632
588
694
149
480
665
961
450
243
100
988
304
666
35
565
266
768
247
834
1
425
103
96
346
871
886
831
817
505
333
610
937
66
617
419
605
583
916
987
560
472
145
16
472
66
654
606
267
471
99
489
954
929
416
181
640
205
345
379
774
977
70
645
495
246
38
718
728
56
286
498
32
127
950
165
206
432
520
312
358
688
666
569
623
72
999
963
205
505
536
405
543
581
815
98
957
700
22
721
572
475
784
875
400
139
741
185
462
840
467
896
875
908
609
484
439
288
789
265
860
186
981
208
686
922
504
838
682
45
672
880
577
984
574
391
846
605
980
909
200
136
615
219
39
748
74
318
211
335
987
334
6
676
438
926
87
561
232
129
770
232
451
285
932
185
181
181
904
835
193
756
126
499
78
135
153
613
360
660
224
335
191
403
635
731
987
774
527
999
945
359
986
762
414
115
345
892
691
530
24
371
924
3
659
849
250
840
478
746
555
968
799
185
278
325
371
840
160
108
208
881
904
73
449
911
584
864
814
465
148
919
591
147
970
281
693
330
51
240
528
143
873
389
307
655
890
524
99
774
330
128
876
954
144
424
913
45
216
408
802
825
533
912
123
204
341
828
600
244
535
223
100
207
463
475
827
418
719
641
25
573
93
175
804
884
785
279
81
836
121
566
164
758
689
419
650
753
653
502
772
372
656
346
942
969
626
342
509
134
260
561
91
775
492
362
240
705
745
408
566
152
314
611
974
438
468
170
473
683
294
521
293
229
167
753
468
787
663
572
478
323
256
983
201
760
471
80
541
198
842
275
611
718
321
80
649
482
683
32
900
401
645
422
631
158
636
599
14
408
236
471
832
483
241
155
425
157
914
801
196
823
916
403
246
822
685
981
361
11
86
66
126
528
163
808
869
838
381
867
800
729
359
293
23
909
819
16
193
76
501
120
851
367
255
889
33
140
977
237
319
866
150
598
303
98
120
934
364
464
350
815
341
593
262
869
888
170
98
772
779
674
115
117
875
763
329
405
171
240
998
355
519
987
918
608
12
430
846
829
427
148
200
854
216
445
129
813
729
253
278
682
578
918
108
21
886
774
896
515
182
262
758
737
175
398
92
333
812
375
826
622
460
960
829
281
706
970
245
891
593
67
143
261
765
220
350
266
743
193
595
225
71
328
216
916
405
943
218
37
433
58
170
299
518
847
652
753
365
142
221
967
591
732
369
974
571
522
679
494
197
568
488
210
327
987
52
822
882
979
755
733
277
569
869
802
488
954
506
126
978
384
971
136
868
580
988
848
791
538
886
171
227
621
329
365
777
177
962
35
258
169
779
411
819
494
933
912
222
458
187
693
792
739
801
954
6
709
435
298
217
775
207
517
662
426
459
297
511
903
310
146
980
616
108
392
473
454
335
979
152
372
420
714
372
691
460
224
85
906
199
686
268
118
531
517
466
615
89
467
586
193
732
243
501
943
872
212
181
970
82
785
699
740
489
746
466
162
246
786
654
584
956
542
179
454
834
599
841
790
398
364
75
393
166
946
782
670
484
859
277
339
621
315
782
595
532
469
967
818
463
119
715
402
512
789
458
525
822
127
17
838
857
495
47
131
211
927
189
446
898
108
979
723
863
644
205
457
822
901
91
890
304
211
889
734
493
409
244
302
148
694
866
984
421
107
854
302
75
742
915
498
657
926
295
679
153
161
438
471
643
588
659
576
783
244
874
826
449
783
361
462
869
151
441
934
829
184
645
668
984
810
461
638
674
139
402
310
158
860
813
350
396
642
542
649
360
605
423
136
877
676
919
173
32
329
816
176
173
751
891
106
954
407
776
293
461
401
574
640
325
201
606
571
367
466
108
427
226
359
889
542
788
305
499
750
438
798
69
687
241
328
539
103
886
480
69
815
251
122
946
792
106
601
83
310
817
172
673
414
142
96
770
279
313
555
396
99
258
799
364
637
676
122
256
421
327
138
472
562
193
417
647
42
38
619
78
836
408
358
161
549
412
629
234
845
5
502
626
802
36
176
487
536
571
18
996
520
293
137
34
710
686
182
891
339
168
791
868
45
135
95
651
322
735
986
179
755
822
147
527
130
606
217
766
556
521
177
499
288
372
198
855
628
51
357
916
276
550
539
753
898
17
192
992
371
50
128
548
728
951
162
131
92
824
115
474
932
485
863
461
93
100
658
315
379
499
553
626
261
355
283
395
536
415
395
451
105
470
611
758
644
184
146
249
181
805
746
566
333
882
275
533
161
165
99
63
779
84
674
370
169
566
187
72
906
164
318
866
885
236
411
287
376
432
732
550
648
229
633
341
464
927
81
29
19
456
765
997
257
837
806
838
152
343
693
913
460
826
936
242
811
905
860
105
110
956
533
21
992
873
176
501
912
350
882
822
716
361
326
36
751
850
625
894
655
192
993
985
596
661
769
750
887
679
71
241
64
79
995
328
27
251
415
484
271
54
458
425
926
550
17
322
814
688
683
153
8
565
252
722
190
8
184
259
746
502
332
665
104
282
405
705
963
288
800
989
64
18
174
860
99
519
187
790
722
666
342
518
706
499
10
249
408
381
765
965
937
156
461
0
920
676
535
956
93
95
638
38
368
654
195
171
381
594
145
160
376
391
977
501
917
824
151
457
69
465
643
101
651
909
481
127
627
837
353
885
32
957
243
527
274
937
149
737
198
967
302
651
290
954
470
127
353
284
171
496
41
510
1
300
498
409
180
483
357
194
668
349
303
539
79
230
833
224
590
995
819
781
608
60
713
527
924
191
299
855
698
153
351
138
257
917
666
833
698
60
630
272
424
238
620
422
515
652
140
73
964
753
607
498
728
145
503
522
419
634
70
226
270
551
512
568
718
282
735
274
100
773
307
244
976
890
791
790
372
84
488
355
436
206
746
336
253
767
920
388
650
802
982
364
624
563
2
588
727
427
198
451
115
92
729
218
891
770
815
861
686
687
128
841
416
572
278
188
84
364
917
972
536
211
1
159
160
95
867
881
959
31
274
600
770
369
338
726
165
564
176
371
721
630
422
485
973
174
688
652
404
782
816
658
216
164
353
358
984
981
633
617
360
67
557
425
458
23
265
592
462
767
513
346
313
718
372
534
203
507
854
920
332
602
46
578
204
759
625
413
449
929
711
204
350
278
719
950
449
22
356
866
275
726
69
616
329
947
930
370
907
965
474
687
131
917
943
575
316
777
257
842
83
319
674
942
7
879
885
235
151
334
594
495
141
674
287
244
639
735
383
25
463
42
569
621
551
275
933
500
199
597
233
189
766
727
190
28
543
990
925
919
138
957
425
731
493
469
607
718
705
841
294
424
103
104
827
616
913
48
675
833
493
531
776
861
371
924
631
252
930
12
363
734
418
732
789
599
202
448
17
671
258
369
52
581
875
881
933
533
21
435
58
247
531
550
257
463
341
434
430
152
947
410
630
3
22
670
702
288
898
512
150
643
225
32
935
424
315
537
621
574
226
965
521
199
851
116
998
868
69
151
143
300
407
15
157
421
780
405
360
45
487
534
50
930
237
935
437
315
707
778
567
857
979
234
27
980
108
996
388
523
651
868
833
932
63
26
71
453
406
14
954
829
82
361
775
48
108
207
979
225
528
75
41
897
469
132
398
475
323
559
114
844
848
893
718
268
536
157
103
943
328
715
110
694
36
495
82
151
257
262
107
932
406
446
59
603
981
346
149
857
599
659
457
928
51
801
121
115
943
712
776
214
612
447
919
430
968
654
914
482
451
605
615
598
839
859
570
396
307
256
151
981
533
314
999
361
707
812
867
900
364
579
807
469
84
839
386
525
376
469
459
509
452
100
527
210
953
24
152
286
173
728
94
851
615
412
817
422
995
582
102
413
629
829
706
242
812
407
179
765
111
15
90
938
346
408
61
958
60
179
583
343
542
21
23
20
344
762
579
866
779
351
133
284
420
768
888
936
421
269
590
569
644
248
827
814
389
875
475
84
540
586
51
125
920
847
412
935
530
232
977
397
888
581
594
615
178
764
385
660
752
669
646
616
130
51
656
393
697
22
549
771
416
923
217
286
634
298
968
25
945
146
567
443
353
713
367
2
600
111
24
666
512
799
895
481
751
390
262
311
870
742
148
171
315
850
776
198
838
395
385
803
442
673
531
411
483
632
306
43
864
701
906
656
372
257
104
937
775
472
18
819
963
811
906
868
514
537
363
912
708
595
545
754
311
355
626
938
338
388
2
347
588
770
110
170
895
153
998
496
423
874
713
349
455
749
41
723
815
587
69
870
776
267
709
155
596
372
133
454
363
974
976
837
648
582
699
280
576
170
762
319
600
610
21
243
393
748
174
449
167
680
93
339
422
801
628
894
930
59
316
326
558
966
295
289
414
274
182
284
43
294
622
462
169
14
877
584
649
588
249
118
497
998
698
216
928
759
772
39
604
802
44
977
569
561
644
827
55
417
840
987
368
243
380
946
987
917
937
875
963
201
218
622
750
968
738
654
688
977
287
959
615
75
580
943
905
451
374
480
389
465
380
622
356
176
638
569
273
303
143
262
275
87
254
352
551
937
586
181
791
368
700
686
875
183
41
386
466
429
577
667
179
65
390
949
441
374
836
713
748
699
287
352
513
333
494
599
155
220
78
952
939
510
130
687
40
336
608
79
208
753
338
347
403
381
71
378
239
621
407
39
492
26
573
388
84
899
421
55
615
106
641
270
889
64
669
482
723
554
4
988
591
232
25
894
665
50
756
293
941
149
312
516
903
331
468
728
308
883
257
719
910
61
40
207
914
121
636
481
390
705
559
858
268
152
992
423
46
46
697
959
124
385
68
121
990
51
239
185
183
471
937
372
93
85
587
519
452
204
529
24
374
416
184
66
470
812
300
193
466
440
614
994
592
522
882
488
75
645
4
514
553
631
17
944
386
482
506
682
302
784
515
403
944
634
447
511
118
59
44
502
816
211
286
477
811
107
267
582
18
888
810
688
699
109
975
860
203
75
734
987
922
62
252
670
4
499
827
65
649
53
873
12
502
870
449
802
921
631
135
193
783
815
477
803
524
342
239
820
814
427
941
664
144
973
764
496
79
103
113
58
546
675
139
619
5
504
911
931
494
983
580
698
225
829
161
117
763
951
120
434
733
251
62
995
447
50
509
949
672
681
414
910
926
519
22
1
696
420
475
793
206
738
790
31
342
460
831
318
919
633
786
429
296
656
655
60
88
738
853
626
718
289
481
630
560
22
168
14
134
957
576
807
71
33
339
959
390
671
633
627
390
908
296
199
186
742
288
466
369
853
143
94
492
762
919
801
140
368
595
14
168
602
92
607
124
799
45
22
124
48
517
671
791
894
470
391
226
883
209
453
626
29
17
289
921
518
135
726
377
671
512
611
375
821
949
296
226
460
891
8
156
7
943
237
928
426
881
244
203
587
467
842
832
460
734
173
840
570
455
640
687
281
968
599
312
218
720
872
432
552
537
487
578
882
194
320
772
128
8
447
83
607
999
79
54
474
694
409
735
72
92
652
924
692
923
589
428
936
306
181
356
928
787
901
204
731
733
582
784
56
147
130
743
413
993
160
530
642
603
505
549
938
333
465
571
726
868
810
720
802
763
102
471
53
759
431
396
681
625
777
945
103
516
224
497
24
799
771
104
210
782
370
987
231
51
464
920
165
266
264
741
304
223
349
24
358
472
871
306
494
761
949
133
905
289
721
312
170
777
948
242
255
257
840
778
110
863
902
104
640
537
103
94
539
795
516
552
632
537
65
841
919
123
137
752
225
957
354
262
396
512
44
933
649
411
150
435
489
714
748
829
570
92
158
2
641
25
241
315
37
212
464
313
281
254
994
794
537
708
464
881
802
930
743
685
235
46
812
34
234
348
851
119
395
876
788
698
935
361
497
555
169
385
552
282
885
725
137
847
774
316
691
725
971
211
125
259
702
380
106
299
24
629
693
965
815
401
515
840
403
124
890
337
877
705
708
555
612
59
472
508
645
794
662
57
960
881
969
611
933
95
672
775
620
937
834
825
907
55
1
201
916
3
689
849
351
392
641
728
109
68
725
516
603
96
520
979
644
84
843
928
798
743
462
296
14
803
490
71
118
598
271
561
460
529
744
169
676
733
553
801
700
26
123
148
705
744
562
971
709
111
949
292
308
685
411
982
520
33
706
666
868
417
168
827
559
923
146
851
944
883
1
122
791
889
454
488
739
356
927
497
60
725
341
816
284
955
407
189
261
626
140
689
377
429
51
567
723
231
82
573
29
208
591
839
690
119
906
510
623
963
706
527
327
441
600
161
942
570
310
598
169
501
738
488
693
879
749
326
132
527
937
263
258
539
738
834
232
268
439
10
753
29
999
833
113
596
117
790
230
791
94
837
111
946
822
151
838
991
15
991
416
126
591
451
703
911
398
812
609
140
451
189
204
832
912
740
903
222
459
897
746
601
375
800
874
36
300
636
749
991
493
859
846
375
810
943
939
965
966
488
649
103
602
954
354
903
96
11
918
452
962
75
936
618
129
882
190
501
998
204
782
742
259
547
401
484
557
418
132
153
298
487
274
142
857
553
907
574
100
490
473
19
741
916
945
631
537
713
679
352
565
397
854
579
226
301
211
317
6
798
699
810
25
941
401
872
351
507
907
88
176
27
404
172
786
181
539
86
1
297
981
322
505
354
77
418
918
600
291
925
651
984
358
123
958
194
817
961
145
993
52
923
909
712
355
103
119
549
797
994
798
257
880
471
677
649
458
250
335
511
431
116
991
651
847
338
489
490
107
115
640
800
71
480
876
843
472
949
948
986
254
536
475
871
837
516
366
595
170
488
56
201
861
28
412
481
734
965
49
901
600
972
908
177
22
353
618
629
340
911
396
376
847
730
226
863
860
241
314
541
634
955
135
741
977
190
704
745
559
972
855
860
838
42
6
759
837
853
780
579
305
49
55
671
162
846
60
66
628
87
944
920
353
156
518
706
122
998
142
595
463
722
831
977
257
41
62
878
206
246
132
723
501
545
330
397
287
439
866
875
631
408
751
957
231
584
683
77
894
615
169
778
928
896
427
118
230
971
507
420
325
950
989
96
95
717
198
710
319
802
149
87
246
397
837
509
182
38
77
34
952
529
709
325
130
760
668
513
825
705
853
602
353
648
400
233
776
832
949
523
482
696
345
379
250
505
100
589
694
635
800
751
493
326
616
115
199
925
265
264
494
42
905
817
506
350
593
90
608
630
185
882
569
391
906
237
876
973
851
545
995
680
616
267
152
14
254
633
166
599
281
113
902
817
830
247
721
864
975
142
615
652
225
71
954
324
661
58
547
621
696
414
634
967
102
101
63
138
957
988
201
777
961
302
346
10
964
450
229
738
629
319
619
305
205
758
26
718
536
774
337
266
987
87
191
881
843
190
135
902
967
369
485
546
13
659
909
980
682
97
836
324
970
616
712
160
797
318
459
544
197
764
981
684
66
279
46
598
55
470
8
945
994
872
55
314
798
360
392
645
165
407
999
621
232
795
830
658
744
654
773
233
789
152
760
531
418
407
378
523
461
275
806
278
988
701
227
426
119
959
605
340
657
219
832
900
388
494
399
230
463
174
412
903
984
2
467
691
136
259
33
714
683
156
711
37
526
286
188
83
779
538
59
40
176
91
584
695
665
257
900
224
429
778
155
961
620
963
612
891
963
416
507
32
454
523
828
936
532
282
650
186
683
878
284
722
608
415
905
831
180
985
279
948
141
262
922
360
907
307
813
689
382
758
253
926
665
535
299
120
115
714
585
938
441
913
442
209
914
228
872
337
413
881
842
16
973
692
579
730
0
313
947
607
603
878
789
943
455
244
357
446
339
175
154
74
688
918
592
116
398
389
17
113
97
308
472
666
152
586
685
331
342
531
112
294
271
847
836
636
495
515
319
991
333
734
375
421
951
64
386
751
392
200
393
816
234
162
448
812
448
411
576
49
494
286
631
292
327
641
343
385
37
605
724
362
443
633
662
730
312
202
254
414
824
875
237
26
839
207
582
866
65
17
311
623
755
571
507
383
692
890
16
577
277
764
707
177
773
141
591
506
69
236
605
807
58
92
339
695
599
997
764
412
760
398
708
942
201
651
89
330
755
8
520
160
456
89
351
313
465
941
830
56
484
667
801
636
270
867
426
830
295
551
16
846
840
581
344
861
745
746
129
457
923
712
764
240
992
70
833
8
329
581
901
853
959
814
602
510
659
214
381
554
364
932
127
504
237
531
450
251
880
659
716
55
868
958
417
384
756
534
864
357
203
60
260
172
931
737
512
804
755
572
962
309
100
309
417
613
395
336
683
194
72
100
611
661
193
521
598
660
478
722
95
575
522
798
902
777
803
774
971
952
541
523
815
296
637
759
742
321
164
358
526
78
324
713
536
583
801
488
527
163
214
833
468
419
418
160
223
708
875
392
740
316
328
287
676
402
550
225
406
494
892
829
122
70
795
668
32
898
883
877
784
373
50
489
580
391
286
290
669
736
302
855
488
337
902
467
284
583
554
33
590
237
917
494
650
143
313
756
248
910
979
690
566
724
409
661
112
24
522
476
346
567
396
431
373
67
585
731
63
726
947
142
278
154
848
878
436
307
498
940
895
313
731
636
282
283
909
814
974
479
426
388
493
615
7
948
47
937
80
882
629
24
732
450
852
900
312
67
349
845
314
406
13
540
774
157
331
266
58
985
29
611
494
640
2
22
690
104
502
824
24
815
658
648
559
305
605
752
224
177
413
616
564
492
347
408
725
711
956
610
79
344
837
339
656
990
711
29
809
148
699
28
48
48
752
954
751
464
137
289
772
55
99
833
843
137
85
829
284
552
864
425
758
221
856
939
610
28
274
301
768
122
52
787
319
198
826
33
687
155
839
722
709
191
13
467
324
189
571
417
557
604
746
702
740
791
639
650
928
816
255
574
464
88
801
392
56
837
999
390
81
170
934
288
817
250
990
524
263
626
549
900
603
293
497
850
454
772
548
742
586
309
43
822
549
271
251
86
710
922
269
839
721
729
879
266
439
305
840
616
862
177
789
126
236
634
625
263
12
651
368
797
999
286
420
26
297
654
954
914
704
336
25
200
397
335
879
785
705
799
906
401
200
873
117
65
589
955
522
968
491
746
304
893
876
640
65
103
404
158
507
528
361
290
475
519
446
968
681
281
24
170
163
957
713
195
453
421
24
107
289
837
906
475
650
722
776
772
237
123
311
456
868
540
183
317
77
157
774
890
85
135
248
886
194
293
789
779
787
344
947
688
482
33
245
934
104
103
625
682
64
11
441
133
760
473
785
356
608
255
634
348
539
297
835
35
882
868
280
227
470
478
144
872
853
723
811
461
732
656
538
413
418
150
800
903
27
104
736
142
243
247
296
536
70
262
72
510
236
397
674
327
980
46
740
103
537
279
32
973
509
778
45
941
152
859
983
585
881
315
174
197
773
633
528
599
873
17
601
179
143
213
584
699
355
556
5
890
370
452
943
664
452
718
877
167
950
457
521
4
576
86
633
306
929
784
616
975
28
663
73
304
185
835
478
835
632
688
201
237
617
60
221
889
452
505
385
269
253
717
985
175
729
394
921
727
444
150
146
230
32
492
124
54
733
735
581
379
840
568
608
922
743
218
611
244
934
381
569
528
820
836
869
873
495
349
609
525
159
964
490
681
807
420
940
561
714
462
431
2
514
330
559
358
29
410
6
532
77
565
595
569
939
176
585
564
662
733
383
474
120
867
845
814
7
539
216
648
611
385
171
930
638
135
628
109
447
453
297
871
145
901
173
958
145
458
800
972
518
471
34
710
913
155
138
551
795
681
72
15
216
524
138
523
696
892
194
448
657
530
772
553
541
883
984
489
559
816
950
51
38
977
886
142
231
388
896
220
199
249
32
257
519
190
161
767
220
750
685
138
252
704
60
593
480
252
834
417
897
281
26
795
95
86
413
907
774
804
987
325
268
638
995
524
907
989
232
504
594
985
293
413
554
246
54
232
537
776
604
294
49
844
433
377
960
588
488
354
517
450
647
366
798
107
899
697
405
46
483
650
611
808
715
125
565
82
613
258
166
51
743
193
595
651
583
740
21
868
400
113
213
584
175
896
661
398
848
832
415
499
340
475
286
946
693
985
702
660
881
176
722
508
64
398
158
445
745
934
727
63
470
478
652
495
598
26
267
474
74
106
660
361
609
559
653
493
186
112
80
90
905
994
559
820
267
308
85
90
913
252
605
887
180
704
629
720
309
831
438
925
514
433
81
747
184
786
365
829
582
104
838
683
961
684
569
870
418
558
878
150
289
733
187
589
313
521
798
849
102
995
260
778
909
84
398
349
511
829
46
947
55
643
278
153
322
437
846
263
577
682
330
113
707
886
752
672
989
988
477
889
35
895
816
157
522
432
566
94
538
844
229
904
204
3
825
484
322
546
697
618
438
236
380
939
852
779
404
210
297
816
744
402
18
288
502
212
799
513
188
18
451
845
597
806
550
547
515
947
40
950
363
505
615
42
150
89
176
621
584
491
168
477
981
320
826
893
414
720
710
46
952
247
107
674
335
135
478
80
635
477
163
792
453
448
651
487
164
212
399
952
716
487
56
645
762
142
207
644
959
102
194
732
908
40
173
688
21
620
720
57
773
470
504
892
240
496
88
555
80
501
961
844
692
925
995
475
83
13
99
601
384
84
380
773
212
986
904
737
330
234
864
547
213
142
102
637
626
682
734
792
297
346
847
90
841
652
916
458
813
290
754
239
94
466
776
330
663
399
742
911
805
911
754
608
815
603
318
115
574
569
280
134
99
758
410
308
895
908
536
931
418
978
694
430
809
521
239
415
71
497
144
482
184
933
86
988
547
411
644
170
49
438
733
383
514
249
95
613
594
937
69
327
933
380
913
778
400
876
946
530
907
492
798
708
775
185
138
837
211
864
189
363
111
672
206
278
723
510
135
551
943
344
412
139
108
728
327
809
26
15
628
403
504
169
402
660
618
636
649
733
464
794
590
758
253
226
289
519
138
701
739
560
525
970
613
436
171
402
273
42
501
17
448
650
273
143
320
459
758
336
875
11
910
692
551
654
84
62
606
354
934
337
771
635
51
117
70
560
854
309
578
72
455
796
699
641
255
431
668
140
516
68
197
896
42
2
581
304
656
188
965
51
487
132
356
888
470
184
763
66
471
24
111
488
877
437
267
57
44
282
214
743
943
351
585
986
156
787
763
785
205
973
186
111
711
185
299
140
311
714
29
98
910
721
209
285
472
240
559
645
992
881
897
222
13
174
273
568
510
834
978
132
588
655
675
131
804
879
410
768
162
755
83
591
81
103
189
242
813
78
286
817
550
351
601
897
969
250
575
786
725
238
80
868
387
995
133
855
535
393
588
456
286
813
720
920
893
309
25
618
578
612
205
995
92
946
412
711
976
345
591
736
100
260
427
344
729
985
723
788
583
181
534
363
614
478
297
687
827
867
971
471
279
90
425
517
139
557
1
702
703
214
948
59
884
66
798
135
377
181
895
945
441
279
729
589
470
364
461
305
422
236
23
372
439
193
370
706
986
154
726
743
766
727
44
894
856
72
763
631
23
49
255
283
834
547
345
331
228
33
715
468
912
869
291
254
670
673
609
275
887
431
444
469
452
50
124
216
185
414
653
837
781
51
642
164
496
603
570
399
72
758
283
465
889
608
246
294
874
270
271
35
717
829
314
361
751
875
168
223
630
502
300
403
506
77
755
516
687
542
388
878
162
379
445
678
331
649
328
608
416
709
711
842
743
752
214
97
768
986
273
923
543
855
12
681
699
800
167
816
31
861
667
377
600
368
885
714
53
821
368
389
752
194
658
871
723
207
154
458
637
837
315
130
138
732
249
738
416
312
565
803
839
0
932
74
580
0
875
140
202
626
299
286
581
185
70
792
840
817
886
198
241
808
586
68
939
454
992
978
822
806
109
376
108
722
211
589
231
776
865
715
385
74
835
569
969
904
592
734
814
723
667
461
44
158
857
237
702
290
686
471
212
257
208
102
400
574
97
19
83
76
962
305
343
474
187
166
372
435
677
475
354
501
525
808
275
724
808
645
647
882
737
609
691
541
290
293
777
585
963
908
70
475
994
135
999
402
989
964
149
131
525
281
583
257
363
942
300
447
86
287
816
267
327
208
103
528
768
947
750
868
617
975
453
607
51
685
510
465
404
244
66
916
658
585
367
156
643
341
698
660
838
541
443
256
975
284
739
762
491
979
941
933
306
296
567
526
93
835
621
275
314
86
666
261
446
764
159
71
476
961
188
612
894
178
980
292
12
152
78
559
144
18
308
572
844
11
516
773
41
590
756
148
331
116
483
22
565
471
953
997
202
196
144
5
563
623
669
950
885
200
150
638
534
236
772
913
90
743
144
577
621
910
629
979
204
956
478
926
146
447
341
638
763
578
220
403
907
990
653
245
510
923
160
491
961
230
638
962
689
982
252
436
567
30
359
979
653
204
449
210
323
356
28
102
166
349
218
689
370
408
837
303
537
194
940
379
793
212
357
939
895
933
566
862
364
239
995
97
444
284
968
383
693
484
260
116
782
136
782
895
439
741
592
853
785
345
886
91
787
633
348
801
589
995
545
149
69
884
426
201
780
903
990
652
342
29
380
782
214
529
596
453
423
754
333
136
221
334
399
411
382
746
223
656
593
845
441
529
594
667
37
262
292
823
414
807
579
968
572
42
976
768
379
976
664
863
419
946
519
811
341
861
408
55
139
400
547
231
717
9
312
104
240
262
326
998
910
856
613
104
391
166
765
624
643
130
603
892
42
458
480
836
942
376
210
531
361
376
114
625
85
949
700
886
186
844
507
781
385
822
787
846
222
798
323
816
622
993
426
479
271
115
756
591
653
606
573
548
760
676
217
900
818
657
118
963
660
706
302
974
323
766
715
606
291
82
87
648
29
514
548
407
156
383
768
647
855
350
712
383
146
300
332
882
247
176
666
596
164
64
140
470
268
37
445
851
494
249
560
852
41
362
794
723
493
20
972
417
535
219
659
306
61
57
556
238
306
494
65
885
413
755
895
570
463
151
685
662
929
536
900
660
919
610
489
569
432
274
35
466
545
923
353
991
265
195
573
510
550
224
528
69
96
233
610
687
491
148
327
303
913
458
205
382
789
546
18
691
365
922
339
470
502
946
69
604
161
606
843
673
720
38
467
756
375
857
614
866
72
743
303
32
103
483
295
454
119
354
470
214
690
821
432
192
488
799
688
873
396
835
285
630
599
607
990
865
252
590
745
926
123
311
845
612
140
148
474
423
183
972
385
980
805
244
323
102
156
639
630
439
547
298
870
974
494
417
27
842
494
518
151
276
704
703
48
172
379
336
36
244
696
338
363
707
774
86
512
200
63
702
221
700
434
916
463
900
223
154
719
944
418
130
578
61
251
943
324
241
892
55
769
842
358
264
297
196
355
56
308
801
451
482
351
285
95
597
628
73
163
839
337
446
154
653
323
817
414
264
781
897
296
461
95
896
15
130
605
100
1
259
629
96
601
469
412
26
419
495
236
738
376
927
904
541
863
339
589
239
410
135
189
46
75
341
277
112
530
556
225
480
852
454
156
25
712
342
523
429
131
570
16
267
928
415
744
656
162
897
861
750
819
442
990
65
624
78
560
823
457
827
63
690
943
55
573
559
921
463
387
609
714
490
967
520
78
759
376
960
999
995
30
763
637
825
668
2
371
165
42
779
932
682
854
415
823
920
541
608
811
564
708
562
928
45
554
722
340
82
106
717
753
81
400
537
89
816
583
892
814
69
280
941
875
388
226
516
788
137
92
957
774
502
60
357
647
25
549
588
174
734
831
870
849
964
487
626
449
318
326
725
604
623
942
308
826
239
775
553
217
13
5
580
476
660
843
198
359
946
19
849
570
785
226
975
672
57
571
251
631
643
814
641
156
545
968
194
444
672
638
265
876
276
146
696
589
708
779
465
6
619
287
392
99
717
392
580
892
679
752
565
267
210
990
618
91
128
664
713
737
307
229
173
832
605
672
814
787
626
818
106
714
636
768
664
929
715
841
0
756
230
999
806
575
725
240
720
459
225
626
291
306
575
996
683
899
561
224
931
565
322
5
805
316
658
486
34
447
0
621
146
922
272
169
411
650
1
24
692
464
931
725
177
810
31
737
764
652
295
707
669
792
544
991
870
707
784
447
682
248
201
800
214
211
7
178
430
662
477
24
655
288
709
461
262
716
197
268
666
589
29
121
276
336
916
595
467
870
141
294
190
275
607
133
904
253
427
797
712
465
878
904
880
99
379
582
652
966
517
278
717
412
534
80
48
873
414
897
519
980
276
564
122
815
243
743
587
448
184
92
783
175
892
922
727
39
366
712
74
810
158
61
265
389
645
189
470
516
303
308
544
741
95
373
71
440
57
332
654
79
58
746
864
775
633
849
584
368
811
668
460
128
804
40
557
942
602
603
340
873
285
523
868
884
304
621
173
748
258
466
947
778
409
672
129
513
348
562
4
541
756
702
241
21
34
428
259
908
215
950
78
324
274
278
290
912
878
390
849
333
524
453
303
2
481
94
792
998
807
885
895
661
429
147
779
491
253
38
773
728
569
639
17
758
267
665
851
517
521
390
711
928
346
705
689
691
987
308
790
454
492
617
304
17
818
469
546
60
256
890
3
504
708
657
174
536
7
337
70
654
425
175
34
455
50
775
416
373
738
269
549
51
629
36
296
635
79
261
960
522
188
898
486
562
339
110
397
976
199
270
964
888
399
165
262
570
622
133
851
712
976
865
258
250
125
542
61
49
232
68
421
711
790
738
610
846
837
769
220
726
548
962
819
700
14
683
945
756
825
80
163
697
724
960
428
596
915
945
387
145
862
376
738
469
795
339
699
735
860
525
914
466
938
510
964
382
740
688
719
919
763
66
974
107
460
422
745
381
893
630
192
743
574
933
929
711
733
344
709
256
570
607
105
607
338
764
676
962
633
35
500
20
225
415
334
919
981
165
130
69
363
329
847
617
731
608
306
566
5
76
555
811
205
658
787
489
860
579
70
868
621
307
730
348
717
747
273
414
416
929
446
388
73
271
294
359
351
412
126
526
628
520
930
988
189
540
704
186
39
892
602
959
25
215
830
792
990
180
984
440
74
204
335
260
508
231
829
640
163
785
719
578
317
219
161
904
558
899
902
629
389
721
664
669
509
859
488
804
789
350
653
660
539
452
554
795
15
265
793
502
474
132
691
812
569
466
421
545
600
808
844
476
634
484
123
49
607
49
851
577
404
465
103
135
417
106
22
768
884
562
254
263
994
592
254
276
316
140
853
654
997
249
603
341
107
47
456
334
702
519
206
355
316
28
648
977
930
810
626
205
726
197
750
998
397
92
480
319
652
901
205
289
196
784
382
546
366
402
897
324
621
107
223
474
732
587
248
18
239
108
421
525
87
101
326
19
707
103
477
493
397
101
165
207
452
127
470
667
597
565
873
22
199
131
608
964
227
146
660
389
778
629
252
320
853
437
631
304
195
270
689
53
394
564
552
71
221
78
510
842
251
396
21
993
112
55
306
463
607
274
378
325
207
800
546
10
19
280
885
999
679
445
296
444
347
721
53
192
317
890
898
752
829
582
835
437
654
623
302
982
949
100
893
693
246
7
996
520
318
252
339
353
843
460
167
634
938
906
681
285
248
452
569
992
380
600
611
387
747
480
688
746
976
594
568
20
470
315
955
494
590
719
284
53
424
159
605
617
871
93
488
413
358
995
186
525
481
274
432
290
956
198
943
824
934
629
234
203
651
487
55
511
985
87
838
370
723
619
939
830
539
267
969
260
379
125
36
959
328
670
863
50
551
560
487
299
782
610
780
213
353
556
313
334
551
477
879
325
734
965
539
837
321
373
366
623
561
778
875
772
829
884
893
856
801
412
698
89
350
938
771
643
470
621
56
232
249
467
825
378
952
915
833
384
393
870
354
354
878
696
687
855
401
25
936
171
559
331
638
547
116
104
851
139
390
714
17
788
252
250
834
160
618
624
99
663
217
877
606
892
196
754
653
617
203
122
198
556
981
35
409
553
716
802
318
683
163
282
308
551
82
883
756
501
353
174
232
3
516
100
297
584
231
840
684
301
867
306
818
858
249
856
267
392
672
183
770
659
360
655
820
184
593
680
355
48
878
453
349
20
429
317
356
15
723
589
426
433
161
76
630
634
264
754
608
167
517
828
678
576
918
288
267
652
882
717
385
843
18
620
110
713
658
914
360
724
951
260
610
510
377
198
951
614
695
719
631
333
934
463
932
446
886
423
697
671
292
836
634
649
730
416
606
505
659
984
914
235
543
651
388
109
419
837
251
783
817
50
209
326
811
99
855
22
345
190
556
940
501
26
246
701
701
250
856
93
37
139
554
547
861
696
44
217
903
485
321
15
44
844
316
229
172
548
271
166
338
608
520
684
826
327
693
562
432
85
87
424
19
765
600
48
586
312
188
141
561
772
111
679
477
77
618
502
668
627
305
231
548
227
248
368
777
658
813
99
90
776
445
267
433
11
253
351
804
882
496
394
10
340
538
534
789
16
671
8
581
988
767
498
599
270
480
711
187
662
528
482
164
997
116
416
755
177
353
698
4
647
480
426
449
856
412
243
337
283
936
33
231
731
870
190
496
570
805
323
347
373
972
129
175
896
235
948
970
223
473
758
680
703
821
537
917
359
789
265
603
851
368
344
570
886
642
820
824
344
358
893
541
560
102
187
846
576
890
703
719
870
545
25
863
561
692
268
212
182
869
57
635
464
769
59
693
335
347
851
446
781
140
570
666
148
250
331
765
799
842
228
981
908
867
386
916
356
925
950
833
570
523
966
340
324
412
299
943
627
330
434
442
577
850
344
752
902
300
129
23
431
681
920
85
19
238
451
465
448
867
676
429
840
21
716
590
855
486
110
170
518
370
596
135
481
925
450
973
69
363
328
23
727
686
220
938
725
883
576
281
789
238
765
344
79
469
459
646
657
649
159
421
51
245
604
456
520
445
241
181
785
114
400
996
180
765
729
774
281
76
28
838
329
673
260
179
25
238
256
833
282
639
893
363
369
303
226
625
893
733
740
512
215
277
263
593
775
758
990
241
593
972
283
566
518
461
521
99
618
733
582
698
888
65
133
918
101
126
245
921
631
731
147
815
514
890
512
230
614
565
41
258
861
903
199
890
552
931
800
941
441
949
646
960
929
7
382
192
948
295
531
419
744
469
412
949
433
208
317
948
824
117
670
891
562
426
27
904
778
21
967
882
108
210
56
553
219
234
610
405
45
55
401
68
66
892
788
366
632
269
967
324
524
294
703
732
774
552
61
454
756
183
32
827
420
996
721
695
667
610
142
426
945
763
419
447
357
689
390
419
582
992
505
16
311
474
346
185
973
559
600
631
18
247
45
196
583
101
888
758
822
609
831
21
990
711
887
8
807
632
0
149
208
927
1
957
981
76
0
684
8
232
607
513
766
215
474
64
886
261
978
396
308
677
861
116
790
387
513
813
649
856
935
783
570
856
383
706
33
612
664
642
233
842
15
718
304
358
216
654
912
36
527
543
290
165
968
42
283
972
859
654
985
902
443
260
904
128
118
646
276
549
462
674
777
418
839
507
498
289
870
641
639
640
766
598
207
756
157
160
977
207
982
98
105
977
39
437
160
732
461
103
991
678
449
479
976
99
229
594
124
365
234
565
978
773
773
172
314
116
370
873
731
743
431
615
936
396
582
108
144
576
723
282
221
216
838
279
28
181
933
450
107
831
401
537
97
993
806
187
105
908
283
846
956
702
400
23
467
990
378
534
626
330
922
96
890
360
252
737
982
168
721
589
894
926
203
1
580
636
454
467
941
282
888
930
177
107
122
220
260
542
47
570
84
510
518
276
436
13
296
591
379
967
412
822
790
326
335
62
141
791
915
128
156
94
962
901
807
705
336
159
656
875
578
954
355
167
937
8
52
306
388
382
423
92
677
679
872
694
828
64
273
704
150
697
504
671
936
20
410
527
540
829
416
159
310
78
796
848
145
168
831
516
512
971
613
332
63
337
651
292
768
123
360
269
280
565
725
520
202
484
529
251
651
668
203
533
216
176
615
342
953
581
489
852
640
469
885
533
861
568
399
417
998
151
55
716
331
760
62
267
127
376
554
900
789
714
31
110
830
92
290
825
472
185
871
526
131
208
561
466
515
944
940
691
46
173
170
63
488
278
33
192
115
883
585
670
307
472
700
657
216
233
68
163
331
338
559
323
746
722
960
124
545
88
661
665
120
586
151
145
702
627
472
618
568
838
821
826
967
246
500
795
90
952
446
953
318
30
704
962
964
366
704
801
523
926
830
925
351
316
295
65
898
708
557
957
762
417
977
469
696
377
193
955
477
397
8
227
492
321
179
15
462
122
938
200
991
344
550
838
349
818
685
933
58
158
162
638
843
628
934
442
49
160
41
288
142
680
822
855
96
362
312
884
967
265
34
566
317
146
678
182
926
88
572
669
795
142
852
704
126
12
626
152
647
617
228
975
479
218
91
28
141
344
622
492
893
958
450
861
191
711
53
462
857
89
793
506
183
395
758
343
931
264
222
323
73
583
615
820
355
47
919
903
354
205
84
81
610
709
281
754
411
353
511
78
715
377
397
804
108
112
512
378
400
218
250
81
90
310
712
480
620
706
668
321
136
241
234
183
825
326
397
86
111
127
69
76
898
627
618
150
51
461
507
936
642
120
631
460
196
629
491
215
681
818
965
587
139
425
705
640
236
417
426
863
477
571
852
558
549
147
869
973
297
303
340
861
111
783
728
487
240
617
551
240
625
613
459
183
942
518
379
908
604
981
197
185
869
365
240
684
502
153
554
127
432
703
862
204
251
414
630
401
700
304
603
750
189
711
109
243
201
781
567
168
71
693
836
926
293
29
623
226
479
231
0
944
107
953
352
517
724
409
500
524
499
34
440
386
636
112
28
346
698
169
801
972
577
679
914
119
321
922
778
712
614
355
164
106
258
984
791
800
861
344
745
929
188
476
370
764
192
286
990
423
686
505
840
739
175
994
213
569
638
130
428
64
804
475
122
201
456
116
802
437
460
948
400
112
876
578
432
795
156
808
136
256
408
559
960
662
23
347
601
897
299
661
419
480
837
254
277
879
563
897
264
530
946
760
295
608
667
148
13
261
426
300
557
920
172
758
797
732
658
857
993
979
629
779
821
329
751
623
825
962
295
377
55
439
367
653
527
394
394
780
10
518
227
71
342
37
800
703
994
625
241
962
583
986
769
905
448
791
759
1
847
623
660
129
733
346
51
982
642
896
553
953
86
426
909
947
981
479
162
736
128
658
679
298
943
871
774
339
976
349
757
427
946
590
517
414
718
520
898
638
676
745
821
683
488
205
721
188
188
738
813
66
475
416
375
138
560
351
91
208
174
138
348
710
288
811
628
316
610
241
740
411
511
555
578
840
398
856
798
135
232
309
149
890
195
32
152
337
301
432
287
591
130
936
597
408
220
365
308
306
527
712
47
829
814
996
263
855
437
418
524
237
539
962
325
9
440
3
758
460
291
233
363
612
550
727
263
605
931
117
363
562
92
763
318
332
909
256
970
687
636
866
798
545
677
767
346
565
509
644
546
418
226
899
637
946
748
585
306
368
635
28
183
419
680
75
165
445
362
74
5
269
870
1
576
192
228
939
374
442
999
761
230
413
308
82
699
853
996
266
81
399
414
485
188
766
634
379
949
77
21
515
933
777
279
694
282
189
873
642
29
613
262
820
752
556
493
934
738
353
489
82
635
705
7
935
116
348
172
702
857
631
294
457
664
5
55
96
236
363
779
400
662
463
801
349
804
543
447
23
13
528
113
553
987
278
188
638
758
332
517
136
499
227
64
632
903
168
175
284
374
777
897
989
767
293
997
698
353
973
339
434
240
934
210
21
577
956
482
754
978
439
803
295
219
197
449
494
922
922
256
532
789
625
612
624
547
731
693
381
567
231
857
785
746
475
930
872
302
779
447
632
282
363
38
625
346
533
343
773
928
594
693
96
317
447
913
115
821
716
867
318
15
563
556
71
805
500
809
394
701
145
660
818
247
284
589
580
411
364
40
725
75
839
455
420
874
697
543
540
139
218
859
165
302
542
828
357
50
811
349
522
758
177
416
392
262
956
585
811
233
214
411
56
624
945
966
972
354
867
56
212
524
39
689
483
414
115
323
34
433
542
969
971
255
715
189
236
521
944
606
248
523
347
219
922
958
597
904
238
991
53
637
202
643
676
363
121
484
959
709
25
670
183
993
62
730
439
107
416
556
511
306
392
546
948
923
751
809
556
193
862
223
112
556
210
405
599
771
985
375
110
644
162
836
189
316
367
190
957
39
857
89
213
234
347
694
845
629
894
267
25
932
609
875
535
55
619
354
923
211
953
305
441
682
563
324
356
494
842
661
425
786
93
76
595
149
84
553
293
200
481
938
297
9
1
11
213
979
670
865
860
946
789
813
771
826
207
361
846
880
856
654
851
317
695
539
917
371
255
203
658
952
703
591
42
572
816
261
897
939
466
802
362
314
868
539
244
343
442
225
83
900
149
68
501
472
989
792
538
360
251
388
990
322
463
273
652
640
110
798
953
274
121
209
451
950
697
204
584
866
82
816
383
270
81
105
610
316
458
67
189
473
866
719
774
45
295
63
211
198
398
769
981
74
620
108
667
158
373
319
997
616
949
887
996
34
724
867
828
981
180
608
990
531
823
383
139
26
627
957
787
654
228
914
994
585
792
713
89
470
484
168
85
618
501
390
98
470
386
681
726
131
292
559
449
815
485
839
828
573
955
552
844
474
523
556
788
640
386
157
857
561
661
556
220
197
481
613
402
220
477
238
131
65
913
736
212
439
867
43
26
633
756
259
958
667
99
952
110
278
567
135
287
445
78
876
865
458
163
813
956
79
957
81
70
670
128
522
156
264
370
30
426
169
679
775
930
838
999
646
763
586
52
334
395
980
530
896
861
552
344
285
637
495
96
99
601
898
621
412
735
758
302
1
225
677
285
405
6
349
140
20
958
223
231
869
341
481
195
32
295
515
860
205
971
965
699
713
685
255
41
824
263
419
974
437
313
329
650
851
92
533
557
89
359
754
824
498
386
444
75
41
962
875
534
78
501
145
423
50
4
842
495
906
321
541
237
15
399
98
434
480
744
925
216
616
890
452
491
992
814
168
280
725
716
894
389
464
105
88
854
187
83
894
697
547
24
326
634
65
603
996
193
908
190
412
142
428
961
773
528
458
96
233
928
750
603
110
629
32
908
878
105
277
733
115
929
468
821
399
542
324
456
353
252
307
540
441
644
60
503
972
972
347
137
863
813
656
570
703
690
365
922
672
391
586
416
798
669
633
41
984
440
386
406
230
585
985
838
887
213
857
61
710
558
328
605
276
114
616
177
521
952
968
163
519
136
778
444
468
642
159
157
333
445
444
634
204
497
826
479
897
765
819
576
771
793
931
261
218
837
545
255
77
201
314
746
175
962
839
172
580
876
227
932
26
769
9
749
166
279
668
123
587
53
533
729
412
321
868
273
992
73
350
598
65
428
369
815
204
420
314
877
593
283
577
201
303
734
924
358
960
252
142
487
870
929
466
810
589
426
246
549
545
664
816
790
931
37
556
689
785
725
696
917
53
820
275
574
51
944
923
939
329
84
248
48
35
920
32
23
966
733
49
133
202
449
310
197
865
145
424
938
326
661
264
413
690
872
357
466
138
832
533
117
41
609
537
743
306
317
4
376
935
196
879
93
847
330
945
492
930
908
505
692
249
992
215
527
699
413
709
826
792
913
296
31
940
668
342
881
151
427
650
263
78
285
621
96
989
923
815
911
844
588
709
26
92
980
537
20
875
225
965
329
428
837
399
862
617
612
674
106
923
432
997
769
112
538
563
969
541
455
465
590
329
602
267
518
165
358
770
968
502
653
673
115
294
555
968
514
411
997
417
462
956
125
644
862
997
524
604
696
852
654
845
216
319
844
53
440
741
136
432
951
847
549
189
77
199
63
775
953
764
90
207
169
140
527
335
158
130
111
792
96
514
877
197
77
540
292
704
41
500
574
410
502
725
153
391
531
551
140
150
675
791
304
73
159
594
169
488
731
864
334
717
650
492
115
555
91
301
606
703
840
130
553
657
39
349
34
707
611
664
58
734
6
469
561
274
336
41
166
135
400
402
562
98
429
718
961
964
47
491
293
311
172
14
948
659
114
592
27
853
744
884
984
494
895
199
58
555
825
745
17
682
122
760
859
411
910
463
109
31
317
747
800
135
204
700
557
131
842
389
748
558
396
862
808
372
137
558
777
149
549
253
310
416
784
949
882
269
961
146
330
7
670
344
653
609
813
570
75
468
422
564
679
620
547
922
348
889
394
898
668
872
918
16
309
921
236
417
192
214
225
175
512
626
338
181
975
953
625
125
569
404
915
694
629
93
86
597
495
359
81
692
713
925
12
662
766
74
424
482
77
66
961
610
483
620
89
242
659
353
449
758
656
999
833
496
159
996
904
291
684
9
455
482
990
683
968
932
784
173
569
477
284
917
81
674
678
996
198
775
127
810
51
31
617
604
369
500
749
149
301
372
439
602
740
167
445
618
601
192
843
609
413
854
725
61
412
324
535
602
350
796
577
884
858
145
769
295
576
328
663
809
317
120
930
612
922
574
635
5
635
280
955
709
973
704
163
698
331
616
701
489
348
749
979
692
927
139
884
803
416
464
952
566
950
390
58
198
609
588
111
721
390
879
208
159
107
414
857
110
705
844
618
525
851
564
203
32
507
581
87
687
561
291
67
432
108
482
868
869
290
914
979
952
30
260
553
776
319
328
637
331
315
412
459
441
773
761
741
476
98
636
638
195
410
703
24
619
902
237
450
128
331
408
932
78
331
663
463
759
979
158
60
601
340
270
273
126
397
725
502
972
935
880
444
802
880
573
937
839
892
771
262
441
464
138
622
575
263
310
861
947
424
210
399
671
597
275
269
677
865
336
629
905
42
103
444
889
657
908
14
333
2
587
246
552
611
692
653
606
906
566
828
949
712
828
825
733
84
178
383
164
619
294
433
539
619
444
320
539
914
197
307
302
377
381
236
865
314
322
604
203
392
98
279
924
16
200
412
753
115
79
276
431
355
667
312
530
533
648
734
53
82
788
466
775
379
263
578
777
974
641
534
809
863
851
569
707
720
517
953
885
699
769
586
951
554
4
105
355
501
278
524
596
190
338
38
697
616
623
472
544
713
579
389
462
607
964
505
161
654
845
447
674
714
808
863
968
685
755
587
168
359
623
740
26
663
520
911
810
525
687
23
736
826
974
615
320
442
764
242
838
547
392
905
97
637
666
390
274
799
776
353
514
37
934
293
958
516
72
397
517
596
456
709
194
852
238
423
611
6
482
353
815
649
538
276
372
697
86
546
103
799
756
359
475
783
856
523
459
729
231
895
262
46
912
281
608
737
607
846
949
731
84
144
748
258
698
492
299
390
409
766
675
613
574
22
841
46
127
59
510
708
267
26
909
946
366
160
676
266
212
901
450
975
451
998
906
179
700
173
903
903
717
201
335
7
752
200
736
40
681
447
787
422
234
498
578
528
404
386
37
198
519
600
917
919
756
582
353
689
233
459
754
286
623
637
795
366
192
72
822
927
25
733
896
262
899
182
998
773
975
915
868
314
653
154
347
146
535
569
498
346
939
309
616
349
131
295
981
438
48
137
261
83
879
331
353
154
383
434
182
333
775
115
592
887
494
775
944
111
179
299
7
743
340
311
953
669
975
831
761
409
750
124
955
755
395
856
38
165
399
174
835
679
825
424
61
644
232
57
414
808
943
550
50
882
807
772
808
227
252
301
721
69
547
364
895
780
176
994
356
969
230
362
914
143
212
781
340
33
785
90
398
935
108
339
461
981
948
229
414
805
84
510
982
349
128
948
173
404
665
402
312
816
784
147
408
525
182
529
669
825
835
906
408
784
91
544
495
841
275
753
955
666
854
817
545
733
611
87
906
65
971
667
250
674
511
64
145
596
602
36
519
270
585
807
719
463
663
724
230
185
646
814
179
644
410
64
240
484
265
306
42
389
311
419
80
312
916
896
322
12
418
312
235
829
382
842
401
364
484
56
582
376
313
850
867
704
391
908
861
325
492
185
694
365
535
998
179
313
895
136
165
294
999
75
638
538
334
481
351
532
3
915
151
41
5
807
115
536
243
805
779
767
466
717
271
864
519
575
219
855
417
745
957
441
885
715
243
810
581
836
558
974
154
124
25
400
407
524
315
496
972
302
606
979
37
795
321
147
343
461
474
412
7
45
807
478
584
454
506
1
950
503
19
268
332
384
891
329
903
598
246
505
332
45
762
181
874
894
730
725
799
121
816
446
874
219
716
879
842
467
298
97
870
457
658
309
73
456
686
972
397
720
775
389
157
268
122
381
32
357
267
215
759
588
515
714
808
656
281
160
412
191
772
545
993
79
606
745
990
858
24
589
22
957
782
657
958
832
566
130
231
591
775
462
698
168
728
861
340
498
258
145
260
565
471
518
613
356
268
618
644
963
484
864
888
309
94
566
935
832
869
593
980
455
842
940
364
39
556
176
336
992
166
872
611
973
451
118
412
873
152
73
62
372
48
299
887
874
379
130
428
718
535
689
939
575
815
13
577
794
736
905
905
839
913
696
278
876
173
838
594
564
582
619
317
127
453
548
162
505
322
433
237
909
955
624
156
266
263
755
887
635
389
728
636
438
541
617
140
9
551
579
557
933
295
868
578
291
721
732
186
532
410
853
490
862
676
995
695
532
526
249
129
109
696
87
287
641
559
20
883
15
307
854
85
278
418
808
568
325
322
38
754
238
190
775
891
887
991
100
538
106
578
993
441
110
937
69
406
174
886
494
967
972
816
536
444
507
333
900
324
317
863
628
838
460
91
361
863
394
721
915
613
704
638
531
48
890
148
284
154
803
21
779
910
996
605
85
764
828
455
547
372
80
499
733
932
10
819
712
496
779
430
957
11
12
546
552
874
790
380
540
67
586
417
76
941
258
373
670
511
501
133
428
80
826
911
568
316
402
719
21
468
321
891
538
225
739
469
409
468
300
626
578
145
233
890
830
73
29
204
964
402
884
558
941
308
433
185
303
939
659
398
769
137
581
594
864
979
406
732
264
617
620
76
339
135
445
540
300
825
725
409
749
751
785
695
703
934
911
730
982
93
347
990
11
971
16
418
165
940
676
781
294
220
157
632
572
731
594
905
241
971
28
829
754
315
909
729
819
402
626
500
506
60
205
380
335
713
10
52
143
29
936
517
913
809
419
640
415
461
513
55
870
636
731
807
978
834
880
750
929
788
570
367
797
240
767
417
972
452
977
786
758
765
940
669
364
763
847
538
13
802
549
515
162
674
934
692
933
560
167
942
812
157
903
702
824
66
667
221
808
282
989
58
889
821
184
818
838
880
511
791
598
841
847
553
757
203
601
39
472
932
825
880
291
979
278
259
715
292
381
154
422
923
95
947
400
631
938
156
827
641
300
800
649
240
417
863
11
899
34
781
192
524
920
175
23
959
802
557
898
657
497
938
570
365
114
894
709
920
952
764
879
780
903
990
207
452
206
114
216
688
855
665
800
148
487
381
136
408
348
130
974
21
952
715
678
745
184
265
239
481
491
31
484
922
239
891
500
208
506
826
877
519
203
543
991
271
132
564
652
541
727
916
53
980
303
623
48
924
617
297
744
436
969
187
982
879
590
839
967
589
941
126
547
100
453
932
888
635
307
796
607
103
258
759
218
678
366
801
640
47
514
954
824
587
937
75
967
484
343
932
39
669
210
960
691
588
946
872
116
395
528
938
880
637
572
255
746
545
473
679
31
891
473
992
623
739
256
294
998
7
367
463
630
711
206
649
909
833
828
854
687
876
136
683
405
624
940
38
302
267
437
240
141
378
157
795
520
733
587
176
545
976
912
789
321
322
46
607
385
836
508
648
953
68
652
711
378
301
606
4
948
828
842
743
496
126
807
122
378
57
375
675
361
584
108
768
456
996
452
257
343
680
58
206
432
554
457
848
895
765
185
991
222
923
185
627
472
434
777
577
746
657
109
28
762
227
769
837
481
535
300
604
157
382
621
44
528
899
524
608
919
921
87
167
567
778
818
712
942
666
322
897
511
146
864
713
289
88
837
289
722
588
257
831
81
79
738
87
87
701
825
819
190
514
883
206
723
19
517
957
974
278
447
229
124
673
318
237
345
731
802
393
372
774
472
494
218
679
145
6
167
781
498
106
41
771
873
483
167
333
52
544
204
692
780
674
777
32
452
406
842
909
549
770
221
306
455
153
630
748
148
901
255
35
439
344
530
122
498
924
365
500
798
680
685
923
175
579
324
394
818
261
290
20
474
172
983
177
764
185
979
193
983
781
918
19
305
528
849
946
31
256
82
606
297
3
974
322
215
676
382
621
426
764
815
625
891
218
963
124
347
239
577
25
799
939
740
379
995
100
557
192
753
630
218
108
77
812
34
260
433
941
686
634
570
342
975
514
442
90
152
524
475
596
824
663
681
576
775
804
729
796
930
538
284
910
685
427
16
94
642
698
160
992
275
783
65
158
199
27
66
284
155
5
973
461
645
999
65
91
989
976
39
792
794
426
136
701
885
618
669
522
959
164
172
742
717
473
465
497
216
540
855
487
908
591
585
77
275
720
651
850
381
930
962
244
347
999
101
318
654
546
945
940
416
854
161
671
532
553
372
466
903
935
982
519
613
600
421
558
541
310
947
725
861
987
989
582
565
949
879
778
618
110
955
144
799
127
636
428
271
831
202
828
759
551
743
597
730
548
525
683
467
300
614
724
715
219
967
389
902
631
185
22
925
486
178
777
88
327
850
986
276
88
869
387
821
740
51
532
793
693
229
321
880
502
988
638
316
94
75
419
975
494
39
444
376
977
655
489
177
122
379
547
163
500
56
604
510
612
906
660
591
144
160
910
353
874
990
935
355
510
445
14
520
950
995
784
612
679
277
786
383
432
429
268
945
186
827
559
799
887
329
524
479
870
897
176
14
704
84
444
264
131
180
567
593
135
692
847
226
507
225
433
976
298
681
251
930
991
788
561
720
904
608
552
779
293
57
916
232
39
888
588
91
885
757
344
48
839
220
30
792
902
393
871
389
195
787
686
841
397
714
771
416
240
230
630
879
589
310
312
997
143
669
744
365
160
45
40
891
133
268
706
45
339
725
287
665
879
647
84
423
232
99
501
721
193
152
477
542
609
964
845
161
253
349
543
987
53
914
785
247
7
356
306
845
932
237
289
595
924
650
766
781
46
793
532
409
243
282
566
334
389
452
103
6
62
143
171
24
874
911
234
805
198
419
116
667
916
622
985
427
664
846
710
508
527
243
855
911
605
420
553
800
471
915
497
192
552
223
790
362
603
307
49
928
880
487
151
573
988
346
313
662
400
964
54
748
546
162
165
83
790
573
800
925
464
601
139
8
647
128
380
391
876
176
668
936
443
657
80
531
640
292
616
248
440
573
825
194
377
309
533
453
536
881
100
117
353
190
315
981
572
710
922
83
569
589
839
829
319
459
482
962
561
38
506
741
496
849
938
479
767
813
727
651
34
834
156
153
121
764
366
350
815
146
436
211
319
114
955
799
679
319
71
278
896
166
54
226
133
774
834
542
960
569
19
774
985
288
613
812
583
287
46
218
945
130
639
138
110
777
838
162
513
659
977
540
851
125
472
228
671
398
548
642
184
992
453
846
243
22
125
214
457
414
832
815
959
673
939
922
524
461
808
694
628
195
704
506
478
250
46
184
788
681
361
550
151
66
392
55
374
170
768
579
58
937
281
772
366
504
408
283
910
307
367
448
641
146
225
993
214
681
401
862
72
29
645
301
29
116
774
48
354
383
355
644
412
933
63
222
65
350
170
975
786
29
153
963
511
224
819
107
275
360
412
212
477
542
635
516
424
963
734
51
385
821
700
577
886
982
120
604
485
658
675
240
791
934
314
640
494
847
684
151
797
532
795
173
261
602
716
179
667
798
168
490
50
517
500
421
882
676
80
233
368
854
366
236
32
213
642
265
624
634
587
837
983
85
55
828
878
619
981
243
911
3
490
967
599
246
686
395
859
353
866
529
979
255
676
694
580
781
487
343
857
891
181
382
212
37
625
917
841
882
164
447
90
219
4
773
886
637
57
754
110
761
201
944
463
637
669
425
602
402
171
501
798
806
737
122
274
497
514
40
991
358
960
375
53
474
578
951
6
518
472
330
850
940
532
129
793
949
598
282
736
383
549
844
997
421
279
505
194
629
971
411
463
315
867
698
783
953
542
818
935
353
180
33
251
178
228
926
197
390
782
597
720
258
967
80
475
10
748
363
264
242
499
249
781
563
383
27
267
379
974
663
781
527
96
629
202
199
998
607
994
606
7
860
229
160
79
59
314
261
635
71
875
976
436
218
166
296
878
789
848
346
649
702
121
995
113
463
227
191
450
292
628
407
628
541
372
98
165
185
654
125
871
252
468
134
2
184
294
301
962
607
954
331
860
970
622
948
848
311
741
182
214
672
13
768
302
23
141
785
677
100
606
421
4
333
755
426
751
462
202
441
680
947
182
59
830
17
41
372
56
114
991
794
613
576
885
728
846
98
840
343
343
786
441
723
598
958
66
921
229
797
651
930
914
226
81
874
356
603
403
594
723
851
4
740
201
354
101
306
335
373
227
477
366
917
583
217
574
592
696
84
878
405
351
429
340
527
850
64
200
455
272
253
442
942
683
621
128
989
79
740
393
695
337
17
170
600
937
349
184
24
584
231
582
437
659
492
766
562
322
29
304
937
135
593
854
746
658
317
866
532
249
66
424
90
156
715
40
563
500
20
876
292
812
514
635
756
578
685
828
369
253
387
204
263
278
598
872
634
881
79
630
548
867
92
509
640
346
960
942
931
377
807
249
600
659
287
107
12
45
175
502
898
73
279
927
8
60
71
190
721
619
737
940
355
742
546
835
615
709
90
670
758
851
92
916
819
381
983
797
734
369
200
514
109
895
812
657
857
811
136
98
678
460
396
261
308
794
204
284
389
255
236
105
495
462
578
652
112
591
315
246
801
3
979
518
76
10
497
822
520
242
147
5
42
678
836
370
180
344
17
966
767
157
164
792
25
506
983
154
662
350
605
387
573
520
334
113
111
840
860
679
394
8
536
87
630
475
688
893
333
258
758
337
376
301
171
240
884
753
573
774
114
429
347
788
445
685
489
231
280
864
288
653
470
41
938
430
983
318
323
743
483
64
319
671
356
227
798
707
848
189
554
806
346
994
216
922
555
801
804
432
276
204
61
899
398
804
764
418
798
506
535
978
166
671
995
987
185
559
996
246
66
641
318
68
584
153
801
492
834
188
663
286
597
975
934
134
52
886
912
802
112
523
564
185
747
573
166
887
18
512
371
373
543
310
385
305
445
582
684
269
124
473
844
394
660
662
517
427
917
103
233
887
128
584
600
733
200
0
479
619
530
805
507
889
283
681
811
704
966
40
45
144
338
673
832
687
26
282
863
779
299
520
727
209
340
835
462
855
277
955
853
252
221
226
864
500
606
421
419
469
947
152
827
257
203
603
300
376
214
382
254
414
102
930
820
18
508
705
321
199
404
469
81
792
709
807
959
307
692
170
25
569
887
824
935
312
340
447
620
300
598
880
943
857
547
105
813
649
449
17
228
786
374
188
431
605
817
658
173
429
179
536
479
871
370
575
832
567
641
106
167
498
621
158
205
135
275
579
467
384
543
162
407
748
39
538
656
176
370
801
55
180
157
854
927
265
364
794
192
752
0
568
499
101
656
810
898
21
30
395
834
737
176
813
887
699
372
195
571
518
297
556
691
609
923
673
362
119
529
522
855
562
184
40
59
226
544
521
939
324
15
826
342
730
326
173
622
390
141
841
146
477
835
861
853
919
349
169
708
772
146
963
352
256
484
582
310
16
357
103
257
111
820
707
749
241
313
617
947
872
657
299
523
956
633
204
748
419
562
686
201
238
415
219
911
97
503
407
172
775
328
370
197
961
512
437
945
585
96
668
650
281
505
636
903
209
865
356
433
200
738
568
192
376
46
919
132
794
306
669
208
834
438
863
602
153
324
437
21
87
569
290
24
135
336
667
371
689
412
206
140
427
382
290
71
494
753
86
845
162
894
269
196
660
848
145
105
655
266
987
388
973
529
206
969
868
991
970
153
278
425
559
154
71
196
459
314
606
712
630
278
169
840
48
459
319
237
564
517
607
177
292
706
9
493
355
413
741
313
62
887
907
166
870
509
911
521
788
277
350
216
777
613
814
886
40
202
92
116
993
472
805
981
47
662
305
580
693
193
713
788
94
439
641
82
71
275
555
116
338
57
266
99
758
749
700
17
554
736
97
904
955
192
767
372
935
239
689
434
70
570
704
709
531
272
87
203
347
542
247
617
37
914
839
710
174
216
689
133
595
122
770
24
347
663
405
747
201
10
901
817
921
586
572
48
427
364
896
428
164
703
784
999
685
538
180
241
279
739
560
657
11
641
364
674
146
19
719
887
343
449
71
557
882
5
722
610
119
944
919
599
312
469
553
409
276
740
63
699
864
227
554
426
146
631
761
280
352
653
806
849
798
701
272
331
329
843
915
113
32
846
678
924
697
164
727
314
976
486
85
425
760
496
192
37
279
283
677
163
902
312
858
969
9
162
105
254
992
721
580
580
885
206
597
470
751
612
886
509
400
396
936
675
752
294
496
7
20
49
456
459
135
273
186
16
645
563
819
669
874
900
826
237
599
518
716
374
440
83
27
208
293
537
493
337
547
637
535
818
776
720
485
178
795
941
313
426
269
169
979
483
281
796
720
497
493
15
553
353
412
495
519
33
431
61
637
269
32
57
752
279
291
924
638
511
256
892
875
807
225
953
768
58
383
177
388
49
224
134
175
0
28
942
890
328
528
309
105
464
561
653
236
10
183
805
510
542
398
383
225
80
692
518
317
20
127
133
926
103
202
560
379
2
784
90
675
4
482
65
178
220
721
971
438
30
714
0
783
397
588
921
75
188
478
405
534
318
317
484
227
636
696
497
56
638
65
692
362
254
570
886
779
475
829
388
678
43
699
344
200
484
706
705
907
842
356
202
609
16
217
672
767
480
27
546
96
358
369
138
2
589
576
565
758
653
675
852
443
129
606
621
495
571
692
100
938
437
479
232
983
273
612
689
610
313
271
128
560
862
112
723
400
442
803
701
446
865
535
273
831
690
223
515
328
834
474
612
244
351
638
724
392
452
922
153
0
336
28
928
419
944
949
132
796
0
1
149
917
599
433
922
357
430
735
581
381
635
350
887
36
99
488
947
995
350
643
387
320
114
71
516
460
748
855
664
724
802
82
361
768
656
290
981
159
673
372
436
927
949
518
60
128
198
227
790
0
794
289
742
735
343
625
987
413
476
527
727
900
312
241
846
578
208
40
264
742
586
302
596
610
647
90
423
79
619
480
948
295
363
151
131
391
126
148
388
997
30
190
317
116
496
969
799
131
837
523
316
582
487
481
611
689
697
818
12
933
420
841
513
889
710
845
319
281
609
804
766
359
293
372
697
261
423
557
194
129
314
536
484
997
220
498
406
797
523
327
592
310
486
627
276
977
523
767
539
567
354
931
375
610
375
119
378
800
160
648
313
35
601
951
896
176
658
938
145
362
697
85
484
647
837
264
626
632
459
354
506
295
765
508
531
318
32
830
465
721
139
802
917
268
907
708
90
250
209
490
888
973
147
641
517
198
13
558
202
296
749
697
171
115
454
240
516
37
297
917
678
882
856
359
277
137
611
772
121
230
698
152
702
879
849
66
185
501
920
613
983
70
864
565
604
576
807
26
342
445
733
266
524
283
783
819
23
293
543
145
492
550
377
829
335
325
653
421
254
661
674
553
684
40
564
683
435
304
297
193
451
734
221
909
812
615
598
219
927
218
63
408
99
576
827
685
977
15
397
993
719
616
529
887
441
431
867
834
404
586
397
447
681
305
822
546
393
644
335
651
939
746
437
582
784
750
12
82
404
440
77
274
785
580
631
893
348
520
810
617
742
266
91
132
576
464
608
974
281
477
966
326
67
481
60
225
638
382
355
695
515
92
542
697
19
665
929
678
11
719
394
135
593
294
489
223
471
19
865
435
176
467
842
701
518
113
647
520
134
301
51
809
830
544
714
492
381
852
366
614
189
390
172
501
803
354
479
197
319
159
536
407
506
652
554
706
178
530
999
847
361
824
330
195
61
104
976
636
877
342
897
682
609
817
132
380
73
495
937
292
61
945
352
287
941
64
196
999
478
205
985
70
307
804
159
98
496
204
773
758
370
451
573
904
547
58
927
564
779
958
413
969
447
395
950
436
750
0
378
790
456
301
853
431
737
611
226
333
226
435
824
862
500
431
456
399
332
514
620
408
681
223
489
476
915
447
521
695
94
880
217
820
33
725
8
60
248
48
352
645
376
613
32
996
445
706
482
691
757
651
74
525
95
854
116
168
994
178
404
426
270
687
900
413
596
895
321
7
982
749
181
419
955
118
451
776
562
805
965
780
510
901
125
8
282
597
288
659
293
798
324
958
808
290
115
245
231
216
13
210
223
657
764
145
328
422
618
226
570
772
612
451
399
903
519
671
415
863
707
68
358
567
978
927
41
582
581
479
207
873
46
606
117
259
638
84
459
711
779
952
736
508
111
109
905
606
849
196
34
399
718
476
795
113
792
131
778
44
174
651
947
588
385
750
216
863
273
935
826
200
717
586
791
291
519
671
660
707
709
316
746
23
213
242
498
472
486
811
641
837
241
461
489
794
181
924
385
805
119
749
789
145
871
562
218
856
193
522
546
608
38
336
499
576
980
738
353
439
790
679
271
572
433
163
598
331
877
99
282
913
802
474
743
241
965
673
943
583
836
647
655
43
108
426
212
902
792
657
971
170
631
40
894
359
684
157
404
963
844
622
821
6
687
80
849
685
101
128
363
489
901
853
891
121
638
849
47
753
968
775
639
792
746
481
403
89
100
980
279
927
601
622
898
476
425
664
619
383
215
130
842
177
666
671
757
741
186
709
3
460
716
946
238
934
347
633
30
200
611
657
218
264
537
381
871
350
930
263
80
625
647
634
136
120
455
77
3
319
998
280
95
892
17
593
839
269
138
64
134
412
258
464
46
872
867
848
971
897
519
229
574
632
876
621
281
181
906
66
7
557
495
823
128
12
52
492
383
472
953
289
790
538
753
158
794
301
93
654
354
642
65
598
525
229
426
460
877
297
361
924
588
678
18
322
757
876
148
120
162
470
669
675
682
549
677
992
658
17
622
599
612
685
490
302
740
961
770
810
73
384
208
783
916
250
170
64
323
883
815
883
782
745
753
862
234
120
221
960
112
976
316
302
785
383
159
235
652
400
169
345
841
943
330
599
494
956
995
963
994
63
770
316
929
297
654
569
162
428
883
562
23
534
51
206
331
713
977
805
524
622
133
872
312
34
961
981
607
980
121
86
725
542
962
811
834
601
415
231
666
838
524
686
387
761
170
827
116
237
143
987
639
214
410
148
778
515
55
499
965
666
853
41
500
636
492
50
580
584
225
788
524
614
426
923
40
415
894
11
632
522
524
806
902
680
515
407
630
67
118
302
239
362
192
103
720
217
436
733
727
280
126
768
746
467
695
221
253
441
682
175
807
491
804
538
756
951
33
306
544
426
939
668
960
935
14
161
63
221
663
576
748
996
685
624
46
769
311
381
666
947
914
231
664
814
302
854
148
449
154
29
154
271
306
30
753
509
351
141
391
383
741
799
321
19
650
172
632
827
136
417
661
785
62
623
153
458
694
558
810
548
622
22
821
442
162
231
805
208
922
709
255
741
474
891
719
292
917
156
386
780
140
245
226
387
577
726
250
97
565
396
555
131
293
942
606
478
391
835
828
783
91
412
270
34
906
733
643
537
632
67
553
951
667
753
316
559
684
838
753
171
909
423
485
345
947
212
713
59
640
371
171
771
15
321
494
316
530
299
518
181
555
782
4
411
503
186
176
823
134
451
739
600
593
433
662
768
413
432
491
5
41
254
368
648
106
791
826
8
123
856
459
670
446
175
296
150
231
969
437
673
456
485
65
880
753
797
902
94
837
423
998
876
277
328
450
874
159
302
147
259
11
277
601
718
902
805
391
898
656
87
298
406
217
274
458
354
369
203
110
954
69
409
878
883
94
76
793
747
16
356
561
186
341
593
101
300
923
329
339
799
587
417
432
249
965
166
258
636
623
267
359
754
930
15
45
547
702
734
513
586
533
200
376
873
233
755
399
890
226
895
290
36
388
740
569
712
94
479
46
527
397
479
895
433
133
671
526
918
98
277
148
418
375
178
35
571
750
118
422
82
819
592
534
817
143
617
588
416
296
643
612
175
230
48
121
89
758
293
680
952
554
50
498
881
838
957
923
6
147
954
366
810
703
907
515
555
948
293
529
114
27
653
819
564
380
30
269
647
829
773
299
700
897
290
182
963
717
978
199
298
905
11
708
700
421
378
678
451
798
983
368
290
258
82
511
360
993
256
822
873
302
449
726
602
466
107
686
140
272
396
50
695
281
201
390
433
472
98
380
405
645
782
118
684
326
35
335
271
605
683
262
986
215
533
198
29
212
88
479
2
177
649
322
923
930
88
298
761
206
93
553
867
492
478
344
787
241
247
253
154
986
665
418
622
765
545
949
871
206
562
617
523
268
914
983
876
798
556
228
480
791
288
622
923
159
374
953
916
875
564
478
868
171
831
295
323
705
377
942
208
57
733
640
816
78
589
121
504
698
532
634
91
13
985
4
77
489
333
825
970
688
825
932
340
149
684
544
523
723
842
675
328
906
542
315
741
415
141
558
842
457
487
621
98
733
195
335
707
956
929
838
194
0
2
224
571
8
190
752
534
354
970
496
917
752
93
184
512
2
404
973
995
768
656
94
829
740
260
400
870
347
307
787
1
85
595
729
148
241
920
749
19
69
58
399
79
696
334
159
529
721
985
363
896
967
214
832
707
926
884
371
116
632
40
604
925
550
705
486
507
354
893
240
454
942
291
293
849
24
869
112
875
189
881
774
808
261
453
257
914
777
776
585
356
648
131
372
864
623
318
733
60
369
839
956
700
211
802
181
983
365
275
634
5
83
268
588
662
970
469
974
616
667
786
733
197
867
556
676
471
925
867
955
215
762
690
830
795
447
861
81
887
912
741
773
799
305
923
865
263
610
900
805
776
354
231
714
395
533
591
225
635
126
764
58
797
456
836
960
230
101
634
283
452
686
765
129
971
732
129
154
694
767
875
680
927
13
390
20
902
113
759
479
903
930
752
958
911
80
713
117
698
106
176
691
211
315
570
646
303
714
810
336
666
243
262
655
667
976
973
669
509
732
404
204
276
388
419
475
361
684
862
916
654
400
557
203
766
658
682
355
495
667
191
267
783
580
135
826
758
607
510
549
337
701
39
67
795
273
703
171
951
514
749
571
46
90
452
708
906
727
536
137
197
117
408
558
682
386
576
432
43
253
484
658
398
390
837
553
573
162
300
234
900
379
283
782
492
537
743
449
391
537
498
515
642
15
986
544
87
832
455
784
583
476
309
714
52
150
472
520
896
991
359
573
163
617
812
244
289
224
118
870
287
709
591
193
525
203
908
636
496
509
225
631
758
225
608
534
227
541
413
398
591
471
359
268
115
883
986
562
539
829
231
607
856
192
336
112
49
590
226
324
234
503
680
859
104
989
134
365
317
784
143
343
623
796
303
664
757
959
78
796
401
21
490
699
624
779
786
943
586
356
870
693
943
985
885
387
445
876
228
27
961
66
205
231
938
836
958
749
532
516
72
761
569
647
434
777
213
261
463
674
106
520
582
328
448
502
84
480
47
888
922
330
259
731
982
485
558
281
18
215
430
593
165
861
947
688
337
312
593
130
530
696
437
483
75
222
698
742
448
989
461
180
91
516
688
300
821
788
238
186
125
529
406
774
950
237
598
674
578
588
267
225
902
883
370
530
642
912
642
737
444
604
208
463
343
808
162
463
490
227
49
602
508
503
240
811
551
27
862
370
137
420
996
612
712
8
520
527
677
169
499
605
597
22
687
540
240
52
59
787
724
240
817
265
438
945
312
888
558
215
592
626
635
306
313
308
192
205
78
316
881
300
112
835
179
20
748
698
857
731
344
69
526
462
279
64
885
613
959
745
187
849
963
973
518
645
57
566
376
91
333
281
43
375
385
734
88
341
292
923
637
83
147
62
822
634
166
759
557
304
321
841
187
696
902
804
610
151
800
663
820
534
378
690
868
464
461
166
754
726
681
801
787
957
667
936
745
891
137
473
550
650
707
482
702
889
409
466
691
644
209
830
440
652
103
914
470
961
318
20
141
696
643
827
362
944
637
405
217
972
949
317
631
262
390
215
926
395
593
186
347
323
509
983
525
126
482
641
282
762
279
985
809
962
603
513
74
463
156
821
853
732
555
364
903
828
621
591
256
761
803
103
39
410
725
701
846
763
76
386
105
379
14
398
67
322
927
358
57
59
247
819
336
756
370
896
203
727
970
229
51
757
659
919
218
447
778
560
955
18
133
636
240
219
77
943
594
842
621
831
443
862
429
559
990
64
554
183
281
966
483
939
867
279
683
744
155
669
455
917
691
433
44
373
249
119
696
67
505
155
642
674
53
358
650
492
134
138
467
831
745
305
342
935
114
926
236
967
957
977
421
124
756
259
205
327
833
186
331
419
210
975
371
637
323
599
715
715
702
285
780
767
390
297
30
666
522
572
885
39
57
22
960
218
740
417
282
397
127
795
57
820
821
668
805
437
491
702
492
94
559
937
743
978
556
958
87
874
80
90
521
785
176
901
966
952
894
693
940
192
240
465
423
49
488
488
405
495
463
631
842
807
382
634
252
498
960
585
29
408
950
298
801
624
1
347
907
561
662
299
313
953
856
550
484
284
103
493
226
897
360
273
559
922
600
457
144
482
294
346
840
546
401
776
39
930
659
538
911
620
979
130
185
982
843
111
59
258
745
108
535
520
380
206
542
694
234
915
582
213
426
567
71
473
683
231
234
299
843
683
743
547
376
867
790
46
559
601
354
382
477
149
134
538
922
695
546
132
184
711
924
848
94
647
747
388
821
259
235
218
990
830
269
75
729
374
89
277
897
175
227
131
702
364
947
331
552
799
936
164
878
167
990
963
258
726
283
396
7
295
452
250
254
963
844
774
740
595
995
441
458
407
108
149
626
920
46
750
858
608
174
888
760
831
504
717
247
720
259
453
797
454
25
967
692
643
117
13
675
962
526
466
792
372
984
159
713
482
209
678
209
595
86
932
632
853
870
895
181
387
649
923
259
787
194
807
245
631
76
394
936
544
322
615
384
755
158
761
452
62
983
704
891
29
977
585
541
72
88
108
475
508
199
818
443
425
967
729
755
504
418
520
789
461
394
465
970
775
555
314
879
30
780
361
704
531
873
919
638
202
777
118
366
302
465
880
556
325
840
752
438
611
852
185
740
41
8
360
480
71
134
397
364
772
730
163
631
313
428
729
747
12
629
788
490
559
321
741
190
723
918
590
618
636
142
452
410
740
130
412
723
220
110
295
454
748
342
544
734
116
742
198
20
418
729
526
430
948
631
15
570
124
612
925
705
118
926
651
398
153
965
504
636
586
333
495
570
738
955
621
163
81
551
612
328
404
301
698
449
818
749
993
142
653
789
654
314
92
114
152
449
252
335
170
13
524
603
636
880
475
746
238
156
624
116
851
378
475
384
26
955
53
455
825
938
77
525
420
385
739
362
115
512
377
969
685
535
948
170
348
389
218
142
674
574
981
124
851
306
813
204
182
8
309
296
935
523
368
966
181
103
494
815
765
82
782
404
644
311
457
214
922
653
586
459
315
973
944
522
868
933
751
376
355
98
592
396
437
462
177
83
631
755
603
169
262
636
756
278
194
516
288
513
969
667
557
193
576
771
895
961
142
716
399
282
767
938
914
551
92
360
869
100
240
967
964
644
223
468
396
469
296
789
908
281
551
17
71
424
318
41
198
936
692
2
137
495
301
491
615
386
595
423
384
654
827
542
837
860
345
483
174
719
435
275
351
78
972
397
943
810
382
300
180
991
361
180
843
391
226
578
997
391
129
901
23
668
583
315
948
127
204
510
962
528
136
196
4
579
267
725
343
496
647
711
983
556
313
585
556
551
522
508
949
870
929
821
415
477
574
125
38
147
486
172
90
745
534
584
187
357
272
230
809
743
662
909
329
413
857
98
417
879
781
388
761
133
559
734
532
185
46
212
605
566
308
428
312
127
973
426
96
148
267
819
870
194
144
597
583
715
737
890
795
917
138
739
317
863
138
840
959
501
641
822
199
232
555
655
577
859
300
785
147
822
804
894
11
636
991
191
256
633
41
635
903
17
151
568
345
202
429
297
270
227
552
671
507
179
874
525
693
475
183
730
318
362
659
840
532
337
679
237
658
412
358
424
122
823
456
878
42
318
431
230
954
119
343
209
769
577
231
705
568
510
144
667
899
417
499
111
31
621
379
605
152
769
128
440
377
50
555
870
596
576
567
238
414
633
333
246
480
676
14
547
372
153
638
454
370
787
444
722
286
547
207
514
275
677
37
617
523
649
421
972
793
328
125
652
165
550
526
897
731
990
384
443
708
955
277
707
934
563
655
792
158
615
671
86
904
851
420
791
689
803
829
924
499
316
912
125
95
892
16
243
508
725
893
160
504
638
352
90
84
552
686
685
733
299
445
391
938
346
260
308
394
358
895
777
919
878
545
489
531
857
888
214
313
730
502
530
802
779
316
465
826
222
3
561
330
625
235
288
715
344
650
566
150
896
208
880
184
288
392
810
500
407
234
869
411
263
119
822
844
762
358
103
246
350
894
304
782
646
822
75
345
140
822
83
534
228
952
455
783
71
354
825
346
441
870
91
137
200
830
739
945
854
115
821
597
389
88
504
231
689
194
434
388
690
695
432
75
495
792
960
177
910
251
784
285
566
402
876
154
674
925
288
288
780
419
870
129
74
533
373
736
413
883
108
203
562
923
825
726
891
990
962
573
843
13
586
533
670
534
741
427
408
845
550
852
384
431
942
565
364
945
433
594
652
542
779
61
568
532
902
464
853
794
474
861
526
233
645
883
431
466
870
112
594
111
29
649
566
123
519
311
405
785
517
261
475
126
851
499
47
561
192
681
725
639
310
595
56
150
177
914
784
390
258
196
396
562
808
626
488
398
365
469
63
906
608
615
45
690
864
936
879
593
472
473
437
434
417
100
106
731
176
273
463
192
479
594
733
522
198
138
213
680
828
310
112
695
677
449
201
244
640
524
156
756
446
759
411
307
678
354
510
537
283
297
927
142
26
16
894
148
297
69
428
428
220
670
4
303
732
646
740
882
822
60
421
715
556
781
176
955
180
682
41
686
160
899
531
647
746
801
17
908
456
277
877
420
538
375
921
367
752
362
854
691
923
363
167
985
988
348
995
12
296
592
145
282
145
59
17
356
930
116
40
177
25
994
784
369
417
602
384
873
304
368
466
845
350
204
197
951
78
154
197
278
92
601
79
552
990
745
35
136
199
605
939
220
564
496
882
229
768
486
814
559
24
56
486
592
734
991
877
691
223
280
422
644
886
685
567
330
539
684
800
276
885
435
606
73
890
811
228
479
92
424
610
541
475
174
887
135
696
73
97
575
734
621
86
425
54
628
273
128
910
180
590
306
276
357
164
956
382
889
92
897
662
975
311
271
103
444
281
867
150
580
204
44
873
667
246
112
858
304
688
599
180
943
674
916
829
327
218
691
209
861
585
145
811
572
691
373
939
44
441
551
640
990
943
404
725
585
918
222
877
424
883
478
237
532
620
624
812
649
240
867
214
779
847
788
911
209
508
614
822
361
498
709
891
832
485
358
439
271
21
699
305
994
959
130
79
731
848
6
441
374
304
616
521
600
237
14
267
218
312
180
811
87
817
218
928
554
171
974
724
382
236
834
611
78
107
46
823
64
378
980
466
863
41
389
698
980
394
894
750
363
153
847
977
159
842
505
853
157
412
897
951
118
791
918
420
379
909
43
989
446
385
684
947
7
788
671
884
408
891
73
792
959
559
542
798
122
18
660
780
259
329
190
360
81
994
846
976
107
301
851
761
12
832
897
616
310
874
568
221
512
457
549
25
725
156
925
456
282
987
963
396
883
9
161
34
879
732
477
656
309
863
442
93
972
646
929
628
775
873
780
940
4
653
6
217
411
948
683
716
105
61
159
28
348
117
798
586
213
524
671
359
288
128
733
723
564
147
492
92
197
86
319
564
64
9
545
272
269
297
953
398
693
98
857
351
378
571
605
653
224
157
158
718
130
658
543
11
156
468
513
408
863
995
603
60
328
892
657
200
901
457
862
96
502
23
677
405
981
685
879
646
459
674
633
256
381
757
822
620
52
444
557
830
682
978
244
739
228
896
558
280
566
63
65
854
829
328
901
6
219
631
806
628
323
743
852
975
424
575
874
46
309
380
173
838
555
536
96
960
205
133
820
764
459
621
867
28
515
410
376
584
803
191
198
546
641
900
209
605
35
207
72
480
582
166
534
547
914
510
451
105
678
364
995
484
979
201
923
426
224
365
728
695
737
599
16
216
568
527
917
190
679
607
790
376
974
121
46
78
280
351
817
867
329
973
259
725
619
512
392
465
97
99
500
544
784
109
462
953
981
334
274
854
969
562
4
402
685
514
109
754
805
222
371
527
940
362
519
390
504
384
46
989
685
303
421
625
503
98
284
967
31
151
651
783
498
694
327
152
343
203
973
220
462
514
994
71
850
172
67
101
867
731
676
826
78
292
418
148
30
521
10
496
934
72
324
285
671
637
399
434
220
704
788
376
52
599
979
452
427
966
996
60
577
375
330
4
872
981
704
911
231
438
396
715
112
870
204
629
293
800
19
147
384
739
508
141
719
67
4
885
255
642
883
946
683
960
515
176
325
913
897
441
704
987
877
33
566
974
909
701
166
423
579
782
779
205
267
637
19
469
326
864
306
568
494
948
489
568
948
792
512
625
918
295
342
572
76
831
472
71
905
153
839
547
734
592
84
972
904
721
475
179
632
78
869
852
731
367
190
573
128
39
564
117
35
150
901
513
929
569
539
638
65
148
585
743
99
775
469
53
915
39
456
53
18
843
722
227
976
605
840
268
119
852
747
549
567
762
759
300
258
838
726
427
657
370
230
29
86
70
576
505
588
250
772
516
140
612
69
36
609
978
945
87
476
895
4
752
388
28
222
57
889
364
796
157
594
989
954
787
898
82
404
821
193
424
61
574
887
331
859
156
982
654
128
257
44
235
363
429
558
718
271
436
507
406
299
511
360
669
868
629
513
830
418
48
24
64
661
187
250
645
604
703
668
305
977
590
227
733
251
291
838
114
874
875
841
97
511
648
230
36
433
743
251
947
670
372
829
117
351
368
253
252
809
116
867
495
52
306
475
191
142
641
950
494
677
699
656
572
398
635
13
961
693
249
783
367
582
415
289
954
928
177
619
695
153
927
312
957
924
646
853
547
507
284
380
79
911
33
965
168
112
473
256
185
692
330
235
40
360
616
469
610
224
446
485
208
365
794
690
318
743
69
415
816
475
227
535
540
28
773
636
636
628
762
787
977
144
514
158
388
501
340
510
345
607
836
135
614
551
883
809
173
827
397
741
709
110
390
124
986
300
143
14
246
883
136
309
668
425
714
456
965
493
818
138
159
288
521
290
432
426
156
126
786
315
839
54
473
281
389
310
841
844
310
802
473
463
961
104
399
136
969
991
855
22
803
299
594
942
173
103
878
831
463
205
546
464
747
63
755
403
43
691
929
62
902
78
324
507
794
264
750
703
868
257
315
82
442
473
853
955
906
321
65
759
485
328
894
903
802
507
334
293
649
853
201
122
58
163
739
556
320
60
502
192
317
457
974
940
865
626
445
660
239
832
986
505
871
829
488
580
610
134
27
86
225
641
67
207
752
414
920
533
624
651
647
516
101
249
623
844
284
267
773
956
555
106
775
316
675
557
904
526
31
539
658
255
871
189
743
91
612
251
207
343
951
602
385
903
548
445
535
373
663
643
889
866
997
711
458
97
850
383
887
592
401
141
834
228
788
278
775
64
854
127
359
113
172
260
838
514
551
686
29
229
410
668
883
332
984
907
266
542
320
655
396
218
59
356
93
765
777
902
984
132
976
442
176
164
193
990
729
932
771
693
644
751
472
61
823
963
662
420
66
235
793
683
537
337
807
691
665
732
803
736
346
530
997
863
814
151
292
206
199
612
504
223
336
581
29
290
445
678
871
973
413
710
602
980
982
418
472
446
684
236
221
896
634
224
374
678
910
881
502
475
72
867
821
79
127
287
437
326
865
294
743
952
478
109
830
908
332
101
915
527
683
638
106
552
277
598
567
36
859
64
927
848
759
115
719
753
971
520
708
937
135
803
644
758
722
588
112
518
721
355
799
7
618
520
8
363
825
420
501
392
329
1
959
230
863
24
462
501
622
673
854
692
153
847
610
915
163
182
263
974
594
993
349
38
222
279
209
877
856
858
946
534
860
443
750
735
724
397
386
90
212
172
770
589
44
200
522
1
826
61
195
847
434
924
545
151
323
197
343
339
491
467
255
829
633
462
652
763
754
378
46
464
239
225
766
607
654
718
956
605
145
11
615
955
556
432
282
716
647
919
194
230
101
814
288
573
919
48
586
680
811
479
608
635
609
629
517
790
646
985
460
202
238
333
629
186
763
572
771
191
403
635
244
298
875
144
369
372
515
895
841
528
401
33
115
513
558
161
895
440
117
111
7
813
673
627
547
609
477
317
141
511
4
257
70
827
856
437
70
763
826
834
322
641
765
111
918
661
59
897
115
651
616
622
22
417
990
809
300
974
870
768
3
446
932
551
845
925
716
483
993
197
794
355
141
562
255
488
49
592
47
616
705
43
262
150
263
12
855
466
994
644
765
349
972
753
213
846
993
642
237
362
760
829
417
311
48
543
388
291
962
943
163
171
841
748
111
209
509
325
427
919
868
94
823
193
645
778
148
904
136
432
809
720
583
157
841
120
466
903
251
956
45
880
326
939
33
248
142
865
238
166
451
360
844
294
570
150
85
83
30
274
741
392
232
833
598
363
567
544
631
89
439
843
603
947
18
970
230
204
25
270
782
744
887
73
48
572
982
926
857
374
115
836
941
65
128
799
117
416
928
662
607
372
288
372
741
20
510
566
814
901
541
439
113
66
576
146
919
369
898
79
378
670
496
29
956
36
356
273
62
788
230
404
648
671
737
581
897
983
333
183
522
173
844
522
777
147
229
233
67
399
702
6
461
882
780
685
17
289
102
29
660
849
104
584
713
832
90
99
577
322
583
344
972
804
477
801
132
258
95
409
172
380
536
762
107
988
380
591
439
446
540
706
634
992
344
516
973
665
975
122
29
118
436
740
894
231
132
23
446
318
756
378
538
732
981
473
110
801
19
213
999
239
163
811
278
131
832
555
249
622
580
774
879
926
290
68
988
65
12
297
600
785
924
521
401
301
59
793
277
881
452
808
157
83
916
645
950
860
124
616
170
853
372
84
383
807
112
301
414
323
239
182
831
803
674
230
541
195
14
222
946
95
452
778
955
726
440
539
860
178
753
111
852
365
885
323
963
114
652
269
977
147
686
627
512
598
1
274
190
249
539
908
308
267
518
188
661
957
832
421
614
86
395
946
372
548
856
34
473
955
120
583
668
818
135
175
233
403
344
430
308
820
345
491
28
970
895
496
112
620
608
22
237
239
152
531
710
970
434
866
728
700
389
813
674
344
778
816
123
290
365
357
315
691
73
9
755
259
593
625
260
689
305
421
612
125
670
716
855
720
256
491
893
358
22
870
666
401
873
267
68
480
681
577
92
795
689
344
190
642
188
48
963
971
531
164
78
518
477
890
111
211
450
861
368
572
833
322
736
464
361
980
860
863
742
385
598
320
640
391
734
808
845
882
838
987
756
190
825
733
341
668
263
962
790
686
671
748
564
719
977
161
2
472
868
361
220
141
325
368
331
30
531
969
147
545
996
456
614
397
289
754
519
629
151
216
169
459
555
365
608
353
930
282
504
249
28
347
813
694
217
621
884
844
731
44
713
845
451
64
199
459
590
292
4
332
308
517
258
330
232
947
441
799
373
857
318
992
524
843
239
905
351
806
322
652
728
818
17
715
817
397
155
23
284
643
96
548
182
536
147
775
952
78
253
728
154
235
137
919
216
423
98
639
440
699
346
175
551
373
181
608
619
124
958
577
446
11
24
170
161
458
747
148
174
826
954
240
779
351
907
838
979
801
655
851
77
2
509
355
54
123
340
267
401
590
321
824
168
610
146
972
193
590
760
226
223
473
397
558
718
212
338
158
697
883
349
306
389
468
942
750
332
466
236
483
743
444
431
824
971
184
833
192
780
931
794
464
76
514
920
537
501
543
162
79
567
368
255
739
724
622
296
857
299
532
829
844
224
812
653
543
324
761
189
624
489
607
367
764
215
923
79
223
398
984
367
52
791
207
434
233
102
746
19
314
399
105
802
22
244
67
369
558
814
39
33
985
47
472
706
502
915
825
779
271
542
633
90
787
306
401
387
420
426
604
280
303
275
2
330
927
454
471
85
656
878
769
518
586
778
810
54
88
36
985
356
594
628
733
230
316
646
842
347
359
118
649
752
966
85
74
844
510
406
496
848
404
882
385
903
582
199
614
26
726
391
381
211
739
879
662
363
115
443
799
501
541
98
994
390
941
220
308
894
893
107
877
782
188
694
870
462
14
76
900
310
557
691
500
192
412
818
464
803
414
447
759
613
420
806
583
290
347
63
965
454
11
361
545
216
553
573
81
778
457
52
93
976
612
432
760
608
668
754
55
485
72
577
248
960
210
486
14
708
67
324
403
805
565
93
341
408
410
965
152
883
47
21
715
148
315
402
734
46
891
681
952
936
824
307
130
162
270
520
600
817
177
214
724
862
118
136
679
358
81
31
413
69
422
731
121
368
720
838
533
417
559
179
402
765
657
876
522
65
5
596
57
576
543
534
378
754
118
310
469
352
592
420
191
285
431
795
877
719
989
577
468
745
275
594
669
217
899
139
204
220
744
767
12
447
767
298
678
414
624
764
626
52
474
724
472
644
72
721
179
807
680
899
983
857
490
102
533
891
644
520
758
273
915
928
338
819
193
512
223
343
920
467
778
730
120
660
555
868
694
155
468
619
537
615
889
284
591
915
772
709
453
767
488
234
717
885
524
757
449
869
410
537
88
924
775
188
929
638
290
932
976
420
244
858
547
683
741
888
860
364
244
516
634
651
785
934
348
265
236
749
12
999
607
928
653
367
261
241
844
534
652
208
73
222
246
476
978
716
826
212
141
50
279
252
127
534
217
571
209
658
775
221
729
528
446
686
513
546
952
340
903
994
612
661
826
219
382
861
283
59
574
915
533
727
228
908
41
429
341
670
194
638
175
146
536
514
556
698
349
422
511
853
79
640
409
866
674
525
287
248
542
213
40
274
433
82
913
241
954
410
404
566
78
899
632
658
732
920
455
255
333
636
484
923
699
270
109
631
186
269
538
839
176
230
239
59
756
265
423
282
231
197
660
793
409
767
108
70
312
205
158
919
147
756
137
904
359
366
559
528
159
495
215
642
134
930
132
953
276
961
851
305
910
162
929
809
747
554
743
403
236
461
196
291
132
832
738
867
376
212
521
915
714
372
106
3
601
319
708
279
675
257
259
145
802
81
761
381
92
488
85
434
354
477
76
810
627
397
388
260
881
341
515
463
297
704
305
3
980
386
155
36
322
132
895
134
156
789
896
459
899
987
708
59
718
548
473
153
97
76
174
961
974
502
696
847
721
930
678
85
373
590
78
714
363
671
821
831
248
498
255
151
851
510
982
867
781
546
226
682
879
940
794
722
526
602
765
958
650
277
44
666
31
804
266
977
519
272
836
103
556
670
985
639
665
864
486
183
938
349
419
333
107
854
504
114
411
483
161
6
536
830
385
183
938
864
202
950
87
552
422
192
913
433
280
129
153
419
888
360
663
82
630
157
522
503
351
126
344
37
146
381
863
362
533
525
519
497
300
438
697
538
672
624
441
429
579
51
884
678
187
999
807
832
850
105
946
439
915
13
968
263
319
276
625
995
408
803
477
189
59
842
376
605
78
131
901
518
909
179
233
546
516
528
573
128
949
740
751
866
526
258
366
633
388
932
468
727
133
585
444
174
859
799
606
868
308
149
629
123
129
4
786
896
789
772
137
506
56
408
568
455
158
568
828
62
292
942
958
742
357
981
748
960
21
887
46
446
857
96
698
196
826
346
161
389
564
488
63
456
339
545
9
138
336
445
204
465
822
830
785
781
255
345
963
841
964
591
13
764
216
584
556
602
835
691
731
327
854
15
793
916
100
450
601
727
573
202
398
855
24
45
768
687
227
168
249
992
315
447
98
742
967
401
882
392
733
370
430
614
612
424
79
304
445
514
243
248
45
205
341
880
191
625
367
354
39
324
604
815
893
501
119
799
343
984
944
616
997
528
276
799
416
710
603
445
584
287
784
199
902
119
861
980
485
705
30
817
849
448
447
776
197
669
841
475
188
274
340
53
326
385
971
858
368
308
344
739
910
834
86
149
391
670
926
813
143
272
773
575
999
769
839
385
915
792
787
939
737
901
182
961
896
155
155
884
106
883
153
133
687
760
654
207
659
546
210
215
237
98
450
188
570
478
363
289
93
493
976
867
343
9
194
194
778
264
350
274
946
299
173
15
156
62
719
285
871
726
466
809
386
823
501
880
982
942
981
504
281
55
790
477
830
235
927
509
597
811
657
115
833
115
180
423
87
779
244
840
734
473
910
640
578
717
691
934
318
341
517
298
503
179
308
777
619
214
478
617
702
465
273
812
786
439
944
118
817
951
459
518
84
317
966
97
560
121
376
909
394
449
487
428
361
493
749
911
866
394
216
750
150
250
453
882
11
987
683
913
29
951
451
512
905
830
473
730
375
319
765
936
314
215
587
694
181
95
853
546
344
958
32
106
623
672
403
671
63
475
17
913
690
166
562
291
892
869
519
650
368
420
381
368
774
911
342
976
636
261
339
563
538
74
852
398
580
313
362
375
455
302
869
145
991
150
637
943
594
332
639
811
365
393
429
242
278
721
873
587
362
853
492
159
922
60
439
108
418
670
643
662
714
313
788
309
420
11
249
409
640
910
452
499
839
649
443
243
338
544
417
564
189
388
732
796
803
968
254
181
130
792
662
892
179
948
39
807
295
520
771
402
378
641
909
556
819
627
593
201
518
132
394
605
471
490
260
462
906
797
241
145
57
751
226
944
390
491
599
683
90
351
608
663
149
704
880
38
730
147
995
801
776
798
321
667
212
715
689
749
94
384
497
270
282
517
351
553
980
132
252
118
459
584
613
643
484
402
86
985
462
63
300
79
771
618
969
831
615
169
379
980
294
890
461
437
40
26
986
270
484
907
994
980
305
137
855
804
253
857
855
936
910
131
369
901
950
943
948
83
404
139
648
860
155
768
366
997
969
797
290
837
588
833
807
322
427
16
983
558
805
999
23
483
502
870
19
175
687
853
229
727
720
205
738
760
200
173
770
585
408
641
873
730
740
822
372
195
54
252
671
396
834
278
307
872
603
593
825
211
367
271
597
509
965
82
354
584
280
144
472
621
478
443
387
39
829
101
421
636
75
596
547
341
939
621
728
940
784
890
604
1
424
891
780
734
641
970
620
693
43
356
796
77
92
718
626
432
912
275
657
840
609
15
124
971
408
524
954
677
347
378
167
135
207
352
778
470
61
227
144
19
566
513
483
677
88
892
264
52
572
630
523
250
337
187
441
376
692
579
140
691
856
991
812
166
228
863
328
243
956
19
689
961
635
51
98
339
556
763
732
579
306
664
235
895
318
280
177
910
498
895
688
567
437
285
732
709
995
652
176
325
2
148
539
447
26
339
562
842
849
56
131
364
455
391
359
446
980
507
566
769
579
840
240
23
216
551
51
607
331
239
201
718
28
586
587
0
671
149
782
192
463
255
342
848
497
8
938
865
503
442
247
408
677
222
880
218
800
911
715
491
92
628
499
402
277
629
945
812
592
193
223
134
420
651
191
936
374
966
633
112
184
820
746
250
905
185
956
978
416
737
112
668
374
677
569
290
564
358
435
913
943
962
625
767
505
0
984
169
365
77
20
432
478
714
129
94
344
614
54
616
747
184
946
327
473
790
274
374
80
240
420
787
806
164
630
629
752
841
567
798
954
520
448
956
144
978
603
349
92
964
993
237
333
189
965
110
221
968
827
198
116
212
975
622
986
626
697
668
355
242
344
792
270
999
846
911
424
657
1
889
553
556
673
718
863
549
985
712
121
877
677
363
548
231
969
905
845
615
426
119
620
243
296
333
485
186
866
792
542
353
776
18
950
693
562
417
373
924
631
844
450
549
823
471
900
532
720
140
107
857
868
366
28
695
12
848
294
409
378
7
367
49
174
347
429
423
746
665
48
809
374
790
624
481
357
496
769
795
925
976
496
304
396
950
96
610
516
93
436
573
790
555
628
527
27
52
161
45
311
533
131
466
401
79
961
260
608
140
568
714
667
821
43
35
233
930
43
509
434
839
652
559
348
82
417
840
323
441
408
88
817
590
861
533
113
141
354
740
476
177
691
218
45
410
467
936
585
242
255
717
192
524
382
655
791
226
957
980
304
733
130
731
696
888
381
259
922
647
497
682
307
584
361
825
620
362
679
616
639
166
779
746
581
243
864
79
927
124
419
664
984
827
487
777
200
751
810
444
811
258
841
504
253
417
201
640
393
652
472
40
375
25
111
44
924
345
1
591
186
100
649
740
912
521
520
795
345
573
697
213
486
275
475
802
16
495
25
731
94
472
54
714
751
601
797
788
796
951
248
788
670
842
659
725
642
156
434
861
989
215
596
693
392
676
938
519
430
646
487
546
321
572
651
300
911
705
16
755
722
906
688
398
879
524
689
350
157
143
818
229
712
160
642
9
325
607
891
237
608
141
248
759
100
901
236
36
803
988
276
481
867
189
739
38
211
230
963
190
493
552
420
397
637
883
588
600
715
831
18
924
203
783
926
606
230
513
7
190
337
523
870
442
359
41
906
805
97
859
84
394
981
813
313
228
374
433
737
370
483
794
860
686
831
497
239
70
600
283
367
810
571
791
934
603
914
617
877
852
286
476
826
143
323
108
406
165
834
667
124
3
976
775
942
81
582
409
418
69
122
197
601
555
140
365
148
228
772
357
571
203
861
80
825
557
305
548
996
672
781
619
599
419
2
541
220
115
228
907
862
83
806
924
901
514
292
916
798
527
960
804
541
489
442
565
30
615
964
570
509
480
222
231
59
485
804
675
359
368
693
553
600
370
938
964
681
287
761
879
11
662
194
536
126
863
548
562
211
83
552
622
220
260
712
872
74
620
251
414
732
331
714
877
403
995
612
444
561
428
794
554
502
754
704
566
483
723
712
155
92
875
696
510
186
648
688
866
898
514
276
655
123
369
634
871
282
602
143
947
243
398
183
879
836
209
177
805
999
387
885
702
727
863
181
656
938
983
977
9
172
445
298
508
537
427
280
629
300
51
169
514
29
872
486
147
613
91
563
153
687
8
674
728
604
197
367
32
955
626
593
198
252
827
545
928
280
462
291
322
449
113
616
439
439
829
320
842
64
280
459
181
606
743
699
915
336
182
956
457
889
119
443
707
924
250
681
617
499
822
332
507
241
140
763
134
749
708
599
775
810
433
387
950
226
46
449
984
890
535
941
379
268
412
103
534
790
72
115
18
664
723
780
790
758
897
58
987
919
838
859
297
836
626
369
389
839
100
238
840
327
282
510
469
693
405
505
897
679
995
676
40
744
897
667
760
934
817
409
58
740
768
581
605
454
53
357
413
578
848
212
957
315
378
254
744
598
579
635
700
729
53
438
14
847
61
877
167
178
397
83
128
681
673
952
928
642
283
677
276
325
175
252
761
54
528
495
15
10
778
602
164
196
728
357
603
545
773
177
843
684
29
730
175
594
991
119
759
285
395
412
397
972
585
356
851
851
97
939
215
854
186
654
854
338
173
506
125
124
478
955
67
394
980
412
174
988
820
197
653
142
157
732
297
269
721
968
225
990
605
783
512
324
606
317
169
27
848
854
999
109
406
203
275
401
776
745
600
310
942
601
152
739
162
924
777
198
515
194
505
781
910
827
381
788
138
72
283
242
809
239
21
819
560
997
24
997
702
961
663
625
92
288
618
539
33
407
661
327
900
621
285
338
953
707
600
497
136
936
620
465
383
393
90
547
763
913
815
403
691
810
59
750
436
484
276
8
809
909
671
496
870
216
586
19
689
958
495
857
597
982
936
995
479
345
878
522
740
177
195
443
185
950
690
821
25
697
711
563
492
86
995
487
930
745
347
44
367
745
559
122
376
219
153
565
112
195
965
392
716
411
675
550
539
626
924
320
468
590
284
878
164
91
810
924
323
440
177
446
886
437
779
957
995
576
882
138
702
501
454
908
37
845
999
553
693
152
418
105
688
322
415
579
42
991
729
374
471
631
909
914
331
44
269
657
191
273
906
163
933
176
225
14
183
530
811
779
150
716
716
736
298
100
999
781
603
706
909
598
259
871
881
885
948
370
405
534
344
989
514
213
334
856
921
821
640
626
84
659
834
648
192
94
651
886
614
850
459
310
935
776
220
569
605
821
737
128
628
19
783
736
155
717
888
749
832
457
834
815
785
903
309
638
228
522
188
854
413
350
615
28
707
191
235
855
707
0
804
790
685
552
561
835
60
583
132
827
971
892
794
242
541
828
357
747
81
554
564
21
720
345
354
319
220
365
972
791
78
989
374
384
963
293
766
842
915
228
270
981
987
122
406
68
341
304
665
931
825
406
90
663
491
304
313
681
249
240
945
572
713
30
240
669
160
4
287
17
424
341
343
367
741
186
383
837
526
195
432
355
84
669
191
303
457
665
724
338
495
130
602
109
446
216
291
462
886
297
420
857
31
408
855
180
825
504
854
604
555
428
69
87
353
147
869
2
670
826
113
237
812
106
497
54
672
183
922
536
609
947
541
789
789
825
493
350
636
494
49
374
501
14
909
265
233
854
294
684
414
619
798
337
204
377
288
751
346
809
630
370
749
682
645
30
370
598
462
273
118
751
160
265
895
334
200
134
255
928
513
752
166
681
774
375
78
1
512
628
189
404
787
6
340
752
286
800
811
336
751
757
847
194
999
430
961
131
495
342
964
430
853
421
778
639
735
491
371
594
807
892
521
160
328
626
317
708
177
93
782
595
583
871
833
738
291
784
459
87
101
305
200
94
263
901
451
385
59
569
931
599
167
34
121
536
492
850
952
889
954
747
82
833
652
990
11
670
563
933
408
117
480
283
238
361
915
481
973
316
247
468
582
285
315
385
984
74
848
687
102
702
626
705
286
957
272
332
842
378
780
104
64
254
398
642
72
228
730
401
346
372
688
358
436
550
134
211
14
829
186
902
927
802
272
681
745
210
70
169
333
6
77
328
936
362
456
114
3
277
838
380
899
403
520
191
380
604
102
747
97
836
92
848
585
725
96
910
942
240
537
737
188
321
565
181
691
508
158
943
517
426
115
328
64
342
872
854
834
624
537
616
938
704
926
276
163
125
499
443
577
787
23
552
813
989
822
415
631
24
485
847
148
179
428
132
382
331
577
854
676
0
624
489
494
706
900
127
236
619
78
320
796
543
200
892
633
347
172
814
655
145
434
113
549
192
233
919
608
18
124
355
876
491
110
194
841
691
250
516
222
681
117
316
267
742
248
317
415
113
18
329
656
350
135
335
209
426
960
862
924
148
878
70
506
458
903
685
191
462
3
408
940
166
667
206
992
118
435
323
688
703
458
641
460
183
626
566
114
475
971
829
422
543
69
301
946
65
522
736
169
294
509
8
210
697
416
703
75
615
720
862
510
449
678
466
614
368
23
736
89
175
50
428
11
888
702
236
361
431
757
804
251
246
810
119
570
159
500
288
16
744
963
300
112
848
884
326
640
746
309
845
7
795
876
954
17
162
452
679
709
420
189
992
269
439
5
411
955
21
367
969
148
417
150
250
613
677
37
576
675
845
745
533
595
717
322
450
708
402
203
676
234
188
942
608
377
569
740
664
297
799
438
433
247
767
663
365
681
382
632
161
255
311
979
224
182
465
446
128
47
59
558
812
581
276
542
223
380
192
153
789
214
399
380
551
71
658
663
550
560
916
729
570
333
938
546
511
992
499
91
95
952
554
670
116
770
132
924
651
351
339
416
739
618
536
112
804
601
507
394
224
957
219
577
92
517
256
473
646
87
977
194
572
849
120
713
190
852
706
394
861
659
730
689
156
503
141
259
920
626
796
23
550
704
985
810
911
467
357
983
713
661
902
292
860
963
424
853
902
996
392
381
615
600
36
233
684
250
780
480
752
878
895
646
493
396
44
230
491
205
228
895
706
711
153
882
352
630
477
66
935
602
374
844
762
754
357
812
639
483
193
287
850
186
448
269
509
481
229
466
314
785
132
986
2
498
800
577
24
799
41
646
604
450
530
560
919
701
607
392
130
702
530
272
589
523
658
417
427
45
457
73
386
449
166
157
119
222
115
15
941
707
459
533
734
383
80
932
736
334
127
357
669
77
813
129
750
456
612
797
156
855
174
863
460
400
395
657
90
606
219
626
586
273
800
178
719
953
321
223
129
933
394
791
66
937
435
502
58
774
908
698
878
536
457
525
104
710
53
543
118
337
602
717
173
151
624
568
627
106
435
899
495
245
181
778
294
368
702
344
582
645
883
207
630
963
122
642
461
884
337
311
403
131
796
44
366
472
989
356
482
378
834
873
642
814
540
857
785
824
796
593
102
454
467
764
326
514
686
811
26
806
842
921
463
605
836
988
269
188
674
611
477
913
543
815
572
639
522
422
913
418
398
564
798
291
643
258
147
229
169
220
764
64
126
348
385
62
169
535
202
882
989
168
488
959
986
38
535
373
856
603
605
427
439
999
141
730
60
564
835
340
997
467
645
982
870
649
992
402
160
12
99
863
123
19
832
193
113
998
506
59
560
216
936
99
388
371
711
834
941
628
215
516
968
147
935
704
27
625
485
185
265
483
99
895
271
476
120
182
152
818
766
500
204
882
545
765
161
183
413
537
601
753
603
356
339
351
625
192
565
67
996
474
728
144
235
935
688
334
626
913
571
788
179
222
912
921
927
500
959
704
784
589
636
547
412
370
630
90
546
797
9
371
214
812
372
797
406
75
887
963
763
130
739
685
212
513
460
229
420
242
397
474
768
95
395
444
300
333
783
676
603
323
940
382
10
687
287
731
59
906
682
846
338
681
449
163
49
306
437
690
654
301
933
514
381
975
671
784
686
434
16
651
191
864
870
753
503
449
746
301
371
792
517
235
999
105
566
110
920
434
663
253
724
87
438
822
119
973
489
116
210
34
276
668
351
360
419
864
300
17
685
386
357
360
35
881
194
125
439
583
46
105
883
749
330
344
445
411
457
10
469
317
260
837
365
685
64
696
182
821
938
14
18
645
767
564
48
101
772
209
553
936
614
350
965
125
437
602
898
292
30
708
900
223
381
404
699
647
631
537
815
953
337
179
191
456
305
10
589
290
544
65
764
71
651
440
725
976
635
306
451
199
837
283
141
113
701
319
942
547
745
208
776
108
111
626
493
176
193
296
250
111
149
456
649
171
858
477
86
740
151
614
116
984
618
500
559
196
603
91
2
722
167
746
59
131
889
436
330
333
963
588
918
681
717
848
297
588
439
205
185
205
642
46
166
142
73
671
62
205
148
404
275
368
950
272
683
593
367
68
709
108
368
406
764
729
271
996
824
520
89
428
288
985
392
592
915
940
159
697
499
723
285
708
676
852
276
614
717
530
396
177
100
834
207
578
111
112
701
4
701
49
25
423
360
160
355
354
536
352
118
835
673
825
391
651
71
838
879
935
847
370
34
489
959
390
857
933
3
546
147
116
12
380
455
511
760
952
701
741
203
509
907
179
689
860
280
278
163
272
601
92
853
904
263
428
798
964
244
401
647
389
403
560
578
445
889
336
322
652
90
313
496
979
380
692
354
963
600
637
486
233
380
743
898
351
199
51
922
197
995
887
72
637
859
397
952
317
943
582
63
361
524
770
12
17
962
513
71
131
862
684
938
141
438
739
230
86
959
193
618
170
139
937
729
966
271
120
710
816
791
889
57
660
696
571
780
915
105
93
513
429
286
911
986
599
87
173
931
364
568
739
375
864
175
657
928
965
608
805
308
800
282
226
426
459
555
248
824
378
629
27
134
161
442
699
416
456
133
526
372
785
595
935
667
741
752
452
43
950
584
914
558
924
43
919
76
990
179
511
942
430
429
606
808
993
521
571
865
353
403
457
61
547
352
709
30
858
823
306
551
724
914
695
299
841
506
488
733
560
232
984
123
631
294
577
602
638
503
713
344
153
491
598
576
67
696
462
392
194
288
498
285
590
815
895
365
31
668
602
819
708
197
165
46
486
401
121
281
124
306
619
662
636
329
311
205
543
298
662
599
915
810
900
226
853
896
758
119
899
437
491
641
376
125
660
486
955
154
346
208
262
844
15
137
347
987
480
609
582
433
333
640
476
956
70
864
964
222
837
285
528
630
711
333
149
664
864
370
607
587
217
109
939
743
675
128
309
913
27
387
735
564
852
828
326
583
400
134
117
456
5
305
717
635
907
700
674
143
684
257
949
697
143
398
923
519
262
516
865
409
643
426
667
401
628
836
471
569
984
536
922
295
293
306
911
96
583
199
932
266
983
666
86
446
631
892
668
931
188
724
132
672
275
511
228
657
782
498
526
393
904
798
221
259
174
33
632
328
71
599
453
697
281
335
355
8
581
680
924
554
649
224
897
83
911
715
833
859
71
993
194
258
895
363
419
581
303
499
284
903
391
361
629
932
948
40
82
876
418
291
148
345
158
884
370
728
475
707
663
465
844
598
181
118
154
486
307
22
786
999
540
623
528
854
486
882
64
322
279
2
301
794
394
316
272
598
529
327
955
688
976
611
400
682
216
209
807
652
237
172
428
323
250
524
273
299
352
961
821
763
320
288
130
19
163
536
539
773
194
277
409
903
731
412
273
754
270
537
14
128
731
621
52
150
693
802
952
794
266
923
158
646
204
400
405
494
426
857
794
781
299
200
404
790
383
534
424
384
486
594
649
695
2
914
174
266
439
465
976
136
133
383
970
882
665
699
966
660
478
801
89
415
980
737
266
384
873
320
275
725
354
582
533
752
605
799
177
683
601
374
392
319
587
500
979
94
419
178
666
135
811
505
961
860
791
530
526
27
565
168
651
242
337
310
532
26
225
56
940
4
828
709
682
243
924
979
486
510
665
531
56
454
383
968
879
878
501
144
892
329
488
648
576
347
728
105
345
84
223
380
914
848
450
397
250
148
145
452
377
487
533
389
619
789
177
300
304
457
508
185
97
672
999
238
172
65
389
564
355
759
906
374
988
755
453
542
813
151
720
39
440
698
537
185
195
426
980
806
851
798
894
534
175
273
754
129
37
752
529
731
72
348
693
917
876
358
575
68
53
808
578
224
11
935
134
954
906
293
87
10
442
427
678
282
747
553
117
582
280
225
167
37
958
184
392
395
197
332
367
631
563
596
328
705
229
942
576
727
220
937
953
843
181
224
144
977
293
447
117
962
870
597
599
601
422
148
578
377
820
89
411
655
420
321
717
932
234
471
508
809
525
213
401
122
745
268
641
225
646
203
803
472
111
904
55
27
894
9
480
986
156
838
1
491
219
871
344
896
249
159
855
797
253
477
513
83
425
342
683
862
229
442
750
480
498
935
887
663
569
393
170
726
624
111
747
99
204
707
889
670
439
828
558
454
812
428
122
363
761
553
475
404
611
597
49
403
331
290
231
323
192
938
606
926
962
545
232
359
358
830
514
134
525
364
349
874
629
939
320
293
922
968
16
351
120
300
742
457
660
476
166
389
646
409
408
329
155
826
370
126
255
931
510
10
247
563
406
52
644
331
573
419
333
447
740
14
158
887
746
523
298
54
723
10
953
261
561
617
360
197
119
819
163
269
239
980
786
493
495
64
674
411
238
810
55
772
198
286
195
523
706
814
284
909
81
354
179
974
495
28
143
699
229
572
488
740
688
806
511
928
956
447
532
206
682
977
125
267
615
598
820
502
478
412
625
387
236
592
53
378
835
599
800
342
334
285
448
370
1
887
339
893
152
565
946
642
853
76
219
204
741
387
118
195
543
961
436
766
161
247
542
803
609
995
68
160
453
798
230
453
319
882
607
482
352
895
961
184
548
586
263
515
981
127
231
832
444
245
624
872
320
886
572
754
291
479
843
193
609
348
171
592
672
591
736
354
677
552
928
925
224
369
448
969
249
266
360
433
362
429
822
535
244
993
112
970
689
351
325
372
485
58
962
581
466
60
867
407
11
95
282
866
165
903
905
410
797
576
731
178
945
513
582
508
65
296
615
665
814
912
134
201
451
883
128
407
781
329
895
916
573
958
542
741
396
779
699
443
704
669
561
419
120
612
490
602
760
808
85
444
336
593
177
189
147
412
753
270
89
519
261
496
862
225
865
596
669
514
881
4
421
967
48
899
497
814
79
283
817
269
436
446
35
515
876
652
478
730
254
675
25
459
37
635
166
31
490
612
106
819
671
840
883
349
721
21
791
417
934
535
643
909
742
757
769
507
391
540
335
563
878
961
372
759
699
525
848
135
546
247
941
904
5
841
864
411
663
152
541
66
458
351
431
797
366
605
962
779
393
394
205
769
726
544
525
470
744
799
600
920
623
175
142
145
389
779
627
502
648
38
181
495
683
227
736
726
182
585
42
839
91
264
710
963
84
225
104
303
857
819
453
897
468
955
878
182
256
500
574
788
624
815
657
788
847
542
721
967
736
789
436
806
648
621
286
705
670
896
973
142
283
233
275
116
613
674
384
237
893
117
410
916
254
249
220
980
287
333
532
915
857
656
78
105
41
406
897
803
456
454
168
571
347
767
578
979
787
618
395
13
61
696
685
362
373
253
729
417
153
481
189
585
729
640
930
722
378
16
223
252
264
183
930
686
929
373
137
629
645
382
32
422
164
157
508
789
607
492
729
902
206
250
272
910
476
508
773
362
621
852
810
17
988
665
155
411
58
448
727
24
29
125
249
778
872
0
951
681
68
805
506
836
639
212
972
769
197
674
158
368
166
889
469
681
784
848
237
263
913
84
972
198
705
327
214
700
746
357
169
371
99
538
10
989
833
367
884
639
397
365
335
444
121
994
584
718
301
560
377
443
847
376
187
622
66
354
456
971
465
45
207
556
985
353
51
748
598
407
521
849
278
285
964
593
781
504
699
57
913
786
233
602
505
534
51
301
571
296
349
525
607
906
909
361
267
564
712
617
232
625
986
993
24
811
695
29
446
533
876
476
217
248
448
776
725
246
645
748
158
911
742
441
396
134
106
444
332
800
890
728
848
863
390
688
816
271
331
650
51
13
190
610
274
517
225
631
466
317
345
648
461
376
359
793
827
151
900
853
335
90
385
211
163
260
430
723
782
667
683
108
477
737
608
284
723
349
620
792
394
240
495
479
26
2
151
673
900
600
607
82
585
726
305
748
678
760
741
297
62
513
405
423
176
530
387
903
762
179
520
435
669
852
991
199
684
623
887
700
976
898
366
581
436
84
430
967
864
670
465
713
363
675
952
135
135
238
315
285
239
592
32
830
955
943
611
336
260
292
736
215
532
33
755
503
452
193
483
450
913
629
185
624
625
745
579
803
909
240
680
194
919
731
211
757
563
907
852
895
222
141
49
515
492
50
805
735
168
42
416
291
535
719
278
598
858
319
65
483
563
530
146
8
565
434
549
98
905
282
310
87
623
199
172
584
813
744
897
993
687
494
347
135
844
215
981
856
92
964
823
265
866
717
988
446
868
363
248
729
159
119
325
843
741
86
628
214
500
910
396
67
560
722
934
314
915
520
130
559
265
517
873
275
210
522
396
349
719
736
611
350
43
321
160
703
654
268
360
181
496
816
155
266
42
850
470
108
73
587
877
634
413
157
364
509
603
55
284
185
848
352
37
575
561
501
440
199
532
792
768
235
59
149
670
661
375
228
459
561
324
950
31
69
120
3
91
974
707
844
81
414
912
433
875
977
578
17
493
905
165
190
926
494
123
252
264
544
393
646
648
840
374
326
192
807
544
798
206
856
113
469
558
844
314
853
161
568
204
136
366
474
38
337
681
143
284
646
40
153
707
457
774
707
984
733
239
991
539
200
466
218
724
56
692
799
0
302
977
169
663
837
249
653
548
771
167
216
349
354
285
870
492
978
104
223
578
36
191
864
333
155
893
735
747
795
358
318
270
375
468
201
126
385
364
944
243
83
166
152
430
881
223
839
879
798
70
646
930
841
510
62
680
850
179
132
501
249
21
199
527
581
619
243
258
259
360
449
623
4
399
901
438
258
935
911
623
525
688
793
210
396
443
672
543
410
141
622
362
600
868
1
767
474
382
329
353
324
582
110
739
4
233
895
173
444
780
732
324
988
604
422
720
193
789
524
39
311
814
582
332
250
548
356
755
240
720
468
394
662
551
769
722
370
841
291
900
863
64
440
996
860
146
149
111
278
289
486
550
28
409
124
966
354
634
549
932
73
832
486
86
583
682
628
873
548
814
467
531
880
158
372
854
379
68
16
933
251
586
365
728
5
658
670
178
511
354
453
272
523
533
711
607
696
544
256
236
574
481
630
621
603
468
704
948
131
148
533
343
188
764
180
680
141
220
130
286
555
552
587
429
952
952
405
58
319
955
952
243
554
772
366
869
3
954
924
0
791
186
630
346
662
781
460
453
730
767
206
790
472
892
553
560
949
132
118
196
368
172
428
300
606
685
355
945
517
391
886
18
979
152
677
764
926
376
635
674
472
617
240
916
47
993
516
134
141
833
849
662
980
798
436
194
419
344
230
627
89
297
273
249
503
740
538
859
519
24
211
415
470
135
323
377
972
299
342
321
678
970
538
377
453
673
168
491
794
802
778
643
238
895
507
859
874
223
194
472
789
353
144
633
120
134
806
612
623
959
977
173
276
958
663
880
452
770
610
762
332
554
441
217
527
617
420
233
255
268
3
937
9
799
759
296
477
692
770
812
71
145
352
287
652
271
414
334
88
937
634
79
79
904
931
307
632
427
219
396
83
784
690
891
474
428
818
767
288
768
813
486
158
598
638
486
861
193
183
778
294
925
378
489
797
106
174
54
172
120
916
554
539
564
185
658
781
381
33
652
394
687
860
282
880
733
416
212
269
246
701
646
336
265
886
370
569
985
301
566
787
272
146
579
555
286
812
320
214
389
127
422
673
401
767
251
332
203
214
813
948
1
272
813
148
600
608
864
576
169
462
945
14
553
286
21
404
925
815
591
621
530
290
349
851
641
364
274
232
272
772
173
216
291
372
750
239
439
932
378
42
73
310
145
270
470
461
887
674
510
721
158
874
937
549
546
755
653
886
262
486
489
132
542
106
795
9
270
769
456
80
482
274
360
697
30
923
299
42
516
684
103
599
870
662
983
923
56
709
276
958
787
541
428
287
498
965
371
417
381
926
212
555
645
434
489
407
327
168
992
462
895
693
487
742
854
114
633
339
917
341
126
578
400
341
204
952
954
17
741
333
162
833
216
576
947
76
956
921
723
209
615
292
981
509
767
636
60
748
547
22
237
788
935
200
247
248
222
486
971
808
252
528
431
602
557
485
182
860
939
27
587
982
44
116
74
342
398
223
448
229
923
944
197
301
322
423
746
884
825
226
633
358
101
831
647
274
290
632
62
512
393
173
872
181
811
605
535
473
145
302
221
906
331
417
303
364
502
506
684
33
76
890
689
721
220
612
402
601
278
300
489
377
689
765
773
300
566
720
560
809
228
159
970
435
326
443
932
797
60
82
902
805
540
264
601
351
108
313
26
835
809
410
806
873
899
533
593
788
12
68
670
378
76
786
189
641
722
156
777
364
640
348
900
319
54
8
402
858
684
237
415
869
933
686
937
374
972
363
155
159
267
325
45
836
291
937
950
261
792
522
223
756
978
434
615
171
474
531
521
666
3
747
605
256
785
64
274
423
578
856
973
992
835
706
310
994
844
746
573
697
461
548
230
933
328
51
283
616
789
332
819
312
323
652
187
852
302
114
13
328
198
636
222
638
818
77
283
662
166
21
451
458
527
190
440
78
815
634
338
320
191
966
849
267
57
443
755
203
267
261
10
46
848
914
792
177
818
762
730
348
230
116
332
280
400
622
574
629
133
391
705
736
570
760
601
815
533
851
459
860
144
725
856
126
674
556
733
576
734
264
933
737
220
839
258
74
51
586
776
354
763
323
492
272
562
807
948
384
404
842
709
971
213
290
670
40
118
213
423
945
444
993
932
483
341
248
559
288
946
706
256
922
926
61
121
929
681
416
264
887
291
939
781
427
653
401
327
34
574
256
250
488
144
476
301
236
355
508
771
954
981
530
149
101
733
686
851
727
354
729
834
624
990
641
502
929
948
221
91
957
251
608
330
13
864
155
18
442
677
98
343
834
543
719
3
551
257
519
735
671
700
304
399
315
601
768
740
797
160
183
802
460
783
277
867
817
36
110
714
215
702
65
433
619
312
558
498
753
483
717
519
809
320
27
386
437
903
376
789
228
856
781
237
377
70
551
584
141
186
8
217
548
316
410
133
184
670
326
777
179
765
947
368
853
448
686
980
376
942
583
7
54
730
747
185
479
569
511
487
686
812
265
694
22
584
538
455
289
242
307
750
996
789
346
385
278
269
558
601
719
820
461
674
819
19
228
746
497
726
316
132
312
729
952
325
89
520
16
238
3
494
562
17
967
940
296
955
834
111
546
425
976
140
234
542
52
815
321
973
818
64
491
994
467
904
56
535
995
390
731
318
189
52
590
153
185
965
608
305
468
527
301
603
117
651
93
541
536
572
790
799
179
900
852
625
587
459
84
153
352
536
4
342
741
918
709
579
163
336
119
633
756
542
38
775
215
137
508
959
227
622
740
687
595
147
594
331
393
227
464
930
86
292
492
700
338
257
438
298
880
430
880
252
865
423
683
777
309
936
494
503
164
773
426
517
998
472
230
334
753
512
246
975
437
427
685
42
545
274
615
955
828
855
248
335
905
837
260
674
256
477
552
409
304
420
539
152
46
122
812
131
590
485
874
727
457
879
205
94
473
790
863
206
637
279
375
363
143
996
520
812
387
230
718
80
676
137
121
568
251
415
915
735
949
978
900
611
155
930
800
828
651
911
29
152
37
982
661
77
572
349
312
64
145
801
497
618
396
858
683
543
667
302
93
620
710
300
366
144
41
656
525
771
93
603
505
931
993
567
700
559
546
651
309
189
175
405
318
383
407
517
799
616
49
864
364
621
439
826
0
398
35
339
754
809
964
206
685
126
444
460
523
742
760
440
18
189
276
140
888
315
90
788
653
60
59
297
994
354
524
157
676
94
429
529
71
45
988
190
914
218
219
894
399
185
680
815
334
115
313
696
606
666
385
920
94
612
735
18
431
627
250
601
818
881
690
127
873
892
115
593
66
539
800
113
571
34
270
352
853
53
781
864
619
821
5
930
39
725
767
681
126
404
52
620
136
768
923
84
878
878
499
109
211
544
374
555
649
60
664
984
919
752
988
371
957
894
415
698
577
107
565
809
250
137
994
861
716
425
612
96
325
239
520
366
971
91
654
266
304
995
968
176
461
56
842
160
678
958
871
946
588
630
386
409
613
331
407
313
516
221
238
738
314
762
208
463
862
855
766
544
657
483
217
236
770
86
912
473
868
499
633
963
56
548
290
160
151
292
691
958
140
727
903
575
805
435
947
364
961
434
698
208
417
480
526
167
308
583
281
74
213
790
687
563
186
35
305
1
519
137
679
603
599
385
211
598
973
872
370
763
296
223
115
489
175
876
535
745
487
375
615
424
301
489
219
327
333
581
967
218
398
669
353
200
355
253
127
288
187
374
718
55
597
602
229
179
806
56
660
350
460
418
581
613
739
853
497
944
205
517
970
184
363
373
690
645
773
608
2
66
381
174
423
825
230
609
462
271
466
471
997
650
741
615
934
805
865
472
861
101
824
72
739
885
784
96
588
325
77
905
550
171
343
50
581
641
433
99
390
256
19
578
291
130
30
817
543
267
985
880
586
214
857
174
247
712
435
214
532
609
621
997
272
262
980
729
281
650
996
362
874
27
584
414
277
264
440
633
841
341
692
300
261
578
937
651
750
133
999
148
159
948
212
887
349
133
542
546
540
885
812
919
479
959
738
536
777
848
279
81
944
801
366
546
677
423
277
830
581
674
895
775
33
544
173
494
788
793
573
907
496
754
393
854
293
435
315
680
231
699
740
830
933
657
127
35
404
608
54
632
437
41
737
552
215
260
159
212
6
585
232
373
865
553
828
432
757
168
818
871
809
184
693
546
225
730
851
504
246
291
865
699
379
708
659
251
678
343
56
890
100
691
296
149
71
358
550
834
288
995
679
90
328
936
182
879
154
592
854
196
11
784
31
631
109
382
370
222
358
472
52
546
582
340
877
356
586
829
419
668
293
669
962
311
436
771
878
681
813
935
164
851
767
959
737
452
563
415
362
878
206
401
972
103
126
510
653
606
152
181
953
814
507
568
46
611
342
822
283
614
718
381
399
100
398
874
237
897
530
552
575
401
644
491
415
559
630
529
355
584
458
722
506
792
139
510
535
420
165
277
326
711
602
560
848
343
506
700
231
592
410
924
672
128
12
79
908
163
800
451
367
462
796
492
165
183
739
20
248
658
458
961
691
944
676
15
158
548
41
61
759
61
459
214
823
506
668
978
583
488
993
161
159
646
117
394
643
934
55
77
310
194
465
461
450
218
255
884
495
20
853
259
233
192
507
63
494
677
91
8
470
48
443
261
528
995
777
949
852
56
925
849
769
106
808
482
647
988
354
254
521
651
783
701
204
435
212
462
360
633
734
766
554
161
940
693
417
66
119
893
403
285
416
129
788
174
30
706
579
877
452
903
442
339
952
376
445
463
413
293
200
795
852
713
129
70
490
904
37
938
545
866
268
567
302
358
458
276
45
486
901
479
942
236
871
403
615
615
707
861
841
855
622
652
150
837
348
607
200
461
440
799
543
90
744
252
137
391
472
896
95
850
537
159
994
95
121
269
185
566
136
835
604
170
906
310
729
906
90
828
978
982
808
913
451
358
452
847
289
31
303
660
100
996
560
650
285
574
171
568
996
922
436
253
407
165
267
236
323
785
900
678
921
657
399
355
939
196
96
263
616
886
609
82
703
559
88
847
686
891
801
445
413
852
895
695
530
279
625
116
927
326
228
817
420
318
419
667
380
857
280
618
983
116
255
601
73
809
541
504
537
858
402
136
523
515
984
194
60
417
147
668
708
175
872
119
545
959
217
740
50
847
435
304
761
628
312
8
572
459
923
69
62
655
970
770
780
312
69
977
590
949
889
836
425
276
631
66
511
384
324
948
941
248
730
521
512
742
533
613
5
990
29
274
796
871
719
235
50
114
113
4
650
36
84
212
670
956
995
595
346
929
761
223
1
260
357
964
864
77
371
484
899
309
468
635
667
552
890
789
853
456
704
536
822
828
503
132
966
435
742
274
750
938
365
576
828
739
317
740
942
908
170
288
494
188
568
279
686
293
629
217
520
12
580
340
89
194
836
718
628
929
377
278
570
861
771
495
590
90
479
190
469
761
273
375
472
264
767
358
751
831
219
518
407
469
222
865
497
721
481
369
641
580
340
193
664
33
540
215
674
315
451
984
910
895
470
275
235
153
699
777
879
241
834
574
440
584
23
36
419
639
35
787
149
196
293
333
3
365
469
582
381
955
554
637
423
129
485
719
522
740
203
542
945
446
200
524
790
984
218
863
98
529
157
161
392
227
344
63
54
241
796
945
448
988
803
520
484
440
96
672
608
875
766
370
22
156
71
922
173
723
263
192
448
545
767
594
499
23
558
732
877
517
871
926
316
35
985
950
490
922
76
554
151
941
533
445
927
617
745
755
385
776
223
856
688
756
952
465
372
318
302
839
396
78
896
38
106
332
921
276
390
769
397
693
534
337
318
99
588
890
517
411
208
210
184
419
135
546
25
472
513
109
389
321
669
906
513
321
800
168
75
926
172
908
255
266
4
640
90
795
172
286
741
199
78
885
559
617
236
952
65
686
332
462
333
631
395
714
81
578
840
67
703
300
570
223
697
419
600
361
711
951
851
221
949
822
637
473
797
183
71
914
959
244
922
974
310
334
807
683
69
255
703
709
987
758
562
859
772
21
580
670
645
575
735
507
884
18
765
830
998
805
902
462
15
455
975
46
23
424
857
474
475
873
921
976
887
581
891
358
520
935
903
101
435
208
814
38
18
601
189
839
377
340
803
312
69
740
598
690
874
293
38
683
258
33
723
980
901
442
477
68
168
720
159
144
493
787
363
242
370
101
789
733
547
949
319
546
860
591
544
787
395
573
489
525
676
364
128
425
795
648
344
576
196
862
632
494
586
709
966
685
484
571
54
601
5
106
172
738
509
604
217
227
40
615
888
973
66
123
967
86
381
288
602
768
619
356
560
586
597
626
444
231
541
726
290
884
835
649
583
435
775
629
580
986
224
238
209
839
211
98
969
213
301
746
264
608
279
56
957
116
100
180
424
714
260
956
699
691
77
789
820
473
510
973
791
858
768
619
750
283
793
454
791
503
89
765
391
308
210
30
661
579
326
952
20
769
431
241
182
185
853
718
15
433
234
633
406
757
831
756
865
885
212
304
401
786
768
13
328
898
158
80
977
859
322
968
451
682
167
649
776
931
189
746
449
677
226
347
373
648
484
416
201
215
961
453
835
256
17
144
649
378
53
593
57
337
60
125
961
930
986
413
212
201
353
852
906
271
163
96
191
682
865
340
245
1
704
439
387
172
37
564
748
506
259
64
687
137
370
247
800
649
645
420
69
961
328
757
303
545
370
281
72
413
62
637
368
179
815
739
181
860
889
988
402
668
327
523
855
545
612
996
820
474
116
658
20
555
757
494
709
537
585
819
4
238
2
569
509
567
942
608
240
798
215
541
140
962
569
577
760
966
603
266
354
169
454
476
930
970
65
532
728
11
892
260
98
662
413
687
807
35
16
489
399
789
923
723
722
47
418
677
864
431
931
984
67
939
809
857
235
601
480
681
291
485
583
11
919
47
362
948
684
370
27
169
852
557
472
95
824
532
429
812
878
534
864
138
196
414
663
831
807
422
15
978
396
937
39
467
736
662
125
42
482
666
131
526
242
431
40
253
122
342
355
733
320
278
249
620
21
45
122
473
780
889
23
644
849
115
437
557
860
404
593
838
229
685
712
219
719
132
450
733
753
397
496
133
147
990
109
674
358
646
29
852
863
581
707
966
233
779
289
619
963
310
443
517
399
317
205
783
534
865
731
574
873
564
433
268
38
338
142
576
757
118
150
585
985
268
207
832
95
876
424
505
843
244
835
625
744
599
236
753
28
832
0
159
922
2
756
275
926
482
665
725
859
607
988
572
335
769
105
935
423
148
583
127
211
300
666
451
231
566
123
861
223
884
540
420
898
961
62
630
285
105
100
287
459
359
5
494
475
721
216
93
958
679
330
352
85
482
648
580
524
365
176
314
500
922
678
882
760
185
220
65
287
722
604
396
760
232
693
20
884
973
867
48
662
869
910
184
239
372
836
744
671
64
228
10
847
550
764
385
288
785
544
260
561
881
623
71
314
295
454
316
886
923
299
802
920
607
463
845
659
457
464
287
379
438
664
851
827
970
268
853
935
969
262
402
90
843
357
446
394
563
723
429
481
635
44
765
469
345
695
624
385
488
924
465
144
941
974
52
352
688
798
13
225
746
975
413
288
995
123
69
350
569
718
857
6
86
585
864
529
385
710
297
820
98
262
851
535
647
272
268
45
981
823
358
352
528
728
5
103
916
731
184
816
672
817
788
59
55
256
278
886
847
101
657
374
382
752
828
721
148
770
375
653
310
289
844
71
719
972
905
407
332
17
670
402
323
358
967
992
134
831
517
617
633
113
308
904
607
645
477
936
273
100
739
551
73
627
791
661
618
498
660
358
548
307
762
952
558
978
734
965
657
739
581
960
730
959
987
128
260
450
458
974
830
611
592
919
874
590
84
726
669
611
175
225
313
854
108
953
557
685
812
621
720
729
723
952
165
793
334
330
924
804
543
689
923
68
716
814
918
302
377
786
398
492
390
41
649
632
141
875
928
719
138
347
364
534
986
192
229
714
240
104
402
858
1
838
161
669
13
742
789
518
132
836
345
439
107
908
436
662
128
820
730
712
40
847
878
363
459
305
444
973
53
66
851
324
323
680
518
31
301
295
132
385
196
248
41
348
235
425
222
646
95
517
369
958
781
168
433
479
874
530
535
811
874
6
20
77
537
371
920
390
138
463
410
197
165
860
75
500
63
174
811
12
728
385
573
394
42
797
788
88
243
313
568
910
506
128
462
402
348
880
948
279
211
888
403
382
652
51
550
549
637
623
760
43
801
501
708
898
116
212
413
655
584
155
27
172
235
299
452
437
936
331
823
729
573
904
915
322
987
182
480
3
725
431
549
521
58
285
322
379
201
79
839
642
911
93
900
142
873
834
606
476
816
517
131
851
914
983
330
270
411
903
147
410
478
487
703
41
746
683
699
587
604
59
544
200
293
17
794
149
455
242
499
558
87
974
739
343
884
813
813
14
211
489
317
147
294
593
893
808
339
553
870
393
457
946
195
466
177
192
298
349
714
445
809
142
500
590
361
934
594
67
930
762
262
318
863
404
392
269
129
187
182
800
775
814
962
162
544
740
926
927
652
449
955
49
580
146
411
140
521
884
550
265
668
130
224
481
929
55
425
849
430
359
316
284
171
532
273
179
865
834
340
706
908
763
324
978
758
358
278
322
328
145
579
355
318
771
175
366
836
585
423
185
141
970
855
901
244
212
740
903
346
340
548
178
684
398
497
374
619
307
747
316
208
746
216
315
913
999
607
172
604
537
972
554
654
641
771
538
462
431
155
898
167
277
791
852
932
821
223
684
735
912
82
540
77
173
454
91
693
871
449
71
329
345
188
302
864
862
711
167
560
466
447
660
505
877
867
25
246
743
434
811
845
423
874
354
69
977
836
972
693
490
790
515
227
761
954
218
8
249
858
932
175
7
247
929
256
818
662
217
735
458
56
952
643
923
993
389
938
237
863
938
162
899
508
851
838
641
756
310
557
148
527
94
483
516
971
617
68
348
679
64
276
405
860
923
980
418
827
478
765
730
159
691
984
390
195
740
742
782
448
915
840
203
396
735
170
62
0
466
367
941
979
890
853
855
71
297
476
556
528
920
824
909
226
689
299
309
305
202
81
164
803
10
722
123
144
482
227
269
858
206
765
56
872
589
97
398
981
632
271
362
218
878
247
853
167
404
239
823
440
247
128
119
20
15
76
91
327
675
673
928
818
890
302
598
581
417
656
352
128
517
78
525
506
432
866
619
321
426
183
689
133
518
722
340
137
333
116
765
998
876
470
184
360
464
151
37
921
230
210
519
46
463
590
86
431
138
26
493
284
840
289
735
424
926
877
573
828
255
773
675
819
758
524
831
870
143
434
631
3
303
692
695
227
697
17
291
714
176
932
816
613
525
256
334
157
927
11
149
55
275
412
594
909
328
674
179
33
861
711
347
938
183
663
370
754
600
767
881
897
634
637
388
924
168
69
620
23
338
391
223
324
635
370
642
618
896
949
641
999
196
802
712
444
936
212
430
675
261
467
955
826
484
989
131
955
55
799
90
983
211
49
421
490
668
460
278
944
378
25
685
252
333
875
950
795
156
465
861
557
385
79
23
342
272
701
863
202
185
899
554
172
135
597
768
677
924
663
508
856
108
542
399
619
268
556
795
961
713
392
883
440
250
139
193
239
503
188
78
574
312
583
505
915
844
890
555
209
913
217
94
471
979
412
934
148
688
504
780
456
251
888
54
593
619
552
668
332
714
764
868
827
653
264
646
889
906
674
276
364
38
803
751
957
879
998
976
428
888
534
644
508
722
255
725
565
733
633
479
323
266
939
672
921
351
646
137
685
996
884
220
188
577
886
861
636
421
901
8
665
859
163
245
870
83
604
134
552
77
389
678
924
846
412
389
359
559
234
101
567
995
535
314
371
577
825
247
399
645
137
41
59
929
756
740
864
983
927
891
83
765
322
2
366
386
279
953
978
12
484
790
581
600
77
851
188
680
845
914
955
205
93
255
424
79
777
996
879
744
160
250
262
29
818
994
553
127
610
188
686
328
49
573
661
19
541
883
386
479
184
570
819
832
150
682
159
222
721
222
666
823
395
273
589
450
100
876
738
372
106
784
519
219
695
32
226
922
957
280
995
46
483
238
600
374
969
782
329
41
572
874
699
999
542
350
753
55
618
675
224
744
552
250
479
584
790
746
632
675
374
813
291
446
515
166
663
106
281
889
524
39
325
960
136
666
200
271
171
881
560
362
777
716
810
898
136
886
555
934
130
618
220
14
724
456
643
986
947
781
433
659
633
933
208
542
151
930
148
450
998
582
991
915
820
723
731
764
735
626
350
724
862
424
410
307
957
364
248
505
966
482
178
268
74
76
805
840
942
18
157
919
837
251
624
100
635
410
792
494
65
18
522
580
892
968
646
569
824
108
450
205
39
731
354
389
975
359
471
996
174
692
577
638
41
230
273
764
733
459
344
153
163
21
274
523
465
558
84
347
715
161
388
622
7
398
553
92
628
938
841
34
611
519
942
247
198
799
809
587
909
991
911
562
422
324
256
292
566
860
966
844
955
5
56
478
956
239
224
18
762
237
939
894
463
825
522
198
19
304
503
811
628
703
397
842
531
635
368
882
804
774
353
363
26
522
198
832
521
507
652
548
645
931
252
792
739
730
572
424
267
952
803
747
221
64
200
933
587
836
374
241
89
858
682
138
900
650
528
816
907
209
443
80
517
158
426
424
348
127
77
465
535
123
352
532
913
862
646
194
322
794
131
746
503
645
945
325
695
57
972
904
102
179
593
258
876
888
863
946
614
917
69
522
544
355
716
402
748
607
625
912
582
538
777
175
821
347
775
523
283
157
460
839
393
327
780
90
404
577
372
839
288
583
153
854
455
802
136
715
312
501
649
765
379
756
961
696
291
660
106
431
647
915
729
444
146
816
938
875
783
367
813
870
737
350
147
582
459
561
156
366
377
783
293
803
985
672
830
209
184
713
273
193
568
560
735
789
418
977
17
349
408
468
295
124
736
726
683
805
883
98
874
297
74
214
334
940
488
190
9
712
762
114
380
635
823
381
167
95
934
239
234
374
841
804
684
842
811
723
305
135
640
807
150
390
64
734
649
147
589
517
646
236
670
306
527
355
44
306
472
314
835
435
244
62
418
101
148
665
106
595
311
617
771
164
723
806
84
370
398
635
565
749
850
160
955
713
765
983
14
238
110
605
767
709
631
151
389
432
438
178
464
122
951
394
772
154
347
373
477
682
38
81
928
696
316
497
762
295
886
912
470
337
175
377
824
811
498
160
289
298
194
379
715
304
251
824
637
68
911
576
865
538
873
124
579
665
183
863
172
584
469
751
891
676
750
532
661
39
519
294
292
68
800
193
163
428
227
23
381
631
442
762
241
273
916
389
632
54
109
182
981
533
697
0
774
675
501
96
301
33
505
968
866
62
80
168
754
174
628
497
513
598
593
52
789
357
854
993
689
774
762
49
254
13
426
67
89
484
854
2
733
328
419
254
644
966
808
912
525
229
621
143
731
255
709
591
111
155
183
689
829
46
1
562
116
729
155
985
808
74
406
247
320
68
298
504
851
872
593
320
119
325
745
479
428
662
997
384
625
105
763
220
505
326
506
6
200
122
210
444
360
745
829
519
241
288
252
976
733
890
483
665
917
119
975
9
336
936
17
781
369
252
540
274
743
871
971
555
720
823
876
548
125
404
229
776
452
191
28
737
934
677
774
215
470
522
689
202
926
858
885
866
207
239
765
961
783
416
412
482
442
454
353
966
285
163
655
729
57
760
473
588
431
765
110
978
472
674
241
947
619
703
700
971
59
118
689
812
427
514
941
624
320
802
949
294
856
77
6
724
208
228
397
251
357
799
260
970
617
56
36
97
631
818
685
513
774
621
379
207
641
699
781
573
72
22
951
307
283
148
787
65
454
319
170
340
764
741
241
753
428
859
402
545
671
392
464
715
739
20
515
872
137
631
883
450
213
764
186
761
477
263
497
176
383
888
255
523
305
34
544
92
177
655
715
330
171
134
443
484
110
18
802
257
949
601
732
427
658
509
818
600
393
298
326
187
102
696
73
579
530
122
784
846
717
964
485
384
308
893
530
857
71
231
127
10
76
622
4
127
496
5
530
105
714
164
905
577
906
698
631
279
119
284
511
200
67
451
193
101
48
982
724
799
422
667
91
804
565
450
524
959
826
762
921
61
622
389
229
650
568
221
184
961
662
959
695
335
966
12
623
393
682
277
687
720
925
515
935
246
543
563
309
772
681
756
720
633
651
624
686
834
930
535
724
122
410
545
961
812
183
827
366
26
751
134
75
344
319
542
149
779
355
745
759
980
55
901
384
488
750
900
178
864
915
308
831
556
501
50
104
229
422
656
236
572
122
572
915
852
909
207
155
586
507
311
757
324
256
0
648
231
152
556
275
920
616
469
220
785
514
672
764
465
851
303
859
922
747
365
665
327
126
323
480
535
26
927
291
70
814
815
566
338
54
922
526
602
822
56
396
693
937
293
605
987
913
253
676
612
33
170
551
646
157
293
557
297
523
761
834
256
27
969
395
112
326
294
504
79
256
106
499
685
238
914
482
753
765
778
907
827
214
828
822
747
193
510
639
211
670
540
888
152
296
274
910
261
62
273
889
200
81
193
900
403
275
578
464
925
958
259
211
584
802
798
80
77
50
445
541
668
813
541
977
579
498
87
895
49
77
669
592
726
679
47
297
419
572
953
722
252
219
320
505
363
117
583
192
689
91
437
191
31
34
815
44
23
60
382
20
678
871
818
535
659
933
495
319
717
672
303
595
817
18
622
957
815
490
690
211
869
348
131
787
205
927
301
486
175
49
288
899
449
202
925
330
15
18
908
313
591
5
433
25
698
152
632
337
91
386
419
816
558
8
962
662
865
110
35
471
191
563
864
896
480
544
758
101
854
697
592
496
353
89
288
352
954
90
8
872
368
258
371
732
845
416
866
540
547
651
241
637
120
312
906
299
589
44
12
703
525
325
61
649
816
610
347
185
760
563
973
910
482
102
969
153
777
108
942
727
6
165
65
282
311
577
358
757
498
927
17
488
783
140
15
346
876
121
327
921
774
879
781
124
366
595
70
580
474
198
542
402
144
695
244
416
443
834
319
819
652
819
262
774
725
37
903
256
964
740
197
921
589
403
219
183
92
895
813
569
780
148
357
107
95
482
70
227
79
248
850
27
351
435
139
71
984
732
25
673
391
221
204
394
895
168
912
869
252
126
647
901
798
245
414
767
878
834
87
905
411
79
795
98
600
536
381
504
715
532
805
932
185
500
363
350
265
367
240
504
970
528
59
438
148
372
190
849
616
779
887
591
883
489
918
189
693
70
560
31
737
260
802
233
110
780
905
296
584
795
467
621
827
177
569
824
57
951
714
171
661
117
433
124
181
979
317
978
194
475
51
911
433
349
516
581
574
804
314
279
402
324
285
17
420
895
215
461
878
298
419
634
174
498
378
393
815
103
90
173
66
371
137
184
509
112
831
704
751
817
843
570
167
403
324
811
189
161
435
350
300
210
939
927
849
518
328
530
58
314
884
849
598
951
24
166
647
878
237
719
866
565
100
316
987
769
455
280
612
381
335
527
285
634
844
680
746
277
903
789
117
779
264
773
382
738
168
528
522
645
586
374
440
570
15
551
456
523
138
186
451
442
944
692
218
41
71
660
167
442
835
730
660
63
593
421
321
654
689
26
260
28
510
217
691
529
461
158
600
221
707
174
189
197
714
235
511
799
531
690
293
812
239
273
682
814
721
481
659
687
893
370
758
600
985
95
914
952
400
829
548
870
918
675
732
938
820
389
359
988
584
636
865
158
297
267
826
718
306
873
821
302
692
60
357
78
414
576
481
431
620
273
914
695
81
630
449
28
680
209
278
245
675
63
12
321
259
359
806
878
510
367
551
587
819
464
505
152
842
398
944
761
295
203
298
844
286
138
217
650
199
225
693
434
711
271
788
324
741
848
857
791
187
67
244
153
99
230
490
44
106
481
803
272
49
7
480
392
112
924
186
165
837
707
727
329
174
57
879
792
232
818
904
416
163
368
293
137
930
851
473
309
685
980
667
398
64
209
917
572
201
823
667
352
106
806
704
147
208
911
514
981
311
236
265
519
818
119
855
233
151
791
161
976
524
968
970
913
838
111
852
189
48
825
610
267
184
571
197
896
359
690
466
459
639
982
348
838
991
776
854
900
586
910
535
19
761
623
23
271
856
673
526
789
601
337
159
604
839
605
501
297
326
38
134
550
325
807
163
601
394
552
286
12
265
75
260
262
635
895
392
242
463
808
740
924
24
976
758
990
977
935
911
256
169
884
873
987
952
912
910
919
223
426
244
679
182
126
766
558
184
893
6
289
641
756
515
938
436
116
934
628
171
14
206
40
197
650
597
452
127
597
266
633
434
944
832
270
290
129
965
767
876
464
970
29
942
251
315
754
719
649
908
831
759
568
65
292
9
517
499
829
823
948
969
26
605
822
138
768
691
663
472
613
681
583
821
540
493
825
127
724
69
910
480
573
174
551
954
73
313
902
542
277
6
869
214
788
127
156
854
560
516
905
168
376
916
331
120
511
493
185
331
515
300
254
636
906
566
865
214
498
34
281
156
846
25
244
548
63
599
433
699
745
841
494
600
528
38
150
41
142
290
916
589
484
315
606
184
539
889
428
800
839
375
614
563
536
102
338
64
566
767
48
263
429
13
435
820
572
779
271
618
514
945
511
89
63
902
307
777
400
227
731
26
89
358
149
47
639
553
721
608
514
704
921
145
813
290
846
554
858
810
793
834
413
448
964
60
686
641
921
378
909
495
365
463
43
650
604
105
130
302
417
643
927
964
417
436
344
281
387
216
90
243
734
491
590
960
403
652
188
613
576
630
755
903
882
923
165
870
483
169
200
146
812
911
506
480
912
919
569
213
776
337
481
179
778
427
66
10
532
641
394
575
785
514
901
220
159
726
310
484
544
588
73
616
752
359
878
236
388
737
317
107
498
290
107
201
21
5
601
132
211
439
627
529
839
120
255
911
726
952
749
996
947
345
457
54
395
137
629
184
461
635
36
456
426
556
785
29
286
463
608
559
31
842
801
986
20
884
366
946
58
850
655
490
783
627
339
793
155
732
187
99
258
502
493
584
954
606
440
211
382
731
465
592
484
917
933
700
3
100
945
457
258
873
226
42
471
239
997
54
292
547
785
366
235
909
989
474
960
977
453
177
528
629
298
485
951
707
950
585
696
982
343
341
125
204
463
485
888
748
442
294
726
191
212
780
515
447
564
957
16
289
147
330
208
104
318
581
669
278
901
447
658
134
351
680
923
932
128
868
948
456
139
577
385
678
603
487
22
285
887
59
726
700
949
352
304
215
356
653
455
519
393
533
225
733
260
927
418
157
804
959
416
378
760
339
168
386
778
840
173
468
9
737
591
460
259
861
713
442
152
628
498
779
556
450
190
177
442
251
106
841
131
632
628
14
96
395
840
504
715
851
481
336
687
738
441
808
410
171
248
453
717
728
136
858
40
413
497
183
356
70
459
759
10
798
281
250
862
892
291
725
884
74
304
592
82
595
799
705
396
545
689
510
194
804
218
76
951
195
164
497
325
132
320
275
863
177
413
873
678
258
287
384
498
263
560
580
930
976
242
404
41
764
8
278
168
452
287
827
162
536
889
826
367
388
519
276
785
41
280
238
620
971
659
35
780
858
638
647
541
887
787
284
200
947
734
914
549
269
864
607
887
550
120
600
543
894
730
321
485
279
19
666
457
238
548
517
120
655
201
500
840
580
909
593
478
378
520
167
668
532
611
78
543
178
660
947
874
721
327
129
371
474
600
994
959
913
872
802
365
45
838
474
93
912
131
46
512
408
790
100
898
786
782
80
967
284
400
380
420
170
430
509
192
619
293
209
935
22
95
992
546
185
538
845
125
417
17
20
7
530
11
585
306
534
582
173
73
349
279
988
95
795
823
894
69
684
434
273
423
62
15
311
94
254
756
27
7
57
489
766
375
292
945
4
81
976
999
74
769
68
316
173
290
678
272
427
246
677
940
28
812
367
301
984
211
207
111
409
682
637
710
946
66
160
160
292
115
434
415
468
159
739
72
235
770
407
252
817
717
735
751
565
253
774
524
555
420
909
721
213
478
310
869
953
141
591
890
153
571
52
281
387
136
538
690
363
998
895
913
431
258
479
826
366
457
792
172
888
725
530
947
748
705
875
563
207
911
973
202
979
541
268
3
766
556
677
698
762
886
968
163
217
201
880
931
229
198
317
519
515
675
228
978
702
294
585
199
402
301
533
616
8
923
303
628
765
296
329
342
176
32
62
606
216
863
40
584
837
56
604
871
487
285
537
939
832
390
677
270
414
644
261
621
314
225
789
797
936
347
154
420
962
578
55
228
172
645
517
768
583
783
136
849
131
186
476
84
882
457
678
39
769
225
982
162
667
80
954
910
867
365
284
333
318
251
742
621
56
630
371
679
648
529
763
380
106
810
177
597
696
406
82
272
72
737
13
724
999
363
923
244
596
361
880
456
375
576
701
326
293
164
345
158
130
240
11
877
241
405
329
499
699
372
221
423
436
334
178
933
936
39
828
502
564
818
169
197
898
598
292
625
41
847
625
695
548
79
920
380
404
504
496
764
984
587
436
765
707
652
770
161
814
932
634
957
856
235
358
767
833
254
816
118
390
871
820
475
795
685
601
594
200
301
485
749
534
417
601
696
623
653
546
42
15
543
207
861
487
230
383
517
546
284
189
634
741
571
545
16
891
157
261
308
29
292
844
70
851
900
30
650
891
222
679
200
324
14
431
465
584
525
533
607
618
357
206
994
696
42
555
236
514
946
392
964
731
704
820
947
749
608
80
747
966
702
160
733
210
990
923
593
130
934
783
27
450
189
572
185
597
77
821
493
818
876
38
245
710
669
227
301
765
902
870
222
937
626
600
936
476
189
41
119
574
473
40
11
633
221
815
534
570
860
709
648
129
788
242
845
301
656
947
659
154
900
141
88
412
94
985
146
254
351
773
553
12
628
659
142
328
346
160
776
406
366
867
125
465
848
330
24
329
291
94
934
779
51
935
223
739
260
549
877
456
740
899
618
164
580
775
925
342
335
478
495
478
654
79
341
737
387
686
101
919
355
75
302
191
670
101
682
196
293
558
116
14
61
542
487
671
69
988
448
926
652
902
167
348
217
940
435
471
254
115
71
887
557
835
321
567
293
97
811
492
509
311
729
960
666
368
910
366
807
589
329
90
39
35
909
996
880
979
473
889
248
498
23
409
827
29
853
738
812
149
668
83
781
683
604
840
121
896
187
610
345
58
201
925
891
695
541
467
425
983
139
821
76
471
863
410
717
490
599
79
580
843
424
461
349
535
436
381
317
542
373
807
292
574
439
510
824
602
688
890
111
137
96
185
294
389
742
634
769
447
159
438
551
906
489
412
656
872
411
814
499
811
297
473
409
590
974
78
839
700
142
893
721
487
697
350
928
324
953
672
147
357
903
317
986
177
773
658
984
408
313
184
202
669
51
714
817
813
25
729
824
319
537
295
34
435
698
942
520
227
168
408
29
792
685
392
766
187
667
356
298
115
445
890
656
324
56
357
635
831
248
501
548
900
995
755
47
331
325
481
19
402
149
249
687
13
529
58
813
456
574
380
230
413
409
981
653
658
472
516
394
330
408
719
862
647
189
385
302
80
663
710
953
478
547
910
411
813
255
657
43
437
931
923
736
146
409
958
464
267
809
919
442
661
997
705
143
30
591
706
545
902
844
466
961
522
993
277
140
3
544
677
891
190
68
999
708
624
955
824
869
662
484
679
23
447
884
185
438
767
295
58
123
649
432
347
0
116
616
802
751
495
832
436
407
751
92
147
55
805
186
590
368
6
991
253
873
776
400
8
704
151
671
817
575
769
629
931
749
306
990
789
123
31
854
875
206
412
428
475
26
306
10
319
327
641
699
346
388
102
802
17
802
489
245
338
59
545
823
691
372
231
41
705
493
357
719
810
624
118
898
882
524
907
537
256
144
867
730
575
342
847
671
614
708
24
505
451
891
612
824
334
249
933
137
307
111
468
376
481
584
541
549
205
288
646
435
242
746
104
180
348
647
938
17
833
985
221
254
449
323
431
798
338
163
885
121
186
495
135
148
859
775
322
602
272
25
242
762
14
747
898
12
833
152
996
671
908
545
792
718
579
423
740
648
580
617
465
361
283
206
351
964
232
942
683
836
385
222
81
553
774
419
135
106
706
448
650
501
405
517
515
121
361
881
843
324
915
896
121
190
989
522
68
806
47
97
818
429
23
947
985
943
971
523
181
781
878
392
911
89
73
832
609
867
150
513
743
466
967
838
252
189
394
65
372
338
945
941
736
382
510
415
592
861
949
823
58
30
422
55
236
734
522
759
280
592
160
721
618
409
968
341
796
313
77
795
530
977
751
417
911
35
408
758
596
875
283
950
914
64
182
357
723
413
908
753
74
681
965
889
275
44
836
475
554
401
719
347
822
7
701
542
338
289
304
869
4
54
971
437
94
37
951
737
604
762
689
34
877
881
308
75
927
919
10
417
949
44
820
480
844
214
888
684
890
144
733
948
653
980
367
138
468
848
276
434
349
495
691
939
592
993
422
60
170
943
324
473
424
957
534
25
276
32
883
144
55
999
824
877
949
711
594
447
670
660
663
301
784
264
35
417
976
844
342
344
311
490
858
41
939
240
303
302
451
275
166
543
986
755
923
61
99
740
751
722
494
221
981
612
518
301
920
521
346
660
320
297
350
216
645
322
47
276
698
298
127
369
999
465
4
887
734
228
672
535
861
223
514
746
294
850
46
341
243
812
471
391
755
522
463
552
670
169
679
864
424
224
307
368
996
797
840
266
230
32
330
762
536
643
827
368
872
439
410
223
864
408
43
868
738
3
318
505
904
570
33
42
289
888
204
155
850
145
439
497
451
946
963
336
750
402
992
571
753
161
271
936
189
453
686
418
638
527
860
754
487
414
295
804
939
52
351
133
158
278
55
558
463
753
367
629
605
703
610
4
683
197
670
673
668
170
84
885
712
178
941
833
22
115
261
823
274
951
579
405
55
33
780
263
100
707
89
116
950
966
916
309
921
77
651
297
61
920
734
327
431
840
801
555
458
997
446
368
574
880
726
472
875
728
43
496
40
406
867
5
448
124
358
912
718
192
733
53
364
122
175
995
215
744
203
892
385
910
237
305
515
852
580
473
454
842
580
316
320
320
870
237
282
117
203
177
531
570
752
949
605
863
4
529
618
503
629
949
227
319
331
750
673
555
856
322
486
266
277
264
641
605
6
831
533
587
102
175
778
905
933
777
874
134
302
233
514
872
829
565
211
228
757
365
403
771
806
426
115
122
733
851
939
427
255
988
338
528
246
456
420
202
871
467
16
531
870
246
805
60
987
577
606
68
605
555
162
181
488
545
450
333
529
155
455
363
485
52
658
735
308
494
265
909
861
738
194
91
774
731
959
790
658
598
839
670
104
411
514
707
970
210
972
87
431
222
840
68
493
676
144
62
995
478
674
451
972
260
745
450
146
739
32
704
51
146
798
588
923
333
70
420
385
173
936
57
644
970
195
25
4
168
364
437
780
996
951
27
657
871
387
508
751
686
950
315
436
34
947
55
538
820
940
88
650
267
691
879
111
34
663
132
726
887
607
354
747
498
15
414
373
319
806
539
766
163
759
502
97
285
242
41
144
45
240
740
126
278
777
201
709
806
284
23
398
591
312
911
554
754
361
330
517
373
256
917
327
238
976
781
669
698
578
910
936
441
863
885
136
54
956
303
297
893
330
384
345
457
693
815
843
137
904
239
44
279
238
642
801
315
335
729
551
391
569
639
10
70
305
72
975
454
303
157
300
389
112
928
902
84
99
185
346
738
877
859
974
752
623
207
56
679
922
454
748
296
631
859
704
473
838
846
970
572
647
475
743
729
608
789
849
719
634
872
324
91
844
136
828
772
301
811
916
58
93
851
158
874
155
297
105
541
276
123
261
73
760
359
387
179
775
290
905
404
778
533
278
44
868
778
248
726
505
454
989
355
195
215
921
463
949
105
473
982
266
983
178
562
298
220
212
640
453
155
448
957
31
64
634
875
489
896
905
317
442
930
216
789
368
196
819
89
533
793
395
772
394
757
639
441
186
610
591
585
543
638
886
673
720
660
577
106
476
603
249
374
773
850
112
935
339
342
457
336
725
398
606
658
141
76
609
132
44
535
409
563
970
953
924
835
216
794
242
707
705
261
702
225
435
186
829
776
117
693
902
447
535
269
705
203
628
131
325
600
314
127
504
900
167
775
635
593
874
194
739
634
621
787
478
716
530
970
859
378
407
872
496
385
103
990
543
917
492
351
229
639
230
152
868
698
166
422
152
628
436
6
94
580
457
975
734
538
926
482
677
213
686
499
726
477
116
456
391
722
679
438
284
562
437
392
247
681
164
568
194
442
289
103
845
429
580
214
531
721
337
329
634
203
486
898
76
19
764
38
651
84
926
664
543
114
18
394
527
865
224
174
923
406
57
804
837
303
276
312
394
65
738
215
92
397
22
11
677
587
368
830
3
393
814
163
101
325
566
607
250
19
26
202
235
988
520
377
6
230
169
838
622
675
115
84
372
667
890
455
107
727
43
119
689
687
775
549
17
429
420
862
43
307
671
585
499
643
404
174
570
20
957
326
989
877
621
325
486
992
299
537
358
846
36
846
294
50
973
377
615
248
286
334
112
117
571
846
328
533
886
247
833
926
117
311
634
281
316
444
945
876
47
728
990
480
450
12
203
769
137
880
477
814
916
890
54
508
393
514
492
860
105
324
484
637
253
986
750
410
41
727
471
378
853
770
267
773
831
773
688
59
477
312
848
889
125
657
369
872
797
766
326
832
901
805
938
804
259
830
139
266
854
468
236
803
478
718
690
479
37
6
218
534
282
422
204
289
966
349
183
947
532
342
36
238
729
125
13
667
679
693
892
488
619
647
16
276
690
410
308
521
313
855
575
830
305
267
803
781
872
467
59
940
378
464
740
685
880
586
928
595
414
556
179
479
966
420
319
714
394
834
524
508
391
42
985
476
767
805
208
490
642
962
779
849
945
342
353
631
286
649
78
911
564
799
809
481
638
923
189
768
456
490
217
431
739
6
424
840
772
243
982
744
758
886
35
642
862
955
657
361
848
562
195
983
92
825
734
160
508
13
644
510
519
467
580
61
816
26
786
0
326
159
606
27
735
471
504
554
521
394
507
816
662
223
248
24
382
369
422
55
756
766
254
372
795
550
262
146
113
167
185
423
683
692
142
884
711
57
29
837
244
389
888
768
867
772
54
62
459
740
582
217
641
669
997
628
384
335
244
126
348
250
282
423
605
43
971
78
717
920
469
134
162
75
602
45
637
472
801
95
616
759
270
526
813
476
761
221
229
735
144
28
896
64
397
530
431
96
605
506
267
962
593
38
338
594
727
671
364
423
766
163
856
949
251
551
544
553
92
732
731
997
297
945
651
436
685
222
640
487
700
478
182
349
304
593
949
41
958
77
676
84
198
858
202
962
756
554
323
780
787
202
670
147
746
798
858
272
184
440
763
136
798
948
362
282
201
449
395
4
237
323
764
433
134
431
606
638
310
597
820
476
99
489
6
663
531
925
735
670
602
618
441
622
617
943
7
668
715
732
605
844
243
752
569
308
323
949
658
884
19
999
316
646
787
114
39
643
802
969
156
655
194
831
605
247
909
451
858
737
659
280
740
653
974
31
918
28
891
183
281
738
77
969
962
723
209
613
472
542
817
365
715
844
364
366
462
439
580
612
797
714
381
478
235
773
150
904
773
420
984
260
671
580
582
556
779
485
668
950
55
279
669
253
791
693
300
585
975
366
144
630
176
18
513
870
612
563
669
224
704
703
964
341
962
801
348
637
492
61
992
585
75
36
813
655
695
175
454
591
97
703
998
974
750
589
52
372
853
784
827
768
350
37
315
258
492
160
736
431
180
166
939
579
651
420
735
624
94
161
660
145
154
14
456
406
432
533
578
601
506
249
117
629
749
137
42
668
604
4
278
150
621
329
577
335
352
561
513
148
71
500
222
247
247
671
979
826
472
961
187
571
785
134
853
633
575
584
256
846
852
827
747
366
660
521
990
754
440
834
688
848
831
610
759
571
19
759
565
449
932
164
736
777
255
218
215
263
886
481
563
385
504
314
358
229
352
523
363
231
299
852
239
876
352
412
70
739
766
50
134
677
420
802
523
95
675
915
257
491
88
708
90
280
859
257
366
799
435
796
667
436
851
606
904
753
793
602
995
423
109
454
161
871
391
806
763
996
855
858
683
285
521
278
549
459
561
869
627
615
181
462
166
654
948
495
12
452
845
612
586
810
682
856
647
473
784
580
620
457
432
307
990
286
367
850
598
32
479
154
371
182
992
862
995
215
920
112
331
646
602
647
408
514
275
348
384
484
724
328
484
289
718
480
380
413
779
34
440
633
879
924
334
882
187
958
175
88
757
90
559
417
897
598
791
563
392
523
413
441
455
322
162
63
952
50
466
446
368
762
20
30
278
800
120
554
676
401
302
448
149
227
901
918
131
780
566
799
462
76
876
827
49
150
809
128
639
215
427
878
778
972
621
990
348
457
729
871
179
798
56
562
264
339
745
34
564
735
807
321
489
331
887
945
685
464
248
441
873
752
676
115
919
605
387
147
211
406
223
405
723
604
494
706
84
660
126
15
446
32
246
450
797
380
720
768
207
756
155
2
944
7
701
187
740
982
779
460
219
104
239
61
157
438
427
140
846
761
309
526
918
293
124
123
413
932
291
33
447
233
129
161
89
238
754
182
554
978
590
904
586
961
326
930
566
103
64
133
667
990
675
833
920
55
640
339
394
104
4
839
491
593
458
310
914
4
649
989
963
257
702
317
924
18
723
654
601
876
47
98
966
755
620
867
812
117
454
457
740
317
349
436
249
637
327
57
302
801
143
11
162
231
865
670
796
972
993
360
348
623
725
709
149
246
602
700
371
632
23
936
538
806
472
808
715
463
72
66
237
635
281
854
794
744
879
418
271
439
760
786
485
240
666
434
534
67
656
423
243
267
57
581
748
784
9
581
712
465
218
315
702
31
277
873
683
783
820
486
903
869
794
524
818
485
409
938
494
705
446
109
727
467
826
472
958
570
392
975
635
863
139
450
284
40
392
179
14
904
438
148
134
965
754
543
485
415
178
602
633
44
706
990
361
746
535
575
529
707
164
730
836
157
566
628
305
726
328
949
113
483
966
306
51
537
949
255
753
393
895
167
626
164
239
557
713
306
517
732
842
322
6
42
141
942
742
479
951
240
220
318
372
242
663
619
415
190
56
265
531
726
74
790
507
693
290
504
98
259
196
374
494
753
968
807
670
369
621
905
33
340
322
525
298
896
894
214
785
258
2
679
359
140
887
827
435
506
310
516
194
947
189
259
168
3
822
119
173
572
880
745
104
958
37
936
919
530
573
96
713
804
913
907
295
95
31
906
303
685
214
964
110
417
702
306
330
752
26
903
546
187
216
309
11
791
408
305
867
330
517
304
874
640
314
803
335
72
251
305
19
716
490
77
341
546
778
421
356
374
27
423
236
917
925
376
599
668
170
255
207
230
504
185
155
597
471
49
20
149
423
95
837
217
305
486
63
194
393
336
629
283
388
492
592
207
524
93
833
2
75
76
415
841
301
372
194
768
100
216
866
797
860
155
27
826
776
601
192
585
650
742
750
767
135
834
971
161
754
33
361
555
713
971
338
218
847
395
590
618
209
441
716
673
305
120
758
51
300
783
48
973
406
211
859
477
672
571
373
502
79
891
723
878
40
593
20
360
370
511
471
26
466
444
87
954
444
413
712
62
350
548
930
559
51
472
71
105
455
179
261
547
418
23
81
265
173
464
739
733
219
923
590
285
783
770
160
604
11
159
566
520
402
925
757
26
682
603
421
787
784
554
853
521
664
560
373
631
132
551
288
440
142
233
795
445
689
591
71
834
524
622
137
527
793
378
856
749
600
233
74
17
254
905
281
22
177
84
905
600
88
149
900
229
67
379
490
140
474
33
392
357
556
34
956
470
970
735
487
160
862
636
991
641
715
686
666
561
16
457
943
835
855
376
705
392
689
448
587
178
568
686
471
294
794
506
719
373
154
985
981
165
394
441
93
567
654
1
638
245
322
230
844
117
161
602
697
160
788
357
505
310
122
860
690
539
214
891
329
155
116
117
933
371
285
731
794
491
761
39
211
243
923
998
296
729
803
422
912
513
265
384
269
412
715
741
223
37
173
529
728
498
92
24
122
344
883
632
262
248
151
450
550
670
137
86
49
517
767
544
572
745
276
339
444
963
594
387
540
581
509
593
653
849
721
371
70
565
401
53
29
165
33
501
687
652
330
939
370
260
881
753
285
880
56
866
871
870
863
211
607
350
162
453
74
735
200
562
336
664
195
960
199
150
490
425
426
37
172
888
152
588
444
294
341
441
901
369
443
378
225
972
808
68
448
559
63
146
424
476
133
31
935
900
364
714
963
49
559
435
63
528
406
715
851
78
927
487
997
851
714
508
484
865
268
74
555
855
165
706
754
338
44
396
941
807
319
885
457
4
54
362
986
598
746
481
403
651
845
219
74
276
305
268
738
601
861
702
226
247
327
938
865
156
415
971
133
876
405
262
439
972
300
282
979
711
187
815
522
226
915
570
929
54
900
272
829
485
306
324
630
368
619
192
854
507
240
329
50
607
965
226
487
278
109
579
365
34
888
82
625
743
697
134
697
372
402
390
901
476
75
429
904
42
821
647
268
983
285
14
115
19
120
254
288
711
126
780
43
527
890
765
31
124
910
562
148
907
415
227
792
178
599
989
508
74
999
331
881
836
577
999
130
429
17
693
588
219
227
530
365
971
520
154
555
51
825
80
346
638
188
691
536
800
958
905
123
516
473
679
757
976
936
414
201
335
140
926
197
319
61
280
57
736
791
903
326
249
792
944
758
989
909
56
330
402
323
440
574
530
536
682
922
652
713
736
691
888
567
562
529
261
435
398
484
439
269
79
517
218
631
661
927
714
168
261
943
278
28
337
164
692
821
376
121
852
895
121
844
504
532
126
5
515
598
622
194
149
316
292
663
393
727
154
604
650
664
995
870
59
739
300
44
63
465
234
884
330
439
3
338
565
593
233
407
630
68
865
985
800
322
778
61
906
991
113
967
946
581
332
168
78
331
266
198
421
404
156
87
841
354
21
177
123
553
296
996
195
122
288
256
616
844
831
746
380
57
118
136
587
887
519
950
404
19
448
635
275
307
471
762
798
302
597
608
679
501
193
620
429
705
79
849
940
404
736
620
167
335
794
527
929
841
994
234
673
66
3
787
580
302
939
855
696
676
372
166
835
68
915
771
974
816
394
899
442
776
779
456
767
662
549
927
151
684
650
887
636
783
797
327
995
771
390
782
323
663
31
883
836
163
81
563
563
822
291
523
341
348
583
21
367
565
550
39
103
503
826
904
554
606
833
559
738
327
703
598
414
725
53
300
266
396
702
355
301
303
721
630
673
173
187
322
472
975
5
806
37
829
56
58
243
296
506
853
600
181
161
543
274
307
725
694
261
10
692
862
754
660
338
720
825
936
889
997
985
756
207
432
221
926
526
141
769
785
602
373
966
121
529
744
819
657
570
847
589
478
541
410
567
652
609
594
910
35
804
171
54
505
827
437
211
499
156
825
421
696
821
44
258
888
839
119
429
638
796
512
89
502
452
138
157
705
545
877
866
342
817
371
508
879
212
867
862
255
398
901
170
28
738
570
719
482
768
15
696
399
901
424
788
411
501
950
339
915
535
307
218
489
682
505
702
404
785
9
235
286
738
162
974
742
336
425
926
340
331
96
356
243
612
305
218
43
924
142
122
563
194
308
201
439
659
320
173
492
629
152
294
1
607
276
290
307
207
521
655
431
273
951
716
256
90
146
982
732
229
792
711
836
121
291
586
554
158
354
580
887
474
920
957
456
279
203
589
809
155
22
40
850
418
751
154
306
236
342
35
973
210
508
864
696
974
689
893
449
933
586
319
967
400
794
722
881
896
192
394
164
70
770
846
466
341
391
453
786
656
621
132
256
507
399
284
404
454
177
809
130
676
577
223
229
418
921
708
285
132
60
734
837
436
553
279
349
579
579
394
724
950
102
823
835
678
698
930
58
795
283
275
269
235
485
964
140
725
555
30
670
623
406
826
14
550
963
402
375
487
361
904
892
728
490
994
441
315
676
396
943
188
406
293
605
563
642
978
473
941
494
99
15
614
153
636
582
252
172
217
476
546
338
264
541
65
95
200
310
25
329
323
471
211
992
194
326
431
327
889
844
195
696
467
21
847
618
622
668
661
60
739
480
78
419
619
410
862
768
346
575
677
751
612
816
858
930
94
198
402
664
21
139
414
419
728
598
605
715
160
654
527
815
361
380
867
525
92
856
782
298
892
649
600
608
431
389
336
911
387
903
723
501
418
639
650
739
284
680
643
105
522
971
797
414
387
64
723
137
703
272
890
839
434
575
90
497
918
940
616
709
801
317
854
332
981
357
69
479
189
41
485
127
854
797
190
83
523
987
537
333
414
5
966
84
612
453
91
343
159
927
878
224
276
283
683
803
648
265
362
276
772
656
284
572
212
654
948
112
930
983
422
560
652
709
592
547
127
851
628
789
302
755
839
561
417
543
69
368
17
955
331
641
894
661
470
538
169
397
222
876
528
551
589
402
701
919
300
690
837
743
359
310
488
716
273
410
205
427
469
154
696
957
17
812
355
916
686
463
834
711
673
402
283
476
519
208
833
869
145
576
128
689
581
442
621
63
286
424
41
239
45
656
451
447
530
917
315
449
812
462
996
630
715
647
848
669
347
675
123
92
198
670
79
465
633
150
729
734
658
159
145
653
258
650
377
55
745
394
814
895
582
564
718
308
189
78
849
968
712
431
526
629
725
347
290
43
239
348
262
981
367
250
333
538
430
40
339
958
506
649
754
828
963
952
849
389
512
189
367
558
9
418
207
719
268
431
558
388
16
812
981
217
139
585
801
521
321
613
50
78
394
443
224
197
3
637
892
179
74
412
694
918
28
665
572
727
455
256
990
416
58
410
869
543
840
31
988
668
399
943
974
249
161
63
535
544
156
777
886
667
470
448
38
449
809
713
269
313
684
315
681
461
654
582
445
978
460
19
567
840
716
856
985
257
456
1
539
115
525
857
393
781
647
742
601
193
57
112
68
483
676
642
821
596
262
335
146
687
817
295
226
667
999
179
338
498
638
659
306
75
648
537
576
891
469
399
822
367
317
360
267
964
696
852
666
402
660
802
922
727
972
442
632
270
403
392
236
549
773
739
203
402
308
254
437
169
339
842
317
933
466
665
765
935
770
80
510
371
965
804
543
759
695
161
509
237
750
202
918
930
714
650
543
853
796
121
958
576
512
440
863
472
175
36
823
892
861
247
621
577
237
417
750
14
851
542
295
188
27
147
525
126
403
719
736
863
895
339
608
782
349
723
917
730
223
56
396
556
850
40
43
605
331
425
514
78
104
231
27
716
178
990
210
453
681
780
416
579
80
672
364
793
975
435
994
115
321
223
613
19
965
986
543
638
655
672
521
135
654
21
109
596
87
84
430
0
299
946
176
268
234
124
836
378
871
53
855
812
304
202
233
948
696
582
882
418
881
973
668
67
990
275
570
65
220
673
150
820
41
60
664
283
592
81
932
254
145
582
516
93
425
558
701
482
428
248
277
775
5
342
12
907
817
194
448
143
916
243
295
643
600
860
935
834
796
118
261
26
178
948
452
626
406
161
661
662
589
54
330
98
278
733
794
436
488
264
760
572
869
343
395
467
410
608
590
560
754
866
183
989
919
303
544
404
655
767
480
627
53
619
984
664
42
981
440
469
431
281
253
796
518
212
653
295
381
689
482
899
429
999
61
410
438
99
289
723
5
813
625
738
727
826
305
212
394
197
899
90
72
25
748
351
389
889
945
451
440
340
690
120
33
331
686
256
580
851
155
905
984
410
813
729
840
194
769
326
95
16
249
220
836
51
767
247
667
263
413
673
681
491
468
127
514
14
878
488
496
928
754
78
684
725
420
630
998
357
500
801
25
603
833
927
702
801
771
470
406
51
229
974
974
289
741
848
240
927
475
544
35
801
193
45
381
454
893
443
249
994
79
722
161
954
465
301
640
662
949
997
901
224
945
101
918
609
765
41
879
814
326
897
561
95
383
681
785
3
972
8
531
592
908
359
903
461
108
658
51
188
480
853
918
306
778
896
567
886
335
676
772
260
468
393
424
616
603
119
729
205
412
529
471
898
380
850
295
92
739
290
862
383
658
890
721
4
263
794
311
149
947
239
32
270
859
140
969
933
430
610
599
820
9
962
373
117
93
72
856
525
112
878
257
40
339
47
36
545
151
840
29
417
984
779
728
307
742
651
817
849
838
886
810
737
837
830
371
146
435
275
289
534
649
527
426
387
521
434
178
42
164
891
839
930
854
844
219
266
693
389
43
455
49
944
109
341
202
127
591
389
440
829
662
162
111
310
516
845
838
866
698
313
257
218
920
172
124
399
797
316
717
372
564
681
494
490
374
168
599
288
109
678
217
608
859
927
21
355
201
785
941
82
854
793
883
433
656
247
928
893
24
259
798
238
898
843
404
744
349
13
887
239
58
519
749
106
669
25
416
772
565
995
114
177
195
39
755
899
502
912
831
827
398
674
938
163
133
832
655
204
467
125
401
876
789
738
268
342
210
536
369
717
727
142
996
784
578
425
410
836
997
494
308
357
654
696
322
511
112
854
967
358
294
59
430
316
412
997
204
375
606
258
878
623
313
706
72
892
612
246
111
955
609
98
924
588
260
633
945
869
921
336
156
288
796
791
694
757
510
839
273
824
442
813
30
545
616
407
141
116
205
126
836
676
258
17
25
630
893
491
538
348
588
771
815
879
836
486
5
499
944
47
837
254
248
133
445
75
22
314
358
100
139
77
151
578
980
387
273
888
104
300
708
399
944
528
861
489
583
852
116
126
555
937
449
565
72
759
895
766
692
822
298
341
613
302
400
560
456
5
527
12
667
772
258
569
468
620
150
245
631
902
674
400
931
392
242
470
748
676
617
564
544
364
996
119
806
763
539
952
370
115
458
503
835
145
565
665
889
423
171
946
170
232
588
360
957
840
254
608
423
425
78
507
435
469
645
425
822
374
754
116
499
509
474
398
773
417
871
702
178
245
85
667
439
456
820
376
420
679
465
822
128
108
597
146
452
629
458
987
331
29
306
151
362
810
145
581
411
134
378
602
157
740
381
576
851
729
763
253
469
48
194
504
773
247
140
905
347
24
572
858
542
72
721
888
699
400
704
78
176
229
131
640
396
817
707
839
180
854
761
894
52
318
154
611
743
475
246
188
816
229
244
736
693
20
872
600
647
686
888
532
985
108
183
794
712
800
916
752
5
329
765
853
193
254
6
833
424
26
396
309
180
88
131
989
379
463
427
897
383
90
436
154
426
903
921
342
596
13
798
426
534
218
408
819
425
343
685
720
222
62
927
376
308
763
651
26
443
732
522
373
803
391
948
711
732
722
79
26
834
137
19
127
492
755
601
501
942
479
397
14
479
192
784
579
406
256
434
118
289
638
38
229
416
428
548
930
421
590
423
251
392
619
381
642
325
336
845
541
944
405
112
25
876
381
164
341
572
771
755
621
332
31
537
768
771
475
261
673
67
103
715
143
707
886
425
998
739
591
909
464
665
899
712
224
658
604
121
136
745
158
509
40
632
401
916
701
351
51
678
811
39
642
972
333
774
777
548
618
551
675
182
939
537
263
80
460
281
600
731
761
706
857
965
864
405
432
881
331
692
678
758
739
466
35
658
357
876
704
736
369
254
42
365
103
164
833
882
463
659
52
331
336
469
208
486
441
678
731
148
484
980
811
612
437
180
987
906
884
957
399
557
358
149
562
136
768
644
523
934
903
541
951
274
970
836
177
626
534
453
420
150
980
614
778
806
277
851
909
53
345
516
634
901
435
393
459
380
592
645
479
124
950
232
589
63
819
0
289
469
288
108
632
527
83
758
992
530
263
529
597
68
8
74
144
763
877
649
891
752
549
22
631
503
762
332
397
940
183
767
499
724
113
481
198
516
527
642
71
52
294
155
50
984
526
963
66
337
308
396
736
473
971
558
279
881
214
24
848
399
804
655
994
396
858
508
385
279
886
167
616
153
353
904
776
822
294
521
644
414
141
864
571
349
289
366
270
783
813
529
501
828
721
920
804
683
869
820
176
337
496
867
561
495
288
448
599
681
64
613
591
46
374
805
912
989
351
545
259
151
914
798
862
617
358
728
832
887
531
126
356
615
156
303
619
658
661
890
827
643
263
800
588
667
683
772
145
598
781
716
84
545
71
97
124
606
637
126
633
923
279
275
792
63
694
136
640
814
366
541
935
567
654
906
458
601
299
45
909
469
128
267
998
43
201
719
552
215
922
233
552
358
167
510
70
428
354
222
252
873
663
867
732
739
467
127
806
332
152
770
172
560
499
842
456
695
97
408
220
81
952
918
68
853
979
595
118
609
211
106
304
292
13
15
487
723
136
684
268
87
932
67
808
760
821
202
708
338
940
227
786
133
175
174
89
313
927
781
610
475
602
192
429
619
128
11
711
926
623
869
70
368
442
802
955
498
24
279
24
309
55
330
309
871
839
984
607
1
441
548
866
426
773
679
175
277
536
920
526
168
832
221
566
409
55
585
338
45
192
58
303
702
266
741
3
132
272
440
591
644
789
139
140
132
869
290
671
65
662
435
814
727
270
948
286
42
873
922
417
390
870
171
550
609
926
929
13
538
121
359
599
189
881
233
88
506
343
936
85
836
36
292
347
955
832
414
155
203
839
225
465
569
791
896
320
305
355
438
653
969
571
660
434
187
818
88
388
38
61
563
382
253
413
282
750
728
109
621
529
439
929
33
167
713
375
459
976
737
136
666
590
311
571
956
342
866
506
233
902
193
52
272
434
582
228
423
191
666
30
458
600
327
63
238
867
201
840
46
431
685
123
345
62
577
265
713
587
95
257
956
311
209
547
102
715
271
256
783
428
433
932
482
744
674
762
243
236
917
131
851
938
107
356
440
924
69
631
754
8
983
988
638
532
456
456
610
395
246
671
188
985
984
960
745
487
227
68
282
79
27
175
156
375
213
147
988
462
314
983
791
955
93
568
628
596
662
742
801
412
975
726
90
189
907
267
170
309
824
104
352
975
585
645
792
807
337
520
707
108
298
320
161
346
208
66
338
999
364
839
230
262
70
124
940
666
901
150
163
12
879
552
345
33
436
566
544
421
232
681
64
982
351
295
563
976
859
681
657
527
425
893
786
348
723
59
375
664
15
321
51
902
368
166
369
590
246
654
925
341
587
370
169
666
260
710
503
614
713
600
255
584
4
91
238
540
248
332
645
8
768
697
129
684
988
302
790
748
66
379
842
497
350
988
914
765
351
287
497
46
806
351
703
818
837
845
69
839
102
992
657
675
6
654
582
534
902
839
899
588
955
763
769
196
101
873
527
812
378
913
901
876
47
75
378
16
213
534
580
280
13
780
778
964
923
391
995
238
930
455
76
801
317
479
703
728
738
940
638
226
780
492
795
449
458
762
669
261
7
516
597
51
749
724
102
467
383
355
38
731
637
655
73
440
839
22
611
375
290
200
122
274
640
738
90
404
85
865
413
76
482
651
822
235
797
161
456
265
496
962
631
752
532
617
722
184
530
539
932
83
52
231
242
605
17
803
278
636
952
530
952
987
378
714
827
249
718
690
492
202
178
826
500
495
83
461
881
955
600
308
52
186
651
795
750
924
600
569
244
891
62
626
865
726
6
698
374
584
304
924
629
901
793
507
759
639
461
504
798
385
273
947
726
203
226
934
402
760
979
631
673
968
679
159
363
165
129
992
521
25
281
279
867
125
593
575
6
452
856
981
753
178
879
296
431
504
139
505
371
685
163
670
393
976
209
370
132
778
814
556
772
777
770
107
556
626
274
843
514
575
588
711
74
717
221
253
513
831
991
303
44
679
184
308
756
58
458
888
269
495
32
462
179
990
934
915
756
799
535
786
685
32
325
251
194
766
771
2
726
195
996
14
692
205
920
497
764
921
197
39
257
432
278
895
271
777
42
424
146
81
61
433
793
795
803
586
235
368
348
562
387
699
309
954
631
257
557
193
452
436
265
990
144
170
513
373
723
298
723
674
6
947
513
599
581
870
459
574
611
279
544
618
123
505
970
415
81
670
726
916
686
588
394
352
180
462
356
367
309
410
197
188
674
516
960
509
873
488
167
965
119
856
506
929
239
126
219
834
551
650
727
234
753
713
104
623
879
320
421
525
42
859
941
524
185
855
313
340
652
197
228
108
698
957
881
768
960
818
182
978
27
793
284
609
918
422
643
991
504
732
226
405
843
17
394
820
594
115
579
761
197
909
29
701
246
871
253
603
825
44
345
31
7
869
253
141
372
892
83
545
691
803
564
412
553
226
293
565
440
27
541
462
649
873
868
605
693
169
210
626
690
953
165
764
743
426
601
718
73
591
693
896
903
377
523
365
593
911
527
450
578
228
29
893
80
199
237
627
70
195
193
355
181
665
903
198
328
113
660
700
733
174
161
523
394
596
203
81
229
128
367
826
316
926
775
960
246
22
941
473
932
844
627
452
650
754
43
838
427
627
988
155
342
781
50
114
609
694
295
724
446
95
108
716
167
546
734
505
398
320
477
567
58
501
745
695
164
124
901
421
298
752
660
146
286
463
661
868
787
254
715
567
183
971
783
760
349
134
324
926
322
859
889
428
856
669
601
270
787
861
38
980
155
32
781
597
941
208
961
355
44
104
204
775
107
899
511
607
581
687
621
328
82
506
562
190
14
833
710
131
33
597
341
215
165
323
236
865
678
442
280
185
399
249
644
643
730
256
821
794
597
389
883
537
106
318
583
196
737
118
690
16
22
116
631
99
12
787
503
751
969
514
318
168
570
808
686
306
306
156
695
404
610
405
707
3
148
4
228
952
292
272
898
187
90
524
506
648
260
613
245
693
485
850
601
800
351
245
588
154
246
383
216
864
112
199
501
325
979
259
262
460
306
30
38
903
375
824
779
496
273
379
940
20
504
23
152
420
415
537
371
582
190
800
107
658
965
745
812
121
900
56
491
128
582
875
581
406
37
963
855
834
786
633
856
901
794
639
289
985
91
47
927
478
864
877
103
91
4
605
482
60
582
672
567
346
437
251
755
424
277
365
616
260
688
405
498
183
333
13
696
512
657
150
610
360
98
12
32
931
537
472
338
5
347
591
752
667
877
708
488
920
228
7
915
696
859
481
750
135
442
259
854
846
750
574
656
228
929
193
396
316
748
393
215
755
711
505
356
600
863
404
317
835
925
184
688
573
872
8
711
374
426
399
293
587
882
806
637
870
721
983
11
259
579
597
806
497
703
373
744
348
79
124
635
79
6
476
221
28
606
703
152
51
331
965
502
963
192
288
176
273
535
249
173
375
965
685
778
39
511
4
439
126
281
3
115
593
48
416
923
133
968
197
242
186
832
649
8
155
444
638
986
549
465
296
824
240
611
785
227
993
103
97
266
417
748
111
240
857
424
588
84
34
227
897
966
772
600
313
90
360
125
997
516
82
117
581
865
261
165
547
38
906
690
829
409
5
260
914
852
612
758
308
784
474
861
873
164
141
727
490
925
958
539
295
377
901
466
147
348
384
327
453
511
925
415
554
198
320
953
756
137
840
693
576
853
704
425
990
908
670
246
603
17
677
730
873
113
727
133
333
560
734
506
467
376
761
434
574
843
87
21
51
31
644
644
391
444
885
256
261
867
583
633
397
828
534
460
281
275
817
241
403
265
652
95
66
697
237
130
688
759
739
55
179
320
784
619
465
807
257
613
625
607
284
706
823
18
372
75
981
369
103
441
929
670
541
359
92
235
822
200
538
860
522
260
412
824
530
737
222
63
257
809
479
929
868
439
830
833
58
819
573
972
317
281
789
31
540
265
742
767
511
335
332
251
457
257
728
765
233
452
329
656
710
615
599
877
186
253
977
787
386
608
631
113
674
279
801
689
648
900
301
964
462
389
262
638
407
837
375
950
628
192
750
524
409
230
236
410
984
883
710
181
273
175
650
716
620
608
564
876
486
882
494
131
246
302
868
610
701
524
390
648
853
867
658
456
665
378
294
482
597
629
137
626
579
767
895
978
633
990
786
501
781
571
118
312
217
411
575
601
627
627
68
759
7
452
114
131
662
229
692
210
76
383
821
181
948
888
679
64
610
74
58
203
401
135
435
524
93
848
982
705
49
199
267
899
973
569
773
439
558
544
784
717
778
190
979
472
599
541
63
845
670
389
843
994
36
868
902
586
391
619
289
287
558
972
705
718
849
264
644
384
344
550
23
60
171
286
405
190
540
873
341
69
131
826
790
864
160
602
816
934
626
962
76
204
737
61
251
694
525
69
900
132
139
56
901
936
730
231
547
100
466
294
516
421
968
114
352
39
396
848
460
180
824
770
606
246
989
669
60
57
672
623
913
412
526
360
72
478
145
667
13
344
898
229
267
723
104
407
199
60
630
106
191
890
354
472
605
377
728
290
916
395
380
462
595
934
448
405
894
985
560
951
834
535
519
32
972
270
157
834
178
122
241
308
884
676
983
587
937
682
706
950
891
399
36
946
10
404
781
422
508
454
206
878
76
42
258
965
293
370
402
972
490
202
154
782
602
641
875
934
208
2
718
648
244
566
894
502
940
604
411
144
286
456
507
915
83
779
494
836
606
12
379
619
555
789
864
800
16
231
960
569
642
861
208
289
226
548
252
657
148
181
33
90
599
892
829
932
749
156
540
122
875
108
250
923
177
185
324
376
954
177
370
769
374
236
174
478
412
394
159
516
782
171
944
672
889
945
377
991
803
793
846
733
745
85
592
798
666
74
520
656
565
348
160
56
75
465
112
273
725
332
963
456
307
222
541
401
228
803
566
119
709
91
250
52
343
747
304
889
486
842
932
467
289
311
483
631
894
143
938
549
138
82
576
618
479
189
766
783
437
694
778
186
49
40
643
449
44
103
738
509
752
690
301
824
396
765
403
505
852
123
258
566
1
901
118
84
371
565
581
316
810
514
619
934
937
92
38
140
244
895
670
34
111
356
456
901
945
33
339
549
741
605
652
572
350
262
527
756
586
717
654
722
593
457
787
928
744
348
256
223
486
724
157
928
671
457
699
735
513
110
414
276
67
523
319
758
505
303
814
648
29
943
334
111
13
857
938
960
7
651
176
468
343
435
848
568
782
489
473
996
530
231
318
750
773
496
605
155
51
779
815
683
801
658
442
794
836
832
487
513
854
946
784
153
671
420
910
400
713
55
952
166
419
907
50
507
383
334
203
491
626
146
220
456
59
238
761
11
278
553
288
260
398
395
990
554
34
673
857
672
923
582
70
795
372
703
707
12
343
895
625
214
241
993
116
910
42
115
686
169
143
367
751
264
60
665
62
490
343
61
801
744
480
57
952
377
459
52
621
531
809
954
248
14
485
714
764
576
948
166
732
258
819
819
165
18
552
204
991
167
73
735
858
542
668
132
735
664
472
271
872
285
465
978
160
264
526
899
191
899
691
928
317
942
743
462
146
493
569
847
225
206
450
954
641
735
892
633
420
781
700
189
419
188
716
999
520
695
537
992
627
888
734
9
701
746
28
178
914
457
703
394
973
883
942
354
809
352
859
660
977
328
41
155
119
333
421
356
581
391
69
23
140
791
353
264
192
117
620
571
861
316
367
144
859
456
433
320
129
870
498
498
663
326
678
862
178
471
12
14
777
313
572
997
115
389
200
687
384
934
467
917
790
821
509
336
108
170
653
746
894
711
169
902
775
297
805
851
37
296
160
141
73
894
669
909
139
98
115
459
221
816
628
849
489
593
710
458
989
205
706
863
125
88
969
491
561
228
259
162
406
558
991
616
837
748
544
88
961
261
19
777
157
861
292
758
719
74
897
735
264
423
677
788
528
213
94
455
266
508
349
833
308
602
579
686
66
947
206
104
870
969
615
625
415
45
26
99
434
515
40
447
864
981
619
660
326
694
417
798
905
75
101
579
594
182
410
933
818
471
821
923
129
607
215
719
227
166
764
130
254
746
721
519
840
128
91
305
237
914
786
737
380
150
527
910
499
586
557
445
788
510
833
577
797
383
774
783
302
500
700
891
824
293
799
448
394
327
401
217
893
225
530
633
346
341
807
966
7
635
905
513
566
76
990
509
346
648
636
820
818
73
910
755
957
40
374
933
281
311
718
613
72
488
644
982
379
224
901
65
568
625
117
860
600
8
698
241
857
320
94
648
130
976
684
858
917
387
60
175
478
171
561
39
767
551
928
175
12
880
707
129
753
307
187
653
613
0
900
847
543
468
722
478
12
50
80
85
194
61
659
975
765
661
616
662
53
380
383
474
799
787
922
604
659
327
664
891
249
758
23
584
320
301
10
45
326
608
52
993
386
565
738
828
263
523
101
599
312
785
52
948
523
154
143
464
596
465
611
126
763
500
996
575
872
678
661
137
892
102
554
478
29
231
991
558
777
596
122
365
438
808
903
540
236
884
510
113
519
405
195
785
260
565
118
886
169
334
386
891
200
562
47
890
670
526
622
468
208
424
624
767
526
497
689
244
145
337
700
616
814
940
831
625
717
135
982
905
189
399
212
766
162
709
500
149
758
44
243
852
542
313
800
365
786
244
901
196
3
540
187
320
364
162
925
46
289
143
905
893
48
556
979
232
255
613
501
14
872
365
185
16
763
602
599
37
225
481
863
33
211
229
59
867
779
865
729
475
392
622
521
728
493
193
857
362
513
836
892
830
448
460
576
556
86
380
217
984
322
475
545
729
949
852
171
639
936
561
787
211
669
232
812
536
547
279
766
533
761
571
874
605
801
77
754
794
433
413
453
522
967
355
973
32
118
743
712
653
221
35
726
408
832
735
962
410
681
709
444
934
287
916
433
348
692
247
659
780
450
786
472
142
974
411
90
194
186
168
78
321
477
385
452
150
25
313
142
345
760
228
527
198
134
113
702
235
334
285
426
831
612
116
194
237
401
767
314
497
8
714
720
95
932
795
859
409
736
714
228
7
773
247
790
318
552
130
699
984
667
263
196
574
343
768
984
278
748
823
830
815
176
612
526
422
921
970
839
392
916
388
349
819
207
294
782
843
139
577
454
192
335
198
414
988
215
562
327
112
831
570
828
712
761
91
798
890
150
648
422
70
164
506
778
615
763
391
16
242
547
403
819
474
307
503
928
34
830
664
331
150
771
546
814
638
526
603
802
808
435
831
493
298
840
465
351
579
819
127
192
714
987
46
882
927
832
763
682
981
664
892
345
238
604
196
816
324
235
713
222
892
877
349
705
937
644
379
464
624
339
511
644
665
855
864
96
918
550
870
613
291
787
540
531
143
315
510
577
51
87
408
868
12
162
629
565
648
901
955
468
117
272
879
175
350
832
64
589
742
301
758
546
389
243
707
291
492
775
291
636
320
480
25
422
563
857
81
234
920
37
410
22
810
379
426
624
291
186
465
972
633
986
132
635
501
476
547
974
830
945
822
370
927
111
38
383
641
140
548
431
452
297
458
627
948
447
833
122
929
871
167
274
855
45
447
46
408
758
248
570
37
118
167
177
928
645
880
273
939
545
705
540
522
435
236
943
816
701
22
310
739
39
790
97
878
156
355
950
816
733
88
694
571
686
232
165
705
671
954
480
585
820
681
368
8
376
768
776
384
184
403
880
137
591
839
657
761
831
63
59
396
691
227
699
158
756
730
355
298
342
355
833
688
916
990
901
172
195
885
304
787
26
901
612
492
224
83
757
816
426
292
136
365
789
390
547
495
709
26
116
30
981
79
262
432
476
868
680
173
807
847
752
781
458
993
124
820
222
366
342
276
776
407
808
198
860
764
820
461
290
345
641
494
455
834
969
626
326
479
614
666
408
254
67
554
547
651
200
494
55
732
235
76
279
207
479
772
178
545
965
407
163
613
114
255
420
503
764
400
189
111
857
91
716
323
810
599
641
862
492
836
83
888
639
939
18
189
60
997
629
323
297
58
815
248
834
983
986
264
737
23
975
254
918
848
137
762
388
933
160
85
544
183
268
693
353
890
852
314
436
748
774
405
321
150
860
545
419
196
599
163
492
3
477
470
364
552
311
610
95
937
863
880
185
707
900
189
994
754
735
383
364
693
578
479
427
781
838
171
96
728
573
76
59
828
97
652
515
335
632
816
842
314
610
179
140
461
842
890
624
536
745
869
26
618
527
45
725
237
440
48
574
444
56
206
271
80
342
938
410
798
146
279
453
584
301
975
965
88
676
252
5
811
721
255
660
855
802
399
458
646
623
835
777
722
437
175
622
666
498
0
29
525
852
453
619
407
769
751
415
683
450
31
33
323
453
590
18
327
338
711
306
330
727
587
484
110
210
693
217
651
249
309
50
40
449
788
386
818
518
971
672
567
950
191
60
964
871
771
746
857
235
874
313
788
588
504
30
127
685
401
417
117
18
70
774
433
980
355
752
801
974
701
527
224
317
256
17
523
836
397
181
256
407
838
313
698
660
43
95
364
783
10
975
538
823
804
879
851
83
714
555
792
91
562
301
164
165
87
420
233
629
385
202
795
777
499
420
210
114
268
569
873
734
683
825
462
543
123
991
767
317
183
640
148
537
996
820
453
684
800
969
134
583
214
58
297
453
719
464
815
379
22
904
28
527
414
788
789
290
829
97
770
827
383
462
496
922
836
522
17
656
681
5
428
932
353
967
7
73
904
28
950
26
335
45
654
996
691
431
315
389
386
612
273
438
532
805
216
848
327
316
409
782
891
704
505
477
341
580
259
21
446
413
785
260
196
670
743
16
336
882
333
694
388
802
480
385
633
68
547
900
769
256
988
989
830
104
504
970
134
481
160
86
33
980
877
608
851
247
396
545
398
394
432
415
98
932
793
674
393
91
514
165
680
949
473
855
158
713
200
256
167
656
24
674
376
896
727
935
120
738
989
747
622
848
375
399
786
501
517
588
780
520
533
441
723
145
626
934
178
771
105
273
996
824
327
350
446
206
438
639
938
303
783
221
630
284
437
62
605
540
341
748
281
364
23
470
574
537
326
914
671
265
56
960
125
902
652
186
923
329
460
517
991
938
996
244
208
24
395
387
970
108
226
804
84
127
707
417
422
595
621
992
602
374
536
197
557
426
448
928
86
856
619
158
478
716
666
674
916
202
376
759
241
752
644
61
519
456
378
368
848
476
818
464
96
422
79
457
705
942
787
804
632
602
687
140
550
402
524
795
905
607
264
687
736
235
417
837
58
195
164
791
224
283
576
661
709
616
298
148
6
14
964
267
548
868
568
431
890
565
88
996
746
174
935
639
957
431
454
969
350
446
450
167
58
378
352
4
122
391
658
619
632
662
615
102
159
863
406
176
740
487
790
280
847
770
693
962
420
743
890
107
242
796
840
174
147
872
826
617
43
795
678
593
380
1
23
331
285
751
47
95
507
972
374
167
907
45
613
107
508
638
921
512
697
463
463
525
252
447
118
754
510
290
726
662
521
783
120
674
518
224
315
136
477
584
282
96
701
678
341
87
140
152
672
269
472
563
360
8
636
738
247
285
878
378
265
831
438
827
675
833
97
621
4
359
292
35
788
2
668
85
197
58
806
69
533
387
962
698
996
75
848
39
395
375
754
395
62
584
594
175
362
565
980
206
688
478
299
899
562
189
807
514
354
281
470
670
865
792
951
457
828
373
417
560
191
154
460
908
978
505
992
890
440
826
657
886
486
958
788
87
541
845
9
248
967
928
223
202
117
84
201
57
593
861
725
798
19
623
536
297
927
833
889
538
44
664
980
158
480
454
404
479
776
125
554
249
823
298
305
737
92
180
506
516
100
452
275
236
127
595
271
347
315
836
908
789
655
100
867
937
153
420
117
349
661
806
106
730
757
362
528
725
893
864
222
165
119
889
645
38
711
883
617
13
336
86
756
707
923
284
74
562
903
189
654
42
200
496
840
434
993
479
765
432
34
942
904
456
600
382
435
27
896
901
121
85
322
641
287
363
290
496
345
587
6
732
269
214
274
118
431
495
72
211
965
721
364
38
378
934
424
599
479
566
581
275
648
683
14
297
733
796
118
939
150
707
590
491
314
810
243
66
365
830
932
365
151
617
314
987
966
17
91
523
767
662
863
689
772
43
754
309
347
30
387
348
8
902
145
80
141
985
571
206
975
13
103
333
764
173
824
866
555
947
736
358
480
170
919
588
367
733
868
153
651
351
564
502
994
455
756
377
931
132
873
137
118
932
961
887
232
98
578
552
703
553
777
21
762
439
784
27
275
26
310
454
221
434
552
904
293
422
550
875
562
750
183
927
291
678
458
706
975
518
927
718
754
623
48
770
962
761
529
24
574
933
692
71
313
523
14
550
560
820
230
712
209
129
611
937
420
477
943
56
199
646
309
973
858
416
435
397
867
141
534
755
895
22
170
533
941
563
235
940
914
892
708
228
472
164
595
805
192
289
821
572
137
874
116
904
130
597
443
419
664
827
542
880
950
555
708
360
397
251
493
910
293
990
403
327
183
818
284
104
727
143
186
872
177
324
738
120
650
538
911
691
725
119
367
445
799
965
377
13
958
187
537
451
873
549
756
283
869
437
967
857
57
631
830
849
112
833
942
99
370
965
570
105
433
138
587
678
534
917
774
22
61
802
964
552
562
164
698
370
367
305
410
737
393
243
888
347
701
507
731
184
422
672
746
70
230
47
21
33
273
529
659
876
740
400
191
714
637
942
812
195
812
165
991
772
898
302
48
646
496
451
131
410
16
494
950
899
350
207
302
53
390
139
698
514
76
695
642
375
931
953
455
366
26
734
421
401
45
838
842
978
404
242
473
273
663
954
495
140
856
811
484
340
804
873
26
761
660
17
912
0
121
533
985
829
473
961
712
101
82
785
399
607
626
729
713
279
486
80
563
517
734
200
11
48
944
473
635
979
623
19
119
766
814
54
100
630
113
199
593
6
907
407
827
844
206
70
605
72
685
337
129
987
458
14
284
927
647
717
857
101
876
684
482
716
7
159
200
300
898
413
641
659
148
583
146
464
458
255
153
21
11
294
479
269
310
975
688
750
228
956
771
934
399
116
247
783
346
747
132
153
196
872
385
637
66
434
359
710
661
742
284
204
339
573
598
730
941
338
582
6
504
69
969
288
718
711
533
709
52
698
516
846
516
383
17
789
589
132
410
974
115
781
982
887
637
880
177
985
453
330
137
833
512
662
920
422
477
421
377
134
967
966
116
807
638
267
688
161
923
103
184
29
452
668
402
629
720
463
768
701
233
470
555
717
847
311
687
313
880
414
164
867
60
795
371
358
371
757
880
77
358
162
439
494
778
1
419
823
464
814
803
887
809
590
65
329
698
390
518
132
977
946
707
54
123
798
331
649
209
661
80
579
271
33
289
219
237
790
380
521
77
276
503
613
253
684
980
276
322
146
67
100
700
737
372
620
64
279
78
505
178
603
450
556
721
227
441
497
50
758
597
226
106
800
192
495
797
438
494
335
641
217
678
94
84
376
190
383
80
997
476
879
882
139
351
138
926
170
628
523
70
530
408
424
195
975
1
111
994
409
23
928
736
690
406
994
301
936
86
827
310
971
458
544
204
786
933
566
414
144
279
6
760
902
700
644
992
381
994
135
36
941
901
753
411
305
29
243
828
721
73
746
976
283
256
299
515
847
676
4
590
29
27
108
732
311
411
221
707
754
862
264
577
446
761
596
516
745
670
82
960
977
655
919
189
458
619
886
214
999
925
199
74
280
701
926
232
772
242
178
185
701
82
355
660
966
145
660
711
596
563
559
314
336
569
652
90
607
374
107
542
779
293
609
194
706
717
420
668
302
947
928
649
22
973
918
223
519
807
369
975
156
50
886
409
229
916
286
453
86
97
290
894
502
718
102
585
694
111
678
719
576
279
643
981
712
354
771
352
7
106
675
254
429
201
39
759
806
948
635
494
723
51
86
664
720
694
756
554
139
525
441
610
788
390
136
131
461
669
889
679
895
956
80
376
280
107
362
378
375
87
315
324
368
551
338
148
499
212
675
14
134
957
390
518
401
708
488
887
428
448
985
219
82
312
935
931
153
640
556
97
334
1
741
181
876
670
142
175
6
963
465
340
740
745
709
784
824
705
141
8
78
299
607
963
110
387
185
889
97
143
839
120
669
969
770
387
162
620
615
694
113
503
761
952
747
17
821
458
821
309
405
577
98
759
616
62
950
879
24
970
833
630
602
645
140
342
521
773
875
68
929
660
354
887
874
664
223
321
253
772
57
771
428
26
127
450
922
53
220
713
101
602
899
466
949
182
566
892
877
559
634
601
196
109
687
350
535
443
660
106
872
104
950
390
236
668
870
864
814
994
350
718
718
906
546
317
781
59
648
766
499
191
989
163
726
496
99
109
739
535
711
957
959
622
593
148
549
482
272
236
163
957
437
394
616
936
596
325
978
741
358
266
6
513
782
138
686
638
42
260
539
99
235
859
61
830
537
213
410
253
372
336
828
453
942
448
761
809
610
131
196
621
121
408
988
540
796
410
795
721
656
706
694
483
559
1
923
706
785
783
673
463
723
276
583
764
764
85
575
310
983
582
512
579
87
907
48
308
246
347
913
943
24
465
404
192
898
979
44
484
901
990
476
496
431
476
390
680
917
655
381
541
200
566
183
622
684
388
637
210
478
448
104
79
962
541
468
318
851
327
84
385
485
798
612
190
532
948
70
578
848
267
359
920
224
633
25
306
150
95
23
741
384
674
145
876
811
790
693
510
119
615
409
792
769
955
134
994
301
136
436
181
811
79
167
153
265
820
404
781
479
78
637
269
628
437
601
969
278
671
247
848
906
936
763
989
609
326
561
150
641
15
913
288
335
61
33
793
34
429
955
446
552
756
259
290
52
150
798
141
802
974
852
912
832
452
422
70
198
336
757
591
3
895
830
629
869
202
850
87
575
355
604
843
329
738
784
795
120
90
387
983
301
912
525
233
538
447
810
138
715
966
718
230
407
103
358
394
853
829
772
457
652
243
721
708
128
143
192
955
796
164
667
67
529
688
524
6
872
839
896
643
558
40
247
763
194
644
538
675
724
664
844
467
714
766
135
504
202
585
700
555
714
338
732
527
534
476
882
981
305
65
730
82
283
655
960
631
709
381
311
748
517
778
91
359
361
142
961
532
113
903
404
34
298
627
732
301
739
612
842
421
657
324
930
175
827
781
231
480
708
516
122
511
654
188
532
809
382
819
236
778
614
143
753
792
959
441
573
621
124
101
294
224
264
167
404
700
197
20
706
815
555
895
910
583
259
955
911
907
576
962
679
463
581
480
106
164
132
7
337
309
582
914
433
1
642
902
114
704
520
331
50
725
467
613
125
650
561
153
15
915
635
113
696
819
16
310
749
46
568
215
326
796
483
96
483
903
433
291
138
740
582
364
627
747
693
57
213
931
650
507
557
251
912
387
637
175
222
927
129
291
62
488
89
907
879
970
331
990
761
85
491
915
547
954
171
747
58
791
467
818
450
439
803
183
523
243
89
816
210
986
592
425
276
500
803
132
514
494
733
587
196
565
935
444
907
906
220
338
569
122
413
106
476
758
947
969
83
598
195
295
364
771
730
989
791
656
661
354
352
730
660
922
940
620
64
495
480
862
110
347
721
171
342
199
674
302
538
801
926
365
895
833
903
562
645
78
282
347
495
897
908
242
296
234
559
475
464
425
913
790
847
874
607
811
512
401
112
548
667
269
284
938
425
91
254
38
30
301
378
273
563
664
159
156
530
515
506
95
471
721
195
943
907
230
756
74
990
851
356
489
896
267
989
313
375
683
929
256
933
740
844
861
129
704
221
678
483
565
998
348
558
626
366
651
59
679
653
766
987
588
751
912
526
34
8
305
121
446
464
549
365
891
868
369
456
990
604
100
763
607
918
858
171
997
567
197
57
944
581
881
599
904
338
810
870
258
929
935
521
363
470
783
11
141
506
546
657
660
585
604
379
799
827
70
252
456
532
17
392
266
814
294
405
287
802
436
791
675
67
948
813
609
929
465
227
206
947
214
548
362
636
445
76
278
676
587
112
730
974
36
283
907
516
355
725
865
409
332
259
190
654
121
597
367
260
951
354
760
575
310
605
885
741
869
209
459
660
396
250
799
284
848
452
193
736
477
953
290
461
82
790
471
485
695
120
310
782
46
708
879
648
990
305
853
545
178
780
863
941
303
734
235
786
46
813
50
863
884
896
980
644
982
380
246
8
634
971
742
917
279
319
488
166
396
138
579
366
268
327
102
82
113
966
558
158
980
121
869
832
122
418
969
161
30
757
298
349
955
2
101
185
26
341
929
159
681
465
105
297
261
310
334
551
320
648
332
683
666
589
698
236
996
684
642
863
360
296
37
962
332
605
981
265
926
542
430
363
893
974
998
240
960
565
965
320
562
833
460
782
524
16
930
132
642
399
347
911
356
870
116
791
29
604
269
989
993
336
56
423
434
197
400
925
511
592
488
222
960
57
366
777
123
99
955
42
508
713
702
875
863
965
810
734
70
181
635
808
495
685
420
572
461
940
22
207
881
741
250
923
193
959
72
715
165
46
132
346
89
408
0
905
884
31
170
181
80
464
360
467
293
822
163
642
955
593
355
118
664
931
169
108
670
655
577
42
924
262
84
623
335
316
826
440
506
468
953
530
925
869
618
34
797
344
265
840
101
844
68
130
457
257
513
909
717
612
267
550
168
542
96
285
917
166
866
194
348
426
359
806
175
514
86
28
2
520
358
498
990
73
338
882
311
49
432
651
748
673
371
641
623
123
731
687
301
30
780
725
4
751
609
351
490
429
829
464
820
171
171
1
580
720
48
911
774
16
332
278
446
558
548
152
45
560
618
998
735
127
805
58
37
192
553
199
286
347
314
622
727
172
596
633
412
499
34
535
978
880
683
910
147
531
997
510
469
429
194
145
365
160
162
897
51
48
823
34
591
592
827
483
233
714
463
546
683
996
825
73
497
147
404
242
969
466
179
571
76
952
781
651
898
313
505
143
136
109
98
352
619
190
378
487
386
10
877
143
995
171
825
457
680
45
326
906
856
446
99
622
680
39
629
747
661
0
593
5
592
884
668
987
576
867
845
77
152
429
584
24
183
122
978
113
719
879
342
898
726
530
65
676
327
832
38
940
18
309
914
768
928
855
425
498
470
847
768
669
232
584
289
15
641
235
87
671
370
996
431
37
852
801
909
779
924
422
201
326
337
5
463
214
359
80
219
931
906
594
658
279
199
280
893
55
107
487
934
42
450
655
945
296
210
784
996
575
328
229
36
863
638
789
349
531
740
378
52
91
333
943
537
640
872
354
708
441
411
5
526
477
421
704
359
399
323
451
553
321
521
231
310
387
999
126
395
717
896
39
704
996
143
16
531
882
447
494
735
945
365
795
340
526
989
799
193
765
762
489
117
947
141
373
200
247
284
655
288
469
403
560
923
440
766
559
173
303
38
241
511
122
932
359
615
911
277
684
726
623
934
258
302
541
845
483
746
77
8
441
937
998
14
565
92
563
888
186
96
308
820
697
125
307
73
531
393
474
370
256
330
747
130
152
128
869
160
56
121
172
131
381
301
587
107
530
101
792
40
593
960
599
764
160
19
147
841
468
419
573
752
277
615
938
811
94
501
244
442
358
456
631
997
638
923
1
802
78
192
498
456
757
111
890
101
269
654
969
526
839
25
516
247
326
291
37
240
375
624
346
59
448
628
159
754
765
564
208
383
31
451
975
947
986
309
34
42
124
424
137
166
441
28
490
980
714
134
737
546
65
718
578
527
17
589
717
624
19
838
185
192
995
80
228
700
585
512
467
32
176
370
689
970
301
43
87
79
150
247
157
216
808
522
471
632
745
949
355
890
675
0
139
274
548
501
251
491
46
286
394
917
422
731
108
754
733
802
277
62
937
139
909
907
221
914
930
863
634
176
824
688
322
163
564
747
694
320
992
141
466
52
893
420
364
484
578
476
372
909
312
300
238
411
374
457
966
828
354
375
555
234
599
859
316
580
613
546
575
35
845
2
21
96
832
175
859
77
185
229
213
466
962
513
63
430
96
799
293
986
262
610
703
821
507
536
449
794
914
283
68
526
210
98
664
474
811
816
412
379
919
135
486
202
219
270
87
263
134
245
405
563
250
525
108
88
560
147
261
425
988
953
682
682
755
494
60
930
537
9
615
680
276
293
494
363
617
408
89
561
392
32
665
906
549
968
444
467
584
844
805
887
326
291
618
200
192
765
519
817
648
364
915
218
652
402
49
500
56
648
217
85
361
777
43
687
657
808
824
972
206
589
378
655
916
647
623
782
217
505
597
420
536
457
236
990
532
273
817
668
235
628
168
210
269
307
24
16
322
814
482
338
741
830
80
307
383
551
490
75
174
897
607
262
65
411
381
103
450
799
734
43
496
415
633
47
764
497
11
518
978
733
386
396
250
764
956
21
77
520
849
37
117
414
773
879
384
632
776
685
790
668
640
790
406
560
774
891
260
767
481
465
528
801
147
355
8
505
521
608
520
684
697
139
985
645
955
656
659
676
274
315
471
272
715
631
212
776
752
396
670
1
476
133
427
285
316
471
523
970
787
22
973
77
308
941
663
865
487
96
908
924
681
700
315
54
582
796
299
571
361
466
750
622
908
844
44
572
509
784
365
414
582
211
827
376
879
944
172
197
853
144
902
483
930
279
182
296
900
421
225
587
150
75
93
893
206
756
823
947
387
534
371
907
477
292
370
322
512
435
686
704
226
558
296
127
613
492
43
51
855
611
395
624
257
599
930
822
103
213
669
191
71
917
743
693
437
36
639
204
739
865
686
128
280
549
204
989
517
45
32
695
828
934
783
926
796
521
863
719
347
492
619
377
252
489
244
43
911
729
740
914
677
213
856
716
605
484
912
512
212
207
472
882
896
821
119
626
13
347
905
972
461
218
716
432
599
331
948
753
291
989
244
333
11
977
927
114
819
910
832
466
89
851
607
469
211
544
878
849
648
819
230
667
425
278
512
850
162
645
230
693
735
832
595
252
508
966
427
479
259
480
546
433
780
802
525
419
62
8
613
956
293
883
479
183
782
711
372
494
699
178
180
326
301
733
997
219
975
132
367
586
88
113
52
741
359
729
534
836
143
507
753
865
854
295
736
331
509
803
930
808
708
775
442
303
945
623
825
929
470
776
337
975
834
962
360
119
888
13
373
352
638
969
625
938
889
112
530
768
27
957
611
915
506
630
727
860
748
528
583
708
580
662
482
947
407
427
733
992
919
938
266
540
209
765
725
71
771
139
845
732
48
726
681
38
478
4
570
399
730
733
259
802
536
83
475
25
384
353
511
30
494
97
737
74
446
253
751
711
951
798
792
860
346
911
0
125
569
14
292
225
592
952
873
410
802
380
464
889
193
889
77
10
771
656
565
65
900
915
357
980
121
355
815
197
380
273
492
865
678
0
76
485
145
753
274
695
666
25
367
152
297
966
284
778
537
815
502
901
748
56
163
381
431
856
769
185
48
463
863
779
164
701
331
390
992
708
231
587
567
511
675
60
34
82
386
414
361
662
786
111
491
939
55
102
489
4
878
849
951
710
486
225
22
545
46
556
712
675
754
755
936
428
560
58
96
676
803
8
299
804
601
630
883
704
129
477
994
15
81
989
630
378
750
678
748
199
460
719
397
402
267
816
318
677
901
31
184
951
34
583
750
422
709
535
500
335
174
558
959
6
440
679
930
282
731
717
681
483
288
336
281
639
839
440
844
133
415
558
185
104
959
912
854
302
74
156
0
524
975
466
963
245
410
398
54
941
740
310
922
184
351
747
326
966
80
246
711
735
246
397
697
907
666
806
725
919
510
146
949
414
852
214
357
435
337
157
119
779
865
863
871
806
612
826
805
792
46
477
330
581
404
861
79
960
905
13
365
430
192
917
758
954
589
718
556
825
144
667
198
241
964
247
573
203
375
532
926
390
470
778
538
315
533
513
222
190
974
761
883
341
94
98
213
892
713
850
216
718
852
727
247
533
732
658
780
971
163
443
869
210
861
611
876
915
434
557
340
749
330
855
297
762
95
616
6
14
97
257
30
45
619
407
642
203
706
407
522
942
756
538
669
788
959
174
353
214
653
8
71
706
813
732
146
6
904
355
406
215
565
532
216
569
999
742
180
436
323
618
783
69
868
852
952
740
638
25
785
953
995
635
462
513
110
198
16
602
567
511
969
278
425
967
610
240
0
154
418
601
218
791
6
804
197
444
107
843
303
681
964
600
698
410
172
158
474
635
962
984
75
981
919
787
752
558
152
932
837
732
111
27
750
935
639
133
118
948
908
622
100
966
928
383
697
775
747
23
329
655
180
383
692
982
611
883
7
152
96
525
92
157
283
368
36
705
993
341
81
580
985
861
417
413
974
9
411
296
735
210
191
297
495
480
15
233
763
473
823
281
503
24
325
767
616
594
403
337
350
410
427
418
101
932
114
113
763
937
561
729
522
927
868
440
69
480
953
279
354
70
753
771
176
683
975
368
387
922
558
710
931
853
483
413
727
67
202
862
617
185
455
69
475
547
931
94
117
577
670
732
466
548
930
357
291
484
590
346
813
753
763
198
133
879
936
637
302
203
626
30
850
872
376
986
802
168
690
733
786
525
229
757
727
988
405
767
883
128
318
913
27
191
167
967
482
895
220
326
725
94
383
824
97
38
205
332
365
141
440
769
63
488
167
297
243
220
428
925
136
379
229
864
833
178
810
155
220
647
914
802
467
728
59
989
248
778
9
279
205
39
97
163
477
935
516
996
937
661
221
334
516
517
730
739
526
317
182
732
937
895
117
74
972
264
941
482
81
7
7
314
684
603
354
708
310
880
909
630
813
53
461
918
883
118
635
723
837
238
312
380
325
257
827
838
612
438
158
261
169
216
872
772
226
806
693
731
798
682
343
439
447
455
809
143
283
291
132
58
603
646
418
695
194
488
188
815
553
341
931
108
368
521
723
923
67
836
417
719
804
862
886
151
422
524
665
173
93
884
276
72
212
970
990
823
375
303
905
855
353
888
810
205
547
947
526
902
315
580
626
857
305
820
117
164
698
718
132
110
726
131
770
996
690
410
437
73
844
649
365
334
896
812
935
11
107
387
845
296
123
285
434
587
150
108
472
766
503
548
44
63
901
488
107
614
240
169
751
654
335
492
409
947
863
873
89
649
731
421
882
343
217
390
944
658
746
505
150
238
765
299
89
325
611
540
237
569
779
147
636
362
670
634
297
867
155
984
637
182
990
133
266
309
483
144
196
14
601
210
467
950
926
407
794
282
124
333
397
150
352
218
822
961
948
303
173
777
112
586
392
52
963
659
560
576
31
729
851
749
875
756
871
321
200
245
727
710
782
760
643
582
798
602
28
708
50
459
758
142
11
465
934
39
205
692
522
176
600
631
930
297
103
405
357
930
711
508
413
704
607
73
497
621
262
204
931
946
144
587
996
714
844
976
699
579
208
492
887
136
629
712
697
276
734
250
908
901
705
208
536
220
6
98
339
562
799
621
932
249
51
537
735
317
285
128
184
557
878
114
215
129
449
316
414
834
920
396
802
416
235
942
751
150
390
758
173
298
836
173
155
382
653
768
698
32
182
152
515
327
458
965
579
877
980
436
149
160
934
490
635
356
74
957
992
689
239
355
90
559
349
759
323
886
479
101
275
64
408
694
122
924
868
311
955
490
992
69
60
888
178
209
422
619
15
912
810
738
156
768
869
790
706
290
289
151
6
619
276
834
540
501
161
32
828
553
241
159
191
252
570
970
495
728
688
219
515
479
525
766
570
192
804
194
708
934
782
432
115
906
525
268
343
421
242
581
63
271
973
870
693
502
851
477
767
638
905
9
622
155
238
220
795
508
875
308
60
447
672
293
808
396
746
128
931
271
935
97
258
328
676
773
503
14
575
599
157
490
723
255
677
271
383
92
840
345
179
806
380
259
201
876
76
958
683
781
130
299
202
5
843
988
958
990
253
368
902
642
283
965
532
791
763
524
347
488
342
785
543
818
334
828
693
110
224
524
442
522
111
948
566
580
846
174
688
846
984
696
665
703
680
875
982
218
847
364
769
809
955
84
420
81
458
827
213
118
741
71
40
667
708
580
362
6
55
411
634
356
712
990
98
462
64
878
757
604
69
971
665
394
568
56
650
96
499
980
945
567
983
144
910
373
275
115
63
325
353
215
116
347
22
630
716
634
456
864
607
410
245
589
785
351
57
289
224
768
712
682
878
738
877
374
687
80
476
486
246
216
515
935
220
601
410
598
306
960
949
615
437
607
336
788
546
192
190
581
765
94
562
865
27
80
127
811
102
926
562
156
909
65
297
338
638
618
22
379
841
265
984
696
980
310
1
203
153
213
727
40
710
575
261
602
364
654
957
680
440
202
682
295
174
724
364
975
899
559
185
831
213
203
414
269
998
655
669
323
16
337
163
836
244
881
138
606
214
873
291
302
496
840
892
416
909
730
58
395
776
501
578
841
165
867
407
544
467
568
603
844
979
520
834
890
689
235
578
578
676
55
253
500
253
652
462
747
869
385
215
170
463
753
58
235
615
338
868
189
316
394
590
867
252
126
508
644
898
14
682
163
97
124
568
872
189
226
505
133
946
682
878
827
870
103
672
527
888
439
721
471
955
612
840
671
634
640
714
225
730
828
885
805
175
566
881
486
713
110
731
497
178
277
350
55
267
861
691
115
68
433
890
930
839
53
194
333
944
606
377
464
746
140
161
986
75
824
834
728
720
714
932
624
192
237
28
782
511
942
929
62
565
868
321
155
761
401
570
209
214
804
626
199
324
288
238
957
278
716
301
553
907
290
318
92
799
109
135
105
780
507
680
909
99
784
405
299
382
204
92
133
356
309
574
150
200
33
491
115
587
218
365
696
945
666
310
443
690
214
139
198
212
795
415
958
631
251
821
156
247
622
101
912
622
798
257
882
645
842
534
144
805
916
964
366
969
653
373
155
980
565
370
504
406
29
325
273
90
4
976
374
721
528
329
316
853
914
858
332
676
181
154
758
899
181
307
861
602
317
322
137
700
585
185
862
896
599
292
989
442
286
746
538
184
186
173
656
756
165
153
178
433
966
730
435
122
22
775
112
894
311
778
836
828
818
996
519
104
88
633
67
90
405
48
387
223
170
36
729
394
611
426
956
489
823
469
658
597
523
754
180
276
563
613
313
707
364
99
941
870
733
647
454
643
202
470
559
627
48
720
957
559
816
931
450
117
441
285
330
553
905
361
286
345
307
395
723
878
728
958
127
313
401
8
999
54
567
657
11
513
800
871
458
163
995
896
951
990
569
931
921
218
312
417
897
912
151
102
844
551
590
15
633
951
626
58
417
619
652
527
389
689
698
286
339
937
51
743
64
57
961
581
925
160
430
143
993
307
122
511
261
631
225
353
695
875
230
163
715
866
508
802
198
87
338
625
356
584
764
398
694
337
972
138
704
383
103
832
111
150
874
449
757
928
886
969
390
763
216
19
103
710
748
577
913
556
782
120
431
725
757
523
375
827
942
600
400
155
952
586
819
732
108
482
495
289
436
683
921
387
359
463
489
176
612
435
249
473
165
907
154
121
406
194
194
181
965
560
265
175
931
476
27
239
396
859
886
835
773
414
436
669
690
853
950
456
204
929
813
583
217
129
407
892
544
586
462
730
768
20
2
553
919
423
889
79
551
549
10
112
23
645
851
199
275
344
138
464
30
635
763
646
457
163
77
929
217
716
822
41
698
469
207
863
275
806
610
873
67
823
291
813
363
173
763
212
13
325
477
538
364
621
298
549
162
862
788
839
103
491
681
481
680
971
186
963
605
353
781
229
882
40
411
83
11
323
975
899
899
554
589
775
386
91
666
667
585
189
820
307
778
704
975
302
907
377
155
909
322
283
164
588
89
746
785
375
828
839
173
357
676
933
176
455
130
496
469
583
859
209
231
511
515
624
289
514
630
110
714
886
286
43
194
573
614
858
149
519
441
714
999
912
772
10
346
867
727
482
811
582
157
617
316
429
190
226
945
490
286
606
154
311
941
781
199
235
48
663
677
89
647
107
106
463
334
785
131
135
526
796
670
482
723
246
2
237
860
798
303
236
622
875
947
737
583
437
550
876
272
491
825
442
652
272
885
799
147
706
854
461
110
982
268
867
582
158
897
392
97
972
439
45
909
91
472
507
891
781
968
315
100
646
677
382
962
123
471
586
246
291
508
665
701
833
559
81
155
606
5
433
299
832
929
265
627
248
336
448
231
580
154
871
167
511
548
853
920
869
612
115
582
282
211
939
808
530
566
923
269
682
104
505
666
986
751
957
597
497
164
157
633
725
590
610
946
781
356
932
861
543
297
400
934
943
94
958
404
267
519
150
138
960
478
35
429
189
863
526
501
332
835
473
118
877
163
714
495
331
284
813
648
100
513
554
483
873
264
149
231
634
57
412
515
22
659
227
162
1
357
579
749
455
995
752
552
798
496
953
711
797
381
536
644
89
777
327
896
959
117
566
120
700
970
565
97
828
955
292
688
870
114
52
111
168
816
776
998
723
861
723
776
148
920
157
987
234
276
75
804
276
244
23
882
56
56
264
555
106
386
73
91
554
495
834
728
734
682
712
94
938
476
733
794
775
324
395
222
736
497
811
275
152
764
428
285
124
556
269
46
675
37
217
218
7
425
274
819
442
49
727
225
47
698
827
238
779
663
755
967
260
226
697
768
908
127
8
110
992
293
155
222
452
552
767
514
639
21
249
655
155
297
655
49
172
615
599
588
448
751
499
513
603
774
858
584
604
401
961
32
123
152
859
740
51
999
328
506
733
451
327
146
148
695
893
861
768
705
225
115
226
769
985
740
226
131
769
618
241
969
327
671
833
254
530
728
787
780
551
641
288
136
284
679
812
96
475
532
341
874
539
7
661
48
126
122
118
932
820
977
46
69
624
595
410
469
780
337
859
944
366
756
53
848
572
190
820
747
609
285
545
883
388
891
459
136
312
220
278
264
406
54
585
981
415
846
641
764
880
294
705
263
158
509
409
78
243
928
499
31
992
79
741
252
938
810
354
702
319
522
365
388
935
44
414
422
779
148
388
63
261
881
676
174
796
111
73
340
109
748
514
936
615
205
811
671
653
193
139
865
852
799
810
322
60
486
356
225
716
373
918
155
946
176
379
773
142
121
247
864
439
914
451
284
133
109
322
958
460
677
469
63
262
815
352
519
429
257
992
19
24
633
111
431
661
479
113
331
375
197
897
852
85
42
80
823
87
181
113
680
615
20
761
636
652
307
656
78
404
661
387
194
405
621
45
428
60
603
42
197
472
29
516
89
627
805
494
426
706
978
686
262
149
545
677
343
550
222
501
974
153
161
74
515
272
866
44
376
255
582
625
299
658
17
779
130
614
376
900
638
752
220
422
959
220
156
27
756
679
187
216
845
352
593
653
592
741
213
673
132
143
944
603
510
86
48
884
463
540
764
77
610
251
902
551
943
779
533
612
147
47
252
415
625
730
615
105
213
195
125
549
361
34
509
124
271
767
914
44
244
94
805
575
448
616
538
195
604
878
411
463
602
221
691
54
16
790
316
711
653
63
184
140
900
751
866
735
115
91
747
518
3
832
236
494
616
317
47
580
687
542
418
487
485
825
637
93
409
782
729
649
478
776
633
921
411
944
91
814
961
668
367
70
342
998
559
552
119
670
948
246
612
627
549
783
259
211
870
510
46
244
515
50
499
746
324
790
466
15
710
542
585
605
452
163
896
494
144
409
799
878
2
413
190
479
112
912
43
408
899
218
33
164
377
90
459
849
775
932
441
411
414
20
589
13
436
716
632
682
475
562
174
534
961
27
878
392
110
731
153
156
841
912
287
300
440
901
191
318
691
295
527
915
366
2
825
557
758
158
480
138
556
915
273
205
78
845
750
570
612
106
258
739
714
261
315
592
347
739
379
705
336
613
851
768
294
302
211
245
508
77
183
170
57
280
209
12
349
764
781
281
966
798
804
87
689
69
349
560
686
222
569
927
987
140
80
581
391
996
724
187
800
394
917
125
311
837
824
921
920
779
498
45
593
122
270
769
855
936
793
765
805
286
131
81
881
473
279
395
957
891
916
81
67
285
200
837
975
411
323
947
685
111
447
127
489
693
407
768
843
102
917
484
413
995
302
941
645
223
484
983
429
773
657
338
687
969
262
83
447
135
765
635
612
243
286
165
592
793
428
584
355
315
317
313
392
478
960
218
64
745
451
297
355
34
77
812
169
794
592
170
845
347
88
930
941
313
89
382
317
771
775
971
709
397
109
630
772
800
256
821
104
474
459
742
482
244
412
759
974
70
663
817
547
568
992
444
943
922
42
807
949
234
547
228
330
305
13
501
440
498
678
4
451
646
362
786
125
885
458
778
642
608
231
899
639
147
23
813
753
711
660
850
476
887
446
235
317
851
670
201
845
690
452
143
54
675
841
645
550
43
70
541
37
576
825
253
302
676
104
524
282
812
905
382
607
465
748
740
946
128
127
767
28
830
131
792
362
522
906
806
780
38
301
473
798
873
448
462
889
411
237
590
120
18
641
564
642
406
161
345
946
70
74
102
834
470
252
383
113
557
233
646
155
852
739
613
400
734
656
576
52
290
165
743
753
602
860
797
360
576
251
458
403
616
429
879
38
402
91
868
90
271
240
240
166
360
898
31
57
651
140
908
149
84
11
396
146
827
553
912
785
291
559
867
447
699
453
320
921
13
104
697
423
930
735
328
769
767
134
837
492
7
49
81
177
12
55
204
341
884
500
629
718
452
555
713
983
865
712
819
861
82
275
275
874
685
421
257
98
598
659
906
31
107
976
7
353
583
249
50
723
250
363
389
346
55
835
204
237
46
929
462
63
693
454
576
753
435
967
391
41
953
155
410
718
245
804
88
825
441
166
384
584
474
648
990
874
236
849
666
795
403
5
134
91
203
64
916
389
876
538
179
997
605
103
851
737
374
237
648
293
150
396
101
738
769
22
383
273
994
697
807
550
252
92
870
431
120
364
933
634
400
958
551
186
617
328
454
375
277
724
845
233
160
867
641
898
996
320
347
457
901
277
500
88
227
658
365
588
991
234
688
868
69
886
362
372
575
914
480
242
365
236
460
175
821
65
728
815
472
596
907
114
464
707
810
396
61
441
484
199
483
598
442
851
373
640
678
570
122
410
929
300
209
182
358
383
69
871
455
562
364
927
782
826
587
847
994
251
250
353
674
304
27
888
129
595
830
784
153
74
669
193
127
276
113
906
873
906
271
688
218
180
43
858
384
958
691
363
804
717
724
228
533
133
302
96
144
541
609
862
914
399
535
99
280
151
383
446
378
106
209
389
146
790
747
705
200
364
418
822
105
54
880
182
809
607
119
778
458
962
763
43
694
862
329
584
984
481
663
995
488
95
12
905
923
194
478
469
667
75
217
270
245
966
955
278
629
454
200
522
435
122
336
48
506
98
66
575
786
412
393
649
528
149
765
380
262
574
114
154
766
703
627
789
741
777
803
337
818
502
48
162
555
772
505
820
468
197
743
596
286
868
300
679
804
99
741
604
557
291
590
523
891
576
46
905
885
618
417
333
385
229
378
243
121
142
905
706
689
571
484
200
292
660
900
623
181
912
67
801
812
580
481
265
263
595
17
158
980
348
177
715
509
962
107
382
810
754
212
593
682
896
875
9
397
9
614
655
868
366
830
332
587
237
592
329
900
601
555
388
580
258
299
142
295
765
542
231
791
750
819
891
621
438
505
265
544
723
201
790
830
187
837
520
168
360
853
187
417
847
591
931
863
880
731
437
255
583
376
186
199
377
212
409
346
740
802
129
490
801
113
229
274
541
94
648
470
451
447
667
707
6
403
515
632
298
918
776
174
129
178
525
575
692
923
584
741
438
87
660
595
88
523
600
375
133
189
186
50
692
287
598
183
448
456
878
910
284
39
534
318
354
490
995
7
18
611
964
378
222
436
163
978
959
486
912
655
0
639
646
985
809
313
258
576
945
402
885
178
96
679
925
774
863
358
423
312
188
776
925
439
863
720
812
118
8
561
527
234
994
252
715
143
542
423
858
451
675
337
907
220
161
524
62
558
78
618
183
353
257
131
693
885
870
800
578
413
788
915
925
517
217
489
424
597
607
362
895
219
424
201
383
734
376
338
177
302
859
645
908
209
807
37
278
176
357
685
52
391
871
951
575
793
269
811
955
705
926
514
377
555
771
249
772
501
19
331
151
203
846
982
130
52
107
890
613
246
36
544
839
143
52
167
218
475
125
511
355
717
589
562
344
337
84
223
257
358
520
609
409
950
806
470
838
791
195
346
266
35
509
512
663
769
385
817
111
241
514
4
877
756
183
927
139
690
272
277
50
810
423
56
453
446
359
79
593
744
645
634
194
361
446
389
810
903
144
275
481
50
955
553
837
504
202
417
35
604
115
251
860
587
219
402
837
382
715
963
511
159
748
289
130
660
4
824
209
672
582
805
478
374
428
937
275
402
711
416
663
219
322
977
456
122
791
153
6
137
790
945
690
448
720
795
230
952
193
889
850
143
220
577
389
422
28
652
865
320
557
363
597
518
317
195
781
978
9
367
288
546
81
112
675
351
164
281
501
413
445
89
748
311
872
106
971
261
32
507
88
957
36
424
861
137
128
393
653
673
904
478
767
984
338
530
76
587
688
951
550
268
446
411
960
419
908
295
485
774
60
284
903
149
310
721
520
129
771
937
398
139
117
353
345
745
917
315
308
150
411
423
77
506
855
306
384
682
541
649
403
101
274
228
324
60
560
23
683
938
646
652
859
84
511
261
823
926
915
198
882
693
813
439
46
11
905
617
193
468
777
219
747
538
81
163
224
354
487
995
2
937
10
617
541
773
695
682
972
750
865
761
335
379
32
546
655
230
928
494
593
626
267
950
55
303
615
174
799
672
249
42
699
363
355
553
701
51
989
752
696
686
249
492
384
130
409
599
954
385
978
435
456
759
639
809
990
211
360
824
520
830
525
53
299
65
740
406
7
631
283
753
29
140
231
181
790
151
395
191
442
253
146
544
997
752
461
168
123
851
615
473
733
12
988
17
742
121
593
544
988
708
301
530
235
439
128
610
822
215
26
357
162
835
454
435
861
174
315
92
801
549
178
721
29
38
5
910
835
111
687
171
339
499
135
964
844
521
402
170
493
856
51
904
348
356
206
83
302
698
189
2
625
978
699
346
249
199
959
546
753
69
658
488
793
735
903
749
236
20
365
4
57
650
840
948
991
746
788
194
831
188
122
343
480
664
27
923
832
485
515
229
99
249
315
973
153
430
88
126
487
783
654
165
210
300
729
159
41
345
287
56
893
16
739
605
958
159
582
863
188
656
673
14
773
622
916
480
543
282
301
723
637
125
420
707
877
635
844
178
877
867
654
127
390
128
228
415
313
375
85
710
605
401
420
807
664
937
85
375
458
452
233
40
877
696
188
450
643
525
64
817
250
310
996
743
121
227
949
565
613
948
788
708
375
835
794
415
427
95
82
565
876
310
223
22
992
91
880
766
661
370
586
238
73
149
566
378
174
389
879
493
491
164
644
559
572
487
523
790
236
373
112
748
976
48
439
615
36
555
493
905
472
215
289
343
833
278
134
608
523
35
478
990
54
52
920
587
390
558
208
262
95
136
412
429
195
987
797
107
757
387
333
124
292
22
44
431
936
656
196
294
755
128
426
987
318
321
121
332
363
258
621
476
490
966
177
203
220
741
608
574
343
898
950
174
956
75
625
701
609
908
685
472
931
461
240
213
587
181
93
314
487
164
343
619
636
232
376
7
476
882
218
710
656
778
418
749
666
37
501
747
776
771
531
249
943
220
247
992
475
263
761
784
888
643
69
597
369
114
454
294
536
402
718
860
349
593
172
891
374
739
956
559
774
149
527
292
584
271
557
705
962
252
871
843
685
225
807
856
552
687
320
457
901
63
151
601
816
601
52
329
71
918
277
730
807
252
668
737
483
655
929
70
239
583
457
243
426
694
273
801
653
463
991
36
937
758
544
817
758
578
171
739
405
937
166
155
632
722
140
174
682
726
494
865
32
630
442
44
587
335
48
380
986
197
887
790
708
146
228
184
984
194
26
738
656
640
513
204
405
59
384
145
735
343
923
786
95
299
449
531
664
388
377
266
350
553
662
242
96
573
379
213
287
263
767
18
992
509
532
722
987
624
546
837
83
935
816
760
809
136
887
625
752
625
283
937
920
623
191
583
611
463
717
132
691
966
320
715
475
180
330
356
459
972
963
718
479
545
936
673
916
560
93
120
456
700
46
93
329
460
118
725
538
770
40
63
224
591
455
506
90
25
831
119
605
459
642
39
549
942
622
537
772
613
381
482
848
839
204
856
430
762
965
92
885
668
288
32
527
201
837
650
566
448
712
837
497
870
19
597
713
518
703
271
27
886
946
10
364
218
370
574
947
274
459
77
694
818
970
623
596
410
836
663
208
916
988
92
525
155
63
409
914
166
439
823
586
509
736
737
349
755
178
900
24
90
904
291
42
143
791
352
725
510
199
155
466
292
197
509
523
801
357
494
556
331
622
712
674
620
412
313
299
910
53
514
892
84
156
882
485
830
862
467
898
41
390
698
797
589
445
6
409
261
204
318
932
53
563
441
299
781
802
459
41
513
14
969
630
289
902
197
680
382
139
109
670
726
22
532
488
944
199
886
95
444
843
485
480
359
125
307
962
310
611
838
559
682
666
558
457
61
350
962
755
59
681
755
391
529
716
621
861
290
626
482
279
596
195
731
940
538
0
431
777
550
97
107
38
428
590
385
533
222
191
694
61
510
613
753
86
357
564
667
909
216
607
742
978
141
464
131
481
369
245
875
366
443
596
702
513
253
693
494
959
997
16
196
873
996
348
834
856
358
189
806
113
798
242
392
436
949
215
720
522
1
862
377
247
635
196
168
995
899
699
327
789
630
179
951
53
548
360
35
696
545
462
483
35
506
247
943
53
254
129
604
997
70
477
921
262
261
375
998
2
102
619
942
851
41
675
227
657
940
510
714
972
906
589
838
480
420
282
112
85
836
67
476
432
789
198
400
447
750
706
343
791
626
822
168
766
412
332
992
210
477
544
469
585
123
883
928
645
726
303
525
886
510
770
160
136
699
218
926
561
301
937
521
656
828
145
682
37
547
362
874
887
289
671
142
426
913
685
784
762
113
972
418
466
495
88
860
282
753
373
732
232
731
487
925
111
957
268
834
57
41
162
273
804
327
865
115
735
170
923
700
284
345
354
922
729
965
165
521
833
641
77
234
262
248
84
890
582
81
495
872
706
651
226
121
324
903
104
155
354
441
118
722
370
490
300
937
213
190
402
683
528
68
462
746
911
601
981
46
27
134
690
96
529
295
339
4
880
765
52
543
382
900
371
920
471
413
776
545
561
467
41
309
988
591
806
344
492
67
147
422
364
100
606
91
314
743
273
206
909
458
603
391
646
626
841
753
347
271
334
370
60
411
33
138
963
526
28
222
105
4
197
204
751
617
139
301
879
403
717
900
738
587
159
502
917
493
587
428
279
663
880
77
192
227
671
175
23
984
297
992
896
299
915
117
219
827
12
729
112
202
747
253
62
129
632
45
689
296
964
952
938
98
712
447
791
33
823
674
269
889
195
796
423
275
928
806
546
851
43
984
247
457
575
875
120
69
263
445
231
28
740
873
324
967
476
756
402
249
279
179
534
91
620
4
172
158
872
33
574
813
311
667
837
914
427
569
769
131
165
309
694
594
3
165
515
808
615
501
169
17
868
335
297
563
207
493
837
93
494
337
870
835
493
201
535
547
243
711
181
415
735
844
657
737
186
709
7
753
478
743
86
217
706
924
339
46
882
394
350
196
59
61
573
611
434
77
321
157
197
582
448
145
308
318
272
156
766
394
702
306
166
62
715
743
683
342
800
115
6
540
512
223
599
364
320
433
922
857
285
83
807
529
101
975
648
797
175
824
361
409
804
391
911
217
690
910
335
473
673
373
18
427
445
400
466
669
841
449
664
543
273
107
318
381
664
701
752
826
508
922
603
987
6
459
802
698
903
702
932
691
311
260
625
651
177
723
619
838
792
572
255
547
401
695
824
204
451
490
858
86
644
993
240
996
671
32
740
308
788
110
37
624
174
317
803
370
459
262
659
934
205
59
150
589
837
221
910
828
701
360
686
914
3
18
729
367
709
126
677
397
169
426
286
904
488
589
31
726
517
974
584
981
299
163
737
897
358
567
433
925
856
358
413
816
256
61
181
72
465
794
268
212
616
920
520
174
438
421
309
577
586
163
616
780
983
361
934
525
159
792
319
946
963
951
317
696
156
425
179
547
330
60
847
675
702
717
897
812
247
295
531
201
322
794
505
139
685
527
72
254
205
615
740
308
721
838
873
715
752
250
590
417
368
374
412
623
565
23
649
173
911
489
772
60
103
662
798
361
60
52
740
33
346
310
38
947
427
774
704
781
103
146
786
111
159
664
237
196
328
621
265
955
980
999
566
956
545
140
434
460
966
347
273
716
220
277
863
361
348
197
767
661
60
927
929
892
910
169
874
793
460
450
159
951
542
194
177
372
22
974
863
525
514
979
736
944
503
509
543
510
885
600
404
442
570
811
859
805
550
211
972
262
970
871
447
86
361
668
396
128
303
664
814
971
878
966
966
411
702
277
821
639
926
680
22
222
810
359
420
228
251
199
923
596
92
33
588
180
502
970
366
819
92
715
266
432
490
35
81
186
562
755
652
958
889
710
441
352
124
614
808
622
683
22
304
746
470
697
943
551
970
532
322
458
534
766
228
757
949
716
166
603
508
337
661
628
51
772
757
882
785
55
290
816
225
618
299
708
222
968
825
293
274
209
469
38
365
437
648
708
566
203
535
181
769
233
615
537
433
42
135
141
331
835
571
860
4
994
948
302
241
297
39
795
455
727
382
297
760
807
73
134
593
651
931
286
376
778
925
201
229
369
648
842
781
61
898
706
602
689
880
907
353
435
559
534
560
825
676
283
301
999
28
877
463
444
739
416
211
488
440
708
867
832
720
111
164
194
765
426
52
844
316
575
816
969
118
77
81
371
909
984
327
890
166
255
951
578
856
960
310
741
311
390
268
799
866
869
792
812
665
142
911
433
63
957
724
473
421
872
484
195
783
126
838
340
204
613
304
590
81
473
288
379
187
180
766
978
725
957
655
347
792
837
100
669
636
874
978
280
389
623
768
969
893
214
240
332
636
484
27
206
736
144
173
100
492
588
485
732
193
802
289
553
546
155
237
854
783
854
139
815
752
138
465
212
594
934
234
858
858
813
721
22
865
485
820
165
964
63
757
263
770
491
978
940
123
496
879
321
364
724
222
166
717
480
114
255
192
327
659
998
789
569
408
84
460
797
73
282
592
348
382
750
432
188
469
258
450
501
973
883
826
249
909
951
520
557
630
930
932
824
85
801
211
753
540
380
382
248
23
687
467
79
604
403
556
525
605
423
778
153
564
730
464
756
950
280
864
263
285
960
430
582
143
705
95
527
487
494
136
239
815
461
810
112
824
702
817
408
138
525
143
869
412
176
296
921
863
795
784
831
775
877
985
668
589
310
734
85
56
604
587
672
911
910
520
640
104
748
612
254
710
854
533
782
234
910
962
846
856
940
785
565
337
714
165
781
28
11
116
762
959
348
646
675
472
453
479
268
473
820
725
549
817
150
891
399
518
325
37
69
136
786
760
772
963
751
426
154
18
265
602
785
501
28
259
619
473
642
636
689
495
866
101
587
301
877
16
653
404
961
481
861
190
257
30
179
727
936
561
861
4
580
0
633
717
397
362
25
351
207
664
196
683
382
322
576
713
318
552
83
257
607
531
209
778
964
880
689
610
445
560
822
720
895
980
717
902
578
239
705
330
493
398
514
533
503
454
50
36
601
659
647
513
778
646
311
435
534
944
330
823
307
816
575
623
377
905
825
229
371
701
64
147
862
935
927
981
314
562
953
835
979
247
387
261
68
754
118
311
262
807
434
299
772
621
283
228
612
724
999
871
90
52
415
312
707
27
106
730
733
481
16
815
528
93
161
504
603
32
356
94
122
445
698
849
423
898
48
765
885
314
373
87
110
866
947
661
869
216
169
922
867
780
358
440
826
974
253
420
384
510
38
700
333
946
656
409
559
862
477
812
297
801
557
892
429
51
443
355
392
740
329
222
241
568
229
425
743
155
576
1
768
502
367
541
783
33
466
190
459
51
988
980
854
820
209
878
627
392
451
891
960
340
316
708
590
801
327
676
53
683
812
910
786
2
45
323
333
991
842
119
357
232
362
344
384
661
589
276
469
493
776
724
915
545
403
33
197
756
329
343
665
48
638
904
107
85
704
5
599
127
502
298
276
762
952
956
854
645
129
458
34
271
830
566
131
654
438
612
947
276
322
557
574
608
852
657
150
113
905
547
508
145
505
814
973
621
443
63
298
786
308
860
1
591
279
482
820
151
584
458
160
272
882
690
199
962
151
927
738
395
538
42
691
170
895
72
399
221
863
568
65
250
599
70
36
351
851
524
755
74
312
625
174
580
363
39
901
79
347
123
266
504
270
77
585
516
540
44
538
699
470
990
300
966
723
982
938
239
205
22
708
223
964
827
551
757
870
476
663
16
851
241
820
89
260
781
861
980
664
972
297
813
746
259
883
155
606
102
835
789
314
24
217
153
820
611
722
459
229
430
726
261
599
350
582
236
782
921
550
388
157
45
148
966
146
44
177
991
52
128
311
765
848
257
983
300
904
491
230
422
445
297
487
604
370
673
29
805
688
284
543
7
191
200
144
190
311
433
484
213
1
995
814
551
463
86
191
949
812
717
960
397
740
200
673
698
855
139
611
489
749
819
914
154
526
151
957
842
164
17
539
595
146
142
772
958
852
405
858
599
821
951
562
262
147
229
701
356
307
155
922
841
262
480
246
140
113
518
810
294
791
27
783
506
110
357
947
289
660
322
767
674
917
58
670
230
276
622
647
155
572
551
557
150
678
452
557
410
806
643
538
11
933
421
180
379
499
958
546
616
275
315
820
267
393
221
566
758
129
315
43
636
589
464
886
655
330
207
819
153
462
950
469
474
489
344
495
273
760
616
197
455
647
52
873
733
68
471
888
227
905
757
282
407
580
283
923
452
30
862
863
999
949
589
293
193
977
470
123
494
449
50
525
282
183
794
737
982
871
251
660
250
804
784
354
296
278
403
207
644
592
268
956
134
341
872
899
159
931
279
324
665
259
507
14
866
110
501
82
410
711
805
335
923
585
130
797
184
65
401
251
24
233
533
525
899
588
274
558
946
290
636
423
718
378
121
504
745
280
99
756
466
820
503
836
18
530
364
605
427
875
324
986
758
172
885
430
383
202
292
339
859
495
111
657
49
433
475
845
99
940
842
936
427
861
68
712
219
18
536
795
752
166
406
125
252
894
605
318
850
353
984
602
490
876
749
636
64
369
95
372
492
723
640
766
554
669
386
781
39
868
12
806
381
750
697
219
980
65
391
163
472
86
609
340
271
9
184
769
900
253
476
919
40
378
46
578
835
423
475
287
20
895
26
879
391
272
254
945
632
63
474
313
990
706
981
606
877
168
803
731
300
177
271
47
1
586
96
45
109
620
316
609
257
733
889
18
336
598
771
195
29
105
335
93
676
884
850
564
961
286
798
294
299
28
357
545
143
990
951
173
880
111
808
529
133
479
239
387
66
728
221
902
779
979
58
773
870
429
798
251
412
341
666
695
398
881
685
506
282
179
290
391
935
891
962
305
742
918
425
422
732
297
893
542
852
401
664
607
975
125
476
911
41
137
777
380
87
232
209
755
340
637
531
737
461
452
895
222
706
925
410
813
686
138
450
582
983
43
203
630
666
869
105
618
771
307
854
385
281
979
187
5
207
358
143
165
559
660
572
217
386
967
280
702
47
690
383
253
714
17
525
465
371
692
271
96
712
926
694
888
763
61
221
766
819
92
72
87
212
396
281
312
495
146
56
474
556
608
286
127
525
550
946
865
69
524
636
596
693
986
660
495
370
748
862
340
414
334
858
676
861
921
161
463
429
997
626
964
365
813
924
522
561
789
551
981
90
8
713
972
572
381
12
310
725
657
412
17
443
602
207
911
823
852
985
717
463
621
64
616
247
172
375
498
788
177
769
704
699
260
388
188
428
987
150
95
669
318
259
670
922
423
634
510
938
726
508
540
429
516
439
36
801
194
150
175
165
677
398
600
200
165
429
67
346
775
410
94
272
375
477
623
342
168
460
280
381
186
840
871
745
436
953
415
733
521
571
814
225
718
94
31
481
122
629
621
452
578
593
770
533
15
152
729
147
663
108
963
666
941
257
700
132
406
737
456
226
256
315
315
61
251
45
668
34
322
54
541
486
58
568
782
24
386
693
956
119
14
411
752
160
870
932
256
323
238
902
594
414
663
101
646
284
183
369
581
961
858
987
730
357
638
887
860
316
781
448
209
443
205
225
272
648
517
220
856
4
138
371
748
855
601
855
314
491
732
111
151
260
805
539
50
747
654
941
263
621
955
126
972
349
656
660
45
210
997
642
318
281
860
235
677
147
999
279
30
185
229
383
958
700
875
480
630
897
91
168
668
671
957
220
271
137
968
175
897
679
263
476
150
41
282
925
693
982
259
602
769
247
214
612
244
5
736
273
966
495
270
874
515
449
243
488
996
773
992
454
671
173
973
29
510
291
883
752
213
425
1
424
591
188
325
90
44
40
658
995
763
205
441
917
920
332
0
887
426
23
535
478
925
822
263
734
220
647
529
912
860
407
885
433
355
252
460
44
91
948
59
880
93
624
569
99
301
551
724
188
580
752
576
840
29
942
506
802
378
968
23
877
623
714
820
183
53
203
949
779
758
389
451
728
686
961
156
841
711
375
532
95
99
463
203
382
916
105
853
124
8
30
771
822
796
311
713
584
121
359
135
311
781
676
318
414
308
852
688
701
801
765
667
833
279
44
858
898
109
377
625
237
758
663
524
706
393
676
689
836
696
205
87
166
961
416
508
769
436
409
52
204
180
140
736
926
934
612
801
298
973
578
774
677
17
86
94
534
869
738
637
618
62
41
81
237
537
126
74
175
46
138
938
213
540
772
289
718
656
682
422
915
45
369
686
635
398
154
78
686
593
668
1
222
527
375
306
61
818
173
84
916
544
246
347
870
39
281
79
662
895
503
917
623
590
1
906
440
880
486
30
762
14
552
921
730
483
281
299
724
584
776
213
343
728
219
782
198
254
681
468
783
707
792
257
192
424
411
442
666
633
496
20
368
837
485
66
885
885
542
580
430
613
745
418
588
975
445
374
73
260
1
977
269
598
914
687
760
597
266
344
164
106
542
859
701
41
234
666
689
622
864
276
417
788
31
774
943
721
770
883
727
746
357
724
382
559
373
178
829
207
664
441
184
231
370
953
754
308
257
702
612
810
109
126
39
797
738
485
806
198
621
412
159
817
471
722
350
505
390
361
336
153
220
336
897
177
843
19
787
280
928
225
355
275
181
393
765
932
9
250
624
460
272
931
573
402
989
326
938
467
108
934
275
709
59
615
526
874
67
853
705
874
653
374
632
209
263
238
592
933
670
616
633
924
966
708
384
939
652
127
794
255
299
957
482
522
836
414
292
221
481
528
837
598
102
95
111
691
313
745
968
606
87
814
673
932
143
443
617
978
463
445
287
81
67
888
984
60
71
61
348
121
194
851
982
894
322
577
206
607
690
477
689
567
645
855
178
101
473
533
815
273
785
677
580
250
629
395
911
918
187
197
541
657
796
325
484
359
753
874
318
639
401
381
981
834
760
483
468
210
150
677
498
845
597
328
953
897
60
809
122
302
994
568
802
674
695
239
689
862
964
622
743
936
256
375
860
289
834
545
804
55
7
407
272
26
936
927
159
899
168
694
143
168
698
875
283
315
427
964
862
34
534
466
671
430
222
664
45
88
993
821
823
726
542
823
300
85
842
695
438
912
675
400
531
126
269
301
467
223
733
453
455
620
411
280
585
225
813
398
355
941
667
542
32
125
566
83
829
524
915
117
222
492
383
980
124
454
762
725
380
842
466
482
960
239
724
194
87
470
245
841
627
402
199
749
947
560
309
58
495
243
810
388
596
102
134
823
102
889
909
374
184
449
437
567
957
90
394
341
407
45
893
300
540
813
797
271
247
255
331
987
933
90
35
576
366
802
690
585
749
515
448
189
255
611
791
591
683
168
446
209
681
78
305
394
569
969
924
836
417
59
65
30
302
190
188
940
769
205
715
60
957
922
428
305
106
515
94
429
411
254
118
629
63
813
704
944
143
33
277
986
555
223
345
641
46
727
685
349
358
281
745
363
903
308
730
359
759
814
105
990
80
95
194
488
360
479
11
475
343
715
194
961
543
560
986
563
634
268
122
717
270
130
364
264
330
696
662
507
470
546
769
357
360
443
735
801
161
18
719
835
609
80
66
23
705
399
791
496
843
126
98
8
682
556
12
970
696
62
172
561
238
968
631
420
40
881
361
704
38
834
555
552
347
826
103
586
929
285
346
705
23
346
55
471
483
325
318
983
370
952
185
485
819
87
710
205
545
636
248
453
401
60
953
468
132
443
994
878
242
565
627
948
724
780
70
817
922
567
382
802
590
203
847
5
520
215
760
42
429
17
862
836
673
751
271
127
123
815
518
392
523
283
206
300
337
674
229
135
582
986
966
504
376
237
545
139
943
261
61
593
821
619
406
100
188
166
39
725
758
920
508
462
622
963
854
332
599
453
841
670
310
520
778
626
290
793
313
433
345
496
992
570
22
485
700
786
571
679
756
422
356
366
263
234
735
227
85
553
715
845
30
393
66
155
848
63
555
154
558
61
638
807
593
693
968
75
284
206
411
835
207
887
749
475
960
693
584
306
52
816
426
569
353
71
520
895
776
925
227
233
671
898
818
661
49
111
58
427
121
439
560
249
438
341
219
81
358
796
635
630
543
253
466
333
887
146
29
90
154
401
747
414
81
678
907
503
229
363
60
124
558
842
163
604
655
446
902
195
355
195
484
704
291
856
728
462
752
254
41
72
781
529
343
485
718
779
529
382
855
734
353
923
58
470
999
830
123
316
440
509
561
698
372
782
640
467
482
189
943
663
796
63
332
97
542
769
74
368
314
413
569
193
607
692
720
282
464
695
448
785
825
913
202
797
738
126
135
587
614
416
920
162
480
321
590
184
274
760
300
330
709
802
360
948
820
264
899
207
671
840
432
604
415
906
429
447
150
506
751
592
410
392
994
335
959
544
262
37
843
852
261
735
240
271
621
412
880
65
788
354
603
213
375
150
949
265
834
859
811
434
857
23
693
39
270
588
258
33
408
290
448
447
242
128
698
280
111
399
261
806
614
691
736
410
350
286
852
16
384
388
941
904
688
301
533
149
460
242
490
942
310
902
463
65
170
506
904
189
320
822
248
66
3
196
290
494
354
332
467
180
422
303
660
387
492
291
38
737
505
499
48
264
503
666
613
612
958
438
73
674
500
227
429
229
998
371
671
148
978
139
870
178
528
688
19
796
349
793
454
998
978
323
605
811
404
627
465
277
350
648
275
722
724
75
273
176
658
942
452
724
292
298
595
22
406
660
186
298
54
628
78
883
257
991
165
789
896
196
285
991
247
904
100
56
603
685
414
761
963
394
610
34
591
76
149
143
762
337
661
716
736
851
611
759
367
742
196
264
321
481
165
587
298
962
40
140
164
966
73
27
565
652
235
585
969
416
290
352
775
496
978
983
724
539
372
364
154
67
108
974
186
719
675
620
733
291
348
379
854
651
7
876
235
328
949
795
238
248
301
175
865
157
904
14
757
256
942
501
577
196
340
715
719
878
662
940
39
720
101
857
581
196
301
174
185
383
781
721
405
628
533
562
705
799
2
725
437
407
127
945
680
667
991
50
363
926
490
703
679
536
686
607
204
985
670
745
180
871
99
693
548
681
676
364
724
642
147
907
818
265
898
355
160
188
976
395
473
729
87
615
487
781
640
626
299
363
24
809
720
581
644
872
994
729
442
954
716
330
834
778
451
882
509
189
683
757
378
185
234
8
368
107
429
212
312
645
760
219
891
857
961
715
323
642
769
425
802
790
449
271
202
258
928
730
400
744
701
695
550
240
726
132
462
685
547
948
979
285
534
597
656
871
333
311
684
929
421
594
160
792
315
275
571
128
957
478
658
163
897
360
116
970
422
352
515
738
338
642
549
585
416
614
133
329
14
544
787
186
140
208
509
494
431
480
78
558
652
305
57
72
15
338
769
231
740
297
131
388
747
671
778
949
249
969
865
192
821
667
631
57
758
379
410
370
168
208
320
4
320
485
111
66
434
252
928
30
786
157
309
815
365
360
216
396
181
148
903
574
460
697
806
380
992
422
280
894
872
113
31
533
722
77
770
616
998
761
392
829
30
725
374
754
165
882
52
532
268
671
548
1
282
679
672
160
966
595
454
600
627
387
436
146
208
700
28
603
405
784
155
435
399
453
832
203
531
90
144
710
759
547
270
101
774
29
115
127
301
922
262
987
500
198
724
515
507
715
185
899
324
317
658
36
897
813
577
334
818
339
790
572
65
299
179
266
273
118
194
132
644
415
873
246
17
236
918
653
551
246
12
748
925
586
901
286
527
245
729
969
257
751
771
48
75
798
926
859
984
479
145
20
331
304
405
26
589
882
445
284
203
596
22
540
190
670
138
608
300
874
826
751
858
809
679
440
286
435
6
105
907
275
80
70
139
838
317
914
439
132
266
222
256
378
272
111
456
684
385
560
15
908
87
266
954
754
708
698
36
903
898
110
805
918
69
328
372
68
994
41
9
301
50
477
194
225
615
175
242
292
422
330
722
965
42
428
822
526
820
31
429
823
840
858
883
784
648
198
59
802
154
239
983
677
160
420
59
290
85
972
0
522
929
954
350
592
90
244
914
189
267
561
917
408
371
801
628
499
954
669
150
584
553
128
575
406
788
888
70
617
643
356
388
115
140
130
601
862
903
302
59
687
121
823
24
285
395
852
335
552
395
943
284
17
182
579
355
504
223
327
483
262
678
960
471
714
982
628
825
601
229
929
541
764
564
230
656
682
322
387
502
356
354
478
151
403
655
351
886
320
559
511
693
536
191
520
359
395
546
421
383
387
831
707
947
484
255
242
120
66
700
307
653
37
630
631
495
426
747
299
705
22
709
732
803
374
157
123
929
500
246
710
934
549
861
225
714
634
146
723
815
749
567
293
597
837
627
176
546
950
667
896
762
339
110
992
771
565
329
68
623
217
567
262
5
390
387
869
300
971
542
407
528
314
354
814
584
679
874
966
872
550
830
276
943
890
514
792
84
953
344
34
232
444
248
886
914
729
904
401
993
234
469
585
253
412
674
570
674
886
655
877
535
451
167
212
703
678
48
188
742
119
84
713
370
667
874
269
142
382
390
869
174
42
882
443
267
720
194
994
185
298
703
1
282
443
631
736
936
462
622
877
529
953
944
478
232
802
350
989
831
944
780
183
722
807
492
709
504
459
718
942
134
375
195
675
178
994
889
705
777
216
416
373
598
816
895
562
588
895
574
325
906
898
404
334
552
220
537
143
398
196
284
258
832
85
460
945
943
32
689
204
168
549
2
522
292
203
299
958
590
4
590
444
766
576
144
108
828
63
945
740
922
905
740
728
304
578
487
469
725
422
831
21
861
253
355
843
285
25
671
816
657
286
121
559
676
287
859
890
261
328
366
900
12
368
34
364
342
670
566
12
873
521
90
693
81
382
131
603
120
529
960
827
782
421
746
213
745
815
146
545
48
3
170
721
493
937
34
549
922
755
310
167
949
203
713
40
832
237
50
529
314
132
687
168
243
708
410
814
857
520
135
714
786
430
90
921
63
256
582
131
64
69
65
374
869
606
793
178
725
933
87
394
342
714
645
418
582
179
9
907
603
111
525
203
616
408
305
286
283
398
351
610
286
220
196
370
223
686
77
265
459
465
708
627
126
14
773
884
998
150
973
732
770
906
70
927
933
961
494
354
371
836
447
32
486
50
310
228
725
967
214
678
491
697
683
169
641
286
273
155
479
688
40
16
849
877
259
460
99
668
357
592
820
534
399
92
325
24
983
925
786
181
295
985
141
105
465
803
829
754
569
497
461
889
937
682
116
299
323
447
247
58
368
116
719
876
306
934
717
325
936
723
820
866
303
681
392
758
565
888
923
964
872
431
463
731
13
494
974
741
185
819
192
483
223
793
628
92
306
345
729
888
662
645
442
595
140
374
529
22
195
464
247
452
373
841
158
916
374
535
670
743
399
23
716
611
114
985
216
557
539
166
218
723
266
92
88
915
47
975
97
704
360
728
309
707
227
31
627
980
57
818
644
776
511
604
825
726
276
664
158
821
445
292
235
44
745
473
983
784
281
938
420
296
866
305
97
5
8
658
609
470
204
700
926
336
607
317
619
852
793
880
762
576
302
306
546
415
545
176
584
34
373
865
915
905
819
7
200
198
259
93
989
839
426
820
511
510
493
683
235
244
61
958
82
254
555
513
581
87
506
962
309
617
718
258
478
127
894
47
729
697
35
148
8
516
805
749
947
500
410
935
725
300
839
548
408
248
312
476
39
54
797
179
29
620
396
648
462
264
645
431
925
610
145
186
565
977
750
565
218
974
685
336
875
418
355
540
79
174
77
119
297
583
814
0
627
538
782
873
632
837
589
493
107
944
402
766
2
486
505
514
459
963
294
984
939
297
440
830
623
284
207
680
3
231
565
706
391
647
367
659
657
880
491
382
370
438
186
834
411
316
489
588
143
3
253
736
927
173
839
931
27
221
388
711
950
857
539
41
504
493
962
84
631
980
139
953
707
665
933
624
199
135
777
663
263
815
765
106
942
741
8
552
797
52
912
928
435
542
492
252
302
864
582
804
532
942
316
438
697
808
987
218
834
956
557
188
507
81
441
634
970
96
272
32
870
357
740
16
782
66
802
631
892
498
253
507
931
203
46
448
767
349
646
689
319
547
449
530
874
507
327
481
537
254
162
940
112
54
960
939
651
702
687
40
229
104
918
52
256
469
206
278
684
509
502
514
388
944
127
927
882
940
604
762
530
310
161
46
845
224
135
156
304
648
97
175
951
376
210
661
418
227
890
711
169
713
873
561
525
64
188
110
229
270
675
376
626
865
623
117
481
765
792
783
967
563
249
501
378
85
273
62
103
934
900
308
339
928
269
378
801
241
14
521
817
134
206
623
165
453
874
539
38
591
481
493
612
642
28
423
644
469
534
280
194
97
130
717
795
55
487
902
852
415
122
259
220
821
179
195
223
365
252
521
387
434
506
853
789
289
398
883
937
611
702
834
729
610
332
900
388
876
702
533
14
975
550
983
546
988
173
957
809
632
543
258
549
757
513
277
437
429
475
812
879
970
979
227
787
247
723
748
498
781
997
822
260
987
98
83
516
645
262
835
60
408
984
760
343
552
472
626
596
28
35
74
115
843
92
401
788
191
993
278
778
735
595
335
931
625
411
666
874
333
866
137
917
744
450
991
956
683
591
323
664
89
999
927
26
122
184
702
885
8
586
356
320
266
632
728
789
410
653
920
448
627
424
386
385
692
753
441
409
78
542
210
888
604
250
216
638
119
892
399
845
642
440
808
544
41
681
402
637
850
853
293
386
400
4
652
119
651
166
779
873
663
214
825
204
315
490
866
991
140
370
414
924
426
843
684
339
841
230
128
202
79
990
311
217
939
564
899
391
577
28
905
832
734
405
510
913
198
45
436
292
830
666
231
93
349
519
294
936
141
461
223
132
182
454
332
475
270
669
178
4
937
291
400
419
776
667
693
171
118
382
811
450
285
167
825
305
260
574
52
963
958
93
895
869
15
406
690
369
349
302
79
964
167
311
941
342
735
284
963
314
778
419
809
384
240
841
713
815
442
374
313
119
923
323
309
795
500
334
362
154
791
876
904
13
686
881
101
717
583
703
782
893
806
616
34
600
124
96
321
871
330
591
957
2
425
139
180
351
72
895
727
774
244
94
813
97
236
598
165
57
750
791
675
630
353
742
865
641
772
730
392
1
188
426
46
404
576
859
934
436
785
24
314
445
612
999
812
385
447
223
959
581
670
550
898
103
570
412
509
360
715
35
992
690
60
303
537
786
564
331
677
20
518
345
855
910
699
839
188
453
246
518
88
608
324
397
290
352
774
172
128
69
473
134
203
818
636
270
512
927
841
774
381
853
444
515
388
247
532
74
646
119
982
708
131
778
393
24
590
34
5
418
402
494
690
690
540
868
890
680
171
796
625
914
950
583
257
651
936
887
605
484
464
623
355
471
846
793
732
485
852
811
836
998
926
628
632
970
932
920
802
171
16
275
607
470
517
103
655
913
506
465
315
374
403
188
576
631
513
225
738
703
992
343
54
51
412
393
485
32
171
761
948
772
783
384
633
49
97
641
946
819
735
26
420
396
535
905
52
264
471
630
104
130
513
537
145
351
899
365
165
830
508
386
252
721
735
306
827
830
246
181
773
796
816
528
851
670
698
313
438
760
595
180
34
740
601
43
366
475
532
555
67
193
273
991
21
520
183
415
359
939
93
263
610
919
489
460
910
467
967
11
525
888
581
285
203
696
640
683
507
138
18
52
751
745
765
49
99
556
978
557
328
168
870
6
418
269
209
550
455
985
786
117
879
606
821
686
701
121
256
980
626
92
674
154
242
284
66
674
244
332
27
927
545
857
799
777
524
36
545
599
937
392
720
604
841
111
402
565
168
347
875
954
855
975
83
951
333
493
859
136
491
296
247
53
82
886
43
861
663
294
984
179
247
311
587
776
669
18
262
643
640
672
725
113
401
776
184
269
592
314
593
64
34
773
110
278
923
704
872
511
777
942
96
872
800
608
559
997
57
810
475
469
748
605
998
777
389
470
449
951
579
663
624
79
671
873
442
487
34
591
253
838
494
961
297
764
875
927
174
589
411
23
138
677
27
659
905
644
770
204
894
70
758
268
230
423
974
600
113
828
897
394
405
17
810
891
806
547
432
525
411
847
596
689
79
951
926
640
59
990
230
265
969
473
769
919
336
440
799
423
181
456
941
662
391
75
258
303
917
401
153
2
337
313
512
828
316
846
16
469
46
433
299
823
518
612
723
640
384
544
810
378
448
445
123
271
696
742
82
214
133
226
153
603
38
295
875
157
591
711
664
212
8
18
991
762
179
14
70
391
835
853
879
155
685
839
745
246
163
916
343
688
186
889
380
839
524
414
744
511
877
680
94
455
157
757
892
655
164
570
723
261
57
427
9
405
83
813
571
731
285
442
682
70
751
842
889
533
265
113
39
901
234
568
679
939
356
309
58
570
939
25
641
798
716
575
331
437
179
598
207
695
882
379
886
696
726
927
43
231
355
512
845
954
788
264
102
693
188
278
179
841
51
821
999
633
237
707
947
513
295
336
222
741
980
977
773
273
94
631
210
122
763
246
413
452
41
316
648
476
968
602
155
844
833
510
148
985
536
563
824
624
427
813
828
477
918
169
699
657
583
849
807
892
456
17
550
669
107
815
252
89
14
899
853
283
866
955
405
252
609
374
818
262
371
703
202
584
930
294
159
408
875
312
318
843
338
812
564
878
448
490
628
279
4
455
404
703
698
739
790
65
718
39
223
941
117
520
236
800
419
727
499
298
600
304
352
995
522
228
937
327
50
170
760
0
726
839
617
418
829
101
475
956
411
512
121
832
274
0
850
228
917
232
305
902
947
132
44
13
712
515
689
278
86
584
623
992
337
740
533
76
72
320
305
410
857
966
564
902
982
345
373
434
72
912
21
323
273
688
411
165
909
472
71
225
315
3
997
17
709
414
911
582
914
527
940
825
248
273
347
311
758
115
24
566
458
552
99
906
636
837
179
809
210
267
794
576
269
202
260
387
622
66
774
179
766
455
510
827
317
907
220
389
582
656
690
25
42
894
819
284
209
434
970
175
453
60
67
330
533
245
543
543
692
688
562
392
704
615
585
157
888
46
223
903
191
336
409
340
191
888
271
915
371
734
36
725
254
977
181
765
804
431
756
791
240
912
786
986
27
175
997
36
327
282
101
779
378
765
969
797
449
876
66
914
468
567
846
803
975
868
976
731
148
167
874
1
441
313
527
270
72
66
102
360
957
814
90
540
493
483
409
565
105
885
162
265
995
558
870
851
284
333
816
989
968
490
418
864
606
254
30
898
452
783
988
592
124
158
658
737
286
143
481
551
43
424
378
159
938
531
490
854
728
165
675
403
845
995
534
7
254
978
195
649
244
312
861
269
703
989
701
662
511
424
688
912
432
24
689
531
76
744
21
417
867
667
620
592
841
398
668
158
868
992
747
76
592
269
482
261
145
778
346
737
265
28
109
265
890
386
525
175
130
828
444
221
788
425
836
660
973
321
409
384
208
848
173
534
262
799
169
717
654
857
119
377
774
873
965
469
933
449
631
846
781
719
31
940
227
742
534
253
972
884
994
607
846
483
213
440
839
951
188
717
222
998
397
577
832
77
940
868
675
287
904
278
133
357
187
509
851
851
892
270
179
633
482
739
539
654
390
428
526
194
458
736
186
506
950
878
373
516
993
192
380
584
183
764
889
498
753
480
971
815
861
936
637
923
148
794
776
766
425
863
303
990
706
102
855
755
788
303
297
984
257
892
465
954
952
86
175
224
370
440
468
156
581
511
313
11
751
354
496
178
52
951
453
856
789
614
568
37
633
405
319
485
53
49
478
388
89
507
917
99
353
287
817
591
279
578
296
429
709
635
242
500
802
435
790
849
291
591
586
410
229
213
901
386
294
844
986
352
537
548
667
244
904
762
166
638
319
485
433
73
538
461
985
695
68
129
709
175
898
909
442
140
844
728
797
402
732
618
723
835
491
713
396
403
77
664
419
443
180
609
816
702
253
995
624
129
18
788
61
61
20
314
302
602
768
823
968
295
194
478
734
35
681
865
620
525
526
337
217
842
540
205
948
474
780
810
215
238
528
539
340
812
855
85
731
557
10
121
173
517
793
385
669
664
645
235
616
471
106
163
106
434
536
151
89
804
962
749
978
986
337
448
548
837
647
236
928
275
469
117
896
422
287
605
391
594
953
287
429
210
848
808
135
620
763
192
266
706
63
465
176
706
723
66
296
418
573
629
9
581
732
336
136
360
507
856
851
710
986
33
45
178
975
254
707
657
175
224
847
673
744
757
123
428
757
86
212
918
532
661
688
141
97
841
676
301
5
472
30
719
831
847
156
733
629
390
370
910
562
588
728
479
692
505
434
162
612
260
235
810
828
864
170
635
412
962
971
18
540
594
822
422
328
264
371
968
308
0
964
732
764
749
298
997
257
588
466
558
546
64
356
777
572
296
601
594
510
969
146
803
149
849
690
945
599
835
314
80
925
412
480
373
741
35
248
932
329
766
446
884
68
590
61
167
829
823
13
576
555
661
703
917
662
329
906
516
526
862
195
537
413
671
683
335
678
378
368
388
514
201
532
575
983
820
890
499
11
100
254
991
639
50
623
253
698
37
216
71
739
410
578
892
251
769
688
196
790
688
548
994
223
526
778
926
813
150
235
228
40
958
761
280
257
34
524
667
397
960
957
671
909
852
485
317
841
467
889
573
839
610
7
244
152
222
622
268
1
584
564
106
89
832
333
45
949
339
662
238
648
212
777
693
368
794
30
852
245
978
459
743
567
252
963
48
581
505
301
354
751
519
156
162
626
838
933
894
249
209
324
288
546
607
328
974
557
376
830
452
902
343
996
650
691
347
903
571
41
16
459
677
714
717
845
251
845
333
52
43
48
258
1
439
134
824
137
188
431
173
855
418
899
425
444
762
582
818
496
517
781
70
502
613
343
791
548
569
902
898
330
553
660
782
332
542
928
18
217
442
948
497
855
389
783
599
886
384
40
62
162
962
470
588
601
692
389
273
809
210
294
662
924
425
702
131
200
608
36
869
897
673
527
570
745
770
698
623
334
578
399
887
438
172
386
157
822
6
100
718
637
16
995
552
487
564
510
922
606
788
169
319
153
137
287
497
566
822
527
961
614
382
619
250
540
740
166
517
972
371
646
116
973
349
916
587
592
476
277
386
191
967
694
93
258
748
521
65
816
385
305
253
213
581
582
54
582
833
473
601
631
513
721
613
922
395
855
248
795
814
992
418
901
489
573
293
368
382
668
730
552
58
374
342
319
605
361
554
546
32
292
225
930
604
327
191
642
282
308
953
194
622
776
15
473
324
205
76
402
772
38
794
7
45
813
816
19
74
49
767
777
579
178
203
518
439
327
147
958
37
638
647
57
230
334
76
230
204
291
442
167
253
970
73
189
540
864
399
498
183
902
122
296
459
100
79
880
905
324
576
770
62
779
680
223
633
417
984
125
814
326
990
384
97
62
132
438
861
761
200
972
588
721
877
585
897
4
322
30
201
16
302
540
224
629
26
233
603
124
572
905
440
732
499
179
229
958
823
357
737
469
905
299
645
886
835
211
189
648
936
710
79
46
504
113
121
969
87
385
684
273
740
382
503
12
456
672
181
757
726
824
511
218
29
619
129
988
478
485
761
936
440
98
871
472
31
291
202
933
572
834
398
910
396
974
666
785
239
465
143
119
841
14
438
35
544
491
784
826
599
609
252
658
633
692
644
681
420
672
674
618
619
658
615
462
39
333
5
430
564
446
450
213
478
726
722
945
438
548
641
855
554
240
650
485
180
937
726
678
283
567
943
827
879
653
483
97
528
742
680
298
381
670
959
783
536
466
828
483
262
820
16
649
180
153
710
433
580
529
639
376
678
777
0
608
939
911
918
983
706
133
410
406
726
686
494
546
937
846
426
421
657
253
726
628
54
949
309
943
317
745
83
562
752
873
796
7
703
772
631
96
152
760
409
607
940
830
742
20
256
847
626
271
257
354
458
574
651
776
168
379
470
440
637
134
20
960
94
443
808
542
780
878
685
127
683
863
568
638
177
721
564
511
719
222
786
751
484
769
858
735
761
766
918
501
53
318
302
35
766
872
62
938
536
377
570
311
433
840
995
549
988
274
952
466
169
192
476
894
517
372
134
660
71
322
64
390
183
366
62
290
616
745
468
849
702
323
354
379
268
815
87
469
15
558
723
282
542
32
504
214
369
135
31
76
472
968
837
280
194
988
933
487
509
756
637
335
129
129
639
845
238
587
40
595
610
733
480
866
621
757
103
993
867
227
333
528
822
367
399
182
626
183
669
832
83
539
785
979
539
185
266
688
755
544
12
530
592
530
267
477
729
687
468
323
704
916
845
896
58
678
486
822
645
836
883
528
384
942
190
317
904
940
820
347
192
530
112
400
834
987
295
364
120
375
690
468
420
888
812
533
658
150
25
316
211
107
654
836
798
381
769
761
725
938
668
503
248
454
228
29
623
216
734
375
98
11
592
780
870
245
947
287
699
636
873
964
705
834
215
222
467
599
726
670
304
657
883
978
470
264
582
761
530
485
432
77
689
621
737
141
78
460
517
45
325
45
636
62
502
472
271
526
717
871
416
864
831
587
88
668
636
12
454
291
245
392
2
350
689
165
388
759
839
962
405
351
372
754
651
421
989
643
874
257
45
798
460
650
259
924
893
530
469
760
97
601
436
644
247
167
137
1
353
146
324
108
593
784
141
708
362
997
521
4
991
758
13
300
205
163
818
466
334
965
167
929
866
928
536
411
495
861
301
879
94
724
268
722
882
153
324
547
849
64
622
666
254
869
111
793
349
873
152
198
479
895
291
292
564
412
700
923
657
565
365
891
543
235
35
773
239
680
556
988
214
212
752
161
634
466
286
560
743
580
371
495
122
115
681
233
646
685
512
333
270
674
147
199
424
376
868
37
472
284
908
834
905
572
472
882
518
940
739
777
153
621
568
289
611
576
25
84
272
559
343
987
2
878
811
448
248
436
259
37
295
189
644
477
509
478
734
894
978
629
13
681
951
660
236
818
587
241
977
550
472
651
326
977
344
941
747
150
858
745
982
297
669
694
276
446
206
483
191
465
764
437
147
559
21
987
787
560
683
674
936
247
781
504
668
862
928
514
249
863
698
646
329
38
466
774
962
520
449
933
637
42
99
20
210
407
737
279
219
227
755
516
825
601
902
115
123
357
589
402
555
94
588
194
92
507
555
401
470
563
472
633
541
449
684
148
54
746
323
700
306
326
282
580
453
432
621
557
129
677
26
152
197
427
48
100
690
743
405
880
816
358
235
424
816
771
678
280
698
559
433
992
320
522
434
63
503
999
132
257
90
808
958
334
218
142
266
15
627
556
866
832
938
657
779
407
226
539
924
318
771
715
951
424
862
529
669
69
931
305
467
347
238
225
678
310
725
157
863
185
601
985
548
694
138
611
584
45
401
632
904
850
575
426
802
869
794
48
4
396
198
113
862
676
336
520
720
431
24
275
690
941
840
371
300
132
875
590
465
237
177
68
507
727
182
513
860
398
508
785
82
120
478
70
41
351
463
500
876
229
751
633
909
498
675
548
855
997
278
748
570
994
369
430
748
359
278
679
84
861
888
695
309
814
464
581
152
312
633
419
790
183
142
397
436
887
880
506
697
707
315
988
0
933
242
971
373
536
178
597
737
408
682
465
691
829
143
247
528
200
713
103
438
299
786
140
26
825
614
215
220
621
467
269
282
124
646
273
171
910
277
921
178
435
752
906
521
864
687
394
482
550
537
924
901
500
603
538
389
908
792
81
267
475
899
217
198
391
590
54
310
741
231
672
214
555
414
881
977
84
35
546
545
8
271
508
372
746
147
286
178
696
282
490
185
87
317
417
353
296
932
831
901
97
285
840
530
584
518
201
60
870
428
622
330
581
317
571
33
471
6
12
648
45
74
930
920
388
173
697
787
261
651
224
386
801
290
864
65
881
685
645
652
109
288
413
51
471
261
258
401
884
159
290
922
200
390
742
990
432
966
136
113
839
787
179
210
166
95
807
244
229
687
451
269
60
423
835
411
393
736
205
48
921
975
617
592
582
207
375
763
653
38
743
744
608
453
472
792
466
804
10
669
173
652
850
242
320
422
865
708
363
337
55
417
566
905
610
449
353
892
813
345
385
636
327
890
738
742
968
429
179
568
922
202
932
627
884
391
36
202
498
238
57
445
429
641
373
291
745
21
536
70
764
745
773
536
437
385
605
808
156
233
37
611
184
52
895
364
781
899
362
794
633
910
830
831
401
51
508
489
151
202
445
9
827
860
673
8
193
519
730
730
842
882
203
348
396
491
242
887
387
788
723
910
424
444
576
330
527
934
134
912
762
453
269
697
789
209
233
948
331
881
591
700
134
854
288
907
143
709
422
130
681
343
937
674
313
299
853
325
445
632
862
589
425
765
197
398
475
702
316
784
195
662
662
787
669
376
778
925
588
695
437
721
481
201
973
838
851
534
451
656
858
446
602
948
4
709
14
636
582
245
326
535
47
418
643
81
821
96
724
726
536
749
894
496
966
841
48
621
551
419
217
252
702
419
643
601
832
392
176
23
487
414
743
997
953
461
974
80
838
45
451
149
511
96
8
326
619
51
94
672
821
927
609
460
267
731
568
438
234
609
724
55
576
197
673
338
721
80
360
604
962
531
873
828
403
343
519
750
959
240
225
63
516
480
123
218
952
253
75
774
387
628
9
634
717
961
972
515
193
2
123
635
959
9
801
306
456
298
324
504
905
86
388
857
949
792
877
276
265
145
526
137
735
104
848
795
371
489
352
39
786
24
567
564
896
997
514
361
970
993
814
660
421
504
675
632
661
6
767
115
99
799
551
994
11
586
936
855
218
708
622
954
892
751
959
7
733
472
540
942
394
230
640
622
345
434
14
297
331
385
730
359
193
976
30
476
399
377
485
144
409
904
379
67
914
970
202
957
434
965
615
720
361
186
105
679
51
652
338
814
210
37
598
454
162
108
554
465
874
100
862
406
725
191
407
398
100
304
167
444
836
903
637
170
358
252
862
15
798
5
869
779
481
576
306
645
950
422
716
759
76
140
439
496
691
78
80
19
571
624
689
853
729
46
984
108
839
166
55
352
770
222
340
751
996
781
947
569
405
611
548
820
948
648
26
424
866
73
524
258
653
754
226
86
635
368
767
290
117
869
462
992
438
154
694
278
264
36
699
589
834
638
513
925
792
4
287
655
785
785
57
854
222
962
652
602
987
990
404
774
31
153
777
324
890
804
796
775
75
199
787
666
435
801
646
181
901
517
506
658
695
436
561
7
871
303
734
662
361
209
941
258
776
371
450
616
787
690
103
960
948
415
609
214
343
82
583
265
290
906
938
966
649
858
537
893
451
450
310
496
707
73
846
425
701
423
430
578
437
673
96
946
654
745
654
735
59
6
733
940
181
927
358
14
378
301
509
44
26
131
356
893
215
319
345
496
714
160
943
869
356
488
884
119
690
208
513
942
405
822
567
55
130
193
824
171
23
656
603
834
890
145
404
807
500
811
788
843
687
464
558
166
851
332
586
186
752
700
449
630
164
716
501
532
348
212
398
989
641
426
349
23
128
498
322
922
73
938
267
400
106
961
328
406
281
57
169
692
808
649
256
867
654
162
423
265
612
380
502
425
926
819
730
652
316
576
798
622
939
657
824
38
176
53
454
433
146
292
928
133
627
418
735
637
444
51
651
715
853
86
274
59
397
264
930
76
748
86
187
707
507
827
262
314
61
444
792
757
778
259
337
633
522
365
288
410
328
618
529
397
972
494
432
584
554
320
702
909
487
965
498
194
631
651
373
305
449
991
170
657
457
24
341
912
522
112
801
535
722
940
335
631
867
746
880
697
108
68
429
843
499
244
690
479
526
657
217
462
835
277
600
706
502
344
903
504
267
494
685
565
704
231
355
181
247
334
160
357
602
876
863
304
353
760
670
851
352
709
650
880
290
930
339
134
368
609
50
380
643
976
373
59
204
643
818
755
432
556
965
162
203
211
91
501
159
40
882
2
228
383
539
223
156
347
705
478
864
637
712
621
256
525
201
978
968
552
237
707
297
590
285
941
6
857
786
901
664
572
865
513
928
836
376
810
130
60
771
829
263
694
865
346
958
895
303
229
857
293
915
853
294
81
634
874
221
764
820
879
212
297
421
490
439
915
55
110
762
857
536
127
757
578
878
792
608
353
972
227
229
66
533
881
133
136
533
367
650
794
166
411
976
101
587
834
652
795
801
217
364
246
524
498
749
72
798
316
549
707
789
210
231
129
165
386
140
677
473
601
324
867
653
860
598
955
384
311
213
861
516
191
811
303
394
197
571
309
362
169
116
883
755
107
84
242
681
176
869
939
948
389
337
796
273
347
553
101
610
562
490
733
207
913
844
951
249
122
153
867
716
817
128
910
566
118
339
403
245
526
318
240
762
397
586
148
684
331
724
788
301
874
479
461
500
911
459
366
433
588
965
18
710
485
287
563
45
155
96
290
158
668
539
239
422
59
672
91
160
164
22
696
818
255
744
567
811
620
803
285
895
92
220
560
635
485
856
261
615
361
460
532
748
305
857
621
476
544
592
847
732
223
906
541
881
151
517
286
817
949
676
886
918
233
21
183
361
133
413
35
54
753
261
301
767
801
96
550
379
472
707
808
729
41
454
484
691
378
688
250
711
4
569
431
84
94
219
547
388
56
237
756
352
463
343
307
237
106
373
319
140
184
389
994
181
275
676
848
737
209
256
73
738
770
411
748
65
771
573
724
254
249
493
437
542
365
8
474
957
898
250
169
464
900
600
703
953
975
314
856
757
238
993
596
653
609
898
862
880
189
590
947
478
543
822
596
69
875
983
983
110
823
750
405
889
968
3
867
184
770
616
736
543
532
741
604
144
207
783
656
449
391
624
432
924
741
550
963
213
191
727
399
289
12
654
296
216
185
50
205
414
922
463
257
552
486
211
797
602
63
334
122
342
464
941
879
598
387
372
85
407
8
267
313
379
98
655
205
993
596
814
733
121
875
502
821
339
519
354
718
585
615
108
393
679
854
424
114
398
640
820
797
17
433
690
869
308
813
319
171
129
587
265
452
396
137
19
578
33
35
444
273
699
902
370
870
182
290
266
649
82
42
593
432
151
256
413
571
408
77
537
694
875
887
922
119
774
56
754
175
31
652
456
614
210
732
108
196
414
5
251
856
461
232
856
297
283
361
82
107
546
936
264
642
753
608
685
742
883
560
608
330
530
453
321
427
891
631
294
541
476
213
452
961
923
84
252
272
767
26
685
334
369
244
707
848
67
121
816
169
492
281
609
2
146
691
719
637
60
739
456
439
358
40
489
472
320
710
738
107
36
555
105
597
780
28
378
443
885
125
948
266
388
994
675
873
402
843
772
350
986
507
250
797
691
92
164
2
188
926
466
690
328
113
531
872
682
470
790
325
550
202
125
240
964
149
944
272
295
66
466
277
773
571
464
622
391
914
420
387
515
610
374
645
799
990
462
916
557
749
195
513
168
800
301
389
763
132
305
32
911
990
659
83
726
182
855
433
3
798
446
194
645
699
169
429
642
87
640
953
511
100
653
278
423
82
109
263
279
375
11
979
134
104
761
923
456
178
370
518
661
85
642
761
38
995
682
813
835
983
55
244
403
527
175
874
453
983
71
964
987
900
965
747
890
138
971
624
639
109
434
336
332
578
311
983
733
113
42
304
72
533
808
368
946
671
865
883
260
141
45
254
228
324
235
799
522
408
252
562
112
110
250
936
825
579
180
848
360
950
511
824
789
111
434
926
936
984
914
697
553
752
993
176
258
988
63
430
58
498
240
871
451
978
324
400
954
753
383
87
873
656
250
957
900
942
84
729
392
322
729
944
553
220
996
911
57
435
463
290
88
932
288
900
580
972
950
621
218
689
423
604
944
521
424
526
183
900
495
755
776
763
955
33
963
575
432
691
337
541
156
780
760
161
429
808
720
230
708
682
973
147
378
265
87
587
447
950
696
334
25
756
151
500
687
388
109
920
766
66
857
983
772
240
916
417
520
711
160
185
226
694
384
64
331
291
654
117
904
88
589
98
42
436
286
336
729
462
236
255
832
675
364
227
798
511
849
196
167
696
341
843
719
120
242
496
512
171
991
55
661
19
882
325
685
334
341
954
687
347
812
214
905
191
820
699
941
35
439
380
904
943
177
812
914
880
510
660
160
16
60
593
269
301
121
850
999
269
265
687
168
287
189
566
596
754
149
196
399
487
98
775
639
916
843
654
814
253
573
394
153
673
400
144
520
77
523
284
176
789
514
257
895
232
935
540
694
677
88
716
674
825
685
454
115
434
583
180
723
406
901
117
649
817
533
39
357
412
33
879
615
994
2
948
385
957
89
276
216
721
156
356
225
104
355
567
390
160
84
865
624
724
256
727
979
523
270
179
867
551
653
761
451
850
751
349
345
154
241
929
164
27
288
207
938
897
420
627
383
559
400
524
909
989
179
956
757
393
945
876
796
146
706
821
892
274
44
850
1
74
748
16
840
286
464
540
16
286
633
543
24
404
968
862
216
107
608
338
198
322
472
335
417
421
910
237
454
103
847
126
420
10
254
68
908
498
991
958
830
711
366
251
359
88
706
854
772
869
177
71
152
167
848
952
588
864
632
20
353
161
252
184
119
603
568
358
725
478
147
196
443
241
15
147
148
458
124
87
846
508
994
841
119
466
875
771
580
413
71
937
661
97
334
51
188
651
734
532
874
439
647
506
755
19
193
490
181
432
427
259
765
252
489
876
645
494
414
76
719
480
708
686
926
218
30
265
905
856
336
865
745
910
880
473
367
259
391
994
37
806
557
33
307
424
928
353
469
258
750
311
861
232
246
335
321
467
586
147
547
123
433
753
549
111
491
103
311
352
42
936
281
243
963
79
267
610
644
625
963
767
689
141
794
694
383
358
679
984
35
675
790
106
467
314
717
145
9
73
297
631
957
927
300
762
536
653
936
44
522
539
464
754
674
934
206
606
446
584
649
911
520
2
368
928
156
714
207
283
939
529
43
398
553
841
514
728
272
616
413
661
963
464
764
439
842
686
59
565
435
615
313
229
998
587
25
133
322
109
548
655
175
973
673
217
368
227
771
333
245
294
227
392
549
471
267
512
308
222
50
298
954
831
798
744
926
479
17
949
391
79
380
524
332
31
969
923
396
821
283
214
296
370
776
982
144
87
493
500
532
295
457
806
831
730
476
256
975
769
529
747
855
209
262
787
291
745
687
330
721
873
406
160
90
711
244
592
719
766
963
895
571
943
422
805
95
345
701
885
863
829
160
741
848
323
826
316
964
983
284
521
670
183
246
162
95
198
832
686
405
118
598
405
986
296
400
45
718
352
645
543
775
108
951
247
74
186
742
600
22
448
718
200
221
882
73
93
432
953
6
489
560
546
659
14
108
952
377
883
72
924
179
574
884
337
594
943
217
873
134
586
713
996
147
721
158
244
945
461
667
991
583
948
761
614
453
917
259
193
319
523
944
788
156
70
914
612
303
41
256
394
655
836
425
471
749
770
857
875
765
111
655
10
33
54
290
122
919
136
960
774
500
409
357
908
833
528
809
37
529
701
913
976
550
687
667
423
187
34
502
740
372
386
936
506
554
647
245
811
44
196
273
442
147
344
811
777
150
763
232
993
456
721
366
601
895
837
971
165
421
294
15
857
229
706
779
99
578
743
653
830
700
801
139
74
994
109
350
283
893
117
950
587
305
608
596
706
409
510
936
881
727
129
741
225
856
55
698
617
472
830
916
99
992
898
22
625
200
598
704
911
648
554
164
667
714
456
241
905
444
351
340
749
444
17
129
456
989
862
461
557
322
111
907
933
613
690
222
944
239
225
539
476
661
930
526
935
321
630
292
627
820
39
548
40
428
444
4
889
344
409
308
889
294
34
43
402
246
904
162
301
72
400
506
200
815
45
86
664
904
624
29
531
204
801
969
856
652
524
708
412
322
777
251
488
447
932
848
30
947
713
0
182
608
955
374
82
398
217
627
134
102
836
250
519
703
992
829
519
721
295
70
421
446
259
888
669
92
627
745
633
269
290
3
690
836
850
383
665
403
654
104
947
935
777
643
18
421
889
840
672
135
571
512
24
401
5
505
770
249
913
54
890
633
73
819
723
256
897
941
14
800
859
345
179
352
708
969
172
474
779
757
505
443
305
912
379
868
132
573
719
924
726
788
852
498
130
55
21
113
175
136
368
653
641
860
142
858
17
338
888
353
956
447
73
448
75
401
74
667
1
121
473
584
333
327
677
799
992
224
359
379
902
890
741
35
969
522
404
462
168
74
783
469
177
353
701
484
944
446
705
372
17
789
763
891
428
362
10
295
770
279
875
557
728
237
964
852
689
755
16
194
165
767
652
33
922
964
297
369
327
19
12
788
96
12
439
34
427
441
828
339
474
395
188
151
857
347
713
424
180
698
751
922
517
637
715
573
966
639
165
602
672
336
160
390
558
19
489
316
472
963
163
282
643
29
667
639
878
143
186
116
131
594
207
124
762
309
396
729
621
248
254
985
434
596
224
178
539
322
558
891
643
168
107
938
434
146
752
865
317
445
353
804
729
55
22
697
801
986
445
78
403
487
913
290
704
286
114
668
981
643
212
788
424
300
567
338
168
397
366
107
145
901
784
41
321
601
768
103
336
133
229
933
598
697
211
524
23
628
594
30
745
998
600
645
393
738
591
434
399
921
72
383
318
740
42
303
683
637
649
385
44
837
535
107
132
465
489
183
794
812
691
143
547
497
816
823
178
322
604
902
237
804
299
178
56
975
520
776
324
645
572
193
475
204
476
828
143
411
382
75
584
51
351
105
813
64
804
817
984
624
101
155
178
433
808
47
974
137
773
235
486
971
893
819
666
447
975
164
936
754
567
182
201
723
771
437
51
537
724
82
611
129
41
29
251
757
665
304
446
87
369
706
860
988
423
230
881
67
99
359
2
21
657
53
488
429
756
823
496
336
892
586
980
97
807
261
366
476
797
620
680
854
792
723
360
607
267
659
355
427
582
13
425
187
450
55
724
380
685
806
101
88
587
924
529
527
676
278
556
192
97
950
522
777
88
529
180
663
627
291
519
108
73
422
478
343
894
423
908
226
333
569
775
155
602
998
530
99
193
623
636
25
365
466
133
887
94
964
459
788
482
688
807
83
847
117
805
533
258
308
226
108
914
693
901
953
9
170
197
222
828
606
535
9
496
155
446
233
322
91
623
126
397
807
970
813
910
202
967
837
257
294
293
159
421
455
257
267
483
789
979
685
443
965
598
944
37
655
767
559
979
884
979
980
152
928
499
386
7
447
180
239
4
771
463
966
318
8
700
363
968
627
67
312
914
40
301
227
772
597
589
121
167
584
787
861
87
659
742
431
847
270
434
517
758
906
839
260
57
701
574
604
47
594
33
354
153
930
296
652
259
601
561
150
774
679
283
183
834
566
361
391
585
621
59
658
495
920
351
773
815
72
575
2
319
986
695
801
39
692
446
986
848
244
829
28
180
197
658
952
482
959
222
85
529
679
512
955
530
45
938
835
339
919
987
243
519
736
224
840
404
513
135
912
743
850
275
263
57
790
833
668
610
645
245
57
551
314
103
321
916
911
663
264
218
530
800
603
872
312
677
460
146
304
469
800
569
721
290
914
524
931
255
169
359
386
744
990
609
190
416
84
819
597
282
503
491
52
854
537
860
111
222
69
75
436
694
702
793
720
553
291
793
965
95
79
781
59
964
966
756
773
855
536
545
424
424
186
328
979
986
549
959
472
320
997
479
143
91
565
973
646
153
128
245
540
168
598
90
435
948
545
487
384
306
56
432
980
38
387
796
827
666
497
430
464
968
409
643
867
703
358
631
516
833
931
596
658
28
930
708
136
941
198
339
771
354
796
472
911
552
792
598
896
203
551
479
187
686
52
799
69
485
481
453
621
973
215
211
727
397
543
579
961
876
880
75
268
852
395
990
563
499
687
977
84
767
510
467
612
527
667
424
245
981
254
708
851
643
601
57
457
38
346
813
520
17
183
216
554
361
116
498
761
810
367
395
97
292
400
179
851
356
725
476
93
519
328
804
570
200
323
516
100
187
777
247
857
92
875
456
331
501
289
538
565
255
821
519
163
622
640
758
242
860
467
139
75
998
24
736
488
927
793
16
945
586
688
677
655
996
907
658
672
750
194
959
492
621
834
832
218
8
271
569
227
791
737
243
360
229
642
795
793
831
798
110
751
106
673
179
16
106
164
534
389
639
745
682
306
477
945
962
309
950
904
396
663
535
772
953
974
627
464
173
292
671
420
39
739
819
9
395
501
697
911
346
782
412
802
456
542
300
947
585
979
834
757
297
286
211
809
679
265
704
561
803
969
140
321
624
856
938
793
45
519
67
311
994
122
459
214
840
79
169
765
712
301
184
131
500
917
859
57
140
724
21
263
73
604
529
223
666
68
705
1
285
23
134
985
429
720
795
734
41
139
561
366
599
990
367
846
235
233
269
463
742
296
79
893
388
810
784
616
701
231
342
80
499
345
184
326
398
956
253
247
933
349
601
655
984
692
351
46
580
484
989
541
714
524
21
955
951
55
575
930
443
40
341
650
363
990
145
610
610
602
549
477
64
119
682
317
847
967
47
769
755
751
763
442
137
160
655
303
583
845
108
363
226
129
422
834
88
166
142
857
526
642
277
948
422
173
92
69
836
193
980
141
742
12
108
383
979
736
171
837
65
927
248
954
618
869
169
94
156
762
735
320
781
716
919
725
171
354
87
288
603
816
743
265
676
885
259
517
347
441
820
796
237
969
687
32
86
182
676
827
62
557
197
577
243
480
695
168
626
289
781
938
147
978
414
520
501
618
389
495
143
168
166
767
71
877
997
324
412
552
854
986
623
40
610
152
540
853
168
841
766
628
158
288
621
951
326
182
391
206
986
863
373
475
277
276
899
494
852
803
772
980
925
779
500
237
776
877
427
47
984
844
776
540
638
324
619
812
293
303
842
325
72
958
753
307
70
395
650
314
281
79
618
367
841
783
7
751
81
143
600
425
705
197
760
648
523
868
362
742
962
697
914
46
977
931
163
769
466
3
601
228
862
407
398
906
142
131
297
939
621
903
479
590
103
361
402
923
661
613
126
583
519
454
895
110
363
855
57
802
251
623
367
542
814
174
840
518
956
744
697
345
336
444
476
143
52
909
596
842
454
855
230
443
364
319
184
744
812
18
981
96
78
922
239
320
609
999
849
723
963
455
322
682
133
187
614
45
219
344
705
144
730
597
75
32
762
983
545
770
394
451
97
442
46
146
734
932
283
799
385
354
572
134
555
36
372
837
947
969
842
247
58
865
235
72
773
238
424
107
884
779
556
268
999
200
56
242
941
675
100
613
107
125
656
756
217
990
600
262
905
632
703
64
208
479
295
438
790
934
852
489
241
163
413
428
270
450
939
457
490
178
545
147
893
921
54
406
420
875
553
439
822
65
174
696
519
351
632
128
550
799
236
685
616
856
619
390
717
860
775
892
496
730
871
711
145
736
585
373
428
730
14
708
691
584
970
301
932
888
975
157
407
140
768
981
992
882
256
569
833
80
423
817
770
241
55
225
782
852
351
264
868
221
278
521
180
673
828
982
670
524
738
536
112
110
916
876
0
456
878
497
524
50
205
816
201
212
176
979
854
827
84
143
626
152
402
470
659
422
409
909
959
226
204
545
125
275
261
994
343
892
321
530
269
529
383
404
285
505
489
868
224
481
272
346
22
111
132
356
976
511
811
673
456
327
13
324
708
305
635
533
929
414
544
469
348
654
362
485
910
613
563
881
401
939
652
707
495
231
575
169
862
171
563
24
497
772
880
737
735
908
106
216
425
805
791
151
143
147
735
612
448
111
196
500
37
970
999
964
768
32
773
121
957
551
711
971
688
570
636
594
835
554
829
909
998
608
74
367
497
313
46
630
595
316
579
313
493
696
922
332
883
871
68
253
632
406
488
506
167
275
955
367
327
640
426
345
808
361
208
233
47
409
798
961
713
861
679
63
755
453
326
444
507
326
906
296
531
652
210
912
949
556
780
630
559
970
626
452
975
987
399
924
106
911
753
206
936
508
383
273
649
338
875
295
520
74
887
983
942
295
444
464
226
268
178
964
383
828
965
438
332
931
60
349
637
720
989
461
590
362
929
151
447
102
981
364
465
546
246
551
108
303
876
668
332
584
393
187
350
782
198
875
292
716
840
720
360
495
517
449
943
46
545
816
71
56
380
736
553
703
230
998
730
110
129
121
472
680
243
188
725
660
416
868
306
530
847
836
589
218
977
829
0
669
135
117
373
501
404
969
765
779
179
103
90
322
904
340
567
296
49
541
872
722
397
360
133
587
450
11
167
81
434
623
748
541
861
208
425
44
726
540
620
536
469
637
765
293
934
374
580
235
207
325
135
658
57
949
399
666
868
853
414
218
990
494
562
292
141
406
161
280
232
630
213
896
483
667
883
601
460
307
695
635
154
598
75
378
753
661
565
507
70
968
408
683
576
625
33
47
302
870
190
90
885
771
523
733
886
929
320
889
137
475
899
969
720
345
585
731
279
165
347
29
664
239
938
435
42
938
315
940
727
14
800
724
63
833
301
850
506
940
656
227
459
99
662
687
138
537
448
872
704
890
636
899
747
532
24
49
522
375
715
252
778
45
261
175
712
731
42
893
964
985
176
46
906
117
136
462
416
873
156
739
930
269
485
616
589
258
58
20
985
375
240
758
193
285
210
646
598
510
18
557
940
371
77
111
313
836
714
953
332
318
180
672
563
841
718
178
436
617
177
293
152
550
249
285
429
778
725
401
852
386
210
982
824
570
283
655
734
909
37
469
652
232
348
370
385
863
89
180
752
445
842
273
570
697
945
311
763
303
580
727
934
336
589
851
111
98
398
192
251
871
565
265
88
873
899
6
1
971
27
937
761
303
384
864
151
334
430
77
196
686
56
602
509
969
707
102
892
815
873
461
296
501
931
833
910
91
133
3
907
371
923
202
859
724
483
283
505
645
940
399
551
867
364
979
300
129
145
955
600
767
701
620
759
850
431
100
3
133
686
105
44
771
451
755
258
604
569
560
645
313
69
172
348
467
579
671
724
312
229
852
19
411
317
660
466
47
333
111
407
841
234
537
55
72
641
379
354
919
733
221
3
779
61
866
451
287
602
223
757
337
994
530
163
912
114
381
473
278
893
905
154
459
414
752
381
541
607
103
271
527
198
890
812
972
749
296
818
173
26
739
215
54
592
864
924
205
552
780
406
605
640
936
946
624
675
958
277
601
360
270
511
8
15
661
336
554
622
715
989
303
453
776
978
369
464
314
86
399
906
145
646
369
294
684
416
900
385
776
785
7
324
172
588
200
277
205
75
314
969
737
253
691
128
41
152
402
24
285
523
872
68
684
222
682
731
573
380
553
119
844
312
715
250
787
887
699
370
833
928
344
957
229
903
648
597
548
0
936
679
995
630
146
493
35
902
709
505
657
794
155
828
307
513
362
236
997
270
43
798
755
168
454
264
569
492
251
566
246
959
526
857
867
91
5
685
464
890
543
264
360
634
76
270
496
140
32
879
206
230
815
794
163
96
900
993
638
923
425
355
370
536
847
857
720
21
643
622
567
902
160
101
710
79
821
795
194
247
701
110
200
221
685
276
813
44
393
791
138
236
808
59
148
965
107
779
539
480
826
437
397
841
995
179
768
454
544
912
657
668
805
572
702
666
592
300
51
480
225
727
583
893
53
826
490
599
173
679
91
442
407
222
133
293
134
684
433
615
523
976
289
321
324
917
606
938
326
331
359
155
474
942
179
522
351
169
517
309
307
428
479
291
870
235
661
218
467
97
487
795
766
816
18
496
961
344
915
654
769
852
599
836
525
926
996
367
300
857
401
288
834
649
284
939
744
638
597
293
93
642
750
47
723
518
943
242
946
842
97
617
349
17
46
930
812
806
13
618
539
64
388
344
625
501
236
705
881
542
956
796
746
654
635
984
971
856
47
314
853
863
99
855
510
53
1
26
622
568
247
791
964
495
293
372
696
504
34
754
593
267
356
141
415
454
205
710
795
446
25
960
674
154
929
932
325
541
874
561
562
638
456
93
257
939
85
809
714
312
582
177
622
725
849
658
449
263
243
411
724
564
339
369
752
438
171
782
788
864
641
51
287
558
622
768
625
918
872
481
297
990
132
866
848
212
912
108
247
308
383
652
494
712
477
661
116
418
603
576
87
171
977
402
248
158
685
452
313
688
891
118
812
465
513
602
986
803
71
303
621
589
863
319
212
797
460
732
973
882
484
929
542
69
155
637
912
817
946
354
990
9
109
4
866
323
939
722
899
595
461
780
208
650
832
85
728
735
163
797
833
562
833
628
685
878
833
324
663
660
977
794
419
859
881
992
228
518
590
427
186
830
647
25
787
270
247
206
573
155
371
172
704
526
239
612
896
892
36
692
336
766
558
561
763
711
282
570
569
958
256
253
359
685
841
970
558
128
470
487
12
163
95
952
151
948
341
386
947
973
530
653
730
290
974
755
87
491
339
524
95
339
158
134
717
807
965
633
70
648
379
212
528
872
771
129
635
989
30
958
27
163
169
989
15
946
731
353
446
972
772
956
662
276
767
926
669
609
84
921
170
501
632
344
167
895
53
550
821
318
894
907
495
369
312
393
550
515
334
563
985
946
841
594
163
467
728
906
523
526
830
110
826
886
577
513
171
640
219
84
355
790
448
205
840
844
943
614
942
827
359
725
999
902
164
610
643
711
200
757
452
435
343
29
405
659
462
384
537
585
740
208
690
955
209
73
133
52
650
763
368
977
59
898
14
672
981
215
56
74
681
266
361
876
832
262
973
207
735
957
134
116
426
812
962
931
291
552
53
83
778
215
817
876
739
158
463
787
114
816
852
951
800
720
756
425
674
610
481
588
453
539
423
751
853
609
698
604
672
366
218
524
310
290
316
289
178
572
162
184
208
618
780
830
925
687
471
914
594
175
635
717
268
221
889
255
124
388
930
115
892
102
303
27
935
598
419
369
679
688
892
537
175
117
760
789
697
264
469
427
29
10
327
181
611
388
129
526
256
744
110
656
564
657
534
592
697
734
956
875
832
228
34
955
693
423
38
863
777
60
568
802
638
896
108
1
612
13
675
200
782
382
222
379
15
78
548
946
529
323
290
570
149
818
947
26
347
772
667
65
856
139
184
46
438
150
41
402
516
620
998
402
948
82
404
322
136
858
256
996
763
411
511
818
1
765
997
558
326
854
48
15
840
222
653
101
636
191
587
926
946
277
148
798
384
58
586
824
427
433
995
426
425
519
99
632
613
43
401
687
613
725
730
994
293
774
158
287
679
50
718
683
43
140
150
309
681
922
566
962
366
715
831
700
401
187
274
317
262
74
411
737
134
547
759
379
418
361
397
420
781
843
249
288
611
785
612
713
851
992
683
799
386
260
74
448
206
233
587
924
466
982
734
591
326
356
502
881
392
210
507
319
740
409
306
834
42
279
315
767
17
359
207
208
199
641
958
314
363
972
223
568
16
278
127
690
514
974
136
296
838
939
937
794
461
385
184
407
908
54
280
908
839
109
871
624
243
830
966
453
194
521
488
388
259
78
482
515
229
632
815
722
788
678
283
979
68
268
342
762
469
873
369
81
314
762
386
418
423
221
547
932
349
395
489
506
877
80
553
401
152
945
362
718
765
989
852
693
469
485
836
866
979
50
864
618
871
631
3
517
967
640
622
526
290
891
883
439
556
3
203
300
816
923
572
512
400
276
106
830
17
969
92
845
808
431
149
372
804
459
20
338
11
467
482
79
327
697
686
434
532
563
743
651
898
771
203
243
420
888
923
269
119
802
179
686
902
482
41
866
243
512
285
587
672
435
973
881
940
781
142
187
131
446
187
608
535
37
564
622
264
615
137
761
180
716
940
347
559
345
628
307
496
155
313
126
393
549
673
860
115
955
837
776
894
562
588
916
250
34
870
57
159
669
405
478
294
393
940
990
390
633
624
737
840
904
190
474
399
274
471
799
30
171
101
332
119
541
577
773
24
286
309
973
346
862
344
732
49
891
897
408
434
77
686
778
831
159
95
755
780
255
352
270
566
209
652
815
470
907
420
850
622
615
643
874
300
217
820
614
353
847
88
720
417
641
794
852
974
791
284
757
478
788
266
300
902
224
567
365
419
276
543
693
453
938
950
811
633
289
938
134
110
101
48
264
668
554
12
44
673
886
572
669
693
811
97
345
42
993
968
642
661
112
107
460
879
26
124
954
313
923
77
375
605
47
570
54
291
12
142
348
731
270
378
309
497
98
196
846
592
262
258
477
580
117
202
969
535
905
979
75
326
637
54
873
667
59
830
830
571
268
299
670
81
761
652
753
65
567
878
92
426
242
296
996
539
40
895
886
290
468
965
696
547
279
345
734
342
438
801
433
468
161
209
664
201
346
739
325
207
230
494
853
505
218
192
875
954
839
358
848
540
562
77
579
199
155
393
917
881
550
153
343
292
351
706
274
890
902
556
309
195
791
151
774
116
142
617
493
669
496
452
893
941
255
509
539
277
610
25
274
957
632
445
834
233
690
57
662
208
969
554
196
681
298
475
901
91
700
604
522
264
581
183
273
853
836
479
896
195
352
287
719
224
632
461
493
86
247
177
63
80
523
92
233
588
468
412
754
47
236
389
844
211
330
437
989
104
811
726
561
37
110
200
376
65
400
593
773
833
59
675
684
956
700
493
174
599
667
209
75
793
997
981
58
693
460
108
451
363
371
681
972
792
521
548
941
985
602
385
681
215
64
564
146
864
188
735
112
133
707
424
815
246
995
414
702
966
525
169
274
716
339
200
332
513
198
233
646
43
568
362
275
460
415
806
850
567
842
250
367
394
671
485
184
712
434
461
261
979
26
449
529
776
929
308
498
240
272
516
733
782
948
278
423
624
880
665
696
179
312
560
175
284
996
171
255
266
52
7
274
25
52
683
636
114
406
191
604
927
196
747
454
500
746
475
895
854
363
976
692
148
972
903
825
118
588
527
726
918
673
871
424
974
823
225
626
116
357
20
519
7
111
31
871
227
673
574
71
514
268
351
611
480
532
307
414
156
606
931
915
374
451
622
82
249
819
37
165
391
132
67
301
749
158
851
152
977
933
101
809
428
819
347
353
664
389
200
99
454
923
330
416
755
274
127
397
342
583
576
295
770
388
899
896
709
358
213
409
131
893
966
359
420
509
468
729
579
217
709
500
103
328
559
227
33
531
16
178
193
974
762
364
216
489
858
493
153
877
3
78
321
533
847
218
753
588
778
188
919
752
23
577
603
505
341
419
271
967
404
320
161
140
425
567
998
260
534
582
92
372
706
808
509
843
571
938
19
891
829
336
197
67
542
788
593
290
733
571
841
890
464
879
115
430
522
703
96
727
763
637
300
857
89
145
398
954
331
975
881
869
11
534
312
484
806
475
508
270
422
358
188
278
883
423
756
125
635
66
331
95
849
900
764
607
142
479
596
71
212
927
872
924
845
729
340
355
995
698
566
665
829
148
554
746
809
91
126
147
226
179
861
179
570
250
162
780
77
927
1
554
277
231
461
639
190
575
140
176
196
91
373
244
898
883
310
854
200
19
482
787
14
546
371
281
265
213
396
303
901
917
23
787
410
935
515
933
622
355
418
311
449
392
940
846
307
206
712
364
955
25
837
823
93
400
886
273
978
990
675
227
878
778
994
168
435
864
610
556
392
951
41
465
285
790
203
45
602
499
787
217
414
376
797
757
888
382
517
843
449
749
31
648
72
929
865
163
780
238
524
107
844
94
640
993
647
290
11
700
862
680
975
144
342
464
215
184
686
198
699
617
622
308
911
792
313
98
276
65
514
289
220
350
892
618
998
537
465
224
833
222
239
574
413
375
106
107
445
859
394
118
169
825
68
965
125
646
442
794
411
129
880
731
821
812
629
579
773
647
758
385
756
111
703
841
748
820
202
785
899
642
78
82
158
912
708
297
446
820
959
905
336
362
346
132
374
78
332
584
947
860
411
595
354
250
138
520
567
712
93
564
881
774
687
940
488
166
51
967
926
743
908
60
603
346
281
55
443
836
899
811
477
860
962
293
266
174
180
106
492
485
832
570
558
627
991
257
251
443
722
904
458
930
190
4
970
471
463
392
370
468
815
611
693
460
456
137
801
855
754
466
404
88
66
101
796
115
888
9
268
172
445
820
873
310
618
872
689
958
817
6
146
482
141
63
228
461
305
976
413
315
904
621
444
832
110
611
377
250
607
625
490
620
546
866
91
542
724
807
922
500
798
438
25
699
175
535
858
773
942
92
295
937
654
888
701
802
436
383
384
277
387
691
228
866
222
730
813
360
927
329
445
796
276
851
1
230
96
505
594
876
43
125
294
563
882
128
742
153
903
270
676
768
246
689
793
763
915
634
682
481
800
944
629
49
154
22
943
449
101
309
687
834
532
862
408
884
170
826
389
522
457
624
127
271
220
898
963
924
774
840
480
449
672
319
391
363
484
187
558
598
210
543
979
571
145
84
736
948
712
854
171
298
109
56
261
56
669
973
734
522
135
63
246
14
254
322
879
518
906
295
935
314
730
39
928
839
821
403
298
371
717
129
892
850
439
800
253
325
685
992
869
311
974
999
367
69
597
387
611
53
943
381
662
303
530
452
778
426
235
917
358
452
318
869
697
139
843
997
196
843
860
642
74
405
748
491
802
274
600
599
956
799
342
804
581
582
355
864
311
427
847
628
35
872
602
517
161
19
914
322
556
723
325
497
580
982
596
987
430
832
521
232
712
773
320
24
313
247
609
729
481
956
768
474
406
976
819
49
412
338
511
6
837
44
496
107
820
360
316
443
886
792
890
10
997
749
670
278
718
178
674
754
311
182
450
522
594
336
329
126
295
149
328
924
971
969
572
29
561
344
488
951
281
185
23
755
769
111
586
664
302
265
105
3
858
387
224
779
780
36
750
660
223
68
563
992
934
243
661
301
180
758
55
881
77
192
648
382
982
995
275
555
992
586
690
280
817
247
357
485
714
669
9
579
813
681
668
583
283
932
915
745
969
65
457
510
457
780
791
684
207
245
644
211
222
6
43
173
158
485
904
89
17
680
775
98
6
521
846
549
444
859
742
875
122
508
827
68
596
483
505
882
151
377
951
792
220
548
512
150
239
322
913
164
760
468
844
167
278
159
500
121
205
334
141
66
804
251
695
96
284
3
833
57
328
355
870
563
118
495
88
490
403
546
586
340
92
141
14
11
711
952
270
569
572
340
198
671
513
240
528
795
614
216
172
361
393
707
407
284
29
810
331
139
485
77
967
490
988
885
259
880
631
214
999
702
923
46
429
32
926
681
922
624
561
45
298
681
760
447
225
741
732
357
427
148
863
523
126
485
581
611
897
913
465
222
330
560
637
146
224
831
829
808
127
995
779
854
652
377
61
457
701
869
270
837
36
976
823
273
726
361
924
774
793
764
546
976
44
265
737
430
509
495
621
727
865
274
286
813
872
463
370
235
711
972
884
387
54
347
27
43
723
92
916
606
588
795
143
454
16
118
863
602
776
602
300
834
459
357
0
210
462
638
372
339
690
661
871
350
442
953
943
751
143
219
334
809
254
414
567
140
678
531
998
126
267
924
982
365
641
997
806
753
440
841
142
836
345
804
189
317
972
190
285
968
858
298
507
610
246
351
774
528
102
909
901
102
242
967
245
802
746
785
494
156
948
881
498
737
471
101
509
310
624
491
863
164
142
462
149
700
745
457
952
630
636
585
422
688
585
175
860
649
636
210
175
149
918
407
73
580
172
151
665
475
513
362
368
604
644
296
890
201
365
821
248
886
968
406
753
711
764
272
720
861
825
312
518
637
976
775
988
215
313
320
681
935
752
140
108
104
292
444
238
592
36
144
10
32
514
644
671
515
278
293
624
467
795
119
917
770
144
678
231
959
404
659
261
612
455
587
524
667
668
391
644
955
550
293
295
846
355
84
673
268
17
398
546
762
378
268
337
987
627
284
990
654
685
423
291
793
414
999
868
708
781
650
733
683
712
295
203
747
896
802
169
976
251
625
248
802
202
238
742
339
595
359
654
776
495
612
230
602
531
46
758
194
496
59
58
927
35
69
706
634
404
810
260
696
977
817
866
833
325
240
690
936
834
10
791
723
570
298
570
681
384
297
787
513
573
673
393
878
456
754
473
967
375
95
66
113
65
338
285
491
233
250
431
533
708
181
954
938
612
250
247
293
386
993
582
257
164
949
705
252
591
493
238
465
260
986
763
811
150
846
564
145
343
895
105
10
330
896
658
189
366
125
369
22
843
256
830
276
551
531
922
627
392
499
716
299
344
131
413
174
766
937
995
718
522
306
933
519
981
299
791
157
161
373
703
614
887
563
784
931
876
66
559
746
724
983
965
138
212
608
566
276
708
278
182
688
450
240
180
84
574
146
266
905
353
733
700
330
506
608
472
420
960
889
175
421
719
300
771
265
450
120
633
345
725
299
615
778
63
287
133
839
375
164
733
719
648
845
107
227
74
984
763
417
321
987
992
68
87
260
571
882
794
64
389
225
703
85
149
331
561
318
233
935
540
450
784
240
111
642
778
920
254
922
857
423
190
535
924
285
56
548
151
943
205
281
967
90
162
472
597
636
967
206
683
787
711
957
291
312
947
725
876
669
527
71
301
172
217
903
982
121
425
481
838
20
980
652
735
181
769
813
196
666
545
529
311
994
756
122
431
916
838
332
217
286
547
43
698
715
7
81
194
236
346
993
36
942
67
466
484
59
396
930
781
521
406
793
182
296
685
738
790
827
263
725
448
973
243
171
477
80
933
435
225
999
89
670
89
613
805
65
26
344
366
763
570
119
26
996
237
581
64
238
138
173
892
181
844
853
499
360
274
506
971
380
757
630
912
860
447
347
676
780
361
175
689
956
968
319
588
276
278
590
582
403
919
82
23
662
132
938
372
47
292
647
508
252
172
119
520
110
277
720
163
573
639
647
274
478
232
332
81
27
329
748
560
61
53
320
565
480
499
21
665
257
741
118
445
929
605
635
24
645
892
301
123
314
109
712
765
666
531
447
900
104
700
73
746
429
141
919
375
39
59
607
740
924
86
839
108
865
204
406
503
646
1
785
957
237
579
78
215
669
456
149
72
852
713
341
579
101
773
712
789
674
930
823
498
414
503
412
66
814
196
827
313
504
959
599
3
862
962
446
869
876
156
829
607
52
70
520
456
333
243
76
378
179
64
465
300
514
255
172
786
499
712
374
90
579
362
679
618
276
595
291
241
903
792
408
632
703
499
269
760
319
172
174
178
859
478
512
241
272
494
216
466
675
97
839
41
201
628
690
607
78
361
454
843
42
531
358
164
120
51
838
264
542
371
715
700
137
663
274
335
607
628
438
612
137
913
177
156
379
764
636
883
74
596
555
257
563
176
62
721
601
215
64
378
634
143
947
864
37
118
375
271
398
663
987
851
730
582
682
474
959
178
285
593
983
674
784
596
482
124
534
543
94
40
768
455
997
341
0
433
186
100
587
382
255
150
954
856
30
369
970
867
597
148
458
925
338
405
118
472
399
832
290
293
223
651
887
321
906
198
980
634
707
119
59
686
682
363
647
564
139
108
215
552
408
347
352
789
682
446
999
396
367
594
504
482
338
140
258
435
243
876
832
920
831
631
748
422
711
542
599
510
411
93
223
222
77
864
322
584
195
653
875
114
855
658
107
429
842
832
3
326
156
241
236
168
784
14
677
511
632
192
587
85
327
168
22
624
73
520
275
800
950
102
906
723
937
457
369
235
329
559
67
271
907
380
776
597
193
273
52
383
944
713
11
516
409
486
840
58
620
440
478
139
325
689
698
534
884
481
889
767
146
456
482
773
743
231
408
43
750
828
825
27
919
121
816
410
111
322
551
404
7
808
874
305
376
943
827
91
558
91
486
127
891
363
84
515
147
67
103
845
443
238
712
388
538
605
258
371
526
504
947
662
651
69
954
157
303
320
156
844
485
447
562
670
515
845
793
824
15
77
143
849
948
943
569
425
521
155
663
63
249
300
975
105
414
269
454
32
908
28
418
929
535
950
372
542
939
546
227
756
961
78
740
664
511
162
474
835
787
55
595
965
739
809
933
683
944
546
335
92
243
782
906
738
430
82
87
481
617
780
639
787
976
41
743
557
111
174
527
872
975
992
179
290
478
63
752
302
545
943
168
150
304
161
688
541
847
556
829
565
414
375
987
927
216
543
19
709
552
754
73
740
47
408
985
191
780
725
363
238
403
330
843
252
10
613
519
470
147
960
42
161
474
587
81
453
266
806
588
823
839
346
805
704
861
118
800
79
88
510
232
423
432
982
776
152
383
678
48
953
962
702
221
491
157
422
842
877
924
479
243
273
717
416
380
677
221
788
531
274
177
288
120
627
625
461
618
538
902
269
787
239
952
299
190
741
793
593
278
800
996
300
405
852
786
51
731
754
338
989
498
315
739
126
175
172
497
215
529
54
686
417
227
621
762
407
895
842
379
503
695
300
613
78
59
131
734
370
183
190
842
935
429
638
796
279
742
242
224
452
541
982
169
153
281
916
302
224
813
990
469
363
460
404
627
20
970
702
184
307
695
977
530
282
928
441
805
831
63
621
65
472
689
586
188
468
731
324
524
886
352
314
486
112
636
774
784
855
997
747
594
49
848
855
403
822
768
706
216
378
431
110
992
912
350
587
405
386
982
941
735
670
188
533
339
441
620
121
915
525
303
327
219
299
35
966
481
543
559
763
322
621
371
19
299
208
566
429
240
161
551
238
391
140
258
7
315
966
682
706
901
174
24
447
191
126
898
735
213
519
489
303
819
663
679
907
355
627
608
860
345
650
259
181
952
641
886
481
18
258
368
242
632
882
857
357
50
196
71
837
660
874
568
527
479
622
264
414
140
782
899
562
216
700
22
918
121
129
972
589
636
769
534
97
51
71
457
583
655
250
289
228
392
340
966
939
892
594
234
906
432
591
84
965
338
113
520
738
201
799
33
975
352
350
34
987
581
971
866
197
443
138
151
319
119
547
0
483
644
400
330
677
769
826
796
688
1
966
436
970
763
404
621
745
654
92
136
658
535
929
240
450
684
510
248
345
669
793
102
855
551
861
632
12
648
971
649
649
492
476
532
592
132
208
951
839
307
9
287
4
830
866
543
185
991
465
710
354
857
560
451
654
894
671
702
623
904
609
464
544
235
858
893
362
40
145
114
494
458
590
957
636
506
306
270
423
616
97
677
813
33
651
801
721
791
766
897
967
679
24
824
116
597
153
734
309
682
296
875
157
557
697
993
764
335
380
94
383
289
55
33
689
439
99
458
207
500
568
528
307
389
314
91
568
403
195
155
729
320
543
269
518
876
68
769
26
464
645
172
154
955
532
88
905
852
311
119
450
626
542
527
784
899
899
303
973
248
976
870
3
631
333
298
500
165
676
784
76
640
290
898
733
512
204
465
736
488
25
203
118
273
863
154
968
413
435
397
424
336
732
457
410
687
343
8
463
447
424
353
704
210
348
237
272
714
553
332
804
44
925
760
268
242
86
305
351
181
23
325
405
898
130
13
975
421
149
818
670
408
189
35
329
26
976
484
82
211
314
969
279
170
555
145
900
377
192
844
199
181
4
713
548
837
229
990
187
746
909
898
311
129
943
866
129
434
391
603
273
505
726
724
769
45
830
823
972
997
802
499
201
381
985
975
608
873
871
115
270
563
229
693
308
545
134
377
10
7
386
676
696
358
680
727
865
453
682
928
60
498
95
911
99
252
162
758
482
996
591
541
987
507
88
304
247
543
582
703
220
835
181
736
369
960
888
772
883
931
757
345
201
881
288
200
442
171
709
20
620
817
374
955
746
863
192
632
228
207
863
580
638
462
41
321
535
196
704
986
527
135
302
379
219
319
83
146
602
472
521
319
256
510
738
82
418
3
481
65
997
516
970
928
76
405
291
385
315
294
900
31
617
300
871
789
638
75
364
341
469
141
203
725
150
560
692
237
114
901
302
589
347
742
310
278
0
171
564
461
889
999
289
913
11
72
124
533
817
80
106
987
656
846
88
653
141
421
35
268
465
804
353
78
570
913
868
797
21
456
310
952
498
815
789
102
956
652
644
252
109
813
245
120
353
504
476
857
555
218
506
332
500
870
649
961
625
346
71
705
516
283
435
424
25
83
17
139
415
532
752
663
4
12
216
151
685
999
358
602
829
416
568
704
50
777
521
840
408
679
635
302
445
732
975
514
842
339
668
469
465
543
192
489
244
186
527
450
553
213
410
55
352
631
862
89
803
672
713
181
270
923
655
767
970
53
979
148
562
72
614
188
596
819
732
361
545
135
773
57
630
146
713
285
263
403
400
582
710
670
493
341
846
780
284
331
903
68
140
951
107
562
408
296
422
36
315
184
960
56
587
564
259
192
264
702
248
354
538
282
703
429
442
71
680
744
125
37
197
566
309
683
658
923
925
118
830
349
124
675
429
417
243
460
833
985
901
604
422
417
501
613
715
588
828
359
134
345
760
115
588
396
660
849
195
139
517
701
371
583
709
869
380
504
221
784
103
179
998
990
815
789
891
285
353
40
895
366
841
855
712
556
847
335
247
239
873
232
139
890
523
642
132
187
27
805
286
477
33
670
777
575
758
697
24
739
547
996
283
648
242
768
616
281
527
516
98
835
723
804
223
695
692
134
71
571
475
857
237
410
829
802
483
832
405
917
699
125
580
390
254
197
602
211
730
910
619
463
304
980
22
654
931
925
326
563
981
588
594
102
547
57
531
670
373
115
635
45
687
344
506
119
502
809
270
273
151
792
115
936
399
653
379
452
592
54
243
326
364
775
840
154
913
299
833
717
343
425
670
238
853
269
370
193
9
124
662
523
785
692
971
219
660
480
476
934
759
400
905
437
801
354
184
233
200
77
847
117
947
737
764
249
694
180
431
422
425
777
346
15
63
725
267
451
548
366
458
1
951
241
498
60
113
627
404
402
637
41
390
600
460
801
508
243
898
974
273
648
715
690
480
49
536
117
759
375
568
682
476
722
374
0
288
435
532
164
558
498
562
222
265
933
423
294
805
436
367
13
346
0
29
476
726
235
153
705
128
193
329
409
630
662
740
430
436
247
189
766
265
317
440
778
654
578
577
700
362
142
179
648
305
325
723
108
287
756
137
114
220
475
404
962
763
955
924
451
355
587
303
344
683
416
985
543
34
323
113
883
508
34
103
729
613
635
853
621
790
141
337
746
816
497
928
461
564
664
299
21
955
829
350
880
819
977
5
889
142
958
317
715
548
413
535
918
671
261
219
391
329
762
379
617
644
21
504
289
944
313
692
163
551
151
141
891
781
980
668
521
303
845
158
286
519
823
569
142
146
658
203
71
104
774
925
816
648
172
277
160
118
527
512
329
680
696
986
404
961
828
456
435
713
156
152
193
302
573
423
461
545
191
179
406
416
447
70
443
303
8
509
167
579
63
428
992
392
383
939
21
269
849
287
195
385
801
856
902
506
852
688
847
876
789
781
381
320
2
797
780
36
632
196
58
855
52
35
788
785
615
333
52
146
386
328
779
461
926
665
92
384
603
857
290
109
709
536
81
235
718
48
27
485
969
100
133
15
732
224
562
695
791
553
302
85
386
263
298
210
945
994
244
305
818
49
748
283
592
110
604
836
16
457
57
844
884
793
437
862
219
52
668
109
897
362
126
987
994
291
228
50
378
984
814
471
873
277
476
874
745
706
249
377
16
453
339
707
890
438
950
190
612
22
863
832
99
472
454
83
974
618
923
379
573
615
322
967
57
901
826
406
407
617
220
839
208
186
988
603
71
152
607
522
947
733
957
401
612
618
404
365
141
410
748
260
367
458
415
854
952
554
357
885
667
966
641
312
284
397
519
484
457
96
639
668
982
450
873
585
440
306
276
844
100
126
571
413
155
521
934
230
242
571
835
867
484
738
651
970
596
696
895
739
338
861
346
596
711
816
424
62
677
371
267
156
426
669
788
827
592
572
341
943
301
50
765
487
518
947
263
883
289
96
830
62
967
914
445
300
592
659
190
699
466
144
544
322
255
241
501
949
219
682
22
933
461
948
402
608
368
801
923
420
100
329
193
90
451
731
702
546
798
875
987
527
436
100
411
644
710
950
924
196
621
291
963
797
12
697
822
177
981
952
547
590
199
170
988
288
736
635
988
170
766
554
524
505
88
706
16
598
419
329
74
450
649
557
723
451
185
61
349
886
248
788
739
467
782
667
590
512
420
148
289
313
53
130
134
309
302
988
503
119
339
99
642
786
891
781
1
270
44
731
129
591
672
39
305
25
908
690
344
499
401
885
194
915
469
330
901
382
151
459
428
76
759
445
787
645
143
866
535
639
401
94
871
139
449
837
313
960
876
712
904
708
542
177
594
241
824
417
898
51
909
188
429
115
275
838
557
660
918
912
997
565
515
868
696
44
168
80
597
251
220
712
722
434
266
410
743
897
819
237
518
22
541
913
696
545
273
268
632
502
278
836
970
467
712
538
936
600
931
663
780
126
232
449
369
404
332
334
185
718
460
513
149
517
748
521
358
386
35
717
109
291
86
285
459
135
901
712
275
894
25
40
576
678
725
917
849
933
624
773
877
699
606
22
43
640
261
108
920
915
968
901
77
825
867
830
290
240
820
857
156
223
691
660
897
656
538
214
478
209
893
385
49
582
343
460
824
991
816
887
104
328
523
736
863
18
328
457
679
289
54
30
894
244
480
587
365
2
420
32
76
454
99
590
859
585
523
805
658
958
153
304
873
517
565
139
545
970
580
912
190
617
553
525
654
894
588
557
677
662
172
350
959
333
1
649
104
352
291
347
99
63
51
394
266
374
362
900
130
349
921
977
756
721
194
620
631
893
625
9
26
222
402
247
174
50
726
318
569
801
869
30
380
510
842
980
709
395
350
416
145
552
585
263
748
849
617
348
602
329
573
969
616
942
726
717
591
690
149
579
255
837
344
518
302
449
846
169
815
319
992
212
999
498
302
418
33
111
493
946
445
696
487
411
385
882
739
283
469
399
657
834
196
313
227
513
966
349
182
650
225
776
190
615
850
771
358
910
47
106
989
726
94
361
490
836
109
413
943
426
909
38
618
281
684
934
782
655
445
744
73
176
754
396
141
728
335
658
892
748
658
697
672
536
249
365
953
24
56
439
515
420
896
894
974
888
582
753
915
234
583
427
355
792
938
673
910
793
180
396
739
829
952
722
861
938
921
296
459
625
130
438
691
944
796
84
450
813
490
683
272
109
410
575
611
902
705
778
750
475
4
215
233
664
648
38
686
887
688
57
366
646
463
598
574
888
723
546
322
739
801
163
281
461
48
769
403
628
904
672
831
537
175
531
837
656
145
419
173
75
369
413
357
41
111
563
476
238
665
698
137
419
520
4
681
81
748
856
158
417
126
748
210
603
908
701
364
809
859
895
529
890
262
726
69
58
323
787
45
519
118
218
798
540
210
508
254
272
257
200
603
744
144
790
861
221
692
601
915
771
678
979
431
396
948
251
266
15
732
13
770
822
357
836
487
629
656
154
894
778
101
678
35
2
725
13
944
386
856
769
780
177
208
968
802
581
113
676
171
982
588
105
417
398
292
792
364
755
692
759
417
715
970
404
827
179
829
979
871
336
508
218
360
580
423
873
888
136
137
0
907
812
400
510
901
465
955
41
373
518
333
900
254
217
71
869
128
593
556
811
887
794
526
57
588
407
468
414
843
322
471
974
567
508
409
627
213
768
687
535
630
201
959
536
600
56
971
712
985
103
521
299
808
8
93
758
851
310
63
413
678
647
353
818
27
233
208
533
645
922
314
126
323
975
106
335
401
51
465
790
704
357
584
298
450
385
458
964
610
918
254
577
196
418
140
352
146
364
961
27
428
214
613
268
300
928
722
677
722
399
784
48
760
339
675
804
820
311
679
460
275
707
696
277
583
579
261
879
186
407
865
745
907
856
451
351
542
456
481
392
868
301
602
309
281
816
146
822
502
532
464
693
118
506
520
450
980
246
130
911
40
341
215
858
476
766
734
982
29
8
244
158
922
142
883
850
487
39
497
131
619
324
892
283
32
348
162
725
212
931
200
973
18
540
87
229
939
27
614
398
975
303
874
82
56
861
118
308
420
529
431
452
575
737
538
521
928
561
158
186
420
757
942
114
683
32
440
44
964
986
402
506
313
806
293
383
835
453
113
480
491
529
441
618
388
280
627
931
298
883
574
122
108
576
157
971
473
358
228
216
460
61
115
255
133
243
63
12
287
718
811
650
378
284
637
136
923
948
233
861
759
719
322
828
385
213
706
51
87
86
414
323
25
521
549
116
207
416
842
316
514
223
440
643
679
513
831
965
683
399
898
310
534
695
678
396
363
658
46
584
863
740
207
720
843
962
180
835
562
683
106
493
97
663
288
548
658
901
528
0
880
174
154
353
375
743
430
490
92
961
688
170
235
970
131
894
825
312
624
312
372
790
649
263
524
433
504
61
489
565
941
557
353
164
415
292
397
695
582
760
764
972
172
680
291
117
75
138
933
918
332
860
239
180
22
94
697
138
50
827
144
71
261
297
693
155
883
441
762
530
472
610
936
682
402
469
418
736
222
880
804
396
335
820
380
921
116
579
451
344
409
927
386
482
710
177
461
852
909
274
251
623
438
62
795
86
346
318
717
501
969
721
584
605
882
423
164
315
737
458
897
44
779
497
294
60
75
201
909
216
373
619
235
772
178
93
497
734
356
0
381
160
17
281
683
498
655
163
914
627
267
217
566
556
632
832
992
991
322
80
643
161
713
393
459
526
164
703
171
659
955
244
236
32
708
716
289
857
419
232
171
445
626
914
167
804
67
607
770
594
168
455
317
818
992
445
90
654
807
258
546
156
940
762
138
270
155
102
540
203
904
370
410
563
119
4
167
102
168
791
655
662
975
248
832
584
291
661
165
6
816
136
26
215
679
752
172
839
454
637
551
659
130
159
387
383
896
525
428
545
478
728
552
361
8
226
768
237
789
830
659
509
466
235
505
863
244
377
180
417
440
203
642
41
965
589
134
819
182
398
906
391
469
263
346
103
18
156
81
97
691
890
409
134
787
751
252
44
172
505
119
72
50
288
170
814
914
375
473
106
377
587
89
267
29
563
509
495
827
862
654
930
508
727
549
146
20
672
275
7
989
433
568
800
112
310
897
421
698
851
811
120
156
88
419
623
625
528
752
499
678
175
395
455
134
742
971
449
789
820
613
73
785
968
941
212
456
373
929
116
205
468
355
21
50
936
339
889
975
150
78
938
112
835
702
448
351
449
516
565
188
174
406
179
35
345
129
689
719
237
796
396
204
973
558
420
390
475
112
482
907
817
168
560
318
758
297
927
730
321
790
509
907
500
598
457
979
507
568
77
213
322
371
731
378
502
299
422
179
461
46
627
407
657
56
276
491
459
623
531
172
685
174
959
149
420
177
571
212
643
685
1
890
758
820
710
291
325
312
740
627
169
240
759
962
701
385
354
774
330
835
75
311
356
675
393
322
287
302
656
778
30
854
717
417
319
799
107
230
255
687
105
229
205
956
93
914
957
919
907
841
380
588
487
663
928
643
856
406
204
805
570
496
37
548
284
731
812
842
502
672
101
344
114
551
626
855
923
430
888
505
994
423
746
231
727
94
724
97
409
108
740
773
358
377
662
245
446
557
782
404
168
567
613
432
818
48
428
429
623
374
847
171
531
531
678
292
338
90
787
996
547
987
481
250
938
135
148
393
285
175
348
104
975
471
799
642
609
666
447
155
152
734
197
0
607
265
656
745
865
635
221
783
473
559
968
334
96
874
754
562
770
368
38
708
382
491
789
426
362
142
660
472
769
577
355
376
615
340
625
270
76
417
349
479
313
473
954
481
268
252
847
68
573
893
990
266
351
574
458
451
142
715
666
226
761
91
663
397
827
629
363
819
472
678
644
115
925
350
428
234
537
813
650
448
412
1
272
691
127
213
431
232
780
232
964
733
587
655
6
35
558
523
96
299
893
528
411
314
716
383
609
468
881
397
324
427
284
695
711
283
679
79
393
879
517
872
453
208
73
931
907
817
789
153
510
325
148
26
366
401
960
913
282
510
48
496
724
378
151
117
720
610
443
513
527
412
891
494
258
795
686
547
156
10
456
131
971
352
882
994
122
735
575
885
787
18
227
877
710
748
934
74
452
774
714
466
785
880
972
793
511
536
167
200
31
255
363
723
366
14
161
403
882
518
573
635
414
178
976
545
676
351
645
35
431
549
837
557
555
204
405
65
555
371
570
831
47
185
923
185
687
984
180
783
189
697
14
365
290
616
259
480
602
450
316
130
890
342
861
159
24
993
967
898
292
539
937
406
404
389
294
41
577
609
394
968
620
162
377
693
108
971
534
706
668
746
151
128
53
617
985
533
364
200
4
368
944
230
839
272
55
608
312
210
215
281
818
183
514
731
693
470
850
242
392
738
948
7
253
360
300
818
814
396
23
43
643
935
361
117
486
474
21
504
36
670
195
715
549
800
356
172
394
427
18
640
502
393
431
474
343
50
579
346
617
821
430
941
260
463
383
277
525
838
742
243
348
506
151
80
188
890
399
248
348
559
652
494
892
707
317
502
510
27
972
486
216
622
239
500
152
356
365
353
97
622
521
219
710
154
433
440
22
702
960
760
763
39
44
849
289
31
744
318
975
617
760
863
872
660
875
507
673
680
246
10
884
95
352
975
503
804
73
229
239
377
859
448
648
794
829
314
360
242
591
505
275
39
626
814
552
184
973
366
411
652
174
408
636
183
74
639
306
273
526
36
229
126
863
997
200
761
471
672
358
249
228
684
931
664
558
882
754
581
308
335
155
873
42
57
223
939
882
988
647
180
489
636
484
164
368
802
46
690
973
449
65
172
245
308
670
706
7
112
683
588
464
167
221
605
585
231
601
272
806
758
801
507
317
219
240
710
896
3
907
845
696
795
981
161
959
455
657
745
438
936
165
742
855
825
811
106
739
897
813
952
379
85
724
773
452
118
176
630
305
43
864
172
973
78
353
964
192
758
572
654
333
975
344
932
812
453
963
313
904
316
149
382
475
483
128
80
690
710
322
248
78
104
579
995
107
731
379
670
612
479
415
783
41
166
978
770
143
502
518
257
355
971
442
988
599
58
140
797
526
509
878
488
943
950
227
426
715
404
633
50
916
790
394
999
464
374
24
511
117
473
398
404
13
807
96
439
274
239
816
382
994
224
600
788
341
818
865
72
149
157
479
997
205
415
752
498
290
499
862
588
7
438
904
662
441
842
453
65
268
222
349
288
750
110
532
254
416
920
477
403
912
40
681
218
993
188
300
248
867
662
663
748
198
929
893
827
414
918
736
128
235
649
28
883
479
119
723
769
936
932
665
673
324
469
909
838
605
879
144
883
616
17
779
952
711
388
708
782
771
886
159
890
805
655
945
529
394
639
109
348
391
177
58
823
419
372
908
674
572
532
798
592
798
628
576
658
979
229
516
859
753
395
789
680
11
496
716
500
734
910
779
888
357
113
937
609
838
952
398
536
416
637
941
103
244
671
931
571
474
617
785
78
871
939
943
158
227
395
908
903
221
307
573
672
313
945
17
239
76
881
110
896
129
930
276
355
211
866
821
773
995
293
192
132
19
33
716
333
403
635
579
151
96
641
542
134
496
747
656
424
114
660
766
547
275
292
29
671
773
830
5
114
450
979
117
840
61
43
570
782
9
588
779
205
219
250
966
878
809
999
928
163
215
888
626
568
749
318
526
649
285
126
2
507
728
550
328
60
641
818
249
22
855
808
74
357
486
636
257
544
552
253
92
423
508
816
912
559
133
70
395
329
853
943
41
377
106
162
981
384
509
164
889
936
885
421
373
754
559
878
641
286
531
386
120
778
987
596
747
581
365
487
403
843
339
325
112
247
359
413
92
157
637
711
236
177
523
797
529
477
435
397
383
924
268
123
411
877
46
117
218
127
19
832
71
918
947
105
209
165
553
309
727
776
606
927
216
108
460
258
227
319
109
350
702
446
855
530
631
444
574
309
952
571
742
238
272
755
14
546
711
429
534
596
768
575
861
916
689
93
191
867
64
838
543
810
928
117
712
340
215
728
769
75
260
840
924
814
353
818
782
331
272
997
387
57
582
620
887
660
565
652
238
604
565
890
474
48
262
522
288
607
771
917
195
279
874
602
759
943
890
720
552
582
659
534
682
285
368
96
844
521
86
39
483
924
370
657
67
956
794
601
983
252
289
104
552
845
602
994
67
535
199
93
108
297
642
86
122
3
587
277
369
435
141
925
292
947
794
461
328
57
936
166
593
989
491
117
520
737
102
319
361
685
61
151
54
792
454
408
345
879
624
502
392
570
605
474
822
175
213
0
980
802
755
538
414
249
616
76
237
609
536
784
70
970
475
588
964
50
504
190
830
256
285
98
589
576
918
54
410
810
385
931
262
409
772
379
694
730
832
43
959
309
626
321
834
710
812
536
711
347
385
219
92
383
303
308
671
358
777
539
670
354
864
598
260
722
909
153
298
140
420
486
108
247
554
429
219
75
575
336
219
950
140
844
718
16
382
849
566
72
855
406
358
293
740
668
299
167
173
983
924
353
336
410
912
724
89
274
922
958
441
222
43
32
849
127
586
659
75
6
412
302
340
719
36
992
666
646
227
297
667
138
267
856
646
974
791
629
378
914
413
602
11
444
896
255
107
643
990
77
474
455
353
813
591
305
91
879
700
62
466
878
553
944
933
666
170
344
941
520
237
255
680
536
907
980
566
345
138
875
781
131
696
256
263
145
401
168
598
242
954
432
546
117
809
781
842
455
88
273
826
870
191
745
944
370
786
506
485
299
12
855
562
549
533
381
32
771
127
233
828
495
728
51
24
786
161
881
807
909
986
553
199
48
635
914
703
308
11
790
590
201
631
956
998
359
621
401
129
601
755
49
218
876
547
765
260
526
759
504
810
289
438
249
857
990
717
332
637
956
395
506
250
83
558
426
936
316
339
922
323
209
596
131
617
35
539
29
777
778
361
510
837
351
722
49
435
69
713
582
337
245
141
161
68
260
518
606
669
132
523
806
384
71
924
83
290
968
956
251
522
643
637
458
218
764
410
837
444
648
212
19
33
172
890
976
776
861
265
307
254
338
829
336
793
577
457
568
169
300
900
416
185
212
437
542
997
808
775
82
725
312
338
808
424
884
852
38
985
644
559
622
202
432
803
438
945
945
575
810
858
723
713
460
783
320
538
974
422
360
501
553
472
9
710
552
947
827
697
909
592
481
143
893
362
792
226
414
416
155
553
93
141
609
953
893
793
476
692
136
168
896
940
58
293
764
8
404
89
353
713
250
232
937
234
407
473
600
617
689
892
991
204
867
578
235
5
318
412
913
969
945
453
341
372
429
510
642
965
83
277
930
202
75
318
702
94
603
366
749
906
289
809
767
594
455
267
765
474
488
535
713
315
697
583
395
572
672
213
742
0
515
505
635
11
697
659
75
39
312
656
213
744
516
837
414
593
550
322
958
891
291
249
758
627
890
821
882
610
765
313
552
910
230
689
107
725
547
631
772
52
649
956
264
686
15
999
831
302
706
258
533
470
637
409
78
493
376
960
203
744
116
507
582
80
740
803
27
203
459
39
565
736
218
429
969
867
609
383
158
775
783
633
999
381
72
401
121
288
920
397
445
843
407
267
654
717
391
92
592
372
469
754
851
985
150
843
582
136
365
283
706
863
507
385
600
775
290
46
543
832
807
84
946
440
709
399
826
781
568
52
472
886
431
923
264
251
956
479
460
435
59
657
210
741
635
758
681
850
43
778
287
34
627
357
672
293
547
905
367
591
57
865
635
677
133
246
386
62
958
169
569
524
153
213
672
124
963
159
929
924
199
113
482
116
131
832
324
439
604
538
887
66
84
486
646
288
573
411
289
330
97
314
627
659
922
114
493
874
123
621
744
801
703
193
756
520
297
969
383
363
403
305
631
969
821
96
949
788
646
194
331
666
521
243
119
526
6
625
989
388
394
970
870
352
35
848
575
10
92
871
405
467
89
680
821
972
199
245
366
110
719
834
911
852
589
373
595
802
853
908
770
568
951
332
340
849
404
408
964
533
560
823
856
997
209
217
243
469
470
972
60
749
88
231
512
697
199
400
534
532
243
859
661
627
57
773
16
245
198
581
352
591
554
163
658
819
850
810
735
928
423
286
280
93
968
292
724
65
60
388
859
148
947
975
645
62
164
629
120
12
909
879
868
250
948
269
8
784
0
37
635
840
364
898
514
924
639
891
959
344
781
487
534
814
676
156
42
455
654
211
58
284
482
804
859
85
107
555
758
342
733
276
986
980
506
481
705
599
582
529
800
330
69
33
190
794
92
829
781
742
302
351
968
504
933
694
362
804
445
764
97
50
673
602
589
349
426
888
660
496
766
535
689
593
586
324
716
994
105
977
911
52
255
763
708
655
957
599
820
945
712
847
201
932
81
673
561
63
702
597
111
905
890
201
577
901
245
317
816
224
326
80
868
586
321
414
506
556
774
837
550
845
852
762
28
93
327
313
376
99
171
490
685
933
437
408
873
0
83
292
743
464
566
66
489
179
574
100
449
259
480
197
965
434
642
680
455
731
320
531
222
501
620
954
878
420
809
536
501
48
487
6
848
754
830
97
233
78
322
234
670
288
821
554
183
145
965
627
317
857
419
417
320
476
881
647
148
267
0
86
357
192
381
523
556
812
571
507
520
112
603
50
252
671
898
581
953
475
314
514
317
634
594
880
963
673
99
522
968
954
128
852
744
183
787
370
84
447
221
615
467
331
483
342
760
122
282
142
921
689
302
898
689
467
700
781
586
69
523
618
562
317
892
965
130
368
692
560
463
126
824
759
415
631
639
506
891
7
583
642
536
62
917
369
863
554
818
813
501
678
201
426
554
489
560
366
551
985
548
880
934
798
186
294
553
601
791
812
285
577
731
209
474
551
169
457
751
902
634
34
334
436
783
5
588
454
365
375
975
847
205
506
34
979
607
717
407
727
651
225
431
364
989
37
292
348
906
17
878
559
744
935
344
755
63
634
987
927
41
991
228
90
920
886
829
685
178
582
430
702
696
918
638
75
518
311
463
184
706
974
758
295
728
78
627
509
0
297
108
694
68
387
21
914
448
820
589
491
563
926
736
456
255
507
507
885
507
209
485
404
653
700
495
935
18
211
23
590
876
436
776
444
366
726
624
972
235
578
779
568
535
766
20
346
53
835
734
708
727
610
959
647
270
198
222
337
781
421
48
49
203
997
287
557
529
599
404
21
304
741
323
519
524
400
502
172
589
342
85
357
139
159
948
193
156
735
787
351
297
212
373
913
709
80
199
406
722
198
573
480
963
729
313
977
919
190
90
730
704
607
304
670
560
843
279
153
861
940
204
840
180
998
620
566
118
583
0
202
592
667
991
349
532
829
610
284
943
124
777
146
112
235
624
974
623
265
905
81
396
536
429
804
850
56
502
387
509
842
520
580
627
686
954
626
166
804
212
272
871
586
271
256
537
796
980
432
7
723
695
428
536
603
743
795
797
619
972
759
188
577
617
173
378
740
53
467
643
433
170
423
25
437
173
308
844
733
114
407
923
646
183
633
5
972
816
776
734
584
55
366
659
159
485
498
615
596
457
207
978
301
633
92
458
592
267
381
928
430
687
811
45
648
941
559
141
306
781
641
446
93
604
936
220
974
325
367
838
811
202
728
582
393
901
648
350
942
122
888
373
823
307
212
30
633
406
860
373
372
109
902
895
457
502
245
843
613
730
907
977
77
844
434
400
412
369
15
350
789
416
621
770
763
442
164
329
757
174
377
439
194
315
568
722
242
368
35
94
846
109
270
365
90
801
504
995
498
85
277
461
185
109
583
444
750
315
18
189
688
82
493
666
281
482
770
986
462
308
323
17
108
400
867
850
218
213
802
937
860
654
106
511
317
792
212
350
400
828
197
13
908
261
642
503
316
74
856
399
236
892
576
469
467
468
661
645
937
856
524
7
328
412
900
857
745
114
232
516
721
182
582
498
22
570
762
883
269
416
729
47
892
739
399
819
316
561
651
739
938
477
38
906
534
488
117
221
318
616
609
939
617
366
893
556
450
424
495
669
260
99
182
505
148
114
506
949
765
79
427
731
917
216
257
489
868
113
958
233
356
966
834
920
679
574
672
274
405
707
342
652
149
155
741
1
754
334
701
256
923
618
453
674
795
547
375
713
496
897
685
800
28
16
54
969
687
541
535
397
212
803
967
644
246
383
843
362
105
170
779
603
717
831
55
182
365
218
539
3
750
620
441
312
599
21
550
761
904
379
643
405
67
115
956
518
796
897
311
760
823
748
722
323
630
777
296
372
476
844
151
731
231
748
374
965
852
59
655
671
540
296
91
517
436
64
544
51
593
39
857
345
300
176
761
391
799
405
691
35
183
536
692
905
509
330
783
670
9
480
965
42
459
59
320
314
824
39
282
45
42
903
969
991
459
764
517
497
919
700
335
88
691
66
943
412
701
150
398
186
407
159
120
155
926
408
736
603
108
339
568
587
768
870
136
196
203
928
484
213
875
431
829
844
912
652
898
947
140
382
488
697
661
579
193
945
142
11
962
689
843
154
910
104
81
48
213
756
595
105
498
870
225
576
76
562
913
835
865
278
426
49
138
313
74
575
945
92
691
748
885
321
200
227
963
770
753
321
71
748
468
480
251
506
241
887
42
28
221
601
325
916
654
307
275
864
190
884
803
620
438
142
180
229
257
607
533
581
660
851
549
595
68
651
595
693
908
226
365
359
476
136
143
620
952
779
168
993
260
736
782
923
911
245
667
668
30
854
188
667
246
245
248
613
355
397
646
522
766
799
541
43
647
170
165
439
201
104
898
631
813
749
633
67
133
717
425
545
986
76
479
18
202
982
880
129
978
927
64
381
804
456
651
15
628
900
700
298
972
551
521
278
176
863
953
365
905
777
601
128
408
311
582
660
920
615
579
965
786
926
754
979
57
497
122
237
336
702
637
375
547
320
408
522
163
306
426
801
95
643
903
92
864
54
578
261
224
960
403
298
149
28
904
71
318
197
608
711
118
433
612
644
697
366
335
259
317
428
281
595
523
513
197
616
605
201
584
412
156
191
974
228
831
690
24
431
935
16
639
145
482
582
315
928
81
334
57
763
987
967
73
435
154
471
716
608
992
474
849
151
644
628
6
674
322
464
644
895
408
269
919
727
589
252
433
246
371
671
509
816
427
656
156
430
756
838
984
734
985
881
422
263
899
226
180
964
611
526
698
389
545
268
436
202
387
194
452
578
637
259
276
474
899
782
647
971
466
583
652
658
85
978
881
930
622
449
965
997
837
48
170
112
631
917
840
592
266
203
839
718
286
946
570
830
388
523
139
379
722
719
603
217
46
861
718
843
351
115
545
506
833
585
949
287
248
776
546
933
277
867
417
53
592
779
394
77
29
722
132
936
512
178
866
687
60
136
876
179
100
808
457
828
506
127
702
383
646
774
882
462
176
26
797
460
158
643
437
973
953
398
679
226
937
250
178
220
815
254
933
531
206
244
699
673
471
112
110
337
445
158
613
400
471
189
832
870
870
872
350
235
620
739
176
10
322
268
120
460
730
922
455
213
143
856
718
883
185
581
295
949
587
15
773
479
29
243
178
416
111
358
735
480
621
187
892
654
956
253
103
871
2
418
520
24
969
819
587
463
377
309
399
520
226
249
848
655
286
632
685
51
365
109
706
282
585
881
392
163
202
958
625
853
421
169
123
275
660
25
70
570
99
322
840
411
84
24
720
806
899
682
244
944
821
407
39
648
189
845
488
68
920
499
557
753
538
999
732
725
762
739
289
842
790
289
839
7
42
524
241
597
830
620
289
4
439
70
196
600
876
870
587
779
273
406
121
409
876
750
830
231
280
994
897
791
130
138
665
90
861
766
608
344
842
427
658
653
564
655
437
409
595
298
185
548
71
858
638
418
188
305
31
685
19
916
793
164
359
563
19
9
879
353
199
244
608
519
556
979
356
192
11
899
4
204
942
871
757
467
554
723
219
606
368
398
910
699
905
513
658
534
975
629
370
500
799
994
776
488
400
243
717
491
355
809
822
346
751
658
483
779
21
407
268
938
278
688
223
451
729
682
688
864
20
282
121
335
899
4
115
218
174
835
424
217
115
27
978
389
446
96
355
279
973
925
688
207
460
556
313
683
764
70
190
611
50
461
660
816
802
63
915
963
131
651
942
638
495
860
932
700
719
690
139
67
477
597
196
753
503
134
969
425
996
81
918
900
296
576
592
737
844
605
665
253
417
295
977
639
961
801
843
862
987
896
271
298
943
58
569
845
987
316
124
263
373
498
856
862
610
494
286
973
752
97
379
930
408
879
265
387
412
488
315
54
306
638
571
431
954
748
879
231
1
240
463
275
994
97
481
183
68
578
263
165
288
831
956
506
105
546
35
410
719
302
311
31
455
677
97
366
644
586
728
925
881
718
919
49
619
725
396
549
79
47
564
735
601
101
108
765
179
158
836
518
346
88
687
225
760
948
928
742
27
362
187
334
809
445
509
860
87
887
201
926
105
597
532
534
581
1
0
85
115
585
742
353
523
636
785
737
168
343
141
971
176
481
90
789
753
263
46
544
606
432
503
771
112
451
882
507
87
143
367
377
335
12
347
563
894
927
893
622
41
877
320
388
565
826
486
656
865
545
831
226
921
721
251
2
111
561
993
305
83
58
669
792
249
485
720
790
94
685
881
412
474
131
733
712
605
376
262
438
101
428
725
653
595
134
164
870
373
315
402
829
85
605
649
388
71
630
214
714
643
523
965
722
406
456
46
206
992
323
171
178
679
311
902
989
297
388
427
794
739
222
26
327
348
484
284
600
317
100
620
141
881
324
190
416
311
672
82
858
899
443
97
641
634
156
322
502
256
926
587
902
751
531
866
306
740
828
578
123
105
711
768
673
262
881
26
512
738
87
535
905
270
647
389
182
160
944
402
678
566
731
362
191
154
457
736
522
201
878
93
514
147
575
380
622
422
183
920
330
236
63
107
621
474
915
676
642
968
128
710
9
243
608
88
844
38
359
28
54
350
255
628
551
570
198
141
78
898
911
373
191
857
799
455
411
521
956
587
394
926
65
850
880
971
368
763
647
145
199
853
913
629
597
897
268
899
340
82
814
794
847
337
470
285
670
674
731
168
912
259
201
79
476
814
860
586
459
981
990
209
45
831
876
411
173
62
912
300
878
509
734
441
528
76
544
3
991
88
535
193
360
368
994
812
436
487
784
901
58
973
395
590
539
826
621
902
269
193
208
688
621
632
728
398
616
459
406
427
544
365
211
566
864
901
79
80
557
382
468
576
960
648
598
450
680
270
598
942
558
591
221
100
120
912
533
904
425
946
615
101
949
951
350
657
544
649
550
64
416
839
329
890
449
729
861
704
945
221
853
591
742
290
907
101
319
484
349
547
873
45
751
705
110
433
1
116
77
679
366
249
810
744
675
472
933
261
705
19
325
127
996
87
114
507
684
212
14
955
764
735
415
343
442
246
228
685
885
495
668
278
27
849
327
520
711
185
340
124
515
572
150
171
827
137
630
208
39
906
993
8
411
371
636
973
294
885
635
899
775
460
243
333
62
983
525
400
61
506
4
165
496
338
426
968
993
774
313
493
337
740
455
29
712
209
380
876
986
122
755
657
967
662
5
264
517
276
562
179
986
22
419
398
671
129
24
122
701
427
838
749
199
898
827
12
507
708
677
238
882
441
237
104
740
969
556
236
775
107
163
281
131
8
146
378
344
401
15
592
699
299
686
168
577
835
533
730
617
963
875
12
243
102
311
798
336
138
301
67
37
624
376
759
880
178
479
696
684
717
124
880
207
474
490
492
468
350
660
756
542
67
319
326
588
796
994
933
453
550
23
839
730
347
247
254
794
364
991
75
644
275
110
57
788
415
571
247
468
797
153
400
719
413
813
633
976
493
576
534
661
762
349
432
605
459
595
764
745
76
448
451
821
540
367
947
358
736
324
22
875
270
311
220
86
714
224
554
910
122
377
491
383
802
484
385
645
535
24
349
666
724
453
611
332
742
345
97
612
735
912
698
384
754
883
752
218
194
549
818
817
681
932
55
729
346
438
169
459
277
278
701
958
414
671
630
429
817
998
101
247
573
455
371
11
762
677
825
607
572
32
142
916
912
690
513
357
692
436
267
963
808
539
958
592
831
426
367
403
311
799
170
938
118
635
62
85
480
160
504
392
613
687
277
896
279
636
219
874
433
337
752
274
170
303
30
652
456
147
381
177
799
349
413
65
5
591
645
715
625
117
883
438
582
282
444
305
729
162
285
320
134
66
228
341
597
526
449
773
862
175
413
545
639
130
109
424
755
668
289
819
401
492
11
8
808
583
979
423
275
661
72
341
891
323
89
116
353
72
978
393
822
191
925
348
25
841
274
767
986
420
172
996
604
830
588
737
60
900
948
483
417
293
455
681
551
576
527
348
2
150
46
239
876
137
242
86
179
190
135
495
922
354
117
862
720
499
951
973
831
233
483
290
842
237
451
697
936
263
501
569
959
851
846
811
816
226
492
610
471
725
876
36
878
57
296
817
615
543
195
198
652
585
599
41
372
290
104
967
987
600
431
591
89
949
496
496
159
724
260
216
877
721
353
245
997
575
528
694
658
696
408
362
59
182
244
373
733
475
527
410
118
89
116
681
679
448
639
10
425
642
438
693
723
89
518
172
287
536
331
671
506
913
150
250
716
995
980
568
628
206
570
376
845
623
99
639
406
32
90
843
13
324
175
855
972
180
753
374
565
46
166
846
933
115
6
402
600
835
709
810
913
12
281
86
306
864
389
980
225
443
855
264
380
439
491
302
592
653
216
477
988
792
822
323
284
845
7
514
716
826
710
276
896
369
558
357
337
802
9
522
697
150
738
890
169
171
811
948
97
154
1
931
672
449
550
372
332
917
488
740
368
460
177
472
680
791
487
565
51
530
804
764
705
7
775
76
549
964
313
753
99
479
859
502
215
805
995
574
869
937
234
734
907
744
817
145
438
874
612
61
145
390
271
381
419
99
204
496
427
13
294
30
449
89
331
122
640
49
703
383
117
75
922
371
520
224
115
17
573
829
521
996
583
65
504
663
713
701
927
597
547
698
346
956
890
553
532
108
850
209
718
354
433
560
353
815
363
618
447
312
681
250
686
886
3
31
492
472
353
106
489
729
205
890
390
394
915
756
502
880
804
538
324
517
761
207
965
32
448
468
172
287
524
119
313
817
964
410
609
942
281
55
764
13
375
876
590
452
89
482
108
665
622
809
552
573
438
726
905
64
777
412
192
218
904
660
386
986
538
568
443
827
292
468
487
137
770
426
615
904
748
225
744
938
593
79
832
168
637
679
462
875
319
340
516
782
321
838
950
387
843
150
461
103
110
907
556
798
614
912
223
101
337
810
665
323
841
587
886
82
36
197
162
944
41
384
903
493
201
920
678
503
828
761
330
676
490
437
772
151
728
85
971
474
999
103
560
303
725
82
104
157
346
816
642
40
630
81
892
987
612
750
271
752
883
901
980
359
881
247
33
684
590
832
903
607
765
861
62
762
627
138
482
312
471
628
654
518
747
291
356
321
614
938
616
484
540
709
752
89
537
515
473
944
891
799
862
102
140
17
97
900
770
109
99
79
646
360
362
69
15
602
248
56
892
231
224
317
32
422
241
828
784
787
81
217
536
680
9
709
37
608
176
581
161
248
171
657
617
386
227
197
832
467
254
237
706
155
267
48
481
346
928
684
465
335
408
147
454
943
372
691
514
534
977
106
739
660
850
127
345
319
417
911
860
841
0
642
546
83
685
30
797
493
661
551
515
565
24
391
798
179
938
87
405
486
419
285
1
284
388
556
962
536
409
858
551
850
108
377
275
497
839
499
966
790
853
385
847
559
653
619
22
266
467
28
333
675
383
717
540
280
228
728
578
523
269
538
64
108
863
997
752
125
320
676
280
145
280
756
398
417
46
153
43
426
981
638
995
398
60
763
457
666
104
774
857
880
790
705
993
650
784
442
173
363
879
77
497
91
268
570
854
95
568
416
952
934
640
832
508
687
549
708
656
973
349
816
460
522
949
389
649
500
983
754
794
716
102
370
565
215
458
999
569
350
488
133
75
743
187
425
4
897
137
86
580
848
837
70
106
981
997
663
319
894
465
939
86
843
112
201
888
963
593
36
324
339
97
298
532
82
352
622
712
669
920
765
172
355
165
719
505
91
147
87
712
391
570
4
959
527
554
274
40
130
558
404
672
198
492
513
525
387
316
122
462
382
156
899
495
920
909
729
313
50
256
577
98
842
872
828
298
257
115
639
464
920
989
793
291
442
452
308
999
699
742
946
360
761
2
893
74
4
309
117
430
779
41
534
790
863
123
619
441
352
580
779
923
748
43
225
484
892
51
327
881
931
931
712
989
801
300
657
661
728
596
877
708
757
51
489
320
276
39
335
757
556
686
30
726
583
777
255
918
757
393
558
580
681
343
230
152
811
418
15
889
531
696
67
660
875
620
57
655
896
559
822
66
172
830
958
153
348
839
461
922
929
587
60
586
749
256
404
51
991
426
238
610
473
362
502
937
277
264
312
901
448
11
461
946
443
997
433
692
836
113
872
325
638
659
764
726
250
812
583
664
278
775
443
854
256
429
163
104
896
532
919
321
452
549
52
145
13
763
475
884
272
365
895
65
289
181
810
581
505
251
280
856
257
696
932
686
351
682
89
69
627
711
383
669
715
509
138
171
250
604
435
554
338
625
131
534
174
41
275
273
630
241
657
360
3
414
735
880
665
993
385
70
616
729
552
873
326
214
800
889
296
798
679
801
754
872
369
861
286
884
799
511
346
62
372
479
914
766
927
506
781
267
592
622
159
641
23
939
437
843
782
210
201
582
105
202
730
482
28
972
138
133
280
303
462
955
701
626
290
971
433
288
899
457
785
338
636
230
339
808
775
744
922
412
873
103
868
404
145
511
286
439
650
640
81
679
249
785
251
357
831
629
497
475
652
608
275
151
261
108
326
940
642
647
474
0
773
891
278
190
274
839
592
272
890
565
632
767
291
155
286
432
346
534
662
165
311
487
627
914
25
721
7
796
378
501
710
728
333
502
422
445
490
986
708
609
249
98
43
893
322
780
325
715
986
350
660
437
90
690
231
526
741
577
189
318
678
123
140
288
593
745
546
31
669
857
489
444
844
736
221
585
516
168
788
131
836
868
270
249
945
76
804
883
680
378
57
405
641
719
322
776
782
716
638
492
750
323
228
295
204
522
4
410
720
757
894
383
760
967
753
625
578
826
369
700
335
551
31
734
935
332
342
255
381
384
706
668
157
243
557
710
119
865
204
814
416
50
67
819
932
781
682
1
880
311
873
813
843
617
476
123
726
856
263
46
104
801
371
609
736
483
793
472
667
123
144
288
478
4
642
130
671
314
781
424
366
734
286
970
436
301
904
496
647
344
981
483
358
854
315
273
51
207
422
31
55
635
504
278
141
576
477
223
574
687
919
303
623
194
115
249
108
325
617
718
855
460
91
364
518
369
656
96
449
914
237
526
68
478
877
883
842
214
275
164
953
583
341
225
132
502
363
228
981
172
981
161
358
866
982
520
997
737
872
599
113
224
491
651
142
308
845
0
106
325
343
491
139
282
390
984
144
986
819
363
542
432
643
934
693
870
688
527
209
841
253
324
54
96
346
690
17
217
629
90
818
504
975
722
618
742
987
888
806
768
400
760
662
484
870
531
748
371
124
607
253
553
531
41
85
6
474
412
780
459
278
506
433
737
305
102
944
101
329
175
761
29
468
185
809
316
145
427
565
407
853
477
395
234
745
810
986
693
838
393
301
364
906
723
417
263
457
103
862
312
641
24
990
64
530
458
674
576
467
688
975
650
444
359
207
20
648
943
240
576
942
779
923
689
273
985
775
897
71
242
984
294
227
377
291
261
870
625
747
199
927
19
570
120
812
689
719
387
862
95
258
921
285
59
961
435
693
973
788
636
58
614
818
639
631
103
656
21
508
54
95
905
354
466
144
126
566
836
487
202
187
363
742
638
963
224
576
91
378
582
341
419
655
321
514
327
151
722
916
567
749
258
641
71
994
175
726
333
856
945
728
390
712
398
813
629
146
184
74
374
704
316
641
194
718
907
520
66
886
469
943
444
606
572
21
699
706
993
304
7
715
318
254
554
279
292
626
393
828
272
939
396
593
215
161
140
106
216
353
317
400
564
48
758
299
202
916
833
990
275
296
46
293
378
313
952
352
488
75
867
33
210
207
7
11
367
664
946
757
781
347
284
988
754
459
812
870
504
424
369
912
97
82
30
360
732
505
967
114
509
506
687
323
589
135
418
908
749
223
997
107
833
157
91
357
382
737
732
416
556
743
810
726
693
423
210
949
388
258
920
921
840
998
28
875
357
360
301
519
532
710
130
699
949
758
896
127
759
853
543
619
811
825
520
862
431
875
405
354
692
405
132
669
700
529
43
184
329
178
588
887
660
259
247
865
512
770
949
473
678
419
661
412
87
296
450
506
668
753
474
61
13
798
464
41
684
434
486
770
320
499
465
893
685
371
898
578
382
977
995
657
197
117
258
433
7
138
562
406
937
595
994
834
825
998
418
836
911
272
24
94
584
961
354
956
779
666
880
360
833
300
394
12
454
809
121
514
563
634
620
531
324
909
217
687
117
928
549
155
186
305
624
968
320
756
808
674
97
155
78
418
174
697
364
486
819
956
397
649
10
964
621
823
217
240
571
860
58
878
43
974
808
284
921
400
384
471
229
738
232
165
479
194
423
630
566
764
760
138
131
201
325
748
89
504
33
498
582
734
733
821
758
666
86
860
585
690
598
846
101
901
233
608
982
525
714
82
526
85
408
786
820
498
395
53
706
76
69
291
386
884
540
501
548
450
103
663
692
787
558
983
18
222
538
146
968
617
835
482
764
815
566
769
396
902
929
622
267
293
304
999
641
141
66
222
495
418
777
604
261
838
444
96
735
422
791
915
423
480
266
532
196
561
136
395
866
468
729
732
880
683
741
752
682
276
484
467
149
224
358
105
398
865
232
817
942
434
202
495
768
713
181
291
584
5
768
507
400
972
503
980
202
578
591
583
853
21
749
548
473
549
315
303
757
579
161
455
473
440
270
651
548
813
561
105
147
182
669
893
203
434
565
830
560
793
287
873
448
194
617
503
311
23
869
959
840
957
875
156
793
197
703
596
677
596
672
18
700
447
929
334
516
876
379
976
599
569
93
747
340
657
158
818
186
361
316
720
729
30
846
65
303
548
569
99
709
967
139
654
555
966
290
428
650
335
496
812
8
168
821
154
779
321
722
605
881
316
540
912
195
660
923
727
455
522
75
704
646
881
49
563
7
65
161
232
689
565
527
258
165
478
896
112
786
576
930
667
920
768
994
142
342
752
536
497
730
299
632
0
901
539
278
200
544
37
391
617
259
241
739
902
929
882
713
995
576
810
221
811
898
213
673
741
251
242
980
605
750
37
877
399
739
19
309
974
658
784
407
453
412
403
155
526
559
602
370
275
297
787
947
319
138
92
509
284
92
753
5
640
343
156
687
786
700
136
981
796
573
699
906
618
534
180
271
291
115
414
148
299
73
990
977
860
354
652
669
301
152
585
581
754
869
479
677
553
717
327
960
872
571
730
382
697
879
119
396
739
297
859
175
969
71
714
7
67
876
201
601
473
558
506
978
693
141
125
636
351
131
960
485
81
483
237
356
381
15
552
348
114
269
881
311
769
69
297
380
205
362
580
306
179
361
485
933
965
899
206
874
949
953
719
903
398
51
417
810
926
204
841
571
660
589
240
78
22
295
992
129
484
53
526
13
677
779
830
94
196
410
507
672
573
667
129
205
236
250
959
607
358
398
628
635
25
116
232
151
26
797
292
480
210
211
675
717
488
405
920
140
822
134
404
966
752
932
633
946
655
541
250
879
42
683
545
331
615
97
680
867
363
130
618
91
234
724
36
428
438
124
536
458
304
750
771
401
382
835
202
246
814
436
238
88
138
506
878
692
915
506
485
393
392
258
976
720
928
165
84
12
751
396
465
674
236
224
529
343
253
415
813
816
729
532
777
257
858
368
218
538
609
7
574
855
703
967
339
138
603
810
437
161
801
375
238
922
202
435
778
142
401
207
78
439
408
361
969
212
200
842
812
857
41
122
267
184
617
17
575
396
50
316
887
417
57
347
884
271
185
475
490
771
331
964
370
278
890
859
487
237
233
378
503
730
652
602
198
298
180
653
685
254
799
662
195
949
670
381
141
913
459
241
336
695
980
236
502
709
698
809
353
897
542
683
346
792
411
828
318
994
885
680
277
661
521
672
477
414
647
976
662
972
788
142
815
717
897
538
38
611
566
838
858
497
830
351
314
38
525
811
283
521
808
573
791
880
262
418
465
681
332
747
974
437
995
481
380
274
198
271
320
93
269
130
641
823
852
596
959
271
956
792
32
897
565
512
9
917
27
546
660
712
780
561
876
337
302
530
468
778
878
28
59
107
931
987
862
840
549
625
533
118
562
876
221
710
378
397
931
430
826
578
491
516
133
425
409
879
665
3
52
700
791
982
238
884
280
139
315
831
268
491
237
357
951
825
712
841
334
967
720
9
477
401
435
788
339
286
569
790
21
28
822
352
362
230
600
104
321
836
135
669
144
424
813
659
967
2
63
420
790
136
640
583
973
502
590
356
858
206
316
276
964
778
173
590
551
772
848
174
172
251
977
723
927
758
764
213
198
482
91
264
476
242
905
964
338
762
155
269
478
961
491
515
420
712
341
33
641
659
12
342
135
236
193
481
266
520
385
855
246
684
53
846
315
628
115
147
739
547
607
781
22
515
282
177
420
356
134
517
961
684
727
412
538
974
157
633
432
202
974
255
992
501
858
431
33
5
129
453
19
495
728
344
806
621
655
578
331
693
889
444
434
651
110
889
805
463
903
716
378
986
728
212
926
803
470
235
610
373
631
452
497
147
857
977
819
670
879
502
48
716
381
940
856
610
619
542
96
430
382
945
375
101
63
591
589
7
819
380
463
889
452
26
534
587
299
365
593
37
551
806
689
362
894
164
472
213
738
882
751
36
368
211
727
824
80
950
40
690
723
416
195
211
79
642
79
629
820
535
843
470
102
214
126
446
295
636
597
63
164
293
720
27
537
327
968
943
96
513
478
786
328
683
730
420
468
485
937
953
956
384
937
877
104
141
940
867
747
144
565
469
137
763
654
970
501
312
802
522
694
393
825
874
710
18
761
418
245
442
538
32
265
582
418
794
421
80
651
557
800
963
742
585
377
301
119
112
774
82
55
633
806
77
165
473
470
516
889
789
7
757
874
514
591
898
692
416
923
691
998
976
24
178
927
194
412
450
550
549
244
802
110
725
471
568
398
754
766
517
383
833
423
477
751
304
676
56
65
72
151
886
145
956
833
399
394
521
744
878
381
351
588
528
692
173
597
152
269
747
440
389
880
771
89
192
342
433
651
229
199
600
536
219
38
321
22
600
356
231
553
751
189
81
744
830
473
104
589
176
258
518
872
823
785
196
946
317
630
897
376
924
153
411
445
309
615
727
87
758
730
521
562
410
405
793
982
104
629
916
325
21
584
828
41
988
876
989
456
854
855
21
290
86
61
776
420
944
74
795
16
703
350
825
849
832
498
112
590
172
580
837
534
554
714
403
829
482
792
188
175
105
162
392
178
913
519
398
918
414
400
514
169
971
55
954
786
584
799
966
737
494
863
721
505
738
987
268
64
142
686
115
888
467
693
742
443
704
951
610
564
683
158
60
992
226
638
996
601
859
66
229
291
229
639
32
299
605
120
134
132
96
955
742
946
738
751
65
956
379
786
665
840
455
394
449
683
100
375
358
365
280
361
435
463
468
333
468
501
555
537
672
240
893
541
760
125
477
288
564
108
11
962
649
266
120
542
177
925
725
907
998
941
219
87
906
174
250
627
782
622
294
94
92
760
425
219
691
664
487
779
287
75
227
23
348
841
82
51
396
797
220
633
586
234
120
696
209
717
247
158
407
837
238
754
146
255
536
389
301
313
910
844
491
351
631
439
897
515
205
641
310
901
482
851
123
798
292
106
452
208
692
155
138
462
382
650
763
856
536
246
279
755
157
438
506
799
739
626
384
524
918
776
124
102
350
872
841
34
37
537
18
805
71
983
570
856
44
433
679
50
497
749
991
566
981
250
178
12
912
401
394
39
690
471
722
698
658
392
584
498
310
384
810
900
538
593
847
85
530
440
767
685
751
695
145
347
263
404
217
847
210
691
161
494
352
518
917
579
253
810
530
194
66
467
796
627
329
291
375
289
596
685
277
102
884
99
918
12
406
344
701
279
154
172
799
38
284
381
877
487
617
730
662
855
98
532
35
956
358
517
828
265
480
773
998
120
879
77
298
189
720
506
405
603
801
858
819
657
606
973
328
913
693
701
768
908
200
744
514
217
839
24
135
441
944
434
809
222
245
838
285
482
868
917
117
965
680
823
183
997
497
935
744
695
752
570
928
252
457
118
295
170
407
131
548
811
653
164
652
645
712
648
818
517
168
843
767
820
678
548
413
467
158
691
808
878
672
674
149
139
843
593
439
693
128
315
15
38
203
998
599
915
432
679
793
861
538
347
542
861
914
702
718
88
823
983
217
309
633
93
93
660
781
941
172
721
384
441
620
296
880
161
251
729
433
845
14
733
91
851
247
178
472
629
806
585
871
105
205
893
645
582
696
658
587
51
375
534
576
943
902
305
638
287
497
548
228
137
188
667
169
214
314
766
892
733
414
40
6
184
205
573
96
133
194
342
239
551
583
198
767
376
206
724
982
159
983
209
114
675
681
615
188
583
751
22
144
845
50
21
193
595
170
347
883
769
726
793
297
703
98
679
168
912
649
938
530
680
939
424
119
201
381
783
149
701
20
443
955
368
553
193
376
524
405
520
233
136
373
388
840
866
54
521
159
964
679
48
394
851
441
207
761
73
428
538
788
602
755
537
905
350
282
286
900
434
677
502
736
803
705
597
786
472
159
102
592
169
332
349
735
255
877
352
710
527
588
824
165
170
570
65
548
18
51
43
539
678
856
290
865
628
851
211
352
863
889
31
0
90
858
564
605
871
30
246
419
622
72
240
908
977
895
337
312
826
269
784
634
880
258
875
923
468
143
263
184
159
531
933
169
35
793
287
565
183
817
611
357
379
163
107
649
160
904
268
913
985
118
129
889
986
426
563
975
532
787
138
973
722
458
789
175
481
588
587
244
567
304
643
43
461
37
851
129
524
935
901
350
820
615
107
66
188
565
216
358
658
239
873
939
81
240
904
474
608
98
266
960
6
958
307
230
231
610
406
304
810
274
447
547
244
196
396
727
431
395
841
606
452
737
64
87
846
256
41
621
632
898
302
21
784
23
982
567
512
409
963
142
656
639
587
580
852
372
575
263
423
65
588
210
177
246
944
654
212
216
718
25
763
104
279
112
539
255
834
707
677
981
901
804
855
979
383
700
434
596
384
751
837
9
747
655
675
747
181
397
299
816
328
966
117
110
349
697
350
341
309
359
774
41
561
372
420
749
177
612
83
927
751
715
325
871
576
201
35
513
204
15
141
443
494
517
111
339
305
776
319
764
921
177
308
613
660
289
441
109
781
388
304
39
262
631
963
220
986
489
848
125
629
43
783
429
339
456
708
416
743
141
781
808
868
261
173
299
674
581
738
196
907
686
684
805
109
126
827
254
346
355
241
43
682
568
714
216
974
480
823
940
376
806
118
727
732
256
73
252
566
542
701
34
683
909
980
721
833
396
369
827
500
479
672
347
852
311
387
550
778
410
145
784
813
595
732
349
530
964
23
150
531
614
231
331
537
484
966
90
998
149
549
917
20
313
956
84
216
24
129
587
409
612
489
606
940
534
536
694
425
639
725
81
382
431
545
938
659
571
632
842
8
25
393
61
702
241
746
564
757
34
984
827
376
375
988
677
49
931
476
94
832
66
630
894
314
419
748
414
671
375
97
320
931
358
574
864
121
18
552
877
461
917
405
471
927
755
801
793
304
300
918
299
544
649
506
407
888
814
161
780
167
888
978
950
151
469
571
548
58
915
160
164
134
913
796
143
774
265
190
702
372
467
912
568
179
232
1
454
740
544
611
801
34
910
605
490
645
979
90
852
456
957
378
893
820
721
98
465
280
393
567
698
439
929
206
932
751
924
927
612
484
537
206
634
271
610
897
248
977
47
199
308
231
433
805
107
895
27
239
629
70
796
311
833
644
951
766
763
33
533
695
356
212
794
213
850
556
139
350
612
2
977
910
42
460
775
940
76
908
570
709
65
650
751
536
78
946
508
804
612
931
601
380
149
249
561
86
897
896
483
92
917
193
428
334
223
170
644
503
15
258
931
673
770
508
862
479
660
172
730
644
650
627
110
764
852
714
724
157
849
194
253
238
78
97
300
95
464
42
958
60
371
754
392
884
10
808
371
336
395
207
653
369
896
10
707
503
986
626
449
128
637
588
502
859
354
519
904
400
85
862
830
814
247
88
232
559
93
249
112
409
405
874
791
562
718
988
94
91
224
284
679
960
628
519
839
262
133
99
245
450
98
132
530
354
518
917
258
725
889
665
800
388
54
445
335
236
459
748
23
697
280
397
790
525
699
665
937
916
14
838
845
209
576
140
532
4
613
921
419
319
5
220
68
572
529
665
327
455
251
897
190
676
701
523
564
994
150
333
206
901
887
811
860
687
187
479
810
531
969
245
868
505
919
757
162
379
321
190
223
429
574
913
426
268
340
16
645
299
965
771
550
801
678
34
815
154
686
789
717
4
629
779
106
159
74
570
466
767
683
952
179
809
268
118
484
433
468
725
312
556
937
353
488
485
318
890
865
305
81
243
574
514
684
701
523
420
755
402
525
825
20
105
691
545
833
169
261
727
495
754
257
513
543
887
422
107
608
903
452
514
650
193
712
722
346
91
376
998
424
482
237
304
563
603
698
61
624
694
597
622
106
465
623
730
230
106
289
510
522
683
611
490
62
469
964
48
782
438
514
635
643
386
922
422
915
605
588
903
387
441
805
78
629
279
452
936
478
92
607
31
55
931
328
336
256
429
424
877
157
415
77
783
785
234
935
142
660
607
975
137
285
224
608
663
590
895
325
487
896
842
842
120
202
843
650
507
2
899
38
365
322
467
520
538
347
347
711
214
420
925
67
841
831
356
568
957
82
713
432
375
867
386
132
193
467
658
584
527
552
523
714
966
331
102
959
167
877
927
664
491
260
994
772
70
508
701
913
417
91
296
482
361
232
347
684
35
797
444
547
226
78
969
606
47
523
611
799
847
692
460
867
630
583
385
188
924
13
583
843
561
404
629
951
206
590
15
485
346
513
622
352
539
825
733
594
138
685
673
618
549
509
658
420
702
179
633
801
112
509
150
324
216
237
761
499
757
198
874
989
630
287
364
638
603
77
63
918
363
30
40
233
380
134
99
492
790
195
349
61
476
355
220
192
975
347
889
103
971
325
528
833
789
292
171
729
431
676
633
45
980
299
857
495
788
260
517
258
709
762
909
572
567
637
48
770
962
307
791
906
337
569
585
712
149
19
425
989
163
5
114
797
325
382
350
736
177
842
503
190
720
470
364
304
667
367
526
681
451
533
353
141
284
98
104
98
439
863
950
752
919
303
89
547
735
812
284
546
358
797
303
156
579
927
84
194
865
318
129
106
245
576
53
373
900
490
466
40
292
691
72
687
407
687
909
313
693
238
268
689
917
966
498
534
378
889
674
457
611
473
947
98
865
462
145
197
952
65
833
299
224
730
240
267
932
905
916
758
651
389
145
376
182
737
362
570
754
842
530
84
628
803
858
85
837
475
317
225
953
174
21
533
774
878
667
957
666
751
977
399
544
262
608
709
365
447
77
861
131
617
142
382
124
354
912
540
586
77
31
49
560
337
872
47
316
959
864
783
989
277
786
634
83
494
605
999
507
659
427
526
767
92
877
130
242
30
845
732
440
39
264
394
689
423
715
650
618
998
333
774
797
669
968
874
827
194
314
929
945
342
650
455
912
603
873
999
578
43
904
892
93
898
673
713
512
906
845
220
768
421
336
517
573
658
247
260
684
460
75
852
465
467
502
101
457
147
545
512
211
430
577
419
11
23
904
402
749
385
445
4
402
588
957
104
815
822
392
70
388
100
558
807
501
827
48
305
768
52
582
540
446
274
903
298
526
213
927
685
78
627
202
984
818
935
889
864
648
975
108
589
191
734
835
300
843
117
634
2
330
835
23
51
9
841
72
997
452
442
172
542
439
478
869
681
249
770
160
992
500
328
658
623
342
984
212
956
166
836
453
500
49
636
943
865
625
827
137
812
477
136
166
29
715
407
31
319
471
32
596
36
497
475
149
489
67
288
309
868
224
217
898
672
353
843
106
601
595
831
288
538
71
385
232
291
114
127
391
491
781
56
127
948
511
604
382
307
865
95
567
171
133
63
646
556
776
625
485
938
203
845
556
365
756
653
489
686
877
967
709
21
200
783
922
542
548
26
564
631
3
762
857
315
208
227
450
347
465
390
187
502
674
969
421
466
346
557
224
48
732
868
524
556
257
178
446
920
171
156
161
987
671
168
701
96
289
80
514
805
343
736
237
664
606
170
255
875
609
120
100
669
940
236
560
465
126
2
330
628
458
217
282
470
598
697
491
512
120
840
922
246
904
859
30
391
198
333
400
135
608
208
311
552
313
304
882
365
68
179
185
910
677
13
206
710
484
8
316
888
109
823
928
464
622
681
839
161
13
677
729
730
770
736
904
91
213
353
474
803
822
296
339
477
883
707
820
253
612
972
743
431
778
744
28
295
376
559
504
879
728
270
822
746
172
919
474
796
724
507
497
518
699
511
339
633
692
91
489
844
840
349
489
565
443
810
52
983
528
617
624
998
32
767
580
92
904
410
514
925
18
127
829
342
888
887
154
295
799
331
833
495
625
630
123
301
611
130
587
692
492
503
940
17
582
197
958
204
1
869
691
620
262
969
649
307
678
155
865
996
512
590
69
196
217
523
3
39
563
677
70
905
29
485
2
989
358
939
550
263
987
57
359
483
788
149
224
527
62
379
265
765
453
336
859
463
236
771
946
914
833
667
913
486
633
437
694
445
554
44
945
718
735
340
302
325
125
988
509
361
844
169
804
366
445
849
27
172
222
789
872
84
492
966
86
535
858
283
844
537
594
477
316
924
227
931
803
294
491
912
824
727
48
320
413
550
317
480
264
385
43
310
196
284
773
397
16
327
161
956
956
390
563
435
247
800
109
613
698
954
987
818
201
627
977
514
304
467
822
410
62
732
241
42
630
665
806
72
325
676
384
555
466
184
213
612
704
770
240
405
460
883
892
732
24
137
517
826
299
720
83
38
307
79
521
796
108
3
149
712
593
765
100
572
966
281
748
657
453
642
507
590
803
275
926
720
714
125
573
739
685
921
705
130
803
857
874
771
464
395
771
664
273
162
672
955
908
774
421
631
811
328
362
64
285
363
419
931
829
307
533
16
920
334
331
958
57
298
97
764
898
889
998
15
26
864
941
672
584
909
734
958
746
173
87
853
440
400
929
148
140
998
449
796
293
747
352
661
77
185
224
819
849
882
90
682
517
623
900
392
441
886
403
314
856
482
881
961
700
837
223
678
817
2
177
272
308
849
969
357
720
787
950
150
450
491
44
641
780
361
244
287
878
863
305
791
344
957
427
73
516
895
13
280
142
647
138
874
896
532
9
618
250
221
517
703
66
541
953
709
837
629
368
227
655
123
266
348
867
864
953
138
421
3
191
891
956
954
610
907
563
475
269
934
113
378
474
153
931
48
352
454
955
524
571
177
349
706
262
683
793
777
499
151
840
935
400
360
484
912
952
65
961
838
667
991
443
728
379
532
215
933
174
865
248
586
256
495
989
537
186
258
925
384
43
7
120
528
635
455
488
505
316
991
990
355
928
911
196
664
769
710
845
384
619
334
341
422
433
444
670
114
957
935
262
260
156
428
61
541
810
469
747
662
344
125
865
926
326
649
206
329
806
469
141
174
983
942
352
932
137
324
700
664
848
553
184
902
624
432
810
760
777
976
393
525
622
522
41
925
947
680
248
11
375
386
689
375
117
702
794
385
604
122
593
971
78
274
981
770
58
78
864
274
344
856
403
757
155
143
418
565
464
396
212
699
353
181
408
663
653
314
145
584
636
602
802
714
537
124
866
216
874
396
189
6
379
263
692
392
911
120
945
894
176
367
21
114
852
414
574
145
374
217
214
626
672
706
931
808
128
23
521
523
639
299
646
946
999
905
735
387
515
162
210
488
688
329
222
206
403
412
794
419
309
986
430
287
728
749
439
77
672
435
38
864
546
538
431
231
61
627
979
526
764
969
166
711
970
824
321
507
395
304
419
521
990
971
585
411
416
61
353
602
892
481
685
647
238
124
265
651
204
426
851
575
273
202
39
819
956
733
313
754
308
657
620
909
931
562
281
548
949
536
439
934
527
545
353
655
960
841
494
262
762
184
274
560
806
936
552
188
226
75
322
870
319
886
463
188
514
97
233
832
144
956
722
518
784
927
525
910
192
946
392
45
673
178
796
766
710
550
503
626
92
760
647
624
28
747
293
941
28
825
949
755
127
204
562
784
47
368
331
0
527
769
134
253
423
416
884
56
688
340
935
113
388
195
191
804
119
106
100
689
958
667
574
418
627
953
610
627
100
628
272
65
567
639
757
722
26
195
105
95
730
19
526
619
745
907
980
785
569
469
905
778
394
10
983
717
791
336
38
268
968
471
790
234
412
808
229
664
398
765
897
436
943
900
579
592
38
808
491
468
271
700
995
278
665
341
869
956
914
161
852
37
815
970
190
313
985
964
357
93
22
183
847
497
363
917
262
925
990
713
692
53
464
588
104
261
850
347
719
812
294
199
983
870
208
316
951
109
577
331
663
208
254
224
658
426
228
627
298
992
552
349
478
784
248
769
407
967
943
544
451
995
33
159
728
444
471
282
766
600
152
907
541
454
461
869
1
338
732
816
373
371
867
64
539
451
726
718
982
233
944
116
165
273
839
523
588
300
841
776
765
400
738
989
674
583
91
685
469
283
333
40
616
778
688
849
612
425
728
792
387
703
98
729
727
666
586
103
975
829
370
527
937
180
972
715
730
233
139
156
50
251
948
205
336
668
734
649
1
174
216
554
453
702
714
701
289
845
322
686
422
195
682
982
589
791
469
801
310
643
684
254
264
287
324
319
910
817
402
780
621
469
277
230
37
352
205
625
913
960
7
311
458
962
906
685
417
748
621
628
938
697
634
922
176
768
266
793
490
729
872
691
903
481
211
585
391
756
200
430
101
229
811
70
604
898
205
31
540
361
528
776
364
477
982
355
802
464
159
250
851
389
602
245
123
629
140
780
994
424
323
526
159
743
445
79
432
885
797
774
206
622
688
129
600
199
918
38
355
362
345
24
373
77
160
598
394
88
638
721
372
878
961
489
129
175
683
445
453
685
955
637
935
543
212
49
637
189
558
605
591
291
540
735
586
205
842
614
449
462
859
208
893
677
927
444
268
409
176
71
287
405
110
96
522
32
513
587
460
264
328
317
775
739
249
17
58
557
393
282
177
891
928
35
428
927
297
584
780
119
875
471
506
662
585
942
211
905
162
674
599
137
967
9
927
55
816
390
211
905
805
963
43
603
193
230
2
457
122
343
615
915
58
57
724
226
932
17
540
73
336
82
358
450
900
168
520
560
541
108
481
98
339
333
859
875
148
971
463
699
657
247
306
854
872
462
656
489
959
38
495
553
986
688
268
982
565
163
620
742
432
727
121
100
332
22
634
893
158
671
221
257
448
845
760
16
501
840
985
188
286
353
968
299
914
996
840
548
39
432
503
595
672
673
19
371
420
745
648
602
902
349
983
832
453
821
536
642
487
451
799
619
953
356
373
982
96
366
561
588
212
992
160
333
142
357
316
909
655
442
187
627
612
216
3
678
392
998
2
820
524
715
975
31
646
800
769
413
938
659
87
782
589
493
562
7
180
423
625
884
755
827
251
811
418
700
568
911
164
938
913
479
389
225
180
477
161
737
484
241
681
275
341
114
882
315
998
777
93
16
733
170
734
282
245
623
8
717
597
464
989
635
846
934
103
253
543
808
452
383
878
416
663
854
155
665
215
855
799
747
495
884
477
619
381
178
852
574
294
92
689
630
789
5
993
807
17
953
729
518
939
126
839
729
256
989
358
642
830
945
797
500
435
685
620
224
308
856
401
925
871
61
62
715
890
1
259
385
640
260
935
135
670
135
62
847
228
206
884
60
891
680
663
559
34
567
428
776
224
632
763
503
749
565
709
160
276
323
274
485
576
472
433
911
676
58
773
7
226
956
764
797
523
790
429
119
618
803
10
197
688
882
120
956
786
160
740
474
12
482
58
886
899
65
226
481
779
96
347
260
750
359
335
497
950
410
73
53
529
854
990
316
130
797
784
94
272
272
192
687
872
901
582
404
198
469
89
819
23
506
400
68
17
568
505
251
936
91
855
125
853
549
733
296
729
119
117
935
951
514
762
299
435
312
311
240
258
177
155
778
146
919
624
422
761
508
386
445
565
59
628
321
428
245
320
178
901
830
279
766
928
75
773
491
981
515
495
265
424
837
3
480
553
955
281
838
598
528
0
150
588
734
803
400
874
962
709
835
263
749
839
97
292
410
507
984
531
188
969
148
471
314
573
42
90
226
728
331
638
606
49
26
744
886
870
274
587
389
113
259
723
948
174
373
169
115
193
924
877
798
494
935
638
819
543
817
987
762
491
333
221
283
897
322
553
43
403
347
460
934
751
513
664
646
780
347
681
611
717
173
638
749
844
464
551
449
971
93
294
255
146
298
653
590
5
232
145
268
462
634
633
174
768
273
66
47
852
807
813
824
813
352
693
656
305
339
520
45
730
256
733
845
259
777
5
51
988
747
642
462
359
146
393
105
734
879
309
855
895
324
788
978
774
621
653
373
371
973
25
207
207
698
621
262
727
469
216
616
944
716
722
511
888
464
605
272
140
606
981
847
399
95
453
664
569
450
666
349
81
345
48
789
619
547
836
706
721
297
293
423
461
459
114
293
883
564
547
583
148
438
205
915
49
369
829
505
476
443
843
760
367
275
703
991
387
803
733
161
449
443
130
493
209
961
535
797
453
563
290
507
159
585
929
857
622
616
917
952
572
964
828
301
489
556
94
606
778
264
82
225
84
901
466
771
523
226
426
485
300
115
398
392
971
120
437
129
120
738
162
197
508
177
280
60
931
888
824
882
270
484
555
703
939
415
1
868
650
746
607
537
816
126
326
449
69
768
328
403
882
14
676
4
642
109
182
926
536
308
383
689
242
952
44
514
849
84
824
706
341
227
520
917
47
254
230
539
636
989
827
738
950
773
832
489
675
616
82
469
963
975
82
504
725
99
587
768
898
160
904
362
750
31
633
1
969
14
971
674
48
947
405
420
664
263
310
862
526
552
631
799
876
867
364
981
132
539
598
140
461
67
881
353
524
281
648
635
682
369
223
480
768
275
447
239
33
52
695
433
409
208
885
929
224
452
41
376
864
849
200
38
741
951
371
42
177
795
561
30
990
949
320
272
602
30
6
882
575
958
552
106
335
981
932
524
539
96
805
354
590
536
234
774
940
300
525
40
771
747
340
718
679
870
196
885
875
165
546
214
328
823
881
634
989
234
800
741
333
294
58
161
829
755
140
614
756
837
265
900
200
338
983
766
978
63
113
234
852
163
707
705
120
324
464
682
972
242
75
477
475
349
76
809
591
105
806
379
604
974
530
216
722
348
645
240
285
188
575
580
520
309
626
923
571
693
705
79
966
324
824
200
353
287
915
222
675
118
218
740
238
872
800
367
614
34
671
648
560
392
352
343
365
787
987
336
704
480
446
837
129
106
215
23
101
899
831
626
38
688
571
190
375
523
313
854
213
982
784
26
958
936
419
280
303
754
728
556
878
0
382
139
665
531
451
7
797
932
649
410
179
714
432
874
102
570
826
94
64
861
127
191
356
102
849
576
735
219
86
267
496
70
503
845
123
920
327
934
196
405
164
475
795
822
34
516
228
85
936
910
84
687
952
959
553
194
703
640
223
427
244
7
409
745
859
646
72
448
221
266
555
74
670
655
392
711
960
238
668
597
950
738
10
692
843
33
399
744
780
546
85
592
950
555
89
373
20
850
562
332
621
973
507
918
869
692
405
319
572
144
279
847
153
858
473
737
330
598
542
889
511
777
809
514
671
679
834
205
545
939
442
19
39
600
284
700
761
900
674
266
330
343
644
478
491
536
271
537
558
666
292
214
125
20
336
386
500
928
805
402
19
107
35
596
471
196
48
740
557
718
847
178
51
617
436
772
381
788
586
111
784
208
551
694
755
404
481
390
592
353
809
701
323
214
564
754
305
375
262
608
261
0
15
766
818
536
485
373
2
292
333
714
962
825
671
660
389
728
670
511
335
887
176
857
457
109
324
727
91
688
965
21
199
524
354
919
397
98
534
54
115
817
272
243
205
537
26
522
127
285
458
49
312
374
836
182
545
695
161
907
490
934
337
96
860
261
692
840
139
621
539
94
505
81
892
448
136
269
756
745
9
452
970
608
397
500
843
900
344
765
907
676
361
868
324
459
94
141
375
821
66
56
916
359
275
412
176
961
599
291
964
128
410
401
892
323
729
290
327
210
896
551
275
673
70
46
529
558
339
869
264
168
673
930
432
235
23
501
211
392
595
250
415
247
741
925
629
430
490
29
116
273
743
152
453
941
599
113
407
801
622
429
123
345
406
624
404
641
816
484
430
176
24
555
70
877
836
471
287
928
963
965
476
183
630
827
735
719
817
769
675
383
483
565
347
615
810
367
829
303
349
496
117
79
636
166
864
325
275
492
897
655
975
999
727
773
521
193
117
529
450
121
717
46
532
360
415
794
963
526
838
204
441
972
427
827
32
674
521
490
857
645
971
761
502
562
281
1
889
403
252
272
132
978
487
534
787
994
897
567
947
620
665
651
128
973
865
529
692
599
294
517
264
941
278
547
674
75
397
56
840
572
893
927
955
145
816
639
929
474
681
810
884
275
837
126
317
705
710
889
43
750
720
64
571
719
598
637
146
864
495
246
928
594
223
747
535
609
952
385
980
497
181
301
851
561
659
762
228
623
747
630
803
320
891
924
379
613
872
950
689
805
476
880
345
548
502
845
316
83
280
14
801
313
525
886
905
458
788
781
935
915
706
874
645
841
530
771
270
432
24
62
367
324
781
373
243
439
507
886
558
568
790
94
298
686
427
10
629
955
393
345
483
368
740
174
517
608
819
106
207
94
508
447
455
694
986
637
718
556
843
564
924
831
558
606
237
201
979
742
452
679
61
78
195
107
721
370
598
887
259
499
973
943
544
712
556
827
252
513
349
508
352
879
234
906
306
524
140
25
115
529
199
58
62
828
827
270
79
503
75
810
480
909
429
984
823
680
911
935
317
636
370
182
789
565
822
581
731
759
701
893
611
809
581
840
992
574
540
33
646
830
25
289
808
816
785
631
60
540
393
373
201
867
49
318
183
839
818
95
826
598
52
671
776
371
562
150
674
430
329
112
186
869
548
79
589
225
912
570
894
893
164
18
917
653
711
851
518
80
299
601
930
526
180
954
730
199
346
11
495
336
894
391
16
895
895
474
799
600
800
297
114
631
399
879
426
522
438
232
913
758
342
18
243
54
915
132
724
726
720
253
380
30
705
535
601
632
931
877
259
69
548
71
333
672
337
282
290
599
593
41
527
519
217
194
347
789
905
661
229
384
296
923
321
735
759
763
368
783
36
824
963
588
849
884
169
865
476
357
417
570
89
879
382
52
208
369
848
922
576
1
249
937
147
757
810
722
403
217
146
676
594
249
206
304
86
990
154
255
404
472
748
811
461
568
238
480
12
14
835
41
39
483
209
47
792
135
465
314
764
66
54
525
883
461
645
36
834
258
895
209
34
422
291
540
591
715
326
822
807
715
622
297
75
919
597
38
464
635
723
51
279
598
281
698
366
72
747
594
107
682
155
684
247
534
123
5
381
623
713
115
243
745
734
301
485
427
873
563
721
198
199
529
113
338
467
841
77
65
680
605
526
836
119
188
241
705
406
912
937
405
519
555
172
408
549
51
171
348
45
780
355
213
456
43
82
369
352
594
568
508
442
218
826
31
116
301
655
409
167
682
839
275
869
659
687
977
909
913
422
316
517
316
552
77
899
356
30
36
415
86
373
776
589
212
803
231
11
48
467
746
988
363
970
907
326
674
851
919
934
29
910
872
557
957
390
882
634
342
732
850
932
394
505
641
457
256
99
943
347
763
588
261
89
990
297
639
3
816
133
574
177
229
99
162
656
825
853
497
365
276
824
689
136
796
469
148
657
821
994
164
293
33
383
105
793
81
426
636
73
210
634
122
886
466
996
105
485
445
499
54
208
645
250
524
699
176
826
342
501
341
260
243
987
386
995
850
236
84
348
546
412
889
491
123
191
395
807
820
752
678
74
164
549
368
779
231
827
386
964
802
988
335
463
13
570
439
61
627
382
561
765
119
215
653
148
814
656
84
674
340
693
903
324
860
419
69
979
397
847
292
730
611
341
223
466
604
161
208
627
10
726
211
574
665
949
685
436
933
746
505
930
367
867
582
444
146
20
28
77
574
253
927
60
409
235
801
800
293
698
594
566
35
403
189
150
229
125
455
348
677
72
577
850
733
893
311
504
886
228
390
836
440
968
370
680
510
252
750
712
771
639
236
37
365
564
544
358
265
828
11
148
69
310
522
915
390
100
47
354
299
225
664
280
887
683
904
501
866
952
644
359
567
621
31
495
55
545
845
167
828
251
681
263
932
725
716
768
495
818
52
452
708
669
360
813
700
557
10
403
945
213
722
892
821
833
704
928
219
100
300
644
613
459
319
522
275
228
932
905
394
689
761
379
136
96
338
88
520
191
400
605
277
43
31
572
737
57
797
334
750
932
280
684
582
616
297
957
88
548
569
953
301
67
67
93
76
750
251
47
258
292
6
202
208
893
333
285
514
168
946
927
173
365
643
779
888
142
220
275
779
457
567
753
571
476
631
110
760
718
855
8
947
446
716
599
114
839
812
980
27
726
489
128
854
30
85
951
4
653
586
700
610
482
664
630
992
193
339
503
750
139
689
203
766
678
511
581
943
3
189
882
693
733
901
796
888
755
247
242
526
595
906
524
969
683
948
488
806
290
204
212
938
437
7
497
729
444
671
731
582
163
102
865
885
733
846
230
651
317
526
986
657
322
254
359
425
646
396
630
926
887
280
320
787
254
248
163
725
106
745
30
878
178
520
913
328
494
937
668
327
909
563
82
298
423
988
311
488
677
623
674
346
923
774
536
290
53
684
375
671
229
852
162
379
499
699
24
678
521
895
408
634
233
448
250
294
513
697
83
288
819
149
721
976
167
567
981
369
409
686
528
766
864
336
42
826
462
607
822
672
49
93
996
294
341
202
420
185
468
831
255
834
943
360
233
919
801
945
905
673
869
111
851
144
530
901
851
550
918
661
844
370
767
421
423
95
491
349
182
565
246
613
19
42
782
125
97
958
414
344
198
682
906
298
623
895
128
950
54
7
879
198
101
333
668
315
560
940
935
890
279
842
267
94
343
354
982
141
30
477
270
691
676
810
666
945
931
328
854
547
369
229
585
660
72
359
230
683
624
729
93
732
355
108
168
161
815
92
864
955
272
453
259
250
259
964
291
642
579
835
170
363
42
163
389
308
623
951
768
218
296
820
36
477
444
928
100
145
344
248
274
676
146
330
326
512
81
411
682
78
846
574
882
422
982
529
607
229
118
17
343
209
155
901
512
794
0
392
874
180
76
430
324
883
728
832
513
220
546
837
122
45
792
95
9
375
972
992
765
198
297
471
631
548
164
968
578
551
595
117
799
468
224
656
278
902
36
213
344
621
170
809
585
727
236
739
476
544
519
862
300
881
159
52
278
141
467
633
859
358
663
798
683
241
951
512
271
312
614
873
55
854
517
823
845
450
159
196
154
962
910
763
517
496
148
981
338
975
901
645
602
342
837
657
54
130
317
368
785
116
422
946
255
584
380
207
208
730
689
668
190
405
567
379
915
668
88
634
207
793
575
439
675
511
493
13
989
78
207
620
245
549
334
507
541
46
519
774
435
791
925
229
550
769
21
367
513
179
74
854
439
4
176
657
235
109
376
334
822
7
495
953
965
813
578
767
416
279
950
665
942
871
250
554
661
185
446
829
167
652
833
684
943
766
218
56
955
767
311
109
157
490
608
801
579
173
447
167
561
607
94
127
428
626
712
79
71
223
13
460
616
803
580
150
984
634
542
45
821
808
142
435
764
865
983
160
868
995
974
315
235
498
209
309
405
710
366
628
156
13
463
347
837
663
730
986
777
713
10
955
986
572
166
430
513
422
420
44
158
448
690
5
393
767
378
356
606
184
537
920
832
177
929
762
980
820
402
112
521
637
91
511
184
439
981
684
329
475
608
767
897
848
269
926
212
276
621
390
11
917
314
80
923
115
83
440
431
316
357
866
620
737
10
190
108
571
758
902
126
164
918
954
60
476
576
458
235
497
168
29
244
46
343
712
743
122
376
633
317
873
474
839
931
469
462
932
290
221
506
808
536
458
476
540
623
66
218
367
637
406
705
718
971
141
218
19
336
739
700
686
960
197
848
649
848
242
79
51
16
966
557
744
138
874
217
602
180
0
534
438
321
954
191
105
367
215
829
346
468
250
102
372
167
226
107
269
666
367
924
321
552
126
15
839
458
439
529
286
122
355
791
235
967
751
771
851
985
11
28
617
866
894
351
980
417
622
50
902
728
388
449
889
783
894
284
873
635
48
569
583
45
263
617
225
242
193
75
419
334
345
149
748
5
828
913
769
428
617
156
525
274
330
983
309
873
972
295
950
805
614
915
755
843
603
238
319
119
839
295
787
721
338
910
53
720
133
920
939
947
901
379
127
604
879
650
639
900
801
943
247
498
668
269
36
561
286
279
234
594
923
261
182
660
758
368
941
446
410
318
817
466
608
396
573
832
907
186
626
458
851
592
590
754
173
476
622
28
703
553
789
714
607
325
93
406
182
719
341
990
303
696
208
967
756
168
836
583
581
845
475
826
277
430
195
528
874
924
916
471
278
300
1
387
466
204
340
468
354
170
394
988
90
628
276
348
206
614
857
149
806
653
973
86
857
748
276
250
261
841
526
557
292
819
585
563
96
778
943
879
802
655
618
997
928
963
245
785
364
889
656
332
895
610
91
706
200
99
261
270
993
247
297
858
775
48
487
247
148
621
946
828
780
984
388
765
350
615
725
332
482
854
120
361
71
178
110
917
826
55
450
78
386
487
550
527
160
649
520
120
789
79
804
218
596
28
812
682
50
567
892
865
708
600
754
0
938
292
959
469
196
204
464
170
501
864
530
373
271
767
929
810
825
868
528
652
197
537
261
617
82
915
915
694
544
652
163
789
280
269
389
346
689
635
720
277
627
656
288
330
779
203
73
289
823
447
949
173
390
561
514
897
554
175
729
423
551
722
387
344
523
371
499
503
768
945
403
104
660
193
196
215
929
490
243
839
15
654
985
899
890
328
345
747
636
726
248
914
482
61
443
601
721
221
315
365
13
798
669
35
24
544
840
65
693
784
745
819
117
824
276
921
486
172
493
644
236
671
930
800
504
885
601
521
66
992
629
285
943
993
339
680
638
437
949
807
334
937
790
717
647
801
731
48
428
303
160
437
954
490
227
426
585
159
99
131
338
735
556
852
149
713
921
135
116
610
407
971
44
106
618
358
266
101
231
71
809
884
816
588
975
627
876
636
153
603
467
119
328
521
128
152
722
474
127
737
251
214
364
13
817
108
441
740
969
873
996
407
52
448
726
150
469
362
267
768
446
139
65
197
340
766
781
731
845
317
55
414
713
721
247
288
931
761
651
663
926
143
241
209
92
218
839
160
333
648
332
356
86
836
621
528
758
864
346
917
846
731
529
704
629
751
450
564
599
639
14
271
750
850
272
662
335
9
5
725
428
6
475
676
465
992
134
932
692
596
126
506
613
515
362
409
161
454
858
797
459
739
324
478
768
707
114
691
927
649
646
183
831
872
691
477
862
664
820
632
128
774
143
113
705
312
607
474
995
881
880
652
80
246
686
257
581
81
326
705
623
780
772
186
412
134
121
926
100
227
69
32
225
715
438
130
856
851
839
363
849
186
163
860
248
958
28
684
910
352
227
525
375
130
275
877
436
457
7
168
673
816
794
591
296
23
690
899
568
662
430
850
490
730
693
669
521
128
799
777
104
584
497
388
603
80
77
325
12
403
722
255
691
686
800
836
710
253
919
43
67
642
267
686
309
577
281
431
250
571
28
813
895
591
535
691
496
37
200
732
380
496
748
12
762
778
463
248
70
607
295
996
959
889
896
19
273
425
624
581
258
133
659
767
61
383
499
281
344
702
89
607
551
562
78
235
494
74
631
569
971
848
918
234
580
692
546
36
634
698
533
864
680
862
458
651
871
132
311
133
266
803
92
778
923
180
548
172
625
624
555
295
495
923
392
248
938
361
388
654
398
515
606
397
668
411
158
9
114
965
634
324
229
901
404
278
11
49
124
765
911
320
757
917
722
648
890
531
641
97
190
900
127
485
983
628
718
445
351
723
447
596
97
258
916
425
757
976
837
924
203
292
235
782
194
377
654
247
222
827
445
770
635
968
886
665
88
122
178
3
619
16
421
17
582
110
309
301
525
52
310
595
329
892
335
253
758
381
472
855
420
755
14
888
870
80
626
5
952
908
347
989
209
87
409
846
499
326
278
962
680
438
640
474
844
851
6
340
314
121
995
239
976
91
695
286
465
359
480
335
936
703
248
778
761
174
582
126
438
755
887
971
336
875
953
395
807
136
357
466
15
528
677
245
910
905
433
448
817
544
384
772
426
103
174
233
193
119
316
129
209
873
228
655
841
561
596
600
491
450
368
884
244
71
339
475
200
491
53
923
52
793
538
196
674
213
144
131
696
161
568
538
961
317
474
595
52
993
59
70
460
315
148
241
992
222
301
132
228
817
431
196
566
514
525
54
780
864
394
57
987
822
595
912
725
20
663
279
215
587
187
8
904
433
76
905
480
588
148
830
707
309
661
134
644
352
391
830
471
146
123
199
555
525
649
667
136
671
236
39
416
81
537
15
779
659
363
700
958
486
461
450
30
238
474
40
136
669
782
231
557
930
458
663
181
901
40
753
344
386
616
205
351
933
915
505
704
746
132
933
222
159
439
620
102
158
108
115
512
286
938
677
168
932
617
66
310
857
609
605
927
61
811
872
947
398
235
914
785
250
22
503
295
281
459
263
977
691
66
590
638
680
379
829
260
833
323
380
988
710
498
459
924
237
542
830
990
213
612
760
20
682
488
335
242
275
275
981
451
918
298
13
194
878
535
792
388
71
734
836
56
487
937
586
937
420
353
741
743
850
530
994
44
648
126
886
14
893
261
263
500
879
735
806
972
577
230
128
289
510
740
261
283
330
699
355
198
721
901
785
602
523
825
239
513
702
409
575
285
836
516
252
868
643
622
518
794
244
302
966
159
859
439
523
718
523
744
282
112
120
773
287
194
833
573
262
687
930
518
698
318
120
672
667
563
902
361
940
381
98
800
989
318
220
253
200
107
542
532
429
302
156
915
698
128
142
301
665
599
588
543
24
605
494
853
697
795
437
80
560
373
487
753
223
8
907
563
520
627
18
597
378
591
29
851
741
931
848
547
825
80
239
70
773
483
355
679
239
966
702
567
833
397
313
716
528
37
992
415
585
811
158
536
784
643
655
581
665
307
711
590
205
190
633
896
699
609
937
391
610
935
94
967
63
823
776
561
478
563
119
934
490
877
380
738
443
543
11
539
764
157
620
50
314
95
556
306
280
349
455
243
70
318
824
279
244
85
404
378
176
790
100
257
603
853
532
91
393
182
282
459
307
223
734
775
888
560
902
457
294
612
560
978
838
555
187
38
780
344
194
217
646
90
724
578
954
552
805
13
957
919
435
528
979
625
513
962
431
446
132
24
208
262
448
857
92
148
5
631
755
224
320
435
7
723
957
497
912
982
278
507
872
881
518
443
916
614
868
915
92
523
685
21
589
335
952
259
131
773
678
365
918
599
501
500
243
337
47
157
330
597
802
600
12
498
49
912
866
251
890
381
6
642
759
631
243
737
694
107
424
306
261
999
669
150
901
173
95
95
429
308
987
73
922
482
452
759
152
569
441
380
367
564
947
493
201
802
738
460
944
223
557
557
606
619
404
102
337
617
283
833
769
178
845
278
393
553
942
858
642
95
375
870
340
676
333
811
52
755
389
572
464
558
366
837
855
231
118
935
869
488
808
927
45
721
806
75
147
876
791
751
593
710
54
128
879
856
893
375
81
536
356
337
495
322
84
830
132
538
845
184
624
69
340
345
948
945
90
784
279
766
359
547
461
779
695
399
424
147
649
636
820
212
683
532
636
356
922
797
218
833
341
771
31
831
591
785
590
270
223
751
621
456
81
764
581
149
297
349
543
164
550
853
221
707
288
789
51
375
698
987
687
769
262
500
527
211
168
75
932
330
466
674
540
834
436
933
776
395
860
593
221
348
511
448
478
727
779
479
948
450
560
172
49
425
239
257
556
215
828
803
942
109
652
646
441
75
218
129
881
990
610
981
84
696
410
71
591
148
504
772
769
260
967
766
501
208
884
304
793
841
801
18
102
613
105
36
748
854
90
860
100
226
881
336
940
688
266
819
828
141
618
697
448
755
340
395
558
606
138
912
102
350
642
53
47
600
738
473
220
384
493
850
334
762
281
265
608
703
167
132
566
26
621
773
906
948
807
263
95
125
587
96
237
437
161
86
964
719
257
267
137
580
740
904
603
614
443
454
549
45
976
34
404
263
374
916
114
648
870
345
603
917
472
849
381
897
394
386
481
372
435
736
251
812
534
968
59
97
137
587
763
124
967
826
751
829
275
256
735
339
184
735
173
295
939
10
476
685
243
18
484
866
594
762
641
665
942
762
419
48
539
319
473
748
155
886
559
752
835
539
278
217
781
579
612
13
400
699
559
978
506
437
31
639
861
862
611
526
158
594
933
410
538
152
547
198
163
975
263
185
17
906
28
17
664
47
41
278
583
822
462
182
458
482
146
572
80
886
713
212
662
563
427
745
93
523
65
378
782
772
604
232
970
509
203
164
706
406
309
159
120
495
255
617
13
149
798
258
974
431
321
150
13
228
419
362
301
348
857
331
248
154
393
493
741
742
584
515
632
700
692
454
786
245
990
130
342
953
733
969
115
98
95
67
937
474
475
6
640
619
766
457
554
47
418
723
204
627
202
151
15
368
566
458
573
746
979
934
948
428
739
665
943
168
592
667
895
888
409
878
335
416
14
590
953
11
781
693
634
529
546
392
206
625
996
438
312
507
264
705
619
442
264
849
985
694
354
731
315
535
446
421
678
608
15
840
417
307
806
489
161
354
671
889
3
714
678
587
215
545
705
608
573
877
486
831
699
908
320
90
800
949
46
367
255
3
120
703
556
415
503
749
505
818
433
956
411
337
698
602
604
95
714
194
565
912
48
290
249
892
101
670
276
933
968
597
588
676
51
388
719
191
308
649
627
279
313
133
364
43
584
684
292
62
118
954
73
762
856
271
455
355
888
567
392
671
413
459
471
75
292
817
982
569
242
906
131
462
827
816
977
70
593
409
564
871
317
983
20
428
752
946
380
344
756
898
302
450
969
94
154
473
169
199
439
824
694
743
872
99
595
607
865
854
879
283
969
782
273
674
890
425
142
293
716
869
403
783
550
370
35
734
695
983
498
257
517
608
422
939
36
302
137
540
342
112
54
338
7
828
936
827
107
651
344
837
885
686
238
525
834
862
360
31
289
793
51
602
474
92
302
813
649
731
216
482
253
719
233
814
403
41
92
476
133
750
154
930
519
753
861
430
525
657
646
144
933
194
315
941
399
209
21
840
514
24
454
96
302
578
83
775
510
204
997
327
475
84
185
652
507
669
403
730
771
199
175
685
770
733
460
231
869
196
444
290
568
785
519
655
409
117
60
142
812
112
34
143
140
60
945
591
186
355
186
50
909
600
254
53
21
682
31
282
650
517
340
525
90
82
97
679
366
791
48
271
238
112
453
699
330
999
396
945
584
835
729
971
98
869
804
749
786
270
890
161
681
236
956
780
195
877
904
313
796
927
369
652
134
830
263
138
99
282
608
334
684
491
844
11
226
120
933
808
152
61
672
768
640
585
339
891
471
189
723
507
932
226
662
940
620
598
133
912
625
177
569
219
879
61
230
368
58
681
422
428
834
561
34
588
841
874
371
434
488
423
286
417
7
91
739
457
710
592
897
741
323
868
246
174
875
821
547
886
592
935
592
442
364
34
284
791
363
209
175
290
972
444
697
118
604
704
610
919
419
877
699
575
232
97
720
41
958
0
377
137
932
533
427
47
247
490
324
179
379
515
336
6
398
699
768
502
165
868
779
428
916
857
869
910
827
73
902
249
285
524
671
497
65
837
564
438
251
51
736
910
805
58
528
874
629
224
941
549
199
866
613
96
83
253
211
583
378
411
521
653
261
907
799
590
396
879
19
322
885
711
662
547
698
693
715
742
271
127
571
558
285
544
600
861
359
729
621
705
375
624
804
467
567
475
596
372
524
916
513
793
525
187
964
531
187
256
51
141
594
422
488
525
512
626
703
118
903
923
914
806
488
822
382
803
857
437
818
313
690
289
350
442
273
138
230
115
958
132
938
635
413
923
680
574
396
147
606
962
387
183
888
360
711
758
388
692
878
47
925
218
162
984
352
771
757
898
975
843
419
877
9
404
368
84
831
498
476
664
283
538
453
972
929
937
765
22
210
84
603
195
788
101
354
480
38
513
845
169
380
821
598
347
37
827
94
299
104
745
211
203
629
15
596
9
167
912
38
29
831
997
446
791
285
415
818
790
902
680
616
60
869
816
289
878
225
307
584
461
893
437
719
958
623
790
808
827
921
190
204
643
679
508
400
509
24
343
180
923
192
301
876
580
784
591
209
704
211
521
505
946
781
605
948
751
258
416
634
869
557
349
891
89
299
444
925
538
118
89
911
199
220
786
891
648
33
857
110
374
396
447
260
331
849
275
808
496
194
448
194
754
952
653
496
500
784
842
683
714
186
610
14
613
824
643
624
519
715
941
486
227
844
11
621
28
303
286
289
305
131
576
761
840
576
281
894
461
650
884
955
708
19
145
551
664
526
921
629
40
55
850
820
630
399
726
375
917
164
187
751
810
872
144
895
814
130
142
731
257
50
944
493
422
841
741
283
732
663
513
546
559
452
873
79
728
149
186
965
965
974
161
5
501
52
51
584
566
695
295
729
473
957
428
441
715
193
70
36
713
824
858
157
513
305
518
466
469
35
359
694
787
236
764
731
994
787
444
130
212
990
801
28
93
480
106
0
223
896
528
976
278
654
423
214
712
787
274
699
402
386
402
437
674
321
38
617
739
462
543
196
317
125
515
573
913
40
514
276
481
531
27
674
227
602
288
606
78
132
17
400
509
690
887
921
541
241
952
416
358
495
590
134
381
375
953
841
723
231
224
844
302
505
402
844
123
98
268
249
105
288
192
133
400
287
852
229
573
930
49
503
778
347
954
245
847
30
63
339
402
440
301
635
965
385
551
517
987
184
743
113
864
706
705
95
824
453
73
287
344
714
396
401
870
471
708
140
90
395
28
587
632
899
889
142
406
720
251
624
600
698
719
157
135
298
644
828
912
591
484
461
497
569
127
321
895
927
2
980
481
1
894
628
0
523
164
413
385
735
14
723
916
548
774
341
475
806
211
680
132
694
240
680
280
74
134
277
743
547
357
186
939
325
774
948
548
463
998
335
33
758
759
278
707
527
398
257
360
383
521
918
389
93
321
679
876
499
629
791
391
417
750
56
377
776
992
619
924
13
715
581
933
819
395
441
184
13
280
955
904
809
463
228
197
103
328
987
195
924
951
630
186
430
834
584
731
642
927
707
850
139
345
49
4
200
939
933
401
811
415
27
595
578
353
297
674
595
843
935
916
74
608
57
672
207
651
183
802
480
444
722
154
300
606
89
603
13
503
784
204
220
223
448
725
870
750
392
882
757
114
397
836
624
23
387
225
175
490
526
626
251
416
692
98
322
153
152
992
764
413
288
184
814
89
415
263
390
708
696
457
408
66
529
720
57
821
845
983
68
333
987
908
233
497
861
590
682
859
989
74
809
833
213
528
962
480
515
719
542
164
417
633
56
425
761
46
283
231
6
855
267
883
371
890
881
803
426
469
399
51
443
918
243
706
714
210
82
66
334
103
865
444
452
364
838
905
861
69
522
328
20
225
547
831
937
73
39
505
508
763
98
429
539
793
455
643
244
339
493
925
138
896
736
998
536
52
136
947
384
741
754
59
649
872
380
80
946
885
257
881
207
727
199
147
929
52
216
32
395
370
30
345
693
419
858
864
920
740
584
881
7
742
792
174
718
601
874
887
3
425
959
759
247
722
697
304
465
755
294
246
771
568
52
839
881
308
794
523
412
440
663
361
241
427
712
261
489
229
97
161
437
543
437
6
395
866
762
336
33
734
198
418
111
796
884
403
454
198
657
790
952
763
292
563
871
271
572
894
30
851
590
946
760
391
492
184
250
341
1
386
993
54
654
24
938
179
480
670
822
31
414
340
187
165
717
764
661
911
253
587
329
540
494
467
976
292
644
553
878
38
250
67
929
389
126
959
747
420
552
297
17
39
116
537
122
995
547
441
279
395
580
954
944
889
663
591
721
232
290
37
157
467
630
825
467
400
257
599
443
708
707
120
707
961
267
165
630
55
984
342
299
327
744
206
337
800
342
842
303
493
767
644
542
244
189
599
334
376
384
505
402
19
252
181
139
530
101
475
292
83
265
60
351
672
259
158
448
278
728
749
535
724
259
282
598
968
2
683
640
255
507
819
884
192
795
499
476
80
834
865
516
232
64
915
241
169
960
573
872
290
199
221
273
453
932
777
676
694
544
744
466
824
354
232
910
273
953
101
178
993
103
614
343
531
399
594
632
492
247
532
820
91
435
865
992
888
383
873
204
229
216
789
893
593
713
616
149
735
180
455
72
895
12
698
627
762
871
84
307
559
564
4
957
914
237
824
359
894
645
933
641
905
674
464
825
671
254
906
163
784
998
184
335
729
528
233
7
148
634
297
275
139
275
497
829
933
405
177
732
444
982
850
533
830
880
942
302
135
83
128
160
314
808
137
564
599
81
94
96
703
254
680
156
543
483
18
909
14
448
43
724
190
894
922
289
782
638
933
520
240
722
477
174
269
927
317
481
648
108
166
966
932
140
197
70
662
10
960
721
986
450
674
501
309
767
514
929
905
481
691
221
203
85
442
456
29
414
770
132
744
620
93
92
87
506
138
465
371
767
148
985
497
84
794
569
139
98
842
566
540
573
233
427
74
293
817
86
108
183
283
593
489
850
178
424
283
629
336
708
935
152
62
119
376
423
291
417
38
838
452
484
395
821
475
812
950
481
365
315
444
598
389
344
44
4
207
632
270
891
71
396
849
246
553
883
602
897
383
338
130
103
660
589
382
530
962
388
614
384
166
704
34
737
316
207
2
74
530
481
690
756
149
906
588
553
144
604
85
387
975
177
506
96
624
919
123
998
495
25
375
283
699
793
291
993
310
920
125
911
506
148
803
164
486
314
0
413
544
651
850
680
519
573
434
428
703
508
11
452
397
489
270
489
594
983
557
234
890
484
769
290
745
207
320
503
756
800
411
930
336
260
661
956
485
873
127
577
930
994
905
928
307
447
154
357
495
4
580
837
304
705
623
6
671
166
996
181
987
671
947
211
265
728
64
685
253
710
235
708
970
367
995
669
476
533
26
335
139
640
996
240
856
541
20
411
941
775
833
318
42
744
343
971
411
909
529
486
66
337
56
272
352
730
827
351
186
750
797
8
438
66
975
754
718
680
874
398
890
340
686
428
568
771
343
434
179
200
897
659
338
193
576
699
769
353
125
872
804
861
613
934
478
637
498
931
158
341
112
185
715
935
544
799
414
968
317
7
901
818
484
979
453
838
800
899
875
674
767
812
578
105
823
28
764
214
481
954
318
341
570
895
707
980
242
76
14
53
782
727
155
226
553
923
521
689
229
457
782
606
838
459
785
823
335
818
450
430
237
627
227
841
629
961
785
526
596
704
54
157
858
568
136
221
22
60
615
817
831
524
515
157
24
458
994
581
418
441
480
907
833
942
231
171
735
532
578
447
259
217
305
936
840
783
793
477
270
933
185
211
660
299
891
905
21
959
369
594
487
941
120
579
617
40
658
906
738
350
348
299
206
103
454
566
450
733
772
917
685
662
37
673
434
908
355
962
38
185
593
360
924
261
302
995
587
154
554
156
201
445
43
891
565
67
862
533
611
758
678
97
490
290
214
377
839
374
9
273
864
950
810
389
790
546
114
30
960
661
8
426
483
37
599
776
460
189
798
783
531
514
207
937
678
546
146
167
555
216
552
361
447
317
92
640
758
315
846
148
577
535
357
739
568
648
320
556
889
478
610
152
524
497
888
499
418
28
123
688
913
373
741
636
906
71
135
876
621
414
715
888
65
26
291
468
728
99
132
449
57
23
930
458
854
544
841
381
464
840
701
964
972
170
255
749
541
396
447
79
607
734
586
577
982
77
543
353
794
1
33
146
602
127
891
661
150
824
733
778
14
849
983
458
674
794
103
642
536
342
469
278
131
455
372
119
56
413
212
361
622
106
253
910
634
396
275
224
316
761
473
436
209
607
452
199
911
268
712
909
976
707
658
339
927
287
138
431
850
288
83
498
528
662
71
438
955
120
307
564
443
327
5
763
656
284
706
217
879
169
589
495
763
919
368
656
68
146
157
969
245
827
49
589
254
359
158
870
575
711
328
763
470
435
745
214
875
252
599
538
350
35
91
356
463
512
809
225
278
330
173
323
86
456
963
458
675
327
967
411
204
173
502
733
649
423
262
567
296
493
22
169
389
621
420
255
243
718
494
389
761
524
387
794
605
277
340
313
677
771
556
856
201
558
727
873
360
718
832
378
960
824
105
143
829
36
787
188
528
736
495
968
794
139
341
497
262
607
162
90
984
541
64
516
928
109
17
181
156
81
11
878
749
167
278
348
442
789
514
467
449
563
798
656
915
474
250
500
358
884
289
148
171
536
706
408
745
449
782
239
286
234
433
72
487
304
765
842
102
219
976
167
958
33
749
638
13
151
562
806
473
696
240
590
250
462
689
358
957
788
241
301
620
830
313
138
476
29
723
418
671
220
557
40
927
62
896
701
920
693
645
983
620
631
756
594
515
151
346
255
970
364
149
177
788
479
527
878
150
365
705
558
555
812
924
177
502
87
546
622
650
705
975
590
204
592
334
505
876
120
771
993
400
583
105
368
961
613
20
209
217
692
496
638
583
933
991
76
801
146
706
619
982
816
255
831
752
511
798
855
632
603
493
657
735
18
514
408
239
167
616
126
581
413
529
465
124
343
868
293
716
787
230
394
761
209
776
152
974
355
894
105
526
759
442
827
715
281
297
910
40
351
389
330
229
489
455
89
739
105
813
160
245
971
512
454
987
410
48
948
567
161
294
236
208
389
225
471
855
250
6
417
274
563
60
642
787
272
760
913
872
416
583
377
224
250
147
570
498
229
288
832
315
961
512
684
325
916
727
989
737
473
987
81
658
73
998
853
155
576
862
558
999
300
60
260
51
636
714
91
283
436
151
848
646
415
73
55
704
530
781
451
755
37
953
690
356
271
10
221
964
563
494
215
369
0
813
999
732
795
234
777
64
482
84
980
221
172
347
703
102
983
733
718
713
431
37
788
839
791
963
464
342
45
807
638
112
392
970
340
480
349
553
648
608
387
959
730
460
838
42
35
731
994
968
81
338
602
394
608
620
80
810
0
860
669
843
359
481
251
303
849
143
559
809
241
892
36
15
595
913
938
804
438
454
199
257
997
189
894
504
137
524
142
22
626
709
112
363
317
468
875
420
675
148
307
911
380
773
399
124
610
209
643
297
233
16
513
558
534
573
387
581
972
190
685
870
740
134
784
607
21
925
759
159
436
551
588
40
59
121
970
979
450
404
826
183
550
588
18
24
691
299
438
364
885
567
857
972
591
586
898
462
945
209
51
699
84
831
926
599
402
58
844
623
526
8
556
100
411
862
527
174
252
38
623
998
544
216
468
594
766
93
472
657
415
234
722
58
908
624
269
902
133
916
851
394
850
880
760
979
390
421
66
138
517
516
260
741
417
483
119
242
116
455
283
216
309
98
134
704
301
462
289
850
342
140
747
289
156
746
550
849
102
147
420
965
738
113
633
886
431
550
775
870
37
509
263
572
810
359
861
422
837
131
520
429
142
380
906
248
879
368
591
532
202
796
450
129
4
624
733
637
602
144
433
471
262
984
393
326
540
255
151
884
10
799
732
697
628
956
986
945
276
163
276
461
19
589
316
194
476
35
732
79
375
409
290
455
432
713
828
669
820
779
148
807
584
328
683
89
408
810
515
976
443
90
61
842
102
208
797
342
409
301
653
333
604
734
843
611
579
190
742
798
735
776
939
922
926
63
308
341
177
400
438
91
559
179
901
625
688
830
117
211
283
86
740
907
621
534
306
773
542
714
593
132
707
657
621
547
796
986
533
575
342
793
285
963
140
159
494
244
671
519
79
629
849
183
514
668
702
348
276
595
426
402
901
700
337
365
324
558
740
585
711
560
511
512
887
405
215
749
328
959
303
608
100
678
385
774
747
988
877
568
665
892
991
52
390
118
903
735
808
93
761
624
607
245
741
796
592
42
366
427
587
956
695
487
746
902
237
150
552
655
602
972
693
238
401
831
66
178
775
98
163
943
913
647
516
289
59
186
631
788
722
422
227
278
546
577
173
727
788
506
386
134
379
586
267
397
393
143
35
342
317
368
255
781
121
946
249
814
871
310
80
856
681
719
289
837
673
263
331
338
900
873
254
464
996
683
972
55
761
174
126
985
7
839
968
362
166
847
582
566
912
902
333
508
764
76
987
580
506
591
391
814
795
275
550
31
425
90
691
184
283
41
462
113
31
860
905
909
64
650
703
253
640
292
523
706
918
848
193
266
638
423
309
263
327
946
445
881
873
496
747
70
971
362
231
974
849
680
527
473
510
355
235
233
549
681
208
251
1
714
743
406
446
407
335
165
357
339
708
835
683
188
743
316
837
599
763
915
836
638
275
302
616
392
7
945
319
250
756
209
4
826
301
50
345
783
768
629
480
538
124
688
823
330
265
707
326
406
795
244
138
812
943
38
206
827
50
798
631
600
815
100
285
965
333
687
50
257
940
649
418
703
273
809
838
844
438
115
443
177
379
174
233
237
449
413
327
670
719
511
501
922
621
449
791
779
115
648
462
186
798
512
889
29
214
307
356
301
537
287
417
10
373
706
101
235
364
996
624
110
80
989
875
384
519
410
222
860
61
258
715
474
799
670
154
36
78
682
362
523
53
606
156
946
860
744
692
711
409
236
480
302
898
182
824
79
483
104
604
203
452
184
104
310
87
389
662
223
726
141
436
222
562
793
989
207
418
302
774
329
31
77
752
225
927
285
333
474
928
778
12
7
257
169
805
742
852
510
17
168
205
176
831
158
371
937
971
566
506
914
384
226
993
216
824
708
165
377
41
228
445
135
34
861
960
963
609
319
785
948
164
191
72
446
421
402
207
366
855
541
960
388
659
711
139
913
767
96
850
610
866
256
296
600
9
670
335
164
538
173
650
9
67
348
995
763
875
972
917
440
981
506
312
722
97
944
283
121
839
17
391
321
631
704
687
187
141
92
394
910
998
53
324
254
948
619
331
661
82
777
885
848
440
235
276
836
216
766
467
357
867
991
45
867
191
590
524
224
991
19
273
737
335
370
377
695
820
935
144
521
260
64
953
555
14
517
367
883
710
454
570
755
97
457
404
820
744
903
611
853
977
975
715
905
404
168
333
389
881
599
134
95
450
300
738
926
530
770
583
691
902
243
658
419
286
122
778
17
525
100
542
641
25
20
51
135
74
363
824
45
915
200
798
421
499
954
206
71
880
971
403
795
316
371
887
613
125
137
105
53
782
866
143
678
224
745
90
285
787
399
750
917
443
743
8
998
269
411
4
926
2
471
743
629
151
177
474
312
341
218
209
267
952
426
494
618
944
653
45
574
465
864
622
382
449
962
30
503
309
978
374
471
61
321
582
409
198
152
429
607
682
681
496
887
55
159
110
120
28
393
857
531
969
116
569
356
690
576
869
357
486
936
68
839
816
867
269
852
305
383
487
311
372
525
355
4
997
225
464
577
995
414
432
108
25
897
123
727
590
37
202
520
620
484
10
374
729
782
924
786
213
315
467
199
559
136
923
966
735
552
918
260
117
71
370
602
737
509
278
186
271
470
253
748
365
533
793
258
650
910
584
462
84
880
538
691
666
858
0
204
561
400
872
758
581
488
709
809
119
400
467
940
963
259
938
256
448
855
340
817
140
554
841
404
395
233
767
302
524
555
891
963
876
543
274
839
598
455
484
105
228
364
823
641
728
109
898
476
41
82
151
432
885
12
97
772
584
612
626
861
85
758
533
523
159
364
961
114
275
428
624
904
374
902
668
166
749
423
1
849
17
280
456
131
213
727
378
852
46
471
270
927
776
61
838
384
471
598
309
900
950
807
192
464
954
134
964
980
393
167
75
182
194
27
242
436
450
555
573
652
905
391
194
937
929
516
75
906
690
748
977
707
651
511
751
303
572
783
244
703
586
90
274
378
901
38
32
77
282
794
531
958
217
980
950
14
40
623
257
341
738
391
125
619
21
295
766
436
250
664
44
643
320
858
63
313
144
943
441
104
615
740
841
545
644
316
598
877
14
477
314
278
180
307
707
70
286
453
126
259
735
402
531
849
246
775
938
417
823
788
691
191
858
126
235
117
160
404
37
638
749
217
238
55
34
708
200
913
534
349
839
853
232
678
680
283
794
621
400
893
911
679
485
771
376
543
590
411
740
836
250
428
851
310
344
382
480
489
43
457
550
732
421
923
98
438
824
765
171
865
75
54
665
894
616
637
228
925
62
62
351
566
36
454
644
960
15
882
797
764
831
580
61
542
362
500
465
905
518
342
738
299
145
716
325
151
225
140
397
234
400
267
354
792
983
821
312
305
187
888
108
664
854
199
505
78
670
960
600
224
980
100
919
819
870
644
201
505
697
939
774
976
725
590
984
887
19
521
885
409
953
324
161
167
415
680
436
569
128
537
983
550
24
414
234
226
959
351
836
622
182
442
771
786
751
983
224
212
549
576
145
960
182
501
602
391
434
304
463
912
866
470
153
14
836
66
62
794
887
985
552
298
650
601
31
649
25
3
527
967
843
315
218
232
66
866
380
326
996
515
666
951
98
560
15
810
45
189
296
483
612
910
75
120
861
459
119
541
434
276
15
371
39
355
180
942
372
375
891
998
870
254
927
308
581
655
268
322
664
209
937
130
196
132
158
906
358
578
908
453
596
838
746
761
210
145
175
923
413
462
370
883
445
645
571
875
854
538
630
584
942
51
141
940
913
849
860
899
485
445
589
369
653
304
290
904
584
824
50
730
787
675
45
309
522
294
497
391
811
772
446
234
662
309
560
728
511
805
197
782
384
358
850
448
161
284
266
821
118
484
243
110
657
600
834
957
288
948
250
476
147
552
461
466
409
395
739
876
288
986
797
244
693
30
581
130
809
738
63
691
702
689
349
987
332
178
175
282
374
786
22
248
856
230
780
349
20
638
269
158
825
78
428
734
872
395
922
394
651
15
34
503
380
389
181
411
996
455
671
974
276
173
300
732
758
354
852
897
549
351
753
29
221
262
763
554
458
809
53
977
947
638
542
276
945
69
648
339
772
698
680
578
168
250
4
306
170
661
965
805
246
33
606
289
40
532
401
816
981
920
876
276
909
966
413
34
660
166
102
837
779
733
923
489
224
744
252
191
66
378
645
524
963
199
3
666
441
212
257
359
602
909
951
980
341
234
422
703
656
693
746
785
104
988
932
627
424
613
117
965
659
266
821
372
859
552
103
263
385
618
225
561
59
490
71
287
57
34
420
722
357
588
815
80
558
899
446
146
445
616
72
86
987
44
332
293
486
789
212
448
720
964
118
477
249
330
779
339
560
176
184
444
602
615
465
955
406
51
70
891
511
376
392
952
181
424
997
851
351
48
661
731
13
23
736
931
151
491
114
311
856
36
454
778
144
907
528
130
691
681
180
776
419
139
761
746
6
356
788
235
250
546
482
279
807
944
581
750
218
573
417
271
526
240
148
833
337
191
61
728
322
960
323
212
162
355
138
810
543
166
496
412
184
115
416
690
350
792
289
333
840
280
167
827
288
70
386
962
536
871
830
913
107
964
567
136
431
716
937
658
300
353
811
981
512
607
71
154
920
4
826
88
96
257
628
389
315
826
894
584
969
302
391
200
596
743
980
384
869
808
487
491
745
107
713
414
556
886
669
380
284
292
126
111
651
586
883
728
663
921
683
76
904
548
24
824
191
92
141
73
394
750
511
164
111
825
475
57
383
731
699
44
427
2
993
608
396
765
716
205
425
926
738
522
419
169
903
761
90
271
241
305
703
531
146
700
11
171
131
279
803
962
741
25
787
12
697
772
601
995
508
172
701
264
533
208
212
338
472
122
731
957
191
404
631
897
481
445
941
69
214
943
344
650
822
131
922
919
523
184
921
123
74
634
301
124
311
143
234
803
95
230
395
984
68
424
588
838
604
659
316
512
842
491
838
755
100
214
380
262
400
494
860
52
263
821
445
599
128
725
455
569
324
120
170
844
49
183
778
373
263
290
225
336
67
371
30
963
106
271
85
950
324
23
62
622
63
507
429
750
74
774
525
765
322
732
735
27
361
966
372
973
124
474
384
853
47
1
41
150
48
486
423
806
376
416
610
715
194
778
705
652
786
916
90
491
819
265
536
570
340
830
388
485
114
198
4
866
364
288
142
570
641
223
53
588
399
973
859
220
445
501
209
313
349
864
765
823
74
832
556
987
298
880
46
728
470
31
752
73
114
208
356
326
96
383
628
702
171
95
339
829
599
727
386
543
774
629
30
938
987
841
734
889
235
637
694
792
468
623
69
240
223
47
461
973
787
305
994
200
384
654
635
306
506
671
536
534
605
715
325
361
259
868
213
913
608
630
254
20
760
118
884
425
317
361
159
485
112
976
637
515
635
184
188
233
449
640
102
491
651
939
170
335
806
724
955
688
859
108
323
664
719
950
373
157
356
202
323
83
235
43
522
429
307
470
52
416
81
906
930
168
604
278
876
809
696
173
324
127
101
630
425
144
91
231
730
505
191
749
857
637
267
872
411
792
369
170
213
977
429
574
471
63
342
165
308
520
440
270
108
851
961
156
698
321
555
455
608
224
57
466
909
20
666
661
214
376
924
921
87
682
689
558
770
111
323
690
282
740
239
847
865
722
631
217
543
373
249
228
806
272
583
899
767
399
974
308
153
504
601
242
806
549
683
894
380
217
36
292
147
858
791
546
726
48
971
237
889
455
83
832
788
894
926
655
685
125
511
760
184
61
583
836
229
75
650
224
764
740
326
372
964
416
385
751
60
532
329
437
838
888
770
885
641
454
846
182
855
166
962
816
506
378
557
249
342
300
225
883
695
323
659
997
116
728
480
681
95
657
983
364
163
748
258
512
446
524
542
474
584
731
165
158
750
549
19
602
998
664
498
254
624
355
277
766
87
348
931
791
905
452
420
119
598
184
616
53
364
69
263
529
485
990
810
405
610
856
16
876
586
576
240
425
830
363
766
428
79
85
961
958
277
990
827
198
602
59
0
779
877
686
232
231
688
592
106
338
650
653
140
75
622
920
314
225
524
295
800
250
742
42
426
105
613
294
336
691
720
996
490
99
175
976
800
800
911
620
710
545
465
694
48
482
774
402
916
598
233
203
542
301
147
906
247
305
962
738
529
667
788
727
263
725
81
106
88
536
35
894
833
867
23
520
54
658
422
841
406
568
511
766
574
331
989
851
852
722
943
587
370
350
997
296
437
295
734
268
254
539
909
603
220
302
156
705
709
551
635
996
139
599
544
663
496
888
380
87
254
574
961
674
170
590
436
786
426
823
774
205
581
816
25
524
561
111
114
926
373
950
29
701
696
836
388
437
14
698
707
413
665
236
683
276
932
685
581
102
179
614
320
202
628
172
598
755
383
433
708
939
108
951
2
94
553
426
550
759
497
889
818
985
776
388
944
288
77
624
809
918
77
1
112
435
893
227
123
843
626
600
717
716
243
686
642
220
956
41
951
86
161
808
881
576
535
206
258
479
956
210
967
386
170
303
632
794
268
910
987
632
478
652
56
400
847
229
953
303
854
878
43
844
825
132
850
412
609
729
770
314
781
249
519
544
208
595
572
132
628
94
694
423
690
378
390
741
418
747
55
973
465
673
855
360
725
276
917
476
880
915
648
6
128
819
137
89
649
86
793
683
571
282
412
873
188
634
120
251
589
497
619
648
17
502
107
518
326
354
161
878
365
562
695
925
977
327
88
306
893
701
756
378
608
433
928
887
435
736
255
110
149
870
319
862
897
243
322
514
781
166
706
133
684
737
548
362
85
396
378
193
653
546
270
749
337
914
431
18
867
382
495
811
181
539
502
379
883
695
544
827
495
832
528
345
4
648
788
461
247
254
913
920
543
74
395
312
413
679
569
917
862
945
111
0
51
293
229
744
172
430
36
448
305
753
434
941
967
759
862
785
921
77
304
461
912
948
890
487
791
429
460
893
502
733
409
139
762
406
744
745
737
721
902
743
283
925
93
736
105
470
770
731
832
313
536
41
618
27
441
138
79
353
890
751
440
305
0
364
854
540
795
440
568
250
671
917
311
967
854
134
557
534
530
746
909
731
90
705
988
773
928
178
265
322
466
696
656
77
641
704
741
691
735
615
168
500
739
451
270
30
82
173
822
692
19
837
534
600
936
652
408
466
528
221
303
763
974
101
135
471
241
109
739
848
692
81
22
945
770
536
483
502
549
263
407
958
349
737
819
811
227
341
192
31
687
553
870
557
425
842
818
178
707
13
332
350
502
606
566
416
132
976
939
329
923
208
211
536
711
783
196
281
820
432
95
592
829
291
205
551
52
461
764
567
590
708
749
775
422
275
39
943
90
934
766
723
542
353
91
396
679
336
173
112
154
675
851
402
511
749
0
422
586
718
558
358
100
62
485
243
963
566
941
10
50
872
873
125
651
200
589
646
760
851
581
894
343
85
65
969
476
971
649
958
982
740
480
471
978
74
605
155
361
744
134
413
406
497
363
607
560
554
816
953
206
606
288
14
941
782
325
965
730
943
977
571
161
160
266
401
273
155
797
491
168
246
677
296
534
87
158
194
301
875
828
50
534
930
381
291
434
1
449
382
155
819
844
981
628
293
827
522
389
51
759
68
377
421
742
36
747
25
127
101
793
882
974
518
426
120
820
629
840
890
903
716
702
480
632
624
84
624
206
724
308
439
705
827
353
751
269
138
609
368
593
589
408
640
482
19
952
192
240
878
896
390
209
738
897
284
111
771
770
693
117
794
910
742
966
130
374
696
372
85
306
703
888
170
332
810
920
521
491
712
263
410
411
109
205
742
898
976
490
108
10
929
709
907
453
299
149
289
226
251
532
707
526
411
164
557
586
320
899
331
620
166
158
727
588
526
338
856
157
841
433
291
92
195
164
441
673
220
495
166
12
993
60
98
589
266
934
329
963
371
841
221
757
705
986
107
155
950
620
736
37
230
38
835
10
452
160
106
244
981
639
904
76
425
352
99
171
585
136
270
395
15
88
502
895
68
424
607
607
220
400
909
760
539
518
228
291
90
894
302
266
968
886
31
617
636
561
403
71
472
734
378
493
855
358
992
420
836
981
242
382
476
700
975
824
176
389
348
836
437
47
881
266
161
332
874
805
257
648
480
267
951
205
245
161
490
250
880
308
101
534
238
330
835
403
299
811
201
274
569
953
235
876
614
319
842
735
662
251
336
585
634
754
285
782
750
936
774
463
383
475
140
313
433
454
903
270
330
53
703
928
159
312
562
752
470
388
842
961
781
822
643
983
156
491
371
399
520
736
649
701
986
501
870
301
602
416
478
246
667
19
867
166
598
766
176
909
507
753
870
711
743
411
58
935
978
130
476
364
912
534
804
954
938
345
154
77
201
172
766
717
60
251
810
34
228
550
564
400
169
88
655
816
838
142
768
666
303
101
527
349
541
206
214
195
471
591
806
240
451
362
584
873
253
454
600
274
103
627
411
63
624
497
295
106
126
867
731
58
176
464
49
707
256
426
74
828
154
0
414
275
148
17
126
493
719
243
476
217
893
85
981
131
827
183
441
778
76
356
76
600
213
16
6
840
264
799
722
936
775
883
284
100
407
673
586
970
157
902
926
898
79
706
212
458
872
114
53
443
398
872
794
616
676
450
124
312
552
115
661
5
682
791
925
605
900
314
391
330
712
271
241
69
230
880
852
306
353
204
442
550
665
708
9
995
158
589
419
806
457
610
906
695
871
565
803
385
119
330
485
373
460
496
270
545
34
963
418
968
382
297
146
129
506
859
587
458
942
486
950
800
730
634
677
157
478
631
739
110
457
724
902
927
689
74
730
285
724
371
712
735
954
648
746
703
704
649
770
609
443
338
237
160
887
430
284
352
484
929
623
548
332
786
279
712
469
86
852
353
980
958
659
189
834
842
251
571
59
266
137
994
74
533
361
231
337
60
183
361
794
766
570
621
511
740
654
913
338
689
845
322
850
506
304
936
433
565
178
485
81
23
438
201
333
130
945
951
527
49
458
746
277
164
463
459
130
989
643
856
828
113
202
372
288
354
478
835
487
801
676
864
453
307
43
917
130
558
63
455
609
960
479
328
822
2
69
677
238
317
661
54
755
275
135
242
257
336
345
313
598
102
620
745
482
65
295
977
562
487
303
867
424
552
469
340
952
693
267
760
259
994
544
364
8
845
491
328
264
15
388
311
945
75
682
25
441
420
902
173
492
341
842
679
938
401
144
666
50
241
253
354
73
37
552
539
143
659
551
262
752
279
866
735
592
893
282
918
89
690
260
959
59
492
974
277
596
822
153
366
235
566
69
948
37
523
638
931
50
953
823
597
838
321
737
366
506
846
774
884
161
823
7
674
660
126
50
124
62
193
790
403
268
444
938
597
748
349
381
920
723
599
334
264
578
956
188
50
34
592
940
246
997
667
547
605
798
302
254
447
863
532
974
920
445
259
765
236
655
772
325
90
493
376
773
612
830
352
900
339
457
50
644
301
772
97
469
197
132
806
975
512
356
662
50
716
427
140
605
253
440
859
260
513
477
306
871
257
719
691
640
317
215
616
703
910
972
480
129
146
449
943
985
157
425
924
915
625
485
524
510
319
843
589
832
920
223
843
655
255
166
820
195
842
684
693
716
699
187
717
698
64
130
893
272
466
430
329
172
557
336
917
53
792
655
953
602
753
365
810
996
487
476
917
704
28
271
148
688
588
310
335
222
451
91
113
675
645
501
717
577
872
384
766
375
553
242
847
83
222
785
726
529
521
64
928
789
359
874
444
149
970
361
3
450
911
873
277
753
215
261
745
671
441
403
180
348
896
405
655
68
113
542
816
408
391
854
572
486
599
973
747
222
805
806
772
137
491
338
377
758
585
38
571
884
588
86
616
367
50
338
809
86
665
112
529
462
275
580
926
203
546
731
433
650
783
803
769
783
50
129
245
404
688
45
114
244
340
158
638
382
38
347
14
154
887
858
165
955
610
251
682
122
618
184
353
595
227
602
379
504
475
318
114
725
642
715
62
815
324
571
819
682
575
517
737
300
666
269
823
641
611
470
45
115
674
67
183
204
619
652
401
147
766
422
826
398
373
564
297
339
6
212
974
355
347
240
892
717
816
516
37
211
249
107
813
214
790
953
916
343
550
249
852
191
126
911
799
330
999
668
95
974
322
963
240
422
334
147
123
256
843
159
965
359
881
37
29
352
132
71
355
699
660
827
855
538
901
13
634
271
813
360
252
840
456
14
822
408
944
147
824
930
541
502
830
972
243
858
219
790
942
541
282
616
110
815
266
420
507
280
640
539
603
833
836
119
309
346
375
460
225
946
170
400
548
664
276
829
120
242
429
301
269
16
914
268
782
209
111
147
603
509
761
750
805
382
872
163
554
339
498
452
86
836
838
515
798
966
855
709
371
36
348
119
390
350
36
256
118
830
540
528
912
936
265
309
671
553
626
620
618
928
824
472
127
746
942
309
796
419
805
147
908
232
616
499
138
534
671
105
654
333
436
730
942
845
830
786
582
726
571
175
796
112
157
414
148
832
55
427
917
782
888
551
927
718
571
491
339
259
109
768
525
995
462
920
866
682
440
366
955
494
565
469
513
290
137
736
440
831
313
361
989
695
792
895
863
48
614
481
611
516
465
671
813
583
489
837
103
902
817
118
316
946
78
184
313
975
511
139
186
132
814
45
736
432
485
763
589
598
691
422
747
387
974
467
559
521
614
406
549
693
503
85
806
20
832
846
863
303
701
148
205
554
357
292
590
16
263
140
834
747
125
502
993
921
640
740
456
817
569
954
757
489
46
988
572
146
586
469
647
185
775
129
369
103
543
933
361
53
701
750
183
817
579
906
465
167
961
707
750
308
618
132
277
234
443
580
281
160
345
898
628
223
617
59
344
993
731
373
290
68
968
11
461
408
202
507
33
298
91
778
473
717
878
21
895
911
594
318
583
126
388
658
485
601
141
619
43
725
343
381
752
740
657
960
163
370
961
547
720
53
258
599
938
50
304
665
16
573
705
531
352
154
800
968
652
190
541
882
466
347
38
351
778
933
616
879
59
582
110
679
657
493
189
717
453
931
848
759
812
225
160
70
115
61
552
172
522
621
623
479
569
466
856
990
872
274
291
683
110
525
814
521
776
984
773
36
911
166
133
626
609
430
461
184
779
785
414
176
281
726
779
744
474
536
793
420
646
996
653
901
911
497
988
122
339
726
104
620
44
472
426
957
70
457
967
600
375
188
826
699
848
520
865
984
279
66
362
687
314
957
582
670
781
422
479
963
871
276
677
110
761
990
842
520
516
298
351
432
498
450
176
42
654
968
886
582
113
248
440
448
788
982
408
958
330
59
448
684
39
632
953
601
714
613
285
122
833
441
309
756
826
277
777
344
997
584
808
417
709
168
540
950
853
346
178
479
190
597
437
11
571
145
78
62
900
964
678
521
132
893
819
453
434
357
39
396
583
755
931
52
104
770
785
706
978
859
572
992
895
904
101
544
230
983
620
737
291
730
196
814
199
230
949
33
925
668
444
873
56
769
189
512
65
728
376
85
2
959
638
949
771
310
576
858
223
673
630
747
153
918
868
686
854
15
59
158
303
277
221
145
343
975
562
645
429
35
640
822
410
544
173
988
898
984
74
598
915
179
522
566
683
256
850
448
431
449
224
748
721
250
693
795
460
141
794
80
174
628
382
470
391
991
831
779
812
45
115
254
647
601
76
38
425
757
658
295
628
471
271
62
545
239
244
62
697
423
927
987
474
175
977
154
572
262
229
819
350
244
288
413
1
80
57
322
245
388
649
613
244
925
750
867
846
753
245
872
195
648
810
278
750
9
203
392
130
264
937
408
456
913
121
361
608
85
742
262
25
768
295
396
578
196
844
735
744
748
524
622
470
744
682
696
812
442
159
647
381
966
488
294
166
505
925
621
317
757
112
233
144
430
362
518
548
729
160
365
763
520
555
580
477
399
35
948
602
171
764
856
380
38
852
9
642
694
488
173
941
850
744
308
841
882
833
106
190
557
841
489
441
13
724
597
93
421
859
378
606
604
591
40
760
833
565
838
550
554
454
697
283
689
201
186
994
932
441
399
989
806
968
235
611
807
588
889
339
955
743
72
712
130
346
930
528
557
544
721
475
52
28
3
628
853
535
709
834
607
422
857
334
570
742
755
917
575
610
876
62
740
631
150
288
451
140
631
652
193
911
728
160
751
472
70
456
609
477
409
112
778
247
768
101
42
204
810
691
383
914
719
110
518
93
413
125
342
21
381
641
660
829
588
908
344
525
436
335
712
646
596
476
149
685
208
253
495
271
739
765
712
230
598
134
121
946
965
811
234
757
576
182
522
964
670
185
146
269
413
703
518
489
888
780
131
849
309
228
159
468
867
945
722
747
472
313
328
550
352
553
191
703
206
432
523
223
498
425
333
475
85
115
225
447
941
36
701
890
109
755
784
914
855
220
74
869
732
736
869
869
616
252
889
915
566
559
535
240
249
938
660
730
327
487
116
532
457
429
79
941
341
768
254
6
278
540
186
263
793
783
512
135
735
230
93
617
423
817
404
498
422
665
308
699
934
196
393
763
868
663
190
836
910
932
740
149
715
36
375
268
818
524
214
802
224
925
72
460
763
344
33
457
606
405
66
554
217
499
714
240
981
551
289
206
874
859
307
129
825
243
237
986
261
293
290
75
386
12
57
442
771
358
134
464
972
662
370
638
654
749
419
429
896
214
424
9
538
351
639
202
842
863
402
999
409
925
781
977
383
297
223
116
682
332
207
328
275
591
377
70
792
163
215
75
246
876
385
612
556
783
487
330
4
286
402
684
696
146
646
986
15
268
517
175
429
440
813
611
978
822
282
593
248
759
24
867
404
123
358
528
60
287
211
279
378
338
8
621
161
953
623
873
966
713
647
293
361
666
153
258
672
139
508
774
72
576
388
831
400
250
49
917
290
310
739
766
756
948
132
516
975
107
280
572
846
246
973
806
329
131
186
798
574
676
832
448
137
46
345
589
401
339
898
360
977
864
742
125
731
355
593
685
872
455
219
493
653
423
997
916
422
590
949
696
446
429
701
373
97
785
888
45
715
844
404
80
27
571
255
640
610
38
175
311
231
501
622
324
590
483
741
745
782
41
492
359
59
777
641
851
278
227
666
442
511
982
390
428
570
270
476
863
348
235
489
263
26
568
916
757
656
772
467
904
700
902
732
27
200
154
410
480
796
410
182
790
716
423
146
545
325
460
730
955
997
820
28
219
820
273
756
975
125
415
513
427
601
530
898
409
917
291
906
95
705
673
363
955
913
28
143
399
968
305
913
47
31
472
624
785
824
537
828
867
304
704
547
744
441
274
62
460
954
313
822
282
900
375
522
549
475
654
963
431
155
58
790
125
611
582
114
434
76
481
692
472
811
543
425
353
91
768
400
37
227
857
978
703
676
3
625
318
76
177
753
331
548
271
404
8
760
136
123
975
577
187
493
720
896
358
506
312
354
927
965
654
285
879
689
404
319
448
870
471
53
369
354
569
858
538
539
295
460
995
637
104
81
502
355
642
57
822
382
992
273
309
486
677
53
385
57
563
380
977
960
405
813
99
337
142
37
468
568
575
86
995
277
570
324
614
111
66
799
770
937
847
232
5
400
990
149
83
841
102
627
422
834
785
2
799
864
670
242
214
883
709
320
329
732
266
744
851
228
197
32
441
841
434
406
93
209
758
824
255
629
78
765
424
375
574
953
534
75
983
683
940
897
753
653
514
167
212
546
677
66
502
234
310
144
838
158
137
118
143
290
322
2
33
784
956
299
792
879
348
599
222
421
205
436
612
829
874
244
336
556
380
678
962
519
382
698
238
175
823
148
879
260
108
148
554
440
287
176
810
944
956
681
990
646
488
834
652
972
599
773
995
157
359
453
816
805
324
195
32
151
476
273
469
732
572
355
706
687
608
788
786
647
803
82
299
395
751
751
172
714
672
857
645
617
460
340
754
448
550
179
371
109
393
213
575
748
830
88
356
184
826
894
356
756
54
269
292
91
869
980
410
863
711
942
517
758
494
445
569
801
333
831
904
938
969
12
164
314
820
905
335
959
543
684
161
31
765
811
934
186
419
784
740
273
239
259
185
112
590
671
421
816
658
708
405
90
347
647
246
940
38
373
307
5
643
67
473
130
96
669
475
251
907
338
437
552
365
820
317
835
419
603
129
724
158
220
332
588
833
433
259
394
645
952
644
754
123
783
403
278
693
70
285
922
804
326
60
156
652
244
202
635
599
145
286
643
255
945
884
726
663
101
515
655
10
754
592
675
615
920
485
920
509
398
858
503
610
225
751
950
989
556
408
274
397
269
915
806
90
938
202
294
280
700
361
698
742
931
789
261
327
663
643
304
2
301
492
76
170
396
912
643
530
991
761
996
506
312
466
186
822
86
850
881
477
327
128
338
741
998
222
75
161
581
739
954
201
948
160
842
871
624
345
103
129
806
59
179
425
173
363
136
872
708
84
403
741
259
76
683
388
215
764
755
225
703
245
270
666
858
421
212
86
858
454
12
328
36
561
599
813
380
768
387
455
70
185
290
873
532
594
338
490
194
199
655
896
30
323
622
931
17
960
65
516
296
211
656
101
260
635
454
67
406
518
772
924
577
296
950
312
503
581
624
727
974
393
300
49
143
283
846
501
519
286
566
763
688
219
391
739
790
278
145
889
152
678
181
285
573
518
818
491
441
277
509
801
478
822
678
115
584
943
166
434
152
938
162
644
320
86
328
565
269
948
472
651
420
696
900
341
416
115
418
829
745
164
21
375
548
431
288
234
705
11
567
272
407
712
52
99
716
321
651
546
933
784
4
66
222
638
488
210
388
272
162
80
434
462
538
531
729
641
721
702
373
274
883
841
81
205
173
845
643
507
329
566
905
49
191
947
293
754
711
494
191
214
490
231
387
21
765
967
833
526
66
622
56
829
955
466
667
740
891
470
847
471
345
653
456
154
96
814
887
916
937
724
860
336
204
803
635
774
746
358
798
387
423
695
450
410
479
386
990
624
44
789
380
931
400
136
795
834
508
258
129
859
165
120
44
965
331
571
382
490
52
887
332
770
73
272
871
170
887
98
239
610
787
806
736
703
238
248
961
170
472
517
946
274
13
499
352
743
10
749
713
90
31
49
357
441
683
678
144
597
934
413
296
969
606
563
642
646
239
784
331
986
293
4
985
748
68
312
898
462
605
969
130
588
307
420
446
374
652
379
857
898
259
710
340
748
428
587
857
418
35
810
869
422
757
111
52
665
616
731
385
343
338
588
315
499
305
632
324
909
328
529
800
694
187
949
250
202
755
632
986
729
710
831
841
800
140
467
881
291
341
935
913
415
754
720
453
739
724
359
764
214
587
923
597
30
995
686
552
334
889
603
91
801
229
741
256
633
575
245
620
624
319
170
624
466
36
563
886
105
872
294
729
295
955
190
644
63
739
41
374
798
129
234
326
221
860
793
263
894
53
229
894
261
462
908
341
896
613
486
917
403
787
922
764
558
626
56
403
365
762
640
521
51
102
224
683
993
796
798
201
569
348
814
229
335
514
708
787
593
621
67
324
953
471
911
830
909
493
904
645
796
404
557
998
596
129
382
136
152
105
95
146
920
3
902
748
310
121
222
293
712
573
14
857
586
72
535
475
250
87
468
900
996
697
440
698
131
139
514
167
564
921
950
408
179
279
353
82
514
269
568
552
264
476
330
505
725
397
852
592
194
683
598
576
313
674
220
117
265
571
68
123
424
180
791
675
585
160
967
49
123
73
612
797
774
390
680
689
703
451
977
372
398
211
129
731
485
505
491
895
81
819
472
47
636
582
94
355
599
54
688
307
837
576
277
90
976
122
741
285
964
882
621
748
452
996
697
130
188
820
386
275
433
112
662
870
450
601
227
214
928
896
722
36
876
199
168
561
433
473
123
229
88
845
812
270
962
943
485
16
86
564
101
116
906
479
411
516
255
263
788
666
304
521
330
629
412
824
823
924
492
723
154
376
233
666
626
727
46
950
108
102
967
306
998
748
197
207
569
37
176
118
312
137
463
907
341
992
8
394
891
17
918
269
43
712
420
11
387
383
128
390
584
159
340
493
408
924
919
750
95
342
112
57
32
209
114
535
366
639
998
229
124
838
749
894
518
196
518
203
363
506
25
610
728
34
437
642
300
937
922
405
659
850
633
32
902
335
50
897
880
203
587
797
165
18
279
584
566
117
841
17
672
721
403
787
871
641
526
558
597
667
849
679
439
261
1
768
479
784
769
396
878
389
500
257
295
107
985
408
717
138
563
275
63
799
900
370
371
235
767
43
260
122
330
291
168
877
925
862
182
702
23
997
671
137
90
936
971
159
468
966
422
281
368
271
405
438
310
626
144
301
500
410
204
826
500
484
779
681
910
642
400
607
807
738
183
386
996
87
595
819
74
864
14
165
151
635
838
161
97
884
845
114
746
422
225
804
719
645
10
253
582
95
304
553
3
508
640
910
540
52
223
815
534
359
891
825
204
806
284
387
283
677
727
684
514
101
994
186
73
916
896
684
585
328
937
504
913
998
923
183
864
638
151
626
355
162
898
758
127
925
548
45
111
897
143
424
601
350
950
279
96
48
953
789
521
296
987
271
840
310
151
95
980
643
637
603
976
253
458
258
262
925
67
755
554
973
339
385
483
711
966
290
415
866
921
361
802
168
344
484
441
139
623
770
191
581
197
342
597
117
778
85
223
36
11
29
271
532
403
720
439
926
752
124
98
656
11
864
7
210
895
127
637
157
407
963
776
964
214
351
101
488
646
156
380
519
466
513
321
79
38
296
264
189
314
102
850
394
736
845
99
783
1
930
799
10
426
203
671
149
290
762
661
666
0
98
112
162
115
933
855
549
620
120
844
249
985
160
202
628
732
603
759
565
330
831
909
507
684
77
904
856
682
742
109
7
169
575
741
129
862
596
567
805
523
973
958
819
590
699
223
846
518
64
781
733
289
905
520
214
593
241
48
866
953
552
487
196
731
782
145
275
285
679
467
806
829
846
25
683
912
278
672
87
251
148
288
512
910
843
60
576
461
144
29
929
882
375
27
785
468
15
524
504
907
708
152
901
433
53
970
82
375
602
828
240
422
287
576
724
568
506
62
95
611
686
150
661
358
176
558
464
939
118
512
869
620
373
996
283
834
980
547
399
471
162
439
391
174
326
474
814
991
805
696
660
269
433
779
722
289
846
730
183
627
693
61
655
626
248
37
80
14
935
645
799
954
60
965
589
899
991
457
81
835
778
891
238
513
986
977
200
882
36
953
308
462
129
90
240
192
209
621
923
978
413
405
493
50
250
358
674
181
724
868
377
603
790
404
839
97
874
320
816
612
544
308
689
732
78
219
703
583
558
227
734
803
472
473
102
148
707
307
920
406
601
10
983
187
349
382
395
228
611
185
691
199
22
138
63
30
842
749
909
146
949
264
962
881
639
201
774
395
186
436
479
294
158
839
852
654
901
203
627
249
154
169
249
989
664
982
952
843
532
100
274
630
327
954
593
7
276
2
850
767
554
101
519
250
541
212
845
57
829
834
583
608
796
339
386
226
778
554
480
26
860
811
146
478
971
495
196
583
628
694
953
310
954
742
72
385
741
965
779
805
214
164
686
796
244
258
245
101
229
501
509
876
105
379
842
144
945
885
209
124
694
163
103
771
772
94
728
433
780
283
498
97
184
930
979
187
447
504
648
467
504
703
665
744
992
617
608
712
42
189
590
920
823
826
826
229
190
26
325
397
366
149
751
798
385
789
967
663
646
830
308
9
39
936
104
635
414
4
160
157
569
440
719
647
450
780
252
80
575
614
217
915
860
495
501
488
463
321
734
893
251
105
499
462
641
428
409
560
365
624
218
42
32
930
385
233
965
16
824
721
678
52
420
264
50
138
915
13
21
894
572
323
520
72
46
356
233
921
636
300
383
473
98
728
377
498
321
184
855
480
231
136
550
536
113
456
250
462
652
290
90
337
85
166
730
658
406
682
251
343
151
949
737
555
981
888
23
216
829
507
707
384
8
451
39
136
510
623
22
789
194
131
38
547
403
189
366
302
151
116
574
913
376
53
463
737
39
213
253
739
737
540
425
502
501
859
243
341
280
844
553
322
971
738
601
220
671
213
482
751
709
617
1
627
902
877
725
341
147
830
701
23
937
207
801
50
803
768
992
518
897
511
434
799
145
595
681
376
531
304
377
555
998
974
345
154
250
89
960
220
508
561
457
153
632
892
824
80
374
19
835
209
692
35
432
855
95
596
671
491
796
494
826
135
990
865
784
957
655
292
886
493
824
321
703
631
750
110
956
274
52
937
251
4
713
624
68
700
992
274
240
250
129
167
384
967
547
119
771
21
533
91
93
993
810
564
165
952
898
544
879
290
836
537
606
363
905
794
201
382
154
475
333
450
741
627
786
11
908
449
612
937
195
310
111
488
68
619
396
739
876
380
699
150
253
367
987
218
699
864
794
769
493
510
380
875
682
824
486
434
33
819
479
478
524
729
315
709
238
432
29
97
837
668
850
643
912
888
187
707
340
731
18
163
651
449
914
787
880
668
275
150
119
999
788
738
916
460
537
55
653
221
55
639
204
40
791
719
999
140
564
393
287
370
852
287
189
825
508
963
687
590
199
865
46
357
140
201
62
218
760
474
644
720
599
194
449
104
275
346
718
764
740
253
678
496
976
165
23
482
864
915
354
870
839
397
898
227
660
350
61
83
684
69
714
942
142
309
706
247
586
62
577
180
903
192
719
301
416
957
527
931
127
138
336
923
662
96
721
177
382
614
370
762
40
348
714
253
71
527
442
792
96
876
672
950
890
100
380
504
466
390
138
964
642
488
239
42
13
802
422
139
441
62
701
948
135
848
528
611
865
138
950
826
419
963
656
328
613
644
525
959
616
684
307
487
541
418
538
945
346
354
533
8
570
449
382
38
634
360
806
760
996
76
59
453
878
376
897
568
800
126
971
32
83
650
896
324
834
880
126
116
743
519
147
199
613
501
735
384
817
599
651
86
354
40
280
673
905
742
482
662
609
436
263
285
363
565
828
762
549
688
606
653
710
788
501
111
425
274
348
332
239
898
903
995
390
608
450
150
503
28
417
578
705
377
246
926
863
472
328
463
923
166
989
763
904
878
657
969
905
452
286
928
902
138
558
761
819
62
352
409
21
183
536
777
305
848
522
277
862
844
564
177
441
731
70
192
209
409
330
629
530
989
840
678
478
94
232
187
469
626
167
159
605
811
896
50
326
280
438
646
394
999
687
249
182
112
560
95
163
843
972
641
312
451
13
673
228
521
244
974
368
719
945
264
110
29
545
712
995
662
853
229
606
439
824
664
539
50
552
171
321
763
655
721
438
365
152
20
290
54
677
711
662
593
334
26
824
696
288
977
573
803
491
752
36
164
677
966
732
194
848
682
846
246
961
527
18
633
906
690
477
526
972
716
803
995
340
660
134
360
944
487
631
717
131
50
401
329
824
568
286
796
305
344
279
575
959
335
245
478
537
461
792
641
365
730
362
123
988
155
882
184
52
534
552
984
637
137
602
605
623
459
446
61
814
332
901
282
688
267
952
174
57
535
923
875
913
331
450
325
669
761
623
556
441
39
587
853
557
87
498
921
776
162
998
392
866
201
989
581
893
834
609
801
769
88
951
251
967
800
304
381
582
252
910
651
931
384
492
907
699
104
615
24
754
633
583
98
879
560
553
775
426
832
121
589
940
803
492
191
988
229
477
846
125
580
121
162
885
744
238
196
215
492
981
83
97
628
934
99
203
892
428
262
474
373
343
244
318
565
527
515
475
783
817
801
498
370
729
287
551
79
865
229
238
832
139
940
287
740
602
890
390
910
371
842
740
30
660
45
192
498
369
825
932
552
569
202
376
890
247
97
319
195
347
711
730
119
992
701
790
591
491
521
168
595
156
41
97
732
588
107
268
758
424
843
491
802
652
533
820
478
359
700
216
368
959
390
632
959
752
442
85
318
3
871
107
822
16
11
772
461
4
67
731
123
673
50
260
567
16
590
434
480
135
192
658
335
964
655
138
67
496
574
398
144
936
599
629
224
454
660
187
493
927
294
944
928
4
878
670
628
803
520
14
470
291
174
588
103
925
361
417
591
412
390
597
795
736
654
265
858
526
917
286
511
676
503
23
809
396
535
332
513
311
707
655
311
682
269
208
682
467
564
105
253
833
853
941
837
548
787
994
703
210
727
51
507
153
354
686
832
519
285
458
224
7
127
161
329
856
347
826
685
924
859
107
715
892
86
672
621
710
360
115
861
163
272
488
528
901
331
248
978
416
817
657
334
482
240
58
101
921
929
657
412
130
577
571
768
830
333
873
500
184
358
44
315
125
784
292
183
385
208
283
93
481
908
574
268
237
372
78
81
357
366
581
711
762
519
64
144
146
239
1
485
207
602
377
443
411
138
895
393
775
279
704
612
898
559
479
161
427
257
564
88
330
638
787
7
993
2
295
739
967
609
322
470
518
682
710
668
636
948
716
599
448
116
842
692
862
473
604
445
568
703
239
687
719
169
184
349
787
748
673
482
603
284
180
316
326
665
918
141
51
941
361
59
930
637
458
517
569
272
456
391
766
650
746
761
744
759
426
294
941
576
2
533
396
568
792
288
633
785
557
55
195
809
35
686
184
476
523
268
955
709
94
294
286
195
844
460
446
958
190
559
637
258
610
245
582
723
665
924
760
232
280
933
240
397
718
901
132
920
895
68
875
113
88
501
756
202
166
335
484
517
965
922
635
45
738
111
12
924
173
578
809
317
215
239
567
862
740
410
75
586
576
519
759
409
543
626
143
269
237
218
137
13
379
999
439
619
99
819
548
57
65
251
38
18
22
873
615
332
259
94
936
490
954
608
113
752
477
686
944
351
669
696
576
209
56
796
299
615
670
213
703
703
474
442
283
394
775
686
207
575
360
299
660
677
572
208
917
494
793
209
734
675
94
243
152
495
683
368
936
564
132
499
396
400
745
995
900
801
152
146
609
833
961
207
392
873
169
258
126
216
277
909
72
509
17
675
931
444
220
398
170
539
204
242
652
480
72
594
612
395
346
3
510
524
329
534
243
391
459
721
637
253
391
181
517
433
126
370
852
697
451
810
534
635
318
465
532
896
575
692
675
530
960
261
39
466
470
142
348
918
210
683
668
693
184
219
850
198
797
278
313
937
859
700
134
473
465
165
619
162
422
334
725
191
911
791
622
148
184
738
860
275
829
39
875
129
653
408
129
183
442
618
788
39
178
324
474
450
140
306
969
673
799
617
436
284
968
872
655
717
47
205
200
339
728
418
657
661
302
316
6
507
622
573
541
482
79
72
270
402
191
582
192
171
987
387
646
566
94
78
721
433
813
743
576
956
892
544
377
919
104
394
446
338
615
820
491
178
362
70
654
790
235
894
23
559
103
992
778
429
133
600
963
890
425
737
690
593
521
658
250
233
533
673
604
61
432
1
626
159
847
158
224
649
455
334
112
634
89
660
380
185
334
976
437
337
474
188
229
377
91
542
85
993
195
541
883
215
226
257
448
558
119
176
435
100
972
400
5
618
449
522
582
646
336
113
549
677
925
422
20
99
252
555
998
220
838
72
515
678
457
367
324
378
994
686
703
111
356
750
617
592
294
183
221
838
460
41
356
753
987
911
643
595
994
475
592
19
635
696
825
110
890
344
484
624
474
225
762
522
678
853
280
343
167
62
972
489
792
358
831
891
984
280
768
608
223
42
339
370
159
973
654
272
732
501
835
536
108
664
814
612
496
1
90
791
141
407
84
200
56
938
526
828
423
67
689
344
905
202
743
132
809
173
332
131
666
574
680
739
567
790
491
474
729
344
858
477
431
388
72
510
80
772
952
22
181
75
513
700
56
495
910
80
360
933
398
696
472
340
174
922
205
255
602
835
482
441
194
370
500
512
725
934
932
224
67
851
798
773
693
880
585
427
549
292
430
307
93
107
823
413
723
444
438
620
878
781
399
769
824
154
974
986
361
578
941
426
134
427
15
764
212
27
638
692
324
986
558
957
699
953
678
865
776
33
711
522
506
850
465
981
969
195
381
162
771
84
145
848
334
403
221
785
556
363
80
129
474
981
964
790
584
817
823
183
475
5
44
458
22
662
45
216
625
770
563
78
875
359
611
828
696
575
287
505
385
184
212
100
759
55
697
116
844
717
641
227
518
474
220
437
68
915
273
83
572
577
382
754
211
530
361
187
94
441
473
662
86
205
686
240
941
676
220
318
743
761
900
346
942
498
796
84
727
844
737
498
778
463
174
750
316
424
623
424
232
90
462
243
879
972
414
182
916
521
318
255
262
521
152
99
812
519
960
256
725
569
795
866
135
473
634
773
76
306
924
905
481
520
210
196
312
307
494
539
492
177
825
61
69
582
439
624
570
458
190
464
619
669
398
538
651
224
681
88
444
275
396
577
320
112
963
149
360
918
456
479
542
21
984
530
663
972
357
207
713
983
867
420
77
157
386
784
717
454
189
238
905
433
137
148
441
797
391
511
426
921
955
855
279
61
701
917
453
497
973
961
833
66
234
912
724
83
378
470
575
988
700
6
417
152
548
242
4
100
956
220
425
107
93
309
861
319
538
486
481
545
697
419
777
193
869
365
28
994
987
798
253
761
228
179
525
645
77
905
805
31
332
531
72
398
516
643
746
391
206
525
304
849
159
562
69
369
773
675
409
625
210
357
189
870
41
203
671
193
457
569
823
711
697
471
587
525
131
121
104
675
821
455
95
429
539
151
755
770
212
346
957
365
652
342
623
801
808
401
986
753
936
388
556
138
652
790
545
434
471
555
88
673
926
964
727
671
897
128
327
240
282
371
965
910
102
233
755
220
705
46
745
379
726
345
3
153
611
454
607
172
475
923
170
628
674
5
657
729
891
355
205
35
318
977
825
789
215
138
994
911
870
3
737
307
11
166
42
295
912
631
479
475
828
723
124
981
667
565
786
167
255
770
709
865
983
339
906
979
627
446
746
358
201
747
307
928
996
672
425
883
840
532
802
832
123
980
105
821
458
959
862
241
755
263
86
303
80
799
686
338
6
763
238
261
367
822
597
396
834
81
895
998
952
54
735
594
268
560
843
302
841
829
32
692
480
304
14
655
91
256
285
35
661
80
526
673
752
595
508
495
679
737
374
902
346
149
541
252
217
178
925
182
919
485
421
357
182
142
559
150
389
715
264
209
191
660
426
480
198
304
1
315
672
324
305
532
927
799
612
366
351
261
401
459
62
483
753
60
745
866
253
242
636
455
864
915
74
18
510
976
513
809
285
899
958
163
49
283
455
569
901
523
251
516
579
381
792
806
523
404
156
30
724
878
824
359
347
711
502
444
630
55
826
742
947
828
101
330
683
994
523
825
558
268
788
113
29
141
321
11
80
945
36
169
398
584
758
708
213
447
922
291
254
726
520
466
401
925
784
941
837
977
175
878
262
878
27
855
82
164
724
596
307
63
193
254
200
107
365
189
615
647
82
487
956
83
464
536
89
709
195
598
721
866
323
162
370
706
430
233
381
67
685
643
301
153
217
969
194
754
187
163
600
289
915
840
650
361
5
206
16
254
850
836
996
404
984
984
337
104
824
765
859
240
60
927
494
683
716
827
612
98
738
233
169
231
939
108
472
22
397
879
627
681
193
348
193
88
828
701
426
272
249
161
453
801
875
515
906
361
15
828
228
683
166
200
809
212
181
616
911
409
264
443
436
320
546
58
911
25
704
73
619
714
609
758
673
765
488
890
536
592
895
428
146
166
35
713
29
590
238
113
189
236
773
900
125
453
808
383
751
578
130
624
293
787
511
254
94
993
741
881
851
357
228
56
789
669
805
300
405
355
454
896
56
40
572
385
315
403
202
174
811
196
942
373
987
72
232
194
170
264
678
956
758
906
319
994
528
836
109
692
203
214
682
387
64
131
144
937
521
600
698
82
65
875
649
556
682
22
89
336
731
160
843
697
695
828
877
513
679
138
227
237
585
941
581
170
237
487
471
830
634
953
980
885
211
572
405
140
923
903
385
21
355
680
595
470
166
198
220
400
750
267
531
133
864
748
854
463
135
698
608
695
135
191
187
529
990
518
658
352
950
711
714
826
527
86
994
133
363
332
852
79
97
348
749
432
508
774
329
3
152
101
549
819
718
468
351
318
853
936
21
522
520
412
463
646
634
993
580
247
804
575
505
138
607
70
4
707
577
357
574
276
796
57
481
286
236
178
788
439
58
152
281
471
475
888
22
742
619
941
95
31
143
482
813
258
993
546
688
600
445
617
567
523
690
413
16
667
326
259
706
235
364
195
418
311
262
660
180
475
384
472
755
862
840
2
206
960
446
346
135
170
372
797
197
624
682
911
521
731
44
382
16
114
192
612
465
173
774
300
279
265
902
649
908
487
577
998
115
600
54
129
274
657
745
555
643
667
132
100
304
219
469
859
447
85
729
112
688
981
479
49
874
609
444
49
954
782
866
741
759
590
884
822
703
908
853
560
277
691
140
544
411
804
450
124
251
94
426
284
129
596
93
143
75
768
614
687
446
579
321
51
292
975
381
32
414
133
444
157
658
2
249
637
841
143
510
546
139
605
207
522
449
519
262
523
614
533
47
808
277
571
759
630
239
631
97
603
25
215
661
127
524
959
458
986
635
33
78
324
720
133
447
693
877
738
974
242
629
129
589
195
843
176
215
484
859
16
683
836
742
685
650
508
757
691
490
314
701
543
809
213
169
623
105
39
317
116
291
858
968
603
270
68
797
491
288
419
618
407
142
738
65
804
179
984
406
164
957
821
800
412
619
40
967
932
461
52
984
171
311
938
280
146
779
676
856
745
948
476
566
205
71
97
897
474
487
713
827
527
209
78
156
290
297
36
755
437
771
668
114
606
359
198
1
377
327
233
467
842
243
127
639
698
718
657
394
224
451
478
246
63
708
650
280
155
343
161
236
709
936
836
114
990
961
358
66
796
501
674
564
447
661
394
74
733
314
342
277
912
217
414
983
412
849
610
900
208
858
187
442
784
73
97
626
647
763
477
650
411
585
855
720
315
618
894
635
992
875
273
985
577
800
888
229
891
299
392
477
561
224
487
21
675
399
599
521
220
705
126
175
526
980
785
567
475
88
824
733
255
893
128
456
658
549
930
433
810
826
465
434
700
876
100
193
876
256
588
318
795
606
599
182
953
278
97
638
670
959
239
132
308
561
801
101
464
941
498
206
203
604
48
34
80
433
469
27
342
748
604
709
472
990
197
10
598
55
343
810
322
442
209
147
146
53
166
124
886
708
232
597
102
145
234
587
261
859
181
402
985
846
284
411
434
260
671
759
284
186
331
205
637
558
275
112
887
916
330
164
168
35
77
685
291
333
805
318
681
49
582
250
762
583
783
576
556
193
165
960
947
785
620
510
443
904
243
239
396
384
991
902
194
736
475
137
831
322
52
72
771
238
581
958
647
312
150
314
989
292
211
778
900
376
291
939
916
917
676
244
35
330
357
636
435
195
699
263
885
394
122
29
908
710
590
912
714
756
320
792
185
116
729
828
418
831
255
263
213
148
298
944
2
935
450
211
311
940
984
282
798
812
239
207
736
527
350
654
783
99
706
731
509
641
706
130
649
668
617
555
375
679
180
225
801
820
572
789
203
737
54
588
648
63
912
649
565
201
902
224
874
954
243
321
579
436
209
188
193
844
738
694
262
696
237
752
506
114
391
867
314
424
976
544
827
701
376
328
68
40
720
173
505
827
587
480
893
224
397
939
570
991
859
164
493
417
240
949
12
414
181
361
130
976
980
80
209
374
679
243
948
306
866
99
104
773
267
788
120
946
281
355
67
851
574
982
476
275
786
493
449
349
48
755
25
263
152
596
166
665
461
468
192
297
34
687
668
648
236
631
254
266
136
340
159
294
228
645
189
951
988
853
204
121
937
688
936
35
403
714
171
65
965
597
452
480
120
453
160
305
143
989
774
459
445
504
230
768
453
608
659
150
852
825
17
228
489
666
134
107
619
396
741
5
388
873
492
884
360
784
879
330
273
920
192
125
190
766
643
363
707
326
498
804
437
252
770
865
340
343
102
656
564
903
59
570
248
259
659
790
595
882
921
25
35
270
108
128
494
496
238
967
635
33
70
574
52
434
222
285
556
926
383
360
14
80
443
390
230
739
100
427
449
508
26
963
340
51
512
574
64
634
125
144
580
823
410
619
944
922
25
851
611
714
25
998
674
613
389
533
801
6
31
312
355
550
109
505
148
821
609
496
851
587
883
495
576
196
404
481
268
599
475
450
450
812
514
385
102
542
987
944
805
269
255
885
261
877
374
281
67
295
99
642
876
970
716
426
202
356
711
930
989
817
630
187
688
155
26
349
797
108
118
794
526
952
238
360
38
291
363
517
589
265
750
319
103
706
212
941
972
510
527
400
966
449
689
834
336
836
867
628
60
449
612
262
254
531
605
620
281
565
582
902
468
73
77
589
669
310
879
380
600
129
24
707
690
749
402
743
386
579
158
621
745
466
30
903
944
141
957
897
834
239
454
296
222
960
368
301
72
293
157
540
4
73
385
134
200
961
487
329
525
511
69
862
527
454
130
715
908
522
505
974
230
896
548
80
367
173
631
627
679
764
794
875
514
790
627
162
778
738
275
919
565
442
937
837
30
415
439
316
296
840
363
15
891
314
121
562
630
431
506
451
552
443
519
321
289
736
260
202
95
756
114
776
567
475
933
82
440
625
266
116
640
652
626
339
739
285
765
760
741
236
677
88
538
191
951
164
940
8
556
187
974
6
85
412
769
519
29
753
44
879
606
519
518
553
535
326
337
759
663
609
583
448
24
772
613
582
895
558
158
638
25
978
503
924
457
250
426
530
886
358
411
545
940
829
519
407
266
37
528
240
417
14
881
497
270
705
461
97
462
621
14
419
633
179
17
646
945
413
288
990
2
988
617
14
103
254
917
670
352
875
960
299
434
172
790
392
802
60
189
210
744
4
39
427
425
53
86
597
794
349
797
606
349
612
644
111
34
866
151
171
373
387
855
745
54
432
335
782
895
365
885
944
69
135
828
202
692
592
932
581
841
993
921
738
175
574
400
337
603
330
521
131
516
479
238
324
438
272
373
737
577
807
169
167
257
501
944
577
509
657
645
975
987
447
45
917
516
921
459
928
281
6
150
14
573
543
541
249
220
838
304
598
927
570
639
3
294
88
551
541
93
588
610
828
325
333
713
488
875
488
753
9
959
881
539
578
105
596
860
938
872
50
435
217
18
704
815
13
70
147
261
899
473
926
133
129
690
260
335
73
278
169
918
781
21
293
887
94
171
988
216
553
235
310
400
102
136
544
587
432
705
333
686
599
310
88
934
974
414
861
279
657
451
677
573
164
310
518
326
168
800
141
611
733
828
238
658
668
522
568
570
706
309
468
744
702
72
905
229
485
330
992
855
717
147
39
795
726
782
778
244
248
481
120
91
154
984
888
85
938
194
987
959
687
978
578
896
144
971
810
688
190
633
930
740
432
721
212
73
437
874
853
902
190
369
656
182
755
478
437
425
854
230
248
326
129
150
357
745
693
349
918
832
779
382
540
395
531
586
361
964
813
797
366
591
576
476
461
968
573
444
575
658
495
743
666
627
567
669
410
335
60
849
592
615
320
404
867
5
425
462
176
543
216
841
583
113
686
641
477
773
955
257
817
315
656
902
151
940
676
146
162
346
199
174
844
659
656
620
655
162
157
976
945
609
102
816
167
363
166
508
516
812
341
741
880
955
415
452
743
693
509
758
90
409
39
223
928
640
427
233
300
136
349
132
879
199
170
602
583
277
432
554
130
565
811
448
172
533
818
350
631
885
768
437
779
527
369
956
869
368
758
747
279
847
32
189
633
843
35
625
774
35
203
168
347
541
617
748
777
669
61
325
700
93
657
253
837
559
611
978
884
820
79
147
90
162
413
968
939
734
186
320
772
605
648
841
39
962
225
823
866
649
79
763
868
876
654
165
959
531
977
174
69
949
804
960
158
375
952
446
795
134
156
990
445
946
392
765
825
999
141
911
386
686
688
677
396
766
132
130
400
243
763
90
796
749
445
751
956
96
484
344
681
468
177
24
655
115
948
449
904
316
774
430
794
25
404
154
202
923
764
152
889
863
102
770
465
852
247
903
364
112
345
474
636
551
820
425
229
454
801
523
604
846
877
576
800
519
530
890
269
603
656
81
995
150
242
215
438
802
631
336
782
860
239
750
565
486
358
768
823
139
748
503
966
514
642
436
54
639
974
358
308
182
169
408
440
609
242
241
139
299
490
419
478
80
530
972
526
207
999
725
147
707
132
235
246
236
826
650
376
319
367
314
229
216
782
307
193
363
158
315
448
925
82
557
166
550
346
24
924
29
322
317
878
324
316
725
859
407
781
283
832
928
856
308
679
494
900
159
590
288
676
785
485
203
719
540
670
799
315
233
83
598
904
149
296
179
893
789
623
375
983
988
888
953
485
460
792
473
270
632
927
869
321
482
862
386
268
927
921
776
379
118
758
764
743
62
907
80
890
782
961
295
311
777
118
223
643
517
279
984
86
513
345
971
124
367
442
610
291
490
990
551
49
26
44
600
645
606
498
293
156
561
452
374
502
814
33
531
471
142
497
418
261
367
860
302
954
114
769
830
785
401
792
108
169
135
534
285
410
32
898
300
965
382
305
420
391
968
878
793
840
329
873
395
81
431
468
522
837
205
690
278
454
195
328
615
365
195
968
389
45
862
849
462
854
367
808
403
225
792
891
264
971
862
971
350
285
113
676
719
629
990
114
254
872
752
814
676
149
205
829
770
233
309
948
749
941
29
501
189
346
102
158
239
490
963
40
723
819
104
18
728
457
26
32
932
314
415
47
124
920
518
431
989
273
641
548
830
470
497
835
190
277
259
102
513
59
579
703
746
597
524
223
487
754
429
96
634
440
135
996
346
171
745
178
73
259
314
750
110
291
556
660
595
295
451
377
453
449
815
474
558
908
648
725
195
984
434
28
122
16
409
371
102
856
516
102
265
211
982
230
346
25
788
378
129
216
179
295
186
970
845
663
510
10
353
839
451
873
225
313
682
917
808
8
382
575
975
799
770
592
54
747
297
310
946
836
257
257
687
642
477
355
99
492
86
141
411
957
775
550
809
804
90
508
736
518
662
172
229
728
442
718
832
21
143
967
546
682
497
561
702
894
896
995
471
138
820
692
503
461
303
714
315
224
907
590
132
368
331
741
51
444
477
892
174
188
728
473
945
705
402
75
905
507
423
351
944
834
345
503
907
28
205
130
975
342
76
309
319
572
883
350
838
797
228
716
261
61
341
273
804
802
404
901
653
511
965
546
111
54
723
261
0
132
528
260
247
421
11
343
78
147
839
791
653
418
438
727
497
605
715
364
972
658
183
644
192
575
102
811
421
873
583
815
673
651
765
888
845
946
225
409
731
615
947
849
39
123
638
562
425
757
528
483
80
723
689
497
491
314
460
877
185
571
221
278
430
660
353
45
44
956
191
156
354
163
691
483
818
85
569
873
800
466
592
115
204
106
120
644
354
713
937
387
553
863
233
241
622
598
866
433
200
712
896
139
267
323
799
186
379
110
791
597
983
212
130
122
309
341
397
474
981
646
769
211
963
100
575
793
906
651
432
504
492
852
338
741
269
775
470
142
46
9
26
435
718
640
259
95
862
30
39
117
774
588
188
517
995
71
706
711
957
957
253
766
649
734
307
40
510
723
529
344
171
213
768
950
230
915
89
65
876
483
107
153
260
990
545
709
176
479
186
752
6
990
527
11
908
465
249
421
956
737
865
199
272
326
409
212
496
323
856
273
644
167
344
651
376
139
237
605
47
633
679
732
770
228
250
797
799
593
416
347
394
422
531
145
835
496
906
481
326
444
639
434
236
628
715
881
632
548
431
143
735
32
140
365
723
658
878
50
495
962
621
346
885
858
893
465
17
50
173
282
992
926
898
433
848
492
53
646
818
376
220
997
26
88
833
236
489
963
354
633
735
580
469
401
883
566
53
243
653
617
285
513
952
124
324
465
407
838
375
771
682
961
488
814
400
543
399
160
865
806
740
649
285
180
720
982
225
614
743
908
839
416
863
879
881
746
556
91
566
233
430
418
737
90
697
674
712
727
87
858
603
873
264
906
127
30
607
952
687
666
145
226
764
321
629
381
315
654
628
376
174
466
400
436
39
839
434
813
731
74
181
952
707
618
930
334
37
85
471
479
712
553
618
639
123
95
146
911
54
121
688
985
568
203
362
706
112
172
9
744
771
90
917
698
70
791
895
820
854
659
993
116
212
97
703
374
932
113
82
632
903
869
968
747
584
687
382
90
918
335
319
768
548
515
32
97
843
768
837
448
33
745
811
750
209
402
866
103
877
609
391
812
7
96
961
302
51
798
332
299
370
181
279
383
827
945
301
921
442
30
450
145
406
742
754
951
297
130
181
140
467
543
214
9
691
129
965
118
984
271
466
203
62
699
418
879
994
196
935
30
826
584
207
83
336
59
209
442
502
267
985
423
968
175
653
356
984
325
968
784
293
582
936
8
121
967
447
460
181
184
501
645
805
384
947
113
972
569
315
803
389
852
17
277
321
20
175
49
339
9
624
205
707
389
834
261
287
176
508
423
454
774
602
133
59
234
489
291
828
716
261
243
973
923
101
428
236
781
550
896
694
665
25
686
769
36
153
89
840
327
967
699
584
717
580
111
782
205
607
562
134
181
173
531
678
760
173
315
64
137
176
691
197
421
447
184
549
512
388
405
285
792
690
814
90
933
495
312
955
703
754
985
570
384
125
678
389
742
960
149
401
473
59
257
501
47
273
338
8
564
988
686
948
183
43
516
732
270
293
190
244
804
203
788
769
742
315
816
578
371
574
940
775
434
971
100
819
872
238
963
243
114
403
188
319
948
570
880
195
58
406
795
718
208
228
222
717
929
237
99
859
111
802
996
711
930
348
832
317
612
592
434
848
748
609
331
417
336
479
823
85
628
435
150
57
633
519
295
379
60
823
252
951
514
831
431
763
997
967
24
880
691
182
197
465
2
630
644
962
276
658
986
159
972
300
544
322
354
75
354
202
554
562
117
439
241
802
197
331
853
330
444
568
147
745
326
372
297
962
301
418
476
630
200
328
270
410
684
287
528
482
413
629
608
215
227
230
158
462
537
630
309
16
989
90
409
393
980
784
181
618
659
205
633
641
973
768
566
966
110
239
437
767
624
878
31
800
45
423
740
589
98
155
290
551
40
922
653
258
506
474
166
547
407
949
547
444
116
333
755
914
155
31
727
540
1
633
476
207
983
581
765
403
795
678
555
755
90
377
175
596
127
684
937
988
338
117
75
136
886
314
983
977
936
901
102
326
65
349
458
250
393
560
704
545
287
577
793
896
531
382
773
770
108
922
148
438
770
817
877
138
742
566
53
938
65
809
219
329
708
918
424
166
392
160
754
191
641
464
632
504
454
672
124
955
315
815
666
652
306
695
790
839
677
200
592
256
332
167
366
901
806
320
481
59
656
929
626
578
630
706
661
777
876
567
610
649
985
953
644
549
906
60
634
762
308
841
577
657
833
561
326
454
373
144
795
124
766
8
362
895
857
761
296
980
272
705
168
86
596
844
553
924
931
57
323
525
106
387
301
656
890
58
685
519
859
120
945
656
542
197
77
254
451
416
679
949
452
823
408
932
303
978
868
338
302
777
331
267
947
911
133
73
68
420
291
712
966
757
818
159
667
442
751
230
562
982
167
161
152
933
386
144
387
614
866
649
15
811
992
550
739
631
73
843
588
997
455
518
464
22
892
275
418
918
209
59
570
197
429
943
271
46
865
928
729
302
884
856
313
408
215
467
542
736
109
106
69
470
53
864
70
828
920
954
357
5
337
224
585
426
380
825
710
485
3
25
15
158
983
704
281
159
113
933
519
973
687
85
472
653
481
907
106
164
872
333
279
29
377
839
620
154
336
162
444
717
672
652
695
423
293
404
979
254
36
100
204
866
481
398
315
439
236
973
185
225
466
779
753
950
409
164
986
799
63
245
878
588
862
970
321
225
268
688
612
869
260
566
199
682
692
248
134
621
224
385
225
285
766
703
970
522
990
496
850
499
344
441
652
28
133
767
263
950
75
740
502
449
613
527
637
311
710
402
306
485
232
232
629
806
753
741
472
161
182
241
340
619
851
176
267
252
631
46
932
862
30
285
998
687
575
385
489
401
986
682
501
873
493
781
130
303
116
709
914
47
854
455
36
164
13
783
468
713
13
560
827
158
334
395
866
975
582
967
575
558
812
359
137
154
76
799
832
332
139
255
559
670
444
942
601
64
703
358
747
104
287
549
947
744
356
983
850
779
670
797
373
706
415
631
441
101
324
205
15
34
786
367
589
300
563
273
736
751
238
463
820
520
452
428
10
768
108
179
473
192
886
783
561
229
970
664
244
756
321
386
0
357
156
992
226
606
405
780
149
806
393
468
574
408
520
202
477
55
182
24
227
820
84
617
632
623
785
719
602
560
609
753
885
676
340
842
204
126
570
516
204
635
693
456
26
924
804
970
257
196
106
929
660
134
958
627
3
66
993
70
529
807
591
869
215
632
450
677
633
253
738
355
578
221
658
335
234
257
19
698
505
486
663
533
934
728
319
822
172
356
4
996
440
654
35
943
118
260
63
263
405
0
759
945
150
941
446
339
758
519
794
256
601
613
640
603
223
103
834
841
585
459
55
643
251
67
785
828
659
895
824
56
282
872
697
319
536
715
582
244
758
601
845
479
798
276
531
217
844
301
548
382
343
94
259
225
802
308
234
424
544
751
721
388
49
361
810
899
139
103
311
538
394
239
407
568
737
336
391
767
875
158
421
487
625
701
61
918
263
859
96
102
581
830
347
786
155
293
132
39
617
614
177
104
66
164
746
672
897
827
490
899
203
496
606
599
434
637
411
41
267
57
332
140
201
806
4
903
28
446
996
779
752
845
477
12
593
993
150
201
269
105
538
640
947
515
356
734
565
178
481
629
264
70
665
112
480
752
237
685
674
602
757
972
267
844
262
64
767
572
368
778
579
63
904
193
678
522
357
221
922
756
231
272
385
860
295
735
142
207
746
58
465
97
987
623
591
464
428
939
533
556
588
553
976
977
613
716
421
741
953
47
162
344
934
970
604
596
80
98
345
267
243
945
392
489
240
556
132
436
582
309
221
14
119
899
262
167
408
491
857
508
726
339
994
269
273
296
731
551
855
931
494
661
274
390
932
53
708
466
596
969
7
773
296
350
265
787
169
882
82
783
675
641
82
199
234
706
617
516
443
157
675
578
232
759
481
78
870
117
468
0
825
749
597
301
624
885
730
827
298
207
489
176
317
298
717
610
145
388
757
518
868
557
898
386
936
24
163
423
180
499
252
176
257
120
652
465
594
820
687
649
679
898
862
299
869
468
158
882
720
477
580
940
738
716
457
568
10
722
562
853
145
307
493
975
4
38
6
133
94
873
481
476
783
243
915
452
663
12
235
959
679
247
874
953
633
413
604
668
854
500
943
597
457
67
355
323
857
918
966
938
252
992
667
875
119
919
254
113
462
940
915
445
902
178
204
881
237
64
344
134
673
855
732
455
22
408
733
671
362
982
111
878
35
116
909
986
734
223
71
965
963
254
740
621
671
623
163
300
918
475
57
306
479
481
944
931
460
260
858
622
863
206
985
640
805
476
525
34
330
224
607
139
337
184
37
660
129
662
628
554
794
592
720
696
943
902
789
174
287
411
670
582
479
698
257
136
683
456
570
775
818
614
112
52
487
451
825
346
410
959
539
739
194
608
581
186
395
452
786
279
114
343
452
824
596
991
626
396
616
755
200
389
796
534
584
552
858
801
19
287
797
642
505
239
738
794
11
709
761
379
557
498
147
499
131
78
305
613
181
48
873
356
819
296
774
761
952
431
945
538
744
784
404
995
797
769
429
420
755
151
376
73
66
665
554
476
90
741
170
160
807
229
961
312
737
780
73
804
897
20
51
401
973
471
621
41
838
234
708
208
254
660
136
136
671
847
237
801
763
438
587
164
259
633
748
102
390
466
251
712
157
809
974
146
968
362
181
0
563
935
548
815
120
319
433
170
115
830
715
132
54
156
438
786
310
356
705
309
684
797
3
155
342
519
867
142
353
130
143
280
940
691
200
765
217
582
858
201
283
114
346
775
898
698
503
750
17
889
588
730
948
982
804
580
570
488
307
824
864
808
812
148
854
603
966
603
124
161
964
21
90
700
912
23
575
54
248
597
471
841
776
420
957
840
270
575
563
379
418
152
946
437
518
943
62
646
773
124
81
16
722
835
81
773
149
927
635
887
636
458
224
792
811
120
472
364
194
757
108
370
715
823
477
678
912
233
361
187
507
222
160
242
368
114
861
622
929
361
20
732
572
321
465
809
431
558
46
829
453
872
262
616
198
976
623
901
598
982
117
161
275
35
326
861
392
823
13
181
209
922
628
525
257
871
336
537
0
585
457
576
425
616
654
158
196
89
826
213
554
805
326
730
157
863
301
135
470
251
869
652
129
11
627
537
372
26
235
175
831
788
147
478
499
112
826
307
33
113
415
550
801
343
656
772
557
490
79
867
296
145
694
224
595
92
624
349
564
687
366
99
893
75
981
96
913
539
353
242
630
554
417
530
361
3
955
685
874
635
172
300
210
54
869
324
918
933
970
718
721
820
112
201
747
738
478
949
338
505
333
724
225
271
600
305
140
670
587
660
28
461
90
620
151
603
2
598
905
835
39
353
338
642
52
871
806
805
534
318
258
391
580
709
875
374
179
666
761
586
763
402
161
601
863
902
453
442
377
496
136
337
403
301
577
699
85
924
561
842
917
671
51
719
614
236
61
960
439
560
846
238
985
674
624
876
304
632
59
921
22
239
86
846
187
248
427
655
868
447
141
603
321
451
975
266
395
315
886
970
721
488
306
879
216
246
557
505
139
176
677
412
220
470
611
733
991
406
690
79
80
556
620
147
103
654
205
721
707
350
847
10
920
143
545
432
428
202
25
800
894
757
443
996
310
943
676
939
552
50
66
881
531
469
425
561
585
750
843
426
360
190
758
848
745
637
819
610
639
936
324
950
734
530
288
801
249
308
908
431
0
681
693
980
772
666
354
566
932
757
565
846
170
3
746
78
327
524
213
806
951
235
449
592
364
568
265
23
799
278
404
91
596
7
386
980
351
126
119
483
237
569
81
78
466
405
591
502
819
187
152
52
756
954
851
919
137
768
87
948
48
95
564
258
93
773
399
802
971
479
336
360
876
524
481
332
709
612
370
265
10
999
570
954
12
954
480
430
530
830
685
14
836
916
846
491
172
217
883
740
921
793
969
208
921
840
5
881
146
842
430
620
627
696
222
322
821
6
59
275
43
324
482
478
246
106
307
568
139
345
387
872
343
346
961
546
81
463
198
473
116
214
112
900
290
812
537
555
403
210
878
25
323
517
502
224
839
112
522
793
164
179
3
641
319
798
179
24
464
507
384
395
375
778
652
852
185
636
241
85
190
951
703
470
415
719
3
865
716
274
498
935
930
925
617
792
231
495
330
552
929
704
358
407
498
792
661
355
195
109
311
970
941
281
683
395
907
299
18
254
61
713
357
711
589
638
452
854
72
929
249
17
581
857
374
88
343
39
901
894
508
41
906
953
656
741
159
631
47
859
447
583
808
234
441
332
525
424
1
247
780
895
413
384
497
670
652
277
502
220
540
716
572
874
704
792
413
421
472
5
336
48
355
465
896
935
987
646
35
409
140
206
821
153
666
162
99
773
916
306
693
313
347
765
90
72
776
428
813
680
946
192
567
187
870
157
833
794
529
983
336
626
696
475
100
726
531
852
431
47
819
528
715
621
889
612
986
917
983
263
240
709
337
956
95
468
569
433
985
737
346
81
638
451
939
137
495
507
546
582
796
955
457
780
208
776
127
374
307
435
562
695
908
348
611
390
67
319
202
141
903
310
896
840
864
149
29
865
577
368
737
869
642
804
281
75
657
2
948
252
376
902
217
948
671
850
640
710
497
483
92
306
693
940
964
170
184
483
897
760
645
36
295
766
389
338
323
106
646
178
206
703
290
582
685
533
935
604
699
941
545
926
685
497
349
460
60
91
196
850
289
996
966
940
383
188
580
588
477
601
477
833
82
794
685
111
119
734
807
590
128
725
220
707
58
457
320
986
808
356
164
837
666
810
252
216
417
781
619
7
633
757
68
134
186
508
920
793
363
997
365
549
399
189
528
124
171
506
594
135
537
130
962
769
129
278
120
162
197
692
104
213
917
730
29
410
272
728
95
683
217
793
454
649
943
56
148
49
518
200
221
381
608
691
988
666
429
336
374
995
899
912
601
715
90
341
326
931
144
192
305
836
304
18
812
672
773
647
115
111
454
876
599
810
565
904
578
564
922
523
522
825
480
897
340
867
498
911
326
324
243
971
46
316
27
827
802
541
491
133
766
979
84
282
977
118
771
314
769
515
320
863
882
430
742
51
27
382
465
566
507
706
565
241
393
63
678
514
801
328
659
105
242
833
45
509
66
924
154
581
318
610
988
294
502
569
983
656
838
883
526
593
827
240
376
117
163
316
552
861
715
71
807
198
953
963
612
572
472
764
787
170
712
414
571
417
312
415
738
431
168
113
68
52
127
906
185
47
888
764
969
932
356
544
108
575
687
593
367
816
163
814
155
489
528
104
641
332
620
253
970
764
875
103
430
139
488
292
925
105
94
849
379
750
169
359
666
62
408
294
703
391
300
458
819
811
343
352
37
315
476
606
262
747
778
136
41
519
456
457
135
775
747
819
767
292
598
629
593
493
339
665
989
68
140
455
491
259
352
793
952
559
623
57
587
336
325
734
129
469
689
472
162
950
566
780
63
790
991
571
162
957
439
30
751
901
411
441
921
458
53
232
831
34
397
804
573
374
200
801
282
25
152
285
947
932
752
706
55
814
831
96
18
574
921
462
628
934
118
530
273
978
652
132
150
579
982
1
439
983
851
993
321
41
974
219
85
644
49
669
939
774
695
898
346
135
956
640
319
172
915
551
871
538
115
103
509
29
667
258
883
337
128
6
97
768
475
230
54
899
413
172
226
116
879
653
447
666
101
951
11
9
368
962
371
205
335
398
723
516
763
455
14
63
136
599
878
543
369
865
987
192
151
714
921
952
853
518
184
820
707
66
106
301
483
626
800
104
939
808
124
398
883
679
651
982
943
552
847
816
812
567
17
489
956
315
805
816
51
907
401
972
295
480
361
225
777
387
243
498
765
650
589
554
997
654
494
174
148
620
50
413
110
171
695
596
116
986
835
671
343
654
82
375
663
63
360
681
125
356
644
275
680
211
175
243
367
539
108
954
27
445
418
373
875
930
291
956
255
137
584
703
822
204
168
699
329
959
258
867
288
333
699
916
895
490
960
818
546
788
450
462
875
838
514
466
446
193
726
368
658
177
644
255
78
230
836
894
133
41
926
20
259
355
457
695
442
229
104
418
619
179
812
233
543
441
173
307
701
683
638
990
765
690
760
698
636
649
233
910
817
603
996
864
452
361
977
302
244
977
353
826
383
754
15
861
714
177
138
724
85
447
810
12
434
668
375
61
897
120
245
807
936
614
122
631
446
298
254
770
693
289
475
71
250
656
392
420
866
22
971
304
884
416
351
607
83
914
249
20
3
905
83
23
47
133
431
334
349
364
420
844
946
360
414
117
132
367
672
485
64
720
106
259
15
8
45
199
320
696
795
35
379
985
502
134
329
576
173
998
907
549
865
922
872
825
589
685
599
2
469
316
754
482
142
243
276
531
931
834
24
367
585
779
831
957
80
476
267
987
824
223
807
706
809
652
911
287
38
645
731
741
916
396
921
930
202
430
416
498
887
179
275
945
152
212
173
520
899
609
551
466
926
717
628
632
564
958
131
951
880
743
218
907
649
7
600
201
751
818
331
703
260
601
107
889
777
628
76
36
276
275
432
129
347
842
304
32
304
844
583
871
397
195
626
530
646
5
591
950
477
499
646
649
398
505
299
508
182
924
347
192
305
821
680
228
775
123
243
488
950
935
568
253
62
340
700
919
208
598
267
4
914
733
542
626
903
428
199
554
746
529
868
322
91
344
528
654
252
870
186
447
474
530
970
792
821
689
439
691
933
893
624
754
493
369
68
475
847
229
781
21
828
814
931
899
901
398
764
130
366
929
629
385
580
998
518
554
57
294
639
155
982
480
135
980
112
776
845
336
354
337
123
424
122
492
157
800
276
305
529
236
391
213
300
208
621
678
844
549
294
575
975
36
41
389
208
560
505
661
386
319
924
443
56
166
795
249
152
946
898
592
889
28
502
183
472
674
435
981
737
645
89
564
6
958
253
561
946
353
448
787
110
792
777
479
670
807
235
667
892
570
298
263
15
26
914
942
884
90
569
892
194
576
542
584
932
843
389
755
762
536
638
802
110
381
474
509
949
682
688
661
222
111
453
421
154
716
175
337
146
219
754
821
789
87
289
798
303
679
849
36
494
593
72
427
255
906
268
275
481
51
243
705
425
560
871
949
514
160
459
494
208
889
402
813
540
235
844
33
366
845
213
192
228
978
995
353
607
736
246
784
469
836
576
332
174
311
456
130
894
937
313
229
978
475
935
969
967
394
960
155
2
864
308
494
643
750
444
207
508
216
467
698
225
483
270
700
165
890
456
789
185
165
316
85
293
823
92
995
443
562
634
188
639
987
646
352
151
94
967
244
563
434
97
197
575
479
324
435
34
173
925
681
527
846
986
800
746
811
847
892
531
768
139
497
760
818
485
440
277
261
901
693
833
36
191
309
761
702
855
510
832
385
457
465
543
71
797
424
505
541
989
167
536
631
406
118
694
913
97
596
510
492
861
909
578
612
314
770
842
952
866
951
879
66
294
393
279
701
723
400
603
435
981
366
18
243
131
717
118
979
1
308
921
257
357
649
656
791
181
537
290
92
366
888
203
786
284
856
236
582
647
809
797
267
799
279
296
763
895
653
187
618
211
488
82
938
714
407
171
13
209
518
773
342
778
587
305
275
284
333
122
739
381
271
604
305
300
151
690
242
839
201
214
99
389
560
291
755
125
835
823
386
35
391
965
98
806
227
976
4
786
659
698
538
950
714
864
896
946
976
96
615
679
755
663
517
207
365
980
441
120
779
26
405
155
69
22
666
12
684
922
993
787
745
98
502
334
532
629
435
464
500
531
254
940
212
839
163
472
984
86
224
975
402
152
340
824
674
611
505
151
973
362
120
68
690
557
497
926
927
998
89
572
586
548
839
355
135
253
919
575
135
690
224
105
796
257
433
772
794
577
811
585
430
987
681
985
86
771
1
836
149
882
373
338
843
584
470
639
748
435
49
272
619
342
758
980
838
782
643
62
395
294
213
575
122
195
940
706
608
194
411
789
469
146
759
643
316
675
650
509
847
778
466
803
34
576
371
429
518
773
119
700
234
967
458
703
65
329
414
710
157
731
943
960
723
922
822
252
778
531
590
75
989
465
602
907
412
611
288
767
528
297
142
700
185
288
665
526
174
836
651
634
378
209
995
692
297
465
442
162
200
32
92
178
296
859
186
637
972
336
88
460
774
62
448
17
504
512
612
643
437
45
805
330
226
230
600
896
347
889
444
365
947
400
252
281
341
729
906
896
374
73
49
81
859
802
68
986
256
182
961
334
337
368
964
704
708
397
380
356
202
804
587
610
494
550
694
435
568
961
13
456
537
676
580
53
93
613
97
836
977
86
829
859
946
582
100
204
745
769
359
13
933
317
173
742
588
815
445
372
469
648
764
145
825
2
295
82
603
315
850
852
817
206
606
908
983
443
481
699
685
760
195
193
851
536
711
119
453
36
938
402
507
876
292
531
223
829
414
105
679
139
74
611
812
653
519
719
169
473
524
160
43
896
560
553
501
62
381
166
289
519
20
766
806
141
201
711
37
228
933
101
167
805
25
27
119
610
157
863
718
932
48
291
421
868
314
695
353
67
303
382
622
346
430
893
241
360
689
85
399
296
239
867
456
834
450
958
521
608
854
880
951
789
863
26
118
577
291
960
487
493
648
300
171
276
909
98
139
393
685
994
345
734
152
839
418
441
268
828
675
629
286
409
79
61
265
537
140
657
635
673
983
628
606
33
285
805
709
805
165
468
128
514
732
792
824
834
404
468
856
750
239
55
221
865
685
123
435
9
146
281
717
208
675
830
764
274
616
947
355
949
279
846
421
148
652
96
965
276
861
855
116
928
500
722
34
950
279
570
746
394
638
639
515
759
801
632
453
477
231
210
962
364
99
575
366
567
835
593
354
802
386
594
59
890
994
49
289
423
905
222
203
338
460
888
297
270
860
202
809
497
494
667
990
596
471
221
310
775
242
119
530
331
584
428
386
333
718
49
794
78
935
33
731
291
108
898
318
852
300
805
215
791
258
982
564
921
69
416
384
681
732
955
713
233
600
420
169
38
442
624
558
514
661
299
808
895
720
877
192
277
816
304
811
153
222
436
422
100
779
581
528
537
47
726
26
324
687
271
933
263
702
967
843
523
694
805
622
378
795
405
23
611
914
933
865
112
819
352
720
470
300
132
141
930
684
120
450
158
409
776
773
584
454
880
615
62
656
87
936
308
102
225
452
92
421
381
909
225
77
169
193
373
329
671
447
139
739
317
499
715
465
581
11
481
237
683
52
558
926
17
299
805
177
752
282
784
47
695
938
401
283
841
320
743
957
29
47
691
53
432
92
482
933
849
60
968
244
866
556
218
113
210
343
951
767
185
307
341
695
54
553
468
135
745
671
146
820
226
641
754
291
78
855
345
893
45
695
434
207
173
896
76
57
220
145
839
541
249
515
735
715
625
639
155
558
390
863
462
280
775
591
899
712
294
942
676
734
518
231
655
769
386
752
952
517
605
925
567
272
756
826
643
264
229
891
303
108
621
755
966
7
31
327
525
466
379
250
459
40
726
896
402
873
690
874
778
449
190
669
733
593
248
658
748
228
505
494
360
170
68
833
532
405
674
235
673
240
696
735
338
977
60
732
485
472
701
339
110
977
834
875
62
776
195
15
169
284
15
534
111
837
727
164
237
581
657
652
742
415
304
36
245
443
456
460
723
78
468
118
96
532
61
662
917
726
825
240
4
409
178
980
296
232
641
343
136
286
667
666
783
273
517
976
488
9
752
88
872
951
533
972
644
11
372
764
802
564
960
350
369
769
149
687
263
884
339
744
84
97
904
987
250
583
914
248
78
269
284
467
746
355
198
400
720
506
100
793
439
231
843
310
286
370
121
220
835
191
859
214
53
55
671
954
246
249
841
152
547
866
143
996
68
558
686
720
259
341
934
923
47
804
226
521
361
826
287
401
118
883
496
931
592
36
808
568
557
253
424
736
959
893
507
617
457
549
17
498
619
487
533
32
522
178
983
309
840
717
74
227
468
457
32
563
364
515
957
465
920
84
90
69
989
86
869
655
816
485
17
530
595
897
865
157
102
403
747
103
758
337
607
32
299
712
415
704
259
776
16
33
76
128
756
401
70
171
199
326
1
243
72
98
72
860
797
430
607
57
596
758
125
120
928
549
546
273
901
782
774
595
842
20
487
69
470
729
869
144
352
587
972
655
4
873
336
443
782
896
356
38
152
606
307
840
616
427
273
796
24
708
721
724
19
397
12
226
571
511
570
677
78
483
609
397
953
352
445
805
525
383
345
942
514
700
527
521
975
103
461
863
667
454
725
359
990
921
912
504
56
290
42
8
190
220
255
659
956
46
309
640
400
690
225
688
641
327
567
471
480
582
219
376
959
239
22
435
95
133
280
50
6
150
906
597
589
574
618
845
935
744
244
644
593
763
803
206
118
574
142
926
511
957
960
14
985
8
97
515
3
176
301
348
44
198
787
370
791
206
898
147
626
657
361
605
225
142
64
941
334
925
272
943
32
773
425
67
770
167
343
268
813
305
942
144
721
701
339
882
144
494
961
468
571
260
171
655
575
841
617
130
939
137
655
294
467
647
426
432
350
145
971
38
866
798
11
396
553
183
802
380
408
728
381
340
969
800
412
668
294
551
129
862
800
69
169
580
128
183
432
741
27
674
75
314
458
263
810
984
725
313
132
617
121
398
177
898
825
855
95
333
970
377
845
6
18
761
633
812
188
96
408
648
599
822
453
96
41
903
220
237
523
561
570
835
861
235
887
556
48
461
784
611
201
949
796
826
907
550
703
698
572
789
383
674
97
876
812
422
71
127
594
420
852
603
353
15
511
254
65
327
677
825
120
362
191
938
779
949
139
677
195
222
518
532
237
153
892
232
680
294
518
0
409
467
921
713
897
119
537
247
62
449
148
898
838
587
412
139
734
47
611
343
220
893
30
681
494
678
776
451
634
784
76
414
678
860
304
38
754
868
199
693
435
457
787
191
744
823
531
957
85
76
468
410
937
514
124
830
678
803
691
131
673
410
318
879
845
707
620
267
715
859
45
975
942
866
476
549
304
838
125
317
850
941
731
469
628
646
159
317
650
879
683
461
265
709
742
131
401
329
300
197
32
345
378
807
833
241
529
933
759
480
606
531
400
693
498
238
899
617
747
879
67
249
959
491
471
250
290
390
880
726
987
692
799
562
357
941
277
28
857
424
816
933
490
612
707
894
16
43
652
20
1
762
389
325
686
548
448
674
505
54
308
165
253
106
696
272
266
135
288
368
904
38
872
931
380
606
904
414
657
367
933
151
282
348
827
975
466
660
560
704
383
51
429
682
937
150
984
514
259
439
69
122
809
657
758
381
872
270
848
96
746
888
214
810
822
538
487
402
378
51
880
180
300
314
638
311
893
400
362
658
21
343
328
950
171
371
246
937
87
566
426
496
179
813
821
299
175
920
904
224
658
344
505
498
583
283
163
865
28
282
215
580
913
452
454
278
126
983
895
334
859
709
333
394
277
666
878
295
938
799
784
551
403
17
302
980
161
204
833
573
566
2
891
131
144
885
58
8
615
2
365
418
859
262
30
300
48
806
66
690
888
42
616
562
833
489
592
184
806
210
724
431
414
260
435
470
21
784
804
22
543
997
594
501
293
212
265
211
818
225
512
472
352
401
433
778
652
892
46
97
554
158
118
30
262
610
231
595
50
126
434
828
153
256
121
506
959
178
917
629
458
561
863
954
263
220
489
480
862
631
821
499
955
542
764
941
7
121
687
529
996
196
625
145
949
336
447
533
129
721
477
363
814
826
442
59
285
831
4
582
143
243
709
152
665
219
261
177
153
522
609
406
589
730
664
755
419
462
583
536
234
659
374
171
601
382
544
6
256
800
163
358
350
442
655
11
624
255
579
772
748
376
314
267
83
381
911
209
97
770
900
38
875
262
552
798
222
769
839
415
184
492
628
716
100
374
472
755
305
432
927
463
596
232
255
627
136
494
22
637
26
421
197
263
60
455
963
46
160
74
778
475
244
410
533
820
763
135
580
621
731
344
718
155
657
9
807
977
605
402
238
376
378
942
481
885
357
588
5
534
485
915
994
142
204
511
639
891
172
861
914
808
172
998
27
194
484
318
564
633
187
657
343
327
97
705
833
628
432
727
110
621
363
981
838
435
732
730
195
684
308
462
470
317
116
394
571
94
994
277
241
289
468
669
923
258
180
365
717
391
152
787
573
144
647
715
165
522
902
856
514
923
533
85
187
94
899
594
185
905
881
716
670
312
555
152
785
84
517
559
521
524
378
962
640
812
250
802
466
488
952
649
690
245
135
920
117
473
521
488
266
301
458
907
445
979
487
699
936
168
28
697
117
28
334
183
756
319
251
524
662
611
553
52
930
91
22
389
20
392
364
753
360
178
753
751
861
997
990
568
60
959
39
757
744
948
175
598
847
565
641
841
151
528
435
366
678
315
215
401
5
805
52
280
133
930
445
105
953
959
747
587
553
952
50
97
542
840
142
214
486
42
15
303
3
540
282
637
496
581
889
915
809
402
838
199
606
277
213
995
502
486
598
808
515
555
83
152
349
215
561
582
491
587
409
433
303
666
418
530
293
449
235
871
712
984
279
922
579
242
333
121
277
122
734
116
821
777
464
728
339
566
665
511
403
860
464
999
753
205
187
201
708
828
470
433
602
353
401
754
939
568
486
928
427
828
26
885
114
101
538
860
614
789
821
6
756
119
845
62
381
281
5
430
707
318
213
350
90
266
770
141
47
521
94
742
828
783
790
226
247
500
852
145
72
192
208
62
682
874
444
509
209
618
149
907
855
437
378
16
31
777
308
671
235
923
466
942
935
626
661
452
88
183
82
455
190
404
49
326
575
658
537
612
451
439
437
829
131
72
731
606
508
73
939
47
457
616
670
554
162
510
113
465
232
66
127
723
5
329
31
772
199
592
510
82
698
357
378
223
925
285
867
811
723
853
986
388
672
203
479
33
345
899
657
427
867
381
686
929
997
888
240
185
206
786
335
12
632
130
711
419
552
534
796
127
923
823
70
565
305
153
854
160
562
792
158
22
814
388
966
628
469
687
162
107
991
361
385
551
382
462
594
15
527
705
336
158
63
462
940
560
188
315
856
175
787
836
387
578
960
780
690
944
193
667
640
981
801
972
8
655
513
405
179
155
357
260
914
173
176
926
101
418
190
197
338
904
611
645
573
556
151
343
416
864
985
799
453
484
698
831
681
750
873
343
864
770
812
926
151
694
136
199
49
567
840
787
943
718
91
614
818
468
678
746
390
852
369
782
741
822
244
561
234
831
282
625
449
121
438
736
206
599
909
795
185
674
386
329
994
195
428
38
378
394
342
233
54
78
917
940
208
45
564
857
838
986
105
803
430
467
230
77
366
326
157
338
828
160
198
741
691
859
813
580
4
978
200
880
866
824
892
506
111
119
648
79
938
335
85
764
825
141
591
975
684
526
179
21
872
710
516
213
822
401
448
856
599
45
678
358
782
450
410
803
848
524
395
264
559
660
779
919
289
20
963
874
670
188
673
406
176
808
742
723
673
4
683
668
276
518
204
100
375
980
281
72
701
857
454
926
777
700
27
2
572
408
235
699
598
681
280
710
845
917
683
891
243
476
184
603
684
322
361
619
88
53
758
327
720
370
560
465
148
924
229
70
293
496
357
676
458
451
601
795
389
882
429
578
201
201
799
842
869
294
997
716
80
391
163
947
517
392
971
415
517
67
40
730
861
353
608
9
20
21
436
503
7
540
978
227
777
768
127
477
241
638
716
188
859
246
231
479
868
919
732
746
618
825
544
540
288
625
471
684
923
374
613
506
527
148
602
257
732
391
992
937
72
361
187
830
992
211
621
999
310
517
494
127
451
890
897
377
952
515
500
863
414
129
182
528
738
621
502
636
670
144
0
726
517
487
445
717
430
407
59
936
872
72
997
979
295
75
244
175
41
251
715
414
733
444
760
183
138
251
748
436
638
902
876
499
406
189
432
879
290
495
846
817
311
791
28
868
626
64
951
681
404
44
699
828
408
258
437
882
917
649
906
390
404
539
842
306
255
849
933
378
20
689
224
136
834
239
964
510
943
372
694
524
420
747
32
499
882
329
497
802
926
212
936
785
33
513
153
736
906
302
558
491
667
884
225
400
578
389
738
642
37
357
265
598
646
468
572
375
303
581
720
763
439
874
423
72
729
508
785
102
503
410
769
875
676
807
135
460
309
292
70
247
888
866
940
662
918
953
755
905
723
363
766
343
216
438
913
185
56
366
113
331
955
557
239
380
758
527
431
914
475
386
956
473
806
138
47
162
111
461
26
35
451
414
808
888
345
19
572
947
194
235
238
113
203
648
810
202
290
646
807
365
311
600
536
627
406
916
501
575
521
994
257
670
901
753
261
889
938
728
3
421
656
136
55
12
187
504
59
791
359
611
52
887
204
567
653
659
501
143
509
599
346
899
905
564
837
814
356
687
879
815
247
488
297
633
281
236
617
662
685
934
706
306
413
778
560
95
838
646
38
998
813
355
496
856
954
188
131
59
735
204
443
949
943
473
503
712
785
795
630
41
390
530
10
323
652
390
40
669
153
593
562
907
149
206
760
215
56
409
729
917
978
179
38
402
174
948
350
838
315
496
345
659
775
269
285
698
348
30
549
289
392
295
954
924
693
111
481
287
483
3
591
367
127
244
336
503
874
701
705
173
585
277
978
146
567
983
702
163
660
351
233
480
766
564
281
172
983
276
115
108
5
758
357
990
692
929
971
534
757
292
806
115
853
41
88
584
234
300
151
424
297
919
767
277
262
959
666
56
796
202
80
795
105
285
741
806
1
606
939
457
47
678
679
321
543
98
849
634
82
182
934
510
768
968
153
788
219
437
958
329
566
612
771
648
940
846
353
940
969
394
532
146
349
384
891
201
372
894
773
940
909
850
302
986
880
597
253
116
338
17
874
157
713
448
470
487
785
772
765
702
102
175
109
827
986
698
181
88
326
571
566
146
940
607
424
423
119
220
104
793
66
4
266
265
134
606
957
632
324
377
279
699
292
544
51
148
59
66
851
651
325
611
93
718
913
432
370
223
448
170
786
968
715
233
783
718
883
441
427
958
49
310
190
919
460
524
513
277
657
743
142
701
110
529
403
903
616
140
916
235
656
237
885
846
559
409
47
334
736
357
160
73
168
25
621
966
170
643
287
417
276
583
730
832
761
986
352
759
734
841
627
867
958
91
745
857
139
741
843
332
930
328
432
140
390
936
557
21
577
992
399
910
427
614
159
340
28
943
904
617
460
447
628
849
233
908
729
436
181
799
918
714
182
888
830
723
415
652
814
344
912
908
761
364
851
31
584
264
888
771
777
620
749
318
68
812
86
574
648
576
752
265
28
229
409
475
863
770
889
304
793
117
72
940
132
27
670
761
646
961
85
530
513
584
813
718
168
93
513
727
126
612
735
627
716
89
367
91
251
689
909
772
157
44
471
19
959
688
336
54
12
476
779
579
715
941
507
727
152
697
137
461
525
542
187
486
214
773
104
586
902
387
18
275
939
825
819
649
661
703
621
793
30
47
110
275
666
82
978
843
631
719
555
345
237
657
690
442
936
192
941
944
564
416
144
223
777
856
125
888
953
188
705
791
952
902
329
970
367
657
408
404
824
793
307
190
808
361
787
628
795
810
392
527
720
143
324
843
838
504
487
983
94
509
781
562
768
996
428
881
802
227
790
489
860
498
815
177
427
451
923
382
283
649
586
51
880
404
315
897
876
474
63
775
852
448
393
979
822
574
337
318
253
91
948
88
640
846
611
405
669
397
154
107
175
486
544
528
807
473
544
854
376
340
763
271
504
653
658
143
997
141
380
676
547
481
140
108
434
24
372
196
438
725
507
43
465
436
527
30
645
427
455
144
664
899
850
914
971
245
760
208
953
482
811
688
588
128
84
877
604
417
752
777
548
232
224
827
498
457
413
169
656
942
358
232
649
755
806
296
51
450
471
955
115
329
593
893
821
416
15
756
903
152
87
580
7
810
120
222
936
618
496
352
931
544
177
594
414
115
70
413
555
130
863
892
712
377
805
860
681
149
357
70
445
220
146
503
527
236
598
668
924
795
656
425
752
698
522
622
912
117
22
606
569
950
501
4
887
56
468
334
294
630
300
226
507
689
898
617
842
84
899
117
934
0
468
835
742
698
602
641
545
403
14
244
550
676
30
599
558
986
166
143
119
303
801
997
417
166
679
996
721
499
480
35
114
277
179
97
48
396
812
226
213
767
602
261
594
182
638
959
68
622
271
375
582
737
71
755
904
850
49
771
997
770
533
635
506
511
985
773
350
821
867
556
447
128
61
777
367
79
441
939
68
776
226
671
472
819
420
838
116
608
8
407
775
538
545
341
89
193
146
509
715
11
100
858
204
642
957
245
655
551
152
831
146
822
27
229
475
258
982
231
97
835
527
857
353
333
189
890
669
216
312
137
621
149
441
686
296
325
131
207
352
110
989
773
755
938
157
153
74
418
405
637
921
621
55
80
154
944
812
916
289
556
717
389
739
881
274
714
825
691
324
373
282
29
918
863
164
355
348
126
899
165
713
643
983
703
185
616
653
603
631
499
589
955
639
513
881
821
511
885
739
283
771
810
313
553
784
653
142
97
357
758
809
369
131
246
197
893
474
277
69
872
858
754
456
844
350
143
512
398
273
787
651
757
218
761
450
672
153
647
392
187
320
819
73
146
672
19
791
301
58
127
129
916
645
103
47
813
389
823
225
858
298
13
311
918
519
120
913
31
640
892
129
82
926
607
112
500
397
720
590
420
860
939
582
2
466
723
117
904
709
589
783
373
841
690
423
375
423
543
44
354
102
288
759
480
627
508
819
672
130
32
353
692
119
33
250
328
502
396
805
630
1
56
123
416
799
328
654
757
601
45
7
380
761
289
888
564
108
635
722
620
933
256
815
847
857
321
109
257
478
934
978
49
960
178
439
989
444
292
344
836
626
492
525
49
58
934
516
553
702
820
999
181
954
31
580
298
376
762
206
777
155
973
264
459
75
713
924
129
294
453
556
217
544
579
542
600
431
929
724
501
24
755
257
336
295
842
400
239
221
680
653
910
252
32
752
200
162
544
218
190
218
135
709
615
565
914
431
935
492
759
737
472
449
77
817
223
378
398
162
245
363
784
331
159
630
32
611
662
447
247
350
193
626
819
144
727
217
154
56
227
465
393
366
832
791
864
984
513
793
154
829
10
553
352
81
322
99
386
297
18
433
129
452
716
510
628
959
930
65
801
769
837
244
601
384
735
633
961
244
314
619
357
321
21
819
449
268
387
420
789
90
8
95
182
12
738
436
241
893
689
378
492
0
685
210
237
820
669
477
579
57
996
531
454
550
545
223
757
785
465
714
529
380
919
466
767
954
618
34
722
4
58
53
120
520
699
810
326
904
782
393
865
102
486
102
980
701
804
681
564
563
819
771
264
528
183
476
452
12
301
761
546
980
210
45
476
986
979
319
140
892
30
449
915
665
112
924
312
912
286
716
424
861
953
567
109
66
147
544
415
842
611
339
52
391
245
190
126
559
558
386
541
19
489
770
271
288
45
176
660
391
341
265
949
322
155
461
967
386
480
466
224
435
92
175
539
653
775
276
828
369
628
911
424
749
715
74
587
669
987
589
109
73
716
404
53
196
221
263
503
460
948
147
21
646
167
975
385
442
988
777
914
823
952
341
212
773
333
554
174
0
82
619
387
68
514
984
572
520
175
121
32
221
513
956
993
541
665
364
185
491
274
588
210
578
655
133
867
345
705
871
110
613
66
386
638
551
297
650
817
2
381
183
345
885
659
880
743
203
982
822
345
101
745
864
470
643
442
104
535
464
833
818
828
389
912
967
967
293
517
93
691
21
253
657
270
123
271
983
276
714
831
52
437
56
666
645
200
363
926
96
785
543
387
781
574
771
154
788
559
341
465
746
544
453
513
67
47
214
727
418
308
950
539
741
911
56
75
289
325
107
425
533
680
457
584
590
558
181
440
244
401
544
747
341
250
841
711
482
167
389
669
494
464
304
472
154
708
632
896
478
705
731
67
377
712
407
316
453
475
187
27
61
91
727
846
219
173
845
438
620
299
773
233
43
531
271
647
43
111
337
894
159
367
209
99
360
618
535
137
914
92
236
718
562
60
70
232
646
529
60
204
525
714
305
74
873
838
249
752
932
529
992
767
963
988
869
270
353
213
967
212
845
493
14
393
670
771
604
3
402
444
300
749
205
482
739
119
554
180
23
865
504
554
198
795
912
770
789
150
126
120
248
347
959
878
574
833
620
900
574
340
474
55
811
337
340
75
605
765
371
522
510
414
536
436
379
260
613
813
864
22
490
777
254
66
211
894
631
38
593
172
506
9
36
183
404
656
450
411
242
818
830
539
168
908
321
232
317
68
751
813
544
888
524
951
598
809
788
985
194
984
479
368
879
696
375
95
382
244
556
367
195
998
198
400
184
592
54
79
76
498
101
446
113
93
341
761
293
650
111
789
628
11
202
98
539
122
519
208
414
778
655
98
166
651
613
482
317
218
305
194
542
355
241
388
25
694
570
457
564
926
833
27
478
324
115
571
346
633
104
792
494
51
586
460
132
445
407
658
77
164
953
303
216
912
436
858
857
295
87
223
302
199
78
816
3
119
766
508
891
545
293
726
454
23
196
904
28
248
563
475
486
739
789
805
605
182
763
371
867
565
479
49
881
378
691
477
303
39
973
14
958
135
292
76
506
360
900
914
612
200
462
953
750
968
571
741
251
801
234
741
972
621
957
637
910
526
672
17
711
222
55
930
471
783
281
998
483
955
221
311
312
729
193
960
274
351
163
25
377
127
87
450
561
617
736
7
796
988
502
424
441
6
188
975
69
986
262
150
419
835
828
423
779
433
531
899
953
744
991
147
404
410
971
782
553
40
766
771
273
282
47
292
885
405
646
905
705
996
170
714
875
294
504
691
934
937
227
263
421
98
779
409
329
181
477
862
915
779
151
154
217
428
563
43
867
562
993
622
294
194
286
607
132
808
158
902
42
294
476
290
676
313
610
229
999
957
891
17
294
198
320
43
950
524
325
384
836
258
329
329
831
107
54
92
471
116
97
218
386
180
142
664
500
198
216
399
926
383
317
16
656
281
192
167
144
926
566
485
817
675
302
964
794
142
288
863
448
531
424
654
126
553
733
58
239
214
528
771
423
658
941
523
432
615
537
901
37
141
644
361
778
836
151
360
139
471
158
758
629
324
294
68
655
333
348
519
688
984
310
58
42
699
11
347
243
932
998
311
329
530
595
587
278
388
978
953
484
416
928
565
7
84
636
868
261
426
348
174
55
176
724
192
199
600
875
483
712
432
12
68
894
551
843
69
405
206
757
810
417
806
425
122
607
437
921
865
638
633
700
287
584
485
199
143
895
432
240
826
203
389
994
673
972
372
487
883
515
252
823
589
46
148
743
304
802
839
222
427
956
961
47
83
567
575
631
566
391
564
153
192
961
846
742
482
72
834
834
825
190
834
362
152
411
205
319
988
143
901
540
428
578
922
460
444
470
834
453
285
850
865
330
662
326
703
304
487
286
939
66
826
485
664
639
989
597
786
529
246
408
431
267
496
714
475
60
182
838
416
479
855
903
863
955
292
521
193
309
636
669
460
497
978
718
636
958
19
324
308
45
872
725
893
935
34
571
328
388
386
823
629
866
124
869
543
553
976
575
221
918
899
470
667
139
387
904
541
846
247
8
932
873
316
496
301
850
140
830
869
836
966
955
605
375
114
67
266
768
691
339
969
270
180
758
376
513
13
297
347
396
527
560
690
707
134
757
136
92
243
797
247
780
919
13
101
618
273
973
127
533
621
418
650
486
283
427
933
685
708
848
957
246
228
605
708
967
723
658
451
847
448
116
339
613
637
292
665
487
90
695
222
352
529
169
386
655
237
430
225
370
865
19
27
328
6
216
392
44
762
227
236
538
155
777
444
494
637
257
288
685
36
735
978
164
605
846
724
793
622
646
559
570
236
913
539
599
905
353
362
201
89
592
283
814
23
362
42
68
573
51
148
620
237
96
696
654
745
668
311
363
215
842
401
819
705
747
638
748
647
705
933
80
375
842
94
416
791
778
160
159
556
117
420
600
49
101
770
840
344
524
861
515
668
547
764
783
225
660
969
876
729
94
509
384
75
45
929
134
642
367
339
178
114
492
668
441
177
32
404
442
569
547
622
43
801
390
493
996
111
413
73
758
966
488
300
819
209
836
909
847
210
841
640
600
991
454
383
935
55
47
351
889
538
234
310
638
151
47
556
565
569
93
196
827
743
114
818
305
138
973
776
726
18
588
593
74
413
974
664
595
186
978
30
683
33
398
853
171
431
683
339
582
883
653
654
642
921
97
583
253
210
833
865
412
458
173
145
482
368
565
15
552
801
388
71
781
328
208
334
759
744
954
60
222
938
406
118
890
997
193
294
308
398
550
686
168
214
410
455
973
472
772
652
681
931
602
465
812
373
277
957
701
194
600
108
179
926
453
913
615
735
190
684
392
186
108
696
833
671
612
863
223
223
987
301
303
799
120
384
813
435
532
654
19
268
969
108
661
52
531
950
639
654
934
105
75
531
841
825
329
824
853
601
392
444
165
990
463
216
774
972
636
875
480
702
269
507
613
590
563
899
25
963
576
135
173
821
440
865
397
283
586
647
758
853
953
70
97
261
629
725
461
926
85
297
978
663
566
78
701
362
917
363
789
658
973
230
127
595
237
454
994
132
245
818
311
317
158
472
531
134
268
33
835
278
951
157
765
363
564
495
746
47
39
700
611
860
71
73
735
398
958
641
3
954
574
258
719
927
595
330
46
850
256
561
561
249
864
378
241
853
399
534
343
853
102
420
575
179
218
708
144
469
986
193
928
356
345
708
452
906
914
884
593
677
747
836
32
921
581
520
998
380
89
50
746
174
360
907
535
298
751
499
161
390
325
131
590
202
466
511
252
277
820
4
700
498
580
890
97
229
648
476
150
139
166
103
790
244
385
31
934
593
252
936
738
748
126
147
109
2
715
592
159
825
725
116
251
273
419
660
996
831
253
983
998
937
622
695
636
863
66
97
560
303
662
920
526
734
555
915
409
383
876
396
243
653
634
178
924
768
113
555
819
594
388
638
818
276
884
751
10
102
509
396
843
929
754
321
260
999
467
86
73
49
404
188
103
978
399
659
707
277
105
204
196
478
737
431
507
867
775
741
795
621
167
429
295
102
242
243
531
879
218
406
989
236
901
797
941
744
920
810
415
565
790
379
61
809
543
667
1
762
487
823
741
630
789
427
896
432
633
250
417
115
321
840
155
113
713
773
337
114
30
915
983
794
370
776
577
735
118
878
916
877
503
307
54
678
989
995
489
143
141
826
997
417
341
26
650
801
876
423
371
187
21
306
123
154
440
943
913
179
422
209
407
469
748
243
644
805
43
859
239
705
168
504
791
720
765
425
460
820
934
107
332
597
581
264
825
70
847
139
669
930
394
195
761
763
544
296
750
107
198
55
184
515
197
838
236
15
872
932
114
926
465
578
833
907
17
281
617
169
182
162
314
564
753
86
299
289
217
269
204
562
576
609
443
330
487
334
956
717
584
821
192
252
195
845
703
33
397
909
384
599
839
933
306
653
102
745
202
842
213
908
236
204
887
299
627
554
988
242
576
939
481
443
140
152
673
491
28
977
115
272
528
689
228
518
61
405
769
865
353
9
152
305
971
99
886
321
998
146
731
695
143
783
879
893
383
198
995
727
484
219
352
936
806
262
230
28
133
535
585
155
826
642
122
955
317
329
6
540
442
809
20
172
545
428
839
862
814
3
490
677
181
421
696
95
987
667
610
114
460
444
133
758
841
653
908
476
478
547
325
226
317
247
303
384
508
893
805
551
737
477
213
425
617
354
641
764
511
92
734
743
946
223
927
705
498
548
587
283
263
443
269
960
972
780
995
738
872
810
431
928
18
788
873
195
81
404
625
601
521
446
154
140
513
691
539
313
956
237
856
428
110
353
698
942
280
965
826
573
244
822
394
956
187
149
13
26
525
522
401
311
905
600
788
942
151
391
506
384
402
468
954
893
457
42
574
167
591
301
609
697
138
632
137
825
541
784
794
443
55
526
56
249
658
828
342
212
40
979
797
473
743
772
43
501
548
543
213
545
476
387
807
124
102
948
909
835
306
416
603
289
283
345
362
107
878
611
0
734
814
43
800
857
180
749
902
472
961
767
569
937
778
727
400
350
688
93
145
305
21
218
229
716
374
674
846
512
753
664
256
642
953
592
361
585
861
951
357
938
582
199
709
876
709
593
558
465
172
47
76
611
99
423
19
646
251
298
438
810
419
64
888
214
984
700
838
790
852
870
320
234
876
243
402
128
517
142
488
227
108
722
685
355
164
308
464
663
788
903
475
199
859
837
892
153
678
885
430
587
941
889
999
527
963
683
88
365
802
695
998
345
592
189
336
291
589
336
130
395
751
529
314
92
395
433
572
595
565
906
104
218
278
216
958
524
862
543
968
966
204
67
921
746
204
314
956
585
310
473
106
142
967
586
814
528
370
981
708
877
258
665
972
264
813
891
657
216
932
261
180
151
92
363
588
41
45
855
919
760
350
16
179
82
518
866
493
357
852
588
202
735
641
542
569
454
453
62
116
34
620
613
952
176
911
19
976
664
383
202
506
170
396
405
298
565
686
249
918
350
400
82
498
544
779
822
364
261
434
790
775
46
457
701
451
552
697
178
293
876
885
47
44
614
285
259
777
975
307
334
306
983
980
602
632
209
43
25
363
436
27
891
420
223
799
923
241
286
557
225
229
335
409
162
64
906
602
895
49
712
786
993
106
536
82
43
711
595
643
289
830
669
927
622
224
463
556
11
609
892
150
994
233
718
455
498
647
446
583
567
473
675
262
290
429
207
675
565
472
920
980
164
939
467
160
192
897
931
388
961
108
870
137
931
187
994
641
785
569
58
402
613
699
289
321
981
201
471
449
935
620
693
923
574
440
576
65
18
377
129
79
190
340
990
205
486
860
429
536
318
912
19
966
497
293
366
347
668
450
892
92
64
376
773
283
769
347
654
688
925
107
127
379
286
352
198
190
607
77
926
632
615
660
665
355
134
786
790
752
203
252
131
138
379
944
633
120
923
824
980
685
829
670
940
127
420
904
30
144
339
294
830
328
967
756
259
271
803
483
772
650
126
907
80
764
596
37
5
493
659
673
607
590
668
177
516
558
603
328
39
682
763
292
447
368
435
204
215
928
794
710
195
699
880
516
874
605
471
132
213
337
35
374
596
102
801
496
84
419
933
557
421
293
582
278
770
244
137
52
739
701
849
411
158
909
779
428
11
113
86
658
276
815
564
260
176
251
895
856
791
536
320
143
384
268
435
240
547
574
226
420
893
177
792
783
863
460
821
460
447
926
951
440
114
923
86
837
254
557
560
933
573
172
20
183
842
889
302
774
337
280
411
395
112
251
431
298
256
739
648
896
300
344
149
981
816
413
582
991
709
580
526
507
248
117
457
293
440
683
437
244
735
857
36
230
779
994
351
48
951
579
652
612
345
74
250
346
48
250
460
851
248
271
868
620
147
549
961
890
653
61
42
534
732
406
201
740
731
645
718
12
281
980
313
954
953
922
500
98
661
491
884
99
137
189
735
257
220
718
798
69
140
314
317
697
872
843
609
746
234
557
656
946
435
784
463
682
424
289
844
537
319
216
579
436
653
779
461
917
607
781
769
234
229
850
704
637
263
198
836
294
930
472
865
160
362
488
352
389
172
222
338
375
806
969
667
742
977
600
377
627
584
256
361
977
141
146
942
476
185
751
500
639
484
192
393
582
862
782
891
679
3
162
124
74
44
570
126
922
463
642
584
3
97
588
641
596
326
435
196
285
477
410
427
155
328
454
528
783
599
349
628
394
117
498
83
165
737
394
926
137
811
186
624
956
87
221
196
1
290
204
148
52
281
530
153
27
617
491
898
868
310
927
816
434
135
962
809
630
19
528
927
296
662
925
910
134
932
817
867
531
634
458
169
169
908
578
431
706
378
461
288
955
667
841
295
602
612
825
326
275
134
822
87
23
310
438
317
294
172
481
520
178
924
532
515
484
922
899
435
296
167
397
379
346
491
276
15
518
716
810
163
363
356
742
836
84
300
751
351
509
916
137
94
554
219
591
960
177
195
573
0
600
298
132
211
362
542
775
133
414
581
497
602
803
432
293
33
811
419
668
555
282
603
703
663
663
300
454
794
973
378
364
73
851
475
945
366
949
261
829
76
179
380
241
797
287
50
149
48
326
677
297
81
128
547
746
238
198
102
365
836
865
407
930
988
627
302
414
43
783
689
7
582
769
367
508
528
296
760
427
171
289
807
634
763
136
621
733
487
391
234
35
243
57
756
873
361
982
997
262
765
158
261
334
276
247
164
195
52
653
948
447
165
77
896
589
552
77
956
562
985
784
893
874
709
887
804
766
2
661
929
544
975
497
768
397
157
296
210
343
803
439
234
782
823
331
247
980
405
770
505
877
52
955
683
304
472
656
226
827
550
36
630
88
292
205
653
88
930
152
132
70
736
171
402
551
884
978
493
242
986
68
459
990
441
616
245
986
923
31
371
108
129
162
141
476
626
529
567
863
28
55
522
642
100
945
146
283
33
506
215
991
599
63
793
647
279
974
716
287
491
109
306
291
715
617
510
260
461
670
224
308
172
165
451
881
431
693
856
964
677
924
716
26
265
596
130
452
988
634
208
705
617
928
258
845
888
610
344
388
363
620
991
7
813
6
965
26
240
665
959
483
157
641
586
438
84
555
354
855
411
467
803
704
382
640
974
218
830
60
390
690
838
186
321
553
66
165
556
200
462
952
325
384
486
221
327
934
516
913
758
174
774
904
816
921
885
211
874
297
977
199
868
196
579
427
938
526
24
77
323
91
774
644
360
573
440
339
29
512
105
505
538
518
816
937
778
601
906
174
890
628
716
947
391
650
231
893
709
986
867
180
591
392
955
661
448
87
398
693
245
618
392
51
833
785
404
4
622
616
365
806
198
332
274
992
911
866
448
494
939
846
550
71
629
854
982
993
357
279
887
904
184
532
96
602
308
745
131
708
882
204
172
987
379
223
588
500
43
742
669
121
987
201
447
851
450
292
421
756
150
767
708
18
919
830
434
386
886
655
52
19
618
705
509
403
547
337
867
877
310
756
361
829
910
743
819
924
657
130
612
408
655
668
313
144
753
239
81
999
583
804
657
968
368
952
135
90
231
882
70
18
397
177
811
986
85
566
766
584
445
926
575
319
653
752
561
58
636
976
192
154
781
379
697
152
840
614
712
738
945
20
339
491
84
569
960
307
992
474
355
615
797
942
614
860
744
444
486
794
866
900
268
498
998
447
863
279
568
744
344
169
213
536
940
637
486
712
884
267
675
961
513
382
578
365
404
149
807
536
338
643
175
712
59
49
727
261
131
469
794
210
171
73
678
48
716
513
847
8
309
579
576
17
96
609
963
484
2
848
461
683
494
590
511
225
881
60
982
424
566
211
669
437
693
765
824
511
198
445
736
278
720
177
4
521
209
329
158
20
659
482
341
521
686
277
108
914
780
500
99
877
529
727
324
368
384
63
491
698
358
429
987
360
291
370
696
992
291
726
103
327
260
574
823
331
861
574
976
160
291
425
960
200
20
831
410
922
293
643
390
819
303
737
513
937
242
536
321
885
878
223
78
613
629
691
493
832
821
220
538
136
992
89
428
739
13
106
74
532
266
37
196
813
277
297
198
839
629
861
846
384
788
752
59
633
629
620
928
715
663
510
893
66
33
489
64
497
997
76
995
530
60
34
713
789
160
400
536
991
115
344
836
75
344
805
576
643
612
564
350
906
164
793
435
889
169
557
116
169
213
355
115
838
847
437
978
861
408
997
750
6
922
851
221
51
340
604
623
564
103
690
716
335
19
734
133
551
542
224
926
722
571
961
267
995
442
47
166
516
408
561
556
79
588
584
691
67
947
790
3
751
81
469
124
406
642
935
382
118
202
633
45
321
80
344
682
822
203
288
129
793
637
253
435
759
495
160
17
516
302
148
260
295
618
714
772
685
368
759
343
24
874
737
766
241
50
427
108
538
338
642
17
261
793
980
716
224
260
196
862
511
487
964
942
126
593
947
371
582
230
886
555
907
833
700
712
957
963
409
711
187
901
630
474
374
578
428
32
141
679
866
408
967
122
141
938
15
575
496
78
765
781
209
428
545
219
565
27
83
744
472
830
754
132
585
451
461
843
774
768
836
336
687
599
535
181
921
582
950
107
386
254
157
647
312
660
612
658
898
56
370
274
22
644
767
203
24
248
259
98
738
426
432
626
155
523
634
760
803
711
900
694
973
173
532
162
154
609
848
990
11
333
791
658
677
980
533
122
79
585
262
404
706
819
487
606
410
955
406
827
814
464
803
304
190
658
591
717
263
705
150
897
598
806
600
460
918
626
991
573
713
765
802
939
613
457
204
564
406
440
61
591
375
563
532
677
600
601
394
225
247
468
474
271
173
297
178
418
421
663
896
91
716
241
412
434
712
782
115
43
789
847
138
573
845
617
785
180
26
967
880
509
178
904
888
692
45
626
706
302
173
284
149
452
99
604
384
641
869
426
228
705
194
70
918
279
71
76
899
303
311
981
888
371
63
479
645
167
764
608
615
679
591
378
191
114
729
972
750
810
727
726
295
842
620
12
216
792
646
143
522
608
628
778
554
385
649
676
987
912
973
100
450
684
719
436
907
439
160
946
781
562
659
724
742
97
86
995
191
48
291
471
307
59
958
528
103
652
454
505
679
243
725
830
914
490
381
582
966
589
891
324
334
966
16
976
819
410
383
434
86
811
676
165
240
723
940
917
127
389
956
59
169
187
394
539
603
154
283
678
881
281
107
163
790
476
362
892
508
466
348
612
62
660
40
55
640
156
897
660
339
874
35
669
49
619
557
907
808
585
292
55
747
597
690
100
781
228
288
927
551
101
489
849
898
500
592
730
342
424
808
507
911
872
805
127
249
233
186
465
722
878
207
139
994
326
883
917
100
313
161
67
337
460
341
261
799
456
175
547
395
68
154
801
456
597
988
299
832
169
671
386
631
110
604
334
957
470
55
757
111
293
252
918
483
887
787
633
744
930
565
216
986
338
344
529
820
52
81
614
795
178
705
701
722
497
881
686
679
327
408
871
694
325
957
555
513
328
460
686
402
506
516
688
425
92
112
692
140
825
362
994
280
406
11
483
894
718
567
995
903
319
634
298
242
27
516
169
471
746
548
877
994
490
605
324
761
90
425
350
852
930
673
412
23
98
462
756
380
88
216
672
836
102
647
811
738
342
729
905
940
849
7
450
600
494
55
586
615
747
503
897
989
244
384
92
691
964
31
846
313
267
394
309
421
72
816
310
941
423
162
2
219
87
768
997
647
941
78
26
219
0
471
439
167
561
388
917
176
27
420
262
708
691
162
496
408
920
744
475
703
299
741
675
117
547
109
463
615
878
810
495
348
266
744
773
893
603
352
574
398
151
664
728
322
569
622
326
842
627
611
987
952
607
87
939
257
680
634
819
639
355
200
566
63
420
96
759
891
501
693
869
414
977
184
534
88
841
22
344
873
342
820
543
522
68
890
694
492
417
253
910
43
340
239
344
688
742
729
436
40
92
36
540
477
371
110
1
682
656
192
442
429
998
161
319
97
283
343
425
624
930
598
251
251
516
615
47
960
820
108
341
88
524
816
539
352
234
437
907
20
552
15
768
42
17
776
54
464
869
915
739
436
691
815
972
530
521
345
273
832
932
531
783
792
382
39
846
709
769
90
293
628
276
35
634
23
761
985
571
972
822
713
818
609
466
395
526
565
892
664
368
837
49
541
179
948
394
585
922
71
763
305
617
29
371
538
201
417
95
528
445
548
187
502
852
228
277
286
542
656
388
173
635
88
373
323
208
740
607
810
525
770
966
176
163
724
890
519
626
224
263
84
34
935
465
738
978
52
491
747
329
832
987
775
115
9
399
643
256
238
585
226
522
882
991
558
585
13
333
800
137
143
706
8
797
29
247
532
324
956
556
776
936
516
627
811
864
651
316
510
325
85
37
708
976
144
779
639
372
69
982
758
241
664
789
826
884
221
680
570
598
394
276
334
965
128
677
213
955
495
626
804
183
360
613
311
299
539
481
277
701
48
991
452
788
217
746
602
491
840
765
245
67
75
379
780
96
824
786
863
126
8
161
239
217
942
911
515
237
136
445
466
134
832
27
182
984
978
351
413
597
742
12
255
879
618
738
632
711
779
724
820
769
964
938
97
235
33
301
980
346
937
370
781
814
582
784
683
162
371
655
731
762
149
148
408
367
7
859
424
314
170
157
368
355
205
445
917
203
677
173
177
68
908
121
820
874
447
479
3
307
611
982
591
722
682
756
32
370
942
818
995
29
200
723
316
418
464
293
12
309
467
705
517
331
746
320
408
484
439
117
601
854
840
655
291
352
920
732
854
724
253
365
477
843
284
246
555
810
59
931
801
26
856
787
491
669
549
797
858
323
6
637
906
575
387
676
253
491
567
813
662
725
711
685
500
281
991
4
636
784
495
988
164
737
415
71
962
425
981
646
798
500
896
78
336
230
946
941
156
932
746
613
973
569
405
809
336
725
811
800
419
371
35
754
495
685
504
694
687
676
951
181
244
538
161
423
724
104
128
260
613
129
34
504
775
324
610
181
30
156
397
122
450
205
601
743
445
138
25
972
616
826
33
938
228
348
397
517
163
674
423
711
750
909
750
756
541
116
681
414
987
365
480
351
542
500
293
390
299
686
43
786
207
398
142
768
354
195
241
74
265
940
825
781
965
118
444
606
617
182
46
761
767
277
149
971
287
493
978
213
383
75
686
847
820
283
263
443
874
648
580
816
181
549
386
323
534
213
466
382
548
675
917
518
811
184
447
312
39
432
337
727
932
54
497
439
101
824
859
323
357
862
326
852
872
528
72
175
913
482
184
741
910
152
35
995
920
218
846
327
247
417
129
121
726
392
474
979
138
875
58
176
698
608
760
828
736
121
965
916
487
95
413
98
689
259
516
99
621
745
429
126
674
265
205
235
893
294
252
11
547
511
910
782
145
529
554
883
838
976
131
892
637
385
95
577
358
78
871
380
836
315
117
195
766
545
756
963
886
725
126
153
414
290
375
805
541
355
517
253
683
169
23
868
659
123
246
136
913
791
897
806
69
999
430
904
13
602
981
229
918
731
620
703
257
196
388
552
227
732
468
929
194
932
172
971
114
195
799
651
732
374
792
552
522
552
319
81
409
4
623
379
728
226
487
335
832
986
488
740
365
528
57
499
353
654
430
275
609
624
686
979
799
946
268
580
718
646
963
930
392
128
423
70
184
718
396
822
450
997
487
803
83
14
755
321
166
32
213
787
846
29
754
844
978
154
257
630
459
340
295
377
944
525
557
353
347
534
621
608
915
663
755
24
787
160
428
829
300
103
863
545
252
878
198
575
808
240
20
974
284
391
685
965
771
508
921
858
723
761
779
151
192
323
671
590
444
160
661
649
223
47
7
858
81
459
114
956
258
790
639
972
232
720
341
515
156
213
136
925
356
494
484
72
211
685
97
456
707
27
258
851
964
945
818
914
550
523
994
709
283
300
280
10
716
970
124
529
209
928
679
240
926
438
849
42
842
112
468
24
891
214
326
272
842
334
794
341
600
739
344
862
347
850
980
345
953
324
374
753
17
582
761
674
20
146
535
939
91
391
369
553
611
944
463
685
643
348
790
220
784
585
560
6
744
67
873
824
899
119
940
598
12
554
90
214
543
741
577
686
720
731
547
868
709
996
525
702
535
28
946
985
188
530
160
47
738
139
425
484
478
761
880
586
868
422
969
240
849
69
78
919
658
24
485
515
585
319
609
248
381
202
139
407
462
545
558
860
631
506
307
675
921
596
355
637
261
578
55
176
435
205
5
615
532
397
558
195
719
816
263
748
89
151
151
511
869
166
169
616
449
97
426
784
50
798
579
576
976
752
2
794
160
502
337
313
371
299
903
732
390
353
991
119
713
26
478
816
82
652
624
243
187
341
777
959
310
930
131
344
996
830
20
406
487
608
205
248
521
437
481
748
909
227
393
218
900
100
510
484
991
128
356
406
128
495
185
16
165
213
529
364
663
30
582
815
632
806
217
341
285
253
170
444
471
809
824
619
586
922
99
339
559
143
954
910
884
688
345
460
787
736
914
750
735
359
646
902
48
965
54
688
19
20
947
53
923
355
717
857
616
816
763
368
357
761
598
615
770
647
150
381
394
627
136
862
917
320
724
6
741
21
904
547
309
71
224
699
625
132
561
298
971
276
204
56
70
310
61
472
988
593
491
447
441
490
350
874
248
458
45
620
729
118
867
179
730
101
251
441
57
234
421
865
101
918
387
45
813
867
482
24
740
185
999
704
487
641
688
529
578
909
112
658
468
325
878
766
121
556
455
151
652
478
683
466
935
225
553
997
567
322
143
692
646
156
617
405
737
502
367
208
180
359
370
770
19
334
298
976
379
395
25
327
56
292
521
400
425
916
700
301
933
253
148
226
570
571
644
450
659
8
142
16
935
141
69
667
764
843
644
18
441
443
28
144
778
92
235
674
204
475
125
76
371
662
333
416
363
530
436
582
507
834
897
270
967
224
816
233
780
539
442
964
590
820
710
158
626
477
204
978
147
178
359
764
522
267
253
385
60
699
193
401
444
123
963
758
20
654
589
924
11
731
6
515
960
877
329
95
332
17
671
365
145
771
622
678
399
887
874
109
870
932
128
13
134
682
89
19
418
928
8
441
639
678
83
199
491
619
785
400
640
146
97
52
590
48
814
392
538
240
763
268
376
170
23
980
364
235
295
292
56
750
371
336
723
329
574
504
939
408
367
381
660
870
290
826
332
60
665
633
628
449
442
420
149
924
667
810
158
579
308
139
679
125
721
735
979
712
74
731
30
150
827
189
407
967
635
616
674
889
751
556
286
776
952
166
953
507
70
390
778
481
133
136
163
992
559
929
69
143
962
844
839
862
743
123
748
563
854
874
366
954
340
352
700
312
151
490
975
870
278
199
30
83
839
101
58
712
353
984
408
845
255
11
74
74
790
240
619
53
255
986
456
554
755
465
978
702
832
397
531
410
850
437
921
68
71
516
599
419
841
846
930
925
69
723
222
782
230
884
384
290
421
466
935
789
612
795
964
899
103
175
735
814
335
488
144
273
346
73
336
235
586
394
721
319
393
601
756
836
915
556
397
127
619
539
387
785
330
726
218
190
278
282
409
88
519
868
207
183
914
487
14
768
1
955
864
310
943
747
316
949
172
953
553
84
77
925
430
867
270
514
7
445
193
446
248
664
92
194
282
808
355
685
912
484
171
685
317
433
330
320
384
173
947
372
289
546
320
117
881
766
726
885
313
646
371
96
976
261
801
464
707
43
444
292
42
872
64
373
52
147
76
912
774
572
39
881
436
902
680
329
616
131
531
49
198
999
866
356
500
624
555
362
993
50
452
864
329
533
725
502
607
762
54
978
744
247
315
953
40
365
374
451
35
230
906
307
369
116
351
348
255
109
49
0
379
787
298
804
845
280
280
434
932
722
181
675
581
658
278
60
946
570
289
2
768
176
633
807
220
247
861
703
768
311
650
604
80
959
200
934
14
490
51
321
932
307
288
97
106
481
977
829
256
792
340
280
34
94
767
667
771
644
166
762
539
792
335
463
761
531
379
143
787
181
537
178
140
726
742
351
705
760
945
799
129
285
502
482
825
408
737
73
784
167
71
105
502
478
364
461
369
761
165
688
431
827
739
265
184
951
34
127
423
733
745
247
872
440
575
834
489
69
447
254
916
563
472
641
500
234
252
336
920
988
597
410
721
782
698
65
585
43
573
298
706
155
11
240
291
830
498
860
625
777
835
930
522
44
32
518
989
663
329
856
917
801
534
464
853
615
427
557
371
572
937
607
869
396
275
701
842
836
510
504
741
793
105
238
148
233
403
668
975
882
902
509
549
73
415
328
751
8
136
700
810
802
659
306
932
740
50
242
353
338
815
548
141
764
215
578
427
31
605
702
948
513
155
209
437
650
915
389
162
737
47
956
192
949
952
45
254
47
808
337
794
290
524
796
145
942
561
298
57
281
763
609
916
659
428
46
207
908
269
488
832
653
222
602
817
408
426
87
716
201
975
981
217
361
211
976
566
608
831
387
774
259
71
605
585
96
418
741
752
658
942
172
193
482
903
197
812
844
625
620
795
15
130
964
223
14
495
594
709
789
805
53
28
204
555
783
735
543
941
636
667
93
479
518
157
306
447
962
967
812
900
42
612
798
369
326
888
630
571
708
970
99
261
595
399
151
984
432
874
187
688
823
221
110
688
249
460
598
742
856
831
740
325
150
768
26
41
645
814
638
477
850
831
28
206
592
990
81
411
680
917
638
150
981
848
349
908
839
579
803
168
706
342
24
795
608
281
464
383
316
433
775
234
35
866
689
961
655
58
645
295
973
899
412
985
508
469
396
528
599
975
656
657
741
109
635
551
437
832
178
318
492
808
834
688
784
399
886
234
381
805
643
186
763
55
384
459
704
624
427
63
317
276
337
485
378
965
596
782
161
383
132
598
986
809
495
333
279
621
978
425
489
551
102
951
109
198
478
337
502
422
718
866
808
895
210
616
834
310
880
708
168
314
691
990
238
796
56
202
771
347
36
739
914
132
234
585
190
937
588
636
487
814
766
210
621
14
658
856
211
856
603
593
30
155
155
486
837
449
255
393
51
853
388
891
723
236
589
133
279
648
39
768
98
187
422
815
696
934
173
648
568
961
380
487
2
728
183
707
689
641
147
539
790
287
44
914
875
119
221
179
956
15
118
80
138
877
664
808
970
881
943
131
581
427
385
440
719
784
302
904
942
895
3
651
638
764
154
391
315
992
131
757
293
209
63
791
389
849
17
29
733
511
138
824
843
994
788
904
201
304
854
920
315
161
613
129
743
135
147
213
266
600
715
723
598
195
370
151
96
17
92
454
49
555
942
150
590
701
12
726
203
848
149
454
508
929
301
567
260
808
454
401
73
396
501
735
46
879
700
529
14
16
744
248
780
66
601
510
107
447
701
645
108
722
62
946
20
875
536
96
38
326
963
971
607
965
310
935
24
312
357
631
252
821
13
203
66
240
500
355
639
337
862
21
207
879
360
942
560
383
141
320
209
132
94
68
798
308
115
141
376
278
446
479
212
449
891
137
157
505
414
407
348
886
645
345
48
431
777
730
802
180
538
388
36
545
767
458
513
953
195
751
485
56
570
204
955
108
976
813
434
403
844
9
501
113
484
930
11
207
39
652
526
355
302
247
823
889
689
4
564
295
580
595
298
611
580
570
991
17
854
854
755
927
547
267
155
492
596
588
137
918
334
483
487
97
405
747
60
722
654
203
29
854
761
651
72
573
188
700
788
959
556
249
452
428
165
452
814
734
621
173
788
14
278
941
650
63
34
266
327
611
531
322
298
288
743
714
459
789
863
843
920
892
698
907
972
131
414
789
278
446
896
756
498
510
82
43
612
840
140
642
438
866
763
75
812
171
264
775
263
525
648
779
649
486
263
49
684
839
526
251
278
654
468
802
181
665
549
488
706
563
201
447
507
878
171
795
525
668
588
346
914
561
614
500
300
912
154
665
141
830
282
238
384
871
496
637
195
845
968
675
635
650
804
998
181
177
679
838
303
412
520
912
168
927
640
770
570
119
848
41
993
131
918
118
91
879
887
851
824
885
12
259
767
331
342
877
130
65
432
196
559
937
134
668
500
780
488
713
635
474
74
77
719
422
130
34
250
780
800
741
446
941
864
999
580
434
522
915
334
121
421
596
856
123
144
640
191
6
113
59
800
366
142
537
151
402
429
599
290
612
680
994
31
289
866
733
352
959
64
363
468
8
15
361
807
225
130
294
948
618
172
84
692
377
325
230
548
250
221
250
299
131
369
412
247
120
875
652
917
177
567
133
971
474
930
525
930
607
340
584
989
667
412
970
923
290
86
109
941
941
561
838
555
1
697
169
474
841
780
14
821
523
127
787
570
172
425
121
122
764
964
60
209
734
630
880
787
395
435
363
92
296
6
855
273
589
755
79
417
435
378
628
867
819
687
34
971
186
99
803
175
923
949
960
571
248
746
765
502
599
646
33
830
208
422
636
930
139
575
238
149
276
430
25
221
954
892
111
254
662
301
786
251
200
737
422
934
999
185
744
975
530
800
326
631
715
510
668
367
292
385
696
516
525
957
26
285
479
247
668
250
972
839
448
933
418
137
106
347
203
351
226
114
328
198
657
867
498
964
319
459
147
124
571
0
832
984
846
878
903
491
506
483
56
784
970
939
772
115
405
261
507
9
691
837
170
982
812
811
803
8
163
170
807
899
505
617
242
601
149
682
709
810
368
808
736
489
461
48
652
399
837
900
360
493
539
411
507
592
64
151
791
482
911
982
790
342
571
628
451
712
937
941
922
227
79
238
998
280
777
615
201
701
779
971
418
70
474
323
837
985
722
224
165
880
860
931
559
865
277
501
82
190
0
842
793
336
326
74
654
966
978
321
282
165
321
74
645
647
597
579
289
937
96
548
548
217
390
839
706
778
305
12
275
544
668
75
231
535
965
704
235
156
403
115
44
909
429
56
640
716
208
967
761
800
467
49
803
139
474
924
850
440
142
438
356
848
844
955
151
284
420
835
857
109
229
23
754
168
535
32
399
146
451
319
722
817
415
358
586
441
669
854
5
734
436
415
206
18
885
309
615
58
21
387
280
272
783
804
428
823
435
588
251
772
366
765
601
375
641
21
949
923
89
743
967
834
630
434
640
622
999
382
423
188
910
246
60
28
507
331
972
65
405
737
981
904
848
958
940
703
670
658
294
302
283
277
837
953
648
503
634
489
872
88
307
975
994
710
913
574
232
524
23
64
545
561
425
191
932
944
603
878
695
468
312
922
620
269
731
553
312
780
357
521
887
227
702
385
515
476
624
192
67
989
524
994
343
970
68
822
306
495
173
886
891
40
652
540
468
639
462
70
941
377
658
351
843
953
29
208
384
856
427
326
66
249
228
929
459
358
733
847
294
602
956
799
610
782
254
659
931
214
358
180
808
808
155
598
940
512
874
642
957
972
433
901
681
502
697
602
336
879
651
960
568
862
578
688
371
361
493
181
274
250
175
556
700
267
654
394
8
451
884
675
358
560
580
509
402
172
453
165
825
375
832
881
108
969
362
461
90
471
118
685
545
557
53
32
481
475
533
483
575
446
324
17
113
243
749
732
326
930
196
306
780
310
830
808
393
322
85
804
918
229
972
290
889
280
298
795
987
94
190
665
668
900
694
237
111
516
830
522
436
785
464
211
594
291
900
533
823
203
664
278
322
798
985
315
711
981
793
809
62
100
166
440
782
902
394
645
884
370
649
828
149
795
325
138
258
281
687
353
709
512
628
760
541
420
166
54
491
579
729
475
227
625
665
724
963
991
676
435
71
845
783
482
988
531
945
593
52
335
739
640
645
828
979
676
130
575
106
933
815
879
945
289
286
206
759
435
406
532
683
992
438
110
766
919
154
937
173
206
842
51
852
972
40
694
669
934
233
76
110
263
366
36
46
960
300
186
258
340
811
833
273
547
235
615
530
228
611
516
126
351
844
21
781
128
370
838
13
655
423
101
548
981
976
650
649
638
240
78
294
441
306
479
382
354
711
182
617
419
163
176
399
421
682
453
128
206
979
682
493
372
111
577
841
981
776
859
977
667
862
993
920
682
274
296
146
655
232
360
64
670
572
589
672
148
647
814
420
867
915
907
25
579
367
657
941
400
835
311
914
523
871
672
451
606
969
173
886
694
457
856
128
865
766
816
6
866
372
585
392
596
767
788
170
193
406
950
692
650
247
929
92
978
244
254
71
0
491
544
257
803
707
67
925
463
734
160
906
669
339
669
309
976
635
589
962
234
854
531
444
94
912
14
576
796
69
507
131
407
280
499
794
45
950
262
244
570
846
23
703
921
964
671
395
866
700
736
406
232
476
81
261
764
46
997
723
75
141
810
869
100
477
481
494
891
6
157
354
573
919
583
336
798
464
767
850
566
298
368
893
644
732
707
643
779
452
318
221
74
112
16
200
449
234
6
243
731
748
381
980
351
699
455
265
507
786
502
776
745
550
614
609
213
805
886
350
173
494
425
29
926
695
115
168
803
745
224
52
551
733
168
110
434
969
463
76
511
733
280
344
50
448
114
478
304
164
269
212
737
986
754
210
3
3
864
446
343
988
18
251
339
425
262
755
87
157
80
575
538
950
99
614
4
663
575
868
640
797
155
520
160
317
507
134
747
13
379
129
159
783
866
887
48
680
303
494
396
935
284
128
159
944
874
892
337
994
423
326
878
971
710
330
435
505
105
129
486
407
471
40
292
987
987
99
657
300
470
997
470
696
470
469
727
229
370
734
540
435
399
606
53
571
511
700
369
20
828
356
926
955
129
675
583
173
224
244
225
250
566
374
674
487
998
407
7
338
943
886
889
216
592
200
775
871
198
400
837
118
945
497
4
378
515
823
583
323
943
366
65
68
760
400
961
204
532
140
725
661
564
854
623
702
622
539
349
534
635
681
895
521
503
377
626
72
360
132
234
794
378
828
870
352
4
573
958
468
512
307
106
555
272
133
75
805
212
646
724
357
270
606
477
157
227
407
368
77
336
176
780
126
302
976
729
607
205
962
467
261
16
98
226
221
859
396
486
779
452
8
237
847
955
628
956
371
370
130
167
342
939
932
994
452
370
481
752
779
418
61
983
762
149
173
610
85
254
730
469
699
26
528
545
5
26
554
419
862
565
795
236
86
840
66
847
88
424
238
862
398
889
897
64
995
885
165
725
283
742
950
760
560
205
468
546
536
90
227
472
245
689
854
808
558
381
587
325
821
189
448
345
345
130
909
283
647
958
923
898
716
51
724
388
497
290
693
436
489
661
178
709
615
191
68
653
29
422
288
636
716
222
155
923
810
501
341
627
646
585
40
86
855
595
229
562
630
460
451
488
498
360
478
809
437
799
220
95
964
732
701
399
296
701
766
874
176
731
699
877
324
230
14
625
88
254
913
182
687
410
494
128
394
847
967
788
275
803
215
671
769
91
406
213
163
18
354
633
900
387
590
355
725
179
672
813
703
163
789
81
925
446
851
755
333
339
661
850
832
828
649
494
380
320
614
519
12
772
904
686
296
44
760
542
680
647
579
128
483
151
436
810
798
920
666
982
805
407
93
167
826
366
524
95
962
686
133
124
549
879
414
735
270
525
7
660
432
512
516
713
799
99
802
118
216
199
296
556
493
818
125
667
513
787
35
838
21
419
598
620
456
597
650
852
501
604
122
354
131
121
422
390
555
431
751
33
640
512
856
709
361
642
510
698
256
126
478
517
157
550
957
853
639
615
89
560
177
961
23
438
813
677
518
586
961
648
160
791
794
117
174
171
551
519
25
720
584
498
577
270
709
54
729
476
787
596
459
148
262
75
878
439
706
260
99
669
48
331
589
735
57
452
855
600
50
220
520
702
739
420
633
453
95
860
181
741
133
646
206
954
166
109
686
601
559
535
867
515
418
846
342
968
188
302
934
12
49
722
133
766
206
748
281
23
78
139
925
71
913
222
527
842
707
222
842
605
542
189
486
591
234
23
879
823
949
106
926
245
981
319
627
17
63
458
157
505
19
801
586
638
831
851
706
641
815
194
916
401
710
600
231
818
227
751
496
25
126
206
672
914
662
736
824
787
979
527
120
817
125
681
888
553
177
902
705
788
765
791
866
245
686
868
367
65
596
481
421
503
367
820
554
979
935
49
563
461
246
644
569
850
276
76
896
606
773
735
554
96
399
833
225
16
69
858
879
185
892
227
231
827
614
192
700
165
505
990
866
122
637
941
9
1
745
973
389
90
240
92
863
333
353
489
551
964
261
387
422
97
221
191
718
683
407
109
888
59
154
679
761
152
163
892
639
931
233
354
373
52
79
466
742
103
250
685
795
630
587
654
947
260
499
981
572
143
432
191
375
618
150
921
973
493
683
537
245
16
233
456
908
163
79
246
136
231
966
420
852
428
360
385
452
949
718
695
477
852
270
542
680
282
616
60
101
758
608
881
829
918
799
176
216
97
801
139
378
589
291
486
649
801
590
920
704
690
11
828
702
92
316
120
926
883
773
143
492
777
604
21
78
718
608
425
912
65
478
791
259
247
10
880
705
6
545
388
360
815
676
761
52
206
670
899
306
591
819
642
471
790
197
668
249
392
231
435
713
343
420
718
691
425
626
700
900
561
996
365
411
96
362
264
318
766
969
188
986
264
679
174
50
664
169
628
225
810
591
401
914
895
338
402
457
515
909
539
592
511
52
203
973
236
62
312
947
723
381
767
267
245
929
247
414
471
498
266
96
185
681
753
641
655
786
281
966
151
64
356
320
646
967
269
782
5
214
509
646
89
417
705
906
21
75
38
730
46
5
172
278
452
716
461
646
977
794
684
865
583
961
640
841
99
416
457
44
690
114
839
293
739
365
531
738
110
760
77
613
474
500
34
488
48
367
282
437
85
685
77
690
715
680
800
769
483
525
964
985
241
881
763
705
126
721
904
621
572
298
279
61
319
574
255
779
437
926
576
489
692
296
894
107
812
455
508
208
339
443
980
512
84
255
464
554
617
630
170
764
997
124
665
357
150
248
145
966
938
808
432
99
266
523
873
88
646
414
481
745
406
108
932
736
89
760
710
536
152
466
251
743
755
53
245
866
906
822
623
623
328
963
526
878
962
315
143
945
614
845
47
738
557
174
907
550
851
905
137
115
797
72
72
307
411
678
99
758
425
967
733
663
349
311
274
443
699
337
787
212
21
235
407
239
855
865
684
854
154
600
323
563
618
857
379
352
997
995
429
212
178
707
112
496
68
168
155
514
569
370
213
206
290
749
138
104
462
552
917
16
748
37
796
421
853
927
969
361
971
554
937
211
211
85
145
789
8
541
345
744
35
641
452
949
913
990
212
782
623
13
487
186
751
631
79
760
249
211
650
294
982
385
630
206
486
958
14
76
989
549
218
504
697
807
79
254
907
244
773
901
847
555
131
82
76
84
548
5
364
907
591
320
353
308
667
280
81
716
156
117
821
734
265
962
365
998
790
142
210
289
262
507
936
598
597
131
116
214
835
66
938
528
803
244
915
147
575
822
807
1
343
379
485
684
65
352
913
708
634
188
576
814
971
789
584
397
420
241
446
48
43
200
956
179
639
122
248
980
286
14
424
766
901
214
490
556
622
802
761
827
241
480
354
84
116
252
417
406
860
727
799
978
486
150
760
661
708
242
598
342
69
966
279
981
214
422
604
214
377
708
357
844
476
153
326
763
418
387
166
367
317
344
757
544
999
790
670
47
201
930
859
62
571
409
145
78
688
892
31
159
730
565
488
665
94
180
675
156
198
158
626
633
770
698
529
228
399
936
642
129
732
803
744
907
212
53
647
932
704
277
751
514
229
471
356
442
226
138
259
207
510
522
354
220
126
17
628
470
236
528
14
874
737
520
474
553
165
217
245
347
821
927
206
156
14
415
254
707
238
131
573
222
448
525
261
481
678
975
233
647
734
692
657
4
200
334
508
445
89
473
148
333
927
275
239
765
298
462
891
196
979
596
578
730
774
680
769
984
237
407
661
129
136
637
941
905
710
987
295
455
114
197
958
632
715
407
375
94
400
329
512
394
50
762
819
32
332
496
196
424
562
735
476
729
858
974
114
666
218
508
894
411
915
902
998
599
259
488
780
821
27
988
942
876
474
339
85
803
29
642
172
722
389
709
801
763
28
969
715
800
579
752
307
958
870
813
904
325
936
923
178
888
527
615
597
16
789
850
352
909
937
786
521
308
26
755
42
645
313
793
451
329
151
387
560
770
595
103
679
728
789
968
182
218
875
527
523
999
717
547
484
715
818
997
262
764
518
691
261
988
583
432
702
233
852
129
906
431
712
402
552
821
163
657
929
774
418
497
752
790
7
733
229
688
789
117
451
706
816
82
90
778
666
244
652
848
470
891
667
765
837
481
515
210
515
299
350
368
123
682
37
811
449
289
202
318
497
889
278
891
871
212
33
308
480
86
802
945
670
715
878
135
181
403
388
237
354
826
380
624
206
198
170
873
169
863
709
809
51
370
863
750
604
969
146
677
929
365
34
540
666
550
723
609
413
348
576
203
921
696
239
733
669
483
641
284
79
416
160
680
920
725
736
728
892
920
913
733
878
599
621
26
691
931
551
134
203
263
783
548
108
16
203
251
889
980
769
516
197
867
430
490
637
450
911
767
626
255
216
615
734
826
88
739
642
843
754
102
839
693
263
609
693
981
366
199
114
606
552
11
849
197
483
802
293
680
505
191
847
15
390
989
315
185
993
241
39
534
946
916
817
31
168
35
255
942
889
548
580
817
59
372
659
478
985
812
575
710
183
642
796
519
543
59
910
38
415
771
816
208
507
883
201
348
942
928
775
542
746
289
38
172
597
508
426
839
898
778
679
417
776
898
583
697
480
458
950
942
584
838
416
115
342
0
433
695
715
113
895
330
85
642
311
219
326
946
544
107
73
711
814
168
748
806
536
665
664
298
708
952
724
180
604
986
245
965
247
73
953
999
219
512
436
323
487
961
384
548
607
108
988
610
664
11
406
436
391
810
849
917
389
696
971
462
112
546
9
699
384
212
882
500
388
882
755
176
51
224
913
754
261
656
398
630
466
778
109
619
595
906
420
150
232
291
49
654
675
610
151
867
878
292
150
763
364
752
439
825
654
229
651
938
76
990
469
696
125
850
967
949
874
909
526
624
656
992
878
123
115
530
905
696
945
94
270
652
767
874
406
692
402
204
892
988
302
130
618
52
642
624
302
337
992
727
745
363
438
600
946
143
161
65
30
153
90
238
731
241
302
643
657
284
949
760
258
974
105
934
895
529
726
50
45
253
327
298
255
587
170
168
803
333
694
725
226
524
20
127
512
112
814
971
396
364
742
83
772
442
467
182
846
461
679
503
311
386
661
746
744
297
160
682
933
600
823
233
975
464
129
299
824
789
771
70
733
411
912
998
222
120
772
193
407
248
753
117
364
166
881
537
610
714
97
745
707
408
541
821
476
648
968
705
284
274
492
64
226
121
537
465
65
704
842
13
57
707
914
855
45
196
372
249
178
645
358
821
613
958
714
910
945
349
31
467
549
122
861
131
281
792
334
298
725
665
531
66
621
157
412
863
189
280
236
317
257
203
794
646
576
381
155
742
87
667
526
498
777
897
443
336
105
334
19
105
567
270
128
428
620
225
25
275
100
110
688
579
167
264
945
228
473
647
919
33
931
74
371
390
944
165
117
493
743
811
787
648
33
222
38
11
64
339
18
200
479
625
137
481
400
38
576
830
534
345
353
795
600
721
495
820
179
546
967
232
781
338
559
319
971
997
794
745
549
313
297
209
110
892
833
8
390
720
833
140
568
465
794
148
819
130
735
777
860
523
439
225
906
892
681
730
104
356
750
326
465
898
559
447
772
534
108
719
24
374
730
608
758
420
909
784
506
417
232
117
420
807
879
118
653
392
786
852
342
505
452
877
71
881
919
883
3
329
869
722
827
837
923
848
270
911
481
6
68
973
55
183
920
680
689
20
939
884
442
219
270
658
100
167
403
539
793
406
499
164
530
786
920
276
53
661
442
639
915
38
467
655
45
873
597
212
196
649
168
527
714
478
948
136
359
802
685
797
907
512
972
800
693
219
475
105
318
165
479
60
966
229
652
268
329
300
762
312
706
156
204
269
407
224
566
89
345
598
173
956
813
617
976
639
98
197
818
171
348
480
486
230
553
160
835
991
437
308
236
478
455
89
331
980
719
541
30
240
196
705
224
791
511
339
60
940
373
641
11
97
383
165
620
680
305
237
701
716
741
511
593
373
704
61
580
838
205
552
875
391
816
181
719
534
600
28
527
290
235
426
701
685
352
440
178
112
969
375
710
728
167
108
363
213
963
828
887
529
339
875
534
838
241
339
358
358
693
2
243
515
534
75
694
807
111
893
209
402
732
580
388
846
701
691
263
989
292
698
687
69
385
267
371
418
319
603
338
410
233
294
59
478
399
250
394
95
432
683
649
84
84
642
885
427
800
976
689
823
691
194
217
655
104
714
568
160
410
883
353
488
541
307
508
695
203
970
222
54
189
988
749
829
152
919
513
119
483
423
798
484
436
590
104
446
824
998
820
446
500
428
171
454
556
280
132
641
891
125
769
260
384
860
762
40
127
863
732
592
605
586
79
873
717
449
785
200
623
764
462
835
977
191
941
165
482
475
7
374
550
10
717
948
842
351
368
121
0
348
717
879
654
729
54
820
762
351
76
84
731
792
239
908
563
893
257
826
319
456
51
889
730
295
432
660
812
137
596
833
531
781
121
816
209
588
503
877
705
111
188
581
79
8
70
875
564
476
710
300
49
774
370
651
860
376
801
937
88
599
638
594
743
3
995
648
316
465
932
358
255
392
13
3
340
101
996
132
299
514
215
991
472
509
61
616
149
373
140
265
650
245
67
318
633
967
287
495
780
463
876
609
385
502
76
814
701
729
825
585
572
872
833
894
396
816
565
487
569
89
808
602
32
806
664
62
104
294
60
567
570
792
321
107
630
158
549
391
378
999
963
748
378
412
849
130
40
511
738
981
12
584
189
403
588
977
814
297
479
815
128
809
713
656
372
320
766
691
273
721
593
570
862
986
16
465
218
60
139
111
269
706
995
61
31
352
615
962
202
949
168
330
147
902
609
175
935
826
702
920
437
155
506
432
295
300
399
204
787
121
832
447
675
726
925
813
235
761
591
601
804
969
457
86
23
509
826
837
421
546
74
982
206
724
888
674
972
291
145
186
845
318
138
570
402
658
77
520
863
394
877
943
332
926
914
143
279
435
773
619
104
306
76
422
567
62
489
391
610
787
8
145
171
7
141
522
353
179
940
253
364
221
394
550
193
27
635
992
131
583
290
428
2
979
155
931
70
394
257
688
990
376
946
675
42
645
283
735
747
473
456
798
882
432
313
60
35
790
948
607
707
853
771
789
989
617
695
570
656
217
814
841
467
849
219
387
319
963
742
857
394
709
598
302
283
114
684
293
536
152
413
51
413
680
174
754
360
99
131
123
70
391
99
581
468
526
330
846
893
950
309
237
551
648
550
10
796
941
602
917
360
811
927
50
811
632
542
51
727
627
30
211
329
559
872
17
198
885
258
237
58
923
425
316
607
386
585
158
289
416
757
868
422
793
592
827
199
487
797
88
114
247
664
122
511
444
602
328
90
738
914
277
669
227
591
645
89
915
746
850
741
7
38
452
871
218
946
247
883
402
940
174
530
154
494
591
565
895
239
108
793
166
775
17
620
976
838
129
936
832
945
897
122
224
539
26
864
618
88
510
713
236
292
713
719
51
940
418
939
686
930
178
436
625
539
69
115
219
97
823
888
48
571
940
915
697
788
997
389
493
4
582
952
842
745
362
911
464
299
631
963
697
485
169
392
621
891
663
825
189
957
289
331
167
331
931
128
397
587
796
697
77
110
370
264
257
519
52
442
447
751
385
599
924
213
388
766
819
853
613
983
426
455
208
102
798
322
314
520
555
287
931
568
454
879
172
302
837
642
817
323
699
567
238
315
469
631
935
780
841
660
247
92
286
719
966
568
449
895
841
257
316
506
969
97
31
689
670
391
265
83
784
152
883
202
855
371
446
612
348
783
328
721
432
861
860
989
744
507
768
824
195
172
78
344
504
452
58
768
14
996
558
454
145
706
119
881
513
341
830
813
733
944
352
409
662
140
902
100
651
159
881
114
322
881
389
615
747
607
674
511
486
673
977
469
783
375
755
444
248
793
304
578
143
682
234
12
36
958
579
834
767
5
557
818
62
104
113
871
823
247
485
695
749
282
619
308
335
60
456
734
953
719
816
946
261
178
442
73
219
67
380
653
607
478
200
397
276
790
700
33
575
49
522
709
407
546
561
566
472
867
264
790
317
593
713
389
701
768
141
78
631
926
738
525
166
401
457
713
912
691
491
173
821
211
466
740
135
936
101
652
199
449
525
473
458
361
548
743
121
972
250
806
761
235
856
668
234
715
554
301
836
667
529
166
587
147
230
159
920
855
521
731
121
348
270
165
585
471
985
793
165
142
404
129
765
110
169
887
420
716
823
194
613
873
772
3
841
333
698
547
309
372
912
525
634
232
435
300
904
154
660
67
563
867
763
969
616
695
560
723
390
358
486
987
342
234
560
915
341
28
528
410
730
78
720
543
186
341
274
600
365
30
942
361
869
747
166
152
219
411
713
632
551
101
804
548
726
498
687
683
96
709
281
890
201
206
195
743
728
714
925
444
882
993
429
878
421
204
406
856
753
578
402
710
610
601
882
483
695
300
450
283
85
20
691
697
280
707
281
248
531
5
810
5
943
721
738
100
343
807
827
556
32
266
29
710
893
205
237
52
615
986
824
519
948
815
321
9
175
519
379
121
886
239
262
648
217
37
580
555
720
60
551
36
404
969
638
176
317
462
83
39
171
791
142
12
275
288
473
362
332
150
625
743
518
524
908
688
5
244
116
553
180
370
645
640
177
964
949
391
45
437
571
501
221
456
384
593
690
292
863
914
339
885
456
24
358
259
848
97
931
848
957
749
34
952
251
570
56
70
853
434
661
113
897
367
554
563
115
205
905
213
253
452
914
647
991
179
9
368
330
700
115
25
306
316
801
237
8
895
515
642
984
642
518
151
438
28
185
79
301
337
84
177
389
928
961
520
561
498
815
496
400
536
821
335
965
991
862
254
304
529
860
88
131
597
550
51
14
241
615
561
890
368
335
418
462
178
368
636
338
887
823
495
804
882
451
480
767
307
140
331
43
28
258
701
588
751
817
909
79
344
830
252
591
824
954
110
584
316
802
874
759
212
254
156
183
416
878
202
112
564
941
627
460
14
104
679
121
740
157
826
935
519
143
684
865
158
64
502
414
224
538
581
75
778
526
590
19
38
694
783
834
22
284
638
117
232
335
954
727
405
771
826
773
422
190
133
840
211
565
560
443
865
87
557
364
121
839
968
440
240
507
289
245
872
215
435
616
191
974
154
248
588
721
69
594
291
13
144
157
273
707
838
919
139
604
635
711
318
318
512
210
450
615
287
115
552
642
268
909
795
594
284
785
565
51
945
825
804
169
354
202
660
843
332
823
346
136
383
775
500
76
117
938
367
208
815
463
173
698
245
722
37
467
40
321
550
758
937
184
219
116
201
306
723
719
920
735
618
362
290
717
274
133
162
949
642
648
566
998
7
189
215
659
493
573
908
215
1
502
254
630
222
274
719
695
0
309
570
388
74
720
244
562
827
713
404
248
322
99
706
717
190
719
378
581
628
434
772
977
251
280
120
953
435
673
301
128
775
611
201
203
880
65
303
283
128
528
61
356
584
717
773
315
822
55
391
45
204
38
996
977
290
363
976
440
102
815
983
63
220
468
85
636
854
510
507
804
760
108
473
569
600
79
403
687
874
457
266
365
512
638
304
351
24
254
796
858
288
84
921
400
54
845
125
805
104
768
102
380
194
118
758
488
959
414
138
200
65
317
281
796
30
378
726
979
399
57
346
372
760
783
164
188
321
784
454
606
547
64
310
720
135
56
254
79
225
735
854
556
554
594
962
142
951
53
353
819
247
730
278
663
917
310
412
896
405
333
873
112
314
970
918
948
174
508
502
100
313
439
519
882
881
689
230
371
798
265
449
756
742
532
5
551
571
19
205
672
308
394
790
683
837
515
999
608
403
469
392
508
327
642
607
58
656
712
99
506
541
809
616
326
509
65
131
311
373
480
6
748
729
553
957
339
952
809
908
685
541
888
209
512
238
566
92
934
10
827
484
68
22
880
0
601
593
923
927
342
302
145
706
238
807
611
369
198
591
652
829
73
207
656
831
53
844
474
808
266
339
671
192
826
669
399
404
613
190
565
549
429
567
728
916
690
262
437
930
100
520
206
465
126
45
838
430
377
962
898
742
642
756
487
451
64
953
824
114
760
584
215
950
324
532
312
38
839
464
582
863
646
362
276
288
854
519
291
461
8
672
106
577
976
421
340
870
851
1
873
750
917
578
270
771
203
464
173
770
114
360
755
191
189
756
65
417
970
227
353
640
599
31
451
507
265
421
965
847
75
888
170
765
93
91
175
207
155
489
303
268
406
922
287
305
327
395
343
817
677
793
789
867
679
696
56
988
634
692
911
138
516
922
99
691
272
902
174
919
866
529
530
488
543
228
298
965
194
50
109
727
169
560
391
958
597
303
114
483
563
808
799
985
453
621
853
25
463
352
908
632
696
258
507
464
903
242
630
461
393
53
294
346
295
194
10
8
462
733
0
368
568
277
822
978
849
892
628
636
181
436
854
494
578
566
333
926
784
460
21
964
186
301
683
412
198
657
262
277
606
329
9
369
723
53
29
965
712
359
618
588
677
206
148
112
599
247
664
975
409
679
156
834
433
495
554
470
534
470
871
131
522
992
951
107
945
938
505
988
448
204
280
577
221
373
437
55
34
949
637
298
268
489
153
246
491
85
592
483
474
552
711
767
756
18
445
132
302
630
64
22
219
260
860
142
667
1
385
197
983
337
563
516
502
197
920
671
838
721
561
872
512
602
712
17
781
994
102
353
185
225
505
567
718
152
727
800
26
864
703
175
285
383
470
720
750
680
646
931
584
485
876
359
773
862
453
463
790
949
103
946
640
424
970
850
550
980
295
853
952
417
939
524
696
210
680
566
825
28
313
495
598
61
973
890
87
58
510
712
744
420
690
882
909
491
255
459
65
237
371
876
796
117
664
234
746
726
480
898
968
103
55
535
499
748
918
494
351
824
150
232
728
437
632
866
892
937
993
309
94
180
62
767
410
435
540
351
256
236
608
486
559
230
97
23
463
910
546
115
173
134
165
772
531
845
394
951
379
819
755
513
721
581
868
98
74
84
587
869
344
686
965
418
525
546
413
160
524
654
601
357
8
580
166
870
974
823
235
735
276
533
748
784
188
312
10
843
19
125
67
118
919
311
403
192
840
858
510
894
525
243
251
344
594
383
315
628
921
564
480
10
297
951
842
557
349
638
536
956
65
141
288
831
170
232
838
445
515
316
519
543
334
89
846
515
788
307
54
919
652
370
402
400
486
799
195
892
57
734
921
639
604
31
550
65
509
788
699
925
774
83
73
25
874
81
95
544
435
383
42
34
599
646
784
64
345
306
143
704
629
919
467
692
734
902
474
156
705
158
153
989
144
921
365
25
517
140
766
221
194
349
424
185
532
409
602
264
529
357
316
668
409
765
678
177
261
78
310
242
855
834
255
595
802
194
316
392
394
197
336
913
712
0
398
509
686
106
513
285
620
849
845
870
557
558
317
925
457
584
511
798
121
143
378
930
288
21
669
346
268
234
882
318
382
839
220
984
38
946
305
385
497
293
712
823
455
912
434
265
174
722
240
799
71
142
482
602
678
337
213
263
273
744
17
622
992
108
561
179
96
298
367
171
535
261
22
511
415
382
56
377
698
362
549
82
881
693
425
511
606
948
410
707
523
683
699
542
644
558
526
842
42
929
569
807
187
620
189
560
682
88
596
423
744
951
41
558
383
534
197
376
149
948
33
420
430
301
117
389
36
794
992
104
564
202
99
988
987
845
217
372
28
454
79
208
94
124
750
77
856
775
302
208
383
140
554
723
656
293
289
309
748
667
419
848
776
647
469
87
694
10
530
809
407
849
709
574
545
953
194
66
128
913
813
51
509
652
452
27
856
725
269
748
225
662
721
427
652
406
62
634
915
26
69
992
66
721
165
150
927
930
113
949
959
766
944
247
641
436
18
547
531
108
922
86
519
947
613
797
44
832
77
978
809
571
997
970
401
779
282
168
71
552
854
871
309
622
210
598
457
429
270
451
840
957
745
689
780
620
773
64
719
581
219
895
337
754
635
742
453
184
846
943
663
830
499
74
84
964
664
152
932
261
586
3
390
771
355
538
746
843
206
67
771
803
290
417
943
676
440
554
605
796
87
305
877
506
483
985
845
491
207
428
817
840
465
17
161
983
721
305
331
685
759
752
396
491
145
331
786
887
711
449
887
861
746
186
469
935
31
827
795
285
919
528
271
214
131
447
209
487
297
892
300
262
790
971
824
438
214
691
554
73
257
707
299
915
418
845
607
331
444
653
657
470
901
571
28
743
878
365
815
592
49
572
211
622
645
44
643
624
369
699
788
74
271
651
575
836
822
575
913
771
898
730
972
4
150
382
840
268
256
647
283
249
949
306
631
142
598
656
860
138
857
107
777
9
720
516
156
814
995
300
275
126
518
898
406
651
903
475
445
712
852
401
866
579
28
943
32
688
377
643
557
941
614
95
429
737
541
553
221
120
386
138
593
955
340
35
527
746
302
318
919
642
961
141
580
801
948
492
524
372
539
466
724
523
724
587
766
393
680
769
641
943
804
364
200
115
79
628
479
653
660
146
889
383
658
955
642
295
774
549
531
169
325
813
329
291
433
741
222
32
571
767
579
779
677
141
591
628
821
753
668
708
736
964
739
544
23
854
663
218
679
477
596
50
420
237
20
878
81
545
996
127
168
339
631
153
763
216
202
363
492
62
682
313
963
782
870
647
170
939
763
447
447
191
413
198
387
969
708
347
675
149
382
529
314
351
271
624
624
686
607
677
666
38
494
934
986
624
984
634
223
221
518
619
83
248
11
655
661
762
467
655
23
29
971
112
909
443
774
216
252
297
149
974
682
671
783
713
49
175
979
904
600
842
875
951
64
265
893
71
252
887
37
845
137
561
890
203
974
122
667
695
408
397
48
935
796
325
211
815
513
753
266
382
322
126
253
756
141
603
127
94
722
109
356
249
11
598
357
763
450
215
242
847
559
652
95
761
748
234
631
979
374
926
817
110
211
651
22
364
491
254
655
220
851
697
848
644
362
907
74
299
84
457
573
966
248
58
313
973
384
76
542
899
286
680
146
655
307
380
426
128
975
201
546
268
788
512
428
451
694
36
953
80
711
406
654
577
131
272
685
109
513
269
294
486
539
299
854
465
110
851
277
86
683
571
283
734
473
710
623
356
655
837
665
628
315
660
888
407
891
216
475
113
96
161
658
578
763
661
783
79
896
539
327
429
625
339
657
239
227
201
273
320
558
57
20
424
894
226
87
187
179
593
172
606
497
487
403
717
773
980
374
308
745
885
506
908
435
563
877
409
535
133
917
819
695
520
489
94
224
642
407
241
140
38
827
652
237
616
731
827
525
67
337
22
669
712
649
892
178
560
711
888
134
237
411
403
497
663
591
464
907
50
933
526
97
865
297
202
17
414
694
711
645
830
207
406
752
160
731
775
9
205
81
554
435
89
395
806
363
665
449
933
794
603
582
687
100
202
920
425
941
148
351
200
271
885
689
672
5
248
227
98
705
415
265
431
68
170
304
694
126
241
106
518
886
941
151
907
839
450
29
953
972
682
476
145
981
737
521
742
658
926
51
395
994
602
74
873
818
266
956
271
152
885
195
135
276
347
705
854
502
849
10
909
265
767
564
720
501
624
459
459
380
866
167
243
649
620
550
764
835
967
387
770
756
378
123
252
149
220
321
387
70
953
530
451
31
9
425
407
488
422
897
59
409
948
579
24
778
83
236
479
921
749
328
54
2
865
577
824
13
409
878
372
879
61
765
572
790
28
850
210
425
389
321
772
589
670
532
772
3
739
806
899
719
620
175
717
141
127
363
708
249
951
719
632
75
937
715
785
783
30
859
261
56
629
323
725
14
878
707
365
180
13
839
690
835
244
190
703
536
455
264
726
71
902
125
85
853
12
998
659
534
24
913
457
669
625
175
366
162
512
568
802
143
288
788
564
527
9
153
286
996
428
326
403
710
839
550
87
398
713
70
793
400
810
977
332
739
940
63
142
841
562
97
345
812
789
468
599
47
413
994
797
807
752
727
556
172
1
686
644
944
983
467
822
339
835
334
293
29
766
957
654
232
956
505
136
253
857
943
800
770
465
255
513
953
940
602
649
298
987
546
499
131
236
160
462
118
883
773
784
785
198
276
286
915
834
374
187
205
406
722
665
833
834
432
144
204
8
835
783
644
582
993
577
456
463
36
714
906
680
756
73
580
144
244
846
768
372
599
404
324
359
489
991
657
192
266
82
869
727
808
772
150
998
161
405
820
249
126
182
257
884
786
592
262
278
811
504
594
852
233
525
793
427
703
597
886
337
900
788
543
829
725
805
798
119
680
897
584
766
678
107
702
966
358
235
844
249
377
838
299
747
962
603
45
785
736
158
562
783
111
940
132
999
541
364
137
102
741
100
278
760
196
235
114
290
703
904
694
504
716
477
104
739
134
894
203
207
775
489
759
749
921
35
295
567
334
687
648
267
569
859
566
266
189
277
939
903
499
875
566
249
528
914
435
747
566
517
526
800
842
817
403
117
663
396
279
623
210
435
840
81
483
717
291
282
838
349
172
931
292
415
628
979
91
954
87
498
899
759
8
94
591
769
207
905
30
601
751
686
413
533
70
527
216
118
553
205
275
148
26
413
711
218
87
418
178
701
944
586
519
922
761
166
26
871
797
351
335
428
445
509
84
331
583
432
736
231
594
8
392
807
551
22
391
470
749
396
644
78
316
787
31
569
65
96
887
449
469
83
889
373
174
128
649
91
593
369
312
500
52
254
431
236
557
347
159
325
624
37
296
166
310
219
809
335
358
945
427
946
169
252
11
514
718
426
87
563
303
487
308
369
722
292
963
457
216
940
931
183
808
769
405
138
982
648
491
528
483
884
553
422
899
532
691
628
158
474
979
313
976
43
566
547
942
312
258
834
681
567
449
883
763
359
4
383
757
166
909
77
640
39
28
76
904
170
979
876
76
764
930
673
53
570
485
117
157
563
811
146
219
546
394
331
16
38
256
115
146
80
269
270
921
197
568
206
727
374
166
281
503
152
885
178
571
111
49
12
888
286
957
503
368
957
306
854
876
874
425
455
697
413
193
122
987
350
401
981
731
276
373
558
868
747
393
577
473
161
644
272
627
947
190
729
122
17
216
929
357
905
502
360
688
524
414
834
935
401
193
790
850
399
885
969
67
354
53
674
12
168
272
726
420
62
384
393
31
48
228
362
791
63
599
915
542
936
239
107
820
575
165
50
319
477
566
966
805
496
150
117
808
619
524
351
699
485
898
185
429
481
356
894
783
500
20
377
785
886
533
330
775
788
447
820
522
400
882
690
202
603
278
648
60
626
404
510
607
629
279
962
122
60
617
756
659
859
126
358
652
849
875
516
180
49
264
833
673
782
900
110
225
476
864
915
433
537
46
35
520
263
90
793
344
100
754
696
624
590
932
682
544
810
588
893
624
393
591
282
990
901
521
317
190
621
104
95
168
64
587
626
367
271
618
733
56
907
655
788
457
527
801
779
847
692
691
805
882
882
768
354
139
181
811
422
981
313
681
785
783
457
465
183
234
12
40
230
84
160
112
565
287
632
680
396
869
227
441
993
187
5
339
528
167
704
765
5
426
157
946
491
183
274
952
779
60
571
769
981
278
202
54
421
816
210
876
204
738
916
931
346
779
232
143
992
101
643
691
439
526
182
181
654
614
166
278
240
209
286
331
985
464
151
955
27
374
464
364
332
220
781
807
176
713
88
171
637
164
115
637
41
935
409
661
333
90
356
508
927
526
586
997
566
591
539
927
768
191
669
372
75
874
116
585
869
609
51
836
498
533
625
95
627
51
163
390
79
719
830
208
150
838
479
836
263
719
473
585
598
160
245
264
224
698
818
624
797
939
443
347
696
422
734
285
265
824
674
448
566
519
863
926
282
19
21
35
171
622
370
595
666
336
554
774
252
386
936
577
137
249
734
614
435
496
324
232
360
696
679
931
292
682
565
159
484
245
76
326
37
595
143
584
893
201
219
429
611
401
521
450
896
907
415
500
606
133
816
946
617
410
226
672
652
301
818
128
438
569
593
926
389
834
50
576
204
983
479
241
432
313
365
998
366
697
251
677
142
296
867
690
308
2
241
607
935
369
520
955
718
667
75
527
363
957
23
917
591
177
495
329
397
454
746
259
642
339
896
738
462
353
368
15
826
486
629
13
490
21
367
527
679
958
459
495
568
376
779
723
58
931
916
497
965
831
716
878
318
106
452
283
842
59
869
85
616
777
917
545
608
523
979
541
100
155
424
995
282
957
415
433
420
210
86
728
570
149
244
861
741
660
881
219
289
959
208
82
753
279
158
833
836
735
198
246
120
765
262
223
902
114
850
106
142
138
835
701
175
828
986
197
570
783
25
443
382
134
958
270
440
853
407
63
287
295
509
197
505
101
111
222
19
126
525
123
571
718
433
214
225
200
455
91
884
877
49
837
489
328
656
825
511
614
299
710
853
99
435
605
233
719
745
789
434
493
891
90
994
680
608
522
420
843
228
442
492
881
923
495
312
648
746
662
252
575
677
508
941
45
368
265
982
575
217
939
719
701
60
952
69
806
780
995
748
27
425
979
226
595
611
431
177
726
181
952
173
748
308
468
450
952
913
500
462
435
141
376
856
233
210
250
947
565
613
535
378
774
883
47
941
432
49
746
440
332
557
776
659
698
219
307
575
521
565
673
186
644
973
151
533
30
269
574
904
38
786
489
214
780
794
414
52
72
791
431
196
995
878
895
855
411
309
693
127
84
941
603
348
224
521
287
917
956
294
467
624
264
659
572
183
488
481
814
406
600
962
307
304
331
319
605
929
27
482
872
331
111
783
435
977
873
640
963
120
900
628
152
841
352
471
310
354
377
922
691
935
732
748
748
405
172
757
291
274
668
176
871
365
945
524
316
282
400
633
899
370
366
641
216
532
821
687
201
219
10
947
30
66
925
296
168
418
156
773
965
896
723
137
638
807
262
713
275
42
562
141
734
275
479
229
985
167
554
105
668
449
18
150
153
21
594
289
386
98
643
168
779
150
266
695
86
118
55
195
252
650
149
989
889
737
389
869
691
129
661
372
954
428
331
455
44
878
881
966
215
138
0
931
804
98
490
347
271
104
841
796
548
68
723
502
531
835
253
560
753
143
184
950
579
354
665
400
857
555
949
992
102
158
393
647
315
303
244
502
183
385
213
415
324
40
217
709
615
507
326
873
67
406
391
689
683
394
981
116
27
864
488
351
189
726
791
130
877
990
409
998
919
945
740
506
113
570
802
339
32
73
651
214
310
876
376
454
334
28
6
76
422
455
712
159
158
26
555
583
840
532
892
863
223
964
795
861
303
878
226
759
831
367
748
866
198
497
612
741
423
554
351
882
136
633
222
998
3
678
343
588
869
308
698
990
169
198
348
424
25
451
59
550
377
475
137
192
788
638
885
707
991
306
682
932
449
164
214
186
877
840
157
765
128
802
762
137
752
375
591
480
584
941
447
452
632
602
805
893
71
115
36
108
624
114
665
585
317
909
137
593
242
397
370
981
152
679
701
998
895
465
255
619
28
536
174
351
439
575
870
725
12
441
164
128
465
713
556
706
202
931
108
384
302
375
113
211
882
982
857
314
189
332
844
252
251
381
101
66
607
772
341
243
341
500
929
767
293
596
177
821
181
643
527
935
247
940
947
336
731
765
197
334
262
75
935
231
430
813
664
641
446
876
586
710
649
476
44
252
235
191
200
640
544
130
544
158
46
163
261
492
618
589
548
339
296
842
262
144
217
298
114
466
647
196
195
968
770
535
737
355
214
537
439
217
905
406
419
500
231
413
7
368
331
530
386
890
700
972
781
314
540
616
742
230
605
546
147
902
420
744
897
202
531
799
122
721
53
961
539
818
308
250
906
540
877
276
96
790
937
423
868
962
971
297
362
978
392
336
964
344
214
571
234
141
310
212
536
476
142
113
496
239
424
385
30
902
806
639
642
979
678
303
100
450
861
370
267
889
729
525
684
164
554
666
528
681
359
339
844
89
73
726
300
571
507
781
559
625
893
191
627
666
397
607
992
887
255
55
574
496
351
486
212
705
982
810
963
739
360
216
728
862
3
705
248
920
432
258
391
628
558
197
447
257
743
598
900
493
860
529
301
544
139
737
935
494
696
953
212
148
461
143
850
648
823
134
496
616
162
527
738
907
113
422
5
158
467
214
641
298
2
791
599
989
970
332
597
843
662
738
163
690
620
580
424
357
867
740
595
36
253
637
930
541
11
492
423
829
254
692
920
815
291
815
907
664
894
317
749
912
42
238
96
227
340
931
687
522
417
758
752
475
346
440
675
603
387
8
302
734
809
891
518
612
637
869
961
607
35
45
148
619
289
750
762
114
370
569
939
140
405
608
273
795
782
336
206
474
478
865
978
350
824
865
175
917
816
731
307
794
708
852
40
435
281
228
21
200
270
808
804
818
314
429
909
152
708
310
911
967
657
735
914
863
271
446
142
342
556
517
641
862
125
836
269
845
557
755
275
95
356
605
813
974
520
216
781
914
633
358
597
640
238
901
260
341
210
465
617
936
608
467
60
174
941
791
340
25
662
185
446
901
250
488
228
861
560
310
658
902
161
672
200
144
914
476
286
484
872
779
147
387
206
565
26
279
905
897
427
7
748
498
666
848
182
416
680
817
873
321
711
629
148
46
137
965
913
224
223
755
462
7
206
871
584
675
754
38
488
939
134
256
21
328
523
324
552
605
507
124
573
670
962
400
874
846
319
745
752
427
84
808
426
410
531
445
429
604
646
606
689
718
761
157
104
191
954
759
957
186
775
852
161
814
600
158
363
217
785
897
944
820
899
790
183
374
993
274
711
641
576
142
263
116
952
128
946
764
728
658
270
348
714
196
37
426
505
467
170
305
476
639
505
229
764
210
291
157
941
983
630
313
914
666
794
462
607
511
625
33
61
188
520
371
11
411
662
319
317
590
686
832
514
641
989
509
510
829
720
776
287
250
127
509
102
916
348
30
519
710
875
495
909
361
704
222
548
642
85
233
378
303
934
641
257
218
274
13
298
271
16
795
419
682
272
598
705
507
357
25
460
355
486
150
719
351
351
352
177
261
501
623
927
130
431
10
303
188
938
981
305
951
383
433
252
651
771
874
471
172
880
795
362
230
890
988
699
468
680
323
802
17
89
170
384
317
214
519
522
779
497
943
681
447
133
900
353
757
545
178
427
269
781
371
234
493
85
180
90
571
487
457
221
823
451
663
255
257
358
784
443
766
901
941
502
460
931
658
328
782
70
293
751
667
989
842
696
741
546
352
995
944
808
762
315
854
575
745
772
654
211
797
654
365
171
8
804
181
209
770
739
345
775
782
375
5
606
451
810
673
419
257
903
386
244
741
453
575
892
201
933
31
754
330
882
778
128
455
911
106
744
140
242
372
77
746
667
81
358
617
366
401
693
555
848
975
471
130
6
39
329
243
960
628
675
804
657
443
382
38
741
769
220
46
856
939
18
679
252
490
573
299
910
649
249
858
151
199
25
381
225
483
12
789
919
184
401
48
306
985
831
926
33
925
32
686
927
782
529
807
730
286
134
208
230
680
81
485
378
491
489
851
53
768
967
239
331
266
427
145
683
579
34
583
47
567
109
455
494
520
822
926
995
728
220
265
199
321
131
235
99
169
922
526
815
757
788
367
370
200
206
693
433
766
682
754
313
685
724
729
341
738
757
660
980
301
939
54
410
635
885
529
671
954
650
448
892
506
220
173
957
341
723
378
747
791
650
600
160
132
687
110
128
632
263
729
802
967
655
131
482
88
487
618
804
22
313
385
789
238
466
269
843
914
847
245
223
82
31
721
672
829
228
53
170
904
992
882
196
538
266
584
327
820
889
292
430
184
949
527
466
112
464
646
758
252
178
144
889
856
966
38
177
507
50
915
963
185
663
220
95
936
781
532
326
199
771
935
682
703
659
470
244
39
610
756
439
385
753
470
199
645
180
584
749
887
775
957
507
84
728
486
43
277
762
190
708
227
235
447
633
281
2
835
821
627
664
125
900
316
850
44
914
369
73
670
26
479
362
330
751
458
507
909
522
309
492
77
154
947
511
985
929
51
900
11
505
466
358
987
361
45
499
423
620
6
31
856
639
223
998
514
260
936
381
517
563
337
638
635
274
153
937
552
519
547
157
581
56
107
855
657
59
200
164
174
895
507
405
594
426
616
62
960
528
43
955
891
238
280
5
875
272
600
808
358
48
7
220
676
213
223
179
162
426
812
938
897
512
92
16
284
21
808
204
442
306
343
555
68
743
203
43
589
424
607
76
224
686
96
76
744
500
543
239
600
262
23
103
705
834
107
484
255
843
820
661
842
432
500
395
720
692
575
338
442
268
604
415
843
828
641
846
44
234
67
26
853
378
903
69
964
31
491
896
108
587
594
507
241
304
466
371
892
565
543
45
12
335
284
393
594
356
766
546
530
456
685
430
961
577
520
907
694
893
760
431
584
506
488
825
213
278
254
846
495
374
43
731
597
221
708
901
754
775
37
171
93
742
354
958
15
178
847
64
456
196
148
8
116
701
259
637
54
21
441
749
591
799
821
370
582
685
288
578
745
955
253
230
5
423
457
682
88
717
33
925
510
858
299
907
784
104
232
813
276
502
638
220
88
645
366
610
292
340
722
95
355
581
135
369
51
999
647
998
843
566
937
449
307
104
322
624
245
285
362
937
482
560
731
845
941
320
939
326
38
268
453
333
539
213
24
174
1
262
202
159
144
139
311
925
208
238
13
38
958
458
271
881
593
97
953
911
233
325
328
44
576
752
404
439
671
64
517
370
813
619
484
398
317
624
691
252
83
629
266
504
309
772
112
419
363
651
833
234
737
597
797
52
345
156
613
184
249
585
181
834
969
318
188
487
383
243
679
49
656
917
571
810
458
946
200
423
211
46
269
908
594
56
480
226
77
940
263
911
531
147
36
576
932
418
894
245
901
629
832
716
969
829
410
400
702
849
167
269
137
55
570
677
721
691
680
426
518
915
677
493
366
88
7
778
304
586
71
436
539
288
717
42
138
226
384
227
473
432
912
87
356
317
839
974
913
360
221
45
320
270
959
850
3
657
587
868
536
933
377
661
363
962
731
411
772
898
793
280
639
798
188
717
991
521
351
101
568
278
222
243
624
46
432
844
961
264
621
858
479
960
156
387
580
435
149
491
953
45
471
61
581
394
90
17
869
131
232
154
769
24
919
125
751
666
869
387
827
456
857
583
298
899
556
663
496
734
571
427
808
813
477
510
93
396
857
454
652
78
428
310
443
106
551
111
40
529
308
783
787
897
163
328
873
41
509
345
773
297
140
263
793
335
515
923
12
464
137
897
121
144
505
636
4
560
808
495
189
188
471
789
590
602
734
539
449
503
757
924
572
984
753
823
604
275
714
815
240
842
938
911
620
681
266
595
619
731
318
696
589
476
759
486
385
635
717
110
532
632
679
692
730
576
840
27
136
302
34
415
563
27
717
928
551
586
279
249
43
159
859
382
662
686
318
90
95
103
765
650
698
477
156
311
774
316
175
665
470
515
917
843
432
631
109
993
361
513
294
15
241
968
650
663
134
0
245
100
87
34
163
279
894
96
906
378
617
421
683
407
230
368
123
715
4
819
763
527
779
136
623
7
808
358
280
929
597
208
58
409
242
506
949
546
345
335
922
935
145
54
860
284
735
316
758
176
267
18
118
937
137
25
745
621
81
933
421
352
937
595
20
587
709
27
290
873
113
422
198
153
118
577
889
101
149
897
353
356
961
528
136
619
358
421
544
760
541
862
16
463
884
217
206
986
138
635
18
595
142
869
685
727
690
232
725
896
995
374
468
19
826
641
444
437
824
389
0
625
342
909
108
572
417
170
633
264
864
908
160
69
965
942
853
351
105
112
959
820
404
322
929
293
859
221
30
195
672
667
975
722
139
246
820
156
650
295
431
79
293
255
979
813
709
831
68
990
379
723
494
118
20
956
147
925
612
768
571
589
806
904
590
365
112
63
987
875
250
984
311
599
576
507
686
971
991
621
53
525
487
991
40
784
526
806
398
85
912
201
957
286
435
273
135
514
348
533
770
84
148
783
901
998
691
449
174
849
648
713
681
641
595
396
341
495
908
414
661
579
776
739
53
792
875
421
145
867
918
758
127
900
170
114
140
537
93
467
256
966
586
743
0
805
510
986
304
662
978
499
874
389
790
6
173
863
112
96
559
612
651
430
122
391
728
463
737
677
478
112
462
697
757
738
950
233
519
275
470
102
64
288
227
166
364
821
25
314
551
741
311
142
64
74
195
279
955
367
850
50
620
306
989
75
52
498
320
200
184
842
819
225
736
482
40
810
819
708
433
668
57
170
367
440
555
431
966
862
74
47
509
936
215
560
913
859
939
683
789
812
485
712
888
310
706
935
752
963
555
212
8
617
368
326
254
914
682
522
299
837
953
930
842
864
511
15
321
519
770
629
745
282
487
913
735
952
667
42
833
284
831
219
976
78
237
252
673
634
513
178
400
992
208
981
378
990
987
65
589
89
831
38
737
859
586
169
377
192
263
249
827
545
544
635
637
610
231
611
110
365
694
713
30
35
100
910
699
479
907
582
316
142
898
290
873
283
694
195
664
219
629
566
512
594
837
74
293
447
606
820
989
916
939
836
887
741
700
426
616
157
783
151
21
932
463
818
382
623
445
775
336
338
1
810
576
625
700
912
461
945
364
462
837
531
213
773
324
531
298
702
693
148
342
829
296
64
640
287
967
793
746
684
438
453
843
804
349
418
322
137
811
221
841
51
164
441
877
230
938
538
617
956
936
379
41
385
393
122
237
554
57
227
670
841
554
618
50
28
26
844
880
77
373
721
888
444
775
676
912
811
974
365
190
797
232
567
206
483
517
492
808
995
846
53
948
212
675
9
443
679
857
729
598
693
938
259
841
62
189
49
306
511
880
76
395
266
496
345
640
196
12
921
2
260
184
820
612
774
585
166
557
49
175
25
240
221
943
762
816
16
352
278
793
165
801
840
348
24
895
42
20
837
748
199
227
642
564
677
566
161
656
943
769
290
931
885
517
897
929
966
848
647
490
510
782
62
498
423
990
9
76
844
741
249
559
261
53
662
517
445
582
171
127
24
521
931
694
123
512
221
204
838
197
946
697
976
335
460
392
645
521
257
758
349
173
397
686
31
84
502
991
653
172
68
520
944
581
80
643
926
512
414
379
468
348
757
301
179
508
769
102
327
103
149
29
689
194
525
736
753
781
673
141
758
796
437
769
29
529
715
418
74
940
501
633
369
642
961
608
142
469
849
452
920
817
307
742
663
969
264
159
788
170
9
846
103
266
689
368
731
446
86
294
347
692
857
511
172
128
42
913
325
821
573
271
151
875
969
998
378
428
422
585
362
378
516
75
24
434
348
367
462
917
30
31
726
1
928
667
742
679
908
444
556
271
117
237
529
374
649
91
182
863
218
361
288
927
70
304
690
85
929
319
567
199
357
384
946
257
473
767
216
267
661
268
446
859
145
235
78
759
300
590
590
306
945
556
609
313
519
342
793
510
838
187
792
283
781
508
715
803
586
359
63
369
685
569
125
360
639
824
762
284
347
893
872
340
752
782
562
392
964
317
474
215
933
828
3
796
210
759
634
169
497
793
161
843
226
65
891
244
996
16
680
51
301
553
312
518
173
509
890
601
452
479
572
782
646
943
431
545
613
945
216
822
405
710
297
972
136
426
702
147
397
454
852
685
177
66
916
290
504
971
416
0
911
369
978
846
560
378
133
839
53
416
994
942
454
682
334
610
636
421
252
712
597
15
940
517
172
678
663
553
954
387
468
791
206
247
285
529
73
509
275
192
464
859
157
552
945
588
307
945
302
380
716
736
474
61
735
161
190
881
925
924
932
933
421
510
783
14
236
54
334
977
643
844
428
726
47
72
85
751
513
234
853
969
713
632
182
995
440
772
522
29
872
887
364
389
261
391
106
464
118
599
941
400
294
834
551
927
595
441
51
480
854
681
531
345
210
491
894
695
19
252
157
765
579
970
265
377
303
143
465
110
32
257
919
858
404
709
767
480
971
530
765
396
246
653
966
994
847
871
708
364
333
240
199
840
677
279
555
966
819
633
503
290
454
270
797
883
720
858
797
71
485
498
20
782
906
79
405
594
6
445
871
367
327
900
256
931
595
842
512
793
559
379
564
754
162
434
366
58
231
791
251
384
781
565
740
873
431
27
549
31
374
177
70
276
801
451
814
542
525
4
552
759
119
862
22
425
330
995
546
956
935
986
177
29
897
54
144
537
699
343
491
863
838
731
927
434
348
513
161
79
217
309
872
689
410
769
441
859
989
542
715
550
106
17
805
13
186
381
107
265
349
103
736
534
563
89
806
529
220
521
76
774
762
17
568
268
152
189
507
290
126
513
363
964
724
168
703
299
245
462
628
698
575
387
129
264
593
789
350
373
880
401
561
64
291
5
340
198
142
964
192
339
93
254
914
609
989
942
477
695
756
217
83
253
242
779
921
339
322
734
118
876
779
784
711
297
274
176
55
38
754
530
527
133
673
941
864
114
143
678
978
946
414
505
925
377
465
963
479
428
122
764
943
40
591
267
859
398
200
400
546
498
622
579
761
762
295
865
665
914
814
601
235
352
266
548
296
591
935
138
352
946
381
215
478
471
165
873
59
167
905
377
706
148
953
599
954
601
8
963
590
302
14
808
48
556
499
381
243
468
77
453
742
525
155
413
104
864
591
925
276
204
695
463
833
258
397
232
562
832
657
95
194
435
296
976
233
907
516
55
419
233
360
20
907
453
459
790
461
570
528
941
631
320
881
646
701
560
562
397
546
221
44
14
860
732
535
534
274
213
217
418
811
577
548
305
632
700
396
389
553
646
695
925
627
744
59
97
157
988
652
641
54
992
757
101
507
132
413
618
385
332
64
115
406
185
448
304
864
184
588
318
967
760
986
419
46
226
797
679
306
703
96
544
722
194
841
77
463
866
740
185
142
957
527
349
917
627
38
860
251
344
215
443
603
736
161
927
378
512
911
274
282
274
417
562
87
357
70
598
45
824
924
133
429
866
161
245
760
434
941
962
169
754
982
217
34
209
261
898
987
637
750
198
0
3
929
961
143
940
505
300
443
537
760
613
767
672
144
996
483
892
591
723
687
325
330
118
445
603
396
205
997
739
490
901
170
826
505
606
686
85
65
139
890
203
463
350
767
270
943
702
149
707
177
864
355
203
489
625
122
268
330
958
725
723
75
187
397
97
14
221
204
806
394
708
333
263
11
901
206
971
475
104
871
778
336
471
451
818
404
162
312
553
764
454
230
355
161
117
132
56
749
691
677
737
366
487
329
11
660
552
217
585
341
913
634
87
712
977
727
115
365
240
966
506
165
895
298
9
700
902
975
37
785
182
664
83
154
510
188
297
961
980
956
708
516
593
797
791
831
719
565
884
610
521
809
215
536
56
66
929
261
207
330
195
982
540
900
422
339
396
378
708
470
274
5
993
609
570
190
685
815
210
267
883
998
666
339
126
89
29
810
885
721
177
846
148
28
653
669
497
389
75
586
147
848
670
831
999
191
541
778
874
540
117
73
88
151
952
653
798
89
6
841
882
673
619
441
441
475
87
938
489
152
76
893
823
951
630
951
444
922
774
104
830
745
484
376
594
474
805
730
532
981
324
433
23
205
23
274
911
264
553
79
611
57
305
485
540
93
509
572
580
482
960
978
105
862
875
977
500
361
240
356
85
912
992
708
533
447
713
295
31
891
108
489
283
19
441
915
5
238
62
879
518
941
334
187
507
37
804
257
13
814
180
292
73
659
382
856
489
978
95
545
940
575
509
515
324
593
831
170
745
32
966
837
422
181
248
25
474
568
598
973
844
829
810
245
581
28
670
115
128
495
249
203
995
920
910
673
249
12
454
760
617
941
546
212
866
397
60
286
528
883
384
859
677
74
509
349
763
518
730
315
108
466
933
827
781
361
669
52
155
841
77
183
872
743
877
694
341
773
950
554
29
862
718
263
706
235
831
490
478
27
33
130
51
555
26
593
492
268
547
954
98
307
933
775
142
4
111
334
948
714
384
62
687
377
952
841
850
37
454
635
340
936
99
331
53
644
954
459
669
759
945
77
707
391
667
626
267
546
86
334
619
863
942
948
914
530
404
247
763
160
173
849
470
896
451
470
468
242
994
79
854
188
34
375
928
5
213
564
404
848
140
212
834
509
13
911
556
687
589
471
275
501
831
868
289
261
613
195
690
784
531
685
856
495
237
995
579
592
972
554
299
314
921
198
376
753
383
555
918
331
524
232
371
862
665
904
748
944
434
995
839
445
204
785
521
135
261
304
500
425
229
510
605
552
556
320
985
133
991
370
67
613
351
757
766
944
447
985
912
934
907
356
125
98
311
75
714
797
506
598
60
214
69
79
51
318
993
399
911
459
369
792
80
908
609
102
181
870
92
721
250
254
296
948
144
509
808
721
423
587
272
874
936
270
877
864
460
112
812
693
90
295
562
316
782
366
922
108
477
122
687
700
276
418
299
852
134
105
658
156
924
657
216
85
981
43
736
768
952
758
669
236
309
286
794
658
500
527
674
986
651
341
544
610
177
10
150
903
787
552
229
916
211
32
0
497
889
379
818
251
234
374
370
750
893
754
287
531
501
288
510
922
198
440
657
757
163
716
992
274
81
553
434
870
712
119
663
608
602
656
759
496
461
62
252
375
693
942
928
895
360
95
882
395
471
782
216
670
831
557
399
897
244
690
261
687
855
518
423
873
997
389
862
338
10
480
891
49
874
979
972
750
877
113
552
224
943
448
333
802
843
816
217
852
561
756
100
251
849
100
485
803
957
583
804
996
510
256
556
988
541
784
719
625
117
988
689
119
244
396
821
93
917
459
569
573
116
22
106
129
266
450
10
246
545
723
191
333
844
734
190
274
42
238
308
461
711
427
383
164
141
516
459
958
591
783
643
892
861
758
921
683
933
886
49
237
284
155
796
842
440
126
378
906
923
4
768
824
561
485
576
711
954
883
49
657
956
604
135
24
779
452
876
206
261
552
797
340
888
604
425
821
938
30
344
137
618
217
864
918
212
995
250
672
513
627
212
300
994
410
859
676
983
193
467
73
113
633
714
174
180
530
360
78
507
95
131
901
447
398
499
706
11
984
916
350
310
140
78
725
218
732
202
914
3
489
522
117
869
974
365
766
187
300
622
932
3
676
557
334
331
349
132
310
301
58
530
757
410
296
880
793
557
795
781
589
408
906
47
461
832
576
271
61
876
722
409
617
756
807
28
665
295
184
249
579
192
310
778
461
506
46
557
63
169
957
140
642
224
801
506
191
620
335
117
474
761
170
833
629
645
913
43
212
203
646
54
540
398
713
430
698
195
951
782
56
493
758
258
882
166
126
241
758
610
504
459
813
284
311
364
610
177
17
685
248
73
414
460
623
446
371
599
446
660
700
447
541
341
805
57
168
378
748
460
920
848
961
804
730
427
197
941
916
470
290
461
489
890
669
101
785
200
432
837
903
660
117
531
486
631
734
951
501
593
387
437
576
203
981
889
836
304
339
212
669
114
393
146
742
3
144
85
682
269
540
741
465
769
368
768
420
113
820
682
597
455
803
645
666
597
244
580
520
448
433
312
808
575
852
810
222
655
880
492
517
628
204
544
385
496
296
214
140
669
785
991
771
890
730
498
129
861
220
826
26
862
736
200
534
675
802
305
311
557
42
685
305
432
68
493
272
934
79
354
931
21
61
673
659
948
547
91
234
206
878
283
202
297
901
996
356
770
211
375
296
312
654
430
92
623
818
260
425
234
476
584
532
337
305
65
929
547
232
74
724
451
131
283
179
942
371
855
310
269
322
497
346
253
751
782
108
808
800
831
641
718
217
812
358
194
936
229
901
336
402
530
925
659
546
249
301
1
632
338
995
382
43
776
756
474
181
836
330
575
400
175
530
596
63
138
109
486
787
589
802
756
533
60
788
247
672
713
804
228
25
764
414
725
234
661
476
832
972
356
458
503
122
967
135
137
218
416
384
812
581
628
838
811
427
587
990
596
729
704
245
156
792
357
683
382
217
57
56
217
876
133
986
678
308
338
700
640
339
887
994
531
932
766
232
242
156
612
312
349
142
632
750
697
96
812
650
231
495
734
931
886
563
675
557
169
764
993
286
5
578
451
418
331
858
466
178
964
479
416
516
469
271
247
181
516
287
116
171
783
47
505
996
485
56
15
247
325
836
42
492
636
229
166
619
999
802
598
840
592
463
325
223
886
599
364
495
687
935
802
624
876
363
236
486
59
166
737
868
639
979
349
311
507
258
273
246
293
6
405
291
889
749
333
322
15
324
889
716
613
875
397
943
713
900
311
665
575
209
355
738
42
838
304
894
497
491
701
224
254
174
757
292
773
655
744
746
117
436
339
233
282
553
864
399
742
115
692
455
364
667
964
687
196
961
315
679
863
149
527
5
44
453
643
85
917
936
533
627
273
733
725
244
670
81
616
13
455
620
589
659
954
66
163
254
157
601
493
264
478
846
29
470
627
842
657
718
542
632
209
688
885
184
617
352
265
512
140
52
101
65
950
136
702
567
509
500
119
728
853
950
156
604
102
481
396
428
379
795
448
73
371
892
460
531
743
671
120
102
628
109
133
778
267
622
516
279
213
598
146
766
834
867
188
159
103
594
184
322
796
26
832
367
183
399
662
111
976
528
281
3
953
900
835
34
79
224
144
779
325
60
368
768
680
451
617
566
354
46
635
790
880
278
844
526
944
778
701
111
190
642
961
182
101
369
550
473
207
289
334
680
678
816
151
860
737
652
313
182
126
888
362
638
584
995
922
126
950
938
421
290
169
414
969
22
127
415
926
489
302
452
514
605
741
809
6
873
263
346
511
497
787
994
358
202
582
754
391
475
542
445
962
303
857
489
647
649
316
31
89
746
444
552
186
609
349
14
261
357
101
596
116
559
496
411
626
889
21
922
837
332
381
878
119
776
615
135
929
931
342
633
560
236
643
12
221
289
242
123
883
50
570
618
439
781
808
164
213
23
394
136
120
367
261
416
220
31
520
171
14
496
276
376
166
575
227
236
997
564
911
363
94
760
108
96
177
979
1
415
912
200
983
441
151
921
62
788
607
260
577
205
657
110
854
210
101
157
620
845
351
412
605
926
838
153
353
698
815
54
217
971
469
726
916
375
415
688
20
353
489
100
198
162
905
997
449
635
201
150
653
924
678
517
794
365
911
378
349
422
58
775
471
599
280
899
480
247
965
636
451
166
909
568
913
915
800
388
782
322
861
471
404
214
66
244
150
713
603
228
881
360
571
74
585
872
733
914
908
259
482
564
685
320
813
582
518
744
856
669
615
557
759
203
10
306
649
874
619
659
100
57
923
669
808
824
432
84
321
61
798
750
947
943
642
480
36
880
233
40
516
368
108
609
911
232
956
390
929
948
51
855
810
125
766
386
682
61
924
159
943
361
794
927
767
762
538
202
101
27
502
547
629
892
233
827
75
466
251
210
564
397
809
519
677
613
714
415
719
112
87
453
369
982
74
678
533
303
526
31
751
813
3
87
481
255
70
315
488
423
398
700
881
749
296
696
82
181
640
105
684
829
411
277
328
210
256
370
700
706
920
419
161
893
135
260
93
119
572
134
951
86
985
101
60
334
578
373
255
636
630
738
416
894
338
470
27
616
287
17
608
626
737
524
440
4
518
883
77
197
693
30
927
351
398
95
983
730
103
52
359
719
310
296
329
293
809
501
728
754
456
770
283
313
999
112
45
671
223
833
462
126
873
83
678
698
252
957
790
163
173
801
225
323
791
70
430
523
571
748
254
709
55
488
76
360
742
561
187
276
124
183
157
159
481
973
951
950
306
83
230
634
797
926
155
542
985
895
169
134
871
741
671
201
429
819
191
602
167
445
761
893
246
532
331
613
74
723
241
480
468
927
401
865
104
148
821
967
391
137
216
211
729
276
349
822
100
286
726
921
578
801
755
245
80
498
900
961
711
966
398
552
375
893
674
243
33
681
793
45
440
545
698
740
518
415
52
863
340
627
419
811
744
228
46
621
55
545
786
639
453
43
840
873
988
372
699
977
942
685
935
979
907
649
490
372
486
444
171
376
286
776
146
599
281
929
513
164
114
574
356
634
629
179
931
663
399
57
594
737
623
258
378
94
467
451
793
716
179
689
357
310
386
733
757
719
719
211
439
458
651
500
466
889
154
738
909
794
732
156
772
312
765
251
109
231
378
961
845
659
809
614
205
901
296
76
233
796
393
132
857
366
433
706
901
465
163
501
561
188
679
43
467
20
725
388
393
297
490
888
503
949
224
727
221
663
72
137
865
737
590
375
618
901
107
476
45
737
75
735
610
677
30
405
300
984
903
784
129
340
396
357
496
248
548
54
223
56
931
171
447
685
14
34
619
226
15
680
730
397
247
62
517
822
649
655
594
47
913
149
488
908
576
135
154
629
490
630
299
330
341
277
204
567
734
1
982
578
649
827
892
78
396
215
930
940
825
554
262
874
602
873
44
288
590
623
264
720
495
735
973
883
178
980
182
245
395
316
722
603
816
601
511
377
372
369
253
833
71
762
438
78
414
621
438
498
622
451
623
806
888
913
792
854
722
877
804
676
436
345
47
378
681
155
14
729
77
698
22
568
634
309
205
888
460
554
625
40
7
697
133
731
541
484
304
834
329
876
228
942
57
412
504
152
751
594
938
702
794
102
715
376
565
969
452
462
43
50
755
201
306
756
909
649
636
139
761
28
292
834
165
971
882
438
538
431
698
395
836
228
191
384
702
476
761
591
238
234
965
224
653
455
738
786
776
61
418
230
895
344
978
129
727
529
962
271
678
381
408
57
708
496
239
923
66
39
370
409
306
62
360
43
197
569
597
653
955
439
884
17
658
71
679
725
401
123
921
38
843
848
542
540
517
558
17
61
236
710
882
137
139
563
267
589
609
577
92
522
789
687
413
145
443
336
404
31
647
812
875
931
426
600
914
181
857
735
614
473
852
395
271
349
636
364
229
600
465
490
262
174
204
907
981
375
788
216
660
484
536
941
202
850
688
763
143
430
206
828
612
596
216
498
850
381
74
334
324
59
78
202
979
578
831
210
260
548
612
464
239
829
689
369
619
363
507
338
189
833
833
452
850
95
313
20
810
980
139
382
657
514
378
189
577
406
231
407
804
125
737
38
783
760
372
446
525
986
133
942
47
564
228
419
734
79
937
700
898
848
492
894
980
275
716
993
946
876
591
193
682
152
26
119
796
79
79
347
257
529
185
448
852
419
250
943
990
720
302
390
259
503
450
569
579
476
809
702
435
243
45
627
322
156
971
253
634
148
1
948
497
568
978
246
752
346
177
701
141
603
635
522
999
795
875
694
427
137
21
245
673
520
452
593
6
172
45
776
997
146
777
576
93
68
79
965
561
132
962
303
678
903
986
567
318
118
469
356
889
375
123
296
420
198
70
248
124
773
730
183
432
392
470
105
265
352
811
342
763
762
217
689
374
402
251
165
467
766
104
649
678
479
935
733
613
552
773
511
443
496
301
705
495
709
177
11
569
888
248
22
302
815
356
821
82
827
984
827
555
851
702
509
53
326
295
107
248
307
430
206
537
609
946
329
369
522
284
750
175
148
412
4
110
617
600
185
66
581
927
177
748
161
517
748
657
329
702
458
454
914
396
901
61
993
621
795
283
1
214
278
303
579
747
573
983
242
134
911
474
973
336
652
635
228
794
175
670
688
856
204
204
594
107
570
959
879
570
287
558
627
539
115
86
734
529
711
238
187
201
840
107
292
971
193
684
87
780
999
867
954
754
13
38
553
578
901
349
772
373
350
830
993
807
346
792
967
601
653
975
409
119
171
504
423
254
434
438
9
756
981
844
45
806
637
957
178
815
296
993
223
634
437
39
326
781
15
534
3
869
586
373
297
78
55
124
808
374
249
976
161
484
892
136
588
464
553
900
721
833
732
302
111
500
940
680
482
277
271
33
165
658
254
705
53
867
61
488
72
715
284
383
375
273
17
45
720
400
7
37
304
466
972
416
924
537
648
618
616
529
997
968
779
482
548
549
245
64
47
34
768
200
327
795
763
332
853
806
760
91
360
96
852
24
89
766
178
759
562
211
248
941
406
463
551
98
891
747
588
423
45
562
554
815
436
608
127
716
549
256
599
180
850
940
532
202
50
302
57
637
907
835
878
946
777
88
752
923
647
949
939
192
370
404
971
469
715
989
487
185
84
578
429
499
799
517
431
715
214
523
158
898
830
917
262
26
295
102
450
709
551
362
142
877
608
378
305
162
546
861
143
489
944
756
996
42
42
891
987
85
399
564
418
339
293
194
950
362
717
170
101
186
23
563
670
869
633
101
399
841
292
773
930
420
390
731
116
841
893
105
465
395
645
0
145
768
22
620
230
957
42
972
937
543
48
405
457
503
320
55
296
205
638
615
720
626
538
95
910
741
608
828
338
988
420
601
553
58
990
906
595
526
418
126
185
895
42
936
310
451
81
864
159
61
667
518
733
284
389
422
387
110
332
369
81
346
325
720
250
587
600
624
170
541
203
687
530
905
938
496
382
653
281
207
827
133
766
856
736
980
121
265
450
169
495
634
589
82
96
199
928
34
292
901
960
150
196
570
691
827
404
947
338
776
560
175
882
155
853
913
162
376
832
263
649
656
520
73
248
800
434
193
280
677
826
955
438
36
483
278
513
935
348
615
768
501
554
872
455
563
971
196
776
445
95
195
389
458
163
841
815
299
808
328
498
36
98
516
236
771
32
408
46
423
101
446
189
326
464
287
752
323
350
896
112
951
235
156
970
869
449
910
421
728
415
975
811
199
922
152
90
232
860
726
444
611
284
37
504
389
888
446
642
957
239
579
508
426
531
670
145
981
650
434
36
448
864
83
654
880
351
900
843
894
747
28
151
7
206
276
250
457
207
246
840
331
623
274
881
534
532
110
161
857
393
124
56
236
963
843
18
38
801
240
933
521
708
523
159
821
548
998
871
73
42
779
365
910
402
852
298
77
378
857
461
509
472
794
978
215
177
602
524
627
918
6
636
90
937
728
612
615
810
507
914
742
329
784
587
504
695
662
521
730
787
283
58
196
949
172
614
207
955
574
520
723
8
278
479
886
65
175
221
75
269
286
118
933
389
581
327
214
386
605
215
725
384
321
674
178
138
468
644
216
992
414
355
75
673
605
991
633
54
406
513
980
560
80
206
307
197
607
980
313
423
908
1
606
410
977
200
323
337
638
971
219
71
334
968
819
750
732
111
384
151
819
827
235
254
947
824
531
281
967
28
794
877
586
772
482
691
414
239
411
694
350
975
891
48
610
763
247
886
533
517
399
591
156
78
877
896
15
348
412
251
289
314
389
676
718
34
530
387
984
447
527
413
224
596
903
309
101
332
683
871
211
968
443
349
141
875
794
723
993
365
579
52
262
305
273
343
334
93
787
90
267
186
260
420
705
825
602
113
706
354
30
960
753
328
788
214
159
675
901
933
747
677
258
462
289
706
835
950
540
213
503
387
329
673
446
842
963
717
42
611
4
949
218
671
908
569
272
796
488
442
802
953
198
481
476
500
603
166
667
136
879
230
254
441
791
912
588
587
573
661
222
613
972
734
718
546
674
814
866
550
383
156
433
863
305
705
83
216
682
360
883
897
191
572
960
42
404
845
565
787
272
609
48
994
188
736
608
78
601
16
886
280
928
563
210
758
229
250
118
76
239
598
684
223
292
99
956
424
244
205
865
197
751
115
594
376
224
624
210
669
228
734
602
617
483
550
454
630
207
462
96
926
174
409
173
362
399
834
941
608
878
959
765
478
36
907
334
583
187
709
7
316
506
455
816
95
536
864
168
3
519
359
970
716
188
624
451
623
278
778
402
383
154
26
25
621
394
429
472
999
417
267
131
927
820
936
743
793
604
653
683
23
906
864
451
23
751
425
591
33
174
979
962
178
302
85
637
391
809
471
376
378
880
284
370
29
499
967
862
898
800
834
205
302
469
684
117
632
866
510
92
563
934
283
626
119
992
519
303
390
291
912
645
11
931
737
368
501
235
469
898
694
837
987
163
243
118
856
552
131
912
0
927
765
182
239
847
386
409
242
319
798
209
870
525
721
828
795
507
296
505
998
969
426
257
906
222
498
469
746
825
255
660
129
84
233
164
168
632
353
699
950
457
990
851
441
382
475
852
327
504
508
79
217
25
754
536
266
775
6
678
238
893
316
461
904
690
768
348
383
535
562
85
836
488
991
498
605
820
466
548
227
539
965
258
310
986
22
266
108
888
706
958
833
598
277
899
634
135
793
966
689
246
929
142
703
908
819
730
571
514
183
540
724
210
885
383
349
150
202
717
238
550
999
967
942
667
408
554
411
887
490
637
241
750
142
784
981
419
985
101
860
821
504
54
547
315
628
337
889
492
479
777
794
619
70
950
538
927
367
421
573
460
443
890
253
700
462
379
883
635
112
94
849
147
504
278
100
391
633
979
98
436
297
982
151
356
710
802
602
824
914
23
333
56
754
542
89
121
386
841
69
892
272
507
717
860
60
300
573
636
272
736
479
398
292
878
148
849
934
953
101
915
757
593
350
171
408
662
882
357
147
42
241
141
402
904
310
186
124
610
524
828
474
73
568
534
609
567
121
69
558
373
769
43
423
187
14
961
115
224
42
388
640
880
500
473
693
689
560
31
937
658
375
918
430
935
1
27
586
710
527
973
589
59
624
756
331
978
821
206
597
529
673
694
973
280
345
879
991
826
585
984
838
679
706
644
177
527
893
957
522
821
430
758
418
793
556
88
326
736
648
534
111
17
409
856
692
382
958
687
319
631
226
37
656
738
197
747
643
418
680
886
867
341
256
935
947
777
213
135
708
120
889
727
937
691
381
946
224
526
301
748
175
345
436
48
46
168
106
105
251
83
153
199
703
578
796
444
690
12
832
876
935
830
771
309
292
53
877
640
442
369
71
868
320
494
91
790
612
701
215
880
228
474
413
482
931
2
905
964
342
76
757
760
58
10
953
798
894
671
174
124
147
442
66
571
10
813
610
97
660
964
293
705
879
725
454
51
310
875
198
421
551
733
949
553
563
614
708
518
796
697
209
430
463
813
763
987
189
465
929
892
690
548
230
260
624
562
345
499
637
525
815
949
974
659
111
675
859
86
34
944
794
585
293
740
666
942
51
711
905
705
788
107
217
58
369
66
82
674
310
939
764
963
358
460
920
76
821
909
712
140
480
48
831
129
135
847
965
216
545
630
217
422
633
987
490
974
290
494
691
800
690
278
88
620
311
290
320
522
573
46
210
427
548
67
177
837
987
707
355
401
228
718
864
800
3
362
68
275
704
105
419
755
86
63
255
178
182
384
497
658
964
21
727
94
859
688
48
921
612
804
462
501
741
429
514
796
846
250
735
867
371
880
307
627
237
273
845
736
351
384
268
354
49
9
866
172
719
986
694
244
784
432
481
747
551
556
668
42
536
980
370
256
603
310
803
87
461
740
831
891
864
140
272
990
341
983
306
451
53
27
227
939
99
793
82
737
604
821
513
121
834
33
433
367
164
789
451
253
728
513
64
179
838
877
121
880
970
262
153
710
605
960
591
877
350
785
856
633
373
149
624
545
416
327
543
674
608
915
179
269
437
983
132
144
249
910
300
335
105
111
798
860
552
778
355
487
864
694
535
86
728
407
624
194
257
893
430
734
710
281
270
359
212
722
550
273
29
156
497
144
201
69
197
58
22
302
410
902
26
729
180
533
107
93
884
617
161
942
284
548
753
805
856
333
836
69
111
965
697
377
123
100
864
619
463
704
808
595
678
650
697
39
266
173
440
77
642
203
887
233
733
360
994
379
488
107
316
174
837
827
460
937
328
387
625
789
968
215
755
761
343
520
909
934
370
769
227
140
441
732
321
969
88
309
736
349
721
729
479
611
912
60
337
76
857
948
40
601
823
172
948
480
745
428
181
419
63
890
820
830
573
48
685
350
323
673
103
426
966
568
399
780
525
849
719
781
27
480
880
673
190
267
564
907
682
708
226
722
102
698
851
849
260
684
631
990
488
187
718
966
669
171
867
272
246
442
228
86
840
631
487
182
819
17
30
799
883
169
722
257
45
333
63
734
984
398
674
233
387
236
835
955
450
688
866
169
765
483
441
383
979
933
411
447
97
975
939
220
872
136
246
444
370
181
748
499
634
780
696
396
13
349
552
382
56
716
407
124
217
778
641
35
676
360
690
54
492
140
911
539
363
724
928
414
462
593
819
355
419
198
173
744
818
247
43
25
122
389
663
89
794
818
281
541
990
92
314
450
504
705
915
486
975
692
885
251
674
149
933
291
701
122
817
143
544
842
493
769
878
826
21
434
434
444
226
451
948
130
689
942
832
274
192
387
564
807
8
65
287
919
904
967
904
19
263
534
108
290
109
106
767
341
968
276
757
875
1
552
421
139
494
455
326
640
499
687
319
244
181
743
202
316
315
153
253
1
981
597
237
428
709
276
714
54
193
753
591
33
631
702
990
31
978
294
414
995
198
260
719
587
504
174
977
268
622
883
338
781
280
295
206
859
318
400
172
417
385
266
458
407
876
521
744
417
860
809
239
393
439
45
971
31
725
353
920
854
125
127
762
142
776
119
833
189
497
827
231
15
799
106
498
512
236
953
151
127
93
872
965
994
596
442
677
37
802
863
864
361
204
725
617
12
627
571
894
670
280
667
420
298
411
707
986
249
67
436
615
801
787
516
777
556
980
245
312
41
762
191
290
546
795
938
502
335
807
988
475
579
992
196
837
429
382
322
917
862
552
71
681
603
677
174
361
208
403
99
832
492
731
948
897
646
529
564
338
729
703
103
148
766
622
91
637
488
519
542
801
502
23
512
982
250
799
637
141
707
603
884
475
432
849
846
296
944
6
273
731
293
878
941
752
788
841
910
558
334
478
553
606
20
199
844
818
565
80
290
20
895
52
776
170
361
366
762
672
933
151
852
137
155
388
744
920
870
810
874
47
132
796
751
51
50
942
221
654
378
157
444
495
782
199
698
299
772
547
409
486
440
765
573
66
186
641
185
476
984
584
305
653
902
378
463
36
345
753
208
763
348
649
892
526
765
893
482
955
809
423
179
693
605
204
326
401
108
40
831
995
936
460
109
784
334
706
977
361
990
614
929
829
320
256
38
700
165
599
451
495
574
420
731
341
130
670
849
753
993
438
469
935
616
752
976
138
663
584
660
776
262
390
226
911
385
797
609
857
958
90
39
29
586
633
217
869
416
698
205
641
236
610
225
979
808
603
922
174
470
358
712
665
845
792
166
892
292
508
964
629
151
305
851
65
568
701
654
964
534
971
304
966
509
629
905
4
285
646
526
388
355
167
189
43
238
850
497
774
944
240
961
144
730
773
188
471
17
203
249
358
62
901
702
376
85
14
155
360
581
756
205
927
109
269
352
888
15
14
824
558
459
738
641
644
806
803
2
23
268
374
599
323
913
677
9
124
932
850
591
267
121
120
960
87
451
218
338
631
568
172
691
729
487
408
739
368
443
486
347
263
898
69
265
937
708
605
77
265
486
370
59
985
937
857
295
483
759
254
673
919
354
754
514
719
129
600
774
543
751
600
627
34
591
508
784
55
198
307
289
609
356
605
538
839
436
725
288
141
532
17
933
6
860
926
437
897
650
490
937
82
51
413
213
445
510
942
265
462
481
610
374
868
821
584
943
917
316
435
230
907
299
428
235
438
351
390
280
625
233
18
333
390
894
654
910
584
100
371
338
728
506
203
783
336
621
107
357
737
748
686
250
645
996
213
412
597
423
299
6
247
665
291
758
805
745
260
788
355
725
33
553
607
833
414
826
27
545
578
978
968
390
899
754
781
127
863
123
41
555
822
453
736
620
311
916
353
345
214
915
826
715
301
773
934
350
651
474
282
351
990
777
774
534
717
447
164
353
541
326
55
302
448
725
19
809
496
567
344
2
604
165
624
957
228
378
366
242
227
298
862
678
949
341
23
603
3
504
312
612
933
233
701
575
981
597
774
592
934
679
619
830
810
853
578
814
668
336
311
814
291
356
797
593
571
855
47
614
627
282
523
348
577
842
462
690
90
283
789
757
125
131
41
17
880
862
360
841
531
837
181
709
850
169
508
386
815
900
570
168
744
60
394
73
292
12
582
907
383
660
737
705
507
880
12
107
663
234
790
205
324
307
395
189
262
237
153
12
259
142
896
48
433
460
903
34
339
652
132
874
173
968
593
100
498
848
656
75
667
132
942
554
136
329
398
977
669
905
621
368
367
97
943
531
363
267
312
490
126
465
42
210
165
935
147
128
493
827
568
820
905
418
967
486
892
544
840
323
764
833
889
416
193
991
208
317
671
756
33
257
609
12
989
666
371
688
44
867
450
790
533
875
919
336
332
381
545
320
406
675
345
415
727
676
303
820
729
272
979
680
662
898
854
275
914
707
626
458
110
577
292
892
889
788
835
110
576
851
144
368
867
654
93
883
326
298
179
521
817
348
614
384
319
256
207
119
215
89
29
214
208
486
0
293
594
553
635
723
109
48
24
357
176
160
247
88
598
260
535
663
468
913
507
607
320
380
815
935
938
682
40
340
646
754
545
289
960
355
751
941
992
172
819
673
322
616
889
708
433
127
385
478
942
459
23
744
952
902
906
46
44
469
607
405
199
244
506
741
474
750
746
419
97
720
349
394
460
519
597
491
559
326
211
836
846
854
716
89
59
904
417
544
338
813
766
919
334
920
916
658
411
379
429
65
714
786
219
569
224
812
910
678
964
771
923
436
748
125
247
576
468
584
1
760
792
159
449
620
582
691
712
296
881
224
96
180
112
219
25
195
892
837
121
945
144
85
45
259
147
709
956
352
565
600
40
297
663
959
969
76
367
952
232
926
984
193
530
153
796
215
99
78
624
142
108
938
308
318
239
439
992
466
645
986
823
92
46
833
392
880
790
20
535
603
207
480
671
458
540
292
325
835
383
321
760
971
675
145
237
509
732
359
223
974
696
35
727
573
772
676
41
414
239
285
96
167
613
587
914
541
936
453
739
284
85
528
268
583
543
458
327
695
115
254
868
577
579
409
660
944
655
368
623
283
580
801
521
711
556
323
552
180
3
89
407
169
385
449
542
594
113
36
508
128
945
415
695
830
595
655
937
775
712
213
403
792
983
576
899
390
257
224
579
55
434
225
838
600
664
800
566
247
944
626
616
509
233
155
538
575
456
320
998
50
317
36
74
691
129
430
920
276
704
925
111
142
555
556
36
749
240
438
995
209
686
870
520
259
15
582
817
334
46
818
738
895
524
979
890
183
195
487
839
634
348
947
942
300
283
281
3
685
507
206
384
896
46
291
838
566
903
986
980
566
583
880
790
755
176
155
51
476
539
76
450
955
546
760
7
585
462
858
229
763
963
657
219
906
866
331
782
941
572
257
369
472
664
723
778
433
4
679
187
259
442
5
896
365
815
826
48
300
48
662
18
101
996
783
83
298
770
716
174
625
986
558
94
443
954
476
570
820
30
944
892
353
298
445
282
956
537
703
509
816
472
711
553
698
334
287
286
892
901
175
740
437
327
577
869
99
38
806
560
755
16
591
402
375
430
434
806
203
407
971
481
319
614
841
56
831
948
307
129
326
382
127
742
13
543
849
244
126
9
955
544
129
868
629
954
334
500
617
158
611
536
554
365
16
852
557
326
567
306
462
255
946
7
877
884
180
135
176
805
562
923
503
941
455
918
552
498
293
798
530
780
106
946
53
792
792
614
817
665
854
183
158
682
506
955
216
409
996
921
666
398
910
5
561
92
727
33
149
659
302
21
809
976
433
105
465
731
224
437
630
508
319
190
600
982
12
770
260
901
512
382
267
807
33
816
383
733
757
786
120
879
956
727
362
296
930
775
597
866
608
775
434
156
747
724
139
480
821
652
699
689
756
762
805
973
700
334
64
475
761
722
996
83
291
650
398
592
658
861
731
802
715
681
624
568
610
742
297
465
79
201
256
323
730
242
136
127
787
764
218
175
294
891
997
871
430
439
105
236
212
819
358
514
286
826
425
174
844
504
336
681
552
36
785
97
748
165
402
829
662
843
781
768
815
697
477
538
857
672
726
428
91
329
867
288
426
138
859
913
459
477
449
99
756
652
144
57
242
548
194
286
183
52
247
369
693
682
589
465
24
553
681
772
990
806
333
694
829
758
151
534
972
591
519
344
541
691
552
211
718
933
334
536
534
637
823
559
715
245
19
869
731
443
164
844
579
145
855
124
349
59
821
11
653
725
981
387
739
259
616
902
134
967
837
811
249
756
734
599
448
58
488
110
684
912
472
289
728
852
418
318
890
851
198
564
370
580
202
989
430
805
698
703
760
889
443
76
555
17
211
463
54
199
385
801
337
205
924
618
287
513
730
957
554
200
657
736
702
508
804
514
791
302
399
177
144
114
564
484
36
851
503
363
360
776
11
390
866
190
595
900
434
565
839
724
741
750
99
642
726
442
288
660
907
634
131
820
43
277
812
306
672
631
491
82
426
59
505
561
971
967
899
636
312
481
353
859
174
659
586
808
179
513
680
260
284
315
869
597
756
559
750
331
230
844
38
394
52
432
521
704
96
777
469
685
354
53
485
879
476
487
288
44
202
780
752
555
697
829
542
953
916
99
743
626
782
99
23
249
516
754
96
285
750
859
4
971
426
224
405
252
226
413
634
715
809
136
959
581
724
757
710
784
617
735
254
985
867
154
78
626
746
769
616
929
922
239
759
329
201
278
761
945
416
403
833
541
960
592
519
467
520
111
190
728
502
53
250
706
934
325
44
622
233
318
666
82
298
286
57
730
33
148
676
226
138
251
269
809
265
733
619
544
610
188
11
948
341
990
200
20
256
330
259
16
593
572
408
751
937
290
748
475
992
715
995
228
80
994
24
269
617
823
182
593
756
40
763
726
559
440
321
556
222
482
220
739
49
373
1
790
195
775
690
731
767
40
980
215
507
250
346
36
576
491
825
97
257
81
682
527
974
509
535
913
534
895
978
912
303
489
759
472
547
714
916
120
903
64
261
716
343
641
804
675
759
364
649
346
369
253
389
679
665
45
30
287
507
554
323
815
250
359
916
223
134
887
431
411
502
966
261
912
953
587
306
11
452
246
626
961
838
214
20
406
698
477
142
769
923
794
32
513
45
688
281
685
996
367
465
534
583
689
658
41
253
235
577
543
926
820
272
607
86
148
447
481
80
451
864
981
143
387
246
473
647
274
405
724
37
859
93
875
427
796
961
125
782
469
86
520
530
703
214
546
211
201
626
27
568
772
511
76
486
269
700
900
181
401
307
193
978
973
929
677
755
4
622
964
54
603
690
505
133
800
961
467
809
221
669
591
422
416
281
640
895
171
465
584
108
458
42
48
161
218
639
243
982
764
585
647
441
534
485
865
296
698
333
463
986
104
165
912
293
694
567
887
253
21
234
225
897
843
965
212
351
922
514
6
907
246
63
284
752
338
358
778
890
956
865
996
736
349
254
159
791
841
793
514
372
245
112
326
214
791
294
341
634
547
176
929
854
699
981
629
750
252
163
855
346
681
967
931
976
592
934
341
267
972
912
596
964
725
205
22
662
977
543
961
225
514
115
616
872
325
296
359
641
455
50
417
854
76
752
404
553
426
674
764
99
330
466
220
184
879
869
38
21
477
722
816
419
600
38
7
944
206
629
641
327
124
852
636
484
455
259
958
473
353
379
521
47
706
592
539
298
556
906
923
326
697
472
674
864
861
900
38
819
172
566
963
767
89
289
998
185
236
218
398
191
607
237
127
55
271
366
456
576
110
243
569
800
144
79
346
847
850
370
882
822
7
224
666
930
471
946
375
43
251
157
922
943
856
457
983
559
311
693
234
335
891
716
98
70
131
407
386
593
364
519
995
372
46
992
170
65
155
808
810
242
711
70
681
218
866
738
759
233
609
64
847
940
296
329
589
680
152
509
480
370
84
776
350
758
471
90
524
814
383
513
500
750
172
848
895
720
584
760
80
65
302
5
252
329
246
0
558
702
44
718
685
745
351
205
117
292
222
346
620
326
126
453
913
642
47
947
14
621
432
631
445
814
504
988
860
394
374
121
591
264
681
580
635
326
879
477
61
728
573
900
412
589
628
327
328
766
120
775
56
882
859
78
24
49
331
680
395
238
631
825
881
69
159
790
274
413
292
864
378
412
641
870
456
421
155
932
712
745
497
189
864
573
746
4
786
728
656
290
822
350
281
821
668
70
184
377
783
931
858
530
374
733
857
685
786
510
231
233
29
362
908
435
263
679
670
966
542
767
120
846
552
875
436
619
878
675
166
723
621
426
642
394
188
657
631
240
36
297
897
818
869
469
804
101
383
413
462
566
698
294
743
19
867
194
247
333
804
746
983
797
585
608
290
952
663
804
959
85
93
566
240
488
130
947
559
416
356
454
580
221
931
673
155
793
520
765
572
607
146
270
103
214
740
874
158
198
551
306
281
652
62
249
525
204
621
901
233
800
527
902
706
0
100
335
291
546
915
821
285
134
932
932
725
972
585
269
481
174
624
305
272
933
606
349
274
222
841
609
434
199
619
587
907
255
703
804
97
340
729
997
346
389
371
873
218
518
549
468
331
19
581
827
364
174
371
761
327
240
638
431
860
249
835
832
481
789
456
931
184
11
491
807
396
769
709
65
646
940
918
634
982
985
433
797
341
169
797
112
63
867
4
778
11
756
991
186
301
115
674
34
421
897
510
178
268
726
774
672
440
427
933
478
834
524
838
68
869
498
597
307
886
314
766
329
488
369
757
725
65
364
839
554
164
334
668
280
372
103
282
921
543
494
395
72
162
175
214
753
486
522
622
163
930
93
498
183
112
250
501
536
125
735
211
190
610
823
944
360
923
918
141
870
385
781
930
76
65
932
591
44
402
589
565
799
336
970
73
951
399
5
93
673
599
651
408
871
348
419
741
929
501
315
754
700
809
823
863
988
373
452
384
169
18
684
170
775
401
263
744
252
656
223
577
693
361
6
362
532
711
420
710
58
645
705
589
789
988
251
212
300
103
690
595
982
477
65
137
312
394
375
844
797
723
631
322
987
179
258
684
86
896
620
946
386
787
394
410
562
256
181
35
925
390
241
231
660
221
626
246
803
906
155
367
216
519
977
867
576
773
571
293
671
44
984
971
974
927
691
912
354
515
177
143
293
616
97
101
598
628
848
101
405
12
783
143
235
828
900
117
492
867
42
52
600
910
670
73
801
869
169
998
723
424
680
57
368
214
765
170
178
756
1
427
465
565
531
286
445
914
30
97
972
518
682
582
908
604
129
522
970
256
776
371
309
177
600
59
918
754
507
722
802
14
57
713
870
723
817
183
990
37
870
465
31
893
10
142
699
4
257
878
365
116
16
922
238
493
889
42
498
854
370
152
772
602
652
623
533
671
28
591
401
842
369
241
249
212
387
967
315
626
794
624
383
237
962
914
816
186
347
448
244
290
617
911
61
663
439
733
127
201
260
703
915
886
385
45
431
996
294
616
822
215
2
6
300
620
740
240
397
896
489
733
650
420
778
761
22
627
21
679
722
125
467
523
41
193
679
310
976
790
38
99
809
910
637
101
154
845
473
108
416
6
367
880
542
885
916
984
804
155
56
236
99
952
686
208
986
162
817
780
850
107
925
536
343
687
711
576
271
58
677
222
845
701
325
891
453
635
832
129
535
991
994
841
42
156
275
436
112
469
821
277
490
484
543
644
532
410
711
222
427
528
750
371
302
137
841
69
39
836
362
79
812
952
859
487
521
118
576
949
590
349
407
40
524
300
819
472
843
361
942
317
300
370
429
349
850
121
132
877
509
41
119
772
713
260
720
577
218
740
316
317
422
41
146
97
529
672
588
373
227
906
267
402
837
347
451
871
685
964
441
302
301
413
760
656
976
457
163
743
540
375
912
195
461
989
779
177
751
822
554
752
795
803
11
564
665
817
957
73
6
94
465
670
788
746
220
370
604
357
111
920
523
579
19
700
322
190
525
567
421
380
373
707
976
887
618
485
989
956
508
460
50
174
575
596
628
209
206
770
992
223
398
341
728
687
771
333
447
53
676
526
887
734
241
58
773
666
664
666
165
725
126
594
596
998
86
878
536
391
593
141
647
102
520
400
183
906
663
776
63
118
820
718
400
63
565
804
402
8
162
793
790
958
703
755
941
972
533
391
617
665
321
787
327
334
162
456
591
431
816
943
993
462
544
583
686
281
749
177
684
665
954
75
420
841
798
387
97
612
610
121
976
226
780
895
955
257
420
736
113
166
602
332
730
165
40
255
575
710
415
860
114
393
334
729
126
957
226
237
468
515
843
523
44
464
642
108
442
304
404
706
821
863
307
966
708
105
66
492
545
146
745
605
30
38
530
730
774
35
686
95
791
47
607
712
165
562
506
960
885
155
478
564
778
95
31
677
799
963
694
841
106
685
493
879
875
297
725
24
502
694
744
803
526
262
33
773
52
795
490
993
365
102
748
239
689
690
539
210
43
856
715
152
476
160
595
320
736
483
590
135
207
619
357
540
363
37
740
173
557
387
16
541
313
14
659
313
74
782
369
63
980
550
721
835
905
308
951
387
454
151
161
227
808
988
672
835
636
499
842
75
291
299
447
895
192
466
826
861
596
476
761
841
404
520
169
842
693
32
596
164
29
20
121
180
130
151
405
446
986
357
652
674
205
830
878
849
995
563
853
236
451
142
543
611
392
335
454
669
196
722
911
98
850
427
124
416
501
152
360
235
715
355
559
253
8
903
424
430
1
668
947
366
429
84
953
510
630
580
871
347
595
136
901
438
711
98
549
515
987
729
167
169
965
791
541
373
176
332
659
297
56
836
195
98
825
117
736
816
826
584
115
767
827
463
315
175
903
223
174
775
17
540
971
897
813
967
753
153
325
845
699
340
777
753
828
154
75
438
306
324
653
553
721
121
553
479
462
541
932
710
888
186
334
289
352
466
638
572
378
177
943
404
543
201
174
630
348
536
845
984
675
903
443
851
466
213
241
771
548
967
302
552
165
871
375
733
707
45
716
956
407
126
339
486
113
718
988
567
143
590
74
498
900
998
665
799
478
820
451
242
421
861
434
292
94
674
144
728
467
471
91
129
214
111
762
385
292
584
100
45
778
27
880
53
34
990
11
476
251
910
739
624
985
590
562
724
42
977
390
748
821
341
956
618
698
469
954
286
879
152
400
744
179
310
111
452
700
368
770
21
39
811
267
923
490
311
687
736
515
36
992
662
529
522
566
419
786
622
680
725
774
706
649
481
248
349
249
626
831
799
830
186
346
968
344
64
791
473
877
229
237
924
403
356
7
187
347
116
970
272
940
457
261
599
724
203
137
716
588
365
517
9
474
879
740
315
113
120
883
348
473
906
145
367
447
666
448
890
367
802
887
229
285
366
712
740
816
814
867
637
321
642
707
540
723
890
635
512
940
41
675
964
929
608
768
740
444
382
859
342
922
432
302
503
926
511
461
999
130
39
738
761
648
423
142
862
729
510
844
87
401
605
396
945
448
804
211
27
54
438
269
111
717
547
953
143
512
276
578
698
956
180
196
929
962
70
912
145
66
235
750
597
226
615
282
601
29
624
217
223
60
704
256
307
422
741
970
839
857
675
165
840
120
921
58
425
204
985
568
299
677
889
505
12
928
855
99
396
649
545
196
840
904
989
539
419
679
563
722
856
825
532
675
385
2
440
159
413
140
877
422
678
808
495
831
425
902
461
272
67
118
888
479
989
869
957
490
482
638
678
347
46
34
697
399
108
506
294
862
907
539
122
822
81
486
359
593
808
753
558
811
64
160
555
889
355
270
696
696
887
457
356
885
97
784
184
624
595
106
332
451
938
914
794
824
133
314
413
285
183
62
952
200
572
345
563
615
609
224
707
278
22
574
427
281
973
991
571
346
765
581
201
925
698
96
947
441
714
751
539
928
275
109
398
223
220
390
357
685
788
360
766
494
821
6
653
476
25
762
626
319
242
448
557
837
194
465
867
411
260
179
590
29
505
498
794
289
726
858
245
316
232
256
56
763
202
173
306
867
529
722
814
946
939
178
415
776
893
111
433
465
136
214
988
171
224
342
115
947
49
859
932
78
348
670
204
450
394
550
74
650
212
954
553
550
373
541
842
532
413
307
289
755
553
718
933
77
736
629
908
816
427
839
264
768
435
819
669
113
139
595
493
410
780
704
455
508
433
257
63
759
297
674
340
524
719
685
893
390
792
808
34
90
719
357
866
841
322
21
892
700
171
203
830
460
495
485
579
167
807
994
240
132
897
786
309
204
343
641
945
680
722
698
996
985
9
586
267
598
541
608
276
926
718
567
688
132
383
975
3
840
624
933
676
186
848
724
845
808
500
463
209
509
676
26
925
719
480
473
947
47
238
131
978
408
989
547
685
972
491
292
518
679
576
558
432
754
394
338
360
936
225
747
783
996
875
890
837
64
288
151
586
962
725
908
67
800
960
674
542
408
950
708
129
476
43
766
120
55
216
134
805
141
29
701
577
994
570
177
720
751
451
520
859
538
405
592
691
381
318
870
671
686
139
593
34
568
863
620
469
690
265
520
74
411
66
313
114
298
734
448
776
964
517
272
351
246
482
430
198
218
759
190
880
721
679
250
892
827
585
165
120
757
294
562
911
555
454
515
120
816
759
950
860
685
574
142
525
818
468
188
29
230
745
968
430
173
641
43
255
550
397
963
285
950
95
796
378
574
981
940
789
244
666
979
11
109
937
799
674
642
471
751
724
427
495
874
984
45
316
139
867
522
919
17
518
95
224
785
634
168
792
564
940
791
960
836
583
419
151
618
937
899
953
527
181
77
427
729
245
562
664
89
946
937
874
413
956
11
67
567
366
253
868
785
749
434
544
510
359
559
781
233
196
584
659
931
353
459
985
290
271
614
177
68
390
832
850
3
903
976
505
949
959
960
242
300
685
223
594
76
243
772
538
165
715
988
639
612
189
52
345
723
212
685
749
87
106
602
919
719
432
412
273
724
511
585
768
998
937
405
531
255
900
403
621
357
791
284
936
201
427
655
755
142
776
741
864
293
66
891
477
718
174
998
106
574
388
264
506
459
449
72
765
55
38
607
929
232
536
458
751
274
169
783
754
996
718
392
738
64
776
605
252
176
840
706
236
196
87
367
478
213
184
765
144
424
322
299
725
685
58
407
686
962
650
319
420
262
975
441
125
716
386
252
999
351
372
242
137
172
350
376
181
661
36
247
391
358
943
95
231
307
42
451
546
188
982
982
975
839
320
576
770
661
556
471
100
138
798
40
233
736
845
849
448
422
793
913
613
819
180
268
554
995
956
77
544
930
855
637
232
933
285
713
300
955
542
512
585
338
601
422
632
828
962
77
801
389
658
32
435
62
546
973
149
20
907
517
19
754
402
264
109
195
279
730
915
384
87
605
792
111
660
902
531
57
573
457
695
597
524
941
221
167
338
179
557
11
97
502
173
771
117
20
469
507
183
385
977
412
844
800
944
864
626
145
238
786
610
128
5
329
166
96
626
331
706
883
807
58
687
176
329
847
827
113
939
67
686
869
203
154
644
240
50
125
982
522
851
89
870
693
129
310
243
662
647
544
263
507
243
43
924
306
865
586
373
817
209
451
405
742
470
349
931
944
51
363
814
431
544
389
832
642
881
405
331
118
918
536
223
427
514
960
458
22
129
886
572
371
227
604
215
220
675
856
187
751
619
208
975
881
3
547
156
714
18
62
192
117
778
817
250
163
315
775
810
308
841
765
197
785
895
14
710
508
370
135
72
818
697
586
979
326
549
548
928
947
310
668
224
313
219
258
929
339
58
883
335
296
268
238
813
293
400
114
602
717
53
559
106
165
225
595
681
119
211
280
300
519
227
58
82
927
908
719
115
951
698
662
124
774
238
40
137
936
277
740
992
372
544
866
488
458
837
939
319
406
273
844
904
588
725
59
176
86
431
161
647
739
613
100
335
394
236
350
617
380
896
960
909
193
811
275
286
560
779
969
14
975
177
856
122
971
414
742
88
888
49
694
475
771
874
166
617
270
710
263
573
995
622
362
864
971
966
901
54
786
782
436
47
999
955
685
274
296
916
313
245
249
241
731
844
782
151
625
309
283
845
311
124
763
991
72
772
839
863
421
597
14
119
274
214
991
388
704
304
231
795
983
53
723
160
166
704
12
833
869
600
452
51
793
940
117
962
720
970
106
717
6
816
433
796
359
748
223
470
964
950
624
338
372
389
650
543
639
851
982
187
27
251
83
148
329
396
36
499
705
664
653
732
15
75
75
645
486
290
927
561
977
115
483
240
144
401
752
553
235
153
936
921
928
194
223
952
290
246
913
837
922
504
967
209
858
166
132
829
898
152
414
867
701
676
220
41
799
88
399
428
45
401
982
490
869
782
722
493
24
364
595
179
979
387
560
625
995
752
189
514
890
363
770
217
174
450
957
786
199
562
701
580
769
933
484
279
366
771
533
967
895
809
563
234
288
235
924
539
539
919
89
624
668
199
76
916
196
346
12
366
826
284
803
479
559
746
605
803
214
180
676
90
236
697
873
171
20
198
137
989
968
244
71
267
423
632
597
102
121
108
220
610
665
241
91
860
288
66
182
477
620
418
271
302
395
955
624
27
208
787
712
95
485
261
337
939
163
158
955
782
821
456
852
514
267
282
851
17
92
108
366
545
709
531
183
891
170
845
83
143
62
931
718
746
200
292
800
825
292
219
827
345
963
152
150
451
338
682
707
692
133
110
653
237
47
591
267
331
479
879
103
742
775
196
405
362
970
8
82
145
10
43
718
528
717
366
17
508
549
39
480
75
146
432
911
908
208
184
738
588
974
856
730
884
249
86
148
16
341
298
566
523
662
667
233
72
27
205
838
830
88
332
221
713
587
135
791
500
248
706
767
575
400
461
731
501
444
926
663
42
92
649
880
963
79
678
145
265
186
713
708
275
931
450
398
506
354
781
397
808
705
947
419
575
682
668
853
438
87
537
428
300
43
537
398
235
149
781
208
908
514
348
218
479
596
362
233
15
916
64
975
440
581
489
155
908
563
167
910
943
773
126
162
896
202
664
717
154
935
253
157
34
11
132
395
899
264
622
906
840
83
931
102
793
804
636
936
0
208
537
669
345
281
721
630
572
278
201
545
957
166
611
167
769
4
479
78
72
386
485
944
389
597
553
55
383
886
759
979
248
598
182
78
138
360
249
319
745
105
183
238
199
662
526
722
303
60
876
872
932
6
898
542
711
130
664
540
741
510
408
894
358
933
317
174
822
817
788
116
695
172
595
86
402
840
727
466
302
123
684
152
36
259
31
681
634
588
161
500
609
740
843
154
435
933
531
909
128
999
913
507
339
167
797
960
254
554
274
35
487
760
640
398
0
863
254
824
988
528
16
611
431
662
855
892
992
734
399
249
430
281
828
696
286
252
67
42
13
955
257
311
954
486
508
879
82
323
764
799
789
439
253
950
195
554
330
733
787
55
253
951
903
773
229
761
849
295
144
143
714
866
449
547
67
462
935
55
153
794
966
917
95
35
732
5
691
724
539
698
846
2
297
769
958
452
447
801
303
4
562
189
818
94
193
988
61
419
863
459
860
390
823
548
638
44
684
500
857
964
291
423
995
381
222
165
324
113
76
77
7
622
730
206
532
863
947
270
443
466
474
681
546
896
587
952
182
549
949
750
862
300
233
177
580
88
541
481
938
662
938
30
139
820
909
439
268
943
415
601
905
510
658
729
882
391
989
455
395
289
615
709
799
826
987
814
568
901
176
816
798
976
503
5
438
322
11
745
187
924
991
581
542
536
103
523
772
563
497
922
882
293
624
562
149
404
314
195
518
735
24
178
570
782
620
808
501
194
876
837
331
652
112
842
101
936
79
626
645
114
596
535
882
825
487
882
418
889
111
657
334
172
921
258
831
355
114
375
393
501
411
133
757
971
162
399
577
242
454
99
856
821
136
773
192
165
985
719
192
320
337
108
424
441
91
992
153
106
587
515
189
536
610
102
264
749
909
837
596
665
790
174
128
931
380
587
489
411
995
253
868
925
65
18
758
977
328
786
410
969
840
880
166
661
692
971
296
984
642
371
974
294
744
82
667
984
3
817
461
24
516
718
221
690
260
263
773
644
339
364
381
607
784
7
66
342
909
3
879
853
452
604
964
602
599
106
97
547
98
878
834
630
163
298
523
842
998
700
67
656
353
327
957
291
847
511
428
424
616
846
352
14
64
702
809
273
401
18
621
792
232
597
168
740
522
37
495
798
695
567
566
783
126
339
434
179
399
393
770
802
804
102
388
673
913
974
758
848
395
760
217
937
414
206
210
726
705
9
555
723
566
794
87
746
389
133
713
55
525
365
972
911
193
453
11
152
521
295
340
442
148
724
257
394
792
655
83
212
146
227
284
676
777
688
491
950
223
705
630
35
109
339
184
418
839
542
16
749
512
664
321
557
526
153
207
460
811
852
269
383
494
206
174
729
409
336
157
271
461
574
926
259
240
117
246
312
631
608
351
381
749
972
764
978
373
710
232
443
934
996
376
145
463
180
823
639
186
908
901
927
668
923
863
80
588
19
809
85
579
115
86
984
171
608
470
968
511
910
814
931
942
67
519
180
473
858
573
950
582
621
718
736
349
81
457
409
888
769
417
171
754
679
379
467
226
531
965
342
949
611
570
724
311
846
506
206
624
221
259
47
942
662
210
824
390
69
974
722
470
118
560
847
580
478
849
492
339
281
434
346
644
74
971
440
636
809
373
725
175
630
131
961
393
599
818
998
922
374
173
308
392
952
624
406
489
69
531
909
741
139
674
293
887
508
607
395
317
976
583
267
592
369
305
655
802
363
799
726
257
951
156
404
120
666
681
693
66
187
403
962
943
243
910
3
500
957
55
191
644
171
796
596
873
700
596
45
405
613
366
615
80
369
699
963
121
43
753
608
90
423
27
506
562
449
311
341
285
824
450
303
711
413
510
627
928
107
677
956
576
408
41
387
513
789
33
111
986
590
535
648
111
508
322
97
494
835
459
837
459
963
782
363
472
736
390
169
786
23
850
455
812
541
142
74
477
438
266
43
158
641
123
41
905
654
109
645
502
933
492
998
873
316
17
283
984
675
47
394
419
721
798
736
801
225
201
601
821
992
946
780
405
198
982
242
786
632
110
513
105
724
633
615
328
579
740
26
274
490
112
578
943
801
532
30
607
122
861
18
61
113
473
51
316
585
833
658
24
709
84
380
774
632
343
296
472
396
631
906
221
451
481
173
967
792
668
931
469
925
832
291
431
956
721
743
797
471
230
794
264
827
441
495
484
762
323
357
799
664
28
837
756
666
539
32
605
316
745
785
641
371
713
100
517
823
42
885
209
994
930
810
270
212
48
878
867
478
453
487
573
491
226
484
811
802
927
237
410
574
454
144
772
748
2
643
278
577
777
99
603
74
818
513
894
17
549
603
354
742
997
715
374
566
90
774
656
236
744
593
186
683
73
404
530
900
113
406
136
705
224
582
322
19
964
972
787
163
204
671
512
867
460
375
53
119
495
755
878
794
132
202
732
105
766
990
794
58
310
164
730
120
64
557
797
366
92
56
882
162
316
948
234
364
921
811
896
84
375
646
391
539
567
357
611
476
120
965
592
288
279
671
387
193
433
460
724
411
892
55
150
606
570
303
201
286
218
113
796
407
199
749
215
611
57
960
159
535
445
352
669
771
16
675
913
888
569
939
623
697
965
910
984
256
586
3
225
619
743
861
596
608
189
206
168
309
211
218
179
205
150
70
697
869
919
710
325
196
168
997
989
992
420
352
6
795
2
410
308
800
916
679
532
313
764
331
522
59
953
347
643
25
990
996
870
682
568
496
746
122
964
618
813
930
510
965
689
522
336
508
537
781
63
759
288
729
80
748
692
689
188
324
363
295
338
125
882
926
450
629
463
855
231
839
538
798
517
644
171
35
997
778
730
217
213
269
545
94
520
912
723
158
55
821
569
686
434
86
730
432
680
149
883
933
690
677
8
446
553
191
844
424
569
560
162
939
726
883
984
888
265
607
986
70
43
751
270
48
332
311
252
639
60
972
59
626
297
810
418
741
555
180
286
73
485
330
777
981
833
494
809
209
549
381
49
859
896
618
918
622
194
323
329
881
894
572
369
554
151
312
540
36
441
243
627
95
153
254
574
691
873
26
987
170
119
313
473
436
6
159
731
613
605
264
291
586
856
704
562
573
738
116
928
861
378
960
65
584
8
824
282
425
351
895
455
203
931
831
474
773
702
131
602
465
792
671
123
398
31
414
287
983
246
443
12
703
610
766
450
967
304
127
55
146
294
312
248
786
9
984
846
745
801
147
51
233
797
454
989
821
767
246
534
999
595
967
565
44
637
768
444
296
342
26
945
878
133
956
223
957
149
468
921
674
960
546
17
444
640
529
557
429
53
311
724
607
800
893
979
505
922
790
211
801
295
565
462
849
157
515
523
639
312
292
659
798
428
848
129
619
543
94
602
749
687
177
505
347
758
463
221
833
618
942
968
17
144
799
647
506
597
225
595
953
693
771
270
415
55
311
778
772
718
376
493
378
936
157
177
72
199
925
213
904
627
774
407
90
829
121
228
122
26
41
393
731
959
39
118
28
816
425
4
998
896
107
929
365
490
410
493
503
82
965
654
540
981
848
9
288
964
179
569
509
9
804
512
995
903
65
789
266
800
108
38
940
301
941
231
402
449
912
326
265
424
564
58
601
555
934
447
352
183
954
932
444
854
734
70
266
140
213
16
353
264
324
155
450
655
100
386
56
504
111
322
277
638
125
85
108
811
583
413
966
835
770
645
273
239
840
384
118
191
98
390
116
440
693
741
772
399
5
291
496
333
616
57
760
911
443
13
98
586
233
189
689
943
614
694
506
182
811
924
611
735
823
484
584
671
746
451
54
74
747
253
723
198
775
921
164
677
664
17
250
774
519
264
731
179
299
182
220
37
220
423
460
575
647
232
526
790
603
510
947
603
274
717
705
623
598
275
35
687
44
353
245
759
134
351
268
870
431
652
546
607
263
390
329
466
371
134
826
734
372
489
379
631
941
101
974
529
800
99
476
127
899
582
712
255
683
38
393
871
937
677
139
897
915
171
151
793
835
305
709
788
361
279
424
803
645
951
734
980
783
879
803
9
996
813
898
103
445
933
279
383
295
545
326
515
273
816
784
208
560
946
963
207
468
657
297
261
826
143
31
561
161
966
716
954
318
896
409
804
552
99
9
468
282
156
413
688
98
509
474
69
441
777
907
260
972
657
76
487
518
82
61
687
795
830
511
609
571
577
950
53
166
359
484
95
722
649
838
419
297
5
279
430
146
484
542
855
66
579
875
209
326
954
505
755
99
729
105
555
281
960
668
636
777
114
996
167
483
270
320
47
205
3
227
473
868
685
288
607
316
13
588
814
813
602
756
552
426
9
478
340
703
148
258
680
421
344
105
520
505
24
126
470
824
793
753
518
261
38
842
113
715
861
716
472
572
882
845
205
41
150
640
767
456
779
251
435
186
730
484
510
472
219
526
238
302
648
891
755
86
916
14
363
166
219
163
168
337
576
45
962
587
210
941
862
718
922
219
425
923
323
498
306
777
184
536
813
218
125
73
207
242
307
530
964
725
875
584
657
4
938
584
35
750
129
131
769
591
596
608
462
52
986
250
747
153
781
678
173
102
663
391
240
363
436
193
712
519
224
559
719
807
290
70
837
194
549
569
595
401
344
24
851
97
715
612
76
525
575
601
891
464
318
303
50
647
507
573
51
432
615
646
43
707
251
583
903
964
771
384
155
413
418
834
101
467
5
211
162
995
92
158
780
348
948
705
728
153
26
861
463
122
850
415
515
603
262
330
267
440
127
91
173
101
641
450
710
212
744
536
511
49
207
800
369
486
962
405
99
381
497
328
100
982
936
967
658
209
109
429
547
359
896
887
862
747
324
896
557
599
197
897
345
645
706
396
736
991
315
74
345
674
921
640
196
712
123
694
562
460
579
806
643
533
171
251
677
530
727
611
467
345
756
624
531
801
435
382
620
712
169
807
988
492
82
497
868
621
965
220
404
432
502
957
328
946
469
65
160
460
195
326
347
468
554
647
878
644
798
642
194
20
622
668
64
286
220
476
431
91
905
927
187
421
215
792
335
16
936
447
269
673
403
675
306
126
143
471
788
452
282
439
669
680
140
830
682
275
814
731
337
677
989
271
526
704
429
397
906
745
443
726
452
426
322
586
508
956
912
896
995
17
877
807
628
261
36
145
707
427
494
207
948
972
886
5
284
408
696
761
493
439
488
846
105
993
349
505
774
131
515
281
102
107
382
360
978
215
734
58
17
848
888
150
929
23
676
854
318
472
700
807
691
238
123
585
322
929
287
425
891
983
725
956
658
374
331
108
118
558
825
539
876
643
692
775
327
772
21
133
723
961
22
714
687
175
165
160
809
416
693
880
695
821
298
29
984
72
580
205
373
32
448
170
143
759
824
171
994
531
79
564
60
371
612
307
397
396
850
252
334
587
248
445
587
135
120
829
536
310
997
445
203
438
112
244
744
171
418
384
789
288
199
712
673
371
16
812
294
265
902
855
870
422
507
526
736
966
501
157
589
645
231
30
537
754
150
46
689
929
659
487
936
149
730
758
216
68
487
28
138
639
850
467
598
490
235
945
627
460
478
509
845
77
972
997
784
945
763
979
3
32
123
376
746
840
670
666
261
424
910
682
329
858
115
916
274
307
350
714
524
280
988
974
740
81
126
904
644
415
396
848
262
174
122
733
132
129
720
258
954
565
123
67
855
701
18
400
336
744
292
570
141
558
775
803
146
911
323
285
612
259
899
882
624
595
516
228
47
543
241
26
708
575
650
402
322
740
64
993
806
611
816
923
973
615
307
976
310
786
464
943
494
257
618
788
927
849
269
172
834
592
274
162
61
961
469
64
312
927
330
570
235
67
912
422
971
228
697
41
829
472
168
823
614
956
788
83
431
940
878
936
55
39
225
776
930
400
405
392
835
379
161
35
810
284
398
671
113
630
558
105
506
948
345
363
372
78
215
31
835
421
559
248
413
114
289
929
658
787
22
966
298
832
877
374
815
63
173
69
320
845
343
574
759
662
296
334
637
255
339
707
747
821
286
713
100
286
967
44
588
199
183
15
127
222
756
206
499
759
25
901
873
52
461
964
529
817
220
776
569
533
161
962
83
194
545
404
531
959
793
382
512
512
704
127
667
239
235
998
776
578
213
401
859
263
824
915
427
356
462
487
565
188
292
111
69
105
651
304
930
83
486
364
104
521
443
613
680
169
592
912
634
292
637
853
410
583
670
697
678
776
335
277
286
914
713
554
97
709
469
391
260
218
606
152
981
419
431
380
301
799
937
680
695
726
778
85
743
771
616
864
575
653
717
82
786
58
865
106
204
200
970
862
56
356
960
153
907
284
49
986
751
323
32
12
132
874
996
878
34
593
789
14
945
717
996
318
226
391
903
243
939
892
842
789
219
4
481
474
114
303
292
27
695
98
335
916
816
737
353
952
871
747
615
566
811
347
944
36
464
312
909
719
362
151
152
485
971
982
938
260
701
552
518
725
271
93
629
49
894
513
48
315
328
981
220
29
521
695
995
516
558
664
899
736
660
630
257
56
895
440
671
113
626
239
825
593
623
18
637
316
742
822
112
273
67
683
188
275
144
737
76
638
723
62
537
441
923
626
133
394
971
411
65
391
860
976
513
650
844
136
974
546
556
925
309
16
973
345
347
996
829
772
648
431
156
746
300
979
283
802
651
889
247
680
103
205
153
4
504
178
279
329
641
539
356
773
412
89
323
613
679
155
824
666
975
70
591
730
554
613
131
899
858
785
436
338
624
381
519
966
342
257
75
367
56
342
800
47
860
734
923
97
657
109
674
98
842
556
160
935
979
268
800
659
802
814
396
866
664
144
409
27
325
698
573
915
537
697
339
404
817
733
299
10
653
208
345
804
184
125
0
130
324
745
657
686
170
411
824
862
784
314
898
834
387
650
484
358
926
631
157
597
266
383
457
341
57
953
985
907
148
171
169
760
854
485
64
538
895
814
513
836
552
431
814
961
281
500
572
472
319
869
595
217
925
634
304
748
927
268
361
672
922
305
75
15
308
756
455
999
378
467
551
206
880
479
115
237
902
631
956
439
198
600
669
412
629
746
692
226
918
800
346
649
103
874
794
246
950
623
980
656
536
196
153
328
882
313
587
338
46
17
882
115
747
187
76
987
442
874
647
967
564
972
67
144
834
398
161
498
444
689
612
91
146
528
267
468
650
912
472
734
77
182
362
139
528
679
740
110
64
987
913
794
605
9
900
895
355
168
546
674
169
379
721
366
531
345
761
23
365
955
644
137
933
376
835
316
265
6
581
689
246
83
335
512
289
723
454
29
985
405
333
18
345
712
460
466
739
724
745
126
110
752
560
110
64
183
177
526
264
244
179
290
46
85
560
564
791
215
380
485
744
379
636
705
213
109
298
299
919
769
49
163
774
783
371
39
589
517
251
288
713
94
36
649
274
860
268
831
581
92
425
295
215
299
250
356
674
295
749
604
93
802
338
728
987
138
121
100
17
897
475
822
491
547
794
82
463
766
103
815
783
542
974
820
913
69
419
442
856
659
774
380
238
122
888
200
94
32
631
384
753
836
378
359
954
233
649
278
334
796
432
412
601
348
818
392
296
453
583
243
202
838
501
589
553
463
551
908
251
576
426
108
409
317
106
723
317
201
505
458
263
894
996
754
795
662
188
115
671
388
523
546
108
104
618
636
935
192
517
872
255
398
479
38
834
704
937
634
232
411
687
781
771
0
191
815
751
766
446
668
767
541
583
618
654
26
645
507
377
427
306
125
706
422
621
821
987
925
127
717
267
657
221
785
680
765
305
975
314
742
518
365
810
551
281
903
729
193
319
622
158
89
411
723
517
215
762
83
438
455
341
616
534
682
566
790
305
191
788
464
264
878
718
365
753
295
613
576
1
488
224
698
916
893
920
207
841
424
357
349
753
432
741
994
513
12
870
616
456
355
781
231
403
79
516
858
138
721
109
633
601
186
107
274
375
559
851
378
69
14
650
923
545
57
911
589
371
131
876
238
351
348
774
585
403
251
289
346
306
569
81
689
175
72
740
229
535
705
667
341
127
400
822
176
170
749
907
18
208
824
189
623
157
799
228
542
880
304
872
992
70
52
76
974
47
724
89
886
174
465
86
252
511
509
156
672
23
374
49
97
636
974
215
307
820
718
192
531
973
882
881
208
686
671
596
885
278
51
22
916
436
14
643
814
599
36
990
47
778
518
836
529
261
862
497
937
961
690
302
333
775
38
88
190
112
801
550
629
486
173
262
616
32
926
141
56
453
939
952
454
573
338
340
628
429
112
202
16
787
714
22
921
978
935
129
288
706
899
738
249
496
722
590
403
334
132
926
992
78
898
17
885
445
811
423
70
507
828
175
176
627
682
43
910
152
721
124
999
124
512
627
107
254
975
213
164
486
350
10
859
86
572
861
168
798
766
664
17
535
882
700
149
609
512
189
311
344
86
196
861
916
324
503
543
770
815
514
734
56
946
344
657
737
730
341
532
932
847
43
187
432
314
666
515
151
155
146
67
639
487
444
982
739
772
602
638
706
483
154
509
974
567
106
590
340
746
208
232
636
874
685
97
366
103
648
3
484
165
382
118
282
412
519
700
387
709
209
946
181
320
802
82
860
795
847
282
487
62
31
962
758
648
554
572
448
955
682
212
971
559
214
817
704
512
445
951
309
209
943
762
162
9
196
180
547
683
983
774
373
875
436
162
903
411
428
248
231
676
406
580
395
464
379
328
323
457
561
547
986
872
595
611
960
468
753
818
727
217
847
877
275
39
659
443
223
943
390
324
750
312
109
836
336
676
982
794
614
242
820
206
971
705
489
907
913
425
695
734
808
638
281
445
85
947
309
840
248
384
791
814
386
768
929
154
290
418
439
901
919
570
547
123
842
397
106
499
266
901
646
706
309
309
116
232
461
533
466
166
389
364
590
983
735
769
224
961
493
870
767
242
177
521
545
875
304
500
956
723
65
692
401
280
772
190
843
379
933
3
211
285
817
311
920
992
298
347
925
681
135
123
441
614
359
852
320
605
492
441
137
302
406
297
929
103
186
207
282
663
800
53
315
978
363
317
345
180
387
128
286
383
844
655
850
110
22
475
133
141
253
751
685
976
393
266
436
335
423
484
615
451
395
736
230
64
259
59
499
428
942
333
679
836
943
660
629
262
609
922
645
827
661
541
352
325
810
296
441
384
791
340
754
90
648
895
306
819
934
236
433
166
955
366
309
229
421
913
957
893
479
641
751
260
864
895
829
628
901
198
374
81
514
430
969
65
804
279
518
257
184
932
283
252
670
248
319
148
882
724
492
997
104
824
943
754
761
44
380
834
343
450
286
257
747
605
579
188
641
54
545
73
407
780
245
169
235
817
248
719
471
57
5
883
121
504
833
138
232
713
140
679
977
225
61
832
746
425
675
416
498
778
585
178
85
535
198
606
972
100
28
623
91
74
987
612
996
167
278
683
760
577
236
32
964
414
807
632
889
740
742
948
171
686
766
642
441
711
476
266
770
450
448
636
748
563
685
297
532
444
882
564
221
294
435
564
814
745
72
248
625
715
587
405
973
54
824
315
765
76
246
261
476
424
45
721
80
646
462
783
397
278
310
489
680
688
940
283
643
687
244
477
993
902
124
27
101
828
847
340
720
846
698
531
145
314
32
272
186
814
375
300
284
562
57
516
587
58
337
650
478
26
885
813
16
734
887
891
626
699
821
527
776
561
836
954
277
441
981
566
432
575
955
945
236
965
639
357
361
8
238
806
542
515
875
460
497
36
121
294
918
905
498
598
98
561
861
21
877
469
319
291
650
30
18
759
776
815
538
339
572
971
440
742
102
53
720
579
780
989
221
763
172
620
529
67
732
856
181
939
12
949
551
547
471
43
731
560
920
765
794
701
740
875
400
824
341
493
362
828
284
124
308
912
645
915
195
118
192
718
985
258
840
880
900
945
639
867
139
207
33
190
919
686
479
167
507
403
647
986
531
39
940
407
871
240
923
639
932
738
343
325
940
87
319
309
333
573
586
941
672
566
81
553
475
687
954
875
337
685
563
978
504
105
655
219
179
925
291
628
933
272
967
389
382
846
209
403
668
988
212
796
706
67
808
564
154
197
587
444
578
877
792
9
540
416
413
77
871
644
807
961
688
993
297
429
786
253
285
735
765
532
409
604
815
946
196
596
232
592
960
437
194
815
407
552
252
848
175
238
542
648
852
299
365
983
551
849
94
535
224
807
807
810
417
916
569
391
143
132
49
305
564
427
868
122
977
615
745
700
981
390
101
10
910
197
22
467
886
714
489
184
455
909
420
179
310
157
450
881
115
481
767
451
797
396
589
185
82
117
130
327
888
539
533
33
179
36
714
929
921
140
287
581
355
910
908
82
3
874
254
110
321
753
515
706
422
737
563
219
615
921
117
612
850
988
851
44
513
518
944
11
119
763
510
213
276
154
407
656
7
842
70
304
922
398
643
256
248
891
932
958
691
656
749
67
491
812
962
405
841
469
195
899
689
145
870
372
938
637
135
571
402
687
411
938
952
939
42
416
943
401
531
791
141
24
182
550
707
894
961
739
613
695
305
619
686
923
297
234
661
197
935
814
753
525
119
494
454
346
787
332
365
111
124
742
548
269
770
728
901
164
138
899
991
316
286
545
266
153
389
748
368
983
421
824
441
493
507
523
185
169
2
946
996
344
237
115
382
759
492
180
663
708
972
41
422
69
396
318
194
194
209
827
356
891
745
881
248
224
759
402
908
744
910
887
433
447
448
9
601
965
968
298
475
37
850
650
771
919
451
963
175
329
999
130
507
69
978
12
684
284
879
701
102
761
857
167
676
760
575
337
571
252
943
89
576
968
164
968
818
701
502
577
628
895
401
625
95
316
464
576
781
441
561
642
316
539
429
379
239
783
764
126
787
362
867
128
972
329
247
873
899
668
636
792
966
229
51
188
578
20
256
788
117
744
676
42
544
164
816
982
213
201
941
674
850
989
387
457
450
543
624
825
526
430
224
888
303
138
748
96
504
203
802
466
593
353
162
735
174
373
299
843
134
372
60
821
108
609
986
817
835
807
575
88
701
514
856
560
559
535
827
722
524
197
16
419
787
930
269
681
758
297
798
122
57
912
15
848
821
666
991
931
1
632
75
826
916
285
414
854
366
762
561
318
299
93
296
356
529
483
254
639
532
505
282
818
195
5
704
506
526
969
12
369
655
554
22
606
130
125
437
264
437
671
691
761
231
393
768
916
38
658
691
978
997
435
911
728
916
894
52
84
927
492
456
474
837
56
51
166
443
815
362
87
975
453
240
183
417
551
259
410
995
219
335
148
0
454
655
11
656
752
631
591
613
195
158
635
419
174
899
515
144
453
755
857
519
108
478
751
386
869
428
625
383
37
583
57
399
592
922
970
70
21
887
287
129
359
967
368
898
816
330
876
239
428
293
604
796
148
618
115
731
855
842
245
811
479
679
879
885
207
397
224
177
332
184
438
362
173
927
732
504
408
684
882
11
297
180
501
102
332
30
300
921
536
848
999
188
376
796
791
983
484
1
891
74
264
415
903
154
608
766
61
716
917
221
176
597
105
998
708
355
939
610
167
746
437
276
104
662
91
452
892
765
449
530
209
669
834
46
712
177
161
239
137
333
582
86
595
469
144
2
82
954
15
940
60
212
185
84
510
793
779
7
177
666
425
27
412
780
498
554
756
100
698
391
378
730
149
444
870
137
381
866
473
722
145
941
763
18
772
661
192
701
410
823
802
705
434
935
272
895
994
589
361
912
233
414
757
300
418
630
863
665
156
397
378
832
128
501
527
56
676
300
123
375
507
420
602
467
25
287
53
869
119
257
144
368
795
534
12
840
667
480
211
850
349
746
178
580
844
548
295
875
701
359
890
285
590
828
57
182
749
58
855
610
549
196
327
426
648
666
207
322
743
103
704
285
258
634
918
918
23
680
139
923
561
955
780
546
831
865
866
411
240
318
965
684
823
144
528
724
530
673
156
71
907
346
3
175
918
904
832
34
270
76
194
56
420
116
671
98
974
821
123
501
275
562
196
921
711
447
205
64
814
191
231
18
63
728
516
601
208
714
56
475
981
903
987
89
231
751
161
935
284
154
280
552
681
298
633
335
387
978
169
68
947
923
245
727
56
610
729
598
811
847
711
195
884
222
902
804
413
990
854
632
197
295
938
195
337
536
764
77
879
999
146
822
974
420
633
8
329
168
724
546
438
663
636
37
917
744
599
878
812
87
837
395
571
939
597
451
516
817
315
350
200
153
415
714
436
251
98
382
599
414
58
174
801
602
652
661
967
327
323
748
918
70
226
28
639
896
266
150
799
85
390
34
754
226
227
34
152
423
651
243
299
923
684
238
727
39
227
557
711
57
609
416
882
646
535
865
632
341
189
118
916
310
441
197
677
575
352
651
421
313
972
11
473
282
909
883
791
774
271
297
260
235
423
746
106
710
930
772
180
99
432
126
291
224
867
102
586
895
743
862
972
756
237
619
915
302
804
489
660
818
713
99
607
85
422
839
822
801
764
781
708
50
641
814
393
802
504
805
266
113
610
650
891
749
149
751
514
599
268
275
718
335
308
707
147
529
946
549
919
267
927
555
431
612
763
576
88
57
910
642
973
731
212
87
712
518
502
161
834
835
515
586
302
848
156
514
235
167
192
818
803
269
647
412
372
499
496
286
66
934
920
445
898
152
868
355
284
585
790
415
875
853
517
263
46
365
547
831
976
77
321
339
128
225
137
478
858
424
1
484
495
986
845
311
268
95
517
314
819
789
616
548
302
555
475
470
877
786
776
33
923
24
362
62
131
172
495
946
683
962
679
217
975
745
944
969
14
936
492
735
569
469
891
804
977
102
523
104
44
525
472
805
739
25
891
420
237
437
626
240
476
758
136
131
938
803
937
844
852
144
527
597
299
983
121
920
312
260
177
172
840
644
460
935
417
23
478
631
753
742
486
650
340
478
212
917
579
337
281
167
299
807
924
815
203
469
882
656
488
11
805
741
261
585
179
296
301
228
814
729
999
0
257
756
504
615
975
58
355
910
204
800
295
679
613
779
606
352
994
919
343
693
903
863
316
693
672
630
610
910
177
258
44
795
823
403
199
83
21
993
782
817
832
772
270
504
55
939
270
663
916
462
152
723
138
403
710
328
356
435
213
888
658
199
950
764
63
312
354
801
650
60
292
459
537
2
926
113
696
449
67
37
435
711
308
496
145
800
585
132
656
615
667
93
450
312
983
443
986
672
992
114
137
948
49
935
516
269
714
402
640
924
639
3
591
322
955
560
893
992
297
439
687
342
803
342
833
997
493
949
803
524
886
936
122
173
463
332
592
569
7
84
541
255
910
998
423
562
350
318
194
828
443
706
814
440
331
10
862
192
934
375
612
8
841
232
758
195
602
962
951
299
799
941
497
58
225
24
987
370
424
189
501
477
70
304
348
431
377
322
109
26
30
439
430
479
885
494
276
727
831
857
850
541
446
334
14
686
120
470
831
76
835
796
490
996
94
374
295
763
594
496
856
186
716
840
274
927
384
554
978
812
991
804
943
52
881
283
680
811
970
414
888
550
571
640
447
130
255
563
859
885
135
645
243
971
150
381
164
254
438
216
278
632
5
206
505
989
99
797
649
795
915
885
336
361
287
404
438
549
696
144
104
922
950
675
224
683
696
287
707
808
900
866
736
871
649
278
593
382
510
794
235
47
937
966
249
524
16
525
389
217
439
410
27
839
270
318
419
636
827
305
841
301
456
200
731
437
729
765
1
975
690
148
811
284
492
430
888
430
92
736
939
771
741
24
989
477
299
39
680
53
106
145
360
900
939
487
936
576
352
249
760
789
275
304
425
445
590
686
344
141
548
881
606
967
886
51
612
586
484
813
381
991
68
336
756
93
236
450
612
775
461
654
755
873
644
190
346
853
99
215
588
925
547
929
310
107
443
493
333
594
882
768
740
946
569
851
813
742
294
68
490
602
215
383
414
855
857
188
553
603
614
106
990
673
571
540
883
751
182
7
201
890
118
354
861
704
207
10
555
898
444
639
355
142
720
684
465
616
941
603
298
986
781
989
110
143
895
753
305
18
664
780
519
735
792
189
457
707
862
778
38
891
568
823
337
410
578
152
477
982
411
707
83
203
263
519
420
727
886
341
94
759
836
843
94
258
256
84
422
351
612
463
492
186
489
148
700
299
338
243
78
474
490
359
743
447
711
803
871
796
188
469
622
665
995
208
941
567
296
19
185
161
347
982
3
475
57
849
234
625
338
277
713
156
704
856
935
218
330
186
442
314
317
394
496
486
295
285
2
66
984
376
672
868
957
12
763
210
268
439
915
316
296
534
193
803
591
843
16
329
495
428
505
50
910
384
319
831
246
319
177
280
829
22
595
879
523
773
568
606
106
96
890
436
380
509
523
691
381
832
591
537
733
581
453
678
351
598
199
639
326
169
114
545
534
114
417
236
401
959
88
318
888
839
812
917
77
444
21
566
767
376
722
975
640
177
981
444
163
789
404
74
124
702
726
184
207
156
401
747
922
740
622
492
493
20
636
750
22
833
713
444
704
543
109
684
569
756
935
845
725
101
407
133
389
509
30
943
655
798
432
646
480
790
935
700
918
910
387
214
857
741
709
487
560
64
883
324
594
774
536
94
994
106
550
638
899
373
32
432
151
117
455
961
204
306
831
247
954
323
238
413
881
95
19
174
672
830
697
881
130
484
201
770
908
95
223
806
445
178
478
145
927
718
452
898
713
963
675
21
413
613
773
496
764
476
961
244
716
691
65
896
113
57
663
794
736
21
122
69
760
973
777
739
539
414
505
966
46
575
47
953
818
526
825
886
469
987
400
404
14
358
612
247
980
630
214
317
672
127
657
234
597
21
642
817
373
472
209
416
96
143
626
121
653
457
278
881
716
390
485
201
160
518
72
701
510
928
715
849
5
712
79
222
354
261
302
873
19
529
341
63
41
750
575
80
275
757
694
481
681
383
307
263
837
173
474
326
772
431
587
863
90
268
486
601
725
65
149
271
144
353
677
789
673
15
146
839
165
740
913
938
507
273
935
14
467
931
573
326
740
2
186
190
640
156
747
933
72
955
429
957
270
253
48
841
402
598
162
110
723
618
315
372
284
902
546
526
597
298
746
649
245
926
149
728
794
118
744
215
111
750
714
438
45
781
246
925
856
330
516
634
984
176
471
769
34
781
653
226
482
473
482
741
780
692
200
420
578
701
534
328
776
614
676
94
680
7
878
463
3
531
601
285
997
332
777
541
708
102
828
17
261
73
742
808
202
36
925
126
661
785
584
571
624
850
734
666
760
931
177
197
47
619
959
582
431
302
73
989
229
676
262
754
412
805
885
565
284
858
506
119
634
442
704
90
854
775
343
26
730
306
128
625
355
80
472
224
140
668
968
850
986
934
557
537
384
510
543
273
469
942
978
144
705
428
176
975
801
483
537
810
98
565
665
884
411
757
152
485
79
33
200
686
81
906
372
810
832
459
279
955
714
48
804
100
573
28
953
181
496
462
200
572
944
819
506
497
857
197
383
145
244
770
707
300
179
312
776
89
313
840
397
578
603
648
553
540
742
430
220
688
465
619
206
796
851
436
735
482
120
466
871
481
460
106
722
778
730
244
777
555
574
327
326
781
730
567
771
986
487
75
927
866
715
73
235
152
109
433
789
425
92
798
672
594
764
303
362
132
189
749
170
388
681
217
614
777
373
948
923
891
919
445
632
370
920
744
973
295
960
611
485
484
887
896
613
417
773
201
538
176
542
400
821
166
142
787
384
34
886
85
253
264
283
693
25
410
207
824
295
276
581
974
337
880
601
808
549
64
171
411
633
420
878
955
504
759
434
112
262
811
416
958
77
502
401
736
473
532
881
212
484
799
284
366
434
373
198
162
554
363
648
450
64
393
312
850
619
114
107
549
891
707
746
318
504
749
670
487
267
830
569
964
337
811
691
550
673
370
888
247
732
846
413
471
525
16
406
476
522
875
130
748
350
339
967
960
969
754
780
19
301
921
975
200
694
428
619
434
858
143
459
939
890
492
54
771
199
43
167
711
873
950
152
118
210
177
266
222
952
129
153
248
477
7
981
11
354
958
490
98
530
43
723
151
148
655
98
557
894
942
672
433
676
983
862
130
729
36
665
788
119
569
950
193
904
437
832
582
270
934
199
759
719
811
740
892
916
328
957
875
986
303
87
155
653
129
695
496
823
261
202
35
793
568
334
429
837
209
265
157
723
535
505
298
736
465
494
674
879
402
634
632
695
410
404
804
74
847
843
829
480
961
122
506
219
578
705
802
45
572
286
152
208
969
933
30
496
276
488
657
222
325
467
564
402
631
615
565
115
733
534
352
978
627
360
205
204
7
152
200
175
34
334
722
730
952
511
926
8
116
62
627
544
491
680
492
898
921
366
641
28
936
920
900
627
456
548
179
649
485
582
359
672
804
365
861
736
997
513
982
556
516
300
639
610
387
912
145
931
948
385
10
204
48
47
321
699
784
454
78
419
64
898
624
537
624
142
752
212
546
736
474
801
954
967
21
302
438
775
136
639
977
37
225
407
510
201
299
10
650
4
42
130
163
409
364
574
691
728
271
12
361
136
879
119
504
581
183
761
125
758
741
826
941
871
863
866
504
116
65
631
11
986
614
847
803
143
413
396
212
805
143
519
46
222
576
447
343
974
6
191
698
689
918
913
967
230
364
301
800
251
80
849
234
778
718
423
112
825
5
526
407
434
91
790
339
169
321
691
574
412
232
657
337
282
943
806
492
279
102
342
150
133
771
463
503
465
78
905
882
812
980
448
348
252
188
517
708
497
640
322
322
820
286
820
725
708
174
831
597
877
841
285
599
30
577
945
981
953
366
68
804
125
716
842
127
367
761
99
994
484
432
907
809
274
307
138
179
304
516
84
825
711
917
967
148
541
901
717
584
589
820
722
522
150
449
203
677
794
324
905
190
323
411
539
991
653
448
239
966
41
220
363
256
558
75
66
436
488
939
991
146
114
796
689
857
75
543
628
95
334
693
510
239
94
379
201
586
499
212
734
373
469
877
677
11
212
449
994
663
876
823
779
24
752
650
123
160
912
864
734
140
515
979
192
873
108
641
979
928
796
265
306
801
488
354
190
720
556
944
523
206
351
340
776
770
403
623
190
584
638
684
931
365
703
771
627
839
189
662
539
716
508
288
294
458
206
972
780
684
522
734
391
659
951
59
83
800
78
162
135
716
202
110
397
621
978
3
137
645
685
542
905
935
932
631
29
694
434
459
813
679
349
635
104
532
573
626
934
366
788
134
702
462
888
177
980
223
389
862
347
184
727
398
8
199
787
517
528
724
845
224
870
76
730
653
567
153
644
845
155
853
498
151
886
370
168
411
948
17
772
619
529
668
345
585
546
349
88
506
867
335
995
429
742
424
620
420
981
504
810
973
391
33
507
486
800
568
417
689
319
396
601
560
450
927
701
620
71
110
427
754
829
265
579
104
40
184
121
555
227
438
548
622
239
273
678
55
138
266
345
182
499
319
502
592
522
636
23
419
891
274
690
59
48
379
264
502
525
3
975
479
70
612
368
229
503
900
287
624
553
333
82
687
444
244
740
427
31
361
153
242
865
72
833
110
7
246
983
564
242
74
398
114
334
991
816
564
377
440
999
343
355
166
295
283
41
530
512
14
898
974
828
558
388
449
211
355
688
321
278
207
169
788
375
133
258
440
637
34
442
980
374
752
624
491
742
373
291
24
150
723
531
810
511
334
651
557
292
347
768
499
933
949
110
671
779
675
297
664
50
510
796
957
146
954
10
249
939
273
383
278
441
508
91
998
453
898
136
506
520
139
208
877
934
996
269
333
970
761
952
831
760
839
779
106
216
207
676
960
983
319
970
17
578
678
296
126
445
388
745
957
536
4
677
483
503
416
662
342
946
40
685
360
801
996
8
213
849
246
890
695
94
881
94
38
529
667
936
414
808
898
697
334
883
35
709
159
39
972
592
166
277
422
988
34
562
530
641
64
61
108
907
471
591
221
259
6
938
742
801
123
398
374
278
170
366
190
300
827
752
150
893
233
49
980
961
705
362
874
580
788
298
483
262
459
475
98
665
507
926
415
837
315
613
31
212
37
323
389
859
599
19
50
996
428
196
783
795
730
942
513
493
927
661
782
538
872
346
742
919
202
674
912
358
391
761
445
294
292
204
911
183
58
196
644
156
82
105
774
221
387
546
106
950
49
360
795
633
324
954
634
163
615
881
726
297
134
778
774
804
292
794
386
40
808
452
391
541
436
880
617
551
616
890
595
218
905
106
676
443
727
640
906
843
855
672
975
343
59
578
529
630
880
974
756
623
118
688
915
289
302
471
570
127
82
705
981
419
912
327
116
58
789
9
938
182
665
999
311
594
658
405
745
181
756
993
421
316
574
223
632
468
913
437
497
702
416
928
111
352
779
283
116
45
52
499
279
77
451
667
619
216
718
351
5
994
786
17
551
712
141
771
204
211
60
976
472
692
177
972
866
882
732
788
252
264
9
840
823
946
928
345
32
886
258
73
527
341
908
585
291
757
453
122
628
65
204
539
715
515
454
477
285
81
95
360
683
914
848
136
232
747
836
650
784
648
38
584
929
37
181
364
906
104
214
534
386
55
537
670
65
849
896
978
249
811
402
821
781
852
127
146
127
117
263
512
495
897
825
990
980
409
822
1
713
245
855
259
925
304
524
478
599
741
563
342
93
815
261
794
114
306
45
918
401
323
428
865
603
488
140
654
933
617
654
397
759
554
747
569
230
374
799
185
288
723
973
664
828
305
442
846
125
171
899
667
335
792
31
104
112
688
67
735
198
213
967
687
16
930
874
230
701
901
755
980
107
730
809
150
635
197
107
721
497
507
395
472
362
869
628
351
213
87
523
940
397
424
935
144
421
508
161
74
615
878
525
964
30
226
587
428
353
185
885
238
859
863
533
475
276
146
551
741
870
507
859
123
161
485
599
415
84
229
106
145
744
177
776
939
9
230
445
234
673
469
355
620
918
592
912
748
776
372
139
302
548
113
751
591
952
778
325
812
395
589
14
846
211
745
272
175
821
878
925
628
19
962
909
650
692
807
481
649
735
299
106
345
688
348
499
759
78
658
46
612
267
97
393
457
901
280
925
133
7
176
365
599
331
159
333
907
217
463
110
668
944
848
557
410
157
613
977
631
636
992
568
258
470
446
306
475
535
53
834
312
715
292
320
185
230
943
315
11
686
932
168
542
14
487
486
877
850
671
344
486
741
68
805
936
930
250
84
373
483
400
660
64
226
790
665
643
384
512
523
215
509
133
964
463
26
318
251
321
991
277
723
228
184
274
446
850
154
286
66
510
488
574
137
348
344
98
594
344
637
933
526
112
245
232
610
744
466
561
932
892
509
289
745
733
932
296
72
520
815
101
209
879
363
865
499
92
65
468
185
964
178
80
254
192
272
281
526
0
585
887
371
492
30
724
360
551
846
132
801
274
297
339
824
690
188
514
440
647
421
704
977
338
534
91
74
211
26
924
829
953
615
189
155
604
241
137
785
986
12
258
44
477
624
346
790
22
745
413
633
116
327
941
882
396
462
967
129
900
748
874
94
104
872
241
212
362
509
498
124
126
461
41
479
357
211
272
567
99
615
785
945
646
471
832
703
285
914
465
74
115
240
887
517
236
419
224
392
90
249
902
722
4
333
548
424
584
404
139
927
607
930
982
678
383
103
894
815
199
951
275
255
928
732
656
119
348
911
390
868
796
594
840
389
387
347
33
78
150
33
855
660
367
18
647
296
534
3
587
745
57
969
89
626
665
449
171
96
383
188
866
105
158
531
631
683
469
623
554
675
313
227
891
107
371
851
855
710
958
52
37
611
204
807
94
89
882
457
605
657
912
513
688
289
862
964
8
982
679
846
744
451
64
610
244
866
84
211
848
581
749
518
432
381
858
467
133
738
855
78
589
277
803
629
708
95
447
985
222
565
106
663
583
221
615
579
869
908
497
337
0
173
928
108
550
20
17
730
761
361
529
554
976
122
234
453
145
396
273
735
721
498
301
991
113
237
500
147
807
322
278
255
271
184
519
760
120
980
453
173
587
278
253
109
646
558
612
40
447
894
747
733
21
351
312
323
716
278
336
573
959
35
993
748
948
858
780
424
532
792
628
561
505
549
117
492
739
292
936
994
989
188
641
821
229
793
167
279
758
522
586
442
733
26
879
165
828
537
870
566
434
812
87
537
160
100
331
663
159
828
957
651
138
609
357
210
752
87
121
381
896
147
196
393
575
223
565
993
145
242
508
423
240
634
276
44
897
746
38
931
575
311
54
855
533
977
530
752
774
973
359
538
689
280
555
341
115
617
43
737
620
109
20
722
121
62
569
385
785
302
512
500
726
15
257
473
890
488
660
616
403
987
253
319
133
690
827
186
721
962
278
578
99
540
155
846
302
345
102
518
573
800
978
258
984
262
849
421
559
362
865
72
519
210
65
563
287
461
391
118
941
377
508
755
838
215
238
896
604
153
224
529
993
985
204
562
643
137
393
948
157
176
532
108
441
555
730
333
991
53
364
960
993
947
666
841
96
553
376
157
66
207
263
821
752
646
67
775
296
820
180
429
220
173
974
542
439
776
182
909
581
41
40
479
529
866
524
310
166
347
658
652
373
364
284
664
509
315
588
729
507
19
946
614
905
654
355
301
389
548
961
677
621
348
45
472
266
78
214
794
116
178
26
489
691
931
124
585
420
966
303
306
358
39
440
46
336
251
783
720
734
182
519
443
85
972
257
349
179
644
536
131
790
534
137
480
927
188
969
595
564
361
489
522
666
415
444
66
373
69
727
152
545
383
912
730
48
802
832
406
121
695
393
106
764
439
606
64
23
430
915
521
754
147
909
145
115
585
842
936
505
766
369
191
959
859
29
690
56
755
386
715
153
664
219
27
602
137
372
342
285
531
786
466
390
755
492
888
669
677
580
531
859
934
364
990
665
621
231
246
715
184
367
628
303
496
631
982
698
685
262
707
263
797
480
31
400
322
436
209
697
587
538
659
481
712
64
898
596
528
654
112
548
926
538
143
19
780
878
898
867
887
914
625
859
496
486
104
611
474
112
823
920
66
500
490
448
971
697
584
520
711
285
594
544
275
613
543
68
120
836
636
179
543
157
202
748
794
915
261
253
927
556
827
826
325
463
927
800
664
821
509
558
376
270
373
737
749
138
945
91
997
655
564
156
141
185
560
173
235
728
7
582
270
480
931
386
461
956
396
852
765
121
731
530
719
605
929
852
39
569
996
555
531
196
358
781
722
834
687
114
375
495
424
635
181
430
313
505
946
971
694
259
315
213
732
961
132
237
212
75
41
618
52
760
608
850
199
682
938
298
221
392
793
642
606
692
255
949
790
975
898
328
502
917
382
2
109
895
762
333
21
290
696
267
368
406
349
380
120
563
753
654
676
879
745
594
179
559
522
657
960
483
813
639
822
472
609
307
348
687
685
994
424
134
961
49
855
968
634
393
364
609
492
549
286
457
362
276
796
941
675
833
621
830
779
62
861
78
871
664
189
748
460
227
274
503
885
446
450
940
878
378
538
246
719
325
52
52
969
48
875
246
890
430
74
330
109
773
40
936
628
668
950
235
939
489
246
335
695
445
196
520
322
316
862
846
82
530
714
345
590
317
415
482
513
832
75
743
661
965
217
192
468
701
885
914
172
926
796
736
129
252
865
374
974
721
682
94
7
360
946
212
723
109
836
184
805
864
676
197
992
801
411
874
616
609
269
798
913
169
662
183
426
197
944
355
324
334
120
374
253
205
683
36
170
138
608
344
644
382
367
777
787
739
824
457
287
667
33
330
606
417
946
402
327
10
532
384
724
988
515
127
274
184
39
439
656
779
70
748
335
852
505
539
3
245
87
849
515
198
674
519
744
107
89
531
721
341
231
744
889
843
975
475
817
12
388
189
15
377
270
896
949
564
983
734
406
803
9
510
429
374
307
65
459
533
963
817
899
931
123
352
111
378
401
99
932
528
761
436
490
895
263
897
543
420
751
15
223
690
946
820
294
22
75
179
628
482
914
835
348
363
736
5
117
481
435
268
721
277
161
692
309
252
595
251
411
664
566
220
299
963
248
845
484
829
668
794
583
447
199
880
51
640
759
448
378
923
56
628
305
295
491
665
580
155
852
907
903
415
665
628
826
176
875
261
740
762
772
646
461
519
723
584
200
97
386
771
374
633
124
81
742
96
701
387
613
256
760
180
258
27
69
736
112
959
953
80
7
374
677
177
57
95
93
757
575
260
491
994
199
702
575
924
794
649
352
537
134
51
876
162
995
700
809
893
331
517
909
370
864
643
757
865
796
35
577
678
601
762
94
600
480
63
849
3
397
318
209
947
219
929
46
293
540
668
137
584
941
160
715
853
141
57
779
148
125
519
826
422
392
139
574
376
541
169
548
263
93
448
714
816
671
746
250
745
800
466
54
106
645
457
268
200
694
408
207
565
255
375
810
514
329
630
331
497
187
417
551
0
25
964
805
609
963
810
863
357
716
871
128
704
4
958
564
932
267
380
41
43
327
337
517
361
461
83
37
425
431
826
711
281
3
886
194
438
763
757
994
629
777
422
987
617
323
746
866
10
539
865
845
111
508
914
934
663
748
517
92
223
906
581
559
92
811
466
592
201
505
944
801
341
816
491
863
410
940
61
705
234
232
979
806
318
821
301
479
2
632
713
972
59
171
47
679
278
462
171
482
88
110
532
347
880
557
602
854
763
850
68
941
297
642
833
782
349
388
176
920
733
30
426
608
884
755
953
98
72
954
768
727
615
406
43
605
978
731
731
100
973
204
707
935
261
494
613
707
293
358
279
538
399
857
720
678
872
944
867
449
483
373
589
472
633
707
26
504
780
565
761
734
902
118
934
257
29
894
528
930
991
431
124
682
286
74
123
672
414
597
699
637
307
648
451
367
106
958
535
347
361
308
829
691
478
395
718
693
889
230
193
196
981
633
174
121
561
478
390
848
541
578
843
665
742
148
440
904
216
295
619
83
934
804
386
820
626
925
50
707
936
741
626
735
631
19
252
836
903
643
845
622
725
938
924
785
0
59
591
316
669
553
671
32
907
28
233
850
157
932
89
877
686
934
132
108
427
493
370
387
795
888
571
874
786
17
470
662
200
331
36
300
829
775
678
222
511
31
564
137
970
528
808
912
252
378
711
916
170
999
827
449
666
914
27
146
320
822
620
841
540
209
54
339
811
914
804
94
819
399
515
207
90
57
786
975
242
427
312
362
136
806
893
692
577
255
878
583
734
699
545
208
52
839
859
862
200
5
786
693
110
475
977
3
398
154
405
122
894
595
342
287
773
955
566
356
916
446
803
348
965
94
451
384
101
624
92
619
303
366
487
750
340
307
320
67
176
813
740
257
283
525
234
328
431
33
913
692
373
160
224
283
685
696
645
866
885
884
283
442
961
286
145
201
517
970
115
51
204
115
1
79
792
69
413
62
66
693
453
551
609
705
871
347
922
361
355
701
87
686
356
665
37
818
23
675
356
706
908
583
775
630
134
997
25
276
555
492
786
72
539
776
713
170
618
376
723
190
381
111
631
685
112
284
612
739
292
374
517
662
962
594
509
444
265
584
597
460
898
795
832
731
439
907
382
600
58
960
839
132
289
921
461
687
498
728
728
174
693
261
294
854
981
758
865
640
418
105
193
861
285
486
6
711
209
460
286
110
810
623
63
337
175
878
462
399
656
917
900
882
509
295
987
920
625
663
281
763
160
517
609
894
942
1
479
605
986
705
295
437
35
215
884
870
962
417
87
495
441
770
782
90
108
647
193
471
206
224
98
573
897
524
644
1
722
91
997
229
185
278
471
5
736
79
667
443
794
837
46
149
407
124
396
252
584
638
528
43
409
624
986
784
578
624
622
340
896
163
175
421
381
830
23
643
597
635
556
261
858
406
217
464
741
243
558
449
559
998
777
461
698
158
128
197
445
781
506
560
512
333
585
617
798
286
2
108
747
785
100
576
469
975
656
749
210
126
79
137
278
261
50
262
837
814
437
585
711
479
634
821
107
122
437
51
365
251
651
773
853
23
740
969
751
468
63
283
724
645
472
421
89
18
537
658
672
151
665
721
457
440
510
545
880
926
415
410
147
892
828
329
449
632
742
852
361
702
840
376
770
75
808
124
199
114
224
148
361
319
819
899
468
844
764
621
91
933
613
347
339
725
398
920
720
305
659
267
308
60
853
759
298
765
975
816
988
557
879
703
370
789
467
915
504
137
815
758
894
221
106
348
135
134
437
33
102
207
856
677
20
884
117
804
548
342
832
474
33
895
396
393
125
472
716
320
48
165
610
138
341
528
488
983
184
375
750
950
80
148
473
108
702
796
584
846
504
552
23
762
74
860
323
415
264
724
513
762
502
929
261
112
651
696
702
455
810
471
961
64
480
416
170
428
495
303
642
403
26
934
819
22
498
231
498
780
780
80
908
474
954
831
619
299
440
209
16
354
138
996
388
556
969
484
664
96
746
127
344
161
838
120
373
171
80
787
323
536
937
988
983
303
912
150
415
401
443
324
274
925
811
754
619
524
0
325
211
846
167
447
311
984
961
992
220
173
91
636
854
362
207
70
407
15
175
430
749
897
566
796
367
714
72
174
269
125
232
993
428
723
173
134
518
671
743
377
260
613
16
598
373
997
668
545
616
762
452
944
930
285
536
602
136
488
401
868
463
3
799
811
839
122
962
295
595
842
272
65
979
743
399
123
119
474
677
775
657
925
201
951
621
328
386
694
975
437
278
563
374
516
447
678
735
829
33
733
585
769
684
775
201
856
333
657
254
82
975
959
558
28
56
527
728
678
611
168
864
180
54
563
34
889
838
64
944
256
253
132
874
287
890
661
237
12
739
992
990
247
185
16
276
714
913
712
40
727
604
129
784
992
906
604
724
665
397
526
30
845
652
700
988
333
749
920
628
528
655
657
87
202
526
878
963
405
58
455
427
883
720
758
804
277
786
927
628
786
626
660
413
202
815
252
966
325
532
199
695
237
252
658
559
2
374
427
736
815
440
590
589
976
380
768
807
68
481
58
152
779
84
229
849
776
587
315
130
711
577
184
222
935
462
717
998
279
769
513
418
133
831
951
201
500
748
686
857
361
77
471
934
731
840
14
599
9
5
317
247
677
358
243
68
364
326
549
164
48
787
223
165
765
656
73
628
264
653
288
642
357
642
394
749
890
929
910
628
518
956
278
235
683
759
996
951
4
677
481
424
772
930
929
741
642
682
183
919
801
67
371
64
46
396
711
652
105
257
351
128
791
887
419
619
518
66
271
139
855
904
627
526
323
613
40
406
378
160
342
465
11
58
933
584
638
278
454
490
697
931
910
854
904
356
196
951
10
929
673
231
42
92
813
626
478
857
58
685
854
308
888
664
360
288
739
483
937
745
458
670
894
48
329
752
843
785
179
880
513
173
636
136
692
992
652
300
115
731
605
165
722
109
118
953
245
232
69
707
502
172
508
429
650
162
244
742
665
768
336
799
618
611
804
577
143
997
971
603
332
640
968
819
711
951
362
226
376
570
827
708
151
224
411
549
504
955
819
120
551
984
25
611
911
801
426
295
939
364
424
754
680
772
22
958
515
613
398
354
661
754
646
450
634
918
262
68
353
900
360
630
453
252
286
622
833
561
26
971
218
615
957
269
876
450
367
538
256
980
743
918
772
211
701
51
262
373
701
26
830
801
187
455
766
836
300
242
938
28
466
25
246
713
320
156
380
281
814
195
976
221
601
498
50
322
948
121
94
374
403
711
207
568
463
515
721
702
50
728
716
737
589
850
251
887
618
937
391
889
662
548
401
456
911
490
583
527
368
109
10
292
12
156
757
148
68
919
289
635
926
202
751
518
675
99
430
202
45
822
117
697
284
765
14
479
714
365
669
253
613
601
340
843
587
227
745
421
435
858
677
172
383
56
506
212
297
6
933
507
628
623
0
736
455
228
404
432
664
997
87
538
83
877
954
618
100
68
924
628
751
775
98
381
351
501
895
783
666
832
118
439
275
952
104
433
552
449
880
542
521
750
778
38
297
772
997
510
569
251
267
658
32
85
315
322
527
822
574
45
606
320
7
798
411
157
226
573
627
66
668
144
965
389
202
288
329
360
301
450
719
866
687
297
812
605
88
541
750
476
853
318
196
807
237
285
697
835
47
699
828
649
22
56
478
393
231
961
57
548
273
332
871
985
382
151
21
637
106
576
983
469
946
847
705
369
442
34
943
34
666
542
301
623
735
863
344
681
410
656
707
305
651
281
163
286
976
709
546
418
700
913
940
447
449
56
564
665
638
697
372
209
821
879
647
744
131
752
831
445
820
314
729
163
105
402
866
202
241
65
965
346
700
537
100
564
599
55
760
392
797
349
921
647
435
964
173
77
295
204
386
187
396
316
420
981
258
511
996
687
189
526
71
870
527
261
781
752
271
603
621
501
620
149
105
640
309
847
217
270
366
632
382
85
992
545
439
38
895
489
70
830
355
227
918
648
825
537
988
154
321
537
699
274
979
194
291
554
820
63
396
243
569
299
40
33
160
349
776
455
101
804
165
4
613
631
863
275
883
993
749
142
35
333
389
355
986
986
264
699
904
798
322
360
383
603
225
833
38
797
990
241
760
60
84
988
131
517
103
341
668
994
829
868
933
725
353
40
689
446
574
175
795
885
943
317
709
403
157
6
735
494
106
138
387
105
448
311
803
644
548
854
600
160
494
782
786
773
94
583
931
442
183
466
844
975
116
266
989
124
853
687
792
240
585
94
555
992
628
247
983
743
480
988
216
382
885
985
659
415
782
884
261
91
22
193
135
770
244
192
975
331
583
947
384
360
159
19
672
573
237
621
118
480
326
63
509
981
362
948
313
479
490
591
874
210
913
732
650
751
76
73
331
702
545
492
561
660
887
303
110
970
667
853
125
278
674
498
351
262
687
92
834
814
74
308
728
107
372
203
613
863
164
866
724
490
668
14
791
199
832
332
152
757
399
76
524
529
670
997
988
422
675
623
77
902
146
637
978
669
201
706
848
498
501
4
970
966
788
502
857
872
30
685
976
58
636
483
723
221
970
465
173
966
191
558
907
727
776
431
157
440
675
640
74
615
179
518
139
752
438
897
698
611
0
799
432
556
857
834
884
208
357
286
635
820
633
743
751
457
245
934
511
512
811
135
688
261
936
33
637
205
62
430
457
964
949
756
692
13
11
663
710
946
442
265
880
194
350
653
162
789
34
802
109
479
575
264
81
653
50
751
951
852
460
975
811
382
699
328
125
48
981
809
906
614
659
843
628
845
808
586
986
785
831
398
177
43
841
844
741
925
220
354
756
458
505
805
297
887
224
128
631
708
120
555
918
962
193
237
345
244
602
190
809
370
499
366
125
494
373
895
911
813
856
59
541
82
586
294
308
819
289
374
886
317
909
910
922
776
72
981
546
163
754
159
261
549
26
947
341
51
441
459
177
38
849
324
99
95
107
207
18
739
216
584
520
949
750
474
556
399
483
339
619
728
501
310
829
706
469
328
308
770
42
38
770
275
522
672
775
790
110
778
161
618
823
467
45
524
735
199
185
154
1
205
817
899
512
448
856
714
307
395
715
945
123
363
952
287
486
833
923
325
789
448
46
264
374
800
674
548
156
996
691
467
986
472
229
942
553
119
284
944
907
671
846
851
210
668
159
899
958
413
97
683
177
891
926
719
22
974
21
945
898
303
381
471
311
208
978
830
296
753
563
136
623
245
663
432
824
443
393
355
833
298
752
633
610
127
978
171
181
741
212
261
431
329
874
940
299
214
351
932
897
600
164
500
896
853
272
349
168
378
276
215
326
714
106
936
825
311
846
311
42
939
720
239
512
336
640
828
178
856
144
115
601
928
707
522
540
576
439
26
63
835
169
434
973
513
330
575
706
608
921
583
743
393
592
604
319
721
936
384
196
803
771
502
859
63
271
888
465
304
677
329
588
959
270
946
683
208
106
946
131
946
557
113
273
236
792
796
285
956
44
122
994
973
999
564
387
48
824
719
131
959
927
918
130
765
523
189
124
322
47
179
203
716
168
939
262
578
722
392
229
423
738
55
797
422
317
436
403
994
67
99
918
217
887
872
463
55
135
933
331
401
696
381
642
36
300
619
916
309
855
743
75
253
364
776
914
44
617
329
247
655
354
654
138
812
851
266
771
882
465
178
413
474
529
540
120
934
222
981
395
258
219
18
837
815
7
801
215
457
578
530
825
567
491
437
635
894
344
759
40
359
14
5
484
0
608
88
309
22
170
458
230
793
558
671
804
209
575
818
560
744
585
417
663
224
292
197
215
604
215
390
987
656
148
137
82
7
816
292
752
428
598
164
700
286
77
393
923
837
203
576
96
216
638
581
359
214
224
810
821
581
64
313
215
907
410
150
853
30
883
807
368
733
624
456
550
537
321
258
911
747
138
473
162
736
969
683
177
96
629
686
629
416
778
661
37
150
378
222
369
243
265
344
362
21
815
812
382
421
890
260
475
187
879
895
1
917
330
447
273
938
113
183
218
215
634
335
446
364
340
736
159
771
75
97
383
409
178
885
267
968
842
922
549
524
446
735
302
653
327
90
765
450
542
117
3
140
117
490
31
725
682
215
706
781
726
978
647
110
115
195
273
307
799
506
27
655
677
851
134
218
173
479
116
367
488
465
996
318
793
48
951
700
835
578
776
798
197
272
651
972
283
689
859
811
803
294
758
659
349
660
932
681
160
947
610
433
0
229
510
191
808
593
788
583
190
509
28
148
210
307
692
725
340
925
736
706
932
776
146
291
554
669
651
65
444
545
898
327
4
372
505
410
354
70
434
840
532
281
351
359
858
54
996
158
111
759
432
333
676
569
615
27
905
391
850
117
592
406
697
173
86
938
495
65
489
373
451
148
720
545
215
347
524
940
663
932
75
894
643
644
665
597
616
480
390
288
268
874
602
891
996
300
396
157
498
11
137
180
861
205
543
118
483
538
648
583
143
245
186
204
687
703
278
422
314
917
179
852
593
735
920
62
922
40
87
664
455
786
850
235
786
451
863
552
530
687
183
16
138
238
742
119
214
561
61
109
432
585
542
827
934
537
441
577
696
905
762
945
455
371
35
393
932
677
426
72
138
848
321
237
314
873
26
978
709
250
576
814
584
204
306
751
449
806
538
709
177
192
786
508
592
9
793
256
385
32
633
91
361
249
229
864
396
517
866
149
920
84
792
389
173
661
220
783
562
292
197
559
30
689
697
100
981
36
416
681
36
50
539
870
910
66
308
440
728
642
561
905
637
0
48
309
915
208
942
568
628
472
236
747
370
844
481
223
838
258
259
416
982
169
262
293
97
245
926
455
388
875
353
884
958
413
259
914
505
717
868
486
336
468
480
789
514
64
218
628
27
218
758
258
54
358
581
834
140
348
420
645
588
100
754
392
575
551
608
784
377
910
341
357
578
322
150
464
557
439
359
860
394
807
236
38
695
630
284
510
599
474
247
114
739
49
866
272
423
642
524
299
260
373
372
937
77
485
537
435
682
407
774
832
24
689
72
705
120
312
439
939
373
126
988
43
125
629
834
938
565
971
286
588
398
914
536
645
101
348
734
760
413
329
601
555
931
386
780
408
370
784
673
303
136
391
652
128
303
366
38
169
90
6
175
491
908
311
308
45
828
880
840
259
597
49
862
766
628
201
986
42
944
842
533
214
721
415
398
368
464
869
275
451
495
648
36
150
630
506
596
806
792
124
941
53
82
599
65
220
294
897
221
116
436
990
987
202
369
680
670
35
245
372
63
772
541
200
159
783
272
599
427
562
859
746
617
741
728
515
635
912
690
335
611
514
139
948
580
913
637
901
581
32
496
459
381
797
91
401
521
735
253
759
79
332
786
185
947
232
542
650
190
756
455
31
319
400
697
88
27
445
837
12
892
625
844
768
344
173
754
8
452
817
822
631
815
984
831
798
721
715
398
627
520
895
525
678
79
42
838
858
949
960
710
666
417
841
587
923
980
165
412
63
393
330
218
100
936
858
116
673
756
119
693
666
936
878
736
935
223
422
609
694
121
76
246
625
849
901
57
8
256
781
352
336
52
828
791
613
593
277
182
822
575
732
580
166
182
745
256
126
157
410
827
535
92
61
171
110
524
105
160
764
327
605
389
408
660
772
241
12
248
279
31
200
661
661
15
886
482
163
423
927
191
657
163
203
778
865
189
114
340
906
259
603
388
333
24
798
32
330
245
258
685
596
586
431
579
412
562
842
41
92
946
904
215
335
64
681
810
116
220
33
495
634
829
370
925
967
589
278
676
141
460
309
985
382
429
809
950
641
78
751
377
667
143
673
212
16
73
218
514
22
902
256
694
146
763
845
95
429
882
180
859
338
745
15
725
760
960
847
573
367
433
498
360
697
199
368
547
423
725
757
695
924
98
889
193
738
815
334
102
99
1
794
692
850
974
579
760
277
619
140
830
56
36
614
224
49
905
60
861
485
904
943
978
600
983
181
27
413
539
405
829
723
974
773
563
703
920
664
187
125
705
498
235
146
921
817
206
574
90
994
540
392
418
916
536
933
30
560
21
743
563
73
817
269
744
146
366
740
372
399
119
361
530
800
211
312
80
761
972
133
455
333
550
178
279
37
709
46
23
37
700
37
605
751
21
577
334
683
484
654
566
2
346
613
427
231
809
649
405
66
899
76
328
840
158
42
372
778
742
791
45
472
173
963
867
505
376
933
436
786
706
391
777
37
618
620
365
929
983
7
213
143
782
337
845
537
772
145
571
587
445
37
46
551
456
261
336
54
674
783
307
583
485
354
385
263
522
417
134
404
793
243
720
907
53
438
449
303
769
959
522
999
761
443
669
285
332
520
88
103
713
304
393
115
833
496
707
428
944
418
832
129
813
636
547
110
125
193
331
611
672
666
318
399
609
602
664
490
373
651
514
746
785
805
135
698
914
809
934
512
187
188
209
838
27
810
166
656
902
593
735
965
811
848
770
173
899
783
103
587
300
211
535
803
62
757
933
687
497
625
635
602
557
202
633
563
586
204
318
859
993
74
259
599
322
99
189
120
359
384
580
908
790
623
534
807
456
307
772
112
287
278
964
515
40
47
853
892
151
735
699
951
189
923
622
708
761
529
890
630
298
854
214
574
576
459
789
934
934
447
177
946
91
722
807
327
255
261
609
420
189
653
508
941
278
772
934
407
858
877
677
198
90
265
833
935
324
649
441
489
983
952
432
703
281
506
77
116
877
242
644
500
465
503
182
333
686
829
890
475
3
541
565
321
236
827
84
775
809
296
929
856
493
127
334
272
680
598
575
775
489
12
921
143
119
401
663
123
675
249
757
306
232
46
72
435
863
76
62
498
931
546
446
469
989
809
731
450
303
128
232
576
622
517
743
588
112
747
718
525
492
959
359
299
839
541
243
359
550
312
379
380
989
611
602
49
920
725
120
340
348
566
730
576
370
885
654
719
906
227
496
760
618
976
254
81
4
943
515
179
864
156
74
653
494
638
862
488
97
406
233
498
633
123
465
268
37
483
233
640
609
714
435
532
387
146
78
641
858
510
444
232
348
477
849
948
735
973
796
887
156
248
238
945
19
92
979
236
372
215
861
348
672
908
165
818
528
177
854
410
945
225
558
880
129
356
229
539
749
476
253
552
34
893
792
513
195
156
41
696
288
793
487
88
258
777
763
195
86
256
832
530
839
833
587
680
188
177
265
946
964
393
284
99
805
300
549
677
744
513
255
655
90
54
537
982
118
802
555
439
18
148
320
623
172
646
277
183
977
352
216
493
339
223
710
714
337
695
174
477
612
720
996
516
466
769
990
260
696
888
874
374
733
64
36
435
972
121
838
197
638
191
942
721
399
883
733
151
440
877
332
73
17
567
962
657
983
321
688
277
71
810
807
296
207
438
855
68
576
582
215
103
376
51
337
703
716
545
184
690
608
663
484
966
822
722
989
420
460
49
315
738
310
674
157
771
963
700
471
888
638
449
415
589
148
832
153
286
869
494
811
686
642
486
696
774
826
666
754
671
401
591
791
845
900
616
456
212
367
435
495
191
553
424
645
28
941
334
530
1
800
159
11
472
737
286
363
660
777
589
907
291
265
378
636
597
365
882
50
929
668
686
108
851
356
886
978
210
515
430
535
428
809
169
512
402
947
924
149
565
660
856
148
619
390
497
334
423
186
434
132
558
836
63
98
981
845
926
565
670
409
167
495
741
981
812
570
544
509
395
564
849
505
526
646
971
666
593
593
967
91
945
160
378
884
545
208
333
463
362
428
354
723
709
100
326
205
538
441
492
314
648
519
950
136
418
859
520
915
656
600
593
63
594
988
381
781
496
304
175
568
517
533
759
982
996
995
711
700
261
118
763
413
366
21
262
762
739
386
545
76
522
407
205
356
840
470
81
740
605
966
497
458
824
459
711
183
292
907
406
464
622
501
516
953
124
592
927
236
638
538
59
559
472
770
732
234
300
557
604
854
38
939
867
226
497
20
949
440
825
730
593
528
253
237
868
388
558
639
584
92
50
254
469
429
610
602
435
231
164
38
401
587
862
620
228
436
615
118
671
470
359
991
899
117
953
361
88
927
95
742
788
273
102
809
460
931
140
847
844
338
109
243
781
442
414
964
33
378
184
788
977
250
581
568
628
66
895
160
893
480
296
148
31
134
669
662
765
342
254
230
165
264
807
918
866
643
990
806
314
402
794
42
388
361
122
894
105
741
930
279
816
955
238
748
225
284
659
738
76
779
507
214
762
76
346
414
315
682
740
187
867
279
867
556
823
924
842
49
638
428
957
625
203
191
201
906
555
84
51
268
80
443
134
438
6
287
30
639
401
697
470
165
727
162
198
128
666
2
437
112
664
663
851
849
16
21
445
530
960
203
886
532
965
466
13
754
231
569
260
431
293
221
426
144
821
416
854
741
483
52
512
952
361
81
484
571
668
502
405
47
399
246
125
540
818
704
624
385
317
272
961
822
429
554
616
636
488
940
141
617
662
791
305
948
648
751
390
622
370
633
304
570
833
522
582
485
426
290
905
877
182
530
963
456
260
545
988
36
997
949
427
334
768
96
241
93
427
760
578
18
233
366
377
457
32
519
259
50
356
33
106
942
394
374
488
295
119
368
606
12
230
786
653
455
106
531
960
692
234
163
65
201
469
432
884
307
598
379
844
312
100
892
794
791
278
124
730
608
72
539
272
11
98
218
120
846
329
127
593
553
569
679
603
62
483
257
469
590
418
268
258
307
341
735
929
502
190
930
666
233
117
659
290
750
764
832
880
564
399
785
896
429
968
561
548
771
80
691
397
79
171
178
537
264
823
701
738
902
759
271
979
828
706
344
474
849
498
474
592
103
69
381
580
677
890
185
698
767
917
45
830
92
750
989
281
949
674
827
188
320
712
247
472
214
346
353
980
752
846
301
327
932
563
739
759
4
376
11
948
266
104
418
550
757
291
721
341
479
477
454
234
707
260
761
873
514
402
977
929
375
754
212
895
210
95
511
69
273
689
599
775
743
542
434
265
729
506
34
968
276
976
54
155
285
601
754
516
383
7
471
573
888
523
324
582
647
805
880
948
940
996
999
828
103
556
826
977
515
850
650
114
842
622
341
358
414
624
841
339
503
29
136
514
744
768
193
329
806
954
912
625
518
809
679
114
948
958
797
553
341
18
883
850
456
716
431
212
879
271
499
204
812
407
586
223
93
671
262
358
936
121
42
975
621
674
15
518
496
629
675
552
883
949
597
524
120
272
466
92
399
839
31
636
742
345
447
854
864
695
419
874
26
73
624
857
349
803
75
155
87
168
601
303
208
971
589
126
204
37
341
938
899
482
810
871
691
344
537
430
747
680
25
500
931
37
174
399
108
595
938
596
52
127
613
630
878
899
168
437
33
109
926
374
721
875
210
165
46
740
13
422
139
983
716
25
392
212
498
766
691
933
695
479
226
912
240
566
556
8
811
192
985
702
323
560
524
391
623
833
653
734
234
137
435
204
360
774
419
912
665
472
659
217
87
385
831
465
205
695
982
349
90
813
544
760
115
864
561
140
839
275
189
606
866
581
84
175
294
112
639
422
436
492
622
963
28
29
955
945
364
994
75
836
702
965
44
888
709
7
327
376
935
357
190
676
169
25
442
35
273
375
937
646
547
591
670
174
598
998
214
61
333
803
531
526
705
763
642
247
257
376
309
10
736
167
287
577
858
874
709
199
66
674
593
271
819
162
735
778
454
973
17
736
58
177
138
419
908
525
114
370
64
250
728
249
818
774
20
251
49
307
978
716
590
220
473
233
961
187
428
141
540
764
16
774
916
421
789
818
268
661
164
146
995
314
279
487
851
52
582
310
984
786
519
742
700
26
707
654
681
737
940
552
149
664
914
429
479
936
658
189
987
117
999
477
879
433
810
910
311
175
133
23
881
443
482
668
721
844
846
819
88
255
979
80
855
952
796
104
3
897
745
229
923
570
374
189
228
881
315
75
843
716
773
968
387
966
61
378
565
647
246
290
156
887
977
619
79
361
84
962
14
629
538
817
552
702
306
196
941
315
901
303
944
373
420
826
476
483
562
713
963
908
979
242
89
868
982
855
209
675
239
44
144
847
840
845
531
511
594
73
363
422
894
474
648
944
828
373
709
727
763
701
443
942
8
950
792
225
934
243
673
407
707
393
757
197
153
134
875
546
776
847
517
757
500
664
713
145
394
922
45
13
566
355
674
376
4
55
958
655
8
166
836
69
309
518
635
673
109
915
686
401
265
616
934
388
209
975
119
771
739
224
911
169
135
542
331
580
405
237
646
994
933
438
431
233
656
534
812
126
195
546
449
35
556
621
844
173
121
777
527
942
996
862
78
100
933
81
602
543
415
815
510
332
715
549
855
167
955
593
308
862
97
517
988
100
944
498
939
314
818
254
267
628
901
238
82
878
547
74
484
534
831
379
599
424
513
568
497
994
958
616
151
47
468
546
15
885
754
509
922
399
723
910
104
529
262
920
520
311
196
993
753
674
464
284
980
194
979
158
641
523
963
439
315
744
164
261
481
658
733
421
6
637
295
186
459
317
193
504
570
958
837
148
415
416
767
222
590
45
170
541
611
14
999
463
680
686
603
501
605
278
53
164
447
356
366
879
524
258
182
958
762
738
61
977
418
992
469
365
374
542
481
199
913
215
323
113
430
690
902
569
655
152
912
713
278
824
792
370
255
731
740
774
853
303
870
244
35
161
468
306
255
873
802
47
904
468
450
690
291
286
899
271
242
994
996
936
432
575
724
918
938
424
845
849
551
244
881
148
831
44
536
704
259
527
810
901
149
706
668
787
489
282
471
311
32
192
600
851
397
969
201
439
935
966
61
177
355
673
682
32
655
91
891
648
146
534
758
430
509
722
757
947
98
62
878
837
372
172
96
684
559
565
717
596
507
922
670
442
359
277
432
836
118
450
277
302
66
166
261
778
532
789
581
355
989
267
971
79
749
304
158
691
193
572
260
53
382
326
50
622
202
963
917
466
572
391
988
771
210
504
359
809
474
272
142
667
925
549
357
544
5
266
809
354
689
0
231
724
213
674
618
137
94
20
848
616
329
29
7
227
40
787
176
458
769
113
610
506
231
981
899
947
737
665
302
824
252
612
80
21
335
749
546
444
815
373
401
947
636
979
500
944
616
370
146
648
197
216
476
613
28
26
700
276
623
902
682
738
442
354
620
705
820
535
432
263
464
970
208
787
367
461
735
8
724
714
233
682
377
900
612
431
364
821
426
996
709
667
403
29
247
914
57
166
153
39
917
70
309
501
558
340
215
206
738
379
989
758
923
50
111
376
210
242
976
471
436
620
462
754
346
737
103
254
524
554
876
233
892
859
668
293
868
944
44
471
269
184
108
713
247
703
635
619
582
500
437
998
434
141
738
28
844
421
484
544
714
565
352
364
505
166
361
784
779
131
71
980
925
608
709
278
178
924
123
853
373
42
207
5
955
618
232
562
575
790
344
649
980
232
973
453
288
588
747
461
876
946
928
110
711
270
613
222
542
343
213
359
282
911
344
912
232
783
402
870
638
9
941
48
16
794
310
706
799
219
884
608
990
30
718
398
204
737
678
700
573
945
14
834
436
250
258
66
244
468
797
50
745
923
522
626
507
32
413
438
879
760
670
363
371
33
754
647
728
911
992
816
299
543
940
584
94
47
792
780
927
427
784
156
553
91
973
398
655
834
471
779
162
209
839
771
65
12
211
352
466
612
597
337
946
462
127
895
419
122
801
651
423
817
192
932
334
246
621
463
353
479
986
272
885
52
28
929
252
493
201
306
730
992
494
377
387
646
286
718
744
619
516
33
628
927
721
514
616
536
302
100
536
677
918
958
394
634
852
670
874
590
152
760
625
220
160
397
563
150
803
771
340
875
98
619
705
99
695
54
801
371
550
203
893
84
598
572
418
629
124
666
564
487
188
365
941
760
770
805
104
899
676
689
987
397
52
179
139
91
161
199
365
655
5
265
891
309
263
283
337
25
72
990
650
194
263
695
423
470
472
939
328
728
746
642
713
91
634
758
727
109
143
136
775
786
52
594
324
433
994
65
147
732
140
933
732
815
938
974
852
271
917
386
48
843
375
681
760
235
54
389
934
924
146
57
353
607
362
793
779
600
800
396
711
199
433
892
300
123
32
722
160
732
566
523
471
503
329
433
253
435
238
499
253
196
232
226
134
294
691
331
253
261
723
962
795
351
418
277
588
281
543
571
506
871
72
872
402
916
130
50
643
955
218
89
83
652
294
713
384
572
905
376
917
322
288
813
887
33
983
785
239
185
565
420
23
444
675
904
619
521
156
594
635
15
283
323
393
127
669
403
615
495
292
621
551
806
799
124
498
606
223
535
370
99
42
224
972
52
771
779
820
142
632
27
376
222
646
906
212
58
387
461
462
55
132
912
261
454
330
494
240
17
952
961
176
216
94
487
396
762
47
882
323
115
321
365
135
428
151
38
377
215
12
612
464
706
214
316
899
776
939
814
467
744
233
974
16
390
452
652
76
664
919
887
61
887
14
656
595
550
484
622
112
681
7
777
200
911
51
674
341
49
197
911
179
460
404
691
137
868
576
151
86
852
684
477
957
299
477
333
641
371
615
121
376
648
863
736
240
674
599
253
436
62
55
512
226
403
725
356
739
889
435
138
486
180
38
623
473
559
291
892
776
490
298
254
48
419
521
664
466
418
73
826
981
501
979
839
371
374
480
684
84
638
869
805
257
639
141
11
181
494
168
677
243
109
16
976
588
203
300
738
791
787
796
726
843
765
777
823
839
960
613
808
895
398
974
961
138
225
660
190
82
267
900
252
529
765
300
562
868
778
889
37
725
191
761
185
899
619
257
26
436
487
197
445
613
531
169
502
61
174
535
102
357
450
760
808
497
712
143
140
12
155
413
539
50
53
875
464
642
227
48
235
898
902
66
322
545
882
411
553
532
621
816
614
127
439
560
837
869
642
851
807
55
578
863
937
425
482
892
117
963
76
572
125
358
847
7
360
865
584
498
205
91
643
286
59
947
324
141
341
541
423
798
991
281
919
230
43
402
557
736
517
700
171
508
870
650
289
387
100
82
399
381
35
868
550
497
851
633
988
433
162
146
863
383
609
731
922
290
924
188
606
168
228
150
66
794
515
934
292
833
343
803
674
252
592
120
728
440
385
736
351
420
682
683
193
405
928
591
217
807
99
570
719
779
575
104
102
388
628
308
740
151
77
31
485
285
571
997
283
427
16
801
5
926
231
436
25
518
156
461
801
322
628
817
264
412
197
407
984
216
62
338
174
170
114
669
756
653
413
13
962
124
781
5
366
216
579
903
151
799
348
510
697
436
48
554
201
381
736
641
716
199
116
754
392
750
663
292
650
181
243
152
706
339
428
951
394
904
819
465
215
184
112
128
612
371
589
576
183
432
709
736
615
323
701
311
565
756
732
816
145
58
468
59
105
618
939
224
280
239
500
455
533
923
169
95
118
733
749
455
754
979
864
88
240
540
437
104
315
218
892
762
643
763
926
169
687
186
925
6
44
669
425
869
518
94
299
641
805
33
329
586
632
855
263
541
125
422
563
672
454
202
107
187
916
274
843
607
647
203
485
284
313
484
63
15
203
959
346
540
242
490
431
436
470
885
164
972
462
522
548
81
902
211
446
310
157
486
929
985
707
689
282
279
815
581
774
965
680
474
998
942
196
738
21
905
948
299
759
328
775
51
940
558
210
268
313
488
401
48
509
190
575
605
851
555
500
326
431
145
557
642
111
712
487
685
441
10
848
751
730
769
118
803
38
13
39
22
354
71
963
658
813
146
202
163
101
703
473
830
823
94
514
387
674
621
201
675
648
726
519
481
846
398
933
34
899
905
954
167
713
287
14
491
662
807
464
565
192
665
429
168
167
680
819
575
345
359
808
182
654
839
792
110
244
977
43
989
158
731
417
347
682
465
719
472
222
224
266
137
819
576
972
951
759
188
670
131
10
122
301
563
967
146
316
838
178
625
548
898
748
914
36
376
166
30
925
48
166
220
378
50
549
605
241
4
497
690
223
645
327
931
742
439
91
994
428
305
249
399
105
943
814
8
110
823
477
176
665
846
635
3
416
448
881
117
34
659
200
738
510
990
736
682
352
722
561
845
389
971
728
21
36
719
683
63
567
809
251
188
76
944
881
411
380
874
660
22
877
147
583
962
248
79
800
317
274
4
918
245
629
845
75
961
472
978
190
801
240
234
564
410
30
6
477
730
198
437
124
973
600
63
320
522
783
579
539
732
559
669
343
589
177
850
555
337
598
170
53
802
301
942
896
678
518
320
143
78
198
729
796
684
553
534
704
248
252
831
857
257
943
794
555
77
220
790
290
249
512
320
473
186
952
891
94
19
369
135
881
228
360
751
619
882
268
199
180
277
346
824
513
879
22
821
835
763
919
478
510
719
491
837
225
297
969
895
567
650
948
458
825
484
640
168
951
909
484
267
901
761
688
320
697
992
851
573
842
248
129
364
222
420
66
208
109
281
687
741
956
678
947
911
921
480
786
45
788
549
45
627
108
480
83
565
74
344
326
811
725
306
32
379
746
368
338
827
635
697
61
821
715
376
207
997
303
792
258
232
536
358
563
580
187
65
689
546
556
925
325
599
623
824
830
192
877
634
422
731
941
251
47
791
839
375
288
361
473
112
319
622
997
643
888
943
827
64
81
696
353
31
302
674
669
287
15
810
474
486
450
498
519
872
941
826
29
699
95
347
771
694
539
269
51
393
29
979
864
314
157
630
743
464
115
403
362
597
618
694
752
933
923
888
553
274
496
91
648
262
753
77
444
820
291
426
203
989
428
280
825
406
318
358
430
708
289
895
134
953
887
761
488
962
932
721
547
466
420
720
438
228
482
750
666
445
166
787
57
406
174
593
810
248
306
416
926
227
893
790
486
152
720
948
979
65
864
813
210
855
167
562
450
180
701
267
107
336
406
912
770
269
517
376
946
311
140
451
248
960
225
64
676
264
842
18
502
789
811
255
698
28
185
59
153
270
242
911
274
816
534
139
940
522
913
771
130
263
445
911
267
547
737
849
470
73
434
303
927
37
832
365
775
764
258
227
189
969
360
809
310
231
86
113
101
748
256
591
574
24
589
132
193
386
131
982
44
879
530
749
604
920
194
437
969
472
289
106
392
44
675
901
717
254
735
580
270
891
256
907
839
943
294
402
340
474
184
674
209
696
27
874
926
38
814
214
229
777
44
528
102
923
628
622
427
764
190
326
126
609
982
557
775
273
370
362
929
565
271
541
188
486
150
865
599
204
40
251
201
303
248
947
625
821
932
647
976
144
136
662
711
66
199
815
518
21
225
762
116
435
291
459
536
210
337
385
955
366
887
886
912
837
176
349
88
484
495
942
476
556
730
519
644
417
251
799
536
517
464
522
496
383
161
880
116
9
480
363
819
470
864
922
13
906
767
786
129
614
910
958
271
520
44
385
672
250
214
173
573
223
758
460
917
852
102
664
878
759
308
128
459
650
133
393
605
528
144
237
72
418
685
396
47
8
922
185
367
110
872
366
394
751
259
701
944
135
707
803
644
58
29
481
280
567
771
148
701
24
936
651
978
383
413
125
206
359
225
272
252
555
824
334
357
826
118
241
791
646
486
360
874
654
309
671
86
826
700
889
229
191
519
764
926
767
684
688
810
996
854
437
341
476
648
854
635
475
133
375
453
275
854
921
568
184
704
382
251
63
834
811
900
998
33
664
805
697
681
287
961
395
569
297
461
590
610
342
365
97
583
429
520
99
741
958
557
267
51
243
607
922
969
322
702
402
73
663
704
24
607
436
34
219
922
968
362
729
98
537
12
294
209
27
105
76
661
960
446
983
691
936
352
314
697
147
702
974
128
12
256
595
691
943
633
558
127
702
170
998
678
604
381
841
833
928
444
659
798
86
972
482
741
427
270
197
3
21
395
489
430
404
852
315
398
156
219
888
190
273
186
680
122
781
718
461
66
561
354
443
195
312
145
889
385
141
183
640
802
360
332
229
465
598
956
809
613
631
564
898
776
895
43
423
385
568
291
499
373
304
972
564
924
577
568
68
88
345
245
815
746
433
864
394
789
755
839
986
709
710
147
273
792
960
349
219
506
212
517
624
792
156
879
925
593
756
615
333
83
470
948
230
856
910
289
129
28
93
716
413
700
349
268
438
272
354
960
744
452
303
20
773
387
462
252
100
253
727
401
346
14
864
631
700
684
932
201
179
574
778
539
650
587
274
775
835
728
982
720
632
351
637
618
463
44
474
17
240
60
20
941
300
35
670
366
345
788
879
241
148
495
171
126
558
268
699
573
498
557
388
35
437
982
873
325
533
178
139
791
961
478
554
511
182
430
545
527
245
236
825
454
342
239
696
989
615
129
102
273
340
116
968
659
800
958
710
442
762
522
657
100
618
618
272
517
423
54
540
362
208
724
509
467
541
455
739
200
374
479
202
607
428
380
521
782
212
343
761
779
711
546
761
978
410
667
257
649
797
943
725
727
591
247
480
939
184
578
200
401
28
421
64
627
203
885
699
134
504
660
355
656
968
578
461
927
894
61
415
714
378
827
92
362
75
362
621
266
220
754
411
181
860
325
862
31
695
710
828
127
483
607
645
933
658
507
486
36
640
602
300
867
760
775
965
660
807
828
456
370
532
741
224
34
908
813
45
300
901
624
86
241
130
178
763
718
124
408
309
313
37
814
281
914
344
42
507
825
444
745
87
921
631
879
114
869
957
618
733
254
49
304
235
112
622
299
739
873
632
52
847
828
939
140
686
648
925
875
111
232
442
926
231
688
193
559
733
461
524
139
319
293
399
102
94
911
670
271
839
873
785
987
959
759
693
53
802
330
7
616
559
221
943
361
648
187
181
285
129
944
680
813
53
286
435
712
88
456
659
13
497
881
181
277
994
889
147
769
162
450
19
807
152
919
206
267
953
866
643
833
510
234
806
213
529
893
976
215
919
451
325
698
675
807
498
808
347
340
562
387
269
855
906
214
555
157
599
892
145
308
70
386
591
512
493
574
186
893
862
302
705
89
562
334
721
229
387
177
338
17
442
42
276
229
153
598
357
529
648
139
457
433
947
555
743
426
384
838
430
785
623
380
722
47
384
33
625
242
106
847
160
143
681
754
129
468
314
262
194
259
34
125
939
844
840
14
377
889
482
967
407
121
243
390
771
756
919
194
804
268
56
880
18
32
889
687
147
490
564
48
938
608
585
9
474
125
902
229
595
787
489
369
630
833
436
3
183
988
160
384
672
296
422
626
509
405
773
963
811
993
977
498
120
251
245
923
789
159
322
147
489
455
719
978
556
798
547
924
401
67
296
949
291
746
941
327
688
706
598
651
972
346
648
812
486
162
704
947
904
713
970
319
996
79
102
135
994
783
580
25
844
394
211
432
862
168
739
624
326
130
212
627
185
580
540
355
305
296
165
634
75
518
935
254
448
595
258
818
228
638
565
179
812
137
686
317
983
169
4
16
733
788
166
151
336
716
400
622
489
772
476
491
223
706
577
161
686
787
796
401
545
38
611
708
516
799
719
638
99
286
268
726
806
399
531
156
825
976
686
686
990
40
175
160
817
238
834
569
775
125
575
364
324
108
565
121
858
272
689
31
55
315
731
870
26
344
267
976
801
907
345
607
975
775
168
477
434
330
423
584
612
671
95
551
446
498
596
243
858
122
338
573
676
628
347
397
298
830
611
768
600
569
230
939
985
826
945
134
133
988
428
689
474
20
645
985
494
164
768
199
232
361
86
790
719
625
149
47
701
51
465
960
292
758
283
627
674
435
18
170
657
789
666
620
333
687
339
834
398
740
431
581
53
614
50
751
848
449
368
863
821
55
238
44
911
56
454
297
599
724
514
207
363
141
99
499
439
366
239
218
521
63
429
234
792
212
165
299
377
683
814
674
696
926
489
274
447
993
267
616
958
405
357
714
805
58
745
418
865
226
735
647
939
99
169
675
880
952
887
379
242
176
355
877
690
923
234
931
928
913
196
341
140
525
938
961
214
364
338
182
28
637
714
964
343
17
686
987
132
797
75
891
868
650
442
655
834
707
960
116
546
331
144
479
598
301
650
487
401
954
509
708
435
267
798
806
535
601
251
435
321
886
143
317
151
445
61
991
672
891
325
893
287
175
610
3
347
567
544
326
150
163
323
874
65
207
345
965
139
186
253
503
120
56
851
578
937
628
212
525
796
331
211
471
962
743
778
939
322
694
342
889
716
4
286
659
38
410
191
210
650
20
536
165
522
657
441
940
331
927
240
404
765
683
816
161
319
610
907
815
376
415
615
154
904
731
944
69
665
639
341
106
814
235
705
792
689
105
916
595
598
721
869
75
631
524
232
102
357
540
922
253
961
565
500
109
854
755
849
868
715
954
527
57
446
67
808
179
998
960
351
112
932
853
294
856
925
235
934
294
800
785
183
943
696
701
117
201
177
604
876
603
608
926
107
404
421
46
921
734
248
725
309
779
47
323
660
889
906
725
984
348
552
400
984
827
809
729
384
875
768
509
432
248
243
835
984
267
422
227
900
859
289
118
217
936
128
864
519
728
161
650
935
107
114
166
382
867
123
160
738
358
222
55
553
22
605
329
811
257
684
733
357
802
325
493
644
638
122
348
588
214
502
389
33
210
61
854
970
219
641
478
302
605
40
785
646
576
582
826
91
363
229
852
971
650
371
869
831
788
923
369
632
480
499
638
448
440
317
103
396
627
685
596
767
364
810
64
825
301
476
253
482
677
953
709
27
377
615
612
725
386
921
993
108
152
364
685
986
274
497
702
608
214
371
978
546
594
955
370
133
768
807
483
427
535
416
690
846
755
930
669
999
632
165
182
948
499
40
854
329
898
622
653
181
424
249
664
378
65
98
781
833
240
371
409
666
364
498
619
358
922
99
122
989
296
434
301
808
832
98
436
117
405
444
307
681
35
497
817
3
863
626
352
949
616
127
919
431
738
921
161
231
444
819
692
931
137
640
74
209
477
986
481
505
576
978
822
183
437
486
923
435
464
72
858
892
216
94
512
20
721
492
239
700
345
282
279
231
19
749
864
230
538
819
746
727
612
687
847
113
537
109
563
944
87
902
663
496
784
791
173
328
93
374
238
331
666
123
855
935
906
615
287
852
793
620
993
970
613
216
101
169
932
596
297
499
425
494
435
307
231
170
990
757
451
42
864
298
152
75
520
823
775
340
889
598
589
897
904
281
749
568
810
111
21
354
664
40
681
529
412
270
124
87
800
215
59
720
314
173
708
152
449
985
106
557
597
755
894
129
343
717
14
62
218
608
489
842
248
260
852
212
288
919
290
117
756
783
707
642
677
698
182
760
359
566
304
897
199
395
135
54
649
200
146
317
66
402
196
964
997
88
760
750
956
804
231
615
191
638
98
277
649
518
923
294
542
369
272
445
960
901
369
885
259
618
991
127
552
245
986
380
576
756
986
474
322
310
964
9
376
53
919
567
624
573
61
329
17
245
2
386
526
261
328
640
734
846
516
185
591
452
151
726
372
905
808
911
74
919
453
523
8
508
672
804
502
99
496
622
217
249
968
496
967
752
800
890
114
956
439
335
831
206
759
86
173
554
904
901
377
764
61
825
228
812
747
974
180
877
601
15
569
387
321
45
163
818
955
491
629
934
200
647
920
60
480
963
805
875
888
160
248
361
648
981
396
599
318
659
894
5
932
166
721
994
33
687
320
628
55
946
947
404
438
440
272
519
463
88
669
158
134
932
79
129
254
634
192
36
988
825
399
557
114
531
568
591
736
192
135
191
964
67
308
350
465
263
782
888
532
119
269
495
843
402
728
707
601
823
328
275
106
941
491
931
103
101
188
686
410
470
302
378
262
43
600
55
43
219
969
368
976
991
757
200
241
625
987
69
107
195
424
362
54
721
565
997
524
870
231
187
396
834
474
177
798
437
392
520
964
390
572
373
990
459
423
961
533
182
630
393
843
749
889
822
853
717
850
577
533
241
538
24
726
920
751
207
898
64
949
546
7
608
523
329
834
428
468
516
887
911
326
274
158
327
250
443
250
817
885
230
568
255
858
44
326
158
937
174
786
203
909
706
421
52
310
216
421
519
279
92
122
498
830
572
399
790
278
50
344
501
653
519
254
862
706
37
689
568
444
667
622
926
466
461
323
953
777
33
626
353
318
66
967
817
367
896
284
385
751
833
345
673
773
490
14
738
411
700
438
912
939
239
912
397
530
632
253
543
579
553
58
676
846
596
903
40
71
537
526
37
87
97
794
939
251
689
730
586
487
512
276
679
141
585
770
892
268
250
220
775
951
462
743
215
661
383
603
114
383
555
701
360
283
786
890
403
569
65
491
177
605
798
236
676
430
537
950
216
592
301
45
45
443
911
899
335
22
66
922
14
612
890
532
530
265
203
211
899
791
109
183
545
378
42
350
37
361
609
571
60
71
79
820
966
342
83
388
599
259
403
108
684
562
476
391
369
211
24
191
966
711
628
272
911
50
890
829
181
55
404
160
958
399
897
901
197
251
629
698
991
844
252
738
972
597
970
402
183
62
277
216
577
547
683
664
406
19
343
557
85
566
649
418
392
900
335
265
957
214
587
28
646
569
201
517
901
714
295
955
370
774
725
590
307
818
468
799
926
569
364
265
937
218
685
761
135
443
720
657
235
39
884
729
135
512
78
734
356
385
368
857
363
480
484
720
29
513
431
774
771
715
545
729
830
116
24
346
487
684
875
380
760
182
598
537
433
332
962
333
441
182
89
984
173
722
96
135
346
60
485
446
107
194
99
501
171
803
392
650
134
219
188
504
69
771
835
432
158
947
672
290
370
84
250
659
270
351
706
690
834
87
661
225
891
213
839
61
629
371
893
593
345
731
503
67
821
23
517
367
112
515
941
158
825
478
4
404
564
797
908
972
556
538
258
577
724
247
609
772
899
495
143
538
972
0
933
241
686
219
237
989
306
442
261
592
791
139
576
825
615
740
296
150
749
205
672
439
136
868
605
199
412
701
224
458
999
781
102
179
665
220
49
834
30
629
986
967
993
721
905
461
26
488
552
385
370
749
143
114
377
507
359
524
113
680
950
595
570
80
380
123
386
108
194
556
235
376
199
39
338
235
129
272
408
520
249
421
104
250
706
719
693
636
216
15
758
462
116
757
923
243
861
22
978
211
434
661
882
15
134
967
310
834
14
413
677
824
584
419
358
921
470
747
239
741
639
699
204
562
444
690
123
301
60
779
889
740
801
264
426
629
601
177
0
858
149
44
915
63
244
220
492
725
420
905
759
222
76
914
578
811
877
125
324
947
712
554
902
302
552
132
478
672
653
521
176
357
574
653
758
783
303
500
630
788
835
811
246
500
507
96
624
740
972
28
54
9
907
157
368
99
601
98
483
303
275
766
866
348
612
707
499
13
759
17
975
819
400
666
76
731
468
520
81
791
645
634
773
997
805
157
524
753
458
125
144
841
461
644
302
785
792
71
902
180
8
28
19
231
656
107
201
465
956
116
313
490
969
439
600
112
831
989
384
198
11
184
151
193
814
84
865
287
625
547
212
261
936
268
438
290
543
113
836
694
95
427
10
317
703
875
555
843
380
24
152
967
353
162
35
363
949
557
951
259
867
290
392
846
912
576
222
971
857
144
463
37
733
589
141
131
662
263
220
934
19
198
508
216
640
290
63
260
466
444
616
342
330
73
91
383
826
474
891
997
925
836
31
666
42
766
313
380
695
27
281
707
396
731
226
637
110
698
55
821
31
899
555
144
762
895
348
880
106
870
622
595
304
39
172
350
758
704
720
847
685
270
847
866
666
516
701
815
136
887
10
335
455
511
162
133
166
255
912
906
716
479
780
268
71
101
309
413
846
651
659
372
729
388
621
80
212
805
270
834
156
792
920
586
522
63
727
783
890
927
621
40
276
412
890
192
834
675
85
709
733
114
869
872
842
677
356
932
955
685
614
811
586
34
124
929
513
210
234
100
827
461
351
788
586
484
429
808
670
291
979
338
238
182
925
802
113
891
935
385
782
973
299
185
793
116
295
296
635
162
34
454
602
408
910
829
109
345
693
59
805
851
731
524
285
915
925
431
69
858
978
678
470
927
36
270
62
31
252
993
952
824
384
537
588
175
753
757
837
411
125
30
101
744
369
502
586
59
374
141
605
320
730
459
948
259
691
343
123
395
567
66
698
643
105
127
662
98
510
619
725
258
268
608
860
235
170
176
527
23
499
249
783
342
290
144
248
148
972
532
442
980
369
322
844
577
569
257
492
696
166
323
329
43
898
839
590
795
13
702
976
48
424
836
640
117
595
160
583
578
117
366
190
80
485
366
617
548
878
675
462
350
237
818
174
739
237
635
844
760
88
971
545
839
556
107
18
297
256
604
981
247
958
164
681
219
226
572
322
27
649
837
436
548
879
785
835
121
80
986
180
332
832
447
663
700
731
393
388
276
479
431
267
348
87
65
290
308
276
39
746
995
498
24
415
331
400
328
925
451
506
180
568
611
776
457
784
123
722
811
654
979
475
880
622
24
34
509
888
120
954
37
157
320
109
549
373
210
103
233
526
594
120
74
360
263
187
144
125
946
708
60
159
678
727
344
35
271
79
547
560
704
719
630
514
62
565
782
13
528
296
786
159
61
71
382
926
515
550
907
523
703
434
758
871
791
446
703
280
409
780
645
314
244
544
45
743
947
695
997
966
759
571
2
815
279
92
950
791
891
695
206
54
82
560
429
556
360
143
969
226
979
953
487
401
390
305
951
700
851
275
831
153
231
842
606
930
736
361
823
440
753
561
162
704
123
239
506
873
256
313
880
564
630
858
308
13
847
193
440
395
941
850
943
357
630
416
911
342
831
966
861
562
128
468
553
991
137
661
513
52
207
500
310
698
881
273
449
577
876
25
192
555
222
569
184
379
208
115
954
528
169
649
418
71
974
446
439
924
938
706
226
621
740
553
865
355
445
898
907
493
145
964
266
556
693
650
123
945
650
346
541
458
904
572
773
273
837
72
252
35
980
447
514
436
629
457
647
191
176
917
727
899
75
708
572
893
628
882
287
158
673
131
166
75
419
745
36
719
917
695
889
695
509
874
843
400
283
520
7
921
620
479
521
694
126
854
895
863
732
467
162
739
44
505
636
181
895
320
783
553
342
147
298
402
840
868
597
136
325
974
644
112
297
571
878
626
859
129
182
277
287
404
452
250
252
184
87
948
181
900
740
189
664
279
662
868
397
41
630
290
449
875
986
809
406
205
520
239
150
633
483
962
238
869
429
969
536
326
287
345
632
259
323
262
149
603
262
341
392
210
535
515
267
333
938
870
331
138
502
665
820
966
41
940
230
643
393
255
872
628
910
326
376
472
360
599
769
72
306
403
50
230
313
161
569
551
104
778
420
278
329
458
22
814
436
580
550
52
616
32
950
611
411
363
249
835
545
788
331
665
507
112
383
547
155
213
578
146
403
391
712
734
222
707
685
524
977
459
204
488
936
999
541
348
474
79
215
557
593
27
599
638
924
625
225
616
836
621
816
467
171
912
824
533
386
895
716
360
606
194
20
747
654
907
16
348
937
969
424
406
216
477
52
260
821
551
455
768
84
586
538
426
536
8
380
311
345
193
794
518
295
746
684
326
0
537
522
674
138
861
590
844
359
422
395
581
350
625
845
174
776
592
709
9
238
862
256
130
941
131
318
990
943
993
934
614
139
522
585
801
57
99
146
62
722
110
260
394
943
961
663
435
798
600
494
863
319
523
63
307
455
702
795
668
987
775
654
384
525
927
93
918
314
25
507
604
893
474
698
357
64
9
94
931
990
635
705
44
854
971
503
177
703
59
449
764
767
717
342
526
592
940
359
800
467
489
405
434
759
458
81
597
290
497
577
74
663
634
906
203
374
285
836
964
969
328
909
579
734
844
168
543
125
870
19
459
890
27
137
575
264
950
16
389
743
64
205
131
744
971
566
555
750
457
483
926
529
381
833
405
501
92
708
282
975
273
567
861
510
311
755
805
755
228
32
195
555
249
828
351
279
426
659
501
430
861
206
502
766
310
345
25
722
709
50
735
214
38
927
205
451
899
380
208
424
120
437
111
957
685
162
89
214
425
210
250
803
459
916
573
7
647
486
30
972
579
222
58
759
480
169
948
695
765
238
46
755
34
619
267
424
964
267
178
431
252
640
988
615
737
754
772
270
73
134
731
863
966
808
101
473
121
810
574
156
69
701
652
267
512
577
446
104
869
769
872
463
772
988
524
475
624
137
46
463
68
926
684
76
526
361
536
777
643
68
22
700
57
764
665
242
7
252
282
335
145
495
259
973
992
204
511
10
516
891
898
807
628
771
257
52
332
45
827
423
758
320
388
143
94
352
485
946
403
975
883
201
481
305
410
563
820
250
562
92
205
812
947
252
754
123
738
613
993
58
758
168
29
528
478
724
741
758
93
463
909
335
302
996
809
692
629
458
895
272
631
148
218
452
0
249
972
461
343
780
461
290
927
631
347
459
281
801
766
295
282
575
21
739
877
730
319
144
119
291
607
406
69
234
938
542
799
289
489
766
580
806
662
976
925
522
196
549
466
486
36
442
836
86
41
67
109
567
406
963
829
453
316
161
589
340
763
888
667
692
162
842
781
568
299
300
88
122
546
410
948
315
740
874
504
538
75
696
525
659
886
236
409
474
781
0
718
805
292
859
48
197
676
991
248
138
765
63
125
619
246
227
670
289
811
914
323
19
717
505
995
777
304
961
482
719
499
188
819
692
587
906
52
531
749
796
226
874
588
975
50
507
733
123
147
510
499
311
516
255
36
196
201
783
319
584
979
14
762
421
296
508
934
580
675
423
275
801
895
950
701
219
883
126
847
221
509
488
327
67
572
830
83
388
551
141
657
771
338
734
2
585
99
246
62
748
7
108
400
730
318
832
830
621
45
650
360
47
766
421
849
101
243
962
287
328
929
653
947
365
425
492
952
509
68
954
769
72
415
951
371
616
646
881
105
86
464
575
685
941
823
954
214
512
391
246
711
585
357
971
868
294
6
338
628
34
252
506
589
920
119
56
906
578
429
807
126
866
331
29
883
988
961
453
449
34
119
428
871
555
972
47
31
464
401
686
243
74
681
606
39
63
288
286
279
234
399
739
980
601
732
236
337
395
430
390
442
23
978
232
527
382
980
186
925
23
223
525
441
583
85
955
876
567
473
840
752
900
206
674
877
73
757
172
513
73
612
532
632
767
607
732
966
451
330
761
446
269
136
67
851
255
811
413
130
300
590
10
845
296
845
293
795
68
998
484
827
713
745
61
124
765
88
987
371
567
13
588
797
506
990
751
541
108
708
704
583
708
214
897
704
172
254
78
440
155
56
604
167
416
413
483
908
681
842
323
613
226
108
878
676
974
205
330
703
243
830
121
343
975
360
662
663
247
375
487
74
363
999
962
510
879
937
249
458
473
127
132
887
697
541
992
776
305
97
509
893
468
320
650
755
268
366
979
271
442
200
278
488
14
765
307
391
174
780
230
744
73
950
495
720
228
565
512
543
916
363
22
657
254
815
812
413
826
184
371
915
331
420
834
451
234
160
764
514
634
656
793
380
719
362
477
469
725
240
424
586
624
16
799
544
686
110
235
544
961
766
388
272
714
838
833
77
505
323
963
440
860
917
685
836
204
820
954
139
24
943
272
778
212
369
619
4
714
929
571
871
900
949
397
501
910
484
199
232
469
628
482
562
117
640
87
14
449
502
484
888
837
636
346
264
183
157
33
469
411
887
243
660
116
604
578
332
215
275
151
926
463
492
862
801
274
306
212
229
279
80
186
338
388
165
619
469
424
722
908
154
710
63
503
813
235
736
715
756
252
95
421
76
449
120
509
922
927
537
922
978
771
301
577
330
404
895
191
217
423
851
873
120
984
745
353
792
353
133
240
171
652
122
382
546
296
58
647
687
745
889
298
883
610
464
573
288
501
743
900
582
874
351
774
694
612
863
655
769
656
172
979
409
857
887
118
999
77
321
435
749
154
460
519
312
916
777
47
132
983
615
576
712
850
938
320
734
898
132
534
289
558
390
2
805
927
748
5
743
763
224
650
693
922
805
936
682
822
821
986
84
919
580
808
847
144
773
1
189
700
785
412
714
0
446
159
332
721
77
112
105
601
770
171
335
648
137
319
368
330
616
387
212
252
83
807
755
106
629
866
34
745
776
827
662
448
433
961
444
431
955
681
11
294
774
843
537
22
676
172
173
781
590
511
161
958
137
992
157
862
256
772
44
789
487
240
824
90
833
201
744
624
217
126
181
622
429
785
45
858
966
569
468
743
139
526
426
241
532
117
48
833
431
298
61
268
52
281
471
614
187
604
688
55
428
522
138
617
903
749
149
754
882
945
462
495
836
923
898
152
179
507
374
812
988
891
500
857
721
750
811
335
68
616
257
585
416
217
20
529
367
737
225
77
361
708
56
161
414
35
992
593
79
875
462
252
334
997
39
214
114
749
179
64
687
319
386
169
985
375
903
515
390
453
981
620
296
367
146
7
278
346
644
147
656
599
54
627
908
576
254
869
61
639
781
313
449
525
58
346
405
403
460
306
444
570
784
67
246
435
861
539
839
312
62
446
255
436
763
419
122
847
884
572
290
531
389
905
463
54
151
907
790
660
972
202
811
663
744
162
805
799
107
160
765
818
124
619
230
96
480
957
911
934
310
392
442
989
619
462
634
726
108
146
812
775
602
613
247
731
182
38
143
757
112
936
488
222
109
83
273
47
651
583
616
460
60
851
408
361
72
621
791
436
67
271
766
752
484
98
17
259
5
557
498
978
712
480
95
460
372
696
407
996
7
123
591
643
854
537
932
84
296
133
750
340
85
866
87
290
490
260
269
689
464
3
659
963
171
360
257
951
274
667
153
658
231
647
383
486
39
728
312
351
680
339
225
814
156
936
779
778
675
873
801
639
758
604
937
112
113
159
963
868
782
742
758
50
718
632
337
347
293
581
891
460
851
686
415
443
687
954
68
531
122
613
810
229
42
435
165
425
590
664
751
948
391
110
492
19
24
620
296
347
860
766
25
803
808
540
941
935
11
525
802
798
759
330
929
615
657
135
527
19
305
183
808
878
576
838
893
622
780
608
23
740
788
922
967
851
78
681
741
254
688
734
574
185
391
345
316
841
268
462
144
268
557
252
23
57
71
501
296
545
411
171
299
967
951
137
609
813
602
415
560
449
272
537
437
999
881
91
51
39
129
249
977
709
182
453
735
956
702
704
372
829
601
805
157
879
950
603
69
758
423
933
345
199
379
182
26
204
418
728
669
735
403
443
257
509
514
445
105
322
82
552
519
636
353
975
202
262
269
640
673
145
735
666
159
763
545
18
805
68
230
643
107
686
197
584
894
822
786
5
894
676
528
366
926
390
688
208
725
88
873
907
858
180
543
605
652
326
362
184
249
203
278
944
686
886
393
626
929
40
560
491
66
312
59
762
481
124
70
94
990
693
715
286
857
155
931
645
631
484
256
149
250
740
319
507
491
902
159
382
836
664
187
709
873
22
271
205
538
291
562
10
494
996
68
66
269
631
393
875
792
158
970
898
607
655
952
194
207
417
634
930
488
908
275
656
375
670
910
913
153
174
943
178
320
930
516
587
826
69
60
760
310
640
143
266
676
304
610
76
567
388
239
18
805
973
628
533
29
206
149
452
227
561
907
283
792
975
210
187
508
309
226
401
599
888
91
864
189
703
362
451
882
389
915
217
524
113
29
397
683
375
480
597
225
680
774
294
498
27
809
657
980
942
197
182
641
727
578
417
520
828
603
978
739
818
492
737
146
366
711
455
270
323
120
46
614
113
433
509
311
874
659
544
127
901
992
41
185
957
361
48
482
466
692
113
685
763
153
455
754
942
653
199
333
355
312
873
823
622
614
291
590
291
360
634
357
526
129
457
175
651
379
538
224
571
920
529
192
226
325
632
523
233
0
832
631
564
279
472
379
833
780
271
129
137
677
40
946
365
457
91
800
725
216
143
124
938
22
751
857
69
306
409
729
704
438
813
546
116
473
669
451
452
168
194
698
635
542
814
26
582
427
303
237
651
215
821
211
398
918
692
919
103
666
66
525
377
876
249
978
604
963
928
373
223
105
614
294
392
223
249
925
460
76
177
344
285
29
504
7
199
636
39
664
830
8
427
841
882
812
746
197
0
768
365
569
267
95
895
181
338
608
235
876
966
574
784
114
210
304
730
931
212
694
773
306
487
967
374
679
215
144
395
885
270
994
321
798
264
778
313
304
775
655
950
187
677
475
764
999
968
459
950
945
928
45
311
261
791
157
458
816
534
576
153
301
544
919
335
297
388
11
605
803
912
566
833
209
631
714
986
771
438
981
639
967
926
486
887
344
817
327
450
66
824
718
188
266
713
379
576
296
629
62
746
630
422
972
154
896
1
880
432
107
905
857
930
321
257
724
936
827
853
169
71
495
804
567
25
68
486
359
951
250
309
304
943
224
857
125
160
833
704
176
677
760
352
774
870
377
278
943
522
993
616
697
979
538
597
97
985
518
877
105
112
936
446
478
77
338
813
742
815
849
753
259
916
985
381
180
324
364
460
198
629
361
90
850
960
562
154
443
434
566
633
332
459
455
304
286
330
452
640
249
437
130
302
274
907
304
956
973
987
507
501
377
880
746
796
635
487
595
584
831
512
151
689
57
20
806
252
752
148
837
520
224
168
782
612
860
327
168
789
57
963
727
689
685
310
405
276
968
369
109
263
676
676
729
229
521
974
989
48
13
626
919
836
363
708
8
786
421
377
644
389
869
802
666
169
971
806
158
413
733
443
120
885
689
491
558
231
825
440
40
528
156
264
723
591
125
449
178
66
502
138
565
512
122
82
232
783
118
104
106
815
424
618
875
419
228
144
33
261
804
767
635
28
827
8
321
545
811
606
289
153
206
823
211
954
259
356
852
753
851
377
150
92
808
557
648
498
386
484
488
277
199
101
694
866
715
807
710
996
907
423
919
427
387
340
412
133
626
694
176
286
977
468
574
883
926
147
352
97
180
768
751
636
126
93
189
63
488
637
228
761
822
682
558
115
511
841
651
19
719
494
688
702
464
819
125
71
596
214
777
658
767
942
845
353
693
68
967
142
650
585
168
955
762
442
411
582
677
244
293
591
971
683
29
493
263
283
508
144
519
89
686
499
786
184
307
903
521
391
509
729
767
814
62
389
343
670
988
359
464
892
611
685
368
324
401
62
762
405
211
59
844
251
713
392
660
996
854
550
884
242
823
487
760
329
459
542
894
199
105
632
659
268
78
431
973
227
785
477
914
877
965
979
856
226
248
643
910
137
70
570
204
685
219
951
575
15
353
689
316
995
812
735
610
152
223
479
263
186
899
362
829
549
51
987
887
755
912
685
396
991
948
177
907
746
448
409
948
169
377
868
455
182
241
553
461
910
931
17
512
202
53
706
664
838
945
613
501
760
45
693
296
404
368
453
499
436
199
668
514
745
253
829
212
216
712
279
843
316
122
642
785
422
871
829
285
406
592
327
704
806
927
417
275
574
451
248
406
709
384
821
291
423
641
818
43
340
827
786
938
537
658
106
624
614
363
844
192
239
781
480
676
520
648
199
966
940
579
520
529
573
228
632
144
69
811
8
829
595
151
4
41
660
384
627
644
992
294
571
703
79
960
837
477
326
343
172
733
783
141
774
837
486
851
774
774
896
434
268
695
623
430
821
517
894
250
828
613
130
557
611
184
225
129
631
714
181
388
259
14
612
541
345
788
384
770
495
492
528
584
704
542
509
790
576
273
407
476
63
488
264
915
156
815
900
551
307
573
572
235
5
729
960
971
374
306
307
442
730
221
714
699
996
660
590
168
752
634
823
348
363
625
465
312
688
300
157
547
75
670
153
598
143
107
515
209
510
706
439
529
692
356
697
63
889
221
407
419
779
351
392
727
849
751
419
464
697
612
868
12
289
53
755
353
568
650
217
897
644
277
103
577
747
711
881
612
616
901
124
42
352
696
951
120
62
182
578
201
327
955
298
798
369
666
387
149
255
398
378
858
998
290
936
535
835
530
996
492
877
853
923
165
719
325
24
991
649
17
237
644
50
478
832
977
967
630
925
118
676
603
312
176
114
81
514
292
757
109
704
887
532
293
653
16
114
96
752
648
578
270
425
688
454
848
573
86
113
291
163
12
430
909
147
749
629
219
291
870
530
695
721
478
574
594
945
438
963
598
891
794
155
828
757
722
7
197
299
483
569
990
851
420
328
756
334
788
637
232
766
168
801
215
109
3
543
658
67
323
517
142
62
70
61
204
677
854
86
135
65
870
961
637
300
620
224
699
182
971
155
913
737
470
567
187
228
463
540
785
6
817
376
952
323
480
924
792
763
55
503
128
400
919
516
149
241
582
244
271
30
958
787
61
978
957
589
243
915
641
232
880
951
490
314
553
249
911
710
294
359
896
532
598
634
470
177
588
774
58
788
169
653
871
362
733
399
501
964
720
505
402
913
349
64
584
662
788
154
776
399
775
83
161
107
433
72
783
230
286
805
940
749
638
643
909
676
879
256
561
320
842
450
516
430
519
750
704
594
734
313
910
199
212
960
874
222
761
698
801
1
541
752
906
284
539
953
110
444
299
563
150
897
454
721
243
655
14
391
460
809
797
312
272
844
788
654
870
438
835
138
935
708
274
721
131
935
545
865
460
371
32
473
128
368
626
793
861
148
367
596
551
195
542
482
198
273
671
710
610
382
275
764
877
628
219
178
280
174
461
862
296
308
856
85
213
160
647
882
224
428
877
504
467
868
892
529
174
806
269
610
355
431
800
281
454
809
608
769
541
250
970
936
315
594
700
910
321
522
510
581
191
372
337
207
76
103
879
890
815
981
251
662
667
568
211
2
161
356
490
737
391
73
282
351
872
197
857
442
272
373
19
801
462
4
604
172
174
349
808
958
293
308
716
361
2
6
385
283
507
362
795
155
778
546
276
206
719
598
756
932
989
509
69
117
7
265
978
595
173
692
340
318
740
679
789
751
484
192
516
627
65
755
461
138
959
730
924
853
719
757
717
750
790
513
444
860
802
507
971
965
489
907
423
933
348
481
381
999
277
350
431
404
269
180
455
566
915
181
630
235
808
144
30
368
292
159
285
311
492
880
480
407
938
12
869
289
893
421
661
165
537
147
739
483
652
387
286
245
418
434
614
206
930
55
765
894
500
338
168
641
597
657
484
723
209
638
164
688
147
55
261
863
529
431
979
651
343
877
801
568
144
212
730
714
447
748
235
451
449
259
582
456
969
427
509
742
371
820
776
29
175
221
83
814
99
275
368
447
370
48
461
624
736
280
510
500
155
262
348
49
765
166
669
329
672
712
804
247
287
777
941
805
638
995
400
889
593
221
984
605
202
854
295
549
984
238
897
767
87
101
822
292
390
959
915
135
754
910
985
870
676
653
455
429
160
711
120
56
974
490
459
17
793
316
948
429
294
350
243
280
594
972
528
816
176
772
292
316
180
181
490
332
35
81
229
932
982
937
317
317
435
238
758
228
454
43
895
383
26
927
562
675
739
793
278
701
322
923
118
483
263
903
200
626
145
763
431
865
109
545
352
235
510
423
298
493
565
143
805
730
434
117
552
62
148
300
618
717
737
300
438
344
510
256
310
556
747
102
436
100
258
48
568
214
311
975
450
882
402
638
74
680
106
206
819
339
134
370
924
10
137
41
111
453
664
703
522
53
976
68
535
908
188
306
252
601
550
353
386
348
913
748
195
663
352
719
465
800
934
953
364
163
606
321
304
482
929
24
109
784
347
316
764
990
590
807
952
617
371
385
766
317
198
283
127
56
598
842
265
370
676
420
0
395
161
209
952
270
212
182
59
269
100
38
951
370
146
902
434
716
379
388
677
24
217
803
102
975
241
620
363
970
595
923
502
442
650
636
357
891
783
691
821
432
898
802
816
27
199
481
497
553
834
737
283
355
187
165
512
250
117
798
334
418
914
249
690
934
223
578
969
609
556
221
996
664
474
940
526
365
251
965
847
204
341
249
809
502
460
668
945
220
547
739
754
331
890
875
484
269
618
690
694
788
140
275
24
417
560
710
542
268
585
263
174
395
807
672
92
590
660
807
755
76
310
236
992
568
325
40
263
502
684
825
684
157
146
154
531
261
711
366
692
688
571
873
814
881
600
763
441
841
458
723
849
485
413
519
146
185
606
578
271
813
827
430
85
811
517
942
320
726
7
675
683
309
716
188
30
961
612
509
763
678
125
819
550
157
337
550
152
735
599
402
53
277
456
963
422
524
462
352
464
494
171
395
167
276
527
955
951
35
670
675
769
509
941
322
955
154
595
246
690
365
239
608
827
306
8
846
143
70
478
759
173
732
112
574
505
434
533
260
875
112
320
74
889
741
728
30
447
911
954
60
544
390
855
731
384
296
559
57
134
730
307
854
661
105
101
297
239
839
766
34
761
142
768
65
290
923
963
546
969
986
431
752
345
129
867
976
116
108
350
245
675
128
204
410
124
425
747
996
808
139
274
835
219
475
612
721
864
326
325
934
668
158
104
730
773
119
903
828
419
814
50
655
224
634
994
686
39
787
271
831
304
509
184
256
43
756
114
608
639
390
551
973
769
343
826
712
796
935
146
97
826
980
319
700
544
18
106
387
465
312
111
172
132
416
67
171
509
896
316
898
530
884
485
513
807
400
86
559
533
605
349
32
879
640
541
786
393
841
817
353
659
248
855
913
830
764
150
532
956
600
192
956
290
300
565
82
747
261
158
27
981
957
120
777
220
853
633
159
740
444
898
12
888
676
895
178
530
835
777
776
141
964
197
685
518
939
545
400
79
248
740
900
178
426
430
542
874
527
949
656
34
599
238
417
56
94
834
839
433
510
850
371
779
757
805
607
25
974
320
737
35
845
360
427
964
208
180
319
396
512
51
896
439
310
424
303
783
695
315
953
634
131
286
295
544
260
214
726
773
552
995
203
2
73
962
193
679
221
202
573
9
276
713
189
227
252
553
932
30
367
384
671
233
432
851
682
745
618
933
374
854
918
491
368
934
689
764
487
22
557
910
478
0
513
419
303
74
461
45
525
742
925
303
956
123
261
842
322
214
402
760
493
885
588
410
466
442
152
582
50
832
507
932
346
321
437
843
499
785
269
640
953
140
261
907
612
457
606
887
399
532
398
879
759
678
515
520
332
394
946
135
826
69
513
588
964
502
115
56
843
587
747
976
228
115
699
164
769
824
587
317
74
890
163
599
96
831
820
537
232
494
176
66
511
948
163
728
693
178
32
200
112
192
751
861
309
617
446
915
259
788
546
523
64
816
127
796
175
397
46
540
192
74
333
512
897
42
190
774
209
609
516
811
678
15
120
916
346
416
545
994
266
556
762
754
273
208
443
548
895
848
863
863
309
441
202
375
781
978
411
14
779
258
39
917
177
787
309
216
65
804
938
219
70
436
897
786
371
184
809
243
620
70
778
386
198
107
398
186
186
721
439
384
608
342
95
517
453
479
369
742
976
696
538
623
226
124
549
59
899
796
942
919
591
613
807
279
748
179
319
55
937
391
927
877
629
835
314
150
626
29
584
698
538
482
145
923
834
101
519
61
570
107
992
249
185
517
38
777
281
812
634
655
521
19
741
520
742
391
398
836
649
114
373
794
265
541
356
772
519
779
811
504
81
449
88
63
9
387
53
425
550
29
713
346
637
210
373
155
499
49
242
463
636
604
977
135
282
955
128
573
721
442
231
962
858
881
37
724
443
382
21
820
230
835
494
971
639
927
567
840
27
342
896
737
882
192
48
634
19
922
201
56
944
362
660
971
750
927
473
573
931
98
459
1
196
351
389
682
568
355
61
175
886
996
340
166
599
413
444
868
132
628
269
497
224
765
233
488
600
752
364
737
503
314
161
541
129
2
67
655
417
357
300
728
692
988
617
975
206
162
827
257
977
15
927
784
807
53
558
193
325
207
433
874
297
280
380
214
246
426
758
100
2
74
228
604
478
709
762
315
581
653
367
530
142
666
168
398
717
159
214
742
550
122
483
541
140
919
241
193
140
388
282
634
992
950
485
677
222
415
305
452
801
31
187
667
437
924
68
786
647
726
470
849
406
824
758
395
646
695
967
124
122
97
674
45
553
878
605
730
477
381
797
179
927
667
847
680
907
434
921
671
474
528
602
210
610
177
179
870
347
743
856
642
508
45
70
433
18
33
658
27
415
999
643
673
281
981
356
915
164
491
878
923
726
348
437
19
373
323
494
939
882
930
276
928
91
817
886
400
260
303
748
337
947
665
492
922
697
648
481
770
729
976
593
670
168
32
66
412
407
594
572
174
376
774
707
608
324
74
764
777
626
484
41
392
906
138
808
752
584
626
933
266
792
463
635
492
304
283
101
397
258
905
205
529
861
804
84
951
628
869
208
170
598
311
451
845
385
480
507
269
520
709
219
299
206
674
630
101
934
321
379
599
627
966
364
644
229
911
745
263
419
858
770
449
994
654
165
357
35
457
594
305
611
703
575
969
795
997
477
78
844
120
216
561
150
109
1
156
712
788
882
572
634
550
682
753
324
533
40
34
994
26
648
465
674
529
20
906
234
818
977
738
586
19
210
423
809
622
764
318
678
156
903
204
422
53
314
822
474
504
476
489
473
304
644
817
468
539
127
309
679
763
642
611
962
719
91
178
965
530
513
269
278
28
704
785
109
847
961
272
282
352
929
863
789
305
829
539
935
3
502
500
80
579
415
281
576
699
839
909
360
61
92
978
352
278
331
225
140
745
550
516
221
313
862
983
383
304
897
59
33
304
842
231
173
967
152
937
730
507
18
139
443
891
900
918
783
224
503
782
114
384
466
178
176
208
305
522
978
77
129
572
79
725
125
568
267
65
955
334
244
635
303
171
22
859
651
548
47
613
203
537
680
980
17
43
866
522
897
830
688
186
182
443
888
439
997
250
224
40
516
36
229
177
729
664
934
844
355
123
189
302
788
467
914
731
485
829
348
473
8
22
468
836
811
132
950
909
779
937
137
383
901
354
893
25
103
224
599
204
942
30
281
594
753
721
109
306
532
700
288
7
619
734
876
888
924
395
675
920
632
728
828
225
904
553
682
28
431
535
416
452
184
446
74
342
717
53
646
479
163
412
711
467
16
309
687
914
991
377
800
982
290
144
702
520
937
858
756
29
952
733
847
961
236
26
988
586
648
676
925
69
329
66
52
416
463
719
396
112
769
308
960
828
114
320
48
632
81
910
320
80
84
308
490
633
407
49
492
610
32
145
41
512
642
729
177
101
137
31
324
888
183
132
636
551
597
254
414
630
508
778
782
77
129
45
423
748
38
222
324
623
455
32
210
645
297
538
346
467
210
687
533
16
512
748
463
255
130
510
536
752
550
4
844
832
71
87
772
272
776
120
840
570
394
898
442
820
405
628
288
66
58
444
930
257
202
146
296
909
970
152
987
533
266
81
687
205
913
609
578
8
577
287
586
828
152
917
69
809
503
368
692
574
54
809
102
615
375
483
199
478
769
280
24
27
329
75
530
801
971
456
875
682
471
292
570
916
697
905
107
984
144
487
701
910
407
191
883
13
856
682
202
245
251
829
598
333
941
902
901
12
175
637
531
831
480
216
479
893
335
948
202
708
448
858
56
367
760
278
452
686
309
39
556
406
34
222
192
604
882
18
270
617
145
15
706
573
208
317
164
461
353
934
66
609
77
400
398
778
316
581
108
607
768
862
978
48
640
546
253
64
766
899
110
221
400
994
116
438
501
898
265
121
513
105
723
758
831
994
940
416
954
469
659
738
607
339
675
690
620
747
94
657
602
553
54
902
222
641
235
484
381
112
774
657
113
572
164
634
964
744
744
555
32
298
838
382
748
704
440
264
378
672
400
498
81
808
891
4
501
600
875
927
467
84
32
210
809
786
713
932
751
93
585
847
395
431
494
947
443
763
13
451
673
678
509
661
435
661
473
986
859
823
941
913
417
760
824
620
732
776
915
305
588
551
369
719
220
962
452
788
349
485
18
394
527
968
178
832
439
186
770
355
679
900
698
383
859
313
981
886
696
192
621
452
545
698
960
948
110
190
548
341
479
72
47
216
371
835
18
997
891
693
967
347
560
388
412
407
488
205
938
292
851
136
89
269
538
288
698
377
290
176
288
809
234
861
19
922
962
149
544
342
205
472
816
594
692
981
475
627
965
943
628
45
437
299
793
442
326
584
74
549
345
378
482
430
1
446
462
219
337
864
127
484
891
861
354
111
897
64
235
879
786
921
424
294
836
816
794
117
420
190
637
720
78
708
398
408
380
333
726
893
971
507
403
784
711
609
369
444
536
892
835
695
258
4
235
599
553
375
379
583
621
654
102
353
98
92
53
97
467
673
524
63
392
178
210
87
136
486
825
719
577
568
115
416
410
589
758
966
57
605
754
319
888
420
111
60
957
177
485
862
435
917
834
786
76
874
164
445
794
295
479
707
182
723
439
106
35
621
478
449
126
594
201
814
363
194
956
638
591
602
831
971
232
556
451
952
444
783
848
77
198
813
457
806
276
359
901
457
629
866
685
84
230
21
339
106
556
907
445
137
797
647
775
661
265
231
47
857
133
177
467
293
753
504
594
550
474
114
755
446
237
859
961
44
915
192
717
309
101
506
567
288
824
953
469
810
473
204
967
602
128
777
18
728
746
824
898
96
168
671
530
635
644
222
85
325
458
278
704
493
77
6
653
607
765
725
468
466
222
809
836
139
196
137
421
113
486
944
836
745
190
590
132
457
633
577
991
354
908
34
778
897
190
57
198
235
367
688
619
78
876
776
992
596
808
71
0
152
274
648
598
16
348
27
766
320
96
950
512
800
96
13
733
101
449
318
580
117
200
275
976
409
394
135
236
661
509
431
927
787
528
590
163
863
911
68
17
936
884
36
753
798
740
952
943
255
773
468
470
894
50
593
458
58
715
51
720
944
475
830
83
669
497
503
271
0
323
154
177
293
898
244
218
709
783
384
971
843
317
40
868
574
649
207
687
113
954
357
47
336
363
909
306
64
780
677
755
915
352
176
896
900
307
614
527
162
235
567
993
961
23
992
405
621
687
458
786
692
699
605
595
334
755
676
736
812
541
438
74
164
234
377
225
843
871
244
941
118
90
672
522
642
377
561
579
865
552
813
870
16
965
524
949
312
589
790
450
860
164
125
831
802
650
269
255
820
710
148
981
957
162
423
37
185
406
388
218
596
474
202
326
932
913
171
338
973
738
768
830
137
867
926
637
580
735
937
534
960
605
103
430
66
839
71
90
455
182
662
878
962
46
172
212
561
796
898
952
456
232
18
999
910
260
163
18
988
306
36
487
882
426
531
500
647
957
725
863
721
532
742
263
603
955
739
938
809
901
179
119
951
378
288
816
58
489
141
972
875
436
77
242
130
521
265
986
121
724
818
163
5
214
973
438
229
991
840
410
357
409
305
420
669
973
155
415
946
450
937
682
875
735
977
436
871
437
843
568
988
920
114
156
805
975
431
411
390
434
674
0
497
965
247
940
730
413
609
886
135
402
207
471
597
423
230
892
749
351
531
163
114
502
773
685
926
752
900
872
893
169
835
829
847
101
616
918
374
906
348
950
686
994
369
384
339
811
618
174
369
535
538
305
93
352
747
691
328
962
699
524
294
731
726
872
478
513
755
281
893
707
809
840
593
932
289
524
307
322
246
268
374
259
820
860
653
785
448
887
912
987
323
499
647
603
658
212
868
663
491
564
135
665
540
313
655
306
644
920
288
70
727
710
862
870
147
687
183
18
109
346
34
417
249
416
85
818
918
590
864
997
370
740
118
739
114
493
825
719
180
242
469
472
886
152
566
714
552
485
619
764
58
396
445
488
646
797
537
488
439
98
284
950
690
213
409
222
506
595
825
809
243
324
130
921
412
289
183
183
677
974
818
119
687
76
802
192
152
561
219
730
25
891
708
536
145
626
862
86
851
32
267
961
592
239
616
174
326
239
796
307
584
50
231
178
25
380
913
683
330
792
706
256
546
690
955
857
405
173
201
795
378
52
932
722
158
916
112
681
485
780
644
79
694
848
793
771
612
349
843
666
866
913
151
567
515
989
491
341
550
245
274
612
16
41
921
911
958
927
935
693
392
460
221
471
323
473
118
540
679
62
492
479
43
145
272
900
516
108
260
241
876
121
650
919
651
510
918
810
739
881
913
714
485
446
97
259
182
179
756
364
368
889
965
796
475
441
756
797
268
331
554
391
517
324
994
930
472
112
758
605
197
243
1
761
974
521
742
116
715
621
933
93
769
91
516
545
632
818
315
828
396
737
634
509
233
332
846
908
266
993
290
706
994
502
94
436
748
289
888
618
262
666
990
200
82
906
793
974
102
18
649
695
406
837
325
637
374
749
228
443
610
151
284
880
51
712
825
254
1
129
32
892
844
787
99
757
994
720
550
171
370
847
86
465
252
365
870
640
503
131
503
713
12
729
18
433
663
126
593
558
401
597
436
652
108
913
35
301
764
153
487
866
341
876
687
782
717
772
199
564
57
542
382
774
888
444
52
824
409
384
333
971
142
483
962
775
347
267
782
826
77
225
2
568
43
86
654
38
708
153
694
801
677
491
603
214
633
931
302
638
28
564
190
192
290
971
529
239
629
548
107
285
860
933
578
633
283
662
646
847
996
84
616
129
198
238
479
681
162
266
292
595
254
881
92
583
259
714
390
517
890
891
728
353
207
31
743
374
542
52
411
856
528
645
149
905
81
608
985
231
618
463
316
575
54
720
373
74
336
336
151
193
413
726
929
332
924
957
217
979
71
741
40
387
481
630
979
674
754
45
731
630
993
290
561
661
562
773
924
202
432
773
250
846
776
710
39
608
207
935
162
829
50
661
77
319
781
952
558
756
508
457
563
887
262
14
684
881
435
650
800
396
825
599
403
941
275
183
129
289
257
728
364
172
759
358
105
729
848
127
954
696
792
950
678
67
536
101
638
611
361
891
109
632
571
740
575
786
900
700
439
200
981
782
903
806
137
195
568
747
623
940
449
724
77
541
35
578
154
964
156
534
142
230
399
324
885
228
251
319
720
0
584
989
300
635
842
901
332
137
394
50
825
211
418
18
186
577
184
80
20
414
813
408
832
842
117
847
944
441
190
490
482
366
877
984
776
904
881
755
545
410
379
7
344
483
248
163
38
502
823
177
375
376
591
843
662
483
594
475
272
995
226
936
817
579
399
645
934
725
801
377
346
699
754
601
497
230
492
190
697
18
647
244
770
735
281
590
559
200
761
526
228
433
707
59
907
400
188
719
39
362
47
571
18
571
190
908
859
69
99
775
340
73
303
245
812
407
833
261
176
664
336
738
577
707
842
258
820
359
145
184
717
735
607
993
775
846
919
763
612
121
527
518
524
42
244
476
693
418
792
208
174
459
438
888
733
526
668
783
232
477
228
937
823
332
487
609
604
355
167
947
235
518
156
625
787
153
782
916
702
461
118
62
623
59
999
698
170
607
709
198
686
243
409
275
243
281
176
565
628
518
100
599
182
328
890
186
631
648
223
202
217
477
321
431
873
694
324
665
683
315
854
220
894
554
864
773
306
937
389
881
620
332
258
435
332
806
723
966
354
961
138
460
493
400
977
541
820
15
816
653
163
233
772
695
418
525
263
320
672
720
656
640
217
157
337
604
982
284
602
160
190
541
687
883
282
871
735
945
501
119
530
700
178
541
642
961
964
164
397
634
133
394
444
683
916
882
739
84
50
562
134
676
53
531
55
359
230
852
931
648
636
605
889
336
745
195
472
743
779
514
268
557
913
19
824
678
312
696
76
673
827
440
66
7
924
464
484
168
637
879
595
721
315
400
557
452
274
226
566
487
467
507
669
571
486
129
310
765
250
227
827
101
759
995
556
321
41
1
980
214
606
447
20
665
415
668
398
920
467
670
37
628
837
43
851
716
132
802
593
7
437
313
151
187
907
838
634
700
602
765
486
471
357
653
849
409
86
372
983
823
888
297
741
758
962
958
533
843
401
924
550
306
777
206
489
0
301
767
344
793
185
144
724
217
711
861
495
533
657
262
991
696
470
158
962
609
84
865
369
10
328
740
766
268
256
469
510
933
908
736
178
399
52
387
560
130
582
91
201
564
780
582
496
906
102
112
497
669
898
897
434
412
15
433
93
948
389
489
128
29
209
333
553
804
913
865
170
763
131
541
709
85
401
443
950
984
956
667
443
227
165
836
159
791
232
661
915
765
45
17
5
686
645
406
992
915
673
33
7
157
699
972
291
829
814
526
863
945
56
909
320
839
169
438
912
746
357
609
920
469
307
368
596
5
653
309
562
821
576
919
833
960
653
981
936
45
424
316
759
167
914
580
430
849
121
729
869
305
144
690
715
292
37
511
655
854
611
561
303
430
47
725
832
116
835
602
681
250
954
90
442
89
20
888
523
753
272
50
969
509
2
949
853
396
610
855
861
595
527
949
226
926
152
361
980
125
930
744
648
343
338
413
690
14
509
482
182
137
954
379
90
240
392
443
830
374
238
809
682
290
914
566
711
852
439
517
879
115
291
755
720
520
454
932
920
109
583
851
971
993
699
880
730
607
365
469
534
520
883
205
351
702
343
407
136
29
18
378
260
788
406
92
513
401
350
160
644
883
859
796
807
652
769
966
531
924
748
71
131
593
141
603
772
439
149
47
385
244
213
898
109
362
796
125
92
450
303
980
104
581
333
427
411
395
862
992
471
11
641
175
640
919
56
749
98
607
339
276
997
971
783
770
272
527
566
276
993
918
706
212
940
789
833
833
971
631
376
244
622
338
101
147
843
660
723
802
799
696
635
626
710
824
458
425
971
320
801
179
631
9
488
8
877
232
546
110
690
117
980
116
173
596
647
566
583
647
757
31
818
667
212
450
432
239
695
647
140
236
842
717
600
994
104
849
491
194
319
182
703
301
363
905
625
490
889
96
559
303
804
664
681
832
71
720
712
802
586
618
820
9
846
524
82
431
36
668
574
384
362
436
838
65
917
337
495
324
483
839
289
52
82
83
958
742
26
42
787
234
694
704
193
12
756
951
92
287
104
861
19
369
79
395
544
173
523
666
525
224
500
914
353
877
944
940
204
551
566
377
278
885
181
961
648
252
540
539
430
903
682
690
702
857
712
272
539
853
323
204
721
442
316
443
926
770
365
873
599
609
773
494
869
203
183
559
732
392
38
49
175
787
280
13
869
402
104
384
735
71
885
142
421
773
213
933
660
642
619
724
682
595
88
594
1
900
442
285
805
692
965
148
866
679
876
82
99
688
970
331
367
483
951
709
502
807
170
988
411
580
466
285
357
538
284
318
369
764
333
34
956
336
888
141
299
91
404
160
810
623
947
920
408
251
956
294
855
724
249
944
724
742
984
666
242
155
933
860
415
348
84
191
103
430
96
493
212
639
111
25
613
605
580
738
277
305
332
376
86
348
235
162
135
802
674
513
242
284
862
104
564
538
762
893
841
811
113
22
33
343
906
554
448
346
662
723
586
304
560
792
33
573
334
995
181
692
299
112
954
943
424
25
697
302
122
932
779
868
772
661
595
96
287
129
147
463
357
285
731
93
809
690
544
140
179
546
833
219
614
246
652
472
769
437
454
345
393
673
99
919
939
513
997
484
4
855
464
393
508
821
506
936
524
609
336
911
415
793
875
896
296
115
416
722
260
772
349
360
535
572
591
772
456
95
671
670
519
848
747
553
238
498
398
49
811
546
488
130
146
528
813
628
185
606
927
695
236
854
147
220
773
169
884
654
699
115
276
842
314
441
366
880
434
873
362
773
190
630
114
67
330
150
160
977
943
333
437
126
386
404
175
79
259
411
347
147
384
728
169
650
644
183
153
362
540
501
237
217
805
23
73
316
394
852
173
43
553
691
81
48
537
921
900
170
345
2
940
502
612
602
766
370
205
319
577
181
795
673
349
747
110
947
212
374
604
189
808
428
128
177
513
124
852
237
738
200
210
927
256
658
136
398
464
179
521
944
108
969
973
87
55
505
833
190
281
306
294
688
806
453
377
696
415
742
529
848
481
165
129
704
832
722
903
29
931
105
641
677
542
706
305
375
664
22
423
594
681
543
93
896
424
489
73
896
175
436
873
476
191
156
103
649
996
918
798
866
859
104
370
858
217
406
19
341
292
31
409
816
427
155
722
823
633
937
406
711
405
818
134
688
728
278
268
464
456
119
732
907
271
169
360
732
843
194
133
170
470
580
466
776
33
265
25
48
468
194
572
247
162
270
373
858
14
516
391
856
417
934
363
871
657
232
426
836
187
322
337
191
209
0
939
445
802
750
50
738
254
471
172
483
357
260
892
273
956
788
141
798
629
373
832
524
789
557
554
258
740
416
460
190
288
718
168
6
897
972
903
704
135
214
57
41
491
566
636
693
735
449
198
592
291
707
759
684
951
540
983
70
164
438
74
692
193
65
690
423
262
491
310
435
355
702
254
773
254
133
623
262
33
513
214
234
709
270
856
355
866
85
477
819
883
311
932
458
458
308
43
195
341
359
650
827
694
258
866
548
120
900
74
291
38
260
570
73
627
771
773
811
938
668
838
126
65
532
332
672
49
319
37
691
447
385
695
272
44
444
668
96
611
59
258
757
664
111
949
263
284
156
89
132
16
59
946
197
613
555
997
257
435
127
52
989
494
360
687
922
655
315
370
219
520
896
260
6
888
231
253
415
765
118
494
495
865
190
639
438
688
744
215
947
739
229
292
83
912
156
245
805
581
222
384
796
232
146
152
759
903
889
904
700
495
758
731
311
338
190
678
612
939
238
897
580
309
976
218
955
6
427
945
961
245
695
296
904
571
619
300
199
399
892
711
774
468
300
631
58
257
232
299
684
958
578
481
358
429
922
914
664
331
245
746
562
491
151
771
502
636
260
391
470
589
211
176
897
592
726
713
785
205
998
977
743
395
282
712
394
310
979
527
570
316
536
934
98
541
417
682
75
804
650
882
912
67
566
721
245
0
681
494
172
749
372
231
332
280
662
350
271
16
75
571
507
338
614
559
209
549
164
283
799
38
174
787
409
76
274
489
194
553
504
265
361
905
276
740
577
473
856
770
264
150
767
167
462
207
678
941
728
835
100
38
886
586
558
842
455
939
866
683
610
483
882
241
194
787
526
287
420
733
607
424
464
146
579
611
194
668
740
272
549
624
285
188
840
75
431
340
205
984
841
398
766
669
886
413
172
422
559
356
0
672
963
756
678
649
361
209
967
43
570
196
638
728
211
222
903
717
141
768
71
718
661
990
290
838
592
133
663
45
925
642
53
17
566
419
99
938
694
265
921
130
941
443
502
47
941
872
512
411
588
710
210
384
385
450
285
737
357
742
15
156
900
889
94
610
955
778
833
922
452
688
7
241
956
543
734
295
332
895
715
888
284
82
485
635
524
945
249
643
809
56
303
761
983
707
249
705
608
232
67
711
100
757
981
633
639
100
279
730
315
779
374
78
990
440
189
398
180
631
614
34
736
337
178
365
98
365
784
643
682
730
83
537
486
891
815
645
278
851
583
118
410
366
199
30
470
398
320
57
710
848
639
764
292
478
929
24
301
207
774
993
68
890
979
207
830
925
16
421
474
781
273
195
211
24
798
452
618
110
519
404
625
61
455
351
245
314
821
616
412
293
730
849
68
690
871
327
277
362
806
363
552
30
442
152
624
302
638
78
746
372
368
475
640
985
797
594
905
675
203
171
964
339
544
296
418
324
992
440
221
490
623
940
99
253
618
493
952
288
411
26
843
308
771
819
357
228
507
321
86
46
404
361
918
566
987
8
958
967
813
623
706
717
731
314
814
666
523
109
611
53
77
749
22
245
687
130
918
514
84
438
9
548
632
317
88
360
76
188
328
502
493
905
872
227
593
79
356
196
713
606
382
266
662
901
765
124
987
832
403
247
24
229
175
82
428
33
946
333
94
242
359
636
784
425
151
641
557
151
707
432
331
274
683
797
471
279
979
372
48
968
531
402
223
294
937
969
925
777
485
12
367
759
803
624
750
589
328
959
431
138
269
851
901
439
876
811
369
588
40
1
827
66
197
161
677
774
36
492
344
311
129
596
301
864
203
444
394
540
275
833
98
150
226
13
397
68
497
494
610
716
593
124
832
815
604
938
104
309
168
230
482
651
445
261
39
189
818
657
334
582
900
553
296
911
726
990
884
58
357
382
414
745
671
434
2
212
140
823
414
647
871
457
823
271
101
146
557
737
408
623
333
497
390
133
897
72
90
554
665
59
887
557
655
377
602
5
521
673
386
316
935
443
643
294
46
719
933
602
755
124
956
502
992
372
365
620
353
210
979
78
920
818
815
884
930
123
326
680
18
201
421
836
293
63
425
660
323
685
498
694
212
930
168
988
182
920
109
121
98
876
895
472
651
701
558
103
295
687
652
283
132
435
130
661
224
190
479
269
55
32
225
906
958
85
406
431
985
191
800
19
241
724
240
628
805
333
192
967
195
148
756
42
622
374
138
439
75
120
449
120
404
561
312
381
507
635
272
283
222
996
973
2
329
285
401
38
768
165
447
40
967
576
872
374
54
583
439
333
360
320
106
468
391
675
69
333
682
458
169
660
243
362
877
571
179
577
492
976
730
681
340
346
514
548
562
208
833
844
263
172
575
614
526
908
155
378
373
639
46
333
918
176
286
637
845
403
771
785
442
680
717
309
655
336
164
699
205
845
385
811
428
464
280
939
608
201
686
67
872
60
234
826
552
520
915
408
646
828
846
217
281
452
117
160
897
865
234
802
484
733
119
701
241
810
383
859
992
168
906
230
636
413
298
710
579
431
909
813
759
785
689
932
974
37
906
750
727
348
577
277
250
540
442
534
535
79
997
635
326
52
542
767
796
17
436
212
599
22
732
624
693
867
753
550
394
290
665
244
678
166
170
262
107
896
725
784
118
886
934
44
677
908
695
604
932
688
978
641
985
153
135
872
348
12
69
234
32
464
787
840
743
188
494
866
17
553
895
721
695
381
310
914
10
518
437
538
230
228
973
160
954
577
471
129
520
988
381
172
770
649
948
427
79
316
899
79
17
257
669
250
661
763
79
952
711
809
444
247
847
518
519
937
595
469
793
324
264
24
699
106
789
858
203
324
737
821
620
568
795
655
374
49
475
317
576
452
525
96
572
114
540
665
544
637
576
301
683
87
778
151
427
360
812
274
330
568
192
127
466
417
415
858
743
218
124
472
294
781
400
587
388
860
365
316
821
377
379
61
179
595
473
662
851
143
502
715
704
900
769
333
757
714
156
386
983
456
604
160
294
353
60
614
413
191
274
160
426
574
534
953
619
34
45
527
614
989
355
150
600
674
611
301
280
647
32
22
152
625
928
501
140
317
586
957
724
744
239
934
485
887
883
961
122
333
539
795
295
116
968
535
573
587
29
677
613
325
754
753
304
465
700
199
754
972
25
376
383
651
855
333
923
695
356
979
612
91
165
347
368
189
81
559
921
834
893
411
433
426
366
334
870
887
967
56
281
824
877
810
265
679
748
261
990
251
692
812
664
38
954
853
597
719
219
319
383
3
156
6
727
838
676
237
743
624
710
835
727
560
876
248
430
721
490
911
515
238
793
44
45
960
413
912
961
669
214
867
277
620
643
735
660
931
949
577
746
264
35
385
746
728
948
517
48
789
986
369
461
541
3
564
977
411
664
304
857
454
234
177
631
100
847
71
306
976
379
871
166
512
725
428
814
407
889
708
613
88
181
991
925
657
625
376
584
153
68
564
623
214
890
545
739
8
713
574
631
291
729
912
366
236
933
554
775
724
19
391
805
155
694
74
784
801
123
377
113
702
432
869
322
873
300
404
982
982
106
338
920
792
770
692
502
350
715
461
805
209
491
631
374
14
836
41
552
622
7
409
521
459
757
39
281
72
618
333
290
708
63
726
734
372
248
380
740
384
280
759
968
883
682
248
927
267
4
648
91
99
794
550
771
967
87
314
211
550
446
540
197
941
582
373
837
297
402
221
971
524
334
394
844
696
947
31
778
911
153
796
15
648
672
804
257
834
594
929
832
744
596
217
922
167
140
231
449
440
323
272
710
429
620
168
387
9
118
934
195
124
88
848
505
926
19
963
504
66
36
52
390
830
235
266
674
211
422
699
969
673
219
274
532
768
904
482
854
702
931
934
140
40
824
187
856
126
107
132
833
480
556
770
131
366
20
333
880
366
398
362
758
959
612
257
636
950
16
508
573
404
387
599
550
159
571
869
796
316
812
241
385
144
650
700
980
255
719
845
308
90
547
625
109
468
999
718
127
544
852
440
609
440
617
607
443
219
282
805
396
358
173
888
180
431
281
410
14
777
2
19
365
457
94
140
955
766
686
198
494
746
383
442
181
560
507
358
367
956
15
465
928
481
971
291
832
880
250
936
659
525
537
337
357
448
767
813
714
355
448
301
724
924
940
522
572
858
487
135
534
286
113
94
830
930
63
668
802
593
927
364
1
575
270
853
52
852
225
929
582
232
91
61
312
104
363
171
552
191
588
697
117
710
387
261
268
638
578
827
536
409
453
463
290
889
977
412
509
383
394
650
692
479
734
73
775
695
725
764
789
230
485
182
692
85
187
41
970
352
879
683
214
436
723
864
325
126
439
838
953
656
368
934
388
142
977
898
716
50
388
519
940
556
836
450
896
211
842
694
402
150
386
592
373
741
586
414
922
683
768
439
332
375
828
698
530
488
956
601
13
784
445
399
622
398
389
618
984
411
184
415
510
952
398
114
683
781
23
560
225
191
786
506
627
331
958
922
107
546
946
989
263
349
208
435
531
264
940
636
396
34
233
771
376
910
35
519
337
531
776
920
707
285
226
372
430
63
880
56
938
730
802
261
730
195
659
306
759
905
622
483
44
175
912
77
76
920
105
138
919
798
524
821
563
914
507
604
411
145
866
72
82
749
968
895
899
611
49
734
269
832
408
318
187
482
653
780
197
825
509
986
695
896
282
115
84
623
235
597
28
448
864
917
504
474
604
617
441
188
107
950
861
623
56
40
616
98
851
77
9
815
663
825
903
199
462
60
73
611
571
859
709
679
690
917
831
810
513
207
49
728
528
139
158
532
447
988
684
741
192
64
234
502
434
66
35
111
25
464
111
405
506
810
357
792
901
818
214
800
101
476
245
60
868
515
982
460
574
53
862
921
41
139
128
197
92
433
610
321
886
396
360
852
775
901
643
575
83
172
223
443
773
834
868
422
737
5
489
91
134
809
565
122
553
869
250
695
815
629
998
814
203
140
663
900
217
243
712
825
894
624
201
522
287
8
796
832
932
938
215
27
280
64
149
864
220
768
804
812
501
494
356
845
223
824
453
894
394
603
471
825
436
959
953
360
578
591
999
120
340
689
866
748
909
318
857
97
929
99
343
211
411
551
87
413
419
196
336
657
937
117
151
731
559
824
364
391
911
966
465
550
831
631
470
107
337
668
385
645
125
600
69
731
451
776
102
533
671
736
839
929
218
418
460
913
28
136
99
180
982
922
828
416
755
429
700
283
523
582
499
924
545
669
831
583
792
988
360
532
605
140
761
76
164
660
732
447
929
642
630
114
173
111
506
700
44
119
245
603
874
876
566
997
183
90
863
739
691
74
88
978
933
258
534
523
719
272
466
455
390
742
57
184
491
21
387
719
139
302
765
932
811
874
2
285
69
204
460
638
732
687
937
918
282
646
227
733
267
364
611
476
895
555
787
443
929
337
79
155
104
25
419
630
674
33
764
356
990
507
269
177
268
650
786
458
736
185
270
278
912
955
119
532
464
228
277
529
39
332
995
853
653
775
730
886
504
534
418
349
676
960
384
220
305
938
200
856
608
615
624
785
974
794
758
321
88
56
510
143
741
713
142
834
173
269
775
107
318
684
697
623
171
302
18
351
705
953
435
732
897
906
302
433
119
615
881
866
21
861
973
402
13
400
220
333
64
114
329
580
112
181
444
423
787
936
654
982
439
880
413
133
622
53
175
483
922
143
89
521
672
733
736
742
584
472
58
876
170
95
783
696
323
171
98
241
957
704
951
745
2
312
278
600
645
269
60
131
906
484
757
858
851
37
191
859
269
110
746
914
270
965
683
535
861
322
816
944
78
153
911
991
419
974
15
366
241
380
170
861
690
892
837
152
624
417
557
896
529
614
363
1
729
215
335
410
26
404
858
83
30
861
722
161
594
525
913
383
943
403
519
624
742
59
43
355
439
154
567
728
390
259
403
98
202
32
183
711
191
547
418
379
924
59
791
210
297
631
317
560
237
988
430
294
535
492
866
88
920
734
222
787
391
62
743
789
803
113
571
81
6
808
809
855
395
892
369
521
183
487
990
432
310
149
642
325
538
230
824
133
150
727
263
715
139
789
15
709
940
904
32
466
474
922
185
847
762
767
323
365
639
63
497
469
643
297
130
434
668
858
478
827
263
274
161
840
979
58
327
398
404
669
897
707
30
235
927
982
468
856
597
56
601
899
696
69
443
337
444
941
433
895
160
985
275
146
957
998
461
945
339
826
803
993
742
187
884
297
894
413
216
469
689
657
249
271
307
841
285
432
731
306
932
719
711
574
786
532
962
78
318
327
442
371
652
800
506
142
817
826
325
889
632
452
399
997
225
674
736
641
609
312
509
329
536
736
449
965
769
517
866
81
376
431
132
392
535
843
290
338
131
351
651
547
526
907
359
757
589
367
853
383
172
624
596
725
153
934
786
984
838
492
542
271
523
23
736
190
340
705
381
38
911
421
737
534
103
877
727
812
888
519
797
575
714
888
278
482
162
769
647
596
434
726
408
855
667
255
540
386
356
426
433
728
54
109
643
295
921
9
532
842
60
413
301
500
103
800
595
879
418
713
848
141
488
652
996
984
550
7
143
213
519
297
710
144
237
353
810
545
162
357
456
935
445
557
987
709
71
337
991
4
719
995
821
757
980
816
908
868
140
762
295
729
104
593
809
778
74
625
658
886
346
423
715
707
430
188
329
160
550
475
120
210
305
929
312
670
799
528
556
289
67
646
769
23
674
757
55
883
719
990
425
827
683
558
220
499
706
452
243
908
979
761
298
938
830
426
866
672
415
861
144
253
459
435
734
32
558
473
747
543
607
831
729
374
622
968
427
709
282
528
98
976
634
910
463
848
798
656
385
444
956
117
938
21
303
282
808
598
788
847
672
477
926
220
74
400
858
382
958
259
278
111
743
200
242
785
679
884
558
714
124
735
243
497
524
411
837
435
142
157
498
366
12
670
16
474
116
527
579
259
526
20
603
251
509
928
603
62
214
352
549
40
518
765
149
736
288
805
428
463
109
535
225
850
926
337
978
21
774
766
186
458
784
848
627
513
157
487
919
550
251
922
515
898
787
487
9
990
657
584
128
294
845
236
639
778
158
880
68
297
311
556
361
392
79
161
756
496
794
15
844
892
530
960
702
853
588
163
616
764
702
289
957
636
257
567
894
931
752
855
627
267
740
26
575
952
912
136
965
869
678
132
885
994
804
366
168
831
756
178
616
908
887
42
787
125
677
868
695
237
191
122
308
49
199
756
246
679
416
236
380
824
304
151
669
306
602
207
969
757
556
159
375
866
336
713
498
413
891
858
14
180
845
367
645
536
805
568
141
224
839
405
64
945
531
834
412
904
408
568
358
53
769
213
635
48
877
475
502
779
348
204
183
860
265
293
260
959
370
189
458
975
533
652
20
309
208
719
517
349
444
695
294
70
308
456
679
341
624
308
837
41
505
756
331
548
269
240
815
520
290
531
952
954
695
178
996
245
971
739
986
761
933
292
330
246
180
452
976
894
746
156
897
240
415
824
66
463
178
788
965
351
919
237
763
444
208
213
745
0
330
868
511
998
159
352
647
863
567
428
722
164
59
740
475
299
591
819
915
190
545
28
239
899
412
887
605
976
758
241
446
256
200
490
826
242
391
284
69
939
68
249
161
104
660
171
12
485
741
3
210
45
585
845
641
25
240
350
899
668
635
285
775
84
913
378
472
523
366
94
820
769
781
262
104
362
640
290
471
91
901
167
762
316
60
261
896
452
529
79
621
623
732
667
387
102
318
976
636
162
545
813
824
526
138
437
634
335
139
818
393
724
165
824
573
99
564
852
651
880
739
152
534
817
53
739
990
30
28
111
942
849
314
138
460
966
887
480
720
870
576
489
437
262
878
343
518
602
867
350
156
408
749
554
73
653
893
15
898
907
631
813
352
720
705
947
264
273
616
492
357
604
897
161
760
294
38
353
79
307
248
409
907
524
65
946
387
723
272
972
433
976
256
882
880
893
775
885
787
922
856
183
689
845
290
22
621
78
677
808
64
319
709
349
904
277
23
330
316
666
299
386
828
821
539
91
315
217
605
32
95
7
342
955
578
952
878
656
759
53
238
533
295
19
273
447
509
137
118
175
654
908
239
481
326
502
521
706
218
422
119
713
484
610
233
338
939
324
312
472
397
790
986
561
633
740
571
852
315
159
953
159
124
313
335
585
446
205
21
636
996
168
576
85
688
625
579
916
375
484
947
366
53
436
203
114
995
658
378
982
475
366
933
908
928
446
672
837
626
823
171
817
608
826
694
597
225
654
162
669
381
377
591
343
477
850
720
818
703
222
537
703
989
281
406
957
934
974
733
849
362
574
15
152
464
760
91
996
166
601
50
892
576
670
579
175
391
823
223
973
740
911
855
86
344
291
742
811
421
4
341
152
275
638
388
793
98
171
147
298
838
631
384
236
496
449
333
730
380
284
28
939
255
451
456
690
823
682
345
499
26
685
187
66
872
418
294
207
651
443
855
509
263
805
124
836
918
482
976
282
61
359
239
171
883
62
648
852
838
791
615
264
332
9
206
365
874
255
967
121
665
893
995
50
313
672
407
997
527
543
429
254
79
71
696
517
452
443
983
978
399
547
767
903
739
316
948
43
419
948
416
468
625
626
928
682
692
107
229
11
40
232
475
884
976
277
775
970
891
195
692
319
771
730
933
849
390
14
730
39
680
573
585
620
523
292
626
921
282
182
490
773
326
951
183
381
278
281
585
403
763
0
673
907
960
78
696
821
75
80
121
151
613
451
952
564
260
676
234
677
737
634
340
327
996
741
98
998
98
717
165
286
864
235
872
834
345
289
232
651
732
467
614
506
307
203
777
321
352
724
563
558
739
376
686
334
323
918
359
135
338
480
618
195
322
598
909
629
831
106
540
713
627
769
287
674
929
618
345
821
665
31
69
301
221
262
828
92
728
245
850
710
479
623
885
873
578
32
238
536
569
824
730
881
433
70
758
857
353
211
819
929
720
609
53
437
756
187
129
81
75
886
485
52
513
420
719
83
770
28
156
719
804
691
802
76
213
509
21
499
498
728
627
489
516
955
278
851
508
278
424
449
599
383
87
885
820
469
6
540
664
169
696
135
608
718
639
798
483
283
118
944
192
781
328
619
654
132
442
734
442
299
422
532
554
911
571
421
28
209
297
547
912
352
670
45
493
236
11
20
268
682
226
352
467
80
557
229
697
814
396
63
453
768
512
701
957
31
687
664
512
499
639
508
409
73
536
799
989
507
252
854
582
39
767
352
898
872
3
598
356
826
135
457
564
727
29
687
677
516
957
664
75
480
849
706
953
452
414
598
356
435
46
870
549
327
154
205
678
20
452
790
786
748
554
24
492
624
449
678
972
673
192
949
472
664
95
340
112
895
488
377
513
741
66
362
222
252
838
931
773
72
26
87
415
117
176
585
760
487
849
48
662
6
496
722
793
685
286
831
90
399
789
950
846
136
492
371
90
730
16
24
968
922
721
298
916
601
353
189
436
825
66
244
936
4
399
384
276
60
516
16
992
407
109
863
689
261
778
81
381
987
504
109
7
276
564
395
360
720
631
742
506
713
195
931
903
446
713
200
437
827
557
474
419
209
6
780
460
619
281
88
28
12
56
293
276
981
572
561
6
291
151
517
93
748
79
496
509
631
39
696
936
590
675
55
105
654
72
395
678
476
84
474
465
894
111
550
552
233
967
61
131
751
783
736
330
887
554
674
699
960
115
220
89
913
87
202
494
542
796
352
708
880
344
184
385
435
657
917
135
131
463
896
117
599
559
689
398
759
932
55
298
421
975
455
974
482
901
68
189
281
589
390
758
437
646
333
620
635
436
769
515
105
692
728
897
949
39
468
612
138
791
295
386
222
206
39
77
132
10
408
985
346
849
875
190
146
587
143
158
886
68
308
641
460
994
41
484
129
362
718
543
396
121
250
849
17
949
155
943
619
531
856
632
825
503
171
588
296
415
809
198
641
549
719
276
917
143
244
196
121
59
375
490
723
332
641
947
782
451
196
881
745
93
480
465
904
753
910
26
639
135
217
898
77
313
408
823
191
653
222
188
384
255
72
25
674
180
991
199
573
195
39
560
93
529
299
59
769
919
523
650
177
476
997
858
628
10
134
107
958
889
289
964
878
212
978
437
817
889
598
201
171
934
817
758
634
525
147
18
280
753
697
550
890
336
957
742
554
930
615
551
535
771
750
188
311
501
240
77
621
892
586
613
73
838
558
896
166
631
860
172
369
193
291
241
862
213
339
201
361
30
507
662
416
463
580
798
769
154
913
55
642
60
106
113
679
420
42
606
288
884
243
754
241
306
995
100
311
984
623
228
342
209
825
486
771
863
433
366
320
657
821
808
253
743
304
105
631
233
415
355
422
969
167
69
772
844
996
503
954
26
998
522
605
160
589
651
306
830
134
455
164
658
142
617
275
942
768
850
372
287
862
703
838
877
127
52
457
135
935
897
342
151
700
771
80
174
279
892
487
467
395
889
926
815
944
722
651
93
546
754
943
695
951
337
736
319
700
951
486
138
730
505
144
149
224
816
365
286
379
654
832
804
810
822
127
496
827
33
949
790
376
510
150
512
871
179
476
668
169
356
579
805
711
425
60
981
587
511
586
13
503
985
622
587
744
207
180
585
468
339
227
177
733
864
663
763
533
707
11
998
668
410
997
562
975
711
722
512
397
245
136
782
86
336
629
902
681
199
409
880
628
607
993
800
695
730
794
379
653
504
702
707
993
568
268
836
982
18
433
888
817
559
164
437
685
913
544
592
838
31
879
494
15
349
113
331
886
222
982
58
379
468
780
417
592
512
760
560
456
111
480
759
216
246
763
608
644
971
434
727
187
291
739
328
378
740
397
349
331
854
48
425
30
406
356
284
197
41
516
852
583
853
829
3
599
99
221
681
638
866
111
975
186
118
634
206
875
182
112
867
146
115
476
987
337
305
807
956
246
431
286
192
844
837
10
109
795
214
543
438
327
187
166
682
140
303
196
965
354
606
384
507
756
158
589
586
747
325
988
316
682
279
819
708
79
928
591
250
15
779
903
105
530
515
463
950
712
335
931
321
328
824
122
297
952
626
705
584
854
545
304
805
793
158
934
903
260
758
723
486
810
661
287
521
617
485
336
373
865
65
241
327
281
314
677
286
169
588
18
776
205
824
975
126
631
723
316
333
620
519
219
965
44
170
499
941
507
294
789
284
632
656
752
264
775
937
500
443
957
678
633
166
927
665
802
653
281
170
151
24
281
534
817
947
595
123
518
683
472
602
905
123
326
649
477
732
787
714
488
37
265
853
221
65
68
901
709
898
889
549
200
798
520
303
272
112
621
673
839
521
811
901
779
325
240
312
676
167
538
7
206
714
968
207
18
276
106
508
822
174
27
630
800
980
345
941
991
801
112
22
805
260
916
686
996
354
408
533
336
666
628
623
324
153
724
321
382
887
580
20
467
522
887
63
417
244
782
584
651
703
512
660
498
121
295
275
421
721
217
412
267
329
666
12
230
434
179
39
762
745
137
958
559
286
662
277
250
520
328
617
796
713
202
618
700
511
633
642
28
518
350
453
977
228
843
141
19
901
407
538
692
75
70
895
201
628
194
536
942
361
742
770
18
21
301
315
102
43
256
572
334
837
582
630
267
805
536
216
10
986
721
760
208
412
26
124
18
572
387
590
69
28
294
279
669
430
594
234
32
934
998
82
679
543
397
551
124
510
613
636
415
747
719
3
227
688
745
755
169
218
70
844
597
662
698
640
424
961
863
969
940
109
414
624
677
276
281
476
395
462
753
431
850
28
290
308
472
709
852
376
340
565
167
88
313
487
493
910
337
79
966
28
464
180
521
658
671
812
602
348
0
953
375
603
570
119
419
583
783
545
740
776
489
831
601
873
210
685
723
878
90
566
816
10
633
889
80
122
471
953
125
69
171
683
689
381
315
312
90
112
958
67
414
207
906
415
859
444
982
150
418
713
934
960
987
952
400
840
122
448
804
313
640
249
815
217
69
924
244
692
544
700
243
531
291
210
988
665
119
990
660
114
541
214
862
294
95
478
208
324
53
331
257
424
240
387
296
647
651
805
976
130
704
213
601
334
657
410
675
956
282
822
225
516
207
166
512
729
810
743
230
92
190
109
755
800
750
482
903
834
47
834
707
481
628
339
55
646
904
959
767
498
606
919
513
994
655
71
679
198
461
994
946
871
300
275
138
377
354
275
516
29
643
381
638
118
733
770
559
589
244
257
778
580
590
371
189
858
642
693
33
805
212
318
47
128
669
720
688
421
433
738
918
32
544
2
541
600
547
150
528
671
957
41
468
164
166
721
781
612
54
953
892
259
700
560
494
427
848
216
24
29
699
780
163
800
877
540
479
891
32
147
570
198
865
899
965
208
214
973
138
984
103
568
927
441
301
379
614
352
620
789
944
922
183
876
509
170
784
87
891
690
48
588
35
306
450
949
827
897
458
221
95
241
557
877
862
449
949
846
489
611
650
507
967
642
534
884
505
990
232
894
66
19
467
775
670
699
799
123
144
829
477
589
602
718
606
526
840
658
445
799
725
37
237
203
695
907
177
771
995
107
269
565
226
556
293
43
392
283
570
55
299
446
360
602
983
492
303
911
709
410
160
738
768
506
759
941
628
535
166
250
654
23
379
102
738
468
449
474
725
106
147
209
542
341
876
597
424
423
729
120
416
476
673
940
400
599
551
766
885
625
458
148
86
757
832
998
96
430
242
235
8
20
106
813
719
770
909
7
410
681
574
220
28
440
695
389
985
667
467
774
116
473
769
383
418
407
498
846
890
749
169
811
572
856
998
258
189
168
231
749
916
619
43
839
361
537
970
491
165
924
79
843
558
677
863
412
598
741
972
93
330
726
296
484
419
460
945
534
275
601
793
146
786
290
130
684
457
73
510
37
423
642
365
431
847
694
12
803
510
290
829
32
525
507
348
129
215
59
164
847
168
857
770
224
260
199
86
124
734
765
481
451
795
978
176
998
790
329
632
902
753
986
291
363
318
7
512
100
536
481
598
27
525
905
754
132
493
470
118
226
295
901
942
72
647
870
548
566
960
963
11
583
440
207
227
109
568
489
538
42
979
449
326
754
672
775
642
934
664
883
229
884
875
305
373
16
75
741
533
837
771
96
193
307
635
508
458
97
856
536
604
411
831
503
31
896
654
840
861
56
745
674
602
685
312
207
716
204
929
288
380
400
407
64
789
806
721
305
858
571
674
251
797
73
349
246
54
280
891
360
914
699
944
832
184
190
758
606
62
600
684
128
845
549
789
611
695
903
91
756
368
766
141
197
683
114
121
185
841
557
550
389
99
898
20
477
17
479
687
882
789
856
578
930
470
114
814
494
945
424
189
88
208
346
492
387
578
635
202
967
495
485
952
219
754
821
452
455
382
700
193
450
549
993
0
589
400
209
297
592
733
494
537
921
166
666
689
551
797
158
341
128
514
768
36
761
357
409
783
697
654
38
660
777
785
656
100
860
257
394
459
505
610
226
469
712
967
672
381
214
717
760
820
554
675
599
284
827
150
399
901
14
537
84
250
675
765
623
26
531
602
460
59
615
909
251
528
367
811
639
757
573
908
24
60
265
608
32
915
907
908
550
939
298
185
167
812
102
222
347
280
387
11
654
686
822
569
444
570
368
976
487
551
759
812
332
882
905
329
638
144
579
79
818
418
100
215
305
719
250
998
53
972
445
499
582
90
747
63
424
943
471
19
588
287
169
605
887
112
110
877
903
847
520
208
811
244
41
963
384
413
529
521
100
535
274
803
839
535
967
619
764
364
211
930
887
65
380
353
958
198
409
248
747
588
578
466
448
616
913
135
344
35
720
867
65
557
930
668
847
648
818
899
184
437
989
77
700
11
661
882
885
367
259
176
925
661
476
5
151
987
305
673
717
340
389
552
721
539
364
585
319
842
450
543
385
316
237
202
432
371
180
282
741
884
964
302
927
366
550
104
224
676
24
622
716
59
747
604
927
848
320
138
43
382
219
195
802
950
181
79
715
669
942
703
656
831
969
524
766
93
915
894
263
659
5
55
463
27
431
205
505
63
817
111
852
248
127
724
899
520
293
752
288
567
103
529
79
981
165
510
757
68
407
76
56
115
498
790
226
440
596
832
286
68
955
236
294
537
1
56
738
476
86
580
549
970
686
968
836
170
692
286
573
154
236
347
161
892
152
802
346
765
373
324
670
626
102
267
512
742
396
900
911
63
886
138
322
186
359
700
77
713
737
608
946
412
483
592
185
118
984
370
425
439
369
989
545
674
31
93
667
272
58
195
643
10
677
863
708
641
921
839
576
12
903
412
912
50
295
219
5
298
28
930
894
40
337
114
579
5
819
183
728
242
606
630
493
309
547
463
502
97
108
177
413
765
176
307
737
866
180
182
591
365
94
769
181
450
642
874
483
148
912
167
113
16
466
55
832
829
224
416
431
61
106
504
910
593
524
495
902
408
748
7
963
159
278
837
212
753
791
974
675
204
760
297
880
459
0
251
408
889
956
996
769
549
423
861
208
674
156
65
979
546
264
455
761
392
482
774
351
47
849
480
808
764
127
19
789
531
910
857
264
408
716
203
466
768
602
590
440
850
909
950
540
932
942
646
284
122
534
718
380
626
659
267
51
735
361
165
818
975
84
20
709
788
275
296
390
636
35
721
372
495
246
105
721
177
93
98
446
179
442
95
858
357
796
685
86
781
585
842
517
647
592
246
848
252
285
651
823
88
609
66
437
413
491
410
707
835
738
916
577
242
718
788
972
914
668
821
902
592
453
684
689
951
466
822
567
484
652
79
935
901
745
944
386
749
9
570
508
364
978
107
264
2
978
557
254
662
277
978
238
324
52
577
949
22
59
501
104
855
627
192
947
593
634
857
867
372
0
426
541
782
696
554
770
797
612
307
786
651
800
12
257
258
256
402
934
66
698
738
456
929
314
935
717
813
395
794
471
2
974
37
758
342
351
909
135
219
966
753
513
417
581
982
486
28
745
60
3
505
589
339
195
660
948
696
305
225
77
743
68
692
641
865
608
823
510
330
899
517
306
680
303
482
109
507
404
17
482
787
148
700
285
788
215
738
920
223
194
268
334
984
715
527
531
623
808
822
348
974
647
656
653
457
485
38
738
221
868
337
931
268
155
227
901
556
183
938
31
249
515
599
207
955
45
399
102
232
992
923
26
235
729
808
536
264
470
343
285
19
253
755
782
885
800
611
321
364
324
436
592
747
955
549
618
603
800
813
817
442
996
970
344
352
449
373
391
915
947
773
680
44
110
384
790
218
719
128
315
312
799
416
828
864
18
690
734
444
801
153
906
869
531
975
226
502
665
504
815
526
506
862
663
46
370
213
802
230
56
184
858
878
510
391
38
197
327
284
220
255
864
759
425
50
626
930
846
256
970
545
584
793
585
529
416
916
512
72
522
617
320
616
89
151
426
483
215
398
599
821
635
186
34
582
861
859
314
188
706
403
642
691
610
702
968
955
717
718
736
960
989
343
85
442
899
745
57
558
109
779
213
102
117
883
704
641
129
352
836
719
327
643
889
303
16
222
403
511
242
929
929
423
975
523
265
92
835
517
40
17
323
397
423
308
418
269
37
105
273
127
513
268
444
778
892
624
865
798
349
664
114
190
195
341
155
583
11
59
808
894
494
465
894
123
805
196
754
47
643
650
945
759
550
165
231
626
258
427
810
898
544
838
239
606
103
508
796
433
225
135
40
166
252
508
193
79
166
428
929
705
178
837
114
162
270
590
901
274
981
946
667
319
719
213
171
503
796
935
139
936
836
767
776
784
715
380
825
65
215
170
903
712
385
219
638
163
474
382
360
907
598
507
415
976
887
760
767
959
319
738
163
994
20
517
838
238
370
280
679
813
215
417
84
23
600
47
745
805
724
443
961
301
964
2
653
146
654
845
135
942
630
170
305
391
356
154
785
828
924
550
295
869
648
989
263
149
371
688
290
255
344
957
545
868
950
187
543
408
147
332
241
849
188
483
413
184
626
645
35
770
650
869
399
422
760
203
268
539
684
4
725
629
276
84
807
679
210
271
547
894
704
686
213
173
55
131
757
631
138
972
351
812
732
143
489
380
733
763
884
694
651
833
94
934
500
92
850
941
959
281
209
541
380
978
826
426
308
404
575
92
713
902
81
447
719
10
639
28
245
776
769
970
430
690
270
921
786
227
55
651
368
371
95
820
646
890
66
622
513
388
191
553
846
507
987
445
683
11
399
337
48
803
129
795
346
699
740
126
341
672
562
15
320
3
891
473
804
330
424
520
978
801
414
103
253
570
763
53
505
83
329
109
387
546
985
229
981
222
63
716
692
510
334
215
644
705
173
16
962
718
674
745
653
684
721
32
587
653
880
142
613
874
687
977
73
468
108
232
844
381
519
571
90
624
738
628
579
655
517
633
397
400
236
795
118
373
234
261
797
20
566
5
129
627
733
671
671
234
429
695
274
68
143
940
694
255
951
11
518
540
861
168
146
959
413
555
46
790
31
910
355
110
983
698
907
838
276
241
802
780
141
555
756
68
87
572
882
653
134
962
720
140
806
780
215
33
311
127
882
584
47
200
461
847
781
162
995
994
637
856
496
754
705
964
473
873
937
845
435
414
840
896
551
935
836
158
404
268
475
152
759
178
436
141
179
191
902
329
732
184
190
145
165
892
130
979
780
548
561
347
272
765
621
170
7
596
34
908
105
649
504
428
712
391
507
245
928
898
933
234
679
697
308
280
60
604
978
450
705
585
478
825
278
66
652
41
617
63
229
97
143
907
102
202
682
57
219
514
840
62
310
595
161
351
684
96
775
420
78
761
180
237
536
660
111
267
266
134
897
91
308
950
854
125
423
760
525
29
33
574
168
844
626
736
13
534
417
530
483
251
267
72
456
67
492
716
470
158
93
429
768
239
537
456
387
800
155
673
548
485
347
889
172
622
555
20
499
936
653
182
94
330
0
601
49
665
33
714
659
995
779
292
355
721
656
761
742
615
730
537
387
473
110
158
288
267
710
934
224
523
161
226
545
956
646
6
440
687
508
788
207
955
83
401
771
246
763
761
887
602
817
534
58
998
590
912
779
97
402
329
810
332
813
187
278
735
233
800
575
282
102
146
183
153
165
692
746
468
118
88
387
937
80
123
687
189
252
171
413
924
158
543
63
566
848
293
598
750
37
471
424
724
771
757
671
331
281
623
742
190
68
867
827
360
562
84
861
361
451
705
999
146
103
627
169
375
469
480
163
548
93
505
557
448
933
98
667
264
523
75
467
247
888
464
325
819
65
346
730
631
301
816
281
855
699
691
503
431
394
209
746
504
780
62
614
478
274
662
335
471
12
413
320
761
993
450
497
383
969
898
292
614
102
690
98
349
103
469
9
877
524
557
328
828
370
141
129
516
608
480
828
877
811
823
478
780
876
58
877
520
120
591
83
151
727
798
908
361
298
55
791
738
787
735
507
871
228
360
23
809
340
283
170
345
336
144
308
198
607
407
521
385
380
36
977
43
677
921
37
620
770
177
467
795
861
937
729
712
996
435
472
984
684
690
817
244
677
433
585
691
315
624
909
314
715
571
773
456
949
409
895
277
47
911
691
487
452
67
102
442
843
567
785
438
53
272
450
432
416
21
844
67
723
496
349
622
755
134
806
639
814
358
746
251
392
400
396
674
962
904
240
773
137
652
257
608
917
818
926
224
238
749
981
553
986
434
141
188
113
235
34
355
95
324
446
843
853
444
682
525
157
634
998
473
729
661
221
400
111
360
1
114
81
310
539
527
832
895
528
548
99
376
402
695
611
595
247
61
54
59
846
596
81
901
781
85
924
619
220
478
795
936
201
168
203
364
197
41
376
977
746
193
187
155
85
946
829
272
436
4
743
987
735
479
145
715
688
991
861
527
846
779
479
582
517
493
374
443
346
676
167
315
627
757
880
508
150
695
185
939
607
750
6
980
32
14
325
756
770
161
547
778
500
336
849
610
901
758
419
577
854
451
411
551
716
455
699
998
673
625
972
527
16
717
812
474
8
380
615
190
825
808
664
342
823
832
142
9
79
645
752
462
848
839
461
143
480
833
24
885
479
732
144
645
811
328
117
992
917
693
0
963
362
114
672
343
763
635
330
727
667
66
717
767
408
491
705
668
460
671
655
241
381
649
949
965
937
732
611
187
546
495
684
536
464
914
775
911
799
670
784
448
278
35
912
484
888
383
757
924
493
355
478
553
847
875
787
125
652
830
564
92
418
219
487
648
279
298
638
870
319
488
824
211
912
692
450
928
335
918
799
603
385
579
509
525
827
450
516
967
622
264
545
770
386
590
205
51
156
604
856
746
750
816
385
548
472
637
317
446
506
870
365
759
573
909
677
351
812
777
108
639
513
536
761
136
190
666
848
862
747
411
310
484
376
97
942
941
371
484
234
676
454
325
598
757
128
207
112
726
242
902
7
982
466
994
83
608
291
546
997
496
64
63
60
944
705
553
288
125
652
182
922
979
956
287
483
867
311
353
95
938
698
930
239
779
208
205
943
724
255
285
543
325
692
982
386
840
526
446
476
219
795
654
21
118
510
978
154
317
85
444
550
60
49
11
635
933
385
857
572
412
379
701
996
327
221
205
264
482
568
943
820
539
757
964
990
213
387
22
204
129
345
105
406
964
413
328
731
777
557
882
91
40
933
962
21
355
543
927
623
72
940
75
249
133
368
560
918
586
773
627
880
934
398
229
156
955
582
954
620
753
254
331
167
949
994
264
866
451
354
430
596
263
795
150
327
448
881
983
311
388
399
976
684
329
503
166
856
426
458
346
117
159
144
313
6
492
663
830
864
725
98
87
47
943
494
463
308
615
689
337
39
821
37
78
446
915
613
529
767
0
366
130
705
759
799
772
46
982
480
244
529
291
686
196
120
913
97
265
916
314
300
704
854
627
392
384
221
848
203
822
799
733
288
414
868
496
933
833
898
847
815
965
379
529
24
376
69
462
256
821
428
194
848
440
276
353
521
135
506
427
541
413
403
327
905
269
128
805
154
284
535
36
773
879
91
944
781
421
787
13
375
93
674
203
262
20
728
124
180
434
663
823
206
832
205
289
701
418
647
849
880
629
504
734
973
349
509
630
816
843
480
785
418
439
578
505
23
508
193
160
594
349
972
402
331
108
260
518
673
843
335
190
909
975
160
210
126
405
824
438
366
207
839
300
401
133
378
761
370
22
953
469
585
619
756
441
310
898
370
684
365
628
267
154
579
343
813
850
111
897
625
213
295
870
669
797
897
838
906
945
13
605
431
40
822
989
126
893
759
632
756
483
359
361
532
508
891
569
93
132
356
618
675
250
466
721
456
614
289
181
254
618
640
294
110
462
435
972
387
55
311
93
256
626
969
514
430
614
152
775
884
460
98
947
328
626
933
401
469
255
13
59
626
718
324
406
933
883
127
468
16
586
519
980
977
42
308
794
364
660
842
121
252
689
811
138
18
829
765
251
296
770
384
12
805
301
164
57
378
756
250
417
36
944
263
324
900
584
623
262
219
768
925
333
231
312
859
218
457
233
416
590
885
734
556
937
143
759
408
664
862
831
591
697
332
86
307
990
773
561
925
120
268
348
442
775
56
628
928
467
13
354
272
122
839
472
96
244
672
571
645
739
63
101
982
242
632
944
142
197
324
878
654
118
210
927
913
266
837
604
228
926
469
642
103
188
753
291
528
979
284
481
876
348
9
13
647
903
517
67
161
488
94
689
86
945
785
687
113
602
119
276
635
411
788
367
806
245
955
23
333
295
618
6
297
223
719
683
157
65
13
499
174
969
431
130
206
805
103
581
43
119
204
374
324
86
650
860
426
624
677
402
771
137
257
209
588
933
49
993
241
149
445
434
89
954
121
717
770
548
585
318
497
705
203
646
489
997
731
24
197
559
178
170
261
355
311
541
798
713
449
977
722
55
836
512
251
207
857
29
208
115
264
508
333
67
958
765
211
545
637
849
783
470
621
231
240
631
983
784
84
287
825
23
61
651
643
625
511
863
199
166
165
842
234
923
574
498
27
608
574
605
980
674
425
181
976
653
547
787
848
337
470
966
669
635
822
13
213
626
752
759
568
378
526
82
608
631
257
317
760
474
597
185
381
501
442
425
786
200
694
485
898
441
255
16
950
718
253
298
294
482
739
968
172
162
229
768
967
134
317
707
813
270
236
129
137
728
816
760
574
318
89
835
696
69
599
74
137
846
300
810
842
36
965
420
195
233
728
492
641
995
464
370
60
392
790
266
167
447
697
314
130
865
248
216
823
636
350
316
153
372
757
856
783
638
483
13
531
532
28
109
739
556
649
719
772
34
165
556
388
353
6
118
40
377
597
146
473
61
594
501
535
513
135
671
712
786
278
282
406
349
496
405
374
25
399
388
284
17
26
246
203
847
548
282
700
5
960
431
711
27
74
668
998
414
428
173
513
336
960
844
561
525
368
260
659
124
564
145
34
426
464
338
40
398
584
675
255
469
138
75
861
689
672
938
114
453
35
70
521
420
343
978
820
561
702
247
111
16
867
574
946
434
650
764
787
813
558
909
247
356
720
588
341
890
769
879
642
583
101
47
72
183
958
697
933
862
474
815
837
734
23
965
407
816
158
860
602
493
41
168
694
353
556
734
879
131
286
347
506
290
92
524
534
256
960
190
361
139
0
712
905
224
812
378
815
474
189
433
853
543
23
458
250
799
588
719
220
526
28
118
229
757
458
440
62
957
320
135
179
598
236
505
148
572
498
561
209
353
957
971
114
674
97
262
916
260
387
256
110
323
950
203
704
499
3
404
886
723
122
373
450
505
680
958
334
498
850
118
324
9
952
734
42
862
984
970
13
399
944
64
965
356
770
438
293
887
469
24
899
85
151
295
843
419
51
630
136
935
352
191
904
836
48
508
272
667
207
371
943
978
302
452
881
291
594
78
405
249
393
0
137
992
869
602
672
945
901
816
539
219
273
118
927
201
819
539
203
204
681
497
507
697
318
480
195
435
749
459
360
213
45
540
587
672
946
828
38
601
483
826
97
547
65
601
23
194
259
101
704
910
847
319
751
835
550
383
644
210
549
129
496
17
863
526
936
137
131
269
228
546
28
256
523
950
684
652
646
302
506
101
727
286
470
671
881
620
808
945
962
125
589
950
379
420
948
379
786
841
189
41
474
134
250
182
68
902
562
223
783
483
931
852
489
123
470
615
925
247
133
734
968
801
894
617
416
13
746
763
795
11
12
176
979
795
995
598
912
78
50
201
858
872
353
433
663
922
206
44
114
368
533
567
67
829
724
616
498
25
635
730
452
415
303
697
729
715
886
234
53
994
978
444
524
265
921
884
761
682
508
542
401
12
392
928
74
851
361
701
713
422
528
151
407
97
76
9
172
721
928
381
36
463
284
541
938
217
157
632
118
459
334
258
584
879
431
567
635
396
289
881
187
788
67
475
472
50
942
62
638
593
832
386
862
931
795
469
278
195
687
353
227
652
269
395
16
152
629
669
678
836
582
231
106
728
272
901
345
522
767
162
242
479
691
660
984
691
271
807
705
451
139
773
40
613
416
278
770
700
331
425
452
994
843
344
346
921
543
559
289
516
111
776
741
632
240
300
155
766
535
989
653
172
181
502
208
252
558
241
435
464
841
476
287
767
598
54
942
743
472
727
746
77
62
32
855
129
158
799
830
207
716
139
790
631
651
635
741
453
686
515
814
707
373
408
212
824
541
181
684
967
485
391
449
187
179
850
643
660
406
396
464
417
968
236
699
672
110
987
263
56
963
573
583
457
412
944
379
562
611
535
106
147
469
279
419
243
560
292
665
952
758
386
466
912
553
715
213
640
736
991
91
698
321
199
317
73
8
696
708
356
532
743
728
168
447
36
780
883
237
460
470
5
219
615
38
586
311
788
353
503
774
838
487
165
89
627
455
5
665
240
954
394
867
559
494
622
536
399
456
954
739
644
90
277
491
698
815
984
614
690
166
509
8
965
849
975
652
264
193
642
339
150
531
468
340
967
294
222
129
988
374
439
136
119
851
506
822
485
62
606
991
440
777
812
724
630
464
88
240
824
185
612
135
913
230
613
324
395
428
555
481
374
284
943
30
576
558
794
47
769
856
756
227
678
349
202
791
189
69
388
664
136
784
31
935
377
393
313
116
404
159
882
871
159
893
867
820
732
44
822
995
20
583
319
440
193
507
262
82
167
610
988
132
104
229
553
798
105
863
515
380
823
839
263
514
41
992
459
413
816
43
35
129
52
556
73
38
305
339
733
605
946
519
734
730
746
641
830
526
123
68
230
87
843
714
292
543
489
635
447
901
306
653
245
787
607
19
921
56
539
825
24
729
9
334
300
213
690
99
278
258
322
718
396
867
113
319
935
293
997
809
604
742
577
944
342
203
716
381
126
313
816
881
226
248
369
582
673
835
983
69
631
932
601
775
146
557
12
501
289
965
188
510
58
770
975
170
963
164
947
129
209
390
803
601
684
485
121
241
958
128
697
542
968
390
553
430
870
226
185
614
576
492
716
170
875
621
939
368
800
143
259
20
36
942
397
43
908
7
567
755
723
573
540
282
791
575
114
77
877
219
69
863
728
523
607
347
136
346
281
455
209
780
852
539
115
248
413
289
723
971
395
337
483
297
741
619
884
91
829
834
294
123
685
742
965
344
818
786
526
373
336
523
388
232
439
604
766
257
11
122
464
786
616
166
594
486
451
654
890
355
761
694
840
483
851
320
398
873
891
772
283
450
269
902
446
649
252
13
293
616
354
399
668
635
379
933
226
310
719
348
566
345
472
990
120
592
435
38
278
231
87
860
644
893
740
75
299
530
528
93
923
556
171
610
300
123
292
58
3
471
540
476
797
609
163
615
209
256
760
851
571
690
454
419
169
561
208
822
489
674
759
823
156
984
572
636
931
977
991
955
855
527
660
429
789
61
870
42
637
977
16
380
930
574
283
784
826
642
908
236
98
839
378
834
907
19
150
449
398
552
715
898
274
737
875
417
998
575
288
590
182
748
975
918
31
575
425
225
694
864
861
539
712
565
493
466
571
59
552
4
84
314
30
472
714
449
683
358
451
963
545
477
4
29
183
809
579
670
92
729
668
810
947
239
9
718
658
801
477
242
573
826
184
48
35
957
228
934
898
412
845
718
940
51
754
732
141
858
225
74
825
917
265
53
646
605
290
718
18
479
512
492
748
500
349
567
833
408
715
847
540
882
706
944
645
100
922
644
636
769
284
786
139
174
567
996
708
794
376
533
88
167
479
189
844
744
206
884
497
862
520
707
882
883
856
633
964
320
790
315
31
945
243
793
620
405
94
405
174
83
727
534
955
135
821
806
458
269
723
204
798
704
232
556
489
102
625
571
811
350
362
804
888
468
159
409
974
503
672
772
574
823
307
939
279
116
597
669
810
399
335
908
827
248
980
993
828
546
694
191
467
371
988
494
850
2
474
139
356
793
442
997
32
416
747
670
196
729
486
757
320
84
224
631
277
259
132
140
535
334
792
574
573
994
912
830
957
291
966
277
293
906
996
415
708
501
248
400
196
386
89
326
514
362
39
443
488
108
354
250
556
220
745
738
29
423
149
336
264
953
767
873
484
977
324
691
390
971
349
530
675
935
237
460
348
993
325
871
407
113
817
128
199
97
629
892
297
223
725
224
846
505
982
25
242
513
634
684
580
902
850
948
221
311
40
590
378
62
665
459
497
162
868
243
746
934
394
956
68
430
716
509
717
520
600
336
326
85
976
875
868
553
81
242
160
879
903
767
648
998
782
168
706
581
304
296
785
401
452
290
46
932
8
448
497
96
177
372
283
886
836
909
20
660
662
495
336
507
90
943
519
18
740
306
807
734
757
690
989
268
315
786
147
962
640
519
571
954
620
546
374
176
559
754
483
28
640
111
913
506
856
42
599
8
719
100
735
558
18
562
430
142
182
478
58
922
225
641
666
116
857
730
204
615
999
297
151
852
445
112
750
125
101
131
756
569
296
767
976
53
475
521
435
717
63
433
909
980
396
428
994
877
55
919
114
545
731
521
39
709
615
173
291
210
459
243
474
294
968
670
706
474
10
775
90
148
34
996
883
343
62
596
172
715
231
278
434
784
802
170
752
710
234
908
839
642
839
415
148
923
763
699
560
268
193
277
928
917
258
112
67
122
213
883
128
624
3
846
776
351
171
980
83
715
199
118
208
334
964
266
497
205
699
217
288
50
264
470
303
537
657
385
183
409
248
32
415
66
216
357
349
4
504
418
604
657
608
742
707
781
507
435
681
520
492
474
391
197
487
342
382
728
462
453
9
977
39
350
575
282
572
979
215
810
524
392
794
428
963
222
89
747
814
969
296
281
879
99
866
597
952
198
105
532
682
285
766
728
796
82
323
743
143
578
607
317
560
309
668
847
114
826
77
242
810
56
972
312
449
698
745
123
597
922
866
425
557
729
81
928
950
368
291
814
433
456
615
405
135
927
982
941
231
907
931
742
120
133
595
951
368
854
726
837
363
423
11
157
391
718
769
80
740
224
881
726
578
861
39
557
264
793
611
154
159
674
76
408
376
871
673
135
168
484
506
737
391
887
753
644
791
151
678
535
0
53
608
817
801
10
735
889
918
968
275
340
24
811
579
387
531
495
887
540
637
7
43
209
706
243
546
489
25
378
378
915
458
916
33
423
154
606
569
856
394
449
764
952
368
722
475
819
997
576
619
838
605
272
382
882
885
981
866
904
672
768
38
119
608
153
649
656
295
149
895
204
904
904
277
393
420
38
242
92
498
851
132
547
310
712
30
20
361
917
653
977
63
377
266
68
362
222
680
653
976
156
433
661
58
353
488
953
302
737
567
653
699
856
992
543
56
650
503
377
36
802
998
649
374
229
175
966
715
729
24
650
681
543
594
881
118
801
271
634
761
917
613
962
486
991
272
798
272
716
989
119
627
918
243
898
730
669
923
906
462
367
148
723
97
403
866
859
63
65
768
79
92
447
760
841
728
576
605
72
195
587
237
505
341
967
318
669
536
891
112
383
905
439
723
925
22
598
169
673
64
244
693
334
257
432
270
548
138
29
686
144
695
548
26
166
317
610
882
555
649
762
887
295
206
462
447
628
341
328
754
259
77
870
20
225
587
240
591
302
540
440
925
577
463
142
375
551
352
100
711
915
40
956
905
763
264
73
29
75
776
543
121
210
281
326
651
609
26
165
59
97
473
797
414
353
930
145
694
164
717
20
921
557
925
905
600
830
526
365
191
812
223
832
853
32
439
262
227
918
640
813
299
452
903
999
985
494
972
494
343
478
459
260
891
704
458
956
71
717
608
78
402
780
951
639
904
103
598
210
278
205
148
297
879
295
57
699
699
404
722
235
97
2
783
964
259
321
471
662
896
645
303
742
172
285
374
601
546
991
104
514
729
431
684
808
513
370
502
254
784
716
364
934
443
77
366
490
153
731
244
224
530
473
363
720
600
165
735
550
602
849
274
319
71
377
922
23
324
628
753
59
873
609
816
700
669
546
872
378
90
928
196
217
479
999
652
139
514
464
162
602
181
60
746
283
279
529
316
833
657
807
970
64
475
79
99
75
191
174
443
559
257
392
436
525
533
794
608
346
695
372
930
423
385
696
372
154
431
676
877
963
271
913
99
966
293
141
793
616
480
174
544
745
895
977
238
497
370
447
505
418
929
38
87
287
240
304
764
350
988
365
61
812
231
247
208
637
15
538
534
839
245
368
453
87
45
774
926
659
912
731
939
368
115
253
526
498
780
580
992
726
892
792
9
851
468
247
885
263
124
557
742
900
683
352
492
884
190
297
437
86
235
817
909
529
258
105
463
422
703
948
208
250
265
699
158
198
449
131
465
304
177
902
428
161
744
231
213
112
578
148
505
264
742
612
289
830
881
899
303
226
311
110
386
423
393
747
34
703
483
631
322
326
407
226
607
735
391
368
519
454
717
327
26
578
472
118
717
437
51
672
784
255
407
40
688
500
272
35
222
605
462
189
619
145
703
535
55
768
389
694
886
496
20
157
941
815
257
165
319
678
823
11
668
130
316
466
878
810
859
860
821
252
316
152
474
673
193
812
351
438
246
42
590
748
797
586
204
369
440
381
732
816
567
343
744
798
650
713
853
196
938
173
88
942
990
130
421
984
518
170
286
144
920
430
425
179
882
566
620
592
282
982
233
646
21
73
635
928
770
152
484
616
269
261
350
394
202
688
681
617
901
906
580
345
849
80
842
839
369
859
523
11
717
53
469
945
985
107
195
710
366
617
783
581
621
587
192
349
845
262
999
216
972
224
702
31
300
703
630
387
87
906
127
171
99
119
147
176
840
975
27
31
914
874
279
136
393
950
505
419
514
367
465
210
90
206
363
464
140
391
968
296
676
532
90
153
207
368
55
177
268
248
249
193
830
593
980
284
973
281
977
455
388
453
833
156
423
806
185
275
147
842
582
670
697
527
918
988
683
617
287
987
143
231
443
392
808
67
824
296
727
935
536
713
957
334
188
824
395
338
378
274
361
328
222
62
959
197
198
248
485
271
351
950
367
310
207
915
695
456
685
381
749
905
659
630
479
496
10
450
506
667
715
556
905
190
968
681
96
31
659
294
836
988
228
438
33
55
538
286
410
958
798
498
281
197
723
145
917
495
598
886
228
539
929
876
830
551
646
32
853
494
968
292
317
612
477
329
151
998
459
364
635
542
950
273
249
397
48
749
145
784
310
670
618
140
465
778
604
397
410
794
995
55
309
853
270
698
665
593
60
784
171
894
798
833
341
271
255
726
80
722
949
221
637
17
308
888
502
600
376
530
363
125
809
970
503
927
382
513
897
396
10
23
73
50
341
865
597
330
539
209
277
993
598
350
645
632
509
251
314
834
303
697
866
979
748
99
245
901
940
206
188
812
800
786
922
492
697
982
486
9
160
71
297
475
989
777
294
591
338
821
831
179
187
333
987
11
923
458
60
181
82
814
472
886
522
671
268
431
724
871
686
736
465
7
331
653
37
48
299
629
101
923
454
13
688
239
373
788
49
560
978
313
136
999
746
899
613
284
998
283
344
108
926
864
595
526
79
486
900
894
582
429
842
462
228
853
216
335
521
346
574
681
108
334
560
718
25
559
854
237
512
723
433
114
289
621
466
173
357
578
659
964
379
767
371
791
695
762
36
869
588
511
519
637
796
846
231
247
928
9
866
756
823
44
108
333
347
147
888
672
98
37
794
217
432
45
79
794
917
476
986
75
353
67
884
442
31
546
563
607
300
899
753
145
296
468
157
570
511
637
607
960
22
178
20
499
667
877
720
520
502
423
629
303
577
792
86
117
470
134
709
420
113
851
400
190
274
827
515
984
805
867
364
600
553
65
975
74
261
619
359
856
837
576
11
854
507
348
623
549
176
8
486
439
755
332
772
901
791
956
276
792
826
198
877
724
353
458
409
336
504
995
754
390
549
435
129
843
713
633
848
891
874
276
298
122
739
945
171
4
238
204
14
997
461
698
665
737
763
832
838
787
903
153
932
156
780
72
84
390
118
986
93
713
594
980
80
673
208
437
783
722
195
16
881
885
188
455
556
436
925
188
430
149
246
853
310
34
377
13
612
89
883
980
929
712
605
868
773
22
235
892
978
73
61
688
22
286
668
799
604
631
360
429
891
122
822
564
674
211
627
420
309
866
878
606
572
939
607
360
183
390
361
229
132
461
160
118
997
443
408
582
675
831
663
408
402
49
248
842
335
9
4
624
65
545
743
613
354
565
662
501
876
494
918
279
621
650
717
203
851
378
260
696
259
765
290
530
772
32
247
249
675
674
622
184
153
303
514
510
827
532
3
422
197
762
765
132
74
794
160
644
777
93
176
374
117
908
747
968
645
235
312
207
366
820
843
780
479
575
617
399
664
117
316
741
309
76
554
870
449
212
858
267
716
717
607
300
180
944
118
715
937
616
648
85
204
826
498
14
9
509
428
496
372
633
953
943
247
746
844
648
257
876
284
922
357
932
567
293
823
378
199
272
62
110
817
40
49
489
794
61
948
610
693
56
661
17
248
278
596
277
685
654
689
875
12
744
772
907
856
708
498
490
985
647
826
698
457
477
754
52
567
288
283
186
357
102
155
159
471
401
7
569
956
460
485
885
206
185
989
281
819
401
296
453
926
18
759
186
789
280
298
313
119
380
428
218
234
733
371
324
877
761
288
66
196
879
523
326
986
395
902
583
191
241
702
331
500
296
161
422
310
396
661
475
22
323
366
433
72
67
902
445
928
758
459
811
569
288
647
379
449
986
810
278
719
852
445
307
322
156
627
344
250
283
447
412
460
873
333
105
667
973
846
32
511
672
578
176
292
814
528
320
376
778
325
493
314
869
619
949
125
877
116
75
991
235
570
385
318
493
266
214
569
886
508
217
672
369
404
105
867
328
856
258
573
56
958
775
927
699
104
623
331
214
580
430
812
598
850
873
343
451
424
995
422
729
858
941
515
49
605
613
295
146
237
927
464
42
300
103
197
285
300
814
862
837
441
335
0
792
88
691
82
466
59
598
881
373
953
880
875
767
742
908
402
748
138
972
107
940
17
699
368
197
404
703
257
645
84
994
863
71
491
122
611
660
862
115
669
468
420
127
313
626
979
532
625
741
182
89
905
888
859
833
515
110
397
240
740
150
979
363
192
299
970
794
930
96
959
385
610
854
45
145
166
37
829
141
366
255
429
955
273
383
257
570
670
590
773
667
272
583
626
50
875
194
746
666
412
380
12
734
908
562
386
698
355
283
760
546
698
87
851
8
651
632
531
679
760
100
582
592
536
857
883
462
479
257
333
421
605
293
22
428
919
141
596
177
414
758
64
812
968
710
714
63
311
589
965
741
386
354
396
893
993
92
905
698
862
880
646
198
490
622
497
49
612
725
626
72
275
671
289
323
966
532
365
620
462
877
910
536
238
427
900
124
763
344
321
539
144
461
922
647
579
835
971
629
669
71
394
24
216
647
337
182
656
49
239
545
38
106
300
240
745
779
705
146
598
582
529
334
280
349
433
290
12
421
910
409
338
690
747
896
403
278
808
327
451
517
761
687
459
360
39
270
250
276
172
378
597
571
78
805
607
207
157
524
603
294
513
671
149
474
291
543
778
274
924
712
945
746
914
581
40
861
680
690
386
259
420
643
607
479
951
45
668
709
765
15
32
134
627
311
270
773
990
529
708
775
691
976
772
983
551
458
894
314
676
530
892
572
444
122
644
551
666
851
102
472
596
792
105
633
907
126
137
177
686
740
70
924
989
432
888
531
573
270
904
964
875
676
401
960
626
65
52
58
46
250
205
326
695
963
177
160
798
0
67
479
80
974
964
494
592
399
999
288
98
319
112
692
273
275
130
134
20
692
514
556
197
978
514
487
675
373
975
518
493
130
390
645
514
112
8
91
239
364
437
354
99
434
723
547
281
161
836
33
975
558
714
951
533
830
317
513
262
728
327
328
866
762
417
661
366
823
271
922
219
552
961
710
10
197
479
513
263
913
942
230
469
118
469
462
512
671
284
113
421
437
342
135
443
364
417
743
479
28
693
792
610
368
571
24
904
64
938
480
163
149
931
191
131
396
902
12
423
88
809
486
993
590
563
746
29
221
638
870
847
101
564
755
30
561
334
194
324
352
150
527
809
905
80
812
515
410
259
992
134
220
123
113
88
959
331
641
927
52
56
677
604
267
837
439
718
604
167
350
362
57
416
690
766
368
236
943
404
519
89
397
388
673
876
533
52
649
21
20
693
267
570
648
96
635
693
567
423
46
29
927
419
508
212
752
12
25
686
503
545
165
46
885
86
237
29
438
975
856
655
463
185
919
478
518
579
205
566
649
303
640
771
45
207
689
170
12
891
21
428
822
903
7
701
728
936
213
543
237
942
120
545
809
339
873
391
286
316
835
130
356
638
704
955
861
173
905
540
746
477
813
284
374
90
445
21
175
517
763
224
678
137
190
194
234
537
595
142
199
124
154
326
832
507
932
321
319
968
162
28
43
0
398
924
334
868
313
301
745
467
103
330
400
601
256
590
275
500
699
327
883
638
902
106
453
897
252
997
481
745
642
480
52
996
100
938
635
17
197
860
605
38
52
256
120
281
101
978
243
632
621
73
157
356
556
125
895
310
31
414
7
455
337
119
549
634
833
594
988
48
775
832
448
595
36
511
941
384
971
222
526
524
195
462
665
351
779
345
603
78
820
747
509
271
49
896
279
950
489
18
369
981
302
349
45
500
460
554
383
952
102
946
527
174
965
707
481
770
425
995
766
520
392
29
790
423
91
55
469
286
884
93
76
296
479
934
850
709
263
732
248
435
607
48
848
479
178
736
944
939
469
368
864
600
385
917
229
786
416
823
956
395
117
279
329
19
417
928
250
224
953
531
509
292
585
179
679
731
318
259
225
703
792
923
178
540
508
464
936
318
871
96
924
622
409
363
994
834
569
57
601
68
343
262
473
441
984
122
532
633
988
366
777
604
291
171
88
889
187
40
363
454
654
87
718
912
968
557
59
880
412
101
828
91
960
572
0
728
530
773
827
274
900
590
431
328
490
828
310
39
301
531
812
579
339
425
498
810
221
765
683
369
661
749
316
812
276
604
583
316
498
820
911
184
951
698
636
369
570
669
770
255
488
155
642
414
710
349
155
230
860
535
681
294
596
144
139
435
863
830
318
178
47
805
883
829
119
877
825
398
723
598
62
46
164
564
617
147
879
661
419
299
933
360
560
435
759
646
303
483
985
152
262
427
503
532
335
519
892
320
277
927
238
385
590
901
384
774
326
231
773
620
451
563
568
726
847
81
227
746
403
692
877
99
230
119
617
299
456
828
288
819
519
795
93
818
421
295
849
356
417
750
319
244
229
147
358
587
274
74
212
465
640
709
509
626
99
670
8
936
851
11
444
36
136
148
570
217
856
447
212
134
356
762
219
893
145
523
521
641
309
700
406
695
858
986
340
154
847
760
995
699
954
55
808
867
496
585
708
246
587
719
853
221
202
900
441
650
461
948
580
846
19
596
175
769
273
309
535
702
472
647
633
859
675
417
947
64
65
363
263
370
997
512
717
943
594
898
500
425
211
713
65
687
754
692
250
618
508
935
306
510
923
141
307
897
413
985
646
858
735
977
399
201
517
811
632
689
523
181
581
360
6
11
138
897
133
382
512
509
841
346
66
574
753
308
161
393
413
526
702
636
592
449
145
823
323
916
163
874
530
175
396
348
20
404
619
782
168
542
298
690
308
555
755
431
564
682
755
480
272
500
488
901
315
272
327
433
800
756
325
945
511
4
363
915
454
950
782
170
508
545
880
120
276
718
278
810
226
934
371
94
812
386
951
950
532
390
963
736
112
843
492
914
233
951
89
89
50
269
600
880
302
668
442
778
353
741
796
596
143
464
338
73
995
677
364
144
636
804
182
579
496
289
102
511
455
29
871
486
253
582
406
80
205
334
269
241
384
592
847
437
719
102
346
22
609
353
607
895
368
463
676
42
147
78
684
454
923
798
128
529
979
791
337
115
15
166
941
404
282
21
148
378
522
267
37
370
644
804
982
624
894
475
711
514
233
999
703
540
237
789
257
611
731
947
98
891
903
930
808
809
461
539
786
184
379
709
111
804
360
213
832
611
204
420
831
949
441
159
860
586
115
911
505
894
667
486
282
909
822
886
79
347
837
871
664
36
252
530
136
946
220
51
861
74
620
360
790
218
399
74
732
216
164
498
616
259
363
967
196
697
981
647
931
423
128
442
121
958
72
754
973
109
379
852
762
726
393
965
544
430
919
853
740
81
81
733
996
486
974
838
749
538
431
127
591
528
171
557
422
764
131
963
2
637
272
200
502
160
831
306
4
279
476
420
380
790
822
622
442
178
352
166
783
483
322
364
517
353
215
108
405
72
945
992
996
839
752
533
780
158
396
946
167
914
604
300
100
986
394
549
446
537
189
193
763
734
607
96
975
435
770
636
151
929
365
541
352
378
215
43
47
554
747
467
363
958
256
616
926
170
123
79
418
259
635
183
166
804
326
132
263
840
1
739
135
686
339
217
216
351
854
248
234
196
782
744
574
880
717
997
775
149
347
985
464
365
757
511
558
386
589
642
94
628
919
481
956
571
818
858
370
891
148
548
449
432
133
924
652
837
479
871
731
934
701
854
934
774
660
539
701
143
602
594
921
726
46
88
355
649
672
394
114
267
361
833
824
41
824
327
639
204
416
661
579
466
693
814
675
216
428
695
103
528
523
672
230
780
78
494
806
210
858
187
811
240
476
907
643
188
675
72
143
639
931
668
551
879
315
600
193
224
222
849
33
773
386
586
7
646
451
44
825
573
164
352
42
915
214
51
293
400
957
716
323
532
110
546
269
423
936
441
190
844
959
708
272
451
87
224
487
49
266
474
230
472
686
644
377
10
460
488
303
155
692
5
805
16
869
509
832
296
467
20
170
868
121
174
278
593
857
466
425
217
624
430
79
825
251
125
464
459
236
692
707
900
102
475
839
492
707
5
686
163
801
691
72
410
415
620
751
448
32
641
444
792
682
142
792
974
402
525
419
270
816
731
162
868
743
272
362
383
3
786
676
632
0
610
543
321
845
92
971
62
702
209
655
257
33
281
131
399
670
34
174
79
245
744
812
974
577
861
228
533
315
514
173
437
506
644
392
402
460
180
757
211
394
852
149
107
688
890
885
29
526
195
618
747
383
947
28
971
140
833
208
790
237
685
155
348
813
924
739
197
330
152
290
102
686
993
536
310
838
722
576
309
886
358
679
679
738
661
323
620
97
355
309
91
984
594
59
304
848
720
356
367
579
11
254
966
642
201
156
276
535
813
325
924
182
664
911
729
135
714
359
792
493
868
510
41
64
813
891
475
854
456
758
708
481
923
883
137
966
229
593
998
662
631
226
458
127
386
555
336
518
321
233
692
41
759
679
284
600
706
195
13
597
290
158
356
126
573
138
746
401
996
410
260
887
920
969
732
679
872
363
718
803
490
786
653
912
411
847
489
37
897
614
211
556
644
546
101
227
923
610
41
704
268
660
960
783
961
361
240
80
985
687
171
125
720
520
702
160
153
566
908
746
628
730
791
920
362
750
690
823
334
644
503
380
812
674
305
823
173
491
382
214
198
952
279
91
416
570
980
108
362
187
728
365
352
407
413
554
714
696
368
400
921
805
75
999
684
461
123
359
77
569
457
853
610
712
428
112
564
750
826
721
434
902
640
756
96
873
471
760
428
384
483
994
875
528
428
179
38
531
270
860
635
834
331
171
790
800
40
591
723
581
145
968
938
776
826
728
867
380
849
473
163
276
561
623
687
420
387
876
287
552
649
808
319
569
66
682
912
493
76
534
683
649
776
110
436
852
236
824
636
886
888
162
259
876
822
739
782
287
121
659
631
497
652
212
513
49
238
915
552
374
394
981
856
773
882
33
504
428
609
589
271
965
865
746
465
413
546
162
648
728
171
943
572
284
975
660
904
256
214
78
510
173
229
10
377
379
540
400
164
803
110
654
212
344
449
164
125
708
782
364
925
626
98
998
53
496
808
498
288
86
913
2
126
231
462
275
480
132
432
344
616
896
873
255
303
745
984
463
773
560
622
131
571
578
4
188
950
553
928
288
0
869
627
68
916
248
986
916
166
803
70
214
587
715
481
928
902
553
41
312
570
243
375
266
804
572
422
419
263
640
201
75
46
280
465
545
968
386
405
944
316
364
474
718
36
784
140
467
65
158
884
514
374
549
377
191
779
809
869
982
173
940
914
397
690
922
975
482
965
694
822
300
508
960
996
28
148
992
619
937
668
891
340
421
242
827
273
289
218
236
483
934
469
249
715
189
82
104
428
184
264
678
961
699
379
78
670
885
563
126
877
14
242
300
373
973
650
615
438
990
267
871
309
965
44
559
985
605
70
112
646
401
891
384
333
245
926
393
938
874
357
161
597
952
687
857
8
298
834
304
867
724
595
986
86
67
667
355
90
979
994
925
802
885
611
605
570
885
713
176
853
533
298
426
483
604
886
589
438
250
280
28
310
62
883
732
457
934
536
738
145
100
815
343
176
841
884
485
199
896
81
626
904
823
433
471
505
206
168
820
498
904
766
299
354
261
129
236
913
998
914
960
196
256
44
19
835
774
258
937
14
679
204
729
255
370
921
175
353
92
766
472
797
0
430
545
378
67
570
633
594
660
668
289
852
156
905
982
952
352
133
166
878
258
909
56
141
607
749
980
341
453
84
450
28
432
669
42
141
767
955
465
316
147
15
338
553
91
815
892
248
844
905
907
191
343
807
179
955
982
461
641
296
212
40
593
885
526
160
415
518
711
435
877
470
611
141
38
146
2
793
808
726
163
4
882
278
629
942
303
757
846
349
679
547
512
823
608
384
67
822
351
884
584
511
715
449
361
792
740
587
707
796
895
786
733
466
958
281
398
439
602
647
963
89
528
325
374
730
526
184
311
850
501
991
216
934
470
347
570
416
849
845
21
33
441
235
672
325
528
590
739
422
759
530
229
228
292
208
722
438
463
712
133
444
715
57
488
628
211
370
444
894
709
442
703
207
325
435
345
29
338
368
307
957
170
90
640
807
123
310
0
569
103
76
244
658
551
128
375
944
834
513
475
337
903
711
984
74
219
64
690
97
809
939
908
527
630
117
366
357
479
755
654
642
104
675
678
359
987
509
558
687
320
43
747
951
687
928
807
682
295
542
975
408
39
740
137
216
74
728
366
751
536
989
90
224
682
994
711
871
727
80
683
223
508
577
697
456
565
655
346
112
633
540
320
84
996
127
464
965
498
655
465
70
136
640
794
621
434
235
856
394
110
300
642
199
275
247
17
224
645
338
965
972
946
110
245
791
352
477
93
616
635
649
70
205
224
210
249
305
596
517
972
148
651
4
240
408
642
710
935
842
184
456
676
974
738
855
134
247
632
550
430
776
547
543
351
573
881
177
432
604
213
399
654
553
204
234
491
194
975
174
769
331
211
729
687
448
674
41
601
372
385
819
758
162
503
984
369
496
653
821
901
408
908
30
666
365
251
380
919
290
17
166
517
984
186
74
688
915
925
95
893
623
25
323
441
461
768
870
220
736
506
16
258
520
440
102
918
812
702
89
957
813
124
299
508
749
320
386
906
302
203
459
1
729
234
680
571
471
908
824
397
915
836
744
736
843
988
499
680
646
301
471
607
218
905
92
300
936
996
102
740
221
134
151
710
350
403
96
285
247
650
566
561
649
423
981
795
543
677
451
136
116
247
170
537
62
900
611
248
639
242
238
396
146
762
58
883
398
778
761
718
67
828
139
357
838
657
290
208
311
754
221
764
464
175
205
866
668
132
792
335
778
840
173
604
266
209
161
519
964
931
341
120
780
188
579
491
955
134
290
114
911
365
804
233
898
243
42
330
229
545
767
293
423
662
723
132
425
700
249
20
319
85
845
722
991
676
75
897
472
413
374
584
546
643
557
481
601
59
554
804
774
185
561
563
437
543
901
249
994
76
40
914
359
418
420
774
677
644
188
328
532
244
19
314
808
236
380
749
827
621
452
116
537
425
218
777
38
780
385
779
478
983
139
358
482
54
546
929
611
995
334
436
943
328
307
644
197
603
659
399
16
653
972
422
855
840
431
261
141
59
502
913
16
346
337
416
347
394
267
93
713
51
731
711
763
664
423
811
159
224
983
624
888
789
398
558
438
480
138
122
540
826
495
912
8
448
921
379
732
604
166
739
525
640
201
21
284
192
794
780
465
962
874
981
35
437
20
420
642
651
882
180
899
303
727
926
117
270
937
387
712
880
76
203
50
565
890
974
180
325
255
309
306
324
712
324
439
68
954
967
979
315
697
450
423
284
58
872
385
806
371
554
544
411
145
521
703
713
367
940
449
545
127
480
968
299
159
81
875
30
566
225
344
738
527
807
333
247
997
255
859
693
190
628
530
169
948
986
399
205
341
722
875
545
121
507
242
402
240
778
569
315
848
404
997
690
924
342
45
568
997
161
315
614
117
762
125
313
811
13
732
554
585
852
578
625
679
743
192
986
106
895
651
544
909
374
153
659
638
321
516
470
940
470
228
290
294
527
979
226
494
20
627
574
713
917
523
84
199
926
684
278
902
112
669
167
584
319
345
924
567
505
650
811
709
410
872
981
705
486
847
973
929
229
811
444
628
399
231
809
19
235
722
596
966
173
896
259
833
888
176
979
561
868
948
986
969
415
225
828
99
879
803
306
15
287
30
22
793
70
723
466
467
643
188
673
986
384
212
605
583
754
746
902
217
692
484
784
860
195
601
670
232
810
693
523
602
505
88
253
908
651
665
638
419
839
698
57
932
285
996
700
871
711
352
485
320
610
479
655
985
478
555
127
514
164
406
772
486
883
161
831
884
827
970
159
722
843
243
684
764
537
453
480
782
149
451
835
299
852
28
659
691
152
341
116
990
614
137
647
844
808
938
368
161
920
661
252
449
741
209
635
834
344
77
546
70
541
271
902
621
353
972
793
401
361
173
261
566
753
413
740
908
471
339
849
514
547
150
399
781
334
733
226
700
770
640
739
852
892
733
93
242
671
86
702
148
755
82
438
239
138
891
475
812
642
326
84
31
87
689
797
212
291
262
310
748
233
655
2
569
424
903
823
84
330
132
523
828
530
614
817
891
674
162
795
582
773
320
787
806
553
382
482
243
91
182
349
410
170
292
338
584
71
683
852
934
338
709
581
994
323
1
73
163
992
618
589
393
326
850
689
161
119
67
825
289
157
340
706
375
732
375
206
733
658
995
372
3
666
380
655
743
765
305
996
235
432
556
472
396
854
118
41
930
295
933
740
838
943
728
807
688
599
661
0
45
511
961
167
838
972
819
467
625
37
69
538
442
561
739
939
273
459
373
332
319
205
666
179
379
726
826
282
390
706
704
56
793
896
967
544
913
375
816
327
97
681
290
232
126
48
276
45
146
952
694
298
440
156
430
849
29
554
145
464
591
243
777
888
946
271
443
145
901
599
998
845
63
227
57
705
422
590
960
273
9
421
354
485
899
409
50
990
350
781
407
70
24
652
679
976
776
547
280
515
639
457
629
560
1
262
646
325
679
283
555
846
380
518
677
538
236
621
394
502
41
598
860
452
528
398
315
499
651
101
468
651
766
750
671
143
233
72
628
737
116
177
644
541
608
479
675
454
916
968
849
757
312
970
286
150
977
607
907
62
108
862
918
859
200
51
91
707
569
404
907
996
998
960
272
725
784
29
470
578
31
427
88
196
154
616
755
24
459
162
358
503
46
814
861
444
716
977
57
323
974
623
641
335
238
593
449
795
251
726
54
816
285
975
199
244
916
115
600
599
838
521
847
90
671
443
434
755
936
994
85
139
790
961
163
143
835
236
521
321
243
645
859
278
102
443
660
477
539
910
582
398
6
826
306
702
66
994
432
574
293
288
774
106
236
136
564
974
581
824
487
423
934
787
559
719
537
87
462
210
450
611
526
30
370
97
849
147
143
319
437
446
147
945
392
724
378
197
375
43
197
853
614
188
812
955
605
444
369
748
158
137
246
445
426
490
40
316
671
590
626
485
537
891
235
407
51
113
679
187
899
645
674
630
565
184
986
879
350
155
610
760
62
219
904
198
666
874
96
418
48
936
395
857
836
433
841
171
336
809
357
495
912
46
911
387
488
813
852
899
491
941
0
248
492
593
868
759
54
276
335
70
517
933
764
53
317
149
715
520
60
902
187
351
941
527
394
333
881
228
28
144
362
534
199
790
321
912
828
561
327
799
102
547
939
498
199
117
246
461
687
357
201
851
607
338
263
129
477
669
190
103
749
66
831
502
895
406
422
288
891
928
264
528
12
774
269
904
124
271
81
326
344
769
315
614
526
524
661
100
442
533
248
221
402
196
388
386
607
447
480
959
510
314
726
819
949
430
644
514
718
863
435
627
163
926
869
930
862
57
136
215
335
748
846
477
822
713
206
771
699
706
17
985
440
496
848
480
541
439
183
88
313
930
349
754
235
294
904
632
610
549
600
109
659
613
804
466
553
610
487
612
32
670
785
996
551
787
498
802
613
232
138
322
273
348
534
415
267
429
290
785
532
389
32
837
213
309
598
373
722
734
381
937
532
677
427
387
612
319
240
900
602
743
340
257
594
946
428
257
861
181
211
426
513
699
266
929
218
861
836
925
838
176
315
720
752
502
718
82
149
243
790
438
975
484
363
659
172
17
248
978
694
138
506
221
469
864
453
64
706
168
125
793
356
342
496
303
607
308
807
46
236
835
841
432
947
391
895
255
197
138
541
189
749
96
314
666
240
740
354
46
861
195
156
328
503
503
837
499
636
790
987
281
74
234
738
667
410
256
316
897
991
754
477
26
30
219
648
185
778
430
784
208
127
522
27
386
733
6
19
813
252
996
887
380
268
175
846
218
399
156
351
633
889
415
430
84
25
192
573
729
35
621
397
526
176
693
161
467
611
808
498
237
80
629
349
691
157
595
411
620
301
255
461
551
691
375
46
337
73
854
353
502
280
736
31
722
845
360
194
588
963
762
125
507
214
549
94
637
900
635
802
988
46
70
767
778
848
939
718
362
825
177
995
978
147
588
712
868
423
360
912
324
958
211
22
376
590
382
285
257
782
255
323
948
249
213
77
744
333
798
288
951
146
113
956
216
865
402
884
370
928
906
384
640
708
447
612
595
458
983
211
990
153
219
957
621
310
649
890
952
66
588
443
37
783
342
537
967
103
248
204
352
797
615
114
11
132
445
106
513
38
757
986
496
476
77
338
48
655
529
332
898
287
882
632
154
149
977
420
982
481
182
548
991
605
727
899
461
206
426
885
38
881
114
92
604
439
324
243
778
569
705
865
547
892
988
225
482
872
492
332
235
207
513
725
894
688
603
251
100
587
741
352
914
274
493
356
159
142
812
95
418
346
825
730
985
816
324
61
742
55
789
345
372
878
197
476
310
73
540
656
562
452
956
600
551
369
359
55
963
245
732
624
551
172
869
170
66
444
21
376
686
558
544
173
822
671
712
287
971
161
68
535
98
370
434
891
892
335
32
378
932
730
272
295
274
640
267
398
233
666
959
760
518
16
605
325
66
182
679
761
512
59
744
634
28
715
573
786
657
559
467
137
566
854
198
412
794
971
506
328
113
425
983
133
238
992
128
196
996
91
314
986
463
238
525
269
126
742
262
379
825
61
979
633
764
881
168
368
415
512
276
272
75
275
5
205
934
399
128
806
78
104
604
946
673
711
402
403
947
871
441
953
817
340
121
943
287
614
509
934
575
789
853
894
686
144
476
292
208
844
830
746
608
557
461
890
269
675
67
71
605
100
117
130
996
286
142
449
287
233
890
812
647
61
929
440
543
686
477
767
902
275
499
985
70
343
556
3
992
532
822
636
570
146
69
380
709
416
283
257
463
453
758
935
188
940
141
113
233
716
149
805
952
144
849
798
903
62
833
725
233
433
850
615
386
355
129
656
689
895
771
442
780
709
711
139
556
24
251
776
933
70
67
241
491
728
428
418
574
68
136
310
728
421
96
665
894
892
109
312
837
528
376
259
97
229
835
710
650
783
710
208
273
81
969
28
270
538
425
721
380
903
188
525
642
888
293
159
882
132
882
781
655
865
252
538
903
711
521
968
922
543
979
371
426
5
309
471
78
330
549
331
815
133
266
913
377
459
742
926
639
949
442
390
837
261
828
910
343
859
722
767
459
125
430
103
919
93
629
497
219
637
980
658
386
805
104
307
413
132
362
49
831
655
964
188
782
720
298
50
942
200
627
748
741
644
603
397
109
719
962
539
364
125
620
796
189
786
99
45
893
527
6
679
842
665
236
686
509
812
429
612
333
488
243
893
817
247
76
711
461
178
321
475
449
857
318
336
237
500
59
676
651
650
82
195
708
925
378
978
119
652
867
419
23
504
24
663
980
187
382
102
373
574
225
486
610
443
438
650
839
195
691
41
778
351
919
647
131
190
216
820
122
815
977
502
502
30
747
314
817
686
414
223
883
108
382
302
578
686
874
337
814
117
428
34
122
391
216
91
39
825
931
886
64
715
704
445
779
907
712
581
665
710
251
224
265
868
220
51
532
218
585
825
402
575
647
540
162
778
901
760
446
492
606
908
197
902
425
672
984
209
331
224
44
47
348
232
385
578
344
355
856
615
300
876
519
823
273
778
121
683
840
77
224
467
593
823
44
974
191
623
38
670
431
630
48
571
561
426
560
196
802
885
497
66
714
588
288
90
47
911
522
71
801
230
888
417
360
753
930
317
612
941
545
800
182
156
769
829
998
418
664
102
37
981
15
949
249
337
609
403
711
585
333
393
140
150
7
149
11
76
674
50
152
929
114
355
985
60
71
551
524
764
880
86
313
534
299
840
324
164
152
238
550
984
974
710
165
594
282
786
263
971
810
128
505
518
88
366
19
72
764
721
336
392
339
541
382
238
761
756
974
648
909
947
230
389
938
331
261
551
995
799
694
805
482
881
539
374
204
917
53
70
13
543
714
597
893
485
567
588
93
362
862
835
123
815
535
777
749
421
271
388
996
37
334
167
753
393
770
831
19
704
9
925
966
702
51
110
472
422
23
842
119
544
380
646
931
908
860
640
848
357
575
304
227
718
734
575
754
423
801
786
174
197
558
755
214
774
197
216
423
99
734
432
737
858
984
248
688
660
830
206
438
70
238
161
265
231
492
20
760
471
504
496
257
498
773
155
43
951
207
376
68
799
465
969
138
843
689
566
141
505
72
751
985
367
146
784
393
814
553
515
276
653
719
719
899
911
443
406
616
270
620
167
8
207
133
764
501
172
797
602
932
88
141
452
337
368
45
526
192
779
587
505
551
938
123
609
471
612
945
65
466
353
174
893
659
752
480
746
783
783
349
138
978
296
239
767
832
832
726
526
204
309
477
435
224
33
358
854
260
411
836
739
786
944
601
450
304
117
885
129
359
796
756
710
391
465
881
300
171
175
818
473
189
654
189
260
805
630
560
868
488
425
37
276
792
532
646
733
514
965
847
706
299
190
347
962
35
383
911
618
849
551
856
212
988
471
130
463
988
426
838
763
667
999
791
193
153
826
877
106
572
571
500
706
482
846
477
734
818
657
936
230
883
982
333
467
753
827
85
376
214
305
853
360
359
550
374
26
140
533
807
679
696
677
63
118
107
984
567
401
535
79
709
296
695
275
700
660
181
3
593
203
484
41
350
628
135
930
330
647
643
363
154
641
531
538
770
121
940
534
715
617
964
236
478
634
145
13
792
301
765
871
635
576
789
719
956
39
418
94
296
372
721
237
904
637
829
226
447
975
872
429
939
645
663
226
172
759
281
184
17
391
355
141
17
367
45
11
700
891
618
718
659
346
720
20
16
40
880
973
782
670
363
738
703
247
209
688
244
265
605
466
908
56
514
836
183
482
541
688
96
564
355
144
864
534
44
384
8
138
650
423
272
891
803
555
382
849
869
273
206
80
760
815
104
395
525
734
121
974
488
81
208
944
104
865
282
969
19
128
311
509
501
763
446
974
416
841
769
802
895
122
329
679
160
723
302
807
859
159
782
955
983
473
238
703
376
317
804
703
635
446
273
84
993
531
787
323
653
72
877
158
44
817
332
850
722
954
396
525
830
794
73
608
789
588
344
664
850
716
452
138
310
864
383
221
624
665
800
836
38
249
622
290
239
730
577
710
807
906
739
948
977
873
203
3
200
857
0
922
826
32
276
896
840
628
328
693
795
405
891
289
937
407
657
195
854
817
73
555
612
956
42
289
569
549
295
256
506
275
871
949
37
0
208
8
667
475
938
672
340
368
636
274
895
54
146
954
658
321
560
278
295
343
204
17
808
913
62
548
360
574
308
246
281
347
727
663
512
215
177
633
613
578
651
786
260
892
894
382
87
976
295
349
705
300
350
106
873
613
921
21
504
616
168
469
811
780
187
749
369
739
508
728
703
419
504
775
135
329
642
748
892
296
352
318
432
859
481
572
716
677
709
168
24
503
713
219
541
922
987
245
418
338
669
221
918
913
923
469
827
362
667
834
630
424
312
466
662
614
780
161
221
640
487
534
774
183
871
363
569
736
261
764
332
782
31
592
109
468
400
104
197
939
808
559
591
399
101
41
297
963
570
675
514
503
184
450
487
151
437
300
122
116
248
727
177
277
732
83
804
229
879
161
58
768
446
233
923
406
754
298
992
7
723
434
228
697
279
112
977
568
613
319
903
210
743
995
248
877
256
843
946
481
882
877
473
842
285
836
983
575
524
788
247
839
613
641
359
241
130
598
829
479
493
964
275
15
633
31
601
862
77
231
557
950
21
422
493
94
505
274
890
422
805
782
21
474
747
756
413
141
609
493
124
31
849
977
457
319
799
406
40
397
437
770
197
992
219
408
551
48
73
308
789
831
701
69
475
117
8
960
257
246
411
740
387
633
925
506
551
757
665
176
780
219
720
61
393
58
783
589
298
387
533
991
13
944
928
264
207
730
874
585
226
376
259
259
128
534
44
39
593
709
320
201
40
558
528
468
651
136
334
666
208
904
392
594
988
115
341
721
583
948
526
161
704
376
576
775
557
525
256
96
620
817
512
861
877
369
189
990
554
8
613
179
365
275
215
190
620
198
868
422
601
445
243
503
279
334
309
135
541
972
237
288
430
841
564
297
638
60
643
823
701
257
958
666
445
972
889
837
368
42
378
221
98
714
661
348
427
686
244
243
919
412
777
519
915
840
520
214
620
114
53
396
287
913
996
958
902
905
22
424
6
784
287
156
313
100
820
975
876
52
348
769
419
769
568
8
731
80
447
732
27
393
711
690
820
719
690
834
22
842
796
162
33
294
123
117
430
263
601
311
351
869
81
492
743
837
679
736
698
985
989
492
762
395
35
147
917
950
969
913
398
471
464
173
273
134
899
606
9
557
647
868
707
858
632
578
215
986
901
249
676
73
609
30
790
689
673
367
444
920
120
128
848
996
741
917
457
693
844
564
757
513
826
259
713
905
283
980
772
605
478
252
135
539
320
355
599
519
521
688
311
893
296
188
563
123
593
427
150
217
494
298
106
243
809
80
985
602
363
397
374
145
695
799
803
483
870
350
942
201
229
723
409
620
261
537
329
865
12
446
434
796
560
911
296
752
446
640
79
879
501
233
852
679
956
116
840
170
163
115
143
925
173
952
470
198
148
28
234
362
343
58
591
312
197
61
475
700
977
880
41
907
325
173
737
410
521
782
873
588
419
239
61
517
912
96
444
806
549
915
847
2
148
146
866
847
72
855
166
227
242
78
670
897
45
262
809
8
488
972
99
906
103
112
319
565
605
559
626
847
610
753
657
509
868
681
879
446
946
453
702
652
244
935
218
802
830
40
506
417
282
745
175
812
678
827
253
915
756
821
527
625
358
694
579
802
937
250
483
371
229
937
860
785
598
400
534
413
57
845
453
233
708
435
804
348
995
614
560
909
224
996
582
3
776
630
502
377
703
234
774
33
812
195
673
25
633
977
300
605
277
701
926
270
208
424
900
397
501
456
613
819
31
149
226
454
407
384
695
517
152
703
572
289
646
628
294
780
940
835
649
361
116
755
70
257
807
113
732
951
722
129
524
575
458
452
580
57
363
883
382
745
279
991
576
207
184
445
744
414
913
934
87
851
260
582
3
831
299
248
766
13
145
506
726
744
926
238
110
964
343
611
703
303
913
59
104
447
267
408
364
691
387
282
210
144
381
508
145
215
742
530
746
172
558
509
688
168
110
221
765
679
315
256
298
464
615
755
719
655
173
703
838
203
200
851
289
387
336
480
148
202
368
430
587
25
412
535
466
169
998
888
751
35
66
878
226
810
289
541
317
8
45
789
891
150
865
659
60
758
904
795
55
671
0
673
384
49
717
376
113
114
938
856
425
321
322
516
370
113
37
225
851
332
84
662
961
638
435
862
703
427
230
749
449
839
718
996
853
26
867
787
617
932
690
130
567
105
898
379
578
965
741
563
441
548
135
899
151
86
139
328
309
605
893
732
999
175
854
286
690
942
975
372
12
174
543
527
375
454
558
617
694
635
544
772
60
377
524
944
847
439
936
141
455
270
195
285
906
703
238
599
486
299
314
647
405
671
47
384
930
189
859
951
738
425
379
545
168
21
757
35
432
800
839
938
753
923
140
750
349
71
331
715
79
784
563
124
15
659
622
979
198
750
288
686
630
568
225
470
393
279
65
435
745
682
752
380
274
423
518
137
836
400
34
141
341
755
21
280
792
976
239
556
81
501
167
899
710
173
539
86
418
358
923
780
164
267
883
398
866
579
781
990
630
195
608
715
280
295
228
868
463
844
319
547
504
809
405
971
822
866
838
843
340
256
826
253
237
855
807
469
929
753
882
219
218
406
277
601
159
816
365
735
86
10
790
527
545
785
578
556
649
384
146
135
867
710
477
872
45
52
375
937
121
451
463
945
91
524
373
910
515
730
15
900
243
335
707
87
659
29
208
755
390
863
589
277
76
36
416
514
541
448
900
682
154
265
597
791
753
890
412
597
858
836
158
924
680
445
819
859
580
957
532
519
309
319
817
296
353
629
746
237
905
732
256
444
879
14
447
125
322
618
477
1
381
134
890
511
206
113
653
995
989
405
473
699
586
549
384
180
126
116
25
233
949
379
993
214
369
939
595
525
650
330
972
96
284
644
667
737
890
657
935
265
461
270
672
35
226
591
856
440
655
611
957
217
563
575
100
990
329
320
1
789
654
840
121
503
15
730
48
221
579
176
734
72
217
896
165
783
117
566
378
404
38
979
708
846
63
184
297
649
626
199
873
516
320
47
763
464
433
342
335
562
415
666
200
587
584
151
761
344
737
175
441
239
930
795
599
827
796
523
768
431
818
767
190
975
692
710
521
10
131
819
147
945
455
179
911
740
962
220
882
655
136
676
195
643
784
166
189
191
802
653
945
954
71
523
67
974
317
66
169
802
607
710
404
733
202
103
569
414
597
433
343
463
820
59
288
560
359
613
91
782
826
153
250
134
441
124
687
214
810
306
161
187
766
647
884
277
400
497
517
462
637
997
551
78
497
974
437
694
727
323
408
571
990
642
826
950
917
687
518
525
411
917
175
245
122
918
685
917
320
25
881
489
812
584
3
47
73
627
761
565
275
724
185
719
563
659
159
691
117
636
319
563
773
75
982
489
745
195
620
207
565
256
567
538
614
746
181
657
168
801
529
614
99
712
634
468
248
807
735
428
332
563
129
559
172
402
364
666
929
508
138
575
807
766
674
48
546
828
321
938
508
927
501
597
800
467
113
430
621
582
210
14
709
126
487
635
453
291
34
842
251
274
65
590
367
587
221
733
726
957
560
130
312
113
462
924
629
743
215
68
632
801
927
31
128
422
794
723
594
435
200
48
264
167
602
756
635
484
275
400
391
41
688
285
764
449
880
544
87
535
845
524
119
490
853
115
759
895
257
97
427
53
962
17
436
668
434
212
397
185
845
29
902
421
25
481
961
774
896
860
207
193
914
328
774
864
992
195
419
993
176
577
228
568
532
577
280
254
742
561
731
503
576
446
729
341
780
273
866
830
598
623
213
883
605
611
353
832
518
575
791
293
965
380
999
978
80
823
825
439
512
580
348
436
218
305
250
57
980
805
846
119
770
978
195
395
579
636
189
505
431
201
378
579
534
318
895
539
482
40
651
220
784
471
776
171
466
490
103
218
437
563
146
886
216
923
623
679
566
614
523
646
526
231
649
346
395
501
616
97
751
602
776
748
548
928
61
948
633
111
277
16
619
590
270
883
876
545
659
532
715
709
306
554
823
33
96
166
165
922
386
862
963
965
375
442
38
111
62
928
625
802
893
479
816
942
765
359
886
41
782
565
942
105
880
881
628
391
491
632
634
744
674
328
603
20
115
348
663
194
653
725
244
82
231
297
504
150
797
464
380
645
668
789
79
739
148
871
719
942
389
134
84
780
988
63
912
393
87
908
370
567
614
6
321
511
596
433
410
600
670
524
636
458
129
56
89
842
173
246
255
885
650
687
51
594
156
801
299
856
264
236
955
996
934
243
913
983
888
873
289
875
6
242
751
338
279
771
125
862
636
799
331
705
627
778
372
309
651
220
771
142
909
763
241
408
323
559
509
989
716
975
235
794
199
775
595
455
478
169
132
446
510
337
571
225
417
250
13
908
754
762
226
344
94
651
792
731
704
651
732
538
29
501
401
756
557
30
364
227
494
443
435
222
195
87
375
6
180
95
232
803
852
948
24
974
29
440
633
142
858
848
514
112
938
261
155
970
865
786
647
7
812
452
786
648
814
892
182
351
546
60
123
965
314
19
668
953
112
929
341
139
570
981
454
129
854
313
805
396
924
966
608
370
316
322
908
203
78
4
534
483
49
256
566
708
425
387
157
944
14
685
823
164
572
226
450
309
842
802
514
177
25
448
277
244
858
20
43
985
77
674
283
51
14
558
44
703
438
686
103
146
740
512
586
663
32
533
189
815
613
417
24
151
95
816
884
154
162
442
100
295
322
817
500
437
276
955
593
455
491
237
818
894
249
317
499
402
73
453
879
852
804
702
585
969
548
970
530
524
578
457
593
25
208
977
30
693
25
699
430
124
190
315
220
69
258
52
990
703
175
895
518
730
101
150
583
103
264
391
950
131
129
199
756
687
478
706
696
287
657
699
330
882
716
856
395
253
4
270
583
271
806
533
400
117
87
258
924
275
841
502
663
738
563
337
495
863
675
598
426
707
425
754
782
744
153
621
397
695
71
100
773
877
68
212
49
476
19
157
666
264
645
908
802
743
532
724
59
830
939
910
163
914
122
450
691
423
378
559
891
570
767
222
697
531
424
252
248
983
466
988
557
389
532
987
966
909
800
640
239
502
640
106
298
226
167
738
150
58
645
292
131
136
53
479
433
926
905
272
524
691
645
848
926
665
318
13
52
325
87
941
311
278
592
542
926
932
676
36
774
84
764
290
645
319
934
535
207
340
991
300
372
875
255
300
551
580
392
683
938
899
704
83
466
162
681
815
160
78
106
477
962
559
0
170
856
705
97
83
684
384
7
892
105
247
757
335
215
310
424
966
400
472
192
91
623
27
110
417
50
771
586
510
864
894
373
250
131
763
692
235
890
487
727
38
789
764
489
678
982
334
158
66
523
501
60
308
882
165
184
238
43
102
697
470
152
122
157
516
221
740
334
279
59
55
709
57
13
11
998
754
42
435
261
314
398
266
9
787
585
533
902
392
464
647
63
218
864
463
453
191
436
133
807
478
432
726
489
509
342
108
339
250
301
483
350
786
50
892
974
173
901
122
342
706
28
863
93
473
753
287
536
452
953
926
722
933
381
49
787
683
697
367
509
580
214
256
392
888
451
766
322
263
798
370
194
810
750
907
378
746
432
875
806
464
687
646
970
757
917
832
887
893
554
929
180
99
565
406
267
257
697
476
719
394
194
627
902
723
288
700
369
185
701
786
805
11
813
751
716
192
586
701
519
875
855
745
571
118
799
217
820
619
374
550
716
306
589
1
350
639
959
790
38
837
132
406
999
863
606
206
721
877
644
172
616
581
88
144
13
783
58
495
846
197
138
307
295
250
356
820
646
626
860
475
931
290
580
892
15
684
604
449
281
509
638
297
732
116
654
687
273
737
455
576
825
297
675
126
455
400
194
803
783
739
925
580
384
139
916
516
218
488
166
443
165
286
129
764
908
943
287
735
922
769
904
256
756
587
558
501
525
742
641
505
634
158
334
101
925
272
45
291
193
440
569
892
19
624
91
978
598
415
666
172
859
929
166
425
849
975
477
844
652
310
680
979
398
975
355
864
129
261
397
179
311
10
301
595
899
300
458
777
11
275
352
818
452
903
253
897
876
373
609
595
548
56
474
207
167
837
554
317
484
650
956
41
533
641
136
313
223
361
838
974
619
739
747
693
966
576
968
162
738
503
292
578
871
767
318
290
741
456
638
527
962
243
592
427
607
127
273
325
756
906
988
521
217
425
636
931
707
533
8
655
356
603
537
336
848
621
773
168
138
86
564
490
900
24
583
93
234
825
941
373
433
913
546
211
33
698
688
51
999
580
787
939
757
905
345
798
780
314
247
697
703
900
897
338
463
92
488
735
818
505
555
270
595
182
218
93
679
58
876
871
313
737
861
439
955
693
50
609
644
741
525
129
354
105
514
134
478
713
972
264
616
78
177
939
735
496
281
619
386
742
514
591
523
950
459
425
975
534
929
998
491
964
514
814
893
105
459
984
31
20
795
892
58
879
64
184
641
540
13
420
385
283
198
457
133
246
551
202
481
365
221
935
126
951
221
358
576
20
280
148
417
981
819
764
33
859
884
572
245
915
73
776
751
183
137
528
83
338
580
542
883
777
56
733
38
594
384
513
100
547
850
664
264
153
632
587
196
734
588
233
695
707
772
592
545
662
294
944
242
755
117
493
559
919
215
821
356
267
205
95
356
94
651
112
872
145
178
436
359
146
130
881
138
600
242
793
132
379
373
801
575
902
319
681
116
737
959
208
575
876
666
408
365
449
813
845
196
596
563
99
667
543
961
536
644
675
614
866
735
703
594
240
260
322
255
918
4
199
331
623
93
782
103
38
347
461
320
430
388
819
780
279
459
648
62
806
74
743
283
369
609
252
126
729
345
870
563
470
145
522
721
205
30
869
407
902
182
200
549
410
112
251
179
155
394
234
182
368
343
430
737
573
294
67
766
940
487
291
31
774
488
361
657
672
144
974
988
362
372
553
344
269
922
609
457
906
634
663
892
305
578
966
59
573
864
439
126
662
744
505
615
809
316
49
472
29
530
988
83
841
579
857
589
943
400
107
699
289
801
882
44
850
951
340
113
474
976
519
179
118
231
131
634
199
12
633
477
479
839
337
863
850
862
796
163
54
650
760
627
910
784
358
289
631
545
327
390
349
329
879
914
173
390
673
37
782
216
574
378
858
435
132
783
568
700
170
796
75
210
26
510
482
270
792
490
288
2
742
181
430
948
603
383
756
569
565
996
965
70
62
59
351
480
572
426
332
21
937
929
999
793
432
821
170
179
428
854
193
601
275
751
745
824
588
769
732
347
428
659
897
56
144
417
982
968
883
441
640
29
415
405
394
940
597
26
114
665
262
344
991
55
984
632
248
775
499
429
862
505
512
494
999
27
634
104
108
198
543
985
285
626
828
172
393
866
796
161
975
778
849
585
582
918
988
754
839
100
760
671
514
908
229
357
704
751
798
410
662
721
348
986
195
460
10
175
351
201
321
15
629
646
699
668
998
807
518
691
269
593
498
433
201
184
501
173
277
435
693
902
159
980
546
886
304
379
114
960
590
626
212
214
68
91
955
491
591
82
355
541
112
260
746
364
539
586
842
474
579
352
55
984
45
937
366
624
15
927
651
422
225
113
565
337
642
811
669
753
238
641
829
849
277
312
341
888
509
134
705
156
615
216
835
279
483
356
987
9
642
184
261
519
70
248
661
269
535
326
52
523
544
388
762
854
839
703
481
52
603
450
756
551
222
703
702
489
893
119
205
943
556
393
377
351
174
731
240
291
109
606
626
790
199
256
487
219
509
972
325
684
665
199
754
157
905
431
655
564
839
434
201
319
86
941
965
303
829
532
175
47
65
143
428
509
327
103
554
893
128
569
520
100
139
639
357
493
891
634
339
289
659
25
174
919
520
473
561
130
451
400
700
932
67
745
924
386
559
425
753
310
167
846
98
262
82
583
741
13
36
743
87
572
498
36
134
513
692
363
285
465
240
542
565
137
307
436
872
483
180
456
138
710
656
162
707
77
747
64
642
685
41
307
303
186
327
536
324
596
216
464
334
381
500
375
677
929
225
633
66
188
828
590
649
638
934
671
148
958
899
798
491
281
644
970
704
382
86
984
26
138
77
23
809
845
88
44
106
302
962
504
450
442
528
891
110
641
924
494
946
243
45
225
859
986
628
551
711
474
242
341
571
12
365
468
493
451
984
356
231
339
129
30
856
217
654
333
115
42
90
763
811
240
874
993
542
167
706
568
138
132
518
579
125
598
836
403
70
611
661
535
859
367
353
678
660
533
88
255
968
403
772
969
309
715
591
972
102
646
184
347
990
715
98
92
786
293
932
76
78
132
601
342
7
693
735
174
904
518
621
932
484
469
380
776
745
842
81
190
639
190
797
80
871
602
563
310
743
86
851
225
937
767
323
530
323
363
741
287
895
597
325
304
69
381
419
991
399
607
853
165
801
831
402
65
651
757
986
520
978
571
10
895
69
786
378
276
404
498
250
354
360
309
974
278
0
771
487
194
971
108
228
23
392
287
848
875
836
362
412
616
352
111
927
480
463
410
787
572
788
559
810
610
476
273
522
90
999
792
812
425
755
528
994
230
944
928
997
575
849
114
51
672
620
605
921
647
340
816
218
416
204
631
822
937
830
564
826
190
852
391
837
559
224
945
392
233
399
43
815
460
515
302
441
4
538
468
567
547
662
635
692
767
557
663
25
324
14
325
153
384
82
631
628
223
638
223
992
3
598
771
510
847
625
690
272
735
327
315
50
4
909
220
130
376
756
65
878
752
534
360
736
507
624
569
271
249
476
998
485
425
832
941
160
254
723
871
106
751
779
745
794
101
50
523
198
438
138
248
509
73
2
829
261
219
533
653
171
281
382
147
989
242
440
43
869
55
147
787
63
395
739
217
9
661
38
157
349
989
830
952
778
30
725
670
810
350
920
848
521
623
186
748
430
940
625
998
804
170
319
153
272
280
194
889
673
789
983
719
436
310
365
757
680
446
481
480
918
41
930
762
979
960
371
283
725
722
433
371
508
252
81
978
28
775
216
945
69
591
960
906
292
4
312
729
148
526
914
304
389
178
66
46
945
531
435
232
921
767
394
468
76
527
902
727
621
518
287
655
198
806
241
470
857
617
323
921
997
973
426
14
108
378
705
127
861
863
851
728
278
279
680
487
708
608
964
812
624
821
656
372
812
255
434
300
849
759
191
591
155
930
560
590
223
208
510
430
115
101
669
977
128
94
867
686
878
402
122
597
566
766
626
987
875
12
169
783
646
721
749
951
995
845
805
396
71
50
29
392
835
27
91
424
609
568
975
14
584
690
313
471
93
144
855
444
656
123
709
319
314
578
517
820
482
570
198
627
705
113
51
774
328
772
206
218
68
389
731
690
255
86
895
598
632
915
226
972
385
968
976
672
947
466
477
856
250
556
917
100
891
663
935
109
871
628
317
320
469
32
310
503
641
962
236
949
3
299
675
127
47
381
773
499
129
296
393
991
618
486
842
349
614
603
906
916
632
385
639
37
964
753
146
395
90
117
40
413
519
73
21
108
324
102
806
776
214
409
295
749
223
576
52
338
695
861
307
580
16
437
994
62
457
363
25
979
273
883
218
981
661
105
368
170
326
878
861
93
340
725
563
814
436
521
702
309
775
72
607
119
397
318
663
16
74
14
182
994
376
782
685
744
774
219
69
910
975
932
189
280
531
77
685
551
28
984
874
563
562
783
636
352
978
428
610
119
616
186
934
228
479
795
825
115
374
182
463
23
166
663
189
69
208
36
242
235
740
663
30
544
677
843
444
49
730
929
454
36
418
721
926
97
885
191
74
831
497
996
590
566
376
536
797
397
183
275
968
634
646
312
777
159
624
486
245
210
192
808
801
809
128
235
652
219
853
723
414
689
742
63
591
618
786
669
902
923
541
165
895
747
253
313
653
183
564
448
870
353
583
345
19
76
937
207
729
743
20
143
730
530
764
448
457
581
248
684
986
872
585
684
480
549
793
722
44
526
170
267
439
243
69
921
381
976
602
844
695
634
236
26
321
925
440
764
718
454
318
782
205
187
304
952
687
246
517
793
888
394
621
547
506
537
376
471
914
337
65
487
635
66
697
241
393
394
94
836
149
658
473
967
229
52
611
632
452
989
35
534
793
822
268
14
619
871
900
367
853
922
517
229
637
312
774
833
123
359
121
142
100
559
93
97
744
665
897
628
977
410
613
479
92
343
941
444
251
618
657
268
176
516
700
189
530
609
781
605
800
984
837
28
332
803
93
652
200
369
406
749
858
202
819
817
241
893
959
205
138
76
658
388
731
793
70
948
393
841
355
955
436
582
142
819
547
106
125
391
621
789
287
475
452
516
141
907
934
229
332
647
284
177
407
432
517
514
831
247
29
92
561
474
467
671
406
706
251
440
670
509
330
86
594
967
317
628
835
355
762
497
65
809
278
437
689
895
984
124
124
803
24
267
745
320
988
251
907
517
967
854
278
323
445
3
45
57
723
402
261
998
795
467
705
80
253
330
180
609
842
299
76
126
140
687
541
709
183
286
745
502
234
397
749
87
950
579
759
414
80
526
633
6
480
589
239
311
488
849
730
259
605
869
132
824
627
100
732
284
763
505
486
452
384
919
257
82
931
627
539
617
490
635
173
435
119
724
386
585
690
897
468
862
879
762
412
378
663
367
484
379
555
828
875
668
842
568
370
234
376
760
253
817
538
203
813
452
843
810
20
577
999
737
475
77
359
41
755
115
721
615
100
17
783
52
496
433
218
935
441
38
157
690
42
920
863
646
329
634
854
289
419
599
627
351
602
951
109
894
115
912
617
190
758
203
799
751
466
689
729
615
356
495
849
683
453
452
351
968
805
805
148
243
247
939
965
177
964
908
722
303
940
941
413
474
818
530
331
949
743
857
474
442
922
450
597
640
38
192
55
496
702
386
929
884
396
223
459
192
661
983
408
260
562
785
365
20
507
945
660
316
228
714
701
784
280
75
135
373
287
791
751
159
671
780
613
547
106
114
281
238
513
61
76
291
168
110
536
83
703
330
623
356
865
438
571
195
617
195
34
776
7
308
659
745
333
408
354
37
280
731
285
415
911
238
635
860
604
1
926
747
709
450
59
133
3
135
452
449
636
976
356
996
334
478
376
231
980
97
538
292
969
881
21
509
773
190
160
968
974
333
894
592
867
630
893
568
384
732
113
147
879
915
466
287
313
353
869
235
799
324
272
305
957
230
217
845
151
236
23
91
642
780
327
525
841
601
554
101
125
248
148
214
608
663
614
928
647
298
666
542
635
124
659
831
170
254
382
692
745
201
74
20
798
702
229
957
693
989
98
445
411
508
224
637
72
575
876
892
360
364
293
450
605
63
591
776
482
540
941
856
290
212
303
983
696
141
892
983
669
4
168
820
888
281
995
131
697
383
227
909
437
216
862
341
66
364
753
94
397
516
914
750
982
796
655
826
39
549
49
271
462
771
682
612
893
773
161
84
499
214
0
241
847
674
317
617
41
678
719
552
525
51
804
381
912
774
860
622
161
584
751
318
430
651
715
145
419
482
753
108
688
935
689
26
855
550
343
21
430
430
931
928
733
923
31
884
51
893
94
705
467
722
770
336
425
403
958
734
145
970
763
455
214
188
27
369
435
332
469
25
977
204
890
762
442
902
348
220
389
717
983
174
876
409
78
585
436
176
423
84
393
100
472
63
199
552
284
415
759
265
710
358
752
317
969
175
611
110
174
723
636
666
37
275
663
4
837
122
488
2
737
164
260
171
739
914
492
384
683
792
117
229
984
686
331
281
883
595
320
679
436
191
923
901
58
799
308
623
408
893
227
537
964
131
719
870
526
252
372
876
591
515
329
80
843
848
696
272
958
977
33
251
940
77
437
27
894
358
538
187
44
276
979
371
125
88
497
144
750
976
728
231
566
950
407
434
109
304
803
153
771
462
981
249
885
558
898
839
322
795
918
673
425
537
154
372
297
366
828
505
535
211
900
473
89
428
974
314
974
387
300
876
641
678
153
292
294
374
283
282
813
389
731
315
241
779
113
299
851
748
469
31
271
95
468
510
351
745
580
624
93
498
315
528
923
7
496
97
999
785
700
500
262
117
378
996
976
801
153
718
867
750
414
209
649
86
675
949
267
927
350
286
838
113
892
332
302
924
851
40
950
813
506
847
332
828
29
655
627
990
407
358
651
137
74
160
603
716
414
375
67
726
692
984
680
172
870
759
128
606
644
445
486
935
334
87
987
546
126
914
812
24
180
354
186
602
803
172
560
988
552
992
817
548
778
925
734
336
194
942
946
418
530
857
856
230
346
352
31
368
138
486
562
459
945
981
810
799
267
677
570
398
321
169
840
488
211
729
281
147
945
881
655
551
488
307
317
383
40
636
634
881
531
848
934
703
873
720
181
981
544
544
643
863
650
542
725
132
405
868
556
275
389
705
12
110
676
535
414
535
830
908
485
112
534
18
119
255
508
597
412
854
952
398
583
8
537
6
183
999
22
769
213
676
147
544
470
57
813
21
773
418
916
71
119
205
832
408
468
475
494
508
501
579
656
949
361
6
420
613
558
771
442
439
639
640
761
334
419
987
280
677
181
233
536
158
984
520
495
707
964
407
49
556
301
245
622
175
559
70
449
656
637
124
466
859
595
85
134
360
161
841
357
898
132
416
37
531
641
455
36
326
457
748
612
347
419
481
341
390
252
940
12
353
457
885
62
525
4
787
818
670
580
279
562
291
85
352
376
567
402
186
847
647
857
857
253
11
406
640
558
726
151
819
910
902
191
251
210
963
11
737
357
519
340
18
911
903
0
369
130
348
501
949
842
451
511
963
497
450
847
771
993
968
155
708
162
53
736
669
650
579
924
664
389
926
345
766
863
482
853
962
801
273
544
735
987
626
452
75
239
314
104
746
683
127
685
314
779
53
142
326
57
694
674
765
685
388
94
318
88
321
70
710
581
231
440
574
662
471
549
925
927
54
770
871
259
525
422
962
178
832
92
953
929
602
160
29
485
447
256
854
610
377
33
806
884
612
415
607
615
230
120
255
584
710
193
28
816
377
916
991
982
118
437
129
228
392
756
362
165
224
58
412
217
482
488
27
406
517
117
861
516
113
629
714
998
512
52
370
891
289
727
98
628
836
969
405
269
829
715
618
786
273
563
180
751
10
52
454
433
418
803
264
438
917
833
296
294
828
545
342
584
796
509
637
411
645
888
738
715
156
255
363
726
141
35
116
83
256
525
874
66
746
241
805
769
728
472
34
831
135
645
189
345
523
744
357
520
823
266
125
775
171
323
310
945
195
967
400
223
199
864
278
584
715
16
824
747
873
344
551
838
872
125
55
134
980
92
775
702
60
211
992
311
247
21
961
455
948
212
302
501
633
566
989
631
788
254
877
607
479
704
910
499
766
357
783
368
634
425
902
777
94
321
222
70
453
783
811
396
988
424
903
908
672
684
748
925
998
352
953
865
7
840
274
69
899
109
529
939
857
87
427
33
466
379
19
874
92
865
92
463
628
101
739
301
921
955
556
618
517
760
719
953
338
364
942
277
517
792
192
985
780
665
305
979
906
13
845
35
876
195
252
648
41
271
773
446
626
463
406
90
864
849
651
59
854
406
180
364
259
538
659
835
158
390
773
777
164
477
794
402
554
687
848
548
596
711
513
987
936
500
670
228
992
581
692
526
783
433
401
85
565
199
315
700
540
970
922
208
262
947
570
707
404
540
870
959
945
665
899
734
268
154
136
43
444
944
484
866
194
63
282
91
168
22
382
716
505
5
786
173
989
312
953
177
391
76
474
525
16
41
569
77
895
107
688
237
395
87
427
693
244
509
907
665
677
538
209
496
338
525
90
204
233
944
655
355
429
255
893
865
290
24
6
186
560
86
501
818
501
397
769
880
743
675
788
755
678
51
676
340
60
546
288
28
277
48
443
957
392
113
877
740
761
576
938
985
493
244
924
875
842
92
388
491
594
282
500
226
676
527
910
87
684
802
622
581
832
498
431
599
345
310
716
488
780
103
419
670
328
430
940
678
276
437
633
674
892
565
282
639
148
839
824
83
459
806
820
545
554
577
786
400
941
275
303
942
659
728
848
189
198
964
502
11
419
159
353
935
996
487
273
278
914
70
112
640
693
279
244
713
2
945
723
815
966
165
475
375
764
865
382
910
572
96
575
703
560
692
140
317
83
285
63
429
687
496
726
197
430
801
73
151
381
934
574
804
212
811
993
173
983
892
943
348
851
707
173
259
831
193
955
574
416
203
364
237
806
79
56
668
310
417
791
419
285
575
385
711
344
654
723
337
417
53
338
755
221
424
426
504
707
425
666
708
238
548
4
303
122
374
926
228
926
60
350
888
931
6
203
81
125
27
80
240
7
235
186
334
55
648
394
537
346
570
28
44
694
742
150
982
736
316
312
976
68
420
723
762
520
736
872
232
625
722
30
945
760
105
669
463
113
963
906
933
827
844
451
694
622
777
755
815
34
740
838
582
678
96
579
337
2
364
204
294
531
120
996
949
356
780
817
957
418
283
692
83
663
184
138
477
883
572
677
341
520
628
389
11
883
392
914
836
234
25
760
556
704
426
317
341
947
739
57
224
327
305
391
966
424
850
525
326
112
662
870
514
69
468
982
311
978
978
198
690
478
384
267
458
68
206
173
301
840
512
137
537
19
135
345
924
163
987
179
684
583
437
158
803
960
847
97
32
394
428
867
400
588
27
806
218
96
871
21
619
96
456
465
738
481
988
131
455
363
44
797
997
118
345
754
592
779
765
469
961
257
219
398
945
771
805
57
28
158
507
61
87
445
340
501
751
674
708
590
59
324
51
300
8
942
716
217
788
811
659
64
680
195
208
953
717
224
423
635
552
888
544
10
457
557
485
997
228
776
911
300
671
983
369
425
202
687
843
59
397
157
563
969
732
743
794
170
476
748
486
713
188
957
215
416
900
282
433
205
93
267
596
575
976
284
288
705
49
739
138
443
358
812
922
38
505
269
540
904
389
45
657
107
513
424
997
427
974
322
593
104
608
709
242
653
434
686
636
158
775
961
882
725
594
801
62
774
331
851
186
104
177
542
909
995
923
489
759
993
49
953
179
790
686
527
724
932
73
822
441
131
305
913
70
266
879
856
201
543
538
984
98
993
868
736
625
64
61
394
330
281
851
549
596
145
818
191
999
675
187
686
781
61
126
31
156
141
349
374
562
54
906
329
78
180
96
306
271
279
793
134
554
998
424
212
665
572
438
895
647
984
700
421
445
301
682
456
154
334
169
441
72
643
740
901
195
120
708
598
558
496
272
668
721
937
444
368
296
303
393
423
905
316
861
909
981
784
982
773
746
309
845
419
585
459
471
413
875
169
578
162
538
10
737
978
870
463
195
137
940
466
343
952
542
935
372
678
128
332
653
327
679
149
159
761
20
245
635
1
661
569
980
467
640
857
279
594
947
780
86
269
267
192
936
3
995
841
855
982
347
368
168
955
151
747
62
417
657
374
445
493
951
945
196
61
347
964
307
208
938
907
657
704
539
383
653
932
145
574
723
778
213
111
327
971
577
749
129
520
536
183
393
997
345
209
31
751
992
866
847
201
815
961
759
626
776
154
967
741
391
9
386
561
560
629
310
49
798
732
873
599
264
901
31
163
956
628
105
120
210
832
833
542
880
393
933
668
318
647
691
935
545
232
219
883
363
207
814
574
834
996
211
764
434
67
437
406
936
639
609
414
411
616
730
358
277
424
168
804
731
963
320
789
109
606
23
244
164
61
666
889
688
310
874
245
498
936
30
221
264
400
207
270
589
203
396
907
41
250
505
301
728
680
769
796
213
0
759
660
173
843
581
381
644
410
363
949
694
423
641
28
128
775
21
201
606
959
326
832
772
970
38
628
376
552
17
399
137
221
598
857
842
20
267
1
664
476
661
359
553
409
768
802
628
970
694
930
514
500
793
355
104
947
73
960
258
787
552
220
581
956
236
587
353
224
93
649
445
561
396
576
963
267
593
17
70
997
673
796
550
681
219
420
418
49
789
209
823
888
243
528
983
465
845
279
559
921
510
140
454
856
414
355
473
453
82
96
87
886
877
878
110
948
238
670
584
654
393
200
735
655
360
341
741
359
594
404
78
743
771
606
758
799
140
472
198
115
916
742
411
500
652
65
159
812
861
633
687
792
192
745
134
144
54
201
330
357
939
378
637
525
683
19
12
801
134
51
531
57
518
683
275
371
838
822
791
933
304
273
735
109
266
14
664
945
108
960
961
40
977
847
925
390
409
653
155
993
700
773
585
803
648
841
302
899
591
83
631
561
675
52
260
654
961
429
387
223
114
261
595
408
136
5
522
361
149
811
257
362
749
771
878
383
297
917
504
112
97
44
57
131
411
278
513
494
890
753
167
899
476
548
449
810
576
95
536
879
792
112
514
203
298
732
623
921
8
430
231
423
986
204
983
206
983
805
960
630
169
70
685
485
247
757
426
478
903
60
709
754
775
330
235
218
48
408
88
422
277
615
948
650
888
397
692
198
1
606
384
251
244
142
518
31
311
527
433
152
600
44
188
296
524
279
513
48
321
230
492
544
962
998
89
131
536
143
372
61
504
196
600
759
532
354
636
743
927
605
894
549
171
842
785
31
137
783
421
603
39
700
645
579
383
572
875
356
20
964
119
985
154
104
985
232
557
409
579
880
246
108
951
996
909
749
749
499
714
799
388
910
177
924
723
262
925
978
199
274
429
291
786
653
253
339
415
259
87
794
607
839
252
245
785
891
689
589
520
929
327
935
342
889
792
640
287
856
91
864
460
596
286
487
275
477
892
205
685
866
183
643
473
98
837
118
773
56
224
247
739
780
326
398
808
51
895
784
275
731
120
440
270
709
694
618
860
42
411
467
116
140
282
533
312
956
0
315
749
828
603
851
483
329
92
473
449
451
631
643
897
686
886
23
883
502
660
992
814
463
826
423
820
768
482
749
553
432
224
834
169
110
291
382
878
251
557
285
54
591
916
236
197
67
698
172
882
959
582
648
715
664
768
906
651
45
94
261
723
867
378
955
261
703
922
121
99
482
613
152
28
629
162
921
741
839
8
897
420
426
780
51
192
856
669
155
927
556
344
701
928
572
30
537
210
164
775
560
923
810
430
395
660
664
668
554
96
84
243
533
43
110
484
229
256
611
937
765
136
84
13
262
332
989
784
507
721
476
312
172
463
391
249
867
888
77
795
230
115
618
609
563
186
973
734
769
831
401
263
81
779
170
482
788
120
785
538
927
459
715
906
618
944
788
928
860
243
968
652
282
457
555
414
483
363
985
58
398
579
263
101
286
714
660
793
270
627
648
757
711
407
94
90
284
684
818
170
788
405
133
67
934
146
580
678
270
579
814
299
23
746
498
858
289
445
964
49
348
811
140
380
657
827
855
298
222
436
80
722
726
109
877
416
526
257
182
293
852
352
317
359
28
881
999
737
119
496
623
352
112
19
369
710
931
422
988
993
96
835
609
249
211
831
390
926
609
844
130
497
851
493
627
358
980
201
345
976
95
362
769
648
410
484
873
883
786
878
914
432
44
107
434
357
551
444
149
824
170
351
529
633
831
246
400
10
30
474
497
426
723
994
768
873
83
668
289
230
328
233
538
406
442
981
353
380
157
658
818
652
768
756
883
297
889
776
516
466
95
840
63
465
869
814
525
929
675
623
603
341
467
928
270
86
735
170
532
679
504
424
456
625
519
883
320
888
296
100
178
815
566
193
688
967
91
896
814
399
772
198
785
835
413
631
883
339
219
872
557
873
806
425
616
698
993
818
865
73
578
780
53
455
390
511
805
987
538
257
501
976
808
47
116
777
267
929
832
192
347
551
163
588
982
684
885
654
125
803
80
274
500
278
410
682
668
967
218
879
783
469
217
378
318
756
939
270
336
45
834
989
433
305
481
0
202
543
560
870
587
813
606
563
55
855
771
145
832
837
767
295
266
873
338
756
914
71
836
396
228
340
246
17
476
461
705
932
377
379
472
841
96
437
344
281
169
513
161
209
343
461
593
419
81
139
653
542
512
991
314
358
269
846
538
938
72
59
329
332
951
55
663
406
490
359
291
15
806
33
472
706
70
703
504
62
906
866
521
991
282
227
200
456
557
482
972
248
438
440
827
431
40
352
46
172
73
773
298
766
414
209
466
571
593
912
3
883
619
3
107
157
805
484
873
141
859
968
214
309
840
784
993
508
748
587
445
985
161
62
652
24
494
832
562
544
250
783
101
301
600
603
684
340
354
267
554
17
243
727
770
949
221
30
318
694
51
101
75
956
650
12
646
239
215
321
315
741
34
928
470
585
519
473
748
230
268
657
613
416
857
437
359
613
325
979
16
991
93
919
722
588
113
787
568
824
493
580
794
912
270
297
318
322
11
805
235
903
822
340
313
786
389
534
139
426
78
162
224
214
724
707
604
231
730
729
653
60
752
334
437
255
157
268
475
509
70
752
115
896
110
601
831
888
986
52
544
240
437
406
891
364
919
85
888
948
980
503
168
262
39
462
107
26
104
926
591
635
544
569
563
287
169
367
941
154
226
422
374
641
351
957
438
927
522
517
835
991
331
394
543
912
608
359
767
59
831
648
654
317
432
440
292
191
511
422
414
637
202
565
491
275
644
607
93
310
412
650
190
284
725
469
787
946
985
958
705
653
64
657
357
471
11
818
86
494
463
878
368
604
862
453
466
230
894
603
5
585
964
911
100
310
132
608
95
819
106
374
864
73
400
315
851
844
217
676
722
975
541
287
277
117
977
490
608
660
732
817
731
849
575
275
368
235
655
743
965
873
151
832
826
257
507
903
820
260
906
993
184
934
524
599
737
920
55
142
707
295
455
601
795
549
410
464
369
530
876
203
379
461
28
421
162
819
272
41
302
507
236
400
643
762
676
143
313
803
493
773
342
794
208
155
496
857
75
998
788
407
877
810
189
905
790
632
502
487
824
906
100
651
389
517
139
543
294
143
158
320
49
338
249
368
195
193
441
25
738
37
483
25
708
199
984
588
909
501
894
466
943
660
637
108
661
665
226
501
750
581
288
932
441
788
763
799
763
301
215
88
920
863
602
696
627
417
943
275
932
66
415
185
530
202
723
258
199
203
21
650
130
750
706
124
478
41
290
298
294
778
855
369
435
550
894
205
719
166
323
381
435
910
812
574
338
903
912
987
856
61
973
972
253
234
954
810
107
677
310
795
809
147
458
662
608
889
428
200
463
997
658
72
273
914
424
65
836
806
608
552
535
633
806
24
910
882
630
391
457
123
699
582
607
841
903
195
49
838
121
902
573
366
476
477
666
590
247
253
426
985
477
732
617
61
364
438
906
868
45
795
497
172
188
354
550
53
186
792
336
503
128
199
58
695
577
989
272
680
122
378
587
864
341
803
510
262
638
978
767
780
534
593
231
450
905
414
347
58
979
19
217
201
630
765
46
160
671
490
871
82
235
600
851
776
526
898
836
177
511
810
84
967
486
639
987
529
77
781
546
506
463
426
230
583
242
813
409
285
366
151
690
938
76
636
331
198
741
936
331
357
610
935
42
154
721
253
618
678
768
10
485
682
683
559
549
121
376
742
951
300
845
355
863
502
329
16
243
817
751
306
783
324
67
553
32
959
381
670
74
736
556
503
307
968
473
810
619
490
38
472
866
979
626
697
214
652
73
76
142
683
905
607
579
438
631
223
262
928
143
661
417
598
500
56
411
509
985
332
716
824
175
873
992
453
633
405
505
906
165
9
707
493
48
36
254
771
270
384
768
276
504
839
670
764
143
250
863
327
32
148
316
648
110
514
599
422
137
367
552
307
871
821
519
70
779
627
300
625
680
8
195
478
148
117
463
138
279
788
223
988
872
514
641
714
812
291
828
741
443
657
854
220
547
355
115
909
340
562
325
786
487
369
128
803
258
103
743
123
806
577
961
917
567
117
960
929
219
617
479
808
701
680
257
200
292
27
538
304
642
985
717
889
307
194
628
688
288
725
171
350
226
601
227
149
211
227
737
481
977
583
203
878
681
980
334
58
406
883
680
645
424
552
382
717
84
814
288
645
60
4
718
292
206
569
571
130
166
176
137
333
990
928
32
81
710
545
913
830
742
891
298
700
942
676
668
273
583
122
994
935
283
312
557
709
697
971
305
1
293
313
368
613
115
960
469
477
407
89
581
663
231
739
910
421
398
635
780
717
24
329
696
499
605
188
597
718
936
879
26
526
298
918
480
125
153
689
114
194
780
862
379
392
416
701
387
359
73
900
74
209
882
190
200
75
293
121
908
349
194
200
375
707
183
979
923
392
863
858
802
509
877
735
339
162
77
52
949
76
571
834
324
896
812
226
539
743
28
752
961
70
237
86
509
858
330
87
69
534
4
793
548
876
732
531
875
509
785
355
995
121
217
124
898
266
314
949
185
328
144
989
175
661
639
337
827
590
209
196
456
112
369
627
227
521
912
535
890
640
375
6
638
541
22
852
536
42
642
91
81
795
135
555
436
680
634
182
78
274
126
558
958
387
964
586
225
818
161
704
159
679
367
445
685
269
964
843
108
333
744
261
744
147
971
757
675
530
892
179
589
943
585
673
501
842
718
737
912
922
697
545
96
522
725
500
919
451
942
974
278
884
620
492
288
516
289
213
307
245
873
451
680
125
381
308
16
347
151
248
176
703
480
724
173
657
890
747
384
905
274
363
352
805
914
677
208
327
493
154
387
74
34
931
191
80
782
966
475
877
641
251
191
219
917
632
577
62
893
532
687
300
610
162
965
766
680
644
93
772
763
320
669
744
112
810
847
125
773
352
892
621
724
548
609
270
930
47
691
273
829
85
957
539
150
804
354
555
28
792
709
152
529
148
881
674
826
323
323
109
273
33
740
377
578
996
286
607
466
517
655
892
483
454
420
432
221
386
221
559
766
214
576
865
722
647
868
15
496
455
543
676
431
465
661
786
572
300
418
144
63
80
151
771
128
749
214
772
961
330
944
963
738
45
672
437
103
636
146
83
367
575
360
11
979
898
929
755
316
31
893
108
161
980
663
545
452
47
463
673
970
399
6
92
201
995
372
325
218
445
884
294
793
688
652
364
110
156
971
840
186
298
715
458
466
581
70
401
429
197
167
977
524
779
48
779
199
973
856
3
392
748
136
599
858
656
845
532
179
330
361
190
235
737
13
248
898
65
648
799
440
516
952
416
414
873
345
724
404
512
323
735
723
174
536
58
504
204
52
580
916
850
32
893
356
676
174
506
963
112
2
496
34
721
80
843
898
618
519
42
146
799
42
601
526
164
313
246
645
904
910
427
179
891
469
955
210
286
570
319
121
33
796
125
305
306
11
974
242
440
872
440
976
700
324
459
906
720
223
637
686
189
52
852
47
532
934
106
372
923
984
792
394
819
711
223
9
159
478
972
482
779
682
974
469
46
794
513
885
52
636
235
251
789
985
294
746
577
566
628
943
651
894
29
275
311
741
117
936
852
271
378
716
84
968
920
610
559
51
72
740
638
379
650
612
230
811
958
567
326
337
666
599
330
122
637
48
642
823
24
223
764
310
5
34
69
786
819
364
233
343
967
92
119
638
836
184
864
736
691
784
55
96
397
843
517
922
443
101
47
803
339
66
375
957
435
797
736
878
653
467
940
5
777
830
798
475
459
673
314
691
69
862
569
234
1
907
439
879
230
241
183
789
213
867
815
218
29
607
869
455
311
583
250
814
209
825
587
974
594
27
572
438
969
508
764
14
446
621
750
571
494
71
947
669
740
824
637
742
215
879
17
720
939
87
375
492
624
799
959
139
351
863
539
142
604
298
298
776
825
887
576
478
763
447
351
87
628
922
808
833
513
924
700
168
651
307
656
598
604
187
797
334
31
352
995
289
859
491
980
239
656
382
780
75
63
274
400
327
948
883
152
734
574
898
664
768
296
39
805
285
99
313
354
703
293
695
743
903
743
521
615
782
473
787
179
78
201
676
380
740
89
880
663
557
733
853
462
292
489
585
894
412
974
322
233
35
75
758
588
620
766
639
817
320
490
315
789
379
87
801
431
584
420
361
297
621
282
178
108
59
591
684
713
538
730
939
832
985
326
280
226
55
417
320
634
131
287
166
90
105
533
312
15
738
50
523
675
879
136
726
802
815
570
476
206
68
984
140
443
577
179
122
350
677
114
55
43
154
126
145
474
61
491
47
392
112
792
572
717
84
445
582
738
588
948
616
324
121
37
294
802
886
923
957
687
8
478
852
935
288
345
388
659
326
50
384
641
559
791
421
562
610
181
55
991
539
602
473
276
789
845
465
585
504
472
147
666
73
908
746
27
208
268
55
953
558
695
116
91
175
128
19
4
788
994
354
23
293
88
980
225
47
514
453
885
575
535
641
639
928
579
876
397
442
252
476
242
565
952
515
393
725
354
747
336
589
157
127
451
684
955
195
430
679
476
697
810
729
770
126
971
54
950
934
967
861
373
701
800
380
688
868
588
300
56
388
478
13
191
256
382
696
237
542
940
206
115
317
764
479
412
374
409
329
169
603
881
357
63
243
15
961
805
409
11
555
399
582
696
914
23
974
408
250
659
74
459
486
381
131
889
369
631
160
797
304
454
477
912
548
925
179
685
966
643
462
15
158
79
648
93
377
836
577
245
45
10
766
428
404
658
828
116
252
660
87
975
428
729
375
583
92
555
218
105
109
104
424
29
59
498
472
668
299
910
71
247
791
227
528
317
62
623
351
428
362
418
287
991
233
329
3
405
627
730
562
338
186
648
398
301
638
992
127
952
723
400
139
828
123
609
861
176
163
229
818
124
649
269
889
769
117
499
743
100
58
374
941
736
568
64
854
94
100
596
978
513
438
989
424
688
653
716
625
999
153
793
652
734
762
950
105
370
90
111
455
385
571
828
682
803
32
357
90
807
626
804
570
861
96
991
594
590
320
677
79
929
469
971
795
717
8
231
187
761
737
130
988
839
796
795
775
902
639
364
216
574
194
8
166
800
844
959
194
613
632
665
411
922
755
829
39
627
710
228
611
134
325
198
358
919
177
983
597
790
415
649
941
591
57
748
711
908
711
621
22
871
765
447
150
53
547
806
5
516
324
381
237
306
96
172
793
342
404
608
754
888
732
737
651
222
203
470
643
176
658
338
190
187
217
388
279
426
262
648
938
301
719
442
762
228
210
465
661
661
553
596
693
158
706
738
829
889
235
399
993
262
403
627
784
578
469
165
322
608
483
965
834
278
238
787
127
626
376
593
4
642
86
452
569
273
667
790
957
28
524
961
598
948
301
865
695
945
245
569
106
658
353
384
789
178
730
338
100
673
360
832
420
607
403
268
878
391
138
661
629
770
308
199
526
363
18
63
227
850
643
604
117
897
731
376
542
843
346
756
188
959
562
290
196
545
652
539
227
709
542
344
673
442
470
792
922
872
701
621
190
977
111
512
653
53
682
833
875
334
582
336
760
855
418
479
921
93
422
259
882
704
84
267
609
437
547
7
50
756
799
283
630
488
239
66
401
735
984
180
65
341
276
319
864
113
469
585
134
51
445
937
2
441
682
924
77
719
286
112
767
46
342
138
75
24
462
911
137
80
764
83
728
307
95
249
811
83
700
387
347
423
974
739
581
462
146
597
968
118
902
281
699
736
77
889
419
361
716
807
289
513
14
781
904
300
526
180
350
717
629
755
145
802
156
286
239
590
303
204
614
721
956
774
484
852
196
808
641
828
664
890
67
392
868
196
648
556
48
631
532
789
933
922
843
520
987
863
334
673
271
288
542
876
517
192
551
719
165
395
81
64
33
68
630
950
128
122
403
499
298
810
139
583
801
392
450
891
523
476
108
628
930
286
255
364
119
588
730
502
513
65
792
669
940
369
815
813
931
909
295
70
702
997
97
765
435
443
103
237
217
435
715
359
1
39
961
177
299
369
353
569
118
654
877
866
633
357
239
352
325
20
716
785
215
484
814
556
345
216
573
344
697
581
987
78
284
69
49
41
676
834
747
600
1
819
77
615
372
114
888
59
613
419
292
574
60
819
861
373
256
279
331
762
546
14
895
250
639
298
486
510
77
503
815
960
87
449
502
591
626
851
948
821
592
658
261
274
717
874
965
331
627
825
76
460
90
859
508
162
143
362
767
963
38
137
353
878
521
87
495
507
207
822
536
680
248
227
517
576
711
253
784
262
648
419
807
488
137
852
877
705
82
998
152
933
344
509
958
389
229
520
289
889
577
199
906
222
878
60
727
930
231
547
95
464
396
777
208
121
285
997
522
614
452
885
145
742
145
381
269
805
377
273
489
631
864
733
22
105
217
340
57
722
171
505
818
787
635
738
489
453
604
696
954
659
562
779
818
380
963
617
977
266
397
266
616
693
44
66
280
252
832
995
39
716
292
79
411
462
752
43
900
520
355
356
296
252
633
479
451
785
61
269
773
302
113
457
722
700
528
190
278
996
880
726
475
391
313
547
316
386
432
589
703
105
737
930
606
471
132
73
244
440
545
676
337
97
244
989
626
980
873
498
310
1
993
308
60
91
308
520
305
928
898
384
636
410
855
418
856
595
53
465
372
477
121
995
566
90
468
948
827
130
154
335
768
4
367
711
496
452
126
633
532
908
634
223
920
152
586
764
105
368
495
465
406
638
426
954
903
730
50
385
50
131
893
669
254
766
61
369
723
52
124
295
638
99
678
655
709
649
753
804
461
848
565
549
640
840
342
538
245
880
522
58
128
106
288
799
211
841
481
376
487
6
767
674
270
652
81
952
200
858
454
677
602
902
966
62
511
279
41
102
414
991
650
898
79
352
45
72
999
952
457
626
302
878
255
717
523
778
36
671
170
64
933
184
904
673
743
284
930
231
788
583
374
259
787
190
979
308
660
52
579
698
481
891
268
895
250
800
945
758
803
203
913
194
94
956
763
565
225
682
37
572
422
218
705
195
232
883
538
872
248
212
861
512
563
962
642
575
34
214
845
88
32
996
324
635
729
259
7
647
643
408
317
492
496
648
161
792
487
891
516
936
580
477
17
623
948
106
994
331
596
441
96
199
757
84
68
769
217
663
303
418
386
340
33
405
961
164
3
292
454
216
14
674
720
864
781
461
438
80
673
981
917
816
408
478
508
169
604
934
970
876
238
777
928
883
851
152
839
49
666
541
772
626
162
238
296
578
107
913
667
989
502
920
891
389
953
85
820
263
816
349
27
835
921
93
748
525
640
701
518
988
461
427
334
989
8
182
474
549
270
920
682
10
934
350
44
557
874
15
749
391
291
547
43
813
713
28
436
656
62
956
628
768
273
925
795
649
646
779
872
430
491
713
361
229
64
843
15
196
589
558
193
552
937
991
76
724
966
208
342
819
215
372
226
987
366
49
99
494
243
972
45
537
348
537
491
138
821
266
882
124
925
660
504
443
562
808
240
398
510
456
869
159
842
767
440
844
763
505
922
476
418
348
496
955
907
427
727
714
754
492
708
13
815
577
253
904
858
102
475
633
451
638
366
610
208
888
768
678
411
305
545
869
44
762
491
936
761
771
813
221
177
451
472
854
988
951
256
605
265
718
665
905
825
201
176
745
216
523
621
323
389
133
432
306
211
396
19
496
711
177
377
337
448
951
367
265
855
763
636
561
3
497
448
865
814
195
107
883
552
198
854
49
999
758
645
121
45
346
198
441
902
332
387
38
398
643
803
547
303
390
382
633
486
557
516
262
107
246
703
981
75
335
988
622
349
266
486
808
55
620
203
138
507
143
327
703
30
644
944
330
134
743
645
558
457
754
375
199
37
252
554
759
947
376
864
857
41
491
712
885
103
584
430
327
369
977
500
600
960
221
661
379
545
517
183
483
947
364
230
791
994
824
458
613
499
543
833
514
323
989
283
487
541
800
685
624
453
472
983
131
968
934
929
480
354
273
83
859
636
455
850
735
60
523
4
993
830
534
540
936
149
324
901
321
546
899
347
82
220
856
422
426
744
110
709
77
347
834
27
697
488
414
139
947
308
759
579
619
695
967
690
299
744
779
624
55
154
290
823
77
192
297
436
522
20
548
35
772
178
663
43
512
954
953
149
951
707
422
668
629
749
991
327
715
883
883
160
444
280
401
667
23
38
898
678
194
554
792
988
884
982
224
165
601
789
26
575
364
118
794
762
649
142
146
245
731
671
53
88
634
960
951
946
398
309
392
74
951
994
478
998
486
99
382
266
38
538
218
312
537
883
47
189
113
36
374
843
208
354
430
154
671
250
578
475
687
63
934
229
500
908
23
861
715
127
982
154
846
630
456
931
62
219
54
73
140
875
74
117
79
68
791
708
24
563
872
246
534
529
43
347
960
376
928
51
78
785
127
808
348
946
678
208
184
844
382
582
91
508
84
24
595
324
552
188
783
422
270
331
491
184
606
391
172
240
353
831
905
384
371
131
221
842
824
460
241
316
887
110
667
800
607
0
889
426
930
260
748
953
614
455
836
67
520
164
861
878
574
825
512
944
402
252
119
80
476
364
572
900
376
234
336
448
393
85
773
43
944
381
179
844
998
238
768
283
705
119
176
334
234
92
907
56
527
270
165
18
319
599
835
223
135
615
666
833
695
208
148
66
893
484
461
663
448
742
148
109
795
84
105
233
564
705
811
732
326
331
525
470
300
846
324
819
357
874
930
909
673
763
771
768
228
516
375
487
148
283
203
802
968
52
523
328
315
749
378
269
936
787
325
635
268
453
36
321
268
8
899
608
317
513
849
937
647
560
968
387
315
297
25
344
192
187
501
153
489
197
724
43
717
95
293
81
75
840
651
930
220
31
565
930
392
987
183
595
710
664
429
933
644
231
745
403
90
747
943
646
42
613
118
447
521
117
117
106
321
474
878
554
201
970
967
370
722
277
280
346
727
752
602
457
688
106
668
55
499
785
576
674
905
507
2
713
895
237
398
692
907
130
665
960
438
544
756
467
133
788
611
890
71
470
496
740
601
641
618
231
989
282
434
84
224
99
866
867
938
966
714
450
667
938
485
93
420
546
189
266
30
926
702
81
821
933
790
287
657
734
61
624
464
883
118
599
327
157
971
822
319
916
437
279
65
534
380
699
999
693
730
484
680
382
255
335
664
930
420
600
42
800
273
446
310
886
162
999
628
782
433
759
81
419
695
485
695
610
503
1
572
696
223
748
367
761
653
428
538
48
9
619
511
238
887
554
455
603
943
840
825
108
633
15
318
238
752
822
24
275
87
488
678
37
361
969
15
740
751
522
820
193
535
765
825
383
912
640
576
556
851
215
379
14
265
719
460
834
880
54
452
84
306
462
378
332
762
264
625
728
44
960
834
800
794
999
498
470
830
628
19
455
167
812
379
184
560
613
227
523
768
14
668
151
455
358
600
16
889
685
359
778
256
968
4
295
180
886
839
719
58
585
304
328
931
492
513
773
434
721
275
186
915
74
362
603
589
809
313
651
674
551
113
76
729
313
989
827
56
71
866
963
906
383
697
842
5
884
598
715
72
389
235
272
810
603
618
385
53
301
624
173
483
820
437
70
490
856
398
495
713
611
181
727
355
473
447
983
831
299
315
246
483
995
473
259
270
624
671
612
649
235
482
50
948
503
7
965
827
54
868
796
997
975
262
318
350
791
457
881
577
577
410
444
504
489
228
375
1
294
952
299
88
739
302
275
678
653
96
650
110
63
70
926
28
906
438
687
912
710
863
281
577
314
629
426
453
239
621
194
346
316
256
400
111
110
435
750
403
832
513
42
949
228
794
863
691
405
839
135
352
698
121
850
566
824
946
714
743
234
660
648
499
159
611
876
443
590
826
587
537
711
882
940
925
138
390
989
879
706
88
957
355
377
232
96
797
89
514
392
730
444
782
469
407
175
28
976
226
259
721
839
440
157
870
222
214
774
391
588
893
182
559
157
931
832
330
755
228
591
776
471
976
551
890
862
639
875
359
484
734
683
427
453
225
43
522
595
276
190
394
29
583
172
336
78
619
775
164
837
689
53
414
900
637
126
16
438
529
825
874
661
232
986
749
923
703
576
770
25
595
954
734
374
893
532
356
722
801
964
410
633
638
386
141
516
580
101
66
154
548
50
279
912
607
726
354
329
175
810
307
114
727
649
441
283
63
343
659
518
511
585
643
57
818
167
43
481
616
545
909
89
807
315
723
148
484
957
188
498
570
829
855
522
239
146
963
118
546
785
575
238
602
789
337
167
463
111
976
752
221
868
888
220
789
42
6
741
163
980
458
533
563
258
125
589
198
286
69
337
286
696
287
6
632
570
597
214
499
726
408
743
356
165
863
217
366
157
46
878
814
726
672
890
331
876
74
360
896
760
845
833
869
122
238
38
547
862
911
389
370
559
157
863
1
520
834
15
262
894
457
662
387
446
48
518
879
593
841
97
858
578
960
11
847
834
225
463
935
309
592
731
37
513
752
190
463
856
896
81
489
895
549
600
413
879
838
185
192
81
347
380
419
918
687
818
620
845
503
755
515
567
135
788
972
29
850
91
437
343
241
733
895
63
333
616
995
83
145
859
880
985
73
544
687
632
192
607
102
555
629
995
633
287
477
305
43
511
239
631
991
596
700
775
359
903
725
212
608
712
766
855
775
551
687
84
938
23
37
400
295
327
360
866
699
578
683
558
740
593
507
159
681
390
544
495
429
113
357
781
26
648
922
208
236
165
929
931
285
890
897
150
930
744
145
44
308
969
989
926
947
193
816
533
845
773
161
886
163
28
399
801
128
744
914
230
958
253
428
166
60
788
155
442
72
366
681
164
150
979
134
879
108
548
881
196
479
913
83
950
377
624
822
971
169
856
321
349
814
730
334
883
122
523
961
233
152
722
138
599
15
330
450
140
680
102
958
709
114
157
513
118
851
879
879
160
136
588
168
105
389
663
88
986
532
184
847
748
482
880
761
857
396
424
26
25
517
13
215
903
24
545
341
517
712
321
462
870
752
390
82
703
478
586
913
953
706
101
119
670
553
816
866
557
620
646
138
916
953
572
411
280
248
760
42
724
508
313
701
183
666
960
347
216
675
847
954
934
168
892
161
603
641
300
604
398
872
494
398
384
327
565
798
182
140
227
692
742
655
301
951
507
525
551
849
574
998
704
378
478
897
874
51
520
168
172
682
78
692
735
578
641
405
53
305
778
511
749
1
678
538
201
654
882
265
251
730
429
98
386
372
571
11
193
545
121
818
581
293
287
645
553
795
996
319
12
244
872
11
413
899
67
827
388
860
463
810
955
61
849
22
587
56
304
797
430
550
231
84
647
439
494
952
884
990
950
152
381
770
992
999
257
275
708
856
397
879
143
561
466
859
452
38
866
488
637
347
96
607
302
491
496
124
577
742
219
109
191
658
419
239
920
648
547
198
51
485
860
860
58
9
914
40
372
3
738
94
834
194
52
498
835
766
617
333
954
73
93
465
510
126
148
825
291
496
18
414
64
378
206
327
496
698
845
225
704
501
317
398
588
17
610
724
733
52
589
476
72
469
279
347
51
457
913
499
107
300
506
246
235
551
758
90
528
905
482
16
837
771
703
76
299
90
643
626
913
85
550
515
409
494
461
396
274
700
100
798
116
92
846
645
700
266
971
260
260
117
118
438
894
829
391
574
804
699
888
263
368
940
538
280
173
890
101
980
850
350
94
446
190
44
476
655
537
10
621
718
733
29
468
786
971
432
47
41
842
926
37
285
725
821
712
159
971
815
48
805
648
968
874
403
307
135
970
879
904
983
540
506
94
768
992
886
572
858
547
300
348
584
27
243
268
41
595
850
682
174
377
323
449
478
540
413
173
851
984
971
324
605
175
255
316
595
42
181
412
380
983
27
954
467
607
313
753
729
276
798
391
539
220
612
49
628
859
504
846
689
985
489
333
859
506
351
302
338
304
441
389
373
504
636
212
836
861
656
912
927
770
964
168
572
561
91
194
972
970
202
628
157
762
796
333
915
72
775
223
768
246
500
993
930
186
582
350
174
200
422
992
991
510
788
422
838
50
822
966
220
972
336
471
511
541
416
398
922
575
897
501
901
386
881
834
535
261
869
773
796
16
259
573
144
902
450
642
469
763
200
740
65
265
204
496
553
500
113
89
43
278
114
509
941
692
638
489
68
646
321
452
255
344
577
95
203
617
602
79
537
287
118
486
265
458
433
715
985
610
959
826
924
672
237
437
34
817
730
163
694
598
137
48
911
910
159
766
689
317
615
473
507
600
662
963
244
705
24
503
211
808
610
64
36
281
466
759
760
781
67
74
431
13
988
950
935
355
825
443
405
515
122
446
850
1
556
505
270
39
880
663
36
687
557
751
675
833
762
274
39
726
785
650
964
164
400
751
989
170
163
422
783
833
503
861
615
698
106
559
978
287
620
348
97
149
972
593
663
360
722
135
758
426
820
591
566
934
130
297
149
283
169
418
399
333
247
513
94
821
56
68
224
102
763
9
205
636
175
126
124
242
183
336
806
678
397
975
941
7
611
292
285
648
690
398
907
147
245
976
452
517
931
499
555
870
936
439
561
412
643
479
481
429
196
233
600
819
851
461
935
866
443
843
38
971
174
61
901
2
915
941
895
39
781
403
496
729
6
177
821
619
206
352
959
892
558
825
235
746
193
108
531
513
122
846
851
646
201
341
795
382
856
222
413
552
387
520
967
238
513
483
398
41
995
381
530
696
129
350
622
142
853
239
442
312
597
258
751
380
158
40
675
829
598
217
725
501
98
62
257
312
782
898
280
838
484
750
549
319
270
116
490
471
638
760
927
351
498
739
726
596
981
472
540
391
140
779
670
120
26
564
881
674
844
843
741
778
237
555
945
98
292
948
891
760
639
117
780
194
620
378
419
861
647
905
152
693
468
60
992
220
263
657
877
496
705
942
665
611
965
461
206
307
344
109
149
576
273
766
263
461
862
396
540
93
40
670
547
965
127
396
48
64
64
156
618
705
556
842
208
334
725
250
595
632
82
949
570
923
325
3
364
531
507
301
35
437
691
947
614
684
868
945
838
71
328
365
272
388
328
906
407
947
492
473
699
497
132
261
424
879
107
286
6
640
486
441
989
22
812
461
488
685
227
508
882
554
544
197
430
591
87
643
326
911
833
873
181
342
743
511
524
934
833
641
101
537
895
309
517
487
940
410
612
369
561
206
896
903
476
519
850
600
900
417
756
770
930
509
719
944
938
157
754
182
99
755
547
196
370
509
298
908
314
440
345
496
679
375
842
681
659
390
550
949
396
692
55
669
156
436
800
397
894
890
17
593
395
975
443
160
441
317
801
76
903
356
967
987
310
603
433
7
829
442
251
759
209
469
487
722
996
104
173
926
559
418
632
60
466
720
909
84
744
429
163
186
472
947
366
528
794
0
503
707
566
30
622
241
544
677
742
978
208
689
563
193
500
786
703
931
235
371
949
345
813
900
183
25
772
458
429
588
807
160
145
185
435
375
724
859
228
707
851
971
575
920
744
315
440
227
483
214
752
789
807
79
980
922
662
896
950
335
229
872
943
521
523
952
443
179
298
519
170
910
669
512
582
80
700
633
796
670
690
219
780
468
239
166
108
136
861
383
735
164
216
55
428
516
305
569
897
775
864
683
132
600
69
375
781
318
99
215
487
326
829
934
183
390
212
323
216
630
481
19
729
47
797
92
926
751
598
840
958
254
130
664
61
534
975
700
514
759
510
394
256
875
58
838
544
404
848
562
473
309
15
4
68
228
373
46
516
444
241
655
81
853
326
655
611
449
76
33
57
190
703
406
966
871
964
993
940
140
566
118
48
368
21
242
204
93
686
817
753
433
117
519
654
768
578
92
478
744
109
93
33
517
3
236
543
902
538
233
430
895
94
13
426
465
504
518
657
987
126
165
689
967
377
422
558
256
996
880
938
126
565
797
201
804
606
810
825
688
899
492
218
914
798
384
597
562
937
591
654
579
320
939
676
541
83
919
656
668
12
275
823
650
129
366
964
993
48
166
488
153
199
603
125
816
381
767
957
185
548
33
710
883
752
615
976
351
92
554
520
103
750
711
841
220
558
842
138
175
559
974
802
573
816
795
477
1
778
866
608
283
824
505
758
404
763
96
7
778
617
406
409
405
226
123
44
603
814
760
639
443
5
194
440
316
464
10
148
100
894
401
695
599
832
511
557
488
917
220
168
852
971
336
583
101
714
750
813
658
588
286
381
487
152
300
341
504
365
258
727
574
223
475
532
153
742
226
886
368
103
846
607
729
294
388
400
716
361
42
275
926
246
251
252
109
640
626
598
771
182
937
59
391
595
228
440
908
131
782
658
220
9
702
521
15
876
447
639
505
143
406
350
517
2
674
509
364
603
564
775
153
847
183
152
813
994
589
395
349
798
900
129
854
419
716
56
221
574
401
923
64
453
991
261
294
51
771
141
554
720
635
967
958
732
152
489
454
710
772
946
725
719
587
196
47
678
346
774
105
761
596
308
498
273
117
564
234
678
261
567
608
948
993
554
910
337
142
74
520
765
243
214
637
239
202
955
680
29
659
809
353
590
57
845
556
548
430
817
441
129
892
608
690
684
409
284
209
907
509
762
892
976
818
463
590
526
667
281
888
540
654
814
604
716
669
160
974
557
779
868
421
566
450
540
960
895
94
659
165
939
536
605
354
150
290
302
119
516
718
586
789
639
447
837
490
370
66
545
566
526
121
141
641
845
254
453
814
422
549
499
802
239
188
876
183
995
155
139
31
12
475
494
723
272
788
528
277
433
435
590
745
737
602
128
6
940
265
993
911
623
397
169
474
781
598
572
511
563
225
509
213
254
592
282
403
413
625
100
594
264
501
343
662
575
900
399
399
15
270
798
883
64
364
730
852
983
214
581
764
846
542
249
22
880
420
986
265
559
519
31
295
119
487
658
533
952
858
481
34
496
715
487
394
523
199
445
796
832
337
728
918
603
620
855
899
817
375
705
807
288
65
245
168
276
534
407
85
901
482
249
817
174
356
676
785
937
85
704
363
835
308
317
744
474
728
459
632
377
581
277
59
139
244
777
871
474
17
898
367
317
740
560
953
769
912
784
620
390
327
6
328
60
455
949
974
212
799
274
925
564
640
909
309
46
89
723
563
506
41
841
215
956
280
638
583
485
474
789
623
261
775
228
52
310
738
958
529
817
320
479
272
617
652
38
726
601
938
217
661
709
996
922
719
714
313
611
912
196
803
438
317
929
769
498
21
200
919
538
176
527
184
280
319
924
469
461
914
141
324
165
826
564
929
680
360
557
640
598
559
912
734
386
792
391
998
51
468
465
17
606
582
871
487
23
105
369
733
625
596
165
915
773
197
890
351
403
673
13
542
370
984
123
9
462
21
234
873
534
772
363
53
425
707
469
562
981
750
483
248
366
810
106
815
14
712
394
4
797
223
923
934
900
992
675
602
349
15
180
55
241
455
826
380
273
1
519
706
16
88
74
439
728
385
494
740
258
655
496
690
530
487
880
231
525
662
430
100
906
739
695
59
286
46
959
207
143
146
113
947
608
202
431
678
910
118
119
196
238
79
763
615
832
15
980
728
14
279
616
951
32
213
219
903
845
357
40
469
344
791
122
419
595
135
421
87
611
761
427
270
255
881
930
391
116
694
730
935
616
965
700
579
628
508
503
790
13
36
348
661
269
648
101
510
843
204
137
241
780
862
799
742
495
138
705
784
846
435
590
525
879
207
278
909
561
520
336
86
358
618
214
310
906
750
474
427
256
354
149
789
650
545
39
808
183
3
554
105
899
42
483
863
143
311
178
505
78
375
796
540
358
758
645
870
67
235
950
475
502
859
163
932
860
307
238
371
742
753
924
155
867
676
633
813
174
484
392
703
820
51
875
272
255
188
890
449
950
214
770
38
772
304
684
133
622
921
654
636
615
639
522
365
935
188
106
814
26
935
95
963
273
799
92
862
406
658
216
115
828
164
396
585
497
354
953
191
276
82
707
759
280
769
964
406
775
855
194
199
508
410
689
68
711
751
28
568
674
546
43
952
210
833
717
996
45
14
971
856
128
333
429
227
437
833
221
87
308
966
676
939
472
111
47
176
963
68
207
836
34
762
370
918
901
18
93
682
0
292
219
930
751
737
5
165
270
667
455
182
890
566
326
180
885
778
722
294
798
90
878
813
171
492
690
457
527
713
880
740
962
853
885
50
12
862
179
124
407
10
200
808
646
806
974
47
718
552
682
296
937
981
607
965
652
574
71
95
516
741
757
759
718
615
479
212
671
709
830
435
901
678
916
522
975
593
863
397
270
547
27
317
885
718
835
42
52
505
753
750
837
653
219
127
701
708
920
645
280
949
733
633
834
750
283
170
185
707
874
996
212
448
568
715
732
600
399
16
350
902
495
571
394
948
755
217
769
581
365
295
362
210
390
123
396
197
539
268
52
789
822
98
543
573
859
944
958
970
427
347
879
994
558
894
87
692
406
627
678
360
224
379
365
63
137
484
238
549
326
871
914
751
985
352
570
447
387
722
817
87
483
115
397
222
905
499
892
848
975
343
696
681
222
232
293
584
905
863
558
888
168
121
197
904
889
513
116
512
447
302
504
745
234
500
222
493
649
219
435
299
247
703
687
169
294
635
407
826
268
21
231
729
693
398
163
608
915
642
370
333
301
873
233
829
175
321
103
244
777
469
283
785
125
544
701
405
658
289
343
192
838
388
682
502
926
936
259
80
581
464
836
219
492
344
465
577
421
939
33
575
420
606
970
534
570
260
158
857
427
551
126
914
855
664
829
154
492
175
546
572
733
458
539
507
508
662
240
450
764
579
126
218
301
300
266
408
534
935
628
896
673
876
230
704
837
467
107
501
14
554
964
161
727
394
432
173
587
582
234
206
707
798
255
14
345
233
431
452
280
714
20
846
205
790
139
65
702
409
807
272
298
683
35
982
545
38
397
848
865
858
353
313
658
635
403
778
471
639
334
583
875
896
879
331
681
656
418
101
866
905
910
930
85
381
636
824
553
322
733
657
351
222
232
250
922
574
21
783
145
686
218
72
751
850
920
100
505
243
75
871
344
234
893
197
422
833
981
15
624
536
7
401
977
381
171
797
748
773
829
8
826
245
290
970
732
70
627
534
242
403
603
765
292
30
796
899
890
202
643
549
759
975
968
791
959
751
156
670
889
303
82
347
31
101
391
321
961
636
431
387
246
720
730
29
680
440
418
405
367
894
320
302
382
335
353
78
586
795
434
247
538
299
769
635
695
400
114
328
402
342
141
143
3
217
133
689
906
125
735
221
133
140
78
336
20
496
627
787
125
361
740
528
690
755
358
238
443
641
241
648
248
84
270
283
533
963
478
826
518
546
755
143
280
366
677
506
346
344
871
665
972
231
389
293
82
703
198
597
271
621
180
795
921
293
382
775
196
636
270
831
64
829
244
25
628
851
47
751
106
971
774
271
214
715
781
718
334
345
11
874
692
951
191
473
632
215
458
979
125
491
605
677
220
951
890
436
131
439
465
961
307
315
462
574
203
603
934
166
616
216
123
459
514
689
513
940
820
192
325
651
276
103
84
605
582
397
630
237
465
5
65
408
449
750
266
48
820
625
884
827
524
258
220
581
639
338
675
210
904
667
131
952
17
604
120
764
408
82
232
471
557
492
756
367
824
936
28
102
706
672
572
840
822
713
819
637
454
248
813
515
392
757
760
370
475
413
853
523
33
206
268
685
750
971
272
858
411
390
894
917
835
984
549
641
362
829
498
228
141
95
373
137
89
884
388
970
36
199
357
465
488
943
518
664
483
354
198
546
661
841
973
838
998
207
390
87
744
119
718
331
802
649
213
297
578
192
364
988
106
921
31
519
268
413
896
863
103
105
187
504
328
601
411
214
710
737
16
761
623
616
811
211
315
876
653
559
270
687
447
244
29
242
124
199
978
520
195
898
527
581
858
249
338
54
337
670
701
120
753
770
760
10
105
351
615
608
784
954
580
105
327
221
28
515
868
800
59
151
214
460
223
376
977
380
945
844
893
535
409
339
613
169
784
0
439
81
611
242
394
391
381
204
364
740
162
931
199
864
801
824
106
989
526
271
603
877
322
578
946
410
129
828
430
683
417
327
405
467
256
834
143
366
40
919
238
615
500
842
588
804
751
296
36
638
802
297
899
355
445
793
567
828
551
36
706
809
887
683
598
370
786
701
934
154
91
818
325
84
645
495
673
300
159
502
999
554
175
35
431
652
225
434
945
752
260
244
107
835
188
157
371
813
935
472
71
819
187
994
827
122
529
393
887
860
311
962
820
210
254
728
46
340
830
252
554
932
483
937
387
551
846
679
645
983
763
670
966
410
973
855
942
34
874
307
801
191
253
29
283
745
624
753
519
600
950
387
369
359
434
452
33
696
398
409
372
318
33
501
927
683
826
653
571
351
244
207
251
303
970
648
887
831
662
123
988
85
926
993
652
544
84
369
729
100
540
557
206
498
156
971
509
790
794
872
238
819
618
914
282
451
315
666
994
857
148
708
285
187
157
768
93
656
918
241
410
362
356
971
318
542
512
192
202
560
160
537
965
122
44
718
579
465
865
116
623
544
649
680
445
80
385
225
895
38
561
133
71
228
354
669
425
457
65
683
523
691
571
753
423
101
983
78
759
399
114
860
376
990
854
224
774
489
618
86
796
235
890
545
244
799
857
901
632
184
469
259
522
656
266
339
76
930
934
291
973
364
165
401
830
932
158
715
669
915
245
881
720
688
550
685
475
62
533
477
321
543
113
426
161
292
451
828
742
329
626
984
114
156
636
969
748
678
417
105
957
544
574
668
400
538
6
86
275
60
720
993
787
862
669
905
396
147
995
259
490
977
615
171
962
770
117
838
66
705
712
409
243
352
322
372
243
528
502
967
905
660
451
251
791
863
737
521
528
791
692
151
427
507
460
643
902
754
574
527
829
309
109
893
347
866
202
364
924
550
855
908
736
17
266
744
117
254
109
909
232
6
710
706
645
685
286
203
313
800
238
920
70
948
297
573
773
528
140
802
47
475
471
274
303
555
900
659
345
116
117
281
163
362
371
69
71
878
958
433
645
768
898
603
539
678
704
920
572
696
263
545
22
121
994
502
55
524
236
116
843
684
36
935
405
911
976
564
545
283
159
940
623
117
712
495
438
117
843
642
208
663
491
707
583
747
317
310
315
84
95
144
460
360
861
348
885
454
443
233
427
69
273
747
846
660
979
571
556
631
655
476
120
990
753
963
629
657
599
621
484
516
927
516
219
35
733
221
329
125
249
936
861
141
486
424
130
459
333
403
107
844
748
308
425
342
764
868
486
721
885
234
916
630
832
996
173
500
609
711
786
609
868
350
323
309
356
632
361
572
599
828
690
387
985
250
346
703
139
966
233
696
353
952
258
995
221
786
152
449
738
631
286
779
252
995
204
134
129
709
481
964
763
335
231
230
892
116
143
570
753
860
453
637
643
755
899
235
493
759
13
789
356
899
230
537
275
824
862
513
554
659
691
597
674
842
222
946
105
922
425
594
1
389
463
545
503
925
880
319
413
664
4
852
962
93
295
432
324
547
613
432
567
53
793
616
991
389
600
980
933
34
469
968
345
698
739
516
12
647
383
262
231
400
712
582
883
984
707
71
267
780
929
890
276
334
981
668
980
427
401
516
234
316
839
322
173
593
733
933
3
457
469
458
13
263
535
101
88
277
928
876
535
718
624
819
807
194
642
820
629
658
94
648
371
612
647
940
886
376
883
336
752
851
834
96
718
608
620
748
960
61
593
607
936
415
907
737
432
181
201
988
184
293
44
486
685
550
363
662
818
875
213
284
322
626
356
65
766
323
742
295
782
750
674
576
860
580
610
593
841
647
302
370
296
916
892
837
653
734
921
18
196
164
889
275
764
933
319
666
223
994
12
704
152
342
815
626
363
24
957
441
346
104
94
512
424
369
951
490
688
214
963
503
552
823
824
735
651
868
370
641
451
612
961
782
930
245
981
817
628
475
546
963
232
576
313
246
452
187
269
462
231
629
390
702
142
363
391
753
797
221
909
627
143
298
536
593
779
922
245
284
767
927
854
834
69
525
246
881
755
304
316
801
70
945
189
360
17
385
857
716
727
137
310
989
681
504
381
251
67
504
351
37
177
809
338
966
958
837
681
985
46
911
169
886
181
60
815
779
314
446
107
675
772
509
741
35
415
707
190
298
787
547
561
167
442
690
520
490
667
853
9
167
612
512
437
744
799
120
811
551
743
696
423
951
470
59
561
58
799
728
216
480
531
536
784
937
703
7
909
14
692
2
510
177
813
846
235
436
171
261
898
137
595
971
943
620
518
31
261
16
734
384
890
360
3
867
548
215
885
404
240
330
442
827
771
856
675
28
850
927
443
284
60
926
702
975
858
122
258
248
210
58
699
326
480
836
237
509
932
615
264
284
501
646
841
549
67
960
852
664
102
909
402
64
743
901
15
463
609
59
586
264
416
138
937
947
112
195
599
99
270
931
442
156
367
275
891
161
696
917
882
672
942
976
468
252
82
149
785
369
2
240
64
523
462
339
713
415
932
183
693
152
388
41
818
864
273
179
340
2
369
106
236
429
466
47
785
442
941
634
311
489
379
410
36
499
785
440
485
549
163
578
183
882
465
921
949
116
467
452
91
335
666
12
374
388
47
845
506
251
569
698
526
326
612
41
771
819
552
161
611
428
745
822
125
68
341
862
805
477
616
321
906
849
178
558
553
75
250
528
482
283
864
478
611
366
9
260
192
594
741
174
463
754
213
907
647
99
779
130
497
345
354
638
298
248
110
940
862
943
334
886
175
936
673
684
74
443
918
564
318
891
588
445
81
184
66
390
766
977
338
663
868
103
152
109
177
689
739
407
878
455
922
942
38
81
952
724
977
715
476
918
137
309
845
385
370
154
802
327
978
863
67
828
596
802
198
605
35
940
159
807
567
709
20
230
559
148
860
443
493
809
501
646
887
645
752
439
518
91
693
868
491
35
748
858
835
966
811
254
703
461
816
8
966
652
147
175
474
509
847
213
854
883
64
960
433
399
730
641
206
946
369
472
827
118
996
310
815
381
463
731
163
430
108
607
431
493
759
993
337
372
602
551
673
982
826
771
457
398
993
832
595
813
729
689
688
982
484
855
664
927
502
682
833
997
305
887
409
400
46
813
33
926
483
992
714
40
684
472
644
572
958
477
229
210
512
898
116
449
87
966
479
585
915
375
874
157
81
441
649
458
749
429
613
718
740
890
681
163
905
701
677
15
510
979
12
363
751
812
879
435
860
196
725
747
540
112
253
170
588
34
703
23
231
342
517
632
411
4
93
458
149
650
485
948
54
399
80
344
160
722
916
1
363
215
811
322
834
730
831
646
517
551
279
22
304
783
724
255
932
407
737
14
779
392
152
672
913
475
23
35
334
875
92
764
634
511
274
511
874
245
226
134
92
767
973
960
854
139
329
696
226
106
396
142
352
80
674
411
657
217
580
892
406
495
400
467
220
484
741
730
692
264
681
550
508
714
662
75
85
129
736
85
237
572
1
225
416
472
29
920
703
195
107
401
362
426
919
294
739
541
825
110
282
130
75
824
497
455
265
547
29
711
809
882
771
775
445
127
190
986
300
619
535
393
975
658
383
304
318
817
799
426
760
41
195
43
928
287
164
784
173
970
977
244
397
4
741
378
412
81
878
403
524
727
578
591
739
654
809
136
672
533
771
871
810
285
703
380
230
926
312
831
906
138
809
709
150
532
977
894
264
940
905
597
847
77
399
371
731
407
982
347
816
637
276
253
81
186
981
75
427
676
616
735
510
731
814
735
182
230
631
974
852
847
780
121
336
6
167
452
774
961
993
414
321
319
473
277
72
947
488
943
596
882
147
843
198
871
978
508
96
469
31
236
824
731
843
242
18
911
956
954
168
848
457
510
395
407
398
695
157
825
392
75
331
92
554
874
836
549
135
931
973
870
427
151
128
434
152
378
742
56
330
739
958
456
498
674
858
448
64
766
611
369
556
965
593
601
766
270
753
983
147
642
153
424
935
945
511
470
533
730
584
951
851
789
382
678
252
506
918
47
794
484
782
796
318
842
692
779
353
902
842
683
645
174
833
838
928
99
340
913
468
579
985
259
362
495
910
994
254
527
861
758
701
422
526
338
193
173
537
743
270
489
977
355
717
369
609
380
638
849
792
814
86
886
97
158
818
241
319
318
29
308
327
679
787
815
470
150
832
501
695
825
640
252
586
581
884
449
385
818
179
534
603
435
635
112
768
355
36
641
683
986
37
516
619
967
131
267
86
690
504
446
569
358
573
3
211
758
290
861
204
583
613
129
438
700
998
326
23
705
164
502
743
726
611
813
269
846
803
275
90
316
124
795
802
578
225
787
540
441
839
399
552
823
723
12
943
769
221
978
64
785
944
506
632
961
686
955
879
145
148
188
111
668
899
58
640
633
798
920
509
681
295
355
377
60
507
40
377
416
118
59
6
822
960
668
420
186
683
342
46
64
817
134
39
157
1
349
137
861
406
363
355
815
5
753
646
337
778
597
721
429
587
314
730
375
943
951
71
892
340
430
369
254
832
899
704
507
246
486
429
810
764
446
169
448
950
290
883
318
818
504
462
551
133
104
482
303
841
407
412
611
825
255
348
955
660
464
867
51
34
556
309
233
399
80
59
633
540
343
277
927
117
876
991
952
451
390
211
219
733
917
560
334
551
568
550
341
968
321
291
359
708
309
42
631
850
982
4
23
312
245
790
15
354
267
643
401
530
173
961
255
331
226
777
754
844
242
918
163
536
933
921
856
399
104
465
972
216
718
496
791
451
115
594
615
755
191
859
39
460
175
32
180
44
926
352
758
977
233
360
482
913
325
787
513
881
212
529
659
488
34
366
663
208
434
756
854
952
173
894
360
887
38
337
293
351
309
684
431
124
45
106
704
755
76
576
108
75
331
586
83
783
316
241
826
36
328
796
854
818
722
48
74
997
14
842
155
729
495
458
851
134
965
734
390
433
529
416
632
179
22
647
470
482
976
829
514
31
770
753
408
849
778
72
874
501
572
99
569
748
935
952
429
973
268
857
262
521
59
796
308
508
925
20
167
812
559
297
850
102
107
925
22
560
555
577
249
857
771
979
902
987
978
421
114
75
517
221
836
988
739
559
259
81
949
901
801
244
336
355
729
551
538
185
766
972
292
652
26
994
287
808
239
76
281
477
258
382
251
429
63
449
947
225
711
813
230
226
850
118
238
12
992
92
677
395
6
197
134
357
214
239
770
254
884
711
704
105
176
85
138
468
269
541
646
22
959
211
476
514
810
435
755
958
690
763
55
834
679
306
736
533
998
260
651
364
775
764
446
888
124
950
71
297
947
501
882
681
710
564
523
655
929
943
347
213
828
307
571
836
103
569
576
599
889
939
678
307
277
998
663
847
90
980
221
315
875
515
460
749
215
585
674
515
878
709
383
87
766
749
469
147
377
825
773
985
169
793
126
504
384
425
69
90
385
899
549
184
590
774
943
784
264
487
799
447
240
763
493
343
319
400
898
917
294
649
451
445
368
604
915
730
534
735
545
278
915
886
213
514
409
978
312
213
616
695
167
832
151
307
947
744
282
570
708
538
701
573
240
260
133
260
451
147
183
805
782
397
986
758
998
43
953
393
763
731
399
811
119
880
335
543
921
709
620
507
103
488
751
749
153
948
692
579
919
714
724
726
731
139
872
329
803
667
907
751
744
444
991
538
36
252
720
808
144
88
720
190
218
449
654
618
424
97
530
266
387
993
476
644
159
632
805
464
146
249
952
873
428
412
869
494
776
199
306
459
240
756
948
928
206
84
118
325
740
218
72
305
958
691
793
953
976
589
121
905
832
227
846
983
250
347
565
263
97
86
166
364
779
984
533
465
534
944
258
877
642
459
807
858
367
432
219
574
744
631
361
830
214
155
750
371
349
831
147
563
703
543
228
526
692
506
230
458
763
285
437
762
272
690
63
126
396
839
356
786
36
649
101
358
940
675
863
908
362
214
945
108
419
178
607
298
182
373
65
983
452
191
272
263
289
357
315
642
325
889
237
112
237
199
300
639
713
491
174
398
15
131
627
689
472
523
378
359
97
845
549
453
141
27
323
43
319
874
973
361
177
733
672
648
155
608
325
178
584
472
38
307
765
641
162
607
319
463
35
581
558
771
652
797
961
357
862
408
729
791
783
188
803
978
22
452
157
434
269
66
402
229
740
745
239
24
663
856
91
68
637
347
932
336
650
714
456
729
524
646
710
46
204
626
976
482
11
463
643
292
475
381
665
562
136
51
793
856
772
855
700
385
251
617
551
731
631
898
177
422
440
379
850
632
372
302
459
747
269
589
713
640
200
136
486
184
595
381
706
144
637
931
558
928
211
521
591
204
234
176
121
372
296
435
457
580
228
712
686
481
1
819
419
886
338
15
833
820
303
560
42
666
831
57
262
326
718
289
22
558
102
872
214
826
125
769
832
518
878
735
540
12
892
853
114
270
886
347
763
295
830
73
704
750
654
613
358
610
550
473
961
326
209
303
36
575
665
423
967
409
541
625
126
827
186
416
156
155
849
137
363
521
798
512
4
29
42
29
673
706
544
258
494
431
516
167
740
951
56
559
536
355
866
75
161
136
437
828
853
536
27
741
649
518
906
33
0
743
499
840
846
614
73
505
781
521
585
966
56
733
417
655
349
930
359
71
513
730
115
210
907
614
206
644
581
896
650
31
615
812
149
332
650
3
345
212
634
885
3
869
176
699
991
785
964
707
121
232
644
441
749
389
767
243
962
450
873
279
292
153
416
104
837
584
530
522
663
196
220
886
837
55
165
413
412
995
50
261
114
218
192
817
913
63
117
1
227
526
937
547
730
140
12
776
80
762
888
777
684
191
62
45
946
45
293
523
477
769
993
36
961
39
524
201
148
40
38
771
781
179
692
571
781
725
783
448
437
125
409
917
454
662
971
518
264
306
884
860
48
67
894
799
98
253
758
312
298
752
436
501
782
924
857
894
164
720
778
271
564
832
253
46
633
263
201
160
657
766
724
762
697
179
103
874
64
359
425
807
541
764
255
731
376
429
238
337
388
380
900
145
355
626
914
138
956
29
21
543
482
121
673
302
672
756
0
21
200
642
670
746
581
152
515
951
966
878
127
212
562
480
307
366
974
515
592
889
370
196
462
706
959
552
163
314
945
157
475
374
884
225
691
405
26
70
792
925
864
433
958
678
344
430
385
631
475
310
704
755
981
774
563
339
723
926
11
718
589
93
658
408
634
428
859
810
580
755
132
69
464
459
107
774
5
982
583
504
656
419
866
636
193
632
841
721
65
748
202
459
475
807
623
739
860
792
598
512
687
518
48
369
325
462
410
915
249
200
213
515
90
981
838
54
417
604
59
339
676
762
728
508
583
64
602
948
305
620
157
106
882
376
663
15
70
410
792
172
271
559
335
194
368
618
668
545
666
153
624
829
887
605
312
652
534
870
304
807
751
637
72
790
341
864
527
797
121
59
129
780
14
327
458
249
149
991
399
153
241
796
12
867
551
79
262
923
948
71
554
293
900
639
94
930
896
413
257
983
892
696
737
158
964
472
723
726
20
317
445
445
608
324
735
534
154
652
453
850
166
631
415
939
828
648
695
733
473
899
242
24
899
866
254
855
904
582
225
178
800
514
432
557
538
766
246
782
670
137
52
446
636
50
156
495
740
899
422
997
779
400
886
888
937
141
287
695
700
345
882
511
215
928
31
765
891
639
595
992
637
259
606
817
475
601
16
782
627
823
353
162
956
836
143
697
536
969
395
293
124
930
25
492
140
13
648
476
755
85
422
379
756
960
350
849
185
146
816
684
716
477
10
360
366
547
671
438
496
362
909
732
742
655
642
76
109
518
323
171
104
83
710
222
380
481
611
258
377
764
492
571
159
378
64
119
266
460
369
632
692
543
376
173
691
900
630
611
685
488
737
652
406
606
12
38
979
273
554
173
377
690
845
322
950
756
726
470
280
314
123
720
288
948
785
572
493
336
589
622
619
741
430
625
349
874
285
235
606
390
926
225
315
7
587
807
647
862
787
221
364
876
645
26
425
240
657
842
849
431
702
171
706
909
121
434
814
568
11
389
950
189
321
559
413
544
281
180
823
75
573
342
274
840
89
590
692
964
103
870
707
371
518
736
254
700
364
832
501
435
664
872
949
422
54
873
528
636
641
175
561
34
913
471
829
14
757
114
641
220
906
442
677
202
795
298
890
715
640
236
935
721
234
465
711
0
817
866
282
987
935
916
998
386
680
370
245
240
701
470
630
157
279
98
632
209
384
566
629
966
925
893
423
740
597
561
13
667
744
454
510
607
985
939
403
97
490
339
772
459
168
566
836
431
132
921
914
694
341
463
329
617
670
702
891
566
426
112
655
687
556
337
504
981
547
783
712
22
33
721
563
723
73
428
907
615
435
42
463
133
505
20
488
470
314
941
913
961
84
424
196
719
624
878
600
708
855
512
742
279
886
236
168
515
898
534
526
362
828
866
353
251
863
470
256
942
567
975
732
966
436
756
324
538
139
100
355
726
401
72
542
930
713
358
802
362
957
490
974
368
532
601
279
663
820
859
543
730
930
578
131
426
539
141
781
127
683
7
359
356
47
621
397
553
285
768
395
945
475
236
185
565
884
408
615
998
366
268
844
816
203
181
660
427
216
474
147
26
646
804
144
682
387
334
337
230
350
760
161
748
471
211
442
983
764
468
80
118
317
261
762
882
164
155
440
576
31
734
629
952
158
729
446
622
749
945
289
96
939
29
441
456
673
456
266
169
253
659
630
612
993
483
864
812
43
427
38
283
740
147
276
45
390
572
571
453
252
424
241
362
461
929
430
218
817
59
481
768
972
582
172
905
119
929
458
311
33
649
845
85
917
241
494
851
208
442
173
909
363
931
57
957
68
921
469
703
218
711
893
898
218
692
516
635
947
912
98
324
967
643
494
231
44
752
787
653
876
120
145
895
730
437
989
867
293
722
950
55
615
825
932
727
228
801
231
513
980
185
383
145
478
344
765
310
699
372
40
552
721
786
241
122
354
338
113
144
10
417
496
887
312
441
103
703
43
441
494
975
443
523
147
281
277
389
300
539
762
419
280
299
878
217
74
322
283
855
997
98
202
474
474
761
335
676
405
782
770
110
801
801
105
493
791
425
855
434
801
577
322
555
318
250
893
40
971
645
224
882
338
434
628
944
49
215
637
346
969
814
481
792
149
460
616
386
879
261
654
831
944
3
792
558
493
719
192
826
157
963
233
423
125
233
44
727
379
168
254
185
84
651
299
600
958
685
687
173
429
223
62
200
835
790
28
525
522
641
161
517
290
415
428
876
200
602
697
469
267
52
837
665
438
76
158
728
479
586
557
132
834
585
642
167
230
75
828
308
944
64
21
12
717
428
804
267
400
674
338
320
845
353
119
910
649
667
184
306
539
323
47
337
371
678
192
351
986
495
818
154
293
735
424
479
793
912
846
248
747
874
981
640
71
113
333
658
397
859
292
70
684
703
489
371
980
354
239
721
491
471
758
891
415
630
581
416
611
547
770
98
924
70
119
243
87
852
360
311
672
659
931
516
422
879
473
210
896
672
423
422
768
970
429
109
469
402
951
667
871
81
549
772
806
159
307
379
183
618
758
67
404
279
871
168
342
476
336
353
963
404
151
933
760
339
57
515
261
285
999
681
180
943
14
283
844
549
329
428
428
166
881
679
946
109
805
115
949
27
106
948
412
256
408
583
59
803
856
776
247
932
521
299
343
661
404
408
409
196
683
43
31
366
285
733
34
669
913
621
230
663
678
779
400
768
497
809
281
421
572
899
482
464
652
280
0
476
549
488
660
57
745
325
871
703
825
249
359
530
411
50
240
328
515
854
316
865
691
633
697
450
276
610
40
656
512
127
158
968
499
659
356
518
435
524
13
107
875
875
716
626
730
716
423
610
680
161
251
761
920
996
823
122
550
777
756
678
133
843
335
628
867
272
740
32
733
907
85
991
275
273
463
286
197
980
320
409
63
516
450
872
858
244
313
757
157
460
888
845
490
765
166
942
812
967
969
976
256
795
189
237
625
960
250
61
471
698
114
856
777
360
467
849
65
750
141
391
724
910
232
641
54
738
870
190
607
997
885
180
490
769
555
536
156
975
946
865
273
330
133
719
174
400
460
263
280
656
222
742
3
667
795
844
694
154
280
920
143
873
409
686
767
301
197
610
898
362
484
731
958
571
984
608
448
699
21
160
3
770
653
841
793
630
63
876
403
100
735
881
244
182
693
375
793
415
125
205
552
906
135
73
963
686
888
107
345
304
899
921
23
253
879
993
961
664
934
783
196
719
535
807
496
38
34
263
504
666
509
978
516
827
422
505
27
903
210
207
294
632
395
611
255
6
84
455
546
806
783
159
133
841
429
135
78
424
758
366
10
286
327
954
698
108
463
784
232
454
347
610
834
781
966
4
74
587
690
642
769
680
122
532
260
407
65
424
236
793
706
218
338
581
556
599
404
922
606
623
581
359
141
231
992
864
932
344
897
576
381
3
339
94
632
915
297
823
315
816
823
721
599
662
665
587
444
988
669
408
482
702
149
331
887
754
558
444
528
580
270
824
533
841
850
497
552
236
694
479
765
13
356
1
244
829
554
685
392
225
983
773
277
819
770
304
385
77
947
669
739
259
44
245
158
845
237
158
624
60
466
917
80
348
859
496
215
192
762
197
636
772
70
184
755
720
517
950
20
702
595
125
879
982
786
290
911
763
982
641
20
848
837
966
601
520
777
672
188
136
316
821
41
102
443
368
404
937
289
767
272
167
285
586
130
910
881
445
658
723
622
440
410
743
241
713
788
313
128
723
443
682
318
357
438
870
289
77
113
330
930
580
104
793
989
289
247
490
996
719
139
874
633
295
861
191
626
579
315
282
863
865
725
649
965
485
243
839
817
963
918
36
164
632
412
582
732
429
845
235
500
520
525
0
301
165
64
766
685
841
916
455
839
732
102
96
676
749
706
878
44
404
944
164
88
525
440
552
789
445
111
345
832
929
580
784
40
341
704
311
330
531
611
649
985
431
556
955
339
819
406
175
91
49
592
639
418
50
959
840
131
588
486
541
244
190
493
371
202
483
815
260
43
2
552
727
407
145
44
104
452
220
763
613
247
587
104
400
946
705
87
199
645
729
440
137
880
626
696
973
249
347
866
308
416
528
722
679
639
627
233
771
7
458
214
121
187
668
164
217
157
390
774
187
893
831
526
967
713
953
213
534
729
38
919
896
857
273
37
793
196
873
360
380
584
91
736
603
337
995
101
511
209
313
98
838
868
445
747
786
352
407
650
883
970
433
804
857
135
937
953
831
617
590
483
944
274
570
94
244
883
562
438
564
942
304
227
621
259
524
244
368
119
173
277
182
109
805
27
548
352
27
758
873
401
246
255
632
309
586
80
535
334
558
409
969
117
121
931
679
449
937
983
444
462
545
358
451
912
666
669
993
349
737
405
459
25
561
911
460
674
387
306
340
959
62
215
515
923
152
603
795
730
147
421
808
240
513
569
988
258
921
554
942
836
598
160
895
39
968
656
396
325
407
903
828
390
222
509
207
640
265
494
561
954
804
47
313
972
782
964
730
519
138
43
516
969
312
71
680
257
948
438
220
729
353
555
23
864
546
388
583
947
917
264
73
802
269
748
152
751
576
672
844
365
568
875
383
577
207
116
938
218
4
426
692
99
566
132
140
589
438
881
587
30
366
111
550
887
755
966
213
532
394
41
815
264
481
684
533
509
396
130
823
364
720
521
840
131
801
741
62
935
888
619
681
31
315
148
973
345
902
372
503
363
778
904
964
758
785
884
916
241
308
224
691
217
999
488
657
399
81
843
846
849
357
940
619
626
749
981
136
403
261
982
68
642
354
599
405
272
852
98
819
466
323
289
516
880
688
863
868
436
661
224
341
529
207
327
510
443
802
629
29
509
575
1
580
101
449
159
497
898
542
73
837
940
574
41
677
507
580
879
453
613
924
222
193
499
223
726
53
967
555
945
554
62
73
271
987
614
431
983
340
397
142
87
256
111
178
169
69
502
575
786
89
398
438
999
812
805
352
704
116
393
100
69
151
521
376
677
862
689
876
272
446
805
920
206
779
219
807
179
523
298
613
300
524
585
469
941
268
794
868
442
442
642
49
311
477
172
771
549
830
519
551
656
677
306
986
516
318
252
81
652
727
721
205
542
386
654
39
647
973
611
465
349
491
100
106
179
748
616
652
5
505
575
668
909
771
753
3
8
331
600
607
158
104
908
789
784
950
166
58
738
926
415
178
856
335
395
532
995
704
106
411
598
802
647
465
235
492
466
287
981
163
83
865
990
502
646
548
895
302
72
64
300
273
471
607
715
480
43
589
475
988
960
723
691
831
337
534
165
827
722
399
944
458
908
892
444
373
947
475
816
330
45
520
356
348
424
28
419
482
79
492
115
988
649
461
235
427
498
444
838
673
420
125
412
135
866
922
189
564
760
251
134
860
135
692
510
602
15
331
4
776
153
25
958
5
816
670
301
471
183
60
571
403
38
550
991
627
228
730
848
67
545
584
420
334
69
184
964
713
958
693
136
456
100
326
547
690
872
518
366
959
941
317
995
976
256
495
969
717
407
964
414
69
341
618
671
824
12
319
453
637
883
560
224
564
980
526
315
207
586
764
953
448
147
533
270
356
638
473
308
263
306
147
70
541
767
442
130
598
444
371
914
558
931
217
524
910
948
319
794
818
434
212
841
312
544
221
23
890
712
283
738
865
609
723
67
802
847
181
529
701
287
820
829
977
748
449
955
285
290
520
574
741
701
912
233
454
125
507
314
787
482
41
744
36
512
703
448
285
546
707
589
924
346
362
261
684
606
255
189
679
98
435
69
251
274
232
717
298
547
118
248
938
119
168
119
148
950
485
956
22
289
822
435
996
387
220
638
621
811
455
611
142
472
550
667
962
666
894
772
102
444
10
532
49
351
165
941
818
599
870
269
782
350
33
313
693
71
103
948
101
456
631
601
832
964
145
2
361
752
4
438
630
20
496
681
783
224
728
336
606
39
926
340
114
696
157
717
724
582
578
742
741
291
84
384
717
972
97
200
997
233
545
46
105
292
658
627
659
856
719
869
967
89
541
723
639
906
837
99
986
868
491
802
565
228
115
797
705
320
517
527
877
697
12
908
770
171
644
432
296
363
330
68
93
837
703
89
295
463
606
405
815
452
388
726
895
280
251
110
837
562
369
327
881
863
928
536
376
786
941
680
307
452
738
91
169
123
50
895
181
843
916
442
610
552
796
527
717
464
352
890
849
522
772
537
853
725
742
344
713
339
885
298
146
850
939
739
119
406
880
209
278
455
914
539
704
551
991
936
756
230
920
17
832
887
318
175
379
742
632
493
30
232
691
490
924
571
949
612
450
309
151
688
157
325
10
669
839
815
258
521
6
505
153
72
367
665
695
810
619
488
354
463
716
223
54
249
757
558
958
719
12
743
185
785
922
372
322
448
993
570
445
177
107
186
996
575
129
463
296
982
953
204
245
251
876
948
766
243
894
162
211
51
467
271
641
383
543
921
336
937
464
735
408
448
720
83
833
641
783
87
375
212
363
460
923
408
304
97
573
127
212
877
993
203
778
208
146
847
121
230
198
355
608
808
926
442
538
966
785
704
7
458
977
57
404
568
964
177
413
345
826
820
788
878
919
321
344
577
201
434
714
162
372
264
313
790
536
214
600
959
820
416
299
847
349
349
416
677
694
836
825
769
759
476
775
84
746
508
938
645
217
685
970
559
392
809
119
157
193
84
743
557
783
413
456
465
602
747
251
552
790
83
789
210
539
705
556
611
551
822
291
147
941
190
501
434
902
439
433
734
755
615
789
290
750
669
396
499
144
604
65
581
771
9
122
975
145
211
307
673
514
514
384
641
280
818
379
199
690
348
961
664
978
718
306
880
262
508
769
830
125
812
243
377
361
607
120
130
387
621
729
110
542
603
774
273
376
5
315
901
948
245
243
23
41
200
516
693
782
591
247
852
291
427
751
760
127
975
598
37
439
381
518
515
303
165
271
220
963
850
202
227
106
748
861
311
670
186
576
240
567
926
586
633
915
373
347
587
836
296
776
725
109
258
449
996
619
669
500
416
542
276
685
171
583
39
144
810
453
259
166
380
186
523
944
270
18
43
395
817
708
112
525
234
766
294
138
234
842
576
952
911
964
676
481
147
7
453
795
516
497
302
660
226
683
781
658
224
869
704
586
434
98
986
287
960
896
88
179
755
241
28
651
189
597
417
567
657
625
627
434
786
891
862
629
793
685
669
812
839
451
76
890
888
211
262
351
703
200
577
334
156
753
943
764
387
648
28
132
386
479
154
243
586
151
316
790
716
782
51
964
189
360
660
951
621
291
945
48
112
542
757
848
470
899
716
783
190
98
544
851
986
343
639
140
235
810
205
619
361
183
600
423
695
852
913
715
612
167
332
579
913
202
555
403
706
919
108
787
144
24
431
920
252
513
745
475
587
200
125
412
426
58
77
92
510
470
546
594
642
91
204
107
148
134
355
452
545
271
125
111
221
985
640
695
857
645
676
329
734
41
536
149
288
143
424
728
232
397
550
705
162
360
372
929
854
30
475
491
145
363
521
241
499
421
523
946
666
48
32
222
49
821
528
933
487
107
401
819
850
914
920
168
808
514
427
883
960
853
162
550
778
872
538
272
434
998
711
147
505
592
311
532
727
791
187
661
802
214
691
774
244
224
782
142
321
288
773
536
494
894
43
802
275
850
679
552
497
506
767
311
315
19
911
85
282
847
509
618
823
837
103
713
359
827
817
544
352
808
804
725
17
880
815
602
281
148
356
413
989
76
369
542
974
912
470
813
419
532
487
850
270
208
640
581
769
107
109
969
706
184
48
501
340
401
855
850
54
464
215
684
643
878
529
687
637
445
344
606
226
845
260
622
246
570
620
213
653
983
342
554
448
570
884
400
245
503
511
567
70
829
668
619
136
577
189
846
140
76
558
81
690
373
885
588
320
709
595
813
288
289
71
662
336
462
204
689
546
256
770
263
602
974
686
496
835
181
847
745
911
428
644
463
423
124
623
782
921
678
923
684
341
814
692
822
407
280
920
545
804
258
685
869
258
267
436
586
550
680
450
380
546
74
579
30
625
897
833
975
208
887
556
316
810
125
862
627
259
245
826
407
465
780
879
840
844
455
191
615
416
181
656
881
586
723
307
144
948
157
260
106
230
766
374
618
195
760
314
449
451
600
19
781
131
268
516
87
307
249
467
979
866
14
261
799
4
430
419
800
721
521
372
34
561
203
200
154
621
300
996
603
605
357
476
154
459
249
297
136
831
242
792
126
942
657
363
963
523
392
724
527
435
234
25
604
120
812
680
242
640
197
654
326
357
557
87
808
638
395
429
485
782
501
576
431
783
700
207
108
136
714
771
70
191
456
226
543
207
886
661
748
496
61
588
99
531
450
103
179
887
751
171
480
545
359
608
508
298
481
23
99
837
795
433
650
680
860
473
374
423
979
382
294
873
642
424
983
350
866
247
35
180
784
374
804
270
911
489
264
599
379
578
238
819
406
835
573
698
777
938
658
311
257
988
259
849
685
375
814
398
895
297
705
140
302
504
65
893
908
356
27
927
541
697
434
837
830
354
153
144
642
679
638
436
340
801
975
195
726
466
15
170
895
893
403
239
867
506
552
70
818
154
56
117
35
881
875
155
481
97
784
188
22
576
658
918
737
360
569
371
373
705
803
497
738
261
949
172
535
511
633
784
48
138
929
608
406
788
115
713
373
26
340
83
342
564
286
137
182
363
323
208
946
897
418
680
947
178
766
349
743
651
335
853
284
187
618
804
729
480
675
166
672
902
433
716
649
106
227
739
527
552
274
187
753
493
762
924
428
847
403
377
326
648
467
543
807
496
785
54
860
539
245
322
101
59
199
791
558
282
340
844
749
90
636
531
392
17
91
618
701
569
953
345
657
484
115
344
71
224
20
226
483
183
926
898
479
162
661
134
650
817
261
751
781
540
529
488
909
837
639
803
594
287
167
815
617
995
480
274
984
758
165
525
805
204
972
87
883
425
583
866
90
683
848
923
30
518
444
335
779
965
376
956
471
3
221
862
184
128
27
134
596
354
323
260
803
247
55
271
196
304
77
265
68
819
839
613
581
156
28
393
707
619
176
900
738
635
61
256
70
24
266
761
650
89
615
890
885
783
180
746
679
63
559
951
982
714
927
513
351
955
339
753
565
158
365
759
457
700
218
917
372
897
581
64
348
273
179
555
726
716
74
323
97
233
979
790
209
781
969
6
808
285
437
513
138
193
703
630
537
528
745
990
318
417
32
492
506
235
629
744
822
397
637
286
629
36
470
263
8
441
302
622
21
647
412
122
110
979
79
310
667
717
551
231
668
611
893
662
386
253
564
256
369
471
29
821
446
920
797
665
285
191
591
254
925
214
713
966
41
933
588
289
534
535
313
978
430
874
14
678
937
868
52
413
591
917
997
511
886
425
139
544
928
968
759
33
525
999
826
134
862
275
331
984
924
841
278
211
474
989
903
282
265
203
472
343
488
325
765
157
76
229
2
437
240
146
831
324
532
918
263
541
501
294
132
391
877
557
893
304
231
868
873
955
613
838
845
528
736
739
886
700
411
688
987
55
260
959
334
527
235
88
926
487
46
264
742
237
552
351
494
573
387
326
422
289
48
708
702
529
540
505
148
572
754
935
917
328
793
327
36
874
780
767
812
538
264
997
920
294
70
236
782
136
847
395
304
229
929
933
601
228
59
259
78
417
910
632
719
222
707
821
548
689
580
978
44
819
999
707
796
457
909
142
172
786
449
854
792
414
925
405
139
159
330
866
564
530
853
875
22
40
688
509
940
595
871
636
131
854
409
907
342
610
237
66
413
231
768
351
281
721
108
102
819
954
368
843
983
652
887
74
764
643
519
158
589
619
634
29
154
572
599
453
660
504
812
660
522
352
312
307
930
661
456
685
950
174
212
1
830
283
220
1
903
516
123
374
277
902
941
830
552
218
820
248
937
465
376
253
409
925
20
490
106
120
744
640
474
694
247
353
890
638
797
7
476
99
504
705
591
319
418
103
21
179
236
146
689
938
319
31
645
230
463
126
489
240
509
62
621
780
9
581
890
203
771
562
615
419
484
798
831
248
79
138
325
139
607
350
103
854
54
939
459
245
944
80
211
965
387
519
312
717
45
825
570
856
969
762
670
695
654
914
559
107
56
941
204
531
984
876
734
87
430
249
795
48
811
430
762
321
955
898
706
508
795
463
681
277
16
285
695
461
344
249
294
89
810
486
85
556
563
534
397
681
515
785
799
614
803
193
98
272
339
307
748
897
697
205
272
788
316
668
678
784
759
325
132
358
624
181
323
657
642
730
27
14
131
271
562
936
403
779
39
113
103
637
217
274
134
679
975
959
859
993
191
696
629
749
542
286
989
777
873
223
263
836
723
323
482
673
799
482
910
122
932
475
27
615
783
607
553
88
298
15
944
501
74
194
839
57
822
68
383
522
474
610
51
863
751
519
593
976
993
848
990
941
388
674
880
724
906
707
248
584
637
840
962
38
702
381
557
888
539
619
915
167
30
738
807
927
386
924
789
475
946
591
583
189
318
194
631
391
582
977
524
263
188
515
90
310
214
767
408
196
115
665
765
325
831
570
19
826
668
206
947
128
183
656
268
16
161
864
793
609
767
55
679
422
219
9
562
650
826
129
734
829
495
348
687
63
931
847
590
948
231
396
82
643
438
17
903
655
824
761
869
251
611
771
116
255
783
983
349
751
850
686
484
843
240
310
368
197
500
820
388
813
490
963
51
454
897
566
611
125
617
996
45
370
400
912
432
756
636
337
660
454
328
507
216
263
259
337
242
44
485
538
549
733
999
745
221
380
597
502
761
97
164
451
165
156
263
657
555
483
311
876
258
388
640
781
628
959
14
624
510
393
901
619
886
917
581
478
91
413
385
79
736
226
748
804
409
969
292
725
470
753
563
140
88
45
619
504
581
791
559
687
636
286
740
586
807
469
493
383
692
973
455
735
221
520
387
860
355
898
784
43
975
69
897
951
652
721
740
501
139
423
503
967
114
972
10
439
487
343
551
389
334
594
434
527
522
25
437
208
497
349
814
936
856
586
207
243
318
554
869
983
74
434
940
316
903
955
38
930
697
159
254
601
458
404
182
263
446
640
276
603
791
312
610
195
970
640
879
444
572
970
339
685
934
939
183
122
259
683
481
236
175
716
187
956
937
506
187
389
814
492
172
472
539
897
484
794
353
333
228
231
555
680
304
304
881
889
72
928
278
106
645
698
819
902
32
53
672
851
457
632
658
770
333
610
774
687
255
732
333
310
723
66
869
995
854
386
743
448
800
764
52
202
869
1
201
426
819
147
207
928
239
733
986
25
859
268
358
881
360
647
379
871
909
668
644
376
193
652
664
247
378
908
574
574
791
139
220
340
563
708
1
994
783
151
440
415
22
634
531
599
805
926
888
59
157
215
228
78
587
366
156
202
291
248
835
550
807
223
558
702
651
386
601
905
27
201
878
651
386
348
894
186
992
459
638
326
850
44
937
924
48
773
687
15
351
850
898
8
443
447
649
803
587
438
404
630
729
621
164
694
260
780
442
271
581
765
255
634
464
23
55
271
715
263
206
993
684
339
797
567
551
227
759
592
114
544
961
434
984
667
787
290
616
653
359
325
863
227
340
544
389
324
380
904
175
503
674
177
545
320
211
437
815
734
574
912
691
894
161
703
87
580
135
983
186
844
80
612
866
665
631
315
993
702
808
533
405
934
236
294
24
468
724
264
366
454
40
966
898
441
926
909
769
56
692
410
892
473
93
960
858
229
585
576
488
171
128
681
550
712
697
785
746
98
470
355
693
636
739
4
984
137
997
354
147
122
457
461
137
410
891
610
225
653
829
546
906
780
336
756
905
612
701
53
664
432
589
479
737
205
180
470
374
948
796
543
16
860
836
203
275
416
329
58
462
434
747
622
614
404
827
165
969
481
820
239
977
600
571
946
98
161
643
301
514
612
395
590
825
709
888
663
825
783
395
342
483
522
355
700
333
457
726
440
969
468
773
254
499
447
630
676
567
511
658
182
453
333
901
278
552
352
932
374
303
458
30
162
784
320
390
177
44
48
171
421
36
933
790
962
764
222
649
982
861
313
834
830
495
850
769
92
188
530
471
704
905
473
817
399
282
975
94
117
941
936
301
467
49
455
640
782
329
755
313
238
46
992
84
295
712
531
16
914
190
141
483
88
977
450
16
883
372
613
134
621
139
122
351
18
859
701
82
607
897
468
833
985
280
573
761
705
9
809
258
474
211
837
486
597
244
196
746
878
983
132
170
776
127
225
311
27
285
434
668
863
108
712
734
898
216
835
443
964
589
199
714
761
477
57
662
393
939
854
295
34
624
219
220
797
688
75
747
547
933
781
98
240
915
555
151
128
655
687
453
283
325
85
535
205
616
586
82
703
542
86
483
267
852
227
169
635
470
268
98
593
736
687
22
52
556
84
570
278
321
457
98
546
734
513
225
522
893
224
610
34
497
155
934
499
607
885
193
521
866
370
812
752
511
990
972
699
374
343
332
945
984
292
76
89
671
531
196
967
30
149
292
556
301
918
96
854
185
921
735
739
867
644
802
160
764
747
8
924
671
68
663
117
914
71
713
964
316
359
788
715
585
422
941
213
829
694
96
108
967
139
137
869
933
817
691
395
691
437
136
526
237
768
334
660
533
444
37
147
365
212
278
50
669
633
748
404
151
30
310
218
848
900
476
536
815
385
840
394
496
820
855
378
129
801
272
191
887
476
654
38
897
417
887
805
718
871
743
110
265
289
29
712
422
691
983
300
853
839
517
807
774
107
511
911
405
482
867
754
85
777
902
255
997
531
652
999
861
853
842
63
447
276
885
679
686
652
880
395
568
862
779
947
941
388
48
200
433
850
942
515
62
304
846
282
591
980
208
765
138
224
565
144
617
502
157
975
3
485
284
941
839
157
293
772
916
452
993
319
540
724
312
994
103
253
800
958
916
750
80
965
341
820
366
242
107
764
939
283
738
297
274
581
242
643
438
331
86
477
567
525
309
73
241
166
673
861
811
522
853
331
205
11
449
500
216
497
795
817
522
764
79
123
799
396
659
607
63
56
537
346
718
554
543
629
484
558
154
482
557
628
188
772
771
837
51
630
736
4
530
244
932
152
534
593
218
516
261
701
442
714
598
342
363
577
478
606
677
879
154
144
180
263
439
592
300
592
514
772
551
937
5
261
369
407
18
849
84
296
918
958
110
380
478
848
856
41
520
496
21
677
184
357
736
505
830
645
805
23
400
32
969
83
254
499
993
396
859
334
102
727
731
576
9
14
40
150
994
826
275
909
82
439
38
896
942
350
471
725
283
105
953
991
227
658
163
784
623
907
922
488
982
975
211
44
440
697
209
795
595
18
239
580
499
661
260
696
819
405
851
448
7
357
3
56
782
69
265
36
947
91
285
17
52
481
999
570
529
184
314
977
942
952
752
475
886
58
962
877
902
95
501
49
141
181
224
358
475
0
573
227
572
837
118
536
969
33
570
437
855
751
940
431
495
313
767
577
347
988
258
819
412
21
796
595
190
496
500
819
590
541
333
460
116
789
235
750
18
807
767
573
97
134
254
239
147
991
380
474
484
500
476
606
180
44
723
575
948
874
105
923
647
637
647
557
503
925
429
439
498
414
394
845
894
740
409
779
858
270
78
71
595
819
593
825
407
516
610
404
914
138
336
0
123
628
641
308
384
374
217
279
290
161
814
658
699
706
209
641
594
450
405
934
781
709
510
629
989
185
992
561
745
993
374
116
984
349
166
129
981
785
290
978
552
309
942
114
708
865
182
432
259
89
891
686
895
242
941
20
211
673
582
717
84
23
554
948
159
240
856
546
52
745
253
849
532
742
480
776
346
763
918
152
253
91
731
841
596
803
830
217
634
355
552
805
124
912
730
334
696
176
848
754
837
400
771
745
624
582
434
89
920
818
973
650
400
619
250
549
208
619
862
692
418
433
581
858
280
863
152
723
463
79
858
177
672
705
441
764
787
495
337
631
49
38
720
753
153
440
678
916
218
584
479
663
812
59
438
203
241
914
496
493
627
661
239
938
868
407
889
327
936
375
868
826
900
599
245
116
414
162
325
860
150
609
861
477
593
585
976
483
267
70
315
39
865
757
230
406
203
701
737
855
162
793
545
123
750
659
555
540
473
758
748
346
502
884
133
208
300
135
377
467
873
469
965
559
892
735
617
796
332
795
966
480
310
392
816
210
160
962
989
769
682
870
6
178
189
679
396
374
713
71
455
382
371
875
249
276
433
170
514
343
76
84
40
438
635
243
990
705
291
411
230
376
610
882
44
402
91
427
202
713
968
503
46
826
260
248
959
279
389
766
173
124
903
616
499
268
257
323
614
280
909
921
395
831
149
308
406
409
426
602
213
156
667
335
489
732
942
82
791
797
680
800
141
796
984
562
778
123
925
424
234
817
724
145
172
441
268
949
791
993
213
632
808
533
842
669
433
197
471
875
397
721
14
777
45
835
969
129
246
464
751
760
325
151
580
405
914
452
162
24
278
890
951
309
544
887
830
763
663
119
324
262
475
522
285
22
282
638
594
55
774
72
523
59
805
431
754
888
736
211
343
689
250
974
41
121
553
614
384
489
969
762
784
851
508
764
973
752
786
564
569
801
488
659
744
973
252
860
520
754
155
502
106
803
667
904
496
548
431
295
27
965
620
149
112
805
912
35
320
111
400
781
560
348
758
178
639
281
199
841
626
231
318
758
235
714
278
862
514
682
422
289
180
469
749
838
974
703
709
782
830
146
406
454
908
507
784
279
702
138
266
608
291
470
413
67
870
106
865
605
335
666
587
555
145
13
240
223
433
345
250
81
757
659
455
570
661
163
318
421
987
613
460
332
706
76
452
662
937
915
608
953
490
163
400
670
606
920
712
166
322
92
735
365
633
909
209
599
898
827
909
200
102
58
150
352
2
509
642
117
200
346
859
534
420
587
39
444
481
823
985
79
476
948
315
586
744
339
268
276
357
319
904
112
371
11
363
451
887
200
671
728
710
984
137
511
217
657
440
643
916
195
452
999
152
245
729
95
106
959
322
642
732
277
328
996
826
78
231
82
414
510
13
415
765
544
976
897
831
94
406
895
496
822
786
219
127
878
890
279
2
165
879
430
779
508
532
746
689
426
121
801
199
665
70
107
185
185
292
28
398
346
307
704
352
500
971
980
335
814
321
176
209
972
12
996
896
482
105
41
564
428
727
293
477
494
262
157
871
581
358
345
337
785
452
472
790
663
446
123
925
885
737
384
849
187
669
533
996
124
8
51
423
378
395
6
378
605
154
875
671
568
390
197
779
921
507
464
541
452
97
766
298
53
627
21
819
668
573
391
539
904
821
615
494
657
470
580
870
887
820
784
75
854
892
733
903
884
592
615
797
942
259
237
412
971
453
28
685
660
612
39
439
359
958
967
474
937
370
315
410
982
95
554
307
700
856
119
57
852
363
122
570
910
9
702
735
811
518
943
9
775
10
225
378
483
700
456
711
162
528
509
124
526
143
541
167
848
226
713
314
130
906
1
847
180
940
283
990
511
291
15
943
878
465
258
745
751
628
987
203
470
887
668
568
531
750
355
894
567
704
495
523
151
107
821
240
964
493
416
909
967
563
888
978
865
50
294
339
980
196
251
87
656
340
37
26
16
463
163
813
104
580
13
450
382
514
684
576
572
131
215
321
37
816
421
393
967
676
500
598
175
867
666
532
337
608
827
121
923
41
380
663
800
240
901
122
149
590
488
488
18
240
419
240
148
963
724
279
668
438
598
488
590
800
316
276
467
762
94
340
106
657
578
116
368
965
849
537
569
932
804
611
183
188
761
628
491
647
473
442
697
371
436
209
562
229
529
435
811
90
918
810
617
440
220
540
111
89
649
833
479
31
248
585
652
583
626
653
139
374
324
796
832
982
331
828
491
879
682
362
288
206
291
611
231
948
550
304
157
970
718
336
560
332
547
141
986
170
713
967
448
152
716
606
417
437
941
9
33
834
631
220
774
188
636
183
901
579
414
706
953
61
77
157
596
248
855
151
439
349
490
231
245
858
367
293
616
996
869
431
761
240
628
126
268
860
599
821
850
442
655
221
41
831
924
947
233
351
804
841
587
728
390
718
657
292
718
3
313
866
49
696
353
618
343
343
6
120
630
871
355
223
249
119
314
956
942
538
524
578
564
327
782
118
302
935
44
81
354
541
604
214
796
350
895
736
130
114
251
500
462
112
67
628
46
24
182
142
827
950
591
80
982
457
606
849
190
880
240
116
248
335
863
308
447
977
808
488
411
986
708
218
672
989
508
574
327
882
828
518
459
300
464
43
327
633
767
582
921
343
941
379
989
638
878
672
857
286
282
452
390
194
488
813
972
266
574
797
922
63
856
864
864
483
136
708
960
86
249
665
246
94
553
977
257
883
109
464
443
572
56
462
243
188
60
126
852
797
28
747
541
708
291
55
899
581
472
615
740
39
33
735
126
270
650
916
132
288
632
129
1
613
376
473
59
844
526
944
219
384
229
221
797
748
434
946
102
972
205
289
698
916
849
135
718
838
594
140
999
278
854
736
212
891
836
627
473
671
5
834
594
52
655
337
836
77
445
156
523
875
926
388
335
901
385
39
924
836
129
310
12
745
299
126
709
998
551
741
682
642
727
891
769
161
530
988
463
57
708
58
43
623
160
948
617
199
875
199
3
330
347
93
379
248
737
698
278
312
197
156
812
600
360
776
159
270
424
867
722
182
291
546
733
240
990
735
302
222
650
350
198
378
192
708
528
466
595
999
493
600
518
999
178
207
634
572
725
828
621
691
213
927
916
715
657
834
351
614
299
380
129
246
86
3
146
822
298
960
943
92
526
515
268
716
820
502
190
459
185
473
787
124
727
791
618
611
486
818
155
777
308
620
805
940
38
293
116
460
678
67
414
10
202
445
766
124
682
553
240
430
34
51
279
367
264
283
488
777
533
18
994
423
735
670
887
926
402
82
301
229
552
498
576
191
79
964
219
858
876
569
371
310
289
301
543
254
445
672
462
1
739
919
340
700
508
429
362
423
584
537
675
242
179
375
493
569
282
600
67
575
93
383
707
472
930
748
116
611
308
579
826
250
678
307
174
908
408
92
679
868
271
700
333
368
25
502
767
401
484
863
23
105
211
613
793
10
335
332
745
710
992
27
136
262
876
270
712
932
575
633
42
64
78
106
352
194
744
699
611
32
818
347
884
951
150
603
74
33
152
702
869
11
881
831
760
922
647
126
462
596
268
44
933
257
55
157
842
960
889
449
508
724
448
980
610
325
837
411
788
262
202
516
898
43
476
469
664
131
594
279
680
582
458
737
870
914
708
469
798
671
660
920
958
396
858
827
16
977
747
21
281
169
46
589
609
952
912
900
924
442
404
734
522
547
757
591
48
812
921
583
393
75
412
185
545
258
314
616
719
110
13
547
267
67
307
693
839
933
366
436
22
310
365
702
958
425
215
696
899
685
41
139
304
745
992
236
27
947
892
929
873
745
93
223
446
423
69
29
914
225
963
655
354
8
785
523
173
390
921
611
195
163
100
147
186
686
577
30
638
469
421
573
619
998
459
927
660
164
565
918
456
27
560
110
103
346
520
705
669
196
894
96
308
313
546
444
796
233
526
471
443
134
665
820
426
126
420
602
338
585
139
448
26
126
90
974
110
621
222
368
525
474
420
542
508
561
169
896
75
353
52
57
277
58
852
161
551
199
743
700
980
140
644
166
798
409
266
55
427
145
754
598
852
523
212
489
306
753
285
287
954
511
397
890
795
623
680
987
652
850
769
531
223
92
367
710
921
196
534
593
537
674
165
483
282
896
310
726
484
898
676
509
758
244
974
136
950
489
438
288
675
68
30
161
365
278
357
118
611
159
252
56
155
498
666
553
370
696
745
5
768
337
983
102
54
757
645
159
431
285
249
507
957
152
512
423
574
106
71
30
750
291
531
669
778
784
334
904
306
856
621
679
312
505
116
955
542
822
572
659
860
536
957
548
905
384
291
127
854
459
155
932
994
791
498
126
41
995
579
41
469
394
681
485
904
734
809
227
931
203
52
311
431
667
22
594
484
945
222
268
413
530
366
485
5
961
285
431
283
361
445
185
935
597
782
680
74
884
13
299
962
79
743
808
102
782
333
704
709
451
402
337
677
490
520
531
188
57
662
866
537
986
375
476
651
568
181
740
338
717
87
896
914
79
118
569
714
928
905
658
526
531
791
951
76
174
480
378
194
151
114
387
840
278
497
772
173
808
396
440
821
78
832
411
848
154
793
727
319
257
808
501
223
285
171
911
716
457
832
519
258
236
636
218
858
124
931
187
152
43
510
24
88
101
903
325
589
185
569
508
496
496
207
493
160
832
754
262
527
906
529
825
900
984
563
885
289
89
982
577
982
932
364
279
873
319
987
934
633
476
742
945
407
768
919
28
301
986
832
485
566
749
58
710
719
343
277
770
664
227
511
837
696
370
817
840
671
161
151
809
760
682
579
608
227
673
877
730
134
390
148
256
580
756
954
886
216
185
830
904
959
39
549
90
771
461
578
962
544
700
298
595
455
399
265
717
485
689
703
653
664
914
204
48
289
250
261
551
302
505
762
729
577
983
883
531
429
925
427
46
449
452
519
683
213
487
34
956
383
828
959
376
244
478
641
871
444
365
463
269
1
925
845
6
943
952
318
357
46
656
272
473
440
305
449
524
971
210
602
622
299
861
678
478
427
324
180
79
558
631
756
709
144
124
345
292
185
388
954
849
697
912
382
531
226
46
814
677
509
191
64
125
536
481
507
228
675
583
770
494
354
307
592
751
203
530
75
814
658
209
529
452
963
283
236
646
897
476
824
27
184
4
245
630
117
422
549
339
636
888
322
343
696
195
253
444
489
469
867
846
776
696
990
563
958
518
643
573
890
267
381
608
63
6
523
200
620
792
760
167
895
487
202
121
724
716
942
636
31
714
676
868
263
493
433
264
650
218
28
291
286
499
124
520
895
21
932
565
104
683
257
146
53
449
909
318
989
482
553
723
355
649
5
803
322
645
714
16
197
771
150
912
807
607
607
670
532
567
214
825
850
688
87
856
653
730
921
408
980
523
93
333
576
911
362
474
633
284
516
289
978
107
921
772
363
283
992
95
734
93
166
459
115
201
744
108
55
946
431
278
105
801
592
551
697
65
777
966
700
556
445
547
303
304
792
326
933
682
98
39
22
253
147
721
29
561
888
580
494
165
9
381
320
704
260
702
842
751
327
995
927
993
380
28
513
666
120
631
242
173
900
778
409
551
364
288
301
482
685
295
940
732
167
197
394
424
623
848
430
634
396
900
159
381
159
815
588
715
270
273
628
975
806
817
412
649
442
647
884
675
709
216
394
377
198
918
479
594
594
834
608
115
39
152
754
794
638
895
688
775
720
61
669
781
469
465
494
989
252
168
422
399
591
209
881
34
720
472
974
486
322
72
70
908
503
595
481
75
401
958
872
241
366
49
743
333
596
584
595
295
637
686
488
487
498
532
217
750
923
861
544
54
427
388
297
295
290
803
140
791
971
996
906
171
330
398
171
559
181
582
447
876
826
901
830
333
407
538
730
551
339
849
249
124
499
190
481
244
2
530
465
314
928
278
156
124
68
641
699
691
970
570
920
174
886
425
979
52
226
649
399
713
835
541
756
635
575
312
843
356
863
933
942
509
177
401
587
812
711
871
378
270
635
26
949
117
258
612
304
23
491
882
454
839
557
71
39
651
277
519
878
86
370
149
906
782
338
465
556
783
390
873
250
802
81
5
171
719
675
282
766
887
180
99
88
294
405
621
406
958
607
192
817
312
776
596
846
299
178
615
672
618
756
36
311
361
182
138
453
15
868
429
771
120
72
901
530
351
904
217
225
450
892
507
235
827
196
885
347
348
590
3
968
108
662
515
73
942
566
570
223
11
411
633
782
528
591
348
345
923
579
993
307
957
63
378
730
174
517
107
445
521
512
55
872
505
263
103
313
32
953
561
328
974
460
320
198
396
644
600
161
694
624
133
18
607
174
80
804
901
483
564
645
236
726
761
13
760
530
530
846
734
480
447
146
49
414
384
69
683
674
115
62
940
824
855
118
436
843
318
143
953
156
168
177
106
365
324
172
855
133
965
482
557
488
336
516
637
630
844
443
785
108
694
211
813
797
274
126
26
877
972
686
657
616
118
391
230
755
72
709
74
318
424
152
194
458
923
3
760
215
480
934
897
489
953
496
578
563
363
813
425
376
13
869
539
365
459
750
62
438
22
222
119
153
783
172
196
340
29
716
798
676
475
737
767
72
890
432
236
281
451
313
857
526
175
856
331
153
713
371
777
507
867
768
823
252
601
634
581
863
442
271
113
536
836
771
932
657
413
684
85
162
871
229
777
336
380
811
841
558
53
715
671
854
806
692
598
419
248
779
439
6
628
374
541
991
54
23
517
503
341
485
989
996
937
353
511
349
660
353
970
821
425
473
568
355
867
212
241
870
278
9
136
379
121
967
729
836
93
545
706
881
358
666
143
123
798
577
830
449
90
388
610
381
107
99
802
508
757
225
429
286
430
28
989
35
314
572
862
266
1
309
799
402
231
779
598
894
62
637
762
5
98
164
714
501
761
540
986
189
95
768
144
829
993
17
217
623
934
242
103
551
847
54
249
216
409
310
797
963
12
146
487
887
661
247
590
30
691
716
758
846
760
545
122
326
540
213
255
44
129
158
38
450
346
253
82
421
240
914
922
143
205
246
828
57
185
420
864
715
307
602
740
138
442
406
455
936
859
730
55
305
736
40
446
232
906
651
686
687
585
701
940
148
292
827
496
689
991
977
189
298
36
543
692
598
933
414
651
657
473
495
32
795
744
404
115
661
161
922
43
62
333
665
50
890
614
610
986
994
328
720
35
720
275
765
268
116
713
564
463
670
958
355
979
760
65
602
31
541
777
368
779
352
56
811
23
205
223
768
35
244
966
331
607
300
476
505
395
830
935
712
551
508
84
114
561
756
634
226
286
997
289
586
560
31
568
454
456
273
605
129
443
966
743
753
613
615
575
720
743
457
625
12
888
479
598
277
371
186
947
424
388
774
14
32
162
387
315
3
734
3
498
136
34
578
20
601
709
35
608
594
191
549
209
781
98
549
616
554
876
507
685
398
453
334
559
231
755
746
365
388
194
727
383
703
480
919
21
368
934
351
283
797
93
118
767
505
838
871
707
54
315
575
311
19
259
589
189
26
829
81
229
714
493
304
144
376
676
633
851
127
719
152
315
998
320
6
917
120
611
324
442
669
878
993
807
652
871
198
189
242
529
598
542
805
611
475
400
4
405
861
888
636
12
956
95
343
438
824
292
658
84
341
36
145
6
208
249
280
766
684
557
977
795
771
908
65
478
84
128
562
7
884
115
290
72
968
746
141
450
521
659
969
529
64
849
604
756
474
649
644
977
643
159
736
67
689
930
884
298
698
963
166
483
734
862
3
809
532
956
943
128
532
588
5
294
197
67
134
69
745
160
802
172
479
445
668
489
56
125
464
675
488
928
815
481
7
32
562
561
911
763
652
453
496
904
342
112
551
138
86
980
391
565
415
731
449
526
807
452
363
174
446
842
205
821
12
165
125
43
223
172
464
90
468
217
817
429
119
498
1
628
727
65
56
724
900
828
50
312
935
844
871
892
980
503
70
832
34
282
362
380
307
825
807
368
746
334
306
868
971
811
578
94
590
349
503
774
870
561
984
669
579
211
795
618
588
229
50
698
4
331
982
274
137
637
568
397
349
326
202
521
452
698
883
271
682
864
424
895
199
933
428
257
869
25
905
717
873
512
952
792
451
34
200
541
501
424
520
518
175
846
305
162
754
304
332
576
337
917
2
421
607
338
628
81
804
161
884
650
981
450
965
346
884
208
687
597
737
557
841
239
299
338
317
70
510
277
875
85
491
206
4
164
775
95
206
672
472
258
501
398
953
499
634
683
527
635
232
571
841
288
708
226
18
581
925
356
816
849
820
206
907
553
221
825
978
259
340
414
548
809
85
784
131
81
160
159
859
880
90
768
679
60
632
353
196
501
707
979
559
793
552
508
837
64
215
527
971
924
808
14
950
294
867
508
8
257
283
976
237
20
112
220
654
879
820
432
407
616
520
826
401
107
527
293
855
623
953
614
345
760
622
410
322
472
924
46
550
19
460
684
860
394
770
37
473
512
927
425
987
662
487
914
171
909
784
714
357
955
649
483
657
444
988
300
289
231
661
910
180
778
980
638
329
67
376
919
935
894
53
816
829
25
414
696
264
722
309
551
257
955
354
534
334
218
180
886
535
185
815
632
317
551
214
575
999
596
862
189
675
352
739
389
927
427
380
959
155
88
7
489
250
57
510
275
568
95
855
804
120
427
40
57
347
309
627
327
906
545
458
206
408
674
153
876
407
913
3
82
749
870
290
368
70
834
548
569
459
865
831
593
841
466
656
30
270
532
51
308
304
292
180
262
611
871
511
838
221
153
180
138
722
29
517
687
877
902
241
917
26
476
856
476
248
246
799
366
604
344
49
663
612
804
780
584
22
678
405
768
76
516
290
646
341
626
931
618
337
496
453
731
868
496
63
699
342
443
418
848
404
762
48
676
769
816
856
712
369
39
202
767
2
971
65
489
757
724
294
926
762
357
281
614
683
671
42
915
265
886
303
883
586
169
52
659
930
838
79
801
817
42
887
72
985
773
544
949
678
264
891
738
76
215
274
796
764
448
908
257
284
512
391
1
245
812
524
297
902
527
664
98
437
650
727
160
204
660
100
153
90
561
820
412
59
143
892
647
940
541
524
584
867
43
382
584
382
82
922
626
795
415
647
0
610
283
952
751
451
840
480
696
618
308
238
119
277
939
577
199
444
837
228
591
410
5
743
864
557
511
799
0
573
416
533
949
742
274
615
426
92
560
41
438
290
245
106
659
775
147
640
918
879
325
80
105
21
659
796
334
244
34
673
593
160
823
16
574
903
765
320
967
905
878
949
443
691
175
987
617
307
318
233
984
676
22
523
332
806
179
508
661
591
557
905
643
566
866
46
922
360
26
304
999
960
869
272
796
65
986
70
662
664
255
511
145
491
185
959
898
472
106
507
946
209
148
776
242
473
296
529
431
821
990
733
654
93
375
906
428
309
36
341
21
463
865
767
391
898
956
626
704
549
358
961
827
103
912
325
943
18
267
611
708
592
374
711
368
311
725
50
337
497
172
278
777
223
789
474
746
721
527
690
855
618
854
920
447
767
606
351
270
472
660
110
624
746
438
373
871
567
73
540
262
484
68
861
512
510
53
843
180
832
283
494
821
663
637
264
439
600
526
682
95
278
973
286
997
779
992
925
236
786
537
290
659
79
790
832
620
802
608
58
101
553
182
334
870
175
362
91
554
711
745
723
180
829
433
625
108
702
284
910
994
239
690
810
929
729
399
915
899
456
968
49
705
122
909
783
866
538
80
955
181
963
535
982
845
892
826
267
536
933
321
112
889
335
758
275
714
615
534
787
448
92
594
497
754
981
464
913
159
301
233
332
381
531
498
268
377
207
755
594
24
185
461
759
232
809
639
960
923
543
730
218
592
643
114
976
716
89
938
600
706
268
812
381
662
702
264
985
785
192
420
873
593
363
764
279
303
403
603
813
529
339
676
756
19
813
819
972
797
660
62
630
175
387
709
124
465
845
393
809
884
93
173
489
859
718
802
390
858
877
41
586
971
148
567
197
944
572
85
293
938
995
320
68
977
251
492
628
7
422
149
992
761
446
498
901
70
385
160
901
896
686
409
504
402
152
411
896
206
586
73
20
151
777
9
586
394
589
399
693
207
954
103
394
625
389
106
318
734
873
929
484
784
363
207
112
946
864
547
174
861
780
707
162
917
239
319
645
232
475
126
947
446
273
365
804
16
637
257
957
495
407
636
213
159
937
431
839
123
510
699
799
297
894
690
972
170
692
742
398
894
903
700
339
418
84
299
550
865
577
528
934
775
982
956
358
445
389
626
416
47
715
418
987
546
486
364
200
267
555
194
554
331
848
864
815
771
728
299
821
452
477
472
741
71
409
29
341
854
385
629
799
182
522
658
231
364
844
15
29
599
320
632
173
536
825
2
633
856
39
40
488
521
0
233
401
884
712
236
748
839
288
896
235
133
760
866
573
238
776
469
257
57
765
580
537
118
462
985
962
404
29
240
873
664
830
55
487
952
356
878
986
953
83
855
774
853
923
550
442
607
544
303
536
698
90
736
933
750
541
853
941
880
300
312
564
734
653
552
639
888
800
199
454
160
723
458
202
299
582
522
182
576
516
396
769
238
293
252
571
284
521
418
858
224
452
469
999
460
968
356
629
431
207
365
192
513
749
503
833
712
618
511
195
25
357
71
577
606
478
951
279
882
814
906
832
329
268
700
79
752
986
990
869
298
826
8
704
462
935
266
265
550
668
387
78
26
425
999
749
315
995
138
793
891
803
945
437
113
836
464
493
672
498
626
87
497
475
458
752
991
291
340
534
820
448
97
605
229
282
110
10
286
929
181
489
147
341
189
654
187
424
906
283
626
81
288
695
986
250
982
244
842
275
41
153
351
228
397
27
700
110
712
47
913
924
966
152
615
896
170
885
763
905
114
78
534
850
946
354
897
127
849
265
22
335
338
340
729
454
351
671
668
977
766
349
475
642
13
81
684
520
710
919
229
217
510
108
861
310
834
356
487
743
36
71
599
385
207
728
608
361
489
697
94
719
772
98
557
573
920
919
933
515
991
111
314
100
875
868
318
434
284
431
83
0
222
221
351
84
198
590
33
589
579
958
352
102
482
74
261
904
434
196
792
533
37
105
96
375
596
911
850
298
24
530
7
271
729
201
696
921
495
63
363
961
946
286
667
467
405
86
233
317
165
33
901
623
481
999
207
365
46
528
320
167
272
581
671
596
47
299
502
928
855
782
510
55
950
965
119
682
342
511
755
831
66
479
75
500
698
795
468
304
166
751
601
591
628
16
146
122
703
118
584
694
795
329
45
981
535
161
300
419
839
962
649
804
938
43
678
350
990
943
96
926
920
570
615
155
992
626
251
345
595
343
932
820
395
432
19
1
857
914
269
928
624
629
510
416
429
233
873
130
294
627
413
805
253
765
490
44
708
539
755
552
35
172
304
752
738
691
185
790
438
467
18
473
857
334
107
439
973
170
122
738
602
557
488
558
36
99
732
653
861
728
108
964
739
530
483
523
993
769
574
635
263
807
589
458
70
227
757
401
357
161
752
330
944
127
882
418
149
339
263
832
664
556
612
732
913
403
8
982
214
795
278
605
256
986
761
795
169
837
613
895
209
39
500
122
514
805
81
968
748
998
557
302
221
833
876
802
257
917
561
832
474
841
863
72
927
590
153
630
673
337
569
391
745
157
730
326
550
425
335
997
391
253
66
116
704
984
502
37
764
390
116
541
447
436
350
195
942
456
45
170
657
146
526
829
731
565
628
582
565
55
995
454
816
735
950
693
123
781
447
350
79
596
644
784
525
285
281
101
336
360
813
850
248
468
467
261
365
909
895
732
334
589
328
816
253
93
97
735
545
430
829
82
422
671
533
757
554
910
250
360
442
957
869
898
325
190
258
527
889
736
483
514
405
770
52
919
356
39
877
805
912
839
133
897
149
264
220
496
30
13
712
676
78
105
436
615
75
485
159
131
6
105
398
101
699
932
83
709
901
298
44
714
587
978
423
85
510
38
37
66
197
547
377
488
971
260
99
164
722
412
649
773
485
201
282
427
820
322
743
359
447
240
290
242
734
299
840
363
81
158
953
546
694
761
994
705
916
716
676
547
507
993
445
483
353
613
942
404
794
115
684
454
902
110
397
276
127
464
546
746
10
933
192
630
292
840
224
521
797
816
960
976
137
641
24
583
270
652
658
396
781
5
585
946
656
390
131
263
573
614
897
411
636
157
276
546
759
396
974
734
275
462
681
778
903
139
334
244
415
993
186
975
116
962
542
208
571
820
501
868
64
9
349
20
135
249
821
126
28
384
469
299
432
75
364
286
607
175
293
768
339
677
640
970
469
914
555
466
369
669
761
970
689
404
162
216
472
978
409
246
487
143
409
287
313
14
984
432
275
29
376
462
209
320
687
651
443
305
409
945
746
790
808
134
931
29
343
633
78
919
307
503
67
327
639
666
231
474
434
929
948
718
605
402
657
861
366
913
595
26
107
710
947
861
78
472
804
597
207
792
754
450
687
257
999
715
213
855
683
958
728
96
334
782
793
602
521
225
400
372
86
597
980
580
419
336
70
373
17
489
273
5
575
810
407
666
571
82
255
285
603
191
971
136
61
183
533
336
499
993
969
418
131
295
199
68
727
552
144
418
305
903
400
744
758
239
915
211
382
353
119
789
815
586
473
669
928
285
507
256
835
249
164
846
946
593
15
975
513
147
747
186
426
514
186
871
86
18
517
279
505
121
542
663
232
387
355
509
712
873
524
826
205
971
814
207
9
55
858
525
297
312
864
828
36
275
1
845
694
989
300
185
314
26
747
692
133
247
163
461
432
66
271
895
227
111
566
106
864
530
277
502
271
1
91
21
183
93
158
114
930
509
459
381
406
36
139
853
58
787
940
448
529
440
44
237
745
812
948
203
331
457
331
596
43
809
554
616
460
795
806
892
462
274
897
689
919
889
963
86
17
192
520
465
618
630
88
865
208
226
471
199
446
689
24
72
585
688
761
819
837
567
228
667
697
729
548
806
695
165
189
130
885
88
243
235
366
59
339
171
578
975
628
273
654
775
349
502
359
106
622
218
59
770
285
542
971
75
349
422
89
995
489
496
568
11
568
698
732
581
784
56
19
438
55
819
726
47
917
433
202
188
284
716
63
477
839
582
469
417
469
596
18
135
299
656
857
781
318
114
67
798
260
583
629
409
747
505
254
514
104
780
932
569
138
503
932
746
289
622
943
693
838
309
750
506
974
653
167
736
584
645
298
656
766
628
603
823
64
116
132
128
602
613
869
289
906
219
293
143
440
505
155
290
676
929
320
706
944
556
173
379
49
368
317
520
635
561
336
486
958
133
164
465
730
757
286
67
186
823
602
252
250
360
267
687
286
355
678
90
470
238
399
240
374
282
103
102
326
910
591
306
280
740
380
282
542
131
28
14
829
979
301
971
295
512
85
741
419
805
144
148
951
911
400
803
191
689
315
655
861
393
661
261
0
497
111
104
378
433
107
560
340
1
748
130
732
988
980
226
707
715
935
690
617
474
277
451
565
651
348
492
140
926
489
558
916
417
264
887
721
759
64
941
920
922
603
924
231
683
73
788
210
438
940
43
983
196
495
460
522
811
949
462
612
548
183
309
593
86
286
470
204
725
473
109
315
26
123
289
222
832
857
388
352
189
951
746
976
134
750
475
671
875
295
744
213
127
333
289
411
611
316
37
372
856
660
370
643
281
201
212
190
891
819
934
305
641
888
799
650
781
21
536
452
214
324
169
737
532
512
713
673
225
176
63
92
968
495
425
242
964
963
20
565
110
107
877
446
354
323
960
276
377
360
217
818
607
478
202
48
77
626
981
799
121
587
795
828
60
574
245
579
812
544
973
875
830
378
606
177
348
546
448
757
268
392
172
712
312
530
967
910
80
387
650
851
123
937
275
768
406
290
67
503
445
206
471
266
644
871
659
264
644
66
867
812
211
614
58
519
897
521
912
826
860
114
301
207
628
24
696
0
811
628
907
297
647
383
950
723
141
354
391
440
414
75
850
456
752
595
323
919
255
79
149
30
999
119
562
673
405
113
909
585
932
956
123
960
231
673
900
467
541
26
733
930
632
607
122
729
811
92
432
378
992
632
481
319
450
95
133
208
468
95
331
62
710
795
170
583
482
73
66
911
216
557
585
319
574
864
966
172
455
180
332
900
138
853
882
420
616
79
109
501
809
586
142
206
86
13
99
778
543
20
235
73
960
683
870
602
826
970
450
121
355
927
421
229
917
724
388
897
670
50
189
408
82
729
572
617
427
33
44
697
998
546
361
721
961
707
667
53
32
767
925
196
351
369
994
920
113
1
923
367
337
745
455
532
201
681
196
56
87
168
337
177
769
307
279
237
808
830
50
640
965
479
949
454
692
892
637
836
770
351
315
401
469
539
254
465
575
248
948
704
792
2
814
432
244
529
703
855
70
456
533
984
72
798
192
277
192
589
943
74
359
613
795
484
631
444
505
737
680
610
27
115
338
307
858
593
952
583
719
307
405
977
43
824
592
432
446
829
704
941
224
887
12
952
402
103
201
165
18
769
130
323
181
77
198
104
154
695
109
805
796
998
226
365
6
568
828
947
456
594
807
731
295
445
123
293
296
665
86
894
833
495
149
242
116
536
786
649
588
156
285
238
294
824
859
853
935
195
502
9
192
257
550
841
205
417
266
165
510
76
259
819
57
910
766
161
730
605
543
182
670
653
484
471
772
476
228
942
60
120
676
749
192
694
175
846
188
351
720
532
260
430
235
313
646
384
28
432
690
729
373
327
724
349
415
340
855
121
564
314
13
478
159
613
139
280
764
239
259
877
509
68
285
446
234
732
380
825
798
585
515
826
946
903
198
370
77
829
954
87
864
296
344
399
6
817
823
22
105
322
272
229
805
806
455
83
287
911
680
699
200
393
573
379
638
990
890
610
966
545
942
789
19
641
432
860
465
542
96
779
249
74
485
444
892
51
598
409
678
987
808
916
20
736
180
623
890
41
355
649
863
433
449
40
722
113
68
984
611
21
391
113
544
269
107
483
513
96
611
789
177
278
367
193
90
604
109
12
836
20
239
904
821
613
757
84
55
115
183
409
45
432
613
823
107
177
190
525
748
923
927
960
250
270
155
664
620
374
577
431
417
265
72
414
472
770
294
125
566
738
905
704
716
600
108
956
248
714
177
185
515
812
649
86
297
515
494
833
145
166
797
414
255
951
927
228
87
910
751
274
606
153
733
968
474
115
235
978
173
640
782
791
377
229
113
155
975
861
89
566
720
249
785
774
320
719
173
680
96
538
88
920
242
704
959
963
477
943
633
181
661
994
901
572
109
997
180
293
743
19
910
390
382
975
954
949
714
916
637
557
340
775
522
473
527
222
416
540
221
957
690
84
584
121
348
563
837
706
109
931
727
42
690
349
584
267
592
935
577
523
40
230
95
251
892
278
432
669
48
487
144
849
619
684
197
445
846
154
346
148
308
954
693
551
424
262
808
835
267
914
950
991
958
607
336
925
762
538
303
108
989
686
146
685
449
832
176
723
301
506
615
806
285
764
595
169
272
537
216
816
852
754
289
244
767
334
422
85
627
965
793
768
73
989
919
258
830
789
269
960
617
77
558
608
892
392
197
549
345
312
773
463
343
563
899
4
291
860
508
779
145
352
485
708
729
424
81
439
787
397
769
573
249
666
409
534
979
987
941
891
677
48
33
530
740
649
285
23
22
997
312
97
708
590
156
779
293
127
463
225
789
667
728
447
469
738
529
539
876
251
356
499
434
549
136
596
21
595
861
733
551
658
466
695
670
338
942
381
875
899
519
330
965
300
525
652
992
622
717
391
521
591
128
340
842
118
349
152
718
170
244
636
716
575
217
824
911
612
76
781
415
201
479
743
653
986
5
865
980
995
513
688
93
172
602
740
34
390
418
904
85
830
341
153
618
53
481
511
256
9
639
408
150
822
116
492
782
74
278
183
966
0
500
522
569
624
488
292
565
664
882
269
947
944
970
164
40
799
287
656
585
919
413
701
296
140
571
459
83
171
710
724
212
747
603
854
983
290
618
374
630
662
511
182
992
828
879
315
99
795
163
892
850
456
52
907
812
28
587
502
452
425
362
447
677
875
226
600
679
380
4
156
580
862
286
92
655
74
493
360
79
535
282
754
21
431
455
562
391
421
583
270
175
566
506
786
884
268
665
583
29
610
371
499
956
493
443
436
729
821
810
868
122
728
856
220
561
376
147
859
708
406
60
363
402
714
851
299
509
483
878
850
901
872
189
884
533
344
724
35
225
884
918
253
30
369
135
536
420
127
187
134
543
884
819
148
926
734
479
467
423
367
583
262
38
706
964
677
758
200
664
973
801
823
862
376
33
400
148
389
606
601
585
124
732
578
98
434
752
450
252
359
659
17
921
52
581
282
369
300
293
340
143
755
505
984
797
173
158
963
925
45
508
614
265
303
716
682
289
402
571
49
547
716
419
189
754
593
478
213
458
347
510
213
245
100
266
69
923
559
978
476
327
564
767
449
219
282
850
246
164
242
552
755
945
49
404
97
668
973
93
79
645
36
214
39
792
147
194
266
739
381
224
974
967
894
781
264
851
593
790
329
178
994
134
401
774
171
3
884
510
410
604
437
472
86
864
804
594
315
216
0
577
329
643
17
861
195
480
985
180
285
420
736
638
832
713
409
25
266
281
745
42
386
112
368
387
27
662
615
196
20
477
727
469
36
164
823
57
578
764
946
405
538
393
400
410
562
108
143
680
223
36
232
193
637
155
250
387
849
781
961
218
863
592
52
277
440
40
347
60
565
662
499
819
435
776
743
870
363
246
63
880
596
686
873
721
772
446
848
236
426
560
962
119
909
778
268
541
12
440
954
262
864
333
314
303
793
590
267
823
930
688
631
717
625
7
882
549
867
679
739
225
884
897
494
154
491
688
938
699
191
794
218
495
980
230
972
535
141
758
496
542
878
81
807
999
282
620
805
921
808
753
631
905
762
245
5
842
959
43
4
959
439
558
413
51
901
960
455
337
718
689
233
83
162
243
646
760
501
66
240
5
134
860
788
108
589
695
465
386
944
374
465
841
319
338
318
351
154
891
934
306
140
596
597
262
286
139
497
89
290
957
809
684
514
721
809
539
920
595
890
407
231
221
180
184
817
237
734
921
303
714
523
6
794
629
264
326
815
350
616
424
816
457
459
147
325
602
539
808
367
84
55
388
324
941
874
810
270
733
436
337
88
570
753
341
503
830
960
167
274
559
246
701
7
137
57
976
288
628
832
864
795
862
229
485
297
525
734
347
420
613
944
161
4
884
376
272
996
991
771
968
752
360
946
256
974
865
758
608
96
343
226
162
222
829
136
779
117
665
188
250
177
663
80
15
71
633
836
795
755
545
173
890
891
45
699
978
925
469
719
588
968
93
191
515
46
714
149
223
786
333
527
547
486
943
286
372
807
634
233
426
836
674
102
105
487
22
312
784
596
773
259
265
509
642
663
133
866
448
170
454
646
962
744
373
362
159
99
376
982
240
274
264
275
309
673
320
441
802
669
508
722
820
721
837
182
66
962
549
891
693
149
965
33
206
948
694
256
430
639
817
114
681
778
854
758
914
954
43
768
671
898
856
218
161
873
270
736
774
362
640
90
887
57
932
981
388
74
894
533
192
942
707
432
124
143
408
165
964
550
183
320
122
931
996
398
287
908
599
200
38
864
128
338
850
769
197
741
763
676
529
875
424
376
119
402
639
530
714
798
873
847
301
337
536
559
904
828
868
211
251
821
266
825
410
172
913
818
258
888
619
721
261
809
988
789
302
561
566
243
245
243
359
908
816
794
484
478
562
392
33
764
789
838
709
210
431
179
216
255
146
628
509
152
558
828
527
204
493
418
110
496
231
838
50
29
357
875
315
13
16
562
81
35
897
6
380
913
144
805
720
386
590
222
708
655
215
695
786
47
979
853
57
293
162
922
913
657
28
358
614
680
779
752
260
659
561
869
382
287
320
141
525
911
146
365
135
414
990
787
743
991
239
734
769
50
626
980
183
997
218
386
283
5
205
455
969
329
96
908
186
207
494
705
876
655
449
198
297
467
182
227
282
631
14
288
934
60
554
842
251
41
503
689
289
908
538
553
44
298
731
924
684
353
460
245
189
701
115
110
658
317
803
697
683
108
463
457
975
186
287
805
784
777
217
303
772
724
989
683
367
60
351
514
933
135
621
588
383
871
883
576
501
820
13
392
840
594
950
815
618
385
312
382
58
750
56
519
93
659
726
97
774
506
825
354
396
114
349
712
888
211
402
418
885
303
937
518
776
486
608
274
363
990
600
336
546
839
668
741
846
875
857
345
532
516
278
875
225
340
60
109
13
412
58
548
355
503
772
584
597
389
240
602
877
559
748
81
822
824
568
711
446
814
962
548
107
821
577
515
121
395
645
542
807
453
550
878
604
403
127
339
299
517
787
192
602
569
853
540
860
238
662
839
104
810
87
52
37
204
369
788
141
579
471
569
125
370
751
798
766
276
136
729
461
205
453
871
846
193
535
272
132
87
536
644
769
997
422
115
769
730
129
940
668
996
847
78
56
227
999
948
576
850
341
458
861
695
654
280
501
655
516
791
146
462
810
452
64
892
111
490
155
719
288
658
630
455
926
706
993
109
664
427
283
439
717
470
295
977
570
486
734
408
893
744
912
712
247
704
729
772
537
743
615
692
983
103
210
188
197
519
131
470
689
67
756
242
273
254
664
649
794
834
167
256
666
606
295
872
670
68
0
832
726
119
522
857
470
482
824
590
982
116
905
256
641
786
840
6
357
968
522
860
931
176
237
367
322
49
217
96
365
41
672
331
709
151
99
679
389
405
146
906
203
670
568
213
666
394
30
983
15
208
429
86
241
3
827
343
848
417
412
388
13
473
767
790
252
471
963
858
545
356
437
396
819
197
414
945
982
415
432
453
827
493
187
493
374
32
756
231
922
953
316
52
308
637
706
185
258
833
876
776
765
722
175
530
28
382
444
967
560
360
609
610
19
28
182
190
3
225
524
393
101
487
847
947
846
948
799
472
894
113
305
57
824
473
401
2
919
232
147
392
878
916
935
741
507
477
482
141
93
645
339
938
296
500
276
826
56
742
62
622
7
766
67
465
932
68
206
406
424
64
286
874
914
806
656
127
675
583
48
910
915
690
565
791
982
830
878
814
615
450
13
200
156
578
500
689
333
656
660
434
194
815
140
87
466
394
296
574
55
885
829
799
985
527
716
178
881
483
232
255
27
123
213
486
799
132
616
449
438
430
890
811
469
988
337
651
379
911
354
639
299
475
698
878
334
342
603
704
884
163
238
2
347
943
82
612
547
753
812
294
255
850
28
882
787
422
156
244
33
635
519
42
982
395
980
985
201
160
874
357
880
68
904
530
393
689
872
466
577
301
553
633
68
174
667
903
823
551
249
4
555
636
38
959
629
942
126
947
196
444
390
578
818
993
439
92
684
978
512
548
140
38
697
945
653
92
841
847
32
821
617
484
423
207
268
495
352
797
603
200
776
298
30
464
973
26
395
508
739
979
447
853
388
166
932
514
18
98
384
765
740
673
842
765
655
978
690
886
811
494
510
172
660
233
174
524
244
598
723
85
152
702
318
706
230
566
165
421
775
21
811
88
226
549
895
279
337
146
527
253
396
419
221
524
109
192
980
828
642
520
321
268
259
20
602
590
990
789
453
673
367
147
345
509
147
154
451
54
138
75
396
368
52
604
248
271
499
695
620
999
64
888
856
443
984
362
215
728
6
544
909
25
85
706
723
544
814
502
302
929
788
783
564
854
613
845
333
272
377
993
80
45
22
686
759
557
338
299
683
989
312
465
24
979
673
425
64
993
114
626
203
165
890
476
948
665
676
16
539
801
502
244
221
189
766
661
132
249
217
625
123
635
85
967
929
873
365
62
632
485
141
513
92
167
355
967
401
203
860
97
778
76
807
407
88
458
932
431
887
262
934
801
95
245
458
498
174
31
713
106
539
53
651
143
768
6
239
789
337
775
159
368
823
616
293
271
5
444
826
327
463
453
997
255
244
243
407
958
783
828
11
211
982
99
863
459
49
34
299
259
820
337
206
923
853
440
200
955
230
312
889
244
786
325
654
819
119
683
801
394
180
562
497
243
723
114
64
273
347
396
573
290
946
94
402
51
640
168
132
217
179
73
855
873
331
862
926
211
397
190
215
856
228
658
360
953
138
899
683
251
109
80
140
984
448
317
15
459
855
511
860
682
3
831
149
168
433
401
169
998
783
291
320
162
792
323
951
82
648
580
428
142
468
272
474
517
217
775
497
998
294
69
284
317
622
438
934
709
935
549
40
825
314
748
404
388
55
864
646
893
45
162
432
102
137
643
751
269
517
738
91
218
201
525
653
114
128
891
127
238
824
489
891
995
762
367
840
408
148
336
787
826
610
350
43
138
626
928
350
440
686
513
229
940
500
418
989
472
851
443
347
127
47
922
389
655
793
964
138
53
11
371
156
818
673
55
149
698
852
133
570
118
761
720
215
753
500
804
515
890
296
253
455
532
995
187
36
853
628
57
117
410
526
986
255
590
382
679
276
696
860
434
667
61
367
892
957
246
810
11
418
841
43
607
149
369
234
323
968
753
8
871
613
830
141
64
751
558
622
450
450
807
233
100
95
568
648
679
984
461
114
258
768
566
477
30
366
177
781
276
771
293
605
981
0
863
691
338
635
453
74
585
788
962
654
352
882
85
732
719
534
525
965
625
928
217
40
295
371
344
14
110
895
438
790
278
294
961
719
139
242
671
870
92
178
672
102
886
480
989
19
759
383
370
209
201
474
679
178
107
162
156
790
939
15
79
565
241
890
574
638
146
575
925
900
843
348
677
74
449
962
302
860
755
138
740
301
409
529
728
123
544
980
129
837
405
772
875
285
481
498
3
543
955
361
937
762
864
578
114
469
492
988
550
202
810
318
372
849
574
688
442
259
776
204
364
313
921
483
460
773
286
622
539
168
412
601
108
324
96
423
917
172
192
109
611
545
648
766
197
53
361
322
33
444
330
990
830
732
672
91
168
261
885
340
164
76
921
666
714
712
327
971
93
472
831
679
511
327
9
173
966
603
575
197
930
147
590
749
79
368
820
333
74
787
811
289
535
597
463
676
878
40
320
777
23
944
373
176
153
742
447
506
620
506
603
507
745
735
274
341
29
644
902
947
318
843
70
750
464
464
222
83
627
651
196
578
363
675
574
722
194
806
52
284
629
467
61
393
236
474
606
891
864
558
236
264
2
160
432
802
886
514
74
656
429
372
862
521
187
301
696
41
669
998
191
373
479
308
693
641
360
697
121
33
950
455
16
47
565
515
477
783
417
668
552
145
626
952
666
929
171
959
43
326
186
354
801
451
48
322
990
305
606
753
157
353
972
207
245
151
857
815
256
446
231
249
26
559
575
220
781
20
736
629
832
23
983
434
322
989
984
40
568
473
421
367
467
8
644
601
439
702
808
529
360
295
665
107
880
989
312
488
733
915
483
318
476
36
62
294
303
714
898
497
325
483
879
537
106
523
893
197
834
33
158
355
823
740
919
126
690
664
713
188
30
503
290
795
516
348
243
963
387
485
285
83
754
888
618
804
281
680
733
896
375
76
584
482
201
652
284
534
370
248
541
727
493
94
767
493
489
651
585
707
613
798
723
639
546
905
73
12
506
160
242
178
786
177
473
372
645
475
63
598
780
359
990
969
256
384
147
399
916
900
729
594
401
459
144
418
719
998
892
8
955
519
976
48
499
822
487
11
818
164
923
697
441
504
595
465
877
285
750
863
479
238
834
775
292
441
583
702
734
596
949
375
777
672
526
433
795
860
985
913
623
331
33
388
508
327
213
847
114
146
485
157
550
116
369
827
496
224
223
731
325
531
896
437
719
519
255
116
384
232
606
911
917
640
44
842
802
57
485
971
230
803
632
861
917
199
329
660
88
722
377
149
295
810
310
318
263
323
869
71
27
192
285
201
575
458
47
661
125
13
892
490
363
50
270
651
121
466
741
463
183
5
532
85
435
683
964
820
490
698
480
824
558
50
650
332
606
606
981
224
371
754
61
831
308
979
855
172
245
471
971
381
366
692
559
545
69
927
360
651
298
67
287
918
57
313
957
519
589
425
816
488
192
517
18
966
373
654
603
322
354
100
370
473
585
968
23
430
441
141
516
170
186
888
710
132
588
712
636
627
750
783
670
283
689
167
174
405
252
186
5
930
373
573
775
542
958
855
898
820
762
574
631
929
78
773
459
209
415
722
710
156
15
450
353
946
339
43
445
792
663
39
233
97
854
232
7
570
928
657
433
382
181
38
627
201
744
336
679
205
235
803
560
607
193
204
512
626
194
541
316
754
153
934
438
112
28
695
70
254
303
896
249
897
235
964
295
443
573
444
644
690
454
778
945
797
959
391
789
88
328
992
3
369
938
983
974
354
256
258
526
867
299
226
580
672
117
61
348
229
143
93
599
413
759
932
963
527
697
983
184
404
211
812
4
977
131
846
109
29
184
279
507
4
20
91
850
28
997
51
824
729
129
525
607
392
577
838
95
754
660
153
445
209
921
394
538
403
955
144
144
802
782
678
519
64
39
389
518
228
771
984
774
455
930
339
299
743
249
583
577
570
374
634
95
665
194
272
5
783
219
744
274
604
509
871
329
299
101
807
125
428
628
58
975
917
613
775
461
979
556
781
592
657
574
43
897
965
618
928
296
109
605
808
172
655
175
148
507
944
920
12
277
608
624
601
66
902
360
998
668
242
989
562
276
54
441
643
332
902
16
876
499
510
771
376
95
659
22
567
401
47
155
155
223
451
118
582
538
100
224
854
285
124
650
843
332
488
47
503
349
229
303
962
797
0
163
878
895
138
587
265
639
932
381
30
771
579
247
899
157
943
28
195
637
291
159
125
852
203
284
640
832
779
60
524
28
585
827
428
940
450
690
270
967
687
231
265
591
123
423
681
86
423
266
236
207
68
106
847
718
819
866
779
613
5
309
836
985
620
381
92
64
512
831
945
536
269
547
330
592
877
442
654
45
956
648
965
389
839
559
154
478
985
202
516
882
67
764
431
769
248
103
496
263
613
345
464
510
14
77
625
871
42
862
224
348
566
835
46
919
591
964
60
463
723
857
986
169
874
937
937
458
826
822
272
343
553
538
56
852
321
204
422
630
714
403
667
883
413
408
801
924
571
372
155
830
703
752
248
599
516
133
201
708
524
375
612
668
535
268
309
579
117
276
218
54
601
776
395
263
454
222
15
319
282
564
9
79
283
988
533
301
301
98
50
784
476
617
769
259
52
274
187
701
392
258
92
179
139
615
429
113
354
453
304
875
742
879
383
246
3
364
900
333
389
638
273
340
144
78
489
793
858
924
907
427
928
583
82
585
696
950
354
81
256
869
478
139
842
124
586
296
913
760
628
11
420
710
134
7
95
978
150
97
947
40
197
53
508
784
561
93
513
748
317
139
264
510
386
232
676
764
298
472
991
871
741
669
539
546
922
749
0
139
981
510
307
257
510
868
837
131
170
316
833
953
341
792
604
791
673
524
397
630
573
937
848
195
337
181
199
73
462
96
25
473
545
777
331
381
922
237
806
36
204
275
145
928
689
309
91
597
152
679
983
161
96
644
865
798
925
668
158
709
991
471
939
31
204
936
609
252
123
744
145
113
393
472
547
933
490
358
3
373
497
723
257
664
273
863
230
26
34
741
399
874
313
994
9
316
580
754
835
961
718
136
299
494
773
493
100
366
971
124
478
599
697
530
427
841
295
971
37
583
94
871
874
511
585
929
719
879
290
703
885
896
718
680
721
33
339
629
7
313
712
836
302
838
786
393
40
346
897
511
583
836
568
175
808
646
721
952
999
283
512
632
933
485
797
782
313
984
131
685
578
855
14
297
19
186
874
353
4
294
168
980
868
675
617
569
309
854
182
575
358
724
939
550
747
853
944
554
954
73
663
230
409
377
234
750
553
81
684
733
647
800
676
434
535
476
90
475
382
124
311
88
363
300
883
567
352
352
333
209
149
778
893
719
798
992
51
86
891
367
462
930
18
820
593
584
633
789
954
365
496
264
519
928
272
942
882
486
853
322
148
884
628
44
472
148
384
400
636
873
741
942
771
623
244
888
758
107
498
439
540
681
397
272
531
695
519
514
522
430
663
10
195
114
777
576
326
342
43
812
321
275
761
872
147
779
71
254
954
705
251
605
377
841
411
588
156
399
932
83
968
331
896
788
247
314
280
635
834
891
644
367
904
889
543
817
177
824
190
802
789
969
808
523
196
942
792
698
350
677
875
856
296
523
822
96
519
134
227
554
145
337
870
285
559
21
329
839
153
924
772
133
3
61
280
611
899
845
416
794
317
28
963
913
229
380
437
748
928
922
431
341
745
4
919
519
114
621
493
371
710
532
346
959
403
588
934
932
609
383
692
283
700
234
775
197
836
97
729
562
915
879
854
371
164
888
727
465
781
779
84
196
676
272
799
742
766
384
722
678
733
232
756
566
34
385
570
219
187
648
692
479
583
567
799
340
106
388
440
418
243
734
661
200
884
735
814
368
212
248
855
172
109
949
675
969
801
708
265
770
523
914
44
691
265
318
924
441
457
94
872
362
226
329
44
173
81
625
773
656
812
826
801
541
319
894
695
582
93
650
178
805
363
125
675
0
447
435
454
800
62
719
698
822
201
933
215
795
588
973
61
120
876
174
919
628
137
126
413
633
250
352
204
330
621
294
813
615
386
631
773
82
616
550
767
977
427
400
726
347
465
743
21
142
611
261
762
901
537
497
33
174
395
100
223
623
326
251
712
783
250
349
715
56
150
580
150
215
868
856
22
700
686
793
387
484
212
962
362
395
578
30
831
810
445
656
316
75
829
970
13
747
118
407
788
37
986
531
450
538
813
415
481
99
973
846
726
676
533
802
375
178
74
248
664
522
298
643
449
633
9
228
552
694
831
388
323
764
426
78
961
896
447
347
571
202
852
523
986
454
59
952
212
707
678
551
845
110
484
840
329
5
65
458
190
576
454
684
513
497
309
159
147
677
681
109
922
230
164
860
48
516
284
636
443
601
18
128
97
110
830
286
725
198
665
508
815
297
141
311
574
210
753
967
677
89
467
672
166
41
916
76
895
183
559
381
65
967
68
298
627
685
861
376
272
372
80
780
152
215
438
368
575
680
488
696
268
532
108
480
649
516
733
99
977
156
346
924
875
608
874
233
649
888
258
156
247
115
692
613
140
480
357
321
287
466
273
150
110
208
207
997
147
466
619
304
876
614
28
323
654
822
801
587
186
660
232
736
726
959
428
831
503
760
145
859
666
996
434
612
52
323
634
479
130
953
856
331
399
513
875
53
1
608
242
60
65
655
978
94
367
651
54
729
996
628
198
690
828
215
332
314
42
778
943
277
608
429
425
252
959
243
642
402
873
109
75
532
115
176
896
778
567
753
728
307
718
573
533
505
927
311
28
603
756
141
142
455
626
913
477
483
248
470
654
101
8
471
881
817
640
328
399
470
861
214
589
123
554
902
223
576
691
232
795
27
104
997
717
170
556
431
318
840
509
536
410
325
473
163
353
87
604
552
693
470
662
604
714
625
271
668
156
775
103
647
227
381
820
684
599
768
610
82
545
900
63
375
208
250
298
922
473
613
991
599
51
218
645
280
804
644
105
650
721
300
852
266
185
654
986
627
55
234
896
774
497
987
903
465
128
266
767
327
358
605
88
729
256
747
666
838
558
310
879
759
631
477
782
471
669
699
622
16
810
438
662
563
761
418
254
383
930
298
928
608
858
594
740
73
168
629
909
155
458
482
148
230
309
814
449
97
987
623
844
338
128
575
947
314
161
786
914
253
750
923
259
577
343
68
629
281
428
471
660
414
930
943
802
520
623
510
259
395
160
98
538
445
664
786
310
979
131
7
905
651
725
671
568
90
746
901
559
729
766
943
182
750
844
826
97
815
334
613
74
311
380
778
204
587
116
454
697
387
350
612
61
766
836
786
456
845
809
590
43
912
692
200
59
555
326
46
382
639
63
630
213
726
879
874
927
854
444
879
724
17
360
51
871
249
447
766
257
921
904
839
895
93
998
324
738
538
766
266
621
779
495
842
271
621
699
259
49
181
493
934
511
874
738
317
139
407
229
651
552
287
913
308
485
179
951
815
810
519
67
613
586
458
678
437
805
864
962
455
561
661
130
293
200
689
940
33
162
5
96
800
179
427
560
496
857
890
502
169
39
797
675
469
608
198
17
285
761
657
874
636
945
979
243
818
244
819
570
330
502
784
460
293
630
710
677
365
259
500
979
291
590
449
708
49
394
648
960
709
507
605
136
887
699
325
850
98
877
258
514
534
996
951
260
619
344
959
880
591
948
169
417
261
829
8
650
80
217
950
641
263
942
571
644
417
406
974
637
83
181
509
885
980
697
845
672
57
743
561
870
379
770
299
110
672
32
286
556
439
750
643
440
153
701
448
10
519
269
336
607
506
360
843
108
781
756
543
10
137
260
100
706
368
452
162
996
409
655
928
373
311
8
764
806
213
120
454
839
146
480
227
351
456
515
804
515
701
257
238
440
52
792
879
668
983
436
225
965
302
413
373
211
745
40
411
335
962
206
829
385
446
903
705
643
569
98
774
89
50
411
810
544
673
140
984
978
501
706
108
993
513
158
779
227
932
792
344
931
644
220
495
13
56
825
943
726
994
119
620
227
300
755
113
818
858
80
88
542
477
630
934
760
921
412
981
802
469
747
938
890
704
271
594
694
525
813
142
720
445
866
39
798
296
589
464
700
939
219
842
121
551
485
473
942
388
344
616
248
50
845
769
295
146
953
13
343
680
58
446
231
865
923
955
794
533
795
787
518
315
822
791
186
890
808
358
85
780
378
244
603
882
350
324
577
238
765
811
763
466
109
124
861
229
525
568
739
375
15
541
951
732
451
623
837
58
766
186
742
132
90
818
722
887
287
924
769
836
866
892
253
67
142
843
424
780
455
909
29
648
61
453
921
322
603
148
617
776
589
521
902
461
654
955
76
371
304
678
108
252
871
590
45
153
654
460
175
5
994
182
203
545
677
587
573
965
895
365
388
143
767
895
497
786
354
213
987
580
203
717
856
74
11
471
478
12
574
793
462
843
959
285
567
118
54
654
730
337
505
609
930
845
872
583
939
889
338
905
138
123
712
872
581
37
878
785
749
332
384
824
168
821
871
868
755
840
167
772
769
226
185
239
46
882
290
920
812
112
686
783
596
943
252
660
639
331
194
9
431
948
449
585
170
106
132
856
443
613
847
960
51
974
30
71
12
2
679
417
438
352
743
277
276
487
643
283
181
974
252
320
86
597
413
306
290
633
113
49
580
499
863
984
411
329
375
341
622
921
541
826
971
319
210
346
836
350
360
137
796
499
430
9
953
76
220
205
954
238
946
292
341
809
346
981
503
198
832
727
696
998
317
102
995
584
601
811
254
952
403
633
283
457
884
374
392
908
858
613
586
287
740
248
481
122
52
582
804
449
60
672
366
500
899
684
810
733
960
990
346
692
442
234
786
801
194
820
987
962
349
387
618
451
556
334
777
975
771
279
210
339
768
452
589
763
168
856
297
751
223
287
680
804
43
855
15
443
363
230
497
592
63
846
611
159
964
282
71
387
747
416
236
325
615
512
522
860
207
837
262
390
20
36
598
985
723
242
30
753
38
26
337
319
255
816
565
162
676
532
694
377
684
46
658
833
377
545
62
529
582
621
734
208
714
304
694
249
289
628
0
0
267
630
7
152
522
912
772
457
355
937
960
391
797
593
339
922
891
595
64
571
791
917
235
409
310
228
987
11
898
818
166
208
4
426
203
505
840
867
662
271
90
358
387
352
847
134
584
649
58
512
76
68
512
440
521
113
751
742
247
200
982
664
682
434
643
515
661
657
900
329
641
908
749
862
432
890
66
157
371
52
218
403
626
636
458
381
428
131
39
521
597
551
308
618
794
649
419
75
813
625
538
625
651
754
552
863
920
317
599
357
233
395
588
345
919
945
648
548
598
145
142
940
277
669
447
55
279
86
762
685
756
167
490
445
260
591
537
394
521
426
489
723
973
970
872
689
475
219
814
360
963
33
873
594
877
324
103
305
995
731
592
429
973
72
168
984
487
913
950
13
291
253
327
696
120
837
850
149
531
811
680
642
696
834
245
298
114
657
75
974
906
699
572
414
509
571
913
635
789
114
252
44
508
335
678
173
995
592
444
849
500
456
152
764
824
280
2
812
132
920
746
633
394
860
718
27
133
820
220
123
282
684
756
838
940
267
116
62
615
685
954
231
846
963
696
102
765
949
879
477
186
486
7
65
517
147
492
236
981
549
839
33
595
258
552
697
94
691
169
936
618
821
760
953
881
490
816
868
216
281
545
963
725
260
117
134
857
303
147
582
441
846
164
674
740
811
540
435
136
897
929
403
995
420
307
864
672
151
912
533
981
718
350
579
192
766
637
407
2
375
397
48
84
757
206
387
546
250
781
987
340
304
229
377
940
118
682
24
606
206
532
79
113
635
548
364
911
486
132
620
110
129
862
407
742
847
293
857
945
410
825
56
884
604
481
211
241
618
695
101
218
59
581
737
384
491
602
868
735
562
457
397
129
621
163
293
592
718
17
855
621
143
400
82
800
952
752
292
252
595
988
690
759
821
256
98
374
273
406
952
115
882
895
125
288
116
254
504
501
84
623
620
776
203
29
785
718
365
572
341
13
642
599
207
132
823
278
183
865
686
146
388
461
594
469
708
454
51
521
515
730
355
683
310
733
916
957
722
922
126
737
804
27
462
555
698
210
823
421
922
254
915
474
503
29
236
777
254
888
105
222
789
595
464
547
976
416
424
719
367
472
441
157
7
281
245
56
975
230
428
445
453
61
578
482
87
622
655
248
801
521
495
836
221
207
137
989
510
631
728
840
24
677
998
173
377
592
665
190
31
554
247
736
425
778
572
910
803
515
402
962
495
817
912
11
201
423
89
113
773
241
435
671
225
917
882
952
607
583
588
154
459
444
818
695
21
734
984
919
387
22
869
661
88
676
495
453
966
605
583
130
736
606
900
931
224
575
402
194
280
161
893
873
55
870
353
28
592
402
222
743
199
222
593
548
670
805
990
923
277
359
535
854
677
795
487
421
157
616
645
812
907
317
690
741
683
675
562
267
986
929
908
693
803
431
691
91
148
156
245
257
409
12
269
199
756
167
862
331
210
967
638
62
398
832
130
848
482
42
722
245
410
482
63
102
908
714
745
540
444
601
388
610
942
293
347
280
963
993
708
292
102
55
527
884
149
871
584
10
68
222
476
228
175
165
775
903
708
584
102
870
858
325
215
902
836
264
205
490
448
506
443
82
933
658
897
255
311
500
660
43
412
710
332
215
186
651
565
368
14
618
349
375
497
611
309
716
586
250
221
527
243
617
612
390
478
226
997
272
776
465
665
660
435
215
692
709
360
618
494
621
21
180
98
938
725
574
826
1
549
469
255
20
234
604
341
919
952
525
411
870
714
659
210
55
774
878
422
465
90
681
926
978
676
52
174
960
384
690
834
556
328
966
633
822
156
295
145
918
639
58
605
662
485
697
535
409
931
269
863
508
683
818
66
794
271
609
743
363
506
163
898
559
436
355
869
984
236
696
871
441
275
773
372
883
223
362
350
196
342
837
307
43
650
295
626
550
823
66
312
366
402
339
512
543
625
146
434
452
571
726
918
875
781
14
173
79
25
481
385
519
864
280
861
963
595
381
479
515
521
417
566
115
0
928
980
914
289
76
166
843
544
341
974
594
936
97
453
8
802
957
200
234
936
478
17
895
709
519
0
116
302
267
874
680
255
69
552
217
730
838
557
943
668
305
522
195
849
77
67
488
515
827
602
128
548
829
703
888
778
200
243
541
516
595
457
602
926
316
429
187
185
0
564
151
656
781
127
308
125
853
81
830
144
315
664
388
106
973
214
361
315
640
594
893
846
167
725
338
979
786
176
763
116
374
338
786
852
855
253
16
410
155
771
208
160
145
186
864
407
388
177
971
303
879
5
969
627
580
368
467
974
743
330
917
481
746
142
646
873
297
117
649
209
571
677
276
963
919
691
589
529
237
88
909
824
399
179
876
371
965
621
803
660
611
383
583
311
151
906
239
854
39
542
975
620
846
587
668
11
845
992
451
0
891
931
208
663
447
486
878
799
656
361
842
676
760
885
996
603
586
380
165
256
427
873
318
40
592
905
98
148
278
904
986
890
737
343
330
477
948
538
826
355
329
969
157
592
942
962
50
401
675
845
93
151
567
150
761
724
111
697
809
35
46
642
950
306
436
253
552
339
386
758
7
181
77
744
516
230
94
971
733
233
365
247
692
53
635
974
380
773
839
371
459
642
394
751
595
430
338
199
275
356
105
37
317
371
507
174
652
277
221
267
606
530
272
922
417
300
987
623
473
854
432
854
97
411
345
101
396
420
76
310
882
140
99
525
754
73
808
719
669
932
426
169
467
76
970
371
932
658
504
423
467
71
311
903
324
60
174
704
140
334
40
461
272
320
220
954
851
151
140
994
122
167
678
661
894
271
199
278
818
161
164
982
397
902
715
147
673
991
819
889
79
977
602
512
598
694
518
139
729
307
968
536
704
978
215
502
483
128
766
200
502
934
555
907
422
205
250
321
970
977
423
231
136
447
592
365
409
232
777
870
820
593
297
680
164
690
39
475
579
721
89
999
475
782
593
317
559
601
685
567
574
246
433
762
801
161
404
338
987
540
11
880
940
641
819
54
220
60
877
802
92
370
852
215
523
135
915
837
589
365
84
455
986
225
944
381
545
562
779
351
654
638
981
530
738
147
117
210
577
52
115
387
102
790
612
722
447
690
271
709
931
188
752
31
216
595
422
546
345
445
770
774
265
139
760
656
783
282
462
981
557
194
551
304
493
97
869
765
783
352
666
998
318
353
86
77
718
739
786
374
211
9
377
379
894
357
913
278
142
929
117
481
532
934
43
718
791
30
991
734
4
598
101
993
98
53
806
251
224
911
207
210
392
839
632
458
410
481
7
755
253
42
734
31
888
838
282
618
337
732
11
984
586
353
732
582
564
33
308
692
419
192
828
777
705
502
64
463
87
671
932
322
335
716
255
567
786
416
568
10
831
971
951
992
522
26
418
165
879
602
996
817
765
836
741
59
760
470
246
595
543
470
754
381
581
155
851
757
281
758
763
581
675
906
767
94
876
313
290
274
827
154
287
138
507
304
134
226
997
112
262
829
38
91
667
13
738
461
137
2
63
139
755
870
390
886
577
48
325
209
55
986
846
377
112
398
975
872
686
378
85
297
325
538
150
555
434
728
651
650
968
551
899
237
862
105
15
703
129
522
254
241
639
533
777
76
523
626
507
61
354
422
984
829
634
817
503
148
702
849
164
510
252
84
630
443
516
348
241
949
385
386
136
144
784
83
868
703
498
520
436
441
518
36
50
147
381
623
46
380
212
327
882
394
793
348
868
840
909
128
478
699
516
877
360
986
33
524
339
58
802
860
948
339
862
410
733
919
949
586
158
49
15
811
686
937
577
605
522
544
364
834
100
712
80
852
622
140
622
490
237
644
826
2
768
680
183
321
916
493
657
493
310
614
396
764
953
194
797
541
460
28
634
478
256
191
89
446
514
244
381
336
680
734
715
874
23
638
309
967
772
473
547
271
583
330
639
301
217
403
570
174
745
632
330
296
692
965
373
354
342
751
617
757
759
791
137
508
711
716
627
865
474
503
445
441
780
824
172
837
487
270
491
408
723
717
118
268
408
58
608
241
81
366
773
671
37
409
837
985
116
710
579
56
45
258
142
277
667
407
418
642
59
628
777
511
410
833
532
936
360
785
64
379
323
39
677
482
746
817
45
677
115
64
169
959
729
351
462
282
536
889
8
126
690
878
819
958
842
766
434
565
507
883
44
471
929
708
393
474
59
808
976
208
533
374
751
882
640
120
891
271
444
48
169
318
215
842
515
970
643
562
25
824
427
389
782
729
459
666
258
227
574
329
596
584
227
784
89
139
587
529
935
824
328
637
440
295
199
729
925
482
545
833
255
926
420
264
97
171
810
161
446
339
896
104
667
964
715
384
933
170
605
149
938
397
659
350
751
646
636
523
758
119
408
374
896
659
380
275
367
649
754
130
65
531
686
784
637
715
221
53
712
158
831
926
904
73
129
134
567
856
964
971
905
157
900
361
361
512
630
96
126
529
769
898
627
63
198
411
873
827
177
712
253
922
922
894
850
650
496
326
605
157
850
933
78
662
840
599
800
711
895
445
298
941
373
40
310
240
634
658
371
102
978
652
476
333
384
668
771
23
342
417
99
302
573
252
103
636
516
278
109
967
672
979
894
55
158
908
775
917
732
596
435
423
654
974
919
401
0
602
977
830
786
265
874
355
350
490
700
197
480
894
223
644
328
977
596
911
459
621
257
330
541
63
96
736
323
222
481
579
748
858
291
493
953
768
42
811
994
214
938
301
944
453
659
258
813
756
43
926
431
560
239
525
353
277
251
684
691
424
868
976
698
888
277
601
343
516
805
833
355
783
378
167
224
55
724
985
32
380
299
63
744
468
450
912
178
426
437
57
402
700
172
924
764
138
503
985
525
484
95
317
991
660
716
838
66
90
536
599
274
942
180
831
418
184
406
341
517
923
5
445
157
887
38
472
398
72
405
487
907
348
183
343
426
435
152
221
586
630
739
975
900
200
739
449
811
529
65
697
759
855
739
403
742
968
783
752
825
713
862
512
567
950
717
329
36
39
255
795
20
992
572
783
177
300
163
365
120
702
905
404
504
784
835
290
651
403
691
253
96
164
217
688
201
919
362
646
387
448
177
445
642
56
338
999
509
906
14
951
392
43
32
523
410
781
903
13
327
257
414
271
289
955
497
808
878
587
826
89
270
145
899
507
326
659
825
45
587
38
594
437
642
977
300
818
621
335
121
545
674
427
795
274
951
180
79
123
212
378
647
675
586
993
761
985
335
71
406
228
606
485
178
206
762
774
235
800
59
588
360
979
456
964
272
760
756
571
614
21
878
595
394
196
692
366
383
652
639
253
978
12
227
958
180
962
639
124
580
801
895
3
370
886
394
599
857
797
989
293
331
574
714
451
256
785
688
211
961
748
852
792
905
572
431
555
796
549
116
617
776
321
659
859
752
684
569
170
776
932
752
683
373
463
885
812
10
278
533
537
673
834
562
967
709
415
51
974
812
588
663
697
557
288
747
481
563
832
299
830
656
918
530
146
611
23
675
291
713
734
413
249
104
54
455
565
772
527
490
247
150
597
272
131
734
497
69
923
610
758
215
526
177
724
508
206
970
744
61
676
467
854
929
633
77
178
81
904
583
202
253
192
783
842
172
403
594
624
295
2
197
132
488
473
513
856
67
52
766
971
220
157
786
733
229
970
654
912
219
112
472
315
514
406
865
656
651
447
470
974
423
930
972
198
226
16
391
455
310
491
796
766
951
573
822
925
77
174
9
779
177
333
894
136
701
816
35
762
579
976
53
157
337
597
118
865
494
720
473
261
763
981
313
599
277
718
60
386
107
496
824
641
393
229
433
697
933
651
926
436
907
176
548
683
855
5
53
672
993
468
305
476
203
444
870
855
216
533
314
888
554
813
215
272
346
980
710
345
88
983
656
966
886
663
956
325
29
38
472
675
728
222
922
140
959
23
128
8
690
599
1
976
413
640
653
187
719
28
978
425
183
659
704
193
48
142
989
488
308
245
881
366
429
45
637
214
638
76
875
697
734
168
634
458
611
247
975
967
255
886
117
325
870
363
700
798
351
161
871
784
121
250
342
650
207
288
128
443
719
203
117
547
558
926
289
676
790
924
561
891
711
391
225
906
908
427
308
543
156
722
999
171
335
785
263
203
825
646
90
704
132
545
687
912
841
471
860
513
649
102
606
315
417
404
966
32
780
837
940
877
657
997
23
564
668
832
438
115
700
871
735
971
156
849
102
251
949
494
146
413
251
332
317
137
911
200
634
479
625
828
948
554
238
951
729
293
860
347
933
929
592
255
175
0
37
884
191
543
558
618
150
730
651
906
654
173
983
425
73
240
506
330
6
763
506
381
101
395
123
290
251
457
81
81
7
886
174
452
136
652
284
364
836
725
927
132
929
835
684
573
52
986
262
326
396
508
685
618
165
793
896
47
85
723
881
348
781
84
573
672
393
784
572
863
484
95
797
218
262
821
76
210
581
516
613
110
454
558
205
395
775
854
623
116
375
599
515
789
933
466
868
435
190
843
738
180
144
186
596
770
885
245
542
93
843
654
724
242
28
557
944
38
179
584
930
745
779
714
850
665
706
787
725
396
905
454
242
851
573
176
430
121
984
887
364
753
312
473
993
449
968
317
944
568
978
131
452
223
504
294
313
581
801
177
51
100
451
791
807
570
292
902
111
98
515
716
570
296
820
602
544
854
852
324
988
481
900
206
670
972
168
15
896
837
483
184
197
533
170
775
667
465
868
774
390
752
80
244
736
236
211
549
945
803
834
266
241
135
137
344
127
134
270
186
614
977
846
587
970
904
528
312
59
481
271
557
243
363
607
979
222
837
935
17
484
60
798
833
783
49
647
602
630
412
307
480
262
524
412
245
5
177
56
446
118
642
767
594
557
831
989
2
160
15
367
598
506
338
791
481
505
771
329
131
313
589
500
844
331
973
82
291
630
46
866
741
654
516
854
352
84
464
929
490
751
287
34
130
988
67
819
793
604
202
192
109
383
779
77
566
322
949
366
154
403
253
374
48
102
494
989
0
108
611
94
484
145
668
405
606
848
621
259
179
271
461
817
283
396
891
114
823
649
583
131
197
872
850
36
876
969
9
722
577
257
734
402
461
654
235
668
609
194
427
949
385
124
472
107
283
405
125
200
95
13
736
117
701
908
767
475
769
620
826
937
13
502
289
832
794
160
59
726
518
950
31
305
928
232
411
553
587
134
889
803
733
843
214
923
218
627
825
794
256
414
489
536
569
340
326
414
808
750
824
716
110
749
788
662
122
842
575
490
15
5
710
912
75
209
388
56
745
577
844
38
11
712
825
749
563
119
701
182
50
144
610
62
267
323
874
394
819
151
740
259
719
545
398
969
157
853
314
980
802
157
967
798
51
24
633
314
921
224
800
609
266
908
346
943
71
983
433
198
62
349
447
872
867
869
168
469
992
270
853
711
694
648
497
752
806
31
275
563
995
45
29
938
8
154
742
171
698
262
345
157
472
573
933
77
179
146
141
93
981
109
235
276
985
603
367
440
445
99
332
842
87
90
699
696
333
233
934
429
305
937
710
171
563
734
817
608
635
518
404
280
56
822
106
588
132
234
733
625
792
725
999
256
41
445
306
606
674
79
67
135
67
10
868
714
173
915
229
890
201
465
894
144
172
374
539
283
682
743
66
36
939
953
363
249
899
14
432
295
833
761
480
727
20
970
948
923
565
305
7
308
140
866
455
751
620
496
492
713
749
265
993
198
415
148
186
291
143
247
418
795
994
958
965
384
847
604
314
609
280
115
52
211
559
899
865
848
162
505
958
907
866
421
219
460
441
616
624
772
18
43
776
108
538
259
982
867
432
10
72
460
14
234
555
898
496
74
602
605
508
776
620
736
736
293
824
792
822
830
201
893
471
990
392
387
908
71
76
462
109
298
506
252
822
972
581
544
737
739
146
506
941
105
1
72
972
554
197
534
608
671
133
515
86
656
741
279
346
699
182
195
16
994
245
782
713
41
291
376
890
248
972
747
208
296
267
816
656
386
849
518
84
535
999
247
572
963
521
609
4
430
76
739
731
736
776
489
234
350
913
345
822
465
559
694
507
643
361
804
115
281
415
767
490
184
279
875
844
940
981
792
122
674
379
865
524
639
632
340
671
187
700
698
7
872
103
927
637
681
679
758
832
152
722
576
900
126
243
799
898
153
873
363
646
121
976
742
482
71
286
301
262
222
186
859
669
177
610
934
68
199
105
303
265
709
13
849
674
223
699
698
790
536
76
130
16
659
47
14
67
191
20
248
486
338
826
81
879
15
547
372
71
825
787
715
735
248
902
928
876
851
531
162
115
411
304
273
159
618
552
732
502
168
288
307
35
365
637
749
934
917
727
583
473
269
801
300
256
49
262
719
595
27
966
452
224
697
628
599
601
806
472
323
977
363
290
67
868
740
382
589
678
531
640
428
137
770
900
255
690
407
581
693
79
677
474
176
725
209
890
754
516
478
940
708
141
602
601
62
235
626
868
317
24
672
519
874
274
276
520
257
767
563
168
586
54
747
842
396
667
352
771
597
32
196
969
186
430
439
617
2
13
659
159
531
749
263
847
711
698
978
558
433
772
448
983
973
139
681
229
811
103
342
435
965
354
508
180
231
907
603
434
851
514
429
416
345
415
823
974
14
821
796
390
708
423
475
984
647
967
817
941
343
726
233
555
242
911
525
222
607
14
961
111
328
680
75
144
113
842
692
299
317
637
344
9
271
54
632
297
594
634
838
805
27
739
23
925
117
632
591
161
943
699
447
634
345
563
606
86
49
140
552
499
984
357
304
411
246
417
82
60
990
258
488
693
607
490
114
794
900
89
932
943
490
622
72
75
10
702
830
264
938
868
977
102
627
577
331
330
439
166
33
961
605
848
793
512
720
60
885
951
77
493
633
884
557
560
85
399
924
542
534
422
56
558
972
574
751
711
999
552
792
369
326
917
620
512
490
598
310
205
402
286
477
369
198
357
464
818
360
614
194
291
144
150
668
990
598
45
720
93
327
813
639
613
454
831
333
831
941
154
438
236
424
844
993
0
684
794
208
492
453
511
281
695
406
448
835
312
202
42
395
226
896
297
295
766
284
223
463
259
735
823
653
377
895
184
282
699
339
539
641
546
288
498
106
384
471
613
633
543
295
669
293
718
307
56
423
514
700
432
935
78
171
529
741
225
533
116
756
898
268
597
352
326
559
659
880
707
602
493
776
482
822
629
598
865
102
932
967
502
520
484
458
719
89
878
573
713
63
8
260
953
636
937
707
475
355
290
45
905
422
549
272
505
582
177
16
194
980
71
967
914
165
675
810
850
865
521
54
944
714
638
614
938
378
752
380
220
209
50
415
708
773
899
719
745
422
847
94
515
499
684
507
856
821
858
972
401
778
491
961
84
838
910
594
463
741
578
106
488
956
200
560
454
683
83
865
963
56
922
363
927
43
817
41
283
730
72
71
108
546
139
479
813
218
171
101
212
275
545
871
47
818
421
365
985
708
817
823
588
753
977
568
784
156
671
123
678
639
974
592
373
192
274
154
924
589
459
767
408
587
595
503
429
312
963
408
324
118
533
513
339
419
357
85
997
4
558
251
859
153
754
579
299
753
117
392
722
266
511
932
287
138
514
537
672
546
898
362
752
774
594
371
744
682
496
980
344
694
212
623
891
254
162
150
825
921
737
399
192
747
607
163
209
598
362
287
598
890
436
4
747
816
368
181
2
853
467
161
408
706
158
751
326
5
687
637
273
508
826
210
87
122
527
65
705
10
720
675
560
354
314
779
189
734
517
322
425
732
327
634
731
739
670
165
977
75
347
231
984
770
235
503
740
298
545
39
133
151
29
911
96
13
299
499
716
578
187
339
713
71
927
376
259
481
701
825
849
98
998
585
273
680
723
46
591
905
883
19
113
831
905
34
77
837
843
235
575
563
590
372
373
665
832
161
785
564
571
118
745
670
223
631
893
608
473
696
703
867
609
403
885
258
929
672
973
991
168
399
509
317
814
417
909
837
872
563
123
849
617
387
251
0
822
582
272
243
428
304
310
136
116
435
868
495
840
504
404
119
628
834
236
431
64
145
238
957
956
968
646
10
542
178
728
949
329
315
693
449
581
727
19
199
459
253
694
38
709
292
456
460
618
81
639
488
663
966
394
430
842
619
467
228
508
318
330
568
449
762
625
967
969
112
442
203
747
636
887
266
76
84
592
821
650
45
222
948
792
174
185
529
646
66
55
30
648
197
416
612
924
986
550
523
709
160
637
354
312
260
610
911
207
76
792
261
382
113
956
994
182
882
248
986
88
164
733
704
758
704
909
769
482
832
286
802
500
892
609
274
667
416
864
11
469
944
684
611
964
829
780
178
665
941
762
251
985
251
98
158
44
574
509
380
580
673
551
639
893
992
835
882
779
954
601
443
696
722
876
717
450
138
790
783
835
391
650
444
281
618
381
954
214
731
878
242
443
348
185
213
757
176
889
31
594
130
498
816
122
575
453
641
380
369
267
410
934
277
964
669
359
494
538
260
256
666
979
441
884
603
763
571
320
235
558
333
566
632
19
461
358
328
281
111
331
239
499
9
585
301
345
578
528
742
4
413
322
958
625
138
540
462
925
702
623
620
5
820
804
451
255
880
932
831
454
324
944
834
265
84
557
172
607
950
428
695
991
750
817
130
235
820
114
747
421
967
699
319
108
166
592
305
72
434
349
491
92
610
260
199
512
981
571
436
671
763
550
851
160
485
387
629
201
27
921
595
600
908
624
787
212
63
261
834
784
560
725
911
544
249
812
689
770
86
220
312
163
851
313
766
198
798
273
545
299
952
528
619
301
602
525
151
769
584
920
265
295
548
414
116
367
224
438
704
422
305
857
843
865
190
739
143
959
256
69
278
135
510
16
250
361
246
515
627
734
775
61
388
850
213
689
13
603
794
679
661
498
39
129
234
493
402
2
503
858
723
926
999
337
134
321
233
770
567
130
681
737
422
566
235
215
645
883
250
844
503
136
73
347
301
521
837
338
178
148
896
866
693
197
737
128
630
181
829
922
847
735
105
169
97
795
307
412
463
636
766
190
125
518
812
204
528
327
485
347
959
0
867
182
219
519
561
163
27
587
358
760
460
517
726
504
247
810
836
556
6
674
531
251
452
418
989
882
262
741
528
241
397
410
639
323
550
792
643
97
518
400
278
806
59
685
477
146
623
720
250
782
779
82
25
977
430
287
422
170
350
972
298
13
782
920
534
336
981
982
0
682
514
747
267
322
509
585
55
56
810
380
267
578
131
315
188
254
981
687
672
730
694
343
578
141
89
750
532
947
408
143
223
155
330
421
487
97
237
475
883
828
109
150
325
280
117
175
590
188
687
24
957
972
398
877
177
761
681
839
17
384
726
858
945
184
660
307
832
75
701
79
687
261
103
942
53
448
874
574
995
697
225
256
628
541
34
663
492
265
442
507
579
753
465
663
180
816
624
960
537
631
215
61
557
848
154
810
136
952
342
262
4
700
857
320
709
920
469
342
515
963
392
683
543
186
293
798
799
69
600
370
34
812
380
173
433
472
953
94
138
631
828
896
601
448
893
862
302
731
994
654
749
452
214
684
864
461
198
153
366
60
543
200
844
602
899
843
450
166
641
609
259
657
83
477
93
127
955
152
603
535
795
463
887
438
885
624
836
598
274
681
400
498
996
202
65
963
708
71
36
127
835
83
167
503
962
677
855
765
229
22
885
357
216
468
247
172
64
829
597
2
986
233
841
236
887
505
227
764
398
630
432
164
146
396
844
371
21
198
43
35
494
645
921
333
17
988
33
54
344
539
857
153
623
260
343
687
531
84
442
676
898
365
755
626
668
662
83
158
286
88
34
988
568
238
52
14
948
116
434
451
867
318
316
818
894
708
829
829
793
246
304
796
512
867
868
163
781
256
453
760
922
971
254
383
492
667
146
213
992
650
653
642
213
450
617
554
791
231
901
201
957
171
526
347
660
222
763
100
590
997
49
847
685
835
248
794
588
634
611
33
709
54
117
52
961
329
679
221
637
602
349
544
39
555
674
283
713
655
466
509
738
427
633
653
876
585
68
430
724
690
908
74
172
802
427
152
166
394
677
899
663
549
708
948
545
161
898
367
842
68
362
56
574
417
899
82
305
531
888
446
156
710
702
190
260
724
566
400
662
84
722
837
201
344
881
975
88
426
854
665
479
551
296
104
56
344
207
400
43
338
518
609
577
898
499
910
878
802
629
706
916
565
739
915
782
781
951
607
354
596
248
286
790
430
167
803
722
14
732
801
932
375
511
945
95
162
468
77
371
295
221
197
999
908
870
748
725
957
36
316
970
554
671
339
632
323
437
557
644
523
268
631
608
147
641
168
227
281
753
567
143
440
950
567
671
787
852
321
828
249
683
187
611
551
756
423
902
972
965
589
565
86
153
210
698
711
787
68
185
470
246
968
756
213
914
637
629
554
215
134
46
852
919
864
457
922
770
750
196
402
687
264
495
946
904
143
593
533
334
603
301
108
481
95
203
598
544
574
780
523
98
30
783
159
544
456
227
159
524
869
966
900
863
670
380
16
907
505
423
765
864
292
144
461
102
240
174
781
889
577
975
201
224
0
683
622
759
919
157
585
383
668
239
525
372
789
979
395
533
103
238
745
199
140
927
419
617
893
392
835
523
160
6
889
955
499
754
225
718
799
83
698
29
713
781
161
481
1
974
416
138
981
642
451
546
312
265
498
432
284
875
224
127
145
934
57
412
235
42
231
207
669
577
142
68
102
410
483
947
822
755
906
382
943
614
88
741
482
962
363
900
63
306
169
826
87
911
227
20
155
232
122
882
898
419
71
60
659
328
663
444
182
893
693
282
146
329
446
944
660
196
497
429
299
887
840
688
318
321
381
490
944
358
280
406
21
280
364
609
870
206
789
511
213
376
284
944
407
807
918
19
976
732
743
123
397
651
585
928
367
180
909
910
880
948
770
852
609
898
160
271
63
74
601
649
528
740
698
789
499
678
709
38
134
788
698
184
889
685
880
313
544
258
166
182
197
841
50
465
936
104
580
958
913
796
224
907
179
379
146
411
71
122
318
503
334
61
35
543
187
369
4
242
861
293
511
389
32
534
936
600
302
729
574
704
433
84
263
616
241
125
815
846
413
400
632
987
111
287
27
82
105
694
134
364
355
653
32
430
893
100
690
795
607
749
543
468
832
316
894
918
580
714
552
846
138
787
270
188
170
212
707
768
503
728
292
982
594
336
976
229
857
690
244
44
314
900
208
746
574
620
463
182
893
401
413
158
783
220
502
548
462
206
913
402
3
487
606
758
903
952
419
99
638
735
412
623
750
402
947
563
201
169
512
715
138
401
500
925
559
910
305
535
208
953
760
331
435
26
891
942
812
209
151
697
294
486
417
789
894
378
668
327
564
114
675
556
740
800
201
871
587
691
243
780
459
68
515
975
252
369
238
668
568
645
194
892
888
564
307
150
565
384
968
152
984
341
826
254
757
74
99
839
895
274
174
513
798
826
15
42
832
187
652
935
304
82
432
635
388
782
486
92
567
566
334
15
777
243
385
480
17
933
870
624
31
840
9
924
962
58
923
183
561
257
444
876
20
287
636
364
658
501
426
513
142
780
132
379
236
452
146
653
252
653
156
164
703
306
435
617
462
965
370
547
300
607
118
755
495
527
423
564
277
560
466
491
750
233
726
600
455
442
170
445
927
207
213
46
274
14
515
296
341
233
511
158
477
335
201
734
223
414
72
658
61
248
851
270
251
459
818
38
788
789
33
355
614
677
693
550
611
416
192
242
866
30
39
87
821
950
173
863
658
174
985
265
542
162
222
76
317
635
160
73
600
448
364
243
373
230
543
643
240
719
300
703
975
719
774
949
272
731
500
15
567
829
210
307
664
866
363
220
828
950
191
652
35
817
436
512
344
609
454
939
253
63
836
496
753
697
19
307
133
582
232
804
87
484
314
468
257
442
814
991
713
399
65
178
893
57
785
425
933
652
273
988
282
534
947
338
280
15
317
232
706
108
400
280
949
456
37
616
68
676
84
547
191
440
874
876
304
92
68
151
766
244
369
718
136
616
543
195
352
133
591
833
20
381
238
766
419
323
500
745
467
22
626
92
225
227
657
254
2
805
510
526
911
719
633
527
192
391
15
626
656
634
753
399
166
330
381
42
941
317
529
504
280
429
544
276
751
980
327
74
160
449
258
354
164
447
798
235
263
864
221
799
328
726
696
857
2
585
267
74
142
99
391
259
221
801
975
751
240
882
18
609
646
217
814
256
957
193
214
323
797
232
371
845
126
882
239
892
312
823
751
359
113
833
851
847
211
57
853
141
243
755
580
426
975
320
369
817
461
658
939
929
219
559
837
737
123
229
367
269
114
951
459
419
945
835
98
876
536
666
165
416
555
988
215
793
631
305
446
786
191
463
102
848
316
266
63
477
735
125
374
331
548
765
303
303
718
319
590
266
332
982
143
339
586
793
111
8
355
875
68
996
779
475
750
193
684
731
203
741
225
937
982
399
775
744
871
3
882
725
205
361
798
430
796
137
319
326
145
914
959
912
996
937
561
554
474
762
462
530
898
885
201
78
13
355
778
885
838
2
315
353
464
517
500
832
843
110
942
358
344
706
930
901
323
446
804
797
82
558
137
754
595
470
206
242
119
259
756
311
778
285
991
335
480
762
46
698
881
773
248
267
142
368
567
213
217
263
295
254
170
436
212
773
453
584
496
948
296
895
223
962
360
595
334
198
250
197
302
884
93
450
321
943
108
922
403
427
425
933
763
395
883
700
413
601
316
187
426
829
621
454
915
228
639
297
376
100
604
800
411
742
177
747
297
165
431
119
177
758
424
916
787
799
161
750
809
587
61
576
273
493
225
198
37
547
844
575
195
233
724
335
368
916
318
333
332
997
36
615
497
464
120
63
161
200
631
35
782
158
242
494
803
185
579
961
181
997
262
891
123
723
663
527
287
502
114
163
623
636
432
85
824
300
957
216
659
294
804
329
960
325
615
588
26
152
138
449
723
273
442
609
438
272
436
323
393
863
883
662
643
400
435
419
737
143
882
123
129
249
602
820
306
650
140
77
254
117
327
134
51
774
345
410
167
217
342
736
510
624
511
596
495
327
561
718
534
136
117
992
673
985
37
937
385
958
489
972
440
533
799
936
441
638
25
862
610
304
603
416
554
370
644
343
762
805
369
226
278
123
717
767
562
522
73
897
117
260
4
595
29
259
368
419
783
517
258
235
852
697
875
72
35
537
736
499
217
322
767
733
61
888
810
648
346
174
352
60
880
529
275
19
901
799
753
974
830
51
265
616
898
459
856
761
267
811
611
96
624
101
627
26
896
80
793
183
402
894
879
626
498
34
16
261
91
529
107
624
535
202
312
535
622
595
753
853
743
878
834
452
309
32
779
878
635
697
773
225
57
192
907
4
166
342
104
663
54
522
151
444
462
583
187
212
585
366
308
893
744
814
612
91
511
471
279
226
746
239
367
175
77
166
912
1
622
968
140
875
885
231
49
835
208
83
743
695
30
135
334
428
220
784
353
514
334
27
813
100
3
173
128
228
59
636
780
12
361
387
401
496
854
137
676
434
334
158
240
21
550
219
687
390
157
226
328
667
797
865
717
608
717
483
820
441
679
43
923
549
126
987
71
113
509
967
358
241
584
938
730
309
809
150
866
922
541
930
641
326
717
683
511
287
971
363
630
71
649
507
893
933
260
756
155
209
144
465
397
109
407
793
241
293
993
59
132
726
971
456
3
891
930
347
751
936
879
170
738
579
887
456
497
787
91
91
928
227
912
191
48
93
250
398
276
498
32
630
237
583
491
883
63
61
156
828
194
517
268
23
170
149
413
35
616
824
774
712
408
893
515
407
306
184
943
787
803
703
60
732
578
588
668
407
146
221
608
801
51
852
304
668
269
683
700
590
435
148
75
525
247
850
884
569
210
490
108
764
509
777
670
302
435
571
144
938
873
698
667
958
971
164
911
843
493
219
999
260
995
670
954
271
225
121
957
547
518
337
466
734
161
19
47
840
593
649
368
970
461
378
999
71
47
179
742
785
318
135
740
79
912
812
730
237
657
337
741
211
985
321
321
31
965
170
638
956
606
808
635
630
758
811
61
879
811
299
859
486
500
291
619
502
16
626
550
242
52
880
862
744
297
582
636
58
939
50
948
423
175
537
854
760
275
339
711
797
295
9
140
460
951
261
751
449
81
91
763
436
36
5
321
648
173
165
96
740
307
603
601
560
996
201
369
893
627
662
595
499
932
990
112
963
284
761
235
147
199
389
480
996
696
385
199
497
270
384
370
922
422
608
470
871
830
284
941
807
712
23
44
229
930
156
261
450
362
87
466
602
429
316
665
59
431
556
347
773
413
673
802
801
940
561
775
271
733
642
680
635
89
245
547
889
415
583
308
41
408
492
287
514
670
73
488
860
419
286
862
723
511
261
148
77
809
260
129
94
140
946
309
317
292
741
373
357
844
480
823
767
597
953
645
454
826
747
76
606
4
615
584
992
220
139
946
419
916
182
618
278
788
318
951
617
395
34
784
495
737
284
904
454
180
523
52
476
654
630
429
768
804
548
830
579
524
859
11
975
221
538
435
496
607
340
277
827
23
979
917
350
631
285
482
189
856
774
501
130
801
630
859
407
801
285
288
929
927
314
406
162
445
935
17
892
187
181
280
539
977
872
244
884
301
378
685
124
755
520
546
865
893
15
597
341
317
61
987
465
996
73
228
63
100
320
593
664
939
782
750
174
509
714
116
448
222
82
192
419
353
954
430
943
414
45
308
929
26
78
125
13
910
362
566
798
119
83
431
523
720
865
244
508
241
354
585
734
245
390
395
685
11
769
977
37
654
438
180
166
735
936
471
737
229
404
862
462
192
791
27
64
517
988
215
19
924
462
323
478
292
837
405
368
491
102
621
39
208
537
628
634
152
712
745
720
527
216
98
339
241
299
735
698
30
108
721
215
236
813
953
692
555
421
149
578
892
804
71
576
542
353
112
264
925
402
544
457
948
519
354
715
51
374
574
110
445
35
16
465
396
638
767
630
344
53
271
292
180
193
318
508
862
873
653
970
508
397
553
261
480
744
197
37
772
310
662
321
635
402
995
40
674
776
419
194
909
918
780
238
754
190
622
640
684
700
742
500
162
361
836
557
661
439
117
663
643
469
405
288
628
441
883
542
95
181
637
800
43
974
764
336
466
883
761
931
410
162
540
196
744
170
168
219
239
270
780
139
571
128
424
747
270
560
477
903
331
764
806
702
17
149
548
280
958
259
215
391
636
243
996
979
563
558
492
595
375
941
32
592
217
538
888
220
701
584
511
266
7
375
117
63
22
278
626
905
73
912
13
132
688
761
394
228
609
367
158
855
662
553
993
190
952
970
148
592
74
125
882
642
445
394
410
774
900
874
536
875
919
141
445
337
973
42
696
859
165
674
173
236
196
609
301
118
554
840
716
59
203
248
974
335
399
146
114
193
952
810
76
652
913
472
192
913
914
723
442
405
262
230
678
360
451
633
602
504
62
340
581
633
834
283
637
762
348
294
144
245
341
491
551
686
933
158
444
157
371
549
721
963
963
695
29
421
990
280
218
205
231
583
920
862
217
525
115
128
728
206
694
86
150
306
206
110
207
781
160
675
327
558
642
304
794
136
805
430
238
669
517
930
82
714
987
519
184
272
41
553
61
912
496
356
827
969
346
926
500
1
12
451
441
862
459
555
424
868
296
948
628
422
202
294
350
642
322
11
920
208
64
697
684
805
285
890
965
641
675
572
666
648
878
712
234
218
262
402
358
470
772
656
369
540
308
196
982
879
206
603
78
497
51
939
175
743
100
232
229
758
386
986
568
313
442
340
970
358
769
646
262
584
140
742
183
394
552
79
544
585
445
132
59
797
291
981
734
295
921
701
107
626
558
92
25
281
230
237
452
221
409
209
975
459
391
913
38
672
144
641
294
916
822
552
439
967
630
924
606
924
708
986
49
784
50
160
643
653
292
413
977
522
310
974
680
858
179
213
833
285
582
261
215
682
122
487
671
380
411
949
743
673
948
19
29
479
440
204
126
454
191
646
231
485
749
861
6
885
1
308
550
855
944
50
953
89
7
679
253
760
655
48
429
852
9
844
860
739
977
323
249
422
526
960
465
252
460
309
644
455
616
590
63
2
998
521
341
998
440
373
864
538
414
330
226
781
185
138
892
192
920
174
963
544
722
17
410
510
438
422
613
130
900
92
692
955
473
516
772
731
402
974
547
493
983
192
695
241
65
208
154
806
205
866
870
184
705
232
184
275
357
389
560
370
31
725
48
201
766
427
188
61
269
678
476
41
186
845
470
244
475
117
798
355
196
654
451
830
617
191
783
838
509
156
445
450
961
850
454
402
785
266
819
530
159
832
511
520
177
711
856
368
690
484
561
522
945
220
625
513
618
709
110
259
748
957
144
635
481
105
75
981
898
990
147
366
572
374
626
148
70
917
672
658
158
129
731
492
454
281
276
783
181
948
172
78
396
255
405
946
66
524
518
530
936
289
62
33
398
183
657
941
139
374
675
820
795
164
806
941
903
903
295
291
630
717
213
161
711
628
350
343
193
304
783
884
858
522
600
322
332
845
156
990
601
429
776
864
552
588
594
798
315
705
381
152
757
518
303
114
468
952
348
565
7
288
920
740
209
717
841
858
267
761
1
947
91
873
987
27
587
66
866
17
231
852
591
837
594
465
639
571
819
853
109
696
667
285
990
318
438
254
70
757
918
851
279
487
409
971
789
63
884
556
452
615
214
620
728
256
564
496
259
794
846
143
416
319
152
891
600
641
346
540
709
429
35
342
963
187
155
550
473
569
616
967
992
557
452
142
340
986
150
958
787
883
717
342
904
412
108
185
9
134
140
554
257
135
165
8
162
495
174
108
78
785
480
518
86
542
35
144
996
184
589
361
697
469
71
72
233
54
593
499
558
807
743
757
609
55
700
680
126
124
737
298
83
977
105
899
938
646
959
99
806
761
223
386
696
705
212
756
453
515
861
714
74
55
646
708
223
354
790
825
468
65
120
206
67
621
63
622
163
458
916
222
305
969
733
624
407
858
204
239
238
652
451
927
656
716
824
911
225
446
635
867
998
908
845
267
189
534
842
675
918
142
723
473
350
435
135
590
257
268
354
406
970
346
189
375
661
124
969
818
494
626
850
926
722
259
228
195
4
35
732
850
745
898
433
5
652
851
684
325
687
685
356
977
7
983
646
300
833
416
218
481
436
181
699
589
82
875
684
344
279
287
382
390
13
74
96
320
511
149
824
375
237
964
388
406
584
457
489
832
249
460
669
748
993
662
652
514
236
475
673
203
606
478
934
694
260
862
20
852
663
546
705
714
159
866
81
545
703
527
598
586
630
744
756
692
714
260
648
130
942
109
681
506
935
234
588
505
77
820
501
425
206
518
475
701
278
389
411
217
602
417
814
644
831
152
495
47
548
670
806
490
400
660
408
172
358
547
59
640
670
534
346
250
561
579
723
963
908
46
932
459
771
738
521
200
79
944
717
101
589
862
527
520
177
406
536
412
316
181
427
502
198
976
323
587
623
313
731
644
361
448
961
99
697
634
219
772
201
585
587
902
743
6
829
838
598
98
115
674
380
37
285
681
616
883
777
65
201
782
4
122
594
566
966
0
479
322
880
270
402
260
887
21
829
45
653
800
141
774
750
238
204
741
718
523
805
380
943
13
518
816
978
415
248
323
637
878
708
48
802
470
491
593
680
642
531
397
585
512
573
357
962
696
9
700
843
541
666
779
527
269
885
535
881
798
337
148
315
849
249
846
959
682
911
76
186
277
871
230
989
530
340
205
373
571
575
684
403
26
891
96
40
293
194
965
122
399
941
420
38
154
448
203
666
770
819
958
963
676
100
245
527
676
455
558
382
396
561
599
464
885
646
624
988
911
547
774
942
869
145
340
506
394
735
302
170
85
223
222
440
274
579
89
440
15
400
183
995
859
458
377
432
396
512
31
509
366
263
466
762
956
193
90
398
506
442
376
551
798
391
55
94
23
218
839
656
692
76
967
344
258
454
679
46
534
558
556
985
88
768
652
772
816
694
983
467
977
255
941
66
831
713
699
292
885
926
925
40
941
936
722
669
448
827
626
64
37
387
739
692
356
235
973
292
938
981
33
120
276
951
834
194
827
679
41
687
860
310
48
990
975
108
630
32
528
676
691
523
408
191
881
20
379
216
75
933
351
436
120
406
437
97
29
542
754
899
128
337
558
210
79
151
185
136
665
522
244
222
430
948
461
697
519
451
681
208
169
129
475
852
782
913
241
513
965
723
702
926
15
194
375
195
290
959
877
263
346
149
132
630
427
141
22
85
385
780
776
717
79
384
518
876
356
480
985
244
319
889
302
491
727
153
934
764
655
109
103
762
146
668
216
489
555
846
276
655
644
140
759
364
218
13
782
454
298
332
687
485
160
734
883
853
325
174
43
447
138
558
675
358
570
839
25
545
890
252
293
681
786
75
194
445
958
788
563
243
536
663
373
158
789
873
215
279
360
861
544
601
130
514
423
873
112
891
829
729
907
351
417
626
550
606
509
236
792
299
634
919
685
474
15
511
114
755
897
553
939
462
116
246
825
782
877
828
87
93
118
296
498
643
771
485
900
502
242
865
564
907
895
79
590
980
91
345
688
154
850
888
729
389
502
27
947
312
575
944
34
567
110
638
738
983
41
941
835
600
950
593
14
530
28
705
292
22
331
434
948
122
534
636
990
126
860
192
492
31
911
176
252
219
657
381
531
296
627
264
712
290
758
571
802
238
29
790
463
394
480
7
644
183
818
802
38
749
966
527
11
799
789
980
825
806
322
306
861
243
199
13
311
700
325
126
405
880
134
69
878
99
975
223
748
177
778
597
765
358
511
745
988
219
790
586
24
126
542
774
189
47
396
649
73
172
855
347
634
959
771
667
473
787
782
408
166
304
63
311
182
297
420
274
922
150
511
90
979
189
654
869
18
967
511
620
685
137
613
877
946
776
595
924
275
94
360
916
440
295
543
504
884
451
618
719
907
166
292
245
13
76
47
702
78
230
429
391
111
903
469
945
766
819
99
773
765
144
435
796
549
121
484
325
510
30
722
873
524
850
937
534
594
908
320
548
612
983
325
108
725
584
149
203
64
816
277
945
571
459
339
596
78
437
734
769
750
301
125
5
688
430
572
125
798
199
56
445
98
217
153
702
84
369
499
897
743
273
921
77
873
899
906
992
546
935
155
745
16
100
622
458
705
993
207
569
895
219
684
202
256
512
204
574
228
775
399
486
687
251
624
794
734
390
435
289
12
200
320
570
486
985
478
254
878
301
204
384
407
355
285
90
691
295
481
918
522
336
369
404
155
921
744
911
872
140
156
680
699
634
696
93
608
421
989
379
792
689
142
251
747
481
920
255
883
911
48
895
220
267
142
577
105
248
744
552
161
614
204
774
137
296
937
353
955
579
269
941
146
156
778
224
349
233
618
377
388
979
130
573
182
400
223
689
245
517
352
991
317
840
83
981
51
61
462
697
5
603
303
650
596
928
91
189
276
200
245
244
164
638
113
182
117
219
971
529
444
551
895
48
573
812
923
324
352
323
20
856
100
223
317
610
384
831
111
365
373
115
620
904
521
799
695
282
42
945
277
184
334
953
973
420
791
24
450
626
197
891
648
796
612
956
789
657
662
539
81
141
682
644
903
353
976
843
882
754
746
617
100
566
979
463
964
487
689
31
330
89
379
507
375
431
81
289
497
598
219
275
293
436
515
391
868
162
845
499
427
489
735
116
452
860
904
125
608
865
314
873
729
872
479
930
390
961
716
883
676
313
460
190
28
641
441
677
962
124
832
639
199
614
852
770
436
248
963
554
74
282
89
245
287
95
710
466
826
473
348
281
341
183
809
705
607
449
165
13
825
361
175
313
760
831
466
137
195
389
892
757
188
952
662
619
324
828
819
294
634
766
426
79
33
322
52
465
883
554
190
76
133
996
432
389
349
89
988
93
283
533
582
441
774
931
756
986
133
812
766
624
358
632
703
367
936
7
131
303
969
343
958
769
224
893
825
142
314
938
590
536
444
939
570
883
120
414
105
259
204
277
257
216
488
301
694
549
235
301
928
722
585
955
612
113
155
992
814
501
73
551
725
115
401
878
714
587
183
419
551
982
752
369
314
447
119
304
805
177
435
654
275
259
457
766
621
829
863
678
38
723
207
653
337
289
214
305
282
546
470
621
382
627
514
713
919
193
853
111
483
754
935
678
290
752
840
771
825
530
514
6
896
268
669
853
84
661
680
871
917
19
102
858
56
932
566
552
141
217
982
896
734
977
943
490
41
167
172
366
608
148
965
454
470
517
533
472
232
289
342
750
174
299
976
142
430
861
350
365
555
874
912
582
266
912
255
488
30
810
531
833
997
977
542
3
75
853
435
208
164
546
475
998
24
441
863
285
347
378
759
290
400
762
982
316
517
476
360
245
45
688
450
812
357
394
501
202
492
77
800
134
233
984
481
775
571
272
467
12
908
699
622
238
49
902
380
629
688
231
547
525
584
317
828
11
201
303
626
441
871
706
773
845
692
585
285
40
497
411
752
123
62
219
828
973
695
115
949
36
482
663
893
165
152
10
419
470
322
133
158
966
153
445
67
385
396
40
187
375
754
823
863
385
937
447
746
252
110
888
271
881
370
482
18
492
202
975
290
579
917
285
663
498
925
719
583
51
875
825
449
833
276
650
684
644
353
802
265
589
600
893
505
643
772
705
38
879
923
914
496
305
126
431
620
829
526
403
578
235
430
996
554
981
57
427
930
687
817
315
649
774
602
750
3
617
865
164
958
953
547
359
870
748
905
879
416
88
551
435
209
485
545
997
312
703
688
311
750
559
237
14
611
528
850
840
478
308
42
145
57
741
559
145
195
65
786
622
680
355
663
113
314
369
28
893
286
232
586
808
779
442
46
890
510
833
231
914
85
362
229
240
249
737
209
561
875
209
416
954
655
408
851
7
795
869
495
939
716
891
59
747
755
265
331
696
725
916
34
986
329
394
392
664
546
92
853
313
257
575
540
283
116
747
35
342
588
719
756
566
947
74
490
802
532
322
742
789
132
594
460
966
932
736
925
498
783
473
237
207
224
277
518
989
916
305
698
880
587
52
795
560
461
168
533
261
352
996
938
435
440
339
880
308
254
633
795
791
3
683
323
497
332
577
547
538
949
638
622
413
943
732
544
972
924
402
672
518
414
461
386
936
527
344
458
179
570
514
753
970
62
872
908
586
478
686
939
146
491
898
727
586
50
356
83
354
972
592
905
953
194
156
96
474
920
228
480
183
248
561
143
247
877
96
599
233
173
861
438
839
738
556
361
962
472
771
985
498
682
761
702
293
624
313
657
657
89
612
859
982
447
308
203
345
492
849
862
637
837
10
319
827
138
746
554
116
328
407
413
531
876
877
825
16
138
992
529
446
774
197
856
13
355
926
893
164
926
940
147
162
634
92
12
254
137
84
627
454
112
12
423
310
219
316
969
148
523
344
130
193
269
160
64
220
907
119
854
627
975
161
239
79
96
641
908
982
662
649
964
200
831
958
253
17
354
273
350
623
467
287
337
316
262
198
39
140
407
289
977
966
303
171
93
581
849
619
30
31
77
521
743
833
746
994
30
41
843
240
259
415
401
974
631
476
4
380
445
349
432
182
234
450
65
486
804
980
900
967
851
251
557
112
205
425
95
973
787
799
500
229
648
19
206
403
328
711
278
846
677
524
671
962
923
796
702
819
76
844
415
785
301
462
417
182
840
578
918
911
726
391
605
929
717
211
234
469
615
995
239
994
769
175
378
641
673
5
68
921
658
21
336
299
392
381
955
906
155
75
729
980
564
866
36
144
195
951
638
521
873
76
441
262
757
874
755
753
755
696
343
180
313
200
39
658
50
219
80
703
931
751
385
442
440
685
47
429
511
980
437
973
86
601
666
935
717
52
982
870
405
601
33
686
194
415
268
931
238
37
147
126
468
441
369
374
489
860
320
208
613
398
709
289
249
559
121
393
712
971
590
96
563
386
667
275
461
595
995
469
487
681
141
229
46
925
736
438
880
216
704
3
874
924
115
63
761
388
49
313
614
647
888
526
775
155
729
812
355
222
714
822
57
531
482
7
824
1
4
303
691
369
867
352
870
224
581
355
74
806
359
958
979
961
559
844
170
966
120
765
622
533
148
995
286
928
641
400
531
692
187
404
127
239
400
194
924
32
332
852
705
773
485
717
101
670
421
206
61
416
486
255
598
476
122
613
207
327
785
283
329
16
486
722
783
590
559
484
493
320
163
436
308
954
734
271
792
758
841
448
639
70
484
357
560
882
211
736
421
996
667
477
921
363
16
311
554
786
670
397
416
523
913
436
709
835
129
840
754
35
501
13
524
384
609
75
202
936
570
744
124
256
710
282
369
83
325
1
695
498
358
845
635
625
485
830
80
393
115
83
222
124
78
801
603
263
675
224
10
829
23
857
240
518
197
289
538
268
695
563
601
11
141
266
35
176
989
124
456
666
15
847
792
823
107
647
591
87
353
604
51
550
883
725
859
958
808
48
274
834
238
394
20
204
767
89
278
550
800
557
350
110
108
7
925
290
346
910
245
689
380
61
654
896
745
563
429
290
774
358
704
220
521
567
166
713
638
960
187
743
781
858
143
839
334
577
223
686
322
579
551
445
954
426
317
896
728
925
780
319
91
653
350
127
418
132
281
563
546
230
420
125
167
128
561
52
749
856
595
421
462
238
809
367
900
95
765
41
425
145
338
822
982
445
135
527
502
650
362
490
540
750
487
373
874
131
782
209
243
530
67
905
109
709
15
68
688
810
577
968
730
571
34
304
618
688
586
395
499
873
787
906
334
992
445
978
620
158
55
59
862
487
751
975
279
644
902
488
164
27
265
706
529
740
88
90
765
362
141
434
353
818
563
41
611
854
245
399
320
613
814
428
806
862
441
121
810
829
69
130
782
209
28
249
580
954
19
757
679
467
629
936
416
680
367
856
557
819
428
468
65
106
283
30
696
42
50
404
876
955
861
348
747
7
630
285
263
556
699
257
599
633
468
75
821
634
365
912
194
632
525
144
605
986
378
466
571
690
72
988
766
238
408
952
68
456
48
239
890
440
367
386
700
884
935
712
248
476
828
992
845
999
784
565
203
858
584
351
530
421
227
951
693
262
17
104
177
470
943
850
308
445
685
325
902
923
114
22
569
729
731
511
26
207
199
881
626
166
777
241
494
621
957
503
740
405
600
635
97
280
767
133
275
379
80
334
334
63
163
639
897
354
894
564
781
333
175
414
99
434
702
621
158
566
532
695
547
554
752
406
153
530
815
236
52
66
508
803
991
610
631
329
67
667
889
821
987
942
903
39
581
706
812
189
852
134
742
245
514
512
350
779
627
370
58
485
407
534
128
648
916
471
332
344
663
365
990
136
824
780
350
574
521
464
424
142
322
339
923
521
690
434
693
527
833
346
990
957
268
617
183
163
477
187
551
821
26
787
385
587
367
934
711
349
801
417
283
401
23
960
482
907
449
526
908
38
148
521
966
114
865
497
328
493
36
151
313
209
575
457
755
943
738
681
994
268
407
923
918
313
107
678
287
292
179
16
113
582
488
430
599
605
191
636
222
466
598
956
649
863
751
934
858
89
871
32
620
720
878
645
264
339
189
776
359
241
443
41
575
718
23
305
315
913
389
63
664
280
86
13
123
597
449
443
202
215
756
501
298
666
65
234
399
900
502
433
899
472
659
689
655
464
432
485
184
740
33
508
372
771
622
375
289
901
865
534
402
720
988
635
263
692
540
37
967
705
251
449
670
125
841
981
906
310
973
950
771
737
378
557
322
69
937
744
520
228
660
293
796
308
66
908
132
204
622
979
765
160
382
460
957
906
326
741
820
949
665
51
726
642
773
736
47
386
637
681
174
358
565
79
514
823
739
414
437
636
731
615
126
846
723
601
991
593
658
174
752
571
556
209
474
544
501
49
349
784
390
684
387
614
411
132
372
654
468
320
925
962
170
793
188
454
936
643
877
528
156
812
901
217
734
730
472
217
313
233
433
175
386
565
180
404
687
638
306
953
862
415
637
936
164
339
23
267
948
942
760
346
476
536
424
253
873
370
811
164
72
647
327
458
514
391
382
469
125
256
689
436
296
459
483
208
161
388
309
21
694
183
968
75
459
2
867
614
385
936
968
764
581
984
46
312
399
153
920
395
293
51
787
631
867
23
606
96
253
97
352
706
973
925
971
144
844
205
564
653
631
20
138
269
957
100
435
867
182
903
436
430
73
36
386
417
728
874
918
420
625
912
684
76
501
133
585
915
840
693
782
90
906
958
492
284
895
360
727
516
215
422
208
84
746
390
782
693
753
394
522
822
764
217
714
846
988
876
95
864
166
434
942
751
281
232
51
222
949
825
6
235
23
421
933
408
124
818
69
124
858
251
253
491
242
471
306
821
120
290
146
14
872
69
667
377
165
569
884
223
275
802
55
730
73
857
281
166
849
318
387
916
920
44
392
309
6
414
112
419
118
983
478
444
768
411
182
929
202
581
815
11
643
415
660
882
851
788
776
857
894
802
995
613
639
341
127
816
97
769
667
95
206
981
221
268
113
229
117
462
893
219
548
107
528
886
994
545
501
663
743
217
111
802
130
845
319
2
613
631
985
559
146
436
776
347
834
120
356
749
45
487
575
2
969
700
130
317
644
772
254
398
955
511
179
553
329
417
904
426
37
811
530
635
920
410
138
786
464
43
946
2
741
881
43
844
995
616
323
743
237
917
596
268
25
353
654
923
815
488
633
479
854
432
111
183
426
384
348
584
504
87
467
180
148
605
811
78
779
99
831
629
385
462
688
890
159
964
852
532
658
384
216
132
913
935
477
668
618
834
432
48
800
158
111
923
11
389
40
448
919
179
366
801
723
681
24
459
975
862
649
253
370
692
253
26
806
476
48
513
856
558
482
226
378
897
335
738
119
628
190
295
591
936
814
312
854
597
734
733
90
276
833
195
999
799
561
346
36
557
550
367
763
39
10
782
946
780
938
745
999
337
183
870
203
733
640
816
58
754
510
397
981
199
884
651
811
952
289
552
120
291
972
313
160
991
331
132
146
436
378
751
564
573
789
281
970
196
972
631
957
692
614
894
934
425
275
440
563
865
254
841
657
101
430
245
269
542
115
436
188
795
859
788
130
709
435
468
91
397
576
809
89
245
833
363
590
918
424
151
766
864
715
731
378
712
121
860
957
528
701
275
8
190
62
838
911
977
651
589
641
412
524
109
52
735
734
908
926
429
469
484
680
936
65
798
67
539
882
2
268
183
162
696
639
965
358
154
244
294
93
436
893
748
483
580
930
167
763
188
589
676
287
429
147
773
511
948
179
414
234
527
486
653
956
72
874
194
894
709
939
157
723
207
43
227
497
482
588
686
903
166
592
326
642
998
212
116
761
920
290
476
902
124
96
269
463
337
944
868
586
605
218
636
181
729
635
360
580
194
856
919
71
381
938
121
699
396
318
615
372
962
206
374
827
759
868
263
913
751
686
415
227
178
16
163
267
122
109
172
414
716
532
468
24
325
230
47
797
491
693
455
901
801
219
13
490
363
625
437
109
558
967
981
561
848
134
761
960
767
576
188
112
833
622
430
38
663
696
201
5
8
826
661
267
144
878
770
489
454
361
419
883
88
976
901
589
211
91
447
900
508
46
394
262
600
943
160
191
159
552
261
937
716
161
177
201
503
751
776
339
216
788
434
351
447
381
47
953
463
248
862
195
668
155
179
541
571
14
511
553
802
849
682
975
804
313
415
114
775
560
773
40
355
655
522
799
434
876
308
317
520
419
660
534
917
77
556
314
850
657
796
85
858
983
486
888
417
599
94
183
251
460
787
22
190
431
293
557
989
784
460
979
503
419
693
204
242
437
302
796
17
403
518
323
245
359
363
677
523
572
794
134
539
330
494
773
536
178
497
559
345
467
461
698
428
410
610
828
92
882
457
170
250
796
38
382
136
52
861
658
949
423
65
792
363
3
793
138
362
197
430
24
257
972
416
573
82
229
478
164
261
201
316
717
109
216
941
738
186
297
358
411
156
302
332
837
159
321
574
98
918
868
763
320
831
795
212
324
820
643
497
899
938
801
133
289
511
531
720
910
739
871
607
0
457
722
261
776
438
874
741
381
124
777
392
937
887
661
841
690
626
374
153
137
72
713
344
896
982
549
245
458
308
766
112
227
531
386
12
457
352
846
699
769
709
635
484
669
77
964
692
675
182
7
353
30
134
484
762
483
630
993
73
538
203
159
886
683
375
58
232
92
513
548
264
754
695
54
942
994
227
234
51
637
431
375
77
586
164
954
13
148
638
168
107
658
429
786
520
737
624
827
444
818
104
230
81
806
331
430
956
750
864
48
354
97
683
797
530
772
865
855
991
246
600
873
502
268
356
395
640
912
797
813
485
832
663
659
393
799
853
149
922
825
425
698
601
161
247
440
615
923
83
713
921
791
125
343
895
68
816
962
845
876
22
207
715
609
695
670
549
136
871
55
128
63
286
767
621
653
97
226
127
147
574
99
572
146
331
271
884
408
606
498
446
172
20
70
284
853
187
884
613
575
175
596
667
46
37
891
642
483
179
92
344
232
121
312
686
807
952
527
40
480
18
830
24
216
604
575
987
248
805
796
476
670
25
11
635
824
796
900
120
13
673
807
711
919
316
268
127
510
200
116
296
678
133
984
974
302
972
888
451
966
695
960
861
251
255
474
914
190
829
583
877
530
324
622
563
451
979
151
379
415
490
489
58
894
383
5
641
624
922
656
261
325
719
112
609
279
142
639
192
743
891
657
505
785
729
80
936
824
883
275
804
836
887
121
570
781
496
773
375
639
127
767
330
568
234
609
746
569
89
122
177
931
234
25
394
911
53
970
79
596
629
953
538
555
905
438
428
643
4
711
584
930
867
75
861
893
306
242
581
974
450
502
944
728
933
263
988
256
293
495
788
681
408
363
424
498
163
919
933
167
459
415
49
504
350
864
999
813
767
453
84
521
867
804
919
785
454
73
784
992
275
748
519
60
89
206
394
193
652
373
49
683
286
456
2
335
406
491
465
268
932
98
44
561
413
751
174
958
955
822
671
442
372
369
344
226
59
411
118
975
349
239
18
757
15
295
505
297
648
579
377
212
125
694
76
113
13
252
292
890
823
41
976
430
62
199
467
681
422
13
685
661
534
124
867
81
629
717
654
900
574
894
588
62
320
292
993
830
786
429
603
851
940
39
697
936
562
919
447
361
63
362
871
709
107
164
675
102
722
371
503
155
656
673
535
844
901
65
336
92
498
877
335
38
151
16
148
231
757
614
570
989
843
920
133
321
839
188
255
305
107
811
635
390
580
736
462
24
352
803
448
128
147
930
474
928
450
926
242
506
327
794
728
557
424
209
561
577
910
945
172
202
271
978
748
18
305
198
841
309
438
541
192
203
269
691
232
780
538
419
317
744
891
481
258
843
220
27
711
765
348
169
462
245
444
780
454
349
368
212
6
122
612
370
104
533
385
571
37
596
884
419
619
301
374
206
508
675
316
619
236
916
879
671
62
642
355
745
36
530
697
555
185
497
789
143
617
907
720
357
302
296
963
584
813
680
361
179
570
525
29
794
778
563
656
598
319
863
153
705
8
354
240
699
485
254
142
921
80
249
834
253
400
728
968
635
301
91
454
371
881
590
226
846
322
337
184
704
43
858
948
153
593
43
218
388
296
545
572
293
166
291
250
782
873
251
924
234
342
900
131
988
285
914
816
303
884
450
450
421
56
625
646
722
662
272
759
212
303
655
816
940
93
510
169
938
750
60
820
855
607
436
422
554
930
230
599
356
405
764
957
230
359
929
787
120
501
137
745
820
224
267
246
602
497
496
300
513
252
646
252
386
931
108
696
873
756
616
716
354
526
959
536
748
631
297
693
335
472
738
148
902
766
234
173
979
479
920
333
769
808
51
697
558
287
597
919
580
259
969
543
513
993
17
959
893
957
856
78
245
548
707
455
959
306
756
585
696
458
690
369
911
521
305
226
158
159
617
783
864
383
431
439
798
191
115
804
397
370
914
110
156
559
440
797
559
312
964
579
590
575
737
865
731
720
136
607
585
81
564
977
539
437
618
994
309
540
811
720
572
850
497
260
314
279
175
655
358
597
466
457
523
41
548
877
903
111
729
30
560
257
780
598
765
13
181
35
732
100
773
516
609
682
911
969
448
401
670
376
967
155
661
390
743
872
347
622
710
340
621
894
677
112
587
216
14
598
899
375
733
652
371
320
684
794
933
478
585
496
362
54
35
824
502
303
552
439
541
337
349
116
576
751
410
144
130
982
716
8
495
37
881
568
428
711
891
224
302
256
145
194
299
709
506
666
874
466
705
587
681
3
566
906
714
969
239
675
823
262
887
399
213
40
353
212
187
660
759
884
428
845
603
804
924
349
149
763
893
221
168
981
78
112
450
504
415
317
746
95
839
417
25
769
592
989
61
122
548
319
160
462
806
786
968
427
191
657
902
561
976
611
525
707
464
67
950
331
973
575
957
452
77
324
388
330
205
448
549
293
838
301
331
684
644
325
742
879
609
531
243
750
5
245
640
897
102
136
253
160
888
513
776
306
258
888
181
426
840
534
502
694
615
471
753
314
975
353
451
954
99
808
155
21
756
829
534
444
170
873
429
438
831
365
225
907
407
382
357
262
539
691
627
424
838
56
58
643
865
607
112
31
291
453
845
106
493
526
528
917
290
439
527
103
122
969
257
268
662
400
991
340
443
958
776
212
936
542
595
266
461
858
875
389
334
495
364
740
504
132
358
72
475
90
204
190
136
922
540
350
404
645
434
292
454
382
588
720
174
844
396
441
544
791
383
247
155
302
864
41
256
303
919
505
409
790
240
226
750
830
766
374
375
272
52
707
613
474
247
167
467
668
665
338
458
167
540
350
355
402
273
594
733
371
394
200
397
362
32
815
23
774
385
748
816
282
724
559
877
61
534
14
689
473
928
814
69
739
722
817
9
909
257
844
808
463
892
710
648
818
997
956
61
171
62
547
789
737
605
872
405
566
644
373
848
21
6
437
582
149
278
413
766
281
833
615
86
792
794
481
192
795
950
705
166
596
523
225
606
133
447
401
546
869
133
982
63
82
888
555
409
999
451
426
530
325
246
428
219
626
819
93
512
239
115
113
670
24
831
222
32
899
756
440
355
5
429
393
512
42
427
464
294
513
126
763
271
487
827
911
437
190
266
182
251
173
627
717
656
456
587
290
692
883
514
476
829
154
628
872
149
517
801
844
772
918
413
616
315
871
116
696
265
913
577
681
766
208
373
13
196
575
728
391
463
515
441
46
824
760
270
437
669
873
936
411
465
325
7
872
885
749
632
143
444
742
692
193
103
621
513
368
563
178
897
931
351
895
848
803
275
438
504
955
202
296
524
485
618
857
712
541
25
423
454
708
259
763
981
867
525
456
847
536
824
650
533
268
32
289
65
972
8
491
54
301
709
830
760
872
541
501
632
481
294
777
466
453
52
505
875
837
269
403
617
267
103
303
99
260
147
369
40
380
9
26
175
982
921
291
748
94
524
74
761
288
187
446
108
772
891
93
400
618
429
15
860
210
92
445
767
701
205
272
623
213
281
260
221
260
427
818
178
712
684
985
740
104
289
213
633
483
115
146
659
677
477
405
948
385
510
404
675
370
991
650
662
142
667
6
379
875
306
171
43
287
677
132
623
993
427
524
882
60
206
48
365
19
353
87
684
546
570
881
460
236
207
565
438
464
779
236
104
792
3
34
329
379
136
642
171
861
115
428
951
688
179
331
272
596
341
375
630
746
133
528
779
486
222
392
465
774
997
686
163
121
104
506
63
460
707
344
713
567
446
653
798
356
357
595
260
566
95
378
745
763
468
928
485
115
610
424
772
177
865
429
151
159
896
941
634
618
972
660
142
0
914
988
861
58
577
46
479
253
924
285
274
685
207
867
602
845
718
721
20
120
188
564
512
494
907
347
191
955
814
771
309
676
985
105
121
562
334
516
188
614
730
160
591
915
142
96
934
889
726
602
165
740
805
136
666
734
870
698
437
585
993
849
717
295
863
454
702
163
527
765
509
596
247
280
774
432
619
42
331
550
55
765
268
242
361
520
268
689
763
834
883
730
656
442
411
956
346
562
617
496
762
87
869
508
255
260
745
263
647
528
340
682
178
42
322
522
810
194
583
665
6
76
562
752
264
881
900
359
356
948
509
607
879
541
757
923
16
529
32
376
16
389
806
724
346
336
746
505
330
760
205
74
512
369
110
116
142
476
568
756
0
228
151
155
897
663
742
865
907
525
962
830
723
337
785
755
149
43
639
615
96
804
530
195
896
531
909
779
550
583
790
838
693
41
999
21
387
881
354
324
908
343
133
358
230
943
681
471
951
627
949
265
497
479
748
374
415
80
963
700
471
512
60
197
589
324
936
352
489
85
749
806
105
175
587
880
62
360
632
503
209
247
942
946
364
831
420
20
946
461
329
503
854
565
906
778
890
915
38
445
537
288
235
196
828
526
597
925
730
513
80
897
753
846
474
604
222
852
175
667
572
97
780
717
797
821
46
876
438
593
18
554
217
703
293
504
470
917
523
931
916
970
139
16
728
298
57
248
269
740
952
388
34
55
330
604
278
547
196
294
754
303
991
800
475
860
281
942
467
51
737
490
43
928
546
235
369
21
526
227
55
727
783
436
787
93
933
78
220
719
337
865
66
596
540
488
874
224
304
612
766
29
169
18
435
790
809
277
853
564
65
459
466
594
173
861
307
210
613
685
708
571
963
896
247
745
294
811
915
879
240
1
29
31
53
177
954
570
968
507
865
330
544
633
867
824
192
233
834
762
834
296
806
21
606
353
405
113
264
297
993
988
498
220
672
945
128
996
506
571
636
895
175
732
914
757
268
74
873
533
489
395
32
276
360
113
115
949
317
469
746
869
780
228
398
904
824
697
689
644
852
750
167
736
31
254
293
558
83
39
525
273
670
653
21
986
537
104
155
252
193
76
915
168
417
755
436
390
259
544
678
692
807
139
223
620
86
551
444
513
528
750
148
318
713
250
109
788
419
490
489
906
316
996
652
723
861
531
644
117
951
638
167
665
595
218
26
676
763
843
355
306
855
336
525
288
431
708
603
455
429
579
391
201
349
637
827
594
540
805
147
331
563
482
161
878
349
712
29
883
279
852
966
34
277
694
994
992
245
401
470
262
349
861
999
451
255
337
468
395
988
483
152
893
200
78
181
255
757
855
475
724
657
822
140
547
830
760
49
872
900
759
145
287
944
369
875
959
437
151
282
815
584
772
573
71
778
907
180
124
389
185
747
57
632
897
872
558
930
782
351
834
834
709
409
554
422
145
327
335
544
573
687
77
138
953
735
870
706
683
403
272
165
8
16
684
153
306
965
46
653
760
969
528
695
280
247
468
183
646
876
211
459
112
929
169
580
797
253
600
903
926
875
800
442
758
491
50
450
176
394
12
255
695
495
262
786
974
448
225
737
37
137
431
658
187
204
346
667
951
41
43
554
49
555
568
109
261
813
760
89
827
150
111
486
483
176
184
605
272
567
636
557
50
365
760
723
129
251
519
514
192
490
372
666
192
844
489
663
671
627
354
289
840
283
841
241
241
921
813
320
23
684
189
795
496
62
993
18
227
242
995
644
178
970
722
442
120
528
63
951
140
700
205
581
442
201
124
730
911
208
715
135
797
718
508
44
569
258
305
156
593
243
176
213
563
468
353
802
124
256
39
631
295
950
748
192
3
905
721
717
673
292
84
627
825
111
945
181
320
762
968
469
349
668
22
677
460
921
696
698
452
51
464
288
244
931
33
757
976
159
852
740
374
930
505
24
218
539
259
424
937
114
243
22
29
560
9
680
484
268
883
747
734
301
650
433
714
476
608
827
621
984
811
644
642
770
699
540
708
492
264
221
769
647
122
392
797
38
782
874
392
55
939
154
267
234
388
965
25
368
266
228
361
19
683
50
31
753
394
39
565
729
371
65
645
454
791
939
736
283
742
742
845
478
926
865
976
814
353
941
188
538
390
55
925
786
682
649
82
776
597
471
696
108
731
368
77
151
935
93
429
314
874
647
497
93
288
710
392
293
150
825
990
841
103
269
527
997
501
1
196
714
659
584
192
793
59
682
371
286
887
705
628
593
418
911
249
292
261
379
874
402
533
118
476
737
988
930
695
440
597
69
543
748
958
73
222
613
210
158
550
916
753
362
539
539
206
202
840
606
717
268
62
739
986
514
57
120
498
132
14
459
659
285
56
204
628
81
197
56
306
625
471
865
177
504
323
169
231
703
182
642
914
535
410
790
210
530
846
966
713
501
590
476
981
872
73
319
556
725
149
514
226
132
850
16
617
148
694
279
7
484
864
378
269
140
273
868
37
780
214
669
668
854
126
785
313
738
967
977
96
443
803
768
384
431
694
992
848
958
507
164
170
710
868
557
338
305
325
965
57
863
627
737
750
38
831
576
658
24
43
305
653
479
28
505
12
627
593
362
193
103
991
292
742
520
635
989
665
378
475
267
714
680
318
837
392
302
828
329
393
753
932
668
645
998
758
526
728
781
521
520
148
700
343
50
353
434
323
826
112
478
268
304
218
3
468
255
984
969
394
332
916
720
478
669
424
461
61
225
417
498
550
137
508
578
481
228
73
420
745
513
765
808
429
855
489
554
611
948
67
670
229
592
829
871
637
84
370
233
902
596
799
140
159
711
13
89
911
443
11
54
464
173
618
417
265
355
352
661
978
527
773
929
943
322
235
924
110
619
887
66
394
934
475
435
938
810
80
632
998
648
892
785
87
955
795
937
957
205
579
142
876
603
5
326
78
102
570
138
747
684
898
528
290
605
668
716
517
588
952
949
57
580
441
855
504
748
958
975
236
728
76
204
122
119
630
415
545
622
885
568
860
878
323
583
51
325
13
565
40
418
684
108
492
68
565
279
811
997
632
218
675
565
763
548
814
200
688
203
327
85
801
65
775
908
144
743
425
587
191
179
39
626
744
520
134
266
684
523
863
498
72
832
987
632
645
965
160
275
321
693
344
784
310
100
797
122
267
462
487
655
605
691
240
707
972
849
920
388
223
31
547
921
796
82
950
665
860
930
811
400
923
327
347
549
259
533
358
50
222
576
276
641
582
262
478
891
438
367
12
697
930
568
832
682
622
943
332
666
743
802
930
586
414
493
917
743
8
160
960
643
642
963
940
90
819
935
989
169
823
909
295
308
225
526
4
812
101
858
330
914
189
29
26
91
206
655
209
397
47
724
375
269
812
911
557
986
335
433
146
998
789
367
641
415
882
265
977
862
510
83
505
756
721
268
304
983
870
635
58
131
458
493
187
851
340
422
420
534
837
373
583
337
757
712
592
688
143
71
99
180
23
796
817
805
52
270
44
59
537
695
193
39
921
356
410
695
758
772
908
102
378
497
795
887
51
824
587
121
58
605
890
65
194
42
135
512
149
225
483
451
341
172
103
569
6
596
784
531
508
627
462
77
744
592
466
493
69
72
967
419
401
719
709
886
191
253
319
320
478
356
958
46
335
818
715
327
418
542
743
554
52
542
232
783
66
284
785
419
443
119
226
124
512
348
979
509
104
16
813
302
350
52
401
454
415
998
978
640
645
281
905
896
906
399
74
83
20
167
960
166
371
123
291
213
718
95
655
838
139
469
672
103
901
769
935
823
785
374
735
372
980
287
421
215
981
634
345
173
500
892
450
869
771
996
548
194
856
942
981
393
745
893
330
59
542
340
427
749
358
391
357
929
20
563
898
959
217
581
821
225
365
219
557
294
53
106
555
354
807
263
281
766
36
139
787
15
396
476
292
665
227
267
710
200
679
718
965
441
51
640
711
906
553
729
258
83
663
630
118
674
213
894
104
117
667
55
752
999
787
987
901
210
602
643
4
37
71
116
347
916
31
909
435
743
28
152
270
890
672
348
711
473
435
244
391
972
971
108
213
580
238
326
765
204
345
337
450
537
655
6
837
511
944
470
744
368
607
782
10
737
456
651
434
318
384
58
231
179
235
800
209
416
153
219
4
135
85
686
733
334
519
452
783
749
553
931
344
743
259
505
909
313
186
365
566
593
707
598
356
312
731
482
737
569
269
977
911
869
608
224
655
728
708
101
581
702
324
273
947
192
959
20
563
575
505
481
387
169
681
138
709
427
611
392
501
517
373
578
732
488
969
970
90
85
171
267
696
796
534
405
730
278
581
244
765
323
746
432
862
45
415
933
58
241
543
35
50
160
631
646
195
836
905
213
579
158
670
22
324
64
671
860
205
692
920
682
11
923
673
815
746
93
858
248
731
177
698
106
252
592
866
951
809
261
383
949
42
451
648
829
197
803
213
235
263
935
745
461
997
525
852
191
610
487
778
990
300
67
90
934
326
459
795
241
73
621
807
836
773
591
206
882
709
480
583
793
798
561
471
116
111
66
175
321
743
438
665
896
111
934
139
640
829
719
997
822
504
317
715
149
292
885
430
334
789
294
594
332
159
574
666
69
909
498
352
299
585
257
56
880
762
44
968
892
871
498
781
178
855
833
122
268
521
332
608
743
375
838
273
626
422
7
917
958
121
735
643
195
496
874
147
449
469
620
422
914
707
110
502
363
177
716
557
206
168
112
861
54
124
867
345
586
729
49
536
56
681
271
434
327
119
155
779
856
300
547
28
90
536
238
938
127
180
257
668
212
24
264
788
933
843
996
547
934
348
378
640
232
193
340
185
746
299
699
268
91
574
459
453
380
191
836
710
866
281
842
252
268
654
749
109
290
518
447
59
221
854
721
3
132
277
201
672
133
487
782
869
88
739
963
343
921
224
540
577
450
839
703
251
327
401
212
999
138
430
921
503
548
281
75
212
226
272
230
953
233
193
363
884
455
751
853
641
768
604
447
360
431
283
927
840
792
931
500
257
686
425
132
435
195
271
641
444
595
802
916
644
208
931
536
743
784
938
697
509
489
54
49
305
64
78
33
538
808
81
550
251
596
15
493
491
196
606
378
340
817
494
467
819
543
278
175
248
304
387
402
389
307
798
465
150
172
249
408
808
424
718
634
308
785
355
231
245
649
971
823
887
670
343
613
428
877
190
245
5
440
834
926
694
916
979
691
662
93
218
29
895
104
295
489
917
380
502
757
221
894
285
491
756
526
485
893
961
901
678
460
589
601
251
616
208
932
249
796
221
389
56
965
680
633
25
108
497
620
876
623
967
911
806
555
994
642
633
421
996
293
516
107
886
541
632
626
486
126
360
771
722
546
148
12
235
66
681
311
896
72
718
773
388
402
521
381
918
734
130
422
24
316
147
372
232
643
533
887
711
613
542
859
620
97
825
14
731
361
709
134
75
397
335
293
792
983
816
196
440
581
737
354
328
479
213
299
520
212
732
103
229
483
801
603
387
626
173
84
676
249
313
452
550
583
644
715
310
689
972
574
542
224
608
900
953
107
922
178
464
902
801
187
556
238
206
614
147
820
163
321
708
306
711
762
12
28
408
232
596
795
689
202
582
404
594
383
539
374
891
261
594
409
319
815
473
956
644
100
675
695
263
138
792
446
633
526
350
371
326
492
474
955
112
483
183
523
328
635
252
203
589
379
764
550
66
728
63
140
239
533
219
69
513
284
592
405
611
269
630
741
381
304
756
390
164
991
404
584
423
171
756
345
950
961
30
505
338
849
931
446
955
297
600
123
954
955
151
538
322
287
870
746
297
183
986
432
21
669
723
401
325
125
105
491
472
78
960
149
598
258
231
747
948
584
90
587
306
679
718
880
42
681
718
987
260
412
340
234
423
942
230
922
15
822
769
786
355
816
184
422
443
118
262
742
688
230
111
679
669
289
638
545
983
34
520
458
636
219
386
508
692
294
754
27
933
298
572
935
733
914
913
262
989
529
911
562
408
230
491
934
456
340
325
457
964
34
937
326
350
129
617
795
987
874
729
105
110
366
696
254
849
323
376
435
380
855
956
422
353
881
703
59
768
845
370
573
319
408
843
380
568
152
163
173
631
10
65
202
669
861
13
848
740
157
797
434
217
163
363
572
209
559
661
848
459
692
830
435
235
166
816
516
50
34
494
605
260
614
327
194
679
787
157
169
876
928
664
541
321
95
525
314
939
439
1
929
754
459
31
719
930
894
393
610
28
634
853
673
609
120
47
866
578
289
62
551
876
725
24
183
859
626
661
67
834
642
622
384
730
409
257
982
609
514
603
364
588
295
858
840
444
758
377
410
639
984
945
295
258
813
854
834
194
102
828
139
294
728
110
174
555
288
908
183
649
497
714
637
639
232
20
892
566
565
377
479
232
123
888
341
353
404
263
829
874
237
784
319
839
839
339
452
390
301
656
707
759
26
566
865
610
450
939
967
345
285
159
543
695
467
505
808
98
212
567
850
607
114
455
942
790
788
841
207
868
394
561
463
409
944
783
979
768
674
629
939
320
969
378
727
523
63
824
765
674
793
89
998
731
361
618
13
536
68
456
825
325
888
843
562
116
5
624
844
62
316
431
511
120
562
787
460
486
168
986
548
389
585
302
65
801
620
737
475
439
464
651
289
98
660
639
385
754
615
883
742
701
67
554
836
707
874
717
451
743
82
792
219
80
658
425
854
495
915
889
292
497
525
393
958
101
384
353
62
474
66
592
308
805
624
532
911
361
825
928
146
727
609
566
979
819
818
622
736
754
59
437
907
714
76
1
340
561
268
199
370
142
117
854
116
889
716
644
826
598
294
188
349
987
249
790
268
166
64
148
994
798
307
708
227
558
574
675
731
653
912
258
521
928
369
826
85
417
178
355
83
317
562
168
437
306
227
315
936
983
467
711
392
550
942
159
163
265
515
163
327
951
0
586
358
925
325
901
730
381
888
388
842
819
534
944
447
371
223
895
867
918
518
971
858
274
260
339
557
135
34
640
272
84
127
15
616
954
615
413
988
795
356
238
424
980
174
121
176
454
372
294
245
520
108
327
76
389
538
748
103
965
846
119
891
679
343
644
236
946
90
863
780
367
864
348
190
789
994
859
134
744
950
922
906
882
22
518
894
955
844
527
556
896
104
214
136
156
776
886
198
754
135
465
312
921
975
801
182
985
800
706
266
723
269
841
383
641
930
454
143
912
633
785
827
395
183
885
602
723
346
702
17
986
935
671
665
88
873
46
108
345
336
489
549
13
699
45
654
625
996
218
322
374
691
763
869
570
943
223
630
612
691
646
348
340
223
22
742
883
256
614
760
896
44
871
724
76
350
465
958
926
363
926
121
593
304
899
993
162
673
80
316
473
501
681
902
550
124
86
486
862
75
956
852
860
458
317
292
805
998
579
615
584
848
127
582
438
394
941
255
177
795
716
716
325
483
734
965
984
972
848
344
83
716
940
52
598
603
795
152
252
788
920
725
965
436
321
782
421
716
574
638
980
502
771
415
947
514
341
496
121
16
726
323
757
683
593
208
185
24
111
903
306
700
842
208
164
393
204
623
769
746
608
573
929
747
812
534
476
477
357
996
402
605
367
896
543
353
696
745
506
933
954
767
346
353
117
842
927
566
866
461
313
422
907
174
10
610
333
550
514
780
481
715
386
824
516
995
679
133
883
468
778
649
613
768
262
635
491
187
839
116
668
787
182
611
485
770
976
88
530
809
684
888
310
317
773
964
360
312
516
873
659
879
557
916
797
250
865
954
628
709
657
97
319
680
343
739
984
488
797
972
962
955
456
665
45
794
925
958
397
633
32
969
356
472
712
757
73
228
176
529
885
53
459
171
451
58
594
370
984
371
634
248
358
262
751
231
248
747
691
130
386
855
466
787
269
736
67
974
953
387
944
281
313
250
464
197
611
212
965
891
634
579
944
844
465
241
898
129
856
300
885
45
603
596
930
414
661
625
652
610
23
65
628
616
72
814
736
813
924
877
903
295
623
493
455
603
623
341
208
382
381
80
665
690
970
943
744
914
35
529
849
55
988
283
439
692
447
406
515
101
971
319
405
216
644
914
480
776
896
467
624
75
723
585
462
728
25
985
546
962
28
791
925
939
844
818
302
829
263
561
95
581
36
992
834
241
363
51
609
667
871
175
25
62
291
451
56
921
497
927
843
185
980
388
62
319
957
282
919
564
17
149
399
591
943
182
37
203
36
430
943
777
272
389
45
561
763
40
885
80
655
942
698
291
875
242
627
736
662
295
452
673
224
103
409
259
740
37
680
439
938
826
952
568
859
272
683
170
801
576
829
0
198
765
327
991
950
757
910
685
513
70
29
491
131
453
196
285
219
361
689
865
239
302
113
591
254
314
422
746
975
940
94
824
902
727
642
744
559
420
35
360
98
824
883
893
543
912
114
160
643
735
873
516
215
39
308
502
557
318
897
11
857
734
364
499
781
267
863
519
271
667
739
450
353
833
253
416
644
864
535
79
761
607
838
918
106
146
375
865
81
826
769
921
443
910
655
416
101
679
23
524
612
363
284
299
424
548
930
904
880
250
536
141
348
23
254
302
803
562
719
744
552
86
421
181
845
943
296
945
81
219
346
403
749
707
211
444
557
225
586
269
334
622
571
295
793
461
90
160
689
221
59
536
106
18
120
79
812
236
759
828
272
473
655
425
82
848
365
419
573
705
839
667
485
469
909
829
263
323
581
106
849
76
10
641
253
709
145
887
231
717
902
557
820
192
106
963
689
245
215
294
618
336
24
461
74
375
639
727
575
462
292
767
131
243
314
951
363
7
333
709
274
207
714
267
929
452
762
439
260
959
109
416
809
763
812
420
901
348
296
932
278
442
580
878
752
276
338
259
928
957
35
630
959
723
187
32
234
234
365
517
897
917
315
456
988
311
740
913
601
375
276
844
992
517
24
992
395
923
727
544
248
973
592
760
986
647
315
552
67
682
835
680
431
873
893
594
525
364
74
126
639
315
703
836
398
910
658
159
904
915
601
994
262
608
854
318
936
264
560
119
903
282
872
528
626
965
198
5
651
230
945
670
615
753
875
502
567
128
967
129
444
383
969
938
614
56
419
914
261
801
348
507
134
887
925
131
944
419
174
848
700
62
605
925
534
640
159
211
517
715
825
547
107
976
450
554
121
987
393
656
229
105
768
751
36
599
173
880
940
725
621
286
710
605
678
842
101
33
674
773
97
471
474
760
313
476
723
193
173
484
750
520
455
7
824
3
299
960
744
525
748
149
472
221
853
466
251
709
346
717
689
180
65
160
564
854
447
822
400
385
909
389
785
636
977
726
929
530
812
454
313
18
456
95
18
261
239
751
656
789
490
528
731
525
267
789
126
267
752
776
527
71
329
112
323
908
992
506
711
673
578
368
182
116
585
707
816
490
167
806
17
737
446
354
37
390
25
915
69
148
179
533
704
912
600
783
177
507
138
139
566
265
816
144
589
134
608
1
96
722
105
595
887
346
768
72
849
104
933
991
736
654
846
313
710
46
766
221
407
727
137
366
350
645
334
126
531
345
411
125
15
651
205
447
867
672
13
45
904
675
926
314
125
811
665
627
27
84
331
390
308
625
724
455
462
669
185
638
408
570
995
399
6
149
783
24
931
344
597
962
216
977
111
795
299
831
898
523
659
799
297
181
535
522
118
918
544
810
844
877
52
48
227
934
807
280
646
40
723
191
977
476
57
125
382
23
506
413
367
963
590
243
342
746
868
737
452
219
462
78
972
712
903
857
9
809
752
581
961
474
867
439
760
931
723
62
17
864
584
702
412
678
999
739
976
903
653
707
964
550
461
499
343
73
39
967
667
784
325
201
428
538
321
7
51
508
749
639
402
122
405
679
10
707
990
897
470
712
928
971
628
696
501
247
266
969
447
362
414
876
941
169
364
889
994
648
752
388
855
533
413
818
267
314
922
375
997
761
484
792
550
530
306
718
455
926
644
30
977
421
829
157
361
658
773
590
703
897
456
440
588
279
184
836
987
530
953
525
956
588
141
62
878
817
228
693
880
445
249
802
186
456
123
198
341
157
146
716
868
951
900
256
868
589
375
906
248
7
120
526
401
525
404
936
699
217
486
798
455
840
418
199
16
163
766
359
846
627
64
848
959
107
676
144
853
442
439
269
153
946
425
233
917
949
726
874
149
717
61
706
861
936
402
778
803
847
654
380
361
618
667
689
171
3
557
566
820
151
193
380
969
751
600
937
691
739
489
171
765
804
491
941
434
53
730
622
594
540
612
920
427
395
952
497
93
749
231
480
573
815
719
74
40
914
179
389
962
908
659
554
382
161
88
129
527
782
294
164
800
783
976
218
463
842
639
193
404
357
506
779
129
350
281
922
376
867
803
38
689
117
700
687
383
266
612
393
999
480
993
457
515
267
37
717
182
46
413
766
73
170
912
90
747
344
540
770
857
924
135
693
209
608
781
764
924
773
412
352
366
519
817
774
292
21
626
887
824
233
532
3
67
843
32
381
544
707
842
467
580
15
824
139
415
81
140
694
112
356
690
280
613
442
454
789
560
402
914
82
122
738
930
534
300
294
449
643
881
789
790
873
236
391
828
922
511
617
535
886
368
617
104
444
763
636
570
679
499
325
339
344
187
414
771
247
570
511
528
533
315
451
741
704
683
252
540
987
841
617
563
839
992
466
576
188
714
370
790
276
303
211
151
752
935
11
962
459
870
969
991
330
319
979
841
694
593
750
569
802
370
894
814
993
876
508
867
364
260
401
12
205
735
584
80
517
143
465
911
267
297
393
797
448
776
642
790
646
593
618
195
634
912
398
404
134
170
415
298
346
982
333
112
650
59
69
314
362
939
168
419
97
892
219
595
698
793
991
775
16
336
441
216
313
802
598
295
491
502
759
111
354
156
797
420
686
537
630
479
493
102
209
351
240
825
803
759
666
7
615
287
473
858
278
390
120
462
127
838
9
232
797
195
868
231
300
726
482
483
776
653
559
380
152
984
173
554
592
729
994
903
418
102
116
567
956
942
91
828
762
308
696
901
725
59
219
720
774
67
953
791
445
655
16
178
488
669
153
625
285
509
712
717
891
799
874
81
398
223
567
232
160
806
366
569
632
479
878
997
858
419
528
554
562
359
404
494
695
258
430
758
82
653
451
189
310
17
369
51
239
975
672
314
590
135
812
548
463
620
701
459
669
673
364
343
761
649
739
391
204
638
74
485
3
613
954
436
369
443
896
555
434
167
553
709
777
929
863
152
275
44
200
565
52
583
798
444
770
679
875
300
297
598
253
583
79
454
652
138
673
757
792
870
58
786
471
12
500
643
9
482
881
885
768
164
590
89
639
570
640
981
534
645
206
534
543
669
659
436
246
66
329
135
954
692
555
927
57
592
81
999
184
686
101
284
724
17
373
59
921
822
224
124
4
292
186
578
326
691
661
448
226
25
283
48
549
39
896
185
731
744
859
914
465
46
358
417
849
942
961
964
19
683
998
99
969
684
829
594
630
661
125
611
773
603
852
942
609
334
898
384
223
199
369
662
542
72
234
367
660
26
850
455
481
256
208
716
181
926
635
573
458
612
121
297
42
340
508
405
989
420
6
110
463
750
372
703
475
414
906
990
826
158
675
799
116
592
906
641
799
552
853
763
690
678
848
933
57
313
325
133
700
60
851
98
589
846
266
127
897
340
596
422
140
542
313
859
584
708
420
215
702
576
127
147
686
953
301
493
566
124
30
763
246
910
556
296
456
185
515
95
39
675
377
482
486
581
72
861
907
497
765
521
436
937
293
312
667
252
146
906
327
511
58
438
700
221
634
43
337
933
322
765
337
501
698
741
491
871
76
260
879
236
637
711
498
143
39
884
372
485
816
481
365
508
768
885
604
899
851
553
211
348
227
858
369
483
509
316
447
187
315
350
883
990
909
365
723
917
316
876
811
596
938
224
56
26
552
362
441
866
746
404
857
37
458
260
838
310
685
168
13
132
630
116
788
572
917
830
103
763
406
952
322
701
574
593
161
27
755
906
935
697
71
665
0
229
189
977
816
585
177
167
194
64
995
547
161
902
906
698
145
595
22
162
925
155
138
940
204
823
140
862
928
327
97
402
182
584
492
636
861
592
492
393
735
979
756
817
314
555
48
522
319
429
534
853
344
646
279
481
704
100
785
150
817
660
92
942
822
819
807
388
993
829
818
219
501
216
303
754
734
0
648
280
76
362
675
703
967
337
850
130
318
240
99
518
312
966
624
869
767
185
275
521
25
246
582
48
2
573
797
380
77
785
980
764
714
445
918
647
72
725
810
23
590
902
122
901
266
876
757
733
708
908
726
830
441
814
854
73
553
365
775
968
965
462
544
414
508
252
113
191
394
47
345
547
725
322
447
203
540
772
932
947
687
482
492
350
536
298
865
889
538
334
131
817
593
618
218
938
882
395
366
496
943
986
362
57
825
651
319
801
977
190
322
496
874
102
739
635
192
257
702
939
955
989
775
237
41
191
552
890
641
214
439
657
329
649
802
570
144
878
368
891
851
116
859
664
40
387
701
835
952
969
407
622
687
920
492
629
324
653
284
430
271
14
887
605
110
590
932
384
169
201
36
24
1
376
277
413
280
212
946
290
255
483
602
651
344
937
980
121
23
51
459
106
723
295
638
962
163
350
485
823
800
34
325
884
145
375
423
120
865
243
706
231
424
900
963
446
619
104
498
390
714
588
77
958
785
485
15
269
241
963
88
557
83
847
423
204
377
978
141
412
979
196
944
614
475
747
814
250
844
501
939
525
159
576
818
397
208
62
794
738
323
496
814
960
401
983
471
401
385
410
699
698
661
576
625
371
441
121
699
77
251
627
523
674
606
259
10
630
944
126
503
912
746
882
906
147
971
994
893
900
434
429
839
908
483
288
486
118
818
761
544
330
366
330
484
998
24
294
535
629
555
632
642
20
777
937
920
670
289
834
353
651
634
821
13
866
128
757
865
347
957
105
242
768
776
429
973
572
361
794
705
941
90
702
734
778
976
681
922
58
92
121
777
773
637
263
888
33
293
931
424
995
287
672
653
788
595
227
706
506
475
631
161
232
617
247
445
454
654
209
43
663
104
664
437
597
327
562
267
978
633
446
774
141
446
196
110
317
251
444
964
732
751
663
870
263
534
220
676
252
166
844
374
438
588
716
499
966
1
656
271
768
533
960
703
404
111
67
756
612
442
19
917
647
774
468
0
287
661
816
304
327
54
486
388
793
659
180
378
64
703
886
997
845
904
91
584
754
312
253
941
820
255
260
887
546
59
885
456
375
848
887
163
553
471
826
246
824
823
638
698
54
882
936
803
266
93
320
85
837
658
284
420
277
362
841
57
604
718
550
607
276
310
937
114
491
933
246
797
959
81
625
180
520
682
824
941
254
791
737
825
452
146
120
506
194
183
704
888
645
252
881
993
622
111
848
812
637
744
829
960
68
149
386
116
0
397
512
145
77
977
353
334
817
445
71
691
101
375
204
799
994
859
78
344
868
286
55
209
229
119
245
418
147
431
367
226
807
231
200
588
917
109
537
5
412
103
661
892
174
341
318
33
950
879
945
449
950
650
468
318
246
348
115
511
492
217
226
644
338
165
440
925
913
106
735
461
696
310
914
731
526
344
122
176
875
342
544
975
985
983
81
190
690
938
904
588
836
234
500
284
605
943
224
548
335
277
173
19
467
709
82
412
208
545
217
830
583
151
783
45
859
643
655
552
137
839
934
890
26
413
29
65
876
667
65
775
119
890
118
46
132
263
33
52
623
744
624
80
270
157
516
675
975
656
541
437
979
269
521
266
347
690
628
730
773
950
917
76
263
700
985
582
318
17
58
283
424
684
330
90
712
265
487
486
596
741
546
921
269
155
354
945
893
603
87
482
337
516
511
138
720
295
933
138
38
444
410
21
801
743
396
522
880
302
44
555
253
363
181
849
628
372
914
459
197
147
172
444
291
781
566
565
286
649
141
351
726
904
84
996
934
146
978
217
208
900
891
786
103
792
27
913
88
61
307
345
87
799
8
384
318
353
199
192
81
976
656
352
543
988
36
345
299
993
327
111
67
414
854
548
101
771
789
924
160
97
941
766
8
266
384
813
360
736
410
679
970
444
893
106
393
16
948
676
647
713
473
548
441
954
44
337
24
685
769
72
408
302
409
640
695
695
292
394
380
958
924
343
90
546
252
774
128
287
24
87
271
838
538
913
469
367
971
816
789
332
940
750
819
254
184
506
196
948
18
94
375
760
727
637
318
875
548
363
301
197
797
488
633
832
875
496
356
420
455
672
807
998
214
6
468
911
379
157
574
101
195
578
568
197
831
85
652
151
190
523
990
879
692
14
874
502
232
696
707
665
47
846
672
506
63
158
985
486
298
212
573
452
784
318
515
328
150
457
622
970
328
688
915
650
237
482
854
543
277
846
413
439
346
214
903
136
6
509
882
961
543
644
119
995
897
317
859
150
324
467
964
572
24
924
959
290
919
140
797
848
424
976
885
947
911
419
302
740
849
232
648
247
323
820
332
699
21
988
717
357
316
125
455
500
585
479
327
682
312
480
539
3
470
174
98
605
518
304
80
797
179
586
320
93
46
599
568
661
906
392
387
608
888
774
236
828
567
571
414
780
895
557
730
940
682
179
947
527
962
449
799
268
969
939
651
237
7
741
999
744
824
942
176
765
448
105
885
577
149
567
545
393
536
822
264
588
510
877
367
425
550
3
850
668
100
657
768
890
426
547
93
521
567
812
701
928
426
608
486
543
613
230
311
721
334
536
125
382
48
141
975
150
462
5
241
736
38
414
522
290
537
227
726
113
67
448
380
155
243
322
502
876
136
805
414
304
764
978
512
643
164
533
469
903
551
882
732
674
429
321
388
809
0
13
121
179
662
595
901
374
278
461
682
824
957
124
543
79
190
208
541
719
574
387
680
560
713
705
620
473
294
759
174
665
397
426
454
530
831
696
188
534
206
37
251
393
400
249
885
166
790
825
151
412
941
820
863
164
204
378
153
306
23
981
182
853
194
103
138
637
447
741
790
596
569
540
684
566
252
918
322
19
594
120
625
674
332
669
843
377
997
510
520
939
974
337
825
613
867
203
139
900
88
772
178
295
716
420
983
102
184
155
856
743
504
247
257
20
650
12
793
933
632
673
200
421
749
460
177
228
803
350
448
230
694
615
11
665
397
674
138
626
55
43
792
557
590
899
956
48
343
509
53
41
974
608
350
183
645
386
935
394
75
279
131
127
404
212
696
277
798
342
824
639
587
349
720
415
61
852
965
721
94
380
634
854
461
533
693
622
46
549
551
377
590
723
599
49
763
0
406
291
68
799
565
947
740
369
870
468
417
735
187
109
433
486
327
868
614
604
85
749
829
549
154
107
70
532
503
729
128
22
90
657
677
392
156
601
60
645
765
726
109
485
8
457
525
41
595
348
968
364
989
111
306
396
822
482
393
500
644
797
152
335
991
109
328
31
335
918
578
705
661
581
824
518
28
188
892
976
711
586
849
599
913
458
223
281
539
880
639
141
786
524
269
425
448
549
733
484
660
309
18
815
546
52
521
876
433
105
529
48
219
664
855
116
565
292
991
21
620
993
763
132
889
838
660
123
585
271
508
567
287
724
939
756
616
647
600
806
306
506
876
179
847
514
484
270
965
408
643
592
361
989
373
547
906
748
348
682
987
579
136
574
449
154
983
654
637
354
118
24
864
721
225
72
337
99
93
771
909
349
669
6
760
570
598
198
163
154
976
968
90
76
908
910
989
387
796
391
237
910
773
388
368
204
744
229
528
39
442
251
632
596
89
13
664
745
996
993
242
880
921
41
732
64
384
546
307
178
618
760
254
414
996
302
530
271
333
338
396
186
31
781
230
408
178
659
428
11
546
889
693
733
940
764
637
194
323
220
579
147
479
541
49
841
629
105
824
137
523
995
639
402
684
976
294
31
365
436
468
888
95
3
126
25
213
192
84
421
708
213
452
265
703
350
485
221
397
799
3
394
668
722
823
64
372
276
1
565
412
66
803
906
30
899
189
674
167
829
3
285
21
413
755
770
602
845
675
305
107
198
14
991
923
537
657
856
270
232
573
92
132
252
927
807
901
242
316
730
641
248
580
537
65
968
144
779
317
63
257
371
956
366
699
816
718
858
594
963
772
512
578
745
474
432
184
148
42
576
387
408
811
222
733
410
454
258
11
605
299
612
727
825
482
620
453
92
363
98
587
391
488
56
233
450
391
725
521
904
831
972
888
915
506
520
836
186
495
527
388
878
28
705
146
910
906
147
419
192
479
655
473
578
188
860
981
174
536
397
252
749
556
567
394
328
789
818
514
587
209
474
728
419
917
352
968
765
288
464
346
665
283
35
403
503
468
444
245
610
292
63
870
688
852
422
140
814
545
849
314
654
397
612
481
242
189
324
361
525
950
142
198
997
233
628
561
317
562
664
138
292
664
255
92
220
180
60
535
238
170
794
97
409
120
970
796
155
929
662
133
160
858
413
526
341
299
835
432
714
258
88
903
396
204
87
90
344
78
196
946
356
10
654
851
753
632
445
292
208
825
258
773
198
434
751
980
368
388
811
582
18
528
150
715
35
696
992
410
569
558
940
381
845
688
473
516
540
34
205
656
504
865
201
479
232
800
916
138
423
243
125
544
161
924
964
373
307
69
15
339
596
773
762
189
996
208
30
732
47
164
231
586
153
730
427
543
183
198
682
139
658
878
212
573
369
240
873
866
4
734
350
15
514
594
672
331
810
972
84
821
204
169
542
685
543
363
471
522
558
519
210
930
886
412
833
251
737
566
75
836
751
712
838
388
92
574
754
493
66
325
167
10
579
417
410
315
584
576
235
650
193
220
752
353
766
943
617
192
525
143
265
42
590
911
438
44
223
769
593
369
657
546
454
659
321
483
801
839
599
579
304
629
49
786
675
1
495
570
665
457
702
269
817
914
788
601
276
375
722
509
143
81
257
623
552
527
82
671
538
106
687
563
669
376
964
912
120
612
233
969
567
720
750
363
612
784
51
22
97
405
736
857
842
915
673
278
552
36
622
922
825
387
966
935
801
846
601
167
207
868
926
914
92
70
576
278
834
431
128
411
659
728
747
466
347
876
636
115
568
731
478
796
742
744
853
618
796
889
75
304
440
363
232
239
497
439
260
368
884
962
164
58
974
161
48
766
181
630
193
38
679
14
220
220
951
807
897
546
73
192
508
112
325
319
563
600
491
606
589
577
178
567
923
214
854
983
762
260
280
495
202
377
880
733
63
380
994
454
458
144
602
459
806
161
487
632
44
709
928
996
440
401
496
285
395
655
51
259
655
31
240
14
579
468
598
469
788
204
186
97
40
1
208
263
592
709
631
355
530
197
329
174
144
742
708
16
927
946
694
370
552
742
635
148
215
184
524
147
671
223
628
105
584
229
522
592
240
48
106
645
491
750
630
999
772
485
543
970
773
293
825
181
584
848
110
251
847
543
274
79
86
544
809
472
188
254
55
571
875
166
597
240
962
131
344
35
271
69
8
71
580
943
227
18
381
731
238
651
457
830
558
202
363
896
292
785
97
898
986
179
116
950
139
187
541
637
128
763
424
8
957
308
462
298
384
274
228
572
378
185
482
4
153
301
744
727
905
812
475
8
307
561
733
173
202
389
331
1
708
835
11
73
779
958
27
809
761
650
257
623
903
260
238
906
297
845
934
821
820
511
811
146
60
590
879
205
604
678
722
349
453
100
452
990
381
192
185
93
866
740
533
131
211
962
831
817
325
188
536
492
767
392
952
60
811
370
269
15
40
33
633
414
476
178
166
965
88
526
130
460
977
496
48
960
231
549
167
730
28
658
88
298
715
75
594
247
993
287
540
1
491
392
866
259
438
972
21
387
709
773
879
519
722
715
417
354
339
745
564
874
141
965
83
685
374
497
138
4
713
433
13
560
858
788
739
261
134
877
115
42
990
859
438
224
431
738
160
626
358
825
307
598
434
650
193
887
492
561
765
172
692
908
823
684
562
953
902
473
384
784
707
900
536
869
835
743
582
309
507
201
57
403
555
60
335
145
761
175
826
6
955
401
878
452
247
355
785
810
732
34
771
657
613
700
23
641
873
796
614
245
824
11
476
887
43
747
689
763
166
551
420
383
248
288
41
119
963
244
814
519
691
60
777
380
804
386
128
551
482
652
372
203
454
84
855
429
565
13
766
490
552
229
458
682
312
484
478
123
562
827
355
160
796
60
138
28
825
631
164
674
35
545
563
168
257
370
867
639
524
47
40
416
751
586
556
944
856
743
905
363
922
132
705
10
144
115
912
211
805
927
110
607
896
614
186
979
853
710
803
894
545
467
204
963
61
158
391
425
651
565
370
450
295
466
437
120
314
989
541
135
530
413
769
223
959
836
797
173
391
392
965
462
587
807
15
873
526
276
762
174
522
58
108
48
983
450
322
717
878
509
320
191
520
493
51
23
73
155
150
121
945
368
390
623
816
556
428
937
195
761
764
398
457
655
509
368
885
457
602
531
753
141
206
194
17
904
774
269
611
848
258
308
190
657
273
312
209
223
409
463
889
446
167
910
791
432
240
773
9
189
105
450
323
367
516
255
592
578
442
262
135
668
718
81
332
708
855
919
847
804
6
620
933
467
456
129
394
776
795
347
45
67
664
733
94
819
61
327
71
712
210
522
379
52
789
61
969
372
249
947
46
781
291
779
94
680
29
992
672
769
57
967
147
750
603
807
647
274
961
0
854
499
641
952
842
275
192
503
323
802
729
93
203
495
696
684
98
936
235
819
374
754
204
22
616
289
880
710
651
428
753
271
545
522
792
415
418
65
245
580
167
290
873
473
329
934
797
478
612
665
885
959
973
420
246
987
523
359
716
353
522
51
120
338
612
105
536
803
559
704
88
350
632
317
753
775
105
291
289
329
328
72
759
32
267
908
119
748
74
716
803
569
967
199
640
683
852
639
358
726
242
258
100
842
885
71
296
835
89
178
747
933
540
92
801
4
454
620
73
570
401
791
779
257
530
20
351
744
641
881
759
619
687
601
913
638
507
184
353
685
333
145
737
652
731
132
942
263
757
224
399
0
250
178
786
773
92
288
926
439
509
69
683
73
468
598
214
987
277
961
960
348
842
853
196
151
255
707
66
241
173
930
439
974
177
345
295
75
21
460
612
969
253
852
184
80
325
575
499
657
381
849
505
457
252
763
50
580
449
615
574
846
64
917
343
863
623
160
975
202
290
916
457
734
982
610
736
702
569
98
847
775
460
441
255
10
182
530
2
39
916
940
117
77
93
253
458
638
811
980
91
530
749
984
726
650
691
414
131
558
432
401
653
961
108
985
939
310
27
439
60
4
557
968
909
993
149
975
389
478
396
206
784
865
456
473
942
788
409
612
351
8
127
992
945
574
805
645
619
257
409
678
254
841
23
411
279
797
201
128
338
860
639
417
647
450
537
848
721
508
794
764
398
613
521
819
718
662
233
890
296
440
525
271
720
52
139
511
202
495
608
575
219
197
52
209
48
340
961
635
11
189
752
455
606
114
43
619
568
260
232
275
712
198
718
897
926
932
404
596
773
620
399
968
641
319
21
414
529
347
699
49
254
643
947
391
561
793
333
865
214
51
659
935
813
758
3
676
69
561
771
0
183
620
119
169
886
2
220
87
424
820
226
445
928
18
134
633
986
310
215
394
637
430
723
784
943
629
710
283
588
877
150
625
991
567
601
173
766
34
335
1
336
293
532
134
776
788
515
673
223
418
846
768
717
49
94
912
922
239
366
873
367
177
164
69
102
222
85
851
290
544
463
510
492
873
185
303
13
902
651
863
570
381
371
509
645
231
460
863
137
907
584
401
827
926
783
106
896
54
388
535
667
998
734
102
462
474
679
941
41
547
175
863
808
443
525
371
258
250
859
532
926
664
329
748
983
259
962
521
556
11
196
414
790
25
159
512
206
863
879
729
841
749
464
688
520
975
1
13
143
853
436
33
424
390
930
887
119
102
323
70
569
483
35
279
638
313
144
525
755
472
742
539
776
713
150
794
469
734
357
703
239
180
807
102
224
176
958
993
735
484
858
700
217
54
522
707
193
160
21
833
581
69
836
355
327
853
22
468
818
819
205
272
356
49
476
861
962
484
433
508
727
128
394
179
825
88
875
47
546
699
67
817
2
437
818
325
200
506
413
395
534
850
900
427
128
721
968
844
343
390
144
131
735
595
474
643
602
673
331
532
198
271
295
222
874
178
251
294
53
91
186
279
441
282
246
803
816
224
566
917
455
441
818
820
33
847
878
617
593
785
992
65
403
681
998
637
704
415
237
916
745
823
182
213
734
89
585
544
812
883
14
95
656
369
572
651
918
356
169
103
825
560
293
394
516
917
999
654
508
313
296
446
899
182
875
932
784
600
983
136
4
116
276
638
407
282
959
907
372
644
902
316
148
52
582
944
65
720
376
897
927
57
870
245
237
464
475
514
347
488
511
54
377
241
427
868
164
856
984
197
18
725
877
541
465
167
158
925
470
534
822
40
95
531
234
789
785
817
598
872
946
458
90
515
814
58
112
927
672
114
267
212
839
763
289
527
828
582
13
879
220
827
521
248
403
203
981
294
599
820
600
659
390
73
750
780
931
740
963
757
981
988
379
888
22
20
284
349
616
47
424
123
374
383
164
678
887
960
434
60
301
182
927
499
843
320
301
686
279
760
179
773
380
73
189
945
345
139
794
473
45
934
824
249
488
83
191
681
121
191
437
403
63
374
71
313
181
886
18
886
738
650
791
732
846
256
768
916
349
565
412
140
458
811
836
43
606
756
402
243
728
463
582
367
712
207
708
479
196
616
455
157
480
468
420
301
633
924
48
789
288
625
286
558
95
395
118
372
170
304
787
120
563
987
937
472
322
676
762
673
982
247
779
334
401
177
866
334
644
229
97
487
176
740
587
696
128
72
202
303
484
168
569
23
194
388
346
647
57
122
422
602
81
326
217
933
678
585
115
600
92
949
479
654
565
925
356
401
247
721
476
808
637
999
518
527
509
830
574
822
455
934
276
156
591
697
630
863
15
865
672
771
721
546
21
405
943
739
157
777
390
277
649
980
199
64
728
131
583
420
102
899
262
420
908
183
884
51
743
141
619
14
495
825
632
794
233
743
68
632
883
687
90
221
210
769
156
483
396
905
377
730
589
812
138
861
276
773
788
490
415
628
531
915
674
274
689
431
396
46
433
377
311
755
502
793
666
856
391
92
185
735
666
171
670
361
876
960
376
694
788
227
777
266
435
165
162
787
292
268
282
959
481
161
855
922
950
197
173
340
764
117
475
629
748
784
647
32
227
686
867
383
451
575
546
242
418
822
996
144
913
1
732
787
904
347
413
961
202
172
900
230
38
16
12
121
616
479
306
845
628
509
198
704
529
498
743
368
942
692
335
522
325
545
921
563
788
8
928
763
718
226
820
223
581
441
792
990
322
929
726
619
581
225
315
114
410
384
754
644
152
35
233
549
126
577
564
367
413
510
232
427
85
927
504
735
315
20
919
544
693
365
821
99
214
564
674
614
513
827
630
853
317
451
649
538
874
719
10
95
295
363
992
479
949
7
886
674
266
738
746
772
614
836
915
648
377
480
827
973
127
118
726
604
305
156
294
334
337
619
898
746
106
986
223
670
512
597
358
969
437
497
286
89
704
694
585
692
358
262
938
330
61
970
451
360
682
368
288
638
425
493
561
926
14
248
466
723
9
603
744
237
175
374
779
167
880
219
706
514
627
750
261
347
152
105
53
922
252
717
911
471
985
68
30
692
245
140
518
555
920
534
298
381
659
219
119
447
269
312
822
406
949
354
280
136
174
626
478
787
951
229
344
38
619
890
744
377
696
989
809
317
386
693
715
605
711
352
482
129
365
917
236
667
392
572
22
410
512
556
880
969
201
792
162
696
152
19
589
804
202
607
610
553
815
553
972
703
788
237
295
813
781
988
379
635
433
297
782
831
177
379
299
634
824
246
732
624
115
374
552
881
637
781
520
477
980
444
89
407
852
258
77
125
543
103
178
247
58
259
613
304
976
946
99
18
68
310
934
736
689
320
317
85
201
668
794
627
712
811
47
951
400
427
211
986
259
54
821
113
607
514
382
777
291
70
148
716
838
885
15
401
278
509
442
747
788
180
138
199
913
712
850
995
251
8
39
403
719
681
131
636
374
416
459
428
222
993
789
717
195
868
708
497
407
619
459
902
95
394
230
663
615
477
443
65
860
276
833
11
681
200
539
332
199
808
317
490
584
670
722
229
312
248
134
460
779
414
910
625
645
710
154
686
252
491
261
13
835
116
294
969
376
651
860
0
531
485
255
403
280
173
609
838
551
90
262
947
579
634
565
307
918
29
851
645
584
444
36
906
70
444
750
954
34
965
330
651
370
887
800
166
201
979
99
341
549
119
197
317
730
454
397
329
804
269
972
7
401
358
285
251
87
53
339
534
48
748
990
896
701
807
70
129
301
526
494
60
389
177
171
364
57
237
947
99
35
620
224
173
444
949
347
67
463
719
143
136
984
252
222
233
684
731
934
442
167
144
332
344
10
521
517
201
693
403
662
553
551
800
494
604
869
34
467
2
421
424
572
384
457
130
520
153
527
641
698
665
613
46
661
525
770
834
62
535
840
987
280
33
551
524
326
631
687
880
610
162
947
621
901
977
183
488
115
731
58
856
746
729
401
966
447
356
48
791
709
339
910
80
817
552
795
896
404
670
439
498
952
429
429
935
10
233
661
860
425
495
16
66
143
886
61
190
461
608
532
885
229
700
934
608
449
723
347
518
568
226
335
818
198
756
720
590
239
466
887
301
219
406
679
12
129
49
260
952
937
586
455
332
95
925
297
236
647
387
23
606
530
919
781
163
681
425
89
477
371
626
109
557
556
650
744
321
586
515
719
400
391
735
587
115
117
187
769
968
858
996
194
161
11
701
91
864
181
244
239
469
838
730
141
543
921
417
901
171
184
91
634
900
173
55
55
594
912
742
373
593
257
160
170
862
745
732
455
137
836
922
17
23
263
164
162
31
312
485
962
459
552
623
889
585
453
810
626
958
973
741
213
407
692
139
934
20
861
322
369
167
445
611
113
984
566
332
811
507
593
346
295
119
789
378
923
665
851
963
461
480
861
394
51
697
919
205
101
647
460
592
330
485
965
38
494
513
628
153
943
510
273
490
994
740
720
372
608
64
916
774
126
88
422
710
235
315
529
651
737
976
294
51
457
709
22
805
289
437
564
861
736
979
879
979
2
275
782
941
941
892
407
164
872
682
245
735
98
242
725
778
895
874
399
129
932
75
597
84
451
926
603
34
694
923
560
860
376
438
899
211
689
903
633
490
514
277
696
43
196
719
763
15
991
303
173
628
669
164
705
297
269
176
319
476
302
149
121
777
721
95
184
810
340
678
152
436
378
912
31
425
351
0
724
362
389
938
164
88
930
561
947
126
92
391
664
62
521
844
363
582
52
381
707
799
92
184
123
508
664
888
627
995
368
474
665
463
166
714
154
762
119
383
907
561
711
918
501
41
798
464
908
85
963
311
818
516
638
939
858
262
386
809
324
462
716
979
756
544
381
676
551
116
312
529
6
258
775
231
680
869
231
231
706
161
166
371
982
825
992
587
295
811
576
712
731
634
855
95
882
63
589
140
860
314
136
942
416
443
838
57
733
842
879
976
28
767
206
907
24
370
115
665
162
174
664
265
137
632
939
131
200
624
702
907
455
822
970
429
661
263
292
129
440
341
235
980
167
160
353
953
41
566
4
983
390
529
722
629
288
922
953
994
579
312
681
931
476
691
442
100
868
314
860
162
962
982
542
995
7
690
482
647
404
230
756
25
763
422
515
111
353
746
99
620
326
3
416
424
965
972
705
164
74
900
168
152
83
773
804
208
412
810
561
68
340
671
661
527
934
256
905
501
115
531
927
902
748
934
638
94
437
319
242
409
235
60
26
111
421
981
439
244
815
795
750
314
344
997
378
112
630
110
564
42
95
944
619
349
751
943
256
160
786
996
552
892
556
329
685
56
414
232
845
473
518
182
83
723
802
554
398
4
804
67
426
781
41
223
765
254
487
262
878
32
441
62
393
163
377
652
215
973
190
706
134
23
450
647
824
959
438
316
393
758
460
535
815
559
687
176
949
805
454
17
329
588
315
881
795
163
185
852
719
146
576
753
105
780
102
432
893
644
713
597
63
906
239
437
474
622
92
601
438
980
862
483
649
108
8
563
263
422
898
750
825
563
352
231
500
371
816
993
139
754
825
24
879
305
191
453
770
65
507
194
834
363
119
419
694
620
817
257
310
560
343
736
766
776
3
888
677
783
402
888
932
288
940
234
618
802
933
379
621
749
505
742
684
407
121
993
773
453
426
223
492
842
536
355
95
699
743
319
903
438
111
540
271
35
962
155
173
704
684
367
361
271
380
359
448
613
6
918
435
999
308
898
940
411
580
633
724
760
755
758
897
321
718
611
317
124
645
635
606
207
346
139
52
818
593
34
55
119
351
659
313
481
753
322
255
168
339
583
992
680
924
168
566
507
186
103
140
247
323
400
651
578
260
792
970
79
74
368
417
419
654
760
465
798
324
553
797
104
741
310
815
480
683
439
197
471
468
329
934
355
504
595
699
91
195
609
423
422
182
741
754
163
951
872
157
90
950
999
276
974
627
726
244
852
824
493
552
268
650
205
656
21
773
604
565
476
619
552
516
382
368
694
253
909
540
842
577
813
730
165
844
831
349
645
674
305
676
843
401
45
639
13
366
464
627
482
122
510
64
533
952
268
409
680
191
912
837
45
488
848
689
601
862
799
541
292
175
488
678
38
413
9
71
539
261
37
563
565
499
474
684
943
77
563
651
210
385
323
49
482
99
159
868
827
574
181
862
815
289
218
853
553
712
446
841
251
655
227
737
907
481
476
460
800
314
33
648
682
166
331
475
173
201
472
841
546
267
607
788
763
695
950
387
670
216
505
197
249
929
624
507
723
236
970
188
454
924
649
344
326
258
298
910
40
501
88
556
150
293
244
188
656
370
93
356
546
746
471
795
121
441
606
802
715
42
554
968
217
713
132
95
601
892
892
376
636
457
655
592
436
826
620
540
904
760
63
150
531
526
467
639
239
580
875
379
679
303
443
771
988
975
70
277
757
903
534
590
36
265
92
669
811
339
179
715
607
442
38
80
689
280
781
936
969
482
948
629
102
613
451
94
406
130
398
764
117
223
832
758
682
309
498
12
822
344
521
954
1
774
403
156
120
938
269
376
57
434
834
524
244
158
363
277
43
990
486
572
194
176
789
279
737
873
92
637
509
807
328
457
523
951
885
181
555
447
297
32
726
161
255
846
845
551
765
482
964
522
530
891
805
968
956
952
841
261
16
305
69
545
211
795
211
675
651
569
203
106
240
902
106
31
303
10
632
482
550
739
318
949
192
304
39
892
833
647
14
949
13
619
779
492
69
215
253
741
100
311
913
322
505
434
286
110
210
310
233
149
85
300
127
276
20
168
83
389
797
858
111
432
535
129
85
807
707
367
240
249
374
351
662
976
506
15
328
563
804
364
195
884
218
399
784
828
348
430
281
611
785
834
370
543
249
954
659
480
40
91
18
828
980
748
101
366
219
683
95
297
332
527
960
915
652
219
576
244
280
8
161
749
644
924
602
987
819
703
239
398
71
142
70
648
308
917
279
457
945
431
131
652
61
125
526
119
382
991
287
912
593
562
910
225
771
532
562
961
367
845
364
444
85
354
546
594
486
551
50
18
84
50
906
176
138
399
181
529
358
953
84
638
153
427
620
487
954
206
782
126
259
445
946
815
118
779
683
992
177
428
73
830
638
943
767
457
612
743
533
622
437
786
398
538
828
367
991
748
912
625
948
580
382
247
959
434
623
520
327
436
829
773
927
609
149
610
616
892
760
813
253
263
516
234
767
716
819
280
511
411
576
993
40
743
547
101
850
54
646
744
826
405
581
125
541
596
234
27
510
438
555
587
591
224
275
714
464
33
370
965
733
790
465
655
326
458
960
603
511
15
745
257
716
209
125
591
450
869
84
932
482
418
456
503
806
315
320
265
882
877
149
242
201
584
531
384
836
207
553
506
455
596
272
158
885
209
551
646
65
626
50
630
829
818
128
332
941
352
924
495
215
804
792
492
520
833
254
408
388
449
698
237
559
511
952
891
964
967
996
10
662
389
738
646
16
707
772
372
2
187
612
30
41
297
104
99
206
622
197
911
600
467
163
202
561
992
788
472
146
669
744
182
999
490
982
746
606
473
239
393
501
145
273
228
724
505
892
157
894
246
287
876
589
138
339
292
687
33
534
757
923
965
44
31
739
679
171
577
640
137
677
102
312
203
419
44
215
916
274
745
29
33
457
427
284
470
401
297
876
860
504
931
256
198
930
441
879
994
664
391
246
32
982
150
531
202
413
764
214
970
894
771
461
550
20
125
280
493
315
149
667
866
200
88
431
677
53
51
833
371
842
667
312
918
723
526
415
472
135
201
386
661
699
159
374
275
543
935
157
33
434
511
505
763
837
423
647
861
102
250
144
130
89
222
57
936
628
803
837
783
336
161
254
588
375
498
229
240
152
696
580
32
634
492
19
306
629
990
388
997
169
969
240
619
948
108
361
267
129
162
288
87
345
634
258
519
200
940
503
510
746
691
707
664
256
718
121
800
679
193
564
459
778
176
814
723
350
698
671
325
893
880
980
626
877
480
679
975
780
978
970
211
970
11
515
507
977
897
444
303
162
132
885
293
399
442
373
195
990
396
751
764
833
355
443
222
961
777
802
184
778
781
584
323
898
522
960
587
31
954
569
982
282
593
25
467
363
548
868
855
850
753
289
396
92
443
666
138
973
171
704
151
10
94
737
872
150
520
802
703
374
203
339
392
584
118
775
645
121
668
348
560
821
413
414
775
201
200
867
41
525
814
312
258
201
735
191
362
730
817
623
880
728
839
686
370
742
570
413
555
599
735
788
184
67
750
121
344
393
840
871
65
624
642
275
641
416
269
680
770
629
459
799
51
435
881
679
597
969
694
204
549
91
470
826
486
871
627
30
215
988
28
269
223
886
877
935
583
230
214
620
754
558
148
300
29
242
19
961
511
36
987
105
437
768
508
818
892
702
591
706
944
799
623
597
411
66
738
166
820
659
52
924
700
5
382
987
548
982
55
604
423
247
439
117
957
50
686
67
198
644
153
665
586
704
529
520
9
817
505
90
631
713
968
915
729
300
974
172
649
686
697
51
743
763
728
719
381
927
121
205
766
376
947
278
603
868
32
910
485
227
975
171
827
458
788
96
721
640
426
618
661
416
90
558
677
289
421
951
25
52
763
333
344
734
217
759
173
635
712
158
823
422
469
60
492
536
408
174
184
692
681
407
668
355
380
198
828
621
741
286
196
988
624
468
909
558
148
296
747
579
717
977
958
881
742
406
620
129
240
459
587
185
748
711
510
118
266
198
245
449
298
49
503
725
234
303
290
183
250
136
146
784
388
443
791
882
721
764
722
162
335
269
228
209
913
599
547
130
544
185
244
191
568
312
627
4
395
923
59
675
30
514
424
30
613
355
199
35
522
438
841
818
941
480
104
524
458
49
612
529
447
480
868
13
351
609
834
332
601
938
721
873
719
830
710
275
440
764
772
741
989
55
864
408
926
142
653
74
13
162
536
264
130
334
423
770
639
85
843
817
84
150
824
661
703
470
218
501
805
357
91
102
776
226
307
15
765
320
682
232
362
95
131
708
766
494
311
907
233
9
107
235
928
514
320
444
699
27
459
516
712
239
784
34
486
319
489
114
799
175
194
79
55
189
933
190
203
841
499
605
949
257
683
559
160
642
907
519
470
23
363
12
279
751
100
665
439
555
700
975
369
892
315
118
860
915
603
939
327
571
675
826
667
670
876
699
429
48
178
933
269
687
620
829
288
124
246
419
157
610
114
345
645
714
777
820
980
965
317
834
236
42
183
147
798
941
761
940
648
308
752
248
561
759
68
91
42
736
463
447
511
656
631
256
446
479
284
618
692
849
216
895
697
467
295
840
192
636
335
338
106
336
883
757
987
871
259
436
811
58
111
967
894
621
528
110
209
936
206
854
525
886
686
342
186
449
11
786
801
194
365
784
562
190
592
631
344
537
798
585
913
535
913
630
160
491
302
263
133
788
73
191
890
184
703
864
437
909
965
609
721
938
112
84
719
798
62
446
419
862
560
24
331
601
394
968
973
648
749
641
317
631
863
725
78
408
817
498
379
616
192
286
887
725
885
955
611
826
378
569
478
593
246
881
744
332
319
74
147
43
874
316
370
227
599
665
608
595
142
358
774
668
288
275
823
565
451
796
987
527
26
826
683
385
462
643
935
743
449
286
4
565
209
785
415
755
733
636
665
319
361
523
658
292
489
837
305
848
513
452
642
107
645
646
324
149
426
937
695
786
827
175
98
684
308
232
686
800
236
590
597
489
853
74
557
248
365
128
341
270
441
845
31
866
741
671
102
292
705
62
76
2
526
289
446
676
197
939
517
866
212
419
128
955
382
685
678
583
77
551
33
487
543
115
592
433
830
915
870
995
138
371
979
869
605
64
474
742
465
953
201
809
942
215
523
200
82
74
754
372
904
178
472
122
954
211
77
396
930
412
842
794
988
738
174
964
163
413
352
455
761
994
188
291
303
907
95
393
346
932
657
596
397
804
872
753
243
458
800
440
947
498
727
340
912
301
178
130
534
484
694
796
588
818
745
121
963
14
173
867
812
704
80
690
770
613
25
707
626
953
969
146
452
234
963
500
157
306
567
503
576
230
870
133
122
37
621
30
302
933
170
435
983
69
814
105
218
900
415
768
786
255
52
496
721
688
312
251
817
701
184
62
8
115
149
475
598
212
393
751
703
780
918
156
599
887
679
828
731
253
463
385
133
84
769
752
457
796
582
994
97
502
211
784
68
36
525
421
17
951
859
429
539
836
143
908
54
670
13
19
260
32
897
86
679
533
864
433
508
875
241
536
214
412
379
169
209
511
251
800
740
927
709
486
189
688
377
624
746
237
587
175
53
318
194
913
195
761
866
4
775
75
639
997
461
424
489
224
46
723
668
672
677
350
652
312
364
51
886
490
221
834
695
136
932
824
66
703
822
669
33
799
845
802
170
708
890
754
434
958
818
941
909
163
648
674
812
182
488
100
753
525
171
639
311
261
296
392
749
370
589
354
650
238
612
25
470
145
509
752
712
633
180
804
468
594
375
763
340
910
59
647
361
750
530
783
892
360
89
161
707
728
8
482
492
69
196
180
793
859
881
652
148
847
710
539
950
757
895
780
88
665
835
696
934
685
153
266
200
424
910
820
141
736
519
298
738
376
328
715
240
630
54
894
816
238
982
385
627
107
278
665
629
955
309
502
519
146
260
137
438
393
44
230
234
232
753
481
749
94
377
673
957
41
132
859
180
333
858
738
498
856
767
73
931
210
692
388
183
834
343
802
517
981
966
399
722
636
351
926
20
15
124
16
477
108
61
794
268
576
550
711
371
564
944
595
354
765
489
175
190
614
245
376
2
553
500
496
615
540
498
28
105
31
394
160
812
944
154
443
912
814
903
999
938
884
220
15
618
854
840
346
562
614
260
809
624
913
141
980
639
12
58
380
802
408
939
480
991
10
921
118
275
579
438
250
745
879
142
455
325
131
744
132
833
389
321
962
187
2
345
884
944
363
900
109
281
641
965
813
225
493
553
315
533
769
372
346
975
366
799
63
867
496
249
498
867
245
788
566
282
521
222
529
239
552
853
823
646
725
865
439
750
828
435
534
131
960
348
984
187
250
371
836
888
237
170
322
728
0
714
130
691
253
65
573
114
57
114
316
362
78
645
699
330
215
559
150
183
490
536
140
278
276
828
498
8
676
31
444
737
474
876
975
912
536
803
46
814
360
81
979
519
222
765
65
365
416
150
747
560
14
585
143
418
786
855
816
897
18
408
580
986
511
654
161
252
472
857
734
38
120
446
135
801
790
607
993
50
6
85
460
155
276
366
113
522
715
396
255
333
183
800
402
96
726
602
673
329
140
499
606
980
591
959
722
196
250
557
69
207
189
166
500
21
84
695
790
907
709
740
83
690
267
357
791
943
227
426
588
183
72
365
693
91
839
208
535
99
104
175
713
343
544
110
659
391
26
752
531
157
403
955
34
977
398
751
165
743
806
974
517
646
109
554
562
423
737
682
619
346
120
430
590
283
704
606
411
347
134
862
641
757
101
34
498
900
906
913
792
209
854
48
402
662
608
365
864
546
239
756
642
76
780
547
878
23
292
587
888
524
707
705
693
975
469
89
316
346
557
404
605
450
271
539
912
221
656
678
96
276
621
242
771
791
905
157
239
77
77
116
858
488
793
377
803
191
3
380
58
960
156
658
704
878
779
864
329
553
521
42
78
861
254
895
968
605
473
375
6
828
884
655
226
122
137
149
474
509
756
730
582
992
823
471
429
814
259
444
843
786
298
368
322
27
610
444
564
145
752
496
153
503
462
852
221
884
37
78
102
528
692
277
264
973
300
82
78
823
201
474
483
174
81
483
990
406
585
886
917
655
596
250
726
381
144
952
654
460
381
538
678
798
51
344
710
730
291
131
731
567
970
484
793
297
282
405
153
174
937
124
51
673
790
378
941
185
454
399
84
743
444
411
313
225
873
84
103
778
32
937
544
74
421
676
794
651
318
151
335
3
530
541
825
372
964
454
468
543
751
313
339
429
533
857
724
998
548
145
821
508
258
288
754
894
467
209
92
481
339
243
914
774
219
334
47
968
627
754
991
581
656
97
91
652
849
270
628
849
209
712
415
974
324
120
502
189
927
685
28
930
884
735
891
854
816
371
416
592
213
554
534
500
420
292
618
220
891
992
449
813
854
421
976
819
651
28
518
375
626
710
626
501
87
312
728
898
943
728
579
926
966
763
837
442
901
465
427
958
651
226
773
621
993
105
568
68
11
423
923
693
66
714
970
239
128
172
129
415
147
206
963
631
243
642
573
668
823
485
864
413
317
992
614
778
399
757
400
130
824
790
403
686
828
463
460
733
256
336
246
198
406
318
190
801
68
700
772
707
507
608
193
628
985
694
589
797
857
312
530
101
707
403
743
25
269
62
917
623
945
279
862
195
10
330
443
772
579
117
573
890
402
781
648
294
447
547
483
318
126
867
346
856
41
866
185
613
788
414
440
713
265
101
356
421
59
144
599
960
582
318
749
932
425
391
896
852
174
693
820
265
646
16
506
979
700
846
144
321
798
446
954
187
663
586
196
341
343
611
834
368
840
598
40
103
231
449
405
545
410
556
900
585
430
59
942
844
229
392
740
404
109
335
59
668
249
684
651
533
499
39
231
599
13
596
891
896
501
769
597
192
490
203
57
63
811
5
275
672
946
774
220
149
52
302
378
778
253
89
25
493
612
782
508
945
519
368
252
281
538
110
49
599
772
654
656
8
167
702
524
627
915
546
215
400
7
576
89
845
790
703
572
229
990
708
79
554
669
765
560
164
935
948
782
18
483
378
731
2
552
979
76
45
89
705
579
900
586
224
745
188
49
617
343
816
650
584
238
806
150
177
331
464
841
178
983
231
13
224
489
120
488
876
312
330
866
957
814
709
400
51
834
375
865
149
134
123
998
105
224
751
46
150
949
860
703
346
26
706
519
79
969
776
427
989
239
64
515
487
171
795
277
736
900
736
593
939
547
83
843
661
85
60
814
267
966
711
861
674
95
568
943
519
273
19
135
287
627
736
21
477
449
272
869
678
247
960
889
469
363
46
839
464
320
672
888
714
190
59
907
159
672
193
668
168
506
776
751
221
163
599
61
181
81
708
237
744
359
131
180
12
221
840
851
994
458
802
482
438
779
387
579
774
500
230
395
75
457
188
853
700
800
853
55
513
479
616
74
211
119
309
198
583
578
850
581
114
620
572
804
585
244
767
487
951
311
264
106
192
985
476
862
438
666
754
895
170
774
433
722
445
749
684
384
415
299
483
128
44
647
322
900
696
602
331
722
350
71
131
136
235
480
259
75
342
577
422
631
8
629
857
282
40
100
518
963
635
171
662
423
308
242
591
72
39
233
192
137
347
800
226
363
118
658
598
962
553
990
678
271
856
3
27
374
151
299
118
826
30
3
20
939
59
61
672
740
478
510
505
158
738
0
340
235
347
48
355
842
444
322
91
818
242
144
884
863
546
248
474
173
415
49
91
23
127
456
399
118
399
735
854
803
993
961
561
29
160
45
127
811
295
761
638
495
181
140
787
120
786
953
807
998
315
600
165
314
846
890
140
551
461
610
740
577
157
821
839
472
460
571
72
132
73
32
177
750
78
114
911
244
341
93
499
638
6
285
748
669
251
160
957
459
899
220
199
562
226
265
512
572
807
437
826
157
561
231
148
63
32
482
329
946
528
56
259
349
298
920
385
536
526
44
29
275
128
788
36
402
966
245
739
488
979
370
558
479
206
583
382
620
341
764
26
577
246
203
309
711
29
395
100
812
164
752
98
641
400
694
39
872
989
896
823
412
241
223
889
111
23
383
760
602
22
118
883
471
163
12
990
545
586
885
808
938
96
933
819
636
433
268
732
888
554
724
500
619
138
438
761
373
695
223
237
623
673
837
887
854
716
303
833
780
951
900
532
27
925
93
188
749
864
158
373
135
83
372
213
947
248
556
913
255
654
703
728
317
350
380
77
624
965
248
848
396
401
802
794
741
981
539
450
666
42
125
964
198
618
265
826
531
951
47
786
816
36
911
749
611
558
984
82
998
251
490
562
213
614
557
643
519
375
250
869
481
749
775
521
701
169
833
719
963
781
504
649
530
307
641
967
49
585
863
549
769
180
468
113
859
494
931
120
28
688
792
120
644
649
252
727
264
542
261
164
130
37
257
542
778
667
819
716
651
686
498
605
304
350
231
159
570
208
829
566
389
676
235
510
369
192
224
975
914
299
746
472
985
419
509
816
906
903
781
613
443
981
421
774
793
340
512
739
990
207
766
265
354
383
576
410
444
731
771
817
313
558
896
187
448
795
329
84
319
579
548
362
815
399
248
734
261
929
68
588
803
13
187
541
581
180
750
943
644
434
600
166
995
221
306
710
32
530
608
627
166
123
676
283
132
995
254
61
268
778
277
645
993
284
698
549
336
717
302
277
752
843
794
563
970
213
520
308
838
833
975
306
364
926
105
913
804
753
521
723
64
2
344
927
86
306
482
323
257
810
351
526
471
351
882
953
939
408
742
630
212
660
508
594
318
805
363
157
195
743
84
343
634
165
658
533
230
820
412
17
187
289
370
833
61
87
64
619
527
549
871
518
543
605
221
804
723
73
697
907
757
156
794
31
372
70
574
35
906
12
387
666
520
411
84
334
481
541
918
406
973
910
987
208
48
590
100
155
789
93
547
887
401
86
308
753
703
291
379
394
54
346
615
682
986
58
349
10
78
205
58
260
233
255
758
419
642
653
78
376
151
252
154
128
267
293
215
991
797
545
73
495
457
440
257
762
344
333
314
232
632
914
305
282
377
364
90
508
764
436
469
897
350
336
703
408
365
191
961
269
507
332
836
595
199
617
942
938
456
361
589
344
33
4
356
571
88
439
825
308
838
916
364
243
193
671
698
726
288
715
506
673
379
499
813
84
744
467
397
776
616
783
74
231
752
87
428
308
828
581
459
143
772
159
976
93
293
348
756
898
292
675
91
0
775
68
98
905
274
965
4
346
190
165
693
599
287
845
408
657
325
149
467
547
108
518
910
215
663
259
533
852
948
833
723
161
47
449
122
459
309
464
969
216
320
811
480
997
660
183
767
775
217
249
329
779
214
156
33
76
27
709
430
136
911
554
838
88
959
548
674
356
28
306
439
660
662
722
168
341
567
833
465
121
536
123
781
824
498
709
951
339
138
150
402
585
230
908
672
710
267
36
48
136
777
431
605
182
640
545
737
386
58
384
389
752
695
81
371
85
184
607
68
463
509
710
968
513
686
90
664
400
127
658
394
440
674
564
512
829
650
629
138
224
283
870
919
507
489
628
413
244
169
697
921
718
321
258
851
958
669
951
613
587
295
697
423
289
345
58
628
883
734
941
211
73
225
856
123
878
848
761
747
828
533
954
978
246
899
678
792
870
258
658
977
965
953
326
791
762
958
302
88
924
349
587
552
313
959
796
451
413
187
533
968
742
597
772
554
375
118
603
934
876
239
501
304
273
916
436
730
211
544
169
768
410
755
254
179
383
524
450
613
56
162
359
803
784
787
682
963
32
410
440
647
812
150
998
958
666
594
113
118
878
796
907
105
728
157
71
394
877
794
1
769
615
950
94
569
346
817
993
857
152
304
256
653
677
426
305
797
318
925
937
820
250
387
946
473
762
910
736
800
637
416
216
495
169
824
526
31
362
881
625
163
926
909
228
791
429
721
557
552
324
16
751
660
173
387
796
542
131
397
489
753
481
627
194
568
301
43
87
299
892
828
693
466
122
491
886
279
296
674
40
952
808
454
460
654
940
753
451
373
950
890
447
510
74
693
306
652
490
954
669
461
74
941
508
964
27
614
588
328
467
41
407
192
951
704
227
742
166
908
871
489
155
976
321
626
961
977
516
595
82
722
734
487
622
72
121
700
691
915
253
284
176
445
716
747
767
695
689
770
349
540
973
798
593
1
717
837
138
288
622
818
367
462
457
501
223
668
868
159
405
698
610
371
504
474
718
578
865
42
952
95
350
659
33
238
601
489
104
765
522
130
639
575
565
635
788
86
9
303
429
937
714
817
223
201
564
38
600
4
339
960
739
797
878
181
808
676
8
266
84
77
751
379
613
34
475
922
345
595
792
491
192
795
869
724
233
833
895
106
39
896
800
995
565
718
792
886
872
258
921
915
517
70
990
279
169
347
731
983
207
441
290
659
116
280
450
137
948
268
879
683
446
420
931
456
223
806
305
763
830
760
506
66
3
21
783
223
753
881
447
424
41
159
767
290
529
531
767
939
927
487
540
348
716
886
363
141
177
323
358
64
686
830
594
513
670
715
13
505
894
454
76
448
775
457
633
181
903
610
589
481
441
481
461
675
11
787
214
839
749
980
841
831
271
499
386
123
238
502
261
881
745
391
407
976
284
421
771
684
396
560
167
147
360
405
649
192
710
401
119
929
252
276
240
866
852
345
807
447
582
460
597
38
955
249
844
536
741
119
199
642
290
581
670
347
186
11
551
420
201
173
47
866
232
177
74
444
914
241
899
953
155
433
932
415
355
792
406
92
962
902
771
197
501
51
816
433
341
157
282
305
36
173
981
852
679
993
23
164
794
636
94
560
60
263
963
321
458
473
79
236
516
978
467
3
908
968
516
813
103
543
465
550
273
476
901
265
436
253
245
654
788
984
301
505
724
438
504
308
755
7
896
774
918
439
806
204
133
771
593
771
226
544
697
390
776
597
170
165
674
568
135
524
228
161
136
653
86
223
972
742
359
169
502
49
556
107
178
34
141
723
201
325
901
774
546
779
392
727
625
205
250
301
198
482
119
507
402
363
961
578
70
455
369
949
832
477
991
809
1
380
588
296
182
677
62
923
817
108
403
314
959
305
936
599
982
489
516
371
65
678
758
839
750
475
18
918
658
186
88
146
492
18
210
640
214
783
966
760
327
771
486
199
75
598
791
903
423
642
90
557
477
477
703
330
722
109
809
586
540
135
981
454
762
929
715
368
209
430
155
806
482
275
509
885
860
558
960
385
91
727
26
277
265
969
787
234
773
509
561
278
273
430
523
215
267
165
806
650
880
247
212
937
811
511
25
509
858
357
320
630
269
213
44
650
614
753
849
761
682
602
49
188
221
539
701
57
583
425
480
382
251
998
361
899
389
941
65
538
777
847
258
152
752
410
107
532
60
869
726
120
488
618
863
24
352
477
28
753
420
740
988
530
261
191
689
639
86
720
486
52
62
856
69
757
681
815
126
788
470
397
664
493
267
269
721
409
813
765
279
347
734
93
261
735
334
225
712
62
350
801
287
992
252
58
786
7
601
651
68
988
768
850
609
484
936
479
629
697
364
192
918
720
845
198
176
218
967
574
289
157
840
494
461
576
878
826
339
647
511
607
511
413
865
3
937
308
264
417
620
356
290
799
757
881
701
891
268
743
764
52
372
945
271
990
209
533
824
370
28
776
890
660
591
259
483
803
220
345
332
768
250
112
654
968
837
327
881
898
167
648
143
132
908
534
73
4
705
225
202
299
821
740
959
638
638
469
883
688
294
907
995
920
623
817
353
699
973
472
751
830
262
670
183
417
22
288
66
228
694
71
115
588
418
83
244
24
640
480
684
559
25
359
548
329
738
215
328
290
779
351
223
608
433
38
102
63
667
809
740
971
546
89
167
236
882
277
265
622
827
38
293
694
205
123
62
707
308
820
995
383
758
842
331
855
544
618
527
861
118
164
648
512
20
724
475
902
745
999
536
444
125
683
204
890
703
260
88
984
889
184
544
737
435
598
317
722
743
817
545
226
195
515
206
160
280
142
802
675
751
152
460
136
658
467
565
842
190
170
74
460
364
753
111
60
676
95
828
564
268
458
296
262
544
551
589
824
99
373
483
519
918
679
653
336
109
748
820
36
143
154
127
470
588
752
911
311
646
356
548
161
376
132
230
120
319
326
379
112
282
475
245
964
400
535
438
142
865
663
198
781
890
601
215
632
839
38
422
638
267
398
388
584
579
299
417
764
92
855
380
657
670
45
891
322
948
632
740
166
470
935
326
679
359
748
213
788
846
36
274
587
772
528
885
60
559
452
305
564
900
971
704
461
791
425
391
338
7
11
891
300
607
33
829
332
713
457
554
409
796
865
977
226
582
210
267
616
182
373
571
858
264
522
629
656
807
24
373
719
55
754
523
366
530
743
536
751
201
137
96
872
248
150
265
534
489
17
651
373
248
995
273
769
163
131
747
948
701
834
278
365
638
117
311
815
738
60
201
948
433
445
214
465
637
875
322
348
320
466
783
918
421
451
135
794
11
524
802
137
99
243
183
160
895
957
434
571
132
792
19
7
115
260
301
288
554
151
920
565
313
37
138
42
216
424
595
694
54
636
725
470
524
559
968
704
286
95
190
124
415
242
293
632
610
964
473
27
615
759
260
530
97
431
908
178
701
953
403
538
778
364
312
894
272
563
368
578
602
595
751
199
9
366
381
885
5
291
204
340
803
801
809
303
759
230
428
133
973
469
503
809
325
430
331
785
356
804
516
363
401
484
71
334
408
846
86
720
529
626
732
743
35
295
2
715
126
170
574
44
989
777
526
188
677
294
416
936
983
744
699
237
513
603
361
386
557
515
353
267
381
242
684
254
836
581
758
710
260
833
568
755
505
67
847
52
101
571
576
433
972
965
377
858
445
674
355
849
93
900
721
922
108
112
652
511
688
21
93
531
110
128
288
623
627
273
724
18
910
435
797
925
730
639
195
256
95
137
567
348
129
316
650
277
474
188
698
599
469
975
765
422
393
991
469
945
685
121
484
75
848
224
10
57
350
487
4
641
229
153
998
432
5
605
212
889
122
436
983
467
978
918
453
138
592
744
19
564
0
973
167
166
783
306
534
414
96
718
259
546
636
413
724
234
11
287
216
793
918
357
507
639
365
349
628
488
524
883
810
475
559
697
971
597
538
922
877
700
157
139
837
453
682
548
183
686
148
173
422
78
435
262
903
487
388
955
806
232
616
388
327
608
574
726
531
687
425
339
34
1
684
761
449
941
581
584
483
128
186
278
838
791
179
878
599
325
884
944
172
872
394
911
376
487
684
683
466
436
24
182
107
560
390
658
582
379
529
589
998
894
909
466
463
949
59
331
128
98
206
563
709
654
544
307
51
558
243
383
525
316
471
209
198
935
911
588
286
905
763
667
661
963
525
817
556
765
268
474
812
491
759
626
117
712
919
106
795
598
181
770
512
712
198
261
561
223
334
912
591
678
105
746
715
407
522
940
241
446
654
631
439
835
725
412
778
870
748
727
930
92
383
381
698
154
889
178
241
967
512
686
31
77
268
478
776
455
95
24
552
475
191
709
629
15
522
32
993
438
784
154
363
933
884
943
645
254
770
900
34
386
99
350
353
530
386
733
890
865
353
764
720
515
736
364
589
104
640
489
709
549
82
929
551
742
835
515
62
861
984
533
924
853
886
560
286
771
126
113
176
924
326
670
194
827
199
846
555
644
136
138
580
20
832
831
300
207
499
188
841
682
470
80
289
415
290
477
218
468
966
808
80
357
668
729
620
122
580
436
918
659
698
640
299
354
805
143
544
143
16
699
8
167
585
898
820
413
415
267
446
851
591
762
838
201
380
832
843
711
428
8
193
109
517
812
541
482
68
218
634
875
926
100
118
872
530
479
704
440
548
607
243
326
611
289
560
537
339
290
465
967
862
473
5
71
491
618
340
401
443
246
635
956
343
836
699
323
663
181
908
646
313
699
691
640
444
170
844
487
269
907
452
992
476
621
958
269
361
802
368
952
268
925
57
548
56
726
534
942
740
869
689
971
565
993
852
722
392
357
596
148
121
650
177
825
100
662
447
622
404
21
598
806
940
691
113
490
36
118
130
145
835
188
195
393
171
958
991
37
633
898
892
620
171
402
575
641
494
101
368
504
988
464
617
166
346
919
902
743
325
353
757
175
802
423
740
686
74
597
154
200
719
152
610
703
865
658
923
198
489
392
823
351
632
209
877
327
738
451
597
152
322
140
150
181
68
932
528
820
975
327
103
946
800
810
906
364
718
743
265
232
585
871
921
707
292
291
944
559
83
531
738
202
212
195
954
187
684
545
490
192
220
422
154
157
540
166
176
129
360
8
231
74
271
163
247
809
16
928
53
138
764
190
30
149
864
611
557
916
214
657
770
626
685
357
793
834
103
517
664
709
901
846
641
657
798
517
669
846
220
580
416
122
312
735
116
138
7
112
721
539
555
363
303
429
351
532
646
750
855
37
99
649
695
677
777
909
106
141
7
683
208
802
295
875
608
481
8
792
397
475
370
768
332
435
951
718
728
205
267
702
753
129
629
736
625
531
157
225
286
896
421
246
669
729
107
461
779
726
573
178
182
721
456
632
153
807
245
224
318
580
639
890
226
841
310
119
186
484
57
839
461
449
40
355
999
272
309
47
195
230
881
598
871
892
913
582
584
180
762
267
531
17
51
988
259
639
180
750
362
665
367
762
464
509
619
207
234
925
955
662
266
902
582
93
314
685
629
239
732
690
803
735
193
918
501
342
594
348
44
644
948
946
274
997
158
648
976
416
333
495
362
638
935
444
62
490
976
903
379
499
545
75
342
75
360
340
634
110
472
143
15
524
607
198
187
198
540
288
56
152
159
149
386
480
34
578
510
754
237
297
138
781
90
757
783
730
986
503
424
597
849
979
626
804
614
724
4
843
465
678
825
596
745
928
560
232
646
439
225
861
686
442
20
149
872
577
827
271
861
196
783
435
215
298
697
913
64
569
259
562
624
911
949
675
626
180
412
991
232
532
132
524
418
251
620
412
769
772
477
365
431
39
318
170
704
971
338
94
381
826
406
742
302
621
532
965
177
632
205
448
510
55
221
167
736
952
481
350
349
568
283
993
366
545
674
105
781
579
283
138
938
323
87
793
699
130
900
178
185
133
826
888
312
7
568
639
602
21
713
187
461
112
364
354
871
628
797
825
146
694
490
344
414
979
445
5
572
680
435
36
648
495
498
309
937
25
432
594
77
699
451
0
950
25
864
980
616
723
841
411
416
550
172
863
18
323
130
526
413
984
401
239
370
815
903
301
168
808
662
447
435
429
707
30
703
758
669
202
950
217
87
240
955
132
208
26
72
83
917
436
606
883
696
666
936
563
713
138
883
162
107
384
922
179
704
130
735
945
73
115
406
217
606
195
671
807
149
232
30
475
27
286
648
705
725
695
216
152
749
865
497
219
662
490
464
371
253
236
798
27
808
639
177
858
690
738
857
979
405
295
23
468
239
687
583
713
814
149
930
866
338
833
21
273
431
522
522
296
256
331
664
248
519
660
41
882
333
164
402
318
224
726
504
659
481
426
627
449
325
619
585
484
181
194
418
656
529
164
953
78
310
543
320
20
26
701
348
398
419
453
727
443
997
520
0
164
793
917
756
510
829
735
167
760
223
950
759
944
898
383
584
907
436
625
401
908
346
60
984
608
820
985
125
761
326
628
249
366
766
814
278
933
272
133
755
609
2
715
399
970
995
472
228
936
921
43
633
633
627
697
536
659
796
357
785
941
875
666
998
233
324
853
19
556
116
287
783
198
698
277
724
503
680
237
942
18
973
587
248
542
604
872
578
33
82
847
650
593
679
189
315
821
318
355
698
948
164
161
79
752
608
653
895
434
649
538
233
725
225
523
283
343
692
823
702
144
849
597
700
137
45
509
553
552
299
528
122
147
466
980
322
328
673
154
548
870
393
408
169
274
130
121
276
919
571
546
818
595
535
86
154
113
197
429
368
18
515
104
941
147
892
469
467
506
450
633
283
579
391
30
584
406
540
872
586
212
159
226
277
44
586
965
732
310
734
382
678
651
527
843
49
705
418
352
820
40
416
737
772
790
484
369
39
361
86
482
269
108
257
580
180
349
745
610
494
933
169
445
947
475
141
952
569
797
610
466
595
379
580
498
524
521
131
350
15
179
175
357
180
701
482
392
262
236
692
267
520
898
29
393
432
271
101
431
363
892
853
707
138
734
10
372
493
125
530
802
22
928
802
803
88
172
611
73
781
301
196
48
446
446
702
476
72
711
30
355
763
755
585
964
541
624
778
149
175
586
783
928
852
645
979
287
82
450
836
574
874
658
271
226
928
998
597
680
705
729
595
291
448
73
653
569
927
654
316
426
291
237
85
202
170
552
77
809
120
135
741
579
638
435
682
56
560
963
988
237
859
272
378
889
874
931
634
231
862
293
414
290
878
62
961
778
402
658
171
478
268
428
732
360
48
515
843
103
37
812
995
207
189
876
64
14
705
653
843
435
360
525
874
204
192
131
745
904
545
673
527
587
361
667
742
573
586
998
888
227
683
836
14
582
833
854
429
82
20
758
565
326
561
441
816
308
369
363
717
141
177
771
805
91
377
325
512
659
904
434
22
52
604
2
854
58
613
887
934
715
586
188
328
291
259
250
222
484
156
891
236
798
299
777
481
666
63
843
566
815
515
99
520
113
821
882
175
123
882
256
872
332
199
512
610
780
658
818
191
468
562
829
347
586
42
237
758
997
759
442
545
417
902
263
552
76
966
214
116
150
364
119
893
804
77
755
501
606
536
318
317
994
699
699
187
823
656
789
137
490
474
68
484
43
518
347
326
312
409
981
663
486
492
49
404
618
781
135
307
596
554
449
25
924
283
131
693
307
110
882
491
358
240
596
271
822
201
439
777
452
377
773
642
520
138
804
428
387
975
805
155
570
544
101
911
186
447
174
177
514
126
531
872
405
154
24
186
642
835
349
275
656
267
228
42
253
632
810
576
574
242
839
177
514
693
602
867
330
389
122
413
324
100
611
724
966
607
475
306
43
977
287
305
897
508
755
988
625
439
327
273
528
327
651
88
778
137
165
434
59
613
767
155
431
735
769
495
748
931
534
916
799
115
481
573
685
563
45
848
986
119
645
565
699
122
664
471
597
901
546
320
408
583
484
882
972
466
192
940
156
366
280
780
46
222
76
81
950
613
213
943
546
271
143
304
202
711
439
535
515
439
192
399
805
935
542
694
543
397
399
252
833
122
13
385
200
969
682
775
385
583
295
463
562
769
420
31
996
380
393
871
281
665
131
944
995
350
567
839
763
961
117
715
493
229
361
730
24
15
522
215
599
642
528
909
594
0
803
545
241
907
10
274
92
835
591
541
736
450
190
919
246
760
946
415
960
406
462
573
776
637
27
673
153
526
523
162
473
973
248
278
608
507
34
652
692
271
885
218
483
49
940
820
453
347
496
483
746
108
267
751
815
362
713
884
277
4
389
590
236
569
647
473
145
541
700
704
196
108
233
849
967
67
421
696
6
700
606
677
960
858
892
720
88
581
344
406
248
813
278
650
661
669
821
486
478
585
217
856
875
296
328
28
947
590
184
581
910
310
95
311
177
9
644
143
528
566
239
564
956
731
957
446
712
402
7
743
853
502
683
850
387
713
416
512
137
877
524
60
860
968
134
641
937
964
952
11
541
814
40
751
437
433
894
91
488
428
709
985
153
847
133
146
842
911
587
519
288
720
555
696
366
188
633
31
159
857
120
615
777
995
670
307
27
26
152
498
304
784
567
727
552
78
64
498
354
985
198
716
557
359
578
736
915
910
219
96
110
953
743
902
681
989
501
391
68
671
42
270
653
914
146
854
403
272
179
908
442
861
435
394
422
565
278
874
264
468
284
670
386
437
984
395
710
548
398
421
795
221
699
135
177
390
487
636
179
677
246
23
583
410
7
321
321
254
662
633
952
124
829
150
207
553
690
824
480
513
838
157
338
797
404
306
918
579
960
884
932
897
298
111
359
153
145
821
508
149
229
161
319
183
455
819
152
111
646
331
16
684
140
425
575
76
800
51
769
127
461
26
908
345
800
493
153
869
677
67
818
788
67
371
401
426
234
991
842
521
139
823
493
181
102
879
869
527
411
103
771
951
902
627
257
254
99
127
335
177
155
168
799
957
937
745
952
734
353
887
170
954
718
416
597
800
715
108
453
129
167
451
887
845
216
740
641
943
288
236
620
135
632
464
429
216
613
499
35
636
282
876
195
989
781
775
716
838
402
175
888
350
665
780
494
328
219
587
958
206
467
155
214
891
677
99
331
610
468
149
930
101
109
551
189
629
891
275
260
710
129
410
787
920
252
609
778
790
771
957
755
749
467
787
936
42
631
493
240
357
662
717
559
603
481
347
994
905
30
345
826
400
55
832
826
904
764
645
0
637
335
542
924
515
328
387
762
119
34
325
277
472
39
737
548
116
927
292
297
183
833
61
70
880
846
369
207
251
544
970
920
550
121
830
302
570
166
903
324
406
866
42
133
319
519
893
888
483
27
748
964
503
732
374
81
300
62
860
316
198
641
682
291
782
457
199
945
282
380
288
579
760
668
373
328
61
491
359
927
422
108
242
633
901
847
518
943
150
424
991
411
859
142
740
319
660
361
141
92
338
604
19
677
791
891
424
899
156
850
880
746
756
901
676
608
622
378
63
636
897
992
605
33
346
547
199
521
965
624
158
843
819
610
397
68
661
84
946
454
552
949
149
332
756
698
220
276
973
906
100
427
620
166
169
344
832
996
538
387
870
841
392
116
301
801
856
678
94
452
687
372
186
223
866
856
55
308
212
653
580
705
365
950
289
800
306
833
945
812
650
153
37
734
372
289
328
204
832
680
672
711
918
763
144
600
69
846
555
284
837
396
978
224
872
855
737
506
482
478
102
20
825
557
558
871
982
771
414
445
53
389
985
271
245
753
594
279
392
200
441
825
481
852
619
578
558
117
851
682
167
297
424
758
435
286
914
831
918
583
715
523
582
880
240
177
713
931
894
76
280
116
900
568
875
285
929
9
857
601
167
926
21
31
191
853
414
86
515
814
403
589
19
279
282
718
954
80
198
170
76
439
616
657
19
282
997
444
285
989
118
445
385
229
192
81
981
72
92
678
576
81
6
520
114
774
676
866
131
250
630
870
274
154
870
266
772
972
811
133
269
638
823
72
537
351
835
320
850
735
561
511
689
268
228
349
484
675
186
145
4
335
734
618
78
451
377
300
860
434
665
898
639
153
298
536
195
207
425
106
846
495
346
265
500
434
734
821
652
428
554
489
665
399
855
680
214
323
812
276
556
33
433
307
907
976
537
325
521
190
435
385
698
116
200
388
822
572
117
90
163
954
137
672
31
806
530
929
8
968
126
411
596
481
427
188
402
406
960
505
514
687
522
244
844
709
719
687
57
656
63
789
153
986
423
113
349
796
875
943
675
773
920
1
389
532
980
538
161
885
993
967
945
848
73
771
566
980
174
167
743
860
745
590
867
966
93
66
47
184
863
602
112
414
742
651
402
339
907
800
700
788
295
971
257
852
386
550
181
519
862
290
375
588
501
884
944
666
305
108
947
448
101
468
472
267
53
463
449
507
928
263
309
122
398
993
128
583
899
697
479
648
803
931
319
679
849
576
706
119
545
666
435
806
132
353
274
829
580
399
669
991
289
713
315
328
906
894
851
915
519
272
62
500
81
717
506
560
549
375
122
595
74
814
252
497
581
546
180
805
403
480
905
104
38
776
89
893
497
466
507
307
87
940
160
783
466
907
182
414
6
650
156
413
173
353
980
351
871
874
263
956
412
598
193
279
560
605
825
676
526
84
672
954
909
44
216
895
268
719
659
315
880
521
403
962
814
389
104
626
458
764
304
9
351
929
478
520
753
725
534
521
219
495
127
112
746
972
724
689
312
635
105
376
208
515
484
342
215
928
92
262
333
892
877
266
347
475
661
229
85
254
943
34
812
502
436
848
370
679
403
444
182
528
547
49
232
165
740
135
81
929
25
668
608
330
126
564
668
278
599
721
386
757
509
23
552
455
892
967
947
911
608
340
198
991
469
120
552
239
286
244
539
950
158
14
376
929
877
775
819
386
942
285
903
10
120
867
986
180
501
109
342
419
100
944
935
743
68
752
8
325
2
5
856
879
703
19
372
141
618
502
23
806
965
118
961
170
869
976
189
846
131
847
853
392
426
271
568
171
773
468
3
525
449
766
874
794
78
719
338
655
757
200
410
1
702
813
320
455
298
345
987
884
34
554
710
796
228
5
511
869
661
524
772
419
619
235
411
966
853
525
229
844
795
59
618
822
136
317
419
239
235
523
448
336
538
988
838
273
252
176
983
332
724
606
435
612
558
880
749
788
623
125
32
465
41
570
141
459
659
571
963
101
784
917
284
603
280
811
60
789
707
789
509
115
21
663
693
217
455
543
649
405
527
34
985
638
765
830
827
403
480
111
149
239
246
1
526
389
132
791
471
463
55
367
803
142
666
163
312
353
522
637
202
378
902
321
936
410
25
598
363
276
563
412
600
97
849
228
584
548
182
693
641
623
464
408
124
133
945
895
161
76
319
608
148
70
290
795
131
435
115
564
145
91
266
254
23
315
903
607
677
241
226
847
532
299
667
996
29
252
7
183
936
239
770
435
859
753
286
821
539
180
257
815
54
641
192
214
163
907
882
879
213
434
315
736
47
424
369
834
32
632
507
305
888
804
983
366
123
406
574
380
132
145
474
844
577
515
729
706
706
707
762
0
216
163
854
15
531
913
129
290
78
628
759
590
542
14
383
440
369
529
496
326
106
827
607
446
768
600
321
336
125
993
436
756
849
816
141
490
689
987
333
410
449
749
340
956
294
514
661
93
239
575
915
634
955
859
725
143
470
50
643
95
476
49
92
825
723
248
120
66
594
429
985
823
271
605
637
672
913
563
998
298
196
539
59
445
547
832
599
66
517
514
859
937
252
406
268
402
271
519
550
698
122
825
548
933
125
30
468
287
739
250
781
506
90
88
71
238
133
958
224
554
357
159
393
81
758
436
77
830
137
148
902
714
5
216
940
618
768
428
123
529
160
794
207
919
168
62
73
206
120
307
60
603
206
439
958
955
557
227
376
877
68
645
241
494
402
449
591
770
263
375
697
736
726
929
888
155
919
485
421
723
147
577
12
207
479
465
818
513
910
509
327
953
433
962
941
10
120
436
173
919
783
651
503
370
671
83
346
580
867
800
470
70
437
389
76
841
430
390
612
917
743
820
352
875
489
384
447
652
304
133
6
426
642
230
982
370
381
724
60
795
960
958
455
117
40
476
375
375
719
823
18
494
699
918
13
929
103
632
34
116
176
526
107
249
985
579
441
908
348
296
753
12
354
730
3
324
655
880
239
355
174
215
978
227
836
922
103
289
79
728
495
689
482
239
595
374
650
880
976
51
207
71
303
132
802
250
861
729
64
391
768
675
868
648
391
914
824
879
520
366
687
699
236
900
653
694
582
776
685
984
870
602
171
17
997
62
685
877
740
637
64
898
489
473
276
192
10
784
784
437
497
13
124
217
878
858
30
320
401
801
493
277
338
724
334
929
29
554
872
507
669
636
930
728
986
792
531
729
722
525
128
711
408
462
916
326
790
845
592
828
714
182
68
293
533
937
515
301
182
954
755
424
604
164
925
823
582
9
181
924
35
826
16
526
427
368
642
886
381
722
282
920
899
823
384
745
99
418
24
819
233
48
594
514
44
560
626
427
587
99
184
670
210
559
921
972
246
471
815
298
621
588
295
190
939
989
353
475
877
270
908
318
215
378
98
165
542
946
191
884
660
800
324
548
172
814
18
996
374
152
108
850
191
758
901
814
762
267
558
843
754
146
834
304
482
547
39
977
615
987
196
894
666
209
757
117
161
798
121
77
470
153
260
849
262
236
610
721
74
719
902
309
49
89
51
203
814
450
486
799
15
216
844
715
811
625
59
312
481
247
731
322
355
935
455
356
625
791
121
927
806
2
782
117
512
471
158
873
112
946
759
288
682
258
331
908
207
644
78
883
99
383
352
399
954
589
309
518
346
921
66
445
512
949
749
227
793
793
671
175
633
708
871
740
113
129
168
751
502
921
626
882
65
116
946
919
51
822
413
481
357
910
555
886
654
362
716
956
195
779
35
861
227
126
48
4
153
170
283
150
241
536
287
43
169
79
917
235
370
830
818
507
392
838
397
387
771
50
452
658
501
924
635
108
1
642
354
546
88
275
700
110
309
749
127
599
203
545
358
15
414
369
557
751
670
773
150
50
189
805
164
84
226
43
515
661
871
412
642
636
731
406
857
275
85
531
383
812
662
229
565
627
524
706
995
864
630
735
778
592
514
950
763
9
850
21
857
272
632
107
350
991
46
64
734
692
935
860
519
248
317
68
486
651
827
193
24
444
705
806
885
102
897
431
757
145
379
869
516
335
139
639
126
480
723
902
28
254
809
616
306
555
807
114
549
762
989
45
93
988
457
569
591
85
18
81
159
40
787
647
727
626
734
98
405
404
652
777
901
998
251
800
851
88
921
159
156
271
685
664
526
661
866
318
479
188
712
908
842
39
487
888
603
77
37
974
799
850
229
751
107
520
420
923
61
178
397
843
952
966
894
697
351
910
203
891
429
647
34
91
628
786
947
212
515
646
226
876
337
290
623
542
627
257
942
884
655
66
832
697
855
474
240
218
533
338
536
836
941
231
627
879
635
399
746
263
942
754
565
664
472
90
988
347
748
466
264
318
6
596
363
905
77
823
96
463
408
821
156
362
829
158
756
94
597
853
892
467
411
657
642
797
27
610
420
733
746
36
480
143
919
381
807
688
851
295
82
87
139
660
210
552
935
474
290
52
274
722
806
941
356
793
246
806
735
765
461
32
648
492
113
718
823
706
478
901
11
114
504
971
271
546
303
712
591
121
978
688
526
281
858
535
500
120
664
873
725
123
519
603
693
733
624
637
608
770
522
725
811
60
171
104
118
368
266
457
819
521
928
896
487
305
410
711
695
495
991
393
877
671
500
507
250
838
508
388
860
136
196
2
361
604
17
829
599
560
271
610
221
637
858
606
414
740
945
677
175
448
20
41
909
806
411
841
265
149
932
812
964
723
618
919
562
674
729
583
522
797
295
51
613
500
670
823
922
84
904
507
993
370
792
426
580
825
611
114
197
679
408
861
549
860
878
535
524
127
481
260
968
403
370
136
813
301
990
643
322
507
718
721
950
973
470
536
208
118
885
19
954
610
393
480
611
546
665
826
668
504
81
125
947
556
542
300
914
49
413
626
544
204
462
285
715
876
597
46
374
996
668
797
329
151
956
991
566
917
754
130
149
818
296
861
916
421
745
798
15
798
605
766
432
21
753
209
189
878
643
585
893
251
940
181
578
842
852
154
56
961
527
403
194
892
228
651
907
17
146
637
612
36
321
185
967
992
868
125
203
61
638
63
109
412
922
280
274
119
814
606
383
502
304
747
193
734
236
163
907
362
111
308
873
129
745
455
990
400
879
126
532
517
824
255
639
423
984
211
417
249
362
590
967
235
874
299
955
879
851
199
346
766
871
930
734
535
173
479
107
553
274
552
362
675
469
788
516
259
942
351
682
307
44
267
66
427
342
469
561
800
454
475
859
398
57
15
175
377
3
230
742
118
947
43
359
503
81
561
602
229
10
917
719
523
612
917
608
917
421
233
364
918
598
83
802
432
299
77
114
611
657
5
768
548
748
715
557
383
142
483
872
344
428
568
39
305
532
72
758
896
459
898
538
996
441
301
907
998
812
454
348
682
308
21
251
368
910
626
686
44
135
982
398
604
991
124
918
561
525
530
400
128
49
64
499
587
939
773
197
672
756
756
870
434
559
888
29
894
486
297
886
769
380
968
390
898
833
238
143
45
526
833
597
573
647
218
869
88
204
75
205
468
429
372
188
678
220
771
744
953
798
163
262
567
657
187
93
384
157
984
107
823
790
406
337
425
323
389
710
532
253
448
345
348
409
863
891
54
274
79
422
509
28
405
780
254
115
25
66
45
413
380
672
410
851
743
530
803
495
914
993
507
61
292
787
739
73
846
522
872
122
396
824
219
672
314
769
364
248
57
959
913
260
301
380
474
836
950
918
126
559
552
0
490
674
830
780
979
964
703
434
46
476
111
114
790
4
861
611
291
449
190
474
788
521
745
877
182
784
867
521
185
141
740
244
636
5
175
297
582
329
108
415
689
814
18
909
351
234
890
369
454
923
99
568
106
597
763
967
651
376
69
161
461
898
95
667
293
95
565
422
276
643
199
844
53
547
529
136
189
969
240
495
697
912
156
528
623
93
10
874
325
522
467
407
744
656
728
746
468
183
682
929
159
956
606
565
94
363
139
441
890
960
254
857
71
73
454
853
562
230
369
834
224
227
547
141
48
365
157
439
660
753
113
42
5
392
605
849
294
928
527
885
256
635
839
8
201
726
19
193
304
854
259
848
650
572
705
874
891
829
559
939
772
791
591
638
427
804
106
907
315
64
892
786
728
979
763
29
393
890
351
338
284
354
841
300
515
225
120
423
659
427
538
832
696
496
569
672
433
854
444
926
681
931
777
122
357
775
749
490
143
696
331
456
614
546
651
526
178
538
187
440
447
733
418
255
231
37
77
95
739
256
294
422
648
445
926
75
892
540
215
402
40
343
396
111
105
409
716
913
664
608
452
498
794
787
620
851
615
80
774
547
195
736
686
923
743
748
759
694
219
289
436
776
576
119
883
750
983
759
456
468
783
142
453
191
446
647
13
414
743
571
747
859
623
469
315
212
81
890
925
968
749
938
760
466
972
41
382
925
832
747
678
276
929
401
752
927
776
736
302
912
149
684
504
912
297
695
361
715
230
807
722
440
133
384
944
248
739
498
426
259
812
414
567
156
332
108
751
269
654
889
905
747
431
258
215
826
401
435
715
286
573
516
95
86
202
319
971
714
619
17
188
869
901
468
57
192
487
347
151
825
250
574
566
606
248
527
777
852
416
525
199
216
718
877
952
619
68
272
786
486
870
560
126
422
377
312
179
506
376
241
328
440
852
236
338
289
777
81
680
465
346
91
855
312
568
864
612
177
438
936
268
779
369
811
65
313
617
572
709
267
61
562
50
698
66
79
690
742
263
522
665
128
232
268
21
497
994
29
678
449
297
732
879
627
516
699
188
176
997
405
987
31
675
103
88
725
64
913
580
738
430
816
455
298
849
904
58
188
395
731
801
16
109
234
811
362
481
552
941
695
685
640
735
759
385
785
726
155
45
853
65
802
783
482
875
95
929
444
496
77
10
779
509
410
424
413
796
779
455
653
329
983
837
30
106
613
614
458
139
165
120
540
862
764
86
965
976
639
528
231
147
301
506
739
244
137
846
29
935
472
789
298
582
334
890
869
288
42
762
945
423
980
187
220
173
32
55
282
896
624
854
607
414
632
558
83
207
148
481
938
287
660
326
959
452
527
333
767
296
335
724
85
671
175
109
439
402
813
545
90
677
129
446
770
701
283
981
375
73
742
394
191
389
358
4
775
50
865
881
786
718
742
398
858
661
783
266
898
575
810
971
275
591
10
99
540
107
286
649
806
442
849
51
498
562
168
31
896
49
636
583
823
956
46
375
134
579
342
111
935
786
446
834
41
146
780
162
300
792
12
21
518
555
69
394
972
1
380
19
187
809
371
810
427
910
656
883
474
24
961
550
4
80
979
30
911
730
603
289
50
507
143
77
374
650
594
493
98
224
710
570
477
817
897
780
781
140
726
184
116
655
853
854
907
47
832
217
661
561
760
431
116
819
261
303
705
585
569
259
79
353
894
74
455
602
561
986
98
979
246
851
607
624
507
513
524
564
502
503
826
270
699
870
363
528
255
169
628
451
841
66
60
423
80
663
267
739
786
155
954
137
868
679
925
806
504
569
878
739
417
228
19
130
902
79
270
905
356
5
43
624
231
309
951
388
741
240
200
586
190
804
340
571
698
414
419
782
856
190
402
556
625
329
252
861
512
986
516
226
420
405
4
391
20
283
596
906
600
28
812
473
1
21
975
620
610
385
680
751
258
332
668
521
16
484
828
793
259
494
812
688
346
807
685
175
404
920
198
299
324
534
93
95
820
384
948
996
181
556
408
27
430
179
662
997
963
216
148
68
835
848
345
234
106
129
397
349
774
742
897
329
774
970
820
145
649
875
963
547
220
330
64
85
89
109
83
712
730
206
401
384
947
577
238
460
144
864
643
182
5
853
875
79
405
628
404
364
55
297
865
32
253
57
992
190
603
958
471
395
682
315
510
478
28
852
952
799
368
71
208
101
464
687
348
407
594
514
967
343
860
897
703
602
814
926
7
987
316
402
16
279
194
127
75
595
499
223
736
648
933
494
855
24
142
347
581
823
744
386
745
547
878
529
61
105
430
540
451
741
447
767
381
81
910
895
318
728
550
946
894
999
271
259
308
621
242
357
557
454
396
743
294
787
120
720
20
991
76
862
883
913
51
968
851
560
394
330
865
631
749
59
114
837
917
371
47
242
701
652
44
882
728
536
778
441
591
472
403
745
588
5
385
866
341
502
35
537
710
266
69
618
155
919
907
493
887
641
294
173
516
263
160
697
29
730
706
210
901
15
891
581
793
302
35
612
399
666
791
574
543
212
570
702
273
692
79
193
548
155
397
23
638
325
841
335
363
772
579
757
62
731
286
995
72
824
376
694
35
292
403
396
795
241
581
856
572
993
202
116
496
496
781
692
808
690
947
387
192
710
305
272
631
989
542
597
37
741
467
249
768
488
461
130
271
864
471
19
525
986
504
275
465
797
314
846
235
153
679
257
328
979
384
548
495
172
385
264
131
615
340
454
645
575
528
779
80
161
85
484
255
778
559
497
169
12
806
165
134
604
686
66
81
20
949
491
181
342
298
217
831
365
82
802
922
211
851
727
677
154
659
216
26
409
426
518
500
664
213
925
447
237
393
460
185
399
396
300
177
481
989
339
45
690
84
275
878
815
589
399
169
869
570
119
926
279
766
760
968
317
103
770
299
156
280
966
465
111
143
446
97
990
819
64
746
637
541
477
383
532
193
60
461
416
584
276
108
525
123
937
37
980
700
385
897
167
261
536
823
763
824
119
14
855
939
13
175
354
364
511
790
81
986
618
995
101
560
357
250
266
305
346
678
263
642
16
750
792
581
165
964
43
248
871
27
220
742
175
202
710
292
653
532
984
538
461
771
457
456
594
683
292
119
288
571
365
716
111
261
367
939
5
691
333
567
765
857
117
330
908
602
321
10
174
288
619
545
585
717
302
205
274
547
326
925
957
577
91
551
480
604
963
390
936
796
264
898
549
810
411
862
374
399
885
207
883
869
230
385
197
884
318
134
276
469
583
535
489
930
486
235
668
847
860
7
399
275
913
315
994
898
226
42
976
98
607
440
985
563
637
55
349
803
985
419
715
264
196
905
83
909
16
681
220
489
559
584
461
580
469
717
739
431
263
342
616
659
907
428
82
347
421
397
189
184
663
698
165
76
104
689
751
673
104
250
562
515
916
306
573
297
267
48
681
434
677
469
784
417
130
778
363
101
860
357
488
305
142
913
289
835
612
591
746
998
290
650
836
738
558
911
818
576
132
226
74
255
8
701
57
822
503
306
789
461
825
659
968
975
249
188
976
253
588
85
788
537
964
814
936
348
161
487
478
579
43
449
867
281
952
864
875
188
639
823
166
908
88
791
138
234
820
233
146
343
422
959
398
144
256
135
313
154
644
86
786
724
185
465
157
36
77
197
628
929
728
840
808
515
705
576
102
498
318
41
669
297
523
614
139
12
208
242
293
788
175
946
522
837
104
3
390
402
693
695
385
930
184
633
851
447
911
325
138
723
942
450
740
741
88
610
175
374
473
247
153
202
465
587
558
44
386
237
978
335
122
732
977
358
52
596
43
190
251
568
672
874
583
188
157
50
214
42
64
882
221
74
155
830
72
298
703
414
323
183
906
180
590
50
253
569
39
514
589
450
447
935
669
67
845
380
656
110
161
778
418
593
583
249
305
574
309
309
693
694
147
645
521
790
819
742
551
895
417
984
70
677
344
405
664
715
224
92
953
422
986
567
822
718
135
849
382
531
771
231
292
901
511
706
873
668
738
87
58
244
502
363
839
613
495
760
294
976
815
823
762
615
629
31
16
332
187
127
515
203
45
274
38
829
410
219
898
36
564
635
286
808
378
789
564
633
397
326
865
657
373
314
89
742
136
583
971
855
595
511
306
204
422
28
138
496
941
574
30
279
405
640
573
740
773
556
553
812
531
224
631
757
392
949
719
958
539
27
302
129
484
387
899
430
484
846
382
901
324
172
138
247
877
778
982
21
125
548
420
679
441
469
600
804
963
870
805
712
741
752
143
228
296
326
257
377
365
580
392
802
915
434
161
899
733
250
563
245
185
838
175
215
253
667
407
896
897
222
356
881
282
373
889
191
759
292
785
821
263
617
590
482
815
717
950
636
598
368
391
308
152
392
461
353
38
652
789
855
157
58
698
844
251
265
141
43
968
750
32
780
374
483
10
613
837
563
1
66
680
810
920
163
313
462
638
205
253
383
881
186
71
533
944
25
834
557
504
291
323
778
613
420
190
929
300
165
282
586
982
518
767
771
251
65
134
594
71
13
880
800
872
705
616
471
565
631
136
112
653
782
996
177
666
865
920
123
300
130
216
242
134
104
449
735
842
623
813
542
837
434
480
858
536
202
371
106
976
288
618
551
546
495
501
151
602
548
127
822
961
502
280
319
745
457
815
303
898
392
512
722
142
151
101
460
230
224
957
637
306
200
104
731
449
191
763
428
673
66
66
410
660
512
39
892
133
260
901
953
858
854
555
204
715
627
536
643
144
872
143
934
808
809
179
330
279
156
913
485
204
396
623
655
549
738
594
309
204
558
939
422
535
330
67
500
148
483
115
74
969
348
22
676
125
108
143
690
411
484
786
62
8
569
851
930
124
427
999
506
739
646
446
27
891
430
31
381
703
746
257
4
555
854
657
432
594
321
694
296
872
374
162
858
390
682
995
58
240
711
854
772
317
700
468
635
901
656
354
963
834
276
256
429
27
121
656
208
99
533
153
427
80
877
858
518
392
968
16
200
108
270
967
737
778
802
678
618
786
655
193
184
452
122
599
834
718
140
403
835
582
305
357
34
21
10
60
449
381
120
982
446
102
238
852
754
176
270
727
898
376
934
288
685
557
40
121
232
156
498
77
470
795
527
904
498
565
489
927
742
568
689
794
491
495
459
427
750
364
420
436
733
123
388
324
193
296
727
885
467
687
885
593
432
47
373
862
208
151
681
520
752
709
748
262
366
870
143
322
720
733
842
298
833
552
100
998
969
108
122
901
285
262
953
980
269
333
315
592
115
152
249
790
591
59
601
819
875
755
23
414
719
401
489
789
326
739
518
663
39
30
674
322
396
344
217
710
4
201
582
424
425
29
508
142
942
655
521
935
294
348
541
735
121
270
61
862
947
505
574
610
204
653
729
697
85
59
952
866
489
364
973
736
598
312
484
326
528
157
137
806
927
222
724
885
638
464
966
279
377
898
824
692
578
177
285
121
625
611
903
38
673
315
371
53
20
713
344
753
481
77
475
393
850
868
708
868
927
519
557
224
434
686
789
835
138
182
679
100
688
777
953
789
345
766
656
289
701
369
536
9
78
977
804
284
589
949
755
376
335
229
653
65
110
362
875
326
253
125
797
188
906
619
173
540
912
282
833
327
961
468
284
474
722
614
66
842
92
28
609
931
407
931
135
267
896
71
616
705
279
250
11
275
884
91
703
579
495
206
549
495
584
667
550
797
996
272
5
287
103
900
802
568
477
463
84
255
178
694
811
294
342
973
659
21
121
21
113
603
188
75
216
691
148
593
575
592
869
414
643
684
692
958
809
292
24
335
446
621
436
556
839
647
27
514
848
599
708
372
223
757
10
775
550
3
309
286
411
605
722
699
990
316
436
303
784
291
796
237
852
144
960
99
722
246
553
991
556
30
34
16
513
641
466
726
298
473
447
277
145
454
819
597
876
818
808
918
205
358
363
584
700
89
119
653
488
977
119
290
42
575
677
572
316
619
698
540
746
454
803
178
573
453
684
913
267
858
645
353
96
803
985
614
652
870
130
960
157
768
764
392
152
857
971
690
774
128
578
58
30
795
301
383
776
293
826
731
631
758
274
263
968
714
302
560
392
676
41
156
559
8
292
194
597
464
374
656
631
876
926
614
989
939
321
643
668
42
397
663
730
443
765
89
960
525
530
30
946
328
347
518
659
269
531
464
657
273
503
934
732
80
460
609
478
631
182
338
176
589
252
121
816
712
61
635
544
58
777
910
91
245
612
147
586
633
804
698
701
65
383
591
756
367
196
580
664
252
911
174
656
749
438
747
237
402
176
103
523
795
247
953
877
713
735
903
211
739
862
654
728
217
715
936
344
551
809
337
349
159
226
342
608
961
477
374
899
513
521
972
118
939
81
697
247
741
699
640
593
577
679
880
828
581
529
812
262
893
450
933
739
849
846
678
873
190
313
421
938
405
121
658
82
536
226
752
672
569
420
730
928
758
885
23
446
493
681
75
856
550
243
640
131
560
936
953
933
764
156
603
145
976
788
935
568
304
967
187
163
250
129
126
144
739
968
463
918
61
719
886
675
512
649
153
660
658
60
605
621
804
590
893
111
471
521
513
769
591
522
579
412
454
409
450
184
941
137
853
294
885
578
674
856
152
830
44
296
538
596
524
836
671
454
422
883
124
202
690
98
217
782
488
360
887
27
223
730
748
226
981
444
413
91
714
8
818
240
582
46
268
240
649
185
859
891
362
92
272
763
567
900
544
180
318
214
709
950
700
846
776
134
242
973
719
199
72
33
827
736
955
335
341
679
676
717
508
235
180
440
971
711
877
19
243
646
867
781
916
68
367
884
162
947
640
258
39
819
913
454
281
789
843
88
57
562
516
481
797
260
178
957
334
5
196
511
286
732
142
500
311
471
50
765
252
276
597
384
406
770
776
252
617
553
881
401
318
602
591
329
305
114
800
283
3
116
840
883
925
963
650
111
301
692
304
768
871
292
615
130
683
985
127
941
82
394
677
427
192
229
152
840
797
821
534
12
40
909
126
643
10
589
895
267
67
932
785
959
792
632
502
533
173
678
15
15
365
634
121
747
388
768
375
823
731
16
396
526
197
630
410
158
827
218
734
493
86
994
378
494
375
91
459
676
618
54
201
96
829
869
670
168
987
87
131
643
405
298
851
758
369
495
331
330
548
561
863
350
61
790
358
36
956
949
229
793
152
662
774
851
335
218
299
562
722
829
606
772
830
75
442
333
820
991
12
708
856
128
293
8
167
8
39
784
671
625
157
103
361
876
693
308
658
899
821
152
534
197
418
662
544
8
524
502
233
515
280
247
247
682
133
477
389
555
635
236
850
99
406
722
305
757
497
967
993
222
230
454
136
726
578
842
823
335
696
209
173
806
392
203
377
797
441
380
791
322
752
382
358
855
321
236
873
227
797
643
281
616
686
103
205
315
943
302
946
190
989
598
33
163
80
953
684
979
15
271
890
554
224
607
450
940
694
112
985
168
227
720
828
722
880
839
908
611
764
359
963
744
156
983
637
148
166
336
127
690
13
705
851
238
328
545
680
302
956
348
216
407
332
647
771
807
117
6
178
793
657
376
944
553
136
298
629
92
634
239
441
664
873
494
178
384
19
317
248
231
352
181
394
628
692
536
749
616
147
814
599
110
435
432
636
625
155
479
560
329
352
676
630
783
176
230
727
594
438
327
309
867
95
991
780
78
758
31
998
788
973
359
898
321
144
682
502
118
966
800
93
917
112
821
895
427
652
474
146
710
644
275
701
166
187
562
483
303
116
889
114
237
244
935
308
272
801
497
930
373
61
172
238
778
695
579
519
311
469
357
182
573
233
903
708
476
68
859
16
75
20
186
498
921
505
440
274
353
660
185
616
325
283
699
68
287
448
671
899
368
648
660
623
608
709
545
666
40
611
554
564
792
436
30
492
334
683
623
425
281
335
360
159
102
238
388
761
87
968
694
8
659
141
211
312
689
421
879
17
984
542
622
106
845
875
888
841
438
55
455
172
882
340
435
469
620
785
499
581
246
653
202
444
106
293
824
748
714
892
357
22
749
279
118
67
709
439
687
668
117
423
145
650
671
546
253
756
157
72
522
850
557
142
253
5
894
771
198
492
772
263
426
139
582
123
42
939
322
565
704
407
108
164
182
798
163
891
847
448
122
161
841
479
234
370
20
836
608
523
12
817
798
643
304
787
403
182
765
463
242
379
933
19
147
726
512
774
603
119
231
455
267
128
455
537
527
418
757
313
320
544
879
945
890
278
582
166
502
728
829
218
526
457
581
21
986
55
900
638
16
188
706
870
911
277
386
181
338
720
698
473
436
353
432
580
130
502
888
648
866
68
54
25
283
329
933
747
70
61
492
480
688
341
123
698
626
426
158
748
313
690
617
955
620
912
94
638
855
972
873
957
449
342
507
435
734
150
492
875
195
551
499
384
247
464
244
524
597
349
172
562
992
461
281
780
290
125
225
253
767
122
387
177
863
130
80
450
394
343
273
144
187
975
460
584
264
303
676
224
493
182
689
9
245
310
287
588
968
473
71
226
539
922
457
140
485
455
592
767
982
26
842
473
384
585
295
988
817
388
821
667
889
93
511
504
566
934
731
283
813
420
156
529
778
669
806
897
201
891
580
249
966
382
756
373
479
974
469
4
816
621
883
619
867
313
674
714
844
231
852
387
836
408
395
43
58
609
270
180
936
609
291
305
758
61
500
129
471
258
276
661
637
325
718
36
96
273
742
278
342
418
768
410
367
734
876
538
43
355
586
215
214
693
142
851
214
69
356
560
591
996
911
440
147
79
950
319
323
414
95
265
385
557
496
916
110
580
140
903
355
205
435
738
299
884
635
376
331
523
417
497
499
212
416
160
451
563
636
122
426
404
462
256
160
146
235
39
751
513
186
713
43
745
479
964
588
771
324
235
547
970
803
639
451
924
354
527
753
840
714
774
733
471
704
64
786
365
774
170
514
756
498
808
269
409
753
712
729
87
29
47
68
221
828
302
222
108
932
871
309
846
590
369
711
74
991
839
226
297
389
768
42
217
31
174
363
349
886
723
918
940
833
755
149
829
11
443
793
6
951
205
478
460
962
404
510
35
253
821
433
104
249
338
498
800
735
708
915
590
168
448
57
125
440
501
972
170
822
466
357
918
851
851
945
204
107
126
790
377
569
608
747
311
464
48
572
29
219
302
234
684
446
597
579
876
313
297
708
671
966
991
138
718
31
686
4
489
607
762
599
728
6
822
79
56
634
551
608
275
35
577
542
22
197
546
364
727
628
471
991
139
281
373
533
158
758
864
690
796
410
512
954
417
629
958
548
316
273
536
264
353
433
824
461
366
483
679
953
647
149
763
67
241
86
692
238
135
288
202
759
794
399
308
493
222
279
844
853
92
796
547
446
89
199
724
588
581
199
105
239
800
229
133
628
527
632
312
673
1
572
945
293
32
502
710
739
551
662
21
695
160
503
445
901
766
147
251
47
197
488
793
104
740
602
631
772
453
98
342
122
477
210
669
487
77
927
717
293
926
502
875
378
527
491
294
980
583
108
403
534
91
963
514
414
428
50
896
231
197
524
30
251
505
365
460
647
581
206
245
356
968
325
252
368
534
274
833
394
490
428
206
674
100
798
148
523
691
109
411
256
70
829
376
809
678
369
810
366
996
576
860
233
962
351
376
516
901
957
751
720
52
484
631
631
262
602
382
791
693
422
323
350
505
657
583
263
582
568
261
605
990
361
311
236
470
811
732
991
285
696
968
300
846
871
30
893
949
719
124
90
697
67
371
799
200
736
831
571
29
330
776
238
883
781
178
196
594
204
30
301
381
797
906
635
213
846
170
798
992
958
573
190
209
928
406
63
881
305
550
564
240
189
458
407
267
867
207
662
808
492
987
792
732
850
211
893
118
853
693
92
792
643
603
623
94
878
192
109
773
469
808
50
152
493
433
122
804
327
413
740
759
243
794
211
365
755
369
425
711
205
983
386
586
569
910
155
640
2
252
339
711
13
519
883
827
535
439
375
75
133
11
814
616
952
93
693
621
682
959
232
588
634
837
713
894
567
191
816
357
288
815
493
474
997
81
511
406
732
505
247
7
185
173
870
723
551
428
949
88
802
411
381
877
329
488
813
986
516
468
400
519
221
235
179
552
836
848
774
115
499
114
624
334
934
173
498
433
378
46
114
636
359
587
666
739
144
357
616
878
453
133
729
890
629
567
757
591
163
262
233
98
59
758
878
749
870
3
113
950
937
777
892
976
102
625
53
907
415
240
428
807
733
210
330
856
709
912
776
398
874
875
230
629
202
654
470
950
395
448
204
756
455
527
54
977
360
652
320
430
888
516
41
390
898
939
142
248
215
400
169
112
160
728
34
862
128
71
506
606
561
52
79
431
424
234
370
377
900
66
398
90
443
353
674
423
467
164
357
422
762
435
910
610
421
117
74
968
865
557
844
267
742
658
128
386
708
688
97
197
305
938
665
537
926
331
676
391
403
56
468
576
348
728
436
903
530
680
560
518
237
253
102
374
453
596
702
657
63
216
271
7
178
104
944
172
427
971
624
745
780
731
315
676
332
974
377
746
891
533
551
114
336
799
280
378
344
745
242
780
386
822
206
80
643
950
620
127
81
621
220
822
824
81
868
47
687
894
886
104
809
690
807
352
818
780
624
675
946
823
961
561
762
937
189
897
688
981
915
123
28
117
915
256
545
912
63
522
890
804
837
888
477
313
258
235
512
248
866
269
281
160
5
915
653
226
542
186
175
883
461
903
893
376
816
550
856
89
77
864
936
357
636
440
55
685
112
326
315
428
280
662
316
619
225
477
407
971
479
660
295
407
51
355
414
136
333
655
283
129
528
28
600
43
112
588
456
346
603
30
25
582
969
606
715
272
470
333
754
169
132
96
723
330
392
896
321
940
117
660
251
988
300
394
555
586
590
690
661
648
881
957
585
957
469
663
850
718
458
301
678
624
864
576
672
10
265
5
103
942
325
723
42
91
207
191
940
706
614
533
277
666
445
33
249
928
859
611
171
702
587
601
837
287
419
985
666
442
357
481
140
490
461
621
865
164
78
638
802
584
389
607
384
274
149
355
91
239
987
19
978
912
417
813
248
536
707
275
866
101
333
447
207
345
113
408
167
664
613
310
672
683
790
641
623
508
985
810
408
894
219
780
802
331
787
111
466
529
147
422
553
394
339
549
450
388
701
344
616
705
132
41
954
953
4
515
316
528
274
674
943
998
269
185
152
474
614
485
509
858
126
989
770
726
22
329
358
264
981
975
314
133
351
857
636
484
866
461
399
895
121
98
84
687
678
230
632
798
372
814
290
262
874
271
230
7
488
517
946
867
569
158
382
966
879
170
967
755
476
865
243
651
907
939
569
728
739
562
957
823
642
890
763
40
222
245
763
68
830
834
501
798
238
95
45
146
740
20
438
69
899
177
977
553
235
245
584
863
94
55
297
795
727
834
606
639
408
623
297
882
248
807
125
413
851
161
144
187
95
399
845
807
277
954
137
526
363
121
29
876
850
221
709
621
439
404
379
848
833
749
119
13
430
680
888
464
37
610
391
786
881
884
564
734
817
391
445
471
682
897
707
220
529
8
722
995
186
642
861
419
525
726
815
320
247
87
791
517
173
610
753
409
370
839
709
876
616
335
145
541
209
976
526
686
165
66
879
901
512
189
950
234
492
678
665
348
690
239
151
799
295
131
831
789
867
946
464
772
667
411
515
349
643
61
23
468
549
696
300
885
205
833
113
376
284
592
741
814
787
69
675
659
568
645
407
91
119
742
794
879
65
827
449
399
882
404
767
957
243
168
110
271
154
470
705
458
476
917
993
609
600
23
49
571
713
2
225
380
729
51
708
437
850
822
750
353
529
521
323
333
243
702
453
353
236
237
36
826
218
758
932
900
45
824
838
766
326
419
239
767
83
355
744
85
312
233
949
326
86
98
64
716
769
501
302
764
860
487
649
4
600
231
162
887
468
459
222
204
510
721
835
165
77
603
452
991
681
715
139
270
162
741
830
805
478
717
601
19
514
766
435
147
577
130
531
866
136
883
411
790
818
309
254
35
312
170
660
762
699
434
175
626
297
720
170
35
927
977
385
343
291
685
258
167
371
957
130
41
245
71
867
621
73
506
912
850
257
529
843
104
958
797
665
463
148
933
333
105
803
682
264
525
258
317
763
552
408
880
882
463
356
672
663
805
670
19
269
530
983
157
628
87
32
605
193
296
712
695
920
271
659
425
660
581
703
505
411
719
95
374
498
972
582
852
567
713
14
596
262
624
423
574
348
244
219
260
47
568
192
735
194
222
330
532
36
929
509
410
21
153
998
117
26
435
491
155
560
865
118
891
968
614
919
203
761
33
791
904
965
369
791
646
352
354
598
366
148
380
540
76
68
848
496
76
995
806
985
309
272
888
884
128
863
729
469
846
882
503
288
213
558
348
876
321
644
723
38
539
53
367
978
702
559
741
252
704
882
364
338
533
172
651
273
452
178
850
178
817
988
226
668
31
54
216
669
560
847
648
776
111
63
860
418
575
113
845
331
499
988
59
268
550
64
883
127
648
796
910
163
839
24
157
286
834
472
123
381
485
310
527
559
770
111
690
35
70
314
118
530
33
258
125
587
870
200
39
956
399
245
943
556
798
969
867
915
749
140
244
380
291
7
304
606
241
128
850
654
753
424
671
807
669
582
905
868
598
287
290
323
278
956
13
578
10
869
484
660
994
942
198
883
849
422
103
533
144
49
185
899
34
889
500
596
8
608
935
482
93
346
328
957
231
951
450
509
128
299
996
11
533
811
860
249
193
644
660
146
111
222
119
771
380
253
177
487
935
667
795
901
646
9
532
213
227
658
906
822
62
244
595
477
372
549
145
469
572
907
21
807
93
654
473
681
922
282
767
527
79
161
445
964
326
42
343
253
900
17
520
317
516
537
434
145
933
363
705
285
828
804
380
836
882
58
131
600
198
54
647
270
961
929
221
186
540
917
474
243
707
707
708
993
560
245
244
581
248
473
115
255
858
245
837
715
686
464
610
924
595
711
395
183
938
360
878
739
120
930
316
832
552
785
649
266
636
917
313
71
226
630
457
882
94
708
489
288
229
750
176
564
625
875
382
336
266
687
653
873
358
801
27
414
502
124
127
647
901
663
654
309
92
466
631
40
628
722
616
388
748
843
415
583
99
885
216
504
486
858
172
149
747
997
515
720
596
599
489
705
538
497
493
459
380
796
843
701
846
455
633
825
926
125
4
220
948
751
334
412
73
849
640
128
81
71
733
674
348
352
160
473
384
228
783
502
792
753
266
282
510
9
975
831
559
355
665
683
173
14
769
464
968
516
624
561
182
228
975
978
505
123
7
33
644
638
800
363
900
568
921
221
531
663
452
162
307
527
883
659
965
335
878
288
111
462
428
928
802
669
671
190
570
277
423
774
939
89
359
269
457
183
731
52
389
628
645
750
118
457
83
624
724
482
848
767
922
788
778
807
929
276
164
279
714
891
378
298
37
835
667
924
950
214
297
954
388
481
145
670
898
689
636
743
460
661
593
677
554
968
227
828
846
265
532
522
134
207
797
634
279
897
525
963
311
585
768
456
889
308
759
574
668
678
136
860
434
13
681
427
237
142
738
309
589
643
475
564
522
768
997
763
323
79
329
814
625
160
314
348
385
212
605
181
300
675
374
944
524
677
546
254
45
279
935
981
821
140
691
15
462
140
618
541
298
216
676
246
40
177
225
976
217
567
674
188
963
72
900
371
116
433
516
501
593
114
500
572
176
683
157
533
711
669
519
992
890
214
664
392
393
574
299
897
775
292
252
176
318
938
281
824
113
546
928
515
301
488
925
887
620
627
472
966
629
557
980
832
168
523
333
192
750
542
890
404
398
499
441
1
818
520
17
398
92
626
17
344
779
54
358
820
826
630
954
36
338
451
737
346
563
358
199
776
714
404
508
907
665
234
976
785
205
641
253
564
654
457
75
473
175
846
778
983
460
863
884
505
637
839
650
840
668
962
22
891
426
373
616
410
802
259
74
689
911
611
520
380
236
706
52
403
143
266
668
240
220
348
576
33
151
940
783
561
592
435
317
894
126
325
595
695
868
986
425
248
120
582
153
561
348
174
48
494
373
365
734
889
119
158
867
249
414
362
19
317
50
263
516
643
834
86
135
833
77
635
471
433
537
237
29
777
701
396
859
148
369
26
452
994
399
763
738
179
527
298
3
9
89
276
88
903
455
289
977
254
976
426
489
295
617
516
536
946
288
325
271
286
869
880
738
216
646
590
846
329
991
216
266
961
508
634
891
539
706
871
584
143
55
248
217
845
978
768
442
224
555
376
204
597
372
261
438
857
616
520
530
39
898
125
121
460
189
896
505
568
250
36
541
731
168
245
149
911
305
606
361
534
901
338
893
354
341
996
529
959
40
637
434
875
969
887
603
283
593
452
426
320
38
419
329
64
946
574
669
917
818
229
797
517
610
894
315
714
597
670
145
977
183
498
791
365
822
438
166
279
894
457
437
115
938
146
974
129
281
191
924
885
197
324
396
606
468
140
125
947
866
685
319
905
550
666
438
896
719
831
555
768
588
961
622
375
850
227
767
639
489
407
243
130
362
803
620
570
445
936
638
48
393
632
112
158
647
657
588
122
222
594
440
553
333
901
130
973
917
162
933
995
285
662
427
278
348
968
519
161
908
580
349
646
713
426
460
690
819
291
929
822
566
244
885
139
643
558
488
988
670
917
311
851
753
422
67
979
85
53
695
785
199
955
670
691
279
890
975
222
36
427
602
315
514
811
469
220
708
255
511
85
137
607
927
493
715
809
166
961
464
290
639
971
153
134
567
97
81
898
572
98
133
282
307
825
413
410
667
563
796
524
707
934
566
413
5
382
443
59
719
581
46
614
426
721
676
728
476
305
266
560
318
796
300
104
589
692
947
250
206
887
100
486
61
857
615
972
536
150
738
290
180
797
931
593
524
19
646
158
797
408
494
82
255
697
520
293
441
298
174
481
211
39
156
851
697
387
92
73
746
407
569
18
829
694
566
75
281
160
315
816
71
905
457
724
275
574
508
699
631
910
37
925
667
282
396
276
497
32
241
989
885
890
911
341
763
740
655
242
733
84
221
799
700
176
22
719
309
420
2
677
174
574
507
713
239
19
57
877
870
41
335
299
737
47
672
584
19
809
244
843
605
690
935
687
478
310
446
103
320
292
768
573
263
457
791
525
576
352
193
679
331
206
865
718
321
277
998
91
440
82
179
723
120
72
554
692
356
40
181
664
165
262
528
53
147
678
29
429
958
228
177
696
703
987
345
420
419
932
128
134
928
828
249
944
914
774
138
526
533
394
301
644
750
140
681
163
255
572
401
87
953
492
89
2
119
523
327
271
988
589
670
137
518
872
638
414
939
98
475
976
478
76
826
47
832
508
459
318
155
64
777
992
571
833
757
522
682
491
353
625
391
130
900
574
168
431
297
831
728
321
879
616
655
493
365
900
757
329
664
871
923
396
446
95
706
511
977
408
597
341
517
738
355
558
349
514
665
964
826
969
741
366
329
223
880
19
794
465
351
982
123
358
165
884
461
367
992
210
383
430
10
207
422
772
158
165
303
753
836
462
649
820
351
374
100
788
565
159
164
650
301
715
430
125
185
822
225
325
101
229
162
423
643
423
158
252
322
422
0
800
689
712
117
290
484
123
341
481
505
336
724
793
176
576
616
454
610
775
812
543
885
144
536
773
481
480
322
213
394
332
451
582
118
967
837
644
799
608
241
509
366
822
105
170
156
664
929
952
320
4
3
376
427
751
903
351
970
531
714
727
244
982
955
964
713
608
631
791
337
383
482
360
699
197
480
739
8
29
132
381
508
614
352
816
882
316
614
366
993
768
626
663
418
752
868
844
321
172
297
142
563
175
284
60
239
516
915
441
488
477
164
228
290
115
574
963
908
259
736
465
913
728
860
925
844
1
793
657
131
13
984
932
933
136
399
393
579
603
674
540
320
376
257
414
3
606
118
671
895
738
172
191
87
545
932
408
572
221
139
837
415
72
358
819
22
710
87
377
1
616
403
479
227
879
632
373
93
869
895
53
941
663
398
431
948
336
157
487
353
833
478
150
144
590
700
886
667
336
677
559
538
990
902
925
748
381
617
378
518
523
158
827
569
142
793
97
428
49
913
922
3
821
299
948
639
420
661
316
468
341
146
587
610
128
81
775
215
590
59
611
257
459
225
195
828
83
696
380
586
524
226
652
421
425
902
811
256
23
604
730
955
378
692
734
785
654
412
735
761
173
301
680
358
426
893
153
693
450
133
930
914
200
206
961
622
590
971
690
699
467
674
127
81
819
180
132
371
729
670
948
295
698
115
800
487
172
459
913
384
282
311
578
59
480
171
351
83
115
582
329
359
988
700
563
115
33
292
225
663
112
639
996
901
729
168
702
633
366
798
939
202
836
410
333
501
183
258
65
67
702
978
682
340
669
998
817
508
290
268
777
786
123
533
763
694
316
565
977
545
556
406
521
545
635
248
779
847
271
983
340
717
774
240
135
407
408
978
191
415
679
389
611
364
272
895
606
263
60
334
493
657
195
790
543
181
325
381
113
522
901
743
784
407
419
469
699
584
836
468
909
197
378
68
112
272
687
735
44
936
454
186
893
768
467
705
411
829
133
815
142
908
533
155
878
563
760
183
140
65
801
832
732
209
789
572
77
954
48
281
49
459
515
312
487
541
413
788
882
694
413
384
11
384
178
297
174
213
825
711
200
673
494
763
355
204
529
415
224
870
370
143
97
227
875
754
305
487
173
481
991
544
131
169
862
258
869
881
934
955
490
16
496
403
644
728
626
666
910
52
682
936
516
575
692
773
553
188
660
228
277
245
937
463
643
521
287
277
442
280
123
974
533
512
762
896
493
271
253
493
536
949
805
94
967
307
903
755
721
166
260
326
968
959
358
203
497
545
601
492
449
188
896
716
165
835
285
272
772
352
984
727
500
596
443
398
573
883
857
773
63
225
266
691
685
614
864
702
345
751
821
926
574
701
928
653
621
3
579
636
956
325
419
274
533
663
187
479
442
229
551
257
250
765
116
477
190
841
692
264
886
69
37
196
294
192
753
711
665
14
360
479
371
79
370
221
847
174
107
728
901
763
843
874
504
834
772
379
44
578
648
230
924
210
79
410
615
773
815
621
946
420
295
705
59
117
69
51
267
367
743
99
767
118
612
685
807
928
19
291
678
947
229
634
252
409
61
276
604
268
641
999
637
982
678
550
934
238
568
149
411
402
437
19
485
593
933
995
11
692
612
466
616
534
206
711
762
537
878
231
956
970
69
66
640
122
39
474
608
178
631
898
443
162
160
380
596
338
357
482
358
879
769
908
574
475
337
469
233
949
214
827
183
474
839
358
924
534
911
484
235
760
279
634
709
658
834
693
397
672
363
698
754
920
530
204
456
531
642
393
754
394
133
558
464
805
62
479
505
541
988
811
622
370
304
950
874
753
24
956
7
445
451
252
286
249
269
644
700
323
578
114
358
415
472
724
423
239
637
381
772
479
466
291
904
798
477
84
852
663
608
596
951
707
331
366
931
424
895
827
369
470
661
313
274
292
430
302
986
161
123
943
234
215
187
263
925
732
232
982
653
345
224
735
982
276
289
536
313
588
514
233
119
375
179
674
199
80
182
550
877
680
549
223
126
12
333
677
143
959
812
121
363
401
309
73
892
80
412
982
455
618
890
465
58
588
466
425
756
612
44
978
370
589
288
933
128
486
831
94
20
556
449
407
787
216
802
583
368
131
928
418
267
774
637
455
310
792
148
745
686
155
629
235
52
114
35
882
581
792
711
255
165
929
788
505
60
952
531
761
735
988
406
663
201
771
964
712
670
847
130
229
472
65
656
962
634
394
165
529
251
502
837
917
15
657
544
324
475
58
163
304
804
78
629
432
445
124
479
125
719
734
330
604
830
45
418
33
223
160
503
185
584
892
185
568
211
729
440
998
478
942
706
38
92
88
875
869
85
682
80
425
848
107
768
433
115
209
254
926
64
797
73
448
665
533
361
374
572
177
982
599
586
2
864
358
417
528
251
935
138
88
680
885
205
814
72
904
911
232
234
19
849
817
899
882
295
224
967
280
170
825
65
885
352
675
344
12
536
102
551
789
118
911
978
719
27
730
231
122
823
792
152
520
401
754
457
739
57
877
955
937
179
347
340
801
159
164
876
368
219
237
578
791
254
646
231
336
502
985
989
546
330
905
271
651
197
180
529
43
797
936
369
977
20
667
571
453
519
163
784
979
834
335
419
985
94
505
806
134
507
88
998
121
885
596
505
931
621
133
648
966
178
490
150
740
602
890
405
127
369
748
987
234
231
728
503
942
888
204
430
482
606
990
405
162
422
212
519
432
308
963
881
524
754
481
676
892
734
153
51
652
298
451
262
202
81
675
351
870
34
469
177
114
828
701
777
122
788
829
177
520
561
795
346
204
156
564
465
676
201
797
510
345
180
469
858
735
433
505
500
281
39
781
16
381
353
644
693
397
679
569
681
311
672
7
508
607
679
230
475
420
664
624
382
216
2
167
122
30
376
954
328
986
339
195
858
380
423
522
794
488
230
648
389
59
683
509
69
210
125
603
191
73
452
861
276
46
60
894
30
827
662
350
393
529
487
569
773
206
770
416
202
77
79
999
957
415
171
310
750
941
977
696
453
136
619
37
633
734
979
72
534
698
284
532
616
537
847
795
652
751
217
707
810
387
688
851
623
195
459
823
973
651
248
498
181
899
51
69
59
12
133
343
780
817
751
525
63
136
126
238
553
578
55
593
485
97
723
464
765
196
512
572
435
799
244
21
592
349
443
924
377
711
684
506
168
734
891
505
625
162
529
432
205
399
572
672
669
723
117
25
240
621
905
188
177
586
142
566
616
699
173
19
516
721
301
265
545
660
977
510
763
800
703
38
908
93
450
117
368
190
558
260
740
427
401
807
665
83
641
91
57
671
468
492
692
849
203
284
665
636
280
253
644
207
125
332
551
556
659
767
482
183
53
305
517
621
261
536
714
447
457
238
156
277
470
640
411
713
822
708
200
168
901
84
195
717
171
325
323
877
681
884
450
693
456
647
162
262
666
985
609
722
863
772
911
752
65
862
677
210
992
805
890
383
856
317
40
643
735
20
660
902
931
195
403
725
746
389
25
351
392
888
778
503
724
381
224
106
625
222
822
134
742
803
758
955
512
756
109
987
511
693
658
479
301
169
644
594
169
102
810
788
102
399
140
86
235
396
259
486
908
203
755
384
329
778
372
173
249
587
129
328
109
915
501
845
879
739
389
338
144
917
468
840
741
598
140
647
355
251
679
538
394
464
563
265
368
272
163
75
458
931
97
549
579
377
261
568
867
462
120
344
497
621
193
40
273
42
532
270
884
300
244
596
392
674
771
589
657
961
147
861
733
254
878
647
664
276
305
217
536
316
100
426
786
165
907
775
516
624
820
159
896
603
447
703
721
566
855
432
835
980
247
778
566
842
577
807
782
608
214
929
21
66
94
467
803
769
458
178
584
353
204
236
918
703
35
33
859
319
262
702
874
225
943
301
289
806
324
406
308
294
610
237
537
68
746
526
396
283
536
54
521
694
530
450
996
657
975
689
576
694
989
864
588
559
495
799
245
74
573
107
956
581
53
589
669
167
28
455
684
142
29
490
720
392
672
845
406
989
865
112
900
284
537
766
553
682
855
65
148
392
241
930
18
380
926
805
919
621
171
458
113
804
483
956
450
461
715
725
895
895
65
547
914
61
912
988
612
582
596
158
339
615
966
461
690
819
111
374
92
2
463
31
760
950
19
582
589
328
869
669
926
786
717
134
321
148
124
347
694
850
620
469
58
530
149
346
492
530
298
912
698
636
274
648
700
293
504
72
977
130
872
360
114
911
151
183
404
385
643
360
841
908
639
988
553
63
891
71
800
167
641
4
282
73
122
109
963
325
489
926
206
785
122
572
614
888
982
929
240
957
552
955
580
80
889
595
107
941
988
334
336
50
852
201
332
620
658
88
704
237
991
673
157
799
746
41
211
240
102
965
62
997
345
467
378
75
962
636
756
834
58
614
700
962
354
87
182
900
380
245
341
98
228
976
980
557
121
295
415
369
390
309
850
293
339
726
800
328
572
259
286
769
22
165
134
386
292
63
904
554
199
583
735
769
916
270
436
547
457
460
772
955
933
73
73
356
549
862
73
237
826
677
221
516
364
890
324
78
242
166
811
498
108
973
329
496
403
681
124
753
477
769
520
381
579
385
271
127
988
653
220
264
471
627
566
456
35
767
446
105
608
461
849
184
148
738
66
686
732
592
130
610
698
529
923
107
490
669
209
157
240
286
331
244
667
318
51
899
742
73
217
190
604
445
598
727
666
613
779
516
548
390
193
913
286
881
864
236
491
587
116
341
562
935
908
124
655
84
848
585
537
833
447
561
297
479
908
561
880
595
844
278
121
327
370
263
672
959
102
910
549
265
482
164
970
607
406
736
272
201
691
473
455
671
672
657
140
329
690
656
970
726
53
998
196
825
452
288
449
241
291
625
801
682
379
3
560
642
176
552
527
692
717
473
812
794
762
904
293
71
920
747
795
164
129
788
982
831
68
305
304
404
268
918
871
866
254
429
421
984
784
965
82
529
985
256
680
881
883
976
679
990
364
303
903
173
720
798
666
156
340
444
62
414
106
936
578
273
446
587
635
16
662
899
634
757
729
411
818
539
877
251
323
117
971
829
845
133
436
411
894
13
763
260
609
988
351
3
351
708
80
299
227
18
92
930
262
76
290
559
236
588
300
921
887
216
921
233
99
740
867
263
124
894
332
359
916
852
484
332
56
412
624
53
689
599
413
154
690
766
160
200
683
552
675
150
645
133
338
432
175
251
536
408
240
671
53
733
228
252
495
443
732
554
487
975
152
692
746
676
337
113
516
715
425
583
28
212
913
311
409
558
522
880
939
658
297
793
458
432
259
306
667
363
133
299
911
704
305
540
99
195
167
931
975
391
550
313
820
913
642
700
264
71
938
164
292
287
944
693
55
52
985
780
504
88
209
610
851
477
102
66
375
520
218
484
6
244
167
3
289
136
898
992
344
93
404
188
825
248
661
530
9
275
371
137
205
673
473
934
818
601
288
509
650
197
56
145
400
511
576
201
682
69
743
717
828
310
141
111
920
182
537
384
951
816
992
202
171
362
997
877
462
369
519
818
478
266
316
830
242
6
97
969
124
310
665
919
731
9
831
387
228
833
21
347
896
265
810
590
132
902
66
878
105
890
383
896
270
945
999
199
936
429
877
201
643
701
221
434
56
274
269
574
96
734
411
235
673
920
766
262
843
621
415
261
654
307
770
954
508
523
880
578
987
528
470
7
895
125
679
92
677
211
229
0
852
483
608
248
893
950
340
892
45
40
389
683
937
241
972
262
505
676
539
11
523
844
104
261
259
317
346
47
146
519
520
865
11
923
346
334
407
406
424
356
795
805
90
381
759
859
767
789
1
989
996
355
287
702
260
899
664
73
103
43
167
337
370
628
333
323
64
381
89
440
749
252
507
906
44
269
217
257
954
805
34
554
583
11
739
856
941
759
803
733
654
375
205
735
384
90
110
802
687
245
47
555
58
336
886
912
397
280
8
203
496
320
318
727
765
773
190
494
22
112
803
870
865
405
253
540
702
356
716
323
617
575
624
535
80
440
650
959
542
593
429
842
831
428
209
733
930
622
844
276
404
302
695
795
634
817
546
353
377
250
730
495
359
912
340
428
826
391
676
184
429
361
532
186
888
887
214
107
965
482
87
218
70
551
57
521
532
485
187
800
559
152
297
452
280
758
282
13
521
960
872
556
710
328
618
328
166
221
39
125
829
989
532
259
948
548
9
988
81
784
920
809
989
730
392
865
120
35
482
207
38
355
806
689
20
154
626
13
695
353
669
405
716
986
568
445
617
2
401
33
104
814
247
541
740
833
597
935
541
614
421
750
676
124
628
102
87
643
446
334
570
359
191
613
90
46
694
632
879
464
467
323
731
736
372
828
529
542
832
257
391
992
928
144
231
687
445
983
994
780
157
161
187
614
203
489
222
70
436
830
131
160
143
49
229
504
828
317
454
899
880
183
932
519
179
510
372
495
0
233
906
163
304
863
173
33
761
278
40
539
211
895
597
2
659
191
371
835
18
55
283
952
707
258
87
415
21
774
212
181
726
376
325
106
406
14
456
950
721
533
588
159
916
98
283
594
149
670
163
376
424
639
991
573
699
563
961
79
959
610
926
115
701
371
727
133
282
388
835
77
330
764
642
645
27
75
817
36
468
461
439
107
883
280
143
178
84
55
660
491
838
548
50
756
857
495
911
620
371
311
852
580
110
726
467
58
830
25
432
545
965
16
882
85
824
279
750
541
614
146
536
560
942
406
330
673
523
308
735
22
60
171
284
657
54
978
689
86
996
43
489
903
593
55
221
757
996
989
17
150
929
320
47
692
899
949
216
946
311
82
641
897
528
563
300
256
22
419
768
330
401
549
748
55
847
435
931
583
842
375
90
150
451
142
870
453
850
771
169
857
647
816
0
857
274
971
978
457
361
477
833
826
99
598
482
719
332
960
428
745
756
248
64
75
358
733
807
204
232
445
144
589
663
619
672
781
311
352
124
798
127
157
601
468
201
469
954
884
261
915
774
795
783
768
453
593
960
171
443
327
746
845
281
11
518
350
81
880
786
945
735
75
419
155
176
909
538
133
365
697
872
693
608
535
954
133
686
124
829
383
631
569
109
45
263
122
466
668
750
74
301
616
650
929
906
197
352
368
28
192
447
123
576
67
282
321
765
184
350
845
810
944
133
947
873
549
70
432
163
909
409
833
221
316
718
962
368
214
732
771
497
537
252
38
955
682
149
868
568
911
422
934
824
504
18
383
802
69
407
309
291
832
851
214
616
220
187
572
906
920
365
507
209
95
934
898
569
337
226
319
229
443
190
678
592
829
709
854
3
177
963
293
290
917
840
121
10
7
418
945
965
807
828
812
774
731
224
366
389
759
957
75
119
743
980
360
173
465
254
162
649
905
805
8
619
524
76
785
424
959
729
705
131
414
154
299
35
482
158
12
406
592
53
594
932
786
101
325
484
299
49
461
544
425
236
26
421
339
572
436
85
949
900
654
522
12
258
624
704
625
556
605
346
790
738
361
714
579
896
289
584
945
507
233
377
797
347
808
498
717
164
648
794
255
630
536
56
260
175
653
687
646
942
585
794
710
624
879
62
613
740
286
50
407
525
474
91
336
630
774
969
199
909
921
472
667
359
539
109
437
288
906
109
862
284
768
210
641
892
382
838
439
569
676
914
557
292
169
422
713
153
753
348
312
539
94
95
956
678
673
631
139
683
178
937
659
700
780
629
700
133
952
680
140
403
57
128
909
826
915
468
403
97
300
599
120
688
536
388
723
739
754
886
430
59
825
989
67
816
391
820
731
323
604
160
76
786
70
107
295
787
169
667
558
342
872
329
724
991
692
825
150
997
688
299
733
4
715
60
363
758
527
55
744
247
738
412
152
360
240
343
411
580
958
866
983
557
898
282
807
82
820
72
374
243
275
693
204
994
141
819
836
868
671
965
892
103
32
820
38
458
522
902
346
708
575
666
245
691
450
796
429
487
844
810
776
125
948
297
579
685
74
205
396
297
875
726
642
332
204
789
727
144
661
126
99
798
896
544
191
963
784
273
216
465
841
957
69
433
424
765
33
678
429
237
174
664
378
943
0
938
939
854
865
746
15
730
670
958
253
837
222
785
234
333
469
761
405
941
386
776
737
42
230
622
181
950
993
582
183
628
746
859
532
673
232
199
903
914
476
793
894
517
127
553
229
940
693
968
955
621
31
309
311
492
148
594
180
334
660
725
347
922
947
449
609
796
305
940
634
532
64
513
827
580
360
407
157
332
593
625
632
357
11
439
85
857
432
210
640
222
843
836
738
137
264
100
83
23
932
380
2
238
439
271
34
0
135
757
862
805
381
120
304
260
95
713
63
906
333
204
592
770
409
712
263
161
143
106
393
140
568
192
849
598
391
994
802
911
947
68
502
29
34
254
5
732
255
977
415
989
981
710
465
675
533
383
378
574
929
487
919
580
790
191
529
198
255
406
857
583
916
75
231
575
576
998
634
29
242
197
755
725
903
103
600
64
97
40
163
196
38
340
114
87
833
987
566
817
379
346
630
917
591
422
461
186
62
915
39
639
486
93
691
285
322
162
396
557
420
31
24
382
119
578
997
6
902
370
506
400
915
266
540
413
915
451
706
421
536
336
952
812
883
785
49
29
408
907
562
229
422
553
51
812
842
806
316
947
881
206
771
612
433
454
959
49
805
618
849
703
223
200
605
625
308
716
52
954
162
783
216
834
66
282
830
737
354
652
844
522
261
262
122
512
67
447
765
641
855
626
409
677
371
291
814
334
384
967
154
646
678
533
479
26
367
876
654
132
645
682
629
983
564
980
473
772
468
454
989
332
355
410
178
794
464
985
784
682
650
41
113
300
962
43
514
515
526
84
50
476
803
890
975
512
194
493
612
140
211
803
964
670
897
61
192
579
638
146
762
142
410
559
561
222
181
801
377
355
677
44
826
768
949
776
625
183
41
549
299
321
220
757
665
531
472
433
392
591
348
449
390
375
373
74
862
540
92
756
406
901
403
900
168
251
656
563
862
365
837
308
183
571
426
572
351
340
255
338
92
308
199
62
681
280
862
727
923
445
634
897
292
455
73
507
833
671
917
216
998
683
505
309
856
282
240
27
310
833
806
219
352
324
257
85
547
413
822
188
388
245
910
676
610
482
529
479
102
553
378
127
746
792
682
270
457
910
826
909
339
443
884
194
226
43
310
387
142
26
805
70
838
125
489
746
241
541
689
337
975
921
113
323
850
409
265
707
823
798
100
244
444
633
795
597
10
85
171
289
998
47
231
679
957
488
297
353
72
2
895
478
29
740
439
332
989
356
601
89
385
763
765
909
225
132
861
77
381
704
88
174
501
815
780
470
100
121
996
518
593
423
108
839
533
765
495
723
979
111
738
354
586
108
658
241
345
571
554
702
277
276
373
803
330
110
16
295
163
390
863
682
397
938
930
504
633
789
472
975
702
705
862
749
357
309
367
649
830
571
457
797
699
72
491
336
213
913
924
143
10
678
114
714
27
649
634
686
324
667
958
500
748
411
451
448
991
888
731
51
583
968
186
893
236
173
593
98
804
746
979
307
406
263
353
686
466
889
210
151
317
304
726
805
641
300
960
356
903
769
708
12
404
311
124
897
888
938
194
854
375
381
671
724
337
319
704
577
935
38
396
602
866
636
140
54
600
498
548
534
381
206
883
449
389
226
627
674
658
304
334
181
755
903
126
703
143
440
293
469
576
570
960
499
194
621
869
141
964
184
341
88
437
218
403
859
530
493
189
349
687
154
821
453
746
145
927
336
771
997
823
179
930
564
489
786
868
411
364
6
135
974
800
95
570
839
350
385
703
666
929
366
221
734
274
21
183
779
25
489
743
358
0
43
275
41
327
106
281
414
898
550
109
516
12
373
374
243
450
237
355
171
642
280
570
47
219
3
996
418
133
55
241
637
450
551
363
220
465
740
173
840
40
295
142
268
873
935
535
879
787
568
632
586
737
460
346
367
720
271
516
727
933
48
449
301
604
461
120
190
497
990
449
354
270
510
728
72
582
636
259
805
781
317
370
483
464
430
643
938
304
615
253
29
755
904
864
264
832
187
888
24
351
330
290
474
492
53
383
494
375
521
530
65
401
948
292
383
217
463
319
976
217
754
172
750
398
989
364
875
610
937
481
377
934
854
483
188
632
218
498
253
957
180
543
309
840
657
340
293
156
912
713
228
868
401
112
806
207
555
823
748
767
937
99
350
644
791
414
467
480
373
731
402
200
731
237
550
206
453
131
246
174
641
26
929
750
522
706
197
571
207
123
181
447
524
893
121
148
900
954
588
727
668
204
493
50
414
358
828
987
327
541
492
265
232
574
771
418
315
182
176
957
850
219
987
542
246
950
378
554
485
365
113
768
961
220
952
112
456
564
111
483
201
603
641
933
390
59
553
875
877
962
971
905
641
10
99
371
757
120
768
210
602
585
680
983
665
928
450
862
677
810
194
10
419
118
893
673
27
192
884
304
148
485
924
24
384
70
873
319
108
811
515
431
16
407
389
72
715
452
436
939
54
110
620
135
441
306
342
699
426
225
108
299
880
328
950
898
98
60
595
240
744
830
962
880
660
730
8
144
341
696
174
594
339
758
424
951
1
556
221
234
87
96
820
10
711
568
333
642
947
338
570
184
723
293
750
973
224
123
438
272
28
457
66
37
566
135
488
166
640
183
849
810
166
450
39
701
573
124
617
348
22
946
537
982
590
540
468
460
578
813
541
98
668
318
219
51
552
22
671
792
720
256
53
312
315
494
361
633
677
587
235
211
231
886
779
248
153
606
337
763
387
526
695
805
581
253
301
258
383
620
342
974
671
215
585
232
286
914
237
52
681
423
210
495
211
587
489
281
759
86
600
423
600
277
77
181
84
264
126
61
495
723
419
472
134
231
69
88
256
730
664
947
467
965
8
24
671
995
275
102
948
816
80
93
172
199
676
241
584
706
458
848
214
2
321
952
418
856
582
488
903
878
756
748
346
299
967
264
796
825
510
84
343
721
578
758
201
231
685
451
873
293
391
670
10
453
278
798
411
693
156
197
9
423
828
368
130
326
325
348
120
369
497
17
404
362
2
797
556
992
630
815
331
599
191
446
396
542
418
103
308
559
459
716
254
340
301
804
879
772
749
575
772
357
635
526
183
830
778
658
536
948
504
521
52
427
29
109
947
128
80
0
282
853
914
254
169
561
118
663
724
622
473
626
639
828
335
734
803
909
310
186
327
416
402
946
607
20
687
604
537
98
124
612
469
318
397
222
909
971
953
718
316
967
898
55
899
716
262
797
596
3
391
331
103
297
248
529
112
310
329
820
771
441
48
173
327
866
449
82
818
752
947
338
932
552
17
209
842
427
437
226
947
19
369
74
651
51
846
529
199
342
885
166
782
628
62
672
308
279
537
886
959
39
435
446
448
429
660
430
481
981
254
726
380
62
30
135
57
929
3
384
560
888
343
80
372
950
378
284
650
52
495
152
141
175
694
100
911
254
758
126
960
45
356
238
629
677
124
115
40
451
755
665
426
658
181
150
102
464
392
455
337
831
230
815
337
260
992
509
246
28
108
524
279
583
751
589
938
949
159
974
173
633
242
999
68
556
500
471
575
780
653
961
69
194
82
290
199
720
355
521
316
264
387
137
460
380
491
166
51
6
388
267
343
624
761
618
425
478
715
137
749
512
110
571
531
186
273
91
728
892
710
823
226
9
570
96
221
93
541
250
156
386
958
838
479
601
873
231
616
336
322
537
337
59
978
300
473
854
606
612
675
981
31
548
57
936
326
666
903
242
779
299
160
759
167
124
492
643
790
953
449
683
367
181
901
935
858
957
213
53
761
955
872
478
304
75
519
651
423
66
831
241
472
301
873
365
255
359
741
474
677
198
592
702
978
553
9
880
657
564
871
978
633
449
185
492
701
55
116
983
981
895
935
715
348
206
210
359
137
958
785
344
235
460
396
796
830
890
321
263
983
257
566
975
594
336
179
68
279
306
78
842
623
91
343
471
354
296
935
42
27
432
309
930
456
875
989
664
335
913
934
997
912
832
940
997
253
508
26
899
994
109
565
150
13
981
71
428
373
875
701
867
264
375
528
423
510
550
299
508
203
619
522
523
927
126
199
403
920
797
435
989
638
358
470
436
683
84
653
400
71
548
731
429
792
845
919
194
97
149
539
859
903
532
998
584
673
868
586
431
212
650
176
787
491
493
555
275
304
993
858
128
286
395
92
407
270
377
761
171
351
564
423
275
947
159
707
593
245
282
826
191
948
998
541
168
758
917
13
8
890
759
209
941
476
234
120
169
589
599
439
43
993
284
951
362
488
988
642
341
531
863
576
814
86
466
697
403
388
291
13
712
638
369
767
559
604
84
123
752
781
697
629
117
577
211
666
839
582
612
522
990
153
231
299
629
581
384
544
969
250
901
434
769
625
714
888
860
53
340
267
581
325
72
418
157
146
650
823
912
67
60
177
661
511
17
669
203
537
203
197
775
943
721
735
533
123
574
880
660
414
258
499
65
573
840
932
210
500
812
470
916
594
611
191
797
858
612
842
413
343
536
294
122
648
336
58
164
741
871
185
569
228
951
70
222
364
306
929
299
6
492
212
372
39
617
359
429
48
810
606
683
989
326
115
438
615
426
577
807
412
193
735
213
211
854
338
220
719
699
422
796
219
130
666
408
201
432
222
577
118
524
325
377
589
290
299
682
422
929
949
530
410
9
610
497
176
887
758
784
766
750
183
806
235
947
815
122
145
268
551
228
773
995
977
224
865
746
800
854
657
901
454
465
450
682
2
908
634
861
945
188
700
582
798
129
314
41
407
848
861
577
712
846
443
768
355
504
290
132
878
996
392
209
112
697
663
398
60
626
914
853
795
810
923
622
674
935
311
567
886
757
13
498
121
250
58
272
18
344
62
314
862
12
213
337
278
619
109
317
471
310
62
86
5
354
977
359
364
203
932
471
130
742
231
555
299
423
680
367
686
940
386
819
92
851
302
798
862
420
284
342
554
514
0
102
74
614
707
126
2
453
538
211
763
81
434
507
438
573
76
558
532
749
895
919
578
879
900
389
473
165
776
304
574
101
700
852
793
724
723
894
189
792
650
209
263
867
617
120
911
803
284
211
440
699
311
171
622
268
569
963
848
795
340
35
79
346
790
718
240
29
331
94
190
544
919
356
175
350
791
319
281
370
331
806
933
197
537
362
11
836
902
539
138
303
13
567
464
895
745
152
420
737
996
605
585
870
546
544
858
866
970
20
774
232
783
207
869
276
278
605
350
655
987
408
346
151
949
989
318
572
397
557
922
514
521
446
114
705
344
830
27
973
668
57
598
381
63
685
726
847
150
796
936
944
159
103
128
111
969
3
771
96
476
157
132
906
617
659
633
564
168
271
99
331
827
619
254
924
28
877
405
547
816
986
36
167
142
71
952
65
948
943
130
745
409
126
732
269
841
358
772
121
950
641
953
281
165
340
217
268
448
433
428
647
599
615
514
145
236
343
414
868
616
508
666
223
433
61
939
429
383
538
965
106
226
2
581
743
860
932
810
96
825
636
394
787
915
558
190
335
568
961
635
608
504
543
700
844
913
93
215
291
612
113
855
646
357
386
502
96
667
581
954
368
907
26
753
629
233
293
525
322
463
942
597
482
322
964
838
79
225
765
77
108
594
780
194
521
666
772
783
47
183
761
569
975
116
803
212
640
43
998
728
685
30
565
392
745
345
581
653
449
158
584
89
916
413
77
98
433
42
254
323
439
679
630
394
335
298
351
927
207
192
246
519
362
690
199
119
126
23
695
478
25
974
344
661
501
682
529
774
950
175
313
357
208
290
106
447
786
522
649
908
518
976
359
172
912
68
16
719
240
286
599
46
22
921
832
401
893
388
229
698
243
83
249
814
553
120
15
794
166
48
46
973
711
725
409
791
982
297
720
531
774
566
141
1
166
184
122
243
348
280
203
883
853
462
641
979
720
75
654
757
679
317
857
88
914
242
22
500
535
501
575
537
443
408
751
160
783
545
347
804
743
770
750
648
128
167
822
139
399
627
396
372
202
432
901
149
799
185
250
756
533
93
515
414
321
402
394
251
382
330
964
81
323
197
698
349
410
166
959
45
624
599
499
758
541
201
195
531
802
319
217
711
197
984
929
294
566
120
14
693
519
198
316
848
104
994
230
621
442
894
117
493
856
364
282
70
467
549
797
208
854
885
528
979
729
557
713
243
407
140
199
596
245
736
732
291
189
306
704
724
622
13
826
625
472
401
505
435
191
721
313
317
289
863
203
64
553
273
915
628
727
911
11
173
214
87
253
929
729
560
837
594
973
633
542
34
251
530
821
801
571
422
47
999
911
1
823
755
213
209
547
77
607
716
819
368
907
63
450
628
465
600
753
494
70
933
576
949
351
770
398
804
180
402
159
176
798
156
900
599
561
379
798
99
726
840
343
740
774
476
941
586
489
622
557
50
261
384
485
597
301
454
838
710
800
8
158
151
642
685
88
38
103
826
562
649
570
375
207
263
701
4
856
740
103
934
56
83
499
52
615
224
378
307
726
30
356
902
4
391
408
159
331
483
720
238
990
524
687
137
100
610
342
678
354
425
815
246
9
707
960
356
2
253
331
507
400
290
256
704
403
170
604
910
283
478
332
857
640
419
495
158
321
653
300
925
703
12
936
844
528
649
122
150
207
551
482
286
942
145
744
337
716
737
101
457
497
87
265
201
904
997
329
7
174
482
436
719
976
388
297
272
747
424
217
287
639
412
886
929
49
241
346
707
679
924
461
158
778
265
354
488
918
518
379
980
668
963
59
795
717
835
52
489
647
37
545
452
714
596
409
352
347
337
208
173
314
421
390
970
725
365
410
908
329
326
229
813
997
794
705
951
922
674
138
125
647
238
644
992
689
117
231
247
522
838
780
982
532
416
418
355
133
490
473
735
403
156
732
377
806
957
284
373
504
996
219
740
277
860
903
230
727
762
632
864
848
183
300
715
979
367
231
44
3
769
555
248
12
646
285
776
325
314
220
196
248
579
517
925
43
760
820
610
335
784
200
249
905
237
638
95
508
188
673
14
216
550
100
587
570
717
946
886
757
97
351
537
849
453
139
987
944
729
585
477
335
187
592
719
816
239
263
710
728
464
177
570
322
903
68
686
564
514
821
175
79
550
485
127
239
846
531
361
675
484
776
818
812
460
65
399
965
90
704
11
334
502
233
175
392
231
620
131
954
607
786
477
100
106
139
221
262
926
630
641
623
216
64
640
274
747
287
773
700
925
703
52
900
489
686
581
515
280
706
923
794
680
853
538
372
283
1
184
280
807
173
191
286
172
462
893
516
588
740
395
378
186
657
545
273
812
419
489
236
698
847
416
855
947
413
711
215
611
560
144
169
451
105
857
167
144
219
92
851
310
811
324
917
360
767
874
873
373
541
445
380
574
463
377
797
586
191
267
91
70
903
814
200
620
959
106
570
557
783
335
332
19
859
290
468
449
293
331
734
937
948
335
156
377
671
834
417
420
168
221
732
811
584
567
326
944
97
731
1
253
771
140
376
996
132
970
149
780
105
396
494
843
709
363
975
53
155
143
870
72
911
432
84
554
861
605
788
875
754
679
776
58
564
597
552
988
200
39
636
720
824
433
852
606
845
584
579
121
798
220
521
321
766
508
55
210
474
332
736
495
611
542
859
359
260
508
877
219
583
794
731
902
24
344
563
97
552
97
891
929
375
750
68
282
116
569
550
625
447
908
587
479
58
248
414
937
327
374
450
722
963
631
54
620
555
799
304
234
437
917
547
804
861
183
910
941
31
148
866
890
380
834
258
201
216
595
592
280
426
119
258
304
108
962
46
922
830
82
672
583
817
769
521
920
532
481
978
61
73
974
949
198
552
996
201
282
721
311
191
696
55
315
542
830
284
529
122
716
172
189
372
748
926
906
21
234
637
16
464
828
441
850
275
505
1
181
274
498
952
230
196
981
620
436
201
673
516
24
783
991
769
774
102
756
675
520
812
175
297
556
261
670
624
116
702
426
292
687
351
404
239
241
868
991
525
765
284
57
638
94
666
819
79
765
583
96
822
258
175
627
861
446
329
526
964
848
919
756
140
351
557
553
955
36
643
596
778
514
78
663
672
332
674
83
670
343
168
896
472
382
80
12
76
474
328
313
968
713
262
523
10
795
814
115
597
324
372
878
796
994
546
712
275
90
721
324
52
989
332
104
464
483
528
523
254
865
711
867
118
702
217
654
897
217
727
922
957
867
719
129
264
829
724
662
319
464
365
568
354
950
866
314
352
428
579
205
635
895
547
302
162
550
381
559
607
33
792
367
9
689
793
532
881
213
23
110
257
792
211
20
882
732
69
3
842
428
380
290
348
791
11
893
701
977
44
525
711
155
755
994
857
413
397
996
519
92
776
1
869
513
854
579
582
864
108
835
832
300
592
943
99
883
560
745
337
906
714
456
461
701
153
566
716
816
542
373
236
103
597
849
890
60
874
36
330
994
690
337
66
190
14
274
708
30
882
467
372
185
516
850
300
176
325
453
659
62
961
76
808
962
284
560
851
165
27
628
552
355
435
836
577
827
706
762
102
787
486
276
847
625
671
391
208
292
191
248
694
138
315
55
387
589
923
108
142
879
890
451
266
401
965
330
481
436
609
608
955
175
302
348
611
535
28
455
912
656
703
775
783
581
623
701
97
693
48
819
693
432
713
954
523
708
589
480
453
266
73
928
533
125
941
920
146
217
987
499
283
594
680
438
43
70
60
401
475
404
3
622
133
784
823
357
435
795
108
541
797
84
357
802
648
892
225
566
930
960
65
173
388
622
474
891
439
111
227
394
619
339
590
130
111
604
893
50
194
679
366
150
943
145
512
127
700
84
133
101
128
153
905
729
662
759
358
384
345
24
232
193
353
665
646
35
787
238
539
62
533
920
454
882
83
132
381
799
618
281
516
748
930
496
794
102
8
667
563
977
602
182
563
385
207
654
12
125
254
737
880
981
906
187
541
927
344
659
146
590
935
980
936
301
3
172
835
638
249
220
173
302
937
51
207
513
379
602
565
486
408
862
314
601
431
313
397
351
784
131
642
236
534
730
427
887
985
717
835
362
384
526
865
52
157
873
490
253
969
202
127
130
943
815
301
533
33
217
233
253
555
306
178
663
231
861
770
781
422
192
711
154
574
943
442
203
523
919
11
786
271
113
909
150
59
340
233
765
954
654
270
808
43
256
891
529
461
227
797
588
962
982
273
236
584
990
730
132
183
343
248
546
533
661
803
272
92
462
612
223
29
74
284
792
974
119
51
853
651
134
831
386
265
362
327
188
848
510
755
198
211
297
878
966
449
373
708
596
234
831
335
939
416
325
233
381
880
698
810
907
277
355
495
438
417
28
439
704
820
474
638
592
567
26
658
612
936
476
582
46
767
552
882
695
765
291
900
616
125
499
295
912
622
31
502
519
933
347
438
505
437
729
146
766
435
829
171
538
782
327
949
582
491
128
200
734
978
898
235
115
754
543
165
115
593
852
613
940
684
175
730
462
854
399
923
915
878
402
318
688
301
905
467
921
56
918
195
632
238
552
539
49
910
404
329
590
429
917
512
350
640
361
898
226
4
435
806
331
541
173
268
500
550
566
720
894
220
441
568
670
290
504
469
586
96
9
455
879
9
179
772
850
537
500
675
285
98
771
26
793
562
198
554
147
669
793
600
13
877
344
477
6
196
169
84
49
818
839
130
901
468
721
332
729
633
284
783
786
559
262
785
420
602
508
128
408
164
638
382
125
505
890
585
34
203
703
225
649
645
816
68
63
895
46
212
7
812
959
855
200
666
942
412
113
534
868
484
952
145
277
461
150
913
710
432
919
877
93
470
353
880
519
716
815
108
557
930
500
6
971
479
468
214
159
240
137
931
423
296
915
425
217
36
741
729
296
788
419
901
136
274
942
44
946
217
260
317
877
979
984
180
310
344
309
489
269
643
454
949
1
481
365
954
275
103
684
298
392
875
686
489
844
648
109
963
413
975
349
367
800
962
264
962
335
491
443
461
715
418
412
818
24
248
588
83
442
96
984
730
241
878
863
303
256
527
225
148
141
575
722
847
287
912
126
595
560
276
404
152
810
315
637
529
413
698
346
390
994
957
960
971
486
460
475
948
656
456
153
277
983
845
998
794
924
151
203
625
988
254
672
952
511
324
906
586
431
881
404
288
569
138
789
783
111
624
170
839
583
256
914
586
458
503
765
432
438
184
125
336
109
8
303
297
668
711
183
50
957
520
672
254
147
171
3
153
281
307
268
486
406
342
999
302
988
347
801
324
452
206
434
790
603
405
56
600
998
613
761
982
751
621
238
728
527
617
527
718
780
512
144
203
191
276
674
6
426
285
986
442
155
80
625
52
15
163
689
46
515
947
954
881
740
804
590
301
577
324
529
635
552
671
193
692
520
4
661
285
738
555
8
849
600
237
622
8
693
956
741
386
280
729
71
926
84
56
197
787
678
487
563
823
574
585
895
795
887
151
128
905
26
538
875
561
143
515
416
347
548
952
175
664
329
710
374
633
295
912
724
883
975
31
29
894
203
702
402
206
761
296
225
319
701
454
377
566
630
530
950
328
790
527
448
103
163
878
40
433
343
50
72
626
796
913
612
547
802
673
306
932
766
35
874
595
696
288
100
783
997
139
948
966
134
222
908
3
903
562
42
891
116
277
915
80
907
332
190
768
186
307
340
217
423
611
908
795
4
12
431
206
350
890
630
562
936
434
705
924
184
403
27
25
333
421
743
1
925
598
86
268
988
394
922
309
917
419
170
975
27
207
64
668
78
213
668
91
346
484
44
429
263
267
170
500
98
944
850
598
509
598
186
546
994
619
378
61
577
527
142
644
491
685
31
860
431
714
999
869
501
735
144
792
942
435
466
164
377
994
826
533
322
915
157
997
772
718
641
955
499
786
715
445
510
487
1
210
648
400
684
791
716
159
774
941
306
548
189
48
376
554
824
356
610
789
949
315
301
427
439
394
330
439
205
744
777
661
866
361
547
434
694
699
474
216
616
330
367
385
0
91
979
258
351
561
398
536
627
285
690
991
599
69
409
948
822
190
524
134
51
285
730
271
561
363
332
501
750
304
999
703
78
669
565
499
355
124
815
58
117
901
651
975
70
139
19
837
565
633
395
477
40
121
366
378
542
241
603
643
729
136
162
851
833
298
208
58
615
577
431
863
749
974
963
812
876
402
175
599
723
26
808
953
554
13
0
507
563
318
112
173
572
974
563
62
809
823
904
614
935
355
965
372
350
152
614
936
267
115
428
538
288
382
494
506
338
228
867
438
60
975
644
62
825
457
200
148
974
444
164
970
758
91
553
519
669
596
923
182
63
307
540
313
156
130
647
565
131
47
984
810
592
973
965
539
676
190
470
575
200
348
806
585
416
848
151
0
583
379
607
439
995
868
180
624
757
292
385
681
541
642
280
289
628
470
388
527
264
26
775
803
700
472
472
848
836
59
155
656
144
255
930
145
681
162
113
68
512
863
852
405
414
215
216
531
661
918
825
147
334
825
560
551
968
418
428
174
155
805
628
535
283
1
48
196
113
673
667
209
114
101
399
651
354
441
288
588
554
381
503
60
830
596
992
5
351
177
22
779
96
68
506
550
767
316
338
181
557
602
665
267
10
645
849
216
131
187
399
686
635
439
103
446
903
506
137
435
122
825
205
752
665
854
291
266
282
932
755
823
282
859
906
701
470
746
293
797
363
542
109
650
973
149
330
979
841
367
992
390
619
843
28
921
867
204
368
729
939
529
545
156
93
318
469
973
65
331
115
412
215
287
546
542
844
219
511
144
473
545
435
206
230
636
387
423
327
520
964
437
953
393
423
629
228
844
172
405
778
577
436
245
250
886
923
236
73
18
698
190
859
325
588
216
141
354
451
142
542
502
16
382
643
862
341
771
744
824
355
438
40
305
688
616
375
329
598
422
97
138
375
263
902
922
718
72
340
691
372
784
253
106
230
91
319
404
773
637
651
80
984
930
695
384
404
389
571
895
687
492
202
907
534
188
367
459
862
122
504
821
323
809
431
364
45
786
833
228
154
941
14
411
787
881
1
82
44
431
783
665
805
295
369
566
819
111
747
24
421
283
62
332
650
852
843
421
600
631
729
963
734
808
19
693
380
306
359
972
238
24
422
105
500
9
666
748
784
642
778
362
675
889
8
376
151
57
348
152
340
177
771
90
71
815
55
353
76
953
32
387
740
719
181
993
745
351
593
118
294
888
560
499
651
708
662
184
144
178
945
210
488
0
155
359
862
824
393
588
267
696
219
179
529
841
797
108
658
481
91
538
780
264
702
739
506
608
31
645
644
103
952
905
90
109
166
537
226
477
759
461
780
543
490
325
889
680
971
338
604
145
990
436
675
564
273
447
74
131
969
701
841
424
465
29
875
385
137
254
571
217
169
374
722
359
755
72
623
37
755
909
706
460
933
609
601
766
659
669
259
633
964
241
357
838
116
127
821
819
673
924
142
939
90
669
706
949
276
516
546
766
764
636
144
411
953
208
427
107
367
838
302
976
224
996
177
895
985
912
453
363
749
338
424
701
299
396
56
399
856
320
987
261
48
923
639
420
449
931
13
882
270
258
386
0
76
944
330
560
54
402
232
424
766
557
208
171
490
925
129
635
865
689
957
815
676
675
655
155
747
728
829
635
915
987
493
663
350
612
746
584
426
807
748
289
154
544
442
563
379
954
260
525
162
680
965
831
885
676
402
312
663
416
663
348
571
200
194
134
166
408
590
247
555
493
965
984
727
634
722
541
55
793
677
980
150
506
681
479
456
422
481
874
91
225
935
539
269
166
311
501
887
511
344
615
523
751
461
741
939
907
321
760
301
710
855
242
621
216
799
595
210
50
47
927
871
676
16
920
402
750
854
30
285
607
711
728
476
75
920
167
111
514
252
877
27
355
454
682
48
489
414
453
134
975
983
434
508
989
368
709
224
187
737
752
17
798
113
142
992
433
260
85
144
58
326
688
847
212
278
296
902
952
36
229
675
599
885
218
916
160
227
739
645
744
4
988
860
190
251
109
434
937
632
567
759
290
174
753
280
765
921
951
161
254
156
453
501
290
523
866
484
226
396
928
79
391
767
495
997
727
56
679
639
401
910
598
57
998
542
452
292
547
713
446
622
210
256
647
66
177
610
737
299
563
810
637
561
985
310
651
859
885
74
731
149
651
684
264
577
455
213
370
870
879
64
291
846
615
561
861
216
668
273
62
294
224
224
110
119
934
266
283
104
709
652
435
379
745
31
17
164
756
293
214
175
988
149
394
929
114
394
863
818
516
41
926
122
569
931
520
178
137
662
119
20
983
544
331
950
781
272
616
669
157
308
688
227
295
515
532
419
498
840
855
303
199
938
829
282
505
595
553
472
853
375
190
606
533
710
812
938
312
123
633
558
9
545
17
484
142
666
37
81
155
138
835
67
974
924
271
695
787
975
561
187
255
790
592
32
327
144
203
234
783
850
250
869
485
219
77
894
465
18
750
396
596
482
278
520
804
332
669
300
90
387
738
416
883
425
225
14
329
357
286
759
186
935
333
583
293
959
327
42
136
94
360
569
770
670
549
842
387
646
693
228
819
306
107
561
52
166
333
884
456
1
780
125
187
460
921
576
230
992
682
428
829
285
813
586
879
313
859
887
727
92
596
452
583
469
755
788
202
324
64
432
999
185
553
255
621
721
294
298
717
719
679
560
871
644
433
594
769
617
746
229
300
824
280
21
876
531
257
886
876
808
790
399
549
758
790
382
700
367
835
815
162
804
142
918
657
477
595
355
219
377
414
779
756
426
636
324
730
19
306
357
86
812
55
178
644
980
69
149
903
655
67
834
509
848
29
514
70
665
111
171
807
277
302
900
366
768
929
598
634
850
579
508
161
179
475
866
34
68
330
614
349
350
666
15
388
71
170
749
230
85
72
793
15
153
954
427
483
222
809
225
640
408
521
833
944
472
479
183
877
271
724
125
788
164
426
816
996
924
751
368
707
534
792
944
338
837
472
51
154
221
395
779
917
902
681
624
731
145
758
948
678
171
385
872
706
350
479
226
511
617
717
26
403
216
396
608
828
459
862
318
564
151
380
442
149
15
61
69
196
541
589
556
133
255
388
215
625
159
393
31
394
914
513
377
198
227
549
719
275
166
814
599
299
53
987
918
915
252
854
599
155
847
854
993
382
199
481
325
804
658
363
731
590
759
318
197
191
274
36
70
141
248
278
319
985
670
350
26
24
437
391
105
566
174
448
548
139
296
654
328
317
860
616
277
494
607
394
497
983
262
70
526
950
71
940
509
511
424
307
20
32
193
178
940
358
174
850
72
603
979
161
768
79
288
501
774
98
692
883
27
176
810
992
453
905
491
573
359
707
265
647
100
4
32
718
914
436
112
311
287
398
114
684
539
594
280
609
27
585
396
570
154
269
528
472
486
474
190
711
352
426
236
310
889
655
313
373
541
708
92
322
140
910
635
19
200
857
919
317
221
768
366
176
366
967
294
199
61
220
790
704
321
310
500
963
409
657
648
4
423
237
822
44
866
319
707
532
628
448
712
470
806
23
672
180
257
295
368
831
64
513
170
483
971
151
329
997
742
525
973
731
533
198
543
371
603
306
310
930
293
881
800
315
752
980
648
871
664
109
579
158
554
965
714
736
215
687
910
988
212
780
906
326
633
690
255
434
43
166
986
531
678
563
997
919
436
966
920
441
839
293
106
594
339
864
586
922
413
475
105
579
525
993
898
547
774
162
993
379
331
411
147
605
527
616
461
702
765
96
240
994
738
779
88
955
721
567
910
277
123
591
203
148
94
483
745
149
742
962
301
122
587
927
328
262
382
331
993
165
818
905
100
114
845
179
666
469
797
634
546
636
565
258
285
890
585
475
517
573
34
996
878
539
601
213
923
609
343
96
164
694
143
364
373
473
174
832
856
33
804
851
930
622
773
113
883
732
478
376
326
289
979
635
606
975
566
776
629
33
127
124
655
54
321
12
70
518
825
613
542
697
324
718
0
845
150
933
553
292
166
58
768
147
198
622
929
799
561
300
940
347
479
537
965
762
249
560
817
377
14
672
614
147
547
178
511
524
165
672
830
705
961
880
680
126
600
145
617
894
388
658
940
910
824
344
945
784
70
93
437
12
321
314
329
349
258
305
151
594
658
24
129
481
116
728
967
906
833
964
192
614
512
971
689
434
544
184
681
915
385
526
465
320
990
970
614
718
760
464
991
389
198
2
201
278
322
733
985
647
756
931
852
317
99
53
103
291
221
852
844
649
475
818
464
684
971
746
304
457
900
225
292
739
43
723
2
962
208
982
360
771
194
292
708
839
242
39
341
100
512
707
354
490
939
57
837
52
159
213
844
676
696
575
545
209
77
472
21
111
841
975
944
6
583
394
748
433
539
983
836
994
557
649
890
674
458
873
221
593
656
500
367
261
567
637
801
333
844
588
522
308
711
678
179
969
376
780
65
584
332
591
845
167
144
548
718
222
710
967
384
138
857
419
190
536
473
449
974
768
766
754
855
218
593
19
157
409
852
735
895
987
895
34
596
117
417
781
493
2
749
921
275
148
155
261
422
139
371
729
481
630
298
279
167
642
957
68
930
890
313
232
106
64
911
412
746
216
974
535
844
822
825
301
684
118
849
267
823
366
969
676
330
647
663
11
185
114
135
566
941
37
294
403
172
217
75
867
157
49
588
990
437
462
713
467
878
872
971
372
86
402
625
653
815
537
218
447
524
589
782
239
652
775
7
15
433
310
648
284
644
428
842
449
284
466
884
215
4
484
96
258
28
677
17
120
735
937
46
590
923
802
641
395
514
166
387
762
198
69
756
162
212
875
877
353
214
233
634
303
904
55
593
10
898
553
747
726
484
514
260
970
588
284
603
775
746
324
569
481
354
129
146
166
700
802
601
119
761
970
165
815
207
5
314
777
844
755
803
342
440
329
884
547
635
616
163
47
793
732
774
63
810
288
535
854
927
768
470
546
337
561
952
155
709
112
799
183
246
648
810
162
412
899
483
862
972
864
924
607
254
67
386
217
727
202
660
24
637
576
936
621
955
631
625
622
68
89
258
100
835
704
197
920
73
282
440
893
676
693
880
244
152
542
368
807
287
784
686
186
649
1
10
24
2
284
806
191
256
604
173
379
611
950
313
215
183
245
225
949
349
321
92
29
874
99
185
572
276
440
445
457
627
765
582
218
189
730
58
989
769
196
121
127
559
266
488
711
261
404
465
412
418
112
759
849
723
58
39
502
440
418
321
713
491
511
364
678
955
738
407
517
871
477
111
84
8
384
909
443
704
696
687
911
951
663
257
526
692
125
843
550
197
126
585
665
604
517
218
557
240
262
137
653
844
240
27
985
731
44
619
452
222
20
814
116
848
89
319
400
783
636
700
832
996
219
823
278
927
125
379
786
741
237
849
125
504
835
841
85
566
381
80
619
29
428
498
781
610
384
905
665
588
220
42
442
381
415
477
228
19
397
185
293
256
761
211
707
394
229
632
474
417
371
150
255
845
209
137
967
486
128
307
590
849
2
999
585
806
15
171
300
217
202
756
676
807
7
621
407
51
456
98
278
467
257
663
590
73
625
148
410
345
491
693
509
240
801
285
740
54
746
990
526
811
262
54
261
813
702
111
641
394
20
596
151
812
995
443
592
849
973
124
538
707
968
230
689
233
287
209
593
795
863
899
111
620
195
980
775
650
554
946
587
951
558
680
416
930
628
225
965
877
230
569
853
834
581
662
5
991
557
309
868
467
630
234
964
180
505
252
53
859
408
643
285
288
326
76
367
905
820
319
61
416
763
578
889
607
758
226
704
822
596
923
428
608
814
518
316
355
664
358
621
781
941
979
206
874
439
709
466
725
370
393
667
996
77
257
726
424
0
983
596
311
995
400
921
698
307
101
229
686
176
876
498
836
872
965
780
529
602
331
899
167
321
687
494
290
723
163
523
784
805
82
452
693
418
907
710
104
395
889
728
488
646
5
211
272
356
189
523
613
964
238
566
876
34
122
520
229
479
303
273
763
707
433
47
715
314
588
664
93
150
295
691
892
167
874
82
580
113
882
772
775
739
881
528
428
168
58
441
724
123
103
339
727
34
143
115
563
828
86
38
313
152
483
157
232
804
953
646
812
609
337
585
719
188
530
835
553
782
968
691
671
209
716
234
368
487
28
442
418
42
336
534
779
450
236
105
814
509
366
166
500
352
335
363
714
394
562
516
361
805
990
222
474
272
107
824
63
549
307
26
802
244
707
964
909
907
994
645
905
757
647
210
747
8
710
630
345
847
625
794
267
947
479
263
2
816
102
839
808
434
170
704
861
41
400
40
707
8
54
887
846
800
373
818
660
292
518
97
33
818
473
690
732
181
519
813
520
433
941
198
689
351
466
833
756
802
793
124
850
277
837
26
262
37
64
521
973
797
32
897
354
484
177
27
518
553
186
725
505
808
839
628
412
576
482
209
110
548
823
258
146
977
781
958
979
484
573
286
933
428
693
361
981
428
303
852
783
253
480
989
100
195
110
741
14
354
672
14
720
695
261
328
34
887
794
853
23
868
949
609
229
328
66
2
392
874
179
365
282
70
971
722
652
343
924
922
793
438
301
260
170
344
423
788
804
130
380
997
703
528
130
614
955
80
562
473
464
930
223
953
147
840
937
788
875
21
10
785
538
568
445
966
486
399
259
292
388
711
706
15
123
767
347
352
16
207
465
830
736
497
343
942
727
950
60
310
450
938
561
366
81
92
761
0
525
758
388
849
100
938
150
905
194
804
91
541
673
959
785
791
999
319
606
500
960
220
796
378
43
365
429
97
863
635
858
274
548
835
503
914
225
697
962
545
624
948
556
910
527
590
135
347
136
870
132
9
318
831
135
137
108
794
501
411
642
499
885
975
740
362
680
450
934
215
581
464
292
667
309
225
742
791
600
589
234
299
216
205
745
650
448
280
499
695
82
549
170
963
996
952
100
337
232
577
288
157
625
317
553
808
258
823
416
342
861
479
75
201
893
218
225
137
654
1
556
991
557
586
418
642
120
430
706
694
125
683
201
435
518
787
374
147
678
366
866
913
184
431
964
683
971
803
875
96
781
6
934
210
867
113
32
556
739
500
765
903
562
947
538
36
351
676
659
530
651
97
442
385
284
114
532
899
372
192
337
397
278
563
171
510
470
883
631
659
81
501
751
374
860
391
299
781
740
1
71
129
298
304
986
521
827
73
441
339
550
906
352
75
682
496
553
827
862
455
832
154
237
562
740
476
205
226
585
904
176
796
727
87
790
859
262
895
877
777
29
524
714
883
264
264
733
673
941
729
333
784
987
446
446
104
796
398
333
825
394
989
586
851
917
303
945
950
749
371
549
196
47
627
42
86
869
583
756
476
758
531
801
419
899
51
79
793
919
524
173
657
786
927
64
800
31
514
18
156
215
702
723
672
613
679
457
664
543
356
304
194
220
492
246
37
310
528
200
541
271
741
583
305
918
785
446
643
935
846
614
803
941
868
845
385
252
965
428
688
402
632
178
333
397
151
942
270
826
120
234
63
755
606
612
142
612
462
554
27
252
240
513
611
758
74
333
894
970
242
612
255
196
939
229
139
943
694
545
641
911
709
662
190
372
332
729
908
711
341
859
81
207
744
321
424
5
286
881
733
902
204
70
498
716
519
983
608
521
964
916
742
666
779
284
3
283
977
829
247
270
430
351
99
243
518
957
409
527
214
319
87
68
156
971
711
263
408
152
33
642
975
913
123
504
169
524
960
365
243
253
2
285
804
564
391
116
717
40
192
64
335
227
996
536
269
973
569
909
621
640
965
623
72
180
407
615
446
78
28
986
576
11
675
552
249
796
996
434
508
724
521
962
143
461
101
57
976
637
4
592
340
973
245
78
743
160
71
186
356
299
888
313
430
475
84
52
816
249
964
772
994
157
141
529
38
246
637
598
473
803
223
737
66
641
830
7
935
146
754
98
599
397
137
592
101
20
386
790
581
98
579
27
391
485
609
641
515
50
759
670
578
542
740
896
558
691
98
313
271
420
263
597
667
933
619
898
893
256
525
976
605
421
572
536
533
66
596
907
554
458
228
854
134
597
61
308
585
767
954
559
45
149
506
382
440
812
370
469
390
621
614
512
854
637
815
736
756
618
389
782
159
974
786
132
332
406
340
413
429
310
883
994
752
366
597
459
255
46
156
45
533
205
861
178
280
757
735
551
712
384
709
740
863
862
46
825
710
582
958
534
679
228
555
325
347
720
927
291
204
442
395
478
520
371
16
408
574
506
184
718
492
114
952
35
427
87
788
825
616
916
564
469
746
281
952
553
992
940
719
52
311
12
758
180
841
137
491
514
670
642
312
914
94
260
660
559
263
602
872
535
125
958
373
268
187
802
48
976
807
20
963
456
616
638
431
397
193
486
45
847
803
113
757
764
804
595
257
170
143
298
741
509
555
957
768
870
951
805
97
102
116
147
45
614
926
506
993
587
188
384
891
849
145
382
717
187
674
480
390
775
194
667
809
856
132
338
28
962
515
851
813
19
337
950
810
392
143
474
701
708
496
190
949
279
915
46
704
707
961
711
965
732
107
928
966
228
80
592
208
483
858
50
75
917
698
230
44
219
236
995
616
229
374
82
304
772
957
190
168
520
780
290
269
801
842
543
13
571
847
282
54
475
559
900
291
806
726
971
812
73
817
437
543
362
4
655
720
210
952
72
371
274
71
962
907
422
25
670
421
636
594
125
168
262
128
817
533
4
195
341
21
696
173
488
657
856
438
477
115
476
294
350
628
64
274
717
30
406
977
392
97
263
645
827
790
32
950
54
855
131
551
691
630
662
250
638
95
778
439
922
638
542
409
512
961
471
855
885
678
593
270
29
112
691
229
497
160
861
290
662
204
943
914
268
71
893
208
598
407
361
802
511
952
606
382
911
285
85
183
444
208
613
998
171
229
873
147
710
837
314
562
275
959
685
520
802
191
641
382
613
93
471
425
295
817
179
535
831
532
515
582
59
631
167
516
484
637
600
967
673
775
588
449
147
492
81
474
647
835
84
74
90
990
140
157
722
113
56
211
650
380
377
327
116
509
25
503
824
419
320
421
559
80
53
104
416
482
465
974
598
757
213
600
349
416
184
495
139
202
72
35
317
891
49
157
506
480
95
336
639
954
98
306
291
533
204
607
327
161
681
413
883
10
223
937
12
305
546
908
240
447
769
825
667
108
119
325
763
50
159
207
535
644
994
161
790
823
827
656
794
209
170
529
735
177
972
397
156
767
57
819
432
128
775
863
740
257
617
488
125
403
488
548
937
259
142
93
482
483
679
699
174
601
980
907
91
20
308
665
450
789
46
571
355
66
108
786
691
41
302
593
5
939
470
66
690
366
513
758
474
819
687
755
771
122
357
880
125
302
645
425
704
366
131
893
70
930
320
697
729
462
523
714
112
18
705
804
407
450
672
564
97
861
752
175
140
649
656
948
700
913
491
464
811
167
361
642
912
648
175
840
501
876
374
754
895
387
177
869
34
740
715
878
289
901
982
32
949
231
986
244
871
451
53
28
937
866
414
105
941
772
714
811
192
853
415
832
408
718
578
126
471
580
342
643
344
445
358
31
611
606
922
538
368
103
919
310
997
995
41
942
787
383
587
112
617
521
521
846
308
364
377
75
475
645
927
661
40
670
415
166
67
994
404
879
522
390
997
604
392
289
231
898
667
190
719
874
700
13
464
304
570
261
188
907
911
101
823
182
906
50
835
275
150
223
968
745
420
531
648
883
804
409
618
468
196
290
808
364
275
638
426
141
204
263
861
472
107
476
653
664
666
811
625
971
218
108
480
912
112
378
23
852
238
111
526
130
410
796
874
648
285
26
129
987
431
601
714
910
620
865
546
106
476
68
715
211
161
284
614
60
889
760
349
594
733
100
437
411
478
303
613
848
395
191
476
436
665
865
292
234
609
524
729
492
720
331
587
157
426
10
990
708
823
787
65
649
688
231
830
65
758
478
719
647
875
381
700
595
586
710
824
574
898
147
354
297
270
964
963
428
157
127
487
64
723
525
992
968
763
909
875
887
314
883
529
474
588
961
652
707
956
718
982
546
226
577
961
570
665
137
276
897
528
977
148
657
287
472
787
326
570
744
2
572
163
592
686
232
558
175
333
821
255
723
383
845
571
978
19
736
192
828
301
875
88
7
198
306
765
855
161
573
884
762
675
622
139
779
718
81
846
424
75
992
34
837
834
480
972
144
197
395
937
201
973
491
987
939
885
485
284
827
203
289
304
424
207
865
322
398
906
799
386
542
591
688
522
943
988
189
504
541
282
847
615
71
562
961
601
604
175
491
337
649
830
451
257
403
666
87
276
661
37
905
461
5
896
866
400
537
483
733
877
416
390
105
758
110
964
924
110
294
443
187
996
771
56
355
759
80
635
725
506
305
404
41
362
832
439
167
524
843
41
259
944
56
770
519
83
741
47
371
188
859
305
986
768
454
184
876
110
559
338
703
847
454
370
895
416
713
177
614
702
468
408
824
747
241
272
25
641
210
975
826
971
801
491
921
332
984
265
123
839
944
535
322
207
842
159
455
23
61
345
122
893
879
10
920
690
46
143
899
120
368
250
577
179
479
286
843
222
507
362
352
76
513
133
620
336
551
538
920
852
183
849
330
253
170
471
110
975
11
611
840
645
60
19
682
964
127
570
628
818
607
127
18
671
812
857
240
609
695
422
215
280
631
635
769
559
481
770
930
349
449
396
827
1
615
689
828
263
882
974
474
610
735
507
385
371
840
286
144
178
502
499
260
231
523
30
368
292
599
200
390
385
674
569
113
432
810
587
309
305
536
503
610
360
271
102
585
38
574
742
875
854
566
461
530
411
138
893
718
324
269
307
554
649
30
572
299
821
505
36
713
907
581
596
117
74
305
54
725
918
288
369
506
516
643
607
7
79
642
318
13
149
104
748
657
37
283
291
844
970
323
828
332
893
842
861
733
214
352
625
920
144
620
282
417
180
914
603
661
526
794
966
391
468
446
394
143
860
377
342
863
970
614
773
675
960
45
842
673
38
363
285
522
755
92
207
418
675
847
389
709
732
920
322
558
218
230
97
310
638
543
15
480
408
930
564
649
911
409
496
881
47
265
949
527
355
301
807
603
826
442
376
248
742
557
367
556
374
922
178
734
539
420
360
83
391
593
326
631
131
985
794
821
101
399
682
707
650
54
124
192
686
398
326
652
842
627
8
938
48
906
595
982
623
145
5
760
851
823
324
327
431
799
280
376
818
202
523
882
489
193
355
315
870
474
361
210
421
124
745
568
561
719
203
115
220
887
439
624
953
698
71
966
649
220
919
754
144
146
604
298
917
525
936
104
743
711
176
367
270
309
541
861
300
349
933
664
48
745
679
287
978
583
448
990
338
367
278
351
483
910
498
356
98
414
573
499
826
483
856
915
613
489
557
443
960
373
618
641
80
881
873
963
831
448
102
250
977
54
613
204
527
846
930
167
359
216
515
988
667
537
459
346
993
978
980
221
596
373
697
792
543
598
920
984
889
770
871
355
175
822
496
286
763
832
97
990
766
88
494
971
425
893
497
546
294
770
864
496
610
209
566
102
665
880
840
858
64
751
685
583
403
366
53
562
827
172
372
298
767
782
18
731
630
723
883
214
565
229
733
474
210
992
864
173
851
510
884
940
53
601
418
441
820
632
795
860
641
134
772
218
438
661
476
496
806
782
17
566
747
203
505
745
236
670
772
966
306
276
265
729
203
57
510
300
316
323
757
218
538
951
473
197
988
176
381
648
42
733
373
932
954
175
982
201
811
362
749
285
813
879
533
110
24
625
716
488
102
482
654
289
358
320
442
912
668
887
67
365
759
398
987
882
355
911
428
375
807
570
508
794
740
508
285
367
992
787
384
677
719
295
348
424
618
971
525
408
808
191
697
468
84
266
139
102
546
919
828
228
213
963
691
124
783
12
841
457
118
23
538
321
650
9
748
719
81
518
888
440
570
219
901
353
867
956
527
697
958
928
967
728
506
719
749
322
268
264
49
960
68
22
582
734
193
99
201
447
526
955
65
221
204
786
928
356
354
595
228
351
787
602
234
493
127
516
570
66
49
796
100
914
374
39
451
771
569
202
180
809
772
27
408
709
980
752
898
423
431
544
736
658
715
746
63
577
423
265
308
51
496
702
374
952
534
856
929
845
129
300
13
912
416
476
977
220
102
631
418
280
278
363
562
249
432
311
159
383
546
581
789
200
444
840
611
340
603
253
186
511
914
971
276
804
243
984
261
552
101
837
724
516
149
725
477
953
784
703
373
131
571
361
399
151
147
564
887
117
213
308
11
724
201
369
465
892
607
794
402
334
210
89
229
123
892
497
638
639
365
60
759
656
304
412
908
437
544
550
819
18
238
582
424
765
654
497
907
173
69
924
698
641
240
951
781
782
633
112
848
189
212
290
178
601
453
902
691
320
198
624
172
355
247
359
553
900
681
668
449
152
646
340
517
707
894
119
392
71
993
10
429
485
993
81
251
204
929
540
870
489
175
440
215
70
323
532
21
418
277
618
121
632
219
491
997
421
225
119
682
555
576
714
654
773
346
274
333
69
454
805
176
955
563
646
655
547
375
35
197
870
434
594
225
228
403
77
674
840
73
502
110
122
414
896
874
663
517
848
94
714
339
359
159
78
953
773
205
688
572
545
112
767
945
858
511
368
626
801
858
37
671
261
353
120
598
174
909
190
336
310
104
362
99
56
500
696
986
396
292
303
274
879
853
940
155
948
566
106
830
778
761
926
493
227
267
101
560
235
475
330
712
641
714
928
61
639
286
471
942
629
6
390
469
814
34
606
933
746
896
407
110
114
842
860
981
934
948
105
770
800
390
974
978
490
101
155
522
805
286
410
221
226
445
454
64
479
292
420
915
333
539
750
754
746
471
680
684
394
952
526
601
308
364
653
171
531
573
11
901
181
786
620
243
814
934
110
555
964
507
243
369
285
352
577
263
477
205
640
25
959
42
735
521
222
552
332
148
452
784
200
375
502
664
336
123
672
425
494
169
789
761
988
157
26
696
281
502
669
579
961
361
375
853
52
622
726
883
234
879
855
668
746
879
958
492
525
911
120
403
237
535
282
766
485
892
653
120
660
859
64
344
50
268
403
494
598
634
96
579
384
78
491
667
234
748
359
777
322
404
777
35
552
654
721
418
36
391
37
856
277
280
408
22
602
892
683
660
32
4
145
315
32
462
169
315
668
493
655
888
442
367
315
936
291
783
905
257
437
574
960
131
447
854
774
40
694
647
222
775
872
228
508
780
539
152
999
336
432
229
905
463
400
179
85
155
582
562
777
592
405
252
982
936
394
943
178
241
973
266
516
653
355
233
617
603
956
670
10
280
629
931
670
437
213
743
288
160
528
560
842
361
247
131
442
317
378
322
820
445
175
261
369
174
955
578
950
236
275
405
776
750
731
215
195
814
894
591
638
776
805
304
956
921
19
948
489
824
115
292
883
114
754
145
952
257
781
682
645
876
535
933
229
923
811
487
273
577
117
380
807
390
455
567
46
652
444
467
780
220
114
870
749
306
743
938
24
170
409
476
92
165
122
999
758
725
82
752
975
428
348
372
417
904
969
872
619
496
682
579
974
437
803
751
654
126
789
249
150
771
159
77
623
421
620
177
658
518
708
302
769
765
499
27
443
490
416
558
876
974
739
66
596
821
34
827
600
495
929
308
731
597
939
349
134
998
352
279
692
526
759
738
787
206
409
293
747
343
387
164
234
787
887
6
234
636
881
172
169
220
715
69
942
768
889
290
455
831
511
707
112
361
706
148
342
401
49
640
920
283
972
256
382
112
159
307
45
408
718
919
62
49
641
64
514
726
37
986
226
429
844
460
797
365
345
319
996
380
227
94
924
539
464
15
190
902
305
378
853
824
424
668
424
474
417
729
468
686
254
961
51
785
178
775
279
161
658
187
227
666
175
152
257
606
464
785
33
136
644
592
925
806
535
556
647
329
102
128
31
925
252
420
822
374
299
249
594
208
403
555
283
17
565
423
916
263
47
404
143
255
453
288
772
374
211
435
305
79
393
12
232
310
161
195
808
591
181
987
157
148
587
212
281
630
744
574
404
200
619
191
410
854
515
818
769
318
766
500
470
116
611
651
678
472
993
206
844
140
482
208
267
600
252
489
108
781
129
407
881
569
636
245
889
734
737
876
722
303
428
38
307
966
632
315
484
909
941
647
412
591
640
809
215
87
615
344
682
300
37
156
97
799
144
483
903
348
30
345
224
68
658
779
256
768
991
688
577
959
18
753
611
122
99
467
179
591
977
945
560
901
818
912
201
122
658
989
222
889
563
541
876
988
442
334
653
674
576
115
406
339
821
102
570
177
218
711
459
295
353
508
638
431
795
386
442
638
857
21
739
300
470
680
991
360
879
959
538
481
199
197
994
76
961
343
63
516
619
854
431
663
270
190
776
66
766
413
512
126
391
283
784
814
683
619
221
322
730
531
549
391
252
765
492
187
61
819
19
406
608
746
290
486
124
67
58
485
824
273
770
105
358
811
165
985
975
971
678
994
412
406
872
182
228
649
510
488
239
817
251
43
234
783
459
151
63
848
721
658
338
872
601
27
311
664
399
248
955
777
419
920
289
384
705
971
272
434
917
110
461
542
45
745
412
276
598
661
424
264
829
763
338
647
613
330
53
265
719
167
726
219
80
716
434
412
590
721
393
920
484
120
517
604
366
426
643
428
138
380
188
775
274
242
497
295
413
93
528
185
39
678
24
260
142
191
881
996
940
43
437
289
17
706
67
634
19
120
252
299
658
671
370
818
228
845
51
815
376
765
808
238
288
28
473
229
829
580
584
975
340
755
734
114
433
203
184
579
597
820
25
232
77
788
526
743
704
924
877
71
94
551
889
565
457
656
881
963
351
212
748
66
478
879
695
480
214
44
363
449
101
716
509
422
763
713
861
463
174
49
720
623
421
466
568
732
931
291
747
501
437
293
795
132
64
912
836
347
238
654
228
881
230
225
338
513
418
652
337
97
559
130
995
831
988
556
196
825
239
959
68
127
403
868
328
109
634
969
454
751
949
402
447
887
675
739
483
588
551
586
749
238
966
799
737
127
551
986
368
919
86
795
771
280
734
879
849
976
499
555
237
685
986
310
705
837
20
248
350
869
615
392
402
927
430
902
990
410
780
383
638
593
546
565
77
250
678
17
374
900
858
689
632
176
472
115
363
176
97
383
656
180
270
129
704
325
403
659
636
598
302
815
24
692
901
112
454
76
47
814
494
972
265
197
600
634
531
275
838
681
217
476
329
824
290
605
824
882
501
149
418
251
134
708
754
634
433
830
65
60
151
414
240
527
490
908
952
287
525
654
68
407
102
289
991
898
49
747
756
338
104
310
489
201
745
396
520
842
451
568
544
206
53
440
820
424
917
775
459
168
897
830
980
996
454
789
927
221
860
885
627
513
251
392
20
173
818
18
34
853
805
948
808
523
800
617
504
342
466
806
886
817
934
874
142
252
308
676
577
47
416
210
128
991
932
995
424
682
769
53
603
611
965
704
655
765
496
634
779
659
534
259
952
248
368
531
986
173
456
99
76
870
829
896
130
22
522
1
471
431
110
326
488
249
13
459
273
748
200
223
343
332
525
607
130
519
948
361
420
59
510
133
881
344
595
307
449
609
710
796
631
206
110
141
594
538
610
148
254
221
263
71
263
540
598
574
519
371
591
627
672
403
376
384
508
134
245
973
461
254
797
616
727
303
747
601
860
767
65
554
999
851
355
24
223
167
89
747
834
415
956
861
628
59
555
115
394
426
92
915
814
862
998
644
90
5
797
80
578
97
93
718
977
223
496
809
369
421
279
863
352
94
350
991
871
298
938
747
246
553
695
831
261
496
766
396
247
185
897
636
749
44
831
285
636
447
840
934
544
503
537
305
832
973
595
749
760
406
82
402
623
5
309
187
11
167
144
304
970
322
833
635
67
495
531
202
172
504
410
462
494
503
738
59
292
228
794
728
667
259
755
248
435
977
666
723
227
980
100
397
904
474
600
489
428
598
629
604
312
218
724
763
423
151
311
626
779
493
260
694
297
120
400
219
718
479
69
493
79
419
896
663
888
381
38
582
194
181
778
551
354
554
345
863
942
4
139
784
828
618
39
278
338
902
891
71
97
515
200
347
862
63
890
279
883
963
409
209
979
533
729
23
298
166
752
704
503
145
918
698
915
717
192
863
922
134
524
494
492
770
874
895
17
388
414
288
528
672
402
259
422
302
20
868
667
180
346
689
44
634
304
349
669
464
542
224
335
72
593
810
628
173
79
256
292
798
37
565
547
800
732
823
777
760
701
278
13
899
655
517
613
740
695
869
116
133
327
785
844
286
908
326
907
24
90
293
117
232
731
763
400
368
338
260
773
669
321
251
269
815
202
241
210
5
335
54
119
628
41
934
706
56
728
206
337
827
960
521
27
418
117
147
335
579
152
531
397
434
54
922
968
883
692
98
383
931
123
328
529
864
37
880
257
317
468
946
543
795
684
718
843
895
673
493
331
713
198
934
16
600
464
511
922
638
486
260
602
379
838
52
319
688
846
730
973
219
62
759
72
881
493
213
457
91
771
554
666
581
838
119
414
970
531
377
838
186
20
313
297
47
977
91
537
383
662
393
11
321
314
8
240
746
151
570
994
269
816
346
665
486
452
703
995
255
946
922
298
309
388
847
510
761
158
437
383
568
654
357
871
182
846
416
141
41
944
991
654
344
395
324
258
200
347
959
522
866
978
360
147
22
188
511
552
539
217
283
438
874
101
838
331
802
622
967
886
525
952
789
653
9
738
38
926
863
937
824
706
793
713
601
704
360
614
934
453
623
297
74
252
802
677
319
664
568
913
548
697
239
373
95
353
338
443
112
775
96
626
948
633
464
148
318
232
669
544
477
277
532
979
309
931
166
721
288
382
367
33
219
517
94
18
87
889
491
124
722
226
374
219
297
732
70
649
576
451
933
309
401
743
497
733
245
352
489
167
574
233
48
678
568
763
475
411
621
986
61
794
261
387
270
225
219
58
613
974
202
975
977
550
544
836
492
859
641
284
586
361
591
723
448
60
372
560
448
303
390
75
914
357
573
783
115
245
692
191
112
275
139
58
762
111
795
408
825
51
334
437
875
935
104
647
746
44
98
980
104
529
104
675
406
32
123
592
272
333
606
899
703
368
829
550
676
244
39
226
229
6
619
159
317
188
977
3
494
411
928
453
351
739
162
47
358
565
558
635
519
883
51
36
383
309
847
593
609
356
245
512
95
354
3
32
205
816
951
211
541
670
972
989
10
622
896
478
64
838
214
917
742
687
405
999
439
944
30
103
719
218
177
537
200
778
756
20
399
51
764
666
907
741
454
537
763
514
567
840
638
225
311
756
814
558
930
674
650
480
929
5
773
321
506
891
769
983
960
592
245
217
121
222
980
556
613
677
141
927
332
816
624
21
981
744
725
290
711
199
482
208
278
32
785
442
162
705
336
579
747
59
647
977
796
629
690
304
112
863
744
690
863
499
408
64
376
851
351
879
494
657
461
183
517
22
814
886
166
936
328
352
647
304
420
68
530
345
693
315
936
164
89
983
508
51
941
73
374
373
869
908
655
595
396
593
756
978
553
167
723
919
900
114
527
655
179
296
606
30
92
411
341
84
624
953
457
609
350
628
13
583
937
91
737
886
675
996
715
88
770
785
120
153
536
572
720
990
673
578
629
92
482
252
774
214
983
14
574
780
483
157
253
538
343
877
968
825
365
709
181
729
406
172
689
827
507
222
975
194
281
420
761
803
813
41
221
76
497
148
834
713
371
534
928
617
545
506
132
135
347
724
155
670
686
341
494
702
484
478
406
90
773
168
578
950
876
203
442
486
366
320
825
264
78
225
114
64
463
443
660
804
645
369
683
270
246
466
664
835
362
564
178
103
41
319
643
915
554
338
398
970
976
621
414
485
754
490
16
94
249
214
880
6
438
28
519
686
657
531
143
45
707
510
322
861
609
954
94
988
535
161
194
394
929
127
320
270
459
573
954
693
333
885
160
722
486
955
937
816
122
447
950
584
768
504
742
971
135
240
586
242
710
298
837
400
832
314
220
543
892
656
678
151
384
587
334
221
460
446
252
743
348
837
711
775
553
709
329
823
439
133
247
708
24
403
484
381
300
916
791
599
732
847
404
139
639
215
572
372
979
721
130
252
293
852
919
290
604
303
360
87
821
700
495
411
603
970
400
850
111
323
999
72
426
600
158
548
331
911
298
748
738
217
810
732
764
750
361
26
491
662
916
136
304
51
819
42
142
608
943
582
180
184
400
624
509
402
449
287
199
615
323
360
773
315
231
42
892
807
924
634
710
60
834
950
811
594
10
186
686
20
1
753
107
378
320
366
48
586
483
121
655
715
188
118
887
906
706
229
601
131
75
484
606
604
116
92
573
77
270
620
505
660
198
100
337
393
280
845
722
110
849
666
207
546
323
144
353
980
772
135
51
825
776
202
451
402
246
850
299
511
228
282
729
611
982
271
686
854
574
811
970
719
30
675
760
777
744
333
369
797
545
299
606
407
601
617
385
21
177
661
811
351
776
181
786
420
514
530
440
896
873
103
979
519
938
157
922
113
150
505
10
736
611
294
31
690
913
398
31
693
220
134
210
309
821
802
505
779
221
57
482
964
678
59
913
832
972
340
26
558
738
965
445
859
424
811
894
232
130
914
36
723
934
501
44
305
731
980
872
852
852
440
356
476
979
567
782
883
228
470
325
462
808
923
557
193
374
714
769
425
221
122
245
109
424
973
559
753
693
521
181
605
127
592
224
72
739
692
388
868
559
727
522
53
216
575
145
483
998
988
855
755
850
366
27
255
411
468
556
399
913
643
499
684
789
970
627
816
234
816
981
292
361
679
21
665
751
921
777
459
318
817
244
669
734
252
152
563
433
224
330
666
784
864
63
807
474
911
941
166
248
159
96
911
681
472
974
935
710
333
578
570
174
953
322
741
478
36
980
205
72
198
42
186
104
447
370
334
237
560
649
261
751
635
874
246
775
944
771
819
735
794
107
723
242
692
38
436
190
941
923
906
229
254
13
353
748
571
407
717
959
342
180
283
795
96
909
541
531
615
316
180
111
971
803
30
393
774
194
244
350
456
441
493
891
871
781
195
433
225
118
114
688
935
631
322
481
629
748
866
673
768
455
462
722
189
371
50
703
764
963
852
35
955
273
415
885
979
113
920
185
886
76
955
538
689
965
160
833
845
211
396
574
408
962
742
85
629
329
659
950
808
54
817
70
828
66
685
695
351
87
484
779
195
219
378
359
421
305
667
836
636
348
979
977
572
746
313
631
246
460
760
71
640
855
407
998
520
913
26
207
595
390
458
361
983
515
983
100
931
405
457
831
682
612
60
418
164
705
956
930
575
521
11
679
979
737
854
566
65
402
936
799
489
150
191
863
160
455
963
904
195
251
410
141
866
290
62
945
7
574
2
791
488
364
205
958
980
622
462
319
987
39
866
941
23
737
877
205
57
188
371
555
397
25
337
723
650
593
461
37
573
31
780
441
799
885
824
681
745
222
241
235
719
718
308
180
647
207
330
105
448
428
861
520
568
386
166
73
46
389
814
57
543
647
617
999
475
323
817
884
593
989
827
642
925
880
487
853
609
488
898
429
644
949
918
335
520
307
422
648
815
104
887
785
661
891
203
301
47
542
446
574
646
449
955
550
458
277
266
612
103
926
387
386
382
504
733
178
117
482
859
369
108
966
475
615
557
514
231
561
448
242
933
5
128
236
40
275
583
275
432
288
938
881
972
327
620
90
34
0
784
87
55
780
601
520
41
945
266
404
952
255
528
827
460
915
300
916
710
298
449
870
975
698
880
661
162
5
907
862
318
444
840
371
274
424
281
474
353
403
402
927
845
761
499
631
247
970
262
705
345
255
429
911
115
994
294
303
751
658
673
839
641
343
30
969
112
144
712
348
855
684
820
812
495
710
773
647
315
600
701
612
587
977
561
384
273
59
52
81
789
160
215
542
616
421
690
329
426
328
829
942
722
51
448
121
272
119
549
99
101
146
207
710
923
248
294
355
142
127
327
305
37
299
92
545
637
214
927
426
518
175
523
546
660
428
345
896
844
132
370
709
15
706
424
934
938
559
657
643
307
851
605
496
568
338
605
422
894
848
997
92
545
462
685
953
787
53
248
366
476
119
939
107
881
376
732
938
217
793
591
605
154
930
281
842
498
338
284
752
580
927
525
419
368
417
476
473
590
727
934
235
634
651
581
52
70
732
879
6
465
109
393
258
432
798
610
65
123
57
211
280
244
340
118
646
85
715
667
971
92
889
760
967
393
714
363
394
59
21
669
737
540
455
365
343
389
654
746
817
499
371
981
731
594
250
521
832
162
642
630
757
718
415
27
873
904
434
368
583
647
641
804
377
570
971
757
105
805
683
140
954
291
697
977
951
224
546
259
482
73
276
581
85
287
737
441
898
771
460
54
259
283
148
515
898
444
997
305
255
48
123
924
993
390
551
426
821
242
826
269
151
723
843
154
420
128
6
472
457
793
663
920
29
102
185
898
982
515
956
444
984
844
332
472
41
296
396
82
131
415
855
442
431
208
250
829
51
149
462
445
27
233
841
233
445
971
785
929
849
624
771
185
274
501
430
415
876
738
947
651
714
44
119
773
395
140
860
514
9
304
772
867
732
150
989
508
481
254
979
729
597
422
995
761
549
63
433
371
150
664
201
7
143
344
915
856
186
337
13
636
299
249
904
716
607
984
337
901
485
502
822
582
562
704
72
675
944
431
883
541
134
194
280
889
337
999
799
554
572
422
164
649
200
156
237
130
129
99
504
81
213
403
811
646
20
360
995
641
116
507
46
657
3
693
868
111
908
684
498
837
528
841
640
552
53
951
946
477
624
939
964
867
741
912
60
108
869
831
67
270
23
643
249
637
182
735
186
915
296
836
213
829
91
841
140
125
848
671
932
855
952
261
58
118
924
9
29
578
460
515
12
247
651
609
523
441
273
565
710
241
751
245
269
427
536
608
945
210
283
51
462
547
475
96
341
134
441
34
972
326
375
450
838
96
812
371
661
835
398
639
994
946
374
673
996
970
963
641
473
62
902
639
10
344
266
378
998
268
92
529
314
625
922
158
11
806
309
414
671
858
774
15
617
303
606
585
245
673
503
209
408
375
830
237
617
864
190
590
478
467
496
930
193
72
105
720
931
786
872
463
652
464
685
440
510
381
612
930
767
328
150
511
449
155
69
833
69
700
865
738
241
857
417
940
943
634
303
572
600
463
984
999
622
574
685
68
262
699
320
795
223
38
171
800
767
110
52
239
415
777
152
914
586
977
730
675
99
602
288
232
678
290
466
767
436
167
729
439
460
647
732
694
826
684
399
850
328
85
712
296
319
419
458
445
204
994
48
48
350
294
631
4
688
320
440
904
614
993
16
611
934
146
842
774
247
192
828
696
644
870
985
136
473
655
221
976
661
96
990
49
347
696
960
499
571
12
512
335
253
917
759
467
907
163
610
180
876
193
388
0
795
924
593
688
632
725
617
415
906
31
730
446
206
874
96
414
151
281
930
87
747
787
78
574
62
244
172
722
10
703
575
959
57
464
962
434
406
890
980
503
421
514
100
59
949
770
253
318
68
841
508
974
858
372
97
483
43
820
463
157
67
21
305
199
910
483
84
753
360
863
441
362
732
644
623
776
688
986
475
404
839
345
970
894
485
256
683
559
391
663
646
217
57
37
182
25
942
913
520
93
624
526
889
252
224
322
224
962
870
446
966
87
392
294
573
711
396
736
465
136
33
127
599
87
217
372
340
570
858
337
387
956
200
864
8
349
100
772
739
443
151
319
949
646
547
830
208
297
883
3
233
496
787
930
523
906
649
45
244
56
248
613
527
933
984
141
919
185
669
936
133
61
301
638
201
916
739
379
304
954
968
908
224
776
859
13
254
37
491
847
200
8
344
669
548
165
52
736
604
564
430
538
216
265
944
770
741
498
232
157
943
40
158
378
919
230
73
746
691
864
755
776
51
442
575
334
805
448
732
368
376
501
201
270
6
788
375
251
268
30
583
515
606
188
641
386
666
82
282
105
916
210
244
126
243
408
378
115
921
227
410
5
546
42
924
479
304
132
226
33
250
109
834
54
789
533
35
952
635
974
609
6
68
711
519
960
874
954
540
16
604
471
956
367
243
76
22
386
950
795
765
946
201
645
923
512
636
282
185
657
297
912
738
867
670
741
341
601
245
304
652
459
307
407
289
216
159
317
94
26
968
852
620
74
527
601
769
953
875
520
510
586
101
935
350
146
609
881
681
552
494
786
942
863
649
64
264
250
287
543
956
496
521
448
159
36
906
991
745
330
635
500
819
67
83
481
816
269
774
440
206
319
357
541
788
2
327
402
839
731
249
230
53
379
530
187
952
389
106
116
533
51
584
588
732
723
226
651
194
403
130
349
572
890
617
164
525
920
278
245
231
381
530
484
925
950
646
485
680
546
728
695
894
991
556
629
672
240
402
274
178
910
752
431
877
339
653
388
444
671
667
505
829
489
589
565
219
502
653
873
449
515
755
210
507
509
279
326
291
332
919
173
901
173
320
989
828
906
355
534
645
645
685
415
266
777
51
808
993
885
480
394
695
536
678
924
942
826
536
768
773
120
744
33
405
291
689
172
613
824
582
402
484
897
438
482
652
208
761
1
389
343
715
556
232
989
401
969
59
667
45
455
19
961
85
453
10
619
295
854
675
50
52
479
675
352
130
342
504
723
535
198
901
487
932
713
65
830
732
473
811
791
272
389
174
990
394
14
546
144
435
951
331
680
653
425
495
104
378
463
307
947
823
993
664
7
241
739
151
147
182
245
202
214
753
607
106
647
501
517
275
90
264
962
845
892
102
909
989
634
895
72
100
438
961
175
324
572
811
681
106
277
87
179
306
731
732
253
272
538
976
554
399
884
447
70
661
38
892
417
193
501
859
481
468
565
200
963
192
813
733
854
957
959
36
754
22
992
416
498
669
621
8
817
954
470
22
482
484
530
161
753
243
444
779
120
390
464
323
162
707
781
178
824
285
219
613
119
8
127
141
719
346
799
138
786
673
602
260
745
42
254
857
679
969
954
658
689
822
150
675
424
981
354
102
208
582
798
867
263
837
491
915
642
139
745
63
283
862
585
204
703
793
374
70
394
114
568
984
434
438
860
342
460
378
49
172
615
921
499
49
337
471
836
325
703
252
869
974
489
391
789
808
796
365
554
683
767
606
819
745
301
869
848
784
945
911
551
604
511
310
107
733
437
923
756
384
714
861
301
516
745
796
528
832
924
304
521
676
276
189
787
695
47
630
659
291
301
886
81
42
823
565
666
438
536
706
57
742
593
844
840
403
94
983
269
808
644
36
777
744
68
406
819
382
567
380
42
720
832
821
271
84
331
685
188
479
659
378
96
33
906
759
770
296
962
304
532
815
706
333
838
58
527
560
459
98
629
920
398
910
375
825
949
77
228
633
207
677
370
920
939
543
652
489
635
667
351
396
63
914
687
452
340
758
108
372
865
772
562
33
452
50
429
905
958
481
936
695
122
89
909
458
494
196
44
416
237
20
700
728
202
714
865
412
674
632
124
141
569
529
182
858
126
834
949
360
729
508
370
138
105
355
110
92
965
908
427
455
715
215
253
250
628
769
437
587
719
753
751
891
968
216
731
327
759
61
971
479
748
776
668
163
906
156
809
209
108
649
447
218
804
529
759
548
196
200
948
859
807
731
162
806
231
226
193
91
536
493
601
249
133
453
923
115
123
332
619
476
576
761
810
504
480
944
16
920
279
969
628
153
163
300
453
400
323
956
111
970
96
903
107
774
365
893
243
432
82
888
84
184
187
841
512
70
903
970
659
345
282
822
726
738
792
333
515
787
982
848
953
17
457
238
371
822
147
313
554
898
118
305
710
471
853
997
331
596
765
939
283
944
648
255
459
322
367
264
176
490
497
662
303
793
147
456
803
47
82
185
965
365
658
79
525
342
762
271
507
680
407
59
524
403
667
624
245
347
24
170
586
235
512
963
665
652
551
609
913
351
262
985
934
639
212
826
859
96
274
784
112
65
400
618
329
739
881
942
610
929
411
904
575
24
966
569
281
989
478
877
9
298
392
896
135
764
122
27
461
56
349
671
150
694
248
80
958
230
342
322
597
198
270
806
499
756
600
446
978
811
137
941
994
289
386
191
733
852
2
926
347
24
747
166
744
139
543
696
264
193
721
125
685
92
322
420
2
635
589
489
190
144
454
297
221
810
59
610
966
831
330
380
966
217
882
939
190
8
894
294
667
827
642
904
486
155
458
377
836
659
300
39
160
818
431
272
806
475
283
273
790
203
660
992
276
235
499
475
621
980
395
998
61
792
247
586
869
968
514
213
191
607
84
31
68
781
348
773
74
539
651
55
685
665
501
148
198
259
431
637
86
1
755
147
992
540
653
725
123
985
193
352
291
973
857
561
58
95
625
637
394
684
186
928
182
577
248
34
620
936
53
695
602
94
884
826
167
991
928
620
857
436
390
316
409
706
239
984
230
326
743
236
825
721
148
331
312
423
335
819
762
569
519
775
592
495
861
532
118
944
199
58
883
42
940
875
477
430
512
217
646
766
387
289
97
312
219
12
671
151
514
859
661
82
660
45
669
958
131
968
151
441
646
131
64
718
826
493
481
356
457
139
585
49
426
395
612
826
855
982
585
431
148
179
804
870
131
890
91
400
811
772
102
464
258
437
50
182
331
958
18
895
937
751
205
270
249
188
478
920
129
537
968
207
602
410
243
556
185
333
50
918
869
902
975
462
105
956
637
176
151
610
546
397
137
273
30
140
925
782
117
866
791
822
64
463
697
99
561
917
654
763
505
417
209
453
315
606
703
523
825
6
259
279
588
901
671
121
860
183
96
889
815
594
839
534
106
199
462
399
76
361
923
741
909
522
577
711
867
796
842
941
411
127
822
368
281
269
788
688
435
888
515
35
844
90
108
782
37
546
170
836
409
601
596
595
994
967
962
976
90
6
504
662
256
350
745
818
231
317
1
506
387
826
868
112
39
606
593
975
511
490
537
34
506
118
178
415
440
142
49
218
889
302
884
37
236
23
900
734
739
970
858
400
883
973
407
54
538
658
567
471
389
920
759
74
370
602
530
81
280
716
965
188
432
347
528
657
25
572
126
291
773
771
413
590
64
393
793
798
639
353
940
246
278
364
494
18
370
909
73
55
246
265
285
355
875
639
154
261
241
135
733
766
610
851
119
715
589
383
999
284
396
589
612
913
560
953
440
611
375
43
37
394
292
872
824
567
794
910
820
178
423
22
24
287
881
467
473
681
548
433
490
870
404
550
964
837
639
381
975
400
768
978
254
968
796
996
565
932
401
317
575
390
610
693
216
72
298
812
111
29
311
800
283
924
794
87
953
225
966
785
611
825
845
342
660
639
138
789
963
571
59
936
256
378
977
854
118
40
567
334
376
524
934
617
830
62
181
262
452
981
409
566
750
29
299
585
728
565
616
526
628
818
115
346
518
479
989
135
734
509
809
51
483
821
601
761
519
150
486
538
746
790
452
937
657
312
198
468
954
890
955
571
187
314
608
819
94
623
838
176
456
388
840
914
346
561
858
958
7
854
962
313
367
373
434
24
288
617
321
847
605
826
833
415
665
533
299
594
998
755
264
282
994
414
230
649
498
485
471
111
403
477
243
141
147
516
537
333
82
387
787
941
434
94
821
513
619
652
823
470
152
135
19
86
247
445
709
892
280
429
641
142
629
279
574
153
288
341
98
328
425
830
276
388
620
476
0
621
823
788
493
362
355
166
217
233
866
157
950
931
385
237
368
962
404
996
296
187
624
637
379
660
667
277
362
547
72
308
464
821
697
26
695
348
729
398
186
972
20
501
808
455
825
277
373
275
631
892
58
251
804
319
241
930
388
477
555
209
685
452
621
350
52
335
963
918
849
628
999
281
461
702
670
384
794
264
790
402
789
590
697
73
429
856
6
497
291
111
506
235
33
128
189
938
536
136
228
212
79
544
755
150
524
733
622
800
826
794
195
827
818
574
673
205
56
582
602
433
326
876
61
225
45
430
915
513
924
5
795
114
312
517
549
514
163
365
768
22
313
637
485
211
27
450
712
712
328
238
626
213
16
276
81
719
440
276
733
189
760
28
989
373
272
875
313
633
271
674
869
44
391
663
922
352
770
465
378
996
543
8
488
989
538
554
971
104
656
146
274
798
499
282
950
509
127
777
672
110
326
10
521
956
842
139
537
585
29
657
706
209
266
928
899
253
187
442
260
781
317
276
755
216
813
998
872
323
964
798
978
705
942
360
970
961
300
318
819
203
795
83
824
343
732
736
532
877
873
65
691
52
877
677
84
957
646
601
875
819
743
360
379
287
35
519
766
18
65
205
12
432
250
403
986
842
531
438
70
237
783
501
348
205
235
839
419
159
661
784
373
49
117
309
466
802
360
592
878
919
412
768
779
312
334
730
100
194
623
91
691
102
939
25
51
746
40
322
200
561
289
84
895
793
647
331
367
576
500
79
582
656
402
6
502
10
968
422
737
13
406
410
571
490
143
291
365
84
811
16
933
879
213
933
212
586
975
361
566
859
108
275
420
575
88
305
488
728
128
649
277
201
954
571
431
419
277
711
751
836
797
665
954
638
350
196
820
825
99
868
940
742
237
726
388
430
143
495
97
252
592
414
695
519
767
92
294
815
367
722
453
828
843
961
275
952
975
233
19
563
461
436
668
880
629
524
211
769
986
669
180
998
702
23
304
730
894
589
23
218
114
704
901
507
236
531
30
90
856
961
207
977
959
91
259
876
435
791
935
83
19
422
839
26
868
636
43
588
495
570
779
288
883
644
649
641
171
691
739
776
928
387
233
343
77
148
964
487
683
991
811
918
156
40
838
213
600
173
633
432
681
812
87
388
731
549
319
877
216
643
819
387
241
724
478
275
216
253
177
409
223
958
236
2
377
371
140
991
580
363
645
851
599
935
208
917
13
383
334
104
209
219
829
929
726
261
416
351
153
632
262
805
695
426
41
59
687
513
291
345
508
39
932
369
439
810
417
570
515
993
313
700
424
155
283
351
653
989
911
204
686
305
878
790
673
749
793
893
398
13
198
177
349
783
323
13
993
470
999
613
810
263
728
922
899
722
24
577
24
932
600
86
984
485
628
336
400
406
955
354
593
37
930
608
599
602
602
48
31
667
629
987
232
361
121
385
478
904
935
464
932
154
886
917
148
525
618
802
82
281
207
608
671
311
163
233
411
352
270
143
989
780
764
514
941
578
651
350
932
779
477
769
711
912
740
958
667
129
39
702
786
778
605
5
865
530
910
389
491
515
428
439
882
554
177
592
460
938
420
217
87
47
72
258
80
985
73
456
198
530
335
161
536
936
770
76
816
13
731
512
953
454
62
706
767
466
32
33
898
385
77
311
134
519
424
891
802
851
391
310
441
202
231
615
213
151
926
132
428
223
253
728
932
321
56
346
252
122
116
689
699
249
889
117
903
650
547
691
33
233
16
44
593
168
721
38
299
217
675
512
885
52
76
877
681
718
815
18
856
237
368
50
139
752
826
78
314
637
485
701
825
719
392
290
873
776
962
517
843
9
970
495
356
782
522
427
503
331
716
717
907
169
637
756
479
564
300
130
961
581
643
338
973
682
764
909
361
288
0
211
953
228
510
600
868
875
219
358
508
143
44
767
842
290
568
198
976
276
796
221
105
310
176
128
200
450
36
110
229
460
648
762
260
307
723
838
543
884
335
519
452
511
393
260
650
616
982
9
86
221
221
681
88
983
370
271
849
173
645
933
780
748
103
563
918
531
791
480
221
254
200
300
564
604
338
215
998
25
340
70
795
74
120
520
470
896
578
400
482
737
35
584
682
137
857
612
465
347
711
296
82
435
26
883
761
511
913
410
28
674
587
589
339
934
626
889
989
592
227
578
277
420
473
597
800
585
139
959
846
252
717
0
820
100
213
384
688
158
27
803
840
364
588
14
124
839
690
138
493
312
156
61
755
808
346
789
896
111
637
420
431
658
551
840
731
178
818
415
590
715
895
55
215
426
137
633
534
400
290
693
460
46
105
17
868
219
886
628
568
636
641
595
384
64
482
368
956
320
466
244
641
644
477
100
233
104
749
187
715
225
525
290
29
687
35
440
992
838
137
599
712
763
867
369
612
730
860
689
439
389
873
356
736
127
984
454
216
177
278
627
957
525
186
178
789
669
86
503
735
607
924
148
516
225
715
202
819
350
14
155
111
397
441
970
577
283
319
458
288
441
915
802
610
323
311
655
852
87
805
77
579
402
380
557
801
390
207
51
273
139
72
128
27
296
825
487
706
821
66
794
439
759
110
165
843
371
852
320
570
41
256
718
655
808
821
467
560
870
989
614
303
501
304
17
112
132
72
426
848
573
20
256
238
378
709
205
99
301
136
80
656
666
383
531
378
585
747
225
152
330
761
831
134
645
55
788
786
650
117
521
473
543
379
195
982
838
601
565
662
675
516
146
508
829
62
464
734
40
793
94
913
731
932
133
360
673
589
73
461
475
350
527
179
121
386
203
393
351
130
61
112
188
396
307
285
925
209
167
37
472
552
465
754
982
807
930
686
446
53
62
791
783
868
592
925
138
3
234
775
884
406
35
418
598
863
894
26
949
397
149
668
345
781
424
664
762
509
166
748
121
434
592
194
72
530
789
725
145
363
959
338
455
920
47
911
310
542
66
531
216
673
988
603
514
523
83
807
409
526
563
59
811
399
871
134
88
10
527
269
816
954
142
741
998
321
217
210
277
421
239
338
351
304
363
494
366
771
663
222
416
245
147
392
480
121
132
758
237
56
358
200
942
732
931
369
565
555
440
542
715
764
15
695
961
889
670
810
857
514
726
242
794
775
680
662
18
731
782
931
764
852
650
705
477
47
720
282
391
874
32
271
543
756
413
99
698
622
713
911
995
707
563
49
389
284
226
142
813
116
699
90
628
801
168
412
279
784
995
494
31
871
383
986
146
349
896
511
906
619
192
161
757
655
395
726
863
956
374
161
470
129
567
379
80
880
30
459
314
661
251
290
134
188
727
400
541
383
741
695
985
224
257
239
575
441
324
796
532
37
46
440
944
294
632
683
4
297
415
284
775
184
121
619
945
842
528
781
282
709
122
328
654
711
127
655
254
402
161
685
733
463
209
418
399
384
467
215
654
814
969
815
40
982
109
702
742
881
599
568
148
293
937
17
365
257
853
678
171
512
14
231
412
480
95
75
798
374
639
700
386
363
807
365
790
301
854
491
462
314
969
200
823
70
858
3
615
375
757
854
1
633
682
101
810
425
101
496
963
649
590
821
565
83
267
266
532
47
310
169
101
565
182
903
137
744
141
416
798
373
786
150
467
694
262
574
819
869
536
785
889
629
428
222
535
777
993
107
702
165
210
801
160
484
123
60
743
795
705
892
279
431
67
175
572
23
907
686
25
92
413
529
33
865
390
406
925
878
807
918
689
730
209
117
936
608
972
42
299
356
625
519
432
691
207
177
384
678
406
304
492
190
653
889
594
810
395
792
210
279
813
193
761
115
87
598
596
54
312
849
487
584
843
922
642
225
47
563
870
118
155
370
771
937
325
999
325
444
212
597
60
967
27
909
313
8
705
508
316
755
713
955
189
655
675
943
545
910
226
144
912
528
925
869
16
354
440
701
690
35
583
56
468
690
80
435
319
39
882
271
47
444
493
463
276
213
67
650
645
648
350
178
347
342
408
122
496
803
732
346
966
663
524
377
973
517
358
839
604
205
96
556
933
232
916
273
443
354
629
837
48
115
835
199
875
206
879
990
434
167
743
178
866
86
29
464
17
614
481
854
955
190
736
351
756
816
57
426
473
807
937
8
360
254
84
547
9
108
702
0
939
791
587
442
788
554
302
70
945
340
722
37
271
244
446
862
48
413
249
877
915
5
668
351
381
538
943
781
735
986
962
789
355
937
299
297
151
748
251
311
137
415
448
242
617
836
449
445
717
925
352
872
533
967
389
165
333
231
283
377
857
791
802
836
488
565
388
7
993
763
579
467
347
242
720
868
577
960
149
936
538
508
55
112
528
980
940
695
33
780
254
619
784
429
251
255
454
647
967
240
722
320
257
563
549
984
155
812
403
91
391
245
721
134
354
222
272
435
818
208
269
810
290
881
479
448
650
204
884
559
347
894
400
885
819
687
546
514
142
300
319
642
806
553
701
361
233
35
651
552
518
942
668
709
800
262
973
851
264
375
524
650
567
564
152
182
175
821
939
819
264
507
112
409
591
928
926
830
769
436
720
795
507
260
691
49
119
758
283
159
745
93
322
358
607
97
92
870
930
806
807
36
775
327
469
376
798
496
202
289
867
167
743
532
965
806
747
636
47
825
505
18
408
194
581
945
702
810
581
957
917
201
648
503
432
252
871
376
287
184
999
385
429
37
751
422
619
838
975
381
480
447
424
763
908
910
947
32
96
498
266
357
159
140
704
855
111
226
877
88
227
963
306
690
534
995
948
467
5
947
634
249
331
365
538
88
344
515
893
334
847
557
332
430
15
161
577
724
167
104
162
512
145
182
911
551
418
772
750
994
764
535
155
268
639
335
974
458
283
590
647
633
986
960
60
11
442
159
221
541
747
316
363
968
112
534
535
439
215
980
836
998
814
727
889
798
203
696
523
962
852
66
71
457
424
29
805
646
910
816
311
841
319
323
287
111
138
776
732
468
120
878
110
839
914
121
116
900
997
932
760
913
325
248
515
286
889
941
595
150
833
28
188
173
524
678
161
290
469
336
846
907
135
510
310
88
171
769
147
10
480
891
392
303
840
426
350
315
231
445
282
632
731
944
459
243
62
35
150
865
439
365
464
153
437
161
200
944
905
991
328
57
635
949
825
745
953
628
387
427
725
344
641
645
701
364
197
658
827
544
61
836
773
405
809
219
987
527
408
457
404
838
386
910
603
843
400
344
193
334
243
442
826
5
383
479
737
254
176
641
488
95
124
32
747
131
712
184
854
186
641
728
486
156
655
659
757
396
706
98
486
389
86
333
190
429
491
679
889
642
377
158
909
599
85
498
425
87
749
817
563
709
49
686
632
400
26
509
153
105
452
976
208
628
668
248
706
712
308
864
552
527
22
247
185
1
707
946
647
363
975
373
514
552
882
411
405
651
904
811
907
996
34
810
516
351
481
565
464
303
660
193
102
901
681
23
897
600
401
395
482
708
50
721
534
836
474
568
940
705
444
509
773
756
840
225
225
543
352
166
815
350
992
361
246
905
659
351
774
28
495
777
654
740
494
601
272
527
788
317
613
941
704
418
808
10
589
473
204
756
264
784
45
73
481
993
939
327
392
29
629
538
621
993
603
720
351
35
619
893
344
247
970
189
488
898
695
635
265
142
557
10
597
860
460
385
292
457
372
521
693
634
610
305
880
471
880
809
890
434
990
503
97
836
317
733
811
443
66
372
954
781
59
235
791
272
782
124
142
808
147
392
345
99
20
613
144
617
702
732
918
984
104
298
133
84
129
914
663
77
631
951
926
116
945
291
388
255
468
103
87
893
565
957
506
233
780
974
447
307
296
347
134
624
252
550
772
317
694
239
960
620
648
125
909
88
567
383
715
784
881
817
546
900
370
818
531
765
290
356
67
312
532
62
845
903
369
192
135
691
155
96
624
395
27
599
48
728
673
187
277
300
388
199
181
125
124
117
653
814
119
27
677
819
825
848
392
216
101
618
737
417
195
580
457
202
31
160
120
732
74
571
685
364
585
822
251
714
663
169
569
132
723
410
188
140
346
294
261
615
268
307
71
402
861
757
778
721
391
91
662
869
650
797
380
371
144
203
856
860
743
52
395
193
785
742
774
368
400
441
498
473
758
507
44
842
819
284
406
703
832
314
985
513
904
268
376
653
565
55
151
874
623
606
625
450
369
269
436
579
493
459
772
890
584
905
457
631
588
647
216
938
677
859
614
131
357
91
668
858
934
305
234
741
528
670
30
515
183
684
13
203
975
512
710
353
933
62
702
331
584
506
944
184
353
670
982
310
111
844
898
772
628
192
524
297
815
361
376
327
751
481
93
578
741
88
525
170
866
733
181
286
164
917
91
639
158
680
341
59
212
701
167
855
790
26
199
68
196
780
286
892
103
225
89
73
716
830
852
693
290
445
113
849
434
581
827
61
853
440
740
296
535
365
320
559
9
138
367
737
975
675
156
15
183
212
77
693
767
28
486
695
266
143
416
672
19
465
924
511
591
85
87
582
258
129
411
344
227
876
367
649
977
225
855
864
945
73
774
856
393
238
98
978
473
871
907
373
103
361
176
701
587
773
757
541
654
407
684
88
704
16
932
909
204
677
472
307
215
424
241
426
10
976
209
528
531
141
346
511
415
229
57
115
262
625
467
875
97
321
279
956
734
295
274
380
604
84
764
416
981
605
838
247
699
308
107
722
674
198
102
126
64
754
154
344
130
797
615
70
851
498
750
481
230
91
841
73
959
571
392
433
207
28
210
329
298
356
836
552
314
175
791
880
718
140
725
699
472
33
202
829
728
782
606
997
1
39
322
206
192
342
324
595
272
864
497
308
281
268
242
798
117
291
217
201
414
563
277
9
246
884
593
190
476
553
769
626
516
810
764
171
278
607
974
76
992
175
99
794
628
442
165
211
155
715
318
331
760
384
650
421
923
39
779
275
790
422
782
839
398
488
821
133
175
449
67
727
246
698
408
772
507
465
358
457
258
791
185
550
925
998
464
59
992
790
711
977
499
745
957
764
996
168
689
784
59
336
799
923
590
675
60
973
752
519
372
494
744
419
996
510
230
852
90
726
908
273
359
524
347
96
429
554
396
665
917
709
857
933
148
266
207
468
385
387
735
840
343
370
833
552
775
533
845
213
259
27
668
536
521
59
489
445
222
8
922
314
89
962
991
510
912
218
402
184
270
776
247
249
631
976
971
753
391
94
281
105
534
780
748
710
450
747
560
392
531
460
604
401
866
794
991
759
124
799
758
283
959
245
811
274
925
966
881
796
175
700
677
902
214
526
894
658
592
965
649
842
224
175
151
96
160
640
956
184
442
789
774
206
932
716
58
912
657
703
284
671
914
796
662
868
451
684
424
784
10
52
620
659
280
648
863
713
234
285
772
701
692
411
956
255
379
369
886
533
270
137
589
717
923
459
92
710
558
49
349
286
936
465
652
500
184
561
259
744
460
244
429
336
235
610
713
856
505
228
465
259
385
566
891
228
486
34
780
614
866
342
638
469
377
686
21
843
980
950
67
119
419
106
420
702
2
16
549
736
419
938
191
646
688
859
851
396
694
409
862
543
164
247
808
178
120
105
329
359
699
557
977
5
922
403
163
729
391
645
89
522
696
145
799
127
749
760
564
441
129
837
199
142
398
419
195
240
634
776
861
217
390
881
482
142
632
447
263
631
645
29
762
162
919
282
518
787
143
934
558
710
186
168
750
280
754
300
721
672
520
460
553
237
136
79
813
766
429
242
347
268
789
316
325
332
332
226
646
361
662
550
665
946
660
780
935
140
529
179
476
823
709
589
889
806
244
257
465
136
204
631
651
40
599
56
878
962
940
750
822
962
326
914
934
669
511
338
948
626
371
265
18
451
934
468
501
355
901
412
14
741
699
399
266
699
901
901
28
260
54
44
993
153
195
159
773
161
534
936
332
480
117
50
846
898
969
324
497
563
634
894
246
578
737
825
982
282
293
761
489
918
110
638
531
3
661
548
77
130
874
573
136
913
219
166
459
899
40
183
961
596
619
1
527
636
2
527
769
134
718
803
381
673
325
889
293
763
199
284
952
95
370
851
622
742
247
370
581
251
161
20
274
556
328
391
951
479
351
355
330
37
520
432
783
597
34
786
755
481
572
937
479
565
939
914
795
188
962
137
70
637
776
270
4
725
637
538
245
871
853
742
583
720
797
556
404
712
489
996
83
877
98
676
198
681
802
325
933
491
316
236
583
240
311
28
238
502
960
487
893
193
661
677
192
691
84
509
48
263
320
780
791
525
936
85
815
734
241
222
95
682
904
789
972
261
542
265
956
546
425
644
486
342
608
416
977
599
270
670
225
398
274
535
746
55
969
585
162
447
559
48
878
64
725
8
566
132
603
185
5
537
861
59
167
913
432
479
855
93
22
685
804
589
278
633
168
372
246
9
524
249
408
394
434
294
8
309
915
110
949
852
423
135
691
71
457
868
230
419
585
787
625
532
548
985
867
272
573
249
707
181
520
980
617
85
323
590
290
619
645
267
521
370
559
543
943
833
209
347
752
817
916
32
997
842
252
552
801
512
989
468
952
522
393
20
690
612
563
585
317
768
276
119
289
691
621
496
458
441
980
767
63
570
779
493
801
619
473
678
710
21
527
249
592
51
737
539
194
85
256
828
379
416
756
555
308
292
127
344
650
667
776
150
172
129
6
39
604
306
655
459
232
486
699
957
77
848
656
292
899
591
413
933
197
501
827
722
537
564
232
115
389
903
653
845
661
285
88
501
341
916
574
302
198
173
584
947
173
46
998
746
186
724
779
224
205
781
803
414
444
975
420
705
12
754
335
139
787
708
531
82
805
385
162
705
666
736
670
160
460
67
37
726
460
471
555
779
257
438
238
483
964
323
636
445
969
148
985
162
244
64
207
542
612
828
216
758
252
295
189
690
597
421
671
590
797
890
809
139
252
339
467
878
143
995
334
440
686
84
834
864
536
931
713
43
664
671
193
348
18
266
224
689
591
607
256
657
663
295
576
578
229
916
295
595
65
216
977
515
652
446
983
430
758
330
334
953
170
884
733
289
611
691
571
603
628
69
609
519
3
80
471
650
896
447
697
483
968
540
475
580
3
899
681
926
780
527
561
846
545
774
38
46
407
994
326
711
270
701
314
949
247
307
253
977
402
905
921
481
462
926
540
29
350
234
206
240
721
999
427
309
830
474
767
606
112
545
450
687
372
136
214
164
539
252
453
831
794
169
817
131
825
698
728
313
918
669
866
668
81
214
892
234
150
345
312
718
907
361
364
294
268
952
77
178
279
383
642
270
700
775
377
611
165
338
974
222
717
646
948
205
674
772
540
622
600
883
376
469
974
528
14
133
470
614
461
915
569
611
540
567
912
561
343
261
528
459
211
368
474
753
760
385
347
589
389
746
222
626
456
229
280
438
133
775
852
79
804
126
699
206
709
854
402
248
857
625
670
344
295
67
207
20
674
504
176
750
944
448
79
930
622
158
214
807
74
731
1
402
769
922
615
107
61
681
479
521
127
284
793
851
580
47
589
447
579
350
656
409
314
765
134
492
170
45
75
643
358
2
585
19
892
867
975
83
303
525
0
307
113
533
683
745
406
138
362
228
788
905
853
363
705
579
841
712
290
539
663
443
796
470
669
239
43
724
819
260
903
801
889
61
664
116
260
892
426
742
840
839
699
942
941
291
254
402
571
173
522
210
817
619
343
105
124
925
820
29
545
488
264
29
748
299
164
887
423
607
300
327
682
126
44
624
67
155
674
486
136
831
838
367
278
738
950
737
465
576
914
872
799
825
709
871
693
667
973
337
713
365
298
402
387
838
77
18
147
643
666
522
987
308
318
74
706
100
321
704
356
592
773
598
444
865
192
84
419
516
978
160
720
750
860
215
583
504
446
97
134
235
950
398
947
196
929
304
216
958
402
811
155
983
783
107
928
349
28
11
761
726
849
39
714
316
573
208
946
296
119
847
607
813
690
816
862
339
485
303
974
449
658
979
998
8
162
261
364
7
574
706
883
346
755
270
64
198
677
750
614
638
964
969
574
667
159
790
786
444
938
314
558
698
246
536
102
984
296
603
801
277
372
960
17
821
975
425
627
462
208
295
131
853
266
554
428
420
932
94
318
528
41
280
850
265
48
146
634
634
882
636
267
826
60
782
72
65
450
285
351
536
731
560
677
981
888
583
933
698
531
374
558
298
612
907
371
179
648
665
29
273
185
179
530
32
943
43
360
776
273
956
927
509
197
945
24
281
899
305
438
554
618
942
188
0
444
393
123
505
463
633
397
548
447
662
756
797
651
559
397
26
384
171
425
102
853
909
770
907
524
121
881
238
880
917
394
482
97
176
898
831
773
990
47
32
432
818
605
146
719
179
667
514
708
407
844
257
162
724
78
53
73
415
189
194
974
698
818
42
388
614
186
76
227
868
840
861
271
635
614
791
443
178
130
889
668
396
987
420
649
283
863
612
611
306
857
87
915
353
116
244
681
659
873
108
334
582
338
333
816
102
819
157
79
614
999
351
360
681
949
593
832
737
205
222
973
764
585
693
584
541
343
360
135
20
580
645
835
20
766
66
939
734
49
491
725
57
516
848
254
311
639
338
799
195
89
100
780
906
707
823
236
637
24
422
445
776
642
20
852
231
373
662
351
727
586
185
579
663
429
610
382
825
872
106
238
803
715
226
244
498
404
125
583
141
776
842
5
982
583
662
355
674
825
641
349
702
593
773
875
595
201
746
576
945
246
129
605
410
675
112
659
436
60
606
639
474
206
825
707
569
472
374
265
156
171
308
565
528
486
647
105
153
582
465
971
261
870
187
612
298
972
924
544
239
933
877
952
3
660
855
190
340
305
645
943
410
113
680
712
843
952
918
75
81
961
264
410
94
63
980
357
186
693
286
900
284
951
758
808
619
988
217
893
656
967
626
584
332
880
502
334
731
967
437
880
820
506
705
633
284
460
699
711
780
289
615
269
222
687
720
96
271
880
900
867
946
820
309
809
764
104
311
95
41
360
777
20
913
107
81
230
146
729
752
38
717
400
985
731
966
878
898
349
63
641
246
240
958
910
817
796
621
884
33
743
191
183
70
769
76
465
266
989
768
275
280
635
255
536
634
834
795
755
714
888
125
460
572
804
554
147
950
200
100
967
454
991
997
757
765
884
355
941
794
286
156
100
527
382
329
82
698
638
533
458
542
871
89
888
890
61
819
655
647
314
291
479
409
144
671
193
911
94
16
530
603
372
466
235
784
493
788
417
404
359
364
451
583
743
68
722
376
687
613
589
606
817
959
60
65
851
372
640
276
580
439
28
900
599
889
496
983
814
321
520
955
879
559
622
712
541
534
843
150
314
680
69
957
488
391
742
667
646
714
331
428
104
84
174
505
856
707
343
222
833
121
516
709
133
559
645
355
0
218
720
24
885
750
593
66
799
192
742
513
862
637
679
397
937
662
328
492
393
914
287
893
507
979
730
822
423
802
60
942
118
359
553
552
749
936
227
674
873
215
46
773
876
816
469
255
96
287
44
956
836
941
985
184
943
522
912
742
500
719
110
556
104
403
517
920
800
929
980
921
86
498
795
940
883
400
861
294
812
713
153
801
25
517
294
13
886
330
778
392
9
866
11
652
661
626
219
477
390
412
787
726
198
447
174
378
662
162
797
541
809
745
200
397
237
626
597
155
833
569
209
987
173
134
957
17
757
365
701
925
273
867
479
208
960
610
762
846
874
472
891
158
262
500
946
56
820
52
839
947
960
327
189
668
563
628
182
235
851
302
0
229
278
320
85
473
934
478
280
965
917
871
160
612
1
743
985
23
247
572
172
77
541
74
574
904
725
194
185
422
165
254
361
872
567
903
831
864
739
327
708
680
423
233
844
44
698
353
275
487
504
668
851
304
552
311
827
239
110
63
120
535
660
113
524
858
659
774
799
652
670
264
361
102
89
364
922
9
542
151
864
32
892
616
726
484
262
773
215
892
211
188
255
95
193
534
465
734
138
9
955
757
14
789
627
635
561
329
721
472
255
903
631
699
723
247
756
125
83
215
497
128
339
504
550
415
467
477
874
809
443
416
0
269
853
881
835
426
968
13
27
978
728
221
698
412
86
984
614
419
450
503
41
199
635
743
7
365
127
133
870
522
783
698
896
558
634
151
417
703
243
366
958
189
763
369
247
19
288
452
383
369
877
578
644
798
191
71
825
346
814
544
953
384
32
927
629
292
997
792
391
936
193
35
252
207
190
722
496
558
566
881
348
317
768
927
20
33
946
62
167
56
267
497
366
583
900
110
716
468
873
495
359
56
300
73
168
295
997
63
791
981
486
682
68
863
401
40
165
848
352
43
14
342
5
225
171
660
270
602
419
590
678
297
238
48
378
689
289
114
686
908
588
908
432
56
83
501
54
124
186
849
776
537
337
552
527
678
221
974
361
160
611
608
839
116
689
520
187
326
839
320
794
286
247
405
647
389
36
947
481
444
339
203
560
823
917
884
227
2
414
839
807
197
600
458
185
362
990
517
899
33
801
699
843
241
417
21
494
370
238
734
240
70
468
468
147
854
318
608
463
686
114
755
545
303
884
122
182
877
781
116
903
499
557
467
552
840
478
307
548
110
925
409
761
311
169
387
10
693
897
911
279
580
900
900
754
752
922
504
275
555
802
66
145
836
741
761
812
856
103
580
231
246
496
578
648
86
963
706
455
309
205
3
125
249
586
412
158
32
568
754
210
158
532
150
857
306
336
429
613
557
684
997
239
763
750
2
867
679
617
377
351
246
713
176
217
141
326
879
609
428
465
344
309
178
170
891
718
721
114
629
723
948
537
401
504
237
220
273
786
892
131
139
663
816
202
726
875
895
390
397
815
52
758
713
800
398
464
821
224
117
260
412
578
66
255
223
131
869
856
863
153
547
488
801
681
345
509
123
348
802
720
681
289
835
70
806
675
566
117
207
402
194
835
404
56
476
533
881
373
739
155
213
414
186
366
525
138
894
559
830
250
761
491
524
516
177
407
54
653
290
70
119
207
836
985
102
924
40
415
869
818
571
579
834
448
460
946
539
661
900
475
499
189
167
517
219
748
288
289
520
968
789
371
4
867
516
991
972
370
84
291
283
102
681
288
257
593
218
638
230
294
477
274
712
543
132
737
214
483
158
971
692
584
597
149
721
733
309
345
149
130
618
637
835
566
826
542
78
755
198
143
364
659
100
859
63
149
25
235
587
530
419
324
10
243
229
95
675
236
989
118
680
128
587
646
250
359
343
824
801
107
49
672
18
237
248
266
437
541
338
72
629
613
74
804
198
584
47
19
417
305
313
756
23
247
198
911
938
69
497
694
504
750
827
619
198
530
834
950
369
205
24
828
248
893
817
103
693
993
67
400
386
37
529
170
769
410
53
35
208
628
67
597
484
709
291
864
359
114
705
593
60
400
950
113
709
782
865
267
392
306
708
905
72
756
367
879
610
311
66
530
845
226
586
482
772
310
246
389
109
480
921
774
885
469
425
517
36
866
999
986
449
669
554
609
263
426
360
36
760
984
487
284
464
602
821
161
121
457
208
679
930
502
55
767
226
644
754
191
373
489
192
212
741
326
659
311
870
145
734
138
128
753
42
586
794
38
246
279
477
463
405
284
106
860
478
912
203
49
973
570
912
522
814
453
847
441
227
369
441
606
50
348
86
658
469
0
122
178
848
877
950
143
390
511
563
893
668
672
408
891
626
66
189
944
101
952
365
156
486
565
740
260
43
994
548
81
185
945
592
307
371
189
505
384
996
213
524
776
218
456
861
60
105
978
719
227
201
331
668
996
524
581
911
507
375
718
606
217
977
857
773
750
125
767
935
783
777
48
615
323
371
919
694
285
168
103
846
206
417
6
346
914
352
652
449
108
414
105
733
540
313
490
460
533
945
66
691
205
298
413
646
692
343
680
820
626
611
750
397
32
421
163
730
961
306
310
254
507
739
34
632
645
401
750
704
738
398
223
534
444
164
666
712
211
527
597
348
554
785
499
153
766
484
340
24
22
364
192
806
360
148
118
492
348
456
740
271
128
908
284
124
808
599
343
198
97
684
811
130
581
253
305
50
878
521
631
539
883
222
214
383
167
969
733
508
293
625
920
457
887
276
830
412
974
252
952
878
116
670
788
777
964
405
873
209
116
821
433
629
154
812
503
565
609
585
70
772
662
345
218
695
740
710
979
820
903
223
463
357
119
270
361
470
111
744
214
464
548
125
619
235
907
263
256
88
32
640
695
135
32
551
510
640
512
617
39
539
470
18
572
169
168
218
224
265
283
576
43
41
105
387
543
199
678
315
782
153
42
943
63
147
528
876
291
290
437
581
550
185
526
87
914
871
359
719
95
768
900
130
924
32
331
790
856
992
421
512
974
607
627
597
704
972
413
964
384
62
449
88
480
474
302
917
924
652
868
542
465
117
45
479
706
912
958
399
729
156
569
675
614
960
309
837
429
719
378
501
11
51
966
565
999
269
817
144
914
57
229
710
798
706
549
465
276
187
949
823
873
514
568
428
910
521
199
178
107
885
377
783
541
917
976
628
913
991
762
478
315
7
434
59
913
390
747
702
904
682
715
782
742
122
898
756
427
607
374
398
310
375
454
816
119
614
829
558
556
511
378
458
808
883
606
860
601
688
70
111
371
455
701
277
345
626
895
981
189
663
512
299
460
395
973
542
183
828
329
422
595
517
618
649
910
947
692
419
601
636
628
740
506
122
666
453
910
693
769
413
10
956
587
980
92
136
544
734
640
472
342
658
463
665
971
511
162
449
221
811
127
151
745
494
176
321
970
772
946
698
635
251
838
577
774
551
960
341
875
468
684
625
179
826
809
674
571
730
962
532
498
139
19
455
795
79
823
495
848
667
592
103
104
218
214
9
954
279
993
87
616
819
224
430
64
635
167
531
636
473
199
773
916
941
233
846
296
213
723
656
867
16
360
85
934
343
612
15
728
785
552
134
161
711
620
674
992
605
818
908
685
618
931
953
429
403
734
680
79
440
561
530
555
983
401
489
240
660
495
491
77
261
637
722
624
125
755
702
728
463
776
625
405
822
356
762
575
552
567
590
156
873
569
92
545
981
450
225
257
68
708
264
502
455
878
17
977
880
409
509
939
955
181
501
852
903
182
712
816
537
249
958
313
234
957
586
206
397
370
880
248
597
92
575
17
684
646
216
576
216
510
735
627
983
974
488
16
804
787
623
117
681
250
682
979
345
718
855
911
68
633
495
396
220
131
953
951
610
161
683
668
674
540
275
992
969
381
341
302
865
854
561
671
68
419
551
203
62
755
363
294
366
900
568
141
661
506
71
117
544
882
80
532
234
506
950
739
257
337
665
848
220
834
587
545
327
376
944
358
678
414
63
839
50
639
650
211
403
336
207
912
46
244
797
982
332
965
900
418
269
953
527
989
237
447
619
850
832
803
260
230
5
795
899
798
39
563
288
821
274
442
997
262
919
385
883
880
228
403
745
194
178
677
514
767
584
815
502
360
475
836
961
403
189
117
95
570
639
94
549
624
281
149
238
452
733
149
698
302
757
641
411
346
995
708
164
321
464
966
509
757
192
582
331
314
246
129
261
155
860
397
272
647
929
707
899
625
249
553
982
235
987
608
670
611
227
77
810
525
682
500
260
291
361
709
332
345
409
878
820
392
320
781
586
752
726
56
823
336
85
732
946
637
299
260
516
33
786
313
855
437
848
917
208
474
483
519
37
435
127
495
436
967
497
781
447
468
365
710
985
731
352
837
165
50
201
623
93
196
38
861
140
386
580
684
339
400
818
420
464
983
139
13
417
902
170
400
69
290
889
57
890
632
853
772
108
828
179
991
515
461
11
266
170
470
520
263
109
183
305
702
671
522
419
487
247
634
304
409
665
237
79
286
249
359
668
112
681
981
342
897
876
672
981
30
865
673
984
371
794
221
595
209
742
217
308
620
740
358
195
56
620
675
456
469
79
562
281
381
428
79
551
792
231
499
288
61
22
103
869
602
268
589
584
697
765
718
830
84
54
226
986
621
835
162
98
787
682
77
472
384
784
112
795
462
655
490
585
744
658
509
625
790
895
584
742
233
771
183
24
526
990
807
914
755
368
770
782
695
215
443
961
108
615
767
543
790
688
748
449
688
215
49
776
852
562
301
738
11
508
81
405
560
823
515
59
535
580
478
691
844
139
847
588
943
501
81
984
147
473
820
796
788
607
267
891
890
485
410
948
383
383
64
463
478
165
673
908
974
892
42
530
330
324
967
918
476
919
219
123
369
47
697
419
418
798
528
462
912
859
494
470
482
838
332
397
482
314
266
741
595
982
111
371
447
554
667
71
176
664
826
15
166
845
355
328
787
631
777
231
169
775
82
888
524
369
366
630
768
646
494
833
864
78
309
451
926
999
103
54
458
752
170
708
66
337
250
898
544
876
149
856
704
541
595
485
175
617
281
610
23
935
887
291
690
985
226
475
547
3
797
63
756
538
182
300
920
213
531
724
192
773
75
582
215
640
675
68
23
887
432
546
394
969
588
214
352
42
243
340
720
308
23
698
790
647
639
976
161
120
572
369
234
976
962
104
480
609
136
774
278
61
587
332
360
132
223
884
873
994
531
126
404
235
552
331
269
984
133
219
966
132
773
876
202
232
499
297
930
799
214
866
562
706
138
631
255
220
502
438
120
350
912
363
153
459
776
115
502
840
294
75
374
789
811
374
780
460
275
418
124
893
853
181
669
797
581
317
199
586
707
474
971
24
564
898
16
209
855
182
168
997
261
890
804
447
512
979
826
901
388
695
657
824
617
951
7
233
408
641
512
251
730
727
156
485
51
933
342
214
955
71
468
241
213
137
765
443
405
215
775
261
69
44
158
856
163
31
942
276
80
126
664
424
786
526
66
977
426
121
968
729
23
97
304
842
716
306
147
25
217
552
268
128
15
206
614
723
910
698
702
794
714
643
725
122
438
472
632
801
143
432
705
792
727
774
409
788
255
463
127
479
777
812
650
641
194
934
835
206
987
751
769
768
468
472
440
130
311
578
678
861
809
956
449
763
604
838
72
48
416
260
390
817
626
120
205
738
43
547
275
366
564
324
480
305
708
648
748
871
834
890
421
964
335
91
942
842
322
796
238
692
253
587
637
504
86
865
205
949
612
133
299
207
239
38
447
923
138
228
260
76
445
377
989
639
747
753
294
740
611
359
49
685
878
997
32
110
140
274
46
989
71
554
504
172
801
19
833
898
753
183
763
493
558
40
254
832
691
194
10
133
40
70
299
865
326
939
575
691
844
704
515
819
226
792
46
185
527
795
665
465
760
475
353
462
199
245
759
354
623
815
841
579
869
784
90
489
346
880
62
538
104
528
984
542
363
637
243
507
426
524
481
693
607
592
635
426
750
179
529
600
817
530
117
810
795
218
106
743
182
311
701
490
421
858
740
125
888
220
848
736
844
906
627
291
244
913
767
155
164
116
347
270
649
230
724
65
351
516
864
926
961
967
69
555
146
4
382
910
791
92
536
424
929
602
827
213
704
132
795
222
334
983
329
44
122
543
130
869
730
379
860
364
444
909
694
796
116
423
478
173
498
934
950
140
592
262
455
136
385
286
3
886
360
359
876
705
647
135
497
581
872
861
677
885
607
213
846
738
173
834
442
181
89
180
554
35
132
140
670
890
940
566
182
403
439
370
3
212
504
724
351
558
177
993
488
328
807
304
321
937
585
79
819
658
972
156
528
241
15
931
639
527
363
242
823
726
629
561
577
467
317
494
506
627
426
350
93
564
11
580
427
10
949
365
255
987
425
6
491
23
85
301
879
472
156
139
798
845
843
51
762
380
462
12
851
574
991
43
149
103
371
326
819
786
198
460
571
465
614
959
682
854
524
650
480
227
301
71
96
705
168
671
235
398
295
997
674
537
110
89
898
393
503
451
252
375
306
746
247
627
411
674
767
849
923
196
372
189
1
85
127
845
357
318
15
718
238
758
937
621
434
517
459
230
40
965
472
200
296
938
866
877
616
271
697
22
933
754
552
185
639
822
976
26
383
769
536
518
339
374
398
331
24
932
634
688
488
466
668
979
694
430
178
158
204
617
437
887
442
705
687
868
233
837
981
524
627
622
809
884
154
718
724
357
996
998
432
503
164
489
155
936
29
593
230
431
92
607
226
176
846
282
814
394
255
776
991
861
549
823
568
191
579
337
750
919
866
545
648
577
9
33
191
103
949
716
278
985
7
437
829
752
74
958
622
356
300
398
104
342
136
527
973
621
803
877
105
91
132
322
4
668
925
590
782
638
593
145
821
384
991
810
211
436
9
366
652
286
333
519
994
215
682
841
323
799
9
399
21
420
102
764
187
852
398
233
299
927
79
94
9
991
641
203
301
619
988
924
732
259
930
729
163
67
292
600
738
775
279
311
103
443
718
296
716
690
93
792
791
209
718
661
227
828
234
37
409
648
206
69
463
753
477
131
323
677
968
654
714
252
248
435
701
46
367
226
667
338
807
683
235
449
517
16
961
668
559
14
598
14
175
144
738
117
316
231
928
488
379
160
104
245
553
580
254
12
841
96
15
390
17
760
966
880
343
95
604
957
850
116
658
700
969
995
44
188
329
637
800
468
439
550
970
476
439
954
914
870
797
900
624
494
869
799
709
33
596
231
476
459
690
597
517
148
376
690
839
374
761
930
44
619
867
63
812
210
785
11
267
72
193
644
407
466
588
895
197
578
279
386
9
411
942
304
188
535
422
969
936
69
228
834
724
702
809
458
984
104
995
916
217
771
385
259
838
884
561
433
116
771
25
847
268
424
234
778
237
94
562
168
166
972
999
764
566
527
267
956
11
677
999
822
646
697
381
46
77
744
164
752
287
897
118
901
996
836
787
738
43
199
399
3
567
100
378
469
893
456
143
709
905
708
184
559
149
472
47
652
215
613
91
581
506
192
535
956
650
902
407
199
414
871
477
110
401
371
11
985
179
503
861
341
412
725
790
549
858
791
309
403
819
248
718
8
956
995
899
638
575
729
811
570
304
825
571
669
693
756
771
469
313
481
673
232
17
879
708
698
249
896
376
411
913
447
224
818
228
216
615
924
388
322
525
820
692
295
98
661
734
326
381
278
857
821
79
429
29
194
658
607
920
162
155
508
258
164
509
841
471
104
782
177
768
155
373
526
398
480
394
79
564
901
935
710
21
792
885
719
387
617
835
371
922
405
146
983
796
723
577
610
816
345
586
680
417
537
763
438
800
350
202
675
915
724
58
268
380
419
886
556
81
666
930
600
162
803
107
589
272
776
237
135
289
639
615
115
553
219
956
143
648
687
548
500
421
847
340
963
195
455
957
138
745
718
551
601
917
390
81
678
256
106
818
567
347
13
648
145
87
980
207
675
2
127
628
783
583
286
834
712
488
601
388
62
664
759
988
195
714
28
422
650
629
257
632
141
834
731
853
450
951
841
841
346
575
149
147
46
378
84
549
139
331
709
894
768
270
723
829
725
995
522
1
58
231
754
716
248
115
961
690
893
184
117
68
798
214
268
68
342
90
628
634
114
580
31
863
343
486
433
895
780
621
232
117
349
520
211
691
117
155
529
55
950
2
573
375
450
149
961
548
885
172
48
679
770
821
151
0
59
187
155
405
631
248
495
880
371
27
912
806
506
61
978
912
635
397
28
584
219
160
658
450
140
10
565
387
618
266
319
797
175
633
126
395
815
915
10
689
662
811
976
289
726
941
178
348
585
252
408
698
885
329
364
150
251
325
901
964
909
556
352
811
373
110
846
454
970
356
613
402
330
273
573
258
680
746
629
593
66
625
126
585
208
798
380
487
931
360
89
740
218
187
838
765
281
576
776
384
584
120
692
723
852
198
154
718
961
108
795
544
466
594
878
622
683
94
732
284
262
20
999
165
777
101
946
282
311
272
300
9
104
623
565
83
482
412
888
59
345
390
964
446
589
131
837
992
366
310
211
144
817
693
611
177
994
797
735
862
768
155
973
613
319
95
153
992
202
954
749
281
898
92
11
295
983
63
378
926
56
381
402
302
595
447
70
566
993
712
446
527
897
126
884
491
194
727
360
642
245
147
292
737
132
166
695
398
310
982
852
83
687
714
22
952
947
335
588
35
395
678
930
528
435
491
63
829
849
536
425
428
374
8
466
592
641
390
883
402
230
628
513
604
184
115
80
430
381
282
842
496
621
156
714
770
675
107
471
907
825
97
712
245
541
611
320
474
331
393
421
844
605
335
701
569
137
828
979
951
932
662
661
284
649
882
334
635
885
488
720
136
312
372
91
532
234
304
864
698
894
99
787
356
228
756
709
59
144
251
296
706
328
281
100
875
840
989
596
663
212
964
128
292
587
841
211
633
343
337
82
582
301
539
323
523
419
527
666
719
540
703
396
548
381
36
863
899
839
437
771
899
526
214
155
384
384
406
7
520
195
440
314
143
682
782
392
930
521
264
714
168
934
243
909
82
910
304
200
467
620
248
369
522
169
774
874
158
927
566
410
195
6
744
632
102
870
526
424
63
959
938
724
97
481
876
301
808
238
713
717
50
862
703
972
816
129
283
340
139
114
625
613
873
462
161
368
783
677
104
77
777
560
603
263
631
442
117
462
352
921
830
810
554
121
433
208
915
730
193
67
901
158
906
463
979
81
110
244
281
84
247
160
358
265
222
4
651
230
499
747
437
21
494
291
685
501
575
285
397
580
52
483
905
844
958
37
324
287
572
202
660
962
442
773
928
579
31
70
787
292
234
378
914
223
416
436
107
191
838
375
843
640
554
800
101
820
534
585
285
270
169
996
169
408
396
200
364
588
476
310
832
812
807
819
478
538
839
893
733
57
398
341
377
751
705
233
723
331
675
901
831
703
644
173
692
922
744
741
142
440
49
585
400
128
326
499
556
910
828
603
912
641
151
198
487
483
229
754
139
982
335
957
346
697
418
182
57
388
764
694
774
833
823
84
687
218
640
93
594
656
122
674
162
325
599
536
518
406
111
940
36
877
889
614
755
269
339
976
327
731
380
722
670
981
88
891
738
987
573
44
287
464
721
846
358
657
729
251
66
346
138
109
699
145
598
569
278
606
80
496
299
773
653
780
734
702
318
996
472
151
534
194
657
723
755
720
115
952
42
504
148
341
836
617
723
958
510
689
66
457
894
183
732
192
989
986
363
441
206
656
311
583
448
25
952
483
294
690
716
794
322
403
638
941
508
583
33
444
892
771
172
748
966
514
644
343
135
438
609
43
233
649
396
676
190
851
845
833
452
370
775
725
367
211
906
419
975
353
206
742
787
347
327
759
678
395
84
600
297
178
663
308
115
872
177
521
987
797
516
520
826
948
291
33
109
80
335
169
649
345
123
930
899
41
123
26
276
213
389
159
659
941
427
66
282
28
46
707
314
92
738
619
220
928
391
211
838
210
331
315
55
543
337
396
997
698
275
819
258
611
627
509
18
943
509
778
232
107
674
14
845
790
872
158
50
882
495
591
77
232
187
837
560
460
916
561
438
894
582
761
36
639
674
833
495
805
728
39
232
941
207
476
206
852
508
636
496
83
538
21
947
541
286
328
568
702
105
657
461
444
510
608
315
287
620
602
4
166
131
594
353
388
374
639
539
672
190
864
548
888
790
657
43
342
50
318
381
397
743
681
839
513
889
530
429
780
67
358
88
565
783
224
457
437
87
855
27
729
394
352
108
585
313
144
867
511
727
357
147
543
837
305
152
739
880
954
97
673
181
12
459
248
20
213
416
848
106
543
882
920
101
640
351
9
615
563
575
535
396
347
157
679
262
994
799
484
7
487
750
808
465
252
308
362
242
160
793
394
763
287
669
460
968
55
910
272
70
21
110
725
302
918
900
223
358
884
576
604
259
665
295
740
551
147
755
253
489
771
452
277
295
796
722
7
875
149
418
31
602
286
815
826
716
354
44
408
141
765
782
793
812
214
349
294
389
253
466
764
862
754
653
448
421
294
511
367
397
539
280
883
757
91
147
751
749
753
473
968
261
593
567
598
355
739
972
273
320
493
839
398
805
956
468
428
24
183
7
717
488
786
102
651
360
73
922
890
727
424
283
611
647
71
729
337
635
953
31
910
43
245
443
313
853
835
396
297
748
626
438
808
762
339
918
720
944
597
882
116
46
30
778
845
477
24
906
506
365
498
121
669
251
410
58
155
194
644
298
259
343
561
913
283
141
297
118
378
608
690
854
81
342
698
457
285
476
111
242
49
160
315
428
37
747
66
742
697
335
122
280
18
519
553
329
3
567
592
336
0
221
150
11
168
212
955
676
774
405
279
553
3
178
403
591
389
316
997
492
306
428
897
315
777
215
591
779
353
588
208
427
107
322
447
530
310
824
63
577
14
137
171
36
552
373
998
387
76
530
167
622
209
194
843
533
876
332
929
604
752
148
441
629
61
583
792
344
660
489
332
661
931
713
658
938
67
271
942
258
464
144
112
485
352
85
92
128
974
279
46
697
129
675
404
755
880
178
468
185
705
899
292
38
322
131
870
176
140
900
59
361
122
626
146
526
923
49
556
573
663
764
832
530
389
315
574
347
62
556
760
126
426
907
204
480
981
746
272
778
289
730
294
586
465
470
195
618
196
538
235
940
227
326
446
111
347
116
35
424
624
504
253
351
50
163
706
36
357
931
259
974
15
644
503
781
175
504
922
728
900
706
577
817
859
314
255
146
114
447
26
851
527
612
82
117
628
676
180
709
709
825
24
436
18
649
472
472
224
606
644
820
417
857
455
921
750
16
846
786
939
846
740
668
226
819
841
90
654
98
946
549
947
530
901
313
777
678
617
360
716
246
68
333
297
830
880
713
946
103
470
808
787
632
516
746
494
761
755
804
55
728
896
576
601
950
18
251
204
161
608
3
246
605
541
856
902
738
472
273
569
404
472
242
103
469
52
551
313
715
791
120
753
67
34
443
692
805
778
469
250
908
818
593
995
717
789
422
11
431
477
508
358
684
213
99
664
122
402
659
814
910
687
308
475
381
329
136
619
600
728
24
892
159
306
955
351
524
830
24
418
389
677
246
79
120
802
360
790
68
309
963
160
772
873
483
771
931
470
760
746
603
306
544
977
42
179
264
781
108
523
599
709
287
88
287
650
233
789
479
453
514
549
173
639
508
557
189
647
883
695
651
786
186
737
940
496
231
80
800
540
251
270
356
513
149
990
713
672
794
374
156
257
832
912
338
925
794
716
113
126
414
761
841
356
837
893
241
709
721
296
511
958
673
199
968
148
637
970
0
754
111
508
12
772
867
761
642
340
820
979
487
96
252
453
528
916
650
293
792
962
333
690
331
430
594
500
476
582
742
357
985
804
667
574
982
249
457
147
386
803
50
57
546
561
403
510
514
243
211
405
25
814
527
755
5
830
219
12
481
531
32
445
280
717
86
135
155
799
191
334
754
718
501
850
228
430
805
514
689
101
992
724
661
593
804
551
372
438
783
184
602
37
801
437
869
786
105
399
471
970
584
787
889
745
147
702
463
399
551
614
486
780
111
877
0
689
574
318
563
575
733
686
176
201
317
423
256
234
843
468
530
110
105
323
1
236
463
447
794
487
542
608
483
269
598
846
167
665
152
506
260
793
51
145
252
451
995
22
115
80
826
855
554
85
572
686
439
92
478
599
810
605
36
108
658
676
688
132
309
875
85
483
457
995
418
241
134
902
941
292
935
908
523
791
985
205
32
745
985
627
516
295
828
192
155
333
924
959
719
26
602
815
250
941
939
261
99
797
696
30
546
34
8
501
531
676
441
387
74
933
204
924
320
865
501
42
972
775
145
194
938
896
577
696
379
707
153
84
713
634
541
172
79
923
419
45
899
250
183
796
178
662
736
330
392
480
486
830
491
24
94
98
687
223
170
303
877
243
776
622
741
308
821
851
516
753
351
962
810
9
152
40
885
428
817
565
613
923
701
712
340
750
494
619
626
532
82
716
364
227
730
238
64
133
451
679
767
160
429
427
396
142
189
220
29
29
662
730
778
259
921
446
121
669
504
995
308
212
936
527
104
808
877
578
740
924
545
153
962
386
664
548
342
780
77
849
708
141
803
519
577
543
153
256
377
256
75
271
337
684
980
796
762
413
194
307
165
650
133
47
554
327
475
462
565
57
33
562
475
792
828
225
289
803
145
148
709
20
227
883
137
893
396
140
196
869
704
98
286
867
346
524
490
557
919
582
4
424
462
325
211
834
974
8
265
366
989
845
664
845
16
456
567
215
917
834
676
598
238
400
756
408
839
827
98
670
610
955
557
600
157
538
840
403
860
846
170
183
416
717
496
283
12
62
389
155
518
830
508
985
344
88
217
707
797
902
860
359
66
978
123
498
290
218
858
625
546
611
421
876
805
933
988
577
862
537
556
121
337
747
387
183
327
613
98
630
438
910
555
722
316
728
482
578
553
957
10
331
739
891
125
959
176
106
293
670
279
130
167
788
544
802
303
627
870
500
66
545
731
271
617
356
932
353
420
614
357
193
897
882
930
754
255
955
243
376
14
303
36
122
221
104
125
257
285
473
348
606
453
865
813
75
948
68
987
673
764
914
583
705
960
829
575
763
2
741
603
735
579
252
532
619
128
321
156
55
280
845
816
785
162
521
38
401
228
823
910
540
157
854
595
1
715
299
965
348
43
105
992
950
120
874
863
704
47
828
783
141
344
222
265
259
200
529
682
9
824
83
583
462
121
781
529
41
288
534
170
265
158
834
806
934
170
587
974
564
287
997
51
986
957
588
792
148
543
744
250
210
816
178
518
905
868
961
49
917
195
152
761
717
638
171
787
391
252
529
55
681
73
479
311
321
238
400
810
375
443
870
260
21
882
106
154
435
969
978
322
687
882
705
908
91
363
657
193
308
683
295
599
293
992
166
894
413
629
171
612
878
298
845
671
797
350
971
231
954
747
223
372
392
149
98
71
564
472
191
481
466
732
98
717
908
365
847
496
764
498
107
907
198
486
197
48
347
295
72
165
13
64
73
689
895
350
163
852
279
312
895
843
776
129
527
762
301
823
214
489
286
771
608
267
143
71
317
91
992
271
125
120
215
117
277
36
494
341
763
63
695
285
611
658
437
549
453
119
639
860
108
971
497
15
40
595
58
689
582
66
67
490
360
951
780
782
604
114
773
354
581
415
411
462
784
525
122
393
308
136
371
256
249
74
243
276
505
688
182
430
975
306
462
32
468
723
789
384
238
470
684
290
184
787
654
498
73
24
770
98
140
967
200
928
157
536
91
951
405
15
553
41
600
363
213
585
795
536
932
500
52
464
939
673
768
241
188
237
961
858
845
47
553
914
507
28
872
479
576
718
721
97
821
957
469
569
37
616
630
460
613
482
61
903
165
178
376
960
651
988
793
873
757
933
882
545
144
705
14
293
119
725
972
912
109
138
466
956
482
488
963
930
774
650
51
275
611
570
297
620
667
923
838
90
132
323
556
627
20
504
648
619
913
451
563
426
923
898
697
945
280
881
175
510
729
160
548
727
248
526
655
996
571
119
70
975
937
161
737
232
928
607
137
261
334
353
457
951
349
295
153
867
583
267
525
954
805
106
786
633
412
77
720
416
763
344
346
638
242
647
120
395
334
428
868
972
352
478
770
171
78
592
723
260
24
883
339
655
572
689
908
100
63
976
624
121
261
195
879
484
977
128
996
123
745
565
794
582
349
240
706
439
37
307
498
718
43
16
733
939
428
757
945
118
883
859
627
565
644
136
571
614
916
271
129
403
356
155
272
700
281
699
729
843
254
409
709
518
269
369
755
413
640
501
209
769
487
758
757
381
297
906
341
669
518
805
799
480
538
471
769
53
919
231
855
847
181
744
91
959
518
193
503
54
648
326
511
816
660
360
636
699
543
468
674
221
703
313
513
923
741
873
159
412
882
722
992
896
489
291
431
469
168
111
957
195
783
474
904
907
68
313
56
272
992
784
752
245
626
698
401
789
445
84
831
374
248
112
581
169
989
258
494
136
202
627
899
674
750
363
518
692
448
11
447
23
684
517
867
409
220
385
854
891
894
874
610
51
430
896
688
45
429
661
579
619
656
190
215
480
755
517
305
545
716
593
509
583
138
681
565
752
787
92
293
281
832
589
181
902
831
481
597
280
800
565
122
805
868
376
345
74
434
814
224
45
841
848
818
4
390
941
807
269
785
699
914
529
464
908
263
637
200
423
783
673
819
935
91
788
29
927
907
119
813
709
651
633
406
468
665
419
237
122
736
85
522
751
47
733
932
2
618
742
574
818
684
314
747
780
380
375
538
10
903
970
996
995
573
891
639
358
532
610
311
692
522
784
845
539
625
356
957
444
468
453
993
522
238
381
944
527
304
263
859
99
567
250
460
786
581
58
655
446
926
121
21
590
401
669
864
514
881
531
313
251
623
651
504
317
760
27
881
67
714
275
777
267
174
721
899
543
5
155
206
987
394
182
305
596
401
46
695
144
251
116
418
782
169
933
894
524
460
926
163
750
420
999
709
183
179
578
403
182
203
763
247
125
821
263
906
213
286
832
806
847
245
857
102
514
103
91
205
29
945
637
912
190
805
421
735
399
358
291
75
612
7
349
831
292
340
230
137
800
367
211
127
121
182
143
705
956
619
630
66
761
408
538
714
853
210
906
550
832
899
164
357
628
198
477
560
408
131
641
634
769
767
411
579
597
335
988
494
993
957
314
960
673
452
43
989
478
576
100
125
847
716
363
191
956
203
243
312
508
378
859
896
423
779
63
258
309
592
723
261
542
405
148
554
902
368
619
461
197
169
534
762
8
561
565
862
715
940
888
591
592
844
588
224
794
245
478
623
354
963
995
823
653
690
130
937
11
882
670
212
498
333
206
560
508
698
42
419
491
770
110
477
593
495
521
999
518
24
665
735
553
365
785
416
364
732
48
997
638
860
986
985
197
148
799
692
702
934
138
22
521
540
264
481
461
982
70
439
163
264
514
229
57
408
236
297
450
277
995
575
178
317
622
499
835
471
534
115
819
297
496
800
290
224
912
265
965
76
826
384
71
766
309
711
533
915
661
744
310
342
391
139
968
815
638
134
337
114
733
64
436
509
160
363
135
454
96
645
603
930
786
544
433
589
463
194
121
882
694
937
240
461
503
378
829
296
338
173
62
916
597
888
962
530
581
23
56
872
177
134
989
621
756
62
564
57
481
597
209
85
308
949
900
19
104
32
343
471
85
325
508
815
979
667
920
453
706
783
958
89
833
316
170
534
708
410
631
416
677
118
485
836
763
301
401
544
687
944
793
87
490
117
813
495
328
651
821
277
934
94
70
753
199
807
817
664
843
430
961
326
349
224
3
786
850
705
69
405
311
666
375
200
316
716
181
101
398
559
258
7
914
390
766
586
809
434
365
290
187
581
12
818
823
993
372
174
972
281
258
779
142
634
165
698
265
706
948
220
139
103
333
113
588
142
135
747
313
599
876
574
515
358
573
577
915
79
603
738
13
404
371
705
658
129
314
489
169
860
377
292
338
487
998
191
821
326
443
884
854
190
212
688
900
851
611
492
675
303
404
252
719
89
485
662
373
340
489
461
429
715
230
437
972
546
243
426
167
916
237
248
836
106
641
62
707
589
286
515
356
950
457
866
452
196
422
591
941
573
630
499
276
850
47
977
826
605
534
697
751
663
252
587
445
424
493
189
826
374
828
143
415
222
359
326
59
537
111
471
963
806
508
790
779
162
744
907
873
364
129
918
789
921
485
79
322
971
93
986
496
502
242
467
860
954
748
888
10
686
531
48
111
703
72
149
217
757
253
778
13
545
635
113
463
965
996
50
760
923
137
283
990
4
361
579
714
381
699
851
231
271
865
974
966
502
770
522
110
49
759
804
416
89
639
70
555
115
63
102
313
375
593
319
10
973
634
354
833
757
630
613
243
839
49
149
579
144
895
11
420
400
88
229
645
546
911
329
597
887
408
45
749
833
263
793
566
22
791
586
119
739
132
160
436
90
548
116
799
927
795
670
980
102
293
607
479
267
95
531
310
666
74
849
453
454
555
335
168
938
290
280
15
552
817
220
178
950
636
940
663
952
369
197
380
114
78
84
490
206
372
40
137
124
82
37
12
182
322
463
440
33
762
968
691
693
89
803
357
158
315
387
460
36
281
98
114
487
311
480
996
901
851
452
528
245
82
703
409
971
695
97
459
639
377
352
847
769
432
894
776
831
69
766
431
496
378
998
465
134
556
591
813
530
202
274
757
5
753
572
893
180
286
483
995
345
837
885
54
828
754
601
302
498
174
719
346
276
615
22
851
676
556
9
902
776
332
417
683
877
334
565
549
977
824
51
91
191
691
739
842
840
101
592
849
395
60
808
149
134
200
966
862
101
621
546
751
29
815
639
724
922
989
168
214
524
945
891
715
296
896
745
144
137
540
864
971
458
247
933
423
59
688
608
913
70
454
914
834
799
654
288
775
900
207
671
267
464
496
754
534
950
504
190
570
883
678
573
846
29
335
178
267
422
519
532
583
544
822
440
549
898
930
873
267
839
693
438
59
701
605
134
962
586
606
922
853
751
472
687
495
900
429
443
812
106
697
214
383
463
268
628
196
859
152
241
37
141
934
884
345
541
276
474
530
761
757
71
510
109
438
227
520
956
813
638
195
419
206
253
400
414
357
978
475
908
426
717
574
637
469
768
163
902
462
548
139
498
840
146
902
335
873
778
178
847
754
402
286
248
383
677
670
463
358
66
697
498
216
805
471
231
864
976
904
569
549
495
202
318
681
174
492
924
220
453
730
312
262
228
420
121
194
148
945
412
922
827
583
171
162
217
112
895
612
115
974
896
381
241
174
688
100
714
367
409
666
791
477
765
602
408
753
550
638
871
539
195
949
532
672
971
669
445
926
11
196
782
237
693
621
828
707
943
394
853
20
948
297
648
467
485
286
411
213
15
928
183
239
271
347
686
911
390
175
963
962
531
249
430
297
555
199
608
47
444
251
422
34
72
536
767
21
663
218
54
715
218
403
912
282
434
51
830
585
150
614
921
888
950
865
912
374
787
762
838
109
754
672
953
853
827
329
574
938
79
688
814
661
220
189
939
958
339
684
606
809
795
981
366
155
925
863
246
910
388
316
882
645
725
950
977
567
729
809
678
263
333
251
381
907
98
681
91
729
723
117
692
966
303
161
213
260
657
942
511
894
857
475
807
882
778
987
700
999
674
257
80
937
754
152
78
350
174
879
469
102
929
985
900
944
717
104
827
568
107
433
741
120
114
633
87
755
707
252
333
612
108
562
514
147
141
478
574
502
323
315
624
184
713
305
943
310
291
97
697
983
28
809
44
188
850
939
747
781
787
782
819
414
759
417
953
997
120
459
602
117
18
232
967
152
138
942
461
472
35
869
308
250
235
74
469
907
644
515
537
831
537
214
429
412
694
940
164
707
447
590
482
140
465
949
350
161
726
787
4
416
271
534
367
983
965
240
484
871
493
900
953
909
763
468
208
876
35
482
229
255
719
840
782
538
482
53
694
152
868
655
477
23
14
350
988
228
801
115
197
912
71
733
969
86
821
875
580
610
652
78
518
516
48
241
983
668
344
314
6
672
71
230
29
511
667
516
939
511
662
646
9
885
622
161
375
226
434
556
390
617
572
747
77
923
957
625
902
595
126
675
579
731
775
412
146
420
605
828
491
987
583
662
752
348
248
840
831
227
8
683
592
820
254
617
102
849
523
65
187
517
471
722
747
168
768
770
855
945
796
330
673
184
755
126
756
850
18
813
972
253
703
542
763
564
734
921
510
403
600
384
93
796
457
57
225
535
18
894
510
4
758
791
829
764
891
229
191
679
142
59
435
90
362
570
720
192
574
361
86
363
38
185
120
741
423
418
827
98
477
841
795
526
902
475
131
310
71
569
413
309
338
349
507
443
685
331
824
265
977
3
799
614
845
496
106
242
822
305
865
713
697
207
827
853
878
220
407
783
404
259
735
461
267
749
795
303
920
142
714
730
936
812
184
223
544
491
571
152
962
316
443
485
336
918
732
587
536
738
771
31
356
819
256
949
960
394
719
611
657
693
140
132
81
313
12
442
726
45
493
25
324
603
257
811
888
137
514
441
416
813
689
578
801
659
539
70
913
552
548
44
946
162
813
418
180
397
192
957
311
995
516
768
414
276
799
425
487
630
908
631
603
632
219
720
218
483
907
141
351
265
58
701
19
947
758
696
157
510
16
748
627
577
153
937
670
547
866
787
894
609
124
388
387
648
144
715
245
907
72
384
48
428
721
606
488
60
534
760
339
161
398
588
351
306
108
263
364
850
219
123
80
98
620
566
141
529
846
823
633
417
681
101
948
777
216
33
174
202
319
773
681
424
735
606
82
98
485
799
501
383
296
750
672
144
612
790
218
607
722
686
379
238
519
113
679
497
722
882
484
915
168
571
168
617
147
323
512
562
959
393
117
368
543
856
947
270
509
931
488
793
562
88
240
37
439
352
11
502
667
42
814
944
21
448
138
162
305
205
459
191
700
240
121
781
874
721
81
692
957
821
530
190
220
75
291
873
824
246
780
608
869
829
243
676
593
996
315
879
378
664
251
763
35
955
542
147
211
150
483
578
50
460
161
196
632
707
366
749
451
392
126
895
492
985
147
57
202
364
271
80
645
761
998
109
184
365
620
926
511
411
6
817
785
458
538
421
801
189
327
277
630
857
996
60
22
293
126
657
257
166
774
825
942
940
304
896
206
872
102
134
436
294
809
914
738
136
909
311
102
329
404
369
275
374
667
311
837
454
736
732
509
600
41
922
467
348
663
174
57
999
526
507
680
483
364
645
458
112
305
105
686
22
909
496
718
984
604
8
84
495
424
673
830
849
619
596
581
794
46
88
221
746
369
62
809
591
180
130
726
82
232
172
691
971
83
995
937
667
288
92
135
739
778
582
195
301
418
476
169
260
183
132
92
417
656
365
800
409
184
714
759
706
671
947
779
4
860
765
733
44
691
228
655
371
3
350
218
900
165
95
589
727
392
706
348
437
121
997
551
843
143
429
328
453
300
465
177
554
139
865
339
795
896
348
719
742
857
619
99
435
364
714
330
65
408
636
853
577
235
329
410
596
824
866
202
376
136
820
363
603
183
809
908
118
668
423
232
342
408
371
531
639
102
513
591
319
545
232
327
229
388
960
336
729
383
372
390
742
306
564
538
980
867
254
117
586
279
357
890
49
246
200
411
521
681
949
217
940
411
558
36
210
278
79
375
706
819
696
157
220
149
21
183
706
799
50
769
536
314
620
809
186
114
797
88
425
917
306
152
693
123
192
52
646
830
894
306
723
850
302
73
208
747
37
855
118
524
426
333
915
348
852
556
93
630
959
341
650
611
143
948
350
953
481
693
517
582
579
544
518
884
105
49
39
928
733
969
251
918
20
751
219
382
121
842
732
794
70
342
833
466
610
958
168
38
138
96
269
540
391
633
454
138
139
901
978
269
159
806
804
189
553
975
903
776
778
457
532
896
211
911
50
289
292
356
81
190
448
303
986
916
627
467
65
800
836
63
450
889
794
658
936
941
521
752
528
826
304
59
68
825
813
248
428
461
876
813
521
19
299
233
361
531
110
529
757
488
807
277
181
430
837
751
471
342
620
409
513
998
804
869
7
157
460
849
150
81
267
655
240
333
194
163
833
235
742
955
344
620
300
727
951
396
600
510
445
188
592
772
6
963
889
567
852
501
938
682
527
414
529
909
129
267
176
206
510
687
307
734
932
187
355
210
226
430
344
259
459
564
615
760
620
462
49
116
74
444
933
842
528
772
597
995
194
612
991
651
237
427
995
416
490
905
406
405
628
539
789
111
300
367
233
690
386
617
379
84
811
831
359
589
99
504
637
345
405
194
453
366
408
280
106
951
680
759
43
23
626
392
624
986
131
399
644
239
119
996
106
591
695
269
957
920
646
815
911
213
442
410
399
93
913
660
871
936
961
785
91
813
585
771
331
162
66
131
613
597
93
721
552
770
617
559
374
721
649
706
11
216
4
155
241
595
998
887
8
739
464
970
349
290
488
549
723
580
152
328
880
981
8
385
761
801
248
228
916
643
770
197
836
406
725
34
732
180
108
960
665
85
543
962
350
825
326
221
296
467
417
797
488
631
250
674
324
346
431
806
427
563
230
773
659
343
905
829
582
507
634
753
375
211
190
131
476
719
247
401
52
726
174
570
491
5
558
892
721
508
821
106
436
555
948
522
973
28
767
859
959
107
496
307
0
688
63
352
668
415
137
448
837
883
178
391
921
492
331
866
169
416
226
828
53
221
853
971
681
431
946
762
744
296
129
805
688
860
469
62
767
119
322
815
354
550
416
55
785
275
2
721
295
923
221
945
908
544
671
739
286
422
166
484
374
26
728
666
31
271
566
487
694
291
980
416
852
0
242
577
212
877
595
171
401
655
34
221
682
799
774
215
399
653
301
209
865
669
962
67
504
831
621
280
900
917
986
503
804
262
553
597
346
799
658
524
504
257
509
612
566
625
204
347
49
578
654
373
625
661
541
50
682
224
658
26
635
270
681
482
377
684
988
983
505
231
990
307
603
921
244
96
571
91
37
57
501
256
539
165
427
106
247
60
154
53
124
96
612
791
639
334
178
943
538
688
871
70
714
680
986
352
703
432
549
706
431
610
45
586
875
839
687
262
459
467
210
161
392
158
292
648
816
681
898
64
557
461
139
258
536
8
56
415
703
271
292
702
428
301
87
627
118
675
219
966
269
851
979
499
381
171
672
474
170
660
701
495
588
170
596
650
868
212
497
818
124
326
923
876
316
958
423
710
892
614
604
383
728
23
121
694
159
432
781
773
21
416
472
339
107
950
156
269
766
393
863
360
692
559
971
67
508
655
191
951
754
244
294
687
513
835
595
784
660
24
88
594
15
379
512
133
767
917
215
838
714
971
355
585
941
162
905
794
535
474
403
808
911
434
980
325
653
997
109
342
167
520
3
962
520
154
893
115
700
786
26
194
545
327
785
326
861
312
185
139
86
39
384
656
490
972
133
276
658
373
502
324
83
601
741
234
333
935
938
589
40
22
824
992
385
47
209
281
21
972
85
666
365
739
614
370
171
364
459
717
828
349
572
996
745
380
395
962
38
824
148
149
108
790
702
325
302
733
757
930
304
414
447
377
450
629
436
373
189
634
820
103
399
663
799
125
834
646
23
218
344
49
832
609
168
989
283
6
571
728
950
28
170
880
459
994
2
530
305
239
567
513
768
118
921
398
870
580
100
808
644
446
254
912
555
897
126
651
543
532
535
485
63
678
799
653
919
398
806
302
234
327
925
678
493
555
420
756
996
221
144
76
429
27
489
606
917
944
246
364
949
292
675
588
291
261
942
992
331
372
369
235
441
384
669
749
621
795
761
980
247
351
516
191
819
224
793
934
831
171
520
17
874
412
720
685
762
732
32
137
814
927
263
205
682
120
913
9
69
367
503
744
335
528
959
223
902
600
160
8
162
749
931
538
739
719
895
673
364
369
127
674
461
199
648
691
548
870
634
892
28
912
381
940
643
774
257
697
336
546
545
419
745
460
392
419
785
922
595
556
133
11
775
599
143
351
943
5
555
682
198
170
344
748
363
648
287
477
801
501
149
263
797
922
2
829
202
387
698
321
389
56
571
187
928
946
391
300
593
410
332
600
293
454
17
898
697
394
411
806
757
515
748
741
191
838
535
993
801
405
694
776
333
314
236
766
52
60
684
814
550
769
206
497
829
352
76
687
666
537
875
764
967
110
968
709
386
207
715
431
613
260
991
643
475
599
153
669
991
329
227
339
755
148
960
579
722
529
917
329
129
939
584
716
356
190
355
136
737
960
185
675
9
218
754
989
257
312
671
357
456
74
887
436
253
999
848
818
916
980
888
934
422
890
274
170
170
415
299
837
434
498
147
109
616
566
810
423
930
375
749
192
27
682
361
291
411
38
187
45
19
151
560
864
67
706
563
509
737
507
705
119
503
966
525
677
870
155
564
892
584
766
148
9
876
202
143
981
324
948
538
871
270
507
893
259
599
710
94
26
148
34
766
504
458
77
29
87
932
205
376
998
757
644
351
512
130
234
177
259
889
566
408
563
643
292
664
93
672
565
201
106
490
310
94
796
87
739
293
654
498
687
912
613
823
1
281
615
173
976
844
616
707
80
98
605
574
492
805
677
223
79
796
946
959
851
883
627
443
735
330
610
642
610
320
791
351
813
87
451
845
426
521
44
929
8
351
385
614
490
259
63
745
902
257
534
79
858
654
491
82
399
682
776
615
327
343
406
459
243
784
971
494
349
104
950
332
642
919
343
904
581
780
955
730
943
170
174
266
512
413
932
278
808
180
58
690
423
285
605
31
108
254
462
688
20
160
682
89
859
263
761
393
313
459
784
418
440
48
276
705
304
783
311
379
895
963
537
430
986
233
440
732
504
289
316
128
124
294
474
810
895
974
395
344
970
87
463
923
716
314
41
996
202
396
20
982
821
128
343
986
329
321
882
911
449
827
344
837
829
920
868
885
538
257
326
39
155
727
439
504
778
797
307
330
932
765
540
678
380
425
191
148
335
994
358
511
853
784
356
192
410
41
651
72
267
628
707
331
183
696
860
976
865
810
630
988
950
10
6
507
238
17
191
699
79
211
545
56
158
391
558
435
241
340
175
267
757
392
940
171
713
976
959
241
746
811
431
401
832
63
480
80
70
234
186
125
293
842
886
575
365
311
419
635
174
93
381
488
713
291
704
914
706
131
73
399
945
742
281
499
430
362
959
663
222
195
725
958
79
781
126
736
42
500
430
751
145
733
589
494
483
651
617
161
171
287
907
725
826
738
538
882
192
111
626
311
833
371
379
428
37
813
170
914
859
648
978
420
598
719
275
142
724
575
638
930
478
979
439
465
268
405
551
27
592
829
583
454
434
914
270
943
104
764
434
963
160
683
402
54
156
159
417
210
182
436
928
290
527
270
368
312
444
740
339
648
590
654
738
537
566
934
294
59
168
585
193
374
558
974
911
191
542
614
941
841
666
338
954
179
189
848
35
98
474
412
236
585
921
938
880
481
544
454
793
718
685
539
157
858
71
989
945
689
977
157
225
195
58
922
330
966
626
913
101
818
852
436
984
195
73
905
109
194
479
993
944
128
654
523
10
572
451
56
613
46
803
705
635
292
706
993
43
426
526
360
865
317
520
95
460
270
378
258
889
929
181
159
841
443
966
822
494
813
566
71
434
995
882
658
110
782
908
354
786
83
306
633
270
912
86
888
689
34
493
777
915
601
31
762
539
439
574
316
228
320
98
189
769
120
928
479
532
86
910
621
257
876
850
848
355
784
397
944
942
378
727
58
666
193
945
579
360
704
786
606
74
522
875
602
166
988
751
66
170
205
821
411
564
604
644
367
967
857
457
805
543
199
766
135
117
386
528
603
493
759
91
789
281
901
180
460
711
125
500
255
744
283
242
175
186
24
340
740
41
409
698
536
750
706
914
538
450
22
126
165
932
105
394
868
235
260
790
600
586
727
694
549
409
815
79
682
177
672
798
432
907
748
649
699
84
755
881
871
537
594
560
435
450
82
542
634
671
928
118
979
126
897
829
629
684
89
143
501
543
664
94
133
394
966
77
330
917
274
118
977
127
986
956
113
343
581
663
114
205
117
245
203
902
970
534
721
652
584
304
932
851
502
643
679
341
512
164
954
115
618
873
541
103
858
573
303
812
626
187
435
423
382
497
912
314
759
851
343
632
884
584
521
780
584
479
66
363
449
290
636
491
739
507
250
210
836
774
907
84
522
741
675
390
881
358
977
199
227
690
781
994
779
331
225
583
83
373
615
117
140
112
557
54
798
961
396
296
846
894
820
131
973
97
990
911
260
4
950
496
889
235
977
299
928
641
521
44
544
181
108
342
349
508
181
997
719
109
230
266
465
696
735
528
447
37
269
385
283
604
195
249
484
16
859
202
217
987
26
381
530
388
591
175
82
654
939
475
539
817
416
412
542
94
30
760
144
973
104
679
180
146
726
618
805
303
487
10
522
916
652
302
737
463
273
844
762
591
48
163
971
462
411
105
900
69
15
385
752
958
643
803
501
238
916
672
967
254
776
350
810
269
779
195
858
935
452
300
982
644
637
193
757
164
9
357
595
965
638
490
667
94
349
757
761
731
597
113
845
969
166
63
298
675
474
474
290
864
959
476
645
45
858
871
224
565
131
118
549
591
296
470
702
252
367
437
352
356
336
378
941
51
865
930
204
972
193
853
334
664
850
223
634
488
594
661
540
414
664
736
603
193
800
622
689
825
202
351
950
931
294
271
28
710
487
782
491
403
112
424
209
114
7
365
729
632
27
584
215
636
16
305
267
267
418
248
263
190
123
27
739
964
69
879
833
618
239
632
258
926
533
136
395
794
991
772
214
987
548
348
797
724
782
30
972
4
494
210
574
810
424
727
80
152
334
159
475
618
553
476
113
760
481
785
330
868
721
949
667
663
344
695
168
586
719
20
860
124
236
831
414
610
248
598
60
890
747
396
943
89
821
882
252
649
744
485
278
745
110
907
816
865
489
655
686
85
27
690
605
399
673
82
915
196
553
243
616
378
925
280
651
836
536
893
151
634
728
256
222
944
779
49
212
395
553
691
685
454
594
48
947
321
961
392
29
470
330
866
210
963
211
356
682
595
719
543
171
123
13
180
819
29
954
666
398
860
255
371
65
686
883
392
638
589
663
751
210
616
551
723
670
560
698
882
806
353
294
128
852
606
794
23
696
499
970
485
883
20
140
563
366
217
933
432
594
244
705
633
151
751
790
467
932
284
396
927
701
628
774
207
662
791
299
254
376
733
728
189
968
946
17
390
426
256
290
33
527
87
34
79
188
253
890
557
325
878
850
516
415
226
389
9
689
191
372
555
315
622
507
711
48
618
492
924
187
369
949
359
663
689
360
970
517
502
674
756
459
339
582
511
287
397
998
408
693
781
402
924
342
673
276
981
521
199
391
251
553
267
627
141
447
804
229
62
957
343
49
567
789
205
82
646
130
706
51
457
914
746
227
409
891
509
524
879
248
651
586
698
154
694
737
420
991
599
207
798
321
308
759
92
412
77
431
969
155
637
931
91
169
67
241
330
339
88
575
856
488
258
24
781
79
695
834
424
928
439
217
133
234
32
225
316
125
305
673
932
20
912
913
56
725
796
20
581
90
652
105
269
900
426
34
347
483
254
589
117
389
323
774
114
375
662
652
215
686
412
946
814
859
294
552
821
330
211
433
425
162
317
858
565
229
450
995
22
791
296
224
748
115
202
452
205
114
572
907
229
374
957
735
339
223
682
478
302
73
965
5
561
149
684
634
217
738
107
686
828
53
270
995
226
483
164
266
463
397
536
660
555
28
129
181
116
539
872
538
595
675
994
646
397
377
675
975
652
333
685
904
826
59
625
201
276
509
487
614
915
624
355
762
121
124
251
723
56
476
930
176
464
522
447
701
538
914
157
627
602
350
808
167
281
723
329
872
531
779
198
686
212
391
267
871
299
405
753
839
719
275
945
859
344
749
600
330
304
125
701
99
350
249
834
797
681
425
66
344
913
597
777
926
49
431
419
796
951
135
774
853
579
627
206
623
21
89
880
244
285
248
772
431
761
781
398
641
650
897
606
933
67
106
714
616
449
53
482
104
358
619
695
718
478
872
428
602
665
856
755
536
195
242
164
901
855
682
600
571
381
96
439
204
789
927
240
610
570
279
84
53
559
413
685
893
453
449
593
470
833
794
532
867
648
823
392
840
896
500
593
423
267
14
915
541
661
137
138
581
588
428
832
748
12
565
951
961
891
975
962
639
333
179
899
622
347
636
762
998
167
593
53
230
247
511
212
296
223
644
963
218
348
698
657
100
119
501
784
569
587
456
737
641
118
174
902
967
788
25
523
6
733
542
362
535
991
207
725
783
405
627
534
646
712
316
841
838
304
603
627
769
399
756
994
298
261
5
167
687
822
246
905
847
436
63
161
278
365
675
439
916
930
103
600
713
231
981
195
734
345
823
690
204
289
663
997
535
865
102
222
689
255
112
227
118
528
464
26
349
849
303
444
853
600
290
297
359
963
754
641
997
448
898
177
689
901
197
605
270
598
658
934
725
644
846
961
958
711
853
143
791
732
972
13
939
617
435
712
278
117
982
791
427
846
55
584
366
15
767
222
683
372
899
122
549
459
366
430
44
56
850
827
6
867
49
284
892
208
264
952
557
155
440
679
442
660
8
79
556
127
971
504
45
698
421
257
57
484
477
22
434
319
958
234
52
52
46
83
414
446
236
884
521
138
439
596
106
555
895
730
999
189
592
17
34
9
837
779
256
724
804
552
394
348
642
659
385
744
272
991
840
819
626
201
244
799
765
510
140
977
58
260
462
239
595
210
373
415
58
256
582
493
956
190
170
282
296
266
62
839
102
89
185
170
828
593
61
479
134
218
162
105
214
448
966
468
509
126
360
156
508
877
520
142
928
180
418
92
42
219
655
463
367
727
211
763
75
514
579
194
309
354
597
189
866
577
492
798
810
448
972
163
82
182
239
940
942
461
197
448
526
127
110
38
300
262
194
927
487
850
686
973
38
485
28
582
850
380
360
625
530
271
24
453
454
323
842
735
279
190
450
258
537
296
587
707
298
556
65
742
998
509
240
52
218
967
294
894
513
451
442
927
359
528
180
129
58
304
627
403
270
162
26
874
824
839
76
909
348
900
276
737
444
898
738
854
209
339
438
118
212
700
723
350
164
115
29
933
776
848
606
681
401
317
637
131
129
905
696
873
812
328
970
61
20
91
60
539
925
334
653
152
999
260
117
64
57
987
96
945
581
314
85
269
852
547
807
400
966
763
169
951
586
339
988
904
889
971
342
339
490
388
67
853
14
577
894
523
308
13
927
458
489
721
892
355
923
331
579
150
344
593
361
387
370
564
292
330
246
878
276
458
416
429
807
853
418
547
668
854
813
295
11
791
658
322
387
603
134
482
1
641
531
623
996
643
95
465
70
655
214
191
277
845
2
800
893
327
93
259
483
749
490
980
5
192
137
604
684
92
12
366
883
6
234
123
578
799
626
193
367
17
207
408
741
583
99
142
983
563
745
952
405
61
346
560
858
835
577
754
971
687
819
488
812
56
709
892
232
490
861
345
351
846
801
734
573
884
887
649
154
238
390
327
921
471
951
455
136
251
168
109
566
515
38
93
678
721
938
514
92
203
223
23
422
125
511
597
267
120
867
944
832
906
180
735
860
75
568
40
347
845
22
636
318
676
576
945
297
805
203
149
725
672
835
119
211
986
369
791
374
608
417
54
731
286
836
983
507
565
658
788
441
826
161
718
56
833
639
478
839
643
482
783
483
80
480
376
772
807
531
760
781
380
161
969
837
86
944
750
852
309
752
953
179
711
650
945
821
529
536
125
581
540
541
818
599
463
413
594
68
866
346
816
220
744
500
33
474
900
519
949
718
91
238
86
777
692
372
714
14
130
738
393
735
763
90
219
991
294
659
52
877
51
838
287
551
441
844
41
973
59
696
826
618
10
294
183
77
281
226
410
209
868
594
27
720
625
731
12
638
403
558
572
82
823
172
427
606
807
554
480
859
214
306
331
401
215
365
438
735
89
652
153
374
274
702
625
11
121
86
396
54
37
959
992
177
256
595
214
593
430
402
294
456
221
230
259
690
245
481
575
896
44
999
361
280
824
440
238
381
9
989
4
246
84
334
215
669
595
466
333
102
252
403
45
748
462
194
873
480
709
681
443
787
210
123
598
252
704
673
775
910
413
778
592
774
282
99
539
520
501
55
521
699
668
997
757
248
223
393
848
46
270
646
599
426
26
295
805
749
947
318
783
460
681
278
426
232
344
292
644
469
758
557
884
730
198
489
472
222
786
768
938
344
599
715
785
767
150
521
931
616
40
15
819
468
223
797
135
709
310
912
344
596
205
889
681
872
854
673
99
111
457
116
288
122
54
389
270
625
980
71
370
340
174
104
536
500
80
556
267
787
379
415
570
992
620
257
379
266
945
46
645
519
145
862
64
757
117
55
831
354
736
814
88
331
213
208
65
163
550
567
602
201
65
903
245
320
196
794
814
862
710
612
748
976
227
860
310
293
100
729
463
76
77
967
379
985
609
785
901
224
460
968
999
346
506
842
737
155
814
358
107
448
778
448
447
243
842
367
712
193
644
382
951
362
868
446
324
660
595
185
937
283
438
967
470
832
428
393
318
970
272
107
705
196
756
565
334
491
330
883
203
785
426
410
249
269
877
396
745
41
249
82
739
831
114
682
378
638
881
640
891
467
100
960
357
300
476
393
883
437
214
454
82
11
230
562
61
46
217
817
844
143
426
892
898
682
215
45
509
932
548
29
264
130
536
18
262
493
970
694
415
625
221
458
539
750
492
441
1
659
55
649
276
391
282
83
348
205
675
911
460
123
531
906
782
902
570
498
590
646
425
707
767
616
409
429
453
957
345
137
363
87
228
733
920
521
6
253
637
254
327
897
706
661
190
734
534
564
901
154
68
116
35
811
751
702
528
872
505
598
523
367
112
121
989
93
564
445
737
10
779
115
175
389
876
587
258
630
87
784
939
608
929
303
917
166
432
385
953
139
98
70
120
770
953
895
600
347
824
656
948
876
69
217
655
531
316
595
197
135
450
826
273
939
175
601
222
366
757
543
820
26
680
35
489
12
904
899
360
433
339
45
205
953
183
454
22
630
979
245
887
854
364
736
78
515
390
565
241
922
798
969
665
751
105
198
135
644
780
344
348
293
214
622
469
971
414
420
324
604
149
19
32
606
518
338
795
703
996
690
339
547
561
681
215
841
585
930
959
168
615
885
804
403
605
668
156
495
573
806
871
490
801
749
570
955
696
453
491
838
43
224
147
0
755
324
349
970
340
115
938
46
651
798
999
195
866
461
307
726
8
254
379
940
318
896
926
956
967
673
759
99
273
232
444
603
774
856
663
377
748
575
308
511
94
2
581
151
700
331
896
199
713
302
374
569
119
64
117
185
292
888
54
778
943
774
170
340
40
624
412
21
584
394
128
856
888
687
447
490
800
958
289
303
631
170
915
548
102
859
1
365
54
637
947
696
334
170
840
661
668
911
541
493
402
704
649
203
418
801
723
820
951
527
614
310
220
898
49
78
146
844
804
606
612
923
598
412
89
729
802
637
39
867
639
846
143
134
802
366
506
281
504
190
757
103
812
575
17
967
460
241
565
629
638
563
166
106
49
767
844
367
253
147
620
20
992
687
67
9
127
74
454
570
204
260
368
949
38
704
682
175
251
778
109
480
778
548
398
472
505
142
196
368
479
960
105
278
965
183
737
99
59
270
289
704
87
514
631
980
19
607
231
523
591
578
798
755
109
659
877
622
403
494
1
598
704
796
694
71
734
678
326
871
257
785
486
956
977
672
758
729
335
520
44
488
694
234
566
371
29
793
959
846
337
825
173
673
195
400
909
730
632
262
862
240
519
967
699
833
791
824
297
762
941
944
665
704
867
500
77
955
118
275
641
105
516
291
39
926
750
352
626
199
65
531
27
247
467
578
578
410
315
804
466
430
880
167
586
287
192
634
509
976
52
669
302
577
548
603
780
760
257
848
355
465
351
681
579
109
548
577
723
430
941
936
94
564
809
296
679
392
793
775
508
885
745
374
648
865
310
349
349
668
777
91
409
289
260
907
151
166
217
474
348
692
618
190
235
602
347
986
350
330
689
314
455
417
379
412
497
802
682
729
516
449
609
771
951
784
911
958
686
201
971
485
418
976
695
583
721
272
822
581
378
643
276
783
293
415
372
573
798
639
456
867
538
419
392
290
162
773
985
363
803
541
613
458
690
435
764
816
425
614
781
177
255
700
369
181
299
315
352
604
386
375
331
136
255
702
727
601
366
679
199
686
547
901
691
966
859
908
281
860
980
107
683
234
74
596
899
637
384
33
90
821
333
765
311
912
273
410
750
966
939
937
476
317
773
816
714
546
587
714
663
243
204
735
80
821
467
501
164
858
940
614
373
207
443
50
599
262
629
555
938
691
370
404
394
325
24
168
331
880
108
274
181
949
144
821
155
576
585
579
365
222
532
907
450
798
612
53
558
495
10
289
565
685
333
232
579
625
893
978
128
36
295
223
549
170
217
206
765
896
160
721
504
592
376
74
556
230
796
57
163
314
985
46
244
985
155
460
896
455
98
639
538
101
161
199
739
853
731
983
974
240
33
500
268
561
163
207
768
870
442
75
900
950
800
211
483
68
573
497
398
779
234
407
994
566
634
71
892
804
981
515
748
877
221
930
420
539
54
507
204
265
723
172
449
305
776
978
902
933
103
241
205
450
143
262
283
31
184
962
102
273
118
348
22
891
595
230
320
282
667
256
919
856
936
40
155
160
266
468
750
938
298
998
183
945
301
263
99
830
548
625
604
894
804
738
243
315
840
287
984
511
154
181
251
851
979
490
610
774
868
650
419
690
58
689
174
982
84
567
113
802
737
70
792
493
436
754
963
837
96
695
316
409
151
682
572
179
736
950
739
783
674
484
502
791
701
231
798
634
655
736
271
769
262
865
676
111
138
550
314
48
696
335
192
479
317
656
894
279
707
167
399
353
121
289
12
506
624
859
41
848
82
596
722
86
136
913
819
632
803
177
34
604
201
563
47
47
279
943
741
777
546
232
292
515
898
860
543
851
824
738
833
222
301
206
163
275
35
408
968
967
800
730
900
115
619
305
577
834
122
395
278
734
455
732
285
521
724
514
866
948
412
131
796
112
109
391
274
687
103
289
739
535
468
386
894
980
780
907
655
633
388
394
321
584
82
861
969
547
60
802
512
582
266
739
918
292
102
794
531
386
415
684
586
446
814
965
670
976
281
427
97
600
894
283
418
912
494
290
148
583
877
588
749
316
168
484
943
102
500
404
522
663
759
732
258
946
486
930
919
611
236
156
272
238
83
155
545
993
771
370
93
753
176
441
485
421
880
854
800
95
697
326
227
201
272
161
234
439
17
903
364
148
125
857
863
832
173
728
387
740
26
593
707
197
173
207
790
530
904
953
551
709
90
380
158
990
849
660
299
233
123
351
415
135
320
860
551
728
989
660
818
391
709
371
529
617
485
852
99
10
343
836
786
867
193
814
668
973
626
17
795
658
369
955
475
165
914
690
311
609
513
902
136
885
203
351
324
83
388
27
325
315
872
166
876
602
837
215
602
500
305
873
992
28
939
186
383
294
85
100
309
352
169
662
531
848
531
223
236
326
751
288
103
612
350
578
498
44
756
932
990
526
998
28
974
816
84
864
199
644
355
274
748
327
517
428
76
123
899
136
722
601
66
752
580
749
738
850
421
179
829
124
664
658
289
527
508
198
250
133
38
399
353
784
925
990
41
690
392
6
547
939
644
927
758
543
884
979
236
232
606
717
353
340
809
648
587
548
223
466
807
518
864
705
872
175
92
200
524
740
177
362
654
154
577
148
846
886
444
7
778
117
475
195
671
691
465
984
613
264
79
590
73
971
446
719
329
169
339
331
255
179
379
610
654
218
483
58
999
822
301
477
975
406
462
574
572
886
802
305
819
542
729
497
923
848
409
77
979
896
218
432
128
110
420
777
39
202
19
488
229
115
11
188
333
886
525
321
764
264
172
133
567
67
566
330
932
346
91
316
370
949
863
389
124
818
195
113
973
368
428
208
947
372
68
453
486
865
374
208
14
34
960
590
743
8
358
827
614
101
246
665
448
639
37
286
239
477
287
571
473
130
670
256
155
516
333
853
220
935
638
312
515
540
456
884
867
172
508
654
243
585
877
618
730
699
972
484
46
394
346
68
127
648
256
602
86
330
703
542
415
186
778
199
380
138
838
548
875
949
623
746
721
897
480
23
253
945
387
322
674
256
528
87
837
673
872
250
165
737
958
882
76
603
239
252
220
201
782
748
543
113
901
354
509
109
831
355
263
396
395
244
817
388
230
824
591
841
906
831
139
347
963
505
22
305
458
189
995
399
429
39
134
855
653
404
293
937
312
476
463
358
451
965
304
120
612
488
239
18
149
619
830
990
392
241
349
663
881
205
990
788
549
455
528
522
339
326
814
451
163
568
502
541
761
650
448
92
570
475
11
877
881
713
462
695
589
218
152
431
155
895
308
574
369
487
930
718
191
135
554
344
709
743
211
546
123
876
920
428
641
569
185
789
483
245
393
958
902
835
399
417
310
320
215
323
821
246
154
857
909
848
483
522
993
859
685
895
220
385
73
746
733
432
710
587
953
833
823
208
643
775
916
44
144
456
35
40
80
145
653
190
517
965
817
831
954
189
16
204
108
161
642
579
589
612
233
802
90
280
634
742
375
188
346
961
719
336
79
492
702
123
840
593
825
862
665
305
732
187
931
208
499
228
99
249
136
571
559
921
304
259
891
40
926
223
258
367
86
711
685
159
197
144
759
907
194
17
384
649
130
536
28
649
647
662
881
846
464
669
225
8
891
973
281
796
179
438
181
300
696
984
582
416
310
910
443
631
476
503
121
930
268
99
946
708
463
803
681
119
268
549
126
167
825
228
461
345
203
629
796
181
355
793
60
425
213
326
505
745
652
354
637
289
46
828
863
688
323
153
90
967
271
279
826
948
180
362
570
821
761
790
935
188
54
941
292
350
693
86
274
547
966
679
788
556
885
893
573
304
68
211
911
77
825
977
986
88
37
265
173
331
22
917
800
817
60
350
369
379
521
421
57
707
81
624
557
3
357
645
421
633
313
425
67
522
92
920
116
262
666
277
5
231
547
834
50
774
731
466
196
358
187
846
961
392
661
658
911
240
328
687
20
101
800
951
38
776
818
786
52
611
172
471
940
703
531
213
687
190
640
56
468
309
681
284
364
851
908
296
862
371
170
176
460
773
684
538
732
754
781
396
884
736
368
966
885
13
28
638
517
227
653
103
304
407
296
312
815
41
742
365
440
604
935
232
928
8
700
651
398
135
227
257
43
334
947
938
699
133
496
583
792
621
234
735
777
939
384
23
383
70
532
123
348
673
225
162
612
793
567
951
684
564
691
743
397
644
26
947
928
224
98
633
132
152
56
974
842
352
896
909
701
669
341
758
972
805
912
481
783
313
94
51
146
278
667
872
102
33
448
368
198
71
101
678
863
864
768
512
473
745
548
521
247
470
297
902
383
108
407
986
658
380
583
637
79
182
171
979
241
587
208
45
95
691
395
749
887
643
821
627
615
717
686
214
711
778
916
503
728
343
886
16
19
387
355
112
346
580
669
243
719
780
144
840
932
423
453
843
794
811
776
798
357
649
735
629
948
487
27
702
70
898
959
204
618
617
802
688
644
220
933
678
919
453
973
811
5
288
602
824
845
574
137
190
960
95
703
833
17
474
489
588
452
381
707
670
267
8
183
24
125
118
923
264
240
974
50
624
208
636
891
357
928
89
835
486
11
157
84
461
422
10
486
26
184
167
847
383
36
970
303
909
200
604
98
689
682
683
770
241
537
725
964
956
741
124
417
159
130
535
35
653
648
539
140
673
807
736
921
995
705
620
474
839
280
255
424
242
662
63
371
657
324
300
207
312
444
197
996
135
955
19
334
448
358
201
312
145
413
791
535
348
145
66
591
568
894
246
577
964
386
560
50
902
276
571
225
832
648
85
197
603
434
124
606
845
942
981
433
473
596
964
56
400
117
892
421
600
959
997
117
975
117
351
491
649
776
65
384
826
926
264
246
440
1
803
319
972
624
138
20
365
28
79
254
789
910
550
335
135
860
199
144
799
170
728
653
759
925
468
722
709
770
790
218
265
293
744
846
925
767
400
346
993
853
165
153
720
920
893
930
992
310
265
460
193
123
773
447
207
257
324
426
342
25
946
122
160
468
647
926
48
374
48
203
280
792
841
343
956
995
653
613
795
445
308
904
748
554
548
115
78
237
20
466
554
324
410
999
503
166
499
674
770
599
516
342
18
94
270
675
322
959
210
609
31
294
284
43
298
32
745
23
59
922
580
336
906
146
439
589
142
918
878
432
976
176
533
784
745
478
102
252
36
43
138
918
916
735
770
331
511
293
695
408
206
218
296
459
948
762
134
387
693
460
609
757
892
108
586
18
687
69
553
784
573
684
611
365
812
187
744
909
916
644
677
966
951
684
986
51
125
745
536
193
663
760
710
702
677
774
364
52
803
964
106
541
685
728
35
764
222
809
899
284
540
490
952
889
566
484
532
323
626
875
727
718
557
125
469
99
805
186
530
324
355
90
365
337
30
922
86
329
502
193
83
805
795
719
440
781
451
688
713
531
169
355
413
180
462
130
501
190
563
24
3
661
12
488
590
242
874
871
380
798
496
848
468
32
170
178
288
400
123
16
237
209
934
199
285
293
279
372
401
795
849
40
596
668
131
322
59
243
569
154
73
276
437
278
910
284
169
439
742
780
526
518
171
163
487
101
580
37
45
642
327
30
774
249
310
479
374
997
625
455
392
58
917
905
277
744
735
419
790
563
605
284
42
423
801
14
664
756
941
34
884
612
806
493
305
653
86
762
542
927
227
495
144
874
641
668
48
797
808
662
489
135
204
536
704
628
953
86
145
713
34
279
190
544
486
602
628
195
439
28
764
240
762
385
529
886
882
791
910
253
590
798
65
645
690
361
42
662
669
28
48
56
19
410
843
60
393
176
920
669
858
318
385
639
583
246
117
282
379
68
700
639
341
718
173
318
747
494
140
228
184
768
43
902
524
760
839
597
977
641
807
349
441
625
1
804
446
727
370
581
996
528
461
51
838
732
692
303
928
454
292
908
867
791
269
121
635
332
961
760
633
163
796
961
128
637
80
32
205
316
631
241
519
419
70
41
843
797
443
809
607
318
129
936
150
0
441
742
112
59
80
243
55
135
178
527
410
841
473
193
769
491
238
272
817
333
244
145
152
23
636
509
810
940
940
340
439
139
286
573
191
838
259
406
611
551
25
701
997
239
344
733
937
936
729
1
924
249
320
101
869
151
779
608
872
732
241
235
546
812
943
530
747
966
45
405
561
791
942
819
313
931
834
248
833
185
341
166
873
70
314
380
567
287
319
985
988
757
539
844
350
132
292
661
646
63
722
735
284
654
65
476
720
957
112
945
164
462
566
670
432
42
683
554
11
503
821
623
546
491
206
751
420
359
524
445
667
786
522
966
95
279
89
16
352
311
984
375
243
35
23
898
464
547
321
362
48
578
173
828
160
542
761
541
916
383
160
460
669
415
474
551
205
242
433
935
335
534
372
538
815
688
902
544
21
982
362
955
917
405
461
917
22
619
813
729
501
307
492
519
510
629
209
29
700
542
830
557
841
960
959
878
806
623
132
965
946
437
142
596
757
216
300
21
162
509
183
719
554
391
598
302
277
447
432
420
423
309
380
314
276
616
19
273
541
734
369
490
522
472
301
457
275
914
590
43
864
598
804
190
973
280
745
205
235
981
659
671
142
215
144
515
24
747
766
93
424
514
365
540
389
476
485
344
887
217
193
877
2
278
534
72
525
405
332
125
745
873
818
120
351
212
766
921
491
140
465
46
981
92
465
610
974
557
671
29
725
4
724
721
302
148
965
966
303
974
645
29
273
975
737
193
77
513
618
412
852
915
136
544
793
309
265
74
978
209
35
608
602
665
239
379
702
38
521
528
643
40
334
281
523
541
937
673
898
383
284
556
688
717
794
782
709
731
294
72
13
481
782
975
431
24
996
863
285
10
171
601
162
673
22
692
443
790
782
973
1
38
737
8
96
694
603
355
112
48
112
95
383
330
403
415
253
370
298
43
116
678
670
117
636
34
503
430
359
606
275
463
549
668
316
283
716
815
589
381
147
749
528
608
289
411
360
340
90
602
875
304
457
297
463
385
590
520
166
973
844
444
627
648
643
944
555
576
701
186
289
156
276
160
216
801
411
997
980
501
892
238
163
672
952
750
20
162
438
908
156
331
176
781
786
723
273
928
261
171
968
622
595
76
608
25
677
341
926
549
154
477
107
269
72
666
925
362
223
427
709
834
190
669
483
232
587
9
243
798
386
227
204
604
628
333
464
479
579
510
689
548
237
231
841
614
316
974
431
615
92
855
160
639
28
79
153
536
317
422
316
85
584
294
73
94
994
11
142
577
947
880
11
343
911
543
820
800
320
330
66
573
99
623
611
267
881
652
174
757
246
333
394
225
929
945
980
833
267
9
673
908
487
663
730
795
927
416
818
994
984
285
53
509
936
587
585
910
260
508
793
432
582
412
935
680
807
804
817
611
32
434
787
244
714
819
829
570
232
354
344
442
922
375
248
51
81
283
712
237
673
674
802
781
13
108
207
346
480
470
337
135
381
524
369
734
664
101
202
857
788
786
573
916
410
707
553
0
736
996
58
147
351
301
556
66
497
672
326
82
640
630
596
366
404
582
925
663
423
566
204
182
622
99
19
317
355
325
910
405
280
701
848
575
273
211
591
695
6
69
200
923
935
174
412
645
297
22
273
104
457
595
118
39
565
869
887
897
823
579
366
100
214
50
545
817
169
415
385
577
615
857
371
96
764
629
95
167
135
671
951
547
650
335
884
263
360
898
429
854
523
917
976
861
157
637
255
2
57
938
268
640
107
320
94
448
984
647
429
761
341
287
91
838
881
330
297
33
465
5
669
421
648
794
541
413
755
513
89
12
456
881
909
216
225
525
777
434
722
487
855
389
69
183
163
258
622
892
711
627
418
760
70
581
100
35
722
921
48
432
192
88
593
228
819
100
540
203
585
468
455
461
945
992
846
583
179
27
451
862
949
439
801
118
26
28
597
536
500
442
612
363
137
453
878
533
555
409
372
618
747
194
510
231
830
242
193
828
274
172
229
456
217
204
707
424
934
519
541
753
494
920
228
103
775
293
443
134
0
734
751
814
610
828
481
71
35
672
269
800
843
485
296
582
362
307
80
570
86
497
510
110
773
989
180
886
113
922
950
224
359
1
1
590
244
225
174
768
326
64
346
169
36
704
589
628
929
44
99
136
106
69
345
116
11
570
855
918
651
87
608
269
780
188
553
836
531
774
395
490
293
532
797
112
615
586
3
209
893
47
532
74
291
713
7
817
149
964
915
865
437
400
622
787
644
164
781
994
89
593
858
887
104
109
706
484
147
515
713
283
547
58
953
504
121
749
729
793
190
67
346
995
551
494
74
953
646
891
757
222
538
671
748
418
47
898
169
688
278
234
503
809
132
458
805
785
969
516
896
940
134
211
856
563
771
649
32
12
25
188
86
554
266
810
462
563
826
723
474
622
10
316
475
916
361
717
998
837
805
126
533
87
196
713
223
391
228
869
637
319
750
315
858
591
429
678
102
363
408
868
265
814
379
107
291
364
9
879
833
482
872
608
227
942
600
868
823
104
216
457
205
160
256
29
885
422
640
444
853
735
823
963
605
544
68
273
909
108
869
9
395
890
942
493
85
109
266
687
492
448
65
257
457
554
698
668
182
551
762
589
870
593
685
809
418
587
341
6
912
44
819
905
238
267
358
524
698
568
906
710
514
710
98
3
514
189
929
530
517
109
487
364
280
814
918
487
428
708
463
582
389
147
908
175
889
158
72
366
369
755
165
753
411
841
447
634
140
434
734
626
137
412
663
23
158
653
976
865
665
405
101
145
584
959
593
69
679
620
776
148
247
592
26
718
0
365
219
704
751
2
762
362
183
696
654
831
296
606
442
908
972
568
3
525
446
416
868
882
387
700
564
714
761
816
888
42
516
27
560
170
989
60
234
615
470
47
300
954
200
484
29
211
579
848
581
311
244
79
358
635
685
166
9
281
368
440
324
492
91
775
41
211
195
238
245
42
150
746
483
692
504
217
179
965
284
292
769
370
287
884
678
130
694
715
537
973
247
342
878
834
606
152
467
664
287
236
885
676
50
181
591
46
862
221
67
923
974
582
471
129
963
528
723
385
867
50
562
154
101
454
350
449
917
252
648
53
652
923
272
59
907
416
105
545
635
34
2
957
23
951
630
737
269
105
315
15
836
270
241
270
309
807
890
535
940
507
95
682
341
658
968
819
58
140
991
150
480
31
111
853
43
253
101
895
183
813
870
689
832
727
767
337
14
80
421
372
113
240
694
804
824
16
755
304
756
66
131
785
149
193
690
685
124
330
20
38
264
422
381
435
462
80
531
459
508
70
158
541
175
355
349
601
219
937
23
315
792
433
907
480
341
978
267
103
628
540
440
849
132
39
187
539
619
536
990
419
252
520
890
91
626
469
654
805
555
610
792
293
33
931
29
298
164
646
284
993
983
432
741
889
763
470
660
712
619
181
142
583
307
661
330
38
437
312
341
854
92
193
553
182
378
109
845
76
346
939
987
831
142
559
85
489
720
604
690
799
940
641
287
507
421
944
660
342
262
820
975
606
106
422
423
946
608
954
632
648
566
766
283
958
741
560
2
224
728
68
90
624
767
927
974
805
620
787
342
353
91
9
939
43
872
133
589
161
33
439
135
364
296
610
225
454
869
463
453
49
368
112
787
863
257
720
731
398
740
293
80
35
983
220
566
572
354
841
129
70
164
160
383
524
484
799
431
531
438
340
607
745
511
891
852
270
548
310
669
847
893
839
829
764
18
477
204
733
198
560
94
70
392
206
93
569
902
487
451
116
550
40
866
935
84
904
755
250
200
503
859
577
161
17
339
191
846
740
958
332
905
506
783
115
120
121
662
995
213
266
144
390
480
948
617
412
172
724
858
68
144
143
321
528
102
309
395
63
709
877
878
142
927
278
1
327
723
223
146
833
130
913
416
168
252
670
354
662
68
733
530
717
285
319
759
314
647
463
953
633
532
319
168
838
13
485
297
408
611
206
173
99
27
161
51
833
400
786
993
123
363
449
328
750
577
273
865
686
229
260
237
827
421
441
481
260
607
454
205
373
807
375
764
799
843
898
634
934
45
56
637
275
542
671
752
911
678
970
730
254
610
649
366
839
179
367
121
219
587
713
912
305
90
670
475
559
21
952
3
362
529
857
286
783
947
251
45
879
439
123
147
341
953
544
391
375
212
497
343
343
368
642
707
353
600
52
779
497
459
293
580
447
364
207
353
289
816
330
678
336
720
624
860
868
749
161
187
941
530
298
597
275
126
283
514
269
304
57
247
948
369
131
353
479
130
563
294
74
306
231
603
292
630
247
412
174
559
938
93
448
12
460
384
370
625
691
152
319
863
543
485
350
132
91
71
191
400
227
453
333
856
826
460
559
584
761
768
940
415
985
980
477
863
388
881
612
303
75
20
40
163
209
240
365
127
516
599
388
898
49
936
926
898
380
712
767
795
441
890
526
907
41
715
492
600
994
959
955
626
567
422
726
156
672
214
552
645
836
893
8
290
551
64
616
478
838
17
64
151
581
595
905
559
918
951
242
905
644
448
908
19
351
520
966
490
735
593
761
472
932
643
808
689
160
91
195
772
24
249
341
836
263
590
633
300
236
681
289
134
799
620
790
46
727
330
670
810
634
188
914
110
663
377
390
742
150
227
894
489
836
880
895
91
645
628
686
562
63
180
879
704
298
950
221
647
627
712
827
664
496
82
666
894
861
465
560
628
948
750
466
60
755
604
10
425
586
777
895
730
956
243
166
733
288
694
20
591
821
6
61
187
357
153
450
579
929
416
464
63
709
281
23
950
761
965
346
425
270
603
483
542
3
27
691
783
695
60
147
404
292
626
548
188
802
352
812
535
176
595
27
885
71
655
97
484
601
948
266
284
914
556
845
708
97
886
341
549
758
795
472
996
539
99
500
756
605
431
149
655
825
469
733
280
943
718
892
529
977
773
58
850
181
342
664
232
265
864
26
777
331
556
55
780
966
951
856
97
344
173
346
162
30
144
908
401
888
443
567
723
747
739
688
533
73
182
605
490
660
33
176
902
347
302
874
110
472
747
421
553
64
602
645
911
67
956
45
200
889
799
438
956
591
572
43
432
930
613
547
346
760
784
750
564
140
405
814
50
484
565
838
988
133
134
233
631
53
335
354
717
226
955
862
707
8
792
277
355
75
915
907
870
826
780
732
647
771
246
172
353
174
262
442
503
962
27
405
959
832
943
133
986
482
497
909
882
819
589
97
62
326
248
982
582
298
323
265
858
358
92
307
840
845
720
727
894
728
455
423
919
787
39
16
66
817
158
993
89
381
717
455
161
737
701
438
991
954
632
285
42
446
930
356
823
6
782
373
589
429
144
731
10
287
316
176
315
118
109
108
34
11
953
819
171
319
684
700
247
979
975
900
340
509
629
347
463
657
908
196
861
105
403
441
930
671
935
246
213
810
236
707
143
792
401
854
276
437
512
162
942
752
345
201
274
529
849
438
675
368
682
141
808
271
887
923
342
266
29
696
808
780
219
362
17
278
587
621
884
416
894
61
455
527
849
671
341
289
912
630
238
624
183
952
621
567
853
956
58
585
306
155
288
316
248
677
310
79
77
845
40
223
50
366
373
626
91
21
399
585
19
506
728
101
28
282
674
763
471
738
925
53
592
22
837
334
256
612
205
247
278
191
366
831
938
197
30
116
217
900
335
743
591
47
956
263
501
196
604
488
665
754
739
569
625
281
255
249
172
815
875
893
783
226
905
329
482
309
551
412
43
385
674
905
95
608
137
223
320
954
283
36
512
691
660
205
906
916
715
638
70
824
994
17
500
650
191
698
899
456
630
372
319
120
897
856
790
381
569
123
538
131
450
936
848
77
543
376
111
776
803
429
507
178
249
7
946
384
40
913
400
682
943
887
188
219
18
179
554
672
909
794
926
615
346
991
535
533
523
35
233
566
659
834
489
255
346
647
288
748
350
839
182
752
772
433
701
329
148
478
665
115
883
793
621
129
651
985
388
628
199
414
709
700
856
275
15
191
829
186
197
603
161
856
714
607
565
160
805
307
254
159
66
307
887
681
447
533
224
483
900
981
745
549
849
371
928
874
203
601
803
80
955
852
854
441
994
300
481
92
428
84
734
486
588
58
470
283
79
991
437
710
169
484
4
224
681
447
887
881
772
41
843
340
171
197
709
150
307
333
299
523
80
339
1
325
663
758
670
647
163
58
839
333
954
775
293
810
607
367
390
740
319
716
634
969
567
139
885
785
900
357
384
196
667
351
449
525
294
566
129
673
167
72
313
468
860
88
263
359
595
603
603
319
563
323
805
828
753
689
404
445
665
638
972
145
915
701
685
460
718
843
5
110
792
551
696
446
447
780
631
254
900
599
654
649
241
416
141
545
211
730
646
355
77
372
966
58
210
175
273
888
416
115
380
178
392
739
994
538
705
431
519
428
641
771
309
551
867
52
712
953
26
625
267
218
36
373
701
38
929
29
213
796
124
808
46
4
129
837
720
187
394
955
169
298
800
474
397
423
280
64
502
159
365
205
435
117
84
944
522
863
71
597
588
415
659
823
765
837
780
43
516
70
967
93
489
987
469
558
294
665
796
303
867
323
717
531
489
188
252
96
880
289
210
324
820
440
233
0
530
860
540
660
633
845
819
269
990
837
936
617
391
832
477
275
311
701
381
215
879
634
311
247
4
650
343
513
134
861
229
663
73
277
413
108
769
3
295
848
340
360
720
226
979
652
790
373
434
249
359
25
256
776
577
284
954
89
963
360
763
881
87
220
972
692
470
139
372
257
379
496
518
269
867
215
627
162
761
769
34
17
109
811
697
649
355
673
900
310
5
28
866
237
408
236
398
101
523
58
319
239
378
743
554
985
727
585
351
788
553
591
309
257
472
893
2
628
705
623
631
897
877
395
872
824
629
788
764
237
880
6
788
984
472
527
394
251
280
926
881
299
759
635
113
60
79
946
376
651
108
585
983
883
341
737
797
554
559
911
807
914
240
4
927
662
335
569
463
455
933
384
41
439
546
326
36
50
453
321
103
141
344
401
325
291
60
323
379
423
967
280
430
968
670
981
334
906
463
889
639
757
368
685
489
847
27
127
487
364
815
276
823
302
643
91
774
616
410
1
911
900
692
710
360
918
78
536
464
203
973
855
43
238
601
996
10
8
146
899
369
890
928
26
345
908
612
652
311
709
339
271
295
43
240
216
128
329
884
185
709
965
286
53
92
284
353
731
639
137
375
24
294
881
189
187
800
162
236
324
963
74
845
489
832
61
689
351
439
483
660
454
882
827
67
665
994
595
719
264
938
56
285
846
513
398
997
472
575
203
525
123
359
216
30
323
146
675
617
590
210
657
434
715
986
138
883
646
944
852
25
402
87
533
624
834
738
628
83
730
686
888
406
17
456
491
425
774
725
865
492
755
779
951
418
233
299
305
778
747
702
937
467
852
258
673
770
62
695
307
579
190
285
141
877
536
367
684
213
678
182
734
640
77
396
144
189
13
653
711
739
128
972
319
604
289
236
453
792
576
867
622
939
446
324
474
880
902
87
591
806
893
537
312
214
112
46
444
80
364
623
263
168
222
397
540
226
629
400
884
384
52
461
936
501
143
682
733
4
907
26
182
88
156
776
995
252
557
478
390
772
732
201
732
498
32
608
288
843
454
146
340
377
818
538
843
861
755
864
928
326
577
706
87
856
717
362
299
330
199
8
591
762
585
846
531
633
816
238
96
229
371
479
310
786
245
963
635
418
131
670
457
503
536
179
808
956
521
314
14
534
773
269
668
175
691
202
378
191
945
884
134
511
94
415
421
397
395
696
16
642
115
81
300
761
337
642
781
13
406
872
299
590
606
932
876
246
641
179
523
12
939
183
450
976
885
726
469
727
15
147
954
288
201
943
27
413
52
664
495
345
535
261
638
850
759
196
877
723
447
239
251
78
697
83
207
280
538
336
851
937
477
850
66
192
392
850
477
512
550
399
490
449
307
864
86
57
752
303
169
960
219
756
233
318
427
565
868
352
372
330
151
906
695
332
455
666
297
117
655
816
839
465
955
485
548
722
94
652
302
363
220
856
183
932
940
113
490
913
958
195
949
408
989
318
897
758
799
850
351
772
738
400
2
734
457
617
652
639
35
750
305
440
538
451
947
920
408
432
659
466
957
751
539
329
348
469
626
792
832
455
273
131
339
412
529
547
207
448
452
816
166
951
504
140
895
516
984
35
27
182
20
778
16
43
681
698
959
519
334
168
498
846
895
243
148
859
168
797
87
157
116
976
489
600
777
599
598
787
17
427
88
285
322
996
421
765
903
216
602
948
794
292
235
936
937
102
577
806
24
457
93
92
654
456
465
734
16
112
535
955
425
48
263
156
123
47
670
279
271
197
365
181
135
817
662
472
719
85
861
444
124
414
191
43
222
631
967
199
913
21
465
177
275
438
965
677
877
773
516
876
167
579
222
555
225
184
972
485
660
630
86
700
786
708
95
219
647
639
932
770
299
699
662
75
524
254
276
659
477
546
868
992
248
773
969
280
155
193
633
715
515
415
55
456
475
677
812
530
13
233
64
33
613
578
207
530
517
64
151
813
379
451
241
993
884
967
576
2
164
298
361
44
635
988
364
65
140
565
796
861
219
601
529
264
343
853
313
507
423
194
625
22
430
861
909
474
635
800
52
396
181
963
970
611
299
333
900
507
44
826
813
935
340
893
87
160
892
129
198
995
452
14
410
612
123
275
847
229
46
38
283
622
603
563
686
133
644
789
781
415
507
515
54
20
679
667
23
37
625
908
635
730
335
135
112
871
246
860
117
497
256
79
380
696
70
134
897
427
890
4
911
81
434
95
785
844
844
69
53
571
909
192
527
108
919
668
133
66
437
304
868
42
414
756
964
940
910
503
321
220
350
943
563
321
982
757
730
175
472
798
42
766
423
922
702
707
888
330
436
803
216
134
556
344
151
354
184
786
353
889
949
798
301
349
202
896
942
14
421
247
173
26
885
284
993
601
848
646
524
997
901
953
454
956
770
500
216
991
634
616
913
446
213
945
677
746
920
149
150
5
408
977
207
473
673
864
863
697
322
292
161
90
659
830
22
415
328
349
948
293
121
917
975
706
270
313
660
632
506
166
577
796
194
421
381
801
124
831
685
520
774
297
282
574
538
531
371
253
765
41
686
127
26
133
610
870
972
708
162
251
165
294
250
910
834
377
342
247
920
911
595
962
243
917
664
447
634
366
815
507
511
878
348
214
64
844
95
512
41
311
262
992
800
861
128
636
275
471
41
563
395
631
960
765
841
865
105
70
107
5
507
892
801
8
866
646
492
20
48
915
249
276
883
274
784
761
711
483
856
915
758
80
145
10
737
80
189
657
27
639
307
945
935
873
189
322
279
190
672
737
783
800
660
501
533
706
551
895
972
237
537
129
390
710
527
955
383
206
347
656
360
463
964
34
287
572
348
470
360
227
367
852
915
409
613
360
244
61
945
952
691
476
81
12
261
91
828
112
304
348
521
261
25
62
317
302
466
309
215
890
345
463
687
340
835
356
387
572
291
185
829
223
404
982
230
771
617
182
831
168
284
94
696
764
971
121
701
25
551
545
42
100
634
873
999
162
945
355
825
57
681
167
635
326
944
819
240
196
625
706
425
557
34
45
710
335
822
35
805
989
813
476
975
734
40
680
318
458
615
903
656
16
638
884
943
742
477
170
7
847
268
718
540
351
193
661
687
50
422
907
13
966
327
691
377
163
212
798
510
7
111
931
266
866
885
583
410
796
409
196
895
952
21
330
115
738
302
19
219
587
654
735
181
704
221
237
623
174
853
344
259
173
360
600
33
942
680
138
639
793
69
498
202
440
962
422
738
644
513
270
226
629
226
152
798
218
933
181
871
40
542
838
49
116
60
407
552
614
575
589
573
56
824
416
765
279
411
332
82
529
51
195
771
27
93
663
941
91
116
825
307
468
634
823
699
117
166
694
534
219
438
372
17
281
588
443
63
353
396
522
261
759
657
290
223
309
533
540
975
232
340
906
19
299
590
126
615
42
790
114
468
74
6
232
180
311
296
781
920
377
678
1
260
658
279
401
608
354
228
248
646
563
416
342
603
734
534
654
865
772
639
2
3
238
558
406
79
563
75
176
451
956
352
537
182
998
650
521
182
631
287
533
436
880
397
168
145
80
865
628
153
300
228
219
264
472
478
432
305
887
955
664
232
593
282
764
823
310
710
96
587
350
724
315
763
149
409
12
901
645
596
853
116
675
61
774
637
471
166
151
119
291
273
657
487
679
336
74
34
726
229
606
648
133
339
319
122
216
128
954
569
607
791
543
973
721
569
278
845
943
630
580
906
579
320
22
404
255
569
423
436
446
173
994
870
482
763
206
962
208
490
270
2
758
527
952
535
415
172
418
55
200
283
212
123
226
481
231
307
364
536
913
54
872
542
594
163
140
190
796
67
90
485
132
527
596
721
376
162
707
79
712
797
220
476
114
696
49
780
70
583
132
128
521
841
371
832
763
917
492
956
246
585
237
646
821
883
933
412
233
779
845
652
848
422
750
780
542
846
322
54
839
81
709
100
892
584
555
672
761
799
196
911
928
649
302
984
493
734
497
745
760
406
826
638
344
294
80
178
629
161
787
975
672
571
837
566
792
524
907
542
882
324
815
389
917
120
553
93
792
907
41
297
497
839
443
408
38
361
989
315
778
31
567
751
365
565
633
740
451
452
98
921
444
76
233
540
313
639
202
385
978
948
100
32
380
289
793
795
897
23
743
968
414
913
243
568
334
527
105
61
189
716
8
418
175
972
244
383
55
721
430
729
477
216
111
206
406
816
757
356
751
491
623
295
316
234
485
958
230
163
411
906
795
564
160
75
697
147
685
650
655
210
584
59
655
938
301
748
539
544
198
445
923
451
935
940
122
718
246
289
509
135
746
301
566
600
505
567
767
594
437
123
485
129
577
436
296
46
577
304
446
780
698
940
540
306
231
441
397
965
543
419
211
448
421
684
15
537
668
688
215
345
374
71
467
850
216
511
343
236
400
683
428
293
204
402
966
260
869
985
304
620
934
823
591
859
257
311
948
501
903
775
768
367
110
433
963
230
640
581
722
760
40
933
534
777
935
461
321
838
319
103
56
556
110
611
490
857
546
540
874
27
271
793
517
498
413
936
53
428
422
817
866
832
533
488
147
157
338
865
840
873
588
863
9
640
915
342
487
699
925
605
59
956
455
391
526
572
371
592
227
580
830
715
368
732
163
293
209
26
519
940
423
371
415
635
498
560
837
533
379
385
220
438
766
169
702
275
754
788
689
257
993
991
979
474
763
489
359
92
600
575
248
905
500
124
378
297
167
186
976
153
852
811
49
753
38
645
551
438
569
931
205
101
618
477
880
619
186
715
716
659
281
789
388
2
15
224
685
770
179
399
884
628
672
944
290
911
707
485
6
295
524
914
547
613
544
181
297
951
381
301
24
671
366
374
84
705
524
336
209
766
351
163
272
921
977
831
973
887
472
390
62
693
710
771
43
831
842
25
206
295
272
252
128
605
124
708
303
195
714
886
755
956
140
27
56
815
527
533
479
690
99
641
598
150
260
795
150
322
600
812
845
981
856
715
253
425
241
755
924
383
773
580
239
782
274
791
155
236
423
47
339
848
814
123
100
35
352
367
35
163
794
847
117
647
432
853
530
763
494
72
725
335
897
475
337
575
955
312
766
220
161
414
758
0
844
907
484
498
537
762
865
997
291
622
396
776
891
666
48
46
794
534
746
208
822
866
895
914
289
17
406
467
687
723
627
520
528
776
988
81
258
161
964
932
487
226
706
240
370
886
437
802
162
764
50
566
303
577
388
18
381
11
907
510
648
663
704
172
614
819
405
115
820
462
0
505
571
464
272
702
505
411
946
506
589
459
443
738
700
392
666
595
715
410
964
761
363
403
196
849
617
371
696
739
505
712
574
193
328
590
788
163
404
870
803
969
609
833
440
600
261
946
585
200
210
215
783
810
311
616
478
730
346
856
94
846
158
761
556
340
619
608
0
988
767
847
163
683
473
12
117
956
698
932
156
674
746
642
234
566
599
57
463
718
156
729
530
94
360
675
908
132
735
730
746
30
531
535
670
204
200
994
569
783
101
946
948
616
123
276
578
689
591
383
906
430
69
584
595
22
421
101
101
650
441
323
202
118
259
428
66
453
911
208
612
948
280
695
193
549
570
647
709
907
140
69
264
762
614
101
564
801
908
223
331
389
308
913
761
63
704
806
582
988
789
46
861
419
483
389
775
678
746
827
64
196
414
256
199
664
885
309
285
508
932
752
447
448
152
158
880
568
77
257
311
130
6
73
430
825
565
756
373
522
183
868
575
505
584
95
754
604
505
275
307
305
986
970
954
264
190
518
797
708
602
645
825
983
505
993
140
664
100
833
634
609
380
7
317
199
2
112
659
567
394
430
223
217
735
89
479
777
189
475
523
923
984
34
339
727
866
417
860
895
502
683
370
597
516
512
190
968
191
185
46
233
100
886
104
284
181
932
224
801
349
412
958
422
933
593
646
371
936
585
693
69
695
140
238
243
470
867
303
251
26
48
337
374
454
765
587
249
541
752
250
800
10
171
66
7
700
32
531
47
730
813
51
484
716
283
301
147
688
621
93
511
623
906
942
943
171
408
517
673
890
146
658
453
835
307
689
491
301
945
525
570
732
401
523
907
127
572
233
838
481
11
178
62
787
338
618
197
575
183
615
712
338
5
955
96
878
494
709
159
588
288
667
233
975
740
374
135
314
796
844
460
227
807
798
3
950
103
283
980
354
931
771
810
723
656
931
454
389
896
868
562
929
41
835
957
729
627
951
792
337
967
634
802
120
283
214
301
399
144
340
659
386
453
824
809
671
269
529
814
759
925
254
18
309
185
211
766
328
114
193
311
255
730
468
441
642
748
761
144
355
104
74
406
876
361
293
877
435
841
943
580
67
940
527
206
608
336
954
963
135
115
861
240
309
552
287
61
549
770
102
781
548
464
647
327
858
607
141
933
308
775
589
589
322
650
487
252
194
8
968
966
52
754
112
794
599
37
866
26
875
282
780
865
974
132
16
25
955
844
205
730
301
572
910
548
959
305
124
707
212
341
201
320
370
49
298
379
257
529
188
232
573
243
630
692
82
838
698
868
696
575
840
317
273
842
531
487
17
259
55
485
835
140
561
891
707
967
866
139
886
514
252
338
507
855
175
857
611
729
609
441
392
662
802
20
343
507
610
322
129
337
0
884
265
349
509
217
343
429
537
479
194
26
580
449
887
797
139
983
321
523
299
39
428
704
125
366
837
660
162
919
281
522
668
264
687
281
615
400
23
498
794
64
328
850
186
751
623
453
962
692
152
477
613
73
806
879
201
535
745
471
961
889
583
114
746
43
117
688
314
327
795
594
372
254
986
779
101
453
252
944
546
985
417
752
128
145
738
440
928
751
918
120
933
746
12
3
190
372
430
509
943
569
604
814
174
526
6
429
232
52
905
868
148
147
62
175
696
71
978
689
639
334
574
343
212
921
653
829
751
681
735
25
658
896
427
167
287
806
260
55
427
52
479
822
266
110
313
624
303
447
196
447
448
45
627
61
438
174
168
833
291
635
610
209
660
509
752
94
17
324
487
623
832
340
363
37
29
855
281
669
712
355
117
583
904
552
997
238
771
922
173
945
347
878
472
549
234
562
881
21
266
364
769
571
242
744
770
83
541
401
798
915
511
377
220
821
271
796
994
782
746
69
340
729
528
62
240
512
754
424
360
836
411
985
806
121
17
603
306
620
67
243
807
546
829
345
525
721
543
704
148
482
25
830
641
950
183
916
759
155
104
683
551
959
937
552
628
964
738
815
881
916
828
470
120
867
531
981
638
829
22
401
615
371
947
48
754
428
663
989
15
619
618
752
892
387
523
431
785
302
619
35
163
109
400
92
956
753
929
783
525
634
988
121
147
571
378
361
783
96
139
255
565
170
381
78
37
700
616
684
727
190
590
283
701
265
431
830
591
276
812
132
553
726
140
670
563
981
850
96
22
382
23
936
695
7
510
663
814
397
681
843
426
971
463
816
720
916
394
783
345
570
300
358
627
326
678
224
842
922
937
927
261
919
693
90
602
80
211
55
74
767
670
583
869
676
494
546
35
341
87
85
497
161
801
300
20
606
315
675
465
286
384
219
39
752
387
250
637
18
833
213
544
478
230
626
181
785
546
288
479
871
798
160
384
405
886
216
964
477
427
839
452
803
26
64
666
143
770
483
842
463
822
189
396
221
389
533
897
956
440
55
623
298
674
332
758
917
750
867
905
667
145
224
625
100
799
709
841
152
793
206
107
871
886
465
180
386
166
33
139
670
194
409
741
572
285
627
0
235
706
437
567
835
43
325
843
475
984
958
122
126
862
227
745
144
50
543
455
165
974
792
842
507
144
558
215
366
691
399
943
86
297
518
378
470
552
174
452
858
517
949
346
858
136
558
869
884
378
264
785
629
73
835
203
695
910
984
306
28
120
516
141
357
445
705
656
753
199
273
316
691
589
717
802
272
304
627
368
640
702
113
10
128
780
28
165
234
692
947
775
24
972
603
859
944
779
680
838
816
379
580
208
787
825
555
991
142
631
303
855
188
923
291
732
43
460
411
530
111
510
826
18
324
211
874
174
998
204
693
989
50
756
393
182
55
447
536
577
58
26
64
549
714
10
620
147
136
910
147
578
737
859
907
8
899
663
609
157
364
611
431
297
783
563
397
863
188
889
158
545
210
474
941
16
570
805
338
232
897
446
680
349
398
810
85
351
251
159
190
9
5
438
404
309
320
591
71
363
971
855
363
159
552
142
836
163
151
295
632
190
322
659
364
963
922
861
776
836
558
276
588
407
834
355
577
45
179
313
389
627
714
224
867
639
755
287
739
965
710
810
568
581
605
914
539
307
565
490
477
188
337
168
594
609
522
731
815
431
39
29
263
334
700
412
192
720
520
4
783
996
330
294
470
736
893
149
441
146
321
448
220
221
654
87
904
480
955
150
780
531
568
205
602
723
878
747
280
290
681
648
659
863
778
397
512
905
295
968
348
471
214
864
376
905
298
453
96
306
282
48
753
953
161
496
739
14
451
491
504
103
65
351
889
354
927
173
720
17
523
442
124
599
1
201
839
81
389
807
945
707
48
490
67
707
341
950
671
925
457
372
965
74
195
674
910
977
905
567
548
950
655
698
475
743
616
138
991
249
671
908
429
42
394
363
103
443
993
848
899
669
421
117
906
944
38
997
794
28
956
838
755
521
333
898
215
760
191
703
596
693
354
757
149
877
176
388
314
280
812
352
6
920
632
559
710
719
498
192
164
315
71
361
990
835
96
630
6
680
158
411
656
833
413
996
232
655
580
205
217
559
810
964
173
936
403
165
531
921
827
58
833
561
642
188
255
599
502
377
746
454
304
636
734
542
768
152
452
85
218
381
945
911
389
458
421
110
161
254
564
676
653
669
145
764
417
858
551
379
282
409
16
187
501
464
435
265
705
454
510
181
99
88
708
60
61
657
858
441
322
944
456
886
952
37
525
53
658
135
219
474
405
857
488
914
106
686
345
602
386
946
5
64
646
709
904
154
426
701
162
107
38
71
891
293
35
244
636
799
828
48
302
45
87
37
972
91
844
999
357
563
587
93
420
384
912
324
635
971
412
617
8
389
853
709
415
692
138
873
317
113
900
736
326
497
154
757
235
851
847
77
677
937
269
96
239
543
40
649
648
26
108
780
533
125
314
16
826
715
368
159
727
809
153
421
434
459
684
891
87
13
357
561
6
788
27
414
910
724
340
595
875
384
259
240
504
253
752
624
20
477
881
600
602
834
747
400
558
257
140
999
981
498
520
413
671
96
832
548
601
492
85
200
975
642
647
467
275
40
111
164
416
402
938
760
518
205
893
871
726
881
532
26
716
538
240
73
463
982
83
654
484
277
460
774
161
862
162
513
977
265
985
871
86
143
72
291
262
929
412
288
685
46
455
554
272
326
741
599
425
634
853
527
941
81
49
904
41
642
3
135
759
99
539
921
370
169
895
426
19
824
413
227
501
79
638
738
865
802
290
925
232
578
828
874
742
564
669
135
503
306
318
668
940
63
467
697
240
563
790
387
571
953
500
643
816
258
842
944
257
462
965
514
496
524
759
73
871
437
899
670
85
562
224
761
799
846
819
16
868
452
56
570
521
596
252
486
22
477
125
312
375
658
885
98
236
291
779
138
462
703
267
334
249
233
727
31
478
533
175
780
875
75
818
917
945
964
872
917
445
995
356
947
217
62
748
574
624
709
345
744
391
213
961
671
599
480
534
391
422
95
237
531
781
467
790
249
822
145
899
823
93
939
175
859
443
270
719
794
429
958
651
129
892
22
425
485
877
53
391
437
569
79
253
798
834
604
379
266
693
448
747
192
56
742
513
146
404
180
423
270
441
466
983
224
366
383
711
33
512
624
493
535
439
924
199
211
569
583
779
408
379
286
800
214
217
975
647
571
421
732
673
141
904
168
64
4
547
847
126
440
963
729
252
651
821
862
574
748
621
392
669
794
359
573
926
231
60
452
532
776
375
830
369
919
367
350
770
632
774
653
183
492
450
589
487
931
921
134
423
201
694
658
331
119
346
210
928
804
133
845
844
632
255
784
439
364
201
924
414
503
448
56
746
690
898
548
603
700
16
282
478
544
637
418
588
84
66
607
38
461
526
968
357
478
275
644
245
277
54
976
663
898
457
990
230
435
313
272
806
498
247
894
709
192
885
478
463
37
927
421
879
932
213
493
695
897
358
797
458
585
220
718
983
195
725
891
595
374
168
613
804
745
157
16
128
864
406
753
544
64
760
247
194
841
904
113
109
516
263
205
127
347
236
862
342
875
604
584
106
692
690
511
879
371
788
430
751
312
975
804
457
543
539
268
802
423
843
615
478
479
236
600
254
464
864
434
456
860
734
767
64
806
567
407
675
809
948
961
181
820
765
788
521
917
843
461
391
386
619
948
945
684
137
909
944
995
247
810
607
649
530
936
821
111
439
20
891
805
232
753
660
736
5
605
287
884
292
940
728
817
67
705
430
134
233
5
337
315
252
62
919
354
25
386
814
659
534
662
638
817
840
237
213
510
211
354
342
777
805
753
396
585
217
266
237
954
118
466
312
612
877
409
713
634
984
830
744
698
316
386
46
574
335
12
854
307
612
487
165
5
346
226
212
316
570
600
592
183
556
263
892
801
475
745
915
587
604
82
361
27
115
695
174
383
132
936
379
498
784
415
434
307
163
507
829
289
609
769
392
483
377
639
459
838
310
160
25
818
579
784
862
165
79
93
186
353
356
127
869
698
599
923
554
721
976
266
924
721
781
605
406
184
70
367
292
374
679
679
44
321
503
953
908
182
574
741
798
200
763
617
319
506
108
289
714
42
462
962
972
407
977
851
156
144
65
596
531
962
917
648
664
499
146
475
110
421
137
578
717
232
125
548
747
825
47
70
90
727
215
893
225
679
496
694
511
302
32
669
146
415
207
887
583
87
136
359
192
150
343
666
17
773
959
94
125
612
624
935
5
258
352
303
22
561
602
577
951
132
563
696
914
988
661
491
245
66
679
955
80
275
55
159
395
511
756
282
910
866
296
709
830
56
182
531
183
74
588
851
225
255
457
971
117
871
398
570
440
613
550
198
896
407
22
324
53
614
934
101
938
60
102
563
83
385
713
402
101
213
694
970
590
890
888
390
926
141
302
267
438
168
161
691
183
73
824
48
388
904
750
731
996
972
706
106
107
474
631
470
59
819
939
368
402
811
6
18
595
914
865
131
328
412
421
290
467
549
804
39
654
129
656
570
151
628
266
515
607
900
894
731
816
49
882
996
574
582
360
241
969
861
936
710
853
505
384
777
958
568
295
604
605
792
83
634
550
315
890
746
811
88
760
198
937
564
427
13
726
640
681
904
728
372
859
6
406
724
586
737
943
82
631
706
438
572
238
27
395
608
779
938
664
480
833
253
154
671
774
467
643
413
416
548
598
891
356
737
176
66
245
411
177
669
756
392
695
609
23
385
589
130
70
470
9
156
825
173
761
850
571
45
211
832
890
307
709
729
202
508
48
245
225
666
254
891
233
171
253
878
840
633
390
917
56
26
260
558
417
235
653
461
130
531
18
437
444
748
142
32
632
959
166
956
751
209
818
51
586
83
658
853
370
658
840
681
234
842
437
538
455
695
730
497
784
624
254
648
297
127
105
219
0
94
373
298
315
778
98
719
822
172
874
613
699
693
199
281
680
745
72
800
26
563
780
63
46
987
394
773
862
909
811
402
778
348
240
725
151
888
119
835
158
586
239
595
771
311
87
139
683
497
259
932
174
224
851
779
617
415
782
524
554
797
378
179
11
512
881
622
647
238
240
704
606
442
19
959
292
613
8
515
890
671
852
292
97
415
919
431
124
413
552
290
801
411
989
386
552
954
862
822
216
770
925
728
939
380
787
949
758
775
77
817
143
220
245
680
361
997
894
223
614
710
894
551
105
265
193
714
210
369
236
777
114
860
666
966
420
274
44
999
837
140
897
34
772
592
312
554
115
360
28
757
657
587
577
452
520
776
995
118
174
206
485
411
563
222
714
739
522
872
554
735
59
533
202
212
623
735
564
761
688
828
942
338
239
528
26
966
373
604
999
491
794
533
311
110
522
49
57
807
360
243
407
278
333
332
834
13
231
945
456
618
174
346
371
684
557
333
994
662
376
704
995
571
558
878
550
99
822
823
591
273
603
740
506
213
955
713
263
288
352
522
276
253
46
846
975
401
293
181
417
87
573
49
256
713
559
93
664
513
202
185
356
18
175
51
251
951
227
983
305
766
971
772
379
136
320
625
268
991
156
59
471
541
239
654
550
978
73
460
489
761
332
8
125
801
612
35
916
791
965
363
355
740
234
72
946
748
544
323
188
723
920
712
101
354
730
922
331
564
529
692
206
508
697
29
886
111
957
350
265
98
503
745
824
354
564
768
139
447
149
317
407
399
994
477
12
472
497
665
123
238
871
437
846
401
334
444
528
877
758
75
407
569
155
837
184
605
233
956
822
241
755
66
703
304
231
22
342
455
854
629
478
374
838
760
68
8
848
928
57
718
332
16
405
344
884
426
452
4
926
874
789
732
1
256
156
947
551
781
189
829
243
198
280
870
535
278
669
136
390
212
901
268
294
316
905
176
437
322
651
950
192
388
326
863
740
24
224
49
34
956
253
188
638
970
967
78
985
551
521
615
798
200
133
705
551
296
909
121
17
118
335
176
699
280
82
184
247
890
219
705
476
4
102
454
356
145
849
156
178
793
18
493
290
531
479
654
607
30
454
271
715
699
586
752
4
808
154
202
767
649
342
676
83
298
502
399
492
884
473
666
0
352
593
966
934
169
544
449
843
301
297
784
383
973
824
671
429
156
71
2
853
732
108
132
63
369
665
615
628
502
597
202
771
655
630
390
965
164
377
981
191
238
807
380
651
169
564
664
248
217
625
213
665
139
99
245
126
848
781
254
875
983
656
487
608
343
630
256
75
101
999
742
105
948
508
746
255
676
949
738
728
456
478
49
554
17
77
134
606
879
960
877
290
856
258
247
32
30
712
684
521
864
346
65
136
517
681
279
375
922
879
150
496
355
708
267
810
303
779
746
54
170
84
693
710
487
604
678
431
638
207
901
178
337
693
587
625
313
367
551
551
187
737
275
622
74
868
118
883
707
114
80
86
447
550
281
726
8
895
215
161
639
773
339
319
675
975
893
257
652
601
431
173
105
87
650
390
112
160
513
192
359
278
14
812
425
944
538
223
528
448
548
173
848
456
408
419
271
553
542
353
612
175
690
708
447
406
642
641
210
575
156
940
656
35
919
375
283
959
756
849
818
332
111
308
278
183
731
620
415
855
308
306
602
792
789
610
360
448
413
735
808
832
597
896
514
453
770
987
94
975
402
77
734
442
831
641
72
477
689
725
224
140
165
474
204
919
960
897
9
282
397
317
280
69
160
355
530
715
113
162
195
361
489
397
250
988
648
921
554
683
168
256
386
143
720
111
652
396
469
273
28
59
532
827
400
513
759
474
363
927
361
780
213
558
715
713
218
648
478
715
187
558
389
988
773
954
518
464
778
601
611
354
139
661
349
855
862
272
110
539
169
773
320
206
475
197
746
970
941
331
183
801
633
969
777
726
20
677
336
570
104
696
738
643
536
910
868
260
979
735
809
334
903
219
79
817
974
514
123
102
898
198
181
965
696
76
323
248
706
515
703
768
597
341
617
741
631
488
608
392
736
167
212
688
942
534
780
874
993
477
718
724
597
805
137
613
558
443
220
594
679
528
584
970
529
866
390
281
935
530
242
902
0
824
610
104
806
230
373
830
54
623
611
805
252
534
100
134
942
942
12
562
521
51
80
74
626
833
470
341
526
54
4
29
732
277
951
745
143
431
156
714
416
688
508
591
631
166
149
551
144
506
570
648
835
377
887
975
415
838
554
72
976
679
329
70
36
389
501
625
314
717
130
486
189
257
784
705
465
879
713
257
239
558
499
33
990
773
69
180
380
297
361
802
623
872
386
255
303
725
728
812
171
271
192
186
718
999
385
44
955
840
218
613
845
700
602
98
557
677
531
216
578
588
45
838
966
352
52
383
946
97
699
226
723
317
46
652
426
291
740
219
378
356
147
815
958
600
354
110
199
428
400
910
521
293
57
472
953
460
981
940
688
667
871
286
310
815
99
775
936
136
983
651
830
462
239
47
354
993
919
604
168
579
136
927
211
769
269
834
976
293
68
286
535
224
821
968
141
608
947
510
637
730
324
725
158
235
44
596
723
990
606
358
857
945
935
375
80
544
770
464
180
207
372
338
38
177
113
177
465
841
629
509
393
300
925
67
652
910
888
614
265
646
402
363
1
759
721
42
995
414
956
826
16
806
736
454
120
284
417
238
170
691
758
728
149
285
367
347
698
791
482
690
540
190
11
157
480
980
84
79
130
686
429
20
740
505
193
948
712
82
16
30
770
331
247
720
401
549
710
953
659
69
15
378
118
887
217
767
440
100
329
901
479
775
773
295
785
224
669
290
132
800
562
720
242
400
793
691
386
485
41
513
747
824
246
93
220
439
611
636
274
665
710
122
900
10
328
471
444
390
309
346
513
395
917
212
150
864
643
82
748
678
780
743
713
615
503
339
512
697
762
967
608
600
841
64
231
155
766
81
66
872
593
967
366
191
207
979
861
254
72
554
159
399
410
516
241
344
874
689
119
777
649
325
372
672
306
836
101
138
399
846
821
537
933
287
42
21
226
76
63
95
317
696
382
711
9
297
958
283
231
184
651
106
286
540
997
357
120
633
644
737
962
557
775
156
427
717
785
570
664
227
495
658
247
601
352
453
666
456
434
684
216
876
412
675
672
781
825
416
865
336
886
329
922
307
413
849
126
344
261
697
567
391
415
534
959
945
458
229
877
783
873
304
663
506
475
12
650
91
86
729
874
338
375
907
988
384
806
491
780
225
979
523
959
578
356
316
819
29
840
647
894
552
578
953
592
205
625
226
8
60
661
618
584
606
273
253
383
99
821
355
915
367
962
521
656
489
740
179
82
423
807
181
590
264
175
18
120
335
315
665
754
385
296
136
223
545
253
466
176
702
384
145
923
164
581
969
442
636
14
997
949
330
360
778
256
875
548
957
233
776
310
788
916
915
555
896
480
368
209
880
600
101
363
781
407
682
688
250
404
34
548
679
965
819
88
91
770
204
601
606
754
540
565
45
384
902
373
127
60
423
125
543
251
895
2
12
325
97
818
792
27
892
997
187
732
149
219
19
63
205
529
978
352
86
382
834
209
999
220
775
787
363
498
317
364
891
71
718
657
931
676
253
729
385
447
139
477
198
71
299
460
219
787
700
141
447
700
691
1
89
326
361
4
950
253
288
806
439
702
403
117
746
966
887
188
91
414
474
989
783
627
189
829
113
869
46
110
412
634
117
810
621
513
37
376
132
983
349
4
549
783
287
539
985
318
609
534
780
132
755
635
400
454
8
882
382
114
355
249
510
105
39
646
923
153
960
496
878
788
816
62
285
220
27
520
845
420
927
197
372
599
253
94
395
910
536
49
134
81
992
541
550
329
750
340
784
94
736
569
98
653
609
48
833
995
712
109
220
209
660
724
823
466
616
311
828
359
826
841
926
989
701
921
953
638
135
24
546
228
1
735
292
335
843
877
867
592
440
327
594
896
563
655
841
419
605
80
439
743
327
488
50
959
666
635
396
892
918
506
735
785
17
173
258
380
202
149
609
550
934
307
874
55
591
497
886
503
303
535
871
758
506
38
214
981
902
449
615
284
239
930
395
722
819
103
927
744
376
545
568
580
343
448
337
295
202
966
249
671
362
588
195
138
670
563
908
766
101
216
302
662
803
663
403
316
980
237
232
967
110
480
183
245
937
564
717
261
915
644
709
293
605
804
625
269
275
665
824
26
757
771
186
367
742
218
154
207
716
728
36
843
773
288
774
160
480
908
730
926
992
705
256
652
451
771
83
636
229
263
135
796
79
418
310
296
85
976
705
680
632
320
874
778
245
802
703
932
418
813
924
32
278
948
108
567
927
631
938
615
897
507
470
261
814
216
711
467
832
806
41
118
219
966
81
777
838
184
167
975
585
527
173
845
848
299
91
587
112
212
368
37
972
155
850
258
883
923
508
996
591
167
7
748
862
546
588
661
893
472
474
81
805
160
545
253
356
153
486
848
131
600
218
260
326
797
964
989
327
882
123
461
801
698
707
687
332
989
487
731
867
514
542
218
421
385
935
817
446
642
510
735
536
47
348
780
545
918
631
505
452
231
451
418
350
570
810
128
69
716
786
524
740
555
300
601
760
532
397
134
938
722
428
0
923
518
747
156
598
601
934
721
466
90
653
974
587
656
295
735
78
0
116
307
69
158
196
412
811
147
876
279
664
431
960
614
902
627
210
869
386
13
288
404
258
228
452
877
802
673
334
17
853
189
319
927
919
12
665
176
381
651
903
145
531
466
822
813
474
507
254
149
389
226
294
188
886
82
682
85
587
535
730
601
265
735
457
258
897
956
746
398
354
896
916
271
564
766
209
691
399
960
334
941
13
801
431
608
159
909
680
721
447
591
174
296
110
717
979
591
65
836
556
321
257
52
454
408
466
50
757
438
981
106
718
127
447
509
935
393
662
210
682
223
715
746
238
700
358
490
476
860
483
55
150
456
144
782
570
495
837
985
0
538
854
621
859
823
634
288
508
290
652
752
44
159
582
220
759
865
207
180
422
57
236
454
733
904
214
459
715
141
708
899
439
329
251
802
718
992
700
472
986
59
473
888
114
892
30
552
840
179
194
414
804
918
395
443
153
757
704
672
301
739
89
814
652
458
258
319
788
576
998
855
475
930
489
133
197
153
282
403
845
286
141
937
297
15
718
235
761
194
269
409
904
699
602
962
103
230
433
402
999
172
639
212
149
789
868
863
735
166
395
348
382
796
524
238
358
789
272
912
729
320
571
182
309
957
824
711
518
855
684
602
245
435
851
289
56
863
553
681
746
977
834
707
742
752
285
557
929
338
76
546
390
242
172
986
565
980
311
440
500
158
867
379
713
766
71
327
546
600
917
490
670
608
680
925
26
655
589
710
621
750
798
754
684
477
216
149
664
76
315
223
114
40
669
693
2
430
729
565
925
461
657
828
319
568
115
407
962
357
884
967
33
746
35
688
534
519
50
440
950
635
725
589
505
390
937
406
82
775
47
141
439
629
591
353
711
571
377
50
855
583
276
93
53
103
571
388
488
978
514
81
163
353
435
720
61
32
579
66
215
559
589
625
774
442
553
689
796
471
132
814
988
711
936
39
764
653
269
818
776
512
528
947
764
678
224
68
882
144
196
162
533
338
602
432
142
615
526
427
554
678
300
848
511
423
905
15
936
103
679
360
219
595
636
554
530
40
490
197
232
715
549
993
311
571
196
277
471
568
443
850
103
978
687
746
601
101
875
324
39
638
561
952
632
46
828
715
474
137
638
492
919
240
114
528
117
910
199
679
285
13
709
885
889
516
617
737
292
137
373
908
270
696
853
678
125
554
4
839
38
254
8
103
607
519
656
239
405
386
955
296
679
709
439
511
24
294
924
92
602
849
717
98
455
644
846
793
182
574
278
657
831
803
161
348
892
821
905
133
693
142
362
796
144
840
406
663
555
409
577
478
638
365
97
889
110
596
829
353
290
837
283
828
469
809
705
299
594
514
477
985
704
601
568
412
281
533
901
958
767
625
898
105
440
289
888
735
19
187
912
210
376
948
10
633
989
15
961
514
977
347
155
359
52
799
926
366
126
843
44
62
358
335
653
521
57
660
686
385
968
395
680
219
255
402
412
419
369
475
262
368
927
704
168
921
618
190
240
12
10
9
115
766
25
196
495
351
897
133
851
832
569
610
175
110
991
130
818
648
889
194
806
95
655
670
892
724
235
197
734
173
781
176
842
930
0
549
183
77
141
843
415
280
295
998
314
87
203
671
216
997
28
567
453
177
212
764
510
212
752
259
555
495
343
960
321
516
305
720
881
158
820
90
538
383
8
829
505
766
597
739
531
612
675
800
965
577
100
619
348
857
808
319
168
945
809
582
103
603
299
766
249
320
193
381
161
631
874
865
351
589
833
71
953
356
558
182
841
263
373
304
415
777
625
919
745
523
976
154
188
891
461
699
276
351
169
976
918
172
92
138
516
805
257
716
585
553
988
3
956
432
530
781
795
64
957
577
590
730
815
714
138
363
917
640
13
572
618
629
666
75
163
101
805
235
121
941
231
761
711
354
702
274
975
340
306
573
520
540
174
997
501
373
919
125
560
193
686
577
114
583
652
6
502
229
718
530
134
522
915
255
880
518
659
816
812
322
112
735
23
227
129
817
202
341
487
661
673
587
306
462
285
249
485
825
764
256
733
352
630
723
319
584
754
64
755
620
202
738
984
210
7
18
520
398
696
443
638
687
874
870
731
201
156
590
868
553
253
415
477
539
84
981
205
898
157
236
196
323
702
527
517
123
503
354
606
60
461
483
763
333
270
331
83
739
469
775
939
781
324
456
227
290
774
675
36
849
635
162
79
593
589
488
303
786
336
614
564
200
735
814
199
628
934
579
355
895
174
524
481
125
24
803
678
810
766
299
787
652
914
439
315
233
211
344
598
720
72
333
571
373
860
599
859
60
913
692
928
984
607
444
769
93
209
301
701
311
546
801
636
758
30
759
529
765
940
685
43
534
144
932
531
433
382
877
592
624
640
921
77
270
809
635
97
682
953
671
249
960
217
840
58
108
393
526
850
784
726
236
17
418
687
612
717
453
608
386
398
500
113
244
473
138
814
703
978
313
645
863
937
184
932
388
194
520
882
970
87
850
206
138
186
573
548
577
39
78
616
444
165
490
122
714
253
291
810
312
374
674
355
100
439
644
785
588
912
334
809
125
388
364
205
633
965
101
189
408
600
495
419
581
431
652
387
285
550
758
165
64
220
263
856
137
682
654
810
225
281
199
758
117
828
742
595
14
474
381
294
824
936
179
71
19
428
786
689
960
816
704
320
24
706
991
42
619
697
566
990
750
307
234
185
891
465
888
812
948
838
217
112
349
886
645
942
521
25
790
369
496
994
565
347
678
734
604
424
989
943
387
354
284
499
496
189
501
720
490
573
375
10
185
996
852
421
557
670
646
629
739
154
374
937
582
743
921
397
798
670
860
361
946
536
630
200
381
423
653
122
296
859
289
205
719
952
573
225
966
304
885
758
394
845
502
229
97
302
335
685
705
767
481
812
856
659
226
411
481
51
157
419
622
194
536
782
782
844
529
706
189
141
913
341
441
766
178
488
674
736
198
242
805
875
350
622
628
909
864
73
763
682
635
908
628
394
200
130
920
347
123
135
58
475
621
39
327
758
924
998
534
93
936
343
374
126
150
790
113
730
561
317
120
284
758
701
876
504
586
741
846
940
989
132
755
880
735
631
474
880
438
554
716
759
876
257
70
958
343
420
391
234
622
301
616
601
417
484
376
131
503
782
424
356
425
253
539
181
974
85
255
963
577
453
339
435
86
915
515
416
848
392
200
882
813
840
375
78
39
25
468
890
115
459
805
596
313
172
902
449
545
18
139
565
716
873
232
77
66
907
631
270
418
164
490
965
385
460
60
406
668
90
194
477
844
604
700
265
771
744
931
269
404
868
329
60
541
766
859
617
572
958
282
646
662
23
819
630
383
549
803
698
631
513
790
540
950
316
373
989
557
190
636
844
666
86
116
760
973
939
266
696
473
711
620
235
269
818
768
800
509
652
470
50
864
541
131
39
448
731
884
918
564
294
164
781
540
861
924
156
842
553
315
68
594
570
134
845
627
147
156
974
535
9
207
589
812
173
77
63
876
259
289
151
782
12
790
862
286
60
589
47
162
771
988
373
298
843
431
223
722
933
220
219
277
948
52
266
180
424
84
346
921
811
877
864
77
865
198
785
837
620
397
999
32
118
272
813
695
970
357
642
18
388
66
771
289
965
423
370
717
689
789
348
600
754
828
19
117
810
484
679
691
923
818
152
920
747
255
559
459
99
768
948
17
702
532
725
68
306
995
205
944
891
615
274
867
262
893
561
586
222
107
336
854
87
741
824
50
32
660
133
3
327
569
22
544
531
742
555
135
966
613
889
257
807
864
53
223
123
244
672
337
664
701
398
354
883
435
935
567
34
984
467
203
626
8
676
634
614
439
885
828
320
27
421
407
360
630
790
231
970
473
421
690
534
569
317
932
409
285
576
755
482
106
140
857
36
758
869
484
148
97
932
797
749
966
900
533
772
429
305
191
210
96
351
802
112
318
47
383
185
653
529
512
727
518
845
925
411
841
181
443
710
391
426
509
598
290
349
63
948
951
558
857
208
409
748
242
946
556
708
604
732
61
107
631
387
858
495
521
291
814
738
319
558
705
782
691
294
183
384
36
775
446
384
516
101
852
372
352
37
474
655
576
169
547
822
34
95
325
266
823
847
316
359
998
959
578
155
730
135
275
310
7
917
301
819
977
790
284
417
391
519
566
63
596
874
590
514
639
728
223
861
561
657
299
675
23
357
814
810
168
73
51
496
679
344
109
742
245
902
744
50
989
772
611
812
920
901
606
989
568
986
223
507
804
555
401
269
732
131
609
530
727
602
155
557
401
491
821
914
111
470
583
931
85
328
590
807
424
446
660
245
389
207
213
951
832
648
955
142
316
499
58
332
19
224
371
918
163
577
238
654
430
198
961
873
458
136
184
610
324
801
332
978
902
580
19
37
566
701
843
850
320
425
973
554
166
388
623
518
629
609
752
432
494
52
269
447
144
877
759
581
369
547
411
820
759
356
501
516
559
395
609
885
277
487
793
130
433
440
611
642
850
763
998
195
851
49
802
19
748
842
921
169
230
343
187
27
68
332
159
552
902
978
423
569
175
521
290
262
392
452
875
809
507
527
613
402
144
255
5
374
221
207
233
614
150
201
913
929
363
913
883
743
895
692
483
195
411
601
179
119
885
783
318
959
142
90
874
581
729
479
4
295
147
733
388
996
216
20
542
362
39
410
475
121
857
605
205
381
933
381
194
560
905
96
292
520
41
839
143
868
526
677
535
938
490
248
199
847
716
171
356
24
39
282
173
818
168
280
226
91
922
68
454
974
153
0
605
343
54
154
942
689
564
746
682
25
750
489
320
735
897
610
912
315
827
831
844
179
818
208
236
139
219
255
243
804
652
900
267
837
143
412
892
770
449
654
265
26
709
422
112
6
30
571
380
515
553
650
680
425
124
704
15
872
641
326
295
485
500
413
268
959
622
273
652
985
276
450
389
349
833
522
27
724
729
471
51
990
129
245
118
510
679
523
653
159
570
556
662
448
501
913
691
946
968
559
904
209
614
33
134
374
801
161
930
110
420
184
259
208
739
414
515
626
996
22
180
150
858
238
524
964
163
634
28
176
924
293
143
709
115
181
497
88
874
719
970
846
856
237
526
159
476
42
62
450
209
981
674
839
61
827
248
130
754
980
970
538
884
383
924
381
52
439
921
518
750
219
926
84
754
178
517
479
137
738
635
395
142
413
655
457
750
989
101
912
863
174
542
401
615
861
569
601
96
282
434
125
996
509
433
849
17
551
275
369
993
247
611
514
41
83
848
149
669
186
6
63
343
525
468
720
873
919
214
347
267
749
455
192
734
463
158
99
904
30
706
279
642
804
988
176
608
655
205
23
597
700
849
555
680
926
910
287
352
429
211
803
51
102
929
963
511
478
667
329
408
783
793
691
757
688
875
451
555
989
49
118
884
450
135
614
483
891
692
999
977
323
265
502
557
93
740
722
778
239
550
733
177
727
806
168
456
409
433
708
420
268
173
344
203
681
230
883
231
542
350
722
538
228
253
274
716
368
181
390
798
84
187
541
646
279
625
295
282
311
39
815
981
538
753
49
820
815
939
315
363
889
461
814
945
235
763
638
22
74
958
898
272
201
629
135
640
946
336
714
87
964
105
524
54
633
886
799
164
39
595
579
955
152
170
172
216
716
732
379
837
0
295
128
62
778
550
457
712
36
958
840
524
489
619
150
345
969
179
763
262
681
794
108
209
471
911
277
781
506
712
663
590
556
981
559
956
72
376
135
962
225
77
924
21
307
681
736
218
690
947
345
968
931
61
234
155
899
707
165
683
219
0
897
244
249
850
29
853
223
561
299
731
695
322
359
970
85
726
122
718
158
111
485
818
869
234
850
347
20
720
268
405
623
681
467
780
544
204
616
541
255
539
116
448
998
124
543
620
194
225
111
755
464
127
174
601
991
540
749
378
29
157
950
251
257
199
805
94
451
118
745
525
341
397
577
287
85
868
758
745
926
968
132
655
203
570
854
842
307
167
890
79
774
708
868
917
146
302
332
553
760
93
845
104
259
467
5
51
547
858
622
912
930
764
49
867
131
930
208
979
444
360
840
318
226
947
984
747
485
948
116
644
440
654
829
353
328
557
197
702
960
917
361
572
503
717
129
57
840
328
903
245
204
323
88
387
862
996
38
600
418
680
445
197
558
574
778
57
492
519
941
968
106
392
761
862
341
575
969
195
77
184
289
61
425
567
265
711
488
380
617
718
661
423
516
694
938
83
186
693
864
754
861
750
855
637
721
967
81
487
673
777
266
715
21
20
447
22
367
960
453
853
342
716
498
477
163
644
194
168
803
313
37
132
78
295
114
252
982
83
888
750
458
514
135
408
73
362
317
769
54
626
134
348
602
749
151
653
885
766
477
707
671
511
492
959
517
92
974
786
465
10
171
337
865
348
834
812
851
886
315
443
950
266
281
32
523
656
438
925
703
395
22
621
489
248
260
526
673
921
535
311
323
329
846
798
485
764
591
631
266
284
169
392
256
783
669
882
363
652
108
289
129
207
252
682
71
724
406
328
972
86
180
548
830
544
751
74
633
797
344
895
46
443
128
58
167
770
700
32
854
489
839
52
635
246
728
957
584
554
620
775
539
124
158
678
593
920
596
628
414
568
233
444
455
158
970
34
259
40
804
29
869
534
611
897
912
545
456
199
62
213
946
620
834
186
186
466
114
796
856
222
816
88
214
309
103
122
501
438
68
578
874
936
248
94
678
800
233
459
923
834
664
718
198
888
564
708
739
297
480
331
29
491
563
502
424
213
958
838
165
514
513
485
251
239
264
241
284
17
870
122
605
980
888
289
23
169
655
386
183
706
893
906
466
497
520
376
93
651
59
420
460
206
719
382
12
509
194
352
423
393
714
672
476
857
764
104
351
176
313
399
226
179
863
302
387
471
989
401
39
118
625
669
919
500
624
397
90
169
162
565
946
170
383
133
817
202
385
284
201
997
521
568
577
272
705
253
322
948
208
781
245
674
0
857
525
13
576
946
381
127
545
435
616
558
270
706
272
707
2
885
952
568
185
993
753
23
514
611
793
617
415
358
545
699
96
551
789
467
697
21
603
748
849
917
572
273
298
139
228
694
147
277
647
44
241
400
485
639
574
242
728
838
75
124
754
63
441
50
118
182
654
514
889
378
632
58
253
804
198
265
310
788
318
330
461
56
807
40
891
792
302
631
0
734
836
401
316
441
961
40
897
452
974
554
783
752
577
996
478
797
405
978
922
279
615
823
661
199
296
905
695
767
657
897
741
382
976
341
877
770
989
181
86
152
183
931
895
732
487
478
147
668
639
967
382
520
497
444
301
15
643
894
694
598
329
407
382
384
916
453
697
987
425
273
149
320
493
677
746
960
616
255
954
660
670
409
970
443
333
142
650
674
755
188
889
138
638
79
522
986
929
60
955
896
138
658
85
553
944
646
426
347
290
17
359
472
497
901
196
47
955
125
610
112
141
198
694
586
486
616
232
297
339
399
143
613
57
451
910
776
481
785
301
431
775
803
676
548
676
661
105
410
867
29
984
888
382
191
303
750
679
307
598
729
76
518
894
310
438
410
465
230
166
321
714
746
660
371
230
586
909
439
500
937
284
694
468
672
272
350
557
132
278
583
514
898
575
373
841
42
254
581
93
418
550
538
406
793
16
295
802
343
562
752
298
255
245
324
557
962
106
494
881
205
535
398
484
935
877
58
607
605
242
870
619
979
520
821
356
151
221
442
829
739
725
125
234
236
61
650
403
605
236
20
105
224
320
684
908
721
101
856
964
955
416
482
801
761
935
604
273
35
292
214
712
607
874
727
349
849
129
751
276
950
985
909
252
29
39
687
549
667
870
307
719
726
466
632
558
742
964
536
563
537
396
162
748
99
63
647
549
194
548
662
534
809
212
745
843
68
655
860
341
606
402
608
327
397
769
619
382
795
87
779
463
476
776
403
36
96
664
273
591
609
702
949
189
472
771
986
555
82
620
224
961
882
376
204
409
287
173
363
459
963
417
928
37
983
338
742
485
27
699
367
161
376
615
119
724
927
522
663
347
487
459
903
404
800
472
368
414
733
211
479
553
463
946
871
471
602
704
250
693
632
436
196
739
595
993
764
6
988
13
766
230
390
733
60
380
805
939
989
109
533
804
351
722
603
920
46
135
986
340
861
112
899
297
334
953
121
533
601
639
298
352
32
198
986
310
235
815
120
647
945
140
21
766
195
441
453
647
39
703
662
771
608
747
869
882
757
442
646
591
768
726
180
761
426
853
514
961
41
279
697
399
585
166
477
689
411
889
710
509
404
248
189
390
794
243
874
909
190
118
756
581
385
688
746
27
845
906
744
705
600
747
289
565
131
303
62
504
100
240
223
255
552
820
666
449
840
444
873
438
810
806
859
203
602
787
314
793
457
16
697
922
187
847
811
145
438
895
461
11
999
411
806
345
139
990
552
704
76
49
971
103
29
526
96
910
831
145
750
819
41
423
952
886
466
936
520
282
844
502
157
864
10
608
392
291
550
715
597
464
430
550
763
30
825
430
915
495
118
537
144
470
309
658
452
884
921
892
968
967
882
929
244
842
637
706
878
658
669
283
333
244
748
678
666
212
715
491
870
453
453
10
193
941
232
122
307
971
675
910
374
880
436
495
752
428
255
270
904
535
340
649
609
838
711
148
909
124
265
432
58
137
781
856
918
16
294
872
115
574
211
919
931
732
776
472
420
305
30
402
690
575
582
53
869
46
189
666
449
603
513
816
95
557
0
54
503
728
707
205
466
200
656
782
921
306
744
457
280
617
840
829
792
442
75
183
883
178
324
500
42
991
565
916
990
82
193
873
945
708
827
980
242
175
239
641
989
875
687
825
482
668
987
94
811
714
815
12
347
194
215
573
7
336
594
882
115
928
882
568
738
82
218
823
291
844
173
641
266
172
160
707
256
96
651
801
379
389
215
4
626
232
335
8
894
664
376
336
854
283
682
120
816
903
436
0
26
614
584
846
549
44
479
590
358
915
289
932
451
320
233
94
770
233
538
636
114
579
537
652
348
987
650
512
521
782
18
832
43
885
807
807
439
504
113
111
319
228
39
109
503
901
500
662
911
138
351
699
167
645
790
560
254
105
324
836
3
703
205
449
374
69
149
164
503
552
323
479
848
610
211
881
258
196
339
613
220
556
75
843
923
917
391
848
841
992
277
85
591
145
51
803
918
798
778
663
73
477
183
427
985
824
756
205
330
28
269
389
366
93
776
733
276
511
123
795
232
633
845
492
175
857
855
844
842
429
268
23
362
68
475
317
349
681
996
954
274
323
859
293
338
843
854
495
411
530
57
652
958
153
433
644
327
584
443
741
19
986
227
833
727
232
266
904
791
791
251
371
999
29
327
523
32
819
245
276
214
957
134
187
736
445
807
373
86
718
259
231
642
793
131
690
93
275
978
854
556
980
542
406
814
64
197
910
692
716
734
449
22
725
656
648
381
400
345
265
296
543
482
994
363
451
414
441
950
283
730
605
574
239
105
360
638
792
167
468
45
708
548
481
353
605
802
136
355
191
189
417
370
283
335
169
472
617
33
185
767
22
184
241
549
551
685
15
885
495
406
574
117
671
619
295
948
906
482
268
635
698
957
382
73
221
79
796
391
159
511
60
501
349
145
377
523
380
372
392
704
715
560
375
897
939
333
273
322
723
113
714
607
676
913
880
312
98
4
934
503
365
528
58
191
507
309
439
20
415
639
938
208
846
691
270
822
281
675
712
842
409
211
653
875
445
51
173
265
547
639
353
753
868
505
182
935
143
317
365
770
503
854
180
700
68
194
711
892
815
806
305
875
901
381
254
171
265
254
299
185
550
866
382
467
685
670
128
505
216
10
406
778
708
973
959
958
383
252
451
45
376
508
303
273
891
135
308
157
183
21
175
410
167
40
204
703
972
676
322
773
250
232
946
751
413
744
769
889
741
0
13
153
865
409
470
155
736
271
311
686
723
294
757
723
217
537
382
839
137
809
888
424
996
382
279
327
267
191
319
969
953
138
546
799
969
784
791
935
287
182
805
742
515
545
65
189
191
38
557
468
647
823
145
298
793
631
179
939
661
657
577
221
754
186
414
870
889
720
51
599
431
297
211
360
159
439
464
957
135
790
799
744
8
594
966
943
839
837
26
912
371
358
589
371
929
541
403
446
453
922
596
76
620
857
941
947
682
978
182
156
399
371
107
457
624
21
769
515
586
84
891
111
171
948
383
767
812
551
343
102
353
487
821
695
190
745
179
14
618
643
917
393
447
85
228
84
636
230
568
160
116
700
416
924
27
50
861
243
139
628
545
424
423
454
10
62
224
591
940
139
132
854
934
539
569
683
782
157
973
696
172
432
649
121
195
984
819
270
578
914
642
494
458
39
262
130
184
427
741
411
808
39
715
823
675
381
920
312
10
132
43
18
615
392
932
314
156
392
628
566
530
914
488
583
569
956
107
47
86
928
465
140
561
558
586
876
645
952
877
858
338
526
82
747
179
198
112
97
41
503
310
210
972
928
525
361
461
946
882
782
320
138
597
98
842
539
276
553
852
650
288
855
377
676
398
356
233
416
642
193
844
940
375
200
329
438
725
151
590
159
643
729
225
327
913
322
629
144
750
616
823
480
568
499
266
227
126
786
581
626
248
273
188
279
835
334
173
193
217
650
929
114
576
173
509
101
165
525
930
331
259
72
422
921
392
838
990
317
658
191
843
955
651
389
756
788
472
100
298
999
34
323
290
331
822
35
827
203
563
499
851
978
504
856
693
589
52
597
953
804
14
92
22
623
487
177
348
945
639
214
948
575
823
132
636
519
567
342
5
292
473
523
672
478
849
391
514
671
65
240
141
813
970
71
57
714
179
84
211
426
355
190
770
972
676
685
465
478
651
560
592
855
389
56
542
147
918
699
882
387
147
587
908
377
83
477
565
466
179
83
349
850
738
64
354
46
553
396
439
137
338
556
536
953
191
517
313
289
951
222
471
69
826
924
318
577
736
553
100
919
430
107
394
967
171
919
238
455
249
270
824
815
597
294
192
396
664
529
999
790
804
695
158
249
284
636
135
293
969
259
832
609
275
375
231
709
361
420
472
205
448
874
725
393
103
261
206
969
508
698
110
170
109
421
822
363
972
994
25
513
221
55
581
585
968
729
949
920
916
719
440
116
635
511
641
415
211
274
696
695
902
806
950
920
974
912
499
628
910
540
908
639
968
328
17
892
841
826
433
352
262
824
739
714
372
174
591
882
950
477
267
617
248
321
284
556
777
432
593
264
364
722
114
983
572
30
948
790
397
12
618
493
821
26
600
386
914
714
490
160
475
639
120
590
637
905
364
194
721
190
880
665
363
375
566
734
484
619
288
607
60
739
802
175
659
410
201
27
537
376
857
490
787
807
296
829
618
975
504
944
789
923
853
915
919
37
583
447
603
328
907
466
487
29
862
58
313
992
856
628
61
421
523
178
647
476
656
694
222
473
843
704
13
817
487
234
977
663
639
626
797
752
170
720
528
5
553
758
894
335
281
39
135
456
777
969
238
755
27
530
811
329
865
71
966
982
145
163
445
257
186
620
523
849
789
119
14
25
232
85
269
534
495
767
237
179
381
785
723
311
389
636
540
894
628
644
234
882
314
586
60
309
709
440
961
94
31
729
657
940
362
498
283
188
285
914
857
332
607
466
426
758
362
694
189
804
144
914
348
153
956
611
365
868
463
644
977
477
100
299
408
155
595
420
993
97
107
59
55
955
31
959
355
322
968
726
521
714
65
299
436
559
587
881
841
510
311
129
433
878
463
651
581
700
593
707
481
273
507
78
751
323
173
64
612
796
105
517
32
21
25
692
775
676
394
934
725
486
19
870
348
272
46
799
253
749
228
241
587
571
95
337
399
200
281
448
457
146
809
664
163
535
403
956
840
519
921
238
408
310
917
108
971
507
417
426
272
621
730
60
128
144
138
368
429
659
639
504
597
409
358
697
294
605
295
718
258
808
574
176
200
477
100
142
291
367
801
249
39
390
846
723
215
270
806
975
588
374
660
712
287
293
162
543
788
398
221
879
222
649
373
77
887
75
13
707
460
508
167
310
905
676
917
828
779
797
492
770
942
575
235
91
282
847
80
916
630
63
406
158
812
205
338
309
182
240
687
68
915
309
287
721
162
974
165
748
947
278
629
306
767
824
934
669
103
32
444
574
882
16
148
638
459
19
668
417
969
265
586
241
431
940
989
482
603
388
562
10
89
203
180
154
168
81
148
221
788
299
993
969
523
937
28
376
782
901
26
380
504
846
207
150
71
331
645
345
926
882
468
940
59
434
416
964
774
354
685
128
353
534
847
687
172
976
494
312
571
948
542
558
27
644
746
963
84
514
192
712
181
606
643
203
768
712
327
180
453
904
43
558
271
216
412
537
86
631
392
365
290
141
297
269
707
425
772
830
400
234
172
843
214
546
720
282
784
755
500
885
868
120
127
744
837
838
482
242
25
263
405
918
642
167
257
56
618
269
481
817
838
44
300
88
441
224
594
51
942
685
676
152
472
251
400
571
535
45
623
487
923
31
265
49
554
772
529
981
777
695
624
113
16
754
496
383
332
322
655
309
236
139
932
375
285
966
9
749
422
374
439
90
64
451
862
820
424
270
3
951
321
950
228
720
745
67
479
3
737
602
174
720
561
345
374
769
275
614
382
484
283
394
992
485
720
416
14
364
513
301
967
892
801
686
890
313
15
534
954
681
943
725
833
560
838
70
393
139
418
145
95
139
813
661
655
419
275
906
726
937
14
450
230
289
986
29
709
708
953
675
571
790
133
534
203
655
506
724
823
699
606
113
184
760
370
899
21
414
587
534
559
378
810
277
618
1
131
886
225
957
99
301
78
901
14
643
804
933
479
452
659
99
572
785
32
812
736
953
830
431
350
163
508
253
775
31
201
259
17
806
126
924
396
56
521
542
488
562
909
875
575
302
767
782
564
544
293
985
548
923
508
681
773
245
86
854
265
338
342
285
788
561
104
146
545
691
661
233
552
435
997
277
148
74
780
102
321
751
39
967
231
242
288
588
343
311
881
454
216
199
501
808
423
248
404
136
779
123
42
556
909
338
45
268
823
911
450
474
913
289
751
669
424
479
863
897
70
489
452
110
455
912
738
415
773
687
112
544
972
78
863
578
551
87
723
532
471
699
565
61
180
965
17
385
389
349
17
701
718
616
109
548
920
513
698
830
370
630
864
381
721
396
511
103
301
662
50
553
284
397
511
994
547
287
606
992
941
413
774
606
989
664
840
871
236
483
777
140
449
22
98
431
86
287
560
156
512
939
627
310
445
421
552
226
222
813
904
587
89
582
328
117
580
721
977
370
153
699
191
874
373
709
776
471
633
641
94
651
417
476
121
807
539
313
333
419
77
186
31
693
906
943
302
489
940
323
519
125
681
485
508
473
88
43
491
566
782
834
342
294
484
811
203
758
628
888
223
696
785
541
512
47
422
625
818
471
265
824
211
369
472
71
25
551
67
411
59
195
561
552
789
978
918
294
736
762
356
93
675
800
421
206
840
71
400
268
34
455
422
470
212
119
187
997
732
92
185
492
637
495
500
233
260
558
44
909
25
772
962
752
123
654
583
468
569
540
369
284
905
305
981
339
520
129
491
38
325
472
874
543
812
926
12
266
600
880
43
711
202
476
5
563
884
776
914
428
92
625
632
747
720
109
405
910
814
872
517
241
213
674
771
580
976
448
223
578
363
285
396
313
61
989
960
481
748
382
382
508
309
212
459
278
753
374
119
900
238
862
112
755
490
70
790
807
50
85
857
235
625
335
863
593
904
474
185
658
108
59
791
159
498
286
603
476
976
481
763
127
174
206
868
171
848
609
693
324
493
395
557
723
115
72
926
70
157
699
937
815
67
497
400
769
50
475
255
795
77
246
909
318
516
823
497
566
861
207
48
563
285
552
419
501
762
105
775
811
604
774
541
984
556
838
522
990
575
914
844
803
740
299
293
432
690
807
188
466
441
548
555
209
611
444
5
875
976
12
961
572
965
367
798
924
287
25
904
574
561
734
118
420
365
292
776
329
950
294
908
205
448
94
560
787
750
702
130
834
908
492
314
720
791
313
6
572
18
52
181
907
146
659
755
644
311
145
200
564
555
726
376
821
260
812
4
577
97
772
572
129
502
502
248
30
847
791
256
605
380
52
701
248
564
700
271
308
760
663
919
229
164
619
478
748
713
397
286
381
947
902
824
672
296
243
722
521
395
322
348
768
444
258
425
487
331
687
578
114
175
559
300
730
148
593
794
495
103
945
154
63
935
3
771
36
159
422
614
224
424
104
26
70
719
34
963
574
419
508
300
246
653
412
215
742
285
602
696
245
309
601
650
368
506
842
674
933
128
802
840
616
430
951
997
339
204
801
781
743
723
113
357
708
551
795
512
90
276
778
718
399
521
922
482
507
340
781
180
370
561
337
868
926
169
500
193
818
174
929
130
176
893
608
647
450
14
412
123
354
928
882
870
957
350
807
491
679
941
398
442
513
600
801
701
175
800
970
652
851
127
101
276
64
784
390
285
757
646
933
571
107
793
528
960
900
335
720
250
952
32
919
536
38
613
902
681
988
324
580
775
45
779
712
867
533
616
23
682
456
224
223
393
210
97
527
55
286
331
289
634
666
207
547
965
983
33
257
179
322
873
621
502
733
106
831
735
559
657
395
239
195
153
648
436
886
80
482
280
673
999
211
700
958
81
1
765
712
19
890
415
896
920
13
587
208
838
992
471
139
768
49
739
859
96
319
98
46
538
997
596
437
487
179
848
15
113
775
206
211
991
402
953
285
37
647
806
891
43
21
25
800
162
635
242
184
641
964
127
543
547
201
419
100
149
383
397
213
586
681
259
599
660
966
267
398
20
925
2
493
427
371
843
232
50
290
777
556
631
291
406
483
527
3
598
715
635
403
142
799
984
813
89
283
644
993
531
435
208
880
813
655
685
771
394
176
747
16
279
985
777
889
449
795
388
43
677
297
500
936
436
85
880
661
865
481
530
195
421
799
302
897
364
566
591
171
221
366
156
275
847
384
17
849
641
991
480
987
980
541
467
886
380
828
265
612
471
16
453
490
481
33
315
589
428
383
495
325
607
357
613
319
245
840
767
650
200
88
356
116
745
609
668
552
91
335
191
566
820
583
242
195
332
216
729
363
258
282
416
900
255
632
451
604
267
925
486
252
376
664
668
423
391
458
303
97
655
970
624
495
658
719
345
117
413
675
450
590
431
543
550
397
190
987
685
448
617
487
706
934
372
500
98
547
384
853
11
260
432
275
998
252
262
312
731
211
152
32
843
381
438
720
464
342
540
105
845
744
883
237
430
922
768
251
971
727
168
584
730
163
852
497
580
412
816
407
589
185
207
280
647
672
899
166
457
197
566
630
953
789
455
306
731
75
506
656
934
346
583
98
508
79
226
328
592
146
317
869
830
131
746
694
70
116
886
720
293
290
393
504
656
863
51
896
351
779
180
515
99
517
395
222
622
331
668
164
882
844
293
592
729
683
651
310
457
293
705
833
378
331
645
978
715
429
644
785
422
774
916
12
999
205
378
170
990
978
90
818
943
840
292
154
505
931
962
426
680
861
835
926
531
248
302
467
106
611
355
150
917
838
360
130
800
366
540
365
314
174
334
506
470
968
72
649
887
841
767
813
341
628
979
653
859
470
703
514
490
696
976
574
768
566
706
457
495
350
416
666
709
159
312
715
2
575
539
194
374
304
35
493
462
611
433
14
586
175
346
497
318
662
250
248
231
272
894
659
383
380
223
207
666
107
294
852
826
294
100
622
706
887
182
434
767
141
364
57
104
328
329
839
413
104
879
656
886
901
613
885
532
102
702
933
418
412
8
838
794
652
926
5
229
707
347
367
87
569
644
503
604
925
98
679
58
409
153
912
163
524
816
124
362
723
536
255
222
235
878
552
971
881
16
972
544
259
349
589
848
484
523
910
629
896
940
746
494
493
637
47
221
570
348
504
670
500
72
325
497
164
39
145
975
682
411
4
161
980
859
559
807
270
943
594
999
830
119
284
18
731
336
537
896
945
678
118
148
818
414
987
39
284
410
185
893
6
923
339
383
50
738
154
711
627
318
898
203
249
600
329
829
397
246
619
299
211
292
126
698
575
285
99
749
243
189
715
918
58
387
382
373
762
141
939
337
398
57
345
477
163
697
95
274
574
616
447
52
896
212
753
461
425
203
745
245
129
930
61
540
12
946
465
44
373
516
207
970
780
422
225
111
53
659
140
656
182
205
428
380
270
180
755
51
662
669
827
921
169
210
318
446
434
424
977
36
538
976
169
394
871
760
745
487
872
593
436
140
801
263
45
628
6
949
232
290
519
68
776
869
859
388
314
575
328
325
236
807
692
356
104
229
506
34
206
187
131
719
201
341
908
635
598
433
970
799
852
657
732
365
806
158
118
143
698
183
185
470
669
824
271
717
911
791
427
118
963
259
263
320
757
426
747
155
347
613
413
632
209
207
642
780
744
704
93
285
114
472
200
44
87
51
540
545
971
730
783
271
575
175
182
495
102
383
547
34
998
653
637
166
350
498
114
430
727
532
890
825
277
338
445
868
666
683
273
366
752
245
137
78
469
942
370
744
667
368
504
376
614
633
423
487
91
659
732
727
345
236
558
158
664
25
894
674
194
751
177
654
311
307
292
817
415
880
60
466
735
897
456
769
81
462
151
249
351
869
713
629
562
582
73
82
774
236
539
575
575
774
191
485
465
305
571
189
686
340
961
409
433
49
717
111
406
349
763
678
397
711
826
663
383
127
686
260
231
348
386
917
74
165
801
426
244
522
459
655
162
455
869
646
11
173
248
45
896
532
611
248
997
272
436
329
613
472
622
635
539
403
398
709
748
910
646
128
658
800
104
955
35
604
859
883
562
348
708
392
960
643
396
34
775
281
836
6
575
356
399
526
251
648
177
125
738
142
218
302
457
830
924
940
714
234
877
146
349
869
38
466
198
945
40
423
106
294
564
843
672
235
473
190
162
82
792
897
863
959
67
824
985
156
944
138
109
833
823
73
36
938
404
906
983
349
293
785
194
345
340
201
364
688
380
641
140
521
581
955
607
887
577
154
278
885
762
541
0
944
808
267
882
14
640
626
552
476
440
552
188
528
684
639
227
30
342
110
474
582
221
480
103
538
769
891
521
304
882
855
614
696
112
787
652
342
318
534
207
818
92
547
265
169
968
525
467
792
752
455
725
550
683
66
947
210
439
608
582
142
78
460
66
336
143
538
417
533
256
540
314
939
968
733
99
380
268
890
672
231
398
110
541
336
738
842
141
921
826
112
476
941
872
726
499
321
983
15
466
705
764
409
420
805
23
915
476
382
411
974
469
243
953
984
269
872
256
733
459
62
258
572
116
70
633
224
877
330
358
206
575
201
836
9
966
461
198
53
764
105
782
693
193
202
437
486
267
198
998
315
699
396
953
770
564
640
843
829
281
739
909
719
793
737
637
537
224
654
204
587
452
161
576
712
717
455
352
579
268
978
132
169
454
639
767
192
800
130
330
177
362
259
815
61
242
509
433
656
723
477
225
232
738
790
2
951
592
449
380
623
239
5
542
781
374
177
408
67
920
184
644
500
611
356
47
474
114
934
443
624
343
328
715
396
912
382
971
50
492
11
922
750
974
467
999
667
288
102
204
707
750
226
911
887
374
971
209
410
787
802
451
21
277
706
750
451
776
303
295
458
1
804
635
742
815
965
553
662
677
584
509
670
957
978
658
758
341
439
815
153
523
640
195
224
847
641
234
504
937
104
549
766
503
136
491
422
31
54
186
967
385
825
303
139
921
357
925
673
281
514
94
28
626
36
76
633
261
664
242
497
395
942
243
67
205
556
700
873
173
518
830
320
990
577
514
607
650
709
99
22
167
763
493
963
50
394
627
754
168
19
959
563
649
14
893
151
948
551
604
505
661
47
766
817
254
850
551
583
821
103
69
954
601
996
905
730
550
109
178
927
197
902
869
480
809
161
567
253
438
119
277
321
441
40
535
867
530
506
231
121
966
416
763
166
589
673
416
853
854
533
256
385
390
582
467
73
354
615
743
515
662
298
741
757
431
19
583
906
981
845
556
549
600
592
765
836
305
723
438
737
759
417
145
983
168
969
799
370
118
885
674
528
158
853
416
41
894
80
280
620
938
705
309
7
257
832
792
853
902
846
349
987
634
621
618
980
642
282
58
766
221
667
673
100
376
461
594
35
110
117
628
8
766
437
886
428
724
252
138
14
623
961
188
700
629
484
628
947
250
185
877
303
117
751
843
273
982
619
66
158
533
429
640
948
978
897
956
112
309
940
439
870
718
883
719
548
229
64
42
113
426
928
951
581
510
91
571
403
179
381
223
850
976
542
815
336
540
886
347
716
269
995
38
38
876
378
470
270
112
711
464
437
146
417
954
213
529
226
42
914
749
427
564
737
896
119
474
444
688
545
640
717
934
414
227
346
145
875
401
661
820
609
914
144
995
229
241
928
484
888
930
17
513
927
326
286
548
264
18
633
618
209
212
191
170
464
216
849
667
586
985
791
670
111
429
502
136
476
971
600
321
990
3
368
250
865
566
476
553
496
698
928
368
426
850
111
209
36
307
358
963
435
594
561
265
88
33
185
528
127
643
777
553
979
704
213
863
463
232
851
790
378
203
416
220
133
567
244
918
298
11
933
587
870
571
623
973
47
320
891
470
740
783
785
147
816
542
957
552
919
858
248
466
488
740
501
444
277
816
428
381
526
159
886
953
841
144
813
638
947
96
105
48
234
970
219
542
479
365
200
307
304
346
451
89
360
521
139
96
929
385
625
557
186
595
472
737
82
916
750
201
74
630
238
900
477
843
544
118
389
916
227
948
635
744
346
314
311
436
742
890
594
985
548
631
985
827
659
618
73
159
277
669
596
308
57
927
403
879
366
339
735
974
178
539
780
229
585
228
884
359
476
359
124
593
343
519
40
111
871
172
65
832
611
407
439
242
437
376
594
219
827
574
485
347
536
809
911
178
105
444
753
358
539
844
235
156
596
751
761
495
642
623
199
960
142
228
511
101
775
74
808
479
419
50
548
854
90
614
746
930
728
957
457
695
596
428
778
621
38
154
493
856
852
481
596
910
752
944
410
607
873
150
808
666
91
351
597
67
834
100
445
797
856
876
113
762
658
880
838
137
709
873
488
114
708
86
972
862
237
281
886
286
846
611
475
720
898
925
117
428
711
556
715
728
594
815
320
749
877
790
571
31
897
26
606
23
935
627
222
902
645
131
712
828
167
493
723
846
340
754
553
859
946
333
366
664
120
661
5
879
714
455
834
870
111
279
216
677
149
654
131
455
115
181
410
98
843
831
904
887
274
442
267
256
348
501
198
867
95
526
985
414
223
481
498
22
994
303
133
906
47
218
183
479
38
396
529
971
702
166
394
937
773
167
598
238
855
219
656
401
615
651
70
103
692
792
239
880
804
554
191
178
628
776
861
208
884
127
118
218
638
664
181
794
936
260
1
553
192
645
41
688
787
312
714
761
831
245
488
503
953
306
449
965
999
72
853
710
454
579
10
471
292
307
81
930
158
101
664
414
880
363
354
54
238
165
863
960
134
455
460
281
82
266
25
492
320
22
76
919
735
949
879
832
713
28
247
711
3
848
975
358
938
940
960
70
116
589
20
272
885
958
147
708
73
255
958
903
888
552
226
74
114
929
967
510
4
419
878
889
677
668
555
929
14
541
592
878
592
954
506
207
533
546
977
490
499
701
420
645
714
890
932
317
312
128
982
765
985
832
916
720
9
372
694
595
285
366
140
618
693
710
436
81
279
464
606
926
994
448
672
884
633
283
859
553
513
851
938
824
373
925
982
681
604
233
472
280
794
133
6
247
171
577
877
425
834
591
724
727
655
458
255
150
601
836
862
923
791
794
795
421
519
33
288
684
461
477
205
162
376
350
504
519
604
876
924
318
327
395
822
484
517
641
385
501
435
762
954
202
142
475
206
875
904
528
58
831
186
973
45
364
308
723
809
671
418
930
43
92
838
514
575
822
814
115
704
143
775
924
327
243
315
29
366
51
776
21
869
527
783
275
804
830
924
572
903
391
239
467
668
313
804
892
741
565
809
95
40
729
435
865
287
928
739
109
583
35
672
9
480
632
520
872
281
300
125
822
633
334
538
770
824
638
321
567
85
327
416
417
972
898
609
230
690
235
677
348
743
826
879
143
454
95
336
607
861
627
362
271
159
559
927
773
442
660
562
485
800
444
113
444
194
180
974
973
209
950
712
320
982
75
764
124
760
379
977
543
510
756
263
439
458
393
848
92
129
784
386
692
612
567
828
931
874
16
454
931
150
23
16
316
952
978
796
0
418
476
555
558
900
385
232
219
626
596
158
98
451
13
133
126
869
638
173
118
746
593
416
816
945
695
20
981
251
73
317
639
46
92
425
47
83
345
617
496
776
790
325
423
953
311
233
692
632
657
266
174
94
120
908
133
212
723
598
435
346
146
56
794
30
306
412
35
528
739
288
291
283
779
839
602
478
245
700
596
395
807
787
953
146
346
950
684
817
631
404
156
542
593
326
893
28
968
104
752
925
732
675
758
464
111
417
596
423
159
557
494
890
23
789
231
709
947
222
491
59
399
262
130
11
632
508
676
880
371
416
503
841
661
32
415
838
975
403
604
29
877
12
204
934
531
271
866
253
490
854
742
459
294
560
776
615
183
141
522
622
711
600
844
634
848
94
477
652
689
465
9
723
783
361
237
724
242
157
619
79
905
46
777
465
534
794
356
350
281
320
610
901
255
897
955
132
832
907
459
766
592
703
948
563
659
811
344
934
632
575
50
649
865
741
834
334
621
443
354
769
435
574
112
761
863
808
835
215
206
105
353
897
233
888
378
533
568
654
796
404
693
947
8
492
447
266
483
401
39
256
963
564
735
169
622
93
864
897
18
262
547
370
987
425
793
435
700
922
698
925
16
927
488
911
12
747
820
912
565
920
311
943
854
9
515
658
590
175
574
207
622
197
86
343
733
35
300
599
25
561
821
158
270
130
217
441
211
969
109
440
961
348
357
937
399
113
371
718
724
210
301
283
195
831
68
27
449
960
813
490
71
282
170
292
636
960
238
390
331
837
646
605
176
802
893
271
533
568
561
813
406
224
692
317
361
892
113
127
26
277
930
11
172
592
277
709
363
162
739
363
691
60
161
331
417
824
597
892
342
178
721
266
672
759
658
511
260
780
118
669
483
452
138
142
27
127
80
112
305
745
204
434
807
747
666
153
424
25
328
485
545
973
912
547
944
466
954
470
475
73
710
753
522
700
495
252
265
988
363
980
545
551
448
875
383
190
658
643
43
633
130
803
631
746
966
83
460
785
644
460
194
667
519
26
943
117
831
245
347
130
606
199
183
508
276
532
432
726
570
81
789
24
772
89
294
25
27
773
156
225
173
735
218
323
922
279
315
140
902
462
377
673
586
484
217
766
794
189
724
750
12
548
534
780
787
344
768
462
124
49
664
299
148
689
84
452
686
977
842
657
846
274
111
606
56
372
504
29
7
2
914
37
830
605
16
876
415
442
567
764
609
756
585
788
572
448
998
160
344
76
578
661
306
9
90
180
45
695
436
891
503
403
911
932
446
443
364
555
227
150
267
747
450
915
585
711
243
716
310
971
846
851
62
451
851
616
295
387
485
953
867
820
415
463
628
906
115
798
275
170
936
802
867
784
472
305
899
290
682
537
706
65
408
658
789
221
205
539
468
584
674
15
764
795
841
431
980
949
512
335
440
439
133
528
711
129
789
866
454
897
86
270
9
975
411
789
166
226
719
734
469
505
945
16
612
291
868
267
82
601
235
928
180
584
296
441
143
665
291
355
942
435
862
917
483
767
257
102
902
541
904
671
831
759
953
687
55
678
373
41
555
775
935
544
93
724
740
444
552
614
631
728
431
494
640
471
518
538
660
751
23
182
372
683
619
413
70
88
43
758
739
22
802
281
462
79
882
426
776
225
442
294
748
162
304
344
481
787
476
475
22
286
933
195
879
318
761
790
691
462
543
355
703
830
516
927
156
312
344
874
402
184
677
686
261
638
282
954
217
134
802
892
166
118
937
831
724
21
313
231
891
458
736
980
975
696
828
294
946
433
165
506
766
65
183
786
988
392
669
389
882
348
714
452
452
633
909
905
652
682
73
460
284
430
454
395
845
593
471
707
57
116
837
286
784
73
832
833
443
865
164
796
68
245
456
598
816
844
667
980
342
849
465
296
55
440
88
350
880
763
771
850
225
831
912
207
8
655
123
580
977
937
36
337
106
393
907
592
936
184
373
21
457
436
103
962
610
481
916
626
486
923
63
694
266
520
34
744
484
737
468
361
627
565
579
839
694
510
305
249
902
128
906
452
818
18
169
351
272
360
981
504
198
791
38
432
299
572
372
626
769
767
110
519
382
530
854
438
444
468
693
804
827
250
369
28
360
968
98
732
447
856
998
961
75
942
402
179
633
82
101
246
638
261
237
93
870
260
815
635
336
478
714
583
464
129
438
135
52
947
992
546
960
475
555
705
953
163
886
655
147
325
975
354
496
514
386
319
403
121
481
72
892
426
607
89
109
338
473
417
767
677
899
724
508
411
587
509
269
195
128
663
482
584
757
583
86
627
249
372
643
376
639
400
108
921
474
943
41
740
295
844
595
860
38
670
930
300
9
585
231
400
693
827
884
268
505
766
936
824
577
247
519
849
448
841
511
640
312
390
215
342
600
852
640
878
680
736
429
581
538
777
880
685
564
919
947
240
194
67
503
367
886
201
640
436
427
445
621
835
254
347
515
342
949
221
275
790
728
839
667
388
21
33
755
137
875
327
268
784
397
472
116
579
704
801
561
196
451
754
405
566
728
241
312
526
767
448
876
11
730
146
498
745
927
282
108
973
415
431
41
260
285
355
633
746
616
767
855
184
958
458
453
625
780
61
464
70
159
250
650
312
142
775
324
867
804
811
134
238
882
374
566
257
539
619
370
524
555
823
353
293
634
522
894
858
257
341
390
432
598
694
321
222
595
398
832
334
629
333
135
67
426
698
977
998
144
892
862
39
879
636
415
592
592
782
117
787
138
562
42
950
192
466
983
348
565
316
724
676
216
814
624
805
682
739
684
285
316
247
526
175
708
691
211
979
657
217
58
637
557
841
246
797
16
856
491
857
688
582
443
9
872
161
577
155
884
12
822
136
467
864
389
915
648
457
819
353
838
838
156
454
628
363
635
26
791
366
267
575
626
74
91
582
105
222
932
90
406
124
561
78
811
147
745
232
919
698
455
849
165
430
699
434
821
737
672
619
705
18
717
14
51
910
741
845
384
813
870
860
200
741
806
78
724
384
47
20
55
371
703
41
546
462
96
335
431
38
709
403
945
797
401
728
184
278
460
32
609
161
595
168
91
232
740
532
167
95
771
522
502
93
985
125
622
636
108
526
356
272
576
371
408
409
175
846
435
215
483
805
731
17
470
61
873
503
498
155
798
68
591
191
288
323
324
928
372
81
476
255
608
461
572
858
814
49
634
512
411
164
915
528
399
139
354
585
515
60
497
305
453
242
733
962
892
607
138
480
391
712
84
9
150
136
937
360
301
196
764
517
89
797
334
3
580
454
931
301
377
983
60
961
554
234
208
597
725
442
168
278
61
327
436
345
847
62
36
879
468
793
94
578
777
394
769
866
926
251
75
513
463
7
672
678
144
902
841
102
218
275
807
353
19
766
434
966
828
189
412
725
486
473
421
453
437
546
809
105
900
87
657
39
96
387
932
761
200
772
488
43
85
142
985
959
553
559
427
435
831
773
128
492
167
484
888
414
539
854
273
153
172
571
572
8
151
213
654
551
35
115
628
66
10
558
116
847
717
214
675
708
147
262
627
134
737
70
397
269
676
177
203
519
552
867
927
692
893
368
664
380
875
374
936
867
150
620
92
781
272
796
386
655
318
362
732
936
736
991
809
338
743
570
365
418
495
692
523
355
304
589
613
495
644
222
829
143
875
328
66
895
597
612
181
78
554
83
275
511
474
452
294
980
94
796
619
169
956
367
943
252
683
658
902
992
831
179
245
518
681
313
322
292
61
639
850
469
389
826
935
85
491
671
601
535
811
715
56
826
720
939
945
179
908
864
777
127
358
973
969
371
363
224
491
956
63
348
123
648
991
416
691
996
393
600
907
203
739
35
460
863
467
692
907
182
469
846
531
693
191
448
812
2
754
158
822
739
602
130
863
901
395
478
43
506
437
117
597
2
934
733
139
13
573
717
104
563
489
932
250
130
218
62
305
999
342
763
863
5
622
886
135
163
109
319
27
626
968
426
336
998
691
876
579
649
44
133
634
328
589
222
101
879
875
503
847
967
289
434
665
320
178
496
161
596
846
261
242
454
660
860
440
536
59
660
720
232
789
369
373
889
975
884
580
443
514
480
50
702
264
756
185
749
463
16
267
198
565
279
155
734
971
683
542
777
219
655
65
317
209
53
606
65
47
414
354
480
898
405
476
318
330
399
126
530
900
117
102
264
583
222
347
165
833
428
575
27
683
860
100
61
230
832
288
414
879
455
518
358
975
926
996
655
410
962
360
697
100
528
151
429
493
634
588
812
585
573
664
91
848
909
555
147
863
388
422
121
771
122
254
38
418
37
276
921
913
781
219
457
438
429
640
731
834
782
178
419
825
103
681
679
607
853
45
469
757
551
856
70
351
14
23
838
336
800
495
856
9
985
307
560
272
113
711
598
287
106
341
513
584
8
860
602
186
802
302
102
773
992
772
986
634
265
554
386
310
546
484
886
948
192
219
32
241
215
83
604
92
541
455
269
895
30
759
667
457
251
967
159
607
7
118
56
653
849
614
268
573
481
552
584
227
839
122
192
606
243
302
475
832
222
164
652
191
537
231
324
121
724
479
977
731
854
723
717
228
897
372
845
271
813
207
20
962
716
686
852
8
783
148
44
626
698
703
72
868
243
954
964
705
926
974
948
795
804
634
131
822
384
840
278
211
370
238
370
122
425
864
719
381
295
881
396
470
807
3
888
488
876
334
518
253
849
611
520
203
380
701
973
17
503
998
407
153
18
206
338
452
751
270
984
340
31
100
355
853
143
296
811
984
747
893
726
2
911
58
282
254
838
1
979
366
648
817
541
267
588
843
510
689
805
802
517
296
355
923
430
990
812
687
400
338
622
167
472
821
484
805
697
239
383
608
148
514
496
660
81
507
61
610
627
939
274
332
475
212
157
66
405
433
831
264
430
657
508
977
813
698
482
472
884
112
444
840
648
605
249
246
482
980
793
140
532
393
914
922
683
538
771
514
873
140
291
832
571
570
302
14
764
771
482
472
648
771
585
400
575
135
347
827
749
135
489
806
993
75
857
123
410
972
928
763
631
15
672
507
427
587
80
974
928
356
797
8
253
647
752
822
793
933
254
495
658
598
206
791
414
57
267
416
484
81
0
52
413
610
538
132
471
717
69
788
972
345
905
684
507
430
259
254
719
298
413
854
733
669
577
616
522
525
949
794
259
998
121
5
12
259
657
763
766
357
744
125
768
707
42
704
908
251
538
686
277
732
557
542
541
681
806
734
353
291
33
918
915
194
34
36
664
639
235
46
121
948
875
923
69
78
194
411
941
179
233
15
241
78
44
649
544
813
766
188
850
260
587
758
167
730
306
149
28
840
305
175
807
371
495
461
526
880
129
448
78
641
763
57
742
137
748
751
292
665
53
941
106
687
472
219
126
198
598
146
568
17
80
392
327
368
601
797
443
21
969
501
237
451
160
392
587
418
616
464
224
253
106
828
748
948
733
985
684
602
117
162
405
978
722
163
849
756
647
441
909
44
912
713
948
971
397
793
620
385
506
548
919
513
93
48
149
685
818
321
153
323
614
627
60
84
390
469
124
241
454
675
301
911
246
193
324
798
324
334
300
127
401
552
536
633
405
459
934
407
171
301
214
876
245
401
594
442
211
582
87
21
989
964
677
876
474
732
120
335
963
984
246
427
505
392
257
678
995
809
257
129
861
673
701
947
214
199
195
172
303
200
284
983
834
255
731
912
508
105
888
192
755
747
774
980
310
50
234
53
500
18
497
894
947
567
338
345
290
792
317
601
835
430
580
121
79
739
588
133
949
802
805
289
59
292
206
69
961
867
290
280
317
537
437
921
74
315
549
656
397
730
321
621
576
364
309
327
466
976
537
627
722
284
648
604
153
798
451
89
319
715
837
256
228
772
424
294
429
771
661
909
880
400
833
527
646
990
830
458
82
424
131
134
125
409
228
288
678
679
75
528
472
446
983
107
308
202
839
511
768
497
448
644
17
814
319
686
786
469
327
194
310
961
328
416
646
733
372
960
48
309
984
790
934
915
504
786
726
852
516
902
586
571
896
998
523
392
498
634
994
361
418
271
944
384
125
207
70
61
861
174
485
511
725
607
637
439
765
842
518
82
744
221
747
413
73
165
453
25
714
300
358
116
310
885
11
759
256
314
755
322
562
621
954
423
482
102
126
762
871
14
566
192
272
948
153
847
130
120
141
642
4
907
447
16
235
758
740
882
727
766
497
772
487
267
90
797
192
857
560
871
708
365
992
317
699
199
635
249
187
101
199
734
732
117
992
429
843
364
351
829
463
517
729
772
430
519
526
504
647
407
857
930
563
798
860
71
26
379
639
813
18
232
107
25
131
586
969
340
835
198
903
528
877
298
451
438
190
693
418
95
139
77
504
841
444
587
841
292
106
92
611
20
260
645
730
386
126
833
493
129
751
258
156
796
22
268
851
903
937
338
920
714
545
718
507
226
536
596
34
645
44
261
294
474
278
516
534
894
523
543
703
532
788
659
387
920
744
21
248
887
931
121
807
106
301
523
18
844
838
628
227
579
289
92
177
492
764
338
734
188
886
38
988
801
426
173
73
795
160
954
109
487
308
709
329
716
629
853
695
328
553
879
731
810
502
424
300
24
299
230
370
207
649
521
628
729
253
445
804
631
628
891
765
211
911
344
88
225
727
716
871
505
503
981
623
982
250
485
234
531
295
907
340
212
793
400
877
249
60
395
77
311
189
704
374
211
500
280
935
973
677
312
89
891
357
816
170
877
909
802
911
742
544
895
526
711
278
692
142
601
668
866
446
978
367
565
405
176
380
276
71
361
284
635
966
170
534
713
50
361
484
504
655
314
370
504
38
649
195
499
124
75
890
244
237
684
56
668
968
904
908
579
136
383
54
253
679
490
837
847
258
120
973
785
246
239
604
19
45
828
767
886
700
443
115
86
256
819
568
756
481
403
375
648
732
227
471
822
672
296
995
830
21
726
571
880
466
31
481
115
460
880
152
466
261
773
182
877
785
518
873
805
208
164
145
72
764
547
906
743
947
870
914
392
691
468
596
735
385
514
767
640
316
580
690
565
940
735
435
678
644
535
888
127
783
625
780
931
199
659
872
61
816
176
800
737
146
780
868
278
601
691
339
925
300
634
348
54
691
812
374
864
390
626
396
172
564
916
882
688
940
422
917
457
133
132
612
738
596
756
828
405
535
161
913
736
808
642
190
74
385
72
963
569
777
542
355
765
10
629
285
88
964
696
19
87
568
941
218
324
12
689
953
567
37
976
912
483
706
752
907
200
658
504
526
963
869
681
993
356
803
157
734
765
802
575
127
468
958
170
939
143
380
619
654
715
273
102
287
793
744
664
685
501
684
418
640
20
974
375
414
263
777
721
409
764
811
682
891
521
679
883
173
486
498
701
415
773
537
360
193
394
723
428
385
146
469
65
154
537
967
188
865
854
526
264
501
891
851
724
488
839
158
662
124
403
915
636
892
723
51
297
656
567
196
862
892
648
980
352
291
574
403
278
483
139
158
33
578
860
744
447
594
12
956
841
436
483
101
878
677
105
245
60
87
306
758
441
475
934
720
636
693
479
275
731
123
27
857
729
804
243
668
549
358
554
573
432
896
569
719
387
59
212
169
481
585
19
602
986
42
618
899
951
177
660
30
488
391
290
478
893
710
522
986
647
145
731
739
127
461
498
733
14
489
992
35
384
757
935
723
858
729
181
261
205
36
67
945
846
105
391
865
75
26
552
641
531
907
429
974
374
130
146
29
526
301
338
442
760
639
745
395
291
324
979
615
574
779
407
659
348
75
6
743
219
987
169
738
290
244
731
382
426
904
430
659
243
424
764
682
703
985
430
540
17
597
785
377
445
787
168
639
763
16
540
758
960
637
168
753
785
385
1
765
318
101
609
412
184
355
463
42
45
883
613
595
525
252
560
83
88
454
704
718
986
335
127
829
891
933
338
410
803
637
975
655
689
146
665
539
444
840
2
355
803
399
939
335
566
47
730
122
857
104
304
83
10
240
605
833
531
963
595
10
126
609
742
438
230
918
616
775
904
408
912
545
442
39
337
579
430
870
648
614
657
308
465
661
888
384
708
620
703
577
992
639
315
61
188
190
127
458
47
447
413
14
728
4
4
957
929
562
514
10
98
74
116
759
748
880
717
32
737
382
744
66
105
685
10
97
808
931
673
314
915
287
49
348
733
717
51
508
107
280
660
608
555
538
583
625
947
808
386
206
707
217
55
470
947
771
909
436
82
442
200
360
736
885
568
553
401
291
206
469
524
144
425
220
345
121
303
740
736
937
26
950
280
263
20
335
619
29
12
26
234
941
191
157
167
552
999
773
187
275
253
516
226
1
697
534
690
418
285
188
441
617
627
774
540
867
62
516
850
47
904
145
220
385
929
835
712
987
749
183
307
240
512
525
171
199
499
949
557
402
380
186
312
20
953
754
533
709
333
43
408
221
837
511
287
282
969
882
283
122
51
812
382
95
880
626
52
498
227
985
299
11
791
8
467
335
477
361
84
543
499
983
328
873
726
547
392
565
467
354
950
105
55
114
129
979
356
616
365
22
985
95
148
958
788
35
13
805
256
699
51
89
315
436
300
737
484
949
239
499
84
817
62
33
79
471
794
568
256
162
155
949
873
979
733
880
893
327
413
462
844
694
237
210
437
957
543
830
616
253
971
820
462
721
110
96
270
678
100
202
807
303
140
506
905
530
597
708
197
886
195
866
815
68
38
322
280
955
814
252
308
218
412
453
627
33
314
835
598
853
513
992
666
799
745
930
215
753
412
172
577
549
338
133
271
534
648
737
138
322
266
515
916
967
359
67
505
522
193
526
746
623
71
332
804
826
180
267
991
397
152
736
422
918
53
992
37
486
279
606
235
287
92
584
304
544
519
537
366
632
945
685
653
179
522
407
170
112
731
91
996
259
519
847
494
311
677
544
9
990
339
964
760
169
931
743
631
978
344
385
501
970
175
155
267
487
583
832
335
806
363
706
182
946
426
538
96
627
984
216
159
935
700
575
775
48
248
967
822
869
367
61
181
331
23
861
219
475
787
20
374
703
250
505
0
80
876
379
650
600
459
947
739
321
655
531
10
828
739
136
888
595
796
955
788
540
795
843
765
815
154
279
18
573
893
15
904
939
603
559
332
14
196
369
900
730
10
346
629
297
962
771
279
668
252
204
666
579
655
262
854
904
308
347
111
957
884
605
597
20
489
462
334
413
750
760
147
439
946
8
15
925
450
156
472
999
577
815
22
858
337
653
607
660
730
634
693
532
876
905
650
314
335
304
733
302
173
467
204
295
759
714
98
573
244
787
655
585
542
454
420
264
666
68
480
43
445
558
576
292
544
973
660
852
489
125
162
145
895
502
909
841
887
562
346
882
193
457
648
743
461
820
216
560
673
957
911
929
951
577
828
300
450
140
863
761
768
501
839
236
755
90
266
482
294
743
712
577
750
90
799
599
670
440
214
392
599
50
193
910
628
701
543
613
668
427
897
288
319
354
692
273
767
284
841
488
287
834
345
458
164
57
800
455
712
241
567
692
46
10
128
830
824
20
900
926
175
440
810
523
218
9
353
266
481
732
287
645
897
403
30
137
481
389
309
869
312
793
467
941
614
225
381
595
569
300
744
66
817
269
14
792
446
927
147
902
663
271
802
628
282
47
453
55
717
487
859
812
645
900
606
291
938
229
778
78
638
978
321
315
946
833
543
922
910
220
963
279
918
522
711
136
751
365
233
880
540
226
878
397
837
979
30
513
870
737
297
724
357
307
829
583
606
300
323
472
484
659
205
209
645
186
54
289
412
342
31
208
870
754
297
515
265
423
981
548
998
508
175
410
99
404
543
735
278
172
253
139
699
205
375
892
118
511
462
702
576
443
345
546
231
374
185
251
961
780
748
424
66
94
358
570
953
467
518
362
943
604
4
620
936
623
484
374
126
144
185
781
694
422
704
57
703
522
523
342
651
670
383
286
282
913
427
164
754
996
360
430
99
472
989
255
192
597
71
5
139
570
355
939
75
61
880
823
391
723
425
842
723
264
809
986
739
178
491
273
576
80
912
191
547
333
390
345
188
568
541
82
919
40
592
528
962
489
419
156
661
17
284
46
267
897
61
151
309
569
143
46
887
583
565
549
143
594
514
626
977
737
139
661
673
268
109
204
726
425
431
405
427
66
86
689
900
53
982
659
32
443
549
280
684
774
993
272
37
585
500
179
113
986
146
908
723
837
231
559
339
548
97
701
986
55
15
933
898
495
288
316
906
628
213
727
626
81
517
642
482
259
557
736
495
947
648
384
350
952
603
934
214
778
983
395
164
665
667
635
531
4
911
172
420
972
6
421
865
890
204
122
929
481
540
284
604
976
548
710
571
476
550
33
229
604
177
299
874
722
653
168
688
780
119
261
712
676
987
95
132
230
39
402
243
139
736
208
260
178
808
872
792
432
806
953
281
837
238
153
999
619
754
847
596
326
817
232
122
388
595
298
213
828
633
860
966
451
496
761
756
94
770
307
546
644
315
697
77
91
335
924
510
155
274
856
575
557
811
157
359
286
196
507
464
566
969
263
833
194
422
863
108
268
904
903
867
96
40
960
235
960
393
455
130
936
65
149
334
953
46
981
51
655
989
11
64
157
65
826
387
180
318
359
610
608
418
504
319
831
301
914
989
875
536
357
327
236
855
190
316
688
281
282
556
618
68
662
940
891
12
753
191
908
190
968
670
763
39
841
815
543
15
459
576
256
690
107
219
786
894
542
448
853
582
234
235
476
52
213
515
636
319
69
383
601
566
715
327
828
260
340
813
350
847
395
442
774
485
775
384
864
602
869
167
22
440
121
989
231
108
987
605
479
571
573
311
966
689
701
65
605
252
944
433
623
750
389
834
632
668
199
455
418
589
605
497
19
588
403
368
680
815
200
395
46
54
821
452
116
460
303
744
262
386
234
49
322
127
376
596
769
242
318
915
893
483
676
390
786
763
769
113
653
353
468
547
151
586
891
129
895
633
210
995
888
534
569
620
451
607
550
674
907
554
727
773
972
883
673
190
949
445
669
983
326
416
447
640
546
735
226
175
211
525
220
201
203
231
628
174
628
118
502
881
605
325
583
610
590
42
664
689
608
820
209
248
686
84
2
588
825
742
10
231
989
993
142
529
647
66
442
406
850
31
225
732
967
834
205
670
188
717
931
24
588
565
317
296
855
37
722
662
999
83
290
548
933
964
356
992
889
126
166
504
647
194
382
35
336
526
191
676
672
337
612
490
580
974
164
494
540
826
907
696
64
623
971
950
503
812
369
156
834
747
63
258
786
567
957
725
131
917
634
839
808
899
355
691
780
792
22
639
260
591
531
877
430
606
785
325
391
357
921
508
791
99
550
750
853
162
930
830
639
853
722
235
799
560
484
362
90
792
442
801
260
495
181
765
53
767
13
655
551
60
639
852
284
19
255
587
129
279
24
768
32
610
302
543
577
105
718
615
461
573
336
21
391
132
687
78
856
697
744
819
376
404
30
967
727
964
595
854
116
683
662
84
106
952
859
832
284
558
843
911
212
0
932
819
11
869
408
612
943
431
708
605
547
613
67
262
8
485
681
951
901
468
763
858
163
429
770
955
604
48
616
729
987
464
788
945
898
682
695
401
155
278
478
997
343
825
291
154
640
155
172
522
38
994
957
30
194
96
737
282
766
215
608
592
927
760
561
613
682
790
959
321
384
553
399
435
928
362
85
818
580
187
583
271
193
745
533
787
889
138
615
372
630
691
207
288
932
76
792
759
723
175
897
686
894
78
70
279
717
998
332
596
824
159
894
747
86
208
912
295
676
897
978
832
945
646
527
132
804
961
766
83
967
517
232
131
330
219
195
987
650
514
500
405
953
133
158
591
824
355
689
461
271
36
509
110
258
931
449
709
184
165
460
502
848
706
253
839
761
534
676
29
648
458
549
512
824
744
165
858
702
160
412
187
397
580
232
593
101
621
859
253
621
510
840
114
995
463
139
805
52
504
721
690
771
956
573
151
754
493
236
356
149
696
543
309
388
303
381
822
521
4
772
670
582
765
717
287
303
189
71
583
162
373
697
579
826
814
909
0
62
960
918
940
269
565
145
724
675
346
55
430
895
64
371
977
467
635
537
610
635
671
949
120
814
328
679
810
145
757
623
981
541
429
322
439
582
366
279
188
578
584
444
548
367
154
237
990
242
160
798
192
904
979
615
653
686
634
11
546
439
953
867
708
763
859
644
381
984
813
678
482
643
294
265
422
908
555
862
287
530
773
823
787
747
418
174
245
147
151
220
246
390
470
511
225
435
660
262
405
783
221
606
270
645
92
441
571
259
700
792
99
150
910
45
970
398
525
639
759
205
601
51
603
461
262
701
159
826
760
459
883
458
138
759
819
152
347
221
615
235
891
462
518
870
456
1
637
828
195
524
908
804
966
865
310
506
857
801
96
463
183
137
298
536
522
810
264
5
328
561
638
397
871
680
713
303
281
430
371
930
384
882
73
417
540
201
386
406
781
226
325
154
373
177
231
468
669
553
244
313
695
290
895
298
300
643
179
174
263
169
961
197
722
786
596
296
231
330
669
607
126
595
788
604
895
788
736
178
766
952
667
558
747
874
94
918
445
920
103
3
549
319
860
110
981
286
699
804
301
121
86
948
529
73
212
743
812
15
883
347
150
898
874
571
869
641
505
50
252
726
548
802
516
568
668
758
521
401
310
993
279
404
813
659
833
203
278
845
693
96
770
238
162
549
135
792
711
915
914
604
22
515
474
957
1
911
774
161
214
90
297
750
990
510
387
341
486
902
917
889
66
5
952
744
102
243
294
638
322
4
549
454
408
478
337
95
422
207
382
652
655
822
776
898
458
611
798
387
77
106
953
230
72
123
2
474
971
731
795
90
213
308
159
920
9
538
705
525
415
985
610
442
944
133
939
838
60
929
435
728
874
685
489
105
728
671
785
602
437
721
397
288
107
820
951
973
610
829
829
652
535
142
408
211
862
501
474
733
468
926
804
59
724
528
316
225
871
965
221
168
19
261
613
119
958
876
638
837
474
876
470
412
230
934
114
454
640
181
708
778
526
985
461
376
913
433
684
100
584
169
644
126
90
43
309
95
337
802
98
588
859
586
100
392
206
985
349
796
311
750
365
971
226
446
44
535
664
179
744
604
994
845
549
737
68
679
613
131
595
322
305
305
24
473
107
230
844
162
77
58
840
455
511
634
243
934
474
572
616
562
456
273
158
530
767
1
310
366
443
272
485
14
63
33
560
458
772
713
281
904
211
941
168
868
658
371
432
592
784
953
591
322
243
170
165
763
233
75
259
740
803
302
885
83
342
35
726
213
922
132
340
116
871
116
660
111
471
171
528
955
66
83
926
202
937
659
863
794
885
830
506
332
804
377
108
648
940
701
729
759
211
748
16
740
120
964
600
502
39
540
747
863
478
720
316
77
77
622
640
577
796
690
194
722
56
925
125
612
257
35
752
110
779
653
986
46
98
173
876
356
479
654
972
366
127
336
884
708
925
919
538
122
698
639
875
831
720
916
623
42
81
40
487
833
874
2
853
727
749
29
443
414
533
90
931
243
412
646
70
179
797
360
904
963
495
558
286
365
329
128
665
323
93
427
308
653
186
909
97
665
794
837
74
168
53
977
641
654
711
707
954
418
589
234
171
359
335
731
108
866
752
359
529
937
149
781
539
441
635
14
196
986
871
305
447
380
852
487
596
965
10
856
192
775
67
748
744
484
12
482
369
833
287
832
356
335
760
168
756
947
287
295
80
867
311
85
384
940
749
990
61
156
284
971
723
891
960
75
433
950
868
225
420
643
768
706
473
165
6
76
252
823
558
644
139
572
422
249
197
306
272
517
33
320
696
184
98
532
182
245
744
619
369
957
408
660
359
30
589
189
65
426
201
111
448
353
673
197
215
194
63
226
554
64
556
758
624
647
749
941
983
106
713
780
262
929
910
535
141
678
34
42
958
414
125
351
389
803
149
522
216
159
201
537
164
781
161
224
752
551
953
801
871
451
589
562
966
309
889
987
940
934
199
945
717
948
329
725
173
166
552
611
144
753
911
186
75
467
691
291
28
998
114
59
184
331
720
672
869
502
108
927
204
314
73
934
551
684
538
73
62
466
887
499
416
206
978
860
976
229
237
404
985
919
148
621
460
962
719
632
604
207
685
187
601
927
323
212
36
502
35
412
714
292
874
698
359
244
170
825
373
287
420
453
266
709
2
210
565
629
230
832
455
615
808
355
899
316
799
920
17
866
313
102
422
301
828
917
405
604
942
801
938
437
253
798
756
17
877
525
587
124
118
922
268
825
385
715
963
831
302
498
135
176
628
8
664
872
792
305
364
288
94
148
77
331
579
262
426
136
963
84
974
555
173
238
451
586
714
703
360
707
649
745
81
339
649
363
166
939
28
394
731
88
666
21
458
224
91
563
86
617
817
856
966
5
462
143
79
3
869
729
47
523
965
669
521
913
1
889
912
754
453
854
386
673
683
971
601
223
418
936
420
520
54
198
642
6
905
98
196
234
446
296
890
733
969
61
42
914
938
694
16
291
411
947
359
446
225
960
894
222
656
967
190
118
935
498
844
523
468
850
896
243
743
350
807
441
476
428
411
418
394
993
553
71
112
124
308
481
344
687
722
642
224
203
371
966
282
489
24
435
264
129
536
111
633
979
841
957
661
693
488
531
415
213
337
717
764
641
712
998
268
812
68
855
172
253
957
244
579
478
45
621
136
292
717
89
749
184
638
957
176
109
977
367
580
479
534
834
341
668
431
557
878
595
263
678
819
352
644
90
591
32
663
733
62
792
983
928
177
836
843
443
446
201
658
363
11
588
477
729
399
37
853
122
999
778
832
456
416
7
707
655
382
693
822
121
887
742
831
159
390
103
113
789
825
108
443
904
231
408
476
808
863
188
643
831
656
927
911
261
130
53
563
337
214
154
186
500
201
739
179
362
165
904
760
161
574
132
820
125
531
608
892
515
659
264
120
482
927
74
368
321
233
944
922
873
70
926
683
146
537
794
956
998
539
209
148
507
967
955
323
160
113
555
816
377
642
376
633
2
269
375
474
799
584
561
482
766
926
290
799
245
149
692
940
210
188
547
902
315
374
238
576
732
984
929
406
859
598
506
650
880
699
869
15
391
62
408
693
230
405
445
840
640
481
449
276
477
937
436
306
761
775
371
178
494
833
818
893
669
94
737
830
606
852
804
452
848
768
205
941
85
523
461
880
167
418
920
529
673
102
788
273
376
173
951
108
294
614
587
348
186
496
625
153
321
229
733
50
948
296
35
265
414
659
842
73
842
20
309
68
359
922
523
156
198
876
154
989
767
583
421
745
517
639
652
445
762
349
238
26
946
624
649
231
239
516
2
235
699
784
619
971
919
631
81
403
59
329
584
851
220
326
656
2
232
544
809
874
991
61
359
267
389
853
969
940
408
605
425
5
586
536
151
602
116
662
386
28
983
350
14
313
117
237
605
13
618
308
601
452
811
447
951
130
346
289
57
197
539
44
86
545
910
898
379
787
913
380
687
586
50
257
803
883
943
852
790
790
300
2
427
671
984
520
476
579
330
123
290
963
808
788
514
74
639
664
227
926
935
402
149
123
375
125
819
51
760
998
682
11
728
850
884
268
19
783
847
896
139
235
88
628
386
337
285
337
340
797
708
125
102
413
736
986
805
290
739
817
712
968
93
789
69
393
365
835
687
512
471
129
78
138
947
732
499
398
639
654
794
646
348
311
205
339
240
108
247
348
201
231
122
380
493
558
790
639
864
515
914
803
567
490
461
327
112
710
977
519
536
619
539
399
801
314
992
111
830
736
242
14
352
290
76
794
915
174
952
449
176
703
518
862
371
697
426
244
251
9
376
514
118
52
843
420
810
328
643
519
711
80
942
902
440
541
39
101
853
146
394
887
759
348
25
169
898
540
383
363
671
401
629
308
350
855
556
518
86
686
730
611
147
897
160
169
846
568
377
854
284
448
996
54
609
949
120
724
21
782
130
952
857
640
841
606
383
21
409
789
548
762
745
203
67
629
165
880
3
28
828
474
836
605
922
669
524
420
735
266
294
377
766
854
671
945
526
335
439
578
872
692
114
429
491
680
987
849
605
675
884
265
516
233
692
966
34
803
660
851
38
314
888
573
929
402
138
130
130
944
228
166
91
70
732
763
454
949
367
717
913
480
10
226
657
606
943
515
202
630
630
786
543
723
879
737
769
157
437
927
833
378
758
572
337
665
235
844
906
153
190
785
420
200
389
660
840
541
224
866
604
332
141
232
91
931
828
357
333
238
95
338
236
386
961
299
183
650
210
358
192
971
155
981
671
923
92
246
186
272
762
974
730
460
639
865
182
93
40
136
85
202
779
415
550
495
905
347
366
44
857
297
46
422
428
331
25
629
783
827
794
99
862
142
21
947
831
676
848
802
26
465
34
796
684
687
96
327
570
329
274
401
517
621
519
359
463
466
905
136
484
449
376
749
114
13
52
19
811
322
506
2
733
580
399
346
185
750
31
487
993
31
290
177
682
891
313
279
89
198
912
512
557
189
579
512
341
184
447
756
914
945
265
425
845
223
137
262
598
215
604
53
698
461
802
442
391
227
577
136
652
301
830
205
369
812
611
70
115
771
660
208
364
642
836
849
765
431
710
747
385
628
918
259
212
285
851
658
962
3
115
281
136
175
540
888
482
10
82
524
60
848
333
239
1
486
661
386
818
677
155
526
742
66
883
684
12
825
631
404
341
143
352
694
644
835
487
161
403
21
552
496
673
570
20
996
906
170
565
434
815
213
674
144
366
576
826
676
382
496
848
686
175
538
407
30
917
709
61
821
344
754
367
541
776
916
334
269
847
989
836
583
433
844
242
58
161
667
476
688
1
611
97
366
969
564
678
897
651
566
248
372
158
820
283
290
929
957
78
314
227
2
880
547
784
171
365
633
668
183
354
752
249
460
739
869
56
435
886
538
356
542
848
241
948
664
836
843
416
281
250
700
533
25
558
256
1
12
80
593
883
589
415
440
703
221
89
392
699
351
992
958
128
961
119
582
208
280
297
789
152
252
792
134
955
116
281
117
500
116
619
434
777
463
126
658
140
268
319
393
470
437
888
328
191
364
788
319
320
628
542
864
550
851
366
412
755
857
538
901
806
823
778
902
75
966
648
226
61
684
250
532
650
721
87
588
687
642
404
741
485
475
387
856
155
579
926
844
669
224
239
556
701
719
262
726
515
572
81
757
883
791
743
712
978
266
129
215
321
145
923
169
902
562
828
376
57
480
666
195
581
377
233
834
536
76
277
951
793
848
796
742
338
692
597
19
345
731
138
900
878
194
526
338
732
242
7
996
957
542
748
24
45
796
741
939
500
825
650
815
820
394
965
152
953
775
616
377
758
620
959
952
985
656
1
337
59
429
8
209
711
192
583
238
780
620
8
387
812
415
543
585
888
508
235
38
655
67
674
354
125
501
448
457
995
197
107
524
688
518
879
516
530
516
487
960
817
494
745
210
656
179
730
228
183
826
817
402
497
614
404
28
213
310
952
408
861
906
252
179
506
445
622
706
839
112
536
698
469
484
142
582
35
649
400
456
289
872
481
452
601
679
981
806
625
17
366
929
607
880
634
629
734
421
533
440
574
927
470
736
452
258
758
310
735
968
210
942
968
875
476
767
686
544
947
671
767
716
674
239
580
105
742
982
438
365
657
344
697
226
83
427
725
929
846
695
201
361
121
364
863
657
457
432
471
278
37
447
766
302
48
724
933
304
245
528
541
79
98
55
745
400
363
445
989
807
541
693
272
934
326
29
540
62
110
201
731
342
983
221
776
31
407
957
998
291
55
332
8
233
282
814
506
606
249
208
555
228
257
811
272
54
706
278
223
756
106
605
10
392
577
984
694
946
458
999
539
844
192
284
96
498
814
89
711
928
817
103
211
680
767
815
453
542
43
447
189
54
545
460
358
588
734
548
996
909
513
807
325
868
446
619
462
187
742
929
865
582
457
358
125
190
565
555
343
886
227
827
765
58
137
948
556
838
953
994
280
735
454
134
322
240
719
734
399
468
361
346
557
333
720
408
718
291
816
307
403
643
90
424
857
474
741
182
818
846
851
487
702
990
596
986
151
597
366
64
21
901
280
20
413
258
491
996
197
576
264
788
153
742
145
5
791
73
743
81
686
956
409
980
411
839
241
333
773
465
886
286
541
305
355
399
861
581
231
705
96
852
597
945
352
964
919
508
491
489
986
154
578
435
651
551
359
410
117
626
287
89
451
329
265
989
715
259
464
431
884
105
334
17
442
229
197
596
628
274
621
394
720
123
376
250
719
673
425
4
648
507
52
728
123
701
18
524
309
595
272
332
97
737
151
374
691
681
395
756
581
424
248
428
586
56
717
751
914
953
75
359
933
693
188
588
369
194
739
153
562
512
797
947
392
399
991
537
343
673
310
243
95
352
966
804
211
288
746
76
173
889
721
447
744
736
824
482
551
402
616
203
383
970
603
405
852
774
52
666
442
765
984
880
882
180
982
987
153
1
641
112
834
582
688
369
299
867
426
769
6
901
807
170
840
643
760
309
849
687
26
656
691
858
688
694
440
542
425
177
573
310
523
351
705
837
993
104
927
877
130
544
896
744
440
82
399
665
679
336
299
442
349
879
278
93
19
961
828
668
205
631
23
228
677
14
246
710
573
78
857
240
383
853
595
598
806
763
379
945
787
913
917
816
807
706
309
240
694
236
411
122
859
236
972
239
281
946
512
956
956
67
59
754
551
438
125
246
364
785
363
885
886
274
681
963
660
577
730
273
665
545
943
320
541
799
113
833
163
521
578
198
965
433
203
423
799
426
832
338
346
488
187
895
738
927
284
93
310
393
670
246
725
764
426
672
37
223
598
584
641
272
213
737
476
52
732
795
358
542
746
434
669
721
507
548
881
295
26
624
420
865
511
194
456
489
838
269
460
249
861
762
400
901
471
72
128
928
914
335
491
25
167
159
851
501
82
89
497
935
107
798
406
223
223
599
585
651
651
468
922
18
701
582
997
819
453
888
264
80
287
648
638
142
925
371
367
597
30
239
865
617
274
633
676
238
851
300
419
407
185
860
861
899
213
941
389
957
219
809
376
254
948
541
959
947
624
650
343
491
461
681
867
522
586
321
834
673
892
221
62
274
959
119
478
598
112
176
89
175
665
158
671
545
834
302
341
983
736
791
567
474
710
769
593
887
37
716
752
214
129
846
911
884
572
13
857
531
189
522
751
523
141
697
846
170
146
562
118
81
298
664
113
27
625
261
279
343
96
387
291
532
414
821
694
172
4
886
351
970
151
713
497
804
60
628
830
165
404
630
536
886
261
415
310
22
507
232
188
904
0
799
347
115
806
976
537
500
893
68
561
230
596
310
8
793
584
979
311
170
512
714
640
447
145
210
296
714
989
545
554
570
588
324
730
433
738
907
859
527
95
88
644
374
942
398
731
818
932
69
458
208
694
103
542
296
137
544
985
202
748
762
487
180
485
593
102
286
264
388
345
132
64
423
116
120
778
81
93
401
891
331
382
829
68
337
679
152
759
537
19
770
702
151
760
835
2
775
962
805
140
488
838
189
552
865
375
557
116
783
334
84
736
464
584
922
489
978
588
486
352
367
902
814
3
642
117
956
5
700
652
922
239
227
732
655
527
439
357
371
993
445
365
478
60
252
480
841
817
730
702
545
44
842
359
995
924
861
656
80
283
602
757
348
352
307
986
706
727
631
302
369
121
768
827
902
933
184
725
663
907
534
439
874
620
683
138
273
840
398
669
532
301
459
417
929
920
122
469
183
61
261
787
470
522
929
249
489
872
53
728
835
348
923
711
991
890
549
51
30
11
837
731
386
690
90
317
733
492
237
224
927
931
245
483
628
571
937
842
623
725
999
998
460
792
32
525
238
484
410
797
377
300
72
76
752
171
174
774
784
578
478
454
95
285
534
478
498
19
456
904
334
593
577
194
391
703
571
790
946
912
637
17
928
56
460
9
564
9
739
581
186
907
383
43
379
660
340
444
204
513
397
814
917
283
430
432
784
936
1
739
738
994
944
79
155
49
991
728
314
23
403
419
857
303
239
738
69
212
728
28
449
119
347
769
248
653
867
10
733
255
298
801
994
591
462
731
249
945
646
944
404
70
736
314
909
707
125
76
470
677
970
0
96
84
448
405
76
177
828
873
432
260
66
261
804
586
461
555
649
987
867
971
274
837
957
102
477
96
845
191
105
152
650
217
211
795
298
263
916
932
582
58
240
104
782
609
63
243
476
651
91
963
224
108
648
825
28
716
992
761
496
632
621
383
40
146
109
16
796
365
479
985
120
825
841
515
708
579
53
710
349
64
594
629
867
260
331
323
569
642
726
987
171
13
764
69
945
339
922
583
63
234
389
488
774
597
71
270
535
102
278
52
421
409
300
239
469
953
853
348
912
318
613
346
507
23
549
584
953
563
905
266
364
27
371
400
661
687
239
543
642
827
304
38
471
564
430
916
580
711
705
274
780
189
56
470
645
862
258
33
945
978
509
506
624
51
214
804
490
530
16
58
644
620
313
407
395
688
555
517
111
585
214
139
65
876
101
851
514
302
658
67
661
208
871
747
692
835
190
750
415
985
930
705
460
985
877
309
975
86
401
201
493
380
416
358
988
127
973
367
866
386
129
464
471
201
355
571
239
511
374
752
484
77
195
381
628
701
120
3
452
916
382
746
479
126
272
451
119
137
421
677
412
177
385
96
229
248
576
49
369
944
532
951
482
208
265
698
628
254
974
524
976
420
438
490
665
630
67
848
911
93
260
658
800
967
717
151
443
147
282
998
398
997
744
25
111
480
726
480
951
184
680
752
690
67
27
158
253
171
505
699
318
12
598
840
540
867
551
13
542
797
178
278
182
461
154
821
426
549
374
972
810
384
182
707
693
893
92
53
314
55
364
604
979
187
57
876
578
925
525
840
206
93
3
39
428
760
138
196
50
954
286
573
131
360
412
250
168
608
396
349
458
75
408
105
917
245
55
257
434
722
651
886
472
356
385
614
920
627
707
181
93
673
682
378
213
701
763
997
181
872
410
268
252
619
302
648
223
615
447
380
720
313
72
10
628
968
441
739
205
458
539
490
462
228
363
115
65
493
393
862
200
868
100
206
540
2
442
686
226
553
2
713
80
255
903
96
315
150
786
709
188
11
842
667
351
574
631
3
113
464
119
116
129
865
916
234
309
911
674
988
858
35
867
913
499
107
917
886
414
352
249
190
469
833
150
819
680
865
857
742
828
690
443
782
877
348
854
666
941
923
298
899
646
563
303
258
191
14
308
19
534
915
868
618
270
891
333
666
510
958
168
219
311
541
858
909
112
187
231
151
570
976
292
26
657
510
337
935
599
261
291
464
122
321
639
542
680
318
94
222
343
195
328
77
734
88
347
161
963
343
141
356
504
255
885
452
538
853
735
937
923
252
999
445
901
934
92
408
170
4
668
128
252
963
427
287
170
908
147
301
831
815
936
975
256
641
756
725
302
893
533
398
825
379
185
590
676
149
213
539
303
687
812
503
66
529
544
161
466
956
959
927
42
257
700
154
357
523
49
339
989
261
784
744
693
383
164
746
306
729
338
400
217
847
885
174
715
562
761
594
387
823
670
836
872
956
289
80
527
329
758
158
104
236
945
157
332
987
941
629
377
23
165
359
464
767
190
993
531
598
344
155
307
907
422
910
278
836
646
791
609
704
566
536
114
758
210
130
215
889
871
358
209
892
973
609
283
203
921
866
207
894
378
357
877
161
132
894
257
669
568
174
685
240
210
451
79
17
668
421
489
867
691
470
579
412
877
519
635
437
741
186
899
654
301
57
621
568
593
676
58
57
533
608
855
802
746
948
924
451
423
134
232
388
167
614
745
855
428
886
442
728
102
747
45
171
327
615
534
759
59
801
575
452
702
771
10
555
686
745
457
29
131
916
878
807
917
131
341
597
232
101
998
212
759
321
422
402
144
514
448
1
575
503
741
176
671
213
828
660
492
252
599
225
488
762
318
831
683
437
551
81
901
786
263
260
99
763
229
338
26
699
742
2
295
855
961
781
283
462
135
623
577
537
971
246
272
728
557
160
260
897
948
168
541
409
169
846
733
25
89
160
983
987
591
486
290
190
952
50
876
683
436
970
912
979
969
781
15
6
596
173
419
623
613
412
444
57
874
360
645
933
520
578
451
16
384
21
28
970
273
680
641
679
102
40
626
662
94
485
693
967
667
926
336
708
425
432
181
952
210
432
510
420
417
297
187
906
74
495
316
708
860
876
933
283
792
163
610
566
221
1
545
875
991
687
933
213
624
760
655
61
404
897
593
307
132
618
51
653
380
214
57
227
889
370
759
335
885
110
974
550
773
305
867
136
800
182
96
362
677
874
31
472
714
905
304
99
812
952
376
516
724
817
442
461
759
516
880
339
812
48
496
955
270
976
22
909
567
774
776
986
160
365
988
323
138
218
307
815
520
690
319
402
859
233
127
557
328
386
407
101
399
603
456
23
86
192
521
194
954
911
474
903
312
771
678
455
283
917
91
153
715
622
966
933
154
511
307
979
982
894
644
256
270
211
911
160
731
10
145
615
833
576
97
630
812
605
213
6
129
899
231
330
474
460
849
856
628
149
64
877
240
713
256
955
575
906
932
564
326
658
734
110
114
392
615
854
155
956
767
360
906
23
178
931
119
482
68
690
987
637
90
576
303
563
328
800
706
292
261
663
865
958
579
389
705
414
276
317
481
516
781
692
517
822
788
391
841
840
656
292
228
294
449
835
841
199
778
568
10
420
7
703
84
78
394
416
210
825
260
959
163
940
481
408
524
748
765
681
431
482
987
59
986
53
692
472
9
171
534
887
830
316
36
522
290
215
926
556
400
520
672
840
314
742
583
732
814
596
966
161
291
319
507
145
246
226
321
475
274
13
911
103
85
353
471
453
664
607
313
377
595
402
911
489
709
27
303
927
768
509
606
292
717
529
170
53
516
814
690
191
542
59
444
920
82
832
935
217
341
754
934
783
522
915
449
384
228
530
308
13
936
36
796
50
236
742
53
411
554
81
524
177
879
539
578
486
627
820
867
53
410
15
307
833
977
174
858
564
477
269
731
956
731
447
794
535
743
776
297
982
768
140
320
428
62
16
422
402
263
194
406
234
171
371
72
716
466
483
18
938
196
125
45
403
706
399
606
744
262
329
536
294
809
582
407
977
877
888
610
531
966
350
223
733
791
986
371
708
37
403
815
857
664
915
296
132
380
638
105
703
730
985
680
919
805
332
489
258
215
342
550
906
201
735
812
851
513
535
599
217
23
142
257
780
517
717
988
782
190
515
572
213
817
776
518
637
269
648
801
203
864
846
890
595
548
720
903
200
162
398
462
131
872
486
293
981
759
904
100
85
737
44
905
825
380
245
687
12
414
4
62
524
594
253
354
215
597
585
19
407
638
192
257
225
259
449
786
199
308
319
783
173
768
391
50
67
967
547
247
339
597
422
461
507
867
796
868
318
156
482
680
976
368
529
568
949
555
114
260
211
609
21
196
482
533
45
719
286
811
600
911
220
406
248
615
951
978
694
737
543
874
400
779
548
322
175
708
819
444
146
598
552
759
157
690
346
957
707
807
935
941
506
843
517
398
707
402
554
451
920
302
396
90
472
306
52
264
448
695
259
701
347
764
340
577
636
715
797
353
273
868
967
98
183
449
886
797
158
981
465
913
865
852
687
479
7
683
667
403
300
164
714
304
389
602
933
375
812
246
269
156
691
825
225
740
857
505
455
994
861
216
157
45
410
149
425
704
182
761
816
554
319
780
312
274
537
118
665
767
547
522
598
818
315
470
192
419
741
499
885
845
890
36
336
46
238
432
515
690
808
11
165
142
144
480
367
171
77
229
238
826
444
942
50
654
570
497
366
240
454
761
974
405
238
34
243
481
886
860
824
2
241
393
25
198
457
589
436
44
309
272
535
119
400
552
938
941
886
21
253
741
43
619
577
138
703
706
274
991
794
598
453
464
162
311
697
389
241
473
544
576
70
243
133
7
397
155
991
497
221
66
269
916
370
969
435
503
225
425
51
849
592
380
201
193
247
636
902
815
152
548
443
170
987
699
533
988
275
898
898
415
566
465
942
968
493
628
816
887
785
156
497
154
327
642
192
271
86
201
335
191
829
930
816
101
338
461
977
393
607
196
25
313
18
78
476
532
292
93
820
853
273
886
182
284
122
869
457
3
909
385
890
421
878
637
923
579
660
853
399
984
838
18
182
684
792
585
143
731
634
471
460
865
368
164
702
748
6
720
633
252
323
967
640
433
102
392
195
26
85
784
368
264
482
404
917
156
920
280
658
676
63
904
449
291
724
747
39
952
856
526
108
816
846
276
138
627
7
616
575
196
441
978
919
218
738
863
680
915
872
716
296
493
596
914
911
899
108
446
789
883
502
743
59
957
292
285
462
702
626
210
813
122
97
475
896
35
957
145
582
291
999
190
167
697
598
883
5
372
990
721
936
69
740
626
782
745
848
964
387
727
885
647
807
928
767
57
879
247
544
569
894
44
98
145
564
56
138
237
254
628
354
477
465
480
697
935
161
56
613
639
186
268
172
159
225
366
637
421
382
668
269
480
97
65
847
737
368
747
117
349
250
10
457
191
269
798
979
299
575
567
240
723
123
147
874
735
354
891
881
841
449
822
889
36
909
604
366
582
929
189
442
977
596
108
229
882
755
922
288
268
154
845
163
659
470
866
5
115
737
158
347
271
772
868
191
426
567
703
38
31
175
361
857
909
177
834
222
87
210
366
915
252
78
555
870
481
564
940
869
464
769
879
610
446
27
702
919
607
429
620
588
998
629
343
839
449
114
285
816
27
88
293
509
91
835
657
212
357
255
502
213
850
117
20
60
311
821
830
13
770
619
513
41
593
749
847
440
10
833
965
474
731
892
832
210
146
15
410
45
376
355
678
532
224
408
697
41
573
598
783
987
230
873
689
658
836
25
653
500
536
848
865
585
808
724
283
444
281
171
674
179
242
764
752
880
845
33
24
557
570
625
478
596
922
826
57
898
862
733
947
338
855
72
308
57
971
469
594
55
398
684
937
39
128
924
839
251
254
564
508
544
24
229
472
851
169
613
496
158
491
748
874
498
196
398
378
734
692
632
190
497
262
66
687
766
156
765
857
660
161
559
158
334
708
182
679
278
575
896
491
653
860
339
716
102
778
640
174
552
651
41
801
537
290
334
382
992
524
832
534
619
756
579
215
79
116
709
782
115
503
432
44
536
205
86
990
465
769
503
593
893
154
449
894
367
699
432
925
992
691
412
551
652
153
275
236
859
925
88
699
186
947
555
118
104
323
640
524
178
302
813
463
457
481
284
134
863
384
64
731
613
410
905
550
354
432
604
632
244
367
270
487
342
891
705
958
452
443
361
669
530
642
614
163
170
348
741
721
890
587
599
916
615
662
958
539
956
76
517
265
183
825
939
452
745
25
728
985
464
899
761
676
315
724
163
130
944
407
216
799
199
299
23
543
512
768
654
777
671
546
751
548
926
1
733
470
481
194
343
303
332
715
387
512
901
617
667
16
576
500
182
585
26
427
303
201
78
668
843
791
200
252
830
260
52
672
565
492
671
206
519
262
552
839
932
134
408
25
90
344
916
229
670
508
482
715
933
255
389
145
172
991
499
48
986
983
75
839
36
894
970
688
18
54
290
15
78
64
752
418
667
661
759
334
468
435
49
30
483
617
554
353
710
499
752
472
238
420
461
937
173
979
109
81
501
281
220
843
30
325
193
813
561
413
441
927
639
105
998
28
523
33
555
69
944
55
819
650
766
999
721
627
256
998
498
521
896
698
820
44
368
47
949
822
373
101
682
477
321
937
199
106
750
901
357
401
692
302
258
102
709
762
431
396
886
930
539
687
931
799
457
567
375
51
604
282
301
49
987
397
174
921
426
199
181
267
499
191
209
829
962
771
853
811
501
123
707
656
594
28
959
921
958
213
311
85
977
859
595
493
347
622
703
89
865
876
176
760
891
445
898
454
195
462
718
628
619
518
325
885
47
91
352
414
465
228
715
272
470
496
866
190
626
908
516
353
441
477
153
987
478
796
357
228
293
99
156
476
241
347
764
346
427
389
140
742
776
892
789
76
90
868
413
165
789
454
476
541
949
937
323
331
668
909
530
287
710
753
289
325
246
272
702
586
949
78
837
383
840
0
273
222
252
461
746
600
626
976
836
84
282
7
202
985
656
633
472
615
101
647
647
663
346
463
575
577
499
457
628
214
134
392
108
987
842
910
483
494
77
673
173
930
617
966
727
940
826
689
28
961
775
712
120
106
194
858
750
17
3
275
486
472
139
289
984
741
4
711
503
749
755
493
907
471
25
350
554
682
825
936
611
613
769
988
772
842
678
926
31
71
247
55
641
442
486
575
222
287
643
525
144
922
457
869
924
982
177
463
478
322
692
331
449
387
998
472
81
629
717
933
462
80
355
134
109
79
451
654
173
600
164
123
150
376
372
879
818
663
231
999
520
775
25
554
566
621
246
301
0
878
665
965
247
21
893
461
793
850
113
701
213
980
153
724
86
282
203
393
201
870
331
356
833
670
315
352
680
428
339
521
502
283
777
909
414
17
282
451
61
776
26
816
139
251
655
35
708
858
383
456
250
288
278
266
968
998
934
274
868
307
622
398
95
591
745
74
700
805
528
824
920
921
973
263
959
862
270
330
878
133
770
92
30
753
832
321
363
258
680
437
505
217
724
943
190
418
46
3
75
309
348
588
103
508
259
69
148
789
649
131
616
271
775
566
608
3
967
408
826
62
23
790
313
78
536
919
28
496
997
465
31
307
788
746
245
963
191
533
584
78
142
809
185
605
404
720
439
186
399
628
803
177
558
959
867
950
262
239
784
49
602
442
852
651
933
32
828
175
172
429
897
369
377
626
19
345
435
834
424
159
745
141
172
795
787
812
61
792
436
570
678
761
937
899
216
768
770
579
156
12
88
552
197
210
266
526
565
792
747
828
217
835
279
187
908
89
236
559
451
736
159
321
154
238
490
167
148
971
308
784
332
494
907
101
820
430
581
259
232
297
450
538
392
332
183
669
726
282
77
356
79
888
887
427
686
857
184
430
164
575
588
747
987
758
915
801
209
712
427
41
752
361
997
821
115
265
369
988
581
601
424
298
459
722
715
818
517
605
561
846
631
605
156
37
207
64
855
105
677
158
53
377
513
370
534
732
591
759
649
552
76
160
533
812
327
442
775
655
183
965
551
999
151
515
353
630
758
372
287
157
242
843
396
929
661
991
543
320
517
275
807
706
234
32
566
641
742
120
712
32
943
120
479
889
280
61
818
496
302
140
65
417
772
274
86
665
505
628
320
449
620
34
892
473
256
988
180
450
9
620
553
928
43
584
539
132
770
181
922
974
451
270
276
918
915
35
357
313
526
849
852
154
419
180
980
83
195
347
752
988
690
765
994
577
122
391
154
786
861
96
323
77
283
290
530
176
310
746
35
714
690
626
47
977
503
11
901
531
9
567
12
846
636
609
186
538
140
610
696
81
934
73
527
66
830
624
88
574
789
147
335
251
81
569
78
654
352
10
206
248
379
660
75
129
539
631
246
852
402
900
961
107
851
693
215
407
332
415
860
98
522
921
550
141
370
952
428
713
430
169
478
917
756
338
941
215
318
348
640
951
812
59
980
636
107
730
281
594
854
198
708
999
268
242
505
591
438
701
867
894
221
513
978
723
970
577
746
462
50
982
129
476
353
225
131
605
67
441
114
626
981
715
537
605
700
861
826
78
842
687
124
557
670
984
574
44
518
356
713
840
11
842
49
408
564
695
887
887
780
815
295
564
778
390
458
18
753
609
869
403
89
4
891
385
554
460
888
689
689
243
108
383
893
989
44
562
287
14
783
893
268
57
462
921
758
373
522
492
745
860
518
742
104
626
61
594
915
465
931
333
326
805
180
694
807
863
267
201
465
68
925
110
5
40
619
398
655
527
822
13
606
647
47
409
65
709
892
231
43
988
791
502
392
34
40
808
616
275
898
919
997
185
447
17
396
469
811
263
877
273
274
711
861
971
503
672
775
763
494
212
546
991
192
274
91
765
160
851
824
909
512
190
402
436
42
124
189
514
252
253
782
50
937
503
46
294
130
876
901
976
605
829
676
591
805
795
733
400
188
928
559
643
838
27
660
525
323
405
333
894
991
382
105
704
89
66
202
567
487
659
406
97
205
140
50
636
793
783
380
651
442
119
41
495
68
15
866
361
481
627
847
263
31
901
745
521
369
650
79
615
749
999
979
401
423
465
27
387
780
324
608
991
136
798
31
105
354
300
544
747
272
106
944
185
8
536
690
761
504
220
0
941
529
38
70
110
19
287
807
245
562
453
684
373
428
311
318
645
978
884
141
583
827
552
386
385
943
915
74
744
334
298
925
384
926
28
326
306
904
357
947
386
151
839
215
93
908
270
341
955
722
552
343
555
186
456
966
610
341
158
814
585
933
145
764
918
310
754
459
986
658
917
371
461
339
241
472
48
722
501
789
810
802
598
783
519
780
880
347
303
504
685
764
562
845
1
972
116
423
330
746
75
180
314
889
656
38
220
38
114
970
20
891
487
168
63
656
22
327
967
732
354
571
641
77
507
330
144
749
730
878
862
264
22
731
45
725
605
723
515
304
421
877
375
207
804
259
826
440
551
513
440
310
816
72
938
629
183
725
791
962
948
182
818
614
17
195
762
944
284
636
406
389
804
514
347
698
113
86
597
659
320
417
418
625
386
68
675
295
110
582
244
874
163
626
885
765
591
770
832
846
635
439
604
553
91
387
649
113
441
835
417
194
343
784
98
247
763
245
856
789
955
169
793
424
856
544
582
538
641
563
173
774
967
24
396
110
599
142
231
532
435
897
922
621
452
639
848
882
433
551
527
195
3
644
83
221
184
899
766
379
292
543
253
674
328
344
692
30
833
790
901
796
305
387
439
396
174
13
150
824
121
369
549
824
669
938
987
873
813
629
890
409
275
51
286
699
140
259
250
558
686
676
370
850
969
792
390
92
790
302
184
660
751
49
740
93
705
822
840
381
97
581
519
183
988
272
438
769
977
409
661
711
580
748
210
706
583
154
202
259
650
776
552
788
299
978
656
666
473
132
476
858
588
136
509
175
244
140
219
273
348
103
990
120
493
743
822
886
227
360
29
525
22
628
535
941
882
961
553
715
53
301
189
446
58
518
710
368
63
964
768
95
659
388
630
843
534
443
695
972
811
33
153
229
265
520
446
892
835
751
769
699
947
279
746
952
436
539
254
288
451
546
849
382
479
428
365
740
531
432
548
368
349
573
22
487
209
438
700
607
771
535
960
11
796
447
173
364
266
410
488
220
859
160
240
292
506
123
772
845
904
89
48
514
794
840
82
883
312
147
313
288
314
23
351
889
223
160
889
198
239
632
859
228
157
507
436
165
265
933
616
425
835
302
892
637
169
724
346
607
473
166
341
243
617
801
314
217
251
458
588
427
832
330
478
258
641
898
262
108
48
815
361
53
299
371
724
11
991
505
721
152
972
328
691
626
162
105
449
766
782
448
47
562
738
851
617
581
303
121
385
336
203
98
88
843
862
154
180
752
996
459
36
807
341
10
797
843
193
460
518
41
313
961
692
978
509
551
926
44
558
66
174
693
337
915
929
848
902
99
218
161
850
391
341
488
962
740
982
509
740
730
989
944
255
563
887
817
85
662
394
375
325
645
166
114
710
297
952
376
601
851
342
867
747
200
663
482
350
828
372
355
997
220
764
34
904
824
915
870
541
845
621
342
89
954
446
797
45
611
6
358
271
801
588
197
366
158
480
144
313
373
733
250
226
692
343
860
52
117
134
519
384
260
602
362
373
728
902
482
800
446
549
151
409
66
861
799
539
716
740
198
529
729
839
144
467
906
258
512
982
580
871
265
553
779
696
343
72
766
453
958
282
688
712
97
222
627
816
728
221
105
0
911
155
744
530
257
0
642
850
956
208
504
730
390
401
907
932
508
951
27
479
26
534
518
316
89
80
476
103
464
662
210
995
971
576
866
671
659
61
142
679
274
936
422
197
277
913
340
77
756
277
399
237
513
838
112
286
521
924
930
796
771
31
304
805
838
417
365
88
73
662
753
818
312
478
473
504
87
233
502
368
900
524
148
247
806
858
244
270
112
818
926
699
0
292
29
38
64
85
992
370
775
155
648
599
535
981
359
766
730
202
276
389
994
995
180
909
416
686
769
738
980
657
870
894
738
725
805
765
545
495
145
855
348
771
820
367
71
501
995
175
814
921
912
954
435
795
321
244
298
942
999
360
485
513
484
610
977
917
317
33
662
114
744
376
583
881
230
813
117
594
0
948
878
328
491
426
409
637
886
88
81
957
183
984
96
189
512
718
851
572
826
368
335
323
910
259
88
0
355
688
797
542
952
377
433
34
942
478
809
378
258
771
906
325
772
974
583
470
910
400
699
614
573
3
843
878
701
882
186
264
745
889
879
562
964
433
186
833
946
416
938
576
178
346
905
815
933
468
515
410
935
214
433
551
914
764
164
450
505
452
563
403
11
81
822
867
442
446
664
868
157
495
388
992
363
838
779
992
84
156
318
941
339
722
0
371
848
469
171
780
407
249
575
340
941
745
503
859
524
397
956
382
314
201
218
185
77
454
621
326
33
784
758
836
996
810
509
312
897
73
981
386
825
186
617
135
35
474
285
597
750
416
104
277
805
342
418
910
894
167
787
452
741
141
612
304
927
380
692
182
143
863
189
525
191
96
70
692
932
160
97
148
181
630
721
999
199
170
709
103
487
290
435
933
146
433
683
77
640
735
282
179
106
976
475
735
640
223
635
827
169
824
193
591
624
465
540
736
900
999
564
890
990
338
491
839
496
670
826
600
603
154
833
709
126
465
489
794
573
712
950
690
932
746
115
90
36
318
232
181
691
56
444
604
108
764
223
839
265
330
124
610
597
256
338
393
200
285
360
110
514
460
576
768
422
486
490
952
50
797
648
615
638
502
829
85
666
897
444
533
516
344
562
813
506
665
7
76
525
416
6
901
81
998
382
788
504
963
850
39
194
775
564
518
192
424
326
920
835
278
956
105
284
802
927
184
915
392
948
908
41
87
773
899
690
792
76
474
637
805
614
402
939
112
882
990
987
914
765
396
885
793
43
702
505
975
983
792
44
129
967
411
480
271
259
289
832
117
87
984
928
505
110
459
486
566
476
702
684
919
988
16
560
636
664
967
721
737
397
396
330
62
108
122
182
268
365
9
411
190
576
621
508
152
811
466
775
64
111
748
885
929
850
823
885
803
431
746
793
177
361
424
97
112
972
320
239
582
786
801
975
160
623
169
353
18
806
983
715
755
586
200
942
771
651
320
569
228
991
522
442
907
754
604
265
487
46
528
769
631
794
37
968
956
561
187
398
219
62
373
204
470
478
780
363
285
210
104
950
500
480
910
917
375
862
685
804
212
746
61
505
754
135
303
326
741
312
339
382
559
959
522
171
274
265
84
185
779
594
269
471
549
410
347
685
235
996
589
287
264
459
610
86
685
867
45
810
173
126
118
581
419
374
585
915
712
534
758
140
628
296
912
291
602
512
619
202
601
335
622
518
960
504
863
18
149
382
257
614
688
178
273
492
417
728
550
187
383
102
865
440
833
794
770
950
443
424
245
264
562
12
79
822
941
819
126
999
50
997
596
349
996
184
796
25
212
839
721
403
297
243
263
737
434
694
949
932
853
707
44
141
856
484
723
746
312
641
518
979
850
942
50
423
205
288
64
475
730
274
344
43
677
241
184
280
677
932
8
655
938
683
178
157
961
409
311
919
833
462
201
733
77
954
644
68
25
443
993
927
657
352
344
421
409
255
738
404
119
95
441
992
70
77
700
562
595
601
591
174
138
963
744
182
865
562
619
872
261
756
426
179
541
38
473
528
253
56
336
672
602
592
573
523
647
432
610
998
485
935
985
674
361
593
335
898
447
698
99
896
119
108
823
648
452
374
607
746
955
278
933
650
692
18
211
349
932
678
204
83
803
919
300
472
197
174
160
645
573
356
564
778
868
654
889
967
656
613
67
434
202
645
819
336
324
566
188
964
347
717
336
470
644
636
868
512
245
424
967
6
718
99
736
682
52
322
42
305
775
251
851
210
727
361
164
966
623
150
774
217
888
28
216
661
960
220
677
982
364
36
26
810
291
405
889
991
997
419
670
480
238
254
305
879
842
93
379
307
756
727
366
299
230
100
260
58
39
934
886
92
615
320
449
307
204
14
732
39
420
14
294
224
285
176
706
996
440
632
702
160
194
286
570
302
665
144
697
591
670
637
777
763
611
494
269
465
503
597
954
42
698
530
14
980
332
883
813
991
686
492
798
414
631
718
143
639
216
397
135
52
371
242
30
184
440
239
249
499
172
573
183
244
430
363
364
319
850
259
602
324
868
139
548
840
75
66
340
163
525
992
501
28
15
482
146
868
233
589
387
36
93
811
872
327
33
664
673
961
673
148
532
169
697
128
883
195
740
263
720
609
908
900
886
880
70
753
94
342
744
595
606
377
90
71
125
413
814
447
481
174
674
56
86
402
634
969
755
542
854
921
708
681
966
502
354
855
250
529
280
710
897
807
577
26
941
793
503
661
635
410
685
861
214
242
660
681
480
604
55
412
881
576
492
945
705
314
568
398
46
568
363
625
999
593
675
724
827
155
109
846
63
566
544
459
404
372
835
455
578
50
688
274
437
943
655
536
699
853
893
236
588
898
995
246
647
941
788
88
464
166
653
40
160
914
81
447
774
5
817
602
574
414
52
839
728
277
370
960
889
22
87
840
858
555
452
446
149
732
434
164
689
838
198
816
809
392
741
324
686
32
416
695
317
95
198
118
362
97
347
320
13
391
273
603
57
423
717
445
679
842
692
435
308
831
823
722
595
361
101
479
468
27
624
807
308
489
974
797
946
8
172
90
247
878
118
724
210
203
502
438
176
31
980
223
696
959
31
890
341
723
371
268
782
35
902
765
62
338
967
464
678
468
695
728
292
500
797
181
27
711
494
439
545
756
881
519
286
902
253
943
750
388
402
284
578
387
540
924
258
247
114
89
885
901
447
576
236
93
489
651
941
673
612
772
363
134
247
467
655
792
737
953
399
604
798
913
572
125
251
99
747
358
65
299
246
286
520
144
608
345
714
416
886
239
834
942
328
13
669
437
551
655
574
2
640
577
705
939
931
171
362
362
297
249
707
478
108
811
849
842
249
168
941
86
336
606
426
508
464
726
319
110
723
745
200
365
688
822
632
335
249
788
977
118
863
838
536
774
262
160
269
882
750
412
676
28
728
959
197
224
374
884
377
217
759
171
830
181
459
427
532
845
867
787
133
958
942
27
433
130
299
672
481
753
134
803
597
233
594
601
731
475
237
315
339
913
487
274
867
864
614
204
219
937
955
354
36
583
604
843
746
84
466
37
952
717
380
136
6
439
950
378
249
568
220
294
865
247
393
884
968
101
184
156
572
988
719
60
752
566
178
495
726
85
452
475
513
712
629
174
167
967
928
693
564
779
920
824
117
682
31
520
959
461
409
553
896
377
731
367
197
748
996
311
48
513
954
681
372
99
660
891
665
57
199
325
933
439
486
272
962
304
951
39
57
328
725
980
909
132
131
77
828
448
796
261
986
409
283
107
612
764
245
127
20
336
106
891
956
662
242
279
49
133
910
45
479
210
478
388
39
111
302
872
643
167
642
815
613
277
383
99
320
55
706
515
600
425
317
912
416
16
731
927
404
116
612
362
821
734
601
783
198
775
711
906
368
101
538
587
479
316
141
704
847
261
375
95
833
662
95
879
943
581
759
482
117
579
752
487
115
578
779
668
184
183
575
949
833
690
516
108
468
973
772
726
965
612
631
34
379
285
55
89
634
6
419
895
355
142
656
255
1
105
915
217
354
184
946
24
167
595
257
156
979
845
88
266
490
351
680
556
887
76
773
141
474
529
827
250
286
7
959
469
243
583
378
125
135
71
259
450
992
305
69
226
699
547
237
462
311
526
56
485
224
565
574
541
19
528
115
393
367
170
201
175
961
506
403
914
697
833
320
279
693
227
535
129
211
444
78
35
583
439
165
88
15
512
114
403
970
933
41
257
413
1
226
160
959
520
676
253
541
416
156
225
464
371
655
59
428
751
743
525
279
883
102
975
526
51
148
411
407
961
814
645
32
644
476
478
549
292
89
289
58
532
270
946
166
59
89
527
889
55
224
37
808
890
675
995
319
337
418
146
22
341
373
531
688
282
333
597
122
796
292
807
953
46
660
802
632
767
846
455
81
373
878
470
35
729
31
207
470
172
631
377
986
801
165
414
86
251
224
967
902
171
930
374
622
19
766
810
917
980
972
606
971
503
52
287
837
468
443
457
72
558
24
493
941
520
463
222
343
183
236
15
71
563
127
604
83
367
708
812
885
476
511
721
868
177
273
487
913
512
598
600
247
8
978
228
730
522
677
264
949
571
812
980
222
332
642
123
756
903
406
139
184
978
777
186
48
849
378
401
27
330
868
804
24
543
963
531
368
669
324
470
38
362
902
565
236
903
315
60
449
524
83
73
580
268
399
631
132
848
748
412
332
470
753
282
518
446
675
798
121
718
206
288
845
197
62
343
512
906
481
228
332
427
2
881
551
377
505
614
727
14
714
174
573
975
314
919
14
554
139
362
769
451
996
509
391
331
735
965
437
657
215
438
505
440
615
47
98
258
447
478
192
795
629
535
738
792
847
631
970
137
610
80
810
405
596
316
158
28
313
852
985
815
419
468
83
919
401
879
727
987
904
70
465
388
903
158
353
456
838
888
258
173
399
869
27
207
217
659
896
254
131
206
443
409
659
471
517
379
160
405
475
829
480
179
800
278
182
218
654
261
747
567
984
10
87
20
190
792
417
851
655
885
718
588
670
332
239
277
872
294
788
781
911
54
388
718
790
804
186
272
764
994
975
50
33
468
948
927
671
966
843
397
144
657
872
588
396
707
295
494
795
729
934
899
34
899
121
345
155
558
688
555
411
306
187
172
635
287
721
2
735
493
115
620
649
78
742
471
866
546
447
22
175
964
487
858
337
915
887
408
908
634
634
782
570
447
22
963
359
662
861
274
770
18
39
435
758
747
2
838
903
961
676
126
468
189
472
57
410
61
179
232
609
561
537
173
469
224
523
680
653
766
392
787
927
595
957
180
957
258
3
500
354
376
484
490
674
545
356
282
317
732
227
449
842
503
703
176
317
194
155
98
502
975
180
375
555
818
600
834
635
942
427
172
151
383
350
42
173
915
434
93
419
636
896
544
594
826
546
323
84
902
181
486
104
409
691
37
833
252
876
646
940
118
818
853
179
519
244
594
818
965
27
656
899
513
297
975
331
609
636
747
868
132
899
216
222
559
958
175
361
340
262
166
534
339
138
853
426
840
404
743
163
859
780
973
724
914
974
689
642
855
832
957
536
693
810
56
206
960
442
311
885
664
157
801
936
539
144
131
986
738
3
350
377
161
419
868
581
554
868
638
196
180
36
600
380
929
178
504
111
458
285
25
249
104
875
351
64
170
648
716
191
79
73
343
839
180
961
462
806
406
632
947
774
130
241
229
197
764
151
883
176
88
625
779
502
771
878
162
367
769
353
276
987
170
284
765
720
264
68
211
832
795
185
879
558
30
783
438
798
801
783
625
977
115
579
838
879
739
919
671
855
830
261
833
448
181
577
489
518
30
250
167
738
28
776
114
168
359
204
0
871
446
552
980
400
26
103
159
995
210
447
71
549
702
631
81
150
45
883
637
14
237
427
480
714
589
415
573
86
485
885
193
744
435
133
842
803
596
561
281
699
880
142
97
224
368
636
790
229
652
422
267
596
239
348
609
953
570
878
703
373
528
617
16
158
95
241
770
492
504
769
79
428
28
293
93
913
578
985
105
25
694
245
240
316
523
124
210
662
861
411
271
837
481
591
136
538
467
817
815
632
259
396
645
88
346
728
171
781
924
478
971
825
401
603
503
27
124
464
604
189
897
935
513
928
523
377
978
736
859
33
526
848
358
224
518
285
582
977
12
876
848
725
452
885
498
476
652
973
9
990
743
532
171
773
964
179
179
852
782
66
105
802
752
623
187
322
894
591
134
395
958
213
180
959
767
31
534
842
786
628
965
303
920
809
61
183
73
86
209
434
935
997
658
804
444
890
428
819
163
804
175
744
584
525
49
758
349
917
941
213
869
102
626
983
653
821
687
529
511
371
672
16
470
275
620
680
253
723
401
159
748
627
306
309
755
186
607
483
488
762
594
906
456
928
794
7
349
446
822
799
252
616
622
181
251
923
458
835
146
68
963
845
19
415
604
925
415
136
771
141
403
898
45
878
679
221
438
575
419
166
235
396
905
96
356
71
959
511
383
209
624
86
23
162
28
940
578
383
862
777
296
636
876
813
635
95
881
259
878
889
350
218
178
783
178
965
936
483
770
584
841
577
928
519
708
335
892
908
786
497
289
928
526
850
51
973
58
478
729
751
312
890
724
350
46
956
794
223
599
247
810
581
781
905
289
738
471
58
23
311
697
660
681
398
1
319
699
644
574
71
424
834
189
891
51
924
609
628
615
106
486
960
375
860
944
868
914
907
588
863
11
242
200
672
14
825
368
833
868
552
164
351
378
608
139
454
833
965
394
141
688
461
940
505
520
551
862
302
340
270
728
736
863
465
108
827
387
192
50
368
377
684
411
257
394
732
915
277
953
771
419
21
853
469
814
411
765
819
177
431
286
998
852
381
766
84
148
917
15
261
176
165
518
224
267
119
676
554
815
552
107
951
300
279
713
294
737
274
854
588
465
634
819
816
736
782
267
129
768
69
875
908
488
167
627
537
366
529
490
588
771
819
773
972
81
840
237
597
344
770
213
354
284
672
776
684
855
561
127
9
795
351
271
38
408
144
869
29
700
848
580
399
46
410
133
877
985
326
830
646
233
700
527
424
787
797
211
810
868
900
650
285
930
500
809
204
720
179
323
392
138
139
181
12
821
456
6
671
547
2
559
288
342
508
835
918
111
501
521
39
171
69
307
312
937
255
567
987
812
337
5
858
678
846
948
375
449
508
503
228
167
925
182
670
302
878
829
929
952
516
360
853
89
516
520
392
875
329
442
676
901
769
763
273
275
576
670
262
530
340
432
399
414
483
602
108
797
533
638
690
533
490
736
721
847
310
402
221
538
544
770
745
559
817
470
572
310
589
916
627
268
236
773
698
411
785
920
308
507
554
592
367
718
881
65
537
187
85
757
60
470
411
321
591
112
581
567
546
384
711
82
724
730
678
629
716
594
11
865
942
86
930
795
928
936
274
209
907
904
945
93
21
477
477
282
531
373
73
338
377
418
805
43
849
630
908
241
765
456
896
933
493
329
816
269
139
941
46
101
436
672
746
993
293
160
357
359
285
48
934
736
163
50
9
530
509
101
212
447
129
143
741
89
904
961
133
152
479
245
260
907
103
113
820
303
948
918
567
290
152
530
907
339
182
135
249
961
421
889
818
626
786
81
487
346
191
182
909
912
424
401
329
256
777
237
346
354
862
889
386
216
587
581
575
870
857
680
491
327
786
354
808
696
223
255
797
633
101
157
33
984
789
833
8
746
799
97
283
69
321
180
563
719
808
838
365
145
219
109
149
970
660
56
313
510
621
943
328
1
821
359
125
659
375
722
94
498
767
617
431
979
258
753
139
419
450
188
169
921
689
484
674
416
879
0
189
545
771
953
534
562
260
401
779
263
62
21
224
266
447
275
689
177
14
789
979
431
307
167
191
38
846
304
855
401
178
649
651
888
109
303
884
851
533
330
276
192
959
628
106
853
575
839
220
950
359
748
997
744
803
63
926
823
138
751
722
176
346
80
134
628
390
28
620
179
974
645
206
793
379
506
955
352
110
832
163
676
17
434
592
853
699
438
38
871
644
634
490
337
123
619
87
911
73
407
616
557
597
31
201
557
154
767
336
763
793
722
267
176
256
29
966
818
53
348
386
14
431
416
60
25
939
684
855
533
104
57
394
1
551
883
103
793
193
618
691
668
883
719
856
645
667
582
124
510
858
243
503
473
688
608
619
683
539
910
410
391
798
180
473
753
657
100
451
944
188
513
883
45
414
430
389
119
266
111
617
413
650
976
468
174
311
189
638
530
239
773
419
648
33
301
594
114
480
326
825
735
650
274
682
362
142
971
236
173
233
706
677
835
181
177
809
352
511
722
967
704
148
788
572
379
684
564
805
10
273
518
196
965
854
414
91
224
829
347
400
177
505
86
443
965
145
996
299
587
502
198
750
327
372
11
184
97
294
753
740
332
82
260
647
387
426
205
966
150
161
459
400
923
739
640
67
492
246
141
581
661
430
580
226
214
589
168
5
925
252
86
345
263
342
10
296
319
555
579
39
842
684
945
792
340
621
780
928
85
657
368
263
214
403
829
397
498
466
119
190
299
610
304
431
931
560
3
557
909
803
349
741
534
76
194
733
238
495
960
63
954
219
558
387
347
841
934
185
732
560
238
541
790
137
856
968
350
64
484
260
725
646
189
27
653
440
409
917
146
560
960
151
83
64
796
369
67
348
532
165
309
366
829
174
322
817
153
838
4
189
843
160
713
108
201
745
310
102
726
87
546
949
583
688
625
432
815
820
788
775
959
814
595
684
375
257
308
112
451
7
588
812
529
559
798
462
759
791
793
365
931
346
416
392
543
516
282
131
743
701
137
830
831
601
293
886
193
856
952
872
110
621
599
169
499
352
502
426
845
365
123
163
403
475
719
73
850
200
379
997
692
169
636
53
839
575
86
955
288
164
863
306
136
182
508
502
879
591
54
672
683
74
154
847
773
344
627
778
32
953
744
434
631
916
65
419
6
77
31
222
544
855
951
373
109
390
255
692
364
695
19
638
634
32
326
45
185
589
290
531
583
902
37
565
25
219
169
203
481
19
123
133
901
786
129
704
412
36
669
361
782
881
697
489
273
987
616
702
603
721
287
802
454
667
722
462
870
810
190
397
56
606
586
32
711
93
394
903
552
90
286
604
522
609
139
268
961
618
85
590
128
654
916
564
9
76
743
831
288
826
626
8
732
222
475
861
71
275
746
376
184
653
710
246
479
782
628
591
647
112
94
163
62
28
73
730
804
460
423
683
323
887
397
91
146
954
445
642
692
715
988
695
16
72
504
539
53
525
343
636
382
305
642
205
720
523
968
504
896
699
776
751
312
443
387
580
911
91
650
436
185
900
403
411
867
937
782
56
965
617
883
769
648
935
445
426
327
656
461
916
828
516
897
880
765
556
195
661
595
21
72
925
613
16
158
73
324
508
844
494
196
761
323
113
759
684
126
875
349
7
188
928
806
428
795
183
342
20
623
447
709
591
828
288
850
670
130
472
737
696
537
710
608
943
366
44
139
354
586
551
308
892
506
591
917
823
720
948
847
733
901
901
786
914
533
11
823
124
958
994
893
913
462
711
659
556
358
979
298
381
300
167
491
944
12
416
696
365
462
395
971
454
544
56
818
550
234
608
239
94
894
208
692
549
132
133
272
408
108
689
564
144
965
276
31
489
124
751
806
568
282
163
61
934
747
920
323
338
444
901
417
847
438
372
151
725
89
283
273
52
511
510
860
608
147
784
414
83
905
953
661
403
605
725
636
978
655
499
475
192
130
372
365
631
169
472
146
658
1
47
593
170
697
990
730
116
809
677
490
127
629
470
634
306
552
356
712
574
68
998
621
699
812
713
721
159
336
795
967
758
665
111
550
254
827
185
787
502
50
159
232
817
992
582
141
613
724
815
282
109
136
352
970
145
578
583
212
747
192
280
784
1
491
107
219
192
162
770
872
773
731
794
274
136
17
657
544
148
796
426
515
398
849
788
428
425
746
515
636
74
353
421
250
740
269
463
138
856
600
816
981
56
304
276
841
548
794
700
543
557
602
895
105
488
993
974
781
187
585
585
297
400
538
296
214
303
279
768
934
801
428
19
769
918
199
796
855
732
430
245
273
818
53
816
817
635
348
981
467
878
839
369
793
588
644
977
918
605
72
687
859
237
27
715
988
582
337
596
790
917
670
758
22
615
239
288
823
545
546
253
426
710
242
386
593
57
799
869
867
744
95
945
932
940
172
390
674
51
753
753
538
655
356
437
802
126
294
665
352
860
518
322
871
664
803
190
36
877
170
988
152
692
823
229
960
81
862
232
645
960
444
190
751
261
315
571
225
794
628
143
989
932
383
891
777
635
915
813
108
294
142
17
26
885
497
165
727
638
766
16
21
638
308
325
637
218
916
709
211
573
46
304
71
25
237
623
308
309
300
497
348
604
539
205
671
426
361
182
687
364
185
55
584
571
281
996
108
639
271
687
154
144
483
68
561
573
558
812
55
724
402
592
762
788
295
959
166
343
611
123
568
829
308
885
257
323
428
908
867
827
961
153
531
430
446
44
365
897
18
930
148
291
455
18
406
431
902
260
156
866
863
558
366
840
257
175
139
557
557
831
687
914
249
796
37
579
30
278
424
900
196
714
995
86
713
497
65
497
580
798
422
827
95
731
563
836
501
956
913
763
506
13
453
360
412
269
908
985
719
301
602
480
449
820
75
151
247
654
471
434
227
942
23
133
966
222
678
869
614
110
996
424
109
424
496
664
171
210
409
324
481
632
580
482
38
494
232
365
400
865
591
669
630
266
473
775
43
477
560
876
36
786
987
908
432
343
969
907
866
445
144
160
886
980
775
476
4
898
680
751
251
106
758
652
663
486
687
451
59
559
293
385
422
758
272
385
594
611
356
584
681
603
849
988
199
380
690
122
485
380
512
957
677
885
841
23
331
952
811
484
630
531
689
819
684
502
470
635
320
795
45
790
781
735
723
649
29
321
886
523
499
885
884
462
249
919
295
715
995
606
822
353
597
20
43
48
481
113
800
679
661
299
556
652
515
322
616
915
471
927
484
410
561
213
314
557
761
972
923
993
139
877
14
945
243
730
863
816
112
759
367
264
92
700
88
20
313
445
337
934
249
522
871
340
202
108
93
568
737
555
905
843
968
600
737
373
130
158
484
564
420
29
331
214
532
89
452
24
535
66
145
932
735
627
515
995
393
387
411
396
717
473
802
514
706
688
191
59
938
976
778
652
35
189
913
222
875
331
25
576
534
745
636
534
474
107
62
881
630
889
630
485
744
911
990
790
854
981
502
265
674
199
117
300
381
408
988
519
793
819
222
285
973
761
21
330
971
93
917
343
842
887
624
368
666
157
134
247
89
69
725
25
422
413
554
739
27
701
753
678
656
742
775
404
602
618
205
98
119
130
975
504
52
821
277
245
221
594
255
469
646
145
745
572
613
952
668
515
133
24
491
688
786
50
882
84
31
515
127
705
829
184
614
351
38
470
941
853
221
356
460
969
319
385
430
145
706
444
996
857
109
152
651
828
790
125
588
91
296
667
392
396
860
255
256
371
677
195
692
763
163
646
586
117
969
389
911
974
528
414
830
889
954
266
574
481
327
542
981
64
702
797
909
217
679
386
383
664
447
297
950
943
413
272
154
534
389
683
472
27
317
498
760
842
755
701
887
271
227
538
745
783
178
142
645
437
993
448
90
223
628
284
39
671
884
933
828
384
800
268
843
459
235
774
219
978
787
320
849
213
399
851
970
380
714
401
172
416
715
772
871
502
288
578
592
662
980
25
187
865
800
59
206
597
586
638
668
124
29
230
19
904
578
42
840
546
600
819
758
924
120
19
678
362
628
677
346
76
285
2
603
725
260
941
178
506
453
692
468
418
540
549
936
904
866
987
788
932
124
378
35
115
730
169
21
756
949
482
362
851
665
953
719
138
816
6
696
844
535
439
546
183
144
181
747
177
79
241
959
780
33
329
203
904
908
497
155
841
955
338
826
599
354
403
353
130
977
454
542
522
743
272
751
463
482
956
361
258
951
386
521
950
157
553
391
60
861
820
600
511
883
571
114
625
63
570
728
245
442
700
996
110
302
977
2
762
389
666
199
490
683
455
31
717
520
743
529
257
640
370
241
16
694
43
515
722
293
108
967
453
262
512
180
383
339
39
508
995
313
915
263
968
917
424
327
329
826
348
105
464
72
889
106
757
239
381
836
484
426
650
506
914
692
962
404
571
614
991
358
248
480
270
643
690
199
271
892
234
724
445
622
476
963
885
518
797
965
831
814
885
701
296
393
387
379
567
826
252
21
250
530
347
736
120
729
100
133
709
615
159
182
826
947
633
257
614
82
520
186
998
788
535
449
718
115
60
433
672
826
499
786
935
29
592
706
134
607
809
456
682
628
643
253
900
348
332
853
648
155
388
432
174
930
305
497
804
730
353
494
726
611
905
148
707
267
24
130
604
906
378
621
285
422
532
869
632
320
741
176
152
243
380
241
601
12
819
914
632
846
509
860
451
868
984
92
183
591
852
403
950
845
778
423
364
977
42
259
907
550
323
654
54
615
737
790
474
835
902
177
775
815
201
248
536
386
406
509
567
757
807
91
884
665
458
798
295
363
605
663
82
856
317
102
841
460
548
1
245
409
82
191
854
538
71
681
817
947
525
848
13
616
671
519
143
438
440
245
959
828
39
740
914
539
498
628
720
175
756
683
719
333
225
141
766
545
304
637
868
114
641
306
16
387
53
848
587
899
497
549
811
783
635
855
747
390
941
52
981
398
321
786
455
172
57
737
593
255
512
160
391
815
817
453
108
888
938
805
879
500
485
727
165
776
723
402
244
837
132
142
47
967
86
738
152
440
395
30
743
511
780
446
64
79
79
961
779
482
874
62
305
221
522
622
794
68
489
923
180
728
72
231
375
303
925
166
764
595
194
761
727
385
270
925
784
805
512
350
501
672
929
523
667
763
913
633
308
234
367
490
17
682
264
587
405
435
839
440
366
504
882
125
258
118
734
760
948
218
991
57
486
362
164
545
291
528
609
705
919
483
490
254
746
1
436
793
585
661
109
202
778
595
352
550
253
803
284
272
424
348
648
199
723
852
741
657
928
540
247
420
640
724
944
664
343
201
693
363
628
300
34
395
800
701
543
501
202
456
674
450
937
307
373
798
541
362
936
649
926
783
460
618
629
809
257
469
902
409
712
875
940
752
522
41
145
250
48
821
703
637
264
106
158
810
172
237
525
375
594
189
785
970
783
992
214
390
676
565
873
915
372
139
957
601
378
73
820
364
215
860
491
51
239
205
36
183
794
599
156
694
962
680
207
706
38
369
193
678
418
712
941
417
744
415
519
315
16
647
789
590
413
170
444
519
606
488
403
187
416
617
653
988
967
872
504
764
473
735
838
794
839
813
106
678
17
783
64
598
752
359
441
473
143
224
640
364
182
36
81
435
35
587
866
705
357
958
369
142
725
726
696
420
233
18
530
357
323
81
727
567
682
567
512
975
802
675
173
740
743
285
671
718
615
229
155
362
900
988
839
46
206
56
61
281
633
381
569
636
236
167
737
224
140
108
268
354
428
124
848
587
752
687
562
442
837
773
722
704
104
521
102
40
717
457
269
344
726
629
120
23
868
944
734
514
735
441
816
725
643
865
499
499
505
757
842
415
547
627
186
214
178
109
730
29
441
846
584
19
846
799
753
281
783
968
227
690
4
302
76
349
980
21
309
414
501
984
89
48
697
478
141
791
870
53
326
509
324
290
462
202
282
827
9
246
582
274
314
471
528
949
959
797
456
832
447
906
332
902
983
100
188
736
677
72
880
892
146
934
52
251
423
685
561
178
221
213
256
419
611
635
943
614
362
32
531
186
231
999
665
154
286
283
778
920
40
542
942
189
962
637
175
741
578
809
276
49
722
357
152
739
481
902
106
980
718
711
423
271
417
665
445
826
535
302
610
595
84
398
121
800
390
823
596
482
577
468
628
651
761
753
137
806
755
859
831
528
494
250
812
826
110
35
984
514
594
906
889
763
890
103
125
920
423
108
274
625
485
253
317
83
689
912
242
602
711
473
464
916
403
945
608
997
495
313
158
123
187
770
813
810
895
265
209
988
448
350
243
186
960
777
280
178
617
745
912
808
243
198
297
730
364
73
916
295
581
926
888
232
958
403
555
608
338
586
45
707
371
560
681
980
775
790
460
656
654
796
867
588
915
428
770
884
881
985
458
426
923
789
585
10
261
508
803
950
703
371
914
598
42
628
476
966
383
677
459
39
561
271
324
961
89
762
344
569
867
866
246
182
674
130
387
264
766
390
806
984
214
637
4
291
274
285
220
981
854
547
271
417
726
675
752
41
425
365
231
305
930
594
127
521
181
363
874
845
613
414
877
187
65
807
884
98
820
336
668
295
504
644
66
404
498
210
596
425
648
214
753
975
364
627
322
27
266
636
427
912
288
610
429
555
153
768
862
671
174
144
992
261
32
932
647
673
327
317
324
87
873
615
530
824
978
175
981
843
76
402
766
610
331
644
802
684
212
578
1
546
195
127
426
735
256
819
622
689
752
310
76
633
495
96
240
107
876
854
787
471
853
115
50
780
557
226
223
507
160
842
111
929
817
813
639
444
223
215
88
645
609
817
420
979
286
243
986
422
242
733
239
951
282
936
672
402
68
96
881
71
51
846
31
518
990
838
410
396
898
784
674
309
205
377
830
775
214
457
331
119
235
657
823
69
606
95
612
804
652
206
533
844
88
594
755
348
965
153
555
60
170
125
747
934
328
767
447
27
442
277
154
887
75
452
80
443
853
144
188
919
835
844
212
816
529
408
516
392
330
327
634
578
664
226
654
36
845
923
680
506
738
307
656
309
617
748
981
110
310
276
890
433
944
852
661
632
990
251
863
820
440
860
392
510
193
421
328
550
817
836
554
302
123
684
118
37
547
575
44
532
506
394
557
707
798
635
24
684
13
130
481
769
632
628
611
934
263
806
337
195
78
842
334
982
803
292
548
818
57
181
997
510
687
0
180
125
682
190
735
849
731
62
948
434
739
418
990
374
919
982
377
495
337
244
387
939
861
404
932
800
480
411
54
384
194
199
369
595
936
327
51
562
453
464
504
872
909
92
118
286
707
913
159
84
320
971
630
421
645
922
663
610
620
579
184
341
575
641
447
966
766
998
961
951
534
563
221
166
310
995
661
237
464
687
497
382
67
874
530
903
198
827
384
664
920
405
127
181
498
904
87
158
999
508
693
565
881
341
999
394
502
502
837
426
358
902
590
448
786
732
60
102
198
827
933
495
81
664
103
611
310
321
341
79
263
368
403
474
880
935
747
572
268
360
379
305
52
658
337
159
971
308
390
29
530
700
211
61
480
188
769
265
562
653
934
516
268
317
156
643
146
240
263
41
961
58
224
660
932
718
905
527
666
865
251
155
716
780
753
714
440
383
344
329
671
639
72
797
94
80
38
589
238
251
313
813
499
955
176
464
934
203
84
595
141
386
487
618
317
820
812
2
829
929
783
418
165
934
24
851
620
923
486
348
438
633
841
19
684
299
595
575
180
734
852
467
860
502
261
782
241
758
105
694
42
710
731
318
333
782
82
463
967
903
464
321
436
6
449
490
634
352
631
99
212
168
210
414
110
827
21
142
983
444
950
149
555
107
339
972
754
367
630
883
16
154
350
550
436
591
726
472
852
888
660
149
859
422
626
939
489
640
784
631
491
219
459
437
96
221
212
487
334
749
626
150
435
229
691
411
523
592
860
27
854
906
272
418
721
22
202
761
581
274
182
634
558
193
619
367
877
828
763
212
931
212
737
897
742
596
933
549
539
206
167
984
853
462
9
918
573
488
971
627
72
81
830
949
56
600
377
482
832
936
296
46
710
839
621
763
595
990
931
430
11
512
638
172
579
336
985
530
886
169
550
771
383
857
694
655
373
226
398
719
75
238
216
981
75
88
114
55
765
561
179
637
356
223
131
285
4
270
506
87
289
659
960
880
507
0
252
601
421
314
439
495
318
944
291
370
325
609
651
751
408
634
609
530
249
893
374
835
994
991
692
359
88
756
561
720
261
608
30
467
673
950
748
549
123
242
127
31
880
315
889
682
659
344
179
312
579
171
667
100
77
706
371
811
766
262
965
285
561
793
161
912
735
700
132
555
309
302
51
348
653
581
63
923
921
801
391
787
557
705
110
819
647
121
760
125
232
829
418
675
933
257
679
60
111
15
891
937
245
516
438
401
225
717
385
811
881
520
872
595
581
64
881
314
649
104
124
488
564
593
210
899
795
644
408
531
461
832
479
294
486
625
253
786
100
507
656
244
221
462
308
243
671
948
97
57
114
807
257
308
645
92
787
329
732
199
608
76
405
349
130
733
139
749
773
638
453
873
889
950
327
121
425
953
315
355
400
770
515
43
498
571
567
236
566
12
193
610
227
937
337
825
343
886
624
81
544
221
499
57
510
708
61
508
833
408
152
514
170
582
378
117
115
920
529
601
189
681
370
845
395
581
700
257
511
750
853
289
502
918
448
53
353
560
725
95
108
146
616
345
654
434
216
795
324
730
756
227
293
605
240
100
876
658
292
481
101
545
426
147
818
860
907
118
667
361
785
138
689
730
13
739
344
430
342
800
12
243
115
254
271
301
219
83
423
264
977
339
422
478
173
770
387
673
654
921
254
199
780
608
285
61
397
177
950
375
660
764
272
154
448
789
388
374
764
865
683
285
366
789
431
821
781
608
929
843
948
198
361
764
68
174
638
716
421
176
210
83
792
957
965
472
968
375
712
455
609
468
835
702
132
702
516
503
392
686
773
444
300
77
512
862
840
268
687
341
298
122
354
872
292
487
967
828
824
272
162
631
910
380
750
360
886
552
955
912
272
486
540
232
921
89
199
761
809
510
673
249
142
880
659
745
277
284
250
184
606
32
297
91
157
509
599
248
758
583
847
265
190
228
533
745
591
64
294
691
622
939
993
614
388
578
274
899
669
197
489
732
301
559
273
797
547
603
937
545
550
399
167
485
974
9
67
775
416
654
625
336
156
877
62
963
875
907
892
468
908
414
833
423
208
212
582
875
129
741
153
719
340
345
56
265
241
411
223
343
161
95
299
42
959
855
133
400
84
164
541
103
642
12
676
52
918
82
247
896
195
855
567
425
506
272
209
237
483
251
538
360
947
366
400
976
545
163
557
556
299
682
635
287
436
998
353
187
357
265
690
696
173
564
582
551
732
652
105
440
119
695
337
487
384
913
630
562
750
114
3
300
896
286
918
83
34
815
149
980
876
461
667
249
787
265
23
208
779
228
190
460
25
797
594
262
512
793
101
243
696
947
243
691
254
247
328
54
106
8
131
831
20
589
883
47
542
621
855
431
345
20
947
395
943
820
845
643
796
97
112
362
334
670
536
643
73
371
235
834
186
422
462
271
127
917
23
54
6
78
469
882
4
445
752
328
951
1
968
358
696
28
443
200
828
41
433
669
7
345
969
827
345
21
386
997
732
283
631
36
850
232
533
139
882
354
160
325
255
760
767
852
723
704
561
474
429
582
541
891
973
28
543
144
942
146
100
558
961
383
256
863
62
510
46
67
403
553
4
894
892
183
584
637
898
640
584
733
164
24
616
148
617
51
711
761
242
772
135
102
392
25
221
164
254
873
914
675
843
635
727
626
403
375
868
770
69
307
117
264
657
782
790
646
527
784
552
716
711
410
37
844
152
777
39
865
447
989
187
627
407
483
968
955
361
703
357
320
394
93
407
112
868
72
831
698
494
962
854
850
375
93
510
997
852
467
246
933
729
793
328
338
674
705
355
850
50
550
607
305
81
855
899
301
978
671
94
260
794
10
131
547
374
275
318
866
872
773
201
308
660
813
126
30
688
697
568
624
467
210
874
808
157
91
849
325
181
82
47
834
566
674
457
178
376
263
635
954
665
91
357
600
579
929
659
896
19
585
933
913
322
248
934
676
798
708
13
607
557
360
867
665
358
573
228
946
74
501
618
254
801
286
407
231
706
653
797
123
32
18
912
73
140
294
528
55
991
334
668
64
616
882
813
377
276
335
502
483
68
388
838
870
30
576
314
291
390
391
612
138
93
822
290
636
141
618
192
562
350
57
140
77
740
72
470
450
281
89
259
190
481
375
186
959
983
194
580
75
286
911
625
490
625
138
428
983
286
930
975
934
440
482
448
853
822
614
959
92
397
342
388
965
780
903
963
198
253
81
795
957
145
78
866
730
458
753
278
589
289
126
798
5
311
623
798
725
108
71
203
197
810
285
149
803
535
3
190
874
237
147
349
692
534
964
906
926
46
5
276
80
337
197
453
605
598
579
2
555
399
307
12
182
728
403
603
444
604
650
916
317
329
440
416
841
848
655
725
790
453
157
503
925
373
324
139
69
324
503
154
27
636
222
506
440
697
7
726
272
441
845
846
407
31
486
945
939
349
537
967
637
790
897
270
379
743
902
557
196
259
858
613
143
877
787
271
395
86
333
624
924
621
577
188
168
766
6
443
49
295
138
976
773
108
729
759
455
934
251
451
890
177
453
487
965
625
393
893
702
615
293
921
349
196
771
327
759
561
948
842
406
54
598
277
510
373
248
769
221
686
952
297
206
490
817
949
500
559
19
928
386
533
394
184
305
99
240
235
691
20
239
144
219
693
770
780
846
97
697
313
394
736
658
181
748
366
730
290
772
163
293
277
819
367
698
405
619
811
576
687
178
551
178
707
26
504
520
502
572
611
776
292
459
331
382
725
968
587
931
279
397
88
98
443
90
837
573
863
920
877
51
744
283
736
510
614
908
929
813
836
429
690
487
631
631
936
762
944
764
682
355
26
432
669
894
391
882
937
740
387
781
791
167
937
827
584
882
579
238
430
57
808
750
920
170
878
120
816
850
891
366
917
777
390
185
286
15
933
528
645
406
757
546
878
693
92
741
665
128
266
50
551
344
474
703
875
160
383
271
200
546
319
916
748
633
334
189
80
658
539
129
888
639
325
234
181
711
605
209
789
894
738
337
114
421
800
742
887
969
267
30
141
741
522
501
583
123
623
292
838
523
52
999
93
773
349
369
100
761
937
216
607
42
841
379
238
755
977
975
489
466
530
974
480
90
514
871
57
436
514
764
370
478
758
888
831
94
608
784
171
39
815
904
424
119
411
58
309
76
823
984
517
516
109
108
578
826
315
775
710
902
491
438
305
894
144
309
553
198
564
548
241
964
394
310
717
328
960
122
598
22
337
758
230
651
637
582
170
694
522
870
687
187
126
835
191
708
454
627
222
404
381
322
764
268
957
169
57
65
841
15
935
544
40
540
773
303
800
126
485
486
703
277
920
178
943
508
939
836
734
80
844
544
170
874
161
705
718
308
231
367
291
293
855
857
926
187
753
216
422
895
584
951
40
183
740
378
315
707
14
717
511
148
859
169
452
329
650
423
993
481
527
146
38
696
962
446
789
499
960
269
783
376
349
372
84
688
273
695
22
690
173
622
859
395
621
282
416
881
260
842
824
142
626
734
925
397
885
630
332
334
363
38
57
645
506
802
231
634
723
825
720
539
716
395
992
90
515
846
513
904
121
512
811
247
426
242
125
180
63
556
501
882
168
836
899
23
378
785
218
562
263
398
596
39
632
828
787
161
196
403
874
65
619
969
18
918
360
871
421
160
654
177
868
712
142
161
968
12
740
154
744
469
75
215
912
412
157
81
225
194
534
797
675
270
581
48
610
477
480
966
136
290
153
538
145
570
286
727
240
901
113
450
29
143
631
664
61
88
781
798
117
131
152
187
92
931
161
455
487
900
289
833
483
265
270
778
680
440
935
827
630
606
898
473
248
733
618
319
538
549
381
105
86
143
339
951
192
457
947
665
660
552
793
127
733
774
94
771
231
739
490
683
101
774
505
186
112
862
366
536
1
704
694
518
474
322
6
703
768
439
750
384
208
746
714
532
337
519
190
482
455
906
501
115
887
734
3
655
410
419
26
301
143
365
12
941
539
803
371
870
346
577
32
744
792
398
128
608
253
998
842
394
220
395
969
196
72
597
175
976
355
453
791
289
911
788
613
161
669
433
668
495
673
501
498
742
75
63
917
671
627
824
61
844
814
346
810
800
776
881
380
542
842
516
174
261
488
178
273
932
539
834
163
894
708
747
212
202
187
744
385
62
816
938
275
543
618
397
189
689
540
403
880
627
456
612
850
996
876
241
212
322
829
888
438
252
137
93
643
71
567
366
376
421
351
63
837
741
121
720
989
853
985
604
172
295
89
659
839
141
919
136
709
923
562
632
679
458
660
766
393
384
214
385
569
480
474
443
542
581
219
560
597
148
634
764
420
400
766
525
661
812
312
149
109
58
53
71
794
969
152
395
185
225
520
890
843
622
572
369
735
954
916
943
108
555
364
329
989
537
133
360
107
562
282
335
201
887
431
781
350
704
425
518
707
26
713
863
36
461
190
635
902
619
910
714
662
225
245
216
99
357
983
511
97
308
478
0
916
604
136
804
400
215
97
513
953
940
252
939
363
505
526
425
347
591
714
57
715
942
810
652
631
734
556
510
335
827
642
677
400
77
978
884
629
555
450
380
455
900
535
434
486
176
516
708
203
712
952
442
609
200
824
354
942
580
26
610
852
513
128
149
484
514
722
347
408
697
658
462
198
560
68
256
262
333
508
448
872
982
952
55
126
420
373
83
77
986
903
769
587
390
256
789
756
551
224
102
882
643
204
890
385
128
915
331
65
325
511
173
644
918
216
700
752
421
503
949
566
251
999
773
850
754
234
186
359
332
458
191
60
529
565
725
141
595
22
370
12
982
741
241
779
102
54
986
511
697
391
982
468
467
559
633
772
997
419
525
836
317
986
687
532
800
590
719
104
970
344
672
870
494
939
213
156
905
808
904
625
784
621
263
360
763
410
461
988
49
719
647
678
459
888
593
814
872
86
158
981
123
799
688
813
511
612
592
837
303
351
338
424
325
847
795
108
445
602
528
923
308
339
615
239
671
912
958
27
666
947
969
14
832
506
8
85
555
442
948
605
311
195
931
733
776
168
995
624
68
337
45
187
625
796
685
419
306
639
83
178
211
757
952
551
271
966
622
398
387
879
995
695
398
291
803
545
567
196
772
484
230
943
805
776
983
914
964
626
532
567
474
394
902
879
550
4
487
94
270
79
283
473
913
984
409
56
523
294
40
727
321
603
503
491
203
829
437
866
226
871
732
301
25
545
312
856
83
110
912
49
471
975
966
315
596
106
416
487
165
143
588
877
422
650
281
745
162
736
747
270
272
715
324
0
336
91
344
585
176
310
327
83
983
711
384
880
823
328
961
421
63
0
997
597
422
5
231
716
446
564
49
52
762
584
957
992
721
639
445
327
772
529
106
502
582
625
962
535
143
775
633
826
64
74
493
199
9
798
615
706
817
131
744
921
138
198
985
896
934
942
227
46
640
284
510
137
500
224
312
104
583
272
389
535
20
962
10
714
213
914
135
811
590
127
516
824
259
303
12
150
335
440
271
780
934
226
743
248
118
240
51
906
376
892
293
337
64
786
323
551
839
365
337
975
306
214
214
623
506
4
901
959
314
755
256
409
131
487
71
157
817
536
190
724
896
905
662
853
555
978
965
49
390
381
317
315
516
282
756
561
800
955
836
297
860
185
28
792
208
956
897
773
26
614
299
69
5
870
58
191
100
385
55
147
744
250
973
123
407
410
301
759
457
863
989
429
149
356
708
822
427
775
933
560
812
811
523
3
650
679
78
461
389
976
176
356
286
976
866
34
318
439
893
85
160
81
224
126
867
653
683
248
601
830
444
408
463
816
883
929
487
669
809
735
54
827
680
515
321
384
706
857
193
138
319
707
729
973
621
414
976
817
112
976
664
802
832
685
111
148
798
655
457
672
703
214
298
338
863
704
514
956
687
487
764
613
134
360
627
507
823
127
360
404
774
842
358
210
404
14
988
717
12
906
724
921
466
655
160
499
265
428
295
503
620
249
507
330
368
445
511
187
730
459
68
131
159
210
909
611
474
836
515
756
177
506
142
287
511
933
486
741
531
598
38
376
533
954
59
797
328
653
130
777
368
840
111
522
354
381
312
704
938
593
488
464
333
783
450
57
377
953
232
530
306
676
264
540
553
43
525
935
772
172
896
185
775
798
663
270
824
214
751
693
811
88
366
761
572
846
563
739
548
115
521
285
330
103
197
339
114
229
766
27
190
991
283
381
593
961
437
585
270
479
617
943
586
577
851
287
0
765
425
63
569
26
753
124
279
179
601
479
16
379
137
175
578
224
360
803
392
551
268
821
59
482
530
142
153
256
332
747
708
306
257
49
915
258
728
838
743
281
124
553
240
160
78
720
488
142
423
981
696
497
554
941
304
939
762
849
380
763
445
839
737
687
855
28
393
138
781
314
747
690
198
104
522
931
323
721
779
233
842
635
260
457
621
614
643
599
133
948
22
519
522
651
266
598
985
463
540
660
342
430
230
804
977
746
297
859
885
825
274
99
962
449
270
842
226
977
660
365
575
240
227
255
647
793
26
61
53
871
265
180
192
474
32
17
118
619
481
47
93
642
410
498
815
468
253
581
279
734
186
734
35
202
80
141
296
188
145
756
265
439
732
556
956
375
763
26
28
594
809
564
583
187
923
135
869
24
742
615
963
177
865
663
501
713
639
158
972
308
625
766
527
219
723
657
583
614
304
605
120
836
673
264
733
513
481
631
64
968
146
365
14
571
16
306
250
90
516
872
654
414
321
75
679
996
60
406
533
876
710
206
614
930
25
253
907
189
313
589
538
338
294
87
386
424
262
864
292
727
802
210
910
581
892
864
713
488
481
294
83
943
177
759
969
777
408
71
67
248
852
271
768
326
190
16
570
624
217
552
340
666
676
281
171
104
683
533
358
362
322
646
663
948
732
639
188
217
329
774
846
8
857
23
656
757
466
346
35
961
666
793
528
423
761
513
768
13
826
434
939
507
340
123
735
986
753
421
246
561
946
229
73
292
509
724
85
108
297
215
450
212
257
501
497
920
720
142
681
498
216
547
545
638
703
788
17
399
767
858
473
247
916
277
29
590
164
992
278
294
409
304
422
764
110
209
510
571
480
696
128
303
403
785
239
528
196
849
681
686
999
350
972
748
227
425
339
0
559
923
245
67
866
858
454
945
97
958
687
497
972
73
721
582
162
937
204
48
590
520
957
314
689
85
776
647
431
428
643
522
338
619
509
315
118
867
915
636
690
450
847
945
726
475
557
488
430
316
992
813
499
815
637
586
625
625
927
24
658
453
478
515
671
876
37
7
425
360
548
936
454
727
834
845
84
871
347
891
635
228
108
785
327
954
200
551
113
314
858
81
420
906
294
668
667
651
289
49
210
241
831
827
749
881
140
763
926
310
591
812
235
952
362
914
618
198
893
382
904
391
833
636
126
203
576
799
277
553
299
496
527
674
628
164
114
243
893
649
867
882
818
358
641
955
679
220
595
574
326
816
613
356
795
662
517
764
339
952
298
80
182
772
498
782
931
927
559
930
609
454
507
250
43
521
908
277
281
384
343
651
266
559
298
617
931
684
989
119
519
80
455
721
576
264
466
152
941
952
848
634
492
446
187
704
822
935
170
804
713
671
879
772
163
974
323
52
679
806
836
745
895
794
456
480
391
489
838
366
406
449
934
586
767
21
180
806
782
969
573
470
769
3
56
539
483
184
108
48
667
106
332
334
835
33
482
707
610
52
374
869
493
91
647
633
296
174
750
368
859
38
274
415
106
747
266
557
286
22
124
712
49
317
696
722
840
456
128
55
714
424
76
837
989
886
106
499
919
256
78
730
711
859
813
213
81
126
624
516
21
736
317
26
700
856
93
995
740
809
115
49
75
385
868
368
435
222
587
500
824
393
800
973
416
111
691
10
819
312
390
82
978
538
723
155
457
605
174
163
934
686
828
604
522
112
201
186
666
346
875
802
717
806
166
963
786
321
579
63
148
153
658
908
940
950
793
685
972
123
761
144
320
889
358
86
708
389
802
738
214
115
579
210
665
337
5
428
283
154
516
496
69
273
647
285
582
623
733
17
976
562
70
117
457
859
869
682
7
959
634
353
83
46
729
112
940
347
606
197
171
192
363
588
672
676
9
398
618
294
618
348
614
271
99
420
569
900
197
523
450
865
232
230
323
460
542
444
239
927
526
423
701
452
776
996
499
820
210
993
795
300
29
678
173
250
754
942
117
493
520
161
798
597
777
329
43
622
252
138
776
892
133
110
787
696
367
957
882
511
666
181
694
18
415
92
777
313
731
179
798
4
883
685
851
770
255
523
740
37
77
45
606
385
37
939
333
991
722
336
459
675
445
193
322
672
655
427
127
900
168
801
322
823
581
770
125
691
22
294
740
173
87
300
412
141
8
627
485
650
134
10
563
675
582
362
475
418
399
123
439
646
244
92
208
244
257
53
490
816
968
19
552
136
356
788
116
939
827
540
683
738
254
610
313
144
371
569
409
213
173
374
7
438
840
585
234
458
694
617
238
66
153
240
536
914
572
356
246
767
789
719
921
603
185
685
606
680
496
96
311
566
619
64
134
100
133
362
882
223
807
187
674
417
489
787
21
263
260
980
124
377
633
989
812
581
706
484
639
823
554
850
564
270
275
86
486
645
696
954
945
992
801
792
596
191
886
476
402
450
732
134
755
973
222
581
629
313
247
46
159
43
476
885
895
583
211
995
494
711
970
41
5
234
954
622
635
252
535
169
442
146
821
387
78
751
943
163
970
368
110
62
986
71
979
891
821
634
849
476
181
31
12
941
987
865
806
516
815
437
73
190
373
504
415
160
747
404
840
427
409
90
781
110
638
113
513
896
702
725
991
31
460
331
460
341
215
421
940
985
514
803
284
299
587
720
672
432
245
619
686
360
353
366
247
123
521
347
349
381
495
927
181
602
225
352
850
208
89
78
746
176
290
135
313
635
84
314
529
179
247
888
420
53
806
964
103
525
204
733
777
837
948
183
16
409
604
636
773
895
175
446
713
718
593
506
697
957
557
388
539
492
944
720
302
375
990
881
659
670
439
885
49
527
727
709
775
132
564
350
415
851
72
731
777
875
393
369
879
383
383
319
65
871
377
105
504
781
615
363
585
214
396
405
614
342
338
707
34
496
631
102
660
714
613
276
133
188
158
14
910
60
891
721
609
659
760
818
612
311
534
139
278
30
360
530
191
612
682
464
4
270
792
464
41
232
561
88
398
418
757
274
626
154
780
615
565
916
605
3
348
176
192
575
897
811
309
226
78
107
566
404
530
725
22
121
59
277
169
364
128
703
484
492
725
588
847
930
341
695
954
911
712
815
922
806
352
52
948
499
448
545
27
618
534
411
735
789
744
992
872
56
951
665
524
948
19
819
981
859
638
804
402
295
887
383
174
528
182
695
723
796
286
456
464
582
562
182
977
797
744
826
117
413
287
262
622
934
511
905
135
102
571
822
732
995
314
644
274
928
243
538
174
192
487
6
915
594
992
722
570
267
628
32
339
977
125
662
427
943
824
540
651
210
493
858
648
562
661
616
82
399
212
458
251
866
354
512
407
619
937
343
992
850
685
416
521
374
899
548
185
616
632
960
495
563
263
142
142
995
971
900
806
300
0
192
816
867
70
836
315
221
692
973
832
381
766
28
497
166
672
699
422
176
335
571
84
935
634
739
346
535
728
321
931
978
773
437
997
143
165
488
663
55
198
646
218
54
242
401
834
457
122
401
396
441
111
961
708
33
54
724
780
298
236
130
131
759
152
994
210
133
980
571
115
55
235
793
90
47
198
562
220
623
195
272
901
162
911
884
267
377
971
891
113
714
926
153
452
606
172
890
964
83
540
725
605
397
521
356
669
831
170
18
517
355
424
397
544
331
628
146
934
647
862
29
323
330
116
818
480
572
964
937
970
667
338
356
540
845
951
346
339
918
386
996
595
68
751
123
256
13
246
846
442
895
858
126
8
540
98
360
6
177
669
904
81
597
952
549
357
14
547
589
839
594
190
585
682
420
307
899
423
0
484
919
0
719
644
167
459
273
752
547
175
750
728
130
590
746
642
354
543
156
293
974
422
591
608
301
616
577
4
301
430
782
365
489
799
583
890
578
20
904
28
2
69
85
44
546
510
99
991
246
709
548
758
694
754
202
977
301
453
278
888
102
711
270
730
136
359
726
606
250
445
420
999
535
634
291
792
413
385
462
132
54
811
348
724
244
203
697
511
929
750
87
444
940
106
558
801
464
270
958
785
944
868
864
910
533
864
464
295
133
180
687
222
51
369
324
595
74
306
423
66
470
339
927
88
617
124
199
633
295
444
424
378
145
179
163
900
938
616
528
922
677
65
980
664
232
614
571
778
295
9
600
156
153
473
515
868
185
707
8
345
224
917
175
95
367
149
79
457
266
226
309
66
587
862
678
139
846
487
179
158
30
352
746
6
388
960
111
24
107
994
413
402
626
776
112
636
530
427
34
888
337
637
991
755
664
551
986
608
77
380
439
412
193
135
247
758
180
303
241
780
749
687
582
661
608
361
972
210
57
451
257
525
127
753
217
375
483
633
169
681
224
891
272
860
748
729
171
42
853
0
580
668
172
508
832
80
750
771
755
279
436
23
98
381
799
745
749
251
426
28
591
724
526
489
397
714
743
51
26
758
909
198
404
875
806
798
316
669
478
312
813
45
145
186
942
610
861
485
140
302
267
178
702
323
216
420
261
49
196
353
591
924
469
842
792
809
494
647
481
22
748
949
483
319
77
690
160
582
212
964
951
479
55
658
248
179
529
562
348
139
465
107
154
457
938
498
959
872
336
724
838
612
441
979
337
472
811
504
367
500
63
208
149
704
422
546
493
251
821
175
40
762
761
495
401
287
565
895
122
397
680
152
416
196
612
271
997
447
437
42
502
579
552
664
183
218
260
867
85
496
892
403
71
924
533
367
781
495
192
456
317
125
49
715
433
58
25
375
931
318
701
908
818
201
719
727
2
518
971
311
659
877
512
801
618
356
246
429
102
305
667
334
372
860
312
35
8
719
831
340
462
469
243
787
802
687
791
402
241
673
549
178
653
483
745
611
668
956
332
159
886
476
639
460
479
16
903
906
138
21
833
209
862
530
840
509
294
9
983
161
203
371
944
841
752
212
592
930
650
96
206
232
121
919
330
202
422
866
237
731
8
203
809
214
629
321
36
595
226
598
134
526
844
358
264
477
118
249
21
565
116
770
925
400
490
754
315
455
25
6
861
654
741
124
600
137
484
743
87
980
49
270
298
37
853
598
176
974
887
995
524
15
477
893
155
247
204
23
553
583
772
795
99
345
440
170
937
437
430
323
762
377
74
657
592
913
335
43
824
12
51
760
685
44
47
285
900
80
378
567
372
390
879
907
576
29
125
38
634
204
172
826
178
890
321
425
688
833
385
346
737
61
24
803
579
588
921
419
373
407
886
945
976
586
121
825
242
916
149
404
449
710
937
8
976
795
913
789
243
943
235
135
814
220
950
893
684
692
54
343
371
706
274
869
860
697
573
421
166
123
606
142
586
560
890
100
437
606
276
282
377
422
650
529
713
80
801
228
897
543
489
463
419
504
282
458
412
729
801
213
371
357
38
75
38
847
429
648
118
482
641
613
103
26
397
263
63
193
892
569
825
811
13
364
796
293
117
634
208
23
20
750
290
767
124
790
38
951
329
109
264
215
766
389
705
967
935
210
931
675
20
520
628
251
400
448
787
785
113
149
633
889
829
978
631
367
919
784
285
713
136
948
943
99
571
243
3
574
117
563
63
209
317
753
863
835
733
937
157
535
421
91
340
999
722
35
488
329
694
35
242
207
595
160
682
773
144
573
989
640
8
807
642
413
275
453
650
366
743
707
407
382
934
810
745
854
782
552
51
212
115
705
784
447
370
915
777
398
86
558
336
923
889
879
477
275
271
757
688
614
640
256
126
827
632
43
457
368
514
800
112
528
668
214
780
38
59
198
129
916
577
573
486
277
621
490
578
36
129
500
863
602
356
951
665
802
996
892
593
916
527
885
872
603
825
865
408
289
826
660
560
884
939
268
701
688
350
796
790
764
628
398
744
770
178
855
51
676
670
704
322
147
854
808
376
465
169
138
10
320
667
503
37
676
941
494
570
528
194
32
141
99
266
589
401
821
221
785
715
640
951
741
629
206
185
441
919
244
301
884
773
416
32
931
782
321
830
985
316
106
58
988
163
854
107
543
812
644
764
334
285
248
545
351
534
860
150
267
798
964
825
998
181
380
232
80
811
626
181
809
574
671
606
216
34
383
145
554
88
405
584
25
704
275
391
637
419
839
924
905
589
532
752
394
521
694
684
16
325
757
510
417
10
648
773
63
572
734
223
462
982
510
77
852
652
176
459
756
530
74
154
170
615
425
733
530
742
701
254
769
785
361
84
682
194
721
825
471
49
553
724
46
838
873
664
486
754
610
468
539
995
185
61
328
152
715
124
805
204
26
897
723
156
982
877
139
609
543
128
336
202
569
211
615
630
933
282
273
376
192
869
370
718
332
580
239
690
692
648
960
808
793
273
231
105
960
778
40
514
854
348
521
659
80
864
402
11
788
818
525
755
374
555
216
270
832
17
979
522
989
186
390
610
546
534
333
799
218
791
877
633
737
189
403
216
289
867
517
151
507
474
36
168
272
944
500
275
736
817
850
364
780
446
297
526
123
247
218
170
900
234
431
5
651
121
520
298
616
83
694
214
161
961
685
994
135
886
136
882
6
566
166
159
282
797
565
177
865
794
881
807
177
405
607
134
181
622
988
628
479
621
425
672
123
911
913
547
171
297
922
219
912
221
455
915
725
532
58
735
194
461
139
796
517
593
39
594
353
159
973
169
898
723
284
449
680
914
171
383
839
965
503
83
672
48
922
742
992
653
472
167
447
150
439
320
279
266
599
746
195
375
581
183
2
791
945
486
255
711
600
203
376
219
135
61
570
493
268
630
159
167
39
286
605
914
880
186
786
57
845
167
614
35
937
436
816
662
510
225
802
369
54
186
364
82
334
228
24
153
420
396
457
623
678
970
575
678
803
386
621
713
690
258
760
472
471
401
351
681
314
869
905
548
786
539
19
455
643
566
317
568
1
455
145
767
607
27
121
116
150
300
94
553
676
985
117
686
544
316
938
240
49
381
28
634
370
105
438
338
839
674
145
69
717
459
146
313
381
165
785
299
295
65
548
98
432
491
343
447
182
833
208
568
162
968
690
30
312
301
705
210
281
670
374
632
245
6
779
763
567
103
762
119
185
730
577
273
316
548
89
456
236
894
67
580
65
993
375
302
364
587
825
573
520
139
626
35
905
20
437
500
991
105
767
774
485
562
147
209
636
343
813
706
719
101
515
824
235
104
157
394
581
66
145
823
49
370
623
490
691
96
225
134
912
671
631
187
443
94
914
343
299
287
568
243
669
703
696
416
503
572
526
163
491
130
864
743
859
233
613
33
294
15
289
908
808
102
754
391
649
590
797
482
525
864
588
467
716
167
517
308
254
73
509
745
594
261
797
359
829
540
974
451
698
278
641
863
714
742
609
0
11
511
851
518
497
834
77
657
279
704
667
218
246
614
730
140
310
771
561
838
866
144
516
693
855
23
370
970
272
648
700
208
710
526
219
71
739
726
754
750
869
123
742
669
399
472
14
348
544
975
448
757
773
98
22
601
781
73
860
683
99
971
482
456
296
513
337
138
46
858
193
826
32
462
925
880
47
446
930
94
525
682
188
900
434
895
219
988
557
450
734
93
305
857
546
760
973
525
825
686
506
858
529
668
800
683
113
125
59
221
342
118
215
759
713
222
50
588
323
52
412
898
881
10
1
415
304
497
116
668
704
20
655
854
89
834
874
426
36
654
257
680
669
121
365
993
562
229
323
56
708
448
291
444
564
647
805
260
182
486
999
600
867
381
378
951
45
625
411
13
615
497
190
328
442
255
192
413
5
706
686
685
242
264
776
512
668
867
220
534
542
305
930
866
123
694
260
937
883
185
582
480
715
484
357
646
82
553
327
490
415
607
62
925
783
741
136
644
931
787
522
404
234
982
140
756
176
672
289
450
697
857
946
191
214
627
291
642
79
781
318
970
320
680
825
543
668
297
528
206
373
288
551
930
961
423
140
488
676
569
167
79
599
416
309
550
55
240
866
854
352
634
470
327
749
532
663
148
558
477
940
209
909
741
347
882
571
976
694
947
228
30
402
610
382
756
522
892
650
190
782
570
781
510
429
134
873
675
768
240
65
261
514
383
122
73
237
927
711
192
929
579
229
455
480
832
871
521
264
429
989
462
511
363
852
668
528
692
175
836
251
592
707
711
111
4
142
934
786
717
714
519
606
107
919
881
998
771
924
990
672
37
23
713
20
683
865
551
956
553
872
358
278
565
376
756
607
551
291
221
730
544
344
28
279
475
516
578
509
440
95
832
233
767
930
592
942
464
80
306
887
823
873
48
216
751
366
340
289
288
535
436
459
289
422
100
124
624
330
649
402
618
219
882
348
818
226
713
978
8
687
715
174
208
854
254
242
192
66
986
372
140
947
970
215
951
891
613
67
677
278
671
121
722
725
360
50
658
914
512
304
306
528
579
436
612
822
152
902
81
321
350
613
497
618
233
289
386
567
943
999
41
101
98
841
90
120
224
579
219
447
826
218
366
833
632
507
722
476
180
400
948
687
419
308
427
373
870
23
55
675
184
992
359
85
288
591
760
61
100
214
717
991
741
307
300
158
845
492
590
890
293
929
262
519
929
915
949
140
876
380
483
979
897
158
47
643
636
914
950
671
692
547
793
661
525
864
730
196
223
799
946
488
628
504
684
496
95
513
189
956
521
295
934
54
229
714
110
540
183
331
733
934
975
479
271
835
89
503
197
447
72
299
523
818
855
699
401
559
651
65
265
546
840
991
698
634
889
782
340
152
917
159
250
321
356
585
900
111
273
462
19
710
537
7
232
546
779
532
623
36
727
398
74
826
274
609
848
821
247
543
89
789
937
667
994
406
360
890
749
177
340
374
559
22
839
26
399
279
790
34
304
952
842
530
894
512
790
213
551
927
249
826
575
30
496
725
37
401
786
860
253
207
545
475
294
962
262
180
452
620
561
154
441
98
680
606
886
706
766
88
407
937
951
903
349
633
474
376
853
4
519
53
8
616
329
839
754
707
361
870
491
817
496
118
408
382
440
730
833
939
84
536
595
203
593
544
266
282
821
709
193
122
129
634
404
762
316
667
259
780
527
245
843
565
281
258
230
608
836
421
491
59
852
967
925
108
320
821
951
152
99
241
817
425
413
875
780
72
746
653
697
53
921
772
634
575
438
630
231
471
88
10
338
204
379
189
334
351
935
607
342
634
948
618
470
552
809
390
979
775
888
360
177
123
306
574
869
270
377
619
592
801
990
739
541
971
628
573
550
566
3
328
714
711
605
555
677
165
551
578
67
795
814
276
635
270
248
517
399
508
422
234
160
934
536
830
791
838
280
798
258
49
93
117
383
521
981
356
699
257
198
7
770
67
60
783
194
819
329
567
824
894
599
698
618
855
778
74
118
482
249
676
349
144
723
585
937
183
931
669
627
925
260
472
21
661
871
479
218
27
642
507
834
280
596
894
384
244
404
776
394
942
320
389
200
291
313
960
705
201
403
34
718
793
66
719
304
883
888
52
847
877
552
983
566
452
295
654
988
768
609
815
518
592
312
843
889
851
471
427
919
108
861
641
898
940
47
423
84
693
913
759
537
168
702
883
508
125
292
356
736
165
763
78
597
321
273
253
362
881
874
558
486
952
646
115
942
83
523
679
426
798
76
565
243
717
474
823
759
173
973
317
890
672
549
604
63
571
694
416
671
810
38
586
352
698
846
349
68
514
295
112
35
199
971
754
291
896
561
42
331
57
310
992
357
959
172
256
714
89
438
730
312
377
52
187
132
664
80
96
775
765
639
726
725
470
944
151
730
58
857
970
72
467
884
493
380
851
206
451
718
945
164
802
121
802
772
457
223
171
46
660
13
887
704
747
533
151
48
394
924
215
345
534
391
247
560
890
137
185
264
900
414
542
423
585
591
234
249
210
324
475
827
699
17
212
110
563
878
30
703
389
291
313
328
377
10
684
352
274
438
519
539
6
704
966
266
241
397
123
42
229
872
69
532
738
975
814
61
745
211
504
122
613
953
168
491
217
234
74
726
870
465
313
822
698
21
638
718
899
735
858
251
939
688
917
211
171
105
540
133
1
265
828
237
196
979
331
858
653
311
804
981
964
296
628
285
379
222
599
623
288
94
105
886
107
843
332
842
325
444
743
457
610
484
344
712
993
187
942
296
17
787
7
713
10
23
570
868
650
25
400
7
769
661
992
307
239
392
802
636
495
27
713
510
978
649
95
891
433
366
375
540
477
367
892
967
936
311
618
263
135
376
886
372
657
814
214
165
623
77
516
77
890
964
446
926
306
189
517
410
239
491
10
824
883
667
934
966
615
141
150
323
247
55
348
257
961
497
544
609
797
713
836
414
224
103
856
578
866
617
289
297
797
246
547
187
457
114
726
104
342
313
423
260
543
898
757
551
796
384
52
258
190
717
949
939
244
571
111
613
72
87
735
443
310
905
532
863
581
482
190
63
98
436
309
43
412
816
431
235
129
668
782
871
457
749
586
183
742
956
548
834
422
249
1
306
376
611
177
891
733
582
629
862
716
948
854
828
845
476
817
955
494
298
864
249
443
453
662
941
236
140
283
278
334
403
726
187
632
935
877
124
877
823
593
804
622
938
774
59
633
357
423
145
161
885
990
631
966
478
818
296
202
177
710
403
594
86
556
624
173
703
299
815
732
310
792
275
119
245
827
726
498
188
48
555
868
917
635
991
63
400
585
537
914
30
709
338
35
920
103
286
162
668
628
849
122
188
6
191
874
742
690
696
875
451
462
278
602
190
185
148
90
735
595
336
743
7
938
271
225
642
560
730
490
654
751
889
105
642
119
766
718
243
161
768
692
58
634
470
152
589
546
414
362
87
944
531
365
290
59
652
892
656
167
346
960
865
538
636
174
760
825
441
492
659
606
263
778
175
726
673
872
766
407
21
963
719
289
617
166
47
316
43
914
314
754
968
23
2
284
928
914
802
306
957
28
594
341
901
306
596
912
38
577
163
559
430
240
957
962
328
740
470
239
146
791
226
194
381
640
512
811
634
752
203
432
778
611
915
912
969
923
497
170
303
575
322
107
202
598
541
288
626
895
403
147
588
56
760
166
774
950
189
452
404
15
590
842
291
704
279
79
510
604
398
314
552
688
723
217
403
69
902
646
687
39
445
902
700
997
767
962
224
464
935
936
729
885
893
832
732
635
616
193
786
73
471
638
673
978
494
197
486
626
867
929
431
456
325
534
47
583
579
660
508
145
401
259
870
715
326
972
932
744
780
185
185
488
996
133
752
754
754
112
86
887
346
673
302
21
447
47
898
186
110
519
787
806
291
319
986
23
591
229
116
323
956
166
199
589
755
103
678
703
754
148
279
164
718
911
907
2
724
879
654
723
452
716
345
281
28
51
696
447
818
565
856
954
626
170
12
212
33
62
683
50
58
597
310
719
334
41
713
185
500
395
205
141
390
420
854
447
476
817
594
908
75
186
61
980
637
283
34
322
502
565
218
603
434
351
536
776
534
688
802
429
918
280
812
807
449
908
940
108
866
186
151
280
498
224
831
539
459
249
995
958
924
394
725
908
738
39
31
785
347
339
52
698
404
632
597
222
957
140
511
49
936
449
776
821
428
402
163
879
983
76
477
762
988
164
965
333
374
781
994
86
721
109
7
182
71
637
67
590
215
406
568
104
318
385
292
721
951
745
266
269
222
465
772
966
548
164
921
556
90
619
534
928
447
912
333
256
493
489
938
572
618
887
984
238
161
332
890
478
567
301
416
428
645
452
361
215
436
942
749
549
476
555
280
196
969
15
962
957
368
878
226
330
404
468
48
710
797
588
175
382
113
495
699
219
826
254
619
355
350
713
998
661
142
222
791
822
775
126
124
964
59
217
729
235
710
718
854
523
995
961
506
838
958
749
712
682
920
720
978
370
48
359
724
904
393
314
513
658
338
516
773
498
592
154
475
330
483
466
230
460
574
983
185
24
56
773
346
181
467
435
23
843
359
492
813
190
878
455
874
288
322
540
75
738
727
709
976
426
908
501
365
294
697
462
398
592
633
461
551
428
136
908
147
761
75
443
280
324
554
227
613
32
80
542
780
626
214
569
846
266
992
628
382
242
122
573
110
647
347
64
969
553
38
339
812
363
634
267
511
340
534
706
565
15
920
201
701
308
402
387
598
473
312
909
799
428
40
857
950
184
819
727
347
70
631
46
332
599
878
95
522
523
264
656
996
241
600
461
815
100
244
737
247
914
307
941
49
487
640
247
66
227
64
939
126
973
837
247
547
135
358
972
759
395
853
246
493
545
458
233
855
104
24
381
404
136
277
221
190
718
205
963
974
588
685
997
372
42
102
350
958
123
660
263
222
932
243
451
79
602
377
492
776
908
27
497
909
748
687
913
216
222
478
384
435
683
24
730
327
405
795
732
151
436
11
458
794
836
395
647
830
691
832
213
767
419
505
585
349
234
646
180
294
699
794
972
230
490
504
930
333
771
338
297
158
601
295
544
329
534
165
647
25
910
696
672
292
242
882
951
176
885
141
70
365
278
952
483
645
6
941
803
504
606
59
768
639
490
786
506
460
539
496
347
460
258
508
880
749
325
961
466
367
728
580
671
365
953
686
462
743
214
408
359
643
887
306
954
873
527
127
719
301
359
394
300
578
406
530
169
468
872
839
650
751
795
723
555
995
65
287
560
397
379
818
511
651
966
24
148
657
0
207
491
918
832
229
557
308
366
816
546
181
327
584
750
994
947
733
668
88
299
811
172
374
392
460
588
957
156
727
569
230
11
25
167
923
924
162
789
736
683
731
782
571
358
716
379
36
923
527
481
651
461
898
159
636
862
95
305
411
567
684
239
102
170
830
304
510
443
571
337
103
113
186
974
410
271
42
702
952
280
645
608
427
932
75
691
430
316
613
39
677
336
213
123
454
321
724
872
817
733
257
464
579
809
124
758
663
587
418
487
9
826
32
299
769
226
234
757
997
720
402
522
979
461
247
827
94
797
86
957
616
73
923
8
162
157
813
853
985
464
959
79
56
492
514
238
44
704
19
298
592
612
6
143
703
97
655
159
369
875
989
854
207
943
478
8
303
337
123
416
146
628
845
990
873
933
640
709
462
560
729
707
739
364
417
393
929
213
877
195
800
107
796
772
694
946
107
630
146
934
704
45
932
723
207
941
510
379
891
311
316
851
834
773
85
298
722
995
37
886
698
803
419
661
78
4
787
815
406
545
437
170
793
388
552
727
265
307
819
176
889
576
856
360
72
217
206
16
454
165
904
600
907
938
803
415
424
328
711
832
186
954
21
168
507
648
492
742
175
329
464
983
478
371
19
392
606
429
693
64
673
378
174
216
929
651
739
624
23
877
873
517
375
638
721
562
130
685
274
749
936
716
373
816
410
46
109
697
474
265
106
344
879
351
486
936
779
26
787
498
306
119
560
946
574
964
926
24
472
685
287
441
971
780
919
451
307
89
623
744
792
537
262
472
439
391
451
58
847
51
614
219
891
15
213
788
512
42
6
204
640
950
119
987
198
353
243
9
671
776
620
746
531
352
597
830
1
701
585
227
649
329
296
83
83
251
855
268
664
833
979
121
916
447
108
906
264
623
634
755
2
161
535
746
300
80
392
936
588
770
455
270
532
61
674
457
576
886
605
308
283
893
549
127
295
583
454
611
886
299
366
586
527
669
972
386
249
11
689
773
989
340
578
296
167
821
173
480
688
738
677
122
856
789
908
542
442
608
41
259
707
520
151
399
530
271
662
133
328
403
301
315
152
60
480
189
384
908
426
48
785
336
709
914
314
317
379
716
331
932
905
533
446
138
661
966
252
674
385
954
635
850
889
253
712
869
35
42
80
600
954
477
601
362
979
927
804
671
265
208
915
65
200
77
694
573
510
221
280
313
653
457
234
499
196
8
784
430
175
933
458
617
696
876
38
290
822
706
63
452
786
885
185
171
161
284
550
546
791
364
480
101
791
624
175
775
214
479
718
440
447
576
97
293
981
864
179
723
473
780
450
701
135
508
484
134
880
263
991
931
497
936
623
270
54
941
978
585
759
733
76
980
605
325
688
342
301
729
248
922
162
870
580
946
717
703
541
345
935
744
525
569
946
490
724
953
578
393
384
882
499
883
267
263
612
48
968
358
143
657
656
948
12
332
557
257
427
579
582
363
284
244
839
926
666
675
361
874
403
357
459
108
572
244
129
766
850
478
977
919
402
970
940
906
147
669
69
190
336
595
687
468
454
4
323
315
380
600
218
971
441
775
133
297
364
630
173
903
189
876
700
225
113
841
663
525
977
515
350
508
120
834
580
147
446
693
54
572
258
321
147
580
83
157
195
98
966
792
463
699
7
778
9
820
502
518
94
376
609
613
274
601
17
523
959
198
379
29
490
370
129
513
41
558
789
892
542
413
778
444
490
425
526
173
202
48
469
378
916
525
915
286
730
524
182
105
446
627
728
317
673
36
346
667
755
196
852
874
319
279
993
807
653
917
858
113
134
640
468
314
642
996
18
232
998
126
499
530
236
501
577
162
994
373
105
723
382
10
740
715
384
290
299
627
391
141
467
838
809
879
327
301
233
786
739
80
529
241
881
35
236
372
848
482
42
800
198
280
395
993
732
477
231
394
672
871
537
461
388
718
761
935
76
645
554
209
6
54
157
198
127
305
387
890
209
62
625
406
768
845
429
150
971
390
568
959
902
112
826
417
521
653
687
131
187
387
200
807
498
110
533
352
723
622
176
387
260
968
703
775
277
26
119
130
217
262
121
759
401
276
410
126
242
129
686
619
177
829
941
430
809
140
814
224
37
704
17
434
29
791
652
67
297
350
521
885
707
704
437
795
997
528
582
649
77
143
436
444
220
638
751
91
214
410
647
335
171
249
957
562
851
391
621
388
920
194
760
864
996
222
658
36
84
2
760
738
432
951
423
634
975
256
984
563
198
278
298
217
171
694
844
859
272
243
282
520
439
331
728
483
907
21
319
779
253
506
852
332
663
710
467
429
690
50
246
651
982
144
800
561
67
976
265
595
648
201
481
865
951
575
352
809
286
228
115
962
980
622
315
76
159
647
159
698
764
307
722
108
289
994
250
958
476
856
197
520
548
556
23
328
516
783
809
77
553
655
853
613
535
790
87
739
751
400
953
544
13
895
146
220
885
726
713
649
328
898
998
603
427
648
8
475
599
473
322
66
280
398
589
629
424
65
220
850
506
299
332
936
739
574
90
429
103
478
241
722
480
478
148
306
400
410
798
984
727
925
922
688
934
73
636
883
683
739
351
392
620
434
755
149
254
184
968
164
756
178
575
637
991
958
17
137
944
20
605
753
875
809
940
884
209
338
971
449
913
170
171
93
980
881
415
395
267
48
822
896
543
331
812
197
335
148
425
921
619
984
400
250
920
954
64
734
727
360
336
889
754
412
438
869
854
394
798
572
213
447
166
533
399
10
69
409
40
816
656
487
162
458
739
215
8
335
943
642
337
524
759
884
226
610
515
964
635
250
13
621
728
236
143
674
75
455
394
92
25
321
753
368
790
564
799
308
907
425
732
540
985
406
928
965
240
62
76
806
64
433
161
928
814
24
990
566
596
371
921
618
85
718
156
544
468
167
543
544
770
216
709
234
101
667
378
332
447
751
698
794
838
696
7
781
639
798
217
124
406
683
91
119
50
379
409
166
503
606
299
857
826
839
667
844
989
730
857
959
618
759
520
366
536
102
92
934
148
562
178
510
539
702
37
382
219
995
403
60
755
201
661
471
622
271
611
808
632
316
383
706
875
158
513
595
485
529
792
253
750
113
127
793
41
452
246
682
338
495
13
736
749
915
298
305
801
477
64
151
800
646
612
341
276
847
985
337
691
38
244
8
121
216
441
127
617
484
552
190
449
952
288
440
794
179
854
843
853
659
474
381
8
992
619
260
765
920
819
351
11
306
19
447
580
589
172
787
424
795
635
201
960
545
887
522
47
541
272
756
923
413
7
507
473
991
206
872
372
112
49
795
676
434
962
402
618
44
297
454
150
335
704
554
666
717
369
255
221
843
726
282
878
615
229
648
473
491
636
873
255
743
814
450
961
388
99
820
11
287
53
79
680
419
558
485
101
66
678
98
853
313
198
228
178
129
383
219
89
146
994
381
790
934
961
957
988
346
253
612
559
239
691
689
863
318
889
797
876
862
816
364
991
323
564
807
431
806
549
365
910
891
146
167
673
576
123
410
977
391
18
239
259
279
878
806
590
485
985
240
798
94
446
683
108
660
667
52
232
962
306
147
927
688
989
564
174
763
684
452
954
635
691
895
490
610
156
124
281
76
446
982
239
856
603
955
143
212
413
713
350
203
45
509
425
572
130
832
346
907
1
924
6
407
72
731
635
233
109
917
1
683
242
276
146
857
405
223
677
736
279
243
585
468
653
379
713
104
260
58
539
699
787
798
525
815
307
354
382
220
361
450
57
384
601
222
639
131
404
326
493
731
849
374
985
581
269
139
309
800
942
519
868
4
538
252
509
119
732
76
637
230
381
231
287
989
445
80
585
175
85
306
802
190
920
816
957
908
209
770
721
965
564
907
230
156
363
362
243
614
128
581
659
385
39
387
318
945
288
777
375
208
701
464
794
522
393
863
473
5
291
249
317
784
269
782
134
853
81
595
1
376
971
229
970
154
443
382
916
843
325
592
81
572
342
406
480
165
749
273
806
103
471
567
177
34
653
532
151
214
120
877
963
898
331
520
4
838
724
333
584
10
217
787
811
603
759
357
313
372
763
630
211
429
362
664
875
636
783
527
337
189
813
553
402
112
449
87
350
941
617
573
838
230
815
277
127
870
583
402
179
57
555
694
678
287
38
457
150
998
721
889
115
407
571
999
707
394
681
175
707
365
15
802
804
812
727
741
382
444
3
480
528
623
935
622
864
715
526
798
553
776
586
882
202
950
974
519
833
278
895
737
472
145
312
711
335
572
456
981
529
47
853
151
665
925
347
308
317
981
817
290
92
161
641
721
600
926
668
942
119
235
399
312
575
874
540
587
438
369
32
912
224
268
400
584
819
645
551
573
712
60
310
529
502
303
214
563
568
362
123
614
629
638
326
57
400
329
199
442
621
982
829
483
453
801
629
354
759
845
147
597
748
876
229
213
509
962
89
917
496
328
715
722
155
931
452
965
559
398
464
238
447
155
924
427
272
370
349
478
330
530
164
826
199
110
765
294
241
303
625
927
193
133
956
815
170
600
401
674
593
650
632
472
836
127
777
473
888
162
617
758
439
136
350
966
515
685
711
529
740
439
793
608
114
834
779
304
496
92
77
853
275
51
427
960
519
420
480
806
297
861
568
818
596
923
228
43
909
302
587
231
730
999
854
449
880
141
666
487
165
826
25
303
697
268
126
378
442
496
528
7
452
184
974
935
236
277
42
620
390
890
999
775
277
740
92
290
68
345
258
339
695
592
779
154
330
496
869
261
853
763
562
798
721
665
416
75
186
639
938
490
200
441
0
315
296
945
631
146
216
179
717
720
562
681
297
715
288
977
128
406
155
306
512
436
782
217
654
373
943
47
40
112
813
811
741
595
507
775
8
998
400
980
823
700
615
119
226
974
112
467
429
0
503
446
219
335
41
816
44
548
499
670
359
365
382
950
665
204
422
957
440
39
622
898
473
243
633
863
9
476
840
90
283
506
286
176
720
168
576
337
430
952
276
8
799
681
804
319
125
934
958
17
496
428
457
364
970
369
717
85
77
982
91
846
377
552
550
31
344
677
338
899
842
663
414
265
577
110
695
183
499
260
846
805
517
986
504
324
635
950
615
715
657
676
37
694
457
944
295
778
393
666
1
752
233
719
712
825
137
657
948
584
23
719
443
105
149
31
40
732
870
520
471
913
714
314
269
737
453
952
775
449
142
789
718
330
473
835
210
697
742
608
139
479
99
140
952
585
540
400
76
916
352
522
592
241
607
391
10
693
511
372
613
546
801
413
72
577
520
438
251
160
328
550
45
833
497
440
386
41
687
657
926
691
607
464
984
378
776
942
581
907
936
114
699
431
434
893
596
167
191
136
625
317
687
590
465
44
347
83
583
771
909
247
196
668
650
205
861
720
748
905
617
535
440
665
645
998
557
553
855
558
172
718
445
146
53
993
103
77
123
457
724
496
306
310
807
234
392
452
499
645
311
319
284
916
733
217
871
817
930
943
436
673
330
906
806
126
203
471
670
647
964
868
952
657
338
370
268
699
41
879
308
835
336
184
707
251
312
468
800
888
816
323
242
215
418
314
124
165
309
398
548
402
78
120
1
832
248
932
229
67
769
591
157
203
860
530
252
754
751
918
314
702
669
935
393
795
443
24
146
764
171
941
557
2
816
612
916
784
669
67
372
8
150
899
151
64
569
867
277
301
800
663
913
77
290
568
717
748
325
765
950
384
728
998
385
374
459
40
180
983
708
282
758
870
640
875
904
121
768
924
895
293
226
161
211
119
425
798
338
221
887
825
513
269
753
656
49
959
79
189
721
393
710
307
923
377
133
107
92
962
350
831
531
533
753
595
230
494
623
400
220
241
245
350
913
636
837
594
931
7
460
364
215
790
881
328
136
301
899
242
973
584
859
5
126
233
343
696
13
225
896
621
1
830
856
203
676
236
384
324
732
647
971
294
879
911
354
443
917
922
760
449
419
269
718
454
571
653
629
70
383
262
485
18
325
885
131
948
429
460
313
306
155
369
508
798
24
966
759
455
64
397
465
704
469
466
322
626
848
658
588
437
986
79
875
917
320
5
625
51
357
561
201
277
260
47
899
998
782
108
414
325
466
905
351
677
617
483
623
753
201
198
682
256
891
354
749
24
830
544
269
150
752
787
989
408
107
535
879
911
742
854
116
145
463
651
805
898
72
31
855
77
355
625
560
950
342
568
579
325
976
624
199
916
853
69
199
34
81
156
369
329
578
575
228
607
154
105
708
651
125
479
829
290
212
650
81
867
495
422
263
932
671
124
78
67
546
185
136
329
292
585
313
712
840
500
580
89
603
832
486
849
91
265
809
752
178
17
574
670
684
932
428
915
883
518
917
256
653
618
600
196
362
49
652
203
248
534
342
113
871
395
340
101
614
817
526
451
952
175
822
701
111
917
998
815
739
777
776
205
503
746
860
524
866
656
408
348
439
123
718
68
372
602
660
524
824
554
406
692
835
376
820
443
834
698
423
692
930
14
670
471
505
294
96
943
944
126
411
560
538
421
355
286
172
72
65
811
618
7
728
60
140
946
670
345
965
814
143
67
194
998
855
338
937
293
446
96
325
367
215
894
475
184
46
507
475
815
302
133
652
23
110
770
298
724
466
343
742
471
989
884
946
948
73
537
845
27
169
755
902
499
153
54
540
474
513
804
0
928
910
717
341
489
710
95
55
740
487
828
662
504
968
904
47
989
777
635
527
470
578
471
18
187
244
999
819
181
200
900
352
368
870
902
461
81
772
486
609
679
847
174
34
500
106
704
49
235
349
659
522
904
337
539
265
291
521
403
327
450
142
439
623
771
626
561
861
246
920
49
491
141
591
642
925
933
25
108
881
811
855
129
605
716
771
866
407
410
31
373
87
289
845
527
743
925
959
206
722
593
677
115
921
744
918
767
411
660
556
329
149
225
755
849
453
103
598
803
183
640
628
548
150
762
871
499
58
210
933
309
708
432
672
697
418
759
130
115
692
816
16
639
777
422
893
361
633
511
630
160
684
209
571
589
749
206
860
776
845
764
256
73
216
955
836
721
577
859
652
557
499
970
222
537
480
564
938
360
708
846
451
556
251
726
693
589
860
965
521
533
495
403
919
551
826
349
159
504
222
44
659
390
797
147
920
868
637
328
355
295
603
545
562
400
822
188
855
654
819
470
532
327
427
932
266
928
18
804
695
294
562
893
407
515
297
366
798
932
236
583
725
914
161
986
655
863
904
808
135
565
629
851
200
107
489
546
260
792
626
684
299
834
798
935
248
296
500
521
356
134
298
629
467
490
562
54
237
994
230
261
86
470
785
179
403
53
402
87
919
695
727
936
874
55
91
392
320
891
898
641
687
456
587
892
19
788
250
713
906
222
420
927
374
796
144
633
335
356
980
560
28
638
760
508
533
784
266
377
128
883
459
131
395
737
15
495
865
180
748
573
784
309
348
15
825
873
519
350
936
343
550
34
406
865
881
563
691
438
398
908
387
706
906
978
234
618
28
720
194
500
803
834
623
694
302
100
420
834
782
150
744
359
847
664
493
954
808
676
213
271
296
495
526
747
35
165
690
414
594
293
319
116
422
934
514
87
577
202
504
503
550
672
639
553
793
138
849
671
380
592
557
217
988
155
932
488
33
363
380
822
875
905
91
264
650
14
429
875
849
740
394
902
956
221
890
292
282
376
927
127
596
414
193
313
712
424
129
283
536
776
529
59
442
756
73
348
588
887
688
239
979
476
935
287
442
79
837
311
229
625
393
507
240
938
410
458
494
676
340
100
601
887
789
453
480
417
880
187
992
885
825
517
939
91
959
669
323
737
752
508
855
798
487
660
396
319
752
787
132
705
991
454
513
838
664
83
954
263
519
268
167
936
265
671
824
350
804
351
685
429
229
713
355
234
61
824
449
783
338
711
454
87
360
105
907
425
234
459
335
505
119
840
766
433
413
796
290
949
321
604
265
377
923
85
475
551
224
767
122
507
455
206
889
90
858
407
95
823
973
961
36
0
206
193
992
732
142
875
891
784
167
299
125
240
501
140
343
341
985
252
237
644
237
972
853
223
27
210
473
479
467
685
894
334
115
260
927
566
449
348
439
480
219
839
261
828
697
117
724
293
773
450
971
576
697
548
74
956
174
256
375
843
408
787
317
993
584
205
427
473
152
665
567
375
149
261
150
376
797
78
49
136
224
989
757
198
922
677
507
53
19
915
257
763
113
839
190
826
854
437
607
945
94
695
172
68
948
978
982
438
794
862
522
780
475
463
640
870
477
131
100
207
119
245
253
994
330
780
356
394
412
289
93
729
859
834
214
686
905
109
453
555
272
312
748
654
289
227
494
766
878
153
113
673
828
947
790
960
998
357
372
308
468
398
7
718
447
192
314
115
562
218
931
532
99
16
28
232
606
305
33
316
602
871
497
308
167
790
148
174
682
757
349
826
187
799
27
219
726
95
811
767
109
699
196
295
737
453
606
957
358
352
586
742
71
262
321
422
607
551
97
852
84
537
163
129
718
234
364
524
183
886
297
588
422
657
206
879
5
130
155
97
316
378
671
897
179
126
869
711
109
228
223
965
184
762
614
625
224
298
503
161
707
626
629
203
195
417
443
326
994
611
830
380
440
696
288
720
220
749
503
257
928
346
137
993
726
908
325
690
607
698
428
65
483
139
595
891
200
338
257
324
858
330
771
595
462
357
710
83
828
994
524
897
267
32
98
111
175
752
997
434
405
404
283
154
979
383
472
859
94
657
707
901
622
923
976
38
942
886
119
21
551
369
268
942
838
763
697
148
961
598
489
161
683
481
372
518
677
544
950
838
825
329
786
650
566
730
576
176
141
863
367
677
624
474
730
826
352
360
911
821
611
751
601
358
600
986
378
34
910
469
464
658
673
67
176
985
929
466
619
397
325
846
212
356
237
331
53
931
876
34
989
276
52
500
305
358
175
21
82
525
676
104
107
945
693
529
449
54
375
250
520
150
68
804
709
422
607
55
922
445
149
529
76
157
307
22
312
122
574
339
679
67
617
478
643
383
732
525
41
927
204
482
718
115
92
842
941
70
751
459
728
244
181
782
78
7
280
587
608
857
2
190
764
370
774
478
383
959
164
102
7
636
965
869
442
379
622
691
34
952
32
494
291
131
120
513
52
124
361
102
573
202
246
242
705
315
31
259
295
191
892
281
272
318
893
663
215
756
147
133
362
559
73
853
48
906
156
361
798
453
316
630
962
453
731
73
632
776
665
771
259
226
325
374
441
875
827
209
102
808
171
306
783
126
85
629
57
479
470
981
953
309
258
344
848
386
486
969
831
890
872
95
776
746
684
247
319
590
444
826
552
503
799
862
970
376
908
860
677
312
248
121
127
470
336
870
13
915
658
944
899
858
669
786
610
190
119
824
446
402
516
958
799
593
848
766
137
51
618
650
915
48
893
432
661
751
85
752
170
479
190
237
245
909
852
180
661
652
692
466
517
150
247
859
806
257
606
581
954
204
317
640
198
253
698
856
632
315
11
346
354
395
245
59
570
188
93
229
982
362
249
967
614
36
904
311
44
486
348
866
731
656
687
620
661
680
608
348
597
654
325
963
292
58
910
73
742
902
35
499
209
175
340
112
441
936
841
102
709
537
977
717
612
916
482
21
870
547
334
843
639
227
258
935
731
580
900
461
116
461
810
324
643
698
306
712
569
454
752
665
19
268
927
34
927
423
201
980
754
536
658
327
663
553
517
701
594
27
775
63
763
55
247
231
523
461
675
736
953
657
109
927
15
0
163
766
791
408
525
786
904
942
970
531
224
540
753
235
247
796
267
883
296
198
152
185
351
239
966
519
716
408
588
215
837
102
779
310
446
765
710
190
714
493
277
115
435
240
230
997
989
176
185
79
948
602
328
384
153
853
949
77
409
31
699
77
925
468
530
803
166
346
956
474
159
123
340
823
910
576
237
161
313
142
973
721
15
146
643
209
958
786
427
703
371
151
419
899
458
692
51
547
234
6
114
35
944
632
682
375
692
667
186
298
332
218
607
898
545
139
662
675
882
358
872
336
536
550
216
322
142
780
466
354
360
185
398
576
853
238
825
215
479
646
323
927
297
417
717
676
679
592
385
321
288
88
359
681
70
687
776
574
908
190
608
819
944
978
419
123
725
688
992
360
368
662
3
489
589
554
553
892
219
645
162
624
44
590
880
78
200
141
261
323
914
282
239
611
847
685
511
328
73
308
291
345
196
989
845
670
513
111
841
901
52
873
955
111
201
534
17
476
43
369
711
179
918
622
408
822
614
184
879
322
800
131
800
666
633
930
247
126
696
564
544
170
966
955
233
95
882
840
645
841
196
967
711
937
340
761
31
411
752
985
184
737
858
836
35
328
341
391
188
759
502
453
252
112
791
472
278
251
123
892
134
444
655
451
297
80
597
966
119
819
205
541
396
785
879
657
510
38
185
701
203
238
89
455
638
96
321
690
533
462
606
623
144
6
860
227
32
35
756
332
495
768
860
863
525
537
606
101
551
320
298
804
85
595
59
462
859
582
572
696
843
824
585
987
517
303
19
313
789
196
399
306
73
177
349
44
957
728
550
583
410
231
826
497
301
888
704
527
844
381
623
182
274
498
359
164
401
691
233
424
169
388
773
764
229
927
883
3
137
792
625
848
631
369
352
197
883
791
766
992
698
837
41
485
674
508
903
620
319
422
594
493
543
986
768
268
984
458
517
298
989
324
919
671
274
221
992
838
273
975
908
115
200
219
678
527
376
685
879
251
717
971
153
342
648
737
615
6
97
861
834
667
296
174
855
54
757
880
955
475
382
552
419
486
739
758
788
558
337
768
377
558
392
650
77
633
453
261
562
623
387
472
669
121
386
801
419
1
587
837
960
664
543
682
742
242
402
626
240
558
422
628
102
611
804
787
195
600
391
761
548
733
117
498
962
802
655
662
616
920
619
113
582
343
55
997
850
698
446
546
702
111
442
566
825
338
289
90
951
911
487
652
541
197
134
739
393
492
599
947
271
803
826
587
670
466
572
268
244
324
35
643
48
604
355
282
750
484
907
526
958
808
744
730
51
685
585
859
972
965
957
462
751
913
499
705
787
237
110
666
66
537
934
85
810
301
18
987
137
749
791
404
4
723
553
153
385
944
658
337
380
469
727
805
725
217
647
988
506
238
797
443
392
426
353
246
499
446
873
985
753
14
641
311
91
442
95
485
493
692
689
956
430
381
782
730
940
450
181
614
388
202
578
628
773
496
847
148
280
584
707
479
739
570
229
179
973
103
945
148
677
704
33
181
491
542
805
365
147
467
454
834
496
443
935
888
588
680
917
57
730
921
150
5
863
403
970
542
811
659
322
896
698
906
465
469
890
327
972
13
491
431
509
173
307
940
605
45
732
719
702
15
90
25
241
540
274
753
286
459
285
839
461
178
554
833
968
353
297
753
810
834
401
440
421
783
384
929
2
227
584
236
305
211
277
188
708
859
653
602
154
288
618
205
124
891
771
905
795
876
512
874
359
992
587
245
121
769
368
273
824
723
336
835
487
823
616
723
523
766
892
132
364
361
737
838
502
875
820
655
252
396
509
363
8
503
710
798
218
272
231
62
694
277
825
835
391
765
242
116
583
639
651
697
421
21
433
529
817
458
203
602
30
852
420
430
99
771
201
94
481
419
631
870
760
507
999
164
844
43
875
649
339
156
867
400
976
941
471
862
62
205
389
635
206
575
868
525
699
729
928
272
589
722
570
485
761
916
413
583
122
348
583
61
525
243
185
705
498
562
525
679
133
807
1
142
468
38
250
932
509
42
117
181
957
218
277
60
987
11
911
619
219
53
137
839
68
530
430
19
235
533
998
893
348
628
892
315
107
584
119
376
809
547
844
454
230
50
492
516
27
54
90
408
158
16
677
618
249
531
496
545
831
282
392
296
793
286
461
371
677
357
576
842
906
943
555
177
994
389
454
740
400
49
369
589
17
873
620
407
362
673
129
509
734
707
444
988
231
895
793
737
80
756
143
457
883
765
760
568
726
475
445
49
234
914
975
274
337
768
102
890
739
857
958
456
856
666
513
568
575
764
190
76
595
486
473
314
696
495
219
813
667
228
657
888
756
997
369
376
775
0
893
477
240
655
663
911
493
691
707
75
802
495
807
743
129
297
292
307
73
396
13
732
478
133
44
112
917
872
716
738
855
249
517
282
525
490
608
506
141
8
858
799
517
974
622
791
993
931
960
709
465
286
859
57
267
733
865
578
820
249
606
31
127
732
166
864
777
44
25
673
704
763
173
757
984
559
394
711
544
937
707
750
642
902
922
129
883
597
845
999
618
861
10
487
253
41
374
779
184
47
927
431
223
158
229
650
244
571
793
631
857
901
647
369
24
426
357
436
760
822
80
295
111
252
851
42
786
744
302
193
257
885
940
348
902
183
168
568
968
945
151
568
904
6
738
455
247
778
916
55
70
88
369
36
783
38
932
745
156
329
497
787
713
372
925
286
418
256
454
987
90
723
542
926
736
175
120
495
602
844
474
329
581
510
329
331
786
546
502
570
654
288
548
785
620
813
34
496
308
658
720
412
784
505
516
413
393
925
153
826
990
560
247
345
366
933
398
875
387
508
374
684
821
401
957
317
332
317
792
968
474
811
591
477
829
60
615
340
600
258
529
618
650
452
61
341
263
110
215
294
376
18
830
472
845
782
76
853
899
729
710
405
127
205
353
26
731
706
214
836
881
584
644
208
727
546
587
128
646
350
766
263
459
526
647
19
979
426
756
277
530
804
214
563
120
102
6
765
924
65
819
492
905
151
117
151
963
218
447
842
206
48
967
305
733
920
206
664
816
45
532
870
708
431
281
441
664
677
860
363
64
437
324
125
126
444
832
464
721
346
295
894
98
144
256
370
925
594
606
675
581
94
122
936
180
372
801
786
521
554
495
267
472
550
571
469
772
175
823
569
940
816
84
211
919
752
762
120
563
842
142
281
463
248
117
230
732
814
714
539
531
423
948
385
189
724
899
671
941
830
634
216
9
680
416
751
705
947
24
845
501
103
188
475
733
117
598
234
569
303
412
198
120
911
577
895
537
311
776
752
11
846
325
830
312
46
359
804
310
114
956
3
748
690
236
508
829
559
126
99
723
907
721
642
157
495
838
318
790
868
311
750
432
944
193
129
634
321
511
828
337
730
854
955
912
69
614
759
586
892
657
558
662
895
903
213
905
877
951
744
52
745
725
186
861
548
976
703
107
306
174
935
939
555
730
951
935
905
510
645
909
166
643
25
557
610
474
607
705
527
643
538
27
145
149
766
163
188
573
491
3
67
489
746
797
730
275
10
371
999
765
831
946
320
521
793
735
347
23
192
495
746
156
465
834
966
615
628
447
860
956
167
803
741
279
280
741
951
740
443
733
935
876
262
109
313
347
460
66
364
49
679
319
356
123
250
506
265
852
353
628
273
324
26
233
776
934
400
716
585
486
231
87
496
317
553
559
93
592
247
365
334
819
856
430
730
320
594
124
20
366
997
735
740
611
763
143
187
617
525
908
34
349
887
392
970
618
876
585
472
634
835
619
925
497
824
76
945
193
606
386
67
325
545
668
661
330
80
670
818
902
248
568
167
485
102
416
87
865
629
260
887
897
655
817
861
304
457
206
60
415
567
657
542
915
20
39
212
630
269
800
202
69
290
29
278
77
673
811
641
92
984
945
76
415
384
673
715
541
163
820
133
459
763
268
462
134
334
354
233
143
945
98
548
268
833
553
733
735
103
96
53
326
83
136
446
83
167
458
695
695
296
181
646
950
189
778
213
689
874
502
3
365
983
299
21
530
135
439
958
918
811
727
40
357
986
665
655
22
284
597
789
609
364
701
399
834
230
739
633
696
468
37
582
242
349
644
98
435
784
125
17
511
527
647
797
321
868
469
818
939
668
839
462
343
43
962
407
242
568
474
522
327
564
251
630
314
180
917
564
895
763
616
620
652
704
655
603
186
500
664
744
117
162
833
26
358
442
527
597
963
134
880
327
531
220
925
985
239
629
485
974
512
734
348
991
987
476
790
249
321
729
991
702
786
911
678
760
620
575
739
826
958
472
473
874
858
669
679
530
664
3
758
972
741
342
36
209
123
751
142
355
480
103
475
816
329
549
774
518
537
322
188
342
870
37
808
535
754
244
206
475
328
378
555
544
411
313
250
67
388
254
989
596
607
501
73
940
476
90
686
330
448
127
593
540
342
566
368
613
794
19
318
352
389
701
52
214
92
181
609
989
670
150
56
726
877
293
451
976
410
56
306
882
359
953
999
42
405
511
878
683
152
430
408
479
426
411
83
163
292
428
160
999
338
714
935
822
717
441
86
808
136
0
957
168
48
232
927
158
43
470
495
679
455
561
749
675
206
923
165
768
616
212
578
338
894
57
688
712
381
846
142
142
926
255
250
816
214
407
259
40
698
841
196
736
804
185
41
707
705
727
772
255
33
307
799
330
557
349
647
67
532
461
351
769
186
804
722
16
418
878
732
744
451
696
5
2
175
307
963
820
441
561
634
232
408
585
467
913
514
196
767
973
357
66
539
822
180
885
35
764
795
299
109
692
79
30
345
751
388
585
806
162
128
609
444
338
117
469
629
244
673
709
344
833
664
312
445
478
286
380
458
174
996
887
246
989
549
212
606
238
920
426
576
371
402
875
118
897
53
132
629
968
571
961
761
274
197
720
541
707
402
335
248
702
215
267
822
939
835
524
270
814
283
571
596
983
869
665
783
668
93
600
855
101
825
860
980
515
368
422
162
438
349
974
535
257
82
444
770
357
976
86
815
115
259
839
188
804
932
901
738
34
672
645
817
143
323
408
528
833
586
157
548
237
57
88
73
409
77
855
268
733
323
646
731
270
17
321
311
581
329
272
120
499
261
972
575
331
767
549
406
718
590
57
471
314
544
162
490
651
81
587
214
485
434
995
78
248
829
528
70
840
960
972
663
649
716
243
762
667
959
493
961
388
152
620
584
433
313
756
962
632
262
445
131
928
772
29
635
384
11
866
155
603
34
624
915
430
256
189
381
269
187
120
444
665
950
77
973
619
782
445
642
107
677
495
401
321
624
976
351
406
917
754
958
462
669
666
558
476
409
177
292
892
875
108
347
991
728
720
840
369
852
240
470
747
502
974
603
677
959
870
806
474
465
871
123
53
605
105
795
826
650
472
971
148
200
48
369
912
793
577
479
485
357
459
34
892
883
234
997
940
927
732
69
934
390
180
107
641
245
779
73
194
430
788
999
26
699
927
681
82
986
402
862
647
939
760
146
69
116
206
816
656
525
356
675
290
60
891
806
613
979
943
492
623
166
420
976
318
384
598
587
832
884
63
162
594
69
429
491
51
953
401
811
55
448
859
857
184
24
119
557
751
597
276
877
89
731
306
332
815
598
974
444
928
951
267
913
71
78
173
15
861
460
959
94
556
156
647
378
787
873
169
871
456
869
536
439
483
544
902
254
961
636
567
936
257
434
197
830
717
730
345
261
683
804
69
98
88
885
912
197
328
89
800
829
288
327
249
259
239
410
722
696
125
629
545
851
676
618
95
291
793
317
408
759
434
216
581
711
632
823
362
609
810
341
408
49
205
390
656
976
303
356
80
706
95
13
82
692
16
632
218
579
182
837
344
714
50
438
73
599
599
751
71
420
635
688
21
81
303
606
882
962
65
365
96
593
553
76
235
804
468
302
159
988
823
893
382
711
56
283
348
884
905
733
614
468
136
925
31
182
168
379
519
587
555
378
968
974
431
976
926
947
841
690
546
293
210
89
874
965
4
48
674
14
691
525
249
496
603
256
686
6
271
695
458
330
390
791
460
573
626
877
212
769
592
539
945
919
113
750
450
56
910
939
933
798
420
563
758
456
354
553
887
590
308
548
661
976
625
694
374
382
519
526
327
915
38
89
543
794
545
307
312
614
943
646
532
446
574
803
377
217
836
713
398
940
14
583
657
95
249
886
350
752
803
550
450
142
464
697
743
671
106
313
423
650
601
709
103
114
188
603
125
222
729
898
209
52
229
677
930
763
738
792
538
662
162
261
208
867
397
292
230
25
501
418
118
989
38
804
24
935
126
869
6
113
356
91
570
344
398
587
913
796
931
527
538
625
834
271
447
830
115
177
289
489
282
169
226
429
506
56
76
951
121
249
135
966
39
565
572
263
432
625
139
728
638
181
979
595
831
721
63
191
588
56
683
628
596
734
151
698
796
95
738
703
473
501
469
76
524
276
548
795
452
446
218
387
95
339
720
128
407
641
753
106
180
349
514
961
878
604
130
255
438
480
648
631
499
795
569
621
491
712
530
548
363
357
517
765
25
134
975
59
502
405
998
444
930
249
258
390
131
446
234
166
645
963
685
925
477
970
290
107
660
833
499
130
387
737
67
690
560
728
770
900
868
110
345
296
509
20
537
938
647
747
701
799
726
658
639
900
465
180
137
102
899
823
94
135
172
543
473
10
913
361
154
870
874
732
905
103
28
782
896
580
962
698
912
533
689
638
478
551
815
873
371
765
587
122
975
559
868
765
455
34
211
379
557
653
137
836
479
641
583
842
682
622
484
223
6
119
312
571
75
443
753
222
181
606
940
40
966
454
671
982
680
9
670
615
750
667
835
463
223
947
323
248
485
440
871
336
293
908
59
655
393
673
995
127
576
252
650
722
625
322
981
832
61
791
332
171
427
754
920
875
403
710
808
644
145
669
507
329
36
963
501
846
642
937
512
607
129
99
696
171
48
600
320
531
416
285
906
251
931
701
756
112
199
597
419
198
846
579
123
683
283
968
980
815
67
228
853
541
288
583
421
301
271
578
928
285
507
308
919
455
730
340
567
175
620
678
883
192
608
316
200
667
297
828
24
230
462
762
78
316
613
233
970
190
164
754
171
577
972
898
584
802
983
619
245
385
314
338
520
826
749
987
99
636
983
832
975
871
477
258
174
738
503
762
953
460
785
41
321
623
489
432
702
903
429
55
136
569
23
440
308
172
368
808
763
705
392
396
864
85
552
979
545
588
248
476
885
195
887
641
463
853
403
74
111
713
728
414
990
889
345
17
48
936
169
74
833
75
331
387
831
789
770
553
715
580
58
200
895
306
118
689
905
459
768
971
858
496
666
788
537
323
947
898
750
152
264
479
375
680
665
922
853
193
773
948
173
541
316
317
799
341
803
502
95
712
722
981
559
51
501
430
838
745
28
151
110
16
17
144
162
58
292
239
917
152
753
68
762
538
54
55
387
880
381
461
839
620
921
848
432
854
658
486
336
851
754
331
230
421
965
958
914
922
186
925
19
781
310
966
78
82
29
409
168
950
938
147
705
606
967
885
558
300
127
583
603
229
394
316
688
18
812
885
647
382
198
355
785
783
302
947
171
395
582
569
287
630
182
694
85
59
815
700
628
435
663
189
875
184
385
54
337
58
858
216
492
745
36
187
753
830
250
6
449
475
254
259
730
679
352
321
57
473
244
144
539
431
99
615
370
702
21
656
976
422
70
363
111
242
969
546
555
659
442
221
971
272
997
787
566
510
117
593
48
959
449
620
36
176
80
636
256
172
477
706
412
433
731
638
228
31
972
278
914
616
717
298
521
698
193
533
727
591
176
403
885
957
367
127
53
838
178
122
172
500
481
991
993
844
461
791
96
800
193
100
413
870
918
310
301
740
116
751
945
585
178
524
209
717
430
679
840
794
118
909
394
12
667
714
883
43
192
774
364
119
422
73
320
25
273
655
250
668
355
534
478
745
725
282
762
456
206
969
890
215
163
857
535
145
589
827
147
418
223
186
174
637
364
646
4
404
744
121
505
813
482
15
755
239
567
256
345
854
270
418
886
752
252
381
449
26
485
131
827
707
167
739
285
415
39
394
513
530
555
620
404
461
994
25
518
442
376
840
940
927
885
375
155
80
606
117
21
885
698
784
662
561
743
515
724
138
120
836
319
608
601
158
706
78
494
98
18
677
189
901
322
805
470
811
311
369
93
288
440
149
293
193
475
266
960
628
949
240
590
493
669
417
904
374
683
151
232
14
542
853
93
506
837
406
175
380
180
599
37
988
113
881
885
560
194
366
138
263
80
910
311
990
603
476
198
740
884
693
323
619
784
889
456
152
96
752
374
721
604
213
353
193
218
781
626
782
866
388
888
138
474
673
225
416
396
734
123
566
762
293
398
833
316
464
606
915
59
997
45
778
876
905
680
65
148
88
223
353
220
974
832
677
748
721
882
161
518
116
528
391
349
685
585
237
813
220
75
607
378
703
663
273
264
863
720
710
787
670
261
206
251
906
595
659
390
735
937
37
341
906
447
16
417
221
582
163
656
979
659
132
87
116
406
546
121
876
577
508
458
653
169
429
285
131
241
180
725
785
693
287
60
494
283
392
982
436
830
903
36
239
816
120
560
900
227
920
559
790
447
185
831
169
543
408
261
70
403
567
455
667
648
511
595
747
349
577
589
459
658
975
446
982
298
536
313
540
947
698
524
634
204
90
395
344
102
965
23
485
948
993
59
32
756
892
646
751
793
628
977
867
562
77
568
19
549
864
305
694
615
398
517
322
511
826
482
84
678
13
859
384
642
284
68
845
75
132
951
477
473
597
743
730
569
83
960
669
428
882
632
395
782
410
505
677
880
699
659
764
991
881
300
262
245
516
507
929
658
593
821
71
38
55
254
719
941
460
129
55
609
861
632
105
418
405
555
396
187
270
697
363
413
791
994
681
834
343
363
256
232
75
688
539
570
300
459
266
450
956
310
179
277
148
115
414
815
708
864
351
693
402
552
485
111
1
354
179
270
287
95
408
43
625
183
449
746
66
575
307
670
618
461
962
113
628
676
222
502
873
490
33
406
111
488
87
419
962
711
265
218
667
58
78
307
392
234
63
0
280
58
472
546
161
834
193
670
694
240
548
662
27
14
103
44
413
846
133
222
986
6
981
427
179
633
717
876
668
405
813
751
799
469
168
755
681
282
948
791
610
926
849
357
267
833
828
225
961
418
823
501
705
322
104
537
236
662
261
822
947
30
65
48
114
84
842
236
668
355
228
944
966
912
574
865
959
801
317
387
174
213
706
587
645
552
613
531
687
56
40
430
47
893
938
204
904
229
498
865
771
384
668
661
428
437
589
616
5
418
276
442
284
636
606
534
56
378
762
118
365
447
953
67
527
327
99
379
629
26
829
841
330
430
263
338
466
782
181
262
946
126
396
886
354
920
242
462
157
447
501
346
896
808
822
812
195
12
933
793
981
572
309
448
853
884
381
560
566
36
819
712
368
613
693
232
350
878
1
53
32
459
874
118
546
833
888
639
610
766
147
974
492
894
878
307
880
591
122
180
711
321
347
675
969
842
118
338
27
813
591
233
32
161
468
972
417
351
964
710
591
298
612
848
466
498
749
820
995
794
364
208
613
586
582
649
554
17
549
272
658
664
686
227
218
296
466
233
447
758
702
945
770
639
130
987
89
294
981
775
552
97
766
237
941
586
400
999
835
772
214
483
801
230
270
439
582
564
67
908
892
171
815
881
587
619
181
73
808
652
852
20
703
393
372
435
731
793
663
81
834
831
110
819
819
152
900
890
52
597
820
465
579
458
440
832
456
732
452
890
583
817
774
233
998
2
533
883
748
271
391
107
492
512
462
81
663
152
643
769
421
715
476
946
304
895
71
994
154
489
780
765
334
633
173
950
905
999
426
447
368
126
803
35
926
958
314
694
305
723
450
682
487
54
337
218
486
173
34
339
937
533
776
200
749
790
899
824
749
605
325
883
610
111
305
626
630
189
723
647
840
141
621
585
288
983
511
804
133
560
872
423
859
25
806
934
525
701
818
830
124
457
748
368
190
181
834
185
368
202
476
874
27
162
603
770
547
795
720
635
101
776
293
853
472
313
776
829
315
659
475
768
942
942
729
975
384
587
74
507
455
253
414
646
826
96
868
485
761
659
793
926
763
197
8
296
217
77
241
82
162
870
931
324
989
61
783
909
332
534
520
168
922
883
139
307
869
419
791
485
57
661
203
730
275
833
274
286
636
964
57
481
652
346
747
467
745
336
661
91
432
78
600
556
476
188
19
773
291
306
773
674
56
551
819
910
813
666
138
978
926
929
139
423
204
967
17
438
220
955
259
647
874
996
114
789
487
225
93
10
438
415
366
505
164
967
696
894
941
622
719
137
57
117
20
586
697
604
671
56
347
520
512
576
422
570
432
280
233
307
251
917
957
501
553
697
424
574
541
357
896
273
756
132
316
273
781
506
296
456
737
181
668
817
78
613
9
499
978
728
503
323
365
337
731
924
661
17
686
733
230
858
668
480
986
512
734
928
364
256
295
161
8
348
846
332
793
988
231
981
785
940
435
755
120
320
910
987
311
853
911
447
559
81
622
190
95
922
921
839
412
163
833
977
32
88
151
232
345
274
287
528
739
792
997
204
958
499
452
462
282
497
107
403
95
595
28
745
832
167
361
402
462
351
537
7
315
692
261
192
583
33
130
292
7
850
616
322
184
200
248
273
325
310
202
279
697
811
304
490
706
907
932
149
250
147
151
358
130
402
348
846
769
902
121
594
509
610
545
208
732
558
827
574
678
803
678
71
669
887
599
383
9
109
133
598
468
458
76
637
876
562
735
7
490
901
732
163
505
697
621
774
727
487
208
652
111
951
260
119
146
922
28
661
797
707
794
553
625
605
115
180
958
521
461
784
79
556
829
744
678
694
25
837
284
869
486
32
790
904
863
210
184
135
228
221
731
365
444
55
301
642
185
351
214
939
654
477
3
237
613
778
14
559
755
123
6
369
672
42
192
179
146
959
938
459
924
252
208
629
345
671
320
237
876
143
658
146
688
833
249
603
160
276
199
738
338
71
757
610
776
962
964
761
268
802
833
229
646
437
319
402
821
421
790
49
104
297
598
945
676
270
387
633
314
658
583
503
826
46
877
204
541
36
961
248
71
664
106
549
923
623
795
512
745
622
865
98
624
708
738
87
319
441
244
3
859
340
427
74
247
911
161
975
183
913
721
375
944
141
856
215
977
642
52
252
401
513
720
540
591
818
103
158
695
556
940
921
644
621
253
957
612
630
39
343
229
259
47
712
290
273
33
173
832
120
823
461
915
926
893
857
330
350
501
236
333
419
63
403
695
928
592
254
461
708
326
557
493
938
620
748
996
286
801
662
80
128
577
970
849
654
375
274
310
538
699
33
553
292
984
998
344
49
454
406
593
683
356
647
68
680
378
613
80
456
545
983
144
238
597
982
759
465
746
650
615
481
914
128
761
141
646
816
194
888
851
526
704
506
49
912
37
7
690
18
871
104
389
857
43
446
582
458
379
699
145
649
1
373
905
670
754
699
153
396
136
830
862
506
371
746
847
502
876
54
825
569
884
698
181
412
565
168
725
906
844
312
302
54
719
726
956
587
255
491
395
565
269
717
93
250
620
37
108
199
628
664
495
147
970
827
553
630
128
804
267
666
66
453
381
806
767
23
40
431
456
709
174
247
701
107
557
181
901
287
788
662
567
275
696
560
821
818
989
928
591
827
966
118
636
889
670
654
185
714
499
153
666
559
127
210
293
671
185
93
423
728
198
955
99
122
48
343
654
827
226
778
969
284
305
424
540
977
569
6
26
892
960
711
566
257
78
196
26
221
495
690
232
928
945
610
20
981
840
485
556
545
596
172
455
873
467
134
562
403
393
458
96
447
335
837
144
150
857
110
216
560
330
421
948
496
710
889
873
462
270
411
673
495
429
287
527
142
36
542
444
162
807
619
494
66
971
144
300
518
244
589
773
313
937
873
46
535
97
923
163
86
116
49
778
929
514
245
218
96
709
485
768
502
538
24
534
899
710
697
892
405
372
139
340
263
931
74
244
355
343
573
640
288
936
227
936
146
229
468
208
230
323
211
423
757
820
276
292
15
640
769
782
412
12
862
396
327
109
661
566
179
541
733
147
143
797
214
823
955
443
161
11
821
503
872
710
793
446
799
890
500
236
333
194
200
685
958
56
283
295
482
873
204
616
564
277
164
29
634
600
769
509
369
120
971
353
245
194
317
729
742
974
58
724
697
765
251
399
228
147
186
335
295
622
354
889
482
626
397
756
734
571
598
901
361
908
286
204
905
122
712
532
223
342
15
720
706
854
832
975
577
323
763
473
199
452
108
449
630
520
792
258
656
342
478
878
524
500
853
288
571
121
624
229
446
202
326
910
27
94
507
354
30
705
394
402
241
260
296
503
433
184
548
284
859
399
136
556
568
280
243
71
590
716
756
749
971
764
344
347
212
233
739
606
52
956
900
328
217
499
31
638
388
288
29
254
897
611
884
14
303
150
785
903
994
12
145
475
790
926
885
256
702
813
234
557
179
443
464
166
541
613
413
436
828
722
430
353
684
494
784
421
942
107
233
917
629
760
738
10
834
458
72
470
670
305
562
772
463
814
671
532
27
250
914
54
252
309
30
73
314
275
160
556
572
323
114
885
379
191
106
150
608
628
483
547
526
766
350
147
458
821
576
707
343
963
831
258
468
752
424
290
462
577
356
461
788
589
576
242
711
422
104
190
205
540
291
105
64
73
174
388
186
105
579
684
889
188
206
609
427
501
234
279
750
631
913
231
867
617
635
877
170
635
64
887
216
323
450
106
204
538
171
507
988
232
977
191
272
866
223
862
808
752
39
997
481
683
953
47
579
903
456
22
446
426
968
888
578
297
754
234
216
471
748
670
135
674
76
63
779
60
797
491
140
844
352
19
564
139
595
162
571
190
642
192
503
646
299
880
906
418
101
555
66
556
87
450
275
217
815
508
834
578
176
861
93
427
959
419
596
692
351
527
815
824
403
146
846
460
205
941
178
429
258
847
221
421
617
266
507
70
985
765
573
984
907
753
96
893
306
765
175
890
342
325
511
605
38
429
766
949
168
18
413
814
227
972
350
469
618
913
450
641
983
559
790
871
676
37
414
591
823
992
51
918
973
962
204
244
930
937
700
683
723
56
814
209
182
616
224
833
787
784
877
176
266
940
132
26
582
995
597
584
934
955
394
737
21
568
486
816
451
830
317
526
663
344
913
395
189
797
383
169
573
707
755
709
961
417
710
28
53
622
586
612
801
675
231
859
670
206
912
896
452
517
866
567
917
0
780
732
163
607
436
867
882
572
843
984
434
637
580
893
405
451
354
931
547
456
350
673
332
108
262
573
26
577
627
308
73
555
104
264
769
554
694
450
932
37
942
67
931
767
597
714
287
240
231
214
166
852
396
329
49
844
522
212
976
681
373
660
668
561
68
113
419
27
557
175
818
977
273
210
833
395
513
3
734
161
908
528
704
791
587
954
151
116
599
885
47
221
592
884
677
61
81
715
477
570
672
733
40
494
787
340
772
518
891
809
712
223
471
363
169
100
270
981
647
812
104
60
372
691
861
159
451
501
307
390
341
185
20
202
204
662
93
691
353
878
683
656
881
272
549
963
204
889
889
466
643
302
219
681
780
550
828
19
120
422
548
892
730
815
654
627
698
819
72
721
831
901
834
543
349
57
120
499
845
883
843
379
659
551
415
321
63
210
108
763
92
158
685
346
403
844
219
918
48
626
898
577
280
39
199
919
422
712
6
739
53
94
468
556
229
516
457
981
372
839
494
851
864
252
400
429
76
271
850
369
358
793
91
114
367
734
260
362
234
880
686
982
395
441
276
336
782
442
647
69
558
404
836
493
280
553
958
885
76
480
528
544
440
376
686
608
184
911
437
784
158
397
465
907
20
59
859
570
734
271
854
356
237
728
365
800
616
793
579
96
382
81
763
44
851
231
684
866
664
210
412
218
79
848
997
197
463
320
790
593
498
696
641
723
695
19
645
769
962
604
578
422
9
38
284
813
363
897
472
352
481
721
77
485
941
916
759
840
729
938
223
622
651
357
489
922
391
571
739
758
235
302
551
948
350
91
671
473
968
100
86
235
711
597
364
308
370
256
126
206
927
907
772
104
879
401
881
7
420
333
375
518
394
332
696
129
904
213
103
170
578
713
578
67
559
694
259
758
367
522
70
396
6
199
322
802
704
726
378
29
11
184
748
869
958
983
613
926
702
448
961
869
483
158
266
72
398
988
8
611
358
425
337
885
664
451
665
163
942
475
629
836
936
335
547
161
970
603
233
870
154
806
911
995
850
35
846
34
914
311
710
501
305
281
388
794
144
968
922
258
249
721
336
541
537
350
865
927
575
999
735
654
134
62
108
761
533
629
230
552
910
571
139
44
813
41
150
343
22
818
164
527
604
96
870
40
460
615
363
176
230
876
958
193
975
62
548
605
637
900
951
903
379
308
387
188
959
430
847
952
833
379
211
146
672
426
680
655
175
271
594
926
204
471
996
448
13
648
337
504
117
26
149
210
204
191
683
340
711
687
638
270
838
593
252
925
434
515
219
303
418
765
733
127
171
938
860
450
71
29
828
441
467
141
825
838
683
159
69
258
8
581
587
117
542
636
410
552
135
768
608
110
281
532
3
766
882
737
638
902
184
129
324
684
538
87
731
638
972
353
203
624
119
974
296
270
759
616
478
50
996
50
644
346
339
44
139
623
540
590
191
674
198
628
791
839
381
744
476
324
622
455
10
993
759
825
918
293
934
139
541
441
663
75
82
691
281
153
665
139
675
676
597
297
72
50
995
787
368
965
556
998
872
59
456
880
773
504
400
274
513
563
385
600
975
450
244
788
297
132
510
903
944
65
594
20
366
418
549
725
29
957
90
430
485
502
133
79
841
232
411
772
5
152
67
831
903
946
699
989
880
273
778
178
704
159
871
358
199
934
332
327
116
315
225
541
291
965
961
425
72
846
592
573
838
13
340
50
891
493
36
238
369
447
771
185
833
88
777
9
986
158
3
647
378
59
291
404
812
777
855
732
450
112
320
880
608
674
726
873
34
778
293
716
743
804
365
629
962
265
758
902
402
947
211
425
613
955
12
142
696
988
806
577
7
354
421
51
900
93
0
855
319
755
985
34
290
440
601
639
96
161
625
14
331
609
731
866
499
466
467
868
840
940
189
302
830
995
673
794
926
728
49
741
944
929
459
118
901
828
65
421
993
513
978
524
139
179
190
770
340
152
887
525
447
222
781
978
88
893
681
813
899
803
495
547
229
828
132
748
555
639
378
567
507
644
200
181
361
519
285
415
742
67
526
653
461
701
498
582
536
835
149
719
858
84
404
819
718
535
14
785
7
167
41
622
208
70
370
72
664
829
49
143
438
109
908
326
176
734
209
931
115
356
349
22
804
618
29
790
388
913
781
31
554
913
758
681
968
897
133
519
615
449
798
110
994
74
649
18
844
968
887
692
861
906
705
604
539
810
383
273
720
985
860
452
956
131
533
941
756
632
872
295
594
381
575
689
988
123
988
910
577
4
699
642
844
514
354
523
544
321
369
634
545
721
239
832
475
525
437
67
581
400
615
571
246
474
21
405
505
948
823
72
506
871
147
692
498
399
755
45
137
268
911
575
185
51
954
98
224
579
789
9
576
260
347
590
663
736
991
661
825
887
501
308
217
896
510
555
54
413
229
926
663
55
663
520
580
589
128
351
646
510
478
63
821
970
328
292
517
668
783
2
616
482
296
806
296
106
11
878
485
271
422
199
572
765
316
936
851
71
147
897
126
199
502
523
681
657
396
871
646
800
394
513
473
617
592
151
151
142
344
567
389
513
601
308
941
920
464
80
12
142
883
99
352
94
729
663
342
255
557
997
100
645
745
373
874
417
37
128
224
569
296
921
785
693
477
731
21
307
650
578
591
789
314
566
450
328
0
322
66
715
318
629
306
529
788
458
672
265
819
586
374
412
268
489
619
626
354
338
560
908
382
5
156
105
43
67
141
706
512
980
215
187
6
8
772
318
327
430
483
149
155
728
672
242
407
732
31
877
26
553
19
429
316
942
909
329
541
90
984
9
859
585
905
769
907
371
53
256
769
725
639
928
654
577
808
43
198
260
972
463
104
430
967
381
530
24
126
421
985
706
492
281
457
475
655
218
538
130
886
928
335
984
350
580
770
974
391
355
525
364
97
238
790
410
217
76
296
621
323
529
775
947
589
95
523
566
453
244
656
851
493
654
156
798
364
670
601
125
1
945
714
947
661
332
559
973
287
823
900
447
38
216
581
199
136
949
82
951
103
800
209
786
390
678
812
175
821
762
682
342
745
626
505
967
493
112
83
908
588
338
911
911
903
806
27
160
834
730
218
164
142
62
894
809
665
594
819
89
896
592
360
171
110
367
253
903
129
142
927
572
443
814
119
177
561
672
858
335
863
800
911
884
520
563
389
800
104
542
13
204
188
394
0
513
689
799
427
4
654
532
639
378
546
541
702
393
212
930
727
315
923
279
711
211
224
348
398
708
147
172
396
682
282
268
734
206
660
800
449
128
393
285
630
141
126
30
345
980
60
507
180
405
929
678
785
686
325
242
820
152
292
964
114
107
334
859
867
155
762
461
855
217
575
464
138
464
170
59
823
654
272
280
628
527
586
348
546
455
549
597
709
439
108
223
316
631
576
538
118
664
597
41
983
890
735
413
301
438
364
889
97
691
294
71
60
27
107
782
331
478
435
986
11
541
871
73
86
883
102
422
698
857
272
508
228
222
783
161
240
989
573
131
696
125
732
491
564
685
179
670
960
90
908
756
5
80
449
44
92
558
188
511
780
311
206
209
695
935
308
234
115
297
329
187
718
258
451
787
573
995
477
812
858
247
462
313
598
79
732
423
950
296
482
716
76
319
161
530
924
701
970
93
275
938
300
853
898
491
176
224
775
299
95
454
838
242
372
489
641
116
192
437
201
933
286
585
795
427
14
717
139
313
786
377
70
377
815
225
147
913
425
799
53
322
919
194
797
81
393
435
546
136
452
396
139
194
983
207
590
899
170
127
531
216
270
683
457
284
272
18
148
254
931
943
694
396
639
243
203
612
417
591
195
539
34
894
213
703
420
918
468
114
70
353
301
239
575
778
218
983
547
839
505
289
719
536
834
833
189
31
933
771
769
990
506
738
300
886
739
898
693
405
928
877
453
766
471
787
787
705
928
960
287
982
93
777
724
273
76
737
286
268
904
998
53
856
492
194
322
776
380
423
4
12
625
929
494
492
833
588
999
833
675
64
100
288
680
811
282
564
868
488
929
881
473
596
287
69
363
699
582
524
850
120
859
539
133
264
442
514
934
883
264
697
807
975
698
158
501
593
601
534
511
954
118
223
434
476
420
693
17
558
401
667
199
263
389
533
592
802
329
888
691
628
208
975
887
671
536
842
394
416
989
563
383
668
502
744
503
683
335
68
284
472
105
435
88
203
649
7
689
510
697
210
598
814
148
827
428
464
382
329
655
5
395
906
167
173
123
392
168
494
494
735
558
130
178
793
819
815
699
667
875
24
811
598
349
205
299
927
704
854
721
123
978
34
82
530
469
55
374
555
735
957
496
55
894
52
737
268
681
388
634
77
265
521
270
41
569
663
569
327
689
236
185
962
105
976
200
791
473
270
209
762
898
289
209
129
217
460
778
967
919
702
571
262
664
875
532
510
456
880
229
372
171
681
699
83
757
580
453
789
830
76
241
271
226
799
465
125
461
267
814
83
564
814
44
596
844
693
302
27
987
227
335
852
137
823
111
576
911
768
598
135
779
806
823
585
587
983
902
778
667
794
456
534
784
413
932
872
919
699
48
287
405
51
964
373
691
341
397
750
576
394
414
473
223
274
451
871
721
962
914
628
756
170
0
431
579
412
710
604
445
635
62
957
853
381
552
203
967
961
433
346
731
407
238
950
359
968
589
386
633
953
774
267
254
934
579
773
573
569
78
771
92
385
710
611
845
754
348
29
972
259
881
539
956
109
280
552
834
269
79
648
446
272
166
21
451
694
308
509
689
79
156
728
136
990
195
980
518
863
104
726
726
631
64
142
240
755
597
407
276
795
815
952
112
517
597
51
508
795
411
161
830
671
127
417
279
863
310
164
105
813
995
860
789
378
748
123
571
770
147
656
324
438
191
920
271
136
864
981
628
395
660
381
154
560
98
767
264
729
191
517
196
56
442
584
155
31
904
55
733
954
738
669
180
554
758
583
575
126
823
196
791
50
76
381
559
425
6
442
331
781
341
440
723
953
550
905
739
523
301
48
590
173
172
101
63
840
578
476
523
618
574
502
825
705
122
153
376
135
788
46
198
924
121
180
764
954
791
431
101
427
121
371
183
616
98
490
840
433
497
293
889
811
174
725
689
352
763
279
620
225
521
897
391
125
627
422
17
524
388
757
447
838
596
655
992
828
374
50
29
226
582
165
934
50
687
386
830
83
985
479
887
826
926
802
711
375
620
177
902
907
136
509
595
978
255
929
26
876
624
289
608
740
961
669
729
392
739
318
677
204
704
356
165
741
388
866
688
682
361
647
122
332
593
778
237
482
663
333
757
372
7
746
990
299
878
701
902
509
593
354
654
456
187
516
573
413
642
749
996
663
333
548
702
711
694
558
297
300
582
734
190
92
489
976
987
574
848
565
902
83
51
659
175
983
615
523
128
242
424
222
887
365
789
621
587
337
95
133
982
949
903
255
335
956
715
352
722
63
640
870
318
945
997
596
11
808
943
958
879
447
330
850
448
897
199
35
994
681
746
932
400
485
496
508
609
629
992
233
114
78
171
163
263
905
249
529
175
533
457
461
482
528
3
584
854
290
264
681
595
47
637
774
939
717
876
127
763
539
133
179
937
708
810
781
535
998
225
382
37
501
183
767
333
169
501
653
956
965
6
407
536
335
442
118
861
942
264
121
813
18
0
868
203
368
550
290
959
478
938
655
788
710
960
77
404
962
796
379
986
755
487
106
768
355
386
892
259
377
199
263
59
665
326
180
218
753
826
118
938
139
442
599
339
198
343
70
525
151
456
323
390
613
618
925
679
770
627
936
184
721
803
769
37
863
260
306
745
587
869
601
7
470
514
156
933
305
319
409
610
631
859
994
447
726
358
134
408
375
436
32
710
734
203
698
919
859
556
420
222
254
106
870
794
392
639
677
201
360
822
999
545
924
170
646
75
319
134
701
250
771
722
662
442
472
951
845
368
955
558
801
812
28
438
786
764
847
967
64
836
135
345
393
300
422
988
133
381
303
893
721
531
506
431
533
299
358
511
633
271
430
241
172
668
786
313
263
964
473
747
797
984
423
654
384
401
656
4
776
581
252
599
869
414
931
997
432
697
952
704
334
314
527
989
102
142
450
81
96
646
124
482
293
855
86
218
285
289
871
555
443
445
709
67
129
463
15
746
375
785
974
866
122
810
914
750
74
78
363
699
50
705
654
224
260
410
73
402
943
588
2
71
607
902
310
254
678
688
752
556
164
511
364
961
325
646
466
48
960
254
191
692
297
41
903
829
193
471
252
49
247
473
561
60
114
287
866
135
516
991
556
788
107
427
512
523
276
491
671
616
346
932
925
615
601
169
197
780
695
537
162
900
344
608
19
73
545
904
572
267
273
259
564
13
148
597
943
857
647
153
355
178
581
277
809
786
198
923
75
677
589
475
269
355
543
802
48
168
997
83
49
361
116
808
924
803
642
224
773
901
406
766
934
318
192
603
33
320
672
7
644
614
676
494
814
439
933
701
728
24
879
817
425
46
23
144
284
288
483
169
386
513
432
312
128
66
767
609
414
582
247
695
404
343
221
548
127
613
706
437
195
650
354
650
852
186
400
329
981
359
504
735
150
886
576
138
529
989
155
89
812
799
388
861
100
71
795
408
86
755
337
855
663
409
757
34
484
969
521
205
579
530
813
498
137
461
53
621
701
142
729
515
109
69
999
507
290
18
333
64
889
281
628
434
385
862
97
747
870
155
148
734
548
377
396
597
117
785
67
16
343
871
239
485
228
390
333
340
606
285
858
519
332
783
717
901
449
247
513
636
652
895
639
848
220
327
965
32
351
453
86
150
849
282
369
809
931
513
68
10
797
442
483
881
549
588
964
971
691
870
470
332
88
812
713
632
665
262
718
342
296
967
31
270
131
305
701
783
179
871
672
774
989
930
861
437
800
119
855
228
531
676
726
368
644
829
613
932
571
896
844
684
385
311
232
531
97
945
110
506
238
686
769
704
919
681
499
844
48
593
645
693
37
14
722
553
965
498
112
714
980
207
818
810
865
386
199
815
869
56
621
812
384
656
953
17
636
327
508
912
264
442
760
811
437
118
9
31
674
853
752
779
508
286
670
101
704
572
420
517
959
331
735
682
971
217
504
675
530
144
51
216
681
120
368
230
869
318
733
1
338
311
343
569
655
812
489
997
720
806
909
803
722
94
717
560
768
683
684
100
624
278
931
412
170
541
683
358
619
306
2
425
153
113
805
498
138
987
182
882
902
136
148
405
680
254
37
801
695
921
684
789
542
477
276
471
930
335
795
777
735
665
558
167
954
960
289
734
269
123
617
264
248
908
306
659
300
759
90
358
549
789
264
562
97
923
788
234
424
846
787
412
295
988
720
915
998
215
261
449
118
162
916
43
939
22
616
249
94
663
676
416
586
296
453
214
979
917
934
122
640
26
391
302
122
782
994
559
556
510
246
441
304
134
761
807
645
771
948
151
565
13
496
444
784
360
712
640
243
917
557
253
686
840
488
74
943
490
347
751
623
915
957
305
917
668
625
325
795
331
395
564
269
479
87
490
611
593
58
988
725
19
944
693
672
841
965
398
16
563
435
925
601
124
56
257
968
498
229
684
809
160
886
31
717
522
41
578
575
836
793
197
435
153
464
199
372
45
553
151
293
899
647
396
550
437
204
551
897
908
645
770
972
450
658
483
225
566
750
663
574
647
536
147
680
274
281
588
829
439
947
302
144
618
190
399
837
96
413
446
249
98
974
636
908
461
543
811
724
228
816
630
533
333
339
516
180
554
990
430
827
402
570
372
936
326
947
410
787
951
500
132
309
94
968
532
87
528
868
129
254
965
818
1
949
345
943
366
436
123
795
731
430
620
851
676
480
992
262
54
963
537
533
853
222
281
668
140
255
421
837
663
359
721
550
410
976
595
570
266
319
779
667
497
787
825
711
11
455
113
237
108
889
568
460
910
51
633
679
12
2
555
544
445
580
95
92
75
914
671
978
790
32
470
507
83
200
591
710
990
765
959
697
506
568
216
250
88
88
875
697
525
777
153
443
601
85
959
210
248
906
98
640
62
49
202
901
376
393
217
188
224
517
996
872
224
730
63
507
970
548
30
366
324
410
540
984
586
652
246
519
969
715
890
60
669
931
61
350
85
757
232
691
150
312
97
819
57
158
362
322
459
786
557
492
194
579
132
974
230
66
518
522
80
97
223
746
978
60
864
367
98
330
395
721
902
88
709
121
377
539
445
420
842
104
210
447
249
652
633
246
421
40
725
471
630
216
77
387
823
949
366
373
353
725
349
525
217
698
43
450
225
806
816
878
243
660
317
613
34
767
388
875
911
202
540
259
501
86
762
471
217
60
961
620
804
844
525
720
806
315
185
746
343
243
590
884
103
751
224
831
284
695
378
935
858
402
316
88
902
914
349
280
525
263
568
199
684
668
894
776
789
43
994
982
49
388
13
453
413
127
564
864
257
867
152
205
754
337
748
764
599
340
653
795
726
146
841
411
795
315
351
183
102
732
707
612
253
77
887
294
574
905
276
88
7
756
865
522
866
415
16
795
847
494
795
278
810
962
41
55
950
196
310
110
830
609
137
444
313
351
643
281
279
535
767
156
579
981
247
942
336
509
516
924
797
502
648
850
272
751
514
519
380
647
865
636
129
781
268
51
394
860
592
260
464
778
995
362
413
485
483
647
217
500
380
268
217
315
853
633
615
18
422
824
522
530
756
548
474
864
982
968
860
886
906
171
831
234
673
53
541
893
635
736
162
2
897
31
577
974
42
695
387
218
78
195
345
493
280
152
329
822
562
138
858
116
51
93
343
212
664
871
111
437
391
322
289
469
751
67
452
548
751
682
875
805
574
561
720
301
252
705
252
16
393
655
542
858
376
266
927
728
555
819
179
894
140
111
185
651
719
140
391
724
507
646
120
420
551
318
517
919
880
952
949
733
733
571
703
164
524
912
603
396
517
322
830
191
795
411
745
357
327
994
264
912
237
676
496
274
834
581
279
21
930
492
80
146
478
158
726
2
977
701
559
871
908
70
738
802
898
821
823
920
84
995
414
687
78
661
969
442
475
732
224
419
85
455
77
131
763
862
748
963
353
204
860
953
212
774
894
684
758
250
514
455
560
69
583
954
514
369
889
425
396
439
621
617
504
714
772
430
892
365
600
872
205
393
702
489
49
28
11
700
522
534
929
321
40
231
125
376
642
172
134
397
789
665
619
248
62
84
462
445
451
956
857
426
476
450
674
338
116
253
863
687
127
663
62
100
197
132
314
882
316
997
456
222
557
687
939
310
148
332
423
20
174
536
457
561
672
140
296
906
201
419
831
146
768
391
414
589
520
292
259
205
107
556
221
275
72
59
530
851
922
666
24
62
177
474
479
723
823
864
947
588
231
599
101
369
933
690
722
212
878
719
252
822
806
675
86
767
372
810
373
457
326
377
51
243
953
624
540
626
404
539
824
372
282
584
12
983
627
779
266
660
457
100
318
335
608
428
142
710
287
104
835
318
776
539
417
867
219
157
729
473
361
670
747
859
88
964
235
688
468
97
215
891
14
50
612
32
56
488
163
628
360
744
513
198
49
112
533
251
423
899
175
302
865
657
685
571
218
327
289
461
331
299
549
856
734
945
884
707
532
352
238
960
460
210
371
695
446
732
207
648
548
37
687
91
588
552
51
569
556
144
785
540
726
837
529
150
776
354
755
16
497
890
705
522
436
862
704
422
184
570
815
387
170
602
423
790
511
120
47
474
220
929
12
156
732
721
137
134
751
295
509
338
123
628
371
89
324
137
357
721
357
143
53
715
639
978
852
497
381
803
407
26
641
893
174
188
315
372
513
751
320
828
201
289
332
692
252
422
404
872
617
955
226
865
497
20
499
873
547
475
561
156
507
234
272
483
275
279
147
649
223
668
72
272
84
570
754
469
70
599
211
592
367
881
750
45
280
147
360
323
387
492
292
460
278
90
36
252
936
906
467
461
360
707
65
458
457
275
799
944
329
359
126
215
968
258
986
919
71
84
158
631
200
671
312
351
900
382
976
850
140
255
509
254
8
745
137
786
361
486
396
823
204
258
834
206
57
57
532
695
967
329
381
627
177
594
921
643
836
778
201
974
379
167
215
924
391
402
823
472
49
996
59
549
14
646
384
397
166
416
960
413
330
33
228
827
694
481
592
584
539
139
234
997
74
10
760
954
308
272
360
375
438
906
331
382
297
892
838
203
356
42
235
466
341
200
304
385
838
948
642
763
287
467
726
212
975
499
680
623
670
620
850
831
862
974
186
96
516
252
185
845
957
645
873
625
997
600
151
800
494
84
640
618
283
563
443
0
868
994
323
49
471
58
422
500
284
269
345
29
367
408
444
825
542
57
769
811
439
777
332
444
221
171
979
990
553
977
776
925
580
469
408
414
196
816
546
175
602
302
829
790
734
387
571
48
10
504
761
53
298
674
81
297
391
569
125
418
287
921
586
656
80
498
459
482
805
337
546
716
968
71
724
834
522
120
235
980
172
351
923
910
304
574
301
974
199
703
838
177
506
642
536
320
758
385
654
939
496
209
265
253
655
466
419
982
75
777
166
897
204
197
401
578
364
529
941
538
219
76
836
635
253
625
67
832
903
93
788
327
403
629
382
781
680
219
879
814
609
689
266
243
967
619
991
885
78
159
877
104
942
500
234
971
881
539
417
596
569
814
106
677
321
453
673
802
962
223
134
527
988
621
696
810
220
545
254
216
234
610
799
668
938
48
663
537
990
835
133
501
682
513
179
809
472
190
94
58
373
395
889
648
521
932
976
863
531
545
697
912
355
971
987
373
143
756
785
239
640
522
777
191
309
655
82
997
220
722
696
676
407
672
983
961
110
538
826
455
947
622
628
636
394
280
175
800
348
991
877
444
977
99
561
102
703
167
972
93
937
227
786
388
939
75
928
413
599
113
134
933
999
348
283
408
549
311
154
710
733
241
462
748
3
369
72
67
778
96
634
350
831
219
60
913
932
729
678
841
754
818
585
801
748
384
304
515
417
555
144
218
294
145
325
996
399
243
973
412
834
127
519
114
810
287
497
765
981
539
166
491
405
449
299
199
904
988
773
659
705
13
234
44
471
184
849
279
641
619
677
627
359
130
249
773
256
928
974
525
832
839
759
694
593
241
51
165
569
656
862
773
900
589
150
712
283
706
136
181
336
358
521
77
423
305
36
938
160
349
98
698
983
790
275
828
390
454
906
538
470
235
463
757
210
747
99
189
502
397
30
692
524
937
903
952
885
854
217
892
679
245
300
358
482
454
941
722
799
798
615
788
149
518
704
761
906
82
103
259
241
656
398
389
86
725
180
44
473
986
695
586
11
251
337
398
866
696
466
326
30
565
602
916
423
673
941
745
867
188
450
482
291
595
513
130
812
439
358
388
244
936
205
124
437
750
496
456
100
768
815
278
921
507
601
878
896
348
517
512
415
847
124
420
60
689
168
726
729
638
612
421
625
338
187
269
850
715
398
56
974
145
639
509
841
186
520
186
468
898
818
832
741
229
390
458
437
942
590
597
869
381
158
738
866
156
16
464
385
102
81
580
72
203
414
864
247
71
714
360
295
515
92
89
437
85
98
777
17
76
914
523
529
891
546
691
868
928
21
739
124
936
313
574
426
841
785
976
439
838
840
449
134
534
861
645
979
279
624
528
872
518
255
638
234
824
15
681
453
39
57
550
379
569
280
670
364
186
856
655
680
780
747
914
227
790
26
584
26
504
309
471
678
548
830
296
67
623
962
428
136
732
844
193
711
282
698
978
225
631
56
161
826
399
281
947
962
88
987
225
93
540
125
154
349
262
766
636
998
611
905
504
881
810
251
133
359
783
316
432
181
719
699
216
343
269
148
42
819
334
746
398
498
619
274
541
741
313
820
10
797
94
805
897
864
10
40
219
388
627
79
431
61
513
368
647
350
61
951
80
647
908
354
562
704
284
865
504
105
540
964
278
475
71
895
596
523
320
298
770
928
28
166
307
608
72
334
759
30
693
706
29
842
548
519
69
458
25
431
781
115
626
222
455
786
873
727
231
916
248
145
893
447
479
561
113
382
356
358
421
915
939
989
818
393
490
180
587
848
199
511
688
787
223
865
482
914
599
471
988
368
994
928
940
438
156
955
733
765
217
29
475
77
380
335
68
676
31
691
551
433
421
582
652
875
356
610
398
637
978
236
364
906
455
369
97
909
719
893
149
107
450
241
524
530
851
480
899
870
680
57
524
626
352
195
249
624
83
51
22
342
632
747
599
340
474
753
79
547
123
187
324
995
927
810
573
746
268
680
602
16
130
80
622
767
967
24
436
68
866
350
591
454
410
156
196
876
924
961
80
689
685
323
84
756
148
969
703
955
264
520
456
117
792
994
749
789
567
537
611
138
578
271
195
621
353
654
855
919
473
175
500
665
298
632
710
477
681
827
884
604
288
439
680
872
42
262
573
25
308
802
439
127
517
447
286
569
794
401
814
669
716
123
215
780
954
354
412
844
864
114
597
666
53
446
918
515
119
123
677
463
413
466
129
735
39
344
483
583
250
9
203
366
953
792
950
681
278
496
32
82
774
660
720
12
419
999
877
92
587
756
865
621
922
366
888
504
738
198
671
643
793
496
410
417
475
845
678
660
313
976
960
338
606
261
909
809
618
412
28
549
78
58
887
99
919
808
503
950
64
625
897
878
247
382
604
226
530
871
835
679
628
499
730
955
215
797
680
413
579
561
980
989
346
887
918
822
812
225
580
938
22
241
882
934
788
279
904
221
794
372
314
312
323
308
546
956
233
999
395
102
668
52
441
618
88
753
204
615
369
315
884
516
107
894
843
804
739
163
763
369
709
396
651
108
221
632
540
311
821
883
980
343
122
111
596
34
776
978
528
146
404
134
320
370
239
745
75
348
205
523
141
384
684
721
842
126
745
814
122
985
466
526
148
396
225
115
206
830
484
796
259
121
918
791
918
717
650
417
823
338
971
864
601
646
590
740
199
892
593
987
463
338
249
432
294
802
812
350
600
892
824
842
713
82
220
524
119
204
108
888
923
866
724
852
19
952
31
141
547
967
309
897
878
949
73
508
264
911
200
880
660
343
722
283
327
967
244
749
114
389
745
312
901
781
270
889
694
952
90
972
806
998
933
169
161
919
621
151
667
103
528
511
585
405
853
378
935
26
177
142
795
762
315
626
838
937
323
630
275
349
665
123
932
601
333
292
604
512
561
569
785
318
329
105
144
691
694
865
888
419
487
551
612
677
181
272
58
623
763
679
887
934
960
328
381
852
13
976
425
421
94
290
179
560
658
200
581
897
562
28
803
901
183
770
555
470
46
614
95
990
646
98
947
2
460
136
571
27
301
245
508
610
419
598
479
838
733
736
991
585
929
176
39
570
126
49
878
659
923
44
876
448
696
257
55
713
647
932
966
774
636
172
886
588
965
293
432
402
104
394
149
761
277
882
376
455
773
513
525
257
20
167
60
766
41
848
744
209
758
687
78
911
680
791
888
884
516
237
476
614
671
923
674
279
105
411
546
137
40
485
191
745
407
673
693
133
150
196
323
26
880
980
879
654
571
806
804
265
517
884
761
224
759
652
347
219
919
592
875
425
68
87
743
958
584
491
764
425
289
649
883
195
185
192
922
974
915
146
391
580
695
129
232
376
981
587
566
634
255
936
277
247
935
465
130
544
347
767
430
624
694
645
635
736
129
603
579
959
240
143
103
480
848
907
8
375
923
920
872
33
321
46
952
664
346
914
184
637
596
318
631
891
560
496
917
583
532
132
297
980
332
852
923
573
696
608
103
108
650
700
33
910
54
578
586
967
511
887
139
73
196
709
865
209
847
32
369
951
403
673
812
728
736
478
647
213
878
848
48
952
399
633
110
108
972
305
549
607
928
905
85
477
130
613
249
317
442
685
296
254
664
824
628
970
728
558
68
792
161
840
824
580
972
863
235
212
507
508
138
762
976
607
123
135
397
882
713
416
900
986
635
788
934
844
949
105
618
121
698
893
948
376
945
888
699
323
545
684
354
147
282
527
278
289
984
405
349
225
735
193
133
658
827
717
670
77
378
942
845
288
191
651
777
559
494
716
550
982
101
580
92
513
393
768
849
353
444
685
252
51
472
883
471
462
123
815
917
286
693
62
831
86
203
437
717
936
499
227
562
352
315
344
819
390
70
173
66
555
105
946
544
171
895
164
415
4
949
617
523
329
590
182
226
864
542
632
56
877
9
211
483
50
863
499
566
448
604
861
621
427
515
720
908
641
855
299
304
590
342
857
440
223
851
197
678
800
446
618
471
677
584
250
120
570
699
488
518
750
522
296
326
421
90
691
650
393
657
733
401
230
30
426
140
766
718
131
652
178
17
51
340
619
651
47
651
961
843
999
84
629
562
106
260
669
163
613
861
383
889
83
437
778
766
821
9
48
956
848
360
462
865
262
850
504
390
807
56
863
649
515
657
308
535
417
661
646
169
440
901
96
304
423
705
375
862
947
444
871
957
68
759
773
983
409
499
392
255
526
915
23
864
283
893
874
31
971
828
657
413
203
847
647
885
128
617
123
849
813
267
519
736
417
593
31
914
193
899
202
149
691
932
915
369
607
852
772
27
125
412
400
923
340
732
517
882
192
434
95
277
862
496
159
458
154
191
119
833
915
395
309
24
284
484
752
96
396
424
332
36
993
596
504
457
38
876
86
25
961
843
968
592
396
384
877
170
326
991
685
47
700
224
361
32
968
0
16
608
180
473
749
411
890
709
850
945
777
744
575
808
840
978
499
428
265
61
267
316
388
413
56
490
327
204
189
93
661
427
669
766
211
731
916
631
625
51
498
462
501
201
877
721
524
925
963
521
724
213
21
249
140
651
313
896
332
811
148
842
933
237
953
3
702
572
581
887
220
145
598
0
248
624
683
818
613
18
333
781
917
783
465
248
557
183
284
213
595
316
518
413
314
258
345
430
17
194
669
437
760
135
672
433
171
160
193
742
621
176
919
853
185
580
217
124
206
847
678
604
502
860
610
205
166
990
776
182
726
794
721
318
644
386
666
684
148
670
671
853
158
506
725
172
730
674
369
222
422
151
296
429
978
844
282
268
382
926
682
52
738
49
673
848
894
67
922
90
394
464
933
547
477
676
292
40
21
97
201
563
829
180
829
12
59
419
403
205
556
935
896
413
577
675
89
135
856
654
717
978
21
506
602
623
76
948
115
425
392
148
357
686
836
738
711
37
843
672
324
420
35
823
243
387
89
629
573
371
810
676
605
78
340
537
172
599
271
832
804
483
788
42
240
847
987
160
402
468
101
560
64
215
318
276
533
103
783
566
68
126
193
793
522
942
951
801
542
64
712
982
117
830
901
581
991
721
575
64
718
164
442
802
361
795
811
119
428
938
401
106
291
448
301
289
756
863
733
676
198
844
941
795
535
796
756
163
706
739
567
109
371
584
130
483
189
54
622
583
285
593
288
557
931
105
189
81
789
832
917
55
832
47
382
532
552
724
741
166
454
345
700
273
948
435
458
206
161
755
478
883
270
344
758
546
117
835
619
462
782
102
54
787
657
548
920
361
896
506
966
444
685
64
805
179
183
338
603
523
300
588
343
857
0
595
926
71
578
107
71
12
676
311
64
19
795
334
193
621
66
356
753
168
775
638
943
916
708
214
665
873
182
456
854
810
149
860
268
939
34
928
271
155
951
647
178
103
288
600
144
910
281
702
931
193
781
250
707
57
101
458
754
874
912
595
508
778
915
959
594
42
712
994
123
107
249
429
986
256
41
431
659
958
617
117
872
177
689
462
765
765
1
541
754
444
93
336
887
583
234
188
87
316
690
326
791
232
363
267
421
257
621
546
710
636
740
92
839
68
873
409
572
752
563
51
813
810
532
265
391
6
604
65
670
547
405
650
761
284
678
888
125
76
883
808
816
373
477
810
153
538
117
155
477
883
825
634
722
616
859
358
725
460
990
814
780
758
760
655
795
712
610
396
937
824
114
451
295
487
792
83
922
117
872
865
168
404
9
77
112
239
136
4
575
119
269
519
248
646
759
835
601
534
585
516
917
894
290
477
448
14
517
86
45
56
285
617
826
498
539
140
444
707
656
233
201
561
482
602
46
103
261
43
409
289
546
552
695
808
300
239
408
613
781
599
131
993
275
635
735
228
256
835
121
872
74
35
15
923
700
823
589
564
292
517
116
509
614
544
725
668
283
542
477
879
691
135
701
816
181
234
830
123
884
197
79
559
297
304
325
117
265
204
696
661
120
275
651
174
400
593
514
827
788
274
193
860
788
115
101
69
67
679
204
519
891
49
551
521
659
717
257
993
248
338
892
358
461
323
599
64
991
606
985
725
327
821
647
941
580
270
436
402
53
197
389
467
717
282
491
111
498
338
950
896
112
383
195
964
994
455
796
657
638
811
612
882
43
537
726
29
715
325
354
194
729
270
621
931
203
736
499
624
554
69
545
214
817
815
394
59
623
731
966
167
396
481
39
708
165
593
195
916
286
388
378
457
40
819
220
193
532
631
797
949
942
693
297
697
845
416
499
143
547
912
487
350
346
122
532
464
468
317
244
238
322
469
231
640
680
906
287
999
303
332
810
835
215
592
821
615
308
391
933
279
264
79
20
516
322
368
836
662
95
578
396
132
98
481
876
872
996
863
421
211
878
523
299
557
412
238
570
515
20
215
111
293
622
271
974
823
425
745
602
192
694
100
98
187
683
543
612
623
595
429
840
495
317
339
36
284
704
248
655
694
112
587
450
724
210
314
223
371
115
926
726
664
412
207
46
932
957
281
918
799
884
126
113
444
763
798
893
504
43
739
356
83
728
945
497
977
93
714
355
729
6
33
517
759
705
633
109
233
704
520
389
224
121
667
157
213
577
477
55
737
233
166
953
516
210
915
959
17
406
365
378
871
676
782
429
620
172
733
382
209
78
267
357
591
93
508
33
541
615
305
632
360
561
341
511
390
43
366
527
201
449
474
451
897
774
602
550
965
568
624
892
774
981
462
168
896
846
591
764
980
908
203
265
163
315
109
467
420
256
248
105
570
10
588
885
251
265
106
69
246
590
819
653
657
146
117
662
219
456
561
692
316
934
530
656
202
768
184
894
425
530
547
425
893
44
990
638
101
537
582
704
734
395
309
151
848
140
219
404
735
136
558
85
916
372
888
728
847
207
525
836
571
507
917
189
477
126
133
515
638
639
900
235
966
379
32
67
277
341
886
591
865
679
504
687
939
988
779
746
568
148
420
88
542
537
822
263
92
164
733
868
282
6
520
839
644
60
503
432
534
805
897
5
953
625
108
9
193
355
627
454
57
285
848
478
922
139
312
120
730
240
756
471
271
666
260
150
99
748
132
314
905
96
594
236
732
625
508
908
90
633
273
668
192
733
503
706
78
866
788
331
171
593
957
339
531
445
543
920
431
91
606
22
672
701
385
927
223
188
549
546
336
184
584
667
183
43
968
228
463
750
742
521
137
236
997
277
387
408
961
464
697
807
397
371
673
433
424
708
409
6
858
867
718
865
692
904
652
649
329
795
559
162
840
998
677
172
30
824
874
107
455
110
392
278
86
676
87
14
870
616
822
943
8
61
780
319
994
183
994
895
582
368
791
847
144
225
450
840
642
419
332
57
165
528
855
320
992
651
171
745
270
645
622
111
82
260
723
33
611
501
48
808
976
965
825
968
624
987
990
943
487
145
885
603
343
959
84
696
314
452
708
272
422
349
898
715
295
897
459
588
438
833
29
842
214
756
747
118
630
620
356
884
959
77
149
829
964
547
825
106
760
166
428
923
645
206
666
483
255
672
358
259
996
786
703
126
109
527
982
207
839
564
709
269
642
503
135
845
699
566
997
21
613
251
602
865
64
726
228
140
212
528
925
112
84
619
534
162
269
437
111
41
882
418
515
590
471
409
644
289
312
752
179
870
764
912
473
9
554
588
118
581
881
461
738
839
148
418
420
626
925
54
561
285
189
499
969
278
667
830
511
553
121
170
439
192
289
444
334
429
583
73
25
110
910
605
33
257
437
831
853
815
883
384
234
423
457
254
274
91
859
472
909
798
879
342
623
251
548
228
707
955
936
0
601
812
718
669
210
10
560
896
458
439
874
488
751
408
998
970
713
590
312
919
553
754
479
219
166
691
27
407
678
226
673
361
318
56
439
598
903
222
359
332
8
859
970
660
348
94
219
11
990
667
630
816
630
365
838
18
623
75
674
164
22
133
709
376
786
105
156
145
718
490
956
170
852
521
99
784
527
887
398
203
843
602
558
656
101
182
205
817
818
987
282
306
993
967
253
858
579
801
525
694
521
649
50
386
221
62
978
294
724
824
831
498
819
52
616
504
361
105
494
480
552
698
405
669
179
731
397
248
242
270
932
799
509
319
679
297
569
938
700
437
948
669
135
341
753
310
646
222
281
887
217
99
341
761
358
33
885
309
799
823
926
181
617
908
805
448
856
542
637
92
551
43
265
780
816
558
888
804
176
955
396
221
513
638
129
467
275
106
8
444
853
724
847
728
662
34
725
96
653
725
484
542
951
346
116
817
907
270
417
671
284
988
841
851
305
473
129
319
955
496
524
644
386
497
247
332
461
603
138
793
190
748
82
702
940
903
806
444
416
187
457
988
876
744
112
678
366
764
647
196
360
26
447
575
479
474
738
443
84
558
157
71
146
727
260
721
392
405
74
678
444
904
764
554
798
707
910
831
953
78
548
853
215
660
534
686
191
565
522
108
456
409
98
714
739
271
701
599
552
103
104
447
946
859
44
891
599
0
749
407
102
278
143
894
752
93
839
172
982
690
197
350
22
664
2
127
397
491
212
248
665
722
186
823
895
885
795
205
394
691
66
471
682
894
184
200
322
742
968
386
702
560
107
486
768
902
250
344
302
12
787
223
188
135
575
922
835
557
116
5
494
951
873
69
93
449
628
928
994
132
828
93
565
19
217
23
248
437
885
173
922
441
213
602
538
8
835
470
720
723
605
847
496
437
757
302
355
377
299
622
880
401
253
194
740
56
7
956
973
467
737
274
808
929
874
105
677
302
382
29
188
166
665
193
263
704
570
81
213
89
606
944
887
109
25
613
701
371
344
505
598
172
302
763
3
296
95
944
842
545
57
3
143
846
673
818
503
64
211
391
368
71
235
42
597
641
760
653
781
401
365
64
901
807
972
474
861
448
884
944
279
470
618
124
642
496
336
755
556
57
561
755
561
163
49
275
268
745
611
258
519
702
27
928
114
88
89
883
114
664
873
372
908
535
536
988
820
818
715
761
746
274
536
853
732
277
591
342
300
781
432
659
570
202
362
607
956
777
233
398
566
580
332
188
611
285
259
824
558
335
674
262
865
646
697
975
523
317
88
635
423
768
286
620
970
307
494
925
339
571
374
89
701
289
828
303
494
138
368
325
107
740
745
199
744
213
232
530
568
29
641
530
753
769
191
418
770
800
168
322
16
196
509
151
801
712
313
332
498
875
134
336
825
853
476
836
199
104
549
728
441
6
97
346
802
959
107
643
154
463
411
937
839
290
771
809
492
607
412
236
441
419
759
578
714
160
915
603
85
558
414
701
545
933
390
887
549
609
555
688
911
249
423
733
548
715
121
329
662
723
207
413
11
588
631
20
908
188
866
276
207
546
595
337
220
24
37
900
858
759
710
655
601
341
683
384
590
450
342
85
31
167
474
111
838
510
263
419
106
675
449
547
101
901
266
896
78
510
616
16
9
364
354
490
400
210
885
985
9
822
211
93
366
298
73
930
49
889
881
519
246
299
797
294
405
170
696
501
486
42
602
832
182
74
750
660
862
456
415
866
803
999
685
721
976
478
772
444
121
478
590
585
129
772
686
50
741
496
971
658
28
861
611
651
278
119
301
99
925
14
475
512
760
933
683
331
879
399
63
619
933
439
483
217
355
44
683
218
153
950
970
982
405
9
215
154
729
558
602
430
715
468
717
847
544
606
947
674
668
751
691
257
530
145
647
12
602
4
507
360
99
361
400
354
385
565
472
877
170
247
29
118
572
68
463
82
484
798
953
794
240
634
529
219
707
127
548
215
591
105
152
465
395
625
596
825
930
677
261
806
827
224
634
927
976
372
185
603
455
382
875
522
441
732
555
562
942
43
868
687
258
285
198
844
959
949
91
869
223
189
28
51
688
579
210
143
635
110
862
229
400
466
108
243
30
180
978
363
680
64
889
44
300
28
291
822
822
545
408
128
800
858
513
69
65
913
818
531
606
956
218
5
996
530
208
639
203
405
258
134
550
435
605
817
211
365
312
400
180
992
514
996
899
383
793
40
131
690
78
94
362
518
396
327
235
250
792
991
265
128
537
523
405
565
987
443
60
609
449
700
476
935
992
224
521
113
778
25
798
100
513
339
576
61
707
346
353
87
352
210
623
772
489
408
964
650
481
364
810
616
860
89
470
934
681
748
287
637
888
248
499
836
55
677
297
3
224
164
239
912
429
307
944
251
771
88
200
892
666
42
187
963
150
951
533
213
751
673
137
439
571
741
403
476
845
315
275
624
400
559
377
68
570
167
43
968
281
858
773
322
842
127
98
970
399
49
65
259
454
677
840
658
703
428
442
774
117
704
615
327
650
20
537
988
632
825
276
653
117
588
302
730
479
423
479
7
609
708
317
927
318
678
689
356
942
981
966
364
757
495
227
699
350
370
458
213
223
93
574
418
251
628
382
536
895
150
506
211
467
961
498
898
383
30
791
793
137
213
177
916
233
227
486
568
803
713
843
732
506
221
672
238
835
774
638
63
389
85
860
396
759
928
224
959
334
561
969
529
271
580
893
863
225
68
696
55
482
220
941
38
377
47
717
690
489
867
921
838
77
53
776
372
74
11
761
994
554
457
473
162
800
318
478
614
372
698
883
94
749
582
757
100
798
847
387
25
210
999
259
528
533
87
107
75
744
844
462
91
704
603
755
225
851
296
703
276
879
747
988
962
655
777
438
781
175
299
812
292
549
490
389
113
762
848
730
13
44
831
723
896
319
542
298
302
83
91
435
143
941
218
194
366
967
376
477
937
41
968
818
202
513
271
225
636
338
547
153
845
975
999
928
368
159
698
527
422
513
416
942
503
401
49
493
164
573
667
575
347
402
386
66
856
727
19
864
896
989
824
794
168
685
218
618
41
798
285
711
74
145
444
226
479
184
872
636
703
502
708
913
301
498
744
996
988
496
943
436
163
686
544
856
708
456
617
792
463
264
792
202
948
109
946
128
95
562
446
467
234
846
838
145
617
111
639
174
837
287
102
802
439
794
767
611
804
851
409
674
574
98
839
410
240
869
622
517
138
138
884
861
273
411
831
967
346
786
447
552
389
657
7
761
169
772
10
234
973
568
995
556
986
607
170
723
556
49
416
366
744
650
286
643
515
389
456
202
359
578
921
734
589
688
513
210
78
941
916
991
870
75
992
996
252
310
248
203
834
420
618
507
820
497
959
466
511
135
913
530
180
925
318
885
442
14
746
447
771
388
373
183
625
688
932
566
770
273
746
417
539
595
616
72
382
24
937
19
479
302
85
791
852
895
319
235
411
186
500
307
570
358
50
473
261
565
842
936
364
790
598
973
660
322
181
997
923
299
826
949
428
781
12
349
246
640
525
115
475
933
447
625
335
522
118
382
919
329
112
684
901
458
439
998
883
351
562
378
374
9
796
153
319
596
84
35
293
567
564
199
720
107
401
699
367
273
554
948
425
402
487
275
388
104
547
564
679
613
686
542
884
783
588
669
270
336
37
915
628
717
83
11
257
730
873
858
986
812
360
316
188
495
95
380
96
677
314
938
670
632
566
38
487
715
431
901
25
450
965
266
438
78
286
263
345
382
243
421
261
583
791
295
513
700
666
979
82
85
23
598
17
841
350
400
612
441
949
966
97
922
712
749
723
520
65
947
12
181
967
149
322
632
522
662
687
466
175
650
843
450
334
119
548
350
660
819
483
208
164
990
858
375
365
817
498
3
489
627
293
430
278
357
8
424
921
482
122
930
232
390
287
41
742
294
517
54
662
406
557
387
977
783
470
489
812
628
221
714
928
647
809
604
543
53
836
731
121
642
138
303
523
179
948
804
0
69
883
73
485
477
706
752
240
228
663
712
876
379
988
580
357
776
723
71
880
724
35
302
538
129
827
302
52
523
618
4
94
182
104
348
580
299
797
404
629
256
997
487
182
152
248
839
609
162
448
413
539
325
892
234
850
701
16
441
421
491
872
391
881
774
788
198
16
375
55
447
730
674
498
873
630
172
393
600
628
604
679
450
823
514
517
647
362
816
75
309
794
11
993
314
48
446
572
380
965
276
1
802
680
590
146
185
432
513
86
352
758
723
374
324
721
395
237
213
857
236
513
364
487
885
506
845
73
23
948
219
101
911
429
987
5
684
391
545
507
295
396
152
186
411
536
179
903
324
897
717
898
121
774
292
51
935
294
15
519
795
607
122
270
624
716
823
630
116
274
415
512
717
484
831
105
728
925
562
950
162
918
421
96
388
530
603
972
569
103
452
410
855
152
944
303
105
147
41
832
404
545
100
459
133
304
426
894
229
588
351
26
528
171
14
673
410
1
256
150
18
333
615
732
441
950
546
299
194
824
966
285
211
277
496
145
877
947
562
508
97
676
770
346
749
336
678
656
222
700
279
710
48
192
289
108
267
974
891
150
879
474
11
788
268
483
804
550
255
744
978
436
649
569
177
765
279
689
585
767
816
515
566
654
104
438
320
423
650
800
641
471
548
332
451
563
601
767
369
577
51
393
399
53
376
227
703
381
303
900
293
740
625
463
827
441
881
455
662
40
20
520
939
962
550
624
927
835
519
649
147
996
719
743
865
241
904
709
615
622
792
497
741
926
245
647
611
405
571
94
339
633
435
292
184
326
679
982
151
223
326
517
801
570
993
66
22
390
958
85
948
552
754
162
875
453
875
686
153
815
855
917
135
17
484
764
786
269
277
856
25
402
836
502
625
446
846
534
116
722
699
999
331
713
985
218
318
458
422
308
711
926
313
386
32
591
814
844
801
925
348
936
849
659
573
616
688
410
238
225
618
794
123
306
749
961
645
898
965
654
24
690
803
529
250
670
711
416
959
191
424
38
303
920
392
51
427
535
86
934
602
214
831
978
147
869
730
548
910
138
903
415
825
516
758
696
638
819
252
823
382
546
87
904
995
483
581
580
563
938
953
381
415
988
151
415
343
155
306
575
81
870
280
260
32
264
47
322
803
547
229
325
182
737
691
192
656
438
25
16
548
879
549
655
750
626
922
388
84
561
967
645
651
592
843
836
889
36
496
805
544
52
194
856
442
606
804
472
796
895
148
663
612
55
686
523
639
955
614
395
410
899
701
867
72
230
703
747
519
976
410
675
829
231
611
82
104
983
235
881
531
74
209
963
748
189
637
634
311
125
158
893
324
813
922
191
589
22
907
153
764
203
879
785
7
281
113
851
451
377
92
230
381
287
732
631
41
738
660
364
186
206
205
984
842
948
823
90
737
371
242
780
352
311
199
83
366
634
126
712
370
576
594
445
618
563
960
17
794
235
927
432
86
631
142
709
353
683
508
690
83
794
668
978
890
330
188
639
353
239
702
947
918
95
485
254
610
582
423
763
485
218
60
395
611
831
632
451
141
102
801
224
11
935
463
445
569
499
256
371
25
646
28
777
448
655
835
943
781
559
358
696
311
835
259
867
932
458
330
731
276
790
92
168
16
879
659
757
126
140
618
460
338
126
705
735
936
388
973
350
587
805
634
364
94
148
702
257
515
42
98
313
667
631
25
938
109
788
592
145
764
839
123
2
935
237
166
133
278
535
440
151
127
88
569
583
869
345
281
441
78
447
605
107
840
791
697
261
242
121
149
691
720
530
416
797
67
999
902
294
655
84
51
359
183
238
988
510
688
843
774
501
700
317
106
852
84
7
569
926
283
312
309
31
541
664
269
770
50
899
129
261
397
894
152
723
12
350
804
0
71
879
89
559
909
596
754
596
28
979
490
129
260
179
803
622
803
823
216
588
95
36
215
309
499
217
622
59
101
846
627
884
148
885
719
766
421
227
264
708
391
811
953
807
458
646
494
542
307
511
155
514
565
697
523
676
392
99
232
198
573
721
8
569
744
448
690
178
757
276
311
581
683
743
233
624
639
276
491
420
973
142
393
518
362
388
68
72
395
697
257
113
21
76
337
580
839
136
756
953
290
538
196
68
358
508
429
581
887
170
64
149
678
430
39
326
923
746
734
543
578
749
987
270
911
208
369
43
225
874
121
253
994
290
644
658
867
348
601
685
426
573
811
565
15
449
295
368
514
982
439
492
10
380
343
288
816
78
449
869
819
267
733
589
315
664
993
530
724
156
598
891
515
942
755
627
682
998
899
2
507
470
743
639
965
294
971
812
74
973
939
735
193
817
118
175
130
170
641
761
838
445
840
764
935
285
873
729
684
234
585
626
444
616
912
301
525
372
710
726
993
330
312
596
501
754
589
661
223
388
749
969
246
118
602
596
772
384
933
616
496
815
260
520
160
117
567
450
931
173
443
241
921
816
706
361
970
589
198
739
213
245
577
806
285
566
286
372
949
23
894
182
193
686
871
852
424
419
284
603
704
103
86
878
313
833
548
243
359
927
272
774
683
281
516
550
571
149
527
550
480
882
538
487
655
264
178
166
489
144
826
685
249
776
331
610
387
567
22
978
488
698
607
716
898
877
595
446
699
663
821
205
285
677
399
833
919
805
782
749
504
831
906
957
830
65
153
566
212
855
515
853
867
189
660
848
642
754
967
439
781
750
539
344
864
876
918
680
905
509
459
326
434
721
313
537
207
891
416
38
294
761
320
275
346
477
465
382
717
309
746
339
511
974
284
564
24
110
179
120
160
397
377
619
317
184
295
914
857
410
424
474
331
668
265
452
759
87
66
620
135
695
294
966
805
803
613
147
723
644
772
786
923
585
493
666
137
430
17
141
178
974
538
799
369
995
815
768
128
828
476
82
530
610
194
219
980
950
822
891
164
293
55
814
360
386
321
153
166
171
303
231
408
365
587
440
519
844
761
534
994
707
982
539
792
112
124
792
46
968
95
407
450
693
152
993
678
6
240
875
112
773
334
605
719
512
262
670
976
394
1
240
891
40
164
26
450
773
61
614
453
969
681
448
495
878
233
494
135
130
562
312
419
343
250
990
888
332
345
158
153
225
99
228
467
835
842
476
206
192
629
59
496
438
544
630
744
247
727
891
136
105
366
37
362
32
262
673
945
301
523
779
965
603
128
888
23
804
144
564
141
898
226
391
557
581
734
307
301
724
213
423
60
450
181
433
533
913
60
290
330
903
614
504
48
526
523
798
375
110
684
671
882
286
9
530
351
346
696
923
923
654
254
727
874
543
347
809
97
852
249
288
506
476
564
550
919
866
90
979
677
615
99
899
831
129
432
15
622
596
359
990
429
110
167
120
607
237
24
986
768
210
954
433
865
706
9
148
699
712
552
699
978
823
212
295
504
295
932
64
497
147
264
414
600
480
756
264
441
304
583
642
832
451
355
999
884
732
811
112
471
970
610
516
167
395
627
363
40
363
846
446
63
304
934
381
981
608
496
649
122
714
185
359
748
509
644
42
464
609
925
938
996
926
735
257
126
918
634
289
162
754
583
373
381
968
402
703
723
438
389
312
110
187
438
101
708
295
139
643
621
288
930
949
605
674
275
846
278
213
112
69
523
112
679
438
651
748
33
150
38
306
509
693
131
793
747
466
909
101
177
88
465
532
947
568
863
334
232
617
784
763
24
624
673
129
584
671
903
517
440
473
365
47
248
448
448
690
191
180
58
316
402
898
779
410
84
669
216
441
700
973
47
604
510
807
618
896
748
400
738
88
911
802
711
929
774
975
921
429
467
336
520
302
783
523
18
19
149
118
146
322
706
126
189
1
634
984
566
938
244
274
207
816
247
789
590
998
630
797
468
753
647
805
875
758
809
602
217
105
623
78
447
791
392
843
593
996
286
735
246
329
716
115
654
750
596
903
947
852
530
295
572
560
292
211
88
31
230
549
582
336
707
237
572
890
254
110
160
115
285
704
104
640
292
453
805
106
181
333
348
479
711
488
901
341
896
130
869
710
157
934
337
487
61
262
998
219
885
794
872
330
41
425
718
369
803
834
349
775
581
255
805
592
908
892
306
858
805
581
660
216
333
445
100
395
874
892
228
842
289
220
399
636
477
745
421
695
94
881
11
510
616
461
580
417
645
155
426
928
198
210
495
589
86
980
700
505
763
103
603
422
61
184
975
562
947
202
437
291
625
437
809
490
428
898
854
14
242
510
926
531
624
225
356
519
1
188
199
200
210
476
984
421
980
64
444
152
317
482
979
153
701
579
781
848
768
853
46
307
519
617
235
607
819
422
14
375
394
382
917
111
23
366
352
550
432
521
72
808
453
486
664
857
648
331
859
846
909
23
984
671
526
878
232
778
473
489
256
527
545
638
772
502
759
648
71
689
175
738
557
480
634
781
547
909
680
993
575
767
358
520
736
346
307
766
10
186
603
101
278
836
799
890
897
124
773
175
162
694
559
797
675
662
427
150
855
576
749
94
254
187
254
884
505
420
19
814
15
484
519
126
481
664
504
709
966
371
378
285
208
136
128
736
99
489
736
164
255
864
236
671
17
519
62
212
74
624
524
314
311
653
664
801
480
256
800
916
306
279
996
467
783
118
579
313
532
3
670
311
313
122
145
330
444
898
290
700
560
462
7
563
65
915
905
893
638
758
56
179
885
558
203
959
831
387
896
738
643
341
581
221
492
919
629
180
817
111
392
572
896
742
581
241
774
616
271
237
403
933
21
320
163
27
407
282
623
198
321
480
709
991
86
947
644
916
843
339
833
781
234
290
414
422
136
557
704
284
180
266
496
948
710
625
819
521
391
971
971
792
112
596
16
37
527
591
600
358
493
406
9
145
560
535
716
863
90
930
734
607
97
155
671
496
376
684
627
283
317
80
423
503
243
135
297
874
430
783
799
877
421
960
1
483
880
209
135
484
648
727
950
424
496
90
510
880
438
230
963
714
116
229
615
295
474
800
414
429
607
427
836
509
456
938
580
448
662
774
339
608
411
345
360
824
421
976
107
596
339
765
642
69
821
722
7
423
982
126
591
305
27
473
369
239
539
434
886
255
898
313
777
491
177
217
929
215
250
995
437
258
569
506
4
971
123
944
696
732
569
156
954
877
790
322
328
973
772
170
793
986
755
362
433
307
198
330
189
975
822
839
389
581
945
795
756
33
540
129
549
486
934
153
15
25
573
621
254
431
901
837
48
361
653
191
828
165
262
847
969
447
352
436
276
702
703
481
882
950
103
367
963
685
411
178
966
356
80
67
204
712
112
105
474
993
362
838
449
991
534
947
244
800
346
437
19
952
600
607
837
854
650
619
736
25
880
506
773
866
400
390
330
803
713
694
687
60
133
472
591
105
289
434
944
864
390
458
909
983
827
297
248
242
646
566
76
800
388
830
753
334
511
187
269
943
712
764
924
409
56
455
453
48
244
666
113
299
17
671
648
39
592
843
127
44
331
600
488
996
510
877
944
926
68
858
341
732
663
574
118
930
443
307
335
293
678
589
504
74
455
619
216
709
661
981
415
829
37
407
23
767
510
311
713
307
336
200
628
56
467
763
368
611
644
393
30
527
442
367
513
753
776
349
34
961
827
931
82
189
257
181
434
628
368
571
490
17
348
906
426
406
963
544
253
797
440
420
525
96
861
925
686
749
479
6
7
104
585
341
934
70
472
899
159
163
75
656
305
887
826
584
937
998
954
668
227
835
467
249
567
237
327
650
790
342
121
757
236
471
739
875
577
800
960
7
308
602
859
791
828
201
872
51
450
938
340
280
337
494
227
873
111
990
250
118
183
799
572
691
818
672
541
496
439
46
1
425
995
333
455
662
354
58
215
416
668
875
268
737
266
821
198
743
702
302
388
739
335
310
769
460
339
14
509
122
753
491
254
923
497
588
893
759
61
73
678
564
420
990
70
918
134
919
579
428
824
859
867
13
929
358
657
784
58
852
49
732
218
386
527
547
7
94
390
407
700
71
710
999
641
437
767
922
628
953
733
711
289
626
913
771
587
62
781
874
182
108
68
143
244
425
395
60
134
940
364
462
722
769
627
102
446
685
773
914
5
202
783
733
233
848
967
25
556
168
183
970
520
995
697
84
483
645
599
637
26
38
93
216
720
996
121
765
868
490
68
513
786
925
930
226
594
693
891
366
426
66
710
261
996
454
546
117
948
376
296
857
717
529
211
415
105
878
365
321
826
948
964
906
339
615
312
281
594
715
788
931
241
709
655
321
256
898
0
21
754
457
418
432
796
779
52
683
600
829
409
608
58
210
446
58
554
504
620
820
516
758
288
678
515
135
243
511
805
558
187
625
41
775
21
215
567
126
435
630
768
980
62
101
842
864
803
519
337
266
204
82
274
938
891
418
492
387
828
897
994
661
985
376
810
734
55
556
275
190
277
289
314
465
789
101
834
908
658
513
99
538
627
815
647
421
682
778
472
433
237
248
416
347
822
612
545
199
60
782
308
78
996
929
75
967
416
308
372
52
532
871
538
834
975
557
834
918
551
652
563
253
320
980
422
528
541
723
696
946
314
452
257
680
760
621
23
915
832
826
281
790
81
29
82
944
87
88
522
158
335
659
997
747
595
503
566
713
206
681
186
771
703
266
840
404
94
211
409
559
491
614
748
7
819
493
843
208
201
714
891
375
120
695
824
766
457
878
431
602
805
677
950
971
183
23
734
744
44
250
351
22
305
841
832
63
3
493
674
442
94
412
693
532
641
668
122
125
296
764
385
362
643
299
971
356
719
158
836
856
577
969
63
656
117
865
201
792
225
678
193
685
324
756
736
48
297
648
480
728
488
823
317
574
134
286
876
921
343
928
521
782
815
875
262
289
133
798
665
413
959
525
965
654
250
897
36
466
98
276
850
584
574
3
738
375
970
507
449
246
631
135
894
470
859
742
720
472
256
326
84
606
135
386
41
365
707
293
485
525
73
733
826
50
183
852
668
728
210
980
591
787
723
44
748
408
499
384
36
31
724
315
326
977
392
918
786
991
349
129
362
483
576
70
973
405
261
203
96
196
462
651
687
487
836
982
810
129
338
15
585
12
144
821
661
33
2
792
528
57
726
922
203
295
331
914
682
93
374
383
598
632
426
368
159
411
741
648
742
520
865
570
416
461
153
306
73
753
575
890
450
724
797
922
295
5
871
767
52
313
314
308
234
619
879
167
21
3
445
335
70
395
163
821
401
856
241
391
505
772
156
768
496
929
606
675
852
38
319
196
501
522
114
118
447
106
297
424
261
233
10
965
203
553
198
132
474
837
224
193
521
127
314
252
848
635
239
279
207
623
209
296
120
291
392
132
101
117
230
119
753
997
98
210
426
329
700
121
42
358
361
411
934
752
271
741
543
966
551
544
23
398
659
656
888
343
600
286
82
725
760
713
422
729
241
727
595
809
235
393
718
810
675
888
660
530
713
930
984
636
283
788
399
180
994
31
640
985
401
217
98
728
750
529
129
535
725
882
601
89
278
749
884
633
987
453
572
39
747
793
472
670
675
853
675
798
948
2
120
419
714
480
645
459
47
769
527
564
907
458
98
979
554
815
862
885
346
754
688
413
978
672
482
361
220
865
604
377
931
734
649
928
417
981
100
243
352
877
825
389
153
770
777
155
339
652
30
502
772
72
400
588
894
464
0
700
932
13
275
814
999
363
442
756
723
169
376
119
452
836
230
119
904
354
719
325
676
505
333
847
406
233
915
639
334
179
726
715
942
245
861
769
244
626
938
177
278
912
114
501
256
490
217
450
87
297
531
287
381
366
527
420
147
4
144
932
849
324
483
184
458
350
857
578
148
352
711
278
754
568
57
152
442
282
158
628
801
741
520
996
581
390
165
674
111
646
625
557
269
700
820
695
853
760
277
609
558
843
135
447
518
728
260
554
125
616
252
530
215
198
325
981
338
609
737
589
176
449
139
560
419
51
368
8
630
805
426
124
333
885
351
379
392
32
989
333
641
681
855
192
538
12
155
619
495
240
557
862
694
980
582
474
657
843
91
171
583
531
83
222
643
782
901
673
553
853
446
370
281
333
629
533
77
929
190
817
339
507
231
498
611
80
344
663
236
566
898
532
707
825
852
729
903
850
67
186
134
116
669
777
930
860
192
784
210
95
824
682
740
849
253
391
29
678
50
754
236
930
320
120
51
32
650
78
766
677
771
701
755
54
64
559
466
988
13
224
720
325
459
221
551
281
316
727
577
187
394
123
117
195
265
340
902
786
597
964
297
676
268
932
439
274
284
475
319
107
364
667
737
718
848
942
394
102
911
147
473
659
814
710
180
104
324
322
929
364
794
522
929
335
367
934
818
799
489
363
227
299
362
635
625
263
638
273
209
978
235
661
461
518
977
183
962
743
930
463
323
350
231
256
569
570
74
96
23
321
234
242
437
942
783
792
464
150
76
517
253
601
690
216
913
17
504
884
306
17
470
923
340
905
796
967
680
97
990
604
957
680
378
965
667
909
206
639
88
631
287
761
778
237
57
704
197
943
141
909
548
849
155
594
318
124
94
659
938
375
736
158
217
763
199
683
249
152
269
986
711
927
259
906
404
766
344
651
576
791
87
136
126
632
629
526
813
230
957
706
376
209
557
765
124
689
249
284
808
758
714
76
110
7
529
267
990
917
324
798
588
264
523
413
679
31
588
869
840
743
843
719
802
360
662
899
950
68
951
344
911
149
324
847
853
788
103
757
845
421
187
491
263
637
373
143
237
291
572
116
450
828
67
765
871
162
715
592
842
492
253
454
514
470
312
335
285
476
119
963
798
766
223
350
383
837
553
777
546
514
243
864
172
406
593
504
338
63
929
906
640
19
276
879
156
408
251
942
633
743
600
486
127
689
367
721
410
37
498
21
244
68
130
336
121
86
479
235
457
611
27
552
962
625
473
599
896
615
358
235
553
728
726
772
773
245
365
802
515
413
554
237
702
845
522
341
969
170
161
328
642
76
652
656
617
344
428
859
775
205
28
667
642
299
738
259
49
521
785
370
15
251
239
270
921
674
496
958
786
100
333
129
441
52
500
949
974
336
870
102
203
21
840
447
481
195
519
939
524
376
543
542
964
472
227
133
480
877
398
565
269
806
634
150
816
812
859
852
760
324
782
109
570
175
984
665
110
973
787
29
285
366
232
464
602
23
237
68
855
809
25
698
419
559
840
726
566
203
101
47
619
758
803
902
277
676
629
893
167
417
8
133
269
72
318
391
545
885
598
139
413
343
573
545
253
787
71
502
330
73
472
724
339
478
355
761
850
493
885
507
618
543
392
161
405
582
597
728
802
764
660
966
170
259
21
797
278
832
932
0
710
145
70
729
535
249
398
428
407
131
566
299
136
687
759
225
368
950
291
332
60
995
356
680
342
379
158
20
323
973
291
189
739
356
757
546
840
743
147
254
662
534
104
969
829
418
20
655
163
244
173
839
420
181
785
471
587
962
459
793
908
105
599
705
986
168
260
442
689
280
533
944
0
985
441
995
945
892
875
194
76
166
882
160
970
734
41
748
3
316
178
684
662
736
644
107
767
854
645
791
935
418
591
248
258
972
120
40
625
499
839
581
145
550
355
906
700
167
161
623
281
491
68
933
609
891
995
731
981
136
738
347
583
446
728
78
195
210
599
534
256
610
839
495
921
871
578
676
58
971
870
162
514
639
263
440
451
725
388
244
460
452
607
560
808
890
926
545
678
729
694
559
401
539
780
873
982
49
435
319
931
199
451
923
305
685
204
715
300
38
815
743
172
987
143
981
768
29
95
553
398
797
766
176
464
313
974
81
644
934
543
753
877
460
494
977
398
226
659
588
564
105
624
892
214
815
813
604
559
976
769
291
585
855
987
538
725
56
474
931
639
788
795
191
957
122
384
7
158
167
351
330
218
267
627
847
187
100
673
38
518
732
678
774
630
154
737
671
7
620
827
59
496
311
413
552
461
19
130
761
814
269
456
400
959
332
809
83
79
377
134
540
563
680
631
54
159
25
616
573
322
28
55
162
736
302
443
616
90
502
178
534
253
298
874
902
393
713
583
796
726
16
367
589
542
476
382
424
635
542
580
251
810
415
871
554
511
558
12
346
45
715
199
157
666
989
568
314
764
84
909
213
395
968
628
80
224
570
75
335
617
367
940
870
567
473
21
267
704
404
827
920
590
928
430
491
91
224
984
39
646
963
677
862
590
490
481
175
723
225
887
24
249
806
701
365
914
639
626
943
545
932
148
239
689
825
229
770
976
157
404
685
574
95
44
251
788
882
201
751
327
539
894
776
284
630
559
364
426
150
802
366
221
110
968
598
699
146
935
620
662
403
931
984
145
547
327
305
442
356
242
278
871
981
161
781
50
709
279
768
871
572
94
473
755
288
367
86
195
187
99
754
582
878
907
830
484
854
150
311
4
101
992
363
612
0
985
896
707
37
87
60
668
679
791
27
954
68
971
749
561
479
987
948
971
739
180
520
894
655
612
728
552
372
11
431
489
151
53
403
627
496
884
861
418
383
769
791
626
554
181
580
719
530
875
783
974
733
812
662
994
281
997
715
425
171
967
94
923
677
960
914
996
992
397
19
13
481
68
638
273
126
0
959
426
968
534
704
917
797
808
552
932
254
722
236
87
82
186
472
62
419
531
645
584
880
944
305
999
953
470
524
305
394
135
281
569
244
750
235
175
330
510
409
859
597
223
908
133
717
735
206
254
994
935
241
467
21
964
223
281
236
846
428
745
235
425
954
582
492
175
379
393
72
329
644
200
741
559
396
433
940
186
635
375
580
167
489
158
94
312
297
544
525
47
846
183
828
190
514
702
719
227
512
694
291
939
792
125
454
771
597
58
680
726
536
565
211
962
809
422
536
589
795
128
117
417
46
996
61
805
623
834
60
180
216
16
487
720
212
563
933
44
515
365
850
760
803
770
103
558
898
516
335
129
300
849
799
471
46
737
736
551
52
493
388
989
786
222
218
715
688
151
216
863
634
228
475
261
966
509
247
886
213
389
9
577
220
839
551
53
704
407
774
527
554
785
488
694
984
975
343
848
367
643
986
351
786
695
148
586
562
641
589
574
738
530
832
878
748
733
878
822
851
189
259
523
515
640
711
773
428
682
299
551
763
388
125
30
395
193
455
827
253
173
584
381
831
203
364
253
924
74
820
404
336
297
682
486
285
354
34
459
72
79
562
502
457
470
187
416
352
373
868
720
784
867
142
172
462
538
134
677
850
301
255
777
589
458
958
696
892
357
30
616
792
922
930
298
970
639
328
316
286
988
533
43
495
272
557
460
715
214
173
926
483
918
664
85
808
167
980
617
261
992
212
602
51
781
354
172
357
415
903
750
362
125
363
162
843
338
238
566
582
201
984
482
984
432
685
40
199
958
579
316
544
629
155
787
160
781
943
341
660
225
789
382
621
135
489
190
747
575
511
380
962
368
29
654
722
405
360
480
998
404
177
645
365
297
165
670
331
835
98
229
47
100
605
478
760
489
739
826
129
238
408
721
542
805
676
810
924
417
530
148
976
551
111
387
917
337
582
279
694
66
456
80
254
644
920
492
742
948
672
91
796
239
165
432
902
711
61
668
501
70
426
806
228
972
743
223
231
684
811
80
654
575
165
661
242
682
801
0
385
831
706
822
904
213
377
776
129
559
88
932
603
748
921
944
374
449
241
577
816
69
507
484
744
591
238
740
451
750
427
74
227
136
894
953
501
889
27
528
94
947
360
728
511
225
540
812
671
880
641
153
151
112
800
625
315
748
815
212
60
369
941
265
922
168
524
612
459
18
286
459
417
987
354
600
616
909
701
902
779
263
104
938
667
668
475
43
562
564
623
802
952
924
47
787
29
682
222
550
779
770
807
902
168
470
352
169
874
430
505
975
724
786
777
468
603
283
522
491
981
102
278
745
100
829
301
535
285
508
368
883
341
467
194
923
490
62
653
370
464
986
655
361
855
743
539
823
29
608
4
805
947
615
33
131
731
31
968
286
954
201
605
787
906
781
281
903
91
261
568
295
210
60
810
937
450
735
984
928
114
892
262
259
594
440
730
592
977
428
56
86
575
119
682
128
475
675
31
811
654
452
175
826
893
376
786
713
719
539
83
43
732
786
620
860
808
344
405
500
769
326
459
198
367
65
536
819
18
676
826
330
860
714
972
744
343
289
777
847
575
583
439
763
267
47
330
575
797
37
821
510
134
359
186
500
862
525
773
526
458
438
102
212
846
786
74
161
145
958
535
272
297
676
938
396
540
469
110
961
414
500
92
803
333
10
872
27
253
307
415
156
361
825
943
58
149
622
985
113
987
173
675
957
234
363
140
605
672
295
450
120
339
850
663
580
539
996
960
464
72
842
148
438
914
520
173
762
211
137
176
155
997
69
430
503
306
326
820
39
692
556
196
947
870
903
567
27
460
871
186
543
467
807
493
275
159
19
66
931
454
136
188
300
244
155
103
961
452
177
306
922
286
356
676
133
605
779
174
687
593
802
40
995
893
24
842
874
347
695
883
429
714
646
444
488
377
194
856
407
774
511
750
39
377
975
64
650
730
743
51
26
61
453
700
816
333
978
917
82
367
431
932
992
107
670
239
652
196
342
596
715
202
996
269
541
470
817
733
396
763
928
662
933
829
949
481
111
45
307
942
528
795
241
155
142
232
414
279
8
428
787
820
466
682
906
560
975
315
202
924
643
937
6
649
576
758
297
139
506
641
738
25
773
836
441
722
715
809
719
27
469
271
576
893
136
57
583
565
577
810
173
81
382
443
438
439
968
167
56
4
340
190
904
668
83
946
652
796
68
183
56
137
683
96
100
435
98
186
190
897
512
138
27
204
400
348
504
851
423
882
480
815
705
755
562
531
919
988
857
786
40
670
108
16
436
129
385
760
724
604
683
932
524
192
129
104
215
440
643
985
176
800
408
476
404
517
106
272
103
922
201
862
759
64
690
258
808
355
788
143
368
421
11
105
597
490
816
738
204
856
433
299
819
1
111
854
19
125
594
320
917
254
488
555
238
848
552
523
844
4
954
66
81
713
912
150
371
44
839
352
463
287
894
773
824
727
854
66
37
986
908
804
77
643
264
924
360
931
563
531
699
978
263
531
749
188
629
846
721
20
294
229
665
399
559
872
531
532
775
888
962
308
167
597
902
847
498
736
16
991
114
995
739
994
37
328
188
880
729
375
456
970
384
258
3
422
305
605
561
347
787
901
847
372
634
76
735
78
470
428
390
682
777
90
847
922
201
472
792
477
824
837
883
606
331
969
998
872
989
765
222
968
405
501
702
755
211
708
107
729
447
838
949
133
79
999
431
704
222
918
684
573
220
142
763
831
50
788
908
111
103
548
311
764
441
972
604
436
140
42
921
158
335
980
786
505
406
836
747
457
152
12
92
992
376
594
302
909
616
886
585
395
556
970
120
119
129
146
544
180
861
954
9
122
832
759
974
438
400
241
941
799
837
23
101
363
342
940
397
645
695
655
977
410
488
733
620
899
409
166
442
739
363
441
360
444
264
716
414
486
845
307
985
277
667
243
610
125
71
318
515
609
747
996
605
985
979
380
286
63
622
125
587
149
239
172
881
39
538
125
153
386
866
578
374
800
219
533
817
27
941
97
115
23
933
416
114
414
959
478
926
143
787
622
345
343
386
254
801
317
558
81
659
476
234
542
714
606
777
440
382
341
791
464
123
51
543
287
644
821
289
589
376
732
288
830
875
393
270
155
559
805
328
839
96
197
834
263
110
318
827
810
174
203
505
377
77
578
242
104
597
557
755
728
406
157
885
908
770
637
709
356
160
789
857
581
203
619
302
630
920
475
624
609
288
452
733
244
638
310
146
833
358
792
244
61
534
538
364
565
819
248
22
358
896
650
336
901
508
768
850
997
504
763
707
35
814
46
142
383
458
55
736
781
453
749
966
677
990
213
882
622
681
763
758
775
842
615
797
912
849
262
705
362
893
252
121
105
471
372
53
807
618
710
726
659
341
178
645
129
931
110
534
214
804
11
213
794
341
0
98
373
283
217
640
57
414
171
165
625
564
428
158
588
427
89
250
899
86
383
989
622
43
595
73
895
961
719
516
308
847
603
261
510
725
106
456
872
610
295
131
693
738
811
757
784
292
439
355
462
447
703
263
912
189
924
978
355
367
562
579
834
115
605
598
200
120
267
932
432
451
236
715
229
655
361
867
249
205
237
900
304
736
799
521
296
56
497
460
308
783
910
468
250
679
744
420
619
230
571
858
76
325
404
833
651
269
753
409
518
100
413
229
526
660
100
513
358
158
976
531
545
23
364
100
905
7
650
619
688
721
621
605
716
406
139
810
574
733
326
779
546
92
290
404
458
717
913
907
748
939
41
554
137
472
818
29
143
895
114
971
972
578
840
730
908
287
300
477
198
736
935
591
122
213
387
874
652
407
612
763
817
698
313
10
905
226
670
528
766
424
786
211
487
532
194
74
607
975
295
235
562
53
177
71
616
898
414
845
272
190
829
950
252
883
559
484
464
866
573
918
310
661
786
906
940
754
506
687
588
877
938
832
312
773
36
826
239
222
292
134
481
964
375
660
641
707
169
948
504
934
247
957
353
64
671
346
120
968
538
732
98
417
768
993
69
78
516
444
652
618
763
798
800
807
644
213
353
412
744
159
979
727
877
493
609
718
705
295
29
940
27
984
965
79
906
476
406
753
279
792
103
748
588
657
425
300
388
785
556
689
199
61
958
297
858
916
194
969
812
591
275
664
130
255
523
767
798
344
371
367
279
928
285
672
772
666
273
218
88
149
629
559
792
0
739
190
93
363
547
0
437
278
503
748
497
973
824
197
831
719
499
691
546
240
420
980
115
920
224
231
611
462
127
389
346
283
119
76
596
307
235
769
931
872
822
528
412
320
288
173
765
400
227
572
83
138
375
191
467
251
484
313
545
707
121
428
456
421
562
691
932
984
794
868
975
931
798
367
117
45
738
790
181
465
138
988
1
206
957
211
269
693
818
272
738
861
217
208
138
253
606
702
989
566
666
973
261
762
350
508
778
450
876
485
938
103
392
305
594
174
747
53
411
810
374
442
720
339
227
789
220
552
214
708
713
859
946
856
887
890
542
168
748
453
575
898
793
418
783
408
980
813
660
161
515
377
535
331
354
238
401
609
290
743
290
815
536
596
693
491
865
537
511
379
859
8
99
890
349
219
639
325
10
57
475
345
781
771
687
139
200
328
951
580
516
954
706
363
215
384
793
931
730
22
310
474
915
561
866
182
893
935
724
861
262
947
991
602
947
653
948
828
825
105
543
781
727
192
209
153
300
870
159
835
974
83
827
984
967
374
810
828
847
505
407
567
125
259
798
743
314
736
219
111
312
678
508
853
311
940
251
775
929
373
209
43
613
113
878
826
378
927
741
680
844
996
697
360
476
462
214
20
581
373
570
676
878
529
325
435
825
128
385
836
238
490
666
316
830
105
71
174
401
396
351
96
552
2
834
602
808
681
625
591
434
281
539
863
462
309
242
391
975
754
83
173
700
556
952
353
195
761
13
326
607
75
793
612
66
768
535
68
383
509
84
329
463
942
113
179
732
701
723
903
54
271
291
756
56
397
302
218
583
694
526
243
616
389
521
928
546
441
175
701
816
191
515
535
198
775
565
148
123
153
892
279
399
108
859
916
636
386
619
318
547
454
0
381
810
477
202
761
436
135
944
91
188
5
880
937
941
506
137
177
608
971
470
783
743
73
453
997
472
787
471
684
999
525
504
145
228
602
933
691
222
296
743
413
618
270
534
360
18
142
824
80
86
15
302
119
489
859
485
135
528
990
375
871
729
818
746
313
499
35
134
132
522
814
537
212
951
786
921
376
84
816
101
372
227
853
138
821
91
139
284
944
719
519
1
251
661
712
417
434
687
843
615
765
570
736
358
173
747
909
992
129
23
289
430
417
820
215
961
101
85
286
458
977
224
47
757
94
4
974
81
935
630
137
238
112
472
997
485
807
6
878
140
968
980
306
830
116
603
633
746
166
384
567
292
984
476
466
920
213
754
762
115
468
384
111
103
902
706
365
115
891
756
312
405
479
333
344
140
796
681
616
647
439
20
474
643
687
339
912
939
234
786
896
559
8
311
622
232
980
282
619
363
241
33
315
269
83
901
980
762
926
248
65
414
522
167
700
430
613
92
834
307
670
902
416
960
965
513
585
617
954
369
689
730
775
196
451
283
264
206
887
16
452
738
375
886
49
285
617
349
377
507
560
847
373
433
840
835
563
166
359
123
963
746
173
894
499
121
829
494
722
65
271
174
158
205
69
30
714
893
93
702
832
568
250
573
286
434
855
34
710
322
948
737
556
43
741
451
485
768
723
680
996
17
917
16
423
682
498
269
844
362
58
66
753
26
390
15
622
26
141
977
535
37
412
74
369
71
198
155
490
694
118
639
541
185
31
219
906
91
814
568
428
128
882
258
355
685
827
305
171
386
92
57
113
371
131
53
881
233
580
404
75
886
922
426
668
167
63
266
280
508
345
184
173
303
898
996
72
790
282
123
590
117
267
625
198
95
932
963
835
240
303
879
69
705
846
302
860
838
9
680
143
22
507
725
258
681
38
861
471
950
580
962
223
243
749
225
774
351
928
969
167
721
435
166
746
999
630
565
652
71
728
810
981
241
896
290
358
948
353
782
824
626
235
749
335
999
907
498
194
618
588
723
33
373
919
506
622
436
356
737
589
83
450
346
616
124
204
939
415
666
654
370
914
356
42
320
675
701
175
642
690
226
890
628
203
51
647
93
85
877
494
844
309
958
632
837
647
485
787
838
88
821
811
759
412
444
905
83
23
711
163
115
311
835
665
203
907
922
141
809
810
926
238
979
314
119
499
6
39
56
109
492
798
276
135
45
140
978
774
904
37
520
205
124
252
872
219
873
559
368
155
382
807
528
593
244
663
884
237
398
393
350
58
705
228
110
947
9
13
133
408
996
426
858
732
440
169
597
638
95
725
478
95
607
894
686
217
608
58
8
946
919
456
137
938
862
652
687
837
91
765
96
289
988
550
327
113
307
852
403
585
382
120
719
800
210
348
589
522
350
690
533
984
367
275
719
364
504
597
301
324
716
610
915
883
169
405
116
459
724
800
244
18
621
184
232
837
863
478
729
926
515
592
383
412
859
101
601
378
832
239
429
524
379
746
564
337
141
981
358
799
584
935
485
125
501
570
111
874
31
915
548
359
72
910
332
399
919
959
390
919
288
713
987
795
448
990
844
56
385
145
948
57
676
392
382
577
134
249
682
951
422
346
766
114
165
843
440
253
936
683
225
211
362
457
312
367
684
868
607
190
25
130
776
942
631
852
145
73
584
120
981
36
457
665
30
488
208
595
179
464
347
144
418
448
678
623
629
532
217
185
358
35
365
956
950
998
104
117
21
422
481
388
269
881
548
222
685
721
15
57
215
26
520
745
610
156
472
80
784
251
906
405
659
829
361
743
574
107
18
823
901
119
145
589
163
513
704
818
598
890
786
752
630
513
125
838
921
400
542
398
205
547
947
514
437
345
894
926
532
462
126
140
345
494
633
40
406
421
380
668
294
885
587
697
763
164
779
70
778
787
33
100
375
689
18
495
730
240
870
978
462
343
213
548
238
751
759
189
466
65
964
979
185
942
219
95
143
414
289
564
144
969
634
632
407
555
718
782
114
881
446
304
237
675
564
577
424
173
820
33
222
520
14
700
55
317
380
725
288
605
491
265
479
484
684
771
492
433
854
90
249
693
73
46
661
12
353
279
299
210
267
803
442
460
231
452
55
497
457
9
571
744
288
224
111
263
605
25
977
665
479
480
201
921
557
174
370
731
853
888
753
486
665
520
175
10
229
251
203
178
148
661
327
257
804
132
734
490
974
721
649
465
874
303
98
826
111
166
330
43
206
351
247
958
943
973
623
560
235
612
847
610
486
38
818
494
379
727
553
832
109
11
748
559
974
300
239
614
141
785
398
658
171
666
793
117
553
377
87
473
282
758
744
726
878
116
252
121
879
490
274
642
878
841
793
355
699
952
581
960
579
324
654
587
918
511
989
523
565
353
569
656
118
811
149
847
546
761
361
142
951
778
826
184
874
858
785
388
54
910
322
877
31
316
513
424
65
924
5
358
986
269
54
730
128
36
877
176
668
84
598
268
473
21
795
1
121
527
741
744
186
989
450
322
446
261
204
371
933
651
123
946
783
651
555
677
736
224
634
665
783
754
377
566
774
595
381
632
6
469
960
357
257
185
938
448
398
994
158
819
874
470
562
905
451
129
109
672
48
691
216
662
4
651
220
519
166
424
949
684
851
199
779
995
268
990
473
173
503
803
345
241
55
809
163
851
453
859
305
360
736
304
737
310
501
970
24
266
520
24
89
97
542
346
837
39
561
595
888
967
988
613
821
801
83
596
653
955
442
135
921
101
333
274
557
152
230
463
198
233
449
232
167
832
695
666
54
361
114
483
600
846
519
663
40
248
87
890
282
79
626
383
106
324
855
713
75
583
740
781
573
154
668
624
528
809
506
137
751
891
910
131
698
54
633
678
809
841
650
752
706
567
862
884
639
886
127
637
26
431
948
444
336
813
810
64
877
349
702
916
341
559
129
731
91
143
223
315
286
691
916
701
55
308
92
596
764
847
88
689
631
718
790
596
875
236
671
363
743
903
852
81
94
284
97
981
853
598
823
634
75
734
910
228
56
344
246
731
697
886
772
886
510
377
876
285
577
966
856
596
223
155
535
886
931
664
506
445
465
395
551
915
708
539
545
667
120
553
90
733
291
898
122
943
831
824
21
496
517
351
594
37
928
653
191
737
342
569
531
594
571
44
298
942
564
784
528
981
943
669
256
742
506
318
846
500
39
718
910
848
896
678
938
803
270
409
266
975
881
957
104
528
592
219
820
869
961
154
874
601
186
735
49
306
686
393
256
329
886
214
859
140
417
174
764
855
92
628
321
430
139
62
676
583
622
290
708
541
417
855
784
154
52
335
116
698
644
955
510
530
913
923
963
884
815
115
495
119
920
672
326
59
93
628
887
75
629
22
600
429
722
725
881
987
682
875
513
158
177
699
238
418
951
753
723
229
844
307
311
992
415
212
544
383
753
33
307
564
976
839
50
608
217
798
143
654
904
965
659
441
44
641
675
142
425
720
121
461
428
318
840
980
479
793
757
492
829
371
85
240
682
915
2
944
858
286
99
170
425
549
279
110
278
712
351
879
168
97
168
733
270
924
680
671
872
690
585
171
658
747
980
519
904
76
563
623
96
708
867
114
105
9
540
781
952
91
201
584
200
463
62
767
578
168
563
324
770
191
857
949
287
448
745
45
368
260
829
564
747
662
984
95
885
161
594
381
875
601
865
590
251
751
501
920
585
748
123
849
743
650
752
256
532
813
747
893
992
896
284
5
872
81
523
772
910
806
400
752
831
426
484
916
440
47
956
916
856
624
860
609
787
535
945
509
292
547
388
759
466
341
318
597
15
405
18
847
588
161
451
616
20
306
581
490
814
18
430
127
171
764
835
359
671
720
309
830
289
565
773
892
697
88
105
675
129
982
378
681
927
499
48
226
808
52
306
472
864
355
430
60
719
761
797
28
589
196
366
131
472
129
338
820
409
172
660
180
837
610
155
371
120
152
644
419
590
777
213
556
509
465
62
785
348
694
993
540
55
946
231
491
391
173
544
375
881
371
72
0
703
883
573
688
695
982
593
942
930
11
902
657
634
139
498
867
583
223
745
70
111
108
657
657
545
578
513
164
79
289
169
676
973
354
302
423
401
484
72
710
348
773
824
170
108
16
423
440
619
835
382
527
907
696
478
887
849
98
57
26
622
837
975
332
158
606
338
818
650
542
602
925
175
695
867
506
613
653
233
401
324
291
521
975
658
285
264
618
812
354
104
869
351
63
722
89
727
450
248
647
643
498
637
665
686
166
321
970
471
277
769
262
946
224
847
957
861
177
871
289
108
629
113
668
590
50
820
666
737
686
820
748
72
308
516
614
884
755
927
34
105
420
200
504
863
850
934
254
173
47
556
562
974
367
321
882
421
571
756
407
899
544
307
348
796
320
599
902
224
958
769
593
658
550
587
570
733
320
735
774
713
832
78
16
66
344
643
724
761
311
966
657
527
923
342
224
39
717
182
904
21
393
168
157
865
116
724
165
337
253
963
465
934
758
46
313
634
832
907
474
737
660
568
808
470
311
59
38
179
140
207
584
271
832
706
124
230
460
993
957
398
371
528
634
681
236
154
709
996
923
33
137
436
862
535
883
663
952
846
235
428
689
362
879
536
630
995
632
592
237
145
317
197
396
640
157
389
934
705
981
424
442
719
446
186
237
834
194
122
694
125
113
911
471
852
100
581
113
948
610
282
630
344
537
458
151
46
363
988
577
795
821
978
416
758
606
472
384
748
275
371
716
629
200
41
299
784
131
167
890
418
538
145
666
267
46
439
896
297
178
861
391
348
331
790
698
618
736
425
190
295
406
488
219
357
337
923
504
735
121
94
275
401
714
586
346
861
112
925
860
818
614
916
965
252
438
303
904
513
463
551
34
988
934
2
223
462
530
907
186
224
995
58
392
858
824
313
284
147
466
711
488
288
360
918
843
300
102
79
739
686
215
174
601
207
475
92
566
556
62
872
643
388
88
839
366
382
667
785
90
618
66
277
554
532
428
483
738
903
172
591
289
817
576
678
527
531
644
149
609
135
967
661
490
455
314
794
801
512
784
789
928
939
800
69
734
508
169
687
172
395
591
956
406
226
879
940
183
700
333
335
575
832
646
622
255
358
367
554
738
733
198
939
398
382
484
869
877
285
982
139
502
799
456
128
474
821
748
69
260
229
866
815
456
709
660
848
838
965
70
138
469
567
274
352
291
919
221
746
768
857
811
416
136
791
488
951
212
631
191
364
614
329
661
366
16
531
449
216
965
111
281
277
915
962
874
160
14
676
349
73
411
618
781
605
615
17
979
872
336
944
528
400
166
503
324
382
283
15
710
550
741
743
262
909
275
918
236
263
447
607
477
565
842
63
220
323
51
65
56
302
156
427
217
693
830
920
904
390
955
446
721
811
368
521
226
857
421
641
150
406
242
643
255
36
89
248
199
352
771
367
876
756
578
73
830
288
471
280
889
523
383
508
57
490
370
96
308
222
962
691
621
135
226
724
613
172
84
165
980
85
596
722
273
819
630
101
142
588
387
578
845
735
89
147
462
433
177
700
870
166
267
544
208
191
539
92
774
681
635
253
450
493
102
638
904
535
530
463
876
743
714
957
882
218
367
134
390
124
728
641
10
109
986
257
711
73
512
140
774
975
814
271
672
108
995
751
118
297
441
826
481
717
566
758
76
590
630
178
940
239
18
824
403
110
930
725
270
668
780
43
551
957
74
820
511
894
245
305
27
370
725
727
933
217
163
46
196
670
601
498
696
265
742
309
315
59
591
693
292
42
94
302
533
408
961
24
588
862
496
889
831
295
327
298
993
82
280
29
256
32
345
993
802
416
200
192
777
497
533
409
897
502
928
666
496
859
152
511
99
586
289
323
133
60
823
534
754
391
29
779
380
429
670
843
695
461
63
425
434
916
815
634
527
444
288
67
962
970
910
796
668
133
407
89
151
467
903
832
758
842
976
366
933
452
251
454
985
368
805
217
352
220
635
719
878
260
151
646
881
933
542
91
553
266
81
66
475
447
238
62
51
963
837
837
109
862
45
636
502
581
507
695
785
324
304
207
611
181
155
294
409
566
786
253
66
105
707
930
26
839
798
644
189
678
698
672
704
35
688
54
226
189
774
376
54
620
74
673
778
243
171
285
651
221
665
47
258
732
645
352
644
397
924
813
224
842
448
320
193
602
29
99
4
231
801
964
485
467
684
441
271
951
235
763
100
892
882
539
904
989
140
35
24
800
424
36
1
561
613
847
162
406
597
257
954
126
153
952
197
434
472
373
383
160
799
620
420
152
325
747
998
671
979
534
824
315
726
846
350
536
852
826
227
916
467
233
516
663
901
988
794
120
458
501
85
986
900
149
45
918
797
613
142
166
887
786
455
679
986
852
596
472
268
291
894
668
346
582
177
115
389
717
268
388
92
474
362
604
403
251
542
948
140
589
211
450
832
607
317
345
402
745
265
353
73
166
464
343
623
608
936
934
65
775
86
242
189
91
269
350
947
366
618
997
405
814
247
592
972
175
440
528
563
464
184
145
864
577
408
464
586
516
266
891
820
126
72
212
711
830
172
677
198
942
300
374
706
252
900
142
13
450
689
65
279
57
343
548
439
603
71
381
559
603
982
428
174
835
632
312
609
218
600
489
32
749
200
53
924
379
622
878
91
151
404
842
962
790
986
748
442
150
493
607
794
111
230
244
960
443
688
936
923
557
586
163
42
336
648
60
404
703
828
738
266
803
59
163
844
659
570
970
485
246
315
0
598
91
147
718
361
442
338
291
853
543
678
925
17
975
263
917
913
278
644
461
143
350
17
247
684
953
329
867
798
700
2
811
582
200
960
645
648
328
427
489
821
824
325
93
59
130
128
483
335
814
464
649
766
287
632
696
826
635
164
127
204
714
695
419
454
222
717
670
844
652
662
491
395
843
864
299
419
536
939
842
631
715
378
197
280
977
857
506
851
617
515
878
652
572
249
659
950
480
817
271
309
861
813
399
910
20
663
468
287
905
497
565
635
575
856
886
688
988
940
914
112
720
146
633
367
137
269
596
301
535
707
793
970
205
903
291
90
737
874
395
220
129
798
283
981
247
744
291
392
20
582
843
962
685
836
909
222
688
580
731
682
251
288
221
838
416
501
349
19
258
994
62
900
356
653
773
704
580
62
511
472
162
346
635
473
520
544
744
62
263
729
262
348
308
532
235
715
985
480
193
0
257
543
657
919
626
375
930
761
850
95
458
557
271
216
340
809
311
828
236
221
188
83
579
732
954
383
856
996
923
253
913
71
471
239
868
659
131
870
605
110
552
77
651
181
859
652
572
836
834
908
333
404
75
29
519
936
771
671
139
354
148
156
979
849
418
415
775
313
213
830
716
326
212
177
593
435
22
355
653
631
513
936
51
616
990
177
113
866
630
371
528
161
814
771
199
584
948
353
394
448
340
60
4
67
702
989
529
373
610
37
245
379
182
187
53
646
432
821
681
623
96
180
882
296
268
269
564
905
236
418
408
437
546
257
396
288
719
910
836
606
304
265
742
560
77
550
340
373
671
808
153
827
573
327
971
476
553
721
115
759
89
497
789
255
265
274
895
590
416
422
727
168
521
414
261
921
961
449
72
823
386
89
449
61
968
188
107
286
563
966
588
553
687
144
784
874
963
649
582
345
640
750
487
800
323
283
283
427
708
212
443
977
324
710
484
736
906
810
138
293
295
442
580
620
1
981
736
985
497
832
740
752
104
911
616
931
608
48
703
454
46
465
395
257
440
864
552
298
137
647
777
488
519
861
579
683
459
887
861
471
556
633
876
428
730
328
794
728
721
164
102
61
135
702
869
773
516
59
756
798
913
879
866
61
916
126
55
405
511
377
767
536
859
893
179
499
191
454
62
325
161
744
734
72
460
212
352
733
751
525
523
510
905
804
999
206
315
728
805
820
778
448
683
638
732
651
782
376
155
234
228
770
375
595
28
614
780
991
785
284
121
503
838
132
666
307
360
74
248
303
897
374
15
519
149
112
79
234
634
885
150
719
104
431
698
528
572
814
843
737
903
634
517
875
339
598
27
92
767
374
438
100
126
994
529
454
296
578
555
336
147
431
753
228
173
970
511
30
356
380
623
361
883
907
321
635
387
625
445
337
880
410
290
235
532
167
878
766
665
379
802
798
767
965
341
195
633
118
707
329
39
43
519
151
97
663
710
156
137
794
513
95
435
183
428
304
317
395
728
58
762
758
598
837
997
888
66
518
163
740
196
47
364
418
24
454
150
962
848
161
855
217
596
730
399
29
835
698
36
865
692
802
713
134
925
598
193
561
738
401
400
228
76
777
577
178
364
421
227
513
196
99
907
714
996
448
119
518
283
586
648
514
904
764
348
651
152
633
611
488
91
733
462
821
352
827
83
790
301
885
3
483
134
525
93
631
515
799
875
145
876
500
457
283
682
726
405
835
298
336
754
407
579
560
107
615
521
156
215
900
215
791
744
398
491
679
479
991
576
677
624
208
536
680
235
995
138
62
347
961
212
963
221
664
65
804
144
77
382
739
440
293
348
995
144
678
518
506
292
358
872
731
664
713
310
470
586
925
566
307
24
639
406
494
119
355
128
101
189
94
161
705
346
885
525
39
935
173
715
82
942
112
343
258
695
744
795
990
980
412
969
570
382
974
379
934
946
109
550
647
286
105
905
383
454
732
716
794
62
394
871
360
433
990
338
817
421
798
810
308
819
600
261
356
966
623
68
318
590
751
962
744
232
796
455
621
913
395
25
922
296
669
145
932
753
509
887
951
231
381
555
22
67
670
971
179
245
792
684
765
602
829
472
595
383
86
994
686
949
63
729
395
932
46
888
114
464
98
228
616
176
815
48
293
324
395
848
911
938
110
627
234
891
431
698
128
502
180
888
730
983
702
594
978
469
357
144
629
243
709
451
676
670
349
333
819
360
403
487
553
654
794
885
722
606
836
279
554
304
904
523
238
691
428
830
50
269
793
173
5
912
786
685
57
681
998
418
330
466
911
948
742
700
47
254
676
639
151
197
209
959
861
141
452
704
321
910
667
512
841
698
959
3
102
874
471
645
126
483
145
744
458
540
865
163
766
468
194
130
557
641
662
853
101
904
815
535
257
757
883
722
261
346
842
268
56
65
455
444
920
774
184
834
728
119
738
328
974
383
925
555
838
801
450
918
510
121
688
970
645
876
37
894
932
905
806
658
44
446
406
86
212
8
174
693
79
220
881
797
193
842
8
496
13
119
185
765
946
43
563
850
860
694
918
313
983
508
564
695
599
553
486
945
876
882
289
356
576
491
300
426
807
384
232
725
20
565
187
264
46
326
230
853
607
819
251
773
764
760
977
540
561
386
517
148
852
84
145
738
181
2
360
582
389
774
556
735
828
30
793
270
293
488
980
770
669
687
208
785
596
42
790
813
768
820
637
264
116
72
615
757
712
86
83
848
213
851
853
83
151
475
282
442
223
561
363
799
534
346
843
10
778
838
38
651
662
799
134
726
152
673
388
10
259
578
504
125
79
722
823
734
216
421
96
253
218
628
1
13
44
492
552
824
241
305
754
245
392
827
589
837
171
631
63
946
619
331
506
893
338
69
479
583
178
675
571
454
144
288
640
457
769
996
114
424
414
585
613
456
992
357
352
716
429
662
268
313
77
870
96
362
463
546
993
632
59
533
875
359
216
911
848
93
502
199
188
748
258
370
514
519
666
159
864
114
786
258
100
150
142
911
496
121
543
340
364
536
780
330
107
835
648
182
940
372
340
755
869
340
880
569
534
899
174
546
156
882
823
804
956
879
299
213
389
394
334
260
351
296
173
859
241
268
122
436
451
487
387
104
172
464
935
307
275
848
130
821
533
123
939
233
345
854
240
700
353
477
12
194
605
474
204
934
915
424
199
921
408
503
597
143
607
415
415
489
677
7
82
650
291
187
198
302
100
781
722
451
836
466
547
182
416
7
993
313
408
104
828
64
914
635
800
684
432
710
456
890
663
99
662
953
734
189
816
273
412
164
522
354
479
412
494
796
764
663
812
419
595
831
526
252
58
618
808
911
736
842
257
505
574
157
654
781
229
391
785
495
273
227
67
310
428
694
942
686
263
280
440
305
113
200
246
927
718
575
995
311
426
586
114
958
384
401
203
183
861
807
907
872
178
514
306
799
818
486
750
838
582
105
318
61
918
130
318
432
668
879
226
629
723
141
182
108
643
680
298
864
0
522
142
238
88
976
212
137
855
483
44
581
471
171
920
249
510
367
858
190
380
447
758
279
646
393
125
821
943
96
241
210
2
251
338
306
430
791
906
68
594
809
754
129
449
697
867
796
250
575
476
484
302
394
547
176
438
860
264
155
573
29
893
218
950
417
565
837
178
250
619
664
327
586
334
145
488
494
783
857
312
669
732
851
454
491
467
974
885
151
956
601
621
945
157
642
734
513
719
703
183
148
533
77
712
178
829
333
112
163
233
202
964
545
61
710
423
303
958
304
790
957
538
268
606
432
125
854
263
882
933
724
493
578
533
728
35
836
171
956
646
771
60
351
379
522
312
660
818
651
357
973
355
44
299
343
243
644
929
372
693
488
706
217
484
978
903
870
15
223
820
492
41
154
901
270
630
555
685
556
762
132
502
99
788
187
91
756
900
755
645
748
786
199
59
246
574
333
660
525
239
533
526
365
709
938
582
832
508
835
977
892
77
437
554
186
721
378
756
173
317
818
848
656
658
112
365
103
60
403
248
852
75
394
878
282
31
619
254
469
449
903
844
497
583
362
492
556
420
587
897
799
970
889
669
822
581
603
158
506
643
726
995
281
70
848
433
830
903
38
120
848
483
540
60
879
866
327
56
715
287
55
15
809
635
366
692
213
370
916
409
505
851
39
669
437
392
788
537
252
676
327
443
380
273
879
460
497
812
107
229
816
16
303
935
740
848
155
342
447
270
614
537
169
141
520
916
751
137
915
431
851
926
910
666
8
388
178
682
807
706
250
479
543
969
547
399
818
778
302
657
185
702
55
570
89
375
185
379
635
875
552
460
599
452
604
111
271
924
528
211
76
860
270
989
274
316
741
96
819
18
46
432
988
52
906
33
631
999
861
989
973
845
499
915
969
494
321
641
851
695
480
324
317
433
183
454
362
87
13
959
60
908
645
12
104
570
935
143
577
336
275
455
748
483
857
385
682
429
428
866
680
180
683
352
91
898
873
595
707
298
267
274
492
684
450
797
290
500
171
992
943
364
569
77
474
287
371
101
530
241
75
856
414
935
329
93
972
902
477
110
833
180
980
727
192
965
703
209
685
35
401
844
441
174
539
914
981
621
743
677
124
44
296
847
419
745
872
437
938
202
556
972
817
466
783
721
932
239
940
474
512
6
55
335
415
85
597
487
234
948
525
686
264
489
909
917
32
875
781
981
662
588
405
862
176
33
643
34
95
32
395
431
206
491
229
711
112
858
940
894
501
140
605
211
799
577
562
330
56
286
361
935
760
565
272
867
400
402
670
151
48
544
968
85
135
517
468
111
881
820
266
313
632
37
889
909
588
617
21
31
446
385
474
298
602
593
211
991
605
722
684
750
29
633
511
55
388
960
557
766
187
248
224
321
450
833
156
227
543
252
691
951
966
56
158
567
318
533
40
424
113
351
620
828
29
228
520
198
900
98
806
256
284
455
786
42
202
204
804
727
241
356
819
394
284
409
475
475
614
17
910
926
171
413
656
388
946
552
336
303
282
228
872
647
718
623
345
418
252
156
441
195
888
878
76
760
980
918
67
715
611
591
516
649
271
785
54
768
3
294
971
500
724
311
385
196
691
136
700
61
308
868
343
916
177
15
926
705
383
214
329
461
503
490
756
726
165
68
492
761
829
336
812
289
530
390
787
895
664
0
709
356
207
752
477
737
511
330
434
335
143
339
783
815
203
368
805
694
26
226
460
968
906
134
395
148
414
632
959
137
978
844
239
498
899
819
909
258
367
8
575
536
218
707
25
669
138
778
64
384
654
136
416
438
99
472
108
184
372
319
66
192
843
959
862
946
780
412
957
85
578
163
291
893
718
97
876
210
522
427
383
619
228
604
278
861
399
390
641
624
747
116
408
328
301
145
634
28
354
330
789
431
394
790
577
832
238
470
878
182
492
123
457
805
264
936
109
205
174
716
140
676
536
720
240
61
512
37
30
180
101
803
579
39
963
810
731
384
252
230
980
988
259
186
282
168
819
833
281
143
40
994
462
849
562
771
200
929
394
379
38
474
718
363
276
569
145
262
250
661
806
211
953
723
761
281
852
639
371
504
846
188
731
602
82
203
88
829
120
988
523
603
900
915
538
583
946
230
590
653
961
635
920
236
21
220
838
694
394
195
284
478
902
468
174
757
885
178
275
949
550
741
655
875
795
269
955
774
940
288
577
436
991
713
470
121
296
213
285
121
441
806
467
507
845
715
961
397
985
760
306
677
666
934
351
370
241
757
496
59
981
38
115
724
469
163
522
350
16
501
164
914
456
274
481
800
180
645
878
853
130
321
654
140
749
487
546
92
862
678
292
49
6
193
944
79
720
973
3
347
765
216
105
406
743
502
193
213
9
445
809
35
139
266
348
519
957
253
900
260
216
388
900
874
66
86
358
22
760
194
103
530
424
69
740
582
368
295
834
449
620
402
693
574
362
818
690
772
83
541
516
319
89
573
173
75
258
186
999
657
453
704
615
361
533
891
394
618
720
15
907
959
189
307
777
297
725
73
600
213
65
914
761
453
592
655
299
703
924
597
124
772
45
864
152
226
886
693
326
282
382
473
876
854
937
897
433
761
283
41
54
680
963
86
842
567
458
963
802
954
33
6
267
181
62
54
395
372
799
993
133
384
43
400
576
16
148
577
215
723
940
105
797
538
214
168
423
118
904
231
591
201
136
991
374
833
240
669
712
386
249
441
969
584
696
793
74
941
686
174
981
34
857
815
485
154
236
86
142
180
173
208
608
526
973
216
234
450
913
832
787
987
338
9
481
859
913
856
399
492
21
450
239
23
125
47
677
909
696
419
437
288
821
451
277
655
769
465
681
225
372
270
994
451
719
725
172
873
449
726
403
218
635
206
878
69
779
180
720
157
105
14
288
682
700
341
323
629
951
796
910
776
153
251
816
400
171
553
327
97
850
203
677
555
757
602
243
677
356
134
342
301
714
205
807
148
875
313
247
504
193
912
255
655
217
754
487
689
795
570
648
397
835
796
529
391
240
62
794
960
691
640
486
157
355
243
443
511
614
24
945
487
466
17
791
692
622
254
137
799
33
359
493
811
307
810
535
221
284
811
790
909
520
607
311
813
429
345
862
567
606
625
423
391
251
173
518
811
10
415
241
89
227
469
760
710
149
609
984
579
263
250
327
88
977
271
4
399
223
151
500
498
370
521
413
132
861
173
818
264
243
698
78
888
996
798
480
810
986
388
895
570
700
408
813
924
377
59
873
587
874
769
185
479
579
937
326
346
184
597
328
910
43
262
227
621
432
884
854
91
911
67
302
140
949
82
464
168
371
157
168
467
460
137
258
210
593
991
932
181
9
671
910
324
846
746
290
881
59
312
924
654
895
362
589
352
73
304
512
298
212
457
6
202
674
911
84
302
280
681
710
833
189
179
45
800
582
543
815
792
455
449
947
921
373
253
409
52
853
496
426
726
999
71
317
959
320
819
410
542
845
151
758
866
668
320
821
456
494
424
575
577
778
209
23
893
514
299
976
509
630
79
961
317
909
310
178
82
19
915
892
967
424
400
11
713
492
569
788
20
386
72
642
981
253
312
777
500
398
817
417
935
898
712
438
246
303
395
46
424
804
458
687
310
168
278
904
561
3
676
927
716
228
659
137
566
803
858
304
451
230
748
87
341
508
637
882
126
954
388
467
810
55
389
800
499
577
572
548
119
940
833
736
593
972
615
411
569
988
363
382
296
10
761
802
531
542
944
500
980
760
343
340
744
327
905
354
321
492
405
159
78
386
269
45
829
925
525
807
571
1
836
301
911
390
297
64
359
622
142
169
218
86
990
50
19
680
884
622
549
455
970
921
674
930
332
382
733
858
292
948
807
239
734
535
709
539
454
278
906
911
501
11
128
493
80
63
274
769
306
377
200
45
515
603
203
510
718
878
521
902
657
196
195
271
243
870
307
209
676
768
288
351
584
131
110
678
819
443
562
268
345
989
207
861
221
660
457
673
635
901
941
509
958
548
52
935
312
985
884
404
701
596
47
648
685
688
469
605
312
849
899
745
858
299
69
132
350
648
342
340
844
157
63
482
930
120
194
838
809
900
366
724
567
507
914
497
551
665
65
216
264
253
10
181
641
534
117
139
188
508
418
969
66
165
87
207
84
115
439
415
393
207
363
83
647
36
920
624
731
248
71
751
751
829
538
636
372
472
541
943
175
109
18
5
475
101
606
893
873
677
819
484
656
590
579
876
26
729
55
151
383
441
117
180
361
916
772
460
415
3
267
843
863
50
648
937
846
438
382
875
51
287
506
202
466
932
257
817
594
159
208
612
266
382
20
237
281
645
160
630
884
678
391
764
478
812
973
871
542
564
890
537
690
983
188
72
723
73
103
764
931
731
858
53
217
131
618
634
69
884
405
105
328
274
344
942
163
653
116
514
215
331
907
931
704
809
406
933
351
96
751
684
5
869
674
345
847
876
464
555
681
228
482
5
939
984
702
958
358
553
794
603
714
276
257
352
941
886
214
223
691
830
43
527
709
927
403
576
620
612
267
360
68
537
955
127
536
435
876
217
75
408
909
86
949
282
710
175
797
170
752
455
432
769
997
915
67
271
39
984
967
95
530
990
898
381
681
978
147
514
344
179
30
664
42
45
561
429
441
390
281
127
346
553
835
570
554
549
767
582
842
87
484
179
531
542
931
645
307
859
620
512
252
653
121
874
432
761
606
684
132
682
843
936
965
380
922
604
120
686
258
443
354
730
383
615
172
1
695
244
523
136
419
356
6
644
12
711
481
48
565
328
1
239
303
195
267
725
115
524
447
598
953
386
361
692
357
273
825
142
506
717
524
613
691
145
199
799
498
144
533
968
563
590
785
445
139
332
626
389
25
39
408
228
296
152
873
732
963
393
884
762
300
550
566
640
25
460
886
363
503
503
199
380
188
213
597
622
97
507
664
932
632
161
349
590
695
654
922
581
483
754
897
551
306
749
166
46
850
49
171
871
608
600
552
635
289
994
584
465
868
851
239
495
101
617
298
863
439
349
802
964
954
423
164
962
906
404
201
463
494
183
429
556
342
201
407
196
796
363
879
239
86
681
755
82
631
703
540
518
499
789
107
386
756
171
262
537
458
228
395
538
636
457
577
454
717
397
247
509
695
582
461
523
390
892
688
489
993
835
890
505
541
525
70
933
323
382
414
44
353
74
406
201
117
322
272
191
535
706
369
768
27
708
404
508
185
721
576
383
440
67
732
651
980
652
331
652
187
370
147
803
270
548
297
191
452
277
743
218
176
865
250
237
53
528
181
666
877
707
765
137
289
27
582
249
875
583
265
17
929
667
942
673
755
868
140
642
811
709
445
376
226
632
179
634
791
306
229
373
335
200
85
429
724
829
829
954
284
504
633
328
974
943
274
552
595
606
775
277
667
13
834
387
663
255
948
355
271
320
138
366
140
609
808
421
372
12
953
844
481
41
498
600
197
970
176
641
981
481
326
193
74
559
825
194
647
543
826
805
187
732
860
722
488
11
442
227
427
824
768
622
233
939
536
806
33
685
914
305
380
521
178
963
623
504
633
752
8
570
755
72
800
784
908
759
340
909
528
446
718
78
151
882
818
492
54
335
376
511
696
364
614
66
640
351
488
51
708
346
967
258
616
901
938
137
477
723
0
829
935
729
964
272
206
984
547
681
673
408
523
734
433
362
270
751
654
441
497
114
363
447
535
749
57
755
883
373
834
693
142
497
493
998
612
670
191
636
906
236
745
707
100
678
608
968
476
554
211
3
970
262
89
916
324
381
42
997
628
946
904
966
535
578
390
439
662
4
837
961
293
651
654
934
611
834
596
307
295
242
826
721
269
614
508
281
883
853
817
287
136
408
205
663
415
310
73
385
80
646
616
470
20
438
600
153
555
732
693
899
16
88
595
797
110
740
813
308
97
533
910
165
424
49
932
113
272
791
927
651
889
573
540
38
589
188
325
466
917
102
693
456
652
611
314
299
402
766
457
640
752
896
431
307
835
428
367
96
1
716
897
29
271
228
74
156
892
611
577
593
995
290
227
903
273
869
967
598
160
371
418
101
97
138
70
34
658
23
550
66
633
731
768
339
586
797
218
563
663
520
287
716
109
719
840
381
206
388
608
174
71
898
244
777
399
867
630
709
825
492
591
586
253
88
793
513
569
3
843
566
284
567
196
40
95
813
795
734
78
937
276
341
605
653
647
157
658
182
749
761
393
678
608
77
833
246
446
134
773
818
750
272
519
208
327
396
228
601
797
229
53
112
637
409
418
178
535
655
2
314
251
585
786
74
412
33
274
652
959
184
582
904
519
563
854
615
331
121
894
363
335
173
891
717
714
655
776
433
605
493
806
60
374
845
255
504
19
357
675
992
525
269
541
241
422
196
759
166
912
801
327
236
226
366
644
389
617
122
991
99
991
72
398
574
576
817
349
250
442
948
141
856
902
832
802
661
695
204
958
453
572
13
509
234
466
204
464
911
628
297
265
171
519
11
968
343
409
499
787
600
250
770
875
331
820
287
963
613
85
815
352
665
60
378
583
838
807
656
18
606
53
393
76
814
907
37
323
766
648
757
212
224
645
208
508
151
152
862
512
7
632
372
615
485
481
332
699
458
716
947
422
394
752
673
412
483
30
535
487
621
944
247
904
490
482
608
961
294
972
925
179
105
828
184
440
600
84
586
755
466
83
920
121
249
136
119
50
261
721
613
642
916
658
642
319
864
643
65
414
884
25
596
644
614
972
916
562
65
508
647
128
197
883
368
241
61
723
503
810
782
404
955
693
21
323
76
81
308
585
301
96
257
998
234
224
204
10
915
559
421
19
52
758
680
580
546
11
179
407
310
363
717
463
684
497
895
986
986
802
46
68
638
358
702
919
39
421
149
886
682
453
437
12
817
670
746
912
14
385
168
849
406
989
487
177
810
576
894
862
495
543
261
825
78
550
612
923
274
814
482
323
867
275
779
108
53
628
524
15
651
397
515
922
713
848
35
863
792
572
903
216
971
990
297
612
821
705
924
237
749
109
881
139
791
345
900
798
958
602
712
230
93
431
532
535
955
560
660
59
184
570
766
291
886
980
999
131
354
841
703
411
250
580
963
980
978
596
608
533
520
485
753
759
141
390
45
570
127
92
199
424
401
589
616
966
916
807
775
611
985
329
522
587
803
733
922
82
221
470
299
629
509
241
331
432
991
100
345
538
80
375
372
395
974
244
213
64
943
959
71
969
341
58
66
358
950
322
439
438
542
217
601
354
22
844
178
850
358
235
882
526
282
250
165
332
759
750
683
638
167
314
842
331
526
332
751
984
961
595
495
461
891
179
276
575
738
957
256
270
559
679
85
238
843
989
408
362
669
19
466
421
950
403
737
907
831
337
803
492
108
11
676
574
804
155
24
878
77
456
781
302
827
455
534
632
228
334
633
381
643
616
873
816
423
951
411
260
964
491
427
537
427
777
713
755
768
203
401
10
270
938
189
117
386
810
131
138
526
843
389
86
3
359
136
920
525
13
464
891
346
422
594
736
147
685
790
576
334
866
436
30
291
153
103
791
894
411
782
725
866
777
738
813
51
531
271
943
905
266
266
568
454
273
147
861
284
95
766
688
3
254
845
513
12
936
126
103
866
197
291
298
527
86
433
805
737
917
388
483
568
481
786
788
432
601
446
648
472
115
319
164
920
714
138
316
885
956
28
337
215
508
962
999
647
370
923
519
148
580
429
615
554
419
573
206
724
296
627
44
284
981
590
143
435
232
549
198
427
766
378
662
870
563
646
46
940
201
355
342
932
142
729
567
274
198
616
727
137
930
834
187
783
105
438
224
129
639
533
439
349
948
818
774
57
49
615
958
125
930
304
620
972
137
48
644
453
882
740
630
861
5
731
931
565
641
166
35
969
296
890
281
579
989
398
841
658
933
859
923
927
796
955
980
42
909
561
215
823
571
492
722
970
605
440
538
768
743
584
63
745
40
989
53
133
417
30
602
422
906
528
802
433
98
453
411
625
736
992
266
101
312
547
890
388
601
138
954
302
89
802
994
991
97
853
950
730
298
472
28
746
137
400
341
721
247
229
861
408
864
191
584
212
784
320
933
17
798
641
272
452
39
692
288
530
126
342
842
294
120
624
800
361
149
405
499
139
367
867
732
981
684
10
494
812
442
274
453
42
892
605
256
879
135
248
21
967
380
860
95
352
852
766
526
928
309
308
794
8
933
200
960
14
915
260
790
210
945
193
121
736
900
105
403
520
834
714
114
787
299
69
900
260
325
180
154
949
754
371
972
480
394
253
704
732
580
557
304
437
16
271
535
456
244
567
291
220
500
547
444
791
451
399
173
469
707
154
89
837
997
711
120
258
6
750
595
18
97
329
655
518
140
952
563
901
627
482
957
126
752
740
955
732
296
31
113
374
938
676
377
209
62
230
743
719
54
692
831
77
8
495
300
663
981
735
930
198
164
92
935
739
506
340
544
507
238
901
97
99
602
494
253
608
54
404
310
46
656
293
415
831
88
70
497
975
583
140
461
754
976
859
107
629
19
813
804
677
72
361
757
572
93
707
159
341
669
187
986
44
926
860
634
476
711
300
910
535
515
931
96
246
915
905
839
150
145
537
294
771
889
586
620
375
947
827
582
939
619
232
118
447
561
506
34
237
683
476
30
652
160
324
495
471
572
40
669
800
584
784
633
731
116
581
495
223
155
906
828
503
439
816
555
968
278
381
348
692
592
366
529
905
708
219
175
669
767
849
637
119
906
246
569
634
508
230
294
423
860
348
819
137
501
998
684
255
984
952
392
788
833
657
530
711
559
202
463
279
776
233
956
134
176
961
169
707
786
815
529
683
911
374
817
793
97
16
369
964
981
946
438
111
679
45
387
135
726
762
466
340
695
85
37
830
568
826
690
90
714
838
173
965
644
183
773
219
199
395
717
188
575
159
934
775
275
591
192
46
356
870
15
362
11
523
330
803
567
151
98
546
703
805
450
424
326
261
817
418
669
22
574
550
361
65
343
824
550
111
454
666
643
417
798
851
812
989
690
112
399
524
950
496
405
471
484
464
252
23
113
616
641
891
198
230
683
776
626
159
725
665
201
73
711
677
575
839
112
986
916
491
699
714
46
397
1
882
339
568
404
939
116
517
778
552
422
135
780
234
822
210
779
140
990
95
471
204
314
839
46
837
934
502
39
806
845
760
552
151
269
982
434
155
758
249
889
318
116
783
613
279
397
80
808
598
105
651
686
634
254
154
552
136
332
717
70
755
445
812
821
680
393
782
335
836
348
169
786
318
26
587
968
682
305
182
370
928
531
360
899
467
556
527
524
495
781
187
832
737
292
3
533
565
41
4
474
633
105
452
336
193
940
712
685
178
35
796
165
435
592
942
890
294
87
440
487
990
881
683
154
591
279
176
446
618
241
555
582
905
872
311
898
795
616
547
900
354
280
682
97
351
302
116
467
177
172
766
238
928
429
780
156
640
694
640
393
169
504
659
193
883
148
356
700
831
906
353
265
57
2
456
843
730
688
891
320
157
989
382
977
191
624
780
677
890
681
892
285
881
951
725
132
299
553
731
965
368
209
568
303
952
257
999
132
560
335
329
313
997
418
108
424
816
481
284
360
513
989
371
377
993
946
440
928
315
836
418
562
127
554
368
636
240
894
446
989
13
812
526
598
514
292
50
958
191
431
516
728
288
758
581
2
202
173
553
873
206
473
543
65
844
67
440
223
428
693
527
765
662
344
774
994
306
604
733
309
43
4
276
932
365
66
372
407
684
801
304
299
219
747
493
523
616
431
87
503
510
760
165
195
281
538
81
728
853
969
93
304
955
674
505
345
783
62
264
227
221
338
477
737
661
620
968
54
77
423
734
221
650
545
972
226
764
443
250
628
923
289
244
873
346
402
211
388
376
974
817
11
134
625
459
18
110
802
196
319
489
677
977
799
604
723
67
692
401
544
630
257
251
565
506
650
80
250
820
0
506
595
396
554
438
680
279
15
249
952
37
832
455
830
40
947
875
944
181
348
290
140
283
127
721
945
696
429
700
291
358
114
20
726
228
116
726
655
537
795
501
520
589
342
630
920
262
508
363
961
496
948
37
955
662
277
226
486
637
493
808
635
694
385
696
827
133
889
230
549
663
546
791
631
548
982
879
82
461
454
444
815
177
426
900
277
574
692
655
443
31
405
17
219
764
341
458
436
474
546
126
293
956
581
721
260
68
796
434
779
354
618
232
286
621
659
258
910
247
253
285
69
703
605
801
782
825
730
863
935
817
893
250
918
96
341
694
189
51
385
389
630
213
440
516
886
474
146
614
601
572
608
383
877
74
691
908
392
189
218
433
582
9
184
172
255
567
835
928
91
467
242
654
969
249
896
339
422
155
531
816
524
552
430
628
863
453
910
802
508
555
952
425
608
276
165
310
259
632
970
26
776
974
624
415
929
366
645
364
507
231
842
947
480
535
795
750
10
734
821
884
719
661
961
47
838
728
685
703
543
429
312
258
714
69
582
774
147
918
133
92
934
38
939
439
415
336
354
32
715
176
174
846
193
841
261
431
31
132
637
252
815
685
847
448
391
365
8
533
293
235
766
845
376
14
763
963
981
553
444
977
751
16
528
699
252
21
386
644
595
648
470
367
569
25
497
521
811
554
348
43
313
731
878
979
713
260
653
626
357
348
885
485
107
190
1
322
162
221
265
59
895
834
442
496
145
662
137
810
292
898
506
523
595
544
772
619
304
576
535
201
95
509
547
852
104
739
893
250
172
766
235
309
643
636
622
419
677
523
71
100
524
323
754
866
624
393
264
882
434
470
795
390
743
125
883
613
23
337
959
730
706
141
813
765
692
189
905
170
379
257
843
958
524
870
931
180
398
630
720
50
441
236
157
157
17
703
878
418
377
855
732
596
444
376
553
529
864
734
401
138
269
975
743
121
396
662
828
486
287
590
107
264
145
68
669
312
764
776
717
754
585
760
636
414
733
715
920
638
247
512
732
519
842
366
464
935
288
363
575
646
527
487
523
990
67
124
418
494
146
976
565
58
781
95
710
60
740
864
492
674
679
215
717
9
688
534
225
717
787
953
162
165
457
571
731
5
61
560
981
355
105
839
773
868
365
304
325
226
504
278
518
409
794
824
352
838
463
606
71
304
116
133
484
728
497
514
234
879
238
782
603
717
924
886
501
602
536
571
558
939
637
986
512
791
84
981
752
307
829
990
222
526
720
901
156
34
304
284
457
625
417
326
273
455
529
695
714
212
684
352
163
523
819
59
288
864
736
857
649
935
27
90
169
887
824
636
588
477
226
912
419
225
713
823
313
879
528
254
693
166
368
405
180
333
18
310
172
928
687
364
285
68
929
773
140
716
9
222
520
483
77
391
756
750
664
783
68
29
146
8
225
374
114
788
5
752
820
271
777
901
539
976
137
713
72
443
298
350
10
139
539
775
862
653
616
10
185
750
22
855
814
762
317
682
11
603
762
284
452
793
622
733
179
417
72
825
247
339
242
619
453
466
911
28
775
123
651
339
756
979
403
398
635
742
636
673
908
315
99
851
52
421
61
453
296
810
687
18
200
676
643
551
806
564
473
955
963
331
638
670
378
35
212
864
347
740
27
340
834
393
42
190
765
791
798
625
129
331
949
972
901
320
339
605
465
377
322
485
555
337
105
565
530
463
96
795
115
170
76
57
918
136
507
431
903
311
753
585
662
644
681
53
63
297
37
596
548
349
828
978
809
796
763
703
709
788
362
939
368
635
115
917
335
753
420
854
30
489
866
878
123
728
941
217
257
587
995
514
757
93
434
644
701
728
446
893
481
244
490
881
67
878
304
419
626
61
727
750
816
55
703
882
178
307
713
582
601
306
518
374
425
856
660
572
910
206
52
523
521
625
884
202
34
94
110
20
203
950
342
221
673
534
291
394
331
916
307
567
380
455
724
265
787
223
313
192
570
80
616
369
741
317
408
873
659
197
440
282
698
708
606
708
656
54
969
411
290
1
834
547
967
500
513
326
571
294
863
435
245
658
655
713
436
983
557
444
155
818
243
420
978
424
667
116
32
121
397
527
806
753
596
518
595
24
952
951
279
819
134
580
99
382
398
429
689
141
630
796
744
344
621
10
790
23
782
228
903
209
454
174
46
664
173
922
783
926
460
835
951
88
397
945
541
108
31
340
696
685
650
314
847
374
820
70
45
570
10
409
896
76
917
98
810
470
432
305
998
243
134
618
761
906
454
516
398
757
331
613
37
84
36
20
247
92
524
813
268
697
933
977
45
460
407
967
111
155
271
479
852
748
763
341
709
975
634
7
916
639
448
973
211
107
566
31
203
162
338
77
869
679
294
735
606
840
418
464
318
273
637
52
329
69
280
306
158
983
252
980
12
779
417
759
672
377
608
696
132
198
700
533
538
481
606
636
797
415
427
529
349
591
463
680
944
71
473
360
957
684
895
546
868
46
742
365
818
384
649
103
170
725
751
684
266
831
211
984
929
571
110
61
901
977
244
741
84
515
188
492
126
120
446
943
500
3
129
885
693
611
615
239
897
637
318
17
560
935
880
555
800
181
866
894
804
427
783
763
528
461
22
391
698
442
570
955
756
881
76
508
936
687
873
430
516
530
497
970
964
406
158
733
24
613
851
65
691
185
651
246
918
809
708
15
923
446
455
692
223
543
902
660
410
377
781
103
110
559
214
347
296
9
324
104
651
789
438
403
402
482
62
874
443
225
112
162
947
763
228
582
281
884
105
518
94
697
467
290
789
806
311
233
480
666
648
494
959
19
606
366
326
251
648
94
502
100
389
357
827
300
941
793
176
168
132
177
5
378
912
283
508
482
850
513
129
908
0
988
625
223
339
514
867
290
948
752
857
80
454
510
154
36
367
906
421
232
631
731
447
458
785
411
651
250
885
73
177
816
864
631
331
347
861
965
905
2
816
990
678
238
44
520
476
162
345
834
426
42
704
574
423
14
905
997
736
225
569
464
742
425
296
444
595
627
786
137
161
95
512
881
316
924
85
869
45
332
702
148
733
70
359
821
713
378
598
589
722
202
632
662
923
721
588
425
932
464
307
98
707
50
530
263
162
701
833
771
782
764
39
860
935
845
658
382
189
405
32
57
683
578
970
687
282
137
85
17
67
198
374
63
582
713
626
172
888
177
899
964
614
999
227
21
772
540
369
982
604
448
807
87
951
305
374
130
858
831
282
184
591
801
419
183
189
449
438
301
685
984
872
1
254
731
440
10
523
865
700
661
80
513
879
26
414
52
229
771
993
234
549
629
433
458
373
487
89
253
292
667
584
158
258
577
282
889
790
618
494
635
395
558
367
806
232
655
276
830
530
301
191
732
177
175
300
648
925
916
311
974
970
492
185
744
422
595
782
95
495
936
348
240
265
571
895
81
166
480
174
816
822
28
777
928
902
253
314
914
227
857
450
299
334
867
665
185
410
110
155
313
51
174
271
742
180
790
957
697
680
539
11
613
544
94
489
72
546
484
368
231
303
335
652
796
700
968
242
266
816
551
506
399
637
836
991
19
797
647
202
180
341
398
782
480
900
951
105
896
489
178
694
455
928
200
10
815
222
452
735
588
23
740
448
363
136
713
227
1
746
90
717
420
888
353
168
328
839
174
98
492
335
102
754
496
369
835
773
459
258
568
701
48
117
587
60
96
228
840
590
688
871
9
75
248
70
557
68
830
178
180
685
812
666
391
96
640
570
95
652
731
406
508
224
274
574
358
244
746
428
923
102
915
664
885
397
977
708
178
564
389
504
548
206
432
504
480
757
707
114
573
495
257
521
682
566
317
287
372
551
367
397
497
486
242
498
73
830
982
927
814
423
244
481
921
93
13
647
233
924
968
76
139
629
617
141
830
812
560
861
330
19
726
987
669
655
976
241
749
594
188
588
356
69
57
936
877
135
58
988
714
856
523
974
608
928
567
126
964
360
276
129
538
152
592
783
840
773
132
384
357
592
227
21
211
909
22
323
985
581
482
795
659
571
164
654
448
949
178
671
400
802
641
878
118
414
331
536
712
396
302
998
183
690
388
632
450
7
671
870
207
918
454
946
218
275
929
496
623
105
352
481
519
164
273
787
862
802
990
591
586
362
731
352
835
769
749
307
741
112
208
337
380
530
964
761
719
994
512
487
593
52
570
71
785
976
856
3
532
253
564
668
824
649
451
57
830
137
312
20
422
98
450
966
563
879
332
810
965
716
932
702
932
478
622
68
331
279
709
347
105
901
785
184
70
760
484
889
549
610
389
869
93
99
181
933
695
877
152
466
288
724
147
579
881
166
181
687
70
571
721
627
919
7
95
34
179
397
439
530
701
260
877
121
256
862
790
449
703
837
212
867
156
955
708
872
771
133
788
18
841
53
186
574
945
196
269
454
694
692
514
80
586
157
852
546
348
666
887
531
93
952
788
564
156
112
486
179
72
314
377
842
238
703
395
686
635
908
590
620
56
996
20
396
759
766
694
442
350
233
272
485
791
233
749
193
389
282
475
29
734
257
993
610
865
342
346
719
596
102
816
74
34
776
462
93
303
116
947
198
512
905
430
420
535
83
571
16
800
815
231
684
72
731
717
391
757
905
980
624
434
940
436
200
939
389
20
502
743
351
573
924
117
35
31
604
160
318
18
788
268
989
648
380
631
416
89
298
152
757
531
695
713
576
154
217
105
875
730
458
379
779
958
672
148
558
64
199
874
299
717
58
116
385
231
158
111
882
419
819
671
745
527
261
760
102
141
453
482
625
443
91
50
892
263
516
491
230
966
58
959
142
668
652
620
534
220
428
537
117
269
826
146
507
311
20
10
680
879
484
680
250
16
884
708
735
503
464
289
987
850
909
673
915
869
568
106
483
978
169
14
817
410
372
866
92
641
189
51
176
419
418
139
995
105
596
755
470
739
518
126
803
523
715
638
697
841
964
295
757
359
110
905
746
544
413
145
110
233
493
745
774
355
762
980
919
713
424
614
589
451
763
326
13
881
703
122
50
612
715
400
233
371
780
834
219
162
369
160
988
330
514
698
409
955
786
844
657
36
80
990
228
25
436
480
293
429
555
348
94
804
326
188
298
590
403
928
434
174
142
338
29
689
141
875
8
561
559
515
185
877
536
254
773
422
171
441
463
150
675
6
571
638
434
817
440
18
478
441
546
394
106
683
834
687
764
110
387
70
517
831
71
899
811
422
868
23
978
471
656
705
218
338
12
592
148
553
369
569
869
100
824
712
869
24
339
908
973
794
140
555
521
537
696
299
626
309
254
807
592
644
361
782
397
848
853
237
579
267
643
903
640
987
846
893
803
641
81
192
361
854
641
487
554
868
17
466
362
898
600
550
778
527
862
862
808
946
851
498
661
455
106
487
593
128
64
708
891
256
755
815
992
387
330
982
914
32
972
120
699
561
871
40
548
251
248
258
751
219
582
532
540
45
434
969
902
179
513
124
893
915
364
147
890
80
421
987
543
463
781
666
825
330
702
456
292
826
155
781
29
281
450
917
913
545
549
862
63
832
149
127
594
881
262
236
87
78
746
247
244
363
341
287
642
136
901
851
495
840
428
490
403
95
834
853
397
223
685
174
898
350
304
738
793
821
227
444
39
954
142
531
766
697
834
618
890
277
935
669
918
746
488
654
265
505
665
631
35
190
282
565
361
324
914
617
954
432
923
675
652
488
484
579
343
760
619
594
249
104
582
446
222
53
475
479
669
541
238
583
880
529
846
477
749
171
901
43
429
177
623
875
945
442
751
550
844
201
861
440
989
183
607
134
147
619
507
460
240
708
135
930
23
71
928
402
320
677
415
638
95
263
831
195
937
417
128
744
856
918
221
735
299
883
771
971
352
688
713
296
408
886
630
589
291
465
265
246
973
405
197
500
269
783
128
904
521
999
278
913
297
80
846
871
197
424
695
412
627
150
421
314
273
538
696
413
792
845
479
823
405
613
941
267
357
403
819
363
502
91
920
990
596
620
924
54
349
726
297
702
469
595
668
174
833
241
340
880
109
905
833
836
944
221
580
787
140
722
271
546
521
731
579
230
676
8
956
969
138
66
107
625
290
37
900
581
946
19
853
899
461
413
561
71
246
814
682
951
495
248
232
300
630
223
554
942
418
103
795
95
145
950
643
305
93
622
31
427
918
716
659
701
416
979
46
519
203
499
410
925
770
979
694
203
404
299
324
389
52
925
731
642
544
569
64
635
682
942
531
806
589
806
743
932
143
893
306
324
791
329
331
668
21
483
849
828
508
459
333
323
32
241
303
566
302
244
320
759
600
489
496
921
366
578
813
262
437
632
428
338
695
850
36
968
308
595
271
765
177
930
350
683
494
737
269
847
425
24
332
800
564
812
431
689
691
456
77
667
795
292
251
967
81
197
217
433
734
234
727
385
2
587
550
772
708
159
852
640
416
536
297
517
124
734
733
565
609
235
327
664
411
18
32
14
898
78
812
553
462
706
736
668
130
153
372
983
19
102
47
241
886
396
770
490
238
920
415
334
734
940
345
968
457
572
808
749
112
159
230
924
929
799
421
747
246
116
371
837
750
917
150
707
212
321
697
216
58
324
534
920
702
30
188
614
68
864
769
659
418
376
357
114
828
924
296
817
130
934
711
707
733
440
955
716
866
707
441
700
620
365
883
17
841
861
17
87
539
295
142
882
561
942
540
619
718
660
936
150
621
679
787
890
228
742
832
493
179
279
367
196
714
513
826
865
452
48
29
238
99
507
91
950
790
444
227
856
50
859
744
76
483
784
963
236
430
788
246
466
686
259
982
662
761
133
135
294
61
565
378
140
444
310
590
186
249
120
619
953
156
410
711
772
993
918
414
796
887
46
222
928
195
577
135
543
684
382
802
754
91
445
966
127
703
434
721
418
898
659
956
989
323
112
217
586
803
196
463
553
791
874
785
56
215
394
182
172
108
273
494
289
607
355
388
115
120
16
747
550
746
527
300
378
248
103
657
427
609
35
391
302
218
250
632
881
511
807
231
614
28
187
405
486
698
951
542
958
41
649
17
269
193
856
795
188
511
495
782
364
106
703
781
815
121
45
633
95
655
75
837
122
29
186
677
31
567
183
108
445
776
411
11
875
2
84
227
228
23
414
848
615
474
363
146
299
107
839
93
493
131
188
605
39
676
147
833
335
293
656
713
425
295
797
44
98
750
748
419
802
633
269
323
308
314
247
368
211
535
360
164
26
388
629
809
824
660
638
376
856
766
663
543
220
948
987
823
882
458
854
973
880
505
78
908
22
728
846
308
362
912
629
708
788
256
827
648
13
396
295
715
783
170
842
142
487
379
495
317
422
61
183
82
272
588
314
608
47
230
287
191
295
579
744
894
839
935
917
292
316
687
905
27
27
396
348
573
300
726
936
718
783
518
111
486
947
57
12
796
63
386
890
715
707
353
947
804
608
598
928
918
608
725
77
845
732
804
342
189
136
934
175
431
739
183
41
712
137
496
777
457
812
989
424
596
978
774
832
283
828
637
523
697
591
173
221
792
98
973
304
45
501
838
877
518
900
180
643
610
606
844
349
668
195
730
763
104
85
763
357
228
96
522
918
254
892
775
927
298
282
988
522
227
990
153
868
817
950
424
560
681
659
881
348
223
698
600
281
115
213
862
366
882
656
201
753
873
220
979
842
542
13
380
110
40
863
13
51
154
265
384
891
647
106
371
347
61
51
950
353
232
386
251
235
410
795
658
817
673
287
321
45
852
934
319
453
885
988
566
309
882
668
644
772
40
533
305
731
77
363
16
119
482
821
61
671
40
936
103
93
996
16
471
585
951
718
444
966
150
286
741
915
73
361
477
801
108
948
511
990
320
868
682
975
959
646
747
819
366
719
530
475
500
315
284
309
931
770
237
951
917
460
573
875
426
886
691
972
999
940
355
910
631
379
721
12
800
505
292
960
499
992
309
870
638
371
749
648
884
468
680
585
935
131
509
864
765
611
429
965
724
657
59
834
405
317
247
37
738
676
633
859
988
459
870
677
104
315
111
53
921
394
255
942
821
473
316
837
501
127
112
453
498
818
540
851
492
310
262
990
629
415
900
259
293
828
200
905
709
448
361
380
153
841
957
401
950
773
65
533
646
716
212
760
975
782
620
225
198
795
475
906
441
7
979
916
144
796
865
73
594
55
692
706
149
378
271
433
718
265
118
552
881
784
866
734
698
934
456
155
508
955
246
433
472
561
291
33
355
702
220
279
377
63
320
680
735
708
364
274
819
424
355
338
985
727
669
908
859
741
677
565
543
305
398
251
527
703
478
818
350
170
15
67
267
576
12
56
266
287
294
469
627
373
32
568
425
927
854
179
519
813
702
122
414
2
907
943
406
54
310
52
195
480
341
597
743
984
108
546
432
126
122
418
837
90
126
855
425
544
802
760
948
232
412
822
275
617
214
717
234
772
125
162
848
592
254
107
162
203
107
836
175
445
893
841
849
94
975
659
662
270
278
556
977
282
127
110
647
9
177
114
292
200
477
240
698
784
530
382
942
706
689
821
854
462
417
902
198
733
384
642
688
916
746
426
793
355
383
850
169
727
211
801
505
74
27
200
250
500
735
887
252
318
289
631
17
243
748
327
865
981
994
615
858
459
194
25
384
656
690
357
778
568
661
737
257
192
414
356
711
612
891
325
539
960
37
726
291
342
801
893
70
793
955
700
576
475
675
770
486
676
526
663
774
681
7
770
558
976
756
721
865
599
178
13
833
970
485
634
723
638
405
424
929
345
27
579
57
738
859
948
845
728
988
640
235
96
112
117
193
775
34
90
685
156
215
868
695
49
121
138
809
94
983
115
769
942
338
349
658
990
233
110
896
95
194
79
488
691
350
788
229
117
466
814
443
469
376
953
790
744
668
949
442
641
140
377
687
874
481
817
887
50
123
240
682
619
701
36
57
386
940
258
895
904
586
559
752
182
868
848
305
346
616
112
488
911
409
625
345
582
565
62
346
730
832
112
567
323
943
842
296
788
934
545
816
977
419
145
401
589
190
430
189
929
343
39
851
290
774
453
837
448
85
105
553
674
849
799
885
285
897
809
260
377
319
969
615
450
472
128
727
279
951
121
955
538
459
255
595
912
530
898
651
464
895
358
224
105
758
566
709
571
380
788
943
107
367
784
263
356
885
742
342
126
653
94
530
533
547
695
221
711
951
865
664
561
220
852
652
10
930
5
124
227
471
163
238
937
87
246
155
701
762
873
722
763
982
822
790
412
771
472
298
758
342
846
60
770
653
256
54
273
191
48
200
226
333
751
538
29
905
751
571
218
323
725
694
377
561
992
107
158
571
595
791
348
548
618
442
523
474
651
964
618
28
319
469
3
851
685
37
358
449
178
853
249
10
380
542
367
343
608
190
26
952
567
424
401
316
658
896
445
628
294
584
371
23
985
60
388
612
218
881
204
856
76
358
74
843
753
566
376
938
810
652
974
681
484
936
816
290
602
716
255
590
974
151
189
665
4
913
734
513
362
90
73
418
215
894
14
50
421
814
474
706
940
606
851
234
366
353
49
481
904
625
351
381
273
273
628
195
761
565
390
397
670
288
7
739
906
377
554
984
463
570
229
174
516
154
201
473
472
446
841
763
175
104
791
614
120
967
858
909
987
869
267
58
43
145
587
877
908
894
292
783
932
743
287
903
569
0
460
675
22
166
667
473
66
270
551
562
538
703
420
785
968
310
245
67
576
945
705
441
110
368
15
459
613
418
960
853
985
861
490
240
426
815
860
759
13
215
782
515
184
934
804
333
633
921
898
192
578
660
953
19
847
75
198
226
174
146
366
663
345
59
482
145
582
53
803
835
438
481
789
236
254
868
882
308
822
288
448
621
684
326
83
99
88
737
693
219
706
966
990
405
162
936
237
544
834
90
311
971
882
785
977
367
21
101
767
382
978
304
393
508
571
815
539
322
816
383
851
208
887
264
602
415
694
525
841
726
139
3
983
700
894
718
221
490
321
291
277
892
686
899
862
504
312
902
437
12
448
251
957
300
406
2
582
244
113
839
46
133
761
487
205
886
926
841
274
27
498
434
347
864
259
1
252
280
568
817
350
151
121
559
887
567
329
38
244
519
824
859
859
393
912
145
892
454
918
518
1
122
595
237
214
570
873
290
875
629
338
368
612
862
240
753
20
828
415
354
952
816
603
187
668
260
598
340
3
73
899
497
387
735
44
105
55
627
356
736
176
658
582
143
734
799
556
444
299
364
844
503
124
754
754
928
107
590
180
585
961
471
142
910
70
939
378
653
242
464
976
269
974
77
566
188
469
978
354
183
393
594
115
474
134
940
388
812
548
920
777
376
98
170
726
190
252
208
102
734
993
705
903
39
522
192
740
437
853
90
631
833
392
874
270
769
174
687
849
241
695
493
542
525
69
743
617
485
818
597
476
341
879
673
58
207
133
678
437
178
321
452
750
878
845
938
572
370
747
966
914
277
186
784
209
355
282
52
642
522
207
86
567
506
787
401
48
110
513
225
771
275
283
936
860
255
19
244
364
3
282
734
87
78
868
454
990
994
23
456
432
615
973
264
90
914
119
185
331
276
830
359
536
367
44
201
300
698
106
562
127
12
51
140
131
714
760
375
111
61
258
549
19
944
77
98
216
632
585
969
151
223
205
593
290
184
563
517
673
450
623
285
917
948
875
186
274
755
190
559
67
173
938
364
548
272
731
70
163
181
177
137
778
889
513
674
126
462
298
139
895
419
870
791
830
214
838
191
815
315
592
313
0
501
792
379
731
954
392
855
462
782
107
311
106
418
186
904
627
771
582
188
587
825
899
699
293
162
635
888
161
6
533
73
352
861
678
498
443
458
748
649
499
542
68
132
213
161
886
654
159
412
380
517
903
831
214
6
450
387
449
825
475
303
783
895
339
933
286
348
413
473
92
444
796
278
495
989
518
209
553
423
83
923
761
669
137
553
819
403
550
867
783
425
351
429
615
8
719
486
32
127
680
136
602
298
671
299
263
766
431
155
970
422
702
235
602
440
725
729
699
299
930
803
259
887
985
141
548
492
830
301
111
771
508
942
851
501
254
730
254
288
163
208
47
639
561
242
626
711
389
759
687
616
863
216
890
870
71
131
477
17
42
926
145
184
478
115
762
936
454
863
216
442
254
860
653
68
352
212
722
949
76
167
924
685
683
698
667
287
136
783
47
791
324
810
319
219
498
197
301
572
841
983
83
555
681
75
307
838
948
229
1
874
185
462
387
123
842
402
363
36
736
388
442
461
594
861
994
326
829
787
558
62
505
921
515
215
168
625
409
102
23
591
744
261
325
439
224
783
525
995
47
165
782
371
879
26
550
76
665
664
339
574
23
825
107
983
895
97
750
187
881
627
644
892
394
907
349
332
782
687
27
549
534
366
520
936
728
618
228
254
897
597
67
413
468
201
848
821
69
21
290
57
703
700
560
438
342
145
259
944
893
517
512
155
183
846
180
481
153
804
984
217
355
533
756
97
559
825
716
280
68
99
21
561
172
766
241
176
725
656
156
345
690
675
379
298
58
504
795
937
646
442
865
858
451
107
523
852
863
380
582
202
319
413
447
580
130
576
876
261
921
7
124
368
751
650
218
208
392
757
657
834
408
640
725
800
9
227
854
842
379
276
192
242
745
977
934
137
889
847
779
950
432
562
167
954
729
230
587
899
847
561
925
922
638
533
539
400
589
579
262
822
583
952
518
806
751
364
105
174
718
49
454
999
571
905
676
318
255
993
818
334
63
526
116
632
520
548
473
739
300
906
466
885
313
668
64
381
846
25
808
670
924
897
733
382
345
120
131
347
400
237
401
469
819
422
932
602
537
938
881
501
828
655
528
24
370
362
51
876
589
289
819
493
372
895
213
764
301
752
99
11
295
972
829
334
987
758
909
67
100
157
936
543
82
714
255
70
380
801
924
935
372
7
520
107
463
519
471
922
324
529
170
317
428
984
754
538
638
118
181
791
573
0
556
817
521
456
728
9
690
367
102
556
281
814
160
154
430
693
107
897
193
171
73
253
125
783
186
486
82
618
674
131
134
885
252
240
884
237
659
470
71
769
36
917
666
690
807
679
606
253
699
785
277
539
334
981
918
217
296
623
401
301
188
986
532
112
18
65
924
489
479
555
635
456
772
363
722
507
153
448
803
532
910
67
758
389
209
557
256
11
192
29
738
18
133
789
7
567
791
109
524
695
323
872
203
943
396
460
168
720
143
250
29
874
186
848
144
663
838
794
110
70
766
723
975
32
527
544
602
230
946
710
309
281
461
361
740
458
555
839
758
819
880
461
685
197
420
14
710
179
92
816
927
514
504
129
448
354
681
33
28
709
737
391
381
696
477
693
10
217
662
335
392
467
209
483
268
299
595
195
36
88
69
900
794
237
119
459
529
629
206
177
328
218
387
791
725
570
108
458
291
631
594
78
872
198
686
202
522
782
87
243
523
393
280
718
803
438
755
217
177
812
329
39
752
923
579
111
667
487
67
49
115
319
379
709
31
207
761
347
426
284
475
951
136
827
223
565
998
892
211
842
381
197
646
121
635
433
466
403
748
908
798
7
73
146
77
951
80
908
570
521
252
908
100
141
65
859
167
889
639
275
330
374
441
193
795
674
830
809
632
625
274
65
410
220
118
624
117
198
999
177
46
368
351
238
780
530
480
526
739
209
734
565
23
888
724
982
741
68
937
514
376
293
95
164
857
719
329
202
953
148
860
278
980
810
705
942
739
865
432
561
702
34
842
491
151
414
106
579
489
809
951
592
364
100
45
616
634
303
645
859
320
926
952
873
216
152
86
389
373
815
77
750
567
793
553
969
621
453
52
636
36
798
143
589
800
331
753
97
512
553
673
44
257
681
167
421
273
439
645
810
287
7
111
131
178
222
192
594
208
140
819
955
144
903
187
516
634
826
11
75
433
641
24
304
862
250
371
2
782
440
166
550
747
870
732
186
149
128
312
407
673
173
929
121
797
155
666
835
251
269
874
13
713
42
587
538
280
730
771
485
38
960
997
414
225
548
33
230
374
568
638
553
259
47
193
277
245
316
340
503
925
122
489
438
160
942
934
43
872
212
780
595
930
79
765
112
29
554
514
167
213
246
8
884
328
898
747
902
223
932
895
671
438
917
953
124
804
987
988
812
766
637
282
181
458
256
324
700
865
954
683
700
798
115
599
76
167
563
375
702
660
539
477
649
80
689
174
517
499
146
103
694
440
432
358
367
112
513
676
465
506
905
726
523
923
121
390
960
933
535
417
791
448
524
88
387
500
887
634
512
564
392
226
904
313
515
590
262
529
108
414
57
773
498
696
820
264
974
45
914
467
909
142
68
102
318
724
902
901
498
603
951
68
742
388
508
770
307
979
800
632
738
771
384
421
98
989
125
828
764
684
148
380
802
563
796
697
921
604
116
632
778
707
144
577
825
84
229
188
825
806
779
292
131
79
836
839
517
762
927
180
932
238
639
395
210
863
207
299
878
327
237
392
927
399
471
186
77
587
605
488
235
480
527
715
780
498
801
291
597
472
914
71
263
512
395
747
851
244
441
773
745
800
839
655
824
598
558
978
774
909
259
917
507
93
125
431
747
453
160
800
51
672
737
233
259
543
613
622
984
713
883
676
107
194
901
192
389
773
510
947
94
53
131
21
643
774
842
239
819
696
887
971
556
300
947
798
507
790
895
193
878
960
465
204
154
78
672
299
762
220
498
709
543
550
294
460
168
318
146
219
230
283
726
617
887
530
89
98
141
996
961
381
98
219
997
145
0
114
99
523
314
84
478
452
484
634
960
869
141
919
457
426
355
174
206
911
999
247
244
271
712
854
387
880
595
584
512
314
567
272
664
287
863
56
372
809
308
800
753
0
971
509
310
788
931
664
811
371
753
144
79
627
74
505
457
556
867
49
700
879
186
96
389
337
106
737
133
220
287
260
882
756
781
616
951
202
337
697
923
737
830
306
765
767
731
564
473
840
287
950
603
449
3
733
553
697
66
630
967
110
956
634
132
735
615
312
521
127
930
953
520
82
854
939
567
362
398
997
949
895
585
137
190
342
844
410
98
900
948
223
304
990
494
160
612
283
752
92
266
440
307
379
612
958
972
506
893
995
963
653
964
44
933
980
90
979
743
901
649
146
536
391
174
297
96
858
314
749
690
643
965
854
411
533
665
56
959
748
110
518
665
958
310
448
359
947
675
443
838
527
547
219
265
945
214
21
409
746
667
491
488
99
72
680
534
234
357
170
854
454
261
761
983
346
430
73
336
700
710
263
231
372
13
623
357
52
938
112
674
945
12
32
975
560
811
166
979
676
526
986
358
12
377
371
252
237
762
725
568
908
670
43
236
243
904
401
224
240
464
548
640
679
63
341
923
317
372
140
946
889
108
769
650
612
698
757
639
923
106
357
702
72
403
190
706
32
282
320
125
479
968
196
195
350
216
414
65
496
381
774
701
762
195
512
473
908
326
755
0
615
125
657
294
343
803
683
334
727
798
819
151
899
28
450
61
323
648
220
432
221
584
390
685
158
350
562
213
358
319
672
625
634
834
254
371
946
362
715
169
983
32
28
952
8
479
897
584
522
211
129
245
370
64
372
772
566
250
329
45
49
910
125
47
393
314
334
165
395
962
838
666
430
345
990
778
477
366
646
344
774
400
995
594
960
549
362
579
373
530
893
621
803
715
353
227
50
921
410
107
622
692
6
202
305
873
941
573
854
530
609
644
33
547
193
812
94
7
559
731
821
458
211
682
189
915
638
270
711
530
578
231
115
126
57
303
951
119
994
814
787
921
204
390
17
270
970
681
438
534
813
825
338
574
889
267
572
576
546
350
460
602
865
547
312
282
158
142
368
206
127
397
181
148
416
67
728
761
506
411
116
607
273
68
799
153
337
501
191
907
984
139
981
321
660
324
916
378
336
97
430
802
133
713
784
257
14
170
50
608
566
785
416
780
796
396
655
333
272
981
178
129
964
597
223
342
968
103
683
841
463
597
322
96
274
447
268
136
240
985
837
66
35
687
308
241
660
49
9
715
965
231
712
77
842
807
159
903
500
561
712
962
43
292
201
424
383
280
241
575
760
186
195
490
132
527
574
947
91
796
955
210
95
42
265
452
486
643
799
585
915
409
394
535
620
39
813
694
850
994
999
766
772
549
881
315
928
883
552
388
996
706
508
818
237
323
552
881
663
952
540
737
444
145
31
523
830
89
758
341
905
514
643
50
805
794
915
392
994
703
812
982
697
699
764
559
91
765
72
103
71
98
238
472
74
757
629
466
918
483
530
348
252
916
63
642
147
50
703
435
638
289
98
168
275
263
758
974
570
875
978
762
702
841
314
647
59
614
553
614
986
84
532
362
802
634
191
444
3
393
585
691
852
89
282
547
969
312
956
846
721
526
281
244
592
955
805
555
365
981
858
49
248
933
826
13
407
113
584
559
456
899
464
368
891
196
964
123
411
977
43
936
807
676
283
155
671
415
147
148
510
712
969
896
821
286
462
914
36
262
778
784
341
236
237
803
874
869
805
255
937
532
0
927
609
253
794
593
598
875
92
933
399
830
979
269
892
354
560
381
885
131
653
474
976
213
481
301
660
826
971
863
392
318
741
708
536
976
773
896
346
827
930
519
515
91
359
273
606
243
511
195
587
8
321
690
155
989
831
190
611
577
565
434
783
528
397
315
862
435
409
464
619
346
958
35
524
925
594
829
367
654
699
622
866
68
835
452
325
877
51
530
804
336
390
260
505
118
87
146
753
888
684
618
620
353
238
742
691
289
154
172
558
386
241
60
699
356
955
179
124
615
908
157
980
985
104
645
514
981
511
903
474
93
356
208
92
947
255
571
148
606
629
728
648
183
756
701
133
652
279
141
260
189
686
941
846
389
950
252
97
997
600
672
164
330
427
505
932
28
11
533
976
355
420
123
905
638
217
783
304
171
61
68
498
554
341
39
967
103
795
110
956
265
806
247
823
372
279
626
622
454
592
361
300
981
954
756
354
685
555
490
744
339
321
46
662
413
20
659
207
220
829
16
593
218
950
206
975
873
282
848
860
310
537
752
372
325
588
100
132
148
558
569
437
773
557
19
161
684
454
40
18
36
393
199
702
916
182
92
548
70
790
736
441
19
270
385
683
794
996
363
145
887
132
425
126
132
690
138
97
169
343
297
943
767
683
686
451
592
317
974
167
537
661
820
853
464
322
328
304
235
333
940
169
324
842
394
343
412
40
366
59
305
284
500
42
792
364
129
735
493
942
150
314
183
720
304
4
1
589
952
848
153
217
463
515
30
56
109
686
411
485
949
233
139
447
4
775
430
461
754
187
715
317
738
615
668
496
380
451
647
32
921
973
765
440
204
125
629
719
289
743
131
557
229
70
559
347
829
273
336
541
770
686
311
698
441
52
425
989
68
803
135
671
679
842
573
378
942
55
453
701
811
982
767
42
739
900
330
384
993
231
173
250
954
610
932
715
114
416
207
488
974
953
513
551
476
940
723
406
210
899
116
734
328
408
524
984
520
882
581
404
517
413
210
460
385
99
356
734
167
923
140
681
654
844
849
254
444
731
638
365
429
923
768
285
544
379
856
227
810
346
555
470
683
366
140
343
224
322
795
548
783
117
10
877
785
417
432
842
471
177
778
75
945
521
455
28
281
313
759
714
603
154
212
938
150
618
490
915
86
467
230
38
175
512
383
112
357
994
123
402
904
669
730
144
310
58
931
644
414
594
656
187
995
17
172
482
120
344
438
893
873
896
428
414
992
987
938
840
669
692
430
823
514
662
633
734
311
104
444
33
75
61
580
98
380
502
513
104
959
441
128
767
693
996
784
239
340
558
988
194
184
118
58
614
130
562
816
791
949
925
134
228
735
572
621
501
232
829
890
949
581
725
606
554
409
551
226
682
304
160
505
479
600
979
597
509
523
22
342
905
872
823
641
410
709
518
439
204
865
78
506
532
439
949
583
922
586
618
210
260
914
373
916
170
823
158
545
437
764
326
549
554
334
230
491
851
722
720
950
93
827
797
460
580
339
439
410
257
268
637
172
877
752
594
815
72
298
53
919
532
43
409
667
366
821
388
484
246
532
733
678
837
88
435
19
14
568
179
273
866
599
891
634
528
515
33
828
92
501
555
583
921
451
434
833
650
822
268
112
604
74
481
848
362
151
782
329
928
570
967
771
411
749
54
504
857
787
432
377
628
230
688
550
861
905
230
695
37
799
710
171
941
179
669
466
108
496
836
803
118
922
831
459
244
396
612
129
988
178
190
14
145
106
777
599
605
600
265
330
799
381
29
396
605
38
561
430
799
152
976
691
973
763
941
405
369
885
667
153
358
214
79
100
175
678
912
865
733
972
301
205
313
144
592
663
77
651
772
281
550
605
878
713
319
597
325
851
837
201
210
505
978
304
17
876
229
653
925
991
438
720
33
472
406
14
68
688
987
214
210
729
289
663
340
48
185
967
194
959
553
29
139
479
542
15
951
378
943
106
32
327
264
785
664
625
16
241
563
842
73
884
293
550
396
928
967
706
195
937
42
127
631
558
879
337
97
345
761
887
46
460
377
119
420
569
858
551
698
814
469
786
354
608
784
103
144
232
24
538
325
225
715
851
257
199
53
365
524
818
970
227
613
318
241
175
680
150
78
660
954
381
315
498
46
530
698
873
551
320
988
114
328
28
205
705
428
268
474
624
230
996
622
618
586
215
625
212
286
460
210
842
887
575
30
124
792
411
750
861
578
765
467
693
470
149
281
819
839
761
806
751
530
463
293
703
876
531
260
17
956
132
90
747
993
55
402
682
587
9
789
249
561
732
147
894
275
967
863
785
736
953
251
39
897
691
137
506
144
39
335
878
573
388
33
781
136
979
138
976
613
239
933
33
854
476
635
114
976
35
682
485
96
427
644
922
604
340
731
217
217
251
648
989
411
121
637
44
938
839
439
592
943
963
548
905
623
118
42
836
205
522
773
683
846
536
10
33
549
848
563
448
66
148
60
348
364
313
683
269
93
156
917
299
161
248
687
580
161
562
506
330
713
526
233
364
73
993
368
176
313
338
894
272
2
273
351
830
5
90
125
921
773
992
877
227
446
552
546
167
201
200
809
367
36
743
23
221
390
936
913
618
763
355
595
502
6
543
685
55
194
683
20
254
979
512
757
727
470
582
981
621
620
211
730
726
629
874
55
640
263
740
303
495
437
346
588
899
2
492
214
725
297
146
284
172
781
668
89
620
468
369
367
516
863
70
91
163
430
517
574
977
709
66
883
861
564
23
119
789
8
323
992
455
199
595
234
617
518
523
725
372
320
304
779
251
482
894
286
290
787
789
215
355
752
890
134
701
812
818
793
896
285
533
866
397
28
176
127
73
666
345
904
833
216
513
432
747
158
456
333
909
930
679
261
715
391
3
340
484
931
931
393
56
885
454
790
923
582
927
132
485
993
30
512
17
718
800
231
655
719
86
964
909
127
920
210
786
217
630
305
197
117
943
376
118
176
461
359
426
245
850
933
795
215
857
858
14
144
421
398
554
76
889
940
806
847
209
9
724
445
702
141
984
159
439
549
549
342
124
600
765
530
969
622
486
396
659
18
172
515
58
549
108
788
695
179
383
634
623
565
204
230
750
372
954
592
82
309
219
291
568
593
219
24
345
51
962
138
379
227
361
661
794
780
160
415
441
743
901
399
273
859
322
407
868
34
738
700
529
398
425
325
794
306
409
513
988
192
405
721
700
208
832
600
181
620
877
845
545
496
57
744
77
514
711
808
437
976
387
731
973
557
143
305
325
838
475
559
481
745
227
213
243
929
73
22
944
942
328
859
682
243
651
661
711
608
401
19
462
330
313
896
121
929
20
210
580
694
638
778
660
550
193
68
586
987
383
935
460
33
566
830
401
419
267
576
800
138
690
374
694
702
348
291
353
6
285
617
250
475
71
838
108
638
566
210
867
387
107
901
536
657
593
99
373
97
65
182
974
508
286
584
699
549
730
72
131
927
328
696
878
625
963
552
782
898
977
128
641
328
154
221
251
502
655
219
900
91
66
14
611
303
451
940
745
100
659
135
444
748
236
549
287
881
328
273
81
931
799
741
38
124
464
85
825
176
266
614
336
661
761
421
215
697
763
24
923
906
920
406
691
359
40
64
545
552
50
831
3
971
0
431
140
279
567
664
388
570
654
561
477
68
761
933
99
787
587
383
870
608
603
480
879
838
652
330
75
411
871
404
696
175
621
427
282
338
766
866
875
108
822
75
93
913
793
238
927
691
273
744
134
715
488
188
445
383
179
479
85
650
715
933
23
108
999
808
497
759
6
92
215
681
580
230
96
200
32
699
258
976
284
599
308
162
162
576
394
262
957
233
488
638
535
91
776
405
306
586
667
886
852
540
597
6
304
823
35
518
519
371
739
696
322
816
614
55
590
843
592
484
917
462
741
673
576
722
724
787
169
903
270
739
852
694
181
975
148
942
861
243
37
39
795
32
745
912
438
498
140
401
830
683
557
889
652
662
569
147
393
982
604
236
837
331
972
537
166
643
570
980
608
52
283
768
767
14
984
57
521
464
16
605
730
36
679
861
19
10
189
89
559
143
712
701
62
170
678
453
349
836
515
128
770
919
60
647
170
516
234
110
255
612
941
350
567
208
580
964
863
518
238
612
397
437
515
539
513
924
756
699
674
298
598
591
501
169
597
59
604
84
933
781
562
232
206
757
518
834
205
356
106
352
248
58
825
92
627
48
837
464
580
913
650
930
122
404
796
572
256
182
170
151
123
896
223
111
158
992
406
611
738
226
302
598
416
555
773
630
594
410
980
280
237
806
268
792
35
225
540
813
891
10
978
789
535
676
70
779
885
99
930
544
566
258
617
70
795
654
445
827
235
445
709
582
543
961
812
171
355
778
254
40
595
228
77
343
502
425
398
367
127
436
302
35
905
635
957
791
627
714
593
846
536
229
599
590
234
573
966
817
329
900
816
983
720
17
524
424
830
328
870
386
689
265
661
958
650
205
817
797
442
193
474
250
557
917
705
643
606
290
206
729
861
340
879
748
253
556
779
198
308
788
343
314
713
563
128
431
930
714
425
803
569
256
451
458
283
425
797
554
919
377
879
71
485
808
144
639
858
709
532
511
18
381
942
327
457
28
521
233
90
813
19
883
139
879
370
85
567
804
500
61
603
515
302
984
199
933
830
99
847
955
710
548
968
371
508
816
44
38
673
380
86
556
911
129
425
789
516
219
961
608
463
828
276
518
621
951
903
891
746
617
647
51
152
263
133
442
210
365
954
341
880
504
516
448
41
664
528
586
869
690
223
264
565
181
335
300
293
875
806
755
697
540
541
142
869
504
937
885
878
974
6
940
503
835
676
2
35
758
121
909
601
593
800
282
515
849
383
380
575
671
711
531
635
735
926
873
460
962
407
282
544
474
506
362
987
351
828
850
239
673
63
862
857
983
854
661
397
497
142
209
926
59
673
950
724
490
574
401
456
434
118
221
448
596
881
853
131
67
316
449
156
382
848
191
354
705
571
98
70
936
291
3
762
589
494
484
569
256
770
931
984
932
51
410
472
129
965
160
473
83
308
634
67
439
384
166
441
365
634
519
892
959
631
180
120
925
120
762
932
365
876
218
222
641
131
592
531
44
302
500
373
709
878
146
362
881
308
404
657
186
660
175
339
471
970
48
927
373
913
873
95
133
610
831
608
162
683
642
664
252
367
905
739
300
298
56
6
321
293
529
356
310
444
283
57
639
483
836
138
819
521
205
125
630
473
439
169
295
457
850
725
693
720
922
361
110
948
351
528
181
724
554
768
505
300
827
296
367
140
523
412
368
216
50
495
870
434
958
845
684
635
934
300
13
126
754
568
78
840
451
328
373
225
121
389
568
478
709
910
71
239
509
299
733
548
487
40
315
386
775
56
168
675
72
427
294
758
910
588
214
788
773
676
292
442
90
809
675
246
934
702
166
141
805
909
140
192
49
296
610
417
743
265
355
26
462
687
254
245
269
2
872
387
208
325
121
997
616
36
391
597
997
62
403
928
161
39
422
600
938
802
263
88
829
793
87
368
159
296
20
96
806
752
967
543
149
902
897
258
926
12
718
160
2
827
304
795
114
511
641
214
464
185
619
343
408
537
549
325
647
191
427
33
165
532
338
829
454
196
900
441
507
725
744
91
258
917
557
597
700
847
439
936
388
237
972
911
482
842
124
850
555
66
887
415
909
746
518
813
656
473
407
504
779
630
289
305
839
242
349
856
556
826
676
328
702
82
977
100
893
606
721
546
408
884
580
461
861
585
202
730
195
243
312
662
930
90
862
36
549
234
275
891
906
291
522
288
2
405
688
68
390
754
774
37
826
100
854
410
297
673
77
115
548
158
441
601
595
310
828
111
787
934
898
315
676
15
263
10
988
77
827
987
398
461
885
679
631
617
399
974
738
264
201
216
738
173
377
655
403
220
339
788
385
95
336
887
755
175
432
332
922
403
576
75
219
443
42
551
225
385
650
83
950
534
374
911
639
845
366
201
419
531
332
568
525
769
396
595
376
920
958
872
601
463
383
390
668
237
14
405
919
331
957
163
745
388
733
365
880
484
125
582
363
962
147
9
252
169
142
615
169
372
932
927
950
87
481
934
556
988
869
274
231
772
507
990
489
472
856
54
956
134
166
86
778
364
969
641
94
217
993
413
270
681
41
471
873
250
260
831
157
133
396
127
571
498
506
866
681
17
807
574
931
989
770
122
62
169
168
619
437
846
429
304
626
944
502
989
291
329
217
518
511
658
810
290
543
608
65
600
130
317
464
757
16
445
967
30
847
980
875
773
922
708
848
403
630
719
947
555
708
208
266
970
373
823
84
676
531
129
628
639
381
570
307
161
821
149
987
755
126
333
466
326
461
367
529
415
104
350
1
919
270
420
262
999
78
970
225
533
892
654
913
303
809
75
835
713
745
315
95
213
357
240
350
697
538
896
269
714
205
373
409
40
84
724
37
86
137
580
942
487
234
893
876
930
761
909
643
617
226
637
248
661
931
495
154
94
966
665
691
72
892
633
334
692
748
275
66
586
972
316
54
570
923
29
149
879
389
537
772
904
68
646
160
323
904
861
219
682
161
873
280
285
27
181
611
29
493
379
576
192
894
617
949
797
642
358
636
193
919
636
620
692
687
257
958
694
848
67
280
477
279
923
348
437
260
419
481
776
618
226
78
223
423
42
934
928
396
622
119
305
641
935
50
195
827
403
735
763
563
789
343
857
449
72
395
78
760
706
970
830
508
217
249
366
667
606
444
826
412
692
658
909
181
733
25
56
205
428
224
677
894
82
222
8
27
265
348
251
877
423
846
642
269
896
503
599
311
684
471
777
878
623
315
954
990
854
724
511
947
946
774
10
674
693
932
499
325
364
598
384
327
354
867
458
842
437
129
708
851
395
760
682
674
214
725
152
500
407
18
818
33
977
557
312
477
142
140
737
351
676
349
260
148
461
788
654
310
944
38
372
681
201
519
565
601
256
112
74
779
977
592
582
870
888
108
510
670
382
300
594
798
465
136
228
454
730
779
706
567
832
914
486
300
693
29
868
930
183
505
905
202
320
935
432
908
660
642
714
559
342
886
786
317
766
504
315
349
188
110
419
196
707
500
831
959
363
618
455
874
326
911
570
350
951
520
23
28
831
667
283
601
472
605
966
49
78
264
84
993
168
161
668
182
692
29
839
82
415
580
729
584
380
504
547
117
150
673
883
962
513
284
634
629
526
252
336
663
822
234
45
508
804
825
52
28
828
58
222
448
643
938
808
640
125
857
291
201
994
30
38
392
502
423
116
48
538
594
973
22
84
11
503
763
441
482
167
421
933
422
788
518
646
734
994
785
799
896
946
465
631
845
126
842
276
975
817
608
124
285
953
759
751
345
354
290
330
556
901
91
584
694
802
546
85
96
391
228
277
21
622
617
912
25
866
211
59
941
66
268
494
218
621
231
777
700
451
498
441
142
634
710
693
198
995
437
772
651
899
168
555
4
124
322
672
926
483
243
807
307
250
166
171
957
159
765
181
933
162
685
474
576
943
355
852
12
566
671
754
211
198
449
670
934
279
457
337
913
987
909
442
530
943
40
673
123
326
233
597
77
995
793
144
310
447
239
13
806
189
514
667
857
545
599
99
522
495
641
77
43
460
718
93
889
301
461
817
457
83
745
334
158
813
455
868
645
73
672
19
822
394
130
823
833
311
165
992
80
305
30
242
156
101
353
866
270
387
800
56
372
677
430
667
419
713
881
335
45
392
261
139
20
703
770
697
447
900
541
455
347
909
884
649
48
442
723
667
350
110
4
837
977
31
175
964
827
164
283
662
295
106
360
278
858
8
588
283
899
873
52
236
496
127
662
576
268
141
800
410
126
72
118
226
746
316
649
982
162
132
606
997
807
211
808
988
632
156
318
808
911
469
803
47
892
98
344
82
517
480
298
861
368
337
199
173
772
469
751
522
800
358
294
852
916
976
963
923
332
940
438
682
560
113
459
819
52
275
379
175
666
974
161
940
385
682
196
515
452
340
120
982
475
986
708
755
350
722
628
693
22
944
68
599
626
550
478
246
97
418
107
135
342
85
620
872
376
992
9
336
522
413
157
702
19
972
675
209
92
623
934
956
608
953
667
348
960
880
643
687
721
198
495
486
426
925
297
409
268
484
121
137
98
101
347
597
741
168
351
928
952
465
920
267
896
723
945
274
453
643
770
746
588
575
716
537
307
571
946
144
735
130
831
168
860
437
932
761
941
917
780
572
389
377
983
650
585
416
430
292
527
826
386
744
240
44
168
750
754
504
412
433
666
779
643
174
597
799
824
539
580
80
869
224
583
725
681
482
862
191
157
597
240
365
217
467
107
766
362
668
248
353
197
838
362
948
912
511
578
442
835
560
255
685
711
42
896
275
988
368
644
929
848
102
220
775
30
738
657
313
326
24
556
860
115
638
757
341
72
909
973
721
633
732
614
833
111
545
910
825
673
486
746
132
908
408
886
607
154
270
798
497
909
475
497
310
29
372
642
240
249
890
251
50
197
169
449
528
375
320
726
745
580
945
17
110
241
852
484
782
56
949
180
255
548
406
960
672
750
833
82
206
818
433
20
685
277
392
560
31
223
626
908
356
325
986
437
588
983
837
34
700
489
357
339
237
690
538
439
123
946
334
266
743
602
75
421
505
36
44
669
342
374
882
421
750
31
493
334
714
14
60
814
67
251
82
127
835
431
407
67
824
713
428
792
923
523
586
87
198
448
191
855
331
619
89
929
72
279
264
218
490
468
47
580
786
101
109
170
345
848
581
814
455
567
66
238
793
666
626
603
811
756
95
263
899
914
751
320
282
83
4
817
761
107
286
206
150
23
690
108
971
398
118
488
73
156
999
831
890
11
285
510
792
143
582
242
677
822
974
995
964
41
502
872
170
356
861
394
309
903
159
688
793
776
739
327
974
485
391
675
294
376
41
251
329
427
250
286
73
543
202
418
236
814
609
337
470
28
676
539
726
545
946
791
422
577
382
971
362
375
821
64
929
338
772
170
227
3
919
858
300
957
222
184
985
479
448
922
717
31
537
525
453
159
616
387
33
103
607
41
997
762
879
623
556
429
837
993
914
576
698
589
958
56
917
912
501
489
472
113
743
464
509
118
862
27
822
109
967
666
428
26
607
694
833
790
831
551
958
249
867
810
985
826
272
431
315
552
610
153
364
243
211
776
415
275
641
357
466
818
619
229
737
738
357
589
489
899
424
990
593
965
89
901
381
772
699
276
759
210
11
996
994
654
288
348
151
280
888
390
785
327
631
154
164
237
749
118
813
171
625
535
815
225
896
682
456
788
172
525
447
53
312
94
752
402
495
183
978
565
86
446
658
405
10
379
928
689
594
589
304
291
648
413
131
894
224
512
624
174
661
144
902
75
823
536
370
265
182
301
583
874
657
205
550
725
857
60
132
836
42
619
102
84
280
227
191
81
887
100
451
866
600
103
870
543
703
8
742
353
590
678
933
748
377
677
183
723
507
653
531
343
834
671
459
172
777
742
99
240
438
311
237
845
359
847
929
548
595
58
343
704
944
858
326
119
863
253
725
341
873
886
153
264
224
687
434
488
869
66
465
850
712
961
336
181
951
171
552
425
866
553
180
449
801
586
476
98
595
971
227
169
535
109
689
581
561
665
473
761
387
395
965
855
453
477
210
103
69
156
786
706
415
244
34
110
285
348
709
395
291
568
651
163
652
637
156
311
609
730
687
492
45
632
557
615
806
196
837
661
55
135
499
322
144
746
34
997
335
147
720
691
433
475
558
786
376
630
920
493
159
35
299
465
132
586
650
591
214
773
981
876
197
551
626
22
565
297
910
395
988
624
767
923
42
628
73
942
674
972
638
228
347
403
307
375
785
946
666
75
455
552
500
584
761
114
390
616
482
421
96
106
740
483
84
643
720
613
873
96
489
949
936
418
409
236
540
15
796
14
617
983
163
390
887
505
608
792
701
862
777
574
633
606
893
93
647
160
921
306
186
717
609
383
640
836
549
828
261
522
828
570
112
324
339
404
567
927
453
185
826
5
197
451
324
538
622
866
72
598
927
444
139
33
70
990
620
846
424
793
622
673
670
90
655
312
434
496
160
92
49
458
338
483
177
526
574
321
454
135
466
344
262
394
816
567
577
159
110
310
540
905
546
267
160
147
740
813
44
451
716
247
229
318
980
275
580
239
187
969
333
142
866
733
180
964
443
480
565
395
593
474
448
620
452
696
13
414
799
498
874
486
478
346
769
916
970
631
282
433
920
997
452
214
127
219
494
987
707
551
623
736
296
803
789
406
454
821
9
424
300
146
808
200
404
83
330
444
23
433
922
300
299
522
668
83
300
905
323
258
256
313
816
991
893
414
341
632
979
349
335
857
34
333
599
563
429
832
211
212
144
587
713
218
140
984
411
142
721
680
874
429
9
413
209
355
917
615
884
804
411
793
813
655
407
201
186
550
785
282
490
291
94
705
684
565
749
791
327
106
528
914
665
545
602
941
146
55
269
492
823
121
750
932
998
88
39
36
201
121
427
2
969
707
156
311
760
221
599
100
454
87
301
82
527
158
376
302
838
24
973
173
402
925
691
748
455
261
87
396
911
520
737
971
767
639
388
523
643
523
272
13
352
251
651
411
450
955
911
978
301
256
44
122
625
31
22
929
546
525
994
791
46
318
203
279
906
252
344
454
588
213
351
215
826
122
685
782
647
847
749
379
502
632
827
276
552
889
76
867
536
161
221
973
983
558
66
164
696
937
768
583
773
760
509
998
842
783
971
816
147
57
648
631
590
501
31
548
478
307
325
22
816
934
492
574
479
671
932
794
419
190
589
421
345
761
928
555
114
283
514
525
329
54
900
321
307
197
970
824
158
163
597
194
450
999
746
312
464
13
597
228
278
153
799
179
767
828
91
518
558
139
477
375
611
880
126
530
355
99
364
718
263
826
695
6
951
749
251
13
37
298
972
624
497
558
543
419
458
992
693
438
27
663
148
374
481
79
73
545
466
467
831
611
675
330
820
890
999
879
486
181
255
7
619
619
306
6
65
261
273
87
982
120
546
467
944
447
845
978
729
376
16
853
159
733
626
131
898
768
370
859
426
319
89
131
697
131
433
358
881
733
422
9
258
527
552
111
4
797
540
883
88
41
316
200
954
837
369
301
70
802
115
507
863
943
951
232
190
684
833
948
791
304
803
214
463
848
968
766
517
339
421
136
194
894
557
735
391
761
723
944
334
463
833
44
632
484
445
177
662
755
601
602
107
652
416
405
343
768
660
309
954
547
678
356
663
949
734
758
948
274
671
722
426
302
629
13
939
767
754
993
561
754
781
952
91
131
306
615
783
184
141
257
610
163
342
997
182
208
509
291
108
353
968
20
629
366
539
712
24
161
88
968
532
782
508
611
833
134
482
886
343
497
594
238
785
587
997
525
218
780
289
357
297
820
94
26
330
885
955
786
682
701
205
607
885
143
500
34
636
602
852
845
721
66
68
509
664
783
128
266
64
455
895
818
397
646
52
858
480
92
374
339
583
345
639
58
364
513
871
747
247
262
653
17
419
612
950
653
142
658
632
692
541
680
403
134
647
6
809
994
122
651
68
447
615
970
799
349
226
785
223
890
717
773
520
584
457
45
229
805
70
582
202
491
821
924
647
174
104
730
166
848
279
815
162
185
742
817
723
460
522
888
206
661
969
200
820
466
115
833
988
932
343
332
133
8
509
760
323
866
869
898
547
388
310
243
45
712
514
850
469
510
583
561
571
880
507
468
313
205
229
780
570
289
588
378
712
858
218
630
801
728
466
468
73
299
292
691
412
734
18
443
781
436
840
724
873
559
611
81
929
185
806
746
642
181
122
101
688
801
565
395
208
481
3
530
875
58
868
873
781
401
917
526
554
586
284
54
144
847
802
754
223
232
345
216
284
146
444
23
44
562
665
321
283
457
442
662
730
654
246
917
928
621
600
940
905
686
177
726
391
122
817
105
405
626
357
957
324
306
533
802
6
6
486
477
465
259
750
718
425
145
649
787
860
652
376
445
700
397
394
550
65
902
712
832
905
21
199
545
430
870
143
773
952
461
322
146
480
375
145
165
300
534
94
798
573
631
913
737
257
426
980
624
367
790
187
216
601
205
100
339
652
654
197
14
915
992
474
612
230
478
251
272
333
128
808
287
392
782
927
913
359
401
408
125
98
924
640
923
376
318
112
959
536
462
446
497
447
170
786
979
209
99
785
588
748
501
792
234
423
811
121
542
963
981
134
701
114
650
783
308
21
765
303
133
377
366
132
982
163
239
171
173
999
982
271
294
599
583
870
560
188
407
823
291
136
727
300
111
187
33
356
781
881
601
829
924
879
611
362
181
102
678
122
960
354
927
641
204
39
137
201
401
717
722
239
406
519
791
887
544
934
555
177
67
151
208
557
274
953
478
958
560
869
47
65
643
343
161
173
512
906
33
359
261
276
643
541
811
139
580
787
265
525
424
215
132
726
784
425
88
564
538
132
133
559
45
601
13
654
725
668
229
781
611
461
55
786
817
425
30
243
470
275
168
925
110
315
427
304
968
109
930
153
299
383
320
928
540
984
125
448
988
827
108
911
894
440
1
104
925
745
418
419
887
510
673
222
577
321
797
292
413
339
263
521
31
377
553
415
686
262
194
278
368
597
834
251
602
913
666
724
256
388
59
68
463
208
48
939
33
196
823
939
383
20
282
659
398
786
541
511
909
731
876
382
637
873
850
827
126
620
765
475
6
605
406
265
867
699
897
784
211
255
601
337
744
924
543
451
336
181
280
560
64
290
614
366
253
225
492
423
251
619
955
446
178
706
760
62
504
284
696
430
706
866
956
95
572
221
823
423
933
772
468
624
708
255
266
211
855
604
659
775
86
10
623
24
151
63
711
836
690
719
565
595
641
385
416
681
180
207
946
785
361
616
293
885
670
499
608
347
134
712
214
456
125
913
912
588
214
523
38
772
391
508
621
955
896
19
906
374
255
950
452
648
329
342
397
818
747
38
683
251
65
113
277
713
995
499
82
119
714
142
764
379
778
103
859
757
586
412
652
855
461
692
675
815
940
415
952
611
104
519
50
644
392
626
466
675
662
485
906
645
411
731
894
734
330
490
152
288
207
256
315
982
490
960
292
311
86
656
153
102
527
899
257
564
894
396
595
273
47
318
452
656
500
882
693
77
977
813
623
585
960
123
592
138
621
756
269
756
826
625
484
166
125
299
240
341
643
366
40
467
996
331
631
478
871
509
462
691
11
690
949
384
772
644
896
964
368
296
641
328
510
106
906
64
742
406
65
406
492
117
623
741
449
791
248
305
521
648
49
689
71
666
131
495
316
314
981
934
863
146
328
802
374
534
172
830
623
388
188
383
976
641
188
800
453
924
758
594
201
813
91
947
139
286
869
885
173
362
247
368
846
884
532
566
962
744
807
526
390
814
162
859
348
252
651
186
730
358
573
590
267
145
160
426
261
501
913
317
87
793
627
792
390
570
838
709
983
9
829
778
233
829
775
216
478
714
271
9
596
93
781
714
293
923
68
451
736
316
980
604
513
873
76
773
470
458
540
619
358
271
3
471
843
930
43
459
729
710
111
891
899
342
378
279
629
535
84
84
325
537
954
834
121
517
96
94
871
106
992
902
365
748
56
918
746
116
829
610
123
238
493
175
149
605
714
739
674
4
745
810
703
6
287
683
25
761
496
330
832
294
899
644
593
406
535
777
959
830
345
592
328
264
789
611
494
562
108
720
808
461
901
772
43
515
167
799
81
413
1
994
769
324
929
573
773
874
733
775
811
493
518
173
347
186
700
981
147
41
160
212
616
715
483
761
235
221
201
52
244
561
340
354
306
572
350
171
188
114
272
768
744
300
106
461
597
262
684
721
776
612
617
57
622
684
71
686
40
874
978
401
397
862
330
511
645
393
518
392
492
430
618
966
921
850
661
987
773
543
108
886
288
406
851
139
257
465
913
895
379
900
515
320
367
588
841
254
319
472
35
238
193
970
501
639
315
339
739
121
437
209
206
858
971
98
367
126
217
380
11
547
69
3
38
358
898
133
847
385
193
874
936
489
108
381
464
864
506
106
99
87
328
808
49
196
384
620
45
307
116
81
248
175
156
235
831
603
704
374
278
497
991
63
419
443
613
814
176
76
23
881
617
615
514
305
924
864
243
130
26
921
129
254
883
49
47
31
937
578
125
349
989
65
471
795
527
709
3
189
397
134
3
980
836
825
629
824
581
732
897
741
64
732
706
732
746
99
332
277
671
691
113
528
176
963
270
538
620
107
732
99
365
90
914
582
301
295
562
233
229
40
682
639
431
658
556
979
480
95
794
842
248
144
311
25
717
866
565
19
614
748
54
595
604
990
101
965
314
469
312
616
393
403
576
130
393
14
624
791
940
700
889
165
473
723
471
37
431
338
307
129
394
864
216
468
424
775
934
169
765
749
829
349
88
675
721
350
836
108
979
453
855
854
55
575
662
705
310
399
945
557
859
226
871
168
399
355
848
355
509
879
289
263
191
813
249
162
270
589
394
80
784
545
210
21
916
920
663
384
349
75
118
256
86
364
112
447
245
675
82
108
582
570
542
853
939
978
983
862
112
792
964
985
352
568
502
676
104
904
340
615
661
591
579
272
982
901
593
849
433
120
618
2
364
782
207
400
728
51
254
752
925
47
136
527
429
686
431
40
622
536
191
36
911
187
229
5
88
290
101
76
586
528
626
296
871
260
366
638
34
714
56
455
830
632
926
729
61
888
437
967
547
212
960
539
578
240
800
403
202
627
913
353
285
737
969
264
192
828
293
558
657
214
204
241
289
162
810
701
583
276
336
800
343
165
970
144
718
681
406
858
994
417
623
436
284
343
150
39
221
245
742
203
360
431
187
31
371
922
880
620
416
736
630
175
349
780
430
82
487
659
676
989
967
625
765
517
94
20
499
819
598
257
328
27
447
686
465
876
925
855
404
567
986
626
236
136
437
797
631
587
450
575
533
472
435
909
849
946
376
751
863
551
416
83
915
734
219
576
712
658
321
162
599
999
372
414
924
187
602
312
820
245
54
254
996
335
53
123
755
139
657
648
112
38
34
724
204
250
104
410
556
510
494
746
235
548
35
199
931
741
292
454
965
854
777
63
708
356
777
821
74
851
425
276
596
371
731
18
388
164
445
127
887
407
696
991
329
890
256
140
83
895
204
727
884
766
552
674
415
216
325
337
49
402
255
922
415
287
332
909
905
137
592
941
379
858
860
837
558
367
435
446
45
496
794
951
424
355
847
104
736
510
237
656
737
667
125
833
912
804
957
720
622
717
246
302
556
862
379
363
687
302
260
18
10
947
858
764
449
143
295
819
74
433
754
496
462
482
494
207
569
996
482
293
149
533
44
656
411
747
24
91
986
298
13
231
110
136
456
398
269
139
562
821
113
652
82
744
641
63
993
919
135
800
12
202
465
562
761
570
422
218
870
296
955
27
854
919
679
521
314
821
831
200
800
236
204
70
708
697
415
911
859
471
114
829
281
342
685
619
880
787
732
790
294
154
228
401
647
917
144
26
761
231
598
531
614
891
651
700
940
475
616
139
457
677
795
856
74
304
540
84
28
692
504
159
549
184
953
553
43
866
86
64
362
168
686
380
409
274
358
842
640
128
370
142
100
732
262
203
409
509
971
643
470
503
717
267
515
546
677
928
276
354
827
73
349
760
968
293
344
963
912
100
713
714
585
902
845
562
196
588
819
814
317
813
990
34
77
190
972
927
726
33
426
95
189
33
31
750
142
793
100
399
880
520
591
359
610
63
868
753
341
985
926
808
146
774
781
421
560
962
334
209
314
961
275
769
738
528
880
649
747
568
914
400
117
606
902
693
414
258
61
468
515
601
348
672
337
947
382
644
712
350
141
664
787
620
803
654
214
753
699
72
918
849
456
649
578
276
813
898
786
433
632
206
841
33
310
833
382
266
629
997
294
653
942
134
895
39
404
266
674
141
381
210
181
500
452
293
718
732
946
173
131
663
383
654
770
881
274
570
863
735
672
42
321
365
671
623
985
185
25
337
407
778
605
139
933
563
289
481
95
797
667
434
136
290
913
367
562
846
156
348
577
713
16
521
937
370
205
526
595
1
471
920
529
51
577
659
824
58
989
559
209
100
801
264
765
934
150
390
569
284
622
592
493
496
458
613
99
610
158
825
190
154
199
585
580
386
706
570
629
766
137
231
383
671
404
110
876
760
779
745
730
992
995
902
744
537
722
52
496
175
487
392
595
291
878
82
688
331
434
279
972
44
176
319
324
743
641
874
540
451
22
465
568
323
938
690
636
68
882
304
700
707
552
935
441
254
447
605
547
801
933
169
515
189
751
485
332
301
623
821
482
329
347
338
472
85
615
894
597
893
606
154
497
90
632
194
501
21
915
670
463
298
334
625
819
671
339
420
158
408
472
856
183
774
189
102
804
963
710
555
51
995
253
211
571
540
355
543
936
440
574
252
173
793
50
898
148
276
561
90
640
965
970
225
125
425
857
930
383
523
515
238
581
469
138
607
210
564
748
49
487
312
784
670
534
600
599
28
379
591
509
153
436
746
889
160
965
619
911
57
291
425
899
884
909
692
51
199
243
739
296
756
118
978
608
831
455
703
934
202
22
881
2
271
688
246
212
694
83
532
665
538
528
87
516
797
132
30
332
721
220
339
399
313
758
892
365
537
993
144
86
769
716
737
912
862
782
917
238
127
757
249
317
971
398
155
960
294
888
203
800
74
37
82
788
695
54
391
993
9
403
489
570
245
467
405
471
185
434
122
761
202
725
224
46
415
772
819
517
943
300
308
566
741
707
173
804
622
821
33
344
85
402
872
247
374
537
271
898
186
714
366
81
564
744
429
595
294
296
296
77
4
599
525
353
691
838
841
554
133
73
260
138
430
815
851
991
632
491
457
681
443
123
720
576
870
801
478
752
439
142
599
924
800
735
114
250
789
55
353
67
655
702
206
401
814
263
217
306
194
81
678
294
153
617
691
160
517
198
350
636
514
611
504
859
691
725
390
486
950
251
265
70
604
279
735
380
554
63
744
561
684
991
258
332
712
590
95
302
143
624
260
684
486
197
431
515
999
713
437
820
999
294
885
836
367
128
366
331
763
343
293
892
568
610
306
333
707
875
302
281
182
234
303
826
835
127
814
935
341
661
990
806
521
1
347
195
923
980
409
85
831
945
309
949
763
941
247
809
121
209
986
497
289
318
782
147
946
818
584
447
928
281
843
269
126
232
46
865
693
210
607
477
367
218
885
706
747
227
743
838
464
389
478
505
805
190
128
562
985
519
139
352
338
184
244
61
108
689
949
557
492
951
691
105
939
557
504
340
389
244
980
84
124
470
664
717
530
374
825
379
532
478
139
52
777
991
793
845
667
233
506
954
85
553
158
932
562
498
398
129
246
815
862
759
793
299
66
263
515
575
13
552
443
485
830
833
544
551
0
380
572
851
2
834
476
864
416
883
252
706
235
962
740
532
946
853
861
510
743
455
532
350
51
615
194
416
696
74
276
694
423
485
635
614
861
246
493
237
79
257
791
841
504
181
54
872
309
562
877
181
845
845
186
621
763
769
696
291
749
318
149
673
763
312
908
777
773
383
162
1
523
70
901
630
220
76
133
920
546
48
652
274
597
445
334
236
209
919
114
912
172
120
515
994
657
623
596
910
775
932
380
648
875
759
556
990
674
851
350
258
795
151
315
409
847
114
625
980
417
660
104
858
399
155
649
275
804
364
844
355
103
842
419
323
41
827
553
756
454
371
652
555
913
49
896
35
386
384
817
280
481
742
971
359
633
140
124
268
365
720
376
290
954
833
244
346
700
806
21
100
199
410
487
284
122
667
142
145
531
429
227
139
200
609
503
19
35
862
445
900
11
89
656
340
96
699
326
800
393
30
120
574
218
469
244
681
293
31
685
605
117
662
453
881
387
506
405
231
359
631
215
414
804
5
748
715
389
813
119
560
775
140
448
806
120
366
264
878
872
933
585
747
779
258
201
355
996
898
288
749
850
956
748
443
685
413
676
715
556
832
125
645
380
458
1
651
941
21
82
486
506
882
480
34
446
881
662
893
712
575
513
587
69
389
614
459
633
70
290
453
536
715
913
449
124
260
351
523
440
866
736
555
95
975
288
637
748
791
955
325
364
524
944
791
353
318
455
46
106
773
137
570
612
467
922
111
226
153
331
321
887
244
288
331
781
837
255
144
831
599
21
679
872
640
752
186
739
538
448
747
913
490
363
526
195
253
447
934
200
704
970
817
220
938
254
963
352
913
708
56
35
826
129
767
558
329
1
951
325
386
557
431
27
530
20
15
800
347
489
692
700
158
575
295
903
542
227
746
195
911
423
863
936
767
11
482
472
603
414
445
480
34
86
519
209
571
5
535
755
148
203
899
421
685
900
574
872
243
559
325
848
69
496
818
471
195
568
147
196
42
121
769
333
198
131
962
273
141
101
992
880
646
279
711
339
625
714
566
75
944
956
845
682
997
56
531
354
354
922
690
202
617
876
305
69
483
283
582
155
242
449
253
452
131
163
133
809
899
192
57
109
820
940
543
958
34
489
924
514
270
769
129
337
102
329
112
753
868
715
776
646
982
161
740
347
222
570
353
516
777
435
88
822
761
921
799
898
694
406
776
356
752
930
755
345
216
120
509
680
286
565
602
394
423
856
846
207
945
59
343
326
97
149
460
449
948
20
516
694
897
88
260
921
456
461
750
188
620
251
775
892
615
896
628
401
799
549
475
898
167
529
245
777
809
176
17
542
603
874
408
499
142
961
355
813
768
138
81
536
799
765
16
330
848
949
151
31
159
40
782
844
794
820
667
132
527
354
740
606
812
983
708
393
470
345
735
74
976
388
670
532
746
578
189
15
683
302
820
779
861
757
400
315
251
282
184
966
247
125
196
830
884
291
290
898
373
922
466
277
785
592
962
93
755
565
815
554
351
849
585
570
940
124
488
256
860
741
325
448
219
203
433
253
961
448
433
331
619
234
934
709
702
290
682
652
962
769
148
831
712
18
44
303
986
869
993
119
341
66
953
391
745
272
589
588
66
638
150
254
198
549
637
529
568
473
918
823
145
315
794
348
862
113
855
735
880
875
980
140
2
49
829
202
770
989
542
62
209
504
834
185
16
203
314
80
244
351
605
900
592
319
512
351
968
805
52
892
455
415
970
545
385
930
575
178
695
887
996
696
6
61
374
990
778
489
496
334
652
379
258
253
88
655
447
722
549
761
300
6
436
222
620
634
244
373
712
978
904
121
964
828
261
61
149
324
849
136
916
450
739
621
57
396
559
290
186
392
290
310
888
284
425
343
539
818
197
67
267
454
465
198
917
82
335
346
287
792
915
812
314
255
35
984
877
990
36
582
728
698
359
621
840
300
803
245
725
76
521
200
222
323
62
374
257
627
305
159
647
296
546
85
738
314
528
496
826
233
519
661
346
795
228
811
609
830
928
838
252
80
146
782
595
241
97
351
164
777
262
690
378
339
924
883
830
517
113
13
848
971
23
874
33
424
92
403
844
71
581
480
633
905
373
947
412
232
39
877
153
381
360
1
918
469
170
928
569
801
39
284
753
352
389
475
759
201
782
808
750
726
663
270
45
197
540
816
646
317
669
750
834
708
804
930
255
432
675
886
423
590
680
137
665
892
358
416
768
495
297
349
777
374
686
108
571
417
882
838
641
694
116
433
896
644
691
867
901
727
632
180
536
233
374
265
974
12
938
702
212
651
873
58
312
776
124
878
965
850
254
343
470
276
734
312
857
591
367
25
571
7
346
393
619
524
895
188
130
7
983
128
840
2
627
929
449
62
221
334
996
235
819
817
841
156
845
421
215
488
805
857
712
133
319
288
328
131
680
266
446
224
895
334
165
669
516
191
604
963
889
308
374
765
645
107
246
961
66
366
215
462
321
330
888
512
355
416
316
350
500
756
901
357
721
624
275
494
68
779
480
458
229
177
194
744
958
268
698
314
928
411
209
748
948
901
814
522
804
367
338
712
606
858
939
124
229
10
769
548
875
276
386
307
841
295
634
444
63
882
501
95
295
435
113
188
36
378
929
659
823
671
257
689
339
364
567
709
279
908
614
386
954
737
685
633
565
80
944
433
590
173
994
920
678
290
685
555
800
551
38
182
550
969
192
801
5
956
871
432
105
638
673
645
205
682
48
227
330
539
756
661
543
419
125
708
704
119
953
0
935
861
605
954
802
866
112
255
767
911
636
516
284
943
948
340
723
497
368
643
182
623
453
437
178
516
991
473
22
637
526
369
461
56
630
705
837
926
328
694
427
693
419
368
711
586
146
857
155
62
404
805
166
923
184
104
993
794
290
521
348
556
605
726
976
668
29
253
94
806
28
904
2
103
167
622
304
77
454
456
248
982
237
841
127
613
914
400
775
353
272
893
748
790
545
628
277
185
732
544
302
811
775
428
734
99
574
539
427
806
198
516
963
898
862
422
158
308
23
943
502
951
917
855
159
324
807
77
596
652
761
32
607
149
323
282
969
506
454
549
84
186
622
259
484
927
901
860
239
929
19
415
923
835
9
235
800
893
111
6
340
394
764
318
591
12
619
643
936
806
598
582
606
506
312
12
357
595
532
965
320
47
602
550
70
248
37
195
804
343
393
971
491
424
758
990
275
41
368
10
498
973
775
654
572
375
730
692
567
657
279
1
774
100
22
270
111
689
361
42
835
602
314
204
729
504
736
75
998
575
603
427
564
893
156
627
302
344
290
237
434
441
154
866
800
688
642
782
445
292
344
212
147
774
427
61
396
535
663
173
377
367
705
488
186
527
875
61
14
116
317
924
336
76
853
788
689
95
896
554
516
878
761
828
493
123
870
779
638
608
833
163
449
268
514
125
157
201
535
648
233
591
680
739
680
34
419
766
824
527
509
997
98
863
381
228
114
768
770
298
3
993
531
491
569
165
39
197
220
378
230
370
182
881
5
2
962
810
832
744
828
765
768
264
244
180
719
9
16
586
511
513
746
447
548
826
598
793
603
62
412
544
258
262
721
28
619
245
688
598
437
553
144
642
996
503
692
763
654
158
870
484
445
513
6
719
658
476
37
862
419
651
808
756
682
869
751
855
297
880
521
723
498
760
633
348
299
965
855
544
315
862
590
702
328
562
677
569
636
270
670
376
0
384
475
606
143
190
519
920
402
799
596
662
44
941
306
7
672
738
952
696
709
992
670
315
959
558
897
899
503
912
378
836
961
937
418
69
50
555
947
240
693
738
820
560
696
857
855
76
584
122
744
62
699
920
701
489
514
397
63
870
655
220
5
224
461
982
748
803
316
839
507
40
411
23
206
534
62
400
872
85
856
419
373
276
977
467
245
989
570
753
654
95
520
467
924
657
437
757
563
331
833
482
393
196
593
293
375
824
835
19
788
725
68
95
941
419
860
764
39
841
159
487
850
840
173
966
704
510
813
280
231
402
572
530
134
5
967
611
959
353
772
160
930
38
991
960
142
753
940
460
643
599
905
462
213
745
911
716
794
245
186
929
856
775
722
348
928
110
662
899
148
905
483
160
135
626
304
874
237
550
947
818
650
809
323
578
269
662
771
308
739
123
504
412
93
344
440
567
939
335
731
442
260
779
944
693
668
958
388
565
819
75
624
709
769
127
120
147
764
405
429
867
730
472
368
692
991
717
368
592
556
131
436
563
33
19
41
989
361
126
919
823
969
841
28
368
234
324
363
726
934
972
640
226
934
375
795
623
88
53
19
407
291
146
251
152
396
751
702
208
526
145
745
544
999
885
397
353
246
421
408
444
235
155
609
16
578
445
516
29
52
349
462
236
988
265
522
561
640
810
368
539
184
504
393
580
592
854
510
7
391
47
509
606
166
320
743
892
904
74
386
369
26
287
606
701
717
927
994
955
440
397
343
806
542
124
723
246
646
593
649
153
216
463
983
283
332
624
639
308
721
392
137
849
544
655
590
426
712
959
524
451
93
854
671
700
679
795
139
759
667
261
794
841
619
21
70
166
260
291
266
637
782
926
95
266
731
251
97
199
106
549
443
217
552
321
106
496
955
206
284
333
444
574
812
992
561
621
305
587
37
265
72
586
663
975
618
275
664
975
690
23
614
525
569
704
14
964
605
608
977
123
2
254
270
810
286
476
293
452
114
316
140
631
490
73
439
79
100
922
791
356
817
563
37
371
886
818
265
256
778
851
549
648
787
776
68
28
697
22
489
935
489
427
957
186
400
231
181
244
85
473
56
152
422
333
968
34
251
685
344
112
390
740
155
980
124
250
253
248
697
64
785
388
19
834
492
904
615
440
341
118
822
691
912
251
733
718
347
481
946
398
429
150
600
245
942
578
157
394
959
952
565
884
429
43
131
271
711
672
166
188
147
334
927
158
165
545
526
559
992
604
6
599
656
769
563
504
357
37
605
518
891
980
460
110
18
128
421
144
968
981
663
158
703
546
106
44
148
829
135
10
55
174
454
446
249
285
920
231
261
695
963
57
20
841
761
64
390
136
783
510
887
468
877
658
48
726
231
937
231
299
671
139
981
607
361
997
672
303
433
593
255
382
498
651
615
759
46
134
908
533
879
523
187
725
712
87
671
215
970
301
632
207
56
597
876
41
340
395
806
307
208
344
580
389
322
516
335
158
160
88
26
828
522
369
324
505
861
864
714
922
503
118
668
296
254
35
700
374
942
653
732
781
194
661
121
129
346
824
588
830
413
141
189
312
830
992
227
113
468
157
294
442
663
131
685
764
640
276
962
353
806
981
692
536
618
304
170
214
876
922
641
642
543
861
828
599
37
249
491
309
812
900
671
961
565
891
544
38
624
816
513
584
878
886
718
176
144
640
441
638
316
533
958
782
322
724
215
86
772
293
86
621
78
275
803
404
676
615
298
782
71
423
463
851
405
412
841
153
825
929
781
349
109
750
877
449
435
780
707
914
338
819
551
892
820
825
305
737
861
57
427
578
496
479
797
928
333
783
88
10
872
747
163
546
751
906
455
8
626
854
485
308
152
741
600
336
92
883
668
384
94
898
29
278
263
328
675
710
82
597
770
864
903
48
806
204
899
71
889
763
650
75
408
993
536
348
7
977
946
536
665
131
38
861
723
799
85
736
432
943
807
500
738
621
219
399
287
712
31
242
188
901
13
697
529
190
596
890
507
216
444
185
487
736
157
271
824
30
375
494
79
655
663
13
234
893
423
611
692
974
899
855
209
288
942
719
202
276
360
719
308
587
652
383
75
404
248
904
289
330
471
827
908
435
809
85
744
404
871
888
405
582
709
615
238
701
338
762
559
479
120
544
44
502
23
220
513
837
833
109
355
774
853
411
904
434
976
12
607
458
682
231
233
311
33
410
352
205
896
156
574
163
534
175
779
619
606
434
746
370
309
474
203
407
836
942
19
793
232
212
839
154
514
459
294
786
84
88
779
453
172
137
911
536
928
304
470
155
186
931
571
7
384
681
536
759
433
598
518
893
592
798
915
404
166
594
854
105
328
108
974
263
734
423
688
776
133
210
407
837
704
537
735
951
135
813
683
641
236
519
791
889
493
664
184
201
604
517
715
60
864
35
236
118
878
930
455
688
388
914
537
163
395
819
483
781
910
340
536
86
621
586
259
308
207
595
491
974
684
777
44
521
672
849
353
908
40
132
987
81
1
887
652
665
342
683
658
57
461
883
199
521
253
900
414
478
416
542
433
597
273
971
972
556
40
761
160
174
956
549
638
380
816
477
311
317
359
69
351
616
979
952
771
207
18
715
528
661
127
876
618
108
516
847
533
366
804
62
650
141
716
599
12
886
219
724
125
129
39
67
83
138
544
842
386
175
356
120
213
527
230
4
185
406
560
157
889
164
804
69
795
353
670
248
129
928
854
704
892
670
21
199
137
623
99
495
851
876
648
8
933
3
77
184
348
202
416
776
786
482
620
277
198
745
207
87
891
408
769
709
392
205
224
79
181
272
621
846
940
783
128
610
942
343
858
815
590
405
295
876
702
555
607
918
186
345
164
138
770
909
591
555
909
535
589
325
581
976
167
794
182
631
735
882
82
603
689
948
483
852
335
67
96
912
607
885
537
51
357
984
450
857
263
149
452
803
342
997
473
719
664
228
228
972
402
148
156
810
645
326
815
257
490
127
274
159
501
54
605
948
398
623
760
707
537
176
824
150
612
886
499
126
936
178
964
24
951
552
433
27
539
854
512
697
366
676
179
142
368
237
413
365
816
807
213
808
584
899
641
747
819
925
848
637
115
555
785
544
786
374
369
130
914
490
644
830
789
628
435
546
993
559
204
425
137
771
885
305
334
346
186
384
325
748
473
732
583
505
110
189
158
243
234
263
47
773
104
158
172
902
885
353
222
703
368
462
679
917
819
351
3
494
961
842
494
889
576
160
12
833
774
236
481
422
795
975
286
862
836
366
557
741
317
880
858
413
310
499
345
35
847
1
783
937
844
634
387
587
176
890
853
541
491
436
594
833
843
774
627
139
574
580
490
824
845
151
435
105
85
784
318
772
241
210
503
326
485
976
103
774
701
724
999
806
250
274
904
370
598
982
439
868
416
811
936
247
38
389
5
303
345
105
995
952
64
21
944
506
120
140
315
549
928
362
555
907
726
52
345
530
740
352
619
299
672
833
31
969
996
589
849
273
874
522
910
170
854
878
257
162
549
583
680
234
986
588
536
977
129
806
932
826
630
591
850
566
373
537
760
91
135
475
378
273
242
784
154
840
387
91
646
936
608
357
896
990
525
744
485
538
144
545
817
380
287
813
867
312
86
23
22
130
118
432
183
889
846
933
350
487
123
780
294
698
932
510
940
946
90
694
577
909
96
585
82
252
919
785
941
32
264
238
665
110
205
717
258
136
321
932
976
983
178
998
113
969
581
945
576
600
571
392
458
582
419
315
268
640
173
946
762
893
800
366
157
858
65
759
464
588
478
124
451
457
876
806
717
634
43
851
727
376
269
269
186
891
88
312
105
458
692
858
235
182
829
468
714
957
972
557
300
22
737
190
571
627
414
271
738
585
614
756
323
151
231
302
410
64
464
543
697
154
713
176
57
478
155
167
414
599
342
803
992
379
459
589
750
452
70
529
497
777
788
629
778
54
459
616
457
139
924
144
650
794
614
264
597
284
965
61
830
278
339
500
700
625
986
515
848
259
222
321
786
257
968
846
12
786
557
792
403
121
312
531
77
892
920
131
109
312
865
577
558
971
864
608
587
499
403
181
351
266
911
839
913
703
740
598
618
66
562
402
595
197
418
435
228
556
589
150
585
111
762
491
988
10
967
301
118
65
46
721
267
590
109
103
487
657
969
813
71
630
30
347
561
386
416
800
988
993
653
149
618
970
913
775
819
138
169
388
375
362
22
828
231
54
96
768
227
831
743
314
449
830
33
105
629
11
6
459
757
248
982
639
930
389
74
656
298
288
713
217
145
740
182
830
817
618
520
865
562
953
631
982
332
594
413
91
509
137
14
955
150
768
443
771
567
37
666
784
414
43
812
40
464
595
48
516
975
724
88
231
790
572
782
477
555
902
323
505
559
102
768
358
342
432
278
773
150
945
976
140
177
569
159
263
669
30
340
389
150
422
568
998
332
731
499
899
616
501
822
155
579
281
830
697
167
620
417
780
454
929
905
290
523
151
548
836
452
450
651
928
729
676
486
556
184
402
880
327
790
555
622
124
885
115
978
1
498
702
656
999
868
185
964
97
231
265
300
320
323
384
179
880
3
363
289
725
334
122
363
942
454
975
130
572
276
653
56
420
947
47
55
535
506
308
756
78
803
910
127
194
697
245
54
893
936
111
131
307
309
350
356
192
913
372
215
882
92
730
739
274
136
61
920
479
845
347
864
397
245
597
183
281
263
904
762
880
90
633
700
491
514
579
563
223
741
660
880
920
973
441
886
574
473
312
957
444
777
326
461
736
631
162
427
252
787
548
39
449
678
838
888
894
514
122
435
76
537
846
754
172
154
966
444
28
511
109
878
132
787
751
186
799
335
589
771
609
511
336
386
69
867
581
247
537
699
513
301
885
222
43
467
177
957
898
430
38
995
111
145
766
196
169
122
25
915
575
879
475
631
201
661
905
228
144
259
948
48
529
815
58
398
168
525
790
699
497
465
475
898
40
971
212
625
462
120
895
680
160
4
250
641
111
212
776
740
281
153
864
857
162
33
396
887
946
829
852
337
871
600
859
253
815
290
714
420
519
611
912
926
582
830
118
305
690
735
942
693
207
23
777
811
965
35
885
867
79
713
696
844
69
540
770
180
535
503
802
546
279
719
441
420
523
909
759
154
97
131
570
894
328
585
354
710
448
990
220
641
925
540
447
138
936
338
458
508
32
668
954
100
456
734
903
651
573
802
949
23
774
66
502
811
29
274
765
523
897
512
567
979
404
940
104
665
464
789
374
564
221
23
985
361
252
528
838
499
332
231
791
609
416
552
862
804
854
815
226
110
562
33
871
233
833
268
295
891
719
989
810
829
568
733
801
30
900
890
999
129
30
949
700
107
123
509
461
354
177
308
408
202
446
43
119
663
53
505
391
421
66
431
51
156
730
70
395
905
621
726
212
203
817
46
913
351
951
680
388
789
718
937
473
371
615
841
949
319
788
420
963
551
209
542
65
298
411
548
734
160
902
485
269
571
428
274
600
447
790
842
687
930
509
136
273
365
296
572
620
48
872
185
614
497
556
833
615
686
66
305
792
314
420
543
341
334
668
257
382
856
709
483
523
419
893
843
905
78
439
280
928
304
151
650
469
490
348
790
955
13
825
413
860
881
342
248
575
644
250
155
0
183
483
675
397
490
869
575
688
515
534
433
697
850
77
719
291
845
503
405
736
523
179
718
23
809
953
427
990
240
917
732
174
575
482
823
170
993
649
509
348
425
889
497
791
385
710
250
460
662
623
2
237
114
182
847
800
856
726
752
348
795
535
966
762
352
794
470
286
977
736
182
292
29
473
902
570
895
408
6
753
644
592
333
243
582
669
730
730
77
322
220
576
121
525
926
624
738
848
192
582
550
503
117
692
118
399
658
972
81
215
585
806
487
84
388
620
12
693
190
441
633
551
681
884
453
126
345
347
287
817
847
885
257
716
601
401
555
44
305
3
496
231
690
240
350
139
55
599
703
614
618
60
134
67
705
890
411
535
413
5
7
641
684
673
440
82
346
558
180
256
320
878
912
611
149
845
634
438
244
71
175
565
576
659
84
960
16
802
358
707
576
672
576
929
653
302
29
421
612
739
529
479
812
160
905
524
786
317
99
837
86
304
817
675
68
377
658
561
22
859
790
323
302
461
687
809
105
183
121
150
731
539
472
167
384
514
727
591
118
998
265
928
911
344
613
996
831
816
656
291
143
144
199
19
796
154
27
32
798
348
584
296
100
61
814
763
292
526
303
943
472
673
769
882
456
937
389
47
279
685
193
799
144
765
387
492
340
37
442
182
512
226
887
287
393
771
637
480
719
259
190
39
283
45
22
816
655
87
628
569
427
70
238
395
456
131
639
723
262
309
333
981
103
173
615
288
573
772
732
3
42
587
944
758
543
418
583
442
145
840
295
854
822
408
219
149
403
955
303
32
287
869
400
658
186
365
948
552
719
278
489
237
17
837
74
750
730
506
532
113
191
899
901
973
555
589
636
254
679
519
165
285
792
102
6
49
692
630
399
752
671
211
336
777
561
987
807
977
986
819
120
198
710
923
344
344
65
631
357
753
628
2
236
371
160
445
123
352
301
375
393
735
357
819
251
603
538
848
29
560
496
561
345
965
365
169
962
550
123
856
531
477
2
713
755
233
538
359
852
79
330
767
469
356
114
508
570
708
863
57
301
568
875
318
644
963
974
898
512
436
323
335
36
640
589
359
846
226
755
134
606
815
408
247
564
749
20
875
664
424
272
203
782
741
511
47
479
213
471
156
429
474
5
958
743
615
865
658
707
839
619
931
512
473
457
532
812
921
251
643
962
239
452
522
224
603
809
872
491
510
242
392
596
221
337
339
809
409
842
240
63
813
130
692
830
62
327
261
402
131
571
790
500
871
951
650
965
217
12
514
409
941
321
625
694
598
21
446
803
888
556
748
511
723
508
255
174
826
448
594
514
622
176
856
78
652
502
127
87
781
615
80
417
219
187
399
931
569
576
587
769
230
546
959
619
20
690
623
583
923
856
685
319
655
251
99
567
674
691
591
807
663
844
666
847
387
205
922
703
372
41
818
995
294
298
163
562
823
263
407
719
947
324
431
826
575
97
984
166
864
214
236
873
400
489
891
181
877
666
883
971
456
373
824
908
734
584
460
284
217
581
23
803
449
559
614
144
195
48
133
126
10
0
403
549
342
252
112
686
549
143
611
493
154
444
983
173
275
275
153
583
541
963
953
792
983
573
995
777
656
172
520
651
947
445
6
5
689
674
145
142
283
559
180
470
48
416
723
378
450
47
804
57
743
972
201
58
771
281
491
973
115
296
283
54
839
366
613
55
456
710
454
684
184
238
735
910
148
95
939
2
774
640
73
655
938
594
267
449
81
524
221
375
292
426
751
204
269
635
81
283
74
884
11
288
481
300
795
228
15
219
404
454
411
442
710
702
815
360
470
689
868
872
334
988
661
597
30
69
228
947
145
28
362
884
887
187
61
335
811
155
293
884
164
729
205
803
401
402
274
25
543
914
686
282
948
7
393
313
573
480
84
140
347
534
572
838
433
38
275
897
974
178
871
404
361
852
299
190
479
810
980
257
653
957
37
709
307
398
52
802
637
767
145
323
539
490
803
674
157
749
176
319
575
930
559
203
884
879
880
554
727
422
338
352
219
606
803
506
61
421
889
221
898
972
684
227
456
111
487
341
51
381
705
979
372
421
260
486
74
454
9
956
446
940
159
778
25
203
908
598
365
852
466
331
640
899
673
531
930
239
236
941
321
6
286
204
165
248
249
939
849
753
184
612
296
914
108
526
954
60
973
798
521
851
720
362
789
773
247
629
183
50
892
747
461
180
464
154
479
588
789
374
719
280
125
151
311
252
410
427
636
138
820
161
710
394
576
126
344
60
75
429
919
762
308
428
830
164
103
700
209
239
817
827
486
559
392
686
230
39
5
850
815
59
132
815
712
88
941
462
732
589
173
700
852
173
870
471
970
321
928
248
895
114
145
470
166
93
731
979
18
238
662
71
77
428
691
372
762
146
762
149
688
535
462
750
107
572
776
751
221
632
559
150
369
906
285
296
452
22
371
440
358
218
358
517
711
522
327
817
708
673
986
717
894
73
612
485
426
214
310
87
215
592
26
494
492
530
643
617
600
410
529
460
754
861
440
651
206
362
567
724
159
853
208
256
521
804
979
777
550
877
190
99
613
750
280
927
527
465
117
232
76
144
643
516
436
442
827
179
894
480
502
709
791
497
790
999
764
291
831
495
395
655
819
594
213
229
759
681
6
532
552
242
678
240
255
566
626
507
513
759
631
524
814
868
873
161
993
337
167
128
819
614
259
363
397
458
38
797
301
957
601
375
396
802
87
134
851
365
230
672
12
660
621
742
629
545
265
787
857
168
636
244
787
670
95
619
954
683
515
170
468
502
229
987
719
942
181
11
941
41
451
450
300
157
170
397
165
662
94
965
215
650
242
672
182
123
875
401
323
953
415
320
362
737
879
969
680
917
666
684
567
961
548
687
900
121
923
377
915
915
12
630
316
788
348
425
144
722
285
949
375
567
721
409
103
771
435
674
542
890
247
996
515
457
111
494
117
111
581
598
453
361
485
779
638
483
947
736
124
115
129
883
792
345
622
760
274
664
307
603
281
714
528
883
728
322
672
111
492
27
479
773
106
985
405
582
931
404
243
394
830
816
888
287
541
659
414
434
413
169
339
96
816
305
876
274
68
470
895
256
262
585
738
98
38
551
484
181
409
673
176
62
223
159
327
900
184
454
129
268
897
195
483
109
153
925
528
97
492
438
890
319
455
223
679
540
661
665
591
791
244
588
66
139
61
882
257
307
982
158
897
283
798
596
149
0
226
147
357
400
800
817
184
475
775
562
459
244
934
731
559
759
802
757
768
696
622
856
131
774
74
393
455
254
127
240
600
378
179
903
916
16
294
568
801
115
145
539
41
841
356
439
554
971
419
285
344
881
616
54
142
592
893
727
126
529
835
157
404
146
213
922
673
377
323
285
636
47
36
859
497
219
846
993
341
53
51
784
716
566
728
572
384
486
44
562
401
715
673
842
710
369
707
921
798
231
485
489
914
576
228
563
453
548
410
350
709
454
804
463
486
729
904
673
990
282
937
38
526
351
263
109
287
927
847
578
582
569
465
36
258
928
66
82
588
247
872
42
578
500
553
823
753
395
687
336
204
400
688
975
93
583
308
688
629
892
938
332
562
311
75
77
225
957
487
281
255
612
636
827
711
930
852
210
241
500
998
999
357
834
378
831
780
639
734
238
145
10
177
325
895
749
306
439
709
188
356
496
602
609
353
474
589
575
678
400
701
345
343
942
306
669
579
329
8
265
514
925
515
528
421
271
425
975
915
156
874
108
506
434
459
960
828
133
858
324
798
290
569
274
631
166
259
481
979
722
562
495
96
668
16
737
924
598
698
310
75
633
237
912
289
131
562
900
851
135
287
866
886
581
218
600
518
838
288
547
508
503
25
831
657
795
171
529
843
315
809
13
41
103
553
323
970
999
131
22
732
942
126
204
844
721
759
862
971
798
655
725
532
205
534
375
745
8
311
504
428
8
435
303
811
200
689
377
182
734
68
13
914
483
479
953
616
425
288
495
493
633
766
232
574
356
19
790
984
346
636
815
614
728
895
301
151
891
23
727
419
345
919
752
940
583
453
671
295
627
771
320
377
210
349
435
763
144
799
837
564
912
918
600
521
399
137
526
369
808
368
719
465
104
760
913
979
808
623
456
190
779
32
454
699
562
488
97
331
744
388
559
783
572
940
127
219
321
775
984
14
218
913
739
185
662
619
631
269
297
521
928
656
125
863
925
524
713
45
790
225
132
125
599
154
208
473
533
451
712
48
246
211
5
554
633
468
835
609
761
779
211
670
145
594
212
479
224
652
761
333
120
908
958
645
126
311
795
331
84
522
27
267
590
336
772
70
903
2
151
717
525
342
852
729
775
699
626
876
962
97
461
771
685
618
679
813
120
195
932
966
851
910
486
15
420
644
496
61
103
431
888
356
767
708
779
280
59
473
233
53
54
30
416
326
934
41
213
87
814
335
938
515
384
780
74
319
438
772
695
567
449
138
105
316
479
928
905
407
392
650
595
594
616
126
587
146
476
812
865
353
99
145
85
876
256
151
218
867
525
480
945
750
787
40
907
626
653
449
733
774
787
9
334
58
162
377
214
622
541
783
470
464
687
316
884
670
548
375
956
668
497
340
144
478
359
114
10
392
76
578
13
747
121
48
831
425
977
550
701
322
569
250
231
950
300
725
581
616
983
423
665
698
595
801
211
834
39
919
400
658
114
578
471
524
989
900
928
53
253
996
507
521
331
923
722
480
901
394
717
759
634
14
699
393
597
646
507
78
143
782
767
266
737
596
553
453
126
980
155
331
659
499
371
338
498
575
345
481
789
903
102
329
327
155
988
260
422
288
384
381
79
991
902
375
671
641
490
517
942
836
979
631
335
578
123
247
623
702
361
79
682
101
894
257
190
382
404
935
9
845
720
823
264
290
570
500
806
480
847
335
544
804
330
258
725
965
334
581
694
602
487
672
264
547
541
404
450
753
557
195
580
635
619
990
645
893
119
425
900
976
859
277
753
624
270
148
909
802
784
402
724
400
475
786
74
386
605
123
305
697
646
171
474
514
459
402
683
730
859
487
494
722
14
758
980
514
58
420
348
708
804
928
877
795
59
907
186
167
451
935
640
5
654
733
293
836
179
680
440
357
109
890
711
727
22
938
247
915
998
404
79
476
975
246
177
517
657
638
950
444
191
145
629
320
842
962
382
200
284
653
988
840
632
18
110
0
609
126
753
394
490
19
648
89
586
837
106
792
467
686
963
193
359
859
792
548
832
92
170
583
759
176
737
491
396
765
467
474
642
650
505
491
366
906
952
851
153
834
142
786
254
910
872
333
952
466
896
943
262
135
473
281
557
312
51
275
71
253
314
186
684
145
266
703
163
870
563
478
311
661
125
381
712
269
986
957
134
237
455
139
685
984
10
350
55
523
211
60
206
497
378
599
326
383
917
721
315
237
577
542
196
632
219
780
344
923
766
478
936
669
844
654
936
998
509
653
369
436
609
881
255
518
443
854
909
167
128
653
92
846
284
242
603
54
558
522
22
946
990
26
646
19
614
488
624
235
995
484
982
967
54
669
336
512
158
415
889
376
918
566
446
62
838
663
633
755
301
694
777
476
806
923
161
384
186
67
367
795
311
435
53
323
91
966
878
513
762
899
819
842
49
279
273
335
959
219
98
795
318
416
577
887
686
786
668
295
217
991
481
836
285
0
170
579
107
124
516
625
804
347
965
992
333
124
832
352
676
791
902
765
265
498
711
353
663
427
321
245
873
569
477
781
162
395
787
660
748
819
649
157
310
86
148
707
665
343
810
536
584
566
690
457
524
319
42
216
561
47
658
67
202
144
615
756
372
744
260
419
649
928
592
260
539
806
56
73
431
822
371
895
518
254
243
471
188
930
658
251
641
605
644
100
771
259
829
907
236
242
414
78
780
320
740
61
881
921
811
683
187
304
306
204
415
539
89
556
674
421
408
54
810
237
35
789
21
38
155
105
467
617
314
941
113
480
312
688
494
582
514
431
848
263
485
478
510
407
277
346
900
286
326
125
778
677
422
301
65
709
794
870
953
811
541
68
63
108
613
978
805
743
258
653
863
45
982
999
90
467
472
4
787
694
847
9
226
652
301
11
818
376
421
92
508
856
375
214
324
61
225
476
874
883
222
699
808
494
800
324
532
158
420
517
680
75
201
120
481
442
542
962
935
5
309
881
21
879
332
560
432
152
967
280
924
63
32
6
396
221
466
99
441
87
393
641
35
328
936
424
535
454
399
434
624
409
903
617
751
757
527
141
962
921
895
752
518
19
949
973
682
646
565
164
802
920
571
269
941
998
190
109
429
349
482
698
464
271
865
744
836
777
530
51
920
853
506
806
413
504
744
171
497
805
259
573
784
982
818
759
384
159
384
759
936
44
39
247
225
184
660
919
449
524
884
976
8
296
478
315
501
870
922
435
680
468
396
932
581
852
701
152
554
885
794
24
978
435
843
44
407
167
273
221
476
227
375
584
204
679
66
791
57
6
34
741
511
7
628
585
996
777
957
593
477
788
16
553
26
871
616
759
528
196
746
532
449
978
325
264
172
412
272
425
660
294
470
434
351
825
311
994
216
844
384
390
601
351
371
863
709
105
607
57
713
543
382
972
426
862
914
84
999
641
678
168
573
977
466
811
485
705
355
157
226
512
134
463
831
908
263
456
193
763
582
0
600
202
129
334
8
946
500
569
285
19
649
186
166
36
41
664
360
474
341
598
139
40
260
35
622
865
609
689
403
974
432
616
608
735
601
845
150
665
506
788
274
677
792
775
484
677
231
202
750
333
962
647
492
248
154
570
810
625
9
876
508
351
100
4
124
902
65
409
141
997
940
267
275
286
636
569
352
38
59
352
441
3
220
627
57
376
691
829
509
134
815
804
453
66
728
789
480
588
607
592
493
699
421
56
161
893
903
749
734
116
491
56
625
472
161
962
479
458
223
548
728
794
275
747
48
640
691
115
484
613
772
427
96
840
505
223
512
741
92
120
579
925
852
244
67
452
954
898
648
268
435
838
66
966
861
224
675
547
248
575
707
460
806
50
487
446
705
761
720
977
405
857
602
37
857
137
472
362
827
975
841
592
851
61
688
607
175
37
185
358
286
140
470
27
647
578
732
12
890
821
217
801
96
842
268
362
511
811
134
565
742
442
98
988
918
934
370
15
259
26
523
436
954
493
893
279
509
990
326
416
753
497
248
855
566
533
992
933
631
570
881
218
136
949
805
295
383
661
701
897
936
10
354
920
35
709
414
711
533
48
130
43
271
644
514
818
204
787
591
518
854
731
108
420
305
993
391
728
787
989
750
103
933
920
467
592
241
466
973
864
907
715
136
419
100
194
727
59
873
549
588
359
947
90
999
835
346
633
675
483
413
526
286
649
502
811
939
218
489
464
204
609
0
555
9
968
369
363
575
891
467
567
895
632
466
990
815
902
4
554
842
632
959
295
69
972
491
730
622
11
776
827
624
560
688
219
862
219
186
99
661
790
771
650
303
681
311
968
568
121
158
72
125
369
777
786
114
238
439
122
127
774
127
449
263
831
889
494
489
493
368
272
955
869
734
647
148
394
464
354
332
996
150
338
682
134
863
512
188
504
44
288
738
494
498
568
97
392
829
302
113
973
258
594
127
388
408
942
827
895
597
653
439
478
843
56
819
390
873
113
955
613
227
453
102
775
106
135
745
380
358
265
933
318
208
61
97
361
160
475
27
904
46
245
172
527
475
25
172
772
849
169
367
644
447
353
460
901
563
471
650
559
860
533
525
481
466
381
682
55
363
710
292
131
320
636
369
142
558
729
86
396
758
362
674
285
234
763
803
507
946
556
889
623
701
844
83
853
303
378
843
864
699
827
780
68
369
823
317
255
356
543
976
508
731
641
624
295
872
373
49
532
92
965
716
79
850
429
271
752
905
803
212
52
519
920
990
282
730
857
42
740
775
140
182
975
28
491
429
527
391
988
476
801
462
671
308
197
15
18
326
237
844
745
687
805
292
78
535
830
652
659
833
18
804
673
860
827
966
853
627
617
715
558
793
627
273
625
358
990
421
9
260
530
71
588
313
303
47
500
632
521
351
182
660
78
58
711
779
767
894
388
83
775
503
998
458
540
526
694
80
791
52
980
639
698
862
123
64
946
506
54
230
978
622
418
445
281
990
305
172
79
752
898
634
449
493
637
908
750
510
471
362
718
226
284
731
14
58
126
453
943
448
316
7
800
158
748
74
240
438
783
319
295
360
210
543
433
261
307
407
197
991
248
791
862
283
485
111
675
488
418
24
737
179
571
201
674
694
175
396
682
62
315
853
967
3
837
651
382
974
821
159
453
406
235
738
216
663
701
418
699
991
308
780
887
132
52
191
712
465
871
985
913
141
79
832
749
994
938
849
364
939
961
390
588
523
117
183
870
599
158
177
622
142
794
294
817
168
843
517
171
675
584
446
840
87
174
914
941
350
362
394
243
588
491
601
940
45
219
622
263
736
314
779
229
725
177
155
793
837
115
900
569
540
722
367
763
267
312
873
923
328
526
587
94
533
935
158
341
88
89
770
43
338
712
390
270
598
409
154
403
950
736
974
911
726
59
362
617
137
775
306
895
32
940
539
949
67
2
744
316
482
645
864
680
672
115
93
235
126
299
751
381
86
844
967
350
115
642
848
115
122
955
762
499
749
191
416
444
313
107
287
200
909
132
71
358
739
550
397
921
932
631
305
770
776
632
223
947
244
626
596
207
882
871
992
200
287
164
216
49
676
821
148
901
914
904
546
613
154
762
452
915
910
258
776
79
579
107
605
653
384
46
15
917
480
962
120
1
769
199
922
425
37
428
693
619
322
547
549
335
237
859
410
773
547
656
764
129
260
142
976
780
579
312
534
508
214
353
736
422
59
50
414
216
850
525
40
298
175
957
26
853
116
472
635
557
162
963
960
716
377
709
46
428
428
400
908
62
53
716
721
936
52
188
341
678
932
649
739
4
409
98
55
790
96
807
396
894
392
105
789
848
915
120
715
65
214
435
820
406
214
582
828
964
424
582
705
756
802
421
687
522
463
966
494
764
497
962
648
434
549
655
523
708
132
72
118
30
540
245
816
110
338
290
381
505
357
815
671
516
909
186
57
407
157
948
993
270
135
69
155
103
300
538
148
994
19
559
528
244
58
499
308
241
893
232
772
902
840
665
407
219
187
992
66
245
275
591
198
628
291
904
457
232
657
28
548
127
54
108
19
555
754
154
788
695
883
656
593
86
478
842
835
387
418
974
874
479
765
691
881
672
890
180
406
78
933
39
511
913
255
656
375
190
458
660
64
642
858
359
189
446
558
714
839
568
343
184
5
896
292
487
569
953
317
712
228
113
757
618
265
600
616
355
195
226
229
644
338
749
526
642
491
184
713
514
342
544
190
83
134
324
973
659
700
429
729
909
619
39
15
754
840
598
357
476
868
904
413
540
574
702
500
949
618
588
729
160
818
283
332
955
781
770
39
625
269
522
406
84
913
982
298
896
152
626
131
787
296
799
655
11
719
203
666
396
893
622
614
544
490
709
468
918
857
350
123
632
776
783
933
683
919
662
452
163
456
72
624
642
405
792
775
593
663
688
814
371
646
271
862
201
859
828
981
254
816
1
109
608
116
308
201
22
759
391
384
306
896
845
542
303
574
287
249
239
761
529
511
653
381
553
252
13
264
302
802
28
104
357
913
518
720
855
249
895
42
274
232
797
843
287
385
678
606
335
470
208
163
375
708
556
491
485
108
799
403
346
422
704
195
726
290
571
452
853
395
714
794
149
56
817
229
420
884
948
167
680
953
758
356
796
346
826
501
382
542
278
830
337
934
788
959
84
199
448
764
905
805
293
833
352
591
180
739
805
75
343
686
212
670
134
896
20
544
550
802
471
370
557
98
759
224
494
603
105
75
673
792
603
169
536
391
704
721
996
837
479
734
786
2
549
922
984
681
431
952
75
876
58
925
981
677
768
544
601
875
721
479
910
998
114
412
272
402
200
334
616
323
147
276
621
806
569
561
729
247
441
101
441
461
278
434
323
51
581
653
691
392
546
261
726
834
799
495
832
646
773
452
206
834
768
895
124
85
178
179
756
221
787
988
948
839
713
291
641
929
357
583
702
67
586
101
560
547
822
10
221
324
964
335
704
860
243
97
324
132
569
801
113
118
787
479
416
791
768
64
375
73
858
864
515
847
456
211
281
939
318
182
136
761
591
32
908
92
42
833
728
969
772
723
491
421
437
524
706
649
476
727
664
903
603
463
899
431
119
922
562
11
363
751
364
787
672
540
194
486
238
79
159
128
964
674
715
661
830
576
83
444
996
19
628
164
682
986
364
137
187
610
292
540
124
874
153
322
122
666
634
676
82
278
191
572
545
185
154
548
774
29
931
598
868
601
172
612
266
525
117
402
373
351
435
723
301
414
476
256
486
865
997
141
402
696
733
151
487
13
138
813
22
105
30
800
339
695
196
150
366
864
208
943
23
495
754
508
650
749
305
367
870
561
677
827
322
824
33
877
867
85
739
275
275
581
499
916
149
492
235
963
525
246
587
944
268
638
290
233
444
430
900
822
688
707
423
137
878
548
815
285
261
929
787
755
611
849
614
539
983
25
839
525
224
766
383
385
206
345
363
57
738
587
856
234
185
996
866
606
41
437
99
56
500
960
4
181
577
557
217
81
739
253
393
23
646
219
529
580
908
65
666
237
724
640
575
462
91
231
425
466
271
769
135
353
26
846
796
627
773
619
770
772
63
259
898
194
506
712
410
216
856
235
520
209
305
46
5
391
674
169
489
502
804
388
940
313
310
604
495
631
387
437
194
378
995
497
130
961
520
105
537
824
638
703
35
702
238
731
702
357
910
558
404
7
224
502
259
680
251
343
376
724
831
966
54
449
972
215
49
782
1
490
638
653
479
137
479
209
299
381
501
409
470
710
361
828
771
603
855
996
469
951
433
715
795
651
798
324
293
438
541
482
184
442
717
720
677
162
586
872
53
690
963
690
937
170
942
907
452
796
956
143
82
930
419
62
808
781
60
779
772
257
84
960
277
721
440
984
579
47
721
122
291
213
397
333
266
801
21
205
646
23
131
73
194
175
267
636
464
416
22
832
298
456
550
949
859
50
301
727
43
300
513
732
194
412
112
217
673
330
948
388
743
864
360
950
130
561
266
160
43
703
796
372
719
314
924
155
462
513
512
532
129
664
399
455
650
665
550
544
586
762
749
602
276
310
173
127
448
784
905
756
788
341
737
531
943
245
39
169
856
42
60
949
409
441
980
261
254
917
611
746
486
957
513
536
696
534
177
643
972
302
728
123
689
946
844
306
648
886
817
441
725
393
531
417
154
214
556
878
185
200
390
508
127
925
310
179
311
706
927
499
559
961
718
812
883
489
643
235
654
827
907
954
791
574
591
5
762
721
726
187
270
354
635
982
144
770
742
755
512
177
234
790
39
681
485
796
525
562
992
657
797
708
670
425
117
358
150
967
610
196
309
874
430
799
128
602
437
616
621
828
494
863
304
343
651
959
958
275
585
867
11
166
38
28
834
128
921
271
339
725
486
468
850
873
462
944
32
373
354
234
37
746
692
767
691
406
902
481
697
529
712
971
167
235
391
668
548
976
769
427
366
251
740
201
704
357
6
251
11
836
124
235
796
360
515
652
858
135
761
125
970
374
48
677
175
260
769
192
523
677
424
607
146
417
198
959
137
534
118
658
535
606
560
850
839
193
756
805
267
698
648
463
887
228
244
849
551
956
612
575
136
879
571
355
894
724
658
969
474
932
273
421
231
595
939
736
439
963
714
391
883
89
143
320
828
206
154
563
698
393
357
42
665
689
341
571
983
960
949
399
445
88
936
951
611
874
856
441
729
490
632
25
828
77
769
553
869
637
681
736
333
117
309
561
190
600
672
181
886
613
305
216
550
762
373
982
864
667
243
161
552
129
50
571
468
305
507
616
78
415
327
421
382
361
300
966
129
848
630
317
277
59
340
915
20
408
377
369
921
832
367
416
403
230
253
880
92
358
653
320
320
179
27
938
608
725
307
298
186
63
472
131
664
882
505
729
700
948
846
684
105
137
101
852
611
109
186
652
977
693
648
184
460
212
492
410
21
407
867
297
206
839
554
441
877
678
926
56
731
817
418
270
436
536
387
377
753
392
546
240
343
685
630
6
840
404
67
219
940
873
878
283
59
470
323
578
165
34
114
207
532
346
84
347
249
52
793
832
891
871
334
913
534
480
505
18
313
39
236
50
844
32
239
264
339
700
250
634
799
264
306
497
533
205
578
585
9
245
641
836
269
251
649
510
513
356
525
646
26
665
251
340
282
835
173
696
482
26
859
792
433
831
109
24
410
248
355
462
329
939
410
221
529
477
796
252
554
470
779
130
217
348
378
441
592
635
846
913
636
294
168
397
219
433
784
844
913
68
643
977
984
160
439
639
971
298
424
281
465
16
995
845
328
774
968
914
91
15
981
266
866
302
239
414
695
123
711
408
48
14
458
648
747
135
960
354
387
922
680
615
496
999
218
998
365
106
702
809
201
881
771
141
669
858
14
617
535
283
540
103
889
562
565
932
335
608
354
521
998
633
793
260
872
111
823
15
169
294
764
921
740
489
49
327
200
572
538
748
901
228
303
987
332
566
706
584
590
374
189
731
430
928
237
89
390
948
260
97
290
187
622
798
110
336
213
654
713
225
795
69
123
485
111
262
807
647
292
64
590
31
400
868
448
115
252
410
806
801
93
337
426
383
98
128
29
81
685
57
825
706
427
390
709
756
897
647
957
46
383
357
989
816
567
60
585
807
20
428
619
317
287
57
494
510
121
29
53
926
594
444
543
774
357
412
21
393
48
106
965
365
162
761
215
391
929
807
746
742
77
208
833
213
486
882
32
642
211
247
518
580
911
773
895
744
351
400
664
738
701
683
27
334
167
800
462
737
163
941
684
592
803
383
529
889
107
397
209
26
769
71
588
355
678
58
676
160
59
117
33
739
403
475
487
616
27
800
976
769
180
104
632
267
275
640
151
687
259
909
317
2
162
905
138
832
120
143
215
718
507
959
327
272
425
41
756
388
783
19
535
841
683
874
214
447
67
966
554
449
288
150
470
570
90
448
526
887
91
623
723
878
919
275
202
992
367
423
50
681
809
106
356
778
675
701
8
510
645
13
614
304
927
235
869
96
900
852
750
713
319
31
947
69
47
636
642
665
643
322
957
265
732
424
814
760
809
981
968
439
9
966
56
492
68
974
372
210
774
470
351
65
297
426
904
62
541
64
253
903
859
903
828
331
526
104
185
20
989
643
79
994
90
606
492
399
260
583
728
53
789
556
798
467
526
554
312
662
953
540
210
143
8
77
188
53
68
564
894
737
158
818
735
797
171
22
334
916
92
514
649
229
758
153
177
403
13
806
18
871
501
71
171
972
413
792
317
913
583
46
555
816
449
810
609
325
47
453
798
579
172
621
921
805
758
95
521
139
262
710
175
675
490
987
258
747
993
622
15
463
354
59
902
168
967
938
655
61
159
555
559
568
877
894
548
579
153
153
334
202
744
651
611
686
131
819
659
483
959
561
36
62
533
653
278
329
695
972
930
652
692
37
218
880
515
657
633
178
600
17
193
291
946
344
707
189
466
71
547
297
439
737
467
831
316
325
290
995
783
667
554
345
729
193
501
33
700
523
5
175
536
941
170
621
626
53
686
367
495
534
973
35
891
661
310
250
240
680
440
861
960
220
604
701
626
848
308
161
728
677
252
450
194
645
41
0
372
913
75
898
596
394
996
154
818
209
848
208
352
358
604
12
957
602
472
119
605
325
799
597
908
303
866
296
450
19
237
848
737
562
36
250
981
423
946
711
605
188
770
226
339
654
420
53
365
840
216
812
148
519
146
144
466
232
40
566
971
15
446
316
658
294
512
20
632
264
340
80
601
41
755
51
384
940
551
27
722
886
488
289
244
475
725
148
397
610
65
85
32
607
80
458
471
178
536
426
54
637
389
592
149
863
613
785
191
280
994
976
620
408
643
908
884
690
400
430
946
528
918
731
115
833
997
253
940
821
680
902
408
884
668
617
498
848
727
857
147
333
107
755
374
442
931
533
992
543
500
859
418
126
437
668
4
965
213
828
358
259
699
936
464
346
495
459
480
742
808
523
134
56
843
296
324
501
825
159
422
993
10
693
850
583
212
422
562
163
769
455
348
87
517
258
13
15
575
654
598
91
153
751
111
111
861
854
961
731
416
686
190
34
936
825
986
211
592
487
491
61
301
447
515
841
665
601
670
560
29
333
5
625
181
385
696
147
540
585
395
604
41
809
786
803
551
841
419
616
735
377
309
321
614
603
301
698
916
226
527
672
921
95
43
102
780
969
796
380
138
446
642
488
956
181
445
903
222
369
558
888
83
368
920
264
692
463
659
893
6
931
174
529
347
155
880
387
732
132
170
793
62
891
9
201
73
947
443
46
726
146
33
344
682
231
272
708
763
772
107
135
392
541
987
427
301
539
789
17
107
197
731
840
908
113
257
286
924
501
764
1
404
68
442
130
564
345
988
941
164
697
737
292
8
607
521
175
551
425
634
928
912
354
84
695
368
194
228
766
657
477
267
426
374
287
923
637
205
332
189
252
513
653
88
163
206
742
994
326
167
61
121
541
623
162
708
170
287
886
678
364
737
479
606
758
27
238
476
948
701
484
68
763
385
728
741
675
93
224
610
503
844
691
424
974
497
136
46
861
822
86
631
260
146
77
473
348
187
998
155
984
223
603
237
765
471
218
815
155
214
179
424
178
553
66
871
130
465
637
537
739
419
392
146
327
809
915
9
452
59
272
185
279
710
516
380
318
68
362
16
300
653
890
527
926
699
825
602
582
698
199
836
167
746
535
340
305
590
606
69
75
929
714
253
83
583
298
158
258
452
913
822
194
625
79
169
695
37
283
674
18
173
115
450
0
290
747
230
46
786
395
478
841
968
523
134
292
117
626
901
868
807
950
280
855
596
355
266
424
38
187
454
666
747
297
521
89
329
776
550
108
692
591
837
675
435
564
716
74
291
860
169
371
653
466
507
657
40
43
700
403
24
607
71
191
268
666
33
715
531
936
610
574
149
66
53
7
363
195
818
440
159
80
963
468
252
217
46
968
821
667
169
576
995
148
161
524
921
929
982
28
812
284
337
995
226
983
64
362
551
947
73
509
716
487
127
361
270
898
484
937
449
695
189
340
757
503
245
729
632
852
992
767
392
578
215
713
796
415
91
768
704
926
660
332
68
185
355
744
425
155
882
564
102
267
586
159
303
792
498
775
391
169
319
783
48
363
583
904
974
86
503
965
727
381
565
455
560
888
760
595
181
502
127
611
74
78
634
733
473
944
77
741
700
375
65
56
972
315
568
670
880
405
869
771
978
665
576
537
216
740
897
865
153
910
988
777
731
66
737
738
150
689
293
388
148
393
807
521
364
34
447
522
54
785
318
388
538
985
55
484
510
304
611
696
533
185
742
402
275
690
767
928
21
131
60
396
211
598
386
231
111
839
363
55
169
746
390
291
740
929
740
765
870
622
15
562
623
547
977
913
342
227
118
176
688
389
872
227
958
23
696
326
994
863
379
144
993
349
264
117
884
823
684
847
253
419
382
266
830
900
937
696
863
413
723
443
519
520
303
739
618
591
880
201
724
863
229
536
337
727
759
776
826
849
686
517
181
396
338
563
927
296
707
666
376
537
1
241
434
844
404
566
957
908
885
720
13
257
899
279
287
197
217
357
18
446
139
681
536
64
768
821
396
281
5
581
141
966
431
166
148
49
61
553
446
581
649
940
384
246
352
124
549
730
985
246
421
624
921
222
638
740
729
756
940
526
764
674
242
854
966
827
145
658
635
476
852
773
950
654
869
632
445
241
582
617
636
716
831
173
653
513
263
301
320
281
322
300
402
351
268
147
197
274
298
969
754
544
229
58
971
387
403
845
778
501
900
830
836
201
866
564
545
881
472
870
68
451
140
716
195
467
939
736
393
601
44
179
398
780
255
66
434
708
253
568
41
342
790
531
885
784
151
892
646
194
164
616
447
939
916
550
638
427
452
273
59
304
898
386
419
840
389
880
68
764
158
494
915
41
283
110
902
652
48
799
431
540
257
723
510
408
73
795
733
550
126
923
914
903
374
541
841
141
408
489
627
318
910
166
503
980
837
337
145
692
706
499
992
172
719
807
336
875
761
541
585
15
920
625
934
48
577
922
66
671
995
255
81
462
340
199
203
98
331
745
290
891
578
857
507
384
546
472
946
583
636
824
683
937
271
185
484
912
213
27
923
148
108
973
93
439
528
489
838
458
404
296
686
826
77
198
171
877
573
217
571
465
472
194
710
455
717
177
483
48
396
210
464
862
961
57
53
491
159
173
808
20
566
596
38
949
868
320
484
127
692
588
132
45
299
512
197
553
935
723
339
524
367
311
290
661
928
138
799
917
358
388
550
22
101
439
234
85
624
994
890
680
443
687
21
584
108
360
949
59
299
635
549
14
55
439
999
708
522
375
61
358
662
352
298
49
63
52
105
162
690
789
621
489
663
680
842
10
545
771
797
161
373
80
61
189
497
175
493
174
505
580
228
524
863
578
160
826
523
743
805
796
236
671
242
621
444
576
365
104
577
225
101
947
634
410
749
292
370
993
256
356
870
969
566
287
668
83
180
637
318
818
122
131
231
333
58
169
79
666
786
124
135
424
938
768
404
850
430
836
684
623
668
430
410
389
662
195
64
408
456
539
455
882
236
327
236
939
737
686
963
292
264
504
23
646
959
130
167
524
577
695
996
423
403
503
692
360
436
365
235
794
316
215
236
793
235
886
637
58
513
122
895
160
958
385
329
36
171
410
361
817
340
990
610
753
468
669
996
826
459
301
432
236
277
216
434
492
354
484
916
853
763
679
790
642
940
799
700
404
323
573
24
300
379
221
349
810
822
236
847
993
488
311
398
536
197
275
268
327
896
679
861
546
650
23
247
489
779
776
572
324
655
384
46
483
460
361
956
948
970
380
25
980
704
336
476
415
495
868
67
900
295
470
620
532
201
284
783
120
173
411
189
172
114
778
696
192
255
792
18
393
896
749
915
199
335
657
13
49
262
756
978
721
917
787
99
15
240
664
506
755
28
699
216
713
724
161
628
38
587
411
856
25
167
580
469
659
456
483
98
295
688
796
583
97
771
430
834
20
849
609
594
435
344
446
863
635
195
733
283
330
865
118
256
294
444
547
753
675
651
678
600
645
803
726
635
277
594
352
4
245
922
361
976
667
765
51
628
929
471
446
201
314
350
185
46
654
321
971
183
80
110
256
163
142
847
481
277
368
373
66
72
286
93
221
593
701
333
679
184
553
910
405
644
788
944
542
997
821
427
660
350
848
607
669
862
856
142
924
580
106
163
571
533
617
678
845
208
477
669
864
894
892
350
845
983
283
527
968
298
756
140
446
558
131
112
193
283
290
300
763
211
573
321
751
207
873
5
476
742
872
39
268
95
108
941
776
460
638
251
493
519
723
498
245
821
697
95
887
287
782
988
558
657
489
851
406
409
668
901
527
590
399
658
202
765
781
158
419
661
442
1
893
991
732
529
530
234
769
2
917
446
527
367
42
52
609
44
407
671
319
535
888
654
679
664
243
74
173
842
343
328
157
618
473
803
652
149
851
389
168
840
618
351
611
129
567
957
214
307
96
352
858
370
842
884
943
45
574
612
353
914
598
510
481
199
370
614
507
563
731
236
146
192
890
73
601
780
866
257
744
175
102
151
977
409
768
276
302
303
410
525
133
932
439
805
257
682
846
732
842
334
492
304
530
476
843
892
482
810
139
9
768
787
879
438
165
291
208
672
304
116
324
684
984
390
110
109
740
915
324
650
453
522
566
995
932
306
528
259
295
15
890
73
275
70
917
762
962
350
348
894
434
272
423
102
446
243
999
586
468
860
526
344
717
896
632
507
337
631
353
985
596
822
737
387
937
981
536
867
278
593
840
104
312
741
743
286
633
967
955
650
871
338
785
9
900
720
248
276
481
843
394
379
902
543
217
657
903
981
301
260
330
844
815
610
767
532
571
946
465
276
21
561
870
768
286
372
809
575
772
376
829
738
512
909
564
801
562
19
666
39
991
985
343
488
853
965
886
555
252
106
314
347
432
658
563
69
852
671
453
286
725
325
292
579
995
841
186
423
652
880
240
424
147
63
413
846
942
72
342
109
736
31
653
206
140
105
485
652
511
276
22
188
418
210
733
587
340
580
551
205
799
506
340
578
384
681
538
125
411
817
426
383
481
20
362
395
86
528
26
997
224
516
364
415
794
735
127
466
888
154
162
305
140
70
42
267
29
252
127
31
653
772
52
507
912
957
496
602
401
690
28
217
939
152
3
625
656
107
897
672
452
759
610
833
341
114
728
704
262
677
883
167
778
121
934
905
65
71
252
477
475
723
468
877
125
985
915
320
839
116
605
973
628
259
864
992
327
522
42
651
276
907
218
42
896
776
823
819
603
710
272
669
735
778
832
910
652
955
905
201
438
412
884
835
143
407
159
101
659
580
826
92
446
40
105
348
651
301
824
752
464
630
80
508
236
997
66
558
16
729
977
944
960
208
814
138
542
409
913
875
686
546
131
372
290
627
767
410
705
272
107
385
123
80
819
472
914
713
477
413
667
392
909
688
55
635
178
248
848
465
346
487
946
851
605
810
373
35
401
39
135
584
593
979
99
771
278
780
501
123
865
552
642
456
867
887
485
296
488
547
122
639
819
631
493
990
763
502
194
874
492
143
572
291
255
722
450
512
888
332
301
68
0
92
591
532
439
94
420
17
53
72
545
892
636
420
96
234
286
481
120
480
368
576
891
793
775
178
140
492
541
225
154
230
170
173
446
575
830
731
481
397
564
443
692
562
56
784
885
686
721
758
902
239
930
510
875
235
630
105
221
899
343
184
409
460
121
822
116
989
73
73
207
699
451
932
431
251
168
92
933
221
85
875
208
310
739
710
630
971
616
135
441
940
393
885
622
178
655
357
107
447
865
929
855
297
784
229
381
846
314
186
946
808
209
837
895
373
166
605
227
724
911
350
783
373
696
777
894
895
726
546
751
900
412
573
368
996
506
275
858
332
357
654
876
612
634
13
22
202
196
537
383
188
643
775
641
144
526
792
952
439
725
554
472
494
877
877
580
469
844
355
511
509
218
792
552
845
223
914
359
469
85
87
19
167
528
142
859
828
8
187
645
382
650
956
936
502
766
47
496
60
389
762
861
582
730
297
916
928
185
10
724
183
776
906
937
12
743
85
138
594
403
454
914
101
685
602
69
601
431
168
266
912
334
856
177
759
84
809
816
423
189
679
460
677
448
868
25
586
10
669
457
344
85
839
505
767
704
57
177
964
326
501
3
147
579
484
962
722
330
913
748
423
594
709
745
611
483
14
118
817
803
404
740
691
8
810
255
362
809
372
79
439
768
553
646
131
2
179
89
575
609
790
261
154
625
702
247
464
402
546
236
435
556
638
966
996
826
375
11
535
417
616
178
552
168
84
499
972
883
568
796
57
250
89
536
245
589
483
897
940
982
372
927
85
95
741
421
412
278
139
990
924
683
408
710
583
171
957
113
709
493
289
316
731
551
267
808
90
133
675
367
563
399
623
934
874
969
893
9
850
534
657
312
32
28
272
519
602
418
1
225
483
346
278
565
554
20
107
33
849
621
342
176
594
40
584
887
65
334
62
289
856
303
199
172
795
504
223
22
484
951
749
239
23
633
972
631
206
724
906
717
271
668
348
158
350
721
908
540
7
356
287
143
219
987
739
462
316
673
789
242
997
336
133
15
795
968
296
988
657
930
969
726
583
712
4
296
661
222
217
578
560
904
937
534
475
364
743
516
455
406
664
196
946
720
845
901
780
916
21
207
633
393
379
33
500
388
281
874
419
769
893
194
755
768
140
762
447
432
49
148
596
511
293
13
63
25
27
47
16
545
46
184
490
442
340
373
561
807
421
212
53
201
652
890
165
412
196
55
890
916
555
498
339
825
142
404
518
159
970
823
613
700
660
111
734
586
731
255
228
788
109
984
693
29
916
210
259
228
909
695
946
834
508
433
598
636
505
893
314
539
908
248
416
153
141
468
154
192
329
594
151
728
308
282
265
964
948
185
647
424
542
33
627
788
445
329
802
462
412
492
578
346
602
536
511
679
210
853
290
974
491
345
85
964
933
224
79
932
703
292
257
540
33
328
130
49
12
413
124
286
453
792
856
477
843
452
813
399
984
819
92
193
407
655
470
740
518
628
264
945
356
853
292
499
899
403
374
519
888
852
145
298
762
44
321
437
324
899
508
876
937
194
613
546
275
613
358
7
460
590
103
764
41
935
857
561
108
336
452
105
878
600
681
819
588
846
176
39
585
529
978
234
632
119
232
776
25
826
446
606
583
861
436
298
426
863
877
588
405
946
249
372
981
557
949
535
248
644
953
639
196
539
415
954
920
854
815
387
508
878
951
210
306
966
170
678
621
711
494
970
395
16
16
280
505
700
188
725
137
84
131
723
872
782
955
461
43
749
856
244
671
416
866
500
309
150
913
278
142
61
599
70
287
290
922
7
507
711
846
623
604
688
305
625
571
158
643
663
77
78
651
633
195
589
508
533
194
798
222
937
435
913
389
89
241
410
298
679
706
720
17
214
744
640
101
340
912
162
940
208
295
67
660
152
621
569
895
852
535
42
89
40
948
454
502
850
692
19
360
418
506
921
885
669
858
354
875
83
767
861
121
276
472
8
222
897
419
694
792
23
440
99
44
998
320
633
428
863
186
652
351
935
829
639
23
790
418
649
973
59
628
759
500
554
314
619
426
688
378
797
385
981
794
541
109
207
776
12
58
6
326
163
858
290
543
810
797
131
171
103
571
634
497
919
70
556
568
726
195
596
106
384
485
281
762
255
837
300
451
352
94
289
486
165
6
530
372
311
410
779
693
156
163
763
257
23
490
517
2
615
380
554
769
159
882
574
84
832
849
257
919
989
620
759
479
490
602
199
81
377
36
875
85
91
723
269
220
6
857
663
87
239
169
816
720
356
476
624
117
82
791
865
193
34
690
790
274
165
683
42
377
908
648
783
160
531
333
403
323
495
334
5
185
174
382
687
369
587
55
885
827
685
853
947
957
979
150
995
938
76
584
506
939
177
824
479
605
518
727
643
436
111
871
237
445
936
3
497
119
486
478
974
552
863
235
108
605
556
248
836
624
594
684
734
101
431
628
115
316
748
528
385
572
354
466
112
627
983
396
399
3
46
786
7
398
858
318
568
262
433
34
538
314
748
466
475
645
980
533
784
883
963
941
816
171
877
234
23
962
254
178
128
168
742
937
640
515
189
967
401
297
470
560
664
766
146
841
237
395
382
977
750
254
175
220
353
851
141
852
870
718
857
964
673
730
779
25
739
95
557
300
70
914
874
823
320
161
333
383
484
398
346
642
258
1
20
387
615
559
247
367
285
991
705
678
280
374
223
23
66
80
896
717
535
940
41
955
14
514
76
323
532
703
875
147
154
855
579
35
947
701
415
831
32
499
715
634
849
9
107
343
310
77
929
704
267
763
730
470
607
839
957
88
159
996
446
164
938
466
33
949
169
917
475
15
971
815
569
820
252
122
138
4
884
760
524
876
434
703
794
314
83
848
704
296
279
43
940
912
809
183
294
597
886
461
482
498
522
967
630
335
431
723
796
900
450
182
559
672
734
943
650
798
423
337
272
585
626
323
586
114
811
830
540
787
522
649
299
297
951
130
398
152
646
788
992
273
869
731
583
524
529
682
322
808
528
64
184
304
604
341
847
394
91
211
521
455
99
262
122
787
115
852
892
296
1
981
518
756
219
0
533
636
483
931
711
19
848
302
210
539
25
699
717
803
513
804
374
969
190
827
216
839
433
83
143
818
684
977
718
281
936
443
820
813
219
609
668
339
820
922
865
162
84
596
950
840
986
110
803
234
513
686
407
421
227
236
639
293
64
982
486
209
179
529
457
150
837
551
126
319
836
298
173
86
674
296
604
569
96
553
445
335
948
229
467
851
832
763
482
590
64
667
395
997
879
666
326
229
529
657
151
558
71
561
528
336
213
881
667
669
720
250
592
575
797
199
339
217
61
714
744
691
889
581
21
833
856
674
618
722
172
280
783
877
788
792
804
505
837
32
978
676
487
894
629
20
214
540
180
492
945
726
569
567
962
784
717
239
497
55
291
593
8
842
677
330
771
623
415
423
351
391
68
615
210
570
600
459
129
832
306
523
175
488
460
171
165
697
301
494
431
227
568
675
551
720
954
289
807
351
810
915
266
244
39
245
5
533
614
511
26
191
488
643
796
403
877
233
885
700
727
135
65
274
793
522
234
916
671
848
683
901
499
35
894
935
530
19
33
858
692
247
386
704
424
998
244
203
326
332
929
963
968
331
739
141
295
289
690
828
771
526
132
330
366
949
286
965
878
320
75
932
102
621
140
819
771
235
582
630
462
322
659
166
120
263
848
437
352
207
966
955
80
217
137
839
293
144
986
193
77
990
597
285
845
764
368
175
355
225
28
499
884
220
321
625
72
838
663
556
276
128
433
401
447
684
363
956
392
419
672
295
136
292
801
449
787
537
936
436
27
530
269
708
279
915
210
918
365
979
470
145
589
361
844
33
874
580
477
732
483
618
902
208
563
205
137
112
73
410
624
884
29
681
623
456
553
440
379
257
16
173
228
576
236
667
45
474
214
770
653
735
447
139
511
311
571
293
833
166
550
637
796
245
95
693
95
560
993
896
2
572
549
234
262
106
274
378
856
400
93
34
88
382
713
88
441
72
898
826
931
932
773
990
375
48
951
915
95
219
783
244
812
899
761
172
269
55
94
70
250
56
435
859
589
851
926
911
94
486
103
398
735
832
143
582
318
906
22
238
329
904
495
355
261
962
879
730
329
276
578
282
911
107
695
563
548
108
643
211
471
669
792
79
530
311
822
496
80
889
165
416
643
436
935
654
184
800
247
823
528
606
206
50
169
198
173
669
737
166
743
735
410
60
703
32
629
507
457
811
545
819
745
677
245
376
358
735
253
137
133
671
145
496
850
627
358
586
557
253
40
418
48
402
4
922
360
795
716
255
640
236
655
290
782
968
657
602
960
209
860
242
749
797
194
636
240
931
767
690
708
436
879
847
106
821
757
323
263
502
250
119
920
218
692
164
932
361
106
918
721
889
734
365
151
720
519
908
337
931
929
525
327
405
503
379
168
386
436
306
519
48
844
302
947
899
504
318
236
193
20
616
787
944
290
4
959
904
27
338
91
615
382
154
168
696
964
819
87
751
431
427
230
203
589
593
84
29
750
175
937
591
467
2
640
39
284
29
753
954
390
509
687
81
527
411
194
457
642
943
623
816
838
725
288
452
568
365
154
531
620
700
317
651
244
837
120
910
854
246
985
640
766
573
392
223
553
883
304
162
839
71
237
637
549
201
185
265
181
463
656
201
488
609
749
17
982
91
511
543
471
656
481
853
367
685
391
187
82
658
804
990
363
877
110
573
206
980
102
140
505
519
937
45
276
84
653
985
490
234
151
31
271
116
631
153
194
439
504
311
539
365
371
687
606
269
539
647
400
151
277
758
347
508
420
59
333
963
644
989
454
592
366
138
453
680
883
446
171
80
874
930
336
661
144
416
52
753
992
460
970
567
960
672
246
720
899
714
114
261
337
816
865
499
948
410
18
332
215
566
539
870
151
994
406
121
340
534
655
75
993
435
258
855
637
779
617
166
988
396
818
667
549
307
306
999
414
458
512
370
229
607
875
440
384
551
308
715
881
496
930
200
287
671
661
889
52
563
605
573
613
186
730
284
192
962
94
800
440
858
904
662
47
961
910
646
675
335
376
902
635
397
200
288
83
156
905
78
807
17
744
840
299
536
701
839
721
945
857
102
658
871
99
292
937
33
928
64
650
190
302
240
399
997
402
16
189
614
440
892
563
361
896
254
991
833
131
777
418
787
738
937
359
914
230
16
173
984
244
857
387
574
915
750
169
364
102
733
770
933
558
102
657
436
208
634
681
579
215
784
123
793
26
257
70
648
864
98
979
920
460
202
952
237
446
676
518
696
750
181
217
242
723
677
302
221
478
579
965
953
767
826
176
881
976
662
823
39
960
622
328
93
492
915
920
105
601
333
807
197
301
913
899
457
638
499
56
366
785
151
86
594
351
473
472
172
991
53
967
66
126
768
678
573
469
186
141
145
553
138
532
997
969
922
664
951
712
685
692
363
924
717
533
695
854
195
336
616
324
64
186
40
930
885
955
624
607
686
410
986
618
34
54
838
425
235
494
617
733
502
493
676
981
747
362
859
718
82
206
261
101
867
793
436
490
523
567
664
487
423
368
577
96
340
612
702
331
37
244
70
979
883
841
818
661
70
262
206
734
386
768
125
992
505
207
349
223
207
607
714
958
34
815
446
418
576
783
752
579
80
345
658
929
598
37
370
487
645
636
54
436
851
124
741
265
386
316
161
206
205
932
99
274
434
560
779
941
288
658
882
358
213
677
207
832
797
212
618
680
900
418
533
684
188
525
493
297
807
10
192
717
636
984
412
171
682
986
19
599
339
282
918
313
10
955
834
946
946
888
632
131
315
662
174
15
291
204
604
707
939
196
947
180
485
760
3
432
747
867
357
232
703
920
36
459
307
538
568
319
565
741
834
970
300
920
680
948
712
158
749
381
641
570
660
14
308
779
263
278
187
873
221
244
383
895
208
691
339
625
95
747
883
614
673
860
243
968
592
425
710
197
789
858
563
533
182
653
291
573
217
801
632
983
139
522
224
635
991
664
823
869
685
498
590
706
187
587
877
246
673
66
484
158
882
209
365
390
393
898
242
669
756
88
103
334
305
763
459
283
649
61
603
568
457
347
223
266
939
707
145
549
698
482
327
680
934
252
814
321
448
185
994
222
444
362
602
770
573
851
430
726
605
456
599
859
964
964
944
139
93
802
386
882
28
145
548
471
431
650
0
973
993
643
868
128
553
100
12
291
194
831
263
175
19
219
283
142
250
792
13
83
171
788
689
675
994
145
295
260
54
991
349
551
701
584
518
153
664
32
496
721
538
258
949
998
715
381
119
749
175
322
253
624
773
750
582
195
942
69
683
869
980
423
556
793
710
16
574
299
530
964
652
20
810
229
187
450
418
186
528
510
661
770
794
30
700
823
864
822
315
899
656
917
751
39
684
8
134
328
883
101
333
61
807
765
391
305
158
231
128
288
996
607
697
885
112
384
583
490
700
767
604
931
83
206
528
287
833
286
495
254
85
916
743
702
657
582
892
617
390
481
752
230
0
410
748
810
682
148
990
892
439
684
742
22
793
27
120
164
329
780
484
241
923
903
883
231
242
178
666
143
868
220
841
777
536
670
716
273
460
63
397
273
662
461
283
711
245
138
414
698
111
6
142
437
736
789
573
259
282
15
159
241
933
655
843
94
697
540
132
120
319
90
921
172
565
645
434
286
322
328
686
789
650
321
386
861
287
190
716
202
397
843
292
359
555
759
6
980
210
676
209
282
38
288
214
8
531
286
903
571
634
922
925
193
741
176
369
0
812
590
427
516
325
451
495
337
701
634
760
701
731
962
768
262
912
593
195
40
153
274
297
569
263
467
801
850
963
464
405
909
935
188
753
981
243
442
937
784
465
337
999
670
982
561
889
99
804
98
559
417
479
255
665
687
83
580
970
218
625
393
933
277
550
693
156
314
932
229
252
315
281
71
681
725
396
699
683
721
511
705
325
746
155
665
680
507
111
795
578
772
619
276
532
871
360
958
187
197
696
105
750
240
462
71
150
255
393
975
281
137
257
11
859
916
335
221
583
200
171
284
378
615
887
510
50
97
398
42
356
120
469
524
286
431
798
428
231
93
23
974
707
920
163
962
356
721
280
659
848
947
935
495
667
138
47
16
680
108
251
674
969
229
662
24
5
664
263
485
504
959
681
818
483
578
12
150
168
300
608
705
173
153
705
757
168
736
906
856
347
917
776
630
581
543
636
377
914
511
954
85
186
81
501
470
165
289
413
783
501
709
883
222
136
783
77
796
810
444
993
534
804
141
249
877
173
449
239
418
598
502
198
45
541
715
59
736
689
342
415
187
390
277
180
322
728
900
775
339
973
587
148
508
940
589
42
534
662
387
502
400
558
278
183
999
681
420
138
78
812
490
952
515
367
10
508
333
409
573
828
642
366
131
990
926
889
847
238
944
838
965
885
427
821
778
93
644
78
23
85
620
794
674
804
479
193
886
20
696
481
825
624
611
525
52
101
651
872
309
860
369
653
229
570
888
321
215
149
888
608
782
872
247
815
301
54
386
608
809
878
118
448
4
370
810
90
619
384
840
701
27
635
433
351
646
129
549
628
167
814
664
908
424
672
607
205
501
844
995
26
746
705
709
490
166
320
656
963
157
569
993
103
925
732
230
818
225
740
421
51
142
194
819
762
846
20
148
365
881
643
39
602
837
262
716
269
465
241
504
117
908
922
706
493
146
158
423
941
900
970
495
783
511
36
554
143
158
895
111
940
697
669
760
906
494
942
13
493
937
988
423
680
801
270
463
47
142
265
387
459
428
542
205
948
978
348
398
336
884
496
989
291
970
621
994
940
464
437
745
19
469
278
828
491
294
920
236
664
848
916
572
636
88
895
229
996
559
603
522
196
442
30
426
868
605
155
783
472
208
746
876
986
588
52
120
931
372
430
197
27
725
773
381
89
659
165
84
174
743
753
959
783
812
951
904
297
233
340
457
907
106
253
559
356
858
96
255
372
433
165
775
16
549
592
789
309
708
711
993
677
470
940
738
938
902
343
238
127
471
824
615
111
5
140
486
895
137
99
113
677
68
260
387
155
28
19
660
999
202
820
329
823
470
267
969
651
904
711
194
568
791
9
917
798
851
202
909
673
602
753
466
762
372
14
564
973
891
432
997
551
898
657
918
776
544
681
823
223
81
375
123
342
46
16
255
116
756
535
485
387
615
585
276
730
35
199
300
384
160
477
425
842
955
385
883
370
22
723
650
396
349
5
97
741
378
899
509
182
181
436
933
995
317
738
371
667
320
873
212
194
487
316
204
263
929
345
590
416
85
98
852
459
735
565
26
13
135
519
887
616
452
748
24
764
517
99
799
198
786
366
576
274
520
256
770
712
943
225
55
237
453
950
749
81
177
421
719
964
424
853
117
857
35
213
983
121
963
317
693
755
59
950
367
336
164
394
337
124
217
456
354
788
998
416
9
572
65
750
303
452
587
210
600
703
692
150
31
721
343
102
320
571
324
528
587
248
137
326
211
380
654
326
740
402
671
191
441
536
252
168
219
424
175
880
394
464
717
355
199
406
133
561
306
789
802
552
633
449
2
387
771
392
885
936
302
461
974
100
607
916
434
558
588
395
156
541
681
888
981
995
655
535
481
159
886
352
881
256
105
961
671
176
227
522
454
442
382
232
857
79
488
259
305
493
179
615
373
744
314
158
756
395
146
13
888
763
163
366
336
138
807
818
795
276
453
339
610
277
239
814
369
491
480
288
592
501
522
286
19
65
48
325
777
612
940
701
168
253
434
555
814
100
49
186
12
844
858
308
629
527
927
560
231
159
574
996
381
235
439
581
403
14
643
998
813
154
943
165
428
984
913
616
480
942
940
83
852
858
437
952
673
936
396
433
396
847
429
2
101
664
954
567
282
810
23
379
199
197
714
967
342
126
497
316
133
730
51
33
546
288
790
30
993
858
544
964
872
782
25
933
787
933
190
263
691
896
953
470
106
274
841
601
926
74
670
603
38
604
621
14
865
921
38
314
142
828
798
24
277
403
381
568
646
253
437
412
10
259
625
258
930
503
913
475
36
802
440
397
988
319
890
555
942
127
475
686
437
375
664
924
552
975
49
880
569
874
128
421
366
415
924
942
287
742
405
353
725
619
499
403
12
743
853
449
918
52
497
193
888
813
326
945
242
865
902
484
520
256
570
763
106
520
672
25
819
464
213
684
193
670
415
33
804
854
860
639
164
444
17
605
925
746
872
429
775
300
391
90
220
454
632
918
976
671
37
128
252
253
512
977
467
971
451
619
283
897
678
300
750
602
173
863
569
841
852
875
611
277
662
465
133
952
118
739
899
888
950
894
637
84
630
659
110
533
163
891
135
881
339
680
79
298
58
797
365
841
860
384
459
375
277
303
623
890
623
668
204
907
643
265
249
955
662
220
742
709
80
851
784
784
235
86
333
723
500
817
385
315
838
840
379
628
530
85
530
608
586
101
63
820
779
300
34
104
754
937
481
645
761
516
188
936
672
1
923
206
733
119
446
437
345
134
915
221
683
620
423
81
336
846
168
426
583
332
426
242
294
763
564
351
991
821
716
108
746
862
953
763
186
111
469
278
458
893
469
496
26
548
489
662
32
479
423
246
850
929
778
807
160
333
944
144
574
188
49
658
852
458
202
28
272
0
68
431
693
584
957
971
620
82
295
553
440
97
55
631
938
177
143
871
74
615
46
159
720
485
634
953
77
598
23
392
976
453
186
545
140
984
397
629
896
271
331
303
516
301
956
945
2
99
803
500
353
406
693
779
54
782
990
466
345
691
429
529
908
284
54
882
393
169
396
616
973
139
901
238
782
39
900
127
488
370
724
848
80
424
281
231
204
923
180
697
295
146
740
823
765
362
68
790
847
662
378
713
539
22
617
677
975
245
217
762
52
751
697
10
792
2
1
223
476
982
916
168
668
558
885
921
548
929
290
210
869
482
659
999
836
479
220
128
206
862
656
594
820
566
1
820
587
949
361
689
209
723
781
583
242
206
563
182
371
141
700
473
298
84
393
62
572
956
683
27
9
160
209
798
660
256
240
113
587
266
360
495
558
506
260
747
691
466
779
152
491
15
790
546
328
691
93
692
354
984
741
457
25
446
47
278
587
204
160
58
258
378
351
936
407
778
497
762
313
181
321
997
685
395
366
156
374
621
852
676
812
99
985
293
255
777
725
41
971
679
483
396
139
493
17
441
325
414
483
850
223
671
19
63
474
727
465
129
436
4
265
275
240
570
441
245
423
667
407
91
810
701
845
909
337
538
555
990
988
674
233
781
123
112
937
41
535
772
2
221
155
172
634
767
879
704
811
465
526
22
311
281
139
853
293
953
175
449
877
314
473
43
465
527
232
408
727
242
120
324
764
338
587
336
314
132
149
548
802
325
360
636
38
799
281
360
753
736
738
410
151
387
894
231
234
157
589
812
435
748
379
10
555
209
692
323
769
20
50
672
813
52
653
277
660
559
995
60
749
172
802
331
184
759
57
577
344
406
514
645
860
361
871
182
702
512
433
777
562
708
51
495
463
780
741
335
208
336
910
876
812
777
934
293
193
704
577
488
40
959
358
149
816
662
800
739
647
899
172
568
536
206
192
910
981
143
408
772
484
618
723
961
978
576
807
17
584
265
864
532
747
802
643
901
917
495
419
186
751
492
114
575
256
753
492
938
80
118
889
559
787
444
50
152
152
170
120
649
837
963
865
411
596
757
198
265
243
217
536
196
885
654
517
703
241
305
911
284
329
710
48
57
484
770
103
991
843
315
655
420
444
56
124
308
194
548
733
835
381
268
175
584
247
387
243
922
961
335
747
113
150
626
774
830
756
443
344
262
918
211
190
831
609
39
879
86
270
669
823
547
345
971
907
214
861
957
742
716
279
183
299
791
341
194
956
214
303
892
204
144
910
524
404
483
519
282
772
408
133
641
979
871
951
674
773
420
807
617
348
673
647
902
54
662
260
98
184
29
992
419
116
154
583
412
928
494
876
480
835
941
320
271
762
877
676
718
270
865
405
245
787
110
38
574
991
817
113
75
340
923
76
791
864
608
756
281
605
654
188
269
174
800
984
630
373
813
367
23
260
882
361
411
976
870
357
41
221
604
380
220
883
668
992
488
697
690
93
666
553
573
589
488
550
57
528
746
247
363
546
406
476
279
719
928
784
734
498
685
625
497
551
21
688
620
687
530
728
718
829
936
690
511
550
753
604
335
786
680
966
220
392
443
171
762
198
564
433
100
281
638
431
955
616
660
452
773
47
643
45
742
578
342
208
867
547
180
539
824
49
584
71
76
34
294
955
640
516
173
543
121
73
213
123
672
640
723
873
888
550
462
126
971
313
990
483
187
25
795
334
656
61
477
62
697
936
932
614
803
122
556
275
764
682
805
58
317
172
475
147
941
698
71
955
888
358
739
812
307
643
956
359
427
575
189
102
532
761
553
945
259
925
998
434
97
432
960
854
426
610
117
138
258
402
638
199
867
567
735
342
352
677
627
654
8
647
434
829
653
753
915
664
530
207
652
199
287
356
200
728
637
484
559
450
969
718
497
917
168
852
662
674
377
771
172
792
399
61
973
187
601
947
944
673
854
306
10
473
168
516
156
413
350
715
862
988
111
256
801
465
463
401
594
729
163
890
152
943
263
363
433
18
775
685
927
300
226
257
238
61
628
474
241
224
715
372
862
939
585
675
974
821
111
542
892
559
637
93
509
904
747
183
642
366
836
151
199
599
524
807
596
995
593
188
104
94
977
452
421
518
964
984
113
11
605
271
201
49
591
992
117
489
754
698
662
124
728
798
897
937
47
441
249
722
384
52
210
19
902
591
352
847
260
740
947
405
547
288
774
307
722
280
570
70
940
952
525
977
491
195
464
995
253
955
786
450
736
351
418
712
550
305
28
229
572
678
493
833
490
303
789
756
971
502
179
760
55
953
152
448
715
987
991
62
132
476
611
788
447
38
689
105
125
93
247
857
229
157
534
108
16
425
154
98
33
615
821
981
807
319
807
171
225
913
992
373
985
151
671
814
861
492
980
395
610
921
850
78
304
769
895
581
139
754
858
425
182
251
408
500
671
494
525
353
77
228
553
742
556
97
914
882
582
70
266
343
366
636
938
123
627
705
241
875
450
896
94
86
363
890
881
94
131
6
387
802
224
191
474
80
71
105
507
164
243
373
263
428
777
258
870
200
618
79
634
106
768
388
319
733
176
82
676
640
141
27
345
940
116
514
888
680
915
693
784
32
657
532
54
89
781
598
363
720
590
119
609
296
617
780
313
719
504
110
645
439
948
505
667
278
554
303
519
448
969
690
74
751
907
197
780
655
478
607
336
223
421
250
539
439
666
125
775
630
204
50
849
242
193
791
662
579
785
340
909
801
941
903
935
321
201
257
211
815
19
357
400
881
91
131
699
829
140
564
760
244
391
907
394
378
234
787
863
157
978
825
285
701
348
269
62
811
979
208
606
61
602
293
657
421
890
278
465
795
119
943
681
575
751
723
809
291
967
976
818
791
15
349
563
692
256
937
856
525
260
563
898
689
123
452
282
552
507
0
990
578
137
910
110
943
390
7
332
870
337
766
628
636
837
433
687
949
991
947
603
892
311
15
971
278
5
441
447
331
289
143
726
560
191
24
754
221
708
816
199
595
920
155
258
503
0
385
675
173
124
275
246
159
962
172
353
567
435
289
842
452
781
97
753
125
424
246
694
643
265
121
771
51
817
670
972
882
708
516
805
9
844
283
409
412
731
93
788
581
10
749
959
481
674
208
753
892
344
235
228
443
310
748
152
887
127
79
560
467
815
331
257
448
560
223
297
972
987
219
593
280
107
729
190
731
345
344
490
978
145
47
461
282
807
198
126
45
803
516
614
560
770
443
295
795
849
293
577
321
354
104
568
720
255
213
94
509
651
900
324
60
430
677
631
39
162
891
795
692
736
778
542
263
600
510
750
303
773
972
202
193
27
965
717
801
300
426
78
354
437
736
749
171
911
569
148
530
534
165
535
24
41
852
697
963
173
177
495
610
636
703
976
50
68
229
101
978
100
460
13
100
762
365
402
280
91
977
241
558
16
349
557
745
74
901
743
941
467
884
46
106
619
624
121
304
518
232
101
483
219
493
596
24
816
231
417
425
105
510
143
881
184
114
942
941
618
480
129
822
348
721
836
751
735
289
613
296
9
848
644
438
621
125
945
774
454
476
576
378
521
52
709
796
347
848
647
512
439
23
723
810
859
174
932
619
747
463
577
117
844
668
305
73
327
537
696
270
5
242
316
644
364
330
591
110
886
622
601
735
165
814
18
312
243
775
92
100
407
514
744
311
663
313
866
220
773
484
757
230
48
274
632
212
816
41
264
850
592
365
973
906
512
602
747
659
573
140
13
619
262
627
807
971
307
891
724
440
32
345
144
786
113
259
83
550
103
376
590
8
962
495
333
13
591
417
451
624
848
170
739
800
775
675
386
746
161
879
250
422
204
912
481
561
783
52
381
104
35
271
846
440
395
174
639
522
696
923
951
887
374
967
317
252
867
987
983
70
389
117
945
888
363
684
75
471
959
136
498
80
209
398
965
454
559
354
693
559
641
599
173
717
717
871
218
137
979
784
209
301
408
187
757
544
307
131
708
357
886
715
593
519
236
493
193
180
277
194
717
957
910
13
893
681
794
715
247
953
834
981
431
196
390
587
401
560
503
677
733
153
514
815
866
57
306
133
461
940
712
612
649
539
965
947
448
238
860
843
890
468
368
668
900
244
81
111
468
556
948
201
311
602
192
610
276
922
57
549
917
402
225
809
1
469
261
316
803
930
376
594
362
558
889
684
53
247
663
458
136
985
294
120
470
806
350
860
296
255
230
148
976
743
659
31
395
924
542
402
424
575
700
412
904
650
771
196
668
768
40
61
943
208
338
209
134
839
816
976
668
975
640
565
232
660
197
189
537
98
170
27
51
479
464
10
132
486
76
640
231
243
859
305
188
787
994
956
443
624
928
864
602
980
940
961
327
739
6
527
966
143
352
617
333
289
292
142
534
802
304
305
328
836
755
495
743
186
865
733
562
121
894
526
621
725
974
627
365
944
45
751
831
244
606
145
386
244
955
811
272
817
469
981
35
260
422
476
939
603
12
768
93
248
353
955
833
68
67
551
242
989
91
504
408
684
622
64
297
460
581
510
143
184
54
740
356
817
140
372
338
517
666
776
964
768
905
15
521
472
514
377
261
361
492
207
519
798
642
361
860
146
240
109
438
653
6
479
559
465
197
761
326
922
673
857
268
898
122
571
430
277
769
967
389
471
819
259
127
512
246
725
100
166
198
30
32
195
650
890
431
130
882
713
39
526
776
58
878
482
888
831
214
443
589
167
841
626
576
47
290
215
762
206
495
791
316
193
544
555
766
820
478
488
623
724
396
866
762
727
270
77
704
445
761
855
879
55
545
298
811
24
10
305
592
891
360
103
24
922
235
165
274
89
382
404
134
333
465
216
570
549
176
127
921
6
339
983
771
349
73
788
855
774
468
790
105
287
919
689
360
28
253
654
327
610
594
813
55
265
123
835
325
861
248
896
846
117
904
460
776
809
906
422
689
488
997
797
162
338
501
40
719
498
913
355
708
479
607
713
425
891
361
956
931
974
705
819
77
778
26
100
807
695
730
965
950
197
627
518
274
148
736
964
918
484
310
617
639
985
737
211
600
189
916
339
66
503
557
366
792
144
940
481
329
455
944
942
647
136
203
54
643
762
348
152
299
484
754
220
322
693
990
178
519
810
411
140
2
107
353
135
848
89
985
969
348
197
857
722
513
154
609
88
143
470
817
557
675
635
137
939
460
446
926
635
685
88
736
46
530
835
484
33
230
32
724
679
549
105
949
197
149
855
613
804
478
948
142
113
426
367
884
366
954
928
99
992
780
551
275
586
486
23
490
363
607
945
444
158
347
239
496
336
310
790
360
33
785
408
72
699
449
54
617
959
989
505
816
453
735
749
298
236
727
197
472
545
305
93
250
308
932
137
199
387
727
776
392
145
714
596
590
225
564
40
391
350
610
627
419
49
744
952
180
247
754
337
869
4
850
43
643
938
868
159
264
393
38
774
469
936
78
155
493
603
933
11
356
385
36
327
98
911
456
429
557
157
357
761
665
28
585
194
985
799
276
995
402
869
422
566
38
340
584
617
960
529
419
520
572
701
889
448
225
308
267
11
242
381
998
100
938
864
629
933
388
737
555
514
333
505
15
685
453
163
513
201
727
973
496
850
583
51
728
499
940
313
781
150
461
403
130
163
563
615
273
344
742
107
336
50
452
114
199
359
593
949
625
77
18
594
719
209
74
577
435
544
78
873
369
566
464
119
786
470
915
903
537
777
222
18
184
714
864
774
773
313
530
34
644
492
848
198
477
957
160
254
448
758
409
822
208
658
3
995
428
771
7
454
393
113
736
79
418
110
857
720
807
408
989
852
793
496
654
606
288
56
485
106
633
534
808
331
660
190
211
657
309
611
948
167
256
22
179
29
519
662
29
294
411
546
266
135
922
118
879
726
780
760
428
107
8
729
85
723
594
495
415
937
323
184
52
198
902
932
250
876
764
683
256
622
805
784
456
291
158
927
376
344
777
946
202
639
611
302
542
498
183
209
984
641
138
183
571
397
131
147
844
806
22
92
600
480
702
750
934
804
504
191
110
987
521
650
254
866
243
948
479
124
208
887
882
259
435
203
926
459
534
746
135
495
120
677
992
378
165
63
948
394
519
445
389
743
531
837
678
793
283
178
652
662
272
964
738
341
84
890
71
881
59
644
247
577
486
590
405
438
18
999
212
729
692
592
706
892
914
203
71
166
961
28
715
959
456
629
48
498
16
20
906
765
906
924
886
168
593
580
979
56
221
645
693
666
992
693
864
177
457
716
55
425
539
33
394
818
859
120
140
136
898
969
605
989
913
420
67
729
187
566
720
978
384
70
537
132
184
526
688
681
949
118
480
542
588
557
201
72
815
307
849
50
900
975
757
19
387
955
567
973
730
234
352
126
965
272
62
772
860
480
852
624
301
778
645
171
90
797
257
567
207
324
933
49
950
661
314
977
545
559
352
475
477
895
48
106
463
255
635
579
635
684
887
367
731
916
134
539
530
567
353
402
741
922
639
170
904
858
971
462
749
680
517
541
467
352
123
280
146
803
189
737
280
359
343
264
572
713
298
806
920
939
490
506
337
978
878
514
340
349
56
199
433
773
805
322
896
433
39
918
871
644
456
200
800
469
693
911
433
313
521
346
151
250
752
713
782
591
35
640
860
836
304
390
598
158
791
184
772
529
810
956
999
238
807
743
238
925
381
93
262
477
520
746
327
497
779
905
321
848
246
325
78
921
63
628
888
67
90
88
735
691
531
119
84
142
346
626
96
501
739
725
600
170
978
317
109
31
886
608
665
488
572
366
268
717
925
389
982
566
802
184
110
508
416
110
75
948
77
672
50
989
550
572
366
981
408
269
693
57
331
543
82
843
754
40
260
290
512
433
553
646
707
72
67
934
343
997
920
444
606
517
93
372
964
519
600
633
525
139
658
522
996
332
745
367
315
494
380
165
91
176
26
944
429
774
368
321
153
801
167
440
898
607
490
480
769
334
492
856
644
209
413
435
828
311
816
338
260
677
629
744
907
356
489
793
702
718
112
757
19
544
964
259
578
253
453
420
486
754
383
998
781
67
726
294
928
43
823
998
637
428
778
602
429
197
634
763
625
508
726
958
997
669
700
944
66
763
846
373
670
999
95
586
813
845
273
720
259
793
144
162
230
668
791
977
125
910
807
185
972
637
243
10
199
961
161
712
976
597
999
155
30
691
112
579
113
669
534
428
313
447
240
74
406
166
155
398
225
599
128
637
368
510
56
847
723
19
904
792
128
941
547
375
158
399
123
601
540
129
545
115
320
386
411
702
640
515
436
76
246
795
599
563
50
523
314
746
451
357
310
356
761
890
938
938
141
883
309
184
555
58
965
845
566
348
195
709
232
284
221
208
929
336
581
368
22
16
727
127
696
830
3
669
770
520
524
52
713
847
361
57
240
372
9
242
792
542
834
199
85
160
327
637
356
545
867
965
644
477
378
467
60
305
962
1
801
875
339
166
61
992
59
389
693
759
650
566
283
675
594
822
25
475
741
68
515
140
187
872
823
448
105
786
453
402
43
678
469
95
651
201
389
856
740
660
638
297
768
334
728
796
332
797
885
291
548
517
983
415
314
962
265
4
760
277
985
800
953
965
988
330
41
711
542
947
434
959
407
262
910
491
281
228
16
844
794
905
809
498
196
40
403
258
646
591
823
828
722
715
7
486
641
705
572
183
947
666
404
315
77
873
931
639
956
51
22
77
946
140
977
112
372
330
852
774
530
371
652
480
955
444
621
885
376
701
114
577
223
669
417
974
468
147
64
803
325
751
991
560
582
974
276
512
132
927
277
801
397
404
966
210
787
931
454
428
420
387
305
531
752
357
948
255
408
188
886
914
158
612
155
248
42
780
126
164
117
679
809
857
194
659
35
751
925
163
983
796
796
546
611
981
706
867
108
886
562
659
246
451
684
695
682
374
10
474
391
292
849
742
205
306
95
62
671
354
970
894
18
768
130
95
913
475
785
460
661
96
742
505
375
52
69
615
214
147
179
70
619
348
282
659
594
258
326
559
324
649
6
825
467
737
719
342
628
365
709
321
445
79
100
660
725
128
899
848
900
341
984
393
697
457
532
682
678
626
765
906
819
639
371
616
767
4
242
851
185
713
298
939
859
339
172
160
249
899
505
387
87
951
66
595
221
217
664
694
235
475
109
925
778
318
923
685
515
146
918
506
158
884
359
997
948
98
373
322
531
210
935
231
464
148
71
604
655
805
135
482
214
743
419
9
906
828
795
991
258
501
554
727
294
818
848
637
596
568
445
38
486
524
126
922
252
205
383
844
567
503
177
87
559
78
885
580
760
851
561
402
957
488
682
843
611
396
818
437
199
496
608
230
944
74
796
129
695
535
420
876
206
520
630
421
419
609
302
728
893
52
541
422
699
136
590
855
904
176
22
192
214
144
823
891
730
317
278
18
505
354
634
407
239
329
335
535
941
58
824
992
845
240
975
556
98
475
337
447
602
39
386
546
687
333
754
201
995
561
58
58
763
798
476
568
528
253
681
507
773
910
84
667
243
529
869
294
668
77
115
567
191
577
902
919
949
718
631
618
469
771
526
776
717
163
943
90
461
349
611
137
396
968
354
256
350
671
910
174
893
563
900
120
29
66
842
719
836
242
939
473
149
364
472
343
868
409
569
486
904
654
383
538
956
812
898
130
427
497
709
839
54
99
889
854
35
326
974
481
201
594
921
382
906
47
202
940
125
10
58
348
156
829
766
965
40
377
392
609
803
351
70
820
794
71
660
54
941
966
994
376
90
519
925
440
29
446
626
274
945
726
202
998
81
502
966
797
475
397
601
71
736
207
726
6
355
130
799
618
81
941
124
186
320
439
270
3
844
913
948
792
259
869
833
123
729
667
379
783
665
572
13
318
322
501
845
497
276
763
830
129
64
863
788
55
322
234
164
891
93
671
190
348
856
913
352
311
329
685
82
987
441
151
345
191
461
231
205
566
115
867
117
927
150
312
82
284
420
395
950
174
141
606
564
720
193
382
75
908
796
389
669
644
413
19
49
984
560
553
935
216
510
811
386
14
716
977
421
340
141
615
877
698
80
887
494
365
311
375
399
727
114
128
303
635
764
62
274
214
413
549
710
929
820
986
465
321
96
995
379
554
371
374
974
723
941
228
139
664
205
854
338
754
823
778
902
882
660
241
840
185
521
639
486
391
716
241
252
149
108
420
920
848
974
949
526
677
704
88
875
827
96
541
802
376
789
524
118
544
757
344
218
757
754
726
783
109
870
478
318
791
531
755
551
731
953
360
492
374
425
288
689
305
391
209
559
528
304
153
214
556
106
434
809
142
39
45
297
448
43
53
196
288
677
630
779
263
643
472
956
193
607
290
895
245
261
326
461
433
914
273
790
732
247
867
72
991
673
342
504
847
431
101
595
742
71
191
964
752
19
733
92
335
814
701
398
645
435
754
371
715
234
650
541
520
5
368
290
267
140
626
723
983
400
14
981
564
476
8
975
776
314
328
626
460
752
444
798
315
285
910
892
900
101
195
761
437
581
232
173
215
77
572
250
287
514
862
310
278
877
318
185
371
47
343
471
518
416
494
80
212
232
33
769
82
504
48
105
774
879
698
964
319
820
997
391
126
549
649
807
514
309
710
592
261
293
1
154
711
641
598
177
168
636
334
304
266
802
468
974
850
305
408
924
474
69
469
88
349
887
517
657
547
106
657
249
558
714
324
276
5
539
555
79
643
364
24
110
906
844
274
782
140
13
149
47
8
635
87
897
386
35
673
18
888
105
82
402
165
698
615
785
693
724
899
971
310
39
970
620
8
1
25
733
962
258
779
540
788
375
373
924
200
866
278
479
73
228
867
285
454
553
624
2
947
594
126
895
337
465
398
442
586
56
260
506
985
287
46
92
752
55
578
894
325
426
749
854
14
95
202
702
3
131
525
771
347
464
89
266
304
416
541
112
816
436
139
34
398
670
426
834
227
864
817
901
400
198
561
140
378
672
306
425
750
387
623
251
470
899
456
279
20
296
359
120
541
369
611
152
550
763
341
82
810
219
509
237
422
74
429
997
142
261
182
853
970
288
447
482
71
30
591
32
550
60
940
521
528
719
9
143
376
102
93
910
354
149
393
930
429
865
478
590
655
349
343
258
962
958
539
818
784
584
864
456
840
453
191
402
229
194
819
809
49
477
477
995
716
707
61
892
869
611
401
768
519
37
278
582
977
595
761
935
790
475
549
215
527
973
946
904
25
474
1
372
780
629
962
625
568
492
429
665
248
673
910
311
888
14
728
20
574
50
56
76
946
912
632
357
867
612
124
341
879
255
162
111
209
845
615
879
488
615
857
387
328
374
58
875
532
305
426
547
500
953
408
696
744
950
535
322
46
258
581
926
859
297
750
99
781
925
736
375
791
259
824
103
585
554
194
107
857
791
139
943
794
503
756
530
189
274
57
81
92
301
29
51
716
119
233
119
425
115
302
391
858
110
783
132
282
814
76
995
160
121
10
639
46
728
432
468
316
533
324
782
988
472
574
68
950
973
536
327
945
981
85
362
931
367
104
597
542
967
525
651
595
491
119
975
446
801
887
210
594
359
732
184
111
619
155
705
912
784
830
785
504
117
171
337
148
84
814
991
643
494
974
557
467
592
119
405
900
490
110
82
202
799
180
582
409
390
517
727
954
833
230
709
2
194
424
691
97
902
785
673
140
7
868
359
301
153
51
584
706
538
914
283
991
641
320
81
657
890
433
764
148
827
527
558
413
125
839
452
919
763
543
792
124
189
229
12
891
704
580
910
246
966
470
177
419
790
15
375
572
314
178
305
520
18
127
774
406
68
393
164
251
499
328
416
255
540
135
189
546
283
54
186
161
103
24
630
266
389
982
792
146
355
269
818
985
504
361
959
876
382
428
621
521
248
538
763
25
937
947
213
567
925
39
457
259
515
340
68
834
498
201
781
718
89
303
56
62
510
403
815
138
679
845
981
195
124
763
155
417
595
162
562
996
826
440
438
118
712
22
587
557
993
91
737
372
214
417
358
75
891
220
492
359
229
643
481
923
321
9
168
406
321
728
253
284
724
269
750
160
41
521
218
630
987
320
566
296
182
407
958
397
870
721
357
93
676
85
302
606
247
55
12
593
485
61
301
939
400
795
624
21
870
389
168
776
853
168
114
514
718
379
381
449
423
5
792
74
855
699
201
393
212
803
447
561
908
724
908
365
11
525
563
690
358
228
904
174
90
449
712
275
2
84
797
717
691
767
800
899
778
543
571
24
558
324
359
50
480
266
317
438
948
643
694
96
82
897
270
756
232
43
64
589
396
200
302
716
665
202
745
983
708
128
217
183
82
128
292
770
709
848
481
913
657
39
207
98
434
581
859
410
154
189
879
533
399
450
985
864
422
67
789
764
914
825
576
769
477
917
579
60
754
669
162
94
597
872
978
430
388
88
508
471
148
759
641
676
432
596
966
50
784
669
79
174
377
251
431
161
15
128
722
794
63
80
880
495
356
92
484
245
499
477
297
715
718
662
755
989
571
119
497
874
197
703
359
611
406
901
289
534
129
926
164
246
29
389
981
203
196
630
361
914
74
467
495
378
972
4
45
643
518
742
416
920
451
548
707
413
532
259
467
188
355
310
426
372
7
868
71
57
438
154
803
971
37
787
282
204
39
383
309
391
971
83
980
760
65
162
609
678
942
48
870
255
156
374
833
137
413
530
165
259
981
69
408
461
455
614
585
205
197
167
138
355
463
331
424
396
576
196
542
21
290
196
303
304
718
164
316
293
290
200
800
441
793
909
437
622
692
385
550
280
721
388
991
299
827
61
56
273
513
48
149
799
930
719
2
763
770
661
868
580
592
866
365
182
859
518
988
938
288
46
901
54
280
623
3
832
659
743
955
846
442
925
579
702
373
98
171
929
815
119
186
657
84
309
682
205
221
103
532
162
190
810
221
950
218
133
550
25
68
446
619
802
518
237
991
933
423
958
434
966
532
525
109
935
10
650
712
341
730
193
664
465
751
647
916
281
174
108
220
35
241
816
287
350
305
30
313
700
508
717
767
691
781
978
863
550
98
422
234
573
654
15
917
395
638
648
216
908
794
909
421
91
327
352
683
435
424
34
902
784
185
82
84
901
777
539
845
262
864
202
747
5
77
589
277
263
479
498
137
874
336
740
6
537
246
206
693
732
3
568
297
798
749
11
762
63
249
38
199
252
949
878
387
52
328
775
941
165
247
619
297
175
186
184
166
371
146
823
796
448
220
213
987
695
31
727
586
469
867
242
135
373
10
873
225
881
685
189
150
186
36
586
357
706
493
919
225
178
512
667
828
590
856
149
849
550
19
799
265
494
153
898
370
610
898
880
413
702
2
639
382
103
515
299
586
695
245
625
142
885
713
921
676
806
965
921
832
574
499
252
492
373
136
440
459
838
646
436
204
655
690
225
134
986
721
795
716
543
174
23
488
695
328
115
578
361
304
512
985
659
808
764
584
210
368
720
754
0
383
739
800
67
926
871
36
313
139
518
456
950
272
653
594
812
993
974
682
622
222
270
823
880
440
294
835
104
7
228
309
809
933
496
680
991
293
36
233
264
143
791
397
320
295
650
214
988
930
525
313
486
703
227
700
727
125
873
239
516
289
714
371
25
250
196
60
569
444
439
998
705
49
993
744
398
251
527
240
900
269
594
610
914
441
235
482
446
976
964
384
226
745
678
872
251
16
351
931
413
521
32
808
943
422
229
566
513
536
325
678
113
249
709
103
527
724
503
509
747
256
955
272
520
548
376
247
12
453
624
181
258
383
714
9
693
946
592
302
619
58
424
762
126
223
51
773
437
760
237
418
410
957
422
837
843
955
515
197
408
108
49
92
228
99
790
56
112
784
784
915
673
838
458
14
199
583
296
381
215
244
439
224
659
161
721
958
570
632
474
429
255
842
663
187
900
444
131
763
963
963
262
827
280
854
194
234
396
315
575
250
637
807
929
92
588
381
535
75
944
118
824
535
797
675
521
309
26
960
337
114
500
481
889
575
622
597
94
985
626
317
860
711
925
777
883
31
305
917
262
342
921
377
594
21
973
154
907
898
303
264
589
142
781
967
987
738
607
330
625
775
303
614
392
298
92
726
473
922
479
658
749
265
382
298
8
854
698
688
394
677
741
458
842
79
24
849
170
880
798
57
403
309
464
49
46
67
488
19
843
824
989
653
999
695
20
992
428
427
435
779
707
652
482
618
902
748
164
130
10
686
671
940
180
566
351
238
194
548
265
208
47
986
410
976
325
809
463
692
450
948
2
407
564
194
650
120
244
560
635
405
666
248
728
28
702
395
430
895
439
846
960
663
526
819
463
19
874
377
874
346
764
174
272
193
122
269
832
504
271
258
219
159
597
164
418
582
506
740
258
831
553
316
558
825
357
706
834
279
827
429
449
432
826
721
250
404
810
256
109
746
865
384
856
662
46
498
14
439
111
815
539
160
555
146
428
325
881
873
13
671
444
109
701
391
710
947
665
674
729
975
518
17
967
675
125
352
830
20
558
46
713
881
856
874
140
596
368
653
129
135
512
614
393
747
654
29
304
989
294
93
732
335
993
851
813
0
597
701
205
568
50
749
97
302
872
545
196
751
637
283
743
883
437
98
99
956
835
557
717
925
892
741
814
514
771
410
74
965
490
167
921
261
695
356
741
704
154
120
793
776
163
652
849
458
947
281
429
415
928
659
140
821
114
468
217
312
246
637
975
658
500
305
81
9
643
153
660
153
255
893
27
676
31
250
815
999
523
90
206
14
410
333
963
740
451
607
172
725
891
805
779
177
137
802
814
527
327
496
219
736
214
13
781
385
457
880
576
540
932
555
576
589
974
494
105
511
660
915
310
632
405
262
756
406
874
505
677
866
966
349
331
557
879
643
953
502
48
15
803
154
529
476
837
5
147
836
215
378
109
793
727
506
913
922
94
220
738
834
71
841
339
170
675
8
940
493
563
339
654
864
27
163
998
246
458
381
561
231
338
627
299
879
774
324
61
715
125
672
98
158
475
479
398
419
663
236
371
190
263
681
939
868
829
219
171
685
12
10
370
651
75
935
864
805
587
52
825
884
50
689
16
989
248
805
229
715
744
560
268
85
235
196
894
593
314
944
305
549
192
51
549
746
993
183
518
880
816
575
800
192
346
657
82
94
675
4
381
433
852
437
991
656
495
461
533
590
298
193
473
644
612
613
579
774
760
341
736
17
961
877
791
195
418
771
470
126
220
787
192
905
910
482
361
834
714
49
486
550
167
337
257
190
526
853
967
165
469
568
733
66
997
719
699
922
699
163
676
215
625
318
445
367
736
569
667
782
669
922
867
947
999
201
42
666
682
869
605
751
521
871
22
716
79
934
866
883
921
276
306
240
375
947
376
498
272
697
424
190
981
131
7
256
732
886
288
207
400
884
202
99
955
785
475
668
835
492
856
857
706
109
315
542
22
905
552
966
63
867
438
437
708
468
878
890
228
883
74
621
415
518
547
18
522
717
330
982
574
778
136
545
966
871
772
645
47
225
837
544
369
444
744
123
456
207
127
244
330
651
803
402
667
683
671
657
162
8
510
85
751
266
914
716
806
32
781
225
749
126
154
965
527
743
97
514
478
504
97
346
924
931
585
321
277
906
316
119
939
385
25
131
777
881
262
306
382
879
893
550
337
793
696
288
410
669
149
742
707
466
77
937
701
818
627
44
177
637
895
756
614
484
522
615
385
828
492
901
585
784
261
675
200
350
307
692
463
798
200
643
459
827
103
333
11
542
696
532
681
415
763
1
933
839
297
68
302
431
231
95
21
390
122
385
417
992
69
299
834
724
502
423
163
175
349
600
598
578
232
391
475
964
789
206
72
581
830
12
70
466
853
787
369
572
649
570
364
635
615
338
564
672
506
425
143
409
407
297
641
951
378
76
326
929
735
99
946
422
117
255
546
572
494
812
375
659
61
102
236
421
107
649
7
812
614
823
465
557
22
120
154
721
979
65
925
836
128
298
437
829
752
526
806
594
702
321
653
322
377
288
319
553
184
428
636
860
916
819
732
776
836
341
796
565
860
438
929
726
104
771
887
660
367
441
875
599
254
20
132
674
749
490
2
62
202
697
427
225
779
195
91
387
992
362
148
445
888
882
558
921
121
773
686
987
676
408
395
410
350
424
352
222
320
376
318
695
473
890
629
767
67
820
482
536
477
324
913
787
990
127
913
79
618
656
236
659
593
523
155
496
914
249
915
510
406
859
57
111
574
864
996
770
833
72
494
434
901
494
80
469
77
766
728
886
787
712
754
805
398
874
225
962
87
317
741
214
532
504
719
837
284
772
606
170
882
356
575
568
470
5
804
18
663
403
766
339
777
311
623
488
414
604
745
32
82
724
6
617
150
868
42
519
914
654
860
373
541
316
617
565
150
960
366
342
146
333
398
599
58
688
706
284
802
881
482
429
577
881
34
347
351
963
562
648
592
962
280
640
572
186
55
617
47
421
661
18
593
813
159
650
902
695
944
464
197
527
996
550
403
299
727
489
401
580
776
749
936
931
902
439
975
854
330
751
560
274
440
553
135
774
726
692
787
162
886
268
975
187
89
157
315
766
772
275
494
533
760
975
635
892
384
368
306
354
398
624
452
253
752
625
876
318
260
951
231
650
820
775
398
446
177
399
48
546
954
816
275
847
688
132
257
220
607
73
312
937
687
231
162
134
610
377
690
924
941
339
409
836
844
574
704
456
303
216
259
475
779
219
242
775
140
872
587
32
257
33
858
863
338
451
915
432
906
284
711
66
868
515
626
655
520
683
252
780
424
876
208
883
670
471
75
798
859
629
85
735
846
247
563
721
114
323
528
101
540
860
537
120
369
235
794
399
612
429
147
857
744
203
992
485
188
607
218
497
538
20
820
293
72
511
931
902
679
492
456
278
891
950
399
282
223
858
253
342
640
25
97
990
735
968
896
417
13
897
82
45
397
220
97
429
320
985
973
648
71
312
295
922
802
885
48
299
500
720
102
549
112
941
213
364
138
19
316
267
871
550
343
834
281
37
285
728
420
504
118
201
646
722
994
703
166
654
481
204
654
753
213
891
275
780
193
287
980
871
313
469
157
986
122
326
360
972
855
53
926
115
866
373
341
230
15
921
786
512
296
728
276
458
91
669
677
77
440
261
698
124
104
952
324
533
799
480
908
658
291
136
249
190
356
589
14
101
218
247
462
387
777
655
297
236
866
70
470
189
966
767
651
755
857
111
666
25
531
565
313
197
811
739
648
24
251
21
370
886
818
483
54
861
516
41
466
584
992
408
723
842
179
469
96
291
673
471
202
315
173
271
489
970
281
517
221
393
217
400
659
653
940
535
773
370
76
869
380
907
199
565
911
293
16
78
941
210
98
797
69
420
134
387
25
797
188
705
333
640
424
900
959
840
43
887
458
186
916
609
473
977
389
504
830
751
328
847
398
202
532
532
930
787
661
605
116
766
179
827
216
893
223
895
829
854
821
950
114
924
448
310
320
80
773
396
929
917
666
911
294
472
374
820
122
434
137
350
412
877
955
802
757
448
29
105
124
661
164
581
400
536
373
358
801
506
202
433
291
952
979
973
554
31
118
833
81
595
349
849
663
222
551
874
200
504
415
549
871
456
642
827
178
862
726
92
471
412
468
299
70
483
795
842
693
308
268
643
807
2
473
906
14
611
930
36
999
499
368
748
365
705
62
107
301
412
443
692
897
240
712
711
365
150
79
133
489
707
190
732
676
861
496
182
353
428
349
37
299
767
373
890
704
788
138
294
967
530
356
299
898
569
34
914
102
300
848
307
382
829
66
763
956
40
980
329
327
353
836
513
436
306
965
725
729
858
99
129
956
561
879
55
878
39
721
0
544
20
782
561
142
858
335
769
569
161
318
760
307
497
320
628
263
721
771
958
878
132
1
236
683
90
569
722
163
996
565
196
578
294
470
321
372
131
305
849
904
698
186
925
934
735
729
202
346
909
157
648
116
62
683
647
619
33
497
785
472
775
468
63
496
300
481
648
894
989
930
412
794
971
787
75
713
700
479
810
295
993
374
142
733
690
175
214
836
37
499
188
827
421
355
664
309
368
752
853
767
743
532
202
18
153
969
513
75
514
292
707
203
359
926
55
686
473
581
679
428
975
321
291
296
460
413
421
490
666
303
164
924
849
550
325
299
983
151
465
102
87
350
383
557
201
197
885
761
873
7
844
573
931
967
526
186
183
586
243
317
103
971
728
688
824
565
32
691
672
190
771
628
176
937
758
697
766
434
195
972
983
488
145
855
131
531
346
23
227
988
751
594
770
436
674
160
977
617
164
148
243
561
955
881
451
780
723
69
217
262
662
884
175
123
525
927
635
396
126
801
930
222
674
813
840
380
414
551
321
939
81
336
325
325
792
12
155
516
146
883
193
882
450
874
501
823
730
937
453
475
735
745
40
272
306
451
857
578
611
617
942
45
296
700
285
323
110
558
403
150
815
628
41
968
524
261
111
406
160
766
39
865
670
479
125
713
501
346
686
151
881
964
419
720
88
767
157
927
449
896
898
461
942
635
696
41
403
687
408
891
192
504
681
736
864
945
75
760
117
904
586
944
22
813
315
986
768
252
733
392
908
845
456
332
873
66
651
638
873
660
811
789
847
202
814
401
215
341
441
926
356
427
37
723
940
831
625
480
665
179
447
433
324
724
705
875
322
654
488
133
136
109
96
733
676
47
876
727
587
896
584
66
186
445
533
445
986
961
84
324
983
540
142
586
54
492
61
887
58
834
203
663
612
993
257
886
370
70
864
61
455
654
855
527
332
857
379
769
427
70
884
91
279
788
386
812
752
686
246
390
452
14
888
356
895
213
808
739
757
585
939
445
386
556
305
122
892
824
970
60
368
780
732
489
766
385
132
281
90
194
27
171
412
837
689
714
172
313
652
950
165
524
643
154
725
97
79
462
741
146
655
367
46
727
49
78
958
366
402
620
619
919
207
583
446
768
362
234
561
285
777
68
143
916
217
356
714
557
318
29
38
946
708
739
132
861
544
65
140
817
822
381
683
626
737
540
615
999
881
372
934
221
608
281
999
727
809
520
496
885
951
455
432
30
548
723
233
768
757
431
390
887
421
43
44
577
695
126
455
639
228
747
963
303
427
465
228
778
571
194
374
775
821
771
321
961
362
48
322
215
682
898
27
712
365
460
662
430
959
256
468
919
94
681
299
560
698
38
111
306
853
573
908
795
884
561
727
820
144
779
97
909
180
475
169
520
551
525
966
8
572
147
903
231
807
273
672
109
546
443
674
412
34
580
873
44
798
266
212
298
556
272
21
696
906
144
192
153
935
818
477
546
82
931
747
68
839
697
302
124
448
238
949
36
598
374
857
511
418
937
838
433
39
178
80
175
28
376
544
370
251
960
13
124
944
360
20
246
571
738
633
508
295
752
400
227
368
445
762
180
129
290
234
477
393
575
668
419
701
45
944
275
975
429
627
509
35
976
146
404
927
582
990
417
456
682
141
963
825
962
632
558
266
959
978
375
922
5
739
975
235
690
377
11
25
701
381
590
756
241
956
138
96
775
46
859
705
706
370
835
735
728
891
738
191
64
432
7
446
120
992
603
530
758
109
728
957
356
536
68
69
68
336
370
29
91
425
174
930
742
545
434
61
441
556
320
165
350
121
723
579
495
861
961
652
587
930
954
139
616
726
642
486
901
762
955
618
599
291
889
239
927
867
215
39
795
667
510
435
970
307
930
996
250
505
495
838
24
235
386
734
69
168
298
610
111
704
146
223
247
770
163
474
589
695
475
862
297
890
642
579
891
207
568
496
814
441
11
117
432
131
177
643
325
392
204
47
31
993
753
439
727
116
237
132
445
826
82
472
347
435
552
61
680
516
71
49
322
819
434
128
360
667
389
538
278
502
947
112
440
927
129
410
450
85
404
728
899
239
927
512
849
780
229
265
784
781
578
744
165
447
32
135
503
380
513
780
516
477
194
252
319
536
318
812
867
958
90
838
966
79
8
874
501
308
849
365
549
113
455
760
423
729
630
598
235
796
516
136
978
315
111
457
865
655
616
346
970
244
46
838
628
992
288
839
694
927
489
605
658
668
137
533
41
361
998
540
886
944
531
505
702
536
537
444
192
604
998
178
9
884
863
966
313
655
108
628
249
234
936
952
289
586
315
759
944
128
890
494
881
961
667
711
123
227
406
379
512
192
761
685
150
780
855
939
15
186
902
644
808
397
376
400
645
949
393
319
354
37
206
67
469
386
477
208
124
899
539
69
190
945
676
66
987
458
370
723
908
827
548
611
507
837
769
407
738
661
791
830
9
532
898
103
125
462
324
666
731
117
605
375
76
373
92
329
8
690
41
943
858
290
102
44
857
7
697
75
577
496
210
930
278
219
856
951
892
248
562
160
784
489
448
768
98
182
222
715
294
140
77
58
264
454
776
910
710
663
429
296
758
430
444
934
385
687
779
935
380
111
415
91
915
405
849
917
791
215
841
936
410
819
103
249
908
856
724
28
887
139
166
366
347
147
139
657
104
348
240
745
277
138
542
303
126
820
303
923
878
966
49
69
365
161
674
740
899
603
832
997
139
607
119
472
683
579
518
594
781
294
649
647
733
587
515
638
948
911
430
434
396
156
409
410
78
10
23
105
265
948
514
717
61
612
608
794
246
582
812
206
864
400
628
860
112
363
731
147
565
682
427
897
97
841
887
880
721
372
692
278
122
882
453
144
762
834
264
499
71
766
829
529
762
697
919
98
790
472
564
766
572
927
952
229
54
715
326
670
385
518
66
444
106
24
802
216
11
990
793
951
274
740
585
438
256
213
785
177
162
159
175
326
139
450
805
900
691
342
991
673
193
420
901
57
992
592
940
331
994
980
971
533
328
351
228
371
936
905
726
140
109
709
522
21
497
302
959
861
717
666
951
236
756
697
232
975
325
946
742
20
201
601
938
276
83
960
680
881
561
167
377
420
99
919
197
19
225
516
351
745
525
419
689
682
122
162
63
259
668
693
630
217
376
751
676
689
959
398
320
383
900
306
484
550
879
858
455
54
473
908
419
457
909
614
836
867
695
768
620
5
274
39
770
175
557
886
537
375
52
760
1
144
410
506
662
988
528
178
791
839
632
119
676
661
558
946
20
617
264
106
190
903
774
721
85
39
60
716
516
418
491
100
354
414
40
700
237
697
527
948
159
479
143
650
760
129
673
953
998
807
182
533
695
226
607
199
227
754
438
317
755
587
506
231
468
23
688
154
961
15
326
744
850
297
940
626
61
716
61
17
103
519
817
679
992
745
568
874
187
946
607
77
672
656
771
608
348
714
339
162
889
101
706
807
627
701
500
840
715
1
965
613
897
942
447
536
956
559
581
425
146
482
635
448
525
556
918
538
475
128
590
820
520
472
731
17
139
436
801
206
257
848
397
931
606
223
16
300
421
186
914
517
770
847
648
800
527
579
101
827
539
11
689
585
176
795
2
409
222
884
182
87
797
257
921
377
467
889
305
869
403
996
347
854
634
112
178
515
940
26
869
908
906
756
309
560
943
143
416
13
99
625
627
352
723
311
953
144
626
142
178
736
209
593
347
304
912
548
296
644
55
328
989
788
749
270
109
14
737
424
212
845
414
343
469
809
991
868
604
91
152
316
717
369
415
442
211
132
361
81
687
985
997
300
951
490
906
547
958
205
562
546
885
698
784
965
601
990
156
4
413
641
595
879
309
384
143
680
990
653
16
419
329
442
595
867
474
96
265
992
378
774
220
352
334
763
358
17
524
647
942
410
233
332
750
2
752
266
38
224
787
836
680
153
883
276
576
239
726
687
561
20
907
93
244
159
795
935
176
280
410
606
283
973
935
913
708
842
114
683
27
811
895
188
663
637
377
954
32
122
596
950
262
685
484
114
915
841
982
724
61
26
427
436
74
873
693
333
347
57
626
85
8
271
54
950
267
734
693
911
352
975
791
24
828
232
250
776
186
626
637
56
149
766
952
446
69
663
424
593
749
96
652
494
336
378
186
602
59
198
866
842
540
472
134
315
62
211
454
887
902
435
846
404
37
258
327
645
700
682
90
162
714
102
290
872
629
542
247
586
977
35
607
557
291
312
188
251
887
790
455
458
548
666
306
900
22
206
177
501
159
712
94
871
256
478
118
416
440
374
533
996
643
187
647
719
553
926
39
428
367
201
516
948
83
6
56
314
691
259
193
920
588
538
110
737
75
805
884
367
308
597
812
793
687
766
47
87
945
421
156
589
717
548
168
460
765
526
750
234
199
737
510
523
229
716
487
64
952
765
758
699
226
167
639
956
286
168
29
996
825
661
77
734
830
49
297
714
76
845
556
247
909
233
82
768
767
55
181
325
520
724
132
648
786
366
70
348
458
52
909
910
847
478
474
209
839
426
390
846
206
273
769
158
541
143
709
821
538
31
629
69
919
646
825
132
274
544
406
617
324
510
401
336
41
311
27
351
712
622
44
312
532
719
221
621
109
783
8
418
21
813
96
776
861
780
885
42
479
35
614
981
54
290
250
944
945
233
297
426
140
872
169
269
460
44
132
331
968
660
879
205
728
940
472
361
196
246
180
535
742
342
884
435
321
795
783
704
947
123
630
669
560
264
939
641
100
389
868
437
573
646
263
478
554
748
813
711
494
40
950
182
131
923
647
276
52
92
980
877
601
204
202
207
483
473
672
739
95
487
466
746
581
873
552
412
73
74
434
493
210
450
589
559
638
400
780
891
532
703
350
737
51
790
151
310
750
179
132
541
948
860
198
595
83
673
14
257
499
979
450
79
674
815
340
928
926
258
659
344
825
51
134
170
651
912
753
480
190
998
31
843
117
586
338
769
683
600
699
993
756
908
46
999
835
971
278
883
835
428
10
230
556
665
211
874
968
915
721
812
118
531
511
26
660
745
490
694
55
395
200
838
821
720
425
179
565
624
994
520
398
368
969
890
705
317
954
599
442
708
758
145
672
351
482
910
825
233
849
531
731
765
286
715
317
416
705
550
53
720
225
247
352
424
738
395
487
100
987
67
366
139
402
876
144
115
919
496
904
329
280
771
458
190
118
115
804
250
522
845
952
343
294
612
71
208
877
207
126
407
820
159
167
140
852
8
283
352
738
389
889
245
995
900
910
769
290
26
176
579
5
571
309
607
372
105
314
889
456
788
688
941
594
246
42
971
748
405
453
58
856
297
553
337
68
295
783
352
950
348
539
280
877
994
358
723
253
568
586
642
580
746
829
864
691
17
929
436
404
969
31
850
88
900
538
762
953
699
231
344
642
610
398
945
247
376
44
565
146
571
844
928
94
975
721
306
155
413
777
779
389
637
125
431
326
749
16
872
382
501
193
582
565
687
224
710
780
516
683
947
894
744
558
458
845
333
610
4
652
506
288
537
107
303
922
387
668
305
744
850
980
743
320
429
895
666
750
834
976
600
959
597
679
569
743
696
3
568
211
76
122
668
888
53
353
473
840
173
240
130
279
431
421
562
306
180
262
746
369
848
730
932
404
979
495
502
239
703
737
772
90
165
69
407
848
213
86
308
551
363
766
519
769
851
583
749
846
675
31
743
648
326
431
331
958
468
862
406
751
168
720
852
295
266
122
87
879
646
868
105
900
918
17
317
874
536
31
648
82
320
793
974
405
32
329
865
861
426
265
348
480
529
486
968
27
593
359
197
867
553
284
746
72
800
228
715
208
155
360
808
932
368
589
879
271
237
869
286
632
75
118
613
190
653
913
86
689
394
639
177
284
605
128
226
559
568
963
861
622
117
471
696
796
848
600
380
583
454
643
183
242
685
827
616
339
40
388
743
822
587
528
521
152
279
702
424
996
519
48
196
434
922
227
230
38
787
89
499
119
709
643
710
886
953
676
993
698
402
154
437
667
813
709
922
527
243
705
783
60
457
39
7
375
128
318
654
603
814
625
893
820
878
681
39
387
794
779
619
568
389
417
486
499
632
342
23
877
773
501
24
960
332
810
310
275
434
306
542
700
688
306
546
945
639
211
140
784
454
115
238
216
983
22
992
330
502
128
564
216
744
248
465
322
11
68
685
18
795
861
483
470
165
457
216
976
250
801
41
27
225
678
101
634
284
642
244
445
992
743
371
294
11
453
288
540
135
903
983
752
267
958
228
940
997
89
887
827
980
595
575
39
402
842
769
873
996
760
29
479
776
356
408
783
660
85
354
627
410
874
255
733
238
720
638
138
501
174
577
517
478
906
849
655
208
63
14
598
733
960
460
290
481
673
237
824
675
862
174
574
756
510
732
960
849
183
469
810
551
133
178
304
352
388
642
697
222
0
626
616
35
516
487
73
633
257
387
716
603
953
503
6
433
925
876
78
148
1
651
251
330
246
178
944
640
70
882
319
592
392
768
875
89
20
954
134
693
199
440
178
730
827
284
935
229
88
243
487
190
13
662
406
877
523
894
768
738
12
422
474
106
197
59
654
467
713
446
99
955
931
464
711
200
516
610
529
487
99
592
700
267
260
117
725
845
70
999
263
328
238
569
794
835
691
179
378
594
55
832
291
923
581
644
34
618
826
672
11
370
572
424
25
133
416
127
387
624
606
935
636
593
228
195
61
908
211
256
153
996
542
200
583
355
225
401
824
767
163
559
721
943
456
977
557
173
243
625
473
156
808
212
867
778
586
636
263
5
787
497
577
779
314
950
279
80
864
920
39
41
125
543
431
226
143
663
525
682
733
780
128
495
466
568
703
145
932
998
647
219
276
64
41
148
652
593
673
888
634
952
133
411
801
661
998
485
737
707
510
766
952
662
783
411
933
666
889
418
95
392
338
159
373
904
639
265
423
887
819
542
828
952
163
138
378
339
807
104
737
979
901
302
810
383
502
662
35
93
844
937
106
124
915
232
56
676
297
709
777
25
104
942
731
117
152
507
645
624
734
760
123
212
178
396
571
871
390
457
933
553
770
198
410
342
939
808
188
887
938
614
158
872
901
459
696
707
401
638
782
563
354
509
312
627
638
117
532
965
384
893
117
50
144
653
328
865
833
149
755
98
280
989
912
539
684
985
609
282
286
5
439
353
778
485
19
57
270
317
73
534
278
300
306
811
251
52
837
105
407
815
505
440
318
102
866
833
456
262
459
917
305
176
321
722
220
842
197
253
103
153
214
530
990
964
471
554
165
740
931
973
573
518
591
734
594
827
941
140
465
586
47
936
860
528
164
836
720
983
428
560
949
651
398
560
899
42
829
881
212
373
783
922
681
967
476
546
230
727
344
278
251
109
416
497
864
808
990
448
34
108
960
379
685
671
999
8
101
195
569
758
802
619
236
390
99
611
489
99
792
113
987
111
914
745
604
141
375
639
638
127
44
885
108
41
994
658
908
497
903
414
254
511
818
811
634
920
937
575
492
644
801
365
253
490
360
139
891
752
816
694
109
170
332
239
369
621
292
273
895
763
714
808
581
754
968
640
736
266
415
283
683
145
798
103
488
615
322
348
387
492
528
985
252
592
270
482
736
161
849
171
891
702
149
336
792
386
395
476
303
371
941
722
110
383
946
761
950
791
953
243
939
593
829
360
237
737
888
651
311
25
430
635
520
117
241
174
223
542
48
163
979
651
718
532
595
211
766
976
775
178
480
116
348
696
612
719
21
824
223
988
88
975
317
602
725
2
93
818
915
440
931
269
596
165
702
545
413
280
741
819
344
409
473
72
297
864
122
273
619
368
612
129
589
812
42
697
375
937
614
681
430
167
307
349
603
948
259
497
509
841
262
788
255
556
525
495
20
515
271
473
445
593
866
907
151
918
93
986
946
82
332
8
779
606
871
491
598
345
731
976
498
404
263
946
80
181
163
860
465
905
829
206
130
271
72
762
185
873
267
228
472
284
172
535
639
93
693
934
201
783
354
569
296
612
600
341
957
555
582
924
126
352
740
249
76
332
469
708
432
851
71
243
752
126
398
79
78
272
657
963
364
775
319
274
73
726
285
183
15
972
133
561
623
117
782
662
186
226
600
443
630
56
897
379
179
880
837
268
107
468
779
288
974
219
371
165
582
742
986
812
112
881
101
782
497
399
424
776
883
663
795
498
106
296
404
147
781
238
239
931
617
901
168
133
154
166
58
254
641
821
828
564
340
424
830
212
385
791
43
13
685
233
767
570
65
193
869
527
384
582
563
136
809
777
344
620
245
266
351
817
556
495
563
895
387
385
38
119
881
862
636
120
241
533
454
693
737
739
145
634
144
686
195
937
534
963
998
387
607
47
302
398
103
829
957
893
316
603
937
400
783
791
49
961
152
504
156
159
636
941
245
857
978
698
678
713
435
244
361
717
11
541
372
203
105
872
861
531
697
10
747
178
76
340
679
655
270
632
490
643
632
916
778
345
106
692
754
535
947
966
50
744
619
778
874
11
773
70
783
973
658
423
897
548
187
492
537
507
835
57
542
454
397
204
726
387
186
950
192
729
971
198
233
323
195
70
611
247
70
110
827
302
571
719
197
463
355
288
4
594
724
578
362
430
904
886
830
33
269
748
444
518
349
284
935
340
692
876
651
371
759
90
862
215
18
28
934
999
173
681
136
265
450
914
109
999
966
97
790
646
451
851
306
991
236
468
627
327
430
134
510
62
208
500
579
94
356
298
10
16
951
65
408
809
98
729
767
494
14
464
885
9
324
563
34
109
630
483
175
944
115
336
0
855
300
747
537
537
721
45
814
468
245
406
234
37
12
985
496
138
601
417
440
646
391
636
508
553
637
43
225
445
36
309
881
360
215
808
236
503
570
43
946
234
954
112
807
346
908
205
554
840
837
114
625
828
337
11
981
847
889
511
399
283
69
42
478
52
303
337
655
491
646
74
904
422
838
174
893
689
154
49
32
393
229
484
240
236
563
848
761
907
870
660
436
165
744
408
71
531
777
190
241
989
568
404
744
269
618
217
586
252
149
351
513
754
73
932
256
981
120
151
543
757
597
262
351
928
588
887
850
847
226
638
958
580
819
426
447
543
368
675
953
327
632
548
947
918
677
280
490
476
540
290
932
506
934
206
589
340
88
875
509
692
846
714
368
306
81
392
676
185
604
685
417
692
527
624
337
608
781
946
725
479
438
973
304
360
183
909
909
163
781
841
931
191
977
132
827
297
660
622
560
351
5
976
615
503
842
780
389
20
847
287
701
162
759
784
558
580
184
809
332
100
509
63
601
516
705
784
411
346
491
968
640
544
935
987
297
620
366
882
530
662
853
888
17
500
909
687
578
946
428
873
791
272
511
817
147
102
771
475
130
716
547
516
289
977
827
415
620
572
234
487
565
986
898
397
537
56
65
552
562
792
857
128
111
673
757
325
763
885
600
657
440
891
329
960
620
323
960
781
484
999
710
860
740
712
733
251
852
747
466
165
563
589
466
787
953
795
437
955
470
764
163
627
436
231
729
964
515
324
123
374
966
369
114
289
157
430
223
418
759
0
143
781
106
474
375
907
737
236
997
139
302
513
81
989
675
809
886
145
473
524
351
513
400
910
312
272
722
208
582
138
115
379
853
693
83
859
15
560
357
25
395
432
51
69
549
356
973
197
1
318
389
919
634
507
932
271
683
34
123
818
577
905
585
234
906
98
748
327
953
118
996
355
375
897
888
164
28
229
522
294
382
282
70
429
789
921
914
951
646
827
690
54
359
281
20
401
114
270
406
799
207
490
467
817
925
614
64
141
412
980
642
240
386
680
724
867
534
762
343
613
595
162
237
218
885
786
954
589
261
893
605
1
954
489
852
542
919
550
335
402
899
419
252
790
381
575
751
929
234
795
906
908
133
59
120
587
734
925
582
878
686
134
444
991
459
181
448
267
907
584
727
733
928
323
45
489
293
431
557
78
678
720
292
389
98
81
743
722
527
188
961
447
925
140
475
746
76
858
112
744
558
65
171
129
375
502
739
969
128
412
65
323
771
415
652
58
803
894
546
217
147
93
209
780
671
201
429
970
583
924
566
787
200
338
271
369
30
446
848
860
529
571
387
335
274
944
534
726
273
896
748
110
142
958
315
740
301
563
583
887
416
746
931
965
994
38
404
370
205
988
498
340
390
830
464
276
408
505
664
319
766
132
889
518
724
181
837
127
205
209
914
216
2
747
523
602
729
952
781
761
708
614
544
636
120
424
60
722
64
847
229
270
220
432
955
95
222
128
66
869
665
678
451
245
47
285
767
868
486
596
723
851
539
345
314
887
863
231
292
424
207
425
394
16
74
847
759
254
317
299
711
330
965
600
178
65
969
284
651
751
388
662
861
367
161
586
863
538
319
73
55
358
691
663
315
404
826
479
912
876
12
680
640
384
641
765
650
319
42
13
406
691
517
728
977
465
311
6
285
524
954
314
315
146
428
653
208
181
12
175
388
380
245
940
461
587
230
195
161
806
117
933
799
320
283
327
883
549
400
497
412
946
163
888
128
722
220
526
306
552
842
569
98
302
120
974
4
639
613
111
817
101
58
809
446
664
565
414
636
235
206
997
598
968
982
138
294
514
919
742
447
722
108
458
96
729
501
497
498
231
943
955
590
860
990
375
129
517
803
456
624
179
860
684
328
971
463
838
62
773
371
708
533
351
765
744
203
472
261
625
162
268
257
534
151
647
240
744
271
461
674
838
276
589
510
23
290
469
757
277
522
690
67
408
85
487
54
581
103
498
187
435
195
317
873
574
558
834
751
890
46
770
680
541
793
587
949
560
351
304
80
782
440
85
21
228
89
947
989
769
621
792
976
214
467
705
576
36
906
633
164
658
430
131
181
206
302
834
575
476
337
736
929
296
641
887
144
629
688
170
74
901
167
809
926
130
583
990
719
188
440
160
350
395
224
351
275
706
455
658
815
252
267
387
915
460
933
887
235
354
973
455
790
868
788
836
638
69
251
757
384
516
67
315
254
462
112
216
786
826
191
347
777
337
276
21
250
820
971
147
77
670
204
813
382
423
756
81
367
567
391
367
207
830
614
965
371
535
246
340
483
796
602
529
708
826
840
635
880
915
20
817
283
223
383
967
496
590
279
389
274
375
280
5
555
595
124
763
20
451
594
397
94
849
57
626
772
332
908
447
490
185
748
176
283
730
797
689
672
407
18
51
930
867
541
942
438
450
111
470
4
947
73
450
494
311
582
11
318
502
613
202
299
821
184
950
547
851
540
307
109
764
803
135
536
169
697
60
369
251
712
919
978
769
434
15
43
333
294
408
752
798
542
366
634
283
453
290
754
505
178
818
954
536
66
111
804
234
274
281
99
175
837
701
481
699
898
998
381
583
48
536
88
363
813
956
829
755
921
484
345
692
7
452
469
154
865
683
652
260
436
890
578
631
797
756
368
182
659
368
621
400
448
769
76
57
351
536
608
442
320
814
629
95
913
285
980
661
667
353
661
937
94
269
38
923
167
167
802
553
214
100
264
665
737
784
206
481
859
811
72
289
646
565
120
269
341
569
674
342
674
752
916
535
905
561
293
316
78
932
128
480
128
700
922
565
879
557
812
326
957
495
831
783
832
962
698
832
993
53
491
1
161
861
793
110
467
843
732
257
443
240
917
235
425
1
722
44
338
265
36
927
469
900
713
239
482
57
928
881
833
349
922
5
874
15
801
160
936
576
714
728
490
494
992
720
869
231
925
948
911
632
17
288
572
27
878
817
52
505
537
293
49
523
797
744
708
786
769
304
299
754
11
469
514
564
594
48
149
149
259
547
715
761
487
202
318
167
863
850
235
430
553
132
1
754
465
402
323
420
746
252
352
933
922
936
521
768
882
216
500
863
97
189
208
870
976
119
678
554
604
714
820
896
759
151
748
204
575
13
376
182
112
196
552
120
721
317
588
594
53
863
994
766
883
892
55
443
51
858
465
589
688
314
271
870
396
886
767
216
267
516
765
242
815
53
409
854
570
196
788
674
41
175
510
452
97
4
738
362
671
599
929
930
215
790
463
686
964
386
559
359
975
123
740
886
182
480
962
982
323
16
663
510
421
586
737
431
97
808
308
440
971
911
90
737
598
370
370
100
737
498
761
196
416
463
912
505
852
356
101
582
457
290
869
286
9
81
280
707
934
26
294
595
474
690
529
821
998
270
373
903
698
950
19
729
177
792
969
644
748
314
802
383
334
718
604
76
809
417
887
506
367
243
257
611
347
296
832
685
687
276
835
278
344
842
284
412
968
127
874
856
18
291
163
201
685
978
927
964
343
123
161
596
949
313
594
913
893
381
586
526
82
89
615
529
352
876
680
631
959
665
267
245
584
52
744
393
529
237
965
579
842
301
23
989
715
932
433
836
842
505
250
395
552
23
312
600
989
469
224
736
5
567
915
418
778
180
796
517
761
133
16
784
59
824
134
540
88
241
506
410
765
403
922
505
666
874
624
778
99
981
832
583
9
99
57
646
510
439
7
535
373
626
587
366
426
431
235
194
365
211
49
549
701
898
243
166
941
389
801
604
870
799
509
844
168
437
334
308
681
858
429
443
702
237
838
395
105
86
666
199
87
196
468
45
842
525
307
81
642
494
536
226
753
919
987
697
208
945
802
343
556
354
592
901
485
185
713
867
854
763
841
940
638
834
47
127
255
934
23
992
335
317
422
348
924
279
858
466
382
996
270
664
170
505
915
328
863
627
665
682
219
358
964
322
276
176
10
28
336
73
921
516
406
277
669
255
48
485
568
457
466
376
637
878
196
387
739
549
616
517
761
524
652
276
742
146
617
534
554
186
476
394
32
966
397
510
428
473
459
478
927
223
291
566
23
669
994
810
289
654
748
717
579
354
230
650
145
790
728
547
995
194
964
130
699
336
261
247
780
415
297
79
812
92
684
256
18
686
634
562
201
650
70
456
150
696
564
971
463
823
123
527
825
738
42
204
273
489
356
192
209
47
19
603
332
795
822
899
951
317
984
743
999
117
45
210
919
794
564
625
839
129
999
235
890
619
764
494
294
149
6
831
228
120
796
113
948
753
757
513
766
851
87
65
828
0
73
130
14
795
667
944
853
366
440
862
863
703
940
995
656
542
765
565
266
287
297
135
356
134
571
778
717
21
848
90
532
907
649
537
515
979
34
264
40
359
74
815
264
918
656
932
496
526
375
343
971
991
5
886
764
526
367
545
149
815
386
159
766
30
645
278
570
537
70
794
830
30
281
996
856
203
127
878
624
177
367
362
985
638
828
465
961
995
430
289
699
805
708
532
848
783
208
645
402
509
819
438
403
653
493
476
733
979
609
53
760
177
813
69
945
471
491
678
875
363
876
392
427
401
823
964
726
84
153
318
215
305
974
201
223
471
894
648
508
631
95
298
918
242
853
850
113
193
996
50
628
497
605
586
277
290
41
295
311
811
959
326
414
203
906
376
852
910
957
890
187
717
511
446
396
459
339
380
285
783
317
65
13
475
156
182
722
42
731
333
223
299
893
235
316
603
459
769
461
737
339
989
836
4
607
92
715
356
914
40
630
867
102
89
124
612
262
410
891
741
971
887
552
376
4
379
804
663
40
78
177
287
154
894
86
892
576
325
752
491
543
452
144
726
519
469
261
475
215
762
871
740
136
858
874
13
955
553
487
348
788
750
917
628
770
427
251
661
448
884
970
684
652
322
221
767
61
720
408
780
519
844
222
859
616
409
601
241
87
614
7
365
898
176
404
416
775
546
62
142
842
943
748
496
832
236
674
196
817
490
661
560
827
295
313
50
394
792
964
479
947
682
207
427
218
140
668
326
471
464
837
958
257
417
676
845
117
563
677
947
18
777
725
923
207
148
430
116
954
173
800
869
791
338
904
500
434
866
840
705
566
426
511
459
501
967
166
102
983
996
5
520
665
913
668
355
688
592
331
198
229
966
914
257
475
820
719
655
863
967
57
426
31
781
456
178
223
501
503
498
955
958
363
182
310
360
572
89
562
202
8
810
412
847
869
109
606
592
926
801
411
167
254
680
492
626
46
149
395
890
616
980
50
143
389
391
802
249
753
13
928
44
917
465
980
753
362
203
606
461
88
413
339
503
311
173
295
150
915
990
188
347
799
112
922
209
544
210
411
385
664
66
392
824
852
836
796
265
927
209
324
881
524
440
908
610
76
432
447
692
290
167
124
620
555
14
598
346
890
263
434
219
69
286
527
562
474
119
195
546
890
90
994
64
894
718
602
713
398
740
277
580
227
468
396
90
894
810
886
244
305
751
179
633
344
695
355
191
591
668
685
663
745
885
101
455
896
959
986
703
276
873
551
114
683
793
472
986
790
321
387
533
222
741
693
492
260
99
929
205
254
13
75
153
740
23
453
762
973
668
880
404
472
268
859
188
144
177
946
24
355
902
241
123
381
408
918
89
515
791
109
636
855
396
562
788
188
316
635
52
238
795
630
947
358
857
884
78
432
247
225
160
522
33
160
469
302
693
189
777
256
962
914
825
567
285
577
336
181
488
139
993
920
50
686
233
550
123
856
47
172
254
467
15
914
965
173
64
624
818
693
842
909
505
407
33
381
725
154
797
446
568
159
244
781
834
476
115
220
301
570
201
766
282
175
481
194
78
2
183
102
944
376
86
628
958
534
70
0
303
519
803
459
403
183
81
173
941
780
217
385
661
158
857
477
972
966
734
83
120
789
11
263
382
586
811
610
671
795
605
182
712
414
238
540
765
721
715
292
317
151
259
669
411
592
169
746
719
549
43
503
283
471
490
112
471
776
89
977
697
426
275
506
378
418
953
704
852
37
861
282
53
802
890
104
968
987
302
914
948
693
232
243
24
10
906
729
486
461
719
267
921
858
118
173
651
182
203
372
802
400
758
368
868
930
22
556
794
484
32
224
99
386
859
152
273
996
667
152
729
72
896
868
401
971
756
162
595
629
394
321
470
862
4
169
452
949
233
381
791
495
914
421
471
975
61
88
966
818
907
391
891
754
803
739
69
607
836
855
178
542
730
893
377
503
936
205
678
516
623
236
467
520
346
579
653
430
68
190
853
850
59
373
47
46
623
873
114
30
387
318
924
262
50
603
403
41
932
529
491
57
304
179
822
545
226
791
68
531
90
938
468
767
64
807
94
841
903
201
63
953
897
351
873
369
926
704
161
566
146
143
721
304
351
567
78
331
639
179
572
762
965
851
293
170
53
521
300
898
19
796
973
198
726
350
883
106
504
432
43
401
641
914
284
931
245
187
849
164
508
459
447
842
957
245
543
647
610
157
331
98
234
863
461
774
857
791
708
684
676
843
98
603
92
285
558
844
754
188
571
867
41
24
45
775
132
327
369
582
848
727
595
479
587
435
762
664
840
492
584
346
310
206
192
147
502
979
303
623
189
463
570
230
805
95
720
419
418
45
999
456
699
205
869
409
528
855
492
565
479
179
807
250
221
601
834
687
419
376
212
276
735
979
933
729
524
176
501
153
890
15
284
569
501
859
135
67
648
658
300
62
475
373
983
469
669
411
98
318
219
197
580
335
162
366
650
287
841
8
68
380
542
759
499
628
864
943
564
286
158
948
792
134
37
398
606
442
435
869
496
494
832
230
803
695
234
522
200
84
657
867
551
305
8
631
562
496
803
723
152
476
823
654
892
867
961
124
12
699
287
76
168
673
544
782
67
959
905
859
585
773
43
304
124
475
104
116
310
299
268
117
107
973
736
211
467
145
853
866
765
262
431
343
676
557
77
740
720
34
976
49
597
377
949
594
870
332
32
757
295
261
476
730
303
700
222
24
338
47
220
983
211
487
528
598
707
171
814
580
272
734
378
904
413
247
260
967
209
885
976
697
700
642
878
566
924
700
76
378
654
641
969
195
528
700
9
234
632
938
62
850
802
884
940
97
912
29
838
357
637
887
542
73
262
472
807
648
558
465
285
850
633
449
532
986
98
213
556
401
458
159
730
529
888
600
34
178
978
257
657
612
570
321
855
277
297
899
677
48
500
7
988
715
686
117
525
837
462
223
561
749
317
271
576
344
592
69
1
698
837
152
532
124
325
733
142
189
437
454
731
282
271
317
713
946
634
268
75
185
556
410
853
70
625
731
40
682
639
90
88
84
564
656
165
454
291
301
745
714
587
684
252
290
966
962
570
108
625
154
401
462
778
193
945
230
739
477
645
691
519
873
941
508
627
63
489
695
644
470
350
892
837
885
22
493
830
740
898
726
892
838
994
99
159
171
713
148
604
751
401
456
618
919
357
335
731
190
278
660
908
478
589
449
719
472
699
904
785
530
419
948
941
316
76
198
722
238
111
637
807
330
371
633
63
461
662
682
238
418
295
741
270
926
443
381
165
945
31
867
278
126
830
980
201
812
874
517
892
8
432
946
314
461
190
630
332
946
985
460
112
298
974
139
709
565
548
935
785
859
775
473
74
759
80
158
861
351
986
345
29
702
341
368
79
686
889
316
891
774
493
643
772
582
386
446
783
289
298
1
429
629
233
777
207
85
481
433
355
516
798
593
38
683
251
711
845
851
416
680
268
134
119
520
184
992
228
194
489
66
247
419
699
319
184
141
546
780
108
693
507
626
315
436
69
815
421
714
742
929
201
478
600
264
171
873
948
571
331
691
308
101
50
282
297
904
552
890
346
676
697
177
983
433
955
37
558
803
50
684
635
624
152
706
279
834
763
440
777
33
850
988
379
724
500
598
424
889
547
477
510
385
845
676
474
257
238
948
17
950
801
857
851
994
50
908
189
228
132
319
285
130
686
425
565
719
384
483
902
345
826
935
5
375
719
137
728
383
601
324
309
411
176
151
942
724
364
581
907
632
243
826
68
55
299
70
880
507
384
699
869
626
733
229
675
900
739
892
350
172
711
665
907
19
164
909
991
783
40
642
333
144
298
294
175
350
958
822
689
678
371
319
992
312
874
738
500
281
33
617
49
235
627
446
529
540
153
906
545
665
703
323
815
387
31
171
321
258
108
115
237
597
868
89
492
845
114
820
419
695
769
895
426
187
238
619
306
190
762
421
853
150
198
303
1
84
14
75
678
824
35
481
489
30
907
340
971
139
73
696
406
71
264
369
396
909
873
864
611
397
976
899
935
740
760
678
734
708
170
93
178
677
618
622
898
58
599
195
207
777
269
167
875
199
863
377
821
8
31
838
949
606
548
576
117
574
354
527
476
956
143
839
366
438
918
160
203
305
288
698
436
135
442
76
265
777
591
457
422
967
386
546
33
34
518
497
798
659
334
349
589
992
586
682
350
107
785
93
124
362
509
155
305
137
674
402
969
306
956
353
925
224
724
130
612
633
386
824
298
26
829
669
519
557
698
83
752
624
518
784
148
27
383
686
460
359
273
812
850
144
400
247
944
37
484
48
246
564
323
935
299
965
252
798
898
669
916
968
562
26
182
312
490
732
461
950
756
757
821
955
61
510
860
637
520
752
717
486
23
799
35
378
130
542
651
541
126
90
839
589
250
456
360
861
663
941
332
540
849
384
309
783
549
660
468
266
41
908
491
879
89
124
751
708
1
945
14
693
285
952
336
437
45
691
78
382
836
127
94
312
626
848
934
1
909
108
643
426
555
864
974
844
449
651
660
819
173
842
852
637
910
50
109
72
686
863
781
569
760
244
524
641
412
187
718
870
773
535
898
490
119
809
244
271
44
581
985
14
123
440
113
959
235
77
594
881
345
512
787
271
98
586
590
151
778
935
527
518
329
449
271
390
941
368
450
292
5
978
951
223
813
443
240
180
796
809
618
722
308
203
213
294
496
394
54
948
90
659
646
404
478
982
13
851
735
619
150
341
52
684
967
292
543
454
412
816
125
850
753
609
461
550
935
625
912
197
669
811
432
766
971
637
375
325
972
231
436
234
167
921
725
122
884
910
424
219
907
214
421
770
963
118
804
827
859
194
387
648
219
737
91
455
126
728
230
671
90
581
2
854
541
273
707
259
940
337
789
767
22
382
699
962
530
529
525
268
744
458
675
932
696
679
470
381
649
127
505
804
640
627
498
401
591
740
379
65
178
314
914
828
263
789
545
933
900
136
143
474
470
398
577
121
610
91
561
585
635
368
464
433
225
109
850
854
590
133
582
231
281
329
229
674
512
730
35
895
963
112
945
198
913
266
686
163
709
575
396
633
556
508
307
504
287
314
574
111
432
509
596
705
950
611
988
814
592
964
52
939
28
448
358
540
869
424
237
998
178
415
835
861
515
302
671
437
556
102
125
851
698
640
90
972
53
824
751
787
75
491
691
685
276
835
576
896
221
798
262
539
488
113
402
145
21
651
644
279
711
507
738
581
590
364
922
216
213
819
893
365
536
988
144
271
211
870
232
792
932
836
76
649
370
914
529
459
14
833
22
708
700
966
914
445
789
877
983
325
863
563
225
709
444
393
922
976
182
594
44
100
442
180
33
495
985
445
503
286
4
85
239
573
405
124
861
610
589
902
641
16
675
676
614
888
968
12
646
669
565
765
633
350
158
151
418
867
192
915
127
712
664
288
775
374
706
217
862
833
12
907
725
658
301
87
563
277
60
584
213
292
460
669
32
790
818
391
139
52
206
341
613
621
903
604
26
144
422
634
218
692
385
917
258
926
215
307
188
674
283
502
97
593
791
538
256
403
659
525
502
123
451
714
748
655
973
5
421
382
157
316
204
612
674
526
439
407
50
929
823
295
182
488
902
372
79
87
745
832
468
345
212
857
423
291
711
191
348
41
968
344
564
590
777
263
219
707
399
613
108
45
159
608
391
809
550
724
746
174
25
138
800
610
703
499
139
626
972
227
574
597
213
178
53
645
241
524
299
292
10
198
671
776
477
945
992
660
591
227
420
730
345
6
114
476
259
224
57
607
585
689
621
425
949
837
508
266
392
693
296
34
353
584
152
971
76
423
816
56
464
753
791
982
738
411
812
952
854
823
885
568
675
830
101
804
929
759
23
250
794
738
410
351
739
785
161
89
793
32
141
746
852
142
944
825
752
393
472
663
356
778
652
105
157
628
23
802
101
183
408
5
373
66
817
741
45
963
130
364
426
926
516
294
386
948
411
758
665
343
41
202
352
684
450
726
655
208
333
156
749
192
334
244
512
321
132
24
519
385
569
187
916
519
296
92
791
88
136
601
54
834
364
459
417
503
954
521
949
346
132
650
16
740
295
242
195
325
30
797
89
590
482
707
156
7
951
874
212
459
593
975
704
967
595
199
711
539
889
810
282
577
269
167
411
145
994
81
611
748
770
724
636
314
400
742
791
819
335
307
480
801
932
507
683
490
208
254
776
652
157
704
362
173
468
62
506
759
666
780
951
455
506
363
741
136
974
623
954
437
935
659
711
448
240
514
634
155
750
175
994
621
520
67
465
661
168
580
742
667
213
148
271
655
419
992
229
692
133
166
296
253
361
239
561
610
209
881
753
587
315
792
547
144
800
24
760
45
4
953
718
501
477
124
204
388
249
678
2
98
910
554
774
326
552
604
262
251
706
915
210
953
930
603
282
714
158
198
283
534
78
396
647
31
488
884
499
156
171
984
23
112
903
513
321
867
647
757
743
240
588
877
623
260
644
408
354
843
73
644
444
565
65
965
84
712
614
683
483
456
514
388
408
685
89
244
714
295
757
582
365
460
97
222
3
79
851
401
157
399
552
562
782
384
124
590
917
749
394
977
932
831
571
373
455
403
191
158
267
730
983
281
227
517
931
160
306
650
804
887
194
297
419
398
250
720
822
84
870
148
615
892
652
582
460
756
469
847
155
295
541
830
954
238
468
834
789
279
322
487
248
288
792
444
448
494
418
131
154
182
363
444
32
618
820
514
147
440
445
132
476
99
385
624
969
218
270
917
766
245
801
807
485
586
774
432
653
917
76
838
206
956
789
305
552
932
778
188
997
234
325
174
523
452
976
336
897
452
248
431
9
791
197
413
591
50
51
289
127
845
298
457
367
674
70
586
991
344
600
578
467
77
728
194
2
734
487
653
415
874
349
883
893
779
200
424
180
134
991
576
719
877
142
592
296
980
842
227
619
571
868
905
373
692
354
971
76
516
39
616
446
665
228
864
955
906
890
886
577
574
24
639
409
498
277
397
528
651
918
631
903
672
198
201
206
740
174
672
16
659
586
4
260
139
477
117
269
283
500
191
85
974
505
256
989
144
785
497
531
750
672
38
634
197
558
546
588
656
904
233
913
708
330
220
773
182
186
955
294
318
185
627
261
463
839
936
5
235
133
47
612
828
326
511
269
976
545
401
64
776
170
311
108
790
69
297
666
910
490
592
715
38
298
413
31
251
889
20
489
91
252
773
719
85
480
847
150
581
145
57
352
367
281
23
177
102
221
195
843
506
408
673
573
713
587
532
443
167
30
318
399
261
476
936
10
160
33
644
402
840
161
752
713
348
405
375
900
428
376
645
195
845
787
800
404
513
880
763
774
840
85
524
302
618
21
248
71
671
370
728
53
421
145
582
842
101
312
49
83
644
572
966
116
541
307
584
649
194
773
478
671
344
308
650
921
998
37
856
301
670
89
953
552
144
890
356
482
139
382
493
849
47
659
992
764
375
652
395
704
4
79
201
496
498
293
627
308
503
519
3
349
170
153
910
897
757
943
965
772
79
474
101
119
398
868
561
480
92
20
171
785
963
747
635
857
965
603
799
160
347
925
192
849
606
922
60
950
480
535
438
223
293
813
196
234
179
369
649
687
594
580
712
701
142
628
141
279
376
155
374
212
577
490
126
442
50
651
591
376
504
657
252
403
598
374
893
616
781
175
661
113
568
335
148
417
546
503
881
430
239
144
552
490
788
99
177
64
280
660
475
43
703
197
257
824
560
916
551
492
157
448
371
326
875
296
408
861
390
146
48
360
540
220
414
341
995
929
561
789
117
205
378
292
481
923
26
663
486
356
14
818
242
853
892
423
511
586
890
653
258
945
803
58
734
989
806
91
16
477
214
481
659
636
71
351
376
793
487
405
94
254
726
138
13
414
28
411
71
378
335
428
280
904
354
11
989
968
32
754
496
520
164
882
487
370
32
605
643
951
538
443
638
952
541
614
368
807
769
23
356
588
590
575
70
906
284
477
560
965
301
484
643
82
795
114
448
899
369
720
227
332
332
302
643
83
709
482
625
358
854
702
70
640
269
527
291
2
296
901
0
495
415
48
820
444
553
181
582
898
688
730
661
253
525
981
234
303
378
188
423
98
484
688
22
938
51
576
579
206
913
137
89
860
612
635
245
915
241
566
607
757
305
171
268
868
10
930
975
752
582
128
59
718
976
652
132
155
143
810
861
405
559
866
531
597
693
173
41
264
648
768
215
519
548
957
586
296
898
712
51
892
946
286
386
190
860
32
657
293
323
247
673
381
119
5
328
218
827
86
754
180
963
456
314
293
651
113
669
233
449
906
693
613
286
692
135
861
153
630
630
821
966
425
342
653
781
64
509
120
980
756
376
19
77
544
918
724
123
37
784
645
668
698
828
610
317
818
247
934
992
598
221
888
369
875
748
573
553
643
762
3
908
105
715
158
638
651
955
338
180
276
680
264
573
134
342
61
319
981
975
462
370
289
696
431
721
45
238
499
339
321
215
3
533
671
640
841
898
513
484
822
474
580
509
198
857
78
823
200
988
817
127
725
455
232
361
431
728
121
927
385
923
657
345
224
802
681
325
568
471
846
667
580
549
991
206
184
903
196
763
684
28
979
332
63
413
923
225
683
835
568
980
903
737
991
633
215
379
576
905
193
234
487
583
588
629
730
253
672
155
773
363
435
633
614
563
868
155
900
44
577
641
753
645
495
40
971
807
278
284
389
587
392
96
228
27
571
71
196
667
65
979
557
198
607
601
26
594
660
98
145
211
669
923
630
974
846
271
660
995
454
429
521
814
813
734
434
895
280
227
403
551
335
52
303
100
369
307
704
942
123
457
969
796
841
859
126
99
119
490
745
154
992
978
995
487
39
219
237
952
88
997
522
125
64
144
88
687
921
952
683
572
868
591
559
830
375
803
895
14
683
673
945
6
134
406
235
441
969
560
52
11
634
587
630
747
490
434
7
967
631
514
939
190
932
278
240
130
947
816
496
937
514
232
962
867
790
407
963
66
919
289
844
414
250
717
804
520
38
241
944
989
802
822
551
996
529
599
920
24
388
63
843
981
869
480
183
238
164
612
664
531
930
485
881
368
724
779
931
812
578
292
536
115
216
152
671
248
594
949
933
44
110
510
912
641
885
8
110
504
432
380
26
625
126
56
384
512
8
737
938
805
179
184
733
421
644
648
803
30
778
381
50
462
49
647
234
267
682
112
734
647
709
684
217
452
950
677
375
873
926
579
689
872
929
70
479
924
357
767
815
595
286
62
846
986
240
657
495
440
331
597
217
616
418
112
883
168
794
269
794
780
369
712
882
325
763
691
834
132
783
333
410
155
482
605
817
806
744
293
478
754
622
502
806
341
786
972
194
379
158
716
918
343
962
243
708
771
572
452
813
352
245
156
192
186
197
730
226
268
774
677
126
756
865
706
531
578
794
591
559
864
342
430
292
343
19
272
719
826
7
643
838
479
160
525
561
888
889
18
574
802
903
738
457
568
739
10
962
598
8
389
902
509
370
455
65
42
242
217
171
241
632
868
974
378
798
622
781
404
631
882
272
739
802
281
693
30
708
608
741
736
702
917
432
739
589
198
918
787
538
844
588
569
225
233
708
562
536
294
733
133
941
879
582
351
833
768
481
751
136
372
113
392
996
242
1
869
786
467
277
513
737
31
847
457
970
362
583
179
902
575
901
417
944
223
546
145
350
120
917
184
984
47
938
519
905
255
300
858
544
310
446
481
962
37
120
234
706
273
386
960
461
354
277
765
648
61
234
693
63
714
232
753
803
554
735
195
794
248
51
160
698
702
424
786
76
544
5
382
388
982
58
591
17
643
54
489
202
227
503
964
359
630
954
288
419
851
315
426
169
493
315
696
857
6
960
55
147
26
717
17
999
60
213
948
254
235
306
199
898
225
689
222
754
310
301
339
280
370
430
458
192
808
645
63
687
51
677
676
998
344
793
409
192
93
351
261
200
226
322
443
611
691
117
473
357
736
407
507
614
176
548
505
636
800
931
809
738
333
506
203
45
617
58
952
697
11
97
719
219
686
772
963
805
414
106
249
58
449
205
979
876
893
164
260
737
514
874
163
764
493
287
120
231
205
512
210
759
227
902
24
105
788
767
336
177
973
274
368
169
474
51
385
164
112
408
430
546
445
248
431
812
569
140
246
313
901
153
936
635
604
24
858
98
623
438
269
111
478
347
651
315
27
414
387
52
560
431
198
427
57
270
721
237
975
141
775
197
610
589
92
350
489
109
481
736
976
389
530
567
984
415
591
372
281
94
297
693
629
28
604
881
580
924
503
997
449
545
319
80
221
332
20
156
912
99
275
19
666
431
699
113
324
622
14
984
783
896
769
30
888
32
918
27
983
904
599
573
628
497
941
671
989
73
219
23
944
511
739
470
949
974
52
571
202
121
714
64
109
410
429
12
31
608
821
128
984
836
719
93
441
924
780
648
781
567
83
607
918
822
898
3
987
174
154
891
167
44
593
369
900
72
338
454
371
462
134
936
722
398
216
479
96
505
696
286
64
606
750
626
170
367
113
19
824
664
861
779
315
54
554
762
803
677
880
39
461
727
650
466
703
468
666
296
975
140
192
476
364
736
53
686
556
426
740
366
671
854
272
985
796
170
217
383
119
36
820
265
505
698
484
769
571
418
61
38
193
389
613
488
16
621
398
648
15
633
868
785
213
346
767
824
112
198
365
515
170
77
583
366
566
723
399
105
945
93
203
205
906
509
23
534
634
249
205
513
327
752
968
460
429
926
589
668
367
495
417
536
424
135
12
52
33
146
912
629
559
782
19
850
675
655
115
159
292
603
493
520
306
554
159
315
829
472
457
866
355
55
970
225
557
445
259
214
288
934
764
615
28
155
625
181
435
765
806
261
541
694
516
345
642
112
772
62
253
649
48
406
814
966
939
465
801
501
463
795
724
531
911
430
98
542
242
966
421
772
867
79
876
330
91
316
384
818
282
975
778
607
528
406
179
618
851
96
981
651
561
357
390
860
764
845
659
36
585
921
401
495
941
812
805
512
818
682
214
378
678
71
232
80
58
796
859
149
407
297
584
81
579
408
947
166
548
248
888
44
609
311
749
237
305
829
505
541
82
996
651
484
87
797
428
754
64
244
864
749
189
550
228
733
17
891
614
943
564
270
452
100
83
443
852
622
443
999
551
880
258
656
594
987
473
613
755
964
89
19
16
52
206
609
454
412
857
628
298
99
849
219
809
972
600
398
273
887
700
532
481
3
635
408
670
457
702
514
565
3
432
747
260
210
551
764
23
302
320
762
959
440
32
525
333
848
510
562
124
163
872
293
646
929
265
239
726
796
88
112
546
198
247
624
97
363
701
919
609
681
687
301
52
611
467
612
509
345
925
996
268
335
324
54
819
554
969
901
371
452
978
894
323
569
997
449
539
689
17
169
160
441
316
153
336
915
296
140
829
528
219
604
562
421
202
699
782
34
618
330
151
72
440
155
210
755
311
768
328
579
526
157
971
465
952
783
320
741
189
962
332
123
778
881
627
414
160
561
282
710
370
760
495
5
754
666
786
639
101
557
784
365
549
792
775
380
899
499
68
803
252
269
749
549
944
195
141
233
398
349
413
611
277
561
925
495
985
984
213
397
564
244
557
206
160
887
156
113
388
606
585
464
690
55
219
392
447
270
54
379
560
144
297
554
775
721
193
932
670
143
940
81
377
567
814
688
62
589
473
191
180
191
164
414
778
206
453
838
830
784
953
802
622
918
895
496
576
630
632
106
394
239
188
572
89
175
980
927
527
199
246
829
552
955
702
808
925
503
5
441
770
448
243
619
920
863
790
98
939
681
706
262
710
970
868
60
874
459
198
601
988
66
625
282
848
447
46
486
928
442
439
185
71
794
907
625
218
483
107
497
714
922
564
83
566
113
830
941
583
570
891
526
773
103
44
217
318
347
419
486
594
850
490
684
630
990
246
36
96
73
122
268
728
555
304
288
385
428
806
754
321
772
623
140
613
718
85
182
140
289
910
325
755
815
827
394
469
316
656
61
206
69
500
749
287
721
687
336
267
969
449
455
364
42
86
40
531
390
617
572
692
256
86
937
537
272
73
526
640
79
569
892
242
449
250
445
431
630
179
717
38
85
690
284
10
101
282
344
718
950
853
990
184
136
510
882
422
432
252
227
373
265
190
178
435
1
18
417
658
147
791
785
795
213
921
762
844
686
960
707
450
611
649
121
485
842
386
40
616
648
799
865
649
178
266
77
878
722
928
522
464
892
856
620
436
399
709
568
168
95
163
603
558
248
279
911
757
399
814
119
94
783
412
874
780
970
240
475
203
413
505
804
459
71
207
218
497
388
577
99
972
178
181
509
516
119
300
780
990
941
926
526
195
512
123
908
852
919
521
504
65
244
684
25
371
743
211
149
588
147
673
532
522
465
821
591
828
685
126
41
437
660
789
521
75
25
58
702
742
749
469
744
501
91
645
517
568
780
733
702
565
378
943
503
436
123
422
916
766
445
340
105
192
289
968
172
783
715
523
77
971
367
821
631
406
629
778
200
1
661
150
39
493
435
462
536
410
96
192
354
249
188
339
693
826
252
710
344
499
348
242
666
185
593
732
105
101
198
799
402
845
376
935
506
608
770
255
535
322
690
906
398
244
294
646
875
61
64
181
793
405
722
884
879
267
311
405
293
633
373
373
270
1
212
772
138
618
138
978
486
240
553
834
63
514
729
196
59
813
488
104
448
785
873
687
534
821
175
579
820
385
28
754
769
668
620
127
844
345
772
492
435
809
848
613
821
804
124
345
3
627
124
676
708
568
918
42
665
355
205
714
70
0
742
956
971
861
529
686
791
699
483
599
224
546
818
473
268
155
617
404
961
753
624
508
249
483
255
551
963
910
709
329
499
659
26
315
521
471
984
414
946
218
696
935
887
491
882
236
137
376
889
533
784
969
510
788
854
225
180
757
481
671
144
335
552
341
145
350
430
433
311
729
884
403
170
233
678
616
415
650
632
754
34
156
655
808
466
579
519
741
475
789
390
378
797
770
88
84
350
721
594
995
262
660
701
305
929
664
410
543
914
468
405
342
885
822
944
533
932
212
701
466
174
711
738
997
336
267
934
107
554
92
197
523
95
9
189
242
10
391
333
238
409
51
599
740
733
804
496
746
477
691
655
725
108
525
213
674
573
91
753
96
863
487
995
916
723
826
708
129
10
909
271
695
436
634
162
489
833
176
115
896
524
66
909
57
809
637
275
369
857
69
51
56
652
12
442
318
339
731
898
27
549
886
5
91
988
53
277
455
433
89
226
375
881
76
856
74
933
221
813
773
955
481
551
583
571
376
735
833
557
998
562
164
824
111
324
598
990
756
942
351
358
404
440
622
271
730
170
411
301
791
241
289
295
196
845
632
695
107
988
396
756
637
773
636
926
103
520
857
849
422
971
156
12
955
907
986
769
69
13
81
126
399
301
265
312
941
416
689
554
830
876
646
268
208
718
407
208
902
168
112
309
669
539
202
835
496
840
787
133
624
661
459
863
396
254
529
125
954
998
4
993
761
9
258
949
71
991
163
539
733
556
601
397
297
34
630
12
110
536
915
454
407
996
934
241
848
452
98
276
149
741
104
66
141
485
749
311
185
736
103
594
292
919
126
256
557
14
307
987
47
456
514
645
539
758
673
557
267
536
580
802
979
131
425
463
178
154
401
575
469
463
975
327
11
905
309
998
831
542
412
908
125
287
757
787
719
884
496
470
996
333
160
745
204
962
697
740
521
707
162
313
80
547
179
477
808
788
742
790
847
804
214
385
573
154
464
612
566
289
595
225
879
955
396
332
721
657
492
662
81
956
812
587
457
789
777
890
388
994
356
464
454
332
112
530
491
23
29
925
860
2
249
532
891
352
574
751
470
834
770
758
693
40
36
512
311
773
613
42
655
262
724
986
814
300
143
769
559
234
88
896
464
664
636
629
958
877
235
6
457
237
279
198
88
377
793
660
404
825
703
384
127
956
872
264
481
168
237
267
420
231
567
923
500
739
629
916
613
941
75
666
817
912
911
195
792
326
164
793
278
970
575
109
695
712
49
554
454
4
456
63
984
761
910
948
985
236
551
737
922
174
400
646
114
453
222
459
974
251
477
340
886
831
321
381
802
243
971
885
326
13
424
637
387
767
674
682
452
224
573
282
291
832
351
481
421
162
6
412
347
467
209
836
511
617
512
921
607
165
809
910
70
976
372
68
33
74
757
800
565
672
784
274
536
55
220
922
438
433
135
124
257
911
663
777
34
354
336
477
765
123
725
263
555
15
803
650
214
763
342
370
282
617
543
145
392
761
501
892
356
928
295
738
384
52
474
831
515
211
869
856
109
636
625
600
979
168
813
428
117
846
491
850
565
145
799
687
86
777
817
216
790
655
119
333
802
96
334
214
238
525
945
319
29
419
357
663
62
120
19
592
3
924
317
163
765
837
70
485
896
120
230
819
135
621
50
942
494
151
810
185
562
574
845
222
737
719
990
92
632
959
432
676
916
437
776
980
853
883
283
548
567
756
65
733
446
464
661
271
216
125
411
478
927
860
95
900
763
417
161
195
552
799
255
299
833
85
746
83
373
505
832
882
356
137
625
110
742
673
726
634
893
120
247
840
373
946
99
629
968
203
497
389
296
975
693
52
112
916
628
388
164
130
141
852
430
568
165
80
369
686
204
851
528
299
907
467
755
919
736
103
361
86
284
369
239
467
504
711
59
50
829
265
880
591
659
397
436
632
922
183
90
551
944
887
909
770
27
703
798
983
257
328
461
976
74
772
785
312
592
510
142
557
662
755
87
715
828
295
235
427
366
344
290
210
815
956
6
415
986
619
8
856
424
128
758
413
642
204
291
941
295
426
299
147
235
215
538
581
953
413
539
536
980
398
845
638
180
468
757
518
777
334
269
365
594
665
280
559
901
833
736
304
166
71
752
404
841
906
460
289
54
623
119
441
144
497
469
758
305
381
537
579
287
346
907
619
714
462
169
491
64
549
181
785
769
597
929
40
43
817
34
696
591
510
840
235
415
103
971
156
599
445
840
804
792
651
172
306
428
468
377
186
977
237
954
182
406
91
26
452
130
857
738
665
302
8
524
330
804
155
914
591
709
725
230
251
711
597
47
58
330
845
229
740
567
6
704
612
225
852
173
807
489
683
580
977
916
300
698
492
308
997
491
460
626
90
782
105
641
512
920
678
639
871
312
311
30
789
26
558
986
915
507
292
558
289
201
821
132
214
70
835
611
966
59
755
434
604
300
98
476
995
440
364
717
599
844
148
524
425
61
888
830
598
734
952
245
80
847
782
423
587
388
539
920
425
38
125
755
384
84
941
117
292
114
267
410
980
837
917
647
118
295
804
550
581
534
277
710
392
186
634
7
354
6
907
948
712
339
597
555
731
7
873
373
588
391
80
190
146
9
281
346
849
205
175
622
413
685
735
27
429
673
91
659
881
748
756
211
428
879
662
264
786
140
47
451
405
625
881
935
164
546
355
665
106
898
321
469
678
992
770
435
625
584
303
649
666
214
201
229
288
392
23
977
178
252
230
412
865
289
296
164
50
661
301
563
434
161
604
163
576
242
25
849
592
482
696
882
831
140
435
393
609
224
106
743
788
511
604
278
661
532
111
798
668
611
484
950
283
686
504
995
843
311
963
847
258
612
619
443
678
996
318
143
644
435
422
609
908
80
456
786
42
218
612
163
607
455
689
361
620
497
605
583
738
275
189
95
400
746
229
353
957
95
81
152
303
69
210
895
69
271
352
462
384
197
511
798
838
107
113
12
243
21
552
42
538
160
318
222
426
260
410
253
856
104
70
257
511
531
317
195
425
655
116
974
416
374
847
412
455
871
662
782
803
997
166
282
384
556
233
559
784
632
634
262
165
877
615
794
573
500
701
130
690
542
477
16
329
969
33
317
776
215
620
947
11
550
257
471
871
617
79
641
142
271
651
687
557
190
443
635
277
570
549
772
816
667
397
276
529
618
141
278
443
911
936
277
687
985
463
812
35
826
667
100
763
581
87
309
489
197
54
999
969
548
314
523
416
151
342
956
633
143
730
191
214
320
156
900
302
245
325
537
357
144
156
304
222
42
271
18
659
188
707
593
454
263
41
484
99
87
709
699
727
176
715
948
651
860
904
96
888
689
973
808
412
786
142
386
242
722
166
36
721
924
541
703
884
802
962
279
500
968
233
18
973
719
117
41
799
486
998
714
942
148
558
954
922
206
615
573
507
796
956
721
567
890
408
737
989
448
449
757
439
165
132
757
447
62
363
766
315
891
152
775
685
548
263
791
75
237
40
844
517
408
96
568
584
702
717
60
718
537
235
863
70
870
414
299
284
790
85
137
610
464
424
292
365
606
918
81
606
112
335
704
657
236
306
744
298
64
601
348
135
552
780
797
488
546
175
545
767
166
436
131
285
397
542
231
502
225
733
296
269
884
639
224
13
191
839
670
981
119
419
884
974
857
626
388
671
57
326
67
296
305
390
872
198
230
599
710
737
567
259
805
343
133
832
693
763
614
52
940
802
838
335
81
511
242
413
678
158
400
501
535
918
833
795
477
33
162
864
422
431
897
94
944
460
99
644
408
277
190
34
470
288
30
383
960
33
612
234
481
473
436
79
918
225
647
852
454
404
172
172
513
97
878
817
38
378
920
85
314
125
337
570
954
537
777
170
351
74
824
451
930
11
696
624
121
632
500
306
510
883
479
303
570
733
848
27
956
338
297
517
217
615
736
510
949
485
647
580
604
615
149
874
897
468
18
80
11
576
262
79
670
992
855
837
645
853
422
878
429
65
972
576
902
376
735
216
688
601
632
384
626
498
341
109
746
411
991
811
109
546
982
845
481
774
189
317
639
31
378
525
297
482
161
945
344
257
751
399
679
743
755
721
622
543
234
760
525
638
887
67
45
978
815
413
243
88
159
831
191
565
961
626
305
548
348
415
994
54
419
536
337
239
543
781
161
494
370
225
969
753
453
172
682
638
10
171
956
15
806
909
252
239
874
396
622
147
382
114
847
254
334
925
354
142
666
570
133
418
597
757
579
341
343
166
438
356
768
421
967
650
815
465
722
76
84
28
453
165
388
7
464
136
441
452
923
968
494
126
899
737
491
116
533
292
222
840
743
952
853
330
52
608
692
364
525
499
505
231
235
742
816
714
576
7
90
838
884
896
274
437
906
340
529
698
517
839
929
851
100
897
522
565
567
602
979
78
463
746
718
407
830
863
232
3
708
432
155
671
872
372
813
55
543
133
201
955
585
994
59
688
413
61
946
83
939
906
891
598
16
726
646
240
189
91
569
153
145
595
298
485
410
418
58
254
536
172
762
26
452
825
770
623
3
841
865
369
681
57
633
925
194
338
791
634
377
523
982
691
880
760
475
871
971
386
571
857
139
890
208
553
301
123
943
918
914
875
485
844
427
358
346
57
850
155
32
696
319
117
490
692
265
915
171
845
962
962
977
624
863
801
58
617
349
440
77
352
413
511
250
171
878
446
899
47
713
770
29
847
364
247
182
467
112
344
81
875
17
643
213
454
463
498
572
425
936
743
117
266
188
485
808
807
423
265
952
455
157
821
653
856
964
592
485
631
522
417
378
358
58
138
630
392
383
387
796
632
973
546
324
432
221
189
710
516
976
414
981
457
620
197
810
60
574
971
371
844
747
28
903
836
363
193
118
221
789
173
514
31
351
350
661
665
459
148
571
333
381
142
274
542
450
680
404
705
42
679
650
569
680
543
674
564
851
874
405
53
415
807
877
978
870
15
721
759
468
212
39
584
616
82
745
792
850
263
557
270
796
841
343
736
255
111
104
57
141
159
512
535
510
52
330
60
601
834
423
838
688
197
911
332
776
967
139
192
271
106
53
857
822
141
168
854
479
892
704
634
791
97
87
771
790
987
242
757
392
644
931
289
499
141
423
830
970
805
983
765
202
222
833
764
910
425
34
980
708
642
875
638
952
585
62
999
722
282
76
994
993
494
165
681
226
248
215
963
47
715
515
343
908
618
776
928
482
575
254
166
970
793
624
177
725
776
519
287
704
892
987
219
964
39
26
923
337
464
161
764
189
482
980
706
133
372
145
346
844
259
420
263
589
640
970
973
358
759
964
892
703
767
741
114
951
603
473
910
20
155
563
539
709
260
976
542
21
190
858
580
507
842
642
343
373
553
73
577
434
733
613
929
911
426
437
413
840
440
368
759
11
997
143
539
231
929
916
398
342
326
744
599
967
499
222
144
985
145
768
413
713
875
481
876
964
954
914
557
485
136
432
726
387
206
527
163
407
162
465
199
853
496
832
910
865
202
617
710
722
28
606
479
431
6
827
78
83
51
130
122
166
154
947
563
354
869
420
358
755
842
187
946
733
893
767
243
985
546
570
862
252
408
647
836
262
546
732
318
873
848
474
852
991
867
856
551
590
831
627
204
299
452
475
977
954
30
802
212
963
813
855
550
990
735
965
819
784
395
6
463
904
3
710
773
331
44
893
393
713
591
147
863
901
744
516
900
107
747
753
664
615
221
798
49
898
65
319
420
483
310
571
825
704
715
123
540
582
45
210
458
68
933
793
549
67
869
222
709
45
525
807
941
425
630
520
311
924
616
956
749
678
513
113
478
245
895
667
102
440
449
32
69
357
941
610
128
186
146
594
499
683
875
669
611
236
137
397
745
221
885
100
743
980
903
144
281
986
898
414
935
758
562
291
779
893
792
745
429
974
566
276
342
236
47
356
875
261
940
147
152
375
670
888
917
291
837
372
405
772
714
367
97
723
578
828
222
185
848
293
274
887
749
27
809
628
588
866
746
840
486
22
430
287
787
406
831
803
106
50
610
597
83
310
550
19
927
207
289
703
763
320
479
994
477
28
379
271
285
747
927
628
552
269
389
765
420
836
555
627
522
797
219
518
126
201
810
408
976
310
788
625
999
916
803
646
132
453
171
511
319
628
550
83
179
346
517
637
104
441
110
629
441
658
449
858
77
968
774
887
177
233
774
423
751
66
140
148
57
963
752
997
310
582
418
747
765
495
548
668
34
361
8
176
907
285
787
642
679
887
271
61
758
463
655
89
277
309
715
524
355
728
36
77
141
74
657
431
146
521
612
493
433
635
216
495
878
761
130
201
524
287
879
170
382
149
773
881
796
110
757
370
803
13
556
342
817
681
401
700
488
675
383
364
81
645
736
988
18
650
571
554
708
412
756
17
376
564
41
327
669
938
755
703
229
610
587
128
710
225
187
282
968
587
928
54
66
774
67
770
602
579
100
570
914
452
917
792
938
885
201
306
450
998
617
739
710
780
966
420
812
123
791
884
107
424
859
969
954
503
109
699
540
363
97
982
562
883
736
922
830
343
9
331
408
952
351
494
623
99
643
68
954
469
448
833
100
142
340
408
937
257
712
973
525
565
236
3
350
536
568
772
382
717
93
655
636
503
378
779
65
235
205
66
330
620
569
982
202
237
128
188
686
48
787
542
50
276
779
532
522
254
205
73
755
588
183
15
858
22
392
210
61
631
57
663
660
251
557
722
958
885
966
990
710
121
713
162
464
692
462
214
164
914
923
695
555
425
638
865
514
974
467
16
101
3
241
5
195
33
491
304
356
151
929
161
489
718
433
371
682
708
213
984
164
503
394
243
636
496
214
789
540
510
966
747
509
108
603
689
956
888
386
819
935
747
938
29
82
330
435
697
438
185
118
523
615
807
624
625
836
318
743
165
233
559
296
17
62
514
297
403
508
540
79
364
727
917
352
267
210
425
803
923
348
577
309
479
49
738
700
981
64
38
689
484
643
761
572
925
602
780
367
829
538
654
129
283
268
182
548
703
604
233
238
753
941
669
923
826
937
995
31
690
234
839
526
366
399
562
975
916
665
661
80
947
598
358
816
387
233
471
391
445
150
481
731
589
349
590
68
823
437
23
574
120
691
636
481
373
339
730
733
490
204
919
561
479
570
564
666
533
800
866
370
286
693
525
120
243
297
809
15
185
676
80
563
414
891
488
438
858
591
582
779
355
561
226
762
140
93
620
471
356
364
777
466
122
746
522
860
123
413
565
895
401
376
184
563
986
421
787
623
958
304
315
868
279
683
36
838
411
96
280
375
305
35
452
885
785
354
768
720
200
515
584
353
577
75
354
557
490
17
116
912
105
820
481
738
10
925
136
995
164
9
622
11
738
379
280
137
788
724
99
816
511
732
816
659
592
442
315
767
950
294
421
55
125
893
15
189
677
945
356
12
985
525
266
188
944
36
817
950
138
398
392
585
370
549
258
309
655
599
665
605
757
842
472
628
161
760
774
562
667
14
892
91
679
725
627
312
801
826
607
965
281
917
496
167
616
47
295
640
969
379
613
282
546
390
856
169
469
726
331
690
135
39
632
169
386
796
484
997
910
56
396
224
60
642
294
75
419
267
378
546
182
173
152
772
150
477
260
607
535
464
42
602
156
257
311
978
834
550
362
603
52
607
167
475
855
457
890
740
867
639
892
786
476
324
636
626
735
273
941
305
915
805
279
81
733
880
931
395
922
874
652
218
276
676
639
389
278
283
288
336
997
977
617
5
310
324
98
840
362
29
337
232
902
202
156
791
861
124
55
146
629
749
759
102
609
708
926
130
94
57
223
101
692
214
476
265
429
526
779
814
662
671
690
321
916
202
234
894
551
475
870
150
638
24
188
364
934
430
644
243
592
48
734
522
719
452
356
487
42
37
675
480
471
175
463
817
855
672
902
224
720
457
35
792
479
463
833
164
196
620
232
354
848
876
374
949
500
487
387
64
301
345
43
196
838
961
826
273
791
811
986
604
478
731
132
404
6
366
61
719
60
797
684
28
915
656
436
12
526
272
664
208
77
171
926
431
995
431
849
226
260
875
279
635
937
547
85
167
489
833
803
728
939
218
128
58
620
293
868
131
696
469
249
998
53
67
996
111
640
45
423
17
226
385
471
247
330
796
234
623
443
339
130
847
955
969
458
104
293
247
979
934
516
294
18
655
693
734
963
173
278
970
241
746
909
300
777
705
849
14
147
602
264
559
662
437
714
814
778
20
581
720
827
139
234
365
104
721
550
241
45
74
523
50
987
22
775
221
941
680
994
869
976
555
676
841
199
150
302
529
455
496
772
110
290
119
506
53
129
750
190
912
569
344
501
738
293
285
35
160
321
15
93
981
760
585
987
501
223
341
751
226
272
538
324
507
231
365
189
840
865
308
933
278
174
615
7
572
957
896
152
357
803
731
857
154
188
824
719
430
492
107
609
688
67
330
709
752
477
617
347
374
701
909
331
67
104
774
149
701
271
880
921
884
30
664
390
974
921
135
178
840
676
510
522
109
256
934
542
793
714
437
678
921
109
995
794
433
223
563
149
47
116
966
63
327
941
619
748
966
994
570
335
951
959
403
390
262
249
46
496
342
915
590
554
653
744
64
75
509
305
670
434
574
813
740
798
607
858
34
442
615
10
630
943
562
360
470
396
391
424
582
709
960
512
334
84
601
897
893
82
0
565
433
841
726
436
809
891
518
979
493
756
29
408
920
937
687
607
166
934
660
627
535
61
647
672
576
929
348
50
418
238
155
551
587
207
834
47
187
987
55
691
376
680
822
861
141
802
174
718
758
371
415
325
985
110
646
541
453
206
188
263
178
456
430
762
318
186
108
770
278
209
957
810
874
0
818
552
952
643
916
565
244
945
131
895
238
126
878
374
83
833
215
845
799
547
988
527
779
121
358
542
991
726
788
841
417
323
414
803
51
123
516
802
351
743
777
631
240
230
786
951
722
632
791
735
294
445
485
315
152
797
72
754
425
904
47
852
901
774
943
952
221
80
325
822
569
718
701
478
167
872
658
570
682
430
712
540
684
787
876
910
361
595
932
687
95
889
227
637
347
210
44
525
986
471
292
157
880
277
267
889
412
760
350
230
557
80
851
541
855
196
75
834
229
914
594
818
649
965
852
681
477
923
822
454
679
690
23
556
684
735
987
353
977
392
971
210
976
615
832
212
10
132
264
684
556
446
18
270
201
844
7
470
999
347
917
940
491
291
651
674
712
858
516
549
11
857
324
938
562
977
792
579
888
358
954
217
283
634
593
962
301
411
59
813
670
630
868
265
173
114
343
360
837
619
971
808
854
218
339
666
235
157
56
131
82
696
507
891
253
396
107
395
889
803
860
989
533
743
698
798
496
879
843
770
215
105
727
348
475
890
208
456
163
180
95
329
527
33
461
995
865
385
785
647
829
120
552
551
230
516
359
479
816
952
97
252
35
610
645
615
328
545
571
725
114
603
971
420
585
677
514
127
101
776
628
533
950
625
717
645
974
358
831
101
490
786
976
608
608
411
318
723
133
654
645
220
974
159
960
89
19
975
418
819
29
174
131
540
888
712
562
291
181
402
356
41
375
698
696
715
241
409
659
68
440
969
805
196
771
897
361
117
882
168
42
167
611
979
951
729
46
60
357
553
979
11
841
86
27
248
515
701
771
583
960
792
511
132
674
626
673
779
176
667
665
584
975
489
734
850
302
187
272
405
464
903
635
614
782
246
555
678
477
131
857
434
823
602
885
767
975
614
926
7
997
306
159
906
165
866
420
652
766
364
118
210
103
348
86
8
533
672
485
265
497
266
406
522
843
156
893
123
409
847
541
62
34
470
540
795
575
654
562
946
166
191
562
146
466
197
296
923
858
533
911
198
227
123
270
808
392
918
430
79
792
93
74
979
191
516
3
942
306
824
312
236
568
83
470
741
306
862
92
27
275
172
234
691
206
853
930
803
926
7
465
5
636
173
766
988
237
929
922
664
202
332
402
135
751
997
575
910
624
900
85
199
117
43
382
259
799
992
366
52
62
115
155
755
587
91
473
878
754
30
84
985
8
0
229
989
998
783
234
219
721
843
930
782
523
106
339
201
853
538
45
827
623
822
538
477
572
521
99
660
461
777
255
495
98
144
346
637
631
258
206
164
361
407
363
171
95
610
793
588
201
441
912
523
952
892
771
762
235
314
424
960
57
201
362
732
784
965
418
944
359
933
13
81
20
138
58
492
413
828
331
556
326
812
124
576
265
110
436
301
248
238
347
541
506
644
613
933
650
938
808
571
380
533
796
27
677
396
543
340
290
565
990
7
899
805
364
561
205
856
707
573
365
885
846
670
315
624
182
237
295
471
21
764
789
653
239
123
723
880
654
850
359
942
545
879
877
157
622
373
112
933
297
930
630
149
834
579
369
10
142
156
67
224
633
70
932
315
408
974
679
478
800
204
162
300
951
525
937
999
794
475
607
949
879
655
54
335
941
294
526
113
792
748
938
812
377
716
71
211
206
354
920
410
425
941
497
40
700
844
453
167
822
456
42
848
912
416
529
382
884
853
954
609
652
721
980
764
952
497
849
201
2
134
494
946
872
113
357
408
803
976
101
893
990
867
742
748
949
754
396
64
47
22
244
469
630
323
622
403
380
837
109
767
787
170
764
526
485
957
724
475
431
917
528
648
38
176
683
493
279
207
538
446
336
573
782
35
842
972
137
47
823
57
724
7
703
899
168
804
530
58
863
842
847
563
205
355
985
109
875
766
26
870
369
328
932
908
261
213
326
515
586
131
229
805
203
682
197
138
484
16
977
329
726
156
835
176
760
447
27
596
246
897
374
102
411
972
584
594
106
908
731
972
251
65
175
686
781
286
92
358
389
465
206
813
202
294
909
3
161
88
373
34
295
535
77
383
247
847
893
635
307
855
728
575
944
607
817
278
741
317
694
628
634
752
227
674
660
735
753
703
634
674
542
641
398
819
142
386
530
943
947
232
483
70
612
787
140
734
61
316
186
991
310
882
367
976
876
220
622
679
461
450
637
230
682
467
574
154
705
647
709
322
688
188
81
377
789
908
531
496
161
387
369
557
577
834
828
710
598
662
590
185
68
908
150
17
220
464
112
530
367
164
681
936
290
839
305
226
849
848
928
757
559
307
560
301
413
909
708
715
922
575
562
964
453
15
899
915
862
457
305
930
988
163
124
820
497
420
710
587
83
782
334
353
365
215
236
984
26
250
922
335
439
125
385
789
378
34
480
560
140
990
837
468
860
619
800
338
71
98
467
291
318
13
259
393
124
806
897
335
317
732
879
323
34
877
863
69
857
27
989
504
372
626
950
619
693
312
7
533
315
73
278
212
872
352
412
938
808
42
492
960
990
85
336
488
205
914
950
684
200
165
783
932
870
184
102
512
203
939
564
830
289
39
760
266
439
255
614
856
718
939
945
129
587
805
212
758
435
0
625
529
25
982
625
272
424
921
668
401
197
766
838
8
473
337
876
291
887
965
831
474
63
155
854
413
579
651
568
641
575
891
300
319
927
881
356
78
879
225
709
7
684
439
229
400
913
975
881
829
417
328
48
690
833
516
952
679
149
863
900
742
187
890
183
501
820
53
455
98
80
138
331
682
700
608
869
362
43
148
497
964
180
195
327
775
930
203
506
219
688
122
395
501
824
931
890
19
103
281
666
477
329
735
369
501
273
289
681
38
242
443
46
978
205
889
172
178
696
184
652
317
667
127
26
567
308
964
498
146
958
635
554
927
107
603
898
654
613
787
914
894
775
172
94
833
465
178
517
388
40
158
830
562
381
212
789
24
947
542
326
452
723
745
233
62
795
410
137
638
808
924
265
287
427
624
844
888
132
886
782
376
256
802
854
468
433
513
73
777
183
850
161
571
780
934
625
813
3
305
716
987
993
127
373
740
288
725
971
360
432
576
384
291
230
57
474
825
330
612
977
3
439
759
360
814
461
71
751
909
938
799
355
187
874
538
949
260
445
402
599
284
738
864
483
109
529
112
195
979
725
393
859
63
520
8
359
156
797
655
86
247
945
920
84
420
738
348
306
232
361
119
956
678
680
60
160
964
59
909
910
832
75
660
875
265
217
198
192
194
324
507
269
459
557
262
858
985
990
583
12
654
199
199
310
104
942
294
273
39
291
248
543
520
150
115
827
89
77
311
188
478
115
227
642
734
874
728
95
706
480
770
882
852
175
55
341
321
224
101
498
689
118
350
989
466
896
338
457
30
819
778
136
345
682
909
857
225
637
861
883
338
295
809
97
715
524
138
15
543
173
603
781
750
292
823
58
142
410
860
434
199
360
848
958
404
126
472
270
380
142
604
408
309
299
335
107
33
85
39
230
209
537
209
860
463
6
41
304
715
42
706
579
141
636
159
217
612
985
874
38
626
155
716
398
208
316
242
684
18
274
984
458
796
827
559
9
707
268
299
195
150
342
702
273
862
775
522
191
988
14
683
689
283
713
775
942
275
697
287
750
489
401
326
496
30
210
794
200
126
102
611
341
718
105
194
374
764
92
441
654
848
674
662
20
253
836
668
322
787
349
565
262
928
289
224
598
293
667
901
698
418
117
135
121
678
453
414
161
456
69
203
682
738
240
687
781
881
984
522
217
27
914
744
296
631
131
374
641
324
364
950
522
780
884
792
175
734
545
50
123
770
419
348
414
97
967
829
148
343
36
180
935
64
257
264
39
612
359
13
478
184
338
301
245
624
856
982
99
965
530
25
238
154
38
493
783
140
426
481
169
622
830
520
575
926
518
592
651
18
583
249
669
162
245
934
466
99
339
192
956
411
409
639
842
839
67
267
544
458
44
484
11
15
25
661
595
12
931
460
727
956
591
908
743
861
37
759
342
549
307
829
172
954
141
761
968
467
580
746
121
779
451
694
661
930
853
567
103
595
381
144
584
327
107
812
715
442
681
724
140
954
685
632
368
274
582
735
440
45
50
923
278
443
31
165
518
394
976
585
342
657
569
762
601
553
125
968
132
602
843
108
571
751
177
362
345
151
33
117
158
93
154
517
562
445
630
75
257
128
809
804
151
990
387
343
181
214
525
668
611
531
408
982
765
187
826
744
139
469
606
632
205
60
41
176
385
220
625
297
405
444
844
54
660
270
886
998
776
821
595
190
448
601
61
593
821
981
118
978
573
937
398
303
659
998
676
382
498
319
43
618
464
596
271
74
264
595
956
453
612
700
62
13
911
676
923
637
336
156
786
591
853
438
226
406
871
890
593
263
225
797
500
352
508
581
168
342
863
813
54
883
342
154
969
260
469
441
740
246
468
723
817
410
374
430
811
65
481
671
721
314
815
573
600
289
297
612
115
39
262
416
691
851
121
757
216
432
500
243
559
987
507
16
713
592
890
197
946
833
544
162
494
39
426
684
870
11
665
300
83
449
436
330
386
556
320
685
594
599
138
137
412
178
208
797
130
127
223
569
521
860
242
342
382
310
567
817
137
253
121
198
186
130
811
323
769
22
271
878
277
242
391
623
685
821
456
602
754
347
514
290
322
439
194
201
225
369
450
104
36
848
481
808
680
331
184
372
858
290
495
486
902
964
219
180
165
576
714
777
58
28
689
35
200
478
77
296
819
376
323
919
600
407
460
867
996
919
785
122
815
310
817
652
376
143
886
565
401
736
960
411
567
622
62
729
728
950
549
123
517
930
91
15
405
19
398
268
476
599
815
88
970
653
589
795
251
121
146
282
361
769
90
209
216
34
399
702
539
792
733
30
735
666
990
439
750
931
865
588
291
765
965
737
53
256
108
175
92
319
398
266
144
545
113
44
665
245
435
145
384
548
995
56
793
297
754
353
780
248
228
466
886
711
190
445
185
163
728
747
877
674
165
89
25
177
410
535
972
500
18
529
395
83
598
777
578
748
100
926
7
848
207
163
190
911
567
459
28
981
991
754
452
328
402
258
247
616
58
811
698
334
683
939
481
32
507
5
849
890
898
130
987
76
536
932
737
835
278
236
28
902
605
269
853
867
777
337
141
703
174
468
771
876
531
953
716
974
36
566
11
484
747
403
669
47
237
363
818
628
612
593
959
805
415
658
399
456
336
528
714
73
372
117
194
616
924
311
258
503
623
904
736
99
474
738
826
411
614
779
561
490
609
320
811
951
223
457
924
257
92
61
569
417
756
427
248
717
724
542
880
966
20
546
817
931
602
0
20
188
60
545
342
443
666
68
102
178
346
31
426
505
147
147
810
379
544
143
592
675
96
659
543
3
462
125
311
401
788
265
400
358
241
36
675
54
351
314
909
407
403
844
30
443
950
821
172
764
316
22
166
358
315
559
718
984
764
973
380
533
376
492
816
51
983
462
214
778
300
152
659
896
486
526
795
306
646
236
348
372
534
223
919
918
240
701
54
430
966
50
891
261
879
707
114
852
898
822
63
959
534
395
289
559
776
729
686
590
279
191
825
850
682
142
804
29
157
716
633
418
590
257
981
397
883
962
488
529
303
186
603
218
352
781
560
990
240
69
507
353
772
228
40
378
322
889
439
268
645
119
866
882
72
996
212
985
186
903
159
122
27
935
383
174
116
177
650
23
605
164
657
54
19
822
906
896
495
105
377
613
999
926
835
191
104
165
888
196
740
840
22
110
874
776
782
534
643
651
235
983
998
1
311
328
381
75
829
781
839
419
470
437
959
826
924
918
406
690
608
833
369
497
456
163
844
676
588
119
13
31
494
950
714
292
66
481
313
953
442
220
682
759
554
59
211
987
58
830
605
95
403
792
125
917
198
775
550
709
38
712
829
893
239
250
745
158
508
760
46
630
341
428
148
324
782
286
856
244
432
561
277
507
869
866
939
832
742
414
15
624
366
710
77
945
560
654
493
583
382
990
566
813
946
26
377
871
536
755
155
435
11
333
155
845
952
99
437
912
609
177
763
248
17
861
178
338
961
864
723
945
915
835
932
625
492
152
659
695
162
695
802
131
472
191
999
282
733
516
742
144
284
679
328
652
887
645
762
366
646
97
595
380
359
963
260
639
123
330
928
363
930
444
950
34
892
60
915
748
953
145
134
658
704
272
9
919
710
522
662
98
926
807
684
753
159
882
715
504
498
79
123
279
17
442
698
428
94
19
46
747
592
715
65
741
271
929
163
435
291
743
10
387
701
254
836
766
293
960
3
814
293
996
70
383
735
420
787
426
779
114
978
267
552
913
290
742
23
734
282
913
478
876
698
5
156
91
149
911
180
184
423
301
952
938
274
803
9
379
597
951
858
302
954
171
573
379
815
750
983
650
652
819
466
516
13
391
684
616
272
696
484
834
319
562
899
909
698
740
961
650
173
958
418
228
195
662
820
225
388
144
112
551
882
789
134
510
996
192
626
323
111
347
569
739
902
279
116
782
471
127
52
661
891
137
66
346
429
217
777
393
710
288
825
686
152
249
507
888
336
107
623
618
81
84
108
186
126
94
417
186
834
384
90
450
903
931
51
126
931
976
394
153
826
221
330
196
214
110
565
54
293
446
548
688
432
944
483
840
703
506
210
401
133
456
979
588
25
559
671
403
993
875
360
366
4
124
33
735
375
484
588
722
165
14
118
419
403
560
2
25
258
233
965
576
865
471
158
642
733
429
223
880
808
918
695
952
322
44
934
921
227
559
427
558
789
422
772
801
56
990
388
358
988
571
795
308
813
860
595
442
953
688
546
778
439
235
506
104
462
832
339
677
752
807
921
801
932
719
321
507
887
18
624
790
974
114
781
366
627
804
454
107
732
234
180
128
793
265
111
822
260
58
222
548
645
283
21
198
181
630
629
400
84
133
658
595
713
98
883
448
264
17
876
460
753
269
637
659
68
666
971
730
948
694
185
68
278
695
473
588
5
373
981
637
855
431
152
230
442
813
974
955
869
657
38
238
664
982
984
985
201
275
871
489
433
378
544
356
410
647
784
875
147
278
2
463
283
362
331
751
101
482
709
755
106
316
89
561
219
994
375
946
79
316
82
68
658
743
942
361
110
521
76
791
141
232
196
677
393
488
899
434
118
40
622
663
443
275
321
320
876
30
927
261
53
220
981
481
840
670
512
727
2
250
768
822
142
25
817
82
600
662
668
182
101
345
623
650
737
286
222
995
581
409
41
447
447
180
951
859
566
174
931
940
13
963
784
206
594
786
240
162
476
74
14
205
408
534
601
58
360
241
21
885
642
3
413
479
814
561
44
450
922
688
857
415
406
873
365
280
606
804
118
887
219
145
714
380
179
282
772
922
170
178
580
967
91
78
6
679
679
330
181
245
113
402
517
625
831
563
655
430
812
717
155
973
285
871
415
995
626
741
746
671
425
126
564
599
477
544
148
81
613
753
536
665
186
804
495
462
906
570
927
627
579
319
823
803
128
29
99
558
33
805
226
227
927
810
322
337
287
301
997
459
987
462
769
663
865
938
305
463
71
175
77
318
801
415
720
741
75
980
316
446
352
905
616
822
997
698
492
946
862
853
904
766
211
744
380
620
283
901
187
80
417
250
46
274
790
662
769
233
976
405
17
204
993
978
378
190
10
663
451
5
223
418
975
217
839
65
569
953
856
266
458
296
812
676
218
72
447
332
130
320
794
455
621
227
180
384
91
370
924
873
417
613
420
140
763
194
854
414
83
506
621
790
53
568
433
552
551
99
623
225
840
163
616
461
338
60
695
887
688
779
697
409
141
635
636
707
678
685
950
231
913
148
280
701
596
442
930
937
49
223
634
574
574
392
669
767
255
650
416
3
923
355
350
123
907
406
182
388
49
578
120
827
111
724
6
5
109
236
856
722
988
778
547
148
373
415
54
648
562
324
8
386
455
632
169
550
114
790
676
493
790
912
462
732
864
920
380
842
63
107
316
400
993
357
830
819
908
889
110
572
958
960
322
317
107
91
641
672
191
921
938
910
972
107
458
918
528
186
896
664
602
365
742
756
101
814
552
510
783
300
937
716
19
156
57
751
123
231
205
281
325
272
310
521
584
395
860
789
323
706
924
906
440
582
116
878
234
670
409
322
5
921
362
120
8
3
116
896
214
932
355
206
555
875
389
324
39
120
657
827
43
750
731
741
927
477
530
858
450
681
417
808
354
356
290
595
148
217
849
457
849
465
0
111
931
128
897
460
457
138
875
403
604
302
863
612
499
984
339
600
421
842
359
983
875
761
0
577
797
902
241
211
499
176
967
682
141
126
424
234
250
282
284
96
516
137
624
700
612
912
638
238
116
387
582
160
748
970
110
158
961
602
46
562
967
933
538
659
709
571
712
493
937
220
527
372
573
807
100
40
241
378
802
905
730
151
646
172
372
983
276
901
37
17
998
32
387
805
196
664
160
938
487
496
891
141
892
213
841
777
118
243
248
601
751
916
312
697
441
715
323
349
781
436
184
842
875
905
436
544
975
677
486
912
178
996
332
148
465
677
962
652
889
518
691
423
116
817
45
745
954
900
241
713
795
792
162
507
97
178
547
898
985
937
891
566
186
617
661
463
121
937
855
6
152
102
994
163
734
710
914
980
239
341
138
495
533
171
888
920
953
578
661
151
794
76
171
213
480
604
643
603
913
586
892
513
341
6
376
730
930
837
626
670
624
520
700
40
275
862
506
51
398
466
275
866
291
927
583
394
989
684
253
683
471
998
658
405
752
245
626
593
698
443
775
202
777
955
556
183
886
901
961
290
880
25
29
67
517
67
364
6
602
207
140
582
573
933
786
430
945
933
639
863
677
565
975
252
963
856
554
893
302
830
33
210
644
718
365
47
908
266
305
386
723
762
296
688
258
935
377
925
259
640
422
338
546
360
113
958
149
690
708
407
660
7
731
882
813
249
468
526
223
416
528
584
96
570
979
315
183
595
206
824
913
916
60
129
112
645
605
55
637
870
391
184
872
846
620
460
523
960
106
907
785
128
555
215
965
857
229
821
781
746
945
74
452
152
594
667
358
590
6
187
13
774
817
273
189
783
115
590
54
853
982
587
867
399
786
313
791
288
240
321
984
607
480
759
753
355
282
168
753
430
926
267
596
322
301
31
308
866
162
120
619
594
757
368
688
531
561
606
919
633
979
620
186
547
222
193
655
927
107
731
59
937
751
409
220
80
895
342
272
834
455
358
329
488
548
863
878
223
341
640
916
955
110
454
112
401
610
121
707
910
409
432
142
322
657
368
520
591
331
233
470
534
966
115
189
843
951
238
677
897
815
251
688
125
605
886
116
332
532
457
245
340
856
947
697
455
764
132
80
317
268
307
30
465
565
517
440
302
183
469
596
568
527
689
112
187
898
697
159
902
27
387
890
96
944
785
397
929
942
238
855
835
167
42
788
656
864
384
796
498
169
587
894
543
487
844
488
948
273
66
373
12
936
606
469
130
445
677
375
147
239
301
421
72
157
284
643
512
397
220
216
721
246
48
480
610
102
202
489
569
781
961
175
251
507
685
252
702
460
542
763
898
225
132
672
261
135
308
848
193
28
121
111
784
735
465
238
893
380
486
735
952
706
966
993
172
587
567
825
269
599
568
701
261
311
428
790
226
302
680
578
82
185
574
27
488
171
141
738
569
123
674
426
154
236
318
989
711
104
447
351
776
615
625
163
366
384
322
561
808
959
898
804
916
360
353
484
766
764
349
570
754
45
952
700
158
723
91
690
817
710
873
998
890
447
869
524
987
22
255
58
168
389
332
992
653
850
605
898
754
445
135
779
796
806
407
49
11
602
869
8
73
931
686
967
173
512
893
275
72
950
597
461
886
468
156
638
864
76
371
286
582
833
821
221
80
922
369
443
751
373
41
22
459
652
152
256
893
6
303
561
876
435
701
769
584
966
846
139
347
698
337
562
257
607
125
737
67
981
675
133
862
649
826
490
92
310
721
732
608
602
253
797
225
486
501
39
84
194
366
829
667
796
306
844
106
749
133
402
958
550
520
686
484
658
723
394
115
200
721
265
26
123
136
415
985
589
725
297
392
626
462
515
653
761
851
472
868
489
143
465
512
580
405
944
918
250
339
912
463
499
622
438
409
165
874
49
656
953
966
535
122
567
369
104
49
738
932
686
887
992
968
499
40
829
607
288
774
233
521
32
634
594
888
663
282
972
248
395
220
330
583
621
320
84
838
64
898
895
339
803
95
421
303
16
997
533
524
149
0
504
55
682
196
127
913
394
595
904
124
857
957
567
675
749
333
791
272
487
132
675
445
719
906
315
628
913
947
902
229
937
362
983
403
303
390
138
513
785
2
862
919
850
859
948
250
255
917
395
789
177
948
968
78
485
637
771
303
157
647
174
825
923
539
358
209
51
939
595
594
864
647
150
37
378
415
600
377
525
703
541
267
570
877
631
926
1
68
112
162
800
194
983
840
327
571
849
263
763
260
345
711
325
173
171
92
514
476
65
177
338
667
598
758
543
689
154
680
212
529
679
47
145
728
412
174
667
125
352
301
979
206
65
179
423
483
187
440
215
699
644
218
174
464
165
708
860
8
568
91
391
819
256
902
795
226
950
372
356
451
400
165
628
625
243
844
6
562
677
442
660
521
977
939
478
876
52
847
868
479
678
235
272
76
188
92
679
568
119
426
140
418
938
195
688
673
530
891
818
935
729
110
58
133
610
604
84
181
859
294
722
900
170
307
298
453
21
540
639
367
870
851
184
926
928
353
528
495
517
512
970
381
668
380
448
112
27
745
900
506
236
476
851
459
995
35
673
549
681
213
922
816
353
281
896
790
926
299
325
319
49
651
858
328
844
393
152
175
143
671
362
568
703
73
940
207
699
900
575
522
875
287
666
286
234
462
835
773
352
54
250
919
152
725
367
179
527
791
387
414
119
66
917
86
524
30
12
685
175
862
437
233
250
326
698
765
955
497
453
980
953
683
922
279
934
52
976
261
965
748
47
961
846
312
480
658
118
30
561
934
286
951
696
634
451
74
171
551
712
570
571
953
910
189
466
529
970
437
951
344
138
676
218
512
519
792
834
276
682
412
881
902
775
211
517
396
82
878
258
20
238
246
3
409
713
82
483
201
169
659
552
565
166
389
405
883
82
852
483
999
883
619
874
313
751
12
507
42
25
109
466
483
46
392
502
524
426
126
869
570
62
24
428
675
708
218
77
184
161
114
492
319
917
325
184
164
37
674
985
973
195
431
571
640
884
119
714
5
576
678
583
67
340
809
345
119
688
990
646
109
42
224
70
875
715
403
82
520
302
705
316
253
98
504
647
654
157
185
240
485
266
855
358
117
393
831
101
399
416
452
815
836
613
607
413
97
709
61
661
299
435
346
59
286
960
321
620
355
656
529
900
167
759
51
381
965
33
161
590
493
552
732
988
748
181
575
353
30
687
717
924
345
927
846
623
994
416
91
727
613
504
422
675
333
772
63
229
753
499
972
732
403
142
672
880
244
66
886
925
575
379
492
34
519
446
727
215
898
987
491
491
528
854
714
888
313
102
201
258
486
803
859
732
798
608
108
8
920
784
63
306
975
190
164
252
516
138
693
601
431
536
129
143
384
217
635
7
946
803
329
823
599
791
671
206
503
389
729
18
813
450
916
796
489
77
841
636
788
848
483
183
422
214
158
832
417
978
599
290
473
708
681
592
146
514
184
579
100
367
651
655
559
586
609
161
273
216
949
131
32
140
548
106
890
465
146
193
812
675
279
994
433
736
837
906
373
343
20
594
177
254
422
74
682
942
82
453
262
570
378
242
944
231
966
859
249
806
214
1
71
353
208
753
180
422
548
900
707
811
41
62
882
276
965
438
950
134
172
701
44
810
637
7
101
56
471
948
768
993
752
972
791
523
240
998
208
509
938
622
707
253
615
94
476
969
496
910
534
448
701
799
454
7
852
777
28
326
462
451
126
921
791
627
233
650
476
521
829
105
95
941
876
298
877
244
334
992
307
468
808
242
330
514
91
532
440
933
362
601
86
780
607
343
0
480
649
135
561
761
801
768
428
965
839
578
666
792
996
445
182
899
987
941
770
617
43
744
342
897
959
440
747
529
693
558
865
292
561
809
288
435
695
372
164
386
542
437
808
401
722
847
714
956
683
470
17
221
838
198
38
118
25
163
105
560
614
693
335
517
298
321
971
563
919
919
607
890
750
353
962
76
775
82
493
379
895
923
233
105
409
727
567
801
403
695
277
923
630
485
145
2
919
165
986
795
267
302
784
144
781
766
278
333
356
49
705
189
948
87
689
388
754
676
82
273
838
236
588
643
850
13
711
357
443
603
847
76
245
417
275
110
469
582
678
857
123
72
678
970
202
963
39
209
868
515
10
867
593
503
653
40
236
733
978
772
578
535
208
248
240
440
524
398
202
408
287
802
446
749
617
942
33
161
188
795
980
859
495
359
441
800
124
248
321
937
710
944
511
179
939
662
937
913
406
193
410
712
660
534
973
646
641
812
692
805
113
812
486
269
546
711
149
6
842
678
475
39
276
319
220
925
982
907
870
38
880
320
830
902
200
329
667
240
968
272
835
880
540
850
47
847
978
997
839
238
902
40
847
68
489
145
780
446
683
309
427
776
980
944
440
147
921
467
554
789
8
590
818
695
645
551
770
820
742
877
508
185
524
843
216
863
910
809
523
488
501
64
77
796
363
318
281
981
731
736
885
92
661
515
588
288
44
649
274
100
244
217
937
112
934
613
268
494
590
906
235
27
155
624
693
714
11
30
207
590
199
171
908
540
652
753
145
534
960
601
200
742
46
171
936
562
619
713
564
865
876
649
104
816
612
237
332
533
941
979
410
497
685
622
470
607
26
407
377
418
846
252
754
978
106
968
480
105
894
722
93
387
222
750
150
901
705
579
90
393
326
685
537
446
613
559
481
787
795
249
895
499
462
931
389
590
634
379
238
128
55
678
353
409
135
810
127
238
94
184
641
725
628
622
203
130
211
29
158
416
886
312
288
943
361
74
498
770
641
934
70
802
705
967
157
209
946
710
537
492
210
198
509
849
114
834
483
149
614
659
875
630
621
858
644
262
102
176
849
825
978
262
586
813
810
35
758
901
326
558
626
39
14
116
270
547
925
675
724
688
228
202
596
574
968
543
534
937
616
509
828
566
248
212
25
171
215
461
615
327
914
547
983
200
969
502
296
858
438
171
995
467
563
725
586
849
186
701
598
935
956
34
255
589
280
22
557
603
345
34
53
153
127
72
991
608
988
316
369
302
831
793
342
449
883
348
114
251
360
487
935
245
393
819
222
763
2
7
414
625
705
810
262
568
58
506
278
207
300
368
564
532
864
275
952
676
749
137
298
34
408
203
265
708
658
279
497
660
737
580
963
943
283
310
957
477
254
214
469
330
488
500
414
11
134
449
391
260
760
859
946
280
949
409
155
524
748
432
603
393
787
415
331
942
578
596
532
513
441
294
590
156
529
240
776
369
660
472
169
573
292
183
705
592
259
623
527
25
234
903
160
730
302
615
601
234
747
237
722
237
431
340
49
198
672
158
649
658
746
637
5
796
256
661
193
432
964
751
949
285
129
452
361
881
800
428
327
329
209
77
529
613
734
533
290
805
199
574
146
963
23
792
500
864
598
625
552
214
46
823
250
367
364
9
90
111
52
366
183
32
424
994
961
27
797
905
909
156
318
928
797
215
946
512
683
140
3
318
524
920
780
891
220
222
426
878
801
169
11
181
600
140
37
952
272
752
875
192
81
171
623
184
153
284
198
688
158
340
730
899
571
265
290
143
211
939
921
902
753
970
403
506
536
997
99
66
147
576
383
652
757
895
809
419
230
618
840
397
758
576
69
821
868
812
393
923
255
532
785
498
597
848
490
366
943
998
171
421
844
382
104
2
861
605
143
679
712
56
327
789
469
515
492
674
116
218
398
541
306
277
543
948
15
993
817
790
553
592
645
264
935
740
259
304
61
268
474
587
359
567
249
76
674
50
430
620
730
878
153
333
76
586
506
457
101
901
231
255
108
371
552
655
957
537
302
883
113
223
382
554
430
0
599
827
733
314
484
764
81
274
857
99
851
173
78
595
993
441
747
531
333
614
305
386
956
283
672
44
888
587
789
710
814
679
249
717
630
442
86
524
666
656
286
518
435
40
542
692
169
310
860
97
163
461
602
287
910
548
697
631
987
676
804
310
976
707
387
799
630
662
398
315
396
383
2
157
449
512
229
458
794
259
723
720
888
920
691
108
507
134
840
446
373
116
372
570
847
409
764
755
633
130
595
887
327
543
475
659
660
521
12
914
196
820
959
234
379
134
639
811
626
857
614
839
525
240
128
749
339
965
241
733
575
339
750
161
19
428
31
841
977
683
750
523
713
862
610
303
75
774
176
286
467
911
189
850
992
263
960
949
893
125
419
288
634
655
623
152
887
483
42
693
948
432
521
311
304
20
588
132
892
70
839
418
828
497
698
474
855
860
565
506
875
75
5
792
615
975
514
122
795
9
246
670
794
779
38
151
256
449
355
462
880
312
714
892
56
339
3
687
893
834
770
218
403
916
350
128
12
811
941
431
651
866
844
77
727
342
862
276
605
221
822
294
199
170
614
791
55
233
436
856
202
388
498
822
989
906
201
925
702
367
942
429
637
133
261
908
702
192
678
278
309
346
642
582
619
158
308
736
326
840
527
677
607
894
549
680
540
105
335
451
463
819
717
373
152
970
948
712
5
903
585
319
581
416
324
418
933
920
92
461
175
141
547
899
934
622
816
975
36
395
124
677
730
573
270
166
556
542
261
707
830
485
714
402
101
255
558
857
12
743
172
517
650
649
809
770
844
274
203
120
441
439
651
881
566
341
910
697
197
736
122
819
945
447
905
232
225
476
774
962
569
481
489
596
505
609
399
835
134
4
375
186
744
687
341
755
466
829
87
574
127
870
672
164
444
202
780
621
358
111
319
908
105
838
786
736
693
194
884
237
330
357
307
492
206
534
250
594
684
643
474
373
80
321
759
495
487
839
151
644
64
142
603
668
763
66
192
795
569
851
499
972
181
127
190
421
516
305
916
169
50
192
295
206
933
219
297
590
122
430
231
348
466
112
176
71
625
16
943
420
327
436
519
688
716
859
617
408
75
611
329
996
502
453
856
904
7
466
992
824
89
29
370
466
621
615
969
441
463
35
886
975
739
743
473
894
698
717
123
776
303
932
920
311
755
871
311
973
295
700
103
105
899
613
33
220
694
663
962
531
967
906
393
924
267
821
107
769
291
498
354
908
162
263
251
569
230
943
314
533
994
898
242
39
855
397
835
540
541
636
637
711
492
300
997
712
12
902
607
186
362
53
256
725
947
705
799
269
457
230
358
859
861
49
413
148
790
271
244
73
99
482
257
695
189
225
924
83
971
124
607
88
274
258
914
417
889
58
331
435
959
320
274
627
501
10
329
726
690
61
677
913
637
631
736
217
838
322
660
749
886
74
794
629
98
237
189
602
278
426
973
684
321
217
523
776
44
123
576
903
586
22
509
596
629
105
871
510
380
706
709
224
716
266
601
142
354
87
964
734
740
883
149
33
74
943
84
151
827
209
452
667
722
482
477
416
843
8
763
530
914
156
736
378
454
264
705
650
425
364
503
735
843
710
597
804
552
143
309
475
943
850
521
669
376
726
511
358
309
466
526
992
156
666
101
37
518
326
703
568
860
888
15
923
72
664
396
252
56
368
374
538
498
860
360
225
827
950
982
9
99
600
722
513
988
819
698
783
297
169
406
436
140
530
384
568
242
535
36
164
700
982
446
818
95
126
490
166
986
761
458
362
368
571
604
8
50
620
416
257
503
663
809
863
31
52
836
222
616
482
372
974
527
204
657
6
450
356
631
568
814
657
972
417
181
597
701
918
842
361
85
166
884
520
69
992
698
687
153
859
653
375
131
267
406
684
645
851
387
83
786
74
654
862
101
868
440
155
304
123
385
982
326
723
458
403
62
906
684
667
88
92
574
79
654
930
311
91
916
885
478
685
585
153
483
470
282
676
45
960
568
164
105
820
320
43
237
922
44
386
287
115
632
479
682
818
488
398
609
152
572
289
637
257
670
74
583
759
152
501
784
985
252
140
384
235
730
100
292
464
50
668
335
431
31
49
541
421
101
877
111
476
102
754
290
536
2
42
223
660
915
517
944
158
186
689
765
152
668
531
157
179
213
27
172
375
5
376
450
970
38
870
939
577
773
111
395
82
995
140
533
439
839
928
478
875
652
257
889
162
520
868
955
605
30
177
657
433
132
601
173
832
136
918
928
835
536
617
223
334
945
65
935
158
401
359
350
837
424
15
801
623
872
9
287
709
388
914
117
248
720
339
419
798
586
6
855
891
593
227
868
553
791
980
971
432
329
638
788
24
548
318
377
737
533
238
728
928
402
38
18
616
171
421
33
462
417
723
537
598
129
875
313
677
643
324
60
831
282
461
439
217
279
923
396
812
217
646
109
75
612
588
350
969
912
315
803
491
39
955
833
833
580
837
513
500
294
678
342
766
801
187
60
840
131
671
897
614
353
603
829
364
587
315
130
363
504
210
784
185
296
607
854
253
14
652
162
288
197
60
115
384
227
580
182
948
900
406
535
628
610
370
178
895
962
687
607
915
379
840
669
889
317
36
29
964
127
520
17
605
359
149
11
24
378
955
714
388
47
930
735
25
234
509
112
407
803
693
917
344
49
570
385
136
988
753
230
313
957
844
323
969
397
326
605
104
252
846
198
834
419
487
193
344
124
542
889
192
263
182
541
124
255
802
461
667
81
956
290
403
32
94
607
704
728
911
260
308
848
247
642
148
608
312
311
691
396
991
571
436
855
938
41
591
341
367
159
579
27
238
328
170
946
828
226
919
118
993
711
424
732
621
844
56
753
828
789
68
448
561
680
329
878
890
538
489
369
357
245
291
676
914
651
906
681
884
13
171
485
681
355
6
678
53
182
299
30
878
420
1
337
564
528
482
203
52
345
709
27
413
850
502
816
422
150
980
440
851
563
355
434
575
627
662
756
499
716
326
472
391
429
34
760
583
285
393
761
683
125
23
923
924
576
634
568
541
227
271
122
990
555
872
729
299
610
506
288
543
798
549
709
752
348
632
2
933
620
542
573
7
545
290
336
276
399
998
275
601
451
748
567
411
12
943
872
498
420
669
284
722
216
267
826
137
818
70
632
779
237
182
100
120
71
409
264
448
255
295
570
17
103
540
541
841
631
933
507
231
300
72
527
534
13
738
685
515
647
366
964
874
828
485
804
642
705
32
107
416
68
152
643
108
463
143
970
573
887
996
482
992
124
827
369
564
395
839
644
164
74
471
829
30
383
411
108
225
883
538
700
426
957
544
105
783
237
72
338
531
2
428
677
296
522
162
987
129
644
620
730
410
55
304
491
32
802
284
420
449
835
745
313
934
532
913
986
689
542
599
453
537
237
116
107
213
810
510
225
159
254
233
74
931
973
16
789
801
211
155
883
862
838
276
911
9
289
423
264
574
475
905
959
30
499
400
761
326
752
684
718
97
850
59
402
433
345
886
412
51
22
703
295
378
180
468
246
984
546
336
947
179
651
66
938
134
857
626
424
898
567
112
631
5
596
686
686
797
987
658
570
543
139
899
551
292
207
234
75
889
600
825
646
758
218
494
460
312
468
808
202
702
944
285
670
415
45
241
150
842
225
254
995
134
723
530
226
988
533
758
815
185
69
431
876
619
943
319
222
455
105
987
193
669
587
149
743
134
883
833
784
453
778
993
454
349
755
816
308
436
158
701
872
245
973
553
245
743
796
605
965
45
946
930
321
623
280
169
186
342
587
653
142
245
164
21
645
542
210
267
938
298
925
468
879
546
405
459
726
888
678
137
933
56
549
528
278
59
161
63
10
475
664
133
475
911
19
851
833
8
826
785
471
399
724
823
536
962
809
848
190
106
735
963
825
735
554
7
793
38
315
218
224
243
587
375
71
310
422
21
170
199
742
551
396
534
732
45
340
819
215
63
766
964
714
319
869
94
254
980
543
56
323
987
361
541
273
628
335
89
767
786
77
630
174
941
577
902
566
960
900
948
295
93
964
794
898
9
658
319
666
446
954
333
210
783
372
14
67
352
981
885
84
725
972
979
561
192
711
805
990
106
996
645
491
136
107
323
702
7
331
257
681
281
897
602
9
485
768
678
164
398
745
771
192
729
98
527
821
682
452
283
567
372
526
381
968
823
59
203
985
789
293
976
202
448
735
63
839
538
207
478
697
211
565
976
66
52
97
168
401
25
839
401
64
296
343
99
793
587
984
20
859
54
519
762
265
177
813
218
701
383
652
496
684
551
435
30
921
436
236
134
672
609
145
835
87
804
372
824
711
105
22
503
704
449
934
761
814
845
357
597
251
553
372
819
952
134
136
721
6
208
959
253
586
726
113
742
687
763
910
508
412
684
458
2
527
55
854
956
390
98
31
912
384
49
623
790
578
87
180
834
848
920
268
781
173
571
371
77
978
221
412
896
792
566
421
342
816
229
426
700
110
686
929
130
847
519
151
321
116
279
702
202
823
437
991
383
852
229
289
450
819
632
124
259
870
183
556
437
710
761
617
766
158
590
468
726
236
268
845
673
57
722
567
264
507
388
298
958
542
119
55
966
497
898
191
406
918
34
418
594
160
19
689
260
909
671
560
226
827
132
967
575
168
466
362
346
78
774
490
685
509
684
519
840
114
715
546
876
681
594
478
253
57
197
268
46
17
756
867
124
252
528
905
0
637
293
5
26
415
296
576
812
729
754
825
468
681
572
846
289
722
956
941
117
374
212
342
486
284
111
151
138
100
657
600
858
786
395
300
349
746
239
441
141
938
299
813
522
171
513
679
953
294
116
973
96
73
731
56
744
882
158
958
858
257
485
471
119
457
917
332
720
91
57
445
28
492
849
295
424
374
13
533
581
790
782
202
895
976
780
631
688
267
649
690
750
100
86
216
953
481
771
143
836
14
91
971
685
592
895
265
907
35
697
211
29
264
138
199
901
25
57
874
389
973
653
129
131
431
789
203
586
990
272
529
954
367
627
636
357
211
543
787
705
632
154
900
454
186
652
354
115
983
824
751
540
974
160
772
813
259
433
821
1
196
910
660
756
768
457
354
103
209
599
67
649
869
618
383
521
264
780
243
813
611
59
415
181
547
625
631
318
811
63
883
108
345
521
856
427
807
171
81
907
501
324
353
483
646
341
617
982
688
801
666
100
456
97
198
317
351
705
731
295
324
912
110
440
723
31
273
448
334
595
340
135
155
961
279
733
629
178
263
357
274
587
801
563
759
156
254
672
833
806
429
85
854
757
402
783
480
212
512
796
827
13
770
577
96
782
537
568
704
146
455
474
53
744
623
902
792
790
125
402
298
206
461
193
716
544
617
953
564
383
579
913
314
680
474
173
801
406
666
526
243
911
150
287
750
479
148
3
354
84
264
541
559
201
467
702
352
63
750
158
849
782
815
51
425
657
68
463
922
714
845
684
594
227
245
349
139
967
998
736
204
941
502
663
22
130
825
678
191
140
129
288
8
189
14
114
191
957
358
942
268
890
419
426
508
12
980
653
690
837
355
710
578
773
374
845
114
3
693
213
525
548
612
245
649
105
64
669
226
917
398
794
16
111
681
970
896
960
328
565
249
833
705
519
552
418
920
672
605
222
26
102
333
560
70
414
628
259
448
344
620
883
469
417
992
6
475
230
385
100
671
815
46
199
480
740
828
281
641
98
119
671
906
182
450
53
62
808
11
881
786
459
255
51
860
734
60
4
380
803
176
789
34
413
779
95
383
534
820
895
451
860
890
580
450
66
337
556
72
412
963
771
791
45
445
899
756
412
604
989
299
383
744
143
905
597
145
995
578
977
307
536
537
739
517
434
493
100
635
610
274
850
779
105
46
281
546
266
696
984
2
583
526
120
433
931
561
687
226
190
185
575
303
607
205
590
913
349
344
236
260
468
985
108
333
588
784
184
323
361
462
243
901
176
617
259
626
107
283
940
861
775
847
831
785
576
171
614
164
421
408
938
26
918
488
106
959
304
622
880
998
251
533
297
167
136
76
878
319
463
187
938
617
551
289
419
910
639
63
192
385
162
310
168
862
130
642
721
940
71
997
826
86
421
462
521
550
165
853
793
504
24
672
675
971
224
400
601
611
203
32
48
360
20
53
737
726
565
470
320
750
74
951
338
700
388
534
732
136
470
56
266
744
347
934
871
460
337
414
225
447
290
619
532
121
369
60
48
427
632
727
550
319
528
210
781
971
837
164
917
974
804
368
915
213
185
913
153
101
154
518
200
944
830
183
201
573
820
468
613
284
154
873
17
581
555
973
380
319
699
807
834
869
944
916
776
737
967
729
725
203
317
423
780
687
914
546
990
438
944
131
961
983
745
600
149
778
572
947
975
828
571
177
239
417
562
630
280
722
303
469
373
693
36
464
290
485
216
223
311
798
926
59
778
511
224
59
255
600
325
66
886
678
568
851
268
824
622
407
59
402
84
418
61
349
492
515
217
567
13
819
447
610
184
403
387
148
907
319
192
666
140
321
791
772
521
639
430
513
787
464
225
120
521
843
978
552
343
985
925
342
306
631
202
779
776
325
716
21
234
463
613
380
805
457
600
522
334
932
198
200
615
816
224
353
696
313
682
868
11
22
134
489
552
185
663
491
909
436
992
384
890
498
30
1
746
158
726
981
387
887
490
619
766
636
280
168
949
121
120
57
326
800
467
853
578
930
306
471
445
526
136
181
271
476
539
986
353
55
236
865
429
181
806
319
346
864
987
986
274
74
888
813
590
640
739
27
653
182
502
754
736
848
358
802
26
788
702
876
972
585
553
198
590
928
198
13
226
112
99
504
404
838
562
39
656
837
737
316
540
953
178
997
291
436
525
930
94
212
876
37
377
43
972
779
396
103
286
78
465
361
150
251
705
432
390
571
461
245
227
177
560
962
274
830
433
622
686
169
900
784
991
923
124
369
523
780
78
719
159
369
177
674
388
102
850
730
915
189
343
754
612
496
254
491
963
140
929
117
171
114
691
578
135
938
727
126
407
988
316
967
936
694
252
397
102
990
813
463
14
100
272
339
548
846
311
901
685
334
148
12
804
481
92
185
874
441
20
736
36
666
783
437
73
258
451
122
0
907
524
129
180
516
925
75
551
871
353
456
497
657
781
429
180
589
468
256
689
360
823
527
644
615
407
504
547
602
277
6
856
74
234
503
648
141
272
116
50
561
59
755
705
15
871
789
603
122
662
798
578
689
351
673
474
434
906
895
891
482
874
372
813
882
154
860
812
532
183
675
425
983
0
498
11
133
984
103
479
977
327
88
491
286
146
702
325
761
67
27
641
309
81
675
403
793
98
764
989
577
127
396
849
918
609
339
954
49
471
914
207
988
424
2
695
641
444
553
697
120
943
521
0
443
243
228
461
608
998
917
299
225
611
791
896
538
431
909
292
822
524
423
918
644
748
687
893
125
437
709
539
330
195
654
287
878
669
354
431
145
117
217
30
626
932
994
492
941
611
38
377
958
280
162
673
870
149
638
439
245
775
165
22
264
581
159
784
360
150
227
734
389
717
578
353
757
595
248
105
657
608
920
489
642
717
878
78
380
946
205
310
989
250
483
34
693
128
594
939
188
561
220
572
117
394
560
943
143
612
540
249
682
311
592
183
107
680
148
257
718
114
20
720
899
954
636
321
989
802
931
942
865
100
99
114
530
815
837
722
429
683
142
526
724
276
857
971
879
601
860
646
307
909
602
14
986
749
774
512
542
495
738
296
655
75
743
28
81
644
57
800
284
42
261
901
194
237
294
896
162
476
6
94
322
556
134
685
353
262
512
874
543
821
770
339
40
140
336
430
529
988
349
109
430
415
367
599
984
375
191
816
773
338
325
118
146
835
391
221
688
140
699
767
140
0
880
829
354
37
446
499
676
741
993
337
470
182
597
868
585
490
247
834
156
373
71
12
635
718
890
652
962
515
752
164
405
359
497
913
86
918
572
85
390
308
8
363
229
357
274
150
950
429
808
129
792
153
831
391
93
386
160
456
43
566
765
860
220
930
930
182
764
549
137
834
80
95
259
928
267
373
814
499
287
50
579
9
398
17
366
335
32
802
272
891
335
990
497
171
504
604
180
598
979
745
239
253
886
648
779
223
645
116
467
76
849
60
444
665
259
53
156
180
50
965
64
423
359
903
277
113
747
96
204
192
740
120
483
187
181
704
931
726
403
739
24
271
977
636
875
121
693
816
261
839
204
260
452
977
561
789
995
320
407
972
197
956
36
215
531
718
568
618
727
757
371
175
571
873
242
311
548
180
24
253
60
814
490
683
33
110
331
196
78
464
951
808
839
88
104
532
627
802
524
246
583
22
23
634
940
21
334
104
971
189
637
505
733
233
221
972
748
200
163
395
740
623
453
686
598
200
286
908
410
766
403
122
410
567
603
780
40
854
677
571
30
221
84
615
55
876
440
43
413
388
859
728
359
95
933
703
938
358
888
338
404
179
438
633
54
360
77
285
41
992
372
689
698
261
981
438
601
649
171
206
841
460
243
360
556
601
967
458
785
891
653
404
829
822
179
413
323
327
75
32
53
739
342
690
863
221
923
608
501
816
81
323
247
62
671
395
127
82
554
510
805
43
212
458
995
872
341
964
145
207
437
412
369
586
11
789
220
607
345
297
268
777
844
891
361
698
161
418
732
614
411
579
815
692
432
473
923
453
409
265
160
777
845
344
287
870
300
204
412
66
282
179
831
333
103
247
239
128
710
335
390
950
265
40
579
930
52
543
328
258
449
731
971
271
640
761
379
512
464
346
313
753
378
879
646
714
508
582
519
97
98
704
472
415
633
148
146
259
765
925
962
869
509
826
944
743
935
963
607
357
229
133
646
407
877
499
720
979
63
819
389
74
575
823
491
645
752
961
697
454
636
605
244
513
292
53
782
529
998
124
977
17
366
123
303
264
518
169
722
593
34
969
610
67
230
76
305
531
753
285
963
509
59
878
748
15
659
656
639
925
350
485
971
285
496
674
965
26
261
487
127
321
903
920
208
293
386
645
373
70
543
717
343
326
627
128
34
437
645
294
317
3
150
603
989
12
830
687
341
690
295
618
738
933
454
926
836
634
47
892
205
239
942
671
739
533
730
741
44
489
387
328
16
961
346
968
583
811
132
622
315
133
12
465
72
393
909
903
212
1
996
903
9
344
966
858
510
680
696
621
861
601
802
44
727
389
979
990
267
748
609
743
396
152
927
393
692
227
353
661
842
755
396
259
115
606
98
92
725
137
850
773
780
328
190
37
175
337
579
833
469
512
968
715
936
488
32
477
342
191
395
693
693
440
732
753
901
641
415
119
776
434
278
539
579
919
879
416
296
304
402
495
831
526
345
363
501
81
113
514
714
897
924
90
160
747
698
872
59
726
604
710
99
319
647
143
72
484
710
556
206
830
915
584
978
371
424
515
625
725
343
109
25
592
136
55
708
794
598
21
295
666
74
482
897
258
95
675
595
117
416
208
484
190
101
812
701
546
715
928
282
487
507
541
642
172
540
127
65
402
393
512
184
214
445
88
133
540
649
710
480
223
671
105
392
983
565
764
723
396
191
812
316
711
619
224
177
12
54
857
611
243
84
85
310
500
205
339
478
86
605
937
572
484
832
36
245
509
99
228
184
996
284
915
583
2
166
196
111
689
917
701
459
402
68
150
269
194
281
841
295
441
406
628
680
899
662
68
468
719
986
318
668
889
394
683
933
615
329
997
820
723
477
204
957
221
133
960
341
281
335
314
670
440
498
490
322
122
782
99
844
696
559
181
243
21
978
239
234
360
845
757
29
185
91
207
925
924
970
590
417
663
53
138
31
268
672
670
690
664
855
501
39
415
21
596
209
544
406
119
598
201
738
82
693
362
348
837
113
935
937
380
660
311
380
610
729
328
149
326
881
640
772
402
988
504
209
315
506
938
605
219
925
452
968
397
40
337
344
465
61
83
211
585
869
785
845
995
285
336
938
532
168
264
223
294
590
899
849
25
200
950
736
69
959
183
586
253
545
336
82
526
398
655
363
865
939
66
291
218
81
538
936
931
491
956
420
646
587
157
68
817
898
687
614
479
201
807
216
685
904
955
956
5
52
917
481
444
672
741
522
816
57
169
573
520
881
964
129
499
58
782
298
278
482
913
970
453
369
88
263
877
236
424
394
445
339
147
528
174
344
326
921
384
903
275
786
22
753
14
923
435
723
632
612
243
932
841
423
554
709
245
518
459
351
520
83
480
380
850
983
994
425
378
250
571
3
866
862
822
94
976
434
348
627
470
851
924
579
300
672
81
707
321
449
169
352
781
424
153
155
155
310
751
425
768
984
138
806
359
383
928
881
368
307
923
846
377
723
539
842
501
633
91
195
247
733
866
450
888
859
800
207
131
112
178
760
829
370
885
207
563
526
38
64
882
547
950
784
53
518
70
300
82
284
775
877
552
363
291
917
937
779
324
959
357
562
637
54
367
168
809
439
329
180
82
786
554
538
34
994
885
286
825
968
198
12
821
374
895
62
459
690
833
382
167
840
529
906
72
179
266
836
673
848
415
957
523
885
605
852
466
781
395
225
640
944
10
297
3
257
875
901
565
786
920
590
839
667
92
402
436
899
692
584
773
451
96
545
336
58
238
162
160
423
101
820
494
338
998
966
53
591
523
247
944
817
772
789
336
446
915
11
104
584
29
633
787
112
452
77
636
705
949
187
84
162
382
126
30
184
232
72
130
792
350
719
826
885
579
49
562
85
93
12
462
575
881
279
587
297
296
849
700
280
770
166
77
476
18
322
297
710
331
200
854
754
983
356
549
88
622
364
855
77
383
187
510
894
852
748
162
122
488
158
475
836
12
575
142
390
463
723
693
996
66
961
666
137
138
79
958
411
658
385
741
450
870
880
585
4
136
992
607
634
695
250
22
309
731
720
735
177
341
592
128
763
37
989
428
966
28
932
199
442
786
197
678
496
869
237
870
398
331
129
510
34
507
607
778
119
358
255
143
255
878
729
471
173
869
403
346
25
809
497
475
241
931
339
411
471
383
207
526
663
336
743
28
405
317
659
612
369
821
27
681
684
725
650
527
415
76
58
869
693
469
741
604
406
58
141
116
548
28
519
924
629
443
235
183
819
865
34
618
787
780
723
493
185
146
179
280
288
848
800
64
905
317
715
21
65
291
402
396
152
378
350
249
828
645
176
163
12
219
533
875
761
336
988
91
442
196
513
566
623
561
916
675
896
786
678
691
125
406
634
61
158
24
566
42
719
734
137
267
586
80
156
879
584
445
650
213
898
298
83
26
194
857
301
82
762
880
574
697
814
292
356
237
351
824
586
458
663
350
544
126
918
587
116
641
888
402
782
85
922
128
90
955
51
808
485
229
55
982
332
622
36
337
619
687
947
287
178
966
665
264
462
558
12
967
28
43
501
533
431
720
999
411
807
350
631
62
181
773
130
140
721
461
138
704
786
10
524
795
979
273
792
499
408
956
561
134
995
789
281
305
468
935
286
565
308
255
758
133
118
68
958
404
692
389
904
472
201
475
577
904
444
419
697
684
478
793
77
838
447
390
468
584
773
521
327
940
431
413
351
19
275
494
137
212
760
558
833
817
397
848
364
628
715
480
497
765
797
469
748
458
9
815
391
794
715
176
769
802
129
582
667
525
693
445
40
404
398
78
568
812
831
599
629
690
138
771
640
939
954
158
769
252
656
6
790
973
979
775
9
565
288
658
79
699
626
160
729
744
389
951
649
422
431
864
432
203
576
84
647
24
39
156
544
350
161
796
688
608
216
932
319
863
876
607
461
947
550
710
385
555
727
217
430
484
68
410
644
770
302
66
663
696
422
819
128
929
514
221
752
297
336
823
568
604
812
380
585
171
42
607
109
715
329
406
584
353
340
800
62
470
28
258
832
865
659
907
330
265
300
695
759
699
899
487
907
736
991
479
211
799
411
723
590
692
508
722
231
831
627
688
270
572
935
414
827
313
950
40
765
551
891
396
251
414
721
708
631
795
356
387
503
736
1
161
942
204
316
447
192
463
235
412
147
98
859
676
971
699
708
677
936
209
493
391
759
78
465
728
760
403
908
739
185
110
585
784
436
135
789
116
734
719
724
891
853
874
124
208
7
292
486
734
838
854
308
801
603
400
471
774
355
305
236
539
278
77
610
956
146
675
130
729
799
177
954
401
120
333
813
551
469
703
150
900
868
381
290
612
35
52
8
402
632
502
215
582
554
412
36
79
749
564
460
589
770
777
920
282
995
144
791
306
452
776
660
73
312
478
34
135
318
211
435
435
246
582
540
938
487
853
714
886
125
7
618
169
9
569
46
855
866
501
99
15
943
936
748
101
16
739
974
382
886
524
944
962
727
699
896
827
534
914
24
859
400
661
394
475
103
669
438
383
992
903
549
786
596
258
645
479
927
566
596
176
748
957
245
829
139
146
920
261
292
348
230
974
127
726
986
52
65
475
782
216
650
503
881
423
767
530
561
424
267
447
717
934
340
132
547
757
646
543
185
140
386
616
28
935
75
152
628
778
181
602
107
928
221
503
416
535
517
657
253
548
637
732
578
916
986
31
191
20
928
291
414
378
734
996
168
856
943
271
610
196
52
149
360
257
195
62
497
0
91
990
630
841
19
537
900
704
224
878
22
185
927
997
211
3
894
854
830
649
857
815
394
761
349
402
980
755
850
274
551
6
623
390
850
614
594
916
745
174
991
299
86
741
245
749
388
440
810
633
392
742
185
350
639
305
457
806
52
302
887
148
158
529
169
545
578
896
9
315
2
179
184
345
658
43
642
355
356
573
275
592
439
361
34
825
603
230
641
169
829
727
188
31
718
440
423
884
924
766
503
343
621
869
739
229
680
252
435
952
240
8
939
994
459
639
210
231
143
974
625
907
254
699
608
746
517
219
921
368
369
462
310
530
268
221
32
800
193
406
477
802
982
336
941
865
786
136
334
777
222
654
825
755
455
38
504
625
227
414
112
874
381
880
330
591
541
654
61
80
25
175
870
796
833
732
375
592
258
943
355
824
845
699
963
602
371
18
464
852
612
262
442
331
41
829
537
701
503
128
191
98
68
376
63
101
543
430
102
692
164
617
821
381
810
624
803
786
997
627
354
452
723
645
656
63
364
208
481
254
525
187
2
22
185
210
680
806
971
485
978
345
631
858
248
848
960
654
499
464
532
79
507
271
145
865
404
345
638
614
227
351
758
563
495
583
942
635
640
778
335
383
277
895
547
902
978
871
731
529
257
594
726
45
8
535
437
521
94
836
768
473
950
676
416
990
806
374
368
296
174
606
372
62
964
427
989
53
407
461
338
663
867
826
281
354
461
332
395
474
724
481
202
483
247
362
329
740
867
339
942
202
559
324
140
524
419
126
167
202
959
503
117
453
502
420
540
67
55
747
718
526
382
23
906
654
915
265
537
674
607
934
704
339
168
630
465
314
943
699
200
629
338
65
981
432
457
642
57
444
983
306
973
941
459
89
444
160
849
609
77
417
818
815
836
954
812
594
548
615
223
337
615
452
985
157
281
1
394
800
527
700
965
76
337
377
943
256
588
599
616
827
651
962
714
228
677
655
107
506
596
768
939
629
637
949
384
55
588
273
257
166
942
853
999
634
395
1
912
519
34
207
842
341
329
598
436
699
793
836
427
441
721
663
599
199
22
484
313
35
149
795
639
687
26
552
726
398
429
771
486
822
78
75
719
584
546
297
629
95
476
834
794
544
605
303
836
657
820
573
666
320
147
558
571
530
987
803
683
419
138
446
952
736
775
901
315
138
94
456
178
939
524
559
869
617
864
140
243
241
70
59
855
943
370
712
743
99
951
706
578
507
755
598
634
824
141
793
108
206
72
873
285
510
737
72
292
588
17
621
670
247
858
450
90
373
432
709
970
367
519
630
745
426
748
584
21
910
86
605
177
369
959
392
212
898
884
164
693
865
456
360
364
594
494
187
258
106
204
499
891
155
609
353
791
32
979
224
487
880
23
972
873
114
328
852
637
826
226
415
263
974
712
321
299
552
964
893
833
150
166
128
948
249
666
460
373
54
933
949
241
62
466
368
707
988
915
90
966
835
832
7
869
373
162
207
341
565
903
397
623
941
682
888
43
271
392
563
994
481
712
401
642
115
168
607
685
695
14
557
248
837
748
270
297
663
983
638
142
115
680
85
579
745
893
657
221
347
354
203
303
282
779
401
951
852
772
753
709
542
707
828
613
27
390
884
332
202
40
410
745
864
668
631
160
826
816
669
574
908
509
979
868
356
717
103
307
320
677
869
401
861
766
856
730
489
275
186
587
860
859
149
344
117
672
111
651
984
142
807
678
751
8
322
16
743
700
546
311
504
540
233
933
49
46
78
552
618
520
331
880
592
171
547
791
571
177
225
744
517
844
809
575
25
576
500
420
147
287
535
923
436
902
537
895
663
309
892
75
441
62
299
929
372
3
979
982
15
453
911
663
214
129
267
100
204
436
89
380
162
237
166
884
640
626
607
917
433
697
537
967
318
550
120
615
48
941
613
702
993
672
294
801
550
383
656
751
597
524
955
908
132
807
603
676
879
103
949
486
960
698
279
74
192
153
752
525
840
644
877
371
285
492
888
138
215
860
231
240
451
931
49
934
668
379
4
304
191
581
650
467
26
789
92
980
708
209
682
256
768
120
424
643
270
122
408
784
297
422
108
900
695
827
265
140
434
389
717
394
825
668
478
124
142
591
921
779
266
919
563
850
582
283
755
668
564
857
126
384
335
395
459
581
877
574
197
437
389
646
102
177
219
567
722
198
115
802
134
973
24
53
354
735
555
571
477
22
766
754
538
286
674
957
360
808
812
381
779
65
958
995
885
774
193
434
958
560
536
58
837
385
926
347
512
864
621
848
962
598
114
847
192
704
727
404
322
193
383
499
756
58
513
761
576
585
893
455
142
798
36
754
63
702
569
123
970
98
719
408
755
551
969
74
486
729
952
622
678
276
657
262
724
557
755
249
880
252
167
495
248
452
112
763
810
707
547
538
243
210
771
812
52
817
238
84
317
521
408
253
31
912
453
115
101
207
848
802
341
740
740
336
146
320
376
615
42
611
72
790
147
947
412
66
235
197
863
639
5
839
36
54
162
338
88
966
727
383
986
73
68
533
26
617
812
585
390
10
906
681
310
987
626
43
566
101
0
816
948
758
503
599
340
175
227
592
741
40
652
554
891
221
817
636
815
663
463
175
754
972
205
41
630
750
609
281
763
309
999
409
328
632
5
71
536
200
249
650
869
439
158
296
709
608
455
204
738
789
435
905
740
77
91
235
704
599
941
849
976
680
61
248
889
559
808
725
525
495
627
989
854
246
210
332
371
16
293
414
598
236
562
283
163
279
804
982
422
751
632
916
943
145
210
646
275
233
170
118
814
951
699
188
66
739
748
970
637
250
930
889
100
291
948
875
729
609
758
769
633
491
499
241
288
948
890
658
343
193
687
676
462
193
159
17
959
299
975
190
127
895
829
107
695
891
59
756
402
505
66
946
216
582
669
379
543
679
639
139
289
682
304
662
7
339
758
690
241
782
385
589
491
81
235
439
814
521
772
738
618
231
536
658
154
315
364
29
165
757
214
80
53
255
792
56
887
629
140
669
985
638
679
595
772
190
475
42
675
697
764
867
397
271
777
422
580
50
442
84
660
934
572
335
467
12
668
123
457
889
160
152
456
380
584
102
7
968
268
519
427
377
925
315
244
375
48
533
370
608
357
953
829
867
742
542
261
167
45
134
906
102
867
191
143
931
276
615
949
597
452
295
172
290
616
623
397
282
599
919
562
233
506
7
425
221
343
737
407
712
540
992
262
8
712
417
502
705
818
537
767
275
331
455
352
385
492
19
572
627
653
778
777
869
477
456
951
78
144
651
718
238
553
293
803
637
219
398
570
622
836
316
529
124
795
324
299
130
912
655
469
724
243
676
26
455
246
51
298
333
831
315
622
703
375
649
482
44
249
462
729
403
868
128
208
329
725
724
296
172
992
834
15
999
6
632
321
182
827
5
958
489
749
473
473
75
666
130
728
40
743
953
744
346
579
753
803
337
686
201
446
906
416
802
271
286
217
151
933
407
716
624
144
425
343
531
789
52
421
93
441
583
121
44
95
652
313
249
150
411
160
753
483
985
224
463
34
384
283
600
182
236
147
69
302
223
388
0
259
632
319
599
448
468
905
985
347
694
982
146
499
803
848
128
235
616
972
189
427
559
446
664
355
179
845
66
765
406
345
531
847
576
382
579
556
806
455
787
513
789
114
858
520
865
136
540
568
392
42
60
827
175
350
829
123
931
694
887
244
348
837
849
862
655
862
81
447
917
708
255
339
975
420
631
268
501
860
815
593
801
204
980
915
282
753
625
466
293
315
260
364
279
49
110
46
419
659
314
393
377
506
213
828
419
373
282
318
493
526
667
208
283
887
817
987
858
546
673
608
970
474
869
859
116
738
757
948
658
123
212
726
160
561
289
301
233
129
647
363
135
807
269
405
730
370
957
270
651
171
958
104
204
328
744
268
989
616
848
52
391
475
829
448
354
752
215
885
648
416
848
385
400
553
772
749
91
316
355
456
263
448
908
167
904
613
309
419
856
535
480
304
223
603
382
57
860
294
200
641
55
707
173
171
584
169
469
23
146
197
100
900
506
62
139
350
291
620
761
112
153
778
971
247
872
205
368
691
528
166
739
738
386
103
857
980
343
136
276
822
207
890
207
965
179
726
265
405
74
915
298
132
736
50
349
543
437
509
845
909
839
245
925
35
832
556
963
463
835
573
932
399
237
918
404
76
422
568
713
905
349
556
592
563
875
849
107
68
129
544
312
757
471
936
269
470
136
314
809
171
537
702
309
58
580
684
25
966
180
260
882
225
25
560
317
659
276
171
675
657
827
902
46
701
275
727
155
759
566
357
407
452
860
814
359
4
873
720
368
440
328
69
752
200
689
658
55
793
972
399
454
966
565
407
749
202
178
846
565
168
986
435
348
554
318
456
713
886
229
863
881
527
192
890
221
605
896
404
36
304
243
975
731
623
309
277
232
918
513
824
927
203
834
399
278
83
296
9
666
482
975
707
564
954
109
529
305
504
451
472
207
812
281
74
871
298
293
937
959
100
246
761
206
922
188
260
841
439
896
170
62
124
915
258
112
671
463
407
528
227
58
595
377
349
727
264
964
524
900
379
915
19
786
195
134
561
229
160
60
651
904
285
134
255
520
23
199
858
62
528
808
532
556
529
175
103
631
487
276
549
670
310
232
632
380
749
727
238
516
482
125
706
616
720
680
212
578
789
309
768
504
877
466
749
422
410
54
51
872
287
579
262
186
298
466
726
121
160
145
418
899
311
844
202
707
521
986
143
29
924
19
57
795
53
145
154
678
105
440
434
534
873
822
18
670
308
612
828
735
268
444
475
571
126
438
750
857
771
173
594
580
984
453
471
68
387
228
934
363
999
720
410
558
883
255
481
949
749
77
745
669
887
967
339
475
552
518
700
956
921
372
783
282
182
639
527
642
548
441
433
549
115
393
60
678
647
563
371
601
960
698
143
639
395
153
769
713
258
668
966
888
280
198
955
833
196
816
474
139
70
611
14
415
252
468
678
760
437
172
914
213
185
411
114
711
449
616
637
773
120
461
692
46
388
328
625
287
984
691
173
738
395
699
699
222
761
245
241
617
127
966
136
622
102
43
765
349
943
364
401
141
640
9
829
182
391
241
311
226
140
467
761
420
360
134
633
174
747
848
633
856
698
860
274
235
824
406
554
757
471
722
183
732
762
421
697
206
785
37
417
542
669
598
54
589
818
721
920
578
173
188
301
185
382
991
747
890
281
647
858
17
639
650
107
655
599
664
770
295
445
982
797
830
142
510
824
132
490
406
456
756
754
93
116
804
900
119
422
245
663
247
807
254
762
336
771
98
978
1
86
828
569
484
356
943
410
925
824
259
439
294
463
524
391
349
616
189
677
528
173
727
826
661
169
27
76
131
600
749
642
847
540
829
353
20
759
453
916
9
299
929
980
99
142
177
428
916
657
624
281
883
848
868
248
80
435
642
687
466
149
401
558
153
748
400
581
580
411
61
44
516
656
48
541
498
966
777
439
494
860
84
376
566
703
609
622
623
490
147
178
241
540
361
374
441
130
701
611
492
37
724
674
390
104
746
655
45
251
812
567
296
362
951
111
541
384
223
804
645
178
833
778
240
125
741
406
133
6
145
861
189
842
845
155
164
163
93
309
749
247
784
197
272
843
27
692
98
700
262
509
944
807
590
851
532
996
631
655
265
350
725
192
597
0
939
635
890
24
787
807
468
324
805
862
908
934
770
591
504
720
484
380
136
818
916
553
560
541
330
5
217
421
473
985
870
913
22
137
487
803
366
159
77
619
625
284
640
289
100
601
304
81
295
919
883
459
281
702
654
755
34
305
231
706
600
147
988
267
80
458
660
59
70
787
649
357
820
142
586
399
890
9
173
930
49
250
394
688
220
775
829
231
574
97
582
437
419
212
286
744
824
638
92
189
826
989
164
579
421
337
478
7
348
804
983
236
709
214
298
790
302
56
326
126
402
873
374
107
196
366
626
442
980
6
26
653
460
745
381
697
254
140
885
518
441
985
765
60
884
90
435
912
31
392
126
828
113
566
633
724
890
461
85
590
502
238
627
804
914
705
37
189
376
591
589
666
701
971
836
872
698
940
300
551
768
107
109
766
619
824
15
989
980
791
206
809
989
400
449
518
75
742
31
154
648
704
811
642
340
569
267
273
177
364
908
804
151
201
575
557
635
916
334
925
312
18
165
690
562
854
573
429
586
39
803
179
222
949
48
673
692
492
612
337
971
335
579
816
425
757
530
310
702
795
903
775
813
758
563
482
742
216
893
448
572
454
141
719
714
680
703
123
147
480
987
710
545
29
831
805
807
930
242
480
171
101
248
63
930
741
760
653
404
978
838
301
332
514
531
387
652
827
9
493
81
140
930
530
648
76
868
609
220
103
854
828
838
401
608
45
639
617
695
891
76
579
533
548
247
409
635
300
981
836
618
169
630
258
600
88
568
725
325
986
547
115
466
441
453
281
986
919
451
186
296
307
647
214
288
166
463
680
887
703
133
484
864
142
154
767
976
770
458
524
559
172
453
460
562
602
394
737
522
957
279
736
207
447
108
737
302
38
250
142
301
844
451
891
839
864
916
91
138
329
577
829
715
624
188
225
131
307
970
37
720
158
876
764
430
113
766
926
475
696
925
951
511
767
583
905
464
177
667
120
941
270
723
183
275
336
888
392
323
475
519
868
767
296
961
702
372
495
80
858
174
811
848
363
389
152
372
57
965
440
577
921
791
66
989
382
83
782
22
153
669
868
803
818
690
701
810
700
197
224
966
341
724
398
856
816
958
494
159
934
761
304
291
638
916
688
423
837
134
660
208
245
808
364
225
739
897
492
491
867
723
459
251
713
441
269
363
190
748
424
95
272
979
291
65
174
737
496
33
610
11
496
656
775
827
159
590
840
171
30
581
337
435
163
880
389
732
997
490
286
360
930
300
654
413
366
984
40
181
664
377
628
824
801
130
533
501
440
935
88
676
314
557
405
196
970
703
501
780
657
731
220
612
784
562
616
211
688
178
862
454
728
594
128
919
856
914
316
663
165
680
29
362
760
822
818
745
296
528
794
789
544
276
615
599
832
158
785
942
411
758
828
585
755
936
535
973
745
403
522
542
59
177
350
77
101
6
5
711
480
860
198
678
35
425
512
64
770
162
480
356
449
786
585
293
376
265
317
264
276
933
480
489
754
764
275
680
0
709
681
758
933
381
922
952
20
215
585
495
141
171
978
250
163
680
107
595
6
363
84
528
538
396
495
891
152
649
600
497
429
833
110
329
123
975
266
973
699
51
757
530
321
187
195
738
69
886
512
89
790
629
380
145
961
894
93
476
963
682
690
930
198
21
633
176
416
816
759
843
741
836
558
905
204
488
571
144
881
800
357
284
976
49
142
348
86
506
58
32
838
234
116
265
427
404
387
618
107
314
37
14
45
232
675
165
60
384
213
67
38
532
721
186
172
722
84
622
913
50
599
699
701
967
201
992
259
614
151
219
765
291
893
892
158
196
294
115
495
505
22
406
182
827
132
376
346
550
775
710
962
77
457
830
571
570
331
926
821
554
575
782
132
958
522
42
157
622
592
820
354
133
561
541
887
980
283
951
717
753
854
445
321
37
738
884
399
982
562
958
524
325
263
265
885
791
789
838
647
762
994
939
689
323
836
425
959
868
995
500
118
580
970
320
310
850
161
606
328
977
196
891
426
301
889
971
491
510
553
591
223
971
713
546
900
225
868
924
957
423
512
824
803
303
340
359
43
539
919
976
955
413
188
672
474
492
954
473
542
381
213
576
794
86
808
255
120
3
958
607
973
720
829
542
257
772
1
927
255
387
991
774
7
526
912
987
925
647
923
975
174
427
126
483
879
611
360
882
194
336
688
232
318
188
935
378
293
418
454
655
719
199
173
464
189
116
288
478
61
5
486
796
410
995
510
79
625
984
722
897
827
630
748
454
882
768
568
266
892
213
902
84
932
452
293
868
928
144
43
117
805
682
572
230
55
524
879
551
590
684
471
97
470
157
280
12
449
747
257
231
686
145
664
6
341
951
306
30
937
865
155
569
960
501
575
994
142
507
840
291
551
326
198
789
98
277
454
873
825
347
694
943
569
990
565
760
840
615
265
211
553
274
134
149
467
454
410
295
490
501
550
473
983
890
330
916
197
504
22
934
976
264
46
587
690
14
356
672
660
67
245
843
577
71
197
877
788
342
949
312
159
554
762
763
550
860
61
108
288
145
196
404
47
660
6
705
662
286
77
944
412
623
51
180
945
228
258
261
765
168
461
716
133
307
672
982
919
584
161
770
312
585
925
939
374
693
87
13
366
709
419
905
943
139
814
691
270
666
494
315
556
570
281
749
376
208
649
188
961
905
373
208
89
356
936
70
273
644
304
617
39
289
155
265
44
873
740
508
924
362
436
291
280
139
550
974
251
746
111
645
502
775
735
599
57
554
953
468
404
979
654
761
52
246
81
226
4
559
920
437
169
402
603
24
50
329
84
652
63
89
574
206
26
444
484
406
176
39
219
125
704
131
113
859
246
542
24
165
592
796
165
214
582
89
515
783
360
559
974
140
898
464
145
383
713
707
552
430
752
547
453
425
646
257
774
340
559
626
573
993
229
352
373
800
174
394
49
985
241
177
799
415
353
480
766
231
184
607
810
737
415
487
61
547
258
706
383
102
939
848
669
518
939
993
139
34
220
129
814
50
692
405
999
516
981
490
237
834
522
684
708
105
639
502
845
641
558
759
154
217
892
759
721
221
585
543
904
374
550
615
652
763
219
441
965
872
977
341
276
928
951
203
726
452
117
964
102
622
452
621
301
132
926
328
716
201
813
350
323
621
354
242
373
771
153
731
624
636
557
959
123
957
189
697
880
456
199
984
244
441
614
161
477
511
259
628
898
453
190
318
142
356
967
573
601
513
958
636
383
383
700
109
485
759
78
771
921
108
151
146
81
443
765
222
550
383
234
487
249
700
725
188
98
550
176
534
952
373
929
610
3
176
675
638
751
728
522
114
266
536
439
105
125
498
812
447
927
512
206
555
563
442
638
556
133
600
394
875
757
919
553
737
643
546
117
116
430
69
223
309
874
337
484
268
373
697
347
604
216
29
175
311
183
484
506
566
945
623
170
238
948
941
920
989
471
782
9
129
784
305
17
708
466
720
722
61
671
798
988
663
229
639
580
602
762
598
932
911
646
842
68
216
700
667
203
769
939
681
35
684
534
880
208
13
12
778
552
984
624
574
471
290
725
573
954
491
66
171
599
597
491
370
653
899
15
341
490
393
982
865
708
946
325
348
954
740
420
266
256
313
786
387
774
606
209
942
999
918
90
99
136
737
548
831
854
20
6
935
997
83
753
830
981
494
604
408
730
769
974
612
771
910
354
898
76
262
333
127
421
129
322
950
841
30
339
309
564
512
914
586
221
827
656
681
768
906
282
949
690
297
36
520
607
733
90
691
733
793
188
509
260
620
134
502
960
392
414
592
834
800
799
207
254
451
932
676
103
382
767
487
92
400
34
826
497
517
38
527
143
35
876
354
509
55
15
200
749
278
519
732
382
684
988
663
521
940
910
144
145
332
816
325
824
496
965
630
290
291
304
556
444
159
550
532
165
204
4
521
716
660
638
971
480
27
496
956
278
402
837
880
748
935
583
339
78
818
29
295
644
399
93
439
830
508
750
255
420
221
780
361
283
24
225
43
319
177
815
323
583
220
556
449
465
480
204
371
349
738
165
641
642
571
589
521
282
425
969
307
708
231
823
292
333
863
563
753
861
970
247
142
99
422
412
563
896
625
225
250
239
203
200
327
856
515
718
799
98
693
217
334
638
340
524
415
14
7
797
288
719
858
349
512
368
859
524
314
787
698
940
541
558
496
44
80
349
913
471
257
355
241
713
414
698
254
326
176
966
967
67
388
623
903
812
489
540
136
987
419
443
677
397
498
714
407
3
259
772
210
888
717
37
313
311
754
297
3
319
318
831
705
705
205
741
905
675
690
164
898
85
607
773
716
492
881
288
735
120
438
75
179
459
228
897
590
793
691
18
199
532
10
332
150
248
576
729
671
498
516
547
916
394
36
809
840
38
892
64
340
263
4
548
260
139
206
529
330
527
299
436
843
639
844
851
286
117
854
909
514
794
79
971
130
346
730
917
208
315
700
411
353
554
231
2
771
954
868
211
23
377
525
72
236
201
575
471
987
322
36
966
943
663
506
406
555
573
546
84
697
328
525
26
408
654
606
617
944
212
767
950
262
112
746
89
35
575
51
105
965
393
443
62
299
742
172
456
21
168
122
976
479
94
781
287
849
667
417
510
4
787
92
336
148
181
706
271
529
247
90
308
7
707
939
267
971
583
820
358
372
70
771
505
151
655
26
637
620
902
388
475
607
92
436
90
821
30
264
515
973
405
855
328
398
798
149
294
890
155
861
345
619
100
60
629
878
596
510
579
361
754
100
470
400
599
455
712
711
984
779
31
707
962
62
531
127
544
693
649
5
738
824
29
217
685
293
224
159
429
329
495
756
909
693
579
781
40
658
479
412
823
177
717
535
851
394
448
739
321
184
489
866
53
360
839
414
863
301
852
554
704
501
670
464
428
909
132
991
688
500
640
561
936
945
802
841
686
833
376
607
240
719
292
157
194
649
624
475
508
908
627
28
621
209
476
232
480
948
979
905
940
572
552
494
310
761
424
20
564
527
433
690
799
75
601
955
853
584
450
408
453
912
422
940
687
555
153
116
937
702
737
283
867
266
975
713
753
628
151
952
806
625
988
762
938
443
613
108
911
780
909
578
412
580
804
579
118
696
840
250
573
72
426
335
878
934
298
476
229
446
301
310
244
139
69
482
805
381
734
172
801
727
760
338
652
353
677
765
408
23
306
349
797
431
929
354
190
261
791
986
565
561
846
251
510
542
910
775
416
145
425
642
760
418
851
997
679
461
760
99
436
948
936
682
984
817
564
764
222
648
228
919
69
562
670
137
734
535
355
343
993
273
682
39
732
840
693
246
822
891
388
372
625
749
567
582
850
894
470
630
889
273
175
208
762
49
356
643
825
55
230
365
602
670
558
445
790
161
378
902
490
122
196
903
759
635
284
2
232
334
16
405
487
21
124
367
624
722
316
673
253
938
715
948
251
433
45
135
1
679
965
661
540
666
421
928
283
270
285
494
649
237
758
28
431
174
381
619
284
823
471
488
38
912
705
240
368
549
443
615
433
204
190
269
996
490
38
982
518
159
488
997
774
408
128
229
160
892
636
432
250
350
832
109
646
520
508
31
706
894
511
142
644
62
478
700
669
430
43
817
512
483
266
206
222
298
713
966
937
509
599
270
202
928
549
306
887
365
179
652
575
914
548
484
255
624
385
740
318
214
591
790
337
517
24
834
215
371
898
116
39
324
479
959
519
711
165
857
902
231
811
319
495
672
366
719
888
194
398
654
605
436
936
72
904
502
650
26
590
956
796
684
306
785
777
570
870
801
82
272
854
98
977
853
950
78
257
544
937
293
524
637
445
960
318
221
437
396
189
914
924
691
377
634
51
870
128
84
295
7
329
368
904
359
945
9
779
371
970
146
193
187
771
232
932
391
769
221
497
220
134
662
431
130
898
459
289
156
938
825
478
67
105
289
690
695
333
636
349
846
96
724
975
740
224
363
618
285
721
962
561
528
324
138
40
390
490
707
888
783
802
749
520
985
492
227
530
578
511
754
640
553
794
599
32
591
446
228
291
687
294
678
674
645
383
23
663
596
959
849
298
687
190
807
246
819
604
986
318
249
174
738
31
198
923
480
937
531
450
624
820
201
474
359
541
106
650
366
846
602
960
299
662
236
62
7
937
384
538
285
412
484
332
565
15
271
276
963
631
955
341
638
701
254
998
881
986
894
500
193
839
972
560
798
40
314
73
259
14
350
22
169
512
946
761
424
492
242
66
807
127
209
901
811
969
851
645
357
357
55
681
868
844
81
937
395
630
129
258
365
373
748
904
835
54
437
268
392
63
54
835
478
304
876
84
255
516
799
224
546
998
188
752
825
196
169
158
598
400
205
945
572
636
853
673
77
832
0
833
774
156
165
345
218
823
372
233
562
711
577
366
21
629
718
669
357
15
323
101
543
191
467
464
209
798
647
276
631
779
563
797
38
291
967
642
244
544
152
492
58
913
93
901
396
63
517
428
997
749
888
16
233
724
229
979
480
814
502
820
936
668
421
322
532
930
246
650
408
394
623
372
529
69
155
7
344
28
649
907
440
55
244
558
342
288
349
553
627
461
389
748
650
839
305
913
401
415
312
480
761
929
629
170
199
688
759
861
557
135
498
804
454
795
544
775
343
359
947
688
853
408
790
121
670
584
314
428
299
576
286
111
779
288
572
492
672
946
987
855
91
86
659
344
931
231
409
975
914
339
382
415
153
193
739
319
586
734
24
720
769
645
972
287
616
304
160
428
106
567
94
896
693
697
471
327
597
523
7
317
510
431
827
14
581
357
155
163
466
188
37
508
193
721
117
89
393
277
804
890
524
659
903
850
111
982
55
822
627
278
655
584
287
719
759
812
529
199
22
769
514
282
679
40
187
618
520
977
415
73
473
66
860
722
110
5
754
471
747
171
446
353
822
491
408
693
789
386
330
207
826
164
598
82
34
250
288
564
698
975
215
919
308
78
284
470
284
177
202
487
599
928
939
441
332
905
105
420
968
244
62
659
560
279
364
189
44
41
656
16
603
214
296
811
726
444
804
344
920
526
700
861
727
836
556
813
405
238
709
72
240
526
243
871
787
17
536
310
278
882
486
146
122
151
953
942
580
768
156
806
468
252
669
829
488
731
5
241
956
587
928
242
861
7
457
760
789
57
773
868
292
499
325
448
600
685
230
835
224
758
300
882
740
330
200
13
371
700
399
128
369
553
293
300
618
59
560
978
287
725
1
385
342
215
16
454
163
33
365
170
740
652
16
560
740
229
282
70
486
627
497
879
635
307
251
818
504
970
125
924
438
796
171
931
109
949
577
561
7
140
192
879
30
675
921
191
647
220
942
856
912
967
121
412
659
537
286
665
463
163
312
947
923
41
368
576
867
124
470
34
953
623
903
135
845
207
491
958
690
590
410
413
676
494
562
555
114
889
727
691
546
382
991
888
964
38
372
73
902
694
21
76
963
487
123
508
851
800
95
917
878
77
593
336
747
928
125
760
434
742
395
666
489
925
189
940
416
693
277
99
712
384
525
307
190
995
783
262
45
907
757
309
787
351
369
138
954
298
118
584
138
462
788
500
854
739
114
872
339
69
999
355
566
407
57
791
341
538
481
695
869
794
743
578
813
476
190
589
637
481
308
140
934
338
709
328
260
229
504
757
476
747
955
357
752
957
988
558
782
899
593
930
244
699
829
916
403
912
207
365
256
259
108
869
618
230
156
461
350
427
530
582
573
761
625
107
94
666
314
434
641
572
995
616
885
69
520
829
435
615
697
193
245
20
182
85
911
281
299
111
739
972
17
731
308
842
841
405
535
253
630
472
726
995
528
703
465
844
245
472
66
277
6
546
598
750
109
486
215
652
817
163
124
428
690
368
649
967
392
70
807
88
954
196
341
976
586
995
102
86
938
467
304
911
56
33
874
149
803
222
54
14
275
14
973
596
317
485
7
109
953
285
671
81
127
765
874
510
375
601
450
628
608
725
535
610
381
106
857
284
882
250
807
25
944
251
574
840
984
0
339
449
377
606
773
69
22
890
651
674
320
297
317
33
718
187
639
217
579
603
368
536
55
738
856
225
4
437
27
632
1
914
421
900
667
489
638
242
162
25
239
2
455
723
61
168
814
28
629
402
373
550
413
657
996
940
356
595
709
867
103
484
394
457
714
464
298
653
267
95
553
298
224
110
730
453
481
893
775
184
729
832
65
258
284
671
973
996
399
116
153
322
654
301
948
127
960
278
217
643
518
290
655
361
616
397
814
628
744
520
942
868
215
51
661
925
479
840
46
437
977
527
816
275
783
442
845
279
888
552
151
628
452
652
357
991
106
96
303
152
857
384
743
133
103
992
74
392
535
907
232
361
213
317
511
911
820
119
246
292
598
104
601
709
203
977
29
893
876
905
140
732
19
547
110
254
933
337
432
76
816
100
786
113
772
644
853
682
226
748
716
831
327
441
189
348
287
271
645
529
967
308
110
588
304
140
11
572
937
420
741
586
20
98
54
666
190
44
949
883
329
105
482
111
537
820
588
550
527
561
611
210
635
72
589
362
494
357
921
442
294
146
477
448
790
54
369
76
856
842
931
91
976
350
967
95
243
74
365
800
454
631
496
312
505
360
993
999
178
881
698
952
563
579
163
991
60
672
752
998
607
508
32
600
619
959
931
655
891
683
238
216
969
324
590
851
760
390
722
491
274
517
854
217
633
727
606
781
703
368
143
639
818
587
515
41
711
817
529
163
744
882
71
956
25
28
686
370
678
212
188
932
323
146
974
530
691
947
641
605
380
213
726
540
387
21
814
295
1
95
156
590
504
738
545
865
957
417
164
834
748
69
217
606
988
212
252
281
127
765
345
116
889
250
68
865
573
301
964
943
345
282
656
748
861
69
751
27
460
951
724
504
332
523
54
806
965
26
688
602
139
418
428
606
604
889
832
375
463
100
100
190
288
46
200
356
308
592
738
877
513
814
397
940
332
921
10
108
205
308
65
916
181
71
640
944
491
817
227
231
69
333
65
657
279
393
365
517
719
61
295
306
820
420
610
520
776
345
103
446
896
180
822
905
353
348
160
154
158
522
760
671
307
661
919
455
381
963
6
198
278
417
109
899
814
32
79
940
712
198
187
59
270
80
537
614
354
528
853
910
953
676
640
873
965
264
225
869
367
204
533
783
604
85
687
540
747
65
476
854
293
204
671
629
84
501
770
382
974
314
233
526
779
399
876
732
744
795
781
960
759
145
604
147
753
880
940
322
458
221
392
54
400
367
57
420
787
180
36
31
778
523
106
819
111
487
845
24
107
578
772
699
240
739
420
976
254
748
509
691
305
221
192
481
0
185
262
346
65
813
558
567
915
385
421
153
404
85
147
995
660
413
690
95
993
847
147
937
488
270
48
256
818
414
117
745
783
661
104
293
631
52
152
733
952
697
739
689
311
938
982
799
912
462
480
226
4
633
892
536
911
714
547
224
549
979
118
82
149
686
667
9
337
775
981
71
591
930
689
1
179
592
165
221
587
537
597
886
475
20
788
925
372
901
391
446
248
541
963
827
378
203
77
577
894
754
765
486
234
146
863
782
980
840
923
623
881
515
416
895
997
602
195
859
883
249
942
149
538
478
757
891
614
537
953
720
535
413
105
841
750
392
362
396
540
549
792
123
649
230
325
981
645
569
701
551
460
682
92
911
749
502
118
796
983
706
614
368
574
80
22
24
734
576
896
4
760
863
562
805
280
552
481
79
40
364
272
500
365
491
41
229
988
136
731
162
746
695
193
848
344
932
246
295
357
898
899
564
72
806
487
999
497
840
265
955
404
343
559
83
462
581
556
919
301
7
374
13
580
166
895
40
939
129
633
230
334
221
42
421
274
526
327
192
613
249
201
872
699
86
403
655
229
375
596
161
799
753
109
880
348
918
377
549
516
870
769
381
543
925
263
968
833
290
226
170
423
597
199
160
216
956
229
603
487
373
439
981
899
790
672
306
184
817
569
341
656
187
814
617
7
715
801
973
313
81
646
918
568
670
727
911
446
82
728
765
719
496
919
429
299
830
704
221
7
870
862
125
6
548
731
856
389
391
263
662
328
440
579
28
707
703
907
887
376
183
877
794
577
590
832
565
785
134
79
674
646
898
276
381
52
631
347
685
132
390
681
396
484
509
955
698
401
68
755
805
317
32
167
704
681
248
874
728
887
471
977
138
281
707
705
384
601
449
474
820
351
549
715
105
61
321
445
192
89
823
17
849
458
353
395
811
736
750
387
802
853
100
465
370
375
828
698
501
915
967
434
742
236
418
333
211
910
170
355
979
549
583
683
987
165
572
769
210
883
947
616
985
290
548
56
836
446
863
77
631
849
273
720
840
298
431
285
27
760
905
817
780
343
204
764
788
593
40
69
440
634
547
652
631
575
611
832
360
756
173
159
845
453
834
139
423
621
330
678
843
382
516
708
940
617
293
842
447
835
992
472
234
971
153
952
315
293
813
328
27
545
348
600
290
338
892
907
121
689
965
853
422
124
228
12
763
617
565
59
515
857
224
522
546
452
191
800
461
648
413
543
104
842
631
631
173
601
135
566
725
510
782
626
488
797
159
680
437
728
17
643
476
571
400
82
8
788
487
578
261
200
746
722
516
147
524
629
873
957
410
603
602
848
903
652
424
143
804
117
320
681
650
543
234
508
276
464
126
331
756
170
348
15
464
149
263
346
143
631
820
678
161
507
970
486
54
179
580
27
456
251
50
282
297
156
633
162
636
900
811
613
981
473
52
528
38
648
250
356
584
247
265
17
512
330
10
871
675
455
752
320
746
190
239
198
316
464
128
225
80
724
437
925
134
369
803
693
140
826
516
245
443
885
457
132
646
60
616
793
899
107
270
326
656
53
473
763
278
861
104
497
145
375
832
944
99
905
766
821
600
180
772
407
801
339
908
263
104
771
204
381
480
791
967
350
933
729
231
290
967
646
975
567
214
322
154
806
858
343
941
914
775
360
858
835
960
762
693
369
222
573
116
518
525
259
474
704
656
263
250
385
448
81
129
434
901
709
13
381
229
311
439
592
346
235
164
73
404
898
564
491
843
458
670
238
341
697
108
722
29
343
291
127
844
885
461
829
679
553
928
914
111
916
28
535
490
421
366
202
335
870
553
340
620
322
152
182
667
171
808
429
985
12
825
506
948
983
673
251
561
271
297
262
231
617
961
786
658
888
625
744
688
389
814
633
893
830
193
476
214
57
878
271
399
663
805
41
419
131
994
358
443
273
696
894
499
394
274
893
227
46
105
344
209
31
311
427
359
205
121
699
448
38
755
271
220
966
869
576
506
489
12
367
993
165
99
149
781
260
585
317
689
697
75
294
653
172
130
107
191
331
740
925
123
640
278
254
953
464
180
765
701
665
657
315
729
486
172
569
325
782
254
526
712
354
723
333
693
829
448
352
96
610
108
104
124
62
683
541
924
714
525
139
30
825
147
595
994
818
655
215
171
654
295
751
485
739
381
963
89
228
69
883
702
984
735
255
20
444
519
336
180
488
525
681
709
984
392
394
700
236
210
307
437
635
41
939
846
637
915
677
706
476
910
968
430
209
648
130
839
752
449
517
269
471
859
885
965
143
793
8
151
151
469
328
855
761
679
496
878
379
410
504
428
749
773
443
772
832
880
665
640
56
438
504
149
133
933
654
669
69
333
673
801
26
222
171
940
842
39
872
886
632
523
670
455
822
371
951
593
596
264
978
518
479
633
762
228
808
941
59
596
698
116
790
479
135
974
24
144
153
994
293
655
371
204
762
990
243
460
45
535
174
881
332
409
163
817
279
328
970
869
595
598
937
947
805
741
509
818
493
701
213
505
564
762
992
900
328
9
369
967
121
621
308
184
828
99
487
750
310
425
549
7
514
142
397
25
337
566
173
164
327
438
420
641
672
316
287
964
331
637
69
461
689
748
770
584
316
479
228
808
75
755
354
588
638
849
257
491
615
180
118
721
698
383
598
173
574
602
411
444
534
584
774
582
131
894
591
32
204
729
639
864
188
712
800
194
121
557
420
465
987
431
967
498
495
398
81
221
747
723
290
359
787
59
562
128
727
688
497
621
984
626
213
201
656
283
214
530
422
407
768
333
349
806
613
150
418
687
51
35
544
856
280
318
675
958
371
400
494
961
831
437
503
248
944
381
52
775
530
997
884
55
682
818
658
462
761
342
230
929
371
595
689
665
186
189
308
645
551
459
955
777
929
14
745
857
155
76
934
91
826
195
284
39
547
193
397
150
193
689
326
743
956
338
185
814
219
273
982
561
40
142
973
626
96
911
55
498
987
643
680
302
225
8
498
774
929
53
379
900
756
839
507
432
986
505
291
320
830
90
710
659
176
261
401
360
240
949
279
793
906
19
810
328
857
212
844
453
223
383
595
127
778
677
287
925
370
417
383
851
859
629
912
215
394
303
579
877
736
128
620
313
184
477
111
177
248
333
461
130
555
367
693
58
635
726
552
819
722
672
262
836
451
113
74
857
255
160
416
202
991
915
607
636
139
196
342
239
500
226
672
256
48
659
329
186
312
957
661
670
204
667
603
463
529
879
555
316
230
140
667
13
21
850
572
261
914
189
314
609
399
840
912
117
802
801
551
380
993
265
339
128
395
948
511
459
755
78
151
222
163
773
706
660
692
657
87
482
729
153
328
424
242
802
28
993
568
226
484
767
677
193
873
75
575
967
804
587
618
139
196
968
671
520
260
584
677
926
150
559
264
923
923
814
728
500
307
392
868
532
775
906
836
773
799
67
414
309
358
230
618
749
731
585
302
761
971
361
806
776
671
830
371
890
811
71
703
373
38
883
516
895
5
633
155
111
55
604
651
989
444
748
412
178
317
691
41
633
313
954
4
779
519
261
217
273
35
549
551
941
292
717
329
913
135
24
133
471
616
712
382
746
669
453
239
556
286
527
43
951
300
51
201
717
390
375
536
26
632
275
769
724
45
837
253
345
403
379
507
779
831
500
408
350
807
74
53
764
29
665
431
975
206
480
39
52
559
189
979
606
233
396
271
325
916
727
478
999
156
706
832
495
149
895
263
838
930
676
626
765
104
513
359
123
880
805
249
22
985
649
45
28
257
402
52
662
358
599
18
293
260
935
223
985
610
378
549
322
629
744
576
324
354
741
339
381
755
749
84
672
383
902
277
19
150
963
294
696
214
475
355
477
565
12
765
965
96
417
207
732
381
610
693
758
713
972
491
365
936
607
739
580
378
226
685
222
94
850
801
833
882
344
338
419
840
168
731
261
34
365
141
791
884
693
596
515
756
924
138
462
590
384
713
563
682
176
145
122
694
718
517
499
386
595
875
110
760
629
132
203
849
411
12
246
564
283
927
142
415
779
656
878
367
794
851
950
587
127
934
515
177
950
118
444
396
306
435
482
270
551
350
682
233
15
707
224
232
582
444
439
307
35
951
498
213
343
36
220
871
588
344
847
777
371
173
145
739
981
24
880
600
55
942
591
932
381
47
969
37
97
963
516
944
833
528
736
281
966
338
651
436
173
876
658
530
464
745
71
720
101
170
413
566
387
945
58
603
336
330
634
28
345
664
402
336
614
90
310
162
869
749
252
321
925
329
602
963
496
459
288
526
352
907
962
461
669
599
479
673
786
402
126
539
477
301
909
740
615
522
695
907
832
852
279
911
823
176
762
915
627
895
632
0
974
953
253
330
213
988
362
124
571
534
138
200
305
327
25
671
192
206
967
281
922
957
685
107
193
840
874
123
134
759
360
198
904
873
606
774
937
810
59
474
421
427
163
229
723
709
298
488
34
493
617
614
664
630
207
574
164
237
348
525
36
332
517
516
823
720
342
846
387
107
127
61
684
30
193
197
85
63
631
302
783
306
398
162
486
291
487
173
995
228
699
358
40
156
473
662
478
292
766
61
753
588
782
99
835
359
297
837
27
866
757
560
868
742
550
183
425
370
388
868
480
362
505
911
161
852
489
466
227
502
362
228
917
324
212
14
320
901
399
860
761
834
167
266
810
411
24
726
395
986
416
234
724
740
323
894
975
297
639
205
337
45
733
183
485
85
527
242
463
288
202
53
5
129
137
881
48
927
627
296
534
53
31
945
513
749
770
593
284
3
990
286
787
255
122
744
411
44
641
120
440
86
745
910
960
747
740
388
763
723
278
636
984
340
34
11
493
254
350
441
921
914
874
362
432
19
30
395
143
286
289
445
250
24
594
883
579
415
539
758
938
205
472
290
290
758
365
682
188
930
852
644
278
451
895
204
365
209
490
829
585
416
421
467
883
510
599
850
856
733
289
81
594
925
540
848
16
494
94
473
749
257
368
150
203
565
373
315
303
619
931
780
958
773
908
339
984
736
240
696
48
833
531
728
7
549
501
184
4
839
599
449
771
220
786
254
487
749
649
375
461
948
899
719
200
485
399
712
528
291
995
723
6
108
967
245
823
945
883
830
917
287
105
500
500
48
637
593
379
325
874
311
889
141
546
924
568
519
5
151
812
826
272
136
510
572
41
933
690
233
990
864
824
974
866
241
393
343
880
325
32
598
53
243
163
533
784
41
983
81
393
354
131
857
983
902
39
721
457
386
445
297
663
546
664
613
220
358
969
894
885
571
445
427
47
984
764
984
827
901
515
925
822
314
76
499
876
27
375
427
414
306
618
675
693
703
611
359
298
316
117
369
387
618
838
37
502
827
287
639
659
618
773
570
568
225
566
539
611
186
860
336
98
527
740
98
86
833
802
450
455
935
161
274
906
291
270
820
547
53
844
988
506
242
92
236
643
869
358
504
857
274
56
328
974
187
452
421
239
396
869
433
101
222
886
44
273
93
381
306
225
347
300
343
833
921
893
309
194
336
528
31
301
365
126
241
884
888
734
95
602
885
965
71
259
707
7
185
116
665
132
190
439
679
454
388
287
70
273
238
188
963
440
989
591
579
501
291
804
237
106
828
337
75
892
385
159
729
990
675
726
472
221
769
794
647
55
852
815
509
676
399
902
398
320
260
231
301
272
362
368
127
783
976
363
772
115
618
625
57
723
113
977
966
61
599
608
152
9
419
40
684
418
195
850
157
467
832
339
861
581
444
618
326
787
120
948
431
703
811
936
468
127
350
987
923
157
513
891
634
365
181
160
782
568
381
826
332
370
227
328
995
855
923
162
987
4
299
215
709
137
912
113
851
517
538
911
243
603
606
790
945
157
822
198
612
260
904
873
805
471
323
137
235
719
600
543
95
724
24
128
747
211
505
49
995
453
640
564
801
87
166
17
753
502
947
602
475
74
780
231
327
130
956
412
884
810
599
87
412
238
998
935
311
866
410
857
737
802
315
274
153
331
563
907
540
684
851
190
988
76
92
446
224
215
430
267
650
523
780
454
672
204
8
565
109
562
718
211
803
1
544
863
88
784
320
683
404
103
776
53
973
878
410
360
305
152
583
752
504
4
865
919
151
431
666
797
57
984
843
583
836
154
679
398
143
740
310
201
740
905
2
538
477
669
713
744
940
7
811
707
384
546
625
731
922
490
310
24
721
367
70
39
511
622
256
903
589
365
70
15
937
613
961
633
316
481
631
574
316
730
466
664
273
434
314
751
715
801
130
89
183
401
131
675
886
607
842
693
421
368
454
958
904
789
820
23
679
155
300
632
59
608
281
334
730
411
692
164
888
359
149
543
305
43
168
187
861
334
172
98
382
582
549
321
10
859
402
312
877
739
647
720
544
272
76
869
888
756
285
869
542
37
32
764
328
913
239
661
84
1
775
68
402
375
609
618
404
914
688
71
151
895
303
130
494
767
501
817
847
60
84
966
74
347
888
300
809
796
572
715
453
553
97
857
705
342
717
585
689
691
44
443
293
744
841
66
492
894
131
110
254
785
828
380
110
699
159
979
877
840
873
868
924
296
867
63
230
913
616
659
988
725
226
878
781
647
769
587
249
48
313
768
157
100
541
811
259
733
104
903
882
656
770
941
321
927
721
522
842
329
946
865
564
835
865
3
731
268
640
913
271
949
240
399
439
847
498
805
871
891
905
744
21
892
862
294
586
683
120
691
281
553
444
164
879
142
840
471
422
857
997
926
302
472
961
745
968
316
695
671
180
804
432
380
539
682
227
225
380
391
260
439
976
404
465
211
67
237
490
755
345
11
944
385
622
881
865
717
213
814
236
655
399
785
665
482
539
437
558
71
636
848
959
873
683
884
428
910
570
849
255
941
610
167
91
418
145
318
586
312
316
728
181
295
901
582
333
14
210
43
877
90
682
61
734
241
318
410
641
3
502
889
192
381
512
882
900
951
699
384
506
46
807
898
317
653
444
26
112
638
415
864
705
363
931
969
933
546
551
359
960
887
910
566
136
157
278
116
142
507
89
27
206
977
567
635
83
634
471
267
272
707
179
668
336
953
292
633
58
372
725
702
295
696
5
589
384
542
996
65
876
112
417
102
736
786
727
899
822
615
13
142
973
238
784
989
648
613
963
356
221
984
756
126
793
855
426
476
242
3
84
837
326
204
458
144
667
234
797
489
945
818
247
692
796
137
750
639
254
111
258
729
590
474
540
72
788
81
623
603
868
261
224
945
742
581
189
697
62
592
617
46
511
847
831
419
937
257
320
195
3
197
138
246
773
799
335
195
493
504
490
414
320
23
614
52
382
340
969
523
56
34
924
67
53
146
35
487
819
116
646
978
499
966
528
239
841
206
173
152
794
89
122
775
746
904
781
292
959
793
91
979
921
777
877
348
558
914
800
296
294
150
110
684
366
258
24
351
687
136
130
113
687
785
462
807
975
427
757
465
650
148
355
586
641
306
484
973
193
648
736
721
77
614
77
544
336
348
161
913
543
390
301
97
878
521
525
384
930
765
550
215
467
415
596
816
546
378
563
590
632
913
718
244
377
159
1
373
19
479
727
891
326
476
762
974
116
758
928
397
918
480
304
52
835
778
16
960
670
125
191
934
6
191
426
789
547
416
456
519
877
701
974
147
18
435
790
577
915
824
563
823
761
625
634
451
883
88
634
863
328
714
802
450
408
827
665
747
282
716
557
643
504
934
903
575
316
183
910
195
986
321
106
268
460
63
756
352
349
371
263
825
586
927
879
986
110
175
130
909
537
745
217
792
763
446
775
704
923
192
860
195
363
584
334
799
760
722
310
38
841
352
77
795
788
908
468
108
9
613
674
259
762
888
730
832
245
362
463
42
683
719
428
627
125
568
782
313
551
94
193
200
333
583
53
335
844
71
728
309
275
488
516
273
99
614
648
200
929
151
203
378
237
334
538
669
572
560
720
304
669
252
438
39
246
843
797
576
723
544
588
644
331
966
284
841
927
298
781
394
580
252
930
77
975
300
145
512
248
218
515
821
89
540
851
964
452
123
511
72
136
21
68
455
653
973
331
477
816
330
216
43
341
479
453
240
636
784
271
567
767
75
929
299
753
473
838
740
756
995
894
72
459
636
218
35
769
554
175
422
79
321
876
889
31
821
998
492
113
362
72
695
914
573
399
223
729
591
533
758
344
399
405
755
105
152
895
517
902
637
320
858
257
319
717
725
669
703
664
978
725
712
138
6
798
797
619
812
697
637
733
116
389
637
882
749
880
601
887
415
233
87
199
310
704
589
138
301
2
569
771
255
533
85
108
437
666
756
47
455
737
32
467
311
349
356
485
148
975
921
405
454
404
32
673
408
857
199
752
929
743
634
331
96
655
170
885
448
10
716
550
989
898
334
424
618
112
255
257
115
36
307
324
909
470
129
180
108
263
433
379
553
496
370
981
169
757
671
886
426
691
978
288
628
971
860
410
810
869
447
70
740
312
110
129
622
591
898
229
512
572
540
905
914
125
670
775
193
611
254
404
902
713
375
140
4
579
646
264
656
455
273
471
473
855
756
950
14
696
786
540
236
441
760
372
644
948
569
969
170
286
881
679
715
749
880
497
41
52
440
73
252
630
623
706
505
705
96
532
488
707
278
743
33
722
948
603
742
369
760
702
525
464
175
658
533
636
2
84
546
425
647
750
738
42
248
793
277
452
897
86
615
945
148
388
242
252
366
105
999
752
604
372
663
382
91
476
72
882
327
863
40
530
169
50
201
210
334
565
62
880
978
649
404
352
99
109
387
340
312
459
750
773
824
326
22
701
722
364
212
743
68
53
567
770
663
191
484
850
598
444
378
832
712
140
645
737
475
639
682
187
987
483
803
829
190
283
140
400
301
134
183
261
168
480
876
347
525
584
959
563
723
96
216
652
786
837
87
795
732
657
992
514
621
929
357
715
600
869
126
182
820
242
297
749
817
615
197
811
84
100
374
921
231
898
688
423
791
74
83
10
90
898
600
58
764
438
989
965
7
601
268
252
821
183
174
7
487
376
164
796
788
396
600
611
795
386
561
423
650
9
166
346
485
884
880
236
545
317
878
29
370
645
257
253
789
544
565
836
862
815
695
851
698
807
691
940
767
624
736
428
276
52
481
55
233
68
503
454
225
225
145
228
855
978
337
173
803
883
710
356
394
80
417
806
806
302
551
967
701
177
841
741
382
311
351
387
429
18
101
101
821
563
132
214
873
861
805
17
789
814
806
779
589
155
576
457
697
284
202
456
998
241
859
151
12
711
655
497
997
558
461
844
633
163
4
924
313
182
173
330
278
942
59
449
79
389
229
646
598
680
57
464
291
829
429
721
886
603
527
482
757
2
990
285
295
176
26
615
643
312
964
509
934
588
861
603
775
472
566
86
130
917
486
798
615
117
136
722
28
28
828
472
740
387
316
999
368
226
80
927
744
788
410
362
591
845
898
960
353
156
757
378
159
22
198
294
126
887
796
166
135
828
473
699
672
399
162
980
107
22
821
12
258
142
661
287
981
789
243
311
100
792
823
387
414
802
645
751
216
128
471
56
110
881
386
230
718
74
84
323
194
314
861
948
121
910
249
645
756
683
572
733
597
179
326
48
405
520
680
968
488
105
434
611
435
540
937
325
360
231
89
637
528
166
490
27
790
687
70
202
856
249
808
691
978
368
793
791
629
521
467
156
845
398
154
969
652
715
849
847
583
94
813
789
777
40
511
134
476
261
401
102
563
549
718
83
615
54
771
963
656
707
519
471
615
377
999
83
994
114
786
769
451
25
705
635
917
144
732
746
98
833
944
499
922
506
834
207
371
543
963
11
986
336
397
593
283
537
0
935
895
436
124
766
404
340
620
676
539
813
87
397
320
69
319
321
137
575
418
600
732
835
947
573
494
126
32
794
935
417
122
323
985
397
66
136
113
55
391
586
962
605
868
27
339
553
919
215
251
683
433
12
696
998
993
750
632
494
607
121
228
615
955
910
235
104
676
987
351
390
873
365
525
542
309
232
287
3
826
748
931
767
813
12
627
547
354
249
803
747
878
28
672
965
953
145
783
221
35
529
384
163
556
767
502
700
729
371
727
514
847
900
384
523
424
33
585
923
207
132
148
628
925
197
328
937
450
422
292
432
370
408
584
107
580
498
561
245
231
722
939
350
632
161
261
373
247
993
291
348
700
591
842
682
530
999
862
489
710
389
55
448
173
232
105
108
117
692
440
389
233
767
689
866
13
988
260
759
137
809
311
331
969
689
357
151
294
851
39
403
965
675
714
465
838
63
312
843
920
231
299
165
52
54
878
403
623
962
653
57
288
663
890
511
459
13
327
7
595
686
630
208
174
430
427
16
136
363
292
603
836
591
896
986
788
136
824
332
336
256
239
478
807
438
982
673
208
855
330
942
754
21
150
964
920
736
462
172
748
413
221
547
585
734
166
380
660
623
736
973
780
251
231
498
151
510
286
165
110
117
533
940
845
484
406
83
910
378
91
942
384
219
615
95
207
601
613
402
700
333
126
698
673
959
97
919
407
740
913
324
259
201
632
907
427
831
297
345
182
731
164
445
119
720
64
444
214
215
919
91
378
516
147
39
343
804
209
964
608
111
605
710
647
347
838
922
560
363
122
242
489
849
431
205
225
832
46
220
151
677
420
54
210
646
852
583
80
223
90
636
933
165
22
619
705
414
770
794
477
80
261
803
250
954
851
148
163
433
562
115
812
619
767
424
86
878
550
395
716
645
621
800
611
460
857
478
843
149
562
545
463
430
277
81
742
475
765
792
341
582
910
987
513
402
425
518
345
542
252
709
749
357
933
907
179
170
714
954
276
769
128
396
926
503
218
497
297
538
907
133
937
7
124
95
361
595
467
309
281
569
123
502
28
618
797
522
511
758
193
600
120
851
459
884
131
348
954
17
810
957
248
81
883
782
185
380
101
882
567
170
89
528
626
829
169
802
621
7
859
921
243
528
265
505
445
946
836
210
771
267
325
193
947
314
440
405
399
545
131
446
112
571
748
480
526
645
752
895
237
399
774
766
766
492
908
388
468
302
732
986
300
276
493
773
921
341
380
724
960
680
768
953
135
621
441
854
76
654
524
567
165
963
287
717
252
102
96
734
760
575
391
804
541
29
193
199
865
83
917
222
690
104
99
421
254
730
822
625
100
524
194
388
577
242
706
509
82
639
259
666
441
688
933
678
107
330
643
634
272
580
718
136
632
68
983
615
74
40
473
498
693
78
683
601
951
102
922
522
231
589
342
175
268
386
810
345
437
953
459
114
233
164
266
501
234
239
58
940
238
151
417
117
568
253
296
450
191
438
239
322
940
266
237
764
954
349
970
766
295
480
839
599
659
407
539
897
271
659
352
596
619
725
470
680
580
373
430
835
269
27
686
658
114
803
308
17
691
831
669
857
112
987
211
875
842
777
953
919
934
125
836
1
672
344
97
833
678
96
488
129
700
868
203
360
639
599
278
17
408
521
675
820
409
767
27
884
854
562
898
646
740
490
448
567
492
988
872
675
553
10
976
512
703
24
844
792
422
645
936
156
386
192
726
138
850
497
701
124
192
668
852
696
126
415
377
666
508
560
961
525
501
903
747
472
520
9
308
304
784
614
840
357
348
362
680
496
796
961
795
376
970
362
475
76
430
589
256
950
22
625
699
868
704
240
830
106
305
726
32
504
643
229
219
968
463
688
484
799
193
172
812
780
826
614
883
278
250
767
193
641
513
272
537
461
904
297
716
451
433
207
186
811
185
363
425
571
711
686
163
703
746
999
864
932
508
372
49
457
295
196
834
790
214
870
865
601
582
16
784
554
780
800
610
998
821
353
861
970
297
341
275
946
59
500
992
571
53
9
273
653
344
29
604
964
352
141
590
916
935
727
385
202
901
894
728
846
46
743
137
740
980
673
830
378
264
315
483
5
471
630
260
247
741
273
529
976
189
801
625
420
687
550
784
595
513
956
981
190
839
170
154
198
321
488
682
34
475
325
563
6
768
633
882
907
175
441
634
88
895
14
809
338
748
393
70
697
142
231
230
709
156
396
920
717
924
563
834
778
25
64
762
74
597
969
481
707
931
369
546
235
574
88
297
88
899
268
298
205
492
599
899
821
11
475
689
548
169
969
497
289
305
202
772
993
363
710
896
288
133
873
713
695
82
873
74
5
286
537
331
63
370
828
167
292
34
438
408
937
224
68
99
660
347
745
153
541
658
329
509
747
107
58
285
224
225
108
570
281
468
218
775
209
204
60
872
90
235
213
49
801
372
31
536
28
846
90
437
677
656
914
872
638
869
904
614
695
104
79
266
347
49
228
993
456
893
800
645
356
960
191
960
254
652
122
922
97
401
32
818
529
887
428
283
344
576
656
121
872
808
843
31
776
458
387
578
611
673
301
302
401
60
976
18
950
877
821
493
768
797
491
652
564
316
249
618
111
34
797
189
223
44
857
656
728
928
152
670
163
778
866
274
671
576
721
566
873
572
113
43
795
984
773
899
988
271
781
456
269
230
796
296
772
893
916
717
608
125
630
593
749
155
136
484
335
529
700
348
146
617
634
983
412
623
548
471
925
216
123
212
638
451
637
769
366
96
635
928
496
490
740
999
433
968
145
955
301
905
239
4
671
787
890
667
883
896
682
706
161
317
452
170
148
120
669
313
299
367
993
394
922
16
645
203
132
651
697
164
717
144
859
908
637
254
83
184
552
207
92
772
900
866
349
825
233
167
742
123
403
996
651
698
622
448
416
556
556
439
813
531
60
178
527
64
450
899
62
751
604
403
615
665
694
710
278
784
83
206
572
648
816
972
555
690
189
150
480
184
958
603
955
15
72
240
14
871
837
284
603
601
661
768
525
846
984
209
279
955
386
102
117
27
134
147
729
780
804
469
891
633
68
702
807
601
8
683
930
952
491
699
312
390
562
282
580
514
968
416
375
792
358
324
147
117
591
114
121
198
77
388
835
810
737
749
195
640
298
300
986
200
387
655
449
96
850
752
395
172
986
401
763
312
599
525
235
47
922
761
229
443
77
482
357
732
73
311
406
316
993
255
653
775
291
373
834
336
656
857
718
789
710
54
920
357
927
999
688
129
748
472
272
728
920
612
746
120
213
811
348
905
894
709
573
101
962
943
935
371
705
184
599
843
794
664
327
562
823
129
139
660
196
655
611
559
854
643
744
212
721
57
334
348
516
393
647
280
895
429
77
585
84
404
557
969
265
209
335
388
51
196
922
291
985
696
275
502
426
307
695
68
780
542
752
59
947
975
293
715
996
258
677
60
844
74
783
995
56
569
210
26
147
745
531
34
453
60
613
215
456
565
931
333
578
863
923
67
631
93
173
845
660
229
637
930
483
320
622
453
241
426
99
730
347
345
77
121
145
910
384
831
535
136
118
991
787
998
77
495
856
598
532
24
658
336
149
531
98
136
12
570
225
993
523
707
340
155
678
49
744
667
497
771
8
774
125
826
307
370
973
196
648
686
651
476
382
517
177
101
436
477
969
493
620
997
502
791
534
89
728
925
223
41
36
439
82
179
401
752
650
412
601
255
509
36
874
837
689
939
429
542
706
641
516
939
484
647
984
908
632
903
738
615
327
424
420
506
42
111
870
628
843
153
45
848
433
647
159
127
867
204
407
844
442
842
112
201
90
127
166
134
64
559
159
887
334
875
549
19
46
979
854
705
15
118
883
184
694
823
378
701
82
27
610
982
130
256
447
732
814
323
868
2
777
838
89
287
769
929
625
610
467
425
341
3
351
959
311
668
79
730
193
862
773
835
179
778
611
626
608
830
623
291
708
286
865
441
803
141
359
943
770
950
5
452
14
834
635
921
308
498
743
315
29
963
689
905
35
969
91
200
753
319
66
447
748
957
450
233
945
550
505
805
82
883
725
47
386
95
691
586
226
643
520
790
77
261
629
164
723
377
646
776
429
286
121
200
838
83
492
198
831
150
569
318
157
393
448
781
147
331
412
557
112
45
875
14
873
449
271
549
270
775
732
278
579
98
829
286
869
436
64
909
17
701
299
55
798
876
379
601
845
257
77
270
624
2
638
639
650
678
902
683
936
739
524
196
881
544
481
173
656
258
230
412
579
394
938
718
504
89
377
526
1
607
319
678
526
947
388
299
832
107
379
625
291
857
873
612
106
369
444
645
69
228
896
339
866
663
463
306
198
885
483
260
604
386
4
711
155
494
932
448
976
209
470
67
859
212
917
323
877
340
814
324
154
326
261
202
430
267
637
335
331
543
65
425
293
426
915
282
46
824
701
962
545
368
569
727
863
602
30
138
824
698
700
85
618
522
926
151
923
138
409
670
822
518
235
648
222
188
513
418
262
628
590
140
876
41
567
626
257
190
128
487
855
450
188
314
747
928
857
251
808
200
500
537
497
858
315
529
178
777
962
865
717
517
970
802
904
445
812
621
196
161
922
175
484
217
698
581
381
60
909
806
645
959
601
314
14
421
419
96
726
916
834
505
702
758
313
866
202
229
400
570
277
723
34
662
708
416
439
837
503
805
619
145
706
564
835
880
203
382
369
591
796
617
551
364
458
470
742
500
139
848
877
299
241
690
972
418
114
571
888
50
306
72
473
460
225
792
4
261
347
57
477
979
776
975
719
116
602
110
948
822
397
959
301
432
440
44
499
949
973
22
111
828
308
385
965
541
504
945
634
605
279
363
689
357
330
789
313
785
232
433
867
578
340
205
346
233
725
617
746
869
488
58
798
558
225
201
702
762
945
774
730
554
414
313
641
191
272
694
878
198
942
881
36
615
874
683
533
325
25
311
244
28
591
149
96
381
241
382
598
429
578
773
385
50
278
946
129
77
598
515
282
534
449
267
418
775
428
604
807
0
499
113
368
187
329
409
188
853
499
779
992
505
281
21
479
304
788
922
288
690
898
626
657
555
111
273
647
800
263
627
197
450
295
24
94
47
499
614
440
416
678
578
709
444
946
822
79
972
132
111
957
906
339
755
654
819
421
393
940
725
520
381
694
171
420
481
329
353
656
813
772
7
602
395
292
118
550
373
235
735
606
236
573
324
572
130
588
88
592
637
611
732
828
657
597
341
837
307
676
242
942
748
346
272
727
716
521
91
846
238
234
773
510
780
903
407
96
777
844
492
791
616
843
680
435
935
640
163
285
142
838
960
132
721
402
756
122
481
728
259
55
604
542
162
355
849
426
71
62
639
600
146
657
79
356
508
933
319
91
824
203
419
593
855
919
935
903
111
685
312
584
524
646
362
680
409
31
616
333
253
437
643
675
451
769
997
216
680
80
536
159
529
819
968
687
683
354
9
201
731
601
736
731
763
519
967
806
318
379
217
877
856
445
409
623
934
196
630
309
768
234
312
614
223
482
992
957
56
642
890
196
723
932
33
656
156
812
741
213
609
6
715
183
542
635
96
721
43
952
365
889
592
815
964
595
616
118
437
280
614
102
71
303
710
927
709
647
482
167
898
707
38
203
475
79
88
807
946
922
80
483
620
901
499
603
128
563
871
680
366
343
688
537
392
175
200
768
954
499
947
947
1
419
793
468
437
77
738
362
729
627
589
658
857
643
49
950
884
613
530
84
883
61
198
53
297
478
459
474
964
590
465
928
175
690
977
664
839
607
457
508
539
274
500
53
19
232
527
588
727
642
375
987
973
639
973
849
419
444
658
850
853
445
155
733
685
400
892
704
842
362
441
395
46
802
488
760
642
185
138
924
915
482
891
398
464
41
596
147
236
569
153
365
104
245
329
693
252
13
717
720
703
115
231
888
85
408
601
703
682
475
520
701
897
162
438
514
286
382
421
863
896
3
190
956
118
653
646
408
645
164
792
369
867
813
464
989
855
691
185
292
353
224
520
310
490
295
410
333
801
187
657
212
541
633
822
949
701
377
749
876
300
815
4
398
395
267
182
941
575
386
257
81
902
54
339
188
750
939
45
339
928
75
784
720
634
106
13
941
435
102
587
940
196
359
740
345
702
123
855
158
139
628
824
913
745
613
432
75
83
944
289
906
684
112
470
34
271
520
379
477
81
765
620
929
559
196
833
982
292
52
972
215
2
886
501
256
353
194
15
319
907
87
747
436
26
394
785
673
937
103
568
555
462
182
110
575
95
991
586
984
881
643
16
412
634
927
834
364
965
817
378
174
283
501
982
511
621
382
815
112
714
628
510
355
139
829
368
42
251
947
100
53
984
772
839
107
113
963
888
59
700
238
179
745
705
77
510
684
973
35
26
656
662
406
231
101
710
563
102
422
249
358
939
647
896
751
308
865
553
620
375
24
396
641
528
924
509
369
702
504
874
350
179
973
438
866
411
557
267
236
261
98
482
453
41
750
386
291
661
509
476
106
260
963
543
843
408
809
981
775
212
926
818
890
37
402
581
236
916
896
36
246
950
398
615
440
302
471
831
93
617
98
832
611
461
508
491
873
858
288
792
131
172
227
344
636
341
369
826
539
189
94
189
554
516
516
902
279
240
432
716
774
32
82
105
193
281
175
638
579
625
179
77
801
398
176
802
146
347
744
480
628
408
938
479
318
626
734
523
495
334
476
165
776
753
160
687
716
847
118
950
35
953
480
533
461
960
162
802
37
359
138
191
14
17
991
651
252
150
654
249
426
574
523
343
916
877
464
37
795
895
374
984
513
653
616
870
510
840
86
578
39
827
447
725
121
262
673
352
363
482
37
352
187
928
402
508
259
779
596
830
58
977
652
576
825
95
329
580
532
951
374
890
650
1
383
805
849
973
46
428
879
903
621
325
969
937
552
381
504
274
378
882
735
298
656
472
980
689
235
515
958
81
864
800
464
304
72
978
945
280
239
9
647
548
828
970
184
35
674
683
693
503
700
353
413
201
625
612
577
863
999
795
852
639
24
536
483
704
956
108
575
195
636
567
35
415
938
839
759
172
533
166
582
850
461
152
559
839
572
951
208
269
270
242
573
720
520
90
637
617
638
701
122
837
649
146
749
469
781
100
591
586
701
576
761
39
119
140
807
60
836
144
746
12
180
208
831
157
396
513
449
604
770
851
678
487
134
558
572
640
522
925
558
353
442
85
25
605
786
394
414
657
0
681
110
388
325
394
252
739
646
615
551
64
952
563
185
611
232
554
79
166
419
55
167
426
334
667
621
455
45
103
482
886
914
339
194
234
109
527
32
562
930
253
695
793
442
557
607
308
224
255
956
641
411
725
947
605
793
64
610
832
279
898
857
259
239
996
467
763
367
633
601
217
651
574
950
868
14
396
106
963
910
216
286
959
423
700
862
448
21
171
47
405
903
665
811
299
973
50
83
640
67
54
717
320
242
815
793
264
33
34
912
301
581
636
759
756
790
463
409
635
847
748
696
352
774
455
569
809
334
862
444
435
451
702
256
169
953
862
4
746
773
153
281
185
99
30
994
993
21
320
215
189
290
202
198
711
450
866
954
912
642
786
165
131
548
410
317
885
226
672
3
481
575
536
171
969
550
920
106
282
550
464
191
146
548
28
100
459
767
557
701
105
744
803
0
149
439
62
497
204
674
202
687
279
212
9
464
79
550
112
126
564
73
280
885
836
725
213
927
773
64
178
51
268
162
17
740
119
664
703
103
218
550
107
288
993
692
713
861
762
811
366
151
273
481
767
838
257
205
289
506
417
59
431
962
119
97
312
301
473
968
269
130
748
427
741
229
257
70
883
846
176
593
157
454
0
878
183
218
749
559
660
39
654
20
904
48
645
844
441
854
124
63
458
895
190
102
521
861
641
978
629
411
311
73
974
336
793
910
480
821
28
373
452
132
307
613
782
964
959
134
259
220
369
917
315
826
677
665
685
105
144
787
153
356
970
927
264
417
91
332
298
571
308
24
412
346
442
949
839
577
764
694
676
717
321
686
262
183
240
351
660
943
957
192
271
615
35
708
159
413
259
777
932
501
400
5
334
40
349
107
249
691
648
824
784
181
86
615
666
561
463
590
844
958
877
939
6
591
640
190
764
740
136
688
760
854
298
151
545
182
176
632
61
991
353
22
373
147
786
675
518
749
816
733
86
128
94
392
149
870
503
789
511
636
316
927
78
562
368
991
182
783
36
226
480
955
796
393
481
623
262
806
661
899
253
632
869
6
974
964
477
135
184
801
785
841
379
229
12
737
991
917
483
836
544
342
34
344
364
166
727
470
929
108
912
318
627
940
312
332
333
580
473
720
862
749
489
550
420
761
440
85
125
192
151
756
700
491
651
810
511
366
842
887
343
719
894
139
262
882
992
69
996
812
647
236
43
478
632
566
563
642
963
836
75
795
639
825
204
116
517
351
684
502
920
746
613
425
260
721
417
289
61
175
921
967
261
43
920
522
487
431
755
1
82
110
715
278
133
50
21
768
421
858
910
495
674
796
492
820
760
24
225
139
383
282
660
90
569
843
456
363
15
228
774
385
25
998
723
197
599
243
352
944
854
89
243
561
536
296
165
633
390
743
808
969
583
487
931
649
867
358
499
901
772
992
882
421
76
720
392
443
323
885
293
866
443
742
687
751
439
630
181
456
821
33
827
656
883
39
725
819
614
587
641
728
665
59
949
35
846
293
795
443
47
696
375
695
337
167
910
74
390
902
321
173
141
284
457
304
871
7
102
359
388
769
674
983
318
325
133
619
952
233
285
305
999
791
3
530
641
781
842
11
400
985
97
695
76
901
731
812
359
193
417
857
290
828
521
469
508
451
192
89
608
344
321
270
614
267
765
598
805
555
781
836
478
822
168
436
101
516
325
595
571
554
850
984
865
893
561
139
467
204
977
484
595
630
839
858
336
707
566
431
276
973
922
66
883
131
986
799
328
560
251
571
819
12
220
652
60
329
477
180
686
1
518
612
643
922
355
772
337
832
198
803
817
125
316
859
932
219
3
336
277
51
506
981
702
514
49
738
851
227
687
738
177
129
502
328
582
650
713
466
949
828
100
859
414
745
527
786
487
175
412
672
527
592
76
902
877
26
8
667
521
308
328
531
522
953
773
592
690
655
651
605
524
458
155
91
450
309
483
63
305
374
589
524
453
715
356
72
221
725
923
651
809
503
315
394
57
338
768
377
339
428
381
121
920
438
304
569
426
788
212
557
741
257
558
568
643
246
833
100
864
960
708
65
361
830
854
52
890
144
500
902
457
453
789
516
978
703
933
491
909
265
879
200
149
699
303
605
588
726
951
831
852
174
794
328
647
533
831
501
28
245
565
686
693
58
48
151
788
584
767
730
383
531
180
625
567
202
239
41
115
569
488
235
742
102
273
439
220
761
755
493
179
372
870
23
274
851
662
47
866
897
449
302
63
671
440
901
844
148
144
25
935
587
552
724
132
628
116
577
899
632
647
432
386
482
429
262
622
883
164
187
361
625
136
236
589
550
855
416
73
169
671
983
109
49
130
257
328
533
932
327
425
514
361
555
398
749
607
173
35
812
671
542
422
943
887
450
797
602
360
970
900
343
633
365
180
123
547
21
189
690
509
24
106
114
409
812
101
987
124
9
135
853
526
193
772
99
984
720
813
313
523
818
787
282
647
520
855
561
653
564
51
226
464
419
859
802
508
859
571
59
577
851
749
816
441
902
256
964
499
869
141
460
845
413
902
645
689
142
782
747
411
424
869
161
13
356
834
773
796
782
181
859
395
672
992
981
486
365
521
234
101
793
87
118
326
317
646
986
805
160
266
106
634
937
673
125
144
498
437
509
220
417
873
586
388
580
936
448
582
888
104
146
794
997
670
653
15
807
1
906
909
166
861
15
210
129
60
656
224
293
382
501
154
108
855
619
69
355
974
945
413
927
70
861
443
805
440
917
650
353
218
87
491
379
557
784
843
170
473
23
60
551
585
135
631
511
729
370
428
655
940
328
790
429
477
671
43
589
980
262
207
263
458
452
975
760
467
490
2
135
534
225
516
633
633
259
102
845
681
184
64
786
373
888
569
378
625
51
493
434
931
24
632
570
676
101
242
912
283
685
302
278
628
217
375
871
886
50
580
267
848
857
990
836
58
221
296
844
302
694
888
859
313
969
987
187
476
820
366
828
817
134
90
424
699
805
193
329
250
237
495
630
18
301
145
60
855
245
91
707
592
121
406
566
954
389
340
134
816
671
5
215
571
199
730
548
174
31
654
240
485
985
185
424
175
346
500
513
780
0
821
735
783
2
126
350
202
869
51
19
401
901
439
586
741
396
435
73
639
977
37
576
523
940
990
406
286
99
958
434
457
323
443
887
271
98
534
297
644
212
182
551
29
821
829
933
631
89
840
288
89
635
806
834
808
496
704
66
226
187
132
121
169
861
23
293
840
634
305
698
117
0
722
366
477
21
81
15
259
803
267
707
602
590
733
32
751
549
571
180
359
45
774
56
83
42
246
810
87
474
388
812
717
889
369
789
338
571
303
652
275
73
161
618
477
717
447
406
404
918
857
749
293
497
923
465
768
3
874
237
175
275
704
831
568
436
946
314
372
483
352
94
639
398
217
402
374
725
104
644
760
363
414
903
919
32
236
88
289
969
782
501
237
968
761
199
710
454
811
309
185
8
665
939
5
813
160
963
439
151
550
198
157
188
273
781
370
462
444
245
713
950
630
603
16
231
444
782
820
11
194
300
834
12
985
79
810
660
322
402
272
406
746
945
787
41
13
692
284
634
625
142
582
60
320
927
91
936
339
457
264
801
7
285
413
498
956
905
285
221
737
682
446
932
497
723
732
348
440
655
841
723
824
799
876
209
494
37
408
506
917
984
147
853
507
212
919
811
900
780
107
198
922
183
225
965
991
396
887
851
152
315
993
879
733
780
136
140
399
54
280
18
984
527
231
386
603
732
310
267
474
169
653
556
568
591
333
857
850
559
562
363
824
803
590
993
999
41
853
951
974
61
50
6
818
203
465
919
584
978
645
854
847
972
717
71
592
929
358
674
962
928
775
572
303
111
481
286
957
892
293
286
556
914
482
45
579
384
917
626
227
835
279
832
912
304
769
63
251
604
491
437
599
666
278
916
426
22
305
128
233
925
670
0
788
408
275
287
685
647
827
348
613
921
703
318
551
145
36
783
430
512
45
832
275
249
231
743
13
562
470
140
663
353
906
221
330
54
578
981
806
419
111
535
251
587
722
814
94
613
206
738
835
462
565
430
338
960
64
268
219
560
389
8
481
999
754
569
309
655
690
440
888
723
176
746
908
854
741
246
410
948
297
808
196
757
631
907
566
130
978
730
277
858
929
902
594
80
272
997
981
309
552
416
819
957
115
923
217
355
716
433
963
619
910
434
521
717
783
990
660
461
18
415
791
956
440
705
723
508
208
378
178
260
796
635
174
373
269
332
650
360
756
165
258
371
565
446
18
696
704
192
824
490
437
115
949
703
384
477
874
349
983
889
107
463
699
707
805
638
848
590
215
152
323
468
926
836
836
131
447
864
746
44
750
350
586
632
51
553
1
823
541
269
176
353
522
998
623
195
645
334
507
256
432
69
907
282
519
138
600
110
535
443
326
64
181
23
442
621
53
208
111
505
294
771
844
391
443
569
46
277
276
264
129
912
736
685
828
525
879
869
602
745
212
22
398
636
849
598
166
252
595
398
454
797
437
405
666
268
235
974
219
947
852
738
527
814
294
570
157
921
836
424
962
353
907
304
832
695
986
789
273
987
693
42
410
294
112
989
340
951
474
433
836
70
411
623
423
205
362
248
624
922
14
403
188
68
973
297
383
897
436
261
827
417
566
775
670
292
264
724
266
488
11
411
140
696
278
891
5
110
536
280
703
580
931
306
827
164
344
71
833
256
245
164
788
635
297
126
458
708
730
906
824
977
54
875
103
970
126
486
303
719
722
667
295
214
123
554
474
433
307
975
786
825
370
614
987
649
349
934
64
676
833
793
579
220
896
437
863
699
484
619
297
632
890
695
153
730
607
444
969
696
573
335
554
612
545
93
551
676
12
109
592
12
856
562
862
161
673
153
499
902
194
46
855
764
983
980
484
346
843
614
462
435
125
155
688
209
217
660
492
42
163
299
840
701
788
540
559
819
291
945
997
364
328
805
862
665
482
693
67
248
47
838
533
836
174
522
495
305
291
383
79
503
164
918
345
157
50
348
576
35
231
635
729
518
359
108
678
41
469
796
64
314
225
913
404
976
765
414
347
997
339
115
863
645
72
544
387
823
201
571
221
312
172
402
850
37
703
428
812
586
666
709
298
792
671
253
123
828
796
590
258
118
410
127
306
948
391
750
797
649
51
496
398
766
112
157
835
587
728
88
386
167
912
338
414
166
819
383
99
756
72
555
600
966
366
892
498
663
195
210
245
501
295
508
626
396
508
229
674
666
817
232
844
624
677
106
14
494
511
832
306
482
693
5
982
99
748
823
576
581
797
4
364
58
625
383
931
935
213
21
37
447
198
358
369
727
946
302
599
697
430
981
772
766
76
782
659
17
739
620
296
937
361
431
128
520
597
21
926
586
468
25
61
466
422
307
151
946
52
871
833
390
744
117
753
408
736
788
386
746
719
184
960
498
839
426
420
181
821
227
15
950
138
519
804
513
21
615
757
563
795
293
266
103
498
456
186
0
121
88
648
615
594
233
894
358
389
683
264
843
190
343
387
353
777
1
515
711
295
977
694
87
509
905
555
24
465
383
468
343
223
738
970
475
38
918
945
408
474
595
399
860
984
978
50
893
443
918
651
685
687
532
328
548
323
664
352
392
342
757
124
524
548
852
737
600
352
310
779
846
174
395
997
438
436
761
768
918
812
233
469
386
398
531
567
904
626
810
228
820
950
970
839
551
325
379
841
329
959
491
214
446
521
905
846
537
398
787
271
314
923
608
57
845
672
287
42
764
405
297
967
276
127
151
666
915
552
541
779
661
716
474
918
943
751
796
924
565
653
392
714
431
242
303
559
140
239
819
717
53
536
24
434
913
496
67
718
735
113
662
293
776
11
469
367
81
495
687
69
814
647
560
601
514
880
980
603
504
799
933
571
187
411
147
830
960
161
501
666
999
96
945
983
634
238
869
170
116
5
917
332
228
151
175
408
855
821
721
647
565
530
764
604
284
458
672
650
352
773
819
37
14
672
850
414
976
988
303
730
144
549
548
976
71
458
743
662
0
999
344
798
272
522
390
561
207
379
175
934
981
150
952
497
24
307
249
798
870
776
976
378
868
665
438
684
726
623
266
719
837
880
119
530
389
283
79
655
964
506
791
171
924
683
312
948
806
213
565
280
301
916
754
33
674
897
920
799
872
381
693
237
542
379
49
734
306
644
923
323
711
560
476
269
181
225
839
557
459
683
416
983
444
474
973
770
890
363
930
620
887
474
116
540
881
466
290
917
828
97
541
583
891
283
174
959
415
492
201
953
598
926
31
879
573
289
856
823
647
719
699
200
516
159
570
457
489
535
34
60
199
978
610
950
628
106
751
908
247
179
530
853
438
251
321
155
731
942
187
849
150
280
531
165
862
651
820
615
287
13
773
971
794
601
30
962
801
224
788
43
670
63
324
947
132
985
424
826
608
585
583
736
487
272
476
320
73
679
120
425
766
636
386
610
691
514
750
718
791
896
768
759
487
648
54
131
907
717
772
709
301
884
954
663
115
392
343
960
47
406
195
165
938
583
18
748
108
263
451
785
64
550
163
381
789
813
206
923
815
689
804
9
201
880
773
511
788
805
227
843
763
10
857
576
964
986
109
908
220
608
329
215
750
859
993
255
342
176
585
113
139
935
817
666
860
776
704
524
897
362
16
877
33
781
395
995
193
328
262
643
885
792
324
484
324
863
680
772
130
724
428
587
634
844
54
845
24
296
585
926
619
289
908
85
554
960
251
326
82
313
99
903
804
324
189
98
614
909
366
419
138
822
438
928
182
672
221
610
460
845
606
542
941
750
86
598
471
943
816
801
514
891
804
213
592
492
546
83
518
939
264
350
821
232
695
895
389
669
975
11
931
150
867
252
564
202
555
317
299
52
835
717
502
663
531
558
640
485
691
505
807
573
610
671
137
982
610
176
834
933
279
631
351
984
520
688
371
406
352
625
701
462
937
493
569
234
232
384
305
378
59
743
808
167
687
446
604
643
483
413
805
812
606
488
90
36
344
743
506
725
41
793
188
549
296
952
269
642
37
152
526
858
208
393
850
678
771
979
835
755
176
135
342
590
161
388
76
164
899
453
673
37
614
966
389
957
639
359
920
539
263
950
568
149
194
384
875
364
256
114
707
338
893
224
705
934
689
477
125
683
157
705
699
728
773
125
71
649
75
695
800
654
987
841
166
962
156
671
260
214
548
80
603
611
419
704
580
719
552
807
344
668
463
424
147
950
764
138
833
680
836
88
383
13
891
62
271
324
449
615
829
42
2
429
806
644
257
868
314
532
642
767
35
15
259
358
404
132
459
558
43
578
249
293
736
629
323
883
73
630
282
134
555
347
514
186
688
850
51
230
543
831
119
946
51
219
238
564
949
504
665
610
391
659
670
394
493
296
12
702
852
395
14
336
262
232
785
564
753
739
17
608
522
440
314
167
632
905
182
447
436
52
889
903
17
612
990
367
251
100
341
756
743
493
942
885
934
827
201
83
184
374
528
890
60
577
261
182
178
184
798
302
363
955
992
17
844
162
966
623
711
226
808
2
31
903
808
854
159
350
211
777
12
127
449
507
673
342
0
953
516
941
239
659
320
551
260
413
260
796
277
535
125
128
480
106
336
115
797
186
149
990
70
566
874
968
676
239
561
893
899
100
688
605
357
477
701
982
860
802
523
868
529
848
95
759
845
821
451
423
563
857
151
852
448
929
17
711
376
428
235
864
865
86
356
677
476
640
81
993
188
11
140
492
279
197
513
316
95
716
102
409
496
265
475
230
823
365
232
413
691
492
346
366
817
316
372
187
187
80
29
467
366
575
102
108
944
378
795
889
966
593
244
157
373
614
736
78
360
903
562
695
963
783
433
999
488
767
331
885
566
765
958
161
180
903
546
528
518
80
810
926
816
524
916
341
521
193
996
994
409
685
876
494
104
133
303
427
27
87
842
405
544
54
188
915
735
913
598
723
648
533
388
313
56
150
495
601
439
129
520
546
31
131
827
932
509
947
258
108
271
222
862
165
415
968
107
891
528
320
725
639
0
125
859
102
917
927
544
580
48
909
700
364
649
374
827
965
222
102
122
505
783
522
277
646
519
44
129
356
489
423
150
517
806
421
297
887
524
83
991
783
289
2
910
451
358
254
870
316
194
552
112
729
101
836
406
280
968
27
709
942
773
166
369
640
914
730
774
231
614
863
639
827
319
102
409
477
414
351
955
182
350
762
671
197
360
384
962
205
41
576
235
653
694
464
635
337
161
8
388
717
148
280
532
351
495
478
800
478
590
479
999
931
48
900
617
766
748
671
52
435
919
429
511
569
202
852
292
247
310
581
306
822
821
32
343
71
157
111
250
406
380
786
932
743
121
764
818
494
582
524
19
675
53
580
222
32
197
191
863
15
212
819
379
572
913
746
750
26
759
26
180
852
717
159
323
871
957
724
901
822
283
718
475
36
305
497
305
401
480
824
976
228
368
618
597
571
16
615
491
760
112
450
911
582
753
990
818
687
239
484
718
810
997
509
544
823
228
967
721
733
671
262
760
192
133
36
692
742
695
730
125
827
508
205
560
874
668
217
610
421
36
379
613
686
54
832
438
808
240
147
416
444
915
169
457
224
296
777
855
279
618
846
73
875
88
313
427
113
733
874
229
621
824
941
459
545
961
485
57
642
881
280
385
412
379
292
846
86
471
545
359
924
212
444
156
633
978
748
287
148
854
469
502
519
540
32
766
601
154
902
144
310
220
699
732
626
559
976
629
157
928
533
560
386
858
715
758
205
220
815
46
584
80
941
599
408
652
858
671
954
757
959
341
699
352
222
738
975
122
566
169
651
290
350
216
34
974
565
689
450
408
40
332
491
405
265
505
552
159
796
674
698
837
43
175
398
554
782
878
951
764
887
381
369
969
590
946
510
140
20
938
542
1
925
523
90
671
553
266
461
21
689
863
269
286
825
598
233
695
320
415
788
63
439
139
574
959
690
63
532
52
198
781
452
619
263
577
228
546
85
301
230
417
576
341
900
559
15
873
372
683
157
957
288
209
103
350
817
354
341
176
757
153
965
26
538
216
123
627
474
201
784
327
568
882
692
177
531
360
512
137
333
100
12
596
415
800
770
959
876
657
530
866
522
357
10
348
682
622
895
301
265
643
383
188
793
641
674
229
985
884
246
376
444
873
897
974
300
725
896
671
717
199
323
183
58
675
108
419
355
225
502
696
166
711
813
273
984
569
902
525
668
130
516
415
664
672
894
819
648
801
23
245
750
628
185
280
199
573
238
599
24
232
482
961
709
102
514
634
610
805
580
831
313
796
371
509
116
117
103
452
312
229
595
0
584
351
752
24
71
88
291
659
583
645
360
669
200
427
598
401
626
976
532
967
121
379
529
185
347
298
512
592
333
905
452
415
721
654
305
95
187
59
203
561
819
253
309
47
971
118
230
746
252
545
38
233
936
856
14
58
625
573
576
898
674
422
121
989
673
606
742
550
693
976
50
958
411
153
779
792
820
669
117
259
105
863
711
381
634
917
481
996
257
240
215
17
934
175
586
788
215
393
668
33
538
345
250
772
85
364
877
189
770
556
488
431
828
308
112
761
302
92
101
614
76
82
522
77
97
518
232
786
805
159
925
534
616
742
847
696
860
269
604
344
389
254
823
647
0
766
39
311
698
955
906
953
312
403
916
430
904
937
361
41
954
684
648
919
752
319
207
66
234
244
345
199
155
352
343
577
484
987
552
309
344
609
182
244
900
410
584
968
595
985
314
61
345
920
855
301
417
924
631
561
50
677
941
898
456
459
682
858
123
228
462
291
336
778
882
701
265
283
159
567
906
46
722
197
633
167
346
535
609
856
78
708
134
310
587
887
867
250
306
380
156
184
511
141
945
780
192
751
827
844
958
690
760
564
645
816
215
338
908
990
500
840
106
900
672
116
288
683
262
32
286
487
641
430
44
546
582
519
768
291
347
700
797
23
469
42
834
264
727
347
726
351
534
716
452
18
72
816
572
365
229
997
313
918
501
140
17
346
280
46
539
628
877
400
999
951
804
802
451
96
20
794
951
630
312
397
929
881
504
430
600
127
768
143
772
355
859
707
844
0
846
282
868
343
707
233
263
891
927
482
641
909
827
146
53
551
155
228
560
580
351
858
441
815
57
349
126
807
58
791
696
436
436
668
588
345
787
762
886
409
782
818
269
572
277
43
3
447
698
620
458
55
419
432
115
939
276
845
692
217
107
42
904
99
150
966
677
527
990
999
378
209
117
829
991
816
503
418
971
693
782
878
834
927
911
689
589
773
56
319
482
369
71
906
950
494
188
578
478
69
603
502
245
224
793
336
277
795
33
800
504
337
64
629
941
3
917
176
874
97
876
325
516
559
632
827
709
296
100
504
382
784
216
384
144
177
927
112
427
955
976
704
101
463
62
935
831
32
369
589
509
294
873
317
834
408
633
84
500
101
538
832
349
420
529
680
349
113
773
270
406
87
327
748
308
375
617
635
648
620
525
439
573
564
160
655
508
10
913
275
741
401
164
176
277
576
345
802
405
795
489
154
473
658
356
25
302
513
950
811
134
546
567
298
17
775
920
901
345
476
476
681
10
447
289
61
126
750
9
129
364
333
935
481
735
641
258
323
376
518
338
479
754
383
829
538
303
395
857
10
693
366
987
560
768
395
133
412
818
396
438
662
197
194
944
709
968
406
870
926
216
95
137
627
881
284
775
104
276
944
144
302
473
815
615
117
998
790
629
865
362
212
105
760
86
75
187
288
932
885
869
658
694
59
668
6
496
950
130
908
435
48
97
341
551
670
562
243
675
998
558
571
575
169
699
674
178
822
701
24
208
302
865
558
9
520
231
783
74
473
211
293
841
264
256
413
696
739
390
761
509
292
675
282
659
576
125
14
102
265
862
684
519
669
900
691
677
467
872
668
889
654
318
492
651
772
182
144
880
878
584
765
771
960
869
256
750
142
388
24
624
302
617
613
793
718
579
78
500
503
348
322
716
585
560
216
396
324
60
123
178
144
796
406
995
88
250
607
588
42
187
432
272
53
66
974
760
675
686
666
65
389
994
106
633
533
795
315
432
510
202
905
211
436
699
35
356
749
987
890
350
500
111
336
99
835
780
873
766
75
563
577
128
506
802
761
656
721
439
907
482
847
719
766
647
335
889
761
972
400
884
881
222
498
924
924
860
329
517
172
600
709
879
678
445
336
533
568
446
303
168
15
165
383
563
360
440
221
829
61
777
103
465
158
881
190
288
308
594
400
66
596
925
245
904
515
96
11
51
450
668
320
40
361
184
860
76
946
739
289
754
453
856
643
991
480
452
372
792
54
659
799
387
807
698
321
649
286
227
913
905
516
514
600
819
90
914
783
214
261
879
284
984
676
864
153
400
88
188
492
201
952
102
527
242
489
908
206
231
623
928
241
31
611
979
451
116
257
301
779
912
494
995
578
554
68
494
735
53
55
110
649
792
402
663
444
503
584
631
634
519
646
964
337
975
796
659
115
109
767
645
369
358
116
275
467
670
965
636
363
288
934
515
97
508
818
697
237
429
456
128
574
844
493
685
829
291
701
735
358
667
523
542
596
667
830
510
924
367
58
947
75
657
754
447
900
834
379
150
560
98
688
84
313
176
104
110
749
981
700
341
95
507
228
312
741
890
127
732
437
144
894
782
433
399
258
73
263
213
571
869
397
96
543
907
545
484
128
671
369
296
737
465
482
900
596
568
612
79
164
8
992
358
864
247
529
20
579
155
730
121
95
747
518
701
379
311
451
711
429
847
990
196
623
522
755
360
585
676
624
818
513
558
517
978
600
797
762
659
215
221
332
479
443
170
602
894
795
402
971
823
199
221
752
285
956
811
992
776
311
766
669
44
408
842
586
7
968
155
54
21
730
825
900
86
693
279
831
853
822
193
384
323
613
913
535
111
905
31
372
206
378
565
815
547
315
467
824
126
662
368
968
104
837
178
435
436
950
524
309
702
488
396
744
801
980
983
330
554
203
3
138
924
529
333
534
928
574
889
312
855
16
855
861
216
866
501
476
664
42
233
95
257
827
601
764
257
477
159
981
678
885
120
529
249
674
97
39
619
678
650
488
781
874
592
462
587
191
990
210
401
954
165
784
815
278
735
593
581
54
829
271
904
368
549
971
925
450
616
776
97
799
248
97
875
465
133
556
745
634
537
475
387
115
268
424
760
262
837
630
185
108
568
874
749
839
258
530
236
697
922
151
879
435
68
862
449
5
573
142
924
127
653
691
966
34
327
881
890
678
27
517
930
808
417
889
748
832
136
28
420
87
133
24
88
888
82
734
132
694
857
608
413
131
556
426
471
711
348
329
4
385
831
929
879
983
975
664
39
665
459
756
797
843
137
676
146
223
265
346
616
106
887
604
349
776
111
546
483
50
703
154
957
422
48
691
626
958
339
391
517
412
699
953
728
515
17
124
202
522
976
854
357
843
195
79
306
447
716
339
333
95
817
430
666
827
36
288
929
921
310
878
2
749
212
174
883
833
111
332
440
566
625
921
34
51
780
576
32
986
301
944
942
150
85
816
266
882
236
671
586
889
489
267
266
595
119
718
612
88
722
816
736
879
805
418
712
826
565
971
114
418
442
900
504
225
362
968
775
874
188
571
664
308
690
721
877
554
220
247
425
4
832
635
79
404
35
18
468
86
9
815
386
953
710
525
114
55
718
783
334
349
370
46
134
380
678
652
553
928
131
255
872
380
48
547
142
689
234
170
502
233
304
307
649
254
841
988
746
355
532
177
925
912
909
812
385
83
123
612
738
522
405
293
698
57
75
795
849
685
577
315
766
471
831
966
990
200
337
898
665
332
487
631
619
739
362
720
742
633
803
154
132
206
40
898
349
630
914
940
663
131
867
760
712
991
536
199
312
248
335
941
491
888
783
765
359
422
183
5
355
266
471
370
357
367
415
779
883
816
794
435
53
466
278
469
396
834
378
416
688
38
306
94
70
21
63
129
810
394
659
108
247
631
427
894
697
974
297
442
378
230
375
545
309
458
281
679
113
254
112
771
907
784
689
258
210
911
233
221
175
952
613
219
127
859
686
680
846
429
232
728
402
331
948
761
861
571
576
576
374
197
430
646
63
650
126
46
920
851
256
1
45
640
336
770
872
66
262
438
532
145
404
227
604
589
755
633
828
888
18
631
239
325
849
685
569
254
933
755
546
268
6
662
300
137
951
603
389
565
81
487
393
858
150
262
146
449
897
630
175
33
386
729
776
527
547
103
662
154
566
751
343
539
229
100
187
235
683
66
919
501
687
309
704
366
682
844
90
772
240
95
447
863
962
732
943
69
276
298
450
835
161
387
333
492
761
532
12
218
53
99
471
933
858
739
147
636
634
702
315
516
636
783
203
30
808
385
468
558
746
299
504
988
466
630
103
826
784
829
711
580
73
245
743
126
563
361
547
973
951
771
972
182
635
251
220
671
262
752
845
404
392
509
414
308
72
636
103
600
922
395
151
478
32
536
619
49
532
803
326
869
18
535
655
479
805
217
164
101
406
964
479
575
977
769
874
833
852
781
710
682
618
384
474
47
365
175
863
911
585
206
793
682
911
716
993
2
47
230
618
756
441
559
5
425
203
543
966
385
911
95
788
422
936
129
858
735
89
657
630
357
245
564
10
739
605
993
105
93
130
370
9
135
773
780
575
912
150
286
993
286
267
13
973
916
923
885
843
282
89
754
545
948
232
37
896
355
570
848
154
987
456
368
566
35
455
310
265
721
982
811
744
796
382
420
347
520
398
5
586
282
597
700
106
828
720
50
979
102
62
955
937
30
590
367
684
346
351
192
245
412
738
59
862
285
159
427
191
287
782
833
504
271
312
791
619
285
882
652
668
208
125
418
525
185
880
786
738
506
513
731
36
389
138
863
196
281
927
528
731
187
25
367
282
64
977
440
656
334
465
384
394
639
382
969
601
282
220
385
461
55
633
729
321
710
892
775
306
250
477
24
800
537
722
448
794
707
296
570
189
809
218
958
969
288
773
331
1
76
352
765
949
5
350
323
193
198
555
387
895
123
848
917
498
672
45
949
679
463
343
590
443
830
412
779
756
212
630
999
43
219
332
953
792
494
328
523
88
648
156
710
299
56
56
921
340
165
734
324
621
177
331
914
197
929
319
966
296
4
323
164
742
237
56
999
929
361
969
749
408
479
477
70
682
39
602
695
49
366
295
894
35
834
543
950
76
887
899
761
186
530
247
279
315
495
193
101
578
479
193
739
219
382
883
814
789
335
869
376
419
868
855
166
280
299
12
86
969
162
75
122
744
259
648
995
596
870
229
344
48
135
410
937
721
138
719
623
78
119
269
84
4
470
430
607
4
431
362
984
8
755
977
34
29
120
850
274
863
897
810
526
953
598
836
544
816
692
473
453
270
900
244
866
795
881
984
381
415
94
216
786
460
248
150
923
294
651
516
75
893
615
394
974
67
168
668
823
793
181
392
47
291
442
456
110
743
85
694
694
840
451
56
187
529
984
956
582
817
14
519
673
713
864
750
276
636
692
533
780
128
355
179
21
614
350
510
396
629
728
480
553
706
571
791
158
271
489
245
823
718
238
788
869
583
801
716
736
793
174
855
991
39
79
653
219
835
447
736
748
477
790
569
678
419
353
54
369
271
655
361
429
144
932
353
288
103
899
34
469
945
237
126
526
112
886
968
856
449
149
979
56
223
288
587
51
217
889
678
64
416
82
260
38
23
176
672
729
347
791
905
134
971
937
134
602
286
105
551
699
220
348
183
746
556
897
994
125
423
661
461
132
378
529
941
69
637
626
660
374
959
48
185
189
342
523
487
339
889
529
799
523
544
77
60
941
166
108
711
273
564
736
166
351
637
66
618
936
77
412
55
774
949
321
401
199
215
131
894
50
925
763
932
263
609
16
221
211
483
210
41
884
839
292
958
622
633
77
572
442
364
631
42
601
340
581
725
853
127
856
618
725
269
828
879
343
228
351
602
161
687
41
524
895
698
980
226
356
540
808
764
574
390
779
346
251
762
879
784
772
412
606
547
973
567
734
980
962
801
985
323
907
147
925
538
160
890
526
645
694
532
943
561
725
439
57
679
900
378
894
668
607
164
495
204
648
701
316
293
500
751
693
128
805
802
248
348
866
425
767
908
360
381
738
158
825
732
200
331
110
494
853
603
479
673
275
873
431
110
713
284
100
963
787
157
936
598
887
135
925
573
168
31
590
202
378
823
83
824
583
61
724
154
828
428
308
498
250
216
158
388
153
890
618
440
606
191
330
865
115
294
957
342
70
317
164
782
527
735
989
559
779
599
61
634
187
589
965
633
726
376
588
987
476
784
782
422
903
823
865
194
84
289
451
549
172
48
22
783
622
596
594
532
1
983
717
495
418
308
596
44
219
671
750
185
629
488
119
309
740
486
18
591
85
836
760
371
93
582
923
257
653
824
259
78
471
232
993
251
667
824
306
662
0
177
970
940
449
316
77
347
575
426
565
451
881
872
633
136
829
994
158
688
358
612
27
502
226
192
12
857
804
677
166
109
506
587
394
214
620
902
695
999
80
734
646
20
440
393
350
584
91
24
457
83
169
253
123
147
803
379
190
712
844
87
41
225
37
336
536
654
497
870
221
910
687
192
125
141
921
87
289
747
322
498
283
541
556
520
979
778
531
897
230
239
797
604
516
106
474
530
186
913
779
133
473
201
415
260
45
153
971
505
741
817
701
487
93
906
103
271
463
898
114
638
306
838
243
808
778
283
480
728
384
271
50
712
961
619
959
881
69
24
206
749
266
226
294
343
477
168
657
315
119
484
758
126
820
253
160
948
5
90
225
296
699
130
374
977
928
482
575
821
699
123
38
257
955
567
162
210
32
636
697
138
423
170
41
973
479
693
342
194
158
593
460
390
894
358
923
291
535
892
509
102
112
611
851
848
107
368
436
902
335
881
921
604
882
876
211
449
392
610
54
8
582
920
287
201
604
489
619
371
837
881
84
426
30
0
228
255
545
690
408
630
890
368
848
972
932
146
162
101
35
436
155
415
14
963
267
321
978
255
0
811
965
687
888
389
126
352
555
904
813
331
107
458
992
10
857
774
657
527
138
677
233
492
846
284
572
951
320
297
789
389
629
498
616
677
210
269
268
925
308
267
923
863
91
31
922
188
562
704
99
672
563
226
478
524
138
601
614
919
717
277
282
281
306
128
749
599
174
744
497
268
553
816
692
909
310
381
435
234
356
193
713
704
535
79
576
569
586
539
535
889
698
411
368
74
57
616
291
520
355
82
251
41
791
412
402
218
255
592
173
809
151
206
258
759
610
413
91
542
649
924
943
189
385
796
551
156
51
512
472
764
250
883
471
71
729
933
302
188
983
580
286
553
239
51
125
129
756
745
615
531
529
628
187
25
357
262
478
210
901
850
250
583
886
791
682
367
36
199
459
185
863
862
670
90
643
916
204
559
448
19
52
192
406
16
990
463
495
320
559
178
106
983
961
172
181
729
106
385
44
415
955
59
634
536
832
113
851
632
991
681
952
172
230
122
867
222
91
648
8
462
911
113
908
769
904
570
646
856
721
222
275
929
827
915
867
929
883
162
756
519
637
185
423
487
188
1
931
306
795
600
890
331
651
801
33
386
117
366
450
223
203
341
74
100
318
655
732
780
867
900
478
125
639
508
886
678
995
189
131
868
405
817
666
154
233
928
423
471
47
896
795
47
223
945
545
582
700
226
971
642
817
336
280
653
443
414
743
948
783
798
702
637
204
705
406
797
203
381
939
62
437
659
169
432
254
582
615
238
649
970
861
369
395
537
484
468
201
234
3
630
307
310
343
571
240
901
592
757
430
568
460
476
366
407
147
80
123
547
657
884
932
999
245
833
785
610
300
265
679
756
507
743
2
944
534
521
556
915
546
919
641
605
489
815
415
315
112
53
170
574
166
506
735
370
605
793
304
921
836
246
668
772
275
415
271
919
444
370
904
770
618
668
671
445
673
599
475
573
381
473
863
991
125
628
238
818
154
485
489
985
801
363
11
970
454
736
824
352
402
643
471
710
509
840
427
427
536
987
272
226
55
412
144
521
153
523
731
941
956
128
488
597
13
266
443
330
673
431
935
681
295
139
255
517
627
605
245
347
343
26
549
105
594
234
914
840
210
593
455
373
888
847
607
700
572
156
606
201
338
30
446
894
290
278
69
30
203
863
480
988
248
520
76
747
852
574
119
732
753
815
811
706
479
535
913
885
862
469
666
231
664
538
901
269
458
529
8
350
659
78
23
671
514
380
92
716
293
507
566
301
354
259
169
266
496
745
231
390
755
907
822
288
188
216
97
721
981
629
166
638
409
877
923
739
684
549
857
937
237
215
39
571
984
803
284
28
931
535
359
176
149
170
160
900
721
549
688
468
909
117
947
250
972
142
357
870
134
25
157
497
877
887
606
485
466
504
30
197
621
193
970
692
962
387
461
829
539
624
384
276
823
75
196
660
793
504
344
923
820
264
99
598
196
657
383
838
95
991
931
936
861
252
22
550
685
54
610
379
522
360
928
937
451
542
9
684
460
991
10
875
850
866
412
812
709
479
44
92
964
904
300
31
146
618
750
991
3
616
334
647
286
916
714
351
645
397
723
715
640
126
480
894
226
977
905
565
653
668
0
941
391
876
37
552
532
728
93
975
758
152
38
415
572
502
711
105
980
726
499
248
921
247
848
519
701
187
363
739
699
882
813
436
190
630
494
846
163
448
47
792
519
497
114
553
628
556
646
367
237
281
834
554
46
334
754
206
840
367
218
671
55
968
15
519
625
319
430
102
837
862
232
58
187
942
390
260
634
704
921
999
432
249
48
839
93
412
871
983
644
605
736
171
85
244
717
662
649
501
135
972
41
354
282
19
580
561
699
424
535
452
344
427
859
819
122
854
348
356
386
376
770
805
805
889
524
550
437
765
453
971
471
280
811
786
585
810
553
781
530
973
701
423
76
240
930
331
863
122
160
876
383
688
711
246
546
221
310
55
583
418
155
920
918
725
418
438
150
199
77
784
307
191
860
751
54
946
998
887
998
340
766
161
707
759
884
221
119
361
438
482
698
952
386
256
791
89
421
3
988
25
577
481
180
611
246
955
788
757
41
236
360
969
499
394
258
155
42
835
214
879
492
18
693
421
23
474
703
383
350
902
257
904
748
959
245
528
157
807
521
78
673
271
862
609
541
352
291
352
264
452
840
614
908
581
758
113
723
987
664
4
15
384
592
499
39
554
528
112
589
160
128
186
253
437
404
386
224
959
921
102
72
620
95
228
235
623
575
932
982
414
51
651
437
129
483
973
735
789
936
814
922
983
609
834
551
768
111
829
501
28
998
580
829
992
831
864
903
811
767
127
350
45
879
589
127
407
134
655
649
372
470
612
305
32
453
712
691
934
975
65
56
374
525
399
15
350
207
965
586
482
155
724
646
136
925
466
214
827
943
242
935
388
671
306
313
326
637
790
674
945
995
924
804
206
659
144
295
618
331
838
539
377
663
200
461
953
149
237
928
361
805
820
807
965
851
870
664
575
860
95
726
614
853
981
842
112
691
614
263
201
751
33
299
602
491
965
201
883
552
919
846
643
590
525
93
444
922
343
520
355
492
91
284
717
658
501
773
33
684
609
179
555
235
629
158
235
608
146
504
163
854
67
229
100
262
137
911
176
342
646
20
111
382
370
588
13
238
510
220
418
705
740
416
140
171
149
71
610
526
800
65
629
362
81
927
931
131
659
336
226
655
632
6
520
153
106
240
7
625
637
603
723
852
857
241
238
241
141
447
357
570
446
926
732
624
54
519
274
834
230
523
900
848
640
105
581
753
61
291
918
859
511
171
433
988
332
235
608
687
317
585
125
830
555
305
205
768
639
81
605
924
436
59
263
364
751
269
539
201
157
149
669
71
358
943
896
515
619
946
119
355
903
745
826
779
3
719
923
886
472
807
467
244
55
326
615
736
476
786
212
566
77
793
689
138
280
644
280
75
595
811
721
237
680
442
453
509
277
853
202
274
919
937
257
721
503
298
811
764
274
198
594
2
244
304
598
456
291
499
648
103
371
11
580
955
194
847
316
295
132
488
915
396
344
845
123
477
264
866
838
243
132
74
97
246
989
712
63
873
140
410
304
740
206
330
555
545
144
283
951
560
142
659
612
542
762
286
439
83
830
608
345
128
806
45
764
612
422
798
982
391
620
799
708
798
745
922
556
282
950
763
96
470
784
473
171
618
313
428
311
509
888
830
568
968
164
366
22
765
430
706
578
890
11
543
735
41
163
782
897
398
298
277
554
801
111
787
730
365
126
753
509
862
203
126
635
660
782
871
799
620
191
784
576
798
996
464
151
285
749
796
923
259
928
985
889
584
589
979
202
753
825
34
862
925
777
566
57
592
590
990
375
232
812
568
842
83
160
868
145
453
161
152
548
258
25
261
375
537
635
109
234
254
389
321
85
18
792
825
982
651
417
984
293
508
815
690
95
487
361
306
923
185
481
560
197
117
650
662
172
165
768
962
489
107
790
556
519
768
619
831
112
418
769
233
469
708
229
196
177
653
197
192
10
989
116
402
81
304
996
347
644
784
568
362
861
903
440
623
40
974
410
279
205
761
68
828
232
38
463
265
812
663
753
823
261
71
470
783
536
599
363
478
621
49
710
88
119
716
292
933
613
138
298
976
412
125
237
98
624
264
657
120
922
673
634
958
523
948
191
765
607
658
854
61
697
713
649
152
4
6
600
773
966
75
674
194
43
66
448
471
384
705
458
982
554
170
179
626
35
60
471
568
668
47
383
415
496
745
514
433
862
168
531
846
521
100
26
943
403
299
333
189
63
4
501
272
549
148
534
598
993
904
798
892
679
521
335
407
645
764
986
568
17
990
68
808
532
286
946
277
202
680
25
69
199
823
898
278
503
273
296
28
819
465
650
468
564
132
199
98
553
972
170
81
276
38
949
97
976
882
653
36
782
37
592
244
129
996
458
992
627
918
871
557
524
385
461
816
309
254
463
422
958
35
692
567
440
10
384
31
285
559
146
987
811
646
675
98
560
122
266
381
672
926
614
244
742
140
705
890
250
461
805
487
442
932
828
260
222
449
164
732
242
747
49
886
972
417
451
25
109
910
539
56
93
669
881
950
399
72
816
47
781
132
91
167
921
153
174
183
29
546
368
611
620
976
865
226
203
363
984
757
170
639
911
385
361
70
40
623
732
458
161
877
884
759
720
904
886
36
962
150
690
432
951
82
551
253
984
873
755
599
820
182
798
531
290
785
86
223
109
731
131
713
359
292
875
490
348
298
851
694
299
757
164
259
452
192
559
298
516
777
562
343
276
87
737
133
597
418
396
537
750
88
964
606
381
262
267
407
348
729
461
485
126
152
514
752
147
895
631
246
511
280
384
970
588
220
771
840
808
981
666
122
369
681
307
253
915
77
134
409
100
195
727
611
776
702
799
453
319
260
191
237
774
355
975
114
711
930
632
327
775
511
23
613
947
69
275
867
610
491
275
69
654
664
151
474
521
930
178
715
404
315
869
282
663
176
545
703
44
825
379
133
429
43
235
367
381
916
770
904
825
565
606
257
258
682
885
961
232
929
285
224
472
487
493
634
472
788
735
621
232
870
900
918
884
89
302
683
699
173
736
200
152
314
386
296
916
451
827
229
117
437
618
734
473
63
200
774
107
872
420
987
809
908
559
204
128
28
953
441
399
776
218
780
553
485
128
773
248
811
845
534
641
313
998
934
364
693
711
742
910
189
403
69
688
914
963
889
642
105
658
890
413
139
866
890
95
567
75
591
547
109
270
573
827
385
969
288
121
646
707
24
804
796
973
668
895
393
949
355
67
131
865
396
796
818
519
383
740
965
829
417
883
882
509
866
570
521
662
62
672
572
85
828
609
209
941
991
119
985
494
226
161
798
644
430
375
488
350
22
620
226
686
263
588
387
577
349
845
540
359
326
611
536
564
13
789
389
540
585
701
666
27
550
549
120
82
226
873
682
787
402
549
394
115
576
313
405
395
544
628
504
586
696
136
69
643
392
114
513
462
861
460
162
158
593
805
548
392
686
509
777
857
591
868
826
912
114
946
266
114
700
786
591
94
143
402
27
888
659
198
41
644
529
557
975
720
912
842
299
623
712
915
18
273
240
608
275
765
42
346
880
869
936
146
586
154
847
844
168
315
750
370
398
70
780
783
115
790
32
211
357
603
618
941
126
174
35
319
182
441
125
999
770
586
723
180
611
857
208
219
218
563
214
925
297
304
852
806
623
549
379
418
862
105
829
394
65
860
294
644
631
593
113
895
353
577
201
704
154
965
875
950
832
232
975
122
758
275
862
633
605
591
193
695
840
54
648
713
225
488
138
474
873
836
710
621
140
89
383
573
122
32
141
103
874
998
602
637
999
398
630
763
266
749
659
318
931
812
319
131
87
606
813
34
286
633
325
426
192
266
998
141
685
990
293
706
621
559
900
162
927
414
783
187
771
350
53
425
388
636
331
453
433
320
862
937
54
684
55
494
859
225
642
529
356
525
82
805
984
162
407
465
673
454
233
318
824
405
678
328
188
458
101
17
916
835
766
583
698
728
812
929
78
692
161
995
769
485
91
908
342
788
829
328
812
646
853
225
44
773
547
921
47
726
700
949
359
987
813
381
354
17
80
793
832
839
534
113
992
832
349
258
111
108
797
653
547
299
583
782
359
813
349
146
601
5
197
452
208
447
763
205
245
869
703
518
538
873
228
268
896
979
676
424
45
774
297
695
91
218
801
733
637
732
382
744
882
326
958
237
615
204
589
432
308
203
45
198
919
723
227
259
745
234
947
65
449
451
604
432
783
716
586
657
630
3
421
446
907
367
333
547
350
13
479
254
990
517
407
213
828
39
954
288
184
387
402
269
412
644
657
254
363
574
912
971
559
846
511
67
895
373
914
530
466
177
64
991
476
378
354
696
304
52
984
225
219
124
76
10
763
616
25
694
499
763
667
51
366
29
24
643
618
88
547
18
833
725
412
310
42
885
295
342
23
969
963
713
206
291
590
188
541
601
897
566
691
819
396
696
968
649
791
792
37
858
256
778
203
544
132
106
747
131
974
473
199
461
312
42
449
497
203
121
640
375
846
285
430
401
620
693
290
547
751
611
864
47
109
983
112
411
918
569
144
973
550
798
394
667
486
612
71
784
483
426
58
885
222
956
981
766
977
468
916
794
691
752
755
175
841
785
887
394
626
768
460
120
633
719
986
10
275
491
631
58
781
419
522
483
106
117
370
349
221
344
697
19
357
159
13
318
116
67
303
922
597
837
550
76
452
311
673
141
59
844
122
549
510
433
362
215
573
905
768
38
909
859
768
142
235
778
510
438
431
658
338
56
819
234
949
355
228
578
34
512
945
725
183
785
369
549
599
655
9
338
172
223
821
266
36
710
86
470
180
664
1
836
91
362
129
295
312
279
656
343
569
663
356
836
20
238
69
120
762
703
493
432
589
43
938
521
466
946
684
862
999
611
598
486
524
989
693
790
970
227
214
112
480
737
423
8
611
360
709
391
949
131
529
755
80
100
833
184
573
265
548
642
873
594
429
777
666
354
541
443
949
30
963
420
586
976
948
107
202
399
818
356
911
71
10
219
360
529
39
632
43
311
168
983
818
959
502
121
709
104
120
209
616
226
499
370
159
935
237
353
722
909
539
257
907
351
205
686
573
715
795
434
327
256
831
55
408
478
911
653
449
564
758
154
209
389
461
458
630
497
741
161
568
119
813
537
78
523
927
67
747
919
106
722
294
430
797
886
982
790
290
511
260
616
150
533
772
208
566
496
297
249
428
281
176
562
116
79
624
705
469
120
984
990
371
163
374
363
591
18
440
824
783
783
448
727
312
230
628
885
48
773
188
638
882
670
213
587
731
431
747
473
519
38
6
587
311
145
995
876
425
817
218
741
845
693
487
678
243
937
787
98
692
105
722
752
617
797
271
800
786
942
20
611
741
119
352
286
314
501
107
150
197
558
307
654
285
206
861
728
720
9
764
321
451
984
801
692
667
612
999
987
367
578
103
820
642
395
283
910
46
543
384
630
644
629
630
659
249
971
616
108
357
266
317
979
630
308
277
554
973
380
484
266
273
23
496
231
567
513
364
112
11
112
745
745
637
238
16
550
933
66
157
256
60
534
386
926
493
489
473
934
306
965
776
594
999
654
162
948
997
554
491
758
509
878
554
617
399
52
339
931
737
331
711
294
914
109
165
355
366
182
786
185
871
359
480
54
599
800
227
846
16
495
896
72
713
120
364
59
16
647
678
96
464
350
575
89
97
691
572
584
905
622
940
242
886
587
67
630
897
700
687
881
594
695
538
104
992
429
663
837
251
958
704
103
388
772
770
401
252
189
842
566
487
901
393
611
905
632
463
345
717
743
919
54
966
964
942
580
402
114
212
995
399
306
498
963
586
374
56
574
653
785
14
590
381
919
536
419
72
415
644
109
17
1
555
408
407
11
736
323
475
142
738
228
419
43
469
38
77
284
493
947
271
256
425
805
667
176
145
165
954
357
698
988
37
295
12
330
714
828
924
641
87
922
3
470
245
134
972
612
154
697
977
715
823
349
233
646
65
121
546
948
952
659
156
878
560
473
329
886
977
672
306
542
834
481
693
983
871
976
308
83
340
384
595
105
733
33
267
37
588
339
761
330
183
202
346
131
482
227
924
541
416
789
388
54
579
477
262
273
872
839
128
981
650
374
28
998
12
568
399
6
777
675
257
268
500
583
434
502
550
219
710
448
686
659
936
71
424
554
318
431
291
339
793
341
122
752
874
853
63
923
390
276
91
571
704
529
276
833
729
986
473
547
870
36
827
5
291
464
555
592
305
954
998
609
992
379
247
3
338
193
520
86
342
939
600
667
495
224
212
475
4
761
621
186
256
921
132
483
786
772
843
302
398
770
730
800
96
858
136
63
254
659
508
152
535
176
904
511
678
847
248
116
821
314
524
692
969
658
342
628
942
384
628
63
111
856
669
825
994
536
79
676
315
135
136
684
79
81
31
796
597
473
725
21
631
406
684
843
597
964
223
137
533
129
545
802
352
409
760
452
119
248
294
249
179
511
98
339
512
375
93
753
734
280
727
265
975
327
568
528
984
655
308
815
470
823
346
683
238
731
526
518
480
467
182
324
946
493
183
933
552
535
304
804
78
497
895
295
468
913
284
624
675
709
273
899
134
467
400
788
954
118
792
767
935
21
589
64
316
151
193
497
669
777
42
661
454
858
576
474
431
467
875
336
71
973
312
278
913
462
286
222
890
871
650
353
348
553
918
93
705
587
482
79
683
319
355
947
772
223
335
851
884
903
448
445
840
914
435
604
343
655
744
142
149
92
288
312
64
214
589
667
452
978
456
415
493
645
252
609
261
920
920
598
892
487
711
387
143
33
972
906
312
692
228
748
827
416
192
359
55
954
135
239
910
862
957
284
241
926
235
153
507
471
950
554
793
229
411
494
40
721
880
116
919
596
235
414
812
190
189
364
549
391
432
909
158
464
127
787
97
933
32
167
656
525
494
655
333
867
670
738
718
593
97
868
748
926
352
997
166
223
169
451
343
701
934
255
106
209
354
167
195
355
65
754
997
747
237
285
435
243
637
964
637
69
830
383
804
651
476
411
18
46
328
157
918
999
102
795
800
194
704
117
991
409
524
971
705
413
604
106
865
518
181
400
466
327
953
151
662
2
362
776
359
236
466
245
506
800
743
905
598
270
52
426
912
582
909
848
560
864
35
980
521
64
946
702
397
813
106
344
24
505
656
68
895
376
972
287
597
536
459
991
903
423
564
237
46
217
214
403
869
915
943
370
893
510
983
624
848
138
129
502
594
99
520
831
329
659
366
425
113
440
469
409
108
203
763
961
302
550
608
645
166
170
594
882
367
691
322
366
191
217
266
795
246
48
932
199
407
525
360
664
394
813
418
52
69
800
786
796
970
465
647
630
616
845
796
272
801
740
299
318
173
410
946
721
848
574
54
155
75
342
504
610
899
618
804
596
736
539
488
365
893
771
68
746
793
506
185
382
716
626
266
356
665
239
702
713
864
203
870
340
41
382
766
367
932
217
43
219
956
60
443
39
341
698
594
620
419
733
921
334
7
970
955
114
52
828
821
551
6
995
837
7
748
721
607
491
263
939
52
382
580
226
109
231
696
850
324
57
467
132
603
544
447
630
212
233
441
570
388
434
796
68
347
952
203
596
17
883
392
697
978
404
12
460
455
476
619
769
724
154
263
538
354
713
231
447
851
902
199
884
485
75
833
838
245
740
516
623
15
18
355
326
783
461
646
341
666
221
414
361
209
104
905
369
13
68
692
192
547
734
358
483
417
779
367
810
561
882
944
286
890
60
245
612
361
591
633
273
506
871
174
325
799
981
792
536
761
439
649
279
216
661
630
535
510
215
110
796
808
141
944
397
678
847
960
856
457
636
608
406
81
184
338
566
898
133
455
290
556
753
45
418
62
368
612
735
858
495
524
802
25
629
754
36
553
597
870
795
111
747
245
755
781
195
462
927
817
691
128
736
9
791
268
797
589
868
333
466
816
295
206
518
231
993
143
785
509
481
766
960
566
413
172
117
368
559
812
897
463
880
21
397
929
468
810
232
706
302
466
413
409
951
333
565
21
380
58
720
466
412
929
86
955
37
270
565
847
239
634
608
830
237
194
646
380
913
621
903
412
918
854
827
559
201
347
488
97
375
809
89
660
892
801
647
322
265
570
93
528
796
817
48
217
755
362
599
561
782
981
613
963
538
109
462
674
77
90
931
758
254
114
368
409
983
542
495
47
157
846
726
713
912
952
658
466
973
906
455
492
363
194
987
248
571
771
799
21
155
870
856
226
821
190
402
987
578
938
923
879
626
806
255
78
709
133
806
125
681
49
444
199
614
837
142
641
904
101
649
829
406
560
439
458
765
877
580
487
616
65
558
130
932
329
762
306
520
164
385
68
219
875
759
793
326
831
949
898
520
507
82
808
356
370
728
161
483
620
887
756
124
598
162
381
640
889
934
582
883
544
17
30
544
980
12
427
396
505
402
638
161
123
730
81
508
186
897
756
311
196
132
793
509
110
806
875
977
822
429
685
174
178
441
374
355
826
741
94
153
198
306
541
891
922
616
745
892
306
274
989
128
183
937
102
274
365
723
289
347
93
947
934
917
470
472
270
482
604
962
553
450
99
648
369
458
329
967
750
489
846
126
522
962
195
937
346
539
41
973
505
667
978
762
644
514
290
422
472
962
74
681
638
78
520
954
904
827
477
760
329
405
307
4
251
39
920
936
136
774
437
948
706
455
202
483
31
915
985
624
346
758
119
758
204
436
71
108
347
171
89
84
73
764
425
102
880
473
609
393
206
947
587
613
461
742
989
423
60
209
429
901
917
910
171
299
559
660
147
180
326
931
142
82
578
33
372
560
314
627
705
267
512
188
964
109
756
501
736
990
142
24
329
847
170
211
337
625
782
38
924
75
275
310
337
432
494
775
214
790
901
170
78
915
484
816
605
708
867
335
139
793
714
1
711
428
165
992
613
869
174
437
255
4
942
590
64
953
528
431
604
772
975
573
879
653
232
174
148
516
138
343
135
518
61
743
439
760
634
899
408
992
714
240
595
663
830
227
936
355
342
933
198
384
195
800
8
294
459
490
598
490
160
893
168
337
102
386
474
938
202
727
191
326
307
854
503
755
649
785
465
163
188
842
188
995
920
535
220
933
671
344
667
275
239
70
262
113
604
993
856
951
669
978
995
326
972
441
314
578
502
359
121
23
99
87
15
962
910
832
142
672
766
11
245
606
621
483
165
760
89
153
858
17
984
515
541
262
227
939
81
932
655
413
220
11
486
197
860
611
974
848
466
913
614
620
418
968
586
45
81
199
629
32
976
116
63
378
137
933
917
935
394
566
204
130
808
933
820
322
811
482
414
475
354
513
455
266
0
375
622
164
592
260
474
72
178
887
831
206
607
678
633
424
394
186
229
88
879
567
298
504
833
11
769
665
926
32
916
120
780
230
70
148
62
738
422
793
800
111
806
93
34
618
249
178
768
538
398
88
891
484
6
271
517
490
771
382
124
255
394
276
186
158
77
926
256
634
535
716
70
481
920
841
719
971
725
560
224
117
962
447
184
465
515
374
122
699
454
992
1
640
784
551
913
266
838
490
293
166
547
748
994
251
323
885
51
289
855
312
124
860
798
125
638
317
407
105
596
262
685
85
244
273
17
991
699
141
769
9
406
701
631
749
794
617
473
981
736
181
483
839
161
896
499
36
993
152
99
694
117
498
363
739
731
346
83
314
590
716
908
199
240
83
406
446
696
975
901
661
122
117
198
914
905
239
573
639
728
395
8
115
421
860
375
357
449
776
476
844
638
516
421
357
596
631
592
116
425
566
96
820
537
869
269
897
593
943
403
762
245
837
179
638
866
341
711
876
588
663
407
177
248
179
214
329
683
232
932
149
372
493
861
651
724
59
306
999
455
983
172
170
158
308
593
631
864
517
579
949
971
590
759
788
789
314
881
889
221
724
623
346
913
236
624
480
538
2
693
673
506
221
466
990
158
218
720
30
168
881
255
465
230
316
994
622
152
769
178
333
598
555
631
623
646
903
544
538
649
515
835
180
683
455
759
323
849
187
946
572
13
234
178
493
598
758
72
119
397
556
183
6
414
333
95
851
965
255
177
712
77
301
341
652
98
993
61
383
93
814
260
623
176
669
583
706
354
906
981
827
718
222
946
151
989
844
648
60
811
132
596
727
462
13
882
237
635
818
934
313
881
508
195
486
199
430
271
709
635
500
418
419
81
622
255
697
789
515
744
900
16
730
650
401
90
892
675
787
159
309
645
319
289
368
199
438
443
87
703
181
980
791
297
878
104
639
708
331
558
141
713
77
661
721
693
910
978
799
816
372
73
46
123
172
355
702
547
96
969
111
445
412
488
394
111
505
560
205
212
334
8
502
265
550
430
575
26
603
867
128
425
116
195
612
726
245
601
11
105
431
75
800
730
49
718
143
934
359
14
25
901
293
346
586
50
923
817
175
69
805
912
987
889
320
308
963
284
972
26
737
334
800
49
957
499
692
509
261
89
991
570
243
875
349
866
987
340
762
693
61
743
983
47
418
338
70
628
769
76
270
879
129
682
384
34
119
609
744
262
981
356
295
325
550
917
172
32
137
950
797
542
362
763
277
364
501
611
655
704
836
641
575
363
755
701
141
967
813
886
614
468
717
847
556
21
731
451
873
553
562
526
731
458
746
947
81
136
500
284
837
141
998
96
907
616
946
833
543
186
447
800
411
202
875
699
986
7
38
380
647
551
649
943
854
872
542
468
975
852
636
295
41
811
320
647
638
533
808
714
339
713
691
482
890
788
634
434
243
243
746
126
553
764
962
591
687
686
576
323
232
610
153
272
716
425
215
566
481
362
560
522
292
950
953
240
884
850
353
256
116
21
486
78
65
46
368
284
410
8
39
546
950
56
400
91
236
142
55
385
501
627
853
462
319
290
255
93
601
776
175
557
771
740
37
791
577
815
621
824
742
458
250
561
514
974
261
335
150
315
295
951
541
67
502
26
276
746
462
812
384
954
969
3
500
630
26
673
388
351
130
308
494
735
670
332
245
65
858
35
720
713
938
794
941
775
601
434
494
304
64
637
482
869
74
367
949
846
266
928
397
549
239
327
529
1
708
380
5
722
606
804
840
492
302
811
25
495
347
924
576
680
836
320
341
683
366
782
405
647
850
532
758
233
840
408
612
706
25
213
878
570
426
747
364
473
401
654
706
417
412
186
605
274
238
859
322
387
865
895
946
724
450
387
156
459
430
88
270
662
563
795
822
705
301
338
477
305
504
858
339
60
290
27
706
505
446
265
642
951
680
318
226
219
487
11
80
478
661
718
612
60
682
316
620
578
789
226
545
61
75
7
66
34
945
237
297
556
265
528
642
470
752
4
319
669
171
242
684
413
735
147
693
441
777
614
839
718
918
792
608
989
451
277
674
363
548
30
51
408
623
54
590
81
302
523
524
787
784
338
270
734
637
304
683
679
159
702
368
819
62
315
500
611
656
206
891
12
922
112
267
859
102
157
886
731
304
230
750
765
25
130
897
718
615
284
267
432
540
282
119
219
503
831
914
125
497
648
881
517
136
832
882
667
996
246
216
575
978
121
476
871
650
771
952
616
575
24
60
587
967
258
11
931
991
854
300
704
83
123
849
373
639
699
610
721
604
212
106
208
161
760
402
56
932
346
283
647
641
796
496
651
518
86
368
625
28
579
59
74
718
155
307
593
833
982
286
522
856
493
37
527
969
407
211
474
435
647
484
266
872
338
533
438
570
998
76
343
56
140
452
784
447
58
279
729
747
31
849
309
461
5
762
836
341
851
353
532
917
256
176
292
323
156
213
128
125
8
20
656
221
543
165
472
463
130
279
156
451
1
398
115
143
222
453
569
516
344
207
576
174
796
476
22
589
985
220
654
274
111
125
745
403
732
801
338
449
247
434
200
336
956
774
313
225
921
350
194
709
809
386
960
575
292
727
820
163
579
579
960
171
499
975
832
217
805
634
319
742
305
191
582
384
513
872
160
332
57
546
461
790
966
569
976
919
844
746
350
511
965
5
455
376
531
824
447
751
255
158
988
625
532
260
257
391
799
581
301
417
974
654
397
234
532
758
414
997
635
23
345
788
484
471
916
873
595
15
694
302
400
580
166
807
527
898
691
896
406
909
855
587
525
328
954
326
371
612
784
751
125
924
334
238
169
834
24
538
617
495
33
419
735
166
164
961
734
716
231
81
831
763
19
688
414
285
115
30
533
391
403
851
563
161
890
901
256
603
216
403
32
398
400
152
346
411
87
817
730
206
670
523
408
238
108
946
447
308
631
610
710
345
851
805
756
781
146
800
197
973
235
826
262
507
550
14
335
577
25
298
220
572
744
408
821
838
283
249
160
177
937
434
527
358
745
173
691
466
389
740
559
218
74
123
367
885
602
333
903
552
868
712
259
818
635
670
267
867
500
705
295
640
983
968
300
302
619
983
5
362
674
241
976
188
341
766
555
947
489
226
913
831
844
339
597
653
445
558
889
743
868
274
543
766
553
364
403
41
754
501
829
126
421
662
411
810
394
642
829
496
316
916
215
359
914
698
707
892
768
930
646
380
854
496
679
486
431
948
895
28
980
251
741
747
700
89
591
11
401
605
244
92
147
798
155
922
814
206
283
142
176
218
711
572
483
25
605
989
952
632
612
57
49
755
252
564
529
722
574
95
967
290
450
549
945
720
127
608
964
624
536
194
564
97
615
41
502
391
781
135
154
522
931
886
46
686
109
6
386
87
75
316
297
878
797
312
248
291
144
482
282
31
304
792
880
277
34
8
932
315
881
730
367
431
943
438
97
843
73
507
966
579
563
884
427
299
294
621
805
769
837
853
754
618
126
447
656
87
443
291
941
958
56
84
326
416
412
537
180
950
886
203
488
56
574
100
32
865
536
908
928
425
229
180
545
814
778
640
20
961
771
944
247
12
443
379
130
261
291
585
688
737
546
782
7
535
647
909
902
614
762
752
423
630
362
850
568
887
625
184
532
611
733
847
474
772
834
957
743
954
973
491
114
445
592
587
425
352
87
498
363
140
692
82
513
452
681
40
286
127
867
850
853
934
944
945
646
834
609
378
363
451
281
66
728
909
28
202
908
643
411
545
484
863
101
281
479
29
110
984
786
693
760
462
202
771
259
46
138
318
537
498
896
281
202
264
633
938
51
335
490
25
448
181
396
473
242
175
780
363
41
287
903
556
784
165
257
117
903
478
317
151
67
742
918
142
306
236
595
629
992
594
217
355
192
749
465
713
638
321
83
201
770
394
414
274
948
436
915
808
607
949
274
153
126
716
947
110
912
364
763
989
116
446
624
946
569
32
842
325
154
779
748
610
479
764
50
717
607
622
275
463
29
123
363
804
203
315
944
226
172
913
418
934
159
165
838
621
187
243
108
854
499
980
483
250
913
653
667
781
196
203
735
107
251
505
1
56
241
660
761
323
883
811
103
360
516
552
378
128
641
589
334
140
393
915
968
238
435
370
370
270
891
256
59
910
957
44
504
543
30
700
148
470
44
600
916
58
712
408
992
542
464
328
346
54
723
483
316
174
695
285
280
597
308
509
161
190
895
509
569
367
17
925
883
252
718
461
473
742
586
493
2
924
198
136
151
451
51
130
406
286
448
177
370
918
566
637
481
512
957
262
457
11
708
820
48
483
604
361
611
423
354
925
910
665
908
250
906
511
513
918
931
160
600
275
382
850
628
497
78
299
39
747
461
379
964
821
691
257
522
944
615
579
929
473
983
154
99
506
537
763
12
874
120
494
397
433
170
999
363
920
833
780
581
814
972
350
210
300
495
609
850
608
106
704
28
284
920
969
495
605
494
42
685
893
942
241
398
764
334
611
354
309
328
651
229
91
60
843
706
42
227
695
213
631
452
135
98
408
60
410
438
986
666
452
432
103
847
278
642
982
242
621
643
324
732
276
933
487
805
127
606
137
243
195
766
773
552
682
792
881
709
921
255
693
212
24
748
739
167
469
0
764
109
389
851
706
850
121
896
708
213
968
204
247
443
725
711
386
989
710
179
540
475
409
266
544
682
626
75
147
266
552
733
118
788
475
60
377
662
520
675
611
902
237
732
503
70
506
927
87
594
58
292
776
48
270
992
91
78
457
887
823
607
598
625
474
668
4
589
687
266
477
518
539
803
443
262
298
629
984
842
648
931
735
723
946
459
803
442
937
95
146
708
71
567
111
107
949
393
242
94
336
659
72
636
766
310
587
928
47
53
510
233
714
928
492
648
981
287
74
565
308
992
375
271
747
18
312
539
176
345
501
148
844
312
642
687
229
593
852
387
781
115
59
386
232
652
875
755
989
661
882
314
729
929
769
267
270
329
12
58
674
91
177
332
74
585
767
694
535
71
427
518
242
454
702
424
844
775
351
443
558
9
263
228
124
982
175
82
645
949
841
800
852
334
332
625
18
395
25
30
797
900
66
60
18
228
287
585
877
637
436
868
962
916
932
622
667
772
698
470
404
862
605
973
832
396
169
108
135
844
642
581
581
502
541
921
339
729
885
547
119
795
885
316
997
801
385
222
25
892
681
468
123
943
738
710
241
978
286
82
431
408
218
206
827
520
547
560
631
168
124
760
557
650
616
713
503
784
4
158
411
916
493
582
694
193
483
969
638
593
837
934
798
235
425
115
24
864
945
12
516
451
615
157
328
826
120
623
490
323
296
769
674
150
769
493
637
992
760
972
795
739
385
538
585
625
340
787
885
161
182
408
913
647
375
166
682
12
180
906
611
11
682
393
30
190
708
156
273
275
640
279
124
122
892
729
100
814
237
27
62
153
150
288
165
610
700
809
400
208
684
392
967
774
545
790
9
645
485
18
448
159
869
366
646
492
687
204
662
198
212
911
517
861
413
961
143
602
92
574
523
274
73
221
768
744
169
14
835
289
784
726
439
759
40
545
218
780
138
179
210
655
437
430
512
965
350
582
516
935
911
198
808
857
172
752
38
813
450
756
114
20
685
768
379
894
365
998
335
351
84
563
523
228
129
342
109
804
700
64
776
485
805
475
857
894
103
576
228
706
374
103
169
214
945
511
750
317
942
612
627
341
811
558
313
914
179
717
532
978
225
215
98
992
890
772
328
370
370
547
227
914
372
118
370
592
547
192
309
510
193
341
763
240
425
371
967
493
562
282
785
103
601
537
810
90
921
716
840
6
537
395
184
419
942
690
294
480
909
793
527
919
861
172
527
348
962
135
645
392
664
979
985
301
16
200
682
407
873
454
300
783
343
752
311
874
976
164
25
281
823
323
563
55
865
508
665
662
519
129
856
154
654
814
627
223
395
453
763
797
918
881
649
264
734
215
169
236
436
844
695
760
72
574
296
332
250
21
840
401
701
390
749
828
616
570
481
238
587
995
732
157
606
782
809
53
476
638
754
687
334
642
520
46
625
503
768
824
636
267
226
980
278
11
423
486
639
181
668
319
38
355
349
968
94
808
528
475
374
490
625
882
13
700
538
693
997
811
968
790
740
396
30
630
591
464
333
432
439
111
474
765
259
684
816
736
2
249
395
263
79
848
469
915
487
875
622
64
411
372
154
955
878
374
971
164
447
540
556
313
50
858
30
860
445
378
292
173
643
178
949
433
18
178
202
884
711
960
958
372
5
143
457
265
223
348
309
891
502
247
383
774
62
329
505
942
483
440
116
917
761
69
296
120
298
263
716
810
655
531
938
688
54
763
270
32
926
405
744
800
378
63
93
770
876
849
887
517
665
227
790
605
682
936
491
955
452
848
541
320
321
441
750
53
328
486
508
718
222
643
990
624
931
984
333
631
149
34
913
157
80
68
85
394
158
539
923
81
96
404
418
893
474
433
411
255
199
495
769
415
693
817
603
387
800
523
78
111
966
536
713
932
982
484
228
978
481
150
354
386
508
176
905
931
683
288
113
658
386
75
797
717
998
750
715
995
830
311
547
74
826
87
692
303
889
434
178
671
18
559
984
371
998
330
872
559
995
574
398
184
474
482
783
459
727
373
108
256
580
897
534
627
325
970
186
601
603
298
870
127
908
129
595
568
389
113
20
92
458
496
687
745
315
891
772
678
668
317
488
746
227
482
467
897
940
719
147
435
365
626
184
940
222
603
33
898
361
92
392
635
621
957
967
513
442
271
237
574
687
817
855
735
27
340
71
247
607
646
92
1
242
341
788
790
984
850
435
971
777
78
712
411
588
653
844
694
237
974
969
786
850
542
669
283
704
606
18
703
168
927
319
318
354
239
488
725
417
982
259
168
764
530
5
390
435
739
971
499
249
3
172
969
894
421
749
855
472
754
332
532
402
508
150
205
123
724
940
911
704
851
513
700
803
348
868
567
722
920
134
971
776
549
137
123
701
516
376
645
872
857
562
93
761
507
778
734
442
440
800
246
169
654
762
297
852
418
834
697
451
667
227
594
938
411
108
744
344
563
580
57
527
761
881
64
198
492
292
672
580
253
829
112
775
203
157
692
457
805
180
478
876
747
510
572
751
878
352
431
817
187
119
107
337
54
307
737
192
777
53
501
602
415
160
214
214
74
357
327
819
343
875
260
968
927
568
699
382
642
520
554
361
50
449
485
93
873
594
311
351
109
459
545
468
672
654
123
770
96
489
929
234
324
950
68
71
627
525
710
502
613
230
73
528
756
145
514
499
121
734
26
998
190
867
827
100
960
803
233
886
686
28
451
937
887
219
625
582
548
786
877
174
64
266
39
634
347
729
429
915
660
591
511
137
901
806
289
55
547
7
144
225
160
674
104
662
890
791
644
983
356
283
338
907
341
665
256
412
186
168
462
978
264
508
805
741
237
918
597
803
150
155
249
614
63
59
449
35
554
246
550
987
955
343
412
481
813
299
127
334
799
242
485
526
538
803
226
688
23
277
296
52
980
160
205
302
261
832
520
276
448
912
110
542
386
736
367
737
79
473
58
786
840
481
214
37
167
538
531
579
8
765
895
543
718
241
217
843
925
270
550
632
72
340
755
211
744
947
870
906
770
879
5
213
140
656
752
657
465
806
523
703
315
703
471
0
924
212
94
3
398
303
137
215
484
193
263
144
759
703
377
637
410
784
523
863
761
285
859
758
210
355
287
771
595
130
511
422
464
820
561
957
740
256
240
228
913
71
982
820
441
298
430
50
75
76
350
517
848
285
973
423
596
740
683
67
431
822
556
390
334
637
110
884
26
440
821
78
292
806
508
189
610
879
478
140
289
990
915
171
740
289
385
895
648
714
164
753
51
320
452
309
248
560
622
538
126
860
280
0
404
173
982
937
297
25
125
399
348
240
570
208
97
983
874
917
743
427
459
837
882
853
730
970
325
632
809
797
133
432
147
470
770
606
171
339
27
983
852
985
674
997
133
676
381
43
526
189
267
951
890
178
221
942
277
129
542
199
32
520
214
913
891
53
936
360
301
772
740
79
768
840
95
611
326
137
231
575
114
619
706
188
725
104
118
563
856
253
566
811
249
136
827
986
434
144
631
988
723
801
63
229
560
725
846
630
458
87
585
775
662
183
886
635
62
906
268
867
793
156
360
449
433
535
309
143
770
444
725
236
489
255
848
331
434
588
945
905
317
948
41
330
433
844
903
537
688
433
268
817
16
687
688
811
302
28
484
42
678
327
603
610
886
478
294
558
216
834
522
907
503
336
394
807
998
376
394
108
933
838
825
948
859
17
331
125
500
198
546
179
992
777
384
335
6
487
699
702
484
25
471
69
578
476
383
972
297
720
481
643
697
433
263
814
255
585
841
912
369
273
992
550
996
241
610
211
341
382
3
457
902
408
649
489
278
863
0
14
75
519
735
68
548
574
985
271
630
806
585
777
980
951
919
55
50
732
214
950
176
280
833
645
253
271
97
970
982
970
40
833
117
706
970
367
819
713
19
181
405
711
542
989
734
497
990
965
379
776
875
702
349
193
53
672
703
432
213
383
617
822
670
527
36
417
942
404
334
431
951
973
309
605
835
680
840
457
458
437
117
646
34
385
577
150
422
818
854
532
485
422
584
118
960
616
858
499
450
772
672
690
69
207
30
490
924
506
791
528
42
788
113
82
359
563
806
396
530
125
513
867
95
870
405
802
1
197
509
430
945
437
746
511
638
761
191
425
580
744
248
978
575
467
461
600
579
347
455
611
68
340
54
876
988
351
518
578
914
117
348
287
616
155
239
200
269
726
860
623
512
990
30
928
556
38
320
909
429
567
349
993
216
518
941
467
477
934
102
274
917
160
439
76
18
495
11
554
48
905
958
441
818
403
399
474
950
911
211
468
702
718
195
913
514
254
211
627
374
119
538
410
194
651
485
481
666
291
697
403
876
716
293
839
289
918
52
320
131
370
569
466
184
957
218
131
973
965
309
110
287
861
388
490
950
134
847
909
72
84
360
265
458
6
410
979
613
672
101
51
476
354
775
267
112
772
471
534
441
533
907
873
771
792
803
469
713
93
325
16
121
838
658
162
748
901
489
620
662
945
71
898
585
614
880
385
451
619
683
251
408
18
298
357
557
503
895
913
22
748
55
480
568
503
118
223
174
251
161
861
754
772
919
807
70
827
726
48
614
9
692
890
977
600
567
196
715
97
877
314
969
662
15
490
196
27
986
497
291
651
91
557
775
656
180
240
475
963
228
579
753
885
913
600
183
422
80
801
961
522
460
187
612
908
946
325
730
926
925
724
21
373
61
607
869
806
859
358
331
393
599
178
885
438
467
2
595
943
588
861
387
148
710
192
537
898
658
703
310
95
270
100
667
216
35
272
383
826
458
29
833
507
37
804
649
840
68
70
545
246
340
189
683
257
94
543
22
412
463
360
114
461
656
572
110
726
267
564
46
572
6
33
825
985
552
19
784
510
625
722
450
789
941
824
697
657
134
618
432
137
676
494
375
647
707
558
910
914
296
185
23
264
445
230
46
626
715
944
172
151
502
211
588
68
354
937
68
272
867
281
879
999
111
955
569
375
148
565
437
954
984
5
125
152
52
433
919
297
930
333
241
245
251
880
242
444
373
801
351
656
836
776
871
803
366
500
33
341
785
365
86
413
538
393
828
884
742
252
888
378
299
892
668
683
735
672
936
419
809
15
326
423
547
916
236
580
331
477
978
247
769
980
202
141
621
619
715
151
597
50
939
749
926
909
661
470
596
792
740
652
996
875
610
918
579
461
289
146
157
804
297
532
83
429
670
947
70
512
34
764
242
238
545
67
443
984
517
878
593
37
235
383
750
890
77
300
193
312
379
451
298
201
274
230
403
861
614
756
411
429
285
866
11
726
362
882
218
589
476
875
222
87
438
56
527
684
36
13
780
743
725
935
315
676
860
36
18
627
835
30
847
653
624
398
451
278
450
792
394
428
49
784
143
543
187
41
793
554
910
416
769
515
895
66
699
38
464
581
732
907
177
821
76
142
122
698
130
446
238
892
110
308
748
303
420
565
118
101
545
635
651
934
750
407
114
888
478
442
377
203
352
836
275
527
177
910
528
605
723
501
35
887
587
349
579
724
377
58
102
904
208
246
637
185
142
85
342
311
218
893
261
174
451
450
97
267
553
575
899
563
114
558
537
550
993
474
252
179
802
430
127
885
185
2
367
397
78
245
157
376
402
106
964
811
525
858
60
103
169
781
470
435
567
464
597
557
359
903
437
677
248
889
990
876
40
893
878
485
250
991
369
243
695
427
456
462
386
765
72
317
211
802
411
64
493
827
767
383
840
77
782
324
830
413
729
986
537
177
156
178
132
548
423
300
372
971
180
741
969
862
231
491
855
565
308
866
220
579
372
587
826
675
448
349
388
171
546
562
601
65
13
784
733
814
689
317
127
720
106
467
609
995
973
191
86
786
425
776
514
205
633
412
883
186
132
742
701
485
657
866
391
776
426
909
82
726
521
486
872
282
628
225
235
727
311
996
858
671
308
454
682
750
558
101
889
121
827
626
72
64
925
844
917
32
13
133
129
987
436
654
773
910
754
240
495
207
603
171
509
127
677
234
560
186
669
592
352
63
86
895
13
819
548
5
24
511
90
332
127
540
638
487
555
744
59
20
587
43
659
272
616
785
618
618
818
208
100
283
279
572
207
777
617
507
405
289
57
918
483
396
834
695
56
626
786
189
300
925
444
607
971
640
341
237
600
805
513
742
341
296
685
943
51
560
934
650
685
684
806
588
68
537
586
967
189
774
701
263
523
996
950
844
648
653
397
713
451
668
943
459
865
932
223
451
182
360
215
262
824
611
769
801
636
155
772
403
203
506
923
734
368
381
679
457
410
478
597
354
399
842
989
14
603
175
767
26
441
958
671
560
606
919
857
961
13
48
540
508
952
610
355
497
457
849
427
726
711
712
608
257
180
683
372
729
822
240
183
37
319
255
863
634
422
890
733
525
129
913
256
980
694
803
100
71
763
693
388
766
541
433
2
362
216
597
646
833
540
908
403
685
491
519
778
125
687
766
436
834
371
384
782
560
452
487
198
20
511
769
569
403
693
780
457
132
648
917
89
550
584
938
63
884
660
649
660
604
952
488
242
631
915
991
68
129
133
219
733
202
388
65
220
944
405
94
736
462
136
868
713
522
523
553
713
800
662
52
618
601
632
384
162
771
94
833
189
966
790
93
858
376
646
825
792
799
376
317
977
326
961
820
602
269
477
223
895
117
431
71
816
783
794
738
507
763
940
145
657
94
30
876
365
395
264
322
734
476
942
3
445
137
80
176
195
714
357
6
967
437
239
286
44
701
2
57
279
145
462
669
691
426
795
60
893
280
972
146
454
511
374
92
333
558
565
439
959
929
445
51
592
620
325
130
788
947
674
857
28
646
200
472
467
202
834
425
95
145
306
330
343
23
707
744
975
233
255
752
185
385
740
728
566
251
449
396
793
273
34
255
807
404
791
914
252
577
861
256
61
642
315
62
959
371
370
459
927
216
890
2
160
459
300
261
514
789
683
922
49
341
733
245
673
744
927
798
812
749
58
873
141
330
210
829
413
511
651
920
600
680
24
989
616
263
751
620
236
437
910
710
418
51
821
833
800
523
869
364
814
630
72
140
480
126
320
494
347
388
399
388
177
470
582
265
277
155
80
383
615
828
321
225
99
862
240
153
907
53
821
861
636
400
196
396
464
96
677
692
663
824
381
694
462
974
706
943
245
590
678
63
776
655
878
924
163
292
304
214
854
18
4
129
227
366
866
512
904
182
257
616
688
27
31
700
451
541
744
856
820
382
666
967
509
36
699
503
851
961
656
118
454
512
33
490
341
160
849
215
712
245
687
721
488
12
501
364
755
737
238
411
829
481
393
866
242
213
683
127
797
523
808
861
794
980
810
993
860
611
2
993
497
261
193
394
147
298
471
339
661
85
398
459
965
960
606
220
748
472
426
545
402
209
941
153
402
780
940
392
953
212
726
904
483
452
721
767
387
616
866
126
171
306
399
895
424
939
936
295
163
879
39
272
438
585
688
268
564
658
721
349
287
360
816
201
296
58
22
249
644
103
601
242
320
778
892
458
434
352
902
68
86
380
958
334
611
485
299
385
479
320
587
477
804
291
294
61
156
212
796
37
424
70
940
75
176
186
994
304
437
260
580
107
658
480
744
436
203
441
946
427
642
892
78
561
64
333
666
791
127
469
89
175
186
313
521
331
606
248
260
572
731
353
706
206
846
897
640
204
75
377
40
433
809
917
658
255
919
869
185
84
683
493
778
58
669
635
174
719
622
845
441
633
199
310
331
396
896
540
936
979
135
941
3
238
377
934
356
760
173
321
496
633
893
79
525
990
428
3
379
898
889
845
6
54
171
341
685
27
583
736
658
838
601
811
576
739
933
895
764
126
952
967
147
26
81
990
849
696
683
488
771
414
974
416
95
881
565
477
788
740
549
24
824
188
847
687
571
41
198
38
991
629
853
361
753
34
254
851
801
187
147
629
274
312
663
108
839
946
194
473
616
469
1
790
850
128
196
638
673
34
317
634
647
226
917
785
298
751
909
518
179
156
344
309
576
648
330
262
820
11
265
914
139
36
439
16
634
504
268
953
524
625
707
199
395
150
766
855
456
702
673
864
659
651
348
382
274
814
475
90
869
458
550
146
555
656
951
745
678
717
715
237
16
51
465
734
542
484
273
783
605
754
49
14
685
616
604
356
692
831
484
576
644
922
757
918
386
145
686
430
275
366
813
324
624
11
976
458
521
256
879
164
228
816
959
885
205
667
694
766
566
530
370
841
60
839
868
516
873
337
456
907
250
232
587
597
472
33
767
71
70
595
530
878
190
627
752
892
309
898
573
588
843
861
263
246
153
269
316
246
799
467
81
885
725
225
188
634
93
679
9
923
982
306
284
991
988
771
920
516
263
40
981
162
927
521
34
397
590
10
70
946
340
593
94
965
374
330
570
997
311
609
766
463
725
134
148
178
981
397
966
183
480
654
706
257
460
112
964
469
13
54
71
651
407
698
954
852
91
109
993
518
697
491
463
679
151
954
781
640
153
337
341
26
142
452
207
898
69
209
689
378
617
27
918
238
574
256
474
279
641
668
315
540
975
962
736
305
299
303
810
738
726
280
753
31
992
705
893
798
646
173
729
623
503
105
961
49
964
850
396
528
617
939
54
527
648
153
299
71
225
308
6
919
495
38
930
161
628
175
515
353
865
628
271
352
891
213
950
325
169
410
280
709
360
304
507
580
820
439
595
920
805
155
323
826
911
750
435
665
435
71
702
358
208
696
406
393
60
302
731
540
542
623
494
752
652
67
172
935
16
222
493
753
152
968
181
679
547
719
770
679
122
777
261
335
78
731
284
80
21
874
176
545
147
988
290
506
277
206
624
513
245
857
275
529
706
907
621
270
985
310
106
56
136
335
579
438
254
406
989
292
561
330
37
411
530
165
684
358
752
960
809
259
654
535
452
207
391
521
996
810
724
895
855
224
368
292
121
567
244
57
887
626
166
360
969
494
982
952
703
564
573
226
131
853
592
645
645
488
593
192
523
102
518
516
778
972
244
736
824
35
337
38
943
69
950
153
583
967
552
540
265
481
950
381
970
255
69
445
23
193
83
256
137
927
849
0
590
884
153
34
41
909
309
828
589
371
527
684
910
104
303
463
900
882
877
326
56
542
158
595
667
551
155
681
779
190
417
658
311
169
760
920
361
444
774
27
197
878
240
863
617
258
232
400
574
197
120
450
817
54
499
471
41
607
594
854
176
878
442
459
338
14
181
951
198
332
740
129
701
238
845
613
123
716
812
887
119
100
611
325
881
39
750
951
1
433
83
191
169
2
740
513
65
407
269
478
910
69
652
530
632
53
10
450
881
50
865
244
890
994
769
259
55
437
187
701
837
494
634
536
152
247
737
620
943
464
705
866
426
685
731
590
817
248
787
60
345
388
267
442
956
704
938
402
915
491
713
957
837
636
932
233
600
398
411
887
832
714
728
902
19
784
46
267
598
47
611
556
434
843
602
235
387
651
659
816
387
200
565
217
558
222
843
46
824
489
667
452
340
58
334
552
430
595
760
357
832
306
598
346
355
348
493
748
663
4
354
535
693
146
828
185
532
745
793
884
63
370
580
886
826
685
399
246
625
965
790
225
586
81
315
716
768
366
261
10
426
156
78
475
295
48
220
769
880
744
625
187
992
843
782
827
831
606
348
526
212
280
896
203
520
14
460
765
933
75
520
484
585
64
224
865
154
725
42
788
67
806
898
656
29
397
24
669
804
274
259
276
746
988
697
551
355
577
138
890
117
39
67
899
285
96
967
540
573
156
304
924
17
218
276
898
155
353
240
743
359
303
164
846
755
631
181
705
297
857
535
898
828
701
108
527
451
835
529
56
134
544
835
186
129
558
803
158
230
748
139
74
96
170
276
489
317
430
296
631
971
22
388
880
175
364
829
299
980
284
857
652
148
405
780
237
377
408
471
506
924
593
611
492
981
933
856
387
564
587
299
275
556
966
817
853
807
542
103
483
62
83
787
542
757
968
324
609
686
845
156
255
709
757
166
383
595
231
763
543
529
447
988
60
887
504
82
107
866
262
744
905
401
942
19
746
271
177
293
38
114
520
867
869
82
838
64
425
765
893
922
35
622
454
150
914
428
822
28
634
460
59
629
923
10
229
120
758
575
21
600
110
870
409
394
333
932
98
854
781
33
323
391
203
302
55
846
629
503
588
894
777
149
266
596
853
809
936
114
710
225
236
688
572
284
777
731
744
531
330
25
724
958
664
128
547
101
7
744
573
465
616
376
822
580
486
479
683
405
219
605
901
651
168
236
810
610
95
196
777
441
941
943
443
618
855
826
275
577
443
271
687
656
405
248
864
422
324
135
436
622
615
285
513
504
400
601
99
81
265
15
469
352
40
683
129
472
750
722
607
587
360
983
694
942
301
376
425
45
622
968
515
407
968
450
981
737
190
741
556
342
928
322
213
565
658
102
249
965
588
646
112
211
461
792
390
918
805
767
749
620
224
442
130
406
209
245
252
396
473
709
354
128
617
26
393
3
203
395
177
267
641
969
364
558
384
321
925
851
227
662
629
879
281
93
792
473
226
95
879
870
560
78
601
864
875
484
395
533
442
875
348
265
376
480
553
565
36
82
830
478
821
415
570
421
421
526
242
917
280
137
414
544
804
715
499
166
563
577
335
848
141
481
659
763
459
420
464
51
827
171
1
932
794
970
998
989
171
61
622
819
58
242
341
449
202
887
551
243
119
373
940
569
930
328
376
959
318
216
19
543
513
95
225
810
651
950
306
567
852
260
594
936
672
130
827
435
195
636
406
138
110
639
888
851
446
530
155
503
40
218
257
641
879
475
256
223
721
186
782
690
469
305
664
331
685
287
561
42
466
50
256
582
431
158
474
977
834
465
723
801
901
81
200
71
686
979
613
960
107
679
365
280
336
810
839
801
240
21
302
901
276
18
733
730
137
487
467
540
638
401
988
727
276
743
866
427
789
775
142
74
862
488
435
424
198
921
53
116
568
252
327
112
988
78
399
674
192
537
355
578
270
887
161
986
528
408
146
26
51
763
342
609
209
177
839
266
733
137
817
196
436
5
4
598
838
767
618
260
423
667
229
173
748
314
343
212
288
352
178
154
357
87
370
243
324
845
217
15
903
990
29
867
180
735
237
886
9
540
58
536
675
24
900
309
617
733
255
542
722
259
25
102
211
303
558
407
686
567
984
866
794
522
460
718
840
676
592
195
453
430
859
48
819
923
909
985
183
863
79
232
899
558
541
698
218
357
347
958
842
475
115
697
998
136
642
734
141
541
475
840
331
92
578
785
324
147
385
844
623
800
915
605
237
335
868
942
765
587
403
379
198
90
230
510
478
914
253
68
616
13
305
85
109
930
12
376
227
133
279
262
783
40
455
517
40
408
95
396
534
936
732
668
237
601
586
72
117
772
747
308
919
533
34
997
623
605
592
537
520
93
259
213
471
200
506
748
406
271
177
935
687
743
733
844
628
543
21
608
520
9
671
278
595
838
310
691
541
866
218
609
301
199
155
331
982
688
170
647
744
209
176
832
314
374
493
765
717
738
821
283
663
690
8
251
934
743
229
780
627
181
963
784
75
25
305
898
982
215
162
830
903
738
509
319
250
217
899
196
378
372
107
831
241
780
645
264
277
803
64
764
889
553
296
950
277
176
13
989
321
335
305
551
371
555
154
979
891
373
467
360
113
438
141
103
270
392
97
885
698
542
561
984
31
226
431
897
945
2
516
470
115
722
620
878
256
932
268
995
215
362
406
660
300
22
820
998
321
926
296
988
533
994
355
807
583
662
13
39
474
538
955
269
848
90
154
293
143
655
44
456
588
790
576
347
941
428
985
852
631
584
977
744
694
591
66
985
158
1
576
940
562
718
354
521
216
355
282
205
351
303
441
42
685
261
0
477
665
680
448
512
457
789
35
694
556
738
814
747
700
702
317
59
690
488
755
955
255
534
154
295
47
161
5
805
907
64
272
257
375
449
461
752
515
41
920
90
908
358
940
835
374
280
664
327
892
326
570
868
885
567
449
186
420
990
322
591
703
380
923
746
400
634
56
528
53
598
460
419
392
703
133
770
556
965
342
468
829
485
598
840
816
388
748
452
815
443
298
246
246
389
542
519
587
277
64
138
924
78
323
544
286
587
393
539
569
459
342
714
477
554
48
297
31
464
301
915
134
34
829
680
18
349
582
500
795
314
453
963
681
327
492
880
182
689
800
198
663
162
314
105
183
331
438
25
591
842
479
645
87
245
826
133
451
932
362
129
234
368
998
241
17
2
614
195
516
684
622
317
519
53
353
751
722
228
820
14
874
705
752
298
781
398
876
787
229
667
782
293
985
306
834
588
326
702
819
901
443
628
274
54
670
384
282
996
491
16
75
912
736
620
750
441
324
995
728
671
58
706
95
97
111
612
698
382
469
137
986
336
336
923
866
916
929
641
572
380
775
28
992
769
795
351
844
37
15
707
502
238
809
336
5
576
440
439
221
498
540
744
570
669
599
591
364
396
390
978
773
94
916
150
252
879
569
588
828
134
658
679
217
247
969
371
317
740
579
710
22
109
629
969
100
927
853
796
810
901
806
313
501
568
530
926
114
339
143
361
366
998
613
274
95
841
207
732
783
169
528
541
542
95
202
328
540
843
578
70
127
83
698
278
127
736
968
670
588
632
891
766
290
549
314
422
688
615
364
739
40
385
922
534
246
479
649
234
395
550
677
624
258
879
75
670
814
830
583
787
912
167
960
705
781
104
354
349
794
845
437
942
706
446
261
559
86
885
170
784
196
361
500
533
251
95
999
326
31
485
164
512
161
196
928
380
503
313
828
17
607
848
866
127
202
98
206
382
497
538
964
231
304
914
534
903
177
593
954
838
434
612
342
828
245
234
479
445
15
972
787
163
257
888
862
975
594
726
785
463
929
714
792
317
497
145
130
194
801
848
764
279
934
620
357
534
531
736
567
552
216
684
724
282
61
24
917
939
468
848
368
584
881
581
986
382
778
390
65
167
630
483
146
491
705
790
0
64
588
866
431
715
526
58
280
668
756
579
742
368
210
2
397
14
490
719
496
628
693
980
840
297
867
904
304
234
933
5
317
390
53
830
147
651
690
778
9
789
427
6
949
268
434
623
866
334
879
349
865
841
374
976
59
250
202
290
245
305
705
107
443
384
545
565
701
325
272
277
466
779
65
282
431
974
11
51
788
101
477
17
515
134
333
714
34
487
427
281
64
377
8
765
866
535
8
433
869
214
770
872
376
555
33
233
269
450
931
431
382
17
576
805
167
825
766
774
451
145
9
88
812
381
417
58
596
933
605
513
36
76
376
853
162
45
50
346
260
303
778
813
659
258
995
209
632
995
828
839
219
999
328
851
935
401
666
397
368
640
351
864
846
61
754
287
590
8
152
19
702
537
74
866
647
682
161
252
801
916
868
340
244
862
96
109
407
351
249
469
719
138
95
829
776
485
853
31
845
451
535
857
639
443
59
702
775
536
979
808
475
777
869
417
808
848
867
692
595
285
454
559
500
117
667
652
863
20
710
370
414
565
852
598
886
305
835
804
838
793
422
863
580
809
195
963
218
658
756
531
711
415
707
66
406
228
277
391
466
811
883
898
393
132
499
172
573
852
89
309
710
755
157
20
553
370
920
124
85
126
177
446
671
63
794
115
462
648
737
974
433
922
171
281
390
965
465
94
694
980
253
822
628
62
253
580
844
317
660
260
91
60
999
54
556
945
74
770
117
656
942
321
956
743
82
946
313
640
867
191
172
248
813
920
134
278
358
89
854
493
960
929
955
144
494
496
944
210
95
808
484
361
370
321
159
371
14
833
328
85
558
841
96
117
610
118
437
957
773
417
376
660
508
972
361
261
649
104
846
19
580
910
447
587
113
76
423
137
269
426
686
816
466
93
470
771
619
159
897
247
245
333
718
580
646
533
621
888
687
155
951
428
155
133
158
454
912
35
314
740
285
662
124
856
130
480
763
559
381
909
501
156
999
698
784
429
343
293
168
989
78
22
816
195
574
963
597
160
164
252
685
935
970
123
93
95
258
436
436
372
592
12
255
477
162
940
565
741
668
444
569
13
309
450
502
145
940
379
341
991
94
188
392
799
773
60
686
925
704
439
982
122
388
342
229
877
39
994
365
544
489
780
575
102
201
644
472
923
235
681
123
730
107
245
737
398
95
645
694
125
785
450
470
726
284
241
850
768
499
229
71
753
66
844
995
349
580
325
495
502
856
230
836
755
229
418
964
170
233
768
529
35
714
659
9
543
811
675
263
108
92
116
723
138
87
832
496
714
408
10
684
275
199
80
1
616
432
886
81
872
48
262
481
349
126
649
789
414
323
467
562
517
563
591
202
921
337
24
994
538
946
165
795
65
540
925
191
647
312
912
958
106
84
453
911
609
409
344
670
96
900
815
549
50
213
792
633
446
134
380
390
790
108
901
834
533
795
660
838
597
373
6
542
187
242
556
193
514
827
689
971
946
671
533
388
766
976
206
864
911
512
73
596
421
469
982
664
318
869
193
954
914
112
915
877
792
688
949
950
231
352
707
770
381
104
918
408
74
127
97
704
337
764
669
998
161
304
832
90
963
463
903
201
118
199
429
682
975
292
275
597
225
366
748
882
779
449
482
574
546
937
335
765
94
928
346
884
495
582
401
950
447
715
770
782
693
311
358
932
188
344
282
525
601
2
10
607
993
68
830
430
136
564
318
967
697
577
325
766
437
581
891
981
289
982
946
112
114
603
930
512
424
290
839
439
231
590
266
804
619
798
395
848
38
455
537
410
70
881
90
451
376
128
125
2
709
213
166
69
288
719
594
684
301
984
215
100
132
415
554
562
548
867
671
307
836
406
712
138
394
40
563
605
701
54
393
952
470
13
672
613
54
892
712
383
258
553
418
310
829
695
930
709
655
539
662
252
633
629
761
845
781
670
246
387
52
766
225
587
140
905
52
433
234
804
895
519
958
45
171
874
643
554
800
528
507
656
892
103
768
165
727
144
874
628
818
496
64
13
364
927
478
780
554
33
755
840
229
69
411
864
860
881
782
557
532
715
662
170
429
180
843
898
384
11
113
783
58
597
698
392
66
557
588
241
351
95
420
669
602
916
586
225
857
332
279
357
252
346
140
595
749
458
101
729
958
572
224
324
846
278
424
897
526
577
572
529
345
870
608
966
688
282
223
467
677
420
656
417
404
906
787
596
730
807
519
540
142
555
273
760
50
847
954
504
611
833
309
632
96
600
652
704
414
775
28
765
607
343
276
520
519
446
824
331
3
818
608
887
326
759
556
355
116
866
149
819
950
29
119
766
670
603
757
413
751
100
41
861
263
182
375
746
692
224
83
357
157
588
407
835
794
68
625
521
538
348
912
485
156
958
17
574
886
120
419
312
13
226
239
742
164
679
777
539
439
738
816
239
993
625
136
49
454
494
195
789
121
955
428
762
392
955
837
587
904
859
835
578
632
773
34
425
317
341
699
384
777
255
725
558
553
274
776
427
875
717
318
182
548
988
154
873
502
127
584
863
828
346
102
698
483
254
23
992
704
597
69
265
483
249
114
689
818
490
691
658
606
902
213
970
225
558
258
950
743
456
235
979
788
884
392
686
160
908
925
56
209
932
103
164
385
196
339
390
57
556
735
430
683
932
328
158
329
783
750
901
435
271
915
600
204
771
535
624
582
780
853
154
209
745
96
66
601
169
851
30
385
720
393
521
780
662
109
482
224
216
53
260
835
720
606
380
569
203
754
56
820
707
722
789
173
422
340
529
158
921
716
504
714
207
979
581
608
457
219
114
871
673
156
311
974
264
232
555
640
3
694
575
641
62
252
610
190
50
305
415
913
287
979
75
390
608
949
246
309
837
580
320
178
38
290
932
208
598
790
821
57
670
148
479
144
250
381
692
94
176
510
56
567
438
727
820
658
377
551
363
182
206
129
315
445
121
91
340
578
156
320
728
287
713
847
384
876
788
80
162
239
291
158
792
514
381
352
136
427
988
764
951
69
102
598
668
130
621
352
925
39
669
59
672
183
277
699
425
289
229
759
223
817
374
476
661
706
65
101
594
905
936
786
572
786
741
982
908
221
903
241
94
239
959
838
796
601
941
395
146
814
523
737
110
341
729
562
344
94
368
874
881
555
261
87
801
858
670
28
172
736
59
665
181
222
882
472
420
255
551
50
728
307
190
787
205
987
264
409
552
992
565
221
972
308
210
195
391
306
962
189
960
911
584
481
64
497
280
953
760
305
701
132
286
673
923
118
612
744
199
757
852
634
323
580
660
716
262
825
910
861
482
302
520
522
989
963
259
194
643
962
90
653
396
839
720
164
171
969
349
153
71
585
185
931
883
918
973
233
957
385
809
675
420
102
216
662
680
59
270
760
436
700
862
784
71
898
253
352
694
596
57
874
578
813
324
102
81
380
667
489
503
910
421
181
90
857
63
245
475
656
127
163
916
284
747
102
27
957
871
284
985
402
874
946
894
289
292
609
355
516
256
430
350
762
99
966
768
678
473
478
507
35
874
206
362
287
809
622
143
533
597
530
958
689
473
867
151
702
839
997
815
287
231
899
335
451
815
885
509
674
696
796
657
522
534
122
363
1
326
264
318
207
431
975
320
746
855
109
402
543
887
325
172
409
680
597
610
935
119
233
246
738
764
768
742
71
7
269
968
42
614
314
90
790
795
403
521
459
369
679
830
518
184
847
553
214
790
12
332
411
759
107
133
373
534
884
979
420
410
106
915
906
885
89
32
200
871
251
941
142
138
761
983
221
867
602
785
553
461
613
890
671
381
989
991
666
897
458
642
86
963
815
513
566
196
626
963
412
8
65
412
553
5
314
946
761
490
642
124
135
879
37
683
321
589
943
929
500
623
522
71
177
206
76
917
39
528
344
185
914
741
268
301
412
179
60
701
699
507
438
895
753
323
429
604
0
691
268
279
731
270
678
802
631
722
191
790
430
147
504
40
874
998
568
74
464
723
660
376
655
812
50
158
10
436
770
985
509
967
934
354
749
389
293
430
158
647
655
966
569
828
831
215
506
500
995
141
666
503
785
612
63
116
65
932
172
170
543
240
132
110
502
994
196
188
586
329
929
909
161
337
451
625
449
971
350
24
948
314
812
277
117
830
648
639
900
892
322
750
210
85
401
186
507
855
217
92
471
713
505
704
313
21
651
27
338
234
657
500
577
120
983
433
859
772
728
571
540
725
176
603
892
566
121
612
541
237
79
616
548
435
736
357
636
527
402
804
549
710
216
481
897
362
748
648
620
726
98
970
698
250
326
156
323
924
854
733
451
793
349
38
220
625
988
757
767
692
367
111
620
995
580
474
820
636
40
535
166
155
957
122
836
821
974
565
196
683
134
301
137
441
157
403
350
649
821
267
112
829
356
909
76
269
814
88
287
806
877
479
841
347
652
286
678
659
786
46
207
980
980
432
520
465
589
230
894
542
611
460
971
831
882
555
221
702
515
781
345
331
683
275
557
313
851
739
152
127
274
192
409
993
547
209
422
802
771
284
900
594
782
621
559
306
490
274
569
76
836
407
776
218
405
172
765
134
360
32
654
367
542
708
692
318
224
606
184
239
20
243
126
753
393
440
520
165
797
147
419
844
698
580
681
901
174
573
743
701
482
476
55
715
711
423
618
253
551
775
550
311
893
861
948
333
74
329
826
934
323
708
329
386
416
184
428
942
969
281
399
201
364
991
115
212
307
753
207
542
266
896
921
816
505
438
107
670
296
727
421
436
250
120
192
118
959
208
449
348
537
387
85
455
49
452
780
155
369
968
135
708
225
294
204
576
615
876
543
304
663
963
119
473
278
316
160
580
284
490
517
586
709
303
893
809
472
463
472
972
533
705
628
304
531
694
660
54
264
762
353
819
514
308
853
127
422
756
606
391
25
717
679
856
658
750
638
791
561
835
215
373
613
795
935
957
584
262
258
166
209
498
392
78
523
86
759
637
187
870
435
944
188
180
255
499
187
137
269
864
60
934
102
743
488
107
711
615
724
795
339
837
4
832
386
979
601
550
9
340
246
602
837
923
649
442
78
359
187
59
358
182
429
819
54
658
406
195
398
935
493
642
185
947
802
188
242
922
765
513
50
733
557
109
566
186
213
533
684
621
781
595
284
146
449
36
728
856
99
618
901
680
510
228
504
972
505
496
502
694
174
557
539
912
172
628
841
117
321
406
681
512
393
605
231
183
986
153
65
839
781
497
641
972
351
133
467
413
443
707
397
743
309
524
119
261
842
810
974
117
679
958
545
183
319
129
879
217
729
0
362
523
139
196
55
809
664
852
758
269
483
822
982
342
768
773
186
516
905
747
236
643
766
917
270
143
85
585
525
797
123
899
288
192
929
211
219
812
560
41
32
755
259
310
762
997
618
738
859
428
151
246
31
663
676
899
421
502
514
691
44
128
23
255
233
151
858
808
461
171
47
242
115
739
414
762
366
623
438
777
325
114
103
297
209
834
964
460
338
987
261
196
819
724
493
910
925
548
768
687
709
492
441
327
856
264
179
496
780
397
972
272
200
424
504
814
300
932
464
504
16
274
944
338
119
982
465
696
201
560
332
728
390
608
132
50
448
459
687
736
375
451
318
636
830
632
881
647
234
41
781
871
71
108
920
342
479
7
745
602
801
371
545
568
651
319
564
905
942
554
505
658
580
37
289
935
449
412
906
867
437
667
804
37
143
185
286
405
353
189
878
96
487
834
768
62
249
876
247
676
876
870
121
105
889
300
602
624
138
89
767
225
621
189
746
751
703
752
263
107
257
559
779
303
976
406
592
577
679
879
874
465
341
287
86
639
696
940
316
230
374
440
880
183
480
521
38
293
695
159
284
234
557
271
798
709
503
559
242
262
109
199
863
660
723
15
2
248
268
715
767
354
532
494
590
839
10
691
260
800
5
662
703
720
471
900
505
402
377
633
438
781
163
753
279
187
23
927
801
21
535
745
98
558
819
74
593
83
241
33
721
335
373
117
66
877
809
817
858
443
732
19
816
970
690
970
676
472
250
163
981
527
77
174
820
535
259
620
690
191
461
39
547
116
615
172
745
489
240
632
71
219
375
188
652
568
906
587
26
353
400
982
219
179
369
880
52
709
911
86
725
822
549
495
991
917
679
911
842
424
898
539
663
796
281
883
865
25
209
737
900
526
953
528
637
325
797
378
570
925
331
303
835
406
29
40
73
642
311
690
986
251
696
577
162
672
580
702
54
30
444
464
660
890
460
723
661
395
675
532
322
943
218
226
807
389
387
858
852
575
929
622
866
262
71
59
50
553
833
990
578
686
450
122
556
383
250
926
366
37
422
590
169
543
752
420
549
223
165
762
964
555
555
249
588
682
2
529
848
296
478
520
337
775
302
366
643
874
514
288
889
167
342
476
297
295
626
475
394
696
797
185
92
363
253
256
774
398
360
563
157
819
864
579
662
208
163
318
105
401
944
63
34
541
275
278
629
183
681
50
162
810
983
337
621
164
822
348
330
411
666
317
618
492
867
495
606
44
491
386
674
822
610
77
393
123
57
678
686
830
527
68
193
710
669
947
751
575
316
273
185
619
352
75
397
560
626
45
500
894
907
659
775
735
464
357
740
396
844
377
962
945
325
324
36
43
827
952
184
293
44
167
319
564
7
636
943
477
866
616
370
500
375
841
447
767
624
940
242
671
295
302
626
39
877
532
727
648
261
44
490
597
938
284
795
939
499
517
967
711
865
831
86
403
717
476
499
495
294
823
377
242
166
45
519
98
184
124
964
801
188
280
894
289
477
768
921
582
14
501
842
79
151
222
756
699
230
539
100
852
301
178
249
474
516
1
697
608
812
859
78
293
46
533
369
402
680
722
748
39
813
569
581
544
115
452
193
211
533
387
692
220
333
561
993
617
116
523
455
902
665
703
916
273
679
571
655
857
616
475
512
798
567
161
932
762
687
45
62
599
696
277
45
735
435
354
796
197
232
970
830
156
710
559
574
41
586
666
555
109
681
771
840
227
808
576
670
19
114
699
511
885
68
375
717
276
998
534
706
419
652
868
496
387
980
422
936
675
472
847
754
641
348
636
506
255
111
491
471
454
284
670
212
452
431
230
694
78
157
908
883
475
75
988
532
271
383
835
821
84
281
941
843
294
441
533
987
23
937
546
25
424
856
982
922
32
196
884
286
804
374
342
303
818
403
255
112
216
923
233
165
9
623
431
842
237
491
406
516
810
887
717
128
681
858
751
976
789
90
745
922
148
645
305
633
290
339
912
602
805
839
650
283
652
820
515
759
95
284
802
323
309
483
83
235
666
686
670
446
521
938
594
860
884
970
4
98
63
827
621
257
680
384
283
742
988
592
696
936
856
171
907
739
624
709
213
684
157
637
267
850
128
47
784
57
325
795
982
821
892
710
284
169
298
280
173
282
377
641
773
94
922
76
871
794
234
232
608
612
171
432
424
245
713
207
701
492
402
320
472
821
730
730
343
525
402
823
689
717
663
538
221
752
314
102
831
991
364
676
769
451
5
954
163
106
705
715
490
12
151
357
222
965
170
225
901
224
314
432
178
657
430
710
57
98
294
853
97
478
674
367
5
582
5
76
171
959
518
204
823
316
183
667
120
302
711
188
496
846
634
978
786
621
770
173
799
924
146
857
935
569
851
366
56
469
852
107
750
466
749
176
696
729
327
281
707
99
580
922
813
132
673
493
49
89
632
334
910
963
528
321
215
479
701
216
254
530
810
702
309
264
701
999
209
714
740
894
809
708
364
339
339
472
895
996
636
987
684
787
212
991
561
767
971
387
107
277
225
56
91
242
846
439
669
916
607
816
608
227
542
432
773
960
174
538
394
614
364
598
318
642
878
989
303
327
343
421
672
382
331
973
260
226
518
383
784
662
210
557
159
869
239
588
935
43
211
318
63
802
457
532
678
212
332
960
396
61
128
829
747
305
957
850
322
457
446
298
76
750
440
123
993
358
800
568
120
177
880
346
681
871
478
43
556
823
196
292
12
158
396
200
868
227
828
898
258
153
464
149
353
572
572
145
972
283
840
380
414
635
866
712
691
518
752
365
294
315
644
47
881
174
771
266
147
845
362
535
58
111
331
891
900
185
469
431
741
983
78
530
587
271
298
669
273
490
33
540
749
218
614
147
615
174
356
762
875
572
833
300
931
430
352
933
666
653
216
602
350
420
565
546
592
416
597
557
916
365
885
920
553
302
418
226
973
886
653
513
355
997
345
819
535
476
541
639
30
777
896
203
672
259
899
448
298
296
742
206
11
97
908
760
735
740
16
751
674
935
884
309
543
935
848
20
409
413
637
102
677
713
923
725
487
803
557
327
967
300
419
779
535
192
614
279
537
71
459
965
867
776
898
775
458
674
102
672
180
153
491
508
538
566
115
119
559
699
19
792
791
727
245
201
887
475
598
42
805
788
165
460
791
345
484
744
985
410
266
76
295
436
103
94
622
287
874
484
732
123
0
29
712
212
884
445
255
189
541
275
510
309
327
128
46
577
439
332
622
448
785
185
787
899
563
715
15
392
539
527
225
685
423
973
730
977
541
213
472
243
141
905
595
196
731
181
152
280
954
89
547
906
784
839
263
842
141
240
676
156
20
477
762
972
127
497
51
796
96
540
308
996
963
54
804
878
280
265
916
570
431
206
88
262
50
184
198
531
697
773
591
282
212
72
692
757
463
329
598
723
308
769
859
156
773
516
795
127
805
950
522
845
180
697
667
7
976
185
841
832
429
732
650
301
18
638
252
297
411
27
666
94
769
125
415
709
974
351
650
288
96
915
881
878
227
175
977
664
846
583
643
363
61
139
35
733
630
185
604
751
266
84
124
662
182
607
838
966
951
611
270
383
739
178
194
308
11
892
755
958
521
78
210
680
323
340
414
152
464
631
338
105
34
753
738
776
455
327
184
610
800
708
639
494
882
752
482
614
653
93
189
741
256
800
61
860
679
453
556
3
881
221
876
597
706
675
242
19
87
879
263
167
131
326
310
964
116
867
371
674
124
857
236
176
984
638
483
399
757
225
497
263
533
72
953
223
197
757
942
452
616
676
331
158
820
49
232
64
674
971
423
339
534
206
130
991
694
408
409
213
599
743
584
688
594
902
885
26
450
993
601
46
947
476
311
979
185
149
427
834
518
204
786
820
246
845
292
30
745
346
29
151
524
298
282
973
220
54
785
18
94
859
381
748
916
923
518
557
609
947
449
524
375
178
932
183
542
663
480
774
676
184
611
603
568
434
112
969
663
269
775
241
499
20
772
48
118
250
544
72
595
221
39
953
365
590
537
266
124
704
857
902
845
564
580
239
278
446
844
76
218
330
142
540
10
581
255
799
43
334
300
173
82
865
487
13
750
76
477
90
718
707
449
612
370
815
289
948
481
455
627
497
738
202
652
42
101
143
826
433
945
921
500
181
337
601
471
304
608
315
916
567
742
124
987
741
887
331
92
323
406
505
798
238
129
312
448
279
897
516
451
592
835
987
616
384
46
36
868
733
714
128
754
911
838
917
310
432
170
414
478
654
826
633
671
364
553
597
201
791
800
216
832
558
404
730
199
240
823
121
913
145
936
133
280
714
957
557
732
228
615
400
331
595
935
442
695
793
562
947
195
799
210
568
235
289
43
872
646
237
632
279
632
912
635
4
997
85
699
152
765
273
172
353
252
220
100
199
511
909
56
615
466
284
413
920
304
929
516
497
118
609
59
933
248
993
845
849
868
841
822
305
712
235
953
98
798
942
633
785
833
349
815
3
882
819
250
717
131
703
549
608
757
735
273
198
479
690
30
236
465
504
865
292
421
531
595
282
372
798
204
470
10
889
859
980
23
527
737
668
433
64
214
809
535
761
707
791
779
203
34
798
85
24
425
84
115
164
656
104
984
556
845
711
400
379
468
564
378
884
839
979
253
518
569
963
966
250
74
798
421
343
251
56
683
768
345
567
889
574
598
259
663
207
49
719
821
527
382
767
97
942
883
666
10
437
887
477
187
669
159
716
226
501
630
8
645
898
311
9
784
486
538
539
660
155
135
514
172
861
631
563
189
649
937
416
493
403
940
540
952
367
463
197
733
154
425
524
708
688
571
967
310
151
520
456
370
811
584
67
586
254
707
42
557
374
45
760
69
885
297
860
36
239
140
937
954
946
340
115
709
984
48
341
209
203
890
438
580
301
665
490
340
0
736
100
818
520
547
872
545
422
910
470
783
912
512
661
646
867
475
752
169
838
352
150
566
241
63
103
88
814
441
160
945
965
569
840
662
276
467
942
53
663
584
763
866
154
345
400
434
150
986
814
677
806
33
123
846
134
264
664
900
28
734
15
801
266
307
57
997
630
598
140
763
226
300
929
210
438
429
845
712
103
980
878
213
978
998
913
750
519
16
399
560
84
160
302
843
361
731
99
462
34
382
635
739
627
559
662
520
484
152
898
93
908
927
575
830
912
802
358
314
215
130
83
407
152
422
311
698
651
540
726
838
135
780
8
316
922
14
695
286
453
528
955
686
661
706
73
899
520
621
157
402
442
787
342
865
738
116
687
438
21
204
752
230
996
42
790
861
741
6
397
148
286
575
542
700
595
223
176
988
908
568
916
588
749
110
472
695
579
625
80
837
917
199
461
88
141
884
291
357
918
57
118
978
536
926
166
288
576
585
195
246
707
986
980
475
374
321
724
825
480
414
699
84
965
615
581
561
351
372
517
452
619
917
900
45
58
473
207
297
333
685
793
652
416
552
159
842
688
214
183
94
373
1
624
246
550
887
750
881
464
369
585
623
996
983
84
372
900
107
989
864
967
30
414
247
480
534
53
911
59
387
635
878
568
455
520
50
928
589
307
550
951
529
90
975
328
642
931
600
563
886
170
347
476
646
305
935
372
577
998
445
216
846
171
628
842
629
357
891
858
366
268
862
322
462
601
479
908
417
393
162
916
524
376
924
141
139
278
489
706
463
739
76
651
790
718
668
133
693
218
213
258
170
486
794
64
386
808
93
988
707
342
489
780
820
767
71
794
399
601
188
6
913
77
337
282
694
343
230
310
517
159
496
361
628
554
78
952
553
457
298
67
796
408
982
791
474
170
261
971
123
766
30
626
232
288
81
942
192
509
420
207
23
357
802
669
403
445
476
72
913
554
773
296
580
49
214
908
621
163
428
932
239
2
108
283
473
13
825
123
636
417
810
580
715
830
441
214
421
204
246
680
113
782
155
5
677
468
831
672
263
174
217
936
810
974
721
320
131
60
797
424
380
875
673
465
384
512
554
173
465
81
118
417
785
600
448
63
444
403
474
474
380
127
104
152
799
42
477
893
884
737
565
707
211
974
369
910
369
843
761
315
331
48
441
636
84
283
725
287
764
835
385
426
499
105
440
500
282
163
12
149
321
348
850
725
632
28
118
867
447
474
106
342
787
229
47
983
641
870
440
948
986
836
926
418
582
276
509
461
448
48
524
207
405
319
209
582
35
770
312
58
246
801
577
744
679
729
749
787
184
263
71
949
400
685
382
97
476
500
33
875
916
885
510
744
441
967
849
359
234
918
816
267
904
308
648
495
918
926
629
977
421
81
948
853
533
833
748
300
326
518
576
547
710
31
671
267
295
498
852
242
686
833
821
256
594
369
365
305
361
189
470
823
592
1
314
469
694
408
74
900
55
270
132
429
995
122
510
539
38
30
306
301
292
84
235
188
238
590
175
447
782
970
263
111
793
882
386
239
845
474
0
231
343
301
641
438
426
732
484
136
436
540
350
877
539
840
171
80
867
412
793
915
841
690
143
991
773
925
378
992
785
658
911
661
537
488
813
473
465
648
895
809
309
665
626
166
416
68
603
720
466
809
279
829
856
483
821
392
609
959
173
723
774
367
393
76
846
927
660
719
514
710
743
909
206
150
369
197
567
983
460
596
399
970
15
73
991
542
457
186
282
20
868
324
472
837
496
642
170
349
471
457
712
265
595
248
6
225
143
342
296
73
716
321
374
363
879
798
585
983
15
514
118
443
503
363
678
64
516
479
523
399
821
541
427
183
219
422
230
397
3
174
323
395
576
442
995
128
227
126
922
818
122
603
857
928
698
890
685
60
857
822
288
993
861
468
195
649
893
954
125
809
422
625
118
462
221
144
163
583
674
541
805
414
607
242
325
315
351
549
99
826
369
95
487
399
457
264
357
703
10
312
289
165
278
595
923
817
47
967
538
495
261
840
94
395
936
153
385
304
571
448
75
295
62
62
881
896
296
696
822
955
125
263
455
328
747
34
555
136
540
110
470
268
601
614
684
369
888
860
782
53
827
308
829
811
150
807
657
17
179
622
41
280
477
366
620
461
720
70
800
604
396
912
18
142
120
153
256
255
993
614
106
782
282
990
589
990
830
14
625
346
89
38
311
78
621
109
657
576
20
867
266
62
650
827
895
521
383
595
151
245
247
776
162
426
705
800
989
394
560
177
830
989
813
641
114
172
143
739
414
146
417
850
264
469
859
373
7
84
939
821
405
524
484
220
0
493
947
495
192
900
496
190
322
921
498
777
400
589
867
852
548
717
550
524
103
827
843
207
135
760
615
643
510
196
97
377
320
827
120
890
625
90
226
93
775
473
232
582
755
937
538
56
284
424
953
769
283
387
262
608
63
588
964
564
954
308
998
977
789
576
316
322
546
893
108
707
895
310
378
349
234
717
636
610
82
951
808
324
136
397
318
687
209
168
27
558
718
518
322
301
623
345
608
926
161
724
136
261
528
258
822
560
704
65
715
565
227
632
931
470
67
478
867
856
205
148
879
816
517
246
468
30
108
959
410
271
680
915
262
552
13
827
366
851
899
415
422
689
740
378
128
202
857
247
336
494
5
219
793
149
430
216
945
808
812
416
905
248
61
376
7
658
20
183
13
632
177
677
688
558
132
926
191
400
370
781
775
284
891
849
191
400
789
270
891
825
260
116
609
503
784
134
954
265
65
695
158
271
12
379
301
720
254
956
870
221
760
84
427
707
485
984
777
490
917
393
521
420
716
848
779
765
636
281
484
772
664
209
211
15
569
333
209
414
989
312
83
816
394
355
967
699
682
870
691
104
579
153
313
147
760
50
869
77
550
921
362
976
700
186
940
911
970
948
200
450
881
167
295
872
225
289
26
371
909
374
44
910
525
964
487
321
650
497
765
410
89
74
562
839
280
75
939
934
466
964
435
55
173
392
94
193
646
87
708
841
158
687
888
975
699
810
567
700
943
577
781
88
615
49
711
386
55
243
636
964
897
471
817
759
933
866
60
695
94
304
93
77
239
144
845
225
696
136
856
38
274
187
787
750
831
70
272
931
704
524
289
615
174
758
311
70
404
818
367
405
412
163
638
72
861
581
288
365
224
569
847
73
854
762
841
697
577
746
33
170
582
206
373
163
925
547
0
345
221
296
627
771
413
844
485
572
310
253
875
322
159
979
806
42
2
826
471
987
775
854
626
479
514
942
624
30
738
621
579
479
329
320
77
318
130
581
115
495
648
714
522
791
482
442
954
226
656
878
194
771
70
311
750
828
744
821
718
825
804
28
590
539
435
547
781
62
72
82
191
285
477
480
795
900
412
755
180
185
512
546
110
144
514
27
307
595
188
942
30
872
626
336
121
54
948
451
505
479
498
401
251
691
870
639
104
570
350
52
893
894
335
110
462
572
69
726
371
186
837
22
901
92
65
850
691
458
421
887
558
702
222
881
575
611
292
67
411
313
644
132
151
785
65
911
193
784
216
195
734
281
324
364
694
920
722
80
843
979
65
366
77
906
385
361
436
546
251
690
298
146
706
567
332
338
883
53
632
130
943
846
498
203
662
443
196
79
991
730
533
701
51
340
797
396
689
836
503
867
929
240
278
144
880
362
808
181
820
516
690
435
504
326
671
95
24
834
345
400
628
595
504
875
121
184
93
380
803
645
884
144
343
986
409
135
416
887
870
496
791
663
397
487
144
920
625
380
607
962
115
722
330
5
710
404
914
182
0
918
746
366
842
958
725
96
250
682
431
47
931
661
981
59
927
596
518
135
446
425
685
176
842
174
830
99
973
316
197
829
656
734
609
667
805
237
206
634
888
227
653
401
869
304
620
254
716
475
298
505
883
243
334
91
207
242
98
676
704
698
127
722
845
456
861
919
754
965
268
475
666
396
217
163
75
588
45
682
886
680
859
537
983
363
923
117
525
910
128
241
404
98
589
838
860
866
568
229
752
204
94
181
694
397
483
680
489
748
346
826
19
347
991
228
205
128
225
449
355
429
229
531
896
119
952
290
529
195
823
556
264
212
737
140
310
860
682
527
857
591
709
893
416
593
585
270
760
603
738
530
294
411
181
235
356
384
619
5
329
800
718
370
617
497
503
435
124
958
769
917
593
428
32
728
78
228
166
93
799
110
524
788
405
904
629
968
626
349
49
928
509
995
800
363
809
305
619
854
373
857
892
54
432
643
221
287
836
562
328
281
650
424
316
478
611
398
728
581
270
949
273
889
751
321
236
196
144
170
404
529
261
291
392
106
170
772
968
411
339
142
485
888
117
703
780
268
413
900
36
248
239
600
459
19
44
123
770
270
320
620
632
851
924
488
508
835
324
6
54
773
703
556
576
228
181
246
860
615
498
326
896
855
993
299
639
264
813
880
112
600
86
697
716
420
944
217
97
178
923
111
124
949
718
290
758
81
53
877
322
96
683
105
592
134
946
145
355
38
14
876
60
114
653
697
131
246
550
311
867
93
712
987
573
985
953
496
954
926
502
324
299
359
902
0
188
486
849
698
208
194
11
381
242
799
569
819
344
778
327
626
867
193
465
456
701
479
755
109
584
793
408
451
5
671
737
435
485
863
17
531
560
270
130
215
138
528
549
632
826
331
977
342
735
503
383
94
628
716
280
878
793
32
27
263
280
911
955
433
673
233
409
412
436
477
118
405
141
344
271
234
630
119
477
417
131
736
947
148
239
433
309
547
218
560
759
797
261
977
898
337
932
740
326
919
373
244
533
652
92
655
390
609
615
170
359
80
770
902
442
827
545
545
743
371
459
914
671
450
676
527
822
979
120
262
357
845
173
464
752
779
829
377
260
577
260
699
177
390
793
118
364
304
723
608
831
959
284
845
854
966
510
199
458
574
800
967
349
882
281
674
29
939
646
60
736
780
695
762
187
650
644
678
732
607
422
786
325
724
951
865
942
86
739
83
401
850
935
814
612
119
701
589
265
691
638
300
909
253
895
149
206
407
672
324
720
304
883
244
114
345
342
974
326
690
196
367
856
314
498
206
23
832
131
293
718
514
167
79
128
87
644
463
367
408
785
590
306
343
719
828
472
763
127
775
602
35
204
542
128
790
941
268
406
68
695
915
430
934
711
239
32
43
769
966
966
687
144
992
953
664
19
800
910
75
500
86
871
755
634
469
735
250
91
736
896
559
311
951
739
996
971
96
55
74
840
0
700
446
165
247
141
516
875
219
475
159
188
936
130
198
775
731
976
510
168
500
799
971
532
937
768
311
47
169
266
94
647
163
610
321
997
587
777
517
169
760
322
655
374
18
388
490
625
554
799
997
675
655
852
614
542
738
54
754
48
972
585
663
906
875
782
738
19
52
798
40
225
83
141
456
78
725
520
988
333
899
781
874
812
207
74
900
655
598
841
551
976
375
498
152
927
188
390
148
245
706
880
223
365
697
703
552
602
591
374
662
799
795
723
571
641
560
799
53
202
807
940
895
211
955
84
56
701
620
935
708
61
500
18
796
494
324
285
546
569
824
61
684
307
595
530
988
817
325
342
337
572
806
951
548
490
193
362
31
242
289
771
976
92
121
923
746
792
453
131
863
372
293
925
670
974
44
290
479
399
32
722
314
321
705
266
887
591
937
97
736
249
245
48
660
219
958
513
571
372
401
14
808
82
916
732
22
566
231
618
103
51
382
517
733
490
434
373
964
691
309
449
787
688
51
975
183
10
583
211
996
127
773
136
994
956
282
343
279
623
653
439
409
583
309
684
736
370
156
829
923
34
616
104
150
642
528
662
333
144
747
193
65
594
957
473
197
149
153
968
656
160
605
164
358
758
124
130
841
866
475
629
424
306
709
814
781
341
896
460
648
437
313
1
615
799
743
697
641
683
425
217
955
579
654
499
875
146
808
222
206
467
510
229
214
763
479
556
17
885
413
200
1
737
358
17
642
550
119
159
129
661
787
170
869
743
877
535
720
351
292
549
109
399
331
893
720
587
441
163
947
40
417
508
433
856
391
14
21
424
816
57
916
249
400
149
769
520
978
242
471
906
834
779
218
90
729
970
130
529
947
381
677
782
611
942
790
585
847
357
667
52
907
503
654
373
205
527
356
986
463
20
330
706
330
640
37
263
429
134
6
462
619
473
408
397
554
367
502
595
764
246
191
502
117
260
521
939
48
737
146
391
570
325
366
639
298
799
692
587
393
226
825
897
835
664
983
932
679
537
32
349
720
988
997
94
541
593
413
583
929
21
93
866
238
357
57
961
766
162
451
633
368
36
802
117
408
692
196
515
46
488
146
967
563
230
160
723
778
680
645
171
436
351
859
109
112
667
446
921
64
865
633
838
38
973
668
137
760
879
270
643
572
361
728
603
579
192
385
262
637
40
486
444
779
282
692
998
641
410
866
806
646
84
618
600
298
617
93
18
999
946
779
750
219
719
700
931
373
239
376
252
992
919
41
790
744
821
802
728
923
369
402
788
113
295
482
438
696
14
250
843
898
445
324
77
96
156
950
927
704
96
629
523
19
288
675
805
591
697
249
89
308
821
574
327
743
782
891
235
437
542
962
766
561
404
114
990
762
952
60
568
929
119
521
372
94
968
857
57
165
588
368
560
189
725
320
226
211
994
816
676
854
122
52
115
802
50
982
142
6
955
347
806
787
173
489
483
808
965
431
812
767
968
494
757
61
62
571
804
997
365
380
648
437
880
25
891
680
930
202
119
470
476
464
33
571
714
540
52
272
508
271
89
975
184
353
64
834
759
854
74
682
335
463
586
959
529
86
41
142
611
773
159
422
258
471
613
327
93
53
308
761
658
176
885
696
85
19
40
908
583
321
962
558
479
879
30
749
555
12
373
418
411
750
886
574
103
995
890
289
373
14
740
867
996
685
239
361
542
237
403
876
675
254
55
83
87
796
93
559
598
31
65
521
641
690
740
374
222
695
708
418
23
724
75
669
531
759
487
931
242
486
406
442
381
892
496
981
14
627
437
124
754
100
385
794
824
779
995
276
601
162
219
197
561
435
204
916
79
751
137
381
142
949
91
240
50
653
31
553
453
79
795
962
535
582
205
146
237
233
682
403
840
890
176
565
337
427
303
473
293
483
713
765
748
285
810
833
70
652
383
269
618
957
825
15
924
356
309
615
969
92
604
277
584
437
572
167
138
741
84
101
541
145
165
957
203
362
279
884
654
925
490
445
453
581
781
773
169
482
89
893
308
290
359
625
872
238
755
950
457
119
197
277
241
541
15
794
509
62
508
827
393
740
43
674
96
9
478
507
555
877
361
577
70
529
29
173
582
691
676
340
304
343
898
474
241
415
562
599
228
634
341
271
424
226
451
872
613
376
193
573
817
338
838
232
660
371
609
731
737
928
843
624
990
782
628
529
587
417
827
713
805
154
726
545
836
725
363
247
980
207
635
808
828
215
69
241
130
439
155
354
618
829
527
998
925
430
826
513
946
152
343
558
404
515
560
178
542
491
546
236
162
106
567
153
290
859
144
889
735
590
36
789
793
685
208
607
735
169
168
615
195
976
865
303
301
458
114
784
250
7
574
420
317
0
105
534
984
889
312
622
745
849
198
925
81
142
438
826
479
419
93
648
587
572
889
630
181
744
999
432
212
958
800
361
681
555
465
947
404
562
456
840
317
659
746
582
935
25
912
48
678
454
876
504
662
277
773
625
510
208
535
603
989
909
937
571
387
734
827
615
420
623
234
997
427
791
287
90
853
673
952
656
869
757
964
986
981
221
650
866
261
904
255
661
179
213
152
804
444
84
770
431
792
869
627
68
411
86
235
577
152
706
256
442
699
349
247
914
873
439
950
747
767
992
316
644
632
619
934
561
831
436
488
724
213
341
306
794
160
519
736
864
956
581
585
351
588
368
298
692
977
321
69
115
902
681
996
920
898
708
426
225
331
991
374
784
783
139
14
123
603
340
981
369
364
197
854
580
213
979
749
506
879
604
286
878
747
601
252
858
253
902
760
353
380
856
689
383
64
258
108
757
751
146
654
750
444
552
549
961
373
312
357
624
11
712
686
764
810
705
882
12
481
942
907
131
599
899
668
770
191
408
72
404
723
84
261
58
862
114
931
345
706
182
208
455
159
217
501
490
993
496
156
364
338
835
683
3
353
894
333
565
49
862
85
247
707
5
241
687
653
378
231
390
444
428
695
925
937
996
683
939
221
63
191
913
954
990
311
785
217
731
857
229
988
222
91
405
454
278
89
506
668
826
790
744
453
818
789
361
147
208
388
180
556
401
499
125
917
370
625
697
112
554
289
708
82
691
673
211
49
150
786
322
639
154
664
613
945
962
421
959
665
120
390
69
833
438
508
461
232
332
223
720
392
520
637
779
714
720
475
935
625
916
128
626
97
578
526
336
324
831
10
823
629
762
130
475
843
984
249
352
727
951
773
746
982
378
237
846
737
327
263
707
531
741
200
730
790
230
311
594
940
821
33
295
812
453
603
695
216
544
921
543
173
475
119
475
315
700
387
359
58
785
219
64
10
689
87
117
628
439
56
851
539
907
820
782
429
310
153
59
414
529
708
311
229
617
60
900
266
73
976
156
983
355
441
317
80
594
950
581
932
471
520
393
82
488
132
726
557
844
266
7
611
876
213
823
140
925
837
96
572
94
275
24
229
351
327
796
681
374
311
954
315
656
530
602
678
998
961
913
371
104
91
957
131
480
981
394
699
313
828
203
558
123
301
426
697
860
777
680
14
500
383
753
162
474
616
63
433
578
526
723
668
48
233
568
200
168
93
377
592
791
959
354
602
931
861
424
485
746
286
349
6
672
265
47
657
142
275
544
217
234
728
448
173
674
408
208
775
141
252
568
391
220
581
113
636
874
90
577
970
238
785
810
626
214
786
570
236
295
499
606
576
388
240
882
373
549
856
755
644
485
688
975
541
555
262
462
207
172
204
838
994
261
293
390
200
948
368
971
435
644
605
525
992
70
462
101
927
986
655
406
483
110
401
234
322
300
967
233
188
399
682
888
187
318
649
515
744
703
557
135
82
566
697
484
636
954
286
688
806
121
50
370
101
757
413
319
91
231
189
900
263
732
198
933
162
48
516
201
362
41
106
295
916
29
227
198
304
738
321
636
966
63
723
36
916
39
687
659
235
116
995
542
796
557
106
237
582
387
627
356
173
963
661
455
825
168
24
364
491
170
244
41
654
21
699
196
790
897
257
57
969
456
842
112
168
522
42
570
776
706
136
529
333
114
746
477
209
46
250
978
846
216
330
167
187
314
354
177
125
480
361
906
415
955
795
404
846
843
287
990
850
534
196
677
739
767
649
775
101
181
332
466
731
989
122
257
872
569
215
558
125
315
858
29
464
520
699
917
121
721
950
156
99
135
812
3
541
15
453
891
689
200
361
173
49
478
997
175
610
896
763
246
96
896
972
365
633
280
393
282
319
501
458
466
317
260
93
969
720
163
10
145
186
949
669
659
552
959
87
425
213
763
34
102
720
40
659
352
507
953
85
880
630
908
963
408
752
417
713
583
276
640
907
479
487
993
453
779
165
25
449
251
507
294
770
282
503
432
829
879
616
339
880
86
977
273
147
267
632
88
95
248
356
589
900
393
472
460
459
494
417
422
536
625
964
296
550
215
673
557
621
874
563
112
938
618
373
266
649
349
944
993
450
117
193
417
76
125
884
267
359
513
845
240
509
998
540
215
29
133
845
858
884
514
257
806
455
461
246
4
516
382
343
165
598
231
615
32
206
251
777
717
7
661
515
67
601
251
193
356
743
294
406
53
105
534
760
570
798
618
448
852
689
468
199
374
384
135
621
426
317
647
426
25
678
132
634
833
333
984
17
73
752
58
236
971
232
272
441
490
638
370
754
725
145
278
102
700
132
203
336
32
851
897
707
720
685
480
91
274
973
330
579
204
693
964
866
475
918
959
86
540
239
679
216
518
912
367
964
583
544
960
849
276
681
60
181
926
176
740
313
287
90
994
341
854
456
189
301
331
906
440
928
115
173
395
433
949
839
581
105
869
177
986
860
458
432
124
916
431
963
394
188
243
843
123
450
967
846
440
947
162
425
65
144
604
987
397
658
433
509
988
849
190
414
611
13
168
851
128
100
389
720
148
26
944
274
60
439
414
443
90
436
257
462
589
758
658
670
332
827
689
417
17
527
1
968
235
712
419
739
21
427
387
427
298
683
654
364
893
575
987
757
264
101
16
566
322
18
167
923
185
770
538
175
304
364
512
839
285
25
54
226
95
120
606
494
932
344
178
392
729
60
746
814
621
728
812
790
305
197
925
455
55
386
564
979
141
789
663
737
722
448
768
339
777
984
751
961
494
746
251
612
817
144
519
2
6
560
178
953
755
690
903
83
913
629
832
345
230
712
687
251
901
500
433
772
944
205
930
6
526
536
532
39
893
648
913
123
366
152
624
560
798
839
792
807
617
511
517
668
459
53
272
612
755
29
602
756
560
693
996
516
220
570
783
757
0
9
810
795
442
754
100
783
496
119
903
806
676
792
879
348
226
562
843
415
303
337
992
549
74
964
573
236
331
260
443
428
888
672
807
620
376
526
313
413
156
847
338
903
251
390
859
334
193
993
413
682
941
580
991
167
962
551
663
612
301
344
585
34
249
100
459
136
957
912
173
815
697
801
559
186
847
25
747
844
663
361
407
372
850
827
832
465
967
641
754
883
243
132
225
781
781
503
880
593
412
649
943
924
972
320
891
861
708
213
934
54
404
360
464
857
639
220
391
907
823
510
414
244
492
746
418
894
983
333
109
52
693
121
38
890
666
323
831
48
369
976
7
268
645
360
530
583
460
41
206
282
802
179
280
851
785
303
160
600
897
635
639
645
374
875
199
809
130
893
988
279
739
662
501
580
976
642
988
243
615
994
525
765
145
911
778
798
285
102
135
514
250
508
373
474
966
720
249
486
306
25
114
844
233
894
765
924
730
716
775
992
388
399
85
377
528
369
802
164
847
29
642
116
521
454
911
172
505
980
118
97
199
794
909
472
553
894
174
350
64
264
38
213
602
137
358
893
282
765
628
133
858
7
562
161
527
239
735
607
556
136
26
370
347
903
601
409
120
299
84
314
883
139
174
413
227
21
811
364
374
774
861
787
906
968
29
113
787
806
5
453
16
530
38
403
269
540
623
220
526
302
452
86
515
413
867
288
166
613
995
483
665
220
973
584
364
478
871
831
107
323
566
101
873
829
155
346
977
199
776
865
616
723
361
302
760
301
165
886
9
38
349
177
22
751
98
237
711
542
66
191
492
299
511
727
498
364
303
137
689
880
946
68
105
530
932
730
760
896
55
450
849
419
831
638
166
807
655
657
720
913
323
331
314
546
384
572
651
243
357
105
27
597
152
855
813
156
97
36
89
344
165
395
574
811
237
240
265
719
353
1
318
754
441
188
371
79
536
222
902
778
599
135
361
574
143
479
845
96
508
287
512
633
706
555
348
754
443
949
906
47
460
586
607
655
267
458
755
119
684
637
392
976
738
411
743
1
435
472
279
520
113
202
11
634
53
352
133
912
631
855
386
475
578
641
612
97
476
281
958
638
42
559
151
555
431
927
341
293
464
656
886
184
660
732
106
588
344
331
853
743
9
796
757
527
378
381
786
789
158
733
633
122
788
397
930
434
405
957
618
392
377
75
742
521
480
87
876
169
217
422
330
392
889
681
905
880
291
905
328
907
890
975
860
674
163
424
115
557
330
787
207
564
203
376
623
223
936
855
413
711
268
762
620
507
246
326
263
817
212
625
845
76
828
462
430
273
28
671
302
169
661
100
715
130
627
534
653
494
95
445
161
369
637
869
685
874
48
642
323
888
972
666
686
693
266
287
503
737
706
220
303
541
713
131
329
590
59
743
909
216
930
122
474
702
455
945
279
360
107
41
384
628
555
434
649
611
975
440
111
861
283
628
491
850
472
859
600
346
971
605
681
892
295
980
55
513
62
730
252
987
35
193
980
28
804
556
253
382
488
855
796
690
6
235
459
220
303
872
422
904
671
231
189
47
78
56
744
607
92
484
840
851
560
303
986
931
61
935
953
578
971
367
578
419
739
817
460
680
352
919
21
462
410
17
533
48
550
907
195
599
563
926
308
183
801
687
7
715
922
417
930
165
64
771
660
251
652
528
885
822
938
582
132
77
213
299
933
721
714
592
918
227
665
98
723
737
218
550
774
882
897
584
143
751
607
26
470
338
403
834
946
296
303
511
465
465
600
14
370
936
743
234
320
624
920
136
799
156
870
929
842
775
336
20
218
768
487
608
300
70
633
475
334
455
352
65
214
470
882
802
639
853
246
814
831
768
800
844
224
586
103
938
965
869
990
798
923
518
378
39
365
468
940
892
936
165
217
148
823
767
4
894
268
709
656
690
457
792
894
589
30
976
180
790
312
478
876
124
198
719
457
19
794
227
687
679
238
195
721
997
934
996
718
789
296
871
704
811
438
789
867
795
693
224
484
799
907
573
218
691
636
647
77
921
24
629
537
543
426
108
170
713
401
462
361
382
78
804
223
207
852
536
785
205
885
342
370
538
476
184
723
221
555
898
351
12
355
468
268
358
460
432
437
958
966
401
207
618
970
331
488
774
957
917
854
108
336
728
41
574
107
448
471
917
345
356
136
804
952
218
258
308
243
553
651
730
412
412
584
373
121
975
522
379
881
368
24
586
906
717
462
2
244
283
825
856
390
968
72
137
153
824
875
28
955
421
323
175
816
435
316
618
812
175
402
315
677
548
579
917
742
45
725
760
335
8
2
775
917
887
283
424
538
769
554
77
538
808
212
495
685
210
842
58
394
419
10
899
220
465
915
784
234
43
527
518
32
223
763
21
638
443
68
270
205
85
630
370
659
294
826
198
285
381
979
736
601
65
428
255
704
630
956
792
195
560
544
741
595
383
757
982
318
748
643
221
891
683
815
653
518
912
313
628
60
983
629
282
960
562
462
312
597
826
125
309
846
150
372
519
638
84
612
366
389
771
421
842
888
897
369
782
17
832
293
792
256
193
509
407
113
740
622
757
411
41
139
612
127
678
208
708
560
439
559
614
434
636
49
742
781
888
137
618
261
727
890
708
859
146
218
955
777
670
693
535
373
451
957
179
425
60
964
300
738
472
65
856
431
541
972
900
400
951
699
979
536
703
218
947
178
139
561
440
311
928
360
636
52
274
1
716
352
868
72
226
280
725
872
354
68
76
151
169
384
977
431
671
261
118
176
964
71
179
803
794
52
184
687
151
430
826
466
764
947
658
684
570
439
119
624
438
893
724
483
420
481
671
204
48
438
518
236
609
612
455
161
74
216
355
789
645
392
979
297
999
634
58
129
739
314
613
416
368
639
265
221
885
676
8
581
403
818
366
759
683
889
475
12
198
605
155
788
574
583
422
373
270
712
208
351
696
760
598
989
693
486
67
475
120
985
746
924
747
651
58
787
544
853
804
427
412
410
557
862
965
804
439
104
951
107
269
201
893
365
380
241
891
296
146
773
438
598
809
725
661
842
166
374
236
542
622
513
451
458
32
504
748
344
429
357
205
70
370
481
296
369
589
656
347
683
5
918
624
956
303
57
459
686
548
358
587
594
515
734
657
908
451
507
889
662
336
61
498
523
613
776
263
137
981
116
252
902
580
44
933
497
736
649
902
971
86
161
770
909
787
782
947
526
754
72
809
322
576
985
756
620
718
257
583
294
980
662
366
199
831
310
842
752
826
885
47
804
849
26
947
667
196
34
508
832
196
57
52
710
885
268
344
946
16
184
28
172
354
723
21
959
333
547
876
386
462
196
363
974
400
183
634
720
111
767
561
816
811
498
15
344
298
310
554
369
436
337
716
580
33
374
570
916
329
38
665
87
755
673
326
365
261
798
749
782
47
901
522
331
731
140
708
801
35
0
346
241
262
994
236
690
626
1
178
902
928
629
876
548
733
668
445
900
880
18
814
776
880
458
278
59
367
177
85
35
375
834
649
679
779
642
88
916
864
712
926
513
246
586
1
796
686
90
425
383
196
714
212
708
971
568
21
567
20
849
142
507
900
831
266
248
525
525
262
896
363
319
630
73
705
749
349
855
496
659
195
499
370
4
263
324
39
999
197
502
317
410
393
125
266
302
403
277
5
222
351
443
161
0
751
90
787
431
715
989
833
279
171
953
612
949
754
610
385
330
448
723
994
903
751
338
539
649
408
764
249
459
901
626
71
145
569
422
0
582
630
259
402
422
838
753
98
830
201
545
626
649
364
78
318
895
120
60
981
39
920
616
282
339
643
566
464
711
981
362
244
642
824
260
338
452
201
717
38
398
684
503
333
209
941
450
75
577
507
793
795
834
924
693
215
352
128
869
942
999
822
255
678
98
946
518
49
122
454
247
111
523
614
470
213
250
127
765
700
92
705
366
499
124
920
59
94
687
213
317
748
10
349
604
243
850
829
211
9
849
699
966
574
644
502
680
957
947
789
36
102
364
723
704
673
451
589
61
982
668
857
850
750
189
188
7
275
312
13
801
337
803
457
710
345
982
107
137
476
260
870
397
582
118
962
854
218
640
434
444
649
443
898
590
85
178
820
398
612
63
705
174
397
755
594
4
465
188
782
953
663
276
54
144
154
734
223
334
945
293
332
213
470
737
291
339
411
835
635
834
608
52
965
699
728
393
127
656
963
197
743
817
440
792
214
342
967
497
989
144
491
361
275
628
100
806
982
322
484
380
789
736
811
137
499
381
422
377
832
587
516
223
860
404
276
974
174
164
117
399
824
833
885
958
541
495
730
778
254
411
716
254
570
257
91
100
254
297
803
531
469
33
894
142
997
788
403
262
523
742
294
878
80
529
356
888
492
563
943
399
921
896
168
916
252
510
271
807
490
76
372
72
614
997
695
87
965
910
502
791
830
616
885
331
964
791
417
401
893
581
288
299
596
598
899
461
625
324
831
554
159
574
411
141
567
641
465
467
33
293
863
192
934
366
848
730
411
48
225
745
700
918
241
669
81
732
379
404
870
494
854
471
988
91
229
896
311
258
721
974
680
697
156
920
485
577
437
970
188
340
868
782
439
597
898
572
236
298
186
658
289
153
854
621
816
787
46
180
795
58
492
345
8
476
227
706
779
631
529
506
911
750
817
753
527
602
72
366
686
54
121
562
236
219
676
822
4
655
918
891
450
592
891
700
441
803
72
683
881
859
84
628
145
415
264
849
203
429
288
474
402
301
421
345
434
469
170
268
402
335
888
18
62
616
159
428
738
850
400
956
810
118
969
765
356
606
606
445
953
936
482
983
605
986
133
745
568
318
489
574
839
211
713
460
886
800
383
507
212
908
671
765
43
794
965
106
467
323
183
310
886
482
253
321
217
431
495
434
418
419
252
455
720
143
15
777
968
97
884
126
799
933
411
440
307
722
435
23
10
141
552
749
211
445
856
316
411
368
347
329
447
993
891
502
537
996
65
686
314
340
480
933
773
877
922
952
230
87
826
928
192
745
432
698
51
498
868
787
186
127
330
838
642
780
193
688
53
262
604
400
727
590
76
289
254
365
673
376
631
424
466
330
192
387
756
460
866
256
620
91
343
957
990
872
413
950
631
648
142
355
199
818
338
633
31
980
421
927
727
809
983
119
684
871
979
826
273
613
785
307
637
403
873
969
954
589
418
332
918
53
759
676
495
795
515
10
564
56
495
29
121
750
522
35
848
129
615
984
113
543
198
46
433
902
811
835
875
116
350
512
728
363
878
605
958
215
459
473
711
714
543
80
244
556
264
544
698
175
438
836
431
479
719
320
271
798
338
108
174
841
254
88
539
979
110
262
497
126
382
947
150
801
505
210
914
353
829
641
195
69
714
880
559
970
917
288
512
360
434
629
117
958
216
639
343
781
140
662
406
921
678
433
681
870
883
323
703
229
594
606
866
799
165
226
228
601
592
357
406
372
16
128
254
404
452
385
644
471
172
158
85
917
924
635
240
851
931
372
58
797
330
825
148
850
343
956
173
829
371
202
894
939
64
367
275
934
449
649
987
66
295
952
307
220
341
128
580
927
756
224
340
990
147
190
547
550
335
847
178
959
293
823
818
694
366
632
468
199
634
813
816
177
764
243
60
926
852
163
202
705
20
927
643
316
389
12
393
419
900
107
611
27
798
287
527
178
143
110
576
378
768
130
788
10
644
946
707
647
718
22
888
672
362
753
543
156
312
714
563
329
236
849
872
927
806
573
620
437
763
354
488
132
968
443
975
925
20
7
858
397
18
947
130
815
981
797
293
851
458
304
601
457
610
865
270
52
300
246
512
412
883
340
410
391
428
637
64
422
175
601
77
756
201
890
88
887
450
875
906
475
109
88
816
50
787
12
565
667
210
369
547
380
43
788
921
833
381
37
926
516
2
632
786
261
2
912
188
229
119
10
614
775
11
94
271
905
717
132
786
381
239
25
66
126
33
95
792
331
690
492
673
445
626
995
66
462
483
817
40
339
947
622
671
767
198
503
713
204
24
46
70
483
875
678
417
881
410
731
914
559
304
652
718
690
226
824
603
472
130
360
932
675
288
309
970
925
77
493
979
980
398
333
508
794
654
657
579
636
750
503
153
251
134
242
994
579
786
388
984
513
260
781
418
931
210
978
579
745
924
197
111
423
97
290
435
573
440
800
181
434
799
140
324
173
517
901
912
129
95
553
1
503
398
36
529
37
751
855
583
770
127
510
200
883
676
306
239
895
177
197
615
256
0
613
602
661
599
520
958
406
296
943
564
956
591
241
573
435
894
726
656
464
770
938
398
349
769
210
774
935
223
803
936
524
377
725
567
674
132
648
210
862
35
537
288
642
331
933
651
884
978
586
283
960
119
697
574
57
969
593
644
55
444
147
961
799
65
126
682
467
307
42
861
639
44
277
98
630
406
189
708
729
598
585
663
501
208
280
333
369
546
549
615
784
222
767
170
997
415
367
882
171
188
238
693
305
877
429
267
764
147
740
887
574
739
366
255
68
153
871
373
455
155
15
259
716
957
414
558
779
204
12
614
270
589
980
105
981
202
728
168
509
129
341
841
111
970
232
534
605
938
218
308
188
89
706
423
900
484
309
932
331
796
510
330
345
715
342
17
760
904
460
298
801
815
947
196
832
914
632
443
922
873
628
212
745
464
566
434
177
269
597
656
562
558
413
521
573
615
920
569
814
284
913
633
394
313
847
904
469
102
768
260
837
794
178
13
668
447
467
51
185
97
822
836
337
547
266
554
984
465
612
789
59
805
989
850
80
631
746
533
132
546
427
690
549
844
516
205
523
887
375
331
62
496
231
685
964
978
839
613
195
953
957
456
875
765
856
7
194
961
86
519
263
315
921
350
856
974
570
987
606
328
718
703
412
769
311
18
957
112
922
385
504
771
12
70
400
331
95
987
222
462
348
529
459
560
874
496
492
495
344
555
137
945
424
439
473
209
166
490
7
642
28
895
570
74
338
295
238
267
849
659
403
607
274
862
163
355
602
593
777
801
893
992
985
480
365
421
875
883
33
371
94
667
486
681
993
567
467
42
765
59
704
837
142
886
970
852
214
629
31
907
452
133
944
658
1
37
630
577
736
683
127
148
789
347
404
706
790
931
643
375
555
897
51
15
84
908
250
919
151
469
827
157
144
937
181
502
641
334
616
309
356
281
791
673
491
547
237
679
730
491
778
758
991
725
510
571
231
460
18
452
531
292
22
117
675
39
910
46
184
964
326
240
587
210
97
410
322
496
834
813
218
447
597
918
14
926
856
190
254
370
453
930
527
267
984
824
423
661
188
437
313
653
978
778
508
545
86
23
937
646
831
642
81
269
343
936
573
750
124
396
453
12
414
456
681
652
273
998
91
4
916
241
526
0
242
600
790
775
877
861
358
601
98
51
555
200
880
94
579
205
841
194
842
300
593
672
238
67
983
693
717
827
98
131
730
966
335
58
31
713
270
496
258
902
644
242
295
412
718
445
77
947
334
869
834
4
529
290
716
512
769
118
699
452
334
892
595
2
331
427
359
424
695
872
457
559
695
729
241
825
713
7
468
643
940
104
456
113
493
992
726
204
459
731
203
809
143
314
746
935
864
122
692
335
448
603
261
135
413
294
537
880
28
54
711
288
555
657
396
71
545
526
979
405
980
605
19
391
25
140
645
734
554
341
537
511
147
203
605
260
585
304
650
669
56
272
354
613
266
520
222
481
308
606
73
757
576
37
276
356
441
558
45
139
996
731
800
62
380
216
126
18
212
183
978
172
327
540
132
7
736
852
827
453
77
804
494
661
696
212
943
670
354
57
927
85
988
994
941
943
285
988
697
227
553
515
25
962
65
572
561
674
167
450
816
731
453
836
390
664
574
591
974
643
673
34
382
39
28
642
528
566
157
43
886
486
136
724
644
718
480
354
898
920
992
721
694
205
20
754
576
644
294
425
600
750
589
576
747
597
128
549
793
409
63
661
49
758
186
472
20
171
331
237
603
727
322
244
56
556
349
633
775
536
684
493
788
748
717
496
911
304
886
242
537
677
632
918
536
367
360
27
333
427
142
447
203
216
531
933
119
975
360
358
954
614
781
566
838
793
90
410
560
145
278
254
737
99
529
461
774
901
963
21
14
975
461
417
332
403
699
899
431
441
532
631
304
680
409
199
383
639
931
196
59
158
18
494
390
998
652
263
493
209
938
508
692
76
656
915
696
201
504
315
693
60
50
226
820
435
100
825
490
484
534
254
665
283
893
927
588
884
230
749
307
660
803
892
881
212
728
450
913
522
178
228
460
10
489
983
820
771
363
280
306
590
471
908
133
745
596
166
548
999
770
937
688
778
122
6
555
731
194
862
847
362
105
422
406
424
171
749
79
588
520
892
662
15
323
417
404
139
36
735
374
172
126
419
219
666
76
608
843
477
70
305
579
0
676
909
219
295
384
658
953
311
658
386
122
454
937
863
970
565
242
406
568
820
63
907
940
23
871
218
405
408
34
700
142
162
143
801
9
246
726
697
153
892
980
607
814
579
537
81
97
637
320
948
30
941
419
262
988
768
844
996
230
74
288
445
673
140
645
158
662
739
550
141
571
101
615
157
61
472
523
204
613
434
684
828
331
633
958
690
219
318
362
572
800
91
183
72
895
745
16
576
685
354
585
381
913
412
955
688
675
41
318
783
46
4
395
729
976
586
307
387
73
763
914
34
406
881
362
301
928
327
504
21
372
610
885
385
873
599
476
906
459
978
22
376
265
902
713
386
737
843
521
276
721
195
231
186
369
986
798
29
234
523
991
582
150
455
703
522
390
901
30
54
618
861
184
737
324
320
784
483
114
413
398
947
409
909
973
801
774
152
604
769
543
473
543
135
954
755
831
962
426
503
641
714
361
241
144
388
811
577
398
835
109
958
799
540
842
579
359
965
187
364
814
961
836
935
922
973
306
8
926
616
717
332
771
400
87
582
120
776
870
84
742
563
519
307
926
67
225
624
110
999
411
373
271
293
989
769
133
659
686
238
754
371
285
937
469
847
114
238
790
983
457
753
255
867
118
199
813
365
191
136
411
760
654
937
921
897
98
267
333
78
209
569
329
10
649
665
287
36
130
904
559
803
930
272
10
249
52
674
735
158
718
496
3
622
5
284
801
416
117
648
341
845
681
680
111
557
242
833
64
430
804
740
33
420
172
251
803
19
873
783
154
203
429
938
839
256
437
719
950
525
252
342
769
24
386
996
378
708
401
63
480
300
577
909
507
432
84
560
404
686
376
632
405
119
112
774
439
922
342
830
571
914
44
526
923
948
229
191
405
490
61
48
981
22
247
456
419
697
273
754
261
263
456
776
996
743
119
303
841
253
904
641
3
537
367
700
236
523
290
839
168
908
753
394
626
316
108
970
936
591
644
978
180
761
94
272
423
698
578
808
798
14
610
918
390
85
328
140
42
951
144
960
312
523
967
203
151
693
660
23
762
903
352
80
775
822
413
688
802
730
265
139
546
927
883
363
214
587
891
510
548
560
374
942
839
68
210
754
476
43
704
70
777
779
267
741
493
766
896
878
465
100
847
855
398
907
173
65
786
853
235
556
300
627
20
197
588
209
885
264
410
688
386
679
72
654
4
743
275
344
269
493
27
569
719
511
544
192
544
320
827
13
381
308
808
746
745
463
951
845
65
169
359
206
949
45
353
670
916
89
822
211
397
443
904
761
488
587
140
708
931
282
616
123
657
708
518
320
325
216
466
439
511
317
839
288
703
766
793
697
832
337
786
9
673
282
940
374
487
144
405
902
360
251
522
996
609
846
560
172
82
98
509
550
798
508
599
436
910
173
327
848
736
513
636
542
783
553
524
474
51
865
620
548
924
376
360
887
914
123
197
666
804
722
63
586
351
471
901
426
835
459
198
964
131
371
357
397
903
51
841
45
445
617
863
729
694
883
185
600
793
304
627
451
364
697
186
24
999
2
223
77
168
408
892
803
10
7
909
943
120
955
446
335
405
62
142
520
323
97
556
802
667
397
103
454
614
612
860
265
613
724
337
963
861
42
606
218
919
49
320
561
523
257
803
828
459
981
1
788
349
478
590
394
113
505
448
375
876
499
932
951
199
211
117
94
451
288
816
781
897
558
352
17
869
539
471
418
17
25
512
268
820
506
444
799
146
172
862
333
257
947
934
394
128
399
458
375
325
912
233
154
121
615
981
825
787
159
346
464
288
152
170
195
173
341
102
983
864
120
263
730
905
294
914
477
895
587
459
991
688
178
157
785
723
940
907
100
381
873
434
218
655
823
799
302
199
417
145
467
370
895
502
106
581
217
685
950
710
780
562
662
385
11
494
377
978
929
124
652
211
460
239
10
790
52
325
788
848
849
698
436
133
564
745
282
46
241
735
883
708
642
210
698
427
937
952
843
105
986
647
718
355
978
755
246
683
988
720
617
380
245
652
148
921
107
861
275
410
714
248
918
342
925
732
346
51
677
265
613
147
185
646
850
316
41
114
920
835
456
550
992
131
38
293
479
789
107
991
880
183
513
78
224
393
487
26
362
330
375
490
272
950
882
306
385
904
523
765
402
764
602
842
603
375
717
66
160
471
999
624
564
287
578
856
84
860
368
604
416
499
951
187
564
930
566
736
130
336
941
443
88
183
428
194
319
559
273
855
753
814
798
491
437
339
888
843
294
691
930
452
481
339
469
335
647
15
49
15
216
159
398
856
282
576
760
421
227
54
483
188
850
477
753
940
40
430
54
210
882
726
894
0
949
745
838
483
586
731
548
150
704
421
46
502
175
28
853
782
861
429
351
815
306
717
913
756
379
311
611
563
310
440
962
639
602
863
964
228
629
682
799
19
511
681
257
984
171
413
836
620
855
319
361
902
252
569
481
700
682
317
509
237
632
634
825
444
481
671
894
719
473
659
404
579
128
434
122
956
337
920
869
137
876
518
398
161
54
436
824
17
56
117
588
688
490
575
562
382
547
652
515
805
706
677
369
471
947
604
227
595
826
992
709
100
882
822
241
437
776
567
863
370
628
870
555
811
906
798
238
681
787
236
68
285
8
455
802
818
315
334
666
637
877
152
368
978
211
837
429
885
981
94
98
890
6
467
239
77
275
644
322
904
432
546
79
924
732
119
744
520
487
653
717
377
259
180
178
880
750
2
414
549
844
729
636
487
519
176
913
204
302
616
799
683
64
5
116
182
42
926
4
532
362
93
823
848
757
542
304
671
201
498
500
756
923
950
160
883
716
217
341
961
940
938
23
58
872
295
511
817
466
947
556
752
757
264
485
475
613
21
279
963
381
884
938
30
454
328
758
256
955
798
40
549
828
631
443
165
506
644
473
109
902
138
33
170
287
780
86
892
196
196
799
93
563
290
22
0
51
721
862
445
493
865
880
413
844
375
74
969
557
332
3
552
649
57
510
118
935
398
18
45
847
838
170
872
305
238
47
972
452
176
286
745
32
303
528
143
393
411
725
514
813
819
971
277
404
144
675
100
46
621
808
524
33
712
776
490
313
438
295
252
308
305
536
979
847
589
509
966
710
294
728
851
590
186
347
926
663
453
908
836
64
203
786
364
91
927
133
398
990
28
618
828
255
51
839
895
695
381
296
87
549
65
774
308
499
416
156
215
342
174
111
897
10
679
231
289
237
40
4
907
549
853
939
215
321
195
689
773
31
734
212
742
736
820
39
5
693
381
44
505
237
755
739
507
168
117
51
687
477
891
528
683
355
882
144
53
510
191
523
341
830
659
991
629
788
178
621
357
691
267
670
972
218
365
849
3
815
540
114
961
153
636
205
817
53
605
938
888
683
48
761
273
537
434
111
367
731
922
890
572
265
651
78
636
13
180
730
21
593
155
436
834
923
47
646
745
866
131
813
76
419
306
304
330
524
262
411
134
164
193
561
471
319
372
687
880
809
130
240
411
742
873
975
909
158
284
581
663
812
365
527
320
539
190
183
903
411
569
116
117
572
486
853
643
812
940
138
336
537
413
490
922
247
700
195
392
956
934
370
997
351
725
282
983
191
129
425
538
70
752
84
132
472
779
18
412
440
67
2
168
115
383
570
713
132
341
983
328
522
35
169
513
73
669
123
128
793
136
547
735
29
24
190
828
427
303
802
530
100
190
436
12
295
744
470
655
603
322
42
5
732
196
940
949
351
298
842
847
456
253
68
813
33
279
394
601
683
586
81
130
517
634
896
622
658
350
360
782
47
907
564
955
350
159
649
102
243
374
856
646
858
603
283
598
565
197
462
980
370
442
786
423
691
205
171
441
638
9
573
337
457
591
845
470
373
663
763
134
382
502
726
882
80
812
715
157
934
29
181
509
164
568
58
767
983
155
731
83
773
757
569
970
597
748
163
120
268
457
121
858
418
589
275
832
779
145
925
543
124
937
678
131
505
944
225
740
693
824
634
126
345
839
116
99
973
939
606
589
94
705
629
122
177
125
400
941
570
654
525
262
505
935
939
231
590
787
533
337
824
598
528
984
742
198
782
49
715
150
104
395
510
312
129
438
591
734
494
923
923
719
684
536
236
243
391
228
626
549
339
186
907
292
849
638
635
259
765
674
968
583
387
761
84
482
619
58
943
441
851
964
97
154
503
800
565
978
327
876
205
404
481
231
123
940
516
50
964
469
501
550
862
891
477
92
718
357
591
62
454
693
18
3
568
885
404
192
847
259
561
192
354
135
601
617
943
746
295
916
809
739
803
437
932
645
343
385
906
436
736
198
595
739
479
6
16
12
888
493
975
650
608
520
830
913
364
618
633
912
435
415
709
928
465
39
380
424
385
610
293
584
420
547
997
407
527
100
393
199
47
940
204
898
98
564
471
152
961
299
907
358
694
616
201
830
796
308
948
266
965
392
495
243
634
324
535
230
250
630
120
292
681
105
895
109
68
780
522
153
313
194
764
777
840
340
454
250
327
64
866
766
591
89
616
96
491
547
615
494
102
967
487
293
213
530
18
97
462
898
67
299
325
816
899
431
715
775
690
314
699
498
197
464
3
965
716
377
273
960
70
710
439
129
552
960
892
289
50
45
749
39
843
62
471
424
226
941
375
368
266
606
135
250
490
930
284
642
237
939
595
469
314
875
403
572
532
486
655
627
508
112
347
61
889
532
588
55
355
282
290
699
842
554
964
624
828
187
604
413
968
958
38
35
221
76
963
202
748
761
756
24
356
600
667
955
591
60
271
453
527
996
88
931
383
559
889
945
698
42
813
846
550
477
734
82
932
596
245
137
260
453
821
808
751
367
477
781
306
855
743
93
329
425
667
2
766
991
780
382
784
763
895
232
813
467
660
79
994
199
345
542
158
110
438
982
653
592
862
278
107
459
404
520
998
188
616
728
379
59
115
117
127
278
55
775
634
446
213
917
758
953
346
906
32
85
271
451
185
305
309
275
306
90
924
102
60
920
976
50
682
514
371
160
276
79
634
642
316
203
422
23
30
859
771
984
325
10
35
99
880
262
214
465
190
941
759
288
705
286
914
772
65
499
677
927
453
686
496
347
658
293
998
299
885
988
870
64
176
541
292
358
817
812
975
122
218
388
443
731
938
292
55
358
882
34
457
697
456
482
675
585
666
724
532
986
464
856
469
319
431
665
512
676
314
43
224
538
90
13
471
805
845
118
91
161
672
524
782
100
227
919
731
487
534
179
685
583
711
622
424
425
964
594
969
415
860
533
771
672
733
519
143
582
14
481
5
679
204
199
986
572
524
691
732
582
288
98
943
830
606
377
880
537
389
351
624
182
13
527
415
730
967
333
468
53
984
971
376
856
659
441
683
811
19
751
637
734
49
823
922
863
934
125
220
366
976
73
630
732
2
727
580
13
840
445
683
697
140
704
657
265
868
111
457
770
578
61
48
758
984
488
258
144
366
148
848
630
430
936
389
981
169
969
542
683
316
183
629
373
971
628
300
634
31
359
940
667
64
245
705
652
635
923
682
152
982
258
530
225
7
875
783
321
512
768
355
578
486
251
956
223
938
716
722
465
659
896
882
174
587
679
760
626
190
74
582
768
840
309
133
197
678
116
395
170
849
454
176
864
63
597
63
243
511
407
826
633
660
976
828
387
553
702
218
773
208
336
319
435
214
361
765
714
907
281
803
736
635
456
459
867
832
596
316
546
763
931
409
551
922
195
690
232
526
15
635
38
205
180
723
642
76
158
150
867
979
689
664
32
248
539
563
134
524
577
748
995
900
219
248
300
447
386
867
920
190
97
361
126
348
102
868
914
659
790
714
344
364
789
729
549
61
276
272
832
45
482
961
507
671
161
55
397
371
169
611
68
476
301
456
940
941
845
608
478
86
924
243
30
655
193
63
32
973
364
357
833
798
827
248
64
980
63
817
984
151
890
271
172
321
443
338
419
573
500
885
767
104
32
454
931
456
151
920
13
748
313
597
528
248
848
6
974
431
14
907
774
668
577
82
301
761
648
461
620
764
590
425
843
186
293
234
726
968
86
417
333
277
116
760
462
371
897
513
649
392
156
463
962
558
315
23
216
506
135
453
117
696
299
611
412
729
715
693
818
73
984
186
892
479
235
745
369
829
405
514
747
509
637
923
309
858
513
791
737
970
273
174
354
333
783
152
216
71
422
485
289
347
882
104
62
822
133
222
179
137
661
843
169
25
428
134
169
867
403
200
181
386
50
160
353
399
660
841
756
219
807
940
652
874
184
666
571
382
185
135
630
942
655
527
492
968
785
379
647
367
586
558
556
385
492
353
456
131
216
120
310
193
257
816
635
344
603
399
510
960
430
271
675
821
343
420
681
51
591
31
641
700
787
421
478
120
565
344
710
378
467
901
514
38
767
926
34
515
260
771
527
670
125
271
775
128
701
388
25
162
648
452
529
296
775
372
355
995
637
728
514
59
846
100
990
198
46
679
87
605
651
140
845
716
377
815
803
952
220
473
609
829
623
891
226
635
624
697
937
818
620
305
233
547
798
810
612
168
979
321
729
284
233
436
830
874
11
981
453
674
42
67
874
598
98
12
738
354
775
949
949
314
20
456
739
824
676
560
484
817
573
247
938
885
38
254
107
316
953
499
140
115
335
494
874
344
468
107
33
855
671
611
793
381
685
347
557
580
230
929
443
121
362
490
771
422
496
515
65
315
683
482
99
561
761
431
376
804
87
100
847
656
724
838
193
122
192
858
791
35
992
581
987
551
375
749
840
818
995
795
339
323
557
90
172
10
757
471
327
543
868
109
396
710
33
41
985
512
76
505
610
122
779
657
853
915
262
462
496
215
550
855
124
84
672
317
608
32
625
510
596
672
669
945
39
138
989
803
824
507
516
507
680
613
854
523
260
351
202
621
452
230
27
568
346
709
704
224
357
44
303
763
112
25
433
892
834
447
832
583
799
997
790
989
590
174
721
596
367
160
929
629
84
901
322
999
387
419
639
291
758
840
422
683
766
239
876
586
342
212
456
160
655
922
607
226
262
58
874
70
620
790
555
453
916
389
854
321
866
283
361
691
255
204
424
635
518
149
433
620
269
686
224
943
933
438
206
521
55
597
629
200
27
52
185
488
224
829
939
48
244
975
741
620
15
133
899
134
600
592
596
993
552
726
739
11
54
107
884
457
432
235
685
822
574
470
399
244
814
965
299
19
483
468
75
970
107
780
598
498
429
257
165
163
602
829
509
913
314
192
893
672
822
764
602
363
775
887
642
343
338
737
751
655
118
605
221
371
615
987
681
839
894
68
157
227
209
584
249
736
491
103
143
650
630
69
217
700
110
741
485
478
126
311
723
150
333
495
274
456
856
234
415
27
44
388
377
916
974
691
797
159
237
717
118
118
217
830
245
13
382
244
347
839
971
740
763
170
750
970
472
360
38
651
675
245
880
786
861
472
636
714
238
441
37
916
295
598
482
197
604
505
499
213
954
735
439
837
588
247
924
867
331
601
936
174
75
534
677
10
180
945
582
486
62
974
225
490
354
712
752
851
621
508
126
550
753
737
921
992
91
584
61
397
302
866
578
398
573
389
886
704
527
501
890
3
261
530
207
561
701
754
615
841
795
582
132
825
962
497
11
852
136
503
614
680
831
66
906
444
760
160
97
484
903
54
507
544
955
596
417
707
40
27
441
159
262
980
659
663
160
636
594
445
560
72
579
454
911
307
55
647
160
970
915
272
577
913
647
306
908
139
683
855
476
129
602
813
671
486
242
234
969
359
504
682
51
259
294
771
215
473
951
661
407
137
526
727
496
717
704
335
564
16
546
363
30
876
339
788
922
487
172
881
359
564
368
996
729
863
819
78
21
828
220
471
682
11
857
774
468
489
330
93
793
341
661
870
479
762
824
557
516
884
503
781
353
166
922
227
179
390
285
371
495
271
442
936
28
410
558
904
591
837
933
6
608
295
548
515
700
749
12
761
995
745
619
809
768
795
737
834
686
638
815
271
444
233
365
163
487
368
541
530
557
718
888
75
871
704
493
642
674
92
870
677
931
128
332
84
654
128
788
721
905
417
645
736
485
225
399
200
754
261
866
762
406
845
707
934
879
833
223
191
52
397
70
225
920
591
277
766
428
916
42
93
126
158
421
83
51
560
995
103
796
1
594
389
894
968
639
819
782
188
183
931
718
720
157
539
814
669
572
61
778
546
621
844
486
183
132
179
25
746
536
218
651
860
19
497
789
78
750
142
699
61
272
92
886
843
31
839
263
385
925
300
861
456
337
388
974
678
584
777
466
741
928
545
381
352
290
848
683
391
359
81
215
458
30
922
169
873
564
650
789
121
241
626
465
104
340
391
443
973
934
888
662
32
820
304
367
862
552
489
9
631
273
114
980
694
417
242
997
750
652
281
756
114
496
173
343
502
208
191
622
638
553
71
344
338
380
847
679
730
295
804
111
698
505
397
873
147
570
674
649
764
622
270
984
318
305
767
166
572
560
292
601
533
77
830
223
47
189
319
876
374
293
330
426
259
27
943
337
885
894
841
10
217
87
597
27
172
234
210
241
632
620
610
65
825
661
617
330
377
838
239
651
619
6
366
180
970
991
758
981
124
635
762
894
405
391
146
870
531
565
276
419
869
616
272
280
591
659
508
767
814
983
248
826
335
908
401
835
952
37
911
649
44
36
705
661
890
36
540
858
380
618
736
804
836
400
533
880
813
250
791
718
155
703
666
529
317
922
93
374
555
35
502
811
987
546
741
393
363
987
969
830
632
610
678
10
101
808
445
881
3
232
975
555
745
59
13
841
341
162
878
989
588
749
21
319
881
892
100
889
975
760
923
718
87
295
902
970
22
192
887
391
32
620
4
206
175
745
338
130
646
960
948
625
295
297
268
194
83
726
56
541
491
487
40
836
670
907
78
411
900
768
764
296
832
979
692
93
527
378
994
210
282
387
571
72
535
978
654
943
66
143
202
333
92
272
416
290
538
103
406
579
753
165
541
402
140
898
677
876
13
804
917
378
330
293
783
438
960
753
516
884
117
261
334
149
151
818
981
599
91
783
208
821
316
452
633
229
392
877
603
597
480
496
692
695
641
835
301
421
179
328
711
70
56
827
398
405
383
60
581
891
810
156
343
871
463
340
630
474
889
725
966
781
72
118
301
228
423
411
567
688
660
93
815
551
621
166
91
853
156
796
193
229
519
718
287
793
554
552
43
519
114
628
622
333
883
404
416
850
538
876
210
912
103
11
660
465
807
664
432
522
730
546
286
727
79
593
16
914
590
559
125
405
406
999
529
836
422
361
42
201
532
625
737
781
104
390
836
899
855
942
220
945
905
417
399
113
589
993
99
557
388
489
621
256
276
895
501
273
622
936
280
400
628
259
557
18
838
266
58
245
777
435
989
704
718
264
87
117
944
462
949
427
477
842
61
768
229
127
916
20
422
204
374
607
935
199
533
622
90
664
53
743
580
574
838
922
442
927
707
839
794
600
132
910
590
200
279
715
94
695
866
140
176
381
191
646
748
391
990
924
440
942
822
653
113
336
575
137
37
276
821
869
473
499
745
169
35
716
287
243
530
390
875
338
933
277
573
65
918
17
420
163
621
991
825
671
133
532
32
392
492
892
126
560
544
915
876
201
761
337
336
970
2
230
467
104
180
949
83
266
935
436
782
85
404
638
603
128
420
140
389
319
163
156
733
147
844
620
584
836
947
586
629
792
227
833
570
382
666
907
888
449
54
445
93
847
520
534
550
763
767
544
660
753
849
366
629
534
53
3
41
514
794
987
783
717
482
942
76
564
634
995
254
503
394
595
229
180
365
610
234
90
416
735
534
40
7
94
168
502
488
50
363
205
756
159
841
995
498
157
396
922
910
536
537
586
995
70
134
130
174
795
766
355
456
877
314
574
546
793
128
721
815
617
545
607
100
85
578
280
110
155
54
691
468
5
937
166
82
518
842
990
572
170
72
359
449
699
891
852
946
505
702
703
977
479
423
984
688
446
618
672
862
343
353
318
245
966
321
323
259
817
939
741
704
59
398
528
616
681
504
516
503
807
373
479
645
748
679
526
325
981
154
474
443
284
372
444
242
567
220
976
20
44
882
688
209
682
215
880
565
381
679
196
106
480
319
523
574
793
271
187
836
115
708
142
449
274
196
524
680
378
51
323
102
934
294
317
679
650
705
928
890
407
440
327
74
904
158
760
404
294
364
561
204
190
337
389
869
357
232
186
391
168
985
912
491
766
464
941
82
972
57
488
313
292
707
935
917
206
710
574
197
829
587
999
510
751
915
238
488
147
649
393
66
473
296
678
159
180
402
369
563
885
890
634
873
810
326
369
570
18
120
687
175
907
299
561
149
335
904
127
37
54
896
497
643
19
60
572
147
273
161
457
35
399
455
391
622
414
191
752
883
113
325
838
552
748
958
895
447
95
378
259
743
570
246
110
316
363
360
27
81
296
256
993
263
569
287
776
200
335
378
513
134
482
297
325
158
719
587
356
346
110
711
520
276
866
210
736
665
609
848
864
78
694
42
73
484
526
763
943
386
845
527
93
953
56
77
722
274
737
172
940
142
419
652
52
149
95
456
395
430
242
974
67
272
122
595
118
154
506
966
373
41
4
110
887
967
191
717
11
145
750
160
425
352
720
229
59
505
536
522
239
796
321
68
79
3
110
930
411
227
427
289
666
564
67
668
775
384
180
909
678
564
72
541
759
171
575
334
852
600
677
496
447
537
8
950
74
101
801
917
789
736
844
91
863
817
838
390
599
475
469
739
631
992
361
421
582
794
241
81
297
69
136
130
693
596
679
210
293
769
825
122
718
716
764
967
48
299
70
925
395
478
621
767
878
345
39
617
933
88
970
62
173
92
950
117
136
740
802
771
745
455
204
421
10
886
641
254
987
386
512
733
71
899
831
861
737
357
267
920
12
825
879
514
30
767
413
928
918
964
165
92
156
927
435
953
975
549
235
328
783
394
513
421
286
357
988
210
66
175
513
313
702
123
629
544
759
952
772
943
427
19
801
829
565
182
591
379
882
848
261
746
446
979
528
784
71
666
361
318
452
260
465
675
543
667
556
747
363
504
604
451
806
391
128
282
996
934
522
241
761
513
395
887
75
758
917
219
702
628
175
873
416
331
660
154
326
625
448
109
507
18
648
872
834
193
949
786
652
969
353
565
329
574
178
636
609
453
301
857
776
547
482
372
120
354
918
132
491
343
892
113
623
135
896
335
985
543
212
530
923
254
38
118
283
63
667
371
701
556
975
591
994
560
134
866
618
70
429
780
955
271
784
733
462
330
686
213
576
347
332
781
702
328
278
444
132
862
11
479
473
578
811
966
377
739
974
992
154
268
558
936
298
263
853
884
346
899
211
839
163
35
898
226
713
974
241
522
498
677
851
793
865
777
450
281
431
714
795
569
815
470
314
377
133
469
987
199
947
349
686
221
744
508
810
220
393
985
693
477
412
542
925
493
547
831
972
544
380
437
448
76
74
583
801
228
768
693
401
34
316
725
618
813
21
699
280
55
688
391
211
786
566
363
614
651
825
543
251
499
867
800
500
17
988
96
108
333
515
301
616
939
642
589
436
417
73
380
229
886
241
325
556
236
361
753
72
902
939
646
3
686
405
917
239
366
767
727
467
918
871
221
288
52
748
364
604
826
774
665
60
737
165
176
497
237
770
751
863
848
312
909
353
356
53
154
136
878
382
307
491
853
632
972
702
51
329
922
83
150
146
806
837
553
812
382
890
749
252
40
130
568
33
171
119
222
765
287
878
252
768
124
733
112
556
12
284
41
130
293
340
174
564
435
789
978
396
268
633
711
947
232
978
306
164
445
218
927
650
827
367
983
350
856
539
613
625
514
145
547
967
639
416
270
103
911
3
456
357
743
452
5
867
724
173
657
536
853
920
154
501
955
749
691
685
309
822
511
175
737
987
940
700
306
58
207
91
256
152
917
884
360
889
541
988
6
507
874
721
366
779
588
356
263
48
614
733
213
990
950
695
364
97
294
641
620
225
532
64
533
108
358
397
799
773
576
706
476
456
736
183
322
452
880
160
11
860
990
175
844
453
272
878
931
931
396
296
627
405
565
555
106
309
832
920
360
241
831
863
218
675
830
472
352
602
197
778
514
475
349
156
299
78
419
953
550
833
613
857
891
527
775
178
857
551
461
135
759
196
884
162
560
33
526
99
629
399
389
707
878
748
876
231
958
466
142
205
329
380
440
494
73
763
364
334
749
253
116
998
135
522
843
359
322
782
529
436
36
358
34
597
880
644
662
452
785
163
476
172
66
758
701
506
799
552
825
326
272
200
66
503
396
781
918
691
250
379
921
679
979
494
553
956
795
870
310
304
733
613
856
529
410
683
548
222
527
852
23
920
847
542
692
789
776
194
875
324
2
965
241
613
410
561
194
896
210
396
506
763
179
41
379
142
111
712
324
990
759
456
798
718
292
108
560
799
693
76
322
279
61
243
390
903
875
711
361
234
630
766
968
101
373
244
648
951
131
275
645
718
596
898
20
496
236
648
341
14
46
474
449
415
545
465
676
128
98
196
366
346
735
269
741
466
230
48
146
828
311
912
160
958
899
654
424
272
911
645
443
29
997
311
822
957
892
967
123
709
395
557
842
294
536
388
66
228
538
447
290
48
248
260
365
707
484
321
834
665
72
499
847
669
807
841
68
184
344
36
981
238
428
453
379
963
386
118
898
730
469
114
98
766
797
835
847
497
123
103
418
572
335
87
687
126
275
708
179
161
697
132
294
201
748
388
328
585
837
721
131
714
934
368
59
389
808
334
152
824
721
240
958
9
941
952
76
81
295
472
954
715
665
279
263
277
663
724
990
790
393
18
802
77
229
622
340
162
27
805
713
55
531
503
193
775
479
956
638
936
722
148
757
564
390
697
692
675
217
812
867
366
970
17
672
781
737
913
560
988
648
858
718
691
98
670
392
790
709
944
427
501
392
972
876
897
132
65
819
942
498
115
764
460
999
340
299
577
585
685
596
902
887
74
236
344
81
906
483
218
240
558
505
682
355
139
622
331
888
458
816
791
282
791
931
455
525
537
373
603
228
877
611
791
254
629
267
116
812
152
376
990
628
817
896
780
223
240
96
833
686
340
747
428
471
705
229
545
637
925
344
520
698
222
960
968
307
996
531
855
917
521
259
187
687
989
542
654
433
238
237
660
240
408
895
463
379
178
273
381
551
733
913
917
135
749
729
918
131
491
758
798
142
439
648
628
117
2
374
25
752
275
963
757
149
140
600
127
418
855
224
717
339
4
749
168
50
395
137
440
910
252
641
849
464
811
518
825
883
175
13
269
280
117
756
789
815
312
956
974
901
591
320
41
615
962
283
931
660
58
332
789
431
164
371
714
476
882
174
122
891
528
45
661
380
970
721
932
286
430
840
700
522
263
288
664
592
8
246
673
9
5
934
731
941
72
451
525
383
769
209
628
27
26
195
107
326
116
37
391
546
892
105
600
634
68
133
646
491
591
251
628
151
338
885
597
266
364
445
599
127
425
616
8
338
459
77
910
30
284
816
233
198
560
572
822
646
786
40
452
663
185
443
239
794
578
759
171
277
609
778
779
714
496
708
682
130
529
542
973
385
787
462
758
201
221
262
30
648
433
623
811
514
964
20
27
982
55
372
163
711
109
354
284
672
784
444
194
813
631
261
768
572
492
262
214
709
491
370
649
758
15
862
123
998
64
319
669
766
573
132
622
527
964
917
427
149
633
901
500
365
255
720
508
289
65
747
620
614
543
817
783
42
734
219
176
323
278
281
78
150
872
947
995
811
543
794
233
135
381
567
663
391
563
470
123
803
16
852
26
639
250
520
716
487
598
292
823
907
647
735
348
543
318
736
468
988
203
907
512
77
497
971
635
563
519
358
998
989
307
179
228
99
134
553
150
164
58
129
533
462
301
20
681
178
888
506
970
788
547
810
724
608
352
397
188
539
722
56
745
963
452
248
436
989
945
798
429
996
104
162
964
131
703
578
908
445
298
219
724
570
135
544
387
748
244
781
370
749
814
751
323
221
95
167
611
973
388
873
162
28
345
137
915
79
678
691
869
75
381
443
293
619
433
273
132
857
905
688
557
746
433
746
331
281
629
62
139
61
815
886
620
781
231
99
219
934
254
699
872
707
250
168
860
621
377
293
321
206
745
668
198
919
702
744
228
462
647
965
72
354
668
911
630
194
612
652
433
605
267
229
573
997
266
288
335
849
450
319
102
497
546
163
282
888
628
144
336
882
198
264
16
653
219
271
974
423
794
573
473
850
569
793
907
258
267
411
15
30
879
604
211
23
914
277
679
335
578
68
91
975
906
225
91
661
771
897
170
776
379
913
55
293
650
908
417
862
432
27
124
905
491
405
203
166
217
594
840
884
161
216
598
918
489
191
801
754
905
940
844
631
988
845
365
970
450
132
11
314
28
615
583
268
150
211
206
606
347
763
113
288
984
539
940
176
598
641
389
948
710
673
89
839
379
376
680
138
944
251
137
848
291
694
668
133
272
595
203
319
557
908
223
99
997
430
32
805
931
107
263
267
843
208
312
71
736
816
475
585
337
222
753
885
975
278
417
214
5
940
229
122
806
692
399
34
696
288
492
700
521
695
499
515
555
754
115
704
510
217
173
532
267
13
534
327
626
233
811
706
692
143
464
346
382
905
90
115
634
887
508
408
297
622
52
958
13
222
321
414
235
503
166
632
891
373
724
665
9
138
127
142
878
616
695
211
91
740
159
333
791
443
909
677
506
686
727
530
104
655
636
134
569
903
933
812
980
873
666
872
569
148
727
95
290
431
457
976
480
625
338
368
195
102
585
934
537
749
889
865
89
86
889
617
386
642
903
366
209
373
364
415
859
246
718
218
916
723
309
773
811
685
490
618
15
137
878
823
534
920
914
9
85
924
148
602
677
629
41
216
628
413
35
503
839
465
803
809
130
185
516
693
203
786
809
565
513
133
448
38
593
667
833
455
329
344
117
982
565
134
197
280
909
762
333
856
142
494
26
4
411
591
45
982
920
65
364
451
720
674
248
121
761
687
486
253
267
30
282
718
403
622
76
853
183
86
351
612
817
731
77
819
721
28
447
479
142
748
146
324
156
256
8
89
83
969
588
674
450
862
102
389
306
25
832
790
405
857
223
277
866
366
40
763
313
81
863
45
646
529
514
866
849
595
392
138
321
942
700
448
190
759
759
240
661
995
991
92
965
885
780
530
604
66
772
978
604
741
418
4
117
759
6
262
342
950
212
126
831
138
336
72
806
904
655
140
904
348
766
120
701
894
265
507
515
11
368
802
201
37
681
773
328
124
941
476
578
912
283
446
368
533
872
973
722
192
862
891
112
167
386
271
739
839
571
568
274
83
592
810
694
574
289
43
328
157
375
317
962
599
285
49
349
713
257
495
548
530
701
92
69
91
358
89
592
990
175
259
508
203
276
40
616
431
538
525
150
564
801
733
322
323
272
457
85
529
829
274
199
663
427
710
886
32
187
828
889
137
974
35
262
335
426
72
445
310
824
126
809
928
411
861
409
364
853
336
576
963
846
638
526
551
473
125
240
207
862
981
826
126
107
238
353
685
868
688
462
223
719
337
733
491
832
315
432
814
201
267
491
45
9
655
214
619
973
2
208
88
964
104
795
555
855
569
527
311
897
444
486
630
281
981
842
524
510
763
369
975
492
428
790
795
436
705
177
532
585
105
723
963
973
538
427
308
269
382
221
960
888
965
218
915
659
816
938
527
380
497
260
972
86
315
920
649
425
488
355
161
944
996
944
172
255
990
696
527
762
932
145
379
381
107
626
885
905
355
600
879
884
450
384
25
811
633
286
363
47
352
995
162
439
886
630
78
668
145
129
563
249
696
759
97
991
254
159
753
91
562
341
393
566
182
301
565
888
487
16
145
402
977
388
61
626
376
415
591
854
652
770
87
71
202
286
311
200
688
518
220
468
427
841
322
685
193
817
21
720
952
873
494
160
566
307
418
814
744
704
213
523
387
851
582
486
671
139
723
408
8
784
193
121
948
919
665
242
857
577
770
54
698
932
999
259
832
808
290
871
589
671
804
578
88
745
916
563
2
932
491
327
117
820
540
207
47
674
405
404
517
655
466
489
513
294
891
949
550
771
354
343
18
762
855
793
331
860
154
481
553
201
458
448
105
728
100
818
11
174
0
748
991
419
927
965
103
118
799
782
715
519
579
505
237
51
259
52
249
760
508
738
410
721
161
24
690
64
890
368
89
341
660
118
463
422
904
72
225
628
362
276
338
170
785
424
161
494
213
750
486
690
877
301
680
320
682
642
203
438
517
633
867
728
941
417
468
949
45
128
61
804
605
974
510
609
969
13
519
981
606
952
419
27
508
388
907
681
532
448
743
113
367
274
885
190
232
710
120
118
112
680
666
779
550
409
147
779
645
282
894
730
83
514
961
357
322
785
786
611
88
281
350
653
474
562
198
524
643
48
506
959
496
118
828
145
299
498
299
838
876
649
154
458
167
76
742
276
721
648
783
975
557
447
327
192
472
352
133
593
9
216
54
216
564
74
466
915
325
264
366
81
605
831
313
375
898
451
303
831
612
97
674
783
525
972
309
152
194
41
363
775
675
835
962
776
4
354
917
984
200
335
21
896
556
480
134
555
708
82
573
305
766
876
139
325
644
34
68
879
395
208
110
487
369
540
872
493
752
605
947
139
721
594
811
364
415
472
449
806
701
715
77
272
425
675
774
741
888
368
948
360
253
652
786
961
211
806
38
520
441
687
640
387
957
408
337
36
772
502
643
224
211
935
867
408
283
811
305
818
999
243
438
584
524
161
420
924
441
204
826
234
847
253
103
934
401
884
490
579
689
960
673
363
131
717
399
113
373
992
4
282
831
31
136
745
77
130
379
981
703
388
754
628
418
275
599
327
117
915
860
276
366
494
248
629
675
84
793
884
760
80
795
360
91
54
985
466
606
925
243
150
701
577
47
605
816
233
233
780
791
219
498
162
248
839
360
566
525
83
355
348
975
542
172
258
368
585
38
663
531
322
601
747
134
18
415
673
627
580
426
813
712
749
500
248
906
11
887
888
767
415
895
719
588
758
193
431
885
335
760
803
734
261
810
977
139
108
29
818
344
355
414
498
738
222
5
706
689
396
899
655
347
358
899
640
892
781
14
837
825
408
221
654
206
810
949
713
225
846
821
285
392
127
839
330
461
398
160
861
508
573
627
754
767
143
287
551
292
807
51
968
194
470
555
855
482
315
571
504
526
912
353
764
146
49
603
415
987
227
813
81
813
107
240
550
777
307
179
973
951
913
208
514
556
681
606
647
368
59
90
530
685
634
179
793
483
710
446
900
51
964
301
996
439
30
278
500
430
208
683
370
389
388
624
495
815
986
0
959
576
209
78
191
293
272
39
583
662
705
286
923
950
784
79
801
27
620
448
783
621
21
969
572
944
487
279
332
260
127
150
262
745
702
254
48
945
529
737
358
803
370
373
276
272
885
564
940
610
391
595
188
15
953
335
916
362
33
850
923
680
190
866
149
496
200
531
170
454
12
864
424
821
415
22
437
166
60
277
932
299
651
527
831
999
96
91
828
115
48
210
975
469
377
251
248
713
820
408
465
99
579
805
754
329
476
560
704
539
609
861
920
855
318
440
841
600
657
302
788
561
508
358
156
355
602
630
491
537
762
245
232
775
681
736
727
725
512
655
848
602
673
926
890
823
836
772
71
61
299
644
206
246
854
821
57
87
877
603
314
967
292
551
957
607
228
89
813
80
597
826
847
965
264
549
780
999
265
993
370
392
332
606
587
42
535
947
820
250
398
451
491
749
423
462
929
280
606
296
738
145
505
891
390
64
614
429
471
629
596
668
445
701
588
115
947
898
21
448
435
940
273
641
476
745
237
366
859
704
705
883
613
417
122
258
999
135
709
89
405
42
597
496
297
74
606
586
88
375
358
523
796
959
54
39
677
662
440
430
308
339
284
55
708
815
774
648
188
87
517
58
115
873
999
164
542
637
998
847
602
480
998
520
523
914
247
587
970
376
852
48
550
755
626
606
286
933
32
805
512
659
790
513
982
843
889
943
739
788
146
36
14
577
530
13
935
838
315
65
339
740
514
164
811
690
919
425
891
490
461
993
264
983
777
454
285
805
135
955
835
73
493
430
961
78
645
376
642
251
567
163
520
949
738
41
581
664
343
543
730
164
185
787
370
961
474
111
533
183
602
272
777
493
946
40
667
524
955
293
619
177
680
66
144
368
232
724
399
56
282
615
811
315
478
6
880
666
62
42
297
912
399
339
292
586
643
729
735
469
965
147
968
202
570
929
778
116
620
156
894
883
182
769
131
901
634
417
425
373
922
571
545
479
306
928
48
575
611
990
792
917
987
139
159
359
442
656
490
960
894
243
509
881
633
273
47
906
395
507
281
970
102
634
455
553
286
930
554
656
322
660
643
921
468
294
148
857
953
996
931
235
936
412
528
131
505
299
695
270
69
270
190
853
542
789
346
398
309
687
657
148
463
468
104
7
121
585
848
92
299
497
830
832
278
607
148
402
73
992
184
59
855
135
471
948
957
124
835
136
143
906
589
366
683
557
982
917
388
171
949
1
194
92
547
858
311
544
802
156
266
885
613
190
876
410
167
289
549
940
171
790
842
904
587
846
712
973
689
343
224
659
327
927
201
495
545
789
846
993
869
390
622
805
670
354
561
999
731
310
420
967
807
662
480
522
90
567
870
799
108
6
251
275
74
333
492
150
876
12
844
606
27
500
909
422
721
152
60
134
631
750
428
620
518
297
242
765
104
152
667
401
322
589
61
790
483
951
293
750
296
203
353
68
765
676
648
679
287
99
903
34
556
190
784
535
504
726
462
466
298
299
647
585
239
942
196
183
266
598
884
917
251
515
244
610
587
984
605
144
579
430
824
828
809
594
897
290
845
783
443
248
561
391
640
53
260
649
441
120
846
846
895
266
975
755
207
603
961
419
966
642
102
826
104
25
742
801
22
584
759
738
181
735
794
907
549
414
296
745
440
981
372
123
133
312
829
234
550
353
123
89
601
334
435
110
30
89
23
263
763
352
910
509
352
984
771
719
556
625
638
487
77
405
463
76
542
636
965
919
264
294
376
582
51
935
338
102
486
859
880
94
566
920
609
793
856
816
218
741
99
329
980
648
977
787
940
212
301
286
199
123
122
888
519
617
700
207
300
210
466
641
368
641
485
561
508
830
271
429
212
526
585
463
856
865
811
301
236
793
491
712
600
54
982
415
95
576
645
190
779
488
396
630
816
405
512
604
210
251
426
722
269
425
795
694
766
232
801
384
42
279
750
948
757
631
436
345
183
671
974
904
525
190
457
646
424
901
942
932
805
576
893
455
307
114
584
700
382
617
558
208
426
37
296
242
20
216
924
934
727
944
365
469
54
65
971
95
154
597
162
823
151
787
732
977
755
490
292
426
829
573
665
673
873
19
15
558
340
852
566
361
153
850
884
331
711
543
277
634
96
911
898
860
624
91
45
911
295
714
214
567
132
872
900
742
518
505
571
388
747
17
480
643
245
192
602
580
364
644
480
209
224
460
342
198
450
71
367
426
478
965
480
297
327
371
666
733
592
301
558
997
608
723
745
869
31
476
939
384
467
135
421
796
313
839
7
649
86
302
959
388
45
985
221
371
735
352
399
637
438
967
432
257
138
653
4
801
194
980
962
560
479
549
500
64
866
564
807
611
65
819
64
624
947
55
596
241
433
921
205
704
478
854
64
324
554
897
656
712
921
456
65
208
397
16
426
915
583
189
129
640
20
83
265
672
12
908
138
730
985
704
708
723
909
198
75
67
610
367
523
896
570
144
296
306
72
936
7
376
627
392
512
123
774
669
782
736
632
0
568
319
29
431
750
576
472
358
865
770
730
485
549
558
241
523
113
551
468
665
680
263
366
687
683
680
804
598
224
605
513
735
835
623
693
983
649
200
53
991
453
123
932
692
439
633
870
537
552
497
548
108
218
439
126
558
288
360
430
914
57
396
969
77
147
7
419
39
292
216
243
34
78
306
84
845
617
848
937
619
411
9
660
994
308
572
464
368
700
253
65
83
174
561
616
959
325
337
213
309
18
624
437
69
644
183
999
597
653
593
571
50
900
525
252
272
922
835
619
234
499
878
949
619
434
746
565
94
279
722
246
500
130
582
980
327
851
236
359
487
587
675
401
221
722
81
714
873
594
109
879
148
267
557
976
50
859
601
938
772
704
454
423
706
908
241
702
398
923
996
758
826
90
796
285
850
557
876
242
487
366
934
274
204
963
866
669
327
475
496
131
186
729
217
470
365
473
871
313
782
253
203
316
97
920
35
980
86
766
394
616
9
28
459
904
865
780
149
620
258
323
190
721
2
773
374
67
836
720
269
437
518
333
430
425
289
940
50
114
845
415
807
915
729
718
981
695
92
810
508
465
202
147
804
544
343
948
340
2
147
184
97
777
731
310
1
335
22
888
331
369
859
503
409
323
473
289
174
377
296
97
714
820
358
488
677
940
337
942
618
50
214
150
784
380
357
382
303
476
92
103
328
736
828
297
601
994
717
627
278
337
600
890
173
607
526
562
682
384
937
925
749
815
420
959
118
549
6
953
304
49
687
122
114
103
705
574
533
68
358
502
126
837
312
766
34
284
288
564
406
231
85
403
789
264
211
120
321
65
455
111
997
203
15
248
80
758
309
655
52
136
131
177
967
47
140
632
705
568
716
803
956
108
471
557
863
7
882
658
635
2
260
864
377
362
526
103
461
526
239
26
49
127
906
279
586
946
238
568
440
576
645
125
659
102
651
547
265
432
439
401
178
586
246
362
664
877
181
711
809
262
358
277
53
566
666
181
720
796
959
637
539
904
294
423
409
871
785
383
548
347
821
674
39
259
908
751
453
709
620
217
521
244
687
201
886
932
805
285
808
509
520
532
230
26
561
295
295
659
326
557
856
849
837
629
443
892
735
736
268
106
632
670
206
931
766
303
16
304
665
137
315
129
882
229
446
306
487
52
251
188
796
978
355
158
112
25
157
847
704
514
921
315
338
896
292
1
707
328
456
710
416
956
433
223
577
55
359
771
855
783
581
583
309
133
206
958
589
130
42
825
134
196
15
813
167
194
593
945
432
695
363
227
657
390
225
869
563
117
673
197
119
796
396
801
619
765
605
202
67
187
633
620
962
977
157
522
77
648
371
6
545
645
676
477
466
214
216
464
688
401
739
221
818
983
922
507
962
684
592
875
666
591
459
249
187
380
23
414
601
225
197
998
964
111
689
432
482
608
407
447
941
299
902
951
681
384
826
34
364
438
847
631
982
31
812
663
94
444
387
328
123
423
969
975
474
480
441
631
813
990
399
269
907
5
369
270
213
772
941
656
789
509
832
924
3
703
857
383
616
527
419
261
223
179
643
549
334
180
596
453
771
503
76
372
886
208
455
248
572
524
77
102
999
563
462
679
551
619
398
302
577
978
278
690
343
747
772
987
181
4
661
465
829
714
958
544
5
630
321
769
694
32
691
368
1
927
870
882
826
114
294
350
716
252
167
3
373
633
551
587
694
993
981
909
354
828
358
180
876
392
630
659
292
929
587
441
47
481
92
584
92
730
621
172
536
270
147
540
135
683
209
444
868
365
327
48
773
312
316
121
662
597
885
272
708
156
927
109
269
744
892
894
948
432
615
481
584
268
865
893
959
368
835
963
458
166
365
241
292
608
244
614
250
32
978
583
712
710
8
936
113
895
568
714
516
82
800
24
376
10
66
838
270
515
960
61
826
853
859
153
293
873
61
296
851
995
567
695
524
841
19
367
948
625
606
702
545
39
471
507
38
756
418
521
61
656
302
509
164
117
807
761
893
503
382
821
831
72
858
201
499
486
426
206
98
886
25
849
391
151
536
630
257
964
130
68
122
921
638
143
99
87
700
399
100
609
366
141
99
558
559
422
268
119
325
915
197
612
394
527
830
550
586
146
298
9
877
515
126
636
39
110
270
465
445
828
439
217
635
189
384
2
501
370
758
260
441
552
420
369
709
481
614
286
119
847
180
420
706
724
748
43
934
142
136
504
724
579
505
477
220
849
263
720
950
499
325
514
101
273
652
805
321
188
453
716
806
766
965
681
754
646
952
330
550
975
968
579
905
827
567
308
226
873
779
318
595
976
713
360
807
866
124
315
879
639
980
52
972
670
585
498
755
609
921
402
62
349
73
51
501
438
648
906
504
489
219
194
399
231
819
332
883
903
667
286
531
687
2
503
364
781
837
285
684
998
10
942
843
326
200
87
963
903
807
939
234
366
33
237
55
997
878
319
802
783
26
77
326
959
899
971
339
238
744
47
537
664
70
294
8
163
673
82
314
828
501
43
824
730
748
180
858
593
917
985
706
757
722
508
311
717
949
589
156
858
208
285
165
617
923
47
994
867
909
994
75
60
440
354
660
341
505
30
159
351
797
542
186
185
97
300
991
37
960
874
519
95
585
821
747
198
999
677
403
392
90
919
121
384
434
447
468
302
934
410
102
225
663
663
263
73
417
162
484
598
216
337
417
174
915
761
171
935
591
184
414
71
763
553
627
621
517
474
383
402
330
443
134
736
966
164
956
978
678
284
823
622
249
697
813
923
712
863
439
535
924
660
306
860
356
565
248
982
786
456
53
79
441
308
862
850
284
803
3
437
738
498
981
318
982
415
359
693
828
86
102
881
605
60
109
21
74
606
42
440
112
627
610
55
44
418
82
663
824
772
889
684
678
510
854
57
432
295
854
888
598
510
748
151
529
957
157
198
649
76
60
58
545
316
449
520
506
281
738
968
620
972
558
409
838
857
273
102
453
345
887
570
828
783
630
967
628
87
681
566
805
665
412
785
423
673
656
546
26
115
648
891
490
140
982
936
527
80
593
258
523
75
229
613
951
964
956
255
582
476
381
741
45
915
863
258
138
240
546
997
636
678
641
164
242
964
458
144
34
725
88
66
542
53
672
243
103
365
902
489
891
421
618
271
852
10
616
43
823
369
737
938
728
514
501
479
395
971
253
142
939
86
2
125
463
673
643
907
997
138
939
494
224
153
339
683
989
505
335
750
44
982
36
945
83
957
614
571
173
539
866
542
36
207
14
531
719
950
351
854
252
970
691
345
761
678
164
115
449
832
95
88
661
459
525
844
818
338
148
483
528
21
799
661
137
713
595
716
369
854
588
480
829
360
756
269
68
192
481
449
799
951
9
623
639
161
152
659
278
421
652
763
637
701
2
303
757
920
622
370
156
748
11
855
907
215
587
993
207
936
147
125
498
493
934
659
186
426
699
323
560
196
979
628
428
912
237
216
827
938
220
257
832
963
335
415
106
614
982
883
506
783
774
143
655
510
978
942
229
339
805
463
557
767
695
788
532
109
291
928
463
630
49
129
544
964
794
235
629
776
328
502
122
598
350
80
985
3
892
139
933
524
841
858
703
225
136
526
693
973
695
741
158
685
274
343
878
957
741
108
95
119
539
949
768
81
185
688
142
372
841
401
179
722
537
977
15
807
29
479
133
885
697
669
166
528
647
118
283
995
50
678
701
450
326
871
867
449
697
625
353
765
410
353
654
245
544
82
595
710
548
483
304
187
172
682
526
572
125
600
758
949
518
319
798
432
770
654
858
754
790
151
722
811
722
292
962
537
787
734
815
548
415
283
50
15
864
225
119
292
920
760
145
252
740
649
242
333
646
905
816
887
751
337
433
919
958
482
126
257
136
955
937
809
191
184
381
811
558
278
308
789
986
611
37
511
26
582
706
958
410
201
6
336
40
163
47
490
775
824
307
379
374
444
215
960
268
849
641
596
134
410
170
392
982
582
793
283
944
153
504
983
55
131
593
169
396
400
573
249
260
540
876
873
14
716
611
470
115
620
174
76
312
923
300
940
278
499
43
1
840
267
513
142
142
334
741
705
983
419
791
142
984
110
488
840
996
816
703
445
502
111
207
621
148
963
323
227
519
595
168
600
736
774
157
960
633
742
242
353
264
674
114
457
308
243
436
985
159
626
591
357
937
631
851
896
47
670
253
933
852
166
192
605
95
15
218
501
727
737
804
882
283
608
609
631
182
6
545
724
256
94
372
74
232
295
154
197
328
676
464
426
962
427
654
62
13
921
207
671
539
918
712
295
450
599
354
949
696
63
185
407
316
920
942
630
615
676
906
828
883
918
570
45
47
722
487
467
224
442
217
157
564
244
324
255
360
427
936
697
216
822
656
951
216
377
629
291
456
790
115
134
903
257
820
845
818
729
16
635
113
936
689
909
849
171
822
607
364
37
338
942
223
863
808
208
873
718
868
182
882
392
629
780
435
163
641
802
230
150
994
640
593
606
268
353
722
713
222
780
322
921
650
675
814
794
716
567
284
384
88
142
450
336
609
689
66
104
851
970
36
796
409
892
1
854
726
21
560
444
913
548
543
204
572
958
631
163
803
957
254
20
461
660
602
463
20
0
994
424
465
702
346
916
230
545
785
102
97
283
14
381
780
37
243
337
670
853
358
359
624
106
857
313
51
440
262
857
898
607
608
898
704
166
842
220
878
617
931
163
85
458
698
329
172
191
860
407
242
970
496
165
305
398
73
225
42
789
428
817
765
846
520
390
554
621
174
468
375
545
73
500
713
597
900
457
244
925
928
651
294
472
438
979
425
695
125
359
757
824
259
330
77
18
729
684
612
539
384
515
767
832
521
379
529
759
39
608
346
228
787
243
550
721
430
24
330
108
949
869
129
321
952
690
475
895
583
688
756
632
958
743
94
948
92
332
298
605
105
551
496
769
319
111
102
882
576
298
262
725
266
932
127
786
859
183
102
329
960
511
505
650
899
837
223
497
807
236
158
889
377
679
207
140
185
183
985
439
525
558
429
154
897
238
424
448
273
189
278
387
966
918
628
771
377
172
43
43
951
967
92
870
63
818
784
889
530
1
589
353
579
537
386
794
210
783
288
76
920
702
318
540
155
320
74
190
993
383
362
834
309
699
606
138
194
133
143
476
989
679
545
147
126
782
633
230
439
427
290
919
807
827
728
113
25
784
729
275
188
645
61
251
597
491
279
82
94
261
856
364
80
381
602
621
596
886
186
269
45
689
621
126
828
833
400
893
393
979
780
835
503
879
544
217
101
498
563
126
737
443
842
537
44
104
497
796
396
152
941
851
459
249
813
332
458
327
904
715
705
815
540
554
186
764
788
633
69
801
347
257
195
777
409
918
683
910
909
167
227
520
403
155
147
178
477
685
500
373
68
600
888
771
973
47
592
780
185
418
391
271
968
459
182
764
488
34
120
439
618
504
807
245
140
500
179
339
461
573
28
843
74
841
402
950
71
229
889
552
739
960
269
969
865
176
433
55
909
672
894
357
384
799
788
85
851
581
299
622
504
898
497
293
485
546
94
404
877
321
660
566
95
760
18
818
738
342
362
782
330
214
895
592
80
666
40
970
169
344
191
971
140
119
956
808
749
828
740
946
263
396
639
665
206
965
140
813
661
765
591
395
709
927
156
592
434
538
80
758
560
407
93
678
259
583
390
475
166
150
569
825
25
797
378
59
684
58
181
356
605
768
554
762
680
27
90
785
368
601
812
415
774
431
468
107
832
449
34
576
243
30
948
804
145
461
61
978
18
573
595
825
335
533
625
418
363
223
849
576
578
914
587
617
519
994
563
665
387
165
584
956
533
475
777
116
252
969
938
137
671
58
957
101
519
517
610
647
55
492
214
863
682
442
551
773
468
638
98
75
403
223
792
794
175
762
300
833
113
641
363
715
297
815
882
312
70
832
31
379
805
365
704
147
593
459
748
647
85
529
433
747
277
612
435
994
740
36
416
479
927
406
347
491
888
185
300
847
832
215
380
44
375
280
733
4
649
72
810
582
602
412
346
244
370
419
907
861
824
466
39
1
625
13
569
313
96
533
403
196
976
968
907
468
409
95
429
116
735
969
298
799
615
563
754
833
898
436
524
269
410
114
203
681
888
457
332
817
114
244
513
537
51
313
777
360
959
414
69
269
430
827
116
963
964
755
858
582
757
238
14
543
764
12
233
145
808
446
639
436
681
317
681
14
126
85
258
455
721
524
266
260
844
144
556
586
63
72
950
814
627
593
779
889
843
541
529
847
713
40
524
917
845
842
491
715
136
510
1
694
631
647
31
654
717
756
700
939
990
179
292
79
889
697
773
583
34
862
211
963
934
720
466
216
359
134
270
858
873
649
417
87
632
712
372
528
263
615
995
129
140
879
425
815
654
979
708
429
654
511
199
828
705
4
22
404
25
443
35
249
475
469
593
33
19
823
580
768
185
603
597
215
663
546
197
326
658
686
268
317
499
656
745
546
265
130
990
0
366
746
380
504
231
35
446
228
930
229
691
504
59
99
447
828
538
693
139
887
394
57
811
481
394
810
897
613
74
518
2
624
847
360
302
682
251
615
641
118
87
545
296
585
883
795
791
482
591
841
629
942
719
284
995
327
666
5
78
364
393
26
611
956
93
783
61
954
10
638
315
341
834
698
167
751
345
573
969
68
967
996
792
270
822
264
747
507
514
678
477
266
222
396
691
442
965
230
909
598
110
492
234
173
458
12
515
958
827
121
339
720
993
4
840
746
464
442
196
98
351
382
68
695
705
874
564
701
387
225
312
335
153
428
88
859
442
977
102
14
472
778
872
31
398
47
725
997
498
718
964
232
509
14
68
480
310
179
144
854
406
991
811
456
614
266
628
263
738
598
893
343
185
406
871
797
602
485
81
52
494
437
112
813
998
579
763
697
192
218
621
877
488
890
954
164
981
270
893
337
235
353
972
97
175
348
723
889
755
705
613
760
171
448
163
529
425
836
163
944
511
406
99
463
229
558
432
676
617
875
999
747
572
81
256
84
965
270
892
390
759
592
959
502
144
73
713
560
777
178
398
171
740
296
125
908
460
189
553
776
885
15
466
894
143
786
468
45
965
627
427
431
762
890
161
769
286
337
167
725
75
969
19
984
436
712
892
164
655
997
996
155
297
620
859
813
926
879
912
748
534
785
922
380
401
229
628
616
696
957
967
50
685
114
974
794
929
760
252
583
900
732
306
182
27
210
741
963
646
338
750
749
426
184
793
505
524
31
15
596
981
283
478
189
262
171
728
817
890
692
536
60
923
164
219
725
355
583
676
85
228
819
22
156
836
157
34
979
515
566
109
480
233
353
677
867
455
115
178
737
690
469
739
970
952
821
969
23
833
916
530
330
580
830
254
132
964
229
707
578
362
815
79
534
756
583
657
999
191
528
768
483
681
428
600
863
43
256
696
150
956
736
79
354
108
625
458
40
267
51
985
383
336
319
789
608
603
709
125
377
82
396
747
197
934
39
13
166
438
584
507
467
46
588
593
881
981
768
655
95
821
424
517
794
274
413
413
405
680
234
560
729
326
322
167
388
274
666
727
459
907
468
239
281
665
739
776
842
909
771
520
820
44
593
44
945
282
377
605
924
149
675
560
521
737
173
734
129
950
170
726
463
349
451
36
469
968
98
985
107
47
312
468
993
845
379
15
446
752
923
124
640
921
186
604
677
495
976
387
158
107
884
498
469
844
453
446
967
327
250
602
27
594
57
810
205
293
388
757
328
378
761
436
324
769
655
478
524
337
17
588
677
696
280
971
341
436
690
756
635
229
779
523
240
134
851
729
70
607
81
407
89
238
882
525
700
907
95
667
674
445
639
693
6
329
299
558
615
802
970
186
654
917
851
412
460
777
542
465
781
173
414
558
758
182
195
613
350
927
268
470
91
335
530
701
105
21
993
74
585
352
601
597
50
119
660
433
170
708
681
945
954
499
868
662
543
305
388
436
442
843
73
774
275
891
681
505
801
302
8
935
959
352
477
935
964
331
871
508
221
533
646
872
307
400
185
854
291
535
910
129
247
277
238
394
551
540
181
955
619
561
271
431
261
465
544
374
949
569
916
231
570
475
563
903
781
967
804
288
28
710
321
954
52
278
505
957
295
944
178
802
701
200
644
833
868
529
998
479
667
956
263
88
438
405
723
687
220
958
869
1
543
173
89
609
10
505
916
176
22
541
861
786
686
84
509
713
955
279
234
624
135
486
182
900
856
80
569
102
37
689
321
513
340
819
353
475
403
458
85
16
608
733
406
541
387
690
551
607
888
60
960
595
753
465
923
696
203
28
969
612
283
533
339
963
866
139
420
338
455
782
296
997
261
780
493
946
683
81
751
28
472
441
829
947
328
161
984
751
843
957
529
860
382
104
603
40
226
250
919
490
942
448
632
87
501
50
745
908
880
381
474
243
41
690
215
556
106
352
579
219
285
751
621
380
373
872
562
411
585
411
124
449
576
593
25
896
492
356
731
25
354
407
542
118
879
323
79
424
596
454
267
133
971
382
691
644
147
897
383
679
185
391
880
700
433
213
680
139
525
244
773
78
767
97
46
43
10
919
515
729
815
335
132
382
557
105
17
828
552
376
15
301
121
960
150
101
651
922
217
62
728
146
486
950
70
791
804
989
553
700
621
721
836
545
215
484
676
373
783
992
392
155
29
878
797
627
196
437
649
653
261
851
905
590
896
389
170
57
605
927
804
239
794
164
835
310
951
619
505
781
225
890
958
768
407
352
501
885
274
750
386
806
552
390
279
635
443
929
128
750
732
780
625
72
48
821
184
502
695
758
387
452
7
566
425
865
959
757
52
80
648
875
286
198
234
239
834
622
465
185
257
333
773
408
912
754
269
810
425
352
316
168
302
417
800
944
620
39
841
313
616
413
76
202
200
182
297
332
441
707
403
687
47
325
819
161
927
228
67
491
142
225
5
97
97
229
56
134
587
77
782
606
8
252
857
56
799
782
284
68
743
672
211
155
48
472
174
529
563
276
138
400
44
238
713
829
793
14
828
237
489
114
848
750
899
534
840
203
778
996
634
83
952
812
86
497
554
995
123
461
900
643
210
902
405
859
200
536
721
813
443
385
270
730
812
407
738
95
211
181
330
129
668
828
510
25
882
245
570
57
973
987
447
979
516
807
708
927
692
706
336
555
533
165
991
264
712
860
319
338
545
860
821
882
991
263
423
166
908
850
264
761
487
51
878
404
2
571
719
316
837
192
634
309
113
545
563
27
254
701
656
369
821
74
281
537
862
433
700
419
101
877
603
711
777
379
799
221
659
445
973
825
78
723
864
64
571
210
859
335
921
326
150
258
885
189
219
298
172
203
840
211
278
638
378
932
252
424
820
587
704
792
79
637
722
846
131
154
695
319
769
130
960
360
910
764
35
770
788
789
574
527
646
59
898
874
775
291
717
439
700
58
341
996
862
260
73
791
615
965
736
232
259
657
386
914
171
784
252
145
948
437
748
165
618
728
149
530
616
399
119
195
81
340
758
874
929
758
68
475
816
516
818
886
693
248
138
181
82
452
100
838
115
828
381
47
589
961
800
144
983
326
99
171
908
400
642
679
222
556
729
698
456
255
705
468
656
685
860
104
254
285
474
124
43
935
744
189
382
320
579
332
997
902
693
701
632
160
949
97
547
54
937
845
95
942
912
71
994
952
837
308
258
821
656
914
468
39
433
620
145
499
78
565
272
574
880
580
792
905
385
909
875
795
300
792
453
662
671
476
133
943
753
811
837
427
672
893
940
168
722
280
253
55
43
119
480
281
549
274
296
576
951
799
749
832
843
151
804
146
517
927
898
973
262
911
739
153
10
696
743
876
629
956
326
94
192
621
599
540
219
1
804
823
64
33
770
955
947
259
125
683
879
368
861
895
737
707
307
234
666
751
48
570
755
674
958
994
860
911
860
429
665
35
934
548
267
629
860
579
465
453
430
104
979
437
795
162
578
667
800
767
48
182
206
845
778
225
779
168
837
424
306
691
895
107
159
884
536
69
453
355
892
617
684
151
442
249
564
612
495
620
177
167
162
454
631
835
72
699
250
383
567
226
200
822
849
124
144
609
989
988
186
462
780
440
510
622
935
465
104
857
404
475
149
588
411
110
342
868
649
14
254
337
39
876
38
8
302
270
23
334
634
580
656
434
43
627
40
598
192
49
384
466
899
841
113
458
749
443
670
596
482
542
550
472
823
659
32
699
901
498
134
539
102
773
799
626
756
31
638
424
798
828
262
11
895
761
247
705
994
325
646
277
524
79
377
622
21
378
538
808
512
867
394
384
527
502
848
946
989
368
29
58
230
673
847
643
592
303
817
442
762
343
189
726
984
446
611
12
822
105
547
252
840
896
319
817
735
304
970
736
671
906
140
127
527
598
473
481
80
500
26
826
875
165
569
393
49
666
778
269
861
572
921
666
349
101
439
691
347
678
549
973
722
105
320
932
26
737
389
98
14
519
120
327
622
223
68
475
968
482
897
305
804
110
896
634
163
888
881
318
725
444
895
97
876
486
696
901
855
804
48
306
916
791
726
221
438
847
14
198
755
590
539
866
880
987
76
369
239
493
119
485
535
296
103
297
529
554
170
665
741
350
858
376
350
928
805
358
778
512
61
233
631
370
771
16
385
63
520
757
525
39
723
956
163
101
525
765
154
316
634
443
804
728
503
287
356
957
224
796
298
72
23
327
235
271
884
619
837
716
953
355
624
837
455
129
461
959
557
786
529
295
225
72
707
458
668
845
794
265
377
813
263
97
732
106
950
646
735
433
386
180
638
328
545
508
945
960
270
830
402
988
678
54
461
522
772
801
799
719
559
497
146
853
545
74
536
772
935
857
109
480
670
523
299
594
968
227
515
545
262
546
178
455
582
722
154
653
641
424
83
455
749
880
623
931
420
753
468
480
493
869
398
599
508
603
814
897
904
586
613
892
680
347
683
104
676
427
499
350
378
113
165
120
798
676
633
368
7
694
515
966
974
104
527
305
170
664
899
814
774
387
829
145
835
872
440
161
35
30
928
423
697
213
191
190
190
566
822
833
352
350
284
848
650
835
317
121
625
185
418
648
527
229
305
562
66
319
396
617
176
968
567
764
382
520
559
547
413
33
238
71
84
297
62
67
429
866
622
208
603
299
930
625
192
280
947
8
985
765
698
168
204
171
584
183
248
932
251
836
801
926
959
276
770
115
453
298
349
360
577
987
724
304
213
626
573
978
412
648
848
507
171
176
420
326
707
286
256
963
380
860
184
193
938
256
27
824
933
546
88
572
498
582
386
401
781
179
656
585
585
207
587
575
598
78
52
454
672
388
849
964
231
858
80
195
561
354
506
997
839
514
84
489
756
517
247
313
428
362
101
663
834
440
807
667
736
681
96
986
911
490
116
458
579
893
886
748
392
58
247
858
371
797
383
280
861
695
261
414
901
879
59
505
106
765
719
457
478
439
126
552
807
216
547
106
280
479
28
677
439
254
639
106
484
412
311
672
422
90
668
484
501
292
57
179
250
300
80
990
882
693
974
167
64
435
453
432
580
961
419
390
198
720
662
358
2
541
692
542
77
267
489
487
395
648
227
72
772
687
376
781
690
360
495
198
289
237
351
809
480
866
35
293
450
563
816
87
715
662
229
62
919
163
723
290
55
650
465
852
999
241
737
610
487
245
457
750
216
217
647
809
364
269
911
90
671
290
369
417
518
110
615
389
102
92
638
566
667
854
609
926
568
191
147
536
970
268
283
734
432
83
931
582
575
5
52
889
530
316
385
920
838
237
419
35
635
748
869
140
830
995
657
454
606
705
235
19
202
390
259
555
443
900
267
135
799
619
229
536
25
815
959
188
706
128
219
857
740
238
559
379
50
627
160
520
194
720
509
479
324
142
187
510
353
178
614
922
150
909
873
621
494
73
107
333
74
995
229
759
654
595
652
946
671
314
201
83
887
418
710
980
367
191
787
403
380
382
153
316
287
183
120
572
954
79
496
732
948
748
721
294
692
137
404
764
202
387
342
518
555
719
244
255
614
83
756
388
384
44
817
712
707
252
97
235
98
906
424
728
175
879
848
931
105
710
201
971
570
239
9
127
286
127
707
770
197
235
730
11
424
305
713
965
271
951
518
161
676
336
670
119
813
777
269
534
363
664
375
368
255
152
854
574
511
736
509
821
916
226
264
967
596
33
316
415
580
569
883
748
573
521
122
498
71
637
420
98
177
319
388
173
423
405
978
605
166
112
382
193
200
264
141
768
366
330
426
985
833
867
165
938
760
983
535
941
796
629
602
963
855
516
994
646
492
268
320
845
993
12
503
814
354
814
22
945
176
570
33
57
246
593
97
545
497
943
991
481
875
879
313
100
484
264
262
2
793
69
880
589
744
123
703
350
777
722
58
640
123
321
839
839
527
923
137
781
880
427
906
244
790
628
577
825
987
871
66
539
329
116
349
208
409
555
457
282
954
530
343
672
267
867
639
614
455
653
796
34
912
360
287
20
993
282
105
947
877
607
831
257
815
603
533
179
81
897
719
377
733
537
968
126
857
11
940
462
938
401
714
922
173
608
748
784
469
332
990
276
997
905
926
1
456
805
340
32
846
704
803
881
283
538
415
217
854
516
589
936
110
614
367
629
115
787
863
290
825
450
55
750
115
453
831
361
868
428
706
239
560
794
458
147
402
590
359
624
633
948
219
502
684
890
514
193
379
309
683
392
445
101
595
978
925
208
410
457
298
966
536
571
858
46
439
577
847
511
489
70
310
309
589
750
700
62
711
550
152
670
403
532
891
104
90
252
129
761
640
414
290
490
575
537
250
853
342
174
930
896
905
582
366
340
105
657
456
347
320
298
0
179
450
819
558
493
38
875
173
932
688
710
704
955
42
133
758
663
162
857
901
286
791
569
964
749
953
619
403
44
174
925
421
690
645
674
395
138
439
453
120
335
762
992
25
984
602
7
646
51
460
554
217
568
350
3
0
16
582
627
976
43
354
510
5
332
279
27
33
981
905
656
181
199
748
759
66
689
379
549
884
531
361
171
980
143
969
263
947
890
680
324
408
317
673
736
217
400
905
558
164
498
469
436
256
254
720
840
485
9
252
836
693
309
663
759
992
918
106
225
654
751
896
505
220
536
513
212
642
336
845
190
206
42
590
593
369
432
912
811
981
638
229
26
4
921
614
367
111
793
451
401
858
999
727
702
700
530
597
931
426
114
849
631
208
776
706
269
195
77
532
884
454
561
27
52
946
851
555
726
144
826
670
165
63
96
817
93
52
828
481
670
120
270
943
370
146
281
455
704
790
711
461
633
709
424
625
7
534
722
426
246
806
227
595
803
285
958
716
885
140
351
494
317
705
312
481
739
495
87
314
300
655
699
253
81
966
374
449
623
870
60
480
627
31
917
466
439
719
124
862
521
803
199
726
125
942
506
966
622
497
713
352
446
248
196
57
44
284
948
632
463
764
174
905
591
729
528
39
424
889
805
3
907
398
194
484
724
585
269
839
929
614
145
165
563
528
815
711
473
241
983
801
872
481
35
667
449
375
164
74
131
762
598
987
858
848
307
795
792
113
947
938
277
686
729
415
630
388
592
693
567
582
574
256
699
668
882
591
722
183
16
399
157
522
76
797
847
149
159
704
505
799
745
927
277
449
917
489
23
659
520
650
527
699
612
238
892
596
85
151
755
866
678
201
278
6
548
233
71
77
721
520
278
277
787
140
907
206
35
835
835
604
233
111
129
95
642
83
363
461
573
286
109
494
607
777
233
174
327
811
563
694
42
629
69
575
369
46
224
61
895
500
589
930
611
223
664
846
423
235
671
519
461
874
213
690
619
122
321
222
388
215
509
55
691
625
434
554
368
33
400
144
615
796
874
923
939
111
655
711
494
164
158
942
559
769
968
847
296
82
556
446
233
322
452
597
951
626
550
991
769
907
77
448
423
108
740
623
483
498
289
219
22
164
458
219
383
44
329
708
287
888
446
43
325
926
56
116
370
881
876
834
536
878
353
748
144
290
962
495
61
887
827
6
290
545
667
606
359
640
241
871
379
328
12
140
420
888
446
804
335
524
274
159
96
333
272
884
799
642
184
378
857
753
285
311
985
357
692
124
605
379
595
419
860
325
336
687
758
812
143
824
765
211
915
151
530
887
265
155
317
764
19
506
970
576
204
355
74
474
515
303
706
686
210
46
947
61
456
731
575
938
515
773
591
891
569
947
352
149
135
883
493
757
54
76
636
498
856
912
884
450
911
108
485
843
127
409
285
51
236
638
757
869
372
247
461
287
922
504
531
28
369
257
993
959
878
390
157
445
800
569
622
671
168
789
501
96
364
679
296
238
924
456
592
301
795
23
382
460
719
147
973
795
337
513
334
85
298
115
303
801
787
936
294
693
663
927
149
821
389
68
290
911
590
234
474
828
124
298
588
312
312
740
474
336
775
285
100
526
474
481
830
804
491
799
952
668
30
289
649
791
11
241
158
765
552
739
726
294
832
139
690
292
542
545
110
958
888
109
212
987
167
540
59
941
391
68
513
974
52
55
53
176
180
642
573
853
743
961
677
650
130
324
425
320
803
820
109
163
869
809
572
427
570
236
262
946
392
335
294
303
36
277
615
362
651
183
777
170
913
797
817
418
860
789
970
701
575
152
394
893
756
376
709
988
429
434
653
894
250
469
661
121
593
46
538
809
43
161
355
210
387
734
916
490
505
238
831
259
413
275
359
76
462
651
331
310
875
892
592
533
610
63
147
781
702
615
538
621
486
360
29
505
657
930
599
581
824
818
759
345
823
631
224
74
259
512
379
438
347
609
19
864
962
32
883
778
151
282
184
804
736
29
988
45
723
517
736
88
135
702
862
605
189
820
376
199
13
636
661
52
114
253
159
207
981
497
688
908
303
526
616
102
160
689
571
763
912
807
417
606
175
529
884
910
159
783
874
834
577
731
594
557
127
147
912
198
981
203
79
791
219
683
726
91
524
27
615
724
642
772
409
636
204
426
385
187
204
754
421
66
389
489
705
798
423
124
429
847
222
310
314
438
606
369
976
748
183
234
389
99
319
140
432
886
750
838
711
999
653
438
421
731
915
549
686
630
100
547
576
129
106
18
82
868
75
149
641
47
749
220
326
470
879
975
51
550
784
635
831
762
920
820
886
3
362
186
968
262
93
188
586
566
227
814
252
340
475
541
40
685
524
276
366
519
792
663
130
912
320
968
726
267
146
868
318
639
221
685
886
669
79
956
566
507
951
628
991
533
643
354
958
534
453
577
734
843
228
397
517
628
941
65
169
592
386
642
690
675
455
823
288
667
70
91
710
521
919
774
196
58
619
206
948
475
112
24
355
799
640
756
874
509
588
536
50
439
807
242
61
395
355
979
444
722
915
305
778
631
551
965
28
923
6
894
548
381
576
141
774
885
3
849
227
769
911
929
86
955
734
788
725
615
144
0
626
329
970
973
201
153
779
919
776
966
159
957
94
897
953
531
908
199
835
245
983
623
622
835
867
810
727
954
44
357
615
343
460
461
114
40
769
432
990
877
207
582
845
506
438
811
322
823
295
749
415
638
201
674
353
981
287
142
218
59
918
184
512
950
471
306
278
927
94
132
314
311
63
776
438
964
816
450
91
625
331
659
126
37
145
646
722
438
707
221
855
335
957
652
885
164
863
853
505
504
292
408
489
167
470
102
332
402
829
258
652
957
126
501
856
382
106
970
859
244
474
805
68
688
900
502
205
710
415
472
167
318
248
871
651
864
309
876
424
849
51
936
889
670
534
649
807
25
164
953
140
262
967
301
585
716
684
961
110
858
713
4
113
73
401
893
278
929
453
770
920
115
888
725
682
644
872
980
65
700
738
232
596
361
474
876
884
709
588
742
935
356
97
709
856
749
738
794
478
67
283
488
165
191
91
308
907
726
626
721
275
642
769
234
184
725
606
188
123
987
430
158
516
750
708
11
106
383
225
20
483
844
140
416
980
133
430
167
295
92
475
682
785
643
997
885
106
930
918
288
0
830
70
235
411
655
806
468
308
266
352
139
332
491
210
880
320
332
180
340
645
684
767
10
919
892
429
860
133
886
199
869
384
201
577
34
619
603
665
0
736
220
963
991
397
621
558
434
565
295
927
116
134
193
295
151
709
660
570
551
346
136
670
538
818
590
877
421
59
388
743
433
722
848
217
290
226
27
725
238
506
581
296
64
704
659
678
896
535
412
295
470
289
241
744
990
470
951
595
651
566
803
376
158
154
920
336
364
216
96
423
836
505
737
694
939
248
29
625
704
533
873
529
931
520
830
485
899
833
520
539
637
125
265
557
566
725
380
282
153
803
295
838
583
524
193
937
474
473
934
335
346
313
429
322
825
169
704
412
521
850
0
620
416
474
9
136
791
681
458
98
545
321
674
547
542
761
927
279
133
539
598
309
128
255
444
194
102
831
667
87
505
249
637
920
871
746
177
83
752
360
746
894
813
794
564
427
182
790
768
144
395
758
216
555
691
686
872
88
376
223
427
708
345
263
414
983
524
878
5
5
948
798
670
735
867
944
469
716
483
825
508
703
42
649
77
894
355
703
685
722
661
793
739
606
34
274
73
545
81
458
579
623
433
106
875
823
714
422
677
258
216
272
905
676
560
128
773
971
732
730
469
514
506
829
125
250
279
185
285
360
655
913
637
742
586
149
83
103
319
304
733
285
266
619
588
196
495
159
411
172
232
524
816
46
130
625
434
241
250
444
565
346
131
772
262
197
644
686
37
880
945
736
847
909
268
470
956
13
401
814
537
887
82
286
316
304
16
727
330
317
607
77
732
745
628
319
910
139
840
597
814
905
819
628
29
616
0
552
75
285
587
99
457
765
861
415
931
35
355
153
497
361
296
835
525
489
950
859
175
525
557
659
577
984
191
720
677
482
15
760
919
136
546
993
803
634
599
988
851
555
100
586
596
261
2
849
575
90
991
462
829
564
95
486
627
705
348
828
416
87
285
205
745
719
784
988
940
750
639
617
637
755
545
575
568
7
114
166
621
142
656
0
927
404
842
47
510
573
107
733
466
944
896
116
657
650
898
321
360
158
347
423
990
547
937
622
535
451
308
371
728
531
583
667
709
191
656
632
227
37
935
937
560
274
857
112
848
928
147
141
792
835
962
726
370
861
940
256
491
46
436
895
744
982
583
823
549
590
920
676
402
697
817
4
381
90
309
174
292
741
228
562
957
449
181
725
503
127
405
823
548
549
634
910
853
762
669
182
524
685
575
133
368
990
504
407
124
869
35
218
956
960
510
183
397
155
349
120
951
44
898
546
348
622
717
174
212
798
51
38
824
477
392
18
925
67
969
839
849
932
130
269
116
451
111
177
440
866
670
722
910
361
770
420
166
275
707
510
852
377
371
806
195
744
789
134
968
269
686
902
975
480
881
205
65
458
823
614
49
970
926
622
765
820
77
639
329
361
604
52
372
335
896
97
730
86
490
744
241
202
25
447
671
32
319
393
878
804
98
828
589
873
540
854
850
114
104
347
663
741
175
540
447
805
603
589
736
433
140
180
526
931
758
318
768
81
483
160
430
360
173
787
759
971
857
433
332
952
675
715
989
621
595
682
336
123
841
700
427
741
869
210
449
925
324
262
705
940
983
687
542
972
186
195
232
954
220
203
416
281
962
638
350
975
400
994
334
152
196
448
19
174
799
547
254
187
124
487
507
382
238
252
333
852
955
728
396
822
943
401
791
354
366
673
221
23
199
488
239
854
981
11
778
782
582
243
986
23
728
805
38
65
456
369
3
666
820
635
358
117
243
68
502
549
467
301
807
662
394
83
780
608
462
770
887
629
638
81
688
358
249
795
750
940
293
841
557
543
931
479
633
245
591
776
830
752
576
495
380
664
403
832
757
970
127
66
86
154
69
138
39
654
946
642
23
289
340
290
112
925
98
337
437
781
501
306
681
917
858
883
523
198
964
828
982
58
256
936
551
432
303
719
334
676
622
370
445
871
33
580
181
558
157
911
261
877
386
802
310
453
96
718
898
466
812
569
16
444
62
853
504
529
98
737
197
770
587
234
571
452
179
879
742
961
131
300
441
924
719
300
574
168
18
609
306
464
597
349
300
547
960
194
450
766
740
543
894
398
706
799
401
20
673
213
963
874
733
135
557
462
226
15
716
62
875
979
871
271
964
350
693
920
108
315
343
321
364
192
757
862
311
995
863
672
543
476
827
961
928
431
691
152
286
415
864
316
498
45
289
612
196
982
935
704
551
409
611
226
378
517
125
257
825
309
688
811
121
245
684
62
247
590
295
516
865
506
870
178
833
835
55
54
583
178
671
331
299
673
396
816
547
269
417
213
119
245
767
437
119
693
310
845
573
636
299
167
922
564
137
685
953
759
2
798
446
157
735
660
289
363
889
680
13
665
315
98
165
55
171
290
205
275
873
891
372
118
500
229
431
207
132
612
630
55
568
1
816
529
876
997
349
99
464
969
437
32
559
996
511
461
681
940
424
633
802
789
51
576
611
129
693
659
180
750
33
191
247
532
269
663
478
344
211
475
723
270
45
976
634
875
265
284
875
835
961
41
524
996
28
371
780
254
869
436
64
152
877
46
819
165
528
365
497
756
217
460
844
76
966
104
308
739
230
971
284
47
979
714
973
714
847
361
369
44
313
935
763
361
372
666
660
314
510
220
63
210
420
804
49
867
33
323
968
150
830
343
817
836
156
369
611
623
738
449
317
771
703
244
301
229
152
400
778
341
841
306
618
899
303
851
385
978
619
260
354
171
625
520
55
588
496
761
242
811
127
555
472
368
964
549
834
977
40
713
453
765
702
751
722
970
13
515
109
129
64
239
939
117
968
998
770
848
963
481
898
859
610
815
683
932
414
349
751
742
407
894
14
372
778
632
813
182
718
990
837
940
553
45
860
230
536
472
950
793
31
837
431
956
467
41
298
904
621
884
81
619
969
631
225
869
469
963
699
119
744
285
668
543
43
934
807
852
179
621
385
556
294
970
378
845
409
626
172
900
854
73
72
320
37
893
58
496
435
917
195
533
210
204
769
278
165
302
424
28
814
732
26
879
942
565
577
759
788
381
161
396
254
726
923
922
152
573
27
85
856
621
832
684
581
645
398
794
913
51
265
65
104
421
285
708
743
54
413
821
538
306
557
691
864
633
922
427
144
490
734
93
955
921
248
898
515
940
808
440
270
846
892
907
830
476
922
754
721
144
839
132
10
644
877
171
938
281
88
670
274
885
449
489
349
343
890
164
266
142
261
454
438
317
821
612
275
12
517
722
849
395
461
242
418
716
468
783
271
687
953
959
219
189
951
287
55
83
712
494
361
622
18
918
247
662
886
329
178
550
760
281
552
105
67
676
569
839
400
391
147
97
6
734
596
664
523
749
703
690
546
132
179
922
277
961
867
2
225
381
980
402
955
576
226
840
253
8
745
11
77
466
808
910
738
926
246
124
603
989
180
569
168
510
6
361
2
559
260
868
799
450
396
680
84
859
6
216
732
857
133
297
251
351
99
96
260
792
427
606
21
753
686
103
2
551
777
703
350
42
509
504
120
440
552
439
208
575
539
262
487
682
228
932
719
426
883
352
420
326
732
156
31
671
331
893
128
898
120
548
559
584
970
839
545
607
276
724
549
339
563
75
107
226
748
573
532
203
562
274
86
557
816
466
736
957
14
269
822
343
473
312
972
105
933
344
290
828
587
242
543
209
336
823
485
703
169
867
387
628
939
401
840
583
588
256
647
84
880
156
557
373
381
459
682
295
502
64
736
258
452
709
51
586
963
938
81
115
941
26
46
243
25
360
590
834
787
746
438
458
160
659
375
990
258
679
330
202
413
270
854
316
629
468
224
964
768
594
150
238
444
227
677
447
235
816
427
925
812
109
225
207
570
731
93
573
50
605
677
704
684
369
65
681
389
835
90
963
502
936
786
425
542
711
618
805
279
260
38
894
417
873
672
997
20
422
118
613
540
686
571
711
259
176
591
945
913
312
400
419
611
959
972
310
513
864
486
255
985
311
789
826
231
704
319
599
955
606
421
85
266
674
657
20
95
614
336
367
60
380
898
204
178
759
117
901
803
57
658
545
514
973
123
866
460
345
201
131
468
398
177
721
471
735
182
951
215
72
830
442
188
396
214
377
196
831
824
485
577
304
854
869
757
264
515
530
599
407
768
282
781
395
554
656
289
781
154
824
283
402
523
327
12
896
371
765
547
242
232
65
90
579
631
310
406
411
617
349
620
373
878
546
971
56
666
317
691
608
41
569
414
466
289
440
607
364
600
526
354
122
820
645
666
45
493
639
805
152
220
947
837
416
117
606
265
908
628
919
844
812
268
394
156
902
6
623
144
609
794
528
45
299
319
834
992
18
411
309
181
828
815
433
252
267
505
26
42
616
443
113
456
725
104
858
109
790
420
184
929
897
776
889
249
121
972
68
155
118
28
932
104
448
686
842
310
901
290
955
698
131
891
981
818
740
182
204
69
726
759
681
680
643
357
508
444
319
533
258
115
806
430
69
353
643
4
364
996
100
988
370
629
494
109
180
650
89
31
964
631
464
292
285
154
321
539
794
552
951
963
822
134
174
691
887
661
821
112
602
855
577
493
868
157
129
488
17
692
421
922
812
694
319
858
324
171
366
810
497
464
245
212
258
67
871
176
679
764
353
291
811
999
328
823
911
71
991
990
243
680
987
29
950
768
565
185
35
344
22
142
805
187
315
428
88
293
228
493
847
255
122
498
293
543
161
833
259
541
50
569
821
205
304
26
267
638
217
837
109
713
58
302
74
906
152
525
19
950
332
100
760
921
276
108
330
512
258
224
166
154
549
182
91
472
247
659
571
774
342
919
198
709
550
509
283
532
656
777
594
208
874
382
95
815
454
439
558
824
350
330
779
30
530
976
662
69
599
800
997
571
108
372
704
333
975
946
5
779
533
631
444
855
969
968
332
269
916
839
225
654
764
165
406
585
460
670
27
564
1
687
613
824
454
842
871
717
913
164
437
235
675
947
851
407
736
780
825
369
478
310
869
167
307
691
385
201
664
553
904
347
574
339
314
273
768
186
788
626
127
835
245
868
797
871
227
490
359
284
698
680
544
791
637
695
91
421
436
988
760
715
945
967
436
951
641
444
754
628
191
801
570
31
121
539
447
35
638
973
269
440
166
993
866
421
937
490
874
870
795
712
350
384
311
598
921
685
982
258
574
919
191
861
976
565
878
643
256
172
778
970
379
367
288
820
211
63
808
54
823
653
271
224
381
583
131
926
287
18
506
264
754
922
710
683
549
522
253
23
133
899
556
476
330
617
23
453
176
499
577
963
483
929
633
837
942
748
546
892
790
73
195
982
34
775
947
467
569
414
342
751
689
437
995
740
417
376
80
978
44
50
600
56
122
943
371
180
365
637
203
808
5
93
976
391
156
523
517
10
97
260
354
88
50
90
472
588
768
100
600
19
599
409
239
310
687
702
760
232
61
837
358
497
558
937
795
553
163
171
287
732
139
88
220
516
755
81
716
413
828
327
964
308
787
159
735
763
782
515
172
399
588
511
575
245
848
816
258
804
422
678
842
36
274
324
936
399
975
194
816
949
588
410
472
410
304
254
562
79
31
297
235
513
917
797
134
823
322
735
634
978
472
351
710
906
888
467
390
208
962
697
160
948
926
541
832
758
33
86
62
564
512
352
19
103
401
216
211
162
6
869
531
682
576
119
882
558
631
966
719
285
507
324
10
965
341
989
490
874
450
713
975
204
670
872
387
233
883
46
788
79
739
446
267
70
215
766
467
733
729
63
103
981
836
1
42
893
913
752
470
945
824
321
140
86
909
955
718
876
158
887
880
239
484
998
211
584
91
136
0
214
966
855
389
608
870
416
758
425
417
552
812
24
201
461
988
976
281
380
693
586
536
581
616
842
867
862
485
937
731
138
39
929
583
597
458
951
479
813
953
852
126
817
11
627
879
166
198
222
772
899
590
568
917
40
278
163
818
138
957
963
802
841
971
225
869
306
173
285
883
335
351
916
542
557
417
237
78
226
486
166
883
699
993
648
301
242
272
803
290
62
357
388
828
327
970
182
429
375
719
300
618
21
913
114
344
381
982
392
95
149
17
38
429
229
516
366
473
600
496
81
981
399
217
767
276
487
543
829
991
414
734
657
656
131
136
677
423
729
466
946
847
540
114
918
201
398
145
669
275
525
624
339
587
825
669
990
161
500
912
121
820
453
614
148
194
817
856
32
54
516
822
269
985
202
412
195
932
300
281
549
540
418
486
94
189
927
725
517
729
139
723
300
543
775
545
641
344
146
967
878
209
94
665
958
299
667
525
944
737
625
39
947
831
719
50
474
503
77
581
179
330
554
61
368
811
491
598
374
345
626
557
386
944
484
218
645
483
711
35
489
33
917
426
166
60
609
557
195
859
528
492
310
709
263
864
342
412
857
683
130
725
977
494
707
507
94
485
637
672
69
197
449
339
172
470
215
333
459
812
85
385
570
591
480
348
807
788
28
429
412
607
90
845
645
354
270
63
570
631
954
774
51
53
339
89
393
350
776
532
688
245
936
477
267
710
14
631
774
297
697
488
30
637
66
546
780
762
252
795
356
241
760
417
542
53
460
899
39
976
257
62
279
267
28
745
981
666
412
135
649
489
14
329
25
995
926
12
161
720
708
519
864
501
628
265
685
575
933
819
916
157
155
256
542
408
608
926
744
999
31
825
432
494
499
357
839
369
355
583
546
189
888
442
975
326
569
598
257
527
811
68
844
855
978
205
477
830
368
922
666
525
799
905
757
174
630
76
225
280
926
961
947
702
13
626
476
221
442
853
401
653
951
918
754
182
558
818
739
911
486
611
308
678
267
971
341
323
339
654
990
507
686
428
329
934
715
595
65
661
524
646
691
648
179
54
625
92
510
558
617
872
958
890
268
152
437
509
827
294
398
387
524
311
732
815
743
337
479
637
46
578
532
281
491
446
94
809
654
592
40
303
448
496
527
442
419
963
589
986
917
57
659
457
759
418
156
563
673
942
638
393
654
309
260
697
565
734
695
287
969
405
713
732
656
935
752
884
186
815
52
753
388
627
44
975
970
693
334
495
973
94
3
429
930
296
190
388
59
399
413
453
340
481
735
726
560
965
443
688
80
494
838
959
902
14
159
181
529
309
105
637
371
92
872
889
930
607
555
331
566
763
412
659
241
168
0
618
416
556
120
926
220
697
474
63
655
256
538
130
260
510
969
706
58
160
238
269
644
868
467
971
851
943
895
939
944
96
269
639
704
903
297
122
279
753
32
24
501
476
630
479
797
851
997
555
534
334
708
624
672
9
719
852
322
615
339
374
734
283
149
719
269
733
988
976
969
789
390
929
505
107
133
643
921
773
733
544
300
433
33
350
481
389
356
591
139
947
770
574
447
971
402
35
190
175
552
591
154
599
247
867
670
612
190
257
476
912
104
168
866
617
692
109
776
858
342
785
404
821
991
288
835
88
800
136
289
209
336
724
833
862
26
160
296
796
652
976
102
383
536
940
312
193
317
717
741
540
794
412
144
752
59
804
246
457
132
69
751
942
457
230
508
598
847
765
49
421
22
767
733
252
915
494
683
939
4
990
940
193
222
966
392
975
783
125
585
22
55
913
703
25
679
73
177
830
346
960
481
547
28
523
469
64
7
568
214
398
663
220
730
87
695
247
134
135
737
958
72
597
828
861
892
316
995
40
854
745
847
861
68
735
117
89
369
671
357
616
212
141
99
706
501
697
754
176
479
355
769
933
628
779
922
347
385
311
20
303
652
744
852
823
252
248
288
361
246
769
982
514
967
732
361
708
591
291
37
840
757
21
302
787
105
194
915
73
34
540
167
628
793
659
218
102
686
276
716
527
851
517
941
43
703
930
171
561
496
665
222
49
656
627
279
707
444
882
627
18
740
79
121
839
735
890
525
493
992
808
872
787
917
697
20
540
169
257
144
133
412
235
762
454
904
185
601
575
239
988
43
167
692
349
302
117
205
183
491
585
586
60
775
887
660
415
794
684
723
353
39
559
10
908
231
278
51
957
679
674
367
555
129
127
430
981
17
369
450
250
549
659
453
617
341
179
781
9
928
356
516
757
946
51
684
329
815
731
963
943
637
163
548
196
757
874
907
164
486
404
315
768
147
861
30
242
178
518
835
447
746
517
459
26
368
454
984
134
105
159
839
914
259
470
808
440
88
910
313
553
562
961
904
977
486
82
251
784
246
47
525
176
984
805
514
240
926
106
890
462
758
18
756
43
251
369
176
440
513
879
947
438
318
174
0
409
385
887
323
547
458
487
852
798
317
38
576
383
936
127
70
850
614
232
267
488
681
45
894
422
607
237
943
412
135
717
586
703
202
437
222
539
427
171
651
205
537
432
909
359
383
505
642
55
835
299
719
942
217
15
974
167
787
727
109
724
402
397
692
323
440
158
842
886
573
561
225
481
954
603
297
250
488
889
911
56
607
657
76
494
273
361
549
605
669
541
846
559
273
456
118
399
813
699
345
103
820
366
28
941
581
600
191
741
957
610
387
717
641
849
438
70
542
167
269
774
893
693
208
845
147
630
3
722
10
996
370
793
323
465
659
644
113
462
683
783
195
795
536
27
841
704
703
748
405
75
105
46
592
582
926
373
148
816
807
542
650
520
99
494
322
528
193
660
362
854
562
530
513
670
409
257
560
317
488
389
932
781
514
689
213
993
248
265
984
246
494
998
727
106
807
381
121
46
251
461
932
557
93
460
81
830
813
713
832
763
971
889
986
174
576
656
769
56
527
386
605
139
708
975
235
661
394
448
884
682
423
471
295
537
224
545
778
351
282
995
964
701
929
919
991
194
971
609
248
944
686
360
289
353
760
599
3
2
705
352
246
331
314
819
158
66
277
789
973
173
403
987
313
527
855
666
220
949
756
703
452
595
507
212
715
83
296
102
645
296
944
848
559
339
621
324
97
696
457
114
798
805
70
257
46
999
614
904
624
93
377
323
878
48
644
590
330
730
996
486
703
683
233
755
719
456
443
760
449
702
46
17
613
176
988
416
529
63
406
458
40
798
15
251
428
643
978
278
942
727
681
82
79
679
465
383
553
739
996
981
825
292
273
708
989
527
685
227
754
540
215
478
784
372
431
213
82
683
147
507
978
901
717
932
909
793
327
265
688
230
169
709
878
272
173
915
447
135
429
238
622
697
695
872
165
672
74
20
125
300
937
635
411
312
298
282
521
892
602
680
188
895
367
200
295
4
23
480
798
779
211
466
185
830
797
351
747
76
234
329
950
331
458
797
114
605
254
750
110
814
460
843
760
222
668
899
474
314
53
454
305
133
248
522
548
403
673
642
542
204
857
442
925
785
448
784
169
523
447
288
496
23
861
172
346
997
653
396
451
625
86
727
286
605
453
305
779
495
972
804
716
371
654
985
479
253
229
311
946
296
718
133
735
490
838
835
212
632
269
517
997
700
474
998
43
116
769
975
574
533
418
775
495
200
389
424
605
930
775
48
533
946
313
909
3
579
98
633
706
489
346
784
190
737
367
396
907
960
838
548
128
132
446
576
283
513
418
719
302
962
507
80
325
605
235
3
422
860
42
100
359
437
969
886
209
667
270
322
196
715
617
220
556
781
970
838
561
951
960
588
157
509
629
569
502
242
355
736
880
549
300
676
387
54
626
260
43
457
643
358
275
893
720
601
448
448
24
118
470
381
777
770
590
337
155
482
99
578
576
324
213
621
544
778
113
322
691
368
169
594
857
916
206
944
277
393
792
840
654
330
731
205
402
904
844
377
880
817
412
980
359
625
677
355
723
853
459
973
93
615
345
133
657
15
812
7
582
605
484
32
282
323
700
212
248
312
739
518
934
430
339
766
294
424
377
826
409
652
969
581
682
870
974
920
157
471
815
23
549
159
31
547
776
91
388
184
262
415
845
829
539
347
878
822
98
789
858
696
537
345
588
127
684
77
981
72
245
417
262
290
173
283
669
555
706
849
626
687
615
496
641
617
9
32
975
299
667
811
164
685
521
55
305
543
344
34
915
29
423
121
891
457
628
245
419
161
771
275
73
370
278
691
377
165
189
839
620
290
241
627
426
401
631
660
369
704
800
12
14
812
34
308
378
240
858
112
316
760
280
429
144
455
903
474
863
609
544
851
680
999
947
178
576
707
671
324
89
652
984
671
845
758
414
515
132
209
291
862
277
306
760
387
791
176
525
236
38
532
217
20
639
803
576
380
689
783
746
108
924
833
937
677
263
836
339
163
489
119
416
568
503
561
392
885
469
780
996
734
630
911
268
373
654
741
803
173
970
84
466
47
471
933
305
110
222
451
556
507
354
694
552
223
939
991
394
177
481
283
379
939
223
682
371
2
64
202
972
813
347
266
939
630
139
713
821
165
580
800
164
609
565
374
941
691
809
901
589
124
808
935
974
308
386
546
294
181
293
398
330
556
882
694
974
763
790
783
390
561
428
601
238
967
443
584
499
475
514
635
344
345
591
834
489
32
93
812
881
118
566
976
449
0
975
261
23
871
701
788
23
100
283
149
884
165
730
264
179
742
779
220
429
478
730
553
182
894
830
232
554
216
192
344
770
607
900
214
299
676
413
60
550
281
778
503
589
547
766
554
564
977
205
346
319
880
548
949
269
502
650
223
212
305
521
482
9
160
369
533
272
236
953
827
782
426
221
342
971
914
373
36
58
727
833
801
577
991
618
58
886
330
347
986
151
906
206
252
510
868
389
362
72
105
333
470
864
780
47
719
14
899
113
241
651
287
239
948
348
759
616
79
103
753
14
855
889
231
216
946
382
562
925
907
405
618
284
883
707
102
103
422
443
350
62
827
390
938
718
634
747
712
340
813
502
256
359
394
199
572
618
784
337
518
624
70
728
236
817
4
222
647
925
944
490
552
281
746
643
23
702
867
924
773
131
634
353
631
189
891
17
98
27
48
704
94
783
666
5
532
634
476
13
747
833
669
70
901
271
768
817
370
606
691
501
75
624
707
994
258
457
882
943
69
100
895
34
463
677
86
904
491
396
287
537
153
311
832
571
437
831
50
860
899
791
84
957
940
227
338
650
401
795
242
634
549
351
797
964
141
232
862
360
637
623
917
500
746
704
227
87
483
32
597
951
55
949
253
370
851
596
789
401
503
276
846
154
687
576
725
617
987
131
95
445
979
736
175
438
829
745
995
482
896
854
331
393
33
6
715
738
670
870
800
303
894
736
917
237
410
47
676
970
701
485
122
98
171
369
765
486
961
827
569
963
228
617
233
72
109
462
914
187
594
263
659
685
387
442
692
762
302
666
662
688
232
388
429
946
241
331
692
320
885
362
609
909
512
89
760
281
577
582
191
419
670
341
960
228
379
852
271
897
764
229
106
883
41
970
568
952
74
727
731
509
306
410
289
924
259
46
787
827
425
72
248
763
371
213
295
327
223
635
411
861
442
280
632
807
303
493
145
857
261
454
800
253
542
889
362
744
328
298
16
158
725
108
211
63
269
407
28
289
337
78
215
649
308
409
94
78
339
611
935
894
837
41
116
523
477
80
423
142
60
491
921
868
237
138
187
979
563
691
341
267
530
622
485
859
24
412
857
716
876
500
378
695
849
90
714
46
334
675
86
598
542
54
975
993
71
142
82
26
6
5
988
299
699
751
44
238
416
209
773
496
825
751
585
652
601
735
664
559
34
643
279
715
754
274
560
168
975
176
861
111
876
133
787
770
576
496
865
609
143
641
61
890
657
67
911
613
80
7
651
138
215
401
487
82
584
919
725
10
184
9
258
701
479
928
556
128
34
94
194
521
624
764
436
498
217
455
704
907
425
921
490
223
313
211
380
845
87
778
555
574
687
699
286
146
358
242
658
194
108
353
666
811
97
148
240
319
354
646
112
528
443
219
233
774
21
872
920
925
762
230
713
235
735
199
651
825
613
353
626
118
818
587
419
243
931
315
238
128
82
673
617
199
265
907
638
121
838
308
841
867
147
935
174
321
535
821
371
505
385
977
561
392
839
73
204
844
549
758
202
901
124
676
930
941
83
54
300
335
286
858
816
316
370
898
786
213
347
299
838
373
915
623
228
349
305
411
443
558
605
633
205
247
385
944
715
282
95
506
309
210
193
409
212
410
597
161
877
702
701
662
841
497
639
542
79
17
128
224
324
423
987
626
925
343
183
619
367
112
158
398
738
630
841
448
506
71
98
101
444
873
135
621
831
855
872
940
406
225
761
186
710
837
443
397
257
457
469
256
144
154
710
360
97
324
43
847
930
716
365
268
387
581
772
122
438
485
75
360
74
277
256
249
106
149
620
798
794
866
304
381
20
730
782
853
15
955
612
573
497
11
954
201
563
719
750
92
897
464
474
149
498
873
536
669
97
126
696
531
31
884
380
203
314
488
456
847
708
886
385
765
339
565
268
648
972
859
520
893
603
13
668
57
485
946
919
345
185
451
750
859
600
436
129
503
88
125
330
888
388
320
300
336
113
663
144
258
665
63
800
27
813
662
884
108
313
741
473
176
642
717
55
178
77
657
304
64
750
72
931
971
849
624
847
436
168
496
851
578
713
272
889
615
890
151
789
503
820
379
714
89
454
794
711
905
644
1
998
184
186
561
244
714
393
950
146
32
377
234
62
993
137
31
943
681
725
41
565
43
196
190
92
758
441
390
310
406
237
217
912
644
443
71
57
891
153
410
988
297
25
145
384
207
860
812
752
579
386
647
194
397
999
198
638
376
990
684
693
941
32
921
861
406
885
472
144
431
88
418
162
844
216
556
492
133
922
861
844
572
667
277
31
839
285
379
326
376
883
486
735
558
346
147
398
316
121
113
449
65
715
830
162
624
359
705
430
113
139
140
722
429
867
129
635
16
213
561
904
277
970
145
596
265
997
557
219
667
345
402
303
150
253
717
267
43
913
56
508
715
912
544
443
623
700
614
197
517
633
260
938
776
611
539
200
960
185
945
812
782
492
84
624
546
519
544
469
488
319
852
693
554
386
179
117
886
768
39
789
140
467
570
640
333
228
633
641
525
440
266
352
235
693
606
47
776
536
399
651
464
206
961
88
233
63
269
778
760
479
231
834
562
962
620
21
371
745
456
740
484
890
779
851
397
813
900
407
866
331
844
756
212
234
208
542
612
97
90
370
46
458
562
808
706
634
178
244
832
586
748
622
758
344
488
262
352
545
596
717
993
255
135
876
248
197
933
575
327
802
165
525
265
192
499
171
36
613
391
934
384
55
392
107
595
950
493
651
165
471
788
814
519
428
245
824
24
487
67
549
566
992
483
779
90
102
642
63
330
897
398
114
568
285
723
138
693
108
128
760
291
586
392
706
519
349
266
947
397
198
861
908
757
17
645
206
890
610
728
890
250
6
375
71
364
94
241
262
624
296
423
856
533
888
57
371
765
506
558
514
945
608
128
675
781
251
587
989
357
293
373
563
877
447
579
782
16
425
570
281
620
232
491
985
280
738
656
946
649
635
805
209
585
323
35
88
516
395
995
103
636
187
807
181
827
101
471
206
250
536
727
842
875
727
663
590
508
540
732
893
319
899
50
563
539
428
287
865
393
94
193
511
987
556
308
945
289
360
956
328
615
58
511
618
281
353
936
557
253
892
367
185
402
851
894
270
770
596
533
95
600
774
658
804
117
368
881
513
587
714
179
105
369
431
2
959
418
72
309
121
888
70
354
780
283
360
885
240
824
824
456
829
591
928
462
850
470
478
616
793
65
746
581
986
686
878
166
758
485
456
764
18
888
522
26
427
207
374
230
238
739
335
270
433
838
195
531
714
104
998
356
824
884
183
957
26
355
454
770
387
348
351
51
243
472
898
150
371
934
30
280
735
613
653
583
113
727
776
113
590
962
454
567
140
164
386
839
142
964
39
343
294
28
812
638
229
94
868
700
853
830
183
301
634
532
465
589
119
11
887
787
896
499
617
756
57
823
649
593
87
810
797
682
630
205
972
994
892
265
350
672
953
743
880
976
487
737
354
7
142
521
269
99
177
804
317
758
848
482
825
323
790
939
300
757
969
153
639
615
801
655
199
856
997
670
521
990
991
226
263
628
162
52
637
78
422
437
755
115
670
393
43
526
141
607
883
20
813
602
690
188
258
232
605
347
784
767
609
56
490
212
951
87
240
495
319
804
940
779
190
338
494
338
806
574
167
848
489
747
639
406
25
108
308
727
547
731
967
172
526
122
166
213
20
841
688
534
478
203
284
436
492
512
62
801
846
411
497
613
301
601
732
188
956
154
714
814
685
619
877
107
159
330
7
986
744
597
695
282
395
634
825
935
76
170
622
434
521
155
630
183
160
876
930
181
812
42
342
490
60
677
180
480
716
180
853
966
559
156
618
503
296
108
781
841
364
34
340
435
2
345
919
95
120
85
122
108
209
516
33
136
578
734
394
863
640
47
621
644
971
104
39
846
56
692
390
35
878
989
702
593
395
542
804
584
826
547
622
266
623
306
108
863
76
979
31
4
487
854
345
663
53
866
337
515
984
280
964
408
727
659
399
259
780
227
20
464
237
223
85
381
72
200
667
967
682
420
325
437
92
257
207
353
448
713
792
262
701
561
46
702
611
423
388
240
638
668
278
803
937
537
335
257
824
702
878
41
678
182
62
871
330
148
616
373
634
218
962
5
867
820
518
67
287
698
248
926
947
197
776
128
405
824
69
661
923
906
728
676
906
296
376
91
55
673
36
802
875
147
411
572
860
672
662
164
223
906
456
735
300
597
39
972
189
928
623
334
729
504
65
263
333
247
320
333
322
219
278
158
315
799
708
742
232
644
812
841
185
347
290
46
47
589
197
561
708
400
318
441
707
867
458
896
720
914
427
358
18
103
858
513
402
974
31
138
198
269
586
319
199
131
71
859
608
55
419
861
732
181
235
354
867
145
897
104
198
474
316
330
685
210
346
993
989
961
435
37
252
891
968
743
738
391
598
365
456
689
103
792
749
458
172
441
500
894
210
743
179
226
669
204
566
947
74
693
142
235
215
41
633
262
110
988
772
358
884
821
436
831
253
263
478
494
98
968
436
931
591
897
978
134
662
544
121
273
496
882
45
130
687
221
677
962
29
837
601
865
914
311
227
909
46
317
362
761
622
561
754
278
34
97
505
880
56
598
866
323
338
104
261
230
126
589
997
713
524
530
617
454
873
390
555
718
518
257
590
948
596
307
565
992
871
47
698
37
477
278
566
60
135
789
80
646
386
877
868
687
273
110
819
88
807
627
915
623
486
771
781
279
214
479
837
747
114
537
329
911
369
700
529
875
471
194
362
449
494
303
220
559
115
799
53
906
603
347
962
39
567
326
769
918
493
311
114
874
103
829
241
662
884
598
35
304
779
985
210
520
518
435
995
499
923
505
637
539
346
785
763
501
207
12
336
370
456
453
790
774
557
635
708
649
113
45
499
961
23
962
498
868
605
451
314
389
83
83
311
891
670
503
693
195
292
976
35
358
609
530
285
894
927
316
938
99
721
666
739
495
676
896
625
192
87
612
700
118
510
381
314
374
762
979
946
104
424
616
129
120
851
313
283
290
108
597
756
510
937
128
456
421
293
546
878
47
642
779
572
801
231
241
9
104
411
405
66
456
503
323
793
543
496
166
212
666
364
58
183
131
187
309
684
786
534
537
968
500
290
467
278
806
31
433
848
55
132
856
948
302
348
200
535
940
900
138
628
518
906
979
341
275
839
319
913
563
279
856
607
373
77
441
786
18
594
328
271
446
124
706
337
599
217
26
443
47
108
316
329
143
70
826
489
363
258
183
926
290
308
697
429
89
810
307
907
561
701
873
628
738
738
899
163
680
754
767
672
125
200
380
895
267
813
229
637
522
952
284
332
350
33
563
187
133
888
469
833
264
94
424
207
161
617
896
366
934
293
961
624
529
963
68
740
529
173
281
87
16
90
286
306
424
419
164
95
697
639
465
810
356
278
608
941
57
222
321
44
630
445
326
506
504
917
150
134
140
848
666
223
232
851
678
493
304
651
510
820
358
805
5
631
420
537
882
824
25
120
660
824
143
167
449
814
339
495
633
83
690
986
252
159
923
776
254
955
188
524
617
385
932
827
243
526
200
820
331
523
921
456
82
755
58
220
218
280
395
384
990
746
432
773
332
441
614
179
552
716
54
999
405
456
171
649
860
160
255
568
824
131
621
117
264
343
167
525
187
428
751
806
307
95
544
948
652
820
745
2
153
211
819
117
133
440
676
941
770
584
59
659
329
276
458
974
371
61
524
632
462
697
525
684
899
348
518
247
805
274
304
633
336
966
993
970
881
698
646
877
619
479
230
4
989
233
610
837
835
80
975
552
206
380
833
520
528
923
506
411
235
257
487
523
706
900
662
840
747
643
427
213
550
705
911
562
888
525
93
417
874
96
178
654
807
87
156
911
472
225
188
779
23
343
201
435
29
746
7
662
223
532
643
11
463
657
33
776
741
462
305
620
448
2
949
282
844
960
682
309
680
586
44
155
935
731
313
575
13
288
85
260
681
881
378
381
308
50
168
115
298
266
815
43
416
743
776
115
294
778
553
457
706
162
365
783
729
1
770
937
237
811
153
962
614
948
873
667
658
307
188
221
944
86
889
795
989
72
48
995
928
921
154
114
232
12
189
39
349
862
974
548
607
68
323
819
891
48
597
329
195
337
894
412
659
220
788
650
679
54
24
122
536
471
990
357
282
283
732
626
508
882
979
415
874
20
535
732
964
84
624
633
410
578
125
382
862
706
886
926
41
257
586
39
718
351
445
299
848
31
201
693
342
884
786
534
128
953
905
477
758
732
463
87
608
847
45
143
712
544
611
423
933
982
80
198
335
151
923
43
146
711
894
337
745
749
782
773
799
833
722
780
957
38
50
688
728
587
766
896
191
97
856
870
680
2
497
535
628
7
778
400
654
683
122
343
107
787
442
623
776
288
947
943
913
30
843
846
437
760
513
296
722
910
113
495
172
485
667
587
303
212
254
503
198
927
415
4
454
386
251
590
274
226
480
7
765
963
166
582
434
135
789
781
0
20
576
280
156
657
317
737
110
558
60
347
660
92
944
414
399
497
960
370
803
641
27
538
453
741
720
642
673
841
540
527
409
681
796
346
272
672
816
579
32
213
298
37
809
242
300
459
614
302
569
129
535
755
234
610
393
185
778
155
961
660
486
55
985
67
692
963
549
536
499
875
547
620
72
502
517
986
380
734
74
980
361
487
203
22
707
99
312
930
251
311
654
836
598
518
812
731
935
133
519
769
300
88
129
737
168
678
283
881
584
299
880
938
985
597
995
290
381
158
104
313
603
336
823
444
941
624
28
137
670
355
574
604
200
473
928
399
939
288
597
256
808
912
75
796
585
266
177
677
708
446
771
18
850
67
492
421
250
247
294
860
314
265
514
361
63
90
674
482
369
375
473
906
247
371
628
594
715
586
348
910
61
437
441
87
426
614
429
566
165
305
253
612
208
811
378
475
401
275
894
696
16
999
823
960
74
891
768
181
952
632
187
859
683
895
576
422
150
887
422
542
847
375
828
856
885
221
644
258
631
666
918
226
484
523
988
711
952
851
467
557
203
808
748
292
834
410
813
798
769
432
750
564
3
483
161
520
230
997
484
674
248
933
795
639
748
304
31
747
481
735
117
59
920
260
158
304
803
863
640
514
966
549
388
483
960
822
330
776
602
369
966
802
249
668
46
605
505
941
452
189
453
571
910
833
723
749
350
264
277
775
273
680
695
39
810
28
44
220
638
539
775
936
626
633
594
164
261
417
560
603
262
130
550
389
382
475
595
83
988
660
639
711
57
112
355
243
27
698
822
807
939
262
671
207
744
499
980
504
592
205
635
533
66
505
905
721
952
729
194
862
628
285
540
96
680
727
693
116
113
529
982
928
664
720
524
543
233
807
774
656
343
923
224
296
873
887
924
496
892
68
978
943
348
606
294
189
192
855
925
436
497
629
44
37
138
260
597
738
932
667
499
859
987
772
959
504
67
886
761
836
390
401
294
621
299
587
54
495
336
388
29
721
392
261
403
293
734
436
245
305
55
672
714
230
156
488
2
842
279
343
702
844
853
478
59
275
3
50
280
961
266
153
217
623
217
499
667
100
431
164
936
58
290
94
138
480
202
582
394
636
677
883
557
160
436
205
245
49
795
815
251
895
136
940
700
712
413
665
257
389
732
521
132
636
24
560
212
223
14
86
321
864
890
39
629
478
247
354
128
216
572
835
98
182
650
653
80
943
375
735
295
210
7
120
116
941
626
85
852
553
786
245
912
843
481
277
291
650
88
194
565
66
763
375
680
728
540
104
954
125
126
33
254
32
582
740
246
585
621
727
517
335
429
267
511
168
540
28
238
553
932
268
757
459
411
664
100
475
241
817
103
588
972
271
75
328
361
306
107
419
631
596
540
866
440
146
269
88
863
285
392
660
761
356
749
928
268
226
323
586
599
959
930
485
405
33
203
393
635
256
338
354
280
340
825
902
255
300
815
766
390
418
500
629
348
386
323
355
888
435
527
141
411
874
198
643
649
920
886
155
765
130
75
154
617
37
924
591
4
508
690
272
945
242
557
431
972
476
68
565
733
161
231
971
646
753
394
686
365
284
76
785
316
662
820
676
655
118
508
841
727
32
827
769
359
876
894
396
264
146
423
419
688
438
746
217
766
134
583
0
412
675
804
711
436
18
891
283
548
572
586
493
252
237
488
609
584
363
165
903
853
415
735
785
283
945
256
435
663
767
667
196
863
731
265
343
137
831
10
538
492
935
436
543
579
125
852
144
640
821
648
874
829
647
191
514
412
455
3
300
819
205
138
632
421
115
361
255
863
207
536
901
156
722
786
646
356
262
63
294
788
46
804
365
260
110
231
516
137
306
256
59
165
785
395
168
221
672
823
436
158
555
333
407
266
81
430
708
743
247
970
776
981
480
470
369
397
142
840
925
860
98
942
509
990
688
182
288
368
579
144
204
914
65
446
933
654
894
768
296
839
870
632
501
104
749
223
845
278
642
860
794
941
120
682
97
41
759
266
921
663
610
948
834
515
187
194
278
414
32
268
753
868
353
493
195
738
342
616
142
897
195
926
586
552
987
68
672
624
308
91
666
768
499
557
73
780
492
288
88
795
65
224
35
554
204
429
988
225
704
14
232
197
154
842
183
725
499
252
49
11
267
403
254
949
721
52
90
431
935
182
382
865
502
822
973
553
893
282
112
800
262
801
637
954
982
803
512
932
531
636
396
328
688
139
645
570
77
480
176
14
572
185
657
836
508
966
243
702
408
397
678
479
32
841
188
692
920
19
88
980
936
544
590
707
637
842
619
277
949
220
21
987
706
781
487
312
47
648
172
205
216
564
812
487
737
272
815
880
978
362
911
553
584
101
818
706
37
74
174
251
688
403
980
469
922
182
247
802
360
434
899
97
488
140
371
429
895
377
689
632
917
603
372
505
180
616
984
566
960
821
169
369
611
516
328
49
264
725
639
520
418
357
349
25
584
96
200
515
270
708
927
700
906
752
425
51
362
26
992
299
528
701
446
30
511
858
93
151
18
867
400
482
255
960
754
998
509
251
241
987
139
604
984
37
964
892
845
628
531
936
99
23
131
305
993
485
825
951
544
677
888
770
137
240
256
970
507
328
347
137
707
704
578
705
271
227
158
413
618
833
792
862
51
73
143
912
868
993
55
931
805
172
935
849
76
118
704
936
412
935
650
360
200
965
898
30
764
701
462
450
697
309
542
125
7
458
704
260
944
752
391
715
215
600
183
678
5
515
817
433
443
246
986
849
526
674
776
928
954
715
546
528
945
355
626
350
637
797
327
331
738
649
516
657
350
213
28
171
305
43
600
830
857
929
936
713
334
957
121
646
309
731
416
238
675
120
482
390
109
420
608
963
842
167
355
125
213
705
445
216
356
366
307
449
970
460
423
451
293
202
596
803
846
481
733
369
903
201
575
108
545
437
284
969
876
226
0
965
273
788
238
21
657
895
848
911
589
249
314
81
543
396
39
130
477
337
781
341
734
8
765
257
803
284
855
52
236
870
110
65
322
977
780
356
403
120
3
97
144
542
611
117
46
583
6
949
962
17
495
26
582
504
454
762
730
176
480
808
391
515
663
198
605
744
287
735
325
584
494
504
859
84
327
287
362
599
919
950
908
480
205
968
799
745
920
325
462
948
84
895
756
386
835
904
964
808
54
342
7
485
511
865
45
879
301
107
377
943
402
755
1
411
274
277
953
710
486
92
761
163
122
612
116
983
84
681
621
909
869
90
552
25
816
42
300
402
477
249
606
864
246
997
698
346
380
731
601
392
961
568
932
431
872
958
26
253
905
248
435
637
276
821
905
973
731
396
718
245
31
938
178
507
785
663
162
222
575
820
691
828
99
274
14
637
123
542
503
815
272
150
599
810
79
915
648
563
174
351
356
421
74
154
8
625
532
181
77
555
299
24
935
123
313
851
426
528
223
231
114
721
130
278
838
378
93
438
879
195
369
409
452
33
909
682
618
347
896
585
784
192
637
491
534
235
505
60
992
588
703
920
577
824
463
910
389
623
294
741
990
364
89
491
641
269
129
737
795
504
318
740
658
934
406
415
118
729
125
927
916
194
741
322
957
106
883
26
120
35
788
104
272
333
716
937
976
42
576
218
587
329
390
651
522
525
546
376
652
745
353
935
609
384
372
384
465
305
447
871
705
651
507
624
603
100
896
236
894
139
592
162
562
570
38
741
238
125
592
276
8
643
538
227
84
322
908
803
384
25
478
94
698
928
395
320
594
868
431
609
923
185
531
102
212
779
567
212
428
778
146
565
216
812
932
533
715
74
862
19
312
816
375
552
797
14
598
280
430
482
788
142
319
279
630
211
133
464
177
938
555
996
800
715
994
271
951
40
790
647
74
804
710
803
739
262
641
965
129
133
496
51
476
298
727
545
813
525
797
937
87
190
605
796
510
227
890
150
859
569
731
389
120
451
924
687
96
490
660
488
13
134
785
651
630
656
873
802
631
520
766
838
614
684
777
52
155
165
459
402
26
686
189
583
674
721
817
619
304
269
291
306
317
226
389
384
329
619
281
156
894
817
800
790
800
375
406
336
73
86
498
319
803
873
474
768
863
91
684
400
100
723
919
434
692
224
250
249
131
827
909
844
244
815
331
191
11
265
952
531
456
945
883
785
806
149
26
52
575
877
136
904
795
301
767
381
958
89
434
152
638
59
946
856
437
931
478
16
102
676
468
856
893
766
301
701
479
875
105
544
778
3
336
90
528
225
86
898
673
411
93
751
612
982
329
530
279
491
362
191
32
307
818
870
894
335
70
959
47
697
11
515
941
114
601
196
431
30
216
784
959
203
72
202
485
151
598
593
972
455
414
694
141
937
798
808
737
773
976
31
180
838
101
384
940
894
675
323
496
974
121
438
146
120
884
832
778
214
364
24
569
251
894
352
497
377
382
169
994
497
70
626
931
265
640
304
305
109
682
195
937
994
923
43
401
208
949
973
875
819
158
811
151
448
151
450
973
238
963
296
607
476
629
68
818
311
588
73
438
151
675
866
801
580
453
715
847
162
938
620
63
990
120
637
207
75
587
535
297
472
532
675
592
758
793
327
280
251
807
98
986
502
504
468
573
21
526
499
686
841
808
109
352
692
303
351
995
353
903
6
126
587
95
307
517
47
130
999
125
820
174
40
860
12
466
193
74
370
518
274
389
167
103
55
674
438
601
746
711
415
940
583
591
545
728
759
297
845
451
496
724
257
298
450
701
893
248
227
927
569
730
880
272
941
391
703
740
650
431
196
362
701
596
295
829
207
260
192
742
663
925
443
260
181
801
464
775
679
481
325
923
959
114
976
502
62
555
295
149
479
532
276
619
365
53
290
697
970
269
157
570
545
179
14
905
100
296
148
1
961
649
244
351
769
896
870
822
456
226
389
129
645
454
806
326
538
75
906
204
138
76
355
982
409
753
984
31
32
462
618
976
541
462
768
372
980
158
184
194
694
45
780
540
19
811
661
457
305
256
787
246
422
21
25
731
876
815
558
717
277
627
351
548
369
764
920
505
864
424
648
944
262
860
12
528
342
983
533
346
118
807
108
585
330
627
343
59
62
643
885
941
129
736
464
166
652
956
647
343
260
807
479
454
314
638
398
272
554
401
896
609
955
611
954
227
404
645
853
796
763
702
664
11
22
381
395
607
128
95
477
481
121
200
656
143
355
739
467
967
883
717
466
309
348
121
506
697
245
687
326
891
803
759
602
505
70
486
133
193
530
559
774
786
984
874
391
15
913
4
241
387
438
41
932
873
602
184
646
226
926
64
198
519
981
368
613
666
389
899
770
874
605
292
640
410
730
14
107
176
283
157
450
181
19
178
222
349
604
463
914
130
1
187
507
354
767
495
761
232
223
58
801
893
385
20
383
744
896
551
348
85
177
240
302
130
978
511
594
361
601
482
657
798
276
258
411
757
721
932
981
383
642
977
456
682
677
479
204
653
323
984
791
85
931
529
580
309
412
50
212
462
635
307
811
492
776
711
374
863
506
63
322
401
17
640
840
650
990
146
578
907
466
595
944
494
308
847
125
133
216
973
964
67
589
18
939
893
150
350
446
416
925
843
100
492
459
410
798
589
202
803
137
542
91
442
947
989
255
937
681
840
121
96
446
984
826
476
856
841
618
967
649
140
565
852
959
180
837
785
648
151
605
246
327
296
788
147
48
927
469
965
16
613
331
389
373
379
557
978
672
150
878
669
757
709
659
800
813
644
708
379
45
665
87
778
387
91
412
113
541
529
116
19
541
2
468
16
79
458
855
671
629
977
581
685
91
65
805
294
475
728
696
336
629
241
832
561
101
8
283
989
549
724
169
636
277
696
544
692
718
899
311
638
574
332
886
161
600
976
148
592
834
381
393
973
100
362
309
580
74
723
307
712
554
330
212
562
870
65
144
786
176
309
622
26
823
803
79
208
768
946
984
228
928
531
207
886
61
557
824
863
751
720
509
781
946
760
499
555
602
969
548
482
517
342
214
243
860
226
116
971
184
908
532
79
762
93
432
486
526
259
401
649
623
733
579
224
413
239
79
353
767
959
410
767
515
655
801
878
593
347
968
128
413
280
838
182
264
958
385
673
304
44
875
329
220
533
742
557
898
879
446
765
55
667
276
48
273
976
262
848
852
329
365
378
170
64
533
958
741
462
181
144
853
818
770
107
769
436
689
664
58
75
757
854
61
243
677
395
724
79
899
575
24
558
500
282
317
429
162
718
694
489
310
386
157
240
635
198
453
148
54
137
764
659
951
450
976
108
633
278
666
853
361
159
171
181
587
537
156
645
553
642
309
847
276
716
68
296
777
915
730
212
718
732
16
607
496
780
504
737
700
411
604
992
342
883
85
601
417
958
13
347
222
914
713
608
228
947
430
629
394
498
751
640
716
567
515
309
391
848
516
406
215
140
473
458
725
384
86
6
813
753
79
657
192
472
309
847
524
783
59
704
96
969
419
638
694
273
834
678
226
912
893
415
976
701
622
154
399
507
785
756
444
802
481
867
311
401
557
583
462
590
319
966
924
929
993
710
530
716
53
887
31
566
672
122
871
681
233
666
185
383
636
428
137
300
866
13
614
178
783
320
327
906
681
467
282
83
395
761
802
236
364
621
534
657
514
453
777
101
788
582
264
819
750
733
541
124
394
205
189
798
398
344
448
812
470
962
250
81
157
960
392
448
850
20
201
529
688
453
470
115
779
86
34
567
410
843
770
658
521
527
763
220
908
250
919
39
341
577
546
217
463
386
801
603
38
72
479
183
187
416
372
712
169
178
130
261
463
191
741
708
996
20
304
751
955
309
970
85
635
877
74
655
334
257
654
88
617
918
768
411
409
210
142
129
238
368
819
39
967
319
831
380
691
484
451
299
799
21
310
873
827
128
825
582
346
353
280
970
967
598
366
467
796
474
42
249
180
920
103
785
87
365
8
6
209
842
989
481
131
357
102
671
13
257
359
964
272
817
31
419
99
134
69
345
595
107
826
473
177
939
74
797
153
5
585
435
627
78
40
826
580
874
82
63
820
780
868
303
13
731
557
520
893
53
887
688
506
406
201
45
874
611
504
286
705
929
202
455
8
897
47
826
809
435
829
377
140
481
483
478
638
42
708
473
91
571
620
299
155
563
17
989
747
929
201
387
331
368
812
68
707
710
951
792
2
877
979
455
919
4
356
270
229
720
79
717
455
169
316
645
1
594
108
623
217
169
835
348
276
458
836
972
454
339
401
659
456
515
519
609
573
369
306
812
934
140
144
509
210
267
19
141
461
853
757
966
44
209
925
31
426
517
65
499
561
440
752
894
11
668
151
217
214
543
558
324
237
850
953
141
473
836
830
663
416
840
798
475
639
999
894
419
209
515
494
294
661
318
156
439
316
435
310
806
228
599
78
812
20
637
452
440
833
829
746
693
540
279
286
485
828
610
178
237
493
609
424
824
356
598
367
580
206
485
184
653
426
787
579
940
833
348
323
991
846
480
104
473
155
703
741
354
921
291
647
729
104
426
735
666
571
725
140
359
945
167
878
98
111
933
460
887
266
951
909
832
663
755
666
940
859
631
416
170
711
446
473
636
401
131
590
443
613
899
274
267
249
375
593
737
111
715
554
647
100
601
204
161
771
409
451
165
328
566
59
1
809
120
198
702
285
98
940
576
746
537
177
245
958
207
623
973
99
906
791
605
764
980
430
512
874
168
435
488
835
310
43
171
556
847
500
722
908
928
57
767
992
965
828
614
247
986
7
875
504
470
810
327
761
686
811
539
741
582
794
765
456
300
54
57
617
569
807
173
799
203
545
119
532
428
918
480
727
816
706
863
740
381
101
104
109
826
489
139
748
323
933
846
962
754
438
602
208
647
904
325
999
487
969
860
432
101
487
427
2
188
994
764
362
618
255
32
614
550
364
446
411
422
215
257
315
431
413
252
954
741
413
109
982
506
909
274
447
693
839
810
406
790
326
929
352
758
42
702
597
392
871
36
580
398
755
972
113
310
458
355
496
874
74
416
705
387
887
216
113
988
452
183
807
194
367
658
660
351
843
967
991
119
716
811
438
326
698
527
173
843
811
159
796
430
388
172
59
556
454
690
347
242
24
534
995
85
574
645
154
459
515
835
736
247
516
225
494
205
155
109
519
69
290
55
831
55
996
289
212
665
199
109
126
94
528
221
533
731
957
954
852
404
960
476
173
602
12
481
388
146
746
514
718
95
527
987
750
139
205
351
368
747
74
619
659
597
754
16
300
815
542
413
24
464
864
840
603
452
177
182
596
492
176
751
238
697
524
315
254
382
906
327
879
817
180
643
216
192
862
548
647
732
339
664
750
8
292
393
221
343
533
719
882
929
104
195
578
725
18
9
573
275
543
755
394
226
804
118
334
528
752
724
619
237
780
560
599
402
203
108
808
702
311
449
777
888
768
747
614
441
635
973
254
338
582
382
509
304
320
472
17
130
741
776
949
50
777
60
614
574
526
921
574
760
447
191
698
957
73
802
717
162
366
112
732
941
766
280
432
437
93
19
332
456
601
667
844
984
769
661
207
359
82
498
665
827
326
517
373
330
465
853
859
457
667
644
822
437
326
495
367
618
203
393
611
986
985
490
595
434
677
663
785
578
968
603
943
727
149
166
844
32
750
796
105
0
839
89
379
95
308
295
89
488
606
833
837
786
225
607
230
797
401
840
930
172
585
12
248
972
506
423
74
556
330
373
649
114
457
257
215
949
725
489
199
840
579
320
703
310
436
31
257
446
414
657
757
401
785
927
549
681
239
422
190
352
84
714
757
484
381
882
278
274
267
650
803
966
131
679
483
3
642
373
796
676
336
841
33
75
897
552
363
966
795
322
145
639
676
982
141
869
122
359
406
301
801
69
613
202
442
418
428
558
671
265
521
908
490
565
761
150
609
847
974
214
74
887
823
87
757
751
827
710
275
879
764
488
407
925
815
547
257
371
460
202
281
396
62
849
111
177
618
205
864
274
193
11
122
114
362
534
733
903
457
690
60
766
308
899
752
759
605
356
97
691
985
651
539
527
593
656
98
540
472
923
415
811
994
167
245
791
502
997
30
794
385
14
390
195
4
215
675
178
952
835
407
216
925
113
833
671
127
884
814
35
71
357
478
159
838
500
92
452
975
565
556
279
749
487
858
590
887
577
759
612
621
151
884
452
374
119
583
117
687
963
696
690
51
44
361
657
102
429
853
517
638
190
331
97
100
479
747
317
465
810
223
887
576
531
28
905
216
468
905
17
675
679
890
495
648
634
739
672
74
743
459
577
995
313
548
507
30
299
767
845
522
193
826
327
354
947
777
5
787
275
614
63
378
981
699
408
663
304
30
328
85
42
802
689
147
908
325
303
716
658
443
360
707
693
963
599
30
804
731
841
486
429
128
583
290
30
939
247
402
227
298
296
992
830
92
205
4
721
775
194
597
509
689
926
110
331
377
397
231
267
73
20
525
854
18
539
967
622
836
495
785
706
799
163
743
144
28
193
736
484
167
658
256
380
257
3
607
541
241
738
1
653
736
889
917
736
165
769
923
429
968
863
493
698
470
283
558
507
231
977
466
954
915
50
604
866
55
574
864
648
174
571
629
865
936
710
172
271
68
495
738
650
574
813
511
48
525
75
575
362
72
212
660
124
795
770
870
879
580
882
780
814
712
754
271
833
554
126
206
893
601
7
503
601
33
703
262
591
985
362
848
883
708
638
55
839
28
411
754
108
988
909
928
912
766
777
80
969
252
569
178
587
994
618
108
715
719
421
414
593
944
688
239
592
66
394
235
729
378
273
333
747
223
367
428
506
275
858
706
345
540
576
300
783
93
809
614
64
498
751
536
3
939
327
77
283
47
708
241
584
562
467
514
844
332
935
742
423
107
818
909
334
69
127
511
49
61
592
545
70
532
170
911
139
837
91
758
757
251
104
183
451
551
585
422
483
550
315
64
15
653
114
708
500
332
20
31
316
631
150
616
175
966
677
551
5
455
929
650
270
385
399
568
293
623
528
986
821
500
553
618
147
128
482
356
782
388
167
799
611
338
929
382
794
990
608
632
408
639
949
255
88
712
712
931
772
218
243
750
322
546
859
28
839
38
74
673
819
676
947
486
344
650
780
682
317
720
537
855
776
267
265
104
849
252
888
869
829
706
352
131
867
12
648
55
365
287
85
51
459
385
486
610
171
16
661
883
658
611
601
54
105
556
195
207
703
970
887
936
131
992
118
340
680
475
525
176
937
493
122
223
299
372
19
255
77
450
528
730
960
465
388
589
855
241
893
492
960
660
605
0
9
206
494
488
893
452
892
633
216
309
573
8
16
198
261
559
825
394
76
418
375
816
988
169
301
890
555
760
433
29
624
436
495
198
617
251
130
388
404
10
655
42
680
656
787
260
22
534
136
23
335
992
371
141
528
386
59
380
735
132
897
900
14
559
527
420
824
156
866
384
287
532
754
734
910
26
118
352
112
415
809
508
965
789
784
955
796
169
959
222
792
290
27
802
299
789
962
39
550
393
990
575
799
939
316
491
939
879
115
949
48
772
91
162
200
575
436
36
166
128
55
343
123
567
3
516
130
59
888
604
640
291
343
336
437
556
883
149
570
776
137
437
293
884
61
847
46
201
833
893
48
776
645
409
713
262
744
829
478
888
787
196
926
428
112
137
570
578
850
625
93
864
329
550
392
495
867
199
99
323
629
26
88
850
927
178
31
896
840
417
333
57
254
679
535
497
114
844
457
782
811
525
423
321
734
950
301
423
510
960
493
687
625
871
4
608
558
179
875
723
418
313
845
84
557
645
136
843
885
280
792
599
889
229
181
430
399
23
47
269
936
235
929
62
821
82
296
114
870
636
997
878
389
81
860
898
425
59
337
288
365
683
781
20
93
216
734
666
569
747
676
131
851
896
989
246
698
466
931
493
307
919
670
342
473
897
410
391
258
501
890
877
553
807
748
822
183
986
820
78
679
64
980
198
360
472
664
141
139
780
516
888
886
904
833
460
582
0
73
102
328
448
516
89
802
698
353
305
174
24
443
557
165
5
52
122
431
17
520
370
890
431
249
572
160
60
694
719
149
575
823
518
282
169
998
633
888
533
920
278
508
489
276
597
948
195
842
893
780
123
806
957
506
180
562
940
785
122
820
482
490
869
520
315
989
808
238
208
115
922
785
824
475
461
952
472
916
388
790
908
837
382
200
889
411
378
341
614
891
47
58
699
595
819
956
594
842
473
814
912
345
987
284
87
992
386
70
748
339
717
366
354
355
951
242
104
761
707
516
259
364
604
682
893
593
17
624
559
510
891
205
450
563
795
123
517
598
643
400
125
723
334
896
247
190
304
304
921
287
904
423
321
487
40
779
944
282
969
57
804
412
142
260
206
73
634
167
827
239
669
43
784
994
181
387
54
914
830
928
916
244
596
818
10
216
994
117
544
833
708
942
442
43
654
969
728
83
130
49
932
504
746
880
961
31
428
174
414
677
795
338
972
601
821
59
331
528
131
113
420
323
865
531
541
109
6
961
713
284
514
664
337
138
145
652
107
828
919
957
259
999
235
702
891
162
607
31
898
104
330
409
762
362
30
246
653
13
86
295
430
717
880
680
256
600
212
569
431
403
300
549
90
797
533
844
263
185
206
536
765
7
148
584
924
79
381
130
672
904
912
624
43
150
50
693
403
663
921
226
879
114
507
157
364
251
711
349
110
887
967
822
917
586
409
663
615
241
45
907
590
368
694
195
94
64
600
659
41
835
57
992
622
240
919
800
709
12
645
330
59
806
200
713
704
225
186
648
935
847
35
19
109
359
870
502
420
420
107
537
597
455
106
340
532
392
392
505
228
405
870
665
872
301
969
411
43
557
137
358
763
173
880
246
415
807
652
632
213
796
385
47
292
506
182
828
241
856
938
675
60
620
665
468
990
855
717
548
890
397
292
645
439
285
552
433
403
925
146
546
358
614
934
395
435
904
752
799
722
69
759
913
882
258
262
476
279
25
815
26
840
211
158
560
369
365
344
561
318
770
363
672
537
742
745
230
521
651
807
557
698
57
322
687
967
166
105
961
985
300
28
284
435
229
836
751
180
111
690
233
911
499
60
968
270
324
38
465
650
852
485
635
943
171
986
749
383
642
280
982
782
274
268
46
311
527
496
762
93
923
304
474
704
137
307
278
408
679
304
51
975
116
757
59
198
423
686
952
697
604
891
476
165
567
473
286
879
47
236
685
626
156
597
391
55
366
320
269
449
339
388
865
6
207
909
742
738
296
315
935
992
412
573
8
271
341
992
101
347
542
832
726
907
109
181
443
715
11
79
947
637
967
978
405
713
333
902
866
268
979
466
375
88
526
447
16
766
88
836
497
506
500
254
752
397
551
840
785
767
737
592
393
193
775
442
749
361
333
257
197
186
938
481
408
638
957
130
597
906
868
947
928
858
217
119
724
698
591
364
476
369
736
162
630
974
494
481
571
311
907
37
135
552
447
760
385
803
635
253
959
905
938
701
472
389
157
82
913
500
779
26
578
445
412
687
325
447
17
803
733
943
597
617
205
140
512
132
490
859
445
560
956
529
399
206
407
221
980
551
198
183
333
163
251
97
270
952
751
958
314
943
235
387
76
222
660
180
39
331
893
157
751
41
636
711
182
723
153
76
758
110
603
539
508
696
522
74
359
372
623
854
615
265
279
397
343
289
399
554
223
712
53
691
892
967
224
876
223
257
740
532
407
780
642
108
237
498
722
985
641
295
657
965
655
75
531
143
188
884
368
15
163
712
483
858
412
193
133
788
757
393
660
609
268
73
681
120
653
618
350
168
772
784
374
248
598
581
912
819
572
843
228
327
629
964
288
500
303
846
13
837
568
100
739
750
630
141
766
483
745
683
6
886
7
104
756
794
813
980
865
800
49
414
158
99
852
112
46
937
816
677
441
626
237
610
651
879
926
8
179
647
33
849
799
786
918
690
109
878
776
644
100
241
338
591
142
52
72
390
663
911
77
364
884
849
959
763
463
753
570
693
534
510
91
563
730
595
974
984
637
417
696
432
727
399
104
704
25
946
704
115
730
704
304
686
584
788
575
117
658
939
38
320
746
770
665
311
703
454
954
189
574
96
378
488
99
123
625
677
16
296
845
615
140
478
106
101
237
799
221
901
677
419
717
460
677
288
72
975
518
182
376
314
412
629
845
195
573
630
135
368
137
603
753
70
75
917
792
474
967
440
670
55
795
130
438
277
940
128
409
961
139
834
160
710
581
82
758
842
2
159
687
327
259
40
436
391
444
686
904
40
640
261
630
750
448
313
7
790
75
254
456
881
519
126
163
979
370
587
545
602
690
396
105
739
539
327
440
656
733
789
654
943
716
820
159
927
824
885
151
424
758
163
871
108
259
391
55
381
280
735
359
746
35
704
943
196
464
938
283
525
495
731
660
996
926
614
749
387
623
884
310
553
20
782
442
206
494
807
742
642
130
578
134
933
219
892
342
680
877
554
154
690
139
914
641
406
194
727
191
617
272
345
515
459
332
315
394
530
267
486
464
207
216
328
852
999
222
392
227
259
109
805
337
501
372
617
873
609
327
25
182
982
428
191
728
914
623
960
813
859
704
556
878
851
696
178
358
234
15
751
820
341
601
707
312
458
20
377
486
71
727
472
648
837
130
279
11
330
123
207
421
739
977
633
760
47
969
679
353
153
533
578
138
24
286
16
701
507
743
557
678
574
88
122
381
758
552
359
338
785
677
714
742
147
313
311
858
921
735
222
956
416
75
101
623
907
153
394
752
252
300
972
351
513
375
22
259
830
939
620
226
720
804
995
972
253
682
768
947
847
490
156
180
80
859
954
314
296
904
118
383
457
701
556
969
80
790
873
769
431
794
795
747
479
799
396
597
971
780
117
387
290
857
708
668
457
40
559
286
401
157
461
253
841
578
185
6
872
885
855
432
490
284
725
48
634
759
356
388
768
660
824
752
612
727
449
111
902
207
448
117
571
263
136
340
883
237
10
398
744
255
454
59
719
314
507
850
959
552
744
96
524
393
635
228
108
650
966
800
193
243
671
193
485
526
163
119
172
404
87
638
189
988
170
617
327
652
203
776
180
57
371
254
554
946
879
399
655
724
940
793
444
208
151
523
110
466
437
200
333
959
118
561
375
571
575
684
837
105
587
911
939
553
512
995
219
914
507
893
980
233
246
231
342
176
600
670
0
577
472
473
104
900
843
838
10
650
908
417
718
432
773
462
359
36
348
789
377
22
157
818
944
607
613
311
56
311
550
418
803
263
598
367
922
142
524
158
848
691
285
291
74
176
257
655
621
38
656
609
511
291
351
478
851
628
810
252
534
177
452
319
204
494
867
690
892
886
706
58
354
193
222
528
378
239
763
435
520
877
742
587
196
884
22
707
92
426
901
215
423
476
135
751
392
6
629
860
791
700
803
928
218
43
664
960
915
249
395
434
789
33
862
242
856
440
26
703
381
890
830
504
843
588
475
898
968
304
474
696
441
526
925
431
771
363
10
227
54
588
113
597
516
303
405
37
169
3
533
912
862
539
100
278
152
647
921
170
391
614
334
431
50
407
32
63
291
134
243
632
495
840
626
828
112
97
760
629
467
205
246
856
699
802
237
251
755
468
403
468
217
757
450
329
209
263
124
841
564
473
730
276
838
650
663
310
101
12
492
503
361
659
742
695
274
627
848
189
592
422
598
131
485
948
733
179
81
626
699
274
495
627
60
454
265
189
578
42
37
303
823
656
594
952
853
922
335
26
160
639
690
368
741
966
745
442
408
19
301
236
111
679
333
905
58
643
795
350
605
243
923
179
123
839
591
202
807
497
284
204
260
824
576
96
959
442
194
449
886
354
856
57
449
669
709
772
668
914
493
176
960
278
792
483
460
108
30
80
196
237
391
881
746
368
841
803
826
335
353
197
534
196
260
398
720
224
761
630
18
206
469
830
535
724
948
5
577
937
691
144
944
731
517
397
582
37
597
194
935
929
861
784
26
845
791
708
562
992
813
770
174
480
318
299
822
766
188
534
215
828
407
630
640
969
556
617
941
849
113
67
349
483
483
703
228
725
719
113
827
777
797
831
597
776
40
17
891
443
159
799
111
744
420
594
263
257
884
735
724
178
394
678
739
49
857
622
721
51
924
500
544
385
735
228
934
672
616
280
937
679
540
980
979
97
208
966
621
449
616
919
528
438
58
401
516
283
538
205
6
266
356
991
59
697
227
997
695
540
691
244
725
208
378
149
769
147
678
765
90
101
547
15
412
706
669
593
773
3
733
455
55
28
974
482
259
482
441
413
466
25
670
450
862
952
805
222
343
868
268
443
612
558
767
759
46
861
269
9
806
210
420
514
533
322
149
418
115
461
658
258
262
678
14
14
263
911
941
184
434
272
507
224
970
686
388
811
951
829
550
217
819
246
753
268
566
167
286
139
565
949
201
364
401
223
48
288
559
117
726
30
470
939
274
976
672
454
966
359
656
329
677
913
85
812
349
159
556
811
96
506
397
994
876
341
133
50
772
335
292
567
578
305
567
276
871
813
547
578
517
829
149
561
86
189
74
581
592
771
964
158
887
20
857
299
455
348
197
265
551
151
998
186
606
434
309
892
636
577
569
527
617
441
375
6
616
931
607
446
331
325
188
450
991
452
110
412
543
620
755
595
618
166
350
997
625
989
811
921
459
168
992
683
538
790
421
895
731
692
985
932
884
608
576
911
279
665
557
144
854
460
405
7
348
991
712
657
94
80
596
906
91
125
516
295
225
273
839
127
507
597
308
713
126
454
138
318
53
325
785
340
55
202
610
63
539
263
367
649
637
101
61
59
658
850
887
841
958
350
848
237
574
384
594
495
543
969
412
738
302
648
954
987
904
910
548
865
833
859
297
554
857
217
224
98
512
70
848
382
227
692
73
756
10
671
810
237
464
724
714
746
904
223
430
431
218
512
987
767
103
827
691
950
35
507
430
168
819
918
993
225
522
933
531
358
37
85
553
689
487
147
764
326
287
156
860
347
79
499
118
432
663
283
741
947
387
499
723
889
932
185
499
748
486
127
586
214
382
502
124
425
114
661
551
966
600
798
248
763
317
237
983
574
894
187
580
183
45
17
18
733
929
949
239
111
201
715
992
664
650
922
725
726
910
741
386
986
885
234
875
691
637
734
25
596
888
318
275
293
998
688
786
908
973
879
344
930
759
462
591
411
757
577
165
63
146
399
392
827
193
226
553
238
921
973
515
879
564
615
30
442
566
462
349
976
923
819
652
77
172
240
199
939
678
812
647
415
111
771
2
276
159
300
859
662
418
555
386
227
697
824
252
930
933
813
959
303
891
737
161
11
834
731
33
320
972
838
93
902
381
963
69
741
618
948
983
245
128
932
428
527
295
807
988
997
488
982
158
19
971
594
601
693
730
730
522
392
658
218
266
36
538
272
500
887
736
182
974
217
993
339
916
567
824
795
926
554
86
918
991
221
422
376
450
874
3
6
16
346
540
595
853
707
7
701
880
624
641
105
529
782
532
527
109
919
641
79
469
4
759
592
646
534
984
242
733
975
202
11
858
400
246
559
780
893
184
373
936
828
58
438
372
52
282
962
188
304
150
755
559
895
195
259
870
113
548
248
13
487
978
427
550
774
958
250
749
387
94
225
967
430
924
257
576
291
133
609
930
164
919
563
333
530
297
359
42
643
349
34
266
606
893
918
943
54
287
936
100
52
686
250
32
296
18
656
581
554
947
999
288
497
3
528
492
451
779
414
357
641
140
771
154
801
357
827
679
878
815
103
420
51
500
128
340
435
942
424
191
290
811
223
471
545
951
917
778
808
605
279
686
484
293
307
525
436
408
284
121
627
969
113
20
645
75
297
466
444
926
186
206
551
627
761
331
102
459
538
665
535
348
733
983
211
325
615
332
410
638
34
119
15
138
800
510
834
925
254
315
94
400
140
272
94
522
311
284
6
559
496
458
191
240
200
294
440
239
851
286
562
616
713
173
995
886
349
242
332
791
882
720
331
832
549
705
941
486
108
499
97
765
256
67
593
84
965
885
633
805
904
220
808
286
437
396
310
388
495
840
573
403
956
100
312
160
898
254
553
950
401
335
707
924
875
993
290
850
785
841
97
231
288
391
501
670
451
728
654
632
547
814
870
813
232
999
973
98
209
853
346
20
685
373
838
618
636
211
530
357
483
14
628
114
430
651
942
366
822
465
401
873
715
397
102
907
351
456
467
693
142
779
611
533
160
217
564
231
54
120
236
636
83
482
170
277
513
91
285
385
392
804
917
533
566
397
159
876
816
198
420
779
684
100
507
356
268
388
84
447
183
699
812
899
92
734
521
331
617
615
505
589
62
171
796
517
414
967
440
309
176
291
479
546
213
746
672
155
953
811
124
628
670
945
265
462
861
615
613
8
126
660
506
91
83
978
183
773
157
873
812
32
205
984
550
90
976
911
964
664
516
368
435
394
206
156
603
43
947
452
644
713
814
83
226
327
734
80
878
240
206
141
106
410
1
719
396
765
983
675
740
109
545
140
594
701
595
449
881
270
380
272
673
303
758
450
412
579
981
878
982
5
394
460
863
191
628
295
82
384
543
590
516
328
404
81
523
430
965
616
344
584
498
101
907
878
870
621
831
69
409
743
47
317
56
582
402
842
880
159
428
726
152
763
831
874
699
580
583
568
193
825
381
281
951
969
860
638
457
872
772
670
331
985
136
267
142
994
424
200
714
629
827
253
634
664
923
789
475
813
704
960
219
94
238
69
909
758
190
254
722
424
362
616
875
366
933
195
990
261
2
492
383
133
467
579
618
137
341
819
801
770
776
594
669
983
418
6
408
86
693
727
479
270
212
170
221
296
935
535
757
462
916
134
100
746
360
705
170
395
511
355
459
518
54
236
281
764
176
121
429
994
14
672
108
883
701
311
872
549
751
490
445
732
479
329
248
981
569
143
757
814
902
446
475
191
4
174
978
115
815
973
895
669
699
923
617
95
649
311
318
674
925
49
444
245
232
45
374
803
943
444
608
280
486
104
870
807
692
951
502
943
55
335
889
586
891
883
755
737
393
396
261
17
387
455
512
426
105
774
246
169
679
200
382
263
278
308
115
712
572
383
433
233
966
202
951
69
121
640
593
612
344
65
680
774
428
410
911
252
211
111
860
118
962
181
489
502
116
127
221
705
886
432
44
635
52
921
31
629
33
479
571
690
413
932
292
705
724
633
846
959
137
61
995
223
466
249
150
137
500
702
138
29
315
389
137
451
590
613
21
621
68
461
500
73
265
926
358
299
952
571
890
147
230
232
770
828
415
655
735
412
131
89
685
77
354
805
537
223
157
679
660
495
789
977
183
768
13
705
112
279
713
622
91
440
750
567
61
391
84
244
667
403
332
205
45
643
517
193
386
591
769
54
395
994
350
253
532
201
989
654
18
98
258
877
938
135
741
610
425
275
428
983
462
308
171
417
956
491
813
625
44
601
439
43
233
221
822
717
582
657
416
548
874
201
743
713
540
7
747
244
123
638
556
35
920
131
417
526
78
228
155
668
547
986
374
633
915
493
717
466
442
708
796
892
280
329
238
545
64
747
672
539
570
556
777
687
551
944
308
91
823
266
629
833
267
841
353
396
23
667
612
545
769
243
819
820
886
937
141
910
44
242
52
673
607
116
594
898
269
39
343
285
429
622
850
956
283
718
24
337
841
706
529
887
459
999
438
626
330
391
447
780
1
620
13
358
532
397
441
604
216
54
774
758
678
367
828
212
942
756
124
618
598
282
343
891
383
310
932
201
218
186
490
720
512
197
53
904
973
734
378
142
163
543
716
120
884
319
217
425
422
479
832
318
990
650
177
753
354
450
321
810
660
939
673
596
550
953
827
389
757
293
282
800
298
47
273
291
404
411
982
320
645
626
759
982
38
999
128
310
275
92
578
75
328
400
525
235
584
326
641
816
996
665
891
181
544
943
311
207
385
15
426
699
861
158
179
958
145
929
832
846
673
103
431
244
961
493
991
583
345
513
659
312
190
455
205
936
802
27
918
661
148
708
639
53
307
750
699
257
474
529
137
430
498
715
21
251
806
403
876
137
521
576
988
439
626
440
531
927
452
556
789
373
613
350
48
486
312
344
576
166
394
727
106
786
884
970
147
794
313
6
18
148
643
32
697
539
937
394
723
515
565
590
824
296
587
460
268
336
326
558
402
897
631
185
82
446
26
841
587
724
260
886
647
91
847
787
719
618
779
371
579
692
142
689
586
150
628
249
733
708
277
674
888
558
607
330
113
535
978
609
686
674
665
679
543
496
476
667
156
988
582
87
46
971
273
686
762
198
325
600
524
461
203
8
673
792
96
687
418
876
766
461
416
858
603
875
633
509
589
356
113
637
331
799
87
661
608
111
17
762
525
209
364
252
164
731
831
135
809
927
196
250
398
207
222
687
169
891
741
483
687
389
751
489
517
189
465
796
663
941
465
28
684
726
675
797
930
650
927
110
326
379
667
338
425
500
653
343
319
45
388
172
127
908
938
170
983
60
180
675
353
941
766
898
23
963
580
117
910
870
575
285
859
230
384
903
983
700
693
422
628
392
332
702
523
995
19
194
312
259
107
821
740
330
57
592
893
498
221
894
856
9
842
609
219
20
962
849
759
870
634
242
118
212
626
465
371
239
314
916
355
194
855
555
915
431
341
835
900
775
242
35
536
522
71
407
847
504
328
672
292
512
430
357
295
569
195
854
924
500
333
341
262
318
764
828
694
875
437
227
253
397
934
763
837
610
761
493
755
673
815
321
600
639
997
60
501
596
986
101
288
493
712
475
947
780
381
417
356
573
935
394
203
64
899
890
987
669
796
156
948
488
704
87
677
426
700
363
199
169
472
256
395
756
17
216
188
520
538
457
944
784
976
190
123
906
508
124
432
135
421
606
792
547
218
382
31
979
397
779
331
700
190
216
719
57
599
461
510
294
95
683
193
369
97
305
801
64
728
620
765
316
192
130
902
754
860
657
353
936
483
495
147
809
104
675
151
450
728
96
399
61
873
785
656
625
631
705
640
774
59
602
642
873
250
271
276
773
127
641
484
546
62
180
523
58
622
562
139
904
481
306
252
986
141
922
953
130
367
530
640
369
337
215
360
514
38
590
685
119
408
893
179
111
832
420
742
421
307
913
963
186
459
441
67
866
73
137
420
851
300
936
143
145
845
76
802
887
116
431
399
190
645
463
593
717
922
719
875
673
195
258
505
439
998
869
970
891
76
643
369
727
807
28
821
114
583
145
232
777
4
515
703
300
304
876
709
162
748
516
46
825
709
640
858
114
234
449
284
744
300
972
331
76
849
711
237
198
671
569
18
613
106
790
987
400
668
680
822
524
924
228
97
518
57
747
507
10
345
840
557
163
838
959
496
415
898
451
734
984
388
195
544
728
504
170
396
405
589
689
651
814
137
399
252
679
64
941
73
90
338
169
577
192
426
425
643
989
351
501
480
963
362
200
908
305
187
6
744
152
455
144
134
960
691
876
159
720
940
347
570
172
241
498
680
62
905
78
580
698
122
142
72
693
909
989
783
732
120
666
731
396
22
526
794
205
174
994
53
370
466
333
71
249
353
666
835
249
307
676
789
964
823
697
404
573
727
474
414
786
421
945
907
408
194
898
871
749
843
953
79
80
355
496
888
381
564
796
779
587
799
853
792
646
92
102
924
662
653
253
345
839
342
863
16
760
645
475
375
973
97
418
467
970
779
463
358
951
600
231
19
423
411
520
708
674
943
706
66
227
93
599
64
824
73
382
856
101
493
606
534
297
236
675
266
290
949
550
154
334
523
291
92
599
454
396
523
434
350
361
18
331
717
21
421
358
373
806
545
774
344
940
633
884
143
167
390
289
928
90
297
636
778
304
606
788
349
53
153
57
389
823
309
235
104
467
14
298
915
699
258
907
823
266
64
921
70
466
270
454
628
250
109
67
490
312
280
529
33
881
271
391
592
356
831
266
171
607
856
663
457
266
442
969
856
623
694
734
995
533
443
628
664
195
478
337
956
424
600
953
646
329
645
427
627
702
579
690
369
843
821
23
222
261
241
981
511
499
455
274
969
962
903
385
379
337
367
516
141
777
457
554
947
555
615
212
160
737
417
114
889
959
458
383
819
633
417
548
917
967
606
183
395
452
313
80
567
613
698
155
344
819
876
50
386
783
460
606
340
211
887
645
44
290
209
602
102
97
727
714
219
357
368
672
603
589
558
696
716
60
459
283
1
852
521
132
511
951
560
741
114
444
217
360
45
490
484
834
114
581
990
720
717
893
153
24
526
224
440
36
117
108
416
790
85
793
143
320
348
246
19
80
753
234
811
400
348
284
838
472
942
964
683
180
974
703
593
919
75
125
651
79
354
794
179
416
963
599
274
597
71
252
355
854
88
62
89
204
385
845
640
556
442
507
156
343
756
49
247
286
20
884
895
282
181
168
52
908
553
455
437
45
334
228
401
755
847
694
389
281
642
141
792
30
932
835
975
39
343
144
577
748
482
726
578
939
62
506
665
607
387
614
455
747
147
9
0
98
887
210
493
660
19
812
953
652
895
646
730
450
125
611
480
922
847
391
228
698
379
501
379
672
190
534
624
893
481
420
882
752
981
480
398
754
676
551
850
141
316
643
294
694
472
755
674
41
675
608
944
808
592
876
815
800
590
978
773
558
860
414
467
84
247
179
873
108
190
691
118
273
323
550
33
276
782
585
974
887
255
50
450
958
545
614
146
606
988
441
752
524
69
406
63
756
705
347
190
368
384
264
104
983
786
608
376
944
620
109
958
20
811
325
437
377
926
882
954
471
729
220
348
22
381
963
840
634
315
275
647
261
925
266
719
516
387
888
302
86
576
105
784
661
774
716
672
650
147
935
133
671
896
53
407
970
780
681
388
668
114
444
405
415
175
689
107
702
555
946
713
117
699
991
22
434
174
888
481
5
201
709
798
440
954
228
246
370
882
774
625
797
508
68
582
68
884
255
36
773
758
272
341
70
463
684
914
890
875
331
218
325
917
340
40
54
428
290
112
180
963
462
145
26
923
18
561
991
834
111
909
317
133
568
376
839
607
827
928
78
604
331
386
792
325
663
869
881
995
786
708
232
284
886
770
307
320
574
841
415
565
708
478
510
341
513
482
573
438
359
143
199
681
206
780
155
975
283
290
955
666
402
954
491
238
889
293
85
135
746
987
880
685
658
545
153
825
657
231
61
464
822
704
434
120
454
161
674
89
847
242
792
859
757
461
408
8
841
20
23
899
988
793
800
216
792
530
665
159
542
953
490
358
416
678
165
597
518
752
229
893
518
426
733
76
1
611
819
404
81
963
361
749
634
726
229
539
516
889
472
704
886
618
77
878
742
751
707
811
330
32
737
922
601
40
103
550
31
436
569
623
81
313
272
132
969
527
944
11
801
88
339
126
732
13
358
823
935
992
603
430
677
184
594
587
170
604
746
772
351
95
728
663
484
603
536
61
738
131
233
783
453
372
330
16
9
872
428
340
206
93
43
974
96
620
992
198
142
693
597
925
980
598
172
237
334
801
354
783
355
83
602
868
628
960
596
786
728
267
280
101
66
138
480
220
829
547
127
20
955
971
135
500
524
710
580
318
863
393
636
698
653
782
233
962
640
708
248
23
660
887
682
61
763
447
40
264
974
459
640
934
699
991
485
728
245
509
4
62
884
398
866
406
444
544
322
301
743
164
411
322
302
629
179
306
845
88
784
428
111
345
333
182
595
958
434
764
608
941
527
883
561
902
284
821
987
440
924
677
582
351
927
758
355
909
808
927
405
450
561
425
28
473
163
779
894
710
157
520
206
934
618
101
686
292
188
888
713
494
44
80
877
888
618
137
10
719
110
205
165
211
700
632
572
356
619
672
19
857
73
932
831
703
317
804
817
185
112
754
349
577
337
610
45
651
918
357
716
340
451
773
879
432
147
740
931
13
397
146
481
370
46
605
391
663
902
822
684
295
19
127
43
273
378
949
683
614
394
560
114
641
819
769
851
582
352
880
231
935
964
74
516
532
908
863
583
704
347
666
722
949
546
603
594
512
860
935
537
463
234
755
500
116
584
383
970
550
62
423
931
782
320
347
211
231
630
122
174
33
179
727
675
961
915
391
473
297
225
836
418
559
465
542
943
948
677
344
105
843
347
294
162
438
665
485
317
714
938
630
530
443
725
859
521
843
878
3
816
490
111
314
301
552
224
418
673
155
33
786
588
309
843
0
423
840
144
644
904
413
950
20
125
165
406
680
67
657
109
857
881
43
338
576
651
512
871
865
686
368
252
623
964
348
49
220
299
189
166
472
446
385
39
743
812
299
99
669
803
999
726
519
823
172
381
217
532
189
779
885
110
938
2
576
232
143
606
601
41
739
322
345
85
287
997
864
765
843
431
379
400
844
749
406
388
93
662
441
136
888
672
975
304
677
659
374
184
969
393
343
654
676
533
833
572
811
257
939
828
883
538
250
811
342
493
104
934
714
590
502
601
87
241
571
122
444
190
807
106
117
624
675
343
179
520
506
215
283
623
994
55
67
400
31
381
142
312
522
481
828
226
475
258
389
498
172
409
501
54
851
590
751
308
150
524
780
803
60
345
224
594
796
235
30
595
265
69
680
478
990
557
212
710
713
780
131
358
608
271
60
363
319
798
734
448
65
234
52
881
112
946
419
597
634
543
723
182
929
654
787
201
558
868
685
847
145
77
384
318
21
873
564
876
286
174
740
158
831
346
640
503
764
648
404
246
197
203
580
769
215
232
602
36
810
934
19
207
872
559
974
899
598
635
834
771
574
90
554
736
487
961
318
787
609
525
328
749
654
445
805
555
289
536
461
800
276
714
685
192
310
169
964
426
120
195
966
454
369
878
944
855
277
525
439
121
450
627
819
834
306
881
767
485
13
681
37
941
4
539
975
737
605
132
707
530
507
177
345
47
671
527
686
318
863
521
360
679
595
225
557
230
487
222
499
144
180
479
582
723
286
405
739
570
106
609
217
579
447
970
74
483
356
451
510
323
904
576
976
28
49
911
181
358
394
74
210
499
157
461
901
965
865
917
674
258
267
914
468
371
512
614
908
222
846
791
95
820
926
890
928
473
39
483
557
695
381
541
93
161
32
724
404
746
620
744
909
490
248
195
152
641
9
702
404
573
955
531
990
462
25
947
422
700
489
740
843
119
489
426
774
711
76
725
330
914
55
944
525
503
303
503
633
145
349
499
168
466
305
326
445
824
293
558
790
469
833
339
977
638
575
886
518
158
484
112
157
329
138
588
508
294
308
486
394
590
912
273
272
466
591
197
991
773
850
342
808
972
220
640
166
591
831
699
586
464
934
414
574
960
785
978
951
387
465
217
594
762
274
390
858
335
392
698
456
808
685
92
4
287
534
999
187
826
665
264
363
509
424
182
818
37
485
774
405
419
386
826
848
815
610
753
518
904
837
136
368
33
66
185
625
279
925
92
920
582
817
785
110
575
836
607
3
845
524
258
398
986
829
202
946
758
835
350
112
684
448
754
144
768
896
330
91
493
794
634
933
973
867
196
723
810
516
740
704
85
428
974
618
410
469
956
205
240
64
154
209
342
92
461
463
743
289
113
800
946
336
470
606
992
405
62
135
35
585
105
283
725
546
59
713
12
875
577
26
916
147
95
63
995
715
161
807
517
815
713
279
672
969
750
395
877
186
634
782
355
367
245
31
753
450
918
748
598
301
328
209
104
644
894
315
853
787
408
811
451
796
107
97
391
715
800
680
961
939
64
531
211
383
190
743
383
771
687
20
310
279
542
374
517
617
967
628
466
320
318
22
178
275
820
259
43
876
389
284
613
405
438
816
118
582
511
535
485
314
454
643
57
278
379
385
383
227
378
816
880
767
56
881
698
917
635
649
897
947
469
896
569
697
911
471
144
25
120
506
723
731
390
93
947
896
250
462
327
625
950
543
772
131
691
113
482
641
246
636
842
246
208
416
236
730
916
735
64
958
408
687
671
440
988
679
324
907
74
19
354
492
962
486
898
891
0
737
959
107
984
499
910
375
26
473
152
305
113
974
483
838
379
669
692
43
971
501
862
55
761
671
815
221
353
987
111
28
71
612
629
824
864
745
190
52
798
298
326
833
169
839
206
274
685
363
768
512
911
149
782
910
657
550
786
351
80
201
703
118
956
990
750
947
155
11
878
529
975
167
867
303
933
504
253
546
489
68
574
161
363
489
833
698
987
223
7
503
492
888
77
680
81
74
507
179
355
332
640
553
632
935
967
827
795
415
448
278
663
284
490
801
544
333
76
451
737
399
986
449
499
839
956
755
991
624
544
480
66
8
694
175
742
575
258
607
441
281
440
860
26
396
789
253
709
198
90
966
146
404
830
178
568
506
431
462
642
958
855
286
493
910
255
874
475
921
557
986
182
92
544
872
967
918
905
273
114
665
607
178
174
525
200
451
996
563
109
588
633
490
485
454
265
613
698
26
103
994
340
704
670
687
878
267
467
778
237
308
100
662
364
103
715
97
843
444
586
569
807
826
510
782
281
347
498
682
302
283
74
501
355
721
956
515
117
885
893
917
893
115
803
902
309
212
150
674
767
608
148
676
781
543
558
213
175
356
471
189
150
599
959
965
779
77
634
20
533
645
596
235
854
968
596
597
125
317
637
139
137
876
757
569
562
60
639
610
164
30
236
618
87
796
533
431
80
709
353
284
0
683
74
391
39
116
499
852
604
0
47
404
303
48
836
690
397
638
925
247
37
34
550
198
814
974
95
716
761
993
874
793
476
245
166
662
739
407
526
221
94
809
580
146
802
224
925
888
187
392
65
629
271
757
18
86
940
781
107
453
451
782
527
453
491
515
120
365
55
605
245
564
775
276
234
758
54
926
179
716
870
464
491
723
933
894
943
831
609
410
183
454
861
935
521
25
914
489
823
745
736
368
335
578
322
876
528
831
148
228
471
273
306
160
556
498
967
836
159
774
959
961
10
531
193
676
644
800
385
566
653
684
219
248
197
518
599
129
893
344
692
71
951
877
293
769
422
195
898
354
22
885
576
83
165
297
78
394
204
949
821
702
292
237
304
302
379
621
760
599
795
85
284
577
9
698
976
834
74
441
531
449
244
550
715
560
994
203
77
996
858
273
422
121
966
384
672
338
939
239
659
431
952
427
909
841
381
262
937
335
726
719
963
883
255
648
331
443
981
450
919
394
503
121
539
585
967
883
349
845
492
834
222
176
902
308
549
991
643
483
132
543
607
866
894
209
332
236
278
590
880
503
341
865
200
158
696
135
879
193
352
263
320
614
978
306
283
286
651
259
416
105
224
930
476
292
8
975
352
484
130
541
254
451
62
890
686
189
718
311
914
646
550
311
938
594
609
738
58
623
547
525
234
792
392
949
872
424
522
996
60
697
114
270
878
364
520
829
338
206
694
855
68
976
37
603
471
541
24
614
552
178
684
114
866
537
1
521
729
437
458
136
830
38
954
697
122
228
795
988
830
626
384
976
739
40
634
750
795
354
977
75
569
446
712
798
842
244
506
385
284
677
144
787
691
513
585
996
252
851
795
551
954
809
933
879
535
919
357
536
532
780
851
994
855
596
671
675
57
172
371
800
826
300
676
247
508
293
608
256
599
98
643
185
351
954
574
143
397
564
845
593
913
960
601
648
47
740
942
592
508
969
361
725
274
145
854
222
96
935
428
117
336
679
196
0
952
22
111
767
238
968
942
894
351
261
67
946
233
686
220
756
948
312
697
126
722
174
849
869
48
994
534
755
761
18
129
607
551
402
471
14
702
510
487
716
692
389
502
662
289
797
916
477
524
647
800
980
824
190
676
395
984
894
351
31
221
663
987
566
538
171
59
885
451
906
878
127
269
858
790
350
4
479
713
815
46
845
740
161
373
975
71
510
931
440
57
132
410
573
933
865
302
714
819
748
288
205
965
234
538
439
996
141
148
602
957
555
793
800
844
354
599
439
327
469
120
304
125
455
946
837
191
355
922
506
724
793
114
698
798
780
136
448
105
38
327
230
773
582
33
79
619
972
716
329
965
72
75
819
809
237
858
120
593
8
432
235
597
637
312
970
994
906
915
899
974
596
426
909
85
938
646
53
559
145
701
428
135
380
134
700
943
268
25
693
765
732
548
939
735
921
758
274
376
659
141
886
339
340
141
645
95
405
58
535
613
402
349
13
325
270
633
254
559
229
435
954
97
99
191
104
818
2
153
646
375
707
764
39
734
132
990
119
311
565
452
32
777
626
376
997
669
915
641
684
436
381
985
354
89
740
985
451
12
176
611
598
971
994
451
193
991
636
625
217
479
926
186
199
633
244
433
296
839
952
221
732
452
724
808
534
176
398
528
799
298
379
342
367
342
620
88
961
480
22
105
467
661
602
765
555
729
806
6
387
880
959
125
794
803
236
249
274
166
862
267
109
36
307
616
541
389
512
790
645
427
517
635
654
179
547
721
954
212
107
633
933
330
579
168
889
775
435
323
789
426
935
261
772
315
280
11
129
733
41
972
527
891
888
217
920
461
148
666
863
882
989
950
550
286
802
128
785
348
403
500
567
281
652
465
169
378
888
231
475
424
729
471
894
679
153
558
301
997
732
162
17
307
582
910
6
295
920
964
772
99
144
457
154
525
383
983
606
26
904
363
630
356
349
669
775
304
878
20
276
663
763
352
422
571
559
539
589
619
333
547
56
745
40
31
571
54
248
374
765
672
786
490
380
46
575
749
70
308
309
128
118
779
542
604
922
316
746
410
580
260
853
564
549
251
801
385
753
564
884
781
665
419
786
645
235
840
729
169
225
954
855
634
855
145
807
614
331
686
612
406
470
572
402
846
702
708
776
133
241
494
213
679
658
293
393
825
840
62
453
835
321
243
367
942
772
15
649
264
308
821
475
579
974
211
309
927
853
408
111
46
943
878
818
431
235
397
687
811
919
277
677
492
858
761
413
134
214
637
76
917
92
135
922
340
900
416
755
785
53
919
550
116
634
831
321
866
945
118
692
77
885
727
362
511
492
987
234
359
116
487
419
202
205
519
255
940
193
907
280
485
977
956
132
369
568
723
380
907
429
429
620
187
974
732
117
914
952
788
610
114
433
300
776
741
891
268
516
491
794
590
877
202
219
399
934
352
703
733
730
697
887
687
376
108
892
480
909
141
346
189
846
849
247
125
254
747
528
521
923
4
538
687
321
904
492
971
453
298
73
290
159
962
165
401
940
324
345
828
5
973
380
791
192
595
621
832
121
204
304
948
116
209
949
494
129
241
814
731
754
406
506
338
461
825
44
578
218
663
872
707
584
407
822
248
959
45
600
275
678
85
174
309
381
951
209
488
37
137
210
52
90
271
301
393
283
928
593
902
540
100
879
334
747
881
101
887
728
588
56
351
286
305
837
163
190
777
875
151
553
231
700
90
231
96
293
770
327
616
370
156
656
576
992
590
283
906
926
820
361
213
909
406
313
972
392
215
631
169
563
745
966
601
659
262
284
156
450
888
37
976
948
805
877
65
604
34
745
466
275
873
457
354
958
182
322
304
80
634
742
402
457
927
839
67
692
748
555
418
993
639
844
174
456
566
630
855
928
54
251
565
728
411
320
524
812
656
979
437
373
69
758
11
36
378
379
581
416
802
520
840
975
605
280
133
83
586
206
794
974
347
816
552
593
500
93
587
74
192
454
661
466
771
105
811
906
738
630
264
73
480
126
186
952
341
734
108
388
331
322
970
770
926
375
660
100
789
569
603
168
314
678
708
149
776
677
781
572
97
572
164
189
296
108
901
511
852
896
635
292
297
481
256
518
437
172
826
847
669
35
507
683
170
858
245
21
7
775
591
55
713
125
213
445
840
849
474
569
81
34
784
911
362
402
858
214
70
126
441
207
135
257
592
615
538
737
140
120
723
749
517
800
446
917
317
220
527
815
471
843
524
943
812
593
956
47
13
370
80
822
748
32
706
741
174
15
941
18
42
751
233
711
768
118
233
843
156
232
65
223
709
630
732
298
905
734
307
521
482
25
927
288
455
938
6
687
513
900
367
493
200
705
741
49
13
329
712
279
195
630
461
434
875
702
276
184
651
487
761
664
262
514
647
747
260
415
776
919
775
968
493
137
261
973
882
19
638
168
901
419
5
905
187
657
671
711
456
227
239
838
149
964
833
674
53
686
36
68
199
874
163
852
594
139
753
529
882
115
530
567
608
401
688
850
577
719
225
429
811
243
82
584
139
648
687
796
991
497
905
332
808
708
713
256
753
667
410
896
996
445
123
633
273
334
417
535
53
672
104
702
363
286
626
434
126
381
866
638
684
305
91
470
817
770
302
313
783
854
3
464
788
668
332
51
434
962
482
677
634
165
113
510
410
584
356
651
989
716
456
520
877
778
973
696
539
103
123
257
415
428
379
267
963
147
170
736
168
955
511
98
524
294
899
60
844
653
131
901
6
122
135
26
569
543
925
975
356
233
965
15
692
430
821
196
74
646
117
584
487
701
686
98
177
920
995
617
234
885
50
756
812
104
374
731
181
793
518
310
42
815
731
12
634
575
474
18
852
876
521
726
307
573
392
866
716
109
14
245
441
537
4
476
19
236
769
8
577
159
189
944
281
925
173
712
85
587
896
936
515
214
400
137
478
325
738
741
529
658
789
165
420
437
380
669
148
495
714
743
411
903
885
774
707
559
179
626
171
920
379
349
64
707
371
958
825
731
416
697
757
158
467
437
381
130
749
40
918
251
1
145
172
87
692
944
444
762
169
536
475
791
647
512
487
498
791
860
637
562
893
969
190
505
942
705
761
70
740
187
14
911
478
780
83
983
527
209
606
529
731
631
353
773
490
182
112
461
47
798
115
699
843
632
886
923
738
740
936
637
249
218
272
54
602
798
772
446
114
261
69
165
903
256
445
815
32
48
64
329
582
841
664
60
173
186
994
746
142
562
541
56
727
583
918
477
621
723
384
481
224
345
105
279
494
582
899
124
256
709
319
870
761
61
741
936
434
270
155
435
559
769
96
507
69
428
859
550
493
587
485
54
872
858
225
638
438
152
940
234
906
186
444
571
230
365
365
531
891
201
698
414
716
157
294
357
145
757
469
358
591
60
822
835
855
407
149
559
203
593
32
183
733
905
428
494
950
473
105
698
41
297
256
110
464
984
812
870
589
695
8
688
192
435
87
197
210
519
1
330
273
922
813
30
403
604
928
500
270
240
779
632
861
597
815
960
752
130
502
223
594
929
964
39
964
926
235
349
74
144
489
891
517
572
566
404
594
231
676
225
789
558
257
912
655
574
59
68
583
117
482
301
678
836
797
498
263
355
210
945
566
418
767
408
121
639
112
717
840
132
498
642
767
110
816
102
353
323
828
627
469
802
379
420
134
407
810
460
333
269
583
521
518
590
38
225
294
873
81
357
876
325
777
312
966
4
985
260
951
41
458
202
761
89
397
795
493
14
431
340
445
81
566
749
459
555
334
526
131
387
702
100
822
959
362
168
745
959
123
725
363
891
159
910
699
90
429
999
95
234
561
715
609
601
982
967
536
575
965
108
653
151
511
104
318
819
471
521
280
778
14
360
154
30
810
123
352
440
507
870
75
101
717
701
967
786
165
958
659
701
711
485
39
485
595
91
33
206
108
876
87
4
905
800
931
658
117
20
389
377
484
901
561
190
906
357
651
524
557
865
360
994
376
320
854
321
462
646
698
823
216
37
722
826
240
158
433
7
12
331
11
425
225
628
764
718
985
108
705
718
712
619
86
710
492
305
780
926
303
968
181
922
787
714
42
549
153
743
551
414
293
4
715
80
902
744
144
418
438
825
815
836
195
163
330
307
133
662
17
564
890
756
576
754
702
237
312
161
815
503
96
491
534
399
729
532
522
428
787
36
477
13
869
206
249
158
388
294
824
202
402
837
103
372
567
741
336
639
752
136
992
762
171
400
269
729
384
768
296
37
137
674
489
810
851
453
746
997
684
208
41
866
857
194
313
916
492
389
307
443
89
462
343
680
443
959
171
366
41
761
398
994
907
720
194
873
861
870
686
501
307
904
48
883
521
183
0
872
38
306
107
760
697
351
478
914
533
416
621
555
980
616
512
823
963
524
390
199
657
454
520
102
493
609
317
814
286
476
307
733
924
796
333
446
226
105
438
397
996
825
794
48
256
186
811
163
587
142
131
75
742
640
554
716
904
872
16
863
598
756
175
606
97
371
415
463
144
957
475
213
972
160
5
870
807
49
106
551
590
724
359
570
904
330
308
653
274
701
108
357
338
273
545
958
234
789
721
530
277
155
554
623
248
401
912
76
398
362
834
66
505
620
474
51
294
741
925
797
262
274
533
674
915
499
804
673
207
683
913
898
164
85
925
819
847
22
594
238
393
198
767
400
10
709
924
850
226
503
127
948
55
492
610
198
236
840
367
559
774
358
649
82
864
102
760
101
758
912
432
313
112
583
96
728
370
124
156
681
150
565
137
286
501
556
940
658
744
488
989
956
868
979
437
98
590
442
143
794
633
857
566
392
338
474
316
82
788
381
504
231
110
587
796
473
111
943
553
586
721
61
934
819
202
144
23
352
641
716
754
271
482
302
508
460
559
528
932
267
381
704
814
760
366
143
515
350
990
461
196
299
795
568
624
350
131
46
273
336
767
413
777
627
117
477
517
873
863
188
851
8
346
327
756
175
808
393
532
249
880
559
199
980
989
577
224
328
542
977
961
225
37
15
837
877
466
254
660
936
67
100
138
913
640
257
743
205
407
465
320
799
245
767
223
8
422
218
311
417
128
244
473
391
674
472
217
215
994
793
716
668
841
471
44
332
938
645
471
935
829
97
154
213
974
951
871
176
535
194
481
693
226
519
559
821
909
795
713
258
659
352
723
429
947
340
776
164
379
761
969
957
723
856
471
200
259
580
923
327
633
578
136
923
868
321
708
465
76
116
693
636
567
157
55
299
375
306
880
845
866
809
23
391
643
684
648
404
995
778
486
385
170
439
213
427
333
785
448
114
615
913
970
25
928
136
101
135
826
295
446
887
301
805
23
398
646
393
554
1
921
580
155
647
362
813
93
398
829
542
442
467
988
380
455
569
731
775
516
877
906
571
795
514
446
237
273
165
446
113
905
572
665
835
652
419
301
217
593
858
419
285
621
367
649
484
745
725
576
936
382
101
495
499
954
903
749
814
669
654
837
852
910
779
677
851
151
728
697
82
720
966
621
991
724
947
925
483
685
583
53
491
826
903
58
899
782
127
688
957
263
801
427
365
815
951
469
965
310
929
712
746
615
808
257
472
621
88
63
938
808
195
192
710
832
407
435
464
370
436
850
555
43
250
922
488
706
962
780
446
118
534
747
795
67
296
97
839
46
842
145
662
116
371
640
960
29
456
55
435
652
912
563
484
388
106
528
137
161
390
795
525
568
444
816
27
823
850
505
83
902
298
836
178
35
252
835
392
431
896
661
672
901
430
722
34
529
70
809
542
280
606
357
526
345
666
815
514
658
857
9
761
674
31
981
513
759
304
508
726
356
800
218
369
207
809
967
390
769
204
57
898
503
121
343
200
658
532
696
723
972
761
478
785
837
622
105
928
370
872
329
391
935
978
562
799
288
685
536
452
835
569
43
208
307
943
320
901
818
902
484
731
94
302
482
355
973
112
710
847
898
388
812
263
296
605
234
594
746
148
150
783
560
296
948
981
75
690
866
286
667
746
566
207
942
250
923
702
549
248
179
683
153
200
988
857
751
714
448
994
53
440
338
229
343
34
15
253
591
563
146
965
489
299
669
224
715
175
52
114
413
780
859
216
506
726
443
659
932
616
45
741
685
233
118
765
401
384
982
493
672
745
40
382
131
879
204
877
532
743
692
773
561
303
812
719
208
207
298
524
267
912
942
451
981
735
876
682
859
693
513
380
984
9
575
257
839
678
643
28
669
377
352
130
321
212
687
626
410
218
917
552
826
785
573
229
68
95
708
507
134
48
222
744
737
153
611
182
134
217
972
123
627
154
941
692
758
56
393
308
627
676
438
325
167
507
135
150
627
426
194
236
588
140
794
969
420
869
277
346
260
582
919
966
174
533
851
581
953
143
446
774
428
152
107
254
430
304
39
194
995
481
790
870
56
108
477
132
673
812
722
520
727
764
862
673
620
738
962
559
583
98
297
377
571
476
96
693
308
252
578
84
439
404
292
637
982
685
2
637
239
99
331
759
294
626
591
137
901
328
300
363
97
796
255
186
793
111
968
661
570
743
496
847
214
542
582
654
971
169
144
542
391
80
920
736
446
995
235
784
155
110
791
28
79
524
482
833
344
227
432
363
617
350
743
804
285
59
482
293
8
412
217
456
642
634
157
149
237
551
420
521
217
426
679
447
711
572
965
427
221
267
138
994
277
22
920
307
415
302
544
383
633
438
852
345
996
321
937
774
240
636
82
361
957
914
445
661
290
976
559
532
162
502
714
744
995
93
499
82
160
802
328
45
887
143
121
623
563
720
357
992
11
658
709
409
917
248
718
561
342
475
973
841
521
327
524
190
30
460
678
564
416
205
750
876
102
160
95
42
795
214
459
679
470
935
266
951
427
935
617
701
233
860
998
139
572
115
995
746
150
904
237
95
372
883
399
108
996
93
174
833
33
969
511
591
894
526
987
839
855
7
423
546
69
440
514
870
122
661
340
318
154
315
656
731
149
763
162
479
55
42
663
82
977
176
335
272
306
132
854
382
477
914
954
918
76
344
551
205
546
245
732
31
921
387
775
603
980
477
674
425
797
583
820
8
568
28
71
696
120
758
577
628
83
78
243
61
587
814
177
695
784
7
2
94
782
676
181
305
567
829
367
113
857
464
238
142
901
717
6
490
462
688
234
422
784
984
795
763
666
384
148
982
983
246
557
273
912
603
847
510
415
834
396
368
907
312
794
608
672
29
792
693
187
700
188
607
414
667
874
941
740
697
445
621
297
497
445
772
495
175
904
214
875
174
300
886
574
514
288
758
929
744
2
201
982
234
731
299
38
281
439
242
649
532
261
544
784
643
708
381
324
881
432
537
686
187
517
124
377
584
347
503
262
886
290
591
780
792
78
317
50
105
696
661
687
120
457
1
393
713
403
313
316
624
816
511
922
851
553
161
677
871
157
929
604
980
481
574
716
141
710
33
907
648
311
174
631
293
339
489
12
513
404
859
285
916
399
818
943
243
393
934
965
460
947
131
643
505
397
952
970
750
632
904
469
426
157
808
319
152
377
582
512
446
787
831
404
78
501
728
249
830
635
688
449
97
509
669
272
364
854
632
658
788
953
398
220
389
507
845
106
288
497
100
312
84
13
326
376
286
701
308
692
640
530
44
707
725
763
997
177
962
834
572
698
599
986
116
751
218
453
59
557
811
681
988
95
415
258
887
337
403
19
72
479
457
887
725
682
750
680
640
774
633
180
881
45
501
248
737
443
555
264
100
151
476
405
215
495
839
140
647
358
721
405
226
50
740
61
512
712
442
235
834
324
102
882
75
308
62
446
448
486
214
393
997
370
752
447
345
567
495
414
295
819
239
187
769
698
717
596
289
325
685
82
950
395
606
949
293
503
324
885
144
744
882
515
609
401
528
207
804
168
293
402
686
863
454
890
404
824
378
172
603
986
722
208
124
863
914
583
86
870
581
895
367
799
857
109
579
789
601
708
159
994
248
675
21
146
556
315
943
230
265
135
831
34
732
29
963
11
293
68
347
362
880
475
143
304
34
474
299
565
465
904
288
452
587
928
646
742
995
647
540
348
304
296
258
150
696
66
321
83
600
260
19
355
470
944
114
488
471
682
43
502
521
264
602
565
448
106
879
691
328
346
485
290
285
940
330
148
665
289
532
831
899
769
166
357
433
237
283
80
84
823
177
368
650
51
149
163
91
602
526
217
332
788
605
864
409
942
577
704
248
576
645
322
479
363
936
809
333
341
555
521
431
191
52
22
569
208
816
925
826
960
14
372
210
236
253
500
19
677
224
323
184
359
286
159
917
857
900
492
862
207
813
574
54
597
650
909
283
28
580
902
369
632
404
672
910
611
281
153
267
133
931
597
774
848
982
154
629
887
572
566
857
271
176
908
70
208
132
185
691
49
439
916
903
358
744
210
195
323
487
942
874
409
493
143
938
618
455
510
233
146
62
732
148
259
529
945
593
827
300
22
584
62
263
912
523
795
923
188
839
494
668
456
967
300
585
1
39
923
534
815
807
805
567
962
333
528
882
979
455
744
518
417
74
400
487
188
191
242
439
892
951
251
869
799
103
492
202
506
102
26
134
331
783
212
223
343
687
838
435
81
134
273
79
159
17
131
941
968
425
908
883
767
971
108
76
386
879
294
208
628
382
268
717
979
121
285
487
66
547
407
740
891
950
168
514
820
450
554
468
479
272
912
548
689
775
205
680
482
397
811
743
481
142
451
188
98
490
678
724
331
223
586
695
826
66
100
494
305
274
964
248
159
768
716
631
934
873
607
783
276
830
829
539
191
872
0
259
682
483
312
377
722
675
562
661
274
357
441
170
626
460
979
560
428
92
581
140
829
68
947
345
358
993
65
73
312
207
130
783
994
778
8
818
728
368
451
539
49
187
941
478
511
582
762
349
589
770
422
244
865
727
613
575
996
981
144
245
522
716
621
415
799
483
506
528
407
753
460
841
962
822
5
148
924
259
849
777
555
610
283
811
734
449
420
735
400
279
2
631
32
893
223
985
19
787
84
939
907
513
925
566
737
33
895
984
671
910
456
521
607
554
994
880
25
294
718
634
351
21
444
245
815
866
507
997
590
66
928
925
94
921
881
865
194
260
802
936
649
780
87
66
933
278
24
126
861
613
970
735
942
157
581
600
923
992
260
108
105
354
32
439
29
163
825
260
629
967
537
553
65
164
933
570
342
764
62
55
151
777
732
207
793
379
834
611
507
379
901
44
799
256
420
248
814
452
868
325
99
177
745
544
795
9
950
57
660
413
535
305
749
565
184
211
952
231
873
287
174
931
859
166
525
749
504
146
931
462
437
425
558
699
642
192
426
114
797
291
831
5
873
330
991
149
574
325
257
616
351
546
726
634
23
753
101
599
892
520
636
954
600
295
371
139
181
319
937
762
365
949
956
850
32
518
431
660
10
728
260
189
801
761
843
753
78
375
18
725
964
836
189
780
45
757
997
946
68
292
344
444
361
811
20
509
923
553
272
703
415
415
584
512
697
474
850
607
26
697
518
170
62
236
1
128
531
640
464
8
753
277
886
256
869
886
531
41
871
600
971
786
593
93
345
647
353
316
518
150
746
725
349
197
454
351
608
384
218
120
71
132
987
823
186
337
814
401
576
287
929
324
223
86
286
597
889
825
396
323
23
217
308
698
48
340
790
410
603
445
556
892
724
17
770
893
344
848
608
204
146
135
693
849
578
232
202
404
136
453
599
700
756
768
82
443
376
318
844
225
27
977
900
551
231
845
540
297
238
248
69
404
917
912
99
722
860
263
427
753
712
580
353
41
535
442
180
179
434
821
545
543
997
772
760
452
515
574
786
512
833
354
595
721
465
97
496
553
888
455
383
630
559
574
899
347
106
707
29
175
430
981
683
939
292
893
394
905
663
53
531
81
28
308
878
353
843
599
669
603
618
967
965
336
727
198
86
50
141
217
377
315
779
818
643
461
255
431
252
198
707
242
185
471
669
822
703
545
581
540
302
404
383
448
424
627
694
488
310
677
832
248
827
11
350
484
755
665
901
391
19
980
334
322
429
294
146
605
287
65
826
538
117
387
940
500
292
466
498
189
319
373
140
267
175
778
481
893
458
165
5
597
440
529
286
196
546
654
750
704
698
908
742
489
570
63
498
494
730
312
33
864
693
951
71
436
968
744
219
908
68
141
762
441
852
128
176
223
462
692
484
867
589
174
279
302
238
491
328
212
34
667
911
191
761
654
411
422
757
493
207
223
813
703
331
237
276
786
731
7
618
371
649
85
5
520
457
465
958
382
505
805
881
11
399
134
521
381
1
444
596
983
508
987
985
66
225
379
334
243
423
91
332
525
574
36
286
293
196
143
573
308
647
823
537
874
188
446
137
466
269
375
938
675
679
813
37
303
307
7
505
253
946
604
829
934
162
779
638
622
411
615
612
160
119
700
156
116
372
797
123
732
983
728
913
530
409
595
481
471
997
39
53
427
889
501
3
342
180
372
440
265
393
667
274
838
105
901
950
182
377
243
58
301
466
894
933
219
937
532
649
742
983
526
83
179
376
901
642
199
998
720
291
132
784
134
881
639
297
387
88
411
879
884
687
365
91
760
564
487
390
358
861
994
949
283
326
963
110
848
548
850
660
251
879
589
55
643
454
327
816
523
3
894
797
831
686
237
467
526
826
303
388
712
580
145
797
461
257
506
880
406
151
863
474
311
537
37
983
772
452
366
279
675
986
491
363
496
234
131
882
695
521
917
242
240
216
242
499
944
40
869
693
855
965
283
617
544
821
13
570
590
415
115
530
700
726
781
313
721
769
766
480
73
728
154
313
436
91
569
782
499
516
66
982
274
661
794
823
874
504
611
223
535
17
783
151
458
10
212
922
766
445
187
485
995
154
361
372
733
83
176
160
433
838
243
500
924
163
934
773
603
540
58
508
494
655
800
121
615
673
998
146
947
263
263
843
859
724
529
179
775
904
781
480
531
779
467
792
283
746
476
708
635
129
660
854
224
884
695
137
881
190
280
438
784
965
472
132
683
263
563
815
214
554
179
20
560
955
474
723
73
164
866
737
692
109
212
938
265
722
425
916
598
829
645
155
304
795
99
156
497
432
436
193
309
105
298
330
950
817
228
274
780
216
548
531
606
841
239
903
684
185
649
685
820
72
501
576
243
179
957
968
666
519
565
882
256
370
317
31
717
327
757
359
485
458
866
692
307
555
284
557
724
28
845
640
494
398
272
458
662
83
504
221
329
809
414
980
73
492
556
172
689
562
898
898
881
587
864
76
403
844
933
686
980
553
818
498
266
239
448
288
721
325
576
587
513
133
454
210
728
381
21
980
389
819
697
170
860
30
770
42
481
415
409
837
972
910
847
92
232
428
702
437
952
354
446
581
1
768
786
133
412
958
426
883
509
150
647
214
79
224
74
812
938
99
285
642
0
763
431
899
941
739
405
904
190
381
819
210
68
815
422
434
211
640
805
358
823
259
377
227
104
393
208
990
781
296
814
579
705
254
745
221
184
415
275
23
538
122
293
765
817
568
565
496
679
670
124
884
219
269
455
326
775
114
986
807
240
653
257
821
899
998
872
540
235
594
630
843
760
782
192
722
365
967
903
760
591
495
333
784
410
952
356
351
538
203
278
352
675
956
738
764
840
436
69
919
884
710
799
786
201
126
814
435
387
212
546
29
623
388
65
769
881
494
656
647
516
585
935
63
781
377
977
939
977
113
634
795
528
481
494
965
227
486
828
722
102
622
978
306
46
258
32
553
711
157
476
839
555
45
561
101
728
953
131
859
435
681
172
843
250
127
532
613
495
332
916
867
197
933
471
45
207
879
127
532
545
332
314
738
778
797
824
320
656
302
71
344
900
812
525
242
631
375
304
506
96
635
428
696
52
576
997
20
594
194
949
77
318
541
434
125
333
421
84
695
912
70
302
496
472
835
102
204
758
845
98
648
13
594
383
154
504
620
919
271
270
422
568
936
922
898
686
562
183
523
249
21
798
155
63
398
476
13
903
523
933
884
615
522
939
435
35
591
103
12
679
363
249
840
78
592
195
584
665
742
675
28
893
354
158
895
912
239
36
924
630
112
373
332
2
474
487
502
392
52
142
981
633
405
452
266
941
111
732
421
861
112
120
0
593
954
987
51
848
900
794
780
788
119
609
120
396
782
624
724
740
828
196
221
602
996
543
370
519
363
218
989
88
202
240
160
687
633
70
88
360
795
649
703
548
187
97
828
523
866
189
412
466
810
778
232
314
596
479
351
778
266
233
472
921
523
425
205
655
113
600
440
255
900
315
297
999
703
703
752
569
35
343
812
677
19
89
71
812
6
720
880
496
589
313
171
493
472
473
681
526
22
382
825
200
132
474
128
818
186
650
98
381
255
35
441
753
16
821
886
911
653
851
771
24
466
709
271
542
357
207
398
329
852
683
501
512
492
365
309
784
726
658
795
857
400
645
714
477
530
44
359
916
115
992
26
150
7
27
249
140
256
590
626
550
203
455
666
329
924
422
947
827
648
46
809
809
418
702
343
99
960
653
956
498
242
239
314
910
614
1
401
460
522
381
121
985
9
283
71
616
732
460
818
754
229
581
801
142
787
863
741
792
869
265
453
737
74
574
919
42
881
109
113
94
622
731
50
5
464
11
675
71
15
309
551
569
61
503
464
891
461
158
233
716
614
142
111
954
29
804
64
632
745
73
356
124
465
12
98
401
265
473
251
498
100
282
658
241
525
45
972
202
625
935
286
672
0
883
507
397
886
950
439
104
114
48
637
947
761
433
732
178
875
752
325
885
384
225
897
565
559
809
863
307
100
612
218
727
548
757
827
657
531
322
541
869
740
398
141
554
626
687
635
208
549
842
193
759
115
483
709
499
231
412
639
293
80
633
26
980
4
690
59
571
198
596
763
79
244
618
497
305
647
825
722
543
947
811
791
415
970
842
862
635
41
19
595
142
944
463
734
760
332
744
982
85
215
920
91
972
711
466
376
548
961
7
302
589
501
606
656
989
650
407
683
775
716
151
513
331
338
0
176
718
98
199
147
715
945
991
221
383
225
157
669
769
412
216
817
937
1
979
419
880
513
813
523
973
415
754
439
356
634
281
654
37
493
38
258
245
363
330
747
954
35
243
29
24
959
168
898
149
170
656
337
69
626
44
490
702
67
781
851
337
486
193
384
206
463
697
826
911
893
866
569
947
861
313
825
575
726
720
39
216
245
438
186
992
632
464
555
302
437
70
724
449
995
135
925
693
862
458
726
305
886
585
63
154
48
501
205
344
46
799
88
266
654
556
677
392
136
155
119
658
113
332
315
945
593
21
448
622
694
446
109
991
330
948
415
117
549
550
572
400
71
526
654
836
481
351
499
187
395
588
355
338
858
642
323
261
256
278
356
454
328
416
761
401
114
879
811
842
924
228
777
945
988
331
788
121
550
726
817
843
679
146
604
937
798
318
274
688
412
719
62
921
537
323
70
800
404
973
883
270
91
356
30
388
190
184
943
997
239
62
192
794
133
261
711
888
417
362
45
138
133
15
158
586
596
26
712
761
459
751
464
696
452
894
380
916
612
8
768
608
363
390
902
288
678
805
475
54
890
219
551
467
690
13
827
282
428
127
581
284
80
486
486
733
265
717
527
683
371
161
583
215
150
208
763
563
467
255
386
543
113
999
948
830
195
686
395
657
88
441
180
830
318
979
678
295
730
507
39
268
500
874
589
943
883
445
719
223
358
880
726
985
258
465
357
468
333
607
596
984
81
852
964
169
784
785
880
771
875
412
707
922
545
831
19
882
409
61
550
860
187
657
388
712
798
873
680
837
515
778
742
69
928
546
490
388
123
123
377
687
130
478
400
673
635
972
289
34
716
178
557
0
180
403
267
508
507
99
116
389
220
694
327
166
715
595
615
89
648
807
308
888
626
691
805
417
535
332
390
430
798
735
877
342
420
790
559
302
628
633
139
1
291
53
230
306
682
742
255
538
506
495
445
877
521
442
500
600
727
351
558
254
386
120
809
637
40
531
916
137
179
814
856
310
897
818
922
652
911
35
541
628
486
115
791
228
334
218
819
954
183
899
95
618
132
133
757
265
630
167
129
734
733
484
903
850
99
380
721
869
717
244
73
416
572
457
814
229
422
341
837
573
825
66
367
702
649
376
251
578
307
355
237
79
872
249
272
617
75
32
495
427
538
386
115
695
999
964
363
685
215
803
37
511
424
783
41
387
102
156
321
639
668
184
971
987
515
217
913
722
513
590
906
870
695
810
289
805
912
537
156
687
116
493
572
728
786
361
649
755
597
391
848
344
808
773
382
191
251
351
951
450
416
926
113
31
242
120
670
369
617
297
794
659
426
588
669
379
935
39
716
115
106
288
710
452
686
900
67
758
364
281
466
861
597
24
335
352
731
967
825
415
56
434
959
56
631
709
459
220
763
604
504
370
66
437
235
461
810
86
451
781
521
678
575
140
557
984
742
387
302
503
54
771
225
702
411
333
640
722
316
834
980
998
187
0
205
64
422
724
437
837
978
16
653
324
167
45
222
715
188
304
449
744
119
622
723
262
213
577
47
105
951
749
710
707
645
495
562
930
591
27
136
835
502
841
31
272
302
162
959
260
325
165
882
978
666
14
36
800
853
911
92
318
328
815
878
294
981
109
722
577
759
367
561
595
141
220
469
151
991
342
602
976
608
695
829
373
505
824
886
683
183
384
836
771
963
971
520
47
266
727
196
304
602
86
716
16
431
543
407
684
815
292
305
820
635
221
950
466
780
922
489
497
591
156
531
129
532
766
934
110
80
336
134
201
592
78
554
718
560
16
770
421
244
813
390
450
48
199
620
497
372
258
707
541
603
641
721
623
64
952
39
103
940
705
264
217
248
174
884
906
154
393
432
679
377
255
508
311
289
220
248
107
440
329
526
285
790
850
657
798
443
714
467
587
275
48
758
23
448
370
151
612
45
447
191
744
852
103
583
694
820
667
689
715
95
31
889
759
215
434
516
358
840
391
347
295
437
814
642
196
475
560
139
55
83
429
285
827
968
273
838
546
469
187
324
887
749
861
788
131
834
62
799
386
126
992
582
741
142
286
29
484
196
909
515
182
718
54
145
388
929
389
245
819
932
696
890
757
887
909
94
580
107
740
327
780
674
284
450
863
214
946
875
520
860
534
186
84
755
512
80
531
661
26
645
304
484
808
490
321
141
612
444
106
510
908
235
397
504
642
508
153
750
322
216
513
379
421
389
718
698
871
791
734
842
742
212
754
433
801
338
627
506
532
947
579
911
554
878
330
682
478
712
6
479
196
315
912
368
20
804
395
879
471
195
775
216
326
674
842
826
281
733
850
200
904
982
8
787
99
543
84
585
464
809
149
509
386
25
895
647
949
205
431
869
267
139
81
228
636
336
88
729
603
855
418
155
179
364
622
399
591
432
380
590
548
93
392
194
977
54
306
75
361
912
823
250
656
289
131
218
567
181
471
697
702
698
990
803
921
885
328
677
59
894
274
481
90
416
54
47
80
473
5
494
255
729
109
403
821
753
832
688
255
559
298
962
590
867
124
3
159
333
651
929
561
842
445
858
474
708
520
713
408
969
865
657
545
400
37
368
732
771
18
933
722
269
950
337
190
276
770
962
141
676
21
757
546
437
83
694
752
438
960
289
70
245
287
873
891
595
659
184
915
986
428
573
672
471
871
184
938
220
433
172
971
163
111
278
8
46
421
32
232
357
943
49
351
774
504
794
354
25
376
810
893
882
631
926
462
72
419
575
917
394
638
715
598
743
283
622
444
544
193
375
436
327
483
513
435
864
933
582
65
141
219
9
87
582
195
903
353
929
819
731
807
21
998
20
902
413
622
462
317
773
854
564
740
56
842
135
217
599
577
252
625
550
787
218
764
327
773
653
240
109
541
226
971
743
611
444
911
626
586
189
990
108
72
698
397
740
691
659
936
304
775
597
875
617
930
272
280
859
934
466
13
348
722
207
22
607
481
85
799
91
451
154
703
996
189
653
862
218
879
638
70
480
7
0
444
378
807
147
583
382
904
277
84
39
495
511
537
434
714
692
281
416
590
896
783
482
722
278
334
670
573
548
295
705
596
445
275
354
495
250
749
552
758
124
220
851
904
985
30
787
65
429
678
158
950
516
11
540
580
925
464
358
976
510
229
101
80
204
504
749
970
850
990
608
734
571
52
449
220
282
387
478
820
742
685
650
357
953
995
381
438
460
275
506
207
179
548
880
586
698
782
695
637
502
393
384
783
371
143
247
302
172
938
667
859
544
399
545
138
94
710
395
756
145
815
212
785
633
821
507
905
647
560
491
133
588
366
801
283
918
862
0
418
28
453
401
962
128
648
109
847
110
243
787
966
893
20
832
734
207
385
621
459
419
267
503
820
354
435
455
153
778
778
119
713
716
257
914
704
153
823
955
417
657
963
141
783
671
613
394
564
337
8
689
85
910
511
749
425
134
566
626
379
756
498
843
69
12
582
241
450
11
677
14
12
68
359
490
317
271
795
194
38
765
662
210
872
381
187
811
587
317
979
664
754
84
445
287
660
83
192
853
517
936
930
123
822
261
17
387
935
309
326
833
202
696
229
322
93
248
602
412
629
307
41
505
670
216
814
678
480
708
406
568
590
358
630
808
539
682
348
29
666
514
649
817
432
705
830
545
823
217
297
247
312
542
141
807
643
70
693
186
573
636
17
573
478
850
171
498
542
728
495
175
198
736
115
721
187
644
124
768
881
791
182
796
415
434
59
671
295
55
284
458
292
323
300
214
519
541
67
910
116
440
628
678
150
956
929
864
16
89
699
70
808
717
891
295
828
131
666
623
384
917
615
18
482
489
819
904
521
809
755
218
340
474
627
977
404
42
81
353
699
207
916
87
427
836
825
492
407
874
403
942
853
125
978
580
906
501
201
413
508
757
58
155
922
980
184
509
945
853
849
401
223
780
499
575
12
506
186
167
899
893
240
176
381
888
753
550
921
833
52
93
460
214
273
760
978
634
220
676
344
994
294
643
465
841
758
744
12
882
864
530
293
545
4
28
316
340
579
588
265
152
874
851
433
368
214
234
519
418
970
206
410
108
266
982
895
830
392
513
909
820
156
530
578
542
119
415
821
900
724
411
418
786
628
930
957
337
513
609
121
706
588
884
573
979
508
772
353
939
466
24
100
817
331
375
607
65
466
648
792
425
204
216
744
752
560
370
848
625
234
976
165
663
412
822
701
929
960
252
722
658
147
68
800
55
268
253
793
897
11
207
154
645
584
513
695
590
290
694
939
104
699
181
157
509
420
105
291
590
114
93
693
752
898
663
199
533
325
974
494
724
709
559
484
310
386
476
262
610
646
121
201
195
742
710
166
5
32
158
953
357
147
399
444
428
25
806
106
897
965
140
612
608
972
879
527
913
405
6
33
682
535
287
486
52
468
316
585
807
373
140
361
708
763
656
364
37
22
351
935
385
669
220
800
273
988
862
351
497
532
626
870
420
79
581
823
631
519
380
295
475
106
473
104
159
541
907
389
82
493
576
355
776
643
478
584
633
558
998
718
650
133
658
722
762
42
46
661
145
691
726
10
706
487
567
437
915
213
838
347
654
125
753
234
583
379
387
701
83
367
204
803
30
862
780
379
948
816
146
745
926
476
781
574
586
54
298
903
449
498
584
286
289
912
606
960
214
552
870
552
280
550
960
144
511
676
477
925
951
580
48
397
395
623
882
133
235
647
46
381
376
610
149
428
434
648
267
216
853
238
945
952
417
355
779
664
340
787
788
491
461
845
331
691
749
810
863
558
340
619
834
395
873
297
135
650
688
601
105
708
126
457
941
618
597
906
379
510
523
723
271
520
78
720
964
911
4
7
7
451
116
516
796
584
104
627
722
693
450
455
127
353
548
911
694
986
954
360
398
793
776
267
426
811
979
467
182
892
815
415
624
408
192
377
691
189
304
637
746
682
966
486
429
150
269
325
925
636
529
842
292
81
315
197
14
803
147
339
495
134
32
228
381
221
808
255
246
32
260
171
233
148
89
538
478
976
495
574
891
301
676
940
430
673
568
817
405
861
432
212
317
172
776
531
647
309
597
644
440
918
859
732
563
884
838
716
7
187
107
326
93
293
332
300
835
928
782
629
909
280
390
382
764
410
34
109
406
605
717
148
988
270
867
230
602
440
264
475
136
394
501
528
234
5
82
671
344
455
137
507
44
357
541
826
860
703
953
818
949
741
553
638
708
27
70
422
48
614
451
230
31
485
420
551
421
650
211
955
780
976
537
955
484
118
292
402
293
575
900
67
763
784
813
135
90
596
304
994
684
638
386
18
750
524
814
663
400
824
335
817
40
467
953
248
978
633
327
942
418
81
863
684
742
547
298
878
961
229
713
793
75
103
129
67
7
19
483
42
371
582
792
998
33
65
193
429
79
153
859
113
166
404
470
663
559
56
486
767
765
355
201
956
815
300
223
861
791
665
606
323
892
913
109
449
379
292
264
607
893
838
62
832
415
427
454
237
388
910
582
241
552
577
44
661
803
827
656
100
947
467
843
710
797
937
9
941
980
590
643
441
963
729
989
636
129
7
465
395
877
290
581
237
927
638
221
602
828
414
494
206
918
66
321
326
238
141
976
814
635
721
56
546
98
294
463
917
608
328
326
903
838
541
117
33
883
937
79
282
987
325
154
450
491
758
152
810
1
267
645
721
13
373
871
59
244
527
576
821
259
236
847
954
69
753
785
504
127
26
671
636
503
242
691
710
293
515
588
83
578
76
982
354
607
313
415
348
477
995
289
399
763
714
564
860
506
898
885
890
526
551
414
164
852
505
605
885
682
440
797
676
451
317
233
140
145
455
95
940
550
874
262
474
161
951
916
412
934
706
964
368
592
665
346
70
313
357
652
183
851
825
80
512
767
374
567
7
339
850
266
319
209
521
918
424
607
818
171
535
866
579
935
573
650
741
522
524
83
74
190
506
307
668
211
244
525
956
558
580
29
580
4
162
519
833
682
752
28
943
273
297
367
182
887
58
841
498
832
183
945
75
971
890
686
758
549
759
73
455
397
205
533
840
203
154
594
109
991
897
369
63
826
999
129
372
182
930
734
717
777
929
342
989
480
728
421
61
224
261
907
357
889
178
543
144
200
774
98
229
579
207
837
629
563
772
144
384
606
778
326
837
198
24
852
158
63
452
991
291
202
706
114
869
501
877
872
525
331
584
431
200
179
431
330
301
410
210
548
978
484
600
106
656
22
373
939
145
326
290
597
956
921
556
726
596
259
563
548
209
228
920
533
12
554
227
523
391
972
526
811
541
195
641
281
716
199
754
728
279
291
740
775
584
772
640
269
230
901
853
761
158
822
504
839
733
545
518
367
664
398
898
436
476
602
180
313
217
433
993
206
528
643
321
293
701
435
796
428
439
949
123
327
456
462
313
114
983
970
958
99
584
328
463
349
847
582
212
646
349
529
854
612
356
693
747
751
446
221
160
406
627
995
263
287
905
906
402
398
557
717
588
419
126
988
538
470
53
274
379
186
863
698
370
54
515
332
65
872
884
638
632
74
977
621
114
223
554
884
308
225
797
571
586
950
767
730
294
69
729
713
244
856
365
304
906
38
129
453
607
251
367
604
135
518
875
736
605
452
278
232
661
475
267
472
447
466
938
751
681
269
267
469
510
793
565
711
562
604
423
486
200
848
46
304
803
654
195
146
279
894
382
315
314
353
212
35
666
292
760
932
420
851
114
985
168
817
723
627
416
640
223
83
590
764
811
423
695
78
760
332
538
70
654
273
881
495
949
742
493
591
820
469
597
411
985
269
480
100
737
819
957
806
927
596
707
978
769
523
585
56
932
451
421
977
386
686
951
218
406
648
659
867
932
403
484
804
920
695
44
776
136
949
929
241
495
36
298
518
349
222
955
354
892
686
262
533
26
603
150
138
878
997
442
98
56
526
880
908
52
104
568
866
13
304
40
753
391
267
150
344
344
478
609
855
749
477
494
82
291
734
368
115
663
870
688
218
206
157
663
600
334
587
954
713
591
437
347
669
800
705
650
970
940
438
925
564
133
570
65
59
194
390
17
12
787
613
999
707
177
825
815
711
439
9
233
489
598
550
88
148
732
39
862
756
505
124
582
639
395
957
395
500
897
67
329
793
465
204
537
570
946
757
286
64
522
107
697
126
530
722
563
462
949
713
529
242
123
181
710
848
718
772
36
101
728
923
986
641
26
812
842
641
381
860
927
454
329
837
706
25
437
921
164
481
314
646
292
693
898
362
533
952
319
169
455
829
140
123
433
922
909
240
729
119
277
451
772
909
740
839
493
986
640
131
310
876
547
371
161
57
349
755
515
398
994
838
233
907
658
251
860
351
978
523
123
690
985
799
204
106
956
70
122
750
257
756
500
688
162
627
384
671
578
104
86
407
208
136
856
790
185
302
740
792
628
720
751
138
325
112
507
242
459
33
121
660
393
863
354
289
531
707
840
736
231
151
126
99
831
676
894
160
556
575
817
787
576
163
559
816
876
908
814
64
369
699
842
105
9
221
682
263
21
777
648
53
402
465
930
753
617
241
481
949
854
558
414
285
189
61
142
753
40
177
425
782
357
934
237
68
875
326
893
645
610
213
668
286
79
402
338
587
810
762
79
297
921
672
392
64
669
352
619
45
743
75
142
724
334
198
17
14
841
5
96
850
942
866
147
918
691
51
473
708
450
666
551
898
410
461
258
770
508
625
361
685
814
975
278
83
486
397
865
198
402
249
511
341
406
998
327
811
268
163
366
357
579
994
191
737
684
496
317
684
651
2
697
145
326
385
881
121
993
787
270
841
577
255
522
236
883
104
526
7
256
51
255
825
338
133
53
720
683
913
257
906
458
746
682
895
982
289
33
90
969
821
772
863
329
864
333
172
499
805
759
849
370
823
697
983
324
711
602
280
361
772
981
762
729
127
206
884
688
1
507
537
136
437
330
541
697
534
591
56
467
661
586
191
22
273
556
340
141
561
683
162
373
378
561
690
322
280
610
306
442
201
999
773
22
45
871
611
794
215
431
778
948
66
790
267
816
821
652
783
189
366
679
232
194
241
752
10
742
863
804
687
263
582
623
763
330
203
316
404
860
909
777
667
398
568
490
469
880
49
425
406
935
8
163
870
514
235
933
242
737
594
172
917
239
619
962
267
963
539
192
125
332
405
34
206
932
606
422
596
868
187
708
231
126
575
590
498
575
59
236
438
178
64
404
353
365
445
828
642
584
707
555
854
884
142
674
198
621
654
589
627
222
929
370
767
212
535
948
123
690
536
203
565
97
214
975
643
504
478
655
536
16
601
820
761
426
625
809
753
688
996
654
719
172
438
517
86
333
155
850
262
754
7
376
942
239
302
301
595
832
730
940
518
108
719
171
904
57
675
530
739
55
965
966
551
894
897
143
842
429
789
54
182
730
531
717
715
338
692
656
27
872
859
572
263
50
448
298
892
675
582
860
912
407
382
806
55
852
526
780
921
586
700
372
624
832
820
293
803
945
920
365
175
58
459
140
9
671
645
809
986
378
903
505
160
738
543
851
650
358
606
722
841
885
202
698
223
735
400
906
871
446
841
572
820
924
254
599
226
537
505
512
64
954
953
491
660
38
854
311
523
285
398
512
810
716
144
425
165
864
269
370
817
877
82
292
89
963
274
110
534
544
355
268
605
571
798
869
805
756
514
208
567
52
780
587
246
837
551
216
222
714
5
806
656
317
7
161
982
224
818
314
569
2
383
217
184
590
113
589
851
477
167
611
150
733
901
288
946
866
635
777
222
992
710
216
875
947
683
276
79
833
453
547
502
370
789
133
982
332
797
309
120
252
490
51
363
232
266
573
273
82
763
794
319
19
495
825
936
498
367
427
344
832
976
743
373
467
404
281
867
975
805
569
165
104
884
93
460
229
50
120
902
825
331
168
713
909
578
517
137
869
107
841
496
989
190
876
819
760
2
532
162
539
369
760
87
565
277
565
737
786
83
133
806
390
123
962
444
902
745
301
390
643
881
759
309
940
72
174
559
727
491
607
752
714
941
597
752
361
440
431
488
888
783
300
346
286
888
844
90
202
227
846
46
254
400
315
492
153
976
743
337
569
982
485
949
78
200
444
591
714
610
178
468
107
189
13
653
891
160
376
245
427
574
454
563
478
942
410
110
122
417
931
152
368
943
475
874
253
225
848
750
413
876
894
124
963
871
306
406
572
993
167
213
56
824
749
822
381
326
357
666
813
122
374
788
485
614
610
681
612
203
693
888
744
924
378
301
700
648
673
810
496
811
441
579
90
911
4
181
442
613
878
855
334
156
133
232
124
920
835
805
784
198
916
454
897
503
670
785
904
869
910
629
768
602
855
110
577
179
994
904
593
335
456
237
406
165
551
305
631
745
553
261
648
250
44
321
178
826
661
703
116
139
923
924
702
615
809
331
452
520
841
189
898
742
815
460
80
370
778
624
294
660
332
56
324
959
736
235
493
93
744
554
834
54
487
921
267
111
948
157
184
633
860
736
329
515
850
170
663
496
787
443
115
326
744
844
104
898
146
280
89
832
995
637
708
516
957
662
383
353
612
636
792
222
771
640
431
671
763
152
417
444
833
501
757
832
584
698
808
633
651
257
205
621
463
299
792
37
146
984
885
848
191
294
604
965
754
682
913
86
394
412
651
252
813
398
467
937
273
268
257
219
434
883
935
989
834
888
33
177
262
521
458
595
254
92
145
35
877
337
841
36
455
34
221
484
319
336
940
250
773
321
68
375
607
233
3
883
813
695
610
727
20
9
378
749
240
681
876
299
10
162
922
784
640
18
302
881
588
483
857
279
117
558
365
300
30
964
744
811
781
102
747
279
304
590
747
404
786
672
853
946
856
223
841
199
642
541
235
347
252
313
828
232
908
679
757
882
725
64
848
989
722
521
234
4
404
793
741
973
999
523
499
603
609
478
468
808
731
881
680
267
436
598
155
153
297
721
84
306
228
979
23
71
998
888
906
186
608
110
809
94
77
651
522
675
361
203
290
112
144
785
914
648
401
518
817
553
617
954
181
72
678
457
503
616
229
781
454
647
120
770
502
165
34
914
271
707
348
351
939
315
676
522
731
594
668
856
708
962
768
884
805
823
400
755
206
337
579
435
880
190
56
933
142
732
871
416
55
179
347
172
948
828
35
173
66
892
788
95
450
735
141
644
654
223
942
567
320
549
315
488
82
225
745
672
705
280
729
511
121
594
356
682
709
92
108
387
961
75
877
852
149
913
836
226
294
698
850
978
438
466
473
86
744
601
43
671
690
477
500
430
932
256
139
296
911
381
773
979
796
260
75
275
102
582
20
790
26
404
888
869
833
164
333
734
888
364
215
371
696
992
934
84
23
439
566
669
738
399
173
708
843
101
830
254
350
553
96
181
779
214
829
911
41
164
982
464
989
171
73
445
315
269
879
368
651
639
958
929
519
748
198
986
402
926
960
395
954
985
998
187
727
326
741
191
287
473
290
128
9
844
504
391
529
448
51
559
160
305
168
550
627
772
42
897
88
481
370
835
758
370
851
46
257
844
860
946
255
708
959
629
177
333
703
869
113
666
635
672
828
307
371
920
902
208
694
228
522
707
870
608
231
218
856
53
858
367
386
112
541
920
87
630
734
455
19
707
303
822
66
910
185
215
858
905
67
576
438
781
991
303
873
219
513
816
923
506
422
287
454
873
555
393
895
508
461
107
32
439
779
360
74
475
362
99
294
959
469
580
957
742
442
865
3
436
91
317
223
388
828
533
473
55
30
712
328
458
153
793
604
714
238
809
59
190
301
495
109
975
893
524
921
869
42
220
381
686
68
502
394
852
729
142
647
877
644
901
202
691
982
316
748
406
136
594
919
332
897
285
539
974
970
182
942
726
618
914
380
677
601
267
135
885
546
722
81
814
161
583
277
617
449
86
991
371
786
143
585
41
487
764
158
351
963
503
664
249
678
242
684
296
896
152
21
721
309
337
757
548
206
197
603
608
373
555
440
576
549
160
666
119
810
471
338
804
652
239
530
540
129
815
851
113
321
906
905
146
114
591
295
513
425
876
283
99
446
343
972
325
785
473
904
189
432
722
72
794
526
989
72
984
135
858
610
148
288
151
242
230
354
629
111
802
804
451
280
846
980
472
504
160
568
765
233
739
490
474
356
756
328
596
126
296
204
686
873
806
912
438
882
735
263
138
791
62
0
347
51
245
180
800
139
422
3
191
483
545
657
301
678
407
628
927
36
574
421
291
334
64
633
923
780
103
260
163
403
752
110
983
469
557
140
750
63
73
468
390
389
660
661
398
517
174
920
476
292
522
349
187
972
303
881
549
888
330
771
331
299
165
785
370
336
242
568
889
156
866
534
564
846
710
934
491
683
300
198
764
117
594
581
686
400
375
854
512
26
540
844
703
128
616
584
288
879
1
549
130
988
343
799
355
823
524
345
506
386
7
655
683
771
169
315
454
897
389
308
726
579
243
13
272
394
708
495
918
745
885
372
48
214
360
80
663
743
594
19
262
488
409
164
640
888
107
30
625
828
598
445
754
153
539
203
422
111
790
429
114
377
803
544
332
822
983
48
107
786
237
182
39
962
441
537
922
20
917
43
481
193
175
110
451
367
108
253
71
241
578
573
29
51
41
521
924
279
245
403
585
249
318
430
986
395
941
281
68
615
871
48
750
604
250
635
162
304
764
733
271
95
372
591
343
524
889
278
764
641
641
477
528
709
807
15
848
687
286
879
964
857
220
851
724
247
215
116
436
237
932
796
713
243
480
680
958
886
820
236
203
862
894
219
5
770
889
351
796
525
300
425
206
349
101
25
664
475
290
825
488
636
798
427
529
503
762
458
954
881
297
803
507
821
574
976
217
229
806
420
140
710
10
946
20
645
915
33
494
57
493
671
781
193
732
662
993
477
396
939
495
366
165
795
420
868
787
931
720
277
291
770
661
279
945
637
196
256
540
426
336
820
344
166
952
445
849
348
509
297
772
871
257
145
832
88
340
53
868
308
599
240
315
885
719
761
151
520
130
172
77
455
205
267
573
27
884
861
394
775
900
160
873
894
138
920
646
997
174
839
178
793
674
179
656
942
46
937
822
505
790
684
98
342
491
114
866
310
915
201
935
637
988
546
421
476
448
846
949
798
390
42
538
746
524
32
975
180
899
715
666
418
392
523
738
654
639
987
226
593
25
66
110
708
235
448
936
666
192
162
950
280
341
725
379
458
844
984
910
368
785
703
370
851
555
762
571
147
561
268
80
658
288
632
81
800
610
26
194
451
421
458
58
364
15
427
180
900
472
744
363
109
167
502
383
553
404
745
49
6
780
959
401
272
426
56
278
338
0
851
384
211
259
932
533
647
33
965
778
744
877
237
90
442
194
772
683
450
67
916
622
753
860
944
183
293
924
461
671
423
73
198
635
306
842
118
230
642
867
354
822
228
288
331
370
827
892
207
606
555
195
696
924
932
233
733
749
244
908
162
562
595
677
238
29
175
951
796
360
150
774
329
756
242
568
88
506
355
616
125
766
63
850
403
22
429
472
818
874
705
71
119
847
746
594
98
105
205
720
765
227
469
642
456
545
944
235
748
181
984
990
40
30
420
418
356
499
252
373
144
952
906
887
232
758
659
423
515
190
787
247
944
177
985
245
594
480
885
525
595
855
842
567
826
680
136
595
586
307
477
621
342
647
654
115
51
570
856
508
163
8
226
358
29
434
144
304
847
480
714
935
725
950
893
352
982
651
583
295
696
680
56
200
840
134
664
219
192
516
174
698
819
863
91
462
102
979
205
589
77
204
860
804
932
731
642
298
356
626
824
620
123
870
172
380
23
465
884
601
291
282
352
562
758
695
946
714
78
440
913
941
595
433
477
48
189
188
657
174
29
481
826
332
915
123
52
818
760
595
254
285
321
778
779
61
789
515
250
242
413
594
267
151
205
677
26
670
73
340
437
459
885
658
544
244
346
206
721
793
149
229
448
220
380
430
62
709
538
559
463
729
28
253
721
552
809
722
814
13
77
582
203
329
187
605
67
713
150
244
594
770
166
938
674
657
238
207
69
283
964
992
168
918
550
848
83
943
174
786
702
734
250
333
723
526
967
469
580
582
537
356
371
61
164
141
852
327
545
729
517
589
293
255
461
741
550
521
367
43
901
700
564
609
710
233
452
2
329
333
914
963
637
865
962
165
293
545
525
587
840
388
550
495
0
56
344
651
747
960
282
174
576
587
899
788
864
28
867
628
867
915
713
764
487
770
159
794
248
868
343
722
64
279
171
365
548
53
607
349
842
368
594
983
763
563
850
864
866
690
451
700
103
918
724
978
714
195
29
760
130
287
49
525
473
245
781
86
206
983
212
460
630
288
670
774
36
238
797
138
186
12
708
723
89
728
65
876
651
587
973
438
668
205
407
320
660
391
727
404
914
353
975
561
342
356
636
362
129
909
444
966
678
67
514
442
775
599
203
530
111
973
807
27
758
456
137
175
872
141
58
36
74
977
546
866
364
974
117
731
328
812
618
503
659
698
67
480
860
532
51
121
916
232
59
840
75
419
459
351
869
10
6
14
619
48
223
654
729
182
465
272
828
831
658
984
2
759
807
412
469
287
675
42
691
210
104
272
380
714
428
402
798
119
780
59
941
79
324
639
838
661
149
125
647
381
445
511
888
437
524
74
130
891
264
516
616
645
734
138
831
942
594
892
102
96
685
989
119
479
606
477
294
732
127
638
921
63
634
303
303
350
251
247
840
554
173
821
957
418
287
209
331
965
707
89
420
657
946
951
833
873
899
321
67
163
513
639
177
550
554
675
311
114
513
390
677
842
795
111
32
328
327
376
733
434
649
279
706
882
849
522
114
813
662
629
107
848
895
758
180
423
423
705
173
895
582
464
85
932
479
360
483
155
235
972
353
459
498
305
139
587
684
815
557
304
315
548
903
720
209
737
36
107
766
350
881
724
471
261
358
533
571
539
307
520
992
347
687
532
396
212
385
282
236
539
738
847
972
697
541
840
245
774
339
601
530
498
546
609
204
964
33
83
664
470
396
192
817
812
641
589
897
256
999
913
824
877
772
440
201
750
38
982
620
872
483
539
947
498
293
296
954
145
777
818
671
873
569
14
651
232
648
374
472
295
136
160
904
746
212
667
845
315
917
437
114
824
533
174
899
934
879
412
800
434
833
418
210
284
794
278
940
904
803
420
907
982
398
574
290
599
79
942
678
635
511
766
665
923
933
428
160
250
698
903
201
745
795
89
894
750
559
928
388
202
646
776
298
821
86
206
435
572
822
493
444
717
693
452
20
208
532
327
656
124
450
871
335
739
832
980
438
935
823
317
30
820
847
765
530
119
304
808
516
157
491
107
63
73
83
862
767
150
290
953
496
453
771
348
966
788
449
885
722
740
52
775
821
492
787
656
247
510
117
956
136
738
503
453
154
987
185
418
998
874
263
103
980
365
560
669
224
502
171
712
551
749
39
456
908
435
249
4
663
469
555
621
525
204
825
405
448
451
400
316
949
979
662
854
95
875
327
659
475
779
769
180
713
359
279
853
541
152
214
504
17
639
769
641
450
425
715
307
658
471
79
516
182
673
241
153
600
990
497
275
55
452
836
67
643
332
83
626
87
863
305
946
790
901
948
561
954
657
237
421
550
451
116
401
142
253
13
208
813
679
795
316
946
30
730
82
171
81
177
552
57
458
326
925
78
917
577
994
142
329
212
500
542
801
963
32
825
0
536
20
997
386
85
784
345
882
710
390
295
92
404
131
673
548
190
904
788
503
898
180
845
158
359
44
962
940
306
421
845
394
465
538
438
441
712
267
923
482
351
550
418
235
117
979
624
464
609
582
984
557
620
826
909
748
665
508
800
801
674
547
713
187
671
386
709
984
961
218
332
735
670
661
31
964
180
871
554
110
845
653
170
110
864
313
325
442
55
719
663
538
785
564
967
614
188
577
15
572
293
985
163
857
768
233
708
652
24
656
522
793
885
187
901
346
800
879
893
183
132
99
746
27
393
103
235
931
961
573
64
835
808
575
768
952
843
61
777
205
330
492
685
340
478
434
849
732
167
768
60
658
696
464
78
269
744
15
313
472
937
20
811
646
848
585
25
355
141
564
610
939
895
807
117
121
261
812
186
320
810
429
71
873
555
980
637
980
250
135
297
457
129
118
848
572
898
203
493
568
893
461
775
944
744
445
450
269
681
517
507
824
90
557
711
693
111
392
822
553
817
766
406
324
802
922
935
686
371
690
511
394
830
661
81
326
611
190
172
472
625
489
241
547
982
861
555
803
66
385
358
28
123
691
976
448
561
368
803
987
620
207
255
236
152
985
766
423
359
795
959
631
627
637
83
965
912
904
310
848
542
891
329
559
290
376
985
97
577
840
896
277
310
45
10
593
945
557
312
191
714
817
891
954
372
477
117
636
305
217
153
859
148
832
356
538
966
427
397
342
781
31
98
786
427
981
534
757
749
654
290
254
49
532
527
579
964
21
514
638
320
496
101
373
225
444
750
469
142
898
836
608
954
78
189
764
784
17
941
657
965
11
923
508
734
867
215
901
280
494
855
177
448
831
149
564
392
445
768
111
386
726
304
92
621
357
811
725
336
588
544
94
969
430
89
21
49
133
903
580
704
940
419
868
627
966
464
740
392
312
572
504
227
882
3
9
372
694
660
725
631
296
768
662
148
370
427
148
982
874
260
792
514
488
101
665
200
891
774
676
127
240
432
663
464
98
65
279
141
524
680
974
54
23
886
260
277
343
111
379
710
917
540
423
528
227
748
946
413
387
695
825
378
331
375
592
231
375
561
490
661
954
565
82
177
683
432
303
371
837
842
866
586
324
647
751
590
711
312
68
516
635
384
764
645
395
538
275
623
350
870
106
804
281
912
228
621
179
962
372
240
81
881
27
329
29
579
709
846
125
999
433
743
429
793
37
860
288
649
33
480
981
909
456
584
36
364
744
179
309
797
593
765
98
102
749
767
40
655
174
351
396
128
132
791
134
512
321
963
87
311
255
178
772
766
930
596
965
539
438
424
880
865
117
949
958
563
285
511
757
515
108
462
56
108
683
677
344
709
209
627
3
0
2
234
799
456
612
631
366
566
376
442
412
633
682
42
206
935
76
93
465
242
424
922
487
923
574
434
306
392
543
840
293
698
216
845
585
811
678
620
554
808
977
669
634
234
45
944
536
570
230
169
437
664
431
862
530
98
846
624
264
728
285
563
994
7
655
84
179
314
761
732
195
169
459
681
320
786
828
678
734
584
539
428
741
291
944
910
287
957
590
929
824
899
97
330
735
550
206
778
535
711
771
837
381
923
190
819
623
156
364
440
442
631
280
734
469
917
892
759
324
278
806
386
502
701
412
797
333
392
140
475
513
827
345
415
21
646
448
133
526
492
651
793
563
168
371
278
968
9
346
694
347
585
945
686
661
880
932
533
586
616
187
241
946
532
872
26
330
424
828
600
201
769
48
779
827
549
364
203
663
644
747
571
640
554
788
800
930
185
989
490
96
67
453
392
338
191
178
212
971
401
506
439
994
772
601
611
753
450
942
90
202
201
206
851
769
345
440
674
221
270
489
824
508
226
371
748
435
893
750
770
863
727
819
398
437
435
175
983
148
269
757
896
9
36
88
81
398
614
600
627
532
948
525
110
175
421
53
359
950
164
41
664
671
634
886
46
188
918
945
499
304
337
918
293
836
16
207
42
625
728
28
153
731
634
803
924
40
917
977
825
37
830
899
508
281
141
52
812
110
683
20
174
767
838
202
290
962
692
240
680
973
119
137
277
357
975
532
536
669
75
852
152
682
329
747
178
594
847
795
262
660
938
101
938
791
746
89
569
707
411
905
380
209
175
319
925
291
906
414
13
746
366
555
820
968
118
257
96
921
381
852
824
42
549
726
116
700
849
111
594
813
446
777
234
454
424
721
782
236
841
770
225
807
831
983
552
428
438
228
505
244
238
297
415
28
818
194
756
470
215
359
87
172
340
801
867
224
53
87
730
861
471
105
678
363
290
20
323
183
823
839
464
698
881
855
583
433
92
377
681
315
600
145
525
210
301
610
282
285
981
887
658
670
733
683
177
648
697
112
654
670
930
922
250
742
175
323
485
398
746
922
399
598
319
537
201
361
894
949
434
436
914
400
358
92
151
412
523
219
307
676
444
135
517
963
580
380
113
546
125
445
135
697
955
778
466
36
596
961
967
70
948
271
509
944
641
241
331
751
857
247
478
139
760
550
210
90
213
706
910
171
333
905
173
517
724
154
639
386
760
306
623
939
627
492
655
365
493
742
618
489
431
878
943
231
887
372
899
767
515
269
294
763
107
643
217
132
6
110
615
177
608
777
174
278
230
547
781
694
474
830
445
48
787
620
56
747
370
88
626
759
451
561
713
901
23
626
62
642
847
406
617
696
804
976
693
171
47
729
70
754
42
263
41
555
662
816
898
941
808
521
440
157
21
826
940
570
757
422
199
633
363
318
69
142
138
790
751
83
863
873
139
265
760
496
562
861
602
865
868
578
787
522
134
644
507
523
716
538
481
57
678
331
245
558
215
784
632
325
847
82
504
155
506
400
360
187
27
840
847
431
414
809
442
833
990
788
654
712
803
376
707
304
255
276
945
495
375
419
832
43
884
96
663
847
353
613
154
401
166
728
992
712
606
338
975
565
186
814
32
561
875
669
183
390
726
669
762
431
527
297
958
414
768
762
258
834
417
9
877
811
544
142
345
810
131
902
941
947
89
255
260
211
513
176
876
726
185
699
333
877
858
232
699
55
141
464
253
825
402
185
40
873
774
644
733
94
56
755
383
807
919
924
183
445
301
680
106
333
122
552
255
639
615
181
745
147
205
922
274
798
419
619
827
886
676
400
726
257
999
746
815
813
799
600
956
425
390
892
696
963
188
173
284
43
942
752
6
647
356
948
160
61
746
836
576
641
428
412
514
830
428
643
944
322
245
527
646
244
634
251
981
657
363
254
380
287
841
781
277
414
523
353
775
622
287
842
332
737
400
750
663
677
32
487
444
465
598
803
370
438
11
983
172
883
268
725
72
705
29
155
145
611
131
238
304
476
403
19
713
800
409
98
485
687
533
328
388
684
88
261
138
750
782
370
773
61
944
242
345
141
549
657
512
157
186
627
973
488
588
987
38
328
40
391
124
842
226
20
711
36
783
3
716
822
288
725
248
193
272
835
593
945
483
632
188
30
207
920
860
186
311
948
826
172
688
917
84
321
180
938
218
67
789
793
219
663
542
689
453
956
291
151
705
53
592
395
890
942
19
335
625
156
209
780
945
869
601
73
833
985
731
539
272
516
358
567
889
192
710
824
446
883
804
630
45
750
747
354
510
275
128
798
13
975
896
140
208
505
60
607
357
746
329
15
610
827
784
265
609
323
533
473
850
902
137
893
673
953
706
23
475
416
153
144
994
833
616
376
90
797
689
390
854
941
84
28
907
962
136
737
591
478
583
289
710
35
545
225
322
588
176
130
956
921
322
396
413
936
873
484
954
538
346
971
697
73
882
116
209
426
114
668
944
27
703
741
705
906
957
786
31
327
186
615
134
444
911
697
728
199
202
652
376
473
45
138
427
862
744
25
326
144
908
466
820
650
4
397
895
430
505
809
106
777
310
853
912
138
514
267
457
208
890
882
770
904
693
706
469
382
880
405
253
889
930
521
745
35
59
132
701
530
230
852
880
829
393
813
931
162
38
388
472
358
211
756
247
943
313
169
517
755
478
946
218
589
910
391
151
263
931
817
209
860
239
569
42
363
171
468
917
681
414
767
556
479
638
954
838
12
383
214
121
216
270
903
843
834
838
366
203
819
205
645
807
996
337
628
579
469
144
925
569
80
632
250
2
324
119
392
904
453
97
785
947
477
578
700
288
573
384
225
123
45
739
855
461
966
207
628
48
20
793
503
508
232
711
564
321
218
698
732
627
99
390
888
277
611
68
297
146
632
718
66
170
210
205
625
99
647
569
686
41
569
828
277
199
751
805
53
546
167
53
156
570
38
377
622
562
124
811
111
335
705
134
88
843
701
776
751
721
90
899
237
651
48
833
822
199
186
944
291
160
168
450
816
560
118
426
638
762
601
31
343
137
10
295
144
776
500
869
842
701
684
726
194
82
263
982
65
114
73
287
730
304
782
516
185
388
300
971
110
365
914
98
424
19
17
455
834
534
810
817
297
842
712
63
96
40
914
208
826
535
764
240
910
111
383
317
588
212
558
26
720
442
881
682
908
384
796
944
253
681
587
963
308
242
620
570
844
908
13
923
825
614
863
294
215
205
814
99
279
164
431
239
466
943
938
607
711
651
58
98
233
16
972
14
293
419
373
172
682
503
579
913
475
516
758
68
745
100
230
109
787
976
85
638
896
534
409
775
964
741
485
517
135
705
713
451
773
248
243
145
687
902
924
122
416
46
354
533
45
933
312
422
427
555
374
248
447
827
918
867
449
789
499
648
701
863
382
717
80
44
160
886
959
624
357
2
777
157
657
678
384
178
708
164
978
497
679
845
749
850
935
842
672
987
87
456
752
248
148
936
9
372
468
96
765
902
364
818
308
752
316
149
646
124
118
938
111
992
615
720
856
293
103
292
50
597
625
245
102
873
45
791
256
646
648
180
792
743
402
686
508
960
699
15
176
398
925
52
400
888
799
969
278
418
632
432
640
783
266
74
386
413
877
970
88
611
816
13
596
512
713
895
649
765
437
335
412
944
396
565
948
209
319
987
129
682
549
10
112
223
907
693
752
450
926
272
580
781
130
106
406
51
828
278
393
414
364
469
51
973
662
610
978
436
701
883
213
228
768
116
417
731
268
684
245
387
623
906
281
413
579
213
620
739
123
276
381
693
612
59
542
550
139
968
47
660
676
878
147
179
221
206
979
182
422
415
951
128
903
553
210
680
761
449
68
643
405
321
110
678
123
326
555
461
5
284
718
701
787
926
470
478
212
287
548
393
137
131
454
558
88
515
102
523
725
752
539
89
270
593
465
748
79
834
569
135
880
377
860
792
290
492
26
955
51
336
264
205
152
148
769
952
345
15
15
650
777
469
179
680
587
353
312
293
504
89
99
607
576
93
975
881
703
452
714
676
420
919
489
379
572
155
682
110
664
245
740
234
556
344
983
167
41
561
852
380
159
979
707
539
832
909
906
313
423
793
991
218
101
56
184
807
34
370
890
659
982
16
522
842
979
102
109
673
810
617
205
418
651
798
946
451
780
589
767
876
242
0
978
348
759
518
105
168
831
598
44
522
207
511
87
162
932
414
311
265
859
839
223
97
278
573
580
650
833
45
109
844
431
868
173
893
845
514
620
899
742
599
443
205
557
568
472
993
693
791
456
372
157
630
634
760
785
602
593
483
835
995
785
32
203
46
971
285
776
796
674
78
161
717
727
723
818
181
139
73
909
131
966
238
450
114
355
83
789
378
339
607
667
683
159
748
854
147
274
45
680
500
874
582
389
170
172
562
639
161
926
538
827
366
303
881
494
502
579
292
285
606
685
325
955
538
213
669
178
987
669
809
562
95
722
963
133
117
736
749
721
756
154
857
597
934
49
106
453
550
839
718
947
209
845
192
186
905
994
848
845
281
974
578
775
379
522
117
837
195
729
63
271
519
628
473
171
947
681
910
767
6
665
677
856
924
253
13
457
647
650
3
543
938
72
788
586
185
579
890
833
987
345
947
207
839
657
232
760
44
270
152
694
351
245
278
914
903
449
413
811
596
257
255
878
63
243
35
66
848
310
925
724
953
406
614
283
199
529
550
570
325
759
155
934
315
93
597
456
127
104
328
580
640
615
212
182
300
849
983
260
626
365
36
279
56
375
7
33
677
70
799
963
849
634
312
607
444
532
551
925
767
247
511
397
345
873
215
953
600
249
855
708
211
119
857
246
598
834
103
913
130
368
756
12
842
954
761
612
154
105
298
643
949
203
641
242
608
164
805
380
955
54
771
742
41
291
691
266
35
402
598
138
784
697
867
463
743
408
872
247
612
591
272
47
841
350
899
553
350
143
830
979
340
542
69
892
51
787
192
667
76
765
728
826
76
947
508
423
694
514
405
346
741
381
585
414
37
346
366
721
326
119
75
740
774
763
64
393
484
505
318
334
378
681
800
128
562
512
395
678
942
739
929
837
659
446
954
601
555
198
498
640
340
108
225
42
520
574
251
667
823
837
996
39
402
314
340
255
553
379
235
869
572
346
793
251
832
173
851
135
458
118
187
786
497
562
603
382
289
590
584
66
215
661
326
689
960
478
52
741
273
73
970
584
736
796
589
939
847
972
525
197
573
369
702
702
856
80
669
595
145
618
56
944
860
731
428
852
850
586
807
372
82
830
400
691
400
670
773
900
45
55
610
667
893
125
771
641
587
216
897
123
714
209
906
569
270
503
176
875
869
394
220
383
895
545
505
313
347
541
321
531
99
353
15
178
424
781
467
993
400
143
157
770
611
31
304
91
477
146
531
194
235
97
732
738
138
414
357
344
496
897
283
57
152
758
598
974
209
581
509
671
835
417
484
610
175
405
837
858
332
570
101
911
927
111
867
913
621
415
679
844
213
621
380
614
613
752
626
330
205
63
773
781
818
688
521
515
861
920
727
742
889
494
198
141
828
679
360
940
417
232
796
605
895
438
428
36
412
379
536
314
921
867
472
1
509
923
823
65
125
172
144
330
503
396
939
443
542
329
482
435
772
246
270
499
271
429
448
174
80
302
697
660
975
865
904
534
658
993
58
944
668
995
881
867
495
52
136
786
168
519
996
921
1
912
422
939
516
366
586
523
605
249
855
419
729
802
175
442
957
15
622
325
754
479
38
853
605
957
408
622
652
896
786
519
656
649
468
348
16
209
66
499
150
487
89
354
859
172
211
715
527
340
570
603
580
38
642
744
154
794
679
11
717
157
582
905
485
744
477
240
219
665
492
980
135
339
18
432
531
826
973
690
550
195
55
456
589
141
865
555
418
425
829
216
598
947
248
193
697
775
555
869
252
434
88
758
767
69
441
25
693
303
115
207
497
878
986
859
894
760
137
373
629
801
945
540
74
878
716
220
44
394
424
803
161
993
146
479
929
593
575
601
410
392
659
795
556
120
546
260
93
435
111
879
990
695
496
245
90
229
535
444
992
462
410
624
771
991
181
702
243
306
509
964
40
583
17
834
443
599
594
432
521
647
423
759
406
896
759
985
616
159
745
414
936
633
27
303
189
83
738
336
983
355
704
324
278
762
971
675
528
314
158
970
195
121
18
806
464
882
567
881
250
153
5
484
320
259
35
294
44
956
805
876
954
257
372
464
13
153
640
930
336
51
326
898
677
433
697
297
688
276
3
872
826
949
734
220
851
620
744
507
513
60
923
420
540
375
322
557
958
440
743
960
961
543
446
45
883
918
984
924
618
577
700
755
496
599
210
661
19
756
62
861
168
935
118
726
727
633
611
456
982
13
327
202
182
677
496
336
148
513
552
931
264
512
84
235
294
778
715
799
165
88
137
904
864
315
742
483
902
876
227
296
368
306
287
446
232
512
23
430
19
519
485
153
240
592
358
461
947
402
339
558
689
578
148
285
514
935
449
456
236
32
366
656
942
54
540
506
110
491
688
64
375
378
70
412
449
29
996
227
225
704
428
500
140
405
454
296
803
700
758
455
760
360
888
717
696
821
366
712
627
908
407
86
544
397
419
355
604
747
464
475
621
693
774
446
289
125
719
904
138
16
93
597
239
161
792
415
302
909
352
346
472
85
237
128
422
852
493
901
193
443
341
996
134
347
566
506
262
696
676
825
231
768
458
16
12
685
747
569
799
339
637
618
516
162
980
140
323
711
496
927
320
272
161
460
952
128
374
650
91
815
640
495
882
80
504
848
910
238
805
794
347
502
393
923
171
554
906
947
896
759
632
615
688
605
156
610
276
194
328
975
762
833
604
241
403
444
734
624
905
415
631
759
946
92
944
95
315
517
27
691
335
398
641
637
725
483
256
592
526
323
66
528
90
327
255
295
918
573
216
200
501
669
626
118
177
251
646
873
838
426
383
167
602
512
233
165
897
775
880
907
350
521
234
279
329
214
832
729
156
124
106
450
287
907
459
354
647
288
405
941
752
19
777
51
478
185
127
416
714
533
683
35
796
379
175
289
553
436
628
103
634
112
711
551
19
188
690
745
829
911
347
847
318
345
653
62
813
765
173
456
778
463
822
611
897
778
591
772
717
391
163
64
737
723
117
125
172
564
295
563
856
802
487
973
448
53
778
327
775
773
248
99
870
214
60
806
787
253
642
807
543
821
192
757
67
873
362
204
456
632
662
238
672
588
127
178
422
130
455
263
349
471
625
337
335
710
845
924
660
464
641
36
136
842
995
893
132
563
677
461
900
53
302
816
107
167
715
273
792
582
948
597
49
59
97
527
202
630
940
690
548
557
104
692
597
959
344
185
261
238
356
934
897
614
559
291
673
176
265
630
4
318
408
837
575
79
161
180
488
583
267
839
938
578
261
212
555
202
474
248
287
19
641
585
85
622
582
479
214
867
867
361
871
775
19
965
83
648
211
928
661
162
684
516
956
359
717
903
574
848
899
993
316
381
467
308
590
592
252
821
653
381
167
896
958
725
285
982
990
193
305
172
412
619
423
890
28
684
942
311
318
562
503
919
550
356
505
345
3
831
197
687
581
448
737
69
119
563
718
901
425
218
886
617
208
696
657
914
521
548
361
88
480
528
776
272
678
186
473
737
314
893
315
342
349
813
629
624
752
197
930
153
866
115
168
97
325
959
443
634
268
637
450
729
434
237
289
175
672
174
839
680
413
47
71
187
555
737
431
607
46
673
995
658
331
870
373
561
23
337
895
505
586
294
819
218
868
368
135
500
127
290
964
615
722
607
839
410
544
585
704
978
742
834
215
322
718
89
151
47
682
387
252
360
474
559
162
356
719
971
265
732
496
25
588
790
461
900
128
598
526
430
529
168
945
603
363
579
269
171
35
598
887
17
612
363
651
307
424
23
970
710
86
960
546
170
414
20
36
711
129
468
777
312
854
466
27
722
721
647
84
445
735
843
303
340
271
340
74
132
636
356
416
412
863
294
215
660
267
534
932
322
111
966
232
507
19
197
995
347
122
313
196
434
237
924
837
453
495
749
683
948
3
533
105
481
410
615
433
611
391
231
232
136
872
80
336
377
287
345
451
278
422
397
253
291
753
140
327
948
742
388
610
387
51
728
710
645
848
789
837
520
934
432
917
121
536
573
890
708
516
211
758
338
818
538
516
499
712
381
378
936
776
916
508
455
313
535
396
587
19
785
351
640
355
253
26
877
347
862
143
53
556
224
132
49
706
657
248
156
802
659
146
923
401
136
577
250
658
932
510
568
598
394
918
91
523
203
902
420
559
609
379
902
383
70
150
311
705
927
882
222
120
541
440
529
807
587
550
770
310
290
882
888
917
428
93
805
258
790
228
310
191
998
69
153
702
10
980
91
293
238
234
132
373
18
502
762
490
828
544
244
641
593
301
418
955
922
9
162
742
12
587
901
533
595
547
929
4
162
829
751
469
695
72
200
227
356
679
14
596
632
459
910
309
534
165
717
881
497
623
797
747
706
979
619
645
411
725
74
411
930
526
934
461
107
973
242
64
488
661
879
239
35
30
951
80
782
932
513
169
953
687
131
510
540
986
230
434
321
680
478
821
423
690
661
359
302
749
513
479
208
205
854
479
229
245
38
393
553
373
222
858
572
828
641
448
677
947
610
293
820
371
142
952
134
703
421
393
887
635
748
268
219
869
837
439
590
269
488
442
316
989
296
878
498
697
82
399
748
633
572
905
678
934
849
948
602
882
71
135
145
57
442
417
119
73
726
613
368
345
548
730
851
44
971
454
544
650
950
739
491
486
751
588
152
89
392
751
807
74
251
792
410
763
41
652
403
524
891
62
920
615
868
562
778
57
774
9
616
992
424
106
237
534
792
182
951
450
322
143
732
316
482
574
131
108
734
469
761
301
606
813
647
538
350
844
637
174
924
194
367
795
411
389
124
940
857
738
819
533
187
764
111
334
631
752
128
32
47
190
199
545
407
395
596
697
15
41
262
224
130
683
13
228
953
299
466
691
566
334
376
687
294
803
721
483
880
278
514
90
32
856
83
417
417
726
751
410
166
395
221
645
688
257
862
945
474
856
943
277
153
236
967
221
388
199
657
155
684
96
423
771
903
441
856
465
930
286
810
559
465
972
579
709
798
428
400
421
14
716
383
174
119
444
911
409
566
928
409
38
79
602
760
630
781
59
928
387
612
817
779
519
598
81
721
819
909
940
683
527
833
853
187
636
791
398
566
930
136
935
207
446
541
382
970
383
46
611
745
742
770
120
249
394
81
156
870
496
178
437
891
91
884
971
246
19
229
565
416
596
845
814
93
801
138
923
104
927
100
213
371
513
141
454
320
504
928
10
782
440
397
87
127
388
715
649
715
658
777
329
899
458
171
411
119
813
352
117
683
665
111
242
96
661
253
131
138
341
735
630
557
123
319
20
909
223
591
758
768
59
23
352
781
611
973
49
249
2
61
873
56
995
648
542
272
70
592
696
832
860
84
348
770
75
767
210
811
48
587
274
891
47
876
87
334
611
256
17
244
254
698
350
285
104
613
826
461
489
137
372
275
859
980
403
253
314
209
774
321
536
38
331
286
552
272
431
573
176
803
698
713
166
747
614
731
666
382
4
41
367
745
406
249
949
570
863
629
636
932
243
43
296
829
964
221
106
759
934
644
339
597
962
17
623
395
264
268
460
405
451
923
618
683
564
222
629
151
808
463
313
219
738
840
255
844
802
912
250
830
16
228
881
883
198
981
102
944
131
890
669
387
657
839
424
801
483
202
704
90
927
872
523
943
234
280
862
842
764
78
764
764
986
761
944
52
119
551
904
452
688
93
843
59
327
276
204
181
737
546
231
864
877
247
565
749
620
399
397
29
939
710
561
927
367
171
529
642
834
858
581
474
138
921
707
876
2
955
511
771
743
33
498
82
519
564
940
613
231
263
956
360
779
105
515
126
774
935
111
408
886
501
803
657
657
980
339
227
429
580
452
964
884
127
623
582
659
889
216
880
421
988
976
456
655
257
877
363
702
7
639
632
182
50
858
529
960
227
54
842
953
192
660
897
842
782
48
433
743
225
288
846
843
263
665
244
660
243
929
185
260
81
879
914
911
46
501
350
375
131
678
925
199
271
959
672
103
36
100
256
109
402
265
356
370
41
124
484
124
43
988
845
402
718
415
695
491
615
617
485
398
511
733
818
595
750
342
547
151
366
904
0
499
973
577
213
456
30
863
307
275
88
349
542
603
132
546
385
929
769
835
800
400
396
632
180
814
808
128
819
896
251
667
504
688
547
516
951
660
133
203
995
217
720
796
118
854
142
913
324
408
127
985
999
552
718
45
837
519
78
748
744
580
322
889
483
724
395
945
261
231
196
868
425
482
311
72
241
659
409
602
927
619
599
6
914
717
336
519
329
696
541
713
863
321
979
735
140
927
491
621
635
667
205
298
228
272
550
144
386
840
683
588
530
760
743
65
15
87
608
563
473
261
32
773
401
214
978
948
997
914
438
960
614
559
388
260
129
972
220
898
316
417
592
193
9
800
293
299
735
395
807
652
447
259
806
888
732
382
990
790
84
654
558
698
574
827
730
99
277
414
764
973
7
828
843
940
110
280
918
977
264
792
347
963
103
632
400
834
44
894
424
858
47
455
343
559
25
705
675
934
48
395
644
80
391
328
20
23
372
986
965
600
487
197
670
213
227
933
170
574
385
630
965
968
798
241
769
400
277
710
455
629
246
729
227
863
315
969
755
883
795
803
986
227
749
207
974
995
270
502
210
345
188
913
111
183
11
220
684
840
273
199
34
664
766
271
524
944
6
533
910
303
520
521
345
901
434
28
801
311
467
534
558
546
678
933
176
752
508
480
69
662
215
540
412
479
114
134
150
674
416
24
412
477
464
641
612
424
110
829
808
641
370
497
535
690
198
15
292
476
317
714
916
702
266
546
324
54
972
340
547
88
81
401
121
269
748
73
840
175
491
616
780
784
689
482
146
430
614
101
565
164
622
932
280
123
489
676
679
638
346
64
577
596
671
788
148
10
47
383
110
886
720
124
24
586
759
775
114
509
329
712
247
792
219
128
271
496
821
3
954
902
173
60
509
815
811
743
835
930
590
327
868
50
219
427
87
123
32
99
982
667
817
937
309
625
918
832
391
770
409
613
20
798
787
494
121
281
554
253
867
31
900
630
486
828
443
387
110
132
40
170
683
792
84
365
257
793
237
921
873
922
511
929
429
109
248
453
627
504
128
562
593
392
325
460
279
405
257
775
224
339
584
257
144
377
287
109
849
355
58
767
335
836
809
157
184
317
942
971
494
760
303
45
711
247
896
504
979
407
177
317
733
14
993
661
624
376
160
861
947
758
474
102
687
583
958
319
911
424
320
369
857
571
334
808
563
717
627
417
780
850
592
86
566
377
948
213
994
106
110
585
805
288
502
53
852
791
708
717
843
448
108
78
737
496
164
123
303
713
129
256
144
913
323
674
505
64
163
922
392
887
273
740
2
74
964
152
514
583
764
321
769
334
689
659
658
76
631
893
339
754
466
812
157
109
184
826
846
451
181
91
47
596
689
776
618
62
463
312
57
710
208
938
907
656
729
43
158
404
19
841
42
983
682
128
385
682
241
731
471
638
857
649
5
692
867
411
394
65
550
20
719
931
574
139
847
113
501
986
24
315
186
14
799
243
348
999
921
596
117
113
597
598
393
645
908
57
921
673
16
640
196
361
214
881
30
677
136
221
540
224
845
294
655
106
370
373
716
855
28
916
13
418
872
996
226
141
165
556
268
36
103
277
922
220
979
441
712
987
659
740
262
758
370
845
361
486
642
358
204
226
534
326
189
864
894
38
318
93
367
984
167
805
204
96
72
45
638
368
236
191
272
638
771
687
101
177
709
74
828
10
895
156
557
866
6
271
414
935
643
520
872
957
427
372
280
176
31
561
402
125
184
525
233
338
805
165
114
858
137
457
774
440
63
956
667
6
873
577
239
852
145
890
864
344
98
406
126
669
786
746
868
912
240
959
774
832
871
231
239
293
444
279
22
20
624
723
938
528
710
237
579
493
343
755
829
376
921
458
146
825
471
779
975
994
951
277
858
639
954
983
847
796
52
398
444
993
737
368
390
541
899
299
427
874
263
362
872
882
970
465
516
520
84
758
370
726
313
106
381
206
606
657
113
369
806
161
503
663
712
856
662
611
546
929
170
181
422
538
588
145
272
155
453
143
95
183
979
188
605
756
873
175
913
460
573
242
418
508
250
612
751
343
61
569
915
691
474
195
708
599
219
658
542
630
181
673
236
269
104
624
306
768
501
728
784
146
830
381
91
749
145
873
406
758
776
593
240
976
596
826
563
74
363
851
212
536
648
888
597
92
535
225
827
598
92
255
84
343
256
350
207
798
73
800
319
836
944
214
15
446
398
70
359
918
380
666
116
282
91
747
195
261
196
464
377
899
204
821
639
276
147
775
102
878
487
946
19
296
582
594
262
780
710
675
875
813
97
595
946
77
991
1
365
246
499
273
164
648
154
222
536
563
48
801
966
828
425
555
810
680
671
589
480
924
131
589
78
929
860
229
482
958
495
430
184
232
826
828
115
483
390
383
420
150
224
458
781
18
809
743
452
501
744
810
523
427
643
517
110
272
623
49
744
165
319
853
692
450
591
552
316
770
822
42
466
383
947
640
236
576
8
318
187
221
139
111
900
403
314
326
986
475
70
573
508
165
611
493
818
349
442
245
0
849
412
604
93
522
597
360
563
878
774
707
991
356
109
821
979
117
913
179
770
761
577
243
344
872
296
965
316
14
873
978
100
869
739
549
648
58
282
882
597
938
436
886
89
14
699
597
734
238
483
270
12
266
953
557
546
731
779
603
19
906
814
572
676
542
966
36
989
280
136
363
418
245
382
36
940
600
672
921
497
923
616
645
724
425
770
348
765
58
431
744
732
778
200
732
161
378
552
259
396
535
250
58
934
513
193
742
824
660
756
161
731
57
658
968
292
109
336
700
700
668
397
661
840
609
48
975
520
97
485
384
172
51
206
696
477
371
398
715
569
965
726
218
932
963
702
930
388
819
551
728
6
905
986
333
138
655
556
596
751
827
808
868
264
673
449
851
627
685
607
580
370
722
470
318
139
841
652
669
170
134
859
592
506
68
275
210
621
263
403
173
278
301
84
357
97
195
752
251
116
966
950
871
586
533
268
14
430
692
156
186
760
521
313
946
881
666
921
515
259
696
551
760
449
232
664
68
845
589
260
828
429
425
669
310
721
323
777
528
904
750
262
260
452
704
37
253
40
352
564
175
598
134
536
574
618
783
180
865
882
783
228
242
285
973
564
342
237
66
340
785
606
256
363
307
347
550
780
303
762
82
656
929
117
481
427
9
651
209
804
530
150
598
521
598
888
904
111
176
309
279
780
524
569
163
911
504
313
47
696
915
442
938
802
742
606
213
521
275
235
656
864
711
583
472
325
132
490
417
719
891
210
851
248
396
744
223
186
373
591
378
194
157
955
240
714
779
754
587
485
872
885
264
695
362
724
368
866
182
545
911
26
771
127
773
688
200
763
100
871
131
440
476
361
925
438
3
800
657
485
293
954
858
434
948
791
674
322
19
882
211
140
140
645
211
424
384
381
716
850
39
144
578
92
432
89
46
613
412
834
768
273
538
107
174
245
229
609
444
852
671
182
438
64
342
58
464
908
440
104
702
566
503
592
94
826
633
475
892
392
986
45
362
347
281
687
872
557
81
747
891
553
773
466
560
657
4
26
204
134
73
697
751
692
286
187
71
655
358
603
866
445
136
420
171
760
952
12
435
685
313
389
171
712
746
328
312
863
813
622
215
82
487
311
903
902
875
717
931
856
516
827
908
144
658
124
294
817
175
193
946
372
689
625
149
782
280
319
698
961
611
880
156
754
599
595
411
133
139
931
386
613
647
680
972
230
878
646
510
788
331
289
64
276
686
281
854
892
455
333
851
771
390
135
303
980
329
843
544
741
541
294
534
204
294
178
615
832
565
813
169
95
171
238
868
855
999
957
410
749
231
472
300
844
591
549
761
337
798
950
157
784
665
612
105
507
592
900
613
181
328
744
688
842
312
343
335
936
880
76
999
415
383
550
369
799
812
415
975
143
127
874
526
990
129
297
496
386
511
16
309
481
561
812
729
57
622
363
506
613
677
889
160
127
568
726
405
324
535
929
79
142
270
168
141
417
792
694
262
395
451
686
493
450
187
131
566
736
663
61
23
817
641
85
935
187
444
683
809
532
94
23
863
576
781
364
782
79
399
606
827
405
495
797
887
512
952
745
592
292
855
0
282
710
112
55
788
308
304
963
51
914
132
772
70
212
156
169
614
706
411
91
719
780
36
612
955
202
931
159
856
930
178
886
384
174
78
983
353
509
394
695
217
849
882
671
816
46
404
52
467
205
120
305
311
474
894
371
180
245
442
471
464
666
318
609
433
527
810
506
371
908
35
134
819
690
95
765
35
715
637
970
260
610
101
776
255
179
415
319
511
150
677
578
130
613
549
439
894
349
365
6
556
870
40
386
492
4
890
120
61
968
745
654
713
796
53
304
8
787
140
434
127
339
889
792
6
388
269
261
162
624
782
928
154
607
363
77
600
769
701
976
8
259
288
943
0
78
518
25
763
430
708
305
945
397
115
129
273
99
472
560
305
20
33
564
490
218
259
427
420
94
120
381
377
879
912
73
556
47
733
629
270
368
969
872
126
675
348
661
975
420
458
870
72
339
933
415
941
802
664
792
249
233
395
30
300
449
303
12
24
681
330
309
973
495
338
561
323
728
430
734
459
228
425
641
548
489
954
85
482
993
437
684
439
991
781
882
688
874
396
620
112
689
652
537
596
783
667
255
948
191
909
79
633
140
279
816
761
760
492
63
822
643
66
155
168
259
285
820
853
234
198
86
727
652
593
500
949
98
505
541
978
562
142
718
396
356
749
498
50
53
223
446
152
695
969
555
990
762
577
382
346
439
612
177
835
111
936
413
69
55
51
950
679
592
832
205
13
708
731
429
192
41
458
903
220
816
81
307
983
346
733
694
796
476
97
190
488
655
329
919
195
287
938
53
281
354
287
583
618
699
756
711
725
700
23
3
742
94
469
466
586
431
307
326
416
263
475
558
14
170
105
511
623
833
17
625
306
123
552
602
21
295
799
274
117
496
290
164
81
200
32
532
318
286
497
125
410
82
566
384
475
756
308
810
406
141
504
513
492
875
825
455
158
158
507
695
328
996
212
310
229
286
11
724
660
598
254
641
505
663
512
317
667
93
71
825
96
221
685
180
321
235
975
359
391
347
628
519
980
865
813
863
402
539
541
356
999
524
740
655
346
164
490
551
618
967
729
101
531
569
655
519
399
983
365
71
240
594
319
811
280
852
196
336
941
343
794
308
720
903
774
114
835
758
384
406
639
593
897
185
497
148
107
864
641
9
725
251
50
300
748
96
85
19
388
809
493
237
915
580
21
195
241
177
310
517
510
540
363
362
818
511
178
470
384
844
898
663
218
299
206
581
167
948
12
170
453
112
795
91
756
799
713
588
806
460
887
258
697
95
586
272
821
888
342
891
6
745
254
566
259
891
725
33
80
516
341
42
170
947
610
686
178
209
81
554
868
16
294
386
627
595
531
900
8
438
599
888
441
713
108
489
595
87
515
654
808
258
366
403
807
30
252
591
486
26
410
111
374
529
552
511
177
652
761
685
305
474
182
385
643
522
780
544
124
224
51
254
317
347
122
948
432
386
709
79
335
38
596
352
158
785
7
45
972
398
268
106
308
41
894
9
821
903
427
982
560
396
470
119
488
451
237
415
822
547
101
35
938
192
892
973
737
101
673
490
650
294
886
494
136
370
922
855
438
459
424
312
484
200
9
964
328
981
419
254
327
640
576
651
438
293
788
677
685
446
935
261
394
607
403
276
283
365
385
241
866
886
903
686
547
443
863
158
846
339
922
375
384
210
845
531
850
202
981
523
983
321
2
201
815
906
327
962
201
659
445
399
517
135
335
891
660
720
984
116
474
321
132
350
442
34
363
888
641
824
989
438
310
841
964
652
324
509
109
543
801
136
349
833
926
517
306
371
202
419
406
324
219
853
449
109
146
744
413
377
941
11
696
274
927
556
955
917
440
3
947
3
661
454
860
657
60
918
481
279
485
621
514
969
968
137
389
271
678
59
198
913
290
857
829
740
302
245
798
719
822
484
714
38
593
581
953
241
194
792
775
473
447
50
109
447
442
502
774
843
317
165
575
60
308
111
615
681
917
857
413
777
863
228
460
154
527
717
193
906
809
265
2
982
849
706
510
624
948
939
172
44
54
238
866
763
717
445
98
261
325
692
315
311
612
633
169
912
294
558
290
693
595
550
249
198
808
671
649
11
633
34
804
803
526
774
591
116
130
740
773
785
742
113
57
534
752
488
798
822
614
12
494
964
86
130
625
784
646
477
547
795
544
15
152
960
802
145
490
170
756
471
745
585
637
546
674
28
836
695
47
427
211
147
259
915
537
472
186
99
816
916
49
465
65
681
654
752
537
126
734
452
551
208
994
834
106
160
466
775
736
183
448
307
858
646
495
930
0
636
679
449
600
533
939
595
527
996
788
374
627
188
976
846
164
339
203
481
414
353
817
784
717
142
218
935
99
692
771
96
632
966
146
863
90
387
60
349
288
156
94
491
71
467
18
632
55
724
311
949
350
186
320
57
700
978
687
944
556
276
796
22
916
558
623
243
346
999
995
573
454
792
424
45
835
553
540
942
192
752
534
862
725
600
20
347
577
25
391
515
722
513
303
223
634
823
33
400
871
983
787
329
726
276
252
141
117
925
651
720
280
228
350
551
688
832
524
357
781
73
173
361
837
331
629
595
664
402
958
604
122
45
290
859
333
559
71
512
196
736
166
12
463
904
450
149
777
336
96
21
833
200
449
895
807
177
21
877
661
408
287
184
146
597
442
409
646
189
819
43
81
943
411
798
940
96
889
547
548
325
291
33
115
473
971
520
911
41
988
930
783
773
48
62
251
174
544
557
781
949
89
644
32
654
75
759
920
666
464
339
29
935
466
350
246
24
160
94
158
449
922
663
827
309
745
472
115
212
565
411
804
83
362
445
622
986
406
761
543
340
499
891
663
68
740
93
875
951
546
677
769
229
664
119
511
42
273
64
166
248
531
229
922
286
651
374
428
758
943
228
346
780
566
345
147
443
506
47
657
215
529
992
386
977
158
418
480
203
696
197
965
487
597
710
753
180
168
982
307
905
727
732
238
700
0
859
898
857
354
452
2
76
861
348
848
91
414
183
927
980
659
517
267
758
575
842
73
35
933
595
715
725
61
543
248
223
513
392
765
373
935
632
44
35
712
353
768
33
422
631
54
321
955
519
706
140
452
39
24
535
468
125
735
685
445
907
801
287
146
39
366
402
536
970
407
576
381
822
661
295
826
284
996
475
150
938
32
405
198
861
831
473
549
626
123
173
357
37
455
929
314
566
89
615
600
951
237
369
172
214
86
869
306
87
542
636
233
327
116
567
886
976
203
35
931
486
576
440
770
234
118
594
559
44
72
816
58
899
715
776
220
455
339
293
350
625
925
515
720
139
689
524
890
836
173
337
96
826
981
509
595
275
416
744
395
264
41
113
940
22
111
433
980
217
294
282
540
841
591
768
927
817
332
63
38
764
557
317
543
706
249
595
300
213
806
501
514
492
460
981
94
911
462
264
699
756
88
785
689
568
190
108
686
436
117
167
424
408
983
654
388
130
598
908
66
455
918
374
607
425
113
295
351
630
293
55
442
224
874
290
639
778
645
252
800
708
820
444
982
268
101
850
964
248
728
158
508
218
701
760
770
848
427
883
711
731
581
26
419
733
910
458
800
527
651
988
872
76
54
554
613
753
141
79
166
781
950
70
37
23
48
574
937
10
394
600
288
203
594
880
113
187
342
512
259
509
707
276
423
333
488
144
247
105
208
38
335
643
269
589
164
946
469
276
591
898
614
86
449
763
145
177
388
66
977
476
601
536
862
276
828
674
319
884
298
110
659
41
349
654
457
852
251
854
704
361
70
953
853
738
835
589
392
540
672
518
404
468
682
265
340
889
490
979
995
162
178
752
311
861
802
683
370
593
490
678
530
935
610
733
110
288
122
297
961
802
106
375
217
361
828
178
195
257
77
476
436
196
570
557
892
826
980
215
786
56
136
365
41
222
477
606
204
603
561
751
63
633
162
758
646
69
137
931
284
835
162
812
477
159
953
823
670
605
786
520
775
399
818
17
783
972
606
175
179
781
859
484
412
681
989
145
613
366
197
326
654
202
760
528
761
958
59
556
830
367
9
941
923
79
789
446
799
425
923
325
908
41
604
427
600
440
482
247
289
660
895
71
157
424
74
217
834
908
657
966
888
821
620
211
352
163
579
101
26
210
677
982
207
481
458
246
791
554
572
136
352
601
383
332
693
221
199
541
873
919
521
950
458
958
466
344
593
859
912
833
8
366
594
222
736
506
192
254
635
405
646
921
36
881
468
249
504
350
937
611
963
853
300
359
93
196
459
756
999
172
492
39
962
495
796
481
231
63
153
43
890
168
324
355
185
305
655
126
283
462
51
716
718
478
646
663
814
294
906
392
323
62
693
72
124
725
186
385
907
465
87
325
824
742
580
332
871
719
526
490
184
34
310
548
845
418
708
859
884
968
405
881
80
725
673
890
369
177
618
621
454
330
668
299
867
768
684
66
978
920
137
443
47
872
991
529
473
682
838
36
236
193
184
70
975
36
475
261
462
619
39
443
311
168
224
242
814
586
966
587
88
723
889
432
429
77
471
718
764
969
697
478
894
361
267
498
706
981
921
41
178
835
2
745
221
670
725
783
824
917
222
906
426
340
486
787
119
927
885
728
87
901
183
865
404
956
565
385
380
366
894
868
663
451
727
812
9
849
694
911
335
448
533
625
44
607
889
208
623
930
805
927
499
238
242
309
491
838
461
432
339
113
391
844
158
717
165
454
311
931
517
92
935
852
943
386
652
422
500
343
721
969
707
438
87
491
562
730
429
194
908
190
556
218
749
695
359
465
491
358
122
375
106
199
904
10
603
493
942
882
120
755
450
807
264
329
390
912
632
907
818
730
999
864
542
855
638
58
333
264
348
398
524
708
785
302
681
855
861
342
310
91
952
176
783
10
427
561
792
588
680
632
45
142
594
924
480
724
967
646
995
758
315
397
570
183
542
724
778
693
919
521
234
976
857
408
28
500
2
735
147
452
890
176
309
40
52
698
682
694
984
717
865
696
223
626
781
599
721
926
419
300
239
977
240
32
420
213
736
584
763
307
197
784
661
137
36
102
85
351
438
931
341
896
249
351
61
462
242
949
880
628
420
475
298
733
627
222
945
208
878
841
925
65
656
444
872
208
463
986
445
5
588
776
429
292
643
601
997
571
783
799
618
913
68
303
712
406
91
836
392
352
74
6
544
906
457
273
845
625
435
2
878
41
572
707
771
748
435
606
438
720
589
769
930
686
968
452
478
24
752
384
67
302
904
507
721
458
295
113
444
532
260
471
424
248
27
876
294
554
965
400
363
40
52
208
579
164
845
75
906
332
200
327
70
307
895
376
826
239
228
316
603
603
662
171
984
266
700
534
420
993
685
574
407
131
227
642
261
150
306
318
23
624
236
165
467
444
520
630
471
814
225
643
977
82
105
293
730
895
107
16
87
802
217
768
652
823
582
213
726
274
784
298
367
339
721
908
790
395
523
456
199
395
572
263
230
136
101
685
140
817
617
768
291
8
356
982
161
206
666
286
323
309
7
491
890
81
779
626
274
334
398
43
516
252
462
232
894
153
305
374
750
687
621
330
178
24
388
184
824
839
367
899
356
326
197
480
187
939
183
354
530
521
739
862
539
165
563
33
628
857
483
4
769
80
359
329
167
250
223
451
132
146
565
300
845
403
682
511
343
522
644
764
702
50
455
775
911
524
200
530
313
48
275
411
443
729
114
523
269
754
938
193
523
22
566
353
729
470
539
18
570
782
81
823
159
529
956
529
998
851
166
466
743
662
288
764
804
8
923
95
923
464
318
550
663
507
494
954
638
446
880
721
65
977
998
157
969
350
484
634
671
130
525
269
161
926
440
464
69
443
381
950
92
888
551
160
864
869
930
879
649
795
734
564
535
170
426
646
196
420
202
331
229
893
99
576
731
74
263
67
672
222
528
552
106
838
702
86
257
914
643
810
443
945
692
513
178
374
598
946
870
209
107
577
83
40
206
512
741
462
831
481
302
124
483
822
469
134
135
271
578
730
863
337
316
194
538
172
915
852
658
544
65
675
3
379
410
816
727
2
288
610
71
218
165
520
211
129
198
872
763
524
819
423
180
235
874
903
856
988
15
93
785
813
201
882
20
638
2
24
146
987
163
584
25
218
232
568
408
969
91
388
517
500
319
759
58
747
950
345
536
840
301
445
844
502
5
624
13
58
881
18
999
919
281
441
864
722
436
62
451
231
866
36
759
248
445
530
533
770
686
973
401
740
419
948
497
422
816
815
945
695
670
496
189
599
903
184
345
620
490
854
768
895
496
280
910
258
731
447
963
757
44
804
509
138
401
121
934
691
838
920
249
356
543
894
521
137
472
35
907
906
466
247
327
389
15
918
569
183
260
461
947
42
810
446
676
39
414
839
9
508
590
905
484
227
890
686
22
436
531
567
863
371
122
167
348
903
373
205
377
527
283
515
823
50
343
29
38
957
497
57
550
422
953
279
473
449
575
106
704
712
144
88
870
549
17
990
464
586
127
914
520
777
644
168
108
498
647
164
275
175
649
821
189
803
222
684
186
677
714
833
62
192
217
253
56
732
868
95
3
268
495
230
617
229
162
717
186
702
98
337
226
435
10
1
683
710
235
850
608
32
232
7
187
904
110
71
90
538
717
584
271
588
644
344
222
117
670
626
141
499
289
490
242
334
375
332
351
931
975
805
724
645
643
260
204
723
941
87
330
749
805
252
189
729
926
774
334
113
753
906
338
649
144
580
912
515
665
419
372
383
703
276
287
338
966
541
392
41
376
112
302
857
65
106
326
256
304
984
913
301
369
116
569
627
259
85
822
416
313
178
576
156
370
467
288
920
223
927
18
41
964
342
925
193
586
740
909
140
6
204
652
562
295
319
604
792
322
109
385
276
772
268
394
600
985
258
630
458
15
988
878
191
785
363
848
309
5
314
833
436
203
830
744
605
874
803
313
696
904
249
468
453
83
735
687
533
234
58
880
24
221
546
194
592
674
709
110
93
546
945
378
846
959
32
866
82
978
221
438
584
229
261
369
665
128
882
476
309
975
851
928
315
275
543
733
403
947
832
821
123
482
289
835
316
693
664
120
153
111
472
813
654
37
217
748
442
106
985
831
427
621
165
279
3
536
407
271
392
969
359
706
513
759
918
833
898
566
805
255
698
685
52
10
295
943
903
279
56
375
9
639
375
119
417
88
458
572
182
205
289
173
711
335
431
314
41
242
959
319
748
485
938
975
664
315
518
812
955
251
94
351
91
923
596
415
509
97
931
701
496
544
88
222
233
515
974
345
577
871
131
766
459
37
532
881
930
61
939
75
624
78
533
685
907
70
532
149
599
772
999
212
547
247
858
612
821
612
7
965
817
548
593
167
42
90
657
567
725
355
682
976
404
205
976
298
876
831
198
403
402
232
474
481
546
554
74
244
526
41
823
599
254
174
407
986
954
673
142
637
344
738
491
232
115
225
793
626
793
952
818
243
131
611
890
932
349
197
586
642
8
742
910
272
474
380
616
100
6
352
65
173
985
269
292
644
815
491
720
518
640
544
755
159
975
57
468
297
221
220
922
839
223
203
855
769
121
133
279
463
269
224
114
32
579
570
760
332
685
597
535
640
212
912
165
82
497
748
189
445
738
834
520
153
513
157
53
115
145
162
311
290
83
617
187
971
194
857
192
687
231
11
181
837
466
584
791
361
754
411
718
965
969
846
889
678
291
890
960
895
780
568
120
219
423
768
722
699
723
244
116
50
289
724
77
579
398
125
983
497
730
757
894
430
437
15
125
97
323
16
148
237
24
887
455
964
204
794
667
635
970
957
141
67
231
298
15
768
257
900
844
815
818
162
384
442
383
662
87
603
637
930
624
407
609
119
169
575
441
470
772
420
602
667
375
827
306
127
132
144
102
958
863
895
467
824
598
842
238
829
512
547
211
634
780
795
134
240
395
888
65
548
85
605
222
42
932
641
120
601
330
570
598
636
16
666
934
889
288
949
971
917
74
593
3
820
80
161
175
536
760
238
256
535
366
723
851
852
218
837
313
462
280
242
294
188
741
84
297
269
22
950
987
820
224
853
210
721
535
427
15
857
991
806
976
743
831
362
122
215
852
514
277
223
651
165
158
81
731
207
891
108
215
920
696
14
237
365
490
512
821
255
881
123
909
318
862
412
624
473
980
817
66
295
287
79
875
357
208
171
601
197
114
636
259
251
940
735
13
617
727
928
264
149
901
403
659
662
247
317
418
99
261
627
965
27
18
359
146
18
704
656
226
491
591
488
314
691
268
496
776
605
688
156
197
298
832
65
154
902
31
506
7
620
548
187
716
984
169
416
94
739
206
134
769
285
295
801
652
646
992
64
179
334
398
824
85
742
505
943
932
594
149
74
883
586
100
226
127
421
105
427
53
686
915
520
732
425
605
507
962
848
605
462
703
56
259
952
357
749
515
899
666
714
450
123
308
735
694
578
5
679
166
460
444
238
504
32
224
670
187
351
845
20
48
27
682
434
259
314
897
642
647
61
282
862
104
157
874
352
845
545
609
82
278
916
821
828
612
473
59
910
754
120
701
411
353
977
864
703
832
119
118
304
708
184
938
940
395
622
528
627
383
676
41
56
919
272
628
997
731
406
91
378
834
773
16
790
758
947
742
280
381
385
900
107
881
815
425
807
309
719
469
123
767
921
264
393
60
145
969
802
300
239
53
820
842
172
33
88
495
347
576
74
174
479
678
801
595
565
901
519
660
423
816
539
293
645
936
581
213
820
614
999
887
369
223
557
956
769
382
345
715
589
899
298
532
319
68
478
853
253
766
357
515
880
601
928
311
58
227
620
462
882
937
945
343
905
533
84
305
926
100
923
47
271
371
332
635
919
734
936
344
305
903
65
696
272
41
802
192
281
175
796
636
141
399
75
971
783
3
1
868
474
363
887
964
563
398
127
955
172
927
736
568
487
509
263
788
847
487
791
556
635
260
169
577
226
878
212
921
355
179
163
848
451
928
421
878
460
549
100
102
302
219
924
973
381
781
677
907
524
449
823
305
409
653
853
46
944
293
813
513
567
683
569
788
849
732
13
914
389
192
616
903
715
336
768
621
653
59
412
192
860
320
208
53
551
534
607
150
985
179
342
314
875
435
155
122
570
441
743
17
814
364
516
229
684
358
615
942
287
725
312
948
199
599
734
716
8
355
189
674
737
692
821
796
750
454
577
441
124
37
443
906
167
709
591
636
885
314
520
292
730
304
532
363
169
8
18
696
26
440
671
761
978
925
365
355
458
907
638
851
525
4
222
709
999
142
897
369
593
293
475
366
848
321
750
623
240
589
432
807
497
155
383
631
96
838
329
434
772
870
233
711
391
194
170
952
418
320
384
576
903
117
3
243
194
641
870
696
957
560
946
295
807
165
551
585
488
162
841
166
854
266
323
169
920
120
378
120
865
107
856
796
363
527
66
655
187
15
481
953
455
923
0
16
765
539
440
93
824
37
702
917
239
665
115
668
112
632
521
95
719
276
993
96
800
882
636
871
34
188
190
256
832
197
751
167
387
872
690
717
866
867
869
437
237
677
593
864
711
327
268
799
260
960
783
866
722
859
322
985
292
97
675
140
850
92
507
931
713
177
898
224
463
91
450
501
706
885
825
523
0
34
899
410
624
793
392
498
957
327
734
658
409
429
810
890
936
762
575
122
812
721
205
879
953
712
997
358
385
884
82
93
796
64
907
501
768
731
823
845
497
218
280
856
148
504
292
196
892
833
125
925
432
441
815
756
313
126
167
202
528
801
169
136
687
972
983
708
610
110
877
443
86
848
900
27
388
321
191
323
908
807
436
562
903
965
136
732
575
555
504
754
518
201
511
976
468
933
557
162
419
151
356
935
699
434
484
840
725
813
800
839
880
103
144
320
491
990
758
216
829
459
775
936
654
806
999
740
457
402
866
995
676
716
554
985
471
370
683
167
694
334
377
93
851
752
399
675
948
981
567
808
993
385
937
231
940
486
361
94
654
901
133
560
481
255
249
604
607
677
108
655
724
985
531
673
996
354
304
434
921
168
263
225
973
213
420
716
628
424
769
325
590
197
793
316
351
230
151
622
379
335
359
455
312
579
90
672
30
498
821
36
306
464
388
773
828
938
361
229
490
692
327
733
98
63
746
437
810
15
220
333
725
114
263
768
224
318
749
443
238
79
15
708
834
711
178
613
417
175
618
193
651
79
261
604
280
194
580
666
100
915
432
91
990
867
371
14
548
784
155
327
765
648
99
513
486
908
908
431
414
934
239
552
553
632
707
730
651
312
224
49
904
410
384
477
835
176
135
258
681
174
844
409
236
705
833
233
15
334
306
524
52
954
786
159
126
494
266
930
879
561
440
106
341
764
749
813
981
813
661
91
626
165
293
284
169
993
651
935
555
593
821
307
447
271
582
28
708
305
923
894
937
483
692
899
612
688
474
831
417
993
338
333
395
21
792
154
710
460
798
619
539
341
229
716
744
494
278
692
617
899
519
460
870
191
494
367
840
600
226
86
993
525
228
730
420
858
936
68
116
923
985
411
745
429
987
754
628
935
306
119
383
757
581
127
697
295
601
94
843
150
71
854
808
529
169
845
151
146
848
968
484
661
96
37
297
708
863
683
174
355
46
404
876
160
260
273
132
422
837
661
237
310
879
800
629
782
573
480
704
830
117
594
167
151
870
445
388
882
968
450
299
277
92
421
496
157
126
846
165
850
423
448
123
1
695
97
355
984
175
461
246
646
515
949
667
941
785
674
534
80
142
762
44
664
714
20
426
500
749
250
46
809
637
193
962
527
725
231
373
684
373
182
122
652
174
810
677
190
217
834
380
905
911
768
517
543
573
226
213
137
914
476
24
594
680
350
373
835
496
525
6
529
517
334
862
262
581
162
12
793
771
505
631
868
327
236
176
410
557
804
774
683
259
446
246
484
792
662
142
26
109
729
790
267
478
356
211
477
879
401
21
838
707
727
692
429
508
16
905
748
297
367
614
979
54
15
55
540
799
880
87
416
277
845
522
963
925
244
257
997
619
196
886
50
86
715
909
670
477
879
963
49
760
350
763
642
236
868
376
242
347
147
621
321
793
773
145
3
464
798
213
594
636
322
331
9
273
515
184
295
128
808
193
56
52
985
496
319
134
583
739
890
783
379
643
38
744
811
236
249
585
791
836
649
370
751
890
88
934
136
302
682
314
540
560
329
95
657
42
624
33
902
340
467
631
788
434
909
51
395
671
840
786
964
908
823
97
255
425
490
546
824
853
937
17
771
416
620
446
353
866
230
438
483
215
492
141
258
321
21
489
162
404
301
493
554
471
478
80
408
725
687
278
66
208
791
789
415
447
617
587
456
11
65
496
718
411
985
672
836
453
636
55
360
141
543
872
77
40
398
595
803
613
124
890
864
620
407
279
376
954
973
804
8
736
429
117
924
29
602
714
831
732
629
174
698
841
452
296
486
839
765
632
232
219
850
883
245
472
974
246
202
248
704
797
463
703
885
51
591
496
855
458
768
724
198
757
551
875
721
64
476
755
210
699
682
577
197
541
601
819
19
944
779
679
277
547
876
796
359
537
140
189
966
185
701
512
409
908
784
609
70
335
744
925
671
247
590
979
454
624
914
704
858
95
86
97
667
463
444
630
947
814
406
504
704
207
910
437
774
935
992
371
533
894
258
160
419
213
701
539
608
488
234
325
579
946
838
77
137
24
618
934
56
857
518
593
261
170
456
9
119
77
149
254
410
908
579
234
475
317
897
542
177
812
753
723
29
655
899
255
278
377
760
207
697
408
804
194
100
328
364
576
371
658
825
18
125
56
356
378
952
530
540
587
920
952
825
744
545
471
795
972
956
263
159
960
350
477
951
675
986
543
336
726
888
470
681
285
975
709
858
299
414
311
407
5
508
46
318
804
83
504
342
137
554
488
37
278
163
909
762
675
805
35
953
41
863
933
94
152
421
785
298
606
772
785
113
495
658
733
651
304
893
744
529
959
204
326
996
55
467
220
668
627
473
41
659
834
718
255
15
939
114
879
568
347
624
199
463
50
868
807
690
357
396
707
161
656
587
641
82
612
955
610
788
698
998
547
739
524
678
596
862
176
601
984
386
160
475
781
974
486
49
244
706
929
907
945
165
687
796
371
995
887
20
219
774
110
595
510
201
275
672
643
956
345
906
214
903
354
793
541
570
772
846
456
172
248
860
68
873
278
30
944
770
488
929
360
703
125
714
504
747
876
30
443
466
999
23
808
327
475
400
731
481
353
470
99
409
792
398
672
414
666
2
25
312
491
482
839
340
532
325
372
229
712
939
875
24
880
268
656
949
399
625
151
31
766
463
120
43
539
830
963
38
198
810
769
922
536
73
755
781
108
520
730
657
965
629
69
146
837
958
472
227
110
189
17
838
462
683
434
34
326
801
711
521
260
805
475
214
41
368
621
43
650
251
368
453
829
160
161
125
583
122
121
493
299
119
452
616
835
164
373
235
780
303
575
961
347
839
148
858
680
80
455
43
155
753
656
745
487
452
856
267
13
105
271
714
623
576
374
136
408
1
716
46
920
150
527
251
685
70
685
615
218
616
419
867
275
136
826
226
468
189
289
897
183
742
439
425
416
104
909
744
705
959
58
900
22
633
673
993
447
626
668
992
849
769
833
665
562
214
859
67
866
281
541
484
944
578
247
966
839
708
140
93
613
481
766
443
61
299
431
307
995
356
210
808
918
102
324
210
193
721
973
232
930
182
214
461
202
896
847
467
303
960
29
589
134
455
845
481
846
429
4
775
142
311
835
41
509
841
727
875
578
425
277
827
909
984
331
153
475
39
112
971
690
513
940
44
882
186
674
400
423
496
226
188
499
810
172
656
306
896
828
803
48
610
428
992
159
720
712
719
443
574
138
743
413
330
512
223
425
847
894
969
666
601
484
636
140
589
974
423
938
657
617
160
483
484
190
310
791
412
863
208
335
241
568
865
604
434
374
895
684
975
591
940
471
401
808
913
528
209
258
562
808
331
994
703
809
108
752
742
829
59
7
276
96
206
208
471
337
773
862
579
422
386
530
505
893
992
19
196
569
864
870
399
241
518
103
158
63
689
60
25
914
245
867
396
438
449
71
160
355
847
868
148
524
353
791
439
838
103
624
339
857
174
970
335
325
786
316
920
710
431
652
67
564
368
36
666
749
441
143
190
896
707
127
397
470
838
729
325
664
481
815
242
944
882
629
187
991
436
899
947
268
782
724
158
27
796
952
959
207
113
514
823
674
98
507
163
788
847
97
492
970
893
322
523
513
741
894
543
916
127
842
343
396
270
826
411
935
973
357
346
448
67
164
879
680
304
106
53
448
437
696
604
485
113
307
871
512
880
316
275
815
443
242
892
515
0
168
596
563
919
76
656
239
357
117
911
127
797
953
775
878
684
542
89
414
389
492
695
361
736
378
399
492
346
469
189
921
673
145
584
289
304
375
939
13
93
136
888
971
213
590
477
384
269
297
745
985
406
281
865
690
88
497
210
64
646
251
62
81
971
258
661
592
445
904
572
524
368
503
489
133
550
292
673
395
45
672
936
194
215
188
970
87
385
761
719
911
293
463
244
329
241
148
375
45
821
70
354
393
86
181
885
76
574
925
143
480
822
559
460
908
950
107
369
679
628
889
81
707
598
796
58
240
219
874
578
317
502
704
794
725
752
709
881
654
729
519
872
738
187
807
192
270
998
994
945
939
988
211
72
967
852
445
848
210
302
319
551
249
893
467
716
766
235
555
954
595
145
796
189
833
612
82
969
667
357
885
417
904
388
139
43
383
196
114
598
305
308
463
656
602
361
374
502
824
614
15
254
300
674
567
507
469
927
243
580
43
364
96
720
575
98
280
426
525
831
135
368
431
688
919
620
54
203
542
646
914
919
358
956
366
215
861
309
12
368
870
856
69
330
147
635
407
561
451
376
760
91
680
702
624
763
52
534
723
77
910
949
419
40
32
157
384
781
520
787
970
114
763
417
911
249
909
589
808
305
469
616
384
904
928
762
8
20
380
874
21
359
106
906
907
813
959
881
868
543
310
369
140
182
818
795
639
402
745
206
799
462
318
889
961
181
984
958
286
332
851
520
573
272
44
558
551
540
545
672
479
650
704
624
781
256
534
604
257
162
492
674
650
608
832
997
679
262
249
887
200
278
305
17
499
153
125
477
807
939
782
852
201
203
244
428
499
112
581
728
190
816
341
72
591
188
490
322
390
357
746
450
474
577
464
723
909
770
863
735
96
56
105
898
599
118
534
420
736
751
492
21
684
833
781
852
10
1
308
286
326
705
588
394
467
29
365
908
430
266
330
408
303
131
474
967
995
537
42
554
192
426
477
999
442
259
114
460
459
735
362
414
523
192
145
844
498
784
555
348
997
835
650
537
969
957
132
571
602
887
828
309
961
798
195
881
273
689
163
761
173
323
223
55
1
408
905
505
346
696
761
702
107
743
173
726
758
30
466
397
716
561
150
47
451
76
803
794
2
568
636
464
188
470
146
333
527
796
583
227
905
381
89
855
117
216
454
386
587
353
224
632
498
562
37
917
849
756
559
300
354
432
578
890
436
829
383
739
258
407
550
574
191
175
340
684
189
68
614
462
215
556
413
304
750
215
505
657
53
199
75
449
72
417
440
920
179
978
724
116
849
464
64
57
176
623
725
737
282
164
261
398
772
753
459
941
111
653
629
824
273
919
572
485
229
616
766
629
391
178
867
756
151
826
662
936
656
295
772
733
217
147
928
253
381
695
857
423
181
573
245
354
711
589
909
761
877
454
654
914
852
627
396
194
675
507
85
980
878
317
329
180
941
790
765
417
458
45
713
11
812
787
881
163
3
416
483
758
868
617
214
217
32
884
50
127
0
274
770
420
202
874
936
759
26
976
990
624
882
988
536
550
530
324
931
225
957
220
357
335
680
947
316
582
845
406
998
532
542
412
169
553
611
579
218
213
84
74
270
172
643
733
362
870
170
10
675
442
476
943
993
667
275
962
177
757
550
497
833
378
924
78
200
215
60
229
403
564
908
468
971
449
522
687
949
634
678
384
130
922
27
14
621
418
988
961
690
101
260
910
109
804
634
667
222
978
918
793
897
321
850
904
637
427
566
342
285
193
903
530
530
275
706
427
45
975
809
703
508
333
183
945
283
712
458
272
928
325
568
176
378
274
985
789
839
187
91
2
9
284
480
64
955
706
369
409
942
220
91
482
271
485
346
151
599
119
513
261
169
922
314
353
766
50
83
792
219
838
526
621
303
312
210
281
714
101
119
751
865
973
968
3
568
720
263
50
370
827
18
504
402
843
695
400
273
907
72
927
639
896
174
75
979
997
586
449
647
105
124
67
904
202
24
788
707
418
344
122
14
741
483
95
716
871
310
684
792
298
914
134
668
61
399
125
463
728
867
875
265
420
846
361
596
529
65
715
66
592
626
567
447
529
719
944
271
67
727
763
957
503
897
134
172
781
748
95
981
971
601
150
312
555
948
883
277
46
818
201
728
503
822
890
980
195
379
795
482
77
334
458
569
44
780
595
688
572
896
4
897
908
752
850
886
709
907
994
573
659
651
104
435
213
687
676
876
244
924
369
948
879
682
457
639
955
680
777
803
478
501
62
386
395
632
155
960
44
236
216
947
986
16
47
609
465
940
702
115
189
841
690
620
551
793
32
860
382
964
915
349
825
15
820
303
740
105
897
585
848
306
999
545
394
876
227
442
290
122
815
316
476
31
613
418
753
981
291
541
633
92
217
560
165
131
775
218
886
459
51
393
729
620
200
840
348
838
369
127
53
185
827
243
263
756
371
878
103
177
191
79
415
126
212
298
84
743
856
591
99
573
129
510
860
922
458
731
947
763
744
329
170
389
716
291
628
5
323
665
545
636
21
987
218
159
965
520
675
992
857
742
18
883
121
887
920
534
185
858
649
228
701
895
522
61
29
507
207
945
962
723
701
784
99
177
257
717
362
425
52
300
938
704
470
262
792
629
921
64
933
491
562
161
176
864
163
481
829
801
274
0
111
380
162
673
115
50
142
470
555
685
700
377
405
395
282
741
684
177
642
435
500
671
394
84
650
872
191
452
834
975
668
514
510
741
677
967
901
910
107
220
646
415
870
282
12
339
369
71
122
521
667
217
721
977
29
913
30
393
713
116
599
832
128
887
321
346
620
379
531
851
398
694
40
621
316
322
389
745
838
330
8
135
734
80
862
26
277
239
679
506
127
306
776
613
577
644
981
334
888
764
364
706
702
886
926
404
504
449
723
428
354
63
755
403
253
270
58
770
912
100
838
678
637
993
136
949
26
855
104
477
678
58
116
134
487
850
263
908
699
588
960
379
600
645
146
46
720
77
410
878
591
920
43
415
27
730
593
467
652
368
85
668
592
912
219
118
879
560
523
318
97
847
532
314
197
947
347
464
467
28
937
170
188
70
23
9
403
395
416
401
154
71
828
898
913
721
432
790
844
601
523
405
83
613
399
987
718
122
155
311
456
768
416
598
715
19
769
578
664
800
711
581
719
738
733
210
456
532
271
798
547
240
321
737
539
790
612
967
824
527
268
618
610
674
613
877
287
542
876
96
525
429
667
564
939
748
686
355
313
638
184
922
933
249
171
393
623
941
42
394
100
732
634
884
729
961
891
808
457
953
363
966
856
846
181
720
6
104
737
126
6
183
865
604
29
63
535
553
287
605
638
219
729
166
520
535
342
651
853
123
653
409
318
757
556
491
241
197
34
701
342
89
976
185
608
140
217
907
60
56
694
194
183
692
452
432
66
987
308
518
488
883
132
957
486
411
945
901
567
26
480
16
735
125
407
40
507
481
695
409
824
211
36
94
208
392
715
396
744
250
319
195
386
375
412
477
835
459
622
766
342
345
704
0
494
184
275
435
701
495
508
998
37
297
913
915
151
261
639
732
542
861
418
334
306
59
425
647
143
259
353
352
303
310
849
336
487
469
279
381
72
527
649
949
225
237
718
829
199
310
821
677
671
775
767
426
171
254
337
973
383
931
788
205
290
634
472
936
58
30
948
335
557
372
82
871
942
94
383
449
366
930
571
472
126
790
6
552
573
476
413
798
483
388
360
914
735
765
268
295
734
120
722
149
230
479
75
514
764
947
689
636
573
194
895
492
31
237
233
529
476
702
70
562
544
857
595
683
122
61
232
293
55
46
487
568
162
48
289
664
12
166
975
52
982
907
842
368
126
142
913
900
610
352
584
588
942
977
604
744
564
956
111
368
275
722
120
619
9
414
985
611
926
381
603
400
972
977
859
607
444
37
333
444
609
54
432
356
925
348
183
230
713
752
67
588
519
501
503
956
610
674
114
109
392
265
537
547
522
858
924
288
58
800
654
969
989
991
579
682
817
288
647
446
71
186
801
764
521
458
81
740
282
544
54
579
24
895
301
497
248
375
900
394
891
492
864
491
171
451
56
16
27
223
529
976
175
591
506
189
670
485
232
558
813
446
17
62
594
301
965
731
625
669
607
430
329
736
857
467
766
452
970
309
359
417
641
583
457
769
856
339
798
287
588
187
811
689
931
531
638
431
676
62
445
758
939
654
902
64
195
100
935
889
230
240
681
637
266
124
831
167
604
928
220
277
924
631
455
668
49
127
675
851
310
145
110
620
795
255
920
162
715
67
288
847
536
19
395
413
936
377
978
33
510
371
976
155
698
676
425
832
849
954
133
500
327
615
237
503
760
26
240
83
156
895
415
788
29
321
539
680
776
747
301
488
143
658
257
558
674
413
421
555
321
692
909
68
438
487
467
582
686
774
376
215
408
365
418
266
109
415
66
948
396
271
303
437
954
588
289
286
713
387
144
280
708
645
310
870
645
167
485
991
668
910
341
729
470
961
98
203
842
454
988
385
257
368
317
380
515
374
823
926
2
49
622
442
250
14
711
662
352
289
660
107
985
280
301
587
145
159
647
281
905
220
419
789
61
327
56
856
314
557
679
671
235
974
403
322
760
454
9
944
86
304
353
14
113
346
111
404
591
566
533
840
722
794
949
387
338
62
450
498
418
495
871
923
846
170
179
771
909
217
913
186
35
379
888
673
107
79
248
490
771
332
52
508
620
75
312
31
420
926
546
921
647
302
975
123
586
133
950
248
673
84
39
319
399
52
832
901
472
490
112
147
593
893
748
76
152
803
89
186
990
926
979
196
195
554
199
706
677
923
762
532
745
77
348
761
17
442
634
129
118
728
316
45
155
91
885
922
672
379
482
783
581
979
119
604
788
151
47
985
866
127
161
562
279
42
135
348
912
642
783
304
401
819
411
381
239
605
324
860
94
89
24
489
334
825
655
730
433
186
402
104
74
399
619
971
489
893
201
252
571
151
215
627
92
831
167
927
702
904
600
583
552
802
538
225
865
822
633
878
920
499
278
198
965
76
473
860
76
873
423
599
88
229
616
361
39
684
450
532
248
561
138
915
171
854
230
418
991
46
651
219
530
866
936
537
473
893
86
504
113
30
179
327
259
294
580
142
593
4
477
773
312
562
452
446
541
907
618
572
867
179
295
446
818
594
537
87
778
742
746
169
248
151
592
253
419
936
105
409
383
572
90
301
601
744
870
864
912
765
472
135
172
555
47
654
294
152
544
696
693
211
321
249
383
767
547
41
288
143
102
594
845
233
828
803
73
530
93
686
187
998
524
439
880
888
357
727
398
630
804
705
980
143
207
501
726
497
857
239
178
280
201
34
187
941
939
858
465
571
856
175
517
834
793
601
576
144
487
89
54
12
727
83
980
237
718
357
168
743
64
52
113
610
589
318
808
590
187
102
363
822
26
586
991
373
166
28
187
448
499
992
211
513
439
903
517
588
727
421
682
254
13
947
629
596
38
681
930
956
336
726
473
380
551
147
827
514
612
232
971
890
428
35
862
445
775
914
620
543
96
809
306
983
910
160
817
772
345
996
471
721
45
283
334
807
414
643
219
527
214
365
939
48
606
759
255
311
258
195
488
734
269
520
890
664
450
579
484
556
572
984
41
738
565
350
775
589
828
428
541
641
666
313
340
456
980
855
34
752
666
623
519
536
559
570
610
102
592
376
887
589
330
996
541
786
53
407
617
437
792
672
174
756
817
2
499
25
888
826
553
913
559
99
327
25
775
872
905
628
111
164
11
56
701
935
483
567
869
377
447
849
492
660
562
133
89
972
339
200
524
443
603
416
524
270
432
585
215
313
102
902
285
357
945
791
451
872
188
654
406
976
454
639
928
623
108
772
534
604
631
994
940
112
545
825
950
595
477
59
837
285
195
295
600
310
31
967
551
937
189
365
45
97
106
726
284
793
4
535
597
376
491
894
843
454
542
571
546
236
764
802
91
889
368
384
631
615
490
774
86
44
298
197
262
893
330
130
974
958
991
888
772
908
83
296
946
578
844
340
197
5
454
762
279
402
751
453
418
55
659
742
237
431
418
568
856
5
549
205
391
181
779
574
280
155
948
979
241
240
667
920
65
240
741
634
721
809
436
532
556
230
516
701
368
393
182
854
553
369
79
591
664
989
501
970
843
391
394
767
440
508
38
812
610
581
633
765
178
382
826
934
583
686
791
318
977
177
999
979
186
93
907
900
552
783
757
407
349
571
69
172
560
757
40
513
653
757
756
115
52
815
351
380
305
432
111
334
813
320
441
449
539
836
129
683
558
468
513
107
69
133
116
950
61
296
639
843
846
579
441
108
966
635
317
150
426
207
710
87
681
861
718
44
230
70
235
265
294
405
387
901
475
70
360
390
534
414
338
617
415
104
936
524
126
770
785
339
129
80
501
606
893
553
965
849
119
201
695
383
673
198
53
475
217
709
203
316
870
511
79
513
395
198
474
419
185
92
560
694
234
269
971
361
223
848
337
1
98
528
667
219
42
76
365
431
488
787
554
168
795
373
179
22
243
336
191
469
906
449
443
967
322
732
555
988
250
533
245
15
656
254
11
758
959
593
802
545
58
333
114
631
414
659
640
24
280
124
548
963
184
384
39
525
53
152
623
257
387
822
109
46
349
14
659
280
527
185
982
448
248
102
400
241
948
620
527
719
541
416
156
26
415
142
711
719
753
152
406
683
977
457
41
76
608
499
994
379
325
588
240
370
696
419
17
372
919
999
25
302
434
443
365
74
298
463
37
693
186
214
321
153
148
891
473
884
587
805
55
80
900
614
420
619
797
760
555
178
175
856
610
446
331
221
275
113
769
750
207
74
885
82
483
481
195
665
181
886
568
601
326
221
785
915
635
90
619
538
129
873
667
38
400
89
256
664
832
176
404
43
572
152
89
907
792
685
501
224
18
259
657
510
118
107
380
372
889
664
80
765
847
921
174
553
629
509
314
844
789
899
875
152
364
586
87
286
78
953
82
710
383
832
951
211
369
213
433
643
280
202
977
759
306
259
37
541
743
182
721
546
178
591
177
527
837
356
927
348
166
902
66
402
812
836
84
791
370
167
553
696
50
901
158
198
813
10
587
768
328
995
121
231
916
206
573
25
13
254
736
619
921
195
705
66
352
351
665
182
328
907
658
491
32
763
158
348
963
507
120
743
713
729
712
120
928
360
566
176
258
730
172
641
119
901
1
706
126
847
908
294
937
652
245
229
778
494
430
415
533
341
246
507
161
479
187
111
965
499
183
806
290
741
794
482
817
365
433
300
650
703
907
240
179
190
689
180
746
788
679
57
597
38
634
572
700
7
91
155
482
143
126
390
378
451
696
476
562
385
945
890
80
17
885
794
796
556
539
888
475
191
871
793
698
616
306
18
564
451
683
185
121
244
774
461
599
537
123
906
666
731
997
826
368
359
309
276
862
801
628
892
999
369
859
370
321
581
658
42
545
674
224
492
91
105
28
56
735
135
900
17
594
447
585
481
496
477
927
808
46
695
886
236
288
619
309
753
431
40
658
815
293
304
477
528
175
993
127
401
587
212
206
801
962
796
681
385
456
352
443
210
477
710
513
1
87
651
714
212
504
965
467
921
32
301
994
165
243
590
900
11
174
747
958
645
983
642
296
824
838
417
181
915
729
199
151
527
409
870
909
535
152
214
699
372
538
235
540
852
43
105
162
952
131
763
9
473
473
356
316
40
760
833
298
561
198
980
659
518
776
17
665
745
808
251
437
660
244
247
888
747
249
235
225
922
54
610
474
870
261
624
498
432
866
463
244
782
586
327
848
371
365
172
796
474
646
861
594
815
386
922
142
530
542
285
342
122
623
1
972
702
223
999
211
255
428
198
405
393
484
644
314
756
703
158
969
512
877
625
851
503
541
145
111
733
327
222
760
226
520
437
187
687
706
507
542
355
591
306
290
860
241
640
655
513
468
732
949
479
912
673
397
419
34
903
19
736
284
893
774
769
72
325
819
978
955
596
587
959
218
562
937
366
883
279
496
331
790
131
872
296
148
782
918
527
948
492
136
289
766
803
683
670
526
892
968
87
520
978
971
563
191
686
125
670
642
69
680
362
294
537
749
445
588
829
918
802
506
855
117
287
458
448
631
825
924
246
307
57
563
98
236
429
212
311
971
843
996
347
443
431
855
710
583
412
585
910
79
106
919
680
946
825
937
934
330
502
360
793
237
118
212
780
152
762
244
871
763
885
859
856
613
898
155
1
426
863
693
102
442
404
747
747
697
194
651
942
896
307
87
860
680
551
652
217
905
749
255
832
921
497
256
209
13
886
859
107
195
69
677
688
448
961
446
969
904
215
99
966
940
919
930
597
209
712
925
93
941
368
270
727
8
372
643
613
141
940
775
358
46
534
779
323
920
359
826
441
380
742
41
259
85
104
907
151
322
659
921
142
534
314
133
579
626
31
336
904
330
630
765
517
376
792
838
720
988
539
231
10
835
439
443
276
281
583
581
159
909
326
109
766
323
171
136
28
312
424
767
940
610
94
379
332
223
570
237
0
14
195
834
221
777
999
905
639
688
621
909
947
701
993
812
119
285
729
884
492
970
581
807
399
828
600
429
296
678
847
330
15
1
46
627
238
146
860
302
208
543
694
980
3
304
701
452
286
275
400
953
115
170
930
507
793
787
35
633
242
76
100
403
800
843
297
571
159
475
257
651
704
926
855
580
169
255
485
280
943
935
478
848
876
436
884
341
81
200
295
823
917
151
750
884
677
151
809
640
60
267
645
17
24
533
16
291
390
360
573
306
716
797
891
980
281
220
164
614
764
293
897
688
517
715
481
359
491
573
100
571
949
541
809
255
714
351
740
29
393
151
243
622
886
703
414
21
920
387
207
614
224
28
435
345
260
863
467
982
739
853
457
727
594
661
26
53
484
77
90
120
776
603
357
949
572
664
365
687
313
762
344
513
664
892
722
292
384
738
812
616
703
330
821
975
662
602
916
851
371
521
961
700
961
202
347
77
998
744
735
862
459
744
469
97
464
151
568
415
231
402
926
415
452
417
801
299
946
192
130
900
446
312
720
417
701
59
737
854
7
101
304
169
221
308
157
45
543
558
898
582
349
119
574
263
551
438
171
178
707
893
283
943
718
410
677
691
108
672
225
684
654
423
786
198
764
122
877
19
805
988
149
230
797
510
629
300
647
467
913
396
543
193
682
663
692
470
636
701
900
319
929
975
249
970
576
235
911
662
957
554
950
71
227
215
324
481
54
880
824
575
209
603
129
748
308
297
926
67
983
748
856
953
42
802
369
104
488
776
642
237
554
146
871
76
734
611
230
132
83
120
851
997
658
192
792
173
509
569
52
155
107
320
848
931
943
324
423
584
859
105
420
828
146
777
705
240
566
591
807
849
511
80
487
502
0
346
4
778
483
667
231
519
384
803
714
189
738
274
49
752
564
149
147
917
993
525
925
652
204
927
370
925
13
866
838
650
312
706
702
950
960
114
568
605
732
183
679
782
464
589
392
111
22
154
21
687
216
50
615
685
743
454
83
427
353
935
927
558
945
883
409
32
590
273
885
456
699
577
243
904
892
606
902
439
134
548
44
250
407
393
666
434
551
635
895
595
365
25
76
261
224
670
73
566
95
80
4
378
310
614
711
397
727
586
413
66
978
567
585
30
6
704
715
748
898
8
868
234
781
781
788
635
811
534
822
121
673
694
108
865
805
857
38
29
681
288
585
120
277
464
55
392
325
391
460
295
835
844
936
780
346
775
634
603
142
614
14
333
790
980
285
812
652
740
596
831
165
254
931
131
717
684
383
738
228
549
768
765
360
479
616
836
898
942
480
744
993
988
779
222
425
607
360
13
522
542
290
407
91
754
738
911
662
567
293
582
305
572
639
17
708
154
603
174
826
28
453
809
856
838
371
169
916
238
370
819
584
540
283
693
580
169
996
849
893
203
315
256
74
660
404
603
172
957
719
608
463
168
979
497
467
130
362
973
888
835
339
551
639
564
138
93
194
96
416
316
208
384
317
243
13
715
210
658
52
676
495
989
709
5
886
13
864
494
530
748
999
523
428
521
856
428
349
758
862
638
989
411
194
43
568
358
214
718
368
605
772
873
260
356
618
392
40
980
17
812
505
857
416
58
458
703
926
918
501
429
332
389
952
410
942
795
448
454
11
974
909
600
489
122
766
369
85
244
562
521
144
525
650
883
404
378
501
475
786
365
279
130
215
338
985
77
940
491
108
615
718
399
619
289
644
169
758
899
373
679
260
143
764
500
803
800
901
486
560
124
903
183
582
50
271
281
185
224
817
983
334
69
795
925
814
931
848
854
993
767
281
844
382
952
822
507
886
902
920
371
780
947
645
122
151
891
466
692
600
773
156
109
787
45
831
466
348
826
549
87
642
735
492
96
567
972
630
138
759
558
887
105
228
624
764
413
310
872
809
838
851
705
889
181
663
119
354
584
265
50
29
864
88
886
501
234
320
853
509
598
816
727
909
267
794
484
903
598
220
533
94
917
909
192
345
752
332
741
538
558
326
571
929
863
277
553
146
155
591
725
539
710
114
130
80
476
187
921
495
552
216
907
9
836
450
239
995
151
498
432
248
48
344
545
511
636
224
439
587
238
465
589
778
688
60
335
167
568
105
775
548
321
226
677
136
879
651
184
762
929
227
326
520
509
693
357
190
453
269
325
908
208
55
441
878
903
687
412
506
538
76
895
572
599
283
691
972
736
202
350
515
565
688
395
170
371
241
465
641
401
723
706
712
499
507
602
456
797
441
89
966
375
293
311
389
967
514
0
648
747
280
954
323
844
760
644
756
46
686
835
561
263
310
331
150
940
184
530
293
251
703
413
273
481
20
966
62
716
148
59
450
694
936
500
870
246
382
51
456
620
679
307
113
818
868
688
721
715
486
243
786
562
271
737
409
809
317
809
15
639
940
356
930
280
539
979
291
498
945
448
551
801
302
414
652
125
346
83
598
115
618
23
408
287
395
795
495
662
264
221
228
0
966
386
178
730
260
464
535
139
863
577
862
643
624
78
360
712
315
320
901
96
983
244
794
760
504
712
717
779
757
221
406
105
486
543
569
956
696
606
44
475
842
823
187
778
595
340
663
791
651
151
142
18
802
533
241
220
934
567
924
175
344
884
748
790
80
794
759
965
372
143
948
504
629
497
200
769
717
689
561
375
448
622
790
774
452
415
700
842
486
245
973
857
966
906
369
161
785
292
72
62
393
338
41
182
86
641
115
440
749
358
802
316
482
931
873
808
952
879
523
455
48
792
352
846
719
518
123
980
922
45
438
424
883
461
175
373
750
812
879
511
794
263
405
82
651
843
849
45
650
667
717
868
216
674
485
515
34
129
471
39
427
971
756
862
152
135
474
442
958
449
354
492
55
627
4
893
653
844
807
521
797
444
506
875
256
506
923
109
16
295
442
636
871
261
978
866
407
844
230
105
74
530
393
543
356
378
770
752
410
842
538
559
891
821
445
900
497
214
113
422
666
465
201
76
350
120
115
995
34
259
804
413
154
992
697
557
621
514
949
453
445
30
719
140
810
252
23
931
962
414
978
811
665
759
583
534
985
952
575
228
728
684
594
775
808
47
271
300
932
391
94
705
97
280
927
223
411
570
748
153
264
817
334
632
300
796
323
119
714
77
563
246
448
182
359
397
818
957
797
427
547
461
312
90
406
819
187
130
437
807
71
936
604
687
331
343
397
166
677
235
372
411
976
465
994
896
930
170
79
539
258
630
345
35
515
851
513
719
635
437
268
48
272
841
826
374
313
24
874
451
857
828
412
449
809
840
806
933
708
501
567
869
162
403
628
198
72
110
420
426
761
195
372
994
615
135
68
191
448
141
978
945
30
933
941
761
375
632
22
643
309
417
743
953
700
418
557
366
566
594
599
403
958
951
640
25
287
736
885
161
479
822
820
298
973
208
946
105
583
654
532
719
172
262
548
321
169
433
579
110
709
656
624
91
593
262
4
320
300
52
328
67
812
867
5
984
529
971
523
336
452
752
206
734
341
165
803
27
196
457
541
850
292
949
231
635
920
287
369
377
4
315
689
427
462
292
32
509
981
580
452
250
62
749
885
223
385
511
342
203
21
611
497
677
859
267
895
862
974
732
739
944
893
96
635
947
2
481
52
815
116
282
599
691
536
361
603
240
880
571
986
496
762
453
202
67
146
821
874
565
419
231
57
205
393
939
195
983
785
63
65
470
290
505
89
966
565
631
690
632
309
519
128
729
564
845
763
823
816
913
224
774
983
476
671
832
788
601
192
437
922
461
401
730
183
534
140
598
919
711
608
159
951
980
822
518
574
985
226
841
402
579
576
77
528
471
390
950
601
810
87
302
629
120
467
457
335
327
197
357
890
774
128
722
248
383
965
159
928
688
83
20
276
502
90
301
146
998
765
73
577
493
310
543
142
930
974
570
121
676
888
630
728
897
865
123
737
256
600
466
71
998
329
830
364
245
245
41
748
122
463
622
888
568
208
440
298
164
551
616
99
546
139
630
340
475
245
581
51
157
934
344
88
745
693
569
665
328
366
203
999
389
517
568
180
421
146
927
160
476
844
142
518
980
988
394
394
22
835
943
745
790
531
813
231
625
380
65
602
439
617
969
666
332
495
681
424
465
87
684
440
736
254
230
800
900
311
483
61
912
345
34
323
391
359
985
399
739
961
654
861
379
535
334
933
260
350
863
237
479
491
844
299
569
564
425
381
116
639
997
813
398
673
538
659
887
562
679
520
926
803
513
226
960
560
854
599
130
935
6
893
891
391
182
905
884
607
296
898
670
772
184
115
113
194
887
242
700
729
387
217
563
130
700
300
895
868
355
166
670
335
344
81
882
939
115
787
789
651
489
322
768
559
328
212
509
572
553
896
28
195
96
864
868
777
773
280
683
924
855
191
111
689
814
662
314
467
308
249
954
199
717
72
266
792
340
617
445
572
145
717
874
660
355
185
181
626
735
92
684
976
379
29
162
696
821
260
403
102
595
99
775
205
182
406
483
338
741
813
482
586
801
467
625
414
735
363
918
378
840
798
205
344
905
222
997
289
830
885
462
728
178
612
304
415
532
163
964
624
24
430
514
195
752
937
972
847
256
803
920
823
903
367
632
1
923
263
442
153
131
257
88
998
721
337
405
748
473
646
951
556
692
828
714
316
551
266
884
760
843
604
119
462
942
479
40
251
209
348
98
353
352
264
825
290
723
166
730
527
894
240
723
754
749
217
479
767
976
372
797
697
905
302
131
284
357
656
943
666
81
272
497
572
203
82
821
736
781
8
631
819
899
996
532
15
617
398
761
233
824
25
708
843
228
449
273
403
872
280
388
295
881
120
914
838
783
735
813
974
206
873
457
840
532
513
447
740
76
147
99
109
287
796
232
542
377
336
515
690
867
168
966
859
717
711
553
392
641
462
948
227
442
558
341
402
17
172
6
141
118
729
136
932
238
487
138
3
627
588
720
300
231
642
979
945
86
429
906
789
689
804
663
456
551
462
560
720
880
927
709
560
814
548
422
704
130
843
845
183
166
56
191
58
788
54
825
20
173
199
81
323
786
125
651
901
214
538
746
255
154
65
782
719
477
999
169
606
315
485
623
869
710
449
530
983
352
530
776
691
496
832
386
666
829
961
79
270
804
269
458
754
88
883
533
555
593
773
618
389
790
959
775
269
740
709
551
39
501
53
534
710
976
979
65
478
685
193
702
48
907
755
515
194
736
802
846
435
739
836
631
656
819
93
912
647
988
313
161
68
141
274
86
904
36
593
388
793
341
438
710
710
240
757
368
353
773
584
934
25
917
459
702
840
317
977
838
666
693
961
810
929
110
62
180
636
273
487
779
553
288
769
631
440
698
815
80
401
736
849
241
685
382
147
908
911
944
265
754
967
717
915
424
632
82
721
302
76
115
398
979
939
521
809
841
456
961
966
546
52
254
704
21
643
841
900
348
565
203
542
497
681
143
584
38
30
336
155
706
796
979
664
472
304
957
256
587
457
244
529
614
739
965
57
322
255
254
316
369
553
647
127
920
978
964
860
561
229
236
582
38
19
143
195
163
12
937
53
428
726
917
916
75
267
41
592
841
406
149
516
610
307
689
115
485
403
630
273
756
965
309
429
244
992
439
123
876
387
305
765
303
918
379
709
528
156
420
289
815
480
501
596
723
222
956
174
352
137
257
240
37
471
408
874
686
952
611
477
965
373
639
527
108
984
914
978
854
964
4
815
21
508
36
87
408
178
224
526
654
287
894
277
530
532
416
139
593
235
75
240
522
386
257
137
785
627
757
893
331
191
151
291
358
593
643
119
285
879
915
718
792
25
364
35
455
110
259
988
984
599
562
14
537
781
453
551
993
85
676
416
806
561
13
190
94
140
336
8
524
658
828
962
562
34
894
719
566
553
11
830
947
588
236
883
436
234
308
552
763
234
274
5
3
894
203
375
298
384
439
778
541
678
882
575
603
150
879
901
262
907
372
734
199
39
136
222
40
676
314
323
978
999
325
542
198
397
540
197
995
239
724
536
809
324
666
531
233
30
93
860
800
564
243
690
256
384
318
496
913
707
882
233
243
683
744
767
318
322
512
761
639
707
392
419
399
35
683
754
752
51
927
404
128
47
158
492
811
747
652
238
386
735
1
185
404
374
776
426
886
999
709
724
255
487
391
380
764
6
485
343
679
673
736
820
508
899
847
789
365
719
190
890
914
416
336
624
887
78
588
342
615
334
26
296
824
861
270
876
508
901
173
616
724
145
124
739
603
504
853
622
667
579
458
758
607
985
856
50
640
813
827
627
437
39
576
509
982
97
396
415
558
115
831
464
6
237
967
874
291
326
351
107
554
722
616
75
205
85
262
459
868
651
6
253
188
454
83
442
387
324
706
209
76
936
573
980
131
522
285
112
17
601
662
734
862
812
375
699
366
54
706
784
707
909
969
766
602
945
999
25
637
399
547
972
825
173
822
664
623
357
417
365
680
505
696
748
374
206
751
497
845
12
571
578
846
199
684
191
339
666
92
928
259
325
858
773
385
393
481
119
409
289
333
539
934
527
458
757
204
1
158
977
453
938
618
555
131
423
462
447
711
444
557
752
531
14
329
216
107
133
75
787
565
710
863
981
44
417
985
814
91
782
396
268
27
327
759
474
625
431
235
920
838
349
69
756
647
990
282
588
238
823
265
629
685
26
6
310
303
47
273
332
380
252
165
276
516
738
988
247
19
575
289
626
933
100
202
207
612
969
413
87
286
17
538
543
922
776
437
353
76
282
230
506
724
408
155
676
630
462
918
893
488
273
308
116
117
752
870
721
11
762
350
520
985
859
434
776
668
436
435
422
555
734
290
512
169
699
737
996
725
217
66
680
802
164
961
510
911
694
165
422
262
587
332
328
90
378
963
241
415
958
247
85
281
556
591
586
72
285
352
627
636
882
774
368
813
164
494
279
504
38
778
784
297
746
618
804
549
425
928
305
394
710
465
810
977
107
397
718
616
851
177
443
482
24
525
586
729
836
432
402
377
59
892
251
562
525
510
526
533
20
64
331
695
613
461
166
637
510
547
313
30
738
549
409
485
60
264
723
700
441
159
270
897
208
644
494
733
898
214
528
337
621
255
572
19
525
410
827
370
460
734
757
620
147
223
224
0
45
400
455
644
222
821
966
415
564
728
667
836
484
348
505
145
688
338
188
241
615
333
29
895
286
837
565
789
295
437
731
527
146
420
272
72
804
27
191
682
872
15
683
266
263
160
928
239
773
868
933
323
765
411
388
851
158
901
311
444
463
998
253
87
772
531
409
260
588
24
997
116
136
37
388
896
230
633
268
927
705
2
632
92
138
489
173
601
300
757
566
20
640
423
40
731
528
194
829
659
530
65
515
638
719
713
522
52
136
582
605
993
223
982
860
729
343
940
975
572
195
830
862
59
598
693
954
629
101
995
526
693
688
626
962
831
11
131
787
974
960
529
923
304
949
269
126
750
126
615
417
234
878
445
737
883
283
784
754
956
684
220
100
466
340
394
956
423
153
146
761
259
148
118
11
382
148
27
142
490
640
277
575
578
606
856
592
584
549
984
563
18
745
398
654
926
874
40
683
82
928
271
523
711
740
1
867
601
124
267
476
353
407
185
113
502
384
635
276
790
726
260
218
79
620
569
198
45
788
404
43
203
745
382
502
643
95
455
258
163
403
248
852
406
137
602
302
140
910
629
930
475
900
601
555
745
298
327
800
111
229
983
557
982
901
194
129
149
761
289
882
85
175
407
752
954
590
77
110
418
841
147
263
667
896
725
724
71
771
257
197
368
75
183
824
366
556
394
526
887
49
953
39
159
222
65
868
114
59
959
626
588
598
679
864
783
457
455
641
734
657
155
138
634
169
490
875
395
609
345
944
88
244
91
99
796
726
394
309
484
974
752
820
401
596
837
703
719
894
490
154
166
856
504
804
724
303
687
657
51
122
376
911
161
955
268
733
26
360
795
105
821
439
712
542
111
948
201
333
631
754
739
102
569
429
538
549
457
952
268
950
218
924
693
6
273
717
219
607
391
540
322
945
516
333
902
928
634
307
48
751
384
330
209
556
177
744
991
157
917
820
149
903
703
277
715
174
631
515
570
498
472
998
501
73
222
35
406
361
737
630
973
888
366
712
34
539
347
592
895
509
872
515
805
700
124
287
761
51
647
775
220
655
791
217
68
810
315
48
329
232
241
256
598
19
643
5
34
163
486
697
800
64
64
76
926
0
546
114
556
462
206
759
47
872
70
470
244
141
250
196
474
96
254
287
141
120
581
977
482
510
753
110
747
531
788
25
138
450
484
412
682
991
394
923
198
812
178
176
382
725
234
646
663
752
333
25
36
272
232
153
258
687
418
264
5
606
784
159
251
643
605
92
137
244
292
885
50
769
881
346
261
568
846
657
53
540
545
529
302
481
525
864
486
426
13
486
672
673
223
329
654
566
945
313
334
990
408
450
696
948
689
450
333
771
650
478
400
51
808
987
257
199
811
699
496
842
374
883
280
385
715
730
783
383
983
555
884
659
646
762
792
553
517
118
268
273
464
314
134
564
588
450
270
481
35
340
682
497
42
51
280
90
564
522
48
303
924
333
688
85
561
930
592
683
30
714
723
855
309
379
128
43
17
292
81
491
807
826
401
844
572
57
986
978
528
810
131
617
853
125
616
847
785
75
673
86
189
706
234
44
401
291
806
724
986
781
91
393
276
766
297
343
307
830
165
166
924
969
219
63
66
859
158
473
694
594
606
208
605
917
986
753
590
335
304
711
952
625
694
576
284
968
930
434
237
589
890
576
387
758
656
348
424
923
269
538
437
121
654
795
817
846
148
658
582
696
333
84
917
555
101
462
946
706
832
853
293
27
28
567
880
667
471
614
737
435
309
781
521
40
706
575
434
78
476
585
937
126
317
909
714
312
769
52
433
884
19
881
419
409
772
221
146
432
137
814
440
317
533
41
71
418
558
309
325
804
894
722
538
678
424
248
86
949
502
738
157
355
103
43
777
443
753
588
539
788
691
864
529
50
615
349
447
773
987
822
901
655
291
80
575
141
342
926
306
181
996
537
202
247
214
71
140
370
311
162
883
823
94
582
99
875
993
888
635
275
957
85
543
926
954
507
259
180
780
964
443
343
739
531
368
658
528
53
800
504
499
620
813
672
45
655
55
678
913
189
227
969
945
238
560
747
691
414
117
798
195
290
646
608
883
173
163
931
851
576
117
49
285
369
667
479
108
497
240
524
344
277
857
921
707
58
68
866
583
911
635
767
502
147
21
554
421
143
590
407
403
101
625
196
360
19
335
61
824
864
204
299
734
55
182
209
805
299
309
765
127
46
581
876
681
792
42
686
232
225
477
993
147
864
469
981
666
462
19
175
354
416
762
69
400
572
463
109
971
120
531
432
911
115
429
34
736
884
486
17
644
0
772
596
732
346
648
281
277
668
435
16
59
37
556
925
403
28
659
550
126
126
870
239
407
776
232
755
480
577
430
914
693
883
821
948
825
656
659
966
754
428
508
871
323
11
763
510
328
700
99
165
84
590
979
213
183
863
312
171
935
568
762
479
612
924
610
312
996
509
378
3
282
455
251
820
830
621
852
974
313
640
715
36
993
938
816
748
834
325
60
350
79
725
205
936
158
888
782
165
87
234
703
62
288
187
736
491
74
328
299
133
566
888
956
217
284
125
74
810
919
872
610
982
836
585
528
148
73
504
584
110
361
778
228
471
208
542
942
440
697
383
426
656
439
710
290
856
826
636
787
882
146
812
219
323
7
648
233
341
505
427
620
454
99
408
173
700
98
694
266
407
12
948
85
769
618
50
153
45
68
591
329
273
375
211
860
249
821
943
360
436
678
239
519
86
341
653
363
0
50
374
296
44
965
768
119
998
860
699
367
329
554
288
23
971
772
338
306
950
613
416
775
269
631
301
917
955
976
439
223
92
252
252
810
734
268
334
309
165
20
646
347
820
105
677
293
515
496
72
926
219
368
338
865
691
595
615
636
485
876
666
16
883
517
607
974
732
979
481
63
122
885
806
45
739
826
729
522
45
681
645
312
589
770
609
282
399
459
509
794
59
724
690
668
113
612
895
388
774
829
893
358
729
476
604
102
819
233
712
979
867
804
504
753
40
515
999
851
39
248
692
810
906
182
626
842
888
977
507
312
701
518
835
681
461
991
233
918
383
265
333
239
246
637
875
682
228
954
400
28
941
527
903
173
85
97
527
475
102
970
872
601
989
34
539
873
377
271
404
845
281
204
890
111
687
89
409
45
762
937
116
474
345
791
382
790
234
480
981
620
557
303
545
585
599
328
522
528
949
339
157
662
186
909
30
530
488
676
109
588
346
3
256
92
2
39
107
695
50
868
464
875
424
670
937
342
329
733
74
544
199
521
21
652
245
494
510
235
504
753
837
254
272
933
542
845
123
699
971
228
682
17
625
323
973
717
18
791
955
867
482
996
117
665
595
776
218
69
458
848
261
257
888
151
200
769
185
254
638
33
666
896
957
582
920
507
832
998
103
280
479
51
693
820
962
735
91
499
963
720
734
497
547
360
814
52
276
666
833
230
423
480
97
386
78
599
690
650
973
17
402
191
594
85
966
688
641
996
289
967
770
95
20
893
671
772
93
449
119
867
677
730
458
561
925
684
756
340
450
696
606
949
704
983
914
273
528
904
254
914
51
843
725
312
420
245
901
824
108
643
135
202
631
280
201
698
257
321
137
878
954
122
403
706
26
503
923
744
396
96
629
282
872
653
354
211
415
45
614
294
458
190
107
236
657
526
123
338
195
684
948
661
923
194
444
979
375
401
571
157
772
419
232
274
341
99
786
567
905
409
501
457
10
233
844
429
754
773
233
104
477
307
880
305
894
688
420
725
567
107
867
48
520
202
873
141
917
643
920
478
365
654
563
394
151
279
719
440
203
209
95
108
729
760
155
305
7
89
471
710
759
902
348
745
398
500
694
264
930
415
942
682
359
671
364
551
986
837
751
319
741
157
150
922
323
547
233
688
854
162
745
185
632
598
471
95
826
515
213
625
476
641
286
778
106
183
659
821
530
872
189
446
905
674
853
767
501
332
973
231
270
627
942
169
868
727
156
223
694
376
359
104
334
895
688
104
834
309
560
855
854
666
27
64
404
361
313
81
608
737
499
625
947
894
312
580
609
576
285
290
796
437
469
336
983
500
421
416
939
640
58
825
78
875
19
963
696
584
776
231
253
967
621
871
445
892
338
234
700
735
951
797
754
744
739
374
651
110
442
340
556
262
889
993
689
416
582
886
790
27
990
501
371
954
508
778
226
199
244
710
830
313
187
797
820
485
780
835
842
986
884
997
457
512
953
91
651
204
410
233
611
796
627
288
239
242
639
647
48
780
273
66
627
353
283
523
363
2
414
930
753
978
492
959
320
920
126
631
810
730
816
618
132
232
235
960
935
759
152
531
977
586
694
939
185
387
69
125
801
464
454
113
662
728
404
41
661
45
609
750
247
2
695
328
245
534
292
252
502
800
755
999
328
957
901
147
286
407
637
578
678
902
592
728
840
815
11
516
779
806
156
382
913
69
846
120
38
591
115
70
549
833
341
621
525
210
716
357
605
71
43
850
76
227
790
680
781
169
13
540
134
322
289
643
159
882
421
93
371
499
10
850
7
427
191
976
711
877
797
429
500
720
311
480
470
558
641
667
386
256
398
557
708
440
768
487
987
110
99
440
51
41
846
335
238
496
504
296
235
748
478
123
41
106
498
337
943
80
483
544
464
737
294
138
884
5
163
829
192
255
940
985
246
603
890
791
118
595
728
203
392
436
39
865
73
272
249
888
722
984
621
388
210
260
306
594
188
390
517
918
14
257
86
198
429
90
567
209
404
353
823
468
148
822
521
349
815
935
262
418
513
40
977
613
796
848
536
804
848
866
875
446
787
390
665
916
743
259
985
974
285
451
582
659
736
623
439
465
563
983
325
285
266
101
164
704
923
4
55
134
394
295
385
456
445
768
407
661
82
211
27
550
522
770
271
232
744
947
145
210
947
853
380
215
533
404
728
892
533
704
327
436
802
87
950
70
761
979
500
836
55
661
251
444
515
401
477
84
529
869
644
943
0
9
541
434
548
76
100
931
340
544
57
426
151
561
730
969
551
871
623
764
890
578
45
322
195
449
462
542
918
732
890
612
923
219
518
165
380
308
283
33
322
521
765
103
961
213
105
394
66
486
838
163
802
52
202
350
659
869
959
545
789
998
733
93
500
597
374
883
102
709
621
246
676
777
154
12
456
113
177
510
535
888
139
851
776
145
693
244
116
532
549
703
278
141
484
62
279
860
525
729
305
315
825
751
515
263
334
662
351
386
336
589
970
153
105
296
406
37
721
325
898
198
484
969
938
139
734
402
267
270
93
649
778
623
990
983
198
652
660
761
724
571
775
446
994
835
16
28
170
713
255
764
678
613
685
983
53
10
525
523
553
87
577
736
874
930
708
44
273
577
890
624
464
555
917
772
355
116
331
866
948
215
515
851
852
378
969
507
755
973
521
855
825
673
871
232
159
730
637
249
87
692
203
562
336
318
742
464
848
292
859
868
149
845
682
528
216
542
588
455
511
296
108
309
805
954
158
790
25
942
129
690
128
301
497
295
984
253
652
168
886
723
924
312
528
620
197
142
615
963
371
65
868
862
3
135
799
5
252
648
307
998
4
262
945
877
720
527
534
106
39
1
914
574
415
480
988
509
739
457
637
476
181
945
725
522
392
867
332
521
243
933
780
799
961
679
943
447
507
303
881
112
820
366
903
595
344
784
34
998
458
845
143
118
275
861
446
305
883
40
730
328
492
92
638
811
506
222
617
358
202
560
664
861
926
992
728
189
179
7
544
317
752
232
869
26
223
357
891
409
543
632
461
535
788
134
746
99
130
96
192
732
854
555
845
549
412
67
585
567
567
758
816
373
307
526
274
197
887
324
856
853
368
438
345
921
382
264
336
570
859
221
945
64
510
569
287
679
350
675
357
150
592
367
366
719
595
835
353
156
166
910
724
515
59
386
93
293
317
131
850
978
220
321
104
518
314
220
632
966
923
628
49
491
674
724
459
4
856
729
734
908
811
492
355
617
500
529
372
220
43
841
151
613
481
694
384
819
991
455
167
899
710
574
749
463
314
79
182
522
378
262
88
127
340
360
608
161
474
981
749
990
201
51
710
30
643
699
582
997
934
236
899
454
889
901
242
295
636
215
418
680
280
138
993
850
348
314
774
410
891
522
839
875
528
764
534
23
320
483
0
865
172
990
54
564
557
831
730
422
723
465
798
840
582
880
39
201
634
831
964
63
601
219
153
24
426
922
97
193
953
240
653
806
208
854
906
255
66
513
626
745
500
583
230
101
207
699
633
383
398
350
776
322
142
987
362
387
405
395
771
656
902
440
266
241
308
237
105
156
352
40
569
443
209
207
368
685
295
890
782
900
214
943
290
241
647
204
899
598
315
342
875
578
888
657
426
177
515
438
467
996
643
437
918
883
512
976
704
901
911
372
668
537
756
620
693
868
419
154
521
43
37
822
858
978
626
629
627
548
310
134
604
917
99
686
845
412
6
795
788
280
561
829
96
264
579
633
707
652
50
99
814
234
846
163
976
369
23
861
46
252
958
27
766
699
810
30
464
987
746
995
840
491
175
487
623
145
342
521
256
368
751
488
793
989
341
672
821
132
770
228
551
906
913
345
583
266
245
730
760
569
851
154
28
566
164
290
403
851
525
226
593
343
458
674
8
421
21
56
662
123
601
608
720
398
861
734
298
881
171
650
104
233
449
84
933
345
802
697
19
795
348
336
991
568
489
328
223
712
900
231
169
961
11
983
982
687
656
776
727
141
986
318
315
170
805
959
469
294
265
473
254
998
980
518
729
63
703
115
373
432
867
928
857
373
180
439
312
296
521
117
932
133
239
29
177
807
813
857
740
581
879
231
281
106
858
800
472
173
335
24
344
605
6
787
930
5
726
177
234
974
563
833
641
948
152
614
540
813
377
272
313
767
818
225
930
157
884
35
590
822
41
220
642
901
377
262
268
680
339
746
67
258
122
588
929
141
332
789
583
223
858
378
162
957
56
764
936
812
510
150
20
947
760
774
941
110
169
534
997
35
679
502
176
142
780
361
571
664
876
415
831
951
946
781
832
637
505
656
334
525
809
317
436
381
843
587
546
2
384
341
722
145
331
875
998
325
613
985
313
582
997
252
974
66
582
581
381
266
738
475
571
526
985
346
535
134
258
858
383
883
931
466
355
112
899
148
851
499
833
402
639
207
328
280
846
623
88
424
128
746
471
785
213
611
313
523
396
939
306
214
702
222
157
927
325
908
216
110
706
941
905
739
236
630
294
518
193
940
729
45
205
392
850
223
560
669
137
997
304
180
226
886
542
81
834
893
876
915
567
533
842
319
369
260
812
733
775
568
742
205
581
247
213
303
504
486
527
950
582
43
405
612
392
327
803
346
137
698
581
843
967
93
55
610
632
635
142
163
462
612
671
550
356
836
824
389
309
760
260
935
246
291
712
955
863
953
606
931
811
907
996
310
221
488
699
150
770
479
784
330
895
96
602
717
466
602
810
907
495
470
383
913
758
157
762
890
652
63
619
511
438
106
738
353
553
762
267
409
50
792
755
380
683
578
716
420
891
99
144
941
26
907
68
941
935
213
888
300
645
315
973
803
580
917
163
497
62
598
246
462
527
468
879
32
844
265
700
611
944
290
785
272
479
246
359
729
222
246
558
954
477
627
54
892
20
477
212
575
649
770
669
905
428
640
998
710
821
775
756
417
49
3
514
155
457
704
511
297
605
79
50
792
437
101
575
20
649
462
927
590
590
690
715
26
537
691
4
347
344
673
537
200
426
477
440
875
503
316
753
744
333
676
335
741
41
735
907
545
948
878
923
87
356
512
772
507
179
985
776
882
743
914
844
213
404
1
734
247
728
13
161
283
912
642
997
865
152
952
519
332
802
146
954
699
446
94
490
477
492
544
881
360
229
7
521
485
277
823
894
236
410
453
481
232
171
636
343
75
9
445
15
69
625
857
544
993
952
39
386
876
340
751
270
332
147
316
83
289
962
511
843
366
117
939
700
517
26
566
504
233
165
874
424
402
711
913
784
289
501
742
712
142
721
544
225
881
384
154
892
8
891
769
915
584
210
337
478
208
52
269
671
293
367
254
6
558
112
597
222
459
235
166
115
374
434
30
990
553
740
121
45
528
416
870
706
71
775
331
265
784
978
690
597
546
257
613
692
290
701
579
850
573
52
982
372
19
242
430
811
609
192
333
227
195
703
283
906
633
99
990
526
845
725
176
943
862
723
388
345
192
543
839
726
530
129
355
36
941
673
788
472
691
308
261
702
228
633
798
82
96
594
52
812
421
237
205
320
458
207
763
676
452
295
696
686
649
275
403
638
961
353
633
264
113
903
757
236
260
199
670
785
303
655
921
659
792
30
309
209
421
328
599
353
436
737
708
871
480
687
181
29
681
47
61
989
118
855
756
720
701
911
41
596
769
44
306
105
731
684
604
451
782
137
881
558
183
452
796
878
192
384
135
314
668
873
457
878
853
275
812
288
424
184
925
715
626
351
292
67
947
902
247
102
185
935
671
815
385
839
358
277
645
539
961
356
551
795
409
54
19
821
651
241
810
730
483
951
878
898
831
396
16
240
117
801
438
784
172
579
939
164
994
756
713
641
174
678
900
649
525
427
73
619
449
797
763
511
186
682
366
273
399
386
294
949
819
592
781
426
315
156
742
646
261
452
328
482
72
330
888
937
386
272
140
768
461
93
836
267
11
447
589
623
840
838
770
737
956
979
205
904
123
352
215
849
939
877
19
47
204
260
904
708
932
580
652
41
556
172
204
408
313
847
720
16
427
60
539
403
493
549
38
744
475
731
28
166
361
870
748
747
818
752
591
194
330
973
317
141
73
549
153
611
253
437
80
783
468
767
217
507
594
26
221
548
940
484
779
982
785
200
600
787
284
587
983
382
350
367
871
891
153
288
147
215
345
776
657
84
726
232
367
116
765
634
800
306
578
955
346
71
985
44
788
639
109
649
648
600
64
225
656
954
673
204
727
658
974
490
389
883
861
289
239
595
400
733
414
718
616
657
779
463
978
201
812
421
870
787
808
727
404
956
7
543
15
788
127
360
325
877
971
273
739
218
242
479
804
351
277
569
213
565
658
106
540
438
264
264
371
146
971
302
554
179
439
442
377
610
733
132
908
641
557
166
442
580
928
36
261
737
86
564
608
940
734
981
738
600
840
173
906
164
574
54
695
228
943
99
937
420
612
567
646
261
450
925
686
129
966
221
350
754
948
821
410
423
609
14
980
896
857
403
109
946
435
110
535
1
538
507
502
392
407
102
355
551
535
244
865
591
459
543
519
992
885
606
766
303
312
751
982
174
202
258
189
268
839
186
231
698
115
97
64
188
118
452
639
341
482
794
525
10
838
311
389
597
604
986
496
142
269
586
383
213
42
68
490
226
166
764
485
561
399
821
315
2
92
365
662
916
497
112
997
901
194
9
874
361
847
10
459
695
381
780
261
726
872
438
177
444
17
289
555
98
52
625
254
56
244
750
669
813
672
133
138
945
92
924
106
790
828
638
515
694
396
206
484
195
113
896
827
904
581
573
292
149
837
969
598
597
905
513
500
496
174
783
484
617
262
121
423
648
171
461
695
91
845
928
72
330
81
798
541
712
121
975
733
32
392
52
265
866
506
742
915
608
159
404
45
248
352
654
281
991
263
331
770
410
483
595
826
793
234
909
14
212
388
582
756
808
560
792
371
672
482
924
445
805
584
107
589
632
977
641
839
613
398
614
127
33
677
350
820
174
839
662
473
765
212
584
260
390
612
932
670
448
490
741
767
933
614
730
581
886
153
448
173
507
898
822
987
532
763
628
491
859
409
756
626
923
58
250
327
622
648
827
3
961
257
906
655
864
190
629
64
312
852
379
545
583
88
894
429
230
274
669
541
44
983
216
860
469
579
975
20
252
499
232
840
355
807
356
40
196
580
758
309
848
956
409
172
323
589
723
73
52
541
591
483
210
528
965
599
997
861
784
441
598
599
553
679
392
298
727
315
531
713
296
288
541
124
845
797
17
383
473
170
272
847
792
429
794
505
857
157
4
388
604
611
128
710
191
975
453
788
695
64
480
8
386
439
642
612
245
557
844
430
623
770
721
234
387
843
611
727
475
510
61
683
469
384
330
898
68
781
996
689
765
998
859
144
158
992
416
438
369
24
25
393
865
543
541
146
847
585
872
678
893
67
146
201
144
138
891
703
282
147
275
345
171
704
500
751
345
236
94
849
300
602
186
896
242
458
853
653
670
979
776
740
422
0
330
961
70
372
777
902
533
930
306
117
624
888
765
179
259
684
269
479
79
680
444
660
342
309
254
951
108
236
376
328
240
626
917
592
210
38
702
908
52
117
752
563
187
558
200
634
644
398
665
711
104
155
512
520
244
883
203
619
380
356
695
847
975
992
540
239
951
448
827
776
772
971
382
464
579
79
178
573
604
323
707
952
87
626
30
982
674
19
992
136
296
345
395
118
818
657
215
701
668
73
45
464
152
762
874
401
595
632
785
354
170
880
50
158
438
850
892
725
770
912
160
118
744
526
86
774
892
824
916
864
959
286
768
466
738
213
99
306
690
589
109
541
393
919
169
553
687
850
616
473
775
200
59
153
118
116
931
230
910
226
563
49
372
533
387
352
648
652
270
400
917
809
166
398
577
695
457
17
614
229
292
934
121
87
498
889
253
461
473
4
536
306
520
993
845
918
306
641
264
257
804
868
717
134
130
513
974
695
502
215
540
592
570
149
130
441
644
960
36
62
571
601
458
107
361
480
588
889
235
111
473
625
895
901
161
221
486
359
121
302
779
188
208
917
194
789
173
259
856
41
320
873
642
974
302
234
911
950
967
643
579
672
997
175
22
515
205
762
365
616
654
729
343
471
977
592
919
532
163
917
240
928
594
903
449
380
45
482
881
681
847
834
615
541
136
932
414
629
131
42
950
511
70
260
939
800
223
509
926
715
884
545
967
99
819
405
745
620
11
905
739
851
925
23
976
975
483
272
254
107
480
744
125
390
524
203
887
515
286
973
566
17
604
237
200
3
282
341
564
287
35
704
972
404
313
945
393
179
609
830
930
348
799
185
101
52
255
825
495
154
219
570
618
130
251
236
969
332
944
313
675
498
929
238
174
536
837
505
401
814
606
890
526
385
609
126
586
658
29
206
247
882
119
782
6
781
681
244
795
170
915
226
860
793
704
834
716
444
671
926
136
268
149
867
302
401
745
940
946
772
137
444
971
461
686
360
958
485
888
546
451
178
65
678
40
82
697
965
420
470
947
836
267
508
821
551
646
628
237
623
84
178
563
921
188
411
261
507
184
604
943
177
933
184
502
507
566
506
97
811
845
12
938
249
776
543
830
309
87
66
122
75
197
86
284
602
986
199
985
263
772
876
686
893
654
258
684
63
757
990
910
976
596
693
82
237
936
287
225
750
307
866
717
855
326
378
799
595
298
574
44
509
876
788
625
158
106
391
808
831
944
752
533
908
596
752
93
38
507
375
474
442
145
131
673
236
107
795
643
653
234
571
812
271
185
62
719
669
940
759
949
124
174
413
180
996
113
111
673
60
797
848
742
449
758
388
651
635
562
299
745
471
134
8
902
299
619
946
407
384
612
260
612
287
221
547
944
492
557
999
918
386
544
215
139
773
435
144
689
302
395
257
53
135
759
478
446
135
924
459
35
730
982
571
601
357
955
463
445
944
981
905
512
514
577
565
770
168
659
206
826
841
162
420
404
286
2
619
972
910
448
288
271
451
212
748
546
96
740
432
334
277
382
626
904
213
806
46
556
14
946
630
59
6
264
522
582
307
763
339
115
651
241
918
947
326
570
158
666
897
186
503
161
180
428
203
617
604
117
975
246
685
234
39
917
619
911
349
372
154
101
201
127
443
930
166
676
965
771
657
355
68
415
582
178
775
634
959
740
454
860
548
596
167
928
989
153
964
594
43
630
200
553
826
12
188
229
125
939
952
468
443
69
693
676
586
930
511
356
624
863
859
387
610
431
551
869
114
410
898
615
263
405
650
680
823
555
343
292
587
104
655
774
535
360
791
102
567
433
511
248
677
402
957
263
870
664
482
348
499
305
759
986
352
215
672
194
342
779
561
122
222
488
489
394
282
11
839
190
733
101
733
220
553
125
994
159
384
358
824
93
443
257
950
703
977
525
247
131
971
729
595
60
825
197
448
820
264
552
401
671
562
377
935
381
733
75
433
24
862
437
18
262
405
271
73
184
580
80
796
414
478
640
272
565
934
136
573
677
605
555
134
559
855
89
973
698
313
138
908
264
23
842
642
726
724
857
232
984
112
455
664
999
605
678
90
939
94
164
604
544
560
544
536
666
288
402
398
501
768
629
488
202
637
0
162
910
523
143
350
995
197
492
603
922
199
170
264
226
543
901
773
390
129
402
712
250
108
739
331
374
614
660
342
257
602
417
903
273
780
492
624
792
441
644
632
618
505
878
878
6
189
406
156
721
188
761
510
189
639
575
492
274
280
656
816
603
979
333
902
746
359
444
384
763
679
126
76
682
198
736
622
151
49
325
731
790
120
85
444
336
309
768
206
646
944
717
661
723
707
941
723
370
676
377
421
17
83
151
428
988
60
594
222
768
844
849
588
115
926
561
640
870
75
994
358
609
372
776
949
66
609
553
119
814
60
684
332
492
327
758
521
703
761
943
105
897
229
893
117
860
460
690
157
862
531
671
324
262
568
183
126
868
892
145
330
588
767
410
668
347
59
86
854
960
987
932
427
739
942
437
692
270
590
917
187
796
432
582
127
747
333
559
477
508
483
414
269
877
30
632
674
379
781
885
765
178
114
498
731
839
816
608
344
200
624
833
690
284
976
243
908
290
898
555
50
181
927
893
892
927
15
205
144
883
97
753
182
855
871
878
610
789
475
406
870
486
914
843
997
808
971
615
277
55
954
226
365
188
3
973
234
619
686
238
29
234
80
355
357
346
998
256
507
47
497
704
706
13
656
796
973
688
997
292
826
4
698
341
400
900
51
265
474
617
239
503
313
365
459
360
834
258
909
817
252
871
518
962
328
539
647
189
571
949
638
310
456
586
285
46
441
188
952
944
973
679
151
488
600
121
508
562
653
973
220
700
177
921
157
155
829
62
960
575
743
45
672
582
707
360
871
255
784
715
228
297
830
973
788
682
754
203
609
109
533
779
431
817
217
35
200
448
180
791
877
944
877
623
738
734
178
68
699
457
908
995
92
65
9
750
913
582
693
258
376
795
23
835
613
390
716
144
426
538
6
399
930
87
374
129
475
795
216
10
823
209
779
461
210
113
148
982
657
984
954
996
200
121
345
724
366
925
994
6
482
348
273
228
936
285
617
427
564
430
438
279
786
329
659
510
185
468
263
405
469
43
241
114
174
973
941
792
742
841
45
996
812
559
574
895
858
354
244
343
969
280
983
418
754
573
559
679
630
648
678
498
11
377
703
335
307
449
77
766
726
484
510
363
842
286
430
718
544
524
179
952
612
214
402
944
266
378
735
867
843
157
146
701
460
747
275
539
641
73
61
843
835
216
81
533
702
855
191
83
755
379
225
499
811
965
370
606
416
595
324
610
193
452
976
539
208
975
256
979
661
183
332
781
298
506
518
178
123
934
533
370
53
565
587
527
387
949
87
891
845
843
372
955
879
164
159
41
163
41
135
587
243
294
909
701
459
695
853
941
351
475
123
821
247
281
244
192
465
558
246
292
621
536
914
166
206
825
342
694
844
887
316
629
295
95
948
737
753
822
194
247
711
268
757
788
917
791
931
597
334
998
600
301
542
640
285
86
251
996
379
512
672
793
319
281
784
419
709
523
673
279
744
313
832
818
128
925
475
157
216
120
557
547
751
874
704
697
892
959
63
87
49
481
798
463
678
800
876
413
13
453
779
544
15
479
273
162
415
445
675
0
139
392
134
922
542
537
786
565
784
730
422
816
920
784
652
974
996
672
459
632
363
579
625
178
711
541
23
495
919
74
48
87
925
59
528
797
945
704
465
541
421
453
368
175
927
928
11
950
380
269
736
178
789
222
667
899
808
424
921
695
777
816
884
638
641
886
591
493
354
406
683
568
905
441
581
489
160
288
809
945
466
889
922
40
574
945
811
477
218
899
662
178
334
116
141
47
572
612
977
561
544
890
368
26
738
575
452
67
852
584
708
776
900
461
646
185
220
161
971
27
859
195
445
534
632
143
741
889
639
781
608
791
466
378
621
684
717
619
384
351
725
618
663
426
48
587
158
19
993
502
381
903
980
47
591
230
343
339
759
92
39
382
768
639
665
117
956
403
2
770
866
917
84
774
354
858
547
114
716
14
285
64
967
924
539
557
145
845
34
309
720
523
560
879
688
331
38
225
610
727
609
269
814
357
477
917
203
699
872
91
698
920
736
876
7
175
700
762
928
507
146
995
549
76
457
968
879
835
95
638
862
658
229
848
267
876
574
244
285
811
879
411
834
766
661
791
11
749
740
362
432
486
22
792
383
566
962
252
218
428
844
327
713
16
61
180
582
23
803
750
608
947
210
204
622
286
205
37
782
399
5
906
825
954
626
769
728
677
219
583
107
565
585
719
253
556
284
464
716
313
785
881
760
436
69
249
233
191
711
644
365
539
715
191
477
882
35
699
502
800
269
801
740
379
308
430
469
823
916
79
388
516
644
175
907
121
482
825
947
298
517
212
62
419
648
593
422
584
486
456
913
248
105
639
998
926
360
216
456
587
765
927
812
257
840
997
923
603
850
826
380
280
548
269
605
384
971
875
128
127
286
658
557
637
524
72
821
454
160
262
597
867
837
71
134
652
166
567
709
162
327
126
887
672
649
720
200
444
293
985
500
641
46
988
655
76
415
617
90
430
595
866
373
752
22
201
209
830
495
171
550
401
454
986
766
135
689
793
57
17
538
697
969
707
154
752
968
370
233
527
592
766
772
698
535
686
216
125
916
343
678
917
833
208
507
984
897
314
779
191
830
104
782
637
545
160
38
100
918
782
737
161
864
975
8
431
420
671
533
825
416
167
207
532
688
72
165
511
83
144
207
873
337
401
352
677
683
847
700
959
576
816
853
457
326
903
710
34
574
686
511
242
44
614
678
128
815
457
182
687
765
348
546
655
221
61
970
934
723
91
367
288
491
664
285
993
312
641
480
905
34
24
739
968
467
457
436
642
849
329
189
573
592
642
70
50
694
308
854
726
71
830
884
727
15
147
595
537
816
136
122
937
159
644
734
856
37
63
53
737
617
160
211
350
445
84
869
387
540
323
967
146
174
669
674
586
463
1
37
65
505
226
570
896
712
628
676
251
772
938
173
648
634
336
20
631
313
923
782
345
78
697
827
631
875
815
112
137
417
109
374
768
98
58
79
663
117
911
807
737
272
494
522
183
433
649
457
976
148
769
515
756
402
202
692
97
437
874
665
498
506
265
681
614
844
263
107
563
139
176
249
977
794
39
466
832
39
557
212
77
466
585
770
673
848
108
483
700
206
166
873
239
181
223
69
10
196
501
610
259
271
779
628
434
223
610
382
312
390
152
807
707
205
618
253
401
988
299
880
703
744
25
710
75
752
669
78
814
747
821
9
684
350
521
807
649
348
312
431
754
104
514
168
339
187
5
266
114
388
401
520
507
719
83
821
478
219
194
300
412
135
967
149
544
823
352
412
444
412
637
164
673
273
38
601
875
454
76
634
57
596
273
193
572
151
853
219
240
304
7
299
636
43
138
183
291
958
151
406
370
51
312
965
31
242
145
983
52
880
540
931
846
969
804
51
776
99
686
140
763
192
334
910
43
203
601
309
778
294
192
322
883
4
638
923
817
546
276
48
86
700
613
926
320
454
656
775
939
364
243
315
125
514
961
90
311
995
39
979
130
174
656
564
20
52
268
397
878
851
660
480
494
871
707
925
906
603
814
394
387
457
442
329
441
986
251
500
693
98
593
307
926
24
190
972
119
402
975
872
478
848
201
428
721
585
628
585
352
74
291
663
949
688
990
732
63
973
551
760
155
49
24
476
351
190
980
49
500
449
366
417
114
591
57
334
745
897
291
221
554
823
536
598
101
302
913
503
259
559
314
464
329
334
436
15
164
288
207
53
736
387
8
331
550
484
458
807
859
99
138
596
441
592
194
198
773
263
995
20
27
181
796
332
275
464
682
333
938
865
974
521
620
214
338
941
107
140
529
258
516
94
286
771
197
597
276
353
312
399
725
973
366
242
67
188
625
996
684
858
747
568
85
961
440
571
32
138
454
767
42
137
919
93
209
69
357
437
426
181
205
270
230
100
482
277
838
256
668
940
205
841
326
536
268
470
683
198
325
37
31
480
404
554
315
454
721
8
903
810
369
636
823
269
25
769
429
879
747
506
908
457
423
775
772
568
37
367
318
507
689
659
736
63
235
403
156
156
946
401
178
344
912
114
109
844
895
19
568
728
866
733
451
559
196
339
636
952
881
918
259
436
861
393
766
12
893
598
816
412
250
847
860
543
357
758
600
151
248
335
576
790
880
123
801
6
324
521
411
187
840
429
859
707
399
83
584
214
631
281
660
505
428
113
947
82
557
347
940
68
222
932
419
572
67
784
324
480
748
655
189
612
454
875
133
360
668
0
385
977
585
371
123
331
717
415
391
142
210
365
393
1
636
164
58
95
745
753
347
268
344
230
471
405
695
694
849
109
603
255
812
784
564
180
530
245
99
150
127
361
642
149
991
851
501
466
868
386
397
564
565
839
494
371
56
606
242
307
644
894
372
8
585
778
656
228
877
141
24
224
152
774
554
249
416
877
977
326
230
754
360
809
367
660
429
334
307
885
847
691
625
716
785
818
552
72
283
125
452
549
722
212
865
834
883
378
47
386
155
510
690
908
808
667
629
827
262
389
92
608
720
563
579
800
767
580
322
643
576
944
655
488
687
77
526
306
582
999
575
780
300
555
692
960
533
610
228
948
206
315
654
15
958
194
662
447
720
31
448
898
310
515
623
995
505
365
370
144
237
545
126
65
946
353
95
13
433
425
230
817
10
401
10
346
397
942
599
290
159
364
671
331
536
557
581
694
38
702
312
565
758
808
957
742
601
28
901
262
536
774
523
153
906
63
782
150
249
815
523
655
613
530
200
681
938
881
650
349
389
173
721
888
320
712
672
325
990
536
862
518
6
626
333
354
752
69
18
539
956
427
72
949
855
254
616
748
156
535
993
568
755
439
698
453
460
10
990
336
721
537
759
967
680
505
58
897
651
185
212
223
852
654
6
262
135
215
591
616
433
452
418
161
236
803
24
918
899
808
85
394
7
52
107
40
340
862
340
718
469
467
400
842
248
386
387
395
847
844
216
336
378
633
871
366
734
550
448
514
145
502
15
843
639
588
653
491
849
874
218
62
897
646
427
726
231
430
662
344
546
860
722
610
851
571
867
904
366
67
806
406
166
910
537
927
160
752
279
500
150
837
13
97
482
919
277
957
197
613
165
230
534
81
424
338
28
536
447
504
364
290
696
355
797
959
49
18
969
894
532
753
137
760
387
29
622
735
553
920
808
90
530
772
167
786
486
13
610
99
280
651
963
88
458
41
607
516
759
458
90
790
700
424
733
716
762
148
383
699
25
293
693
427
115
822
716
789
797
702
168
31
115
632
146
809
164
94
251
976
591
520
47
257
228
208
112
652
936
855
978
766
813
667
11
669
248
151
271
369
825
606
958
437
667
201
783
569
955
109
4
524
140
106
285
347
814
957
565
97
524
761
70
602
993
999
165
579
757
627
387
847
302
933
420
714
949
898
638
593
149
336
567
438
992
175
509
643
858
647
900
284
61
758
137
736
234
692
589
985
514
82
120
675
133
269
123
556
9
71
802
314
412
680
430
2
210
591
500
994
381
848
680
579
291
250
398
979
145
701
83
283
429
493
54
15
284
74
410
884
973
724
603
930
932
873
571
874
782
426
721
360
708
37
877
706
161
208
658
511
830
771
300
725
728
911
284
384
875
441
827
360
942
580
808
914
460
819
549
594
95
905
597
131
166
400
470
989
322
269
787
756
860
563
805
870
120
233
931
34
404
934
733
998
930
574
548
987
314
209
393
669
401
360
5
835
646
71
764
212
156
238
743
805
419
969
790
991
639
987
905
802
506
71
817
238
331
526
342
83
711
413
873
475
184
600
138
527
961
883
314
20
683
171
377
272
85
635
451
823
846
923
401
418
698
743
589
846
372
451
574
39
703
499
42
155
686
224
912
482
661
812
591
972
165
428
249
842
299
641
150
772
397
669
312
466
708
154
370
921
403
234
629
704
709
508
998
777
127
167
566
760
712
131
187
973
143
178
54
826
310
955
987
786
254
839
631
616
969
666
136
215
585
955
973
602
535
155
143
231
920
3
822
590
27
628
891
714
566
788
547
77
900
706
865
109
129
626
378
974
774
729
8
325
106
379
563
558
838
443
365
47
966
364
858
907
690
688
811
363
441
672
233
748
279
568
771
735
960
884
458
897
871
825
200
794
624
999
268
550
966
566
712
604
212
596
807
573
913
69
213
620
949
246
885
987
946
235
337
374
35
579
395
880
984
907
896
24
23
287
263
475
590
790
565
449
702
977
192
290
31
11
842
567
786
460
321
71
106
576
870
820
892
930
199
255
896
906
496
843
250
763
448
760
880
862
366
654
731
16
93
767
296
778
307
622
447
669
264
523
768
97
890
762
116
208
107
713
448
600
839
674
197
991
713
865
203
352
599
164
381
224
714
707
219
85
721
894
532
743
428
333
312
549
859
189
5
75
174
332
573
551
297
104
113
564
637
845
475
832
90
848
549
389
106
755
278
388
430
58
278
523
770
87
43
770
834
150
447
907
241
599
275
101
651
931
544
586
454
127
322
85
581
759
60
505
259
309
404
414
751
677
49
521
754
435
805
884
403
262
712
469
658
277
499
2
44
942
168
619
339
837
702
146
520
810
618
184
24
73
235
138
52
456
118
145
748
165
465
115
224
988
219
209
211
24
609
530
651
451
50
52
757
206
210
389
258
452
464
764
247
962
245
572
241
495
203
245
302
677
835
633
434
495
62
316
732
775
260
173
86
889
204
753
249
811
522
216
491
200
257
331
957
565
771
980
29
392
359
760
688
506
66
677
379
376
387
849
70
883
12
376
58
113
988
889
35
669
414
541
396
181
112
129
171
127
938
373
520
339
340
256
807
653
686
840
499
497
829
675
429
53
698
632
309
948
136
422
136
105
509
387
298
273
630
788
494
191
957
477
472
852
844
100
306
408
4
508
444
300
325
686
412
213
319
245
165
406
381
88
749
113
236
516
945
484
980
595
860
781
750
15
16
343
868
238
241
203
384
161
131
21
680
134
603
647
105
869
252
90
462
553
985
79
484
87
293
660
205
257
177
843
498
675
670
85
774
663
100
301
377
675
300
774
173
830
711
990
736
738
592
591
348
821
76
790
521
801
714
524
580
824
819
201
470
256
90
748
437
403
696
687
494
817
956
506
206
881
117
699
446
378
626
2
75
502
461
408
446
236
523
401
226
872
691
785
818
980
901
916
902
502
384
816
13
502
828
993
124
387
349
937
535
882
978
10
532
829
321
235
372
636
596
214
38
864
441
783
563
858
692
430
177
897
424
222
230
636
82
118
637
104
16
135
432
598
924
887
240
732
977
702
753
321
723
747
911
19
994
514
343
298
898
372
525
453
751
372
399
295
585
139
983
867
679
461
452
371
315
531
760
180
473
214
73
468
857
648
310
825
106
346
4
691
262
20
847
707
179
943
581
246
112
821
696
760
594
237
644
265
461
225
166
361
650
573
209
940
281
167
666
741
387
675
855
871
90
98
376
800
544
897
955
146
851
264
489
979
825
963
118
976
49
982
991
967
276
409
851
507
284
444
585
64
498
218
843
19
125
699
643
329
981
704
148
382
289
682
896
316
856
891
641
488
236
55
162
925
996
348
343
580
779
600
850
389
137
566
200
856
403
896
574
977
818
695
791
475
424
402
756
477
568
848
223
958
542
471
390
514
807
68
751
262
757
326
55
208
169
350
566
87
726
748
88
186
397
726
478
296
722
985
898
157
975
804
418
403
914
176
53
148
985
710
774
265
346
42
807
102
505
332
609
85
500
741
53
812
799
856
409
64
833
336
368
733
621
830
720
112
1
75
531
455
600
896
429
177
313
136
326
664
509
515
978
417
929
361
988
796
123
476
341
429
989
411
579
296
796
36
945
856
817
276
799
913
690
172
892
752
346
794
681
69
279
480
768
293
859
604
598
152
207
668
42
309
167
508
840
495
133
723
72
714
640
134
187
316
570
286
143
975
334
839
708
692
705
98
221
162
311
9
780
377
110
597
447
21
431
778
472
204
453
945
452
832
826
443
557
48
579
715
349
623
241
654
255
231
308
101
313
826
934
924
51
765
319
626
613
403
308
171
504
305
939
771
281
826
735
824
555
127
384
106
150
851
82
408
332
523
389
671
676
158
10
935
500
404
124
228
757
770
503
889
204
719
34
610
833
902
121
251
763
319
262
926
881
566
268
517
19
934
420
584
999
379
594
55
522
863
464
841
747
698
232
391
172
874
215
563
270
84
642
125
823
791
66
620
485
380
629
248
587
763
816
764
949
716
953
634
25
951
714
235
106
362
195
980
474
171
292
49
904
482
646
129
71
502
197
211
627
370
230
776
902
19
179
616
876
812
307
284
714
283
750
404
328
73
282
866
821
245
356
546
350
695
604
800
502
188
431
549
601
505
121
485
17
17
849
69
35
980
757
226
342
814
912
900
420
189
228
272
816
139
354
605
96
530
352
494
912
151
558
435
909
590
159
178
95
32
293
359
629
192
882
795
895
454
968
740
203
709
592
433
637
101
605
0
528
866
766
952
326
385
950
938
83
816
26
939
238
707
194
932
811
391
828
758
624
440
802
63
796
189
551
676
220
334
203
260
697
186
189
650
523
629
782
933
681
915
391
613
844
450
188
202
606
618
181
989
567
794
621
638
444
945
441
484
585
970
341
941
638
349
491
626
182
304
129
577
197
231
706
294
221
155
532
186
879
299
451
807
306
524
94
292
949
208
847
522
930
275
588
494
994
819
599
40
26
861
753
949
354
473
558
24
430
373
200
739
66
12
195
416
484
845
289
399
706
826
503
391
327
584
891
480
399
75
760
396
358
28
16
805
328
557
359
882
367
99
359
283
186
999
163
211
632
753
419
174
798
937
250
680
771
382
12
205
263
541
576
696
959
520
409
167
954
992
181
498
65
385
981
485
630
259
904
742
910
286
855
290
759
990
821
96
337
786
93
442
590
564
841
570
735
725
109
289
585
193
78
401
951
506
243
390
971
523
699
449
845
371
278
820
287
3
701
675
28
255
927
187
852
828
166
180
929
743
718
509
493
191
23
513
501
495
305
382
663
697
485
63
92
636
881
992
599
912
263
808
294
786
767
482
410
724
290
173
79
754
416
755
243
985
638
885
634
742
199
609
549
607
365
381
765
375
920
551
461
124
665
873
64
767
555
543
418
266
234
129
650
75
595
696
641
165
346
454
913
122
2
917
502
822
628
44
971
991
917
799
858
995
71
733
834
158
962
224
177
384
632
119
5
210
499
263
217
119
309
264
54
483
84
984
901
358
264
690
771
701
515
973
616
507
970
357
773
721
607
769
495
979
729
858
681
226
777
361
848
43
3
995
30
245
997
510
269
241
362
149
248
177
665
860
46
664
68
128
396
927
622
848
857
453
111
541
181
69
551
956
926
143
294
40
520
427
488
214
599
37
239
736
525
669
790
5
805
701
198
392
958
594
151
799
976
354
947
820
724
147
367
551
910
220
951
68
746
492
456
682
60
945
498
441
541
574
575
315
465
202
715
284
35
512
417
556
662
471
746
93
134
458
591
164
898
153
932
612
24
127
383
110
390
171
720
993
98
230
978
604
200
885
81
126
408
533
761
853
574
122
294
818
585
263
358
397
953
188
818
228
395
638
909
40
626
133
255
591
565
37
551
686
997
93
428
380
850
632
968
215
97
257
565
367
13
151
219
676
17
507
949
312
712
705
456
549
836
976
397
587
789
485
556
994
234
475
337
472
454
620
204
427
914
757
28
230
950
889
706
755
599
289
811
543
615
235
156
899
936
63
932
771
825
260
116
502
318
293
889
392
378
923
292
335
867
312
316
689
480
816
257
506
399
79
545
331
517
430
420
692
443
888
669
721
552
941
508
489
435
327
230
100
354
311
488
413
759
723
104
800
24
607
61
238
575
752
74
412
576
838
14
749
880
512
390
500
133
402
38
350
936
201
481
532
740
990
216
904
60
279
862
435
420
328
141
616
492
81
273
516
560
981
334
412
195
893
969
828
142
977
351
479
634
372
190
96
968
251
32
634
655
654
297
126
131
836
845
197
222
343
112
816
108
707
331
57
542
851
589
476
91
282
7
670
532
424
340
303
110
27
141
57
621
997
488
686
384
486
747
149
858
919
150
825
19
861
575
378
792
178
17
710
418
56
717
881
390
935
280
229
264
771
883
229
385
117
571
763
236
272
182
473
472
273
808
516
409
259
567
86
696
362
220
490
281
206
774
787
580
821
51
691
96
677
856
508
892
805
716
408
793
18
193
398
326
876
955
863
679
753
937
607
903
920
441
959
424
152
187
804
729
754
826
756
12
115
944
388
833
51
969
76
195
776
556
953
847
369
566
348
192
983
904
429
145
442
545
513
699
465
590
437
822
975
208
613
384
542
631
177
514
237
775
437
464
721
546
142
1
132
377
576
691
879
194
811
243
207
909
715
658
43
108
674
910
903
673
546
931
377
333
774
754
916
771
113
964
824
649
227
900
588
810
805
128
53
108
497
418
207
40
748
822
129
430
576
908
517
882
668
478
186
268
252
937
625
831
375
262
663
222
401
824
930
540
792
946
439
453
641
915
209
51
242
569
548
877
413
913
512
10
741
549
674
546
259
371
269
500
451
775
505
805
219
717
836
847
107
592
114
683
891
543
172
985
418
34
893
216
945
133
382
151
670
237
554
543
365
310
922
745
981
502
49
924
484
700
531
21
166
564
727
403
167
380
859
606
828
569
355
169
686
643
650
323
581
958
492
684
850
247
72
296
863
449
370
494
56
956
308
245
316
864
182
405
205
867
386
996
869
436
229
377
320
438
931
747
128
521
594
187
511
749
183
493
452
23
656
619
280
220
333
407
67
110
304
523
934
736
270
96
503
186
774
110
17
557
68
618
183
877
500
742
350
414
447
445
800
65
137
505
571
734
945
301
617
602
367
775
0
553
952
210
738
485
5
702
47
22
944
158
471
393
493
167
357
835
313
174
756
572
537
748
932
112
266
149
927
535
124
37
616
414
304
733
76
512
285
864
206
791
433
742
655
17
908
795
717
538
383
93
888
486
94
127
895
661
241
926
602
24
733
718
714
467
164
936
384
95
589
816
628
769
116
749
832
804
603
834
453
644
143
657
991
956
318
91
69
963
798
923
720
620
504
287
111
318
490
250
706
149
695
748
453
625
909
650
964
702
926
498
619
992
671
482
476
338
177
981
896
825
862
114
848
25
449
51
3
484
255
295
14
785
466
339
359
746
620
453
690
631
425
543
32
273
403
921
617
70
269
49
539
940
895
229
892
889
163
56
916
670
947
115
167
812
812
485
267
729
374
371
495
851
195
954
326
296
446
79
596
668
402
691
810
330
287
502
304
917
733
408
377
938
932
873
128
353
761
263
946
595
843
616
781
94
666
16
139
324
359
945
994
932
628
622
788
577
643
775
976
295
941
593
552
61
462
694
350
869
749
665
746
116
589
390
281
819
231
508
467
327
494
389
866
313
883
638
592
111
864
453
542
742
880
691
331
828
122
911
589
550
816
829
67
443
677
607
307
942
847
767
254
253
622
266
599
639
860
333
85
239
728
445
763
403
988
984
61
522
696
318
480
486
808
155
5
95
850
108
599
67
47
904
24
741
412
133
638
272
894
605
889
568
710
906
124
831
305
78
585
792
761
952
920
533
433
390
86
103
687
460
690
732
551
993
318
130
238
299
994
75
662
846
328
826
981
729
480
774
530
983
705
584
647
281
858
696
994
839
552
646
304
446
782
354
152
1
774
536
83
176
350
558
833
776
829
495
855
513
579
24
880
562
604
387
924
580
371
895
759
316
82
527
724
624
215
527
126
766
474
472
449
181
514
51
576
756
497
274
469
923
325
935
84
194
163
191
406
205
253
703
463
484
641
314
264
467
598
314
599
791
742
732
292
590
472
251
559
995
176
18
664
154
538
39
457
76
955
655
819
886
626
868
771
603
206
660
627
995
110
867
731
762
729
250
795
309
998
243
956
394
870
26
237
228
976
536
139
15
37
125
170
615
798
446
620
332
555
688
73
73
824
414
34
308
844
930
427
438
922
810
97
113
400
985
199
985
790
453
686
374
493
260
855
646
217
741
202
955
375
884
554
286
443
149
646
721
856
579
243
192
659
675
700
827
468
997
528
363
917
112
982
474
785
615
487
957
419
457
250
281
584
786
507
266
772
724
276
396
898
62
298
748
610
367
212
911
41
810
410
70
356
573
142
943
751
520
413
193
918
889
668
184
231
173
88
243
437
408
626
969
524
718
34
483
253
560
236
379
104
736
750
570
163
451
792
177
348
54
820
799
426
805
105
694
871
412
646
467
511
111
860
564
356
633
863
731
298
62
294
926
892
635
664
944
177
851
905
416
759
603
445
904
948
737
878
598
358
369
588
461
822
274
151
445
841
991
854
804
402
445
890
931
185
286
359
274
760
95
973
522
388
688
684
752
265
402
526
185
751
164
813
740
218
297
856
872
352
215
390
239
678
303
517
71
648
512
349
466
351
190
525
514
932
246
830
374
15
783
523
879
274
935
866
4
876
237
190
777
608
25
914
855
237
600
379
971
690
566
930
1
283
25
504
466
555
312
869
925
346
624
420
812
588
701
791
470
969
387
290
530
93
163
101
413
596
618
216
749
678
322
792
837
35
135
509
543
867
471
353
934
216
301
877
659
976
217
815
872
113
251
43
331
726
522
310
894
675
61
372
997
436
780
57
717
720
625
316
955
759
350
80
941
217
547
620
855
824
517
997
732
335
695
56
267
837
422
942
143
415
832
843
187
623
220
906
406
459
359
327
843
656
865
525
270
105
512
246
955
266
962
806
583
986
435
629
138
620
455
774
734
246
934
670
160
572
151
786
663
427
341
617
588
711
293
488
995
472
903
172
613
394
643
272
889
383
483
935
52
867
464
826
776
806
483
126
650
598
64
389
830
488
323
213
767
443
968
139
330
71
966
802
858
875
887
226
158
150
792
486
748
284
290
514
611
495
653
455
440
831
743
999
933
625
57
945
206
700
135
797
672
93
62
63
645
153
228
892
726
478
659
339
919
81
782
392
543
489
269
129
600
814
331
574
65
109
200
412
912
161
34
612
517
328
449
627
20
320
549
894
130
24
487
521
378
434
267
91
968
841
602
796
907
169
359
605
673
845
203
317
849
914
571
5
541
979
31
685
279
222
569
139
775
666
632
467
173
538
861
620
783
291
351
515
109
533
392
77
312
19
877
363
384
945
318
613
241
908
551
602
700
837
162
372
692
867
346
222
221
583
123
826
356
235
57
782
482
82
650
273
428
896
470
575
453
136
651
139
948
616
491
622
327
783
724
328
238
152
214
762
894
573
53
93
73
920
864
993
84
343
278
495
947
106
328
229
446
897
918
619
866
580
322
589
851
63
835
534
137
785
671
241
798
389
333
80
315
718
611
316
868
935
516
657
242
48
486
620
996
342
158
452
493
254
399
47
652
732
549
90
843
278
793
926
576
461
718
914
813
223
765
293
14
776
640
599
622
431
63
830
840
264
270
124
927
116
599
290
188
463
834
951
498
428
993
391
171
671
504
244
5
448
852
339
860
369
455
472
362
558
325
903
7
150
491
413
384
263
800
884
53
172
996
310
329
368
224
819
169
540
65
462
552
549
296
317
704
289
97
954
317
145
276
593
855
273
328
420
591
487
836
749
826
473
158
840
928
901
707
513
387
157
816
431
36
334
733
847
971
796
684
907
455
65
219
426
863
185
652
687
48
483
857
443
589
668
944
601
11
772
913
413
89
654
60
249
465
636
88
677
875
883
552
631
172
884
149
433
505
656
96
593
723
202
563
170
877
731
847
426
514
966
703
774
202
148
102
853
669
89
191
695
191
412
858
637
419
832
367
501
149
490
406
721
512
962
565
36
213
766
385
333
584
344
424
78
172
558
683
523
871
56
989
814
491
550
40
506
200
751
387
485
66
185
661
107
470
596
245
453
148
778
225
452
444
377
640
782
88
760
479
524
635
2
334
649
611
625
135
388
609
397
597
597
801
179
692
971
581
663
582
881
835
110
35
970
101
410
648
238
512
463
290
408
432
98
854
361
484
358
998
824
73
63
946
778
596
283
693
355
668
335
814
591
654
363
84
542
607
977
989
632
48
165
876
482
789
84
320
437
224
665
438
490
423
824
16
310
518
951
979
527
486
423
893
444
369
705
225
526
491
973
607
151
198
558
173
421
222
831
463
718
124
569
11
512
902
322
837
706
36
743
832
851
29
543
464
929
443
104
224
161
857
667
528
280
912
341
705
247
269
864
592
637
154
118
449
457
438
732
966
300
940
652
657
895
8
925
610
505
872
211
561
286
391
358
907
349
430
547
708
223
229
818
415
424
148
120
243
567
119
212
948
962
359
833
739
348
150
474
470
615
286
430
217
418
776
830
764
604
613
360
115
789
374
129
206
332
635
860
518
624
687
949
973
709
237
748
615
622
360
890
451
793
781
581
907
430
231
283
44
951
76
767
816
664
192
185
661
948
122
92
515
885
920
737
88
263
900
126
839
226
824
689
726
473
512
599
937
595
205
323
224
843
30
852
500
858
959
371
265
907
102
937
515
148
86
828
803
761
753
108
435
380
280
838
724
196
668
851
401
429
180
381
560
171
925
850
428
861
824
539
950
805
396
765
299
550
722
661
777
733
404
730
268
464
340
422
711
44
651
545
636
665
951
118
230
429
526
818
404
190
285
659
452
525
347
699
105
881
500
786
183
754
415
375
852
384
717
612
825
104
326
123
841
401
397
579
153
193
436
207
309
976
273
171
949
984
168
406
293
272
965
541
752
428
445
492
332
114
574
99
913
697
499
287
153
879
724
9
653
107
767
907
629
823
122
437
255
142
801
269
968
297
265
147
982
724
496
335
707
87
135
195
954
528
44
847
422
980
990
899
612
974
65
308
880
625
584
125
471
951
631
480
217
517
222
613
375
849
791
768
563
559
247
410
111
313
544
859
439
242
289
355
800
971
201
785
965
229
335
785
646
98
236
969
8
553
942
842
234
719
86
488
459
50
828
482
167
496
19
841
389
257
798
980
146
381
875
178
583
481
94
979
200
134
779
681
777
338
874
363
88
536
536
615
670
974
369
46
10
820
350
801
858
688
909
272
640
473
34
937
323
595
71
534
894
945
51
175
508
469
28
814
850
737
138
341
280
230
926
935
806
670
467
117
982
641
102
95
191
293
49
552
780
482
228
568
118
205
964
442
282
934
242
211
952
931
823
10
891
459
736
192
997
903
839
854
645
111
511
331
788
55
904
822
435
473
645
942
926
674
605
750
249
547
135
737
764
81
694
996
216
853
893
220
565
873
472
151
903
147
836
611
171
53
975
831
73
630
659
931
4
566
989
699
926
281
51
610
458
415
327
143
4
375
870
964
45
927
467
191
564
506
346
737
272
664
112
276
850
715
845
301
210
464
348
565
592
405
103
545
377
684
548
154
669
548
220
163
367
405
882
358
73
860
637
831
94
569
980
72
736
940
8
806
893
316
959
75
497
514
989
843
997
664
164
261
936
326
700
550
675
589
582
85
113
957
50
183
9
348
161
762
323
699
843
705
371
713
279
11
595
259
447
614
947
8
273
303
746
827
681
924
441
317
545
701
414
499
425
445
229
554
255
824
667
149
964
174
944
509
433
292
693
684
416
741
565
95
953
988
79
791
61
674
956
525
608
625
934
768
823
908
500
969
122
244
187
533
544
451
442
545
112
175
105
943
36
53
872
713
571
79
513
420
510
98
395
858
129
297
808
644
942
13
941
131
984
229
859
692
328
931
549
454
627
573
352
940
647
275
46
133
967
824
992
295
684
450
443
887
393
255
840
544
879
432
68
380
664
554
15
789
215
876
818
222
626
75
128
2
59
173
405
251
505
534
940
991
798
308
713
676
848
4
102
886
691
320
137
434
646
274
47
235
403
202
864
76
167
436
516
859
114
125
925
993
24
194
436
694
317
263
590
885
32
56
375
908
397
429
102
839
135
79
907
555
735
233
258
941
27
769
157
826
801
544
331
677
186
764
908
760
829
780
872
839
887
254
847
958
652
990
782
430
602
485
832
527
934
375
584
765
106
726
530
343
506
401
336
800
973
531
547
175
219
626
614
596
894
941
194
457
700
872
183
382
761
975
499
501
550
40
647
958
778
873
750
115
545
530
69
766
784
218
697
810
981
429
493
53
12
133
500
253
560
22
635
438
76
726
521
463
137
646
69
197
849
905
426
852
10
66
37
850
915
466
42
136
980
195
132
572
246
781
582
499
766
486
278
926
927
457
652
96
392
762
212
303
898
234
943
813
507
482
509
369
333
384
562
855
834
864
804
716
929
127
416
165
219
201
647
296
507
562
146
278
276
551
313
115
883
417
761
736
264
980
600
974
999
386
981
190
331
307
527
851
885
652
965
414
710
707
420
819
583
754
727
119
9
313
600
734
249
897
786
108
36
952
959
278
886
843
339
763
46
570
603
140
187
244
592
526
900
804
846
687
28
44
679
560
778
277
426
866
438
9
16
151
65
879
509
699
538
810
293
455
898
232
450
516
496
55
791
940
840
996
973
896
50
265
677
789
865
76
776
875
660
377
243
97
583
405
531
286
494
64
415
149
125
49
965
580
793
354
891
129
724
570
900
903
288
252
429
238
518
779
716
929
250
634
43
809
423
248
793
446
34
96
656
228
282
389
864
769
334
428
996
530
939
196
55
595
263
479
445
257
757
128
986
81
529
563
279
186
457
668
374
233
546
284
984
890
909
415
290
114
84
977
976
845
131
916
177
339
591
782
509
82
227
927
975
733
667
158
277
495
358
160
998
53
836
843
919
849
536
420
925
567
517
235
458
879
52
879
132
467
66
156
698
214
174
643
240
688
490
374
463
125
115
723
162
578
535
673
475
248
380
851
292
616
399
384
702
129
479
59
22
736
287
586
423
106
103
184
373
163
633
26
585
676
899
428
30
849
707
464
654
832
830
578
469
475
925
213
545
599
953
513
614
93
780
393
197
96
810
909
606
770
500
690
676
224
22
917
904
902
454
339
881
910
209
878
307
282
279
547
573
558
478
375
50
588
619
505
815
954
429
620
876
376
999
268
639
59
907
700
573
390
110
642
540
620
826
416
277
812
188
860
509
838
548
625
39
508
350
270
759
782
998
90
64
581
330
245
584
697
570
874
428
702
423
562
916
934
482
913
772
242
881
765
723
622
820
734
581
304
642
842
189
804
243
565
768
232
501
849
289
789
480
269
135
284
442
396
793
623
217
109
804
899
697
811
543
335
488
409
640
38
153
853
222
487
66
664
433
104
634
366
696
888
883
977
142
617
676
231
173
275
372
48
530
550
210
743
73
26
353
98
71
201
573
161
961
70
361
550
523
708
554
100
15
772
157
638
735
554
92
40
442
665
67
492
557
909
465
603
244
104
840
858
701
459
746
648
403
339
971
260
539
7
258
63
739
371
12
678
720
169
336
119
365
601
341
178
643
964
781
989
29
697
577
608
291
621
271
389
457
779
847
968
659
95
91
777
894
442
33
53
64
899
952
242
234
879
658
297
188
163
584
955
974
301
718
757
129
460
613
137
755
271
49
998
397
662
209
205
3
55
205
701
186
673
431
416
555
188
618
596
374
402
821
959
413
759
806
528
53
308
710
151
751
916
351
255
305
740
806
226
106
867
292
116
173
39
373
14
202
173
601
441
671
621
814
241
923
795
223
64
669
416
704
771
754
413
42
599
973
470
389
185
227
228
73
762
840
10
165
235
734
446
100
98
980
752
567
912
739
250
370
609
816
667
825
272
232
508
488
703
508
512
835
855
648
625
219
443
713
61
416
838
490
718
604
576
973
900
434
19
593
688
652
534
998
444
333
900
146
366
545
332
222
520
319
614
415
506
909
884
614
42
450
636
745
42
563
763
420
294
585
953
165
972
201
620
662
100
444
639
618
866
233
220
124
40
257
847
638
503
848
685
22
405
777
388
220
647
962
100
149
746
721
634
609
274
693
981
6
173
297
206
478
367
372
453
652
777
878
17
623
88
652
233
714
153
620
312
10
763
465
995
412
760
553
567
706
395
814
999
908
841
88
740
869
972
174
258
659
12
849
903
114
626
916
266
544
91
199
327
668
648
310
958
642
293
349
375
13
727
516
828
671
86
612
659
557
170
980
650
907
455
804
950
251
776
786
972
903
44
705
400
196
492
969
481
268
293
377
472
695
20
788
583
270
215
367
691
823
50
934
474
151
191
836
781
56
130
120
0
785
447
540
487
751
906
937
922
541
930
129
600
455
449
99
591
245
311
296
771
542
293
156
354
822
30
260
249
676
499
70
594
796
308
49
308
405
45
631
550
702
15
779
0
568
878
45
960
181
733
957
299
663
186
532
169
303
742
790
468
15
72
833
331
310
809
652
0
381
799
870
369
385
564
374
141
807
284
745
550
23
411
874
738
403
675
394
362
343
920
970
764
408
577
244
517
593
462
575
8
276
441
958
640
485
875
717
540
139
839
146
8
623
433
195
850
877
815
967
244
911
32
458
927
822
916
659
476
871
806
377
73
616
215
560
436
281
873
479
860
245
286
148
744
522
448
129
456
18
789
85
904
275
840
416
424
828
78
147
107
42
841
147
54
609
813
906
122
855
29
387
446
24
689
189
105
481
512
264
245
627
338
433
632
583
30
306
559
2
253
621
292
937
284
11
656
947
200
499
851
265
495
21
292
269
964
124
903
745
911
410
805
101
73
856
77
199
827
783
505
454
847
386
437
139
99
193
919
860
139
613
98
736
942
453
701
961
13
918
198
868
856
291
140
756
57
721
78
959
195
112
921
684
430
530
650
166
54
109
188
867
150
482
786
831
298
774
830
148
378
378
182
773
264
47
779
805
309
772
475
916
460
333
393
778
69
439
597
935
293
95
509
969
433
934
56
485
862
113
508
9
173
320
810
823
689
645
317
417
728
543
992
13
672
721
672
181
411
182
712
483
809
921
842
662
286
10
84
599
977
467
212
124
378
657
680
746
262
147
223
53
910
536
669
349
91
420
2
618
464
768
874
126
543
915
597
516
195
393
280
29
388
599
176
284
725
728
187
757
648
452
421
818
491
241
564
567
801
847
152
316
913
954
288
641
749
501
899
850
218
73
941
603
974
491
314
433
250
603
975
487
437
719
88
399
602
202
20
612
121
214
54
976
489
925
761
136
58
858
962
397
916
458
14
931
231
826
465
943
285
654
468
67
871
425
368
404
954
90
371
720
178
943
103
600
621
935
377
594
560
7
51
888
341
232
855
714
394
696
275
216
845
530
866
691
163
212
807
209
162
320
468
633
38
683
603
85
220
686
445
75
430
15
668
351
7
158
794
788
541
156
868
803
93
646
495
866
879
832
328
598
585
870
927
944
141
934
936
329
313
343
210
0
559
333
874
788
69
731
873
684
490
947
567
773
335
719
281
878
231
576
301
467
236
747
979
88
168
85
258
668
823
476
221
589
97
528
752
909
627
500
589
170
941
349
420
39
797
481
128
975
753
246
149
929
73
916
869
518
217
480
12
359
166
241
152
580
623
814
58
14
665
863
789
353
380
744
383
762
403
445
866
287
597
0
573
803
364
538
914
513
4
567
693
382
201
971
370
587
780
143
166
395
444
322
745
768
787
462
461
328
424
636
850
895
578
237
948
961
184
227
979
443
612
284
654
383
289
246
66
101
752
371
541
204
377
291
247
36
799
3
259
122
907
571
19
788
527
908
448
958
44
145
992
343
4
129
406
216
464
791
697
625
496
89
656
672
130
505
874
188
539
529
540
201
234
78
824
337
217
87
447
138
621
620
781
825
557
898
604
580
167
292
431
650
213
725
577
759
626
688
70
904
504
957
681
378
897
56
348
813
742
222
271
958
163
74
84
568
472
685
151
318
842
254
509
916
3
488
869
442
277
341
312
620
123
268
459
832
179
797
872
123
363
840
678
378
640
537
396
927
298
658
668
358
892
746
795
687
993
623
420
11
528
96
153
89
779
116
873
136
93
200
69
608
255
124
939
988
450
114
739
368
853
989
348
45
516
916
511
759
79
329
850
742
621
441
291
596
798
892
430
0
682
306
72
477
402
665
855
625
226
986
154
758
607
813
55
60
698
997
758
521
992
212
692
237
568
667
102
255
130
462
588
36
176
662
514
776
391
712
762
562
942
614
790
726
162
433
692
268
612
553
984
880
373
406
499
298
70
758
16
1
356
629
104
3
365
250
207
191
226
896
673
383
884
783
14
97
102
464
7
867
125
701
250
620
217
794
792
734
797
754
225
532
794
452
486
116
776
374
468
682
560
148
845
542
737
153
984
24
611
493
222
470
120
560
678
253
762
800
648
709
456
301
26
827
927
413
567
345
702
935
98
254
896
474
415
498
800
564
163
958
891
564
763
892
625
597
919
849
997
962
749
665
468
79
774
747
587
541
423
972
47
881
734
393
651
344
365
790
907
454
871
367
266
390
884
269
359
6
693
110
232
881
492
56
174
481
230
560
600
229
247
216
9
58
537
276
847
886
825
201
341
123
391
528
478
904
493
25
425
937
733
95
478
562
736
201
471
962
99
385
463
151
611
612
246
883
803
866
144
215
648
793
385
732
674
293
233
8
141
769
165
897
739
26
373
61
503
730
979
344
994
115
25
152
818
893
443
322
700
960
167
486
367
176
863
907
828
726
149
101
784
673
171
795
67
178
185
932
69
748
890
403
113
947
193
300
775
791
116
79
562
537
791
830
834
487
908
947
346
790
992
142
978
680
176
280
989
173
503
979
383
222
520
92
521
289
268
831
11
513
883
668
350
42
508
570
107
906
512
215
650
27
226
915
89
759
149
705
745
252
198
884
533
271
724
807
781
330
455
330
708
63
661
489
297
936
280
588
810
231
829
245
751
628
705
854
183
903
871
247
448
697
327
546
198
952
278
822
510
533
222
780
583
465
271
74
635
520
981
482
238
992
827
57
831
921
154
738
579
503
125
378
95
925
425
998
452
417
831
210
471
330
783
785
522
751
76
793
602
580
415
533
592
268
915
44
92
319
663
502
598
8
184
664
994
968
832
336
223
766
407
606
721
758
312
278
210
10
552
499
70
231
747
619
714
257
340
854
344
491
385
220
493
620
511
943
361
232
578
354
906
192
183
451
901
18
468
954
221
384
605
297
996
278
676
962
967
777
677
37
97
75
617
349
235
123
642
210
773
248
679
770
174
125
422
943
34
848
584
261
15
552
635
455
390
611
104
536
535
995
247
983
715
149
134
362
329
454
401
653
131
563
23
497
136
738
307
243
575
849
432
514
363
829
384
104
827
837
458
584
156
989
478
614
908
188
430
258
888
633
353
381
958
807
315
658
571
981
605
977
950
641
887
776
231
76
323
586
812
467
36
123
409
290
739
342
747
122
722
13
56
572
798
586
640
211
599
288
641
752
585
833
952
525
285
780
314
527
584
839
926
691
374
841
638
962
378
99
447
678
530
397
387
147
868
547
993
810
115
242
443
234
764
424
835
451
928
96
151
646
432
567
345
58
241
743
374
279
520
233
365
587
940
136
925
922
528
631
604
442
826
867
11
171
608
558
112
931
287
938
267
667
772
600
813
930
560
833
564
983
822
744
870
391
2
508
770
685
58
403
859
487
225
77
100
808
415
334
450
601
992
116
283
74
422
218
387
21
796
501
580
64
712
626
44
547
382
753
667
90
567
358
231
738
520
975
751
628
872
705
495
209
200
135
749
290
760
451
606
831
416
875
406
421
949
326
842
689
781
942
827
703
907
613
772
145
188
952
678
145
30
534
903
645
288
720
126
358
391
38
231
604
334
89
171
82
893
882
954
995
138
168
666
15
895
966
128
607
946
640
87
355
969
879
712
352
435
537
407
293
560
629
616
652
699
262
995
144
652
147
650
534
185
891
601
44
290
168
28
50
960
323
564
482
288
556
968
227
236
931
919
512
303
688
482
263
497
672
686
741
380
513
273
827
393
959
230
298
37
354
645
182
226
220
799
434
222
6
795
130
462
284
316
968
579
319
96
433
24
955
11
816
978
582
444
173
647
330
105
937
37
994
105
162
98
96
602
128
19
401
308
306
686
895
163
403
258
485
633
315
41
495
747
4
267
302
865
579
58
125
690
711
629
537
575
687
141
303
486
956
988
606
70
826
459
202
832
922
17
167
773
457
247
57
325
594
341
899
899
511
763
401
343
625
294
234
672
853
823
168
928
854
65
592
179
992
895
202
960
611
719
51
624
272
969
329
463
406
359
366
663
712
90
144
862
164
668
757
616
712
245
334
828
897
400
202
722
923
323
323
770
956
922
496
186
790
377
186
915
952
587
830
188
67
237
440
509
389
745
866
545
957
359
951
10
433
180
760
525
928
602
979
827
877
905
840
463
511
885
648
719
16
957
409
842
704
426
354
944
380
208
259
731
6
94
404
590
930
261
675
407
760
902
753
933
179
964
10
230
834
458
460
959
906
219
366
144
264
442
750
334
843
95
301
764
695
226
118
759
469
280
796
858
412
585
259
776
312
562
439
117
856
345
42
733
60
114
866
758
889
118
962
783
695
984
919
370
313
399
853
698
692
306
114
267
48
83
408
475
424
35
341
365
293
601
490
132
265
480
689
250
660
283
233
624
28
692
60
363
863
599
547
778
669
797
637
243
945
845
366
658
338
317
480
857
232
29
904
436
513
704
546
226
439
483
229
760
605
486
584
148
706
308
927
380
550
881
475
169
899
287
961
938
421
128
168
467
798
533
748
437
493
589
698
639
968
860
434
329
814
519
801
272
159
264
963
518
281
545
434
520
512
524
983
506
252
10
62
637
376
244
736
602
550
214
21
763
619
248
467
20
848
241
856
182
96
303
167
869
588
564
507
9
472
564
231
360
286
329
112
388
656
512
682
640
942
981
57
112
248
104
854
474
83
910
127
386
247
44
175
317
728
23
831
517
581
597
71
908
753
571
75
672
733
752
350
447
148
119
208
708
399
295
88
303
461
462
125
764
676
222
446
304
405
108
827
840
187
972
100
875
391
644
898
727
16
491
45
88
751
330
515
705
310
279
461
998
589
150
293
755
660
966
517
636
330
124
743
139
173
729
172
363
285
170
294
822
68
729
170
748
653
78
753
398
363
701
802
298
362
398
667
470
203
167
214
969
790
645
98
209
278
550
976
994
984
46
284
997
342
795
991
992
551
456
686
845
64
315
411
628
388
130
711
823
320
779
489
96
184
565
119
225
573
663
831
710
548
328
280
365
105
633
897
633
454
752
433
67
582
399
751
416
106
534
61
587
462
778
902
820
815
653
450
258
545
708
931
107
833
464
181
611
796
69
379
76
60
661
189
564
825
968
989
630
12
987
922
945
112
3
122
565
824
423
324
216
197
0
181
227
624
224
959
812
920
282
565
529
614
98
611
51
194
860
974
529
463
583
932
379
176
690
945
989
473
600
703
474
164
298
866
967
853
142
92
918
778
31
651
961
357
375
854
403
559
892
131
876
662
626
407
831
936
497
147
375
758
423
455
456
639
615
524
960
62
423
1
344
383
780
531
17
649
827
683
787
338
484
355
494
958
176
54
523
294
720
653
145
780
774
254
617
628
669
841
693
637
912
471
275
928
63
687
699
806
661
957
669
217
453
291
56
900
427
468
932
359
208
503
245
502
194
571
114
860
852
247
96
20
674
568
324
442
222
805
458
739
483
141
81
375
337
167
645
365
219
133
368
75
440
883
80
298
811
848
324
198
870
827
808
479
199
789
271
963
193
338
238
322
347
755
91
43
452
355
381
7
957
19
775
751
646
487
360
545
598
843
312
995
671
895
954
429
41
422
261
768
201
647
904
924
346
816
143
365
494
778
142
543
193
333
983
992
872
437
999
410
289
29
730
358
498
809
402
351
994
735
616
184
751
951
221
353
252
537
732
935
410
253
554
547
141
507
170
908
511
644
761
363
97
8
339
889
245
432
494
427
600
463
859
897
591
15
623
839
706
688
316
626
247
217
445
478
461
566
42
657
405
753
922
784
34
770
116
180
863
291
491
899
817
84
760
419
848
759
621
627
426
882
242
20
163
26
824
414
34
174
426
562
436
564
700
612
231
689
667
970
30
155
111
926
900
47
252
498
476
301
298
514
10
596
74
716
158
569
886
379
832
984
213
400
120
194
628
37
248
10
219
836
430
13
230
193
550
131
468
233
739
926
606
471
872
645
11
359
674
139
321
535
536
81
6
695
938
178
275
486
181
438
171
139
194
644
578
363
838
757
15
53
428
600
359
382
352
302
890
816
404
224
875
519
341
474
914
789
690
878
642
889
263
12
570
893
166
198
905
840
785
64
551
971
443
517
418
364
643
546
785
381
317
272
158
651
621
997
422
133
780
840
886
73
653
258
272
913
389
155
378
443
3
428
529
508
370
298
294
160
551
660
340
710
671
420
702
559
113
140
957
875
697
704
658
820
797
591
421
922
942
542
92
119
683
129
5
244
108
944
891
631
297
644
663
543
237
136
197
227
262
908
521
642
961
838
914
734
357
449
246
814
856
669
900
717
708
224
681
819
784
984
81
278
650
991
508
431
756
842
297
744
228
794
992
522
195
651
353
9
16
339
561
283
871
59
221
614
916
658
384
189
841
430
378
379
731
475
102
668
55
467
882
94
667
407
320
774
290
335
73
919
859
764
126
86
98
474
738
85
345
972
813
280
128
762
472
165
747
253
672
754
783
699
684
717
829
263
393
576
47
943
559
522
514
208
566
918
657
113
537
628
179
147
609
613
496
823
820
6
463
506
680
403
275
922
620
130
495
424
21
873
435
154
463
216
361
535
373
726
864
432
818
281
229
461
258
867
980
245
271
628
812
426
0
141
303
508
784
545
553
343
698
327
476
717
104
581
335
984
191
80
502
525
331
969
915
197
693
183
140
998
55
814
938
344
711
249
315
82
623
931
528
962
520
665
530
404
303
246
623
581
671
688
813
603
861
143
605
439
487
690
795
78
714
183
994
306
480
707
607
696
242
316
373
215
562
440
793
423
75
732
19
658
141
860
48
595
724
437
642
879
369
143
820
361
646
36
983
512
6
154
612
218
919
721
987
250
69
492
721
104
835
690
118
812
272
229
752
719
897
250
584
332
137
201
38
546
161
258
728
285
983
406
774
884
449
8
959
449
331
514
654
424
650
976
942
887
702
12
266
846
682
522
912
209
338
656
297
46
261
562
943
44
98
734
455
827
532
438
982
167
139
355
883
141
971
409
251
662
364
530
445
904
727
802
708
881
235
91
924
294
569
113
117
786
546
355
80
153
218
474
612
930
562
913
227
465
132
151
688
814
621
435
643
127
300
519
682
144
697
877
739
712
32
234
535
882
922
623
889
419
573
168
816
731
958
919
646
28
858
406
550
179
143
706
253
150
68
488
605
835
331
493
246
982
700
643
596
993
451
913
429
405
678
882
36
12
368
273
395
450
34
238
612
564
644
605
596
203
296
983
289
379
845
358
728
734
796
498
824
351
56
487
761
832
559
107
614
520
535
137
661
308
876
957
397
947
413
61
327
884
366
36
471
788
775
263
28
969
799
926
907
553
93
136
840
234
465
390
485
943
414
341
436
710
371
922
943
498
9
115
567
888
137
627
529
638
247
516
255
834
152
782
72
516
992
207
690
374
857
317
333
66
164
620
821
255
156
447
844
252
287
236
133
753
619
979
371
521
667
50
515
306
2
175
218
334
113
279
187
963
294
886
577
407
911
547
115
740
254
69
400
383
844
858
807
380
233
581
804
181
512
228
749
559
357
954
263
554
800
971
307
954
714
457
279
553
719
502
248
653
302
620
14
3
795
230
443
63
373
39
684
810
943
382
274
889
345
318
460
90
29
639
351
24
700
885
93
295
484
343
644
972
643
649
862
228
614
423
963
736
581
909
999
533
252
722
556
785
367
561
762
85
151
802
854
317
688
818
89
237
609
695
480
367
665
235
228
25
353
486
630
380
181
651
727
473
814
316
452
358
411
712
155
511
446
911
897
202
556
481
276
56
845
333
524
716
702
153
781
805
651
711
391
996
734
682
219
786
654
363
212
172
934
351
620
563
290
886
716
598
473
117
620
876
840
156
476
306
743
337
159
969
69
851
726
945
435
665
171
741
214
681
303
806
491
604
553
345
121
946
564
256
903
466
394
713
861
55
38
317
476
174
554
876
488
174
984
428
165
44
397
686
411
700
440
894
728
568
257
122
404
201
119
907
39
113
744
843
261
416
952
562
50
846
91
737
673
130
797
132
284
247
257
544
481
351
287
782
147
101
104
43
884
372
704
241
859
958
149
229
579
538
476
729
266
631
984
180
274
981
237
721
731
173
219
363
348
399
937
51
882
208
465
240
607
18
580
81
366
342
209
149
811
939
650
640
993
388
330
683
110
545
382
449
431
99
904
232
359
741
619
840
774
45
608
570
766
241
931
358
542
658
570
556
758
892
212
170
212
893
785
263
366
730
132
983
734
187
462
954
983
632
986
182
977
924
233
728
454
711
790
666
877
859
93
723
704
37
259
957
676
688
470
516
333
417
408
782
964
640
220
628
174
587
721
708
987
859
79
973
2
890
507
230
930
674
653
264
152
644
692
997
782
671
94
206
642
366
853
734
462
28
625
77
654
179
963
248
6
76
210
392
29
693
187
616
915
72
908
413
292
204
160
48
559
341
345
183
110
549
888
456
801
158
947
975
470
474
486
243
916
285
272
361
309
742
635
5
583
116
331
88
496
648
816
577
609
300
884
713
121
215
45
836
500
486
928
309
398
28
379
750
608
389
45
407
361
605
974
686
981
206
22
169
792
999
472
147
126
870
415
562
780
473
588
901
874
253
438
660
159
16
303
908
868
732
694
705
365
410
517
285
706
126
991
160
345
722
946
210
524
966
428
266
213
944
90
545
426
713
411
279
378
977
271
162
411
912
367
92
865
886
555
608
565
38
765
652
401
967
582
739
906
125
747
228
990
998
557
348
839
844
952
703
876
903
760
686
292
91
787
246
956
230
796
787
930
594
968
529
618
488
978
83
658
757
350
902
927
955
536
864
920
333
752
618
970
641
458
828
569
823
553
553
23
654
165
321
763
323
713
647
783
293
257
731
27
527
914
188
42
208
173
231
703
836
750
797
626
144
670
751
609
695
215
942
64
780
661
843
636
682
366
664
978
406
406
415
170
727
511
522
508
136
221
182
127
844
635
349
235
157
649
56
294
389
319
409
463
140
371
20
581
823
219
295
628
591
334
792
454
826
621
672
556
733
648
615
983
861
929
189
455
291
863
740
455
245
417
911
785
568
343
132
88
223
463
759
55
430
519
522
332
926
448
91
620
71
663
859
500
906
759
319
260
719
117
228
154
435
153
913
946
847
256
963
580
152
118
199
437
339
69
397
933
647
901
926
850
153
945
105
464
737
646
623
293
897
907
186
962
479
351
660
48
97
523
733
350
135
595
90
154
341
988
99
703
671
180
598
998
240
222
718
7
564
747
98
945
31
677
451
613
135
287
257
684
773
39
442
433
843
320
343
308
493
187
43
220
79
1
544
253
946
930
463
191
175
470
282
145
198
547
58
340
463
843
411
447
756
871
867
349
39
330
142
256
441
527
474
379
126
217
11
983
188
756
493
137
96
354
649
581
585
756
903
851
931
933
775
534
442
429
599
363
174
179
402
628
970
390
505
362
848
232
889
267
870
905
120
489
192
185
868
813
896
335
919
785
191
238
200
792
621
972
392
798
892
620
965
433
438
31
306
697
439
272
297
973
411
444
54
841
367
935
474
693
356
276
10
646
274
616
124
619
716
127
602
451
145
391
774
614
495
508
534
714
850
371
588
521
171
213
303
621
100
519
311
380
34
354
859
218
375
723
219
683
291
80
238
268
948
126
754
435
289
330
136
980
614
350
299
199
997
367
559
403
523
730
327
164
705
540
655
943
108
125
304
695
15
375
351
802
754
773
844
637
492
776
195
988
732
454
942
655
321
327
998
181
799
543
789
35
429
960
708
511
905
375
13
434
513
617
708
865
916
126
159
604
546
253
417
128
665
392
778
654
410
711
322
513
900
291
607
222
150
275
369
378
284
402
910
291
583
499
183
504
395
508
901
328
804
1
680
539
27
623
19
711
62
631
555
64
659
94
118
252
48
683
127
342
659
997
237
29
871
409
164
131
387
205
940
544
693
287
52
413
959
538
627
604
571
572
195
72
498
212
228
297
696
615
733
88
350
221
225
488
598
742
815
99
746
935
704
886
984
569
988
876
976
570
967
456
772
366
177
376
611
998
814
733
633
387
511
78
153
808
853
736
111
174
546
407
796
600
561
851
818
114
923
61
688
86
437
718
365
310
791
522
623
423
234
586
462
793
795
298
187
818
873
39
973
990
87
729
516
342
765
980
91
132
750
350
258
235
521
29
908
668
162
174
138
164
392
560
999
882
666
677
175
348
187
58
738
258
275
510
30
782
679
552
770
212
972
105
772
475
501
436
127
316
129
928
401
293
418
558
183
674
585
270
470
164
40
169
983
477
315
483
527
204
296
569
115
669
352
962
531
247
911
660
338
275
665
853
12
963
586
281
756
814
659
131
390
355
488
989
92
664
282
905
674
472
669
862
516
428
152
41
417
958
704
223
475
108
820
552
421
17
472
890
941
894
141
629
55
777
688
476
93
692
796
553
291
631
286
955
186
743
462
62
84
84
774
221
822
482
269
874
879
473
843
416
675
505
734
995
797
72
711
918
31
244
2
198
14
593
240
500
228
566
481
983
115
614
336
924
426
724
835
601
578
792
201
836
843
936
646
230
927
717
568
760
728
660
388
522
837
188
655
735
149
705
624
413
877
992
100
747
943
752
101
911
385
244
931
80
627
873
149
816
806
653
7
286
919
172
115
155
78
974
832
338
360
735
607
719
152
180
39
485
688
364
640
806
190
224
20
888
683
11
608
848
529
167
397
688
494
960
893
120
204
530
203
8
683
203
498
276
764
99
732
464
261
677
767
447
961
504
757
502
381
276
165
603
785
334
386
346
45
665
694
929
346
83
756
394
431
642
303
754
900
255
680
870
408
888
648
96
563
894
238
186
716
302
557
514
342
289
958
838
843
366
681
179
990
504
560
406
290
411
304
869
891
426
185
27
323
210
611
293
284
717
740
61
912
937
599
261
30
583
431
714
741
551
909
770
553
6
405
100
549
830
878
529
407
247
384
249
517
518
108
10
415
321
545
349
843
797
505
899
622
663
508
259
586
276
987
439
594
812
316
865
757
653
685
984
16
687
467
822
245
392
867
740
823
716
910
486
672
315
110
587
59
324
873
426
946
314
87
111
439
185
960
445
518
391
29
611
381
156
129
40
777
431
764
377
937
676
941
104
45
822
71
164
485
978
378
603
672
467
414
399
706
434
498
909
684
93
392
767
173
676
414
346
720
997
114
270
635
943
750
238
399
219
998
862
974
137
587
303
782
259
649
291
678
797
848
626
538
349
804
103
846
33
366
66
48
702
712
738
338
318
478
290
405
94
774
248
990
803
518
832
489
829
869
295
905
666
134
495
646
886
805
970
345
31
207
929
171
264
501
121
794
162
341
277
163
146
200
98
365
827
565
278
259
311
514
253
984
242
69
612
679
274
412
885
642
487
331
692
21
256
712
260
582
51
279
653
274
69
189
306
14
690
436
437
490
286
309
518
267
218
768
721
96
723
74
402
9
848
513
831
493
168
622
225
580
899
3
908
984
289
768
175
139
703
830
814
88
480
610
814
824
948
504
152
678
570
213
480
9
351
806
587
849
660
136
6
776
608
36
834
321
698
770
739
32
823
723
141
293
197
193
575
508
884
481
214
202
996
8
237
259
816
448
358
568
890
570
621
648
685
586
614
949
672
848
832
744
912
300
56
308
841
199
612
403
842
852
918
919
576
737
755
57
808
784
960
635
461
35
337
224
128
79
2
139
195
188
926
523
917
847
948
94
961
471
727
182
141
68
607
559
95
869
680
727
137
878
440
863
2
96
96
832
2
649
314
181
88
405
675
757
7
969
585
479
704
556
550
436
892
110
606
539
872
699
862
318
417
666
796
958
793
331
128
67
134
358
145
983
10
213
21
234
961
490
949
106
669
804
890
211
72
863
402
911
242
949
259
225
7
7
835
212
476
320
551
647
207
951
890
914
973
715
189
116
387
869
32
401
732
978
758
391
512
536
841
8
310
490
685
596
236
1
91
716
853
770
984
335
918
31
558
454
463
88
224
69
786
860
761
439
926
3
450
973
520
215
108
144
687
420
310
796
6
962
920
930
387
204
141
780
105
275
438
301
485
228
346
301
694
326
482
279
42
260
865
512
408
523
399
284
182
313
894
637
422
54
358
403
918
750
836
183
621
104
270
875
602
281
451
901
103
480
730
281
20
21
286
40
514
616
760
58
234
983
378
31
500
204
666
422
532
888
261
951
546
614
908
103
705
594
200
731
794
635
153
513
988
807
36
974
125
873
71
82
725
655
796
953
531
67
692
924
685
957
510
488
351
671
633
558
477
647
780
513
161
131
36
721
716
838
29
233
319
960
155
232
845
255
395
281
897
790
775
925
222
157
932
635
183
406
640
695
796
386
521
732
555
15
338
328
297
144
271
396
949
115
659
532
347
287
820
668
769
727
804
492
137
880
115
890
995
933
416
486
44
565
805
218
951
474
394
622
600
696
28
800
796
171
46
196
638
489
1
975
985
170
547
676
752
696
937
519
403
134
4
40
87
664
280
882
619
709
940
463
817
386
172
242
900
979
679
63
132
741
410
211
687
929
4
5
346
561
581
810
354
579
929
376
669
456
438
134
589
4
470
234
323
951
429
596
71
753
248
68
733
998
626
406
521
610
222
534
285
349
52
416
893
992
857
513
882
629
865
522
629
792
165
556
370
873
571
374
154
375
747
616
826
451
91
148
283
622
690
36
686
572
64
965
174
920
193
26
785
797
421
769
816
973
275
382
651
495
852
114
494
789
664
116
689
452
50
934
490
159
588
174
389
858
463
417
687
13
890
434
578
959
913
76
710
111
522
287
314
307
627
156
132
866
601
879
693
172
211
735
837
474
257
616
624
162
116
817
85
658
326
211
145
487
143
808
879
288
761
586
335
160
781
889
675
879
49
289
81
762
138
411
539
153
409
944
752
471
722
699
176
37
421
804
574
28
844
296
945
791
805
689
659
806
982
370
467
554
942
282
880
32
871
332
235
460
905
462
983
254
938
303
700
554
90
745
774
989
640
134
994
758
811
466
986
828
41
436
791
362
283
230
676
135
186
187
225
792
542
418
973
267
512
409
483
309
569
502
772
153
686
496
808
213
635
880
420
164
566
578
480
918
52
970
861
860
499
735
351
285
986
225
132
793
962
307
610
648
139
547
349
150
390
228
483
541
994
226
249
112
559
455
731
469
967
179
288
731
925
54
773
910
754
416
951
189
76
906
790
779
364
342
181
150
460
964
994
902
54
228
670
319
658
488
778
76
866
862
463
587
476
446
976
933
464
931
533
214
397
421
712
577
116
843
244
9
480
111
385
103
139
182
792
64
556
309
458
972
95
690
224
175
91
268
200
694
254
913
427
171
303
4
240
396
358
465
974
123
30
681
856
127
685
753
130
366
775
192
907
463
768
442
149
381
301
2
561
813
438
0
549
209
982
314
161
978
54
556
909
697
152
697
174
774
861
328
634
50
76
628
13
501
269
585
728
606
214
779
448
145
776
220
583
926
369
614
613
55
325
622
139
991
251
621
859
621
243
221
161
555
68
972
494
600
537
687
176
771
127
430
444
925
547
796
377
624
181
831
724
399
679
77
926
387
856
526
936
573
93
905
285
121
406
96
10
90
906
48
697
470
482
499
286
298
575
575
314
636
690
614
816
55
25
670
508
596
262
843
835
410
938
268
654
417
547
1
768
752
341
990
109
263
503
392
663
73
658
641
40
769
515
247
165
35
913
25
277
85
135
268
324
667
765
271
608
181
809
764
719
51
226
312
463
261
818
385
549
45
640
553
65
158
436
437
164
815
618
396
392
55
720
591
274
875
942
647
21
190
582
254
292
350
97
725
185
660
630
367
436
651
198
14
791
927
251
851
341
115
698
496
330
412
18
422
246
629
697
9
609
798
757
885
969
530
345
883
764
446
103
423
269
923
261
7
343
73
465
974
394
101
945
75
527
883
567
804
109
391
82
554
72
103
313
198
804
663
672
118
622
667
98
927
571
453
178
700
34
975
278
839
15
414
74
695
587
967
525
521
980
958
774
354
287
962
816
24
92
298
974
102
471
668
980
486
101
441
193
27
236
682
786
231
719
25
636
878
881
59
743
879
946
107
249
411
581
449
563
488
386
680
940
983
374
380
447
367
511
995
342
13
327
440
542
43
992
180
242
810
777
340
438
45
83
144
480
345
356
78
311
247
397
658
398
467
217
902
36
456
925
402
923
381
652
65
64
569
570
319
725
968
91
916
956
594
284
483
913
792
878
565
521
361
148
522
456
537
242
973
470
827
993
508
326
360
411
982
522
507
526
410
328
514
658
759
251
761
449
443
681
564
598
205
433
490
942
700
792
504
282
264
109
626
376
82
484
64
117
962
973
555
858
685
216
680
47
519
814
729
787
504
640
12
609
769
492
923
904
170
464
498
67
459
635
253
830
537
603
247
810
184
564
465
283
889
12
729
495
381
926
183
129
533
151
913
155
92
587
786
716
0
644
961
263
266
73
267
713
394
540
344
575
67
29
295
294
307
61
140
794
387
231
92
850
863
782
178
852
39
455
32
930
835
29
780
873
420
407
797
131
233
653
222
544
580
88
817
990
306
791
391
782
147
491
980
467
23
891
897
451
516
501
371
231
594
313
460
168
910
503
659
125
926
588
775
28
423
231
687
687
799
697
527
201
289
481
372
454
997
813
252
859
380
204
709
566
464
101
669
666
486
574
913
200
30
438
323
331
195
706
530
485
272
698
761
17
869
672
745
916
248
398
158
362
537
892
20
316
309
613
410
458
276
967
798
211
453
245
539
626
56
176
420
987
179
499
906
208
570
254
738
959
711
374
33
863
188
703
249
788
693
892
216
56
291
395
93
671
450
818
587
387
75
462
813
409
790
939
399
998
550
772
69
568
781
847
964
435
683
996
823
227
597
961
201
683
619
771
390
821
98
415
912
278
765
742
962
370
265
276
246
165
682
763
369
608
309
227
809
228
799
413
292
896
241
857
320
897
439
349
451
117
550
755
453
624
744
670
642
462
656
54
471
761
869
620
146
461
781
162
804
371
166
796
853
367
614
850
372
337
501
107
472
878
871
580
222
537
375
57
553
546
301
312
351
521
794
311
427
385
268
798
562
231
94
644
955
545
527
36
208
519
457
131
895
565
554
260
252
526
905
306
2
134
947
90
802
96
905
257
75
803
111
658
153
860
464
123
552
675
430
655
794
223
671
461
871
767
492
154
105
880
489
478
44
837
882
672
322
33
17
943
508
454
16
558
834
531
274
517
508
502
853
724
1
44
493
819
122
770
453
314
19
786
119
310
121
455
171
974
33
812
214
157
694
415
980
152
837
780
940
722
629
592
432
212
741
819
377
520
696
861
600
709
432
100
281
700
724
617
597
624
572
498
884
225
89
161
772
188
16
566
310
809
608
206
188
694
22
532
364
177
84
933
548
660
542
298
244
167
96
689
93
864
248
533
413
952
89
166
684
260
68
264
343
791
482
67
469
364
253
537
956
462
315
41
75
556
661
23
759
88
238
341
898
553
790
423
979
951
698
369
354
592
211
802
287
104
117
450
283
66
891
744
8
696
117
416
61
22
910
924
89
469
878
418
786
438
103
958
404
368
447
730
365
666
652
884
756
144
458
909
93
169
713
757
368
555
228
747
21
545
850
231
669
200
292
120
58
4
452
697
571
661
391
837
212
65
84
159
500
557
927
869
57
71
390
789
608
780
15
562
782
574
444
52
201
968
964
241
843
672
617
171
217
985
317
656
175
737
949
598
604
853
117
215
555
118
283
360
557
766
568
315
789
781
489
121
538
808
185
768
173
98
942
378
747
963
355
701
133
886
967
918
390
763
616
107
392
241
74
392
882
830
798
283
794
938
875
961
31
778
218
387
310
0
352
701
193
549
490
954
294
149
293
481
729
719
943
832
468
840
319
520
473
857
449
56
49
647
765
789
755
477
905
846
615
117
634
817
219
499
27
35
32
48
797
937
501
462
430
602
578
449
499
571
839
90
934
473
687
487
395
524
155
135
3
179
48
663
721
16
310
603
582
439
687
762
229
98
605
437
303
396
251
925
760
676
426
610
861
826
723
275
356
532
916
559
435
254
690
84
121
472
749
997
798
212
166
247
486
332
202
12
567
32
220
434
228
539
266
99
912
664
727
775
944
896
645
562
153
203
151
342
641
421
411
749
551
313
315
974
360
250
51
87
571
245
123
281
653
985
492
293
564
46
220
3
530
360
955
351
651
737
231
940
974
456
95
588
869
150
393
476
537
650
964
662
895
376
77
426
621
581
477
201
602
361
455
191
1
795
823
374
325
351
474
122
0
303
587
788
900
367
712
547
668
704
609
432
549
514
560
810
277
274
269
464
942
46
134
93
344
518
743
233
504
184
407
883
885
819
189
154
206
456
758
763
464
562
381
418
223
39
82
465
996
902
506
51
208
108
560
375
94
164
433
504
932
75
836
831
590
223
235
228
930
533
79
563
537
284
309
727
46
605
237
702
91
723
411
744
386
983
648
513
818
659
98
611
870
54
431
284
541
24
303
845
245
21
704
742
835
130
671
346
180
347
891
939
92
753
459
902
109
138
954
579
711
805
657
638
541
421
188
493
672
224
39
484
240
685
393
402
173
289
917
78
915
486
543
233
639
854
70
239
369
328
819
552
659
500
685
574
861
158
141
988
721
448
139
770
212
903
92
367
247
919
559
87
32
550
201
886
126
183
977
554
63
514
192
628
465
540
16
915
250
758
642
359
619
716
687
576
74
676
880
737
347
588
989
903
68
14
628
258
909
208
858
657
411
233
976
69
312
217
898
368
540
554
927
683
164
830
293
922
366
467
124
603
840
277
913
206
499
664
926
25
648
297
185
10
681
738
686
69
371
522
324
352
447
182
317
428
368
641
563
957
334
223
630
702
36
334
267
383
931
753
975
347
927
34
279
365
119
736
227
192
293
44
319
446
209
618
0
775
326
204
403
411
540
730
402
628
348
969
459
107
249
548
927
403
401
614
267
613
323
734
584
716
379
18
244
804
732
878
566
817
990
73
708
395
654
40
632
774
877
672
569
386
247
565
245
910
284
366
717
590
720
791
488
349
539
744
406
237
607
439
515
806
370
165
929
647
912
526
760
423
989
246
403
14
179
858
789
949
676
608
642
232
950
635
937
727
951
840
934
175
736
661
423
60
62
473
463
259
882
322
863
668
197
495
614
865
592
119
446
6
636
753
169
315
812
199
420
883
998
987
539
819
201
358
301
6
609
4
790
88
50
952
818
794
46
193
103
32
778
217
266
891
490
61
71
369
387
632
419
484
537
408
495
668
487
683
801
852
560
611
150
58
309
498
80
146
265
190
2
273
847
431
999
994
342
90
150
105
560
661
708
901
635
618
140
448
29
446
520
779
205
255
50
410
475
93
516
956
799
539
721
548
506
215
903
615
712
538
490
822
730
456
444
294
711
742
192
153
735
841
0
252
883
89
970
688
912
237
874
143
284
871
619
587
999
132
514
426
834
638
150
661
254
68
901
433
847
619
885
736
190
9
535
493
766
609
42
76
44
784
621
151
684
454
770
536
579
626
371
336
483
644
684
424
418
277
440
52
585
833
55
247
202
970
518
535
537
983
317
653
308
589
694
902
81
720
799
317
259
433
328
293
645
704
501
54
915
943
129
532
40
482
331
160
640
330
221
719
481
222
157
737
156
585
75
591
957
304
341
664
241
237
716
388
630
370
209
495
698
379
948
215
16
731
424
914
267
826
566
900
132
86
44
110
273
147
561
169
175
142
337
609
614
154
453
849
879
771
797
710
535
918
900
984
771
656
67
371
867
350
386
299
632
57
797
506
446
287
696
134
73
533
725
80
590
469
430
906
585
531
149
158
41
572
129
234
73
833
119
810
738
141
121
893
837
584
799
625
100
287
735
849
169
322
562
406
424
368
822
759
158
946
906
62
478
718
734
364
150
221
757
75
310
226
89
664
552
173
264
133
903
349
680
190
892
725
59
401
48
153
427
928
855
767
178
182
558
311
914
230
309
542
180
571
302
385
505
762
928
143
987
356
264
501
557
233
791
181
424
159
350
164
610
331
191
23
63
296
967
502
650
797
168
836
394
351
374
245
87
811
960
34
86
262
178
742
961
373
376
502
374
617
228
812
131
25
272
705
579
559
596
360
427
895
572
137
392
467
118
753
715
698
73
823
954
219
299
91
47
236
481
881
793
143
737
790
546
843
896
982
848
278
731
697
390
338
387
211
252
390
18
152
761
963
792
35
912
84
337
421
490
931
663
433
401
21
944
639
704
497
142
228
596
109
302
575
206
739
138
794
982
299
549
234
793
451
891
192
954
610
834
488
567
451
826
199
882
855
860
816
601
636
251
220
848
102
649
708
310
704
214
552
25
711
239
740
9
178
913
991
675
124
79
55
135
290
745
746
681
436
793
43
140
226
421
985
893
344
513
773
406
629
781
52
203
925
20
108
680
388
51
679
691
887
894
608
277
945
314
301
377
719
340
22
633
354
306
717
570
845
233
275
27
301
388
226
1
919
71
446
305
63
344
57
905
601
287
503
844
63
807
217
945
856
673
565
790
580
87
117
207
960
58
74
686
278
991
979
506
193
701
849
186
687
434
978
52
912
812
481
209
887
128
452
425
772
972
184
371
900
694
797
62
179
583
300
399
992
130
673
876
647
758
376
121
285
90
144
515
706
384
489
720
872
710
526
240
787
517
313
737
959
678
117
277
848
493
973
14
208
848
573
704
820
343
791
344
268
467
120
997
382
792
988
920
760
951
283
284
531
229
177
387
963
982
591
24
797
899
71
197
907
610
257
3
654
254
448
981
404
761
931
405
39
862
111
704
87
291
92
471
366
628
991
868
210
5
605
209
191
53
721
876
402
134
607
198
316
272
767
836
148
918
530
246
641
741
542
481
99
258
593
397
943
134
325
600
544
354
383
885
161
999
981
102
729
335
703
325
5
931
820
808
906
895
848
14
402
657
936
46
966
44
238
540
275
559
333
518
495
768
990
670
208
267
440
758
394
368
160
592
946
444
393
639
814
329
379
823
791
260
947
865
397
345
224
797
253
493
99
269
690
367
286
879
814
275
586
646
170
245
640
251
379
291
530
607
484
379
958
411
853
123
249
125
100
51
387
760
909
946
75
208
199
222
281
248
870
610
63
306
331
987
537
698
895
940
91
71
704
358
650
304
212
346
625
906
319
691
498
376
146
143
113
579
197
729
99
475
700
602
290
504
888
438
474
974
541
511
474
542
47
561
349
218
670
418
219
882
134
401
764
491
826
456
545
216
111
148
32
747
796
712
139
355
701
372
357
345
978
256
284
780
535
714
329
923
836
898
811
407
969
729
76
361
240
724
218
285
621
6
87
290
766
280
428
320
790
475
64
859
836
52
151
473
920
435
116
967
349
618
851
244
104
945
902
282
206
408
523
118
427
687
415
659
817
315
988
499
719
955
31
625
315
443
362
410
376
831
816
202
443
792
886
820
125
699
483
268
523
986
182
317
943
686
180
283
43
235
495
203
935
964
177
954
794
945
663
131
117
797
341
756
345
934
374
746
642
660
395
898
784
603
631
461
294
209
107
853
462
144
671
553
718
853
431
505
875
757
952
807
460
792
818
558
773
921
184
614
443
398
401
219
533
145
703
876
996
316
483
811
604
501
51
699
936
772
16
996
115
866
705
247
41
570
515
885
291
789
421
459
584
134
114
370
984
70
354
553
198
400
252
646
596
670
385
785
191
433
242
854
634
39
879
27
927
587
726
398
150
581
205
162
988
110
577
639
746
787
20
802
411
97
533
479
675
569
95
431
568
802
413
495
23
609
484
518
126
724
979
365
671
336
936
700
53
832
112
562
430
498
398
150
39
201
918
335
953
294
201
348
247
923
541
517
618
633
305
812
700
33
614
28
252
925
494
439
683
241
343
223
922
294
337
855
744
61
284
231
556
29
381
400
514
493
394
706
412
552
862
494
619
166
665
670
84
268
290
780
324
57
220
755
449
188
618
695
38
586
997
757
993
609
699
689
20
527
590
260
749
690
3
98
720
42
891
754
702
145
608
287
541
950
967
767
313
282
445
905
617
852
462
690
836
509
904
685
478
244
48
864
471
484
553
958
520
238
3
513
570
53
56
593
243
13
655
576
160
823
442
519
173
311
248
516
416
713
424
841
649
720
461
538
888
37
696
33
723
200
357
685
344
426
596
365
592
874
940
79
641
824
911
388
209
822
144
233
123
306
27
38
285
754
810
898
264
257
219
590
86
876
650
424
185
994
848
778
112
90
867
873
712
80
496
471
171
365
665
983
189
235
12
19
634
370
154
960
164
578
848
194
60
513
702
275
292
740
911
162
423
263
550
318
869
73
784
796
336
840
508
94
198
345
660
427
628
795
937
531
539
372
702
28
538
714
553
858
504
265
664
200
992
951
742
529
848
162
627
363
512
128
344
52
438
364
733
514
371
843
329
882
962
360
741
590
737
903
110
860
932
565
251
541
311
475
189
249
230
636
215
274
724
30
552
583
760
688
218
247
229
929
263
345
440
591
492
960
909
39
464
411
266
715
428
279
596
758
456
147
703
400
923
786
957
512
477
804
757
615
278
822
570
64
54
525
361
960
704
11
241
374
526
394
788
206
887
497
570
768
722
970
414
548
718
840
462
977
572
412
95
144
854
284
378
465
627
709
329
150
406
641
440
762
764
336
162
403
0
220
261
923
278
775
136
737
840
28
375
247
154
604
258
449
504
590
800
144
923
814
977
394
194
956
623
437
338
790
136
968
862
354
763
22
208
565
664
339
237
392
510
819
232
32
857
894
951
305
883
444
676
364
498
531
470
622
581
99
720
288
99
560
719
754
714
294
688
931
528
770
137
793
436
293
487
273
726
269
829
74
634
141
244
926
940
577
157
442
816
394
733
899
656
719
316
136
390
675
652
235
109
38
955
156
150
558
282
524
490
908
964
385
276
315
497
515
555
1
685
975
324
786
869
315
442
801
801
275
117
371
178
523
585
564
359
71
680
291
928
438
192
785
522
684
309
584
827
790
733
163
758
250
894
665
696
738
659
206
647
61
18
507
626
961
831
211
967
260
674
188
161
987
996
269
903
133
958
72
735
6
137
512
290
567
996
486
445
743
557
588
217
512
510
595
64
189
611
29
703
662
551
398
315
758
294
747
214
555
828
414
669
967
208
840
570
993
643
41
982
146
761
281
946
284
190
941
936
83
286
753
866
474
33
491
684
202
594
506
542
610
75
606
523
556
831
689
263
439
216
875
796
780
869
968
431
267
291
94
221
894
444
197
445
954
547
21
627
695
388
38
677
655
31
280
928
550
930
504
295
169
335
182
474
917
674
813
112
298
594
136
479
46
965
998
806
633
93
447
719
656
837
512
881
807
828
355
504
976
530
18
292
549
545
40
998
429
984
849
342
794
759
151
319
101
712
75
558
558
464
538
720
292
109
408
513
539
503
314
786
152
852
129
612
862
203
410
254
107
138
272
807
873
766
476
494
815
56
720
38
798
937
337
428
555
50
775
158
946
804
112
642
611
119
384
588
833
105
38
44
752
849
252
34
45
512
391
866
599
932
956
927
813
462
599
573
948
727
804
82
12
542
486
24
594
30
969
641
335
615
151
758
130
420
873
87
656
662
642
755
70
839
376
46
461
145
380
155
421
128
521
398
652
237
682
502
575
121
60
980
307
7
13
524
70
657
573
175
849
777
648
142
265
899
514
5
193
395
956
303
625
857
999
126
202
768
550
215
521
679
157
37
931
447
71
921
890
846
345
740
539
620
33
121
432
385
28
448
567
482
608
216
159
258
361
881
611
399
519
346
397
31
916
645
442
63
950
692
844
848
79
938
3
612
474
157
400
791
822
497
822
777
951
657
283
887
584
267
81
378
466
663
177
920
873
767
321
939
757
666
420
696
746
12
56
695
223
17
857
520
459
161
22
733
767
60
170
209
650
993
911
387
437
370
837
224
927
65
950
583
158
272
534
800
944
582
983
21
913
387
29
343
336
952
364
552
78
767
457
876
742
52
486
63
821
176
203
42
899
800
235
559
868
42
482
69
466
368
916
498
568
224
788
952
275
611
782
460
358
697
644
576
412
248
505
604
193
867
936
586
592
270
44
448
704
409
1
332
444
127
198
51
783
128
257
437
997
436
466
483
401
491
674
660
715
173
727
596
907
364
499
286
373
111
612
700
439
191
413
335
956
107
988
991
655
943
924
837
162
522
837
847
881
209
990
441
355
150
621
907
175
772
882
214
239
842
641
697
503
394
949
499
49
711
832
112
274
408
920
159
817
598
65
568
772
819
859
394
580
437
565
141
179
128
396
929
828
921
84
548
969
383
589
678
585
51
993
524
782
749
31
952
816
537
856
31
804
712
448
16
713
571
666
228
259
912
500
524
691
961
464
22
149
858
575
935
929
954
65
24
373
304
293
718
929
415
291
536
346
248
545
321
25
646
225
948
976
874
616
645
835
172
86
129
828
796
347
177
685
510
891
749
432
808
450
117
261
212
737
912
81
566
823
84
423
139
864
879
771
986
312
37
659
435
1
443
266
591
930
16
708
694
208
125
64
888
278
522
966
637
520
975
910
679
710
780
649
674
377
649
719
540
545
883
83
801
504
131
718
302
809
104
948
586
985
860
534
937
903
608
414
724
491
687
529
813
741
926
726
410
828
116
638
685
534
122
934
422
485
145
259
874
246
395
498
581
322
686
634
575
418
314
761
578
361
89
42
216
502
465
820
213
661
566
203
6
90
305
636
136
308
620
911
496
483
776
77
976
979
111
224
327
741
49
792
765
843
575
864
752
302
121
464
407
646
270
883
219
547
913
768
989
292
490
355
419
960
798
998
62
285
209
834
805
341
803
242
28
728
551
639
710
484
222
91
327
782
622
43
39
654
500
612
900
696
292
872
857
93
858
967
864
443
294
346
41
270
319
44
930
743
161
733
948
42
962
106
385
6
573
660
839
248
274
629
662
446
844
328
478
391
285
782
905
863
673
554
831
396
235
80
146
143
800
658
562
433
549
726
919
659
334
723
299
662
299
989
728
585
55
716
514
501
37
655
939
805
29
543
314
624
731
471
876
522
876
869
863
222
550
706
788
27
78
781
797
113
677
666
433
202
333
776
0
945
717
417
626
660
860
284
103
342
135
767
131
67
260
687
176
724
449
102
69
629
958
185
586
642
958
37
914
507
998
302
29
454
481
272
672
487
863
833
686
732
814
884
839
324
190
179
44
311
14
393
873
995
200
597
795
119
396
888
934
865
55
889
404
350
242
555
661
537
930
348
78
768
182
482
87
186
821
2
784
679
964
4
788
11
83
840
383
548
301
88
692
254
771
883
614
553
781
383
523
318
902
467
372
488
320
456
87
64
906
562
175
368
129
682
257
929
857
10
474
693
658
573
214
411
276
302
571
365
239
769
965
968
508
689
497
23
556
82
884
578
744
502
733
657
24
232
238
481
452
236
740
841
378
993
284
298
184
667
854
361
309
962
131
129
703
785
764
836
114
748
862
306
715
157
824
334
181
994
935
210
955
692
438
244
151
596
908
785
980
40
195
514
811
285
773
711
837
156
596
947
260
867
345
935
927
165
753
307
363
107
471
606
859
551
995
973
177
690
580
656
601
329
355
88
772
897
965
119
427
7
430
314
767
359
225
151
317
381
465
262
311
91
466
479
535
221
131
98
350
950
489
724
229
536
119
888
794
165
717
487
339
937
998
95
586
90
891
692
118
677
775
449
130
215
34
753
605
771
136
109
962
166
599
556
381
423
869
998
878
489
542
990
511
579
198
345
82
125
206
641
362
349
5
812
510
327
783
69
113
518
28
41
56
420
21
95
990
693
392
92
970
751
734
241
86
175
728
925
91
133
0
726
926
307
159
177
383
151
523
375
725
117
890
706
846
988
446
221
833
171
409
515
596
440
330
817
929
770
271
627
931
496
956
518
627
380
102
617
764
878
730
178
993
14
977
692
93
691
209
819
250
954
399
219
882
25
437
922
460
715
68
802
906
755
501
440
386
133
69
474
235
851
4
836
819
354
673
903
955
932
44
428
996
829
949
277
575
508
743
339
616
579
465
400
556
754
529
164
510
883
528
400
832
432
519
136
790
106
394
197
706
657
875
577
778
989
120
170
328
658
855
647
46
759
918
798
973
164
292
309
248
627
85
118
91
460
595
484
196
470
751
850
559
681
757
611
984
404
695
516
218
638
433
876
986
488
342
424
442
702
688
224
664
509
63
422
772
808
476
796
724
70
714
614
685
486
902
921
314
594
696
605
735
821
578
609
396
181
98
487
672
342
490
706
360
920
396
935
118
714
498
832
364
359
217
654
395
105
268
938
954
74
178
497
39
107
880
308
610
890
421
233
527
51
797
685
566
89
822
637
489
531
770
975
205
409
927
3
535
490
939
811
927
165
634
670
639
656
122
923
616
478
625
298
953
429
391
579
893
512
181
157
719
613
158
305
477
847
40
913
299
819
236
122
936
404
169
597
605
394
969
721
193
438
698
665
757
82
487
680
408
39
288
820
857
610
942
620
267
377
956
80
218
340
505
621
421
943
752
356
672
935
8
167
99
512
92
187
864
429
104
855
888
884
556
824
450
424
143
561
273
308
267
951
426
82
16
325
799
734
380
406
801
347
99
859
292
742
256
809
630
991
908
328
861
500
214
488
632
69
831
891
47
839
486
280
74
687
998
146
575
142
192
176
154
92
638
778
775
14
688
996
236
256
995
68
797
329
581
292
609
947
205
806
441
891
121
998
10
745
875
228
17
802
453
50
472
261
326
510
740
784
852
596
671
715
772
66
272
653
636
110
721
798
370
76
346
82
522
707
795
236
842
430
330
706
887
773
690
339
491
16
828
433
977
908
953
172
766
30
365
730
963
935
783
89
536
738
882
524
976
483
495
750
558
146
311
913
241
909
744
815
65
544
267
756
416
962
106
157
547
822
978
286
898
694
561
175
786
943
500
424
273
979
250
849
211
307
817
741
668
971
927
227
558
507
676
709
795
838
343
566
680
710
157
215
697
747
262
661
735
223
287
325
161
663
475
755
820
10
11
461
730
683
168
291
376
440
544
324
677
18
138
889
895
800
853
794
66
342
546
101
416
158
623
364
837
94
854
611
837
783
230
898
574
880
541
39
966
815
593
183
627
877
930
940
82
195
466
997
676
682
390
776
240
828
954
46
513
645
738
787
515
162
919
617
907
220
979
333
678
893
974
571
493
647
580
856
444
394
915
905
815
433
376
454
246
854
477
878
496
649
130
587
518
419
218
124
426
834
545
600
728
987
158
413
287
328
619
267
58
266
883
86
949
605
362
126
521
958
687
484
47
628
518
413
160
758
996
256
800
895
759
873
404
214
345
796
159
638
280
944
89
892
581
711
744
542
78
701
576
638
787
578
36
429
291
81
686
133
180
662
438
703
230
326
729
958
156
859
213
214
622
278
385
316
691
216
276
50
714
390
97
910
936
399
791
426
249
771
817
964
14
223
452
439
841
380
496
599
788
108
933
724
202
443
326
576
67
71
628
122
616
374
443
37
604
896
361
372
771
429
2
109
55
454
807
71
346
77
777
526
681
258
519
713
457
957
463
520
145
964
11
939
896
965
874
599
963
84
565
582
456
605
719
40
700
89
92
671
226
201
451
766
380
151
673
647
240
143
365
312
215
995
967
17
82
301
197
843
209
232
361
434
207
700
661
223
311
710
712
211
300
45
1
797
275
13
854
665
116
951
645
153
534
688
975
282
403
832
178
608
926
342
156
202
675
930
558
648
620
568
706
653
440
690
472
890
523
879
664
595
950
601
32
186
348
223
16
742
412
892
220
397
925
248
258
795
463
90
446
164
744
175
856
486
950
840
551
601
508
239
311
906
236
174
462
510
779
637
601
142
980
808
398
906
190
752
242
816
911
246
637
779
335
13
936
419
712
682
31
985
58
900
203
486
3
457
670
28
491
173
799
5
876
757
935
678
417
720
294
697
14
686
79
942
265
420
18
912
181
770
130
927
142
870
70
587
613
713
272
778
344
436
275
167
439
675
321
163
54
524
110
515
243
114
493
972
538
126
446
784
181
646
315
506
332
712
300
648
261
122
902
813
305
991
870
32
256
270
127
931
315
192
377
702
918
459
199
465
437
105
867
664
282
459
274
356
98
693
129
79
394
432
537
484
510
28
328
429
438
225
362
565
558
455
594
324
491
749
374
462
733
605
360
22
798
793
43
256
72
211
819
656
445
356
127
948
762
70
689
816
671
343
129
141
832
726
368
631
658
435
152
656
458
932
31
658
118
999
233
781
878
638
222
300
395
462
353
274
566
180
426
300
178
47
52
766
870
814
205
495
282
430
153
254
978
614
422
623
327
365
275
393
846
711
497
581
447
752
76
849
846
952
520
603
214
789
917
568
413
116
729
293
315
111
135
393
37
328
624
77
629
594
170
13
570
635
609
287
999
105
583
225
92
331
286
180
780
536
131
361
685
446
829
320
180
472
370
499
628
359
41
609
209
668
100
715
776
50
224
856
346
614
674
742
755
98
332
393
588
936
814
401
568
688
528
868
39
898
981
610
889
146
705
289
134
898
299
690
665
537
66
711
152
430
808
826
60
579
381
110
374
427
127
838
265
589
59
357
727
966
459
872
172
696
732
424
818
195
756
282
697
306
383
749
121
313
418
656
344
21
340
224
597
979
399
951
324
201
233
284
790
662
982
558
484
730
86
392
630
136
509
903
219
14
666
413
272
639
170
898
957
477
798
725
633
185
33
901
273
926
852
710
931
820
758
376
959
933
993
617
922
492
599
401
565
859
143
38
84
420
790
479
518
376
235
933
793
949
271
407
516
831
150
48
790
275
448
835
416
165
980
117
951
918
590
744
932
303
847
248
120
321
602
551
234
850
351
516
263
514
440
848
836
8
375
431
428
192
157
582
331
662
185
665
380
452
50
645
685
316
989
938
94
430
96
322
652
464
457
18
906
866
622
210
741
579
320
535
887
937
65
427
924
46
101
792
231
223
447
506
646
866
492
770
449
332
222
355
278
29
995
632
649
397
106
468
532
130
493
83
624
528
182
578
598
364
342
305
412
926
835
156
473
802
53
888
230
999
406
413
869
658
258
787
130
675
388
973
205
419
744
771
284
69
524
507
440
508
491
230
478
151
410
902
21
180
503
427
232
602
407
357
942
383
828
215
407
869
963
487
964
946
306
525
112
662
735
778
496
432
531
930
604
330
298
61
965
527
334
180
333
423
82
787
215
701
794
201
619
758
886
228
621
640
598
914
94
220
790
230
646
878
754
257
765
219
953
180
762
886
237
180
615
425
502
737
838
145
659
357
607
413
951
281
324
669
880
303
529
177
101
938
800
943
463
719
435
590
112
533
325
542
311
812
358
575
57
731
828
360
658
967
328
586
48
193
381
889
984
801
972
696
138
187
266
927
419
472
44
376
731
499
628
779
781
90
690
920
683
321
356
259
648
985
186
215
934
319
313
303
240
74
842
914
974
1
576
387
222
402
466
600
209
335
276
502
242
713
298
596
686
935
659
136
539
779
799
892
415
43
852
647
496
66
191
40
436
993
75
180
343
7
601
434
153
632
390
345
731
903
953
734
404
548
250
837
256
563
721
165
479
197
19
293
489
573
779
792
128
11
587
224
775
771
539
889
222
564
728
449
958
53
613
984
512
753
874
565
182
454
141
487
65
642
347
344
355
333
287
381
46
135
917
734
481
999
388
782
941
226
828
720
748
647
529
579
286
473
952
548
725
202
846
88
658
574
343
348
464
863
508
617
898
374
453
837
49
761
684
281
418
649
54
108
364
635
386
40
334
373
749
463
852
843
77
539
396
145
795
559
939
546
881
739
497
348
250
735
640
992
317
696
676
511
680
242
608
231
921
536
827
701
633
534
785
661
999
427
514
551
887
96
29
962
497
468
971
764
54
950
97
226
394
591
926
6
495
809
907
447
95
668
800
790
132
906
527
157
891
876
619
916
728
352
252
545
691
143
772
972
129
204
254
270
150
383
179
710
718
907
853
15
613
372
287
655
715
13
751
222
667
160
586
114
989
894
482
694
440
526
360
618
618
67
340
136
157
444
46
618
841
134
555
412
696
981
346
713
710
665
970
443
275
580
753
358
135
299
166
376
622
926
386
39
831
949
272
560
911
648
910
158
799
119
501
812
595
876
280
445
254
890
945
592
875
761
291
224
190
956
643
694
79
295
969
433
631
426
295
487
561
547
552
265
10
923
111
654
398
793
438
593
134
685
525
921
328
785
300
562
789
372
174
899
464
237
390
475
40
350
767
892
797
488
740
176
45
475
125
798
457
799
216
624
623
639
611
877
759
607
210
760
242
295
407
948
358
998
74
577
528
358
57
854
824
923
928
28
145
718
156
964
174
138
170
713
356
2
740
820
825
590
282
153
328
216
249
522
815
298
357
31
190
797
432
915
164
576
595
84
824
24
31
630
156
632
293
572
325
698
891
355
581
270
15
732
371
791
46
488
714
104
147
576
650
205
11
789
455
724
630
488
165
999
487
354
980
861
446
690
787
519
540
211
744
663
28
937
917
716
30
243
577
590
891
842
390
430
839
644
672
117
786
628
16
208
795
792
80
676
736
47
616
205
344
263
107
723
489
793
70
713
263
767
701
379
173
840
463
132
989
929
875
282
359
382
742
665
849
824
984
110
98
141
912
231
381
216
91
900
640
908
537
658
719
293
382
901
820
281
675
681
715
295
369
372
746
309
10
835
378
641
579
402
798
936
222
555
912
284
118
895
161
654
989
807
436
653
744
69
806
43
357
993
869
288
402
561
284
5
517
77
356
215
706
12
821
917
568
445
915
384
677
976
7
644
169
937
575
60
935
563
541
231
102
555
140
744
802
560
236
170
214
992
832
202
370
523
517
2
341
979
43
82
858
691
443
301
336
607
215
803
298
418
475
858
343
606
782
987
253
612
225
868
869
548
92
161
422
813
942
166
932
701
450
469
311
988
873
404
333
305
601
94
545
434
156
380
978
384
825
178
763
50
787
253
498
838
259
138
632
858
172
687
243
333
970
940
508
858
57
84
543
16
41
826
949
31
829
321
383
441
111
152
181
939
858
760
646
80
635
233
75
270
615
83
842
486
398
536
786
297
30
589
901
145
103
451
929
262
459
170
528
63
661
761
795
275
169
911
227
505
823
472
854
8
936
160
122
521
14
53
845
744
986
292
75
611
110
489
550
950
357
523
663
705
427
527
991
773
515
196
639
965
448
333
204
845
190
597
361
844
78
57
885
573
65
15
779
212
460
314
392
616
113
400
550
950
803
423
882
961
693
334
168
602
452
165
398
139
630
150
411
58
612
103
833
623
636
481
665
685
920
64
245
703
555
610
442
7
78
643
215
238
764
165
757
475
749
354
866
421
95
627
606
854
297
683
751
415
907
444
240
493
506
252
577
126
20
613
21
600
239
310
315
803
200
331
118
617
905
136
952
200
255
762
181
513
914
614
857
676
692
539
520
131
543
773
778
15
554
298
245
171
880
770
768
63
770
643
515
85
425
495
830
679
870
647
228
357
122
37
469
333
731
763
837
736
998
272
111
511
608
863
923
991
641
330
465
27
872
357
761
770
767
482
364
912
991
992
705
740
637
656
642
523
223
28
530
177
142
774
86
323
816
846
159
180
597
606
225
295
945
618
778
971
259
69
786
549
400
175
300
312
197
779
737
631
994
185
924
311
988
652
852
553
211
547
913
952
430
311
625
222
625
901
939
893
346
833
399
445
91
960
333
269
396
434
765
461
942
773
381
523
634
808
464
219
843
141
688
551
833
147
712
840
956
959
731
430
942
795
115
343
726
626
133
260
717
589
329
585
851
969
156
606
975
727
220
664
818
181
721
639
39
537
831
249
172
407
460
151
538
979
650
958
390
416
961
761
46
526
590
945
342
73
683
193
377
427
759
826
996
583
819
569
789
556
355
994
53
963
633
427
824
925
735
722
468
591
441
721
793
312
453
480
513
452
513
65
469
77
979
970
994
804
228
95
733
604
951
974
758
186
513
249
19
610
103
822
947
942
148
868
541
53
896
103
300
584
443
279
458
840
132
364
348
45
728
352
826
815
30
426
991
900
772
675
546
556
509
855
193
915
644
795
729
547
158
841
275
581
725
422
424
966
936
463
893
277
559
222
613
400
86
618
228
955
75
539
181
472
309
76
412
799
510
121
928
900
884
417
434
65
221
721
333
271
216
441
910
50
544
137
738
974
391
879
596
343
491
123
865
507
409
969
942
951
303
364
672
41
758
389
420
71
319
809
883
49
335
635
731
176
17
737
634
274
570
556
392
426
618
54
687
183
539
358
231
90
344
183
561
880
132
453
917
708
759
302
29
44
627
744
110
322
849
855
151
331
210
400
135
140
473
357
780
760
401
159
526
2
483
925
165
323
265
827
172
303
299
216
411
672
831
155
35
509
265
31
768
327
945
827
290
245
416
401
90
643
996
625
912
677
392
497
10
229
817
90
825
449
137
723
437
219
418
969
472
932
591
101
877
954
950
449
106
240
360
386
890
533
311
925
945
982
278
897
706
590
539
282
59
794
792
838
670
405
440
333
30
966
248
128
112
445
888
90
467
334
583
302
587
772
7
470
644
121
536
808
859
912
171
830
657
910
252
478
354
729
463
524
776
165
997
516
829
176
475
503
549
583
220
322
769
663
349
9
645
194
108
990
460
351
185
466
926
890
66
19
222
760
948
311
551
34
952
614
960
258
962
909
320
181
549
933
977
260
235
240
837
894
503
855
788
184
0
517
964
85
987
10
895
980
707
52
959
380
386
496
171
270
128
299
29
122
609
332
547
188
893
480
721
936
894
159
169
224
137
56
342
260
183
484
260
132
743
242
942
208
541
828
372
82
669
522
19
401
162
927
175
935
679
773
505
567
68
599
353
678
125
439
587
240
8
256
955
954
256
236
84
599
570
827
305
237
817
786
391
3
481
526
116
395
276
382
559
99
757
450
745
859
963
869
561
720
172
389
250
105
521
943
688
851
841
300
407
61
873
917
566
314
433
66
543
879
319
738
960
941
872
551
80
845
458
269
345
7
713
865
24
676
484
867
955
612
306
510
26
878
281
110
795
257
313
934
749
927
41
149
91
901
126
153
659
61
112
364
746
839
277
932
752
194
630
467
934
264
975
510
737
436
777
488
704
832
610
769
47
8
887
857
53
106
905
65
205
340
199
658
94
892
523
636
16
175
196
947
528
99
492
509
672
740
911
697
631
457
8
236
62
178
17
676
731
938
796
907
427
45
708
703
955
67
83
400
847
842
129
24
617
235
718
282
565
750
481
405
859
965
773
192
712
21
986
348
516
974
207
535
207
766
283
31
574
849
245
945
334
991
650
282
935
607
568
619
774
103
334
333
746
877
622
807
558
642
130
453
349
237
564
652
216
62
168
215
708
47
594
550
694
791
491
841
658
185
76
54
137
633
995
58
814
212
249
116
429
757
786
60
667
764
240
152
276
945
223
679
845
0
522
751
234
349
998
233
833
553
226
663
597
465
55
852
381
187
79
954
685
482
782
12
944
281
776
344
863
10
391
542
90
6
440
389
442
509
235
583
800
397
187
587
734
688
606
794
566
824
682
73
120
698
781
973
469
295
508
344
129
447
677
538
541
287
987
74
269
936
701
18
994
127
408
945
260
172
181
778
299
0
586
307
426
252
332
272
419
627
801
823
756
206
803
439
436
965
266
646
32
494
312
16
77
669
450
388
156
289
958
495
18
885
182
614
898
270
977
769
215
450
283
317
833
397
553
358
349
175
553
641
398
654
607
606
504
168
906
959
12
127
498
7
713
742
688
639
284
708
808
524
621
305
223
918
79
642
582
575
535
398
701
218
672
933
161
582
830
168
345
334
152
798
399
374
279
692
782
735
201
189
150
475
730
320
453
491
66
648
414
422
189
442
36
654
899
18
964
831
775
578
879
760
500
321
601
798
914
769
637
944
863
27
903
401
447
988
721
746
802
317
847
318
497
307
373
650
234
594
844
327
576
567
716
674
117
9
727
581
979
542
655
640
55
531
792
492
452
162
159
906
744
985
385
173
906
264
850
43
831
724
170
250
130
879
984
956
98
471
924
800
741
55
556
891
488
825
803
684
976
322
926
68
240
821
550
646
265
10
972
936
304
449
2
115
290
686
278
690
607
938
323
378
34
857
543
385
967
687
923
692
400
796
527
524
706
717
109
564
295
738
390
596
64
939
315
236
844
475
924
906
375
251
221
58
502
778
698
634
657
45
998
530
37
817
195
273
704
509
140
781
700
486
937
136
156
310
468
644
357
733
199
136
993
715
465
199
103
119
367
923
787
441
253
617
678
111
855
83
184
520
274
508
439
318
866
921
955
920
4
981
761
442
648
8
487
937
15
398
254
177
904
880
755
756
355
891
215
561
309
361
944
618
792
317
805
131
670
649
419
152
217
73
285
120
28
509
835
999
586
650
42
759
223
426
576
91
465
25
38
341
707
131
983
992
215
383
487
537
292
957
733
331
93
969
823
236
980
543
431
38
31
489
136
374
85
625
49
716
886
681
454
623
15
230
654
745
508
252
866
57
350
238
2
209
826
915
664
797
119
247
301
330
974
304
234
799
80
755
481
997
2
761
622
227
126
878
621
352
270
793
607
776
716
791
617
892
902
646
649
405
242
531
201
551
786
420
887
345
84
200
144
817
599
416
754
17
73
621
430
39
251
543
116
779
457
997
642
589
91
816
898
246
326
302
69
653
140
322
25
145
442
120
939
363
756
872
803
711
66
364
671
600
752
892
481
827
383
23
507
847
262
437
719
879
468
754
985
220
889
904
637
110
732
190
983
189
910
461
787
49
130
150
605
569
566
832
327
759
781
391
656
67
509
441
248
97
231
233
114
718
772
429
896
645
256
706
478
903
334
648
885
222
573
738
749
314
22
114
670
298
402
555
129
357
91
188
757
830
191
168
30
725
551
552
601
530
851
799
530
661
864
116
995
865
488
460
512
493
765
169
856
755
810
67
896
341
344
232
964
132
812
680
531
96
143
830
292
332
562
415
367
424
497
47
187
273
325
227
408
156
333
161
355
451
704
442
891
649
205
535
332
427
700
50
655
407
43
955
930
52
175
706
830
781
727
689
283
166
683
440
358
824
820
519
880
145
417
741
41
459
614
991
482
435
919
708
319
659
533
675
989
585
479
563
493
568
553
992
421
346
779
67
1
157
959
878
724
499
557
485
84
619
924
42
838
304
506
309
918
795
57
633
103
977
210
196
397
159
358
941
823
861
358
908
503
174
312
113
643
277
686
711
149
832
296
425
880
547
250
319
96
803
602
324
953
718
828
262
165
53
978
118
27
833
990
564
377
345
289
685
826
801
241
484
589
201
142
131
232
901
187
125
62
874
764
911
140
944
288
504
245
721
829
849
358
682
37
655
28
96
250
457
158
205
749
166
46
565
460
511
115
800
774
965
624
675
459
668
489
460
829
743
602
443
789
138
87
69
156
497
69
661
500
718
498
517
114
294
813
487
389
38
768
94
972
199
383
671
837
609
433
334
162
396
895
588
795
930
227
40
266
24
898
934
578
297
971
403
332
59
931
565
579
972
766
716
50
937
323
257
102
942
871
333
760
318
484
847
15
771
332
730
818
362
937
163
707
57
239
212
766
109
76
969
900
237
62
797
436
408
825
21
869
717
849
350
422
472
89
291
40
83
677
520
228
758
253
244
264
971
382
449
726
957
504
33
22
460
468
546
728
58
807
978
459
939
32
831
400
91
933
671
733
389
707
909
729
84
454
238
373
382
799
794
397
70
899
701
875
416
704
893
875
761
474
20
510
45
906
645
572
341
604
390
380
32
879
287
490
851
248
108
932
417
16
646
862
223
328
710
676
936
421
725
270
716
137
700
325
662
98
238
710
482
723
181
439
875
468
695
538
281
574
227
4
416
456
456
657
166
587
431
87
995
329
213
514
198
520
658
323
314
58
697
18
803
695
262
735
74
295
572
626
218
438
749
944
129
80
748
781
122
287
524
288
148
990
486
948
864
690
354
288
522
630
487
290
92
898
77
87
171
661
406
172
81
760
6
556
859
594
493
251
552
393
206
759
551
923
950
161
575
907
150
655
489
164
965
361
778
564
213
896
183
33
899
341
884
207
177
178
332
467
822
876
922
584
64
975
497
252
954
418
253
810
623
375
691
769
823
419
792
526
518
116
616
286
430
604
250
453
53
991
881
606
183
243
788
594
239
990
853
7
954
581
253
20
244
254
737
196
359
24
584
442
296
827
810
651
64
498
224
333
120
554
969
996
449
132
697
895
909
158
602
689
593
658
200
987
504
337
1
288
806
586
685
363
885
455
45
858
671
508
210
61
632
278
387
744
848
586
633
924
627
532
967
383
159
929
331
668
434
762
888
437
282
756
464
777
253
19
452
23
893
864
536
329
321
51
774
227
582
240
916
293
363
692
10
616
328
570
562
104
0
653
903
101
562
557
76
688
764
576
419
512
597
877
547
310
637
746
425
83
126
603
947
573
506
806
294
144
945
480
589
972
412
163
526
422
182
16
115
3
797
932
518
191
54
763
868
50
614
317
740
196
817
76
578
354
345
231
128
868
227
51
749
170
840
565
626
671
410
856
425
29
97
707
119
301
820
338
185
46
509
139
156
668
662
110
786
301
863
930
796
10
695
655
293
301
91
908
816
537
348
791
682
188
762
903
465
958
539
459
932
244
449
142
822
419
921
647
401
492
114
244
360
24
19
827
416
842
74
460
877
760
825
895
396
520
803
76
530
677
114
372
893
729
656
817
519
551
89
491
779
459
470
521
438
66
214
708
627
932
333
726
765
313
463
838
510
238
336
870
722
850
163
521
536
498
813
315
71
748
792
78
163
300
921
124
790
286
657
901
375
707
424
233
449
889
489
93
123
635
265
942
806
728
627
213
654
340
226
652
227
117
619
487
390
302
460
51
535
444
686
850
59
873
746
410
303
925
832
119
798
934
802
833
27
572
172
193
375
312
201
609
461
846
103
25
368
279
763
866
697
21
868
488
102
325
957
467
16
619
681
526
851
933
813
430
452
858
736
822
573
681
489
224
186
850
41
220
734
657
84
416
442
878
123
400
245
17
568
202
737
322
979
652
450
276
525
733
227
595
493
969
654
755
292
871
861
104
220
185
331
453
109
96
156
862
542
75
474
209
575
280
491
237
953
517
119
254
393
460
893
43
37
415
552
53
165
741
832
810
130
449
938
860
540
973
807
558
712
807
678
31
44
425
276
115
611
536
808
147
196
968
28
654
611
316
816
61
249
990
281
718
364
328
822
94
827
826
849
841
281
900
932
442
190
642
701
747
27
787
578
499
718
914
923
706
5
908
663
486
792
528
863
315
416
272
522
629
657
447
252
319
232
870
594
677
913
17
984
475
512
45
970
982
477
920
507
881
972
962
683
609
512
544
75
918
505
672
100
567
152
708
516
413
812
799
178
839
415
329
123
654
951
82
475
792
647
433
456
724
538
44
731
404
792
931
487
705
625
93
700
519
492
828
184
679
672
220
949
52
624
952
695
253
391
548
432
94
720
740
413
489
120
659
735
278
424
436
810
268
89
299
606
790
21
345
765
620
883
555
687
660
139
179
237
83
168
61
612
622
485
860
552
557
810
697
118
818
273
799
991
559
19
926
56
8
710
628
431
709
312
851
456
279
832
119
883
865
300
462
762
212
547
706
176
372
157
168
210
972
705
194
772
491
57
364
777
88
43
346
624
96
141
604
985
42
704
437
549
37
641
893
174
173
888
750
27
493
479
50
261
641
780
547
887
487
935
240
349
191
632
606
913
452
534
711
715
587
653
693
494
34
830
172
550
910
581
692
485
858
634
65
744
724
240
443
270
263
587
752
869
83
47
594
24
386
879
712
110
199
965
23
805
823
582
820
674
875
322
476
663
574
187
103
929
816
800
570
25
277
692
457
444
366
756
638
210
660
604
596
733
419
34
715
163
986
110
809
712
926
671
784
867
621
348
773
426
119
26
400
471
914
602
746
522
772
140
119
85
755
394
679
296
428
637
575
87
873
97
796
686
661
432
567
461
659
16
999
272
635
668
143
501
97
989
646
492
586
377
843
751
283
859
876
134
810
38
89
883
176
549
296
479
141
522
652
142
873
76
596
37
559
526
910
944
349
366
684
659
66
831
831
956
730
728
820
556
777
345
939
944
832
517
895
117
299
354
597
773
761
363
564
348
865
255
136
838
315
256
134
234
584
856
524
151
909
865
475
369
670
727
784
26
88
441
602
331
246
303
583
321
368
853
769
487
667
138
809
79
888
521
704
104
661
955
481
824
776
974
588
185
361
474
343
332
213
511
717
383
260
442
302
31
51
500
239
50
682
919
755
922
237
527
601
406
40
206
120
857
495
38
163
804
818
482
131
971
38
348
871
15
199
695
938
688
674
191
299
638
443
242
572
240
807
827
186
764
63
330
264
412
494
833
351
409
595
313
60
578
787
188
569
527
846
187
213
99
636
65
862
180
964
920
955
924
84
362
590
795
605
311
741
559
448
844
492
344
297
27
414
81
988
239
418
911
50
364
697
292
646
830
450
872
92
916
433
830
894
281
973
173
811
730
789
832
814
190
837
399
248
365
902
781
551
390
99
474
809
677
211
800
156
547
556
477
308
410
616
521
767
397
373
100
866
104
754
852
257
623
773
396
654
6
477
18
587
246
430
668
42
190
901
3
812
7
391
780
494
931
969
254
113
565
961
803
822
402
202
109
785
754
10
764
548
748
926
795
739
394
908
717
715
148
823
333
811
108
992
0
493
431
825
341
270
698
681
65
356
786
521
258
613
166
366
556
177
670
738
108
723
811
749
243
570
71
940
42
751
115
701
341
522
918
584
828
705
733
301
535
593
224
893
745
32
147
958
582
328
776
364
402
831
585
255
733
648
748
75
219
191
693
179
657
42
312
494
174
347
675
734
87
951
518
875
540
932
768
115
541
504
708
790
785
842
754
354
82
233
128
65
747
826
35
65
330
510
442
782
166
531
740
637
511
181
533
188
365
216
264
885
416
420
2
172
349
90
981
688
623
411
175
478
414
639
53
643
808
852
345
75
91
250
187
893
971
879
80
80
430
626
73
726
889
389
757
640
746
759
561
521
911
199
510
892
627
151
442
243
552
671
3
723
545
560
273
754
99
301
269
353
884
944
384
899
308
839
755
633
95
74
855
149
758
771
190
100
125
582
176
392
404
948
675
635
734
988
957
897
69
163
468
929
102
652
976
533
858
456
333
836
30
60
630
543
199
507
753
742
845
235
551
237
968
955
180
561
836
376
651
682
974
659
879
867
625
382
383
580
376
489
840
251
951
534
530
452
432
174
834
852
833
716
589
898
980
576
614
805
120
767
804
77
802
323
428
309
951
669
349
316
661
427
671
558
581
441
127
75
109
420
827
513
809
248
728
428
632
408
86
430
780
578
629
828
511
422
595
419
260
422
975
162
937
621
777
912
533
123
475
977
590
980
23
316
338
124
282
322
537
885
77
241
246
21
486
569
581
318
254
384
554
831
476
643
898
235
197
846
566
225
464
455
579
261
344
27
0
754
27
242
156
501
325
912
539
21
443
634
420
349
478
683
865
772
367
417
717
785
429
270
149
202
351
638
197
134
984
175
189
95
151
963
553
986
871
719
503
491
760
146
152
438
359
434
896
496
432
499
963
625
35
177
536
88
229
947
348
232
30
105
464
723
993
934
664
790
742
583
558
802
141
774
370
581
35
78
817
937
556
623
557
261
178
102
978
337
883
664
454
631
143
82
414
538
253
471
791
302
297
443
299
436
410
750
152
101
847
79
130
18
461
111
320
426
79
324
998
740
529
746
852
134
386
408
201
841
254
957
852
835
37
471
654
798
430
286
691
22
157
118
108
168
590
170
574
909
978
21
119
51
333
411
21
853
909
735
799
545
979
671
417
508
332
255
281
411
133
762
783
251
525
711
190
202
520
385
407
71
639
578
438
760
757
452
745
176
563
471
211
773
728
296
887
713
816
673
846
613
160
592
24
728
62
529
115
605
639
110
797
175
786
643
414
710
464
217
537
738
811
459
148
820
971
448
796
813
54
655
327
932
999
586
813
381
979
800
952
716
268
956
137
746
504
601
54
834
763
696
929
350
59
631
58
650
315
40
429
624
943
344
5
102
91
306
41
898
683
65
58
1
628
96
784
960
400
690
991
675
401
796
702
565
987
512
713
360
698
342
417
738
793
868
890
717
629
514
505
930
914
56
438
720
608
172
778
969
537
871
611
816
542
281
370
771
150
817
939
816
229
519
656
208
539
708
434
650
405
861
356
425
238
618
217
940
353
746
940
728
286
694
134
99
171
567
323
622
699
707
135
894
171
167
807
718
590
91
249
356
732
581
259
258
243
547
934
711
992
324
503
775
436
460
305
795
356
392
911
783
492
876
313
8
724
410
518
811
166
528
700
452
975
143
842
335
459
624
613
70
471
160
699
918
551
15
679
339
853
692
532
417
223
539
815
553
178
635
765
656
203
807
811
207
930
43
81
290
207
57
525
165
871
351
328
685
700
737
795
598
451
661
327
57
334
532
238
696
119
422
959
765
359
995
767
320
116
453
307
533
890
159
496
828
135
617
935
645
307
934
449
323
155
455
714
663
380
429
24
954
866
943
320
720
11
737
222
109
25
701
864
174
879
280
296
421
850
128
888
208
85
943
545
479
549
524
197
862
304
688
205
71
390
963
118
755
468
43
765
989
493
958
426
595
800
763
611
848
142
990
121
121
395
680
387
699
444
683
747
968
399
135
194
59
909
908
831
23
474
817
251
405
444
743
558
736
185
898
191
882
233
415
79
585
708
268
377
252
772
909
732
402
568
898
268
571
402
89
936
34
867
339
366
861
850
139
48
707
227
76
265
543
899
379
966
436
934
316
203
272
116
976
362
650
348
624
319
361
658
796
865
176
966
857
83
717
105
700
490
876
503
791
345
548
357
724
187
358
300
386
900
650
114
148
911
535
13
30
143
206
519
114
515
716
678
644
193
279
197
389
792
954
828
686
593
279
512
58
637
755
749
683
71
647
777
745
485
102
911
944
924
16
216
477
508
958
547
194
660
805
238
775
831
722
92
441
168
634
351
797
664
843
22
259
282
453
11
968
728
749
681
229
891
343
530
333
530
639
761
464
954
979
799
946
362
588
841
157
853
853
982
699
736
284
838
605
309
758
98
439
27
745
888
613
343
402
882
80
8
185
267
209
924
710
180
265
132
488
883
969
719
606
179
754
231
310
451
456
867
849
652
331
699
105
704
804
556
401
695
933
556
674
454
333
519
517
127
667
270
759
419
432
734
525
201
979
960
167
791
419
975
784
864
259
434
216
367
258
738
958
190
906
107
477
698
924
197
233
264
378
167
610
382
17
375
456
251
977
661
568
997
518
956
425
91
155
309
782
473
739
704
836
520
720
495
595
917
223
995
920
785
748
928
315
516
679
680
6
115
813
967
767
65
572
411
720
778
452
296
866
725
106
931
248
286
388
990
308
799
564
386
471
488
760
576
408
290
425
537
72
637
687
269
794
952
533
776
645
323
413
87
49
707
677
29
881
15
27
634
492
875
403
378
642
430
677
915
82
444
700
169
398
504
937
616
546
255
346
986
68
338
861
324
549
265
16
375
609
326
797
893
809
361
601
678
174
392
720
360
514
5
553
461
700
879
719
861
76
735
412
452
566
611
347
214
708
546
965
59
983
200
973
871
720
736
120
180
719
295
178
572
966
612
360
970
563
107
314
250
253
822
592
93
316
776
781
902
374
216
454
506
59
419
134
877
663
830
671
583
718
51
132
152
367
36
13
725
316
281
101
534
657
686
390
28
929
403
531
43
918
787
823
376
100
338
945
282
505
283
731
437
922
490
722
241
365
428
542
965
548
458
115
606
926
839
994
659
306
357
121
638
824
953
190
380
834
8
285
938
330
729
844
283
643
652
906
140
592
27
672
928
468
897
951
872
281
735
848
378
284
191
545
468
365
318
175
698
95
156
113
546
341
57
841
840
510
541
324
806
47
778
317
272
872
347
990
479
268
337
564
627
310
843
284
131
404
985
341
7
270
773
419
239
129
706
523
215
54
73
326
688
540
343
680
269
256
175
894
338
110
802
364
788
709
131
527
720
249
882
807
782
968
649
672
335
3
653
657
321
57
475
98
307
58
455
411
836
726
613
356
773
365
216
930
458
300
549
784
395
987
935
229
679
808
676
521
532
422
83
180
22
678
89
309
673
260
515
589
133
274
474
561
547
843
837
470
94
801
953
55
939
750
469
876
939
177
610
920
715
219
589
687
42
476
745
501
667
937
957
989
397
848
895
305
937
869
25
855
539
520
147
913
681
895
920
183
7
557
588
438
574
85
265
709
639
903
566
462
649
372
869
7
607
990
567
810
962
352
160
672
492
820
560
379
582
455
858
962
377
640
214
588
745
903
277
797
905
188
660
145
641
858
469
482
267
561
367
819
743
819
643
641
356
115
848
428
290
527
504
554
81
362
662
910
684
794
497
160
452
765
519
794
746
541
228
153
30
818
46
508
971
881
357
367
570
922
165
356
410
895
951
669
254
362
705
406
724
780
464
666
608
920
801
145
798
611
431
564
325
429
925
458
991
209
412
280
729
189
123
791
470
74
275
431
568
295
334
577
544
107
16
113
999
772
151
335
416
765
123
764
259
925
305
391
923
773
189
518
246
345
354
150
753
863
683
394
703
876
385
692
639
254
290
562
162
934
95
215
145
694
690
823
905
127
53
786
210
220
39
586
643
315
556
542
910
381
613
293
677
849
273
706
86
958
449
178
474
2
136
384
567
276
651
636
163
624
572
523
959
646
33
178
278
640
659
936
906
33
380
517
684
129
225
275
948
498
922
259
729
897
15
278
49
317
841
904
251
635
774
365
677
300
942
415
299
436
702
156
374
222
698
407
472
37
97
945
136
978
59
556
939
660
920
506
146
120
786
660
928
825
318
34
873
214
402
591
168
710
312
992
753
102
731
107
677
144
548
180
134
214
43
675
706
206
318
194
480
672
1
167
194
825
120
150
765
230
308
805
274
52
84
37
991
237
909
684
318
66
533
784
525
333
920
582
739
171
266
25
422
446
96
680
120
433
608
932
772
506
727
459
970
407
460
897
159
240
589
102
705
219
295
834
774
402
933
452
191
3
717
491
158
17
949
385
857
80
467
291
445
420
965
486
231
907
968
132
364
376
945
888
572
722
379
251
212
432
269
148
233
770
730
869
443
211
522
640
372
933
421
811
94
826
137
568
303
661
198
836
464
271
722
26
758
765
191
680
322
641
299
578
907
731
864
110
128
400
620
635
758
16
501
327
951
98
291
898
206
146
403
47
459
678
121
186
601
32
388
821
253
677
966
145
692
657
305
447
132
652
913
944
787
912
172
928
510
608
3
520
82
463
887
653
946
326
74
130
419
953
862
128
262
187
479
234
345
616
187
33
708
922
399
688
108
920
339
913
258
229
666
177
255
886
227
964
826
410
738
906
564
863
531
764
45
702
613
83
239
690
562
56
921
535
0
3
779
97
746
220
903
225
850
15
461
685
668
799
270
247
433
66
231
551
354
624
734
353
457
380
767
880
902
984
882
649
627
373
500
790
984
166
810
112
657
388
220
771
357
925
309
327
232
347
747
589
141
768
985
472
252
58
225
558
31
47
39
773
655
606
278
941
459
149
819
591
268
39
177
453
81
936
171
408
944
125
462
228
646
13
143
389
675
906
971
39
774
710
956
203
580
956
400
99
960
821
429
568
762
690
68
663
654
851
758
851
449
899
570
307
286
208
503
124
262
63
231
544
902
901
908
727
897
597
740
210
97
486
424
18
779
881
415
927
643
793
868
925
297
628
499
789
328
640
823
421
91
722
831
186
281
949
485
163
132
277
635
102
418
202
748
141
327
977
556
817
463
195
283
558
716
547
834
700
589
218
531
103
181
255
357
422
239
96
504
620
774
378
23
533
611
651
950
378
211
420
121
527
466
67
424
591
532
424
158
365
282
287
736
106
555
511
914
421
81
159
478
370
483
681
471
552
848
383
239
553
818
346
170
675
58
379
242
296
83
566
118
855
771
987
607
381
78
194
908
421
665
526
985
411
670
530
438
403
699
32
145
223
67
872
703
683
393
226
756
989
930
293
149
333
247
973
522
792
665
60
588
675
731
678
869
211
173
49
800
417
121
950
223
838
824
616
588
429
15
503
135
282
681
281
691
533
897
112
921
117
581
830
616
705
56
545
417
187
998
948
642
889
642
943
319
987
624
198
291
440
943
927
327
892
900
359
375
598
471
910
576
87
195
952
393
819
45
160
993
309
170
486
928
795
150
431
569
323
687
374
210
445
568
287
805
439
827
861
119
56
229
673
55
127
16
857
238
854
306
908
153
289
464
171
651
906
178
699
56
359
401
529
393
385
387
87
65
649
569
464
301
665
724
945
589
39
301
178
641
312
418
756
351
324
604
106
510
304
289
447
39
616
746
536
385
795
220
60
334
878
803
990
343
862
292
318
843
613
859
401
364
607
299
94
284
659
853
61
650
324
343
890
267
681
603
578
621
255
702
619
840
734
398
683
438
234
144
935
596
762
62
569
822
971
80
246
635
97
405
471
720
855
167
554
347
9
804
100
470
675
238
686
669
653
147
640
245
688
645
200
528
232
392
126
145
943
347
805
968
643
503
765
88
517
886
158
733
405
250
737
427
136
208
171
532
240
198
393
592
235
526
356
479
446
224
5
326
750
140
674
660
115
544
804
549
622
703
816
864
462
656
613
831
402
464
598
27
35
872
915
145
129
233
196
879
319
626
101
301
589
460
783
980
256
902
167
108
696
249
891
484
702
726
522
237
367
932
588
817
172
21
899
714
735
219
512
424
223
346
382
332
718
762
303
792
746
529
991
882
253
465
332
126
997
750
279
177
529
66
256
469
321
619
97
683
789
305
318
994
199
969
929
850
868
826
568
445
112
824
761
65
587
587
363
728
121
168
646
753
451
775
86
836
986
851
279
397
464
215
950
442
987
724
444
398
132
475
76
566
266
891
891
602
814
444
170
389
738
732
400
995
212
547
280
863
419
349
668
293
943
975
959
838
397
776
997
46
793
291
560
77
525
227
361
263
8
120
187
156
834
197
9
649
604
659
993
528
434
437
906
780
151
357
621
150
19
716
753
115
515
104
829
592
7
14
782
155
187
374
374
712
866
356
331
241
471
167
290
685
483
171
574
200
149
918
265
784
176
555
199
373
529
266
338
538
219
712
406
401
937
601
251
602
938
560
34
101
503
390
212
93
587
123
634
977
371
217
840
819
438
536
895
963
309
815
493
136
900
604
513
372
749
293
377
263
723
66
839
438
905
271
432
375
402
956
76
704
31
596
914
796
28
320
632
942
90
72
253
572
739
259
519
45
53
409
525
282
120
477
39
406
564
42
89
459
829
715
507
701
349
771
281
181
100
911
368
275
879
704
674
527
924
915
343
822
462
683
403
669
256
144
149
927
376
29
404
403
467
994
364
54
469
594
64
108
170
31
791
811
314
186
659
104
348
899
88
330
465
377
275
715
21
63
429
612
734
193
65
751
696
748
45
695
768
397
431
442
670
562
412
776
62
917
131
0
473
876
253
979
54
626
650
256
220
471
734
984
752
50
414
47
376
803
131
709
165
918
801
844
740
557
312
298
737
656
214
556
821
791
633
264
82
694
274
240
512
596
370
151
319
310
614
777
895
794
891
710
562
758
93
332
860
880
424
678
896
842
610
331
896
951
782
77
260
185
880
195
92
929
17
901
816
671
738
864
918
418
700
79
984
821
274
473
42
530
149
546
423
675
939
142
427
664
852
101
597
926
925
576
980
464
763
781
800
482
354
491
151
741
867
441
999
626
803
362
673
928
119
334
930
763
453
432
128
25
570
89
913
774
73
712
276
985
128
365
240
200
995
787
24
192
389
493
617
519
373
979
638
139
357
373
562
961
684
779
87
490
367
954
3
144
260
619
914
245
362
535
805
433
796
500
568
724
924
295
117
821
340
944
709
873
633
240
818
785
18
70
262
847
494
765
457
871
920
134
711
540
255
461
430
702
152
121
793
611
102
244
724
769
554
548
602
203
864
890
88
915
610
757
329
312
312
400
630
701
261
420
611
537
412
939
123
210
259
535
80
926
525
0
536
817
838
595
600
221
101
938
114
969
634
585
585
791
750
472
185
152
754
145
38
779
826
994
115
727
198
451
991
852
99
116
180
712
731
318
820
934
511
999
19
776
768
591
549
146
428
586
587
548
259
616
454
466
299
836
977
520
945
431
121
17
623
680
21
335
38
79
518
792
906
754
697
601
742
753
929
709
359
688
574
494
495
367
228
478
532
943
517
856
795
228
645
589
266
470
931
791
365
879
981
144
829
350
141
912
514
420
586
979
607
896
980
862
482
947
320
416
293
911
296
248
638
452
274
510
860
337
575
81
44
97
98
596
26
848
164
907
171
263
911
566
113
671
897
31
345
640
828
170
646
761
916
935
395
921
278
960
519
892
771
486
745
804
443
112
731
14
459
24
592
655
894
632
784
983
949
227
46
193
357
392
866
334
993
200
316
304
199
499
354
846
399
649
190
948
188
823
60
880
397
283
409
783
87
679
110
606
511
402
634
593
733
81
703
221
192
484
138
146
386
261
818
56
568
68
65
727
781
672
356
979
617
334
646
75
311
921
166
743
442
647
291
318
579
634
93
267
893
650
544
608
628
119
603
989
102
900
681
317
300
836
744
726
173
283
61
10
569
266
925
220
739
610
695
497
969
770
488
488
808
280
751
646
766
450
847
705
804
936
760
120
973
143
101
961
85
382
358
955
518
61
194
257
183
49
569
981
427
983
335
933
763
410
814
566
523
471
327
464
115
698
135
620
716
198
126
371
172
232
622
94
25
964
261
503
929
530
332
717
915
801
79
603
837
864
343
197
256
966
318
755
0
388
87
393
262
201
397
285
397
789
272
357
594
96
781
484
49
478
969
200
610
160
729
297
21
877
419
866
60
858
283
381
924
836
0
965
676
528
463
571
785
711
312
857
903
273
236
316
352
563
707
381
6
267
997
358
517
435
971
853
4
361
967
289
414
619
147
462
356
554
891
813
693
200
982
249
815
129
994
225
473
16
658
969
751
181
534
390
14
764
40
477
310
95
529
176
181
457
707
650
761
778
711
318
127
689
432
314
492
149
851
405
3
952
693
583
685
475
587
460
167
119
135
969
82
27
554
103
354
386
874
550
858
438
860
410
167
504
82
204
346
241
577
176
289
637
901
313
993
82
574
905
664
264
62
400
62
632
984
394
836
347
80
325
260
881
141
258
72
64
883
123
209
808
803
387
252
405
925
675
198
462
351
752
613
849
138
968
518
209
382
426
231
466
864
473
416
284
176
490
768
84
343
162
622
125
994
909
378
257
657
629
751
100
328
964
711
434
776
993
784
439
131
450
6
118
582
148
844
818
810
566
925
464
81
938
279
143
480
725
3
936
835
342
167
120
915
727
52
699
189
393
814
360
698
613
386
77
576
706
381
261
422
340
664
505
826
794
943
413
852
325
713
970
146
888
456
333
215
246
96
922
326
373
466
483
963
718
466
126
90
331
186
360
96
625
518
924
147
551
539
587
617
768
567
714
716
362
417
422
986
505
335
637
439
657
894
452
145
576
96
809
343
385
239
353
445
892
910
1
33
494
327
342
312
151
148
351
766
933
909
984
993
277
451
208
647
477
818
213
172
603
838
954
376
104
591
578
258
585
36
236
744
709
624
108
463
45
633
309
810
805
714
979
344
886
790
684
983
885
386
579
445
947
8
685
841
773
706
466
606
896
673
227
384
169
257
558
883
989
560
405
786
663
911
579
207
865
299
720
179
207
508
665
956
823
271
234
61
922
101
787
347
635
348
945
3
126
808
35
127
175
138
907
211
390
995
798
482
126
622
454
557
909
513
849
368
651
432
652
869
429
91
268
295
67
658
31
178
558
984
949
437
695
624
251
887
979
648
490
150
613
70
209
47
194
250
435
266
174
263
9
390
452
853
152
700
45
611
764
214
902
382
903
261
521
666
573
828
321
778
903
251
79
643
437
616
532
228
537
792
512
543
226
659
787
591
702
886
200
146
423
743
470
306
443
519
343
904
91
626
838
197
463
275
411
500
346
648
125
518
130
335
192
913
966
693
38
12
805
768
853
559
804
220
395
602
896
527
806
947
131
96
497
515
163
440
854
682
32
946
986
529
897
840
395
377
47
596
354
156
865
69
66
880
163
267
502
115
64
500
16
826
999
795
402
429
581
721
635
456
30
387
281
648
426
925
755
110
189
952
73
761
488
253
377
727
827
800
428
26
192
711
844
776
877
34
897
869
990
393
732
918
806
51
676
887
800
19
946
242
29
600
801
851
44
0
667
637
176
285
878
717
9
739
414
529
239
767
327
505
899
1
444
923
985
517
750
53
32
577
554
284
865
806
815
73
93
777
827
359
916
725
457
364
125
192
15
946
840
938
309
394
197
81
596
710
946
726
498
449
527
424
32
552
389
363
151
931
971
324
556
97
849
579
539
921
942
626
393
677
550
313
968
942
608
713
943
697
422
784
398
453
18
269
120
81
232
886
131
915
490
929
360
543
658
507
15
260
605
515
152
225
975
553
733
827
547
718
2
703
963
975
498
190
939
81
614
142
525
665
836
200
750
625
159
100
272
955
425
416
186
764
415
492
377
317
803
365
210
221
167
513
477
189
952
702
802
155
676
751
443
933
790
369
780
878
139
419
543
218
40
920
397
554
733
651
169
608
989
72
465
407
275
726
624
597
197
81
325
871
378
476
895
22
56
186
486
266
546
360
535
202
363
218
65
338
306
387
446
364
834
59
801
3
710
420
563
917
322
457
273
595
149
779
849
372
202
99
818
809
754
903
839
499
580
9
783
164
299
895
800
304
204
95
257
930
769
708
500
853
949
314
17
834
413
826
679
629
408
495
623
50
28
208
578
326
731
817
656
222
732
689
304
630
870
589
845
535
999
628
654
598
490
721
362
720
168
166
240
292
379
946
224
864
28
406
876
183
20
455
126
400
831
390
410
802
740
658
862
213
383
754
45
839
572
989
825
619
672
639
561
837
211
428
755
5
453
823
431
648
29
556
897
998
891
781
255
128
476
621
309
330
297
847
604
660
344
583
820
435
995
746
315
535
559
646
974
891
268
477
504
453
614
58
566
398
275
252
484
846
867
613
395
988
637
839
792
824
754
274
648
322
951
632
340
331
560
539
803
499
839
936
246
336
71
333
925
811
0
71
948
972
87
918
169
914
398
284
411
158
583
942
830
616
725
259
513
223
438
744
436
839
928
443
43
530
292
450
208
431
751
899
607
609
754
863
32
540
549
793
673
462
169
113
629
937
734
56
577
823
171
284
891
333
665
293
463
254
593
366
295
718
194
602
271
762
133
599
180
657
223
328
830
362
162
91
284
169
740
211
190
152
976
20
310
223
293
719
760
195
984
425
271
911
720
42
537
689
437
824
755
317
354
172
753
353
943
92
454
310
480
58
281
573
562
336
0
767
861
953
52
391
938
558
287
414
663
378
933
106
182
193
578
933
675
534
499
231
174
155
647
227
779
882
97
984
842
970
551
788
875
763
657
727
146
917
146
238
369
848
11
298
379
296
97
336
117
409
454
988
439
627
600
341
694
649
437
218
771
161
891
155
71
865
611
669
340
595
516
815
677
440
751
349
38
97
711
845
640
302
130
349
357
20
731
686
289
292
57
520
533
352
341
723
654
422
757
299
898
891
828
394
573
589
128
909
969
300
554
935
748
415
735
450
595
636
87
421
419
958
239
606
103
729
801
971
804
422
992
163
684
725
304
527
346
375
393
271
245
345
165
603
889
91
481
401
157
853
798
484
87
661
723
596
664
264
980
634
617
689
482
146
389
404
396
953
458
726
711
355
405
326
227
902
588
546
599
577
723
745
333
353
538
554
773
679
957
528
495
1
477
712
965
382
602
544
569
454
81
802
284
212
290
362
781
993
69
260
494
372
794
254
153
761
416
415
261
630
633
796
254
161
783
574
942
11
89
491
451
421
766
58
698
800
406
187
394
177
578
9
599
101
806
713
477
95
623
785
965
805
53
180
564
894
159
961
504
38
715
851
592
551
816
890
153
717
431
814
708
633
14
427
402
813
194
452
202
753
211
784
391
164
1
346
233
334
759
663
455
760
105
752
657
321
467
400
990
280
862
647
890
792
136
707
860
154
950
825
921
961
382
677
391
260
193
926
414
51
804
730
51
720
856
56
526
848
404
291
1
36
299
729
403
10
922
654
793
665
776
718
404
551
923
623
259
957
15
662
560
334
825
877
836
700
131
14
809
913
101
735
392
318
142
999
767
81
787
600
990
699
747
50
48
690
88
505
171
29
761
319
986
0
223
747
536
526
967
407
807
752
585
739
127
92
955
800
810
483
382
420
165
329
435
53
806
770
689
39
450
751
525
527
873
840
694
993
459
526
901
624
880
38
326
193
880
36
78
290
560
756
489
890
708
196
79
170
488
491
633
449
388
198
112
940
669
453
592
653
625
851
833
121
247
783
761
876
743
67
770
290
792
283
223
341
178
934
408
832
279
397
489
340
162
176
579
284
859
184
963
764
846
702
899
825
316
144
814
411
60
218
282
572
165
491
24
325
8
868
488
474
569
597
768
78
737
57
860
185
724
149
248
398
368
111
298
639
599
616
344
881
887
92
981
171
313
473
403
944
372
639
475
948
260
949
534
955
871
896
121
612
126
469
278
611
157
797
839
764
584
281
195
658
766
367
721
318
576
636
266
181
420
911
362
775
935
424
761
241
275
268
751
9
181
396
53
130
305
675
415
530
777
636
128
603
379
465
617
685
104
569
322
541
937
491
327
596
788
180
274
915
129
18
639
742
95
798
330
130
442
912
14
332
479
327
510
620
479
756
953
857
379
983
681
732
212
769
798
974
274
729
270
484
27
349
574
495
83
296
314
235
961
529
423
428
270
485
79
738
690
143
173
259
558
372
591
545
444
846
234
976
175
952
954
756
359
131
926
329
551
251
352
80
506
232
743
90
798
134
794
825
763
867
297
942
969
773
688
405
120
898
653
546
877
224
119
755
871
203
149
538
270
101
788
867
295
518
76
540
342
34
83
713
610
721
338
870
411
833
366
196
958
765
710
265
911
27
872
280
443
72
227
166
298
606
262
628
757
745
898
301
677
968
875
724
770
908
50
760
789
451
322
620
159
711
49
433
317
58
749
833
877
898
314
318
479
149
792
727
788
782
370
210
795
245
702
395
479
366
315
443
811
85
338
204
118
102
678
741
769
905
681
96
598
85
803
303
31
356
246
672
235
342
614
902
763
105
514
166
716
594
115
229
414
496
706
541
270
563
204
884
932
759
0
478
834
647
733
966
891
915
994
178
339
450
660
350
61
10
945
700
938
332
189
342
582
243
127
369
523
210
119
55
302
546
949
828
440
805
15
498
316
627
744
377
734
166
720
191
562
412
466
123
491
278
14
857
623
536
353
108
527
240
451
776
573
576
609
779
979
770
530
854
974
659
457
507
478
624
750
349
785
346
782
270
182
730
876
431
89
294
515
474
813
88
91
114
842
522
375
394
992
483
563
525
882
376
594
511
127
708
941
194
11
643
840
974
565
257
288
801
511
793
230
85
748
598
137
111
11
693
76
518
545
326
0
552
529
713
344
731
53
800
287
177
258
549
377
809
355
534
890
376
301
562
505
399
259
582
930
227
241
886
594
325
863
493
782
638
533
781
817
835
821
960
700
172
567
239
561
243
850
178
152
492
903
629
147
452
694
988
952
428
698
622
697
708
236
464
559
97
192
542
525
926
690
263
461
493
208
913
467
169
147
892
821
444
544
483
138
106
29
72
210
496
166
19
34
546
708
338
132
155
457
985
748
270
910
345
573
743
248
362
579
100
527
135
318
505
861
443
654
641
383
892
406
971
679
732
911
798
852
297
963
137
159
179
243
218
546
127
381
537
774
641
300
176
895
224
897
624
62
725
956
834
40
497
325
804
10
28
113
48
635
639
350
490
514
112
929
562
354
591
190
146
676
91
655
674
686
36
398
427
990
272
925
157
768
752
769
733
406
316
108
404
214
579
995
35
776
332
336
872
690
129
146
496
147
144
575
47
388
797
474
36
512
106
463
162
429
229
144
422
175
19
51
880
822
671
47
710
825
963
678
663
881
47
124
275
899
714
936
207
496
338
31
934
430
407
378
631
295
660
311
52
364
792
494
319
166
569
797
558
961
580
205
808
115
969
752
111
683
575
729
124
910
170
510
225
944
913
425
978
151
799
577
606
918
928
458
816
456
660
105
427
64
494
568
511
163
56
850
870
681
254
980
445
694
51
548
664
45
117
315
670
583
895
909
580
973
98
27
510
974
578
149
149
214
208
180
366
459
511
829
759
482
544
415
455
106
244
490
883
276
331
603
598
481
596
500
783
304
707
20
907
953
166
935
69
852
716
445
401
646
167
643
717
889
5
344
120
997
590
782
458
518
488
85
125
713
459
963
597
844
309
31
637
489
388
256
956
557
322
937
306
542
470
814
293
42
687
664
930
618
794
45
659
881
909
324
545
167
620
310
187
692
310
726
319
393
693
270
387
334
446
433
206
479
283
481
878
979
323
583
287
749
449
238
930
824
563
546
77
224
197
180
271
473
141
262
577
20
593
918
685
80
896
581
515
312
66
498
365
550
862
825
730
350
265
248
842
731
298
290
82
465
550
209
552
16
955
459
654
309
828
567
852
842
396
958
780
80
768
403
272
327
709
172
664
218
113
369
401
313
16
388
164
236
991
752
346
708
471
293
207
108
15
721
158
608
650
235
851
455
673
433
61
909
153
328
562
626
717
884
151
303
923
322
568
671
723
484
551
251
870
517
730
266
254
557
850
99
509
284
437
103
385
594
517
313
800
789
758
175
681
439
809
662
559
246
839
962
644
795
868
301
381
937
621
205
886
5
663
670
415
947
109
489
482
975
284
63
980
208
571
892
35
499
390
536
299
50
751
872
847
46
434
935
368
874
383
232
342
239
275
706
76
490
573
669
362
533
359
543
699
561
413
805
842
554
613
491
505
199
369
346
601
669
905
654
73
25
631
269
68
233
83
134
894
817
109
374
532
103
235
44
633
567
680
594
33
94
2
640
414
607
922
65
938
299
133
491
937
979
732
444
815
672
801
481
146
618
614
212
31
959
490
177
332
413
295
237
894
432
31
657
380
824
139
980
452
21
143
779
50
896
187
950
114
40
496
782
748
365
926
331
330
390
594
417
40
261
898
749
440
744
158
106
563
459
46
707
767
302
740
735
544
818
792
371
195
797
64
445
139
876
230
244
804
924
396
750
392
851
804
284
911
539
973
2
476
611
2
102
43
666
470
963
850
485
976
940
842
542
782
58
545
910
976
519
785
964
371
893
308
341
696
809
676
944
590
906
56
110
329
149
384
376
341
345
2
259
105
301
924
435
682
291
552
937
468
113
37
819
599
445
533
828
876
941
420
212
437
57
594
487
563
960
321
196
656
323
557
917
716
525
58
86
406
681
788
89
547
916
639
292
458
338
626
569
26
302
824
823
130
717
496
573
483
821
722
791
417
823
957
923
513
261
617
622
371
871
56
225
210
677
699
228
793
632
198
675
775
176
416
157
245
587
368
729
246
745
820
317
28
520
306
968
380
538
943
788
195
610
842
55
50
754
542
175
685
600
210
340
718
815
598
138
826
254
983
492
492
763
128
319
4
192
231
969
427
787
160
57
677
657
740
427
43
665
38
490
119
982
550
461
789
321
378
885
890
233
196
601
441
880
769
363
547
561
968
816
790
988
600
606
677
149
520
361
117
734
98
172
757
631
688
228
547
953
878
397
272
679
416
359
475
951
952
246
216
649
578
143
700
321
783
308
647
577
203
314
930
889
618
333
926
322
688
56
893
25
172
224
43
203
172
820
570
878
303
704
95
563
218
276
603
10
168
108
575
112
978
269
431
465
670
990
129
988
321
997
472
255
458
833
180
968
352
894
79
869
747
662
914
96
155
754
523
852
60
138
165
913
434
521
735
48
753
661
682
428
999
478
700
374
868
706
89
141
554
215
134
74
677
785
76
784
575
687
582
831
594
539
111
874
514
486
336
182
148
406
763
319
35
480
336
789
895
928
752
808
450
591
913
785
350
38
107
373
869
842
7
815
688
944
135
199
597
47
299
662
464
221
724
918
502
699
443
295
496
749
786
165
436
0
71
144
766
781
984
735
50
253
353
291
830
179
168
979
308
83
771
65
243
648
799
245
74
868
243
397
506
7
898
644
500
156
518
467
687
338
189
798
424
180
732
266
431
844
162
158
347
423
757
27
890
681
344
588
996
152
123
355
562
286
5
385
505
802
84
523
850
348
868
653
441
478
292
434
437
948
547
871
384
470
553
276
931
668
632
214
639
640
284
486
799
155
565
971
354
534
410
921
2
973
468
864
953
889
172
465
202
709
228
864
297
29
341
156
484
92
668
648
610
146
378
446
812
41
842
414
684
488
976
267
972
29
972
45
341
477
331
364
114
470
421
414
477
941
787
102
486
468
530
64
419
516
951
478
91
345
881
249
991
274
444
527
9
567
113
792
447
850
257
989
771
162
461
404
619
554
363
808
693
485
880
302
779
673
94
210
375
189
119
271
71
456
18
465
213
962
197
349
81
212
118
831
96
678
413
925
676
659
726
540
314
820
971
165
929
597
759
788
115
836
504
141
263
564
700
527
287
490
148
635
625
760
135
348
737
29
390
885
844
896
237
472
132
34
795
35
224
111
198
802
788
565
61
940
1
930
853
748
950
696
935
523
935
448
527
585
347
133
524
223
28
974
114
570
564
782
68
158
836
108
845
339
824
869
224
529
82
1
438
128
933
284
705
595
917
535
210
638
625
839
214
652
227
202
341
828
119
669
18
377
561
661
829
434
366
965
294
695
854
718
149
944
754
774
825
952
83
860
694
528
749
892
822
15
789
149
799
627
12
980
39
991
859
980
935
521
963
412
489
886
374
740
525
383
647
262
224
974
103
54
725
673
33
432
197
139
107
504
486
821
751
105
370
175
639
138
24
825
662
849
372
167
315
471
390
288
591
927
125
673
804
259
374
812
20
499
457
311
787
532
48
197
542
876
356
233
933
757
676
652
586
65
956
771
236
754
104
69
87
192
393
43
184
893
392
4
759
809
809
838
108
577
474
660
927
840
38
790
316
283
992
450
835
112
524
977
821
621
329
700
532
62
593
946
578
427
421
104
417
399
55
73
905
684
200
931
388
30
506
975
972
895
326
120
939
529
443
520
767
745
319
137
585
410
598
982
890
76
624
396
162
154
345
780
9
724
413
864
247
316
979
778
205
159
997
685
203
312
798
752
298
86
528
368
878
6
849
977
738
122
729
706
850
308
336
347
502
58
144
37
642
226
402
838
637
869
60
978
709
574
741
204
760
352
681
954
772
63
831
261
380
481
132
924
837
721
810
111
965
337
91
960
442
788
413
300
296
445
756
718
158
997
179
928
794
800
959
591
635
546
578
212
530
305
37
114
565
879
225
784
366
826
502
432
445
203
908
983
83
589
827
793
34
862
80
913
717
518
944
799
986
422
826
772
305
518
572
873
615
10
319
268
155
936
683
874
912
330
402
451
693
790
146
690
232
432
570
549
985
744
703
339
58
253
513
592
150
969
218
844
61
978
63
993
882
328
500
597
658
162
175
521
647
644
985
581
19
882
567
372
193
24
879
178
885
696
42
547
903
903
362
359
716
495
408
627
813
420
482
86
829
69
439
315
161
770
544
794
621
641
26
371
720
442
140
178
165
742
484
24
396
351
377
159
997
454
386
36
266
735
688
757
222
822
321
633
697
514
60
6
19
537
821
34
411
517
780
632
158
929
238
480
753
980
431
798
320
168
616
254
397
89
940
62
518
116
702
611
893
636
37
864
610
46
795
0
681
543
230
853
799
848
300
900
276
998
363
231
199
916
0
946
246
202
662
838
559
783
36
519
59
817
242
756
81
271
408
834
612
715
684
629
32
43
206
36
148
381
560
470
813
851
947
966
523
826
877
603
510
407
793
776
747
397
687
161
482
467
836
415
962
192
685
259
673
763
424
447
614
309
972
954
649
358
131
388
465
994
754
809
174
349
870
461
782
151
509
900
140
279
412
72
132
626
592
849
657
820
381
215
371
354
421
806
40
835
123
538
165
817
192
560
448
408
156
240
239
129
668
857
718
414
617
627
457
780
782
694
97
737
352
909
728
490
68
626
602
968
664
425
702
548
528
914
17
399
286
363
585
712
31
705
935
428
589
843
646
387
860
424
191
272
220
821
669
237
418
932
710
317
864
419
87
872
418
962
908
25
49
17
404
685
745
672
179
884
651
311
686
446
257
973
506
920
685
195
305
151
723
588
228
772
162
509
216
390
69
576
591
742
925
897
973
719
382
405
987
813
141
134
967
770
591
353
703
833
282
907
237
711
55
273
427
425
316
930
842
851
153
970
459
64
931
201
939
75
358
70
550
631
610
970
75
757
465
567
606
59
466
539
369
991
507
678
426
608
741
838
487
704
780
692
498
546
213
280
11
734
3
732
927
934
596
432
322
196
283
274
315
364
758
1
134
1
199
45
829
584
415
251
471
548
70
681
473
202
404
568
835
598
248
734
841
212
216
562
560
213
43
433
998
985
850
121
702
684
365
798
265
78
225
946
188
863
46
103
411
441
319
874
992
720
513
255
694
558
230
633
5
314
174
343
740
105
269
511
151
621
691
693
978
153
474
734
456
88
538
480
157
918
951
911
359
80
711
436
848
955
846
152
11
334
605
910
345
468
688
63
64
135
826
147
782
111
608
98
254
479
525
452
876
685
956
635
485
514
802
767
538
783
974
569
862
916
0
194
686
124
270
673
285
244
549
632
485
180
394
747
353
420
406
385
464
765
104
776
307
49
577
514
483
446
717
840
99
397
88
132
217
45
200
773
611
695
885
209
441
166
516
296
135
277
410
920
218
858
352
331
959
895
256
645
938
160
413
990
510
305
266
815
515
718
27
828
671
514
967
715
329
448
892
309
634
372
436
812
304
287
618
267
812
466
279
630
302
721
181
443
532
813
449
872
17
738
9
121
431
373
331
900
476
449
243
932
220
806
629
388
77
324
217
540
74
289
889
513
332
613
537
730
934
385
297
239
611
331
271
57
393
438
152
195
122
356
814
735
843
322
22
150
880
715
739
737
203
713
989
179
697
257
394
402
523
107
365
550
122
283
999
766
413
752
625
959
963
817
754
805
671
593
773
203
467
179
50
342
216
523
713
197
454
736
406
121
457
535
181
184
103
990
452
304
83
289
150
558
714
357
262
21
309
301
827
322
993
59
230
703
242
987
219
31
915
899
632
695
73
473
657
183
126
391
283
43
150
445
735
587
847
365
917
33
569
340
448
91
814
699
875
986
377
692
584
864
770
127
371
14
165
581
597
165
667
32
478
771
519
126
492
813
364
48
64
27
549
962
75
420
555
634
179
256
829
780
947
432
211
746
112
319
443
442
676
319
729
797
166
413
225
826
641
472
757
226
120
754
404
646
550
245
76
782
222
363
829
198
954
624
634
564
688
728
549
627
571
265
786
20
397
2
979
656
917
797
627
442
878
196
760
823
900
862
791
826
202
771
88
968
793
514
419
221
272
685
264
670
955
167
33
155
519
963
144
457
350
872
829
830
249
982
802
511
776
300
782
306
601
699
657
130
76
812
228
255
604
218
443
342
586
342
547
416
978
668
577
299
670
731
959
923
2
794
298
311
384
281
743
458
585
853
716
114
913
361
201
458
97
872
742
669
295
751
281
873
483
249
709
964
16
585
289
426
561
614
250
489
997
932
178
979
279
775
905
960
345
668
519
910
283
869
137
831
921
16
494
970
429
181
120
170
677
2
907
799
175
473
794
353
659
180
462
470
802
188
138
751
519
438
833
809
533
26
929
903
585
786
815
191
82
665
310
140
563
357
476
523
734
706
0
449
297
927
760
301
715
971
873
59
949
369
931
881
531
775
925
76
60
333
198
493
643
851
190
381
993
65
121
41
501
137
318
587
717
163
462
808
363
987
160
412
869
699
47
358
390
849
762
576
681
36
70
210
484
623
26
914
233
816
510
773
831
921
130
17
861
301
71
225
29
993
41
167
245
774
475
711
825
280
236
886
696
470
528
256
340
755
70
236
250
914
71
87
7
666
269
70
817
706
557
474
542
201
382
936
338
590
530
548
669
239
29
815
983
50
276
10
671
905
562
920
608
707
462
493
875
839
718
695
677
420
928
851
852
297
192
1
566
279
211
641
881
170
820
628
233
902
39
840
583
450
447
454
351
932
3
871
660
442
204
850
604
551
726
340
590
895
431
12
368
287
421
332
844
592
415
145
909
773
554
118
339
929
181
649
382
866
194
550
35
748
34
147
748
341
346
345
270
656
482
819
210
606
323
979
517
709
142
150
17
989
951
237
264
168
456
139
24
904
173
960
584
859
872
997
206
978
437
238
752
263
661
639
997
778
137
823
210
923
111
367
932
994
968
405
268
12
608
400
948
616
8
845
915
90
729
40
541
213
235
60
3
762
11
612
268
675
565
533
2
332
702
877
77
36
948
797
652
94
736
577
280
179
2
645
270
283
609
23
810
515
789
761
372
870
65
75
44
663
318
848
696
800
578
359
106
797
538
452
47
248
473
414
421
900
829
786
774
355
759
557
431
449
597
230
754
798
19
168
841
882
946
221
367
8
210
445
413
142
996
130
34
987
886
532
839
742
228
420
182
285
879
265
128
402
802
798
686
250
829
341
483
866
698
645
380
696
246
897
143
959
980
756
867
734
307
269
994
587
277
439
106
950
717
246
602
347
81
878
835
280
330
213
933
421
303
745
428
249
837
92
445
90
175
854
403
288
574
686
8
752
165
645
786
431
428
796
419
350
588
808
645
896
33
576
583
281
976
822
822
407
544
651
586
832
995
573
434
36
568
117
232
999
330
68
359
441
956
707
814
454
763
895
622
274
993
50
924
186
457
181
280
171
620
971
371
117
147
816
902
372
449
77
93
402
742
295
900
294
572
954
864
329
289
712
727
116
206
563
417
179
710
365
889
453
31
774
395
58
826
888
462
296
639
94
459
85
481
855
358
308
34
313
13
402
93
602
642
447
845
2
538
660
706
905
732
211
874
674
834
32
793
11
377
458
68
36
30
478
45
680
351
439
281
276
21
519
240
510
839
989
698
359
634
521
678
425
155
736
128
163
985
612
457
27
375
343
258
433
58
113
983
118
659
167
534
967
733
168
548
872
40
371
584
988
502
869
639
507
863
97
714
822
1
910
410
692
402
496
726
944
287
253
971
249
800
596
912
228
395
414
119
604
979
935
181
709
802
333
141
44
250
866
83
670
335
200
401
454
567
475
579
769
318
93
822
868
775
76
765
220
117
279
164
15
483
218
934
113
451
125
200
648
689
701
931
64
523
617
47
571
991
701
301
986
786
382
248
139
586
533
906
254
597
568
801
852
611
796
316
307
622
786
283
599
272
354
407
508
503
191
525
71
753
670
540
254
229
459
650
304
768
149
263
663
365
428
685
505
715
733
359
9
237
527
769
769
849
122
785
187
88
687
488
356
496
906
172
136
461
871
400
729
764
872
942
894
622
251
476
325
293
826
166
527
31
317
322
641
543
761
620
666
751
753
449
489
917
367
988
457
448
435
436
410
340
667
565
709
577
348
954
554
330
92
527
799
582
289
45
258
623
70
883
891
526
193
175
447
158
750
148
194
204
377
316
466
700
410
142
770
779
883
314
637
654
660
195
28
836
360
186
821
718
786
320
9
22
226
454
578
581
756
129
816
12
679
333
338
311
446
645
40
168
867
838
180
689
237
281
382
800
533
887
660
254
907
395
11
791
252
626
868
267
45
666
240
998
861
839
31
244
70
398
455
436
950
891
854
289
522
914
352
515
85
642
640
943
540
40
821
909
624
182
946
113
43
701
715
604
128
629
246
815
506
450
64
182
812
527
119
58
241
89
621
34
843
908
101
959
608
515
358
478
454
532
224
613
615
873
909
208
489
14
971
296
355
565
852
278
808
681
721
161
156
331
781
92
225
453
257
581
25
582
311
477
94
725
677
264
484
686
655
393
280
460
912
830
402
105
469
199
0
664
230
997
944
205
421
915
854
14
312
106
529
757
640
342
653
175
631
862
481
139
719
853
752
640
546
632
47
961
25
628
147
493
702
689
654
849
506
232
774
257
469
713
873
632
163
515
55
401
101
200
479
727
743
986
92
592
170
81
381
486
465
358
174
755
398
956
332
61
713
615
642
269
861
123
926
792
976
956
447
974
632
978
485
338
37
289
324
113
820
315
52
801
623
381
910
172
850
320
208
298
523
20
227
615
880
112
376
768
791
186
433
447
565
907
377
408
321
402
95
321
133
358
628
95
436
843
490
171
360
438
559
552
364
41
68
415
935
30
798
591
576
255
767
12
20
904
622
574
297
409
100
951
235
330
230
14
785
395
442
355
331
93
504
305
123
192
121
500
743
878
605
566
305
418
923
939
279
860
186
222
928
712
246
511
984
596
777
545
483
720
344
66
914
206
895
60
263
584
645
456
179
485
970
712
543
886
323
68
175
63
692
56
533
720
274
807
49
615
356
267
134
297
805
168
41
631
574
352
978
673
490
951
218
811
227
348
71
451
310
96
744
618
605
794
75
622
288
858
961
672
68
703
451
810
876
195
831
683
42
524
255
610
685
32
140
204
886
515
606
438
229
455
738
887
964
813
520
986
681
893
727
409
897
578
911
148
183
839
88
145
849
429
50
913
16
913
268
694
326
382
921
977
287
438
449
374
110
882
418
785
638
614
67
406
526
373
437
860
257
559
418
468
506
192
66
589
617
136
450
828
475
902
604
806
551
393
90
838
392
622
577
407
967
907
325
642
858
847
358
751
537
24
890
554
148
403
940
292
977
741
575
122
625
474
529
256
717
924
878
767
101
416
750
686
72
709
37
152
71
76
752
240
98
378
739
224
984
436
557
236
967
570
15
603
440
84
151
34
449
416
976
321
721
334
140
38
838
507
812
168
976
127
508
181
120
140
175
818
797
752
150
308
589
495
393
883
274
267
16
936
887
404
308
941
734
604
686
522
66
511
289
110
423
476
158
798
709
783
722
446
462
505
164
179
896
970
519
728
570
505
845
171
0
490
784
296
380
384
708
245
587
520
604
485
352
354
226
64
321
414
151
571
205
403
566
343
426
124
873
532
523
838
207
505
62
760
711
534
405
603
435
169
629
225
350
24
875
381
196
452
25
729
926
458
995
582
679
29
490
278
959
967
244
956
516
862
688
430
27
595
743
968
936
705
226
828
104
887
718
176
428
25
427
161
289
467
586
931
621
330
888
826
735
713
670
958
136
462
604
644
168
269
970
565
478
361
779
535
471
749
658
633
841
585
889
157
949
452
649
124
973
789
414
170
303
811
122
712
961
497
418
340
756
238
542
346
214
745
943
957
357
958
63
836
319
141
896
3
148
950
801
205
259
794
330
726
107
839
202
813
717
13
118
909
800
998
417
930
520
554
392
375
90
615
875
881
194
18
169
738
488
404
700
83
94
958
179
533
355
89
285
102
347
788
380
585
688
904
603
740
857
666
433
412
365
729
723
897
568
735
869
863
380
873
201
268
550
725
271
522
586
868
247
548
92
642
82
706
202
150
544
532
587
17
146
976
460
34
524
358
301
211
29
795
897
787
429
920
700
524
467
240
644
713
645
155
550
994
552
607
334
661
814
167
987
82
422
945
783
705
638
990
795
918
131
654
305
778
837
791
793
548
395
881
898
87
342
966
163
991
105
313
859
128
197
249
470
493
244
529
883
318
179
463
140
960
756
231
7
600
109
987
938
908
225
842
780
981
396
136
39
203
77
554
80
208
419
924
567
512
325
342
458
879
797
34
275
844
950
406
707
773
738
894
15
468
96
636
683
574
842
999
857
327
22
191
29
310
846
545
668
836
319
630
80
463
896
743
40
720
496
394
720
49
255
780
695
731
793
398
803
421
49
524
744
671
223
21
248
14
248
621
464
975
773
587
565
358
880
49
376
887
40
453
683
627
512
903
546
692
497
632
653
20
866
907
452
268
866
304
795
822
920
814
539
268
838
485
36
546
639
30
920
56
706
593
210
938
875
617
342
316
124
13
454
439
779
108
299
955
620
53
433
499
56
143
958
615
907
917
54
340
599
614
124
517
944
675
551
544
965
375
171
977
833
521
461
396
397
319
928
10
36
267
55
838
394
761
38
463
343
459
726
306
608
268
762
609
149
760
949
822
245
967
139
33
301
5
323
185
979
146
443
66
775
103
582
894
304
661
511
564
918
88
99
427
87
68
852
924
530
381
398
200
200
860
858
342
925
390
954
223
173
88
73
367
296
319
481
995
291
705
316
882
680
195
454
874
810
38
361
677
883
675
407
343
641
249
223
231
704
806
311
850
83
100
488
904
295
386
760
581
881
563
958
275
949
31
291
480
402
576
65
652
994
114
462
577
536
578
669
344
910
928
530
871
226
286
811
389
141
236
968
17
472
857
25
403
908
823
394
108
798
133
431
428
865
917
738
875
373
361
158
717
226
375
739
588
23
139
116
738
450
156
555
835
946
919
342
410
944
403
482
403
707
928
122
914
92
574
821
495
0
937
559
201
33
253
822
755
164
680
367
997
322
534
459
755
691
115
755
12
281
521
819
5
906
447
840
873
49
933
373
917
237
21
441
217
77
329
215
276
978
582
604
61
577
940
886
851
617
797
712
715
553
362
554
668
832
328
525
603
30
227
274
458
334
651
720
176
854
517
900
431
426
214
597
216
113
956
673
370
432
545
406
364
349
929
553
230
351
596
136
928
163
704
391
147
724
753
262
434
847
917
218
489
844
665
222
390
722
850
521
374
960
41
769
821
981
406
332
231
90
960
341
957
92
219
99
398
266
191
341
635
242
183
637
141
182
621
318
553
397
199
737
442
943
988
884
94
553
153
1
606
228
576
718
647
814
128
396
877
231
878
339
349
6
948
385
378
233
132
164
515
575
215
399
448
162
772
485
348
235
424
479
112
891
586
831
75
440
98
921
716
302
925
474
518
762
375
657
521
34
491
103
281
673
927
622
141
413
509
202
640
918
425
552
840
916
301
790
964
768
948
940
734
108
794
272
879
773
606
272
715
802
521
437
707
229
871
873
85
867
278
37
981
197
590
218
541
393
762
343
299
568
227
816
986
511
592
98
372
333
606
994
621
253
491
964
718
172
390
661
663
983
870
838
445
132
252
244
61
480
184
497
54
21
690
178
981
220
18
549
738
351
806
479
542
288
410
802
494
962
692
935
425
408
254
917
660
385
598
455
656
283
835
313
350
657
511
415
889
610
657
657
724
790
533
841
560
902
866
921
6
795
166
633
673
448
717
273
511
169
974
302
594
538
385
863
73
578
3
8
477
450
345
466
754
887
336
257
441
733
9
949
130
404
784
700
61
650
970
462
980
80
282
345
357
558
169
741
423
205
91
261
638
735
422
614
276
182
742
30
828
506
421
892
780
84
27
925
478
662
369
791
167
245
997
549
680
140
709
436
616
411
654
895
452
666
299
323
733
665
196
939
202
646
526
477
422
320
639
983
649
942
246
140
242
806
729
81
450
516
932
404
554
513
132
218
850
588
564
653
644
293
65
970
147
330
336
885
589
200
956
596
85
213
689
549
700
393
640
166
590
268
819
853
889
464
353
743
736
348
877
34
745
296
543
846
444
706
588
972
322
685
533
773
146
596
843
587
901
211
0
975
527
485
996
161
606
927
646
89
735
859
0
428
854
719
298
983
937
917
429
850
583
415
809
367
761
314
271
682
186
123
885
76
67
922
28
895
999
774
297
374
393
127
298
902
272
288
711
421
128
684
298
412
390
932
279
765
402
317
984
295
474
222
240
648
938
38
210
570
431
608
363
629
135
486
160
666
864
951
545
799
421
854
35
782
105
718
774
937
9
532
613
292
252
738
501
960
601
234
115
406
979
262
322
760
821
268
825
437
844
124
394
691
662
472
850
679
721
890
461
716
787
510
697
476
340
920
927
835
675
390
48
230
674
485
812
393
205
533
892
109
412
574
235
500
131
281
20
991
405
994
320
121
802
549
314
981
557
183
265
302
204
41
456
226
723
223
669
473
413
469
111
814
373
43
666
841
980
844
774
999
809
763
566
772
91
347
654
938
257
424
402
344
636
171
597
268
511
593
656
522
260
856
399
529
918
92
254
560
700
163
176
339
477
228
967
38
870
543
910
474
513
280
293
730
124
43
130
802
102
710
806
599
289
407
368
444
109
97
977
520
306
411
384
269
450
287
205
503
248
300
756
485
632
329
761
467
973
4
434
779
973
933
762
495
713
229
771
401
31
228
957
701
413
475
534
248
686
486
517
604
675
761
224
503
376
723
116
860
407
668
641
753
770
386
230
676
949
102
889
250
29
95
439
407
377
916
66
901
622
73
37
508
855
676
237
133
65
60
78
66
724
163
473
860
211
399
313
346
464
677
735
552
586
471
146
267
915
348
15
934
912
431
181
155
550
533
70
717
627
844
909
905
126
280
384
270
329
329
203
983
541
174
0
266
205
271
373
303
27
475
190
266
780
811
283
251
746
786
904
438
311
59
628
560
254
699
506
988
840
947
12
383
286
662
736
112
176
475
358
971
122
885
172
673
656
966
559
173
885
424
81
375
943
873
672
789
44
881
718
464
544
880
709
125
358
344
231
11
155
852
573
146
14
976
399
447
238
140
59
13
382
20
353
579
805
452
595
175
962
947
222
493
239
175
268
520
81
947
811
197
897
829
980
966
7
423
734
671
284
140
892
550
216
415
985
798
62
191
589
700
597
61
544
45
577
113
370
584
893
896
29
370
17
873
320
357
607
6
522
339
598
375
926
479
631
249
497
822
591
733
742
41
936
52
273
439
340
500
624
582
62
451
895
912
762
57
159
250
450
814
191
302
130
957
355
588
955
26
708
213
303
257
338
74
603
921
21
365
277
600
819
762
323
474
381
92
714
672
851
166
768
962
136
815
554
591
730
907
606
451
240
547
5
478
896
732
702
928
114
456
699
463
923
110
458
814
409
704
292
173
965
865
505
773
153
813
286
174
943
459
254
386
696
258
282
595
982
670
127
338
645
198
130
124
215
158
234
965
702
605
76
520
586
670
667
736
759
355
226
697
161
671
612
552
673
288
520
446
261
946
121
213
261
740
214
822
499
33
893
881
686
26
243
687
445
62
779
404
749
412
143
304
898
703
124
62
605
72
455
70
61
346
196
392
365
407
699
571
301
370
906
29
906
666
762
629
591
144
546
504
794
553
180
100
859
309
80
473
640
433
996
540
785
259
120
1
0
182
422
703
159
502
533
862
983
102
205
541
191
811
43
313
732
17
887
951
724
303
632
253
563
785
794
486
880
572
462
144
86
324
870
940
941
806
40
481
844
656
580
166
403
625
25
653
731
923
981
597
439
539
142
682
721
260
622
473
93
762
559
648
60
303
584
963
371
143
355
492
272
684
799
82
703
554
598
161
674
320
254
908
831
780
19
861
166
561
889
913
99
74
808
166
687
601
226
853
77
82
60
577
427
76
463
321
379
906
199
481
224
682
254
295
183
144
287
27
246
953
344
807
225
201
975
674
948
776
760
440
133
975
749
44
442
531
698
4
283
949
902
512
268
405
361
14
625
469
423
690
696
612
561
671
589
57
636
176
866
830
337
37
29
963
429
413
843
50
165
841
566
473
208
920
896
706
147
724
849
357
37
134
688
338
921
187
483
18
726
271
434
674
457
388
317
484
971
469
900
295
529
504
781
218
324
575
142
738
882
554
599
481
799
203
155
621
763
50
762
387
695
525
553
803
507
26
88
84
486
221
928
915
235
953
899
342
978
771
920
862
479
999
320
786
583
266
565
185
574
816
721
982
419
171
369
967
392
292
34
272
404
517
584
891
202
885
208
274
133
669
306
378
213
917
194
644
112
892
749
283
641
656
310
93
761
433
996
726
594
574
371
745
817
663
233
988
192
887
817
226
277
971
417
293
348
245
298
305
544
490
579
539
292
930
38
210
791
479
296
842
920
881
108
706
247
527
326
958
270
873
710
733
909
336
100
761
908
399
463
936
358
514
548
596
476
451
544
138
864
216
131
161
906
710
980
96
266
922
988
541
352
16
600
930
409
15
648
758
665
253
938
495
216
876
285
59
955
592
335
907
489
602
165
872
775
129
353
943
242
245
657
694
325
961
483
326
699
597
923
606
754
412
44
417
998
358
552
247
89
687
914
918
420
73
627
957
22
201
230
645
255
650
314
793
333
442
378
139
775
442
436
870
189
97
560
514
694
745
602
57
185
21
349
206
23
512
95
72
939
1
260
991
87
390
314
867
70
254
594
907
610
341
699
613
54
503
282
6
295
354
892
643
22
563
448
966
494
506
865
640
349
623
948
628
989
368
697
210
123
511
548
249
644
760
862
110
664
826
257
752
684
419
998
512
443
783
849
71
145
331
744
144
249
482
227
223
33
532
804
72
803
448
786
461
169
611
219
272
454
366
302
629
902
92
920
983
456
648
607
315
919
666
715
878
156
284
61
584
206
411
483
633
907
250
716
674
552
829
725
472
987
901
302
503
4
170
275
108
332
269
553
61
381
618
16
747
140
519
205
187
590
773
55
556
476
645
592
608
379
684
770
572
312
550
521
708
175
718
775
17
456
503
610
459
250
371
624
27
248
39
166
929
459
536
242
52
632
724
479
63
331
72
562
333
236
278
728
486
568
696
757
50
594
317
159
718
602
730
615
104
504
535
464
537
199
544
898
69
951
60
62
270
868
237
199
621
142
198
911
497
220
467
520
439
4
169
515
902
497
466
384
486
559
193
99
4
527
134
840
556
992
586
207
461
838
5
246
845
338
461
791
897
739
867
743
97
671
93
654
743
666
89
78
668
200
443
702
648
171
831
898
397
786
232
29
951
881
278
256
231
730
478
440
499
473
39
259
526
995
376
156
533
114
635
547
251
356
913
281
999
374
362
637
124
694
566
855
234
415
565
548
884
817
740
460
545
230
457
807
682
554
841
154
750
742
731
374
34
276
706
56
582
916
464
532
829
402
890
696
176
601
947
652
488
685
319
307
327
194
272
956
47
298
327
804
949
390
317
366
736
76
995
323
615
404
6
189
15
156
321
195
777
903
169
360
369
606
910
638
881
555
625
109
635
161
222
144
872
379
876
527
911
822
953
62
352
912
640
380
104
159
377
846
895
776
166
705
7
298
685
355
770
662
199
487
506
914
399
266
861
437
731
707
32
400
434
127
208
6
499
441
489
941
35
59
613
275
13
363
999
544
825
823
340
791
260
517
62
446
121
816
333
891
707
745
916
783
171
688
659
648
703
868
572
37
91
331
587
567
750
115
938
181
727
73
58
450
709
939
685
591
466
860
920
201
320
407
968
802
185
874
748
816
388
568
585
774
267
727
176
813
11
878
923
977
131
661
889
27
429
577
505
422
334
392
761
500
995
515
776
144
564
911
171
700
721
13
376
454
555
502
606
827
459
54
208
156
610
781
758
671
837
222
146
753
173
522
101
290
873
750
873
366
995
5
228
631
579
694
428
817
348
301
164
267
37
847
57
629
285
746
885
382
359
31
246
522
100
374
590
836
479
197
264
259
910
952
698
36
300
806
734
631
940
569
495
305
283
523
281
92
239
95
567
866
68
566
560
137
502
346
196
862
953
280
725
354
831
780
59
981
433
542
102
216
828
253
403
94
760
60
66
593
202
418
847
102
732
299
211
627
102
913
223
972
172
2
966
777
274
933
271
714
368
157
160
280
208
434
71
874
736
482
353
694
754
422
527
545
898
183
810
82
283
24
949
348
856
814
237
414
330
25
384
264
245
280
645
863
440
309
526
246
727
558
983
730
307
838
646
900
489
156
758
525
300
687
284
621
435
869
573
35
195
752
32
887
508
236
222
780
623
706
885
648
506
849
583
494
751
591
406
775
198
570
235
987
340
370
859
381
977
584
258
664
247
248
346
265
279
560
508
902
70
496
761
712
41
456
738
552
826
823
855
712
724
983
424
123
317
531
594
269
502
912
128
843
574
231
485
644
621
990
961
721
745
828
309
250
822
656
141
497
165
304
146
436
785
939
424
525
198
410
852
723
664
833
759
425
740
985
393
658
425
181
180
793
299
938
155
196
76
6
93
558
128
371
494
731
55
321
910
386
646
464
917
979
652
206
479
324
401
168
18
410
487
332
579
418
937
232
802
570
398
302
790
600
364
115
493
414
865
332
734
123
748
106
690
89
280
549
390
963
743
769
884
919
883
139
807
765
501
596
290
86
437
750
832
581
15
876
547
382
581
885
150
856
308
585
932
143
516
259
821
987
347
667
650
152
55
205
296
984
382
998
484
957
603
917
546
384
658
98
424
869
617
99
797
56
314
304
803
299
252
777
125
976
674
907
776
351
556
115
623
128
757
198
876
580
669
607
946
605
850
640
558
890
11
804
744
631
187
558
237
854
939
922
434
849
634
123
858
636
580
380
88
24
318
760
410
11
252
401
903
310
189
722
744
580
565
770
538
611
535
744
819
332
410
186
945
985
20
415
104
732
205
264
928
233
364
151
335
489
623
108
209
187
93
140
902
488
979
914
23
699
363
15
440
136
636
388
2
923
286
473
123
753
432
851
732
686
657
799
866
623
360
292
147
971
462
521
80
255
882
530
418
63
478
217
644
126
765
727
261
627
848
798
920
896
760
389
333
668
491
286
762
716
801
511
82
772
264
643
733
163
500
983
850
320
582
597
595
307
710
343
770
872
368
509
511
73
693
331
13
513
88
906
343
6
943
402
703
797
904
36
642
132
437
159
191
440
963
196
635
951
406
545
39
378
628
176
967
695
336
384
967
34
531
903
736
558
114
720
971
670
334
212
895
281
426
63
772
783
225
50
237
567
930
713
351
634
623
578
415
37
308
116
260
409
250
446
900
839
183
822
295
797
937
925
981
206
667
185
911
15
444
516
491
848
602
196
733
698
843
336
817
960
708
46
115
377
294
231
771
161
355
693
769
846
759
262
406
990
16
82
743
578
871
808
135
728
381
817
355
437
935
842
649
785
579
422
286
205
703
51
930
241
932
903
389
506
377
350
969
303
155
370
53
977
258
725
183
770
863
42
934
578
481
726
279
640
327
571
395
643
810
436
164
748
950
971
463
225
814
411
80
830
84
431
600
663
164
319
594
131
837
761
965
516
26
155
44
197
924
165
116
388
483
908
551
219
467
464
717
533
399
853
655
252
93
651
532
14
159
620
862
583
19
417
912
209
290
504
718
328
46
686
718
580
642
294
236
270
543
404
879
205
424
521
944
850
498
764
320
161
651
908
479
433
533
21
883
813
958
610
478
471
864
826
914
458
396
303
429
337
508
708
718
760
644
293
246
886
621
402
841
226
612
896
230
384
429
842
218
85
758
716
55
846
611
20
123
268
531
382
983
517
214
639
13
64
951
556
350
974
608
905
286
594
33
824
861
144
125
126
73
78
274
951
355
688
831
944
214
716
392
541
988
658
64
639
43
7
438
760
724
890
825
881
775
659
986
27
744
490
798
85
744
946
50
858
963
362
31
990
234
179
822
172
637
538
18
782
521
188
275
6
793
322
742
537
303
448
467
935
134
942
429
758
107
545
139
756
911
953
217
996
811
744
443
558
472
828
550
7
164
631
857
646
14
488
647
87
49
484
766
155
547
972
138
385
504
317
597
706
787
709
768
616
245
847
130
450
950
944
326
478
140
260
974
744
737
163
892
415
965
583
564
611
836
528
325
92
254
211
668
220
367
941
326
32
978
717
933
837
521
941
942
421
509
553
293
119
405
770
846
185
904
852
501
643
992
241
19
110
825
795
454
780
221
745
969
356
880
507
70
187
487
539
719
703
920
638
238
407
830
854
969
470
213
443
298
59
209
826
938
904
169
966
825
811
312
74
703
114
441
52
841
99
12
793
647
947
820
883
704
231
188
40
483
953
45
491
492
703
324
16
624
283
245
15
192
292
110
441
871
498
361
79
41
708
430
238
867
594
981
709
340
346
959
200
193
973
13
823
798
418
920
456
281
392
338
960
896
611
40
585
533
650
212
484
321
840
745
25
91
776
836
90
133
817
231
392
750
576
472
426
989
605
0
906
257
59
870
809
454
814
982
894
210
929
520
773
273
528
663
602
171
226
49
310
699
720
335
347
998
664
429
299
949
443
391
927
522
176
583
321
251
514
588
300
24
353
996
906
674
113
850
445
205
832
580
92
855
294
291
215
993
638
541
211
501
634
805
172
279
294
158
114
319
742
868
329
844
23
258
218
801
403
94
953
990
35
482
160
987
375
92
16
938
153
157
101
481
938
762
457
78
800
676
202
440
625
516
448
132
248
148
729
499
69
698
166
840
610
608
820
949
709
426
171
316
109
81
200
834
683
550
953
941
636
590
664
518
32
687
260
589
807
698
635
440
163
739
280
941
125
502
567
929
330
460
856
726
310
88
129
70
356
624
367
142
75
521
587
343
653
765
738
145
492
897
943
356
923
703
375
304
682
417
353
531
335
18
712
124
81
601
175
167
540
879
967
793
575
412
811
593
233
753
37
938
315
630
866
744
45
187
674
121
781
562
376
613
232
714
633
750
581
803
197
709
340
160
971
18
250
997
22
448
405
768
263
869
566
483
798
526
255
322
969
251
770
13
274
252
896
46
126
583
130
815
331
219
937
797
344
940
280
329
100
464
29
949
832
636
207
190
287
888
901
669
879
844
894
649
226
442
190
781
44
246
436
510
434
179
824
645
463
549
347
738
388
484
967
715
907
475
877
625
964
143
360
819
955
259
22
465
789
993
154
118
604
319
583
453
84
624
721
50
283
494
996
860
502
922
205
371
623
911
646
148
174
691
926
33
129
775
717
160
210
138
569
286
859
687
653
520
495
296
212
350
42
162
231
177
752
76
919
119
302
989
805
499
973
904
366
584
673
548
843
818
999
503
302
178
641
762
58
726
617
497
372
219
111
575
274
635
460
804
347
764
193
375
369
33
770
568
877
877
246
787
240
126
92
829
701
522
548
126
232
317
651
969
1
412
852
377
935
632
95
726
265
317
177
273
700
582
68
483
980
83
450
904
861
586
530
655
735
697
485
792
776
494
657
74
184
87
800
56
929
365
859
426
184
91
221
162
370
317
659
929
833
781
924
834
516
995
227
275
123
543
503
119
965
700
801
45
452
927
103
586
718
348
243
136
651
781
611
929
368
204
176
808
914
821
364
341
408
324
387
472
630
811
410
856
123
328
950
444
6
35
335
591
747
90
674
6
417
912
906
723
408
631
972
723
96
158
844
957
32
854
71
852
427
939
276
183
295
447
548
331
712
219
200
506
233
250
305
302
734
480
819
856
668
479
113
196
943
50
898
928
262
464
737
3
929
410
651
580
381
611
650
786
462
249
138
897
750
143
830
536
347
224
115
956
447
90
472
681
32
202
987
749
208
284
419
163
761
377
786
37
17
230
637
843
215
724
832
665
833
181
463
127
152
947
341
267
763
276
407
113
310
162
739
762
921
460
515
655
750
655
844
625
578
453
311
378
8
917
616
614
667
254
74
770
634
42
678
592
69
589
498
359
992
94
778
379
315
594
275
211
193
117
804
65
229
397
387
958
21
220
186
179
910
309
103
149
146
637
78
718
762
991
804
355
292
363
944
650
855
256
777
819
427
749
857
534
246
253
903
613
965
397
328
203
158
708
193
18
572
373
936
578
141
43
539
888
160
69
77
472
678
569
449
5
302
761
103
205
956
733
24
225
715
683
852
998
545
269
588
50
594
607
755
769
946
817
670
799
210
14
871
952
761
168
6
580
41
155
265
424
153
61
293
750
781
27
472
440
332
302
479
418
135
479
408
306
1
87
347
452
534
174
888
832
251
709
950
357
218
868
795
921
939
33
67
942
813
716
76
5
757
251
551
578
20
383
875
377
534
150
257
4
834
167
258
243
840
159
993
281
259
496
687
908
458
136
157
781
887
239
515
34
761
183
675
221
14
305
136
238
222
619
182
956
325
0
299
540
753
214
301
558
901
221
375
934
37
547
205
504
888
451
22
502
156
34
216
636
682
617
220
246
874
690
44
110
577
254
344
166
112
623
555
408
989
562
804
651
115
567
671
258
702
614
710
778
700
404
710
683
959
903
728
280
800
76
878
29
347
833
438
671
818
746
138
11
437
597
113
803
702
527
776
83
928
234
713
434
709
361
532
267
77
506
817
758
801
239
941
128
94
987
61
984
477
543
348
78
602
954
432
924
729
701
722
134
432
851
18
524
200
665
646
454
450
184
686
610
597
564
30
435
805
114
101
341
672
167
565
323
697
801
709
485
855
130
857
647
890
593
287
123
535
141
834
10
675
48
373
659
419
666
180
57
645
874
311
950
528
670
704
39
956
757
666
358
323
421
87
435
145
284
903
674
992
448
251
651
460
480
635
328
40
395
259
481
857
400
409
198
940
164
425
173
350
676
577
924
949
965
257
35
736
163
724
105
888
736
913
734
689
865
457
117
358
958
7
11
303
767
217
391
206
995
899
235
135
454
868
636
332
40
559
943
268
998
661
842
416
48
339
994
564
486
209
617
453
79
764
52
274
451
46
733
918
993
972
779
944
336
66
432
590
395
843
713
553
216
626
32
819
29
348
708
86
728
926
537
735
286
905
105
853
842
483
460
401
203
443
932
438
766
753
216
933
370
163
73
786
142
791
881
730
856
676
421
277
164
539
767
817
75
415
975
894
142
406
881
975
690
892
434
702
186
922
555
691
527
477
512
834
2
324
818
537
777
173
470
937
466
481
660
185
11
722
213
449
457
829
184
417
690
843
864
534
590
77
138
40
291
836
860
48
75
735
782
399
649
259
559
559
869
717
528
897
630
506
672
117
963
220
902
560
938
995
508
644
329
644
524
773
834
88
540
537
416
807
277
537
387
248
730
91
127
791
302
420
478
959
694
309
904
830
349
103
476
985
386
189
224
310
682
14
700
172
494
906
16
143
537
914
167
376
392
622
129
329
736
216
968
905
729
571
554
19
636
34
717
292
635
717
618
531
198
317
553
532
858
886
560
32
812
411
78
508
113
713
742
855
967
131
581
727
854
342
833
863
865
629
860
125
501
413
854
248
583
782
565
589
895
702
799
273
138
197
68
37
893
387
105
704
724
241
354
664
286
662
733
899
989
983
705
716
410
264
791
534
914
685
201
550
516
516
47
428
794
79
231
293
374
246
683
550
442
993
223
907
676
982
663
598
103
511
158
634
241
786
426
171
666
359
669
606
819
373
439
562
597
332
577
676
452
179
426
891
978
404
400
829
125
241
800
980
814
465
220
628
988
178
877
79
152
499
824
444
580
268
748
26
126
743
841
638
452
144
942
156
362
359
315
310
150
918
619
508
526
653
514
471
351
784
563
632
865
753
92
682
74
357
741
366
761
355
217
644
434
333
323
421
315
446
891
218
368
159
348
522
841
324
44
941
441
107
462
427
596
7
59
573
922
397
624
474
944
235
241
465
807
352
180
274
118
881
931
914
917
303
79
245
282
433
381
672
802
451
200
821
599
898
709
122
71
981
391
82
474
759
221
337
441
0
97
63
211
968
131
55
965
861
131
13
558
713
173
297
424
122
716
438
898
833
389
980
236
719
477
774
582
453
358
759
977
357
871
568
803
767
647
958
920
387
821
751
820
913
552
699
200
266
60
317
533
829
885
21
269
526
960
510
498
505
545
967
1
915
826
315
481
321
528
225
44
213
62
688
689
487
975
364
835
794
575
86
87
713
599
694
856
261
86
709
476
456
882
118
502
385
140
325
120
51
434
244
262
514
921
625
314
267
929
622
190
985
841
123
839
767
626
417
970
427
967
45
186
936
812
752
248
651
973
337
747
282
714
293
306
222
775
958
352
889
247
611
745
530
544
726
178
691
488
876
206
298
715
619
105
20
815
742
240
864
669
987
168
180
736
76
68
818
192
31
292
246
802
39
750
743
487
459
474
333
836
317
428
772
463
265
28
300
831
741
108
423
468
99
920
852
375
884
568
849
779
81
575
704
100
446
738
457
389
786
871
242
783
758
453
766
664
901
624
240
142
915
648
698
0
378
294
51
113
474
97
355
526
873
92
313
839
676
984
758
130
231
533
3
112
938
539
102
538
387
64
888
737
905
476
376
251
451
951
799
828
57
484
951
324
37
546
732
828
217
160
217
283
666
211
795
395
21
925
584
836
669
116
800
636
297
275
210
693
916
57
582
987
581
537
795
633
186
581
961
566
888
230
554
547
978
431
319
411
731
936
403
145
297
936
915
467
148
346
860
212
491
772
217
800
366
228
877
121
178
297
795
623
509
572
589
548
916
633
887
537
814
311
849
222
597
52
938
300
168
757
328
424
532
241
795
562
437
111
712
286
380
315
317
206
911
204
261
659
751
877
488
702
632
911
180
826
687
565
751
855
48
288
462
543
94
71
322
966
245
463
85
175
763
603
40
613
622
169
571
579
262
584
157
297
417
821
398
420
773
666
779
84
521
264
676
417
244
627
424
974
7
853
322
544
951
68
965
907
864
74
259
704
767
86
243
703
323
688
949
394
619
398
922
127
244
869
6
240
926
621
209
15
918
898
356
834
394
425
542
787
235
184
534
748
477
557
74
73
480
122
586
647
551
633
432
849
932
76
264
190
271
921
199
558
448
707
712
253
562
387
99
525
253
802
824
63
23
338
920
813
580
401
535
859
379
502
970
273
451
531
68
29
726
357
243
872
896
105
803
593
480
807
256
737
171
539
286
141
107
300
481
594
792
947
683
144
669
541
724
861
828
731
567
897
291
68
900
235
721
696
423
549
479
74
824
104
788
568
327
348
508
547
36
755
649
416
212
223
667
871
293
164
492
679
556
605
558
372
861
747
955
382
792
802
250
973
879
654
445
507
920
437
224
199
812
748
685
150
49
472
977
371
519
657
961
121
499
473
811
495
993
844
31
920
798
588
485
726
20
223
743
920
536
260
860
828
218
519
562
62
537
746
928
771
971
618
758
439
378
42
196
689
622
490
304
553
725
766
587
746
33
993
86
15
951
138
614
61
185
278
741
366
651
190
985
679
435
478
932
527
934
667
815
153
161
131
622
153
654
746
712
305
732
202
397
507
41
922
344
705
756
833
49
161
232
30
29
749
907
81
494
441
844
488
351
232
216
20
658
164
245
958
346
884
916
268
465
26
946
512
596
431
549
828
539
687
556
780
589
830
281
699
907
13
291
87
874
410
121
793
36
853
862
773
514
859
745
293
92
400
431
75
493
786
523
260
153
490
11
491
74
689
588
732
629
7
263
405
763
309
334
230
157
702
640
87
451
639
953
352
169
67
495
250
45
800
217
922
789
31
519
719
87
215
243
260
66
301
626
877
261
451
902
18
341
59
122
623
949
219
726
565
750
767
822
647
230
485
299
190
858
619
284
961
790
336
47
461
69
549
116
22
13
845
251
89
238
270
937
927
835
574
701
868
976
466
327
328
164
955
361
473
230
748
795
587
749
474
342
60
755
801
396
98
278
837
413
468
748
971
894
201
133
326
164
213
209
775
4
469
877
226
702
687
80
693
392
661
703
946
256
463
745
285
758
572
333
91
373
325
961
369
900
436
885
834
93
259
197
128
152
902
619
748
918
702
984
614
529
385
467
1
319
62
737
786
450
362
818
271
717
956
420
614
834
785
294
553
703
738
144
417
834
214
238
823
754
399
146
11
33
771
606
8
129
834
1
671
114
31
358
117
133
919
833
235
82
433
375
604
411
255
863
795
975
425
30
847
944
961
181
22
428
331
857
953
809
104
232
745
118
165
709
620
510
378
856
701
487
803
832
101
675
369
332
418
933
682
220
13
854
150
796
425
571
925
894
431
631
492
258
898
693
286
980
201
535
915
631
355
183
615
204
480
513
204
323
694
340
544
366
431
142
999
619
156
225
361
226
49
62
230
325
79
496
426
410
558
366
470
548
53
276
566
745
503
645
205
897
857
78
399
393
30
387
718
309
117
960
200
986
581
466
848
304
364
339
86
965
392
928
127
911
257
544
613
957
805
390
211
487
22
420
347
163
831
891
759
880
22
80
567
823
560
494
424
12
727
571
906
674
936
294
807
167
764
563
739
476
799
69
256
218
259
682
736
203
100
145
398
758
394
579
800
674
17
73
369
221
94
450
470
116
603
865
348
524
153
777
700
514
477
826
379
171
684
531
837
90
769
779
881
151
328
478
475
962
525
988
843
391
950
267
645
739
801
388
557
843
487
555
16
115
471
155
477
362
234
287
705
986
989
875
233
554
205
541
669
205
102
880
774
696
996
602
176
686
811
621
245
584
832
134
994
443
585
961
655
806
590
412
186
62
400
774
664
289
685
403
925
75
396
554
140
245
297
302
522
193
577
20
794
994
480
55
409
680
611
392
616
553
468
637
882
329
419
73
948
287
581
759
287
451
423
887
313
321
382
848
67
398
498
669
558
938
776
848
421
59
421
869
698
639
27
273
484
310
269
63
987
151
755
704
368
683
398
677
532
307
100
727
508
607
507
716
502
955
551
697
220
89
997
995
903
831
398
288
956
27
879
457
422
482
189
659
510
862
362
393
437
663
735
440
774
632
257
33
642
293
15
422
669
686
352
996
406
181
607
930
897
516
218
857
370
214
326
453
264
639
811
466
947
788
418
735
409
442
171
908
159
782
976
399
110
390
865
216
487
941
994
716
130
93
337
479
531
247
324
878
953
345
393
364
704
860
613
902
495
237
600
95
249
960
272
612
619
460
148
743
755
916
287
233
249
432
88
941
62
145
154
96
487
74
73
389
708
663
899
980
362
801
783
298
886
226
405
870
761
272
816
390
774
201
604
118
400
10
459
363
410
704
125
824
731
150
99
632
430
938
266
948
960
213
866
386
898
900
326
270
816
117
775
242
723
457
464
287
911
936
550
884
122
782
62
785
333
90
896
274
164
160
889
972
553
214
540
308
410
46
872
739
357
12
229
792
21
281
933
346
608
814
940
998
477
179
490
787
578
11
421
794
728
985
733
646
804
10
655
59
587
538
309
174
667
721
706
406
157
956
429
638
640
114
725
141
917
586
150
217
361
303
494
127
222
996
293
205
105
919
216
589
316
434
52
812
622
379
251
889
108
406
987
267
559
712
731
200
858
322
24
217
420
398
213
956
972
652
338
658
862
787
413
164
554
475
880
804
613
159
743
50
423
10
888
709
197
522
112
763
864
953
83
960
305
542
346
307
185
785
600
663
618
973
1
152
407
975
255
134
965
69
1
467
256
617
540
153
140
688
24
961
185
548
447
513
944
715
207
225
713
686
166
182
770
744
873
827
162
759
858
847
866
770
417
337
237
128
851
65
987
281
655
815
436
581
425
962
396
398
927
183
941
51
526
191
715
634
394
558
293
148
720
245
445
613
49
421
529
316
944
966
599
468
637
506
633
968
87
972
971
664
876
679
673
719
421
27
365
624
136
779
650
807
705
484
960
118
73
289
776
801
622
493
794
689
823
212
612
188
219
403
319
712
267
8
742
381
516
820
531
731
758
286
528
937
279
626
881
858
576
630
833
546
182
910
165
189
463
54
64
482
414
866
620
132
145
558
131
440
623
523
807
355
807
669
169
308
69
869
620
919
320
960
115
57
915
343
318
452
845
94
423
56
87
501
924
712
34
887
19
759
715
894
222
279
453
580
742
544
795
408
962
508
98
734
607
84
354
39
205
771
230
435
441
916
894
629
719
39
532
577
977
543
973
461
247
18
751
858
334
804
249
757
492
441
111
650
708
493
912
220
227
574
570
840
343
713
423
106
434
965
555
428
196
140
267
990
438
914
683
989
974
443
469
359
416
135
997
467
204
177
920
900
653
42
320
798
368
976
529
552
135
714
188
555
765
102
30
685
895
171
883
520
40
72
739
429
688
887
403
938
695
486
407
847
968
253
6
583
498
820
471
387
108
191
726
991
450
388
180
38
874
954
463
910
753
298
446
934
777
818
679
699
658
108
846
421
503
797
16
416
797
47
932
971
39
492
296
731
312
970
378
762
155
738
39
342
807
874
369
480
94
791
34
840
235
778
146
16
909
308
515
224
688
565
138
320
728
95
29
75
394
670
776
74
533
220
647
784
373
373
297
369
815
795
429
81
143
641
109
536
991
795
707
282
903
582
185
352
53
941
95
447
537
64
507
759
457
269
58
908
755
75
176
802
34
808
958
585
878
911
369
549
127
770
76
288
123
696
548
8
194
139
475
486
339
723
731
609
413
623
854
930
77
62
111
808
93
217
558
730
47
628
312
377
9
450
159
199
483
795
597
139
866
849
508
217
350
719
942
632
646
90
487
719
672
837
856
227
349
167
367
408
971
446
612
194
479
109
736
197
512
116
139
900
734
525
446
381
385
450
743
101
353
847
591
36
122
748
610
296
822
597
323
61
39
617
61
374
922
633
610
655
98
255
981
309
456
184
336
700
18
373
548
262
851
224
626
706
472
267
623
958
862
523
981
564
321
246
113
922
233
150
73
13
585
232
769
71
157
66
335
717
757
567
582
559
198
962
208
435
481
810
306
850
194
52
220
670
592
611
271
276
530
436
600
966
698
626
858
447
46
839
655
94
454
288
701
799
237
997
590
178
659
397
337
309
75
295
399
113
72
112
140
615
521
646
79
818
220
169
757
757
785
279
220
66
306
663
53
661
423
748
363
124
168
86
367
44
565
794
402
430
851
316
161
21
670
260
729
990
661
901
84
758
42
709
638
159
809
644
189
46
519
118
922
755
357
910
399
502
521
43
583
26
226
250
263
36
385
8
253
99
949
130
252
596
255
6
111
915
459
236
709
227
59
422
980
364
804
228
327
456
384
135
920
286
738
863
569
843
968
217
453
44
102
939
127
603
945
127
921
364
425
303
823
432
330
660
886
280
807
294
374
747
224
842
427
292
601
824
56
232
635
535
873
172
331
948
785
435
268
894
217
353
193
982
441
305
879
272
649
816
444
118
630
346
98
216
550
838
138
307
197
996
603
285
515
227
910
421
792
154
299
261
406
538
452
167
113
626
939
518
421
484
717
34
647
981
965
585
267
551
432
373
285
672
565
435
686
559
761
522
340
704
346
360
369
961
769
178
918
349
836
592
77
204
601
663
744
320
884
93
794
856
143
731
335
846
942
248
777
103
335
825
746
42
340
236
998
880
242
542
503
890
510
704
401
987
58
6
927
156
822
340
888
666
527
252
114
997
183
249
503
818
20
336
972
362
995
65
764
914
206
671
461
721
904
698
703
868
597
852
438
393
477
729
152
739
164
308
188
974
227
209
55
865
329
335
498
844
657
428
110
799
543
754
818
650
537
337
933
78
936
896
823
263
351
551
225
373
640
306
192
21
263
677
381
107
425
38
264
545
790
909
568
267
653
491
582
145
250
55
172
578
457
674
219
673
923
48
392
745
935
697
463
531
211
890
919
950
114
536
744
833
989
810
853
237
980
55
566
51
662
762
286
50
982
44
8
11
985
347
83
5
409
133
722
842
510
440
352
884
124
163
544
78
720
642
988
133
779
983
103
990
374
800
203
156
461
705
911
868
645
140
380
419
384
327
189
759
41
710
702
705
577
245
675
729
378
993
355
849
73
614
932
633
392
328
772
6
902
422
773
939
51
628
675
725
658
146
395
400
107
738
559
394
607
436
189
400
775
43
197
300
492
966
736
199
997
281
770
685
251
704
550
937
246
223
44
770
523
537
514
253
475
902
452
911
672
463
233
402
730
830
663
110
711
451
784
890
699
857
978
523
298
8
477
874
605
373
807
168
234
257
640
566
334
488
468
608
275
669
174
977
933
566
300
150
113
446
353
430
751
31
687
260
768
533
927
898
754
200
404
578
974
457
872
510
935
513
29
460
965
202
974
142
30
65
792
484
810
556
749
346
71
954
797
365
513
256
731
283
985
534
941
928
404
196
314
354
374
641
479
807
361
751
311
59
372
189
296
435
353
415
601
25
995
997
693
310
755
23
949
336
791
548
349
156
881
867
97
434
251
919
285
883
532
627
213
30
117
368
56
272
448
881
752
85
51
791
754
326
718
731
850
908
905
603
532
685
654
715
196
965
57
838
151
371
815
364
362
570
508
519
754
787
182
301
798
992
282
555
346
720
914
772
63
233
99
662
317
418
296
292
748
400
170
853
881
836
957
819
120
813
926
182
771
461
793
704
320
366
556
977
22
591
312
444
682
813
744
877
977
871
910
613
63
302
776
836
76
734
541
632
728
403
26
516
308
741
253
696
46
537
471
323
361
504
614
988
841
330
313
49
111
734
590
419
727
544
618
456
869
376
850
104
586
813
124
45
721
204
962
901
144
608
434
585
522
626
697
408
776
7
512
642
652
172
111
190
917
921
372
524
353
9
331
574
96
372
509
779
394
401
134
876
306
533
587
600
753
775
765
823
363
648
587
925
164
947
204
442
202
156
491
791
978
277
452
21
878
391
194
946
145
709
690
591
109
913
549
576
893
100
695
327
724
739
801
390
954
551
116
846
873
978
93
219
186
784
276
893
597
781
687
368
918
705
123
327
8
744
363
26
430
318
966
565
504
487
842
532
332
941
220
536
703
302
909
320
882
428
420
496
34
996
802
42
846
872
851
371
831
931
847
179
683
716
886
966
474
976
556
888
144
247
520
820
536
102
508
329
863
681
354
761
944
914
744
354
618
30
310
689
300
739
216
380
954
595
375
630
439
889
195
769
301
470
113
233
70
844
678
522
487
773
22
988
910
315
124
666
361
66
687
469
634
129
509
432
376
990
798
41
430
564
398
882
821
763
101
710
97
4
331
215
442
968
352
88
485
571
197
821
867
961
433
127
925
828
391
438
317
142
552
480
818
835
991
178
9
67
963
264
261
681
908
122
350
219
115
415
389
343
560
704
454
268
704
972
768
496
511
304
114
936
632
760
296
181
546
843
630
899
310
102
636
520
889
708
961
101
570
932
190
798
728
638
625
809
591
407
894
551
113
671
69
359
147
889
600
119
30
937
665
350
293
628
657
615
304
707
691
893
933
323
480
795
20
887
799
391
470
57
178
593
92
864
127
657
799
337
303
133
906
165
776
532
64
836
865
980
777
7
490
5
706
977
392
310
281
139
79
856
264
782
485
495
345
55
880
330
423
968
208
192
134
227
806
993
251
555
331
6
146
409
944
955
354
742
852
160
407
955
679
291
585
181
639
358
433
174
239
332
560
863
422
170
250
251
46
348
509
201
607
620
577
716
464
298
276
872
877
651
365
317
441
845
563
769
875
825
10
621
467
840
109
854
450
728
477
255
368
362
412
396
167
927
86
281
429
917
916
459
959
102
354
303
756
579
615
32
456
589
299
487
658
399
666
732
343
387
840
689
474
880
268
414
491
512
904
578
365
136
848
671
274
89
375
404
153
486
899
602
83
529
507
546
711
473
523
840
284
829
345
975
883
235
330
46
41
892
504
774
552
254
678
431
473
145
10
876
733
45
693
229
157
134
153
553
762
215
91
484
255
250
881
558
672
165
569
674
549
533
573
517
641
932
100
662
793
445
713
93
161
905
373
973
720
393
556
602
782
268
524
428
301
598
389
229
876
44
705
731
831
922
11
846
352
265
372
333
452
808
514
728
630
742
127
263
127
214
933
252
492
69
760
345
558
539
50
852
191
984
172
960
778
5
984
173
32
588
867
831
240
590
947
108
742
523
253
197
845
561
232
29
617
128
65
189
569
414
850
646
400
634
135
529
845
14
809
706
238
79
121
775
741
657
645
840
716
494
485
510
750
234
629
562
819
660
965
61
209
841
190
136
985
675
584
970
346
885
418
786
103
767
430
108
503
607
273
59
981
200
829
280
753
505
668
60
138
57
666
50
556
951
398
705
793
570
521
395
5
444
947
21
386
697
238
171
768
189
818
313
991
468
365
713
533
813
470
444
774
122
646
453
350
807
654
804
775
841
700
412
880
365
418
941
461
434
681
587
230
53
600
237
835
661
503
56
199
104
258
643
774
163
619
294
486
437
950
241
729
630
663
592
209
633
171
467
676
202
672
285
817
699
568
609
794
21
540
727
778
442
613
56
201
962
211
102
343
162
613
351
671
581
51
585
651
282
827
221
677
675
388
450
295
905
782
229
855
492
340
434
559
655
835
512
844
37
713
21
481
579
902
412
883
571
350
378
873
902
362
710
866
648
35
302
604
989
473
856
226
150
994
80
926
310
866
189
969
885
232
850
133
172
173
584
67
173
697
641
602
588
811
435
444
296
530
173
819
621
844
658
958
431
199
230
650
454
166
876
195
405
918
17
237
919
996
509
589
137
945
610
189
562
857
90
143
15
225
228
677
594
777
704
167
468
860
75
744
181
83
836
347
671
671
376
621
121
962
100
668
870
75
641
165
726
220
675
276
588
613
193
699
608
366
326
455
209
375
995
771
425
529
455
496
889
271
626
997
476
96
939
393
25
461
674
527
743
181
58
556
935
465
649
546
185
226
400
129
742
758
421
729
989
168
6
302
131
531
712
155
852
938
18
627
182
980
362
783
623
359
186
140
64
402
445
335
456
622
624
772
782
990
336
798
692
584
155
976
826
562
948
754
275
647
744
207
550
972
136
999
150
979
491
535
279
474
249
725
55
870
606
550
870
207
976
908
339
263
362
67
620
263
75
66
837
303
117
478
810
821
561
156
762
547
328
928
317
229
232
218
830
747
12
782
659
571
444
702
399
90
634
274
248
779
394
511
839
541
879
454
56
690
598
530
69
644
230
542
818
240
386
900
792
783
52
876
787
969
343
560
898
183
303
665
837
720
541
273
41
829
849
224
963
651
572
973
988
874
307
587
188
679
965
309
927
593
14
181
637
269
733
345
363
994
901
125
767
430
992
644
541
651
671
33
699
227
771
602
498
715
389
828
144
780
418
39
898
421
900
533
946
572
409
326
28
308
95
614
259
867
79
326
401
347
850
497
600
13
147
391
195
776
528
983
315
380
486
163
93
103
141
400
291
2
766
372
109
462
804
217
345
150
925
208
755
444
978
221
784
516
386
355
510
839
222
901
806
890
719
175
313
338
147
711
844
961
445
186
251
160
359
875
612
614
276
619
148
711
90
376
489
398
989
736
367
539
839
933
468
183
393
456
258
168
562
159
153
951
562
281
770
115
166
619
134
665
737
723
188
33
949
401
963
650
341
524
432
883
281
172
805
468
388
730
784
549
966
610
492
168
242
78
200
920
575
86
848
879
431
793
260
247
102
388
47
319
543
463
494
575
694
137
132
205
852
683
428
414
796
900
300
645
502
383
759
504
113
53
282
867
912
100
963
427
483
877
715
479
592
542
973
918
596
431
801
45
54
474
523
130
307
603
115
334
471
529
832
230
503
906
89
706
131
785
95
702
250
924
308
134
979
233
505
341
73
783
970
152
435
876
930
972
55
111
366
251
924
972
767
13
514
85
868
854
729
622
404
727
794
33
814
297
842
315
821
135
636
546
73
710
967
972
144
985
425
741
743
826
129
139
818
156
686
356
112
449
440
10
525
727
51
118
656
598
970
695
319
303
78
361
620
531
469
95
91
198
928
565
745
286
604
566
121
494
0
589
731
628
45
594
290
546
942
717
182
466
50
488
957
784
253
437
146
999
658
396
408
808
712
806
409
329
132
106
245
978
741
397
378
37
81
571
35
770
195
776
86
109
227
855
366
204
550
851
944
55
283
903
545
146
165
525
524
751
181
71
356
928
632
798
601
913
182
196
980
812
126
714
144
230
127
537
947
374
540
931
297
658
668
768
35
881
728
371
412
315
178
711
232
647
356
41
619
983
597
278
94
304
507
140
596
957
394
336
198
877
731
671
232
464
138
537
523
339
2
966
366
787
798
680
726
91
234
903
965
7
371
61
896
379
879
612
549
149
350
797
314
201
387
839
510
905
78
401
455
619
286
157
217
171
921
623
464
991
769
0
913
503
930
801
700
259
964
662
830
355
166
111
815
495
953
379
855
171
109
510
863
865
77
575
239
810
717
653
161
801
606
937
62
291
396
5
365
792
338
527
76
782
350
921
655
446
976
208
881
255
887
35
948
877
656
564
635
886
30
208
214
14
437
553
107
705
996
895
164
702
385
309
78
804
721
331
566
491
769
927
143
281
11
364
529
856
955
584
479
571
798
923
142
903
632
718
397
6
353
297
457
46
300
861
937
558
338
758
250
127
182
406
954
821
742
218
852
423
123
689
352
393
884
874
375
202
159
527
988
514
81
707
460
850
711
601
76
960
945
109
13
787
40
781
886
547
699
622
220
937
500
533
657
54
321
293
360
896
238
924
757
443
73
652
248
193
339
840
524
124
691
44
884
265
721
8
40
79
56
117
305
668
27
28
677
88
916
358
11
884
97
732
668
14
128
251
102
575
519
225
428
409
143
719
859
6
954
50
104
122
13
536
202
769
42
140
230
914
207
354
84
533
859
291
428
344
708
290
973
129
218
610
691
14
924
335
440
147
484
346
489
462
867
888
159
404
614
244
974
181
350
544
750
547
954
882
525
613
551
74
970
605
86
345
637
556
907
624
716
179
46
240
856
766
784
8
691
428
346
933
170
403
400
639
371
139
884
863
501
854
972
491
291
145
488
40
837
950
979
419
663
635
763
876
981
635
321
349
77
38
540
104
379
544
475
770
751
978
375
577
83
557
593
14
323
758
444
511
466
808
585
904
597
920
790
575
821
565
370
560
876
221
485
453
383
245
816
355
277
986
181
144
397
299
979
329
592
707
373
87
462
125
338
447
161
603
146
680
717
441
179
761
915
342
124
228
201
353
468
756
583
191
830
327
805
185
759
981
583
349
655
775
200
580
124
729
819
399
314
41
211
980
259
816
477
934
747
722
540
622
653
836
21
752
484
501
376
451
141
943
180
833
573
115
674
663
742
590
236
82
557
369
150
987
346
992
710
549
343
154
275
18
425
800
245
721
110
718
520
6
835
131
86
663
867
84
429
336
597
372
300
597
644
848
673
483
121
275
394
273
647
725
988
800
371
67
21
205
976
624
51
401
615
558
254
384
6
531
259
788
927
104
756
952
921
883
575
676
795
350
752
370
63
66
603
759
67
631
927
891
926
575
810
707
779
498
990
480
168
156
44
552
531
221
883
850
501
58
812
741
910
146
140
219
644
777
798
176
898
825
458
41
791
63
495
935
292
159
445
438
442
902
295
623
688
367
626
644
77
802
720
870
266
264
459
364
607
25
929
768
634
364
43
728
664
750
108
106
982
482
217
164
794
269
719
668
630
959
746
469
649
57
862
966
528
216
922
705
7
170
226
897
251
625
213
268
66
107
119
679
596
111
724
531
2
352
508
556
941
330
561
33
472
837
933
576
685
371
146
174
811
165
719
107
98
189
940
388
58
314
863
510
425
663
870
744
878
95
577
361
577
244
147
0
159
314
653
297
98
366
712
975
792
651
308
233
108
599
544
621
30
721
157
620
532
202
167
512
418
912
455
871
91
142
878
1
40
505
671
435
573
211
336
329
6
674
626
716
342
526
993
977
898
386
511
842
355
206
214
723
217
360
787
489
374
896
501
700
721
246
574
309
79
355
219
933
741
148
351
636
281
70
89
366
831
837
200
787
901
444
513
175
816
272
687
784
910
388
309
871
176
293
951
298
99
329
524
154
389
101
458
758
864
644
40
533
778
829
695
234
532
829
402
509
70
22
405
163
910
642
70
849
96
708
880
889
361
741
545
491
777
836
326
36
309
250
573
965
489
32
869
71
944
245
373
750
966
415
152
497
202
916
292
916
706
744
200
785
312
528
920
61
234
629
798
674
133
970
933
173
405
175
584
627
344
913
828
382
711
918
378
403
419
672
343
993
384
244
457
475
430
179
359
261
404
301
385
562
708
742
216
138
641
84
502
851
55
886
52
558
742
566
951
166
795
941
506
554
692
529
950
136
327
770
302
580
334
256
460
161
854
282
769
548
89
660
987
254
277
332
115
310
346
973
608
33
25
37
326
546
545
242
980
645
938
819
179
840
794
936
658
266
283
400
596
408
535
423
435
130
794
847
219
352
411
999
472
663
138
349
419
204
786
135
426
220
50
347
680
701
881
818
651
146
239
607
332
103
507
515
78
809
235
715
824
596
871
874
254
939
765
830
212
9
852
260
293
991
727
623
39
932
68
289
171
159
331
686
83
565
410
766
375
453
698
149
482
279
885
308
456
274
790
397
99
878
101
535
380
975
429
876
695
395
338
578
155
991
351
737
333
455
756
681
846
961
865
713
509
186
831
395
757
102
273
456
404
237
743
933
196
144
471
101
251
243
383
602
430
185
757
940
638
68
284
981
666
564
849
140
761
370
468
141
817
889
890
299
844
70
368
808
451
722
713
948
813
475
387
446
175
519
183
500
572
104
729
10
266
648
760
847
586
64
69
611
785
958
973
260
363
298
146
723
624
83
721
154
820
107
983
450
363
846
542
534
474
195
774
674
296
431
342
625
1
443
434
935
944
607
968
533
564
15
816
711
393
70
955
403
744
676
741
893
93
446
513
496
51
242
510
959
136
844
936
627
447
951
438
613
907
662
219
965
564
790
901
180
377
984
888
414
866
943
439
297
302
315
954
598
150
13
675
444
4
899
390
467
127
518
283
292
156
270
151
234
849
377
780
575
124
742
220
452
116
23
933
632
498
964
784
982
336
416
73
175
306
692
305
805
584
560
736
675
493
917
575
150
967
130
793
283
859
321
401
575
109
187
337
268
644
647
763
743
113
408
815
704
912
673
673
432
753
846
165
736
114
926
740
510
203
469
279
475
52
785
152
180
462
448
710
495
321
525
240
592
475
77
871
755
59
919
590
759
516
645
11
393
859
410
167
927
454
468
340
89
859
539
379
227
403
678
715
263
730
306
444
334
171
514
466
370
482
736
672
513
641
716
683
611
208
603
750
19
190
33
374
396
829
400
39
233
850
207
372
738
49
523
919
118
193
735
358
833
931
641
349
991
967
405
20
23
428
845
22
731
417
436
98
54
678
150
989
129
805
391
890
966
359
872
145
145
517
123
697
862
452
985
361
382
895
911
99
630
664
980
553
722
324
720
198
654
228
111
723
173
262
472
442
4
848
536
149
492
690
132
41
268
757
963
617
214
751
443
606
77
943
732
163
496
663
887
47
99
411
942
603
657
647
321
807
354
569
619
267
78
901
548
132
54
90
575
356
337
255
895
320
0
20
638
549
356
294
457
168
311
831
150
825
435
500
26
183
765
650
438
309
504
27
517
57
597
468
621
91
813
53
148
7
120
545
530
852
638
61
360
992
994
528
73
229
68
449
187
529
605
418
615
605
279
515
575
750
80
320
527
367
176
976
495
330
735
172
478
815
216
97
28
811
295
234
462
975
793
157
239
566
181
885
827
20
232
10
736
189
27
659
721
69
386
434
699
825
497
464
734
169
767
810
452
781
566
385
492
235
83
140
877
145
100
353
94
476
114
726
142
275
626
722
132
510
85
628
328
349
517
57
305
498
363
226
883
483
472
943
902
418
151
330
554
108
750
492
673
596
55
483
498
903
888
200
553
520
387
123
637
701
603
810
851
181
997
346
349
899
919
202
671
569
211
814
503
911
101
481
784
603
966
195
978
266
225
855
94
337
655
31
208
411
618
752
736
817
994
966
317
64
904
502
633
951
77
60
198
880
165
983
639
823
804
103
773
302
107
429
314
107
136
126
8
118
69
135
371
892
948
18
379
289
518
901
847
195
554
739
389
539
550
39
148
440
572
904
317
12
876
49
706
528
801
91
791
461
392
192
858
690
57
524
473
110
358
97
214
40
364
697
546
142
120
725
589
873
564
11
269
831
135
575
353
341
927
289
903
309
346
127
210
640
233
544
723
333
793
695
467
730
344
308
600
663
332
976
873
607
382
541
708
946
619
934
15
146
835
942
576
398
546
790
886
467
394
978
612
816
344
956
104
310
981
509
809
148
420
167
646
391
538
35
684
835
756
94
808
449
231
543
436
437
820
622
267
586
294
871
680
955
952
230
961
227
256
297
903
951
735
43
3
139
288
178
411
481
160
448
429
193
169
792
406
848
60
936
435
265
176
955
889
64
868
201
898
930
282
856
413
337
99
165
163
593
987
570
424
145
301
840
467
21
175
434
150
254
320
997
256
527
414
655
466
220
289
844
444
514
234
751
673
308
49
195
599
972
443
860
709
854
447
190
413
739
784
858
278
850
258
5
436
687
950
2
927
976
552
704
486
536
751
899
198
175
212
860
506
44
151
33
101
426
508
793
580
600
695
708
339
897
951
567
800
879
15
149
76
650
977
759
389
339
532
906
586
999
325
826
361
57
81
945
151
973
645
495
93
489
457
633
692
440
653
43
909
398
360
296
971
944
133
249
231
152
548
353
935
239
173
975
815
415
508
657
541
696
751
491
600
560
407
465
381
96
284
29
85
834
185
599
80
953
484
305
502
232
301
764
170
153
439
533
594
627
885
202
410
982
864
764
812
986
737
75
444
952
704
642
668
37
500
132
706
248
137
36
425
218
449
837
428
584
120
797
404
729
495
273
618
842
430
907
942
932
937
123
395
462
286
61
482
393
201
867
354
639
761
902
148
104
938
658
217
554
298
21
884
34
748
811
624
729
37
747
861
873
90
341
789
223
531
225
308
247
444
199
501
698
825
815
811
902
33
932
178
454
679
972
526
895
918
458
345
396
663
890
165
442
337
750
905
308
990
12
888
838
428
194
742
292
178
795
79
901
53
976
118
349
665
118
324
983
52
754
724
777
810
925
657
270
864
354
629
571
178
949
495
517
686
398
34
535
866
945
316
595
732
569
435
464
395
695
96
301
329
309
551
726
441
826
885
414
753
258
596
2
336
471
285
463
748
500
478
865
379
27
831
1
682
69
340
69
193
126
495
5
801
231
918
520
288
162
566
514
515
396
464
38
390
826
427
528
375
772
399
410
245
59
253
352
315
712
640
412
73
988
347
732
92
136
856
405
633
979
37
206
550
49
48
674
252
866
563
616
616
961
804
100
146
280
7
1
158
699
820
700
783
397
226
692
293
70
975
537
653
498
791
84
275
948
359
945
550
101
972
590
112
297
259
121
278
802
516
969
852
928
998
978
998
796
282
816
405
425
109
665
812
573
866
228
744
428
944
516
354
357
184
934
862
100
43
70
711
178
272
185
191
515
631
485
40
691
749
312
540
568
665
253
67
450
857
895
180
409
272
542
955
529
194
713
172
869
671
97
941
460
258
141
763
157
288
49
642
57
542
602
544
134
493
470
996
508
667
849
278
53
926
868
403
513
47
911
825
789
41
558
644
970
857
99
16
82
301
741
683
918
259
614
775
872
372
720
517
482
420
763
503
486
625
270
672
205
884
985
258
186
0
419
682
575
261
900
694
131
140
508
288
347
261
642
681
124
352
164
406
801
331
80
15
309
23
218
12
445
162
943
357
908
707
940
807
814
611
785
353
601
816
199
664
68
447
193
709
604
67
41
235
4
959
62
734
689
486
301
702
982
688
13
716
101
759
302
385
526
322
471
369
0
889
99
952
300
422
468
201
271
938
66
411
26
95
20
496
38
182
401
68
944
387
170
171
372
513
914
134
31
302
167
249
262
146
459
4
656
766
898
572
751
146
441
939
42
373
170
758
983
175
661
986
307
21
989
186
265
754
816
444
601
246
307
788
58
890
205
857
68
888
137
316
926
446
93
553
275
877
761
931
35
361
832
547
818
353
500
477
868
818
99
538
168
678
783
552
467
246
433
197
229
201
486
7
252
123
368
536
563
173
589
406
925
13
535
615
694
70
503
657
813
68
447
754
500
366
633
271
649
32
812
569
540
312
381
371
460
205
359
429
403
643
477
512
357
256
790
388
614
689
899
973
15
984
392
491
290
629
939
968
875
442
571
328
551
981
426
658
122
425
254
746
427
467
414
764
769
559
842
18
899
40
255
372
601
558
805
812
703
205
582
18
323
792
10
380
307
348
886
673
742
48
558
890
761
452
690
978
686
794
535
867
246
735
833
75
901
672
486
855
382
788
872
262
206
761
78
710
233
57
92
860
654
86
382
758
461
163
442
304
990
673
915
949
167
719
108
746
442
16
84
517
204
193
452
850
668
175
521
918
214
413
905
99
31
297
654
848
63
9
940
784
442
624
705
408
237
807
581
945
750
277
552
816
918
373
487
535
997
723
517
886
453
444
913
59
501
544
295
1
588
396
984
75
160
281
856
508
720
890
475
457
669
702
636
704
290
484
683
871
678
842
943
679
377
534
723
123
904
481
932
319
632
320
848
914
441
749
549
786
430
786
94
52
828
222
686
62
174
990
867
773
926
162
47
144
372
150
908
202
208
911
246
128
562
202
101
796
793
179
216
352
221
902
223
51
271
401
374
782
945
778
706
911
894
937
485
693
133
942
272
390
57
499
104
100
610
806
275
409
578
283
515
461
441
888
889
786
150
264
350
187
430
895
450
644
905
939
89
38
779
754
545
403
846
561
401
203
788
30
465
837
60
163
17
307
635
162
419
905
58
476
665
847
238
167
951
421
939
82
642
731
260
328
503
582
344
49
735
569
286
775
148
111
285
480
5
283
921
693
650
177
785
447
304
617
426
803
174
437
943
596
51
512
967
892
499
538
736
574
432
779
911
600
920
358
149
949
852
572
745
697
65
896
600
727
248
392
117
941
555
797
858
183
473
168
340
269
94
551
529
656
864
695
76
962
328
843
8
437
971
806
339
494
734
475
543
116
231
868
571
702
325
826
748
90
872
769
486
441
317
736
872
103
934
568
915
687
390
804
179
973
584
639
364
831
949
125
256
191
921
627
963
948
188
335
785
715
31
751
247
730
45
378
862
741
979
360
835
905
887
514
610
878
399
757
540
594
448
328
882
818
459
253
590
591
503
657
910
278
243
344
114
98
301
449
567
145
321
755
832
645
397
499
325
24
253
231
498
940
638
436
699
213
603
591
520
677
801
978
413
297
693
709
609
338
425
136
458
526
728
141
272
198
208
693
434
936
616
842
824
184
619
681
58
374
464
382
453
180
123
172
565
640
851
768
368
764
232
875
685
532
970
639
83
303
921
504
895
429
671
223
373
821
674
471
155
770
601
490
94
393
613
281
507
748
361
222
881
6
920
350
730
922
934
430
349
291
956
655
314
205
52
104
569
564
940
312
185
101
921
656
673
597
264
414
54
235
299
30
498
451
227
260
298
220
53
71
448
943
436
999
246
349
353
188
807
416
998
238
155
58
235
112
42
328
403
595
863
491
650
800
897
870
675
26
902
779
914
68
654
17
273
935
886
936
910
671
740
430
967
871
928
169
470
733
153
849
27
771
574
419
566
1
855
51
174
780
607
453
235
692
163
676
331
545
907
709
486
847
861
849
364
84
615
412
291
547
951
715
103
634
33
475
710
948
199
94
655
604
214
635
884
217
854
468
286
574
477
20
280
602
296
130
199
302
610
671
72
342
273
16
850
266
308
966
764
870
609
552
352
922
662
708
96
662
208
35
926
201
653
598
92
698
362
901
252
907
25
914
918
773
684
538
556
878
567
666
393
814
969
717
590
944
223
717
621
879
177
164
629
954
41
66
504
648
243
452
649
936
347
820
258
701
736
206
942
205
337
747
641
136
939
272
901
888
124
522
537
187
68
109
255
729
841
175
860
421
72
40
992
842
673
919
825
532
400
976
408
880
647
462
622
806
265
778
17
360
81
436
841
734
50
932
531
411
75
669
156
169
374
347
844
718
984
695
688
504
35
541
668
790
393
438
598
338
994
66
447
145
514
104
692
149
732
153
18
248
412
719
608
660
781
718
725
640
940
457
8
966
85
678
289
217
12
802
103
990
432
477
967
2
947
246
288
805
141
823
253
150
38
659
415
445
420
166
794
362
944
369
381
160
283
794
626
493
545
588
754
155
415
213
966
394
575
186
921
541
909
277
102
369
532
230
200
909
404
168
575
899
520
446
792
144
152
208
92
419
902
37
419
425
205
460
981
865
293
135
541
709
897
206
916
613
820
948
332
916
310
293
832
561
532
99
28
601
634
0
431
693
820
908
732
344
820
608
400
920
101
621
146
521
21
654
551
462
138
451
749
661
305
651
73
714
597
330
313
78
125
162
456
96
585
162
968
564
513
658
937
506
377
936
249
867
633
710
707
68
645
52
278
184
537
946
449
70
607
880
386
204
574
686
175
137
268
96
281
983
803
828
223
898
398
988
728
831
738
921
173
137
543
718
252
375
64
282
657
54
493
20
383
57
617
238
998
482
976
198
251
432
851
914
302
350
939
150
932
825
530
720
281
171
307
608
565
277
515
935
264
285
353
671
31
160
701
562
457
290
360
734
944
421
967
769
840
440
304
622
521
324
490
109
927
126
39
207
603
728
211
219
74
712
673
883
13
110
34
885
575
674
58
311
191
691
172
174
879
762
897
33
26
578
326
257
386
543
855
283
495
324
281
464
666
209
82
293
256
452
813
626
21
648
75
327
705
771
945
637
201
200
479
56
591
866
514
653
159
652
207
802
39
368
624
308
476
595
83
334
377
926
340
853
680
30
988
696
746
437
49
967
869
224
647
399
719
947
397
457
206
221
688
147
504
489
936
552
338
503
87
801
958
313
853
692
74
366
604
317
618
6
47
756
841
869
402
984
742
606
821
68
551
543
105
780
835
602
867
522
713
188
52
95
817
422
172
611
40
698
937
896
185
653
519
62
945
357
165
548
604
751
874
67
355
957
488
881
161
48
714
965
403
446
861
971
376
216
402
932
280
800
156
122
239
489
183
548
259
269
267
392
704
40
131
529
557
831
572
909
691
114
362
380
206
294
788
403
784
524
650
727
122
846
874
372
349
213
917
929
905
2
130
840
178
710
494
578
851
959
630
314
681
464
416
953
946
474
769
36
124
684
618
878
129
148
765
468
281
7
333
359
589
810
801
382
10
551
10
570
577
359
294
460
748
257
127
715
675
835
766
294
368
24
149
201
310
925
744
568
445
286
410
383
920
811
795
989
396
622
522
822
192
916
127
698
499
377
11
890
846
895
782
730
662
541
48
173
433
642
816
707
573
127
562
788
943
500
720
438
563
333
398
518
622
429
806
784
317
303
15
566
484
70
992
426
592
652
845
589
576
173
746
538
11
704
435
163
844
321
995
531
13
408
324
774
715
278
367
988
282
645
685
986
464
104
52
708
936
312
234
671
849
449
479
704
319
552
378
514
485
930
37
571
528
484
922
614
167
380
466
36
38
962
779
605
461
685
721
520
138
252
905
844
304
273
160
587
231
559
567
11
211
466
340
232
523
788
59
231
285
104
252
481
468
919
100
379
592
960
858
458
829
317
450
639
447
862
413
302
855
406
328
737
721
648
206
645
283
752
590
287
893
733
940
789
867
647
151
920
119
629
505
203
990
106
714
170
983
134
994
561
122
121
232
500
676
694
327
888
797
602
862
725
264
120
814
745
548
599
621
414
764
285
649
672
91
927
92
615
218
32
914
324
165
516
910
718
224
588
514
628
22
202
8
178
484
417
684
474
899
614
275
298
87
310
439
812
483
161
386
221
311
423
644
852
525
742
986
126
554
538
897
656
334
897
83
997
111
98
982
763
856
114
651
911
851
696
968
581
104
210
689
251
864
162
808
965
903
114
148
572
983
125
31
964
233
903
982
460
303
892
702
661
69
188
430
75
415
739
353
165
662
562
813
874
142
905
145
303
294
275
750
920
312
796
196
793
31
903
368
883
856
826
185
3
855
738
851
901
324
110
789
713
755
687
429
546
170
55
28
584
964
737
629
175
129
201
755
997
638
640
895
531
514
162
718
788
39
547
533
258
674
916
669
226
806
134
550
200
745
880
705
909
636
140
411
494
589
155
241
185
828
375
184
799
502
309
448
834
72
661
552
644
575
842
512
619
790
962
556
31
499
490
222
123
272
500
473
126
928
98
819
423
992
998
383
176
314
658
579
80
769
80
388
353
142
455
973
149
5
39
117
48
217
164
648
157
643
636
944
217
270
4
79
947
596
31
106
267
788
46
288
790
789
744
454
398
414
589
143
565
374
999
403
104
765
866
998
232
401
64
782
241
253
2
604
161
426
892
739
974
610
338
146
409
713
730
766
375
157
571
102
461
696
523
200
210
636
99
517
137
776
200
592
872
776
835
196
228
173
935
375
501
651
501
753
901
85
830
842
47
821
441
132
679
67
693
556
370
37
130
50
122
176
16
465
383
168
952
509
560
761
990
759
69
829
605
728
307
94
495
644
520
829
301
144
808
475
875
998
553
451
159
235
341
931
390
57
792
597
437
725
500
566
158
826
398
485
104
318
344
95
901
475
135
458
276
100
615
694
358
239
443
380
138
484
699
980
680
384
847
460
332
774
282
915
860
41
546
125
16
329
368
452
558
622
400
476
811
362
793
10
647
581
123
680
133
559
517
560
863
37
28
298
889
592
493
125
641
263
77
346
272
45
521
423
163
458
946
973
952
612
607
451
364
767
354
613
667
545
271
794
33
402
375
283
167
373
163
285
883
247
441
420
215
182
552
544
109
477
926
530
170
345
947
119
931
482
352
189
632
829
230
767
412
1
730
915
643
247
636
791
651
10
206
916
396
180
926
739
410
99
4
42
10
858
919
526
522
461
789
750
639
196
886
190
819
249
622
555
678
644
748
693
134
379
966
512
188
890
118
542
940
166
470
144
916
885
590
600
376
804
150
401
458
564
920
885
114
959
915
408
910
879
604
124
714
867
680
927
32
665
582
105
875
850
832
674
175
321
346
165
972
776
46
894
594
341
285
45
874
373
260
315
62
808
826
503
198
872
776
524
503
627
10
590
144
78
350
227
127
904
369
859
392
54
605
654
836
696
729
388
489
713
961
482
418
179
779
161
509
800
953
444
23
647
9
67
138
194
624
590
382
845
360
616
271
935
855
855
860
287
776
383
515
513
700
272
333
328
487
330
532
889
802
343
190
343
321
294
78
872
350
219
185
537
887
318
903
164
849
86
195
132
530
946
130
518
557
253
135
754
902
58
91
238
999
35
361
233
772
804
335
853
752
10
317
617
745
390
554
107
603
501
426
818
554
824
829
210
562
803
859
724
767
345
708
548
9
898
364
25
959
554
963
146
658
921
162
188
631
340
439
527
780
986
860
234
651
147
40
741
643
154
177
976
41
111
791
848
993
996
215
29
197
61
774
897
723
568
276
823
735
987
132
343
391
969
408
576
584
764
534
996
348
651
201
521
116
17
394
147
994
574
398
950
659
409
412
723
90
817
837
96
124
188
939
261
341
787
239
799
33
15
468
450
192
49
927
853
175
48
413
660
691
299
473
612
831
952
642
552
6
761
179
849
393
627
992
747
892
841
726
836
675
118
254
984
327
711
439
397
311
450
483
194
210
833
661
792
893
891
52
257
115
638
28
774
38
696
766
473
761
343
26
571
815
64
393
926
238
420
495
750
895
380
39
941
927
181
903
588
580
501
650
829
717
287
709
776
850
963
935
199
686
349
323
109
202
731
26
332
24
484
452
431
430
203
206
484
50
506
902
678
249
285
758
190
740
100
947
197
474
287
989
675
439
175
359
638
299
600
22
70
283
281
78
381
623
996
849
223
95
900
554
467
385
832
463
148
263
349
249
388
882
101
92
793
948
433
153
840
807
64
197
581
462
499
252
165
281
633
437
338
868
180
836
600
33
433
631
852
957
469
910
249
99
713
138
482
629
996
179
28
722
734
660
168
879
15
378
4
847
551
278
387
634
191
33
411
500
604
677
457
21
748
230
531
107
204
47
384
982
646
299
929
992
229
651
176
522
896
492
60
536
441
860
978
688
317
973
832
35
272
807
135
411
215
863
764
262
778
694
854
969
789
741
960
878
931
100
744
349
39
549
61
321
317
590
15
679
820
849
845
30
733
943
367
231
859
468
638
728
414
541
545
411
393
956
506
471
43
25
38
452
255
893
748
197
265
987
756
385
928
394
884
538
55
838
594
286
906
565
90
229
880
181
88
9
27
126
154
298
918
718
142
950
463
996
455
564
379
440
832
992
233
767
401
26
570
958
169
800
920
220
685
923
889
167
949
198
381
773
3
871
955
507
102
916
461
429
937
410
468
625
529
520
829
422
985
467
963
435
11
42
842
635
911
0
645
650
822
710
847
879
400
137
981
728
96
369
276
0
215
947
22
851
788
349
596
292
889
315
678
720
374
192
92
464
385
171
448
371
392
140
419
970
752
262
637
345
605
728
746
677
882
390
16
209
575
949
230
102
305
721
375
118
321
121
510
824
690
302
553
307
480
657
961
809
556
382
295
952
405
810
619
298
534
929
919
70
379
117
405
408
273
513
870
786
412
754
39
51
744
517
126
38
539
682
504
920
921
832
79
174
436
859
95
672
575
440
174
757
678
441
300
248
927
651
935
898
541
536
144
182
53
433
844
83
378
891
398
710
441
90
66
17
942
303
912
945
893
67
484
620
862
703
218
848
880
819
483
779
624
45
869
105
444
154
229
678
125
602
533
784
649
588
516
110
24
848
362
933
783
66
618
120
987
331
513
937
186
50
427
482
261
276
661
59
484
558
842
162
714
948
332
37
844
617
416
577
143
196
185
899
14
255
316
933
123
403
666
339
511
67
285
557
551
201
597
201
318
351
931
88
76
998
691
625
471
136
21
117
237
276
406
388
990
977
133
968
618
187
253
40
243
962
402
3
816
972
232
636
972
5
793
398
578
153
432
458
533
935
420
30
563
306
558
664
472
650
917
14
990
807
862
636
224
957
842
407
596
445
465
21
671
110
433
310
721
382
141
771
197
899
972
892
391
171
527
570
680
454
357
757
334
916
837
841
266
184
731
998
824
187
932
325
748
692
499
171
871
506
255
136
879
833
644
868
596
456
298
820
774
443
330
518
828
955
634
582
967
475
120
464
115
178
244
320
631
701
705
888
521
989
134
724
618
458
541
843
665
496
775
906
954
404
260
340
433
379
375
531
350
348
701
130
84
336
375
549
779
848
597
988
650
515
198
705
310
243
943
649
344
992
785
18
676
29
499
104
214
356
430
751
364
684
551
682
325
473
263
435
625
302
254
676
674
907
432
225
140
879
599
982
261
248
421
189
364
568
887
648
519
770
434
1
630
302
46
639
217
794
580
483
121
208
731
283
214
917
804
928
13
510
791
476
454
353
126
584
23
935
12
485
68
192
243
652
909
489
742
218
894
349
544
993
752
108
51
352
720
706
250
50
320
781
663
29
890
341
439
133
945
246
8
411
702
190
997
301
831
243
181
61
944
217
81
395
257
537
163
406
208
986
54
957
367
142
76
467
626
948
915
126
185
658
66
561
3
489
752
955
372
698
193
958
885
243
564
619
464
263
407
621
440
25
19
209
8
297
618
430
160
787
826
356
75
597
916
639
445
398
288
547
859
419
104
312
26
90
580
319
910
43
110
744
695
300
314
375
494
458
982
996
418
507
337
387
709
105
196
817
781
14
347
195
909
684
272
272
111
835
262
673
595
160
815
722
458
655
117
787
762
957
471
412
367
584
308
200
850
490
449
792
66
615
236
131
930
540
130
116
120
505
956
753
583
638
819
960
801
628
708
833
2
686
785
801
465
178
314
575
988
743
479
370
852
558
530
268
0
136
94
804
75
231
972
832
614
728
350
882
241
535
602
317
841
899
451
836
721
706
748
191
670
922
192
580
559
449
41
454
387
698
366
475
227
124
235
469
884
24
520
516
101
28
362
179
468
499
131
108
310
504
244
726
303
517
393
38
876
860
326
803
112
487
997
921
465
762
141
704
407
240
197
369
604
807
269
216
850
393
870
231
256
890
499
651
756
574
326
933
454
129
365
108
890
561
592
101
649
2
795
765
44
772
308
490
327
426
612
79
194
359
680
352
3
533
623
183
839
41
763
985
727
667
411
945
973
462
900
956
830
695
257
588
796
570
879
197
15
474
302
777
319
848
528
80
7
232
99
166
920
639
129
672
384
765
719
224
814
267
515
536
704
640
749
260
782
472
862
149
837
547
957
891
585
413
711
799
838
348
890
780
740
361
961
814
382
426
362
269
396
538
191
344
299
797
669
361
614
886
356
723
921
745
767
48
80
69
85
34
221
301
716
16
325
76
142
36
177
181
890
6
426
187
283
107
157
473
622
564
445
908
884
593
169
808
634
705
362
926
71
687
360
27
805
19
555
363
300
315
548
212
523
556
455
819
608
688
286
394
521
377
469
425
209
451
164
453
427
998
694
737
50
701
200
754
728
380
669
581
405
707
535
555
879
273
226
949
108
439
435
800
52
893
683
513
260
26
815
891
229
292
593
553
145
675
151
909
758
771
747
512
136
267
649
806
980
684
31
299
144
509
464
141
613
263
174
148
905
798
257
264
227
467
122
558
947
816
746
164
725
242
661
822
283
471
44
562
660
70
583
18
756
961
949
89
653
849
451
217
960
647
260
750
759
939
815
236
801
181
172
284
71
781
470
839
599
219
1
274
135
940
814
917
314
212
891
204
366
180
365
914
43
950
97
3
479
42
961
913
659
677
960
146
491
120
888
453
498
649
977
817
49
358
413
935
992
226
812
922
510
143
260
483
365
680
438
517
202
405
921
70
772
532
528
251
680
252
301
970
763
205
262
953
795
576
928
61
297
27
253
745
707
214
210
751
753
587
126
837
272
162
989
719
757
429
22
395
78
173
694
919
509
662
79
162
28
31
216
285
83
796
146
943
55
0
75
902
391
653
360
570
192
439
215
954
482
458
656
397
243
107
679
356
461
69
573
854
199
501
597
239
75
102
788
686
946
754
168
924
924
271
751
581
847
929
569
813
777
670
121
455
176
777
885
89
860
50
281
653
356
272
611
280
387
958
402
832
604
538
478
6
619
258
563
641
202
312
652
860
605
873
44
444
323
185
142
268
810
241
897
493
320
590
395
607
486
984
218
925
875
863
880
288
384
455
536
690
458
56
697
305
153
925
764
32
214
7
505
169
213
402
842
531
345
295
674
967
343
327
523
537
597
612
407
633
671
378
933
427
886
470
706
612
15
350
739
212
118
466
567
151
172
662
461
339
946
62
358
556
492
233
769
996
204
177
321
220
366
977
411
766
253
947
299
925
121
461
630
905
249
778
511
574
707
284
492
826
880
656
680
687
715
977
971
668
459
65
962
912
784
866
939
410
239
255
639
597
219
454
444
383
922
190
38
139
259
817
686
392
870
110
948
345
939
647
522
189
765
240
651
79
955
925
810
958
200
142
990
838
522
912
516
219
397
482
800
366
357
865
770
511
992
612
97
974
850
30
212
862
571
993
852
696
629
315
955
224
469
620
485
924
715
596
453
177
749
458
876
86
101
469
122
322
227
761
66
62
625
941
860
848
740
922
479
935
535
320
695
293
24
495
389
962
716
225
207
184
562
804
816
497
123
442
189
544
626
712
330
370
677
683
651
982
240
617
629
569
674
546
175
650
170
365
145
40
530
132
944
84
826
965
772
682
377
134
739
31
10
342
639
928
578
3
324
8
971
338
796
658
863
98
717
155
100
284
892
951
211
466
456
603
575
831
242
178
936
833
163
397
938
941
929
487
102
379
124
676
162
373
101
466
112
923
592
572
475
21
944
299
629
895
173
428
423
838
498
85
684
781
693
868
668
494
924
807
896
978
699
365
631
18
438
105
903
271
799
425
148
898
233
815
735
776
601
761
335
192
100
285
727
745
258
349
456
511
520
207
878
797
606
195
230
253
515
916
321
975
36
143
997
538
246
240
515
973
271
207
606
402
518
526
137
721
138
499
863
950
535
375
410
229
559
136
66
201
765
401
11
339
399
457
837
145
119
671
56
828
786
15
990
523
938
135
561
192
666
299
257
93
349
807
268
350
441
413
221
69
482
551
519
734
914
806
725
796
317
929
546
30
682
211
2
194
385
670
899
300
622
554
689
741
927
162
644
360
818
559
810
62
515
661
304
348
476
858
143
70
192
995
414
624
295
718
121
318
187
22
939
180
18
110
705
874
609
898
195
415
607
809
154
96
435
151
560
341
64
833
363
847
303
388
921
726
502
793
771
971
960
483
435
620
388
225
868
811
161
812
334
706
219
909
717
195
256
359
567
186
690
934
349
345
729
421
808
171
600
653
241
760
583
800
469
117
377
277
634
63
240
277
496
539
81
607
22
866
141
235
98
207
900
793
578
752
459
420
743
331
242
703
510
544
578
884
581
455
269
321
151
604
2
332
327
184
782
919
371
623
836
474
931
611
847
66
324
566
419
596
53
899
826
684
451
311
24
521
781
173
189
15
916
935
977
789
232
923
656
732
157
280
103
678
539
420
122
319
792
486
604
810
182
797
396
658
268
162
382
281
205
625
359
973
337
700
456
365
369
860
763
122
170
623
915
696
921
894
284
595
690
134
377
206
196
698
836
63
920
787
544
794
301
936
129
884
74
252
363
479
819
731
47
337
745
354
488
344
193
121
948
841
119
536
300
778
527
68
166
972
690
683
955
652
600
821
136
117
642
384
120
541
676
503
55
532
119
596
547
904
970
155
972
398
766
258
542
337
757
245
164
633
862
269
523
12
79
924
49
990
125
377
802
844
267
25
386
975
604
331
318
869
444
336
915
264
795
595
132
216
637
765
187
125
589
639
675
278
243
958
930
216
993
742
265
889
65
238
579
422
598
512
887
681
547
626
750
779
897
583
920
479
312
671
293
714
558
339
343
56
844
947
254
591
418
169
562
811
636
288
621
133
645
499
425
438
546
831
249
738
401
392
811
489
696
458
24
17
376
952
841
965
566
256
131
44
394
391
960
413
959
81
421
778
660
840
369
224
659
924
619
770
355
469
39
164
880
587
386
440
968
361
164
630
362
793
371
576
752
393
525
771
574
116
844
949
81
609
447
699
692
101
675
299
251
816
819
375
190
436
9
103
495
368
12
848
496
158
711
667
707
431
583
374
43
57
754
23
258
908
377
406
168
779
975
579
672
766
247
509
724
986
311
900
858
760
558
107
991
506
253
890
673
401
271
110
944
436
465
596
932
913
932
142
874
640
471
74
208
390
360
113
371
100
337
906
672
973
40
907
165
958
481
981
654
853
995
13
819
15
303
12
254
830
735
741
834
135
727
183
645
184
395
38
104
915
144
201
137
347
890
25
198
719
366
563
650
951
615
723
6
187
509
9
397
729
884
204
16
351
406
55
326
975
345
554
819
558
957
113
928
371
601
907
284
16
619
297
622
964
939
553
774
912
682
217
866
63
878
715
290
549
286
713
964
532
410
483
283
951
143
264
858
165
659
469
42
483
278
695
478
57
782
497
270
302
0
301
113
212
685
418
446
651
662
391
566
160
242
149
374
734
348
872
531
456
444
944
971
810
268
485
112
668
562
36
693
304
386
491
608
160
639
848
830
334
717
153
576
185
715
375
511
278
850
947
654
691
929
260
5
202
371
689
807
375
231
851
199
432
325
291
453
330
73
767
233
938
413
146
72
532
972
358
346
111
784
79
464
329
268
350
519
196
418
972
215
672
2
583
32
45
11
293
176
551
912
213
884
521
128
132
319
615
151
574
349
2
99
237
165
706
603
7
86
8
406
641
354
96
694
566
628
441
919
452
378
89
380
834
860
788
319
963
741
592
580
786
60
209
527
449
669
488
885
411
893
671
376
330
864
342
667
50
14
862
52
688
448
758
427
592
822
135
207
798
333
456
517
416
781
893
547
387
663
180
313
109
832
625
639
702
226
721
539
743
932
54
598
541
460
97
946
183
147
588
695
307
19
111
335
781
911
372
386
351
656
96
450
340
175
54
730
450
219
711
705
768
471
747
33
987
170
538
732
131
902
938
746
438
953
19
12
753
118
709
906
372
130
974
461
839
111
977
557
699
348
643
444
515
9
212
439
132
326
607
987
70
271
352
609
806
973
852
327
875
148
317
462
743
507
473
867
654
946
707
389
743
0
761
86
73
351
465
890
884
577
502
319
324
875
36
584
782
834
728
270
634
453
645
575
352
239
264
784
619
906
331
3
24
557
932
858
501
635
661
864
911
320
899
47
654
475
654
994
68
371
231
171
469
283
208
440
136
818
288
804
544
88
891
473
923
57
290
249
51
473
443
920
796
107
490
316
169
295
442
577
105
231
988
828
116
359
761
794
436
748
599
244
485
953
412
51
972
61
614
512
787
573
67
16
498
642
646
630
945
23
411
624
30
191
474
110
49
671
745
984
855
984
659
15
471
58
794
850
74
793
206
857
701
148
504
427
940
589
103
325
919
812
544
752
20
264
306
152
195
919
487
236
837
832
224
536
104
130
382
781
577
2
295
524
947
400
883
786
846
425
394
692
493
496
464
908
574
586
854
299
660
311
494
829
538
666
50
412
833
53
688
154
642
606
50
727
669
603
717
213
929
638
666
3
332
187
200
16
447
500
411
162
675
295
286
657
627
479
219
849
275
225
99
630
682
10
540
858
900
914
115
497
624
47
662
46
678
855
279
322
186
888
648
285
25
503
116
994
671
758
848
409
722
696
809
519
743
169
631
668
558
511
584
952
920
110
746
250
768
72
704
250
683
447
712
470
463
371
791
790
880
73
190
871
613
975
537
756
760
300
198
178
254
197
459
13
130
161
528
70
954
360
628
662
490
934
272
213
449
569
412
278
810
256
342
863
845
355
417
489
233
11
526
17
457
351
731
269
870
260
132
26
515
664
284
753
206
133
532
403
605
107
772
249
862
126
42
611
222
387
244
374
307
801
344
417
547
54
540
187
119
138
555
104
826
217
201
121
146
170
977
776
324
587
322
15
138
267
963
963
949
669
394
55
468
810
34
671
656
651
470
206
738
790
181
76
103
375
10
648
41
560
449
859
243
559
847
547
180
647
174
65
508
44
325
836
742
343
716
950
605
245
374
471
732
491
558
918
281
211
549
847
979
383
183
986
217
836
31
441
75
846
473
547
188
439
432
741
384
586
117
626
536
77
0
52
838
504
386
901
319
196
334
153
64
250
573
640
433
988
616
64
404
795
318
357
713
387
637
296
270
397
76
757
348
459
795
321
952
336
104
142
833
722
331
757
641
752
455
709
185
867
415
278
584
258
748
890
551
528
814
94
571
66
884
199
858
94
81
57
6
534
499
75
770
735
521
37
33
878
925
217
664
791
267
946
673
283
870
235
185
557
742
703
708
666
183
240
781
149
551
348
777
734
595
576
22
580
147
406
530
738
459
32
565
906
42
340
787
372
258
217
679
400
150
677
13
479
538
785
189
844
538
630
983
60
716
881
347
489
148
880
220
546
44
39
395
966
149
365
153
559
147
48
465
298
720
508
526
253
309
629
732
379
819
338
706
550
733
977
524
886
924
75
740
656
742
602
379
67
878
877
129
772
34
541
969
60
653
336
530
365
46
772
953
844
537
231
379
125
680
342
163
773
83
3
707
781
593
626
243
277
331
53
248
219
619
647
912
168
361
589
716
132
101
720
567
849
328
875
883
46
953
563
681
900
51
553
826
84
720
232
282
671
744
902
428
811
861
493
40
208
180
832
379
893
936
11
145
602
603
171
604
540
818
224
324
830
630
219
621
479
233
577
658
318
158
839
318
425
282
99
109
731
36
678
568
323
763
156
247
557
750
634
269
53
208
444
615
264
171
835
165
691
978
322
528
415
360
297
728
637
805
525
517
989
16
292
778
17
331
661
589
844
514
401
97
967
889
390
38
235
147
375
34
159
796
687
564
688
805
103
197
123
116
68
175
437
577
534
851
869
564
420
561
181
388
875
16
455
373
247
729
159
87
262
156
521
291
827
631
453
395
490
838
34
149
966
22
666
531
798
847
803
530
995
1
529
642
680
773
617
140
510
196
869
15
77
397
558
161
402
792
366
692
811
911
280
886
567
349
999
107
576
51
368
785
921
188
101
188
564
823
47
771
763
755
855
321
188
677
646
703
945
965
489
342
75
239
455
573
813
844
954
68
517
147
530
64
914
964
833
406
73
1
40
101
31
265
57
536
931
379
72
952
36
341
729
732
974
169
77
796
568
106
222
919
470
153
975
362
140
931
418
422
134
629
26
992
2
578
352
787
203
771
996
823
765
517
545
781
137
19
221
630
315
134
216
700
574
333
259
452
787
313
361
800
74
687
430
771
723
402
815
944
640
899
741
201
770
946
381
574
156
836
475
988
931
746
412
24
204
792
79
340
790
847
590
858
235
372
219
502
418
506
35
728
89
77
848
552
656
610
948
755
901
670
977
276
498
828
64
662
383
126
642
756
142
370
658
10
590
586
596
291
900
677
974
957
462
188
311
312
166
75
207
898
294
806
37
985
688
874
725
632
280
594
311
385
327
379
54
242
860
41
778
414
284
239
13
289
847
20
392
659
986
216
791
511
249
204
258
12
15
648
355
615
707
778
681
157
436
150
982
894
276
469
611
47
723
140
789
571
592
595
677
357
636
337
514
524
619
461
995
55
675
679
518
151
241
400
997
97
244
840
213
895
233
564
406
712
104
756
363
767
236
37
502
437
73
268
115
137
814
329
47
148
54
925
149
316
551
787
74
973
70
179
780
105
397
689
424
878
415
604
142
273
319
633
245
129
614
310
130
782
275
604
646
487
337
566
577
296
553
507
168
987
740
142
33
375
499
225
288
360
808
332
880
360
613
959
984
612
558
17
477
841
399
896
474
988
291
997
250
574
11
358
659
215
535
183
381
560
546
476
93
16
515
840
239
297
57
776
21
20
779
139
514
959
158
779
925
298
72
546
377
28
188
274
715
934
385
55
763
764
237
841
608
903
141
926
46
771
649
261
436
826
248
623
254
113
860
629
900
684
166
512
978
816
652
134
52
727
14
353
928
572
399
984
166
114
753
21
587
671
358
677
690
233
938
89
687
776
362
881
157
505
362
254
650
486
222
916
886
900
821
47
405
719
372
172
134
741
815
950
631
653
948
590
92
180
127
931
784
446
645
548
492
789
480
224
12
911
274
541
225
820
31
934
136
339
49
389
514
278
699
731
193
994
240
343
903
286
57
20
460
163
293
192
255
408
110
992
133
539
28
54
977
58
937
829
728
25
221
388
386
54
40
470
183
240
752
335
264
430
571
494
445
356
102
469
476
355
299
650
334
519
41
883
778
427
294
107
558
303
544
163
633
743
557
245
595
818
169
542
793
769
275
439
768
525
252
784
155
82
280
876
624
510
504
870
282
165
234
960
183
133
179
699
716
318
777
645
155
38
285
981
437
947
335
942
120
569
678
75
877
197
838
231
941
829
896
958
801
276
26
472
145
97
742
98
355
252
640
213
202
727
822
741
260
550
276
27
705
446
143
333
163
806
534
224
797
628
509
355
343
300
634
357
261
247
650
969
717
775
589
630
737
250
449
341
922
961
831
734
210
531
841
907
90
342
997
347
629
32
955
428
185
980
835
992
960
313
617
666
436
146
595
871
510
468
480
674
168
942
780
332
285
810
830
167
656
794
505
858
216
643
433
652
409
41
226
552
288
692
373
945
834
139
143
180
88
469
390
341
532
656
338
698
515
512
218
70
57
165
782
166
343
445
900
194
319
409
518
272
740
95
673
69
9
343
686
474
70
142
401
245
9
571
20
678
186
687
256
168
751
477
107
469
207
456
988
203
88
267
712
314
461
516
30
444
242
8
866
997
825
271
990
714
466
233
723
567
474
731
905
18
808
670
522
302
537
616
965
237
278
569
551
759
286
859
639
172
417
738
421
104
72
302
984
266
303
318
381
125
648
576
773
521
831
606
185
247
429
880
603
724
125
100
922
579
811
890
594
285
942
319
47
987
810
497
863
317
925
262
181
550
821
916
472
257
721
174
540
154
605
730
678
209
589
933
767
565
783
382
563
377
994
353
664
553
303
588
381
965
905
687
71
46
936
165
277
310
683
361
929
446
627
591
630
90
725
190
563
758
459
398
282
822
235
30
104
121
132
321
839
840
533
503
51
997
582
196
325
905
642
800
887
309
292
239
530
261
91
894
353
148
631
686
136
464
247
869
900
855
416
363
260
287
239
773
460
603
807
855
761
707
123
239
202
769
23
122
617
160
796
450
175
840
766
150
41
654
168
10
340
86
255
972
933
454
423
231
639
620
564
295
772
936
968
806
222
606
83
423
243
644
881
176
583
150
616
59
319
953
780
893
97
853
112
447
981
864
891
868
63
718
169
701
297
87
48
975
790
397
815
491
434
256
658
504
927
657
589
431
564
915
163
422
132
559
359
359
193
388
875
775
930
841
380
605
153
105
399
409
798
304
82
554
722
660
981
921
104
610
755
389
214
435
274
865
443
273
604
706
313
342
531
861
551
7
855
967
702
214
190
224
526
122
594
432
769
739
767
206
203
406
97
371
676
172
406
815
706
73
483
482
153
927
135
47
88
109
335
447
968
88
929
502
867
440
145
571
858
264
650
470
663
187
543
289
282
408
422
188
306
185
958
150
840
132
902
119
961
120
457
558
7
895
3
436
788
819
649
527
421
685
159
882
700
588
650
168
180
247
267
752
178
37
134
596
374
687
120
473
755
230
474
90
771
38
297
390
704
864
753
484
719
485
945
122
959
662
474
266
532
9
111
951
482
886
325
497
316
503
75
782
716
555
164
632
418
225
776
163
535
439
684
42
269
893
598
628
868
64
731
806
309
507
647
211
470
53
340
968
825
612
680
758
439
648
461
321
761
370
800
908
457
591
33
58
16
721
944
895
494
189
424
616
724
515
844
43
615
123
781
511
267
273
244
990
548
516
725
298
672
1
111
177
814
884
18
79
605
327
205
14
429
696
189
581
986
241
242
892
1
776
315
1
24
270
736
851
65
854
125
763
433
295
273
682
160
649
542
154
553
477
544
707
533
803
402
788
488
854
124
182
238
804
842
842
516
884
660
240
55
756
30
184
204
316
539
651
395
227
874
641
743
280
148
623
8
0
395
434
565
636
783
879
242
802
566
766
81
325
101
499
918
981
858
987
125
143
104
15
326
255
192
409
455
300
58
966
82
15
206
744
138
910
458
765
696
695
901
137
365
558
854
957
989
961
451
459
112
694
454
11
757
797
568
230
316
853
200
851
529
497
638
532
627
948
64
274
279
916
248
794
421
604
168
797
978
267
494
79
829
696
546
846
695
740
812
920
297
672
123
212
421
198
547
873
72
212
755
157
250
621
462
432
945
363
397
992
332
128
293
503
499
139
364
203
460
718
201
940
798
407
530
315
491
26
757
960
230
580
316
84
32
642
864
36
692
408
498
631
107
721
879
734
664
95
303
418
63
584
706
938
277
476
301
89
995
810
301
887
630
613
145
80
460
75
445
419
329
550
634
549
871
674
749
802
846
147
376
557
375
44
536
783
944
79
734
150
711
428
815
413
416
155
929
267
621
758
303
901
632
735
570
437
657
480
952
909
97
729
720
61
220
810
83
614
404
132
658
159
863
195
752
666
0
35
197
546
196
68
934
207
884
125
144
395
224
453
21
921
498
899
639
823
423
446
573
838
706
111
840
998
165
142
483
942
729
924
805
559
746
571
529
524
830
795
296
841
874
793
687
917
125
770
545
833
633
622
440
97
48
130
539
606
400
616
99
761
427
165
237
679
590
439
820
757
882
705
503
35
177
325
95
689
573
373
807
311
543
935
565
176
867
461
763
663
280
845
625
30
926
669
210
357
638
297
460
553
185
77
512
443
271
898
193
800
408
447
446
488
917
375
997
294
607
4
791
629
553
810
630
792
494
185
983
835
221
259
38
513
720
117
710
805
415
366
140
616
672
304
898
697
513
335
643
253
765
308
856
216
508
321
588
794
419
801
762
876
768
569
124
55
600
949
962
587
826
630
731
157
154
870
233
906
766
163
692
293
930
77
77
538
654
419
268
650
255
365
861
11
348
955
796
535
905
659
421
928
592
886
328
506
808
408
269
976
427
359
711
89
137
781
227
249
424
343
947
917
675
209
316
19
221
795
524
661
824
35
306
446
670
936
593
91
914
35
241
588
744
457
59
783
84
589
320
134
948
994
873
531
663
134
295
635
975
523
552
996
240
499
224
263
739
102
48
373
794
295
411
671
266
871
479
690
393
970
59
21
881
40
811
793
105
957
604
351
406
242
985
829
968
29
505
297
362
475
866
418
216
617
524
970
414
34
766
373
398
368
94
285
938
429
908
521
218
130
267
101
470
573
366
471
323
976
781
21
544
692
680
887
683
470
316
255
86
215
28
927
762
286
936
473
910
353
535
968
746
432
923
463
80
766
649
124
997
854
210
286
250
78
660
487
58
276
316
946
331
655
276
190
846
492
39
996
179
665
694
632
661
668
153
818
66
126
980
807
284
855
954
496
716
194
86
984
566
349
557
511
845
335
111
716
554
183
430
680
386
737
9
24
992
975
829
635
767
660
838
47
870
990
480
184
311
260
933
816
608
425
960
461
891
633
506
249
698
600
201
115
543
227
839
660
508
869
276
681
698
143
235
758
421
854
903
186
12
539
890
988
496
417
641
821
279
974
109
409
907
670
828
42
933
556
763
966
290
742
576
239
380
506
670
66
228
685
958
821
460
131
506
738
571
25
97
708
426
58
879
151
56
54
519
520
808
96
442
128
858
189
720
852
239
473
687
52
650
264
464
704
969
522
698
113
33
423
886
974
503
808
285
388
8
510
985
454
457
241
828
596
898
484
615
875
13
172
440
145
768
420
531
470
419
961
294
841
438
427
298
504
333
753
150
991
856
392
316
883
235
834
516
774
275
892
996
879
928
506
576
165
908
656
342
361
109
688
404
223
172
928
214
886
678
183
220
873
918
862
442
810
782
779
709
926
856
53
678
475
17
224
650
706
634
176
46
920
837
40
937
323
822
220
208
291
379
439
938
908
60
631
139
305
990
521
827
629
207
885
641
432
466
708
562
590
485
396
956
421
861
342
198
265
154
795
507
110
369
141
878
803
622
939
699
108
779
812
921
181
572
264
143
815
343
404
59
135
488
147
593
485
791
810
370
886
701
639
495
335
823
643
530
346
891
720
165
363
578
497
953
719
111
574
966
937
931
222
98
736
918
297
586
549
183
524
514
696
844
512
779
53
992
458
398
527
433
593
952
933
682
367
225
27
227
176
137
943
946
281
32
665
613
219
262
178
235
47
804
590
621
809
953
481
449
87
514
752
479
116
27
537
268
589
880
688
565
381
696
89
366
209
238
587
491
160
536
678
694
753
435
360
332
765
833
728
874
231
534
974
222
182
418
387
519
142
577
216
91
651
508
932
757
275
8
998
912
401
44
944
593
736
770
314
66
391
364
595
728
123
50
950
136
775
785
896
439
396
560
889
708
26
120
340
418
944
435
381
593
196
655
887
513
657
668
370
766
709
42
570
390
150
796
40
96
670
824
166
165
846
796
643
904
663
112
522
189
323
239
280
983
859
967
21
567
567
684
731
644
552
834
404
428
442
208
744
82
4
675
977
518
909
583
693
373
441
494
503
477
733
937
494
253
995
707
270
533
928
217
303
321
252
422
266
97
951
34
576
37
144
106
492
756
644
829
904
135
978
669
955
744
797
377
3
545
515
745
655
893
641
617
566
14
343
639
589
481
748
246
767
399
722
102
290
425
24
191
103
442
930
387
923
130
193
259
981
227
857
718
972
102
275
456
680
272
416
570
355
841
736
509
394
828
747
559
394
854
365
871
874
466
366
543
980
700
214
607
871
974
464
500
963
355
210
513
880
58
341
503
402
624
88
133
733
34
781
534
808
175
674
557
557
905
612
872
541
425
889
143
963
744
821
713
682
341
692
500
461
720
373
367
478
566
848
982
761
77
2
799
916
785
38
343
359
307
472
66
20
521
194
360
17
298
197
104
142
857
652
152
486
335
751
617
888
10
237
454
482
229
595
354
833
26
598
704
664
15
212
94
211
632
330
513
592
215
786
64
443
446
9
62
64
141
97
39
802
668
503
364
53
40
986
111
958
924
733
389
319
436
885
597
523
111
521
594
695
60
512
787
607
1
889
92
968
574
433
162
324
68
116
449
676
248
304
402
408
883
576
404
690
207
71
600
860
270
352
444
801
884
299
880
267
33
78
986
5
91
911
568
318
701
26
105
152
880
512
749
585
314
765
223
797
976
473
199
129
461
582
848
927
626
114
14
811
789
962
885
803
461
648
364
29
155
124
879
949
174
727
41
8
789
176
997
701
142
646
739
128
70
120
922
813
59
443
529
907
496
309
708
299
606
723
77
878
540
810
623
582
539
283
424
877
899
411
492
625
0
458
111
893
11
708
578
373
243
882
709
882
842
991
408
395
639
647
498
26
484
682
190
309
895
193
907
188
954
120
985
17
579
649
563
667
990
356
257
390
35
151
685
393
618
897
98
456
211
348
239
136
487
105
655
158
294
237
787
226
63
816
658
22
871
53
338
149
37
868
56
746
927
954
384
463
97
599
417
14
3
824
298
833
595
828
276
620
36
591
30
346
410
652
938
202
384
725
737
954
364
272
92
607
926
524
481
21
848
52
479
56
144
125
653
641
152
448
607
48
637
147
396
280
919
198
519
546
206
828
665
253
997
776
562
26
790
34
45
309
418
957
715
17
576
757
191
18
758
524
634
337
415
16
117
237
73
222
313
354
171
569
74
559
389
230
428
319
641
202
616
310
6
310
249
428
599
831
388
712
465
425
383
913
39
54
979
764
751
594
661
49
502
613
774
667
935
746
684
434
790
735
861
31
531
386
732
394
254
948
90
11
212
932
888
422
790
562
271
924
528
254
4
507
750
903
16
779
636
865
390
247
51
691
916
795
870
463
461
634
423
603
620
876
591
960
484
780
268
933
766
635
297
499
586
390
970
539
647
617
592
2
392
34
786
422
499
990
791
39
796
751
247
484
609
93
755
929
345
772
561
694
798
678
485
168
820
288
533
236
32
105
963
169
615
181
196
48
704
846
574
779
991
555
482
450
751
49
896
960
373
672
851
904
402
624
883
697
471
258
527
761
325
762
720
330
343
668
289
451
531
150
18
83
457
192
256
551
864
734
163
488
982
58
674
683
761
637
813
827
582
149
179
537
758
341
847
155
526
98
451
251
604
617
339
709
376
786
956
93
702
88
365
42
334
254
467
953
919
553
499
849
617
337
568
807
591
901
492
641
909
409
394
780
199
534
940
989
517
715
344
236
737
988
783
620
198
592
111
997
847
668
661
589
701
33
237
203
482
463
778
69
81
348
58
211
102
668
723
815
744
324
133
678
861
618
843
500
385
262
781
904
525
791
145
263
292
556
682
356
408
763
889
978
681
642
105
345
370
222
393
616
127
414
375
527
830
882
555
642
430
668
760
12
22
90
743
234
456
713
22
622
659
756
245
365
402
139
156
315
12
407
64
663
553
767
314
913
396
321
797
51
904
397
170
834
336
480
39
776
182
458
907
14
58
274
3
219
931
961
841
36
490
985
156
345
84
992
211
346
160
759
961
788
604
418
665
221
846
149
134
566
370
279
864
728
356
940
548
991
457
320
768
88
750
256
382
372
4
372
257
442
0
744
491
214
363
387
182
319
299
496
13
918
309
640
272
343
250
585
641
846
855
230
67
960
277
177
889
406
830
722
722
238
68
558
368
62
938
48
398
275
16
490
26
914
920
466
87
108
773
932
709
406
507
714
776
80
713
185
461
109
734
116
437
144
34
361
834
967
618
355
688
541
229
720
652
962
956
223
510
35
82
38
217
617
138
436
121
550
376
664
616
568
803
72
370
979
915
859
640
407
91
668
508
844
696
670
107
21
87
87
916
302
338
197
15
342
827
167
874
154
784
455
375
256
116
522
563
825
613
968
729
656
212
586
429
386
452
949
531
186
803
259
533
619
683
273
144
165
101
769
569
831
183
137
261
904
399
837
852
421
68
762
596
260
592
360
183
210
173
738
371
755
653
947
205
878
689
68
0
133
275
835
626
749
956
586
364
176
799
840
509
510
720
225
127
19
711
749
286
994
435
614
464
525
201
906
240
815
197
482
467
153
766
811
434
281
256
355
332
346
573
333
419
942
763
695
472
181
343
555
635
197
13
313
331
801
257
262
94
671
286
951
18
634
674
352
433
371
685
952
508
160
174
844
936
412
494
608
719
393
91
569
779
188
323
36
796
715
723
847
144
677
173
98
832
889
149
874
962
477
777
557
491
230
842
874
559
954
564
445
723
710
102
307
99
790
919
372
454
629
854
682
297
88
37
130
10
747
635
140
178
335
828
68
320
129
542
371
561
407
669
185
70
438
710
966
639
295
466
54
526
2
430
632
859
582
354
877
267
328
309
245
433
558
321
903
857
854
404
940
426
54
355
584
872
649
414
784
421
777
584
515
388
677
323
25
593
139
543
924
994
706
498
991
147
128
970
186
41
919
430
989
482
522
978
30
393
988
460
409
129
960
624
613
165
877
64
283
360
342
713
444
494
795
962
731
386
406
490
958
850
398
701
176
635
838
49
634
917
290
615
702
569
212
390
314
389
865
652
104
463
854
440
378
230
927
470
716
426
733
80
539
514
998
586
0
404
616
773
202
51
638
524
564
326
560
74
714
944
945
657
571
361
274
517
172
519
48
661
344
89
942
152
785
19
998
662
160
319
304
282
578
529
983
62
207
645
233
664
405
719
558
612
911
624
274
807
365
972
967
764
507
121
549
703
719
804
168
621
396
621
861
308
915
915
497
923
892
286
788
624
513
835
98
885
892
492
947
289
136
894
401
709
681
427
391
749
152
836
494
188
382
933
408
633
715
184
217
761
854
555
975
373
419
353
966
233
913
891
918
626
571
271
479
382
316
992
370
170
787
325
134
903
8
417
116
351
431
231
673
702
40
173
274
738
472
482
631
806
628
721
857
256
384
840
247
37
88
583
594
687
703
384
968
112
251
506
906
348
720
288
719
224
932
554
380
851
404
372
524
293
122
688
574
344
100
43
891
60
215
764
417
488
490
73
675
36
284
110
463
814
463
149
638
531
65
61
189
707
368
32
83
110
21
494
172
536
766
765
578
972
3
255
953
913
990
42
92
147
655
434
717
561
338
693
791
786
73
364
184
84
796
299
950
308
769
508
190
214
385
605
986
793
863
381
851
267
908
458
760
858
418
374
705
674
184
931
728
848
279
853
879
952
839
154
726
500
246
337
240
408
40
620
377
414
356
65
147
508
778
317
608
877
542
343
275
703
231
742
883
518
733
818
596
748
99
435
726
42
445
336
446
34
767
60
734
69
185
201
912
666
22
268
984
874
78
760
311
61
313
460
678
402
717
525
442
817
759
442
196
628
38
778
357
531
159
431
114
318
285
769
617
275
205
873
841
454
877
600
317
843
327
574
517
189
240
690
646
469
864
245
476
749
33
80
950
33
761
671
544
721
733
556
940
482
830
849
693
166
960
703
718
697
7
78
156
719
394
32
129
499
545
427
467
605
931
986
34
596
328
181
323
512
862
465
671
143
231
392
238
969
207
857
454
643
661
309
100
262
292
682
713
944
805
710
142
418
269
69
663
961
550
520
629
621
861
326
58
464
310
685
191
733
239
118
384
499
130
223
46
941
117
677
930
820
113
34
999
274
869
486
103
529
67
838
760
62
180
281
405
751
427
261
532
453
721
781
761
823
67
859
220
667
172
64
22
623
678
322
252
847
297
681
462
653
426
327
383
719
394
749
566
739
217
457
838
911
657
691
721
512
948
849
105
286
423
431
71
395
593
854
970
80
990
1
812
341
269
814
851
92
120
470
894
777
671
778
233
92
276
839
500
802
471
473
273
231
455
958
874
811
393
265
437
111
143
833
171
508
329
421
924
922
592
806
518
701
290
640
948
98
371
757
277
355
767
746
226
210
928
270
972
764
633
395
359
518
224
555
324
857
127
684
690
873
883
570
103
157
42
132
350
412
155
44
593
163
541
864
682
974
952
315
876
549
688
496
298
480
102
321
138
776
904
228
76
928
512
960
481
982
857
743
430
835
577
476
292
946
36
701
287
997
764
124
959
329
91
793
471
995
971
170
376
383
383
452
383
456
462
565
127
746
726
512
228
431
424
998
160
250
611
6
882
451
515
713
658
917
533
888
963
932
834
944
985
606
782
732
738
8
453
267
66
870
379
929
561
67
813
683
816
990
948
155
517
751
947
441
525
861
822
412
583
393
976
436
605
610
829
212
967
928
138
240
64
92
184
739
907
819
976
435
622
350
895
127
770
592
439
831
786
464
247
740
730
700
66
329
425
780
237
729
537
206
897
225
663
353
323
303
351
61
721
694
431
396
566
20
265
711
294
832
294
927
38
852
422
891
127
904
475
162
611
156
860
57
511
173
116
99
637
670
193
441
906
592
305
420
258
367
654
616
408
761
38
92
139
434
160
367
96
848
56
606
370
694
312
316
598
70
583
244
394
696
375
703
679
615
15
517
150
119
721
129
206
152
501
16
397
139
406
110
973
944
788
276
414
137
431
447
140
528
211
633
855
471
682
571
476
705
28
209
199
787
755
469
244
954
676
637
608
125
10
174
100
755
833
45
820
189
961
139
287
445
287
159
150
426
144
142
622
290
813
985
164
627
136
799
704
196
812
393
98
883
583
530
271
616
418
783
74
295
963
460
507
31
383
873
15
888
571
167
44
625
819
391
502
534
924
570
874
947
794
341
292
165
641
241
291
361
520
81
566
184
113
842
357
319
458
690
275
112
220
862
990
504
394
887
957
551
765
291
480
832
409
287
701
773
898
163
465
919
684
183
773
64
639
869
673
842
888
885
84
649
641
901
138
958
917
826
660
822
840
352
348
46
277
968
672
157
264
210
85
272
493
184
424
514
496
306
479
964
299
221
294
849
865
250
597
888
123
831
926
37
519
391
506
934
770
585
464
425
269
304
56
218
349
963
94
140
203
437
158
601
133
526
783
700
641
390
681
444
437
843
167
872
140
328
859
960
198
208
205
955
793
52
370
140
17
854
59
794
923
601
317
818
89
966
242
392
163
324
961
416
804
612
744
316
812
325
157
723
568
774
457
173
275
97
789
191
568
651
263
200
29
670
724
40
92
627
227
982
130
18
612
267
324
79
726
499
438
492
421
3
571
353
507
43
827
961
791
799
591
948
638
586
910
322
129
442
769
221
610
432
515
95
760
54
900
587
838
211
81
119
55
904
969
979
267
690
224
851
59
784
608
340
565
683
648
448
777
548
736
408
288
23
367
989
705
561
773
30
615
947
647
987
591
2
569
209
73
132
874
430
956
596
847
806
257
817
320
340
264
283
274
277
400
849
707
845
970
370
263
488
493
378
163
599
605
834
120
879
87
445
755
337
296
857
816
531
51
780
82
227
84
13
306
524
997
729
243
931
996
985
352
79
703
801
886
542
432
231
205
646
355
258
789
624
48
109
532
266
99
410
904
340
616
580
324
667
301
409
805
467
236
868
225
597
91
715
231
145
782
445
901
967
519
159
693
834
71
729
455
124
711
659
947
316
33
197
514
160
560
545
617
921
844
526
304
928
513
542
942
387
705
91
727
67
338
92
581
345
570
450
516
102
772
563
91
465
436
392
104
229
715
761
750
503
620
796
84
473
396
182
894
233
371
81
621
800
318
759
819
423
992
327
556
471
840
714
87
603
778
689
3
548
888
251
388
971
268
481
271
405
459
507
967
292
530
882
882
488
199
752
258
30
732
935
501
186
624
407
262
283
270
884
211
424
645
99
171
926
341
712
584
620
953
233
858
893
364
922
373
494
990
702
354
592
633
723
652
379
450
557
390
954
168
469
808
235
950
480
168
865
759
764
15
246
482
417
939
703
354
656
749
625
453
48
739
919
513
442
488
521
818
2
595
733
799
893
953
391
935
697
395
321
916
225
431
398
541
542
287
556
767
751
777
817
574
583
683
982
134
12
164
103
696
256
220
768
326
566
65
836
267
924
821
697
314
931
633
762
626
310
686
47
942
541
779
32
232
696
593
598
907
142
216
835
823
507
879
749
698
809
890
261
89
942
70
568
501
996
162
626
320
606
519
793
835
786
3
695
611
929
933
394
7
639
729
245
29
446
719
826
916
382
712
464
148
666
505
721
560
798
624
284
823
757
773
178
330
13
158
975
593
774
948
972
7
55
512
552
154
204
743
76
259
551
6
604
648
185
875
14
501
421
627
78
707
364
800
745
440
842
859
89
266
768
80
998
406
570
215
410
130
68
19
427
736
29
557
663
62
785
647
108
296
645
723
54
780
373
752
185
81
426
114
127
927
883
257
356
250
424
980
744
740
254
534
9
799
34
158
967
359
487
533
951
494
9
638
520
584
245
806
515
57
78
236
407
762
237
704
745
329
904
583
610
889
952
800
702
679
265
997
957
853
96
425
622
577
491
382
319
535
100
753
364
472
81
598
779
426
724
155
880
561
102
681
207
958
108
662
73
658
986
752
6
394
931
242
914
108
878
740
494
238
567
526
208
898
318
300
522
593
770
15
161
227
963
462
391
524
156
317
543
63
717
946
983
733
940
752
356
397
734
436
319
755
90
574
570
253
380
464
979
72
711
436
131
76
702
803
742
758
788
535
747
833
815
448
999
92
568
727
894
540
790
927
45
708
893
950
921
278
95
993
7
577
982
563
754
782
836
290
655
729
240
79
805
904
642
758
413
926
232
421
757
342
140
980
767
241
555
800
926
354
775
781
301
552
208
134
191
197
818
559
23
806
649
661
78
337
628
992
308
657
34
210
2
570
877
25
484
595
10
664
173
241
910
473
363
749
866
214
21
194
110
305
359
846
962
77
235
830
706
481
118
109
5
281
811
173
743
132
134
98
141
931
31
708
671
202
373
272
846
104
836
841
390
645
135
113
187
39
193
407
326
325
39
294
104
833
38
308
589
817
273
794
38
72
44
699
229
551
642
899
198
750
126
657
430
280
270
588
242
694
789
464
532
623
313
431
251
529
935
174
842
897
611
679
268
358
955
688
650
171
393
607
521
7
739
635
474
410
661
62
77
53
134
306
404
19
816
346
926
5
347
757
161
883
19
517
366
162
22
234
524
338
5
873
501
545
888
846
285
48
154
949
192
267
558
112
36
879
787
429
681
40
549
940
625
428
384
175
692
212
407
972
995
537
831
370
403
687
341
116
228
287
725
124
978
623
804
150
490
717
299
999
423
476
713
192
767
446
217
151
278
512
522
780
493
379
941
203
558
705
476
967
37
344
268
330
861
253
63
609
673
143
38
203
183
855
786
132
458
19
398
734
702
592
271
788
822
286
368
657
622
680
192
924
465
736
449
291
848
87
255
446
617
879
814
524
563
173
51
282
384
749
809
632
36
31
138
596
116
708
872
806
280
979
991
788
218
678
695
682
281
763
857
208
519
706
690
492
351
655
925
106
292
362
157
602
894
452
893
331
282
402
643
511
624
536
248
506
190
634
719
935
143
676
423
169
519
299
0
222
400
527
844
824
679
382
579
406
326
568
177
676
767
205
777
974
181
984
667
480
904
484
445
176
370
857
973
785
289
711
210
156
217
797
700
392
950
194
413
88
633
797
188
483
702
979
773
536
66
873
349
775
708
96
896
239
987
917
398
155
113
442
146
948
35
505
820
936
471
711
889
433
875
8
750
44
489
127
280
845
121
989
562
110
285
276
502
936
23
281
412
593
665
384
403
48
626
48
662
348
746
272
271
496
838
322
336
221
339
726
331
553
258
519
282
794
890
868
569
532
169
949
589
920
238
153
806
606
769
492
586
271
18
533
204
78
270
467
201
402
486
813
216
223
296
881
783
762
769
973
230
728
388
537
172
195
490
62
102
998
283
315
266
642
924
769
675
290
704
161
314
635
227
551
277
290
778
951
801
799
843
85
795
785
804
699
439
340
41
153
703
928
391
250
597
241
488
805
735
231
23
11
662
273
502
910
635
693
553
854
960
218
998
645
840
935
276
490
495
740
221
58
118
882
775
220
241
916
307
663
70
264
63
615
903
577
270
326
451
313
20
903
65
464
189
907
769
645
107
13
671
128
264
8
447
778
265
313
964
88
62
623
170
652
944
599
773
776
151
231
419
157
220
288
477
580
432
141
593
355
377
535
822
399
703
367
336
56
760
235
908
532
508
476
511
748
349
891
338
369
51
107
200
468
673
115
241
433
855
12
505
848
848
752
890
670
652
164
552
891
960
878
833
214
813
679
709
984
106
535
168
897
569
996
642
586
127
484
848
611
390
848
169
309
729
662
290
630
844
718
812
559
788
574
366
732
393
498
62
774
158
773
427
8
750
274
47
462
922
942
949
84
642
813
378
56
130
250
654
525
421
596
404
24
592
886
425
315
642
305
843
649
572
641
667
617
189
832
571
643
235
581
942
151
90
410
558
350
197
633
23
986
983
25
352
898
943
281
191
240
956
93
76
584
879
634
140
576
113
608
804
560
630
144
365
632
748
236
862
959
523
777
429
471
750
767
627
192
458
299
228
472
680
923
279
503
306
129
182
693
186
252
624
800
257
508
189
253
399
737
173
129
291
440
867
6
525
807
258
280
234
866
372
368
864
142
241
780
998
303
534
547
238
613
592
577
556
308
280
818
470
804
325
108
804
651
366
984
444
197
122
854
241
419
87
137
190
626
233
785
82
895
512
589
592
287
641
21
721
725
306
282
812
46
210
506
97
802
679
684
849
458
551
209
840
939
332
194
598
854
196
169
798
96
305
115
823
429
221
225
31
671
310
509
210
129
324
72
707
74
823
31
827
917
719
139
913
292
815
730
46
485
801
811
367
311
328
395
52
474
923
129
167
380
710
344
127
685
819
514
328
843
177
308
140
609
557
693
638
513
286
794
208
912
878
909
392
725
736
255
693
279
858
84
704
623
565
837
15
534
64
760
954
997
712
496
851
234
500
372
484
350
576
771
463
469
910
851
227
46
307
344
997
899
653
425
6
94
314
970
141
12
229
590
581
314
562
873
922
211
745
372
908
71
706
137
977
933
133
452
79
714
642
954
311
428
575
359
461
371
648
333
45
523
811
803
226
745
467
754
430
363
461
701
753
490
990
508
88
353
598
700
997
232
190
252
224
491
178
241
543
751
684
558
463
126
798
597
819
526
880
96
828
412
116
787
473
870
777
137
581
716
287
430
72
921
652
674
679
768
660
856
631
515
700
378
596
656
313
351
337
694
497
584
927
693
636
207
169
77
366
163
35
560
378
430
212
131
899
370
435
218
663
306
530
639
503
181
702
449
766
183
563
366
112
459
428
514
289
125
69
441
655
851
642
253
113
618
45
477
454
537
958
792
122
47
927
888
524
123
584
776
432
195
495
670
59
173
618
743
551
747
82
418
631
48
130
427
310
962
415
953
553
391
630
434
715
601
828
355
892
70
850
990
406
78
497
409
358
137
806
579
681
384
152
873
515
462
194
250
630
139
979
954
192
830
829
536
523
282
881
631
115
327
746
211
859
563
648
391
64
141
416
512
946
24
227
859
790
455
227
57
479
127
343
557
823
713
940
748
353
70
437
181
752
693
767
16
630
324
961
674
736
994
173
540
881
269
624
176
200
461
820
828
129
93
824
623
459
262
795
72
344
703
574
531
413
125
423
4
223
342
264
408
938
824
828
184
766
104
310
684
110
981
82
512
857
771
229
845
440
455
582
224
924
254
831
525
69
228
474
371
338
807
394
771
242
321
35
350
700
484
545
262
347
829
943
629
703
836
554
3
431
529
30
866
301
434
140
551
500
444
133
654
732
150
868
941
453
734
801
422
103
354
7
611
916
769
345
842
488
252
149
112
341
140
704
329
693
751
399
560
22
620
244
530
996
543
243
8
909
523
387
795
434
138
759
404
3
377
444
576
107
738
955
874
535
942
254
169
75
449
733
402
998
250
440
660
542
997
490
493
197
232
280
514
419
539
252
842
988
354
276
973
757
307
542
935
526
263
687
998
196
976
290
331
547
754
594
174
901
541
831
126
261
264
710
508
362
852
965
134
266
452
866
557
769
294
643
570
275
227
110
232
730
807
685
475
0
47
48
378
652
529
786
820
542
623
802
351
780
650
140
146
603
461
21
398
564
426
798
457
366
522
946
802
721
785
554
237
304
650
515
510
811
721
407
428
92
642
273
445
419
137
256
515
273
105
327
969
592
807
727
136
505
969
216
385
755
395
203
534
724
200
845
476
235
11
506
865
13
860
973
1
463
51
285
225
976
780
341
331
888
928
285
410
342
138
969
145
535
699
869
749
751
272
437
890
497
428
716
280
88
832
808
140
910
486
373
811
184
450
620
881
766
703
498
262
146
969
368
610
626
323
740
884
147
214
998
476
437
142
838
340
914
976
477
154
5
206
459
64
77
896
731
666
794
684
854
80
426
227
245
781
356
809
789
248
306
276
749
148
164
762
382
235
379
87
122
815
381
689
698
51
653
295
346
983
230
434
627
353
283
735
170
224
258
42
685
842
391
815
639
901
588
619
550
690
584
547
560
401
391
770
949
376
194
640
423
922
242
166
561
439
362
949
325
80
862
129
882
215
518
743
497
781
556
696
998
295
199
538
294
822
288
327
880
387
305
932
553
196
658
406
260
405
546
459
724
215
90
140
257
507
100
890
130
531
625
17
957
249
873
260
890
187
701
593
251
917
788
983
168
452
83
829
823
407
353
531
570
885
822
802
244
518
672
301
511
222
446
185
239
35
633
83
74
978
265
665
628
80
87
516
772
671
77
676
310
458
951
365
778
555
55
114
960
268
311
683
366
472
339
411
127
692
692
563
278
133
820
489
727
744
93
8
494
12
170
119
301
834
645
844
97
988
477
878
723
161
387
24
311
930
853
486
234
840
649
493
554
492
889
461
359
854
850
242
936
215
493
417
531
512
890
358
386
258
376
822
66
679
870
969
41
387
202
308
912
261
444
638
13
738
20
825
31
559
67
633
440
907
568
89
182
276
950
62
29
394
157
313
229
358
125
402
449
421
876
779
182
189
657
554
392
87
518
84
719
184
665
322
572
921
962
904
552
638
857
843
413
317
50
501
102
365
953
761
522
42
688
299
143
492
11
538
980
848
188
419
107
388
245
201
826
800
824
791
927
537
600
690
605
423
666
279
112
190
766
240
374
653
240
502
853
277
948
821
847
812
106
31
257
744
282
619
535
568
515
957
964
913
804
418
644
205
863
860
718
946
803
124
956
330
432
146
635
208
932
188
693
184
581
214
135
340
478
568
760
752
451
479
932
90
409
409
180
837
449
414
352
569
601
264
223
501
265
340
29
647
242
765
442
155
769
832
690
912
980
369
223
600
303
41
579
416
756
812
89
524
927
786
211
803
35
378
518
682
90
561
355
734
734
976
406
40
942
828
479
548
516
96
62
226
586
699
792
845
874
173
774
243
468
833
685
403
848
444
160
212
225
42
9
96
655
355
556
814
537
894
806
624
289
2
790
847
194
627
467
121
747
441
712
173
79
858
975
517
242
504
854
280
44
795
923
599
286
221
36
340
678
878
33
610
574
634
876
224
984
194
709
956
478
290
49
173
709
870
915
305
829
298
783
0
297
269
522
203
614
782
776
827
131
927
266
664
414
246
624
582
323
941
778
482
408
788
718
714
197
636
225
612
676
556
948
685
83
210
165
806
635
459
647
246
209
636
57
737
888
220
605
987
488
501
122
264
120
495
37
774
146
515
421
458
962
41
45
614
121
343
438
484
995
668
882
366
125
212
816
426
820
942
396
118
477
765
325
748
148
787
180
756
588
193
819
675
761
91
256
147
119
50
594
819
138
491
679
722
919
343
553
607
249
267
514
601
873
312
696
441
248
891
123
478
342
70
195
271
496
571
676
773
314
240
506
948
401
407
819
162
602
490
510
727
355
434
744
489
223
251
536
15
840
133
13
907
893
483
83
901
777
919
758
42
925
733
737
973
510
351
560
495
448
558
788
884
350
514
873
501
37
165
700
36
895
723
868
784
787
295
333
621
169
208
524
319
720
365
572
606
437
628
676
99
747
641
837
317
691
518
963
89
310
386
672
488
530
133
40
825
23
445
58
153
640
265
210
91
469
417
598
328
865
612
655
669
338
331
192
643
888
787
379
333
25
129
124
297
674
592
926
134
606
797
578
189
148
139
962
179
581
98
537
867
981
576
765
74
731
651
64
906
898
857
537
322
406
947
513
693
790
848
888
28
537
427
322
295
632
107
377
732
904
396
337
891
798
95
943
44
532
479
826
365
57
113
847
885
890
582
857
669
845
607
140
454
973
610
889
121
141
155
477
36
200
509
756
735
405
893
458
940
570
992
372
442
535
11
692
610
124
657
740
405
19
470
684
975
828
495
650
508
738
448
967
987
588
689
424
618
180
351
811
514
947
982
323
21
575
256
645
496
539
960
288
64
585
117
189
296
468
275
920
585
741
403
401
279
174
382
669
839
234
797
855
150
815
873
197
314
941
862
486
714
894
753
499
104
407
843
935
384
245
926
125
580
682
401
537
140
66
401
804
286
186
775
333
630
128
573
599
380
698
644
77
130
287
659
294
4
467
799
589
56
510
159
578
697
893
655
597
207
781
155
606
89
385
328
586
485
88
264
558
640
425
485
495
284
546
13
547
588
841
301
826
842
758
369
635
562
46
287
238
88
480
18
589
748
319
424
212
438
591
549
370
637
955
241
616
832
573
154
839
159
263
310
992
153
625
254
895
464
104
614
287
278
82
569
484
953
303
450
369
776
849
359
939
394
10
39
385
575
129
518
713
807
441
548
219
631
153
626
493
933
549
962
638
930
246
304
291
461
934
817
59
127
801
351
739
598
851
104
778
799
409
954
38
351
695
311
393
939
516
356
812
207
267
583
210
523
387
110
120
848
696
367
260
664
329
3
202
804
76
714
637
68
146
895
216
856
729
429
499
56
673
121
152
718
381
805
538
285
991
982
503
551
702
394
108
545
366
288
4
469
475
737
123
698
493
489
774
813
325
674
361
874
661
221
403
758
321
786
461
879
630
596
974
827
279
217
167
690
408
964
283
24
575
272
499
959
919
615
231
335
555
5
608
415
467
718
382
39
876
491
4
427
769
736
825
72
917
319
935
407
370
544
168
957
860
473
361
461
140
853
258
712
454
447
955
847
579
647
232
990
286
24
98
999
708
11
168
560
266
471
756
709
61
329
897
659
965
938
748
141
463
18
863
399
521
561
809
906
690
817
701
183
508
642
600
126
520
206
553
966
958
708
261
582
953
680
327
534
722
786
469
41
798
84
456
262
975
443
403
245
572
246
651
497
819
610
39
221
500
991
626
347
418
789
933
810
717
75
819
744
153
494
710
115
746
970
32
374
254
222
685
67
996
360
261
607
504
220
407
71
714
419
201
747
608
9
760
463
986
429
480
941
348
425
231
948
306
681
915
615
117
774
393
997
751
625
407
428
891
855
133
124
986
381
662
603
589
401
202
866
680
352
307
187
222
125
685
557
432
604
153
777
676
390
818
57
306
438
157
679
609
433
19
208
636
23
107
389
909
104
602
675
669
423
805
196
65
692
886
383
14
424
838
0
522
252
170
731
241
358
730
740
291
294
709
646
241
43
947
213
379
334
190
975
655
928
306
152
60
543
795
563
683
298
237
564
571
682
357
877
821
953
432
275
563
63
228
178
942
36
570
339
932
391
927
634
962
392
889
6
268
916
952
577
601
589
855
949
34
218
393
258
584
375
296
413
215
486
317
768
384
100
590
594
828
737
637
704
533
675
839
490
527
958
997
232
690
498
258
672
168
276
137
383
823
565
459
110
199
190
675
626
726
484
963
83
27
786
762
514
553
931
156
308
764
944
624
870
173
970
574
155
373
22
846
658
443
214
259
891
782
965
509
300
805
975
54
298
968
806
454
326
935
116
480
338
422
698
845
824
28
57
921
817
200
512
290
345
32
972
886
653
926
719
73
187
29
781
386
402
614
856
406
198
776
412
749
421
31
35
401
228
405
548
665
710
728
16
982
350
683
649
504
126
840
627
845
370
565
630
438
548
856
135
910
203
610
783
697
181
560
950
204
305
484
583
775
903
640
72
472
24
999
346
992
230
632
674
17
899
50
896
571
736
197
555
542
419
753
177
939
46
802
375
264
970
941
407
262
462
3
126
337
907
912
142
249
346
785
787
316
433
635
448
404
673
34
543
619
318
647
196
410
239
543
147
472
17
632
97
700
246
957
315
845
835
359
336
990
231
662
135
105
159
930
806
876
785
520
24
529
842
414
496
729
231
389
895
992
328
23
327
255
341
671
527
861
685
701
704
522
675
729
480
320
427
695
765
6
670
608
700
204
517
894
423
222
825
112
303
828
670
181
21
658
384
221
633
626
501
347
61
291
833
557
597
406
43
578
336
203
746
732
342
998
529
676
849
4
464
325
923
601
822
2
140
250
974
555
187
123
992
773
867
339
926
65
750
645
387
950
879
235
715
420
169
373
391
279
328
555
464
393
957
227
488
690
51
70
459
987
884
314
143
544
371
694
635
699
357
745
888
555
220
414
855
922
210
79
278
26
189
362
95
771
809
894
632
626
474
369
248
379
94
98
931
211
835
387
225
458
92
890
959
556
649
139
663
545
887
83
808
649
468
522
322
862
851
725
500
155
593
994
825
214
381
679
24
232
914
25
874
701
146
325
80
502
689
988
85
207
677
263
257
809
746
849
138
555
190
80
926
571
109
889
836
739
700
479
109
778
375
385
104
67
154
835
516
530
635
769
708
925
942
551
413
66
897
211
752
557
325
387
336
377
581
560
211
801
484
512
575
992
376
589
659
679
358
847
705
374
103
323
802
847
20
688
951
919
582
180
878
607
583
956
717
346
865
788
339
605
437
221
883
597
589
432
532
184
396
405
970
193
562
157
320
375
489
390
905
245
747
879
703
56
643
922
28
725
554
982
479
774
910
663
341
656
279
879
407
405
971
410
558
743
628
699
103
734
591
807
641
151
141
288
171
437
292
175
880
646
415
710
932
6
955
588
544
480
149
283
686
485
116
522
591
116
912
711
735
870
192
570
848
411
484
97
749
177
740
377
343
80
12
121
599
84
815
902
576
447
171
329
1
396
674
642
679
68
47
903
549
463
90
942
38
450
209
10
560
945
640
32
563
483
428
655
423
963
78
992
521
670
774
653
535
397
721
135
902
249
125
219
732
143
393
322
609
589
405
437
105
634
831
860
1
873
93
60
818
17
159
317
162
653
478
269
150
339
710
935
333
683
448
683
483
26
773
634
274
432
745
822
774
311
881
142
58
578
638
180
961
554
634
685
947
976
37
803
421
756
244
548
432
450
809
571
868
502
293
157
726
727
327
416
236
702
366
276
962
190
277
934
275
187
222
118
627
171
198
801
808
521
422
169
609
805
844
68
204
338
799
583
769
217
584
14
285
273
334
291
622
525
299
726
940
936
221
181
294
507
881
308
918
686
782
691
242
266
307
181
22
159
586
397
319
11
294
769
639
158
129
645
297
804
770
163
177
600
198
128
124
629
505
413
478
815
378
401
233
5
398
287
763
3
894
204
451
877
661
330
270
389
729
262
602
60
255
272
875
739
354
133
682
463
40
205
114
703
101
278
383
114
359
374
827
874
732
975
428
552
108
576
580
561
305
859
281
64
26
900
549
311
552
362
201
443
387
326
473
444
950
448
3
937
841
625
818
68
907
437
796
970
516
531
916
930
711
548
947
994
42
301
892
184
455
55
364
721
451
733
606
325
226
87
273
518
990
96
419
527
769
952
103
775
426
583
35
90
150
989
249
119
478
120
394
653
293
231
608
699
936
688
289
885
591
483
71
546
713
759
303
533
975
855
167
288
327
661
85
405
403
666
864
162
884
204
341
571
157
445
30
793
209
889
406
742
899
715
671
269
194
353
891
122
182
224
497
479
127
828
646
228
491
600
803
838
419
17
429
963
113
100
294
559
626
230
248
962
136
175
635
505
869
383
223
955
498
844
989
254
176
845
300
125
389
811
870
279
718
73
610
516
344
451
560
381
871
763
375
981
572
231
26
435
856
797
760
521
323
390
529
631
29
763
379
280
782
507
846
913
133
659
258
453
641
300
668
53
750
248
517
506
580
672
46
464
126
565
624
681
393
463
714
301
581
762
918
796
293
968
881
796
966
629
633
746
90
753
900
472
194
569
566
270
96
721
355
893
911
520
420
9
222
679
681
537
918
572
616
977
419
23
588
119
302
600
337
783
5
513
611
808
423
908
127
486
363
387
406
887
625
610
887
77
715
274
630
300
840
118
162
825
668
648
216
905
987
993
42
231
100
434
490
186
191
471
667
456
513
983
151
456
956
381
397
287
851
622
759
208
55
140
898
227
137
518
160
209
169
78
827
259
910
181
105
359
275
806
686
518
907
429
983
384
728
75
70
17
425
988
334
250
588
550
975
853
905
225
888
447
627
582
333
157
794
564
96
882
271
179
971
102
44
719
1
767
90
223
124
315
801
190
770
736
648
734
490
40
748
192
308
633
386
385
544
324
119
724
972
636
508
489
347
706
484
692
480
21
722
236
51
508
176
360
293
978
344
267
451
40
732
762
40
464
36
216
393
115
621
851
90
910
511
217
183
749
137
80
578
587
631
629
644
328
270
399
692
273
338
32
131
78
837
545
925
11
448
774
278
116
541
923
64
504
231
553
773
265
306
350
176
95
893
230
28
441
25
211
703
217
654
379
973
51
702
892
134
227
82
400
434
213
75
824
179
636
134
718
686
974
732
225
354
311
806
379
181
369
265
693
665
188
340
856
77
89
162
607
773
535
251
664
951
111
315
88
753
641
967
528
681
276
395
142
808
667
222
181
13
283
450
931
525
939
36
393
799
27
875
315
823
105
396
151
586
295
177
735
819
466
452
254
923
930
238
342
8
664
121
386
888
285
923
759
947
762
715
759
115
578
3
121
83
2
259
269
942
396
308
88
691
496
648
358
999
542
698
48
995
90
746
529
412
825
610
475
661
789
197
501
831
38
86
962
215
411
760
526
534
601
175
462
1
173
158
3
134
375
35
55
782
519
22
52
224
302
644
660
459
621
957
623
593
21
138
944
856
543
677
444
694
174
991
663
431
986
610
929
501
443
756
801
93
337
149
228
209
199
396
769
12
20
528
575
882
663
577
665
864
489
986
539
47
516
857
158
702
749
331
856
724
489
69
828
709
657
602
101
648
571
170
327
616
665
453
663
159
674
237
934
752
359
419
489
604
245
813
501
123
491
677
129
655
40
31
334
620
537
825
747
26
768
813
666
207
124
124
782
671
872
822
649
136
468
133
206
534
106
489
488
236
43
854
346
846
768
902
718
656
628
511
502
854
902
131
568
27
594
176
253
80
727
342
380
315
233
147
3
880
886
979
604
408
768
601
602
102
489
404
280
738
43
850
506
34
374
30
768
154
387
261
624
653
798
125
269
13
133
281
697
211
114
915
648
845
309
365
18
245
738
156
321
584
778
951
775
784
291
352
450
720
588
661
866
751
545
9
630
828
525
196
248
896
904
974
221
181
292
556
127
197
138
953
995
746
417
212
280
570
196
570
695
119
637
544
755
410
195
31
66
318
192
74
955
693
410
561
324
798
443
731
391
681
428
963
971
12
373
941
191
187
342
434
909
560
470
359
476
156
23
327
480
843
356
788
776
223
349
345
856
402
202
136
789
174
453
538
530
272
106
261
495
203
494
735
10
724
111
74
30
775
903
222
323
143
560
206
724
818
176
146
183
715
680
209
700
310
383
103
228
794
369
778
413
895
922
350
589
28
933
74
785
422
96
456
253
924
441
505
647
105
929
687
607
456
36
721
805
965
54
533
298
829
590
944
186
76
509
182
231
350
246
619
92
838
213
355
433
73
412
579
569
82
767
658
760
529
870
679
26
534
796
980
560
703
734
797
364
575
482
52
821
271
485
404
393
975
673
656
803
629
258
31
519
643
560
601
161
477
993
701
26
728
581
540
122
457
348
719
368
358
510
950
680
826
746
444
857
357
514
274
918
916
87
900
844
311
459
378
295
886
337
115
301
770
346
214
776
370
571
24
996
460
209
816
603
994
674
561
633
121
173
69
112
793
110
268
317
191
702
379
591
809
684
457
196
362
738
564
524
165
559
833
959
205
323
233
857
388
663
966
994
436
561
677
871
454
449
669
799
333
855
668
433
677
323
219
427
429
296
83
560
811
225
291
161
802
8
664
557
236
41
774
637
602
838
951
19
163
552
355
366
767
584
934
468
18
121
674
987
499
220
130
927
360
661
400
975
282
668
811
175
192
207
103
416
529
36
175
250
139
558
548
483
0
287
728
724
939
449
365
790
141
404
765
167
790
44
552
383
366
832
961
699
560
916
276
713
220
431
347
747
895
928
948
31
572
598
319
360
491
702
450
344
509
465
973
623
306
595
844
840
844
795
521
102
431
649
446
652
961
158
805
629
346
435
106
944
327
341
582
428
540
388
447
277
511
767
336
701
138
23
122
154
593
793
988
88
343
392
384
368
737
444
335
303
197
76
524
418
40
410
340
336
378
909
781
888
636
396
161
228
34
66
404
170
947
443
805
529
224
308
755
188
990
174
397
661
377
659
743
226
526
495
963
849
93
920
830
816
886
759
298
722
996
704
71
289
618
35
267
779
938
661
573
878
204
816
488
341
678
180
59
915
555
958
577
136
468
391
109
307
777
232
374
435
337
164
733
250
117
324
105
836
555
258
737
775
221
695
486
752
366
349
290
448
62
403
204
374
665
135
395
860
716
236
683
265
148
938
206
572
325
463
142
215
588
150
258
97
364
357
963
374
228
892
711
630
48
338
212
642
253
690
878
316
257
831
977
164
349
594
977
507
88
313
195
115
499
980
717
83
478
784
541
639
478
900
292
704
351
599
194
196
828
872
617
24
621
116
51
272
670
917
71
18
653
146
296
623
516
752
680
547
862
895
253
586
846
322
11
338
399
537
893
110
697
643
476
847
774
939
904
700
128
511
914
455
212
789
311
80
275
744
565
826
497
922
78
688
258
742
619
773
927
314
868
281
125
285
610
731
993
206
899
540
193
818
89
337
57
330
438
421
100
670
70
943
420
942
639
910
941
774
872
233
573
89
208
492
432
512
764
932
306
178
512
615
885
133
793
621
596
587
559
702
126
125
518
539
240
263
144
135
660
165
916
654
316
58
797
144
395
587
502
263
845
221
103
607
401
473
267
54
827
268
205
19
525
295
181
63
196
433
334
444
768
494
286
698
4
418
403
68
418
453
551
274
151
75
238
990
943
913
975
297
952
808
992
234
132
634
811
460
673
480
859
473
167
693
404
950
396
582
961
51
642
29
722
346
987
540
831
239
899
984
920
331
889
299
130
283
47
90
843
897
600
725
80
798
97
305
104
845
117
127
206
731
912
209
322
603
574
932
597
364
143
855
203
208
485
744
266
148
988
680
84
653
912
778
777
673
982
623
691
212
919
936
206
684
386
958
730
378
547
960
382
621
586
24
954
555
885
459
821
300
820
851
269
420
284
162
845
553
56
417
0
938
150
255
56
633
705
114
777
968
72
620
716
838
873
258
442
976
658
477
245
530
748
287
963
283
757
102
452
677
5
572
432
715
906
476
905
463
485
728
891
895
214
227
986
184
20
371
806
534
817
665
374
878
479
390
513
645
924
38
381
356
816
708
244
294
283
16
713
164
613
572
685
576
638
578
705
893
772
796
93
90
626
683
515
825
891
951
292
0
236
230
591
513
153
511
611
742
904
151
833
712
41
651
40
529
510
63
662
842
860
221
468
358
496
531
293
996
900
410
988
583
541
581
778
640
318
584
185
148
676
224
774
847
857
170
262
760
13
341
152
254
425
756
496
140
104
363
177
38
265
665
112
66
142
881
565
511
492
595
294
395
53
185
128
693
24
388
792
542
120
625
633
506
236
467
552
160
728
591
279
7
336
173
683
112
464
664
907
637
513
867
679
375
945
973
972
559
758
706
150
422
714
336
887
279
891
310
542
685
965
239
641
513
991
355
616
725
796
644
33
917
29
28
730
577
629
848
238
75
677
901
413
997
662
841
489
640
331
932
505
396
116
386
331
757
21
792
25
819
861
790
417
871
825
156
833
738
634
906
74
653
57
434
419
80
855
805
992
427
232
311
609
958
968
659
465
344
811
894
797
704
446
390
968
547
600
830
258
279
801
350
448
353
538
869
748
158
410
218
404
696
937
697
83
645
428
736
881
529
107
138
271
862
698
291
70
186
309
437
47
813
657
337
691
386
251
979
905
444
960
750
1
495
844
106
986
149
148
532
879
431
677
279
500
422
188
20
932
893
638
809
344
276
392
200
716
920
328
63
872
208
667
546
48
962
586
817
93
287
879
195
651
223
84
103
898
395
668
898
424
243
112
412
451
568
149
683
444
603
369
16
608
78
938
478
188
523
819
820
284
921
499
320
987
637
981
368
15
728
116
478
503
966
337
862
544
849
811
421
817
791
785
96
686
457
753
344
60
698
919
415
734
779
565
271
325
601
97
704
219
505
79
6
577
768
917
52
631
323
668
310
282
692
687
976
359
57
540
193
394
134
863
425
106
342
120
845
574
569
290
950
798
647
948
554
151
719
77
926
541
793
587
262
168
732
233
619
722
389
206
585
125
39
840
889
336
111
665
445
573
144
603
953
506
940
65
968
440
597
191
31
292
360
124
948
784
698
578
503
191
202
791
570
174
899
917
338
847
620
425
129
427
628
775
929
667
752
384
200
450
787
231
496
993
219
510
612
46
308
478
591
441
903
259
752
376
930
176
199
565
203
463
15
212
445
552
907
454
28
506
138
699
164
70
371
256
883
554
803
795
20
47
34
893
88
511
607
936
829
503
560
801
116
500
6
713
871
595
265
12
195
998
975
941
523
573
241
461
85
460
89
696
371
363
313
39
305
192
442
180
860
489
987
274
381
542
323
461
637
73
576
172
94
559
810
754
443
40
749
425
471
828
386
63
681
381
16
540
297
447
757
936
564
621
299
961
763
564
833
842
17
424
401
718
997
707
487
332
580
935
543
330
46
85
399
613
432
605
656
549
806
335
166
768
927
824
339
169
324
497
62
794
201
877
18
856
519
283
846
533
764
240
711
887
271
366
929
852
292
860
825
372
27
231
779
906
550
440
456
308
496
285
669
993
47
28
692
653
84
775
677
126
610
305
926
545
113
169
290
355
50
142
724
934
730
881
416
127
143
709
189
909
470
849
264
666
677
109
508
14
793
958
994
643
619
106
370
437
747
779
327
490
967
385
960
569
679
379
630
460
824
385
774
79
50
431
930
909
976
939
914
719
427
283
518
859
327
492
562
145
146
65
123
305
651
555
413
261
341
403
902
974
17
297
701
292
382
555
910
422
119
458
247
323
486
941
613
876
839
597
403
259
519
113
860
923
503
368
516
462
388
939
256
544
56
931
668
849
249
322
949
505
906
647
821
909
826
212
612
247
901
972
89
482
797
169
172
243
822
641
740
239
809
61
271
43
999
606
450
878
884
415
44
247
444
552
427
249
880
33
987
577
378
256
343
341
746
573
600
913
342
880
89
494
937
209
275
558
494
332
850
87
789
676
550
297
650
456
544
35
286
114
645
85
519
17
151
471
882
172
259
756
721
637
257
989
771
486
47
551
511
308
449
424
666
528
173
443
254
324
760
992
354
384
527
444
742
746
754
94
211
848
517
335
304
449
441
654
479
778
940
445
509
222
942
71
318
974
488
164
922
368
41
447
629
902
884
677
276
182
609
510
480
675
49
98
5
886
754
109
754
84
828
846
485
74
815
751
186
12
253
179
536
308
362
545
27
610
117
540
536
889
836
162
576
763
466
596
337
647
190
161
606
342
657
523
418
529
29
320
310
901
779
136
240
354
696
250
960
243
293
783
853
517
355
147
982
347
113
108
721
237
705
968
38
291
776
36
887
661
98
212
783
253
930
703
156
487
908
308
32
761
164
640
191
924
397
323
484
402
56
901
472
809
170
456
276
783
30
502
66
913
747
874
388
930
468
702
483
479
943
805
715
135
626
332
720
932
493
421
311
100
8
634
271
595
704
395
285
70
558
371
530
150
221
874
478
201
764
731
276
871
728
655
890
915
220
753
65
573
663
914
222
487
173
976
41
47
516
24
268
901
412
784
93
37
342
680
948
589
57
413
531
396
138
352
814
535
71
710
977
507
939
322
26
569
798
178
891
930
626
51
92
518
911
750
634
935
440
203
191
881
600
809
995
931
779
276
113
428
459
908
633
699
641
569
137
497
836
205
749
49
465
19
699
955
284
78
464
388
789
684
473
590
970
621
805
916
910
584
390
622
654
781
395
722
13
906
882
988
971
949
182
302
346
244
793
877
52
218
619
820
293
826
370
535
553
999
439
119
430
847
69
784
313
679
635
628
567
35
930
687
786
666
271
77
109
211
328
403
741
239
870
239
777
438
347
806
519
756
275
624
756
201
45
991
234
663
720
994
697
879
862
623
681
229
654
189
951
321
665
931
799
600
229
571
219
329
369
176
179
834
50
570
2
103
115
991
3
693
386
125
300
727
35
324
602
420
730
262
220
143
875
63
940
823
953
86
395
658
111
237
950
772
180
859
44
606
540
223
949
105
834
528
847
641
100
359
530
69
363
849
466
387
331
367
431
337
219
106
247
246
742
722
177
559
614
903
83
838
415
821
163
121
250
992
648
124
0
373
741
264
542
59
964
863
844
557
692
138
93
838
321
369
195
867
705
332
787
210
283
389
548
786
261
843
931
465
240
708
773
151
651
632
538
394
546
413
691
648
978
980
740
762
939
705
688
833
921
729
561
605
112
34
53
81
539
237
396
94
172
847
457
391
414
807
392
796
487
720
699
92
41
538
537
762
248
257
219
287
61
667
647
941
112
420
308
489
243
700
137
633
997
383
794
487
288
719
671
79
965
314
142
657
782
984
546
924
150
118
128
79
235
830
473
934
3
986
251
197
850
658
913
185
994
578
434
9
643
478
153
545
413
479
473
239
947
6
340
35
177
832
649
65
373
104
87
165
174
698
660
362
663
660
630
557
16
601
537
435
354
765
757
645
354
88
334
608
86
227
528
873
199
476
494
292
427
171
633
252
270
816
3
378
815
211
905
950
618
108
185
338
762
473
830
317
158
54
808
518
463
296
370
122
578
228
65
230
587
849
918
530
206
749
442
994
519
652
503
769
206
807
438
530
151
729
927
53
865
968
924
705
537
794
210
56
294
738
268
826
636
376
776
805
900
136
856
505
11
501
167
18
424
737
578
925
703
32
474
419
20
482
20
240
958
775
883
928
749
202
516
933
769
607
918
14
464
426
535
714
542
508
496
991
141
760
98
200
790
267
102
829
296
654
621
485
119
305
727
979
230
131
42
707
868
266
591
802
294
312
221
625
909
647
572
91
325
491
924
900
851
416
990
85
638
73
53
845
627
816
236
505
744
346
419
736
390
360
650
726
287
398
486
323
56
575
631
651
931
744
732
453
812
555
408
152
296
521
994
723
46
609
654
741
870
711
268
165
517
173
519
474
837
675
9
490
774
508
456
758
114
358
696
148
994
638
81
217
400
288
928
315
243
824
516
399
2
227
691
890
210
661
534
173
873
872
161
864
304
901
197
692
123
505
551
446
781
363
698
814
463
646
160
439
786
13
692
726
539
919
731
445
2
35
914
153
562
339
288
595
105
322
643
26
145
941
429
377
583
605
869
460
108
293
282
254
840
403
331
36
508
310
991
164
418
870
584
393
259
273
555
374
131
59
207
835
384
811
911
143
807
641
331
990
890
178
442
329
793
941
97
485
966
262
68
657
220
300
772
151
871
623
71
263
934
747
457
430
816
51
457
196
472
550
516
177
613
813
609
673
592
856
534
328
243
21
868
181
774
391
621
218
521
397
103
398
689
445
37
698
638
907
423
237
3
646
431
400
330
189
617
108
993
327
203
511
889
574
503
148
968
223
725
154
454
173
249
313
760
421
589
580
621
224
35
368
45
943
754
619
525
755
185
462
621
434
275
846
415
524
521
160
270
111
0
139
69
748
724
935
877
180
48
358
804
189
544
347
769
19
554
253
571
501
575
991
865
327
212
728
864
480
655
959
423
632
492
653
431
526
868
805
457
805
383
496
915
196
425
408
587
113
184
108
554
616
464
35
480
105
321
3
880
6
502
224
792
230
795
123
60
521
584
360
124
914
177
2
920
905
290
149
751
553
29
858
901
833
440
705
100
575
537
987
250
522
978
398
166
280
208
587
497
194
446
672
296
232
816
837
406
113
52
445
377
978
360
613
831
397
767
316
98
807
940
51
261
71
605
337
729
542
517
194
984
755
558
556
504
71
102
810
88
803
347
597
705
813
312
625
190
785
188
283
358
504
493
70
311
705
192
234
294
519
826
573
350
522
76
186
743
912
64
606
198
340
236
90
218
268
718
76
501
437
218
920
802
663
515
593
9
147
999
465
682
616
745
914
431
428
210
43
901
181
802
281
96
807
754
609
176
852
894
994
382
753
740
424
921
897
830
927
222
131
860
947
848
73
940
512
56
848
500
507
785
112
531
900
997
429
323
706
977
574
137
233
859
201
481
748
895
842
136
161
63
441
167
480
80
309
697
576
337
810
514
466
420
759
832
471
871
264
756
644
797
726
322
785
232
121
306
755
747
388
789
141
791
140
838
403
907
719
734
525
95
503
22
569
4
19
336
212
124
183
156
694
380
100
584
683
13
466
233
525
434
541
779
671
3
184
211
11
366
607
442
304
281
414
917
110
825
759
915
309
369
884
884
941
498
10
53
399
607
234
885
438
842
577
554
240
797
539
597
37
917
593
79
608
115
336
878
465
463
279
749
110
293
406
776
920
854
331
146
104
581
895
27
216
493
354
209
182
752
660
837
570
336
747
608
856
267
666
175
721
545
603
432
945
523
713
632
382
70
913
141
219
240
189
13
452
834
348
766
49
302
443
467
293
631
492
611
111
830
306
454
570
747
644
910
963
345
336
801
605
709
560
141
762
13
583
50
527
635
664
416
879
582
269
268
104
384
216
942
38
801
915
134
819
170
862
479
788
792
279
327
985
8
378
640
618
280
861
618
409
218
833
794
298
976
652
500
682
385
519
837
721
722
789
493
971
65
499
556
922
464
348
901
10
565
491
251
318
800
35
267
684
888
932
862
895
506
720
297
447
23
100
45
470
633
325
287
668
972
41
150
792
132
665
11
515
996
558
665
288
806
539
820
785
558
871
420
834
559
143
761
870
878
200
774
293
603
677
143
653
652
935
636
809
415
820
480
720
720
58
685
359
51
511
707
642
62
240
978
227
479
641
391
988
657
449
773
411
676
396
420
59
965
638
755
284
170
521
277
716
598
165
770
117
276
765
506
802
150
185
139
5
9
149
865
977
244
308
220
507
586
871
157
267
275
167
812
621
55
125
924
811
493
594
272
247
94
186
929
117
454
789
914
811
87
703
617
2
278
457
192
741
343
79
597
958
979
599
22
383
489
228
192
364
740
692
531
792
804
526
466
603
962
294
598
593
300
426
232
439
397
558
887
52
882
168
16
200
376
36
989
956
106
359
490
624
624
977
42
672
67
270
733
701
233
871
368
696
771
360
171
771
310
751
396
166
600
577
546
822
677
249
285
433
445
226
646
416
249
798
342
801
992
212
707
146
523
281
824
621
213
658
281
156
655
227
103
219
883
348
394
398
558
102
587
760
501
943
694
622
468
515
966
774
687
596
497
306
214
442
803
605
3
383
970
907
825
407
243
816
255
45
453
182
707
510
626
7
364
159
978
165
876
964
505
561
177
772
425
966
944
21
366
20
19
179
414
807
477
17
39
924
106
133
664
259
715
77
733
755
145
334
352
234
771
342
273
751
669
255
774
216
862
378
0
348
457
392
869
659
564
922
50
327
854
507
450
676
538
348
34
901
289
199
108
511
380
518
873
228
411
741
583
296
117
151
356
688
525
917
460
283
216
8
754
878
345
337
732
719
794
23
498
452
130
947
124
203
570
859
217
929
510
814
851
53
483
206
45
434
426
958
300
865
114
551
581
264
921
847
180
111
636
606
714
987
568
388
277
391
662
980
681
424
565
338
907
456
362
507
621
429
759
798
247
684
197
518
853
832
740
887
381
526
287
281
730
811
588
508
618
584
556
670
292
535
499
80
353
443
181
584
979
230
635
803
225
506
309
721
362
405
99
597
787
718
444
356
128
507
832
985
479
906
370
206
162
400
336
660
774
524
320
226
652
789
107
170
665
8
980
994
446
867
109
209
748
125
40
338
810
12
233
497
906
879
31
338
153
799
773
473
876
965
612
161
725
629
899
744
869
661
557
680
38
672
634
112
906
66
702
461
119
770
20
725
474
878
384
602
718
179
429
742
659
994
646
102
665
121
43
322
330
186
744
590
749
828
238
708
899
393
435
236
228
285
472
667
574
167
134
950
238
807
977
353
620
36
572
462
513
187
66
671
234
722
961
694
978
979
847
668
153
383
316
535
416
782
674
887
921
701
475
382
210
880
807
669
539
649
76
846
492
506
606
767
431
662
985
155
221
954
830
672
467
900
456
555
830
255
467
208
752
727
913
551
771
48
166
142
925
488
399
785
996
688
468
783
363
961
387
850
59
331
793
472
727
425
700
351
106
278
392
766
774
914
237
506
445
6
423
540
489
979
860
567
168
926
927
93
656
683
612
915
354
703
285
992
421
778
435
475
473
464
936
4
262
154
844
392
521
862
714
25
272
728
347
24
211
967
673
364
621
143
665
346
626
925
219
492
341
753
930
660
495
702
515
506
102
55
698
584
190
194
413
897
712
766
332
111
542
865
870
446
607
52
703
555
279
765
912
556
126
268
865
306
156
679
549
374
491
122
590
972
142
87
834
651
91
880
840
409
949
805
544
250
742
158
638
570
269
619
247
69
683
44
459
169
56
123
145
482
787
987
119
227
122
184
50
248
710
824
562
224
651
701
209
294
934
818
497
364
204
114
813
57
950
232
228
100
491
42
619
731
560
530
722
786
482
439
734
674
476
236
854
876
846
864
198
420
535
224
845
6
294
682
384
963
155
410
935
535
62
160
494
80
287
201
369
87
827
439
304
46
125
209
685
866
7
273
367
835
675
68
434
823
21
62
582
959
877
693
893
59
307
394
370
802
100
554
417
322
908
347
611
590
47
385
718
162
979
989
718
522
675
285
702
18
161
987
930
29
719
622
74
291
700
325
600
96
578
538
531
465
448
295
546
109
231
240
200
445
815
984
755
313
445
585
704
626
131
586
607
395
533
297
697
555
10
993
326
584
78
708
695
615
504
296
411
285
539
949
178
791
851
188
374
677
901
39
875
215
376
778
577
906
871
67
292
590
717
201
371
472
462
693
874
449
190
676
515
496
509
145
291
378
333
461
807
567
273
43
341
544
252
935
964
163
125
640
579
87
558
284
335
154
145
931
934
820
20
538
774
235
723
74
907
65
404
218
776
700
468
227
14
464
618
674
329
242
751
353
240
509
13
981
466
750
367
613
769
829
235
1
865
397
5
129
30
657
331
522
397
179
183
734
67
378
85
888
618
214
777
243
515
390
888
564
601
411
660
68
516
602
672
994
349
982
928
528
820
267
375
596
472
254
956
237
346
262
140
451
169
389
793
638
798
334
490
467
838
714
733
835
604
445
570
922
73
389
705
660
420
59
550
876
836
569
178
617
328
614
277
59
342
482
252
386
492
482
941
225
250
522
816
965
582
100
537
99
381
404
980
316
255
161
171
297
876
86
101
180
818
170
214
897
49
43
255
102
498
171
409
342
230
307
445
484
302
826
755
876
909
681
587
299
176
476
888
23
928
109
702
823
672
171
618
885
332
62
106
216
762
50
562
537
790
748
632
295
483
108
566
772
602
57
539
885
658
976
943
231
493
188
853
600
969
888
478
954
479
176
253
742
316
756
924
498
560
952
444
528
231
168
241
934
395
315
62
978
738
363
301
841
723
838
77
951
209
734
83
355
607
88
876
979
419
125
917
349
221
297
130
782
12
760
962
555
892
239
827
257
766
473
111
876
674
951
391
969
528
57
701
232
455
33
339
475
899
380
966
503
841
165
159
296
137
513
420
88
682
169
153
721
177
850
295
71
849
227
946
901
923
971
372
357
548
562
173
682
932
819
934
376
295
94
29
374
515
453
248
154
660
395
705
30
947
108
58
579
326
409
795
581
244
853
832
146
254
340
301
242
441
463
30
811
890
212
786
715
206
226
943
536
412
910
414
15
244
621
138
616
154
715
244
989
872
46
861
758
182
390
694
425
404
879
561
274
195
858
731
872
663
29
624
481
80
832
430
118
186
429
529
118
396
653
634
698
229
211
608
722
598
284
878
934
472
513
844
587
266
573
306
316
164
169
552
468
545
115
327
413
434
194
664
610
16
785
504
353
12
918
649
166
751
698
843
213
542
488
301
732
276
63
6
782
514
726
853
889
811
24
703
214
567
853
274
771
882
858
319
45
182
443
12
277
706
125
889
760
901
291
437
543
241
989
375
123
255
902
715
113
391
569
207
361
879
474
368
660
165
114
112
76
294
481
632
102
628
456
533
704
144
935
213
697
99
955
775
211
433
162
220
846
907
866
123
616
609
186
640
400
142
608
751
443
190
645
88
48
358
612
102
725
666
73
12
21
922
369
985
947
526
737
668
680
382
409
448
698
801
464
348
124
371
294
332
499
551
498
720
692
572
190
253
609
94
10
160
934
506
463
90
996
18
651
890
406
252
751
224
759
660
337
468
777
270
240
786
474
436
587
957
727
810
90
259
259
193
379
130
306
651
560
185
331
137
886
880
634
466
637
752
11
59
167
120
103
649
74
649
744
10
884
91
734
720
518
105
756
78
257
385
574
408
474
697
131
710
233
598
506
729
459
749
770
814
888
143
884
52
460
629
832
652
857
517
736
898
731
986
183
573
458
244
108
334
426
920
910
159
102
842
571
561
125
484
899
391
772
874
903
475
728
559
864
605
607
116
624
985
668
801
426
331
824
119
438
531
846
709
590
208
6
875
904
962
352
27
468
488
990
501
844
821
924
519
22
333
480
431
756
662
497
507
45
324
498
628
180
341
2
719
320
565
164
987
687
980
916
199
897
917
902
834
36
621
619
592
146
583
695
34
339
453
942
353
63
876
395
641
567
731
132
54
545
464
660
674
862
766
304
946
900
125
12
38
889
31
87
644
769
701
902
937
985
870
921
2
5
292
996
803
981
607
500
993
412
143
121
216
91
205
328
107
215
245
274
536
543
320
900
723
113
251
659
804
954
772
82
467
339
299
107
461
647
488
684
466
659
720
909
929
209
425
989
857
533
77
186
603
978
122
280
543
953
495
946
139
116
407
143
443
366
846
532
859
795
983
172
862
407
655
576
757
407
880
942
956
971
430
66
765
386
566
803
152
488
885
230
900
884
950
169
780
234
424
932
738
372
134
463
629
792
849
358
929
469
594
789
818
584
858
536
753
33
827
144
739
697
928
4
739
450
278
36
446
490
739
56
401
443
370
807
964
698
928
618
448
755
151
644
891
15
942
670
221
947
571
199
546
286
364
858
280
473
180
666
203
160
196
253
726
877
809
312
584
95
484
153
589
869
252
488
330
242
361
40
601
931
268
806
580
654
818
565
524
630
4
941
491
50
915
74
218
165
511
788
681
500
746
977
348
476
511
866
851
371
940
463
853
119
801
835
419
515
566
947
512
209
382
136
615
951
767
560
226
937
215
508
459
570
286
890
614
947
474
512
92
794
995
861
798
883
94
938
514
450
93
985
802
891
206
558
794
878
854
212
904
405
134
432
809
648
120
599
397
232
73
570
472
576
861
864
578
118
338
269
916
411
171
332
865
495
536
520
848
593
48
590
886
552
941
538
756
387
531
399
800
993
263
0
314
614
786
629
714
938
68
957
563
960
904
295
946
308
441
343
60
21
391
147
128
237
97
493
655
37
998
622
962
565
777
446
52
586
469
395
71
942
466
580
67
612
850
823
493
231
791
9
206
618
670
998
542
119
846
979
313
298
220
564
674
4
710
233
296
933
5
269
886
329
413
466
992
767
602
585
846
686
896
137
298
928
113
434
173
717
287
353
115
855
942
308
256
39
148
911
957
639
754
240
847
616
473
53
617
746
530
244
703
706
423
608
770
272
531
345
169
555
967
618
2
694
457
624
383
339
228
234
412
185
678
448
404
19
104
870
470
850
723
678
590
843
846
833
811
245
202
977
147
248
521
940
238
884
130
209
799
68
332
260
760
79
756
99
306
335
246
122
332
781
525
43
156
837
971
293
702
270
135
966
106
574
909
194
382
341
184
667
264
819
36
741
626
746
706
805
435
663
301
222
563
419
115
341
86
977
783
540
174
809
812
249
261
350
231
494
725
785
723
423
215
478
41
530
391
529
91
531
151
396
311
15
560
367
98
968
315
119
863
502
272
908
895
714
102
629
397
5
298
252
296
216
306
256
964
623
388
902
20
1
777
469
857
460
427
695
44
918
887
658
344
120
441
646
454
173
550
541
103
534
384
679
765
776
608
825
776
242
305
854
769
512
302
942
711
718
463
122
849
750
663
147
505
762
25
169
495
723
312
481
735
735
927
934
935
105
483
493
263
672
363
211
164
961
699
350
264
195
867
376
49
981
471
217
701
872
833
719
524
989
681
241
350
993
378
247
645
617
749
645
99
141
411
108
280
62
117
244
649
852
369
475
368
815
877
87
730
111
561
29
714
878
376
365
399
762
267
975
656
130
791
963
35
100
402
46
452
377
92
118
159
4
902
403
505
824
87
817
669
147
249
432
322
414
816
326
224
716
927
5
505
231
640
309
828
884
251
674
929
644
491
771
434
688
424
745
837
296
177
429
805
832
468
556
160
305
1
908
675
162
392
229
181
556
458
117
888
624
165
438
135
925
67
634
10
312
937
740
745
964
98
216
670
290
15
198
169
9
190
827
155
593
994
289
68
505
841
66
386
971
858
913
4
82
326
472
602
890
51
802
445
918
58
593
844
169
785
706
577
579
909
813
590
813
511
632
259
753
923
983
125
354
230
344
853
865
529
984
434
914
625
564
293
864
354
888
356
470
459
311
947
28
993
199
521
177
110
250
339
971
889
665
788
172
205
410
878
665
728
286
948
673
407
259
475
839
187
583
659
331
783
778
71
419
678
697
655
268
247
585
571
300
336
642
95
989
889
131
932
94
614
722
714
429
782
906
598
737
231
542
547
306
771
978
664
532
430
757
512
345
963
5
7
888
696
407
137
465
342
938
976
291
66
866
292
187
111
552
166
675
62
385
143
607
707
138
679
439
209
870
922
938
468
85
713
939
450
203
878
660
613
280
896
271
133
54
618
679
357
885
651
943
731
663
198
583
914
690
184
57
727
652
22
826
239
662
182
516
145
876
149
748
614
767
761
46
279
150
825
575
159
282
219
573
324
848
472
925
272
837
702
802
378
325
773
869
372
286
172
684
847
782
188
237
240
337
870
591
284
533
494
744
609
785
535
79
136
181
837
201
273
595
746
11
433
564
446
774
406
547
486
232
58
543
818
640
608
388
868
936
985
302
330
446
957
783
537
511
265
615
158
384
728
197
426
467
131
616
106
727
307
585
635
320
524
131
892
541
480
697
991
695
176
26
740
744
477
58
900
399
887
976
116
637
909
651
325
568
964
163
899
830
969
228
892
444
176
735
161
637
428
454
758
746
296
952
770
216
790
531
959
486
47
127
981
20
18
359
32
121
609
698
801
119
275
712
359
373
957
108
34
616
107
565
712
404
687
752
372
604
19
633
666
486
727
476
944
36
628
900
618
172
952
539
387
860
647
361
645
112
494
470
174
504
559
524
422
635
183
757
243
197
606
891
173
77
169
959
80
48
276
458
240
937
308
633
727
362
366
134
719
835
707
723
87
384
198
726
94
898
123
98
761
695
998
494
918
765
865
186
654
101
35
187
557
904
878
563
30
896
23
661
964
635
70
803
858
831
51
568
456
797
966
538
991
121
657
952
270
57
496
921
705
136
144
217
134
318
86
646
977
632
660
376
57
153
3
78
933
814
867
591
770
400
886
459
764
138
195
926
811
821
528
424
131
450
644
841
916
0
454
188
603
759
201
968
388
223
881
417
755
896
660
373
420
193
701
121
691
993
886
577
148
531
750
224
620
485
409
202
775
674
864
834
906
378
208
256
491
913
260
238
466
29
846
603
228
526
766
796
935
261
154
273
600
286
791
0
815
626
689
180
800
931
883
800
741
99
316
283
697
400
643
574
687
837
287
154
718
131
65
317
649
200
537
661
295
208
719
936
370
565
11
990
286
132
278
793
258
337
977
253
472
993
657
888
731
226
243
554
128
600
150
302
756
119
294
447
392
834
966
990
803
22
931
711
228
977
829
598
306
883
291
844
103
626
243
624
597
178
828
478
485
986
947
488
384
753
648
705
117
420
75
171
468
739
65
294
238
808
437
530
98
544
184
421
596
529
524
474
871
67
904
360
223
417
827
127
722
93
890
217
348
255
490
788
311
186
627
733
875
619
490
585
242
140
960
838
224
800
403
521
728
388
700
686
915
364
616
794
94
170
822
812
766
556
373
870
623
600
275
269
455
287
342
242
599
127
788
181
66
798
339
448
867
417
586
698
721
849
68
218
117
554
318
938
564
91
915
332
40
613
583
510
721
37
574
72
159
17
290
552
189
330
811
520
128
234
989
516
836
740
812
475
485
736
528
878
871
648
136
927
432
983
761
503
279
398
862
567
443
584
90
941
834
216
273
137
104
522
370
554
726
335
519
362
667
928
51
601
353
674
307
894
774
410
619
581
65
94
539
983
34
32
203
60
280
303
992
200
691
796
7
790
340
746
160
823
992
250
359
138
173
392
147
629
595
487
243
82
610
982
650
423
446
689
268
984
310
362
890
469
706
742
591
93
101
762
768
964
59
324
784
24
353
846
353
354
956
507
258
862
890
87
184
680
447
42
375
823
445
955
382
645
187
984
920
315
343
92
847
361
787
885
92
131
780
979
871
855
418
59
607
253
989
846
923
476
930
446
673
532
500
941
146
890
365
784
598
81
781
765
730
200
586
608
271
933
123
338
286
268
22
412
223
408
742
311
490
366
560
914
516
168
51
50
433
492
15
455
730
616
103
389
515
188
419
308
260
236
618
77
373
156
534
189
303
638
464
919
696
243
237
897
624
24
864
900
215
209
621
172
583
708
448
636
109
464
427
419
513
869
467
630
175
221
690
685
380
233
836
191
194
344
173
391
509
162
397
578
595
44
15
817
916
367
564
138
833
837
464
439
169
332
623
913
836
507
208
811
118
656
350
71
532
178
100
549
703
14
719
389
245
326
327
447
191
822
637
686
788
505
558
371
607
744
671
89
62
329
729
524
662
702
50
405
228
728
754
388
915
717
551
289
825
283
646
869
966
230
356
610
522
833
786
918
33
203
419
40
511
257
174
577
531
587
270
431
578
530
424
94
22
315
487
736
140
18
478
560
173
342
85
641
724
226
362
115
730
955
632
341
517
102
364
560
219
538
391
233
51
104
634
327
408
295
548
638
67
943
76
912
779
677
492
617
869
811
876
123
597
338
550
365
739
572
361
419
801
469
878
954
292
945
377
310
287
245
930
92
590
759
501
928
439
641
9
81
194
925
19
138
765
483
190
807
750
270
353
14
101
41
671
723
303
977
920
741
332
892
510
182
882
205
38
986
151
879
488
216
131
588
803
551
320
593
538
661
938
716
257
676
229
165
793
581
18
110
24
302
788
474
275
428
851
397
322
461
204
866
950
409
100
264
607
451
603
30
705
546
471
815
961
907
204
663
249
259
65
639
793
398
0
401
257
202
538
229
773
773
69
601
417
417
354
447
221
655
716
521
248
876
667
347
149
178
936
348
853
24
258
333
701
497
377
428
695
757
23
301
282
728
23
134
179
4
515
323
208
815
159
358
465
986
284
548
410
654
331
651
364
303
556
538
282
122
725
768
111
414
17
10
809
938
491
942
143
71
702
598
953
768
647
620
815
159
520
207
506
786
743
897
448
730
875
871
550
293
897
236
405
273
181
767
509
177
909
942
943
236
233
871
660
677
877
970
720
576
831
909
855
356
375
272
373
272
198
401
234
800
34
52
365
142
450
261
354
790
772
611
767
257
391
840
435
447
269
86
886
135
456
147
671
568
84
29
895
647
267
766
944
204
42
547
378
531
987
920
154
360
304
363
451
182
561
862
109
765
419
660
569
729
380
689
603
311
689
523
715
487
464
131
583
911
116
447
918
560
7
907
471
219
389
257
727
877
502
552
183
121
127
380
981
985
820
545
405
909
31
864
374
87
315
536
121
30
520
58
941
520
718
687
241
30
847
343
554
892
329
334
791
986
965
70
786
478
13
849
664
897
353
502
369
446
176
60
928
480
509
348
475
854
407
611
283
49
307
267
254
319
732
381
145
346
726
50
152
126
601
972
840
752
322
36
833
435
683
32
179
918
38
727
916
511
390
576
989
772
783
49
316
669
762
534
22
34
975
48
424
207
651
93
736
329
860
270
882
834
916
759
933
207
278
703
694
356
858
132
230
136
210
388
542
999
475
928
541
616
457
648
726
989
251
266
767
75
9
762
624
126
645
55
525
495
252
974
15
428
206
854
659
647
556
579
753
65
135
177
238
332
772
427
841
789
602
53
990
122
565
897
75
370
528
758
854
268
993
363
425
161
557
225
199
815
808
38
546
580
2
273
779
168
902
24
962
579
904
955
615
457
932
476
270
268
998
617
439
182
140
121
807
675
609
549
390
963
42
338
764
173
780
60
31
909
418
121
313
67
886
831
160
825
231
495
647
223
285
341
542
396
415
905
410
185
511
953
901
317
587
93
637
651
534
501
265
99
259
74
155
860
332
760
517
997
576
337
364
229
396
227
234
439
759
604
271
204
553
575
769
222
197
986
264
649
479
771
888
915
406
446
794
628
200
392
511
220
474
813
592
743
900
99
863
421
855
878
609
276
240
478
170
967
595
355
526
825
58
807
275
930
784
171
63
489
445
852
393
648
346
327
250
258
313
944
189
46
308
666
795
493
719
589
696
321
576
763
311
345
563
628
358
65
396
557
848
90
129
462
146
13
662
528
648
840
411
228
986
913
306
629
913
649
611
83
320
464
550
836
581
977
364
161
794
575
150
253
543
451
407
203
639
572
926
739
424
923
157
494
829
922
811
602
361
139
292
459
952
81
630
407
488
607
18
493
643
842
439
522
711
135
623
711
515
347
232
312
256
172
508
312
180
558
704
226
638
534
334
955
323
619
689
905
972
354
246
789
186
153
396
988
255
157
992
140
17
823
371
816
979
338
853
187
912
571
720
650
376
990
681
1
664
164
189
108
386
62
28
317
263
39
372
602
634
499
784
814
271
497
439
954
26
158
729
326
802
703
130
665
327
62
91
998
661
591
835
792
941
953
887
282
503
821
251
484
327
873
860
885
862
880
622
825
744
247
563
8
242
770
657
513
956
557
188
635
846
529
289
261
565
782
827
722
640
11
121
786
845
341
140
342
53
606
531
697
620
300
968
196
981
688
155
558
521
259
199
709
279
620
9
150
764
298
938
18
221
140
410
826
94
702
617
889
458
351
413
491
751
653
267
139
895
503
667
111
757
221
992
222
655
107
720
392
942
354
629
544
42
815
314
81
208
892
916
180
586
283
986
848
609
620
45
590
477
291
681
662
19
481
854
868
226
810
658
524
972
679
628
682
15
648
302
466
275
693
648
85
553
699
581
143
256
334
868
119
730
833
769
786
87
592
361
330
290
897
676
734
661
788
821
568
805
594
123
573
819
175
281
898
481
181
394
440
97
173
131
46
301
268
474
992
496
53
802
34
146
54
474
731
62
608
618
107
473
303
156
292
402
489
303
266
124
751
840
317
193
556
558
400
231
974
807
288
381
255
973
362
321
417
286
449
857
11
847
17
84
418
454
783
168
8
403
505
479
206
536
137
962
968
914
411
36
648
658
379
554
837
881
259
899
629
874
996
209
596
589
257
849
25
508
346
152
541
425
970
449
623
282
329
377
37
54
653
670
967
363
229
676
800
385
696
380
4
31
836
100
794
994
380
821
114
808
918
95
443
415
549
922
116
389
671
69
751
162
468
354
140
711
794
551
466
996
797
578
576
955
683
36
28
464
942
390
757
327
561
579
587
213
655
89
986
122
850
516
624
798
431
886
414
935
801
860
763
313
493
905
301
923
784
201
883
408
605
792
883
125
610
901
783
718
963
751
699
103
93
922
483
331
141
409
434
63
727
965
955
370
866
28
461
434
385
111
752
831
212
181
688
307
422
31
109
986
228
230
715
525
52
791
741
946
61
123
580
545
477
971
250
207
823
174
538
718
275
179
241
462
770
246
105
11
310
434
731
973
819
279
640
276
325
219
16
417
777
608
504
40
789
670
29
38
466
48
52
518
466
230
408
707
457
715
219
278
394
883
980
525
754
141
19
34
708
367
670
181
481
52
933
85
600
159
452
699
617
261
300
569
602
391
433
969
248
857
564
973
918
160
79
327
207
418
537
28
690
400
886
574
280
549
889
769
624
152
898
60
66
427
477
912
857
79
423
818
128
715
367
709
496
412
374
566
454
320
293
366
502
408
507
881
889
475
276
197
760
847
638
527
848
387
87
341
446
168
760
903
790
527
637
206
79
407
623
500
576
832
93
360
308
261
939
430
846
850
360
229
367
397
399
652
788
732
596
814
766
654
313
594
593
918
79
755
454
514
639
267
766
827
272
147
943
566
956
297
339
283
230
452
902
473
129
55
772
389
863
359
506
31
423
285
293
964
622
101
271
216
922
303
409
327
489
97
564
947
379
130
887
389
650
594
812
308
96
381
729
360
257
610
695
440
150
216
744
27
415
626
452
93
290
817
145
473
335
27
933
605
971
526
444
842
13
189
270
7
657
942
947
623
446
360
95
493
705
236
84
125
653
443
733
807
415
864
933
606
368
20
918
702
96
779
760
115
459
943
947
279
433
697
929
619
188
867
349
926
785
156
823
305
322
103
666
94
847
619
953
221
527
425
837
82
661
381
578
148
299
409
741
141
329
506
266
353
784
261
549
322
79
722
72
800
440
444
5
608
643
481
75
256
40
422
897
176
765
235
357
694
870
612
854
637
824
803
280
916
893
122
596
606
474
618
560
51
23
84
947
138
628
464
674
117
89
824
41
62
412
173
6
493
934
224
898
300
448
303
564
590
312
447
384
981
498
960
668
995
219
148
671
227
630
273
823
507
593
910
192
667
503
500
880
809
336
154
348
197
677
289
39
836
843
776
471
83
337
125
451
158
812
738
488
336
927
937
959
476
399
932
40
434
585
18
574
352
200
376
515
257
829
591
55
400
222
209
508
394
788
336
946
904
103
60
80
825
784
161
625
234
459
417
170
232
114
15
92
864
313
299
994
98
332
889
18
504
259
144
508
330
255
238
239
477
389
108
280
180
701
932
84
58
179
212
127
585
908
246
459
499
608
96
460
183
451
133
695
830
166
308
730
571
291
137
490
789
263
73
84
930
862
401
105
13
55
792
778
488
310
30
897
330
761
987
656
760
782
67
522
58
807
819
323
783
483
185
908
333
30
480
58
672
665
240
264
785
342
750
746
209
713
378
25
338
785
499
761
535
771
25
428
70
906
727
480
822
618
809
625
240
178
729
649
688
654
490
352
746
382
179
515
27
236
813
649
361
679
618
977
257
762
617
574
904
669
302
669
286
974
625
844
783
195
94
707
749
335
774
611
680
779
905
785
269
760
549
334
830
142
398
885
872
102
0
258
131
427
641
837
51
368
634
317
721
836
157
704
666
688
211
862
303
338
81
433
816
90
948
518
156
114
608
343
684
873
514
651
897
982
447
593
127
925
245
581
267
434
449
714
109
455
125
828
857
213
134
145
630
982
34
885
878
315
206
36
83
971
856
397
349
290
657
838
253
251
270
206
497
533
725
523
646
675
253
326
356
317
9
561
757
803
640
599
728
7
422
134
494
610
561
552
697
421
562
375
572
362
8
529
215
573
501
186
817
178
782
486
979
778
263
430
283
651
193
129
238
486
480
733
192
835
103
447
850
85
33
218
880
397
481
756
602
994
649
622
652
567
356
604
952
126
553
995
669
193
727
600
568
596
691
669
686
298
758
641
423
196
721
583
197
564
211
407
921
922
457
934
362
203
47
589
969
807
971
930
177
684
649
337
57
661
445
994
274
125
816
413
653
720
702
336
645
428
790
971
894
401
784
727
684
448
221
260
98
575
995
235
200
998
332
558
301
277
752
675
267
721
383
346
375
597
721
877
628
378
498
290
674
936
933
861
697
257
749
161
793
637
506
600
269
433
315
495
762
381
253
357
617
543
836
743
886
349
324
976
45
758
741
681
710
651
927
472
20
494
475
351
487
683
602
119
514
377
461
143
57
125
150
807
296
721
170
375
295
654
400
870
726
738
836
889
3
936
459
763
963
242
237
846
834
380
8
365
379
660
559
991
577
256
669
27
737
747
603
525
360
728
563
393
92
629
379
392
540
571
432
667
42
112
39
506
290
497
769
38
889
341
73
8
666
480
867
706
891
394
955
45
880
895
541
1
58
449
14
992
674
965
503
292
273
140
400
815
681
637
564
784
193
982
791
145
258
804
36
176
936
198
419
131
817
553
753
186
221
592
521
641
490
731
454
711
93
856
104
508
842
179
684
320
726
763
345
676
552
796
838
525
859
165
267
925
245
839
627
932
229
48
834
110
475
413
592
997
765
658
66
888
788
21
767
869
554
940
585
886
662
110
80
512
361
790
635
432
296
480
703
269
672
182
672
3
2
535
834
71
524
272
130
444
898
498
247
646
70
629
764
261
536
584
743
385
962
337
339
488
216
285
85
821
827
430
90
738
962
539
87
911
858
300
364
157
567
51
514
373
173
645
663
819
139
764
523
732
42
902
480
410
6
82
692
93
976
547
565
940
434
651
913
834
302
533
691
645
419
218
446
995
65
999
614
834
769
248
773
872
90
430
100
842
815
854
199
755
714
47
924
775
896
163
667
65
56
524
521
920
275
555
269
790
896
90
883
146
836
296
768
798
568
468
908
855
348
899
188
323
830
571
931
651
569
884
762
593
262
264
477
969
459
543
696
354
763
898
506
368
402
611
442
850
211
737
644
16
171
394
221
445
192
383
440
212
35
65
500
726
269
111
323
534
54
773
235
513
908
971
919
318
377
949
283
587
834
182
17
915
990
763
561
725
866
684
223
648
441
860
283
262
172
602
648
614
434
614
684
966
220
115
362
212
78
187
182
258
8
639
867
463
522
32
232
377
126
605
227
745
145
829
553
437
880
531
534
286
371
374
213
737
557
731
430
396
293
661
323
740
295
862
399
968
346
208
939
593
26
518
355
833
325
416
97
164
521
719
817
791
722
653
712
96
561
780
27
909
797
353
517
304
156
188
259
265
780
759
564
557
546
166
33
368
564
677
467
678
93
709
428
891
383
951
807
209
210
707
609
711
997
307
851
261
280
41
535
582
779
100
659
705
182
223
19
491
207
590
539
879
542
622
930
88
476
570
366
586
46
223
811
697
297
906
984
823
525
388
309
664
462
824
966
575
70
261
386
802
707
165
656
656
137
532
94
411
194
44
684
139
687
591
820
733
463
482
53
952
74
852
932
686
296
92
692
972
674
676
81
797
894
84
165
555
602
175
82
42
325
374
541
326
594
701
494
265
235
653
381
352
335
121
452
194
14
185
172
963
398
821
787
5
86
687
55
27
966
643
882
168
488
22
639
557
149
159
384
705
66
828
78
535
114
959
583
810
205
219
901
677
875
891
271
781
815
29
28
0
360
156
268
75
698
979
87
421
244
232
409
916
674
204
791
320
363
291
862
546
721
274
363
829
629
412
864
962
488
256
486
68
555
462
484
901
514
918
573
885
888
824
555
391
313
652
187
781
702
110
135
826
848
207
770
836
85
701
886
90
212
299
608
715
879
121
232
434
671
404
228
69
157
865
957
632
952
872
164
663
901
685
167
303
791
564
846
523
848
189
35
234
756
284
894
699
781
466
275
477
434
509
112
637
623
369
406
433
224
3
320
841
28
296
207
970
660
330
74
438
229
8
991
510
710
947
927
503
364
636
501
993
408
998
805
131
529
666
959
992
980
645
109
200
679
507
141
831
307
364
528
356
946
708
21
592
673
727
599
854
139
622
136
510
407
727
855
542
567
557
460
421
315
990
841
298
152
616
557
995
331
104
366
25
764
125
853
23
987
554
597
525
519
549
845
325
162
685
327
687
799
105
171
490
356
659
249
230
448
12
511
926
961
801
340
197
603
547
93
930
973
479
767
532
493
763
755
885
346
483
60
776
615
431
257
116
156
133
473
898
113
236
637
883
991
521
961
886
450
106
529
809
566
155
899
669
761
414
97
502
353
768
537
390
370
384
980
554
766
18
237
210
285
280
938
807
980
971
581
720
916
7
792
83
188
978
980
115
790
285
778
808
311
869
441
988
960
641
925
83
648
676
938
842
408
470
852
942
37
282
335
71
694
49
90
425
306
68
922
254
723
386
155
424
596
804
88
909
675
223
494
969
864
946
500
901
615
756
77
712
674
380
594
644
154
999
667
158
491
939
609
468
442
967
260
742
827
29
610
802
827
604
932
182
510
998
975
242
633
310
32
78
917
897
248
694
941
413
328
134
866
278
662
8
795
51
838
168
133
429
93
65
590
338
740
143
303
259
779
260
763
974
791
800
968
953
573
694
231
958
245
542
492
499
12
638
803
712
108
0
891
646
636
397
183
660
78
115
50
158
728
485
649
468
730
637
421
742
352
821
511
704
486
809
724
536
351
967
75
677
357
693
339
581
518
9
563
978
630
630
40
858
885
234
895
204
56
536
593
318
914
454
303
318
703
20
575
386
934
154
576
466
609
327
530
782
168
570
58
188
54
975
998
446
390
364
366
268
101
686
497
330
503
812
122
680
170
520
146
543
92
985
63
815
160
587
740
889
79
0
232
994
294
986
593
132
930
379
824
924
80
595
923
337
598
733
83
943
256
879
511
231
963
58
672
504
844
79
96
103
41
429
38
294
393
360
454
966
450
194
521
324
933
762
565
11
779
348
787
875
200
316
21
231
132
955
56
655
279
326
249
850
123
898
637
576
855
743
741
136
555
984
890
707
321
60
19
652
808
982
135
637
655
38
604
151
597
814
713
428
117
975
706
767
810
963
443
691
565
893
121
450
448
708
206
600
973
51
756
14
72
198
9
972
101
153
418
790
44
236
726
743
162
369
122
755
689
762
464
690
509
178
671
458
851
42
169
161
538
92
404
84
110
665
902
222
773
278
942
146
65
320
20
951
453
600
928
370
954
41
392
218
748
174
69
222
762
668
462
23
629
243
374
149
126
170
592
621
109
597
715
300
212
659
891
982
379
602
441
580
279
915
217
771
609
116
424
929
918
470
747
757
493
874
928
588
238
567
960
165
316
44
58
546
669
515
156
941
234
630
947
392
257
627
882
649
461
555
481
372
368
497
68
281
902
802
587
199
107
836
174
75
33
129
275
659
47
525
556
842
154
157
864
481
142
540
508
986
531
371
57
544
237
148
443
314
0
99
712
757
759
90
430
422
908
958
95
93
188
255
712
54
732
362
503
854
202
104
26
971
221
866
506
39
835
329
61
347
222
896
15
223
788
773
706
673
697
496
887
181
350
851
451
491
665
597
625
213
344
111
305
826
177
787
386
426
870
31
684
207
79
743
976
138
973
265
796
690
741
748
534
891
299
768
486
353
20
201
377
431
460
21
785
700
13
855
99
721
308
776
711
259
904
788
929
532
644
527
110
410
585
248
11
646
285
462
650
371
312
770
340
19
269
364
465
178
410
574
123
538
14
238
623
812
371
485
61
853
13
7
405
3
546
297
558
579
322
420
50
760
832
981
205
743
491
99
394
95
90
224
856
901
667
939
401
450
512
875
167
994
891
958
787
558
495
811
319
326
239
583
291
154
869
795
701
678
99
230
248
146
231
134
103
748
909
704
390
781
457
52
62
694
520
731
816
721
748
951
711
459
677
121
99
626
244
792
404
182
144
371
173
571
615
402
257
704
236
446
964
281
221
967
585
511
175
741
235
668
184
488
264
373
841
973
520
208
917
489
878
797
167
356
877
345
593
333
755
378
120
759
563
921
18
117
640
109
703
833
815
817
420
513
96
204
802
374
550
449
54
235
544
553
993
940
373
652
101
184
727
635
293
31
813
630
908
19
873
191
401
540
878
833
94
484
571
371
683
574
980
267
213
203
669
988
936
723
161
129
244
608
793
517
165
765
787
499
762
928
815
195
992
861
172
751
279
1
167
443
274
542
539
998
982
975
87
263
62
265
604
987
940
667
994
897
285
804
619
838
219
568
18
628
716
555
824
66
208
238
265
547
982
353
60
569
94
909
361
491
897
737
688
750
993
285
769
509
152
799
5
427
250
725
744
863
365
70
248
211
620
633
757
635
839
545
891
889
621
545
679
34
76
476
886
884
269
797
222
227
560
633
324
735
645
934
426
696
439
849
485
127
670
806
297
981
532
216
872
986
315
580
194
998
452
465
226
240
434
66
513
817
465
420
120
582
21
195
742
644
877
846
718
944
407
115
534
97
251
85
36
440
411
256
138
437
252
507
963
450
772
887
574
529
305
974
168
571
198
573
243
658
23
333
73
812
67
266
686
255
777
420
815
138
95
621
91
901
275
461
613
116
381
155
591
89
16
20
407
265
989
552
794
50
500
238
718
559
269
669
913
318
431
416
998
846
647
211
307
826
971
860
294
334
911
29
333
388
277
109
197
733
156
35
741
829
889
918
750
909
293
746
29
253
711
170
320
910
197
134
35
514
352
859
505
41
586
477
405
434
892
608
442
902
481
677
525
885
833
239
888
403
38
702
741
604
201
582
580
762
202
506
960
213
815
709
71
537
61
146
568
848
621
312
521
329
833
270
899
437
421
268
385
929
872
307
301
864
284
141
285
547
634
348
72
925
531
397
287
719
672
864
59
974
230
570
295
679
582
401
697
881
814
403
665
364
918
151
261
590
851
682
318
204
449
600
982
498
667
303
108
307
337
602
919
471
44
499
532
447
986
137
788
985
698
32
5
127
892
843
465
211
896
395
732
169
416
461
85
998
459
854
857
49
752
782
832
617
162
887
386
159
323
245
714
707
310
832
758
185
831
281
822
332
209
690
934
611
521
690
606
77
714
74
952
950
797
517
699
244
439
181
359
44
899
421
951
855
746
875
718
889
143
768
716
59
492
328
705
913
331
936
548
21
86
812
835
679
172
407
262
971
725
628
915
840
431
858
190
823
822
80
915
897
463
632
799
268
748
491
238
173
34
772
708
463
14
941
226
14
650
507
292
160
372
14
497
404
175
857
881
87
153
727
256
92
555
910
16
743
698
200
641
843
902
807
589
665
664
559
533
397
812
761
962
139
722
260
366
22
689
395
910
463
716
163
728
627
236
256
885
498
151
329
754
337
919
355
816
132
758
153
522
782
768
37
667
439
201
673
185
60
310
997
322
725
855
242
60
47
365
613
62
396
728
854
228
649
908
849
677
275
28
866
983
339
403
331
23
582
3
38
372
481
395
36
156
438
530
744
150
592
660
686
377
317
551
528
263
681
739
124
280
423
835
932
914
496
0
267
587
17
645
732
683
544
489
269
516
682
346
208
968
723
363
606
160
277
93
455
524
4
111
861
19
229
657
429
131
755
638
466
292
643
131
981
589
521
543
602
880
806
600
741
416
254
578
600
37
141
145
272
485
640
843
417
72
360
780
273
716
281
924
308
522
683
683
184
720
28
546
840
747
34
67
128
439
472
954
343
276
765
78
899
889
216
602
631
148
7
929
912
524
88
696
599
38
340
579
544
532
563
29
681
886
229
191
997
737
617
725
367
344
632
905
170
144
956
159
609
178
234
783
74
464
783
643
449
968
634
646
408
997
419
122
471
62
91
421
582
544
537
444
588
507
566
427
897
552
762
117
990
599
333
574
420
989
496
352
745
119
252
50
768
742
822
976
919
760
977
868
728
965
761
451
736
509
641
634
551
307
111
110
539
547
706
98
644
53
20
717
527
811
369
835
811
807
815
897
254
663
235
563
685
439
381
145
855
939
992
329
542
70
622
36
487
901
17
584
592
700
330
508
225
820
499
93
780
268
99
798
245
69
873
729
301
784
306
786
686
407
398
873
337
812
76
174
602
140
325
375
442
399
741
207
152
500
363
194
363
817
652
966
873
703
815
778
885
820
861
622
539
396
513
963
532
56
871
66
319
7
577
450
498
199
419
799
136
434
892
518
902
109
732
755
210
558
72
806
924
9
799
593
831
743
385
812
205
28
972
187
133
693
27
747
383
425
525
596
672
708
633
403
408
362
92
823
559
553
89
360
782
818
250
387
632
958
550
716
780
210
924
75
825
389
156
186
578
113
431
956
735
164
20
105
995
642
599
787
404
805
131
688
819
879
975
497
966
527
391
299
397
19
239
944
878
721
659
49
617
606
729
579
234
765
990
260
907
662
589
380
39
471
709
172
83
633
328
504
554
772
6
166
860
797
327
238
19
476
72
660
419
209
432
83
397
971
973
551
115
184
651
578
129
305
567
846
690
56
438
286
788
540
81
230
427
451
495
544
736
15
584
790
341
184
653
671
270
445
630
750
175
543
783
507
146
251
195
798
733
454
706
444
572
488
821
515
67
411
106
65
52
586
68
430
644
722
635
174
936
663
900
471
956
926
846
144
405
441
89
318
469
567
96
469
865
837
735
322
713
855
897
673
358
64
553
519
570
739
768
868
63
418
769
124
996
35
245
623
752
959
491
225
187
350
590
681
794
293
484
34
170
399
264
313
692
167
149
704
173
323
942
918
638
220
234
418
784
332
471
73
760
269
245
172
855
797
557
539
241
196
396
981
827
151
979
591
211
112
135
500
693
196
913
989
155
822
576
417
960
554
732
135
168
454
281
358
868
649
921
304
231
719
997
41
886
336
163
622
496
345
254
744
872
948
884
958
38
577
69
387
145
258
966
832
756
704
254
127
221
312
653
326
564
637
929
29
757
642
531
992
882
947
867
574
562
474
982
178
674
707
644
627
44
415
385
136
89
660
805
753
923
413
275
659
657
950
199
217
956
349
306
599
770
525
791
504
330
712
811
696
530
733
968
262
437
519
286
797
532
940
805
794
441
501
996
750
260
276
551
568
775
488
553
544
393
416
30
663
826
481
72
409
524
757
154
460
646
925
750
636
840
684
954
74
294
308
246
877
103
101
49
687
373
99
50
743
269
545
592
799
706
832
452
547
419
986
990
916
578
132
779
895
546
334
632
240
660
370
491
612
157
653
455
329
916
606
603
468
6
723
775
43
358
665
31
16
504
680
224
729
412
939
746
553
819
694
704
178
352
575
372
506
793
696
733
115
693
938
717
809
367
706
992
398
612
371
363
421
46
962
682
201
548
684
188
547
896
73
742
110
842
717
544
410
930
79
159
485
331
108
690
628
102
629
395
855
355
283
544
785
53
626
430
160
758
340
984
132
546
269
270
947
714
214
941
558
822
232
469
233
962
974
187
274
322
205
919
578
19
458
650
226
222
376
590
165
190
520
825
712
214
479
954
81
83
608
197
472
892
974
43
109
202
899
274
563
915
331
806
247
363
250
151
875
786
974
351
883
903
69
103
980
612
132
250
994
932
138
400
706
629
733
468
50
849
59
867
368
128
256
497
223
830
726
661
267
592
808
598
265
284
967
494
983
389
853
517
564
219
918
720
760
982
207
879
184
450
482
245
464
576
991
613
181
759
328
67
850
204
300
788
540
698
767
693
960
405
991
30
715
233
460
583
191
782
670
316
515
614
585
677
837
440
743
196
4
576
7
828
343
555
134
192
154
101
432
790
390
15
601
424
676
578
179
188
288
583
405
684
881
216
732
630
553
6
466
939
609
214
29
741
684
850
996
561
868
114
921
59
525
682
994
788
405
287
610
342
577
956
749
964
210
45
325
292
578
832
700
110
814
64
229
829
501
43
5
29
56
453
59
805
446
968
706
894
814
308
347
907
104
511
642
350
282
233
546
571
52
775
677
289
793
514
793
252
548
369
141
823
461
468
193
360
799
68
213
365
160
969
57
261
683
207
433
17
319
119
57
209
594
699
610
884
818
814
559
976
165
923
359
722
948
127
787
969
48
405
628
54
218
403
903
80
24
920
625
293
970
335
845
253
649
805
348
430
449
648
657
411
128
924
489
844
306
574
947
10
666
721
923
30
158
231
402
79
818
175
829
659
936
837
7
542
250
633
421
651
125
794
807
38
156
120
339
863
937
12
618
254
679
801
305
369
412
113
359
615
419
22
750
652
940
704
870
435
544
271
232
827
472
1
860
796
251
562
266
959
792
139
119
124
465
108
155
848
620
146
890
54
68
27
57
433
29
752
858
320
377
873
147
251
696
122
257
754
71
202
523
691
860
455
243
297
313
834
390
501
158
495
512
262
555
360
968
334
41
40
395
312
580
864
638
108
290
143
21
862
191
837
660
561
597
929
297
387
405
448
257
503
321
331
559
862
486
654
659
354
980
892
158
142
495
89
181
147
858
137
961
370
456
254
2
576
817
223
484
369
908
249
590
641
724
992
555
594
508
930
65
271
479
193
514
913
251
731
938
354
187
742
300
292
948
447
497
691
3
329
346
715
739
201
467
845
880
123
290
547
52
497
318
496
811
769
335
928
223
936
223
880
28
202
731
57
807
651
26
317
440
297
113
153
311
662
603
31
380
581
545
893
309
273
842
970
353
979
194
513
455
863
509
890
510
585
577
942
517
917
641
880
326
817
636
459
971
358
452
360
39
857
798
310
603
869
995
436
982
322
127
789
454
830
949
622
579
260
859
572
754
539
143
603
685
20
704
736
617
299
674
499
750
122
361
270
751
808
419
180
553
432
718
588
382
407
4
372
863
60
836
987
491
318
460
947
433
696
537
580
433
524
415
806
516
230
595
352
33
139
470
358
488
942
296
209
1
850
450
110
38
243
963
473
935
254
882
38
681
904
166
655
383
611
495
17
342
70
649
323
388
102
204
879
826
941
975
681
235
777
303
575
648
448
900
212
343
848
49
230
91
518
228
900
292
878
177
888
983
768
157
389
173
66
111
401
535
585
821
513
726
840
26
674
279
117
627
521
481
492
174
405
934
952
473
623
46
15
84
782
855
530
182
924
247
684
117
680
87
771
104
993
500
837
3
829
46
191
590
666
723
705
513
603
684
153
33
941
850
658
949
760
889
434
594
936
574
765
813
307
75
592
50
391
84
23
66
452
419
429
594
31
141
7
914
81
351
165
193
895
6
844
737
401
835
15
108
605
713
212
586
273
351
51
233
406
145
362
708
983
176
867
329
707
4
492
585
883
296
443
874
693
366
807
861
988
623
370
221
134
724
536
84
702
805
247
212
830
103
48
653
817
899
587
925
982
364
405
555
705
505
122
816
954
610
504
59
19
361
309
435
845
249
593
699
313
196
399
800
611
436
599
198
164
253
597
981
102
7
385
324
217
657
181
653
404
732
634
351
206
483
893
735
367
494
863
368
424
443
335
783
717
135
725
515
718
6
49
222
840
249
257
275
203
713
801
434
55
80
239
784
617
355
884
752
662
25
877
493
112
60
721
868
896
638
466
772
500
741
389
461
910
506
192
789
681
377
531
553
342
456
480
842
557
758
979
144
843
538
674
933
507
539
331
425
346
599
924
746
242
579
964
83
906
323
18
93
162
216
911
760
448
964
121
32
341
124
492
758
250
352
177
259
139
262
962
908
206
858
251
246
9
120
841
498
793
398
55
558
941
964
848
373
579
133
743
268
173
972
897
909
983
59
129
715
274
48
21
600
369
239
767
272
408
331
456
751
231
771
824
653
177
927
326
541
222
429
188
611
356
516
38
982
622
889
318
171
451
613
646
943
784
755
597
769
870
715
277
434
292
505
254
264
212
537
457
569
633
474
231
427
903
54
522
980
283
53
935
41
700
444
193
473
95
521
827
189
774
323
997
371
884
597
536
122
823
209
266
458
617
96
996
447
771
633
283
353
924
796
800
213
667
217
774
201
925
898
420
602
10
245
94
689
661
971
692
27
179
680
405
577
246
643
245
955
83
5
22
602
999
396
401
209
209
483
501
620
561
261
180
584
951
826
583
824
838
219
632
981
729
52
754
508
755
458
463
587
465
794
438
87
677
212
412
613
760
125
881
246
827
729
381
890
801
264
707
480
830
626
643
144
212
738
130
241
157
906
34
533
917
161
225
863
288
545
70
48
182
530
725
699
364
961
288
85
88
197
201
177
564
766
294
957
254
580
245
728
217
790
671
227
472
576
195
330
600
526
96
192
237
597
557
62
276
941
747
659
349
980
274
7
312
522
381
958
767
222
177
451
312
154
80
526
138
697
412
36
671
888
778
948
299
339
29
893
769
523
747
434
153
200
804
956
160
795
450
777
811
518
884
835
465
294
399
406
996
975
247
217
224
470
237
272
765
554
592
611
775
345
76
999
84
243
67
757
25
897
715
67
380
515
237
659
90
570
79
838
731
118
140
308
961
150
144
805
141
851
44
633
392
979
768
598
356
24
209
247
33
570
874
38
271
85
824
287
667
53
158
23
899
350
692
454
754
650
527
102
149
751
468
841
595
269
50
942
224
583
768
693
261
415
970
194
705
68
882
980
989
715
696
75
284
971
810
384
795
781
430
305
140
468
994
413
173
678
32
8
835
901
164
285
201
256
84
803
735
250
299
890
407
535
837
760
328
668
368
578
501
512
984
254
941
127
872
415
764
705
659
846
221
968
951
751
54
84
259
831
587
766
574
511
886
842
929
393
479
944
368
103
454
680
116
569
764
462
639
699
628
548
891
485
322
942
984
616
330
398
854
423
389
38
77
946
240
480
865
253
788
637
716
46
932
284
802
990
706
483
373
927
697
101
916
144
331
715
29
408
960
804
530
223
557
489
808
777
260
683
870
880
787
373
320
655
867
384
521
535
349
496
689
595
716
525
213
420
645
298
331
550
990
521
644
644
665
179
54
809
522
841
726
527
940
113
51
408
743
695
193
627
967
821
307
712
553
522
725
731
510
132
563
722
749
12
3
173
757
621
80
563
399
579
64
818
179
54
637
705
768
981
259
111
37
416
193
538
823
501
322
485
516
137
847
228
140
621
593
86
114
621
844
114
204
171
965
649
866
764
336
76
326
818
577
99
95
415
660
735
409
848
730
431
380
974
877
87
16
723
755
960
510
240
964
540
795
13
913
769
538
872
837
82
621
305
368
109
861
458
864
676
714
873
297
200
362
605
689
952
145
657
788
562
954
344
356
181
859
364
943
639
760
376
458
633
771
285
933
875
754
400
812
907
34
812
363
849
365
467
713
768
783
580
679
585
586
161
904
965
124
22
605
265
523
994
804
920
727
446
652
895
603
886
285
193
202
900
594
429
175
879
821
642
902
485
589
930
682
194
245
403
778
368
152
276
187
634
445
902
279
567
34
174
833
419
491
275
877
792
678
705
347
569
961
991
514
182
345
35
832
23
959
149
137
377
442
107
956
978
714
839
741
304
767
400
770
614
295
224
67
155
983
756
850
854
49
150
387
704
946
933
641
728
345
962
477
52
821
36
693
817
211
638
509
234
558
646
420
668
756
317
621
948
101
835
77
157
342
730
785
540
200
707
232
375
577
843
864
419
69
64
103
675
848
114
907
44
985
191
697
302
608
731
798
679
391
564
213
23
767
174
121
623
581
774
636
392
540
850
588
106
672
173
720
282
604
800
75
499
679
260
110
478
332
679
987
923
795
101
346
437
966
332
737
764
161
299
523
350
43
734
184
550
752
412
443
374
381
433
353
551
229
623
440
211
487
670
365
904
84
528
266
996
857
540
552
884
490
644
608
784
812
489
875
746
635
829
134
510
911
857
797
4
473
628
513
193
219
391
402
644
673
115
376
646
541
163
572
539
254
775
260
977
68
253
363
729
574
466
508
415
669
123
963
102
665
23
945
921
379
842
586
856
471
99
272
920
912
904
364
217
594
300
665
125
951
384
302
880
487
98
620
832
764
244
969
610
914
893
285
347
718
246
36
421
939
855
582
701
979
611
505
980
471
806
69
962
802
888
933
853
661
892
324
318
427
371
567
771
739
616
115
509
715
340
82
54
886
900
763
44
310
466
833
612
239
778
291
365
212
137
86
265
649
715
947
31
773
222
847
39
940
613
128
671
544
207
243
557
793
373
404
971
369
528
925
656
677
434
707
720
996
516
675
74
273
610
858
354
743
711
23
937
119
748
299
341
127
314
284
159
342
743
621
328
216
984
129
181
743
444
657
117
844
180
407
342
295
496
499
56
6
487
526
836
993
432
740
340
545
216
387
186
528
225
970
782
736
979
473
989
238
456
570
61
359
918
189
697
330
327
567
636
587
979
395
311
60
489
785
987
602
814
445
388
130
190
437
804
450
192
66
456
241
643
299
444
412
988
701
955
218
582
621
176
647
259
90
78
525
929
914
470
395
115
563
566
603
122
906
257
949
443
834
163
302
387
884
688
268
126
149
126
357
348
607
646
388
631
88
65
618
552
622
429
694
518
761
77
152
537
948
168
18
654
332
864
468
735
157
413
991
342
118
538
985
750
444
338
910
317
448
548
173
833
557
51
165
398
837
171
526
681
671
573
935
481
288
761
392
973
177
923
425
273
145
463
645
555
190
933
499
459
912
631
488
670
457
442
206
136
79
127
353
108
360
403
794
640
193
908
437
616
394
499
445
863
407
653
723
663
830
589
648
570
501
995
91
845
307
584
541
439
324
717
885
905
406
926
56
11
508
438
785
25
352
870
844
849
729
184
354
998
213
121
351
186
314
985
244
58
23
661
520
980
249
949
53
111
61
848
259
456
478
441
706
934
985
727
93
993
75
669
287
205
7
235
164
942
230
763
266
852
314
597
897
793
371
622
742
258
348
824
797
314
518
127
638
948
127
710
34
252
206
75
166
634
799
248
277
148
89
918
610
22
222
150
714
332
160
934
873
474
362
468
97
243
821
480
462
155
201
548
146
935
782
634
289
66
999
732
996
838
971
49
866
14
969
296
721
207
214
112
946
88
552
639
256
155
928
353
895
983
82
946
785
779
408
162
597
854
456
360
65
87
496
282
16
119
438
855
297
513
42
100
508
666
93
385
185
602
321
945
363
663
550
220
29
569
689
125
604
467
499
852
442
825
521
170
173
300
834
87
901
239
28
304
429
674
850
870
418
799
386
378
882
402
443
195
97
277
967
695
285
746
111
745
592
561
717
377
676
461
845
858
196
223
830
226
652
522
728
247
807
551
917
594
706
228
690
406
993
487
323
718
756
652
183
369
369
722
830
708
300
985
469
467
252
128
711
804
835
876
853
184
853
171
644
488
287
190
606
247
486
640
283
471
513
47
872
670
262
575
409
140
966
833
577
552
123
908
543
751
395
499
990
486
319
399
237
549
869
256
420
599
448
54
866
643
489
465
116
324
180
701
940
268
786
399
24
23
49
292
50
61
834
633
554
864
157
267
28
637
520
846
317
64
622
939
854
371
413
768
391
147
146
465
434
474
908
691
829
810
568
286
197
879
370
552
998
151
273
42
886
181
729
356
339
907
721
759
419
216
303
255
950
814
399
704
196
811
112
412
485
668
222
497
939
220
856
702
617
189
506
56
394
199
347
258
848
180
585
385
128
496
699
751
168
894
36
220
929
619
290
681
204
186
977
214
535
667
409
151
176
947
143
470
761
360
508
957
783
15
902
139
937
578
640
101
803
685
719
56
239
562
745
314
249
602
682
81
947
317
551
22
936
113
448
421
704
750
947
801
902
783
205
469
542
726
774
244
279
269
880
722
308
159
197
253
503
129
544
41
271
569
246
606
101
247
692
487
542
934
63
301
313
130
863
896
777
802
963
420
368
176
655
748
383
531
788
63
536
451
729
405
343
277
724
607
39
679
581
796
13
930
882
422
475
477
539
73
224
817
832
480
136
759
59
557
835
496
259
994
213
643
993
635
602
479
8
240
103
938
762
263
907
366
679
189
919
705
883
629
364
452
749
203
90
509
776
165
23
678
346
972
900
514
80
750
790
758
448
876
640
308
301
457
886
450
791
969
543
520
206
311
977
272
310
816
570
621
871
630
7
699
440
701
2
21
981
61
460
842
501
343
334
300
937
130
630
539
106
195
487
987
525
244
527
530
167
194
178
375
960
351
978
918
861
250
380
874
384
499
48
836
818
537
244
563
769
451
620
431
276
200
943
718
842
41
323
223
975
619
875
484
169
387
19
574
853
498
795
964
363
499
874
549
269
150
395
585
765
106
480
638
597
227
857
833
774
556
446
421
623
140
345
173
444
14
542
854
532
369
966
580
711
981
855
628
479
515
804
465
896
465
689
40
679
42
620
812
666
892
364
526
785
584
155
963
734
20
573
544
599
934
650
580
137
946
872
356
391
713
870
859
326
918
473
359
602
699
4
805
817
861
959
181
511
987
506
272
661
204
685
431
866
631
648
261
527
157
956
28
782
829
73
454
480
795
28
428
351
676
11
259
780
2
804
114
242
131
436
60
660
619
214
520
439
859
833
338
77
16
265
938
451
893
366
754
926
711
89
683
309
97
958
506
933
414
228
972
16
344
259
289
685
654
943
585
778
507
835
665
240
391
495
311
762
82
686
878
299
143
311
462
660
281
760
966
16
13
176
874
681
921
450
186
818
509
878
610
307
737
964
318
142
344
997
397
660
337
28
490
32
335
822
401
107
804
820
858
436
514
609
988
824
189
25
660
938
412
216
447
37
343
983
834
726
161
367
525
379
482
921
571
498
99
635
348
666
768
247
842
953
554
727
427
400
753
411
862
928
411
909
55
118
599
695
5
819
487
65
451
323
569
961
519
96
950
165
649
650
213
178
427
966
444
385
162
689
466
985
468
33
45
578
173
669
555
472
537
120
278
209
106
206
276
979
777
471
618
92
468
267
153
389
284
840
49
754
105
446
264
876
327
97
536
409
747
480
278
376
211
563
844
333
814
151
88
825
811
691
664
237
316
458
517
520
4
996
355
465
946
893
879
573
885
212
449
236
211
659
645
987
757
476
605
774
622
230
595
417
678
817
625
43
111
314
247
402
721
382
765
678
290
328
97
912
359
606
342
690
264
978
195
871
386
606
797
788
889
426
577
129
381
167
733
681
818
247
895
686
347
676
959
494
339
716
583
641
478
84
436
613
969
991
155
887
963
646
431
136
567
13
607
700
698
700
370
81
164
472
429
81
15
537
949
347
588
511
108
431
952
4
330
647
959
125
699
185
964
414
400
457
600
733
361
204
937
93
897
805
846
164
738
994
300
302
446
439
21
844
985
479
825
925
422
275
783
133
885
846
831
926
405
392
289
980
709
217
880
173
728
707
611
914
3
139
575
923
480
84
463
39
360
727
391
879
445
963
486
921
480
463
421
148
261
939
954
840
790
703
92
170
220
845
942
934
569
628
255
713
392
181
115
369
804
845
58
358
50
264
283
362
836
854
675
936
598
471
368
329
700
269
26
431
568
823
179
26
92
426
795
641
982
322
450
897
206
814
473
142
903
306
108
306
566
32
487
112
742
264
479
472
480
717
578
688
84
144
917
889
146
974
458
226
2
819
546
580
813
253
767
29
564
288
440
282
764
385
64
597
298
657
967
52
373
210
818
774
712
98
119
80
825
862
671
782
154
128
194
412
682
367
315
696
598
87
988
772
497
420
321
575
626
731
246
610
635
518
438
459
595
522
421
711
365
691
342
199
849
216
316
495
547
321
402
627
893
293
382
957
456
232
577
257
222
535
540
309
988
733
130
81
692
207
197
558
575
549
793
135
366
785
187
884
977
58
23
243
107
984
209
372
802
424
355
389
868
990
384
448
53
855
411
409
602
497
952
15
334
316
678
841
368
91
171
828
904
34
920
544
779
23
895
603
517
814
940
247
825
929
718
360
275
778
775
872
512
667
136
429
746
53
473
737
958
354
829
885
43
79
719
935
855
984
688
40
767
637
928
563
331
882
910
859
366
603
284
191
409
373
423
855
985
928
730
281
338
526
515
557
434
772
387
814
453
465
450
159
31
642
188
740
874
974
162
465
864
660
408
409
866
769
924
110
716
532
140
20
188
473
990
510
256
365
147
343
97
553
700
755
658
31
508
454
232
739
396
166
18
209
775
103
258
573
250
815
587
727
961
255
592
412
792
819
721
558
508
126
875
230
545
68
512
421
853
792
467
130
312
988
808
940
438
153
185
669
760
177
615
681
533
911
248
713
869
482
625
735
36
630
125
689
349
274
729
440
897
669
188
843
7
966
825
614
885
427
753
899
923
472
638
534
866
381
390
213
441
113
861
427
372
823
687
365
685
316
620
449
113
453
289
811
554
132
852
233
522
844
986
337
917
379
749
54
20
126
287
519
916
236
590
25
574
298
641
917
582
345
397
994
849
702
166
195
681
624
134
582
396
104
919
508
39
724
972
217
272
564
923
384
600
953
59
114
844
993
280
593
550
615
186
756
91
691
713
339
97
974
925
422
372
763
699
417
732
782
515
536
576
539
193
653
194
644
817
26
185
403
470
304
248
839
336
604
405
373
266
610
276
460
238
109
530
728
794
437
249
637
420
521
47
305
403
528
652
268
853
236
507
598
397
891
503
98
657
159
695
182
635
500
144
275
702
165
449
889
423
82
192
133
406
336
484
334
291
46
340
621
833
909
779
92
319
580
267
86
687
546
369
687
360
139
321
74
512
329
168
942
21
838
705
145
494
983
286
34
285
841
722
414
374
737
493
585
891
269
407
443
77
710
137
979
733
940
86
49
492
764
332
651
46
660
990
931
202
256
596
515
384
549
250
665
454
310
494
838
410
698
54
329
116
935
998
380
912
445
295
777
816
556
850
50
316
142
800
241
869
247
427
283
844
74
83
491
255
495
77
247
2
346
430
59
35
196
387
930
252
391
275
329
523
511
603
325
20
62
482
947
364
85
537
298
812
173
292
599
768
784
502
829
544
405
298
651
88
408
860
524
834
996
925
635
943
590
595
956
189
887
421
531
91
568
421
987
380
113
489
209
834
441
609
283
287
595
770
969
901
346
143
244
514
158
181
73
227
550
657
802
399
406
587
300
563
690
849
521
863
913
141
268
702
91
71
920
63
988
575
762
388
868
359
991
237
400
563
92
858
180
750
999
572
786
192
67
196
84
140
999
673
489
832
46
616
616
277
116
898
854
977
483
73
93
368
184
193
442
450
824
417
143
271
777
468
536
579
635
929
27
549
236
369
526
973
279
455
225
611
89
538
196
875
791
218
119
335
468
702
166
336
781
250
191
403
272
338
414
674
287
725
165
677
20
131
859
224
363
971
16
464
233
556
360
70
137
272
909
114
168
138
979
76
541
497
970
703
514
678
870
18
629
135
569
897
81
335
617
517
503
513
255
227
384
466
394
294
225
134
152
182
653
8
397
126
572
8
387
145
541
877
940
375
505
710
532
573
944
510
564
486
754
9
909
33
898
802
152
521
602
697
941
398
838
534
59
497
378
852
988
584
197
887
885
385
761
377
281
814
162
887
869
401
827
108
313
567
714
763
289
606
368
49
82
965
354
231
491
553
10
208
726
93
929
775
51
997
508
958
29
769
948
938
53
532
362
625
690
554
504
762
321
683
541
207
160
0
897
53
21
67
951
641
777
793
456
588
656
335
546
999
414
295
497
254
655
68
274
471
45
4
466
312
33
303
721
266
235
254
428
920
78
592
137
425
615
295
906
541
793
863
407
682
0
138
175
211
102
175
866
454
354
199
115
519
703
549
825
878
841
113
452
792
831
504
269
400
712
164
527
447
852
840
934
572
592
502
345
799
849
984
355
711
359
131
351
55
344
399
662
359
483
536
852
702
365
46
113
749
663
497
229
626
886
102
911
976
696
686
765
863
139
41
338
189
858
467
636
958
497
391
413
660
615
135
5
363
669
239
788
270
177
790
278
280
109
29
984
796
124
615
407
963
109
276
497
267
610
165
846
182
262
624
181
653
433
367
624
190
564
802
130
89
54
55
328
730
774
618
759
437
358
904
791
421
853
703
325
940
872
56
335
43
265
621
297
589
234
117
182
125
317
805
837
656
686
112
186
524
367
991
152
12
233
433
325
284
972
597
819
242
211
486
830
390
961
806
495
906
942
663
799
710
281
188
395
0
776
417
62
545
343
234
453
326
449
110
324
246
338
835
509
265
816
316
888
920
223
359
907
948
688
722
640
661
454
133
94
557
82
164
53
327
872
54
413
748
81
690
91
888
879
164
602
198
696
308
532
107
308
783
681
533
573
328
394
405
172
291
345
245
735
769
973
222
922
479
350
974
151
269
872
863
770
401
253
157
461
669
696
932
660
877
282
986
723
816
396
365
400
354
889
983
412
4
870
95
154
118
927
482
827
159
473
905
932
32
546
809
807
844
519
234
369
179
310
329
324
964
370
866
739
748
446
553
841
922
627
766
765
393
944
675
230
855
877
523
799
509
708
161
626
605
989
214
884
996
709
1
919
841
693
175
395
487
707
935
515
587
580
757
299
32
870
221
460
591
908
416
538
878
613
858
699
759
281
432
698
559
806
788
290
376
788
567
829
157
165
376
598
253
717
560
367
823
247
738
819
360
206
415
932
754
924
694
187
518
106
14
788
796
354
287
932
602
57
589
814
703
793
188
804
858
646
586
870
783
118
133
65
377
904
486
233
283
125
953
994
605
449
305
996
326
376
856
700
137
339
235
700
74
334
680
18
302
197
44
62
645
724
235
47
192
954
398
16
63
528
816
351
635
327
875
694
703
817
600
389
286
590
455
304
51
740
299
459
866
121
833
44
418
245
520
515
742
874
464
63
335
489
593
515
163
320
110
13
131
690
607
154
670
225
868
900
309
973
163
54
471
394
529
510
288
651
930
365
605
81
457
289
217
372
430
753
55
747
991
593
190
288
777
226
434
417
919
469
286
301
651
21
513
962
98
458
413
92
672
883
815
596
513
901
283
831
607
951
339
93
57
982
517
446
163
452
684
228
357
525
954
936
297
127
182
441
247
697
808
662
1
689
347
394
706
959
957
945
158
244
356
378
762
549
779
899
181
483
645
353
618
903
381
67
464
792
783
993
626
69
908
553
72
924
128
545
335
795
282
75
294
765
63
815
606
905
858
539
354
860
960
3
134
263
761
617
699
60
244
314
19
169
726
219
43
902
657
963
747
501
661
65
589
913
891
72
313
695
395
232
224
485
116
767
403
611
860
204
274
727
963
644
563
588
564
101
328
282
115
995
637
816
565
738
38
245
523
903
988
714
748
212
338
208
775
697
942
186
677
417
733
959
870
214
114
383
412
1
948
600
826
188
782
848
895
811
223
349
559
759
378
565
995
373
175
310
826
950
169
895
174
834
649
41
419
250
880
507
917
239
397
637
145
376
988
292
458
851
501
710
147
361
44
843
401
137
862
673
228
543
901
203
46
80
809
997
720
458
82
555
472
828
414
455
185
742
363
11
490
440
128
846
748
292
476
75
781
66
559
565
962
365
452
631
183
455
179
572
103
583
686
171
233
334
205
55
462
714
930
147
168
993
326
409
597
535
237
6
453
457
429
957
498
118
42
277
384
977
790
506
154
593
495
154
968
438
878
598
679
996
926
438
35
723
373
765
877
275
541
495
539
277
861
185
852
459
386
593
392
55
589
590
948
305
710
905
73
511
56
108
197
873
815
791
867
274
437
948
618
344
524
533
652
23
292
632
475
124
569
480
617
376
195
481
764
741
867
804
101
180
96
358
163
368
506
45
527
855
242
497
660
495
407
28
209
292
502
350
399
47
528
856
603
670
949
151
587
746
669
403
379
629
151
347
750
873
842
201
225
998
57
335
650
183
295
421
720
590
617
354
41
779
889
878
165
743
997
981
240
775
937
106
23
533
843
116
766
497
529
908
859
894
242
741
703
128
717
266
612
228
625
865
941
218
648
130
624
759
516
220
256
538
54
161
545
844
319
791
557
906
469
471
712
97
10
539
849
724
396
943
842
200
351
331
508
828
433
0
513
916
482
659
733
476
529
218
538
405
418
172
651
400
440
359
411
775
764
652
870
115
975
210
491
889
860
645
27
378
139
229
576
298
968
519
214
795
994
434
187
108
152
147
517
938
838
126
895
442
816
530
454
336
458
139
842
672
995
705
969
637
423
780
202
698
105
558
559
494
549
475
689
145
188
122
998
524
836
501
776
173
418
316
499
905
818
503
276
95
984
951
404
102
674
224
469
193
695
980
193
329
816
624
516
710
936
873
732
131
491
786
943
264
168
465
318
423
145
709
803
764
611
96
532
933
85
927
337
718
85
814
675
151
30
418
430
958
815
84
563
744
773
463
678
202
379
251
786
312
284
844
445
810
529
165
837
75
651
900
122
403
682
169
958
59
59
326
195
492
952
114
73
200
631
511
919
884
456
385
425
927
299
564
867
290
364
960
671
773
232
698
523
457
940
529
998
703
916
781
925
413
602
93
630
426
409
759
940
649
523
547
927
768
886
15
625
65
895
143
740
853
174
398
443
239
994
542
867
747
600
643
587
262
928
641
804
654
759
831
204
864
263
190
865
395
235
947
719
9
990
511
420
915
654
94
432
273
208
76
502
388
648
0
760
918
924
166
784
759
950
870
682
238
160
50
720
990
867
32
75
83
830
624
951
776
609
717
584
46
781
483
895
803
473
448
274
55
701
192
67
1
381
834
664
688
225
433
524
2
236
870
156
649
804
514
1
358
380
677
435
600
153
120
37
706
630
694
565
206
472
481
291
405
344
312
33
911
769
870
579
299
351
545
996
544
50
401
708
176
335
404
372
372
503
983
936
361
67
250
911
842
592
764
931
662
533
715
796
483
999
300
352
78
425
889
518
606
227
161
671
227
596
748
739
769
923
540
833
830
274
61
653
732
143
323
30
172
101
532
703
126
671
247
148
599
738
84
737
294
313
63
151
281
999
207
117
811
828
668
208
996
974
183
307
350
35
330
151
733
395
407
577
599
881
781
725
857
186
170
258
602
360
231
210
386
571
397
256
822
703
599
763
687
400
328
828
369
29
411
169
746
499
819
767
637
38
468
213
137
768
964
287
359
954
558
608
98
662
829
725
129
459
705
413
294
632
743
699
500
934
126
177
49
457
884
464
181
774
611
624
4
774
455
783
38
427
92
475
863
412
298
456
97
708
834
479
140
569
889
722
208
382
223
162
321
200
879
616
132
138
709
724
427
733
886
486
388
722
626
979
337
149
157
149
104
732
187
522
433
23
915
941
688
487
113
638
547
362
2
143
756
768
789
556
738
186
479
251
474
71
625
413
800
710
827
559
99
485
254
867
94
369
149
241
989
438
701
638
322
109
757
649
801
235
701
695
933
699
265
455
233
690
482
182
245
173
99
489
233
27
278
490
287
731
332
636
9
227
734
614
320
933
477
208
790
523
829
539
822
670
893
337
724
80
259
702
795
476
806
345
490
63
702
478
973
260
211
678
448
42
996
239
133
486
242
417
823
623
631
546
527
945
424
728
776
315
768
170
363
569
468
157
343
346
890
907
600
961
169
411
378
878
880
612
236
60
773
110
917
934
45
843
223
2
95
509
277
497
338
737
850
773
631
16
231
110
432
667
910
346
419
542
342
710
53
777
870
937
461
620
462
655
667
245
567
671
780
749
823
250
967
726
281
807
467
432
949
567
379
160
801
247
319
92
883
849
707
398
702
333
699
935
224
874
510
258
631
573
694
830
471
999
597
370
740
716
956
122
479
846
925
353
632
825
82
649
345
397
962
530
778
900
313
918
262
31
907
848
650
257
859
750
103
392
81
640
110
817
608
851
365
303
252
951
207
325
732
671
204
605
324
630
616
494
443
441
280
869
615
727
544
62
614
764
62
980
642
461
839
151
798
98
785
643
665
479
121
485
337
14
873
579
502
273
441
244
815
788
548
38
927
350
455
253
591
608
650
848
650
818
71
743
574
595
832
460
808
549
560
410
692
75
499
516
601
875
190
81
761
646
200
278
237
997
502
840
376
56
766
242
975
499
284
382
629
849
479
468
587
957
438
250
79
27
201
625
402
337
358
925
274
584
618
59
916
808
928
895
262
57
17
344
351
315
920
254
756
888
657
582
415
323
780
875
885
420
164
121
449
884
671
764
776
251
643
639
80
28
437
907
840
100
668
696
926
688
109
531
266
908
683
9
852
675
172
323
375
95
937
207
515
199
699
752
161
323
49
105
592
497
48
697
628
417
210
610
646
639
787
585
505
682
110
611
59
869
96
306
854
191
752
503
953
395
42
82
565
50
526
923
434
370
658
511
230
792
922
102
290
689
497
144
801
5
98
953
449
741
816
947
732
873
139
283
892
804
299
745
227
642
176
894
219
838
143
641
229
301
632
933
610
562
969
330
832
860
579
533
217
865
170
621
931
993
906
475
104
922
635
452
776
975
478
5
364
967
294
170
458
124
136
282
487
852
867
599
244
900
155
400
113
452
146
283
123
85
531
525
231
661
680
144
371
578
293
342
935
419
316
256
505
625
689
519
749
742
412
39
781
146
67
706
691
772
641
95
481
171
789
969
45
652
251
900
848
918
839
769
303
587
828
646
672
653
221
663
864
504
756
966
729
202
1
370
91
321
378
818
271
618
281
537
986
745
160
751
827
747
261
728
749
672
914
543
900
688
25
70
375
395
926
63
777
88
513
361
409
724
318
519
952
345
992
43
841
710
288
170
602
546
305
309
955
990
780
497
283
722
585
185
155
222
771
777
687
195
637
188
113
274
7
670
323
265
387
665
646
502
285
26
27
115
268
791
888
41
190
709
474
584
891
536
184
988
313
183
550
755
590
659
146
666
376
440
817
619
277
72
59
718
138
917
844
722
338
611
643
7
616
86
115
664
834
839
513
269
2
383
749
411
154
255
921
663
329
141
384
483
864
620
657
662
471
395
956
745
339
868
289
100
694
82
222
908
55
103
625
907
985
696
566
728
796
160
544
769
122
317
496
13
870
873
38
532
278
30
777
539
6
28
467
664
98
950
634
563
222
114
936
718
956
15
795
495
584
189
115
931
129
738
476
732
577
68
499
571
804
168
733
69
160
386
748
237
840
511
306
312
953
355
990
392
70
596
178
290
318
874
958
69
484
199
5
529
372
585
268
182
955
934
341
447
637
992
743
217
728
898
348
681
198
137
46
282
337
318
606
461
432
692
149
307
271
320
483
150
170
300
424
982
159
305
435
266
470
737
436
702
822
62
56
888
1
484
301
630
336
485
848
869
111
813
191
126
371
736
301
762
490
682
55
45
366
560
946
538
286
60
158
839
651
556
981
897
580
308
614
951
637
310
407
195
785
319
896
872
129
155
793
580
241
42
241
835
840
959
840
829
414
362
4
630
609
704
179
386
130
248
177
241
47
481
844
246
792
465
861
424
315
830
951
565
758
442
20
924
457
172
634
750
122
567
833
241
283
24
2
424
771
646
694
193
158
607
394
696
803
539
919
488
669
43
386
651
230
306
960
164
892
881
724
392
590
469
612
710
670
248
421
218
544
655
500
365
188
632
865
381
352
694
587
364
183
813
500
862
990
476
271
225
353
552
333
620
600
653
151
15
519
51
689
21
672
952
580
663
66
296
985
830
637
700
93
646
385
733
901
329
337
840
337
989
417
58
917
349
488
252
685
293
756
336
34
49
191
299
658
454
707
607
553
366
479
796
365
669
858
115
77
112
797
817
401
680
360
648
68
133
312
52
572
69
444
614
153
118
43
26
203
174
860
819
399
185
334
244
39
654
177
553
60
14
534
659
150
227
491
845
62
564
700
321
465
385
263
644
673
982
392
326
156
673
837
521
308
929
106
67
871
420
433
933
29
316
538
198
448
856
125
718
966
822
445
457
380
215
63
824
921
517
218
733
855
139
858
278
250
381
559
46
96
712
884
86
373
434
405
590
731
637
425
71
766
586
651
558
148
561
674
684
8
20
805
568
385
40
581
903
905
596
39
286
743
937
715
861
15
294
689
406
319
459
665
650
622
363
331
549
257
946
679
417
405
566
200
149
928
740
680
486
558
451
376
938
359
970
657
850
968
757
339
87
492
909
814
618
386
29
868
715
612
616
827
539
131
679
857
99
577
569
763
705
868
856
299
8
149
658
330
388
30
304
220
726
607
760
750
101
350
157
680
998
855
869
172
806
403
356
123
557
149
27
974
59
228
592
43
981
637
140
365
993
560
721
898
206
166
992
334
876
805
805
237
326
280
37
367
197
567
153
967
274
52
895
189
776
715
796
845
970
887
515
294
455
375
596
746
794
617
91
324
549
802
714
748
848
708
115
160
454
158
770
30
690
976
481
482
572
30
405
508
189
898
961
71
574
463
47
473
105
402
205
454
843
20
451
273
695
422
751
861
956
352
857
714
271
519
122
423
186
919
652
315
980
456
589
212
685
690
90
18
742
144
707
3
208
20
127
300
75
460
959
638
326
905
581
307
956
987
496
422
148
652
897
618
275
579
325
93
619
355
203
142
215
687
130
523
716
681
356
559
171
631
567
656
1
652
145
869
622
172
451
400
186
416
95
847
560
16
176
755
88
482
804
414
873
608
902
999
937
267
479
557
784
948
70
972
219
40
974
741
82
862
310
725
190
816
266
852
379
914
694
892
30
851
373
955
826
926
284
428
416
91
993
631
292
881
187
343
821
296
727
233
431
373
960
345
753
755
509
250
780
26
188
481
660
761
33
661
521
432
211
507
478
418
591
677
834
328
977
952
572
63
154
427
118
183
136
229
511
311
465
697
752
211
285
496
728
164
107
820
911
105
355
946
579
825
802
916
396
227
445
963
456
693
608
657
615
538
162
901
235
97
39
662
635
225
142
444
258
287
626
566
586
729
196
81
694
771
439
391
305
383
418
631
867
868
575
862
720
638
667
589
855
277
34
900
221
78
896
945
197
732
716
581
811
227
773
146
999
501
954
145
863
198
886
553
782
162
465
809
796
586
131
961
141
467
453
31
861
623
853
793
124
605
15
712
446
217
638
158
264
398
176
417
196
614
335
421
19
108
88
98
601
749
784
987
309
825
592
447
727
194
508
362
969
92
119
63
657
894
810
878
759
224
572
45
620
517
786
827
938
119
964
859
662
389
572
991
97
269
758
370
813
533
627
447
8
458
730
903
819
795
716
784
764
282
853
496
652
457
427
256
226
957
232
251
473
43
535
859
916
204
532
764
557
863
667
250
845
811
79
219
585
219
939
24
27
608
811
630
466
655
943
508
11
154
49
149
861
145
21
915
522
237
636
789
194
466
502
351
267
224
43
179
995
260
94
343
135
138
661
106
877
402
897
606
676
542
515
668
302
141
187
369
560
301
187
920
149
661
652
450
785
716
243
827
598
13
207
551
923
167
764
737
215
726
329
943
720
768
673
858
344
758
331
905
215
266
558
20
231
679
970
590
297
797
789
919
312
879
55
360
952
494
691
561
113
991
206
162
848
308
359
177
4
723
775
220
423
156
427
99
640
96
946
605
409
352
592
434
985
683
495
154
174
621
461
96
713
658
239
763
48
338
988
856
134
384
26
906
334
98
335
665
540
621
319
987
359
968
246
151
265
257
730
51
625
38
848
802
483
220
701
871
383
905
326
92
867
464
74
499
243
294
173
631
404
843
539
1
855
535
655
97
541
916
668
944
346
550
882
241
731
642
853
138
235
884
309
957
489
814
672
265
247
148
191
532
685
294
968
211
400
615
9
432
842
233
833
492
578
423
637
462
793
425
296
370
624
411
121
766
466
804
882
120
58
886
77
139
240
228
810
410
66
864
290
135
411
913
214
648
679
788
799
762
2
126
497
136
570
156
338
567
224
523
68
13
495
323
60
421
987
711
338
223
566
397
236
549
919
652
85
758
392
281
937
665
915
586
947
65
751
281
356
565
170
593
420
18
339
423
262
113
591
569
465
1
308
724
957
400
500
789
341
261
508
582
352
272
957
748
461
191
964
528
538
492
343
710
752
688
557
944
493
126
826
400
961
46
741
62
620
546
59
492
173
313
815
977
576
854
46
81
385
638
620
744
328
269
748
311
663
460
13
309
749
155
476
131
248
476
818
248
898
471
667
713
757
882
908
402
236
601
103
713
161
772
792
964
306
281
663
132
738
570
564
699
688
881
733
708
998
630
852
729
513
90
530
808
263
799
749
608
197
20
824
304
181
590
958
415
723
218
76
853
66
115
545
52
420
942
738
182
639
288
527
181
858
285
37
79
271
621
923
385
525
295
413
468
604
20
947
111
814
184
396
156
406
126
249
606
771
138
303
708
5
761
38
568
697
274
481
142
676
30
801
968
82
66
506
266
874
69
898
859
606
598
853
457
910
358
122
443
274
549
464
915
958
672
87
239
253
187
356
432
108
468
341
129
507
298
38
854
658
547
449
638
738
994
216
979
805
425
314
857
775
303
914
981
740
506
30
875
416
430
209
3
531
627
812
306
881
589
601
640
470
718
713
153
555
221
304
251
481
89
281
942
353
205
52
431
342
562
784
208
898
880
914
189
78
695
380
481
482
185
823
337
262
620
653
515
305
81
468
645
710
233
847
649
455
544
605
40
198
354
225
238
891
410
556
245
298
582
431
122
751
563
208
893
474
933
440
309
442
485
142
419
410
791
537
18
713
631
82
792
142
461
836
381
714
246
138
344
297
950
458
899
64
449
265
725
84
496
411
665
347
347
606
578
751
953
288
781
284
608
620
205
393
230
79
78
99
571
700
260
267
802
335
975
789
3
312
946
739
956
452
507
121
852
929
904
844
844
843
678
755
987
852
162
951
518
874
405
286
996
339
723
385
127
974
298
150
334
389
360
628
543
619
676
929
651
630
81
989
750
646
16
976
311
45
155
405
363
889
439
447
554
129
979
957
88
657
38
411
493
984
603
395
22
856
742
896
719
905
753
49
668
975
532
679
241
484
532
451
891
624
76
845
677
818
615
957
452
477
994
545
534
637
685
750
945
213
96
854
66
514
525
69
926
81
19
658
877
74
703
245
85
687
586
395
903
437
953
643
376
701
43
398
448
327
974
38
109
862
655
106
367
916
6
468
932
719
633
871
540
141
50
54
411
24
915
695
724
996
555
970
667
359
324
735
883
684
71
908
872
685
15
995
775
490
349
904
173
152
550
226
926
731
136
369
947
508
788
372
38
285
355
671
145
487
944
371
527
822
25
568
464
80
958
665
342
823
510
669
940
157
163
158
492
234
155
793
376
771
19
881
673
825
520
173
598
397
997
906
340
519
573
345
12
215
113
560
773
65
385
630
779
267
334
285
374
278
67
365
642
897
357
497
710
807
947
857
366
593
753
700
181
930
85
23
506
572
323
705
580
228
131
994
643
301
290
170
924
827
390
254
155
90
115
468
36
190
443
345
543
578
219
83
747
926
951
723
333
11
970
375
499
94
824
290
490
990
456
91
894
645
798
252
825
226
865
157
737
371
971
465
315
753
128
135
821
54
519
866
548
168
271
528
700
222
994
964
382
490
218
853
979
539
93
758
617
718
661
757
440
913
545
878
61
179
151
318
471
631
734
325
408
208
979
661
595
432
292
383
688
860
51
469
965
221
190
297
243
506
235
100
316
827
246
271
702
201
648
529
79
20
541
319
854
6
869
553
66
529
688
685
173
325
691
587
850
171
810
682
207
299
735
983
860
452
322
886
329
437
787
396
866
760
749
61
825
866
172
159
317
810
523
842
537
55
456
12
395
751
443
736
906
426
663
420
316
637
787
117
683
584
340
448
864
939
667
615
27
52
891
798
964
369
661
83
488
841
230
578
674
920
839
878
468
468
699
718
268
129
792
412
962
326
744
778
793
992
573
69
983
758
849
17
291
680
718
265
472
618
848
911
178
930
333
90
281
450
555
830
349
174
954
135
336
813
122
789
25
518
668
698
401
846
55
450
560
122
580
125
474
350
465
573
882
786
954
593
97
146
132
628
361
849
348
65
555
736
378
464
84
593
142
850
579
851
422
97
516
306
252
782
361
307
488
331
844
21
528
932
707
571
673
206
618
149
428
965
506
329
188
478
374
619
57
71
767
388
352
409
141
894
47
238
407
94
485
667
881
708
680
797
249
570
741
391
790
850
29
284
417
199
323
815
883
545
895
804
647
20
17
529
488
941
271
463
818
990
957
567
514
567
468
439
172
967
806
972
913
379
459
465
494
808
665
152
34
668
218
608
980
961
189
444
492
688
923
465
738
512
703
154
757
680
962
375
785
801
653
493
622
305
341
800
867
213
711
588
402
643
371
744
131
494
350
392
762
844
730
232
242
188
750
81
109
546
765
22
267
394
709
167
261
127
171
336
993
69
192
246
214
768
994
328
620
122
290
697
408
13
370
818
697
71
504
210
477
673
216
998
419
204
68
236
564
634
748
807
52
302
571
546
910
62
124
309
274
840
261
542
982
330
863
298
527
320
143
674
982
424
198
451
733
931
862
779
420
388
937
827
692
304
992
974
285
578
503
458
968
350
327
496
796
13
373
145
888
775
453
619
408
691
676
899
263
482
630
592
557
910
529
737
606
342
530
284
806
592
187
834
862
611
948
48
471
671
889
730
461
600
613
78
541
203
281
339
30
996
800
746
360
237
334
221
531
136
249
466
917
374
858
556
150
662
548
209
247
235
519
368
805
547
898
824
398
593
965
915
127
128
657
638
155
845
689
841
36
219
690
152
936
355
912
763
590
539
675
824
197
209
801
865
795
943
231
69
152
343
199
149
308
722
199
437
317
351
184
240
825
315
860
361
377
827
761
887
114
630
285
798
539
276
430
769
214
808
249
328
969
464
892
903
901
731
872
926
638
465
991
529
177
897
61
6
551
454
304
829
436
934
399
352
871
212
666
579
812
408
510
443
966
572
794
360
656
50
862
671
6
319
26
469
560
387
583
969
85
72
482
474
642
736
142
695
513
296
261
171
684
959
703
511
117
719
63
789
812
808
162
555
299
926
537
10
440
433
888
688
807
64
505
627
18
130
106
754
811
172
312
96
279
558
344
952
168
682
561
86
163
684
294
146
844
760
155
600
138
962
100
880
122
32
278
309
35
689
230
922
158
514
113
805
972
702
367
747
973
63
682
714
414
383
74
327
804
347
791
169
698
517
187
870
968
857
943
288
563
645
936
65
919
871
595
359
270
842
335
288
62
688
735
183
813
233
149
933
480
995
353
860
192
568
758
915
426
863
603
60
998
715
607
869
247
311
453
133
754
998
240
402
779
812
65
346
771
550
29
257
811
657
729
536
383
954
334
779
532
564
764
614
293
794
770
513
158
316
141
105
847
806
722
836
239
924
706
747
8
55
966
320
488
80
950
707
190
775
477
111
814
704
335
970
366
103
94
714
509
810
236
628
474
508
901
614
93
378
2
528
655
607
190
437
925
128
555
292
163
199
92
617
825
376
677
606
873
417
508
612
163
846
262
57
205
277
501
255
894
493
323
94
680
623
986
565
865
575
827
481
933
125
829
621
301
389
79
111
769
563
296
521
506
186
909
844
220
585
761
880
220
773
512
633
925
126
955
951
920
326
45
439
696
725
96
834
352
223
198
164
626
41
838
161
825
789
164
179
39
588
171
253
307
885
498
962
80
789
453
295
491
263
256
180
475
860
134
107
333
262
818
648
799
842
923
792
6
498
47
874
328
998
529
18
115
634
469
597
635
715
277
862
199
231
527
272
510
65
409
484
82
374
949
811
985
171
352
159
369
132
473
826
629
625
265
684
210
986
749
519
138
39
260
920
549
971
44
643
60
302
166
471
104
455
80
435
511
779
274
981
559
329
520
971
197
980
51
547
522
329
686
484
766
401
554
3
654
67
821
550
646
647
10
782
110
727
928
41
503
226
732
116
26
69
800
188
839
134
546
78
48
397
809
161
353
329
698
610
165
801
611
415
434
189
188
15
116
510
247
148
830
777
590
968
118
377
186
663
374
936
431
844
77
731
122
102
684
27
980
912
985
268
149
960
182
356
667
612
200
634
960
829
488
517
643
976
997
210
743
24
767
648
716
302
516
705
470
401
114
822
710
920
730
369
485
973
430
957
388
361
86
240
959
397
836
542
711
169
854
885
160
885
783
144
831
871
601
225
752
885
528
896
244
664
467
211
451
718
54
450
226
297
340
317
746
230
340
624
705
380
299
834
836
722
41
348
668
882
108
563
319
723
559
8
4
169
21
288
881
964
185
508
469
948
122
68
68
643
824
478
374
649
441
83
661
55
635
812
809
383
111
773
516
732
375
929
726
642
154
830
266
208
437
395
107
501
501
247
116
862
645
596
372
820
966
655
128
104
626
880
283
484
632
479
845
470
320
13
396
550
222
92
328
352
430
440
136
322
807
793
608
629
687
959
187
818
449
1
22
824
412
141
17
872
359
530
331
592
480
700
927
68
959
567
608
279
778
799
12
51
748
42
965
485
164
235
418
126
254
496
199
434
574
883
10
537
57
644
869
567
637
9
777
622
834
204
637
496
575
547
661
412
324
842
525
204
912
334
667
83
35
308
914
718
674
728
388
674
327
512
316
691
610
272
994
767
682
345
883
803
446
491
609
206
947
964
621
305
902
979
167
32
609
18
339
362
222
974
180
668
179
875
303
436
350
53
186
527
699
740
984
32
390
744
229
833
517
269
446
727
387
692
936
248
872
335
923
961
977
67
299
422
333
222
665
582
875
129
903
285
135
519
935
546
73
839
16
434
233
230
195
882
751
549
4
401
803
363
194
139
476
145
909
944
705
129
41
284
528
155
583
907
87
658
924
283
757
930
864
929
116
61
52
735
291
310
5
33
674
389
858
119
66
870
621
921
58
48
773
384
229
205
806
190
967
76
133
772
843
244
17
648
179
249
691
290
625
822
401
985
620
104
426
285
181
458
967
394
925
122
475
127
767
760
863
970
690
745
337
144
45
917
575
372
723
607
188
935
721
774
63
9
750
439
221
982
72
399
730
464
242
57
695
451
670
653
553
298
897
2
561
640
391
964
754
975
57
770
269
736
642
703
50
943
789
396
135
93
900
354
30
637
438
7
836
334
806
249
773
8
806
463
830
720
514
613
997
947
880
525
320
330
84
187
825
824
749
772
795
850
887
391
943
517
513
576
321
318
930
358
576
747
923
143
681
987
943
231
852
64
314
479
377
645
656
330
460
724
182
646
290
515
875
881
112
75
957
563
799
785
406
609
872
424
820
292
679
342
292
823
606
427
846
84
897
887
106
531
755
476
417
172
885
470
510
198
604
869
926
208
441
27
363
988
793
811
547
434
407
898
807
318
476
761
281
179
932
593
751
639
780
651
915
938
69
61
956
509
484
857
983
647
576
40
759
691
32
85
392
219
223
634
823
697
810
11
383
802
516
659
307
530
138
256
877
514
632
728
65
952
530
428
226
823
923
799
631
509
902
832
94
393
64
83
965
963
679
392
359
260
587
450
99
741
347
97
262
625
379
986
404
70
18
882
430
51
254
48
977
141
518
570
533
413
982
967
475
512
413
765
431
454
384
810
522
675
107
472
625
196
514
192
401
973
641
449
877
567
335
224
241
766
404
249
702
393
822
737
291
249
247
132
726
540
839
670
888
553
936
667
182
360
333
990
986
588
593
499
623
183
607
637
479
880
774
685
842
413
717
126
338
336
816
51
674
830
806
584
750
678
781
906
20
220
388
620
181
429
390
683
566
647
490
878
332
723
145
167
889
881
682
10
674
644
672
972
86
959
63
207
957
529
156
148
316
436
873
557
517
948
558
538
267
876
454
219
264
597
716
103
390
951
975
340
85
32
425
725
852
483
105
416
732
375
978
183
489
729
736
326
691
745
930
267
880
342
821
674
881
182
143
283
667
128
229
113
639
697
544
740
531
585
925
568
179
153
505
647
886
556
328
486
621
373
94
813
278
542
675
272
773
41
770
615
603
535
13
838
921
429
791
695
275
218
552
888
930
548
62
631
807
546
713
376
816
486
170
122
922
111
58
16
386
33
471
296
468
377
376
687
122
27
790
923
266
384
106
133
548
39
739
371
263
327
552
231
781
707
160
245
879
858
123
777
723
147
188
557
196
23
119
127
778
145
974
322
889
651
672
984
224
490
413
894
930
506
90
160
697
414
888
408
808
943
223
439
858
686
399
806
965
90
424
788
932
461
895
215
308
72
678
561
63
190
877
70
111
260
269
359
401
700
203
860
593
249
746
996
769
225
395
27
480
311
519
292
22
610
781
942
531
12
771
115
113
396
427
645
25
771
767
160
745
244
157
318
984
142
946
678
699
878
702
270
175
959
547
540
979
456
465
663
490
860
558
847
156
212
486
202
672
657
706
824
637
103
780
205
34
137
476
699
803
254
11
506
435
746
547
919
147
248
83
373
173
360
461
367
45
441
197
213
783
697
851
867
141
111
797
143
103
366
843
439
289
939
296
695
139
122
282
875
16
625
88
932
240
531
876
178
775
457
825
964
65
864
87
918
513
393
267
455
327
605
707
804
394
426
869
324
611
384
695
224
30
256
458
991
234
309
232
493
146
353
439
464
255
86
437
858
580
34
326
345
917
638
232
222
109
8
524
985
401
596
260
507
281
152
652
85
473
775
398
473
618
803
300
332
94
597
517
421
196
203
203
11
758
402
135
929
121
446
308
796
635
140
884
13
442
955
888
446
998
535
776
675
563
540
982
802
834
545
388
790
379
532
926
187
694
213
650
880
871
135
781
689
446
179
632
714
293
994
402
153
481
869
755
548
905
91
603
875
699
399
726
751
811
668
446
435
40
769
650
904
695
942
295
116
655
598
481
701
921
23
28
311
463
236
133
673
526
663
976
391
90
788
246
802
267
18
193
570
951
19
316
307
178
541
517
500
201
243
699
845
609
626
258
344
720
231
61
165
412
19
556
942
211
370
910
370
274
903
590
339
7
641
543
707
598
400
608
921
215
391
910
229
187
492
783
902
394
821
815
177
413
158
329
89
137
124
593
701
781
961
777
312
454
379
410
273
510
697
765
329
946
136
302
188
271
911
83
761
572
266
213
558
105
679
414
41
363
955
750
894
630
649
430
411
462
257
965
798
932
300
361
207
718
451
489
592
194
482
173
954
571
675
650
596
723
116
352
772
827
634
712
163
31
868
201
672
83
858
632
303
827
951
193
371
102
424
785
494
878
329
279
491
469
848
549
24
243
340
988
507
687
305
442
286
179
240
633
888
992
11
335
593
333
482
567
490
506
770
84
89
71
219
986
947
319
336
676
915
410
358
46
628
209
306
759
660
764
923
548
509
276
698
305
931
209
816
154
99
125
736
365
579
484
82
550
158
655
123
684
317
123
904
459
250
184
968
456
45
363
485
266
896
465
541
654
1
90
41
596
217
985
334
601
64
972
325
183
429
621
22
471
559
598
823
997
988
529
439
420
553
159
100
444
621
146
561
746
495
228
124
338
16
198
741
992
328
831
610
225
362
646
978
330
824
389
798
295
970
946
602
150
196
687
940
914
551
140
913
567
259
84
959
799
307
767
888
8
946
797
565
216
101
685
490
427
822
952
831
153
821
401
647
929
661
48
553
587
539
978
111
915
945
428
875
103
904
707
58
277
548
907
156
853
129
928
184
811
155
422
417
226
941
20
988
359
554
664
211
537
327
681
64
78
677
142
853
947
931
285
123
637
419
879
187
791
769
11
787
793
294
823
494
303
613
323
41
859
70
671
835
665
127
28
874
836
715
218
514
178
111
429
740
432
667
639
120
46
996
236
735
725
35
889
270
840
646
770
509
258
585
479
866
409
352
283
745
150
887
905
619
795
202
800
570
340
261
807
827
82
512
63
443
49
277
223
909
984
774
467
942
297
366
157
500
751
232
905
947
184
855
507
992
639
587
726
882
42
303
631
813
127
638
133
423
527
717
453
211
62
110
731
56
439
447
374
49
965
875
726
342
37
343
894
516
537
36
572
21
915
260
102
606
908
765
436
859
442
412
900
149
376
639
973
146
226
926
130
683
415
248
92
625
514
582
49
411
111
480
60
947
243
952
282
898
886
150
884
763
567
746
477
696
622
721
349
108
394
681
362
78
321
574
912
811
48
190
735
939
144
666
89
80
31
192
963
590
622
484
927
143
150
591
232
244
823
420
259
106
804
480
963
823
268
101
720
23
176
545
932
319
232
161
133
372
150
391
455
980
659
165
701
718
783
59
186
221
322
177
942
996
244
879
256
252
258
503
931
328
771
281
396
485
526
57
956
696
613
123
319
645
297
933
794
955
736
207
836
733
907
369
338
276
519
561
924
580
274
880
354
494
230
299
429
502
961
369
72
115
309
896
860
995
242
208
157
120
192
744
727
496
119
160
163
219
469
811
632
79
74
571
123
43
279
348
951
727
83
688
183
104
964
520
990
975
926
993
398
186
799
344
151
713
962
50
793
742
140
117
138
547
603
368
89
40
979
441
301
367
962
536
582
589
805
408
179
137
938
627
856
238
894
890
29
83
133
803
483
919
722
910
969
838
638
182
2
209
905
122
499
767
934
138
43
781
14
373
725
760
184
83
366
739
749
534
986
361
104
473
155
173
450
4
280
376
483
653
287
227
979
19
778
717
29
648
792
264
221
359
97
489
20
268
518
406
299
854
903
19
594
813
754
340
975
774
33
280
323
436
382
86
811
752
939
637
301
567
602
30
729
208
916
681
118
515
213
387
852
781
793
547
180
83
211
962
364
783
999
379
221
966
942
270
531
837
931
395
470
119
260
443
584
332
256
953
727
936
948
263
548
199
557
436
408
333
27
89
623
135
506
642
758
501
695
1
175
58
589
149
313
539
223
40
306
728
304
105
134
995
286
365
126
383
183
337
521
949
640
911
667
531
148
818
932
648
638
805
473
495
448
991
880
337
584
194
959
701
970
941
571
242
800
990
27
37
281
237
962
306
71
90
453
308
173
172
944
519
730
12
588
623
813
375
261
332
547
578
366
821
603
974
16
246
928
700
866
315
644
352
18
700
778
620
456
577
765
664
828
140
517
692
373
468
875
876
382
774
608
34
546
267
300
809
405
147
745
126
176
275
41
253
895
201
592
359
583
183
598
995
356
119
534
607
645
152
139
78
657
624
293
844
337
941
175
403
172
656
790
153
306
369
316
188
496
103
302
428
16
187
668
551
106
340
445
936
316
623
34
875
358
428
712
161
323
406
935
108
337
284
818
438
664
392
103
195
108
978
22
790
463
416
544
649
100
545
786
363
754
393
894
67
166
438
287
32
919
790
325
797
711
25
746
967
210
926
786
435
259
643
193
61
268
112
199
36
128
998
926
333
768
461
178
500
369
22
237
401
97
181
935
407
779
527
484
468
212
704
568
991
296
93
485
614
568
351
826
45
953
261
928
884
565
520
294
333
274
799
565
722
772
703
459
703
318
174
236
684
241
751
712
906
411
253
378
709
420
737
677
104
940
213
194
370
155
537
488
973
103
696
618
68
332
451
66
28
952
627
4
319
576
0
247
492
131
410
809
427
514
577
521
778
731
340
870
926
27
943
842
362
740
123
806
224
906
786
262
275
124
937
8
585
733
526
684
234
344
357
914
363
834
289
480
339
81
969
643
750
690
898
900
227
50
400
960
637
144
608
145
270
0
733
349
132
920
350
401
710
63
92
595
732
699
777
2
387
74
514
440
318
755
542
126
37
89
770
816
424
825
31
891
363
69
635
536
188
916
651
593
293
228
569
582
395
349
85
934
200
97
944
643
731
999
872
202
216
244
802
793
721
37
493
65
568
142
322
347
411
96
91
696
813
542
658
923
246
159
668
20
920
963
958
593
677
792
344
44
883
322
137
581
271
620
966
677
218
806
373
912
566
700
734
548
244
65
626
46
708
541
576
819
517
533
497
790
23
394
679
335
402
66
113
900
810
277
303
812
785
507
523
110
364
706
703
897
840
490
790
747
848
181
134
939
732
676
780
673
488
171
279
76
863
691
372
901
254
45
689
706
891
243
939
781
462
184
624
200
400
740
192
579
334
216
141
35
29
839
940
615
596
207
655
286
621
537
785
496
277
838
789
833
645
887
256
411
164
618
627
606
412
263
43
290
886
652
696
89
278
150
186
41
126
282
552
137
421
1
835
662
610
851
484
674
475
883
787
679
822
908
219
117
335
293
791
644
731
300
540
322
258
397
602
807
954
601
207
586
301
93
620
54
410
695
718
725
527
481
663
873
539
836
145
185
103
482
17
675
779
190
746
57
866
434
244
525
457
141
896
817
291
759
323
179
729
378
433
992
66
634
302
175
74
427
685
64
120
266
569
44
135
435
334
175
244
572
611
982
7
764
32
250
790
721
94
675
191
896
497
631
226
468
931
722
828
624
377
248
359
280
485
633
931
732
45
270
344
330
901
640
631
927
915
97
114
907
668
424
10
676
932
535
670
652
503
560
164
194
397
138
551
888
88
277
648
53
375
783
259
757
708
406
868
820
150
499
989
867
469
564
962
511
411
888
856
118
562
638
989
289
967
857
865
503
421
865
555
298
907
619
769
998
586
749
393
527
261
361
576
287
854
151
983
474
64
910
618
777
390
467
508
807
253
327
373
238
563
559
928
858
250
863
32
819
306
463
849
875
68
596
237
380
921
333
948
911
873
535
85
617
656
674
53
974
997
584
591
581
48
332
278
64
667
98
481
299
13
341
178
273
343
630
399
303
323
359
470
234
892
112
986
729
120
273
323
796
679
377
536
916
251
853
372
122
445
36
337
512
877
940
231
116
901
737
680
322
555
433
273
467
925
435
926
114
832
879
421
763
51
989
83
202
892
223
910
908
171
346
392
322
343
753
357
535
738
643
477
807
309
607
406
278
486
945
136
887
307
131
49
129
872
210
497
498
859
14
615
891
768
583
716
838
108
693
109
170
171
472
586
215
573
761
714
373
214
869
809
457
195
424
282
152
176
864
895
342
498
827
984
436
386
804
961
830
237
533
782
212
15
635
730
647
945
218
177
339
519
611
133
458
304
562
683
992
146
969
543
913
313
176
519
463
440
994
386
955
812
826
243
617
347
774
761
832
131
343
576
243
428
226
966
521
241
332
744
436
586
344
281
953
30
939
275
12
607
351
822
860
601
803
137
892
5
26
18
778
633
59
306
319
668
981
10
870
83
930
940
872
898
275
218
4
897
211
659
834
961
168
729
684
924
160
930
835
0
793
52
655
999
242
691
869
631
173
5
497
178
505
337
419
990
861
675
722
82
725
299
133
750
674
961
560
914
861
166
392
266
647
990
362
400
982
182
647
66
476
784
213
150
862
101
957
72
591
233
883
191
8
954
735
135
544
307
970
846
724
512
232
302
157
208
57
173
882
625
240
863
569
221
213
631
612
998
215
609
234
709
9
826
853
947
614
399
747
758
362
733
337
313
623
894
875
721
930
395
838
521
365
451
138
296
0
278
391
154
438
469
526
894
921
790
993
132
756
390
593
103
250
363
409
446
893
513
757
328
569
747
102
773
643
807
156
934
556
704
308
144
835
553
679
864
335
40
652
359
81
422
456
592
860
169
208
695
769
677
115
61
369
853
283
941
980
57
302
835
28
903
253
358
603
313
688
333
222
688
431
364
874
164
709
809
204
620
275
977
919
55
395
237
653
3
395
92
22
110
704
383
293
265
863
87
700
993
932
990
252
217
127
983
419
689
532
594
275
449
606
435
363
837
469
106
983
647
843
74
318
74
483
840
465
300
524
655
65
719
426
292
39
512
77
136
807
904
578
75
526
764
116
977
807
575
463
704
300
614
506
619
640
789
462
964
778
262
153
554
58
65
296
513
555
724
591
971
805
948
659
217
928
412
256
748
353
18
171
583
400
878
770
615
756
214
728
796
897
885
924
792
936
367
74
628
216
279
169
599
132
781
380
467
553
647
188
75
278
567
483
55
479
812
692
901
745
581
744
389
264
791
345
141
572
316
277
615
231
39
720
97
954
80
141
668
766
511
869
65
880
551
627
48
353
438
72
582
220
469
721
270
856
919
438
855
229
157
663
290
594
213
594
647
615
343
191
963
312
340
909
935
855
351
36
564
889
341
600
55
348
863
929
918
105
840
608
83
485
445
574
874
440
17
398
361
609
487
608
56
592
257
795
377
312
984
483
403
873
259
651
334
233
725
923
54
313
853
725
505
415
652
262
211
819
432
88
189
909
151
921
625
726
75
808
348
327
955
321
980
521
819
855
756
825
687
124
752
922
232
179
770
527
332
281
462
640
526
109
980
965
511
204
398
381
726
996
243
701
979
256
351
664
583
850
904
322
72
179
796
609
565
883
964
77
542
322
605
413
154
449
237
801
754
373
412
531
9
670
718
529
957
60
563
516
338
882
606
33
886
201
293
519
774
695
748
597
141
988
856
962
455
968
397
516
407
469
301
848
667
619
7
744
174
744
426
27
33
760
639
639
625
524
934
238
360
947
195
108
544
124
766
883
905
537
805
434
156
168
181
967
755
594
33
190
906
215
665
226
284
486
841
775
842
318
187
812
714
558
954
537
641
775
504
907
328
85
896
611
886
463
222
469
815
831
560
921
774
381
404
379
297
730
13
361
13
543
213
937
345
802
306
525
138
996
367
9
592
343
506
746
702
743
203
924
834
409
652
462
79
774
637
215
351
248
592
121
212
58
561
219
788
583
117
387
915
502
284
833
808
147
623
20
365
537
419
850
168
360
108
546
876
933
585
223
617
837
842
365
303
618
575
67
380
626
102
803
615
440
826
333
807
156
192
244
244
339
344
260
782
166
232
565
228
464
443
666
123
88
827
117
438
851
980
669
767
848
701
67
410
346
592
256
125
521
945
523
258
684
641
638
180
705
970
469
141
125
181
842
641
251
614
102
866
86
909
119
708
939
786
226
412
762
127
254
238
391
319
521
858
385
912
973
192
394
753
764
226
625
324
195
459
779
549
502
942
605
850
246
352
37
626
928
51
839
656
177
566
462
985
990
956
726
496
669
783
373
786
383
929
893
265
678
620
503
827
460
587
154
595
605
358
628
62
33
501
48
702
541
137
101
896
222
824
961
847
367
591
500
827
992
756
836
4
456
841
385
88
147
68
207
473
665
547
420
16
113
357
155
613
0
175
262
426
559
463
70
183
877
108
125
150
707
965
196
327
804
846
377
980
553
104
835
616
642
458
209
823
460
516
748
121
393
710
468
310
557
763
640
704
204
873
139
679
453
597
937
748
687
212
743
630
995
376
593
830
547
122
736
574
37
847
885
37
737
918
542
254
7
913
850
783
599
275
465
331
66
195
492
783
242
718
303
894
961
49
488
886
755
576
597
553
668
138
865
416
598
639
944
532
928
369
410
847
102
169
781
826
46
343
215
827
59
981
525
449
175
908
812
664
389
842
857
781
39
474
912
348
475
825
365
632
402
211
892
834
715
170
268
716
114
930
937
636
580
738
466
922
73
226
534
301
259
651
495
644
812
221
889
294
108
869
628
405
354
255
111
546
274
888
795
843
658
737
456
899
487
629
404
363
909
727
709
304
169
397
253
587
184
356
743
566
86
717
56
786
824
825
498
205
499
473
949
828
400
33
700
94
339
150
463
500
587
453
464
255
652
783
436
859
461
127
661
529
270
115
125
459
492
560
611
111
751
225
28
910
485
524
840
892
85
281
631
692
668
775
561
195
334
930
314
439
278
784
223
620
235
135
941
745
553
388
555
144
758
823
976
349
728
454
710
296
642
395
847
880
786
442
209
124
89
16
916
577
415
269
355
506
223
596
312
909
364
773
335
602
416
547
679
803
493
795
695
513
854
403
973
809
797
86
845
565
522
120
688
830
403
974
155
329
563
973
517
829
562
752
915
262
143
275
25
877
508
41
683
559
380
305
481
352
611
472
610
860
742
286
138
706
617
698
199
406
769
89
716
821
668
406
671
585
638
836
494
760
91
664
268
40
780
331
423
112
64
817
90
397
857
654
100
577
900
933
354
38
490
945
669
964
878
607
527
213
593
838
842
42
342
839
925
760
815
202
381
558
18
830
149
142
77
163
839
970
252
362
758
255
34
63
997
443
474
733
297
919
699
969
677
670
746
839
569
693
91
477
712
714
859
32
18
989
939
431
376
705
347
723
780
835
323
362
608
233
883
555
898
254
691
866
117
96
954
798
230
935
117
902
262
760
361
138
842
674
670
609
756
59
470
565
982
669
455
243
631
829
248
701
915
580
953
614
412
538
122
432
386
625
643
651
200
538
237
618
837
519
0
809
383
270
46
642
943
851
602
50
435
215
293
323
990
220
138
635
871
784
320
283
138
275
320
32
980
448
992
347
549
349
952
402
149
515
818
918
312
509
430
739
807
348
785
751
307
564
847
671
520
838
49
346
23
904
639
215
158
676
302
326
238
132
103
578
952
472
389
574
679
154
226
941
700
394
939
599
638
585
366
244
225
48
375
833
960
28
556
933
825
977
165
283
258
676
512
756
59
899
221
496
892
665
965
979
484
876
168
580
78
258
874
63
757
599
540
580
491
686
991
382
469
700
848
525
783
527
82
590
94
843
538
957
797
197
213
580
723
58
226
567
510
113
225
912
670
991
781
283
675
243
605
549
597
849
432
247
831
181
450
625
306
160
59
811
169
957
462
784
991
451
324
418
933
128
178
949
978
170
898
377
116
107
194
96
2
24
538
935
504
331
332
73
520
806
863
838
987
312
840
1
996
800
170
984
107
95
162
55
597
821
362
347
316
158
420
313
497
125
341
865
693
71
155
992
871
169
448
355
4
555
128
639
263
53
631
577
305
829
867
626
417
882
589
188
674
251
908
264
868
35
204
368
636
246
512
89
111
839
248
86
197
636
357
966
65
294
364
65
640
175
279
288
524
164
830
17
43
255
157
518
579
396
460
109
827
113
783
797
651
646
328
408
120
79
564
123
880
811
31
237
29
418
68
820
112
186
43
949
286
103
435
323
896
585
598
211
232
985
557
543
198
466
302
212
676
967
490
979
771
335
955
342
795
684
127
336
245
334
518
880
671
401
991
70
650
379
821
747
904
603
7
416
81
728
343
882
485
444
909
866
593
808
491
269
131
931
970
130
280
882
450
17
794
368
711
884
946
881
803
527
124
774
6
157
251
940
98
854
880
412
217
410
781
94
861
991
215
896
844
759
29
98
588
797
361
955
8
568
214
94
404
866
44
900
180
333
544
547
756
170
537
488
590
318
535
614
160
202
855
544
863
143
945
577
828
21
157
701
551
44
867
57
659
830
912
46
599
362
962
375
668
489
733
727
160
569
154
598
609
748
862
384
155
357
856
947
781
444
966
991
14
419
358
502
509
589
7
913
498
975
813
368
217
476
387
790
966
466
196
150
422
211
286
835
499
922
339
92
676
912
532
230
520
932
997
518
476
467
747
118
874
206
777
489
717
915
80
175
697
128
549
447
323
608
419
841
239
909
631
783
796
51
63
498
899
261
936
235
5
210
572
745
561
409
405
232
657
998
249
929
279
486
33
973
646
405
48
696
983
35
974
843
41
779
462
127
515
858
530
332
319
812
185
106
797
110
432
15
493
184
743
820
747
588
215
976
972
259
879
745
943
588
5
948
423
808
747
466
450
225
925
907
987
653
452
38
232
853
846
267
636
540
436
542
166
710
159
973
78
305
671
547
317
728
556
38
882
263
604
545
134
275
664
273
350
155
900
821
880
802
997
553
417
387
766
137
29
129
446
493
422
352
160
133
57
514
68
757
735
506
158
635
508
743
171
335
916
966
293
681
1
477
130
763
730
27
287
628
322
570
401
252
482
408
445
751
341
30
564
185
688
709
680
93
820
778
583
522
778
106
648
664
749
509
148
320
443
248
90
109
54
850
14
903
740
776
189
930
36
707
558
495
26
635
326
649
573
315
907
932
820
191
706
148
802
892
828
93
275
136
10
8
979
883
192
919
295
945
36
910
284
355
966
341
57
586
140
567
518
652
752
39
813
720
19
119
985
205
46
263
600
582
382
812
484
838
94
790
20
41
264
53
227
630
863
736
580
716
170
556
559
305
214
857
311
595
815
926
261
191
203
558
650
872
188
991
718
300
437
75
975
550
494
682
390
892
272
738
72
268
598
379
864
410
390
986
961
358
948
613
774
945
336
384
972
478
55
174
754
702
691
54
730
635
603
555
293
755
427
14
452
913
514
825
610
168
127
489
665
656
270
106
197
248
962
596
174
611
738
143
825
8
649
857
179
925
835
938
353
164
230
411
113
963
23
858
16
179
720
547
736
178
440
335
868
938
487
693
239
601
910
430
198
3
305
837
798
620
685
487
215
635
316
71
996
995
558
852
487
307
153
260
654
42
376
890
170
781
129
749
240
174
420
675
219
993
275
510
205
786
669
271
153
670
852
309
312
46
221
881
856
128
775
226
656
287
50
799
368
272
792
922
211
849
621
733
130
819
96
354
901
203
203
564
168
975
559
247
481
225
911
881
933
611
613
130
369
952
533
787
475
362
985
121
480
954
505
595
973
100
461
376
102
358
734
980
58
636
497
563
342
971
511
145
670
234
440
334
714
373
133
707
868
327
85
720
194
151
410
148
79
409
76
877
316
335
346
153
54
203
759
456
670
42
970
490
692
326
360
24
389
770
82
412
196
645
899
432
621
217
924
37
245
349
242
315
642
117
265
532
52
115
691
146
4
947
200
324
456
325
831
553
432
557
195
998
708
892
41
352
268
947
284
342
46
401
542
993
624
104
712
223
970
668
737
344
13
976
10
434
961
704
553
835
66
928
477
957
427
732
244
75
470
503
954
391
21
659
994
403
300
441
785
780
142
700
72
867
814
160
433
490
221
336
226
43
266
143
258
374
37
950
517
165
547
549
800
141
299
682
885
236
236
833
502
400
950
511
71
909
634
825
950
631
617
547
86
358
831
707
983
673
122
56
981
112
449
982
906
925
714
353
900
929
68
556
864
550
571
656
901
611
919
838
535
248
31
336
73
730
839
562
752
821
660
542
642
924
450
853
183
717
594
747
683
950
488
639
664
88
937
917
318
423
948
22
629
146
114
64
175
442
786
438
914
604
184
645
657
317
740
661
178
803
506
493
773
532
410
313
496
601
350
51
948
430
269
675
770
554
878
463
479
308
876
931
67
12
371
414
567
665
780
803
192
907
461
254
606
547
474
26
615
470
114
635
640
385
250
154
63
222
909
368
985
458
583
452
919
614
594
509
84
30
771
176
308
994
186
525
105
707
481
309
830
171
228
567
491
360
220
502
616
184
805
906
260
291
940
284
377
519
48
157
1
478
664
765
695
407
474
932
399
361
803
416
321
830
244
412
928
56
970
240
135
368
783
223
72
410
541
34
215
321
101
768
621
792
828
162
71
277
501
787
397
285
728
810
7
449
262
12
649
241
882
95
173
919
332
498
544
905
401
632
658
987
342
645
291
93
899
496
670
528
857
863
752
2
699
101
824
85
186
324
461
375
134
926
604
109
135
353
359
910
602
514
882
80
806
385
856
149
656
838
823
237
672
7
301
907
280
470
839
360
988
862
431
565
759
980
592
440
448
926
321
462
133
157
729
761
761
989
607
143
565
535
872
966
842
605
67
848
902
372
396
43
125
276
96
751
451
211
166
816
874
212
547
893
607
590
134
685
694
245
852
962
602
489
598
281
296
577
521
160
26
584
652
839
734
362
121
947
604
406
608
386
58
356
709
333
503
644
253
670
602
162
762
582
905
111
829
307
539
985
714
913
812
858
737
716
348
279
755
507
873
784
108
161
691
54
106
19
60
667
881
305
525
499
932
442
811
540
869
104
491
988
995
735
185
841
528
16
954
24
306
242
417
857
880
766
213
813
207
423
768
249
36
444
783
159
262
364
142
716
570
523
343
153
720
580
957
889
807
973
778
801
495
493
152
373
977
275
745
141
16
410
23
844
352
589
247
188
729
598
333
403
698
738
20
909
510
144
728
971
135
311
759
972
430
355
245
715
213
634
517
208
516
878
189
544
568
962
932
902
966
771
830
755
898
817
534
539
30
558
619
448
129
332
858
15
373
393
528
993
537
593
556
239
801
694
84
646
716
164
943
611
197
355
552
505
186
942
995
36
84
458
864
843
810
344
602
559
476
827
147
234
805
298
171
915
876
712
312
557
42
835
888
958
564
943
84
989
685
709
140
151
526
102
269
661
476
863
847
648
280
820
665
895
203
439
382
570
958
141
486
371
213
14
702
702
241
723
360
546
86
118
895
184
609
156
305
720
82
186
142
351
40
25
404
35
646
946
952
34
661
236
36
477
585
702
386
345
272
315
304
234
835
490
881
170
807
27
322
150
200
873
947
711
121
417
543
483
557
806
618
650
723
559
873
54
522
166
971
156
127
859
413
37
83
898
879
681
729
992
361
215
449
686
990
241
818
620
764
667
4
430
172
171
259
338
538
828
3
437
397
555
877
337
918
188
573
774
945
325
169
296
442
874
985
95
291
300
748
739
250
457
817
992
953
254
550
123
426
945
171
387
206
374
665
582
0
667
547
103
468
262
930
55
954
64
266
57
278
820
671
455
484
757
92
45
14
848
578
360
504
556
959
624
53
908
598
345
401
6
392
869
423
362
834
312
968
358
601
67
704
908
909
651
638
878
761
102
297
867
319
717
818
637
947
195
302
421
106
903
290
895
335
236
165
702
504
399
411
926
421
45
267
814
896
763
120
799
939
243
905
2
424
762
503
908
754
90
552
839
493
502
378
923
474
116
883
935
588
720
906
517
875
210
122
953
169
266
484
826
792
296
184
138
500
872
54
933
633
824
398
754
212
162
664
327
64
280
54
395
198
844
84
678
961
468
924
277
563
313
361
566
759
369
629
719
307
568
664
982
45
173
944
24
764
655
970
210
254
156
762
205
443
707
639
895
867
228
76
910
385
138
230
640
49
146
133
395
276
140
241
294
401
289
242
58
675
40
929
301
211
739
162
491
453
67
148
800
854
209
155
384
906
923
225
625
567
874
254
327
280
894
264
764
923
433
844
121
601
490
859
491
882
231
887
144
536
398
846
455
951
801
105
2
686
121
441
330
406
351
737
260
957
417
691
591
847
8
284
918
89
439
63
412
570
97
572
725
771
523
323
53
984
197
147
538
986
863
386
666
702
851
431
951
773
152
77
175
193
770
553
315
189
496
180
964
978
37
787
560
937
299
249
587
380
240
834
310
107
716
607
186
178
893
839
314
633
992
490
908
504
687
686
299
929
83
546
703
269
892
620
956
221
36
974
517
27
270
86
344
270
621
403
198
389
791
553
488
504
405
961
125
717
536
422
245
239
809
533
244
616
727
221
841
307
520
22
120
327
273
505
481
26
967
747
643
121
850
718
792
692
959
719
835
480
986
817
976
283
495
627
542
969
663
459
323
287
665
604
997
83
495
393
921
872
241
207
307
8
528
377
411
51
417
135
451
471
340
902
154
500
30
910
865
808
197
592
421
994
509
197
32
520
23
173
317
168
92
927
890
100
753
892
785
678
747
878
511
927
684
106
572
142
163
380
636
98
897
483
937
470
872
34
843
950
340
912
100
410
951
888
25
681
530
978
496
788
718
944
319
477
266
412
129
288
778
141
248
424
522
15
340
225
582
420
737
508
31
745
3
171
716
787
102
418
266
948
549
662
980
60
439
540
392
412
764
531
508
998
358
995
555
630
500
179
683
555
716
362
78
863
300
330
134
835
577
605
953
737
435
46
118
668
856
562
657
552
605
282
71
769
30
423
918
538
626
726
331
928
656
759
176
406
784
113
74
121
978
328
916
166
625
759
834
991
870
769
202
90
727
664
741
889
61
656
924
495
289
602
382
488
152
395
511
621
154
872
858
550
374
163
919
978
488
999
787
733
915
959
209
736
932
529
290
931
404
228
757
988
336
260
663
552
317
481
66
56
0
676
311
478
835
516
94
877
203
65
563
878
908
807
526
922
826
703
736
301
714
686
150
14
396
552
972
972
336
850
785
353
511
327
314
34
862
260
449
454
334
205
744
929
48
565
499
168
976
117
213
730
833
462
479
32
5
729
851
470
553
5
335
86
90
112
865
466
24
846
42
372
570
748
755
775
761
229
139
501
90
5
215
253
658
450
857
954
40
536
799
363
213
720
728
728
69
439
360
696
326
873
904
756
978
758
184
445
481
872
683
419
471
536
480
712
413
511
6
460
487
5
22
852
299
588
589
169
889
314
771
265
547
402
900
777
238
2
251
856
610
709
551
786
163
243
983
905
544
790
145
49
452
535
202
41
735
883
56
554
254
341
778
450
306
885
985
392
235
492
856
64
777
607
68
403
61
533
374
71
779
376
314
434
826
549
736
382
605
833
490
639
27
452
448
11
323
934
90
357
880
929
71
397
594
89
80
386
556
918
962
531
398
9
683
848
53
349
773
918
657
908
380
770
100
743
400
881
391
359
350
99
646
5
773
164
526
28
264
488
495
759
335
11
336
320
820
744
968
494
484
333
961
292
334
289
725
94
203
37
199
191
370
107
759
392
146
356
629
185
580
948
759
300
583
312
296
19
464
328
770
345
346
401
759
422
311
383
868
730
388
792
682
986
430
689
719
54
126
343
55
868
323
461
379
923
404
878
34
809
704
147
493
46
455
801
257
416
76
267
243
282
179
208
795
486
881
902
392
44
135
330
483
546
517
675
327
936
663
175
865
402
364
784
222
463
619
902
689
433
4
635
144
641
66
648
73
970
420
596
943
79
539
333
623
179
40
347
398
279
370
867
466
510
851
781
415
528
747
807
190
264
157
488
27
547
249
615
839
354
226
162
730
626
984
643
546
830
104
668
445
351
61
414
211
85
346
101
992
827
232
861
281
919
57
987
102
824
86
762
830
854
985
471
251
857
35
473
72
255
203
129
42
300
19
635
699
901
71
591
18
803
743
946
679
41
99
825
954
18
858
936
824
709
733
466
120
533
309
376
152
726
792
856
169
919
656
679
841
663
441
444
198
596
507
501
651
912
544
91
251
646
676
521
881
237
922
561
418
835
470
137
22
204
745
259
175
962
560
96
559
345
825
281
507
749
702
279
339
415
761
792
258
229
813
105
193
499
822
235
197
951
201
49
98
346
231
699
95
792
733
774
722
664
85
801
197
261
993
471
254
122
947
424
931
40
705
465
19
727
368
639
974
598
803
573
636
127
484
838
730
768
938
647
872
121
720
934
119
988
155
385
266
495
694
727
964
843
849
486
400
410
243
806
555
928
178
623
242
566
240
648
806
880
126
356
432
730
803
267
358
249
446
133
66
312
191
197
802
48
962
448
671
188
521
668
141
290
223
3
15
830
575
191
708
101
924
419
266
981
883
823
661
778
864
548
769
971
262
358
529
977
631
31
853
685
820
618
152
821
561
164
567
181
714
546
986
417
613
484
947
288
886
617
429
396
957
567
747
341
983
91
225
518
58
617
249
443
991
853
53
220
533
757
976
16
307
280
856
750
802
998
97
249
921
143
582
151
847
984
583
917
637
320
799
82
254
703
898
494
625
623
569
893
913
149
568
347
764
950
879
886
471
657
116
414
994
725
721
787
196
85
718
950
218
666
296
386
426
652
569
786
106
172
942
729
316
328
184
399
407
318
296
647
549
336
578
171
547
1
158
800
494
33
991
599
799
411
634
452
524
828
819
842
606
682
427
743
932
238
98
228
235
291
221
209
441
835
685
746
162
774
36
160
603
49
37
204
77
340
57
968
280
486
400
229
648
801
824
701
578
796
392
848
621
727
159
133
388
739
995
336
91
187
235
646
47
866
413
821
954
359
62
442
484
686
203
713
363
191
379
139
276
237
191
172
757
702
600
224
444
256
671
636
263
480
952
887
603
918
185
333
877
652
850
77
86
771
462
272
91
442
990
782
93
969
296
199
669
0
330
295
942
936
613
477
620
173
630
783
111
704
484
230
930
570
641
274
10
373
930
616
519
169
729
798
444
489
437
347
286
955
795
937
723
559
149
652
948
813
933
892
848
848
817
864
362
39
156
268
807
562
169
562
275
109
168
425
62
746
885
205
804
772
173
512
276
491
270
910
188
516
222
22
832
34
0
944
233
948
785
106
16
958
790
364
556
417
470
682
664
912
423
86
219
858
511
894
576
812
231
630
710
671
939
216
587
832
442
668
650
988
807
592
435
197
834
562
738
781
463
171
172
884
548
612
974
76
306
841
324
381
188
726
951
213
708
931
44
601
100
973
674
474
970
50
403
865
684
730
876
323
69
810
773
27
738
472
894
403
781
809
816
199
56
733
828
686
144
126
939
88
495
695
940
792
208
197
579
837
328
598
195
909
567
496
379
464
396
491
121
578
240
129
30
75
486
977
789
476
137
724
552
397
318
45
146
369
795
739
298
860
988
584
804
482
420
441
581
57
734
69
414
97
376
524
675
991
96
469
306
964
125
399
123
608
894
312
346
431
556
613
197
254
925
479
429
206
914
496
140
314
263
403
831
830
471
490
914
235
74
820
106
2
265
322
805
835
943
780
803
733
277
327
241
967
250
660
683
926
862
729
838
351
502
888
203
476
676
152
551
170
362
309
360
589
615
432
130
727
733
43
183
179
524
77
43
878
636
524
812
798
762
975
899
460
754
901
41
473
573
464
264
718
618
207
855
67
731
404
618
947
13
468
488
74
207
253
319
639
369
491
223
544
202
112
692
448
648
116
212
451
320
209
802
437
507
113
954
885
480
642
986
150
313
867
271
773
64
538
140
669
494
350
279
396
784
448
568
571
439
507
331
794
445
373
934
454
730
479
310
475
508
163
22
12
439
54
913
129
902
131
986
471
569
421
23
792
252
847
288
599
674
645
120
331
994
649
478
640
915
788
142
700
427
331
65
561
316
867
429
618
507
671
546
150
104
150
462
250
456
187
312
958
195
704
198
799
173
663
67
393
428
23
732
66
272
260
291
48
607
207
61
256
785
186
194
824
345
345
16
784
592
587
544
858
716
679
895
578
959
449
186
20
835
925
530
35
922
771
429
465
194
111
32
1
121
497
637
685
172
422
798
62
183
591
242
264
675
761
193
306
649
231
266
560
24
678
745
343
644
90
561
913
749
931
785
924
321
689
942
703
486
10
569
803
344
123
26
247
687
723
473
860
657
879
458
388
739
295
839
636
758
60
746
677
296
877
699
393
968
897
258
117
230
335
849
830
639
585
878
499
754
208
826
12
892
138
865
433
992
33
219
787
109
348
407
135
339
461
350
719
286
849
504
944
974
691
562
12
215
230
89
992
578
539
194
73
900
609
69
509
596
720
71
893
191
399
208
639
531
671
211
847
730
978
753
76
50
945
589
213
417
614
486
589
836
818
412
367
88
647
443
920
48
466
248
881
179
343
966
379
925
409
616
556
997
577
274
462
319
47
601
404
742
152
635
313
182
446
736
160
215
430
746
953
844
157
147
251
163
132
212
180
567
35
92
963
254
968
610
117
668
684
764
526
162
361
978
964
311
718
44
615
367
737
783
114
255
377
735
667
574
133
308
358
215
625
843
379
201
72
4
165
26
622
436
401
756
284
202
498
929
157
922
922
632
496
77
720
554
698
36
132
741
984
88
923
82
744
903
843
479
763
340
330
920
536
904
504
766
455
432
251
533
138
856
755
156
590
592
251
631
978
896
701
816
28
517
191
960
525
220
491
699
857
371
230
444
252
86
586
298
370
115
515
856
402
470
16
968
131
827
865
841
472
996
685
42
742
189
186
979
543
107
829
910
378
871
63
334
773
841
65
486
920
461
261
813
312
789
242
913
995
464
32
7
189
176
247
778
949
197
539
402
916
68
813
746
987
298
141
215
420
952
540
656
346
676
701
209
384
774
245
712
417
605
88
770
151
494
513
0
378
604
186
884
726
614
1
110
889
77
580
104
899
766
940
759
696
172
360
224
505
22
125
463
125
824
65
923
685
140
371
124
276
459
834
640
400
951
738
175
465
245
215
971
816
104
21
575
73
976
461
145
729
611
389
124
201
661
975
824
83
5
87
384
96
129
394
131
587
940
650
828
252
961
157
225
420
384
186
390
433
196
434
113
100
260
302
494
453
499
387
314
927
171
738
621
949
975
140
702
979
822
247
51
758
823
136
461
332
444
384
814
330
756
321
365
94
321
742
801
268
826
722
111
679
246
717
240
690
622
272
60
870
888
652
951
107
266
743
88
419
78
234
539
825
331
451
778
903
207
284
362
580
788
158
254
488
441
413
610
299
113
983
831
443
827
678
871
14
978
851
742
40
746
846
373
47
87
471
474
261
302
396
35
656
677
729
54
581
130
117
217
808
931
587
560
27
843
814
189
906
459
434
48
715
870
201
863
350
512
391
370
757
444
702
586
330
626
176
911
410
197
379
306
620
572
363
724
84
156
472
95
758
805
749
711
294
813
682
570
351
154
426
466
205
733
195
586
676
137
321
467
164
28
288
655
439
455
717
184
825
835
845
125
484
433
71
985
370
510
806
365
356
799
418
483
913
543
735
284
229
174
234
244
848
535
950
434
812
712
82
485
15
639
982
265
486
696
103
269
520
75
803
579
954
334
699
916
668
193
467
309
824
328
523
13
956
775
438
987
388
112
535
268
921
567
890
17
36
174
445
456
770
415
545
958
847
38
228
552
39
427
956
821
996
253
538
950
461
388
987
45
798
115
983
876
745
270
996
821
168
53
721
88
956
391
984
15
822
778
924
186
764
608
14
722
553
245
414
757
436
869
416
916
879
790
770
173
333
590
413
752
830
979
362
145
255
50
425
340
559
554
337
858
921
511
637
182
983
110
424
399
725
260
228
609
816
101
629
887
108
55
746
889
761
369
640
442
968
381
104
587
801
763
721
768
235
512
113
296
794
775
648
411
614
245
627
865
684
568
589
468
405
59
401
639
180
996
943
316
355
285
391
394
685
26
504
945
823
807
41
59
953
614
804
341
452
821
7
145
272
161
391
821
261
580
773
764
659
589
420
392
199
840
436
543
538
258
996
369
845
943
560
28
494
402
144
131
730
483
611
338
5
123
943
294
651
874
490
939
950
452
857
609
638
505
140
598
314
944
535
807
519
989
887
321
669
82
828
826
87
833
934
977
951
56
916
303
269
845
111
522
85
961
364
14
888
480
33
436
907
257
997
880
521
906
394
680
980
580
410
895
126
280
54
623
700
852
133
396
520
704
602
577
953
67
541
51
697
555
345
474
636
683
577
107
922
123
730
765
49
529
373
7
454
765
85
402
963
862
842
476
57
274
519
9
753
171
194
197
942
50
203
142
190
51
861
98
164
434
571
949
565
738
253
982
344
742
191
522
103
940
770
806
154
230
527
943
161
612
186
374
649
26
303
48
71
412
252
588
18
744
177
775
5
726
334
683
45
968
268
92
457
316
638
273
974
545
165
289
462
13
289
849
363
232
683
802
48
681
6
914
240
183
69
524
83
594
634
990
527
481
898
109
925
896
593
367
300
711
557
702
548
836
278
698
951
203
307
662
209
494
946
193
834
838
272
895
91
150
343
148
837
373
334
961
51
106
357
313
10
208
753
566
866
519
863
372
245
122
1
532
69
796
208
24
369
0
852
210
535
295
435
482
114
301
689
974
41
969
9
239
53
506
822
961
501
413
214
593
276
659
835
659
910
721
46
382
485
877
122
241
94
88
450
222
440
691
991
806
347
805
702
153
274
317
75
470
346
324
946
647
498
625
899
147
114
975
529
70
687
900
982
600
100
136
992
171
585
324
324
970
677
844
435
34
532
654
324
483
615
30
220
641
262
960
317
410
333
367
624
361
757
468
913
751
777
679
947
464
423
81
540
403
477
783
844
442
755
468
983
816
344
911
162
2
117
996
546
884
947
904
695
973
113
164
648
726
339
366
331
859
708
328
371
589
352
210
237
191
823
754
449
706
553
477
174
76
29
411
13
201
979
493
655
841
45
303
51
184
577
201
839
139
341
179
46
884
75
124
403
806
636
517
740
404
88
33
5
487
435
354
534
778
876
553
273
941
595
928
845
825
978
731
880
140
362
111
891
572
360
197
316
441
377
749
124
875
636
627
740
692
103
550
775
88
514
749
862
992
104
16
708
30
444
225
181
906
286
801
777
114
466
225
524
262
147
501
578
918
257
76
981
170
25
756
958
191
260
626
651
129
887
73
11
205
104
693
28
85
865
134
905
676
86
475
259
765
472
495
967
796
921
488
182
467
582
430
259
355
448
912
560
960
687
925
371
851
425
573
96
582
582
555
919
677
949
365
197
285
670
924
691
999
495
228
282
254
204
923
367
811
186
651
467
701
995
211
492
594
305
825
808
834
318
861
802
334
194
656
811
71
884
409
693
394
551
527
199
836
236
297
523
848
859
7
313
925
748
82
786
692
415
65
935
493
510
295
692
470
821
994
372
762
678
568
704
327
746
311
738
71
426
949
99
419
708
532
770
972
624
858
64
682
203
663
190
519
133
29
815
577
560
207
195
58
656
970
455
122
572
929
124
966
867
356
468
132
726
888
689
628
930
794
519
191
129
260
301
280
34
428
872
242
686
77
289
135
934
262
634
954
595
711
373
624
578
877
899
425
668
409
963
352
625
27
982
448
140
207
576
230
378
434
939
313
5
675
901
794
433
259
96
715
503
611
113
506
423
958
757
749
917
510
225
391
409
628
815
285
557
158
667
840
94
251
367
725
769
306
480
939
902
603
227
627
486
558
984
639
53
469
865
74
459
775
212
555
443
208
330
728
223
73
623
718
182
738
379
784
392
899
995
638
890
504
1
293
396
301
209
690
625
781
996
329
750
986
608
953
330
141
47
264
947
686
281
569
493
495
823
638
777
949
331
639
499
743
442
882
765
4
487
725
672
47
714
359
383
9
590
896
178
507
774
833
847
919
909
372
377
995
211
668
222
122
452
344
662
916
323
393
532
246
513
206
733
837
931
837
849
257
674
218
937
937
635
409
7
567
576
55
242
454
311
508
751
470
835
571
303
396
614
696
457
246
718
173
906
599
808
911
948
911
343
25
369
462
302
611
280
49
910
960
185
523
9
841
754
948
800
676
162
253
143
814
83
169
632
596
677
467
571
765
915
23
693
814
875
41
332
780
346
219
22
975
959
991
732
366
199
848
914
323
376
349
113
493
197
639
113
829
380
765
258
141
879
59
852
899
872
987
746
715
409
415
25
156
872
82
137
828
956
462
809
60
6
634
797
283
895
344
207
246
416
513
191
518
188
436
782
703
231
784
356
246
791
655
909
721
353
589
96
798
269
813
859
559
766
132
350
33
199
799
459
436
719
461
685
599
800
865
821
706
803
36
680
78
797
639
834
148
507
819
540
599
767
325
677
447
544
985
227
200
302
773
919
788
621
62
283
485
83
234
500
137
781
567
824
980
105
359
220
240
72
87
198
620
673
758
560
598
197
164
690
683
806
724
209
889
507
870
561
30
844
585
464
860
906
275
575
508
14
728
733
572
945
465
205
545
169
483
501
348
856
88
777
99
100
399
614
783
277
178
65
106
972
572
683
752
783
654
338
706
362
923
749
520
981
823
964
848
548
463
992
436
860
568
847
494
749
329
343
830
851
199
576
428
660
974
799
996
844
68
762
353
478
354
943
64
844
293
359
15
421
880
756
660
88
318
236
565
482
120
622
573
249
532
857
736
170
170
289
251
245
70
209
824
353
525
363
13
822
640
444
426
783
189
248
650
46
842
21
213
7
508
652
159
567
568
625
424
350
933
477
957
631
508
569
173
370
667
48
205
775
95
774
807
561
489
772
431
200
648
46
603
374
499
128
632
341
17
135
480
878
559
521
604
254
650
738
793
800
948
650
372
436
215
995
785
316
723
15
757
149
874
212
995
70
24
719
777
172
182
636
440
105
961
927
356
409
387
328
915
582
20
703
213
174
804
330
308
548
518
163
341
60
285
742
165
995
755
378
707
440
246
120
609
699
867
116
612
828
386
41
228
27
380
601
259
330
3
851
592
843
688
804
215
278
715
142
997
589
492
516
310
846
362
401
40
667
312
379
927
19
818
923
291
597
459
44
989
894
578
632
411
986
452
744
136
929
606
979
160
593
291
694
573
482
462
824
656
332
777
984
668
120
922
639
877
166
17
684
388
574
33
382
333
66
806
2
736
13
748
789
42
998
397
916
26
471
507
394
204
960
642
708
711
814
628
571
12
82
222
640
556
368
766
509
441
548
819
270
789
321
143
97
166
131
635
45
73
860
339
785
438
555
374
622
682
534
72
395
115
279
801
915
959
355
801
256
238
238
878
716
207
408
42
887
101
503
778
251
222
809
837
532
381
160
463
509
763
643
182
153
86
918
640
411
130
913
899
213
193
359
830
436
710
693
640
778
483
431
489
752
912
308
447
723
219
499
710
164
947
716
349
73
606
79
253
515
109
631
115
449
934
885
344
757
323
696
122
734
94
721
266
162
604
230
20
831
919
324
444
643
576
114
167
249
500
904
176
709
198
487
24
892
285
793
917
995
70
69
946
599
811
48
435
49
660
412
384
476
585
145
698
47
715
634
68
654
280
623
356
552
90
348
813
794
540
624
690
225
792
59
911
505
960
619
165
208
375
30
969
876
313
770
647
658
376
453
254
533
191
821
667
398
690
735
718
421
346
666
778
830
514
196
753
472
606
109
658
557
437
729
859
358
361
973
252
140
366
876
712
989
793
504
566
208
63
652
630
753
154
931
401
766
609
65
802
31
105
505
489
643
57
268
160
753
918
864
83
570
262
806
126
328
393
21
893
155
747
894
713
27
426
945
703
178
199
786
193
459
880
510
619
128
460
180
164
560
947
619
326
227
490
647
851
217
801
308
878
11
49
276
44
507
73
361
394
465
516
773
275
655
398
554
826
58
23
821
541
121
560
974
492
771
802
655
860
862
472
500
668
235
399
256
726
167
473
178
812
149
296
958
406
508
854
735
678
831
864
549
866
206
896
232
985
712
705
177
897
492
49
359
82
903
73
724
53
241
470
220
993
559
130
116
241
54
27
780
768
34
287
446
530
686
186
964
455
361
195
235
772
639
108
463
705
629
1
101
245
980
550
443
130
964
491
262
127
31
325
851
988
582
389
413
873
461
624
841
732
701
677
60
642
570
643
859
654
99
83
926
901
184
423
383
183
51
375
839
968
192
302
666
900
471
562
212
519
236
963
53
190
760
276
264
634
238
990
4
136
223
350
284
9
318
931
500
74
924
113
757
473
942
708
84
965
971
99
706
697
182
887
471
33
655
205
826
375
605
405
992
518
611
102
454
129
693
124
643
873
33
458
162
478
327
345
845
878
928
406
575
735
830
643
142
180
871
693
948
118
337
522
331
222
336
441
844
148
220
810
224
440
526
631
924
830
865
603
255
473
401
988
172
925
197
621
861
704
687
349
773
307
862
244
581
317
93
389
79
633
400
263
825
361
307
390
238
772
761
260
224
992
712
831
84
194
553
756
363
753
539
686
948
732
123
675
227
439
562
519
979
268
841
730
480
980
700
637
804
646
836
745
481
955
244
485
431
143
626
716
539
302
983
355
293
856
12
550
960
456
593
926
160
349
22
986
3
852
63
776
233
562
742
45
903
237
902
575
532
706
847
454
236
454
986
545
822
249
392
535
757
777
622
345
793
321
979
930
368
893
619
873
993
780
195
636
481
63
109
248
149
849
186
896
324
12
239
812
255
160
148
455
234
432
936
584
593
67
939
76
352
447
274
663
26
836
247
524
259
955
559
104
618
976
389
658
209
474
342
506
129
344
208
610
657
222
344
179
918
189
16
23
679
603
890
326
12
110
303
588
638
464
554
941
273
751
859
338
544
461
343
930
974
314
719
83
662
267
916
941
556
512
138
595
676
973
378
93
109
881
457
717
772
940
643
994
959
199
575
753
264
300
280
687
481
887
75
347
90
94
411
723
93
742
884
998
287
906
893
61
729
120
319
544
59
194
287
444
827
305
152
291
354
682
102
309
618
799
241
246
375
844
899
9
446
387
575
159
1
850
579
183
697
905
463
267
821
804
936
823
622
224
927
677
161
644
54
353
351
902
488
285
326
822
406
891
96
754
760
142
62
236
922
508
315
283
812
944
372
604
995
422
179
719
0
5
931
495
992
46
814
486
597
666
452
57
868
527
309
920
536
505
808
258
962
227
487
972
909
673
161
785
566
324
261
349
45
571
21
201
129
718
392
246
620
760
530
312
289
788
853
872
494
718
230
112
228
159
423
616
33
201
349
384
979
555
652
852
47
824
245
437
840
290
464
889
694
523
900
340
998
901
710
516
621
913
645
173
626
886
877
146
524
639
246
892
960
648
354
204
484
441
968
135
992
459
697
302
15
118
795
549
278
147
750
744
787
162
329
652
956
704
666
52
363
424
507
553
653
804
430
559
598
572
116
511
624
255
314
950
408
31
966
797
869
685
701
569
683
345
892
778
130
103
244
671
610
464
950
811
275
390
949
530
206
392
240
19
224
107
218
202
28
460
236
922
73
650
197
865
478
286
164
778
444
750
107
764
248
774
620
878
273
543
838
516
652
205
95
144
527
6
465
720
155
38
279
249
274
341
195
344
979
409
225
952
486
240
664
998
997
548
785
423
475
38
393
87
366
463
740
409
808
822
272
94
480
323
774
995
259
816
283
855
664
915
381
485
148
838
266
27
799
276
582
631
274
827
983
678
252
636
641
29
407
420
966
662
743
2
311
37
653
293
960
52
494
489
423
376
468
270
760
831
169
85
608
303
205
97
262
102
31
997
877
303
922
10
423
455
839
814
995
897
741
381
270
467
513
563
330
243
350
130
852
574
986
583
286
833
586
446
615
955
358
202
303
908
761
530
492
353
593
848
398
99
905
887
18
939
481
310
399
949
442
841
213
116
967
753
617
555
983
842
345
160
262
682
910
13
239
691
585
273
833
38
725
150
912
762
345
907
274
793
255
574
154
753
996
945
803
112
821
633
65
580
431
273
149
826
820
834
515
87
373
918
187
806
230
152
131
994
253
105
241
158
214
809
507
48
384
937
763
980
151
304
77
886
425
204
199
905
491
785
86
503
86
8
24
478
821
258
696
893
126
460
145
842
193
460
248
796
959
306
164
68
361
286
155
861
335
971
147
471
524
668
900
823
556
2
739
866
210
978
913
339
288
497
743
202
292
567
835
89
418
373
13
601
193
674
920
119
818
233
758
41
386
292
289
98
404
988
973
512
213
895
128
354
220
696
143
526
702
266
336
217
113
167
348
140
838
250
169
805
759
98
1
381
958
683
548
173
475
532
213
514
47
632
62
491
9
676
925
426
557
665
991
168
246
174
984
975
926
324
90
671
297
875
120
852
890
761
678
646
432
269
752
911
824
740
998
57
359
733
399
573
252
168
655
768
860
230
565
17
531
529
983
381
428
782
790
469
227
318
841
610
284
655
888
746
725
167
63
740
607
359
346
295
131
989
167
768
666
906
630
468
736
283
535
288
787
900
123
696
121
482
51
579
976
712
797
936
570
885
819
106
420
536
62
732
436
34
310
391
878
158
338
670
306
599
578
706
891
518
48
480
941
991
249
319
133
740
274
154
407
899
315
403
638
589
505
554
876
327
482
587
751
373
587
692
817
386
346
366
883
788
389
714
835
682
797
58
632
277
504
638
116
847
221
324
575
322
943
12
789
97
63
612
912
561
210
630
111
315
23
187
220
916
375
412
759
537
20
392
322
621
963
816
794
818
512
573
104
977
306
745
625
314
317
989
495
992
270
881
905
657
25
285
803
400
102
47
465
901
204
366
30
805
373
229
750
196
905
218
501
44
284
630
153
361
701
439
859
576
602
874
635
553
431
899
265
73
408
841
490
951
777
441
38
173
350
873
779
220
468
127
648
440
504
138
912
859
178
875
303
560
463
273
666
481
695
112
388
691
128
634
791
183
582
24
929
447
614
497
42
824
301
373
600
455
933
227
685
99
734
732
817
993
549
693
784
361
100
804
183
863
104
353
115
600
326
913
784
3
481
41
804
923
613
558
868
147
185
234
63
708
699
251
654
34
642
992
483
368
806
425
102
492
288
464
965
558
289
87
36
965
158
77
933
92
190
614
371
86
133
910
912
781
566
413
763
510
30
614
901
321
118
821
417
287
957
184
449
196
566
876
435
241
986
400
479
326
430
814
401
884
713
559
67
399
558
300
600
105
13
228
580
102
224
349
639
578
477
252
925
877
240
990
277
387
408
153
839
945
218
828
182
698
985
497
878
838
670
613
745
579
74
736
543
639
744
928
938
899
957
717
158
709
400
139
732
246
555
238
466
850
523
766
397
366
593
30
647
448
756
546
397
484
576
120
573
877
997
108
211
177
880
667
433
522
199
534
624
432
683
685
182
465
432
874
961
819
289
1
383
667
27
377
315
871
714
871
981
438
204
422
332
390
530
880
237
108
316
532
386
131
563
799
488
968
300
873
341
579
161
419
598
502
116
495
708
356
865
742
854
527
500
906
83
860
141
569
723
519
122
944
217
672
904
100
770
970
530
608
525
689
688
728
823
388
96
710
592
128
525
845
351
621
185
978
560
443
247
478
601
756
818
750
742
746
912
503
576
998
927
356
890
719
832
882
598
683
551
679
188
669
87
327
679
427
534
27
792
370
35
849
582
414
507
53
745
853
19
4
5
29
670
561
671
660
890
373
340
12
380
332
520
871
111
742
347
878
932
101
374
572
879
783
708
779
538
459
955
287
713
627
548
483
206
502
598
393
335
935
507
915
953
323
421
849
758
455
731
626
788
743
433
740
551
522
86
522
166
362
682
251
335
182
520
905
983
89
676
734
868
691
918
54
875
74
171
330
533
918
417
662
869
793
629
246
348
320
503
501
973
415
424
332
986
771
751
741
350
17
793
282
911
120
938
632
810
781
917
268
521
266
455
788
852
125
191
865
37
5
203
646
389
78
376
863
521
113
419
20
656
720
441
383
822
593
592
555
381
307
137
621
594
285
546
751
271
964
618
970
708
86
166
287
549
935
36
934
993
452
288
107
193
889
605
946
737
985
904
542
960
205
683
174
303
177
119
798
38
15
709
481
77
541
759
382
991
918
334
572
222
657
289
838
151
152
846
421
530
328
866
123
837
579
648
255
526
691
112
546
566
781
223
479
273
936
804
503
923
809
189
271
390
915
21
436
493
40
271
803
459
765
714
778
438
265
235
209
426
945
471
288
7
412
315
767
250
615
921
637
816
767
598
154
576
742
724
780
25
73
805
81
236
952
69
334
46
575
55
38
170
161
420
268
687
334
938
254
615
11
901
310
969
836
754
782
403
510
181
619
362
733
154
694
574
853
714
523
767
354
726
792
694
424
754
723
72
39
498
343
862
46
831
60
904
900
293
728
744
713
630
515
491
157
837
247
557
600
688
43
788
322
215
653
571
720
881
864
822
823
190
648
834
282
839
509
319
466
975
23
766
318
580
710
175
744
350
124
66
167
166
175
510
420
720
736
859
643
386
115
700
327
685
238
426
519
969
249
394
950
663
67
955
58
753
84
591
814
420
664
699
597
359
230
283
175
526
492
511
885
222
717
717
219
213
656
374
283
522
123
816
878
69
892
510
95
181
534
256
857
229
319
320
500
481
365
639
647
953
248
217
538
809
203
36
58
465
58
910
536
454
561
124
937
293
716
407
820
886
878
1
509
700
449
689
943
566
612
992
253
173
492
219
895
403
345
23
280
777
120
978
753
203
716
749
87
183
536
70
619
138
489
257
818
102
271
958
802
707
103
775
661
735
86
384
68
59
876
161
119
881
907
648
36
194
210
38
441
265
311
293
144
433
846
17
599
790
689
847
64
619
738
823
531
741
434
519
155
484
73
733
698
652
723
943
162
961
860
946
778
472
160
36
998
874
482
618
648
796
182
667
404
576
103
936
395
68
508
273
675
551
697
840
675
524
115
305
970
133
399
447
542
120
153
562
309
473
432
84
710
225
604
483
773
514
552
880
732
463
111
33
143
790
806
205
343
991
568
563
849
694
724
423
32
423
266
275
482
279
781
791
255
382
962
459
771
186
951
158
803
202
789
494
746
702
983
394
87
949
900
831
410
795
622
637
224
19
83
323
672
569
324
567
700
983
192
0
925
34
953
793
483
271
71
151
341
667
74
412
901
498
234
334
505
828
758
159
546
131
975
316
668
506
916
726
15
755
183
51
376
260
978
739
809
822
436
205
152
966
843
818
749
917
359
82
700
905
858
591
322
112
575
335
742
298
786
180
17
634
741
576
319
117
756
612
4
91
334
538
101
308
234
470
802
539
906
324
740
466
950
137
226
635
643
702
693
987
579
144
673
313
329
488
913
912
746
8
900
68
788
488
945
438
146
916
637
288
747
98
245
79
649
725
808
282
511
713
107
532
666
71
953
580
631
651
334
792
424
42
533
372
843
452
393
457
215
561
129
436
862
307
406
564
941
802
738
438
630
123
507
137
407
279
119
392
580
4
374
134
349
821
517
555
184
799
787
178
651
662
752
894
591
855
675
359
331
509
628
534
268
513
3
565
722
780
167
630
285
211
56
727
3
320
300
386
457
25
848
435
218
307
34
573
72
127
860
260
90
742
312
571
674
522
467
512
509
482
551
514
134
930
818
494
113
441
403
181
145
505
322
306
876
514
324
498
479
23
350
682
326
783
646
561
756
278
108
747
465
367
558
469
251
515
234
842
117
951
986
807
622
667
268
679
120
17
398
662
72
351
547
15
787
975
609
93
603
450
871
14
966
443
271
724
314
275
96
455
524
21
97
311
983
544
644
86
164
234
485
33
833
670
547
448
936
67
444
937
306
457
357
311
482
968
438
931
894
742
702
117
723
414
69
922
949
362
746
831
238
211
721
643
392
511
980
81
219
946
164
81
182
818
292
571
295
364
836
140
310
723
59
429
598
868
143
116
365
333
785
916
275
208
721
493
549
641
16
126
668
14
889
668
174
141
105
281
930
413
942
71
719
670
313
181
260
847
660
760
496
662
897
261
497
63
749
745
239
735
779
363
928
785
787
683
733
483
410
688
648
157
510
118
370
982
750
109
741
968
747
146
874
418
872
728
817
196
0
229
539
360
235
115
345
688
25
912
796
584
973
436
145
601
963
991
469
24
55
372
129
363
312
207
948
709
497
221
943
540
40
520
624
168
282
589
107
678
624
587
281
864
98
753
216
765
827
679
751
967
97
927
780
741
583
561
927
577
295
499
395
116
603
656
843
456
754
783
698
960
928
755
804
952
13
580
289
650
977
455
67
801
253
504
246
474
825
838
763
169
321
110
93
8
449
469
711
8
510
225
477
249
205
934
913
186
802
787
847
369
432
608
234
177
52
786
61
914
84
529
280
226
34
985
360
339
119
749
2
397
219
841
688
113
369
730
649
345
928
621
2
475
479
181
74
327
558
473
341
889
930
936
746
34
423
711
226
843
123
72
355
348
549
339
768
964
45
58
74
520
787
93
947
753
366
907
886
680
620
401
430
529
13
242
750
338
528
643
831
748
663
185
261
194
757
775
86
307
231
662
781
715
120
801
352
448
161
757
443
501
216
129
729
403
641
322
621
559
365
650
171
934
106
840
321
998
992
834
348
967
596
969
317
450
471
898
142
465
551
789
380
138
363
66
672
723
260
318
291
84
86
321
411
196
56
831
806
762
376
289
103
280
336
553
238
562
587
822
941
109
118
25
888
804
312
871
858
389
432
806
287
383
317
236
54
552
69
475
394
486
862
917
887
844
958
974
30
144
386
202
30
994
375
35
194
742
948
757
616
962
55
627
312
200
382
577
305
422
555
109
942
945
957
1
584
482
980
331
693
540
445
71
49
359
245
879
259
43
609
908
379
382
259
504
871
862
546
979
448
208
250
4
231
802
850
738
603
517
174
223
234
908
935
134
74
524
108
418
323
459
374
520
289
73
910
689
725
118
154
942
715
711
339
360
224
941
602
915
396
590
174
2
15
761
830
353
693
155
85
360
919
709
355
616
423
853
914
269
91
233
951
163
277
267
596
922
390
722
905
518
612
961
887
928
16
276
884
190
363
16
270
161
84
347
151
318
280
538
6
765
169
610
676
521
263
217
992
184
815
923
976
561
157
256
543
561
445
200
48
687
639
659
421
565
551
357
236
888
478
493
325
755
316
178
414
572
533
860
176
714
456
28
529
912
786
151
608
799
724
866
491
651
298
679
280
421
940
474
43
574
195
431
717
578
781
115
430
464
263
494
130
159
783
793
395
728
669
60
583
637
307
562
859
762
392
63
413
855
921
145
322
80
664
454
247
155
953
266
10
894
443
147
171
869
167
251
916
92
202
459
491
196
215
402
115
149
139
771
894
371
724
866
283
703
914
991
724
159
26
640
520
682
414
962
675
143
643
959
26
522
602
136
138
666
882
314
897
567
800
436
133
812
668
127
486
639
96
460
966
802
247
721
813
344
390
504
785
279
364
213
956
248
594
154
191
530
792
314
89
844
245
390
980
548
996
15
737
648
666
363
8
478
694
315
976
689
10
888
237
391
669
929
607
936
205
624
846
536
652
169
568
729
95
436
558
734
4
593
300
143
184
317
442
669
312
857
471
999
50
326
240
64
43
531
453
498
331
295
356
280
171
843
904
313
310
906
3
705
515
774
894
710
439
980
918
837
866
983
881
916
941
14
648
184
914
27
835
60
430
341
366
172
48
246
26
481
611
41
70
961
816
55
717
432
624
865
13
462
607
168
268
246
534
445
111
131
773
903
242
853
394
1
159
982
283
633
379
136
712
105
392
644
364
840
726
919
128
22
233
940
405
892
665
19
200
658
141
378
242
671
290
299
367
517
645
100
435
798
373
212
835
983
901
619
579
499
542
749
869
126
652
365
78
95
811
275
256
782
150
391
335
85
372
921
793
704
947
729
806
47
920
847
852
659
316
232
481
369
249
527
180
392
859
929
709
476
445
360
175
187
247
777
548
902
916
103
923
669
703
865
817
315
940
466
321
305
535
908
335
506
173
223
942
555
589
94
15
377
493
543
824
766
516
124
248
764
648
970
339
337
140
376
927
109
310
601
66
923
261
765
166
256
5
15
1
62
502
259
264
396
261
730
306
494
611
135
961
514
502
706
105
826
552
646
108
327
392
15
895
432
853
87
816
163
446
687
547
141
111
154
760
209
463
259
831
288
937
187
282
250
280
319
565
390
201
90
346
561
58
673
378
522
225
19
197
353
618
567
151
693
95
717
743
246
53
230
69
915
784
815
287
660
635
287
533
822
756
332
897
148
664
562
827
952
59
490
416
37
488
106
763
625
737
925
233
754
685
685
425
895
44
40
413
489
944
214
132
544
397
621
399
126
438
348
609
0
422
992
798
29
638
664
163
735
501
88
603
258
680
142
584
880
444
714
437
156
960
11
322
925
813
318
518
498
898
763
987
679
719
348
801
137
616
966
670
478
513
978
281
267
304
986
786
598
421
284
194
253
454
303
929
577
128
335
4
561
829
237
250
951
382
934
813
295
508
647
789
903
91
108
393
623
255
22
132
154
302
699
52
776
629
613
809
199
519
359
256
163
607
961
607
639
297
231
434
757
593
439
630
556
120
35
368
866
704
534
281
850
844
148
446
23
388
17
41
482
503
561
66
208
529
780
151
797
866
904
900
588
197
20
677
939
204
667
757
150
253
293
759
661
990
94
291
871
166
177
940
919
675
107
674
711
916
932
448
497
578
119
513
736
437
286
312
790
712
853
697
198
450
682
109
495
230
927
52
89
958
102
22
545
664
335
183
784
82
913
170
598
966
642
51
620
565
876
559
114
977
448
262
507
468
378
721
807
408
578
173
306
621
934
824
647
312
668
560
285
68
582
557
96
190
99
24
785
640
134
574
95
285
555
963
620
274
400
98
286
401
524
63
923
899
285
191
440
456
267
590
768
568
512
800
152
395
561
963
368
219
352
164
492
153
423
111
686
208
464
560
220
787
916
887
896
888
753
472
82
730
398
835
314
6
440
974
886
117
49
396
646
76
381
178
67
125
155
87
364
457
770
708
330
619
696
399
393
177
96
505
447
134
734
284
525
173
526
384
845
829
567
204
193
373
302
938
990
330
854
284
781
255
177
804
980
315
824
878
995
477
860
713
157
568
91
634
210
365
268
672
207
302
499
109
518
677
47
795
151
196
212
61
558
829
290
57
169
920
616
662
360
150
242
586
609
414
515
477
170
441
537
855
82
364
584
988
474
657
996
770
301
552
309
521
177
871
35
447
504
22
781
962
978
309
380
405
216
456
860
846
908
892
44
443
352
19
494
392
660
755
515
585
682
516
242
974
601
131
804
583
114
984
177
939
56
363
604
326
3
901
624
276
308
764
387
120
124
146
19
732
957
614
942
38
825
941
24
496
448
493
551
242
309
312
611
612
941
78
402
434
649
567
587
590
252
928
403
38
548
942
995
745
981
156
164
493
287
12
354
35
10
362
138
439
997
831
952
103
69
562
328
836
850
503
257
759
94
931
416
714
712
536
152
40
52
378
788
45
797
362
906
36
67
735
498
481
818
442
222
676
678
453
394
977
558
444
713
658
866
946
886
308
335
527
515
770
120
298
344
439
812
531
841
880
58
454
750
181
676
363
481
371
415
627
282
629
479
763
642
990
683
200
704
663
523
126
33
852
720
372
740
562
608
171
357
582
142
787
4
842
557
679
498
130
422
417
120
871
910
174
34
874
367
555
712
61
569
272
805
960
41
705
507
132
944
410
172
282
23
666
12
592
528
98
250
554
773
875
698
541
46
980
744
217
442
893
598
928
907
694
938
387
765
496
321
840
253
32
371
845
459
197
991
999
387
80
467
980
18
776
971
916
516
54
150
652
275
570
745
821
715
504
831
191
685
983
132
583
254
414
313
999
73
21
936
151
877
35
310
658
706
980
236
167
896
694
856
169
251
290
892
922
670
666
396
786
318
889
517
311
46
171
312
159
836
684
192
427
946
735
501
182
151
999
753
968
69
218
479
467
582
859
708
378
515
827
154
786
177
433
966
50
606
443
536
995
140
713
551
508
912
392
725
112
49
423
932
455
975
574
869
49
514
773
962
552
49
471
415
372
403
524
71
926
928
869
755
199
360
927
878
497
691
420
1
963
283
372
732
103
915
240
336
876
257
675
58
351
456
903
159
844
557
998
938
919
767
862
193
656
365
567
637
791
311
505
918
464
236
528
596
519
457
150
467
222
25
323
541
411
676
168
250
799
852
921
988
751
382
597
835
130
280
481
500
502
93
126
183
128
939
794
11
816
681
863
912
826
688
448
290
106
992
36
719
108
892
273
906
362
909
170
986
526
773
225
761
204
792
565
564
418
725
635
833
323
149
279
671
954
2
638
377
19
596
563
549
584
484
241
924
808
649
749
971
43
877
802
885
536
440
142
480
723
585
57
614
918
667
644
338
614
637
126
782
252
749
249
784
11
486
899
926
416
189
847
482
61
817
970
94
643
641
824
444
275
946
110
945
910
524
866
431
152
291
624
351
675
992
989
267
101
190
45
475
657
138
507
218
732
176
105
353
529
445
370
11
346
150
760
83
475
993
283
321
2
698
116
757
8
700
747
582
673
958
595
670
378
888
995
418
373
88
735
21
544
357
532
758
799
552
799
781
960
507
332
657
34
432
16
639
585
965
155
348
471
537
733
608
687
988
970
787
932
380
183
830
400
152
957
192
320
497
284
763
821
627
464
649
36
875
517
207
812
453
0
252
756
155
325
803
178
995
681
449
495
281
966
417
250
986
742
298
420
522
731
733
287
578
912
940
837
101
711
123
988
513
300
75
359
931
547
636
44
47
202
184
937
947
25
716
929
666
227
250
161
707
747
585
816
297
263
195
565
128
810
608
682
477
954
715
76
164
626
233
957
396
105
811
453
364
534
813
530
65
245
46
814
42
414
107
858
796
322
936
303
500
64
751
170
805
512
909
165
82
497
802
249
859
762
769
227
615
82
114
579
478
838
934
230
267
26
40
584
314
746
280
332
113
507
288
317
915
827
694
675
349
840
844
10
429
398
333
102
936
690
680
267
112
283
820
491
598
21
127
98
794
139
544
29
124
476
51
394
137
909
440
222
235
758
279
949
323
534
628
820
720
508
942
429
913
570
255
803
873
522
652
584
733
27
346
154
947
814
582
784
350
865
475
748
978
318
658
944
75
140
230
737
242
389
728
383
673
783
502
926
237
846
610
814
962
319
147
77
691
977
295
308
161
784
413
360
831
976
331
168
521
155
216
975
704
551
110
794
982
618
283
720
332
886
140
869
173
354
158
97
359
72
688
857
467
730
403
476
958
417
47
166
446
536
909
923
977
465
377
440
693
183
492
166
636
117
295
544
871
692
747
672
751
809
524
695
35
695
107
489
452
726
386
25
101
742
999
59
282
542
568
584
128
693
390
45
185
150
0
304
923
661
624
388
649
426
882
990
759
779
761
324
400
520
291
551
280
593
486
22
755
332
972
942
31
606
474
663
611
615
118
520
937
923
599
82
858
631
653
13
274
262
768
26
523
516
945
992
106
999
944
533
256
898
240
839
704
84
584
903
127
512
869
468
688
938
766
864
15
823
487
242
294
528
883
243
316
692
652
45
205
794
460
847
179
657
458
597
919
751
962
346
77
444
393
620
660
316
738
255
309
122
387
510
525
910
603
244
908
313
486
692
706
550
109
305
888
185
119
690
690
670
418
107
651
865
618
582
80
26
673
666
421
313
650
908
566
992
527
788
702
596
826
19
284
325
252
830
373
247
780
936
240
200
372
836
461
740
178
998
783
266
17
608
274
456
581
993
285
698
942
96
959
396
429
935
991
937
534
980
934
108
97
569
535
238
492
71
427
728
86
636
405
671
746
197
787
291
910
710
745
412
985
426
542
924
368
275
215
989
176
795
470
227
439
515
869
828
191
622
359
979
357
131
189
699
302
681
565
278
343
62
346
933
14
73
742
733
523
230
902
520
682
424
886
284
647
863
341
609
266
907
225
589
880
918
762
620
980
168
87
554
474
869
698
854
440
174
848
857
487
875
506
27
892
250
579
973
772
636
688
907
468
848
687
454
316
604
244
849
696
577
563
453
931
142
506
236
42
680
265
997
836
936
709
243
840
740
119
739
991
477
616
20
392
268
135
691
574
936
441
423
758
779
114
191
255
962
178
622
920
653
15
576
899
799
16
478
339
521
475
502
487
14
983
348
644
895
508
824
878
856
118
878
981
395
721
249
550
678
155
810
747
168
964
555
56
195
126
299
92
600
503
263
600
847
493
258
805
67
405
154
437
545
55
200
155
423
843
581
802
461
991
144
443
473
50
790
372
209
387
530
64
356
370
509
711
654
742
721
639
971
393
623
195
826
368
250
259
531
846
194
781
194
49
174
113
231
141
952
744
979
777
950
359
711
216
182
267
864
699
942
595
845
959
326
735
984
419
456
277
313
425
683
219
546
920
290
833
227
878
642
886
370
850
528
501
418
521
510
513
925
563
597
582
165
364
61
167
357
799
576
368
162
379
289
596
603
575
875
695
798
381
343
716
465
939
125
674
118
660
240
793
488
997
89
453
463
604
347
670
509
435
188
421
636
663
411
86
479
693
748
716
3
602
334
514
576
974
25
918
631
17
367
903
756
824
941
970
488
642
524
761
181
266
751
960
857
426
637
398
548
33
619
940
733
723
886
317
234
820
489
703
523
118
389
139
845
946
622
118
458
413
503
193
101
687
526
343
849
983
140
498
687
828
255
781
654
680
492
968
994
793
851
317
917
585
785
940
177
274
730
128
242
367
216
804
30
72
341
316
153
129
515
18
817
225
913
289
350
749
285
289
148
654
733
912
124
186
725
239
915
977
272
199
48
950
875
0
810
687
528
672
393
363
979
139
381
154
777
40
402
308
786
771
702
159
745
971
714
903
669
546
402
383
384
157
974
469
633
188
144
348
496
996
490
897
465
355
418
564
67
156
566
432
682
705
155
253
82
806
558
295
324
118
769
684
190
610
455
134
517
442
506
387
210
494
168
901
148
737
765
909
210
323
75
62
443
559
123
442
609
444
739
288
340
443
315
299
934
406
365
759
882
905
499
860
109
483
361
626
16
985
68
486
966
392
502
782
417
671
279
971
580
286
283
572
738
687
336
168
954
86
534
777
793
155
60
192
466
57
332
165
522
910
702
522
273
207
734
659
582
396
121
679
735
241
543
891
882
446
435
583
118
716
404
297
229
16
269
744
381
357
190
230
93
689
402
426
57
48
319
408
708
411
693
182
481
922
194
105
680
74
927
167
305
218
72
474
496
97
135
909
480
239
426
196
476
624
759
123
180
9
360
546
361
500
462
483
599
434
447
218
944
960
335
785
211
429
64
851
130
880
239
505
85
191
3
835
805
142
245
486
494
671
359
712
968
790
501
274
653
649
133
790
396
873
178
126
139
331
999
2
27
438
572
960
127
121
102
167
981
44
697
976
892
697
872
154
244
73
956
427
461
789
518
312
339
116
568
580
408
583
667
352
225
584
379
562
539
145
50
1
151
235
355
31
188
88
822
576
403
589
876
268
734
444
633
888
567
809
53
620
338
792
331
366
934
768
612
446
377
757
692
656
757
629
990
67
226
267
250
888
149
334
159
653
401
575
321
1
469
202
330
225
87
749
117
482
562
921
390
285
973
704
772
191
870
385
940
1
442
99
864
611
436
518
376
786
769
600
826
10
766
688
410
230
635
375
720
304
125
786
230
760
914
433
620
744
394
416
147
930
75
801
283
92
930
281
28
967
331
886
972
306
77
623
820
165
654
938
982
230
900
164
960
484
492
782
791
961
518
28
659
135
213
380
689
578
650
628
979
614
588
924
492
260
401
431
794
276
6
984
592
657
697
81
51
914
316
80
923
247
576
95
597
636
8
526
661
425
943
160
737
170
306
301
999
901
835
480
408
867
529
204
205
807
985
226
946
612
516
321
358
553
381
157
435
792
696
651
995
405
28
211
405
207
744
6
4
932
107
982
441
736
956
698
315
333
781
781
700
656
232
408
318
869
319
132
587
190
122
814
393
49
851
363
508
257
571
158
473
293
720
409
50
208
198
293
218
185
91
53
971
30
519
917
869
277
744
343
772
93
912
714
419
944
93
424
822
155
368
802
543
952
685
151
336
800
636
655
586
676
900
641
39
964
605
536
51
421
738
857
60
566
119
927
210
482
719
399
629
445
63
665
452
204
990
808
948
825
831
573
695
87
69
744
897
773
751
529
689
536
248
654
268
521
491
45
527
649
479
550
338
885
438
663
43
48
645
680
452
240
117
690
392
907
835
32
49
148
722
97
167
740
9
283
519
918
958
370
142
507
960
103
708
651
148
2
714
468
248
531
642
801
807
721
975
848
200
196
374
613
834
570
730
22
24
286
722
194
529
952
896
395
56
378
81
828
865
514
549
987
138
747
307
664
788
952
760
817
910
744
161
171
90
320
419
847
14
568
589
492
6
221
283
833
840
723
316
331
655
828
797
834
914
454
243
3
76
770
261
948
865
427
398
155
324
822
265
57
334
901
851
143
333
780
643
903
283
325
286
63
871
459
654
946
32
549
288
786
871
131
954
987
572
688
95
725
332
180
41
297
200
261
393
187
421
530
582
701
454
294
841
160
954
978
62
942
46
960
786
637
963
778
791
814
92
862
640
332
851
572
244
684
323
525
672
229
155
957
202
668
35
403
993
311
640
95
159
850
6
202
941
71
397
423
330
864
45
626
115
840
329
233
866
639
39
227
936
584
664
399
973
505
835
956
799
899
251
778
269
567
822
165
377
641
260
602
427
886
602
33
513
124
4
568
30
792
344
119
709
923
611
810
169
555
609
773
622
621
201
390
239
393
897
773
477
261
269
170
764
70
985
892
353
652
673
12
833
98
584
315
645
284
205
279
396
794
467
901
438
32
510
19
448
388
559
723
483
936
251
499
298
329
365
356
60
405
992
449
675
248
709
694
692
745
732
137
221
478
156
220
930
151
129
876
467
565
797
528
46
871
774
171
788
616
758
960
536
87
167
920
497
452
88
582
18
211
413
571
783
908
356
680
361
846
666
47
32
114
525
938
818
708
911
252
65
880
913
883
742
352
604
432
993
856
782
462
16
837
218
519
750
401
692
684
492
932
21
546
644
657
590
807
811
746
742
495
100
715
810
163
381
17
446
612
175
62
273
780
205
817
558
221
196
284
424
656
187
149
646
903
787
949
680
455
533
395
734
789
26
735
167
699
875
916
393
502
148
929
46
948
347
189
651
324
534
792
759
38
646
511
244
401
470
737
899
574
498
675
172
778
529
833
254
134
504
336
244
345
403
592
314
287
179
763
262
614
26
326
5
397
837
588
859
789
543
924
722
369
152
173
401
144
196
737
553
914
712
673
463
566
604
419
424
527
101
714
127
38
505
225
626
755
957
40
60
173
528
803
351
594
376
570
872
64
808
154
688
363
750
551
126
770
240
251
100
287
997
661
97
275
648
91
42
90
283
807
260
425
62
148
500
177
478
259
326
439
782
863
863
959
763
84
439
52
979
863
118
928
163
924
198
911
780
437
877
10
458
937
786
763
924
66
368
295
352
829
982
533
804
866
538
619
933
799
468
168
555
438
73
369
343
388
992
906
120
180
105
20
403
490
188
327
801
119
128
575
579
346
638
57
144
46
826
361
859
519
436
919
890
642
158
433
420
552
808
798
549
930
574
23
639
698
85
201
750
487
792
875
800
164
540
870
999
17
354
623
246
337
811
750
575
374
480
252
708
710
949
960
189
978
490
78
946
313
773
452
985
228
448
264
648
729
559
531
185
690
408
210
70
690
803
27
190
656
11
684
967
601
164
654
595
602
115
103
168
278
762
336
408
674
965
671
116
709
171
583
929
499
422
479
203
829
461
710
448
819
259
67
249
615
372
345
277
158
148
166
837
662
926
754
470
504
463
991
902
199
90
699
741
744
667
607
610
13
696
888
39
671
184
41
519
15
822
60
464
586
854
389
367
69
162
776
535
243
846
840
534
537
215
436
26
515
882
243
679
624
725
821
417
173
126
505
970
738
36
659
883
761
742
819
215
72
704
137
698
660
956
886
779
205
861
755
503
157
319
796
24
239
566
793
799
572
841
152
674
75
380
983
793
598
633
336
387
710
180
409
411
309
651
439
176
846
498
263
329
555
72
570
425
614
772
475
24
949
567
59
222
979
521
132
823
648
672
712
794
871
854
998
945
761
664
736
166
733
125
967
279
792
971
656
432
488
434
140
670
691
762
196
333
872
904
264
274
801
331
211
498
796
425
172
748
536
986
645
760
405
257
888
768
609
682
123
2
881
974
81
185
650
444
796
112
230
118
293
261
564
233
144
394
563
849
663
578
464
872
723
400
6
309
292
615
873
123
193
847
612
668
889
487
794
495
406
897
162
690
545
956
962
233
848
860
526
464
176
660
492
199
850
349
958
210
181
493
251
418
670
997
906
723
785
696
589
554
851
192
68
570
224
229
513
370
266
882
516
458
186
526
263
684
162
462
320
13
976
176
986
858
287
744
314
907
141
552
104
110
248
12
318
544
988
215
6
42
656
224
375
284
225
877
378
608
187
284
563
159
931
323
390
245
889
89
191
675
942
529
290
750
902
803
119
311
20
877
280
568
905
989
460
553
495
640
765
264
460
830
53
749
565
210
569
908
135
421
226
748
546
292
301
836
229
376
895
873
393
953
293
736
147
907
453
881
657
951
838
69
639
112
790
664
345
700
14
963
66
645
416
853
897
119
893
415
606
928
689
490
454
764
693
714
267
591
24
401
316
54
401
286
380
512
785
666
353
819
981
211
349
78
982
777
492
836
323
195
319
85
325
516
629
891
262
686
758
566
41
743
895
125
328
553
455
473
970
233
251
536
980
853
102
949
540
398
174
789
392
90
3
61
241
330
180
743
9
817
533
318
704
304
156
275
646
0
827
519
203
318
822
944
535
276
80
835
377
342
392
470
265
334
684
585
562
941
287
858
641
895
896
189
85
593
964
944
188
599
650
225
710
85
729
253
459
0
350
760
186
370
459
773
23
615
3
450
28
73
13
393
655
977
779
551
758
132
641
657
667
811
602
825
662
432
525
179
853
651
599
550
603
847
297
417
730
758
5
675
508
123
270
832
155
614
853
732
525
60
960
793
832
273
763
88
580
319
219
103
165
586
792
340
667
175
323
548
20
668
912
44
992
700
667
727
965
140
398
987
304
82
832
85
26
236
471
782
376
863
562
349
472
927
741
775
596
35
629
675
190
718
483
42
782
637
921
448
836
382
913
698
330
425
872
39
72
305
553
987
795
791
427
190
920
396
462
751
962
114
476
646
286
422
260
962
728
162
159
104
920
859
442
899
379
628
183
946
586
437
384
223
146
812
843
340
94
596
680
691
828
285
535
638
167
11
842
701
90
411
754
103
818
508
6
37
520
402
259
665
115
288
524
719
753
528
546
155
262
956
472
224
208
42
675
798
616
646
114
89
117
803
820
931
733
27
413
912
779
727
193
186
463
186
723
487
512
410
451
852
599
653
599
305
45
294
372
58
763
164
977
498
423
352
512
410
866
981
434
922
543
642
674
62
667
489
563
428
673
153
387
535
852
633
855
721
393
563
316
77
556
7
67
342
147
411
864
694
804
171
921
774
420
938
50
635
345
766
656
410
312
210
572
193
637
260
96
415
325
308
273
68
882
308
727
381
34
581
316
675
725
883
913
845
117
398
232
168
963
30
804
13
496
849
894
487
79
507
464
997
71
546
313
926
297
763
726
910
132
470
945
374
486
949
515
830
450
391
257
484
574
554
69
71
818
751
673
24
560
240
14
468
87
307
427
474
589
179
828
950
224
668
695
282
121
828
139
909
747
96
837
568
240
667
645
38
243
457
756
330
192
553
56
420
230
523
793
399
495
284
39
485
428
637
921
706
710
827
902
735
904
663
672
794
987
571
715
669
515
925
661
139
823
295
299
284
336
381
849
218
512
655
424
566
416
846
294
755
706
466
24
168
346
976
354
979
528
610
416
954
405
608
953
229
753
56
874
544
845
920
560
7
107
581
788
93
551
212
944
351
120
337
308
986
515
875
200
897
135
534
127
841
120
703
836
258
414
474
167
89
603
808
569
133
569
348
289
962
940
5
498
458
603
348
962
296
197
282
619
188
658
456
21
592
663
151
746
434
997
103
743
625
174
436
880
485
270
200
17
940
57
565
165
315
16
466
844
17
136
258
806
218
283
882
293
964
337
320
370
394
359
161
804
936
518
848
939
873
255
644
136
799
562
639
357
882
309
308
635
651
164
947
196
391
395
945
681
459
396
177
978
211
940
5
703
406
879
93
555
20
384
631
300
69
368
524
342
190
836
193
425
878
633
239
794
849
386
402
835
64
343
280
101
424
376
407
939
34
193
314
532
157
472
663
575
768
873
70
718
957
899
995
592
388
755
768
705
753
894
211
956
432
948
188
660
550
923
986
581
310
728
468
12
357
789
309
587
993
465
746
397
999
170
341
563
271
92
47
711
37
774
505
616
886
509
801
460
511
992
844
289
298
552
364
575
963
279
652
120
101
553
197
220
269
807
931
853
225
114
550
68
296
216
83
158
44
142
549
436
306
468
776
705
289
544
996
224
675
801
196
285
517
649
968
583
106
423
90
460
620
649
533
565
594
967
75
96
347
498
490
202
773
741
574
930
482
503
804
570
619
548
820
120
779
594
642
99
998
640
830
346
163
24
58
667
410
985
855
41
380
377
537
205
824
180
956
278
904
177
907
872
318
378
934
312
559
156
712
200
98
681
857
506
387
836
867
230
62
742
353
21
278
831
117
53
685
565
792
297
56
587
848
616
9
252
934
427
232
531
524
924
845
382
849
199
966
603
480
839
841
174
126
553
980
422
158
618
761
68
16
300
670
921
32
389
877
639
801
791
669
703
656
618
716
443
706
707
731
578
216
361
973
728
294
659
689
681
652
677
50
439
648
652
377
998
824
477
704
774
437
736
425
243
328
286
283
125
983
751
673
710
240
773
143
250
6
170
926
682
637
239
140
898
579
189
573
820
149
876
852
96
383
965
729
78
708
988
958
480
923
889
290
232
151
38
540
579
775
189
842
757
548
664
437
531
801
390
696
401
549
896
855
66
608
170
827
424
672
882
389
240
17
431
101
965
920
37
729
825
300
290
236
507
299
818
493
194
371
737
144
993
143
0
853
496
367
904
255
891
715
163
113
277
250
350
882
368
673
602
779
971
499
800
708
80
54
785
491
813
835
459
331
718
340
272
675
872
120
495
151
984
34
786
346
223
140
540
733
909
352
360
655
319
143
297
968
989
446
663
670
909
90
527
357
793
938
878
78
107
956
443
946
151
466
861
820
86
212
108
224
572
702
587
983
962
692
279
10
412
720
806
166
541
313
951
87
617
840
375
175
760
803
208
687
971
280
773
157
694
791
477
507
455
830
556
861
556
868
447
737
456
23
997
350
908
548
533
115
298
990
11
962
235
908
9
299
454
545
624
98
430
941
499
205
253
913
358
488
341
134
28
842
912
408
177
4
932
624
736
6
208
1
117
723
722
881
350
406
90
221
848
269
825
621
769
6
377
976
316
285
658
443
470
656
106
251
184
41
232
862
8
54
267
84
99
691
432
471
877
743
307
971
474
467
860
236
524
434
865
66
180
918
289
492
22
225
249
600
31
645
253
497
800
242
95
954
488
551
895
156
834
88
101
156
900
607
304
491
255
815
527
67
123
127
249
331
418
483
878
409
50
583
997
846
139
652
415
623
447
190
389
386
441
579
949
120
158
8
13
417
178
775
313
42
465
66
967
981
14
619
153
104
504
911
176
122
798
641
784
27
630
451
866
475
532
482
327
576
629
500
175
715
300
247
498
893
39
369
687
426
885
542
875
354
401
142
266
786
467
325
779
778
497
776
990
541
968
147
739
400
121
128
117
219
28
587
549
541
786
68
386
373
558
268
895
304
244
728
676
847
782
567
162
28
196
985
384
622
984
309
782
482
422
695
387
278
951
872
920
850
564
748
590
222
696
728
669
823
73
174
219
484
863
370
708
958
128
692
451
253
897
811
349
397
106
122
772
893
139
423
512
597
519
862
791
77
228
802
37
275
646
573
312
627
215
197
831
399
350
895
104
796
278
680
782
108
431
245
93
557
582
585
266
672
169
387
852
651
629
815
316
584
8
722
433
92
911
361
713
610
165
603
294
659
15
489
993
197
208
227
557
623
409
678
285
874
753
745
809
573
385
34
146
730
578
29
492
330
75
425
370
250
519
489
296
674
621
594
648
720
112
846
563
777
621
142
674
971
724
803
534
604
388
627
683
197
324
903
954
814
632
274
57
810
661
386
500
720
323
520
836
458
394
231
743
302
444
996
206
34
758
279
387
610
179
55
465
805
609
684
99
729
215
833
64
570
400
485
340
474
805
927
483
869
289
231
821
468
801
150
563
780
618
719
89
283
75
46
265
68
907
571
94
27
29
119
136
565
321
178
906
88
255
737
849
481
125
883
804
9
912
166
514
762
264
394
14
845
883
851
117
555
0
187
100
430
556
958
775
351
592
88
743
720
615
587
744
622
340
551
743
994
179
395
969
734
60
50
527
474
648
777
683
581
140
968
509
767
272
189
639
175
761
326
93
975
321
540
661
541
561
826
275
671
493
726
835
296
836
96
507
826
727
206
865
220
264
511
232
263
382
55
758
277
574
102
290
532
149
618
626
279
67
105
78
445
267
479
738
652
404
646
498
740
801
377
562
387
540
589
415
691
885
923
426
728
866
174
267
293
732
514
317
11
750
246
513
769
324
687
295
372
108
657
339
536
151
593
317
17
725
9
75
65
332
829
36
103
524
142
650
258
591
212
788
546
472
464
170
392
142
219
967
920
199
738
564
247
635
464
243
745
837
166
68
672
374
2
813
621
663
424
370
943
417
254
794
22
733
489
742
597
233
571
873
189
788
344
633
114
525
468
398
787
830
708
450
77
402
18
401
632
890
286
289
285
256
930
348
453
61
944
679
785
123
582
339
35
735
87
856
109
889
497
810
66
478
758
939
903
537
60
991
553
226
781
88
708
583
606
185
216
372
667
322
101
803
68
873
676
45
515
57
863
372
814
699
18
200
119
11
93
65
45
283
41
720
756
916
353
41
736
349
148
755
906
922
857
744
247
842
568
841
303
554
930
836
665
509
999
784
267
101
182
193
945
320
154
533
450
848
361
954
964
707
54
303
149
287
175
160
382
997
562
991
430
244
291
816
776
539
797
378
0
595
579
50
385
336
231
855
361
678
426
550
879
422
753
99
164
749
470
987
405
149
413
596
477
644
672
89
251
566
865
241
239
637
19
511
983
421
132
447
139
333
542
177
669
346
466
569
890
134
439
110
175
180
826
843
989
767
886
950
725
852
239
21
746
339
77
961
311
182
211
493
527
23
265
919
148
644
615
946
187
999
49
487
643
38
308
211
331
763
573
325
530
390
790
939
877
173
806
430
317
312
603
477
160
221
98
183
18
371
222
410
707
415
836
566
596
974
191
95
727
439
8
784
319
132
553
923
736
340
434
546
451
457
76
707
748
846
783
867
972
453
636
533
891
982
66
434
940
593
517
233
30
571
882
59
838
937
77
254
117
13
367
28
258
904
361
651
836
136
278
818
432
503
320
858
421
314
471
724
408
319
656
421
367
568
48
350
807
6
998
905
372
344
367
151
29
327
326
661
783
709
311
214
687
572
528
797
768
437
71
716
681
833
915
267
13
566
301
523
658
55
625
181
779
238
785
798
903
967
946
887
596
542
646
229
3
970
436
478
94
433
514
664
889
208
505
745
337
162
147
179
751
652
707
930
791
857
37
63
691
247
770
120
374
231
207
519
273
523
624
640
952
645
808
138
496
715
923
876
654
721
640
366
165
553
5
308
769
190
113
388
106
123
190
247
898
489
817
865
134
770
340
213
218
750
717
451
474
326
3
304
734
769
342
496
301
978
824
494
46
359
183
131
792
261
758
238
501
20
876
485
649
778
834
18
842
322
81
112
775
915
249
771
783
255
964
653
911
63
552
218
52
444
307
701
536
245
267
898
906
231
840
107
137
497
792
196
3
889
359
103
172
538
116
431
255
931
971
851
780
290
949
904
243
771
186
290
658
645
830
817
109
40
531
453
482
776
112
259
362
906
510
674
868
765
988
786
86
775
483
764
155
51
660
89
265
792
778
168
936
322
173
387
783
956
145
144
580
228
908
197
352
883
749
740
234
230
516
14
88
352
518
477
194
85
587
963
782
421
219
535
326
393
275
474
549
829
207
904
402
289
923
803
875
36
340
287
666
97
298
956
330
58
325
809
394
214
509
867
773
200
523
643
303
436
334
569
196
980
269
671
468
485
800
348
775
610
719
684
961
472
42
418
91
185
776
233
636
779
820
383
79
74
56
81
635
343
216
614
689
954
358
634
722
717
441
897
475
706
621
335
704
455
712
809
709
350
505
903
202
18
635
370
790
918
704
419
402
763
275
515
876
204
251
306
385
641
202
456
571
572
877
464
927
701
520
370
824
60
731
409
773
537
810
11
670
902
669
808
64
5
539
207
745
682
890
89
75
199
239
193
683
59
423
919
933
396
482
208
293
699
701
714
621
99
463
758
81
703
875
584
130
306
340
68
7
946
858
343
618
220
688
239
602
35
77
401
939
871
285
681
128
495
778
625
495
587
347
48
212
638
445
60
391
625
17
853
221
148
307
578
907
141
831
584
614
309
724
130
306
420
430
944
573
256
662
244
138
491
260
289
471
801
974
172
933
652
754
187
813
461
538
923
937
728
272
413
712
748
761
60
30
798
256
419
404
835
827
909
475
737
45
157
344
79
335
890
285
305
233
566
201
883
463
549
907
844
953
850
602
16
243
754
64
13
670
240
38
69
77
272
329
611
627
291
646
327
897
868
738
409
71
659
712
84
508
932
167
687
85
65
907
535
803
682
302
808
163
731
76
18
402
986
737
324
922
421
60
67
784
260
72
991
135
381
205
769
78
587
202
664
478
746
727
549
531
640
636
459
244
493
135
320
447
347
465
570
707
678
625
456
588
283
976
801
54
34
233
669
497
796
454
899
972
807
448
175
327
194
168
246
959
361
229
902
8
139
34
764
435
471
471
499
507
953
320
583
43
745
634
649
846
652
566
165
802
869
297
42
38
938
291
783
668
989
722
417
369
287
918
175
589
203
613
326
762
798
238
358
942
49
889
358
891
194
378
591
270
888
125
358
616
796
83
679
139
469
986
945
994
719
551
131
584
490
753
193
501
0
754
295
965
627
564
613
211
344
197
922
185
478
960
984
538
373
430
243
468
701
279
855
798
789
507
193
455
684
930
893
810
281
465
5
966
917
889
579
147
771
181
602
695
539
701
909
327
48
956
357
275
933
984
918
421
437
318
596
579
621
680
405
299
669
523
161
296
298
89
166
901
230
89
554
381
922
769
405
268
617
656
207
588
242
779
105
824
47
644
136
531
850
978
126
59
627
916
872
779
913
521
155
852
951
70
746
685
532
560
376
257
23
122
396
203
662
330
693
258
275
153
699
857
705
401
497
42
386
927
838
926
58
25
249
814
636
616
263
641
807
996
486
517
159
163
800
947
134
291
315
275
927
495
170
397
479
633
50
607
495
190
92
527
411
676
921
971
565
75
394
293
712
391
896
51
32
369
938
718
395
307
246
735
6
581
231
216
787
938
666
976
373
547
457
382
465
768
364
870
276
266
771
844
700
576
673
719
290
262
801
572
773
901
362
909
79
682
325
721
811
79
40
605
437
347
27
520
781
785
858
142
399
240
273
415
20
738
886
824
858
240
491
86
370
673
564
704
801
812
708
790
159
952
323
154
638
71
815
230
913
568
161
530
462
581
369
656
49
184
744
497
923
742
983
911
725
991
243
692
872
609
165
714
614
560
166
101
550
871
920
76
476
353
365
511
941
778
707
237
365
609
519
842
729
757
871
563
10
915
508
5
993
330
679
457
137
670
161
569
688
31
482
99
364
136
677
389
251
553
75
723
607
624
203
937
671
925
872
674
896
284
192
265
275
95
243
83
908
163
266
652
147
871
12
464
51
824
947
899
46
352
765
150
63
912
303
284
990
809
336
988
738
715
48
555
454
760
239
827
662
133
653
298
510
441
637
546
75
450
165
367
128
911
209
727
634
306
764
828
130
422
331
956
713
479
600
624
762
355
492
933
628
424
327
494
747
930
379
815
783
142
443
45
324
299
73
930
874
591
228
105
76
310
593
879
875
296
608
720
669
213
112
136
421
429
631
679
976
724
828
545
886
83
893
288
705
901
947
878
824
818
818
934
903
30
785
906
785
680
736
560
115
850
880
40
868
69
944
518
217
435
764
850
390
773
866
914
67
144
619
622
480
573
908
238
837
648
319
429
611
371
41
67
79
50
290
407
648
525
969
729
160
641
101
293
831
178
0
610
487
904
882
599
149
775
903
964
349
374
904
960
336
906
544
753
64
622
21
746
405
216
54
557
57
619
190
587
568
958
664
832
112
744
462
698
844
431
725
402
105
87
243
285
352
928
975
628
993
201
379
272
459
835
540
234
654
718
199
906
252
702
706
914
597
574
474
121
685
720
556
890
846
835
313
83
832
576
935
654
290
271
733
617
303
906
592
269
258
485
827
748
335
883
177
271
806
627
72
848
203
375
689
524
324
245
432
586
407
350
810
331
525
803
178
371
376
84
172
163
17
438
876
526
533
749
482
39
29
162
730
707
871
292
520
590
439
940
317
943
612
117
903
942
921
634
536
136
165
118
824
915
935
181
937
498
577
601
568
666
516
744
682
735
968
399
708
79
51
880
868
157
637
420
322
374
69
812
130
24
204
212
294
660
814
681
418
249
883
290
948
971
871
352
384
442
419
687
217
658
557
724
302
644
190
106
318
302
908
359
924
371
986
953
57
427
890
382
485
998
443
188
718
284
949
780
424
220
536
463
484
34
168
330
291
904
267
649
950
127
552
111
443
476
280
658
504
356
906
923
282
731
103
507
449
138
144
195
121
902
311
646
797
357
920
854
113
785
949
765
654
41
729
436
645
970
604
613
47
126
345
163
569
707
673
238
217
227
274
633
194
357
895
927
172
218
869
509
6
542
414
421
979
809
599
939
26
841
850
311
298
210
280
411
99
144
449
435
379
961
500
764
681
156
467
737
421
773
350
436
30
277
58
451
750
928
672
666
724
464
286
638
604
964
872
980
576
227
61
702
805
923
931
44
239
875
608
401
360
280
157
679
450
903
116
628
554
287
475
349
368
656
321
493
603
359
513
171
945
842
556
831
112
1
659
124
836
24
983
801
624
471
84
627
300
723
582
756
7
276
200
511
36
566
359
177
437
904
467
992
405
103
689
830
176
923
653
743
662
381
140
912
218
875
805
747
809
357
276
205
705
797
660
396
225
361
270
134
246
659
702
551
102
604
262
708
465
236
76
768
546
598
673
128
312
687
101
543
601
616
993
659
702
49
121
995
591
995
878
857
124
820
176
541
216
809
130
258
630
702
109
940
232
955
583
896
656
622
643
73
97
888
591
289
700
740
203
79
625
435
461
14
938
636
447
622
184
540
381
563
198
588
45
781
79
761
179
352
811
844
329
274
786
650
936
149
110
580
156
434
873
350
360
306
23
208
529
269
190
85
384
506
669
719
269
661
848
797
516
257
736
967
690
704
778
5
701
240
949
219
678
71
514
436
40
413
786
419
625
746
250
240
902
922
691
28
551
265
339
559
411
426
29
115
872
800
710
152
109
4
621
731
527
756
967
965
322
225
451
912
482
990
480
571
383
67
711
218
832
552
61
40
203
402
944
691
315
886
177
249
117
383
144
788
208
159
755
564
186
226
816
444
539
276
598
692
67
442
850
235
195
271
402
759
597
112
27
765
596
450
287
714
959
708
873
204
740
623
544
116
106
776
913
18
699
262
536
290
783
757
734
530
843
394
875
361
671
850
150
154
543
180
332
455
850
461
694
812
556
88
442
642
424
647
971
573
438
373
641
526
324
376
56
963
871
194
892
479
365
156
866
860
618
806
950
751
153
347
628
271
841
818
395
229
271
748
505
106
307
843
217
47
190
445
140
810
22
445
343
503
984
742
150
87
163
504
724
380
486
825
418
50
41
850
843
967
539
69
220
792
638
745
85
776
241
932
401
835
46
861
426
179
477
375
140
534
180
942
300
495
406
777
444
650
815
689
179
908
827
395
735
114
390
385
543
417
899
735
200
617
843
94
155
933
760
236
24
522
676
5
458
187
841
598
724
388
354
157
727
31
885
519
668
625
477
718
262
607
747
540
953
388
667
691
3
902
884
363
913
146
407
484
644
592
416
62
645
34
900
933
699
544
99
916
871
635
968
677
586
243
114
552
107
783
669
201
398
162
321
997
939
86
478
552
682
302
779
161
238
742
114
303
861
809
299
69
681
41
801
722
214
491
135
217
439
347
889
718
557
976
694
572
759
62
634
265
209
31
892
321
989
214
120
77
163
804
370
517
302
895
406
456
144
919
947
403
988
575
580
969
998
201
54
959
436
282
343
8
118
807
38
903
482
257
643
957
32
938
796
470
60
291
458
881
418
123
710
197
361
791
997
643
313
477
678
692
68
438
341
292
652
879
802
691
153
184
163
948
633
904
171
587
75
906
925
710
30
576
714
912
149
350
23
447
767
440
449
91
511
865
582
834
214
619
986
97
125
2
200
573
267
201
985
171
165
715
811
539
273
74
399
600
491
781
899
500
337
13
936
980
608
142
658
948
362
700
774
768
222
326
673
822
529
465
778
278
803
23
608
665
342
321
621
361
402
425
513
895
834
349
989
945
277
316
134
454
777
768
29
582
581
424
417
691
73
528
369
563
943
52
941
139
584
773
386
202
304
106
971
930
187
236
647
698
808
459
945
194
954
109
522
521
819
921
777
473
942
570
84
419
797
476
866
660
266
849
93
61
500
564
198
460
461
813
956
602
108
891
590
58
728
384
609
128
964
813
639
444
931
587
187
287
860
980
930
863
250
974
98
713
976
941
54
819
994
871
856
870
837
502
842
57
414
183
681
349
407
282
21
360
99
313
592
318
54
57
341
197
824
103
584
85
562
307
433
683
223
120
376
510
604
535
203
512
963
159
672
304
658
173
124
106
875
854
883
193
990
566
151
68
424
360
298
755
944
802
242
509
784
975
932
186
868
372
602
457
263
346
89
330
594
347
937
881
740
67
946
866
798
588
115
298
256
712
551
807
147
137
241
774
427
278
912
152
669
626
374
494
861
54
49
781
716
892
855
869
675
142
204
509
237
890
315
527
71
587
421
523
489
458
4
647
308
265
447
646
737
913
662
847
103
160
135
847
418
247
855
209
352
433
799
796
269
206
689
415
509
807
580
300
501
20
67
878
282
501
714
775
333
60
560
552
190
747
644
946
56
505
95
250
883
233
965
513
973
141
550
780
431
795
147
766
514
89
373
359
801
677
470
581
301
526
966
894
351
429
425
274
854
594
799
190
973
62
77
146
380
387
821
595
328
162
10
197
710
992
442
329
745
901
397
264
592
667
341
310
680
448
363
367
662
862
910
469
808
477
630
416
885
668
886
247
966
378
838
154
89
234
209
484
937
217
737
14
604
161
278
210
829
177
160
648
879
934
421
861
38
620
377
436
26
552
662
316
822
989
892
895
873
163
845
326
602
968
975
675
917
24
323
498
702
344
278
558
401
554
858
525
671
903
290
673
121
441
441
860
837
508
588
618
351
818
628
633
65
485
515
741
476
896
18
309
937
935
608
254
46
902
540
861
997
20
673
674
117
71
609
301
528
326
731
313
957
278
289
623
586
25
579
353
55
696
759
678
732
324
625
43
449
320
98
247
507
106
356
550
744
727
653
278
95
393
120
613
995
340
308
872
236
656
80
177
807
372
910
480
124
46
479
207
395
328
756
937
792
356
976
791
303
765
798
12
148
396
209
853
126
781
730
976
639
716
480
517
899
14
890
331
524
618
237
878
809
901
593
310
26
148
716
882
213
595
989
319
961
920
921
324
627
735
977
699
107
36
28
533
363
277
483
565
725
898
885
122
821
310
506
991
556
328
243
980
889
471
998
968
323
943
757
82
736
576
201
962
479
254
488
251
965
537
340
736
95
103
312
165
435
21
194
745
133
995
143
773
533
960
304
937
772
386
745
764
486
82
517
285
11
117
270
239
279
285
158
551
290
962
409
105
196
533
555
414
521
388
877
550
735
670
657
948
308
750
937
824
188
613
325
884
977
176
399
619
516
376
400
541
172
326
781
956
260
550
101
181
220
493
803
733
2
449
185
73
622
423
140
828
397
675
995
128
493
646
654
776
593
452
641
981
817
464
138
172
394
683
449
212
406
806
418
249
834
785
5
450
84
342
369
801
958
936
87
259
27
445
689
364
410
737
721
271
284
769
919
874
933
509
95
528
939
385
305
784
911
334
364
806
16
38
242
908
388
599
997
666
853
664
989
801
703
861
679
502
251
714
961
566
927
294
236
56
900
410
978
433
276
708
624
432
316
147
700
805
737
731
828
814
359
225
370
285
917
383
708
440
710
766
119
671
147
664
162
105
275
365
247
423
759
75
304
730
746
653
638
962
223
152
145
879
321
914
42
159
169
494
578
447
750
512
431
700
951
393
385
950
352
390
663
160
972
29
764
918
518
566
796
207
893
49
2
275
766
50
716
776
203
344
254
90
669
472
871
432
700
949
54
793
410
626
915
362
212
601
982
826
337
299
414
47
997
997
133
943
89
736
448
248
892
753
305
287
497
427
188
142
529
810
763
679
192
615
949
110
577
320
736
294
404
773
578
82
560
361
61
440
711
976
433
984
727
355
297
637
267
79
797
596
846
410
512
231
961
116
726
573
27
28
162
502
794
885
269
79
766
101
876
720
331
368
768
70
520
172
740
385
303
301
74
358
299
899
565
787
981
381
859
457
100
875
322
552
679
871
134
628
725
712
915
447
498
99
494
414
624
944
180
391
190
329
417
595
642
713
622
989
685
736
75
596
43
359
279
119
741
284
933
977
77
761
805
165
767
61
676
883
211
258
748
199
814
195
967
512
259
391
336
865
77
553
287
219
193
2
639
383
142
910
334
285
25
650
518
282
791
481
281
447
934
210
540
85
421
911
219
492
707
838
683
252
120
395
498
206
322
883
686
424
521
392
297
494
596
338
813
811
482
729
39
290
865
951
455
642
939
237
749
769
697
839
331
29
932
522
654
297
110
343
841
429
608
629
856
299
187
951
424
461
288
888
65
356
624
749
533
937
799
158
587
371
700
342
874
609
25
707
920
94
104
597
121
529
303
431
708
608
246
412
290
903
428
194
803
91
934
615
358
409
828
136
610
854
578
804
319
126
559
114
957
622
617
973
541
884
65
627
307
400
374
17
780
492
412
402
382
7
706
389
796
238
191
518
606
459
244
975
413
298
593
222
247
154
79
809
333
298
831
125
555
912
715
891
322
378
792
372
584
980
596
892
128
531
124
64
249
196
566
820
888
158
763
862
726
422
631
327
322
183
786
776
672
948
561
396
495
788
748
210
468
309
391
15
445
49
380
998
575
227
269
89
401
143
633
253
820
559
549
472
361
950
163
537
104
980
901
759
711
605
35
590
188
473
292
983
13
858
755
757
958
768
266
792
341
311
618
852
730
726
194
527
662
843
900
896
314
763
956
995
185
946
665
313
394
79
550
668
341
594
767
941
487
637
203
21
778
453
273
175
548
938
364
233
593
242
286
762
333
357
672
586
241
746
225
257
324
751
719
678
785
112
14
368
980
416
605
348
164
347
73
658
82
78
74
233
329
683
277
221
324
255
217
755
74
467
788
422
103
567
597
513
190
275
390
302
386
362
592
408
443
461
447
728
105
121
780
885
331
105
663
361
485
792
831
726
758
916
423
706
375
988
231
278
184
211
952
206
215
933
851
385
646
766
200
373
945
383
730
812
282
637
495
922
897
998
678
294
288
541
479
783
802
415
132
335
566
771
934
793
188
500
506
890
971
320
229
749
749
848
381
928
368
836
908
326
356
943
170
796
811
20
47
421
844
172
964
553
274
261
330
611
415
108
444
550
65
776
244
127
987
580
620
653
591
299
540
618
30
448
765
969
485
518
774
57
154
639
875
562
6
304
93
630
666
19
141
776
400
82
625
745
716
786
993
922
490
65
821
826
528
520
238
946
886
571
648
38
188
125
794
847
772
700
806
560
479
907
521
795
954
155
420
995
885
602
594
829
378
604
972
751
518
870
286
58
604
812
213
183
749
199
207
409
741
752
272
299
513
912
505
504
578
148
410
46
721
114
269
56
806
191
112
495
104
118
665
690
319
893
150
29
752
322
716
99
889
141
836
652
242
302
993
213
250
637
244
295
374
954
146
118
847
980
136
611
89
102
63
748
255
416
672
984
122
813
890
465
141
953
581
795
994
976
381
895
666
475
863
956
877
928
320
225
791
784
528
180
971
990
701
968
558
292
114
391
160
45
43
576
845
497
611
868
487
560
96
478
182
294
697
269
381
91
878
437
932
78
59
46
39
359
550
69
432
297
34
423
43
447
322
404
325
571
97
954
989
811
722
378
362
198
353
853
388
437
353
430
848
826
291
798
855
872
816
774
427
245
108
663
47
985
509
490
222
588
812
77
298
238
367
348
189
548
580
918
294
285
887
855
401
408
297
463
699
530
764
596
821
679
139
556
499
553
197
255
259
350
504
134
300
910
158
181
384
827
629
445
86
285
741
112
4
234
936
919
342
668
705
393
790
583
795
174
14
424
800
971
668
984
795
589
824
253
382
966
646
926
209
107
143
993
552
282
335
58
638
125
529
810
633
259
463
784
45
201
256
652
432
953
75
409
895
146
929
884
316
451
788
279
953
288
220
466
403
224
606
453
879
63
658
692
592
692
435
620
903
409
947
285
428
285
56
326
404
65
206
302
59
480
664
871
959
956
335
789
805
876
948
69
430
626
504
716
482
416
696
658
988
160
638
510
550
880
400
879
993
697
446
338
753
363
350
985
24
280
796
823
621
693
326
450
947
436
921
976
395
611
715
963
114
835
353
796
321
124
579
799
614
37
840
595
874
679
708
303
226
513
534
119
44
716
474
505
503
788
833
63
764
844
791
273
174
984
608
139
10
892
228
394
199
247
653
379
249
145
96
9
450
222
61
329
271
998
341
360
184
846
3
379
579
953
184
849
943
121
398
95
869
56
457
840
973
594
523
735
410
295
315
913
495
152
889
785
523
424
151
462
764
293
842
777
812
590
758
623
99
21
812
874
60
755
40
926
631
852
425
154
546
40
710
390
658
472
790
356
778
383
412
460
806
717
399
560
118
147
763
866
101
685
238
191
435
436
548
927
608
268
533
975
112
937
518
483
721
986
678
370
12
271
115
539
935
855
390
41
291
543
16
814
778
371
447
898
67
213
471
734
150
449
355
996
769
530
281
717
115
440
264
848
473
196
869
878
163
705
651
212
426
697
703
661
900
980
928
185
373
69
572
426
676
269
867
916
288
845
386
193
980
878
572
110
970
682
46
417
212
583
817
999
248
583
565
159
196
911
696
444
531
585
869
514
677
887
905
349
37
308
712
254
478
135
751
399
956
19
803
190
537
517
635
776
619
329
826
174
335
776
190
272
272
663
63
25
201
924
142
30
529
109
421
535
556
347
784
607
57
371
331
216
571
189
72
328
868
413
280
567
753
521
347
938
646
534
39
967
30
585
665
682
446
27
957
697
853
993
442
405
274
394
384
565
900
975
372
690
844
588
908
283
967
64
703
476
806
231
705
569
781
822
469
536
31
368
121
112
217
330
183
374
819
96
938
749
669
833
947
568
536
368
391
268
10
516
165
699
349
607
219
943
427
529
369
93
675
558
956
387
834
920
153
874
693
290
370
361
690
241
447
65
821
620
840
364
275
92
968
761
531
777
219
604
745
868
381
691
392
570
174
720
673
223
885
649
792
142
326
167
710
857
384
349
214
880
410
330
347
829
79
423
360
2
219
91
897
805
647
158
644
629
833
83
57
74
427
980
544
577
284
499
338
985
165
915
340
856
177
627
525
294
482
512
209
606
135
119
316
465
279
662
23
621
228
814
936
230
826
360
69
723
218
634
271
280
487
216
501
649
309
990
323
941
942
190
218
442
415
248
117
930
81
369
884
625
57
527
678
93
592
381
318
55
775
278
171
56
558
454
371
360
344
552
119
194
764
47
426
126
429
49
846
428
653
694
85
679
430
128
473
838
350
239
430
760
134
903
476
482
908
876
202
450
245
703
932
971
555
676
174
335
922
201
225
152
755
691
635
435
637
994
648
392
941
581
556
756
70
913
859
518
388
293
228
426
974
442
127
97
141
906
318
556
709
353
230
687
692
292
769
116
901
559
969
144
202
495
299
819
701
587
568
317
20
24
392
24
21
723
370
997
75
697
627
220
602
175
23
874
20
425
551
369
765
816
707
516
486
130
631
302
517
832
48
6
58
154
929
388
691
842
488
47
179
584
844
504
538
549
985
135
375
173
281
970
522
142
378
844
452
961
758
879
60
771
31
817
870
976
385
307
660
904
181
707
732
908
589
862
878
826
84
263
579
822
288
118
73
618
193
184
158
794
638
381
97
763
146
638
456
149
235
432
312
164
399
328
310
170
228
140
653
116
930
1
166
146
706
144
491
892
108
185
482
481
783
823
823
918
663
263
619
466
785
698
665
839
887
724
429
913
744
287
498
703
65
32
401
736
803
108
527
274
620
243
337
309
770
240
151
658
285
813
994
487
417
280
925
429
993
766
852
123
447
11
522
766
667
25
590
628
753
143
485
514
666
476
55
684
176
6
492
548
245
378
934
141
692
439
152
950
850
119
210
964
838
755
91
768
244
938
323
101
127
170
881
993
459
879
414
297
336
330
922
207
174
399
144
699
517
685
264
989
612
83
784
393
858
432
265
676
842
904
994
92
556
582
919
580
67
131
644
929
327
45
969
593
679
687
983
864
139
697
65
370
740
637
410
478
34
931
348
403
170
416
530
342
725
688
636
376
72
612
811
41
834
871
377
980
169
356
253
704
855
850
283
548
368
819
694
499
276
650
561
658
535
982
365
767
959
163
439
413
279
169
909
146
832
488
682
302
524
951
484
869
223
865
87
855
440
447
73
395
661
330
473
515
679
722
434
575
404
623
928
335
1
71
290
510
727
882
630
532
506
823
63
715
888
990
664
543
363
726
154
793
405
370
104
382
60
345
472
754
518
304
874
336
948
754
210
691
430
119
902
133
621
65
655
630
159
738
320
319
270
749
559
157
901
896
973
124
823
402
352
689
993
933
549
910
253
389
991
73
18
616
97
528
870
867
549
58
447
947
254
17
39
919
878
983
22
145
852
588
632
334
397
367
839
550
368
81
143
800
943
284
693
259
223
242
751
419
150
923
669
703
224
785
910
983
634
341
278
712
282
560
585
139
688
392
42
904
34
162
637
786
310
496
173
340
175
357
87
374
8
146
414
157
510
374
83
539
744
821
136
363
968
112
941
408
12
456
254
926
40
456
571
358
593
475
955
175
536
15
609
250
357
938
573
787
172
685
275
128
529
176
15
404
291
88
231
564
540
665
358
184
681
504
927
746
520
722
229
390
763
945
193
459
253
352
871
786
6
188
118
128
246
7
39
87
742
85
262
382
726
315
722
786
257
113
328
779
667
401
397
239
709
267
802
753
948
715
788
16
673
117
489
308
746
722
997
522
492
652
891
250
145
121
827
588
477
477
264
617
467
895
967
764
87
612
278
960
465
872
454
786
428
897
962
154
292
798
741
491
246
119
781
296
357
921
212
967
974
81
226
668
340
111
723
592
971
505
278
942
408
755
853
169
163
502
320
28
737
394
261
419
401
613
278
650
88
590
183
330
124
127
295
824
333
302
902
578
480
526
827
822
192
889
809
562
852
177
22
101
73
958
731
111
197
593
940
798
222
817
629
455
391
542
638
782
0
652
498
371
498
5
919
9
790
206
451
824
725
673
51
324
218
883
94
908
554
930
88
54
680
503
877
419
690
243
77
216
716
843
256
178
447
250
565
278
919
676
544
553
178
877
905
117
988
834
299
662
52
982
349
395
180
300
114
230
548
908
745
578
355
380
834
214
967
624
225
292
230
421
41
357
343
906
857
591
695
516
828
114
663
724
962
5
971
27
894
782
419
542
534
634
386
308
625
428
300
307
360
45
648
981
672
112
452
979
894
577
81
653
57
242
551
436
617
211
230
301
304
511
739
594
211
913
462
738
982
641
315
288
637
471
938
663
943
792
74
862
202
839
773
56
846
452
704
164
472
169
407
414
33
548
528
357
907
617
795
529
522
286
441
245
86
576
88
92
761
744
844
622
564
659
47
544
703
272
977
368
541
756
516
786
887
193
576
982
449
296
536
266
39
17
71
997
535
609
934
790
87
127
85
953
354
608
151
948
819
60
708
248
956
477
500
69
149
722
714
551
732
521
583
741
181
623
918
156
86
474
958
667
59
990
901
520
450
193
284
830
803
181
865
25
229
31
805
685
216
790
993
294
387
630
773
739
904
974
460
983
383
696
98
415
397
732
663
708
867
23
246
596
901
644
544
764
189
763
33
920
420
762
825
976
88
663
776
557
41
996
32
517
691
973
579
626
650
296
160
261
29
97
59
424
955
727
614
333
333
627
467
957
838
585
536
761
212
616
986
173
47
965
312
500
549
461
277
676
843
672
188
698
334
972
642
879
346
555
818
352
337
154
870
416
776
865
740
960
989
693
361
737
354
42
606
74
787
446
574
206
626
100
291
859
953
255
728
794
849
79
975
633
92
994
300
734
811
190
849
846
423
65
904
918
104
984
775
471
825
267
459
463
741
692
473
565
122
600
339
489
629
758
727
689
353
182
352
774
35
869
141
882
526
337
975
332
636
55
745
983
307
389
636
551
852
188
609
539
580
9
238
277
27
802
958
370
894
826
627
59
867
76
54
944
530
409
302
558
44
727
141
406
265
301
98
512
865
65
260
40
414
557
36
194
578
203
693
498
872
247
573
182
605
621
351
410
205
127
65
752
334
228
741
523
904
67
11
774
141
830
725
223
372
230
994
299
629
269
437
79
302
307
313
410
572
16
545
834
22
492
718
823
501
378
80
729
810
885
892
777
439
87
704
832
413
454
859
521
464
307
436
794
891
963
187
523
141
231
796
204
93
531
757
249
438
182
980
855
829
279
946
774
303
931
532
254
770
744
707
868
826
423
591
589
479
583
464
221
953
623
651
691
538
192
962
219
483
166
439
400
734
590
822
935
982
511
770
372
480
270
573
718
312
49
403
623
218
721
280
834
894
599
470
965
534
903
925
771
835
653
30
329
750
868
865
410
253
843
285
768
487
194
591
857
762
924
806
697
804
309
462
709
939
733
162
578
486
892
844
119
148
768
204
539
794
228
524
966
423
468
834
220
548
0
650
512
132
460
407
856
122
294
140
246
370
810
386
432
331
855
464
689
456
346
901
931
613
50
434
527
389
516
208
60
795
937
89
954
345
262
763
876
243
179
1
691
629
174
253
956
209
926
678
522
990
645
356
684
480
294
424
114
983
168
237
504
445
117
187
541
792
315
461
523
883
814
260
859
990
237
502
129
361
902
955
590
761
383
286
199
283
142
237
516
732
693
434
46
601
761
60
257
85
104
364
904
391
640
689
337
588
19
522
301
156
571
377
487
532
837
977
613
327
103
812
320
876
820
961
717
411
287
964
558
794
679
788
610
41
417
184
809
930
1
219
92
351
399
372
278
834
705
301
814
874
162
441
633
283
383
750
499
920
250
715
813
47
297
929
331
958
921
166
535
76
186
850
489
473
578
247
119
229
858
434
650
786
865
329
69
329
11
134
984
758
12
69
661
413
665
385
642
535
621
804
29
368
688
477
757
850
321
708
637
715
246
722
427
433
186
563
203
686
716
937
949
562
617
179
813
292
549
429
983
148
159
703
49
659
602
606
248
638
607
379
502
947
665
383
680
515
422
241
702
917
120
504
109
694
527
199
967
167
783
933
646
674
912
552
305
454
531
176
949
733
680
252
83
312
164
473
592
884
596
112
943
59
385
675
21
836
844
882
284
518
867
635
145
910
629
111
175
689
390
595
669
680
700
448
871
931
920
274
99
6
888
247
561
532
447
434
252
499
851
971
968
910
13
685
703
299
885
952
251
55
868
561
758
892
41
770
829
104
832
861
226
263
737
280
829
954
774
454
204
586
810
764
303
733
540
175
912
80
956
988
744
62
21
434
573
832
743
119
0
800
400
322
869
122
580
996
372
649
457
322
282
4
586
449
607
381
90
852
254
916
506
936
924
357
122
545
746
845
875
533
809
568
434
677
852
611
770
347
478
658
239
866
153
757
251
272
198
236
49
723
764
936
325
693
127
110
296
174
766
193
962
665
885
818
836
135
285
449
115
722
929
792
283
686
807
460
827
814
998
870
488
446
929
70
489
689
892
810
893
237
391
942
704
798
870
744
895
5
647
677
453
747
525
464
258
112
738
482
142
805
21
375
607
851
378
679
112
266
209
72
860
903
49
620
263
77
587
609
792
194
21
535
79
272
545
657
814
629
436
145
206
539
904
678
103
167
625
621
539
322
321
554
425
990
302
550
107
231
488
170
511
376
228
529
609
196
329
130
85
257
488
762
634
111
646
62
774
389
921
351
838
715
124
294
47
83
422
342
203
93
806
768
692
617
132
517
845
422
522
635
435
597
479
966
929
320
462
184
206
703
699
638
827
821
909
872
336
354
849
858
385
68
21
844
144
93
366
827
13
880
174
697
29
190
172
323
295
389
327
177
43
818
143
460
259
761
854
263
708
701
643
10
71
301
608
491
277
771
787
35
216
813
562
810
162
470
472
105
935
114
560
651
112
133
287
608
550
11
850
558
761
394
387
193
358
760
274
443
173
683
916
542
76
899
809
413
476
953
984
629
10
873
430
889
169
301
137
488
862
620
633
883
55
777
256
577
850
78
132
173
622
336
538
97
520
604
728
701
759
306
709
413
545
698
468
828
105
244
596
551
438
705
576
384
383
964
955
272
651
908
131
387
731
850
656
981
50
927
625
634
209
682
890
714
619
846
870
114
514
24
864
530
965
788
259
682
189
454
128
880
804
535
388
879
791
970
959
360
709
508
312
875
456
613
864
40
350
995
746
657
553
616
510
787
443
531
184
45
539
838
903
95
231
35
745
484
253
923
319
370
773
261
657
131
81
518
225
141
965
31
520
90
359
936
759
242
465
941
778
981
909
967
949
377
203
878
661
766
438
78
120
410
871
786
435
64
224
453
934
493
985
531
26
324
107
126
428
110
513
998
675
742
33
846
136
86
774
25
658
17
816
933
715
946
639
410
468
947
640
56
688
35
377
157
950
58
369
785
632
460
363
150
180
288
599
878
344
146
792
503
807
216
419
588
553
582
630
868
412
726
537
839
873
586
232
77
528
240
177
226
389
732
529
778
975
827
251
149
413
351
836
750
209
819
422
40
384
748
127
680
792
169
402
911
732
418
547
863
641
544
143
302
747
497
466
272
775
563
623
37
575
258
124
45
599
265
55
893
740
77
503
70
147
242
988
70
713
426
413
209
582
627
116
192
273
630
922
379
691
72
463
974
490
905
148
889
927
379
884
767
857
46
277
756
501
562
134
444
262
251
851
367
586
342
260
558
34
916
579
587
719
175
561
126
696
97
367
299
661
434
200
901
725
884
686
584
341
227
127
101
105
800
591
192
604
5
680
637
445
646
609
19
476
376
147
721
125
246
608
609
328
701
905
889
309
966
444
356
274
817
746
638
640
767
750
231
126
104
486
991
85
341
899
418
194
783
676
748
267
602
437
136
755
801
456
111
651
561
247
780
10
553
74
170
364
217
130
96
667
450
502
174
997
206
554
26
134
960
155
764
610
118
735
716
320
660
182
247
124
641
132
281
50
361
837
310
449
716
633
494
697
309
409
89
771
857
639
675
316
775
210
449
375
415
525
371
239
771
442
96
445
893
82
800
367
85
353
577
159
704
267
608
232
847
927
498
630
313
569
824
520
834
757
816
328
646
86
412
340
45
323
7
502
272
870
241
757
527
222
572
540
34
210
746
144
793
840
886
680
49
570
326
695
224
167
533
827
323
333
331
502
598
840
702
382
121
747
851
400
646
217
780
76
30
953
868
968
87
693
74
745
626
252
95
628
48
927
520
637
483
923
499
777
412
292
726
736
229
175
480
30
981
695
145
225
748
445
55
214
63
391
171
830
556
596
682
953
835
28
326
223
71
644
975
385
159
418
504
71
569
0
813
715
186
453
130
425
620
436
69
236
916
439
433
582
780
955
494
194
382
646
869
110
386
956
191
671
128
988
359
254
799
461
856
363
317
712
560
111
256
101
273
873
503
88
280
542
310
94
865
507
914
357
588
764
90
296
595
908
500
224
803
600
192
578
828
367
333
825
28
556
154
816
878
66
668
761
459
655
341
595
751
456
655
800
519
507
843
787
490
540
956
978
588
546
236
788
191
302
213
181
908
506
651
255
891
91
449
612
185
843
847
649
105
653
978
620
414
307
885
847
596
585
270
964
281
570
279
298
504
204
449
869
599
374
339
114
764
490
643
306
472
74
682
652
785
24
643
645
712
981
348
343
695
641
396
633
841
322
190
749
312
60
606
626
819
789
161
239
27
858
659
707
366
225
838
981
568
746
240
359
39
49
442
740
997
84
595
168
527
685
973
335
26
532
643
740
176
0
241
849
900
162
813
656
290
270
735
467
439
863
414
314
694
239
528
806
792
670
555
140
24
207
705
463
676
226
269
183
499
993
395
357
911
209
586
422
760
197
322
499
738
628
843
392
473
278
922
949
461
973
227
948
574
626
878
901
477
93
150
20
798
440
277
940
380
69
799
174
426
689
693
816
318
882
698
507
723
105
728
649
620
208
358
284
101
670
33
360
876
24
215
32
24
575
43
324
310
215
680
66
67
755
374
524
329
153
46
691
895
230
876
810
719
193
320
885
947
242
550
801
804
820
450
877
779
321
351
42
691
892
823
542
158
326
225
103
972
572
633
535
457
321
740
962
793
83
177
934
479
299
814
714
431
919
233
68
900
765
301
222
201
732
950
511
835
932
228
900
23
623
508
908
617
942
621
240
395
268
481
253
447
809
989
343
850
600
884
131
776
979
138
536
345
965
55
363
800
854
564
549
810
622
116
545
27
341
890
446
120
859
133
844
231
397
55
224
465
566
42
263
555
489
373
282
763
704
56
196
666
41
92
527
36
259
942
339
710
3
442
330
408
733
793
936
636
167
728
691
836
60
59
209
660
217
954
583
152
525
516
71
262
719
648
116
949
468
948
772
317
554
529
822
71
720
679
856
355
227
632
699
171
485
175
306
510
575
156
876
143
53
833
181
207
44
827
193
649
173
851
442
124
375
778
255
680
663
949
202
287
716
26
666
636
724
891
903
659
882
246
140
465
30
61
352
385
720
600
620
532
991
727
718
423
221
954
622
292
371
923
740
687
112
625
928
324
299
829
742
219
700
936
660
620
542
453
635
942
628
88
116
136
314
622
59
631
418
796
286
714
973
895
655
938
435
267
100
258
63
850
299
761
3
806
704
351
83
985
232
167
433
322
698
301
573
74
80
324
910
369
338
48
812
331
348
930
556
164
452
744
357
285
277
393
682
662
947
743
136
466
474
567
790
201
81
544
670
457
830
629
467
960
420
561
350
638
611
926
885
723
340
485
82
35
772
185
606
104
916
333
282
270
686
831
696
182
223
33
194
757
862
524
629
540
800
590
281
215
211
431
104
770
220
977
842
288
832
163
996
283
550
72
988
490
376
480
217
624
919
752
415
956
516
645
825
716
366
437
215
781
920
426
199
227
334
396
296
318
695
189
556
649
825
303
170
742
664
123
812
722
411
955
611
103
232
882
933
54
904
639
189
558
162
670
537
114
466
30
12
122
803
529
726
533
445
563
656
745
466
224
992
601
921
430
597
874
276
190
525
933
910
161
572
748
303
277
886
252
202
17
541
402
142
173
660
588
848
16
310
418
254
21
808
970
229
846
732
807
105
741
709
418
627
422
298
377
572
324
916
67
549
140
71
914
253
609
885
364
288
255
350
913
270
658
527
797
486
432
666
123
608
451
573
813
768
911
130
514
352
575
684
814
753
611
203
260
352
32
191
802
70
222
652
6
640
385
847
666
125
113
462
804
188
319
122
198
138
998
397
821
564
672
928
297
349
824
342
39
676
431
587
166
521
34
953
684
146
661
436
425
288
18
986
819
805
230
268
417
918
770
680
124
9
813
899
4
312
337
496
274
0
694
12
186
380
466
270
962
275
797
3
152
999
778
750
864
315
832
694
815
520
32
796
987
685
136
386
103
448
868
698
193
489
849
565
363
187
12
70
277
377
131
815
371
32
85
664
851
135
219
132
919
596
134
452
138
391
235
657
381
460
660
881
868
364
256
950
192
480
745
20
415
76
28
595
686
992
877
757
124
866
333
917
538
612
403
7
481
393
955
645
918
129
265
426
172
987
387
569
753
641
670
141
809
490
943
529
619
315
329
434
209
939
964
82
609
175
63
24
483
109
327
407
581
488
417
758
493
365
993
792
716
704
13
78
626
746
858
866
765
669
763
739
692
104
425
204
61
485
827
487
753
704
779
258
515
372
691
323
886
374
50
80
907
190
247
740
109
520
26
694
745
487
82
210
872
661
761
24
181
879
400
28
289
6
765
374
997
130
442
950
574
53
675
66
823
53
434
44
150
440
691
964
433
730
348
622
933
560
264
842
246
385
967
880
230
622
249
500
635
651
584
814
764
380
993
954
197
514
261
944
863
333
194
990
662
716
526
361
135
135
876
604
265
376
332
759
64
251
512
258
712
17
492
226
185
25
694
552
601
744
945
609
323
618
424
374
752
869
52
487
907
960
801
689
537
698
112
115
912
35
358
187
734
649
256
258
98
313
94
274
525
264
501
719
659
338
947
37
536
723
948
713
872
50
236
986
87
357
819
59
886
375
658
292
677
159
757
33
907
371
334
152
285
131
410
391
338
712
288
764
450
556
876
69
954
372
832
260
371
279
872
654
33
978
177
255
524
891
118
463
997
629
821
870
689
643
948
947
740
307
199
618
170
896
313
910
600
827
94
345
203
408
723
764
120
158
731
165
879
388
120
459
992
332
595
655
601
48
987
899
518
762
799
432
652
584
522
29
284
858
393
967
168
305
862
136
758
747
626
223
111
816
825
345
831
690
839
673
449
937
107
584
528
831
194
936
618
155
653
571
74
480
115
381
131
586
497
626
626
976
618
419
273
974
395
152
617
347
60
416
974
489
454
67
232
544
801
470
286
387
599
165
434
144
223
676
443
146
142
776
291
340
551
122
832
674
718
105
761
153
303
794
14
871
743
462
440
739
989
751
205
413
17
778
344
704
825
295
645
426
839
590
745
791
295
949
445
638
179
725
413
372
145
50
179
639
891
269
998
84
788
56
952
349
247
653
298
498
473
142
311
271
904
577
523
218
152
319
480
578
82
940
896
191
330
568
500
464
291
501
569
912
289
172
996
681
723
681
502
886
67
303
116
921
72
898
363
984
393
979
954
782
996
159
110
352
684
986
634
330
716
876
745
359
490
749
659
222
140
747
476
785
863
878
533
508
700
181
469
545
290
994
355
641
207
784
718
435
371
144
32
877
681
41
993
906
728
704
692
619
366
951
777
617
408
702
323
27
687
691
207
563
658
494
555
19
161
783
889
578
107
729
435
24
377
248
366
86
767
73
864
729
412
2
282
546
530
121
16
82
230
729
469
526
432
133
569
153
87
54
63
307
612
33
70
224
472
681
724
704
681
369
68
360
948
458
466
47
295
582
388
604
848
238
497
163
448
950
671
183
404
294
331
628
866
120
466
760
383
276
56
349
594
613
944
935
664
769
902
573
547
552
229
813
427
156
12
778
69
445
81
460
294
713
930
228
352
400
524
566
211
894
785
452
587
568
743
569
461
35
279
833
38
902
287
347
590
107
720
162
195
218
776
304
219
504
6
861
330
608
608
703
494
490
61
67
408
829
850
389
140
27
539
202
226
842
898
699
420
767
318
208
796
371
469
701
547
969
228
999
732
838
671
9
82
440
614
903
976
18
525
617
730
232
626
353
388
101
912
305
475
757
952
393
760
567
144
39
892
342
175
528
342
296
81
372
537
773
262
686
333
416
596
124
531
248
484
352
117
771
52
375
621
770
332
966
730
381
35
205
831
34
686
688
977
73
565
924
12
477
676
530
279
777
409
863
428
453
678
595
252
960
898
993
358
963
49
846
950
994
711
468
198
54
769
54
106
130
873
799
891
814
320
965
834
592
401
548
38
7
372
489
907
647
888
702
874
79
188
560
770
292
793
131
987
568
833
779
284
768
961
67
225
18
720
24
10
730
855
849
32
554
415
10
5
395
472
118
332
499
623
587
704
686
112
686
152
729
878
291
878
731
808
923
932
448
848
831
484
96
587
631
691
183
280
54
387
980
515
791
777
998
640
711
447
946
246
702
126
229
987
119
615
612
813
322
480
357
667
403
448
755
190
350
621
559
574
533
891
667
126
30
943
792
628
91
576
326
513
320
339
733
854
670
858
481
980
885
304
866
143
784
291
426
572
899
512
734
678
279
76
618
922
977
145
488
702
408
253
601
110
708
738
495
20
604
140
262
3
436
224
104
446
831
110
342
348
247
719
238
657
553
815
539
996
42
316
756
337
423
737
666
46
206
634
247
131
124
792
727
752
950
246
634
842
49
257
675
652
376
574
399
836
823
5
464
939
666
320
401
95
904
431
900
43
474
871
676
85
36
172
48
779
328
359
612
500
872
456
33
910
128
865
480
984
752
821
211
337
543
819
651
419
783
410
211
713
84
484
744
872
0
799
953
430
969
54
579
95
521
403
341
626
413
947
310
244
634
459
342
955
183
226
734
178
345
453
233
767
602
144
299
254
299
427
790
997
467
752
845
213
252
329
762
865
572
359
661
689
205
229
781
818
571
114
608
406
593
493
808
173
837
332
909
830
475
632
186
756
702
835
397
844
764
528
414
921
565
418
502
658
317
97
633
262
132
120
631
131
597
301
890
801
355
608
547
614
779
16
482
878
109
907
267
634
248
291
853
218
72
345
636
431
588
154
230
710
226
876
838
318
169
643
175
441
162
36
449
667
352
77
627
618
30
393
631
392
909
430
63
438
797
583
92
828
450
671
239
960
410
607
777
615
459
990
687
704
862
67
782
483
397
978
654
71
128
190
402
856
48
421
507
320
114
535
70
880
358
834
835
337
447
689
991
914
450
504
162
64
39
377
826
280
432
7
497
995
291
150
734
730
243
37
765
374
784
487
788
225
88
865
885
13
719
422
31
498
785
441
213
843
479
77
459
120
591
274
346
701
111
887
247
150
715
580
266
256
807
709
833
791
697
695
19
255
576
847
404
418
159
595
0
790
357
174
751
86
327
927
544
508
814
961
693
44
936
948
615
82
229
476
532
317
403
801
610
390
72
575
807
259
919
285
263
30
692
551
731
963
796
463
460
754
293
493
669
640
484
347
181
96
453
138
277
940
461
536
287
990
19
995
315
272
835
73
284
508
98
932
285
728
478
977
151
19
850
56
902
857
303
145
253
298
799
273
477
499
714
319
241
834
973
715
99
34
881
329
149
73
863
822
47
908
196
872
726
596
840
710
554
602
305
258
904
137
215
501
545
655
716
163
682
535
431
402
353
85
675
730
494
1
563
735
825
332
166
388
526
707
767
284
97
20
719
327
58
446
660
868
150
194
741
523
536
24
61
942
926
813
89
155
604
737
706
450
360
412
828
315
499
838
889
242
394
165
681
963
869
706
822
716
845
185
697
171
881
362
869
948
842
726
501
695
390
359
333
884
855
273
784
102
901
580
153
328
838
929
780
220
614
719
994
794
108
371
409
865
695
290
743
96
835
452
916
472
517
360
165
864
892
78
806
551
283
173
423
29
856
326
526
612
802
397
145
635
848
597
927
260
808
705
48
593
546
973
971
736
947
999
737
702
595
918
579
487
239
155
466
498
499
656
119
634
312
815
974
454
534
341
81
123
178
741
697
189
940
265
442
442
542
551
242
288
264
356
749
831
233
848
286
845
817
967
981
241
826
532
649
417
916
121
472
804
963
946
849
694
893
613
183
611
60
396
583
884
858
958
374
141
227
826
621
218
500
279
518
970
766
327
888
674
221
126
296
119
745
167
662
711
899
221
301
32
514
74
644
614
759
63
689
968
897
592
312
387
882
318
526
580
643
0
778
795
298
703
766
126
277
109
195
18
572
954
326
444
40
538
870
664
178
855
971
870
597
727
707
902
557
553
59
638
558
780
79
882
499
306
12
993
76
910
355
463
211
821
592
133
916
815
737
578
937
622
494
444
407
735
318
494
187
120
711
775
58
962
960
501
663
726
489
38
905
542
335
140
68
854
618
696
205
766
330
590
12
906
801
898
32
204
234
359
845
112
524
814
59
591
444
861
643
870
750
2
137
40
607
488
682
580
686
445
678
793
834
998
443
803
506
201
816
749
892
711
340
910
496
32
206
994
428
91
527
23
807
409
5
721
768
4
628
168
188
395
983
579
281
157
133
383
926
113
371
123
113
494
30
501
596
572
466
269
372
639
319
57
521
69
98
237
546
822
214
845
437
112
994
908
178
491
732
594
85
860
982
114
453
125
684
305
914
226
107
634
864
526
228
921
399
329
52
492
121
988
713
167
140
275
116
637
635
656
70
675
975
734
187
316
550
983
72
633
826
710
882
805
710
46
482
387
599
95
755
316
656
66
98
185
549
662
738
856
659
69
611
706
987
629
636
21
718
728
912
167
397
508
970
313
186
309
910
915
102
569
771
206
132
196
594
375
567
267
392
132
998
837
690
826
187
799
603
848
587
316
230
780
333
769
568
717
451
560
3
779
748
773
11
280
257
325
153
231
276
769
851
743
768
170
355
863
678
587
547
920
535
987
308
808
419
437
997
993
645
704
964
864
383
875
684
595
165
898
691
209
366
281
661
262
202
164
143
432
999
442
704
629
350
168
916
18
828
884
276
6
870
244
290
360
572
123
509
245
292
398
651
337
623
226
506
967
946
676
590
227
136
727
933
216
658
590
184
830
187
926
772
342
524
980
269
657
131
911
401
76
96
39
79
951
259
571
951
900
763
916
6
371
874
478
628
388
377
34
980
564
380
6
527
777
430
136
974
505
631
305
556
156
321
612
171
422
987
475
404
455
140
263
75
525
906
794
400
4
405
113
655
780
822
466
850
120
681
456
932
412
138
490
871
651
226
529
803
416
153
399
31
744
278
119
86
487
394
13
356
761
124
247
557
943
262
279
798
134
18
883
873
519
155
432
655
313
844
383
792
752
621
70
221
631
64
472
844
239
568
231
657
224
536
660
793
183
226
136
951
882
759
598
475
711
366
448
970
343
315
341
294
623
340
136
336
270
573
991
957
688
349
643
885
588
159
476
861
605
885
509
973
724
22
1
568
113
581
353
757
180
335
375
322
496
288
520
779
929
979
965
248
283
438
676
845
386
249
775
721
284
181
818
979
232
694
871
273
835
558
138
811
513
109
240
49
583
774
813
221
606
869
968
555
859
146
39
422
486
780
911
953
176
821
650
122
848
382
259
188
407
331
430
431
538
749
287
892
563
558
918
289
845
907
407
353
399
138
753
541
103
174
861
506
640
884
283
387
620
672
93
306
681
912
690
555
739
569
476
135
135
350
233
819
120
249
637
473
655
778
968
255
149
755
944
882
155
915
852
947
625
159
446
374
263
781
118
655
115
924
288
638
582
816
750
61
310
998
346
686
18
987
744
627
43
410
91
997
192
632
123
849
677
602
120
836
106
290
606
805
588
711
909
569
345
368
337
963
583
768
985
259
560
432
702
218
440
844
799
639
665
814
344
686
100
72
31
691
155
291
844
961
89
194
692
50
549
353
343
41
596
931
7
95
783
222
979
446
698
305
786
243
919
150
914
892
395
551
378
779
730
779
621
617
612
451
328
623
401
195
773
27
593
433
753
686
223
297
396
153
345
609
727
110
996
441
173
981
938
500
945
505
684
637
12
691
261
421
474
828
779
384
278
824
526
692
211
184
993
310
806
451
706
675
350
956
868
566
604
725
201
768
853
199
175
81
692
662
82
234
878
49
891
231
404
53
442
268
984
755
727
131
800
164
44
360
786
877
99
758
171
680
866
696
699
591
269
331
843
750
153
432
878
379
669
429
38
242
872
424
985
575
347
699
417
740
893
565
3
386
27
699
684
354
188
403
996
652
786
27
10
85
215
131
743
800
827
178
718
850
898
238
467
667
706
30
88
81
157
683
303
707
196
732
179
109
464
277
21
668
279
183
342
255
219
693
603
407
300
828
975
753
936
385
931
696
695
623
58
497
846
745
971
963
450
817
64
816
625
454
644
875
427
899
688
798
98
48
805
676
978
251
397
17
859
192
782
849
465
648
806
893
51
180
76
789
108
298
221
43
748
702
635
26
892
618
956
590
95
255
950
138
602
529
786
845
328
328
815
636
862
868
30
960
264
67
329
669
86
693
947
243
901
400
225
226
984
765
119
559
268
405
448
654
258
661
389
471
230
910
895
278
246
417
927
71
235
283
698
946
218
284
830
466
811
399
691
889
153
871
401
664
582
13
938
839
393
423
117
369
236
318
449
863
509
0
177
312
791
244
173
346
215
269
560
886
770
634
766
978
805
154
496
164
286
248
995
665
502
819
324
95
883
756
342
593
556
420
9
89
389
924
383
206
571
761
957
519
899
369
204
492
469
72
951
586
522
151
332
1
157
484
314
230
49
2
529
494
117
501
14
274
827
669
810
824
670
911
305
443
779
956
766
140
356
88
271
87
62
622
621
678
397
199
759
50
468
862
817
949
778
499
952
126
295
628
781
5
375
777
787
131
904
227
453
975
609
810
366
649
104
518
222
850
229
542
580
632
918
433
934
443
849
846
17
763
797
623
809
606
602
766
464
622
11
369
91
495
547
517
774
243
463
288
581
368
581
961
988
535
469
129
871
600
114
258
997
384
63
3
825
611
379
318
880
23
455
141
832
507
146
793
967
759
272
28
343
825
425
118
769
721
927
813
406
967
894
435
845
478
485
844
426
815
319
657
740
36
556
262
73
318
457
826
553
628
310
289
496
306
375
819
834
377
258
920
201
16
907
649
520
62
912
975
308
583
156
921
31
920
914
134
195
309
202
639
837
693
885
664
420
177
543
396
910
1
624
706
90
584
390
144
385
592
802
693
405
134
672
748
757
798
176
509
654
569
960
186
314
441
595
183
639
570
317
463
645
769
85
721
495
969
653
494
541
893
993
288
448
50
990
168
264
260
714
641
459
754
881
611
952
794
239
388
183
611
164
480
452
420
443
427
939
581
881
87
734
931
348
47
290
64
57
114
424
814
271
29
159
973
388
67
170
105
627
68
853
114
84
712
698
362
921
622
463
539
785
857
890
367
49
734
642
653
54
948
75
991
509
813
590
890
150
807
846
154
494
923
354
733
287
505
312
376
927
476
667
37
885
43
70
190
392
318
828
363
99
246
335
66
583
250
499
48
874
103
294
319
898
160
904
741
2
112
21
892
82
610
407
146
18
666
127
753
802
726
955
238
570
322
498
721
0
972
735
461
430
882
605
977
728
96
533
599
256
280
746
279
813
153
575
335
434
179
555
154
580
395
126
832
72
551
187
292
292
896
40
158
522
430
202
114
114
455
287
628
5
798
51
162
810
906
941
329
517
580
325
789
419
574
565
457
419
934
558
673
662
135
548
7
82
453
999
202
967
529
6
792
353
281
763
76
417
562
432
320
51
277
676
446
106
860
927
120
623
468
908
740
538
561
732
312
709
963
716
960
209
452
372
695
107
809
274
360
207
670
211
356
979
498
207
608
558
907
386
945
394
230
136
297
115
167
607
25
711
917
953
409
881
564
891
514
643
325
727
129
742
343
160
68
713
391
851
254
158
187
462
903
993
752
36
448
865
37
751
693
286
851
306
425
449
857
204
666
638
138
113
697
895
81
911
351
901
229
146
577
568
78
742
116
368
919
858
663
938
149
16
639
385
31
324
828
122
372
769
821
881
321
748
346
29
517
265
754
104
710
656
182
783
882
667
967
787
569
721
40
627
172
466
200
993
46
282
670
582
807
863
580
818
164
303
822
587
653
197
308
239
239
833
901
88
663
11
226
509
299
276
101
249
555
893
118
993
882
859
497
233
903
767
888
422
201
348
241
576
252
319
299
108
988
682
754
57
1
317
433
853
98
321
870
336
174
245
494
341
557
479
511
812
988
596
266
137
354
59
752
271
333
585
500
279
710
594
786
988
867
775
363
359
788
191
469
615
784
306
71
406
384
511
615
899
289
415
259
666
451
498
429
917
331
513
224
242
681
622
947
795
82
618
900
808
441
342
350
781
348
719
587
897
734
9
284
427
120
627
389
357
450
461
74
675
324
34
681
756
664
213
116
908
413
542
313
169
175
333
987
979
334
597
367
920
318
315
382
696
15
744
482
667
331
454
785
430
665
245
261
150
933
730
368
868
726
761
373
789
610
53
425
452
141
387
148
878
416
77
875
265
945
310
829
344
342
735
93
692
179
806
129
204
186
151
733
407
329
587
942
563
382
871
960
871
965
264
370
75
484
286
331
621
302
471
333
241
644
142
852
838
887
299
643
259
969
39
269
580
247
188
310
205
750
261
821
598
550
991
57
411
714
371
858
535
417
708
741
99
234
246
846
148
607
580
410
859
811
186
21
943
460
580
759
328
118
298
810
447
650
838
176
790
955
68
341
929
479
18
577
845
514
822
132
539
894
250
107
136
328
786
850
695
877
364
709
236
411
659
268
557
104
373
537
488
673
810
360
310
708
283
852
379
4
208
262
134
338
177
118
253
755
634
37
175
924
618
543
987
212
835
806
52
279
2
692
288
861
167
172
20
572
598
528
31
711
438
385
868
221
171
469
514
669
219
873
811
164
393
352
472
156
76
149
306
605
929
875
608
136
493
335
263
707
502
150
24
818
131
615
190
29
612
151
274
980
769
729
503
350
352
178
968
430
572
6
84
528
220
940
497
970
901
804
55
633
302
56
445
863
277
503
853
511
817
840
320
91
879
225
220
452
913
816
520
673
775
743
274
373
896
681
220
311
797
745
253
295
601
996
786
374
724
901
946
875
556
708
782
231
358
528
630
844
136
831
250
802
146
991
879
438
445
971
522
98
10
826
669
873
441
348
653
9
934
42
499
812
553
783
488
912
580
702
401
327
978
872
136
4
365
508
49
908
622
162
566
894
931
816
363
237
413
478
58
20
921
286
720
313
560
482
983
922
886
119
272
265
805
588
328
320
996
345
136
886
559
549
274
701
653
437
254
405
29
258
182
717
965
216
161
498
761
217
68
543
154
130
450
82
283
940
564
324
402
506
745
254
593
958
605
539
437
718
33
971
847
520
678
977
713
75
576
55
645
331
926
673
301
8
815
1
951
605
845
604
381
850
582
24
248
151
932
195
806
33
127
789
992
543
988
580
579
177
431
42
229
804
128
769
342
82
627
312
695
69
553
159
22
154
738
258
96
257
151
827
708
137
705
181
263
398
740
117
913
30
122
491
422
38
451
596
939
116
178
921
401
5
212
970
921
788
91
468
705
618
510
684
217
399
448
747
337
135
300
257
818
933
963
995
639
478
402
734
76
527
309
59
581
993
541
937
621
588
981
887
367
683
312
612
390
630
415
175
272
55
206
813
704
649
367
495
552
289
196
367
964
892
573
936
180
151
33
737
209
890
247
690
647
647
588
77
349
36
246
900
743
532
337
4
161
380
436
824
370
827
970
907
730
601
48
237
77
915
641
661
724
65
52
68
444
249
7
268
200
698
813
983
971
573
261
856
899
405
925
589
575
867
247
109
144
986
523
381
667
813
250
971
915
169
426
935
270
90
57
895
904
756
663
390
212
583
524
915
167
772
382
170
856
914
952
21
98
797
167
57
697
656
516
110
372
277
365
137
423
13
630
930
661
187
158
681
44
162
946
969
469
560
835
743
182
324
489
804
793
81
741
816
64
308
760
393
658
416
467
226
226
303
563
682
458
397
678
281
174
11
122
289
398
728
498
537
574
51
188
386
802
307
645
93
739
419
269
26
268
338
635
573
482
420
986
511
131
31
409
296
240
622
571
528
994
458
315
218
570
647
997
345
618
171
502
215
732
441
715
903
155
504
629
631
764
310
109
940
179
641
21
16
947
701
348
198
114
413
861
814
308
859
268
839
5
449
881
963
562
118
475
893
906
628
510
569
834
896
79
623
364
668
241
107
401
606
201
256
132
737
793
200
114
988
531
990
500
24
31
799
471
894
394
654
314
512
229
343
853
712
902
928
597
533
202
936
423
441
973
705
390
488
963
511
921
935
725
295
511
378
883
882
651
444
117
869
456
167
408
245
731
915
944
508
677
677
467
791
527
815
214
700
239
628
157
841
201
110
70
368
845
60
3
839
875
582
811
84
774
121
474
372
853
495
183
405
592
884
673
187
425
36
346
124
716
778
516
142
340
130
823
623
355
563
593
415
811
254
480
278
885
640
978
511
466
788
330
332
369
576
261
73
714
743
665
345
731
633
98
149
60
557
830
440
839
400
899
619
22
367
315
293
838
827
654
505
778
441
97
718
304
527
131
122
122
338
35
761
598
259
852
759
424
391
46
744
903
514
3
151
109
473
387
158
374
375
276
781
463
689
722
121
82
58
165
524
2
488
63
826
313
82
700
392
652
501
662
393
326
394
226
388
735
819
234
8
687
922
313
304
801
88
840
949
813
840
706
326
90
982
792
672
332
455
724
668
433
506
662
117
408
109
417
226
970
688
601
123
527
514
275
52
379
804
629
602
634
268
216
110
512
337
608
486
737
357
633
58
463
719
295
643
101
528
513
580
792
881
23
58
729
920
507
112
538
600
679
905
850
510
460
898
510
162
833
135
287
198
954
288
515
759
767
936
822
196
25
762
11
352
463
272
132
377
964
82
217
210
80
30
221
522
525
106
721
288
43
659
216
471
343
304
498
22
150
444
785
22
373
809
958
711
854
942
319
782
707
296
892
401
913
923
844
94
583
721
628
405
998
299
350
369
536
984
42
194
250
273
673
576
82
289
510
896
236
673
401
944
778
238
401
265
515
326
716
967
443
220
898
126
947
463
910
233
398
198
813
209
376
715
275
305
102
410
219
953
487
475
820
576
975
818
168
168
647
668
316
456
689
964
966
26
255
619
507
274
540
413
404
531
285
522
267
377
503
932
285
271
566
273
296
580
38
810
169
301
336
145
24
853
426
104
841
672
813
504
407
899
391
502
620
784
831
852
42
327
422
948
620
585
398
370
266
835
439
388
660
470
931
346
617
366
595
378
658
639
18
196
368
270
130
510
766
100
384
677
439
192
694
524
924
215
370
804
944
678
109
571
784
344
204
392
344
420
891
922
959
946
118
525
263
219
281
344
721
386
171
605
870
973
431
797
998
803
110
339
53
969
429
867
614
575
371
817
336
136
903
429
624
809
714
395
568
964
522
520
405
254
343
19
707
393
650
275
403
574
163
561
447
862
938
292
961
347
571
523
843
279
176
593
2
1
721
617
635
114
592
955
522
338
85
588
646
811
670
488
599
423
24
832
596
864
521
297
626
11
804
500
763
124
27
343
594
508
257
34
833
632
694
452
93
890
977
770
98
707
920
225
840
305
45
595
871
968
116
804
88
445
770
643
112
788
27
200
603
676
533
838
332
905
826
9
497
589
648
952
585
576
622
146
17
856
73
803
213
984
219
962
797
439
569
567
138
29
456
150
543
543
273
492
946
359
705
369
899
168
557
999
670
42
120
382
60
94
0
608
481
129
426
537
42
451
38
251
191
624
361
597
648
142
492
457
121
290
579
588
123
765
473
841
262
414
47
23
561
740
917
246
703
382
978
311
408
398
758
481
771
373
926
171
275
548
781
92
932
10
591
589
711
251
994
248
922
3
706
469
887
370
43
473
57
305
211
137
448
361
881
802
238
72
723
615
725
79
399
344
704
676
530
161
625
566
103
104
640
521
540
419
655
976
507
468
981
450
471
59
43
812
690
274
159
408
898
681
303
687
867
174
794
978
502
530
128
147
64
319
403
52
842
325
367
26
542
866
227
971
302
926
530
95
980
742
570
445
387
918
927
714
287
182
207
459
301
190
859
669
269
979
834
984
900
823
586
840
453
325
578
346
46
468
704
793
645
78
289
249
655
153
107
907
808
375
596
702
200
107
317
378
429
199
417
128
802
541
17
716
195
779
466
656
341
566
836
29
129
127
212
149
507
527
126
551
643
429
155
299
890
832
479
536
507
803
613
678
414
969
113
90
337
452
598
223
160
980
365
194
820
868
652
983
534
287
274
637
844
136
930
126
31
907
506
647
184
230
204
190
424
163
561
606
322
448
788
612
134
661
391
16
545
932
585
89
994
284
695
919
33
671
197
904
827
644
560
883
645
914
311
231
68
624
235
386
672
218
375
999
810
423
714
569
604
468
271
915
228
184
772
942
361
584
14
148
690
466
205
447
761
356
550
914
949
674
836
758
921
180
570
56
189
685
494
900
568
519
957
889
5
872
594
751
498
277
366
226
784
92
942
619
575
699
48
688
224
371
470
835
43
123
555
6
442
452
763
26
957
15
245
599
780
671
165
470
459
948
658
907
220
66
580
513
202
440
783
78
25
340
810
545
969
425
246
293
142
525
196
718
295
723
656
769
792
893
752
17
550
989
951
478
735
243
929
46
928
568
388
881
17
855
14
556
394
144
290
942
433
968
242
798
187
312
724
292
868
306
304
266
252
78
278
829
596
8
680
547
78
396
526
371
379
578
200
526
888
708
644
154
867
420
306
950
154
69
263
480
410
653
458
78
225
642
403
658
250
503
425
819
514
593
309
616
7
333
603
329
804
21
298
267
963
508
794
471
358
646
168
386
739
612
553
299
689
593
579
560
383
95
531
619
418
18
31
82
636
170
702
337
664
221
41
136
688
189
249
70
315
236
889
503
670
171
819
749
299
721
834
897
108
641
514
296
482
729
674
592
225
592
658
977
880
937
925
910
554
75
847
751
102
848
601
468
686
676
640
737
84
980
20
355
17
241
929
937
183
230
482
19
893
33
882
91
898
993
539
361
565
532
251
597
128
545
627
813
592
641
215
634
215
794
763
141
785
821
74
68
522
727
523
928
910
125
942
253
791
577
573
773
661
755
453
780
269
98
993
180
414
543
960
601
168
43
810
109
461
879
954
572
424
454
304
767
284
231
404
272
700
14
424
550
693
505
190
858
558
241
375
575
408
937
124
586
566
225
625
811
168
719
43
187
462
196
943
156
203
399
8
587
575
174
75
323
756
240
395
120
902
962
699
837
540
499
258
968
313
895
451
557
946
600
517
613
127
119
799
147
800
359
496
762
261
390
608
960
834
152
589
534
873
613
410
547
631
969
973
293
639
197
52
511
270
873
465
61
369
465
53
801
134
739
884
345
341
730
717
399
113
635
222
447
94
570
438
111
208
791
216
699
614
541
889
453
417
942
651
671
406
302
583
222
542
201
760
895
857
383
959
912
855
652
448
904
616
545
405
159
144
997
829
793
763
795
202
925
227
550
486
878
698
652
823
309
731
808
635
904
395
915
827
283
233
47
377
787
547
336
348
31
362
994
270
825
730
776
340
853
520
788
704
540
407
749
368
993
380
909
116
441
96
529
639
836
335
931
373
613
150
465
977
833
650
533
919
284
875
948
831
146
711
577
756
565
69
598
867
19
981
314
617
971
542
488
853
108
853
518
622
59
33
893
252
420
825
353
666
629
244
264
809
341
66
756
792
728
578
977
115
190
636
362
443
628
222
614
965
602
752
895
412
909
388
987
491
697
712
313
966
339
981
61
303
102
604
178
777
134
373
872
355
574
144
603
923
776
951
26
118
876
385
339
765
64
734
911
545
374
934
477
621
339
610
500
66
101
781
153
426
176
904
267
555
507
427
745
396
351
357
9
445
520
102
229
628
834
474
106
228
508
700
256
486
584
194
673
568
44
926
636
832
513
960
525
248
915
776
937
834
129
228
39
711
929
475
159
776
331
5
926
690
803
467
274
364
158
308
412
682
110
764
936
2
36
602
644
404
466
341
888
43
902
57
419
894
492
449
327
108
603
551
193
269
286
529
412
166
571
743
732
772
925
406
76
178
641
12
164
348
657
226
504
947
897
986
585
66
30
633
961
434
572
47
790
893
821
882
822
971
742
569
168
119
544
991
930
91
531
928
803
10
87
217
191
682
496
618
358
908
20
944
274
777
305
670
164
104
4
956
681
156
172
869
114
393
805
549
866
295
882
290
956
33
846
26
713
582
975
969
8
378
778
803
15
954
621
317
712
846
59
783
219
940
690
70
270
940
689
823
471
352
307
252
205
386
307
339
371
837
608
431
11
540
531
917
315
11
515
136
990
186
186
34
628
558
839
714
751
403
477
627
818
684
219
104
290
44
411
142
50
592
384
914
500
611
553
534
412
459
469
717
407
684
90
164
88
491
50
703
259
707
994
307
563
475
193
208
17
326
60
494
307
261
535
749
96
323
821
308
882
293
138
197
120
328
291
761
875
266
892
285
332
280
756
516
350
863
485
835
63
166
431
494
636
411
924
961
841
45
544
392
750
940
108
664
177
135
918
775
450
287
283
118
992
455
124
790
772
428
961
125
941
517
10
818
900
218
906
930
818
108
517
270
709
789
742
774
479
635
906
18
93
566
218
334
591
990
290
431
909
885
73
215
824
443
434
779
731
460
818
449
732
189
394
740
383
322
6
90
383
844
594
96
368
66
275
256
748
104
583
932
975
61
613
324
312
831
908
724
922
894
992
163
455
951
679
491
54
790
224
918
395
546
92
675
160
2
155
544
590
21
48
633
163
927
361
293
44
28
623
725
747
573
46
821
361
308
299
572
740
11
91
239
45
348
312
250
582
754
100
645
204
930
97
717
218
66
773
965
641
176
649
798
471
820
38
407
206
359
782
77
571
354
893
161
553
485
363
518
852
209
934
620
786
416
288
957
495
695
880
566
700
629
143
475
745
421
526
754
232
991
460
650
544
271
5
855
128
420
10
328
878
886
379
927
531
526
5
509
979
430
449
349
850
107
539
147
164
781
618
275
537
659
960
110
633
185
198
671
321
601
972
328
352
181
522
329
445
9
974
437
540
654
315
370
342
460
867
409
779
637
863
28
773
806
797
164
805
528
918
419
159
929
630
224
408
308
677
863
510
197
6
515
969
987
233
271
209
521
389
664
390
759
322
603
708
993
578
394
476
965
133
723
89
478
273
955
389
269
495
354
923
377
222
192
190
861
777
978
72
404
380
127
315
48
259
142
221
594
5
941
357
266
756
923
422
975
358
794
468
969
218
701
469
191
152
647
146
764
60
206
67
457
744
581
544
178
193
597
218
980
538
847
984
507
600
808
1
963
680
228
359
439
284
5
197
328
469
576
830
822
969
316
874
187
468
586
786
41
787
813
991
559
490
880
863
862
881
476
238
347
732
212
533
879
244
141
59
895
73
629
37
464
785
584
593
840
371
820
925
194
930
448
357
607
664
537
967
893
998
252
286
450
95
730
148
932
583
931
30
776
413
643
669
489
691
801
443
965
442
978
248
20
112
365
652
313
921
462
490
293
613
961
723
595
545
402
245
273
130
997
786
611
790
739
554
67
899
133
336
344
434
131
426
490
64
51
436
924
402
263
592
304
609
525
163
148
4
585
371
119
676
625
703
781
293
262
425
616
422
647
500
480
300
155
180
537
638
872
396
853
944
608
769
554
834
185
563
991
611
246
599
44
571
171
40
611
89
907
695
601
468
611
83
961
860
323
889
496
817
402
42
252
597
190
6
221
617
120
171
551
207
601
904
267
198
328
217
698
123
946
769
894
724
178
801
0
168
383
430
122
409
543
542
389
114
200
238
706
162
590
684
935
781
204
71
163
195
375
207
686
839
943
273
305
652
364
719
59
456
44
969
90
750
141
813
335
178
551
182
190
948
708
107
503
921
466
375
14
278
696
928
696
507
931
608
30
229
339
671
179
561
778
2
59
521
58
679
572
224
589
757
631
964
162
108
179
269
835
304
170
998
992
110
574
833
448
151
463
945
919
68
866
841
885
859
862
35
766
926
690
448
986
925
766
851
684
40
974
70
784
250
621
666
759
522
318
49
485
546
974
814
155
592
750
619
702
780
153
73
396
600
185
534
999
266
262
701
638
110
578
632
320
486
647
811
165
781
501
732
46
807
169
832
229
833
794
615
107
350
320
253
8
179
666
459
975
556
49
980
780
441
779
292
154
761
590
424
788
909
15
973
671
316
670
76
253
1
228
322
371
479
584
452
758
122
204
557
136
663
340
706
313
524
282
456
585
211
406
572
432
680
918
571
510
662
254
807
323
87
234
146
224
477
719
938
384
329
464
304
755
211
594
203
371
714
277
635
626
244
618
426
392
79
744
725
276
494
813
972
257
552
890
932
173
802
733
555
296
284
475
180
378
177
250
427
687
670
989
986
544
533
407
136
265
309
212
815
119
442
693
831
719
266
423
170
902
441
192
860
822
751
640
776
906
319
125
689
236
760
395
509
554
735
989
957
476
869
176
782
193
364
114
497
875
600
520
488
603
905
23
259
548
16
404
833
464
537
698
876
644
760
717
286
822
149
217
795
617
243
773
125
270
256
940
597
713
519
435
659
563
579
668
365
220
346
985
223
158
772
363
597
481
178
837
927
870
780
240
890
783
490
365
400
657
908
578
335
878
217
1
853
182
896
714
694
360
436
338
829
44
745
867
911
803
632
446
297
815
405
645
109
327
901
290
288
433
449
329
796
584
638
116
135
192
938
464
62
5
798
188
736
510
735
48
886
276
289
653
168
271
889
522
925
681
587
289
368
152
243
543
743
843
382
679
400
28
627
794
819
772
680
633
82
842
975
309
588
360
996
893
363
7
468
180
838
777
743
402
346
915
36
976
834
883
958
390
699
188
928
521
156
954
777
430
529
179
545
749
292
453
907
862
144
202
497
0
550
281
472
121
468
996
519
771
811
659
444
183
833
590
321
325
649
293
203
522
527
395
882
541
374
299
462
519
580
639
333
657
738
248
895
691
909
887
250
533
783
64
638
15
568
548
410
701
340
546
107
864
333
407
704
996
797
288
941
43
706
910
14
619
305
32
240
821
935
909
996
326
547
911
566
736
27
933
647
931
668
884
744
747
871
174
27
602
257
803
235
100
446
412
975
592
898
276
7
143
368
250
670
33
948
228
1
467
364
787
54
345
638
866
673
61
667
140
159
613
197
769
449
55
143
330
727
11
0
74
665
91
672
26
989
429
617
681
998
142
137
260
836
62
127
212
121
866
7
180
264
151
764
22
626
35
71
868
217
163
125
828
464
611
857
879
574
416
201
878
70
698
195
716
264
922
298
703
573
572
572
150
942
554
60
802
94
857
194
502
848
655
141
10
227
178
813
218
794
184
196
575
84
788
220
477
917
122
399
409
334
111
605
420
781
32
610
31
152
734
594
222
48
620
96
367
958
335
722
152
398
121
500
924
972
37
441
744
91
327
492
951
831
719
938
805
821
748
501
742
719
215
345
807
258
220
440
386
123
961
37
828
744
529
723
939
316
967
444
677
974
848
248
557
566
785
54
302
131
777
127
495
856
391
250
204
99
753
334
152
687
834
264
126
504
488
305
77
265
62
785
796
609
294
215
989
145
838
503
930
296
75
614
510
989
215
14
655
604
117
907
696
625
393
908
490
217
897
313
526
331
261
998
762
512
307
52
288
928
861
436
924
695
682
910
612
6
146
51
459
712
542
152
375
280
405
314
764
244
401
420
118
469
563
60
829
786
34
571
110
365
960
422
85
213
136
519
996
142
716
435
578
889
668
393
494
725
476
191
147
492
635
772
14
93
684
118
948
632
382
649
492
47
993
617
97
32
666
681
589
93
611
706
356
347
311
866
350
911
349
190
850
269
602
170
684
889
427
651
620
901
957
593
121
489
114
937
902
333
906
192
533
359
971
665
20
17
476
234
216
414
567
783
514
277
405
90
944
333
515
590
651
599
219
493
624
370
596
671
246
745
22
98
513
448
463
504
179
56
332
441
395
634
847
858
260
113
285
772
768
537
931
315
996
979
775
480
401
733
373
627
690
390
349
135
470
820
740
154
828
910
756
824
217
459
542
133
109
232
489
229
40
78
559
163
298
227
842
547
485
903
667
511
576
617
61
19
408
818
419
76
597
466
3
851
544
63
265
625
574
442
361
373
631
848
612
80
947
686
676
752
94
182
612
456
569
762
602
92
310
4
242
907
643
324
455
262
810
239
574
278
288
453
337
574
317
481
895
448
338
366
946
889
889
931
855
955
995
147
66
744
476
487
139
201
433
65
438
396
121
584
408
785
747
350
951
199
850
546
835
445
235
449
651
220
199
684
707
626
607
46
763
863
885
229
891
135
927
859
590
323
805
367
867
363
596
32
362
74
787
864
970
133
223
861
837
386
503
110
271
468
294
540
88
645
309
273
125
961
985
904
78
445
669
902
237
493
475
922
619
296
238
139
185
144
804
378
329
277
373
163
595
401
7
986
734
857
914
801
922
642
270
665
292
285
877
288
913
415
307
812
793
488
916
500
23
202
946
979
214
328
378
351
229
173
110
581
8
775
502
403
43
137
176
788
297
959
974
643
312
152
413
657
626
931
634
588
100
632
729
418
81
872
486
256
965
858
968
329
913
245
824
629
872
130
815
275
988
323
692
310
199
414
899
190
922
292
826
167
243
383
538
757
640
626
345
380
694
976
957
690
858
657
891
228
722
323
13
310
663
725
670
351
501
900
910
982
562
950
578
428
751
253
722
600
138
300
770
325
91
227
29
178
167
986
793
573
771
303
218
2
515
913
0
918
134
88
229
493
875
804
672
82
741
868
702
0
869
36
544
978
214
722
599
781
621
449
763
356
549
747
112
614
673
899
691
381
139
853
78
636
172
662
484
215
411
650
326
103
601
747
68
145
212
838
381
410
842
373
493
275
175
155
755
830
45
37
504
211
380
698
146
893
381
839
798
662
872
485
50
163
610
437
89
185
152
10
10
910
540
80
588
182
490
508
155
821
457
272
127
137
243
687
524
309
338
225
982
348
506
284
514
247
557
358
181
711
277
358
642
885
604
920
582
604
173
325
35
750
588
939
805
663
656
215
756
614
498
608
502
4
75
271
468
543
984
372
35
393
416
21
626
740
332
10
701
501
125
779
221
139
75
488
442
455
885
153
49
870
492
158
756
920
770
501
615
890
314
920
413
282
885
133
290
492
82
827
684
351
546
494
750
136
495
221
126
999
559
11
174
261
815
429
194
571
744
870
112
690
405
89
901
762
749
792
726
330
692
284
524
411
516
893
265
945
243
372
358
735
383
871
369
493
314
863
908
446
462
724
915
569
803
127
97
673
844
768
487
557
142
579
783
407
750
534
384
438
247
894
86
312
590
949
168
569
908
95
173
394
109
828
425
695
976
194
290
0
530
869
33
870
871
921
244
76
116
642
214
768
912
754
979
300
308
989
851
568
918
316
944
579
859
518
285
256
544
500
178
478
613
504
141
920
771
289
259
979
775
474
858
156
353
73
657
191
255
929
189
528
262
423
0
967
895
304
550
75
237
990
264
649
702
434
240
937
319
449
684
493
737
727
921
280
413
529
708
10
233
523
735
735
655
356
344
620
167
282
521
668
739
580
242
867
772
161
885
191
630
783
19
361
903
994
44
767
62
827
250
14
889
411
119
994
63
853
692
180
199
921
344
579
991
270
637
638
26
863
463
309
269
405
103
627
879
637
577
83
930
267
559
873
795
731
265
798
385
819
223
478
364
131
230
843
119
334
96
875
306
365
566
23
476
164
839
614
2
717
956
417
256
566
415
32
687
346
555
38
185
133
735
238
756
745
996
206
467
56
451
390
802
514
857
523
663
565
760
382
890
773
91
750
290
121
322
460
525
458
502
135
996
198
36
598
526
89
109
93
719
592
657
504
325
750
752
589
839
162
131
138
287
456
216
660
717
172
599
895
844
468
132
573
712
158
733
266
199
116
82
32
972
19
444
882
439
800
652
300
584
987
780
712
162
763
639
293
49
704
936
814
319
563
728
6
283
559
590
493
988
101
295
535
994
732
934
343
181
851
401
495
653
839
140
500
762
479
89
398
778
389
52
799
286
753
435
745
668
842
107
612
23
179
558
783
754
164
53
618
322
64
105
876
62
558
480
21
252
840
375
190
559
99
165
916
257
197
834
340
616
906
573
106
549
210
926
863
459
92
237
67
709
364
875
520
753
949
38
567
340
412
631
262
773
860
426
664
254
560
66
415
4
569
524
632
877
3
250
49
493
285
903
323
700
260
340
388
255
499
550
666
820
890
9
777
985
720
480
81
249
733
737
972
604
28
19
228
740
622
941
613
26
809
586
521
508
47
676
578
983
47
461
107
626
0
263
965
956
14
526
986
135
434
161
334
391
102
620
82
682
110
218
710
227
970
751
772
677
824
523
994
325
914
95
692
377
373
626
807
12
728
422
748
559
434
953
387
490
980
846
721
512
616
649
281
929
493
921
165
573
936
335
131
239
420
643
82
805
175
862
729
642
252
195
432
428
790
604
642
72
175
25
94
198
3
845
828
609
879
979
446
535
6
186
786
161
563
70
838
360
290
243
262
509
756
634
478
491
763
292
90
525
905
263
667
169
768
632
74
836
496
951
709
619
631
392
268
481
770
599
880
716
186
417
586
523
354
790
428
148
186
903
590
127
836
232
435
759
888
908
214
271
350
860
900
633
59
922
879
444
193
574
541
938
998
506
795
173
914
259
691
762
419
933
478
368
418
672
816
146
21
429
488
452
317
589
715
756
560
495
523
232
197
146
105
824
29
571
402
223
29
337
701
378
336
902
387
847
887
773
412
149
168
154
820
439
848
829
798
526
821
592
721
106
378
224
244
396
526
728
608
660
724
323
840
516
697
853
430
976
169
671
341
125
858
914
686
309
544
788
995
124
658
696
244
890
847
184
774
352
574
274
254
382
641
815
957
502
83
796
777
514
104
120
689
340
706
431
445
24
555
795
612
388
243
484
90
349
211
855
168
241
875
717
875
415
106
745
443
640
863
321
31
587
163
267
611
820
964
376
780
548
518
300
439
906
186
982
433
494
297
845
968
755
565
779
454
262
168
438
447
138
213
906
831
542
559
690
631
563
152
696
1
688
429
895
763
877
402
877
402
813
823
135
631
504
845
95
345
23
392
405
899
555
401
921
409
935
113
904
702
867
276
751
324
447
76
54
995
427
306
420
802
421
518
248
834
171
773
275
44
705
384
458
684
955
886
998
989
132
697
676
928
385
829
367
325
480
807
356
514
9
787
258
10
919
278
232
915
219
463
49
618
553
856
828
438
497
687
101
415
263
33
871
864
393
27
898
874
905
913
523
349
705
642
198
764
914
562
637
997
265
864
535
943
728
658
631
177
693
814
951
593
6
825
458
597
846
958
872
728
90
612
506
623
92
292
879
925
781
491
104
56
902
535
505
230
197
346
955
313
100
621
474
975
574
878
215
757
956
227
351
163
857
418
973
872
173
465
38
181
222
788
34
201
176
347
510
494
752
749
737
781
251
63
670
709
730
828
616
93
350
725
643
933
618
490
749
129
688
997
195
177
647
402
803
693
908
143
650
861
366
743
970
797
4
57
506
406
789
338
653
557
330
135
573
135
244
415
578
721
455
892
447
225
532
892
7
610
34
917
833
943
944
300
273
211
623
298
795
421
560
205
267
51
967
807
645
430
468
207
332
982
394
349
389
708
991
662
851
542
565
188
806
728
831
176
324
782
117
477
585
890
584
207
272
718
376
780
582
832
726
478
756
968
500
26
784
576
180
649
137
117
824
454
249
834
637
852
686
363
919
859
727
563
520
536
580
912
171
591
206
385
504
70
132
645
980
788
870
548
436
899
919
995
863
611
123
306
812
43
464
532
90
198
613
123
494
389
243
732
327
219
168
818
520
390
671
555
786
638
639
67
117
276
546
610
379
990
26
853
788
427
871
368
635
119
875
852
486
343
20
283
385
543
36
495
376
768
505
72
969
933
243
553
747
119
540
595
48
393
528
318
651
592
813
995
169
465
875
965
847
680
838
829
883
792
908
208
812
806
288
912
373
469
99
702
217
132
564
623
667
889
599
276
91
812
320
39
814
754
509
37
731
136
763
557
580
348
332
141
957
294
807
419
246
927
815
763
281
766
299
684
588
860
46
148
483
394
107
916
946
578
488
499
959
75
497
509
122
358
458
122
535
711
423
720
182
158
630
172
435
272
225
936
979
199
116
293
193
542
238
53
22
110
492
148
114
671
87
720
94
341
658
835
662
19
165
78
812
997
540
977
717
366
361
949
704
99
320
29
565
891
643
640
295
547
911
837
812
31
64
897
380
836
258
258
701
848
160
272
151
957
581
632
6
114
195
543
164
75
542
224
906
64
525
941
882
151
214
909
233
132
411
446
763
106
523
52
615
874
168
515
195
244
317
916
990
794
897
383
865
763
858
579
97
755
160
130
519
172
508
204
177
158
759
468
680
554
781
172
551
608
36
489
659
252
682
585
260
705
309
216
630
564
204
575
448
283
847
396
652
305
761
321
959
137
889
507
657
217
286
314
943
468
607
580
76
50
664
833
403
292
206
964
924
583
380
886
112
806
908
23
823
137
858
461
230
247
515
395
17
361
850
242
289
476
828
655
111
272
384
986
692
571
560
807
157
938
427
855
332
176
610
305
67
130
9
382
907
975
313
681
4
613
309
748
433
536
118
507
943
360
248
742
759
608
881
713
683
628
611
913
820
488
403
54
763
882
717
705
558
808
558
345
487
693
746
392
186
552
555
864
963
256
640
529
750
503
708
812
644
522
669
130
935
634
45
447
48
657
253
670
734
111
969
407
660
575
812
932
2
48
848
219
222
0
523
544
818
567
589
725
269
283
384
706
877
989
398
696
574
992
744
377
168
320
344
272
368
602
316
766
305
179
227
560
157
331
243
138
30
579
992
556
767
267
605
170
947
609
368
184
376
484
224
710
690
382
26
402
728
368
44
692
320
433
501
799
891
231
938
1
393
277
817
877
788
659
446
862
588
467
402
312
812
592
621
704
143
700
65
877
36
621
271
810
447
485
440
603
492
228
788
348
122
173
360
109
713
74
412
29
403
320
558
548
465
612
594
75
309
58
995
983
852
41
779
260
630
363
63
14
306
203
469
216
984
910
330
724
234
134
221
778
41
369
679
250
785
272
764
333
734
909
924
457
979
234
628
806
370
183
557
935
647
829
751
864
621
7
595
927
857
499
999
724
759
324
51
362
7
107
745
402
953
514
622
562
606
279
97
543
433
285
946
524
818
616
848
982
9
358
346
228
436
881
318
135
722
234
269
812
553
905
628
144
254
408
829
274
446
704
758
331
695
504
478
873
276
287
474
620
146
592
416
188
745
701
231
567
88
2
431
421
379
342
379
727
219
914
61
916
986
861
213
887
569
932
349
227
679
564
661
486
770
885
695
614
636
407
472
525
803
50
526
217
430
42
871
516
298
349
889
463
390
881
537
499
126
3
389
547
44
737
444
86
373
687
182
25
952
372
468
552
176
759
579
420
325
494
242
809
206
178
947
803
284
944
366
265
774
609
148
975
222
560
440
667
369
142
450
421
568
592
97
846
746
549
816
744
761
151
961
721
423
2
728
810
263
73
834
46
504
301
34
828
519
7
947
885
533
142
493
254
447
332
87
872
690
990
500
503
846
651
951
70
910
513
201
344
449
638
193
424
652
727
639
847
918
542
399
113
264
233
508
770
224
287
853
678
155
101
893
433
533
663
759
578
214
849
389
953
479
93
897
952
38
278
690
466
772
183
578
699
900
412
52
765
888
366
17
790
511
575
699
75
587
598
650
565
309
462
487
122
783
671
808
469
602
559
784
218
61
638
67
992
727
324
427
18
861
151
895
30
383
286
617
707
139
698
146
56
583
701
893
220
352
36
6
523
281
829
137
225
924
584
275
847
181
653
40
651
853
12
589
187
169
885
481
539
856
329
302
597
514
324
846
511
110
344
680
897
418
567
606
612
551
63
133
514
298
912
228
233
958
967
888
659
178
825
754
235
252
70
424
856
739
483
111
255
54
298
925
607
634
259
912
315
231
354
278
331
204
320
441
963
406
861
287
802
831
974
947
486
984
20
652
11
145
702
701
176
893
196
878
698
442
35
658
400
543
395
634
15
335
779
159
281
911
791
635
832
654
420
940
906
19
767
454
831
202
240
275
489
889
822
350
635
43
211
39
239
131
635
738
814
299
918
194
364
698
322
546
838
394
978
840
77
660
25
208
141
354
533
814
646
126
598
376
11
825
441
914
320
403
315
815
951
154
104
233
69
349
616
81
682
853
22
305
209
972
800
910
402
439
365
711
468
401
745
832
849
549
707
682
457
13
79
497
828
586
980
145
75
979
834
413
603
172
590
567
278
547
992
565
934
121
72
839
501
12
316
23
693
931
650
967
734
985
772
818
322
710
934
106
528
981
927
424
467
103
601
943
423
993
229
934
41
998
496
905
886
603
783
234
685
344
544
980
576
226
140
108
907
452
677
14
412
998
153
331
505
900
134
723
678
624
988
857
564
432
174
864
104
707
414
967
23
108
247
267
638
427
799
580
956
315
721
269
71
223
855
459
6
514
663
434
370
927
88
80
32
570
902
686
789
273
877
70
864
658
425
619
191
446
14
44
259
809
952
840
669
189
497
104
695
10
20
217
775
941
212
281
565
146
213
608
496
649
181
622
74
269
686
862
384
373
731
700
245
955
315
713
58
520
344
337
155
527
775
904
763
191
23
664
192
127
154
273
26
365
658
510
269
206
357
386
217
42
728
703
892
83
504
752
421
180
253
808
338
142
996
737
536
0
106
850
279
528
562
740
307
435
923
381
910
488
89
873
379
131
779
709
311
369
585
752
105
13
613
191
880
456
774
340
998
242
929
885
392
242
0
324
644
984
804
367
42
146
674
706
813
101
997
298
369
337
182
81
778
533
907
43
173
621
249
462
388
271
308
46
636
753
353
874
304
51
665
110
781
774
849
983
462
676
132
493
453
143
679
137
950
845
138
801
477
633
972
222
747
768
975
953
270
167
353
483
770
562
625
293
87
879
502
267
271
324
137
458
956
363
285
901
354
887
991
976
766
361
928
695
199
358
689
506
191
368
282
735
478
773
403
525
9
332
950
934
399
288
864
508
3
689
930
354
86
528
664
362
154
176
199
172
626
680
699
719
303
253
738
935
633
583
962
365
877
583
822
752
360
545
918
646
475
419
31
161
177
399
862
825
275
814
141
956
951
28
390
607
609
284
812
780
458
301
41
854
674
549
784
392
639
207
453
392
721
153
834
800
653
969
218
866
487
494
766
749
607
757
161
525
102
476
783
61
495
886
144
808
278
731
854
906
799
936
282
761
954
756
100
665
141
715
493
626
295
679
438
154
51
492
40
524
350
817
494
129
342
708
86
17
712
785
820
138
569
809
458
523
75
179
617
756
370
58
775
350
512
431
251
506
403
963
633
947
297
367
0
28
147
868
218
650
539
862
693
759
815
183
764
396
15
322
22
983
333
784
912
177
301
77
825
973
428
294
414
653
723
822
401
70
707
852
128
746
921
144
348
201
634
565
804
194
389
871
644
694
713
825
843
757
724
641
600
823
724
286
478
885
721
133
44
816
720
710
280
936
926
222
942
439
100
941
668
527
43
569
176
942
7
701
72
836
427
973
121
895
824
717
337
89
546
873
561
328
858
440
921
966
454
928
224
781
689
359
508
415
916
396
132
134
377
975
299
799
949
964
909
849
675
688
353
828
420
820
875
928
969
782
385
575
784
698
117
216
146
657
326
434
97
222
385
751
385
328
719
51
541
950
904
831
964
939
578
171
257
209
775
318
749
293
706
10
566
878
994
771
651
368
571
804
244
632
180
364
534
80
85
187
514
254
638
468
39
624
455
619
719
605
828
506
350
332
14
164
477
641
526
336
21
855
847
445
478
848
20
973
281
111
759
849
822
502
980
472
465
546
32
530
239
52
30
881
362
662
758
170
120
662
547
920
935
920
673
685
65
99
867
688
576
962
668
463
588
756
486
840
780
51
755
58
892
930
320
76
358
54
336
341
371
763
510
578
227
91
765
135
977
987
149
777
186
177
86
819
800
198
785
45
351
509
939
705
499
171
106
436
231
275
20
429
531
250
584
169
100
434
718
586
237
937
163
468
259
230
467
883
679
569
153
909
504
635
423
136
363
912
319
178
837
468
689
240
669
695
452
350
70
916
263
792
800
532
186
497
998
466
505
928
51
380
347
635
520
153
899
567
524
269
196
59
157
619
343
456
52
289
861
281
615
767
782
995
444
812
925
447
495
659
259
101
414
313
864
859
941
215
205
476
940
163
399
764
466
624
57
647
33
752
123
332
237
143
197
840
872
875
485
741
336
301
96
622
599
319
235
190
821
133
226
270
18
737
772
961
607
18
506
862
27
852
968
825
700
705
97
708
304
703
864
12
60
594
205
708
590
559
466
968
896
945
702
187
413
943
313
311
849
142
104
242
212
86
832
702
513
735
592
294
116
897
647
91
258
9
646
566
290
716
312
730
820
15
994
319
830
161
353
267
874
250
541
856
703
110
758
140
502
805
500
725
303
251
388
231
191
723
895
865
505
805
136
908
696
252
241
428
878
179
960
457
293
750
193
988
169
809
417
681
328
644
893
404
492
708
295
977
802
544
493
623
241
696
23
340
876
795
81
100
88
900
140
283
420
553
570
40
107
895
547
757
671
445
127
770
881
347
219
95
514
11
238
388
263
517
836
331
293
464
324
100
587
836
633
34
189
27
279
506
327
913
708
984
330
786
112
317
21
252
890
247
638
808
745
911
550
536
608
735
266
57
636
339
359
127
912
35
604
666
140
255
625
869
688
465
215
601
922
451
951
785
108
231
991
497
566
500
55
839
74
146
920
129
671
394
31
123
59
285
277
851
812
866
636
945
271
175
612
421
247
993
340
598
472
718
858
100
322
801
508
206
371
851
784
828
17
911
576
847
574
425
176
972
628
24
773
436
635
864
87
174
771
49
868
436
83
354
778
340
84
549
809
483
325
562
918
458
611
871
969
956
293
166
926
223
198
340
574
529
236
938
991
163
442
409
463
779
632
415
441
90
198
785
968
965
149
310
698
137
854
313
904
569
5
737
273
531
640
560
0
556
888
29
553
457
781
598
576
861
931
807
247
304
134
466
500
592
804
522
195
738
783
625
316
263
758
953
481
829
865
518
840
221
276
87
436
486
611
753
420
737
973
81
453
994
584
632
59
243
637
345
877
494
885
445
185
29
287
57
16
819
711
357
300
216
817
153
51
396
161
711
706
92
119
160
413
257
169
57
274
985
594
435
325
705
407
951
606
560
788
778
865
339
893
946
819
395
435
891
693
727
143
163
925
826
766
477
199
326
285
764
414
676
627
594
134
932
898
387
940
534
379
52
389
177
735
445
766
437
305
839
243
305
599
103
182
636
654
92
501
86
572
13
918
927
780
305
943
541
450
123
293
187
46
327
465
124
887
417
45
543
102
608
43
527
868
325
759
838
546
478
968
149
39
881
652
88
300
933
134
503
230
867
318
451
89
130
859
100
174
265
105
361
866
928
65
226
369
224
180
306
468
51
369
528
860
833
476
235
11
201
793
395
77
359
841
711
166
780
371
927
849
941
598
667
761
73
618
239
593
11
583
232
340
654
275
656
301
831
191
28
680
929
610
99
372
659
15
669
102
456
825
329
437
867
136
791
229
557
40
218
7
702
584
529
772
123
588
166
664
434
445
74
829
459
489
881
74
169
822
213
843
89
842
603
245
649
206
331
262
416
619
20
198
979
136
145
302
415
11
559
210
393
504
549
974
0
859
30
520
794
571
132
613
588
411
447
285
545
195
332
832
298
53
662
932
901
91
727
316
759
575
516
137
785
245
513
448
397
961
265
98
152
118
611
433
390
430
675
794
433
147
667
107
443
831
64
952
773
215
902
918
834
67
58
600
634
549
248
989
119
675
843
485
766
146
363
646
334
955
944
835
717
809
837
126
228
571
226
145
414
264
545
119
852
450
916
691
32
795
919
909
866
617
534
183
701
20
535
866
698
353
656
81
816
582
602
34
791
972
179
251
266
998
151
359
622
177
411
173
664
58
246
838
633
788
486
455
298
151
865
166
144
475
108
951
291
776
193
765
34
141
596
347
561
341
714
908
112
53
935
157
313
269
584
126
625
672
491
372
944
44
221
330
880
965
866
916
704
871
684
96
76
97
145
189
244
778
723
400
232
537
924
704
255
369
314
159
469
751
651
735
957
455
751
982
399
982
849
215
633
778
18
253
818
408
379
613
293
531
936
499
529
787
953
294
491
310
338
283
816
664
948
136
235
244
584
132
549
699
837
70
876
383
712
555
918
358
922
97
713
828
324
963
696
281
559
603
446
18
117
231
774
139
962
567
989
326
98
94
644
235
563
232
476
481
785
484
572
649
634
455
700
775
189
54
262
987
768
423
392
553
353
147
692
396
901
15
970
325
213
589
922
760
757
830
371
830
748
209
209
6
935
47
756
658
265
417
634
27
835
744
377
878
91
791
40
16
277
480
691
388
725
235
774
82
827
744
234
333
262
137
705
7
696
16
364
976
103
615
232
210
497
412
833
869
218
730
597
565
387
782
415
604
105
794
858
414
643
86
333
481
193
700
733
111
926
33
83
727
934
682
51
835
379
651
318
966
659
76
631
623
366
818
422
624
455
978
147
816
848
92
317
507
603
168
910
137
427
595
752
415
56
673
252
276
676
701
23
946
847
341
958
146
137
154
34
889
342
359
196
77
571
820
803
822
129
785
474
855
168
841
806
463
615
382
829
534
363
573
421
180
477
406
139
995
642
214
135
904
28
248
347
372
162
25
295
153
947
324
0
399
897
194
411
486
654
102
838
799
459
150
507
434
999
146
576
74
916
509
222
725
228
122
393
519
276
382
737
537
677
387
432
23
789
76
521
405
415
842
587
217
414
362
2
346
976
197
956
147
762
312
422
244
276
222
989
175
946
124
865
205
999
171
221
152
806
957
143
420
692
593
593
976
492
27
481
873
586
852
960
444
478
624
139
549
71
923
91
837
769
427
19
205
782
173
280
608
593
341
779
506
780
4
252
146
599
827
94
557
260
266
724
567
713
615
421
368
4
305
702
111
817
589
932
766
544
582
989
8
515
542
605
77
49
775
117
531
87
211
464
872
539
629
314
494
127
985
890
82
183
820
627
42
886
254
815
56
55
993
198
204
870
592
895
277
918
720
851
505
438
437
79
876
565
497
32
115
12
521
410
679
144
574
682
389
563
88
592
85
523
772
685
477
919
970
18
693
409
54
959
829
69
804
815
200
599
275
824
545
631
591
5
51
446
69
415
17
536
602
935
423
417
124
210
449
583
315
841
883
743
154
557
799
85
480
54
247
36
293
43
967
140
704
751
388
800
617
604
596
502
206
934
116
933
325
658
106
377
64
833
267
723
563
337
541
546
910
37
223
179
674
825
283
441
521
957
41
997
90
929
418
927
249
138
46
560
934
500
33
983
531
255
197
505
772
382
438
85
61
540
808
656
579
919
579
282
861
799
983
251
806
942
582
966
835
883
617
927
526
199
113
518
109
60
449
982
652
639
744
813
787
451
909
402
530
434
541
787
465
82
876
72
530
211
906
611
240
401
493
547
664
789
93
573
18
116
875
871
720
665
284
371
180
7
441
804
491
281
892
668
110
252
966
923
725
73
980
761
211
562
368
902
654
286
913
364
18
691
751
927
33
405
749
127
312
67
481
626
359
887
118
250
937
708
921
792
382
490
109
316
9
99
341
167
528
648
841
819
548
182
689
749
832
76
515
722
726
704
812
50
7
989
140
420
202
818
638
785
445
33
382
298
194
117
873
547
154
977
242
710
985
23
288
235
347
916
714
67
976
134
260
581
263
123
779
56
524
331
474
648
331
339
308
237
388
275
285
750
840
417
936
813
987
751
818
399
84
689
688
75
868
912
961
619
747
776
139
339
611
80
370
660
444
985
444
208
845
988
988
741
964
851
852
909
344
590
25
550
805
839
114
524
940
622
407
247
177
4
358
807
526
214
536
943
109
976
184
425
51
867
717
128
446
976
383
516
199
419
879
159
345
604
939
439
909
412
641
647
603
477
348
754
477
778
715
537
478
938
240
906
194
816
240
569
69
775
151
461
265
417
429
276
677
197
483
77
232
191
532
595
356
340
590
629
407
189
790
162
950
16
661
826
190
447
931
264
785
395
496
360
641
374
801
35
415
489
455
372
863
960
511
82
480
663
441
518
88
286
242
122
128
88
487
21
555
970
428
85
592
790
475
427
220
338
456
58
939
492
526
491
556
458
779
470
431
36
708
5
717
940
901
147
167
149
703
257
856
899
515
521
390
917
450
25
57
464
108
145
107
311
130
478
562
641
761
788
554
414
647
737
542
308
249
759
450
656
419
328
503
162
243
261
524
507
445
985
773
510
373
442
568
908
411
884
612
600
4
250
954
616
122
234
557
299
378
770
654
486
116
316
809
992
705
360
480
43
962
656
490
549
123
333
842
852
967
801
960
627
235
28
768
49
543
234
871
900
302
345
18
226
722
360
897
948
111
583
847
337
996
225
482
821
377
268
557
305
269
540
68
140
124
959
541
592
902
386
289
472
544
117
104
51
689
482
586
5
737
715
695
558
339
476
125
281
386
461
576
456
417
383
692
660
372
386
75
742
177
622
59
945
624
878
221
636
965
305
321
243
920
58
892
255
202
58
452
495
821
887
10
886
92
188
264
294
864
83
267
371
783
803
86
539
798
197
540
492
917
202
730
831
439
361
642
574
142
161
187
299
160
139
723
502
318
803
531
318
168
945
30
913
64
624
303
122
733
526
230
537
998
255
206
889
58
454
301
970
998
317
489
990
941
781
938
548
101
250
771
579
249
366
657
597
320
515
993
722
462
734
482
745
399
68
35
919
723
538
753
345
408
849
635
8
847
182
756
440
331
175
267
583
682
868
299
831
325
448
696
226
686
753
153
710
197
637
617
389
960
427
983
874
733
675
784
612
834
607
274
256
630
119
113
786
499
729
640
450
447
770
848
552
830
542
2
688
853
34
514
395
16
22
161
39
698
973
627
583
452
376
53
719
329
680
804
129
805
605
431
828
817
555
34
966
245
930
775
633
871
779
536
129
453
771
154
489
246
900
43
348
907
651
766
502
262
539
312
320
462
286
286
222
104
555
463
607
489
151
425
84
165
686
452
652
310
818
216
77
994
223
41
742
36
485
806
925
798
793
420
365
11
382
620
708
797
401
204
230
736
1
131
499
491
688
90
108
345
579
857
475
800
119
831
333
583
113
74
639
704
518
233
962
270
501
584
590
400
76
391
576
568
73
638
502
1
816
731
857
15
577
559
895
348
805
207
496
931
214
471
976
46
949
347
330
566
623
667
336
955
842
408
699
984
370
800
529
890
441
231
202
750
417
410
148
772
981
71
932
697
926
647
254
705
726
283
315
961
665
596
702
858
404
303
302
747
529
917
575
381
848
401
199
622
694
424
772
174
372
238
513
781
184
817
234
379
867
675
754
913
330
238
762
988
442
909
187
227
106
618
164
28
300
256
666
649
945
123
253
533
472
438
480
851
946
397
230
993
548
373
456
552
583
652
41
216
651
544
742
654
185
812
848
460
866
448
232
605
483
864
618
426
750
63
626
158
394
34
34
759
237
186
448
491
79
57
975
674
129
480
452
898
799
146
688
194
549
616
44
514
791
673
714
985
435
574
403
874
17
867
620
724
643
651
138
883
42
793
91
535
535
773
235
179
987
753
478
873
741
632
756
911
947
582
460
93
569
27
385
425
986
443
144
954
435
669
380
867
737
811
251
650
758
409
195
726
579
402
563
981
195
945
767
4
832
167
720
770
477
735
726
879
907
205
195
617
495
3
280
723
820
847
449
187
224
391
901
544
745
74
410
928
842
136
166
420
112
577
532
818
675
209
226
413
370
213
668
11
321
325
543
155
311
705
126
788
44
603
58
936
93
800
46
834
261
275
110
459
700
380
44
44
652
63
303
655
453
691
280
240
74
534
371
163
746
390
671
676
298
340
586
760
470
638
573
619
270
452
286
824
188
904
498
274
986
194
507
834
504
138
284
443
543
813
13
469
12
883
843
41
128
406
132
252
310
157
236
395
127
351
584
962
924
506
279
984
898
364
251
69
552
519
872
804
864
388
159
1
936
148
39
733
915
484
307
216
966
349
690
643
565
979
369
173
298
503
461
62
429
762
706
727
355
232
363
742
174
867
477
305
768
501
894
924
573
218
213
377
668
84
603
808
754
13
420
384
367
50
89
619
591
326
97
207
629
950
994
484
589
768
200
862
665
971
562
622
563
727
950
518
247
732
69
940
371
132
375
821
139
963
989
453
915
693
554
513
205
564
153
69
590
890
583
848
510
168
774
396
132
832
611
773
814
179
200
425
234
215
91
499
822
24
317
463
132
981
447
832
808
699
863
892
112
570
752
516
686
915
749
463
502
505
296
329
103
232
403
573
368
135
856
681
269
736
43
590
772
536
20
84
146
879
343
681
65
31
116
697
849
618
166
199
260
840
17
80
923
689
273
25
232
311
891
879
873
633
385
80
374
692
886
185
288
64
709
639
451
332
898
293
958
99
37
924
155
988
610
387
139
632
773
691
565
537
527
92
778
16
21
625
752
520
335
265
771
109
511
891
701
547
997
737
64
314
906
438
162
506
829
791
478
698
500
858
284
421
410
433
512
685
275
524
222
815
985
63
771
601
816
713
760
381
46
449
429
388
658
224
548
659
902
23
540
820
484
795
109
905
770
938
962
941
365
921
808
684
461
246
936
316
331
754
504
280
959
866
22
707
238
442
863
782
633
899
104
587
566
351
374
294
29
195
526
8
486
119
185
934
570
593
363
814
185
978
544
576
347
454
62
6
712
610
361
405
701
379
43
443
110
327
469
847
773
839
506
619
136
211
51
691
167
669
537
13
651
73
897
645
506
146
53
795
904
567
394
792
707
992
182
608
55
424
705
41
556
331
731
374
960
712
595
465
328
978
237
388
591
223
444
103
476
770
882
190
406
39
581
584
24
674
399
335
416
974
931
137
996
346
230
974
593
788
427
380
115
44
598
614
686
39
716
653
425
61
179
148
972
420
135
542
406
580
463
378
234
82
267
903
159
722
558
230
788
177
954
182
919
936
111
294
969
890
953
803
326
130
347
74
634
844
805
607
126
760
74
361
79
638
267
819
689
609
437
467
285
220
22
118
57
19
539
133
870
85
241
785
868
739
205
13
329
415
933
155
360
552
310
694
807
5
518
165
639
779
461
593
671
601
742
113
346
494
751
669
117
372
229
64
765
938
341
938
361
375
415
825
984
843
930
910
419
351
270
32
852
737
159
496
562
457
696
782
512
938
371
450
249
914
721
764
438
452
748
680
262
360
281
619
630
825
328
242
274
761
452
703
216
561
75
974
391
364
100
452
781
469
679
327
819
487
993
555
430
382
32
185
11
197
560
454
168
652
9
126
985
278
958
199
119
929
379
586
11
52
652
428
692
58
241
816
977
325
16
830
208
94
889
138
708
710
623
23
689
858
254
676
65
212
421
701
599
340
917
307
308
432
217
925
485
716
889
462
679
523
367
696
714
15
868
525
987
73
413
447
187
849
952
404
168
41
638
690
509
359
412
723
403
53
689
272
616
170
283
934
207
552
334
79
649
114
934
681
739
735
70
667
84
477
156
534
103
558
642
405
196
612
618
906
557
100
428
132
194
453
581
979
916
335
89
48
241
148
302
54
646
358
455
473
779
745
411
642
688
321
623
10
518
11
511
1
542
601
438
496
80
61
434
358
906
804
40
234
768
802
422
228
913
712
274
230
162
73
428
580
606
978
701
214
511
580
627
306
661
50
344
643
670
864
223
716
988
771
232
372
951
651
683
101
975
285
491
905
974
331
554
348
643
611
37
531
358
828
96
126
309
854
601
912
116
321
16
890
444
435
919
37
172
905
279
42
129
723
747
7
378
475
67
602
206
612
310
25
486
454
434
547
417
194
159
813
643
430
604
618
858
40
783
647
873
516
983
57
610
929
995
161
892
0
976
420
124
495
170
895
454
750
208
960
484
220
700
797
425
933
200
90
340
159
483
308
514
591
193
562
565
240
979
457
958
998
652
968
467
345
425
81
459
135
904
187
841
435
994
988
817
760
460
830
501
196
362
846
286
222
845
618
555
533
323
136
515
158
344
334
202
25
478
684
576
704
461
736
559
63
102
724
235
185
786
150
890
212
488
886
393
538
953
839
17
160
464
188
777
754
272
430
967
417
967
43
896
962
413
573
890
779
902
46
325
427
205
514
450
779
886
266
772
326
975
727
343
963
975
758
202
617
995
426
535
346
111
616
861
585
736
378
136
418
986
697
158
456
904
780
628
313
127
974
170
801
817
908
209
819
473
555
536
879
732
696
318
849
216
175
557
210
202
208
661
836
103
677
48
338
754
563
603
506
79
656
102
253
188
773
814
992
111
89
43
40
124
543
275
537
45
741
506
665
508
76
573
217
198
777
625
691
363
561
441
607
777
928
489
428
587
819
101
712
178
924
824
966
675
877
876
79
477
25
520
236
761
837
819
656
901
909
833
966
399
914
315
924
147
958
319
397
353
318
676
686
422
205
579
830
446
255
492
474
147
848
723
496
67
7
452
939
846
865
101
224
485
1
43
842
292
987
783
772
368
949
597
401
750
977
885
927
637
274
464
758
950
438
403
773
404
794
407
256
818
281
142
93
492
612
201
793
882
454
375
340
72
598
667
473
801
671
683
848
279
483
793
734
345
705
693
997
59
298
599
833
112
178
884
263
151
525
890
260
435
932
626
954
764
442
312
216
111
723
417
618
32
518
564
107
136
707
572
381
960
237
461
670
462
389
387
308
605
611
430
725
670
152
948
593
231
579
937
459
269
496
301
442
228
639
594
638
326
150
511
981
686
422
829
660
904
525
103
98
996
273
229
935
12
251
715
411
720
274
434
592
144
903
456
664
787
989
633
590
195
878
277
969
353
428
734
553
196
59
767
985
632
802
603
152
428
878
235
784
780
201
758
823
22
276
18
930
659
191
780
950
888
845
700
563
98
946
958
981
290
638
858
348
783
26
975
928
112
492
18
598
302
198
667
601
880
109
57
609
134
514
782
495
78
5
332
443
567
696
26
809
730
621
62
333
639
735
830
458
948
531
711
667
371
753
171
744
934
744
233
153
295
557
433
390
160
383
610
83
875
311
757
302
67
823
591
934
189
461
43
527
629
281
827
310
363
903
89
743
74
68
600
443
545
410
483
937
69
483
904
586
317
647
279
669
119
798
722
168
621
930
236
776
76
155
618
310
932
346
210
421
582
560
424
210
250
445
234
921
261
806
741
909
561
590
732
838
979
254
945
226
549
147
557
711
317
121
186
844
653
370
529
399
70
617
197
136
181
746
375
12
507
724
151
991
301
786
525
34
775
19
68
413
341
806
343
32
489
211
130
429
364
503
530
890
874
10
989
209
836
359
359
307
559
384
0
707
182
679
830
283
932
964
376
447
326
808
447
360
35
542
620
613
217
475
567
546
149
67
521
244
919
680
378
777
430
657
108
800
991
272
988
259
985
775
96
387
455
757
472
280
967
641
781
269
668
700
840
548
168
485
660
929
297
940
753
31
964
101
650
620
882
643
614
799
383
384
845
697
302
513
393
742
384
738
780
234
84
471
823
474
366
895
763
838
259
803
692
469
694
109
258
925
259
227
879
666
731
543
762
270
638
754
725
423
133
282
708
695
996
84
325
924
218
529
685
561
758
322
619
840
566
683
264
805
858
807
268
331
53
928
950
132
134
995
943
836
386
183
62
696
728
906
2
554
9
754
733
582
652
414
474
833
477
861
585
292
250
708
724
975
786
204
951
385
236
787
93
942
39
423
257
651
264
204
262
843
361
497
427
560
516
984
790
626
959
753
865
995
926
594
307
348
175
935
111
503
786
520
903
627
210
417
498
808
897
476
841
395
355
457
58
788
771
789
802
680
415
108
845
668
647
511
298
367
41
18
61
548
62
794
746
400
70
992
160
790
407
283
498
777
32
303
480
408
43
578
386
634
538
985
403
451
29
964
514
258
870
752
681
817
976
601
921
363
215
910
374
682
15
450
120
247
660
153
577
927
688
640
347
287
59
172
428
924
519
615
439
755
724
596
34
277
449
124
928
538
796
908
370
674
231
513
304
320
306
189
429
862
360
361
434
501
677
350
612
763
644
900
215
489
450
492
947
881
251
273
752
927
600
76
165
348
881
526
204
351
983
928
285
977
267
44
402
942
858
868
190
453
75
417
583
349
431
503
408
928
33
468
567
382
902
251
117
117
540
339
731
302
474
964
729
312
562
762
639
937
923
54
404
756
769
881
76
603
96
377
673
374
404
650
594
9
860
840
258
990
883
315
401
826
617
47
163
454
225
39
192
140
826
396
761
738
441
296
293
144
37
538
348
798
907
434
629
793
506
497
45
273
762
560
469
476
824
794
556
919
21
705
142
943
70
890
901
305
25
996
40
679
40
539
390
605
921
135
84
638
823
624
96
989
34
311
356
57
528
660
11
478
158
372
6
733
102
30
288
206
477
164
969
526
156
201
520
420
503
789
803
474
670
904
774
900
602
423
552
845
110
248
469
453
590
747
318
284
348
185
873
395
194
282
670
91
547
235
62
369
496
651
159
260
438
697
637
303
668
855
24
591
197
391
374
491
56
680
998
811
165
954
178
895
334
130
241
395
878
941
763
764
346
390
417
823
25
298
396
791
870
700
9
327
227
320
784
126
523
699
735
653
138
969
740
82
487
415
233
575
733
413
231
84
453
184
416
827
655
754
358
85
667
926
804
688
874
628
351
388
592
807
723
786
669
45
754
935
328
347
663
590
703
255
505
696
225
224
577
680
437
558
592
567
463
380
808
274
121
600
676
170
493
37
599
402
428
396
131
618
167
63
369
106
126
624
799
93
195
433
557
616
400
108
334
845
310
167
708
893
384
542
640
708
959
560
909
285
82
282
688
522
97
402
39
482
433
364
230
440
561
871
765
30
964
414
976
429
16
330
825
52
369
449
528
669
578
932
998
99
299
336
517
764
614
766
729
636
619
107
975
959
284
701
774
526
897
241
91
833
510
301
67
257
261
44
101
461
69
304
287
475
251
106
316
728
381
208
804
144
582
439
685
641
631
394
406
508
122
93
667
125
766
864
357
405
577
558
467
787
874
473
724
750
802
197
112
800
931
213
531
306
893
676
51
583
309
397
527
766
575
13
545
768
727
771
258
245
739
740
594
879
552
446
330
113
376
795
140
562
458
201
517
934
403
791
7
350
765
368
816
183
883
985
947
642
151
503
257
913
426
341
495
569
198
74
64
799
578
454
809
65
217
499
657
762
565
535
905
305
518
157
919
263
886
231
2
445
141
934
354
823
270
597
706
693
90
593
890
552
635
941
973
769
2
951
150
248
293
186
197
60
319
360
920
979
837
776
120
697
406
926
496
276
333
628
826
464
782
532
235
286
491
185
839
377
596
638
394
785
490
94
428
46
494
827
303
541
159
338
475
190
230
945
116
152
997
984
744
16
931
652
911
842
388
288
888
724
240
577
648
962
579
352
292
393
556
115
788
705
187
253
111
160
942
500
710
540
142
867
218
976
270
663
668
888
868
521
73
499
51
14
291
482
50
216
127
563
702
353
302
262
434
574
910
719
785
317
569
351
583
637
583
967
552
663
47
149
188
424
788
909
351
191
893
954
924
871
467
751
121
841
287
549
616
999
218
439
505
46
16
742
616
744
597
939
922
869
944
952
940
288
370
559
782
659
426
588
381
588
234
999
969
777
727
272
839
915
153
314
518
617
409
71
242
462
241
562
242
337
183
479
534
984
555
441
682
794
345
937
491
104
367
742
428
723
581
940
760
585
514
713
655
996
81
921
182
623
111
196
140
923
809
331
396
321
152
729
361
273
384
394
471
676
215
903
122
877
711
687
961
552
677
723
404
942
485
403
948
456
646
947
518
279
966
199
712
509
636
744
815
717
441
437
843
130
447
879
237
368
940
395
185
657
210
469
929
349
954
96
371
892
82
433
226
453
545
525
611
905
386
649
115
712
894
23
546
470
620
985
878
283
0
216
978
917
142
541
512
347
496
779
306
896
894
264
71
891
568
541
870
694
823
470
901
41
675
909
158
618
329
335
248
434
95
802
783
21
204
917
136
953
622
821
695
311
186
672
160
276
884
916
589
560
890
910
669
492
416
18
368
838
352
823
328
541
843
957
880
801
273
748
237
86
661
831
980
262
642
164
574
439
274
160
370
978
2
41
948
349
605
485
737
422
842
524
380
291
180
662
9
287
882
43
854
210
963
899
62
865
331
321
323
104
658
635
212
302
235
659
274
494
897
927
120
334
329
176
379
995
639
346
509
959
757
886
630
39
592
781
913
546
278
440
408
923
858
392
172
957
83
280
672
539
324
230
169
801
4
568
666
552
334
347
211
97
127
428
753
458
617
458
943
625
527
736
588
293
621
580
371
807
416
122
267
811
138
741
685
339
171
45
705
544
894
436
108
710
987
834
252
840
898
324
479
722
567
844
21
186
753
841
653
232
165
169
414
290
750
997
157
112
452
378
491
69
125
128
108
459
171
448
477
204
739
240
296
172
7
15
684
795
392
786
730
102
825
453
851
569
434
23
192
935
981
703
827
458
370
111
175
787
347
894
930
296
30
12
127
376
559
116
121
173
104
396
264
651
773
912
288
191
363
961
844
572
403
262
410
476
386
126
976
419
493
947
358
900
115
28
518
679
805
308
437
451
686
743
125
701
310
186
521
192
177
450
545
139
374
47
357
598
204
117
850
403
572
357
610
499
843
515
256
368
63
264
485
396
954
306
286
924
812
878
983
314
183
718
937
216
166
318
686
809
847
330
192
297
276
480
880
951
735
684
559
702
829
234
957
350
10
53
281
981
728
709
469
485
735
248
131
13
824
862
424
8
459
378
894
451
802
899
924
58
428
461
292
496
832
260
867
749
949
215
83
881
308
408
704
859
780
724
795
524
391
25
4
366
25
540
358
80
345
632
598
985
679
579
643
470
658
556
387
635
679
705
998
564
964
5
970
990
297
797
83
224
733
788
571
208
556
740
780
296
341
213
297
380
290
607
510
653
303
917
999
350
155
771
837
596
213
719
62
976
105
190
191
121
733
63
970
80
457
111
200
64
883
332
780
208
988
781
46
238
504
587
32
858
12
913
64
569
397
754
668
997
194
846
583
260
96
811
241
292
330
332
807
214
141
19
749
504
232
840
656
274
469
42
931
222
743
763
540
428
252
683
159
929
170
80
325
0
439
407
85
246
504
954
578
570
12
86
719
669
808
970
598
345
767
101
212
78
820
853
427
505
655
814
753
437
838
455
243
153
978
972
398
206
915
365
516
250
681
294
642
998
967
785
112
689
380
42
799
243
561
918
129
991
60
114
982
289
524
264
528
542
62
114
322
947
757
697
810
613
469
853
280
991
507
526
819
437
811
755
191
556
39
864
796
796
0
397
885
920
448
883
256
367
116
416
452
394
653
16
440
750
232
131
731
218
675
349
29
545
967
452
281
425
389
877
111
594
165
204
451
207
85
714
85
90
716
658
43
222
838
678
702
462
843
423
309
740
664
69
322
461
251
724
691
326
644
201
195
386
408
501
549
454
477
385
714
111
567
718
660
799
368
755
410
638
743
780
981
841
58
325
244
65
410
746
503
696
209
244
292
702
548
727
592
585
293
236
532
488
953
159
279
373
525
931
312
12
272
987
979
182
261
700
835
248
76
714
847
458
422
937
269
449
926
337
590
712
35
286
945
826
928
543
6
840
202
605
998
952
283
545
625
313
943
735
773
258
377
974
233
10
362
559
901
729
659
366
433
509
611
751
397
784
860
448
294
913
434
100
503
755
968
663
40
338
49
66
379
628
229
185
680
73
64
72
677
762
605
286
776
892
685
879
351
145
877
155
458
460
652
352
801
526
401
546
404
705
863
323
31
260
688
387
323
137
795
507
102
636
442
402
145
604
260
981
730
401
953
811
845
247
993
275
480
598
62
442
81
938
530
320
712
573
945
848
655
943
402
791
140
868
385
620
621
861
207
934
237
562
810
660
862
337
357
387
57
916
749
655
320
844
94
219
293
5
364
449
950
374
412
101
877
105
62
603
721
486
657
305
760
28
916
208
745
877
243
50
154
34
959
868
967
555
184
575
927
817
553
511
117
787
825
913
432
577
512
216
68
890
439
955
493
830
192
698
16
613
704
497
579
613
18
286
71
563
857
438
574
114
9
895
624
428
174
507
834
433
437
820
188
527
919
103
200
447
867
855
555
94
213
428
780
276
690
135
610
266
498
203
716
550
619
489
627
240
985
625
101
74
214
611
950
172
187
660
380
460
887
50
866
385
523
412
972
51
111
777
719
60
503
176
946
38
546
941
923
67
166
205
378
951
245
384
15
97
837
134
826
66
51
780
142
199
537
879
85
817
271
554
40
839
453
490
572
602
370
449
625
447
354
765
475
70
708
190
235
934
783
779
806
153
820
200
995
771
473
811
377
409
587
449
606
3
324
801
40
601
89
164
76
160
297
81
351
248
247
146
964
973
21
552
964
24
225
23
451
950
145
769
809
527
192
194
47
836
94
451
268
616
289
549
181
610
683
830
106
229
753
953
275
887
41
748
473
461
558
337
370
236
836
716
259
606
361
772
428
668
230
755
65
333
468
107
996
484
378
851
295
817
528
720
654
332
253
734
582
747
847
140
475
483
404
805
536
172
501
133
390
474
194
800
910
691
356
820
928
271
992
293
659
593
84
53
721
877
612
373
590
59
580
818
372
314
230
835
97
509
570
249
22
951
675
970
985
804
425
656
548
191
711
982
767
224
236
399
303
734
114
263
130
17
140
708
377
983
839
290
860
710
229
468
730
570
759
771
893
284
599
992
169
435
722
208
279
753
746
95
470
851
86
486
141
10
272
743
394
600
867
686
810
168
430
88
206
53
489
408
238
911
518
860
851
251
271
582
835
91
743
657
823
666
966
586
688
695
655
986
711
365
672
819
249
963
640
177
849
954
845
948
965
484
529
89
24
755
385
665
964
132
389
369
181
260
264
469
410
545
240
1
536
75
544
710
528
68
532
209
65
499
509
92
896
390
493
558
202
96
643
622
787
128
175
177
959
864
533
584
315
749
742
401
749
265
755
880
105
58
787
580
39
109
357
717
386
818
608
248
248
520
354
683
723
307
128
589
617
566
825
395
497
730
239
928
497
495
672
417
691
226
395
601
260
839
152
695
70
374
470
188
676
996
162
389
810
284
312
10
357
380
628
764
478
391
39
985
667
131
150
534
31
818
66
991
947
543
984
630
559
799
400
260
72
749
721
59
974
72
632
556
687
285
758
949
576
193
237
188
728
723
549
689
390
285
974
161
11
186
543
761
556
302
380
637
654
268
26
972
845
323
238
734
930
985
22
838
584
885
503
197
437
360
574
44
102
904
824
237
977
451
741
702
226
35
778
498
906
620
695
666
699
793
517
148
124
369
977
901
85
837
439
938
271
414
397
409
152
825
614
252
43
140
321
659
863
291
161
762
904
690
218
745
238
201
991
767
486
842
601
331
809
396
903
266
636
809
55
912
853
205
540
43
503
260
755
459
493
141
517
173
965
614
104
961
693
909
871
303
698
5
876
119
189
40
118
382
972
209
875
871
83
41
938
892
963
844
48
887
145
95
692
987
481
134
234
923
509
130
373
176
142
961
621
74
570
739
840
524
722
131
956
334
581
682
992
616
831
192
181
229
847
623
368
652
927
708
778
79
524
40
571
132
843
656
612
159
718
955
277
800
837
353
515
386
875
486
531
488
787
508
814
708
376
254
345
68
484
870
715
701
901
34
802
397
619
158
74
700
979
781
98
100
848
964
30
482
920
9
801
525
559
177
771
914
833
345
268
293
353
933
384
631
197
371
223
603
256
948
344
802
818
251
159
30
818
120
765
5
405
734
544
457
805
705
535
877
978
29
939
243
526
37
753
722
226
566
266
854
871
16
953
77
493
478
336
41
58
110
241
457
300
652
163
816
630
726
581
189
711
127
314
23
666
445
744
826
293
555
281
323
678
708
132
600
425
45
614
481
486
633
883
155
392
739
837
993
154
681
807
334
268
638
330
238
687
481
398
253
107
447
212
325
929
670
280
976
771
792
131
755
600
35
678
311
605
581
454
433
13
755
923
875
453
430
987
708
254
844
353
463
521
763
421
536
287
998
387
971
27
273
141
912
803
953
656
435
14
165
117
531
27
495
159
996
824
525
980
761
961
130
420
144
637
772
81
837
495
36
827
761
239
794
35
825
308
763
35
214
851
651
736
569
698
196
769
110
172
584
784
495
354
866
602
937
420
539
515
250
971
450
217
525
702
350
783
904
656
238
52
332
640
156
957
110
313
403
246
276
567
521
181
995
669
524
647
929
147
6
448
651
931
347
838
819
196
367
399
511
702
663
570
582
799
785
897
717
1
615
911
108
928
983
32
121
589
477
832
350
262
131
542
115
602
807
670
960
415
910
101
349
144
271
993
543
285
692
575
46
87
997
739
714
132
304
606
40
83
324
806
724
954
575
34
986
396
605
564
28
650
483
545
878
490
879
795
32
426
542
375
953
108
325
450
48
267
338
649
325
296
856
207
578
528
881
953
35
690
627
637
66
838
287
743
343
324
410
841
459
808
363
137
236
914
546
494
244
912
708
396
236
187
314
766
334
471
769
366
968
199
38
522
643
632
789
222
32
509
933
480
104
972
976
188
772
122
564
365
399
961
653
510
486
101
162
821
886
406
152
167
457
942
74
434
567
906
97
801
308
504
812
748
393
587
390
196
63
730
387
68
854
767
485
718
217
587
521
745
352
905
853
770
558
560
986
421
961
376
33
875
936
974
118
617
77
423
923
895
525
899
616
279
761
838
995
669
544
82
512
455
45
942
819
640
49
86
519
925
977
848
785
776
412
223
63
820
75
955
135
655
229
349
254
947
645
259
752
226
539
268
86
281
416
450
630
245
403
419
422
819
290
353
823
668
569
600
324
809
134
804
212
748
285
52
224
339
256
626
247
1
939
318
958
944
546
594
955
55
353
286
341
609
842
522
894
498
352
3
601
34
30
723
263
653
922
308
635
548
920
681
711
804
593
380
437
253
399
937
705
960
266
681
939
344
143
336
259
891
316
127
265
966
346
370
581
984
58
363
6
469
911
74
120
436
276
665
33
963
377
651
595
998
755
434
205
332
892
517
196
366
126
329
167
688
482
126
4
302
734
877
15
38
82
156
397
138
176
798
173
429
502
628
359
402
973
202
27
132
134
675
302
882
29
434
475
968
347
913
304
209
505
883
488
276
434
383
351
353
515
529
946
365
292
187
820
177
191
855
763
757
371
198
764
946
465
496
978
488
48
289
895
489
927
643
267
614
487
503
169
945
459
240
226
736
547
300
255
591
672
752
606
277
453
932
633
214
149
336
974
79
893
294
164
665
392
403
468
404
820
366
965
484
877
814
355
566
819
3
108
217
472
483
285
580
239
612
337
855
758
643
286
588
888
664
199
583
953
96
116
391
716
432
929
169
414
601
54
997
525
748
525
842
917
4
676
862
66
191
808
569
740
527
230
65
312
477
486
375
151
568
307
432
181
630
909
459
74
189
512
853
966
242
482
999
618
223
103
290
954
326
190
705
77
788
719
523
282
172
265
310
806
938
259
680
650
426
679
460
588
412
413
594
16
516
261
766
146
848
824
568
579
779
683
166
290
467
24
214
406
779
392
10
157
481
364
312
65
462
645
558
77
315
744
42
519
5
43
40
635
479
686
804
794
17
534
741
900
686
122
89
633
22
238
234
616
178
683
870
571
767
780
706
584
256
881
436
321
593
339
191
974
518
288
56
903
409
305
289
951
604
570
390
786
402
894
806
48
53
654
49
468
388
125
625
265
240
9
988
781
802
318
503
933
580
927
157
71
560
100
521
20
110
253
268
61
740
234
196
112
863
513
466
159
191
56
510
849
191
732
452
65
525
543
303
780
700
511
802
820
356
30
85
595
167
408
43
375
665
470
797
300
609
395
741
645
521
161
242
362
672
211
337
260
261
928
682
476
140
406
387
212
792
774
921
210
858
967
855
226
810
535
646
79
496
184
76
731
300
174
787
848
848
612
100
732
749
640
865
262
85
98
658
405
731
14
671
583
308
499
441
445
879
966
708
960
741
634
455
677
203
419
348
88
259
485
30
685
433
147
223
716
416
175
346
207
917
28
31
799
788
594
38
619
263
30
145
254
809
93
64
174
418
150
484
831
55
96
479
357
974
531
368
793
294
914
363
372
179
488
31
159
119
640
792
687
338
484
948
345
999
179
177
728
682
743
469
519
193
263
329
944
682
411
702
596
304
997
89
830
226
317
160
564
222
935
234
334
581
335
928
860
351
665
857
17
949
482
553
168
42
175
979
618
611
558
390
429
642
541
601
778
938
266
618
916
930
253
52
673
606
876
49
342
25
409
232
347
483
122
650
964
279
149
306
402
890
546
224
541
862
116
310
414
308
736
708
648
549
703
878
291
709
393
956
639
446
281
623
8
886
497
638
265
519
932
464
611
98
102
317
129
698
545
366
227
691
407
40
991
401
609
351
312
962
304
68
218
551
797
944
132
363
216
241
737
274
223
365
799
3
675
129
33
663
14
494
846
470
322
406
569
540
695
378
563
546
572
568
872
468
361
942
13
829
423
209
301
493
603
336
956
748
168
765
789
565
891
185
750
177
648
457
439
90
634
653
492
533
982
350
103
219
608
215
235
493
620
455
670
621
320
577
662
728
785
74
966
104
625
605
267
58
652
441
37
831
345
409
3
654
17
886
149
352
755
747
554
408
632
943
804
321
755
679
347
502
601
375
828
446
478
819
747
317
75
567
968
400
551
744
32
371
808
391
159
611
873
170
173
366
740
587
852
72
339
143
237
66
685
733
768
237
917
267
914
162
281
786
403
299
915
752
903
988
394
818
995
451
237
38
861
121
496
549
859
932
815
474
724
22
858
939
560
379
103
810
76
303
523
291
879
416
961
586
695
85
398
695
969
754
668
517
913
867
466
622
380
882
721
200
800
362
187
724
617
541
633
342
367
924
144
581
71
338
71
159
55
642
529
263
109
341
149
332
121
343
96
835
30
409
184
217
770
965
753
80
96
371
921
444
927
856
199
187
709
571
158
152
871
97
204
684
775
833
274
750
179
974
932
937
219
26
901
946
478
807
651
191
405
631
62
602
91
290
704
213
972
22
264
907
271
674
256
803
386
158
456
824
933
254
257
594
346
450
476
354
500
190
678
38
199
688
479
257
643
676
700
429
7
339
299
151
254
940
790
362
583
710
374
247
268
744
358
663
950
89
130
820
983
129
400
25
718
470
908
364
545
34
480
300
336
410
246
877
56
178
626
645
993
37
273
631
439
477
667
589
29
408
115
87
563
904
43
910
27
205
275
862
83
827
637
717
902
817
609
965
253
978
579
320
349
368
748
770
889
23
999
238
830
354
317
616
524
226
815
385
321
826
13
285
654
707
905
530
456
770
952
147
278
262
793
196
130
995
233
536
972
747
261
192
115
268
516
4
175
164
479
854
709
380
622
369
830
12
538
502
196
243
523
590
821
253
59
447
957
839
452
535
842
112
819
218
816
952
490
176
974
39
746
340
388
964
316
22
627
134
297
357
108
533
906
636
364
284
782
117
972
973
53
126
491
426
777
976
624
561
345
658
150
491
657
528
330
987
758
668
331
910
366
145
127
261
170
988
110
479
879
585
565
292
192
825
280
949
693
420
387
522
669
132
408
478
121
985
684
476
582
798
507
777
609
442
33
79
384
926
2
357
877
77
867
205
656
542
802
84
740
580
667
193
144
555
192
388
994
71
940
408
934
445
872
447
51
113
373
869
594
781
399
552
883
259
118
238
312
817
810
801
609
750
616
561
718
376
260
887
257
673
133
472
535
93
343
931
258
9
289
897
323
312
140
540
512
506
230
989
892
648
647
580
993
640
233
719
535
942
630
621
261
51
397
121
409
953
507
26
142
306
238
601
823
968
118
177
758
284
713
81
87
85
677
690
979
314
105
137
568
842
963
913
204
538
388
715
83
81
293
396
539
303
340
945
910
749
494
772
869
397
248
883
17
506
505
708
828
891
862
738
98
854
702
754
678
121
111
368
101
906
457
655
630
654
131
430
963
861
579
634
728
758
742
87
385
879
93
92
666
263
664
435
77
462
101
981
440
851
858
694
73
191
762
55
278
990
216
672
737
220
852
438
266
676
861
515
197
754
594
534
383
992
852
203
39
16
212
464
773
202
833
674
287
474
761
929
611
848
764
840
314
672
480
615
707
372
9
353
189
457
639
850
641
672
106
266
218
216
891
449
508
928
932
440
565
705
896
259
544
216
322
841
911
443
452
607
820
613
559
123
682
473
961
957
625
768
58
704
184
989
884
386
110
788
480
222
5
551
305
444
634
972
634
200
543
631
194
105
835
772
788
47
262
65
758
484
431
910
84
479
125
33
944
117
424
311
443
320
413
672
654
119
445
117
144
224
900
135
250
166
139
654
961
92
634
569
282
320
7
918
224
603
615
260
726
356
418
981
166
50
31
325
860
844
368
863
266
912
829
891
869
29
909
485
395
380
108
855
623
123
296
187
100
68
740
209
738
257
903
622
873
898
545
243
761
753
708
166
501
957
318
125
934
502
714
210
245
881
601
657
501
691
761
567
823
924
401
91
790
792
807
420
471
494
314
471
936
381
461
912
715
754
23
202
25
309
560
422
892
301
895
80
118
577
816
993
144
747
546
386
158
600
231
872
407
549
871
469
86
22
93
205
812
74
366
776
44
594
88
254
234
954
137
264
344
521
476
55
157
761
420
145
403
975
628
366
854
148
655
236
907
346
848
479
330
290
261
500
457
649
761
645
845
932
507
459
165
987
359
641
237
294
507
223
479
300
147
682
648
905
682
909
327
361
700
744
863
524
5
293
832
920
581
304
973
878
238
831
337
755
354
950
788
105
189
805
945
309
512
132
167
681
386
871
123
964
637
694
157
745
479
101
639
250
311
39
927
487
208
837
446
801
866
941
711
590
921
686
835
476
703
116
78
813
82
808
670
763
772
785
547
314
933
753
904
712
341
47
759
602
745
189
322
874
254
221
642
693
220
276
664
894
687
996
468
618
310
160
100
306
808
68
850
822
31
283
993
927
600
179
899
394
876
370
35
813
333
620
787
690
878
450
488
100
767
531
627
842
182
484
817
720
634
772
584
830
659
748
926
124
995
801
552
592
110
331
446
420
996
930
86
261
563
149
325
669
667
623
7
736
830
736
119
404
109
882
952
149
992
877
691
788
440
207
24
717
750
411
861
408
231
916
51
129
954
746
27
771
843
850
166
633
31
365
224
97
819
660
952
94
281
267
294
309
213
506
315
607
815
400
722
665
87
205
450
726
745
721
255
632
256
493
784
810
165
372
726
469
797
281
919
142
463
423
937
99
490
834
847
797
853
375
749
448
0
179
137
736
515
730
117
245
295
814
818
606
445
717
559
261
717
331
840
303
445
422
66
481
283
944
648
55
454
114
779
811
434
403
400
701
92
487
71
524
681
567
818
187
758
19
121
980
329
329
18
577
50
284
532
930
162
831
928
381
521
776
573
974
853
652
427
17
221
790
186
749
904
47
554
60
52
274
922
886
362
12
649
869
578
863
585
182
794
531
963
150
936
715
291
346
175
996
447
546
166
418
142
66
783
687
685
663
386
783
671
161
336
36
670
693
724
855
187
113
179
690
440
616
744
833
681
770
938
600
712
92
861
995
83
432
280
556
42
862
324
771
714
812
971
12
833
412
553
870
517
154
760
973
541
140
915
642
37
82
301
909
791
665
986
301
63
406
522
882
87
900
16
899
439
378
773
897
116
407
687
159
211
720
334
531
920
217
718
449
715
910
162
587
246
862
598
923
119
819
931
621
626
67
676
244
325
180
511
187
198
752
980
464
164
165
733
543
514
793
192
453
623
696
788
739
141
148
7
251
972
541
721
476
266
472
880
670
272
70
17
754
988
378
234
932
325
162
517
888
479
2
728
332
429
958
930
818
709
28
744
449
462
556
92
510
610
64
716
289
932
514
223
558
953
357
308
385
224
708
179
651
588
474
443
272
251
669
479
460
535
257
911
931
408
394
292
85
711
893
920
148
128
677
643
589
150
280
901
191
804
536
427
175
547
946
483
779
349
3
197
369
594
166
887
980
322
731
458
341
295
266
326
257
759
152
68
236
496
193
242
960
925
123
865
234
555
821
799
100
75
703
795
243
449
861
309
288
1
702
186
427
25
762
515
627
871
250
804
397
466
887
594
453
977
73
337
878
469
274
89
590
260
111
133
694
952
718
618
564
51
258
175
149
172
872
244
19
680
363
248
995
371
785
858
50
35
412
759
161
801
735
137
995
507
377
506
948
210
543
243
630
892
779
493
472
179
908
465
439
456
787
287
479
210
183
57
878
841
604
812
796
363
79
449
338
986
815
70
459
993
680
35
465
755
260
239
333
616
148
838
743
196
479
502
664
463
237
655
16
265
389
496
225
876
303
687
456
129
593
522
425
790
400
558
59
314
703
115
862
650
678
608
661
576
733
192
588
733
670
910
835
998
725
409
467
253
726
638
149
928
539
405
165
558
177
688
858
175
661
804
916
122
466
829
843
295
46
730
664
602
158
629
8
430
72
69
561
555
529
643
261
661
307
533
876
241
925
925
528
458
726
585
935
98
331
688
937
473
280
353
643
936
246
137
208
506
159
771
804
862
591
104
590
349
604
48
942
257
24
205
120
676
87
551
963
663
475
152
207
9
473
82
161
65
881
708
778
202
110
342
747
573
167
445
194
564
249
489
679
642
811
346
474
762
247
246
908
905
641
493
67
705
787
350
269
672
386
997
635
761
872
47
264
147
368
245
68
981
316
978
772
101
704
787
621
240
959
892
269
884
841
662
655
716
476
290
524
831
324
164
3
859
266
325
508
887
603
138
307
614
519
423
559
339
919
270
330
314
732
247
789
895
623
185
392
253
976
747
851
63
175
843
810
885
486
478
890
263
803
218
459
717
785
126
345
422
532
70
897
250
719
0
981
585
244
454
928
815
23
608
492
210
856
698
782
829
360
182
187
681
388
557
788
535
662
909
77
174
998
473
226
254
374
683
291
665
921
958
629
199
856
624
242
643
238
956
834
824
506
789
194
59
864
713
21
182
288
134
572
895
620
331
830
658
419
807
290
831
251
437
56
30
633
67
764
496
141
736
269
882
459
745
780
4
546
149
908
709
809
70
115
105
367
199
985
125
221
868
473
245
523
744
189
278
858
345
686
913
755
621
377
126
647
635
3
752
207
761
15
616
387
258
671
936
694
511
77
274
253
47
115
271
593
735
292
803
710
484
322
617
942
469
501
221
616
429
412
366
865
22
792
11
634
766
885
324
330
847
527
677
93
300
977
301
808
511
230
216
603
670
864
758
856
358
413
69
797
605
449
289
877
825
929
728
166
870
486
217
696
449
464
637
857
281
595
373
76
913
119
2
905
978
484
882
682
579
171
16
440
228
241
538
955
214
291
478
644
617
214
217
844
169
929
482
71
245
348
263
348
723
330
454
107
969
79
569
823
460
656
525
921
153
31
821
887
382
407
353
849
39
675
734
235
421
742
544
742
909
535
711
76
300
998
732
768
205
695
185
522
205
679
521
362
252
741
176
66
872
945
856
428
734
175
790
224
646
208
946
748
211
877
443
684
602
478
218
767
947
976
555
289
188
168
27
248
638
552
899
712
576
909
399
628
376
852
175
33
281
456
334
985
234
115
381
934
965
461
568
145
481
368
578
764
881
221
186
833
62
780
206
324
151
42
287
70
913
554
325
618
515
488
261
631
312
633
103
992
813
721
685
209
25
106
816
390
462
11
521
753
334
500
800
592
763
647
833
735
533
709
701
715
579
718
404
403
47
333
679
784
522
665
129
367
332
731
333
726
622
1
377
251
251
444
729
820
989
807
145
478
16
366
423
133
664
925
911
731
982
421
112
451
343
47
244
732
349
296
728
612
63
399
290
800
432
286
491
279
962
568
445
718
473
436
245
657
878
779
696
206
252
449
468
704
199
784
939
782
985
826
655
868
138
903
58
72
526
365
705
945
266
274
542
876
350
573
100
922
836
872
291
938
523
102
738
339
157
343
850
654
465
465
473
24
526
634
411
124
825
387
676
16
407
606
158
319
827
821
86
996
432
297
680
967
291
49
584
736
789
613
664
110
695
176
57
248
434
164
582
692
473
608
356
11
299
283
49
677
417
188
952
923
632
683
806
532
503
940
389
808
147
143
897
100
893
919
610
250
68
36
934
515
310
183
136
750
475
177
413
974
897
745
54
379
74
912
229
944
850
906
64
185
649
212
917
395
80
563
508
11
741
485
542
498
553
939
570
726
603
960
541
767
994
738
583
464
258
625
669
524
972
172
981
191
117
370
177
455
701
419
722
517
76
687
26
161
396
484
916
122
282
106
550
255
833
718
359
749
363
30
548
722
522
298
318
562
193
504
558
793
669
767
766
351
451
624
230
836
953
793
444
512
887
286
415
313
607
113
690
348
789
196
428
755
741
554
805
695
581
374
958
998
173
966
812
505
715
191
878
15
900
61
525
503
441
555
15
553
97
884
851
41
57
561
8
621
512
304
360
248
412
380
820
921
432
881
134
31
883
246
281
470
307
410
912
960
578
828
187
322
19
15
421
188
591
857
304
729
422
753
232
97
8
106
117
193
659
114
742
646
912
453
774
675
338
33
877
646
192
822
126
12
448
121
407
79
446
247
958
850
471
477
537
378
198
659
93
886
746
623
735
31
930
313
499
171
736
928
395
637
354
508
678
43
713
70
988
904
290
10
735
828
784
117
281
729
918
478
215
437
861
463
297
539
742
223
456
123
480
559
365
533
937
239
262
659
536
595
462
661
443
306
117
528
149
821
539
895
502
513
995
856
745
569
722
363
649
996
690
141
202
185
324
45
995
18
887
130
232
669
194
612
870
818
977
954
282
844
182
100
311
751
267
20
947
725
689
999
308
383
420
680
398
657
532
858
449
902
638
423
362
326
665
898
393
653
728
703
850
363
67
955
155
645
247
598
709
987
578
368
892
140
805
765
794
509
263
254
536
130
241
412
720
169
89
698
675
447
99
439
842
976
163
527
434
866
467
93
21
357
474
358
798
378
263
849
981
505
41
108
660
161
285
209
312
847
31
46
597
720
376
650
800
766
437
675
221
745
730
930
497
996
930
628
272
836
515
179
841
692
485
916
813
581
451
830
355
401
203
971
707
349
115
180
87
951
368
918
165
701
743
686
747
194
912
78
358
325
235
51
58
701
91
521
161
665
624
967
581
218
470
486
533
847
364
206
952
859
404
240
594
607
310
323
193
42
313
853
490
148
649
740
196
787
153
274
191
391
311
176
981
437
158
234
437
588
872
686
872
173
201
575
277
852
459
209
783
673
829
819
361
895
472
779
984
965
520
497
729
533
969
449
139
874
412
743
577
799
854
534
408
202
461
132
483
505
569
384
305
33
562
656
523
470
723
955
991
45
738
868
689
686
154
962
844
13
974
594
326
735
582
83
762
513
874
204
988
42
366
520
909
6
235
796
337
905
452
643
568
543
73
182
386
741
62
921
71
828
153
571
94
412
259
993
532
756
713
973
31
424
35
416
413
441
924
498
797
224
988
869
962
959
638
271
538
801
535
97
902
349
503
349
241
175
380
480
411
395
270
29
15
539
649
825
71
326
448
533
908
584
283
686
167
212
294
720
178
505
514
756
215
642
383
682
158
280
875
421
395
401
108
589
781
772
370
69
741
851
378
805
458
665
564
194
404
595
262
666
783
734
454
122
576
894
353
130
48
914
579
187
517
54
336
569
471
755
803
738
15
387
118
100
927
106
550
914
342
435
85
494
872
114
770
327
182
508
576
174
376
349
68
430
242
876
661
291
313
573
561
497
609
962
985
43
988
212
897
778
190
828
329
875
933
313
688
4
605
451
816
943
635
184
617
499
129
778
753
149
24
525
722
636
727
108
618
833
114
817
511
185
501
924
302
834
649
9
269
204
50
453
420
604
29
191
157
871
699
908
544
661
470
239
727
39
899
277
119
189
454
71
551
736
556
816
564
216
366
158
615
72
520
317
893
744
842
983
706
630
724
338
400
364
948
579
933
437
136
293
465
730
672
778
552
184
973
826
210
855
203
871
227
861
130
68
559
713
262
405
634
195
404
413
143
363
584
992
145
327
803
835
170
99
182
236
583
663
767
254
891
615
533
648
840
949
675
722
967
131
318
589
927
617
917
381
737
787
422
379
507
30
488
724
66
580
35
328
993
87
44
755
673
797
226
274
681
104
804
387
348
611
394
702
625
89
15
955
423
39
287
773
946
505
652
76
172
324
504
200
580
114
531
701
905
370
3
712
921
732
610
833
146
758
846
937
519
214
804
474
663
923
894
492
592
926
121
30
154
225
314
471
744
217
218
507
388
920
116
885
427
589
542
31
501
138
944
266
774
672
552
592
612
184
742
809
108
893
112
986
39
87
696
297
433
829
159
276
679
393
658
274
912
915
935
32
621
407
493
705
555
180
711
522
931
26
580
505
896
229
357
272
552
842
643
304
614
24
694
958
272
712
156
903
399
727
741
145
410
890
243
359
718
125
713
772
732
744
208
786
872
370
556
781
220
985
632
87
927
798
419
203
820
833
701
739
313
591
490
842
6
70
829
673
341
898
986
647
271
159
581
219
715
543
139
420
629
213
154
725
812
690
404
208
548
955
638
344
968
424
364
237
223
540
462
572
907
911
134
314
239
995
797
186
111
938
306
196
920
479
468
733
946
167
912
344
357
251
183
947
347
821
841
380
236
883
120
168
360
712
758
448
965
820
82
422
106
651
463
615
648
292
439
36
177
849
513
106
825
668
435
899
384
547
181
867
935
141
859
778
174
329
916
452
487
969
815
981
135
118
708
26
588
158
794
757
216
314
150
981
453
478
891
657
988
300
747
585
26
518
213
792
587
408
178
187
785
32
281
923
612
739
177
848
79
735
515
516
133
824
452
865
952
809
119
91
919
944
232
421
640
669
878
504
290
951
694
214
833
608
90
645
588
136
837
657
365
629
16
925
490
796
552
521
734
255
240
420
616
185
823
838
407
880
195
416
542
812
950
910
714
364
276
174
979
806
553
605
844
943
861
938
17
234
146
980
233
902
823
580
290
685
86
5
289
604
437
174
241
429
63
174
829
523
297
249
603
7
151
44
234
552
323
543
304
685
54
978
583
821
209
638
390
708
236
376
611
462
12
51
478
200
717
142
706
896
569
333
480
420
118
607
653
130
632
416
350
710
251
588
619
627
948
627
161
543
81
436
408
729
927
271
739
515
687
240
176
218
546
281
838
956
778
574
589
908
98
634
625
372
603
898
241
149
406
653
918
963
723
345
747
167
138
743
24
527
842
811
460
591
615
766
477
565
107
801
815
629
106
103
726
991
979
435
20
806
309
802
952
207
974
791
473
263
925
249
229
15
87
856
417
995
242
446
495
149
677
973
213
983
576
132
612
553
393
350
703
898
118
81
180
577
236
201
52
407
919
579
334
168
419
376
170
154
108
171
967
43
895
867
496
983
279
632
241
286
623
672
715
371
173
473
299
425
640
419
421
875
86
317
443
177
836
33
800
799
876
177
78
824
310
548
612
213
592
34
35
161
464
149
201
349
534
715
516
818
144
967
368
748
174
682
932
408
759
62
72
751
987
401
814
944
673
503
229
994
774
627
392
63
549
17
486
127
82
379
276
807
15
704
247
15
766
882
307
866
431
711
804
455
989
485
503
160
506
651
497
546
282
184
784
186
370
48
760
629
439
844
541
238
20
592
509
282
847
670
924
734
136
825
310
648
263
808
583
753
503
278
66
784
235
876
334
934
187
846
159
850
159
868
499
691
430
986
744
122
879
249
867
489
786
274
244
401
684
146
9
463
327
912
979
226
142
190
859
196
850
535
327
950
922
829
587
357
364
782
253
967
649
63
952
536
682
353
106
433
457
445
805
609
818
644
791
466
635
484
596
748
343
489
61
447
755
587
535
312
731
287
203
868
470
875
948
718
673
644
156
4
748
637
69
706
656
602
798
57
796
843
895
627
316
330
914
497
996
492
195
789
776
920
88
884
915
561
659
957
550
218
654
50
790
877
674
812
365
88
290
603
196
211
705
622
300
862
654
368
39
900
714
406
784
570
541
67
912
557
828
797
524
970
822
762
834
731
994
879
937
536
279
969
194
776
302
848
623
542
162
917
60
696
765
581
72
856
24
775
683
429
654
624
258
512
265
261
14
886
411
169
43
615
926
676
772
470
279
441
172
947
449
846
176
511
217
874
994
914
191
312
14
766
290
89
580
729
7
625
747
733
168
227
122
422
760
241
542
653
25
310
586
309
793
158
268
836
828
723
168
837
277
546
692
819
805
535
628
649
287
543
700
545
161
450
329
846
165
430
660
708
722
866
618
975
832
501
333
909
377
985
706
412
505
693
774
187
900
465
404
310
977
203
747
894
202
919
648
908
513
736
914
840
320
251
997
252
305
971
816
547
205
99
992
523
498
55
748
949
474
498
57
450
357
219
460
568
609
86
186
348
231
20
592
461
135
963
272
497
422
613
134
894
719
746
190
816
925
693
452
362
910
244
362
391
154
111
977
262
19
897
875
791
935
330
929
831
967
467
66
587
358
471
943
0
261
363
195
202
608
921
54
475
354
410
191
848
316
740
498
399
102
463
503
536
346
557
299
166
437
190
226
560
694
728
207
789
333
486
552
378
296
615
971
598
159
950
941
929
410
250
674
142
34
328
693
673
787
773
369
826
884
805
419
835
522
3
574
897
352
504
642
259
218
148
714
522
363
988
806
705
496
661
261
764
62
828
799
841
300
493
335
697
41
701
990
603
250
204
178
613
340
633
864
10
362
970
35
801
908
516
60
595
605
900
51
900
440
905
844
210
959
257
97
382
787
56
95
303
377
952
546
935
735
267
905
926
451
316
351
876
292
626
114
500
331
515
368
347
878
144
152
85
740
56
428
52
238
222
736
90
297
844
826
228
182
524
396
770
747
902
984
32
611
697
863
872
325
569
723
274
476
2
459
467
643
697
932
674
63
325
24
381
925
640
17
621
682
367
709
36
111
760
700
867
754
187
370
398
50
645
318
789
178
864
892
71
887
96
637
669
447
329
519
426
762
938
947
854
253
849
501
625
293
13
207
679
686
820
26
12
461
254
86
524
588
609
596
951
66
423
361
68
723
815
1
376
919
520
109
946
248
237
558
640
579
31
842
3
32
86
300
920
1
528
699
260
866
962
827
543
107
431
703
319
503
804
798
544
355
894
364
213
279
108
946
742
507
72
25
761
575
701
960
855
555
667
521
584
487
409
369
33
197
51
7
207
10
70
739
171
631
486
818
880
443
692
735
267
961
492
76
361
657
452
182
529
808
404
948
847
918
198
589
299
355
464
501
150
938
301
685
277
417
69
891
598
100
297
357
945
568
632
731
122
8
967
814
485
592
197
953
368
131
430
854
454
697
723
779
196
783
63
25
759
638
240
645
126
788
731
719
572
258
830
372
515
522
658
100
321
985
697
885
114
870
895
559
743
98
713
604
460
134
73
393
635
566
439
472
232
632
801
683
134
898
647
219
506
15
549
388
920
890
873
876
653
258
810
208
783
446
850
745
663
248
793
73
712
731
101
474
973
504
693
884
34
825
700
245
567
311
644
237
791
621
130
118
512
937
306
290
900
264
965
215
617
507
77
496
562
845
321
376
596
746
849
681
111
165
322
9
868
19
473
684
643
379
931
147
711
199
883
782
22
709
823
909
639
545
282
607
102
61
709
405
379
449
2
352
849
862
417
431
169
664
797
391
365
699
554
969
564
315
701
878
521
952
465
844
385
756
716
509
474
603
262
859
829
910
906
708
610
460
597
101
41
14
911
882
635
153
762
429
571
296
978
814
373
978
608
360
998
582
879
983
37
765
798
908
295
384
810
892
368
523
437
616
702
632
383
688
446
660
549
85
764
968
303
569
392
180
562
384
202
980
733
424
706
430
941
73
433
645
954
716
196
935
828
479
938
179
235
927
693
308
910
482
88
944
123
877
185
167
639
854
430
84
162
74
439
839
513
268
508
891
329
566
541
729
83
7
954
79
600
859
336
571
332
189
12
302
899
239
775
732
663
616
556
270
622
630
876
403
749
788
542
932
720
198
279
937
244
56
266
284
151
129
806
133
423
613
795
684
271
851
964
888
74
693
140
376
106
104
547
95
370
954
951
117
982
465
832
715
939
732
64
50
196
489
200
116
198
789
936
363
278
42
822
581
369
750
172
872
824
295
623
757
335
240
621
20
269
731
377
31
493
319
283
903
982
246
180
226
627
822
248
368
453
373
30
887
707
700
993
458
492
795
794
33
656
552
546
554
260
73
37
400
338
655
519
490
16
182
554
2
603
432
224
755
31
11
999
239
547
151
724
371
763
718
754
850
45
14
492
384
151
784
635
638
978
921
156
25
45
610
978
357
707
738
620
97
223
437
644
881
254
233
195
724
954
409
776
641
40
436
645
845
371
902
356
107
764
192
899
745
135
409
767
955
436
51
918
145
358
380
888
969
977
154
963
92
705
22
69
96
847
636
12
388
693
843
3
576
391
797
417
417
635
133
580
711
960
884
269
443
832
133
764
994
573
721
511
723
689
126
341
799
110
349
691
787
398
46
607
374
413
833
866
273
156
21
671
338
695
739
807
135
305
386
611
630
707
119
172
589
210
96
280
30
482
964
979
611
693
26
53
521
251
602
801
629
158
605
101
956
243
329
604
117
768
79
432
904
756
666
774
705
146
509
981
149
148
741
771
687
157
376
183
38
20
325
187
741
598
383
774
49
819
324
591
900
788
148
326
382
253
736
228
979
286
683
875
500
549
88
308
4
228
210
207
715
35
816
20
618
396
687
417
141
706
229
90
427
219
105
467
745
84
242
658
665
356
804
688
258
79
194
800
190
396
747
216
801
63
332
635
336
569
768
606
622
991
863
845
863
452
641
208
746
855
29
274
821
287
488
447
518
773
593
377
368
118
469
874
880
399
208
816
87
797
63
534
276
485
923
877
262
589
331
288
451
460
587
526
372
228
94
183
535
617
845
720
860
66
973
248
411
998
428
173
131
120
585
679
603
98
144
362
832
414
571
156
382
259
955
926
980
813
442
822
109
734
307
660
30
343
631
644
416
185
917
140
455
293
950
799
453
796
86
93
843
862
228
70
892
423
567
65
780
283
725
663
963
35
501
307
930
362
781
73
630
89
378
517
462
987
874
741
763
816
813
319
78
339
850
141
872
117
477
423
864
979
462
59
727
751
974
57
91
488
676
193
444
161
137
28
428
480
355
195
79
524
906
445
614
41
820
309
76
985
970
143
935
496
98
815
564
295
783
173
844
869
414
439
886
986
261
405
12
685
494
281
2
574
243
416
512
535
766
879
895
513
515
581
34
951
161
361
645
524
740
430
392
357
61
747
429
902
18
27
942
630
494
580
438
852
343
572
292
342
592
397
208
756
696
165
165
238
635
533
472
814
425
556
395
41
936
380
685
370
955
987
135
609
746
64
374
697
748
975
961
844
214
44
364
718
750
285
875
429
549
347
520
482
975
679
105
293
516
208
812
772
671
249
670
496
948
543
355
533
482
517
670
193
40
945
231
597
358
688
172
361
137
225
27
879
796
783
244
332
436
70
200
372
179
758
23
913
952
914
841
954
26
481
171
593
479
775
755
244
283
940
260
451
928
252
384
563
709
549
795
9
933
200
216
506
722
189
470
225
806
85
621
91
261
14
340
411
142
29
180
569
103
660
3
863
853
182
989
411
519
969
871
373
462
658
987
947
481
644
153
614
826
307
975
41
967
156
899
424
529
313
108
234
357
497
422
610
386
692
286
383
504
275
296
884
821
600
378
251
380
334
719
784
172
783
213
781
938
330
427
551
511
490
185
685
573
149
320
969
217
835
663
868
583
357
72
270
41
336
166
759
804
440
163
899
737
727
840
896
398
849
879
51
196
346
88
271
693
312
999
98
921
931
911
535
802
154
73
37
390
8
172
335
361
5
744
661
268
504
614
161
504
143
825
197
736
411
866
803
379
216
176
142
18
389
243
762
419
167
7
674
403
723
560
693
649
888
214
286
537
282
76
26
283
60
303
675
901
180
2
716
695
946
748
429
114
702
405
269
107
347
970
39
99
769
13
752
841
875
824
589
383
877
82
315
270
254
786
558
625
392
856
221
637
500
605
607
572
125
231
868
621
139
166
832
524
946
186
173
313
367
506
80
95
985
878
72
408
72
463
427
476
411
248
593
817
693
665
110
358
670
468
406
207
920
330
63
830
158
147
31
560
496
343
244
518
687
217
342
471
299
887
36
521
234
179
250
757
312
522
352
774
345
141
648
925
863
23
144
48
26
788
171
647
753
982
444
922
644
891
921
383
752
799
923
207
79
412
110
394
48
548
471
906
393
903
164
318
367
541
548
529
89
345
696
806
966
576
501
128
699
13
599
127
31
773
413
591
260
440
53
349
599
622
968
23
495
575
702
6
984
263
461
887
821
261
225
918
19
75
893
742
414
421
291
878
550
95
937
176
770
6
192
478
468
977
760
874
233
288
266
743
251
728
613
703
973
16
224
474
615
97
975
403
868
550
44
411
325
194
492
272
113
609
177
445
612
485
116
866
519
810
543
706
795
714
99
381
301
62
313
705
22
826
634
236
629
233
267
814
939
104
429
895
806
18
750
832
565
701
850
929
623
799
238
291
107
664
844
887
892
97
603
467
50
623
883
708
348
156
360
127
491
272
393
497
546
454
454
984
539
165
881
353
876
129
557
769
548
651
979
664
222
165
85
125
699
568
816
868
905
729
814
762
694
391
750
306
938
126
584
857
305
971
529
161
771
492
655
485
344
489
78
556
406
157
958
43
681
318
977
738
149
577
969
719
308
160
404
582
248
462
14
968
914
943
165
818
714
68
570
228
388
596
183
915
658
709
499
700
785
900
678
368
976
98
671
191
671
885
683
629
448
464
897
916
20
532
880
518
847
866
605
958
967
820
920
822
814
153
262
907
247
599
219
780
491
911
493
153
716
200
439
260
27
529
11
973
374
108
129
775
177
915
440
728
890
137
641
557
719
44
531
597
109
496
595
240
694
397
951
228
101
871
38
585
251
36
817
791
611
935
184
560
751
635
106
687
368
742
271
405
40
486
167
590
421
798
476
832
326
805
247
210
481
588
782
252
951
476
233
945
926
985
808
92
46
639
739
169
111
68
844
520
646
897
79
831
818
493
116
902
286
298
350
249
247
411
922
42
638
325
341
773
577
319
289
478
471
811
235
469
977
427
958
281
317
364
710
128
263
96
888
113
232
657
133
965
549
116
796
42
102
251
398
415
555
171
270
517
240
17
462
908
874
81
756
465
725
946
650
123
173
870
820
455
97
46
585
867
684
476
135
503
649
770
473
412
179
990
305
679
568
694
586
978
287
557
935
995
433
346
540
323
594
486
617
876
850
652
73
809
882
773
903
959
971
163
441
334
119
797
740
959
86
578
622
565
944
518
375
134
746
704
418
857
328
387
689
964
124
675
848
332
107
800
705
418
399
167
995
561
979
438
748
914
271
957
382
107
816
322
621
638
837
946
220
358
922
194
863
319
250
230
793
950
307
812
10
367
3
78
654
158
849
591
799
478
585
879
808
961
805
947
884
274
626
408
139
84
629
116
423
126
766
981
541
745
619
532
870
12
503
533
258
847
678
847
439
932
889
295
250
476
786
111
573
6
691
616
402
777
826
921
304
74
630
835
380
399
460
357
237
298
695
931
607
686
905
671
332
284
360
27
984
561
985
918
37
554
855
951
382
978
456
736
490
681
521
875
634
354
760
145
340
769
184
849
949
922
470
892
351
530
869
668
609
369
854
631
590
916
563
421
760
328
996
636
980
235
345
636
114
333
813
824
992
995
906
491
794
487
830
299
281
444
920
873
988
344
93
347
777
731
234
668
11
154
581
545
535
234
287
269
521
819
959
305
543
295
438
938
448
61
601
422
441
791
224
162
246
226
610
3
268
785
628
836
595
463
209
578
427
191
482
309
296
754
469
576
563
579
28
868
310
403
853
717
907
938
578
833
13
828
887
67
653
253
540
357
208
219
157
506
782
813
850
130
63
778
431
968
489
308
75
489
3
538
839
606
638
848
11
703
46
523
220
614
581
967
954
906
345
640
250
392
932
967
423
298
200
621
869
495
359
834
469
55
171
671
70
518
988
288
719
290
157
375
815
485
616
26
669
525
111
587
793
62
468
805
195
526
176
883
409
767
592
7
735
692
330
920
752
661
740
262
2
201
549
552
461
690
588
546
645
422
983
817
204
534
301
292
903
398
859
9
439
881
970
623
922
40
242
254
804
872
44
828
115
255
645
939
760
596
849
544
400
887
531
784
606
40
110
948
662
282
120
729
50
478
72
61
652
79
759
851
657
482
50
176
878
34
885
855
362
740
756
277
232
500
889
973
343
893
463
515
886
141
667
306
437
866
222
363
756
210
87
861
932
174
254
148
455
157
789
268
150
959
858
980
968
278
617
965
530
534
568
503
514
444
53
186
311
129
393
730
252
243
225
604
164
816
756
900
548
676
773
467
742
207
539
723
316
639
649
96
387
911
464
655
751
64
960
271
830
541
352
141
171
54
377
61
39
662
36
46
957
458
233
482
292
914
6
532
655
613
697
352
775
594
487
928
428
266
129
519
786
389
542
833
929
943
885
160
160
466
976
215
119
512
977
233
460
579
518
86
608
460
356
541
793
616
926
299
209
989
565
679
93
796
439
246
279
587
623
587
314
696
162
29
899
375
175
319
602
184
317
871
931
597
819
205
563
108
299
126
689
836
817
478
722
909
291
102
206
575
701
387
134
976
12
21
144
616
669
971
773
492
664
148
272
240
569
997
88
223
385
651
40
960
577
320
618
514
174
564
816
159
483
512
975
923
553
50
906
509
962
293
999
615
846
93
799
760
88
304
415
729
520
893
846
20
130
53
628
516
597
637
345
671
393
974
610
397
97
137
973
947
805
529
639
552
994
6
604
580
335
982
734
895
118
485
284
663
362
820
752
305
440
742
829
216
939
2
449
846
467
917
631
441
252
576
232
284
289
524
954
795
928
116
632
900
578
107
911
696
504
758
697
970
672
370
181
270
275
831
563
749
486
648
167
589
702
334
921
635
757
682
744
992
913
752
773
658
419
404
684
935
590
164
363
272
782
741
634
353
46
778
90
998
743
206
917
335
881
512
743
333
115
459
685
767
116
122
553
59
922
351
129
689
359
917
666
888
759
716
97
301
917
37
873
399
221
289
167
107
75
213
614
586
774
645
2
157
379
929
368
36
650
195
501
139
625
241
353
657
662
148
357
988
428
366
236
995
371
13
629
363
918
581
289
682
230
436
16
11
776
224
735
953
694
613
181
55
92
396
799
143
602
339
742
496
643
757
501
120
582
916
772
237
712
455
387
372
596
974
238
982
816
596
201
590
386
493
624
35
84
937
437
58
997
588
476
964
226
777
978
356
106
800
714
682
878
988
801
731
994
749
535
429
827
643
871
253
294
689
443
312
279
689
998
24
365
371
38
743
534
524
84
911
756
426
472
493
287
555
598
788
555
704
156
904
600
903
424
529
616
250
853
765
221
390
654
385
586
33
819
94
91
329
297
190
621
985
661
599
340
632
430
780
15
929
851
62
957
638
549
851
801
216
349
851
727
592
32
736
727
954
190
53
782
2
662
42
578
653
260
307
945
883
207
862
707
333
328
955
874
918
842
509
543
958
897
392
747
685
648
674
32
41
233
998
380
672
362
870
741
82
211
283
272
161
19
713
722
144
450
65
531
736
373
999
578
248
507
177
694
377
297
595
542
749
991
781
427
52
585
28
712
272
207
706
413
999
374
404
18
576
798
167
606
879
328
160
439
888
231
427
539
359
450
123
515
531
398
7
730
122
661
625
719
489
278
251
219
862
156
866
321
654
152
403
81
118
669
544
48
300
982
495
715
635
186
182
186
640
14
361
690
153
308
795
447
795
731
166
93
276
466
204
498
999
547
747
154
90
325
841
474
237
967
611
260
365
900
345
814
49
952
233
795
113
103
519
129
453
31
741
646
850
963
230
837
702
596
355
842
259
155
961
587
371
44
40
699
594
465
537
922
325
147
861
666
814
38
227
561
771
465
660
815
743
447
258
829
719
263
646
445
494
328
255
385
422
860
414
176
87
141
224
768
515
9
365
108
209
222
20
489
261
560
658
215
148
188
919
451
334
6
589
856
456
812
404
853
211
996
722
412
698
39
585
74
369
638
938
165
325
13
784
423
641
369
76
559
92
820
538
32
80
774
4
141
671
190
382
37
180
811
752
192
955
674
630
652
9
1
70
418
613
231
655
746
322
813
314
774
646
875
207
350
876
832
937
648
623
192
27
262
908
432
790
57
675
156
283
412
844
249
939
386
291
666
367
423
286
63
324
111
126
749
880
776
273
478
73
211
269
882
65
998
950
499
963
721
252
279
545
821
759
770
956
949
91
380
915
487
714
920
166
433
54
326
619
781
281
771
479
354
745
50
496
509
847
607
412
650
152
710
498
474
554
788
928
621
604
918
8
904
331
519
589
913
456
716
953
104
361
699
725
328
650
588
380
471
32
783
859
152
296
116
188
470
654
38
690
83
982
786
169
788
612
306
182
938
435
218
151
120
270
321
482
648
489
76
299
227
447
336
806
722
554
128
151
25
968
627
646
657
584
777
300
318
300
914
642
559
624
666
609
500
9
913
422
794
887
197
463
974
605
769
159
879
33
490
962
513
527
534
320
48
185
370
318
15
606
115
97
260
877
183
928
763
16
278
394
942
954
599
535
483
429
891
295
631
662
55
626
142
609
192
803
764
493
672
104
552
499
194
644
841
269
428
194
416
32
456
392
61
281
549
406
616
690
789
150
33
175
837
230
626
513
573
413
119
796
893
89
347
877
143
805
325
416
898
65
860
132
983
480
475
392
235
246
973
450
715
946
218
703
270
48
166
191
130
724
662
834
615
48
969
531
578
805
138
526
188
187
987
914
488
552
215
116
144
187
683
16
516
236
347
870
223
317
877
522
212
183
84
529
563
127
80
175
815
992
443
857
697
878
460
120
159
126
84
248
379
316
239
346
551
792
473
880
761
102
738
108
9
811
347
500
851
211
44
972
619
366
203
267
189
26
91
972
358
389
419
331
579
746
188
946
570
156
504
354
208
466
580
346
827
895
248
632
229
225
249
509
596
775
338
594
695
819
181
236
747
520
562
873
2
784
247
614
658
645
720
462
753
182
40
257
281
364
396
295
25
47
184
551
176
674
439
950
15
537
680
170
644
574
269
658
1
745
199
764
825
9
531
114
246
187
805
794
132
350
10
287
35
55
81
373
724
112
159
780
87
898
621
661
815
745
901
533
96
780
209
63
419
148
103
749
851
622
710
721
714
461
294
676
761
217
133
594
20
819
427
731
849
263
435
377
261
393
134
242
442
759
752
900
516
645
342
259
332
237
281
456
44
76
208
753
177
276
56
380
487
589
722
998
270
38
253
660
11
461
429
749
44
940
155
232
270
7
218
371
335
121
781
503
742
417
900
184
309
956
698
862
722
595
991
563
178
860
860
933
412
306
717
120
670
128
969
443
32
954
854
96
922
650
36
342
10
660
240
717
596
314
828
369
699
530
785
274
433
438
510
536
242
852
916
1
898
740
913
689
954
432
913
655
100
44
206
750
322
923
919
434
877
219
27
649
207
830
282
528
175
542
441
413
274
639
103
982
317
402
60
973
292
533
111
718
917
350
830
384
923
579
637
69
313
346
70
376
409
429
334
848
967
402
802
280
491
154
966
664
878
323
648
881
776
409
48
648
512
715
82
762
261
334
898
517
661
41
696
140
658
562
892
856
228
534
770
291
660
266
936
521
800
391
271
489
229
360
265
165
818
464
259
796
713
499
420
513
979
226
920
8
13
791
839
863
109
94
357
866
278
910
648
64
244
362
522
226
465
418
234
13
420
883
269
869
987
543
958
990
256
794
523
148
759
670
586
864
580
587
957
883
90
94
990
620
565
196
478
443
56
680
721
974
640
429
625
490
965
11
897
86
873
294
614
674
526
371
272
334
768
507
739
204
3
210
658
969
354
773
333
451
784
533
875
21
78
93
775
764
557
229
596
234
612
581
924
774
779
245
806
747
682
148
778
418
292
672
3
430
841
238
696
144
246
230
693
831
601
182
577
124
20
619
426
303
22
568
508
580
938
97
63
505
609
855
231
253
486
591
222
894
605
974
689
64
860
90
402
543
657
152
672
100
803
735
501
948
699
680
572
865
307
660
877
33
644
652
636
459
756
672
543
688
559
229
608
940
754
418
237
0
396
652
414
147
668
859
939
879
318
856
939
10
184
581
761
120
302
605
622
913
260
411
425
877
515
822
677
161
577
984
148
411
754
337
745
588
776
654
289
598
276
729
130
183
9
934
963
511
314
730
891
94
876
500
358
483
584
197
285
478
126
199
726
441
772
386
899
758
617
97
289
410
809
688
772
197
636
102
261
611
170
458
940
89
390
101
286
40
466
337
470
623
871
34
442
154
608
504
513
482
980
163
950
656
338
918
585
495
212
186
905
811
503
324
195
8
457
583
853
561
518
677
856
613
375
907
295
453
950
22
51
879
808
82
426
148
481
2
208
727
466
285
884
156
38
914
487
698
818
450
689
454
956
966
95
683
253
553
185
64
646
699
128
352
846
935
614
786
642
751
277
932
450
426
248
102
453
383
988
380
726
673
780
883
65
419
711
728
998
769
373
194
538
707
242
314
826
218
544
777
379
0
707
867
983
90
414
463
686
207
111
874
949
991
504
388
542
460
699
911
397
421
60
971
295
256
842
91
692
623
927
337
523
800
127
995
956
848
34
603
26
214
29
130
301
530
332
808
890
101
907
981
27
145
852
304
752
70
58
888
420
389
628
649
618
851
396
380
873
124
479
754
820
842
800
589
550
884
401
747
884
460
493
538
667
144
708
725
465
930
779
647
532
721
664
237
562
872
662
184
115
201
571
174
46
438
487
996
916
33
299
561
254
168
110
762
155
314
582
663
343
738
411
393
80
585
41
815
377
46
392
316
177
29
598
160
690
457
497
57
611
66
377
589
405
949
971
810
308
811
45
767
107
301
459
880
299
775
931
990
383
740
65
306
704
524
387
294
354
486
961
743
714
886
747
429
556
830
153
588
903
600
982
845
603
326
713
603
168
930
578
612
390
626
817
931
21
824
904
817
725
152
160
965
766
504
312
363
295
930
877
510
664
93
972
83
846
817
376
584
674
232
87
768
698
365
120
664
53
429
722
813
285
842
125
866
24
465
542
730
232
828
747
569
119
634
967
520
551
479
133
280
740
925
380
49
964
72
240
663
34
169
744
49
272
155
269
635
773
616
825
436
792
150
737
314
452
665
724
503
874
781
605
445
683
838
797
648
346
567
677
109
343
632
161
494
555
617
951
903
305
459
49
696
657
277
10
860
861
852
594
311
182
595
329
290
340
197
693
614
152
883
765
220
22
917
543
192
944
440
976
993
142
855
659
756
769
279
790
703
897
499
561
55
514
813
171
652
627
341
345
193
797
859
415
21
422
624
267
44
197
618
549
604
815
385
734
490
990
472
125
689
121
709
646
43
196
504
926
233
237
876
839
586
601
340
652
395
452
94
132
800
243
187
327
662
903
671
989
424
642
743
702
786
927
285
88
338
277
343
722
720
906
914
245
478
666
946
937
298
171
778
874
351
433
60
71
57
822
896
345
654
229
781
692
239
293
181
806
176
206
766
528
224
594
28
595
622
885
634
300
883
109
324
607
851
981
706
533
896
328
581
380
983
16
371
539
652
948
493
809
73
137
277
233
877
989
114
762
384
713
852
513
723
110
52
945
471
631
441
975
471
911
620
503
52
477
253
877
968
270
371
729
304
778
160
554
135
218
746
480
367
602
497
206
823
175
838
546
241
157
146
530
677
828
57
937
376
467
417
493
41
969
635
132
179
954
130
538
269
516
646
870
292
716
250
142
882
156
741
847
664
563
819
789
354
362
297
426
990
339
304
816
646
982
368
658
540
342
863
888
366
856
695
264
839
67
579
164
801
401
485
808
673
866
418
445
370
63
123
128
861
75
710
309
700
88
517
105
308
359
337
913
852
876
836
748
147
845
863
449
430
764
463
794
214
258
588
128
423
317
207
741
928
231
249
740
494
532
380
436
276
741
494
887
44
892
720
381
504
857
233
215
352
540
834
385
558
286
428
526
521
815
865
143
374
301
300
648
785
333
933
715
604
645
977
517
550
103
991
14
88
495
861
788
4
105
84
516
376
407
223
996
536
162
634
816
857
300
254
625
755
797
585
640
300
716
866
804
142
439
455
108
814
569
720
16
350
936
478
796
5
308
854
374
655
830
763
187
447
585
295
922
589
180
156
298
107
986
745
518
570
165
503
836
187
94
881
339
457
876
69
661
248
351
850
239
918
59
154
254
996
821
355
40
99
217
630
241
291
840
869
846
811
592
232
604
309
737
550
755
176
316
654
276
36
991
601
846
271
849
596
180
764
892
89
302
792
136
236
18
822
489
892
837
818
987
672
749
699
693
894
994
775
465
579
140
941
427
168
353
400
620
476
79
72
955
35
95
726
2
192
776
243
931
883
246
434
310
823
733
636
370
413
60
636
567
759
959
951
302
382
554
842
214
857
931
502
882
103
273
841
566
328
121
579
136
437
58
981
358
96
663
831
788
175
706
294
727
518
655
473
846
544
368
595
996
618
866
344
513
252
575
935
944
75
628
147
328
563
694
255
322
331
756
347
845
834
662
631
374
515
395
925
474
459
520
28
695
898
695
116
995
913
109
461
164
135
677
847
915
490
610
910
384
15
514
326
636
609
232
323
989
143
289
157
378
802
178
868
341
376
432
333
611
14
927
369
214
231
938
565
914
37
239
489
758
452
59
743
446
529
900
70
793
478
944
350
906
640
881
753
37
560
154
55
423
562
511
898
924
941
449
56
498
554
828
343
100
652
576
242
50
865
665
423
585
917
486
238
718
419
154
823
386
197
637
354
677
149
103
846
929
142
526
723
482
246
197
724
181
633
743
613
392
415
643
491
339
57
18
700
4
191
779
703
54
990
851
252
946
231
209
387
20
365
978
915
606
945
755
798
679
423
159
860
747
371
523
368
756
138
324
145
712
563
618
63
644
139
129
266
710
629
236
268
978
919
293
992
67
256
376
158
549
285
602
377
724
171
934
411
31
621
890
756
297
231
561
92
496
160
426
571
911
692
639
895
760
615
372
655
694
120
78
585
232
186
496
311
853
228
983
969
559
454
929
126
804
118
300
804
886
570
625
670
674
335
937
630
214
245
251
599
638
245
198
306
470
501
80
286
293
635
851
628
864
550
226
937
422
707
709
434
147
314
112
159
991
878
276
430
232
5
678
524
609
580
960
159
795
701
441
122
524
144
624
518
561
632
544
369
232
548
775
529
377
427
634
796
685
759
227
150
190
671
72
236
696
116
686
922
422
623
21
352
111
737
251
921
511
140
748
752
228
946
398
962
449
402
34
246
537
306
403
370
332
51
494
857
125
185
156
692
415
385
633
331
673
41
631
960
865
501
350
864
318
489
105
493
831
910
866
952
901
490
734
364
888
664
514
979
966
31
978
787
3
562
614
911
762
187
693
571
183
444
957
802
903
704
416
52
157
117
178
39
987
559
163
401
242
395
413
189
262
555
596
505
404
153
870
554
922
897
458
265
918
303
424
695
332
601
536
448
754
406
957
187
454
236
345
390
658
1
65
579
789
377
629
404
612
769
368
869
700
558
33
826
228
70
239
253
235
147
530
82
745
447
827
436
698
698
690
89
53
689
523
809
250
852
944
435
45
795
611
388
117
678
132
878
914
237
661
728
761
128
68
469
478
519
352
19
341
362
865
949
328
562
275
748
975
154
505
954
349
647
766
46
698
72
192
700
858
707
689
905
669
731
800
576
992
765
299
936
817
22
670
624
449
337
180
48
946
838
421
31
145
408
444
229
491
8
918
92
916
686
99
266
724
624
707
196
925
403
373
988
283
903
515
665
332
29
880
680
671
972
845
964
665
220
109
168
854
796
152
455
805
157
592
766
947
797
182
774
633
379
759
220
733
810
527
36
182
983
888
570
859
908
141
134
578
238
571
823
749
952
64
594
79
592
460
732
418
189
544
761
939
613
448
736
799
375
749
781
84
412
566
567
705
127
416
585
582
968
54
58
492
902
587
590
438
44
931
614
541
527
653
73
779
433
32
183
51
613
377
763
337
176
313
746
300
559
554
607
486
233
718
805
628
28
334
519
528
198
105
850
767
938
39
570
934
831
289
689
362
273
75
435
638
868
876
979
310
217
897
815
442
521
601
869
58
134
904
613
755
757
599
384
871
754
516
7
839
860
73
326
861
850
37
792
665
152
688
664
601
721
757
611
954
868
721
45
533
212
296
909
467
482
253
223
46
202
164
467
282
106
420
485
75
902
568
773
791
983
748
148
577
787
380
451
633
718
150
592
401
54
466
600
216
554
896
51
67
895
514
330
512
840
641
352
443
57
167
444
650
505
948
796
515
363
327
480
738
434
426
425
927
110
743
341
271
626
599
317
965
98
307
842
453
118
835
724
610
417
202
98
306
244
53
896
744
793
312
389
817
940
990
649
441
103
208
797
572
742
344
891
968
345
754
957
744
133
984
233
566
743
617
890
906
730
967
856
112
729
419
685
213
919
98
388
979
309
273
166
935
529
563
472
549
932
858
692
729
634
36
485
578
361
705
30
45
69
168
732
742
553
23
949
426
217
589
134
351
246
314
179
625
233
637
682
483
1
94
675
43
90
491
82
818
627
650
163
718
472
947
537
278
587
737
343
662
719
442
56
794
121
397
785
865
870
649
759
744
174
583
798
287
560
305
843
498
957
765
307
843
493
936
71
4
629
959
160
529
504
456
113
280
535
894
579
289
733
717
415
402
444
282
849
33
248
302
138
113
592
957
585
174
734
466
526
474
933
781
668
518
724
306
479
618
804
464
750
351
177
304
996
522
364
689
397
297
37
893
476
484
850
46
593
415
671
504
207
137
407
312
693
4
262
22
968
116
798
134
378
77
220
482
59
368
123
990
833
481
150
176
318
983
159
283
466
105
135
352
509
235
212
832
267
773
726
229
100
12
141
289
877
789
139
649
125
312
944
503
706
765
68
114
796
842
337
338
651
329
270
537
982
572
659
60
81
482
755
94
159
395
145
870
961
59
669
976
562
923
503
812
26
913
263
874
743
120
645
538
788
102
88
997
734
252
782
826
127
964
484
581
237
198
860
306
933
151
107
393
517
447
869
981
389
601
613
856
443
75
66
543
261
942
369
699
227
356
56
492
84
775
644
688
631
378
142
204
2
528
999
204
407
268
150
621
477
173
368
277
695
889
508
540
324
21
502
669
787
822
322
374
401
340
155
797
476
18
702
264
920
802
736
546
792
642
474
682
616
92
994
436
96
804
35
632
617
352
493
111
166
612
504
772
621
650
116
967
573
12
361
828
904
156
950
740
603
778
273
601
326
527
536
835
650
685
360
985
744
176
986
881
144
402
625
221
642
238
2
612
192
116
617
863
852
703
342
617
668
789
229
977
980
382
382
944
70
647
94
406
97
884
992
893
37
446
907
342
132
189
405
514
90
630
911
283
919
401
642
746
144
28
745
625
568
941
781
106
329
718
281
290
972
325
217
372
795
786
406
672
666
757
82
944
756
115
140
373
681
58
734
301
368
941
644
127
922
157
122
133
640
686
354
659
425
225
344
884
305
964
370
876
930
686
449
995
375
380
902
662
895
20
898
213
830
177
737
26
326
552
770
241
471
729
341
801
812
960
463
159
839
981
443
608
770
28
942
490
413
401
961
618
384
908
707
313
856
18
859
266
0
330
203
131
909
6
889
570
664
984
432
372
436
456
1
879
215
760
842
863
857
870
463
762
405
692
965
954
707
131
97
257
135
242
346
441
825
738
31
759
384
312
539
994
176
902
554
932
383
69
175
804
617
370
8
478
176
151
667
214
597
741
79
34
292
410
221
180
37
389
461
868
571
278
916
506
284
41
996
552
10
903
899
673
897
162
672
523
7
140
894
230
874
242
793
869
938
315
808
52
365
56
477
318
429
891
518
10
170
273
689
530
765
448
166
255
751
118
95
557
396
372
491
586
185
325
787
187
32
424
493
713
476
417
423
383
60
693
634
775
650
931
584
862
532
252
463
64
596
848
945
801
25
414
918
642
340
780
7
798
903
448
937
310
112
921
182
397
931
448
140
316
12
766
444
938
412
781
454
183
809
146
816
537
859
999
578
855
494
194
879
414
266
974
107
294
412
168
301
279
285
861
391
820
137
379
484
405
9
755
566
159
800
341
400
504
899
212
138
210
587
316
659
667
747
465
779
346
953
956
457
48
195
731
714
102
503
305
179
100
928
985
807
344
272
194
163
573
652
207
467
365
215
649
790
723
625
933
231
584
210
107
165
37
443
259
536
195
298
711
951
330
368
645
658
593
522
145
283
630
415
89
743
538
667
464
161
461
746
4
738
979
520
251
664
355
138
873
371
19
766
558
174
636
57
744
415
287
996
961
778
728
519
251
49
123
795
951
367
120
257
34
594
419
833
44
233
779
918
596
883
678
374
562
345
927
736
135
158
161
729
133
31
537
979
292
26
715
972
315
215
547
669
719
163
623
406
218
156
366
545
737
277
790
994
828
3
573
265
822
732
196
293
639
140
200
159
727
527
557
227
980
985
75
576
136
53
57
626
720
180
749
126
441
849
384
723
153
629
643
398
311
484
468
719
740
49
107
584
883
515
820
356
57
332
726
164
103
532
841
808
772
669
814
201
185
324
731
287
984
221
814
644
763
131
245
158
351
890
595
621
934
793
830
832
183
463
556
710
941
524
989
217
925
547
179
222
903
637
884
122
829
12
66
755
984
330
459
203
596
7
561
634
339
563
245
32
844
623
466
737
388
230
752
478
6
894
380
761
307
125
425
393
522
223
645
140
604
815
30
763
317
750
183
973
64
253
56
140
22
275
536
666
528
791
322
421
394
421
898
745
276
872
482
339
989
386
965
526
520
976
942
844
68
339
667
97
498
786
343
569
82
896
244
998
445
645
971
172
629
806
263
877
874
438
809
218
864
840
318
331
988
73
419
2
311
870
427
421
590
901
854
663
384
229
165
512
3
470
165
485
856
551
787
421
907
158
860
154
874
670
912
959
358
274
850
49
950
172
325
450
799
789
210
166
266
326
93
620
975
43
886
33
619
152
40
240
106
639
680
511
5
982
261
891
684
137
117
619
96
378
362
116
874
248
599
239
621
551
131
173
820
994
69
522
458
166
48
228
504
288
542
948
641
111
419
338
905
185
640
634
778
459
383
827
145
478
286
986
217
757
325
483
229
145
588
836
866
208
565
132
599
171
273
872
39
615
697
682
374
542
130
269
387
691
590
516
370
611
499
195
101
264
765
597
23
135
585
84
483
747
260
428
334
945
50
446
109
29
430
242
408
164
75
21
402
383
717
744
351
851
896
205
567
990
442
93
683
148
754
197
312
340
340
177
170
264
429
916
499
383
144
192
455
836
455
996
734
655
65
39
736
884
198
154
374
177
682
442
459
599
288
497
675
283
335
846
796
821
851
705
665
259
526
588
301
52
24
538
485
646
989
118
639
424
421
634
801
507
725
682
901
875
468
309
307
597
353
446
611
111
763
284
836
650
562
493
174
490
628
21
855
140
352
163
166
258
210
369
775
237
283
861
405
748
980
88
289
334
23
886
226
725
649
67
378
656
164
763
48
689
187
983
796
879
740
176
349
731
590
246
361
359
306
301
924
405
684
821
427
295
492
783
652
964
375
721
909
903
176
547
58
318
829
824
919
391
736
949
737
850
892
67
562
644
45
684
367
908
117
574
493
350
411
261
90
320
363
696
750
385
28
236
674
340
376
951
874
226
517
1
297
899
175
19
10
169
290
6
117
399
444
531
129
840
483
536
106
823
915
848
991
140
196
344
758
63
614
709
438
966
294
423
125
110
988
306
971
323
600
711
271
941
697
458
966
748
3
695
334
895
556
823
293
694
711
304
919
800
31
753
470
748
877
374
60
38
291
154
521
556
298
804
336
659
816
682
679
456
57
757
583
185
554
45
751
872
600
972
437
511
616
279
135
129
618
985
393
953
760
728
442
835
632
790
651
44
322
836
54
557
0
253
974
828
849
405
859
54
856
641
543
525
466
771
70
6
271
468
213
552
782
441
228
777
931
940
389
549
778
219
912
400
65
165
33
198
704
264
441
197
611
197
197
882
889
985
117
944
359
380
884
364
654
427
214
473
480
12
727
526
209
61
875
2
14
61
720
64
170
326
181
108
489
469
466
872
988
468
262
299
893
273
757
613
845
911
811
714
392
802
422
172
271
762
458
520
712
629
559
318
769
837
727
459
266
642
400
654
126
921
795
784
397
970
487
112
368
183
100
361
302
850
16
133
540
502
821
326
3
213
93
881
108
157
646
43
34
398
255
403
188
988
516
259
29
742
406
71
235
495
889
938
67
812
673
787
514
188
282
165
792
72
841
957
340
143
426
278
46
129
767
840
399
690
657
894
599
281
779
999
99
563
214
29
969
856
802
991
270
950
607
72
225
959
279
299
852
774
786
601
382
557
3
67
516
978
122
586
310
668
147
194
482
877
955
228
94
292
673
724
706
936
400
180
255
555
49
223
748
236
730
784
943
136
702
19
32
215
551
134
975
453
539
555
942
677
230
139
305
571
828
887
639
713
873
745
316
717
912
474
297
788
862
243
482
303
270
136
730
785
264
703
549
534
359
324
38
798
185
53
753
386
93
742
631
685
936
235
246
397
189
534
696
983
596
373
302
472
471
591
126
364
250
538
984
752
28
759
224
595
644
74
499
509
277
753
895
314
191
956
998
902
780
391
739
584
969
950
438
710
625
840
920
205
131
434
33
260
125
664
742
167
960
54
346
224
160
417
650
377
650
518
306
102
536
219
54
202
80
222
476
691
707
900
412
347
30
800
303
328
599
796
529
566
578
448
727
812
890
30
965
282
784
978
588
675
974
464
674
327
173
710
18
872
640
964
721
924
793
119
64
583
35
130
325
385
887
233
520
661
408
88
102
963
665
464
386
42
544
40
335
252
520
927
907
74
907
543
914
999
742
525
562
483
875
177
132
249
502
164
508
619
991
616
287
880
501
914
254
302
210
459
822
325
575
693
603
801
172
247
202
643
7
794
638
25
290
932
368
138
121
502
355
764
359
222
978
755
604
489
515
415
342
236
326
798
0
337
521
749
692
819
23
840
363
221
281
175
15
981
216
88
889
40
721
363
366
8
236
819
155
531
687
653
669
913
606
574
74
532
225
442
77
574
967
641
62
631
225
882
636
570
251
817
890
228
61
922
175
473
773
111
618
179
198
62
635
122
789
308
365
589
970
740
536
932
246
973
300
285
203
189
941
969
501
690
168
681
944
628
647
765
217
113
256
797
734
474
127
535
500
842
955
56
939
782
957
18
415
459
933
703
883
164
490
719
331
803
258
362
932
413
142
142
950
181
88
23
634
838
745
180
270
588
628
573
408
287
526
263
812
748
332
574
616
979
976
112
541
554
142
653
278
32
202
437
525
267
554
717
322
899
954
629
502
97
927
773
316
376
534
29
864
170
381
724
508
741
631
998
930
211
72
554
42
275
576
820
301
379
693
680
325
962
214
398
952
423
669
219
353
971
592
732
902
261
186
496
606
938
485
483
331
104
399
568
672
975
374
866
717
612
251
375
589
710
389
667
227
37
675
293
305
412
980
277
384
17
496
732
252
580
495
149
972
217
854
522
616
131
443
641
499
917
519
922
761
205
588
403
77
961
718
982
892
505
722
14
561
230
536
357
227
828
64
600
769
75
604
772
644
744
461
660
197
481
471
219
287
248
842
242
613
353
986
402
468
587
436
88
337
822
688
129
941
561
88
977
11
196
883
750
981
524
122
698
956
693
99
166
30
801
649
264
512
276
139
147
665
229
277
591
359
911
415
999
272
547
528
285
509
334
690
775
577
5
290
578
310
711
644
739
367
843
150
457
686
627
217
391
200
425
561
717
725
187
325
989
266
461
44
714
952
785
388
724
24
266
836
253
198
813
887
284
822
434
283
425
205
608
444
70
983
233
360
793
443
957
409
129
927
80
12
513
666
302
79
344
443
705
39
213
740
376
669
153
114
897
206
732
492
175
454
244
19
285
814
887
420
347
433
309
841
668
302
828
934
511
847
421
506
690
907
811
998
601
157
731
362
872
623
588
166
897
258
266
993
272
593
292
465
143
624
732
83
107
963
801
112
670
389
529
782
905
689
239
384
664
250
678
18
615
900
539
961
50
348
342
405
774
94
731
571
212
217
351
754
279
954
769
244
181
474
412
239
489
61
44
657
560
573
829
784
935
221
274
544
436
879
753
520
463
847
296
148
461
356
285
182
858
713
505
118
955
315
408
14
906
826
841
721
269
718
418
731
555
479
971
965
726
444
193
391
28
930
595
320
869
52
264
292
58
625
975
981
59
368
467
511
704
7
463
841
850
392
428
699
996
584
576
260
795
677
808
933
65
321
447
882
854
65
318
346
103
463
764
727
471
898
361
867
348
4
608
961
456
177
435
43
408
59
876
211
880
628
553
59
491
414
381
139
415
505
649
862
741
171
277
523
189
641
31
944
861
714
99
980
245
909
408
50
61
281
730
186
936
418
489
138
157
300
973
657
793
760
76
485
638
316
188
962
88
962
930
845
246
802
749
996
507
367
914
787
104
418
766
875
598
840
310
49
753
348
281
200
963
68
223
597
516
936
837
232
37
175
864
725
498
941
711
727
374
497
829
202
50
416
861
711
416
975
445
89
62
626
441
77
735
781
879
433
632
224
833
501
633
918
13
759
372
647
349
701
977
122
939
462
783
904
322
69
161
971
749
492
74
423
651
615
358
146
959
510
325
231
302
5
154
804
382
265
236
672
816
430
603
662
512
738
792
932
537
275
561
90
231
796
709
667
370
652
301
840
905
974
842
158
814
285
98
555
629
453
703
324
571
372
288
864
632
839
756
765
648
375
567
95
810
868
603
577
540
73
286
668
38
445
419
546
294
268
536
66
37
619
294
98
129
968
126
827
210
229
899
218
726
352
386
657
447
35
840
891
941
906
266
688
882
764
883
676
776
480
872
906
990
383
763
688
843
635
242
693
391
765
530
323
241
277
533
20
491
168
745
567
984
753
409
471
410
450
940
823
821
801
631
567
420
902
705
449
807
209
408
520
893
907
630
72
427
169
484
624
444
118
253
631
216
990
276
381
929
748
522
289
98
250
484
91
754
238
636
77
875
838
451
846
426
900
417
177
490
89
889
677
848
392
274
676
680
972
976
910
629
61
493
697
456
303
801
528
695
218
133
126
99
766
726
467
562
636
73
179
769
121
16
562
275
981
874
48
19
166
200
117
691
244
631
681
74
131
353
813
865
191
999
556
453
646
948
261
915
751
755
228
755
767
664
723
462
339
956
75
369
968
208
888
319
895
565
48
188
413
770
705
936
470
208
967
604
904
844
936
441
860
958
547
951
732
568
867
239
684
155
545
972
229
822
282
580
4
592
517
486
389
563
747
118
405
741
695
26
106
147
269
571
318
880
823
820
201
58
200
38
464
844
241
662
10
528
399
826
753
69
535
586
632
557
309
214
174
607
692
914
427
604
248
892
125
60
442
350
824
185
596
848
653
587
277
791
576
585
893
953
908
116
951
383
971
478
445
952
470
936
884
181
163
365
810
658
293
18
91
726
393
707
680
732
778
403
451
130
213
534
923
310
959
137
820
25
603
130
686
46
778
402
531
142
946
223
725
968
608
477
642
978
342
369
676
498
970
943
491
109
141
406
608
544
278
411
119
330
721
872
738
252
394
43
163
136
98
690
425
16
980
600
494
552
375
756
168
886
424
969
734
352
631
154
342
211
735
563
87
493
672
750
805
267
644
172
500
636
491
424
254
943
754
793
342
737
732
396
603
110
412
487
595
89
553
779
452
886
362
124
709
121
930
122
604
36
856
895
207
467
267
830
805
364
25
493
908
366
461
593
205
715
863
671
88
298
49
280
888
993
359
93
762
611
558
900
168
7
563
755
868
444
618
389
856
150
149
669
56
297
977
884
950
986
465
42
177
347
731
704
169
532
246
40
509
277
388
98
305
397
220
398
356
109
503
349
738
202
345
728
112
242
56
67
5
111
831
504
339
790
477
329
266
473
678
909
738
645
216
868
635
993
557
703
413
52
114
358
203
254
787
67
842
842
522
588
258
862
356
776
229
110
963
491
88
500
228
886
318
842
794
48
407
699
346
299
351
490
375
242
657
85
170
543
158
759
291
648
286
823
247
123
525
57
612
151
414
771
594
71
687
553
60
661
171
824
999
214
155
773
935
261
706
35
268
788
630
732
854
134
589
847
868
45
138
246
172
315
111
735
687
250
83
880
723
305
945
640
538
200
391
714
751
447
594
927
868
270
768
508
444
927
215
708
491
444
860
81
460
720
608
598
842
216
431
591
441
691
46
811
980
247
777
915
982
701
481
887
476
888
795
722
748
944
325
901
706
858
544
421
828
62
426
696
98
517
946
404
501
657
136
165
925
357
747
671
985
364
913
912
130
255
126
863
985
122
499
947
531
257
192
567
306
550
283
545
95
872
731
420
948
152
758
126
213
687
811
617
654
147
413
867
797
391
154
270
564
427
884
748
666
583
820
305
380
922
546
251
822
290
709
461
799
592
72
525
575
751
616
417
929
18
375
126
277
926
1
325
326
254
206
902
584
758
459
425
477
98
598
205
222
206
782
321
309
686
295
606
617
246
600
198
164
242
629
874
155
925
485
26
192
505
847
801
578
325
892
609
809
132
520
134
928
638
257
748
341
979
36
141
319
985
966
355
948
992
61
113
443
517
117
965
743
428
273
354
396
898
995
709
829
787
641
229
539
483
896
211
514
649
598
271
506
871
58
265
768
980
62
713
364
867
196
119
304
164
973
158
785
353
95
203
280
597
253
983
131
33
648
0
388
430
322
477
747
176
461
558
744
306
94
139
504
586
123
813
955
810
594
71
389
359
699
755
999
312
237
279
871
322
840
249
156
677
780
306
385
683
648
11
14
322
613
32
714
617
18
519
41
975
793
449
109
795
439
415
872
35
881
416
601
359
98
350
830
611
245
653
673
397
805
78
2
414
786
875
566
675
976
868
165
766
81
213
611
84
191
289
126
569
288
344
34
700
291
859
837
113
648
67
744
943
391
95
691
278
537
850
809
401
796
865
789
337
686
195
461
468
586
357
160
725
637
653
989
426
980
565
339
631
220
759
565
908
611
639
802
818
209
327
569
202
449
215
207
301
333
329
741
34
877
197
733
479
0
188
756
898
322
924
791
638
356
677
696
459
96
26
475
941
329
437
911
96
753
589
313
333
984
181
568
285
647
557
417
438
223
156
137
162
614
229
776
62
144
670
609
399
56
208
995
788
286
508
311
193
392
914
3
232
444
419
681
599
968
236
398
64
574
484
684
100
46
351
705
921
156
849
954
774
730
205
555
336
341
273
823
338
806
584
533
380
746
581
348
676
817
628
184
571
786
446
997
467
33
147
784
646
963
362
350
908
446
615
577
303
348
659
985
153
400
643
384
379
593
558
635
545
512
352
255
264
840
151
246
612
819
66
628
5
939
511
294
782
943
966
253
495
929
416
573
524
263
752
299
614
245
325
179
537
212
645
40
336
806
362
134
661
305
810
217
776
383
804
710
680
635
507
834
829
741
147
761
576
447
713
666
997
97
988
889
329
389
348
490
866
893
700
804
804
480
8
426
599
304
407
855
755
470
205
468
487
526
715
709
94
589
476
136
250
199
741
587
239
424
631
503
893
641
568
527
621
299
14
523
655
927
510
289
468
194
950
101
654
447
303
6
127
30
200
417
642
434
169
948
713
925
675
80
195
456
660
563
996
137
728
178
879
437
21
957
920
816
684
27
969
920
481
715
220
328
41
972
650
478
335
543
601
438
490
823
485
931
545
479
534
766
160
793
860
635
947
9
20
191
453
75
392
461
927
189
760
237
109
517
888
948
141
25
573
822
283
994
636
426
547
972
698
640
356
828
414
761
214
950
598
756
924
918
108
270
134
935
180
392
942
456
358
26
485
864
93
97
500
802
790
63
645
438
835
109
475
574
162
701
572
168
272
10
655
731
581
395
862
365
277
998
796
742
383
913
862
19
976
445
73
301
485
519
553
205
615
906
290
416
709
882
984
664
885
849
367
522
26
605
99
899
723
970
943
250
984
560
270
176
446
455
588
431
80
575
303
827
303
549
886
216
867
670
360
887
930
574
135
785
601
741
436
789
818
957
375
287
228
64
124
548
794
118
947
56
703
716
64
398
840
225
899
326
246
223
141
841
661
476
817
923
582
562
59
274
649
392
821
895
453
154
375
678
144
62
201
659
21
504
104
793
897
246
804
425
684
102
654
519
648
694
97
839
180
394
531
208
945
821
12
67
368
708
224
972
231
972
551
130
76
509
444
847
313
907
452
191
989
223
837
941
692
110
450
771
261
957
23
710
197
738
4
323
885
154
237
430
93
792
953
483
871
424
519
678
102
795
36
711
729
722
329
469
751
861
250
783
777
819
520
867
738
135
628
500
137
130
328
755
903
462
571
474
24
857
929
147
486
754
247
572
510
277
261
872
939
257
904
985
190
40
726
210
522
980
74
434
308
280
800
958
18
126
181
543
55
816
857
91
689
455
510
550
739
581
318
170
643
430
214
663
500
916
195
740
604
683
902
381
396
470
605
181
215
333
27
313
415
602
538
698
695
316
965
81
683
377
406
767
361
794
93
341
262
887
155
261
3
943
964
43
612
449
194
653
205
346
675
26
80
499
915
693
253
431
747
943
235
147
322
137
715
822
916
331
841
627
477
792
786
846
159
59
815
387
269
39
462
104
207
156
849
787
448
580
741
164
61
199
680
975
687
266
84
524
464
96
291
268
773
948
689
146
624
612
953
649
641
570
394
899
857
384
701
804
286
678
415
749
547
267
505
417
4
940
790
452
655
710
125
362
269
574
167
749
632
627
942
569
430
450
185
823
344
676
65
49
921
445
464
304
46
751
328
818
754
87
112
396
857
304
314
586
560
602
535
785
459
694
95
289
457
387
426
607
823
211
99
718
96
188
606
975
689
549
743
749
497
929
137
472
290
128
154
860
25
866
912
610
843
326
906
116
100
222
445
392
477
738
736
522
120
194
916
561
443
116
660
463
855
37
691
841
161
760
48
741
470
908
127
892
862
430
415
812
444
224
839
879
525
193
562
297
845
457
371
812
448
989
161
174
210
661
495
277
499
897
846
145
305
746
815
777
998
196
129
55
938
776
318
535
671
900
835
904
385
429
83
703
935
624
645
815
755
284
633
554
317
225
521
753
71
522
862
892
575
379
947
270
732
645
355
636
489
128
706
389
478
124
626
419
433
829
915
193
787
345
244
347
325
857
442
359
83
30
183
735
687
140
768
960
162
950
988
874
624
282
5
940
340
976
891
209
800
205
243
799
762
487
694
663
75
469
427
161
370
36
388
215
558
287
916
182
605
309
665
604
6
527
661
406
543
177
586
706
388
680
896
504
60
180
593
266
188
854
80
598
688
839
509
602
344
182
543
781
523
493
179
965
450
876
472
632
872
863
356
616
852
775
102
582
763
304
743
378
39
39
69
592
743
480
729
326
824
767
164
483
988
535
541
124
688
632
476
522
372
19
42
764
541
407
386
760
560
175
982
762
245
573
832
501
285
325
466
837
139
584
253
497
523
988
317
447
951
628
352
897
12
433
587
666
215
716
79
641
416
335
405
535
263
941
75
716
322
880
883
648
331
293
761
257
79
136
522
564
401
716
342
353
578
897
455
438
991
343
337
956
696
586
369
647
952
394
568
607
783
467
109
448
123
974
766
146
177
201
86
547
491
200
377
949
466
937
214
682
9
925
176
71
945
538
312
21
218
962
436
896
551
693
564
337
385
224
384
575
416
648
709
806
762
164
736
963
239
895
399
262
40
584
364
835
479
598
443
465
914
613
116
497
161
143
665
615
986
758
55
592
396
141
176
819
783
594
4
870
671
828
177
967
156
904
568
578
667
736
669
664
893
295
185
683
123
974
596
327
407
266
424
365
838
533
249
284
634
393
748
968
881
560
449
303
948
196
580
593
846
399
874
691
30
725
975
711
445
514
109
37
575
909
256
21
576
898
320
113
638
244
14
50
661
796
671
726
751
543
448
64
301
93
792
184
981
570
913
826
34
11
504
821
763
213
566
945
220
604
508
384
833
656
446
280
385
503
422
620
214
286
469
492
183
532
206
152
548
80
854
971
820
834
403
584
772
835
323
821
547
413
719
387
742
198
842
170
12
473
186
121
500
177
727
323
526
183
548
751
91
844
104
767
761
40
401
886
388
306
369
89
553
29
189
422
775
517
676
753
230
431
492
609
37
841
481
482
142
646
599
724
1
316
592
832
38
284
340
95
233
625
229
566
424
704
835
728
620
577
718
972
92
675
980
693
508
365
460
154
398
574
663
292
175
620
178
468
143
774
771
337
819
414
796
657
746
442
496
509
656
933
364
20
439
467
243
875
300
351
447
197
7
128
69
346
556
695
719
706
945
727
640
99
240
743
78
682
452
3
406
583
952
461
291
219
167
730
858
298
485
747
570
429
18
947
578
155
977
447
773
628
930
52
723
16
862
560
152
696
346
381
814
878
285
521
485
184
164
920
742
591
105
882
323
558
432
31
265
618
226
839
289
627
163
720
600
330
870
621
167
599
767
78
19
248
772
826
816
98
16
249
437
558
519
61
314
828
229
902
197
659
51
262
287
60
696
664
320
809
217
723
281
109
362
648
614
874
331
39
717
88
286
246
72
593
517
464
697
490
128
781
415
653
288
248
69
309
493
351
210
947
569
236
973
736
727
33
600
299
21
784
807
429
947
730
617
407
841
349
495
439
676
388
704
389
578
323
474
1
782
126
861
914
996
424
788
565
937
420
198
906
734
562
423
507
262
601
418
839
482
528
789
793
412
301
56
718
174
471
88
583
608
409
411
485
497
962
963
646
877
69
366
883
356
308
170
92
719
644
916
996
371
20
305
54
686
454
586
750
407
585
600
243
109
107
373
253
670
455
710
554
554
176
327
387
228
257
339
926
208
111
451
101
643
686
70
926
266
620
8
208
325
692
563
438
78
357
165
942
641
95
709
177
111
719
957
889
143
214
781
134
613
702
623
303
52
380
236
261
7
265
653
772
818
926
346
11
857
231
586
986
863
934
415
181
830
446
580
453
883
121
334
81
344
865
769
906
355
776
881
885
727
792
409
157
258
694
231
258
658
82
118
433
986
463
376
438
950
159
417
397
632
707
669
282
228
328
185
258
459
950
962
778
203
177
405
314
627
881
567
28
859
393
484
493
743
227
260
616
633
350
745
270
12
365
969
802
392
181
6
81
891
841
30
840
253
10
542
196
248
966
6
708
448
834
586
598
240
633
43
992
28
6
435
989
751
268
879
760
906
406
620
972
912
376
18
603
370
647
771
100
27
7
737
310
690
211
34
633
802
528
617
256
828
910
293
166
860
897
814
747
660
362
604
419
75
88
411
458
526
197
724
407
656
462
118
134
541
355
29
422
528
650
808
640
118
96
235
140
749
350
280
758
272
369
567
299
36
328
648
39
258
281
858
905
428
915
995
591
218
953
820
539
946
599
104
252
636
233
538
309
679
908
457
664
37
980
708
731
691
495
780
90
31
543
65
127
974
306
982
97
904
246
547
968
417
989
538
553
691
989
787
962
198
230
341
968
976
707
910
237
37
730
846
122
988
546
697
89
766
769
784
622
217
529
359
225
953
635
868
351
586
107
270
944
51
820
941
979
709
730
511
589
544
443
790
143
771
41
109
86
915
774
223
877
810
403
420
102
498
27
472
344
71
656
611
322
394
836
701
660
767
484
537
511
710
907
610
545
227
293
545
537
855
757
947
952
632
949
375
154
971
448
157
739
544
362
793
474
806
127
887
970
671
274
592
904
729
352
650
753
306
587
640
507
387
535
24
222
712
728
995
519
754
621
572
388
396
636
162
773
162
926
823
625
871
800
374
888
859
844
433
374
119
172
604
309
777
188
873
260
902
767
370
540
736
875
92
789
456
867
413
552
316
285
180
539
790
487
767
490
761
761
383
567
853
276
819
409
910
173
923
434
933
244
81
159
992
527
34
445
791
963
653
362
557
386
569
308
445
328
539
945
532
872
162
522
840
797
736
507
23
141
285
54
254
7
856
146
861
600
118
822
857
380
533
716
659
965
134
391
409
481
985
841
795
113
516
435
885
65
285
404
731
318
623
510
962
999
862
970
972
831
219
878
476
539
574
867
201
261
879
45
386
598
981
360
904
342
306
675
950
902
214
991
931
3
125
372
898
274
732
453
19
788
164
653
347
386
350
332
246
220
241
528
855
918
999
293
29
869
919
788
108
349
12
420
826
873
686
224
876
924
888
137
700
484
723
384
669
278
487
992
752
33
398
385
641
733
488
256
72
702
747
398
581
30
306
268
897
597
27
296
939
317
200
418
568
124
749
984
881
937
556
659
1
726
992
532
739
687
434
214
116
771
590
610
742
81
664
785
536
442
912
637
2
951
203
752
95
190
347
389
275
800
446
990
109
999
363
984
977
518
892
206
676
169
715
203
163
904
312
646
811
373
488
988
461
774
206
510
506
116
389
983
621
561
575
372
359
614
900
696
482
413
308
750
55
176
456
146
349
545
267
227
594
8
261
595
96
635
571
153
968
818
553
364
506
32
601
533
73
151
790
601
682
29
874
965
95
513
871
172
388
686
46
722
587
514
619
527
187
891
482
35
210
525
960
8
480
723
557
666
689
344
11
275
972
326
68
568
568
424
29
736
739
114
896
487
798
541
17
3
301
232
473
271
29
236
24
702
65
788
334
638
922
500
307
124
591
655
199
254
25
887
478
651
541
670
141
235
964
283
10
332
667
766
863
75
119
711
790
288
367
93
527
143
527
87
591
426
629
455
778
507
937
407
594
186
788
838
461
321
605
283
218
980
201
406
756
781
627
381
186
411
480
558
500
952
537
747
648
268
934
16
346
536
524
854
401
566
428
533
109
66
188
766
16
919
382
596
806
327
959
969
123
394
325
224
606
40
674
37
779
767
576
511
827
777
382
967
767
544
12
991
710
436
709
447
469
584
913
598
123
691
159
722
678
161
817
22
623
817
82
502
333
564
463
854
679
340
84
887
58
236
61
925
618
336
33
245
220
765
412
121
232
355
615
787
673
649
973
122
891
516
988
209
565
35
27
395
661
875
737
688
933
993
738
366
66
883
706
910
153
49
673
466
702
852
815
796
292
979
375
19
331
706
119
897
549
242
445
618
807
73
49
333
247
315
862
427
943
639
4
826
454
427
115
12
9
337
169
596
566
544
88
549
276
287
82
305
599
866
482
830
138
141
806
412
673
717
201
154
729
214
494
272
9
921
396
894
74
572
322
4
992
539
403
77
577
972
19
586
370
497
709
315
982
420
521
531
209
463
20
648
946
824
592
833
653
287
419
392
425
565
89
626
424
320
941
41
566
80
440
796
981
974
760
845
738
146
403
376
475
128
93
961
385
212
761
312
97
255
784
546
202
250
877
39
771
107
374
831
569
116
609
315
494
704
775
805
569
976
118
904
708
277
382
137
858
54
250
571
655
131
469
663
694
890
171
255
492
605
247
297
487
529
856
328
99
677
28
2
574
891
22
531
985
633
176
982
78
784
357
427
899
963
733
715
161
134
381
379
215
811
237
927
889
9
988
7
181
873
939
275
207
850
220
507
548
992
84
368
133
869
963
102
488
850
390
145
375
236
435
821
43
787
306
517
384
103
880
684
913
806
389
587
133
470
258
956
821
507
872
842
1
685
597
503
581
399
300
695
426
597
921
72
112
960
919
106
944
597
647
584
154
896
642
265
140
711
149
127
559
721
946
945
204
517
716
161
523
577
555
735
911
15
807
934
531
291
176
391
879
377
162
37
361
528
373
498
780
98
405
271
309
452
962
75
284
196
852
794
913
944
374
844
42
58
28
537
401
104
180
973
330
11
807
96
943
212
441
94
747
163
408
34
646
972
358
535
461
899
410
804
212
917
331
79
354
342
120
130
804
785
882
974
80
796
694
344
725
444
90
176
585
272
899
503
79
559
229
815
748
669
448
11
595
542
554
345
165
870
939
408
696
726
401
143
973
687
931
614
252
737
467
552
596
4
804
520
301
652
646
757
654
993
594
912
678
715
128
866
747
67
937
310
818
937
6
3
513
63
913
644
200
200
362
169
30
979
876
637
429
806
838
950
541
599
354
877
804
708
786
84
516
354
289
726
646
838
605
978
387
247
72
341
475
421
917
823
747
407
288
656
468
390
452
853
209
246
893
871
621
893
68
681
95
473
11
48
996
100
824
389
431
297
503
86
381
717
195
437
631
791
156
658
641
812
800
126
997
913
899
699
890
863
422
707
485
650
544
120
759
130
55
776
349
930
363
522
188
659
615
411
711
399
434
634
39
107
678
506
365
841
948
75
109
841
645
94
545
830
186
5
967
625
905
80
468
924
805
854
833
507
615
967
896
134
651
954
893
436
35
1
516
27
594
241
769
138
308
439
472
141
982
946
428
120
161
740
25
398
439
84
318
92
467
563
107
635
125
352
306
919
132
581
70
66
609
406
251
495
471
708
110
506
409
208
144
22
985
635
797
551
166
18
332
402
732
575
918
354
495
740
974
789
116
781
910
657
971
15
917
116
134
657
133
700
798
955
796
385
95
447
295
711
231
126
674
523
178
422
160
912
889
670
332
408
466
405
911
369
700
641
787
669
32
764
887
650
524
120
541
207
157
363
903
711
857
763
871
212
216
427
870
552
705
934
748
200
800
876
770
677
948
983
152
784
643
40
578
852
327
840
325
479
939
465
866
360
949
724
557
915
322
854
801
620
731
315
800
119
853
197
379
143
333
955
768
791
866
805
871
265
734
467
248
460
945
535
152
16
590
153
23
589
702
207
891
675
651
278
938
807
42
663
842
933
171
818
339
468
790
582
456
9
292
701
272
701
414
466
835
792
605
760
853
812
105
17
665
882
397
573
681
406
284
334
90
173
847
56
194
998
975
301
802
922
240
688
658
449
234
273
880
742
78
276
107
424
837
357
760
721
5
979
935
957
178
768
109
39
923
175
801
144
744
75
332
890
652
233
9
284
271
758
485
281
140
510
158
972
725
29
74
180
292
800
178
901
865
962
94
981
635
47
642
797
378
437
544
125
495
575
4
60
877
994
778
897
269
520
382
647
51
781
20
688
286
813
400
893
280
290
95
923
298
80
428
900
399
536
372
683
269
291
674
441
11
396
635
588
761
430
160
941
460
793
532
371
567
88
665
935
601
965
336
780
758
688
833
770
128
997
231
355
90
411
696
165
415
238
872
168
236
417
257
184
237
203
743
916
913
13
471
667
804
530
481
138
320
826
896
60
881
178
494
232
26
878
944
380
316
954
726
752
54
509
649
987
435
120
7
193
363
999
788
305
217
525
141
36
741
227
471
439
919
670
391
170
340
374
881
569
972
623
770
906
293
829
445
273
815
927
108
386
899
713
217
168
176
89
39
898
696
251
316
819
66
175
992
445
538
685
768
133
245
535
182
845
517
698
340
524
608
312
807
88
175
117
378
887
338
470
620
607
191
2
1
639
133
235
791
811
402
572
484
184
13
705
766
640
717
57
323
73
549
474
847
894
327
818
903
202
995
407
34
499
775
727
287
667
600
753
841
961
900
730
813
670
929
515
861
556
173
220
338
98
114
140
885
822
535
478
254
714
526
267
817
66
891
409
433
567
23
267
549
579
632
802
399
273
234
416
595
144
932
544
297
710
674
121
224
496
232
176
554
892
774
373
779
525
95
934
593
77
790
701
522
680
113
613
412
301
80
747
102
294
252
162
402
826
770
461
630
169
214
779
778
554
695
565
33
417
897
848
691
707
589
212
572
507
528
840
573
13
854
953
779
524
845
179
213
251
888
13
46
298
970
327
724
390
204
819
734
755
247
58
48
996
778
911
241
826
190
404
405
823
458
712
730
203
78
660
156
878
543
342
936
967
564
97
527
441
13
0
159
204
849
642
473
585
697
359
633
82
449
774
375
431
515
650
19
104
583
467
223
590
469
872
674
654
795
900
298
417
30
603
126
195
467
100
784
331
42
396
863
350
615
154
535
529
672
999
255
921
2
441
8
401
174
984
504
891
133
948
88
17
43
227
34
243
734
280
408
628
523
24
586
657
240
787
180
557
521
813
520
624
215
225
31
407
642
604
960
220
641
296
429
129
194
775
195
451
417
105
364
425
229
640
323
454
664
443
413
975
946
257
34
914
406
456
937
705
94
940
326
307
44
111
152
316
74
721
127
658
270
604
480
794
782
532
482
794
933
234
527
653
947
2
278
841
267
993
445
633
340
575
213
2
742
168
380
911
720
687
148
486
594
815
208
249
697
570
701
575
625
165
87
45
2
63
513
296
662
8
66
489
490
68
716
988
478
87
899
340
372
57
808
550
103
751
645
767
456
909
856
176
988
75
211
402
681
751
101
878
526
756
127
671
16
669
112
719
793
104
714
579
432
284
562
591
28
365
820
506
374
470
728
898
260
246
109
872
490
262
644
475
455
552
338
437
992
781
305
153
16
576
440
121
658
994
831
660
214
987
666
480
195
589
479
967
453
292
476
940
508
593
560
326
456
941
743
747
547
970
656
900
352
720
241
217
859
239
608
122
798
26
771
832
254
557
270
108
981
999
188
334
112
546
360
872
545
814
753
9
707
33
72
885
390
169
92
160
152
903
262
30
157
228
309
678
736
433
800
231
312
987
49
65
37
607
648
837
362
914
218
734
580
508
324
955
89
281
124
337
182
715
207
485
583
197
640
612
274
720
527
507
546
680
1
785
333
458
566
89
595
277
348
458
427
970
644
379
662
782
428
359
665
650
184
338
522
612
811
907
631
999
256
810
150
684
304
270
80
819
635
508
599
640
636
7
275
994
635
628
901
92
149
584
433
291
779
510
756
154
451
894
799
404
603
937
169
353
654
464
441
906
633
197
843
221
972
676
343
258
487
194
510
650
609
65
978
392
8
414
723
788
251
756
272
22
844
690
812
108
140
22
53
357
252
42
950
199
363
419
949
171
614
808
388
9
615
631
784
414
234
924
961
219
158
858
171
656
771
169
485
427
80
414
863
576
632
408
361
888
220
738
653
684
10
847
250
714
689
10
693
960
952
579
707
867
749
792
597
555
646
156
970
268
766
493
340
28
885
844
886
460
31
139
94
364
44
19
138
821
323
219
891
107
284
899
248
976
351
45
92
838
655
411
32
684
158
605
482
980
34
740
606
578
28
357
873
791
405
178
569
36
495
410
663
610
188
107
383
204
321
732
412
717
289
85
201
50
163
672
775
383
245
673
116
867
782
904
977
380
948
227
161
433
350
869
626
163
646
916
276
556
899
513
176
711
864
559
645
92
807
816
502
793
331
630
115
180
87
206
943
205
278
837
419
479
469
172
226
142
70
312
358
706
915
626
807
163
737
221
325
443
174
766
880
322
375
252
278
856
834
129
469
584
862
3
582
915
142
731
833
430
930
64
172
536
612
111
524
726
884
307
60
388
787
0
88
703
974
903
507
198
310
184
310
694
562
96
371
778
195
905
917
953
354
266
715
486
242
708
469
397
436
403
872
192
174
593
462
552
963
514
529
802
678
242
633
723
471
354
591
369
786
874
995
708
180
404
666
169
644
253
799
791
809
103
918
742
373
972
337
286
672
157
267
665
578
436
562
228
869
61
381
452
426
155
123
374
733
172
149
668
651
810
112
697
853
999
892
24
558
967
217
971
327
851
330
939
586
639
879
133
783
236
497
969
79
719
165
125
31
767
188
624
649
824
811
758
346
128
674
218
142
772
504
948
276
552
431
872
589
447
872
128
368
396
501
693
11
74
628
84
611
143
644
106
482
910
188
814
135
883
593
516
477
684
110
545
745
917
93
920
727
870
864
489
0
554
216
764
720
579
771
857
494
303
597
520
701
789
620
152
818
890
795
829
518
638
85
965
958
474
179
251
645
357
888
957
481
716
557
671
127
214
977
462
214
224
205
439
808
264
111
227
825
662
68
673
187
670
833
355
850
603
230
847
308
332
650
848
771
924
717
706
898
103
679
484
743
842
536
332
916
699
939
159
828
854
983
438
857
817
835
323
924
171
680
272
701
581
71
193
853
355
28
287
253
547
173
409
610
793
543
418
347
334
44
123
972
868
982
827
661
62
562
400
588
152
515
891
509
3
542
382
537
727
209
279
622
124
776
565
842
482
676
714
430
126
528
593
507
759
124
424
925
596
203
79
228
503
839
403
10
145
646
468
632
716
683
429
434
806
201
859
114
497
853
51
214
256
566
623
890
366
236
991
950
757
215
626
645
202
615
766
640
806
867
110
887
815
390
920
326
437
468
81
685
772
484
799
330
968
375
477
159
231
141
91
363
171
92
430
87
962
431
632
913
266
156
748
477
76
845
319
557
958
737
188
544
227
259
867
788
487
100
200
227
117
335
471
404
555
152
589
62
433
314
514
619
287
603
784
297
835
8
380
319
244
213
62
919
406
89
140
893
93
565
247
109
908
406
123
553
689
78
21
769
639
735
688
447
492
95
81
118
541
102
590
834
601
500
336
408
755
216
374
745
116
513
587
422
242
108
240
800
515
558
148
777
868
127
554
648
944
817
206
518
367
643
207
553
873
914
720
925
733
501
970
193
139
261
407
883
308
827
470
989
588
396
787
326
234
103
908
210
228
77
972
547
526
848
641
952
906
312
595
455
156
746
155
588
116
150
490
263
54
830
626
332
827
944
295
204
598
910
21
788
927
374
418
29
711
344
8
892
435
513
557
150
703
741
474
826
699
619
445
797
257
898
329
257
101
919
972
149
918
389
885
653
69
759
437
54
715
462
170
322
900
601
93
705
776
680
481
108
681
723
469
946
199
863
28
956
321
833
356
270
617
78
904
659
140
214
751
536
656
259
101
879
175
21
46
917
941
999
462
993
414
583
559
964
289
16
572
870
278
358
730
88
873
34
288
706
102
699
550
317
979
379
611
491
705
518
802
710
858
423
612
156
302
518
557
977
668
988
156
197
462
277
856
201
199
872
566
854
430
734
148
763
725
189
521
682
369
495
288
311
216
859
905
718
671
571
670
501
759
393
748
811
117
38
887
84
269
807
257
155
472
88
922
46
182
503
663
817
690
414
326
843
41
869
828
14
441
341
962
715
819
337
122
181
971
786
280
840
316
643
914
874
329
515
154
592
981
734
354
662
783
200
878
534
963
468
438
678
605
562
736
856
92
865
127
791
709
785
491
312
1
837
639
512
34
180
539
519
894
558
748
581
796
167
933
464
118
910
71
56
230
623
752
16
591
702
915
483
70
687
621
360
364
730
608
327
473
33
73
264
312
806
12
349
100
314
428
264
322
741
536
731
993
971
115
594
283
413
250
401
747
881
978
734
264
168
574
666
475
260
631
663
706
216
85
339
440
493
413
971
727
218
780
309
200
749
463
40
552
645
994
885
39
239
700
976
723
687
208
66
568
498
214
940
434
940
5
770
297
344
717
645
123
223
242
556
795
506
866
509
767
428
904
546
914
657
992
188
657
716
300
664
31
391
953
8
944
131
151
360
657
194
869
627
336
304
277
1
893
42
798
713
113
860
758
720
861
834
938
790
289
429
917
717
791
236
562
341
726
449
530
33
760
5
221
20
93
542
620
165
743
79
870
785
469
426
299
94
558
452
786
700
690
404
163
266
130
282
944
950
522
360
960
4
71
254
908
903
228
692
463
842
996
912
148
751
457
218
552
384
425
951
384
220
941
748
727
585
678
944
387
202
99
847
37
169
596
653
319
792
161
741
461
735
195
575
916
115
275
604
255
45
357
484
641
28
689
558
523
428
752
623
864
53
535
51
658
84
826
624
414
66
812
770
229
118
706
982
233
978
2
390
608
551
349
635
371
538
886
42
865
706
387
390
407
847
916
746
790
312
675
832
633
713
670
514
879
855
243
299
157
9
478
613
402
167
239
28
40
455
28
805
246
802
359
520
467
87
965
249
282
100
135
266
889
710
81
50
5
890
527
316
245
770
725
285
78
102
502
690
656
46
612
502
792
101
91
872
167
46
143
732
896
761
212
698
397
265
961
394
943
629
727
782
70
29
242
134
94
283
808
299
506
428
956
396
158
687
345
587
328
631
484
419
661
647
603
94
882
14
984
265
459
866
345
195
891
151
448
15
840
913
534
24
76
235
41
884
106
705
827
402
571
403
923
280
100
861
201
893
912
974
426
877
951
552
305
598
722
810
290
397
939
693
300
619
799
131
512
307
466
661
590
477
96
95
549
187
564
569
734
117
329
437
47
35
520
780
647
386
290
586
911
184
531
910
508
521
464
967
746
253
183
792
859
967
34
287
537
435
786
115
373
561
91
397
246
208
776
586
154
392
310
591
313
338
291
738
989
95
248
601
905
506
290
175
913
594
850
429
908
824
852
213
681
34
444
677
550
648
965
783
734
566
415
173
796
886
847
699
757
82
564
7
468
306
135
351
28
59
840
133
102
966
282
582
248
611
337
751
554
274
714
39
907
827
199
92
784
947
759
551
113
352
681
955
629
494
313
55
886
113
915
198
682
356
780
862
590
537
548
546
515
347
225
569
657
981
30
907
787
702
799
709
360
720
228
954
808
45
163
135
605
298
132
539
890
585
255
361
284
974
765
874
249
328
612
995
280
171
309
980
410
501
982
194
105
356
735
941
461
668
833
451
491
666
311
542
161
866
329
702
297
866
147
34
121
820
250
3
472
328
914
322
139
732
999
277
136
95
365
490
892
618
188
693
198
194
815
47
208
343
547
588
931
481
108
846
131
782
110
645
257
513
802
275
875
738
272
930
867
799
201
495
224
466
232
194
272
940
646
196
528
820
663
203
717
307
104
476
886
493
182
578
796
724
513
311
77
742
691
594
952
83
417
345
648
667
687
78
827
251
91
349
110
458
813
361
267
665
653
448
845
431
153
351
303
748
937
63
500
991
52
205
920
224
40
698
116
864
414
85
782
326
364
971
72
578
193
107
209
218
602
733
913
126
195
868
379
523
794
2
222
827
455
789
857
685
281
289
124
998
421
19
670
672
895
149
540
702
316
564
263
969
772
697
151
937
732
500
407
422
777
6
510
676
431
506
415
758
532
269
293
610
246
959
760
174
133
646
542
501
566
811
184
495
379
355
38
297
823
55
607
991
207
364
808
584
276
780
932
826
182
908
771
263
874
616
975
662
438
495
564
809
699
324
621
207
881
968
837
84
463
309
625
858
836
982
576
312
557
53
462
869
623
824
437
516
224
725
927
731
817
611
556
452
290
444
796
652
359
809
17
510
76
985
493
338
989
253
811
569
435
759
388
97
218
158
545
13
952
992
141
433
785
816
941
910
667
640
278
534
434
810
889
297
793
676
247
524
100
220
210
812
921
840
228
545
924
136
370
317
914
414
925
762
708
281
115
214
141
181
825
883
842
970
999
321
120
601
204
39
453
450
540
606
876
270
67
142
641
460
840
836
570
918
680
476
849
391
209
978
813
644
305
680
280
529
896
921
470
69
731
813
16
589
936
318
341
645
968
375
785
802
327
441
741
731
811
617
244
543
740
395
935
951
172
856
472
886
737
636
733
101
973
528
540
797
121
420
647
11
377
406
643
120
128
231
724
541
124
293
363
34
141
489
363
76
909
61
657
421
651
620
823
467
817
506
444
219
861
505
767
57
773
377
172
693
361
903
597
780
517
869
58
359
697
899
172
912
22
860
935
73
535
466
246
582
436
609
115
687
791
763
714
588
524
719
146
216
755
449
559
857
89
984
216
739
180
996
462
69
323
549
101
716
437
880
893
120
296
548
932
524
163
709
54
278
55
290
113
230
388
359
604
730
827
219
62
210
381
736
449
873
783
172
791
811
197
496
811
957
72
643
805
375
652
282
474
917
93
535
40
63
64
666
399
822
247
450
56
465
884
761
797
443
520
764
415
914
324
502
154
280
322
557
52
897
244
337
243
892
750
635
844
480
413
11
43
605
916
376
33
841
268
613
976
87
616
827
618
166
156
135
760
703
11
45
404
740
239
947
469
933
209
984
218
867
553
80
170
494
64
554
728
761
643
800
269
690
970
293
394
682
749
333
427
310
532
280
299
383
511
844
228
821
471
843
270
17
70
447
430
491
545
514
208
911
115
831
57
954
317
885
663
619
281
654
262
484
462
58
310
864
100
553
995
869
196
163
919
465
652
595
373
507
572
164
453
784
160
344
873
112
563
584
597
730
24
735
518
30
454
493
480
154
165
13
843
4
792
121
997
526
796
907
110
496
402
109
256
948
27
586
850
954
240
386
543
930
227
403
196
797
658
627
133
341
589
729
487
145
760
98
563
292
682
375
950
13
892
103
698
92
693
178
592
855
175
659
449
550
69
800
945
1
561
778
824
243
221
847
756
78
734
65
202
10
852
950
665
953
83
399
614
590
847
68
265
170
839
928
952
51
258
162
874
238
334
598
81
236
660
196
898
256
876
768
446
278
948
374
387
169
930
439
513
570
544
477
616
616
981
212
974
62
411
134
275
685
347
245
979
620
849
318
709
499
346
698
509
460
725
240
465
96
701
445
705
649
209
973
157
950
361
905
873
14
586
389
980
377
905
355
909
58
316
260
205
887
645
840
886
36
64
224
823
288
793
796
520
374
992
727
27
141
788
213
170
593
80
767
668
310
579
175
796
925
554
194
965
68
926
809
569
948
848
282
114
735
121
213
841
1
249
867
938
404
140
397
901
815
31
561
212
322
257
183
596
835
958
367
791
324
284
457
957
458
820
994
163
116
802
446
124
977
133
257
237
55
2
726
78
459
13
167
311
661
535
844
589
873
316
476
144
58
202
821
165
172
743
774
96
302
805
917
725
914
325
888
249
843
858
310
494
19
289
626
990
928
376
197
459
544
452
488
263
91
910
934
463
731
907
746
923
487
742
845
905
929
977
883
916
510
831
40
648
436
440
491
261
792
458
387
565
238
766
36
280
610
438
564
723
766
733
928
597
287
982
213
169
163
720
861
238
258
313
86
657
109
890
879
437
812
515
931
682
887
769
811
434
385
953
829
767
521
486
473
156
655
299
404
872
810
624
701
164
90
235
202
602
525
817
547
705
962
804
86
813
178
539
613
148
516
833
724
59
844
600
191
762
229
424
952
499
590
465
694
907
951
160
729
609
665
984
320
475
690
612
605
710
36
190
555
74
990
851
405
481
571
885
786
299
620
978
774
522
730
767
225
594
517
33
125
553
628
219
110
700
495
652
490
311
366
348
112
373
277
353
341
161
839
274
654
641
460
231
565
227
480
175
644
502
220
890
575
786
302
47
485
589
336
22
742
494
514
937
931
484
976
90
858
9
9
273
268
181
131
890
330
286
881
467
436
256
517
332
441
271
803
236
590
124
451
239
197
443
580
866
322
911
432
760
741
951
860
553
711
855
950
383
21
681
826
751
726
273
458
567
635
673
238
348
895
680
472
991
174
227
639
805
317
60
596
291
39
376
243
488
0
350
265
367
481
285
815
647
482
436
584
616
186
2
646
333
594
389
183
717
580
255
703
338
948
348
666
674
153
58
395
738
652
390
192
215
562
326
86
564
519
808
62
512
48
939
442
301
614
687
720
636
77
910
744
517
425
587
455
677
112
924
475
705
308
436
857
442
417
873
291
996
734
499
309
383
598
111
468
894
325
269
248
376
589
163
331
299
316
816
962
247
509
986
7
809
448
892
478
414
728
9
937
221
618
402
186
856
982
579
623
958
327
875
118
627
289
328
698
314
141
45
130
259
611
565
423
885
682
641
136
928
589
818
212
207
89
223
226
883
451
504
242
960
599
430
201
329
420
59
139
998
702
146
417
610
991
227
98
553
753
994
684
920
10
993
396
337
115
466
192
452
869
669
737
135
740
8
736
407
852
768
89
462
585
297
174
510
627
729
544
158
727
184
564
39
270
481
726
619
130
183
376
268
787
697
652
920
14
847
37
372
493
23
222
437
930
90
968
596
541
759
583
417
433
358
385
535
19
144
690
594
739
446
447
718
93
404
797
230
460
811
122
769
70
890
19
811
344
733
123
416
178
699
283
814
498
277
912
244
806
687
701
111
834
978
310
337
144
747
243
206
200
758
268
138
846
488
838
288
474
715
119
413
770
564
276
980
931
263
227
193
341
243
156
919
630
795
823
808
21
434
583
370
187
444
867
918
838
731
896
752
582
784
466
34
255
115
570
727
698
815
621
652
124
91
791
133
679
114
744
546
795
491
246
737
818
632
444
811
210
736
874
461
626
613
474
500
164
766
980
359
302
648
979
472
630
623
451
393
275
184
749
741
146
40
541
52
562
894
418
303
178
253
98
878
445
338
548
332
946
704
51
910
277
688
10
561
298
560
90
256
629
498
774
144
611
858
89
137
89
290
973
607
706
693
393
652
706
577
986
344
270
645
367
276
202
773
97
553
653
852
587
505
930
211
745
40
382
723
316
201
389
268
658
849
770
855
356
226
687
566
343
258
983
762
632
261
472
369
409
379
509
942
694
848
587
529
47
633
921
961
725
205
355
677
421
164
291
247
64
279
593
800
492
798
688
308
808
422
431
30
867
850
939
274
797
857
682
696
783
781
901
397
78
375
311
87
72
806
855
451
274
387
872
904
197
273
863
286
265
72
381
755
958
672
671
924
859
341
964
489
935
798
266
942
741
910
579
413
7
690
818
630
447
725
27
992
961
930
876
207
633
249
673
452
558
145
534
44
862
807
280
723
85
887
20
118
677
513
472
948
713
928
343
119
89
424
226
387
619
80
883
278
101
994
734
830
982
325
24
579
181
98
160
396
897
157
916
891
411
214
347
265
851
984
566
89
433
538
122
356
193
678
160
420
594
303
569
181
426
590
76
47
582
537
984
660
466
115
718
596
747
173
782
802
836
108
487
735
492
633
708
650
290
932
920
652
77
466
909
81
71
8
94
126
806
993
735
705
527
8
17
221
485
450
527
107
955
296
59
842
737
747
530
837
561
526
410
455
400
748
236
895
16
699
162
239
3
216
718
749
408
787
903
86
121
700
730
670
798
395
467
605
50
865
198
475
983
252
812
613
861
719
708
910
217
482
800
155
424
787
763
63
295
629
581
691
216
755
83
940
978
983
711
776
443
184
657
642
956
626
821
536
465
769
211
461
799
527
153
869
748
229
976
827
479
113
386
120
76
256
456
754
297
332
317
572
940
249
951
149
209
301
985
790
667
416
357
933
752
129
998
906
556
286
665
908
407
882
673
842
459
779
523
909
142
311
65
915
879
325
310
619
46
6
695
955
15
728
357
760
192
165
45
162
539
282
303
754
769
485
323
35
573
162
65
418
842
225
271
45
993
294
416
303
602
809
291
206
72
289
865
18
244
741
409
516
427
737
216
4
940
942
701
930
585
939
942
502
836
297
513
152
8
338
676
264
32
240
915
812
104
932
411
618
52
361
753
307
1
183
425
317
348
67
952
414
381
878
968
72
174
296
171
608
935
746
411
826
465
57
70
358
273
316
809
873
656
497
808
273
357
458
321
831
58
792
125
621
80
95
346
398
738
799
73
49
623
214
786
802
219
313
457
193
394
480
58
229
967
166
89
951
624
118
259
46
574
90
626
532
894
388
406
351
892
231
431
990
926
541
926
521
391
964
400
42
697
399
339
971
355
873
758
585
441
385
488
233
764
602
752
937
227
547
499
858
38
729
150
693
429
665
529
337
399
826
555
378
54
630
666
148
454
380
466
286
888
949
710
832
292
966
355
597
182
878
750
228
891
999
1
788
32
712
146
97
642
759
113
455
256
313
902
991
353
705
628
709
602
783
558
391
707
965
908
556
25
545
904
602
626
247
854
578
913
506
407
590
34
619
24
22
837
10
759
201
404
894
452
903
714
195
979
269
678
799
222
602
415
404
847
492
926
26
19
368
228
766
783
151
526
888
70
356
469
13
340
476
876
849
765
62
362
736
509
465
61
233
616
634
760
725
685
621
16
274
234
471
971
441
672
701
752
372
724
796
151
999
55
169
21
306
274
846
176
738
177
618
851
662
508
932
865
942
452
487
67
908
749
797
926
728
580
93
173
749
312
59
13
653
530
495
505
405
753
722
792
668
394
324
273
428
179
609
377
382
572
986
561
703
123
775
298
574
77
534
842
468
596
797
315
135
124
345
402
476
582
225
389
424
144
13
644
325
287
615
527
223
579
309
674
42
818
715
140
728
468
961
200
685
791
163
959
373
839
5
364
790
974
316
858
761
904
530
927
434
586
152
284
989
502
799
148
409
113
66
323
103
777
161
542
440
457
275
697
122
235
531
128
593
793
772
774
111
748
723
807
4
322
807
82
758
244
750
482
285
378
917
350
55
835
876
837
926
221
860
558
488
164
922
870
233
283
237
59
866
780
910
99
945
253
105
761
693
584
266
113
331
518
52
335
761
811
529
539
129
915
482
725
843
889
398
553
472
234
100
541
43
461
656
144
79
816
859
69
775
859
878
747
980
965
833
397
250
36
70
676
578
1
990
971
793
365
216
976
757
496
289
783
820
335
832
139
704
114
391
494
166
107
514
150
254
591
46
152
304
406
143
457
796
575
795
594
944
932
745
589
927
220
755
834
146
206
475
93
629
703
802
201
859
991
92
756
771
755
101
626
531
672
374
293
262
764
605
664
453
742
809
707
85
318
23
83
534
131
652
321
710
218
569
825
23
113
576
424
999
189
547
282
846
279
318
923
988
693
906
552
728
949
417
935
717
799
705
965
584
721
537
120
596
714
176
183
239
734
712
86
995
122
24
795
907
938
209
943
887
899
627
576
945
179
50
124
289
585
474
546
183
41
790
673
557
955
858
350
495
470
724
152
789
332
773
359
597
207
16
254
540
34
296
97
848
748
895
983
495
333
278
257
930
32
194
109
630
973
876
70
869
569
440
955
519
198
156
539
938
318
697
189
811
734
105
92
946
28
237
366
629
817
213
30
888
398
706
706
208
864
240
613
794
967
692
118
635
413
284
160
573
793
636
339
890
954
585
704
149
489
571
753
762
29
980
357
470
140
644
928
126
994
100
410
872
548
665
895
485
3
120
10
137
417
313
566
247
120
675
987
174
368
274
320
313
986
2
125
321
608
952
742
19
809
118
204
555
193
968
917
663
228
512
219
10
797
780
450
379
465
371
327
903
835
235
997
255
44
958
315
715
597
52
759
320
574
101
15
311
967
275
602
482
369
48
923
738
267
492
325
497
3
259
532
28
808
615
439
75
911
868
300
856
30
190
930
356
155
358
772
532
893
795
690
345
420
685
729
67
496
356
892
99
848
935
562
358
840
749
810
21
695
138
680
198
398
51
30
618
715
630
287
89
115
950
852
265
446
676
187
100
814
384
77
253
596
937
542
416
415
889
432
438
566
128
577
274
203
279
684
478
169
390
117
709
370
700
759
545
765
501
438
420
600
170
291
344
338
684
768
5
791
611
327
686
531
837
628
683
990
681
975
282
206
872
755
754
219
837
218
486
281
462
645
828
3
70
297
208
408
396
728
479
246
939
936
961
969
16
476
279
402
661
218
498
686
184
574
972
3
691
952
725
892
44
388
597
714
348
46
693
737
517
644
952
239
151
527
547
657
120
265
372
906
835
520
177
928
279
255
446
376
230
380
275
381
877
268
538
562
868
561
649
602
98
890
204
615
405
643
713
324
615
172
384
589
278
665
940
185
981
190
45
99
60
428
265
700
963
213
946
675
66
237
517
819
459
401
374
992
654
154
968
439
500
462
383
904
764
786
470
413
623
860
395
852
848
599
899
180
49
611
509
12
9
6
717
228
228
693
362
827
444
347
467
75
419
803
645
503
458
407
930
857
424
253
64
720
53
662
60
842
866
854
309
532
441
278
362
976
774
681
428
288
70
748
490
737
831
725
964
506
116
547
598
857
709
690
776
875
910
689
94
8
328
124
245
539
944
453
894
587
40
574
719
159
812
435
688
184
704
150
280
714
552
546
540
628
271
318
945
714
339
785
326
721
864
334
806
699
695
870
488
686
895
705
989
349
584
837
710
708
279
951
150
123
627
326
646
696
940
666
486
946
597
535
170
440
527
940
479
412
551
643
652
877
31
809
255
984
623
549
418
754
973
928
927
949
86
529
426
733
846
741
307
898
878
11
25
890
142
869
806
930
494
291
973
142
527
781
589
901
349
234
585
879
2
401
357
615
97
921
394
614
911
104
874
78
59
628
315
48
847
812
810
954
236
226
652
708
468
599
129
663
215
293
423
5
578
945
176
7
172
597
719
290
381
528
524
857
328
500
404
567
994
927
795
623
49
900
405
482
565
371
678
906
682
401
557
224
221
923
925
491
487
977
851
667
234
636
116
217
442
118
567
577
642
944
783
473
678
67
434
950
178
355
690
214
955
747
772
429
510
285
339
217
450
939
284
765
422
629
196
686
45
457
792
452
953
226
796
974
685
199
490
465
332
640
954
121
337
853
46
915
300
841
365
497
924
283
131
432
652
290
563
678
742
224
404
769
775
163
525
853
670
565
610
906
607
980
258
919
538
444
151
728
341
356
979
89
747
301
103
674
649
46
595
28
519
574
564
57
632
487
652
302
403
173
206
43
76
22
461
575
930
367
111
702
397
107
108
734
785
274
585
744
322
535
577
533
550
519
546
630
133
305
628
354
687
81
57
80
515
406
144
966
869
929
662
872
803
6
89
951
368
989
504
542
525
177
695
403
47
760
39
892
405
235
119
615
470
293
44
452
233
442
687
255
947
582
870
956
606
5
414
322
971
749
814
261
854
484
340
406
31
102
351
421
410
522
499
726
26
635
435
913
753
591
691
515
605
963
136
556
615
169
575
731
217
583
396
467
863
86
504
137
630
608
477
764
391
190
415
422
730
230
461
514
956
741
359
267
849
68
973
939
695
168
713
539
955
386
216
387
471
125
332
367
136
977
750
21
552
965
713
724
59
364
879
670
527
678
788
805
253
262
598
356
432
655
447
864
594
922
496
64
812
15
183
772
384
309
903
287
805
427
630
866
775
798
38
495
232
881
962
142
543
491
867
406
192
944
123
78
859
289
522
941
172
96
124
684
321
861
344
57
913
897
970
48
299
255
162
35
597
267
510
54
338
543
205
286
927
907
177
305
541
190
377
218
528
229
750
385
841
35
722
201
231
144
193
172
971
205
201
3
55
286
352
538
502
511
48
664
9
365
953
769
987
686
832
855
651
918
497
547
106
246
956
741
550
887
665
66
29
789
835
895
196
419
492
997
708
623
578
744
208
955
295
64
909
774
527
751
809
128
728
338
240
758
982
387
541
669
939
129
780
730
812
397
273
504
0
43
545
982
940
859
530
443
409
407
107
947
5
667
77
515
961
992
832
213
336
208
414
833
828
484
922
216
457
958
324
179
234
384
633
534
241
336
411
872
608
288
69
436
472
781
304
641
481
979
680
115
838
478
139
527
113
162
835
297
726
26
386
996
209
458
313
52
255
491
858
212
280
390
162
975
973
469
388
84
957
486
133
107
815
634
301
705
151
170
373
399
309
812
520
623
684
368
269
766
169
485
184
463
684
237
457
227
107
304
667
302
450
307
267
84
831
539
29
270
544
984
664
341
46
750
986
550
381
780
905
889
614
785
422
108
71
516
704
681
159
178
453
712
318
569
229
90
897
306
688
52
904
818
418
633
215
114
838
382
814
595
526
555
662
112
940
986
399
301
2
761
92
407
560
569
379
240
191
607
881
236
46
362
989
808
110
817
337
663
321
332
478
441
850
331
404
522
142
199
811
807
346
577
804
790
900
828
787
495
91
646
346
147
758
803
127
793
916
784
152
974
636
105
823
679
752
91
577
344
173
664
729
435
27
176
435
531
271
559
559
269
657
615
571
502
985
420
868
66
554
740
704
374
75
622
166
744
514
417
400
717
231
77
127
918
529
553
867
865
237
832
552
13
344
440
611
86
53
541
602
395
174
923
455
851
338
621
90
496
984
455
255
806
26
5
243
201
776
281
84
76
159
804
539
505
729
285
15
962
543
505
973
742
138
725
45
479
634
940
956
95
516
99
962
827
160
798
508
351
868
417
535
330
292
901
286
934
84
150
259
256
980
804
901
400
688
705
493
334
74
376
100
188
793
232
465
462
709
594
249
58
917
289
392
111
585
146
485
961
100
252
926
842
418
741
189
740
392
840
351
883
401
956
600
567
438
276
51
294
110
909
906
133
663
314
112
319
512
344
585
384
399
382
328
630
333
785
244
7
430
764
42
305
359
389
412
79
693
454
377
270
992
478
494
12
548
346
755
369
522
38
521
978
827
920
32
800
735
529
839
893
90
975
517
862
515
444
498
695
458
917
827
961
552
516
111
332
451
37
249
114
399
152
326
424
353
909
932
426
746
531
539
862
342
544
852
524
605
323
807
633
44
301
482
7
594
771
586
947
42
896
474
270
579
448
189
990
481
966
226
653
293
29
783
831
193
300
659
713
668
998
986
262
544
17
232
538
18
753
180
550
71
893
874
8
703
411
324
658
615
672
755
21
91
710
182
874
412
739
114
464
380
767
48
939
81
681
662
148
661
285
43
648
131
996
102
544
518
554
311
385
367
623
235
151
332
171
188
960
926
977
292
446
888
807
998
742
736
827
331
840
455
370
303
193
985
63
933
800
165
578
466
895
680
166
227
353
164
423
27
954
661
348
281
405
5
555
906
334
506
996
191
842
139
914
723
876
93
615
998
775
478
691
973
287
666
880
565
991
445
530
369
421
407
819
719
601
900
857
184
809
507
417
637
71
34
816
508
937
485
146
402
430
424
430
82
443
752
717
478
231
761
865
123
207
982
220
779
908
458
844
568
695
618
608
370
391
475
206
278
395
69
878
32
501
245
561
711
539
101
48
445
287
599
276
804
572
638
75
740
70
953
321
903
629
785
377
615
916
990
381
808
666
306
477
133
782
282
268
381
98
14
235
107
671
582
99
161
619
117
425
913
323
182
39
791
379
335
995
532
455
519
299
765
510
162
829
358
185
277
291
845
273
629
71
547
536
252
287
227
132
441
364
699
103
310
891
673
364
242
892
649
571
608
812
624
196
199
703
869
985
911
147
212
756
446
582
862
446
385
875
595
839
513
729
781
585
547
755
832
930
985
838
485
243
178
430
495
306
49
0
181
717
228
63
632
474
360
242
196
29
290
359
21
429
252
67
865
662
583
128
766
563
665
805
295
742
558
35
435
775
56
933
507
614
811
159
56
101
401
262
156
880
135
834
115
861
663
416
674
647
740
18
121
904
3
346
706
397
450
298
918
551
751
232
505
372
266
318
371
404
863
349
857
707
884
302
414
940
418
658
580
499
780
130
236
415
952
765
5
249
642
558
263
908
608
83
76
595
498
435
45
819
993
696
653
81
667
113
559
492
216
951
449
851
969
413
688
810
407
145
673
802
439
674
845
232
118
191
261
325
281
481
953
835
173
864
704
134
939
959
444
945
894
432
419
240
942
936
170
294
919
787
307
331
138
173
273
377
572
246
49
290
304
596
966
576
248
293
703
730
923
811
372
447
657
833
27
763
861
227
75
561
37
986
143
363
484
491
900
610
699
13
969
609
186
438
845
977
464
690
198
739
249
943
937
239
687
983
982
434
254
69
853
402
362
682
52
131
287
331
645
801
462
323
562
769
236
9
498
866
238
234
888
691
982
650
448
344
414
284
756
765
850
912
910
780
380
855
702
352
306
761
608
243
438
977
368
29
675
474
216
431
388
165
216
92
569
299
558
71
928
140
103
962
373
623
294
851
902
924
599
311
700
676
205
873
846
287
61
916
784
705
470
382
673
667
158
401
706
480
656
549
707
838
685
772
41
969
794
150
592
485
572
991
959
12
536
671
2
623
43
562
622
877
197
191
180
254
526
34
579
392
372
441
614
891
706
121
311
824
298
101
586
862
781
621
628
531
643
915
653
956
883
636
846
321
992
859
424
322
454
908
985
641
600
619
559
760
442
909
193
217
753
19
895
93
894
580
142
538
565
849
499
832
225
710
490
625
341
8
470
688
304
208
691
203
54
332
427
215
811
857
199
215
747
346
929
498
942
143
44
252
881
769
432
340
976
823
11
928
831
301
152
315
874
912
175
64
881
479
797
806
121
481
61
924
246
150
955
926
529
125
536
788
270
226
299
435
449
147
700
841
590
114
218
11
158
172
107
519
814
553
681
154
838
413
549
434
653
184
66
546
792
565
784
86
90
710
522
204
858
269
740
259
460
210
758
248
57
773
527
223
736
437
90
829
858
26
571
449
655
621
358
808
724
520
67
218
710
757
259
755
146
486
753
741
564
429
149
934
210
898
366
593
696
835
593
276
988
113
86
762
344
839
754
427
211
443
259
32
240
759
905
85
415
162
709
993
877
16
225
969
312
543
811
573
505
296
353
884
506
842
811
314
475
836
950
639
249
461
949
991
705
57
794
38
675
184
698
788
234
738
987
370
715
395
572
851
260
449
417
551
190
765
69
465
784
766
125
442
714
517
713
899
533
0
225
629
650
669
79
562
524
536
775
57
398
641
710
663
169
842
48
680
220
50
281
510
6
331
834
144
494
889
234
992
456
845
2
291
397
56
236
511
580
335
822
63
564
670
189
381
928
683
286
10
532
435
411
596
533
108
898
894
736
133
504
107
560
776
616
771
957
234
206
837
149
825
421
379
762
57
401
474
253
278
65
45
847
650
656
782
124
351
744
793
549
457
314
974
180
401
721
734
290
585
160
448
107
590
548
187
908
307
201
572
147
687
79
365
87
947
764
144
608
681
273
795
875
80
741
679
524
776
229
268
813
289
916
515
723
287
420
855
537
610
536
929
924
473
730
140
720
23
970
9
908
589
546
41
223
528
512
971
260
715
980
17
217
801
556
663
367
96
899
246
285
188
460
354
772
340
430
68
473
222
573
641
176
184
766
0
600
153
755
98
832
823
272
286
283
912
328
352
719
228
604
396
822
704
180
382
74
159
730
460
305
911
13
66
479
493
136
160
795
666
477
552
39
34
794
429
167
449
111
914
529
399
966
145
356
414
31
713
509
382
210
29
266
465
741
521
660
704
510
758
352
1
977
304
158
18
345
322
363
872
626
267
409
691
762
167
101
131
572
390
621
380
920
10
218
404
227
365
355
235
740
787
458
226
3
104
861
450
429
263
698
606
719
47
786
877
714
940
838
642
181
593
637
926
253
738
225
674
101
431
595
135
468
575
119
954
154
287
637
347
540
740
339
320
77
419
632
1
27
643
452
487
988
740
317
604
503
593
903
706
304
694
141
575
412
674
371
919
559
560
797
240
427
909
197
727
491
508
650
315
837
413
493
403
350
379
582
563
415
996
630
495
81
949
414
509
33
62
0
712
779
902
663
608
282
314
795
919
713
964
67
993
417
139
666
351
416
376
831
361
835
763
526
644
528
340
433
291
480
169
121
192
628
833
715
125
49
162
393
335
846
240
314
798
560
560
38
455
924
444
696
528
328
252
959
569
855
498
79
744
151
674
63
714
376
975
973
925
364
387
225
436
106
491
140
668
827
481
322
764
924
849
843
68
670
29
255
377
164
692
484
479
946
687
692
81
632
966
323
71
192
372
925
960
435
506
18
220
976
766
881
725
624
535
228
270
258
187
203
71
485
957
936
578
135
472
33
776
501
536
42
79
28
385
294
469
206
770
759
561
302
39
884
148
884
391
247
447
52
1
733
962
510
441
628
633
847
885
172
514
771
876
151
910
958
352
952
416
970
175
346
389
436
44
807
149
326
19
98
11
876
916
98
474
512
966
333
461
340
845
429
965
604
486
425
598
154
82
183
995
608
181
915
592
423
375
801
37
781
97
570
731
664
962
394
241
746
219
666
418
259
245
421
747
890
893
529
462
945
509
690
101
582
312
945
147
797
225
763
536
511
496
110
44
617
533
798
512
980
141
5
132
103
694
342
200
374
317
931
313
974
243
766
602
603
113
470
180
494
416
841
78
324
623
161
594
194
581
391
655
870
213
496
767
524
165
192
518
667
166
34
511
904
388
656
548
55
265
300
395
748
167
523
68
36
759
559
388
547
47
920
591
633
497
358
586
782
934
424
121
961
922
569
714
736
814
360
649
938
479
858
477
589
430
625
975
475
921
556
767
271
936
66
238
194
571
12
353
998
840
430
671
725
633
567
389
558
320
460
167
668
31
613
777
240
882
214
877
616
343
989
22
181
718
517
980
445
644
520
812
144
995
296
977
538
733
608
746
612
639
611
895
608
275
113
89
695
894
627
456
340
146
119
979
508
307
238
214
235
872
280
768
207
434
346
932
930
97
632
682
62
535
872
730
345
498
175
318
340
624
20
622
413
252
326
560
520
522
168
83
771
433
22
714
309
861
528
14
593
592
489
123
844
578
621
413
299
277
318
691
0
698
721
214
482
490
49
632
516
62
689
637
379
341
952
304
55
820
862
119
811
699
69
343
874
121
945
375
576
914
78
385
743
713
899
217
488
519
0
17
743
124
836
217
432
814
441
206
374
215
5
957
252
743
926
788
969
177
884
144
644
220
875
707
576
62
322
795
750
891
541
952
389
376
173
440
74
604
582
271
786
13
844
112
616
616
752
256
669
54
805
435
900
544
777
47
838
47
183
419
542
235
587
419
595
784
978
215
402
218
253
390
255
252
546
288
640
865
331
280
209
557
866
656
926
235
145
949
451
397
632
20
544
256
553
982
730
547
451
23
184
531
971
290
95
864
154
155
130
433
555
34
295
947
339
359
33
620
23
518
897
678
246
533
663
923
457
393
288
694
666
201
610
412
713
512
179
142
112
396
270
423
749
895
379
29
572
789
577
421
704
66
839
972
464
815
427
350
389
505
991
595
646
52
953
830
783
875
118
224
71
7
268
628
206
299
210
125
268
292
936
851
315
568
539
712
472
748
308
816
716
961
610
229
475
868
307
754
576
424
556
512
301
197
277
492
831
491
42
869
931
489
598
919
146
24
838
244
534
109
233
626
769
605
485
886
817
19
170
697
603
77
366
223
577
1
892
257
617
271
377
90
891
428
50
319
955
860
199
550
571
778
715
166
387
491
342
513
147
336
892
21
728
344
965
954
23
153
609
946
915
816
606
75
330
502
659
498
96
390
887
50
978
813
646
470
374
6
321
725
572
748
747
35
947
338
950
325
881
746
445
56
624
736
982
819
729
899
310
957
11
8
282
331
371
637
578
785
40
730
811
132
906
489
343
996
51
717
135
692
885
886
127
31
117
442
182
317
631
426
173
168
583
399
499
385
50
364
984
520
35
650
847
998
450
566
928
937
568
491
647
211
118
1
755
382
325
755
752
59
295
369
830
450
328
945
139
690
819
19
142
117
494
255
768
377
49
587
16
725
217
83
426
201
675
841
175
971
158
999
263
132
177
304
707
947
709
599
94
241
156
908
136
88
688
293
946
865
449
244
941
66
558
224
85
142
58
452
261
409
213
687
84
288
807
921
668
372
626
637
744
694
447
17
639
516
672
203
427
249
248
271
526
525
401
305
648
321
242
909
101
91
492
456
33
25
404
834
981
383
449
152
628
310
36
553
496
769
199
126
163
880
131
144
906
739
857
138
255
448
665
845
287
84
969
519
787
629
519
282
148
734
784
27
484
486
275
572
276
295
989
550
428
104
233
620
199
574
351
318
530
513
338
461
270
633
197
34
961
532
22
190
511
836
519
401
443
929
436
340
90
342
845
553
922
847
275
326
850
669
506
226
56
729
187
781
223
552
961
228
377
122
225
868
133
262
964
104
836
186
770
947
985
364
558
337
436
412
567
808
485
255
286
229
786
512
696
60
27
966
706
491
879
97
156
307
447
16
80
572
596
217
18
875
745
109
702
656
19
869
32
702
984
907
401
685
813
876
734
520
940
823
735
295
367
157
799
57
614
413
561
393
390
861
224
583
495
934
437
786
596
940
151
666
511
658
404
194
113
359
6
316
887
700
592
695
233
450
357
298
327
889
780
741
186
842
79
653
152
688
944
291
212
950
23
828
964
473
382
442
860
69
732
758
887
809
514
666
493
114
389
335
589
754
30
492
834
303
817
885
954
663
375
556
735
537
74
421
10
287
191
602
41
130
78
328
136
465
229
129
599
515
908
252
686
621
327
497
642
566
958
504
797
583
105
901
73
565
813
222
511
474
580
864
334
848
571
184
983
957
338
174
203
980
500
141
886
327
905
262
141
261
382
340
683
549
325
410
142
207
114
990
267
78
438
995
976
69
209
798
492
523
288
464
140
851
780
99
716
44
372
276
840
86
782
329
299
205
766
158
726
194
625
205
197
286
91
5
223
721
427
704
183
285
516
169
186
234
523
967
274
318
850
207
350
347
842
782
505
481
595
839
231
27
209
333
551
202
965
916
93
540
570
573
113
124
849
696
349
315
115
711
90
760
490
198
80
942
159
266
363
569
367
885
229
356
634
603
15
729
645
552
700
11
455
393
32
754
356
283
654
296
979
829
851
300
928
998
567
389
301
227
918
691
497
577
381
211
347
18
640
289
319
67
546
17
607
978
332
913
507
762
345
240
850
871
747
937
618
642
95
409
817
963
476
156
757
164
715
62
810
910
796
368
770
916
844
387
46
272
752
371
944
309
406
633
591
604
587
181
933
230
360
583
300
87
39
308
401
445
138
276
975
772
890
21
776
213
638
632
529
338
36
578
106
626
828
990
236
910
168
894
444
314
930
470
502
486
753
886
693
80
643
48
295
179
841
803
255
160
689
104
131
760
788
574
618
197
884
735
20
839
665
220
693
46
374
407
605
676
133
582
789
205
398
654
947
330
57
883
727
246
19
552
129
363
995
871
538
66
97
892
160
389
792
862
104
987
332
666
868
661
44
698
302
730
778
855
967
385
775
909
302
39
977
383
894
839
94
256
75
513
913
875
595
86
61
99
441
495
374
557
373
729
530
699
862
720
341
179
513
714
47
220
465
306
652
202
109
312
913
345
862
516
841
191
6
916
984
220
435
770
328
243
397
963
310
120
715
680
783
145
399
198
555
899
82
231
913
81
752
336
699
435
403
603
568
914
464
325
15
242
593
471
753
696
52
283
928
18
523
174
723
80
804
507
675
379
787
492
971
652
694
885
332
266
198
116
364
316
395
828
855
190
118
936
937
522
819
340
622
20
837
477
951
930
133
576
727
722
684
491
759
433
297
923
886
862
810
186
823
895
267
683
639
337
657
681
988
378
776
986
841
107
997
49
629
10
471
593
29
348
262
390
38
574
902
127
699
886
965
156
651
878
98
514
227
590
795
932
135
317
461
350
381
112
659
122
479
6
738
920
217
696
137
181
427
774
931
652
723
851
879
672
699
625
767
872
549
628
747
989
280
236
81
590
98
973
243
368
370
634
155
545
16
359
135
773
881
990
489
906
920
978
348
90
548
133
984
257
462
526
100
89
148
223
392
466
395
499
628
117
242
116
489
88
601
222
798
34
391
522
514
954
332
782
210
442
782
831
950
56
148
936
92
70
662
698
672
634
290
368
419
354
659
478
358
686
671
431
840
173
31
958
195
49
723
157
653
20
876
333
661
431
492
284
921
275
829
964
882
402
350
815
896
73
52
314
340
215
380
935
795
322
734
834
242
815
252
957
673
866
750
605
746
572
21
17
642
957
756
463
722
256
729
237
707
227
974
712
602
23
717
819
772
993
91
925
600
259
613
677
706
772
158
483
536
17
668
200
840
479
759
608
934
350
995
121
888
988
828
898
306
83
484
274
339
84
225
564
557
922
725
634
21
676
799
487
211
314
231
641
843
655
386
91
742
247
976
594
853
352
514
747
88
610
665
966
173
42
355
455
861
16
733
508
385
16
930
796
326
447
692
971
585
138
173
403
127
545
201
968
813
182
317
370
61
295
276
956
231
848
989
870
975
767
959
802
127
221
830
576
695
492
241
407
698
634
572
291
895
955
968
499
255
283
700
778
903
631
525
262
663
238
850
310
262
254
991
763
743
169
673
564
427
625
648
811
656
965
808
975
724
181
288
343
34
505
915
591
674
867
862
44
66
593
853
18
436
152
428
958
131
688
619
842
990
172
213
520
825
799
890
817
384
495
429
444
165
828
855
193
296
30
792
123
381
739
327
541
259
233
674
433
881
214
468
446
472
820
557
55
191
619
522
128
346
358
778
62
231
441
561
223
323
549
997
987
567
293
753
158
439
106
667
822
384
869
161
671
175
341
209
234
161
474
942
165
274
366
929
702
498
480
867
610
616
372
937
604
518
222
311
515
990
235
257
687
95
825
26
13
394
76
852
897
281
571
941
533
913
856
360
200
432
517
148
609
629
721
532
920
334
32
390
351
861
733
575
56
912
63
205
280
52
569
18
960
850
557
501
258
487
270
305
380
887
513
965
414
266
542
333
428
626
135
711
171
630
187
619
499
518
550
787
934
853
912
28
742
251
525
610
321
490
720
845
957
649
211
898
612
641
634
196
441
808
992
64
815
843
892
510
239
637
327
629
573
173
847
752
222
510
111
512
700
455
765
3
736
237
356
381
87
192
570
637
837
980
448
360
334
906
219
788
787
331
977
308
756
663
568
44
537
214
950
23
560
30
249
425
611
898
873
480
162
439
224
393
942
828
52
997
168
763
666
543
557
841
687
194
43
27
288
949
701
902
186
41
515
879
129
0
830
344
39
505
597
747
77
442
326
108
313
862
599
909
104
544
597
677
82
400
323
528
896
532
317
219
787
47
766
638
621
705
545
93
120
316
202
806
86
981
670
759
199
92
981
831
920
26
755
163
401
19
293
443
103
591
842
349
733
944
936
445
770
835
25
203
163
73
856
678
587
338
754
127
51
947
188
175
912
748
517
586
884
254
663
543
179
559
279
94
791
143
98
288
756
731
370
305
210
900
321
200
812
53
624
931
770
399
655
862
494
307
355
707
48
792
116
90
595
310
313
300
695
717
990
100
892
724
725
110
816
752
749
601
34
103
69
574
336
303
719
391
138
372
783
793
53
665
694
77
852
801
351
672
912
773
521
496
764
447
427
650
104
75
980
449
458
812
879
433
591
18
651
721
580
739
386
785
369
831
103
729
448
779
730
888
442
130
236
926
230
99
710
445
332
869
89
983
619
878
876
755
475
71
318
259
155
589
544
548
245
109
747
699
531
507
685
590
8
427
738
821
577
782
455
395
41
604
477
244
260
490
537
26
87
918
674
561
227
646
111
740
567
168
829
594
684
282
421
822
218
597
461
3
55
455
584
984
711
6
96
224
418
854
90
366
668
397
528
323
201
329
425
973
864
101
707
939
553
211
754
444
675
401
205
832
345
997
71
533
218
253
628
817
485
958
637
43
51
414
951
15
685
181
761
834
376
531
315
574
977
755
785
322
843
743
919
406
942
792
114
583
576
595
669
138
202
163
157
949
108
600
58
112
247
690
273
571
185
272
470
533
842
300
73
456
299
585
105
342
335
901
148
995
18
814
105
243
721
815
898
466
901
198
766
793
730
342
70
814
809
601
711
983
8
182
509
371
383
927
526
625
417
844
479
994
532
882
996
348
863
190
346
515
923
842
488
75
471
712
118
364
450
754
64
157
209
679
242
4
470
374
46
847
958
5
515
243
508
624
108
201
650
930
623
474
801
66
198
818
691
615
314
728
477
766
550
987
518
751
969
281
230
231
43
706
551
921
15
330
920
196
818
66
434
523
928
546
760
658
97
538
512
916
950
938
981
171
680
605
909
977
912
392
63
240
227
451
983
542
934
316
123
334
699
147
120
296
212
533
342
710
663
288
617
671
660
302
955
607
316
351
39
534
739
382
767
698
575
512
405
30
34
632
468
310
997
235
704
606
375
427
104
155
956
969
690
482
612
95
478
257
242
734
229
840
123
951
398
842
583
423
543
868
517
833
555
433
448
27
228
276
864
98
689
624
994
747
484
473
686
204
666
765
519
322
445
157
398
726
142
864
3
627
703
774
919
689
765
22
55
96
844
728
742
174
437
168
934
287
612
95
883
438
775
704
297
212
975
11
971
628
752
79
172
495
938
184
338
723
319
476
600
507
103
22
504
214
331
686
853
262
661
585
326
821
108
236
71
543
98
986
904
573
58
924
666
195
135
989
464
388
678
864
671
513
326
455
386
79
131
4
116
708
303
962
239
917
494
258
294
686
302
562
932
863
54
605
559
241
295
348
178
151
137
488
12
423
183
283
488
91
780
378
975
540
804
351
105
964
657
263
970
384
687
856
428
553
946
495
738
104
327
310
716
502
509
82
973
609
615
380
955
632
224
862
652
19
282
904
567
63
408
936
106
755
782
264
709
469
665
645
244
869
679
612
720
389
694
104
409
263
215
176
242
660
644
367
404
714
160
537
798
140
900
622
302
319
70
940
245
419
842
688
486
779
784
591
448
403
373
130
366
508
737
825
575
945
125
325
713
196
82
913
119
986
333
381
644
699
933
866
422
362
129
32
610
984
428
334
944
938
180
323
350
931
540
757
525
842
32
987
905
1
915
965
675
953
175
364
677
1
301
771
795
744
309
753
826
785
175
290
306
206
394
766
958
593
500
611
924
426
142
494
291
953
594
315
730
398
608
933
906
758
198
315
468
903
175
334
170
156
315
328
482
242
680
160
426
549
701
277
744
494
231
159
334
660
30
393
112
442
364
272
129
532
389
919
122
924
897
861
874
88
792
851
681
156
994
694
748
374
306
30
837
105
960
973
321
705
785
412
916
942
955
756
208
98
874
673
938
10
456
608
836
435
356
108
421
421
663
701
734
783
935
448
691
74
66
903
811
588
675
934
104
536
861
894
296
565
812
860
853
964
319
701
1
264
874
412
664
671
278
907
709
307
993
527
224
299
599
872
928
997
688
642
968
527
97
856
616
532
582
884
898
387
945
165
38
789
661
328
864
371
96
64
109
12
14
881
468
377
130
998
677
485
11
138
1
787
793
62
704
152
433
754
762
1
603
659
678
700
768
527
509
111
863
92
930
585
499
712
112
916
103
395
189
87
243
681
348
727
595
415
788
929
91
119
936
652
536
468
93
601
249
298
613
945
279
639
816
188
291
573
904
264
785
751
203
803
267
854
375
399
821
625
668
857
257
44
752
759
946
209
551
119
297
276
639
831
307
62
389
327
105
233
506
599
870
113
631
696
559
501
258
289
225
845
728
91
542
214
655
745
179
619
876
967
768
140
118
217
469
741
31
65
235
774
199
825
849
338
711
357
228
86
461
757
683
792
693
338
952
151
623
314
257
943
724
363
771
191
477
686
4
324
133
673
916
643
633
412
690
446
792
56
521
548
678
64
267
822
368
949
331
153
885
589
167
154
39
520
113
631
50
917
344
908
723
730
979
304
726
553
248
917
957
848
951
627
624
380
927
581
334
380
583
828
182
706
538
840
123
958
523
926
568
231
368
207
820
845
430
651
85
837
388
175
739
593
441
302
532
868
552
517
174
159
404
638
706
345
538
514
218
467
610
927
271
639
189
204
676
839
640
948
664
761
794
477
759
525
513
611
213
897
863
402
952
915
897
545
936
375
301
237
327
542
272
26
872
780
140
181
545
394
530
930
832
14
587
443
643
218
304
266
452
982
257
683
770
458
913
119
918
289
80
769
222
289
986
945
786
602
993
962
813
370
990
115
422
719
93
392
264
256
837
271
838
85
850
634
957
645
500
826
232
140
405
1
386
692
419
264
505
250
703
164
416
139
534
735
690
335
628
933
183
482
720
984
672
415
259
772
357
450
287
208
121
975
18
339
684
60
412
150
602
862
586
854
621
433
907
493
171
581
913
526
830
657
28
443
87
120
401
710
183
211
243
172
293
230
190
167
209
807
103
789
577
63
138
848
354
490
917
436
160
4
684
968
145
474
419
285
909
710
75
820
937
626
518
307
273
622
836
398
933
147
442
128
398
610
837
699
125
892
754
781
681
639
486
259
433
590
573
9
886
923
817
222
53
748
880
670
955
52
760
626
992
935
527
360
70
585
532
417
318
548
564
327
522
566
686
348
40
58
856
413
101
414
604
97
718
481
294
821
581
596
248
305
439
896
840
306
337
786
901
282
96
514
818
977
356
895
365
7
246
438
510
728
855
162
835
956
496
959
998
218
659
118
670
223
408
325
8
939
884
400
557
900
722
835
611
886
479
277
60
118
188
931
126
37
620
657
222
551
193
437
76
156
775
404
249
356
605
922
144
517
64
685
628
785
829
980
418
731
717
117
377
248
321
760
651
768
468
951
383
21
89
477
44
192
339
547
416
732
455
154
246
621
909
914
276
94
788
961
780
460
964
65
304
23
548
970
945
571
71
502
517
985
318
354
605
83
581
516
984
409
248
879
79
179
223
134
649
108
664
809
508
697
236
836
244
841
631
390
626
877
483
140
809
967
79
178
885
998
947
397
769
916
69
624
213
442
804
617
913
992
375
841
583
409
266
876
592
402
767
768
421
839
931
658
215
478
953
562
37
527
610
390
597
107
242
597
806
937
282
754
680
97
298
714
832
207
2
99
32
620
721
720
346
990
526
79
131
596
195
954
473
598
450
386
313
758
349
897
751
789
440
245
895
977
895
652
276
693
109
939
716
768
406
444
135
448
601
459
980
852
332
395
6
871
450
505
202
198
955
110
30
155
934
747
97
343
721
860
851
345
126
962
716
426
174
565
100
255
577
749
652
755
619
471
342
108
443
706
783
506
160
381
492
762
950
840
312
44
580
631
965
136
461
762
119
570
465
976
274
173
172
254
643
282
585
369
260
90
346
301
267
173
369
551
535
982
64
314
932
27
975
984
619
545
269
457
378
273
284
617
349
97
106
251
672
342
145
549
388
780
585
837
988
705
712
268
668
715
324
791
763
177
834
812
18
525
963
527
375
816
684
493
150
342
566
678
418
850
867
319
805
631
559
384
631
857
771
964
660
676
618
875
94
264
256
402
386
800
377
336
39
22
272
188
234
849
218
542
834
864
883
340
777
536
472
318
804
901
866
381
246
515
452
764
993
903
61
540
802
506
306
198
939
540
344
224
37
860
591
221
380
759
161
810
964
299
826
455
136
561
429
10
296
598
464
23
623
719
118
233
81
891
676
572
996
856
404
547
733
772
351
592
27
893
926
127
162
231
987
560
619
34
613
667
229
433
515
362
302
293
670
643
662
818
587
562
836
292
478
272
434
287
463
446
155
398
173
191
329
598
861
723
235
930
71
214
197
86
229
599
926
645
58
66
466
417
886
366
120
875
321
81
471
908
827
149
113
678
483
287
89
780
764
994
983
800
297
20
738
646
594
877
889
784
825
234
955
377
671
890
977
890
861
117
75
859
461
256
748
152
828
429
168
691
197
365
386
391
871
110
322
805
643
819
892
390
605
305
789
733
220
101
573
357
740
496
719
72
251
97
163
738
734
139
30
986
244
512
134
932
210
269
314
960
460
241
624
315
494
3
885
714
234
841
668
579
526
300
338
495
696
740
570
323
700
233
107
934
0
764
77
540
65
694
991
548
15
290
106
177
281
85
731
113
520
329
584
962
574
372
906
668
540
497
736
547
709
343
195
291
381
589
990
627
678
419
219
510
270
818
300
331
482
237
320
155
2
814
500
396
724
430
943
370
138
505
910
45
858
260
210
700
623
355
395
929
324
709
387
473
12
503
280
454
543
189
177
501
668
94
967
484
274
514
253
411
305
812
168
202
731
70
190
182
357
917
522
43
823
295
635
640
278
671
458
316
937
430
917
764
875
909
466
365
188
707
910
980
659
852
390
845
40
882
272
460
440
821
733
957
199
503
81
294
814
62
321
902
884
106
525
887
160
979
554
87
421
362
230
33
320
979
548
728
248
374
542
154
599
379
572
97
240
877
440
166
926
871
946
611
466
558
713
225
586
50
397
543
993
529
617
38
83
639
693
973
971
144
353
365
416
446
523
811
825
384
120
787
282
648
127
633
790
140
735
868
281
306
554
59
640
956
706
221
383
345
703
847
72
442
643
435
601
622
695
352
29
780
246
660
868
456
547
118
485
516
862
869
253
248
999
357
62
338
24
474
622
184
57
782
477
751
180
254
827
374
103
756
592
691
387
495
999
466
366
241
406
148
303
763
202
331
943
437
267
954
784
810
761
733
714
808
480
189
827
71
206
638
83
893
929
741
885
483
940
172
653
983
757
798
351
912
184
933
109
351
62
995
615
976
570
984
663
757
557
54
459
864
553
727
894
472
273
831
185
630
197
936
946
220
101
526
469
487
494
279
423
142
165
925
428
106
217
17
496
182
858
319
901
398
872
334
623
428
630
110
165
788
433
271
294
303
922
512
263
729
561
558
634
897
224
727
247
228
435
898
404
672
339
45
282
330
467
501
384
914
109
732
769
380
218
967
256
656
901
373
6
30
276
475
355
161
310
392
368
987
179
517
581
269
510
842
285
926
831
555
842
471
525
785
104
350
523
228
715
586
927
64
439
216
590
401
358
88
740
127
985
159
181
914
617
497
419
882
192
746
997
57
890
841
645
756
568
973
235
561
362
106
27
401
256
707
340
605
356
206
982
694
526
606
28
332
859
352
520
658
316
397
875
141
443
916
545
166
687
841
75
256
863
602
364
260
784
451
465
344
860
694
749
590
766
307
681
679
372
656
986
334
963
318
187
418
106
372
323
55
925
158
987
944
586
927
967
24
969
581
126
619
679
466
891
841
726
216
263
740
395
870
500
79
933
318
468
628
40
13
733
498
501
410
147
887
391
70
62
869
318
34
139
723
598
840
729
710
110
888
951
970
662
930
50
151
820
320
434
881
547
780
973
34
943
430
300
458
712
511
472
249
290
442
450
826
415
768
883
303
336
507
39
750
624
184
32
7
506
455
318
403
888
758
172
507
270
627
560
319
884
800
469
309
973
644
360
58
325
181
306
732
752
479
442
938
163
254
957
752
605
8
792
804
129
638
590
473
371
298
593
125
991
701
67
547
491
815
808
193
430
483
389
853
696
129
665
459
177
136
599
686
883
998
897
75
65
579
155
401
719
211
842
742
153
612
686
302
128
882
73
764
345
834
116
100
912
240
379
311
10
706
434
406
795
274
272
742
316
623
757
870
303
408
758
465
885
258
632
668
307
129
401
627
339
575
10
324
853
111
48
393
787
789
75
997
526
368
586
205
812
65
730
18
565
48
236
739
484
164
374
928
651
844
652
380
123
622
424
965
140
908
794
653
965
266
587
97
503
827
315
574
266
513
718
500
255
753
38
184
74
937
855
153
493
612
88
142
346
608
668
127
911
868
141
221
910
135
865
875
978
942
172
426
767
68
135
232
626
513
468
826
553
710
619
424
173
953
411
548
301
451
725
840
892
434
256
975
369
445
906
384
377
980
319
43
356
333
33
916
320
455
222
862
339
529
535
464
704
647
367
42
630
117
752
582
322
610
559
909
235
260
377
237
44
933
889
776
65
904
392
384
953
141
499
701
169
156
96
962
600
964
677
868
370
164
851
577
684
8
71
194
509
513
629
771
695
456
629
60
338
657
478
42
186
174
177
545
602
339
501
785
912
765
68
106
144
492
964
566
347
908
282
128
72
982
733
863
633
456
102
637
363
675
951
661
818
29
972
644
304
282
299
863
293
738
97
25
705
389
117
710
934
216
594
814
680
250
107
280
469
716
685
932
476
560
558
314
565
297
870
333
149
373
286
531
373
771
541
430
876
711
367
520
950
228
516
312
776
742
263
981
150
18
126
474
344
254
819
100
732
449
933
626
956
134
814
355
888
818
376
137
450
933
962
225
74
290
527
954
855
407
198
169
327
76
294
619
801
751
687
59
101
502
893
165
382
746
880
135
353
427
579
989
705
132
945
723
936
460
741
838
45
8
872
446
143
636
156
396
835
539
354
670
681
483
692
219
365
552
185
119
486
645
77
359
582
395
479
706
219
142
912
607
347
443
371
579
390
669
977
525
405
0
291
803
48
436
15
486
663
877
369
328
470
736
516
146
465
887
986
536
514
608
752
419
598
774
805
66
346
573
499
663
803
356
347
413
604
865
384
338
914
887
539
268
96
345
484
73
8
786
474
776
198
837
145
555
684
488
777
493
653
434
672
641
582
955
391
681
796
352
468
140
283
586
834
742
198
392
152
547
445
605
882
457
205
922
238
905
27
492
863
25
248
723
44
194
569
607
785
72
394
498
384
844
183
410
570
832
82
252
338
683
990
632
943
414
64
990
717
655
381
965
78
729
157
467
224
653
233
350
627
664
577
629
571
945
651
219
584
611
511
982
417
549
37
267
350
310
151
780
578
78
668
700
377
754
779
514
60
999
515
475
748
195
196
562
623
673
914
5
973
969
463
638
794
795
252
511
97
648
195
305
484
924
534
813
317
55
970
989
627
364
121
923
196
594
872
498
47
279
102
987
972
151
814
167
865
869
80
862
258
77
830
264
904
347
249
151
751
799
89
938
773
656
163
988
415
437
701
537
445
225
707
930
824
531
250
707
69
307
854
682
65
135
192
559
905
737
766
877
578
569
45
278
18
24
348
701
323
23
110
441
707
992
320
725
484
224
770
118
127
21
21
443
36
790
51
592
766
871
817
50
509
898
735
536
910
408
33
367
365
132
246
411
19
174
486
610
925
983
338
383
978
651
953
244
761
424
656
866
253
264
472
410
843
183
611
592
390
105
184
174
684
396
189
228
45
884
777
962
775
115
555
608
307
885
379
398
965
755
339
914
838
873
886
313
608
426
224
275
702
705
811
136
478
231
962
224
441
235
629
680
992
69
581
236
528
832
592
496
256
322
126
587
604
819
950
922
636
876
145
552
736
869
729
869
606
185
216
762
511
708
386
266
134
716
423
290
511
34
346
599
163
29
97
660
866
547
399
112
313
572
925
920
425
635
941
23
8
626
768
969
105
497
308
593
142
3
834
490
315
240
398
468
86
383
173
472
704
280
135
767
634
686
834
773
530
707
317
628
137
312
711
396
498
886
828
523
516
687
493
772
317
106
380
517
242
415
638
851
80
471
355
486
778
801
828
264
104
616
540
173
441
159
113
160
230
680
308
430
308
701
82
507
315
157
53
776
440
281
719
230
319
40
513
581
261
94
159
411
979
397
407
910
274
257
765
374
8
397
850
624
885
939
19
423
984
590
474
156
705
162
610
986
187
845
11
626
785
483
842
54
693
416
678
576
23
576
81
995
205
463
561
481
154
937
695
956
4
977
906
781
293
163
297
141
418
356
841
622
930
221
342
748
618
923
496
626
713
102
952
383
512
626
869
780
857
501
374
232
834
143
35
632
482
810
12
417
646
336
690
881
95
360
437
172
703
22
949
409
274
536
273
305
38
898
931
300
731
253
276
469
639
920
740
750
90
486
724
468
878
212
617
966
99
671
410
359
481
844
728
372
283
224
328
497
453
689
227
159
822
953
664
886
581
626
670
643
436
810
273
929
623
593
402
313
963
809
623
879
854
217
929
868
677
211
212
27
892
714
680
735
872
814
793
979
531
498
704
944
240
836
76
148
579
197
450
57
935
170
197
340
266
854
350
277
395
121
333
82
852
877
985
615
992
249
441
559
627
317
912
550
689
623
736
929
88
669
106
989
248
215
339
611
23
272
918
973
168
329
122
706
588
456
966
826
54
665
279
632
217
630
629
968
39
366
813
830
523
678
822
154
606
293
102
779
646
49
616
110
863
400
226
765
694
344
899
163
299
551
777
11
418
419
960
136
434
466
542
750
823
332
617
14
23
600
936
654
142
647
929
805
998
979
91
378
676
827
662
532
738
194
334
389
802
307
997
271
244
657
636
941
238
203
669
914
275
646
337
335
979
21
222
228
183
293
309
210
649
893
645
235
824
71
937
550
407
192
124
179
256
927
802
100
458
190
718
293
362
210
72
860
2
225
911
525
687
515
638
796
598
896
9
286
30
94
323
887
29
42
464
960
83
173
252
805
551
997
342
521
399
313
217
24
766
644
1
766
703
917
338
174
413
83
469
348
778
351
851
509
97
902
157
198
485
80
881
404
806
204
259
941
177
628
796
730
177
824
799
718
281
283
4
255
369
972
757
459
925
444
277
524
445
979
849
64
914
230
78
210
123
994
487
474
229
73
271
441
770
203
281
704
136
375
351
367
369
726
856
539
745
127
377
652
492
202
632
110
765
770
697
351
32
726
914
605
918
881
607
351
143
17
340
168
673
566
447
608
758
614
319
204
794
125
277
394
835
555
795
752
330
607
894
106
893
85
100
455
39
5
660
683
824
622
73
604
597
981
102
414
195
267
805
403
456
650
145
86
739
849
304
132
123
622
228
615
95
993
471
427
354
60
279
40
256
564
71
806
61
546
288
178
345
690
281
408
894
972
493
622
768
480
386
229
132
367
862
775
10
117
408
591
216
643
622
677
8
444
898
799
766
183
610
538
272
93
955
158
481
105
473
13
249
414
56
976
266
419
706
310
401
1
418
713
476
273
32
582
127
882
860
479
167
227
30
211
575
495
472
860
542
463
833
255
700
935
594
269
380
602
778
128
665
918
52
196
629
135
784
873
291
608
152
956
311
279
500
601
658
730
223
641
36
996
368
11
950
929
190
317
948
295
699
250
668
547
723
303
495
913
979
203
290
958
89
195
988
551
210
998
786
772
444
107
918
952
806
592
666
40
161
628
275
106
589
584
619
937
574
429
319
258
23
864
928
35
624
535
151
806
963
966
580
430
793
175
451
73
251
554
361
704
97
813
945
620
550
76
909
203
9
271
127
946
788
422
682
151
798
537
716
383
218
157
238
798
906
130
644
139
999
912
338
112
666
719
333
842
977
82
437
87
578
565
415
661
304
626
331
293
103
375
567
172
265
795
235
478
613
152
645
362
566
985
464
368
779
827
976
903
498
300
604
994
679
904
538
982
842
259
370
26
58
410
391
371
533
262
964
258
10
67
335
415
564
711
658
773
515
940
198
618
75
853
535
614
785
48
375
180
824
450
389
344
563
590
399
642
41
308
557
171
590
15
956
432
837
650
174
951
826
811
718
135
214
141
175
621
384
85
64
784
576
920
85
700
243
316
671
80
330
826
277
861
349
77
955
20
271
927
343
833
593
288
109
173
52
549
74
377
260
437
90
363
10
716
180
141
488
842
366
508
283
0
479
858
122
312
176
652
536
488
734
101
592
547
737
473
486
646
473
271
225
865
919
423
214
445
883
566
835
772
541
70
860
93
965
733
476
66
430
332
486
815
857
960
814
517
275
624
230
568
990
419
723
197
241
42
968
397
116
585
410
60
857
838
78
671
609
35
117
466
634
110
3
475
981
443
218
254
504
646
634
266
288
10
917
576
337
58
693
67
16
375
245
681
374
756
70
793
959
7
484
534
54
404
27
455
408
701
347
655
800
498
372
762
565
275
522
929
320
115
195
746
739
660
636
446
439
838
510
592
168
491
806
637
529
326
442
977
9
557
568
242
527
444
716
301
177
261
981
503
737
215
279
187
436
147
91
317
795
157
876
143
440
921
542
962
577
65
415
289
244
175
828
350
916
686
179
993
548
696
371
454
421
375
182
200
756
786
325
11
586
91
389
792
192
71
921
981
203
177
764
254
973
521
536
589
52
268
716
23
587
533
957
243
443
500
276
271
289
582
936
962
599
528
876
701
145
500
773
159
39
832
378
647
466
376
135
580
808
389
590
387
50
273
26
370
907
577
94
675
63
158
869
544
54
35
706
264
252
430
791
480
418
912
784
877
593
187
923
59
893
17
611
40
44
642
875
637
435
508
403
216
982
946
546
419
231
900
586
469
596
433
677
255
944
317
958
854
410
886
95
830
163
258
611
632
967
959
474
694
915
870
786
110
17
846
236
728
504
397
48
165
283
395
144
853
950
395
136
574
47
610
968
244
345
680
904
493
794
715
536
921
73
506
595
512
46
189
646
461
562
855
433
743
638
128
327
413
416
591
292
349
844
841
520
739
625
288
970
806
705
171
515
271
784
912
360
803
50
890
654
723
127
148
449
611
702
389
770
795
465
651
862
2
313
478
280
342
115
937
662
99
492
58
481
344
378
638
388
717
867
460
768
733
762
489
140
50
115
869
277
753
643
804
450
612
143
37
769
203
463
963
675
557
55
555
503
849
2
492
736
734
295
0
639
158
727
189
367
534
362
651
440
312
243
367
889
93
239
694
839
936
944
229
754
577
757
994
379
837
146
135
21
830
528
215
440
940
902
89
987
327
470
201
250
198
561
370
477
253
818
943
154
836
749
246
678
246
115
209
354
155
452
629
983
654
881
168
395
760
703
537
788
379
625
787
628
77
972
119
671
801
178
464
19
179
953
680
688
434
636
459
17
152
551
419
828
846
376
797
381
205
155
382
12
302
909
437
72
643
228
713
520
230
73
352
650
414
51
375
485
613
85
994
607
751
757
954
781
797
109
49
326
587
960
399
554
823
119
363
553
836
110
586
801
427
86
557
272
530
272
826
980
666
831
762
71
714
824
484
983
350
922
839
399
210
84
729
194
605
120
151
385
201
949
352
798
923
910
867
961
469
512
333
451
643
408
718
870
140
333
939
24
309
359
196
24
873
963
315
861
298
142
680
197
112
782
915
236
957
459
256
948
707
203
53
37
773
218
831
99
932
343
246
191
967
938
471
245
368
330
237
209
868
359
928
202
944
371
652
149
194
41
428
484
232
161
188
153
718
702
569
915
249
62
47
638
914
456
195
972
448
144
419
98
82
258
811
582
743
45
70
45
31
960
390
424
154
697
802
991
382
535
144
804
89
182
933
627
127
893
838
469
804
200
499
816
301
111
845
846
565
464
112
309
759
393
202
464
562
129
581
381
414
999
142
823
7
85
594
975
847
648
78
310
815
192
900
379
147
673
590
249
725
62
559
399
464
651
95
789
994
836
265
353
727
309
490
39
168
241
275
988
832
603
746
351
804
915
977
140
490
258
60
549
888
84
700
799
765
181
341
212
337
602
54
158
482
928
267
572
292
292
785
909
608
472
113
117
840
358
935
462
511
498
151
330
495
938
668
674
485
920
822
303
330
28
1
397
760
846
270
397
714
104
287
326
261
826
474
649
826
279
109
84
431
828
234
739
349
448
316
219
508
520
846
196
46
803
520
1
414
532
856
994
731
188
264
223
967
223
489
405
879
467
860
659
296
625
199
149
264
167
621
638
382
334
645
734
933
532
791
4
123
541
820
957
709
890
474
224
32
8
434
152
996
350
65
400
261
804
209
593
841
773
957
547
663
467
301
1
514
672
386
502
590
690
100
717
570
261
498
509
398
965
546
829
410
757
64
349
159
565
354
857
745
15
38
986
271
282
142
48
247
523
508
658
132
295
227
267
505
314
494
505
300
853
278
686
172
837
730
499
103
990
513
386
440
628
446
893
973
775
722
683
823
938
655
192
422
973
698
924
82
775
17
110
268
700
194
264
168
353
190
914
298
141
103
653
706
974
752
795
962
346
954
684
357
867
361
518
913
114
796
613
683
816
131
234
93
800
793
527
784
495
818
529
557
509
10
366
412
496
512
770
904
951
571
725
362
179
968
113
673
175
952
435
150
898
312
899
58
169
686
728
654
309
7
114
658
385
386
636
942
912
728
998
736
844
906
780
149
709
106
334
395
972
678
984
453
330
731
10
207
678
54
370
31
72
567
633
461
603
800
149
223
384
29
942
328
307
245
51
986
369
322
617
519
392
415
277
697
689
23
832
876
52
491
341
230
173
577
942
99
79
727
875
340
150
34
571
4
211
135
146
910
591
4
363
898
16
369
546
736
579
502
105
587
11
723
600
157
713
668
680
823
274
231
640
688
259
474
379
166
163
281
476
791
116
599
286
46
356
501
843
628
350
192
710
575
846
564
40
435
231
600
441
884
292
463
100
322
766
34
229
865
454
939
304
41
737
639
748
890
865
857
578
17
960
954
741
653
871
324
477
325
910
629
16
566
230
961
394
622
541
899
475
664
165
336
32
38
278
471
770
658
823
382
967
422
829
597
295
100
459
410
168
706
585
815
710
532
81
361
618
705
750
505
480
593
462
499
290
149
131
7
338
799
860
175
664
803
530
601
586
361
698
891
392
823
68
797
54
946
933
247
398
189
412
788
558
208
189
31
176
29
227
111
558
195
360
210
764
486
299
889
509
533
179
985
743
708
551
734
237
865
230
928
602
459
754
439
117
643
726
259
83
625
282
82
121
1
670
588
464
661
154
956
145
986
305
585
850
567
293
217
522
639
848
718
932
393
245
463
826
795
684
399
252
906
261
541
825
548
251
292
713
243
124
292
471
814
355
894
520
685
549
172
505
475
780
44
376
169
516
243
257
469
851
762
106
751
524
45
431
217
810
129
675
762
323
440
706
922
362
455
178
733
176
955
882
745
176
492
900
38
131
134
747
69
356
477
98
186
100
432
221
199
605
895
888
197
953
777
194
596
397
659
505
796
280
242
521
277
974
27
385
815
615
283
966
589
783
746
235
71
359
382
624
787
221
758
328
289
191
561
954
212
5
704
971
853
121
187
912
962
833
853
30
397
938
573
114
496
649
290
606
93
750
655
688
713
454
328
292
530
805
741
712
101
48
633
592
721
722
437
883
648
268
159
479
382
664
436
721
745
842
300
710
143
67
830
479
9
344
522
54
261
213
312
296
255
135
725
929
760
307
642
511
603
697
419
485
873
976
165
511
986
575
299
751
817
260
667
782
307
820
792
115
352
395
257
266
579
27
850
140
214
396
637
337
932
754
762
209
319
525
580
873
532
934
520
210
691
54
290
89
464
162
311
88
644
825
737
606
76
747
557
738
309
573
66
529
20
733
986
584
83
746
529
244
27
511
765
612
886
942
554
438
662
773
60
283
83
2
243
66
521
68
268
29
298
382
637
840
856
322
147
227
355
463
368
22
55
444
768
993
9
645
29
399
371
55
673
566
938
261
218
919
812
504
843
361
339
533
316
487
22
113
157
49
399
225
600
689
433
499
625
428
535
784
708
431
196
652
841
931
871
487
522
399
182
285
893
570
411
23
297
440
579
714
542
214
665
373
174
226
724
880
793
795
687
936
463
253
170
538
588
211
214
930
264
595
788
44
615
216
8
984
203
423
109
907
937
365
615
670
700
564
433
342
65
441
53
423
743
899
0
84
454
872
722
624
488
59
696
496
888
731
272
990
795
636
518
741
338
272
802
713
752
894
807
76
530
986
163
672
1
566
181
960
787
665
623
922
938
593
609
987
761
495
527
723
175
817
158
369
606
595
928
147
514
236
198
472
502
434
634
727
938
968
923
54
354
257
793
688
827
371
392
133
659
94
88
142
343
500
394
486
457
598
167
82
153
443
909
908
24
413
123
565
284
40
646
524
410
114
956
619
285
361
120
686
45
22
340
504
33
410
38
988
96
524
33
148
238
666
368
126
799
897
575
271
17
398
422
845
550
1
197
617
90
970
585
130
884
573
233
60
205
187
362
733
223
344
603
274
660
389
532
65
478
369
750
778
268
403
588
226
189
476
54
148
759
153
45
594
748
426
994
699
842
367
194
947
914
815
583
675
874
63
377
681
147
140
866
193
840
861
733
858
777
978
690
288
934
330
629
547
130
809
990
371
127
437
514
897
861
548
8
871
725
23
158
673
546
802
832
72
120
499
313
789
747
741
168
834
47
697
791
556
737
789
551
249
73
283
812
599
528
866
821
343
133
646
382
504
83
837
458
283
916
460
603
736
144
596
771
281
864
151
953
228
767
17
160
650
100
964
181
756
337
43
944
266
648
453
122
616
883
84
597
623
819
790
807
461
266
604
71
758
989
292
283
888
468
174
794
248
845
434
368
796
297
575
297
180
25
221
65
93
944
900
386
367
741
721
311
205
851
227
860
828
687
206
765
768
700
533
671
908
917
855
668
895
475
777
598
635
853
656
735
652
894
23
37
625
846
509
620
9
574
836
369
394
616
329
2
57
347
992
113
735
719
707
517
314
366
907
99
523
851
249
490
22
448
165
199
10
430
210
746
858
37
340
169
385
453
615
506
134
350
959
149
140
399
189
702
350
437
908
439
194
685
553
399
951
75
875
313
40
820
446
294
20
991
54
498
582
947
181
555
303
211
213
779
739
448
94
718
772
773
686
320
313
539
699
333
499
123
550
387
3
274
832
262
361
947
2
902
156
882
221
911
518
553
726
105
419
564
5
838
92
31
633
867
160
8
501
468
53
648
142
424
300
214
884
586
602
340
343
511
243
732
44
85
519
707
651
714
904
510
223
907
373
762
794
554
705
155
301
45
988
371
752
64
425
705
745
848
579
401
352
161
115
361
791
273
386
573
701
730
616
256
517
992
96
110
917
178
920
65
141
462
426
810
997
437
72
84
507
93
414
856
421
917
700
188
632
473
361
252
826
303
610
608
79
473
527
847
556
214
700
458
547
840
358
632
559
169
1
816
419
279
489
887
929
350
160
606
915
788
704
355
210
616
449
619
558
90
41
386
43
966
879
427
592
936
472
502
925
634
277
96
282
905
224
371
115
900
534
377
306
154
399
848
519
921
814
609
264
772
588
104
356
618
308
724
870
644
605
933
711
749
442
101
762
699
716
902
103
118
49
424
90
578
425
21
115
896
857
893
747
190
184
85
901
24
534
16
843
880
349
908
904
556
31
968
573
86
974
493
803
279
644
580
966
508
819
360
663
189
326
858
998
129
547
49
764
835
626
597
651
234
508
427
986
880
634
288
853
519
182
107
621
608
763
980
934
134
822
773
306
307
746
656
394
663
629
233
995
398
364
750
24
985
991
497
561
253
330
237
960
138
889
871
5
161
274
130
280
936
956
957
690
969
169
673
996
892
564
652
790
74
552
525
346
710
5
412
844
627
293
190
148
72
142
331
168
94
53
988
772
356
606
556
203
215
947
663
544
547
472
874
637
829
751
901
726
943
799
179
290
135
353
794
64
101
401
931
78
220
390
666
254
359
461
203
763
439
680
257
511
513
15
373
163
71
102
996
374
145
554
315
51
816
663
267
578
960
856
119
708
500
972
502
419
135
835
146
330
511
518
301
41
676
74
54
582
508
93
431
547
841
774
603
172
138
114
546
602
229
192
477
928
872
995
126
476
255
101
310
662
495
324
691
18
285
636
737
29
212
934
499
455
443
208
480
542
576
534
128
553
929
692
545
324
689
996
359
65
99
423
812
755
990
42
806
756
498
779
639
557
767
413
222
962
540
539
409
708
737
697
273
940
15
376
254
503
22
928
686
395
760
541
480
913
457
655
560
983
158
237
47
216
136
204
26
609
273
676
992
577
8
693
755
920
363
413
454
8
250
249
695
958
410
527
163
584
364
371
737
497
610
663
644
431
98
8
959
470
189
74
198
501
217
184
349
494
99
497
542
266
536
363
183
538
501
950
35
55
434
102
785
66
815
357
816
174
599
807
398
773
557
789
407
321
699
2
155
696
218
208
343
297
322
267
647
761
570
49
952
685
912
851
602
760
334
681
522
964
127
385
327
831
72
119
577
789
983
238
874
20
170
402
13
753
379
150
663
741
697
783
501
642
483
576
225
184
367
140
310
104
700
543
198
791
323
353
360
754
867
111
218
266
903
942
682
148
486
234
110
349
538
935
847
502
34
831
584
639
205
143
84
513
421
65
309
287
552
729
571
95
93
205
796
63
474
814
754
521
682
921
331
415
468
785
186
30
323
85
760
262
771
592
406
592
690
747
828
749
360
931
326
384
454
361
258
807
970
238
294
472
659
124
886
245
219
142
461
505
267
824
763
559
830
28
273
431
618
102
778
24
373
70
744
959
469
881
616
193
546
38
841
604
577
876
206
876
579
846
771
958
461
930
234
791
671
652
57
76
677
47
626
430
804
134
96
501
674
592
96
496
784
829
759
56
763
858
335
198
89
402
319
620
525
182
277
708
353
113
595
615
583
254
71
41
861
227
449
525
449
398
874
714
540
496
997
629
842
362
890
87
83
426
154
547
824
221
498
670
733
64
891
300
338
101
581
13
997
346
612
855
250
575
702
903
892
338
619
976
700
180
362
472
178
10
607
329
719
753
693
833
220
889
884
883
848
806
464
848
971
322
100
767
730
725
353
906
159
271
532
672
673
464
975
458
373
237
4
944
495
671
435
147
87
259
692
843
344
938
842
446
694
206
868
568
580
834
729
241
800
661
695
191
112
576
575
673
190
909
989
381
771
522
334
522
465
155
784
322
711
564
517
386
702
860
944
807
311
890
561
947
991
807
441
185
228
712
459
996
802
836
503
116
706
711
932
537
156
559
808
119
723
608
389
697
348
684
820
825
412
617
317
876
421
844
419
786
862
388
192
871
983
555
248
762
261
520
811
887
106
409
391
817
179
632
282
544
603
373
759
879
207
573
867
470
408
387
66
933
169
859
292
70
214
504
999
284
101
535
569
638
644
39
29
829
186
375
302
630
555
775
975
391
617
882
511
578
490
126
269
661
589
949
5
253
919
783
759
816
888
77
658
302
365
263
578
188
406
241
677
82
527
957
637
772
293
767
990
211
368
378
497
312
977
879
307
277
66
455
936
563
409
920
120
521
860
298
299
67
954
132
336
683
241
286
95
377
620
696
872
61
347
439
141
165
765
89
274
632
74
304
132
858
767
487
95
910
180
803
603
266
721
149
119
914
633
133
532
612
189
720
741
617
964
761
644
967
382
93
327
342
8
490
364
402
909
170
90
438
316
312
672
69
993
410
375
808
879
203
692
724
860
98
438
53
409
172
371
299
561
236
317
108
770
811
306
604
859
423
482
706
300
914
131
647
444
555
266
220
1
156
894
75
975
790
396
621
588
228
871
743
207
474
891
155
874
185
268
549
211
695
838
964
44
840
252
554
885
587
866
147
954
906
792
25
860
752
213
198
837
737
222
561
385
46
75
162
658
978
815
743
534
667
905
942
282
662
794
736
666
217
388
655
266
380
728
478
460
772
644
253
227
603
86
712
756
662
183
388
559
534
178
718
638
410
629
654
347
728
222
509
260
75
804
813
927
171
847
713
117
404
655
22
324
357
72
229
918
469
365
246
802
915
266
904
638
330
226
25
713
823
266
542
286
411
52
694
468
429
276
86
193
843
466
718
715
249
551
981
833
127
862
58
858
534
304
849
250
891
378
442
901
570
222
283
558
127
513
553
622
926
354
388
750
520
375
659
203
362
250
340
883
436
267
611
498
903
138
315
107
735
453
528
921
962
159
17
652
542
466
743
454
758
290
758
501
278
165
949
389
943
335
118
531
453
988
872
697
923
847
272
329
746
468
700
502
6
211
127
787
634
494
605
209
252
269
382
222
547
277
515
25
826
299
675
282
901
37
226
241
634
119
691
173
510
966
148
928
875
56
616
848
159
357
957
199
24
936
889
420
672
922
36
396
979
184
650
652
993
535
845
713
338
147
414
321
201
161
354
428
121
216
629
411
998
717
283
916
70
759
54
521
284
609
668
515
154
775
495
177
43
260
739
268
816
120
956
69
52
691
719
996
390
727
124
416
952
628
455
715
157
911
872
585
143
586
844
756
95
324
399
191
926
682
902
978
298
942
483
266
380
63
760
220
39
209
821
535
497
433
726
566
734
495
455
459
727
818
758
250
367
110
770
686
900
685
193
275
697
503
155
204
182
942
739
126
37
733
150
50
916
0
748
196
75
568
967
372
145
896
629
753
492
111
525
576
132
750
838
449
647
755
871
304
893
71
365
191
60
509
421
19
261
0
616
721
815
807
55
116
808
24
564
378
170
174
414
926
193
834
345
905
966
527
567
331
230
546
124
135
167
224
205
710
167
751
891
116
664
368
51
52
74
791
811
930
425
888
93
981
534
301
58
942
143
371
888
2
387
271
468
310
660
503
530
221
205
977
350
64
845
339
808
317
191
948
299
25
225
120
109
454
9
857
805
590
407
390
606
92
973
965
793
804
453
293
469
693
423
892
730
370
903
572
754
62
285
19
42
841
239
166
682
956
287
222
891
557
917
410
108
38
456
944
96
650
162
313
827
550
406
586
839
92
506
140
986
934
383
977
786
384
192
290
416
645
153
45
168
786
913
209
116
774
623
214
840
991
384
607
642
322
528
327
661
177
904
787
704
79
204
541
714
129
548
884
915
771
794
251
946
489
549
602
876
28
555
994
726
309
303
11
871
612
534
660
554
81
68
264
69
119
437
345
463
976
353
226
975
183
44
427
926
398
633
2
389
248
80
328
813
590
516
503
497
394
527
517
529
556
594
89
943
45
818
646
794
490
770
348
270
708
448
368
581
551
684
635
770
959
592
381
95
508
839
570
788
319
127
746
723
4
240
508
400
879
536
23
643
977
591
15
101
871
8
184
196
502
996
803
948
198
98
973
628
356
436
264
719
43
826
222
245
97
530
824
317
672
202
434
657
363
208
535
376
802
694
910
93
282
7
454
112
144
147
706
591
828
473
662
683
221
980
613
575
639
104
584
146
976
644
25
622
465
403
626
385
590
387
249
563
816
814
249
568
144
914
915
803
769
66
108
619
75
138
803
36
229
179
254
384
409
971
148
391
76
856
653
668
435
362
947
76
484
732
280
331
319
439
855
308
986
289
210
799
379
37
721
460
832
499
809
329
133
705
655
766
681
604
276
535
872
204
642
595
507
639
846
711
36
74
192
314
666
89
841
778
919
989
503
127
266
799
102
577
401
329
137
468
981
491
527
686
701
353
947
263
908
150
760
480
155
972
600
303
909
203
106
87
778
814
761
854
845
310
605
410
806
852
934
953
865
370
979
983
294
727
806
12
959
421
892
293
341
873
577
279
13
828
778
987
969
65
526
413
62
195
409
17
55
461
130
812
667
177
308
320
229
65
800
637
137
384
297
741
821
357
20
616
365
770
231
65
960
262
339
654
410
364
213
791
38
317
535
284
756
96
759
397
666
624
682
47
252
749
36
344
430
427
208
216
93
491
557
704
312
233
135
462
446
80
993
279
272
102
118
853
860
341
738
384
450
403
368
972
121
853
39
163
956
10
510
459
334
894
129
219
850
508
96
760
907
52
112
891
634
252
960
516
752
230
476
606
541
960
189
4
258
287
622
635
143
934
977
868
16
352
152
919
405
16
684
442
959
626
497
753
750
542
904
404
899
601
64
194
39
39
462
36
478
889
980
311
148
270
149
711
984
849
634
843
940
700
66
147
856
769
780
66
784
277
848
405
527
680
556
810
131
972
770
176
437
597
753
932
764
888
549
751
907
645
652
699
263
516
855
945
769
322
658
198
310
678
601
945
6
409
611
609
924
400
258
495
897
371
999
781
793
261
53
395
387
818
815
406
507
395
561
162
663
192
834
950
816
738
543
334
171
302
570
895
461
318
274
544
109
972
440
286
847
408
231
949
487
325
892
884
224
579
195
829
38
914
851
138
536
414
12
41
731
345
985
843
878
599
957
299
517
834
889
921
414
993
514
753
572
191
660
151
927
88
886
849
120
746
7
359
530
961
962
839
54
515
851
503
795
412
181
976
890
10
346
661
522
335
804
417
307
565
728
858
355
872
969
28
304
554
559
835
725
366
338
492
462
375
931
656
318
544
935
642
254
451
533
263
866
435
354
457
15
838
615
154
661
345
917
669
320
57
164
85
632
769
123
894
401
645
64
438
802
45
366
60
899
98
819
26
828
745
60
720
582
219
542
901
189
214
279
619
35
199
109
317
480
439
902
40
549
395
664
169
124
562
817
449
780
904
483
39
530
582
272
321
921
615
248
423
381
875
852
742
497
235
616
403
125
80
840
106
22
143
768
856
636
583
777
76
372
688
32
419
647
231
773
850
376
226
778
560
566
561
128
741
656
547
35
133
180
767
73
690
544
53
487
969
883
934
758
426
17
141
402
959
827
41
963
512
82
704
361
161
731
535
788
13
887
56
220
424
303
509
328
615
617
532
100
78
874
509
983
687
17
839
976
409
776
795
956
596
198
335
719
685
424
661
416
44
626
589
33
295
853
373
374
595
459
216
672
155
249
621
818
511
408
79
801
991
471
855
261
35
523
474
650
437
730
498
311
761
427
555
162
584
267
698
17
260
812
456
254
489
857
95
580
31
16
382
70
582
128
74
734
941
62
175
460
854
374
397
265
42
392
534
400
586
575
639
935
113
304
398
852
326
58
562
847
413
597
49
894
308
457
609
946
96
853
700
688
432
759
147
860
842
71
288
964
845
29
193
578
800
731
160
471
974
753
540
233
385
360
943
110
744
805
810
621
209
64
883
941
951
133
935
535
522
337
443
439
246
937
540
102
254
92
587
508
686
719
647
168
250
575
224
551
328
844
144
450
43
129
573
688
532
664
890
737
856
970
575
570
535
973
858
826
560
993
524
749
741
685
98
202
572
744
85
669
996
154
490
74
637
649
414
925
165
182
509
432
455
357
853
682
890
694
143
173
401
688
756
160
747
917
814
385
738
943
500
983
191
680
562
946
636
374
316
823
534
462
87
905
338
733
501
432
534
454
502
279
827
421
134
295
743
925
751
950
356
291
23
399
703
121
573
520
266
681
542
234
406
850
295
257
816
810
463
195
32
745
770
875
496
286
154
189
882
65
948
304
165
916
449
349
543
977
515
656
592
741
389
873
199
414
281
710
991
683
232
334
406
230
867
295
93
689
501
223
38
517
776
707
901
899
417
760
716
32
241
637
297
580
266
59
905
91
518
496
601
823
826
570
631
113
369
98
737
455
576
931
577
606
233
606
55
64
68
881
637
870
426
795
567
859
466
955
88
810
967
576
419
197
364
982
489
544
986
598
29
584
206
737
589
215
511
159
473
492
832
777
352
858
146
497
734
813
16
483
749
76
91
162
227
38
359
803
989
952
65
253
663
156
303
51
176
488
596
865
896
542
333
376
663
731
950
515
419
132
716
224
325
286
352
189
157
46
157
44
27
661
885
467
995
862
763
538
238
414
319
366
224
143
409
324
965
819
681
689
68
532
679
534
207
95
78
91
398
946
849
101
612
312
628
64
845
825
581
203
893
268
611
795
730
458
324
224
42
261
957
795
708
157
188
295
772
961
541
780
685
564
483
318
532
691
999
962
377
917
791
76
239
444
149
330
205
635
706
692
973
809
394
749
744
391
734
301
522
496
859
116
825
877
898
714
535
177
42
572
740
90
173
81
655
407
59
437
846
656
109
851
82
724
192
857
806
715
322
675
147
279
638
588
487
987
307
688
706
190
199
101
428
342
865
225
689
630
622
135
813
803
619
654
454
342
816
322
701
41
28
0
493
481
774
94
673
143
376
40
787
998
608
907
220
734
518
104
562
817
780
394
897
915
141
684
550
209
682
676
891
935
895
375
740
225
290
747
32
166
780
960
820
35
406
305
958
376
194
96
52
305
942
789
691
991
271
761
658
187
476
997
946
765
179
10
903
117
680
224
75
942
416
764
669
548
589
673
100
269
393
850
223
714
834
69
997
738
708
270
672
993
155
344
360
454
180
329
944
135
511
252
397
846
926
56
905
504
870
163
340
989
549
343
855
477
823
339
83
933
31
895
216
604
269
759
153
513
581
589
808
402
209
315
949
308
509
834
630
702
350
639
345
365
385
477
19
475
403
684
321
915
109
789
925
803
616
342
318
445
251
769
415
651
752
93
624
882
5
548
658
406
1
39
536
583
928
923
907
837
248
354
320
150
995
789
979
248
54
91
33
184
173
603
70
709
539
868
656
744
689
645
940
881
803
94
608
445
3
361
124
435
406
522
13
708
468
715
213
172
716
299
167
583
691
101
450
56
75
849
66
208
936
396
409
937
851
658
107
887
331
556
479
301
153
407
722
796
739
753
53
716
433
162
390
656
975
378
482
871
417
139
131
514
680
291
615
788
784
652
636
114
918
117
332
555
832
29
223
203
183
736
657
380
183
730
882
757
96
359
690
865
259
463
681
469
485
955
691
717
266
651
25
954
875
781
444
465
959
109
288
740
80
800
334
821
630
257
204
13
204
282
723
576
407
901
270
711
51
87
354
942
532
43
791
886
120
427
135
215
58
667
761
818
696
931
29
29
275
570
457
731
440
103
827
815
569
161
328
563
284
656
53
303
666
283
248
362
761
368
85
324
403
223
638
142
987
464
143
54
161
528
497
563
456
923
265
683
177
671
749
330
191
582
868
28
811
539
334
85
747
774
408
46
221
655
113
178
470
618
279
190
1
58
48
33
673
291
134
259
123
471
610
469
168
703
318
461
569
269
913
62
121
621
362
274
685
998
440
488
863
134
338
415
380
342
630
441
129
445
947
699
973
713
707
391
775
39
250
646
493
304
471
701
306
921
950
273
658
705
215
905
695
284
420
726
275
330
730
781
776
352
817
692
375
265
751
295
82
753
329
236
731
946
124
584
295
339
814
753
549
85
808
376
844
412
945
496
324
614
953
66
609
240
327
250
963
644
201
253
507
573
171
697
957
913
33
939
657
336
721
405
766
282
521
56
690
563
800
404
448
135
508
926
673
922
676
684
846
783
811
555
132
273
917
151
41
763
889
589
450
376
461
744
221
733
577
840
49
794
69
408
847
757
437
6
18
395
528
50
594
452
899
248
423
779
926
293
102
821
250
816
472
342
496
636
703
549
779
210
666
308
178
652
523
416
592
695
826
195
595
261
901
203
543
879
575
541
816
441
880
709
514
281
177
176
755
737
597
626
441
757
333
106
938
380
378
71
329
801
71
277
944
617
318
356
424
555
423
2
183
775
948
203
462
184
670
238
868
869
785
725
7
746
429
199
450
166
330
758
624
239
873
626
434
215
974
148
189
501
602
916
787
734
806
753
107
181
189
682
189
284
962
477
215
726
555
565
643
216
120
665
277
293
126
826
747
912
407
945
761
713
736
408
351
103
906
265
412
869
118
891
416
124
243
228
438
515
937
505
708
586
357
257
769
125
366
232
717
203
111
820
553
18
871
53
245
432
714
584
664
667
405
683
187
592
720
425
768
231
472
385
349
106
611
914
780
904
704
733
424
387
656
489
47
233
59
450
323
594
101
977
358
310
458
730
484
936
777
464
283
921
429
253
888
227
280
132
76
546
751
59
68
13
178
364
857
398
422
696
913
786
467
95
132
452
684
121
586
668
232
203
884
833
723
463
33
849
465
49
719
675
835
703
487
609
602
912
841
670
437
460
639
206
761
16
987
215
854
535
759
845
800
22
76
312
481
39
152
290
868
999
814
920
3
356
651
120
477
401
962
244
9
533
781
891
391
198
350
188
511
243
415
410
785
845
361
701
382
56
484
471
111
457
85
920
570
615
767
240
881
671
35
923
760
664
380
250
272
765
710
686
969
334
704
951
500
148
490
16
916
176
542
399
471
714
793
995
190
130
439
477
709
586
797
652
240
419
203
683
991
391
964
44
961
347
116
671
428
499
12
601
377
173
786
248
936
49
29
74
173
50
664
717
248
149
635
34
189
741
736
798
5
127
810
425
14
956
509
456
845
279
809
267
411
12
967
298
20
819
64
95
365
935
521
697
441
625
686
936
763
387
592
373
262
7
76
412
727
632
918
222
327
58
128
7
378
199
419
601
817
261
825
870
666
656
358
927
129
41
519
648
158
269
203
894
243
282
109
351
289
461
228
941
594
784
975
299
652
615
33
935
401
624
236
52
201
611
985
123
669
736
10
231
511
163
724
813
728
719
167
337
968
236
26
680
508
244
424
669
894
313
348
995
648
552
624
390
250
560
310
211
970
388
257
231
20
933
721
107
599
917
704
248
138
39
385
90
608
859
321
494
3
616
722
405
645
928
962
980
896
196
312
208
241
119
150
525
94
517
676
359
723
188
743
102
183
525
206
720
982
569
679
167
699
25
802
432
294
138
815
690
527
115
860
932
852
712
738
163
822
863
99
997
992
554
929
192
411
871
571
687
441
500
218
962
995
325
636
2
129
105
643
600
808
651
959
79
700
285
145
382
634
46
897
357
483
446
121
197
563
185
665
464
103
100
109
568
169
845
582
495
91
127
424
665
564
267
115
418
709
151
404
242
29
683
763
105
73
582
90
379
955
378
464
94
335
205
150
236
49
941
567
848
558
372
282
482
524
905
222
789
365
68
872
841
665
546
187
998
58
283
51
566
393
779
230
614
287
316
992
262
422
258
672
771
582
551
678
455
63
141
635
392
92
459
704
707
338
197
914
833
487
40
95
936
211
899
297
644
675
180
58
94
36
698
58
201
985
18
470
599
610
34
707
473
978
85
502
505
570
702
143
559
374
511
983
943
489
561
358
575
287
268
806
640
957
856
912
686
266
571
980
283
35
504
91
812
990
485
5
839
456
806
326
139
833
456
392
716
812
823
7
644
499
682
379
693
446
961
838
25
608
30
306
266
815
48
129
98
517
759
131
330
95
596
536
487
501
255
712
751
869
7
822
849
681
712
177
528
46
279
513
78
743
428
513
828
567
644
145
702
11
387
227
62
4
206
229
230
836
289
54
447
461
893
650
127
111
35
771
23
497
109
438
299
750
962
995
427
670
295
874
555
1
397
558
635
986
685
180
758
587
492
59
446
382
187
333
195
426
133
64
484
591
669
40
566
10
679
160
881
290
928
371
299
838
710
781
105
348
83
723
441
132
745
724
2
592
353
704
773
53
555
261
918
210
900
76
667
708
528
376
819
986
931
438
976
275
603
643
88
461
619
82
616
643
188
640
114
979
838
107
796
246
299
176
775
419
202
362
955
616
330
191
633
642
706
427
142
675
194
311
280
299
854
801
428
682
867
830
11
513
353
94
65
312
969
840
269
273
505
916
816
748
180
334
533
230
238
845
716
127
955
148
227
218
805
700
504
323
58
620
790
345
933
87
243
788
341
588
423
463
407
42
675
789
297
585
593
425
351
645
791
134
998
931
840
327
77
77
875
12
631
704
618
447
171
866
991
432
410
990
21
515
430
362
464
427
695
548
663
765
282
807
858
64
869
284
91
443
908
711
793
934
960
602
699
279
43
186
558
413
153
874
233
622
473
142
828
760
518
740
628
900
703
356
353
722
108
381
997
231
39
929
44
652
844
289
439
192
881
358
718
823
970
225
524
127
334
312
308
889
146
615
568
592
105
567
752
83
450
919
852
804
603
331
574
825
349
25
158
932
966
461
655
126
746
972
810
633
619
922
541
919
318
229
705
297
615
822
520
663
991
779
344
156
122
128
548
959
973
290
205
553
480
953
566
307
277
196
968
111
23
698
277
642
841
445
499
438
426
309
781
552
428
723
898
829
945
243
200
691
868
184
550
108
188
432
418
996
513
18
443
351
475
628
463
851
783
622
876
89
294
747
836
978
822
249
467
581
557
824
528
300
713
779
106
61
15
803
12
261
50
504
322
481
655
876
602
164
262
329
792
888
463
792
891
188
141
176
118
366
619
929
7
648
982
969
766
163
342
463
742
104
45
946
607
424
256
417
979
492
819
403
251
662
837
216
776
657
244
150
516
120
864
567
290
784
68
229
176
992
436
229
736
518
696
566
446
856
473
490
745
261
799
993
222
473
526
830
428
293
958
177
297
377
612
141
908
37
840
677
711
997
990
413
202
607
826
589
719
114
134
914
645
993
593
161
478
194
668
872
611
121
738
942
734
663
108
289
174
321
576
134
177
224
741
306
177
347
593
335
428
351
564
331
464
736
991
405
569
382
885
645
551
318
929
97
478
99
225
900
262
805
839
964
270
9
915
894
172
316
194
496
808
168
199
439
54
184
566
67
840
953
986
886
444
163
364
327
396
627
210
36
867
445
137
876
442
640
986
457
145
290
956
981
349
149
238
856
934
895
699
741
421
33
99
408
246
287
21
697
702
89
170
379
732
389
3
955
118
298
649
805
923
670
54
327
591
434
596
765
549
803
302
850
40
493
285
948
697
585
327
326
487
196
566
613
203
334
455
244
985
243
348
601
818
309
314
925
97
804
988
315
482
961
211
808
999
334
27
495
315
426
278
31
513
478
850
282
25
530
480
224
826
154
891
897
331
2
485
553
630
637
685
895
231
786
600
202
106
811
777
409
153
845
90
609
165
213
150
498
847
873
635
607
176
445
963
749
564
554
925
308
386
378
380
776
685
413
192
624
955
127
308
912
799
789
478
219
948
902
518
691
812
8
120
526
303
485
338
611
698
209
287
993
12
47
23
511
780
275
689
320
482
889
606
465
374
22
853
927
642
636
807
628
211
836
170
939
227
537
730
647
360
112
286
446
945
356
210
693
291
477
536
171
350
527
602
660
291
10
322
356
299
263
29
84
261
181
868
202
254
973
7
33
141
368
457
490
804
301
714
696
137
780
893
594
892
549
928
273
812
182
209
902
688
580
407
876
418
794
270
492
626
283
179
473
116
616
13
349
863
723
682
445
735
385
226
717
977
879
551
790
300
434
428
224
577
777
928
937
674
389
857
859
243
574
361
401
600
997
799
295
965
837
400
56
842
636
914
611
923
716
905
75
130
858
725
442
423
634
903
349
617
983
636
58
885
556
924
931
604
275
628
337
834
492
906
728
825
253
511
77
880
134
929
140
451
876
314
170
537
902
874
126
230
174
445
874
465
348
482
336
892
198
838
377
137
481
186
19
738
818
365
959
313
782
596
43
930
144
350
381
127
734
194
519
632
527
892
365
930
906
898
470
86
585
673
363
290
184
167
418
214
993
158
797
688
731
297
995
717
697
579
883
636
346
91
832
40
928
968
763
709
236
61
796
259
967
444
113
508
349
491
331
8
300
922
855
817
49
139
616
996
235
995
152
317
780
149
440
629
929
658
435
924
521
651
728
845
161
656
435
537
662
550
143
871
351
306
542
467
275
754
178
941
137
414
99
342
910
573
371
906
515
72
244
863
745
233
0
613
227
845
778
415
9
11
622
369
84
57
805
619
759
610
0
175
61
773
621
645
66
162
760
76
912
151
720
650
748
283
644
772
48
89
294
235
515
173
18
227
420
361
649
918
606
729
704
11
531
181
157
926
192
687
546
140
240
235
599
676
815
396
645
725
23
694
898
72
556
44
693
774
32
91
417
230
258
749
524
320
927
36
711
932
380
916
587
987
744
606
58
497
4
210
526
50
57
134
710
158
846
712
635
701
590
256
396
839
852
231
796
669
624
270
552
912
380
860
900
917
612
746
187
207
307
585
436
185
224
577
570
385
812
173
862
719
680
516
81
437
792
461
604
139
278
233
50
89
973
274
768
44
703
580
172
477
424
355
442
974
246
947
242
757
499
168
993
953
467
490
878
420
306
768
959
971
620
412
856
115
805
977
867
589
252
858
605
211
935
539
237
284
824
327
636
946
390
63
116
520
145
33
362
812
84
396
114
211
30
519
949
891
971
18
878
417
879
296
741
852
737
407
728
177
346
496
11
472
1
471
789
145
234
280
84
825
700
67
760
876
502
349
776
672
8
659
159
402
2
854
17
742
327
400
716
973
138
809
419
796
527
66
3
189
347
874
665
757
425
498
982
297
562
742
955
972
410
866
166
651
654
94
679
957
884
683
657
917
32
610
575
931
765
96
203
333
215
244
618
945
762
661
856
715
325
326
880
217
368
541
484
830
790
993
400
639
963
489
470
126
41
840
833
381
732
676
565
75
848
665
700
109
734
485
302
600
473
552
953
164
924
893
111
697
894
130
82
712
668
119
132
896
754
338
553
810
201
157
563
865
979
749
945
491
680
648
86
686
2
686
774
221
755
564
976
694
73
129
660
648
129
843
87
415
424
815
217
188
269
818
792
502
79
761
847
364
815
699
22
148
399
535
896
811
422
609
610
228
287
208
775
174
473
50
238
393
215
222
445
508
432
530
491
373
621
651
103
537
201
364
304
740
394
482
834
519
776
893
889
962
109
194
575
804
520
691
887
599
886
938
763
820
211
352
132
919
411
808
770
172
741
90
206
607
880
80
658
824
758
375
738
494
470
607
516
260
751
900
417
921
788
658
170
305
0
723
639
611
905
338
585
322
925
492
580
626
640
34
631
980
288
645
626
250
299
975
73
868
439
600
730
952
860
263
841
73
703
392
989
215
759
199
393
700
289
272
557
578
904
69
131
972
678
415
111
340
42
801
512
611
770
774
298
827
72
683
441
641
292
926
407
296
872
326
291
118
973
750
806
819
92
446
327
162
38
901
964
364
735
116
255
356
498
917
96
397
654
383
387
186
876
482
609
648
89
602
742
824
477
608
878
643
52
521
60
887
361
279
560
364
972
59
409
425
407
21
214
51
298
117
407
582
89
365
260
288
478
386
172
601
39
308
414
196
979
920
294
196
678
291
875
948
419
915
417
204
126
841
448
315
105
843
455
159
862
905
664
453
126
847
348
576
71
779
355
842
7
942
722
223
8
427
124
343
970
630
888
510
871
962
502
49
619
630
153
868
640
507
134
379
150
107
694
136
570
513
432
798
634
703
105
77
704
205
126
833
310
926
743
621
568
968
91
969
295
955
915
901
248
869
983
223
43
318
99
632
295
939
9
539
50
808
759
996
702
312
593
230
827
300
352
266
415
223
42
556
359
770
374
263
646
611
864
764
310
970
782
354
146
739
407
196
739
673
411
274
376
370
281
695
81
667
179
165
108
239
515
659
786
129
614
624
556
351
632
257
790
341
628
351
31
121
117
360
732
692
979
723
438
482
404
237
650
955
777
543
63
283
191
912
59
548
94
130
704
430
575
164
657
504
405
303
835
377
55
741
102
224
805
53
295
919
349
471
290
573
677
618
470
421
295
688
847
921
729
805
641
697
595
752
669
246
39
465
599
314
293
861
452
113
984
137
485
893
807
775
727
887
476
665
26
148
405
946
592
471
747
204
583
596
342
160
825
240
773
67
956
645
727
673
105
801
635
329
486
844
207
415
342
139
998
420
457
814
696
818
663
396
253
3
38
574
697
937
216
465
483
803
629
678
111
777
313
805
501
516
973
669
627
707
994
557
321
924
488
578
807
594
203
896
353
229
682
292
449
439
286
787
679
696
101
464
478
940
547
171
467
461
296
328
761
630
509
196
963
784
22
464
355
702
854
768
250
45
97
11
481
925
287
708
542
165
368
885
741
670
378
220
984
351
901
239
894
792
785
317
133
270
724
622
812
407
760
270
693
927
939
739
921
251
913
795
38
648
120
952
474
826
215
667
516
595
948
105
237
954
718
82
502
557
731
517
855
698
881
152
195
391
168
256
235
820
914
432
847
65
506
885
462
259
75
867
265
46
554
343
816
192
779
236
321
495
329
357
558
249
298
306
402
213
589
62
680
366
156
322
250
708
771
122
373
731
2
9
506
138
269
323
512
810
5
546
840
839
647
108
160
603
533
528
215
575
253
19
57
953
893
940
967
380
413
448
567
102
586
957
924
859
697
806
812
575
721
28
751
350
713
35
869
479
989
957
388
51
543
995
641
714
119
222
398
722
387
180
270
783
188
64
278
42
103
113
369
934
1
946
394
870
946
925
440
553
916
960
126
359
208
555
514
366
732
809
374
864
36
301
960
882
977
35
502
587
287
142
819
292
176
696
486
972
609
303
740
945
389
408
348
466
293
841
194
621
749
199
270
900
571
707
110
576
743
30
918
2
57
269
544
387
486
156
549
43
909
677
677
609
658
683
504
790
89
797
996
97
784
323
448
409
461
143
378
935
68
361
747
609
8
78
512
837
722
819
420
561
704
574
639
988
639
655
876
297
767
861
253
119
152
599
755
23
456
525
330
666
449
512
514
946
315
375
310
725
153
890
769
201
733
546
237
112
772
836
210
699
239
884
644
581
119
210
272
731
634
389
992
761
888
68
761
399
500
140
103
899
117
497
424
570
825
163
612
460
222
465
905
302
793
979
697
853
598
580
136
702
548
85
760
473
343
152
160
104
153
459
191
865
565
115
417
981
151
76
581
677
98
534
218
373
198
409
699
532
343
495
300
957
54
833
281
906
89
792
52
40
449
825
813
864
523
439
773
56
581
87
724
929
743
133
519
594
245
246
836
857
533
654
982
945
248
907
564
700
700
471
354
312
210
339
883
574
922
749
885
431
416
343
946
616
547
399
797
103
982
142
504
517
350
794
72
157
320
247
140
351
394
823
174
396
77
218
388
936
61
243
876
247
599
2
155
578
137
803
253
576
419
850
73
514
886
327
413
908
569
442
211
900
646
406
258
385
307
306
362
347
346
320
61
228
518
218
958
272
376
886
815
442
13
405
542
800
321
331
506
862
340
571
991
646
83
453
707
828
621
426
129
868
699
361
920
848
599
518
459
617
194
363
977
753
521
553
279
238
999
927
890
663
314
220
619
304
768
518
641
346
675
888
25
300
108
744
531
974
856
139
940
533
331
206
57
866
660
262
765
310
734
473
386
431
875
666
443
684
40
970
187
210
555
35
597
350
940
749
287
953
410
335
519
790
257
512
692
816
620
980
547
927
521
698
972
916
868
687
580
597
142
661
612
411
502
91
510
987
690
228
909
729
287
721
985
411
801
993
632
620
512
329
460
891
764
85
597
530
591
789
630
625
65
800
443
748
6
408
71
514
665
108
494
94
321
354
674
489
432
892
671
73
857
421
469
162
263
869
439
459
444
271
196
232
77
679
902
856
220
262
800
668
823
62
939
153
597
108
415
269
446
924
864
98
704
801
69
232
619
793
450
283
607
900
220
24
83
40
855
706
297
983
464
209
551
51
832
102
832
555
518
336
704
315
664
174
154
534
792
298
676
526
970
193
860
944
693
384
939
839
85
870
838
51
724
241
697
293
731
374
411
156
910
102
934
225
766
780
454
71
649
697
812
644
813
441
353
98
147
921
179
391
92
319
646
18
474
165
283
153
503
782
62
191
537
773
891
245
22
278
981
519
877
729
522
938
370
867
984
807
397
68
887
38
264
768
865
212
328
163
215
949
119
652
498
297
900
719
445
592
173
563
307
181
66
356
334
857
294
400
851
441
947
161
863
835
846
558
258
686
832
782
603
460
367
981
476
632
348
780
147
893
848
333
816
552
742
844
154
299
482
62
834
155
388
168
684
973
799
258
221
975
368
649
662
502
321
510
686
32
207
16
221
553
747
819
392
71
321
952
865
12
608
230
402
226
575
916
11
221
256
568
810
238
996
709
265
333
468
96
485
388
91
928
698
889
800
6
523
700
119
649
396
722
600
707
162
31
130
191
581
154
870
645
634
343
35
101
257
490
941
954
803
760
745
743
950
646
969
670
14
260
969
478
78
976
348
428
730
217
834
695
449
69
263
696
169
426
420
326
607
866
501
363
356
414
333
990
941
518
708
141
557
836
69
947
830
382
218
840
227
669
647
684
280
427
601
830
44
887
361
528
593
151
193
33
678
775
121
677
612
625
975
215
433
713
933
458
21
363
848
522
690
193
543
450
645
912
32
459
315
276
83
386
88
653
247
215
350
279
746
880
936
940
350
233
501
462
136
236
799
270
885
580
631
561
941
678
302
670
13
225
649
295
877
308
458
920
324
975
943
739
463
716
232
655
464
64
250
223
390
248
417
457
453
614
258
814
864
573
858
965
295
194
350
134
898
991
218
689
286
690
884
83
775
558
459
583
416
130
308
211
98
872
273
343
868
99
697
287
172
105
577
185
252
255
366
712
472
5
513
889
432
566
190
137
659
981
778
173
96
515
912
657
21
704
961
765
298
977
418
894
573
658
293
482
65
265
541
278
5
404
206
824
588
773
972
585
171
279
693
85
468
398
318
643
71
926
937
627
761
948
6
886
656
965
838
254
179
420
202
417
429
820
336
498
235
502
651
190
229
83
569
851
238
304
409
18
149
987
318
346
73
558
228
689
52
975
32
215
190
40
601
79
327
571
647
248
631
235
730
442
440
236
854
885
555
107
833
27
588
459
104
752
744
451
136
224
268
450
626
557
899
982
489
380
247
518
89
181
446
887
173
782
773
361
588
134
333
166
67
524
196
903
613
62
576
570
656
998
406
827
993
936
841
845
160
945
108
964
608
445
751
444
575
538
206
934
501
280
328
715
615
881
498
490
885
948
538
821
311
443
706
241
157
593
131
334
803
804
518
271
246
773
475
326
367
3
89
716
886
750
541
496
253
554
118
205
3
33
542
493
903
988
244
702
246
311
685
119
733
2
526
442
227
2
662
114
222
4
976
150
781
417
75
220
486
658
832
150
191
660
797
652
102
790
453
17
866
738
761
732
794
50
562
229
809
3
719
777
776
689
172
467
277
806
67
811
164
354
236
878
316
574
495
353
626
671
283
818
671
651
135
816
221
685
582
344
268
247
280
766
595
172
285
914
140
748
426
966
860
317
367
27
540
777
830
738
793
77
767
757
4
33
788
581
343
509
351
601
535
421
628
339
645
508
959
324
129
472
271
459
676
538
830
479
394
950
359
41
49
894
59
804
761
898
385
707
722
438
545
749
14
206
869
654
866
567
378
63
246
924
793
248
882
334
432
11
578
918
929
568
892
699
464
555
854
691
250
750
689
306
999
433
285
611
294
803
31
633
552
102
985
956
68
624
972
623
334
131
114
201
121
753
784
646
377
725
654
544
639
128
438
493
537
615
99
95
698
433
877
560
722
363
317
373
165
977
929
50
797
953
796
950
208
581
258
338
391
272
254
447
606
906
145
819
770
858
588
727
407
369
844
290
634
397
589
13
698
977
155
502
211
396
343
746
718
920
860
129
83
338
143
729
757
199
932
977
500
527
24
165
877
357
182
659
748
896
335
897
925
62
484
744
522
805
742
202
970
904
328
118
726
917
858
588
79
651
151
170
135
776
89
987
918
850
412
689
266
947
775
687
997
485
355
752
918
866
55
836
439
914
68
829
123
373
326
15
203
117
9
915
559
968
857
833
765
498
414
248
258
74
145
896
939
432
843
40
652
867
210
570
998
774
400
786
98
222
50
313
64
991
651
364
630
350
125
661
815
789
121
636
12
792
363
843
908
616
865
113
134
686
890
751
146
915
480
938
508
962
170
798
373
110
100
588
946
524
165
192
97
225
726
348
745
988
215
221
836
235
443
640
957
622
871
741
570
479
744
7
579
158
827
72
390
474
684
65
996
614
647
604
502
53
913
496
381
112
829
240
9
446
546
515
642
904
933
397
834
439
33
463
178
538
605
183
465
211
982
494
949
215
74
938
439
850
314
737
911
178
281
565
240
520
899
502
215
467
82
602
417
33
913
269
555
768
762
9
245
404
23
315
313
553
599
502
555
312
746
754
739
859
81
627
475
987
605
286
686
621
78
198
333
543
16
926
53
64
999
207
842
41
595
469
398
758
465
871
48
405
481
515
667
614
108
566
145
620
198
64
120
875
923
639
559
877
481
506
867
582
443
900
575
558
296
890
939
636
653
353
776
405
323
333
723
448
211
510
196
536
690
4
525
61
201
768
18
843
80
592
329
3
882
151
627
940
574
368
551
722
21
43
549
906
181
416
672
190
226
77
652
943
946
868
109
642
425
51
565
162
179
13
347
786
606
31
680
159
136
279
401
655
621
890
16
244
931
508
778
486
454
408
305
603
449
300
710
531
932
142
470
449
817
455
446
735
559
892
651
137
14
732
202
234
634
543
911
445
457
608
603
227
255
116
108
138
238
37
293
550
493
488
578
673
81
56
77
557
297
210
743
894
983
233
762
87
390
487
408
396
204
169
401
209
146
850
700
237
558
901
402
273
174
256
67
356
757
731
526
523
638
633
101
720
360
491
617
273
249
312
385
816
511
393
410
733
13
363
652
532
967
595
540
459
10
182
695
694
392
829
32
123
131
734
596
705
751
68
413
873
620
84
361
519
379
497
982
761
234
738
155
937
995
1
790
687
377
488
28
634
823
693
834
407
737
682
519
299
266
823
762
701
262
718
707
688
878
390
308
873
612
721
169
210
653
237
650
502
415
934
760
947
813
878
221
914
738
729
749
896
272
497
805
546
813
797
606
541
662
566
135
338
784
658
916
808
168
219
409
980
166
931
511
861
901
744
936
948
882
79
616
145
597
212
826
352
764
380
831
197
899
160
144
939
707
723
76
506
515
204
510
153
49
200
777
994
868
738
934
976
766
645
852
411
724
491
738
421
453
383
406
452
754
675
175
157
351
930
180
230
672
861
807
200
443
216
368
35
717
449
193
622
773
127
247
580
173
436
767
188
467
792
274
445
858
291
13
495
24
139
30
60
750
618
713
769
802
452
825
992
979
210
164
110
422
71
371
810
284
7
988
177
928
353
408
810
434
814
229
381
639
871
265
901
988
265
971
400
820
574
74
682
131
498
191
696
810
437
835
494
583
4
188
885
760
540
47
293
389
222
690
611
527
923
586
959
311
583
226
911
668
845
868
203
324
302
17
591
70
327
308
565
369
509
690
958
852
209
365
815
134
418
413
789
93
871
629
399
700
631
336
79
360
634
188
988
395
150
750
816
922
889
778
586
329
195
800
619
896
891
426
333
563
991
371
841
669
157
114
108
27
354
711
763
468
271
571
720
978
344
792
51
103
480
29
712
741
422
640
65
895
754
576
19
522
733
360
598
719
867
418
61
64
573
532
113
575
530
8
395
952
755
522
517
419
603
315
487
617
618
779
769
549
184
168
757
275
805
247
663
115
378
876
173
488
887
406
288
822
438
28
33
337
262
8
594
537
682
722
591
218
8
585
301
726
461
788
976
567
670
509
879
425
773
866
422
26
664
709
352
669
811
365
452
920
152
481
141
771
839
915
94
554
432
543
510
277
489
148
100
381
525
485
712
902
699
564
560
762
505
259
606
74
71
501
893
53
982
928
561
467
796
568
903
184
196
259
457
822
204
544
711
682
641
770
926
12
696
436
638
455
86
239
241
6
309
664
911
769
64
610
189
331
545
755
946
51
237
642
349
492
794
623
382
617
456
197
978
558
425
969
146
353
190
616
843
249
312
762
595
705
227
9
770
320
988
16
188
138
281
931
93
963
287
966
744
840
186
414
906
975
236
329
507
85
843
623
428
963
966
325
135
93
513
964
335
808
400
36
30
653
773
373
271
677
20
766
730
52
187
826
947
390
341
741
871
630
638
233
484
993
748
616
705
335
637
752
465
341
33
371
626
18
207
936
569
938
765
300
293
665
621
239
861
533
952
998
634
862
757
558
949
579
247
337
692
277
400
216
831
582
585
657
160
691
437
957
826
81
720
26
817
979
820
389
97
207
582
66
659
22
452
496
168
983
562
811
977
286
235
821
788
605
869
387
938
756
770
56
761
448
97
513
350
612
223
94
93
566
245
802
547
497
914
101
442
416
623
708
122
515
392
790
924
766
538
576
821
691
422
378
120
294
583
377
765
275
594
833
202
287
444
19
50
632
259
511
966
957
581
268
18
261
983
33
933
994
69
718
391
446
752
74
912
644
113
489
239
502
823
445
120
660
164
774
502
258
252
512
574
154
134
528
658
106
851
46
658
833
231
881
946
459
430
253
445
485
945
303
590
375
731
645
545
885
803
531
797
3
948
612
929
564
335
501
535
800
881
398
622
401
310
916
592
858
177
802
673
417
766
266
915
752
295
542
286
505
982
736
631
304
610
164
459
233
241
546
702
245
603
55
10
527
20
877
855
540
255
800
557
262
570
111
256
971
665
802
511
826
909
202
194
207
899
404
855
474
911
297
420
250
43
734
419
284
561
451
811
643
455
430
124
180
856
464
43
455
887
979
956
498
668
907
397
375
958
559
478
686
330
473
782
350
129
592
765
416
106
298
98
951
385
100
263
937
159
743
729
65
336
323
484
140
947
669
539
391
38
457
986
600
792
572
549
168
685
549
444
848
37
797
796
722
882
552
171
17
60
849
421
594
368
47
51
427
716
971
563
761
691
122
996
496
705
565
79
573
445
605
383
679
793
971
679
706
845
30
241
510
391
279
743
658
130
32
221
790
103
176
452
257
658
611
785
752
131
72
499
451
154
307
54
683
77
895
969
50
968
325
205
541
425
141
440
223
540
722
112
42
299
731
911
838
877
230
72
523
854
536
665
455
747
665
591
65
53
277
446
465
509
316
300
84
49
882
662
589
992
359
729
75
30
490
648
907
64
671
847
359
779
67
487
651
913
995
632
808
672
332
307
418
762
921
863
746
701
806
585
985
676
895
668
934
941
758
872
389
830
401
79
587
955
578
835
688
468
289
92
321
181
821
924
951
118
763
34
769
761
256
161
330
50
30
819
342
411
170
918
950
501
300
610
321
735
330
153
539
276
510
997
501
379
892
402
453
710
536
923
621
265
252
125
91
435
758
298
25
233
627
82
149
563
471
207
450
403
20
709
253
186
691
689
165
752
747
813
901
564
37
20
121
653
203
319
577
520
142
513
153
537
769
599
988
273
129
722
978
188
137
883
719
384
648
144
634
409
56
971
270
638
974
989
156
399
901
680
678
69
495
687
195
902
808
216
95
655
551
864
602
137
731
273
691
518
143
287
588
519
347
389
860
84
379
88
78
474
704
313
302
24
557
190
494
926
826
261
583
693
707
793
804
445
156
882
40
743
57
179
7
546
555
827
125
949
246
687
816
417
666
684
345
351
428
238
791
751
652
352
341
252
709
492
235
452
840
743
61
35
744
618
744
729
188
189
444
35
823
916
12
829
769
614
212
309
633
865
827
652
108
994
353
148
395
519
537
41
328
180
264
287
493
90
761
185
501
304
392
574
596
0
574
889
76
656
447
146
141
282
202
117
775
553
114
14
311
972
866
514
593
632
833
617
24
742
290
250
505
586
603
168
731
665
62
236
96
501
496
214
949
964
985
371
489
658
348
316
820
722
184
381
654
846
771
369
577
995
227
31
775
111
690
767
554
669
221
776
962
827
816
741
443
219
302
861
245
227
303
89
668
68
943
940
671
46
300
84
356
599
391
381
612
247
100
842
944
932
271
886
476
203
423
982
956
433
689
441
750
615
326
677
849
180
869
167
47
213
291
345
633
829
151
762
572
367
394
994
11
854
976
207
513
232
733
401
212
446
209
316
710
55
504
213
223
956
528
478
815
883
623
239
305
141
846
321
494
862
903
325
464
913
479
674
998
23
675
137
123
530
480
396
437
163
458
465
450
801
447
516
203
882
752
558
663
460
226
717
576
531
41
985
722
364
145
557
678
581
838
642
160
753
730
982
283
70
191
258
365
957
355
563
778
681
184
349
412
978
287
209
244
454
615
30
571
84
844
503
467
628
179
178
457
454
789
260
644
847
179
484
642
717
571
346
402
858
42
674
945
301
925
318
421
659
570
744
420
685
683
969
35
621
515
258
126
220
555
924
357
679
468
323
488
468
163
753
704
757
933
517
653
517
346
545
158
6
415
318
523
589
786
381
106
205
328
691
788
543
81
176
101
308
690
922
289
155
352
260
309
863
341
806
885
173
43
729
36
846
600
155
263
376
704
675
895
768
638
381
92
883
652
527
137
587
590
847
335
109
754
923
604
19
582
239
395
424
538
510
103
359
145
163
435
233
275
754
681
380
306
652
959
995
496
76
580
962
259
18
629
399
176
720
523
600
702
574
98
42
337
130
744
880
356
505
642
791
635
486
797
188
616
648
374
827
505
487
76
660
841
595
934
991
282
635
966
979
653
423
767
191
254
122
886
544
670
222
133
993
677
280
194
541
851
365
239
601
137
571
460
637
450
862
237
291
143
45
885
517
186
264
43
785
368
213
663
371
432
258
278
217
59
578
25
526
980
167
844
227
114
765
807
558
313
879
125
517
390
344
398
895
583
414
974
977
35
570
976
916
386
151
557
661
367
235
118
442
590
214
894
104
941
627
50
320
834
183
67
868
502
855
849
622
918
291
605
212
313
527
474
61
416
766
664
165
141
288
495
363
862
930
272
186
840
326
561
546
525
846
584
326
699
443
633
409
900
61
920
355
449
924
887
342
692
584
220
974
251
139
270
772
3
255
140
873
76
499
847
713
153
631
926
579
540
395
354
329
336
633
814
173
445
859
39
496
600
898
473
866
353
434
624
854
222
908
835
944
690
120
960
202
785
669
142
487
614
593
594
741
996
755
398
242
710
429
963
949
270
11
50
671
469
60
145
154
668
144
723
840
559
458
851
636
315
755
585
510
739
256
26
17
133
683
667
599
914
543
780
735
658
426
26
824
405
192
326
27
449
912
77
147
863
695
219
621
139
415
616
790
805
96
904
338
364
883
931
524
2
922
516
216
941
755
914
345
737
174
515
636
724
980
29
878
527
978
623
941
0
809
199
270
901
614
203
778
525
653
158
100
670
735
944
60
439
792
569
43
742
578
425
710
103
667
359
516
144
995
726
132
517
649
436
516
104
195
580
983
622
416
0
455
246
206
159
348
743
935
944
316
110
275
123
271
344
191
33
779
488
959
321
249
195
779
722
419
223
26
785
335
148
840
562
994
203
225
643
211
834
871
577
32
285
601
987
37
41
388
839
823
839
337
484
633
665
504
482
710
793
481
197
651
113
626
217
460
474
139
376
201
38
423
219
923
956
629
565
291
94
66
565
850
692
100
310
368
572
39
507
172
808
594
353
578
728
777
853
135
693
517
750
723
141
435
335
835
371
712
362
889
76
521
191
598
704
956
373
527
69
874
570
826
996
875
544
146
156
780
759
608
281
771
970
751
690
778
513
864
715
103
606
139
184
109
212
213
43
101
763
935
417
684
778
258
144
302
702
104
2
251
147
947
866
800
318
583
268
578
110
481
23
567
548
361
382
315
768
855
146
372
633
751
874
859
241
448
198
492
167
285
201
484
36
564
759
725
720
952
217
398
159
613
247
602
671
595
497
126
20
105
885
30
632
645
403
944
957
173
311
454
502
486
823
468
103
966
288
135
58
644
894
967
758
939
141
71
801
679
329
108
424
551
792
420
161
337
703
728
644
916
46
560
458
128
326
226
245
635
526
332
436
864
634
575
21
229
597
310
269
783
728
82
315
26
855
937
441
119
522
251
489
505
226
853
941
994
229
328
138
669
451
410
534
797
12
918
500
652
964
561
124
235
511
512
596
632
768
631
279
712
757
498
445
529
932
833
847
837
83
786
422
23
983
331
413
327
495
121
28
922
739
536
952
888
257
693
725
685
536
509
836
272
470
560
519
355
451
123
613
859
355
26
928
666
890
361
88
725
706
187
102
527
984
604
628
459
720
335
846
411
507
728
719
727
835
190
720
897
611
44
937
812
431
205
488
278
599
915
116
271
835
491
302
252
807
336
735
239
963
624
950
896
288
227
415
770
933
248
71
548
773
470
47
155
453
687
37
698
157
699
792
300
876
248
270
57
829
784
723
399
227
245
110
232
404
441
211
119
189
911
469
466
672
571
955
59
640
908
876
933
276
745
499
514
317
16
650
255
610
358
711
92
833
402
107
568
894
843
705
912
945
407
81
357
132
565
88
369
340
716
293
646
66
653
235
363
294
951
556
839
858
793
908
954
68
542
531
352
175
651
672
885
970
982
296
231
642
149
144
21
27
908
826
888
687
149
257
476
234
166
520
91
37
2
871
129
742
427
393
367
505
11
304
437
581
924
188
392
537
645
575
456
764
165
12
360
172
168
620
84
760
448
825
293
638
278
296
907
767
566
163
24
114
780
518
231
187
130
889
790
20
884
169
654
221
651
244
662
343
936
829
838
671
762
285
480
159
592
915
163
452
548
438
512
402
305
443
190
484
505
771
563
37
448
812
355
133
205
778
701
798
275
981
690
181
945
175
465
763
292
899
368
405
772
863
463
736
486
659
489
384
107
456
251
33
2
860
517
886
469
991
522
613
365
828
662
495
280
4
268
676
107
434
738
871
892
793
399
85
941
561
729
360
818
838
101
196
652
836
662
3
344
315
396
265
848
279
885
5
993
495
177
386
259
399
819
587
947
235
499
602
399
297
423
263
293
409
148
853
563
865
97
568
994
889
990
589
801
226
877
467
638
561
571
725
302
362
266
985
862
494
85
469
861
438
154
527
290
16
202
370
19
397
801
921
787
996
867
277
736
41
430
670
435
860
763
616
373
513
644
651
924
691
536
185
64
11
674
74
352
559
729
683
256
465
77
722
754
77
937
591
929
38
944
300
65
400
797
759
535
409
993
280
559
682
133
828
816
170
139
562
892
422
571
893
984
885
667
428
239
876
172
790
931
274
728
507
327
757
506
684
902
39
140
655
302
534
49
375
309
257
200
352
483
481
383
325
483
824
18
992
598
337
527
244
929
268
9
92
863
361
549
299
26
915
55
12
434
368
143
480
465
652
927
996
409
837
504
570
112
541
325
782
741
734
542
601
468
650
394
731
502
632
500
294
658
396
716
552
641
102
344
178
146
649
629
573
505
128
146
634
687
593
649
101
226
234
507
98
475
928
798
739
453
448
230
241
972
812
599
979
980
720
641
738
52
65
589
647
845
945
642
448
870
697
730
317
898
428
677
815
116
36
900
298
387
562
960
786
127
976
636
309
46
949
135
813
29
417
869
966
623
288
683
408
327
827
266
456
451
228
820
705
744
242
57
954
83
946
35
323
797
66
899
647
500
999
135
902
161
755
15
908
366
919
475
515
990
858
164
975
259
232
862
103
426
80
618
41
246
291
240
308
764
281
97
417
965
865
192
901
275
646
293
969
3
616
950
527
299
178
449
165
334
369
507
533
440
722
56
371
320
895
723
99
810
482
831
823
636
950
266
957
698
746
877
315
633
375
269
654
555
610
433
841
176
329
415
161
299
516
420
566
253
775
947
871
986
678
144
74
85
67
24
580
642
100
554
25
258
102
709
198
381
721
959
659
61
64
854
63
766
865
755
912
42
538
752
156
692
312
79
106
744
346
443
175
110
707
37
401
834
847
119
736
679
302
366
43
81
203
240
903
886
951
666
709
962
749
706
595
930
520
466
130
13
734
719
49
919
133
288
936
474
723
474
178
822
902
645
812
108
594
243
342
425
406
88
914
15
752
297
732
704
78
459
997
723
343
30
979
432
193
187
435
929
919
397
754
392
702
229
614
184
985
611
597
0
578
494
995
879
255
601
565
164
421
600
120
590
103
523
494
406
369
358
242
516
949
817
270
695
927
495
8
882
998
47
417
111
481
351
388
484
52
220
710
205
460
244
584
64
421
338
801
347
397
43
173
348
39
97
985
651
739
417
482
275
549
180
650
12
746
762
122
388
464
231
663
43
697
680
672
609
264
239
406
261
389
649
625
611
842
109
625
266
623
333
267
851
974
162
417
552
799
561
820
842
592
64
132
516
978
47
517
813
906
644
587
410
282
937
627
986
383
903
257
296
461
81
842
261
750
105
500
300
406
977
490
428
475
110
333
8
921
995
531
939
460
301
490
406
302
32
816
777
161
405
251
474
196
745
62
710
599
631
113
226
353
905
45
466
921
764
698
720
119
978
574
322
708
431
458
440
404
15
498
442
722
928
699
230
473
895
978
19
738
512
665
655
872
944
136
40
456
952
193
986
681
539
351
754
950
379
58
831
131
999
504
719
32
242
478
796
756
452
72
120
193
227
502
478
907
971
780
139
644
841
648
559
482
245
752
245
840
264
546
467
56
114
576
164
471
898
507
92
178
674
936
18
370
60
268
691
192
575
953
608
755
346
396
214
668
492
695
837
168
686
753
693
38
425
449
996
657
705
630
554
622
18
493
858
34
388
299
777
920
851
731
881
268
255
336
808
813
630
905
498
935
827
618
569
91
183
691
562
353
945
647
254
902
9
474
532
695
766
403
60
759
711
507
178
698
842
56
382
216
439
540
182
519
997
391
25
764
925
939
808
713
447
353
110
532
563
208
502
894
5
248
594
654
463
502
192
533
584
116
516
361
122
199
558
952
471
889
312
183
0
451
428
867
879
412
674
972
452
278
617
121
959
436
621
252
307
214
728
881
386
598
152
468
265
998
829
211
158
863
882
853
36
570
494
741
885
538
479
667
199
15
844
730
96
72
79
537
762
940
562
476
395
893
675
455
60
385
562
821
598
920
940
694
200
965
217
912
656
676
951
283
475
873
378
102
200
971
790
57
813
189
51
147
100
711
20
755
434
575
0
440
85
140
169
38
369
160
900
536
406
43
491
79
678
286
376
872
940
540
713
911
631
530
90
112
821
378
769
727
956
625
469
714
858
31
843
620
956
716
62
571
583
335
776
131
830
695
335
244
207
262
850
479
777
2
255
605
644
450
252
890
547
308
859
617
465
853
722
11
597
907
822
690
312
648
265
490
504
748
998
528
458
813
356
290
278
809
83
910
15
658
561
23
816
29
440
343
942
861
579
296
101
500
783
849
348
101
6
73
927
445
401
839
833
497
963
327
60
374
878
296
350
927
233
475
484
14
895
971
344
678
613
88
152
31
38
645
857
502
84
531
262
897
490
661
645
179
10
488
616
441
600
591
342
152
658
10
861
612
557
493
803
101
382
356
846
749
981
170
343
480
819
296
561
436
231
647
411
675
543
565
806
262
605
881
848
911
605
841
994
502
745
0
54
164
14
916
939
623
693
142
349
29
977
858
968
934
996
189
479
255
101
957
365
513
643
821
102
593
125
962
719
536
638
143
638
780
730
922
871
161
422
634
17
219
353
598
609
439
119
926
972
814
146
314
48
807
85
102
529
286
639
346
540
79
749
587
478
885
153
666
498
72
227
842
326
814
834
259
882
165
568
739
405
110
197
231
365
733
701
718
876
437
478
56
510
678
892
542
872
211
155
974
684
544
811
567
121
584
527
556
586
336
202
787
287
496
550
392
857
994
613
604
313
930
913
25
840
335
679
442
369
432
326
918
896
645
976
278
67
900
793
306
624
449
140
61
918
553
277
871
895
845
143
82
627
236
113
777
431
876
149
795
683
686
236
392
443
57
441
324
758
125
30
645
497
955
168
21
263
285
331
788
901
431
397
251
950
56
745
378
99
28
948
969
922
771
899
736
217
977
136
512
727
882
905
892
654
416
29
976
535
975
433
833
626
669
43
631
949
57
97
713
985
359
726
465
230
953
867
457
171
797
388
625
985
571
645
502
537
808
610
288
925
349
279
490
281
819
724
21
208
823
68
25
401
286
661
498
818
65
173
877
803
518
777
364
85
13
257
80
874
338
261
347
168
404
194
525
10
503
391
129
666
874
951
669
178
739
392
926
924
429
28
558
539
357
201
337
772
506
778
617
398
611
422
45
355
380
801
584
45
590
200
754
717
522
48
607
772
574
647
482
749
207
115
150
145
808
618
480
61
606
709
186
716
635
683
203
174
293
109
26
158
801
722
707
498
558
443
453
43
707
994
522
418
930
294
651
460
793
76
957
945
491
533
726
964
780
167
6
345
637
200
4
311
584
975
889
982
498
206
128
927
883
750
442
5
30
732
98
949
237
919
852
340
776
5
258
299
905
640
609
445
928
45
917
559
367
56
170
463
185
38
809
116
734
507
43
243
157
583
98
476
294
731
976
415
228
383
606
694
12
184
515
700
671
737
311
246
493
436
608
49
286
395
677
628
548
3
149
558
193
651
917
182
72
626
74
838
50
824
922
706
355
986
44
879
375
346
104
665
27
425
423
903
17
354
51
677
96
230
640
860
465
905
755
85
243
415
738
968
157
620
382
29
154
0
714
95
515
745
170
722
56
858
131
928
52
217
659
216
751
871
332
130
212
192
367
608
273
290
587
725
605
993
757
616
463
485
44
937
444
434
94
886
485
632
890
263
26
372
640
250
876
430
797
399
107
851
279
57
198
643
60
538
60
938
71
257
501
547
709
280
331
88
569
30
754
381
195
496
519
801
617
728
167
336
320
110
188
787
226
543
76
952
524
772
896
15
715
540
259
338
347
990
914
440
813
515
396
253
950
54
179
629
136
430
872
829
512
752
805
114
683
983
469
805
514
388
386
93
212
380
192
560
192
560
553
570
683
643
765
895
153
207
497
513
994
809
871
689
955
978
104
679
82
793
778
540
436
210
173
230
340
886
474
204
533
16
532
734
563
358
770
2
481
47
227
431
565
607
421
942
852
423
632
367
340
857
572
572
420
45
227
309
117
48
192
586
37
206
457
144
216
526
115
774
428
149
334
857
680
217
642
561
97
375
566
261
321
274
20
683
146
739
90
179
148
515
212
753
161
136
661
109
128
860
629
334
348
350
557
124
222
797
707
737
66
264
110
434
585
132
682
552
771
246
708
498
251
39
161
7
450
452
272
539
357
386
431
485
631
334
852
823
353
77
867
440
724
470
400
15
170
832
178
246
531
251
429
918
635
382
883
378
576
17
28
218
667
646
646
176
966
818
68
742
579
293
804
439
268
590
173
862
122
472
765
215
444
141
651
814
398
896
32
84
634
995
224
113
34
726
151
419
133
541
820
123
535
630
338
885
70
205
703
582
211
570
398
231
18
232
729
983
585
139
969
565
447
7
781
12
145
771
194
720
998
732
281
975
560
298
958
604
543
224
264
265
818
532
415
765
382
479
510
283
239
819
71
277
111
975
193
751
401
86
597
199
320
302
473
783
834
912
516
429
440
858
387
940
644
875
750
413
302
532
637
975
323
96
987
577
995
903
481
300
348
457
238
91
319
712
775
909
417
174
811
451
148
843
60
688
286
743
393
108
580
409
337
91
810
436
158
732
981
780
277
995
745
350
934
373
205
431
381
639
860
735
450
69
963
762
898
730
689
170
407
753
738
525
896
191
936
10
565
789
228
928
198
178
855
916
387
831
26
977
530
125
860
503
192
93
716
438
311
292
173
375
155
112
355
865
592
155
890
809
79
170
64
419
294
220
812
133
77
1
420
548
421
393
30
173
261
834
432
477
128
675
632
543
925
25
879
183
930
20
132
284
267
628
376
498
518
176
15
145
74
285
15
174
182
405
133
302
593
189
314
890
101
935
243
766
403
541
743
17
743
54
427
549
407
753
261
414
916
377
266
439
723
294
252
503
639
351
128
149
134
667
400
775
765
24
528
507
988
478
746
361
459
638
397
231
351
704
385
31
950
194
847
198
26
991
49
971
331
841
811
715
30
379
14
768
437
948
401
623
963
944
518
804
430
322
742
502
377
119
351
692
523
266
873
343
921
465
171
846
980
334
154
225
82
602
729
395
698
937
716
524
422
848
315
504
426
541
136
666
446
638
182
487
145
153
729
705
766
86
901
101
320
586
653
389
822
524
334
918
716
208
383
41
714
959
620
664
42
844
440
282
372
775
885
365
154
855
296
229
14
944
564
173
515
774
647
924
606
87
717
836
181
232
99
604
580
364
553
114
124
548
936
945
959
825
764
845
853
778
783
352
903
142
677
2
594
97
334
385
264
953
178
964
56
444
178
913
933
234
478
528
438
568
315
69
416
429
581
552
148
318
488
782
44
513
756
716
77
423
741
445
846
620
319
106
723
850
996
580
901
986
178
440
970
580
943
18
633
959
971
837
307
939
851
422
463
725
783
663
767
420
841
611
707
410
577
969
639
287
3
458
603
450
108
941
405
834
932
576
198
326
237
862
38
980
948
750
765
390
838
153
571
810
245
708
502
451
86
514
774
97
512
71
936
674
470
761
349
509
620
640
553
204
15
704
387
199
23
313
417
841
82
306
837
862
621
938
370
917
16
393
2
731
469
372
898
466
632
376
828
772
873
88
449
946
190
933
262
409
900
53
655
463
454
255
783
523
15
548
430
349
889
792
545
927
859
936
267
426
85
187
987
849
16
165
813
244
369
299
712
341
54
964
61
532
416
620
110
546
861
419
429
499
240
350
323
727
703
449
145
399
400
149
848
903
409
512
185
807
433
686
234
296
63
629
871
947
356
948
190
926
142
856
242
553
11
605
120
616
548
671
417
740
698
51
378
865
77
688
883
14
728
556
314
781
604
960
395
878
869
475
26
161
686
95
839
840
211
488
126
647
502
587
23
769
889
87
632
104
485
204
288
873
580
455
364
538
764
563
871
750
901
107
886
719
689
564
596
812
96
817
18
11
88
76
463
238
157
38
780
194
676
698
303
386
569
154
401
657
439
845
767
789
401
415
227
565
113
724
949
174
23
938
267
50
2
699
209
651
183
995
33
532
828
615
93
616
81
603
216
10
547
232
929
458
558
419
682
762
328
808
459
280
215
113
808
684
588
36
933
304
336
848
995
772
195
356
509
91
875
115
317
734
586
666
608
0
947
765
77
472
342
568
468
51
8
124
206
26
919
176
36
168
265
451
444
992
58
224
240
826
961
967
99
855
483
772
822
380
494
719
160
525
908
330
783
516
774
63
506
495
955
851
50
271
941
623
29
868
282
904
638
847
17
383
78
823
48
663
312
993
561
4
557
425
939
81
193
273
864
498
322
0
963
233
591
633
960
817
96
823
759
370
921
252
332
69
348
854
975
385
884
452
267
505
705
371
842
358
651
226
333
280
639
797
192
575
537
474
609
493
793
411
653
602
459
590
665
94
51
911
505
270
421
955
529
489
760
396
998
922
538
762
85
393
232
150
571
299
645
325
357
227
128
926
868
903
226
926
293
220
642
349
441
372
901
908
4
276
178
21
147
291
282
598
495
258
743
799
500
131
497
648
992
52
406
267
818
907
395
518
332
73
22
126
534
530
639
434
227
656
963
659
526
621
304
553
396
282
656
91
777
934
563
803
402
374
429
490
213
584
186
755
315
696
382
484
943
500
620
97
873
778
348
129
15
525
549
826
613
235
866
772
442
273
183
270
490
622
532
458
206
524
557
819
23
811
164
928
878
214
25
393
559
174
861
365
591
48
973
391
304
500
546
869
39
878
19
719
979
162
333
8
542
852
236
104
907
839
455
293
589
254
990
495
194
48
818
138
532
163
368
26
716
644
439
528
977
84
191
275
442
329
988
371
841
989
267
506
177
572
50
319
683
9
238
367
220
934
307
502
617
210
14
624
26
901
210
463
613
194
407
421
825
988
675
974
538
737
957
130
282
953
595
464
655
403
164
587
739
484
52
571
983
374
848
642
26
638
258
859
832
121
798
395
301
179
959
198
490
533
379
773
764
477
0
790
159
741
532
439
754
757
658
715
120
375
909
685
848
65
121
349
145
416
924
0
587
732
796
643
977
877
478
621
322
449
945
20
606
522
712
207
2
172
374
900
24
688
850
271
414
678
824
199
654
301
833
131
28
73
365
785
18
753
676
535
881
935
149
359
121
641
698
930
570
818
373
923
516
466
56
0
945
696
385
771
809
96
996
106
131
769
235
538
32
404
853
829
953
515
175
433
534
969
908
492
870
640
948
827
161
374
925
942
264
287
169
720
710
40
191
913
410
963
159
808
241
735
100
679
851
379
464
604
832
26
878
860
574
231
639
859
433
241
144
974
37
202
502
78
108
411
613
30
160
532
541
245
630
274
862
174
684
863
412
812
510
884
503
519
105
931
971
362
968
531
481
619
812
150
654
633
222
375
866
887
202
841
485
701
474
710
738
994
738
5
934
760
673
841
97
970
75
435
393
756
137
272
683
913
676
730
4
378
825
759
571
202
134
258
623
268
564
485
739
369
188
119
267
86
910
633
29
189
778
891
76
463
739
910
218
125
601
568
156
264
15
957
251
317
748
553
864
437
822
679
217
307
33
711
402
671
224
162
251
199
945
759
810
587
630
791
592
751
687
476
935
261
808
181
54
519
901
168
903
728
167
544
914
60
611
631
527
522
509
551
963
269
440
994
855
110
992
420
2
639
277
559
61
142
469
658
645
28
682
950
270
73
108
913
517
862
80
319
463
44
356
506
345
374
44
150
908
809
985
564
590
818
509
909
668
310
128
968
993
154
346
784
49
66
160
854
88
133
523
757
190
289
584
344
44
369
760
323
530
842
173
660
55
138
181
323
364
782
288
694
666
633
40
668
784
461
140
961
978
620
89
147
668
858
24
222
167
222
380
658
918
672
758
604
603
48
378
732
767
853
775
866
647
281
730
886
849
154
163
947
353
167
352
38
859
951
933
291
493
146
510
895
913
637
786
371
222
919
468
207
904
801
287
347
69
543
698
177
802
713
561
412
635
634
96
381
278
887
999
34
930
527
222
992
334
478
363
51
412
713
541
579
200
618
707
644
201
429
630
670
109
975
1
410
812
538
788
965
920
382
726
835
604
24
581
415
722
911
218
136
868
848
435
884
297
573
354
65
775
227
413
329
734
513
593
922
913
448
383
277
333
701
246
693
284
686
509
41
283
498
858
354
19
817
351
960
983
132
45
34
259
186
796
291
334
263
599
963
341
449
292
735
897
445
861
111
634
895
110
354
312
68
982
566
487
628
789
820
324
455
393
304
669
925
688
498
383
221
247
487
50
567
904
860
947
692
779
435
517
610
510
656
311
120
394
485
247
760
904
139
570
337
524
216
144
153
259
0
857
703
216
426
3
262
955
110
69
968
536
599
457
405
959
616
393
695
734
315
779
588
120
416
913
808
957
357
36
570
691
84
697
415
181
19
655
89
191
70
307
959
286
446
492
718
227
716
972
450
72
637
224
631
268
769
809
548
608
137
295
722
869
937
215
66
516
628
16
12
32
654
459
364
536
541
43
728
33
149
871
458
86
702
299
422
395
517
225
255
654
897
490
358
541
289
704
892
761
126
779
590
573
523
223
870
833
791
928
526
266
152
252
832
660
150
889
309
182
966
544
120
75
423
696
884
98
582
233
845
579
970
235
201
306
589
319
229
496
508
384
348
957
852
29
468
424
90
447
251
742
910
497
785
907
442
391
719
918
622
801
3
237
182
364
192
897
774
613
553
734
775
978
44
559
600
980
384
174
51
232
504
699
264
797
246
869
906
688
134
912
830
851
371
239
918
422
799
734
210
831
436
883
166
404
331
818
440
130
581
759
400
289
532
501
223
687
249
560
39
174
843
436
140
563
75
606
40
859
496
377
852
625
1
902
902
769
571
959
869
225
908
22
507
611
589
977
81
902
30
81
909
439
412
769
746
385
683
702
332
25
691
494
675
835
113
457
546
912
604
416
606
958
528
573
700
91
860
983
632
940
762
516
601
962
576
586
336
316
268
981
693
39
525
778
245
841
936
684
952
961
315
382
434
928
821
199
520
787
969
48
651
140
876
971
112
967
592
154
413
488
911
210
850
360
36
879
648
52
284
291
399
96
240
403
202
556
34
148
562
50
575
640
16
35
499
991
161
717
52
419
310
722
113
554
699
177
250
812
514
19
986
315
200
788
444
266
885
396
179
74
386
347
880
702
267
161
690
980
899
689
469
37
667
384
8
668
674
131
730
472
210
540
465
369
668
390
326
49
654
905
249
843
644
387
4
426
664
209
628
377
63
270
905
506
738
971
815
593
262
111
372
409
547
351
373
593
749
618
148
8
252
855
687
608
452
966
216
1
720
551
384
286
195
455
760
700
445
322
105
405
751
73
310
561
901
378
276
0
732
2
515
979
564
407
970
689
580
671
490
832
835
294
6
737
333
877
285
804
754
102
210
368
871
750
669
888
532
746
751
222
412
539
342
385
616
76
354
160
761
936
978
701
32
768
513
737
901
484
939
760
492
406
520
218
237
412
493
717
518
320
697
756
300
734
616
452
426
301
552
889
214
145
985
546
356
984
932
950
584
519
640
263
238
227
494
337
813
572
628
911
35
242
949
918
127
817
151
587
981
957
512
114
536
424
90
768
294
969
522
440
199
129
745
336
437
922
381
891
462
433
877
694
287
753
952
81
341
932
983
251
346
512
836
636
759
297
737
939
365
385
471
510
589
713
482
39
793
263
704
740
845
259
518
442
279
292
688
200
393
253
521
367
934
117
86
647
961
857
263
159
452
38
92
831
203
2
7
826
651
161
868
80
4
14
366
105
462
710
225
237
742
256
414
61
656
671
330
956
574
365
365
154
327
892
245
207
423
309
933
492
653
45
233
911
18
398
166
537
905
979
384
266
290
370
439
712
558
122
151
286
550
177
529
330
684
969
125
975
771
958
5
66
608
687
123
756
429
477
498
599
837
45
320
559
341
536
492
599
70
533
971
18
798
35
3
241
389
898
262
465
592
798
656
527
815
861
405
485
798
713
190
838
772
685
759
540
182
205
584
38
891
631
914
419
2
40
56
277
368
261
757
822
723
766
275
459
79
840
504
803
303
525
263
316
962
584
382
672
278
282
548
978
669
211
570
823
795
880
909
182
506
524
728
926
389
317
616
88
724
451
557
578
634
905
830
132
784
369
368
455
467
133
710
228
821
27
679
334
825
68
837
371
514
557
465
332
421
989
689
923
566
344
695
360
228
260
609
693
747
581
574
487
190
98
777
778
978
51
955
459
221
169
708
314
407
914
42
138
49
955
11
104
183
519
672
895
625
287
606
777
505
90
151
768
263
280
474
443
762
756
615
135
587
309
630
568
205
891
354
954
315
756
17
604
665
632
48
814
669
985
51
997
143
688
119
602
216
628
401
535
2
78
847
872
450
65
542
197
782
544
951
439
569
216
620
37
160
833
867
727
891
583
210
881
990
83
499
79
46
943
87
79
685
108
6
388
989
821
180
359
852
317
179
532
647
378
78
343
349
896
682
46
199
712
209
189
522
609
726
399
669
384
58
115
350
507
863
307
555
218
520
909
340
407
996
537
323
923
207
986
63
972
759
532
593
233
696
919
458
480
761
520
832
986
52
798
877
668
754
940
389
237
985
720
908
893
95
175
57
515
235
815
109
158
552
198
322
242
609
54
992
518
452
994
559
791
705
906
943
21
284
952
805
236
277
221
358
165
960
443
603
94
525
931
624
101
474
892
769
684
553
583
801
285
803
475
87
169
830
132
8
778
618
544
220
295
688
902
715
343
123
355
464
46
214
100
763
467
803
244
858
357
751
588
197
451
679
174
474
359
796
367
38
69
760
885
120
729
103
66
773
49
252
120
253
10
513
933
38
994
381
401
126
521
439
773
445
332
37
865
653
451
137
911
465
922
880
571
360
822
750
390
963
497
956
276
123
939
568
779
550
39
495
431
732
502
652
235
233
8
514
549
396
690
602
838
618
243
845
562
533
686
507
869
246
768
50
136
7
339
295
532
217
601
492
658
362
763
825
695
263
233
949
134
211
178
331
801
627
311
51
496
928
102
329
476
985
717
557
872
866
62
666
647
517
781
94
506
352
879
404
409
186
485
917
531
159
365
486
916
849
204
678
556
100
409
512
610
115
754
81
257
235
989
901
13
88
199
580
640
358
238
462
310
121
795
600
493
173
807
976
892
314
332
252
298
397
25
451
687
641
537
365
729
115
62
792
12
763
956
648
70
226
294
863
486
242
709
345
815
185
578
327
708
829
856
667
94
666
479
21
996
3
201
251
815
142
201
441
125
409
606
97
511
927
66
778
625
467
411
586
763
489
29
789
386
317
35
502
223
725
939
599
565
455
833
9
131
929
385
379
861
411
408
879
365
694
127
846
605
245
650
285
333
241
607
543
253
0
14
940
520
8
946
631
407
559
754
966
231
685
165
640
440
999
335
88
628
354
428
294
652
589
364
829
767
443
13
95
812
456
336
350
206
565
416
519
986
429
13
499
716
911
129
643
370
104
710
532
396
784
463
80
921
205
478
648
437
902
435
562
582
726
742
511
37
226
727
227
403
45
899
778
815
477
509
568
964
378
95
65
583
460
477
296
731
68
685
396
142
237
333
982
70
427
731
563
322
734
880
726
328
672
144
647
869
795
199
446
957
216
745
486
249
608
576
453
213
110
9
414
651
289
21
100
344
652
201
550
243
827
504
400
751
40
614
714
487
278
952
907
460
180
442
162
376
301
154
92
384
106
594
217
544
690
277
651
130
668
705
551
759
650
654
96
617
536
228
476
233
236
239
627
768
634
877
66
34
574
458
692
221
580
740
830
969
570
577
157
591
413
976
43
213
625
823
475
603
66
177
583
771
957
255
421
17
803
470
726
73
35
967
236
620
399
286
593
450
923
910
998
238
865
58
584
283
72
852
165
706
544
873
98
456
73
616
520
26
887
581
466
730
954
92
662
294
789
892
155
897
449
499
670
460
471
515
271
434
684
459
524
591
431
700
595
702
200
992
309
892
940
169
770
707
165
460
154
450
222
737
306
836
124
609
451
439
500
146
959
631
200
882
623
820
164
104
109
364
259
254
75
98
974
541
855
238
338
752
208
196
428
230
589
899
709
434
109
435
897
963
301
369
626
970
859
575
789
712
98
876
625
940
361
401
27
831
240
301
480
865
163
39
566
935
265
549
155
815
109
723
727
794
112
401
212
303
150
573
612
566
558
364
366
652
190
716
494
621
933
634
910
606
471
401
235
274
718
642
613
401
819
599
805
246
586
855
75
822
571
715
606
452
552
283
775
244
786
75
91
52
368
199
387
163
323
375
186
229
281
562
851
188
716
983
755
818
803
195
21
983
270
457
330
403
91
142
70
233
752
78
390
263
361
983
593
933
392
620
749
214
831
147
681
360
540
938
876
584
963
278
940
76
980
915
673
725
531
216
241
598
217
660
89
64
296
967
621
350
105
560
14
617
567
280
975
487
332
369
729
761
399
880
44
769
906
859
622
365
703
193
403
257
432
894
938
279
252
76
480
94
740
937
784
272
226
362
695
812
133
50
213
369
293
540
291
635
223
698
459
629
25
801
57
127
503
655
486
751
216
477
105
951
870
873
332
827
98
191
923
58
137
502
794
754
457
379
629
574
398
827
602
143
252
862
340
871
953
597
990
269
975
415
420
488
178
7
196
587
190
138
210
977
497
109
201
194
817
183
679
675
561
184
10
188
56
261
549
715
120
936
184
225
43
85
712
52
873
954
428
243
634
491
117
478
156
565
158
622
136
219
559
693
252
80
811
40
293
56
275
814
617
335
668
739
869
895
681
720
360
818
911
346
386
999
587
341
696
959
16
579
49
187
883
415
686
631
709
598
795
273
720
391
362
586
0
836
950
684
886
946
859
256
918
413
748
74
935
115
258
233
700
322
272
234
559
547
596
962
249
904
616
444
850
831
487
789
152
717
801
101
100
826
84
579
539
816
31
349
724
909
300
199
905
106
471
674
86
801
254
822
415
638
363
738
920
404
826
483
42
294
171
858
974
609
212
747
402
813
206
222
609
197
626
240
295
804
273
936
736
254
333
772
606
652
624
30
115
848
677
535
751
740
156
719
989
871
913
250
825
555
902
949
74
289
850
412
305
567
884
810
830
715
617
503
998
120
528
363
194
440
183
930
292
393
534
551
306
843
599
879
63
346
153
861
637
909
27
289
384
538
327
60
222
121
816
144
204
480
401
190
819
171
83
278
834
990
774
933
476
739
454
866
534
488
267
371
433
943
674
653
840
310
941
240
956
147
236
13
530
645
535
734
55
855
564
256
319
490
114
538
340
287
702
603
283
513
138
474
314
653
601
995
519
390
321
714
812
815
500
438
605
791
228
244
512
5
94
995
783
4
812
696
295
735
644
281
746
358
30
327
313
715
508
63
685
19
826
919
931
372
682
99
678
151
344
804
88
323
106
225
613
50
464
678
22
849
102
421
567
566
78
284
221
57
183
253
911
476
46
748
96
633
280
398
601
340
598
770
612
789
599
250
636
398
349
452
757
108
902
799
13
556
792
599
755
426
986
31
582
186
114
244
566
710
485
273
59
50
707
504
905
211
31
776
999
660
929
12
420
692
924
426
509
911
231
183
341
195
778
600
954
763
439
448
155
853
798
468
704
852
35
421
35
328
147
914
217
43
888
390
991
372
852
721
352
155
408
162
109
0
709
585
428
754
410
940
444
459
101
318
397
543
830
110
688
795
457
436
808
920
384
889
587
880
361
791
435
319
553
55
914
195
255
780
121
778
740
531
636
425
888
561
368
157
458
564
434
181
591
656
298
770
185
299
727
648
849
859
872
837
778
115
175
892
951
348
302
300
225
681
999
778
434
96
285
422
207
224
330
157
164
498
773
936
748
952
981
200
461
677
586
381
921
185
534
622
909
862
768
937
422
559
6
903
625
775
141
168
729
202
463
390
398
466
237
83
880
299
250
857
21
401
236
836
115
190
512
553
923
381
2
312
56
37
963
837
761
654
459
788
450
0
984
828
893
433
122
26
471
441
833
596
807
776
473
390
510
232
254
723
75
195
115
425
78
105
64
936
699
362
763
229
395
989
104
929
423
525
861
184
154
386
17
54
958
159
749
517
903
326
573
715
305
634
297
425
195
190
674
724
427
677
501
57
782
480
1
70
247
134
71
499
541
271
845
951
0
453
697
145
934
986
939
785
506
886
194
805
721
230
27
133
288
990
861
356
675
879
847
615
148
762
267
897
461
737
41
969
799
972
0
730
33
756
903
374
898
426
664
342
367
443
200
897
502
721
983
498
819
10
979
903
771
266
186
645
811
103
818
183
34
525
8
88
922
378
741
727
628
117
321
832
270
807
823
999
161
839
424
613
596
702
797
778
607
813
197
828
514
907
440
583
777
945
769
147
71
170
334
557
406
948
632
615
905
890
148
333
314
716
821
34
184
391
737
527
91
179
260
973
585
448
991
852
748
76
12
927
548
84
984
242
182
934
362
477
781
919
356
874
912
61
341
9
488
461
357
327
872
743
283
280
844
403
296
633
539
790
89
245
377
727
256
517
625
298
223
739
420
257
644
197
89
885
924
157
447
707
662
296
689
444
899
530
806
347
403
263
732
754
479
649
462
294
37
595
893
455
822
436
859
336
258
373
703
623
39
979
60
72
388
13
489
182
843
591
750
652
340
233
964
982
489
31
917
756
938
181
835
453
561
511
117
159
454
423
834
906
497
556
524
97
194
186
928
598
769
52
535
3
384
804
825
530
536
340
955
864
416
783
425
622
265
288
409
32
793
151
697
638
326
355
341
859
906
553
242
579
956
338
587
360
415
94
871
436
434
594
648
606
534
805
865
51
791
120
991
431
854
846
343
439
518
338
475
895
501
584
252
76
432
266
506
462
4
635
256
54
79
447
780
371
181
347
315
928
822
826
416
977
791
741
208
245
806
983
33
729
632
158
482
452
182
296
73
524
815
647
504
134
43
226
835
144
732
570
67
622
297
539
927
655
2
664
639
854
490
470
623
302
146
173
552
750
379
766
551
902
390
777
845
234
773
340
238
665
295
78
962
361
606
726
409
555
716
442
74
511
269
317
764
66
919
624
843
724
91
202
352
733
523
596
361
79
170
772
965
130
964
855
538
637
906
354
157
591
519
573
254
424
645
4
437
417
638
73
78
935
295
93
114
472
306
243
361
207
731
966
644
143
834
640
748
533
430
290
144
146
596
718
790
248
994
540
411
691
400
622
989
773
176
820
412
584
770
278
443
440
234
541
827
858
461
836
994
549
406
472
808
923
103
732
991
282
691
680
472
260
18
955
240
701
457
910
222
430
994
230
743
67
471
608
388
177
262
245
516
102
70
332
254
571
57
949
5
978
432
242
677
219
171
803
295
751
286
821
333
509
887
187
549
416
589
643
982
768
77
671
679
478
273
668
924
948
8
109
947
323
418
405
281
514
385
525
608
754
27
891
993
434
832
293
562
428
146
4
246
211
293
283
108
487
895
477
148
438
627
894
600
769
827
424
72
959
659
46
802
66
474
193
339
387
664
363
652
459
23
229
463
872
88
950
961
650
735
821
931
490
716
9
172
700
424
351
760
851
34
210
501
577
114
966
909
942
153
662
693
299
338
135
500
805
437
449
492
113
114
476
674
638
719
140
510
51
657
845
346
440
997
380
10
425
692
423
929
793
562
887
647
369
565
121
781
93
896
831
968
425
630
964
837
523
261
800
938
198
801
867
734
737
706
728
700
948
172
450
547
228
692
488
305
952
461
987
390
744
317
948
711
529
547
966
539
94
293
897
421
94
751
756
800
649
403
821
318
594
415
584
502
981
186
304
585
598
170
611
162
42
348
448
37
941
188
604
984
571
566
84
554
242
775
711
592
624
608
601
539
503
350
757
480
848
277
448
44
23
289
676
136
133
23
861
360
603
9
330
397
649
216
791
680
205
430
894
957
95
618
193
146
59
787
773
390
572
553
776
325
378
177
559
757
719
891
756
585
907
453
895
292
794
6
745
110
462
96
249
265
836
305
884
349
869
318
964
906
261
781
468
189
928
676
139
254
48
958
236
917
129
524
317
644
254
344
522
98
679
718
311
461
623
702
426
444
531
34
306
95
932
898
219
923
654
951
684
249
701
143
912
419
6
725
333
873
971
783
804
494
738
985
224
895
343
945
965
966
300
272
965
458
513
506
881
449
928
194
400
644
680
735
869
831
522
498
845
917
400
236
627
664
54
697
527
361
424
885
956
814
124
353
304
315
259
763
866
820
734
480
40
335
445
956
279
708
278
304
751
681
715
145
375
135
757
706
898
267
641
753
567
281
532
875
1
147
239
48
785
719
571
186
587
927
512
564
650
546
29
295
805
230
502
49
225
79
45
556
649
842
986
672
613
621
184
769
609
432
389
421
538
230
322
305
10
271
804
901
279
406
283
942
511
649
835
972
591
150
74
119
842
173
980
141
581
594
393
407
20
45
689
614
5
778
666
969
380
380
463
555
740
264
508
915
112
582
646
804
521
261
360
912
284
337
40
117
611
612
821
223
147
637
33
115
263
655
644
461
538
660
705
34
548
455
585
516
386
964
601
155
813
401
538
940
0
802
758
130
15
976
251
521
432
115
938
874
527
300
880
87
360
239
76
450
198
496
817
368
490
964
849
594
811
304
468
32
407
207
468
907
760
519
506
311
219
401
444
614
847
135
868
249
946
671
267
909
711
539
571
238
10
913
506
146
304
999
794
331
905
824
778
957
605
547
73
663
65
755
843
808
544
325
869
633
616
355
559
234
20
797
420
760
933
156
294
749
465
815
914
964
709
146
955
504
949
204
563
616
654
611
861
597
881
392
329
911
199
835
510
810
166
594
382
123
223
261
874
724
944
658
826
822
115
156
44
320
34
37
11
23
255
642
344
748
48
40
82
360
298
290
345
969
713
156
329
314
296
437
299
751
207
379
40
90
687
860
792
174
83
671
163
820
97
705
627
993
690
532
108
905
820
119
21
229
581
729
920
338
180
309
468
905
452
53
789
339
681
7
187
531
800
408
919
826
236
297
12
578
75
961
499
447
150
862
845
879
359
411
915
553
401
60
571
785
887
654
769
940
676
362
267
2
346
540
578
269
376
450
277
585
851
157
265
278
320
832
337
541
373
329
696
221
387
116
816
803
578
468
71
3
996
136
52
231
707
805
420
220
882
847
320
26
955
379
858
259
351
554
846
702
319
711
379
972
999
320
888
447
39
105
519
151
899
462
632
461
427
113
451
589
482
174
653
45
221
514
941
961
859
84
342
304
196
468
28
442
8
757
815
577
356
591
335
827
761
419
908
484
125
867
572
772
924
985
889
143
136
918
375
759
31
526
819
91
481
920
305
457
579
206
892
927
453
547
124
143
189
886
185
211
341
632
304
214
887
421
564
580
763
826
113
674
493
38
258
50
668
788
49
583
610
413
622
551
703
941
352
667
947
572
21
136
908
399
289
953
715
134
314
748
464
159
557
615
736
672
35
465
712
660
248
914
357
404
654
407
345
674
989
765
578
275
810
748
362
892
133
561
239
256
549
230
874
962
955
521
770
739
65
810
946
116
810
189
666
569
194
970
261
230
773
778
428
998
482
294
854
674
441
33
395
62
319
490
641
493
589
39
812
291
646
201
119
559
671
657
317
765
225
7
189
633
690
29
497
432
229
895
688
261
870
663
5
889
422
41
765
608
15
298
255
746
264
419
132
432
138
574
859
529
756
584
360
349
673
988
920
482
277
7
901
634
277
295
388
732
173
695
992
793
636
916
282
312
551
271
755
124
0
188
360
88
171
546
963
858
917
849
253
271
606
975
5
356
698
104
816
874
423
892
454
190
618
267
72
935
605
274
761
757
113
508
944
856
192
520
337
960
627
444
914
600
630
547
827
832
225
966
950
823
520
886
99
495
814
50
269
121
13
160
843
385
54
97
977
72
635
294
443
295
664
335
49
638
107
897
673
626
589
981
284
105
558
639
376
200
902
506
319
695
237
931
57
345
861
896
614
292
687
531
12
122
999
215
974
769
631
551
403
845
276
751
574
263
738
843
326
75
291
545
51
208
302
861
357
502
755
282
116
782
120
421
182
361
877
418
856
841
712
223
113
470
28
786
659
140
193
880
142
592
480
573
334
877
356
725
97
476
846
840
897
127
744
384
90
175
499
733
397
819
958
364
66
89
762
312
432
644
750
664
791
175
615
157
280
480
970
207
63
811
362
253
599
989
75
402
139
323
866
405
307
957
588
782
975
844
859
961
29
471
378
868
733
463
346
143
29
915
772
177
533
783
566
406
118
871
595
510
986
352
284
924
93
656
428
413
842
850
31
504
438
178
606
47
85
158
149
619
996
125
843
303
278
398
896
441
679
80
495
481
198
833
416
641
990
274
383
198
898
328
851
629
326
699
329
933
132
232
385
152
253
630
229
699
648
995
199
31
339
83
929
357
785
851
979
59
85
57
542
167
889
48
448
874
85
307
72
942
635
77
132
480
548
354
906
779
954
358
131
236
698
165
665
803
60
295
474
295
38
92
554
272
555
928
86
737
138
729
480
768
288
778
414
743
242
83
981
650
576
329
909
599
6
47
278
666
629
163
395
826
616
531
549
70
77
975
63
971
71
311
727
374
548
344
255
16
319
162
354
227
781
219
436
589
118
310
344
381
855
908
230
614
78
484
487
18
376
297
921
784
959
920
337
86
724
12
847
157
284
755
850
47
945
656
103
671
154
969
595
491
123
96
328
307
154
863
90
582
394
86
110
117
237
718
285
168
697
798
86
232
422
959
594
50
14
583
70
821
285
142
166
601
578
240
270
193
618
523
430
667
427
16
455
236
510
828
691
415
52
290
788
517
346
864
521
901
109
10
296
452
402
939
855
598
693
905
402
229
101
932
428
940
416
592
687
694
477
619
547
580
429
934
262
611
438
906
876
301
54
871
244
675
358
576
515
57
983
679
96
224
683
601
327
123
477
245
210
656
75
189
715
935
574
936
32
145
587
928
757
765
661
751
915
321
582
297
347
433
105
183
23
351
715
981
630
507
69
353
650
362
351
25
887
765
295
746
463
0
837
991
31
595
409
963
296
669
857
874
46
848
444
633
973
248
594
368
282
776
167
868
389
830
675
110
825
253
609
481
247
774
860
808
317
333
982
297
245
219
875
120
385
541
995
427
961
200
917
607
655
499
997
51
603
861
573
82
349
131
814
61
983
649
241
880
112
534
448
489
345
192
968
339
240
582
977
263
364
557
402
328
235
462
859
937
956
151
434
363
445
87
767
389
777
644
960
334
765
549
727
831
510
266
40
551
652
192
920
354
282
664
714
814
292
851
927
46
108
642
614
66
382
284
839
511
475
284
483
183
624
570
865
249
925
623
973
220
54
319
4
1
209
454
652
902
287
79
565
290
581
996
378
982
461
21
253
890
241
532
728
535
499
244
975
841
729
713
113
698
461
55
388
914
744
94
541
655
67
314
136
304
12
579
385
967
222
276
964
490
532
178
427
283
9
841
379
769
202
196
563
741
815
919
648
412
108
883
37
643
733
911
46
778
911
305
348
244
214
143
995
867
41
901
425
674
143
307
602
345
616
348
512
647
131
624
883
966
481
996
825
868
470
92
854
347
780
471
290
29
801
682
81
878
440
492
444
154
872
40
932
619
709
598
528
585
159
444
363
430
420
868
915
418
499
647
152
731
536
871
741
468
826
75
740
138
24
131
225
765
741
710
43
546
380
949
70
666
997
281
978
46
755
345
497
135
340
759
217
210
479
509
709
479
122
186
83
327
99
75
817
162
189
1
765
742
561
161
244
53
978
683
706
474
512
191
280
343
36
638
89
499
66
479
439
839
557
714
199
866
687
391
563
208
950
273
715
821
565
465
194
402
858
25
742
264
507
766
249
980
453
632
750
610
303
820
519
696
800
52
615
534
517
169
810
508
73
428
172
860
77
426
554
246
985
383
668
900
671
499
458
905
844
230
54
805
93
761
467
288
720
915
571
205
255
565
777
689
325
361
103
421
334
707
535
229
520
264
863
546
299
499
875
668
158
174
503
582
919
546
731
78
907
276
502
170
375
824
957
660
414
891
727
354
876
177
551
596
169
262
984
342
840
726
322
862
558
459
655
213
28
465
202
213
181
137
365
354
984
327
168
238
777
118
494
65
619
34
56
170
993
512
787
225
756
568
755
661
957
627
307
333
678
685
749
308
973
146
124
833
440
898
153
124
929
697
425
522
703
289
980
558
237
609
270
474
98
394
589
869
958
209
245
363
559
667
335
92
517
195
56
600
102
410
493
673
199
384
83
65
810
691
152
986
301
597
867
224
492
292
522
258
171
291
496
738
794
77
60
24
210
246
83
191
523
158
749
726
451
95
476
668
58
572
694
136
76
252
939
777
946
589
610
410
5
957
54
945
684
209
820
745
880
926
652
465
35
852
134
543
24
780
544
761
435
170
892
709
861
297
693
437
414
967
588
952
402
403
15
184
789
704
618
656
615
617
677
411
519
197
298
793
422
901
976
336
760
849
265
401
448
323
309
89
69
123
364
733
199
944
997
306
756
778
496
968
322
93
763
209
237
561
182
76
730
828
594
839
576
391
563
882
880
989
137
818
296
90
135
620
779
725
853
510
532
879
747
244
423
940
124
168
745
868
220
380
659
192
616
641
952
856
708
806
115
846
959
668
389
257
26
740
654
40
816
154
603
980
611
971
860
927
529
325
650
883
218
30
451
116
794
266
238
479
276
633
502
990
511
156
145
876
911
682
363
571
971
768
80
381
958
168
42
495
580
977
524
53
870
503
845
308
685
271
571
738
388
189
987
915
354
405
192
360
166
445
375
809
308
765
875
131
519
983
985
701
91
184
166
104
237
697
782
851
305
651
177
321
971
538
934
728
516
649
583
340
957
524
503
694
136
816
543
393
134
49
841
634
547
901
62
415
693
753
196
108
275
583
458
315
178
926
82
680
819
639
305
991
695
724
866
662
750
744
968
295
608
32
691
271
81
555
787
714
930
385
752
399
543
308
273
822
570
301
966
398
806
948
956
841
963
274
705
842
248
801
624
566
47
258
683
961
968
454
711
835
311
34
637
90
476
752
596
797
612
614
535
863
868
549
683
34
129
204
33
288
16
642
572
408
238
217
693
384
580
104
528
984
493
372
820
645
248
782
24
3
254
448
622
510
391
337
524
520
835
513
291
978
702
959
558
604
85
422
164
501
796
205
802
453
661
719
898
900
851
574
355
936
754
852
711
166
639
262
273
40
619
582
108
52
753
40
670
8
229
311
323
213
898
827
571
912
141
501
555
868
217
58
354
672
221
897
419
873
505
796
599
943
987
873
154
989
606
559
42
451
288
21
419
915
938
733
926
875
208
895
710
946
727
580
214
387
93
812
469
695
506
277
931
525
815
977
56
488
143
203
617
653
753
645
949
501
631
242
137
480
683
165
412
906
896
468
455
959
38
760
395
936
539
773
821
694
287
43
444
433
962
499
290
564
512
912
571
976
858
28
56
478
12
497
966
39
710
478
687
218
393
920
247
397
454
727
152
767
257
311
330
495
813
546
694
137
692
326
628
325
851
408
205
429
965
831
991
725
677
227
368
690
215
846
993
326
118
404
891
970
15
542
685
451
90
7
700
931
39
586
853
671
28
821
522
554
557
80
137
967
488
462
477
980
250
519
249
661
369
775
330
417
397
508
959
961
949
701
324
174
821
446
871
229
518
786
388
695
305
25
260
883
458
315
734
408
37
633
392
638
140
458
911
959
600
231
954
733
110
56
165
583
173
509
977
947
675
880
333
35
960
689
54
151
692
922
247
347
728
682
587
366
735
397
57
126
136
653
48
557
522
880
387
231
617
145
683
864
398
772
708
300
949
87
549
688
100
602
534
872
669
777
287
306
665
518
333
555
413
975
539
601
290
447
321
264
734
213
683
983
299
519
980
968
610
319
104
478
829
710
212
388
187
959
168
763
989
145
123
135
859
330
517
230
683
872
388
411
306
893
724
453
41
3
27
821
174
355
60
868
524
759
164
127
563
4
343
537
185
454
864
380
470
216
553
363
812
842
79
182
161
269
416
766
432
473
319
621
672
123
749
459
30
766
82
235
855
315
3
306
388
162
266
87
921
409
137
382
589
497
366
91
247
684
441
517
453
531
330
489
889
221
726
38
483
133
899
206
261
174
781
567
303
66
663
42
962
423
219
340
468
599
483
441
650
626
638
998
548
264
559
253
524
520
420
342
869
532
197
688
643
57
724
236
93
309
783
272
569
382
562
364
521
831
273
455
610
372
231
895
279
392
971
799
786
115
305
905
57
27
226
35
938
816
355
594
437
457
616
283
661
179
92
682
907
950
2
612
801
927
619
988
784
6
170
351
614
776
421
535
732
392
792
895
748
925
94
596
263
400
10
881
948
621
921
912
450
886
33
684
392
291
191
655
341
549
375
272
450
588
540
212
930
524
625
826
259
693
167
462
704
94
66
279
832
928
245
323
79
774
387
274
64
982
626
195
402
553
432
468
370
799
183
682
532
504
770
425
722
155
658
47
169
467
511
404
387
829
240
337
966
64
785
321
364
824
267
915
449
480
516
601
585
902
590
512
867
900
135
214
633
254
947
590
731
870
286
357
524
429
434
312
123
567
958
226
216
773
536
737
676
570
449
915
281
776
366
167
72
852
877
303
952
427
805
329
443
846
164
117
11
849
529
988
312
51
62
420
775
25
700
615
279
632
921
371
167
584
645
408
183
694
326
956
976
701
86
724
369
786
420
880
598
778
809
645
387
524
889
263
597
96
151
807
743
938
414
723
794
393
41
278
604
549
140
135
103
545
493
718
375
498
944
836
628
271
848
36
885
180
694
954
578
305
972
490
128
767
424
951
987
598
349
288
991
867
456
668
561
9
216
982
330
364
673
580
415
308
642
365
134
116
837
397
529
501
774
664
827
961
969
136
137
152
762
862
232
724
1
650
458
92
313
943
492
271
77
529
341
674
235
476
532
518
17
715
621
314
416
198
814
221
745
692
908
96
711
39
815
318
234
899
869
140
570
255
37
914
578
639
658
533
909
730
408
364
764
452
317
594
925
403
37
140
81
730
4
642
456
0
455
558
184
868
304
170
549
524
852
176
191
573
737
627
75
460
391
313
602
360
519
913
932
359
678
223
947
611
626
992
852
224
203
251
379
259
761
969
886
747
891
176
545
609
866
191
550
46
783
592
421
966
605
602
428
949
428
162
827
527
944
314
890
41
59
309
366
358
8
115
12
74
277
734
502
153
553
69
105
210
484
591
633
861
480
782
920
856
436
804
166
679
855
897
132
503
157
718
116
291
277
96
14
502
357
212
587
261
212
586
847
153
797
136
252
649
79
559
353
980
413
907
499
973
603
182
521
906
160
485
728
508
429
467
779
337
336
889
110
458
291
571
41
130
848
105
468
684
118
34
143
280
372
678
369
778
437
242
560
523
217
459
364
663
931
741
696
906
202
630
854
678
459
807
863
340
538
504
790
913
194
990
333
138
828
953
923
142
960
117
801
13
985
561
846
843
890
620
420
226
147
489
634
575
896
997
456
711
359
390
22
238
905
568
729
848
975
550
116
631
666
400
174
45
876
712
715
193
480
685
608
15
822
140
874
998
137
857
502
675
220
752
188
835
277
536
519
387
419
638
985
916
917
648
822
62
321
958
797
815
803
631
109
947
903
424
169
814
475
267
697
707
551
742
703
237
33
711
831
152
255
249
270
674
621
398
254
881
767
43
186
413
485
795
637
26
407
469
319
91
264
121
603
667
358
99
893
842
32
537
906
377
20
175
285
827
718
331
970
307
543
527
753
539
78
387
895
553
77
196
216
235
786
596
602
868
224
205
170
634
176
97
713
411
380
321
679
49
976
505
332
479
272
633
961
141
37
547
934
948
66
113
380
45
212
108
484
944
112
927
663
580
931
609
335
624
698
674
815
194
470
930
972
276
908
901
21
325
209
853
454
814
948
251
161
847
102
392
112
116
878
359
706
457
56
870
532
119
5
48
91
428
237
793
915
383
540
905
858
345
745
166
720
780
773
722
885
186
344
451
296
695
345
841
792
956
38
62
779
965
712
101
81
376
86
759
480
311
542
616
335
584
354
228
502
351
620
585
170
100
947
806
67
584
99
229
351
574
354
713
921
23
712
494
488
183
423
590
125
193
993
146
779
820
744
191
532
709
232
745
153
316
657
356
26
295
500
589
859
13
452
476
749
164
135
415
613
159
202
408
74
712
320
664
658
33
168
727
111
781
574
714
356
744
469
506
605
109
434
730
188
444
725
643
460
851
800
832
33
427
999
749
234
694
842
165
68
582
509
907
636
676
512
184
722
178
547
282
229
211
545
888
916
966
676
873
955
250
251
230
641
827
402
112
321
914
266
670
382
723
16
203
562
398
487
74
37
610
493
721
315
862
683
372
350
389
335
3
771
248
303
439
976
557
467
759
328
449
371
199
101
496
254
58
753
405
932
378
916
790
670
901
985
423
20
876
543
717
67
435
611
823
393
94
460
887
605
625
558
872
26
661
228
641
401
512
214
473
810
345
142
709
911
429
656
762
36
812
185
738
679
228
101
118
701
471
945
929
980
851
799
525
344
385
297
347
4
814
708
443
467
244
131
809
405
607
199
435
117
646
195
885
14
528
506
90
68
315
932
255
131
112
150
66
463
867
311
280
426
889
184
699
549
202
796
569
365
300
669
870
272
162
725
823
716
111
534
23
989
114
878
40
500
736
384
197
878
188
544
323
434
324
353
966
146
786
107
470
682
286
423
57
897
590
942
759
353
959
206
579
63
611
767
997
207
27
420
653
89
9
683
865
850
271
821
949
703
646
775
941
142
914
692
744
710
168
475
772
458
906
455
22
222
813
699
703
875
747
823
700
962
446
244
244
264
781
373
349
60
48
607
674
486
440
425
219
957
149
619
584
688
198
841
13
256
188
813
531
227
344
742
709
138
897
126
416
783
389
54
885
61
707
224
856
419
930
673
296
9
942
445
931
78
243
683
427
259
723
846
191
334
981
356
36
802
855
233
519
127
502
967
841
47
306
149
443
180
812
153
943
790
892
208
606
266
447
519
722
956
133
606
872
785
38
803
535
387
225
933
51
187
997
206
249
262
54
403
98
63
139
762
196
767
619
988
738
473
17
987
392
755
33
331
172
39
207
558
537
126
314
569
355
593
919
456
501
873
229
460
218
578
724
260
907
289
786
99
390
687
480
183
676
879
128
697
572
560
580
903
433
288
458
633
278
276
651
34
556
871
981
459
597
372
291
653
879
565
565
728
704
348
563
690
435
772
407
329
104
322
367
988
745
914
112
479
276
944
815
306
960
229
97
381
349
999
185
350
825
981
48
346
663
62
781
914
697
772
392
232
659
264
474
25
841
264
414
383
786
680
241
507
322
315
696
342
751
919
997
52
612
413
317
245
867
984
293
974
170
655
973
646
90
475
543
584
137
812
277
513
247
317
47
646
217
862
2
834
984
560
985
635
47
786
860
374
772
326
55
174
468
763
20
617
344
153
112
262
325
518
52
168
767
4
390
874
26
746
249
976
356
555
619
889
890
151
542
650
705
572
440
455
322
234
959
733
679
365
353
595
323
682
389
209
879
684
811
455
781
52
447
212
809
351
827
92
22
167
643
787
878
109
577
71
529
983
479
600
926
149
691
811
615
964
313
36
587
39
994
971
292
752
73
88
438
352
579
962
116
910
367
34
636
504
527
27
117
676
493
81
109
123
344
505
684
666
687
487
309
401
612
939
243
57
642
66
469
207
682
300
313
939
290
247
998
741
167
91
482
16
811
308
896
442
640
445
440
549
62
213
202
307
695
507
732
108
149
134
276
917
666
127
489
150
432
58
695
660
107
333
467
86
430
65
927
389
117
563
203
201
964
522
781
908
676
396
850
656
304
113
550
722
437
222
278
87
976
799
63
578
868
107
356
791
124
378
102
725
944
570
535
972
144
189
479
408
808
424
565
719
67
771
867
190
232
518
278
904
587
327
264
708
719
349
836
463
878
250
901
977
320
869
997
920
720
979
557
40
641
672
72
903
939
888
630
85
194
400
788
614
531
401
759
430
187
940
182
965
43
607
552
779
481
101
39
698
58
158
946
103
795
388
458
390
328
794
668
251
299
771
940
981
167
492
651
689
159
741
972
390
494
404
250
261
449
851
263
492
791
351
164
505
588
9
661
480
724
419
276
927
626
473
360
211
973
67
42
457
773
100
218
568
13
196
137
68
984
281
65
990
310
532
602
322
129
293
677
264
221
765
597
663
940
166
491
578
753
664
13
940
167
467
744
109
475
436
587
329
300
672
365
642
295
205
171
426
43
980
317
446
864
772
729
83
722
946
457
793
320
502
985
35
604
137
927
600
555
106
27
156
575
523
567
569
239
187
751
390
447
260
495
682
895
430
788
808
614
595
545
553
933
841
183
531
210
417
720
665
581
323
246
435
643
234
645
715
540
759
84
711
521
572
432
629
411
366
827
2
808
798
158
631
927
85
15
619
677
366
345
460
176
195
610
456
818
616
997
967
129
340
188
685
96
690
591
226
246
466
800
308
383
561
741
100
309
65
370
837
866
380
409
685
123
633
763
149
253
59
249
492
539
731
195
561
29
441
80
671
823
326
489
706
930
436
109
804
708
755
971
246
957
832
227
903
747
92
794
605
698
716
834
337
764
890
551
644
150
296
982
282
355
327
97
798
838
756
480
839
826
475
627
464
668
95
889
305
286
714
246
706
582
827
471
421
781
698
495
726
775
726
299
770
457
156
957
383
309
268
998
272
908
902
150
482
1
222
251
165
465
447
318
467
479
178
973
661
182
164
947
550
29
822
47
895
460
653
730
726
229
698
996
609
540
845
952
435
175
298
154
176
224
575
54
304
627
624
431
817
28
400
313
374
236
726
104
971
826
870
914
658
761
698
668
36
74
862
659
813
183
10
685
983
48
222
283
523
596
208
99
101
20
541
551
781
859
144
344
573
173
801
594
69
145
542
643
787
956
727
749
981
503
721
380
487
160
600
318
283
393
7
454
575
913
790
104
763
530
307
230
155
754
357
46
857
216
431
976
870
927
481
568
72
803
588
859
515
71
679
54
804
211
246
159
537
353
628
477
710
372
460
240
62
232
665
973
876
815
519
286
321
220
641
920
496
894
776
467
914
961
594
699
257
351
13
590
630
987
319
800
486
146
393
653
484
595
385
971
12
481
847
42
692
854
90
344
381
130
983
314
248
445
67
949
763
134
12
88
729
888
926
385
965
283
222
118
361
322
810
994
922
736
884
362
565
999
119
660
14
964
919
474
617
189
542
355
772
525
909
600
516
299
852
189
158
778
493
749
9
405
601
236
3
832
472
767
147
394
387
585
614
386
464
471
451
540
234
727
362
210
696
461
329
485
392
584
151
780
991
536
816
787
129
985
873
561
322
662
252
442
689
820
724
222
586
814
715
352
563
335
633
207
208
927
145
111
593
826
125
112
477
184
453
88
445
394
185
408
206
824
656
904
94
977
975
46
699
963
347
579
374
131
306
399
153
143
12
754
20
197
980
441
462
511
500
574
382
528
287
961
98
478
726
187
860
111
200
280
452
712
149
496
496
708
685
512
707
751
349
879
8
137
614
285
124
379
101
461
467
209
509
790
913
558
296
829
851
893
518
94
80
57
518
199
148
472
975
59
638
274
190
277
483
908
843
652
899
902
756
993
716
423
766
114
341
13
700
850
68
183
956
835
995
640
262
111
187
184
989
632
820
275
733
599
591
171
725
50
443
984
8
593
189
376
174
77
96
277
397
537
797
586
717
896
765
265
697
488
32
94
688
131
633
655
13
881
241
205
406
420
689
845
600
403
290
588
994
582
208
925
187
288
635
209
985
446
121
176
443
698
687
654
908
681
596
895
144
245
880
754
985
209
306
993
624
19
356
878
790
870
238
512
771
451
82
229
241
415
796
753
72
16
465
910
944
210
120
213
109
878
770
521
9
835
373
413
349
198
336
55
854
34
643
615
396
107
817
372
93
553
912
873
142
657
604
22
633
667
800
133
70
816
642
188
105
530
625
105
232
994
882
410
602
907
899
855
206
968
507
288
682
163
265
57
631
995
233
279
398
365
188
75
464
701
532
808
297
140
441
87
216
149
32
969
979
406
838
633
319
550
282
369
79
193
192
360
46
362
497
333
55
176
507
837
574
733
828
734
575
849
106
205
136
649
902
449
462
782
875
104
440
485
960
209
495
534
585
643
511
693
819
232
498
8
540
208
821
575
177
269
323
613
90
731
482
644
396
162
415
797
52
396
409
865
703
804
546
298
292
427
559
301
737
109
175
361
25
536
528
130
925
279
298
598
814
846
666
331
866
219
116
897
796
121
195
160
595
678
784
272
510
695
207
769
590
474
976
472
246
229
857
123
855
620
183
872
893
714
699
97
299
340
193
414
805
195
793
860
770
914
977
468
768
728
312
374
120
282
909
797
675
504
823
506
682
733
361
407
251
198
751
611
572
509
565
3
60
553
323
777
318
437
179
162
554
404
742
164
209
22
267
174
713
22
950
620
146
801
950
54
196
15
263
838
832
961
327
812
401
749
688
287
158
751
272
319
938
437
378
280
163
342
253
323
821
596
853
733
294
252
569
158
430
260
742
864
915
621
16
12
338
295
527
718
935
142
358
502
548
65
166
79
521
284
755
972
362
840
758
85
855
163
988
289
250
664
512
535
809
515
512
662
560
476
825
135
433
539
967
185
379
897
661
837
188
678
714
535
137
274
135
522
149
603
116
918
279
402
46
196
216
934
912
212
511
844
596
778
92
810
740
92
435
645
991
692
991
928
662
353
325
533
901
105
976
323
964
684
705
875
14
297
137
655
571
824
989
975
492
470
957
756
741
415
315
185
664
580
742
517
653
604
778
367
361
783
406
228
564
266
409
451
920
15
631
972
30
51
811
585
444
589
405
532
685
112
762
429
471
600
88
532
773
686
812
806
292
476
446
876
631
507
440
233
336
210
51
146
427
40
217
429
598
900
340
605
216
820
851
806
107
601
580
547
996
543
94
479
999
794
598
452
770
200
585
564
988
117
27
647
987
376
891
499
497
910
886
561
693
17
81
694
77
776
510
172
330
976
25
477
18
950
868
846
670
555
986
157
215
9
388
815
724
441
200
817
742
33
394
418
455
373
155
972
26
908
278
21
60
603
798
887
843
326
523
362
746
411
296
315
301
180
406
471
459
715
406
726
877
358
631
877
630
566
877
34
252
364
203
425
460
851
69
270
590
42
119
996
269
455
560
849
359
97
425
906
660
997
225
984
862
221
302
823
343
362
502
515
207
882
671
835
527
3
317
66
375
192
816
200
419
922
957
764
746
809
778
178
137
516
111
550
80
296
347
784
44
986
401
347
412
960
738
958
255
419
662
634
561
461
208
305
420
659
671
51
566
932
918
671
385
627
494
609
369
614
508
567
488
473
881
894
256
335
308
147
601
208
772
916
850
847
911
945
519
620
59
236
487
897
737
486
661
289
633
944
197
523
263
595
341
548
880
890
572
544
781
941
655
810
734
885
698
171
843
502
655
874
157
512
690
702
586
718
519
673
569
15
513
149
962
611
36
140
737
294
12
441
699
375
533
275
972
638
403
77
516
693
114
208
318
536
725
910
39
660
216
874
650
221
761
115
488
141
282
526
876
975
358
128
247
209
972
394
178
89
105
944
926
343
99
46
559
626
968
219
377
265
330
738
86
413
556
926
652
495
860
452
247
580
14
230
893
233
500
653
667
0
536
752
810
112
979
583
158
612
251
30
757
160
980
406
903
706
895
154
978
406
208
585
185
743
65
270
458
142
871
420
483
704
497
657
156
526
843
389
630
867
934
995
439
654
384
647
10
653
288
688
144
663
866
559
133
735
472
615
869
533
616
679
859
641
544
321
926
23
108
102
512
441
844
961
413
345
584
293
123
541
834
16
635
504
673
1
410
360
128
787
79
373
4
141
32
450
329
115
423
521
123
526
540
745
197
233
643
726
856
655
103
943
547
161
316
563
478
629
185
575
951
358
355
94
619
410
340
211
53
576
931
488
681
272
364
495
165
159
31
459
274
240
360
927
435
772
198
458
478
204
54
922
640
595
199
714
708
657
729
6
685
964
445
434
501
869
169
879
359
393
675
74
708
718
887
620
668
643
186
604
237
415
555
353
356
84
308
244
139
320
803
28
849
225
226
878
785
694
16
226
713
684
124
222
194
634
767
396
898
268
201
592
962
806
192
838
213
441
201
328
939
209
127
440
660
908
284
562
681
254
13
635
955
772
737
488
524
290
982
588
246
621
678
302
207
42
1
795
776
818
663
163
170
455
171
724
877
87
399
611
288
568
467
593
159
148
443
161
968
637
957
805
83
267
917
720
765
142
415
20
47
989
518
233
647
138
72
271
307
255
250
160
92
36
653
126
244
357
591
954
23
675
525
133
697
706
828
706
20
332
520
308
579
16
651
928
963
893
563
121
641
871
734
332
449
531
209
690
83
660
435
237
598
994
989
737
503
481
440
354
924
266
849
589
430
512
618
670
635
867
147
360
180
976
568
44
309
29
567
337
117
72
497
227
435
356
975
40
423
19
183
509
554
508
593
938
540
284
48
166
872
429
671
981
660
551
874
3
445
158
219
227
567
613
661
185
17
799
293
670
951
118
90
780
44
67
654
587
988
328
845
798
836
673
961
766
189
400
823
911
677
395
388
880
122
205
687
634
848
103
597
303
239
127
864
767
191
318
33
752
223
106
339
797
143
238
966
109
703
403
135
363
157
259
808
857
888
353
960
125
9
906
15
346
295
263
452
333
36
629
676
961
831
274
438
866
43
378
344
423
264
121
630
432
65
280
686
917
859
955
609
568
959
534
255
47
298
967
775
292
584
16
390
885
679
703
983
411
827
241
960
749
120
992
979
801
922
104
546
217
586
833
704
798
420
887
695
178
501
489
117
286
152
740
867
175
487
999
656
703
369
770
330
65
663
141
529
457
604
234
680
236
122
835
147
475
769
304
334
454
672
45
905
258
271
274
828
447
221
667
198
122
37
286
665
478
38
602
670
996
517
434
146
829
751
53
52
582
898
766
295
991
95
992
839
424
443
726
314
856
918
174
814
22
998
748
964
824
732
738
592
44
443
182
545
369
887
27
668
240
858
642
843
301
811
313
77
318
471
857
239
59
56
774
106
616
738
153
938
197
761
473
865
298
503
29
517
862
796
727
302
105
714
585
528
252
534
809
169
370
586
987
949
85
666
892
809
110
800
510
726
718
478
863
567
230
156
840
945
926
222
894
591
641
885
438
148
481
500
137
830
978
341
678
710
604
982
419
718
452
665
230
811
559
458
171
997
70
983
499
649
324
356
212
885
217
762
719
815
499
809
665
972
212
833
960
244
64
466
68
731
905
605
703
753
158
868
338
783
465
384
205
516
423
628
334
960
24
210
32
779
642
454
246
129
329
832
812
961
682
500
49
647
391
835
581
377
475
482
486
709
944
230
327
805
363
81
938
790
157
138
929
336
372
735
531
966
166
642
766
362
702
426
361
419
542
965
134
159
948
868
957
427
83
286
99
595
390
483
940
959
415
738
394
787
334
806
192
754
270
102
794
974
32
252
401
614
316
642
130
780
114
208
570
262
196
367
622
170
613
222
735
457
349
70
435
87
38
75
119
374
179
755
269
640
131
513
394
819
809
701
335
902
868
981
16
229
224
26
142
253
168
326
192
319
452
427
643
103
412
503
290
584
279
43
717
918
312
484
867
709
978
503
924
254
50
460
741
10
160
143
449
514
181
726
650
769
11
504
704
750
490
416
646
429
201
656
372
625
464
232
476
73
323
177
515
13
86
316
191
817
636
309
903
451
670
959
711
536
803
291
958
880
376
683
760
150
737
466
455
539
965
403
49
445
41
663
301
930
684
29
817
622
574
57
107
942
692
647
21
553
838
483
748
176
876
860
284
916
545
955
865
165
418
271
799
792
538
363
280
358
740
835
365
998
598
823
105
676
578
488
590
300
449
774
377
17
103
136
938
54
267
96
691
433
746
856
977
921
632
389
721
433
417
421
954
876
148
448
469
852
944
744
777
983
338
500
603
303
959
235
373
780
263
518
993
267
660
390
273
970
797
439
554
830
520
244
723
603
587
779
449
334
842
134
660
335
582
187
964
629
374
959
455
672
149
54
968
201
584
494
829
754
448
12
376
676
424
805
485
300
633
368
102
257
435
628
566
794
407
810
190
873
690
80
314
599
584
942
587
487
763
201
836
937
861
797
958
943
121
580
780
805
892
579
745
646
741
857
220
442
239
801
16
599
502
560
477
427
228
415
121
135
656
562
821
919
585
716
611
854
894
413
818
811
433
42
605
83
999
74
595
576
318
443
588
937
567
807
371
350
171
573
392
66
587
23
653
215
699
272
601
36
226
327
343
176
400
478
354
504
245
244
123
331
553
991
87
236
396
249
41
895
155
88
369
627
342
12
314
334
439
591
395
81
756
608
587
320
670
25
10
736
652
23
839
466
189
714
535
846
723
27
289
285
441
573
503
911
769
885
118
451
113
535
93
162
308
461
647
832
470
594
301
440
32
268
230
610
416
249
452
189
424
904
752
796
431
136
452
556
431
671
738
338
572
761
998
858
914
43
950
282
891
606
66
828
94
584
252
467
508
619
47
862
712
940
416
766
466
138
935
438
476
803
439
769
4
281
386
95
160
563
683
699
547
350
527
402
62
39
651
903
104
221
462
165
292
955
635
718
64
545
512
27
363
71
910
129
36
756
77
444
719
765
913
991
572
754
884
0
195
769
974
998
605
912
368
431
305
120
280
120
730
722
204
399
48
768
409
461
819
353
948
559
467
226
812
451
859
353
106
798
536
735
939
266
777
163
206
623
792
182
157
533
361
184
874
491
901
600
695
920
515
561
58
309
82
39
514
459
794
248
347
375
441
663
94
556
421
26
893
465
72
672
125
568
283
221
376
215
738
715
315
913
492
630
556
714
187
861
964
179
727
930
692
567
77
544
15
777
15
493
483
756
994
172
464
460
612
133
115
385
673
163
257
901
596
627
100
697
555
459
468
572
72
155
570
251
963
898
128
340
878
761
149
478
778
35
611
724
355
973
498
356
745
485
750
513
771
171
169
506
865
857
697
524
504
35
733
842
175
56
725
952
191
866
559
848
832
353
385
821
381
727
249
9
478
273
880
9
873
570
677
748
547
649
331
267
303
459
695
592
994
915
282
544
614
751
317
495
237
959
437
777
623
149
663
786
548
664
55
595
768
734
501
36
310
803
157
719
137
73
515
97
73
373
774
491
47
661
572
193
970
442
145
961
285
728
482
415
660
757
712
601
933
342
718
740
451
894
404
597
581
456
112
421
893
394
316
398
467
443
775
921
55
691
223
960
948
770
148
906
929
535
139
535
436
945
547
947
226
410
640
766
797
527
898
554
995
243
916
879
297
38
198
800
54
431
736
987
480
413
852
425
597
458
541
262
940
227
584
799
707
732
665
61
375
181
891
165
239
81
136
35
649
61
139
534
185
391
432
311
83
152
235
596
103
95
686
409
494
121
234
629
905
551
458
168
697
353
739
640
555
205
236
893
511
42
206
858
26
789
757
990
391
832
716
69
421
904
160
334
712
839
10
594
891
804
434
216
298
90
738
864
536
708
197
952
684
886
667
241
338
170
168
537
662
559
187
723
525
152
848
415
587
840
566
954
495
754
293
173
995
955
423
404
224
178
193
546
460
714
329
220
149
568
235
638
26
825
876
881
824
525
169
178
219
251
697
753
129
244
978
633
671
167
92
417
324
604
336
511
126
504
235
618
925
783
353
680
574
523
272
784
920
179
958
468
505
226
429
546
177
759
740
691
407
495
212
650
848
562
997
824
463
219
780
233
413
885
47
60
821
420
21
262
938
110
805
114
981
815
909
134
559
181
19
968
609
937
314
57
580
408
511
978
392
659
792
453
757
37
361
744
954
680
633
773
207
50
197
908
644
549
626
74
533
123
284
963
381
138
556
524
388
690
200
967
676
579
530
477
952
184
178
138
929
382
576
404
946
834
313
849
134
804
655
520
902
611
949
864
793
146
773
466
428
531
622
400
999
77
390
452
853
260
212
324
106
996
291
100
978
27
981
53
213
384
419
622
110
747
619
797
908
101
853
99
972
159
963
317
188
885
771
941
287
59
162
932
540
319
388
102
734
636
172
386
805
278
874
274
15
202
423
888
493
43
901
891
272
950
187
353
288
258
938
160
837
442
675
746
449
73
526
521
185
860
853
306
149
856
186
686
640
331
170
14
516
332
420
811
193
831
291
93
155
766
323
739
41
52
534
297
461
884
644
523
177
579
696
953
937
857
916
643
622
527
445
76
272
530
509
717
750
21
902
539
867
939
754
555
381
819
657
398
802
186
27
614
199
285
654
946
229
304
648
88
834
763
625
890
802
887
717
447
697
713
647
113
241
711
268
451
356
669
396
849
442
593
336
734
936
249
127
261
946
361
642
134
664
380
314
322
941
800
287
714
995
539
478
446
875
310
631
468
899
164
736
673
109
93
65
28
912
319
862
879
411
189
338
730
475
791
158
432
490
86
228
380
663
154
149
191
479
558
335
425
524
22
869
912
282
848
163
825
319
282
430
74
265
799
865
245
892
333
156
714
789
225
492
265
391
196
630
277
486
699
326
773
965
252
351
49
944
365
997
195
677
627
4
551
162
679
758
300
829
745
686
870
985
313
479
401
123
652
342
141
592
936
328
542
937
348
799
100
915
500
845
969
879
843
948
156
907
118
850
820
389
513
461
607
127
947
551
437
428
59
840
323
451
184
336
97
373
486
743
370
815
825
973
7
881
518
397
490
775
86
387
351
556
883
497
572
22
333
479
591
911
129
347
313
217
44
332
319
422
129
425
117
492
486
864
339
773
499
607
647
390
140
786
594
462
579
663
526
801
110
610
534
913
925
535
759
173
646
687
773
142
144
180
836
36
245
250
964
408
404
380
495
949
825
841
206
657
25
485
315
396
792
472
543
936
207
238
647
312
680
529
651
678
752
653
557
910
228
528
212
55
730
584
583
607
84
515
835
270
793
43
632
992
865
728
936
767
767
98
178
642
782
518
996
810
44
221
501
970
845
263
248
373
206
619
801
921
308
527
565
86
289
990
986
147
195
124
582
495
601
870
188
758
355
628
865
295
924
457
138
642
531
359
691
308
537
153
66
672
948
224
871
185
12
98
475
95
54
23
911
284
331
412
141
508
289
403
11
516
716
543
100
761
383
441
854
416
566
792
185
804
696
143
490
651
669
730
249
77
834
105
972
335
879
964
412
994
760
666
880
771
384
22
266
119
850
902
612
485
945
842
984
449
99
148
796
285
274
679
580
591
813
310
260
810
870
20
352
774
714
20
323
474
75
649
213
207
445
768
307
290
930
351
37
595
205
537
366
200
115
459
852
339
902
875
392
188
930
474
226
389
773
138
171
992
467
578
942
37
357
661
357
516
757
884
744
500
513
601
96
813
679
266
354
184
289
714
974
82
220
646
574
973
187
569
604
576
132
522
324
119
548
902
234
287
391
898
619
624
185
693
338
853
377
130
510
187
326
344
995
697
389
465
335
753
121
99
290
526
979
951
828
261
882
133
533
356
103
103
733
568
966
621
309
49
693
614
633
273
908
402
139
86
705
722
942
912
196
78
133
456
907
236
8
912
244
336
777
748
498
7
914
246
128
950
231
811
717
638
745
147
536
328
371
482
457
591
642
224
334
460
27
928
744
795
417
843
669
618
334
339
939
70
755
165
708
156
140
95
370
444
333
120
95
965
976
710
932
578
463
454
311
599
363
42
585
473
667
110
481
991
856
585
931
350
483
407
296
453
434
764
290
479
569
740
980
668
784
122
974
736
191
243
398
351
997
803
696
601
454
583
289
80
897
12
493
540
52
538
244
642
891
156
902
136
797
214
986
286
8
27
193
36
724
766
694
178
329
652
60
522
49
718
746
997
744
57
551
531
373
353
231
368
241
922
665
326
779
293
782
276
694
89
128
477
418
51
629
416
594
532
601
85
522
248
573
834
660
789
383
768
772
407
47
99
754
978
885
653
726
567
928
608
907
188
430
603
738
229
896
926
35
613
911
955
418
964
913
284
547
748
562
370
263
775
737
509
152
682
531
699
617
661
818
466
659
14
216
309
341
76
425
644
614
300
690
656
915
602
467
489
868
80
191
256
114
347
56
695
876
361
756
64
205
152
490
470
383
533
782
977
46
247
903
632
225
616
854
440
863
948
830
271
975
563
843
224
95
849
386
476
284
244
565
103
119
674
80
651
45
844
473
756
162
966
555
165
270
454
568
10
969
381
186
361
473
333
312
898
268
434
281
14
788
324
719
418
647
124
377
616
872
184
502
138
899
863
163
307
797
292
840
438
528
491
838
413
355
418
909
478
561
337
73
663
76
119
695
634
116
16
142
758
794
559
653
719
354
729
925
944
387
603
249
461
878
921
765
32
264
35
631
798
274
922
592
183
898
576
511
92
187
716
429
874
717
99
833
344
815
64
635
997
55
303
512
969
593
196
209
960
136
97
912
159
246
475
527
616
976
497
943
634
475
431
777
792
114
470
216
538
169
340
961
64
905
886
883
901
388
60
32
735
438
94
866
936
544
592
464
987
315
658
787
726
859
65
218
432
987
805
784
475
2
938
58
988
451
694
385
368
929
239
466
568
707
977
637
146
652
608
989
569
206
87
731
461
186
552
357
785
918
462
348
791
576
999
803
577
529
403
227
832
568
302
674
27
185
646
298
144
825
545
224
574
435
291
799
827
774
384
386
115
974
501
577
754
992
195
880
728
498
67
315
554
18
519
59
687
919
967
260
111
198
503
473
436
260
411
295
194
522
937
458
118
728
937
870
64
597
38
993
273
153
95
481
706
495
575
457
821
842
491
651
772
996
545
466
104
886
190
740
189
842
340
64
876
957
942
420
287
174
49
361
179
899
344
832
489
881
167
231
482
321
993
96
340
629
736
125
559
491
997
176
477
860
883
700
172
12
182
645
66
773
814
549
507
369
49
318
59
57
745
991
6
69
54
466
947
938
805
11
287
503
978
710
985
59
738
38
149
839
857
245
193
482
21
409
178
818
738
759
491
924
82
513
365
731
755
948
457
871
482
52
1
69
365
706
680
3
451
292
977
139
962
742
447
232
925
26
725
199
558
415
601
896
768
606
833
375
797
354
49
428
746
367
821
835
627
885
478
430
778
242
919
696
470
904
807
689
184
163
54
59
380
774
403
705
636
325
252
93
343
276
34
795
34
133
774
398
440
394
29
833
264
11
775
629
883
522
827
521
649
313
320
161
857
856
498
176
223
799
412
525
207
671
540
176
222
761
180
718
304
77
213
888
562
673
491
553
149
66
974
91
927
742
679
479
612
260
301
287
205
421
372
705
292
667
671
809
271
212
833
704
556
286
226
643
54
181
429
669
900
799
954
408
418
359
534
919
899
102
661
158
159
95
800
855
775
764
705
862
30
298
552
783
669
923
313
396
895
930
490
662
303
724
819
411
305
841
521
802
398
90
277
747
0
880
631
191
585
460
76
755
643
625
742
653
692
349
54
867
288
790
278
833
89
350
512
356
177
659
144
346
717
159
675
139
192
306
499
40
550
357
925
62
341
282
984
696
304
952
908
647
456
635
96
770
169
845
290
725
745
822
338
450
210
480
814
231
98
587
594
497
398
684
25
599
250
308
705
788
486
326
632
23
232
287
336
738
74
452
367
915
28
808
575
341
540
221
251
360
376
688
928
70
442
302
226
855
604
667
826
330
978
589
147
25
771
180
403
519
613
733
440
327
22
271
172
521
644
376
466
428
756
268
178
931
876
828
822
224
641
441
25
994
355
882
217
964
406
866
482
204
392
272
612
144
37
232
193
712
364
16
729
794
752
755
312
995
403
83
530
182
130
782
619
731
841
37
122
103
299
96
192
196
794
991
843
573
602
305
586
384
850
654
809
444
154
806
750
420
760
757
857
443
956
591
624
128
9
210
316
268
101
774
465
607
204
803
705
837
509
925
181
273
962
589
615
880
208
572
697
71
430
342
431
342
57
972
13
299
329
24
284
369
865
823
99
329
923
971
322
722
591
916
53
419
683
24
251
850
813
367
243
622
553
14
748
848
540
255
496
905
575
854
665
931
954
180
665
498
65
235
290
201
927
998
832
212
984
391
25
752
900
897
365
315
128
9
725
945
380
104
596
720
272
857
510
613
283
35
34
290
200
595
853
737
998
28
39
504
787
871
712
681
570
753
884
322
626
393
736
274
120
854
827
53
611
791
944
745
216
576
193
875
255
538
452
920
321
72
816
281
991
772
158
401
744
258
214
929
25
696
809
719
95
468
686
47
568
491
17
901
109
61
366
880
291
559
468
508
566
442
983
306
614
788
540
535
680
291
673
52
296
324
422
121
20
827
821
944
779
304
948
648
527
716
615
295
459
258
463
723
371
626
268
161
883
152
611
583
499
193
580
398
894
92
946
215
6
253
183
598
216
743
72
988
34
558
304
382
741
995
462
531
271
435
533
916
645
422
845
518
215
728
155
206
803
86
944
505
171
665
409
877
261
758
125
449
477
316
134
274
941
332
674
538
944
183
497
681
985
834
435
407
546
945
668
286
66
172
950
846
681
350
742
900
147
595
306
398
545
437
675
32
937
811
672
822
48
256
183
790
792
68
714
261
366
344
908
730
216
645
377
90
452
847
652
539
850
518
332
995
515
53
598
304
803
33
598
904
794
849
626
969
24
41
957
312
148
423
246
449
439
457
753
339
142
169
696
660
921
626
246
529
789
579
277
843
573
561
15
461
129
728
913
212
583
567
26
451
137
537
394
63
298
286
104
958
702
841
933
829
82
413
103
955
825
261
134
302
911
506
998
273
839
75
166
336
312
489
613
121
73
942
752
407
576
815
750
516
515
366
34
121
590
368
371
428
601
382
369
742
301
862
478
609
670
510
512
482
700
570
604
369
262
147
647
371
460
933
105
701
583
820
552
28
221
918
862
175
741
465
485
512
236
667
544
779
159
25
139
744
505
602
540
470
395
520
974
138
620
345
705
967
245
346
209
112
366
47
893
733
525
670
893
997
817
100
864
686
304
977
876
886
295
696
154
345
706
571
22
956
427
914
90
280
26
350
753
375
908
546
820
703
749
468
256
169
306
451
628
898
843
381
205
77
998
745
77
851
353
697
465
163
921
865
793
98
847
707
219
225
301
66
838
684
222
209
946
636
98
613
852
943
75
511
929
967
164
178
942
146
473
532
877
586
683
908
2
401
769
603
467
747
987
108
738
886
469
353
50
550
803
967
399
532
290
398
733
332
714
27
72
636
692
301
401
646
63
149
2
114
105
114
652
793
91
474
794
671
97
183
392
843
808
473
786
968
611
771
95
662
148
611
791
692
677
693
333
776
424
173
142
467
296
368
42
102
892
714
863
357
51
795
731
772
383
234
637
225
169
498
526
686
287
239
691
429
551
570
293
124
391
117
584
606
160
248
916
185
379
759
562
516
223
590
849
32
553
548
746
238
513
39
614
561
807
862
897
156
655
392
979
19
740
50
181
34
652
632
908
844
601
812
404
239
910
705
46
368
885
121
163
40
379
307
95
494
333
228
121
500
128
502
279
484
727
5
686
636
937
982
654
757
627
854
960
337
892
304
458
121
493
909
955
593
230
830
165
809
768
816
684
73
422
683
52
82
903
829
781
45
520
722
962
506
346
503
247
325
28
814
913
610
388
109
29
793
5
104
419
72
519
354
177
953
524
665
793
469
973
984
777
8
837
839
742
920
13
187
956
219
503
125
451
479
747
600
521
302
578
138
823
239
114
896
446
892
901
929
9
608
993
751
922
49
607
349
945
285
592
482
254
388
405
153
771
870
777
546
560
89
401
691
944
418
940
566
236
570
353
949
279
970
966
256
882
368
258
785
212
648
242
703
757
277
579
882
48
8
295
605
239
388
870
825
605
178
264
414
401
948
197
865
810
698
557
313
841
417
876
942
785
881
294
509
130
219
213
438
112
9
546
0
419
255
877
449
995
873
362
969
384
987
628
962
221
669
85
141
168
1
850
383
641
755
42
94
796
325
484
739
339
625
430
838
465
861
186
865
882
234
278
591
571
77
184
467
479
699
565
638
406
99
962
106
833
546
32
632
861
339
480
337
428
703
907
923
387
686
271
505
828
642
244
525
226
820
633
813
280
710
361
886
864
853
755
900
499
328
52
817
174
307
517
381
314
508
89
410
218
413
298
35
264
668
622
641
994
246
675
997
102
413
148
667
604
322
395
476
451
235
723
641
377
194
215
331
285
15
830
355
98
522
222
305
522
259
791
577
830
132
264
728
917
399
212
257
515
525
492
320
398
324
662
458
328
744
930
492
467
16
279
420
270
744
842
661
806
279
994
169
545
431
732
863
700
637
708
717
417
688
613
942
63
666
92
718
600
593
965
858
960
608
736
965
896
553
394
611
514
35
285
16
134
577
953
181
171
228
621
682
30
729
552
134
696
294
892
166
676
943
299
150
206
884
676
719
186
419
596
970
47
190
40
893
696
805
197
561
74
480
100
594
439
67
768
534
963
567
759
658
99
403
369
603
294
944
375
313
112
150
807
223
982
477
507
194
716
786
38
297
374
577
612
625
842
570
509
774
101
6
435
490
351
537
681
587
786
303
722
372
645
879
103
919
716
104
364
536
899
50
51
103
569
206
207
458
913
277
233
300
930
947
827
639
857
724
498
704
448
568
229
131
89
838
860
387
441
727
212
649
586
263
636
848
705
652
780
601
264
339
444
732
978
101
506
47
5
829
267
16
327
121
284
123
186
90
175
328
458
466
240
347
85
804
805
9
737
456
625
106
680
353
364
624
790
271
724
918
769
431
406
393
835
166
167
867
728
611
909
470
141
25
163
432
784
705
621
608
606
485
771
839
954
260
631
4
443
364
471
488
331
759
165
45
495
368
341
507
757
774
613
430
619
599
500
980
24
435
350
739
241
508
238
591
71
593
361
17
158
122
802
156
660
444
433
613
944
820
552
855
519
991
826
847
116
350
30
747
158
552
304
311
593
229
234
652
654
686
793
87
304
629
598
492
453
351
225
916
979
518
97
286
143
709
899
602
811
512
838
350
942
109
849
701
573
171
770
366
596
749
273
92
519
792
746
166
179
553
201
101
548
257
214
112
389
903
335
154
570
348
664
124
562
946
457
927
531
616
293
866
858
490
939
95
198
191
816
252
261
668
954
473
487
173
218
247
805
29
629
400
157
646
365
311
847
135
81
331
657
624
480
648
688
459
563
952
931
434
24
519
822
317
530
315
599
331
395
316
556
437
723
9
125
644
291
751
168
655
113
139
46
895
83
642
761
118
936
828
931
579
239
828
373
54
655
651
103
524
574
437
582
363
440
106
936
652
611
613
886
893
78
991
165
308
825
893
433
714
74
961
273
812
870
688
851
818
882
124
217
691
495
876
68
272
526
770
849
566
871
880
650
656
616
46
924
977
489
853
182
75
392
928
290
172
358
643
802
104
88
790
162
373
568
633
510
3
945
90
459
969
844
564
765
753
100
472
891
519
822
47
884
879
823
748
570
652
707
548
576
622
957
181
858
823
506
558
550
151
528
737
611
255
883
764
8
258
711
164
921
589
808
395
735
948
503
414
604
223
629
884
372
37
263
468
826
413
674
644
498
815
492
680
154
746
334
989
4
560
725
2
145
968
896
994
578
713
106
469
680
519
364
248
467
625
831
845
880
133
840
672
25
680
251
405
975
225
683
866
507
543
187
585
16
57
892
128
964
733
174
766
537
748
758
766
934
917
984
368
707
45
62
507
128
415
899
252
756
296
558
321
464
62
494
654
697
431
760
366
316
624
558
403
356
662
582
537
248
96
303
426
872
448
65
944
52
848
912
502
685
717
638
429
677
149
939
785
664
705
594
330
373
733
975
751
829
735
175
34
626
364
942
474
809
674
371
498
100
140
835
109
464
593
880
433
204
328
745
99
515
180
911
258
465
909
684
418
850
705
348
184
499
254
993
88
750
286
863
676
144
169
628
762
40
191
701
361
677
474
180
330
590
221
661
989
836
354
552
383
967
101
2
73
11
203
863
125
270
288
599
794
971
13
813
221
506
968
813
11
49
187
71
493
541
638
748
5
501
497
359
85
991
442
337
774
852
7
340
762
564
212
652
162
537
778
8
613
497
31
799
443
334
278
949
429
178
833
165
860
871
422
364
140
885
943
891
350
31
293
834
353
741
487
770
169
383
150
107
49
808
30
598
319
773
752
424
66
999
823
655
782
568
829
788
418
80
308
663
819
871
51
417
848
687
129
215
992
596
471
725
421
532
289
241
157
12
179
328
630
431
698
341
775
856
385
246
182
342
109
994
901
460
224
632
8
583
419
703
85
408
237
930
542
668
781
317
99
764
365
520
857
810
433
698
273
493
746
510
217
779
852
202
637
454
777
607
759
800
778
20
30
707
54
527
629
344
914
135
705
622
770
851
781
382
840
716
43
142
894
771
892
625
90
275
905
15
18
751
328
301
419
627
793
736
51
118
940
535
924
579
459
494
373
780
549
637
847
684
722
787
417
611
634
292
956
348
3
302
536
879
351
527
239
849
793
187
914
635
399
693
908
739
277
38
114
959
977
17
514
40
454
151
380
807
522
119
930
946
932
123
555
258
233
386
39
307
906
43
750
186
921
485
841
396
552
739
849
41
367
107
923
459
579
301
331
953
661
4
226
403
234
840
3
724
907
316
260
408
156
280
723
319
292
51
798
864
917
361
412
738
466
580
441
620
34
884
626
826
349
8
373
369
592
317
979
196
923
127
457
93
5
72
499
407
43
112
27
596
284
793
589
861
97
929
796
956
543
5
796
834
89
450
693
830
676
667
696
489
807
296
547
473
586
368
39
61
577
576
503
775
332
291
695
752
99
211
37
104
677
623
222
743
699
498
522
160
343
837
58
907
810
829
688
64
79
39
869
874
780
29
689
513
498
686
633
270
780
364
976
255
106
868
561
938
84
193
371
865
802
58
91
374
863
906
55
431
831
117
134
359
403
641
769
455
690
463
767
940
445
656
581
283
513
700
504
519
994
828
885
876
799
13
264
344
369
440
705
727
985
614
204
895
345
178
53
0
237
294
497
973
523
522
759
905
124
176
101
996
404
728
571
138
704
153
715
131
706
827
843
214
995
946
103
714
74
306
861
224
503
500
61
260
173
253
123
210
457
325
453
374
408
793
300
847
74
734
454
419
210
159
64
397
655
83
724
749
487
599
401
808
959
796
213
345
650
326
465
708
56
650
774
864
103
493
617
394
31
903
603
92
450
881
773
127
326
785
135
581
569
630
727
975
884
352
396
354
994
855
505
127
888
86
494
826
927
575
874
614
615
903
854
35
329
183
231
699
977
992
592
713
59
751
197
301
977
507
459
501
629
189
122
171
901
425
950
476
985
482
79
493
31
764
839
369
230
395
645
175
18
751
643
380
877
943
607
331
297
725
131
983
858
100
190
982
226
772
588
944
854
138
43
745
381
320
349
358
334
949
700
920
213
324
943
171
388
890
339
749
295
841
782
96
556
136
924
0
312
437
582
432
505
926
527
13
338
631
811
89
910
510
441
199
123
240
388
317
285
633
482
168
981
129
229
3
220
486
421
398
273
123
889
324
21
790
133
145
693
733
397
266
20
164
486
775
960
594
159
88
956
975
527
807
967
203
787
418
7
19
768
621
210
596
782
710
551
286
11
92
205
40
898
271
437
662
266
676
124
784
315
226
779
371
27
459
310
710
494
411
611
688
536
199
375
465
335
473
209
516
792
932
176
499
647
405
526
831
309
721
34
811
813
270
352
906
218
926
73
122
299
187
711
445
16
482
759
996
211
859
436
732
800
35
427
143
599
663
31
702
120
549
197
934
757
114
458
96
754
650
470
824
672
961
560
958
316
99
992
240
674
228
896
491
400
697
808
258
767
160
177
821
975
868
734
61
990
277
465
559
770
908
828
918
243
930
811
992
494
520
61
586
271
269
715
150
751
667
786
842
55
343
904
549
793
372
532
544
822
37
695
647
740
287
91
353
306
359
663
459
682
379
781
43
985
622
995
837
831
480
405
694
803
760
453
985
496
255
188
325
84
448
4
152
544
96
736
391
748
233
644
207
82
932
869
719
741
411
198
200
467
233
265
916
934
663
35
255
548
661
670
962
950
25
40
619
731
615
674
236
818
987
485
180
791
160
933
15
187
627
436
711
53
957
9
228
420
515
892
522
112
744
160
742
39
882
726
68
203
558
851
132
89
970
898
176
493
535
114
751
129
401
508
240
690
687
933
860
110
924
968
957
723
653
444
44
120
370
755
388
947
640
267
574
751
458
383
253
801
96
122
973
634
681
4
301
108
128
228
824
858
555
173
881
473
756
926
50
262
8
357
724
676
320
306
286
790
303
42
158
877
411
419
790
711
59
518
132
358
962
196
536
467
72
756
329
605
80
92
411
311
970
287
177
238
800
219
405
903
372
461
150
285
635
303
648
358
763
796
629
857
522
790
944
342
871
823
693
914
303
595
178
710
955
722
0
53
737
136
594
256
93
332
562
980
57
157
600
643
440
967
198
194
388
753
849
827
735
375
826
364
959
740
620
489
563
436
921
777
393
786
347
257
501
221
719
501
403
482
268
206
533
3
44
682
423
480
961
856
698
202
117
562
672
774
570
684
543
950
259
793
582
41
813
952
327
682
99
129
426
9
68
8
621
7
807
935
592
666
624
641
218
617
704
436
718
417
502
923
988
303
55
163
802
923
995
323
951
754
208
922
416
436
405
133
911
148
624
39
741
46
676
240
985
417
130
988
332
7
722
760
434
516
664
618
996
861
404
87
244
706
54
366
906
415
790
344
283
951
853
622
153
771
83
766
112
94
909
441
39
9
590
843
832
217
563
731
721
223
644
139
146
786
45
452
32
35
415
601
44
738
447
500
428
745
297
517
433
436
520
282
124
220
642
954
743
820
645
892
104
568
652
147
870
869
13
602
344
429
307
734
21
648
780
320
105
939
48
492
696
144
210
542
354
152
500
504
408
766
867
295
301
221
768
891
808
215
585
942
7
402
781
363
739
778
928
786
706
689
804
573
690
419
375
672
975
351
269
90
611
920
636
865
113
171
787
694
735
454
738
783
714
270
537
471
783
104
241
980
514
804
536
319
450
992
984
574
459
361
979
361
64
652
354
555
445
925
168
335
482
455
913
88
90
36
579
306
717
666
413
747
675
593
462
7
707
904
459
320
850
962
765
349
52
958
466
687
743
736
822
297
231
893
670
797
878
524
622
225
205
992
168
352
125
660
702
132
488
692
369
430
177
182
577
56
528
454
53
44
356
970
434
745
643
255
223
455
331
122
528
365
535
584
109
225
915
596
220
192
667
188
395
728
887
532
471
34
697
193
125
795
692
886
866
624
797
980
30
948
701
713
651
301
726
576
156
236
632
430
991
507
782
517
791
330
475
697
556
732
712
635
686
216
802
557
622
171
0
438
299
797
204
96
407
471
789
575
196
648
686
734
971
782
308
357
790
914
572
729
143
546
811
872
674
458
555
468
216
934
779
119
62
98
485
677
806
834
83
984
313
552
932
822
832
741
732
797
385
935
341
297
868
974
605
874
123
366
728
378
844
905
734
623
594
855
864
31
458
33
624
86
810
484
307
787
305
30
231
586
876
984
770
448
76
886
975
976
708
710
903
840
816
300
176
307
159
100
374
757
610
286
789
207
484
749
67
735
98
121
35
232
200
80
504
713
52
874
9
952
251
228
552
371
499
409
2
427
989
515
513
83
695
545
823
142
317
813
289
468
163
964
984
616
128
577
598
734
433
613
215
679
785
126
8
796
998
983
14
106
852
256
892
967
154
812
318
530
16
314
274
278
859
144
497
859
969
296
619
361
395
906
55
788
588
480
285
713
173
716
192
440
202
75
635
598
616
165
741
434
518
116
977
96
598
140
669
842
806
144
439
371
850
350
798
9
746
405
612
26
59
115
682
28
163
64
831
473
220
1
952
896
826
458
53
810
91
41
966
141
901
235
447
434
828
242
571
640
175
316
490
267
294
929
235
237
32
99
910
452
587
432
26
423
62
499
206
22
393
324
834
366
12
41
426
183
21
0
741
119
127
825
582
756
808
20
229
193
407
191
189
433
621
664
290
520
646
886
576
879
410
282
173
287
138
889
946
248
61
31
171
100
588
512
840
597
197
980
211
625
522
347
378
459
301
959
288
802
717
287
106
248
4
991
357
546
866
880
483
854
146
797
280
183
41
63
436
426
707
994
631
747
488
837
649
304
612
607
832
310
714
671
453
867
822
734
971
737
26
284
249
894
594
846
822
308
661
380
511
651
893
341
506
702
605
270
805
200
296
985
433
254
68
387
189
446
511
640
886
658
210
639
800
330
739
964
543
361
953
758
371
868
53
844
610
10
711
31
109
193
589
634
317
644
848
151
322
497
930
226
261
761
108
587
340
632
687
717
804
925
427
957
41
676
391
603
447
633
209
290
712
225
243
296
242
671
981
783
887
392
418
126
826
934
565
189
332
885
631
873
75
688
451
591
429
437
877
749
274
327
610
388
607
181
648
739
939
928
933
566
803
277
952
370
181
960
734
927
312
332
690
136
354
86
571
423
239
359
248
226
970
11
118
38
737
899
272
20
461
723
627
907
130
101
274
83
229
884
105
784
790
303
191
512
700
68
494
894
765
933
581
881
102
9
703
621
311
426
177
490
903
498
95
130
975
193
629
572
953
94
675
784
411
994
168
31
67
592
71
510
273
589
703
839
753
174
28
589
875
438
951
565
111
331
787
60
899
103
162
642
435
688
462
44
797
740
176
936
959
986
652
376
647
216
564
544
448
265
659
615
168
723
34
220
86
582
314
868
508
396
70
911
794
83
388
165
348
590
333
873
593
157
812
725
213
93
864
950
300
413
17
917
598
889
210
215
857
706
468
388
991
743
701
753
428
351
350
747
558
937
252
183
947
285
935
485
830
316
846
206
939
773
1
822
730
445
956
789
887
707
920
484
825
122
578
440
251
112
427
801
619
409
665
429
61
790
851
406
527
650
271
653
439
643
601
789
703
682
920
258
212
2
767
597
249
176
964
487
138
796
170
755
715
73
719
67
781
868
715
786
229
92
888
236
748
922
49
553
193
563
423
604
935
143
806
269
5
973
145
158
762
129
794
37
559
915
294
249
227
571
512
828
755
756
864
655
874
543
905
104
752
618
996
37
337
112
958
24
884
243
551
676
990
515
412
2
278
521
110
280
677
145
695
130
260
280
260
821
245
271
386
968
239
880
219
135
518
212
509
226
615
485
580
755
350
765
651
572
38
983
979
807
94
334
618
58
119
965
533
397
513
322
163
173
897
315
66
858
423
64
327
264
906
140
443
938
290
574
383
351
385
385
638
386
898
180
85
465
800
989
646
561
912
265
222
382
134
360
937
136
981
565
121
743
736
118
835
940
619
966
873
183
286
312
440
969
164
755
323
959
548
152
789
467
181
465
41
453
315
838
580
296
731
928
992
54
292
824
574
452
719
520
293
150
485
451
685
437
185
296
863
271
865
608
832
297
278
390
589
87
793
667
48
265
360
33
77
102
761
870
931
227
470
368
832
444
936
99
235
594
270
694
887
571
701
743
729
413
785
913
256
691
423
90
641
38
576
826
632
2
263
180
745
705
256
590
269
465
479
955
301
930
806
411
164
956
211
808
568
161
678
989
194
843
988
796
354
506
674
841
473
560
274
590
987
739
316
765
714
686
934
23
473
834
487
901
664
513
814
969
802
877
847
25
436
918
634
446
774
683
433
456
641
671
175
250
130
122
468
838
336
344
868
86
671
530
439
329
174
610
832
579
923
732
269
144
32
697
547
806
452
730
103
838
86
249
13
363
414
276
607
167
736
673
516
428
431
794
771
444
777
818
132
928
955
674
118
885
66
562
613
271
15
923
818
825
571
953
813
449
729
285
499
153
804
575
694
8
879
680
437
104
955
860
120
642
258
361
173
404
883
310
374
331
335
454
428
555
315
309
750
607
592
899
647
531
351
720
280
848
996
612
124
775
440
780
942
353
814
487
789
559
372
522
15
738
135
582
67
875
712
595
128
264
89
826
35
405
586
659
821
292
5
305
862
409
391
702
961
829
506
793
723
762
643
228
574
836
445
104
405
934
652
758
215
167
926
102
455
3
616
48
525
769
494
117
655
968
748
56
596
303
914
458
659
536
100
268
150
561
849
925
311
99
632
313
427
646
390
552
801
393
301
200
978
57
53
860
750
463
629
680
868
164
47
615
195
670
668
870
333
73
603
172
405
304
370
206
153
68
761
649
569
669
109
393
97
381
467
372
457
500
495
371
862
360
10
716
322
295
133
90
753
423
21
759
532
30
591
629
248
826
359
30
334
994
801
751
3
197
227
336
168
82
992
610
646
905
240
18
95
965
931
664
321
283
758
450
990
454
125
63
380
629
216
733
435
41
285
687
871
973
72
914
746
188
881
352
409
278
670
576
90
119
534
635
404
189
390
251
173
727
797
636
515
131
623
870
27
363
146
172
118
701
313
293
627
399
549
385
967
306
800
71
556
906
46
956
997
865
469
560
610
356
940
754
508
752
894
734
153
931
41
51
321
561
830
585
893
59
741
481
829
272
188
246
549
631
109
139
407
913
824
872
605
569
54
625
548
893
682
623
622
216
829
701
742
406
899
819
812
267
484
642
358
539
969
446
160
912
320
745
943
992
182
781
208
232
955
606
438
759
563
858
878
160
713
944
745
990
826
815
817
939
759
140
210
733
458
22
691
769
623
448
712
861
120
851
509
803
225
989
771
663
90
677
561
659
609
970
675
643
754
18
235
557
235
496
249
447
704
128
105
297
413
959
442
534
396
253
945
523
853
677
717
235
251
567
767
746
837
611
216
433
132
107
7
141
870
695
426
736
431
752
814
747
512
689
433
617
981
59
237
690
410
502
382
419
855
547
641
341
443
321
914
367
481
725
810
730
130
457
375
530
983
624
34
573
81
355
6
26
923
430
831
583
475
982
783
212
117
884
513
617
117
486
732
389
937
564
97
871
346
173
964
354
968
870
516
831
315
5
266
719
705
199
78
427
149
588
946
160
915
660
595
213
926
713
381
466
623
458
996
259
381
917
888
54
61
408
289
520
788
918
280
681
789
600
332
506
711
101
683
889
65
784
651
86
15
210
45
80
623
693
443
606
739
844
277
221
198
336
364
349
74
216
489
310
13
200
498
907
244
381
99
283
841
146
514
612
347
861
995
133
586
460
685
656
201
281
245
916
801
285
240
361
370
127
96
80
770
62
42
487
744
772
678
613
453
609
319
287
743
997
846
571
830
122
741
633
721
321
185
796
485
674
221
447
21
258
769
698
562
622
152
483
430
481
517
660
72
883
280
275
313
552
565
968
240
806
232
921
944
996
328
295
477
898
532
611
138
409
316
327
384
906
727
796
880
87
470
704
300
260
338
270
225
133
739
216
194
278
487
797
283
201
850
430
341
890
385
98
737
931
447
865
481
157
516
828
830
458
865
661
23
737
647
364
281
278
58
366
358
211
578
143
923
88
122
756
812
111
986
353
10
393
796
343
601
190
672
730
375
608
365
152
540
973
767
576
720
661
519
837
308
34
267
712
178
741
447
460
4
895
268
518
987
6
477
14
635
568
972
693
75
393
473
6
763
337
692
324
235
366
1
763
205
653
87
504
109
50
332
131
525
9
375
651
218
656
607
880
726
614
445
397
992
919
627
471
761
282
150
101
882
5
15
168
638
233
13
827
943
37
913
93
893
744
176
744
802
565
95
960
848
886
819
87
992
757
845
10
193
646
748
394
20
971
168
482
838
439
659
474
595
153
207
87
103
654
688
31
854
656
215
665
434
272
519
9
301
298
852
29
921
989
561
629
854
891
405
42
968
416
511
819
463
193
822
36
904
338
852
195
71
680
155
28
399
72
46
650
253
922
726
500
790
198
816
785
801
472
467
820
335
941
191
224
107
194
874
178
663
25
489
898
777
199
400
953
527
752
497
726
172
218
632
114
567
344
604
590
45
477
333
33
177
479
654
638
389
10
388
258
140
221
338
1
273
493
722
471
58
10
607
936
112
113
559
943
560
586
425
961
66
117
734
157
832
427
360
481
404
901
843
783
382
518
688
821
301
826
698
753
264
156
435
925
990
520
280
842
22
175
185
627
631
754
183
74
269
734
567
933
244
659
191
508
737
270
319
521
191
707
577
321
809
530
797
512
602
423
224
193
942
290
198
341
900
851
667
371
903
188
767
96
470
143
453
730
173
88
847
299
883
506
254
303
109
459
79
389
764
276
830
226
869
0
696
425
192
489
195
283
413
623
104
81
226
577
16
683
122
309
350
39
716
289
274
477
450
566
122
901
626
84
390
411
920
927
231
151
895
355
926
516
213
342
308
77
816
855
42
783
434
757
366
693
349
163
969
283
75
871
891
38
475
2
534
34
497
513
668
844
39
128
575
126
235
188
636
920
403
654
671
731
85
851
920
156
692
166
425
153
696
629
714
978
996
308
127
197
513
499
239
485
427
205
643
163
925
997
269
901
386
157
618
16
916
275
626
180
117
504
252
342
391
422
226
853
103
665
981
207
859
180
286
521
607
943
275
879
60
109
249
103
12
890
928
337
739
890
681
19
954
204
755
263
11
157
35
731
299
97
291
622
814
10
896
397
157
828
404
491
417
645
908
197
714
848
483
763
759
499
436
539
40
743
214
210
802
647
454
158
70
539
882
311
533
983
932
543
306
992
821
4
22
220
944
786
640
142
576
708
467
440
165
406
182
899
397
170
839
128
566
701
956
107
978
483
65
149
374
78
916
443
207
278
206
405
322
978
49
910
524
788
446
759
485
23
859
52
586
710
266
560
98
429
256
278
705
925
373
421
81
596
554
896
630
10
370
955
185
504
700
986
175
505
316
858
918
599
327
135
461
68
985
941
628
712
126
623
904
883
28
401
230
569
172
959
804
55
608
512
582
119
910
51
307
160
45
309
62
231
198
148
408
169
683
376
605
253
647
377
436
188
207
823
611
769
511
773
819
455
592
62
727
53
880
111
883
315
349
45
888
930
525
421
328
90
785
29
204
257
636
745
38
633
83
54
15
804
669
771
479
947
205
573
423
143
421
380
263
393
271
77
811
718
643
188
81
474
110
321
248
530
851
68
694
864
834
224
875
247
598
145
83
822
37
527
76
657
359
663
550
904
762
821
815
588
994
510
89
407
54
926
893
589
158
584
329
73
204
849
817
428
457
205
902
676
391
617
782
318
337
903
212
430
877
725
438
893
945
245
109
448
46
411
576
34
229
259
667
961
538
460
781
27
20
701
876
721
651
239
17
699
720
496
165
30
354
390
586
523
475
812
63
970
495
295
196
715
560
580
378
310
991
403
825
14
773
120
976
949
804
60
619
379
968
201
239
786
801
373
786
990
541
425
417
161
607
541
653
51
337
499
570
850
586
105
552
544
807
93
539
35
7
970
889
873
925
470
688
134
206
825
109
160
716
181
735
627
889
219
82
263
159
40
278
222
124
31
429
778
5
930
96
850
635
799
106
755
260
916
13
14
323
105
856
432
226
130
872
904
662
293
44
604
791
695
295
225
422
447
402
253
804
484
719
852
257
555
717
716
459
633
18
293
451
238
226
915
300
141
563
234
487
54
134
920
978
494
625
592
118
322
117
194
836
480
136
967
650
222
570
993
235
816
702
157
646
368
147
324
767
842
146
672
707
705
742
665
143
70
26
135
740
406
748
131
534
629
875
403
517
251
389
754
862
975
903
876
657
986
810
432
652
951
738
52
80
330
531
823
162
696
712
651
454
610
559
526
836
51
647
806
298
835
423
448
235
901
309
974
458
28
276
795
602
822
752
339
787
426
825
128
621
75
173
68
248
310
799
474
747
492
564
320
338
772
48
611
710
887
776
162
901
444
61
356
857
387
495
557
918
213
843
879
880
11
47
715
196
543
302
722
862
296
393
762
338
104
589
149
830
130
973
721
190
13
524
652
604
757
666
403
220
448
887
106
331
384
502
85
236
811
246
232
578
295
915
367
516
238
298
727
544
804
457
159
552
521
686
867
545
565
302
46
649
879
740
316
988
943
213
297
225
173
504
722
33
342
36
845
566
674
113
198
545
661
630
227
205
960
614
46
105
487
36
940
157
471
963
805
298
235
738
542
36
149
76
665
603
615
980
447
905
188
629
902
463
478
197
970
309
782
716
466
465
170
450
965
455
408
198
158
347
809
895
763
791
922
163
262
306
224
803
558
351
762
587
153
202
7
914
700
848
267
699
25
339
113
27
457
526
24
385
882
626
699
460
509
17
895
832
83
680
748
546
433
537
209
753
768
534
802
242
979
460
422
967
401
112
672
375
102
552
618
325
474
346
508
509
908
95
405
368
88
624
469
972
638
662
563
345
865
402
622
734
967
698
201
995
467
921
950
544
987
641
444
818
956
553
147
899
565
996
523
879
784
982
616
97
797
94
20
369
136
858
540
346
274
417
827
453
582
317
687
538
181
910
537
15
141
565
32
868
329
264
107
945
366
633
702
335
225
983
172
16
738
46
409
493
395
971
50
630
778
909
760
999
836
766
116
55
465
925
135
593
187
672
625
271
65
522
461
688
233
451
867
669
567
721
943
404
98
457
985
76
985
593
548
805
504
806
72
168
856
52
327
122
684
408
756
17
600
307
448
143
794
364
110
271
329
942
558
10
174
186
316
482
103
162
280
154
954
430
538
302
164
964
653
42
585
958
990
713
963
263
117
550
578
768
785
92
604
509
146
202
566
189
512
111
482
179
738
333
656
299
613
811
462
266
169
231
157
322
526
694
751
413
650
281
984
122
391
642
656
397
134
60
460
388
356
823
668
632
203
458
471
639
597
104
855
98
50
859
264
486
154
771
977
697
744
233
960
696
569
453
406
791
484
811
696
911
77
739
255
100
407
387
988
653
295
219
647
968
939
202
357
388
980
808
677
45
61
760
712
881
277
277
183
449
559
840
941
762
86
638
159
135
401
380
481
45
931
152
264
554
718
102
874
247
406
39
586
812
375
295
388
889
268
136
691
619
462
672
156
732
21
907
344
610
761
33
769
320
36
522
869
68
231
495
300
620
590
453
700
934
714
351
557
884
233
987
611
596
650
504
860
736
337
302
371
715
465
976
551
787
521
695
649
222
316
8
3
207
495
631
999
744
288
104
582
61
215
20
66
359
403
197
127
919
813
506
387
911
546
477
285
149
569
69
135
682
161
535
243
484
54
50
233
115
671
443
551
70
885
81
877
624
786
114
856
149
214
42
887
410
524
610
19
992
175
899
797
510
318
459
307
948
142
29
994
359
238
486
325
907
440
317
109
283
885
385
846
570
38
527
356
601
317
858
610
773
189
634
370
144
503
194
341
972
255
349
5
979
57
894
41
733
747
420
177
505
399
385
214
767
457
497
189
16
963
314
662
237
902
998
339
472
128
965
444
217
31
171
91
964
486
313
964
177
680
929
445
927
653
778
361
504
289
131
41
919
901
393
34
818
496
963
80
790
30
887
373
199
888
844
253
368
646
822
381
688
640
519
493
776
107
74
808
351
589
531
574
554
143
477
803
164
183
363
520
553
695
584
243
64
929
647
665
643
927
470
594
804
357
491
748
891
844
902
537
972
8
284
734
201
383
874
34
24
330
600
758
406
577
291
639
937
902
703
115
292
468
834
11
201
878
487
775
691
701
165
849
955
535
301
532
173
232
264
59
996
9
164
598
656
321
614
21
869
516
853
671
96
225
793
909
152
571
927
585
410
822
716
876
12
420
1
825
658
60
814
4
671
271
703
477
153
317
139
15
860
193
660
50
780
850
293
124
656
237
880
403
30
119
401
519
616
903
829
59
371
529
906
909
691
434
325
247
971
595
955
58
652
49
658
435
54
571
884
810
562
431
382
75
577
976
437
859
9
284
384
234
393
128
934
321
384
614
235
390
452
304
994
423
174
62
734
607
445
362
42
721
839
126
390
85
835
802
328
339
19
826
902
867
681
351
538
532
192
439
35
140
977
271
124
562
515
372
810
997
389
361
139
614
723
582
710
919
116
387
63
683
231
562
955
683
707
815
88
539
43
9
76
684
683
57
156
805
169
379
79
416
457
137
877
304
315
14
43
168
529
358
790
489
966
831
573
749
509
681
857
658
528
318
828
409
872
782
804
393
516
942
35
420
0
890
279
344
394
524
412
885
567
333
381
630
383
162
171
323
762
761
929
638
195
35
594
195
505
699
422
959
976
211
525
621
821
487
662
629
673
116
882
750
821
544
932
614
631
675
380
756
225
152
31
923
992
125
923
969
505
608
471
948
337
452
74
795
573
145
558
862
438
988
172
872
778
477
99
890
365
343
230
274
693
213
440
227
225
332
467
888
704
141
586
999
469
699
56
648
254
851
734
998
9
779
736
661
410
613
766
272
218
845
586
307
766
120
194
847
178
437
820
283
123
155
177
474
658
927
496
675
325
156
824
982
132
863
509
794
329
4
852
620
627
341
860
458
320
68
826
881
624
627
46
254
925
100
719
917
318
355
755
871
101
773
643
298
81
818
550
62
490
375
757
353
185
457
603
621
38
86
425
339
369
515
229
418
203
173
951
982
313
433
868
927
143
62
432
218
885
700
986
885
974
421
221
394
334
823
270
870
454
899
118
386
297
835
976
257
49
994
631
710
456
979
919
95
729
154
161
517
798
873
263
824
215
912
583
199
673
882
714
996
453
750
276
387
953
984
980
265
988
879
522
681
673
353
549
773
370
346
817
400
490
840
793
876
149
148
953
13
385
305
403
451
497
25
987
714
698
89
323
982
974
703
666
670
197
405
69
459
873
438
301
113
955
752
151
740
931
727
876
212
635
488
197
635
451
183
897
595
47
677
160
608
779
794
9
153
59
295
718
55
614
150
819
96
219
368
393
878
67
244
143
183
740
380
564
66
567
470
540
568
332
739
535
943
572
113
751
297
758
269
395
547
63
978
172
117
742
496
156
435
60
718
244
757
432
137
458
892
994
14
763
347
429
230
192
14
717
810
401
722
690
614
217
47
198
714
915
980
720
768
728
257
240
791
929
572
213
421
551
816
312
340
789
38
686
674
499
677
864
216
567
658
520
692
45
333
859
922
539
60
342
381
777
454
979
260
85
70
457
682
708
20
220
752
94
936
702
132
837
175
324
937
566
801
877
708
131
23
131
667
175
297
981
628
427
269
975
675
701
343
958
791
828
139
454
334
596
795
778
835
889
731
307
456
380
646
566
349
497
963
820
190
123
466
241
553
723
900
825
121
570
59
707
921
238
797
632
358
660
524
470
80
276
388
113
536
347
763
277
528
608
624
213
587
164
803
786
566
739
795
695
104
820
998
853
221
312
734
619
248
734
462
753
778
575
568
245
154
461
178
378
504
783
212
14
480
248
100
546
911
686
171
597
461
973
937
26
899
983
73
403
497
17
376
356
702
552
826
171
625
482
303
562
149
545
690
913
180
733
883
42
563
219
854
613
689
710
579
942
91
543
266
974
858
774
714
940
515
822
375
439
958
105
998
63
58
80
377
948
274
67
93
240
816
30
374
81
506
732
489
858
856
574
414
78
71
369
748
512
413
661
286
534
757
493
785
785
206
948
468
913
475
862
833
132
51
575
37
356
794
612
382
766
43
750
192
881
331
210
41
810
700
215
395
239
233
810
437
228
906
303
26
84
58
152
743
895
370
150
80
749
645
846
743
749
404
294
729
894
128
958
171
796
260
971
872
103
851
899
119
4
92
240
152
389
570
589
421
50
280
680
925
255
599
554
886
322
904
523
150
783
793
531
725
743
111
325
54
937
689
535
554
183
617
212
536
470
913
757
146
609
880
589
788
561
919
466
247
369
279
198
1
350
348
649
684
249
417
33
299
530
584
125
624
310
722
544
444
652
20
156
21
619
176
53
696
173
204
40
964
47
534
141
799
563
456
45
430
385
197
627
341
208
458
290
57
822
915
904
441
248
617
508
466
972
471
556
293
635
211
643
870
840
783
303
813
25
936
998
948
162
722
15
687
234
5
998
806
885
329
516
56
658
502
332
728
156
145
109
355
573
142
404
638
544
48
216
748
852
731
615
638
479
550
629
955
432
332
736
439
589
868
557
71
512
768
80
333
660
908
5
775
867
291
803
326
570
225
846
29
908
346
121
243
346
654
750
703
3
496
314
199
546
54
165
271
114
488
228
137
765
241
399
63
493
981
180
804
440
155
271
762
11
789
351
610
645
550
679
154
189
742
747
567
442
82
170
652
147
993
588
146
547
890
542
667
841
675
901
724
930
926
750
44
723
724
926
140
31
771
784
393
2
820
825
880
184
557
601
893
775
25
828
863
963
142
445
621
232
184
919
744
104
493
636
299
954
229
579
430
689
228
312
949
67
668
4
992
413
145
184
809
660
580
492
304
4
921
667
408
499
442
221
190
704
263
652
191
831
293
444
560
870
528
127
154
90
688
784
968
868
279
442
422
1
788
482
5
98
116
760
327
642
519
199
209
307
768
12
923
837
558
563
882
334
32
873
527
797
90
199
218
353
279
992
337
374
491
506
695
296
813
534
673
234
239
705
801
119
625
729
931
628
285
72
44
241
457
390
713
247
98
956
422
196
125
369
776
782
863
102
462
778
529
96
477
217
266
15
482
666
458
322
636
373
949
785
328
313
104
878
237
100
527
442
105
890
277
377
631
287
653
104
451
550
174
379
984
840
735
631
937
340
917
992
134
394
264
720
792
371
600
641
308
306
620
837
506
604
846
769
273
539
341
586
489
810
473
556
301
253
567
351
183
909
956
174
426
342
829
780
573
474
328
201
388
157
259
745
295
96
215
233
65
769
309
16
283
478
463
593
170
953
897
115
948
368
150
782
572
366
373
512
615
364
37
301
465
385
640
666
170
87
202
776
742
246
307
647
976
27
925
482
649
185
924
864
470
508
342
526
505
852
422
160
270
32
548
825
436
308
243
246
832
296
273
461
461
687
428
150
602
790
659
529
37
936
608
663
540
170
83
80
456
855
796
613
534
959
992
415
683
601
923
868
800
464
62
857
777
220
811
372
147
348
817
740
386
154
212
827
451
952
296
709
192
810
457
719
5
197
191
336
448
318
330
347
94
582
314
11
746
505
828
958
213
452
342
75
578
874
267
720
58
959
905
799
243
839
729
498
78
54
432
158
284
697
554
785
514
251
532
856
266
482
886
927
450
131
68
94
736
775
930
223
740
873
332
782
369
482
869
709
783
448
724
157
778
86
365
285
48
599
138
92
480
521
151
243
454
281
894
309
147
618
238
720
297
361
758
46
707
435
971
788
220
273
804
590
872
934
226
743
300
780
677
905
760
791
904
165
671
413
3
61
397
744
135
273
534
56
810
264
521
575
521
350
958
245
825
892
536
692
402
301
51
609
833
938
319
942
485
145
670
941
228
19
539
12
568
665
593
370
102
898
874
629
807
641
524
567
15
565
104
722
892
174
140
451
137
64
67
253
419
514
48
239
355
241
323
544
576
287
712
142
36
132
839
435
507
45
385
621
150
520
361
440
171
680
696
749
734
794
785
34
794
127
299
588
828
655
957
514
467
70
60
448
895
263
725
947
900
738
175
721
202
727
497
373
344
374
164
103
38
491
300
458
553
660
250
125
837
100
981
270
379
95
392
956
172
696
352
390
250
871
106
699
848
985
715
869
60
986
911
467
889
910
862
483
927
463
352
628
178
619
287
389
909
590
31
189
170
220
318
605
139
983
501
769
904
915
33
650
513
921
684
382
318
819
129
436
491
833
330
421
8
959
78
989
667
577
267
784
585
868
481
964
974
164
439
94
134
770
181
795
350
447
716
531
215
123
786
869
640
392
329
244
456
294
895
50
493
200
621
717
496
230
648
839
541
649
272
97
372
327
835
974
926
390
604
859
931
324
70
452
591
150
202
752
398
640
536
338
493
400
824
717
722
338
64
627
743
186
579
326
353
949
265
30
940
214
673
577
171
821
587
712
3
572
726
790
674
304
799
117
454
486
328
560
0
33
630
255
92
495
213
713
231
655
521
711
510
967
538
90
414
631
586
180
949
293
41
630
24
641
75
200
60
153
521
974
393
427
529
502
44
62
352
268
540
710
830
396
295
770
200
140
151
216
470
653
388
739
25
733
202
830
721
93
333
767
21
442
885
585
925
366
605
219
268
465
572
727
421
414
815
399
760
692
318
962
313
655
364
723
736
564
208
412
13
261
160
100
862
143
765
108
982
626
383
239
643
278
677
935
12
307
933
123
135
669
853
930
8
187
376
276
268
399
245
940
412
101
75
321
782
886
407
143
391
366
918
44
219
860
482
116
904
251
162
637
783
353
39
75
999
193
185
343
912
440
929
33
181
8
823
530
404
33
729
633
520
968
660
849
21
346
83
549
209
397
593
146
21
136
787
902
476
545
420
550
585
924
205
232
868
645
701
31
120
627
593
658
504
539
530
944
353
466
753
830
405
624
72
101
909
940
984
152
695
852
729
922
919
402
730
413
946
82
235
959
324
553
370
143
975
514
434
57
528
780
610
823
922
759
238
603
938
559
905
618
87
294
639
813
367
199
424
325
796
386
314
465
993
617
378
558
91
376
210
510
261
627
355
927
271
679
840
88
625
487
774
882
450
375
55
772
28
697
491
728
421
238
382
345
568
121
850
16
137
286
845
540
201
586
994
316
988
78
859
73
75
636
935
34
945
732
66
522
176
626
174
89
386
49
366
889
893
101
840
233
412
245
769
949
57
652
915
519
651
592
735
760
432
242
718
34
817
658
883
943
176
280
828
226
264
168
442
212
866
166
592
132
286
705
786
888
952
632
204
910
924
139
758
306
570
844
520
65
464
407
541
369
959
505
331
954
621
292
290
216
15
859
196
117
612
100
231
74
856
182
522
104
20
243
562
62
543
370
385
492
993
569
734
955
345
611
925
195
523
995
586
726
630
550
19
14
819
244
399
896
771
231
456
97
396
216
281
497
752
442
769
982
667
559
384
371
247
283
825
716
666
534
231
227
542
247
792
638
499
416
933
936
128
580
191
439
456
286
818
447
540
636
465
2
763
566
291
50
565
864
900
198
26
301
180
568
708
997
422
694
541
383
487
556
224
244
197
954
826
994
656
479
925
17
505
617
101
76
852
613
580
177
105
373
595
508
302
277
310
80
216
117
102
930
363
420
355
55
608
698
728
7
113
600
594
182
820
864
259
607
885
616
27
125
220
872
672
818
874
434
491
883
188
48
260
952
622
920
989
79
656
322
572
915
687
191
287
896
223
422
79
201
413
775
892
291
251
257
495
169
477
769
679
842
285
331
416
604
238
956
617
445
10
508
483
313
473
7
594
29
733
868
787
278
733
882
674
716
722
489
38
593
727
797
102
689
186
327
31
883
495
645
322
328
86
38
387
15
585
229
691
876
932
916
680
459
842
424
269
380
215
710
145
817
956
958
737
16
652
90
464
353
799
941
591
368
803
704
178
410
33
125
808
577
623
758
789
309
781
525
260
302
501
550
321
634
472
194
170
940
261
47
961
174
175
22
488
815
287
182
622
238
119
695
976
90
374
968
768
968
696
716
29
918
890
224
463
101
129
748
13
434
889
950
842
907
408
382
801
4
804
65
789
391
4
330
481
163
198
628
888
636
44
71
749
255
297
159
236
649
503
941
674
90
168
919
815
689
965
635
190
173
561
976
874
523
154
509
629
407
435
264
951
59
808
994
155
925
203
283
364
235
353
301
698
669
708
105
814
469
517
890
25
917
454
352
157
530
208
897
746
890
884
689
333
166
662
360
893
408
910
552
753
302
819
964
601
130
844
828
725
691
665
365
822
774
756
965
810
840
254
622
910
697
855
189
105
188
767
472
235
217
814
787
421
907
926
815
327
277
792
566
274
983
657
738
155
713
909
774
657
905
408
464
351
139
277
333
288
789
374
695
610
429
444
638
680
260
759
68
253
390
643
7
587
213
957
598
308
214
224
681
319
29
106
970
887
878
663
348
294
476
276
775
179
358
6
242
721
195
192
447
936
792
572
561
812
124
925
22
473
981
776
572
343
690
474
971
24
639
605
854
862
467
615
573
669
276
806
836
497
587
534
417
878
652
413
221
973
266
647
503
637
6
850
346
865
189
852
926
787
294
396
575
853
611
588
919
929
987
937
275
625
833
596
10
768
40
757
202
479
429
668
128
250
232
15
139
704
957
214
836
818
336
804
894
150
355
535
959
872
358
73
290
791
503
97
514
874
791
945
654
21
734
900
341
20
260
971
949
213
912
422
759
796
492
898
759
989
392
837
508
482
34
130
593
148
6
459
470
977
977
628
45
330
676
168
162
590
647
674
506
59
501
751
703
317
85
277
488
169
349
504
222
610
384
515
427
405
306
557
620
883
996
136
849
260
65
255
757
544
333
444
563
857
55
138
958
104
208
426
954
298
659
715
482
395
858
897
113
851
328
861
888
191
719
126
621
521
31
918
191
476
143
315
240
972
520
191
712
570
24
659
721
911
835
96
781
332
728
432
961
291
193
953
781
16
768
184
950
426
525
33
468
944
943
718
976
645
959
533
931
587
834
720
395
244
832
480
428
161
435
576
120
943
62
454
593
751
662
566
455
146
199
86
3
128
725
15
139
446
213
700
416
987
491
987
557
374
243
525
225
433
315
963
524
283
747
328
266
555
344
535
941
416
594
51
939
144
973
213
795
189
779
964
103
840
113
692
78
579
90
707
47
371
247
135
338
966
691
422
233
317
892
436
993
838
114
265
592
892
680
983
923
147
86
545
872
405
503
813
58
181
308
396
833
989
607
99
389
109
32
368
792
806
746
748
925
387
803
950
71
592
663
956
842
823
601
202
571
903
590
742
939
2
884
87
863
38
856
883
949
481
932
613
338
184
451
569
209
571
69
802
710
359
926
702
884
814
507
226
614
320
837
807
167
501
9
564
337
994
856
103
471
893
531
891
934
538
315
624
27
745
31
83
623
910
361
637
781
27
882
274
349
320
40
173
345
468
288
641
796
867
544
635
141
43
827
840
459
853
626
361
901
787
579
366
804
421
377
531
232
357
75
92
96
353
751
815
489
412
403
222
18
92
198
450
366
457
848
822
803
957
805
478
753
673
203
973
998
219
174
718
305
357
635
373
205
552
740
831
800
40
895
13
622
149
751
803
279
739
301
861
448
171
73
185
264
804
91
908
638
790
555
298
64
611
645
265
971
436
555
820
479
797
719
194
362
704
197
312
399
982
932
536
467
499
91
813
606
863
199
680
722
5
328
865
743
490
387
684
666
591
797
13
369
288
260
940
924
293
867
892
898
766
557
746
879
199
454
256
323
109
924
655
28
783
805
262
928
943
86
863
384
592
759
539
437
227
938
316
730
658
70
676
696
609
957
135
625
620
284
799
139
849
823
887
583
789
7
554
124
209
374
933
359
849
388
680
318
930
224
466
390
696
406
759
570
571
796
399
168
824
914
78
332
535
81
635
110
515
968
806
488
307
870
822
156
798
306
743
511
590
916
64
519
117
475
83
844
66
921
474
887
231
378
556
308
106
11
794
810
261
26
79
311
610
168
486
683
174
229
96
802
304
98
219
505
949
522
169
60
611
626
240
557
510
484
204
21
957
77
909
294
833
357
331
829
124
195
560
199
711
847
388
960
647
143
430
129
699
790
921
756
32
129
651
212
182
815
863
996
539
758
119
199
6
709
926
553
311
252
732
217
214
630
509
208
26
228
701
732
531
595
747
891
215
212
955
652
76
331
935
723
962
697
125
523
404
459
504
520
566
565
64
965
231
224
319
405
142
724
697
189
88
113
2
522
64
505
788
253
456
894
93
475
978
325
534
494
897
6
507
7
136
974
729
7
56
466
415
972
744
568
217
343
184
651
866
798
440
437
859
392
117
423
770
651
121
506
487
715
212
781
128
123
251
448
700
356
215
952
80
219
225
685
332
644
965
882
821
587
301
21
505
48
981
196
299
666
834
552
611
859
965
141
285
166
611
436
295
661
958
617
75
913
427
823
622
541
871
269
842
117
945
526
569
489
639
821
864
307
62
628
533
274
547
914
566
185
187
881
798
588
155
102
279
658
95
696
179
280
335
858
705
544
230
701
528
813
821
891
732
581
888
180
450
276
576
191
116
832
503
349
6
318
98
14
140
692
382
498
649
202
741
30
734
147
281
70
778
838
237
198
628
973
812
687
772
655
571
714
566
601
490
466
718
211
630
206
234
357
785
864
589
37
169
277
231
92
810
691
377
173
292
629
4
684
977
295
241
447
492
609
75
581
670
198
800
259
732
968
662
871
871
385
411
183
212
288
133
824
642
471
111
458
82
402
119
0
310
735
702
185
815
306
182
372
810
654
928
856
62
527
628
707
576
804
333
138
598
657
646
645
864
247
597
54
142
645
57
261
656
864
769
572
3
751
166
373
228
586
948
542
1
697
737
527
882
567
598
934
963
485
226
858
743
396
97
705
285
870
425
205
154
688
789
550
71
274
386
390
553
157
435
687
673
4
697
795
79
534
193
327
651
846
133
838
109
261
459
496
227
373
262
647
312
544
988
80
12
110
308
931
354
202
69
106
911
976
404
679
122
193
622
615
127
443
740
863
989
953
655
440
105
110
555
305
325
414
681
155
304
960
561
512
526
795
9
38
500
435
394
546
25
456
791
351
697
921
23
668
221
389
373
569
603
566
435
213
441
147
452
111
520
389
746
859
702
21
635
244
851
862
5
534
523
850
521
30
415
277
551
835
492
598
660
42
476
696
656
512
717
435
29
453
863
501
705
707
907
326
815
462
969
59
676
533
677
816
117
508
895
29
735
471
888
800
672
766
963
86
464
370
678
441
769
859
621
428
420
353
460
491
995
510
999
398
719
674
519
459
125
461
549
299
248
290
915
423
747
43
6
933
834
347
356
881
429
717
434
219
581
31
872
43
517
691
792
667
797
712
905
749
754
676
982
899
778
985
470
603
228
918
448
510
898
904
708
401
294
928
721
757
657
913
642
866
339
106
663
398
971
719
679
652
352
757
921
976
104
408
2
504
928
283
231
170
637
689
687
723
213
260
283
921
50
203
266
853
798
779
436
669
55
962
252
878
625
345
496
393
100
557
707
671
297
651
104
636
40
388
46
169
978
225
910
996
405
417
752
356
203
760
123
117
67
167
290
920
191
572
943
223
755
74
396
561
499
134
792
732
940
678
355
809
610
477
192
414
587
639
981
775
604
41
669
835
190
226
997
593
166
649
586
739
277
841
669
43
24
588
344
422
511
424
185
491
504
185
575
579
592
347
250
478
148
94
688
546
20
131
699
849
301
350
838
204
633
537
330
900
944
84
591
910
604
737
890
477
642
663
708
597
958
684
48
251
538
897
766
224
271
0
288
866
202
506
961
201
4
553
729
761
136
582
534
18
555
91
127
760
436
514
604
17
665
245
741
647
835
77
842
949
614
947
408
651
834
737
798
664
251
743
420
557
697
129
639
868
376
219
457
867
715
526
117
148
590
49
285
917
346
625
393
587
963
789
767
173
992
255
631
861
387
150
689
616
240
345
666
230
323
407
438
844
423
690
146
844
876
656
681
201
78
480
819
437
824
521
669
301
976
352
708
404
70
507
12
819
196
843
981
130
357
553
179
495
57
403
460
512
471
803
350
274
988
958
265
957
477
639
876
97
53
559
325
306
878
496
955
816
480
417
590
968
563
665
835
961
803
306
213
995
343
192
756
26
128
783
611
148
344
261
240
947
92
190
668
473
495
11
780
530
96
724
890
53
716
820
850
857
241
183
692
673
516
441
59
988
890
207
387
921
143
405
402
797
384
122
696
38
602
694
667
766
230
483
809
42
729
93
408
304
693
373
767
912
364
206
215
650
220
455
608
45
914
455
844
384
620
680
780
765
545
745
553
221
245
830
827
543
349
141
933
675
447
297
530
132
212
463
991
855
425
764
28
912
47
980
490
843
755
159
465
206
809
26
573
478
131
115
188
496
708
550
717
415
225
842
757
400
183
198
243
319
566
582
384
701
173
908
728
867
314
535
205
902
380
682
829
751
749
234
769
598
446
516
803
327
498
754
690
288
603
695
585
132
318
678
161
140
110
935
656
470
703
456
985
891
833
151
742
649
124
637
999
861
939
413
455
755
601
368
175
671
293
774
495
589
691
330
225
116
899
585
974
746
356
153
186
803
819
785
613
405
565
168
732
40
89
969
500
536
33
631
225
90
524
818
642
256
682
681
639
73
690
538
636
307
583
832
701
857
195
90
985
982
835
505
441
753
88
782
195
886
536
59
374
736
104
422
582
949
550
24
126
58
562
287
585
145
119
30
648
667
159
208
806
602
462
94
897
796
886
233
90
133
932
69
117
165
770
281
158
71
289
929
450
298
643
381
951
245
977
416
919
955
727
770
849
663
596
811
245
415
966
381
326
104
888
861
647
833
807
20
841
649
639
891
555
844
107
26
189
350
69
717
647
302
670
196
855
138
145
409
160
366
166
936
26
666
504
664
608
760
73
690
364
212
262
160
558
862
349
366
818
716
462
147
426
753
483
156
369
866
124
252
914
806
857
295
700
645
805
22
35
608
795
162
289
383
805
104
74
200
980
946
944
938
800
828
128
336
331
945
578
462
496
989
805
804
955
165
518
364
826
350
813
499
709
51
288
201
810
5
991
110
585
3
358
33
119
486
224
488
354
444
684
245
620
792
27
520
585
750
180
975
288
424
37
150
674
926
348
656
451
56
383
750
235
597
310
77
724
716
243
171
832
564
668
391
607
161
742
453
903
303
701
665
92
997
727
473
575
137
61
51
619
93
462
80
969
786
743
535
57
765
996
442
262
18
970
604
866
885
830
223
889
308
352
992
190
421
407
701
632
268
104
444
409
781
236
499
21
441
211
282
660
431
194
113
629
360
300
494
485
388
578
27
79
349
69
180
168
882
419
517
440
488
34
447
598
556
537
910
860
476
969
561
256
671
208
499
908
10
409
513
581
735
732
769
862
447
27
978
232
868
144
625
679
655
495
176
398
399
486
672
852
292
742
869
822
180
317
907
58
76
20
705
410
844
419
78
198
550
705
460
748
884
107
588
315
893
208
299
872
946
610
298
12
660
898
624
903
281
247
955
958
113
438
937
272
469
330
33
671
463
763
246
46
825
46
121
132
857
742
23
608
611
823
947
6
804
394
702
494
757
570
303
376
163
792
359
294
704
220
344
529
966
81
995
268
760
680
427
540
257
877
643
11
682
768
359
541
15
531
237
268
802
262
665
119
572
912
325
595
528
39
637
471
850
843
600
559
605
580
20
694
112
737
729
752
715
266
492
715
688
709
617
925
365
909
754
606
760
189
512
705
903
612
808
474
277
149
630
766
842
324
860
1
746
938
691
742
348
883
147
441
604
904
993
384
527
847
408
930
495
964
714
198
838
112
364
72
896
689
699
369
912
389
510
570
961
208
387
514
220
544
211
617
402
181
75
334
55
399
44
305
154
285
266
698
919
321
553
872
235
202
355
365
958
139
316
425
565
25
507
57
111
264
453
990
64
802
986
440
152
360
990
19
462
719
175
290
794
198
357
851
696
428
562
153
874
414
925
342
745
140
272
853
617
893
102
317
754
900
901
883
487
44
193
105
886
666
852
24
408
530
508
531
704
857
564
829
255
140
556
406
26
835
766
667
449
377
60
299
210
96
577
646
984
219
527
578
61
145
631
764
108
597
542
142
289
364
233
286
730
852
847
51
70
685
842
697
653
964
542
645
673
6
487
604
888
234
626
183
23
66
991
915
174
369
201
554
745
201
919
281
871
7
140
787
810
240
964
873
144
810
950
339
574
363
157
414
714
482
430
10
527
139
782
195
225
913
642
588
712
784
44
164
514
123
96
412
147
566
519
982
921
170
431
93
794
485
665
769
0
895
486
204
487
556
273
81
338
537
583
877
286
909
719
71
692
654
203
689
313
313
99
527
632
368
431
945
289
322
438
853
736
729
594
302
188
633
747
561
387
188
481
242
496
545
150
318
455
645
676
967
358
3
142
340
970
235
199
967
52
453
20
551
987
201
172
521
139
183
519
997
413
797
252
151
155
617
910
598
979
336
389
981
160
54
263
185
991
713
396
825
998
314
503
106
988
149
524
472
84
787
548
919
703
450
17
510
17
663
594
786
286
273
63
577
335
507
21
158
405
781
920
866
770
447
718
333
794
108
255
514
939
444
474
678
504
769
757
741
397
655
705
613
146
812
372
952
93
397
714
716
113
795
115
676
746
554
98
727
932
181
339
537
393
673
434
167
301
355
655
355
660
104
210
725
569
734
335
908
754
139
297
676
159
713
444
540
430
308
864
71
643
796
983
82
28
105
228
293
978
660
145
427
350
472
709
669
714
131
516
725
812
714
958
986
135
655
185
21
690
171
190
291
669
371
180
544
952
290
325
615
354
134
287
521
67
988
926
506
978
256
644
247
282
232
653
797
428
755
988
236
589
477
277
7
175
934
356
291
714
931
478
247
763
820
602
0
4
524
735
762
782
365
334
670
702
572
45
231
377
781
247
872
168
63
921
310
833
61
999
155
148
970
481
138
642
698
882
447
162
967
848
60
53
383
632
195
234
542
139
996
782
214
289
261
908
701
671
885
431
821
223
468
756
749
844
393
877
680
896
364
977
32
523
73
600
770
757
512
266
124
366
57
541
722
664
958
343
303
793
37
523
218
412
139
109
31
186
32
736
158
962
929
822
594
317
354
33
112
202
223
343
787
507
882
390
908
906
784
209
733
894
871
611
955
544
711
163
521
816
155
767
44
457
881
861
796
514
317
330
642
111
112
812
678
731
545
721
541
165
391
570
113
165
83
231
199
468
634
144
428
475
996
761
119
178
946
847
947
482
38
281
317
52
633
519
782
421
685
853
511
979
979
999
39
860
265
927
355
281
313
714
129
539
373
911
74
253
575
153
910
26
968
431
137
884
790
522
292
835
78
814
156
507
47
242
698
212
739
410
35
987
615
202
208
907
642
294
198
954
108
972
855
224
73
294
96
839
481
472
481
697
89
91
57
108
382
999
131
626
141
930
618
996
167
675
176
568
483
918
506
275
5
591
310
88
405
133
788
458
641
504
68
965
205
245
501
239
978
50
754
702
194
749
91
753
367
615
757
691
772
894
852
108
127
411
186
277
78
143
645
365
715
907
977
517
527
849
400
131
889
231
955
682
965
814
432
611
124
440
369
926
114
362
637
822
52
207
41
307
530
368
421
342
223
755
193
337
626
17
125
692
687
134
963
736
499
615
649
339
713
287
633
0
288
100
81
763
790
550
596
342
782
687
72
469
707
922
323
967
407
738
207
172
584
363
199
477
554
470
233
24
970
804
717
840
793
522
464
84
798
666
787
399
620
516
288
756
656
881
699
202
820
440
229
742
648
710
561
537
556
155
472
272
342
147
549
296
822
647
684
809
632
702
703
768
309
789
205
890
591
422
724
423
857
743
572
970
906
424
500
574
323
796
149
769
735
237
922
792
8
251
653
791
996
803
777
290
202
969
225
576
286
443
619
182
604
413
862
356
23
72
439
212
131
36
542
523
457
75
430
100
708
369
319
966
861
421
153
757
832
128
30
718
689
120
431
91
793
300
535
558
574
156
583
351
677
780
958
521
217
739
768
300
60
545
158
769
969
623
742
476
814
141
351
843
599
624
611
482
296
838
615
781
113
450
521
353
982
995
853
942
435
179
821
588
908
450
361
454
366
843
115
884
672
806
910
978
199
820
627
862
987
535
149
670
242
977
421
337
874
952
122
981
985
60
454
47
398
315
211
150
855
612
46
195
256
774
443
221
951
456
155
660
340
353
274
72
486
175
362
634
567
569
642
708
24
339
623
725
240
219
625
402
737
196
398
525
181
266
547
419
202
747
168
863
40
373
319
495
119
822
533
968
233
177
877
927
24
107
720
334
654
313
148
266
1
962
136
993
639
28
660
351
27
678
437
251
904
224
258
692
458
275
874
647
20
574
484
31
320
946
295
196
425
49
530
161
945
862
394
904
35
416
466
321
530
517
431
180
399
98
557
862
121
385
767
651
614
462
779
402
187
35
579
1
118
92
31
645
279
73
481
566
590
290
745
873
589
392
553
513
858
869
602
524
630
570
43
346
228
575
253
779
676
915
471
346
213
871
375
61
538
743
210
313
40
284
305
16
595
454
38
685
387
429
235
328
197
827
725
480
114
623
250
400
697
313
138
962
303
602
654
702
367
745
659
217
434
541
556
498
761
555
158
994
275
458
552
861
804
818
141
893
802
391
642
408
748
664
814
406
492
264
850
947
360
235
275
532
410
736
224
575
161
658
338
699
692
770
914
928
212
626
420
930
635
694
724
630
895
298
709
347
678
521
670
538
366
421
706
469
509
907
66
104
610
107
734
334
895
349
865
733
945
76
373
639
191
683
311
771
991
365
233
310
837
788
668
438
934
904
309
166
872
879
437
666
15
53
127
239
665
821
995
756
954
219
730
14
824
500
45
143
425
962
971
389
862
955
684
911
209
821
477
169
695
411
221
358
929
805
366
526
679
105
723
932
112
724
217
880
775
749
916
49
25
270
971
204
991
731
498
811
525
714
829
714
757
880
103
206
143
77
415
992
503
825
80
567
567
309
762
326
350
584
433
826
292
306
468
976
519
665
184
267
640
140
796
553
874
635
647
175
137
763
878
828
717
501
362
115
129
826
430
785
571
355
487
679
503
669
550
909
696
389
320
471
829
843
314
896
321
212
966
337
44
36
652
180
177
613
46
602
999
577
836
632
822
916
960
570
580
39
361
706
812
996
348
584
972
5
208
234
652
91
268
486
568
179
185
606
26
369
812
294
104
202
947
974
483
266
967
39
341
653
822
126
706
356
834
847
199
423
800
56
447
461
786
92
245
638
571
196
338
260
616
668
735
292
596
162
879
336
237
86
814
750
933
49
180
536
164
999
490
571
439
938
72
41
865
50
935
588
727
804
974
663
940
185
288
334
335
348
140
332
149
609
23
120
378
7
829
491
792
480
857
876
427
441
949
347
951
251
772
310
808
789
670
662
784
654
593
521
515
510
265
65
200
212
720
268
306
263
376
21
652
257
320
991
895
505
924
584
603
722
578
825
629
513
842
472
793
170
662
295
91
670
344
950
576
543
662
223
82
123
650
995
723
211
253
536
335
689
882
579
637
557
500
116
923
375
643
873
411
575
874
2
452
940
822
973
183
972
326
344
19
267
746
945
785
116
67
762
573
900
934
156
351
349
411
431
201
676
15
616
746
300
916
955
414
532
892
439
221
728
621
816
297
383
58
469
273
970
215
179
39
563
978
846
279
852
288
507
991
817
966
448
354
408
460
927
191
326
851
852
833
487
971
837
128
802
866
951
979
756
850
504
936
140
273
759
342
983
248
639
203
367
750
369
1
19
313
460
303
917
495
807
547
129
44
152
286
979
977
175
187
319
24
222
743
202
135
644
250
730
281
964
998
672
570
89
62
219
81
912
247
819
246
819
699
563
576
376
319
182
177
924
811
294
759
817
404
544
938
791
808
610
613
739
98
805
763
42
653
392
114
761
185
226
884
356
987
461
838
12
284
45
917
457
842
249
347
229
413
643
434
99
479
446
683
424
496
573
183
516
105
272
722
263
166
659
570
99
161
384
651
762
992
575
808
191
16
151
96
838
588
981
193
360
695
718
182
977
659
753
377
516
85
275
53
366
835
37
267
730
938
435
1
792
229
249
752
798
268
352
236
444
321
678
400
8
270
147
269
385
884
541
360
648
688
902
532
774
553
268
10
537
27
868
4
948
91
531
193
627
801
589
659
528
512
956
532
595
215
220
870
987
88
378
771
290
181
887
214
254
0
221
424
328
169
951
285
121
848
164
540
615
107
442
74
426
669
654
161
96
665
5
996
684
767
689
590
75
117
321
488
864
566
898
906
935
841
81
342
446
54
287
589
399
263
353
289
526
92
256
481
792
561
254
496
743
364
302
79
253
213
639
996
72
132
273
441
868
347
940
630
969
141
953
865
640
211
571
952
133
529
655
439
900
578
317
430
667
117
557
667
383
30
75
527
93
666
193
722
769
184
69
780
174
612
175
672
237
943
811
816
553
304
971
279
913
850
76
445
417
155
864
653
113
110
92
559
64
15
745
863
98
938
294
501
461
632
925
974
90
648
772
661
518
46
752
138
973
98
915
647
569
608
186
96
523
992
160
25
151
313
589
333
143
161
91
21
577
822
492
38
590
700
242
234
9
932
30
894
208
116
352
834
782
103
72
710
156
306
984
359
968
786
698
107
634
252
281
598
800
585
927
841
536
513
711
1
37
729
675
168
721
847
555
63
490
184
927
252
808
741
88
395
200
48
233
485
582
557
119
345
47
165
575
937
445
238
228
162
462
289
842
684
971
398
280
592
942
799
904
739
701
434
2
850
832
583
402
752
610
837
723
584
729
364
963
267
743
990
34
750
131
411
6
52
147
545
730
971
812
452
396
127
203
0
343
445
263
259
750
857
373
913
600
671
712
107
149
54
125
707
415
994
47
469
716
466
876
120
899
866
505
10
442
378
835
832
381
991
619
916
786
296
889
775
125
303
392
455
277
928
225
181
860
464
407
227
702
427
353
783
863
96
684
387
189
466
760
742
243
639
318
754
101
208
645
341
661
722
168
652
268
142
1
62
163
450
252
394
99
852
15
66
617
334
848
513
411
519
205
673
976
143
782
173
352
757
733
403
156
33
301
608
124
711
857
497
189
12
660
396
512
307
532
385
587
909
663
593
487
921
146
402
698
264
241
888
234
318
797
454
57
628
708
377
485
762
566
488
313
545
323
388
33
111
547
534
34
168
806
54
550
531
279
982
595
577
95
312
77
304
453
727
753
227
812
915
769
279
509
313
310
984
354
439
850
56
797
908
495
531
1
404
615
841
588
981
990
15
676
463
277
890
851
803
300
623
240
190
336
396
366
313
773
491
912
872
646
136
819
116
810
573
52
734
450
899
260
74
885
551
328
357
239
78
163
834
146
210
207
937
636
30
680
505
227
765
417
806
569
239
687
228
565
355
75
647
821
791
306
316
547
961
840
893
338
667
576
785
104
149
503
391
766
601
788
461
89
848
190
11
188
504
47
559
783
828
142
705
284
882
967
112
180
356
540
44
231
600
912
384
62
665
956
99
162
119
874
898
877
494
751
909
560
881
317
188
436
643
453
407
597
495
522
510
44
244
89
86
317
448
670
500
460
706
991
337
253
113
245
476
990
573
419
891
148
834
656
574
11
679
269
349
928
729
482
113
434
475
618
401
438
385
804
776
810
18
751
35
595
51
899
183
887
904
272
75
817
64
850
573
957
684
775
208
983
571
106
919
404
162
869
902
725
350
691
120
628
24
356
528
218
847
337
651
580
411
775
807
865
347
131
380
731
655
996
803
563
304
852
491
526
753
136
555
494
113
935
365
931
779
854
214
405
87
822
816
603
952
481
146
627
260
602
526
790
200
143
214
772
966
561
780
374
940
390
42
467
589
330
104
275
928
857
534
535
677
397
452
672
906
95
213
488
311
506
893
620
898
160
842
221
203
256
255
436
462
763
214
758
1
941
960
607
939
948
958
723
143
844
161
331
303
802
985
453
590
752
796
260
940
583
160
833
456
706
886
619
669
816
935
157
185
380
962
463
599
233
25
324
939
629
93
185
755
624
156
694
633
637
127
58
723
826
10
980
580
734
763
968
928
815
225
351
508
44
423
535
251
907
923
903
182
848
665
382
776
276
94
372
613
13
8
376
334
243
800
472
330
851
108
700
243
205
934
614
964
872
499
48
965
232
48
786
750
256
200
945
379
254
270
226
893
72
576
446
968
258
465
921
605
625
416
980
160
464
50
570
910
412
635
69
457
725
887
276
2
60
331
710
552
852
715
80
723
201
564
17
603
671
812
961
46
257
887
451
426
191
760
469
970
102
484
141
506
2
797
285
491
150
642
905
431
407
369
290
587
630
430
5
309
149
751
758
866
290
455
368
922
72
613
222
643
247
257
268
994
938
451
977
246
491
181
101
993
786
769
798
586
673
14
37
552
846
421
480
483
889
315
867
81
394
321
391
748
855
604
105
948
666
22
771
200
999
915
373
219
745
329
763
665
567
586
355
717
977
887
434
582
433
899
426
468
794
909
231
118
940
363
774
658
638
157
202
815
653
335
156
98
866
39
449
207
669
884
149
45
203
125
637
426
147
444
558
441
115
467
115
350
383
969
69
636
815
867
152
763
513
143
664
143
178
430
919
636
111
812
45
917
965
705
402
191
739
796
555
840
166
432
649
817
13
157
501
562
620
869
959
856
88
380
975
916
572
57
90
485
541
937
67
31
592
608
228
7
23
461
915
840
935
440
891
204
169
607
930
97
493
413
186
27
675
98
396
621
800
291
130
232
597
560
582
612
734
8
339
951
814
965
718
730
967
576
516
23
45
158
310
275
17
449
460
275
847
404
607
451
425
601
841
724
191
95
822
495
988
369
962
726
808
243
511
29
350
616
515
253
860
318
218
182
522
638
843
46
214
352
68
682
234
979
648
932
70
96
583
610
473
168
70
743
634
548
901
252
594
132
958
284
497
65
649
989
388
949
933
464
530
771
495
889
180
321
584
581
219
349
930
159
160
725
47
131
996
796
792
578
560
310
983
638
851
989
175
212
626
939
657
666
119
44
82
238
419
593
777
789
402
685
430
909
252
304
782
867
870
957
428
69
24
6
756
149
643
586
523
760
464
742
942
461
918
388
168
779
447
886
27
376
552
2
705
399
627
632
190
596
979
181
263
489
636
868
522
401
867
746
801
897
265
550
136
649
892
52
576
960
730
259
131
812
28
838
430
851
261
647
751
595
241
212
987
468
250
976
556
76
443
220
895
83
243
586
644
148
427
605
932
659
558
455
270
318
447
485
605
298
761
689
836
875
728
255
395
890
67
258
538
394
708
455
519
165
81
840
497
891
844
34
744
969
362
552
747
111
13
806
171
950
950
204
554
625
262
257
985
160
839
462
402
631
985
418
868
3
319
885
738
447
345
281
76
654
464
96
134
727
519
622
551
173
338
571
846
90
991
895
388
668
40
707
451
320
818
483
675
173
634
732
824
33
600
297
375
6
366
321
562
352
58
424
362
517
920
319
810
910
807
906
158
991
862
816
957
376
778
137
976
38
220
903
206
236
305
240
104
550
873
175
279
198
864
793
280
940
488
316
486
562
726
939
976
101
53
50
287
643
440
65
553
457
348
755
363
246
821
332
906
484
150
14
427
197
758
878
547
334
705
415
272
945
961
822
457
304
794
156
625
127
870
242
359
312
753
404
337
55
463
915
569
635
704
970
71
964
70
252
284
197
16
11
288
721
222
928
598
4
592
839
473
904
804
410
46
803
674
106
753
319
841
691
355
301
746
740
216
147
976
823
982
867
168
854
640
928
929
481
50
495
559
836
756
329
230
421
759
604
278
613
318
359
546
413
693
137
598
329
606
830
646
759
509
132
63
437
725
659
22
634
622
345
214
215
75
17
601
82
90
235
353
352
658
755
930
101
985
130
587
880
950
133
410
991
240
559
605
374
442
54
404
80
741
801
778
821
530
498
64
849
340
627
30
914
738
334
704
460
306
439
229
281
614
866
462
716
126
152
237
686
690
31
478
750
604
970
123
295
728
314
930
662
760
812
834
160
212
365
653
286
534
559
210
868
120
992
896
67
572
542
431
252
200
169
40
603
607
999
455
370
432
333
589
622
635
867
143
979
321
887
316
83
532
659
419
339
973
331
262
805
553
500
979
906
758
491
956
965
336
994
105
995
867
320
327
642
682
641
698
513
27
495
700
164
168
736
218
326
427
897
354
890
855
569
573
622
864
68
786
192
910
92
540
552
557
757
321
766
103
37
553
937
504
153
129
543
759
443
543
315
420
793
338
183
381
258
787
264
752
349
373
680
11
514
527
251
560
410
155
29
567
874
672
781
599
342
597
564
964
61
52
396
514
423
357
972
125
847
602
925
358
601
15
684
194
410
378
495
990
981
402
738
865
721
266
365
674
113
681
83
151
999
865
41
719
636
982
827
780
526
869
992
210
608
104
143
592
703
974
540
239
514
69
301
76
592
217
376
76
209
390
419
949
267
48
516
478
428
906
177
63
733
733
256
762
706
456
863
721
990
34
21
24
8
218
878
308
202
668
825
484
355
958
364
704
872
640
453
382
11
573
884
174
585
674
506
734
858
436
911
791
133
408
304
899
927
130
130
881
771
993
320
592
787
768
582
333
833
593
534
948
247
944
692
177
730
37
191
350
625
858
25
468
137
986
726
251
203
701
335
536
985
883
681
708
750
391
709
372
573
266
358
344
91
447
167
985
54
503
972
864
753
206
475
387
847
140
743
419
848
886
791
707
744
302
350
668
621
452
104
64
192
193
493
399
945
301
556
716
227
146
534
323
147
565
393
754
331
242
687
224
861
595
565
490
696
702
914
652
677
217
199
834
296
309
988
882
950
784
111
691
558
849
429
400
3
237
931
304
274
23
299
623
89
620
398
647
78
27
544
106
284
598
608
383
693
610
377
686
186
712
726
668
680
556
111
503
194
106
758
736
570
740
160
205
15
473
195
823
769
840
889
451
60
814
635
96
79
345
789
960
967
611
328
81
382
959
434
913
508
71
196
7
168
363
138
433
25
590
247
238
284
973
895
865
103
555
464
716
810
769
121
339
207
29
688
4
391
920
548
905
19
16
976
822
40
243
780
158
715
832
535
93
319
296
699
372
582
146
144
750
676
671
182
70
592
698
482
497
256
711
828
780
518
274
350
716
118
988
776
905
613
262
726
555
73
281
32
105
896
947
143
858
895
812
408
378
670
961
444
623
953
59
235
867
732
245
977
131
32
495
828
641
210
131
760
125
987
724
543
147
846
463
70
287
997
327
423
344
273
108
995
277
984
72
501
759
856
841
504
856
847
445
913
132
114
503
717
203
509
78
742
748
426
9
704
241
91
672
277
519
729
77
0
805
425
432
741
356
958
23
243
93
83
264
680
807
465
893
894
731
166
677
869
114
560
392
158
119
831
572
535
644
280
553
911
129
457
168
419
778
178
739
690
32
401
563
138
137
448
441
298
353
48
20
243
762
585
585
65
879
981
72
812
223
301
434
796
230
55
420
849
400
317
461
13
174
543
911
291
807
826
22
417
270
189
888
113
704
674
34
792
500
877
308
254
764
843
221
417
82
225
290
928
550
968
489
898
774
343
544
922
887
448
367
101
744
690
802
634
449
720
697
652
979
4
145
250
151
591
827
631
801
988
447
723
489
184
585
514
823
178
97
54
212
91
506
560
243
458
440
593
117
406
704
814
711
984
588
223
641
651
288
597
640
234
983
743
897
185
437
248
981
544
711
351
885
125
864
621
213
163
999
470
111
43
444
713
415
408
59
996
674
311
888
616
246
511
534
86
441
416
464
834
539
228
703
603
26
470
592
899
839
910
69
517
777
160
785
341
977
963
55
524
277
16
843
519
788
801
472
982
199
362
878
779
437
454
387
198
650
35
867
251
8
178
877
630
494
843
172
337
764
579
531
77
294
236
707
733
6
612
169
323
987
115
916
424
243
604
345
802
648
970
736
28
621
207
720
356
862
414
459
0
141
123
783
903
967
993
568
740
405
672
250
388
141
414
334
42
55
467
990
211
87
54
467
400
986
214
613
482
602
912
306
267
560
471
771
980
259
857
675
377
848
898
423
796
671
300
426
129
294
470
160
461
477
646
141
907
420
816
901
185
695
938
782
660
617
900
169
892
35
517
415
750
744
235
393
226
472
881
93
893
630
612
793
347
562
370
661
104
224
872
128
338
536
11
684
755
219
600
165
131
755
957
154
347
344
724
28
32
840
328
745
35
122
55
643
351
862
892
552
92
897
999
343
923
530
197
221
152
682
740
422
758
299
791
927
512
839
953
79
399
141
535
606
295
859
462
731
632
540
768
196
505
147
937
65
231
157
616
700
754
542
3
63
929
579
410
632
78
464
873
10
116
909
442
193
39
371
411
203
798
444
184
595
900
540
975
895
694
715
43
787
784
637
977
586
366
146
839
606
667
749
617
924
998
383
910
18
701
988
128
762
362
903
554
447
321
502
185
288
910
886
366
147
962
204
596
324
505
773
14
346
951
357
815
587
3
988
587
630
184
373
620
582
450
414
713
195
658
973
310
597
469
770
601
39
932
58
380
940
555
91
413
426
785
817
783
715
245
769
445
582
349
113
925
863
298
394
563
539
971
26
573
138
72
511
747
992
806
338
167
604
900
381
465
542
208
649
997
995
571
647
261
55
236
567
835
720
334
338
678
850
931
932
900
76
191
510
940
234
574
881
233
457
810
433
558
648
525
61
660
199
787
107
584
213
648
481
261
196
374
492
578
838
121
312
31
948
741
921
837
37
734
71
33
501
115
360
387
825
370
938
294
626
823
6
377
234
880
62
26
241
476
515
76
873
316
428
434
509
205
592
218
132
682
650
986
836
393
77
160
793
650
579
312
549
112
520
81
869
245
121
146
416
289
127
3
308
820
467
757
460
79
126
870
734
662
53
310
30
215
838
486
797
773
396
715
493
792
955
951
583
976
148
789
98
591
705
773
269
223
848
19
407
569
786
351
583
878
199
447
290
605
567
146
705
481
860
116
879
41
350
245
87
586
991
974
917
535
663
696
198
921
296
809
140
261
198
395
608
994
297
365
235
137
720
319
171
138
98
669
210
480
495
461
842
830
874
339
258
105
13
346
33
481
72
399
951
395
454
817
26
38
411
912
664
50
883
886
22
412
59
79
26
323
7
428
684
642
738
977
324
357
169
584
128
524
514
250
9
197
371
814
553
374
863
812
665
341
145
262
126
668
0
80
969
274
478
785
233
699
817
674
932
752
774
638
711
874
702
387
585
362
611
3
977
798
844
301
771
88
470
102
441
921
419
744
239
176
503
851
930
315
209
881
149
396
727
843
826
283
209
491
493
185
696
961
856
173
876
409
760
274
997
491
873
576
131
95
910
500
93
905
894
954
321
356
602
704
322
562
479
779
660
221
750
624
174
930
800
914
702
268
331
614
733
309
833
631
53
133
982
549
867
785
918
154
275
822
434
137
763
79
220
861
913
567
276
655
275
390
947
940
628
620
704
791
291
4
925
155
160
982
947
784
341
63
722
903
584
499
484
48
423
314
894
561
883
88
44
689
95
27
216
58
834
133
238
188
212
76
279
719
873
614
861
673
160
229
129
708
468
973
627
417
477
140
209
701
590
360
113
92
34
40
161
505
127
194
10
430
945
72
689
991
576
144
520
841
4
620
608
44
257
677
640
494
558
7
791
701
423
117
160
330
699
292
305
731
438
906
185
249
141
559
718
859
130
39
409
377
885
141
281
491
897
158
460
420
142
339
705
263
786
586
22
999
340
743
147
305
949
181
370
104
757
919
786
524
307
300
455
120
395
570
925
254
646
633
351
664
96
292
171
102
729
301
931
998
334
587
416
240
573
238
897
719
671
750
852
646
868
113
925
705
934
623
944
356
342
858
72
700
229
858
281
277
852
461
955
762
757
490
683
212
306
735
865
14
128
701
518
674
463
620
413
813
690
275
939
878
106
138
983
533
480
85
608
804
360
714
295
565
29
830
905
961
57
100
941
915
993
153
149
21
369
177
672
122
722
112
561
352
15
111
243
351
448
611
430
614
88
826
480
409
729
318
417
943
832
97
958
474
508
142
282
499
954
864
543
681
811
148
123
464
880
972
536
338
272
154
81
85
950
331
470
955
903
725
345
242
624
142
608
215
352
3
109
673
259
671
276
990
998
225
591
446
148
807
21
357
94
590
841
117
970
251
77
810
938
994
210
22
204
962
882
276
825
732
399
825
33
36
168
243
266
309
885
470
611
96
386
90
327
186
969
34
330
687
45
779
221
414
943
742
554
612
157
513
611
945
37
659
924
456
686
888
568
816
618
770
76
913
2
605
943
681
356
909
466
695
178
467
702
113
966
747
348
171
872
338
522
440
997
518
160
899
309
316
789
803
792
937
115
176
939
950
774
662
812
193
631
536
486
902
594
501
828
462
412
326
230
582
156
197
962
687
4
365
249
402
742
476
423
193
122
956
409
262
881
661
90
999
280
803
653
338
492
784
288
330
237
206
290
911
7
563
536
951
82
283
712
25
105
3
33
281
843
327
595
387
246
923
777
533
174
470
720
863
752
965
217
578
251
19
958
36
88
329
199
422
871
650
903
951
148
217
576
817
128
391
940
159
470
994
238
539
875
919
667
71
114
983
971
297
292
610
87
350
736
131
156
571
687
827
171
187
588
453
243
486
397
727
885
209
911
781
277
513
632
673
122
646
76
681
544
947
995
325
206
655
320
897
205
600
651
796
91
364
67
158
401
383
995
270
997
284
438
662
891
924
1
995
106
977
199
901
722
976
947
983
633
311
962
813
659
130
812
827
348
460
467
199
673
327
123
11
584
500
320
450
823
423
985
452
135
709
851
394
43
228
546
97
710
561
763
712
990
408
949
54
768
96
976
540
954
762
10
282
956
921
566
69
68
768
143
350
195
589
95
149
576
193
942
428
951
861
392
586
760
474
253
427
629
993
43
980
260
165
330
336
875
143
338
876
29
80
483
562
336
652
709
683
52
451
721
937
506
660
7
601
493
254
574
801
546
179
890
337
72
419
894
623
685
68
543
576
965
819
708
250
367
926
451
249
936
219
503
262
814
945
718
574
566
225
973
624
33
645
358
516
196
641
228
56
384
19
897
571
421
642
681
912
194
766
362
882
459
4
776
801
171
953
724
819
481
968
827
298
105
541
537
403
706
400
263
395
514
515
828
584
549
298
214
713
331
799
165
539
368
227
321
335
481
84
408
381
320
481
19
337
538
582
148
100
410
800
890
454
632
365
821
691
156
275
394
566
55
756
380
234
766
267
811
426
601
175
726
748
856
212
29
92
466
394
827
43
404
459
179
553
562
258
626
80
112
878
129
185
593
413
998
125
418
425
803
55
492
376
769
948
634
909
783
114
310
921
890
746
628
618
200
47
544
7
834
377
414
760
290
31
609
90
437
40
504
96
798
868
313
578
489
721
983
330
639
891
42
452
978
556
532
22
377
168
636
536
640
304
630
731
729
747
983
288
777
908
473
74
859
832
175
506
5
843
952
363
897
960
799
328
114
953
842
995
656
33
813
851
265
327
265
801
309
335
275
780
575
240
37
982
238
711
931
652
697
541
315
207
388
131
314
388
530
770
502
692
348
919
782
203
550
567
130
207
966
951
180
113
641
497
459
982
644
349
183
5
142
204
290
580
48
139
135
790
228
883
366
599
135
533
807
794
905
511
386
829
628
145
91
258
995
301
533
33
716
777
808
274
95
373
815
990
500
349
83
109
430
430
1
897
217
554
461
494
566
981
494
685
712
533
362
29
266
900
88
324
142
631
318
270
173
780
588
992
43
793
739
33
246
676
710
221
406
449
19
305
402
76
964
339
74
655
696
573
14
393
213
90
278
393
450
791
626
391
377
367
786
495
313
606
979
815
94
110
946
452
102
482
844
785
443
253
557
846
671
843
145
335
410
362
230
727
827
799
563
300
347
174
20
460
804
908
332
778
472
916
792
454
925
337
133
640
486
564
243
591
223
478
320
202
945
372
806
789
935
346
716
365
458
308
117
87
400
483
644
817
511
907
657
874
307
319
505
450
353
470
13
517
896
688
378
80
709
749
706
437
460
364
562
844
632
881
26
59
291
54
324
428
448
618
761
449
825
504
159
271
842
401
727
41
607
400
905
558
133
392
41
394
316
424
242
600
238
106
493
775
756
733
559
616
561
5
851
774
170
430
736
623
186
928
126
660
624
896
918
989
543
149
965
450
275
648
487
775
143
977
245
816
136
555
152
680
22
825
592
178
743
644
246
424
6
589
773
580
167
235
911
834
574
389
568
679
436
755
157
112
611
153
538
354
915
376
323
152
624
31
441
987
952
441
527
297
968
394
612
435
414
239
255
369
698
668
962
588
266
347
17
971
831
503
294
512
462
171
519
823
814
324
959
644
197
846
164
233
871
768
727
12
997
665
921
380
605
888
89
587
259
678
189
702
416
959
593
789
865
838
822
56
988
623
539
556
244
771
864
37
652
746
962
242
956
615
80
529
230
304
600
578
696
339
417
167
673
529
843
820
373
791
841
617
177
971
403
396
366
899
438
177
725
880
629
326
921
575
249
545
316
388
254
895
824
692
198
751
961
50
410
193
417
536
115
416
42
810
94
135
717
705
687
846
962
561
241
65
666
150
480
280
543
232
93
256
86
317
556
813
613
99
532
701
689
532
863
372
636
596
425
821
686
525
227
723
285
957
222
727
299
175
876
318
656
239
764
23
269
366
840
144
913
200
553
947
233
52
626
749
298
578
699
270
973
668
347
680
285
535
537
644
512
553
415
910
976
83
851
5
365
912
460
807
91
866
99
921
970
963
472
221
474
370
154
373
756
521
649
835
549
285
691
240
921
945
771
232
681
190
343
663
279
893
374
228
755
71
198
915
782
314
728
160
255
331
331
475
286
917
463
434
477
829
206
120
231
917
163
76
923
770
870
209
839
697
30
703
145
209
921
776
80
902
437
621
861
400
733
602
194
202
6
804
167
861
678
79
976
602
912
457
805
245
847
603
557
919
86
352
105
502
133
37
431
481
754
820
796
208
609
489
801
597
279
43
378
778
873
580
513
973
638
369
127
934
769
722
837
124
77
720
637
753
558
18
220
473
94
75
896
768
510
578
539
315
546
670
969
428
617
93
27
650
7
972
766
856
48
617
507
370
460
686
978
419
489
23
323
232
476
986
221
685
760
460
459
512
542
472
318
283
641
984
888
775
897
962
870
336
738
210
47
927
983
354
468
326
191
183
38
299
212
381
442
116
605
753
407
955
808
76
459
289
857
977
377
96
840
501
890
537
124
955
765
679
162
580
260
28
355
495
45
889
993
912
886
68
721
596
361
64
645
956
877
582
133
237
106
605
742
773
869
254
78
669
597
705
918
588
802
323
795
301
698
230
978
182
573
907
942
133
127
246
78
824
762
518
464
14
606
773
77
268
124
772
480
96
732
944
743
330
702
976
328
897
560
305
552
963
596
859
829
43
63
898
306
114
990
831
938
571
545
304
704
788
489
344
488
449
158
362
351
855
90
193
405
808
372
889
233
44
186
502
490
134
358
355
635
307
970
934
251
849
326
893
67
850
390
759
152
849
389
723
429
203
647
469
772
526
119
842
52
387
459
510
318
698
176
974
730
145
919
91
354
759
363
652
57
339
273
423
500
817
942
556
501
955
159
539
109
32
73
848
759
345
443
443
285
665
110
219
788
132
281
473
558
790
36
406
982
342
91
977
971
567
101
629
561
979
311
505
955
923
252
170
577
863
948
869
420
7
904
388
205
343
350
672
941
198
725
690
304
50
931
923
20
435
583
894
485
160
22
102
881
575
177
292
966
744
477
504
612
186
377
127
246
949
926
718
286
400
632
805
331
997
394
54
777
292
421
474
403
983
914
410
409
216
562
127
687
7
722
913
757
794
195
419
259
17
677
197
826
376
208
799
820
108
591
337
544
716
35
245
198
112
938
875
34
885
16
537
885
824
54
173
657
6
559
593
713
888
377
915
294
812
358
980
315
609
398
116
962
432
434
427
936
954
962
187
535
860
889
955
434
715
866
917
663
254
115
72
97
427
75
328
572
94
357
397
597
636
46
744
703
230
637
739
816
292
124
72
908
354
11
659
54
249
327
6
582
128
905
934
704
817
978
89
391
773
459
131
411
869
647
390
100
956
24
412
419
295
185
337
370
982
167
583
327
564
56
839
400
96
575
96
578
78
559
592
446
567
672
708
777
379
423
828
563
321
255
588
950
938
368
475
135
739
262
991
710
767
284
239
97
245
187
772
831
252
294
695
170
434
830
878
986
572
586
893
35
938
709
231
394
855
716
439
427
647
642
972
712
468
464
482
566
809
918
632
378
213
603
363
287
924
232
271
292
533
430
902
346
340
405
844
904
172
397
597
693
140
137
154
508
125
772
734
806
552
368
769
421
435
23
772
444
840
573
225
781
11
622
821
444
238
972
921
874
163
652
597
849
230
693
996
918
50
206
38
503
842
399
669
108
536
735
76
650
708
176
212
908
311
647
40
634
697
214
125
529
42
256
646
809
164
337
772
870
318
415
271
738
459
746
431
176
22
942
374
339
754
121
750
253
534
232
740
43
58
998
219
508
949
819
126
831
367
562
850
135
150
468
843
734
221
283
496
774
247
181
19
165
246
325
775
931
256
474
783
161
910
417
703
912
810
272
649
87
260
161
106
895
771
975
667
111
182
979
413
509
205
679
98
286
630
661
161
779
605
685
601
31
196
44
802
340
273
426
482
889
587
167
744
846
554
88
268
391
921
876
379
811
189
223
719
977
319
928
361
639
550
605
97
238
407
834
519
140
786
115
388
844
965
110
952
624
294
809
208
406
196
98
379
642
541
849
469
108
55
590
436
987
905
83
558
35
906
521
971
595
32
233
356
598
515
153
117
966
303
555
581
652
806
133
547
821
224
479
44
979
830
769
705
307
593
408
258
292
66
713
291
649
595
522
761
297
78
209
265
143
519
275
715
514
874
11
335
532
409
824
719
292
161
599
514
565
820
754
758
436
934
70
369
617
136
462
13
469
956
429
28
71
460
247
738
527
860
686
968
903
336
647
194
897
397
771
494
805
442
601
637
80
982
790
845
517
938
575
342
647
567
488
938
254
273
120
966
387
282
767
959
388
704
703
278
192
134
299
180
686
861
755
41
94
394
718
20
611
903
521
88
992
790
639
724
550
261
189
9
446
875
239
585
705
1
469
105
18
386
399
899
708
879
794
935
23
16
903
634
788
77
833
805
387
547
767
907
80
401
40
839
98
252
456
469
802
292
991
82
958
157
924
615
376
733
560
273
170
736
696
385
89
602
973
527
16
652
406
662
342
3
521
593
22
688
744
474
169
556
916
574
645
748
689
969
574
547
379
132
369
269
443
601
514
231
934
753
709
528
239
122
699
757
503
380
731
577
878
597
413
201
264
484
373
941
590
224
800
739
384
1
953
78
9
857
806
701
414
335
680
421
694
284
309
944
938
665
433
808
847
268
380
612
302
760
248
878
396
675
167
738
105
653
458
464
92
605
858
3
6
664
632
342
14
472
708
120
297
100
641
924
534
407
678
33
868
62
854
342
450
893
614
450
558
422
611
249
125
908
534
944
877
786
121
730
551
571
606
430
693
975
20
670
276
236
159
883
585
926
953
303
740
149
441
863
242
545
192
434
7
158
123
432
987
727
427
236
490
556
420
569
468
497
932
432
576
698
267
83
981
239
164
401
503
832
489
447
268
636
485
203
702
994
354
501
724
39
85
830
882
735
525
394
116
639
761
505
532
438
793
548
615
764
824
200
393
63
135
264
640
479
196
124
863
743
447
473
236
914
442
922
415
70
539
917
82
473
806
138
292
688
423
588
503
609
926
187
888
208
615
114
640
573
410
322
923
342
294
509
944
96
199
421
793
452
244
952
360
923
263
507
587
443
925
574
152
668
87
584
812
731
617
108
620
84
881
843
997
420
437
199
399
566
861
446
293
378
631
785
493
746
527
779
634
644
246
371
120
864
579
983
706
469
404
449
439
321
4
671
256
516
957
798
731
363
301
223
982
61
194
637
756
299
81
440
559
575
771
80
200
753
825
792
659
588
237
365
96
855
707
561
885
325
142
869
710
832
302
19
500
82
278
832
477
421
390
514
530
994
218
402
695
853
783
768
855
455
423
300
947
93
319
415
740
778
944
716
913
925
918
196
125
901
800
863
248
103
270
81
95
386
169
166
819
294
610
497
956
874
914
351
506
965
581
469
779
571
816
401
798
0
467
554
936
86
717
841
366
998
903
822
216
695
4
969
826
623
308
711
148
304
319
674
90
389
655
553
439
974
246
114
847
154
98
594
29
254
760
246
460
273
119
584
740
377
91
71
103
745
737
233
608
334
753
996
884
330
747
436
460
416
249
551
647
627
518
360
263
855
957
493
70
508
839
171
371
490
153
936
926
790
359
788
75
608
107
381
586
630
900
893
610
972
125
556
722
578
778
935
742
244
367
195
461
100
16
770
94
534
414
375
635
628
897
99
70
274
334
875
892
68
776
825
314
288
844
671
400
732
709
904
630
773
910
537
93
832
362
33
93
548
318
427
904
585
366
652
456
773
87
37
394
28
71
409
897
668
527
996
263
375
12
551
591
373
203
558
315
467
619
631
336
941
878
929
443
438
317
531
409
37
368
961
824
264
938
578
871
234
955
775
935
622
956
80
203
128
137
714
291
788
120
701
618
928
410
70
408
793
798
170
149
891
613
24
869
166
467
301
73
368
165
278
872
942
344
11
105
587
228
984
460
554
62
541
70
87
965
902
557
438
437
669
788
831
318
520
841
757
10
685
946
261
703
785
587
962
532
336
994
222
451
30
121
876
372
304
538
603
387
522
14
74
352
866
692
640
298
869
586
632
838
593
822
652
974
348
158
447
777
734
660
429
623
105
135
536
883
843
182
596
113
708
990
76
707
391
654
638
576
830
955
568
769
306
418
102
426
542
644
808
779
198
822
498
887
226
378
199
890
270
278
452
973
874
519
361
64
208
666
499
681
132
763
557
271
524
263
876
996
279
795
493
630
601
604
267
253
278
581
994
307
225
931
894
596
988
874
521
829
826
413
485
589
521
325
793
603
306
187
165
550
280
534
338
402
523
850
263
269
364
39
921
694
891
797
600
527
10
747
311
120
59
118
760
673
321
733
244
651
143
924
578
744
569
233
531
895
287
629
293
756
842
565
948
983
127
516
12
363
160
767
725
834
138
415
349
362
66
388
80
520
361
840
320
302
471
481
13
11
639
410
628
452
978
166
611
822
53
767
632
668
976
708
441
307
261
846
251
16
834
845
461
915
387
489
458
378
791
802
124
71
336
791
933
261
745
505
531
399
711
741
251
470
540
159
867
341
304
749
666
213
996
106
869
935
337
380
256
797
566
549
472
136
232
728
756
439
617
21
307
443
893
296
951
13
395
291
610
823
500
418
400
699
855
366
88
502
560
708
260
831
417
71
913
697
877
56
723
276
703
640
492
372
590
389
84
537
190
311
135
186
104
10
720
230
480
5
710
786
513
461
494
668
42
195
999
230
466
472
60
99
251
866
171
584
315
15
919
337
938
530
312
665
27
787
491
921
870
416
875
247
75
839
472
818
559
147
720
741
942
95
54
733
620
817
711
783
59
326
694
811
682
65
460
893
46
149
135
439
608
398
747
693
326
279
751
801
881
87
642
12
892
242
52
448
709
478
588
190
394
848
21
77
226
7
582
112
418
281
341
787
125
369
41
454
507
321
13
254
198
667
888
430
969
682
429
104
738
186
285
364
614
521
381
384
789
33
345
84
58
470
322
515
126
254
879
149
755
165
433
75
798
454
856
29
953
114
104
835
842
27
590
705
850
702
126
32
190
723
840
872
250
391
183
629
444
194
288
677
155
487
64
472
973
47
114
641
796
94
642
209
271
523
906
274
909
66
484
931
979
523
252
744
198
824
635
79
473
862
505
460
591
521
739
549
825
23
497
853
946
356
756
743
337
384
906
335
523
328
858
857
944
483
344
250
59
11
522
921
504
733
168
390
985
546
580
363
396
124
182
739
936
635
491
638
683
371
276
854
775
448
462
401
271
914
620
386
151
181
260
146
687
182
314
649
676
174
878
780
374
202
431
545
10
283
840
10
20
341
888
295
779
874
308
643
727
687
131
971
641
696
22
374
383
284
164
951
123
772
576
805
63
572
698
320
779
632
725
699
787
437
599
542
159
452
119
18
270
146
803
749
560
938
54
653
628
14
194
22
578
994
843
610
281
221
624
107
10
955
464
126
806
862
557
856
843
762
440
20
702
291
799
496
177
31
268
803
636
121
829
497
569
643
287
777
141
388
437
623
561
40
228
268
726
342
21
599
992
404
895
717
541
782
122
16
344
799
68
359
669
727
0
588
766
187
325
630
277
980
841
416
531
802
352
191
628
701
0
169
415
620
749
883
765
78
288
43
935
681
696
434
868
785
514
481
628
704
443
835
35
121
144
985
91
789
1
8
465
67
107
152
840
948
852
876
686
650
9
185
56
221
692
312
779
735
692
69
894
246
439
379
425
975
16
416
570
839
68
192
879
377
187
217
417
39
279
540
633
500
775
932
410
429
703
128
44
95
13
699
402
746
641
937
343
367
298
497
878
542
344
396
600
70
80
371
714
625
80
292
619
824
255
746
435
144
407
538
37
35
634
809
927
885
340
622
778
526
94
527
736
385
376
878
43
101
636
376
44
875
187
447
936
549
210
494
265
927
937
395
915
536
129
536
115
950
91
253
391
126
704
119
869
528
115
251
690
904
870
508
299
989
199
669
971
211
465
458
739
54
705
468
885
193
795
999
121
604
665
891
470
831
675
307
305
138
433
662
23
98
567
154
219
283
138
844
876
142
853
840
0
219
889
114
8
248
835
122
832
452
870
543
488
183
357
313
103
609
798
971
194
870
289
840
787
451
644
490
134
827
987
761
950
29
624
888
564
644
329
601
494
843
276
374
925
372
787
398
168
891
682
609
788
184
426
784
457
231
620
334
553
373
272
331
106
86
143
635
438
532
229
327
158
238
82
424
462
963
977
514
580
838
463
183
126
540
933
527
117
569
483
18
956
318
586
438
654
266
71
789
89
707
162
682
664
767
918
925
784
883
280
233
638
675
164
550
975
261
438
13
343
402
515
534
533
908
731
779
269
978
605
870
596
404
793
872
645
942
956
916
416
315
648
795
272
484
732
54
350
896
772
35
366
691
16
938
553
477
785
729
259
7
663
765
411
965
779
975
607
666
741
328
862
67
937
34
314
41
798
674
919
283
127
112
878
123
824
43
616
762
831
896
477
113
716
574
787
801
437
416
667
10
638
796
745
126
287
225
193
822
101
487
503
10
261
36
633
324
927
384
383
578
577
408
762
674
521
226
934
11
851
967
113
525
611
283
822
166
160
564
889
858
928
294
157
245
563
98
985
31
916
609
379
998
779
155
263
173
74
797
535
950
572
13
200
566
342
865
549
909
945
79
858
701
173
372
218
945
912
841
181
401
719
508
762
49
814
474
361
495
575
860
484
375
611
115
950
407
770
770
598
82
872
315
177
115
515
24
632
659
107
749
134
121
71
222
359
739
830
255
417
141
292
574
29
598
32
833
495
275
855
494
23
264
131
499
64
960
158
429
141
910
491
148
872
566
91
531
806
795
331
764
524
419
830
594
548
542
203
167
811
683
451
897
400
402
241
748
183
736
147
465
20
667
555
49
730
646
126
625
416
509
741
738
868
452
234
120
848
127
407
917
932
90
90
247
302
992
374
385
401
381
748
410
579
892
47
546
314
92
420
918
981
909
110
254
537
270
336
218
363
262
362
794
451
683
406
556
406
235
112
7
305
936
712
183
971
45
636
539
984
552
419
120
202
61
54
192
774
974
278
694
92
489
482
573
754
124
64
813
852
16
780
802
621
334
479
37
57
975
157
231
971
834
581
889
4
382
254
803
7
930
602
336
923
29
79
947
870
317
99
56
141
771
293
916
385
877
570
869
172
933
139
254
455
48
698
600
633
311
127
415
741
549
659
550
772
482
170
5
169
392
666
717
402
749
464
655
456
497
995
273
179
219
560
822
780
445
349
443
581
595
312
586
195
50
237
737
613
292
342
597
100
667
323
3
991
242
888
586
559
359
499
967
886
349
308
429
39
340
379
559
194
910
26
752
902
159
575
673
113
158
387
812
437
844
750
964
348
303
253
831
111
400
880
405
46
394
882
22
392
396
664
909
705
510
461
238
338
436
791
758
323
248
260
949
883
627
83
503
507
595
801
485
967
693
702
220
239
549
109
19
942
695
596
474
297
383
31
147
572
644
578
312
43
26
982
68
242
405
272
74
209
880
501
959
666
857
725
240
52
22
873
383
272
618
461
370
99
676
441
225
937
584
337
686
198
945
614
577
384
616
570
760
297
742
828
16
11
94
35
423
669
745
387
882
819
164
226
164
140
707
894
624
274
380
614
176
545
233
833
587
741
399
164
643
609
611
282
276
682
275
463
515
689
30
240
124
332
448
132
863
717
145
772
941
416
747
338
318
593
145
642
924
461
138
873
498
952
701
12
798
672
222
41
531
159
800
894
799
268
545
816
204
968
781
388
295
587
311
629
552
708
567
740
576
493
572
685
775
126
194
24
444
13
667
126
427
525
370
180
517
199
20
315
257
546
747
792
139
887
951
961
878
806
346
232
59
727
258
337
241
209
330
782
449
456
627
209
965
656
705
755
502
597
145
366
315
720
129
516
355
650
295
226
590
831
976
732
436
807
131
133
394
657
391
399
0
4
677
739
596
560
527
315
176
851
559
755
298
755
197
328
662
889
872
430
931
781
168
42
561
372
231
2
756
558
301
255
205
357
976
79
357
608
901
343
736
364
677
683
557
156
432
643
243
981
47
922
127
689
401
142
82
291
287
297
430
60
258
478
400
809
519
802
116
847
652
829
535
799
5
110
712
346
704
545
580
429
220
691
983
60
546
137
808
661
214
166
342
989
465
625
713
169
168
833
928
123
241
896
992
329
182
8
283
242
677
454
6
487
393
780
66
923
698
980
637
699
103
152
989
460
907
630
373
489
502
380
295
787
982
195
475
260
279
216
387
949
315
722
549
173
191
404
630
757
713
657
177
713
338
954
819
438
482
455
825
776
695
160
594
759
71
427
565
283
729
495
97
818
601
258
115
227
749
541
361
21
366
395
457
114
798
340
615
460
808
909
764
685
853
693
436
558
204
477
208
420
630
843
639
497
328
910
162
735
534
448
524
123
773
672
867
3
116
130
996
527
410
704
453
242
179
32
611
508
376
431
472
654
102
221
70
973
214
511
449
59
366
356
504
638
677
190
214
373
607
181
519
401
907
834
754
43
662
132
836
876
990
97
386
127
799
497
400
515
219
860
290
395
904
707
274
476
140
508
895
187
67
593
872
879
313
342
189
716
836
448
276
357
723
293
99
248
23
895
883
283
254
20
586
588
535
997
748
45
655
577
454
230
287
975
773
118
98
39
130
773
681
120
788
113
467
887
94
7
648
160
361
737
984
916
206
640
286
207
644
32
320
597
639
416
862
657
323
458
526
543
706
451
462
860
641
83
728
271
914
519
266
958
300
200
956
568
437
536
148
289
33
822
742
74
353
487
30
829
945
173
755
779
808
955
62
484
156
770
973
613
903
477
831
855
636
246
400
528
949
181
284
592
690
318
717
329
583
413
412
774
478
582
813
988
362
569
487
722
43
322
490
698
49
849
581
860
993
290
278
30
261
300
689
568
373
597
177
431
760
574
522
164
292
22
575
96
14
276
437
844
424
910
396
525
967
989
421
336
342
654
150
190
842
974
681
886
322
629
694
490
789
397
470
387
760
157
678
335
3
104
664
928
325
803
827
931
91
596
933
147
784
185
589
415
488
393
956
77
77
393
745
547
502
147
517
441
57
711
660
909
232
323
352
839
702
352
581
618
699
784
322
921
340
42
869
493
403
820
508
449
900
481
14
991
448
104
248
780
581
651
4
170
809
221
49
193
358
379
984
43
899
678
982
967
854
502
757
18
103
336
636
568
983
511
458
460
293
656
965
873
216
746
374
403
842
300
252
918
915
888
963
569
282
944
668
519
667
124
41
144
221
370
669
125
969
880
298
349
67
865
132
82
222
458
332
219
666
513
335
450
685
710
807
947
852
663
574
11
742
909
708
183
510
928
828
3
616
946
159
225
659
55
437
312
120
562
346
734
787
401
112
652
851
64
11
632
948
945
753
921
23
740
472
370
940
210
512
885
710
812
704
608
387
188
229
756
518
614
526
254
621
398
62
133
165
574
663
694
772
535
202
940
464
803
748
236
941
651
722
318
480
8
518
895
463
414
130
893
277
937
9
158
782
685
490
530
797
277
229
473
371
93
21
264
616
356
980
185
831
738
202
570
229
804
276
3
186
677
13
245
479
302
543
95
652
454
472
115
595
126
253
853
683
299
218
872
319
477
317
13
468
759
568
774
729
579
430
579
669
465
414
644
899
194
676
437
162
235
951
245
668
501
70
34
318
711
291
240
181
789
182
92
615
873
144
456
918
906
507
256
23
972
189
42
527
561
736
60
589
119
154
952
911
350
529
6
729
624
849
465
114
978
942
647
476
430
531
532
307
458
550
157
153
781
680
455
798
626
726
120
330
214
435
593
518
206
624
821
126
276
93
134
144
292
3
623
692
656
451
248
162
255
279
438
682
783
162
179
270
331
681
234
503
411
472
17
304
212
233
712
431
285
905
311
913
734
77
29
577
558
167
365
150
274
888
87
785
418
688
331
704
197
498
289
730
259
57
393
171
439
747
226
519
305
103
750
765
455
38
502
536
261
528
964
505
359
802
378
571
35
2
454
748
186
821
790
472
641
468
290
1
727
415
967
644
422
630
929
542
53
861
38
798
930
746
5
667
541
738
530
874
147
34
137
548
749
537
144
588
496
56
640
613
662
543
518
128
222
237
267
693
627
78
16
297
462
436
899
748
633
610
4
443
632
370
49
432
292
309
533
978
896
0
708
984
523
821
792
335
406
688
846
765
55
269
340
413
581
910
143
977
367
600
208
150
490
680
616
288
673
253
297
29
746
83
12
567
716
181
906
936
606
43
97
948
498
388
291
69
999
345
744
675
885
768
182
920
449
92
624
638
157
91
127
885
525
175
182
773
753
524
435
621
17
805
483
286
425
309
20
516
506
60
19
980
5
317
70
489
542
86
57
96
571
356
82
413
569
618
458
931
746
881
104
95
107
392
921
922
188
550
860
662
624
2
230
266
362
287
954
638
454
326
422
197
665
227
819
766
366
522
416
610
532
854
429
611
454
889
793
484
577
645
325
984
298
646
60
830
995
373
645
917
918
45
292
360
391
908
259
296
959
778
164
138
194
557
875
997
660
790
325
646
507
484
955
718
297
178
926
793
594
932
810
246
201
587
436
304
921
10
280
600
97
748
675
568
493
965
638
431
413
543
498
147
223
984
874
479
207
734
413
779
20
92
986
531
152
932
61
943
496
260
113
134
498
531
925
544
628
442
671
199
767
303
742
561
544
915
267
21
322
214
509
895
437
958
295
652
258
506
695
542
361
26
589
636
580
518
411
32
249
804
287
56
182
162
419
447
817
386
292
349
578
519
910
475
844
283
413
783
953
953
201
503
750
45
169
789
870
639
911
161
839
811
705
724
589
153
238
135
640
5
871
843
469
488
543
207
486
115
66
598
321
483
874
89
740
303
935
228
566
616
167
665
136
953
442
647
326
292
22
671
839
552
987
661
671
748
684
107
36
763
788
321
861
89
626
770
280
390
177
377
387
200
98
928
532
209
495
979
952
59
36
275
377
944
183
532
938
113
425
335
84
153
135
782
187
50
754
191
314
366
63
883
967
975
386
119
647
60
521
13
597
158
736
122
226
99
9
42
829
611
717
643
971
471
940
460
625
225
449
920
526
572
755
832
135
722
822
698
368
331
715
928
862
426
496
938
910
498
863
186
709
801
11
944
356
300
640
517
983
876
962
93
238
670
158
414
796
816
407
590
450
430
399
136
499
902
465
873
552
26
786
598
258
568
364
636
988
967
983
94
735
415
357
265
733
244
924
306
853
334
481
780
376
566
705
732
480
793
267
181
44
689
397
69
587
201
88
315
867
897
107
705
745
480
747
225
402
466
347
321
831
135
46
37
766
917
514
85
642
31
28
332
569
677
452
129
527
176
7
557
111
214
655
583
235
810
377
800
308
539
251
486
908
541
521
481
852
463
149
955
305
512
92
927
235
63
3
729
650
512
512
75
30
622
911
357
764
618
564
387
16
231
777
993
933
68
708
414
450
722
398
367
4
140
49
723
642
982
717
283
707
314
169
290
367
589
182
399
663
279
812
341
184
417
113
245
328
321
423
191
928
25
749
645
459
526
17
118
857
450
728
159
708
193
753
554
951
582
623
740
135
102
545
324
2
673
348
301
157
465
178
222
44
708
112
663
716
800
231
404
161
970
274
92
523
705
140
398
156
20
339
475
314
715
103
390
578
126
657
291
286
659
698
974
605
822
258
640
131
667
889
893
261
277
30
180
791
900
52
372
215
350
539
447
181
15
895
786
486
97
273
559
621
467
566
416
114
40
436
109
269
878
394
403
492
40
190
652
801
903
400
632
421
362
343
298
115
401
577
390
327
942
897
695
850
32
393
846
162
93
516
166
574
596
400
983
105
287
20
958
103
958
245
27
398
587
127
73
11
244
50
721
373
824
165
306
360
490
825
339
994
781
571
537
485
872
759
984
99
156
523
134
928
638
18
941
745
240
520
824
525
692
946
581
592
715
11
957
623
487
600
974
399
348
832
409
721
366
703
490
759
642
920
208
551
396
905
808
243
960
346
598
524
94
617
549
570
971
153
37
263
415
21
143
111
648
670
226
101
459
53
990
313
323
99
200
213
964
224
694
810
658
242
546
249
677
148
864
494
407
409
830
790
936
384
693
529
4
524
42
961
647
119
847
7
17
605
941
760
637
978
18
212
529
843
814
821
343
221
377
657
556
668
272
763
558
381
855
193
954
321
851
875
240
755
823
915
779
57
405
359
559
833
806
791
79
383
544
661
203
228
759
657
252
734
188
667
124
426
157
46
680
229
32
896
917
54
116
558
438
610
78
978
732
387
236
968
827
594
982
257
862
596
672
706
238
716
909
760
993
300
52
207
318
785
799
721
168
626
99
516
126
115
375
937
257
444
361
220
189
680
345
670
171
125
382
567
141
909
668
868
138
798
584
171
848
748
348
348
599
383
659
516
328
648
249
845
986
456
601
143
936
847
146
311
239
176
862
794
411
101
890
248
960
160
628
361
286
698
993
615
525
252
433
587
865
11
78
158
354
40
707
446
829
687
997
784
24
135
453
615
380
702
875
140
621
915
88
978
558
199
94
55
578
434
480
154
996
131
779
654
657
476
966
375
278
810
142
344
170
940
371
276
995
373
957
434
932
104
647
669
819
846
695
773
851
914
528
457
760
173
526
243
601
162
981
717
977
260
958
65
214
237
553
454
973
492
133
510
73
918
519
2
432
642
163
655
181
152
545
223
151
569
398
837
283
581
118
933
573
871
302
979
773
669
159
102
455
944
759
620
658
540
413
833
638
819
54
26
101
45
436
844
23
118
91
610
0
90
367
471
729
455
135
749
785
214
288
232
884
486
268
984
975
359
470
344
490
873
700
649
769
120
856
77
929
642
537
349
456
740
376
962
506
87
144
843
75
392
902
328
915
792
552
728
347
568
608
328
289
269
35
517
472
188
639
311
715
648
847
550
53
456
793
410
190
867
733
20
196
333
755
23
332
615
565
979
382
158
694
427
722
133
219
736
234
632
653
141
395
719
111
741
998
716
119
350
698
780
317
432
460
149
255
289
741
209
115
555
326
866
452
596
717
947
376
509
428
963
933
391
650
870
701
132
717
215
494
500
109
523
345
267
316
615
991
937
86
54
33
731
651
887
920
333
864
974
229
629
39
501
65
618
906
928
596
389
226
720
147
632
948
662
940
237
497
805
827
872
886
923
903
339
774
679
365
457
512
670
106
286
62
358
689
124
322
590
906
924
484
402
204
573
205
972
149
943
418
65
91
209
57
813
970
898
5
939
174
464
285
189
542
885
92
391
464
64
132
521
537
863
78
81
440
182
877
717
556
483
847
356
374
827
126
735
312
442
701
685
546
811
919
784
117
547
681
764
651
66
884
868
315
582
32
926
935
903
769
992
661
309
468
813
980
202
272
937
315
449
656
82
65
909
756
261
427
596
942
184
235
442
133
539
472
361
600
486
187
588
347
804
968
202
301
563
893
10
436
732
199
742
607
972
260
947
188
143
157
329
643
299
746
254
151
0
655
897
506
406
908
479
508
507
769
779
948
322
82
407
388
454
97
236
391
547
416
689
228
99
696
151
305
755
649
704
400
551
949
321
30
876
742
514
705
850
136
926
321
883
939
153
830
658
262
224
726
602
283
472
517
210
310
247
634
365
290
99
299
28
697
9
736
635
913
269
286
353
395
633
217
591
417
815
214
730
649
814
930
216
953
646
738
858
516
767
437
899
665
844
0
921
837
454
90
570
85
110
705
753
357
929
458
803
585
114
288
730
68
64
315
26
205
516
182
232
181
946
718
427
282
514
603
158
553
161
701
394
232
699
888
539
598
547
861
686
515
399
593
218
243
592
187
628
486
316
839
875
683
7
787
398
589
30
488
684
915
707
215
905
876
227
992
366
757
385
849
102
453
580
602
957
976
508
786
591
828
115
798
639
736
352
709
362
129
646
630
747
63
888
574
829
205
730
208
543
249
945
991
187
844
380
783
732
120
477
783
709
18
118
541
729
241
522
415
878
337
50
6
948
382
618
339
711
315
173
33
797
549
38
116
735
651
383
363
897
956
428
713
687
517
885
163
106
206
854
851
720
381
631
101
519
568
269
269
605
806
12
75
181
939
244
743
544
654
535
388
549
496
378
413
94
820
858
831
765
178
796
869
10
745
692
579
900
914
180
333
201
74
421
95
755
567
464
555
726
857
549
379
793
629
302
469
348
935
817
403
500
544
549
137
283
987
556
20
831
957
565
164
64
805
415
730
111
679
302
602
117
457
173
414
251
248
869
957
776
574
370
642
321
7
858
432
910
254
78
859
782
151
179
265
982
391
527
737
235
262
422
234
834
205
258
58
1
45
940
864
542
262
917
96
470
14
348
870
397
541
841
16
204
677
884
677
162
607
169
224
791
644
117
173
486
591
752
760
847
259
897
726
543
406
680
970
644
442
401
179
835
640
528
624
734
465
634
320
673
623
374
466
6
145
896
730
235
123
845
106
286
543
562
277
830
533
121
945
795
429
664
878
470
427
576
526
586
525
861
882
13
822
182
872
309
271
326
536
12
322
498
345
981
545
114
62
173
222
273
392
713
656
438
906
375
936
575
357
577
280
257
318
978
427
558
320
579
64
644
732
562
482
754
940
989
334
629
549
814
42
806
814
180
745
262
897
371
383
923
32
850
392
440
335
286
607
958
204
81
820
455
627
251
395
726
675
491
243
905
193
607
852
31
0
781
561
987
576
219
765
739
234
299
249
686
727
23
865
442
196
527
186
456
255
370
778
418
680
115
175
330
602
640
249
224
168
870
854
378
669
225
676
627
783
517
381
644
519
956
792
809
718
456
247
426
991
165
820
374
780
336
323
110
805
12
545
21
426
958
864
460
412
210
215
657
202
849
916
717
941
445
170
170
993
611
729
717
233
78
229
98
898
283
637
552
763
90
872
132
143
354
35
283
32
820
269
62
808
568
997
67
382
523
666
457
392
222
33
485
910
522
123
558
405
662
30
285
17
699
603
701
895
946
869
988
205
743
335
891
316
619
949
853
379
42
129
617
332
670
633
684
488
783
219
521
12
610
243
451
409
641
196
281
109
39
281
520
694
755
240
863
753
874
504
671
151
647
638
68
13
413
334
286
382
842
964
834
43
379
550
239
502
62
196
862
598
790
579
341
475
915
450
785
158
222
761
859
776
488
866
768
66
600
414
569
739
717
642
133
505
442
857
106
790
833
313
667
780
727
407
510
399
382
900
966
55
823
952
367
819
764
561
212
857
533
821
274
301
467
164
681
827
113
162
863
301
58
387
738
370
995
421
161
314
626
837
937
322
498
973
427
499
176
627
564
554
153
137
373
669
439
706
871
177
779
13
142
601
178
721
579
308
573
208
101
793
683
404
28
98
599
121
819
855
255
234
330
613
614
920
368
458
86
722
970
693
586
121
978
850
913
794
472
841
636
494
333
568
440
911
954
126
887
959
534
978
548
634
830
308
486
880
114
144
100
566
861
557
801
581
718
535
760
569
622
418
943
525
121
555
797
110
995
372
490
980
315
840
882
989
406
986
140
845
148
532
61
589
669
755
380
320
727
362
352
150
366
790
873
308
656
130
36
951
484
746
126
930
553
860
862
28
42
525
168
34
950
931
930
967
167
706
613
433
226
433
607
341
663
989
875
360
125
225
204
387
420
412
976
896
251
3
250
263
857
919
986
73
680
922
792
59
120
390
122
598
32
567
585
449
864
750
180
535
658
853
581
219
70
235
166
688
164
494
389
527
567
518
201
206
719
62
604
372
751
600
438
608
697
543
26
895
397
136
857
437
811
877
16
195
261
497
234
707
708
791
105
496
951
168
640
793
575
533
166
386
717
885
928
709
722
750
821
428
131
703
963
696
221
268
955
290
993
444
860
975
833
526
190
332
109
934
24
247
639
798
519
363
115
837
224
716
250
381
794
433
513
333
906
627
698
165
748
438
33
41
109
514
478
712
77
729
108
147
748
806
846
915
177
650
173
198
913
726
753
559
37
104
289
724
842
399
689
196
475
111
323
935
174
35
305
681
623
952
559
221
425
276
603
412
300
367
684
539
801
471
1
217
998
359
482
622
939
73
467
784
597
907
930
69
926
798
81
757
429
715
460
909
242
811
106
458
962
791
315
738
743
644
519
523
1
321
638
68
78
52
568
825
635
586
160
364
102
855
687
545
423
97
12
580
246
342
742
365
770
66
781
872
687
801
747
263
239
700
27
490
457
467
480
322
361
606
403
506
14
496
786
164
929
695
458
986
591
239
705
975
938
773
299
765
617
328
964
493
399
33
695
637
154
406
124
852
636
847
858
803
77
291
75
735
32
664
497
8
562
445
525
985
994
110
224
557
455
104
259
153
14
828
257
956
332
273
536
168
430
113
934
322
539
860
83
222
427
679
7
846
943
71
51
622
942
564
364
415
12
79
598
276
556
862
787
681
275
761
644
933
621
212
846
80
368
390
787
818
425
112
576
429
783
452
547
973
465
657
861
986
751
606
346
723
196
485
213
509
790
399
135
196
280
155
406
877
76
20
86
675
89
398
121
287
948
484
831
324
897
247
592
538
442
175
146
553
594
174
684
311
296
187
205
873
842
686
608
711
194
326
923
788
518
745
639
646
990
16
590
970
429
369
580
417
194
383
698
872
869
948
200
546
183
760
196
210
103
80
583
211
930
526
5
269
596
621
159
276
197
405
831
880
138
209
290
51
512
518
820
19
754
82
298
190
320
173
697
461
114
154
529
956
331
172
372
200
23
709
572
97
726
37
177
111
52
18
93
383
331
169
638
62
646
552
916
954
725
689
304
701
905
342
544
869
27
95
907
824
803
195
791
776
70
423
78
739
543
391
290
291
337
342
455
798
212
325
685
986
892
399
224
698
569
120
740
444
996
652
139
687
179
727
58
315
792
258
968
456
671
717
851
436
896
865
36
973
445
960
467
881
241
29
830
829
296
239
719
801
798
461
609
247
745
459
874
980
311
189
657
227
329
977
726
683
436
375
739
737
760
281
296
327
277
801
436
62
350
809
665
113
939
177
743
281
739
948
846
379
220
107
835
115
774
172
448
240
325
886
84
861
901
782
261
655
185
852
183
84
34
188
928
948
79
454
177
525
865
792
506
961
336
261
670
474
117
539
939
38
520
3
346
437
816
50
845
615
502
362
357
570
865
654
923
630
826
94
642
344
381
624
477
439
192
575
832
792
951
195
124
372
537
317
49
456
415
531
34
640
889
658
437
498
87
606
395
653
159
665
557
798
725
460
717
499
146
278
207
378
997
837
796
59
651
475
62
480
816
957
89
775
349
943
478
25
741
365
785
636
206
462
282
707
872
552
264
845
832
788
611
762
31
967
954
439
220
756
518
481
266
910
99
137
182
919
661
266
480
675
254
221
941
701
817
189
477
819
263
857
340
66
277
763
833
676
787
656
747
7
899
554
19
208
198
427
82
956
373
106
456
574
952
521
913
330
839
801
99
567
343
500
589
853
665
599
782
922
802
423
991
401
665
129
454
135
830
338
385
474
125
401
565
908
581
857
54
277
31
11
479
655
13
828
36
171
444
738
18
761
835
980
442
927
558
942
843
422
929
71
325
617
291
867
91
864
588
791
565
684
754
271
893
388
503
10
669
637
844
727
59
644
726
70
473
887
760
263
189
473
36
745
990
467
303
924
424
198
188
616
358
238
707
191
976
625
987
288
357
208
539
55
105
603
530
743
662
319
726
225
519
71
868
167
225
786
603
525
497
454
546
672
161
802
799
844
537
742
322
268
138
681
266
694
845
972
781
918
986
74
116
987
450
131
251
230
34
518
956
240
593
302
197
277
947
637
819
298
721
782
579
388
593
416
643
682
401
806
86
609
346
577
634
990
550
794
895
668
776
963
491
34
710
428
221
508
319
627
118
911
73
865
20
54
137
553
850
672
893
438
776
829
19
294
111
682
903
786
139
85
124
955
210
971
776
974
365
907
26
555
957
117
511
639
392
434
360
402
178
606
310
52
644
55
616
480
635
278
326
787
727
0
244
552
200
344
128
332
502
308
385
42
242
546
222
85
744
861
511
71
113
426
584
41
225
730
197
157
366
944
345
299
415
455
592
830
518
196
365
829
878
171
709
729
497
457
236
927
989
256
351
785
203
513
864
924
452
987
215
915
760
961
2
516
581
428
160
589
377
156
809
447
608
582
537
994
55
517
608
682
87
95
240
888
408
309
938
965
529
906
520
202
316
731
807
691
147
673
785
621
808
654
476
607
493
265
817
132
605
677
928
549
40
537
936
161
528
650
624
812
591
930
773
519
202
188
804
803
426
831
198
652
303
371
894
257
590
65
729
316
685
286
469
802
391
834
346
522
842
908
802
688
788
284
435
603
911
631
191
811
175
341
406
445
706
20
49
712
727
552
71
874
781
397
132
648
898
474
782
286
90
249
121
247
664
612
261
381
314
103
369
32
655
608
200
110
546
483
598
170
983
644
384
239
538
879
655
659
670
120
68
568
873
923
819
31
521
338
241
648
452
576
908
317
175
335
847
186
350
579
906
832
286
140
431
404
753
766
908
89
874
540
60
991
308
738
196
960
155
915
18
597
60
45
498
204
782
114
818
914
448
365
305
278
875
186
429
962
571
230
700
856
1
69
580
385
965
210
964
782
205
580
455
660
625
927
464
663
550
424
48
485
172
362
504
644
175
957
495
411
319
98
193
387
31
765
786
459
60
242
45
520
902
689
143
370
295
91
330
403
969
808
23
756
126
227
567
688
510
515
380
927
198
331
439
717
720
841
733
532
416
331
692
591
341
855
550
438
143
159
788
651
348
643
303
607
965
356
577
385
366
406
967
113
777
399
674
918
13
970
429
536
694
868
603
190
60
718
76
529
66
942
696
761
193
866
485
912
100
851
697
483
422
456
904
261
155
261
830
116
633
215
883
136
534
271
684
866
592
658
281
718
124
538
566
445
498
927
268
26
10
17
203
748
528
279
486
552
612
282
537
626
973
549
109
524
678
223
85
479
373
840
806
395
68
830
576
686
83
556
203
902
792
354
343
468
634
218
511
972
456
11
486
16
162
591
284
929
962
106
214
851
188
28
513
332
82
455
72
497
790
45
814
900
562
232
50
10
450
68
586
587
224
355
831
34
251
283
136
373
720
160
841
359
847
290
918
938
697
93
793
251
640
868
686
548
914
987
763
948
708
889
598
943
176
781
559
739
23
275
319
703
622
701
936
291
228
240
70
711
134
10
452
924
698
173
326
556
892
321
548
538
554
766
991
587
270
831
685
961
871
731
815
589
272
121
723
804
739
847
994
211
270
162
526
423
956
845
510
497
24
82
826
122
396
472
310
777
880
62
471
448
802
20
10
757
175
566
507
873
77
932
952
478
167
765
347
481
850
64
67
264
249
685
117
290
537
743
30
249
289
307
882
562
154
920
86
866
876
367
941
128
897
961
128
255
282
908
25
90
522
457
699
389
354
973
491
114
105
923
6
619
979
849
653
822
717
93
967
461
224
302
460
756
126
758
226
892
817
336
626
402
367
361
56
692
241
699
414
960
604
521
783
216
371
516
168
567
548
566
685
566
863
220
887
961
128
873
377
114
277
838
771
792
660
266
701
619
315
723
416
952
844
671
215
610
276
722
452
245
222
410
424
125
339
401
430
779
361
52
59
807
621
471
721
833
357
638
374
669
788
562
604
254
943
187
664
758
746
607
643
657
148
669
12
86
826
423
816
430
419
672
680
169
657
317
725
683
235
128
157
879
461
703
378
710
19
124
709
868
478
149
491
748
18
396
588
592
103
690
861
658
369
347
146
625
720
471
573
813
71
260
270
15
469
32
641
346
874
654
860
569
937
396
651
433
291
665
20
750
442
646
855
985
269
256
781
886
665
473
882
339
514
207
134
440
585
965
427
650
48
427
637
786
368
316
602
665
411
547
621
104
330
188
130
153
768
864
106
241
620
188
706
338
424
897
811
115
422
643
10
610
45
391
345
291
25
938
679
758
196
609
851
44
101
955
318
438
288
302
804
72
640
485
438
337
412
594
519
100
77
390
567
809
6
121
423
726
458
883
195
694
721
586
683
559
291
761
702
149
641
586
51
770
113
122
121
443
407
189
394
915
167
600
309
828
716
49
298
726
914
807
378
799
130
580
277
337
896
690
105
263
980
145
677
852
194
412
57
849
754
527
698
338
657
942
584
960
235
165
946
431
721
589
893
134
33
762
904
21
585
64
285
387
704
331
786
200
924
760
960
964
989
765
873
195
171
690
945
704
647
231
851
940
2
628
164
23
875
103
222
709
361
817
134
104
952
684
336
688
896
521
898
304
983
747
458
828
318
528
931
671
653
299
519
675
640
291
34
911
773
312
222
165
536
128
93
643
278
622
324
847
404
732
490
539
491
255
281
332
324
505
580
823
552
619
322
67
119
269
386
332
924
440
660
416
654
922
287
756
27
327
64
946
141
776
154
808
373
892
525
62
805
720
878
534
455
526
419
146
495
347
790
954
200
600
686
880
734
423
689
485
271
980
988
517
946
930
808
269
550
796
788
686
850
155
978
621
361
683
559
701
497
731
540
922
525
631
723
695
494
915
832
277
22
549
347
630
717
132
65
143
328
959
277
18
758
262
559
378
936
788
320
361
785
99
197
613
197
701
500
687
313
816
829
694
685
237
373
803
740
815
719
907
702
473
52
781
428
556
94
706
931
968
605
853
857
786
106
854
975
541
255
741
138
468
142
9
542
629
223
349
30
463
859
519
862
872
977
624
175
175
150
602
434
91
699
851
943
139
916
601
336
709
127
525
981
486
237
557
330
444
270
402
991
934
731
358
872
650
58
772
755
510
214
107
256
853
758
309
786
834
494
884
254
548
640
745
750
506
114
778
286
642
728
0
626
163
462
473
256
833
695
382
712
788
282
49
932
944
667
252
70
596
505
451
164
196
540
159
13
636
51
75
788
621
451
449
388
715
507
481
284
447
632
921
867
815
764
963
636
795
290
632
808
870
39
801
318
697
752
879
90
233
77
40
848
552
584
732
991
334
99
11
781
475
449
836
363
484
606
18
839
554
147
315
675
556
438
548
997
548
867
173
965
858
945
375
814
546
479
975
159
198
618
827
550
609
491
874
968
944
536
227
411
530
528
401
232
387
724
784
720
462
729
664
174
830
991
821
208
817
897
149
193
221
349
689
410
323
491
747
685
165
241
319
577
823
87
327
330
310
176
924
956
725
132
901
961
54
253
261
606
499
540
452
474
437
120
101
439
285
598
644
322
65
4
549
695
108
767
212
957
893
814
197
864
578
931
922
435
441
435
750
832
618
819
901
664
161
782
38
763
550
366
394
405
582
761
762
851
377
736
391
600
188
262
174
822
714
962
415
687
716
430
638
96
506
699
121
238
772
624
383
403
310
289
298
305
453
128
800
851
732
480
780
734
377
51
942
793
954
707
182
426
74
604
635
841
774
725
397
721
924
356
195
342
67
318
536
263
7
115
948
527
181
103
715
592
465
901
708
365
628
638
978
312
771
353
864
20
561
388
472
893
611
432
353
474
499
25
916
981
181
615
853
458
494
453
806
700
192
435
776
7
330
571
677
86
575
675
977
27
824
254
818
174
583
835
467
534
984
168
249
320
988
131
777
641
282
167
830
257
605
793
6
92
949
748
462
975
313
163
820
395
83
277
887
148
913
85
600
285
804
769
192
231
413
87
489
676
445
62
844
507
554
76
697
801
732
30
268
917
959
456
698
173
511
804
373
850
216
959
687
471
574
289
965
892
7
202
196
351
895
281
497
750
826
770
506
414
839
233
504
382
402
939
847
901
18
753
106
839
985
701
45
695
461
621
66
367
902
882
13
335
686
46
937
541
973
38
83
184
82
8
381
68
43
999
867
342
693
348
877
399
320
68
928
969
593
47
893
349
978
66
733
630
843
99
82
651
573
585
374
433
327
873
719
622
763
442
945
268
562
579
156
141
20
103
824
826
267
824
525
148
997
311
798
158
449
686
429
258
670
459
599
735
155
390
498
994
537
52
623
632
29
181
552
379
30
448
786
517
237
501
234
790
433
234
810
621
224
605
314
10
863
163
407
631
543
182
374
940
573
804
514
806
783
155
613
776
105
86
828
658
238
552
441
400
559
717
53
625
893
228
303
885
613
146
37
830
155
564
376
83
28
194
814
905
238
247
915
291
803
360
344
286
167
765
582
795
169
460
798
201
207
376
399
51
654
819
292
348
994
454
749
129
190
414
900
904
464
300
359
924
859
895
859
499
595
167
322
87
658
198
490
846
843
340
373
701
942
784
957
494
364
123
762
3
778
643
462
877
384
266
987
100
331
803
226
323
181
897
853
770
59
958
689
316
280
508
879
230
854
19
804
35
940
661
53
250
121
674
207
104
456
576
401
944
833
267
831
586
148
366
998
729
768
419
126
963
949
553
990
770
203
779
444
464
996
406
273
427
270
778
17
301
554
537
430
192
46
526
273
321
30
295
662
938
344
4
160
866
64
688
353
670
47
231
719
82
397
574
70
525
583
208
957
413
119
231
816
764
797
831
409
500
542
794
273
662
758
14
896
832
189
461
84
661
751
459
284
191
181
431
122
489
378
160
672
239
975
879
763
213
919
952
344
135
516
355
189
140
333
997
626
948
376
706
841
7
765
873
193
991
65
597
803
449
605
571
419
521
208
899
685
166
209
61
947
888
948
542
439
193
123
78
67
563
8
527
698
199
194
445
334
83
723
620
902
186
717
819
609
392
106
444
839
5
883
762
494
11
46
793
62
457
558
732
792
586
437
970
447
158
898
97
161
246
508
140
2
632
996
989
445
21
745
317
822
936
103
272
701
882
848
750
881
120
482
79
458
440
67
742
926
865
866
771
668
85
830
250
790
816
168
462
699
674
226
132
852
821
472
970
68
58
427
827
965
544
786
441
911
374
768
666
857
967
173
875
603
245
425
771
483
446
594
908
838
88
392
598
985
757
6
123
612
387
264
375
334
93
594
83
834
375
699
434
667
597
362
757
228
148
890
937
986
11
504
260
189
906
712
330
344
413
720
374
595
655
637
196
57
93
945
589
6
69
177
278
715
276
351
125
560
189
569
394
622
372
582
43
556
82
738
737
880
950
932
998
375
533
962
91
844
622
398
864
41
880
872
273
702
545
805
976
418
478
41
533
675
825
501
723
801
401
217
572
929
744
239
680
488
403
719
283
309
242
692
663
540
49
837
127
919
329
35
218
50
174
339
413
210
123
821
895
662
442
634
1
907
922
966
760
494
186
826
153
714
270
220
170
650
328
799
200
431
73
75
185
505
318
474
47
734
862
798
367
744
462
351
860
667
480
667
792
617
669
256
43
299
523
579
589
86
925
461
175
682
142
292
563
657
563
692
676
307
368
791
399
892
625
271
830
117
23
415
303
512
940
976
385
297
180
920
99
47
322
684
997
444
671
413
654
492
429
612
400
355
311
852
956
640
338
211
731
580
48
263
125
24
780
773
306
192
544
587
835
385
704
522
4
171
168
472
72
466
306
926
893
876
610
766
400
344
60
543
282
686
235
932
328
143
974
849
832
570
628
918
671
654
623
81
130
194
806
872
633
921
696
500
937
789
517
363
737
59
428
870
127
285
504
447
319
635
849
709
148
917
507
263
316
99
266
321
493
63
136
794
316
695
685
255
823
992
152
767
415
148
937
607
208
622
148
12
118
166
643
925
439
142
154
494
28
8
648
596
177
694
23
505
350
594
986
974
628
57
128
92
173
290
881
13
755
797
719
885
533
816
230
444
722
489
647
116
159
879
419
864
564
247
581
485
834
26
966
577
447
843
537
936
826
338
594
312
40
283
396
529
58
220
43
547
318
891
999
293
384
744
240
914
772
753
254
307
4
984
885
178
877
374
517
801
321
955
888
698
789
164
68
213
999
262
547
617
574
430
358
780
560
949
996
415
57
804
756
165
486
64
122
513
293
483
21
423
548
877
634
653
913
603
172
282
304
157
513
541
989
265
722
694
828
83
20
33
765
811
750
840
845
595
554
879
601
252
335
340
464
220
361
471
324
949
728
677
537
0
362
450
567
335
959
737
316
411
798
345
295
543
814
45
407
783
775
665
745
501
534
394
102
868
116
324
451
143
755
561
898
658
218
594
243
35
993
867
960
121
405
57
648
317
637
945
313
441
746
858
97
651
355
255
178
535
140
117
49
766
260
979
573
985
911
284
953
791
232
345
50
287
46
224
116
200
229
479
10
418
6
563
594
888
848
265
272
799
533
296
438
942
361
158
582
989
913
645
615
593
327
602
206
793
891
4
602
509
534
535
80
660
112
763
59
591
459
109
410
873
888
187
137
462
925
158
527
658
348
772
223
288
482
521
575
267
93
563
397
129
994
562
25
784
768
499
470
140
985
72
140
363
467
890
211
328
867
764
827
878
792
393
396
720
568
663
802
553
823
678
995
129
555
18
230
585
827
429
10
718
375
592
925
441
882
323
965
160
79
376
617
852
67
577
452
7
972
518
50
588
317
684
694
495
216
624
185
671
741
528
673
292
578
115
186
673
500
709
548
194
497
394
114
243
378
515
322
302
282
954
414
714
999
511
861
898
117
247
552
445
642
432
837
857
712
370
261
264
852
160
670
880
477
152
84
624
157
599
789
933
713
961
505
115
570
728
30
948
143
705
831
787
82
769
148
544
174
605
726
171
728
502
746
60
239
727
222
67
442
950
426
364
664
156
905
228
588
671
960
662
413
243
265
38
882
787
613
301
443
177
493
981
426
644
607
360
690
483
634
556
839
400
233
541
366
488
938
202
461
101
901
901
515
73
22
39
454
692
724
115
599
674
158
613
279
820
74
223
932
456
776
861
763
393
484
43
887
484
454
383
131
370
306
598
314
49
556
922
567
619
209
621
578
768
888
685
391
791
237
20
218
775
521
360
773
900
720
505
487
368
440
258
893
324
605
844
401
839
13
671
443
531
987
807
758
397
714
779
760
498
485
182
36
767
498
562
206
569
969
545
987
663
582
223
530
226
775
789
701
151
505
503
118
884
252
211
775
325
622
852
352
762
910
263
866
401
163
671
820
872
877
767
786
251
56
971
742
701
366
682
680
374
929
648
897
321
647
780
909
928
637
825
936
132
698
138
549
808
328
224
726
138
919
724
135
361
541
151
534
204
127
622
595
536
579
609
65
962
333
255
742
368
254
71
88
501
204
833
71
127
799
555
639
454
147
403
238
388
540
604
363
620
22
600
436
465
730
774
254
598
86
39
333
698
303
339
409
428
149
121
174
703
581
661
140
470
310
3
797
234
773
542
938
13
70
18
935
494
114
325
685
378
829
769
284
803
634
223
772
628
935
550
764
913
170
64
463
927
694
17
228
221
547
862
649
808
614
501
72
138
123
629
184
693
516
71
783
580
590
565
600
205
749
783
762
63
625
642
335
424
61
137
612
958
294
139
480
7
617
16
45
333
870
675
739
110
153
475
752
93
409
434
401
137
168
761
954
37
658
490
380
699
396
128
340
904
464
181
526
746
387
270
95
329
189
963
272
17
613
525
552
253
442
591
856
413
559
103
218
727
685
586
892
452
247
229
585
976
538
848
976
427
149
541
946
274
843
43
830
829
893
685
616
524
139
309
238
298
654
287
441
389
150
235
679
754
98
686
301
226
528
859
492
56
616
967
901
143
734
707
834
671
886
493
332
586
745
469
196
489
137
189
873
129
827
932
6
511
671
299
517
207
782
126
360
893
157
110
676
42
300
486
127
257
859
894
714
563
985
230
506
573
4
975
571
459
761
64
80
196
144
107
39
796
528
172
169
480
435
636
44
539
827
952
852
565
411
729
110
551
616
446
411
689
485
841
875
651
957
354
87
518
63
420
983
230
325
988
400
968
463
739
664
395
765
348
433
899
542
6
868
921
707
178
570
756
228
629
804
422
793
112
710
308
460
304
325
190
61
22
360
830
994
261
877
731
770
449
333
904
872
283
988
416
85
10
199
69
735
385
719
625
645
930
299
572
560
29
147
44
381
19
94
971
858
523
939
979
183
829
21
396
728
983
804
932
886
609
514
821
425
593
957
702
941
213
671
194
782
297
221
679
943
290
132
385
276
933
59
725
572
649
763
946
583
101
381
592
194
757
83
493
858
422
303
402
915
769
206
804
547
654
719
859
709
925
933
536
783
374
831
789
301
270
597
501
277
176
739
215
469
195
255
45
965
762
490
752
930
449
986
687
985
282
953
388
466
930
184
905
603
540
696
986
998
472
805
388
494
576
574
120
655
108
968
399
588
662
289
342
675
476
680
327
257
587
681
169
525
791
224
246
934
382
743
162
709
117
973
874
151
9
244
519
158
54
697
740
652
0
478
490
376
788
622
453
760
13
774
492
666
912
576
861
821
307
273
445
170
855
972
392
204
892
124
168
559
877
289
611
851
419
123
911
541
559
84
898
554
440
47
848
768
168
226
237
705
58
746
325
360
276
858
88
949
186
630
906
568
307
911
891
23
114
498
448
951
540
148
247
597
83
392
449
951
744
904
902
267
786
997
636
188
368
631
990
287
401
84
7
286
198
196
786
935
849
943
986
835
30
557
139
178
928
730
326
629
224
760
32
911
558
136
781
473
23
322
137
964
322
382
140
791
63
542
751
10
564
387
45
431
98
688
289
287
893
742
991
273
884
955
682
183
897
922
300
520
4
61
851
27
420
455
241
784
845
987
361
359
658
716
798
260
314
649
922
940
4
439
106
792
336
670
708
881
409
325
70
912
635
45
261
274
374
838
588
853
640
414
952
60
299
5
300
959
934
810
360
628
297
342
607
872
136
350
779
753
950
95
415
298
172
272
201
289
160
712
35
279
549
505
631
537
744
956
129
992
84
466
45
761
731
842
808
87
988
862
842
621
868
926
896
982
28
504
919
342
994
623
314
699
555
970
411
816
484
802
594
558
971
106
44
388
380
181
338
632
330
15
131
260
64
392
339
955
3
297
679
175
109
401
519
877
570
399
399
74
784
44
780
513
919
595
979
652
127
161
497
166
67
3
694
178
174
804
494
659
219
28
812
408
112
6
785
359
651
711
72
322
300
942
631
179
298
96
393
645
203
730
298
431
699
856
885
155
50
82
219
909
586
514
379
614
792
211
355
207
309
792
459
858
110
385
697
419
965
862
353
22
266
947
331
353
903
959
883
134
570
308
342
425
869
579
13
575
819
237
142
787
409
530
484
528
261
533
489
371
708
827
139
594
999
335
491
405
672
260
935
326
887
658
929
679
939
746
230
982
329
579
59
70
20
66
709
206
418
69
484
863
955
962
172
275
4
847
298
655
289
388
203
219
545
478
536
69
11
771
166
555
6
98
30
133
701
923
264
129
104
349
159
694
61
784
36
471
534
687
551
209
203
600
695
483
114
660
943
945
986
139
783
198
225
416
919
637
859
967
444
325
733
715
635
879
557
853
856
924
219
475
412
778
720
407
525
266
345
412
977
702
351
233
779
429
998
797
341
970
131
549
436
876
626
656
260
791
199
586
71
406
281
930
683
26
720
847
436
825
13
471
709
684
107
464
814
655
234
476
120
412
780
563
922
917
626
142
474
157
610
884
193
637
960
373
50
821
229
896
607
98
568
495
290
301
325
287
771
766
751
309
735
754
926
537
683
698
79
884
313
351
393
193
483
241
920
383
371
209
184
410
334
599
465
362
924
936
943
961
457
555
236
442
284
584
97
449
888
653
505
0
448
770
660
730
352
604
121
570
714
948
903
78
372
938
402
779
865
280
237
419
345
803
899
433
74
136
738
606
721
121
416
612
517
617
791
538
993
585
976
117
796
54
784
345
366
993
855
611
801
324
377
83
116
44
607
237
468
273
463
961
592
608
544
898
726
715
843
147
107
368
789
369
555
951
985
645
912
958
223
839
11
184
72
383
560
104
927
73
883
708
478
112
899
899
45
892
190
691
47
730
644
957
274
387
448
785
97
440
739
932
942
493
977
277
482
772
904
238
936
356
933
315
545
221
293
480
951
559
348
338
810
991
268
161
40
451
29
827
147
333
309
739
941
446
25
300
264
849
186
907
593
351
113
364
725
67
417
325
733
684
552
590
764
267
453
436
83
145
133
884
208
906
352
722
226
181
95
894
777
688
313
335
869
613
530
104
986
541
455
820
623
155
362
326
206
3
417
14
226
537
549
667
197
759
126
294
603
135
285
439
365
548
652
150
474
560
199
680
381
199
6
93
244
562
932
127
153
872
859
909
171
891
8
466
263
141
594
799
828
898
104
882
17
71
337
122
870
280
368
251
935
54
367
176
826
784
991
631
78
51
275
998
633
592
954
22
884
201
303
219
447
470
750
424
285
488
324
656
638
712
568
320
643
67
89
337
537
528
246
944
94
922
779
860
95
31
104
212
414
56
751
264
296
234
708
246
307
271
898
887
75
359
942
344
745
693
537
76
54
958
719
213
310
663
789
431
61
110
20
311
860
898
825
415
379
917
999
277
712
504
807
44
930
120
11
950
462
210
256
494
729
441
470
340
261
640
439
354
331
879
340
672
840
886
587
819
843
36
179
10
164
743
935
436
44
331
214
496
962
466
359
80
641
527
435
739
806
931
533
570
611
519
337
480
292
101
978
289
440
562
616
894
858
718
760
331
251
796
898
809
203
856
182
577
82
398
547
286
13
448
411
159
591
555
858
395
603
901
995
108
337
786
966
405
601
376
159
515
310
387
412
890
954
676
414
244
415
466
577
387
791
887
846
938
604
671
932
56
333
251
453
210
432
181
622
161
92
328
677
908
675
498
235
919
532
424
785
983
416
873
580
283
343
955
73
326
752
266
688
389
838
605
726
655
55
712
230
459
631
41
35
389
18
133
615
565
368
988
314
654
809
889
246
674
769
552
951
584
519
707
216
639
511
385
182
335
130
119
8
752
602
847
90
554
678
680
117
996
29
688
914
958
930
369
465
447
871
795
220
657
737
608
774
683
782
265
133
458
923
321
62
192
226
179
582
406
643
68
174
207
175
307
776
546
686
174
266
895
431
808
17
211
482
485
830
144
649
614
815
14
931
543
148
184
47
252
658
189
479
407
261
364
224
953
950
5
711
566
907
194
651
45
509
257
215
506
908
330
887
402
632
597
992
9
250
148
456
708
858
65
383
364
182
204
466
82
986
968
789
467
455
271
41
510
61
656
82
857
737
643
923
134
470
561
372
666
663
308
963
747
548
835
212
249
945
777
638
138
336
217
771
830
834
313
941
934
655
852
418
931
932
428
332
4
105
626
958
691
69
924
303
703
355
691
910
305
493
193
335
325
894
144
654
619
113
574
811
892
161
504
796
795
554
676
520
922
669
717
983
687
691
997
8
441
968
450
969
69
908
2
619
77
263
756
990
824
223
740
247
389
527
318
566
960
19
725
87
692
612
136
459
794
370
917
124
398
813
969
612
179
240
845
322
855
152
180
455
279
476
447
42
720
583
82
817
111
120
76
588
569
999
612
196
900
312
862
225
413
119
672
607
685
281
952
463
935
200
613
780
603
901
153
211
654
415
654
502
162
284
109
174
209
669
884
266
265
168
261
396
755
557
568
675
400
879
967
589
348
264
715
449
502
917
468
300
465
219
997
300
237
141
606
152
413
938
109
982
986
666
992
674
51
440
132
424
865
804
195
455
742
113
130
678
698
288
613
492
897
144
234
17
517
813
645
124
584
375
880
562
483
932
285
470
189
923
24
648
844
769
356
891
50
795
331
116
153
771
363
208
786
192
954
915
600
602
355
123
310
261
135
591
766
24
972
292
779
991
120
100
435
776
80
996
185
334
199
432
166
454
612
753
604
358
580
542
633
175
427
681
311
180
139
200
52
720
200
687
247
953
308
625
810
417
575
963
948
131
795
973
609
882
421
403
606
493
35
211
901
466
525
296
689
164
272
526
758
610
301
285
455
999
957
257
302
429
533
451
383
656
490
319
650
502
108
379
873
627
159
621
791
422
539
116
801
599
160
683
345
205
907
548
154
862
849
383
851
594
426
38
425
323
99
503
31
807
101
194
315
735
513
574
808
688
143
801
311
529
984
380
67
820
816
735
568
360
595
535
975
202
210
858
265
629
461
99
674
813
61
256
718
906
721
598
874
962
590
415
430
212
92
674
708
872
886
882
380
756
612
300
663
628
125
487
622
906
697
250
279
556
794
382
964
630
361
10
321
718
869
982
694
823
580
37
922
126
784
848
852
631
929
116
68
797
486
946
99
781
869
200
483
849
986
915
428
117
427
104
490
758
807
723
278
922
589
293
966
206
350
27
503
823
200
874
879
142
857
53
368
620
916
655
194
855
524
490
721
227
523
955
659
392
436
595
696
45
569
118
568
937
504
237
406
842
329
479
574
690
378
286
100
837
839
722
311
237
572
468
913
239
320
801
443
883
134
107
214
60
88
720
126
89
492
605
579
238
379
461
344
870
41
723
874
961
623
354
388
999
10
19
445
127
275
525
350
174
235
189
97
859
270
291
258
968
10
360
82
246
472
558
606
618
649
706
46
249
781
308
364
896
234
53
207
963
498
9
904
409
391
480
52
202
985
871
721
849
148
140
985
591
382
576
992
563
684
297
922
542
294
199
582
152
546
790
349
680
4
362
164
860
14
814
950
457
620
83
416
160
803
447
845
386
980
476
267
156
510
126
711
4
4
124
882
654
181
155
770
611
399
361
818
688
34
516
749
986
472
705
228
102
192
975
136
484
508
14
480
811
811
595
430
634
884
456
135
995
732
464
979
576
261
285
931
416
64
177
925
651
832
103
753
323
422
261
138
105
441
743
758
108
644
113
720
184
109
642
167
790
145
375
756
63
697
81
811
577
719
116
565
992
254
75
611
68
584
772
733
483
132
393
290
64
455
845
634
237
850
199
451
448
389
116
669
213
888
693
659
78
922
373
874
429
189
511
876
125
239
555
372
598
754
57
431
292
290
725
759
844
356
277
455
813
68
191
398
429
878
952
328
525
990
550
565
945
333
480
119
594
357
944
781
445
64
783
512
878
929
336
200
619
175
666
171
229
93
883
250
235
68
699
253
283
9
670
46
529
369
504
489
274
674
860
49
244
903
354
446
68
612
414
719
646
384
318
824
405
406
836
414
910
654
257
200
667
428
206
987
195
574
391
21
866
140
422
510
795
324
155
404
861
450
974
807
582
790
793
845
197
841
275
66
846
222
650
182
855
676
173
655
977
16
225
332
893
667
379
933
18
975
369
181
934
667
461
440
519
296
676
55
293
715
605
758
330
590
651
858
936
371
505
990
850
78
34
383
413
662
948
392
575
532
925
312
853
65
530
282
220
908
865
499
561
464
978
182
40
527
897
441
15
204
531
418
509
188
546
26
79
327
889
227
96
793
924
56
402
827
344
498
793
876
569
655
266
20
828
427
777
106
62
345
282
44
225
551
88
790
250
653
857
507
535
54
776
504
782
455
834
618
308
392
654
933
351
759
390
933
704
737
431
704
990
400
882
238
546
59
183
917
198
61
612
591
3
963
49
275
92
205
881
82
959
463
228
583
104
349
356
922
975
653
886
294
186
894
231
150
383
606
19
63
295
327
701
452
580
516
827
327
376
739
115
364
670
328
262
144
929
246
161
865
611
644
206
419
255
454
315
87
735
277
994
992
202
492
130
464
779
874
673
523
669
229
895
462
668
476
31
344
155
624
46
757
270
970
533
449
999
245
626
943
339
118
816
741
410
839
413
149
555
871
804
322
700
995
77
63
334
840
387
976
338
243
789
423
549
612
466
603
474
385
7
628
164
1
154
210
297
487
398
606
708
789
390
923
891
315
769
277
844
243
613
629
124
196
435
827
608
194
200
189
27
811
496
847
922
521
734
869
519
333
606
805
527
102
984
791
740
576
315
560
358
522
821
816
460
852
79
125
24
575
831
845
915
606
46
717
85
400
87
797
481
145
933
197
634
660
975
684
257
4
526
117
710
817
198
532
694
666
898
287
507
533
580
638
315
24
613
580
634
757
919
760
296
386
300
916
863
107
540
958
66
4
1
999
609
221
472
962
571
602
481
196
624
648
921
881
148
378
993
252
804
457
262
698
57
154
889
261
755
620
682
866
415
634
658
244
704
906
315
561
914
651
67
764
49
999
777
309
924
974
427
536
378
319
120
217
719
426
555
835
950
452
318
839
284
349
860
857
427
573
58
173
748
416
471
601
753
695
20
76
600
733
112
788
617
625
63
434
401
247
751
305
929
885
816
2
80
553
583
912
675
884
805
282
819
615
628
635
706
299
80
98
4
811
892
93
295
502
836
401
829
767
43
271
454
180
809
831
660
659
509
666
596
489
60
562
657
39
914
51
509
119
613
360
663
808
731
660
538
595
86
515
990
636
427
297
580
394
604
988
827
133
162
497
970
558
982
9
522
12
549
634
587
244
746
240
674
779
122
461
605
66
594
38
929
950
62
143
578
174
0
644
475
190
650
281
733
350
419
477
143
821
472
942
497
393
49
38
214
633
555
939
788
739
203
480
76
912
354
49
262
887
132
635
281
107
857
86
944
843
70
21
602
11
499
269
117
518
179
878
206
635
194
743
405
750
554
73
226
63
443
618
354
444
406
683
48
341
559
121
501
797
156
862
887
795
873
963
741
869
295
481
895
377
736
616
4
520
39
184
28
455
612
500
495
167
164
335
139
252
956
732
149
338
771
527
804
919
177
314
950
222
682
90
139
20
181
896
656
473
46
79
20
928
292
449
489
350
426
11
22
852
244
185
847
403
429
832
659
514
249
445
244
628
409
930
745
450
427
867
401
960
688
68
599
345
913
966
230
430
577
268
431
654
924
868
550
225
391
316
822
494
662
22
934
542
644
442
166
390
741
214
510
417
12
806
808
873
784
438
770
674
543
857
351
15
888
740
118
477
938
105
801
892
939
527
103
361
805
963
910
997
596
453
144
720
333
5
950
136
369
535
400
904
757
758
757
908
617
261
611
900
720
608
622
507
50
848
442
575
810
439
576
460
476
64
343
509
49
354
127
904
48
399
122
651
768
549
551
991
860
698
690
117
634
690
576
253
82
342
927
880
165
633
173
959
56
763
405
87
30
553
205
161
435
808
215
72
604
701
855
293
69
251
569
767
535
755
259
128
191
506
161
87
687
323
935
627
898
644
160
394
459
5
6
507
968
693
360
978
32
395
649
418
164
474
381
607
829
879
113
848
463
392
755
805
626
28
197
88
883
410
932
623
978
523
90
698
37
300
614
35
640
318
946
995
885
426
181
663
630
410
256
179
789
280
597
24
28
931
626
258
504
493
941
799
657
367
435
105
728
192
277
903
121
583
76
954
320
296
821
242
817
450
507
265
734
858
978
4
504
64
919
148
138
952
144
747
195
362
107
229
982
901
678
580
462
438
546
161
305
817
787
425
580
809
318
630
689
320
474
461
181
116
89
453
22
450
784
714
539
718
766
951
214
83
251
288
646
692
868
900
66
838
420
556
985
202
417
355
10
771
917
666
765
125
374
971
680
825
652
448
472
708
220
153
852
73
207
192
178
117
534
739
243
864
641
638
953
716
749
642
791
427
425
894
125
56
150
780
420
555
540
704
471
347
844
178
276
72
351
986
405
422
585
922
7
542
879
121
590
532
339
637
788
986
20
312
211
856
246
873
252
731
447
529
236
923
315
107
648
399
18
172
414
999
9
896
597
510
196
710
580
242
146
510
751
796
584
819
466
166
448
856
781
657
713
439
83
582
225
297
734
183
874
128
426
156
756
814
568
34
514
306
832
681
980
556
458
227
899
961
582
544
638
273
979
97
380
942
110
683
978
452
770
39
897
193
86
117
351
97
589
805
817
433
188
549
499
900
425
842
436
489
304
39
481
150
774
882
172
242
642
423
63
147
189
690
887
829
201
537
207
818
254
219
274
799
881
791
116
184
767
794
807
16
674
411
95
424
977
744
30
175
80
218
304
803
554
178
57
934
615
388
307
468
672
450
152
399
660
9
332
708
279
472
369
174
157
368
220
603
974
297
909
418
493
248
726
673
899
130
355
17
35
185
648
180
118
604
593
963
753
15
347
898
697
413
840
685
14
578
404
823
116
566
20
75
862
478
351
191
837
197
59
635
264
596
659
920
851
561
459
806
222
142
867
173
752
159
81
288
363
436
687
662
898
41
62
834
876
266
19
172
402
812
697
886
457
530
595
500
644
460
938
454
655
36
928
910
749
637
913
812
788
63
386
972
17
880
806
392
293
661
224
272
717
398
453
971
89
936
649
127
426
949
19
17
476
905
533
125
615
659
223
867
88
560
265
621
547
855
94
973
991
12
957
327
353
505
914
365
729
379
519
473
983
334
105
389
615
855
334
325
318
449
711
275
594
850
164
747
947
725
138
622
453
17
344
868
182
581
3
665
317
780
745
582
109
730
205
885
342
68
252
548
597
647
290
868
202
171
440
322
584
198
259
859
363
254
621
971
772
711
366
9
546
371
621
658
729
165
427
528
722
72
306
310
595
36
481
322
789
31
963
688
530
987
126
306
157
50
280
703
690
387
280
503
892
713
507
282
299
764
312
284
888
358
607
377
683
721
959
509
580
976
794
538
124
12
378
303
594
588
345
674
928
247
831
600
812
102
321
35
567
669
821
11
488
591
193
606
25
798
250
377
64
530
781
471
505
714
90
814
721
405
184
280
587
859
536
389
242
632
191
939
898
377
764
821
857
838
273
134
639
255
195
29
684
127
158
952
110
768
355
309
287
778
116
27
675
841
120
741
333
719
267
777
924
498
381
850
374
914
192
413
59
934
78
717
848
504
404
209
31
460
693
5
909
526
843
315
226
319
886
515
270
708
275
475
174
955
431
747
812
821
329
274
225
710
779
13
159
528
806
367
227
121
987
995
264
399
941
750
251
689
38
403
258
547
230
705
392
249
729
109
552
124
713
426
473
862
558
578
72
774
74
233
469
501
626
223
707
626
710
557
401
296
513
543
254
805
926
373
121
816
877
724
584
391
85
342
820
883
101
919
684
188
363
396
375
97
511
350
73
106
645
66
839
735
241
720
21
224
728
463
576
344
19
657
161
316
818
668
737
625
138
757
268
505
753
100
677
263
482
119
89
736
946
863
474
795
648
67
742
442
941
238
273
115
459
819
740
209
858
751
76
477
831
641
41
422
82
306
154
184
806
6
23
672
795
95
284
490
300
540
771
620
79
405
322
414
240
570
520
516
826
425
769
883
28
407
95
739
51
876
993
403
867
92
199
704
344
305
470
783
972
823
110
485
825
403
548
963
527
686
582
338
531
20
800
164
8
545
375
759
777
541
392
905
771
297
377
534
24
150
49
716
243
472
654
771
483
631
999
251
487
438
692
466
580
954
644
378
130
208
287
171
392
445
439
643
620
260
762
748
253
938
793
20
136
173
875
656
858
156
44
706
84
372
277
728
156
468
469
396
671
463
833
790
902
804
712
743
781
346
60
341
211
544
953
740
584
169
13
507
916
539
356
13
53
191
227
309
963
422
302
299
820
829
901
375
843
795
704
578
228
116
489
462
994
546
296
616
459
920
412
995
936
406
748
642
856
230
417
2
296
215
434
204
41
637
324
509
91
879
876
426
556
345
681
429
856
894
518
411
488
16
735
495
793
896
304
539
981
691
138
16
689
454
757
247
868
752
723
572
613
830
945
935
521
189
279
609
410
698
636
315
845
326
526
513
976
680
74
75
570
341
922
630
758
140
785
24
984
403
307
507
848
30
838
811
623
222
42
999
760
118
966
145
155
430
690
315
271
124
439
746
347
570
40
938
380
834
110
871
165
859
439
805
269
650
607
388
979
625
907
714
433
46
770
371
571
810
786
851
890
519
519
806
25
658
213
481
242
571
928
974
25
182
171
594
649
549
314
233
59
671
370
66
391
101
828
889
127
495
539
229
174
852
826
528
581
350
690
99
955
870
532
561
323
91
172
278
619
191
284
101
987
944
394
796
406
710
826
419
31
352
769
80
714
10
871
596
729
292
756
719
80
990
561
470
614
621
264
994
509
419
858
888
979
961
429
642
622
106
188
191
744
757
885
148
14
194
187
455
228
547
385
388
972
264
29
315
786
373
169
102
184
589
43
251
621
813
141
468
936
129
519
750
333
829
345
518
165
462
13
976
864
813
358
273
654
753
787
965
805
688
888
448
947
538
481
429
797
58
275
644
203
905
985
465
511
675
432
700
206
401
326
401
203
149
427
815
372
851
183
995
910
618
17
497
240
376
245
438
689
465
776
363
707
252
726
650
509
972
583
861
151
552
407
21
842
413
596
921
340
638
969
860
222
280
162
413
630
208
159
510
229
27
277
302
705
704
903
556
968
694
524
667
199
123
171
843
955
351
335
105
882
925
680
189
522
310
965
387
691
789
449
113
60
881
217
924
380
702
315
931
805
516
212
350
711
8
712
824
732
174
229
549
388
272
327
640
173
461
979
590
43
776
547
602
533
460
341
323
120
573
46
847
897
700
363
936
222
149
411
405
653
703
715
875
99
77
653
983
938
970
388
975
49
537
481
885
716
158
904
225
895
981
450
620
133
287
632
642
348
413
91
764
876
795
336
671
28
390
267
503
291
271
148
459
668
0
852
154
952
551
960
416
403
562
771
595
692
119
973
157
505
789
442
223
385
854
513
883
123
306
715
676
482
621
546
90
544
889
35
615
359
511
127
89
756
955
645
516
386
8
634
431
99
224
296
362
379
99
754
710
981
645
837
167
688
279
540
65
890
42
349
590
763
682
485
233
234
157
782
434
550
685
368
576
858
438
11
590
208
47
146
768
967
895
174
940
880
789
718
754
125
276
777
756
954
259
65
211
363
736
170
667
895
312
6
720
54
602
834
826
53
7
225
771
331
473
864
375
513
340
868
122
931
225
561
924
291
203
246
875
200
603
230
971
747
340
700
991
480
495
885
665
101
75
688
474
507
647
69
293
685
678
296
112
97
513
403
637
796
269
541
929
740
309
504
114
250
151
269
752
991
977
35
267
216
87
133
936
673
499
65
999
165
115
887
485
596
160
815
394
930
486
497
932
837
370
115
259
95
320
747
913
220
266
324
808
172
390
483
806
770
786
541
92
677
602
257
518
161
770
485
398
481
452
470
145
337
6
777
45
283
766
217
538
257
806
943
425
827
742
479
705
181
328
135
343
375
936
399
840
188
147
225
427
740
843
111
306
252
758
148
571
493
369
388
481
246
494
105
395
402
463
419
141
414
413
812
122
923
415
859
190
249
85
461
416
765
436
681
196
442
379
930
892
666
836
895
87
214
321
656
533
64
855
804
154
309
283
482
176
68
515
739
843
817
194
324
31
32
138
209
781
451
286
853
127
231
839
180
790
694
542
969
293
393
693
369
160
495
331
81
929
894
792
617
875
788
452
401
302
866
589
798
482
92
77
835
568
174
854
398
172
791
773
54
193
908
937
732
5
469
588
679
112
783
791
230
223
538
905
893
52
274
206
192
168
781
839
991
925
292
278
483
464
524
41
919
317
543
915
751
639
271
712
854
562
269
461
965
824
425
391
777
133
32
436
180
389
376
831
472
259
920
850
836
29
196
443
422
324
993
358
26
392
778
292
690
453
773
598
470
636
873
981
482
510
265
136
546
463
915
40
739
796
693
934
53
544
511
976
611
694
793
567
728
258
551
604
589
950
771
459
2
416
908
163
976
225
430
884
137
276
342
173
24
912
292
973
425
191
129
341
361
890
515
963
156
605
586
368
837
23
434
328
532
120
369
90
887
228
640
53
34
13
386
778
997
216
660
546
278
102
192
552
387
336
689
702
599
688
635
239
519
604
267
270
66
766
333
653
720
182
985
665
790
226
244
575
142
479
388
569
736
352
43
418
350
370
149
751
528
220
36
640
703
171
251
275
119
281
747
111
146
886
897
858
872
921
459
560
580
553
867
875
797
164
292
109
503
673
808
757
959
335
411
697
822
24
84
454
548
60
718
63
777
497
131
148
986
763
238
676
614
411
876
652
265
688
770
723
341
615
80
994
126
800
921
931
857
629
87
922
25
802
583
586
42
798
77
250
908
168
930
349
162
75
11
612
58
600
731
403
811
189
260
418
495
174
969
187
333
182
530
930
802
264
20
872
246
318
569
518
247
190
829
169
503
572
249
57
40
140
871
687
568
515
252
715
875
881
971
867
383
452
706
95
660
294
546
537
885
911
152
820
344
478
389
269
157
277
158
82
106
260
757
828
984
620
437
350
886
978
867
705
319
405
660
140
465
104
422
3
908
429
511
288
848
767
395
995
56
620
588
778
134
349
748
21
208
410
474
96
622
633
937
709
93
981
823
740
157
835
831
668
388
930
873
198
596
840
748
692
894
683
88
427
116
559
110
618
994
566
659
276
909
966
783
870
850
406
112
80
926
10
820
620
594
400
83
559
145
249
134
549
638
534
75
187
209
180
491
765
435
153
130
518
145
275
56
752
712
672
801
320
129
577
132
540
713
7
723
255
364
382
57
357
762
920
402
73
397
655
434
616
555
514
181
341
597
29
77
342
944
5
957
103
930
957
459
119
975
215
657
396
339
403
131
257
88
778
49
40
890
483
444
967
278
311
286
126
200
450
118
97
831
271
671
556
385
957
470
680
153
384
643
637
226
844
927
216
768
221
593
486
38
81
967
530
141
980
613
681
589
803
496
991
155
599
908
872
758
12
510
957
346
386
781
924
594
870
309
663
239
665
205
798
426
607
595
313
646
518
276
744
918
548
175
44
797
968
188
303
778
481
874
595
34
955
719
431
775
299
650
448
763
790
584
348
176
122
228
310
882
795
18
385
678
907
114
321
700
854
491
911
750
23
336
357
996
266
569
703
729
190
535
741
784
962
872
206
368
93
612
405
79
211
760
155
711
154
663
966
113
392
388
816
919
315
333
419
225
836
387
736
797
76
616
359
451
955
557
343
244
3
72
4
110
247
620
214
545
729
54
693
871
426
428
247
67
69
309
10
159
403
626
792
457
590
54
861
54
692
346
827
247
731
313
966
335
71
407
277
274
464
708
660
582
269
236
577
446
874
492
655
118
692
858
0
702
394
64
530
9
58
378
342
256
224
323
24
364
549
808
472
975
396
337
604
72
86
140
785
787
615
325
86
87
458
879
571
446
189
675
281
485
135
478
374
763
840
328
833
505
727
258
930
15
516
884
798
431
681
127
779
409
212
753
691
176
209
255
107
442
18
406
431
867
13
600
503
649
377
224
311
770
667
509
966
911
151
945
925
574
716
408
885
953
407
702
691
150
747
403
282
171
538
891
493
430
707
42
292
563
61
658
459
567
103
638
151
191
762
558
541
825
756
197
420
353
227
640
165
853
868
135
71
510
573
766
718
941
882
684
454
351
881
138
672
457
338
468
239
18
297
101
902
748
22
744
338
393
88
230
269
443
576
529
807
239
389
149
55
33
845
632
169
604
305
423
710
936
638
976
48
845
471
651
490
313
325
675
855
812
699
397
126
697
355
401
46
267
904
544
16
74
752
274
332
520
60
893
568
774
464
830
489
539
444
216
831
596
248
681
65
340
804
149
446
282
847
5
552
477
801
43
700
326
517
921
580
485
341
203
896
146
726
234
623
676
68
24
712
939
694
658
656
24
750
577
775
172
430
715
796
432
601
913
630
334
651
483
973
989
729
292
98
530
179
599
346
997
686
627
839
657
437
398
313
48
833
800
732
811
388
577
483
522
480
168
977
194
17
374
505
245
689
115
42
138
62
798
586
620
591
692
367
848
714
775
348
670
355
38
892
528
629
153
77
616
32
113
889
868
469
792
185
834
626
684
960
875
672
672
307
836
720
806
696
449
355
525
47
336
108
491
572
20
57
983
429
69
843
406
77
771
719
21
604
935
776
223
905
735
851
40
248
911
446
524
928
142
892
734
107
6
451
361
183
138
730
51
705
296
666
835
512
92
652
168
486
722
403
87
87
125
150
24
328
279
849
40
807
128
25
61
169
428
135
140
546
666
976
136
646
494
321
510
403
957
266
711
742
710
886
908
46
839
103
462
583
688
823
381
172
113
961
4
521
760
974
298
997
660
899
404
132
271
313
648
875
420
102
338
514
63
531
399
638
873
570
238
507
107
334
427
119
203
237
156
145
465
438
142
712
31
30
101
806
872
386
285
910
202
276
567
998
604
780
743
608
215
234
167
218
946
911
819
837
621
974
389
0
205
678
311
345
293
448
340
702
808
694
802
558
887
740
959
860
977
986
244
63
513
503
667
891
449
843
271
51
392
686
378
904
108
496
783
46
386
237
644
21
915
894
600
744
919
255
897
177
435
202
833
619
704
649
939
950
791
346
252
209
459
363
842
490
293
317
632
960
833
529
969
872
2
639
546
782
271
730
273
116
969
650
16
675
271
552
20
226
810
134
350
612
173
658
716
822
872
943
758
596
720
61
463
767
713
946
236
93
719
194
890
167
160
133
98
272
790
628
398
881
747
217
359
138
869
928
622
815
504
392
910
354
724
544
71
749
571
2
290
46
309
527
773
842
418
362
740
39
446
438
70
327
935
892
489
9
531
147
444
158
454
288
239
743
516
661
494
172
530
9
559
530
706
902
900
814
681
222
538
937
587
31
329
236
446
417
187
617
110
351
135
185
833
174
421
519
138
205
285
655
989
382
610
691
779
765
921
452
861
986
696
116
532
695
830
850
144
814
860
863
396
651
80
905
278
17
862
350
938
993
33
171
61
555
759
1
961
460
621
331
301
164
252
628
158
117
678
952
412
348
394
412
969
287
39
983
517
641
114
757
710
380
92
295
788
108
402
859
476
70
737
976
385
434
486
447
401
252
786
393
915
847
805
493
220
168
486
863
969
138
825
794
887
866
152
86
363
391
543
933
203
498
634
736
427
648
812
109
490
601
47
355
975
372
980
879
300
108
501
70
596
746
868
725
246
654
67
34
136
54
801
359
505
761
679
589
418
631
546
479
537
541
454
437
933
850
102
331
254
677
674
484
584
897
567
740
289
361
345
266
271
862
632
998
840
169
311
147
720
884
553
730
69
52
456
470
829
216
887
397
638
686
823
22
410
209
287
144
755
515
259
881
672
647
28
311
954
218
528
801
928
228
988
84
160
538
843
667
38
928
712
733
399
169
978
107
431
62
30
70
334
215
983
22
396
617
527
420
372
48
487
499
982
589
739
610
808
174
200
492
472
593
172
545
423
14
488
128
791
224
596
982
23
266
167
38
413
118
770
87
754
939
690
527
481
926
363
149
747
370
966
236
511
954
339
209
554
233
581
521
657
275
906
164
59
751
240
904
396
274
798
437
476
197
444
760
549
804
461
896
770
571
994
202
266
579
965
146
479
150
370
958
286
713
697
17
324
208
326
409
156
210
678
827
105
71
131
138
322
383
0
955
262
509
139
62
808
355
990
444
938
701
810
772
116
325
367
773
407
965
612
605
24
14
692
311
105
60
490
380
646
408
265
712
783
381
896
740
286
889
852
648
82
826
847
183
811
65
122
78
33
111
143
457
596
449
10
682
652
393
4
996
634
638
118
520
472
122
960
641
326
517
219
133
809
130
892
502
429
454
579
388
547
879
164
117
13
161
763
426
553
744
656
550
743
422
1
828
16
884
479
335
100
668
303
797
100
562
405
623
915
702
449
653
35
194
450
102
37
766
860
803
198
410
982
552
426
415
391
129
939
484
686
925
106
744
548
943
742
688
429
868
303
595
320
421
111
987
344
591
36
893
777
242
760
644
284
674
858
696
443
889
303
176
736
868
186
727
153
752
379
639
362
190
453
633
308
107
699
440
121
32
814
158
377
530
314
492
638
244
48
335
364
688
986
886
185
601
76
556
921
370
719
473
762
30
265
367
556
923
336
254
744
632
526
278
650
361
589
483
496
272
574
676
277
476
835
968
48
741
874
114
120
757
703
669
531
702
475
933
367
167
1
177
691
668
629
114
743
547
787
358
534
312
504
88
842
142
706
783
694
767
578
682
620
91
266
966
643
691
295
852
340
815
422
219
421
630
500
240
68
603
756
396
252
760
782
824
435
246
300
836
636
800
167
271
43
382
525
804
72
857
192
253
509
136
310
84
171
760
900
646
73
533
60
322
166
477
162
461
959
241
207
46
870
933
423
391
483
387
707
690
23
252
733
331
649
741
786
978
57
882
460
864
162
67
703
613
729
933
70
677
717
978
104
249
315
981
662
67
871
765
835
515
601
541
760
186
503
574
702
686
456
630
432
381
709
241
571
726
165
483
380
566
556
867
376
135
228
609
164
648
653
923
215
36
714
586
475
856
723
74
768
790
942
406
191
687
423
184
152
437
462
160
766
62
961
291
794
322
358
106
960
1
193
294
182
826
342
791
927
989
925
308
205
290
847
199
24
825
778
17
990
100
444
819
334
289
703
238
945
506
276
491
296
966
714
495
985
991
800
433
896
822
208
687
517
896
872
642
683
327
168
410
470
644
106
11
470
261
800
608
443
932
895
774
293
793
162
165
743
780
195
900
767
612
74
108
9
258
307
464
28
719
762
841
759
906
340
334
694
688
498
419
613
425
823
595
772
190
167
763
483
0
920
241
314
10
159
712
470
848
489
436
465
237
872
872
840
310
699
623
896
812
96
92
275
55
265
26
895
244
386
230
500
279
340
3
924
484
355
329
442
683
842
488
581
978
477
164
964
893
527
468
280
453
913
667
99
160
392
220
922
311
541
380
633
947
336
134
734
926
944
200
712
312
389
8
290
667
676
74
434
524
747
925
198
328
206
883
802
15
884
732
935
155
272
688
287
525
392
391
193
190
156
679
445
278
513
613
382
79
252
470
497
978
185
897
11
483
226
396
270
323
363
311
547
790
378
64
871
771
476
474
986
981
810
495
130
515
785
157
800
864
213
975
576
465
261
170
432
272
506
383
222
877
971
591
423
118
643
547
816
925
69
839
385
415
365
337
542
400
8
118
854
870
212
61
963
863
362
828
267
911
929
500
720
898
76
572
47
78
362
504
217
202
639
258
949
15
143
943
213
605
51
893
76
671
669
776
719
590
761
5
761
727
176
789
515
189
588
772
216
665
280
957
413
609
868
337
332
909
222
841
167
218
321
994
154
841
65
665
832
275
667
205
720
14
769
331
815
201
904
654
840
559
112
270
285
321
159
586
438
960
918
986
471
336
475
654
162
770
874
186
593
103
627
342
691
77
735
919
247
454
145
760
615
755
543
115
161
703
102
232
438
868
360
249
599
379
577
713
976
331
612
517
933
11
447
408
177
567
31
193
686
582
154
977
573
299
662
700
324
406
437
676
393
167
991
561
625
447
194
792
268
846
452
900
550
661
701
569
121
644
205
855
301
153
754
188
315
61
342
490
476
584
669
596
769
119
602
933
816
181
327
455
259
41
82
988
398
527
968
668
222
389
992
784
316
634
65
576
291
180
151
950
811
986
123
73
213
454
877
899
953
943
333
94
618
38
539
837
162
101
682
394
284
147
882
900
399
99
781
348
654
205
356
163
482
215
433
257
527
143
235
189
227
686
606
867
763
356
474
516
374
835
281
821
987
420
929
205
512
425
178
968
132
72
622
655
238
26
716
535
700
914
221
947
814
947
886
539
953
344
608
339
283
54
205
831
139
651
246
576
215
21
675
486
399
752
344
140
611
137
537
645
701
494
934
17
99
211
182
571
852
473
158
889
393
882
610
645
306
873
177
349
820
526
537
841
708
825
708
45
454
316
448
248
912
471
776
565
284
964
249
317
261
997
496
224
611
275
387
561
564
33
231
295
871
81
759
640
706
157
4
796
197
442
40
677
479
178
459
738
676
101
987
710
970
224
282
321
959
501
42
638
908
688
188
838
629
332
437
403
218
747
586
280
188
148
860
251
226
666
97
808
952
513
711
330
705
33
373
915
70
246
936
356
926
201
747
88
189
187
202
321
155
237
597
649
219
657
438
294
300
511
762
391
546
437
188
518
741
973
413
188
617
174
233
417
428
377
11
529
700
62
485
944
356
477
950
894
680
603
574
828
184
210
484
841
337
414
32
921
375
626
342
34
580
136
399
688
302
123
245
89
894
717
643
926
180
586
340
779
183
635
669
952
613
277
703
289
425
331
469
341
511
954
262
615
578
73
121
671
984
689
196
817
636
425
894
360
974
747
384
155
291
427
738
960
658
449
853
520
847
109
72
675
905
781
530
838
38
50
138
629
561
227
388
300
845
136
134
959
423
331
974
890
730
289
781
445
519
962
85
680
329
590
426
949
669
423
691
676
626
66
165
737
237
507
119
301
529
105
813
847
822
957
974
326
117
556
193
731
130
168
161
369
284
36
821
900
461
695
361
827
102
379
994
119
860
272
13
821
39
303
854
841
8
658
285
918
778
305
698
300
91
667
695
465
19
707
676
756
98
268
451
441
54
293
464
168
174
390
311
115
282
344
647
41
198
13
446
438
267
350
456
131
358
172
411
22
920
865
117
511
128
550
767
373
649
195
515
190
207
829
162
319
355
492
835
867
93
428
741
383
138
855
355
852
483
26
808
746
73
197
640
992
777
832
804
188
393
891
351
902
639
313
315
197
351
890
231
682
526
140
422
125
757
135
370
941
818
351
58
530
224
95
658
532
394
41
650
917
454
447
978
730
98
540
921
200
174
589
988
184
871
287
513
964
951
957
533
497
456
525
68
613
34
403
896
120
698
903
487
855
592
329
104
776
464
154
444
196
560
615
378
964
343
413
443
258
941
588
363
513
796
110
285
470
794
916
120
981
537
428
643
501
967
312
708
635
383
55
13
979
376
94
65
582
165
788
212
285
971
350
917
0
928
761
536
999
483
327
197
439
10
804
253
664
649
838
773
467
516
74
929
832
944
308
378
928
556
51
986
853
697
43
980
524
436
707
81
509
563
966
455
59
297
706
564
196
957
881
461
68
173
929
577
315
602
812
442
389
20
282
102
318
454
397
15
207
143
180
926
15
186
634
242
604
952
98
407
618
837
643
389
869
904
859
234
603
459
108
867
310
430
307
945
325
590
43
992
393
769
796
689
932
748
244
624
351
95
789
331
887
373
443
302
892
377
548
294
786
133
190
716
40
125
674
94
316
804
969
411
397
409
209
274
50
99
749
301
818
290
24
834
966
742
400
781
154
309
791
927
353
286
726
447
211
788
568
429
959
767
391
277
487
425
610
977
834
121
375
483
572
949
68
132
18
456
214
198
314
263
767
940
25
556
414
34
925
753
366
589
649
425
350
684
781
940
386
974
741
414
202
627
613
161
645
497
57
306
58
661
783
926
904
228
196
483
333
435
398
503
437
874
541
518
950
377
158
212
424
79
489
799
653
924
250
422
485
570
577
206
395
420
406
679
2
90
333
463
45
782
825
515
190
690
503
704
400
353
62
550
92
388
643
128
561
116
305
661
743
369
293
230
542
875
446
308
953
96
481
45
26
530
721
918
317
744
389
676
500
471
640
176
839
810
237
870
873
918
833
71
452
101
713
686
169
405
969
841
382
357
918
385
786
157
630
951
974
587
313
677
296
758
743
820
666
806
130
267
864
159
393
130
531
517
111
612
511
526
315
447
138
854
267
723
209
674
490
205
125
692
55
580
37
599
538
998
103
519
746
763
865
251
409
323
585
740
575
537
492
61
424
990
815
743
369
809
449
972
772
794
696
488
318
542
713
978
633
369
802
108
383
414
619
330
642
263
381
825
420
114
928
409
471
821
636
757
828
369
294
12
392
493
980
220
993
262
795
765
642
313
302
227
0
672
38
38
356
230
584
418
32
789
184
56
862
427
154
43
506
154
605
441
492
330
757
795
189
819
981
271
86
300
461
416
186
777
771
825
703
805
893
608
247
331
405
868
533
901
834
81
535
369
907
295
68
427
707
263
540
157
843
297
578
695
737
218
78
53
331
672
721
125
110
42
284
469
747
414
334
151
579
813
526
733
429
676
626
858
912
201
601
524
743
181
248
483
785
765
186
141
167
824
339
702
310
891
615
113
630
455
188
672
434
835
273
126
523
978
792
352
320
118
431
10
468
225
762
720
123
227
674
641
479
150
823
463
698
836
776
712
318
735
873
168
392
529
571
851
231
324
405
375
774
465
30
167
486
143
412
423
331
907
934
533
920
774
277
402
311
804
599
90
731
648
254
884
61
277
529
717
543
837
466
451
766
937
705
391
311
642
194
944
165
398
81
851
661
990
34
123
804
195
194
236
151
453
666
553
298
694
364
231
683
804
15
390
848
966
142
574
939
638
791
174
513
982
633
315
847
917
17
340
78
587
160
997
478
301
351
831
349
684
124
119
389
598
314
198
975
576
122
710
613
957
890
216
688
900
878
531
834
18
465
556
360
896
968
547
935
247
136
53
429
310
524
81
531
113
114
576
961
691
219
770
920
805
730
991
577
260
690
130
603
963
647
39
840
650
371
937
322
182
812
248
146
817
330
764
296
241
305
239
121
445
267
841
285
736
259
935
215
670
323
816
432
688
407
20
7
603
411
686
368
111
748
0
962
3
467
224
464
911
726
531
182
369
657
390
194
676
232
139
338
918
421
374
7
161
133
198
927
910
675
675
282
733
337
656
828
930
487
465
330
432
728
950
699
295
13
388
759
641
680
416
336
651
490
740
163
750
440
124
892
349
580
59
867
141
756
641
647
874
594
245
777
576
329
768
633
258
773
520
703
438
993
59
370
852
934
439
441
174
837
165
64
433
961
813
132
722
368
371
201
411
870
579
193
843
411
398
697
996
689
581
947
770
77
533
814
229
619
737
256
54
236
162
407
425
454
410
970
590
159
357
511
424
288
250
645
944
218
480
876
374
62
721
325
841
933
577
257
291
698
557
85
418
933
368
60
476
484
512
688
518
72
899
356
285
349
768
205
147
555
52
841
154
188
236
421
517
1
840
433
55
282
909
762
541
423
612
982
367
835
584
903
507
550
696
198
917
137
998
749
542
659
427
5
137
475
312
447
921
451
43
926
848
892
376
41
122
780
226
161
642
586
977
871
217
710
144
429
592
751
720
978
801
659
950
276
479
276
387
95
845
805
148
68
453
93
967
198
469
525
191
392
602
339
321
667
387
128
680
974
130
275
358
925
672
756
261
89
366
743
592
587
250
754
116
234
671
921
656
738
131
190
204
406
984
14
581
900
111
439
172
503
981
131
843
739
325
130
171
867
968
295
796
481
601
335
309
406
899
28
346
290
943
621
681
475
865
471
649
990
986
823
439
435
689
643
141
452
156
285
839
366
615
659
18
699
176
605
489
77
281
990
885
697
180
428
354
955
502
305
150
389
263
77
367
549
115
738
868
289
327
784
289
548
554
954
654
347
101
925
568
165
916
273
637
410
131
375
917
582
774
417
926
768
404
257
73
483
496
149
357
414
722
489
639
721
312
855
945
675
302
37
364
375
933
253
695
241
78
993
933
423
227
815
648
660
857
730
254
597
374
950
346
851
45
716
956
388
926
228
926
990
44
43
950
415
103
895
397
623
116
914
612
423
181
810
521
325
865
752
711
464
539
425
297
983
211
835
780
458
907
129
673
349
778
822
990
125
612
624
712
411
998
392
308
131
730
126
894
83
896
502
460
311
768
871
141
864
575
61
106
625
256
502
147
804
952
42
812
305
654
796
51
852
164
10
602
354
238
940
208
849
733
259
649
57
383
319
464
585
8
596
849
678
323
308
491
844
871
271
521
136
385
874
215
891
555
425
947
167
791
447
451
777
195
916
560
537
700
221
272
464
439
205
109
525
939
691
487
30
828
114
427
973
173
400
848
153
598
512
209
444
349
654
86
10
466
492
137
18
797
847
587
640
917
798
271
117
480
872
364
47
930
736
565
183
290
955
541
12
594
426
810
273
300
228
670
547
235
233
398
279
315
679
704
771
502
487
512
533
289
749
266
423
938
359
279
55
907
258
729
803
132
195
750
874
465
918
79
489
989
759
863
486
62
509
754
888
380
921
192
882
947
602
804
783
363
873
675
500
875
963
304
157
297
819
439
121
71
366
740
533
722
605
163
569
887
653
674
710
312
253
65
526
67
90
416
114
365
822
515
161
365
767
667
161
416
838
4
747
516
690
535
361
992
212
907
232
827
533
582
135
152
418
723
27
109
66
866
980
376
645
412
713
686
968
145
116
425
131
964
888
289
791
640
22
832
758
741
69
269
532
116
607
603
360
170
560
289
720
480
94
563
558
452
709
895
912
523
338
0
121
635
105
672
957
311
345
452
162
870
902
90
385
523
503
100
929
666
403
774
705
35
229
991
640
18
172
893
392
946
380
54
652
753
787
110
150
870
293
839
504
67
809
523
25
461
976
743
759
304
573
951
442
809
75
520
248
344
251
386
206
447
93
996
575
603
521
26
745
586
688
115
504
102
67
286
315
41
48
554
292
234
972
149
195
510
752
831
534
359
889
126
54
312
992
413
574
770
718
866
536
936
939
870
749
784
903
245
474
129
967
687
646
645
798
763
282
106
688
150
931
266
180
282
201
512
877
588
512
929
600
491
873
3
394
482
569
904
928
225
452
805
766
205
727
220
116
588
158
547
704
127
463
380
321
909
756
404
829
628
126
386
344
51
118
140
50
846
744
595
459
45
892
202
827
696
43
937
943
719
575
69
894
406
458
535
445
811
8
758
805
103
27
766
725
555
650
385
887
142
692
342
337
514
516
548
162
882
207
952
652
334
827
152
538
847
344
535
173
516
926
610
851
83
716
25
252
477
974
577
114
253
723
38
619
76
410
137
703
307
688
902
254
465
622
740
552
60
950
867
212
660
150
841
738
969
968
256
89
694
887
767
575
90
152
674
843
398
948
79
315
211
664
983
197
803
198
31
924
265
157
312
972
899
510
730
72
780
857
237
972
283
785
993
845
565
179
575
503
813
739
348
570
724
976
899
202
823
405
204
651
924
812
625
610
250
248
396
457
868
618
416
180
451
431
884
397
269
213
538
32
555
807
391
292
851
855
193
817
37
300
931
349
833
297
695
399
324
326
771
562
88
346
384
779
816
728
364
184
168
817
457
146
471
728
998
453
113
848
324
261
155
68
240
94
551
403
611
664
715
685
867
110
388
171
793
35
95
998
858
157
963
625
930
971
48
544
606
736
436
705
355
165
76
291
356
245
349
123
303
253
314
564
320
161
831
832
976
374
876
645
978
106
263
683
559
346
568
920
129
715
768
291
344
13
677
724
220
759
402
718
35
640
986
667
114
406
614
130
904
469
156
832
276
105
836
926
410
257
370
350
954
826
766
242
542
318
849
159
379
247
988
759
155
745
818
857
497
589
330
458
254
878
431
429
631
387
37
540
90
178
611
842
237
817
533
779
141
488
685
469
827
184
147
566
784
566
707
26
794
668
463
734
294
109
181
642
209
376
830
890
102
784
669
609
570
221
755
973
78
9
999
509
314
587
35
197
401
167
212
716
120
118
158
796
160
616
21
490
107
937
420
61
28
572
712
937
215
797
40
907
717
541
205
591
92
810
711
374
520
688
60
264
720
904
610
368
90
947
165
658
869
854
177
85
522
154
66
87
386
364
916
646
592
869
476
786
69
394
247
493
863
812
67
676
649
122
389
962
938
903
197
399
948
628
465
15
293
885
29
479
488
711
144
913
807
792
29
512
750
338
596
517
448
985
605
653
210
726
828
140
122
27
295
913
799
674
374
751
433
64
705
223
33
48
458
735
421
121
178
621
346
58
509
336
965
733
651
564
913
355
501
299
180
880
893
134
537
444
203
123
706
632
637
378
273
473
940
793
171
45
975
655
304
548
285
665
204
545
869
857
850
812
727
915
357
181
656
208
89
941
42
646
251
855
146
491
357
148
61
911
122
42
289
345
647
746
357
891
34
855
993
233
595
936
754
325
832
954
46
448
579
537
315
998
41
330
958
450
436
903
217
388
422
146
437
207
271
282
515
330
448
748
849
498
841
456
741
618
71
547
42
788
475
434
330
335
675
963
725
600
27
527
768
348
154
826
86
363
806
885
591
577
676
898
916
328
492
359
726
660
497
758
113
460
975
546
808
0
868
999
786
215
941
289
988
829
227
36
984
74
191
313
49
658
983
983
841
515
100
672
414
628
743
778
747
615
400
666
898
200
323
465
894
325
100
209
380
116
342
404
460
87
958
160
76
364
625
687
709
7
893
837
447
429
221
242
20
652
262
789
576
824
124
629
759
810
240
510
190
341
635
628
112
10
993
508
878
962
128
517
140
124
441
663
545
750
995
367
56
74
317
523
735
661
659
712
802
56
825
723
202
222
63
104
630
113
595
708
408
804
171
234
198
314
418
98
765
268
19
817
720
29
37
842
364
625
402
408
414
879
903
152
233
132
3
425
869
988
796
421
284
141
652
411
523
306
312
404
949
315
211
902
761
304
429
965
106
512
564
471
211
470
192
409
306
883
340
155
565
497
386
670
430
916
527
130
738
674
570
823
620
575
128
950
651
143
246
39
752
498
985
705
905
579
402
445
451
994
847
690
413
658
695
95
617
710
261
21
325
932
622
239
981
416
31
453
403
675
525
48
775
622
861
950
21
202
76
716
8
233
398
599
552
117
209
598
420
742
465
286
255
945
894
296
426
79
285
942
781
605
378
83
797
814
161
923
215
211
467
76
14
358
380
658
323
494
897
65
304
961
645
415
826
600
8
727
83
887
777
40
194
629
244
945
579
30
211
191
267
828
270
214
49
630
515
399
189
28
346
288
765
77
747
594
835
871
492
348
557
947
944
86
391
623
883
407
687
845
201
329
637
629
487
738
561
997
462
131
411
56
957
831
492
944
486
811
349
262
568
740
59
239
615
134
475
698
19
978
917
428
609
575
676
125
553
680
999
507
253
931
542
291
103
480
211
35
152
12
651
241
675
282
546
429
323
441
543
50
242
531
602
104
940
961
569
811
522
896
283
896
236
173
77
57
583
241
220
813
897
12
604
924
681
649
434
427
14
62
840
814
356
209
139
269
822
850
669
959
618
907
339
284
833
318
407
87
328
834
364
860
947
113
929
929
564
481
780
548
797
388
193
575
917
147
286
713
509
575
807
827
785
206
655
669
770
187
643
650
378
336
748
107
468
377
444
16
59
372
872
868
642
786
299
48
788
164
36
445
357
469
246
358
290
581
571
5
536
236
469
283
569
781
784
16
188
813
500
201
845
132
905
249
855
872
152
724
318
504
804
782
604
720
383
484
690
762
69
132
456
660
216
843
789
830
421
232
179
241
295
350
13
557
558
443
762
885
990
310
274
385
182
356
965
894
516
449
471
309
670
547
422
71
27
901
884
149
436
30
16
140
334
982
392
68
880
528
488
932
829
709
400
946
877
567
168
497
572
432
418
143
891
238
855
210
667
369
435
887
97
66
478
376
512
471
781
429
67
730
878
418
777
492
954
969
576
168
553
717
585
621
672
555
635
507
235
834
815
87
848
116
67
340
788
36
806
811
445
79
402
728
987
406
845
963
898
963
583
53
182
183
487
28
658
805
509
823
914
62
722
631
481
497
184
758
951
157
802
89
117
170
424
256
163
466
789
696
879
4
924
363
293
692
447
423
432
59
98
336
364
735
389
351
432
296
721
50
0
905
208
405
596
19
818
446
96
414
716
553
113
516
767
26
110
482
960
458
693
823
703
250
721
5
597
638
724
180
78
124
741
708
251
149
768
752
40
316
840
489
263
79
107
493
266
671
907
235
988
813
83
506
16
23
948
308
657
957
602
301
501
864
261
878
10
587
443
465
944
617
508
513
825
983
703
447
925
913
549
642
149
869
650
465
415
424
52
671
849
631
529
487
595
891
745
112
974
380
890
61
461
991
16
677
95
701
689
886
612
239
657
297
608
912
179
128
511
527
26
742
773
505
168
394
872
843
760
704
180
365
544
466
497
902
654
759
667
170
840
104
908
968
684
45
825
542
588
676
95
50
40
178
473
763
927
213
840
820
523
477
149
960
607
858
478
188
413
785
188
17
523
199
374
180
606
59
977
414
24
857
775
837
353
379
234
645
20
109
307
245
700
898
141
216
166
264
560
210
575
806
429
385
206
125
682
65
717
494
211
376
749
327
237
137
767
735
580
94
594
787
107
651
153
765
6
395
876
388
56
892
287
128
936
444
277
156
623
372
337
174
514
476
65
105
505
647
863
351
755
516
406
949
667
521
907
764
851
907
547
689
610
606
338
25
805
217
789
900
695
725
579
964
19
978
216
739
568
252
797
275
163
364
429
534
495
848
527
353
272
277
4
162
19
860
798
303
14
414
394
548
650
71
785
12
204
143
572
431
20
557
163
165
759
211
401
991
194
698
348
690
14
91
365
888
743
35
910
802
852
164
842
301
44
919
442
722
462
324
670
211
829
211
799
734
832
435
107
891
632
857
976
644
767
699
104
127
233
446
757
848
483
104
717
709
404
308
428
575
35
627
213
748
198
324
645
779
396
379
380
115
812
489
334
269
132
87
518
124
609
393
294
903
906
588
265
157
939
180
990
781
220
905
615
571
946
470
72
700
751
467
297
323
187
47
653
370
422
651
647
805
255
244
768
103
478
191
818
475
253
683
730
495
977
640
404
708
914
58
722
510
124
456
756
424
906
621
118
89
652
750
695
734
464
966
522
959
487
465
684
548
642
734
991
845
641
676
871
660
264
663
389
292
216
378
722
480
268
711
631
926
330
241
894
783
353
936
898
892
503
85
127
556
411
391
477
167
991
141
577
893
281
909
389
561
425
65
431
679
561
117
505
336
973
559
267
123
973
71
200
601
985
108
859
989
243
636
747
609
711
979
457
716
495
827
369
567
83
45
76
358
40
114
127
871
3
926
407
121
73
475
505
515
668
726
234
235
851
247
783
923
955
37
790
264
977
722
442
278
316
523
989
305
195
698
157
853
936
35
862
752
399
554
908
972
928
133
963
384
371
372
271
635
961
393
248
629
909
161
700
960
502
745
155
973
875
994
142
823
912
903
881
214
995
787
708
733
227
612
176
226
607
753
102
984
748
389
708
609
202
347
438
524
505
420
360
602
410
62
127
98
857
512
948
331
627
422
545
614
882
549
894
182
659
458
102
663
307
493
560
203
808
175
190
184
627
84
913
467
591
800
886
270
108
430
420
276
397
387
727
832
26
519
733
226
568
42
596
200
121
235
92
612
620
885
712
392
693
892
992
685
782
932
553
81
256
148
796
902
410
242
190
391
940
399
513
281
336
403
912
474
618
975
488
85
930
449
155
666
593
250
967
427
244
375
178
815
336
361
34
664
176
826
477
505
254
819
26
325
88
574
986
680
652
853
643
472
334
430
709
655
581
565
669
928
517
952
658
836
506
887
303
735
915
574
712
321
732
885
683
121
355
641
631
613
30
482
123
926
589
368
898
198
878
185
5
226
331
376
427
164
88
181
637
809
784
907
5
218
100
15
788
501
839
825
691
874
812
509
491
981
143
818
56
743
571
694
613
419
594
381
258
428
955
328
866
471
936
63
197
402
138
611
838
356
201
350
923
857
682
203
966
479
673
625
720
930
38
105
26
262
291
600
907
747
638
679
918
514
41
275
343
9
389
579
186
308
648
633
666
479
916
342
187
33
56
274
674
560
12
531
910
782
887
742
457
892
64
923
201
710
993
957
262
876
582
539
602
458
252
165
627
433
571
133
97
809
929
661
974
250
771
9
827
887
134
339
907
8
888
577
488
565
603
175
674
92
728
389
454
306
828
821
538
49
154
208
700
924
51
149
11
101
777
841
946
438
712
819
352
427
659
165
197
653
878
482
912
431
603
605
917
32
348
104
512
765
687
534
811
176
873
927
649
725
791
650
686
381
259
254
882
325
24
334
797
269
623
283
792
906
325
928
603
200
416
396
906
478
208
632
733
313
487
514
949
732
631
566
318
659
88
181
657
856
394
406
950
709
482
507
564
525
962
245
772
309
514
704
442
167
264
366
552
819
280
57
101
754
935
881
328
395
80
553
877
398
479
177
386
693
829
418
593
45
513
143
220
663
918
25
657
783
892
204
828
161
951
781
493
247
10
821
853
723
17
407
979
931
9
668
300
530
196
759
682
751
792
813
459
923
544
812
170
203
357
678
131
932
585
758
149
64
586
749
595
346
383
83
185
241
540
280
883
361
757
920
302
38
241
832
133
843
677
979
186
938
344
91
141
21
742
635
604
126
308
955
171
423
499
473
325
793
271
514
322
445
649
128
663
549
548
99
749
763
870
911
518
388
497
281
618
783
146
429
301
944
316
11
139
969
222
960
416
77
808
832
108
119
473
410
38
863
246
919
888
938
783
553
71
948
904
134
203
374
172
566
415
362
191
709
811
13
445
388
925
84
493
229
963
308
855
498
41
678
451
897
618
546
697
525
376
436
35
378
263
434
613
808
197
151
136
420
750
123
144
290
650
543
634
326
788
343
385
870
772
201
712
26
74
73
68
864
4
863
242
372
854
4
244
839
310
668
244
680
919
31
503
243
440
436
592
336
835
181
781
75
934
354
895
40
467
974
993
997
590
590
781
816
86
26
321
150
193
763
496
343
196
784
908
330
629
914
781
649
972
262
859
979
608
687
808
193
699
342
91
399
743
252
850
401
832
267
851
769
125
990
24
768
842
419
7
292
601
443
13
686
998
23
165
976
830
912
18
797
814
431
770
947
959
930
858
635
575
327
677
395
941
944
148
719
439
687
112
356
914
115
139
220
39
648
245
954
235
969
857
709
91
892
43
897
55
993
925
751
724
722
824
531
9
567
120
556
620
720
723
34
272
20
204
797
401
266
591
78
325
97
37
674
430
561
807
529
507
391
632
65
96
242
698
123
1
844
91
228
694
863
654
544
292
839
710
786
879
132
734
852
727
904
577
46
907
488
570
113
349
871
540
440
848
106
120
283
884
842
945
412
409
70
718
140
646
959
889
801
204
662
761
91
221
143
674
519
894
625
654
221
683
857
222
183
297
371
846
623
631
947
415
74
151
306
435
602
510
14
748
309
640
728
880
634
102
16
283
784
549
430
321
52
252
166
344
227
515
210
340
96
377
149
617
215
565
471
675
186
960
17
882
895
884
427
205
877
253
641
814
973
981
710
968
547
375
490
89
483
9
482
442
913
646
1
961
422
114
422
389
316
575
526
181
31
27
234
12
913
864
547
57
954
494
908
769
418
711
177
54
537
189
310
163
260
286
960
147
768
699
161
978
790
832
356
382
941
210
456
970
45
459
335
176
315
631
751
837
856
908
2
229
379
39
832
844
81
225
838
787
386
652
443
846
997
875
991
800
35
703
238
871
164
653
437
64
727
395
793
645
404
767
25
717
655
61
100
103
288
214
338
518
300
1
169
335
950
991
386
151
168
287
66
997
374
941
637
65
802
630
562
697
59
542
445
710
119
509
459
367
57
459
557
99
974
207
690
240
556
204
732
91
582
851
20
268
894
568
364
430
77
770
527
582
501
373
749
523
67
871
461
112
851
759
353
872
984
476
659
813
362
399
41
54
605
301
148
434
701
953
318
726
463
103
521
480
647
675
682
134
725
280
12
182
265
800
522
817
645
753
943
797
962
840
802
5
638
698
168
205
596
581
771
435
124
211
525
879
410
159
769
465
94
834
877
409
207
897
434
0
950
502
741
40
999
306
178
540
287
637
877
85
615
411
742
162
614
528
989
417
920
781
354
894
668
784
534
298
127
937
441
933
167
179
319
634
650
230
721
239
28
371
85
941
38
119
181
119
320
365
990
482
536
859
911
583
324
744
925
292
125
617
212
949
651
785
502
444
804
959
782
256
352
606
700
87
948
52
81
438
355
376
649
187
89
698
477
799
150
127
79
691
704
490
669
873
985
992
220
726
334
793
282
225
178
344
867
668
195
829
568
918
575
390
641
390
177
331
414
912
682
376
549
782
670
765
237
795
303
885
757
587
336
130
251
117
758
241
389
115
919
983
448
7
29
488
584
224
84
615
553
832
673
75
771
531
174
27
203
990
602
632
950
564
328
787
520
449
253
5
279
824
6
988
432
886
870
836
933
769
827
749
802
790
243
343
865
554
411
928
955
989
982
954
63
273
892
278
566
276
300
921
32
852
96
75
741
666
752
245
98
762
568
367
47
992
88
845
820
958
118
227
457
311
94
879
847
332
388
859
507
785
275
812
866
507
554
817
417
995
61
262
477
491
835
193
643
683
423
78
295
169
519
681
762
306
186
337
694
384
248
381
741
242
71
435
161
68
26
66
129
709
668
748
836
986
96
476
82
508
634
490
543
201
459
902
715
646
642
425
996
221
506
404
699
70
213
301
259
873
28
938
610
505
232
842
179
898
901
232
67
758
856
995
798
972
561
915
376
862
104
408
647
482
352
43
715
649
49
756
135
598
741
814
377
102
53
659
108
208
28
604
436
574
730
79
30
418
230
511
446
607
98
649
211
812
227
413
327
589
791
937
969
748
212
719
229
306
902
761
225
71
356
171
867
893
766
231
778
189
81
739
49
566
389
663
460
302
659
229
918
193
748
981
478
375
551
216
698
918
493
608
145
309
43
160
971
431
726
896
791
548
289
205
541
954
782
887
369
116
276
599
164
196
446
755
198
643
622
559
97
654
544
507
47
744
282
402
120
50
635
979
117
978
999
579
375
593
224
578
25
362
491
630
363
458
935
765
979
133
699
227
474
72
38
437
43
95
245
228
488
846
904
924
441
234
523
526
119
808
983
893
704
969
645
523
822
18
589
701
347
176
598
774
898
185
729
873
127
87
611
480
703
995
39
853
462
790
73
640
980
247
460
521
795
513
798
545
608
370
963
611
43
543
834
152
20
304
323
819
855
519
432
463
209
354
648
203
531
279
338
837
364
274
581
6
565
664
370
775
59
956
27
214
255
307
530
790
273
417
550
544
781
531
186
530
949
901
80
677
456
225
273
624
794
675
132
458
193
279
155
931
511
648
596
684
307
147
705
108
650
431
176
430
88
734
140
784
388
951
492
411
65
376
122
559
482
72
277
247
102
186
394
840
638
312
213
469
60
631
460
480
443
572
494
772
607
824
147
665
996
490
106
238
950
48
515
787
261
598
414
733
306
433
579
387
443
146
871
91
516
460
593
648
926
283
736
765
766
778
239
577
787
564
939
714
747
631
850
139
808
600
777
327
726
329
211
102
551
949
830
266
352
258
287
50
186
13
330
310
443
348
444
938
984
497
602
778
768
239
68
618
957
566
640
998
57
477
165
637
109
807
984
710
322
394
968
616
727
617
152
440
802
898
349
329
309
48
300
761
377
753
374
126
515
148
413
783
846
195
481
939
257
859
848
236
32
372
790
288
410
599
951
269
251
353
572
520
40
409
149
803
103
543
964
412
493
46
205
348
474
733
629
856
934
608
278
97
782
481
274
744
419
593
214
875
639
49
926
184
754
823
419
317
278
382
545
806
478
394
942
950
997
72
79
746
568
65
122
69
262
818
12
399
944
871
989
354
414
793
456
813
277
295
629
717
239
833
220
554
91
769
619
433
757
677
709
420
459
947
373
806
153
150
381
891
926
64
918
153
392
325
979
424
282
915
169
756
60
717
811
468
529
220
380
10
413
274
926
256
191
323
839
853
606
764
435
68
392
378
853
707
271
56
452
236
675
846
58
130
277
247
852
449
266
874
496
277
776
452
497
423
243
363
436
180
394
689
483
468
427
519
704
402
875
350
219
717
215
956
457
563
13
267
320
605
963
24
703
816
584
862
205
868
513
224
553
934
133
0
731
533
34
749
585
713
752
879
661
462
854
429
617
242
662
593
659
450
52
459
984
342
915
979
407
759
974
260
107
515
644
398
197
636
341
93
63
851
70
179
775
715
835
956
329
522
634
368
596
686
661
137
482
996
753
173
596
436
198
471
853
658
463
89
629
342
288
619
318
906
969
650
76
509
319
311
865
323
590
537
864
295
531
128
467
106
238
731
699
824
508
408
405
357
188
74
689
486
567
30
207
825
266
794
181
515
606
500
119
847
145
960
370
223
976
326
649
109
398
162
124
554
296
813
498
55
850
473
38
630
703
532
88
38
105
156
544
427
627
80
562
628
204
912
590
294
382
27
408
443
463
714
261
833
254
222
911
908
417
249
131
543
547
377
980
848
969
401
920
672
270
547
255
989
864
725
500
633
603
305
985
547
344
175
360
914
731
557
173
991
237
104
591
45
843
402
677
660
712
583
238
599
122
357
718
104
141
379
308
391
422
798
19
777
549
144
779
761
639
676
995
382
569
343
200
809
363
118
271
763
470
107
86
37
178
833
471
915
375
669
337
474
667
976
132
713
626
640
169
115
119
497
42
368
737
561
934
572
388
917
853
742
584
613
237
26
731
270
166
193
922
442
238
917
112
351
772
61
873
751
261
667
440
626
844
430
454
126
583
603
958
485
100
603
441
157
17
141
105
679
269
539
452
215
111
480
121
825
560
584
675
42
185
513
758
620
955
823
856
812
208
873
737
107
107
58
838
733
273
969
642
27
628
825
601
332
688
3
129
27
140
35
985
517
251
766
322
274
229
39
4
588
127
200
459
737
223
464
473
765
964
343
529
772
779
163
252
180
404
269
42
785
777
330
138
520
17
3
170
435
660
741
392
71
125
822
434
884
380
318
52
88
849
224
219
290
472
837
89
876
623
624
717
931
621
861
925
384
979
555
587
475
870
348
983
310
831
139
916
950
195
524
827
661
834
115
949
162
905
430
700
466
422
168
238
291
375
588
3
206
351
162
148
88
353
524
835
866
457
418
526
102
871
96
125
759
933
430
91
374
97
706
17
360
512
923
950
835
259
347
781
456
529
967
977
720
422
433
406
181
986
970
961
685
123
602
2
270
416
728
822
668
424
87
932
240
865
628
948
250
271
964
789
343
627
526
150
657
135
25
53
482
949
104
437
306
156
871
648
940
489
251
699
967
178
6
168
616
110
157
468
367
519
422
41
374
954
68
107
619
99
831
329
879
730
708
447
3
549
791
968
663
580
131
136
769
469
119
398
846
523
6
605
421
414
663
495
575
177
647
252
81
417
552
0
314
759
819
991
319
749
151
296
376
226
974
941
389
848
661
959
24
980
879
217
178
283
424
803
642
822
72
796
267
893
497
611
175
760
561
858
382
566
568
274
168
801
945
101
890
360
836
280
102
358
1
38
669
984
743
701
781
969
402
467
726
225
946
570
384
659
615
999
87
114
143
3
395
132
816
281
29
887
533
801
344
246
85
476
610
196
11
893
412
245
183
89
550
109
521
85
567
985
485
800
603
837
803
847
865
571
446
594
842
694
808
920
82
850
333
685
8
813
895
457
20
76
791
306
29
120
701
928
879
442
10
28
561
590
883
15
651
727
667
335
933
691
721
165
410
502
413
491
716
646
351
870
9
766
51
247
626
356
809
329
206
31
830
223
110
785
242
187
89
938
920
709
444
462
945
95
307
681
917
927
842
493
145
217
163
230
353
92
887
317
82
439
337
438
537
866
805
949
319
623
878
950
221
104
758
96
66
372
154
575
474
967
891
615
150
524
855
942
558
237
322
149
526
739
663
859
385
12
944
238
800
264
536
768
357
326
767
699
492
832
970
311
967
766
985
989
868
23
723
201
774
570
508
207
904
386
359
105
74
4
435
899
251
638
10
138
708
818
728
581
914
230
925
726
371
89
177
404
130
831
709
712
46
209
533
292
350
977
443
258
301
337
672
720
528
878
175
785
735
875
473
161
807
765
804
515
144
721
514
77
637
352
290
110
462
144
209
262
200
993
546
500
609
943
845
180
526
118
567
945
515
455
50
898
685
945
362
262
520
901
852
639
458
600
592
386
130
426
593
213
977
951
120
664
573
524
385
141
872
471
306
796
644
531
712
404
837
126
790
409
476
124
14
774
810
799
382
580
390
451
484
327
139
464
639
523
263
640
49
319
160
11
798
19
603
536
708
726
798
593
475
304
446
34
926
114
503
937
489
231
300
360
486
875
519
253
279
421
626
689
564
843
505
769
330
199
518
602
283
262
242
15
119
329
522
81
454
159
994
297
811
121
106
412
538
772
786
954
283
861
678
345
358
417
416
87
99
480
197
557
239
647
480
737
688
720
669
227
245
101
16
280
973
245
678
300
856
808
136
304
588
389
303
404
958
190
52
400
375
902
568
849
90
360
752
153
740
704
725
927
104
959
573
476
9
587
833
921
304
29
825
885
580
432
555
269
550
319
813
966
660
4
224
157
117
40
540
386
319
366
944
558
835
851
374
599
977
551
146
447
159
849
398
12
504
419
289
640
877
414
353
399
663
683
297
860
860
129
62
713
877
644
84
442
280
424
418
799
688
172
722
807
938
304
503
479
822
735
664
39
791
518
354
940
535
924
714
676
628
478
21
987
716
365
624
319
992
803
419
213
726
755
59
492
158
882
414
3
353
691
74
564
876
557
916
984
254
727
724
410
107
12
39
253
183
155
184
176
47
967
395
198
108
875
344
609
728
666
428
166
28
557
116
728
761
753
836
145
121
565
184
380
444
964
816
838
689
745
994
301
190
652
557
238
126
25
60
109
265
314
49
789
109
420
629
124
395
562
723
640
587
459
856
929
315
382
333
625
795
779
208
800
66
91
165
83
955
162
945
795
251
323
221
884
593
516
258
832
273
55
78
990
887
710
64
49
263
625
307
912
760
810
900
38
350
228
473
914
57
778
381
50
875
845
87
627
670
290
87
535
667
916
323
441
385
336
664
153
176
597
960
563
149
401
501
36
500
970
538
989
714
142
452
486
81
834
189
627
740
865
295
813
68
822
768
85
47
950
309
740
19
134
740
499
815
659
839
918
803
987
358
892
767
812
668
493
448
697
544
449
772
793
383
348
820
66
778
780
912
709
292
700
27
862
439
213
661
958
211
565
731
874
272
694
405
592
241
102
603
874
245
923
176
74
433
997
6
714
581
852
524
307
289
269
585
527
964
185
879
909
373
153
163
627
75
514
111
835
817
927
381
312
190
120
163
205
748
11
698
171
798
562
976
422
431
814
587
108
949
192
398
363
689
684
328
844
581
158
386
7
401
553
639
237
679
489
467
665
887
73
399
393
49
172
127
576
804
246
282
517
259
935
953
118
282
320
466
73
773
856
98
960
862
486
709
819
738
600
586
685
792
962
149
175
783
379
109
785
845
364
339
594
660
855
811
521
467
114
313
256
752
642
920
512
202
460
72
645
904
892
284
695
728
880
344
36
959
279
652
698
616
974
895
389
277
821
302
171
444
957
897
406
12
701
993
476
317
584
949
159
789
357
918
345
103
464
525
315
732
818
775
242
503
854
444
600
719
58
663
235
945
862
165
652
391
147
84
147
409
472
378
588
222
38
417
636
261
343
804
584
160
524
65
548
168
153
715
926
463
773
150
880
404
849
787
749
398
902
303
245
321
471
751
771
618
124
586
166
53
422
384
805
194
296
947
231
869
505
801
667
435
380
38
182
790
861
567
434
263
817
654
11
771
18
356
884
673
138
652
892
253
353
185
209
302
557
154
20
583
118
232
264
143
687
356
888
470
898
680
772
18
386
815
432
510
435
870
131
967
556
385
227
736
26
487
425
478
197
391
566
216
41
41
70
890
878
890
114
395
43
598
710
51
394
159
600
222
75
546
892
42
314
193
536
718
206
803
528
816
339
593
384
949
894
891
821
19
116
743
772
494
352
16
286
348
55
813
692
35
240
229
936
451
849
185
119
710
298
163
63
849
748
616
460
377
518
488
487
846
572
800
955
345
453
831
857
515
283
227
514
598
609
390
940
8
969
51
226
606
282
957
714
672
992
163
315
763
137
825
609
30
925
948
694
611
874
875
905
2
380
853
538
587
211
192
90
929
250
868
655
268
374
988
902
842
526
318
34
979
156
295
648
8
228
684
39
819
990
118
396
520
340
467
193
310
321
706
916
499
494
224
77
197
932
444
856
697
407
497
962
96
853
985
498
535
175
516
282
88
324
320
457
287
669
894
144
380
938
710
140
622
938
748
793
421
184
464
943
401
773
575
57
892
656
267
660
501
187
257
878
208
708
449
961
157
653
85
949
588
590
851
785
306
30
137
507
622
262
106
158
987
925
37
468
504
436
157
437
238
665
738
93
862
674
815
606
110
26
891
634
923
890
706
705
257
91
661
31
827
626
709
710
29
956
287
601
973
905
904
631
536
701
745
767
963
9
916
442
12
260
285
363
764
856
193
48
870
560
361
975
899
660
197
705
384
248
46
667
489
786
110
166
954
298
12
551
97
325
580
537
404
646
274
386
854
332
979
519
478
202
376
720
798
44
93
26
924
254
440
716
384
92
872
349
543
389
345
965
448
451
628
622
46
879
339
401
433
377
114
579
852
848
350
662
501
947
692
69
659
371
561
623
462
504
492
587
609
76
716
765
568
771
954
57
486
924
7
124
558
796
837
328
874
3
589
588
369
606
974
709
23
625
494
643
59
337
985
864
139
572
961
789
760
220
801
617
526
142
18
547
992
490
808
241
744
372
593
834
968
540
736
638
442
738
118
41
932
997
213
369
373
235
598
485
928
133
44
483
614
88
431
275
341
327
617
647
891
821
663
450
358
431
92
614
314
264
966
476
771
569
78
389
331
956
550
782
760
687
105
25
675
533
737
315
183
807
430
807
23
898
479
707
81
301
415
305
117
499
32
950
356
528
165
138
186
306
488
904
784
707
304
446
949
722
19
987
163
642
671
700
663
473
799
612
209
362
946
769
568
383
3
907
492
359
913
340
765
627
457
269
733
231
191
390
271
816
71
597
815
760
688
862
816
64
487
568
825
496
68
8
207
709
593
345
680
891
355
526
859
190
728
310
530
883
322
746
998
867
608
340
849
926
510
113
679
132
932
295
232
444
894
866
27
913
160
966
506
719
592
563
312
735
697
850
324
222
911
880
90
629
297
918
334
746
217
442
373
4
53
101
240
360
8
650
527
890
223
449
716
352
836
378
251
563
263
413
362
935
564
808
962
267
262
47
376
833
337
477
877
254
809
805
60
393
613
479
575
455
27
133
184
973
884
38
710
261
109
939
834
520
394
223
612
269
276
446
946
315
411
799
11
991
856
335
999
890
270
417
183
962
591
219
743
489
930
640
572
203
524
772
495
547
925
81
965
78
145
374
200
223
748
973
177
867
196
557
410
498
514
526
743
771
278
405
161
238
824
151
542
330
643
438
556
474
701
795
123
519
456
195
30
89
145
722
734
918
813
513
962
739
349
73
501
538
708
423
300
444
77
631
544
81
564
261
865
506
428
190
757
706
559
404
191
425
263
703
810
670
375
22
455
24
187
188
43
994
472
319
590
749
528
93
728
497
369
272
482
93
766
65
374
931
518
678
31
852
777
587
479
431
691
742
656
607
93
91
628
445
875
65
404
633
139
886
287
561
484
270
450
43
398
259
968
127
822
390
772
7
695
10
175
6
866
231
431
886
636
853
487
987
634
218
531
151
639
991
412
345
676
260
942
791
434
965
807
236
833
766
884
158
311
344
101
968
943
337
368
909
729
874
794
211
974
933
409
759
774
425
226
615
409
741
491
378
147
621
951
709
662
737
673
619
477
563
894
286
987
768
206
925
539
839
428
1
782
441
976
292
607
605
623
505
427
866
371
498
333
95
813
671
582
608
363
766
674
898
28
513
393
412
93
327
838
303
529
420
983
901
177
887
814
684
205
880
837
198
365
27
640
136
202
380
161
819
219
558
328
246
110
914
913
887
345
17
624
978
658
186
193
956
18
740
370
730
251
301
465
784
260
892
820
129
524
992
558
494
673
414
635
368
138
813
132
796
54
691
203
485
71
31
935
570
241
788
692
13
680
645
849
668
156
111
3
768
273
490
223
28
299
546
25
239
609
630
797
431
558
828
101
980
156
481
357
113
300
786
534
871
401
762
62
1
243
551
630
173
953
396
477
790
493
718
840
713
847
795
409
322
157
691
435
388
223
942
838
192
980
596
470
639
962
410
448
669
161
550
717
914
916
879
604
373
515
237
423
254
864
632
132
256
705
907
826
543
654
967
743
549
901
253
801
712
602
696
258
784
269
980
861
462
187
867
229
792
358
133
406
46
266
511
911
456
770
961
414
873
475
710
717
920
607
904
801
313
12
153
815
592
434
591
367
647
762
172
648
850
535
321
921
424
10
184
472
779
745
477
697
580
171
167
870
313
841
277
598
470
370
701
285
567
515
523
88
636
981
327
938
830
277
363
97
466
33
994
409
371
654
98
39
306
855
676
426
316
372
386
8
164
212
510
120
680
174
118
43
990
851
980
730
407
446
672
232
121
224
659
592
544
978
36
412
818
971
406
476
472
568
610
494
368
285
853
376
538
284
982
241
660
871
98
244
227
488
437
963
536
467
236
18
98
345
292
173
160
307
668
30
56
918
158
982
348
765
801
92
328
261
693
173
935
396
16
984
912
818
123
931
1
541
334
765
276
793
175
518
188
611
544
228
454
839
618
868
431
359
918
537
644
193
514
479
659
121
292
715
234
336
14
859
394
432
505
69
373
169
526
843
456
36
57
82
867
534
470
947
869
326
89
231
297
753
419
914
404
513
364
393
665
187
691
366
798
876
429
198
779
58
341
773
754
127
892
365
125
227
702
352
719
275
670
509
599
317
982
293
864
134
607
97
892
766
856
685
325
363
735
130
204
923
348
376
4
950
25
667
200
681
479
565
696
989
77
484
970
515
858
29
948
948
300
609
319
766
598
15
245
675
574
382
490
314
895
659
264
335
151
447
940
24
1
667
225
228
252
353
849
549
445
111
900
653
727
964
68
954
751
545
629
191
351
362
181
105
465
675
769
196
582
647
23
70
146
237
767
410
879
221
228
711
578
595
428
779
411
679
671
303
611
682
97
755
55
667
718
951
129
56
817
171
929
259
204
328
752
294
759
825
924
643
525
481
904
438
788
528
303
185
754
592
715
469
836
608
753
135
399
467
900
285
819
97
10
796
768
327
22
260
517
716
997
9
90
542
968
567
595
59
48
371
538
274
988
511
508
968
915
985
865
822
940
667
493
372
281
552
598
468
799
408
7
625
376
143
649
476
458
108
262
647
188
313
424
634
423
932
210
15
711
214
570
645
683
69
908
501
487
176
211
582
985
280
469
378
808
137
123
866
964
28
989
144
545
949
626
328
153
23
897
572
510
944
122
146
119
512
737
297
505
539
681
746
147
448
125
861
866
558
92
50
111
681
779
835
295
283
767
583
624
357
178
666
961
110
716
966
971
814
783
255
28
990
768
71
971
562
638
70
429
845
691
836
733
23
790
78
584
696
435
234
510
891
423
947
169
123
734
143
288
838
829
161
351
756
644
114
566
360
984
631
245
29
900
769
412
620
795
974
901
271
172
15
890
619
230
512
546
556
708
178
3
937
432
82
71
701
709
171
632
589
266
305
311
905
667
729
474
369
101
497
306
547
300
156
374
719
711
897
133
412
411
377
509
199
253
388
62
976
992
595
296
139
460
524
353
757
640
82
480
930
261
618
576
475
999
384
748
508
27
919
22
546
115
807
668
389
175
472
919
928
419
638
984
353
539
382
973
372
250
812
339
772
741
181
197
377
695
902
14
37
893
487
386
251
79
311
681
351
342
616
230
227
14
281
581
822
391
669
688
169
79
238
293
40
501
296
141
45
915
526
970
96
265
516
913
774
697
680
984
24
881
143
908
548
428
197
561
157
40
525
186
60
227
49
23
205
850
935
794
751
190
26
58
468
218
14
600
18
174
389
555
903
154
475
724
804
128
724
98
131
54
485
213
589
734
267
592
801
546
949
743
662
962
46
323
488
843
839
837
620
217
402
850
877
972
306
567
361
987
784
227
394
7
973
980
647
12
153
754
706
412
407
351
279
876
310
660
91
91
212
37
124
634
447
871
639
316
389
209
336
191
950
531
359
940
542
702
426
427
18
612
871
12
390
613
390
425
890
708
601
106
661
683
705
862
94
493
160
90
921
828
923
772
120
588
458
229
669
861
100
497
99
898
212
663
603
78
267
386
214
577
676
594
788
107
568
589
542
645
888
463
689
22
870
279
314
523
523
799
299
5
669
932
787
209
900
776
72
533
193
639
664
680
198
246
909
76
801
832
456
461
159
142
628
214
600
766
17
91
493
312
712
294
504
759
140
694
128
404
478
648
944
236
743
381
442
73
603
584
995
306
757
653
78
628
248
852
471
127
566
909
913
287
670
361
114
608
920
485
966
268
755
696
489
943
830
406
982
251
507
738
519
488
38
557
365
704
192
857
880
365
230
359
147
779
25
126
481
397
338
630
18
789
145
952
590
602
801
801
378
725
674
631
712
288
140
865
461
522
80
426
427
180
257
105
41
70
375
440
474
301
504
286
630
382
919
649
208
766
811
846
17
694
187
978
111
341
563
810
980
915
751
958
510
30
520
251
65
127
254
354
851
859
895
489
838
33
193
524
28
801
922
433
222
158
179
26
345
366
396
36
207
28
726
447
780
788
420
127
911
52
946
936
653
984
158
540
44
51
454
444
479
594
388
511
608
576
465
691
564
70
937
374
589
253
248
939
169
217
127
616
146
974
683
903
388
812
949
640
413
529
67
151
50
16
720
764
758
936
512
560
813
885
305
716
20
51
118
590
381
462
192
688
221
840
419
788
244
499
452
709
902
771
17
516
720
134
556
945
779
131
576
404
342
171
354
947
775
875
794
638
969
704
881
521
101
376
611
961
911
316
528
636
941
591
48
61
610
1
248
973
786
163
663
54
636
536
720
464
330
609
753
700
688
152
350
589
894
702
261
19
73
60
950
59
983
306
892
484
948
896
777
704
151
720
868
476
189
782
336
663
83
842
194
259
378
371
780
303
62
591
963
979
186
607
222
70
420
298
793
214
960
189
3
756
795
704
780
132
250
679
416
676
630
192
249
671
481
687
377
659
354
381
933
340
136
955
510
642
443
463
933
504
301
524
300
87
249
350
322
352
996
9
151
875
526
806
228
980
434
551
2
137
361
941
444
64
173
932
571
146
69
303
93
264
420
668
88
785
116
87
79
383
284
976
600
942
677
916
751
535
352
286
357
85
163
255
950
724
340
515
14
273
3
980
391
420
788
67
421
129
391
174
335
522
386
997
578
147
680
655
21
57
492
588
372
562
834
218
967
423
923
433
944
609
863
941
548
840
466
600
220
308
149
460
585
266
841
950
883
449
673
818
986
191
35
397
655
645
795
141
293
198
39
93
809
278
677
808
564
646
498
442
809
863
140
178
208
502
140
889
431
771
814
622
456
673
568
88
697
721
109
778
704
289
654
518
697
819
349
422
691
687
891
235
594
910
88
55
163
930
789
93
301
740
794
632
28
390
656
52
761
236
649
205
735
562
899
15
793
292
130
376
297
852
470
858
144
107
109
138
109
636
863
716
980
891
93
414
869
517
18
615
306
132
440
495
64
42
811
611
363
947
780
986
514
166
864
367
616
291
376
753
344
480
984
163
44
523
822
99
958
715
649
119
72
193
525
269
722
334
647
886
200
759
682
793
382
182
489
200
571
77
466
542
900
735
727
689
717
482
263
261
678
131
597
313
250
663
36
599
247
625
823
943
216
378
543
423
51
621
794
340
74
474
704
830
854
341
999
734
266
415
560
660
55
871
607
243
783
911
984
574
194
525
503
660
654
535
972
537
927
395
350
678
993
948
785
177
250
365
23
332
207
347
657
893
410
613
286
400
873
654
932
834
575
501
195
159
966
92
243
298
500
656
106
127
478
167
311
0
114
765
665
732
80
136
461
727
109
317
402
341
271
351
92
606
949
77
501
1
294
362
349
955
375
573
977
436
900
195
818
589
869
900
585
530
53
238
835
146
673
846
601
46
6
372
709
426
43
544
899
243
213
703
632
814
159
110
913
17
207
317
135
610
623
368
558
427
869
567
159
208
795
795
408
139
690
541
20
861
322
157
536
485
798
536
85
223
501
301
563
505
175
449
124
508
747
75
53
640
619
873
584
42
253
357
185
799
910
241
254
183
668
504
37
318
679
139
214
264
924
468
270
996
683
650
536
87
545
621
532
827
511
317
958
539
714
655
459
442
868
473
257
281
647
652
798
63
420
161
982
575
189
923
352
230
595
434
405
129
660
585
298
942
276
78
885
14
390
172
762
158
469
722
762
658
303
497
774
896
924
420
499
21
389
255
27
479
993
569
530
673
19
713
442
926
429
43
196
796
460
787
886
95
734
299
278
275
750
328
383
292
393
101
400
294
373
92
625
472
768
494
779
229
431
892
507
741
898
967
106
670
300
910
954
598
306
293
40
969
119
12
464
297
254
0
556
933
118
442
363
323
31
197
419
905
191
97
536
84
196
818
319
973
581
926
738
499
886
468
741
554
105
122
938
145
311
960
103
599
324
205
317
724
266
365
276
871
830
112
680
192
419
834
595
886
49
860
904
161
9
255
451
75
828
849
790
805
78
16
580
316
668
368
789
243
770
476
100
928
176
930
858
114
760
182
668
894
731
778
293
609
763
830
744
113
536
285
852
186
379
180
134
430
949
0
171
267
855
579
588
143
733
997
226
889
991
91
282
836
717
782
633
837
246
992
409
928
880
996
619
677
855
589
701
260
712
386
292
876
237
687
248
504
780
205
521
325
921
47
229
753
669
886
736
132
859
823
557
16
797
661
853
443
523
529
227
695
996
415
554
394
313
206
474
37
588
386
878
120
123
840
524
732
153
299
465
563
271
231
368
285
431
875
244
52
369
265
173
796
858
292
712
291
459
76
454
330
402
441
824
315
313
723
820
102
331
863
763
135
511
932
88
88
95
764
81
520
874
143
614
50
33
5
29
139
977
44
514
426
604
447
613
832
922
737
675
213
584
734
601
434
934
861
608
833
449
483
361
926
630
450
845
709
903
451
349
912
254
720
361
160
717
43
949
758
836
832
92
368
294
17
681
626
113
222
875
555
987
723
850
772
42
704
443
94
799
802
303
428
96
954
239
910
748
909
44
81
879
881
992
179
888
762
2
160
560
945
236
675
78
168
828
547
580
159
426
89
486
118
90
4
63
653
357
364
532
473
719
353
490
615
965
574
578
805
235
845
411
33
880
232
744
43
487
467
282
427
38
737
314
437
650
619
202
689
710
719
810
185
120
962
357
108
920
635
707
78
795
353
967
136
460
50
3
554
509
18
419
260
791
945
370
987
50
184
697
795
206
458
630
535
407
760
808
970
359
247
679
986
100
774
182
222
617
904
629
883
760
387
518
771
977
801
920
285
228
64
357
262
631
50
557
614
543
26
952
601
243
53
824
874
16
38
231
464
271
304
339
937
288
361
381
436
727
112
106
176
308
176
774
179
329
825
221
676
467
25
109
967
807
278
977
520
432
871
252
822
367
28
877
326
430
445
772
712
680
544
606
453
806
383
435
262
862
1
41
61
647
256
586
415
838
205
507
907
43
413
829
905
227
378
235
978
755
447
750
102
185
781
137
120
958
763
894
152
152
207
477
210
94
842
711
900
47
461
410
809
417
554
49
521
819
628
636
703
845
14
334
962
655
530
530
697
310
548
355
216
391
360
787
876
953
441
981
830
201
235
948
773
4
999
539
568
874
554
648
578
322
699
160
306
622
144
711
828
772
23
534
777
653
665
15
111
524
536
344
645
251
972
418
467
324
303
473
291
511
608
926
378
513
125
780
690
743
419
957
346
349
810
384
245
945
833
698
282
700
444
353
175
292
838
569
155
992
106
702
972
648
144
341
467
326
220
150
918
886
337
886
631
805
491
707
312
435
523
110
266
704
722
560
956
989
615
808
178
304
396
219
285
576
744
595
461
457
311
654
969
271
312
100
124
98
504
690
917
446
177
49
256
494
472
984
903
524
872
662
805
349
640
902
214
807
474
892
698
111
362
42
537
814
126
404
763
201
112
298
806
283
578
116
361
144
55
169
747
494
339
343
749
313
828
309
684
988
837
506
921
456
434
471
924
524
72
305
418
564
587
771
696
174
148
806
881
349
732
869
998
342
837
525
854
752
164
692
218
98
855
903
713
505
349
227
226
143
383
496
160
654
588
38
513
168
915
363
357
577
928
191
593
455
375
570
542
963
644
421
542
736
594
133
144
127
819
905
99
938
184
83
705
499
569
880
927
949
9
32
214
892
625
450
721
702
540
280
375
279
199
598
927
620
45
239
325
642
703
404
5
72
141
619
247
313
206
405
640
999
494
886
665
344
664
16
741
346
767
0
302
762
856
287
488
267
198
970
965
759
130
476
961
708
107
966
302
835
896
699
4
928
989
795
320
46
666
546
56
363
783
562
267
958
594
867
618
691
628
825
138
919
633
667
232
62
491
177
922
254
342
888
28
966
143
235
800
515
372
10
527
208
758
48
597
890
136
144
457
788
28
263
365
964
115
387
504
491
906
17
552
932
261
157
884
486
863
838
814
63
456
370
546
321
770
962
767
125
570
106
802
466
436
844
920
728
910
89
850
924
146
507
740
170
75
285
49
308
758
211
898
103
948
618
985
774
264
598
95
689
323
475
790
603
442
272
336
562
372
703
397
996
467
372
197
386
738
852
384
317
435
390
220
552
457
738
210
723
406
552
544
211
578
54
884
476
329
819
409
173
986
560
231
801
119
958
353
896
877
952
720
721
969
344
687
774
23
953
524
142
917
133
425
203
481
555
240
888
916
743
116
607
922
735
561
350
455
437
819
708
647
717
47
289
327
332
270
81
833
749
458
410
687
272
627
219
412
81
305
37
597
513
293
284
3
416
544
79
846
476
338
207
32
891
678
285
183
736
436
994
445
46
310
856
850
917
617
987
922
471
829
8
110
332
162
170
177
479
731
114
536
982
471
392
608
393
38
224
475
332
65
540
776
935
925
315
180
744
188
50
109
343
462
635
55
518
538
943
201
993
595
927
964
597
456
46
36
908
32
268
86
906
806
165
512
45
280
271
611
301
522
887
262
315
960
751
915
90
894
626
35
863
494
422
675
490
364
840
937
205
285
490
68
611
301
478
581
919
231
430
731
643
622
528
897
401
992
513
407
792
332
677
661
810
61
267
393
541
32
813
349
889
331
555
669
988
897
240
487
297
128
276
258
599
220
995
652
728
530
202
29
527
685
422
870
53
471
879
415
603
287
490
135
222
218
73
722
682
574
901
643
780
770
614
973
635
971
470
396
374
653
593
625
217
312
548
468
903
757
613
853
880
420
516
436
667
353
407
150
769
611
172
731
485
861
407
482
462
516
483
66
382
51
211
818
808
495
482
320
727
747
816
756
175
30
354
704
473
347
153
69
671
236
140
83
841
892
825
694
591
994
958
224
998
490
838
945
340
744
156
282
278
799
851
589
950
164
175
739
864
413
635
280
599
964
653
513
926
838
143
413
494
490
623
49
359
111
569
657
657
955
824
54
564
133
416
364
434
125
758
776
911
715
306
637
766
929
419
419
434
3
665
263
952
471
497
804
931
514
655
827
885
431
953
580
274
540
92
708
472
596
313
146
77
831
94
67
994
947
106
598
15
510
127
796
249
756
385
361
938
660
722
939
482
808
747
734
736
394
986
242
845
788
797
466
696
753
728
694
864
686
783
580
995
333
531
301
398
92
689
283
90
243
62
726
168
874
266
933
473
500
461
513
99
671
209
813
400
266
427
177
746
639
230
263
708
645
829
684
18
739
16
486
144
296
407
333
165
596
35
901
206
984
851
42
862
354
875
878
95
272
710
72
130
617
298
100
388
441
669
866
999
467
175
968
602
288
858
740
678
294
681
626
988
669
629
94
881
33
213
182
691
491
879
248
301
160
57
932
829
193
923
292
602
780
489
457
280
208
114
110
508
868
236
2
842
612
420
94
507
267
832
89
671
459
529
103
210
803
180
66
927
770
657
356
223
723
812
944
17
707
914
748
544
451
127
927
105
473
28
199
143
820
594
584
224
821
529
967
237
683
804
520
100
554
692
694
742
527
391
448
419
748
730
830
949
803
94
300
840
432
106
974
260
559
662
615
404
334
413
926
394
288
467
773
582
397
624
411
953
885
416
279
195
854
678
853
417
191
92
556
84
39
377
260
275
631
981
335
856
208
281
343
30
445
518
821
616
555
863
93
891
737
249
553
935
545
400
509
802
616
201
519
812
811
548
991
597
384
589
965
530
439
570
479
58
724
512
550
788
330
252
434
629
859
339
152
404
664
673
438
524
934
317
774
786
349
194
611
318
403
886
108
990
603
182
559
717
368
890
428
219
331
15
464
77
278
235
225
576
547
931
260
40
257
865
595
47
898
35
273
75
465
625
304
126
502
428
652
822
997
120
792
792
0
810
124
111
749
169
321
429
557
323
161
221
532
699
27
898
866
615
794
115
966
660
246
682
781
549
792
987
339
368
106
688
980
978
458
629
639
396
755
550
732
204
601
936
275
156
350
503
902
516
279
185
154
878
767
672
879
202
422
216
370
309
213
626
238
739
802
362
168
689
69
39
741
638
443
716
311
3
339
874
520
437
189
644
55
434
342
622
870
200
379
432
818
351
145
31
608
978
986
172
659
794
711
752
774
946
234
780
32
881
674
375
986
551
904
562
948
420
144
784
481
417
180
42
776
252
526
602
189
616
165
499
172
611
100
646
270
250
993
794
912
467
903
675
7
618
973
391
460
644
966
534
300
715
185
419
278
126
543
962
53
472
865
954
303
284
103
745
695
516
304
796
748
326
602
204
69
104
42
987
806
674
134
931
955
145
633
547
817
877
718
826
142
196
167
124
704
626
494
177
316
750
595
433
152
592
988
96
1
723
45
995
556
54
517
786
668
477
941
666
90
772
125
707
683
970
661
507
171
182
693
856
554
782
851
326
451
824
318
978
188
123
10
747
248
892
56
957
767
905
94
231
85
292
392
211
975
788
491
137
286
498
102
272
897
864
761
957
349
866
507
425
779
705
744
392
259
166
243
287
808
447
151
938
379
533
789
212
693
800
668
600
567
795
784
872
441
96
504
440
603
348
144
407
564
104
556
331
339
457
656
846
449
403
378
720
948
21
802
469
24
3
293
302
939
737
970
338
761
726
596
534
369
802
176
388
823
912
593
41
561
878
857
849
884
295
713
116
638
519
910
227
268
31
249
653
380
199
975
902
803
809
911
910
288
840
693
790
462
690
692
174
788
98
810
525
126
361
830
197
970
449
941
546
560
90
936
94
489
260
478
981
359
229
592
820
664
816
951
668
922
195
28
397
48
603
208
580
438
373
984
744
87
27
187
45
792
720
492
943
125
949
492
684
4
291
941
222
329
97
656
32
243
314
847
533
550
191
208
841
15
692
780
687
427
39
721
537
488
369
399
97
292
67
26
942
183
307
540
545
292
919
950
817
577
56
332
768
724
81
541
598
814
304
681
613
11
419
373
533
823
983
833
662
737
142
819
979
646
147
118
879
955
287
689
95
775
716
29
948
984
176
341
308
120
616
790
395
163
29
431
419
536
944
748
902
362
346
706
729
581
821
174
197
456
69
563
379
263
759
757
650
102
783
398
781
708
764
584
652
257
217
574
499
113
502
468
804
569
162
354
176
902
705
42
381
931
954
918
177
89
661
949
141
660
938
925
559
497
818
982
98
482
757
542
75
661
53
425
382
776
803
159
732
228
4
360
187
362
136
598
342
959
962
959
473
543
495
575
152
922
500
770
592
921
979
883
395
636
2
210
543
523
374
181
469
601
716
911
400
790
651
304
676
875
881
551
454
657
913
193
994
165
160
974
877
680
773
747
506
62
954
828
743
594
800
812
404
606
548
176
823
422
374
422
253
792
60
889
710
500
267
854
550
245
481
772
536
183
158
595
766
489
548
775
67
163
882
421
744
354
346
413
38
829
739
883
663
125
197
538
496
947
666
431
99
418
56
726
193
74
133
15
5
359
617
138
351
5
906
359
928
224
559
318
491
569
873
606
728
112
684
476
606
414
328
735
862
202
116
689
264
106
613
866
94
951
413
162
930
437
171
367
542
728
560
716
182
105
289
240
599
587
261
534
33
713
459
884
172
588
935
309
725
515
255
206
525
94
713
201
898
615
87
593
684
640
622
861
398
127
724
308
485
83
884
722
769
889
254
623
198
755
212
468
551
905
327
728
136
590
633
25
68
935
973
990
603
971
467
248
770
868
723
269
640
424
245
521
213
895
690
945
572
352
361
576
392
706
107
388
166
361
827
761
661
185
566
308
232
982
470
435
995
383
313
974
330
502
905
596
265
384
21
34
906
931
131
160
549
76
220
81
329
95
82
750
517
908
952
563
263
79
251
738
336
786
624
472
517
660
663
108
838
438
461
315
478
627
878
991
212
375
300
627
25
397
478
609
735
644
145
320
795
549
478
208
149
976
311
842
625
441
112
376
817
688
484
677
503
590
173
81
268
179
24
736
930
498
961
503
18
1
855
644
616
382
722
635
836
902
564
166
272
368
930
221
851
625
540
904
111
56
131
849
505
250
171
278
190
104
193
809
544
10
160
127
898
982
616
69
26
8
174
656
775
149
107
896
16
495
792
751
349
744
926
77
224
839
788
828
376
114
43
382
55
927
337
10
733
109
951
118
731
12
21
750
378
448
752
931
976
384
41
895
300
690
407
589
957
330
770
278
794
581
72
815
687
80
612
123
443
939
949
343
224
544
512
350
421
988
734
628
614
164
855
304
284
22
213
290
691
442
862
938
546
990
769
198
430
751
281
94
195
647
60
886
848
173
655
799
261
548
474
865
594
730
478
248
69
415
509
74
441
479
317
463
573
875
116
650
59
945
480
788
462
759
550
619
329
599
521
749
94
735
430
313
201
984
196
690
335
916
594
130
818
265
207
654
64
497
348
371
974
85
292
736
300
445
476
431
966
455
391
967
44
622
792
380
572
93
806
95
477
179
543
375
633
398
456
198
43
620
611
688
852
942
464
582
125
192
518
18
618
59
96
839
978
252
64
351
929
327
613
159
201
914
60
560
206
994
726
164
110
951
885
540
874
618
837
973
453
710
227
691
142
163
191
741
126
859
716
217
34
833
693
278
471
254
446
936
978
753
240
359
320
535
363
543
252
960
759
901
796
940
496
750
768
601
486
474
487
561
241
315
746
617
86
524
184
128
631
299
789
801
842
95
95
658
839
534
726
540
841
765
953
347
646
82
891
837
792
807
70
272
270
746
768
74
445
146
473
948
53
840
913
616
697
9
722
68
678
649
926
817
138
367
553
328
378
32
124
427
667
94
715
405
791
918
411
920
86
912
237
386
412
259
35
486
617
667
957
468
803
757
481
450
214
347
116
282
605
511
626
946
997
966
677
692
780
576
507
187
386
13
875
308
297
313
154
365
557
31
363
988
999
168
511
660
681
897
922
328
66
201
716
990
802
228
939
458
532
597
122
408
714
183
90
694
34
571
25
463
491
349
202
47
289
74
703
55
585
875
59
322
498
390
366
124
358
819
455
939
839
115
24
519
901
272
135
566
464
91
417
591
416
495
903
398
615
294
988
795
449
791
1
530
473
599
799
421
814
423
973
686
621
688
757
970
192
756
583
79
135
206
916
541
728
490
595
59
147
478
648
311
653
781
352
477
721
752
815
51
467
203
838
335
792
73
293
199
944
13
651
246
744
23
924
632
483
492
372
866
428
394
495
687
233
463
94
300
61
46
570
220
251
423
577
299
244
424
560
169
440
677
710
803
466
489
459
42
459
286
413
101
885
803
174
927
581
910
945
690
51
37
847
356
448
437
244
633
528
936
585
842
956
322
710
4
20
631
84
572
558
215
762
955
709
861
333
23
17
649
737
827
95
435
793
101
736
285
927
332
137
147
497
350
598
776
681
496
54
617
976
264
809
822
22
571
412
129
421
455
282
842
224
103
396
565
200
213
251
167
826
975
996
275
345
416
307
711
316
979
613
778
896
302
465
486
866
889
941
12
58
344
121
399
746
620
821
574
638
564
870
88
326
121
214
132
607
378
721
75
941
239
243
632
704
843
72
116
937
619
190
638
223
303
468
159
952
810
362
310
504
836
289
634
228
642
204
116
150
888
240
493
718
814
243
759
491
818
781
429
254
604
293
23
567
644
463
591
562
696
292
447
601
418
663
425
796
462
738
697
113
685
321
630
688
523
334
430
487
498
544
504
750
160
835
890
433
439
289
917
603
475
145
515
770
578
126
18
983
847
122
772
499
890
349
445
894
328
992
985
980
224
712
709
386
546
770
255
93
871
715
145
798
389
736
397
277
739
651
696
917
196
271
948
406
190
465
106
134
139
770
569
526
631
210
276
3
185
903
799
554
509
362
263
399
578
700
984
214
883
707
789
786
617
897
518
545
248
281
10
183
801
176
278
206
459
735
407
404
91
690
190
145
774
542
679
503
312
903
941
36
853
6
435
883
419
560
606
639
478
506
667
965
427
956
504
986
995
423
65
37
675
638
896
108
887
661
720
694
386
773
338
453
183
14
918
893
806
932
239
638
718
181
779
24
491
989
544
341
905
287
642
558
493
899
231
120
136
650
607
743
2
706
592
440
721
196
68
210
787
344
800
12
132
75
128
239
343
579
38
24
204
543
70
88
542
563
822
580
286
550
715
969
750
919
165
109
969
443
532
574
90
683
67
786
840
847
982
537
562
270
951
706
207
296
690
663
501
617
251
305
726
810
748
478
383
639
278
766
399
999
293
19
88
970
688
516
619
38
348
621
385
144
476
291
135
0
433
374
921
907
128
533
250
135
918
446
29
192
76
193
828
143
384
484
383
860
876
18
905
831
669
68
21
365
666
63
422
502
899
522
641
245
292
444
520
184
712
989
348
330
453
648
311
391
311
390
570
758
245
907
83
164
532
282
487
913
257
29
775
11
48
426
5
255
689
751
415
8
802
794
128
969
589
77
981
26
499
225
538
343
633
577
958
752
597
602
27
912
261
326
196
565
92
562
323
295
262
193
308
101
414
375
615
654
24
283
301
922
591
483
134
594
905
971
957
545
70
521
763
733
873
30
985
611
648
472
136
173
774
580
263
172
302
451
170
249
92
824
614
251
235
273
742
467
343
618
474
712
316
798
974
497
681
994
734
720
508
435
468
450
672
989
472
342
882
106
62
786
808
732
282
644
67
885
717
235
150
977
93
768
410
460
23
929
174
149
837
936
478
858
687
230
851
852
901
195
78
248
988
605
730
630
204
200
679
155
220
962
861
56
755
301
902
963
647
633
189
395
763
904
39
174
22
874
416
873
575
552
641
807
492
261
319
761
701
809
121
864
830
515
953
553
510
268
985
218
292
804
47
680
661
448
451
779
796
795
411
49
220
626
84
241
342
603
172
202
297
17
911
138
588
402
56
756
893
788
682
422
896
52
999
161
472
954
728
924
144
288
243
343
409
399
737
527
720
751
541
52
309
395
848
822
963
91
125
828
86
605
486
955
557
84
789
954
752
127
978
969
547
714
119
455
675
859
805
7
592
234
2
55
305
445
778
813
955
981
940
993
497
577
289
729
701
733
507
718
634
960
418
202
996
806
686
311
175
152
316
130
316
502
240
899
761
821
745
715
724
723
788
432
101
759
68
377
775
676
692
970
717
548
575
31
112
248
646
985
948
361
709
519
57
64
99
532
493
545
791
844
449
858
646
200
235
108
3
681
495
432
815
664
958
860
946
31
126
231
684
147
355
150
417
714
792
992
87
178
368
535
433
505
532
622
415
451
278
593
32
450
569
141
734
887
558
139
661
260
543
778
723
154
298
621
650
192
11
952
646
19
380
161
710
741
411
767
448
786
568
3
489
226
257
18
811
887
37
990
609
182
80
180
175
895
791
365
873
253
356
580
812
614
161
451
847
832
632
119
637
47
345
569
70
23
288
140
800
680
126
343
778
881
632
502
768
555
424
574
924
56
611
350
667
237
444
438
558
747
526
744
125
656
738
832
720
194
894
324
523
825
906
349
489
322
22
354
272
827
107
322
432
633
315
932
957
880
660
236
895
855
31
156
607
659
125
783
995
695
650
405
502
144
708
648
444
381
416
169
885
375
299
783
467
126
351
878
919
852
32
127
904
975
558
152
420
210
637
201
438
977
927
93
175
446
536
911
300
478
827
257
661
595
777
915
213
404
271
830
100
976
228
927
861
353
454
637
64
255
78
568
25
559
444
496
805
674
711
354
28
973
705
199
900
227
437
934
886
95
618
604
70
308
911
847
935
353
80
85
965
687
461
31
876
413
122
106
734
541
622
138
870
312
491
628
304
483
230
607
682
384
966
905
659
737
509
666
525
839
488
324
306
723
884
203
316
179
817
433
367
345
675
933
843
729
347
899
103
527
347
147
722
606
157
626
210
370
375
974
618
396
72
290
517
86
39
403
970
375
159
676
289
14
843
839
934
47
515
562
176
888
694
439
734
915
37
586
532
304
419
814
509
655
493
616
528
441
487
506
232
355
764
588
61
712
678
502
862
369
806
261
584
600
197
369
248
722
102
62
406
81
360
517
933
128
509
245
588
960
634
296
460
889
956
415
687
410
16
843
1
812
964
855
772
338
702
520
756
157
932
641
56
524
479
437
59
977
53
981
783
709
583
625
7
349
270
985
783
612
503
640
459
920
351
663
997
831
626
829
786
257
686
159
446
831
561
894
111
126
353
847
90
475
995
583
787
9
396
618
108
864
294
700
305
203
442
121
745
602
18
533
739
616
62
582
671
479
994
131
855
453
809
416
434
833
345
350
756
798
326
189
486
66
124
35
508
885
112
547
968
749
98
393
110
297
406
31
495
548
364
56
271
514
19
117
427
209
336
581
95
764
865
123
820
933
703
27
975
106
198
968
833
301
390
936
491
615
694
575
841
614
323
306
167
608
253
14
503
413
740
785
776
443
289
309
522
892
365
479
408
133
159
189
594
342
733
937
283
742
386
135
861
7
540
755
833
777
541
9
607
954
43
901
83
949
733
157
625
598
430
885
781
215
737
632
4
869
880
365
971
268
37
998
803
327
371
544
328
73
3
217
935
531
944
271
424
766
181
838
889
629
203
879
325
450
544
356
127
425
862
32
939
697
781
408
800
634
867
898
940
545
649
717
129
660
829
863
256
309
296
268
782
935
12
109
960
636
832
121
484
235
540
776
575
293
211
205
567
76
15
592
827
185
674
826
884
24
866
301
422
139
619
707
121
941
153
882
370
59
119
922
267
383
412
754
74
256
454
666
924
138
561
453
376
99
687
787
394
717
152
602
932
87
121
702
230
379
195
31
62
550
326
714
165
520
295
132
633
314
901
285
788
772
908
96
579
185
190
948
738
175
34
226
227
52
174
121
150
840
223
54
844
666
967
592
619
699
59
716
579
38
892
738
850
967
952
950
285
548
113
984
826
632
714
792
432
469
82
683
350
167
750
76
154
606
414
418
225
761
581
277
626
0
709
32
128
962
577
400
952
547
382
28
401
732
670
158
102
818
873
650
482
231
11
244
790
971
107
170
254
498
218
704
615
286
821
490
257
670
734
205
412
16
64
57
91
405
298
226
556
922
53
142
792
157
645
13
949
440
388
248
466
589
739
697
857
501
564
424
65
791
458
754
264
470
564
959
993
257
154
488
542
431
630
187
244
263
504
444
363
897
67
800
149
152
701
81
340
962
941
430
249
848
134
780
229
853
820
204
504
710
638
821
33
798
326
269
700
696
984
864
133
13
542
696
466
42
636
554
203
233
969
602
929
339
656
613
947
785
767
498
863
221
62
641
463
674
979
555
671
97
286
125
541
487
238
549
670
879
937
344
840
660
939
494
421
307
199
912
805
296
1
364
806
114
762
523
261
183
404
987
11
271
295
769
192
886
797
796
698
220
551
287
473
637
109
91
793
557
583
535
649
453
28
270
276
726
982
934
591
857
151
972
795
114
36
585
509
537
825
861
958
338
896
762
81
331
673
307
777
861
884
826
280
66
556
749
305
665
579
566
308
360
309
672
52
240
843
980
322
199
81
955
492
976
499
941
529
896
399
454
740
244
711
90
643
447
103
343
863
781
941
17
175
180
9
558
43
257
471
822
84
204
457
735
926
26
812
163
225
260
581
827
255
839
64
992
305
26
177
76
954
870
360
812
164
2
173
419
403
907
867
57
590
952
718
955
234
627
269
138
415
837
460
360
491
242
803
381
813
790
965
817
721
179
32
86
376
243
43
878
95
424
871
647
19
890
688
221
318
848
887
0
118
834
613
716
332
749
282
736
574
772
349
69
275
465
728
297
880
575
67
177
210
998
278
122
891
891
603
935
120
298
406
385
264
960
801
213
563
72
383
212
383
746
381
496
864
341
705
742
758
462
715
301
157
244
392
290
577
867
952
51
541
337
82
633
62
944
754
924
562
780
640
607
118
223
927
199
829
885
508
341
487
455
771
187
926
51
97
203
239
880
549
644
363
718
241
820
338
75
32
903
599
576
686
868
447
352
552
7
408
131
397
758
35
684
681
6
812
260
59
200
103
607
727
185
133
341
772
121
539
446
482
353
855
599
479
505
191
276
469
353
249
115
414
414
374
210
489
827
262
530
556
13
421
83
265
964
788
939
499
179
927
886
28
642
965
532
629
279
553
132
487
142
366
63
688
89
507
411
457
330
471
243
653
259
937
745
735
105
791
847
279
821
165
103
585
722
325
691
669
505
556
685
975
231
766
975
203
346
624
563
447
576
736
78
854
5
392
754
442
550
164
749
264
741
167
606
378
188
404
286
272
497
469
965
932
70
816
84
173
160
670
318
613
922
648
3
916
846
424
446
718
108
81
666
422
644
183
590
85
921
200
807
602
455
744
598
578
593
184
359
170
681
436
485
802
911
558
168
953
199
898
36
428
523
673
222
105
388
236
565
456
864
426
161
747
551
110
472
711
401
747
538
460
793
462
383
930
610
786
144
790
998
878
579
669
104
388
60
568
380
619
201
941
490
552
132
721
327
287
890
309
835
712
771
628
110
529
269
773
868
681
466
25
957
292
648
220
342
115
604
891
443
732
479
699
879
434
439
344
25
184
215
352
675
255
313
41
25
857
771
418
647
211
386
355
763
277
697
609
272
297
580
858
318
715
234
101
670
206
473
954
835
50
113
297
798
383
213
234
262
163
918
892
131
486
216
484
416
912
726
722
766
483
14
604
130
766
933
487
255
250
916
49
42
904
623
473
893
270
578
770
554
822
189
479
202
249
369
832
583
775
631
372
822
477
793
65
982
347
34
160
50
878
266
980
74
853
926
705
360
498
352
0
492
489
67
710
765
135
637
526
948
958
372
64
913
982
247
611
838
665
355
529
559
522
672
615
843
783
604
166
265
174
740
59
139
340
987
483
987
649
706
529
284
38
779
449
139
740
291
101
592
954
272
888
759
641
220
212
255
134
229
857
672
531
746
986
960
519
563
905
771
926
537
192
173
869
781
523
130
402
157
616
853
230
589
70
305
598
469
594
850
300
229
53
195
127
160
344
290
910
728
493
257
778
578
84
963
630
420
451
819
647
204
175
426
31
646
513
237
250
147
590
919
592
641
707
935
398
844
651
485
708
424
584
170
701
519
110
235
477
131
892
80
401
785
182
716
632
99
400
480
561
486
994
455
345
711
88
605
177
299
971
708
936
942
264
854
93
715
995
511
983
517
690
511
97
488
886
124
7
111
800
151
227
208
136
942
930
232
310
276
47
299
813
596
38
303
986
396
342
495
190
913
252
454
621
385
16
163
86
731
17
345
598
34
430
503
668
989
232
313
883
48
578
754
94
199
513
905
30
357
508
606
36
534
954
152
141
66
532
553
185
108
407
668
553
685
514
517
525
171
934
74
647
951
944
41
841
645
833
185
695
891
26
707
395
522
698
14
279
512
309
825
971
325
370
187
348
832
503
289
430
238
940
757
382
761
434
628
802
247
423
561
718
224
139
608
447
665
27
208
253
41
478
363
163
802
719
505
969
436
717
376
739
704
601
994
448
49
747
43
330
374
346
425
354
667
70
743
539
797
783
851
541
85
995
333
980
66
190
349
650
135
138
657
612
689
943
416
784
583
726
847
199
356
268
409
491
89
139
869
377
436
256
636
848
810
372
58
256
189
352
336
14
639
756
212
958
546
232
99
573
159
631
631
130
971
828
526
243
229
49
542
376
198
39
231
21
380
280
717
292
489
284
495
14
846
133
820
76
943
402
594
349
817
328
282
837
658
767
254
973
482
130
536
503
456
901
659
195
811
845
599
329
287
270
700
10
465
38
825
785
2
680
830
217
332
269
502
155
13
619
638
80
122
556
301
580
32
576
989
303
878
923
752
906
771
866
188
299
322
387
992
736
115
814
160
324
807
445
512
333
670
729
887
739
386
206
593
713
198
483
369
386
277
560
18
181
245
527
11
36
701
706
538
702
667
925
820
496
876
982
533
833
931
280
665
920
586
599
630
206
652
709
43
362
562
406
738
20
915
923
105
386
496
737
115
447
975
899
908
239
878
790
950
51
519
423
248
39
683
403
298
225
539
66
175
261
88
771
377
142
154
947
86
240
72
484
714
316
575
678
205
354
230
482
638
131
626
690
147
748
53
503
564
616
43
845
872
401
266
129
923
523
803
854
743
38
104
275
170
953
721
628
775
857
50
441
749
920
201
72
865
301
385
658
919
978
821
538
276
943
158
198
663
63
185
667
377
823
377
348
720
264
166
875
456
379
384
261
182
16
797
376
654
130
471
989
412
101
937
75
854
670
478
829
895
327
256
171
290
811
742
546
710
754
401
61
326
287
916
336
541
462
594
682
254
969
910
33
783
544
534
577
588
108
355
948
24
531
884
592
473
128
792
630
934
336
827
962
3
859
661
526
273
218
883
222
762
593
306
437
111
446
610
502
157
482
143
877
210
468
914
351
25
175
924
50
354
72
64
7
288
192
165
822
812
764
429
243
122
225
397
911
638
677
957
799
611
584
111
403
175
764
592
475
658
541
56
813
61
73
457
58
227
857
603
388
569
75
337
417
198
573
635
427
778
724
320
175
499
398
800
523
849
756
164
830
69
265
504
477
959
91
276
920
164
290
462
155
923
176
435
975
550
682
411
67
234
271
352
142
148
750
526
241
373
650
416
128
912
936
228
820
132
178
521
808
421
672
48
183
632
813
418
645
338
902
112
569
963
806
499
324
400
874
197
168
344
62
29
139
70
159
456
112
248
785
410
552
956
380
748
206
732
172
571
839
298
981
430
489
67
865
98
483
370
238
326
780
626
310
533
667
887
300
921
139
851
113
723
960
588
922
756
631
748
843
906
54
151
723
149
987
511
739
960
880
80
289
358
851
74
636
873
283
985
808
884
780
569
862
376
565
974
274
147
750
849
412
149
52
337
231
388
753
765
231
634
473
231
733
365
475
780
579
8
643
301
909
268
278
576
319
175
488
324
340
915
857
512
994
522
416
84
651
683
812
970
561
146
642
12
742
114
230
197
248
318
705
966
266
946
585
909
809
191
912
394
183
398
887
399
661
508
96
946
223
171
592
523
511
125
380
941
60
88
390
85
377
334
835
926
638
375
810
958
106
792
640
383
37
638
907
14
405
879
573
297
913
943
252
832
372
670
547
88
745
283
281
469
699
198
207
56
25
284
794
78
549
929
816
397
553
630
312
542
347
986
702
828
527
934
344
993
401
485
208
468
986
255
420
236
402
792
35
520
346
944
534
177
972
142
72
358
192
359
300
406
966
7
719
801
471
551
279
473
768
532
259
483
146
84
53
957
381
969
960
457
32
703
563
588
466
790
940
540
212
197
767
559
494
347
834
145
541
594
756
14
732
890
691
527
424
749
66
554
431
794
441
791
223
31
714
594
885
614
715
738
125
385
459
261
126
570
376
865
696
984
882
161
609
9
234
191
781
963
300
856
705
796
69
394
304
30
486
630
622
319
261
790
41
266
655
349
728
525
798
138
248
806
330
45
227
391
107
458
793
449
9
931
333
592
948
557
395
249
175
424
750
443
797
512
836
323
441
743
819
999
91
259
529
168
23
502
215
661
273
144
12
189
900
92
889
553
836
589
396
123
384
209
821
712
168
144
731
791
284
648
62
241
136
375
590
491
521
234
843
97
587
991
483
858
468
724
981
371
129
292
116
982
87
48
74
347
158
65
689
82
386
249
375
610
379
481
942
586
659
601
877
948
393
15
270
618
703
494
782
122
554
682
550
673
676
784
335
819
58
108
367
194
918
976
797
270
330
82
895
461
169
950
970
121
453
626
771
957
166
517
754
626
553
109
193
807
430
335
244
963
986
459
997
445
84
481
278
176
97
834
188
146
217
930
426
298
414
709
771
965
748
977
212
515
377
303
172
93
937
285
765
527
185
115
212
339
401
831
258
567
804
632
656
909
565
156
694
773
270
720
83
45
759
915
307
79
857
793
971
422
406
887
121
745
933
188
434
497
815
923
419
149
342
945
132
667
487
125
98
495
455
855
606
230
60
359
957
493
751
800
623
918
622
528
271
528
941
367
75
776
538
599
949
344
364
635
356
505
747
570
964
751
110
42
808
760
799
555
875
92
889
910
268
666
6
391
575
595
314
454
287
998
487
647
608
701
917
830
236
2
704
565
464
657
340
635
427
660
275
551
221
232
528
236
34
352
901
42
497
741
233
437
623
430
726
954
104
376
334
828
414
336
691
344
269
742
299
243
122
246
333
190
514
981
181
864
900
725
265
11
115
5
576
309
828
703
289
702
884
885
694
433
267
982
418
197
766
407
136
110
303
763
401
31
262
782
503
848
616
90
488
566
658
446
979
649
456
115
534
776
398
848
693
57
695
403
8
129
162
93
274
677
943
226
540
682
521
402
361
873
489
3
217
543
875
118
390
817
850
588
999
168
208
482
316
801
298
736
992
522
621
2
195
190
435
524
405
158
621
839
45
297
467
987
870
569
70
321
220
241
355
782
347
241
883
624
705
823
281
583
150
820
418
176
182
698
623
179
411
110
615
431
815
381
351
561
367
269
264
466
579
577
84
486
514
308
68
625
166
964
104
592
248
566
375
291
948
334
858
754
885
923
638
393
834
650
426
43
493
74
330
524
481
369
817
943
782
832
25
513
758
167
658
521
766
624
38
770
976
172
48
57
576
568
472
611
305
806
373
720
923
904
346
987
319
359
980
880
775
741
579
878
43
923
458
239
520
870
84
232
35
405
774
79
194
492
536
374
203
137
559
979
497
23
282
900
824
967
128
692
919
10
727
730
99
424
311
104
294
27
960
375
649
149
594
684
330
99
241
254
574
366
734
927
21
808
508
995
557
930
885
940
494
523
508
18
122
705
759
463
293
838
894
229
612
186
959
473
1
235
893
808
542
701
701
748
832
645
580
695
193
920
187
150
420
802
543
515
530
953
440
53
859
844
911
338
36
849
836
360
248
399
221
305
250
588
517
391
246
785
916
851
940
701
372
338
700
520
677
689
115
605
363
314
539
197
736
167
978
915
271
942
984
770
300
780
207
82
794
905
923
704
171
151
548
425
358
56
963
57
345
836
666
365
503
220
791
242
147
43
157
905
53
157
619
989
537
21
110
776
645
195
751
945
436
979
428
446
542
79
752
997
96
651
34
711
591
660
183
471
759
361
256
66
690
14
63
308
567
338
398
399
887
552
826
361
294
285
217
607
894
359
806
185
623
42
334
518
371
528
985
459
602
929
387
999
328
177
537
226
985
711
438
941
558
718
672
588
716
474
659
754
513
451
234
405
442
526
14
846
88
687
878
923
497
758
602
419
264
500
677
28
802
376
901
602
770
563
436
972
644
359
182
129
786
884
721
56
813
721
589
326
485
219
110
123
755
717
310
836
418
495
113
157
561
507
665
988
133
842
609
573
892
737
299
971
863
172
731
451
606
74
657
231
562
969
226
446
412
874
981
745
183
689
860
831
46
534
105
182
521
801
284
780
694
828
671
478
951
259
374
947
904
532
188
396
254
211
728
27
352
102
654
401
865
581
143
751
882
879
821
696
597
85
804
981
504
998
475
22
685
475
909
826
554
307
95
859
424
842
838
745
689
856
201
258
234
829
719
424
946
608
426
438
320
415
680
983
938
855
592
770
160
553
58
622
784
412
236
88
465
658
340
616
711
228
504
755
621
919
678
698
247
600
52
474
250
533
313
765
860
876
353
675
893
350
864
324
174
898
607
392
148
955
499
725
925
703
87
583
99
14
27
117
834
433
224
363
664
625
468
680
883
767
770
430
960
309
121
279
945
967
777
205
940
800
300
949
708
253
20
868
792
323
237
978
48
497
206
891
275
830
139
455
937
479
568
34
524
783
342
808
87
343
146
398
8
517
652
923
640
304
422
173
513
649
811
177
583
333
426
56
42
108
870
100
400
272
734
115
220
71
622
788
115
581
48
67
276
448
752
891
390
381
888
212
694
156
343
776
34
688
603
586
684
678
586
635
676
57
901
662
136
860
352
566
641
767
962
130
533
827
236
176
21
322
23
164
535
884
73
205
765
307
942
760
566
614
285
485
167
558
220
258
956
581
970
651
14
216
701
281
850
599
902
558
133
94
594
33
829
135
985
940
951
651
800
863
84
822
133
581
377
229
999
264
526
335
690
358
92
256
979
302
884
889
712
738
463
841
927
928
792
735
294
603
830
675
514
601
868
925
35
650
356
402
771
133
782
381
864
877
106
409
618
805
470
188
732
152
481
794
731
112
217
639
498
269
289
896
210
239
116
634
766
159
797
172
810
896
155
312
705
437
443
712
955
437
480
246
221
44
169
16
212
580
475
843
874
675
697
972
367
745
157
840
526
74
955
124
435
301
413
249
66
966
352
720
581
207
560
940
512
707
701
235
413
900
666
222
853
338
231
909
564
436
236
877
528
238
289
838
508
246
429
292
414
221
858
10
551
610
158
949
236
982
357
71
592
868
224
928
338
142
582
282
816
683
582
976
673
99
501
242
820
159
474
295
992
578
382
597
948
229
508
166
723
134
640
530
290
724
608
86
516
636
528
237
45
657
714
685
701
65
875
782
328
220
868
127
606
80
969
217
689
894
775
860
61
365
261
71
436
511
632
439
360
823
875
122
376
2
435
781
48
984
618
715
278
908
134
545
545
196
494
589
805
227
219
772
393
195
444
681
186
236
616
395
910
489
592
919
254
39
147
811
568
392
16
148
811
473
559
891
760
64
517
67
465
561
476
514
388
632
504
922
693
62
406
664
420
115
318
249
922
190
848
985
483
955
669
758
739
540
585
844
369
270
516
123
277
213
316
893
301
169
979
9
199
881
242
564
979
209
47
194
979
127
797
823
463
667
183
370
75
143
181
27
256
534
905
956
115
175
856
792
907
908
453
240
728
797
58
239
740
431
341
936
207
368
556
366
996
391
122
321
946
257
594
35
345
587
410
121
982
230
885
731
141
108
766
913
146
375
678
546
148
174
861
679
844
365
519
733
435
924
121
983
306
922
939
538
318
988
869
892
561
657
292
693
673
721
386
671
304
108
359
279
707
63
801
601
369
447
58
5
797
698
340
794
386
749
687
973
427
280
119
783
586
160
774
897
150
932
47
558
899
940
438
723
566
723
572
727
252
620
150
322
773
174
476
412
85
800
178
436
261
209
559
763
296
871
351
822
857
949
960
632
27
170
685
54
929
50
749
69
193
152
10
350
886
491
799
672
434
592
636
255
616
449
677
943
627
527
316
158
785
718
120
536
129
161
314
759
560
358
690
901
884
410
798
147
609
81
954
446
406
507
266
769
38
427
518
152
731
410
286
923
839
863
677
118
277
781
255
943
206
40
101
331
131
23
650
810
718
943
706
40
346
703
291
406
597
364
657
724
700
890
755
539
847
864
929
529
361
155
660
948
342
733
295
1
848
294
90
715
146
773
518
34
186
714
343
889
95
397
536
514
489
699
275
685
429
987
312
775
567
75
637
567
899
589
110
935
769
103
857
70
346
71
245
323
477
328
764
709
850
432
212
557
858
377
373
475
983
447
668
706
271
74
773
368
355
36
878
304
536
824
937
909
761
239
620
747
499
824
752
527
343
361
72
92
898
881
896
603
77
959
947
940
690
361
239
214
657
932
619
150
538
43
715
150
449
903
832
910
849
646
55
964
279
627
412
605
868
596
639
22
586
38
22
970
664
238
909
44
67
568
43
660
342
420
446
889
750
535
789
302
609
828
918
907
198
729
363
968
647
536
480
430
154
314
976
230
271
708
666
955
985
150
274
421
647
545
881
537
591
567
873
389
888
452
284
248
458
678
908
675
745
860
993
417
557
730
171
601
141
642
505
104
199
249
913
881
369
980
861
884
559
895
764
792
913
777
251
1
182
844
612
368
139
962
587
221
129
243
904
864
93
63
481
971
650
747
803
972
874
851
41
260
855
433
217
663
679
118
843
481
117
473
93
374
235
0
448
320
46
881
734
638
119
471
848
452
566
384
821
119
901
340
900
773
123
393
450
413
705
174
193
807
788
399
591
422
687
414
914
177
303
688
373
962
71
65
745
61
819
972
677
757
625
99
974
539
974
428
865
125
666
799
954
210
150
335
413
584
838
798
771
744
945
981
729
82
533
906
513
488
816
528
136
470
487
765
809
695
383
857
610
592
676
509
512
18
772
481
255
615
201
915
310
562
350
922
668
605
651
781
127
757
384
319
836
274
225
383
177
486
484
920
254
41
287
103
593
522
396
824
877
954
279
25
125
147
917
742
294
607
498
437
767
50
737
245
683
878
314
779
848
872
138
20
657
418
438
10
527
225
362
530
807
581
787
838
101
853
452
531
243
743
953
989
963
725
821
214
441
909
534
515
810
903
327
34
833
459
32
784
814
121
695
232
920
382
871
528
13
763
77
798
471
466
964
374
95
333
353
351
752
23
988
609
225
758
445
82
504
110
588
662
698
689
232
845
737
918
813
876
378
813
838
851
596
991
431
162
788
176
339
798
90
461
371
300
258
18
542
52
293
220
820
493
948
683
867
768
880
529
27
957
547
856
439
925
56
247
771
441
452
649
762
853
348
115
550
836
415
268
324
883
21
996
713
259
911
321
656
334
74
748
496
332
633
451
641
435
257
22
958
7
911
984
812
260
472
137
353
730
34
716
918
843
978
603
473
111
833
905
221
47
400
360
105
673
81
179
901
460
987
368
767
724
307
591
521
71
821
909
194
563
72
20
374
953
687
81
40
862
333
938
790
995
568
68
515
37
115
750
502
199
668
395
608
110
530
985
377
704
411
106
558
678
821
379
543
519
387
262
601
741
658
407
718
327
686
445
173
283
484
383
177
752
957
958
825
524
747
172
818
3
157
969
33
484
256
799
878
704
106
210
64
230
693
754
357
196
605
132
530
573
454
969
97
349
795
599
295
990
666
861
359
551
42
495
811
61
482
445
694
434
299
82
425
919
999
74
246
936
409
274
474
14
298
148
149
930
465
494
146
877
63
965
573
403
349
268
167
490
44
149
587
497
740
890
564
599
430
495
903
372
958
88
511
195
167
90
450
118
375
840
927
26
512
851
453
670
582
366
418
525
336
934
360
268
972
178
115
193
425
192
279
334
908
176
845
684
155
293
947
456
750
620
639
489
671
560
66
535
430
234
376
36
389
303
71
241
9
230
562
217
450
235
520
748
671
937
885
96
302
569
692
213
144
388
26
215
695
854
500
220
433
260
822
646
139
336
659
746
426
759
733
803
322
235
40
744
600
181
454
911
912
738
632
915
433
370
467
78
769
657
280
343
29
898
253
745
902
152
34
995
90
467
655
117
336
102
648
789
832
138
78
713
761
88
874
558
558
267
433
344
182
304
354
383
388
262
447
530
474
602
388
400
579
769
591
242
562
159
520
495
420
677
804
923
424
750
450
148
424
986
101
377
713
509
309
753
868
260
152
671
483
984
906
810
884
787
50
999
236
357
13
801
285
575
28
310
834
85
214
198
718
57
803
585
639
496
564
699
163
393
897
227
467
266
403
522
544
4
812
896
342
224
904
685
857
892
406
120
169
878
733
319
215
451
586
926
304
246
99
312
187
404
258
101
980
910
312
638
423
880
919
516
337
68
142
752
796
221
771
556
438
252
495
178
187
526
108
907
77
189
310
647
295
264
98
322
633
240
25
940
249
447
240
552
99
508
395
221
180
7
647
167
701
137
700
170
30
802
831
198
77
307
900
290
941
242
751
26
808
95
643
666
417
911
979
227
262
952
56
941
128
945
398
233
448
502
609
429
242
437
503
245
235
320
923
816
44
509
837
405
287
725
907
527
228
815
137
837
380
591
347
278
78
484
367
152
315
466
850
984
207
677
27
414
793
505
478
290
900
983
787
14
350
962
984
811
81
610
997
193
422
167
259
498
813
295
430
613
365
934
158
298
646
875
697
554
883
950
472
824
584
543
910
152
528
580
736
763
900
699
970
190
890
8
184
727
932
880
221
698
867
735
316
443
645
75
196
985
352
60
730
615
198
612
486
649
962
22
48
746
672
650
491
364
186
604
292
64
120
485
161
869
669
142
90
437
887
817
380
358
970
44
283
565
410
632
67
970
360
183
288
833
303
390
516
680
511
866
171
783
496
592
929
53
965
568
142
542
895
554
593
910
429
655
309
68
705
257
328
923
727
830
158
706
916
837
347
499
458
516
961
330
820
102
407
295
84
743
39
399
802
359
12
182
22
385
680
159
762
157
560
926
139
66
850
187
89
362
438
267
363
994
425
934
519
272
309
640
174
480
69
452
179
226
807
568
64
662
153
923
123
218
297
735
320
545
497
97
915
324
307
293
963
674
417
560
649
908
343
851
401
638
440
905
999
674
923
493
834
180
734
265
210
743
678
349
967
941
909
389
245
498
720
778
43
28
597
302
352
786
795
217
331
27
520
807
94
790
861
3
4
566
656
158
405
594
504
369
277
29
716
707
579
6
912
806
431
24
558
998
135
273
231
674
786
621
852
371
190
757
825
176
589
281
536
544
190
201
543
713
252
432
387
389
848
722
371
678
569
116
313
88
711
368
458
881
631
377
161
237
294
537
682
581
963
218
161
383
339
283
26
404
598
113
837
405
830
582
439
93
3
782
291
607
602
88
99
601
869
339
210
763
610
346
31
960
272
482
965
296
543
10
60
526
96
857
623
525
86
862
432
968
667
599
354
674
320
676
708
259
933
311
602
594
705
500
346
447
528
140
625
111
649
905
467
843
782
811
387
768
351
609
9
615
352
487
923
430
896
202
711
460
748
975
838
225
944
707
34
145
182
547
114
300
48
972
593
380
964
221
993
637
770
526
425
459
34
738
565
691
229
576
822
304
599
647
907
113
752
969
435
950
81
438
643
827
253
346
880
21
760
957
972
680
897
448
912
502
796
620
880
328
666
750
799
246
92
664
494
247
200
177
866
353
301
674
506
808
753
254
917
592
429
900
252
366
998
53
227
87
982
637
174
945
695
123
656
437
67
1
967
396
158
593
94
789
650
132
801
503
181
710
929
349
630
276
527
660
179
119
407
578
733
739
648
497
769
341
816
540
362
742
969
520
105
67
928
905
983
1
729
180
446
60
981
473
361
388
897
830
981
382
351
38
9
42
226
70
269
698
974
401
351
568
946
9
693
233
387
206
670
729
678
750
859
7
622
497
840
704
618
97
947
273
72
522
745
32
828
390
368
500
617
371
252
919
213
760
567
890
944
199
446
15
973
620
168
500
965
919
17
591
76
336
723
459
388
710
869
927
431
709
466
743
918
887
236
461
695
291
980
904
213
936
410
472
722
904
708
899
563
195
680
586
243
844
529
476
961
265
695
590
4
65
144
226
659
219
396
718
343
612
429
310
804
704
149
200
733
652
228
326
650
722
788
931
126
19
903
98
563
376
339
22
922
54
32
867
900
644
585
655
130
297
133
606
623
222
860
350
813
657
992
58
961
119
158
587
440
280
412
587
143
158
785
504
218
970
449
645
823
290
499
492
585
24
791
871
926
935
903
396
90
588
994
395
530
959
901
154
893
812
52
321
464
134
123
948
582
42
881
437
374
687
673
538
518
255
696
394
312
707
273
946
545
131
980
836
231
255
162
836
48
561
53
906
386
381
218
728
138
37
437
866
844
319
427
890
812
702
696
231
837
172
398
362
853
364
677
290
472
607
259
154
714
238
930
416
10
290
593
193
270
576
388
406
744
502
259
716
160
797
905
582
903
184
129
848
930
746
452
334
214
166
236
606
880
285
815
1
243
381
792
355
792
203
695
429
870
689
181
968
687
493
61
38
61
625
51
456
810
207
205
259
384
653
647
415
231
197
157
146
13
118
377
700
622
933
23
984
828
325
283
554
382
598
219
342
93
424
289
805
567
203
426
688
56
893
340
619
703
296
696
41
82
126
177
311
59
696
449
574
505
946
565
387
614
804
326
861
975
643
579
424
757
614
626
46
453
41
807
507
555
420
536
485
565
835
724
694
183
674
228
691
448
729
102
380
581
254
817
574
774
818
726
470
612
68
326
620
450
499
630
459
189
770
68
498
749
352
734
177
32
556
824
653
267
779
487
981
212
480
420
42
498
443
665
958
186
344
748
86
82
811
517
381
283
88
233
726
205
645
586
517
390
103
7
972
973
110
207
966
743
423
792
168
564
882
626
246
800
756
590
588
326
633
473
443
462
68
43
28
983
66
745
646
973
428
725
810
44
611
467
983
710
327
20
986
363
320
816
347
625
401
958
511
567
306
437
847
626
256
838
643
579
332
898
826
110
939
28
174
335
439
692
120
338
99
276
319
591
92
850
710
319
351
840
499
582
492
535
595
667
911
814
322
335
65
596
943
599
987
402
729
464
894
858
53
388
291
631
355
129
602
665
433
123
700
192
842
771
44
325
855
554
918
48
606
235
890
872
130
484
528
869
607
641
913
779
860
394
28
773
935
29
116
727
729
112
805
206
107
538
493
197
1
979
374
479
166
987
388
942
841
555
754
796
463
676
284
731
903
373
446
258
761
953
398
220
252
950
178
378
950
728
221
266
505
102
863
635
593
620
429
53
811
50
319
110
134
860
408
335
625
76
346
714
668
854
486
167
742
247
944
1
577
281
742
473
747
629
218
667
118
800
70
55
418
106
888
943
989
978
881
640
388
111
744
964
368
269
151
622
175
399
263
863
797
466
772
381
978
247
342
657
582
661
126
822
631
177
178
178
882
188
74
577
799
968
989
14
657
352
289
50
952
709
844
727
613
247
83
893
561
539
500
396
586
917
309
196
687
915
708
754
523
345
158
629
445
940
862
411
428
684
889
307
209
242
458
479
919
126
964
943
692
16
332
673
29
524
674
953
5
950
574
955
531
698
42
418
252
73
159
780
187
400
394
385
553
926
307
719
341
196
272
544
110
195
588
195
496
540
865
624
431
702
533
188
689
539
299
902
674
0
694
678
447
758
909
426
687
178
307
247
291
255
572
765
255
210
662
991
103
478
775
525
472
137
902
217
59
19
686
528
959
297
742
29
826
30
650
805
171
298
453
45
502
716
951
518
136
395
77
591
190
186
211
171
523
319
616
965
406
441
628
821
864
951
388
935
907
66
150
882
804
727
74
733
395
699
853
542
956
135
210
749
62
191
197
623
226
922
120
963
989
613
183
984
111
770
80
253
345
346
863
345
865
817
573
504
897
926
870
257
458
984
92
468
736
439
530
832
544
727
895
443
50
647
242
426
127
592
202
193
935
459
495
533
660
366
168
792
464
57
203
237
540
475
617
444
567
151
358
593
248
891
724
83
776
472
53
17
763
98
552
162
298
313
975
8
993
752
512
844
231
803
684
896
945
924
676
574
254
287
956
427
993
495
606
705
538
425
153
169
112
903
985
894
646
661
245
386
274
369
194
531
5
33
37
762
321
744
350
563
932
345
570
836
645
31
405
402
751
169
297
387
280
423
737
440
369
45
714
361
869
238
368
965
8
59
191
957
869
943
52
359
253
677
324
969
623
612
213
1
369
958
360
252
985
662
794
681
978
833
891
236
708
694
777
789
692
46
819
970
193
465
251
477
943
545
487
299
491
753
654
655
755
225
462
850
854
780
400
178
405
572
754
224
38
355
929
908
66
695
361
890
838
221
180
55
941
969
943
926
273
936
159
482
221
411
132
853
971
737
995
877
948
898
307
440
767
382
994
277
666
718
612
135
524
499
157
416
114
180
340
832
264
420
994
847
153
143
109
95
512
846
460
644
757
433
667
427
320
349
385
78
50
253
339
892
649
511
55
121
121
669
477
383
959
842
569
724
690
232
994
518
203
414
788
969
863
860
491
380
178
739
162
100
716
256
121
668
875
488
645
791
839
988
215
17
794
782
25
698
443
200
784
827
524
189
351
315
730
324
638
378
596
373
671
508
740
852
352
902
482
466
471
415
607
728
402
647
897
676
851
91
287
887
600
245
584
218
731
298
787
2
606
380
750
567
197
528
608
571
167
407
532
922
377
458
175
212
439
334
497
303
925
828
268
743
687
22
129
617
602
323
874
729
645
134
538
466
911
844
495
755
58
565
279
292
35
264
936
879
45
674
807
314
293
791
472
969
499
157
828
979
576
214
462
838
571
424
151
144
314
467
836
195
433
351
784
134
895
867
399
598
831
936
253
408
992
496
418
136
24
200
98
652
913
267
297
885
681
118
86
823
850
585
971
546
901
47
754
744
130
282
717
565
396
129
9
605
585
880
614
806
997
761
85
940
525
368
706
680
836
910
119
550
373
644
484
679
292
83
934
567
648
83
121
501
228
475
635
974
643
873
569
849
292
874
349
767
39
72
109
681
664
488
689
232
156
540
177
52
205
940
117
953
897
384
383
941
286
304
309
223
811
816
242
680
585
438
248
581
706
11
955
953
712
560
65
548
416
299
561
148
242
174
587
676
244
821
837
58
128
66
850
467
218
474
209
998
288
353
997
912
57
145
225
554
778
72
665
369
112
877
760
746
373
548
470
82
906
841
223
860
980
658
480
735
358
959
923
735
594
695
612
126
271
251
989
423
200
150
164
145
940
799
627
188
537
14
826
757
284
633
288
479
106
14
24
656
859
157
301
741
482
467
170
638
760
51
779
61
617
401
188
579
13
897
454
842
59
46
448
689
886
842
568
386
481
319
39
387
841
750
57
8
598
128
74
462
807
477
594
441
251
598
213
844
219
586
329
533
930
7
113
196
423
69
477
506
57
19
432
281
448
798
995
644
153
458
273
129
939
931
11
413
461
573
949
832
433
763
256
568
524
966
431
932
777
554
210
22
870
250
716
286
73
993
174
733
612
22
674
768
771
347
699
135
879
786
954
2
204
342
245
808
756
610
985
756
357
538
13
239
536
171
595
104
196
231
117
308
112
164
277
451
299
563
252
232
310
140
939
674
485
738
791
157
717
716
673
332
417
698
8
540
329
21
258
168
609
736
576
151
412
97
672
454
943
686
853
870
833
990
67
633
890
746
665
318
963
231
285
306
777
581
957
753
34
242
623
720
671
262
353
288
736
152
636
626
903
257
453
669
86
531
443
17
632
593
820
338
614
227
598
970
928
319
247
617
76
559
989
519
697
276
299
297
362
283
710
11
290
437
772
720
930
26
640
621
142
414
964
497
173
861
636
495
143
404
392
86
488
444
861
514
746
666
74
175
297
648
327
613
346
280
629
944
401
421
744
600
513
370
177
168
751
927
897
938
616
408
503
702
750
100
258
407
960
733
915
400
224
527
716
363
72
458
877
872
15
146
926
356
255
758
267
561
383
391
595
685
655
485
122
154
207
399
685
353
599
64
273
104
236
217
585
600
26
285
916
488
284
492
605
94
84
906
47
125
376
331
830
946
180
106
320
538
707
954
182
799
798
562
495
111
143
892
630
722
175
215
639
159
428
171
524
480
549
917
754
148
123
791
837
553
409
18
617
692
787
780
941
967
402
476
306
497
308
496
388
337
568
403
997
859
420
564
323
203
111
270
888
235
488
440
527
732
762
565
845
201
553
957
259
812
174
13
944
225
150
245
800
69
141
155
162
784
130
926
118
471
915
284
272
926
972
137
977
7
205
314
834
589
124
162
12
811
741
655
636
568
972
469
393
255
352
706
66
695
427
620
483
885
257
201
632
192
304
981
801
467
849
471
468
257
728
622
81
363
241
643
602
144
232
751
207
971
183
777
13
798
248
963
647
92
688
597
103
843
267
842
330
41
102
75
813
370
101
688
912
412
620
156
245
938
121
919
533
100
251
90
495
872
130
742
493
258
31
631
953
404
440
823
974
658
225
456
288
124
957
116
967
295
772
764
246
493
986
555
564
337
965
551
485
71
86
547
634
330
361
337
339
401
200
411
514
880
910
484
18
604
846
474
603
249
586
343
904
18
209
573
283
83
287
499
735
459
576
41
726
617
30
445
937
911
277
377
787
945
328
341
15
235
81
752
496
315
733
585
985
817
583
297
48
754
532
535
117
640
718
395
69
818
876
648
149
607
934
89
209
375
645
126
367
150
119
175
533
149
777
228
57
623
520
834
75
191
541
663
609
582
98
135
777
988
662
220
904
257
905
650
806
734
720
143
12
229
579
12
40
891
335
797
624
245
400
642
78
785
15
944
404
839
780
660
587
357
630
89
331
904
226
457
494
155
630
822
184
91
223
258
782
554
91
584
267
855
505
306
305
629
438
969
720
168
385
264
819
585
696
487
866
559
266
38
57
48
81
253
726
501
656
319
225
673
285
41
34
119
383
692
857
403
953
563
183
418
459
987
146
735
979
107
180
495
861
361
726
873
136
395
637
594
754
855
141
876
876
446
919
487
972
13
894
869
684
558
503
100
51
492
489
165
400
167
217
546
737
494
460
223
978
843
680
468
785
724
924
491
58
28
678
593
793
978
629
478
257
97
860
85
737
83
618
574
784
219
463
998
241
707
25
681
151
154
242
998
458
29
323
477
404
696
52
145
985
768
822
388
978
366
926
877
669
778
883
988
90
130
805
82
123
30
946
580
280
384
627
819
131
866
853
406
908
888
804
56
264
105
283
224
446
190
210
92
171
89
723
30
342
567
564
244
184
215
821
236
662
204
494
268
161
592
894
318
986
561
162
365
528
404
655
444
874
33
209
568
943
973
352
993
452
153
463
582
457
44
929
973
720
48
24
465
524
485
381
861
764
72
120
133
888
953
719
849
822
959
301
44
38
741
462
959
619
791
750
88
618
951
952
955
238
557
649
856
539
576
511
663
960
674
851
180
829
354
99
98
954
946
46
39
360
990
410
883
479
96
13
501
647
469
73
700
989
964
421
123
666
320
494
333
307
285
830
15
237
83
209
230
370
767
258
235
966
715
462
990
159
615
769
854
496
106
768
100
558
493
275
243
276
934
594
384
456
139
683
316
628
217
703
99
735
854
217
805
121
83
120
659
668
93
883
510
439
401
281
40
497
301
124
479
898
339
415
381
915
434
905
434
37
552
725
764
8
526
671
674
966
630
163
684
372
387
259
573
593
862
609
318
444
693
631
297
927
889
818
0
826
512
329
109
454
66
659
646
686
304
586
945
255
748
311
527
782
543
323
752
424
32
311
705
377
155
929
217
273
724
789
68
17
91
976
337
391
247
155
818
198
336
427
283
751
845
909
842
753
805
89
302
605
947
410
231
522
265
144
507
923
488
27
12
721
303
990
126
440
452
167
487
824
34
238
663
876
232
432
335
300
222
920
926
100
977
292
926
530
651
193
450
317
242
950
510
957
659
282
669
290
721
590
852
120
989
489
298
374
771
677
917
418
792
219
106
363
655
225
739
45
21
729
228
644
689
307
74
290
445
386
98
439
132
475
148
659
46
470
894
902
670
335
279
610
545
881
106
956
454
246
472
338
898
621
933
274
199
632
947
99
226
94
607
4
49
264
835
930
439
101
709
787
502
25
773
508
526
891
307
260
367
80
286
370
142
441
721
565
614
694
103
181
136
153
65
799
794
174
637
677
452
488
646
659
856
510
96
583
174
116
79
839
817
266
59
899
59
723
92
678
392
128
973
272
589
470
283
54
317
872
100
771
698
121
47
966
322
225
449
521
120
644
50
13
980
936
415
559
264
432
629
744
101
28
894
406
704
684
103
586
864
307
47
971
736
538
35
771
0
118
125
830
102
388
861
568
881
485
141
878
184
905
857
4
755
934
897
786
541
459
764
805
951
47
58
685
939
549
465
852
809
957
435
871
935
940
294
288
372
770
390
331
836
443
956
977
764
4
4
809
303
82
106
235
97
934
740
595
53
292
133
784
240
27
992
166
994
696
956
633
267
349
393
371
978
724
270
469
288
213
684
593
43
35
485
40
622
447
307
120
79
847
120
891
348
695
206
532
752
925
175
460
98
336
901
732
715
330
270
822
247
721
990
614
954
88
140
583
352
86
895
239
898
873
565
555
603
587
409
933
474
609
853
625
896
60
771
802
370
963
257
66
126
72
725
250
375
86
22
749
237
220
551
49
189
3
489
713
962
401
904
476
53
785
540
179
53
508
246
830
920
110
165
614
197
887
107
995
713
837
821
549
113
302
418
49
589
417
662
708
525
470
561
881
529
167
863
470
594
253
189
627
210
100
190
612
446
256
819
411
890
338
983
326
190
891
466
111
944
93
260
559
285
823
78
443
500
961
61
150
505
970
68
19
91
395
256
157
50
627
95
228
606
493
756
675
905
719
235
202
361
434
665
235
420
978
663
499
397
322
373
773
746
578
339
243
632
371
950
756
958
392
877
330
290
72
260
278
278
335
451
285
845
911
399
231
907
644
550
756
164
544
332
468
133
568
773
214
674
861
808
657
609
255
380
817
499
643
376
871
727
349
490
206
162
515
792
709
82
71
230
101
910
392
998
601
775
107
759
190
700
762
147
907
90
274
867
704
957
671
116
309
984
121
360
929
106
110
735
78
521
949
182
519
857
590
200
874
723
962
449
737
392
42
666
241
767
682
892
563
608
551
551
14
417
955
388
935
562
334
571
194
707
228
918
342
755
693
971
124
867
611
269
437
373
57
19
795
156
481
884
420
745
418
148
636
554
417
979
15
372
187
763
910
468
903
525
97
758
834
341
733
394
388
4
931
53
53
415
387
336
505
558
286
604
956
595
581
861
36
954
530
624
142
327
218
117
176
494
554
612
975
671
607
366
249
164
895
857
57
187
814
42
24
661
720
144
582
603
903
188
276
349
898
987
881
655
963
257
735
786
352
617
879
575
747
396
205
295
740
243
674
647
932
155
668
932
217
326
909
959
843
934
868
504
403
301
518
765
673
323
155
680
265
438
785
186
364
560
649
138
787
284
265
884
98
171
163
695
74
930
886
459
325
515
61
35
808
413
527
932
714
694
704
20
106
303
987
570
663
159
591
57
292
635
156
397
147
44
200
266
661
303
188
209
146
727
544
177
592
265
996
178
317
156
500
89
993
300
545
159
207
890
797
968
652
761
349
880
549
424
245
323
385
199
417
427
417
583
286
792
38
213
12
585
654
567
176
88
934
891
522
806
382
511
379
762
486
897
183
93
743
519
528
688
514
833
726
997
759
202
80
369
763
28
762
247
619
604
431
520
351
123
673
99
557
758
751
252
196
716
144
98
921
310
995
511
333
624
277
497
38
872
185
601
957
805
653
799
113
674
87
312
245
498
333
783
316
278
245
948
397
272
226
823
582
266
278
740
223
591
682
717
618
185
525
885
696
544
347
501
87
93
30
513
455
904
932
156
268
613
56
452
321
687
194
696
810
930
834
520
767
957
6
167
470
695
388
529
470
249
750
4
301
681
70
917
82
941
611
962
215
714
645
805
219
592
59
908
13
628
160
487
876
581
691
848
242
288
282
576
873
142
674
265
484
723
510
708
764
353
952
402
766
939
83
23
570
371
285
946
327
663
211
154
182
662
854
331
37
578
986
80
390
640
516
943
307
987
583
262
522
415
978
213
417
44
116
918
786
421
98
113
8
907
619
777
212
8
270
260
175
267
318
804
654
932
835
937
425
712
552
706
982
330
885
976
988
162
227
278
192
435
468
27
43
610
940
325
201
282
361
815
415
742
555
123
130
121
779
443
774
251
683
959
583
158
291
360
799
292
739
815
844
460
451
508
525
696
712
704
8
818
499
581
336
227
212
782
61
547
218
177
688
114
754
919
819
922
360
446
459
753
871
887
740
625
837
332
928
363
576
428
998
486
833
170
119
905
526
286
663
470
806
755
658
48
765
97
685
903
249
108
937
731
84
148
571
768
583
68
517
694
916
536
447
820
109
478
157
748
816
211
621
537
998
655
985
271
739
398
422
270
885
783
631
784
186
899
152
473
804
464
792
205
838
271
326
434
653
315
104
204
506
364
4
342
295
100
594
600
414
396
549
856
376
82
24
36
60
461
371
105
732
104
544
146
728
24
756
39
65
704
126
818
501
713
470
958
72
865
924
920
121
920
596
948
638
668
45
355
680
814
428
578
337
5
605
695
977
737
587
559
831
420
666
788
310
179
518
870
684
976
221
82
193
22
221
968
855
428
747
953
186
777
520
473
892
405
553
155
259
387
184
697
826
489
373
63
818
809
547
941
282
149
981
576
177
799
431
985
698
341
70
981
871
590
631
289
492
134
39
225
449
439
152
465
394
695
148
981
321
105
731
570
310
326
475
91
454
376
460
621
569
645
324
66
817
810
529
704
254
434
834
683
117
663
161
873
677
898
764
955
599
703
258
408
156
587
728
538
316
11
143
860
810
114
142
124
250
476
405
678
685
921
586
983
295
991
449
423
330
819
91
959
907
235
736
93
907
531
106
262
22
271
277
814
409
467
400
470
124
954
988
588
187
45
374
544
860
514
284
893
852
214
719
240
499
408
78
840
581
752
276
129
963
92
96
57
391
275
39
484
986
455
969
118
980
706
438
165
877
681
318
481
21
189
740
32
474
155
540
415
493
538
299
70
509
328
315
288
750
129
881
402
576
982
328
191
303
69
235
155
969
684
145
678
372
495
779
38
821
603
797
159
344
616
499
62
474
421
645
30
189
251
704
87
910
188
897
146
585
624
544
597
614
149
609
332
131
860
114
199
651
121
173
660
46
650
64
547
698
177
173
998
280
455
780
624
469
151
281
292
229
785
802
461
126
10
554
108
6
155
699
665
559
628
592
660
252
767
646
191
601
434
232
270
268
100
936
782
999
724
602
927
357
941
230
773
667
219
396
919
694
408
320
594
232
487
53
1
126
385
568
746
394
769
703
966
293
230
545
596
33
625
713
983
173
323
44
720
322
280
34
214
715
638
182
896
697
233
46
926
970
42
496
339
733
52
639
533
708
796
165
490
191
978
267
892
650
503
240
753
650
546
833
567
170
912
111
183
712
384
724
385
415
741
421
120
561
231
957
997
300
866
39
441
858
807
516
840
798
481
530
508
510
77
586
374
438
520
228
895
579
398
440
158
664
148
215
199
829
390
862
258
795
471
118
743
974
360
682
255
263
262
162
779
265
442
406
303
858
961
945
373
623
891
121
666
337
240
740
585
738
112
159
343
895
95
612
67
109
407
183
400
252
888
87
541
779
555
226
217
191
441
746
493
277
240
905
278
887
185
943
919
481
443
327
614
959
36
521
943
188
335
972
4
118
724
314
434
322
20
292
738
682
627
866
149
2
170
34
148
113
799
170
626
378
691
368
874
142
896
42
82
910
100
282
89
905
880
15
228
404
122
670
30
266
804
371
466
623
716
729
894
514
421
188
215
689
97
765
804
550
962
764
899
936
217
262
511
692
219
444
636
365
108
373
620
597
776
419
271
711
435
960
21
751
808
813
802
856
97
829
347
640
299
597
126
450
743
528
435
940
81
365
925
670
585
137
974
344
831
184
144
675
559
814
907
288
8
637
881
648
678
1
133
123
50
617
723
725
622
575
68
809
800
117
172
259
150
350
311
775
510
232
673
553
414
520
17
440
270
39
722
471
856
99
494
720
856
313
286
815
796
247
390
804
844
609
720
725
583
856
130
293
50
250
446
820
512
443
235
567
945
923
579
725
592
444
622
40
164
361
969
816
861
884
142
862
188
400
301
686
696
608
590
848
615
282
728
342
551
321
173
872
477
75
236
946
572
465
132
39
247
810
798
275
793
363
109
490
768
457
198
986
665
556
506
380
305
459
353
628
155
643
992
864
705
461
5
346
59
914
627
704
396
132
703
857
129
201
937
799
958
144
204
125
967
67
98
0
995
682
371
673
668
317
977
659
426
626
554
511
571
177
710
148
983
277
182
97
63
442
669
327
179
205
190
205
390
973
509
724
259
845
951
582
267
524
43
772
473
208
155
814
953
666
443
195
549
619
958
758
970
507
556
849
761
415
47
66
666
355
258
619
992
424
167
321
803
582
262
961
423
608
542
691
399
344
557
646
355
35
658
433
637
938
649
184
396
57
517
968
679
987
57
45
994
595
485
314
193
472
554
41
942
779
201
569
185
324
381
82
442
746
617
568
578
121
841
605
284
823
855
620
575
362
949
414
506
665
333
598
546
17
965
251
931
555
611
148
589
392
280
910
216
651
210
406
538
243
220
962
969
663
605
741
726
289
269
591
501
243
839
211
741
706
352
814
996
207
963
879
962
791
573
541
182
558
899
992
35
947
564
280
473
508
397
174
697
41
925
82
540
582
918
607
624
924
649
409
905
988
53
362
767
341
2
767
960
174
933
877
532
228
46
699
283
384
688
415
277
285
457
451
956
667
397
345
626
355
972
376
287
912
551
180
958
313
546
694
630
287
551
283
528
583
803
32
965
30
644
917
434
64
25
890
692
967
216
851
91
113
746
645
177
836
91
957
512
54
685
20
212
408
746
741
611
697
187
844
756
574
10
777
863
661
280
38
601
943
458
499
828
798
148
277
518
140
299
789
463
535
268
768
623
266
745
812
225
909
325
893
926
398
772
307
237
769
13
154
845
506
546
983
309
499
288
742
845
19
340
388
641
600
660
465
213
761
12
371
380
894
331
482
480
320
684
52
913
177
996
39
95
144
283
623
27
225
492
218
655
748
580
666
652
620
706
291
540
90
429
897
69
233
488
399
122
820
622
359
11
466
58
285
634
843
254
202
12
442
667
818
713
312
568
751
73
85
481
295
430
535
616
230
871
649
306
998
16
195
519
484
710
81
108
928
678
483
882
449
7
266
61
800
908
803
414
550
546
67
414
22
694
199
751
892
616
529
780
711
13
702
224
937
789
313
292
890
933
20
571
8
181
380
838
408
422
318
837
296
528
882
116
923
482
0
536
451
364
894
453
177
827
64
257
537
40
486
617
396
372
805
3
31
108
452
234
774
73
286
159
520
371
681
216
929
159
995
826
735
312
851
651
492
78
739
901
538
259
753
743
500
27
325
836
96
422
22
305
274
302
599
34
315
820
120
851
114
204
123
334
268
158
68
529
576
59
698
399
854
436
86
722
920
378
7
309
597
650
364
142
285
813
283
392
31
380
259
412
80
302
38
950
925
778
318
902
271
370
662
377
176
924
550
739
981
992
862
328
760
995
337
170
406
787
727
112
428
864
640
889
556
881
802
201
283
642
80
539
469
134
847
606
467
701
211
65
50
401
91
50
510
504
446
930
671
30
284
404
372
161
834
635
372
162
298
404
946
649
392
379
562
737
329
835
258
177
420
913
766
884
301
438
715
693
937
869
514
100
694
376
215
424
184
512
429
461
451
447
512
258
845
22
159
291
936
118
846
341
674
111
159
632
504
407
741
324
291
632
508
655
891
781
779
959
976
998
566
926
206
363
427
990
576
57
384
921
738
307
441
856
814
473
323
352
934
620
924
80
399
25
594
595
687
353
39
470
735
7
479
244
912
308
706
631
939
690
835
880
574
583
580
405
885
163
938
121
53
902
566
223
635
562
301
117
531
763
402
354
421
182
473
21
29
811
552
567
139
623
475
909
643
184
573
939
924
97
600
225
450
708
20
730
933
729
897
883
252
302
272
490
911
441
490
978
806
246
869
425
800
257
632
381
376
664
855
555
606
318
96
16
103
895
719
316
147
735
847
931
846
604
942
466
221
925
580
361
504
783
795
550
825
355
69
445
338
13
210
586
122
364
474
480
330
9
239
48
458
566
361
54
185
416
391
741
186
747
260
113
564
628
993
206
116
646
160
558
579
856
971
450
725
327
271
859
606
954
738
160
393
588
709
632
59
823
641
341
817
833
627
46
58
366
612
683
528
540
937
870
179
827
154
487
114
777
130
457
773
416
590
693
869
240
789
219
136
19
174
226
389
871
977
971
825
282
380
434
942
693
97
177
818
799
424
626
363
861
91
608
620
273
662
481
182
121
865
687
990
788
909
213
987
629
452
284
212
112
18
577
81
979
977
969
202
546
586
11
998
703
904
874
821
416
179
607
197
280
61
482
984
134
38
941
262
302
929
650
795
26
228
227
608
378
578
140
191
917
873
76
373
883
207
620
27
48
117
994
832
920
55
195
561
111
154
39
868
567
227
436
615
705
282
216
280
539
550
258
184
915
610
91
753
237
754
947
692
921
861
157
894
941
873
400
278
564
750
908
960
151
209
458
537
730
621
394
361
114
215
110
718
455
257
881
55
594
7
576
338
67
671
888
70
198
517
553
703
610
610
206
119
404
554
950
911
368
106
470
823
28
88
481
631
523
438
60
685
179
353
693
949
119
920
731
558
830
358
87
257
809
212
792
771
608
359
819
14
767
441
349
229
927
805
757
668
403
831
269
699
330
44
906
156
491
707
760
796
298
262
736
579
387
852
110
74
16
363
774
598
343
602
623
731
169
69
933
837
934
817
191
490
721
922
866
61
2
880
428
927
974
791
63
9
194
870
512
886
594
800
440
873
666
144
908
768
388
284
300
540
198
410
835
441
991
211
193
742
606
90
17
622
275
986
837
619
505
827
682
877
381
195
983
600
464
196
163
819
151
721
832
25
834
559
374
697
63
210
876
73
287
712
162
400
709
637
743
549
275
275
16
758
172
168
724
552
695
794
598
425
418
440
721
630
692
323
337
470
987
748
25
66
278
124
701
223
206
360
384
551
775
386
616
575
484
151
682
991
141
963
12
339
100
628
29
396
148
169
124
445
12
810
961
576
695
346
756
341
153
285
437
137
448
338
561
631
519
946
381
1
80
787
508
505
482
331
214
749
838
442
758
224
463
725
39
338
768
160
817
297
550
899
742
947
39
163
640
723
478
414
149
801
877
334
901
822
952
578
737
10
35
881
650
139
809
666
934
716
487
21
419
767
238
407
16
965
413
613
991
318
602
797
426
377
594
542
943
734
917
442
836
163
849
671
82
691
884
833
632
363
685
696
714
535
413
638
569
690
967
944
549
399
357
173
923
690
260
916
840
873
957
673
610
801
233
871
330
433
76
737
990
690
836
190
171
450
758
792
807
458
295
358
749
945
253
905
839
110
439
516
513
572
935
662
789
418
298
11
872
107
591
480
657
745
442
298
376
887
551
431
971
256
310
412
413
53
968
394
735
797
160
39
509
588
457
53
241
475
609
302
844
328
627
14
911
611
71
220
648
148
250
742
497
132
353
190
988
676
14
138
957
81
89
159
422
155
700
919
117
697
573
402
657
838
646
240
484
252
679
172
176
419
786
246
821
495
536
235
740
626
264
785
663
469
396
494
63
146
732
401
697
383
691
249
63
736
835
871
624
300
303
129
650
193
962
809
149
859
260
13
103
384
826
997
175
412
365
610
134
657
219
140
934
808
930
785
535
178
99
644
239
515
298
99
823
173
243
148
142
719
336
970
452
803
332
465
995
230
856
662
544
586
344
608
774
121
122
318
636
425
788
846
972
36
375
465
71
493
382
582
889
213
133
440
731
820
195
656
296
361
113
338
747
730
254
735
274
102
729
151
839
806
521
954
479
603
116
261
852
296
222
352
995
548
403
375
270
194
241
771
151
732
912
106
124
5
520
103
806
379
122
538
761
296
321
333
451
948
685
613
798
743
554
773
428
787
175
981
143
543
680
454
188
233
211
354
626
119
386
537
129
500
811
235
197
617
453
325
928
276
796
976
105
117
1
146
537
621
513
918
621
518
439
995
759
414
865
744
84
44
946
67
83
99
273
298
689
227
870
230
857
32
563
367
604
785
733
920
877
171
405
495
680
961
923
287
347
584
604
679
343
846
253
317
717
542
67
487
980
288
223
559
592
857
846
225
41
150
342
807
352
467
350
926
449
983
584
986
267
922
20
748
860
777
468
920
370
401
51
912
332
593
462
746
960
716
659
999
236
336
745
206
550
29
80
980
408
559
458
950
328
112
400
43
872
3
179
936
135
322
880
955
260
334
903
884
797
690
994
243
145
376
138
756
63
86
503
361
466
850
138
794
588
251
214
889
894
969
889
88
573
512
764
682
906
171
159
651
507
33
170
924
464
589
595
111
847
685
159
990
122
865
769
230
621
62
239
392
358
511
526
405
352
558
157
83
96
735
488
641
177
97
344
814
218
867
985
962
79
489
204
26
514
215
862
628
799
83
248
70
56
485
747
460
24
475
515
593
26
496
178
428
296
697
381
76
858
150
905
109
7
563
877
638
202
978
764
534
847
376
742
854
724
187
805
241
134
355
848
563
120
918
233
284
121
612
452
991
980
573
926
50
89
325
189
924
236
897
64
848
632
279
905
746
771
956
552
843
896
584
313
360
400
217
514
541
598
293
486
93
508
571
264
435
95
808
225
286
74
482
870
336
434
370
625
996
188
901
7
346
745
588
838
536
814
787
663
581
162
953
411
907
500
434
935
245
113
674
175
165
214
32
120
218
595
519
998
173
711
690
546
354
412
57
803
157
507
943
993
451
953
351
454
89
102
664
68
160
158
338
478
876
792
20
4
398
332
56
852
257
958
624
679
377
950
471
478
52
263
19
3
9
431
659
86
95
679
568
411
612
630
878
78
740
664
596
805
77
384
812
757
129
981
505
179
810
411
505
985
46
611
63
62
908
432
293
641
464
315
43
441
836
625
26
450
721
279
593
190
847
726
905
625
330
966
550
293
551
613
806
188
687
358
863
178
76
354
701
688
25
728
620
336
265
553
331
165
761
479
985
720
113
28
810
722
143
480
18
382
555
465
711
809
648
243
327
555
269
439
820
350
415
84
226
176
759
671
872
358
517
920
165
421
499
669
215
863
219
846
698
748
778
572
916
28
38
387
530
428
626
73
613
73
470
178
960
213
946
491
489
716
762
265
331
905
112
391
339
384
187
69
728
973
993
378
79
460
808
452
898
50
743
201
323
185
281
396
301
163
633
158
165
740
874
249
824
674
648
91
909
74
839
489
830
406
931
710
798
588
340
108
128
54
884
981
103
756
92
61
535
644
157
345
486
389
615
837
460
604
711
725
744
773
486
399
71
55
451
132
306
921
531
486
881
539
740
683
61
642
137
264
726
359
516
527
280
372
769
651
386
514
922
632
161
893
396
587
909
205
444
34
909
230
725
924
855
497
43
178
115
913
842
607
329
970
424
690
669
870
375
887
177
714
757
992
860
894
826
600
313
71
469
287
548
118
9
212
803
99
201
140
353
849
752
947
457
384
802
321
731
240
474
411
145
45
354
473
709
470
685
730
777
886
214
874
774
793
844
49
189
138
344
697
181
579
426
330
94
611
311
550
186
592
31
963
392
251
284
62
192
635
275
432
328
923
823
210
160
541
858
702
177
396
954
124
736
279
27
533
618
219
301
646
498
406
545
880
28
853
254
214
474
242
883
957
887
922
740
966
49
674
336
899
182
870
821
237
434
26
109
868
154
972
331
996
281
403
791
978
325
835
847
861
400
829
593
631
654
597
525
506
307
464
736
341
747
305
980
545
742
650
344
317
497
663
470
638
820
52
682
418
351
202
934
74
409
336
278
576
205
194
700
256
540
110
450
553
288
15
697
636
331
312
717
817
516
845
667
814
616
788
710
963
638
381
284
505
609
671
499
503
111
648
322
169
37
571
722
349
948
554
635
43
482
941
814
183
685
493
677
756
76
356
13
233
685
398
54
19
436
620
74
590
850
146
917
208
827
356
821
952
478
353
226
834
778
778
976
963
849
48
798
51
774
62
88
632
582
4
181
522
353
707
72
377
648
349
107
564
652
741
870
614
812
702
897
253
517
118
709
867
261
310
125
633
878
280
121
117
881
818
32
15
193
722
221
920
792
751
665
564
87
641
556
457
932
82
91
977
871
165
330
380
834
153
69
531
148
797
805
812
436
461
190
102
621
316
133
883
903
154
796
159
991
64
174
183
708
235
847
812
312
278
765
732
473
439
314
159
317
340
6
215
613
358
68
135
778
586
685
241
83
948
529
773
188
162
688
503
454
665
339
821
82
595
720
973
236
769
744
468
71
145
304
0
716
877
782
991
190
902
881
786
1
177
200
655
143
145
502
180
790
358
52
434
408
788
566
222
822
0
197
467
823
31
850
567
98
620
780
573
286
417
204
209
511
123
714
848
362
348
647
955
948
143
72
820
323
983
529
870
792
274
230
563
681
655
984
902
339
17
680
744
850
451
425
808
843
672
105
349
189
195
455
652
270
840
571
976
346
228
630
910
628
570
772
418
928
755
633
980
655
897
120
896
134
765
576
719
781
512
257
158
942
81
508
990
481
114
107
812
909
563
788
794
896
389
593
430
93
48
360
143
999
969
248
392
345
690
915
633
650
214
91
677
730
965
665
292
759
192
632
874
284
255
489
189
204
556
668
238
295
219
556
293
562
47
724
412
507
68
211
500
36
548
536
143
273
322
538
615
824
628
876
835
85
678
163
777
356
633
823
609
70
394
2
230
367
102
983
149
927
612
678
395
446
888
718
114
608
508
422
548
25
173
670
234
326
208
991
445
339
682
989
618
831
882
737
552
246
858
567
605
535
287
854
44
768
98
683
40
497
506
417
665
283
863
973
435
812
868
783
757
507
775
690
652
44
274
484
888
614
774
727
116
574
196
786
869
232
161
585
260
810
526
713
195
599
519
112
724
854
263
560
695
836
21
385
565
141
400
409
296
40
846
882
57
354
163
630
863
671
348
156
955
95
678
178
8
402
263
359
407
31
371
716
356
777
378
981
186
501
388
805
133
285
241
375
162
326
730
309
662
834
730
83
934
832
285
501
567
667
219
706
975
497
794
655
93
918
327
470
348
862
174
54
528
27
478
564
462
255
403
14
248
153
741
200
932
718
312
930
19
599
899
768
712
573
800
15
972
106
423
130
375
109
394
344
54
67
856
232
797
49
874
775
159
745
610
59
249
635
42
870
15
988
151
600
183
418
300
994
51
777
430
364
557
268
808
369
740
732
842
90
47
751
405
611
976
79
398
753
515
305
532
141
862
14
746
656
735
818
52
487
759
982
892
48
345
98
141
56
21
438
432
301
229
966
490
727
129
663
806
386
474
550
369
167
305
464
7
685
981
959
321
115
228
977
766
843
65
456
112
668
358
485
57
349
191
175
111
823
878
990
366
969
163
70
846
793
814
959
365
307
581
49
384
589
127
560
343
483
560
323
513
820
583
107
974
626
360
420
653
135
369
630
627
101
345
770
926
591
991
386
890
213
519
855
720
845
412
926
958
811
150
534
134
929
594
345
779
867
158
158
483
124
238
419
568
100
455
852
966
898
807
736
891
273
102
602
494
848
696
206
423
503
151
438
403
263
889
654
330
927
688
290
647
564
371
0
872
821
375
632
714
709
415
721
592
512
539
728
178
244
969
27
889
416
361
314
570
852
601
474
709
163
850
282
963
998
131
67
249
421
562
114
466
698
138
675
421
742
879
406
774
240
436
493
956
893
227
8
851
217
84
831
846
724
726
721
438
146
165
27
460
834
323
237
442
928
558
467
941
589
205
519
690
987
583
341
339
384
229
324
191
779
395
880
139
664
554
642
72
350
919
183
731
161
742
140
637
419
580
844
919
899
431
725
694
532
278
541
300
583
59
857
560
372
417
740
762
194
940
330
472
629
587
756
941
37
728
421
488
661
323
33
647
243
66
722
42
925
606
434
463
590
737
557
997
707
55
183
6
361
436
531
398
467
979
738
453
218
640
697
766
337
866
69
294
903
500
907
23
732
910
675
4
464
555
974
849
507
355
703
99
311
516
957
420
954
411
458
341
398
823
992
217
522
120
679
669
357
875
983
341
550
767
643
453
905
613
871
642
705
255
587
565
902
556
980
839
591
931
425
579
236
508
70
378
168
71
732
941
693
269
706
660
496
846
694
316
796
827
519
773
603
21
621
649
46
82
953
872
664
985
919
74
935
513
967
942
868
512
729
114
892
213
228
783
288
743
161
81
988
988
421
906
187
894
283
464
269
93
117
269
269
749
749
984
846
519
603
685
746
953
671
751
499
278
649
755
421
0
143
747
334
49
819
482
749
269
424
432
502
693
897
844
892
185
972
691
922
790
575
344
95
487
75
510
220
618
968
265
412
119
718
739
62
261
66
744
399
759
542
339
309
185
479
127
73
729
707
742
990
935
234
416
66
462
934
490
965
392
269
659
688
225
165
393
271
726
867
262
919
107
309
273
806
631
706
440
642
974
526
523
523
260
945
604
530
336
4
158
809
724
536
31
543
73
963
768
800
945
358
98
460
530
19
32
520
107
473
320
827
421
349
982
747
696
45
5
321
353
524
122
77
352
130
540
342
178
125
792
241
758
434
310
438
620
793
328
929
736
449
934
582
947
866
238
977
259
197
296
869
80
756
696
167
665
978
52
956
972
843
551
509
925
572
544
444
309
733
354
855
914
494
60
633
430
830
564
519
144
817
505
383
143
192
871
93
467
58
601
674
104
400
337
772
230
907
138
116
777
339
414
144
284
392
221
634
475
699
600
602
438
425
77
66
301
215
858
122
836
594
372
221
769
638
288
166
481
331
768
458
154
369
442
173
31
534
973
740
341
357
464
812
407
353
186
809
685
732
609
389
476
317
89
862
585
978
843
481
559
717
198
926
242
173
847
316
972
899
559
430
880
139
153
392
288
906
688
200
847
260
65
239
66
729
631
551
92
898
628
83
841
461
985
49
578
900
494
522
360
860
307
171
34
368
857
209
227
925
412
398
412
152
983
550
430
997
59
647
361
713
157
103
194
44
628
105
504
727
915
421
699
91
741
16
840
779
665
836
632
425
908
602
588
918
530
726
532
53
58
239
702
298
772
857
549
874
504
300
919
764
238
339
315
39
358
516
936
80
549
198
724
175
744
934
4
63
192
556
957
680
970
6
950
684
782
506
857
337
247
655
936
79
564
480
22
418
988
651
424
34
544
251
489
851
683
721
130
434
868
631
414
197
156
449
619
526
63
571
555
356
450
247
781
893
279
174
841
921
564
27
13
93
500
686
721
273
881
612
228
436
988
152
866
42
592
373
157
436
407
370
520
639
945
857
857
757
829
696
415
924
230
354
344
540
481
63
335
605
393
945
514
479
574
678
827
242
369
405
773
311
90
444
202
562
776
769
169
809
288
557
212
515
292
980
378
150
142
200
986
53
634
619
784
888
713
443
619
497
790
188
326
35
612
87
26
44
903
237
510
948
575
815
14
79
859
318
870
141
137
147
947
334
537
637
570
474
404
581
15
875
273
405
644
240
53
480
52
831
110
264
996
269
868
350
854
693
965
819
32
218
708
25
621
280
240
596
20
170
456
914
335
814
891
46
849
158
273
643
211
897
49
92
424
634
82
512
262
996
975
558
253
355
463
565
104
618
821
980
171
407
374
344
142
906
67
602
523
344
603
154
842
968
447
657
723
3
931
287
582
97
777
143
253
306
361
453
506
405
819
545
61
68
500
159
84
135
624
908
705
987
718
381
70
969
356
593
760
392
212
318
551
544
714
503
256
677
515
715
2
280
108
545
612
821
29
595
659
579
186
962
44
300
462
464
345
687
643
508
803
781
930
549
837
915
269
235
219
539
491
624
575
605
451
966
321
937
876
282
433
696
690
203
622
921
233
234
18
132
365
186
917
94
585
512
563
36
227
760
190
574
464
838
848
135
12
889
99
320
683
253
796
569
868
722
72
863
529
107
181
622
588
133
857
262
850
683
121
673
254
693
716
172
883
468
937
334
241
85
873
259
53
805
323
600
731
748
90
332
892
816
660
923
300
927
118
923
507
609
266
634
630
548
730
453
114
785
207
927
589
539
603
23
378
997
702
538
420
166
144
1
622
770
51
371
640
347
43
825
513
564
33
747
601
497
946
533
343
63
30
696
762
710
70
698
397
612
344
859
997
631
282
560
444
985
396
91
308
61
903
816
493
917
180
947
637
725
394
87
117
273
872
195
489
863
184
451
118
631
682
129
302
708
60
26
704
879
452
252
436
144
668
78
427
376
392
321
637
539
577
18
554
459
783
355
650
617
102
654
250
194
455
903
724
479
994
999
942
392
698
818
923
189
587
657
349
648
897
243
671
247
326
331
177
465
834
966
947
459
906
88
816
332
52
823
355
51
322
348
249
119
29
670
493
511
937
43
455
508
839
142
463
695
579
88
40
154
653
936
578
490
602
915
586
809
790
30
608
764
287
806
878
397
539
261
544
681
6
950
833
229
827
515
515
333
535
103
708
864
243
5
156
51
435
977
477
502
133
567
11
858
640
799
754
224
623
31
622
911
350
435
786
66
351
725
38
462
705
947
849
99
1
437
975
230
524
138
191
814
735
286
294
515
655
610
153
782
184
495
930
963
478
983
975
228
278
808
532
212
349
346
561
385
102
974
664
210
622
973
875
313
217
728
885
127
931
24
209
356
601
318
916
973
946
444
126
982
450
695
392
545
628
780
413
284
317
113
267
306
898
422
834
112
179
90
647
730
882
104
404
245
936
182
963
627
129
335
814
32
117
714
275
70
259
599
816
408
725
230
296
352
303
673
411
431
657
65
108
967
547
438
231
622
144
839
123
733
574
975
356
642
101
737
911
265
819
591
93
556
363
930
794
82
911
394
271
171
742
133
389
316
604
933
787
882
618
580
938
200
437
856
578
844
968
678
385
592
440
957
432
66
354
391
601
574
374
902
229
741
411
264
781
852
952
590
246
829
354
616
867
691
998
639
583
796
33
379
248
289
459
341
112
649
536
219
568
867
165
561
202
323
565
661
962
975
772
213
827
544
536
120
896
457
244
864
772
837
66
419
865
631
611
918
755
591
328
722
881
10
673
569
238
834
30
741
544
696
155
485
824
400
227
682
520
368
662
483
591
612
54
907
101
947
459
257
292
795
354
384
525
971
221
947
407
682
287
39
714
682
255
787
751
434
26
638
961
376
301
673
692
315
466
501
913
592
855
790
877
873
109
990
806
784
92
578
207
697
575
301
766
595
986
181
537
793
230
24
457
170
266
29
763
825
231
410
817
710
481
454
19
869
498
875
76
260
450
525
936
992
147
587
91
505
14
578
98
264
821
674
525
930
19
222
42
233
86
382
330
657
561
382
618
96
763
67
950
650
279
468
211
770
485
776
675
936
89
393
50
11
147
67
590
905
426
508
559
872
642
645
4
245
304
793
681
627
814
364
262
426
622
670
633
597
109
836
628
260
941
493
665
964
896
473
521
2
86
942
538
329
172
266
282
389
58
417
47
623
686
811
867
353
833
198
621
739
938
758
206
273
207
645
747
603
83
571
381
351
828
652
58
391
988
119
841
661
781
428
781
324
96
386
199
841
773
384
41
8
262
630
340
886
827
382
45
875
781
749
755
375
229
483
908
421
570
820
275
631
366
811
982
670
72
657
220
792
201
99
496
469
169
404
475
382
320
904
12
746
66
352
485
194
318
245
50
573
486
256
260
876
497
227
537
531
267
930
138
179
774
834
795
247
89
352
751
558
16
904
505
723
193
938
72
840
351
628
623
196
430
584
602
715
397
203
769
713
382
101
134
370
899
57
356
920
432
524
509
96
896
107
409
92
103
679
999
133
121
855
356
794
719
698
340
105
917
97
999
594
985
260
77
521
509
115
908
956
156
119
702
201
175
841
578
861
72
333
258
885
805
94
148
218
989
633
611
848
995
866
192
279
228
227
242
775
452
616
912
47
998
945
196
979
273
271
568
173
462
280
559
264
955
845
146
562
868
640
334
349
159
516
853
878
44
66
467
16
994
244
21
481
477
598
705
117
972
137
969
962
563
773
505
443
217
306
820
511
653
660
75
818
540
227
775
329
791
901
904
563
151
123
362
642
191
490
498
985
938
99
781
345
339
179
330
673
641
34
409
282
41
678
242
527
68
161
278
442
900
6
917
562
978
735
756
483
436
471
280
376
930
745
147
389
532
746
764
283
498
994
422
278
204
154
958
225
606
865
728
489
899
206
342
185
985
369
176
849
559
877
903
979
815
36
516
324
313
617
41
185
424
802
387
27
332
337
567
691
919
821
614
781
907
413
31
251
43
414
644
334
746
501
841
870
320
712
106
992
197
599
909
959
67
694
692
655
34
455
461
485
41
866
254
985
178
63
286
94
756
488
119
625
163
386
131
218
6
940
844
213
789
92
552
254
888
865
892
629
986
690
256
417
299
433
244
755
72
524
58
13
233
934
963
838
658
824
815
985
315
957
604
503
364
46
502
249
479
864
619
89
331
419
188
559
697
305
985
949
729
748
465
18
205
572
89
404
515
277
105
828
314
631
581
318
20
575
812
821
754
336
594
422
741
125
196
988
588
651
159
502
955
432
357
189
232
29
711
107
242
489
740
858
405
716
602
703
656
32
577
29
308
562
511
391
605
59
370
127
228
436
311
867
255
868
779
983
448
241
156
881
993
223
292
21
756
116
29
101
424
553
332
115
922
936
703
796
797
787
581
432
42
899
320
430
551
505
307
703
18
269
496
469
758
944
29
464
733
456
93
792
463
370
747
478
87
998
174
827
18
629
893
137
491
785
516
159
762
486
669
878
818
369
293
750
691
730
793
730
399
489
633
769
606
505
602
994
945
949
451
771
605
767
465
688
455
911
245
121
752
929
464
673
321
528
101
449
989
382
944
451
243
22
32
131
996
617
937
759
688
200
352
413
466
943
21
905
761
414
980
235
898
636
642
90
124
69
679
469
13
655
461
97
991
138
528
668
259
288
788
446
558
197
671
549
242
936
668
433
18
480
763
826
130
52
514
534
200
578
439
293
630
814
431
585
239
26
124
709
583
831
702
580
335
949
603
452
597
289
731
443
628
906
92
181
836
542
227
641
100
734
648
171
875
928
183
177
55
649
754
909
340
609
205
676
553
913
124
642
127
183
481
406
123
17
584
368
987
894
588
642
970
137
482
602
289
765
28
685
242
432
949
405
4
324
829
474
8
619
850
132
970
941
691
84
376
194
732
863
386
770
247
376
22
150
664
225
210
327
587
939
725
493
705
769
87
75
72
965
808
331
999
594
902
580
16
307
600
179
835
615
623
984
325
101
684
971
443
305
980
685
31
637
878
254
519
952
659
477
765
907
969
489
43
394
829
542
617
269
579
340
536
294
275
612
601
601
640
115
381
876
450
912
416
816
256
137
944
360
663
339
181
497
636
319
862
357
129
696
408
826
969
204
714
224
605
99
659
975
269
591
842
290
239
512
180
315
891
665
922
674
182
126
487
356
521
778
533
183
780
408
629
93
625
103
248
319
680
762
784
743
449
690
31
711
744
686
561
872
664
204
214
940
749
313
697
469
941
873
520
482
833
701
572
497
688
184
749
753
42
770
59
369
131
446
81
545
503
556
269
682
570
756
391
44
304
707
21
412
810
295
731
550
497
658
564
440
19
582
562
12
962
665
776
165
362
536
136
98
856
912
191
622
899
517
825
395
213
231
622
879
117
329
280
229
889
545
551
363
791
79
797
937
504
761
854
342
545
390
483
278
967
373
729
568
58
414
283
18
124
428
206
33
590
47
227
118
186
337
83
762
881
605
145
232
858
218
652
940
846
69
469
822
315
310
634
345
155
571
559
311
262
266
131
397
272
976
879
678
183
706
362
675
585
570
899
749
707
244
682
28
817
801
106
449
899
999
99
888
873
746
579
816
549
938
717
420
637
401
49
703
569
704
120
812
293
907
894
446
711
236
961
513
97
425
370
126
345
927
465
920
458
410
995
431
952
778
172
176
473
850
268
858
41
42
436
119
578
935
188
17
618
340
812
417
804
312
699
907
267
207
524
423
177
165
979
253
827
185
130
725
667
148
579
178
513
559
6
471
111
102
110
989
753
160
858
483
183
76
745
630
945
614
225
745
715
519
255
620
764
538
664
82
492
915
0
28
487
728
645
765
345
603
710
904
283
813
515
118
859
330
512
227
929
505
55
793
48
376
553
739
483
441
216
343
703
607
520
612
515
543
503
250
715
422
852
994
697
894
234
890
472
82
378
387
108
296
965
61
621
337
51
621
392
65
531
656
111
605
664
906
204
44
696
947
281
435
745
914
224
614
866
707
108
385
864
244
837
503
386
289
748
737
658
6
89
744
756
35
378
303
975
491
132
341
213
77
732
52
127
946
178
453
78
199
627
898
70
681
947
437
401
705
791
856
923
276
380
166
465
99
760
821
722
626
286
64
708
341
536
571
957
386
600
679
147
73
631
6
900
655
937
427
132
524
391
222
711
252
716
891
762
629
242
666
92
178
49
741
98
763
981
152
512
446
491
958
934
660
767
938
871
499
182
990
766
962
453
259
875
969
667
818
537
944
205
725
938
168
555
706
195
713
161
268
854
483
742
606
954
738
167
779
622
921
907
185
33
501
16
659
365
488
853
322
112
294
133
429
315
519
512
947
369
707
742
679
247
607
557
935
505
856
225
16
641
658
93
388
850
326
959
518
793
833
981
617
624
220
36
736
484
30
634
848
143
107
676
363
823
366
693
745
323
118
25
657
559
170
15
956
856
320
884
786
609
151
365
21
917
654
917
53
356
878
986
262
779
164
324
376
0
838
150
847
540
701
933
381
767
856
451
843
298
400
84
418
153
475
945
557
931
636
921
368
524
609
138
297
437
944
339
327
469
551
439
870
320
441
146
563
320
750
989
910
323
568
345
74
167
558
354
464
493
793
38
914
998
409
397
242
778
436
84
651
363
791
943
173
906
973
307
745
708
953
635
801
86
502
481
108
39
432
899
523
915
863
107
686
231
199
487
536
92
633
480
599
37
103
619
682
246
110
309
879
592
679
324
905
441
696
975
365
967
921
17
743
861
81
71
776
120
236
670
513
774
233
760
512
604
431
496
464
785
662
698
109
494
850
749
82
235
118
796
312
653
329
766
932
241
296
40
771
486
51
256
77
160
440
766
190
542
486
18
715
68
453
463
126
216
757
286
430
481
46
318
741
244
685
614
18
183
418
72
706
104
39
873
674
714
499
123
991
369
694
521
920
620
38
34
278
907
544
866
991
836
495
10
508
936
644
218
844
667
800
653
749
251
439
679
514
651
63
221
245
710
929
873
556
632
802
254
808
95
690
448
445
948
107
388
795
388
539
865
242
523
114
764
396
480
679
617
793
961
951
208
81
542
445
390
859
93
137
354
813
717
639
304
933
151
478
538
387
529
565
498
249
200
867
91
199
167
161
785
712
491
214
484
496
240
526
627
425
803
696
35
655
569
674
270
337
515
137
683
468
266
474
427
312
765
634
593
917
133
355
938
44
464
779
848
964
689
192
553
76
951
763
792
948
674
475
788
459
991
276
433
953
615
297
614
884
841
348
77
760
506
483
189
753
828
893
127
717
73
384
281
154
936
341
19
624
627
785
811
909
728
880
398
283
303
548
49
840
425
666
5
780
498
325
845
621
905
607
325
812
242
397
286
905
582
776
491
671
923
515
577
693
85
391
665
809
989
928
497
935
150
556
104
682
130
527
960
3
951
706
532
986
532
303
401
238
805
501
14
9
826
513
566
195
247
846
697
143
394
165
858
862
50
838
219
593
719
676
398
38
109
346
836
171
364
506
465
974
862
643
356
909
702
224
688
617
238
456
557
949
770
142
721
297
995
184
723
166
587
711
21
656
349
216
87
46
280
635
994
800
138
2
659
454
3
466
126
483
717
288
65
35
890
63
678
882
6
652
427
123
768
837
932
738
982
201
940
671
275
432
250
796
132
50
391
916
13
567
649
782
63
441
372
633
141
884
446
145
192
163
81
439
384
796
318
163
402
8
217
921
19
434
569
143
283
845
501
767
922
99
739
901
886
482
487
981
312
135
966
675
894
844
588
167
989
267
795
301
800
477
22
859
831
696
716
539
376
164
62
963
365
520
818
904
117
316
374
688
774
461
151
296
80
222
916
10
573
273
933
998
964
594
48
74
508
226
542
835
940
704
834
166
531
287
698
487
570
933
853
15
714
458
182
100
267
439
550
123
31
32
407
393
141
154
808
983
583
310
924
299
810
29
9
895
24
749
788
515
895
882
964
597
335
460
147
793
313
299
770
548
658
292
26
570
36
794
224
988
266
97
508
733
853
456
441
451
729
982
378
662
506
791
819
301
668
378
438
771
499
68
216
994
836
204
561
59
585
630
295
768
228
873
985
138
876
502
559
97
30
799
417
571
227
414
412
440
64
579
300
159
37
679
37
835
776
690
87
874
911
901
195
682
210
299
365
822
518
656
388
490
374
33
972
57
329
77
854
303
147
528
57
141
58
980
969
51
119
69
308
660
842
534
976
457
533
488
63
225
573
832
388
905
548
688
421
666
775
111
846
429
846
500
109
247
949
779
712
846
650
261
285
811
269
182
387
712
142
434
882
400
345
707
22
895
929
525
256
17
889
833
379
70
481
519
87
459
447
332
821
654
425
462
148
973
662
800
286
243
650
546
966
873
419
623
195
849
739
122
278
943
694
933
795
71
945
320
395
781
275
607
447
747
421
657
760
321
770
13
38
900
835
616
612
498
452
373
662
952
535
554
663
417
999
934
650
91
907
248
216
793
491
708
96
882
2
705
807
649
251
993
261
880
113
940
434
801
991
487
47
243
663
171
422
418
94
961
37
897
721
78
99
503
23
754
340
550
708
513
736
990
920
399
590
431
501
711
321
422
790
616
262
856
152
895
305
41
727
850
187
231
211
732
730
378
96
880
391
207
476
885
802
350
681
417
795
189
548
920
474
921
913
457
690
737
599
364
595
263
979
490
799
772
354
248
873
690
414
514
586
186
182
642
191
345
70
299
842
217
809
170
163
367
126
667
370
280
953
413
555
958
990
620
901
455
758
787
756
57
152
244
536
180
935
8
612
791
953
140
977
570
870
836
704
207
710
51
803
885
116
485
849
19
722
877
25
697
758
464
691
100
858
896
239
202
510
995
904
716
246
725
885
138
545
63
581
851
166
463
837
595
522
10
222
773
132
211
476
491
784
653
439
311
373
407
423
929
446
390
47
304
383
380
966
558
640
724
898
774
153
508
524
261
11
191
592
930
578
389
380
702
207
14
262
571
747
248
676
610
10
722
843
496
220
821
904
149
805
60
84
924
95
34
665
397
817
6
213
206
499
625
551
640
759
950
820
901
795
730
17
883
465
379
873
507
452
511
160
556
86
374
885
983
695
124
921
652
323
804
322
756
972
920
390
212
321
544
607
274
902
738
632
563
193
145
635
629
151
204
692
884
30
577
604
182
804
226
741
204
263
511
548
301
858
660
511
826
180
401
670
980
578
973
994
772
607
152
485
663
534
814
149
604
666
79
610
41
856
12
574
458
83
302
365
661
988
504
847
891
259
641
926
37
837
59
250
147
43
200
498
761
183
606
106
646
709
193
973
879
79
962
885
926
68
254
740
508
84
53
921
827
931
311
999
64
884
181
128
774
460
788
350
5
115
559
33
277
575
618
439
831
508
100
751
683
722
455
602
273
483
409
270
972
735
757
720
479
175
338
308
889
898
754
136
399
666
42
419
520
213
569
430
293
273
437
135
717
991
283
758
842
96
547
45
941
94
726
827
7
922
95
584
372
918
206
457
962
939
65
93
315
732
307
288
514
704
48
267
430
359
352
921
533
115
822
81
87
30
287
345
652
467
588
431
225
428
967
495
898
600
268
737
228
741
772
111
735
307
180
371
540
853
484
445
354
895
720
64
577
712
287
310
696
440
191
803
660
905
372
307
116
358
493
939
484
974
127
49
873
121
142
577
902
761
9
322
726
182
115
489
707
974
641
978
746
864
723
717
928
630
84
592
698
256
27
671
646
690
129
738
846
954
309
94
441
942
716
723
495
132
459
399
489
142
369
404
113
837
947
512
721
747
648
689
468
874
98
714
940
874
835
925
683
261
96
151
251
397
799
16
978
560
103
767
393
936
452
981
262
672
839
273
391
136
128
695
913
573
536
27
604
923
520
805
776
480
764
502
90
439
506
386
468
502
58
851
928
904
489
877
341
653
462
982
112
801
746
86
798
986
807
788
518
378
876
266
411
290
497
207
786
532
672
267
812
611
541
497
391
222
13
41
230
227
26
851
426
213
869
734
43
466
207
903
840
442
93
274
614
791
173
419
678
619
63
862
261
940
269
936
579
166
886
40
425
388
978
249
522
690
174
180
132
939
660
130
261
288
921
729
922
186
741
896
145
818
800
875
819
762
304
734
535
790
275
895
584
215
503
89
352
744
334
346
964
264
572
307
43
907
736
598
875
778
514
58
18
89
910
629
450
813
4
931
283
640
451
371
330
950
520
725
18
93
256
561
113
848
670
882
844
605
180
437
811
596
644
305
196
508
873
815
892
226
616
506
858
595
985
451
201
898
444
607
535
462
90
654
376
574
499
468
403
84
727
213
88
800
944
309
4
899
333
403
289
832
942
812
13
841
583
467
78
572
969
294
266
49
498
412
634
275
905
985
774
874
873
916
930
176
571
643
343
243
875
972
97
198
220
864
230
39
888
736
182
235
666
641
884
634
346
30
710
789
533
682
0
452
366
171
63
939
463
154
83
199
478
957
897
403
369
841
70
53
774
91
460
436
701
158
526
259
578
41
852
311
494
213
873
443
310
957
894
268
645
494
243
492
905
787
362
836
656
939
865
919
998
536
966
236
74
922
507
514
486
469
14
728
36
958
488
995
426
914
153
891
735
285
902
868
442
147
567
322
660
660
75
841
316
292
9
609
42
670
846
422
901
581
172
409
873
806
95
172
357
471
317
54
483
201
455
475
319
747
420
227
645
966
662
157
107
109
798
331
767
977
365
752
52
470
203
316
100
105
756
367
664
987
158
721
193
216
655
354
847
20
67
715
988
908
821
246
370
541
303
650
786
679
46
704
274
454
417
891
106
635
342
647
200
110
589
53
136
339
903
648
296
706
398
299
407
549
749
448
338
765
282
618
511
283
104
267
226
704
107
463
166
153
25
712
685
788
840
714
206
463
492
903
843
305
758
815
42
208
619
996
349
515
334
849
913
501
954
993
388
706
199
357
367
739
639
717
142
967
625
260
716
9
830
693
58
437
923
336
721
253
506
977
314
520
552
32
295
655
828
838
828
712
630
761
534
838
828
108
512
68
477
18
37
84
827
34
265
979
37
318
223
230
147
260
522
458
822
625
981
609
468
361
114
645
991
275
57
284
337
552
506
901
398
399
421
195
481
381
67
88
571
720
216
273
570
592
101
327
36
527
818
286
49
829
769
285
847
256
280
498
760
674
405
10
551
87
423
890
684
137
329
139
620
990
663
731
246
95
901
65
632
638
994
496
859
988
822
530
34
529
961
201
16
186
397
844
12
640
95
318
500
933
366
751
512
720
750
758
730
281
717
770
540
78
865
344
393
801
739
254
574
969
144
424
102
10
782
701
573
401
228
922
60
776
979
206
59
472
148
923
875
337
903
548
775
430
301
838
26
149
383
678
807
855
16
831
367
95
10
118
213
887
617
591
414
85
745
725
150
645
371
454
532
92
94
226
679
981
489
886
991
656
829
972
497
816
50
742
627
50
545
964
463
108
776
996
480
745
489
318
397
434
344
27
849
884
686
69
916
437
425
341
78
89
941
46
723
19
74
151
348
89
722
980
515
220
702
350
962
390
989
683
724
131
857
360
79
232
484
521
3
794
501
443
73
180
943
994
408
118
495
581
354
557
558
11
741
951
292
434
820
676
996
429
506
843
72
50
32
208
119
79
523
642
892
621
235
378
878
877
817
792
29
364
712
88
240
599
917
559
32
982
471
605
891
586
584
188
715
669
254
38
607
829
499
783
563
515
769
419
724
546
534
718
235
913
716
255
847
354
788
223
682
166
843
949
588
221
703
99
356
529
292
81
130
132
929
871
365
252
784
178
367
694
0
626
201
585
987
656
525
243
513
820
526
771
791
874
799
866
149
9
259
546
879
956
764
624
236
952
59
672
731
114
845
302
851
769
121
284
739
138
420
361
486
835
622
85
604
23
382
698
359
821
217
970
423
218
273
473
967
744
107
180
484
467
723
771
714
726
95
828
183
226
594
28
682
386
634
242
882
953
110
184
249
949
908
439
34
606
137
506
744
630
27
520
98
632
889
496
771
488
279
590
351
824
340
177
809
403
781
837
389
159
710
238
255
50
394
620
438
511
146
452
325
391
258
837
498
56
445
399
962
495
316
248
398
733
477
1
998
999
225
73
664
776
308
0
867
81
248
188
236
649
803
687
355
531
250
576
221
228
371
168
595
0
386
321
851
673
97
457
447
178
318
44
517
244
281
333
900
207
593
70
596
123
997
695
776
219
345
311
275
975
219
872
344
979
504
771
539
794
395
566
664
825
716
783
993
179
188
455
428
618
304
398
320
956
136
326
781
316
918
840
306
631
465
390
251
98
138
524
768
690
411
968
735
820
595
321
911
466
266
676
329
233
590
302
54
600
45
496
796
708
178
888
175
749
83
273
306
661
817
994
202
19
746
131
99
545
178
980
225
205
317
367
867
980
685
617
618
340
809
570
221
50
963
787
896
877
917
849
800
750
69
331
451
835
847
234
631
954
130
527
138
173
937
209
686
434
922
678
512
495
103
914
250
231
561
898
883
356
762
281
895
955
434
594
653
649
845
645
148
571
935
789
46
628
887
114
969
488
346
489
422
246
943
823
859
879
192
465
902
289
203
403
552
848
92
338
392
811
306
907
397
608
158
91
248
284
956
165
792
530
905
43
539
966
315
836
323
123
158
525
643
224
237
976
393
352
351
209
383
333
462
194
884
598
404
374
913
593
453
43
880
987
472
362
870
451
351
44
957
39
430
17
101
698
360
439
699
787
928
139
515
184
650
205
250
100
311
965
368
559
145
857
473
715
65
135
755
404
972
711
788
306
702
6
535
487
215
613
253
940
693
771
602
181
345
201
327
560
463
666
268
36
212
61
653
807
959
310
136
750
0
701
782
396
280
941
822
505
668
703
421
511
845
879
399
891
528
826
324
954
704
938
731
296
300
906
624
720
461
860
68
993
794
861
207
60
379
19
321
336
491
504
46
469
448
77
99
474
136
230
642
738
333
913
542
592
723
82
124
219
938
723
14
839
727
883
314
396
824
695
502
748
868
966
882
430
8
4
428
26
898
671
399
894
113
274
233
680
649
973
113
473
520
595
616
958
167
136
252
691
66
330
125
741
538
766
727
151
641
378
518
455
290
127
462
230
925
788
843
379
795
990
476
65
253
827
133
581
350
119
850
131
710
708
617
685
90
973
875
404
266
483
828
272
559
488
796
537
434
210
266
440
893
380
527
702
659
504
985
306
928
780
5
551
658
70
43
362
947
787
85
183
637
888
299
515
790
835
805
434
725
384
701
267
90
454
749
48
106
574
592
307
327
841
331
767
35
799
44
999
741
349
988
440
411
843
495
345
122
480
709
610
262
832
357
534
190
856
468
133
324
220
593
693
698
962
970
970
271
822
187
993
811
615
275
702
53
500
830
771
638
109
748
31
923
884
834
951
224
84
389
536
570
730
813
361
127
866
203
151
290
830
755
167
439
501
913
539
353
881
443
418
399
58
214
631
511
754
360
646
681
772
952
862
833
995
870
362
536
411
931
451
514
629
540
928
171
40
249
351
670
826
42
111
553
642
860
612
187
701
191
7
879
81
642
372
342
246
429
615
960
20
211
292
194
119
110
350
120
681
114
559
837
338
882
451
749
877
671
48
787
7
942
385
144
84
876
902
981
50
284
919
326
170
725
499
445
108
187
606
841
423
488
196
988
320
778
840
7
129
480
1
809
936
687
915
960
743
392
699
425
604
62
787
209
462
827
847
478
321
240
721
342
614
460
509
509
743
486
975
905
780
55
91
95
59
755
813
601
880
773
201
392
165
996
234
781
26
811
237
629
217
876
167
964
20
888
730
697
34
355
251
301
751
238
916
135
17
668
923
451
548
480
501
747
873
464
521
126
989
112
70
441
836
608
504
466
919
502
675
587
424
864
479
674
435
822
8
436
538
351
974
134
392
983
825
574
586
482
831
248
235
220
914
779
578
315
706
435
986
825
177
851
648
949
237
201
792
845
210
617
565
216
65
453
143
576
494
739
445
3
994
57
912
75
103
611
396
821
473
705
446
508
532
666
173
942
665
330
682
940
444
318
106
314
197
718
252
949
422
361
669
14
954
64
63
309
709
144
462
403
887
179
145
704
547
303
415
2
664
76
836
939
228
310
486
4
336
375
893
31
179
423
819
618
823
45
141
541
236
746
514
819
859
654
951
282
135
371
242
650
889
462
996
6
756
547
93
824
617
185
165
154
908
819
839
389
534
307
397
997
973
190
402
874
655
446
780
862
982
936
87
888
524
895
2
26
43
694
621
920
77
682
98
987
906
363
714
665
459
347
985
279
675
137
269
383
309
775
500
789
233
85
717
600
186
180
194
432
541
878
166
934
658
912
141
932
840
45
815
95
154
481
558
239
20
617
51
175
24
725
738
982
565
279
557
472
779
671
789
726
882
483
315
996
742
489
422
290
467
127
225
673
311
437
844
868
922
642
276
313
507
224
810
208
350
393
63
141
157
442
981
759
204
140
446
652
541
861
809
197
586
837
190
514
542
220
670
636
963
791
301
580
64
986
268
74
520
609
82
359
103
31
52
971
890
972
964
718
960
209
680
388
856
909
248
621
221
805
907
314
529
332
643
567
817
692
100
828
36
449
904
304
925
906
347
598
800
999
511
930
959
21
938
453
688
897
313
946
290
401
517
335
277
417
439
950
233
360
126
993
730
586
579
875
946
65
902
171
973
943
347
772
317
716
716
129
780
141
891
472
959
773
822
601
617
410
740
175
175
910
778
751
949
997
16
422
365
585
737
615
759
210
696
372
653
307
307
659
649
613
139
851
485
964
746
531
478
947
135
846
639
841
92
187
117
531
926
806
334
849
7
523
960
435
485
896
872
197
968
203
336
833
719
215
950
347
86
849
595
571
3
370
559
426
701
690
46
193
146
144
109
323
248
126
95
99
38
223
888
754
549
729
992
671
652
46
816
245
601
279
35
767
502
790
82
705
343
338
271
932
265
264
633
204
361
883
808
621
437
28
785
279
524
590
967
953
69
823
955
570
623
434
246
375
680
879
777
611
379
804
543
642
25
202
286
737
927
692
56
801
76
565
442
456
519
347
807
416
850
118
309
432
242
205
950
607
943
850
286
665
119
280
804
694
717
909
434
184
516
95
345
79
456
757
725
690
723
731
24
449
916
324
878
402
873
584
71
816
262
853
468
724
68
484
440
135
609
363
427
785
985
673
203
12
715
555
868
72
925
358
924
334
787
812
867
106
682
441
329
704
880
453
131
702
358
644
52
374
819
516
680
725
882
630
172
38
63
340
412
791
392
824
302
808
471
790
370
623
737
748
583
619
522
353
431
541
955
413
642
603
152
928
149
304
33
904
643
369
89
976
198
298
420
20
4
817
590
171
455
395
879
834
657
563
162
805
410
137
625
913
486
844
127
786
73
47
305
366
523
442
616
761
966
934
709
151
90
167
345
99
748
829
738
581
449
569
281
776
4
583
885
646
18
399
919
670
412
547
985
523
146
258
755
782
742
862
353
549
190
499
301
640
464
366
899
767
413
552
508
334
248
13
781
773
311
467
66
786
187
839
423
86
80
653
184
827
360
602
29
126
23
159
527
490
381
16
89
536
709
777
910
738
833
531
106
450
798
656
785
215
76
517
56
965
634
707
807
23
158
667
650
893
330
333
588
957
579
18
132
118
721
188
447
502
148
906
809
601
403
369
530
834
320
404
313
13
548
421
140
321
510
364
606
548
413
560
413
498
569
93
341
50
692
370
326
584
864
964
708
595
741
922
206
756
845
956
840
747
894
470
188
488
245
122
188
609
292
296
367
31
204
272
328
571
926
464
226
738
751
795
534
191
119
625
521
397
318
982
635
951
953
571
13
48
919
395
325
677
512
683
582
934
971
469
134
997
478
948
196
896
934
375
382
949
408
197
323
516
240
601
998
932
24
559
757
587
902
815
62
169
783
751
914
307
267
163
955
546
743
483
420
730
962
318
736
963
59
997
244
550
883
2
529
566
19
146
797
657
838
73
926
401
703
941
278
2
632
751
353
84
187
36
622
756
787
892
2
399
551
652
895
102
138
836
211
682
706
120
220
566
252
614
686
254
732
802
897
590
56
914
912
828
870
339
244
373
51
269
885
492
397
285
919
190
814
346
486
169
923
279
955
154
957
99
975
980
669
811
357
82
177
387
838
39
479
890
339
147
989
87
799
458
782
677
146
468
504
669
627
295
819
150
147
138
715
170
960
211
576
545
407
644
796
234
63
271
420
881
827
335
887
861
807
820
846
819
521
991
810
745
874
601
293
98
689
591
762
391
717
376
837
329
447
693
717
551
980
32
436
736
417
29
447
637
982
267
211
633
702
926
561
451
240
936
417
160
170
805
782
934
885
154
782
796
887
83
876
839
223
154
22
265
789
91
124
109
33
976
64
82
466
512
271
834
407
517
377
996
690
542
536
684
962
812
337
591
445
833
888
132
127
963
594
194
739
486
510
202
737
994
728
900
217
211
910
734
527
311
496
815
946
529
442
813
75
337
135
108
565
194
155
44
625
433
685
156
883
739
797
586
622
629
8
957
780
558
26
11
253
601
25
733
171
207
778
517
490
102
438
157
78
774
200
777
978
503
378
66
72
734
829
169
169
298
553
26
263
436
440
913
884
249
383
736
769
784
970
45
171
24
652
308
387
852
552
87
817
410
827
149
775
246
703
586
227
95
178
120
53
233
483
173
427
998
891
781
674
49
643
724
761
364
552
770
756
775
322
184
680
703
306
999
280
491
140
166
7
102
31
52
233
144
695
238
407
79
673
297
904
648
410
450
771
469
71
120
503
602
653
879
76
58
244
609
996
556
607
173
210
364
299
734
695
873
761
885
342
119
911
731
828
848
324
469
641
283
789
8
740
137
404
420
740
430
773
416
147
333
14
669
492
511
854
940
269
367
486
213
127
184
304
593
207
984
999
985
919
256
362
336
903
536
172
985
114
865
115
195
986
250
754
75
44
503
734
23
529
353
391
700
929
362
413
698
324
952
230
429
456
816
394
310
993
839
942
533
403
1
101
431
739
998
963
617
99
114
782
32
607
388
830
529
970
492
126
2
44
599
793
317
556
878
939
98
202
415
382
860
583
311
119
978
282
32
831
786
694
445
143
168
332
824
292
328
189
754
42
72
620
295
838
630
767
679
793
605
852
469
803
362
174
219
139
818
752
88
431
761
715
571
168
42
947
816
703
9
226
675
396
270
636
267
389
346
38
443
974
881
683
453
360
48
546
489
24
13
597
106
82
835
13
164
965
385
254
529
171
224
552
798
831
389
674
883
708
768
602
63
921
358
463
641
179
240
725
344
98
386
651
327
491
0
422
1
980
7
594
387
76
119
782
455
591
145
242
90
584
623
830
89
444
960
605
85
384
409
698
187
499
274
256
273
54
74
963
57
451
975
253
49
295
515
374
701
868
156
582
69
598
966
886
652
737
438
942
952
506
521
767
936
895
20
680
516
476
610
420
693
231
985
185
412
95
114
655
208
317
364
635
243
525
316
125
943
304
643
312
946
232
11
53
712
367
635
878
779
156
619
700
584
295
133
737
149
956
914
827
789
450
217
922
770
857
4
879
680
752
237
745
527
145
124
492
518
755
545
658
887
579
674
262
94
261
614
257
442
195
667
9
372
133
479
825
403
707
189
556
128
602
563
444
39
719
807
235
713
931
893
105
810
894
138
785
451
635
760
786
174
686
783
449
241
304
654
277
698
659
861
684
181
279
645
14
291
767
396
378
523
910
638
795
704
727
657
21
110
778
889
112
114
567
330
258
655
575
332
591
611
492
371
933
855
314
650
183
905
630
924
590
799
927
859
402
31
642
711
977
907
907
980
49
150
690
445
108
984
342
728
333
153
864
844
910
610
61
253
261
846
634
753
120
572
130
858
226
383
172
281
136
666
497
880
839
891
97
297
267
570
429
447
768
611
183
748
174
960
132
185
190
288
103
675
528
60
115
440
105
757
521
759
451
680
775
537
589
694
49
407
670
995
928
696
588
876
634
267
8
979
24
517
593
564
826
186
648
286
489
469
512
233
113
293
790
628
657
165
651
678
761
788
498
836
294
581
676
362
455
504
137
56
20
378
203
908
917
575
624
35
726
574
760
773
290
506
593
217
265
36
175
635
127
221
103
806
569
418
585
52
268
126
133
821
373
189
2
645
397
966
897
879
961
61
544
461
112
298
959
233
441
615
583
641
825
919
820
736
228
181
611
434
799
117
706
883
937
113
354
399
235
833
41
269
440
366
159
29
358
68
155
319
893
335
219
130
562
153
319
633
968
146
62
358
163
879
141
847
281
618
638
427
132
619
336
667
700
32
826
810
429
235
102
42
242
875
821
509
371
33
126
641
126
276
512
417
916
544
32
80
98
154
312
319
342
606
110
426
231
400
798
624
632
924
927
169
643
314
540
887
236
887
610
636
900
119
790
101
100
410
949
827
947
547
552
646
953
190
466
902
352
444
436
575
111
202
82
526
619
104
572
580
708
661
937
830
808
160
592
162
469
181
817
181
637
264
674
500
463
794
67
154
877
865
912
192
612
810
883
525
54
93
294
666
114
327
745
365
134
545
159
483
715
529
862
248
628
925
56
992
257
724
569
928
852
624
601
7
138
72
316
512
508
19
14
685
583
239
490
114
210
578
903
751
904
952
41
762
123
330
552
242
320
914
700
893
716
756
197
418
371
633
751
165
224
735
102
646
762
937
495
224
407
669
726
290
589
479
976
864
450
453
748
593
348
105
891
770
416
107
324
836
689
858
429
580
907
525
541
911
287
373
286
562
665
944
700
23
515
231
539
521
925
515
951
580
515
645
721
657
683
328
279
683
322
962
976
457
443
980
57
840
895
425
975
104
528
503
925
153
861
543
340
930
782
946
381
426
740
883
620
461
367
923
59
686
966
359
724
355
673
494
166
199
928
680
298
913
753
519
921
892
454
981
778
200
670
959
331
468
559
189
582
504
202
983
909
628
66
277
955
172
435
189
7
104
174
540
92
287
873
138
696
795
18
114
407
644
612
728
543
193
216
95
249
404
935
357
839
491
120
184
365
93
278
653
322
84
57
930
932
749
927
472
310
688
621
559
471
270
321
508
612
636
735
426
22
977
740
834
795
158
76
902
508
518
609
359
802
824
464
844
351
914
683
14
368
578
155
966
68
643
595
967
100
246
52
895
258
144
714
636
212
42
495
508
86
372
977
796
324
455
581
849
41
147
878
593
200
769
145
246
872
705
338
778
771
696
710
310
560
921
898
552
740
447
300
446
791
967
466
862
859
754
559
849
363
625
619
422
969
188
441
212
403
291
179
182
291
934
402
28
896
104
192
70
695
145
990
640
343
588
865
395
97
733
547
205
406
224
34
772
666
670
186
38
445
515
915
451
280
173
731
336
302
605
929
533
753
382
900
194
508
219
339
790
171
558
962
781
249
706
529
117
941
102
577
738
64
454
553
46
274
748
94
571
410
361
800
314
18
818
882
48
461
738
32
126
873
712
625
813
654
43
195
494
327
259
81
970
739
53
280
461
397
779
334
215
569
249
184
610
522
447
324
772
665
57
584
856
604
238
654
263
64
498
916
862
550
693
778
44
426
169
249
599
575
45
602
54
686
122
487
446
424
696
625
285
453
324
530
420
549
11
502
915
288
960
28
741
609
950
133
202
810
942
565
626
830
197
512
119
462
313
100
35
828
484
223
170
588
359
755
10
273
665
258
580
803
779
874
436
752
308
757
867
794
915
838
792
795
861
819
538
573
337
446
544
619
411
268
131
988
230
899
652
118
424
901
379
892
342
882
745
942
296
480
635
587
533
623
94
359
772
741
737
558
847
899
358
493
373
100
551
439
971
134
481
187
295
292
765
397
232
763
969
967
493
708
905
408
847
205
641
286
300
908
932
240
815
434
116
552
444
340
890
188
358
237
211
136
497
583
791
967
480
998
320
460
951
936
966
291
484
618
379
734
338
673
35
726
941
229
788
588
512
283
981
302
826
980
252
693
787
659
456
73
559
704
572
859
512
806
751
273
425
563
310
115
814
83
746
235
606
122
959
60
858
302
700
61
267
510
712
709
321
599
269
959
278
432
866
674
189
278
533
908
62
151
860
384
741
719
502
343
137
199
758
607
932
9
893
306
487
227
765
908
347
712
809
734
738
519
775
201
655
745
607
892
689
730
203
979
926
46
199
125
230
415
241
471
874
405
990
415
881
320
828
152
558
337
422
66
128
860
698
867
223
49
735
902
443
925
377
55
574
20
625
661
139
23
686
492
871
964
203
584
439
22
93
106
226
846
296
376
634
610
237
527
682
629
124
75
471
523
266
722
207
220
29
80
636
658
163
345
157
199
479
649
59
178
134
79
727
819
741
822
506
255
260
872
88
390
318
973
539
596
161
92
102
445
356
160
994
377
732
624
976
977
124
478
744
933
223
112
898
651
87
408
602
967
454
609
194
854
275
371
3
86
444
516
804
297
383
522
161
984
994
641
300
376
872
362
360
901
145
545
99
824
726
405
120
681
19
881
300
894
119
331
983
426
452
771
447
442
355
655
535
990
808
589
189
13
734
897
76
380
701
395
558
242
646
261
555
917
351
670
68
412
72
347
852
568
827
73
961
240
341
870
946
219
30
657
922
871
472
532
341
287
169
364
571
224
677
973
647
603
747
204
677
656
25
6
235
681
36
172
84
623
50
154
286
637
399
491
485
801
456
57
571
824
34
833
503
669
838
851
130
389
100
206
523
382
432
153
110
90
449
15
945
530
591
56
26
80
517
737
622
765
179
588
71
881
71
741
341
629
880
921
93
112
85
357
681
328
252
903
51
852
148
871
27
960
942
229
619
158
759
834
686
960
306
367
384
975
54
316
346
781
370
548
321
846
234
559
501
891
636
110
350
181
144
184
649
550
838
43
889
697
129
896
681
311
781
396
3
274
883
510
13
642
259
843
821
488
634
292
633
829
831
857
152
604
32
955
244
675
246
705
962
277
31
100
472
858
771
545
278
501
53
185
84
420
79
216
700
13
629
797
342
517
205
922
41
149
115
119
800
484
483
933
751
350
837
27
633
984
46
71
61
319
543
153
810
736
799
242
775
366
684
225
409
463
337
680
292
523
656
895
437
793
362
801
736
35
967
106
146
278
551
355
63
512
790
767
183
997
962
365
211
26
333
817
556
916
818
565
607
465
594
88
16
534
256
673
758
626
642
665
676
325
787
641
25
575
772
926
878
783
590
261
718
473
446
45
529
850
824
743
492
852
8
354
71
824
619
986
58
846
953
976
54
211
57
310
581
907
89
834
190
285
806
648
234
730
945
612
681
539
927
863
493
373
579
995
55
202
936
272
570
654
159
137
117
684
35
546
727
441
459
122
283
995
86
431
479
117
351
280
339
416
303
603
697
809
2
794
836
830
259
954
146
798
398
792
80
378
470
258
380
261
195
235
933
591
269
558
830
35
668
449
260
843
342
373
233
251
110
620
162
205
709
248
403
987
171
206
82
392
610
262
399
341
152
0
707
790
852
480
916
472
285
838
802
309
237
97
485
876
344
419
217
134
788
638
127
585
307
988
759
542
656
208
265
548
647
279
153
277
552
584
126
311
897
224
701
12
44
153
559
358
498
58
928
919
710
697
846
826
669
918
782
267
857
287
856
18
935
45
800
645
61
177
106
483
404
891
421
643
734
212
345
29
370
915
616
262
713
178
25
993
888
712
567
386
361
706
37
175
352
94
460
435
43
210
738
452
614
4
656
333
932
258
50
498
66
173
303
520
114
104
98
22
938
412
546
801
249
34
395
847
880
302
890
943
704
697
837
479
349
898
705
510
661
744
826
154
912
15
17
795
44
465
927
902
844
494
868
888
61
663
950
305
54
741
446
301
607
382
115
947
775
671
26
488
875
8
217
679
562
426
545
504
939
441
629
884
115
281
575
323
237
638
734
979
513
90
219
238
317
937
927
674
202
17
614
255
857
976
712
253
374
975
12
238
102
102
10
918
361
418
598
512
323
537
49
610
551
326
674
159
39
294
577
446
731
347
947
708
761
137
236
13
999
979
250
519
501
840
534
679
832
954
370
768
242
57
201
720
226
481
253
480
787
213
452
818
565
394
867
822
696
37
528
443
124
696
672
48
799
581
218
644
24
608
813
266
801
14
275
96
841
925
405
426
527
680
443
988
809
705
184
976
508
948
737
972
922
422
484
989
45
371
477
815
915
378
95
734
697
769
115
450
30
103
158
126
22
742
424
177
236
244
475
743
458
370
496
679
610
369
925
262
299
699
98
343
255
209
642
263
939
115
32
426
762
836
797
33
208
292
402
339
467
126
808
188
987
207
111
681
959
274
394
660
809
442
699
780
576
615
917
513
342
123
508
897
244
50
954
986
312
880
848
260
902
530
530
647
189
325
147
563
114
761
530
333
765
664
416
113
987
543
595
972
119
989
731
250
2
36
744
497
115
568
219
664
472
842
565
367
275
947
783
461
407
508
59
62
276
887
506
936
422
235
225
555
520
236
775
691
491
567
845
371
789
70
316
887
140
710
565
82
517
824
30
538
990
901
257
245
219
948
480
863
875
955
522
373
578
538
6
217
971
842
240
792
663
969
679
230
740
443
815
455
829
30
747
402
116
936
228
766
804
950
829
89
241
485
240
505
279
261
624
729
713
799
618
901
10
147
856
107
237
200
682
780
763
133
413
150
643
60
708
116
420
215
767
766
187
406
925
512
10
449
153
262
322
901
350
161
320
733
907
290
968
399
456
988
843
806
782
785
314
323
451
382
468
412
972
659
204
578
131
232
5
486
49
815
67
900
309
975
578
974
230
541
921
791
58
743
177
670
422
816
354
767
812
539
77
722
660
680
175
534
854
859
24
970
288
873
608
14
262
904
954
301
33
163
369
932
299
666
225
662
389
598
223
220
220
200
209
784
775
501
808
579
707
51
795
211
119
121
947
836
96
907
490
839
974
366
229
961
506
304
903
449
744
699
968
139
76
141
934
179
812
624
601
792
333
593
742
309
377
440
771
172
879
793
139
446
434
904
305
252
547
417
513
60
379
836
890
211
905
859
855
618
209
274
5
523
17
381
322
34
410
730
192
85
859
858
258
496
645
768
413
720
596
434
242
95
591
829
574
117
693
756
688
69
4
591
58
912
566
506
489
612
857
301
466
661
828
883
755
68
204
630
391
339
769
198
202
774
239
840
984
185
885
688
323
206
153
30
267
969
788
921
91
721
149
677
982
834
758
692
487
326
864
248
436
726
378
112
976
233
630
869
340
250
33
136
918
954
210
482
945
663
754
5
754
669
13
570
373
171
490
730
404
435
795
206
169
853
331
693
842
134
383
955
595
630
647
132
602
980
108
63
146
240
697
262
570
808
219
816
692
185
789
644
480
171
480
687
534
775
411
70
991
90
110
357
286
266
7
450
884
539
382
257
552
318
72
442
534
986
306
610
750
245
639
160
242
842
331
0
648
595
630
816
410
271
281
487
653
14
360
278
750
776
138
188
581
23
798
842
702
627
159
540
122
878
147
672
351
803
891
624
217
115
820
187
705
149
548
105
719
319
524
546
157
567
646
76
270
681
423
278
610
712
13
363
540
106
437
734
199
222
853
629
914
118
487
496
355
863
191
943
825
206
510
159
475
796
362
624
721
235
51
950
819
35
303
647
164
566
101
745
656
985
852
506
292
233
915
112
761
249
531
566
792
741
569
169
415
872
408
846
152
798
970
208
11
55
477
18
138
43
243
277
553
501
399
263
618
58
276
936
916
721
393
494
735
65
719
294
51
111
615
197
109
715
955
417
944
772
135
517
8
335
673
234
115
271
170
936
670
8
993
999
932
708
289
679
531
712
888
355
442
605
864
269
461
149
923
277
974
604
664
126
675
986
96
228
484
69
992
30
907
574
942
591
23
449
998
371
255
187
365
150
387
271
797
382
268
279
450
615
263
446
420
954
148
116
509
684
678
112
445
680
176
175
130
833
413
174
435
640
231
447
702
863
71
44
445
971
87
946
748
166
687
30
394
891
653
509
42
140
654
219
840
370
617
294
481
757
710
618
51
872
601
378
604
695
942
900
648
275
273
325
840
707
190
944
840
322
699
273
188
277
222
823
161
709
853
501
972
797
247
484
513
357
838
76
144
26
923
37
268
46
406
177
155
441
219
823
416
865
719
869
997
863
503
889
682
398
496
485
698
794
157
866
348
788
241
177
844
961
107
560
930
504
663
287
872
378
581
903
121
742
652
83
403
368
680
3
520
88
368
166
235
339
349
26
83
701
325
678
215
792
454
434
981
946
457
921
451
913
560
561
279
737
624
468
701
980
513
856
833
695
340
144
84
887
897
461
54
291
643
219
408
403
664
800
280
964
480
165
77
191
39
877
497
620
636
727
310
457
286
335
370
493
590
346
92
338
117
285
448
846
34
978
161
897
560
386
117
31
917
938
457
271
942
928
360
45
547
284
785
313
184
413
882
303
64
432
958
793
656
637
459
279
994
470
78
664
978
798
450
975
10
394
671
420
241
254
548
356
591
905
117
829
179
352
137
540
555
782
279
590
62
221
744
38
575
60
901
790
288
152
592
292
191
932
648
501
538
456
361
847
658
360
291
104
213
717
569
978
913
205
476
200
797
68
323
444
286
126
366
415
73
443
554
30
775
119
916
756
350
546
162
285
0
950
169
727
517
194
137
44
39
15
627
833
977
565
375
633
669
566
255
16
703
288
491
137
829
330
491
804
337
655
854
791
407
67
832
172
650
756
607
38
707
797
915
186
86
74
570
712
301
806
880
669
690
321
783
286
971
756
144
804
130
356
355
175
237
593
981
101
703
364
110
214
110
93
231
87
957
521
309
271
850
399
977
365
615
494
443
997
905
836
720
701
394
497
722
701
696
259
252
379
284
986
457
284
74
741
683
373
5
57
565
44
399
829
604
13
555
874
82
498
723
954
514
618
795
958
979
225
294
654
490
664
963
201
696
362
707
289
180
441
147
247
352
461
847
595
972
518
631
426
668
912
273
340
229
798
117
86
913
263
370
93
844
145
306
307
811
170
736
866
877
967
883
56
644
633
637
471
672
907
389
366
721
717
520
875
65
453
237
497
516
366
416
124
233
657
942
110
646
48
870
164
208
43
671
701
738
388
24
535
308
219
147
167
911
340
898
342
922
516
434
8
792
501
671
867
591
584
354
96
382
654
657
37
225
999
630
113
399
551
525
334
512
722
335
726
791
579
406
310
356
268
504
872
59
940
239
909
988
979
524
496
511
988
58
706
417
24
829
305
768
225
607
649
437
453
130
755
648
240
966
451
431
663
532
851
754
91
915
458
621
392
733
646
896
503
167
216
602
580
617
447
801
369
326
647
311
31
995
127
756
752
450
218
727
87
147
937
174
751
441
374
176
44
202
398
86
752
704
820
821
444
121
494
638
82
538
650
420
613
319
725
148
772
794
912
826
91
294
601
658
167
762
694
744
621
462
874
336
655
754
563
765
634
523
60
707
608
938
686
670
858
645
176
411
615
641
522
188
833
265
295
594
311
68
669
356
745
278
322
341
665
936
403
726
679
981
231
176
82
138
172
656
795
579
314
265
406
564
26
167
70
703
330
326
932
441
384
613
259
972
36
946
881
831
405
596
186
760
847
40
294
106
634
967
321
175
491
288
731
668
520
78
690
957
884
941
768
666
307
130
987
413
144
303
144
795
636
555
462
812
137
962
684
408
667
505
648
266
740
860
599
554
206
57
528
555
126
317
948
580
140
659
600
303
475
938
679
233
156
894
354
308
927
230
769
377
539
253
826
433
364
778
178
279
378
749
878
997
432
389
430
7
833
17
773
600
941
53
887
556
533
324
596
515
428
158
541
789
582
785
86
206
378
375
453
790
646
879
205
639
202
458
577
95
133
658
490
421
419
787
637
912
745
955
116
158
122
951
813
366
456
912
911
651
344
572
217
758
966
514
148
290
239
245
200
167
904
454
829
276
262
547
488
87
80
613
205
300
887
292
787
87
811
581
637
592
317
209
403
526
760
607
770
828
47
755
379
799
173
444
688
986
740
782
254
949
440
336
442
80
339
700
515
587
461
955
576
866
936
812
867
852
962
997
584
438
128
104
658
233
553
567
377
684
119
510
116
327
986
950
578
844
902
864
516
303
975
569
263
629
841
464
829
906
747
557
258
781
525
99
668
480
111
58
234
797
171
279
839
993
518
963
430
145
280
115
106
442
25
144
106
292
524
678
874
832
195
789
829
823
187
583
390
274
96
124
264
246
774
702
159
216
869
830
118
613
378
163
778
74
11
92
799
25
550
762
547
764
816
234
290
868
346
374
971
139
643
16
980
489
335
980
507
495
127
208
51
32
916
298
347
303
493
597
31
876
192
352
99
365
672
676
255
728
32
123
552
901
913
211
791
883
988
795
338
147
649
91
570
267
777
422
449
802
948
900
924
832
260
118
429
615
788
969
975
798
675
297
389
961
713
165
582
867
572
973
870
598
23
10
993
589
71
652
722
171
993
101
240
113
744
709
156
194
80
921
289
645
323
14
800
14
987
352
474
897
79
706
121
105
174
458
117
579
755
233
109
549
735
389
609
414
206
897
918
4
684
843
772
405
126
189
554
47
234
345
641
816
955
256
315
386
785
213
538
937
483
717
383
317
8
39
931
90
356
582
453
858
788
647
127
918
527
88
176
284
870
285
215
903
578
385
769
181
171
478
654
396
781
941
25
906
253
843
295
442
683
198
244
824
141
308
770
828
301
819
903
759
987
60
672
495
710
913
717
404
975
332
381
890
247
339
899
995
778
27
914
684
796
664
166
635
93
671
162
192
96
781
609
629
534
745
687
107
748
956
199
687
229
585
160
32
905
105
338
291
237
399
997
620
56
533
341
9
788
621
614
933
120
372
211
351
711
212
697
975
690
227
200
731
878
491
193
221
320
841
961
881
898
173
602
361
672
452
826
687
583
196
36
52
69
497
473
934
493
336
279
150
382
164
350
66
696
805
610
9
824
351
395
448
875
782
839
907
546
81
805
584
700
686
825
159
731
22
715
395
332
130
185
909
522
505
293
67
513
150
59
148
130
694
244
935
831
671
758
814
617
430
270
343
580
909
651
987
534
777
329
829
261
26
304
323
636
127
105
840
765
400
200
60
840
24
226
291
862
706
859
405
714
231
649
478
86
233
394
87
734
318
468
535
339
52
547
691
386
274
300
921
988
44
475
238
679
955
621
59
49
279
464
85
421
25
329
9
969
566
323
998
790
457
168
788
987
89
161
135
625
860
307
809
427
861
992
713
447
982
131
427
198
431
797
31
378
272
102
737
478
631
361
984
555
203
176
564
887
801
503
143
564
756
213
467
287
148
471
817
155
207
909
906
592
977
992
120
503
961
540
910
680
533
192
605
341
900
892
237
132
989
93
267
401
420
223
702
855
492
942
497
261
409
913
837
739
886
28
520
933
59
816
583
689
928
228
542
7
67
271
711
260
65
654
825
551
904
80
244
304
714
955
996
789
35
983
457
591
330
93
721
485
252
460
517
510
352
677
435
536
477
409
883
551
675
607
418
443
366
932
831
62
888
73
31
104
741
347
26
44
986
190
263
986
765
4
682
105
457
896
427
20
519
903
632
846
896
619
269
556
136
957
402
671
159
55
684
866
934
2
131
541
433
82
196
449
382
608
42
784
17
459
438
746
288
465
276
555
650
617
120
532
785
362
324
779
367
824
393
123
183
936
745
584
651
219
983
69
205
343
425
808
687
464
166
155
584
67
159
843
908
862
253
365
456
640
860
59
245
449
892
394
455
937
497
607
75
419
688
122
957
478
824
597
61
984
105
31
10
685
203
574
448
65
172
790
474
662
29
969
964
915
220
832
953
349
312
764
437
498
14
566
212
811
535
234
892
329
784
499
833
972
885
513
598
342
800
593
967
74
202
209
98
647
46
396
986
943
946
538
375
525
572
655
902
428
225
596
995
267
340
641
973
78
658
349
856
305
841
253
256
164
650
29
142
4
226
401
788
215
43
745
973
29
364
445
270
26
810
553
579
895
843
63
901
717
400
578
562
202
691
613
772
143
832
604
344
302
940
740
94
256
54
993
915
319
25
488
509
239
510
792
498
231
266
221
917
734
78
200
634
512
222
412
350
576
310
417
475
333
890
463
581
835
583
300
978
63
768
657
157
516
468
675
470
352
514
612
833
414
733
610
188
668
839
530
733
350
322
758
48
3
568
499
540
889
581
654
579
50
297
71
527
821
363
24
792
325
277
631
261
367
548
218
756
781
125
980
305
799
20
673
172
26
355
706
261
93
493
654
606
632
615
66
902
331
760
695
291
935
251
792
80
996
538
770
834
123
360
575
487
846
742
65
89
95
86
235
863
186
924
932
708
839
578
172
10
258
107
876
730
813
431
100
516
774
218
338
80
551
965
820
989
815
626
28
845
942
350
672
170
687
258
221
947
924
855
196
375
803
975
370
526
98
656
306
138
11
265
756
898
918
852
807
436
654
715
486
481
637
471
170
330
488
683
930
94
474
781
959
348
48
294
29
706
406
699
492
159
810
553
88
846
645
242
929
479
323
172
269
961
642
886
148
374
979
244
822
124
710
25
698
559
727
937
633
504
988
532
705
555
187
564
55
941
36
981
791
775
658
518
644
508
580
695
41
432
414
625
381
72
763
940
134
418
946
882
430
804
409
353
628
535
321
102
931
811
565
395
512
223
268
5
844
236
79
265
70
915
786
247
430
554
258
648
105
806
246
90
35
543
334
95
273
216
635
506
23
403
944
56
304
683
189
493
123
673
652
682
376
502
742
673
150
29
548
792
423
373
185
712
273
901
65
162
760
23
636
711
697
637
196
725
696
292
698
451
990
474
296
248
326
46
883
40
709
499
690
558
90
932
990
240
675
924
767
865
11
866
915
432
155
967
714
833
86
860
601
830
614
689
184
104
889
127
347
959
593
875
867
932
397
168
463
879
392
990
748
41
251
663
197
200
826
424
724
582
874
64
994
765
140
976
612
833
437
437
200
397
814
458
21
51
566
423
165
970
533
669
35
560
692
950
20
849
512
831
505
877
286
49
799
334
455
905
818
587
13
745
234
773
469
523
223
97
939
472
312
590
326
472
859
178
523
901
525
439
561
460
29
267
115
198
379
816
477
496
569
537
358
876
299
600
652
206
961
378
957
935
653
818
868
213
668
252
894
917
467
451
670
915
683
841
267
927
961
626
464
933
180
8
292
453
161
228
111
838
29
672
749
165
602
371
118
676
942
448
916
38
526
640
610
430
468
790
136
876
567
113
70
602
374
2
664
102
17
885
204
786
999
946
45
445
978
824
885
70
575
684
484
423
56
343
776
0
474
842
342
467
63
97
29
332
944
507
613
29
122
750
234
959
885
82
0
981
327
844
408
363
57
932
280
679
693
74
823
789
230
259
143
844
394
747
234
535
836
937
492
69
18
877
712
609
981
431
946
479
144
788
767
32
68
356
66
82
595
366
418
881
236
669
44
467
814
691
513
567
899
612
706
887
969
715
214
930
689
601
436
824
874
535
698
46
491
986
685
136
486
197
386
185
556
397
463
859
222
227
262
14
825
736
752
58
530
938
113
176
341
601
65
306
621
44
376
97
6
688
466
999
172
626
911
952
863
10
441
975
676
182
737
289
788
904
620
275
616
637
243
977
197
775
368
610
235
818
683
307
88
805
847
104
315
317
124
797
957
58
282
458
234
275
338
149
990
747
125
473
808
273
585
271
177
962
577
319
375
520
821
387
508
984
618
738
401
33
17
11
151
893
708
106
541
23
580
587
670
574
300
628
435
527
247
548
665
598
734
139
498
970
887
106
754
655
406
312
129
286
508
645
283
972
274
737
74
451
718
970
762
776
492
474
738
978
673
103
982
565
177
287
450
92
415
187
167
602
179
377
924
754
14
91
392
91
747
219
922
430
479
703
944
87
508
416
439
579
727
591
18
728
210
664
367
524
889
65
947
970
818
492
790
865
114
783
979
804
218
994
544
799
184
866
312
781
166
417
840
135
848
508
34
38
87
163
298
416
206
438
452
118
31
133
70
558
947
335
553
975
267
931
18
688
932
469
512
108
785
618
479
805
447
326
857
44
437
8
987
391
138
823
672
680
169
473
897
423
861
814
650
838
996
470
513
174
876
40
894
587
728
966
811
66
994
87
401
300
208
575
955
605
767
196
536
142
891
597
980
484
356
835
363
31
949
706
837
936
717
608
869
462
504
994
906
977
897
354
496
973
479
52
429
776
950
569
393
44
386
635
465
461
771
259
626
367
818
274
982
333
989
848
130
200
695
795
408
311
927
479
622
175
476
398
238
272
253
990
773
567
866
981
15
226
521
970
845
663
920
199
796
999
844
390
839
577
960
71
32
496
275
859
343
795
978
81
96
860
225
116
594
849
160
419
32
163
624
876
927
712
169
617
926
717
460
142
162
901
258
331
342
783
730
164
710
675
405
369
830
687
988
260
128
280
969
573
577
94
747
177
582
548
590
453
697
49
226
880
392
436
378
902
878
401
545
86
312
378
52
141
529
5
716
824
394
435
427
984
21
508
543
666
674
889
661
744
519
693
901
378
428
609
346
939
725
376
204
578
888
543
879
280
449
974
795
809
957
532
792
110
72
853
80
889
556
522
915
289
801
30
476
306
862
916
301
351
337
55
78
958
28
611
198
688
446
994
209
913
761
14
386
147
733
502
642
349
19
85
189
515
204
420
953
873
912
679
466
14
597
961
199
758
679
254
665
270
47
173
921
424
365
8
76
704
492
425
909
222
969
206
847
369
329
620
867
232
700
249
908
650
625
293
966
732
638
567
739
806
141
462
467
949
57
389
141
882
604
469
840
5
893
831
634
607
541
852
647
594
581
780
26
802
236
766
534
212
371
618
349
307
904
958
639
299
736
498
258
90
781
356
852
326
989
451
164
807
51
151
184
224
384
854
519
716
133
862
546
681
788
187
527
395
376
409
405
264
887
381
315
719
127
27
117
673
43
660
434
352
421
604
735
192
7
325
982
251
967
157
4
156
735
4
679
199
541
259
541
45
859
693
681
308
658
298
211
656
244
867
669
604
855
822
963
980
508
465
89
128
958
206
735
327
193
531
858
898
598
860
673
484
156
250
514
786
971
948
354
454
4
866
909
718
577
653
284
576
807
625
580
483
447
0
197
394
467
435
917
414
712
951
90
224
723
45
204
81
168
174
386
54
137
278
560
230
125
57
380
494
873
98
475
263
289
689
899
410
731
943
178
333
460
356
329
665
271
125
748
525
476
716
826
529
489
903
701
747
77
159
18
662
874
175
818
987
984
97
883
841
702
336
878
292
35
610
344
803
873
315
806
256
573
234
123
587
999
153
666
527
128
643
613
42
718
136
192
232
612
553
179
977
92
512
759
228
792
478
769
1
706
984
128
461
651
910
208
652
555
344
176
19
608
624
558
530
442
981
286
532
686
510
710
681
115
874
857
644
537
301
681
615
48
390
54
489
122
144
364
892
176
257
74
343
949
605
869
306
33
935
230
550
529
577
376
249
138
830
525
930
827
21
913
158
248
880
90
613
286
793
334
506
481
518
419
124
786
758
311
879
657
215
523
521
583
191
488
703
150
204
349
1
241
868
968
544
108
292
711
810
405
913
724
555
878
361
597
731
559
517
39
654
323
601
939
503
532
222
441
281
422
830
646
683
298
747
230
339
834
960
936
887
783
280
345
974
51
391
737
620
522
475
488
695
575
333
573
985
511
278
591
911
500
618
754
274
174
838
200
918
831
383
186
557
589
900
988
65
607
240
684
78
85
649
666
449
430
960
884
952
677
77
181
792
386
310
735
283
822
321
257
252
794
482
732
433
675
405
723
663
439
42
28
833
15
977
410
541
900
158
426
727
640
787
890
262
647
977
900
6
434
330
293
606
436
590
245
191
717
280
100
104
600
388
574
525
502
566
170
309
139
344
873
302
785
374
650
455
527
56
747
343
840
258
443
916
858
827
611
625
530
41
706
762
48
671
32
169
141
557
764
750
63
566
1
889
550
842
776
809
5
797
961
853
757
23
367
939
933
860
932
135
617
182
612
81
503
463
420
893
369
876
823
472
725
250
700
178
369
672
361
993
678
791
282
20
153
658
293
812
713
449
836
510
549
941
775
216
351
772
389
977
234
103
713
689
460
87
57
948
788
134
34
697
544
694
825
570
510
830
478
465
601
224
626
207
89
578
920
742
47
70
617
293
512
645
319
754
634
118
743
200
542
347
386
221
732
554
575
894
535
434
413
162
921
539
718
221
452
317
716
198
304
423
687
405
408
410
809
60
694
72
766
577
219
542
246
670
604
456
120
744
186
217
339
246
345
81
835
572
346
663
622
196
298
544
819
801
533
560
693
524
501
589
701
84
33
895
240
693
298
164
564
826
484
510
701
774
310
47
384
963
624
815
942
20
50
360
153
360
552
900
636
442
583
452
287
629
16
482
554
793
636
381
41
286
842
504
996
906
415
131
1
957
906
849
683
684
160
214
596
896
266
931
679
925
122
505
226
964
407
146
104
467
18
984
529
932
346
236
967
631
334
653
831
956
935
264
534
652
162
151
828
959
410
125
422
200
251
319
272
797
536
462
120
867
678
566
285
808
666
586
269
228
413
137
652
630
385
15
367
324
708
631
493
264
693
646
603
184
79
141
336
594
876
650
441
407
987
833
366
383
346
71
695
88
38
648
749
998
301
881
114
191
631
10
545
714
669
401
24
711
432
701
867
286
411
896
751
354
771
416
872
198
440
411
903
6
372
934
903
158
428
598
212
152
957
402
391
414
784
966
153
759
135
208
965
967
299
647
491
175
703
579
120
172
675
886
336
63
170
325
347
969
516
774
624
378
505
984
596
93
57
46
67
422
652
393
581
104
186
24
142
889
65
51
133
602
841
0
506
893
594
173
57
448
698
193
94
557
874
366
924
55
224
270
626
97
603
679
181
788
934
504
338
431
934
996
446
577
750
728
151
575
26
311
200
300
378
248
784
415
525
184
584
152
154
301
361
681
555
131
956
1
671
13
145
19
695
992
612
573
168
439
595
468
294
481
549
79
319
242
806
175
100
836
945
968
836
882
390
319
492
429
73
660
730
836
440
260
310
574
100
522
511
461
141
971
155
24
781
931
617
0
910
268
173
766
830
557
324
17
430
588
979
6
127
891
790
952
52
70
196
420
213
945
213
688
854
998
429
261
420
426
454
661
638
799
899
525
237
547
824
660
482
625
992
798
944
488
755
279
142
229
512
743
136
409
389
553
926
315
254
643
982
853
636
481
587
333
208
392
663
859
676
469
968
162
142
412
956
921
831
540
298
724
196
634
953
263
711
783
575
771
335
646
724
71
617
817
557
54
980
150
49
610
413
36
755
937
734
516
730
648
888
224
676
464
207
235
275
186
307
932
715
385
129
544
564
363
620
302
120
133
547
893
564
791
564
164
417
940
110
922
504
883
882
71
820
646
75
545
839
480
437
199
476
269
983
871
892
147
415
726
433
117
158
202
577
326
139
241
420
229
44
637
671
27
746
385
805
834
759
252
888
1
879
605
570
773
568
510
654
604
832
230
802
459
625
545
701
412
274
733
553
536
547
867
66
572
837
299
53
783
767
456
976
738
653
441
282
607
3
372
669
613
972
479
6
516
452
125
958
327
283
408
93
407
173
804
678
382
3
426
516
767
594
316
171
116
819
625
305
578
697
952
162
736
530
945
778
704
383
879
439
468
283
377
766
744
157
957
754
489
320
139
17
217
118
592
970
478
297
615
939
486
765
472
72
83
473
115
836
800
253
772
197
32
585
846
758
146
396
396
998
469
891
459
799
591
315
659
100
940
378
646
461
368
871
781
102
118
274
324
831
587
127
554
276
561
429
338
833
913
998
886
983
904
178
990
325
831
267
214
656
845
199
221
184
124
529
655
491
271
60
184
984
138
567
986
559
761
642
661
317
417
28
980
407
909
592
871
393
940
571
463
693
835
14
741
31
806
758
192
793
727
589
832
973
383
113
644
114
685
287
652
623
764
339
561
209
729
181
350
252
900
261
448
361
385
125
790
414
775
741
981
637
255
291
529
548
388
870
264
105
110
206
316
884
981
634
544
817
972
323
551
354
493
600
979
631
907
908
598
250
345
930
833
287
105
347
843
497
931
844
654
882
12
898
841
705
546
180
892
690
384
894
848
175
981
720
441
952
496
435
338
638
896
641
217
178
469
669
270
734
771
503
673
611
822
771
52
536
580
902
848
687
476
585
931
744
235
413
185
702
115
626
838
857
859
176
794
893
991
653
760
613
461
200
637
961
169
382
563
166
772
290
22
359
957
546
374
630
866
741
704
708
787
747
208
852
532
697
328
428
397
591
665
5
734
354
573
794
170
680
603
160
921
81
502
233
38
53
703
108
730
766
613
61
431
76
865
995
758
823
742
927
123
151
566
813
204
210
627
615
839
970
904
12
590
280
714
188
917
698
949
275
90
185
42
593
638
761
503
46
989
422
996
494
734
365
947
703
488
293
211
316
419
947
954
217
373
462
133
408
616
62
836
192
350
911
887
990
188
491
881
662
327
530
219
710
698
833
352
195
801
276
947
194
646
929
234
691
753
879
171
134
102
332
777
162
710
720
211
453
661
720
805
230
522
142
998
655
81
408
738
235
557
996
512
938
785
589
292
751
39
239
596
640
412
744
455
612
847
465
787
348
838
626
394
652
764
482
223
824
409
483
903
520
662
922
725
270
621
216
89
679
816
998
341
735
213
229
901
173
734
541
57
158
769
74
805
875
547
898
388
444
131
391
134
499
879
513
979
530
47
359
456
827
359
281
443
132
473
510
926
523
729
330
775
988
769
784
983
552
342
247
150
488
639
966
801
967
846
265
371
320
918
300
831
931
501
859
625
883
839
688
28
742
896
167
888
751
865
323
743
224
720
569
797
973
438
739
706
459
204
566
98
839
181
975
655
930
620
633
807
404
759
7
233
460
836
149
729
338
560
623
750
762
389
299
622
490
807
677
96
506
472
973
177
879
91
466
835
617
870
886
262
103
932
648
607
767
560
787
935
27
112
192
843
833
43
385
887
767
268
829
457
915
747
328
393
412
671
206
386
349
403
845
362
520
661
949
437
39
579
366
592
178
219
567
221
896
105
923
917
872
918
722
900
910
247
957
103
318
878
264
222
533
179
573
479
22
248
204
333
64
462
113
809
988
16
565
643
97
912
516
630
414
735
89
639
6
115
764
689
609
387
730
402
145
944
780
651
403
54
509
937
306
715
376
353
397
263
139
565
637
829
995
480
353
534
103
274
816
977
886
466
898
650
252
381
707
503
912
876
447
288
120
164
685
211
900
525
696
149
22
253
496
804
73
495
930
842
71
113
855
532
448
844
130
309
484
530
958
277
193
743
823
176
846
304
843
513
409
429
433
807
230
682
399
911
476
204
968
314
535
309
128
144
369
400
453
144
614
709
775
816
753
857
806
119
135
527
556
934
251
186
774
244
145
17
578
997
606
268
399
943
65
832
404
792
223
727
717
325
7
94
218
210
307
717
612
595
22
756
935
252
594
73
690
987
593
899
306
724
96
882
100
716
184
568
925
613
885
707
948
96
971
756
968
591
187
447
92
359
862
19
432
190
564
265
798
200
379
8
689
221
662
569
417
786
39
96
46
771
333
890
586
941
919
33
180
363
467
890
20
879
424
382
70
947
665
617
990
952
503
758
658
366
783
970
69
63
264
319
496
668
781
120
178
325
291
320
694
380
196
930
85
913
285
916
216
437
153
944
681
13
552
291
145
407
482
102
14
824
580
67
672
555
459
721
981
841
992
858
676
880
388
749
628
854
119
164
124
341
854
568
407
576
552
210
301
19
335
756
685
6
320
828
237
275
776
978
202
624
161
568
664
616
281
944
328
757
760
792
185
699
979
260
224
115
306
673
467
897
78
559
120
852
914
291
296
302
595
235
543
164
433
130
235
966
100
957
159
952
777
295
982
311
382
737
860
788
711
460
538
580
506
164
461
611
165
18
625
857
49
164
676
128
64
611
929
145
602
473
503
570
127
298
87
815
755
564
209
161
578
629
675
291
594
664
913
193
508
250
406
693
860
175
263
941
868
683
782
705
379
202
20
667
341
435
678
910
7
743
943
877
799
367
490
856
65
493
4
995
723
114
519
773
683
353
191
373
824
676
63
801
26
938
886
725
271
665
924
226
869
888
944
203
573
183
144
120
393
364
143
414
961
600
761
751
850
464
63
136
729
961
459
882
394
90
249
303
614
566
293
401
873
727
239
192
617
552
697
193
279
805
66
859
230
854
857
609
607
259
756
407
102
471
118
510
942
618
863
583
156
651
530
825
686
999
248
256
167
936
712
30
910
444
27
986
351
132
673
927
699
822
493
948
657
545
459
445
206
929
915
476
243
51
915
17
830
581
974
522
464
74
110
819
606
330
834
472
671
337
48
455
837
439
476
974
845
973
762
0
310
811
406
486
320
531
500
711
781
534
443
114
757
6
19
398
436
234
358
324
368
500
339
528
500
385
655
537
410
864
850
829
631
710
273
239
299
423
729
149
354
445
16
151
418
752
66
377
899
993
881
788
994
440
256
934
657
525
472
713
791
308
94
767
4
195
308
181
817
112
187
340
69
825
771
946
842
996
961
318
475
454
476
8
442
674
869
260
60
943
632
906
81
413
443
982
985
571
957
646
280
319
932
940
955
931
148
111
102
67
125
475
92
963
869
125
225
475
359
304
314
603
290
718
363
969
552
586
235
522
677
377
191
589
828
622
925
170
722
33
79
428
962
293
75
60
964
428
182
930
346
41
260
693
809
635
502
673
542
982
99
335
11
806
798
367
8
41
417
384
58
434
136
745
713
364
489
455
83
3
51
278
694
169
843
774
715
806
822
85
626
863
13
410
115
159
849
913
408
524
149
989
718
178
244
75
552
199
375
242
712
984
476
724
396
356
652
164
521
989
745
412
227
22
539
830
938
474
348
446
65
401
983
113
37
741
884
827
271
595
861
564
467
88
306
580
483
956
829
738
299
103
361
700
632
723
28
946
44
187
638
264
988
449
984
579
53
429
651
344
520
353
166
17
109
807
863
822
838
333
597
227
913
121
672
257
138
286
535
248
836
679
540
541
962
29
838
492
224
609
522
527
933
279
917
816
846
220
441
48
316
948
481
639
851
210
410
375
458
394
70
393
367
569
655
126
144
683
116
256
214
289
350
260
456
811
770
390
786
998
513
609
39
910
414
688
322
755
515
912
732
41
1
484
514
335
739
880
374
368
695
71
476
235
523
801
419
233
683
455
82
909
495
740
137
511
268
937
26
533
834
554
144
320
952
513
41
400
11
803
666
446
87
102
355
108
177
230
918
523
963
6
593
155
523
477
537
383
430
716
634
303
78
262
159
136
981
833
619
642
457
353
980
739
928
722
464
350
258
804
784
442
835
34
56
128
675
620
488
825
204
272
987
595
157
393
226
412
268
555
82
773
710
303
966
35
52
47
691
475
305
5
370
876
905
7
489
597
225
481
348
107
607
386
816
409
224
712
150
285
188
762
719
409
412
399
498
644
972
649
678
833
74
373
208
909
265
637
37
812
669
102
293
605
612
887
931
242
567
716
452
986
622
178
697
658
92
240
138
608
987
856
984
669
173
147
847
732
37
342
818
80
697
545
800
318
418
602
783
132
449
288
352
230
115
468
158
107
320
902
132
504
644
525
826
178
462
726
888
734
973
741
210
133
756
323
201
130
766
702
209
516
301
960
231
991
882
42
589
188
445
211
746
257
740
575
709
580
185
472
682
973
479
978
346
373
492
250
513
837
694
433
342
235
779
674
704
711
238
996
839
668
327
255
682
295
360
189
537
871
852
351
683
553
890
855
846
804
886
615
707
398
233
455
968
693
839
752
583
467
532
675
205
487
299
20
329
826
910
727
334
171
22
716
617
726
110
531
259
258
542
23
145
864
287
924
278
175
499
391
684
23
632
779
947
392
201
256
723
255
907
731
511
715
842
288
60
518
930
90
350
21
265
55
720
637
63
728
398
846
719
8
522
668
794
977
255
10
863
429
974
860
561
658
859
890
480
853
321
925
347
26
906
999
326
718
334
278
281
558
249
274
463
213
439
240
363
515
301
170
871
284
804
917
492
899
705
824
894
962
521
315
835
208
437
219
180
620
645
882
748
699
438
361
731
248
89
919
533
629
158
749
870
547
514
903
579
496
77
207
919
204
178
275
81
24
484
950
698
93
268
518
133
993
684
317
686
385
43
562
211
790
997
8
818
692
485
165
97
641
865
926
900
741
706
373
677
269
453
609
336
550
788
213
872
228
376
713
17
421
404
30
413
126
511
270
793
662
102
156
19
236
226
590
860
883
279
266
584
694
732
998
643
233
820
729
984
18
616
943
224
331
21
198
473
597
933
148
370
580
428
363
542
872
841
599
181
928
722
437
935
407
455
891
989
261
512
962
385
404
900
824
943
796
810
944
932
639
268
220
496
911
987
767
313
316
502
577
196
79
942
908
121
53
849
245
732
635
57
486
691
388
51
519
423
186
677
559
266
832
267
611
694
338
174
218
764
171
550
784
378
953
363
49
482
365
257
351
643
653
560
247
985
58
583
382
193
259
92
6
636
815
92
213
644
204
368
144
749
142
699
332
808
999
791
844
860
844
546
478
981
617
83
688
484
51
272
686
498
334
325
403
877
794
888
688
309
610
802
800
934
407
544
14
705
47
268
937
731
96
134
248
183
359
8
675
123
417
246
531
582
952
383
927
445
936
863
606
220
245
133
249
760
683
964
160
967
62
376
524
343
38
751
563
661
202
303
641
501
211
530
528
192
931
150
138
395
778
240
333
997
925
480
851
446
683
829
842
953
890
311
426
823
72
416
49
892
896
228
32
669
218
940
97
269
798
598
230
513
797
980
415
389
880
805
395
811
461
568
238
68
240
315
659
323
177
576
181
583
209
293
804
347
213
812
707
79
493
444
176
447
472
473
59
840
356
71
545
870
444
202
828
771
259
475
105
220
740
94
928
314
293
141
196
873
374
796
761
400
897
410
849
36
173
27
135
29
189
386
285
939
349
140
893
567
130
937
775
50
184
283
546
21
181
360
205
450
879
635
348
576
633
973
213
544
795
268
304
626
178
829
446
618
129
668
856
439
117
328
243
44
403
153
405
867
756
183
45
178
796
440
310
330
389
596
243
289
187
947
554
106
980
669
882
72
328
738
635
916
625
137
471
216
819
907
999
794
692
900
980
335
997
611
845
413
829
251
491
905
688
428
941
438
565
110
260
804
110
11
845
284
370
48
85
210
707
456
748
918
328
336
324
458
509
885
441
462
563
7
257
150
383
711
855
691
893
165
415
42
618
702
637
206
179
867
885
972
369
953
729
801
171
490
681
261
702
101
675
773
494
231
917
707
142
848
271
980
868
226
486
325
175
931
432
482
211
397
476
250
789
505
284
417
294
205
51
943
151
128
160
945
754
428
247
881
851
848
248
272
419
502
469
294
608
682
7
175
653
749
62
341
713
737
801
752
474
467
791
997
282
597
547
885
88
723
292
115
957
260
144
45
505
316
392
245
564
298
39
151
300
95
372
800
499
43
296
776
745
773
655
919
453
327
284
270
250
132
92
525
728
196
654
792
460
167
677
468
78
467
121
133
670
308
417
937
20
544
789
474
196
910
144
445
496
351
491
155
14
356
43
562
548
337
406
631
67
125
885
459
993
241
694
473
378
33
729
612
715
46
115
751
532
54
655
599
537
690
869
713
888
364
919
412
669
281
304
814
97
913
311
521
220
922
770
713
419
77
7
394
528
674
399
622
836
855
551
45
683
604
647
633
876
45
173
943
650
963
643
350
139
887
184
897
415
921
386
951
815
298
565
743
362
260
747
577
709
51
652
470
694
868
800
641
690
758
150
114
75
953
805
360
482
562
531
578
136
173
638
411
380
399
655
989
811
433
849
17
218
384
770
728
448
751
416
460
863
731
962
150
888
750
835
312
753
521
882
669
299
822
319
624
764
510
637
526
586
515
978
54
90
954
211
488
269
748
701
238
220
979
424
431
561
27
908
955
454
599
91
697
587
406
43
391
226
518
227
852
319
460
884
587
546
414
436
518
850
48
274
332
544
425
748
626
218
783
375
97
227
733
741
52
348
390
950
470
253
416
210
89
850
941
445
164
5
647
592
893
47
24
611
874
742
533
850
668
834
803
647
970
953
273
747
630
178
402
137
266
218
121
534
604
383
569
572
866
116
54
948
512
81
141
951
902
162
398
227
349
905
750
262
877
508
151
1
38
605
542
408
502
509
663
144
378
553
643
837
273
313
668
926
649
881
408
534
535
405
968
760
974
52
422
437
828
21
201
757
611
692
660
785
375
282
691
653
546
356
400
927
689
463
529
276
38
713
954
622
327
871
413
997
978
470
872
57
107
537
583
363
528
823
18
654
468
38
982
630
47
436
941
374
976
807
948
223
964
667
205
494
328
824
286
876
933
202
40
923
150
794
825
518
210
92
541
185
721
569
338
164
658
860
320
241
884
290
77
377
195
972
4
818
978
868
929
302
394
420
904
45
203
735
413
40
719
245
324
715
912
823
685
276
507
426
7
42
833
6
240
629
598
890
979
308
740
898
884
605
191
127
753
670
727
306
698
353
68
357
535
613
524
132
840
27
812
529
148
416
326
954
376
747
133
347
853
301
656
707
422
388
649
123
346
140
553
673
607
971
576
181
96
354
947
457
201
660
407
80
310
877
723
578
824
484
127
132
570
814
628
999
773
803
107
39
169
10
299
763
541
406
30
500
2
14
162
976
232
896
141
847
645
744
223
999
492
582
314
43
894
853
870
635
746
852
202
362
179
433
680
952
288
748
539
684
95
885
59
180
270
860
878
417
835
207
828
317
861
258
919
359
234
930
893
236
280
724
265
141
362
347
141
824
786
198
479
815
847
748
773
883
889
880
639
767
786
189
730
647
350
747
198
187
953
841
406
652
512
464
340
499
40
71
535
270
555
571
127
140
995
269
763
969
917
750
561
334
730
486
937
659
390
846
342
407
767
342
412
906
303
747
182
424
249
68
49
418
786
19
110
36
482
199
663
419
421
650
468
773
188
632
495
376
935
615
624
901
263
629
197
817
327
678
444
663
841
764
833
292
127
124
621
994
735
119
510
619
264
929
219
458
436
367
221
587
371
860
559
947
697
592
247
675
314
721
974
699
264
377
416
963
88
583
605
45
57
923
380
485
627
464
960
8
885
762
941
955
195
276
732
721
546
121
570
396
807
370
771
279
69
332
357
843
602
402
967
435
972
418
310
85
645
860
866
543
499
611
978
82
237
37
731
604
475
997
139
183
188
942
658
211
578
515
570
462
696
657
487
508
738
485
929
961
147
189
784
544
796
576
795
325
926
359
282
319
319
98
101
25
986
264
575
395
609
802
426
951
395
190
139
584
235
13
729
23
551
315
987
878
952
448
519
100
217
138
324
634
471
853
340
793
161
267
137
206
740
658
739
388
944
656
530
704
233
678
319
979
863
602
749
980
994
351
473
965
685
694
553
87
535
755
992
541
0
905
370
554
840
757
306
546
439
298
814
539
175
430
384
139
580
211
803
822
94
750
535
968
642
166
741
320
700
994
539
674
769
804
193
572
307
430
497
810
73
918
877
883
954
804
278
842
440
948
159
315
750
874
854
376
138
834
357
507
371
970
806
126
798
783
576
688
414
942
605
831
697
90
500
10
458
609
100
545
163
881
656
84
416
541
733
562
615
671
820
163
387
111
322
580
902
551
464
950
154
680
473
53
28
722
812
717
250
450
738
3
29
254
765
24
687
692
143
721
585
24
756
403
978
979
37
147
300
264
466
354
991
97
587
165
284
688
516
781
18
511
990
371
445
602
488
475
661
565
214
262
267
834
117
886
813
403
996
360
136
645
198
139
634
256
896
749
8
427
237
327
419
302
700
759
347
507
148
15
218
829
427
252
164
33
923
841
244
626
960
653
719
183
795
955
209
63
312
122
897
249
372
948
888
19
720
473
928
588
111
937
538
203
166
146
154
648
385
255
70
737
749
692
291
247
695
94
881
114
437
339
916
623
294
302
140
462
406
316
721
888
191
499
381
834
470
70
210
425
178
757
910
269
587
493
776
882
630
504
736
635
520
468
730
392
4
915
499
826
863
665
32
20
856
106
576
927
9
633
714
739
388
930
545
47
550
85
735
997
408
715
660
353
211
584
217
779
472
566
33
674
170
279
131
107
14
296
476
684
127
195
80
199
603
44
336
681
87
798
358
760
613
607
645
748
202
935
233
87
602
659
988
676
309
256
407
941
382
662
976
946
856
470
142
597
790
813
467
65
429
593
350
359
878
105
662
575
254
867
368
9
950
957
632
881
807
183
420
285
86
300
917
462
262
491
483
766
815
500
959
194
298
10
73
979
284
953
588
979
856
333
272
525
921
822
283
148
213
215
556
4
388
637
158
490
411
401
976
751
51
833
628
670
576
457
646
268
927
267
126
97
507
58
108
864
197
375
383
543
440
939
210
952
837
131
104
853
332
592
195
143
270
229
219
732
554
195
997
796
613
196
22
995
17
690
895
12
639
772
565
86
427
77
704
82
251
470
871
297
169
985
48
703
883
388
427
491
421
210
784
904
664
671
934
487
882
410
45
677
806
881
474
693
203
144
737
405
687
18
980
818
690
305
691
467
989
515
745
11
293
656
479
265
729
456
589
231
797
378
396
575
996
275
472
361
735
786
771
650
260
313
755
550
798
435
609
446
873
601
455
226
68
702
298
114
361
2
663
182
144
417
624
597
639
857
968
20
214
955
21
454
122
865
525
216
271
1
848
970
592
586
313
980
451
861
424
55
350
945
868
214
548
815
905
825
667
508
65
741
303
576
366
533
787
605
970
356
756
754
82
870
247
796
447
603
826
742
869
561
862
837
627
142
193
356
928
785
213
991
745
338
852
708
635
999
575
493
705
576
830
403
700
672
603
308
907
958
513
754
506
486
70
94
595
865
293
707
709
387
733
145
695
141
159
40
993
649
598
737
506
167
433
711
371
965
554
607
298
627
79
991
236
134
502
856
587
787
282
638
107
680
833
256
356
860
228
917
834
264
835
628
871
685
663
2
93
845
766
652
146
399
936
560
512
42
563
419
733
530
433
854
758
605
616
807
75
918
823
710
507
233
852
198
749
745
821
159
230
849
21
996
60
891
572
50
442
892
300
265
765
935
548
876
173
924
578
813
592
574
425
729
223
609
87
776
929
216
186
61
456
354
157
986
857
848
131
27
980
345
634
643
102
766
308
849
934
694
724
172
348
234
631
45
443
602
804
552
126
791
399
81
393
553
736
243
282
31
903
46
940
136
548
753
36
110
41
275
182
794
313
886
342
392
828
288
185
115
748
445
521
68
581
436
109
467
813
224
428
394
416
602
723
927
77
503
728
871
914
371
975
895
884
236
210
766
508
525
981
83
468
532
976
577
41
657
246
544
391
775
313
578
85
277
934
57
698
386
48
545
608
630
470
273
966
546
741
198
941
40
45
382
690
185
773
277
157
625
112
951
560
938
760
745
522
34
500
602
197
77
754
607
334
641
113
438
997
560
517
906
590
605
471
321
929
365
651
371
405
742
898
64
707
648
823
890
721
956
734
983
322
653
111
980
249
502
99
569
663
805
492
673
149
992
721
795
856
916
971
846
292
658
503
14
750
172
955
535
541
449
609
47
346
849
37
568
98
890
714
482
492
794
299
166
597
954
31
569
787
220
817
870
423
16
964
878
378
359
709
770
991
761
934
929
10
517
304
547
413
615
208
907
342
196
282
138
367
370
857
68
519
373
277
182
74
283
460
251
372
386
625
457
30
48
227
206
352
822
11
965
280
642
10
107
720
318
267
997
615
203
6
226
907
939
143
283
816
627
778
235
769
649
457
43
247
699
776
300
601
597
723
456
459
983
265
366
893
509
900
459
636
988
277
922
269
509
873
733
820
484
907
347
803
120
676
677
406
788
748
672
481
203
46
76
385
99
791
892
365
66
687
487
5
925
512
266
970
198
316
708
694
73
941
911
206
946
48
572
426
765
619
634
403
814
659
165
288
318
419
701
359
970
946
176
328
967
807
180
550
202
360
577
957
114
156
475
345
995
689
875
724
203
220
886
224
752
948
833
824
80
86
862
48
363
752
775
27
310
432
624
868
51
3
468
394
749
506
926
343
441
277
758
199
821
112
880
612
823
274
515
255
866
878
191
307
709
314
241
150
941
82
767
9
342
605
726
510
416
816
4
191
982
915
276
393
242
792
177
94
94
192
918
953
732
255
446
21
916
383
79
368
863
253
739
607
572
987
830
33
150
624
10
412
642
463
492
315
923
840
367
820
376
242
41
682
937
819
480
10
739
888
498
13
703
209
962
26
733
697
158
473
884
133
60
964
39
277
567
647
196
932
593
869
241
93
930
716
94
972
211
124
66
877
717
589
52
611
457
560
360
866
380
934
404
337
47
881
175
68
854
856
644
627
828
315
396
385
828
654
93
246
958
910
26
145
89
617
857
195
12
28
477
703
372
271
939
48
477
330
139
849
434
500
811
481
654
885
65
77
970
759
642
570
406
946
118
758
694
711
924
184
665
587
621
668
515
886
78
364
204
359
973
711
621
492
181
948
227
994
630
252
179
386
697
665
310
191
774
918
580
203
845
260
546
328
475
207
875
956
633
25
524
60
570
332
212
609
368
461
609
849
548
807
839
497
876
534
499
712
492
443
515
259
20
753
307
651
548
672
177
454
27
710
577
4
783
73
1
505
404
163
607
342
628
913
473
113
258
446
544
957
868
271
633
601
762
237
217
487
536
370
920
266
537
24
569
587
339
926
140
527
304
308
148
921
372
935
940
920
37
61
332
956
935
530
976
363
962
193
45
953
347
678
307
156
531
605
771
57
707
333
692
42
56
708
672
831
205
58
4
210
983
495
490
48
129
546
901
689
932
804
140
754
214
71
221
468
71
73
387
589
691
429
702
918
128
479
72
101
886
236
831
829
17
410
232
98
75
919
926
479
357
44
982
600
889
290
746
111
993
127
511
879
846
565
120
925
9
181
144
594
615
70
86
289
523
504
494
380
186
123
322
853
165
675
502
479
10
942
552
562
345
411
733
299
699
800
586
486
584
323
707
435
680
41
522
207
949
902
258
274
592
280
510
778
157
554
120
24
696
46
818
954
142
788
240
11
231
116
600
104
955
35
257
610
762
389
41
892
160
987
373
174
226
711
791
903
448
379
381
577
956
889
789
209
884
895
705
387
310
313
78
735
986
295
777
612
844
462
790
531
354
91
717
525
1
577
595
509
97
749
572
204
401
902
871
372
91
206
790
897
951
950
195
426
405
478
67
532
974
102
16
726
126
898
892
489
859
375
430
543
725
553
235
118
44
801
595
894
12
521
963
439
438
707
748
974
1
822
962
190
591
619
183
505
920
466
537
383
343
255
840
734
702
457
512
32
852
664
925
281
760
439
358
765
919
147
368
357
777
15
319
113
709
689
702
733
860
656
288
484
380
932
623
136
416
197
24
972
378
604
6
48
748
690
554
564
72
905
258
401
325
159
450
386
329
275
169
678
931
309
282
108
274
753
850
847
872
761
943
473
150
903
561
361
256
629
307
364
42
907
548
257
767
751
986
915
45
244
74
760
877
370
809
105
933
932
734
616
732
228
375
809
14
359
898
22
809
790
151
671
892
190
388
778
605
264
686
550
199
867
912
152
626
280
713
33
542
517
1
79
195
729
502
158
845
571
273
231
889
473
413
530
782
672
871
810
636
218
874
973
70
160
349
183
707
29
656
7
921
967
473
85
39
192
136
888
901
790
671
441
897
304
241
713
287
574
52
696
119
647
846
454
86
875
153
528
578
693
285
749
164
953
522
473
374
62
602
350
447
283
657
8
735
508
595
538
760
227
541
584
410
211
472
600
14
836
306
72
11
563
242
952
162
369
871
605
319
195
619
749
952
160
766
446
922
458
659
803
39
643
259
560
880
488
430
745
401
181
104
941
453
478
319
393
702
939
236
330
152
140
238
129
989
83
425
861
853
55
399
526
116
106
446
978
442
563
36
227
832
494
403
609
383
505
656
25
481
140
336
871
615
489
666
542
701
58
746
194
960
699
277
801
44
198
433
76
460
671
100
17
259
818
834
29
15
964
879
199
650
732
352
526
791
494
379
167
26
273
462
774
460
924
267
183
268
729
345
560
110
856
274
982
477
955
407
57
582
617
841
595
804
965
124
250
411
356
22
578
414
173
55
639
752
638
290
590
843
560
781
8
366
49
463
817
303
564
525
166
303
76
109
463
460
988
825
823
481
871
551
886
612
535
370
742
530
143
563
839
531
134
694
568
813
72
93
463
506
2
449
345
142
214
197
727
425
525
835
724
816
359
499
584
589
573
936
592
517
12
176
856
745
285
47
518
254
902
146
188
361
236
521
362
707
314
674
770
924
988
529
620
84
524
811
76
469
630
125
277
800
946
145
478
587
50
455
825
661
999
192
597
891
96
638
632
817
786
476
71
295
933
204
635
364
296
491
981
361
439
822
557
179
888
878
860
375
159
144
539
30
21
475
677
407
822
404
279
99
409
641
777
877
324
706
70
97
821
703
340
377
285
441
445
710
360
966
985
85
71
829
807
944
901
497
127
325
344
721
418
629
827
842
657
509
368
460
392
622
628
713
76
262
368
937
688
665
904
11
514
443
411
91
946
920
574
59
71
711
232
262
552
348
240
645
788
875
133
216
937
221
53
780
578
582
589
938
879
840
593
310
118
959
750
561
198
995
794
341
285
226
33
853
2
129
315
406
602
464
619
886
514
756
971
383
616
480
893
105
21
896
549
704
549
256
43
769
195
416
506
642
170
824
112
93
37
209
950
281
180
5
696
690
337
142
869
330
869
952
139
910
2
647
297
784
804
322
453
449
156
333
430
501
640
582
437
933
447
202
186
368
253
177
195
38
848
34
237
839
425
460
155
305
808
824
333
652
89
393
186
632
609
103
343
790
665
29
710
254
238
426
121
817
924
965
548
879
269
558
118
656
238
471
198
705
73
907
690
522
239
886
627
83
531
186
143
672
357
994
271
858
275
802
471
882
295
191
601
331
552
960
331
318
672
498
77
242
587
364
139
25
160
840
16
258
403
100
27
227
230
935
366
948
622
161
783
505
95
425
679
225
974
956
932
873
750
999
360
548
872
394
369
743
152
21
593
187
982
447
412
894
636
256
163
108
609
441
503
829
634
393
363
481
124
993
860
156
776
938
752
149
740
622
337
520
192
966
153
270
652
569
385
247
994
488
9
198
212
410
470
355
161
361
680
650
211
380
193
614
621
51
982
581
67
798
511
372
100
145
113
385
236
570
348
858
337
489
300
908
582
129
959
946
950
316
601
766
858
191
584
80
490
782
402
583
868
777
47
544
783
710
871
962
205
908
745
556
37
968
157
626
175
297
285
668
330
16
609
551
328
418
864
670
250
775
149
87
816
410
289
226
78
362
882
87
619
477
112
314
592
840
114
128
909
984
115
826
662
668
118
977
994
985
295
324
464
951
177
111
775
913
221
727
65
129
514
54
495
767
183
557
361
489
110
797
795
257
800
619
900
457
327
890
768
101
408
155
92
452
856
492
489
881
858
745
361
927
640
884
103
918
645
210
973
576
519
513
595
912
105
14
413
731
266
966
189
862
355
911
954
4
368
806
45
436
622
361
44
370
613
499
61
191
208
95
940
339
187
747
21
881
644
740
895
243
104
74
270
570
644
149
137
922
625
272
631
419
375
156
954
174
218
241
181
886
794
862
572
292
231
33
414
863
834
807
415
444
319
364
988
540
301
290
791
799
670
284
45
420
549
15
93
498
172
257
344
446
594
755
48
912
304
671
552
916
307
14
683
212
391
288
791
326
75
349
630
260
438
804
421
875
12
443
848
326
371
357
994
840
548
630
776
233
490
27
152
695
998
61
84
957
839
616
561
944
550
969
540
320
815
566
514
139
348
810
455
55
496
58
565
552
622
126
71
969
309
275
624
173
478
263
565
136
161
535
772
136
676
263
169
477
945
405
690
570
365
876
882
32
114
85
307
804
317
488
220
206
481
266
673
350
285
592
277
775
257
709
651
428
546
769
63
227
157
270
372
23
284
330
849
711
793
330
747
78
405
217
940
612
493
624
653
814
894
870
82
651
992
928
778
674
876
946
307
378
493
948
169
70
420
987
544
428
844
817
361
919
416
966
834
661
273
80
176
541
938
194
941
475
21
876
394
551
508
655
926
489
565
649
223
212
843
48
669
432
432
608
527
862
218
551
846
473
534
50
326
377
268
745
792
142
367
603
474
50
901
987
380
85
485
326
883
845
65
973
973
42
340
534
682
966
581
511
827
481
703
524
551
997
269
716
714
44
889
740
272
578
822
351
415
977
227
340
734
797
489
911
348
740
93
579
272
397
946
998
345
164
943
988
221
226
845
334
405
863
564
512
990
243
185
493
796
920
465
524
810
330
930
237
727
921
668
245
695
208
565
374
721
345
124
601
485
65
604
455
531
801
48
326
578
713
451
161
645
939
585
490
335
78
276
428
203
410
682
59
55
281
257
962
799
157
808
23
984
412
182
141
190
693
79
585
494
969
283
64
597
455
920
227
335
767
718
235
472
113
968
181
764
307
140
930
809
845
592
524
354
896
940
861
575
34
185
877
633
734
120
767
484
948
546
751
145
678
411
701
346
769
884
815
769
755
558
701
211
626
60
718
758
215
527
476
106
609
744
887
10
705
608
419
227
894
493
287
962
618
48
758
714
23
857
306
608
776
519
178
127
972
722
930
887
944
843
388
917
513
595
211
435
82
190
980
510
158
422
190
187
727
779
483
769
141
376
630
192
31
65
470
663
537
672
168
299
814
393
792
259
200
973
626
361
443
533
882
363
110
356
113
499
959
446
519
796
377
608
350
884
242
438
803
388
287
516
329
199
948
635
64
226
625
247
751
274
503
797
404
613
249
19
81
923
577
866
905
899
821
625
379
344
538
254
710
183
671
439
641
887
765
490
144
33
959
317
138
637
469
223
467
74
354
283
228
61
572
835
497
559
106
77
646
378
36
557
265
940
800
676
67
977
901
901
334
488
255
501
379
284
957
496
915
720
122
263
723
487
578
277
871
500
983
892
113
774
604
593
823
97
179
787
233
413
10
804
220
816
349
824
294
976
563
101
226
566
199
635
807
302
686
195
261
357
35
577
218
934
713
759
302
12
868
505
637
851
304
945
71
94
338
728
177
164
175
277
380
334
859
3
846
395
54
155
902
917
53
817
892
91
566
988
779
279
198
165
348
905
207
179
748
349
280
404
884
0
783
20
902
527
466
458
575
47
977
772
611
339
769
242
459
46
202
953
959
376
747
312
595
10
945
136
799
827
670
502
642
141
67
430
250
137
644
803
213
61
205
802
965
386
997
336
729
729
522
100
658
396
472
994
992
178
830
212
795
318
306
969
302
5
977
459
698
199
218
328
43
321
175
591
302
115
780
999
322
94
612
31
538
451
914
393
20
701
779
332
129
823
448
176
752
872
228
181
400
602
731
159
484
283
844
790
93
842
867
311
796
724
820
959
305
0
203
885
370
806
822
494
879
639
869
426
634
207
867
707
114
820
885
755
880
330
333
631
317
777
351
520
826
377
517
828
431
158
297
484
340
0
970
27
164
777
876
692
787
660
374
425
227
995
450
552
523
382
342
287
69
637
846
850
614
970
189
659
789
915
733
889
383
872
522
582
737
508
686
108
284
53
995
847
396
312
133
987
186
63
301
607
884
808
555
263
242
174
165
561
282
755
267
290
44
218
161
737
493
718
429
505
5
137
335
790
461
556
917
417
864
711
938
746
812
85
493
32
63
915
258
834
977
11
793
569
223
915
130
647
450
830
938
537
843
615
499
102
478
113
369
868
856
902
351
70
122
592
120
882
395
545
63
541
586
135
512
236
781
540
209
983
831
823
607
861
689
459
74
325
144
2
811
199
351
934
24
334
210
469
12
167
433
488
263
56
678
353
557
54
968
656
873
595
425
861
253
982
345
67
235
803
415
847
164
348
137
58
133
210
139
484
696
389
428
703
886
510
314
5
295
807
816
55
511
326
71
270
48
115
15
665
60
278
139
526
683
921
656
439
383
111
21
109
262
300
151
539
482
766
320
675
287
5
338
531
676
261
18
980
90
107
227
466
508
888
150
803
301
17
73
592
910
177
14
939
76
508
938
898
194
751
313
372
654
341
373
630
260
943
372
295
613
656
776
172
551
583
44
380
896
892
201
705
439
214
736
899
76
473
788
437
907
561
223
453
964
180
665
858
425
311
367
785
537
839
829
883
699
15
443
556
699
70
164
659
833
740
255
802
633
933
786
680
689
540
58
894
288
87
550
677
469
67
35
966
105
148
514
314
649
878
423
507
773
394
750
777
719
67
654
393
159
456
709
673
815
474
579
588
71
372
872
869
378
520
417
636
256
421
551
845
808
405
273
708
868
989
429
578
72
420
386
596
273
218
604
235
499
705
920
911
256
608
374
350
127
918
667
76
936
871
401
713
407
261
983
688
412
861
257
347
773
177
215
211
243
881
801
361
883
540
804
787
102
415
305
320
65
454
529
337
340
766
644
633
333
6
219
432
785
278
335
463
489
240
956
573
951
69
217
541
930
577
262
676
549
171
288
741
406
745
602
480
104
379
302
464
594
627
881
867
80
569
549
58
108
225
23
671
635
944
487
854
739
418
881
409
676
756
621
127
683
898
457
700
876
435
732
620
974
403
404
966
782
319
447
472
223
457
779
418
506
983
507
364
304
239
781
373
790
925
329
733
35
774
771
156
964
652
14
910
988
715
871
656
754
453
90
690
119
698
586
520
614
991
179
707
964
165
584
824
709
933
326
287
483
621
224
954
868
223
55
649
540
780
676
229
389
141
479
765
393
328
7
435
856
367
13
932
611
875
934
413
812
672
135
661
848
602
734
436
394
293
498
426
639
128
734
903
945
763
333
556
246
991
590
718
711
717
827
256
292
9
460
390
364
467
209
321
574
602
574
104
368
815
349
421
439
330
154
557
610
486
334
654
632
470
985
906
153
901
308
864
641
51
866
960
3
711
315
115
620
966
775
160
304
946
169
411
464
270
826
388
131
73
479
654
280
449
850
982
998
800
583
685
69
483
541
143
383
226
669
756
257
303
342
328
459
246
469
265
599
218
784
497
827
595
375
488
275
933
996
991
671
131
914
76
785
371
80
377
695
771
732
502
680
145
849
515
573
379
398
993
30
815
81
619
202
646
607
213
183
675
105
981
812
702
622
778
655
230
701
884
367
866
954
147
35
796
144
132
265
303
927
918
71
189
812
78
524
116
541
968
665
445
370
394
883
489
392
940
402
867
722
113
549
731
57
892
541
720
121
151
528
151
20
341
433
685
597
138
803
326
138
190
193
360
417
513
437
157
902
728
904
349
170
761
92
192
687
866
260
560
361
205
391
37
172
771
836
642
71
56
422
806
832
293
639
56
166
363
78
476
751
310
476
547
654
15
899
748
879
730
134
635
904
812
378
941
964
655
402
146
898
33
331
260
877
521
328
650
843
863
37
156
711
421
377
368
53
231
530
492
753
557
564
684
956
134
17
373
192
717
192
895
297
504
588
976
836
413
870
539
324
851
972
461
998
162
716
481
39
412
181
89
501
16
913
326
204
763
471
345
882
572
228
732
4
370
567
251
856
615
49
38
372
264
906
580
680
129
9
3
753
365
497
11
261
777
929
545
850
343
621
293
373
350
851
35
566
969
746
921
469
659
632
558
459
705
241
962
592
922
460
986
447
664
132
353
265
863
336
896
525
60
127
82
781
815
51
347
952
268
693
196
959
584
384
181
725
107
954
858
657
78
359
646
493
844
448
310
996
748
409
28
886
993
88
290
329
489
185
840
759
347
615
77
429
48
38
443
611
412
518
555
648
456
365
404
685
953
831
301
604
53
427
579
898
226
31
968
869
31
203
219
208
753
404
783
734
403
529
405
420
13
322
113
26
286
485
671
897
664
470
688
412
976
857
0
976
474
988
549
412
999
307
488
554
480
610
684
932
606
433
242
241
979
334
472
873
215
480
749
586
801
197
606
402
181
923
414
445
378
451
763
451
380
530
625
194
629
506
782
882
638
867
178
633
660
621
493
91
304
239
834
12
205
983
265
718
439
590
375
803
179
267
507
399
31
51
394
686
226
182
406
863
812
142
88
296
218
989
304
752
917
544
910
171
212
907
852
316
824
965
641
126
118
2
399
88
161
330
218
802
91
737
946
395
657
531
211
650
166
664
749
760
417
963
138
369
987
324
926
909
28
172
317
433
606
394
158
121
406
544
701
489
274
383
703
324
220
749
77
635
255
215
926
257
96
687
145
453
179
389
708
722
311
961
32
161
179
518
379
190
782
465
72
789
527
582
169
385
627
953
824
386
558
969
658
398
371
556
365
807
907
980
981
753
916
42
472
660
178
754
466
512
76
386
100
657
928
519
242
372
317
922
541
372
490
80
170
1
621
526
644
359
935
615
925
880
567
620
193
525
36
345
859
189
123
613
58
168
851
221
353
491
483
965
206
157
158
326
927
198
393
303
208
106
754
552
2
295
803
236
233
99
780
766
392
188
710
409
367
602
913
425
503
586
936
141
910
152
908
426
355
323
488
114
509
176
387
795
357
718
526
75
706
853
745
810
637
38
936
998
454
485
64
936
956
464
801
936
837
463
650
742
50
958
866
366
937
655
587
473
413
13
761
992
808
266
737
615
907
452
709
959
611
883
291
990
653
855
961
159
914
153
900
820
220
333
902
115
889
128
753
256
129
176
772
393
884
122
235
339
440
630
779
545
579
759
729
307
609
276
636
802
919
639
758
509
661
853
266
719
115
744
762
5
851
350
939
340
978
822
782
417
616
408
368
935
595
886
494
317
601
852
394
443
549
10
282
893
527
695
856
245
761
13
214
616
615
507
909
929
389
333
276
761
189
170
929
379
72
2
536
286
993
382
27
81
182
510
568
209
49
749
369
446
653
954
239
614
875
934
402
311
966
544
533
959
425
486
53
698
669
533
511
271
935
901
119
516
200
341
709
255
317
942
370
971
487
286
347
973
300
656
587
833
949
370
332
907
950
416
365
149
43
325
403
270
832
811
100
482
988
92
412
655
889
201
841
478
544
725
592
287
653
957
389
565
496
580
10
714
274
587
772
881
763
837
504
670
9
319
69
879
516
492
769
363
542
589
626
952
202
214
62
261
429
744
979
547
880
906
278
278
294
784
333
61
757
1
750
785
597
61
443
348
543
91
883
607
967
765
998
388
461
408
862
576
973
875
121
972
145
520
510
673
872
213
375
873
221
494
995
75
980
586
736
939
497
421
57
740
959
968
420
100
52
845
665
306
810
328
930
753
786
475
753
743
698
101
952
764
371
664
424
783
645
461
462
836
74
461
419
798
920
363
166
595
488
632
103
995
529
699
978
432
943
730
44
960
165
109
888
685
631
424
881
960
987
278
310
821
892
457
298
375
972
385
486
302
859
105
798
0
464
817
823
665
236
620
540
446
866
700
476
327
293
601
881
297
536
785
77
3
604
289
74
181
966
793
738
684
922
285
881
480
588
292
345
637
404
699
132
110
507
231
377
733
615
678
305
981
468
273
638
24
771
962
820
687
752
827
472
133
191
256
682
376
744
122
205
600
738
221
317
659
859
630
208
135
945
180
138
925
26
173
473
730
968
886
490
650
243
221
881
345
235
170
10
483
858
317
443
340
297
384
648
684
377
33
616
478
392
673
499
250
359
62
943
514
699
862
645
31
612
158
366
797
552
836
590
853
83
171
123
178
667
943
108
260
27
612
907
74
972
181
799
295
832
70
592
882
498
817
454
931
754
105
851
618
595
425
760
356
989
503
438
777
170
686
774
300
804
131
72
375
671
43
56
119
670
674
622
9
441
554
415
104
154
945
654
777
278
406
933
468
81
336
62
525
12
777
664
980
779
16
797
535
318
945
969
727
179
249
636
227
462
7
489
878
964
206
430
957
734
897
478
449
709
332
1
685
370
18
666
67
833
637
156
346
605
503
312
768
345
106
518
156
320
852
81
253
36
992
472
339
353
692
353
81
951
461
116
466
669
469
989
675
670
347
249
261
343
304
464
697
249
294
543
381
809
232
236
810
247
430
374
512
704
82
817
489
373
676
917
698
81
368
204
351
766
500
920
504
361
67
148
281
133
757
492
680
253
379
416
117
444
838
643
884
734
969
560
873
333
298
265
583
570
55
789
693
898
635
857
412
852
216
764
105
649
863
430
980
968
771
986
499
457
39
804
378
546
923
468
850
951
432
901
189
0
929
458
432
621
625
959
144
369
255
423
525
471
983
851
651
428
766
120
205
265
239
678
589
424
669
849
209
294
898
952
206
38
365
30
363
599
210
177
521
216
360
778
821
765
434
582
672
185
717
939
804
379
508
392
247
704
1
574
145
852
899
714
823
508
786
711
356
612
36
334
761
425
996
470
946
448
829
898
580
723
986
498
510
343
499
548
124
994
271
116
43
229
822
169
763
876
279
240
959
889
628
294
328
926
826
113
885
132
763
687
264
383
893
161
108
287
707
908
112
253
44
395
224
266
31
426
103
685
75
540
409
119
701
955
298
107
13
748
275
966
166
294
264
429
320
904
675
199
487
45
578
470
192
857
682
966
5
735
901
149
56
783
555
288
197
724
910
168
220
597
648
605
658
294
950
11
461
342
646
953
104
315
456
16
162
206
134
852
614
802
91
95
132
107
155
400
93
451
255
189
858
527
190
725
101
329
35
710
943
505
168
914
72
135
79
477
779
164
300
958
988
431
88
841
290
705
657
30
644
989
457
863
127
522
877
619
553
514
219
207
415
623
77
234
271
499
605
7
853
109
240
877
317
734
905
929
466
363
738
610
771
961
799
9
572
904
928
630
257
917
580
205
124
962
295
627
326
208
308
777
65
810
862
235
144
508
924
640
726
631
484
753
323
641
42
848
284
652
5
80
979
908
378
428
556
120
834
63
457
434
630
952
143
244
638
105
600
277
102
596
286
122
146
455
813
324
353
339
70
222
879
124
183
485
685
730
405
11
327
416
36
4
632
408
718
864
721
35
42
847
16
977
272
954
361
662
212
242
483
213
265
193
539
565
224
915
987
509
643
732
975
894
143
395
743
272
583
66
189
386
652
397
543
551
396
973
822
112
554
507
38
30
263
652
951
968
896
184
388
88
718
850
842
526
884
396
447
571
831
170
269
215
33
708
904
927
256
35
3
196
113
552
371
643
684
81
981
304
923
170
948
107
606
833
345
33
843
547
839
493
167
748
873
457
769
731
249
686
353
288
829
271
751
150
983
992
954
657
74
431
680
10
944
916
499
665
144
725
153
64
879
51
774
341
121
690
392
340
902
270
395
79
506
628
508
247
734
462
166
519
354
673
62
338
738
213
73
616
628
260
784
61
685
88
433
946
133
173
48
148
935
533
230
293
80
189
252
278
137
623
764
263
137
783
539
85
894
270
935
208
859
24
830
599
319
8
882
547
545
561
131
670
412
875
843
198
162
910
274
367
763
630
12
278
304
753
651
620
205
630
615
663
980
933
976
961
312
887
572
590
745
138
297
337
448
426
103
155
968
183
555
447
45
368
61
704
13
855
137
849
149
448
472
415
38
828
57
972
695
464
475
902
279
544
629
506
661
449
989
520
502
873
528
169
186
414
202
205
98
308
952
132
118
585
481
173
339
847
558
638
468
730
447
628
864
607
327
875
776
357
301
412
800
546
699
240
943
306
42
681
950
264
664
559
327
335
804
445
422
493
666
316
347
402
666
68
707
100
194
195
321
527
751
448
840
20
664
810
898
593
58
555
647
841
972
754
800
804
220
580
198
605
879
552
227
377
36
250
677
295
660
929
76
245
408
136
402
457
682
49
98
389
746
604
942
614
583
774
943
749
964
23
950
627
677
28
317
421
712
130
434
455
230
177
601
453
282
838
139
524
165
82
85
20
962
380
136
337
737
310
760
893
157
147
455
553
446
68
824
672
804
288
90
498
274
462
316
943
441
601
677
245
477
884
546
303
717
990
652
323
579
90
514
540
727
514
954
912
929
574
806
788
756
674
235
338
774
185
100
400
462
486
983
646
103
140
522
825
267
24
335
790
871
628
224
199
393
764
695
592
323
973
228
481
257
138
839
347
719
975
158
596
54
737
995
382
855
701
246
232
143
245
942
214
447
4
126
136
48
535
966
952
479
886
742
847
889
257
144
163
588
747
832
177
914
35
811
521
945
917
96
472
876
512
900
963
575
37
130
658
277
880
238
398
833
785
578
244
514
355
189
339
300
713
500
518
337
596
997
892
641
731
587
676
285
371
322
110
795
767
632
324
311
73
446
66
55
120
323
796
446
772
557
482
490
54
71
689
655
885
971
704
140
467
610
524
446
772
265
78
800
382
444
25
516
580
954
215
884
122
191
565
375
90
992
746
124
918
892
4
720
249
598
388
863
560
316
68
555
274
909
552
818
908
831
72
481
681
980
440
716
109
677
245
118
776
743
197
286
402
355
108
832
26
435
101
465
272
933
300
485
389
166
951
411
708
385
873
771
919
916
953
656
88
68
752
777
941
773
722
249
343
179
875
799
496
971
640
872
881
623
194
974
138
666
300
136
648
274
979
260
594
85
599
969
168
806
409
163
956
607
270
14
821
420
356
417
890
199
931
997
583
364
648
394
974
902
137
366
687
692
918
783
41
210
924
466
306
758
187
53
257
33
637
169
142
486
963
635
149
899
358
961
19
335
478
173
691
987
473
669
117
375
656
258
519
21
481
77
974
321
4
175
280
755
414
153
653
506
945
219
382
952
999
83
451
461
6
581
568
906
910
69
863
474
395
275
962
325
877
93
599
126
599
36
892
649
83
725
824
848
785
852
239
397
631
504
160
268
161
407
534
80
959
374
773
729
73
116
918
643
25
822
597
893
278
573
179
348
415
21
541
981
785
976
128
73
717
652
829
847
66
121
234
430
904
517
688
513
19
327
492
421
392
890
299
7
677
216
769
30
923
827
605
498
243
705
866
133
711
436
809
267
902
821
616
372
438
147
981
581
698
562
238
502
885
5
402
998
432
741
248
732
74
896
495
337
811
276
140
929
970
998
524
528
960
813
257
999
919
786
288
399
145
327
531
188
630
691
354
952
622
841
390
45
498
273
546
275
968
35
582
965
168
333
256
484
867
30
40
171
455
170
558
263
628
839
806
92
464
707
486
119
33
171
838
909
210
204
753
730
999
918
12
872
157
593
40
141
224
615
283
189
280
72
611
111
894
482
108
254
8
155
739
92
167
78
883
962
364
223
322
615
959
307
688
479
133
644
39
959
39
248
33
224
549
360
705
646
685
710
135
905
959
694
528
967
57
944
95
696
50
696
25
816
276
823
498
38
579
604
503
566
674
345
644
227
696
587
406
300
559
679
718
350
448
74
634
577
185
163
247
514
669
112
184
683
589
276
485
749
199
413
638
649
822
50
442
305
624
256
93
498
518
37
405
371
67
255
440
609
157
847
942
283
728
725
280
724
647
999
323
991
424
991
599
314
10
712
364
61
111
598
579
641
865
278
772
319
765
804
67
29
503
206
540
718
288
652
79
170
66
491
513
103
863
887
870
37
210
483
136
412
571
886
607
729
738
195
500
444
686
510
876
952
157
195
495
291
845
675
892
940
306
302
708
936
237
744
762
288
650
657
677
270
202
214
772
430
245
12
978
493
611
459
383
759
504
310
157
110
472
839
437
578
816
738
443
535
104
74
241
231
972
973
998
423
69
259
493
353
6
909
804
32
343
561
280
183
513
543
306
41
444
245
765
226
804
13
797
748
905
212
168
874
370
119
538
539
406
395
844
422
482
155
215
64
200
759
924
114
96
389
126
610
299
301
391
246
42
786
740
141
854
982
480
222
19
975
186
672
848
34
532
404
589
443
727
939
23
353
546
829
549
686
345
564
601
248
897
374
275
808
748
25
202
344
839
889
393
137
659
43
517
177
408
544
569
103
506
220
839
960
646
751
274
702
30
776
235
893
21
105
757
243
691
114
47
736
415
224
674
665
603
830
516
382
657
379
224
921
647
15
317
387
584
979
551
405
777
440
330
924
428
721
226
607
444
982
135
181
940
969
721
721
40
691
223
816
499
108
194
661
928
751
703
720
389
533
44
679
871
886
152
433
945
314
566
824
306
542
940
34
196
605
233
33
242
436
748
346
281
747
412
891
616
300
103
537
800
648
92
358
585
599
63
257
103
116
681
373
339
907
236
724
686
998
186
490
484
492
708
970
508
272
778
666
390
407
940
576
398
741
748
767
199
991
46
108
8
346
238
144
43
937
760
856
948
843
520
87
387
200
642
259
592
724
272
61
499
168
787
118
898
696
808
914
944
736
942
621
868
765
627
261
475
891
66
114
390
969
844
374
689
21
389
147
49
914
504
362
440
421
116
657
245
285
36
63
254
655
476
617
936
573
490
586
96
625
10
781
606
295
352
327
9
113
910
879
351
466
636
634
711
291
892
648
866
390
392
78
678
283
501
100
645
496
212
427
632
883
698
634
30
901
357
946
495
822
551
539
127
927
702
10
11
794
905
305
725
117
401
367
143
204
70
447
122
924
691
380
495
969
582
850
473
295
878
522
702
785
324
454
124
202
896
197
264
578
623
26
41
158
229
422
289
295
136
95
798
114
394
915
897
488
668
676
956
968
842
488
522
108
449
781
864
624
664
385
866
818
233
465
390
359
867
432
830
474
297
47
507
352
737
546
672
523
184
683
243
413
302
693
796
937
373
519
463
248
984
522
445
287
422
552
678
710
767
650
883
679
558
989
663
691
649
914
955
117
900
155
496
586
21
58
653
921
830
667
411
770
919
569
469
388
364
12
86
586
149
663
627
293
854
889
12
283
482
108
708
217
671
851
588
807
551
187
308
881
29
122
54
451
725
903
471
320
21
159
903
564
451
755
329
383
255
210
308
989
336
920
421
884
747
859
34
195
76
735
733
49
373
303
200
391
571
780
453
52
631
661
971
255
916
160
792
607
951
541
814
482
101
492
480
701
516
220
166
996
51
465
763
443
533
37
505
960
543
541
514
617
802
979
483
799
153
934
198
701
764
848
983
490
232
856
347
702
346
617
145
390
539
388
160
95
390
371
965
865
151
430
585
967
405
842
678
516
133
929
23
325
546
10
168
835
886
584
975
186
29
306
492
895
288
385
177
836
194
317
283
834
313
901
621
736
709
577
887
51
495
226
401
628
668
328
434
173
125
304
227
309
146
752
32
539
507
826
422
814
395
96
401
681
179
662
743
959
554
527
589
241
182
599
771
178
293
504
274
849
942
882
507
859
888
84
5
167
965
753
229
903
682
277
538
211
444
534
164
958
560
627
811
736
616
348
597
313
734
849
517
328
308
97
188
119
214
896
585
342
72
996
524
621
131
937
573
205
189
178
749
964
737
663
859
285
387
518
348
946
708
434
959
793
121
514
44
207
459
698
237
247
157
898
247
336
697
776
135
769
355
557
816
522
887
697
624
146
534
750
434
792
979
443
862
800
732
31
435
348
186
569
192
621
180
190
776
659
733
843
768
896
222
971
249
823
578
361
234
792
723
91
296
257
226
594
383
619
192
811
349
837
461
848
935
853
374
787
294
79
412
517
456
529
916
904
293
450
80
986
173
35
85
510
865
382
859
322
962
716
194
350
673
88
838
466
887
381
968
404
243
959
939
215
220
18
975
600
452
921
24
828
887
721
717
889
308
12
545
860
168
378
704
918
628
72
772
70
445
884
338
114
140
909
778
414
445
952
477
924
43
274
328
594
582
875
930
411
495
892
948
40
503
766
756
586
650
316
739
692
852
990
937
847
565
847
584
475
309
985
34
474
31
792
624
439
253
392
996
13
108
68
985
257
710
278
465
883
852
463
763
530
9
739
200
822
239
991
124
192
397
229
946
712
984
928
401
50
196
702
697
636
108
497
911
767
478
268
268
65
320
822
142
542
751
327
400
815
509
316
306
340
897
362
791
744
881
283
905
588
686
305
345
460
986
761
556
880
514
438
771
904
48
106
758
358
3
981
50
815
814
251
968
444
850
922
68
371
92
256
423
416
894
136
435
285
861
397
215
809
818
788
923
286
184
886
987
846
788
182
297
803
250
994
236
538
488
282
360
686
809
873
536
101
122
189
157
351
476
109
639
300
411
315
88
917
100
362
659
221
169
926
958
351
694
797
955
946
950
678
909
695
868
44
283
882
607
430
25
211
268
626
406
932
507
4
117
575
3
906
569
871
227
323
167
143
718
707
583
930
792
824
112
647
464
632
898
264
763
644
159
694
604
204
331
331
762
44
468
603
40
168
202
986
186
743
91
254
678
62
135
205
684
86
445
105
222
623
142
475
357
819
567
606
430
700
515
493
222
891
108
134
132
361
500
95
52
87
211
763
963
911
698
152
9
153
807
669
432
975
217
725
682
922
292
41
140
866
369
300
376
823
821
884
270
615
45
108
272
832
837
312
69
502
529
404
492
945
604
557
2
339
705
42
802
523
36
890
457
279
954
496
927
89
965
647
335
155
588
136
515
137
382
116
586
317
99
458
165
485
129
581
401
299
123
593
119
667
429
76
88
499
694
603
548
807
186
378
235
272
329
190
504
224
393
295
685
56
50
922
13
180
66
94
843
554
706
9
292
268
265
450
860
34
843
569
653
288
443
345
194
682
758
93
15
161
877
989
749
431
608
408
631
641
775
672
651
206
148
884
654
73
811
154
828
176
324
23
761
317
284
115
128
433
377
912
666
619
145
790
226
624
29
776
868
425
370
356
972
435
41
382
446
795
908
662
916
916
878
48
939
779
28
314
120
246
833
634
517
510
854
72
99
435
907
682
671
124
663
822
203
176
113
121
488
707
721
911
641
662
77
672
503
759
108
104
643
835
451
992
107
81
369
563
716
671
442
393
522
701
46
182
79
601
893
398
406
451
624
569
424
822
343
119
833
709
509
724
866
864
481
839
340
334
112
352
806
822
993
687
779
262
666
737
590
912
896
505
170
7
565
42
634
737
14
678
771
799
402
207
458
876
315
86
177
872
738
736
114
812
436
542
778
274
387
51
520
769
406
639
653
19
806
507
811
38
443
142
340
515
196
861
938
598
809
806
738
208
484
851
228
189
435
301
680
353
726
327
880
954
766
317
978
904
880
850
278
586
761
72
639
524
585
167
787
109
805
276
740
608
789
590
925
712
814
299
665
663
720
763
730
466
333
91
787
50
134
488
220
487
776
586
808
37
27
295
980
780
64
810
40
122
256
313
452
683
308
596
739
608
547
671
51
237
75
116
957
580
735
212
31
118
732
527
546
652
209
926
706
224
942
221
365
474
824
93
501
406
703
306
411
954
439
781
73
24
627
167
589
189
505
746
669
504
273
858
877
988
429
863
638
714
340
343
646
485
836
377
294
76
346
391
441
620
740
985
435
922
584
539
989
348
38
320
252
863
64
245
237
67
988
792
541
595
293
209
595
967
713
814
529
297
857
884
150
433
922
631
569
747
220
439
560
570
968
948
818
110
488
951
311
318
203
83
261
39
950
8
589
429
57
941
131
702
128
486
100
680
632
66
519
543
40
868
780
740
117
694
925
947
242
922
705
798
116
190
804
575
439
116
271
40
242
947
731
770
969
140
451
154
384
33
661
354
986
140
864
557
516
66
722
368
442
907
820
241
508
178
273
102
326
750
714
341
987
505
164
774
24
92
551
579
749
167
784
37
971
415
293
69
970
315
222
557
235
345
190
338
34
46
224
227
890
976
598
809
672
85
22
393
672
758
38
505
315
145
237
240
301
52
698
345
268
626
449
426
528
775
220
151
764
281
556
755
161
527
582
277
152
215
21
75
631
686
591
455
470
30
212
171
938
360
726
661
634
238
210
417
94
465
568
25
326
617
357
100
596
26
524
258
605
859
803
749
169
777
384
486
310
604
188
317
468
10
250
401
540
519
905
698
162
750
51
20
964
490
895
127
510
822
595
20
24
206
254
676
884
278
873
911
931
296
347
790
414
64
546
819
866
52
671
46
330
838
765
322
994
25
448
832
403
539
992
100
697
922
496
390
806
575
343
15
538
845
787
445
815
684
32
286
441
646
331
301
16
210
829
972
866
583
665
68
259
705
794
515
97
124
642
59
678
396
292
357
805
355
411
245
893
215
757
424
429
494
461
760
544
306
5
692
536
412
733
891
267
236
301
63
628
901
544
383
953
451
351
718
103
111
38
30
497
7
415
948
384
321
995
897
459
285
2
662
505
79
981
665
471
411
628
799
839
44
449
318
307
831
872
698
861
27
123
4
282
0
514
876
501
885
236
320
928
211
250
19
145
528
652
729
791
298
874
471
884
166
791
994
789
557
700
85
589
271
323
439
797
736
621
337
853
792
587
756
69
613
860
74
110
977
520
363
42
894
106
933
682
273
639
355
207
21
365
669
368
416
27
930
620
398
514
489
662
797
685
833
796
748
24
388
618
147
900
315
720
696
285
51
828
132
89
376
537
519
895
661
843
518
919
48
649
823
752
599
557
949
673
269
259
539
409
865
13
368
27
837
71
317
160
738
90
775
62
55
861
480
669
73
389
937
297
858
846
482
556
436
862
4
828
340
260
911
138
591
423
287
177
637
218
490
718
966
406
27
35
246
548
777
512
280
46
977
699
362
281
840
935
659
697
281
340
241
201
647
644
65
614
1
962
735
605
508
646
967
815
750
594
889
718
173
312
103
177
230
624
123
873
645
970
900
577
142
669
415
225
326
266
606
452
483
287
611
112
348
277
825
779
908
537
644
95
559
26
127
239
124
925
824
299
457
776
614
86
195
127
724
742
204
731
622
219
13
580
878
432
699
201
89
159
387
154
623
515
371
792
112
636
39
296
486
579
660
524
330
873
741
301
79
628
640
603
623
437
907
906
709
133
316
664
30
421
186
445
512
164
455
685
872
108
238
53
119
603
768
859
197
556
833
709
589
346
435
491
715
948
95
462
409
196
973
445
806
669
533
813
888
930
72
525
890
896
169
978
451
485
222
915
828
595
841
792
892
817
576
424
73
236
387
725
387
551
751
154
314
811
80
296
494
790
446
418
887
680
588
858
15
837
793
611
262
776
243
257
130
851
649
164
512
860
396
81
900
141
859
760
316
796
696
325
712
556
716
854
65
684
146
299
857
471
976
507
203
679
370
408
287
892
758
235
600
554
744
539
957
217
684
42
933
606
664
496
232
268
30
83
977
169
407
46
808
777
274
842
923
409
739
863
722
420
14
471
521
71
812
185
822
310
434
988
695
341
328
833
975
485
299
612
244
790
67
620
835
674
939
973
936
390
874
434
313
704
81
760
71
57
718
785
452
584
263
929
137
453
549
644
274
204
874
173
354
636
458
308
470
936
795
773
865
679
746
266
274
420
571
961
500
284
136
207
367
10
424
899
923
726
689
5
374
602
410
30
346
538
97
738
517
652
807
901
360
254
707
471
87
873
960
190
645
159
683
727
248
227
794
866
199
862
790
701
288
858
356
972
578
589
383
843
686
455
926
642
506
675
783
898
268
397
875
837
9
737
901
629
311
88
364
52
712
816
899
184
121
255
229
817
198
718
678
314
643
138
396
654
722
290
357
567
939
895
592
506
155
708
749
282
967
362
114
622
141
776
679
539
418
871
518
357
912
150
218
729
194
718
46
217
152
435
352
187
176
914
468
422
743
862
574
739
65
176
345
491
703
476
743
653
27
243
722
689
842
72
324
261
975
77
269
108
457
719
611
220
446
114
253
885
706
398
982
988
983
248
782
280
867
280
822
344
908
528
678
898
528
74
341
805
947
208
200
530
221
748
740
699
985
203
640
348
727
458
503
907
904
485
939
418
695
217
169
82
892
551
546
331
2
80
587
747
587
829
432
63
715
544
576
377
250
781
712
32
929
783
354
316
161
26
584
353
962
948
832
532
290
382
44
892
518
910
597
639
245
42
898
207
410
563
71
462
119
34
769
279
209
897
717
174
514
979
917
112
235
170
925
19
323
850
606
127
989
918
417
719
354
934
178
78
471
760
897
677
368
285
321
496
635
945
729
413
691
961
45
161
174
241
38
316
890
962
179
167
228
516
845
119
643
905
215
922
514
601
209
235
720
414
413
810
455
339
77
714
56
476
125
373
806
907
901
930
987
242
38
895
221
770
525
198
328
44
182
278
586
297
77
350
548
361
670
720
666
414
901
131
846
410
545
204
166
617
957
341
741
178
624
302
509
102
47
163
524
22
466
235
436
673
168
919
831
468
913
809
586
290
20
160
255
187
57
647
835
648
39
339
257
88
558
362
609
458
437
561
874
131
685
667
126
910
996
638
714
282
113
548
376
501
190
536
245
94
287
26
439
653
803
905
550
209
784
853
384
90
19
60
929
183
448
482
767
234
589
255
451
150
855
183
470
496
135
310
881
696
748
795
367
7
598
691
761
147
2
888
559
818
579
581
576
525
192
644
270
455
421
937
400
10
601
625
768
607
944
416
684
635
281
255
120
263
175
788
980
521
906
773
66
715
249
932
946
622
237
556
126
529
507
717
552
223
559
305
808
214
839
215
385
257
644
895
252
527
542
703
645
445
783
253
1
829
965
6
319
540
840
223
323
210
540
850
623
838
976
78
303
83
654
773
475
6
556
292
569
889
452
18
739
640
951
377
946
828
85
733
955
363
494
761
3
139
119
912
253
900
459
834
607
554
199
591
12
478
369
704
689
472
326
166
406
192
712
84
186
405
749
597
694
754
896
477
452
148
192
180
432
617
76
644
156
782
543
190
616
434
270
514
895
586
236
934
555
281
178
491
457
164
198
169
615
920
577
586
383
163
724
356
327
288
245
575
532
207
611
87
674
979
654
477
429
168
123
807
94
842
93
158
233
698
799
696
209
853
637
281
291
6
570
667
324
381
497
919
720
574
448
954
741
231
598
755
378
842
801
782
825
902
469
211
265
401
585
832
900
741
194
745
235
812
244
644
555
788
179
742
963
108
609
370
19
994
984
712
36
200
672
384
700
519
515
795
88
577
440
880
916
428
109
112
975
437
456
633
626
874
489
22
426
749
732
488
299
153
831
425
628
669
572
727
608
563
449
854
733
564
779
957
85
581
684
140
750
858
46
50
657
782
247
982
450
205
868
633
472
365
406
837
495
233
51
412
199
747
360
801
289
97
848
765
381
695
224
125
826
506
279
68
106
896
631
628
852
754
300
476
814
298
429
642
95
753
120
719
454
167
178
689
381
184
663
623
59
168
525
152
885
735
474
508
118
909
738
432
804
831
629
212
339
508
11
916
828
240
872
234
43
505
28
449
497
44
403
855
876
991
30
97
139
215
674
634
715
365
716
113
562
737
143
784
836
186
876
34
447
404
349
472
279
379
579
287
391
664
440
701
697
326
928
440
847
929
738
705
488
352
937
293
244
102
326
768
717
36
353
938
838
360
602
108
138
192
987
91
1
417
670
631
639
71
338
611
659
255
982
677
287
811
999
907
4
219
500
900
387
125
947
272
219
23
75
853
863
855
241
266
843
153
194
479
839
153
994
101
367
117
957
88
311
232
601
719
950
526
213
859
687
511
958
526
884
123
446
776
484
832
589
614
806
628
659
44
135
760
33
692
938
467
373
276
69
986
291
33
360
111
746
973
257
277
400
626
6
596
787
655
601
664
814
627
415
33
527
669
588
988
512
433
90
126
331
766
847
91
19
278
999
298
199
262
892
171
994
745
567
887
208
520
851
271
662
505
749
940
606
918
949
879
561
416
555
430
826
656
504
886
277
92
604
803
629
258
621
993
886
897
740
852
386
978
659
425
131
559
571
722
837
45
565
468
963
361
151
820
697
223
282
243
194
600
705
188
419
411
933
15
665
351
900
681
951
781
225
271
701
758
765
621
425
569
837
888
88
52
604
668
957
347
897
677
781
235
640
914
317
784
174
494
269
767
78
735
249
684
555
725
98
202
33
301
343
692
867
83
514
454
612
913
593
510
183
214
604
328
497
639
146
596
584
456
66
445
327
643
53
642
280
233
386
92
167
710
336
132
252
183
236
136
735
148
890
281
919
387
129
350
324
81
621
306
694
835
765
848
158
754
531
712
833
649
973
35
374
34
432
863
744
16
826
748
732
696
771
51
963
960
549
616
638
505
51
843
814
736
970
215
633
43
602
70
205
582
665
91
231
243
147
52
857
417
976
955
727
769
36
332
194
540
82
882
527
211
707
336
455
945
871
595
720
461
662
788
673
878
684
237
655
279
791
641
429
536
377
617
875
638
491
697
677
147
852
487
472
507
296
260
809
498
668
798
536
612
294
960
926
394
196
343
32
624
522
157
653
775
673
125
396
711
573
355
665
270
772
371
808
667
428
394
326
244
369
511
848
988
569
665
570
589
977
445
402
503
603
464
204
62
776
463
728
133
300
795
877
194
591
232
772
86
73
62
68
439
667
371
536
480
117
504
470
259
841
738
32
676
320
211
790
34
469
970
946
938
905
895
61
321
902
923
737
481
780
933
789
950
57
10
595
792
210
608
26
882
161
369
165
429
148
956
933
915
794
78
870
531
336
604
878
683
367
789
423
118
161
392
594
40
127
80
762
175
617
607
216
709
496
965
819
659
872
661
842
821
647
846
769
690
561
369
28
668
223
680
846
632
722
295
113
211
467
579
749
388
371
121
450
379
421
639
455
236
783
378
577
435
631
546
652
240
107
660
691
325
953
375
139
352
768
134
375
475
59
326
275
236
826
492
829
931
710
724
875
614
913
850
558
854
95
587
194
671
515
380
231
415
143
104
318
46
233
533
760
844
636
582
692
456
284
751
751
679
39
999
896
738
414
958
750
756
782
229
581
798
78
498
989
539
563
613
888
611
458
5
288
314
997
341
688
254
466
643
821
496
823
128
261
864
200
598
289
259
689
645
774
697
833
115
441
709
677
447
860
521
144
166
103
884
918
498
759
550
675
147
205
615
542
217
596
827
887
176
368
930
217
932
59
146
104
922
459
742
981
838
120
509
722
648
845
55
756
101
644
255
696
799
902
259
985
8
173
381
367
236
918
364
175
933
210
126
962
756
155
609
423
11
170
696
536
122
35
172
958
32
247
818
188
569
408
584
785
410
304
14
499
818
991
61
720
918
94
196
70
756
287
523
306
172
686
51
549
144
606
840
405
116
153
784
150
638
650
488
351
9
348
367
772
163
530
808
474
443
973
881
872
925
893
741
534
337
864
74
734
579
550
851
797
801
316
20
581
243
836
794
532
749
453
540
782
383
804
559
287
734
958
299
267
858
802
140
138
450
789
83
16
323
765
466
204
485
534
881
341
834
967
769
38
772
388
956
876
343
722
497
598
76
821
401
906
352
45
400
640
979
456
449
704
407
173
221
948
626
87
521
90
823
337
190
36
996
458
967
451
735
539
81
61
605
879
118
742
1
793
111
682
793
59
734
553
124
992
821
659
641
858
613
269
453
936
91
405
91
773
964
65
339
548
426
544
635
82
226
440
950
551
177
290
536
395
352
675
410
535
827
275
215
216
851
289
436
161
424
101
16
676
802
828
188
733
620
12
20
708
371
64
462
495
799
477
876
770
666
8
639
16
998
279
610
279
522
217
262
762
17
160
725
890
993
368
207
153
859
17
58
839
457
580
808
427
90
642
765
438
159
563
769
983
949
404
249
75
634
559
643
437
43
339
14
89
241
290
180
265
166
281
259
376
499
988
274
109
827
870
837
513
410
837
471
491
309
675
522
409
985
748
521
433
104
229
169
472
654
637
378
138
109
628
623
305
818
759
966
723
133
634
15
431
307
327
666
721
712
461
728
688
524
623
348
279
24
236
328
808
749
991
679
631
197
731
690
584
539
173
571
624
966
846
748
223
10
360
547
895
696
815
84
129
24
618
52
680
369
985
124
76
919
608
35
670
441
294
11
678
954
4
927
863
947
206
28
737
105
406
25
943
582
99
739
718
711
517
795
451
570
705
557
446
635
338
325
934
772
502
575
640
899
685
983
643
380
149
954
614
872
612
344
672
557
869
960
225
205
390
768
896
492
152
511
954
425
655
482
261
306
659
127
143
317
731
258
822
812
58
772
245
767
569
890
292
96
1
861
692
734
959
161
927
816
173
626
309
737
854
250
0
532
828
516
699
459
896
733
888
883
75
265
193
202
404
169
867
158
563
233
972
667
339
537
627
393
584
120
686
934
300
951
2
553
631
430
769
719
889
571
644
736
661
90
524
201
58
99
3
143
833
931
454
628
97
993
825
466
209
27
512
198
645
69
15
493
39
910
343
290
46
901
97
171
689
661
850
503
697
71
754
110
840
127
892
279
462
312
280
642
423
867
403
949
297
384
203
375
210
390
860
679
722
806
959
763
253
187
535
845
562
358
930
109
959
837
58
353
513
202
379
231
902
786
791
528
784
804
218
564
859
421
599
319
656
321
380
199
140
786
298
38
234
162
971
652
613
295
838
636
240
605
637
316
975
744
298
437
166
749
110
514
146
849
103
992
868
945
433
678
582
896
415
931
420
587
145
866
64
627
355
467
422
272
994
124
815
898
528
67
235
899
64
954
573
108
577
515
560
668
792
556
574
489
798
501
958
22
245
998
210
307
643
637
307
672
486
606
28
622
35
859
923
45
757
521
722
989
89
62
426
37
352
842
718
48
497
804
456
196
627
191
687
448
720
415
779
632
29
187
119
336
381
52
767
524
637
7
714
322
416
424
977
543
967
262
734
518
606
363
689
427
987
445
154
780
350
647
359
299
696
495
74
467
895
294
1
519
819
943
384
948
236
564
473
771
627
287
439
100
136
181
866
75
746
588
704
397
392
253
540
397
492
715
894
612
181
561
144
807
527
300
234
823
231
865
767
856
842
302
487
261
895
687
332
208
501
930
993
414
36
250
117
956
761
426
448
937
17
838
871
927
782
572
49
875
620
679
605
728
651
127
985
712
801
156
655
154
386
269
33
891
726
850
722
145
307
117
911
387
968
839
212
790
744
66
706
143
284
554
437
783
636
541
211
180
658
612
413
726
614
861
571
934
434
797
5
399
730
606
310
813
780
789
442
671
377
732
580
756
938
561
57
913
542
229
795
498
846
153
972
336
458
452
995
279
322
507
313
881
171
626
5
511
394
712
181
534
455
970
501
676
595
280
229
416
550
288
956
792
70
831
934
893
149
263
711
96
239
495
873
144
408
45
303
263
755
643
603
50
619
419
453
385
317
912
316
716
32
41
98
38
701
754
661
419
234
32
542
627
587
342
328
491
513
312
909
101
872
874
958
343
837
680
483
285
758
537
596
976
392
882
669
535
709
504
934
44
779
702
712
254
596
977
554
542
112
10
694
242
690
108
416
836
197
203
153
209
506
435
771
353
201
29
993
287
345
473
922
899
917
99
553
56
640
670
533
585
788
48
566
328
673
973
567
203
198
576
283
530
622
874
367
372
799
121
505
184
913
830
738
671
49
696
163
310
721
929
270
274
819
75
455
787
604
653
959
343
206
72
266
799
380
402
10
277
678
831
271
821
150
56
455
865
825
2
415
729
836
482
543
205
980
292
878
293
632
408
989
820
820
551
728
860
770
445
5
209
333
460
287
85
366
95
264
248
366
251
164
267
437
845
647
980
462
944
996
875
328
557
647
668
915
430
850
536
705
701
294
530
763
690
588
228
25
321
409
65
621
293
718
871
501
357
530
872
352
738
621
419
488
516
387
631
260
584
188
645
823
359
931
204
663
63
687
466
246
163
863
292
154
264
419
168
362
54
404
596
781
44
43
566
161
58
641
496
229
798
914
107
810
48
311
340
902
781
490
969
940
849
583
554
371
31
881
6
286
656
650
650
14
310
528
911
787
251
113
162
957
903
804
463
164
754
490
307
445
448
274
511
901
266
960
747
891
646
566
377
382
159
338
692
327
295
561
600
493
322
167
376
567
778
661
841
356
456
624
238
340
60
892
617
358
716
69
105
968
812
366
499
58
181
589
763
618
350
431
786
796
96
557
124
797
125
501
624
588
661
652
85
255
823
344
946
148
736
913
622
950
385
181
22
323
440
612
345
754
155
453
184
571
833
253
954
748
947
858
546
141
277
721
70
986
684
821
249
404
72
669
371
726
726
466
978
513
130
810
344
12
392
429
228
498
17
548
475
451
610
582
869
361
166
843
502
280
953
983
71
231
987
912
948
541
80
965
162
540
771
33
210
102
868
400
27
484
324
224
484
140
453
256
979
585
696
54
401
351
988
511
924
270
197
259
959
112
185
37
17
650
322
925
604
72
639
618
765
747
312
39
81
680
383
593
316
724
172
235
801
668
131
931
647
214
950
730
86
951
847
932
311
494
801
520
916
33
68
800
990
739
583
423
354
885
157
342
426
641
381
611
147
845
504
657
681
867
44
495
603
523
387
623
799
441
714
962
341
224
519
430
791
458
312
0
296
868
291
186
187
765
16
937
388
655
399
922
433
741
305
820
815
807
539
991
682
901
648
997
108
312
706
399
375
737
509
722
338
173
256
455
691
735
971
869
168
15
794
152
711
839
709
151
544
457
416
190
697
547
362
853
460
391
691
308
134
25
778
888
530
657
88
691
713
942
194
194
981
676
160
378
705
594
972
878
41
433
346
401
988
387
950
918
555
672
744
202
412
404
624
852
582
964
371
853
297
358
366
978
821
931
192
31
316
938
23
877
25
885
537
817
259
856
415
85
903
388
903
632
894
631
225
832
296
672
792
769
558
582
252
677
717
61
266
493
841
322
159
734
31
430
288
61
25
256
908
749
454
983
630
784
931
9
151
410
534
925
384
406
190
501
721
631
959
542
817
888
110
411
783
700
316
32
502
420
106
43
84
831
341
236
331
658
14
172
965
757
448
769
119
834
63
814
70
674
971
393
976
686
353
635
641
846
535
143
233
105
646
132
185
558
616
886
832
319
545
247
285
410
614
287
135
815
864
558
968
947
947
746
838
678
580
87
228
573
79
733
2
144
546
542
840
866
432
143
994
900
497
949
709
25
950
840
499
454
954
11
364
686
251
18
243
116
171
756
408
716
287
2
918
397
449
575
173
178
477
227
438
32
286
911
697
884
232
836
532
174
793
962
1
168
445
58
975
923
519
929
416
789
975
541
461
664
65
214
458
560
667
576
970
7
739
752
271
759
574
678
897
931
647
900
943
342
746
612
249
620
388
215
802
287
845
58
238
355
505
248
655
833
218
489
992
788
902
973
358
588
657
971
359
56
199
161
325
843
332
544
881
496
965
197
245
45
869
871
549
252
863
904
319
147
797
598
756
431
335
886
512
99
832
517
337
12
119
165
803
772
243
439
282
624
534
713
238
923
522
224
870
571
536
272
584
549
667
261
52
20
704
326
373
235
988
665
490
959
149
547
24
262
952
838
352
732
223
612
212
605
974
544
138
179
743
182
368
830
591
751
309
315
124
594
431
303
596
461
824
277
437
902
920
75
191
202
598
259
820
873
422
835
96
625
776
184
417
658
242
18
798
990
594
26
536
971
674
591
258
642
198
566
954
22
293
175
564
451
921
732
273
823
811
634
179
129
889
382
378
149
480
980
10
134
44
732
91
317
422
580
578
732
389
979
961
925
918
609
417
100
339
907
129
781
341
75
946
270
701
169
670
559
431
222
66
817
899
50
815
750
864
762
687
900
199
260
470
433
108
854
382
251
292
90
695
106
68
718
553
822
730
85
845
976
986
512
186
122
790
538
490
150
561
929
84
56
499
445
297
247
929
658
108
801
780
486
939
962
886
754
701
726
141
178
611
537
542
573
788
134
215
816
295
909
898
595
877
770
665
356
166
569
473
208
703
383
776
899
837
448
127
408
627
965
447
818
56
571
661
260
169
934
459
243
39
268
428
340
438
79
407
785
331
285
953
680
173
389
230
604
632
273
981
723
498
39
173
847
728
246
369
596
319
171
322
792
426
445
159
602
93
247
427
724
958
374
10
888
750
921
941
559
292
499
99
248
734
912
384
463
959
639
220
356
215
781
896
678
506
769
758
574
995
720
908
58
829
521
265
306
28
995
375
569
134
830
514
76
491
731
419
552
920
152
725
438
920
662
639
481
890
383
919
749
921
445
252
314
579
369
931
989
309
241
396
838
557
75
47
658
469
662
895
161
121
467
165
115
279
483
338
795
648
517
588
255
709
798
327
1
930
651
508
183
468
648
705
191
96
786
250
744
697
540
720
121
896
424
229
710
304
995
219
699
723
363
656
758
441
610
285
318
414
641
557
97
200
740
493
762
620
810
128
13
10
496
70
675
583
794
91
579
449
50
41
722
430
646
171
924
602
535
374
693
75
351
248
450
444
950
175
992
814
810
581
826
536
480
742
70
578
908
540
265
918
68
914
847
527
83
466
184
946
243
447
636
109
321
107
663
412
160
276
212
11
741
137
998
502
352
98
790
3
422
80
514
846
315
808
139
983
522
500
996
390
696
801
238
45
498
247
109
703
965
387
793
373
150
383
91
332
358
62
555
354
626
653
232
151
287
673
840
191
353
845
579
238
779
908
36
775
606
846
960
857
738
339
774
852
651
662
683
624
664
417
405
736
643
254
282
121
834
126
446
548
793
54
557
456
824
669
437
117
453
638
857
262
290
530
15
828
282
612
905
340
957
63
234
224
883
60
790
972
198
420
488
468
152
451
44
82
328
69
777
473
940
739
77
781
838
596
267
538
687
537
576
272
765
711
64
138
447
840
997
65
976
661
602
777
464
180
565
721
473
761
642
122
935
813
177
52
615
767
204
442
731
346
798
541
396
482
536
254
449
919
757
648
161
520
565
47
872
979
783
754
802
300
495
180
608
758
525
427
145
64
329
831
20
698
40
9
695
892
904
961
472
832
46
847
138
831
788
171
952
442
582
321
58
423
912
888
390
541
234
206
83
871
754
128
763
160
244
987
32
830
516
173
930
777
461
912
204
832
369
47
364
360
845
300
801
446
104
513
925
527
194
578
897
401
905
865
696
640
521
583
590
504
67
828
505
63
879
646
311
226
733
178
212
674
169
411
309
111
591
442
835
491
906
528
696
413
191
421
718
296
600
445
525
996
88
256
881
761
894
663
591
532
612
125
490
667
564
273
488
111
961
465
93
61
748
212
414
964
387
209
66
89
614
496
732
779
221
222
306
738
732
526
18
856
972
14
195
367
433
933
746
232
310
648
498
587
256
468
204
301
717
821
244
379
425
185
155
831
483
438
71
845
622
842
126
623
710
55
244
411
5
660
132
294
287
137
698
425
845
676
987
524
865
123
803
923
721
244
180
38
67
418
673
80
604
167
492
307
756
637
427
4
59
505
351
698
422
824
249
76
594
670
902
264
122
416
653
51
644
69
110
321
284
540
125
900
0
909
303
204
498
708
292
471
533
198
876
440
10
46
819
382
796
185
555
918
248
530
291
402
878
730
463
828
311
303
342
451
582
387
439
203
767
754
496
990
516
120
29
530
398
173
812
9
276
999
761
210
862
552
1
129
899
813
865
721
750
671
709
251
366
539
750
481
661
769
282
685
557
992
956
668
296
483
263
53
531
918
601
880
654
451
916
740
71
350
867
347
943
369
256
578
151
926
210
326
352
515
969
542
98
834
386
136
275
503
291
74
591
894
551
769
823
487
235
358
783
982
278
918
232
693
755
748
56
930
721
308
513
574
273
213
261
193
359
678
832
191
26
989
512
346
913
358
301
530
182
929
587
308
340
813
393
430
305
522
587
511
608
380
386
750
157
57
636
115
14
736
542
103
929
155
816
944
740
193
591
370
134
480
876
598
550
60
269
123
856
247
553
609
312
532
707
835
316
353
50
574
36
121
674
423
342
763
471
164
107
695
643
439
401
31
92
555
803
673
834
615
449
846
987
796
215
487
140
889
703
619
742
196
374
908
41
434
65
451
923
951
308
215
587
353
862
415
340
952
175
319
427
570
773
434
383
505
523
410
788
860
731
633
951
544
535
236
165
58
728
843
413
586
44
879
609
654
550
922
239
178
724
178
266
689
269
440
516
511
857
824
857
147
737
339
229
840
169
238
252
625
259
538
30
370
311
478
535
617
390
258
980
470
102
17
859
413
45
641
627
260
164
593
648
905
290
549
984
63
16
745
58
92
429
689
929
447
683
652
288
312
252
310
947
95
524
932
271
732
905
896
696
794
955
313
482
213
196
85
622
54
841
359
531
354
790
718
520
414
785
39
676
942
293
833
997
562
92
662
920
497
648
388
265
429
479
604
557
836
860
652
432
370
510
980
291
887
886
871
242
132
905
442
47
169
121
861
383
400
121
590
633
781
847
732
22
468
720
83
691
679
975
110
798
218
164
108
694
958
856
140
253
821
677
399
152
772
130
936
14
354
106
36
93
888
454
486
838
718
993
767
746
575
648
383
466
912
404
120
654
569
89
65
242
955
885
39
649
145
373
683
987
529
464
126
979
767
445
480
265
331
784
450
111
914
387
298
197
61
621
95
617
723
186
140
464
754
967
731
426
705
125
915
680
733
549
914
702
150
98
393
725
537
543
205
727
554
920
879
646
335
975
41
136
988
878
871
458
358
966
888
415
643
744
550
535
226
574
267
53
626
65
605
320
630
398
360
946
637
923
738
492
429
508
260
918
638
941
287
81
435
21
355
241
102
570
14
172
349
233
266
493
440
248
515
462
755
131
824
42
600
819
724
335
491
683
694
748
790
145
466
747
630
861
142
629
272
663
266
866
541
521
589
833
467
651
57
581
655
335
878
976
719
274
755
789
631
186
201
185
319
496
8
468
408
568
725
793
618
881
718
808
469
485
790
175
286
417
774
240
193
981
718
377
70
270
979
20
44
863
351
755
480
767
0
96
422
262
2
165
18
108
359
920
488
64
542
59
260
220
368
589
203
22
423
455
607
275
74
55
447
353
654
655
980
196
767
920
916
412
505
128
532
696
957
706
72
568
178
586
738
268
880
585
64
559
47
666
863
943
804
53
789
249
969
411
989
970
771
247
949
851
43
148
208
456
627
563
741
480
196
532
77
689
881
902
494
621
719
75
320
25
326
764
28
132
658
468
652
424
638
628
942
320
251
985
866
635
618
753
816
525
134
662
937
926
966
455
614
587
429
34
530
679
656
7
799
559
442
369
490
642
989
45
916
413
629
619
124
779
332
900
999
152
110
643
257
853
187
205
570
963
147
104
155
950
129
904
253
47
742
331
185
462
396
637
888
983
822
22
798
717
836
845
817
205
509
371
691
979
356
981
104
843
656
788
851
920
64
316
522
40
738
596
156
467
157
890
921
805
194
716
677
157
256
778
553
351
507
798
304
187
940
509
583
17
773
19
770
798
470
484
67
505
822
842
762
432
186
637
740
269
370
668
938
302
332
435
166
668
476
258
64
121
123
416
882
413
390
179
30
11
998
627
867
976
637
359
314
874
994
823
7
863
519
431
780
610
102
364
3
126
68
353
996
993
565
673
979
279
905
196
5
970
315
100
933
160
222
655
615
205
123
420
796
340
308
879
184
534
720
207
476
358
12
545
474
424
124
536
387
865
494
301
348
574
138
11
533
848
242
163
458
570
406
462
618
327
946
972
841
236
226
212
121
807
119
557
567
612
753
757
152
440
345
12
216
696
426
200
989
248
893
55
411
213
872
111
148
914
982
11
266
482
596
68
250
867
448
438
8
97
923
94
646
990
376
576
674
738
981
78
749
987
246
904
346
759
445
748
504
870
270
803
229
75
464
601
770
4
293
101
658
650
158
889
986
837
295
230
552
52
413
33
685
915
292
926
867
705
756
663
189
923
412
282
726
597
765
527
797
530
34
943
37
171
835
327
593
422
920
62
167
481
977
111
632
343
797
116
47
828
855
836
797
989
248
508
619
753
226
660
373
793
912
302
122
86
486
938
306
828
352
11
634
617
31
590
790
381
727
764
1
73
229
240
491
852
455
961
335
294
158
675
35
510
970
542
282
10
42
640
205
528
193
548
811
216
112
619
898
662
938
108
813
481
512
433
435
456
980
968
899
392
924
280
880
903
102
487
391
199
403
441
493
112
715
23
51
61
852
24
182
383
551
493
512
250
271
635
817
584
523
354
761
627
926
371
725
448
513
499
227
876
210
558
14
577
587
588
409
727
990
270
723
62
514
870
694
709
904
724
589
115
370
779
899
413
711
382
13
365
592
390
947
713
128
639
805
390
925
913
447
636
20
918
723
876
298
243
657
545
267
319
235
419
601
143
116
161
360
96
757
902
648
96
345
958
233
210
664
182
755
57
659
560
10
788
616
608
358
828
538
537
214
879
290
6
205
955
528
605
361
93
198
36
155
550
738
812
935
823
641
128
350
278
364
222
777
546
295
841
783
178
266
713
171
934
155
859
840
429
45
404
130
834
33
877
528
492
585
946
954
952
483
28
954
581
341
742
275
468
665
629
402
30
723
111
742
449
699
247
149
860
597
823
214
560
491
47
162
566
926
184
78
404
828
170
503
204
618
788
629
953
921
76
909
560
909
90
684
78
666
590
65
809
138
349
249
244
596
991
745
846
835
252
816
904
537
46
113
436
881
798
847
995
285
66
981
513
19
312
490
127
28
279
344
562
149
772
323
104
632
122
926
811
838
734
636
944
301
140
909
791
836
160
620
587
88
400
627
810
627
560
121
882
542
734
839
338
674
433
57
669
480
516
550
65
663
498
206
100
195
74
341
339
139
33
187
26
795
356
841
166
848
39
878
933
8
0
787
494
247
966
425
702
493
11
663
375
570
124
816
32
266
798
3
31
983
147
826
198
521
230
491
131
138
164
149
846
92
661
930
398
953
393
991
132
360
864
442
825
375
562
871
230
857
838
140
829
781
30
997
286
623
908
786
192
977
427
607
47
384
505
871
923
581
459
836
440
27
837
272
762
873
416
927
464
537
993
583
869
208
991
550
711
641
89
183
641
298
248
355
946
264
157
680
737
645
607
638
110
263
521
971
121
554
232
318
943
939
766
119
548
621
521
183
655
424
798
797
392
418
543
215
461
468
148
848
678
978
661
924
857
639
788
193
777
610
456
267
505
305
958
140
965
298
942
208
114
193
562
983
143
984
980
919
440
323
449
457
80
332
142
93
997
734
558
317
825
67
566
175
619
161
138
965
245
61
844
820
958
783
509
619
945
368
316
245
417
162
8
464
211
671
383
603
261
635
970
427
826
152
133
126
152
770
833
199
545
79
6
181
885
953
13
106
479
570
584
978
926
920
654
667
88
592
903
359
283
280
470
439
524
346
990
659
781
557
33
980
998
354
752
572
967
293
74
942
674
599
595
681
399
639
121
852
985
220
220
38
699
690
19
219
127
606
294
508
489
640
386
541
650
101
554
30
943
622
834
911
685
504
655
929
934
207
4
349
334
981
233
798
29
584
509
118
617
182
266
234
541
848
808
812
97
753
980
516
96
588
912
389
801
215
713
189
289
903
954
368
284
895
866
323
685
522
677
582
402
969
260
989
149
830
207
759
506
144
693
334
499
948
938
788
690
450
234
922
655
381
321
408
963
66
668
141
286
558
679
378
285
591
482
340
357
421
463
14
327
346
930
363
734
138
772
495
662
83
88
567
298
120
974
826
595
725
344
901
96
273
743
921
919
291
614
319
870
69
399
870
604
594
329
535
164
959
425
287
525
966
573
850
412
253
707
289
59
85
581
344
407
20
344
118
746
540
753
3
157
77
301
945
835
273
711
455
828
143
548
360
787
765
439
850
883
562
52
639
473
960
487
162
338
478
350
632
633
938
883
331
330
853
233
163
968
284
948
59
5
440
400
322
980
54
313
982
401
547
486
861
588
791
37
278
743
209
139
31
949
976
494
942
793
11
624
29
273
574
873
78
969
482
512
636
307
627
540
696
195
161
230
412
2
699
775
777
618
145
401
447
711
486
656
12
656
224
430
97
46
718
682
302
5
288
1
660
711
843
624
31
2
742
273
249
392
171
544
737
654
414
643
149
420
961
465
339
348
584
575
826
730
219
912
249
385
671
313
628
461
859
661
374
399
277
791
968
556
263
554
542
122
393
131
47
180
575
287
355
48
313
434
392
526
432
30
116
643
144
423
852
245
966
290
125
159
882
856
529
200
500
649
132
137
58
692
393
384
616
69
364
883
658
309
958
482
46
6
656
538
220
419
607
866
460
580
397
943
849
94
893
786
379
178
381
608
955
52
86
736
601
441
807
371
450
422
650
381
372
671
205
581
356
932
114
355
189
39
753
307
938
254
48
455
928
373
213
231
289
341
54
19
238
781
944
451
706
921
391
103
197
302
39
537
976
656
764
507
168
556
737
702
763
263
893
57
670
110
846
127
407
668
884
937
558
853
582
545
7
370
25
994
886
458
256
845
488
687
602
362
722
474
946
940
675
478
319
27
441
634
9
210
287
732
607
346
536
284
151
298
768
520
487
236
510
748
173
347
258
433
960
578
719
376
513
202
957
122
493
582
146
607
644
825
445
672
434
916
763
629
197
767
512
675
238
65
287
185
512
20
686
255
350
176
314
193
348
569
375
216
830
15
528
321
746
513
38
916
704
717
252
851
573
795
772
130
766
748
281
618
480
354
552
716
211
408
46
116
372
855
764
684
145
113
299
402
20
444
217
98
780
159
446
954
951
494
252
391
286
173
398
548
454
61
864
711
183
490
291
477
175
62
441
730
849
642
926
690
423
458
574
147
267
685
36
195
7
594
875
659
355
775
367
447
732
838
743
486
217
41
453
795
798
254
11
340
736
675
567
199
240
584
712
272
399
594
789
181
389
489
265
472
158
703
332
507
453
619
148
841
380
408
515
895
699
597
837
803
704
786
708
330
762
723
515
992
992
497
267
488
586
643
902
313
921
62
523
402
909
944
547
697
174
379
455
481
81
201
572
826
951
316
53
442
539
591
265
876
250
443
577
520
933
910
613
548
515
797
942
219
671
662
848
317
175
991
956
534
202
268
815
973
492
683
916
713
796
810
651
359
237
412
562
649
317
390
209
801
994
910
706
832
945
495
279
935
463
345
977
967
262
875
87
746
74
40
698
803
366
196
585
570
472
676
964
258
732
868
450
474
102
933
405
133
811
254
404
996
330
193
940
584
871
889
741
560
719
655
353
89
581
985
532
757
357
547
813
990
235
336
76
433
869
997
345
470
975
394
346
884
891
702
885
617
635
659
454
89
372
690
188
927
906
455
544
518
296
986
609
230
161
42
338
490
670
77
955
187
809
234
614
563
978
360
485
23
390
835
438
879
281
316
746
836
803
994
816
631
419
18
831
507
314
276
911
368
11
546
299
587
275
559
139
291
169
989
658
669
904
809
660
261
336
808
360
686
112
90
316
264
276
15
30
677
278
14
299
495
648
649
875
256
83
442
670
979
790
606
469
339
406
453
925
623
276
431
454
169
699
402
687
227
266
930
124
476
106
554
101
726
856
558
614
848
267
311
19
964
43
649
752
150
399
836
566
116
827
22
705
36
297
18
402
282
256
926
852
184
796
684
477
71
615
169
538
921
928
903
443
190
666
243
84
438
648
620
214
873
452
822
669
836
284
933
859
585
62
889
71
327
649
281
68
276
277
978
269
341
365
725
589
324
596
821
474
837
617
149
727
95
562
341
877
945
76
247
963
486
595
772
736
98
977
77
281
967
898
69
658
345
989
990
376
128
151
374
554
297
974
119
371
343
777
944
132
13
734
935
349
489
242
341
921
321
907
27
324
287
445
623
302
349
592
494
358
427
26
397
886
849
934
261
913
620
79
673
770
555
755
629
588
951
630
901
146
353
223
319
389
885
53
872
104
31
179
591
275
767
822
576
637
750
812
78
105
117
152
856
486
925
159
888
614
901
172
601
529
648
246
774
990
886
893
406
339
720
456
553
650
760
628
217
775
365
418
383
895
144
307
600
288
89
768
710
93
334
187
915
76
800
127
814
926
475
705
832
886
357
813
928
843
761
977
963
179
362
779
269
235
697
85
949
701
732
431
388
835
493
728
433
169
187
607
60
184
915
146
961
960
568
743
400
563
292
525
926
671
187
464
132
536
700
26
537
707
872
439
107
624
924
465
678
463
187
163
334
242
427
643
529
231
240
848
911
964
190
413
659
558
101
686
294
185
700
95
21
286
535
353
998
387
504
740
620
910
212
490
829
136
733
150
601
923
662
971
675
298
375
473
150
559
30
320
650
761
915
565
124
745
372
634
490
540
114
129
100
679
273
499
806
220
838
792
867
412
605
711
951
73
695
76
596
68
74
11
492
89
357
400
642
438
6
748
145
162
809
152
795
669
385
639
34
710
234
651
881
357
834
610
496
744
806
776
94
573
693
564
417
657
570
799
614
753
630
740
827
743
148
620
260
999
800
990
722
623
593
669
940
159
496
95
214
159
10
540
454
958
828
492
567
24
131
905
113
965
112
454
793
330
339
755
94
260
69
825
431
167
126
230
965
300
212
383
777
163
933
279
587
160
694
993
394
921
623
616
982
325
68
77
717
147
526
365
945
133
312
467
987
628
944
581
10
802
514
545
905
414
857
646
345
857
206
929
872
589
345
311
672
865
550
231
447
160
134
316
686
586
773
952
490
844
456
940
865
857
562
528
657
176
324
829
521
603
771
716
173
434
361
639
279
682
363
351
596
853
939
198
997
3
780
545
226
98
144
379
575
811
610
572
469
49
799
246
506
398
614
104
760
988
147
190
506
535
818
512
408
533
283
802
606
337
998
441
376
30
826
720
485
261
955
791
22
1
436
809
761
516
814
505
482
962
24
70
206
185
254
503
283
79
18
86
78
179
486
817
76
831
712
339
427
252
710
165
176
132
447
558
898
342
893
875
750
47
992
180
186
880
642
912
441
591
188
559
732
884
370
879
100
38
133
515
598
98
338
568
776
463
539
954
20
283
52
15
185
53
221
139
758
119
331
147
283
497
277
292
641
132
973
715
37
258
477
639
628
503
660
309
173
968
417
756
296
72
949
350
36
731
104
214
190
506
233
492
460
763
236
308
679
748
721
82
45
626
489
259
653
448
364
693
239
49
240
450
15
472
485
5
750
45
495
340
85
116
436
193
700
297
512
495
239
41
497
76
785
912
224
393
344
24
264
408
3
834
703
543
51
465
186
626
923
211
795
94
90
305
695
913
507
560
791
583
878
671
247
676
436
292
499
996
516
414
218
125
86
693
622
56
165
550
712
337
94
33
334
804
504
823
356
425
642
866
764
717
855
424
505
751
542
245
854
531
239
766
762
122
237
745
978
632
566
4
345
292
658
258
986
191
933
886
485
799
977
347
339
76
835
599
231
590
926
485
229
455
147
49
670
279
252
498
460
764
634
752
16
376
248
600
943
720
568
963
382
636
927
298
571
360
464
164
218
254
515
816
472
323
244
784
840
220
532
734
134
913
885
482
996
464
931
333
635
548
8
954
552
65
996
230
862
36
455
31
306
650
86
708
671
136
122
17
522
640
204
240
329
452
75
878
965
645
84
435
789
564
87
986
358
898
280
270
817
28
459
62
516
435
364
615
774
598
658
112
656
416
581
675
618
978
561
66
968
556
416
236
847
819
361
593
933
698
527
807
480
554
583
703
37
238
714
379
482
418
416
821
773
463
742
617
885
958
786
632
386
471
811
678
459
389
444
185
580
586
376
599
821
972
576
46
659
634
771
569
277
638
564
773
595
70
803
23
690
755
227
202
728
214
792
428
952
103
522
550
542
697
732
709
905
610
814
78
69
668
895
755
518
30
902
923
668
653
380
900
301
373
125
495
242
0
59
514
129
533
998
530
567
490
89
922
135
109
234
114
853
816
608
474
758
925
703
566
968
586
969
491
545
615
596
183
956
312
138
965
325
871
659
177
394
534
840
926
620
341
438
999
596
467
533
81
597
199
943
445
303
324
600
820
991
878
178
325
320
581
175
455
937
660
443
378
384
121
727
308
634
562
939
204
281
295
866
50
97
375
787
246
705
513
748
409
321
400
416
386
588
571
63
681
738
64
556
341
883
294
676
659
692
990
553
991
939
963
459
349
746
307
570
114
918
617
886
566
168
976
529
887
65
642
58
640
361
875
618
188
880
632
359
742
957
70
948
822
155
196
85
632
290
743
973
676
490
887
621
902
326
383
944
334
911
585
360
518
369
203
972
379
144
829
916
274
432
185
810
794
478
595
879
292
876
629
660
115
834
708
580
544
251
282
751
332
548
54
215
962
955
904
701
958
956
347
180
852
696
258
562
718
562
901
465
272
348
789
667
497
199
801
607
489
343
464
442
593
765
860
165
573
466
233
296
503
564
221
948
782
313
71
795
983
166
903
114
232
656
90
779
363
793
2
260
534
724
986
338
366
19
859
263
935
286
139
464
273
448
408
848
459
344
923
192
269
410
705
997
459
37
561
862
554
864
135
543
746
823
654
98
33
442
932
375
967
586
101
470
894
313
975
539
644
278
407
177
546
289
196
562
366
398
979
786
234
397
110
273
487
107
365
856
353
144
251
827
131
521
347
605
764
851
350
598
775
181
469
259
308
537
582
331
779
429
575
923
167
880
700
718
292
407
811
995
927
810
423
605
662
47
557
262
343
4
167
822
219
96
579
95
673
983
657
43
323
518
618
892
732
135
68
308
287
384
355
819
351
915
756
991
518
375
484
790
568
974
53
144
967
672
734
197
600
235
384
572
245
462
842
294
456
711
880
522
529
557
132
529
751
864
357
264
732
32
594
900
186
127
240
802
909
350
105
109
831
617
796
566
58
154
926
16
398
80
835
3
63
268
537
15
777
268
777
757
17
303
294
402
540
972
366
596
725
278
313
643
472
777
337
931
823
616
209
552
18
702
545
995
545
422
675
774
542
392
866
531
188
158
553
481
451
409
36
723
967
387
486
348
117
913
302
544
19
374
42
940
4
517
778
923
738
516
836
409
304
1
723
972
273
704
925
895
612
243
475
450
794
169
988
994
675
169
896
272
605
285
665
212
847
43
497
538
761
624
426
623
562
266
53
599
356
197
866
203
944
48
669
410
687
625
238
170
296
956
554
239
695
612
597
59
910
308
836
296
920
163
1
816
521
871
178
189
285
858
662
851
774
413
548
311
407
788
596
623
101
44
329
237
312
882
619
869
805
229
708
727
634
414
555
887
482
895
805
909
301
982
228
685
279
678
473
551
315
916
132
670
545
749
760
721
334
794
209
392
669
251
451
350
740
260
665
593
418
45
912
619
618
335
214
973
378
866
554
447
995
244
550
35
214
107
730
375
395
876
255
101
643
804
540
104
249
15
477
801
73
110
361
844
132
497
818
50
115
341
378
699
62
675
832
595
380
56
586
854
982
312
489
567
801
723
831
719
621
529
844
857
618
729
987
552
703
550
369
396
379
342
324
768
86
998
87
437
714
297
28
375
674
941
815
824
887
893
139
198
323
40
218
54
685
628
502
382
403
402
837
88
979
324
321
133
239
963
126
142
69
950
133
815
936
527
932
562
723
440
27
751
362
171
70
58
365
420
450
626
225
177
29
673
807
166
260
91
12
733
400
726
419
512
843
27
459
360
3
870
989
993
106
795
600
754
982
272
582
544
95
350
279
603
765
529
247
767
363
473
767
998
648
439
708
268
335
685
87
284
930
77
173
106
534
981
515
892
337
252
989
174
721
932
24
226
349
672
867
833
781
834
172
848
199
372
197
640
929
445
728
941
243
79
195
697
862
222
12
272
846
733
730
597
894
796
391
900
485
657
755
413
692
653
236
460
704
822
960
38
139
806
407
982
479
548
215
835
514
332
641
634
187
494
149
752
817
115
21
565
969
632
660
606
797
48
420
540
274
402
336
21
471
953
219
806
331
608
36
703
669
969
599
992
969
967
699
731
5
735
674
647
965
54
678
351
265
299
38
898
794
11
878
144
496
542
116
443
869
208
736
131
149
595
693
962
993
571
669
386
206
443
852
56
725
478
377
762
556
731
615
536
586
573
927
690
891
208
210
132
51
244
254
410
305
387
253
148
337
114
408
137
353
802
724
233
401
970
438
569
43
541
876
948
546
749
651
837
478
279
792
562
852
837
386
788
586
692
114
136
355
762
193
408
326
749
359
924
913
654
535
984
784
627
941
668
66
856
506
9
555
807
379
474
369
964
665
608
578
882
736
800
994
457
696
545
538
662
661
198
639
556
730
261
951
563
975
895
161
699
183
854
388
732
275
882
215
644
368
442
843
305
577
780
405
38
453
784
675
824
505
826
895
637
724
207
919
619
945
752
602
34
788
118
327
105
143
267
324
574
27
440
976
783
150
141
619
39
356
481
497
741
835
84
739
799
496
14
180
330
711
516
971
630
291
459
75
182
909
851
455
890
50
324
660
46
866
130
80
810
794
997
571
187
183
935
274
757
482
920
625
50
917
426
126
926
781
432
562
694
589
604
897
846
624
952
579
617
457
497
911
487
606
786
152
285
887
649
20
932
523
885
86
858
247
703
667
883
62
745
984
610
106
9
455
491
713
362
845
25
643
627
198
317
106
979
51
570
318
338
712
770
417
90
543
935
450
603
190
985
190
473
46
720
80
166
485
178
171
31
425
987
913
590
847
601
163
293
274
155
95
674
931
678
406
104
511
696
898
613
18
152
795
929
318
583
668
596
976
68
361
407
290
781
758
802
356
646
28
408
641
550
286
13
962
752
689
341
243
175
72
241
589
685
645
187
877
814
150
37
75
681
621
631
582
655
528
630
424
626
613
243
253
411
879
86
469
253
246
636
828
946
269
225
39
743
934
760
551
493
142
755
117
150
713
254
781
396
211
584
980
219
776
459
94
787
57
270
279
216
597
964
731
276
155
989
337
570
199
665
727
189
652
309
64
445
724
401
560
522
887
463
170
957
522
816
155
380
785
215
548
751
246
98
262
311
418
135
578
238
718
719
100
260
2
596
706
771
198
744
282
832
60
940
387
149
108
726
524
125
65
22
617
148
985
59
815
486
11
572
558
416
33
951
408
193
457
246
53
652
300
622
664
267
785
394
858
305
433
669
531
258
61
648
512
142
309
113
391
632
471
299
739
468
802
281
130
965
169
605
898
763
950
765
561
242
129
425
606
848
476
193
500
987
455
567
899
347
393
501
953
223
209
704
103
987
614
114
270
249
151
787
671
541
683
318
448
182
655
479
81
318
973
639
683
515
839
104
587
981
961
545
394
573
911
714
498
433
792
834
204
974
337
658
913
47
444
286
939
902
389
990
929
962
577
980
914
935
819
382
617
746
681
336
843
117
949
785
30
71
225
786
573
937
925
451
681
371
507
692
617
247
742
649
530
260
739
652
239
583
401
441
120
805
726
936
427
965
90
333
637
860
746
145
499
623
939
702
572
749
831
957
329
828
815
628
817
387
872
211
12
173
901
700
617
764
574
65
287
729
558
714
800
652
219
936
936
328
392
555
356
194
241
427
163
444
47
513
792
979
920
454
118
323
503
757
611
28
242
404
413
230
340
747
196
551
374
657
637
136
126
477
209
539
852
190
529
720
926
272
25
79
741
768
66
651
485
610
429
22
902
815
691
391
261
532
838
792
297
123
359
744
35
929
98
807
93
506
737
51
564
405
145
477
896
989
702
171
330
543
332
185
299
672
873
200
11
789
931
855
714
45
139
831
390
625
432
441
862
397
965
534
847
46
345
431
997
439
272
14
806
183
791
553
159
114
923
878
200
73
110
591
915
306
533
176
244
652
255
856
338
408
133
471
835
53
766
958
102
864
59
744
210
13
350
362
3
342
904
585
561
74
702
366
141
938
275
570
339
192
134
191
749
100
908
801
816
354
978
121
596
793
566
216
576
872
149
194
369
979
842
346
453
935
335
75
5
249
61
341
231
586
216
311
734
957
283
263
931
209
117
562
154
569
238
480
31
759
62
364
96
816
956
130
331
871
165
894
833
308
520
32
286
620
840
440
988
726
808
955
382
663
75
557
37
208
370
754
230
682
130
761
446
87
163
425
16
792
406
581
709
262
652
575
86
353
221
919
45
371
195
601
776
753
37
145
660
667
861
767
407
490
659
223
952
620
130
296
970
373
805
397
390
587
183
262
265
671
383
585
396
461
100
389
207
874
742
839
469
272
164
592
966
292
896
8
683
246
20
366
932
848
239
604
497
50
932
781
301
297
637
851
77
138
127
948
462
286
26
468
23
290
897
778
931
39
96
620
622
284
991
917
142
267
508
935
303
293
377
501
302
102
160
573
869
364
291
548
728
141
465
910
702
927
736
251
703
560
469
684
100
806
758
0
730
254
864
938
353
309
375
612
738
101
792
439
647
390
790
749
898
981
103
640
72
19
355
939
488
290
905
45
186
889
276
614
949
54
534
953
588
579
436
692
410
119
923
180
204
853
590
404
83
74
108
410
499
591
975
302
966
987
278
67
24
151
854
649
553
825
537
728
748
659
609
22
227
46
857
748
870
479
73
402
631
337
837
366
74
174
212
514
296
637
100
604
471
170
731
330
875
461
322
341
35
959
726
475
145
36
423
844
652
301
122
323
642
538
263
593
285
403
317
948
588
916
350
551
45
176
307
106
521
360
561
760
192
361
366
951
56
127
494
253
721
343
121
750
450
647
891
389
560
726
181
607
807
99
83
212
488
634
916
238
211
748
633
939
170
714
632
41
53
470
297
97
938
219
327
564
950
247
765
525
208
323
964
393
893
432
337
905
994
354
555
687
800
227
168
485
554
460
863
806
48
27
612
900
452
271
274
925
948
993
101
820
240
125
231
815
776
34
846
305
130
716
928
522
456
820
69
436
199
459
784
564
128
234
877
172
538
960
548
996
153
130
94
834
614
423
696
786
915
634
778
151
443
116
423
882
307
552
606
628
941
787
462
370
825
700
462
315
685
481
959
490
707
237
682
904
107
336
815
621
220
408
962
767
10
849
257
40
949
56
971
426
245
470
595
771
698
214
247
920
497
464
93
844
603
795
737
138
106
806
186
735
214
712
89
250
547
966
786
484
313
78
515
416
28
722
783
0
615
531
440
151
873
162
652
436
12
887
874
586
354
185
476
664
467
336
578
885
625
30
493
182
838
363
750
338
256
891
2
721
859
663
350
100
889
79
679
42
223
161
735
478
510
746
259
517
267
124
748
331
42
596
576
777
550
844
550
590
364
761
504
294
947
816
47
116
433
563
532
706
25
268
139
570
878
233
930
937
998
214
73
276
297
911
258
453
803
181
807
317
301
938
468
129
340
38
931
869
551
142
27
682
126
203
560
44
75
387
198
419
735
765
897
310
624
73
876
18
168
859
55
274
755
330
345
804
299
705
275
560
501
867
672
538
18
3
789
21
197
813
532
846
759
924
84
142
636
980
679
709
471
739
535
222
627
814
254
743
274
745
386
534
643
989
8
639
732
910
223
590
132
525
642
597
489
943
639
680
723
334
376
833
130
791
883
519
296
107
802
457
546
478
655
297
392
480
676
524
77
826
812
258
663
141
690
969
179
299
972
726
45
78
412
417
638
201
964
305
563
149
548
661
406
485
414
184
862
886
856
640
506
340
469
885
97
801
330
407
835
830
11
816
746
931
161
389
272
469
700
250
468
905
846
710
351
461
687
764
366
431
365
724
760
926
601
855
663
630
36
417
129
209
855
640
876
714
412
222
836
47
629
407
21
206
195
491
21
880
775
334
695
824
908
422
772
198
212
561
106
647
511
401
820
106
811
102
97
490
541
595
384
337
327
279
94
816
446
243
165
928
594
240
796
942
452
752
65
451
949
390
487
728
438
681
643
377
180
149
845
890
543
554
148
770
582
89
269
914
252
74
622
397
628
352
466
952
634
106
5
377
793
155
388
615
720
162
540
652
92
809
398
803
769
852
121
87
476
88
475
300
58
344
281
675
136
111
407
622
478
824
12
106
537
326
848
770
19
458
510
306
30
890
861
87
174
321
287
552
598
853
414
53
931
900
428
617
697
258
692
82
125
538
704
735
3
995
527
373
776
314
251
432
203
749
635
111
538
431
246
532
428
674
810
660
23
434
123
982
921
319
217
548
649
864
495
510
637
680
648
810
212
385
632
905
644
764
175
708
880
588
174
354
309
23
471
154
915
849
70
903
176
754
415
335
429
899
973
469
528
767
354
916
998
91
41
319
519
286
856
92
448
403
125
324
416
430
567
920
253
516
933
567
258
900
960
846
225
230
647
324
196
956
322
114
482
187
89
443
838
510
41
326
210
216
795
367
140
650
666
740
691
9
940
208
839
502
691
448
337
36
699
739
567
879
779
226
857
806
244
607
378
55
530
59
829
781
378
272
508
530
43
958
191
301
893
96
837
304
610
196
157
479
866
100
227
232
225
995
965
865
769
335
512
826
74
308
694
875
484
434
425
65
326
297
186
477
512
483
311
467
281
856
571
570
119
518
601
530
786
896
66
24
996
862
848
400
128
111
202
260
705
530
519
569
183
990
545
74
246
128
397
19
233
91
614
270
635
510
244
358
349
385
983
477
826
832
288
923
232
457
608
424
609
557
751
666
54
485
979
687
437
38
689
966
46
457
364
352
300
551
880
804
209
701
810
553
899
522
545
853
562
828
734
680
585
818
921
586
128
141
102
85
784
618
286
747
125
910
981
427
525
83
322
193
548
851
64
685
631
157
91
533
214
102
959
62
647
440
153
522
139
719
247
535
402
414
329
899
951
238
182
141
539
212
78
807
588
465
164
530
777
633
686
985
292
680
645
988
5
378
567
127
176
279
385
637
371
791
465
306
44
747
168
292
689
194
44
299
928
490
639
67
629
506
888
109
302
597
381
997
110
574
654
238
725
1
642
622
51
882
499
613
72
93
897
903
315
218
468
933
954
186
783
106
349
982
336
644
889
336
560
530
336
622
766
185
336
404
531
626
836
377
241
711
402
988
811
857
5
246
755
339
981
985
430
253
965
308
560
554
762
784
447
904
275
552
80
869
807
116
939
934
407
821
331
256
974
625
839
919
558
980
181
135
157
315
780
470
892
383
834
931
189
116
919
812
704
965
702
48
809
43
172
395
334
622
822
29
879
352
291
215
577
398
803
190
368
307
136
438
541
953
894
782
975
454
421
796
69
757
700
167
275
130
20
233
784
257
879
494
280
742
799
278
481
102
652
774
381
377
875
428
847
604
363
773
623
557
513
560
925
403
281
839
984
230
481
239
509
647
84
68
624
885
240
539
843
328
199
417
135
95
199
730
299
12
940
436
257
518
408
325
778
48
32
713
242
835
181
512
125
197
566
102
556
975
723
354
98
588
230
639
150
360
184
969
742
228
927
775
956
897
756
701
512
485
895
619
741
601
109
79
753
969
500
21
441
244
537
977
919
329
709
99
717
876
814
968
167
507
409
528
205
113
612
486
587
917
719
717
297
342
729
513
616
30
373
282
916
978
483
196
204
780
843
612
10
107
539
837
340
198
261
431
618
669
116
442
241
297
788
168
647
296
74
326
145
363
619
323
606
862
775
341
444
606
679
354
69
736
103
78
942
117
223
167
345
997
209
488
72
7
326
800
620
562
959
915
758
566
9
587
286
916
916
273
919
320
524
736
568
723
901
52
412
654
885
755
376
677
281
274
204
185
541
756
317
409
573
225
39
128
823
286
13
709
820
618
388
392
394
883
302
291
922
428
438
683
449
867
954
562
943
913
637
516
132
810
218
90
523
915
888
186
285
172
381
852
91
99
386
721
487
89
25
875
815
2
697
302
923
485
421
730
335
490
650
54
452
44
930
59
54
27
267
735
850
168
364
635
695
567
506
64
83
566
28
592
522
59
211
894
673
913
73
767
340
927
197
947
907
951
934
181
195
776
163
403
524
842
655
930
486
82
792
154
922
156
974
868
32
441
310
49
475
92
161
354
963
661
47
658
138
955
737
269
756
782
734
761
374
588
627
331
487
353
552
935
377
110
600
169
496
803
130
387
847
36
27
965
401
881
120
863
702
604
279
572
940
33
402
52
141
684
785
414
578
999
976
682
224
471
997
175
250
809
633
741
674
690
35
60
621
237
983
369
421
823
889
182
453
119
24
888
449
797
694
15
551
375
395
836
898
331
341
891
836
14
905
224
874
627
244
793
388
212
508
919
643
919
127
657
526
177
677
131
51
942
173
277
422
476
733
286
891
29
178
493
775
542
7
240
568
587
675
506
624
250
639
558
388
64
512
666
445
52
365
670
177
799
192
359
593
353
187
776
805
418
836
757
223
782
41
177
782
917
379
988
140
520
834
311
189
268
807
127
838
808
462
59
814
633
507
853
18
713
208
694
277
713
578
441
791
233
459
146
315
707
186
496
982
55
512
486
343
622
521
119
108
619
26
290
596
920
527
72
211
517
348
389
342
298
245
525
8
244
789
394
200
652
867
103
218
546
810
161
657
723
296
526
86
252
698
238
934
189
824
880
782
68
727
691
68
868
0
218
419
854
115
386
668
617
903
941
409
251
678
331
437
982
651
230
582
974
131
708
440
44
260
753
860
701
43
719
742
877
638
743
5
644
810
745
217
979
984
969
72
427
904
365
911
147
320
183
109
817
923
712
970
171
160
17
852
588
533
768
195
690
475
411
487
53
7
238
945
224
103
451
474
844
890
799
581
85
371
135
618
281
757
522
842
331
133
158
54
70
733
812
222
577
617
982
109
216
589
605
805
103
167
952
851
408
535
720
834
640
944
989
939
343
250
674
392
474
110
71
113
778
960
505
776
785
764
104
277
817
704
396
328
534
321
603
553
792
260
89
336
532
373
975
217
473
565
276
329
458
541
253
145
909
635
637
975
538
632
570
18
283
499
468
819
935
474
933
855
75
773
71
410
316
516
727
407
887
438
275
526
819
826
981
323
900
15
610
356
669
226
839
561
944
412
931
361
197
334
892
986
663
6
197
976
385
653
655
902
96
879
230
584
669
784
165
311
195
443
389
11
976
594
673
891
908
694
984
228
713
968
237
178
862
40
136
930
555
410
248
811
64
337
713
518
940
134
891
294
571
941
937
685
755
998
138
79
826
320
950
80
425
739
329
971
81
925
310
857
730
858
80
976
651
976
232
794
975
883
326
474
490
327
249
393
32
762
190
282
209
594
174
420
255
56
38
782
330
124
221
630
605
161
215
355
300
689
944
789
176
712
566
344
587
492
429
813
694
202
229
894
968
972
622
670
688
508
824
792
872
940
530
314
23
747
398
927
771
792
285
672
271
577
412
205
229
999
63
184
7
342
516
440
632
161
966
248
304
729
44
595
356
894
38
975
720
929
452
722
358
975
174
691
714
555
518
914
788
917
229
322
902
523
58
854
188
471
437
952
694
243
48
789
639
953
92
437
107
240
662
194
260
267
717
84
441
282
930
353
224
349
4
741
295
344
121
512
491
158
578
793
60
799
441
19
739
181
406
506
105
916
272
588
387
1
502
449
958
378
332
231
676
965
217
413
894
338
509
938
629
194
174
843
541
958
553
529
19
61
29
31
586
275
647
368
295
715
884
369
166
39
290
35
830
456
789
282
142
586
12
226
616
851
629
204
174
255
198
366
398
906
25
369
944
638
427
138
696
17
145
621
607
751
730
551
62
42
189
124
321
522
195
107
182
120
333
537
143
168
564
650
117
113
314
855
682
791
232
927
877
448
201
717
635
777
910
143
216
44
184
345
787
679
65
960
583
473
879
487
800
788
58
162
844
732
521
949
547
491
807
896
261
148
670
513
168
674
191
978
418
639
391
823
709
138
267
98
861
923
686
933
370
340
399
743
248
908
697
794
98
681
831
841
277
283
419
938
701
821
102
4
760
475
237
255
602
90
236
619
11
118
198
361
230
611
579
786
187
88
98
252
424
670
51
905
354
329
702
538
306
207
175
249
326
584
226
770
662
349
549
646
525
657
973
700
999
276
46
952
419
799
36
64
556
469
390
109
946
338
228
603
657
826
485
346
273
219
21
207
995
689
804
173
268
766
829
148
452
206
154
491
52
881
462
501
931
228
846
344
837
528
890
939
331
748
785
344
389
253
304
889
151
995
689
366
854
126
792
853
671
368
184
561
239
90
839
204
893
374
510
755
987
824
560
503
100
216
859
663
691
217
681
870
493
157
947
364
947
890
989
660
831
79
58
283
748
550
78
606
407
578
777
289
77
326
206
522
750
414
554
289
466
315
165
352
733
288
699
109
310
873
989
460
575
292
262
161
149
195
797
812
110
669
679
304
139
74
894
252
608
373
429
169
111
674
601
310
699
754
646
455
103
522
969
5
529
560
567
411
56
160
99
536
923
10
313
505
724
976
370
287
447
766
361
27
223
835
406
647
334
125
522
697
188
544
239
566
915
252
650
749
474
367
770
201
229
372
811
926
995
646
563
285
379
474
854
579
985
994
742
2
544
654
874
360
632
748
419
533
677
325
208
149
509
661
972
794
397
451
606
989
474
936
958
952
202
312
616
726
515
135
292
127
436
973
130
126
785
951
737
177
696
688
584
653
575
859
366
810
593
649
839
262
324
203
561
60
361
369
292
320
854
120
39
33
509
329
477
958
260
882
389
948
283
271
252
349
347
585
223
493
789
954
351
396
903
245
999
305
97
14
297
643
478
690
928
583
657
766
614
360
757
669
843
809
99
107
465
528
682
861
294
123
320
879
287
428
139
973
654
929
996
816
475
477
145
420
387
47
333
606
234
893
239
228
17
408
76
332
994
550
853
383
592
373
795
713
23
721
849
80
34
122
108
162
354
848
248
661
376
198
830
499
934
753
59
944
387
466
938
304
763
136
478
260
184
181
382
77
670
821
633
734
999
373
3
513
628
554
325
123
56
419
361
638
432
627
750
387
919
611
766
760
812
941
14
825
395
12
11
259
570
322
895
804
777
90
461
479
731
243
995
479
848
100
316
49
735
750
422
611
660
846
143
484
195
918
716
701
856
289
214
282
646
336
474
73
341
484
352
495
580
586
632
950
736
676
449
617
186
638
61
105
979
365
806
16
570
532
193
215
702
119
460
59
516
13
746
268
802
411
990
396
641
925
799
911
876
929
120
880
176
17
224
412
96
433
498
798
433
671
971
113
324
98
61
206
698
947
772
956
295
182
252
993
309
445
52
920
403
451
696
359
187
84
0
472
516
472
960
107
118
286
136
398
713
77
685
505
676
0
958
845
921
215
282
479
688
861
260
754
527
354
57
44
745
398
61
295
131
446
421
122
800
107
507
540
901
289
574
603
491
298
767
395
435
60
635
129
493
409
884
328
448
42
591
296
675
372
587
788
259
388
840
666
954
5
126
315
70
329
938
293
226
851
306
999
301
751
126
21
312
467
325
215
254
559
364
717
893
77
94
691
565
622
603
393
36
432
868
356
502
527
820
661
121
306
532
518
694
763
780
868
943
48
476
782
413
158
994
495
770
414
281
291
339
413
526
584
783
555
601
495
361
505
49
542
860
447
873
402
777
885
194
804
832
211
717
392
365
825
371
509
385
291
723
386
59
572
163
105
307
98
503
210
874
581
565
779
680
387
808
953
627
994
266
901
650
423
278
725
746
532
892
664
52
23
744
909
629
801
227
804
155
459
997
991
526
991
275
436
281
936
60
563
819
295
647
846
18
670
331
688
237
856
257
756
779
491
286
345
245
853
23
670
21
703
578
365
266
190
119
736
412
57
606
891
784
312
965
992
762
434
137
601
152
752
845
296
921
845
891
989
586
0
883
51
78
259
933
321
996
923
139
470
662
509
789
447
196
753
90
125
505
275
416
679
229
823
829
407
591
528
657
824
39
157
186
167
4
935
952
653
637
306
584
953
427
704
610
561
974
223
266
384
963
195
548
834
406
473
237
112
352
366
249
668
847
527
629
786
430
591
466
158
852
307
582
776
855
23
524
408
678
636
54
954
532
506
775
53
659
176
458
669
827
220
759
577
960
91
256
311
172
308
736
806
546
818
715
367
843
139
776
197
107
63
855
977
936
353
507
609
999
461
97
767
485
653
18
399
2
994
439
434
844
655
723
644
858
316
859
185
394
722
563
536
808
776
578
605
243
47
486
350
880
514
709
403
994
532
713
294
282
946
752
392
880
214
429
959
242
679
277
377
129
980
101
184
703
943
327
467
179
159
378
373
515
898
81
326
976
516
816
911
799
45
354
79
8
777
463
379
786
959
137
691
411
9
180
730
176
151
666
589
787
678
952
106
861
3
474
995
949
212
641
86
518
818
13
690
367
822
736
807
841
545
821
34
979
16
90
493
642
354
41
111
505
542
183
187
947
746
482
16
295
696
453
963
989
899
861
793
528
181
225
853
964
776
263
96
775
490
577
967
97
857
439
501
713
914
80
697
511
577
573
548
328
687
379
832
542
875
372
666
908
963
369
525
323
533
605
38
464
4
729
729
293
172
565
141
305
414
313
324
399
937
181
976
62
875
183
33
482
495
601
532
924
883
621
16
823
331
109
87
166
71
622
755
442
650
966
568
229
900
535
999
5
731
97
779
788
912
795
148
742
500
276
600
449
457
540
449
228
306
246
117
397
469
372
641
502
542
683
252
624
954
76
681
327
544
503
568
552
932
584
147
271
776
784
977
364
607
752
584
82
572
55
863
236
546
743
730
699
300
6
876
337
799
610
417
257
503
805
961
817
826
562
282
388
891
143
346
574
996
13
837
591
438
207
460
479
192
579
733
22
536
217
598
609
195
501
526
115
859
100
253
29
625
532
131
99
699
762
927
621
377
434
51
693
635
287
979
818
406
521
488
616
925
309
441
798
304
857
1
275
393
633
511
209
859
238
960
833
790
573
7
900
661
352
83
258
403
742
344
502
311
427
998
53
2
209
582
548
91
328
321
562
362
423
567
551
945
126
475
717
309
48
253
685
379
986
75
866
894
441
630
818
394
359
187
324
312
856
825
769
749
808
634
598
191
198
335
636
892
376
144
608
510
458
6
862
123
439
176
29
211
301
911
875
76
454
793
348
64
906
564
970
28
664
786
837
592
574
31
279
949
849
128
624
961
129
812
75
933
238
961
401
436
647
46
370
852
68
54
713
595
652
603
144
584
521
563
444
59
415
586
817
265
553
590
555
754
543
979
36
530
696
111
81
897
839
101
588
515
612
904
769
947
436
932
206
920
632
120
170
756
650
525
140
454
809
511
128
902
154
331
336
310
394
892
554
742
409
456
506
949
476
874
253
126
623
613
177
146
190
271
883
949
885
140
974
529
733
46
970
382
732
714
446
406
856
490
630
296
840
9
334
289
399
291
43
862
965
220
249
73
223
362
824
971
975
584
948
271
292
228
155
724
808
325
674
63
788
466
202
497
414
646
708
412
744
692
790
615
788
595
166
757
335
663
966
575
810
228
519
645
793
347
869
927
874
372
169
944
973
173
840
684
532
536
122
255
699
826
324
232
88
342
599
255
382
650
827
879
50
530
816
694
266
478
423
477
212
512
19
359
54
572
221
761
101
321
20
119
267
674
790
90
565
977
896
903
985
677
654
912
423
804
54
28
910
243
106
305
169
107
508
5
970
238
304
728
905
140
682
382
612
943
777
893
404
364
945
575
804
6
216
936
237
221
337
282
160
563
41
454
744
212
10
927
782
348
855
428
254
272
112
488
178
227
902
164
885
638
236
639
940
630
91
829
578
29
59
223
812
861
394
650
512
663
630
638
514
684
652
999
76
147
270
99
657
734
296
632
252
999
553
834
289
515
859
651
60
36
613
766
376
66
513
152
30
616
107
155
394
719
903
290
547
34
538
208
374
473
767
137
877
485
232
199
674
890
416
569
526
577
178
691
979
893
567
457
853
564
893
783
580
165
582
856
965
222
305
376
709
374
779
717
687
771
696
166
474
227
997
547
493
965
552
565
987
738
200
340
276
632
716
831
115
820
681
477
227
883
327
87
82
493
771
999
875
174
673
394
579
135
204
370
507
950
599
969
465
381
689
51
183
800
20
748
521
735
386
609
830
414
811
76
890
661
56
760
281
755
787
126
958
406
670
343
72
599
448
918
998
529
548
13
169
257
330
409
586
100
174
231
441
90
411
608
939
65
211
864
7
648
644
81
381
408
221
756
155
344
91
215
169
607
845
196
106
208
19
770
841
505
701
999
509
823
982
678
585
8
32
514
819
239
54
627
197
428
726
459
611
974
871
269
34
812
384
599
972
127
51
968
260
549
141
230
432
444
774
528
20
611
577
382
157
91
791
757
611
969
614
624
639
621
245
369
348
283
50
224
307
906
133
470
734
80
688
487
188
807
723
165
8
100
55
258
636
620
567
197
579
137
814
860
904
696
9
186
562
175
465
781
508
184
844
667
686
334
947
479
378
812
821
31
201
267
343
687
135
573
785
345
236
236
61
76
414
546
922
66
127
562
394
306
602
237
793
46
222
401
766
480
476
620
215
249
657
194
50
693
864
839
169
548
576
985
20
968
528
233
721
713
726
912
311
763
346
60
898
826
673
198
545
223
575
733
83
789
124
255
672
769
372
194
706
426
12
574
303
584
681
151
790
856
680
86
427
590
639
703
877
60
200
574
400
794
744
286
906
24
281
413
304
912
539
41
531
621
26
989
132
781
562
475
382
449
275
838
477
566
392
152
752
919
344
820
157
30
295
869
726
532
899
66
347
87
942
38
755
91
687
274
703
93
251
497
830
638
397
207
297
799
400
817
57
11
275
139
193
933
836
140
141
803
68
163
939
958
781
453
305
807
308
644
354
117
155
200
455
881
741
7
400
722
191
652
981
921
614
674
696
522
237
36
866
886
893
503
537
348
84
747
442
804
626
734
134
493
820
712
636
21
441
542
222
981
553
557
518
64
684
641
609
766
699
731
121
757
298
9
443
351
429
446
776
851
205
262
232
559
731
227
751
708
197
0
418
8
898
857
478
912
8
558
104
403
452
753
487
247
740
907
982
847
716
815
478
519
368
280
513
674
112
89
751
753
396
951
955
426
987
238
796
980
272
117
67
660
944
538
236
382
541
632
655
608
814
597
824
264
697
732
375
781
686
89
761
25
76
369
323
431
856
175
260
223
231
872
859
961
656
469
627
436
448
399
903
534
773
956
553
95
320
246
147
870
991
213
96
4
418
417
652
165
76
382
107
216
152
361
697
555
983
75
222
18
683
488
995
712
150
213
148
782
615
339
764
667
506
490
910
572
198
745
164
774
82
311
420
772
948
166
62
75
566
934
180
67
46
239
746
562
311
898
340
511
988
937
528
135
977
987
949
146
472
633
281
883
210
539
305
558
454
822
804
54
775
479
953
20
733
235
338
897
875
729
886
76
153
799
368
98
54
83
357
848
735
905
926
497
687
131
348
396
113
114
490
897
764
125
958
614
585
321
324
189
511
933
993
54
406
971
922
735
401
954
542
622
387
508
609
312
277
767
175
829
872
938
326
931
92
971
747
963
981
302
504
305
467
267
820
273
237
582
142
519
680
315
806
200
171
834
501
338
823
95
356
469
624
64
563
102
192
416
463
371
230
524
892
507
608
361
57
958
263
993
273
314
518
674
215
873
723
688
128
294
259
832
914
411
729
958
963
598
175
977
565
931
490
545
399
244
10
650
101
693
396
370
716
360
978
19
281
199
893
542
266
210
532
573
308
514
227
213
846
226
293
426
86
617
913
740
618
35
728
697
612
225
805
782
555
233
333
316
825
104
909
969
239
561
923
189
23
388
416
861
667
707
161
130
113
213
227
710
266
350
61
593
846
807
656
198
751
410
545
186
158
752
772
607
601
607
167
647
754
883
193
909
211
783
312
672
544
688
443
516
136
524
243
733
572
850
787
176
873
869
706
102
565
575
840
154
547
358
897
845
851
610
57
852
128
599
217
753
796
628
823
686
878
184
930
257
932
39
407
32
652
296
326
587
815
562
217
11
851
474
585
233
386
352
922
714
182
487
414
318
197
502
727
752
810
536
583
727
73
797
770
696
553
943
432
797
489
32
689
778
849
402
813
629
878
818
994
778
658
589
251
887
280
85
374
764
525
531
988
428
977
0
246
631
785
895
790
569
451
121
146
348
704
66
4
471
264
272
243
776
325
390
113
798
142
856
201
397
954
589
277
832
398
285
244
251
14
892
618
309
861
818
188
95
930
517
614
362
58
102
221
899
466
394
50
573
368
316
574
709
143
324
577
589
886
634
760
0
382
112
86
618
929
625
17
894
213
456
731
503
208
163
775
533
936
973
451
750
100
671
958
651
436
787
66
511
107
901
839
964
453
85
102
845
624
892
61
185
95
491
916
723
271
371
831
292
210
279
597
449
299
871
350
586
82
336
886
559
360
234
358
902
615
767
463
609
154
794
228
86
397
39
502
262
826
210
447
276
645
263
960
28
470
321
863
288
351
571
744
134
360
657
474
366
356
802
321
754
214
320
270
124
800
362
429
669
78
178
993
93
998
209
974
681
263
0
711
529
833
737
92
196
893
602
608
163
720
510
6
40
216
365
759
979
329
857
184
161
636
404
817
492
188
349
43
362
357
751
711
575
732
250
209
561
504
343
136
636
983
569
443
721
924
17
959
251
9
510
667
922
362
960
650
960
31
656
929
593
687
858
158
305
231
113
716
34
819
707
555
45
652
364
342
985
94
788
105
59
491
282
134
229
194
653
294
418
773
771
939
78
134
451
78
290
295
755
333
687
966
822
922
226
468
14
850
105
866
785
649
190
933
104
66
615
118
542
915
311
382
146
663
697
33
384
553
217
356
471
44
102
227
442
706
711
686
268
475
388
172
684
273
523
224
762
778
47
546
889
80
174
697
492
431
0
309
718
315
633
619
556
204
419
95
480
459
941
151
170
95
172
453
839
419
872
517
904
977
807
738
622
934
258
941
610
443
832
204
971
85
223
392
945
394
563
803
873
633
753
278
439
568
298
63
856
539
530
694
320
684
438
266
809
815
243
482
548
760
875
233
144
45
610
663
931
318
666
18
551
845
894
160
826
110
455
659
953
879
337
656
70
380
638
989
496
554
376
704
202
251
44
717
338
415
126
685
51
274
512
874
508
311
391
211
254
130
168
404
933
617
631
901
492
798
201
276
332
169
502
324
620
336
314
157
594
332
671
624
553
258
375
224
61
216
557
613
758
304
981
927
101
317
444
299
996
631
625
557
712
589
62
311
315
665
566
890
560
545
714
720
336
200
866
381
392
979
165
401
775
911
805
593
577
556
94
843
268
487
549
301
170
19
573
143
915
319
733
669
19
99
245
121
398
711
333
500
384
160
350
491
486
639
584
747
897
443
849
464
96
942
779
772
407
336
654
140
381
340
713
617
822
778
932
620
517
124
857
1
930
98
961
11
439
591
34
451
72
300
164
917
962
982
568
36
630
424
82
536
378
898
100
919
368
932
710
157
710
544
616
418
266
869
841
543
381
454
963
652
595
397
575
244
649
609
894
707
136
15
751
996
74
997
11
502
654
679
165
481
749
121
549
369
973
990
485
743
875
581
74
222
8
151
627
495
365
812
432
835
165
828
923
661
39
797
977
851
121
220
161
470
201
921
205
762
705
721
968
159
160
382
994
949
582
202
385
22
499
512
307
134
905
721
775
464
266
199
663
451
294
471
474
465
728
256
966
838
521
347
765
58
409
861
259
337
101
994
451
578
376
398
870
252
344
460
567
930
40
569
141
30
790
264
770
57
467
482
152
537
672
630
910
871
871
693
820
631
509
939
573
343
283
987
620
608
355
93
288
524
624
118
272
969
171
776
221
924
353
300
563
360
72
175
261
501
694
540
63
652
518
543
805
849
170
575
482
0
637
709
475
633
180
740
377
540
283
123
547
206
821
234
4
976
369
727
718
366
435
138
305
42
816
338
486
23
720
909
576
264
583
754
35
761
26
225
74
4
610
617
740
556
968
833
225
780
128
896
199
677
269
202
493
208
306
182
778
497
36
668
822
146
627
901
809
269
26
745
397
709
187
782
591
352
799
877
844
847
205
65
598
386
211
109
834
365
839
713
328
57
659
757
999
902
260
489
946
423
835
230
756
511
95
46
195
157
658
999
600
838
289
400
515
825
283
200
630
822
50
836
776
900
841
65
211
361
763
156
765
403
48
401
535
147
63
139
152
214
591
992
90
796
15
477
956
717
340
725
226
39
900
863
445
398
131
50
904
474
640
252
479
19
98
506
876
198
624
594
160
139
172
909
949
351
367
510
644
933
257
724
42
764
412
46
333
598
456
555
468
275
912
767
385
274
524
421
306
174
956
179
968
137
295
952
583
766
655
858
264
381
236
633
745
404
295
137
789
502
847
781
208
497
30
217
613
394
999
222
33
308
253
138
367
303
615
74
600
673
932
557
797
641
918
301
539
802
309
70
166
23
113
629
258
427
66
386
486
755
0
304
860
879
571
373
952
306
876
263
236
494
876
644
922
184
504
180
805
963
352
983
305
671
165
516
769
459
42
238
188
593
371
888
107
567
949
605
942
391
204
40
290
926
2
129
829
147
139
616
842
934
575
514
664
720
444
81
6
325
640
751
378
167
425
713
754
115
435
108
725
812
273
759
443
217
177
947
914
363
30
476
525
460
418
399
873
320
484
268
140
967
536
197
208
508
422
127
788
251
246
567
72
216
522
245
598
686
817
822
526
969
582
703
198
535
504
648
607
775
483
808
870
776
340
275
277
810
712
413
26
790
901
179
456
325
549
857
789
501
649
491
699
843
894
293
694
342
595
50
937
443
39
233
810
790
681
522
18
285
358
32
141
272
217
837
215
241
873
691
109
335
611
894
481
998
486
872
615
345
366
698
738
890
15
234
718
443
370
965
102
142
717
641
489
381
973
517
979
662
347
391
287
826
701
473
4
612
294
475
710
786
846
909
922
209
62
221
319
149
480
169
702
711
64
452
646
915
338
59
407
694
640
771
794
645
964
628
109
310
114
417
205
396
492
698
663
158
396
312
745
728
426
743
388
904
347
961
194
743
298
91
471
210
933
559
921
974
99
548
561
461
922
789
48
941
894
510
198
581
705
606
553
633
615
890
585
970
660
577
167
364
605
606
96
611
189
923
519
453
17
876
151
916
808
898
299
255
273
370
902
538
395
124
369
752
244
37
974
218
316
535
753
476
516
548
286
949
33
297
120
309
530
226
829
305
490
339
848
732
455
823
670
310
675
125
90
836
301
183
155
473
414
505
988
376
610
333
410
954
622
803
438
616
821
817
501
888
897
527
27
344
524
1
699
89
729
17
856
693
323
930
581
303
321
219
109
649
430
372
145
306
911
990
248
846
416
285
688
22
24
16
99
455
272
567
10
524
843
555
989
288
681
634
972
887
908
112
509
198
786
898
681
501
434
795
125
13
412
493
628
2
366
412
941
719
932
890
74
679
238
4
612
541
128
848
997
57
361
116
134
342
103
441
677
674
179
351
741
662
225
308
622
905
911
506
435
926
503
51
101
811
570
897
11
516
963
79
463
26
406
871
4
852
144
455
524
829
606
140
334
470
721
858
206
825
708
997
354
350
34
514
349
440
101
8
252
543
385
42
835
876
472
259
128
310
219
852
660
692
283
828
77
959
236
444
540
610
443
126
3
943
395
434
6
781
424
842
821
120
225
772
38
87
417
456
441
768
897
2
120
57
530
411
942
869
179
204
851
848
307
695
3
196
975
246
392
300
973
831
152
848
403
380
651
818
392
808
508
431
219
347
864
28
531
500
134
970
300
484
315
454
68
809
629
831
912
602
887
623
670
209
614
594
822
197
441
16
856
140
619
444
917
551
76
773
274
62
928
34
66
846
32
718
222
988
743
941
51
305
64
65
463
36
230
403
911
843
974
888
985
363
294
957
686
83
133
536
807
509
45
982
204
723
147
772
472
832
886
115
300
612
292
580
120
244
371
997
437
429
119
173
809
375
366
298
605
87
79
853
499
755
737
800
912
345
35
124
648
889
147
564
374
67
750
81
162
48
44
358
231
636
560
322
837
745
598
458
604
744
490
822
956
253
185
799
871
0
257
632
653
200
559
761
623
520
271
60
804
707
301
755
690
53
271
503
933
314
146
215
610
949
455
889
630
91
922
902
855
62
182
636
726
306
325
611
272
907
918
418
472
303
693
149
708
897
981
810
879
863
646
967
13
287
689
184
698
160
171
98
104
283
493
966
331
988
656
497
905
317
127
122
53
889
922
180
138
376
992
614
894
825
549
667
611
781
713
439
905
200
421
274
175
51
97
329
645
870
763
859
650
99
326
559
342
770
507
44
890
468
299
643
332
211
677
559
781
608
336
36
574
187
958
262
904
234
774
103
581
926
650
818
176
638
209
320
302
382
270
601
7
917
91
520
588
637
46
86
676
131
336
187
717
958
803
643
928
476
400
429
654
493
799
85
362
448
636
668
99
215
414
80
862
326
606
489
631
120
49
67
833
116
703
47
145
763
185
701
79
999
825
877
71
1
376
177
876
118
90
361
319
259
345
338
487
21
52
948
17
298
694
970
591
398
591
780
817
79
51
488
891
486
575
617
76
298
147
693
400
326
705
787
205
667
483
189
545
990
893
67
581
178
426
995
397
5
793
980
238
377
550
172
826
592
131
147
791
797
621
922
584
803
137
682
882
302
997
746
828
345
90
279
471
889
969
390
71
463
634
921
929
344
117
503
637
101
646
325
472
416
901
414
343
658
675
330
946
370
615
171
296
214
814
588
623
186
46
480
321
927
958
798
376
250
836
338
917
515
973
76
125
149
541
819
820
788
91
993
739
853
866
545
339
625
765
426
264
230
260
217
231
876
850
527
704
550
693
881
610
98
9
743
91
248
126
404
789
188
340
598
605
422
713
829
791
302
695
77
545
112
188
900
626
7
696
870
584
366
178
163
717
8
25
796
667
57
481
446
960
162
986
885
949
306
554
574
953
910
517
417
741
872
277
629
55
824
727
690
963
953
236
691
325
821
969
867
34
967
411
949
601
970
801
462
449
377
773
237
490
783
698
589
117
903
278
655
560
31
823
954
782
255
261
171
833
653
568
815
63
308
875
729
836
654
586
48
437
31
466
17
746
954
313
852
340
488
439
750
743
805
897
33
238
419
655
271
71
191
416
69
882
76
168
70
55
628
125
727
954
942
642
960
161
821
116
366
718
541
731
430
232
695
79
163
106
221
810
70
131
112
613
184
603
595
380
57
677
632
48
20
446
428
791
428
249
884
355
551
292
567
881
435
927
667
832
937
858
596
474
910
782
813
988
537
51
830
707
618
56
71
748
188
45
128
393
858
490
135
716
494
527
608
751
268
358
172
70
962
703
290
205
575
593
772
453
498
1
60
258
128
970
600
203
291
374
998
354
356
644
100
250
155
94
75
998
419
89
427
629
162
175
431
929
972
265
476
501
445
76
733
325
108
64
274
868
266
738
843
342
619
314
109
404
894
956
934
603
964
552
860
282
439
779
336
393
579
324
374
19
259
163
987
773
828
609
603
306
751
575
126
995
996
782
590
135
400
431
391
460
349
239
426
248
546
309
24
839
504
371
398
966
20
122
583
299
411
208
177
708
462
726
739
644
246
327
287
947
31
159
948
290
802
624
247
891
820
239
700
917
466
567
664
513
289
735
348
197
251
999
621
397
740
231
846
661
28
396
636
852
214
817
495
27
151
281
233
40
615
316
971
147
365
626
987
709
434
672
757
814
710
778
119
733
502
17
401
97
727
674
241
297
443
152
58
499
624
950
169
649
401
297
915
602
408
801
783
192
37
376
720
415
950
333
42
288
665
274
38
327
593
35
129
233
930
73
880
283
346
912
68
135
977
639
901
798
979
827
84
324
668
513
495
744
347
954
397
381
277
629
59
41
669
466
481
659
815
114
664
835
546
502
81
848
302
343
308
900
359
7
15
383
429
304
510
162
626
948
587
409
698
165
868
511
285
408
440
836
213
734
133
177
785
580
198
205
67
764
514
902
59
212
793
565
164
910
790
548
143
232
764
952
6
581
529
210
268
34
588
660
83
946
988
10
114
429
927
868
391
118
626
958
79
571
382
528
133
120
6
560
279
631
138
109
717
390
481
951
759
805
445
301
881
27
424
225
663
606
926
749
992
364
271
194
706
401
268
853
444
346
777
890
151
438
22
881
95
255
61
851
456
734
499
449
718
421
541
979
950
834
153
428
471
582
984
125
329
943
879
53
975
716
65
668
570
591
115
342
666
448
903
7
832
595
704
583
827
364
800
185
296
178
43
232
331
203
946
128
812
70
915
472
42
186
195
122
640
472
828
19
90
675
620
15
415
764
497
489
59
763
217
772
721
306
160
976
31
865
14
888
800
692
955
154
89
607
195
702
599
132
448
268
542
186
20
984
282
526
310
74
439
4
55
462
471
588
897
371
191
793
887
804
884
68
420
488
291
654
126
575
863
924
898
84
833
794
770
832
124
199
223
235
707
511
440
544
566
134
149
26
975
240
147
879
722
145
52
594
500
406
310
970
409
13
956
255
511
614
373
49
660
617
699
543
22
729
238
367
632
907
125
558
320
95
44
606
897
468
116
851
220
118
180
987
852
606
66
208
515
401
975
837
524
916
410
728
983
939
307
10
441
888
251
693
519
358
373
816
114
470
596
865
139
166
682
677
149
155
437
399
592
546
81
715
729
893
256
873
639
240
733
628
424
52
606
613
992
714
588
99
207
458
961
154
825
226
816
162
143
534
334
463
847
71
783
790
621
757
332
378
353
69
450
751
495
198
650
101
468
251
916
272
670
969
360
100
269
575
137
0
126
134
84
532
532
260
21
6
813
139
70
354
859
824
668
994
741
745
717
845
469
174
287
930
959
651
478
979
848
853
989
27
171
113
636
898
44
364
33
664
217
17
435
694
922
502
409
28
600
237
573
746
160
754
139
296
725
155
566
204
213
442
169
563
655
296
476
666
1
344
893
710
816
279
346
698
368
828
304
616
768
650
440
618
644
535
683
77
920
746
65
428
902
31
399
474
297
918
933
597
969
790
202
929
607
596
279
195
930
607
996
811
894
964
465
503
959
571
453
120
293
90
421
203
809
918
268
803
651
129
84
579
118
717
608
557
619
646
383
343
741
202
402
413
465
772
657
404
549
199
770
912
414
201
173
271
414
251
73
967
573
263
247
274
489
965
594
49
878
238
164
756
616
29
885
581
575
145
625
948
943
689
354
480
209
126
747
927
235
0
961
733
149
817
625
61
452
425
37
894
393
390
937
200
626
62
378
394
901
269
622
438
447
389
101
403
246
14
460
414
535
21
848
259
221
628
62
501
701
105
791
268
419
876
260
540
447
577
884
128
441
33
190
306
139
978
852
215
310
300
678
472
229
792
149
743
73
257
506
567
672
915
598
545
325
282
155
306
431
242
765
917
647
452
811
219
874
555
378
21
509
335
209
225
582
28
668
892
88
985
498
11
270
165
739
139
568
403
184
316
639
406
458
441
171
554
38
922
913
256
375
250
914
149
218
599
106
51
780
19
395
231
614
400
867
772
216
242
576
590
96
85
275
747
520
533
744
356
211
93
343
545
162
677
719
612
66
218
473
909
75
641
764
631
847
957
362
834
860
959
788
839
795
268
1
511
542
864
362
836
698
521
341
522
35
673
588
169
802
616
403
482
183
149
928
133
830
649
182
943
996
720
772
279
940
48
85
458
938
90
564
244
183
213
163
930
609
992
897
847
354
159
800
705
958
187
980
925
733
341
355
11
131
119
697
600
684
215
146
851
847
511
915
160
985
349
220
416
932
406
603
608
815
284
112
41
800
361
409
297
505
859
803
907
134
517
740
194
416
81
293
636
51
764
848
620
638
488
903
100
200
681
305
124
145
227
987
394
109
341
691
800
966
774
227
434
53
803
531
20
40
310
773
393
959
399
809
183
649
944
371
67
481
159
336
248
926
737
299
843
231
995
932
97
778
40
650
626
137
65
677
120
637
438
43
10
984
750
292
987
360
880
53
803
88
708
282
788
578
382
778
653
792
264
268
935
579
673
604
434
377
167
503
543
29
565
644
383
121
316
440
600
191
8
772
157
398
987
578
771
33
826
785
286
948
491
125
876
23
847
59
802
959
714
977
11
689
208
332
409
341
626
302
734
629
923
395
649
764
491
574
134
298
541
817
469
804
418
684
932
702
375
428
293
428
66
408
938
587
548
956
869
699
731
989
303
785
990
880
684
653
293
582
379
991
782
375
845
837
504
832
266
457
209
272
634
237
583
597
874
287
171
405
132
173
685
247
232
697
423
359
48
338
392
659
550
946
363
325
9
707
639
948
794
772
476
508
573
506
464
117
135
592
903
408
383
777
413
562
461
649
747
903
554
715
440
380
100
726
867
459
643
335
238
91
789
565
679
959
760
711
108
300
999
28
86
688
256
431
901
690
111
976
298
292
911
348
836
403
636
384
455
991
68
692
205
622
237
614
805
591
855
355
487
186
940
379
461
745
952
823
198
732
900
468
711
304
842
936
386
554
559
822
247
714
748
129
14
999
258
771
703
845
398
157
920
673
928
43
573
244
226
855
628
305
919
644
443
292
68
209
180
693
315
884
677
589
501
228
54
127
358
596
34
130
678
430
262
150
552
424
744
681
291
747
642
371
362
720
798
863
589
266
564
317
986
262
391
791
320
496
568
465
42
901
869
722
556
962
925
142
294
430
756
964
945
806
764
4
857
345
688
971
298
735
447
276
562
83
501
684
560
676
250
988
232
620
634
328
651
43
92
926
400
402
856
307
695
864
900
341
940
462
754
653
581
572
325
726
703
321
573
396
424
593
497
311
263
144
448
45
320
760
127
907
744
691
531
370
445
704
857
140
12
301
876
569
479
222
272
748
169
271
458
725
374
528
746
68
247
908
319
897
254
175
283
865
284
91
472
167
660
178
385
217
724
269
429
71
964
372
716
948
853
807
758
35
666
186
509
919
377
919
184
812
365
185
32
910
68
434
914
428
457
825
497
102
359
1
49
312
395
962
105
25
893
224
837
262
995
162
229
93
380
905
65
906
628
170
297
52
43
330
321
931
71
764
918
802
893
750
396
364
564
886
790
180
75
723
614
586
537
755
556
644
252
573
780
387
554
725
735
612
364
811
711
314
589
667
21
908
472
557
865
633
332
314
732
689
414
190
943
663
13
364
827
318
114
392
188
350
318
302
936
139
46
760
858
880
434
938
213
687
452
598
599
574
113
951
835
370
339
846
191
466
847
639
770
230
501
652
51
791
21
285
656
202
929
623
383
123
273
174
455
872
557
987
692
748
208
296
120
920
965
290
123
73
388
194
656
10
210
381
921
548
685
605
827
392
555
742
23
61
861
714
249
826
176
380
111
710
2
342
251
363
851
481
221
365
322
10
717
224
415
441
731
249
818
552
726
612
446
342
589
849
379
337
24
857
640
676
132
547
182
495
960
411
901
609
847
476
6
876
586
802
25
487
442
568
917
209
297
441
53
333
965
412
67
412
296
981
457
142
104
129
882
454
161
586
235
726
535
617
725
457
537
79
691
75
240
810
701
259
878
454
411
48
899
668
689
552
813
748
979
392
60
59
372
714
956
816
23
358
861
534
14
78
406
988
431
787
694
277
797
210
202
151
466
571
580
698
830
640
786
976
357
11
978
423
312
324
605
181
409
772
717
165
79
344
782
44
719
184
863
809
441
857
275
33
212
24
97
773
876
68
631
315
147
3
760
640
230
800
795
332
471
154
437
192
44
263
367
104
592
682
872
384
628
427
388
928
626
700
486
281
849
17
999
538
266
948
165
605
205
816
39
240
732
624
452
694
394
313
177
653
733
885
35
639
220
163
395
659
615
99
785
886
82
947
46
446
795
744
12
433
823
545
459
62
925
38
710
275
20
155
977
474
288
599
621
416
851
643
915
271
643
162
759
138
199
557
824
498
931
108
58
562
67
715
134
486
895
300
884
503
417
564
116
553
908
854
797
789
234
333
821
861
54
986
571
908
535
944
697
435
301
80
925
869
227
621
348
988
530
51
847
660
390
698
677
368
210
141
477
928
28
182
756
633
613
313
409
924
557
24
671
456
175
878
873
975
903
462
402
318
451
352
851
123
975
164
375
412
933
676
60
735
628
578
610
515
191
941
390
778
321
768
721
593
182
344
854
684
83
309
706
479
376
377
562
828
581
492
485
563
985
990
299
538
218
281
977
677
276
226
921
628
845
316
999
843
892
662
702
456
424
640
118
369
17
734
277
790
145
530
574
404
76
161
705
238
202
195
197
947
496
768
156
836
811
199
837
860
932
375
471
685
782
617
849
577
354
188
842
470
310
191
720
978
391
711
564
682
478
418
385
362
435
702
76
242
640
892
778
636
817
175
50
711
771
843
637
783
118
897
941
290
905
736
771
858
850
955
180
85
905
259
962
892
689
942
486
302
180
988
81
163
460
39
168
901
10
154
759
61
833
865
558
136
105
383
960
305
626
904
572
681
384
344
885
230
785
2
168
27
514
929
812
888
219
53
77
836
853
480
374
866
268
889
200
164
632
263
682
574
851
664
649
856
359
261
88
639
157
428
983
278
742
988
321
330
517
216
898
533
787
94
542
327
610
707
231
70
857
861
800
238
282
132
945
197
784
780
7
467
252
572
524
607
350
583
415
703
605
358
562
101
247
14
505
438
156
586
453
322
137
495
567
809
5
496
332
196
508
510
823
558
650
644
379
760
34
818
594
463
217
512
304
42
368
862
812
293
701
970
88
277
552
957
850
165
283
653
239
265
363
274
26
449
857
582
792
254
893
493
669
85
113
403
740
41
823
297
42
166
93
138
136
432
566
405
883
916
817
495
913
937
944
334
501
853
184
902
56
218
473
949
368
850
650
511
151
278
979
640
796
225
789
71
259
928
184
525
99
427
93
916
210
539
860
563
917
91
683
998
157
160
130
772
785
84
339
254
363
721
341
63
620
638
731
658
239
204
244
511
360
624
163
807
544
453
745
256
615
717
162
562
269
801
68
40
829
459
275
596
962
927
180
389
847
844
148
664
163
283
651
588
945
85
0
486
418
816
232
923
408
343
182
271
247
523
407
680
827
661
764
342
815
403
914
154
197
589
878
159
986
40
10
872
965
485
4
189
146
195
776
297
272
149
512
860
310
148
249
249
697
531
691
470
842
637
855
162
209
901
262
384
21
889
96
9
401
636
346
652
68
157
6
315
386
170
958
588
851
302
742
465
549
59
757
984
22
719
115
974
404
661
960
915
382
487
615
441
166
935
280
960
454
771
31
548
967
430
777
616
531
317
15
469
733
796
810
560
975
695
953
296
304
353
719
237
774
208
421
609
460
556
420
436
18
492
372
413
65
468
344
381
258
976
760
62
514
5
539
247
642
271
363
75
989
175
965
567
499
226
430
689
330
574
698
420
352
344
589
136
419
838
198
974
880
306
889
133
759
192
713
888
603
781
162
893
977
647
454
154
50
479
12
135
440
439
281
206
143
591
829
780
32
755
260
583
177
807
535
604
472
203
541
60
299
405
924
111
271
303
305
634
568
176
148
951
341
310
263
67
731
226
65
32
299
363
268
816
104
590
118
385
653
268
11
727
724
97
426
471
877
464
919
281
869
173
312
46
285
577
411
911
425
147
462
284
845
354
299
37
83
484
770
437
874
329
337
375
692
668
701
119
245
971
55
863
792
139
458
117
94
95
78
867
613
427
746
647
748
812
944
619
893
388
170
937
763
822
667
532
808
640
721
609
839
204
945
517
214
947
509
895
393
613
541
379
451
49
618
395
968
860
953
249
974
976
331
610
516
609
40
675
731
803
57
730
755
104
787
146
758
149
691
17
786
158
352
354
431
306
615
338
398
403
93
560
652
2
861
695
606
421
550
43
123
161
516
485
510
917
822
502
549
803
67
309
208
835
514
784
78
43
9
957
300
271
36
235
595
89
38
874
224
183
128
422
166
805
657
696
569
619
878
736
908
136
158
924
388
486
976
644
566
497
351
897
361
949
251
957
622
321
839
664
814
228
509
944
750
750
973
656
238
114
121
392
700
329
595
264
822
345
805
951
545
16
388
298
141
278
954
299
176
444
475
319
707
926
127
976
932
744
560
528
837
12
696
805
338
207
509
573
452
474
225
80
959
116
153
621
73
46
87
1
628
816
795
654
669
259
337
633
443
178
498
333
974
708
752
68
927
8
32
445
561
789
269
274
66
521
228
578
702
932
449
774
590
260
538
707
890
182
574
945
535
182
48
525
59
996
183
367
897
193
553
842
7
80
535
245
676
537
533
22
725
511
671
503
722
146
45
708
300
286
23
969
246
785
227
582
82
506
434
83
180
286
857
446
478
966
187
474
631
594
547
944
384
69
87
886
271
72
529
411
42
76
49
629
564
597
900
237
964
768
858
456
271
89
566
788
283
797
759
509
685
509
425
366
660
99
372
126
780
21
935
245
468
442
757
635
787
207
345
315
84
313
213
286
671
689
120
417
71
51
675
287
330
174
845
219
222
65
990
684
432
699
978
684
152
667
704
520
548
345
553
496
268
391
788
819
121
207
235
690
719
281
214
806
316
41
144
806
462
392
949
833
452
5
491
165
937
852
338
662
94
641
122
498
552
955
2
476
569
745
848
746
514
837
691
886
897
602
379
995
654
908
122
2
169
450
68
539
382
255
331
677
564
339
512
687
785
902
340
216
613
267
392
707
366
289
435
738
263
433
400
590
204
387
127
944
385
332
370
720
205
910
230
846
694
163
994
480
306
182
78
863
301
175
357
861
940
483
434
485
742
992
283
638
718
751
941
381
87
839
443
451
247
331
263
846
293
601
450
89
97
251
636
491
775
779
699
156
583
402
547
26
902
894
992
296
352
754
271
328
697
744
218
35
623
218
770
58
774
504
855
156
454
543
267
400
272
834
166
381
15
41
19
597
698
666
93
579
524
819
779
65
261
223
19
331
122
163
141
792
476
436
396
23
956
930
572
265
546
276
631
169
420
260
758
847
433
938
580
343
306
169
814
110
508
840
185
405
8
304
666
521
20
65
167
14
802
213
358
327
409
382
452
912
247
169
349
435
375
20
593
221
262
135
653
808
819
354
25
303
958
786
130
611
258
270
590
146
442
885
742
608
138
404
678
150
10
775
959
280
71
111
253
524
984
555
548
624
135
755
324
953
462
410
502
416
259
367
150
986
289
263
369
72
851
479
197
412
430
227
275
142
940
354
749
228
799
624
921
138
809
829
78
685
400
186
612
119
1
679
620
520
889
559
413
746
886
417
440
105
548
600
837
688
889
352
169
268
60
822
59
269
666
682
301
232
704
75
202
544
152
474
748
766
735
511
61
712
603
752
189
396
722
645
968
165
980
941
294
192
209
38
614
42
503
622
151
713
175
845
250
898
978
821
257
772
553
327
154
234
307
292
999
74
459
678
623
18
995
366
300
57
388
265
406
579
992
620
701
642
376
992
653
523
974
961
646
728
393
61
990
929
9
157
130
553
554
391
571
386
754
500
900
747
622
292
10
723
674
641
863
790
914
871
84
677
927
362
215
632
211
306
848
208
597
111
948
150
521
983
699
487
246
936
997
147
647
830
495
372
921
348
373
998
116
252
800
545
158
458
322
328
546
206
822
896
394
47
980
599
835
110
216
547
125
237
49
735
574
203
488
578
518
486
940
304
577
969
910
358
912
289
754
543
363
922
306
514
881
974
570
513
906
315
504
617
850
217
63
832
763
912
750
504
232
444
156
121
230
196
955
45
259
291
257
796
373
689
354
538
362
762
559
722
923
7
325
760
653
286
460
307
747
624
398
617
314
729
795
707
508
235
141
390
659
126
828
773
958
439
388
859
704
207
978
780
270
388
422
30
650
534
927
290
521
196
792
132
915
357
478
593
570
118
856
836
118
101
682
504
368
667
237
444
285
637
959
496
870
77
897
479
906
252
125
284
620
135
310
359
594
522
798
294
123
526
289
109
398
819
498
580
205
292
355
213
172
846
893
64
533
548
939
873
630
602
541
454
984
907
596
707
78
609
536
994
411
53
783
781
172
695
717
408
510
235
743
582
590
944
606
877
454
292
901
496
262
154
933
407
338
359
70
934
776
860
304
990
663
388
483
831
408
730
562
774
592
737
931
94
756
488
126
700
764
333
112
102
119
698
63
385
785
869
108
320
863
531
956
654
770
203
667
832
914
495
448
546
210
261
154
838
108
11
193
621
886
33
452
981
452
827
319
1
672
581
229
847
573
196
666
945
977
108
320
762
729
402
212
129
602
256
224
682
891
969
568
141
396
944
132
821
304
969
199
311
908
832
629
623
742
219
939
634
949
739
820
219
740
786
582
500
713
605
769
836
450
737
935
362
444
873
772
610
166
79
993
993
483
404
81
370
457
807
608
415
797
180
919
180
97
669
603
487
120
303
258
726
430
777
188
973
553
356
360
291
437
731
925
673
801
181
450
689
689
528
233
984
655
433
77
403
194
344
56
800
356
655
401
550
616
946
225
847
574
510
125
400
997
779
95
855
944
123
121
246
612
9
35
653
849
698
660
88
276
269
718
892
628
343
695
277
605
139
89
665
922
243
558
512
383
759
205
882
189
641
455
647
305
362
488
506
305
755
267
182
176
57
578
278
421
152
465
258
666
799
231
35
544
592
717
626
549
762
458
468
679
389
674
483
935
162
80
531
205
164
45
907
826
34
212
229
264
86
969
883
573
896
478
850
548
490
755
404
340
254
551
993
665
957
759
607
838
557
157
835
520
123
472
648
195
779
14
147
973
232
202
562
81
588
808
767
977
243
355
114
59
424
954
635
208
521
61
475
783
296
368
460
764
651
777
332
609
317
100
31
867
181
797
269
961
996
7
44
227
442
761
304
953
581
412
552
365
943
863
276
172
805
840
225
560
590
571
324
505
167
437
497
855
677
694
622
616
29
148
376
37
876
949
961
107
609
324
757
258
765
930
541
163
943
986
674
152
699
546
6
858
760
222
860
57
340
927
421
675
459
957
919
385
344
278
443
912
596
997
730
686
434
499
293
850
39
647
360
467
10
3
907
713
713
342
186
818
935
746
620
535
544
675
115
173
700
375
586
700
941
789
726
93
235
705
656
457
562
495
897
12
331
447
988
890
162
405
554
358
511
405
405
354
402
269
229
86
336
601
871
471
514
7
10
620
360
887
835
980
553
645
309
175
22
375
74
273
569
341
472
994
107
587
712
711
402
73
865
433
701
584
395
12
617
634
801
157
681
966
911
820
633
334
238
153
300
755
133
493
104
486
178
915
109
383
911
19
346
159
232
648
876
128
137
448
365
8
385
819
195
995
167
851
170
328
185
188
118
26
628
61
429
304
991
936
391
897
162
974
258
588
603
132
379
196
602
213
755
737
495
330
151
989
636
762
148
605
428
490
569
695
587
436
252
811
735
728
891
513
409
762
464
385
809
857
677
482
132
518
617
287
956
529
236
781
398
371
439
12
134
103
435
492
109
17
848
138
112
737
175
885
611
69
680
231
123
916
917
558
173
147
91
904
574
334
751
437
247
813
661
766
887
907
701
546
118
187
551
43
618
776
427
503
867
965
758
662
784
267
99
518
891
646
440
392
508
994
914
35
646
111
453
430
181
871
710
36
612
201
455
661
141
509
579
872
415
450
19
885
290
465
889
298
39
292
291
415
124
114
832
786
82
262
770
807
684
546
434
741
835
967
236
545
123
721
497
881
386
387
377
249
579
878
156
939
178
474
783
572
456
144
703
395
336
724
442
328
702
446
606
597
380
849
417
920
995
614
131
536
494
341
245
537
487
552
845
366
403
998
686
417
823
91
42
804
359
428
805
582
86
810
805
280
161
980
351
772
202
704
906
771
208
292
386
859
150
476
940
485
268
408
610
678
901
383
926
26
985
711
361
506
794
631
220
490
699
719
163
317
615
727
791
805
544
854
617
967
828
701
674
184
565
738
513
462
491
904
582
547
198
488
313
227
424
997
864
610
155
317
231
337
362
597
832
655
660
418
427
868
472
426
64
118
3
247
837
912
141
942
42
960
854
694
949
241
447
326
212
122
10
895
73
781
114
401
156
543
699
197
491
9
988
59
300
722
275
654
952
885
259
689
224
792
971
970
879
271
116
164
715
626
246
387
632
76
498
976
171
815
448
967
291
181
997
193
803
593
683
448
748
913
852
729
115
778
904
266
939
263
29
460
265
62
250
581
809
87
985
290
37
160
830
782
741
205
868
60
414
979
131
132
824
204
12
695
943
649
12
49
498
878
467
258
3
318
372
933
815
849
377
756
687
126
815
467
738
607
190
364
743
565
905
110
545
297
263
50
929
94
395
223
390
635
451
717
399
2
861
877
982
836
134
250
796
504
678
595
38
661
280
505
335
25
559
993
750
958
452
89
586
432
889
897
972
880
398
580
982
126
698
101
934
731
617
234
41
780
467
596
409
60
471
703
550
8
495
509
35
569
241
261
733
145
815
710
739
178
646
392
631
596
863
29
446
305
705
443
769
674
118
46
591
538
903
438
278
664
46
591
709
91
99
490
796
436
0
438
366
159
940
729
727
956
595
957
150
397
882
180
373
547
188
917
20
346
668
35
763
245
771
956
479
882
312
39
22
174
576
895
767
78
889
790
637
836
477
228
933
355
218
711
151
623
766
595
953
8
922
930
601
904
10
350
412
243
735
74
246
776
821
928
327
200
698
824
784
283
155
830
291
456
567
235
19
343
251
536
39
183
268
419
876
380
459
392
23
949
321
934
987
390
945
996
151
86
208
52
585
833
919
409
21
258
237
285
175
532
99
251
51
495
720
796
228
721
172
459
78
543
172
682
211
262
440
868
764
738
757
956
584
667
898
407
567
177
908
53
379
207
905
959
776
945
863
314
182
755
360
528
531
270
845
794
709
365
883
17
978
889
380
435
963
850
639
780
280
376
591
784
708
425
128
488
537
156
324
796
594
807
339
728
699
556
92
723
339
93
970
276
559
44
551
817
795
722
827
385
639
156
812
652
616
917
702
440
761
874
834
370
722
408
261
575
488
976
510
829
253
241
737
114
645
816
338
513
602
523
54
265
465
556
569
490
443
611
437
574
419
795
320
448
909
171
996
420
861
922
223
264
463
407
994
567
809
185
553
746
34
335
936
74
932
8
816
758
589
325
824
175
544
353
962
554
594
881
846
886
578
258
244
487
280
609
144
460
360
182
709
974
120
791
555
186
111
977
42
381
23
167
611
720
35
563
698
961
138
86
830
787
510
300
21
507
126
721
676
930
71
847
688
404
193
907
367
427
688
271
652
600
482
73
313
77
215
905
909
273
149
862
64
662
817
408
169
484
365
358
34
677
703
858
60
599
559
952
694
953
372
299
961
758
750
506
764
885
6
342
12
791
266
808
174
139
815
226
27
583
513
755
636
166
397
934
386
275
781
304
398
376
171
120
325
78
503
780
805
380
657
381
964
697
803
299
702
935
629
848
560
686
388
381
736
122
975
605
354
461
352
861
237
493
398
855
134
59
278
548
649
245
310
674
376
346
38
990
501
560
911
117
184
770
459
767
321
548
778
523
933
665
649
535
434
250
683
503
237
817
98
364
237
522
971
422
608
67
155
64
956
891
794
500
287
321
825
943
605
751
318
507
332
643
399
818
878
652
368
756
577
145
545
740
46
713
500
493
918
873
755
650
517
415
988
361
26
285
481
159
585
696
79
513
533
976
651
229
570
26
190
137
647
930
362
73
83
854
973
386
710
490
417
207
319
985
73
753
378
384
560
378
140
217
951
152
522
679
913
691
236
658
141
904
539
770
0
898
872
302
829
843
462
939
385
814
342
235
283
123
288
732
496
102
144
226
463
637
809
916
162
612
492
969
221
950
284
200
846
54
278
265
337
469
359
951
640
978
704
932
418
916
559
415
589
79
960
45
344
226
517
472
987
520
61
388
69
242
349
938
467
890
970
828
683
794
615
419
641
49
762
879
549
120
302
499
425
191
79
660
810
139
360
168
168
63
7
666
744
252
857
963
634
228
277
989
574
548
648
744
929
427
86
755
416
721
145
735
269
193
623
959
146
55
874
156
841
107
179
519
169
322
901
964
540
595
485
918
911
876
45
408
115
662
771
960
827
953
359
404
379
513
715
12
450
961
557
656
740
771
170
544
572
528
971
612
929
195
736
900
224
801
733
5
439
90
973
472
802
562
202
626
459
849
346
987
970
515
899
203
455
930
755
103
447
942
635
802
733
458
559
57
722
990
390
506
170
565
330
363
64
198
969
823
404
614
900
969
65
456
168
324
732
197
333
201
832
233
977
453
268
685
824
459
453
78
373
664
367
53
36
130
876
708
942
388
325
712
150
105
317
654
982
521
708
421
257
831
85
197
624
271
908
54
793
643
869
147
237
612
729
496
878
207
778
235
784
722
166
113
771
787
602
493
958
971
49
424
420
328
149
514
493
992
201
558
801
335
936
859
807
289
390
99
478
610
782
675
95
179
902
993
938
313
6
178
385
180
957
763
431
889
30
907
572
185
190
928
383
209
174
519
724
400
886
226
943
996
437
722
713
912
507
338
131
443
252
116
696
813
882
323
895
455
946
114
168
243
383
454
539
555
603
0
722
230
859
905
975
745
677
215
612
596
54
519
625
903
411
627
536
759
933
890
291
834
952
600
373
817
407
257
92
561
679
872
167
319
889
823
550
837
395
795
246
45
61
201
287
635
917
447
345
946
744
709
175
495
125
494
60
148
811
663
43
822
961
476
156
91
140
452
895
802
580
156
684
360
38
844
696
228
592
624
786
304
317
721
190
375
489
716
220
753
730
502
64
410
434
814
171
275
371
758
71
464
0
18
600
535
709
479
94
587
147
995
710
778
851
426
428
675
396
741
103
413
417
951
291
903
845
61
365
701
400
86
946
20
744
388
965
707
623
776
669
83
257
165
101
681
798
593
484
786
255
622
781
367
541
41
454
741
862
488
600
20
181
203
296
180
825
914
634
844
35
402
227
489
191
678
525
619
37
380
81
310
748
210
776
799
249
966
157
900
622
792
576
441
500
431
913
651
486
163
758
959
57
679
507
178
982
416
624
73
501
439
725
681
877
414
648
850
174
157
204
166
196
141
303
344
640
152
266
107
399
33
675
294
619
970
953
710
454
156
791
526
839
915
57
803
70
192
138
664
624
226
750
134
206
757
48
376
379
429
395
68
287
566
952
88
825
74
248
103
168
427
522
189
633
709
273
252
557
239
244
559
474
428
517
303
373
444
980
6
594
229
629
42
452
836
899
794
398
638
13
394
183
662
606
530
879
566
54
620
479
982
106
295
812
190
723
860
13
689
356
718
799
459
674
397
105
894
127
555
613
436
754
370
283
408
362
583
411
644
509
732
7
806
138
445
452
583
256
359
227
388
115
721
292
293
276
696
105
516
450
731
45
812
863
868
195
242
916
598
66
918
32
575
444
710
432
536
264
371
967
418
304
498
383
298
381
264
988
426
385
492
501
505
701
772
615
312
877
795
775
951
258
497
80
513
55
180
389
783
40
693
447
539
52
716
235
594
938
415
201
821
942
420
628
898
584
969
690
583
427
688
901
118
282
676
183
379
124
982
99
211
305
511
917
954
309
36
224
446
153
893
579
764
631
542
32
194
516
966
23
149
388
933
52
978
515
399
407
242
982
319
568
312
824
955
569
622
724
298
907
640
974
150
48
607
90
569
901
688
200
742
13
809
546
549
173
864
838
947
640
349
810
803
187
851
903
533
806
855
795
959
134
899
703
745
962
497
36
691
267
246
729
167
961
407
965
238
749
611
902
37
229
385
341
99
222
659
203
109
32
326
880
677
618
98
695
682
656
360
688
737
749
594
27
525
694
688
321
756
327
450
491
883
852
522
597
850
379
334
37
358
240
421
879
480
237
441
113
525
834
942
107
201
850
688
523
359
668
618
561
636
13
745
948
742
681
654
345
82
215
572
143
265
602
801
463
892
550
328
633
235
921
357
704
333
398
115
976
406
612
763
920
163
841
306
277
109
494
620
675
683
542
99
968
221
980
931
590
296
999
116
622
875
721
972
530
526
98
618
712
775
991
102
518
952
140
187
251
80
981
346
149
39
655
64
677
986
580
42
516
343
35
597
901
391
808
176
438
281
55
922
257
282
548
240
494
133
728
8
681
483
649
254
769
799
353
363
798
91
842
639
888
863
298
92
82
734
659
939
669
843
101
913
624
162
235
592
610
660
865
906
831
61
978
120
21
650
474
432
721
84
569
785
583
795
44
839
414
627
633
836
596
625
874
778
966
6
603
720
284
568
609
290
93
909
417
800
9
481
928
549
984
552
10
164
476
643
547
953
68
289
740
129
251
129
5
878
128
463
884
180
613
347
125
979
839
239
878
65
518
992
714
538
283
483
64
694
16
591
677
919
866
646
899
793
753
894
402
947
398
920
474
84
378
669
939
813
633
640
1
2
355
527
49
146
365
88
658
884
974
798
883
210
229
266
269
723
774
684
802
505
698
458
844
686
266
70
346
92
1
106
215
364
468
463
472
999
55
138
348
946
76
673
798
54
923
315
278
785
219
399
895
478
126
276
8
183
543
147
177
887
889
808
316
504
379
260
308
753
139
199
440
626
256
153
719
295
126
251
697
90
259
599
708
39
627
251
258
682
408
765
879
777
281
345
156
195
161
555
194
817
699
504
684
904
629
648
576
241
153
538
373
388
202
656
538
618
166
359
12
486
206
206
846
466
298
520
562
237
737
144
571
727
636
556
688
699
53
847
8
819
66
225
868
435
379
938
258
697
109
584
131
190
489
105
504
715
619
854
490
961
501
991
708
184
86
630
618
480
853
851
323
262
621
111
384
811
822
109
268
461
429
526
662
305
87
319
819
547
15
744
180
799
573
90
204
836
200
927
854
377
572
712
230
180
6
581
240
828
433
429
453
205
214
721
602
452
206
779
331
100
294
299
46
404
427
761
772
950
987
302
706
929
597
940
954
314
837
273
271
55
605
0
314
547
281
61
356
749
712
996
917
777
306
734
275
380
164
695
197
761
941
474
521
943
598
208
470
993
656
358
407
283
117
894
539
330
418
577
588
309
650
917
164
749
498
565
229
992
193
671
633
605
198
304
726
758
177
662
69
536
47
545
77
943
211
9
956
802
307
378
904
565
482
202
86
219
20
533
446
575
5
382
956
212
74
971
419
494
421
564
757
327
958
447
490
843
674
992
935
427
289
41
863
18
663
552
487
288
34
696
625
134
101
69
297
824
547
798
405
620
793
752
259
406
307
145
808
489
820
25
141
353
651
176
866
136
228
358
836
305
813
703
850
635
526
866
627
377
881
283
639
252
470
863
603
808
299
581
455
393
713
347
228
280
0
291
13
439
834
707
890
223
689
667
101
911
341
880
851
425
726
697
989
257
85
883
429
330
29
662
280
280
304
745
482
744
204
438
891
438
591
607
567
448
587
615
389
56
848
717
420
320
830
873
619
573
11
393
307
180
93
634
566
502
602
460
258
893
652
508
308
806
56
681
102
567
598
150
44
262
460
814
798
885
510
236
965
242
332
228
696
545
17
306
438
793
603
895
797
6
61
167
362
90
407
257
925
588
929
791
892
336
475
700
889
484
231
720
745
490
126
214
505
463
936
531
670
631
704
180
176
693
795
996
282
45
435
231
540
159
231
123
547
718
964
116
861
472
878
358
837
134
125
255
874
950
870
6
805
354
376
996
684
813
838
469
526
955
59
71
18
838
377
721
827
258
726
533
831
759
924
238
170
891
670
155
105
22
378
230
941
626
790
772
483
584
199
904
243
91
196
895
184
325
270
404
937
363
631
644
147
947
502
326
973
971
70
791
987
900
648
195
939
386
518
666
592
350
235
541
778
309
356
979
574
550
280
60
478
650
692
351
569
13
127
575
705
718
778
88
379
912
82
743
808
678
106
980
321
316
621
33
216
722
468
457
596
898
890
48
977
651
16
401
693
748
563
749
368
770
318
421
154
437
860
657
499
32
13
417
749
913
964
392
29
516
911
681
934
690
189
22
87
648
862
465
468
885
752
756
424
919
611
782
921
673
682
451
748
806
865
472
740
491
148
197
578
521
569
560
553
822
741
168
91
346
285
271
754
560
706
849
144
643
205
23
221
251
460
41
525
264
257
122
488
455
610
794
176
467
152
778
357
112
332
266
973
13
895
959
981
103
705
675
369
954
901
808
395
705
726
511
287
604
438
322
444
227
490
288
253
978
96
619
620
917
215
279
30
871
366
368
957
680
895
476
381
743
172
924
778
711
280
967
437
551
946
80
541
650
504
77
981
266
41
537
688
123
753
287
501
367
309
744
958
314
576
407
432
832
251
121
519
620
765
207
445
867
434
21
199
687
486
961
647
946
221
691
554
346
407
815
596
41
845
390
74
526
507
364
234
178
928
175
570
528
576
628
892
448
452
859
627
36
523
246
493
594
609
254
842
882
275
498
170
719
655
355
732
892
344
736
56
890
112
968
927
999
243
711
447
158
339
430
440
503
531
47
209
753
331
788
196
221
60
847
968
304
849
83
389
97
541
236
170
53
295
267
975
316
967
203
235
21
509
232
790
767
285
519
273
736
327
878
495
214
512
78
167
914
730
85
954
341
639
469
304
565
166
884
560
320
17
560
620
406
112
420
962
357
414
324
536
953
969
339
197
883
872
12
894
376
889
178
719
716
119
768
190
21
73
664
455
143
504
459
367
241
76
863
481
232
505
250
879
493
947
631
311
837
830
520
974
118
191
329
738
711
990
17
486
752
558
499
759
140
517
584
812
662
995
618
575
789
664
932
706
503
181
615
801
604
702
230
165
778
20
311
744
855
520
922
649
475
628
72
554
454
945
539
820
188
951
294
614
601
937
595
176
819
133
344
482
418
501
192
771
995
788
922
176
682
689
29
350
462
471
718
44
892
666
972
347
252
680
336
996
363
760
27
35
949
372
857
412
832
233
177
448
817
263
302
193
341
6
200
947
304
851
666
8
686
159
452
500
969
159
733
202
204
501
65
691
993
662
219
877
432
376
745
458
489
634
39
716
538
968
548
108
246
136
898
633
116
157
448
321
945
548
301
717
448
354
264
125
69
441
893
916
65
10
992
555
412
837
412
664
125
896
206
477
915
44
379
418
638
703
277
817
756
760
413
916
758
861
782
563
878
457
748
904
852
21
164
340
257
768
162
107
13
934
929
914
742
712
134
980
259
97
437
889
452
318
453
534
674
709
890
214
941
397
187
961
284
255
490
204
315
675
764
966
651
830
460
375
108
336
985
93
350
324
49
213
166
906
246
768
787
665
97
563
362
857
877
555
340
530
767
767
502
594
18
966
502
30
478
784
29
237
499
416
145
191
914
530
27
587
682
851
395
204
782
325
571
238
891
317
582
499
626
147
933
972
604
240
334
529
848
568
887
726
923
440
16
201
796
289
596
654
771
512
520
245
451
58
939
956
980
843
653
14
58
54
839
967
492
913
835
659
636
27
186
201
538
518
513
748
596
325
151
183
606
3
674
801
748
490
874
355
158
143
465
822
576
88
147
990
946
434
170
968
710
568
746
118
323
736
977
602
761
627
453
114
869
617
55
415
666
472
85
797
435
37
492
130
781
818
770
367
232
788
633
586
665
774
287
406
331
820
832
514
385
573
931
495
829
934
98
779
296
832
39
820
983
684
13
475
45
774
895
475
588
611
316
209
615
986
435
923
453
974
334
371
289
842
39
330
224
825
827
597
115
524
581
535
728
846
72
69
899
675
655
200
912
895
323
115
698
638
913
591
399
644
551
746
280
627
165
687
3
994
619
10
128
296
233
436
963
113
961
118
568
206
350
187
855
187
904
285
843
494
454
878
31
27
734
514
632
213
63
985
471
471
270
268
355
847
986
296
825
87
490
552
121
971
193
577
61
331
280
773
643
81
328
161
704
37
760
474
803
90
775
183
646
210
747
121
429
101
851
419
774
397
675
984
130
152
171
223
972
669
7
663
968
864
942
269
382
833
622
155
485
8
597
684
245
967
348
669
937
60
200
729
715
562
101
427
274
80
500
561
383
275
301
200
527
274
245
164
716
60
129
181
347
344
186
591
407
720
925
780
753
576
195
473
839
595
579
342
576
740
897
260
988
937
190
524
859
210
851
939
417
613
418
700
501
246
657
72
646
686
367
99
186
40
623
339
54
684
610
186
422
210
199
339
191
344
156
103
298
36
549
495
194
659
703
223
205
417
339
959
499
118
886
86
590
206
563
222
596
93
954
358
664
13
823
826
54
558
47
705
198
317
631
284
454
698
515
980
43
159
448
242
616
370
461
168
416
581
182
496
721
721
63
469
161
116
635
120
849
848
177
612
716
45
867
252
944
761
771
141
214
746
684
256
154
53
849
860
51
72
605
924
974
61
621
562
609
971
173
155
539
225
972
50
104
499
583
230
606
723
912
927
279
718
792
301
394
869
441
96
256
240
757
331
845
61
168
170
261
559
176
318
719
128
897
727
951
663
287
566
388
388
192
685
136
993
970
837
885
576
132
796
151
686
141
388
948
759
424
92
843
753
287
548
734
890
269
936
876
39
623
676
862
636
612
850
654
110
74
792
307
916
918
308
186
447
25
406
516
465
453
237
10
83
985
591
727
607
913
63
889
652
119
903
772
183
837
2
943
679
222
25
469
229
732
805
394
20
430
15
516
624
325
132
982
868
242
379
386
354
789
470
128
574
587
196
736
332
262
902
230
815
937
367
781
98
279
78
755
209
293
304
51
78
426
637
588
671
811
995
351
438
250
12
310
453
994
662
141
765
973
529
121
347
631
833
151
432
812
123
793
50
681
863
65
60
471
277
384
600
233
40
913
240
337
892
668
292
88
223
62
871
114
503
453
937
840
122
763
26
278
457
446
7
343
774
111
915
211
805
558
393
195
238
11
335
562
14
468
762
210
161
648
359
56
787
379
680
521
806
684
250
880
131
505
683
296
753
980
948
93
199
647
836
439
776
2
996
604
109
840
1
316
982
790
674
461
245
403
632
29
749
150
881
292
604
117
606
534
796
769
787
810
820
562
895
906
12
587
259
463
777
527
536
304
753
435
389
97
688
497
63
744
328
833
102
296
311
781
355
677
950
416
166
517
31
713
759
480
714
888
239
847
990
531
266
863
232
967
937
106
427
13
555
287
40
794
916
127
862
833
776
762
303
939
466
751
917
865
628
536
978
710
795
887
552
817
700
935
961
927
950
20
200
198
468
18
460
711
717
19
875
615
860
797
96
358
857
765
366
933
383
682
670
903
296
29
427
555
168
475
440
97
151
70
421
588
887
822
828
890
866
519
779
978
752
598
318
696
452
75
485
883
575
834
450
873
750
512
921
393
284
823
486
686
872
993
527
808
35
13
521
682
32
998
382
638
386
9
384
283
207
156
943
579
821
563
545
789
642
749
753
496
111
920
349
573
509
215
110
235
341
42
9
846
223
210
284
430
808
329
342
726
277
107
465
208
140
832
226
444
697
578
290
371
375
792
537
362
332
119
410
359
841
444
277
626
617
913
139
836
653
126
944
427
659
788
607
96
431
548
908
338
645
88
862
422
780
955
564
796
766
16
234
458
743
49
645
865
570
118
681
428
152
914
669
668
371
50
905
921
20
460
842
849
24
993
968
253
865
981
821
377
958
848
652
924
990
540
505
482
94
487
47
411
374
136
348
20
588
461
870
241
422
877
864
254
689
694
754
300
558
50
464
820
471
722
591
168
714
865
966
165
366
191
112
410
686
725
203
374
284
506
703
28
931
496
540
544
318
924
199
250
223
87
362
584
330
508
409
336
59
706
947
639
438
98
301
740
469
35
925
41
482
50
309
6
181
396
165
856
141
793
539
144
973
749
441
522
88
872
150
675
203
572
851
517
835
910
302
503
361
321
743
930
427
177
537
479
900
225
76
622
755
337
765
426
626
782
377
900
463
188
535
27
281
772
275
486
738
176
837
437
151
303
855
598
344
711
562
743
758
380
958
319
621
191
22
953
230
794
117
586
65
866
127
667
678
693
559
126
590
168
793
832
107
251
886
34
443
38
165
870
317
477
744
812
258
91
564
132
812
291
378
413
388
795
76
572
852
61
395
449
192
35
253
658
381
433
519
376
320
548
364
416
795
883
461
999
620
577
626
325
35
461
850
786
730
944
138
289
144
811
393
827
117
606
554
130
305
291
981
241
146
701
991
150
593
341
268
224
531
857
811
634
558
804
274
52
648
936
202
727
941
443
804
450
413
973
205
708
460
130
484
27
415
119
915
619
681
409
681
487
939
681
594
653
827
520
680
769
908
1
77
213
519
690
545
622
519
135
513
176
521
815
217
131
416
134
49
15
531
695
873
167
204
684
379
345
441
629
438
231
4
708
27
687
80
965
152
836
279
392
369
26
666
17
612
72
720
100
447
310
71
415
99
857
309
203
991
503
921
992
790
702
49
852
724
410
107
674
826
296
41
685
690
390
157
836
330
182
454
521
488
481
840
485
407
434
522
193
203
25
524
990
503
850
97
93
201
222
267
414
46
896
699
922
572
495
349
202
431
655
878
36
736
235
284
36
834
960
819
473
195
771
220
347
111
10
841
37
543
558
291
640
359
98
136
397
734
24
680
158
23
872
699
404
734
174
698
529
901
668
460
67
240
833
810
752
953
133
486
925
715
776
372
5
942
491
584
562
994
917
144
895
460
442
432
671
814
868
625
230
714
821
98
744
302
34
127
65
207
288
673
719
528
534
193
958
314
787
866
411
150
984
101
793
153
443
544
751
745
41
569
59
58
358
272
906
433
798
99
505
523
539
245
525
636
714
74
850
24
40
748
281
512
723
703
843
418
156
582
930
871
590
309
704
846
455
148
915
826
8
619
991
939
21
457
19
983
385
405
412
44
198
830
392
426
239
90
739
250
637
361
690
473
235
539
133
498
13
701
18
631
561
310
576
283
90
309
761
879
419
717
639
216
493
223
227
349
756
358
404
116
268
466
257
26
746
166
347
629
221
173
230
535
95
586
691
641
624
28
716
767
674
438
184
950
66
265
359
269
541
388
245
999
106
305
19
896
67
653
6
360
317
513
234
492
696
193
789
838
5
614
759
802
103
692
94
199
179
546
964
863
353
943
0
496
512
943
336
449
244
115
789
891
432
13
575
632
288
948
654
755
598
568
463
394
641
846
654
770
396
320
584
243
489
294
954
302
891
140
252
70
609
76
879
822
968
11
222
885
73
673
680
140
724
581
10
15
268
447
271
181
204
689
835
657
95
645
960
658
495
272
585
966
453
411
482
878
76
901
112
32
845
849
986
99
231
72
233
16
184
778
81
370
747
492
459
202
714
351
789
110
527
276
645
338
208
662
209
308
833
647
963
610
913
684
353
620
622
97
665
726
380
634
714
115
549
63
432
629
683
26
671
863
389
439
417
49
609
829
207
239
125
389
876
271
434
795
780
654
63
740
481
181
487
773
509
160
863
175
876
508
993
788
174
355
270
31
353
646
357
391
783
386
429
132
217
142
436
674
317
306
635
767
644
31
845
149
302
191
913
334
498
549
560
749
890
587
435
822
204
552
766
394
434
870
718
584
781
345
211
127
34
301
377
845
852
882
78
495
971
880
224
541
424
332
451
65
311
346
660
935
136
214
49
868
686
182
68
360
493
50
312
644
991
785
423
786
498
393
698
69
424
300
898
639
59
55
702
447
787
63
28
158
41
961
598
570
831
381
349
163
117
477
410
676
973
623
556
131
984
992
83
732
770
225
80
116
353
291
291
515
182
234
192
590
651
350
977
967
887
364
276
705
323
503
589
854
884
512
250
407
405
12
523
584
266
777
581
849
392
501
512
756
417
559
936
523
157
812
955
761
864
742
895
854
350
979
631
699
350
283
989
677
784
883
709
484
38
578
221
70
662
344
649
878
979
55
704
333
638
890
83
338
770
404
516
375
348
46
148
733
670
838
815
950
149
995
510
623
557
814
822
993
469
554
964
226
521
255
481
184
667
551
628
546
287
461
983
720
317
316
446
860
77
982
567
384
712
742
725
561
90
11
750
371
939
489
347
49
873
224
591
699
767
580
577
88
333
422
201
304
250
565
839
76
176
362
372
316
735
248
905
777
69
814
693
632
440
141
194
637
664
889
94
965
267
399
683
170
45
588
329
67
99
663
305
848
405
758
608
765
991
224
945
158
687
415
59
140
872
324
714
204
440
989
453
187
966
763
901
797
347
619
398
980
284
671
212
993
297
538
6
580
672
166
261
112
371
643
691
249
572
381
217
366
990
393
154
790
715
136
830
177
390
657
893
868
715
411
493
938
98
434
311
822
125
364
437
301
629
2
498
473
863
962
188
97
221
140
143
71
161
924
766
38
785
144
667
774
895
34
634
956
942
588
643
676
415
456
419
701
754
644
661
383
270
557
777
904
367
1
544
299
423
466
316
295
268
89
574
780
309
935
803
281
125
71
260
609
309
470
381
151
669
262
608
17
954
466
466
653
302
497
278
984
346
864
375
817
132
113
560
697
90
992
620
211
899
646
337
192
472
19
182
591
898
858
838
666
353
933
665
545
472
856
430
649
194
533
471
248
267
786
853
711
511
385
614
920
667
39
698
949
312
282
94
597
541
7
755
85
404
205
750
175
193
89
154
686
18
598
114
547
125
635
222
340
2
11
422
332
620
337
746
189
238
930
483
867
959
132
541
379
288
979
721
161
180
846
595
354
199
63
264
486
232
749
799
41
666
443
448
893
59
774
215
980
783
472
280
322
234
253
784
55
531
299
589
355
396
380
988
830
6
53
629
596
170
889
656
886
196
850
431
599
543
596
243
664
541
156
323
928
217
405
325
677
764
272
896
296
910
786
789
560
208
725
209
606
857
548
887
157
461
308
600
584
950
683
796
720
182
800
455
108
540
794
416
775
964
646
47
990
654
948
965
254
862
629
774
153
303
300
970
306
319
812
391
129
889
57
301
11
160
622
612
255
778
166
302
882
222
991
485
823
338
50
400
393
938
717
721
59
994
381
583
514
233
967
986
189
670
40
586
778
931
223
164
555
44
543
782
754
847
551
552
786
272
398
42
157
984
615
65
972
865
21
603
815
367
336
867
400
530
666
656
253
796
950
540
350
552
339
3
160
21
711
658
714
95
204
765
826
841
329
567
825
946
419
445
390
897
377
772
547
74
540
41
555
118
952
851
669
660
640
35
668
981
730
617
617
178
60
339
808
869
114
505
315
288
625
374
717
127
857
672
538
364
596
596
283
614
164
562
501
428
412
66
604
381
285
94
488
725
223
69
345
758
713
240
124
983
602
243
735
744
803
203
65
415
837
782
127
378
507
802
485
148
496
621
61
120
484
69
920
358
870
786
688
346
230
897
818
607
790
905
402
690
57
350
887
712
80
731
279
34
494
987
665
269
590
230
173
334
32
808
340
614
956
984
9
525
621
794
8
685
475
131
904
148
760
935
126
896
691
178
797
253
803
605
245
464
958
245
107
501
505
334
135
617
395
662
233
588
148
919
625
916
149
741
363
267
904
317
370
664
656
205
619
809
328
618
987
283
436
834
583
702
372
164
102
845
54
247
563
683
9
470
226
131
453
919
56
703
834
62
206
918
324
156
618
847
44
86
814
618
7
696
459
948
613
415
867
560
558
898
981
167
82
404
594
288
374
925
197
594
818
663
411
263
6
925
581
799
633
467
968
689
815
480
449
567
274
428
182
662
954
626
169
928
505
546
831
701
94
173
490
835
966
167
60
693
351
155
446
544
357
391
386
963
280
82
738
649
523
290
316
571
693
981
876
456
747
787
420
476
9
402
374
867
211
724
429
469
727
990
662
712
495
0
738
504
877
997
653
58
363
614
942
945
543
494
911
145
422
102
348
818
81
389
130
526
813
386
111
532
466
35
292
273
780
324
430
300
626
356
777
825
917
489
132
412
786
773
196
616
990
264
405
86
558
681
641
979
270
824
363
86
409
796
969
785
913
40
155
421
8
150
761
780
778
469
897
860
93
985
768
5
994
580
699
63
805
431
469
940
268
609
921
599
262
252
666
967
222
316
586
633
442
877
209
331
106
42
911
785
843
767
672
50
896
257
817
339
615
848
147
34
711
224
595
880
559
911
233
344
304
916
510
882
409
69
706
86
797
605
586
974
886
377
246
776
302
963
874
910
216
138
486
829
886
428
493
539
19
503
875
866
742
286
272
47
679
893
330
941
508
886
170
186
661
979
441
800
449
227
38
720
381
435
649
246
103
778
789
928
514
211
638
315
783
290
324
837
288
388
790
306
457
992
145
710
41
18
317
142
686
427
670
759
527
50
264
145
78
226
14
594
923
275
829
668
627
405
657
934
58
188
583
152
897
849
800
861
62
207
369
753
67
724
397
483
884
410
448
902
470
164
726
491
869
587
436
327
214
751
95
50
776
326
768
307
879
615
390
96
158
526
385
731
521
743
219
912
239
257
428
501
227
850
93
319
825
198
357
237
334
273
219
808
602
652
429
128
221
720
363
610
733
5
359
536
568
80
229
15
642
437
969
302
480
337
477
108
490
866
297
828
509
133
448
253
813
702
189
525
598
505
464
241
895
395
302
620
721
203
595
15
654
84
697
270
846
376
175
302
536
479
223
829
475
259
555
482
496
563
610
766
258
202
498
415
166
675
162
671
999
816
136
749
120
721
845
128
582
193
258
180
583
454
459
571
205
596
294
144
878
698
43
842
907
120
768
591
134
763
99
304
286
212
292
221
284
770
253
682
892
743
155
575
86
262
591
204
304
528
783
764
374
832
771
741
10
931
563
48
149
653
56
252
574
647
977
146
84
324
701
550
793
263
636
915
881
109
777
822
154
888
672
92
350
393
552
122
433
245
428
971
248
124
550
702
601
836
270
993
630
731
314
28
435
986
445
933
455
865
174
648
741
960
527
526
353
984
725
961
854
463
372
337
104
521
131
561
84
837
648
495
496
786
652
420
732
953
319
985
420
255
418
906
263
107
88
512
756
438
831
806
714
409
65
488
121
644
714
356
599
643
883
467
550
268
763
350
488
834
305
263
159
962
155
94
572
928
54
923
921
51
797
491
670
892
726
79
213
881
442
461
359
437
115
896
849
897
81
57
2
148
404
111
850
320
604
11
560
142
17
38
444
404
674
487
655
455
864
822
74
915
39
189
541
653
482
906
492
908
400
184
172
578
979
810
400
335
380
849
766
167
645
668
632
604
380
844
902
780
160
349
346
894
54
459
229
734
49
638
307
290
913
586
712
955
593
305
835
270
546
151
170
505
292
235
458
935
861
292
24
487
666
286
66
197
219
137
438
535
981
9
479
207
156
901
373
783
710
49
166
596
988
129
849
29
34
578
615
348
819
579
321
764
635
921
47
44
486
20
47
48
839
512
935
428
615
823
576
62
720
583
14
707
667
346
55
384
23
279
859
203
413
854
268
404
434
457
495
881
417
719
845
140
459
32
863
397
5
229
503
56
189
615
125
101
62
762
340
191
558
159
114
103
510
363
82
756
904
994
317
756
300
238
787
852
534
313
117
129
261
617
907
241
291
602
933
273
314
541
535
461
197
161
476
20
567
261
823
394
215
208
27
657
945
655
471
299
375
887
977
906
843
142
895
249
21
913
271
717
128
138
796
312
719
901
469
590
295
525
665
763
295
730
395
73
452
436
277
192
855
316
746
126
133
121
814
865
913
52
407
264
647
97
829
186
58
266
823
996
274
603
742
246
250
905
999
608
532
772
103
998
755
68
959
425
250
696
881
347
244
307
361
676
901
209
906
340
29
47
866
649
132
532
76
77
82
745
143
19
265
920
877
819
973
595
793
395
988
62
795
928
292
148
0
880
912
147
517
546
288
559
436
325
918
703
293
175
860
78
807
363
373
475
651
30
249
458
751
373
955
501
241
737
491
177
106
622
62
561
620
718
757
190
128
617
409
381
824
943
85
350
440
551
491
392
117
351
743
227
483
525
414
790
681
708
259
676
247
30
944
79
181
74
59
645
371
238
998
177
329
462
896
635
839
121
222
896
103
937
31
278
937
482
332
348
20
625
382
821
675
730
309
239
370
158
348
998
215
971
712
124
403
812
474
914
350
283
902
851
48
118
877
206
805
23
209
486
68
608
104
439
887
780
315
873
339
592
392
271
639
710
840
307
606
522
847
48
374
495
930
351
817
367
835
503
805
771
882
569
436
725
200
351
209
577
369
251
240
446
7
874
267
945
504
724
738
515
323
501
773
907
737
442
957
507
321
171
872
609
808
11
426
857
883
392
492
237
708
998
901
448
561
668
550
455
873
1
907
28
776
777
823
611
622
828
184
455
45
805
388
727
648
867
841
977
580
622
440
315
790
989
715
565
325
363
745
22
180
508
567
656
67
309
487
657
946
639
709
414
673
592
374
965
705
926
475
645
243
749
500
490
175
541
934
309
508
633
738
229
150
973
94
995
858
369
879
561
388
972
719
161
355
761
633
548
299
97
653
449
696
202
730
949
78
296
386
117
480
917
5
281
298
707
353
473
515
278
460
414
833
649
191
286
174
506
438
288
435
205
558
872
750
2
686
202
666
212
553
807
221
100
133
530
750
676
994
632
945
370
782
63
43
199
809
590
662
91
380
457
520
897
359
702
732
400
30
508
97
961
197
826
515
157
474
550
869
556
959
761
87
197
231
64
512
687
757
574
348
552
645
269
331
402
515
505
60
438
167
997
397
893
977
775
603
47
647
247
240
154
615
897
145
209
572
68
525
646
383
605
11
549
624
449
537
811
682
424
199
524
160
550
585
313
784
373
127
299
587
475
736
621
442
827
680
889
14
488
558
765
625
37
582
104
169
979
175
68
638
668
65
323
419
471
707
740
620
963
142
718
758
550
580
241
108
611
878
716
96
460
603
539
129
809
526
541
761
566
51
454
870
515
698
489
867
445
694
842
334
412
964
684
141
502
588
674
267
399
317
783
32
109
623
144
571
441
810
316
374
75
224
568
742
911
923
364
250
182
505
909
324
202
384
367
375
58
992
84
446
514
700
556
680
637
626
185
380
681
725
600
324
988
521
858
82
683
440
779
392
451
83
746
379
755
307
252
438
464
377
658
564
879
39
582
898
286
208
431
131
49
519
861
466
111
954
760
176
473
736
750
252
748
779
752
618
111
415
936
291
640
523
489
451
471
53
60
445
253
231
421
840
341
448
767
986
239
148
374
209
801
783
767
952
701
302
282
487
205
88
874
380
572
752
450
885
161
323
722
607
851
310
416
62
61
214
518
171
222
331
291
492
108
759
45
880
463
159
986
938
40
384
934
635
494
9
181
582
115
50
326
755
709
443
558
841
25
197
208
674
795
654
581
788
364
58
264
661
360
88
951
239
944
230
909
290
581
130
59
374
877
781
490
446
890
160
585
931
600
246
529
265
929
66
717
782
297
274
552
31
859
662
797
602
322
412
463
811
5
630
900
543
544
17
796
635
451
463
380
519
920
226
571
614
695
390
955
924
175
938
418
870
894
117
211
79
436
729
381
470
812
966
399
324
480
361
909
718
561
854
578
547
378
971
956
61
576
866
67
816
160
630
669
170
59
961
504
134
746
875
300
604
131
495
777
988
753
961
409
249
407
920
811
542
321
770
459
433
99
722
278
955
326
721
495
589
816
805
859
309
261
269
521
967
856
910
735
835
576
225
235
323
531
52
79
639
235
372
599
623
988
410
971
74
536
29
18
761
367
746
639
577
43
846
321
655
664
641
209
339
257
760
304
711
489
622
708
470
345
839
187
377
353
641
689
559
8
444
958
338
559
443
535
1
644
768
466
173
962
292
870
982
894
788
379
302
59
517
354
800
801
67
926
66
865
458
399
753
48
472
760
686
88
5
567
297
433
731
1
934
307
54
989
194
785
225
912
218
968
46
523
404
88
25
68
850
539
309
224
907
37
192
514
380
558
553
360
831
477
264
726
669
353
855
594
461
952
423
849
80
835
747
12
878
183
734
293
816
477
645
652
759
575
108
818
791
409
854
539
107
539
870
108
259
249
146
386
374
52
506
715
135
381
808
683
543
631
192
767
965
243
661
376
292
337
115
389
857
343
869
876
651
248
891
543
643
328
961
937
75
376
7
420
596
958
931
612
41
942
777
544
215
587
978
673
652
180
410
122
571
733
505
287
545
431
977
606
99
534
55
469
670
318
418
499
74
164
200
438
909
474
873
370
671
124
429
116
724
584
956
176
168
965
592
400
793
550
566
442
115
102
733
461
901
395
871
479
471
309
421
192
659
615
709
632
530
902
967
153
86
334
344
801
740
800
378
366
172
783
48
477
393
484
484
222
794
472
183
696
463
435
163
113
731
626
756
353
504
196
844
487
201
196
926
928
57
365
899
171
245
53
288
86
263
629
980
306
945
516
987
948
257
812
731
354
713
316
156
311
834
982
480
810
319
608
27
719
283
147
143
92
821
601
112
685
985
518
368
419
587
637
359
864
729
287
666
27
43
816
574
319
733
576
541
744
317
385
415
787
561
596
969
872
440
797
819
484
769
43
420
86
301
514
981
466
919
112
634
320
329
187
228
842
133
632
332
953
753
587
164
195
97
252
119
204
650
637
577
382
729
596
889
309
159
362
272
183
770
778
139
634
893
25
428
669
330
108
133
124
179
886
364
122
208
773
479
99
200
426
300
630
481
943
64
659
808
864
182
466
804
634
225
884
565
665
135
820
179
379
711
387
527
473
982
458
579
483
117
815
653
400
241
277
695
434
981
162
916
675
846
45
244
910
376
679
283
929
136
63
838
892
289
148
767
668
649
247
104
304
799
88
769
0
556
319
958
813
391
29
792
80
757
983
928
617
200
883
84
756
980
318
323
693
399
819
348
498
579
130
145
923
224
990
464
708
172
147
156
155
44
924
950
93
288
367
210
613
342
252
138
50
641
155
289
347
955
447
357
0
120
615
288
254
808
379
730
70
539
762
355
627
932
243
706
384
714
861
965
183
758
165
409
162
47
772
309
188
434
872
178
27
327
985
282
370
173
320
41
569
74
714
482
178
403
814
392
384
786
456
473
784
504
365
619
201
575
943
86
356
324
103
291
345
512
912
741
87
244
165
152
834
824
719
487
141
461
7
245
59
47
225
816
846
127
950
426
403
90
663
581
387
511
347
241
421
22
865
682
851
330
872
866
728
805
796
28
496
940
80
512
21
370
887
668
484
414
906
776
596
146
27
50
246
204
522
795
90
984
438
768
773
649
657
13
475
840
553
719
132
129
936
14
962
913
158
526
781
278
345
790
394
701
402
75
459
362
833
161
874
129
478
269
992
679
944
472
868
258
587
559
942
704
384
118
100
557
497
316
738
530
368
913
682
601
913
111
642
701
786
753
256
194
832
646
220
614
650
792
57
261
798
310
931
912
622
253
749
848
800
519
69
856
505
42
905
759
425
78
316
39
262
675
798
260
341
713
974
407
713
859
738
541
721
177
622
573
967
433
720
321
408
527
835
665
404
326
82
537
623
524
742
660
57
912
418
587
608
373
46
420
928
341
440
908
107
147
338
453
400
322
584
701
114
150
823
107
947
963
651
815
946
723
590
27
530
770
667
683
474
574
665
833
264
225
778
269
308
41
443
493
361
355
389
553
565
212
101
288
255
496
320
933
643
403
547
81
814
436
723
400
786
784
233
782
172
11
515
189
952
894
650
465
583
685
783
368
842
98
407
766
620
428
23
708
938
220
141
915
169
315
72
878
753
329
422
317
827
894
796
216
799
84
76
872
545
902
485
22
992
405
129
390
999
983
640
838
611
830
42
755
202
766
580
515
932
494
574
121
769
923
497
943
743
45
471
288
369
708
21
641
825
510
12
119
284
682
902
433
602
770
612
442
46
756
113
60
565
245
846
171
105
226
15
167
907
452
305
740
249
620
902
674
548
748
470
24
302
746
470
650
94
364
33
917
863
256
872
486
94
781
951
268
369
724
603
88
535
638
701
547
222
354
624
46
704
833
789
289
111
352
327
170
229
343
835
281
278
268
683
975
585
866
798
833
533
161
419
821
327
304
970
371
628
259
719
298
152
241
606
941
899
32
996
789
386
166
908
924
117
955
216
686
476
48
287
588
543
541
572
58
861
484
606
121
491
717
529
216
84
411
973
835
916
913
148
883
591
339
640
344
375
769
669
239
672
881
911
28
11
463
584
430
593
802
968
845
571
278
458
167
399
342
694
152
452
326
607
241
133
540
997
63
715
953
412
326
179
560
837
182
209
387
816
865
329
660
567
247
102
47
254
60
893
441
954
714
271
493
858
345
929
317
359
714
934
742
647
367
108
802
360
97
947
791
657
684
23
294
983
589
550
159
17
158
521
704
220
668
442
879
646
804
663
803
552
857
531
226
504
741
175
912
300
96
541
543
535
77
136
321
364
947
321
671
639
471
914
350
974
586
689
214
636
306
6
697
405
321
364
16
314
748
169
805
648
468
932
538
758
805
170
364
448
281
457
813
870
66
419
460
779
1
967
873
491
948
768
986
449
290
667
877
596
333
809
152
439
194
429
105
425
551
566
634
904
833
334
917
74
134
757
907
974
566
299
416
515
792
439
238
611
53
503
582
888
920
762
667
337
255
906
885
522
240
152
957
6
774
601
442
261
740
162
33
587
659
367
844
174
457
49
933
469
987
219
661
873
796
738
601
701
471
19
895
309
811
572
182
426
960
818
856
175
648
137
450
611
731
154
803
48
544
729
90
922
250
300
263
889
418
373
376
62
498
369
487
697
550
305
350
655
448
204
61
955
247
448
610
754
309
810
84
466
875
67
281
282
12
834
984
34
36
57
228
250
585
209
350
682
351
312
758
208
100
867
964
831
563
164
915
572
977
651
644
907
912
916
628
717
111
398
644
895
452
704
280
40
470
15
621
957
463
518
13
196
441
812
684
783
573
169
861
296
805
128
987
172
552
244
112
612
536
654
713
978
747
677
493
73
733
202
34
480
601
9
27
589
73
767
508
738
875
588
367
700
725
898
524
217
120
872
488
837
993
305
79
441
94
273
302
657
23
550
754
455
470
259
889
498
864
688
347
201
880
526
115
667
880
677
14
524
538
817
249
557
894
344
432
955
265
707
605
556
534
733
551
575
52
216
266
706
273
715
22
349
727
202
574
303
259
1
884
511
725
12
985
211
67
980
457
248
549
647
820
930
72
314
741
654
664
800
195
770
45
845
496
675
682
636
235
284
989
406
77
127
518
518
327
836
787
811
552
715
6
298
48
591
519
697
79
714
109
366
376
732
745
503
581
240
138
144
326
606
406
16
986
105
748
94
871
133
310
541
248
724
985
435
121
674
279
223
894
927
235
747
228
958
757
969
551
352
793
661
995
243
492
710
540
305
764
936
412
880
972
547
356
495
57
103
626
41
275
939
67
503
366
545
285
785
838
178
287
25
703
987
592
741
334
59
937
443
753
695
559
312
654
851
106
53
108
380
978
387
322
418
323
841
668
393
751
139
261
22
870
806
209
95
654
328
958
137
955
384
520
340
835
502
502
929
892
865
172
118
3
497
775
638
492
723
839
556
885
136
693
364
548
357
491
280
397
579
708
533
454
513
316
744
885
45
80
383
99
372
51
929
39
94
967
812
652
731
618
718
916
245
615
419
914
983
308
47
663
870
460
689
338
320
949
911
218
167
248
812
260
987
942
44
509
644
538
6
813
428
99
43
272
597
576
587
466
227
437
984
884
781
606
658
517
752
92
337
708
874
29
318
375
241
555
973
531
764
994
264
107
651
546
913
680
842
859
998
21
796
926
423
287
786
327
805
324
30
122
971
425
65
675
954
418
682
100
813
865
74
193
575
650
954
968
965
696
454
613
849
847
823
951
252
331
523
908
858
868
12
618
167
605
670
345
886
988
617
476
816
630
796
539
299
226
536
720
228
474
456
982
686
519
789
704
452
912
315
766
977
246
460
620
285
825
713
201
106
929
562
110
415
774
385
950
157
45
480
77
612
52
684
630
583
706
566
999
962
91
456
772
558
712
464
29
145
739
915
378
951
372
995
124
682
503
462
121
716
607
262
362
10
940
646
764
710
149
982
990
957
387
649
393
481
517
988
698
987
270
267
559
572
240
178
348
349
488
654
839
426
851
846
131
316
920
172
194
674
641
647
204
78
453
209
202
448
170
960
771
742
85
282
774
87
626
863
784
105
5
626
106
572
402
964
790
10
784
526
968
939
532
226
473
357
894
331
343
168
574
180
469
12
70
246
536
750
480
616
689
822
974
207
362
940
998
642
660
974
549
198
948
11
459
647
86
529
705
435
947
826
834
330
402
881
402
912
573
503
950
339
179
627
33
958
348
445
68
785
775
25
786
30
12
110
556
382
669
605
843
538
298
551
62
429
869
430
850
56
775
333
133
511
440
656
807
143
19
322
69
17
469
897
522
161
508
536
851
326
140
233
636
211
773
557
152
3
6
686
905
156
408
830
454
163
22
86
24
245
650
397
837
423
700
620
899
16
108
367
531
780
712
329
827
177
294
874
777
210
81
159
871
20
463
792
371
62
851
231
422
242
446
47
154
924
211
729
565
124
627
683
190
372
205
280
544
106
568
320
41
588
711
891
883
665
91
940
570
764
858
770
421
387
210
962
410
378
805
455
79
795
147
453
64
835
647
356
83
595
219
406
381
962
689
960
902
868
676
436
164
639
707
564
844
296
801
213
280
481
102
340
28
408
917
667
38
248
93
410
758
588
598
927
976
695
972
807
627
972
95
939
237
92
182
872
774
389
317
362
384
498
550
567
948
932
548
312
549
75
11
917
261
562
37
968
56
219
749
845
375
599
248
602
264
65
677
713
729
311
68
254
872
357
866
959
95
347
114
66
760
30
717
571
340
804
200
823
452
337
268
504
840
498
204
124
950
699
925
464
244
258
457
904
842
364
303
209
419
104
438
701
957
496
804
688
766
715
123
531
190
357
993
383
854
385
726
933
124
312
619
793
267
549
952
727
773
624
550
950
852
375
580
447
43
767
442
252
627
90
606
652
366
779
723
729
468
328
892
67
870
309
270
651
953
339
847
573
316
24
433
526
489
650
775
490
26
580
355
385
160
902
414
444
594
602
688
88
168
17
368
273
153
858
467
862
149
176
721
687
324
236
701
496
881
35
548
404
750
114
974
12
99
576
292
925
60
936
226
584
282
480
678
936
142
337
523
402
911
771
923
310
876
667
738
809
75
70
688
289
777
39
46
165
163
799
492
789
65
206
977
254
658
75
410
58
878
60
634
969
724
167
162
498
126
707
440
272
78
499
24
393
897
176
749
193
575
407
624
910
469
267
699
493
948
247
215
210
511
901
535
614
649
713
303
551
760
418
196
73
329
110
339
644
210
428
507
137
280
610
260
89
225
898
84
885
525
273
804
482
970
425
79
971
995
122
955
888
73
818
396
578
667
282
502
796
993
961
245
890
308
175
183
669
316
378
20
462
954
433
2
327
969
630
990
27
31
795
628
544
64
349
815
92
602
355
692
527
706
31
261
329
542
373
437
437
523
641
526
872
389
742
246
937
857
384
969
894
936
214
279
772
453
486
589
994
47
742
168
776
783
658
108
343
53
385
474
960
60
147
277
234
551
768
255
96
129
286
101
666
986
637
262
928
305
987
873
232
393
496
55
287
506
355
48
983
341
545
466
3
67
189
500
353
636
732
578
555
397
137
730
518
361
765
175
532
658
263
690
334
819
673
531
520
617
58
666
889
701
153
941
635
150
582
426
109
530
319
305
565
809
681
128
10
442
111
612
488
914
507
954
904
571
777
78
710
496
47
150
59
527
904
432
277
432
716
915
576
567
545
264
199
725
927
363
932
233
184
536
196
9
161
461
77
933
529
188
930
512
465
963
769
684
919
843
860
366
906
844
951
824
194
665
955
876
285
617
737
788
840
825
168
661
57
771
593
144
888
970
74
105
576
721
556
699
65
340
509
338
473
567
560
245
583
494
652
231
851
782
477
685
494
25
528
761
360
0
80
72
30
402
476
550
725
201
920
250
729
469
60
711
73
320
446
480
362
769
725
923
88
130
94
597
608
987
503
715
837
64
760
1
502
495
371
553
314
253
693
7
0
893
111
752
905
566
418
215
376
934
503
638
272
151
233
117
273
624
354
749
681
665
740
707
280
779
439
437
902
907
536
739
618
395
786
299
819
586
846
841
360
384
58
303
643
763
774
90
727
135
159
348
83
445
259
246
118
169
110
336
704
903
976
861
346
169
737
657
159
56
120
52
961
844
228
288
644
822
387
105
903
951
308
64
230
916
369
824
536
691
591
955
365
10
431
80
69
889
537
885
216
442
874
799
590
736
763
486
113
226
87
354
212
962
342
675
285
389
896
479
372
470
409
424
866
742
988
686
176
506
84
240
313
619
784
898
245
280
637
931
110
864
612
335
585
292
314
228
229
894
148
379
265
123
250
547
884
42
185
829
573
966
251
405
289
868
816
894
468
758
32
975
717
148
262
519
481
70
166
878
82
454
399
940
452
200
540
761
783
655
630
58
965
564
245
780
642
608
217
680
963
689
727
70
334
402
878
11
148
280
116
235
523
693
54
287
414
661
134
761
474
277
883
718
313
914
134
34
443
20
493
773
2
196
243
19
780
748
733
692
270
853
902
460
504
726
558
174
406
605
998
41
765
778
122
397
127
78
497
882
790
349
631
49
36
609
547
693
127
790
645
363
804
902
257
305
447
385
344
441
408
589
573
112
893
14
935
198
743
591
173
875
426
429
38
375
767
830
130
936
662
253
299
477
563
435
797
562
152
126
511
598
829
708
686
977
404
933
745
113
8
165
308
69
757
598
109
746
738
181
131
623
920
639
55
643
425
431
932
383
750
796
716
350
701
838
858
251
665
694
700
25
190
940
944
213
433
460
121
762
394
0
908
25
805
721
880
296
310
143
889
232
405
333
844
155
371
573
711
541
130
885
466
852
480
401
723
485
296
773
455
542
475
703
859
861
310
49
109
565
695
626
922
458
685
465
858
371
696
84
919
966
854
462
426
886
559
471
855
843
926
484
831
641
450
835
984
795
598
550
446
395
21
932
567
644
739
381
251
815
913
812
491
148
438
363
56
868
4
434
932
267
170
703
501
886
76
802
408
99
705
246
130
480
306
954
980
510
778
478
166
811
747
392
679
198
251
935
119
9
752
210
484
312
781
302
255
309
852
19
916
553
570
353
526
278
235
559
846
399
105
197
751
987
828
366
800
977
39
908
986
269
434
851
255
715
174
153
693
777
276
64
726
452
849
946
441
525
636
119
611
964
672
87
149
277
419
6
704
472
245
61
791
911
913
122
664
349
835
662
201
597
200
5
86
221
37
218
38
794
904
156
952
123
93
666
39
294
504
686
227
518
420
586
467
735
993
26
666
220
741
244
812
44
519
263
129
827
394
93
805
249
891
576
646
262
134
776
883
410
246
458
407
20
593
806
32
159
740
25
634
191
494
58
565
23
174
817
277
540
313
156
273
791
556
238
354
86
135
502
880
505
681
795
964
277
555
929
892
181
879
711
871
308
643
560
278
380
192
28
424
309
236
310
818
922
50
701
63
820
929
949
710
784
313
923
662
617
242
839
771
383
947
897
561
570
375
803
609
348
446
266
580
962
552
811
756
280
486
419
655
243
441
767
614
430
451
999
643
886
507
833
496
186
484
356
895
996
499
86
451
986
990
470
603
660
589
805
285
0
126
977
16
892
132
111
487
13
451
48
546
943
477
549
820
814
728
574
993
795
797
928
908
424
361
598
70
2
314
497
375
490
173
503
344
891
986
140
136
122
401
586
926
239
863
595
58
873
11
841
156
938
74
116
470
718
34
965
458
3
481
802
386
668
734
471
609
547
841
468
920
487
39
530
910
44
629
21
699
383
500
88
942
775
672
286
560
64
853
791
16
300
187
348
30
79
586
464
738
315
980
579
367
467
124
918
995
612
252
511
676
480
151
760
241
889
419
559
315
559
615
339
566
701
803
367
117
377
679
314
446
140
379
217
536
867
418
721
66
394
357
57
288
247
93
45
144
856
515
680
468
249
243
387
506
558
289
371
857
570
469
237
251
40
650
639
344
451
451
808
922
300
419
986
625
921
783
242
196
820
309
697
433
434
172
789
614
101
777
816
260
572
131
102
890
627
660
129
709
719
180
514
53
689
241
370
202
293
247
373
159
151
160
152
847
507
903
600
136
490
573
62
119
735
717
889
672
951
274
981
832
767
797
639
964
329
454
474
802
84
866
131
517
155
106
33
492
923
866
29
830
476
601
321
33
448
673
332
762
990
112
361
96
216
764
459
550
790
733
796
199
909
228
53
366
435
187
902
328
932
562
82
941
85
73
384
84
527
266
302
641
484
903
637
914
407
340
798
121
498
385
246
483
194
484
256
569
392
353
238
334
692
336
228
373
613
181
822
729
266
434
411
854
50
27
219
735
711
556
541
505
627
996
776
404
651
686
329
356
180
470
602
807
814
490
618
106
661
680
320
523
723
439
951
144
7
455
409
246
22
514
949
709
810
949
206
659
813
7
443
249
500
537
75
787
805
711
674
563
87
951
760
723
409
507
214
552
879
867
19
783
849
75
183
760
691
819
309
274
593
794
641
692
183
305
400
774
176
390
622
313
511
724
372
240
993
772
717
530
360
282
112
798
734
234
165
180
202
752
280
61
513
852
789
626
773
689
290
973
445
925
18
577
16
112
547
42
892
143
155
595
617
482
745
981
467
224
265
38
755
975
412
288
980
874
363
422
485
783
964
154
990
975
285
928
661
259
791
975
985
907
721
601
872
630
596
333
394
218
945
369
37
504
560
791
514
335
24
923
837
881
971
90
316
840
136
106
783
419
46
41
882
984
736
473
474
678
202
851
914
165
805
174
418
963
219
928
844
728
468
429
183
299
844
718
435
483
292
626
411
168
575
625
361
674
865
528
412
467
104
438
642
834
543
495
904
82
51
534
864
227
314
90
478
901
627
716
682
837
205
747
248
587
641
726
719
155
385
525
413
773
861
671
189
67
127
243
927
141
644
928
347
107
685
364
309
656
668
71
462
88
390
897
542
846
640
614
809
427
740
689
267
521
273
375
394
234
57
274
289
92
961
85
565
896
67
683
559
252
187
85
731
137
770
610
9
36
94
111
970
537
786
712
903
811
447
315
288
982
561
57
449
206
901
400
532
203
796
133
452
87
294
651
438
253
656
496
372
639
186
459
716
634
569
515
513
10
893
205
756
194
675
951
728
438
608
977
222
602
388
809
955
14
406
36
541
667
648
130
442
228
624
270
601
301
914
478
976
707
859
103
632
186
925
175
589
192
924
672
498
92
501
407
310
902
494
201
193
833
105
416
329
917
760
303
86
188
650
19
891
964
586
177
666
607
57
475
200
872
669
991
671
768
235
345
888
263
729
320
775
486
873
250
128
192
710
187
620
525
107
314
367
908
286
938
845
794
205
293
362
430
822
879
221
149
3
828
405
278
101
589
758
560
115
268
450
860
209
358
279
603
864
456
270
847
787
141
792
85
23
255
702
934
532
569
570
809
370
670
771
545
872
419
546
369
915
778
261
11
958
776
70
10
459
265
262
120
749
62
465
741
890
943
470
573
429
705
422
199
185
714
159
575
43
900
389
575
407
352
369
598
229
942
307
651
775
116
56
954
738
285
384
461
352
525
88
239
796
866
956
880
9
512
994
561
707
733
855
104
394
430
240
683
996
603
95
882
566
111
958
982
366
593
378
456
832
64
608
106
217
501
768
413
587
640
204
439
726
626
854
481
199
889
182
490
444
340
699
573
3
696
987
247
488
649
60
701
500
927
684
159
568
860
171
649
268
863
961
223
984
144
639
910
918
988
847
404
18
153
506
826
75
689
910
160
412
521
864
108
916
749
616
223
362
933
425
33
565
711
528
702
411
336
758
241
92
514
92
523
30
220
489
682
410
102
58
934
722
807
649
398
675
282
259
809
39
995
526
72
768
259
675
702
505
737
63
666
5
520
237
649
837
284
844
17
884
152
529
567
713
227
848
7
322
552
600
710
561
755
13
982
658
285
4
494
207
735
26
187
820
142
280
356
65
785
9
963
953
88
767
612
794
180
732
879
957
335
525
665
874
792
671
598
951
994
8
692
506
951
328
493
460
585
354
144
393
497
108
861
613
561
474
862
789
588
853
190
343
128
92
606
806
60
724
253
813
335
590
464
440
809
293
593
218
905
899
80
618
428
85
263
899
930
627
847
164
450
584
201
996
950
953
589
889
422
771
581
452
488
741
109
558
31
440
311
256
643
263
627
142
757
346
489
6
433
820
193
65
910
105
900
798
423
856
81
382
319
505
706
303
39
79
329
392
345
88
739
962
839
204
747
892
138
850
792
828
591
178
530
363
270
178
897
106
549
23
102
977
729
199
953
496
718
85
394
208
134
263
927
738
41
548
446
663
323
548
679
324
445
269
630
20
125
48
655
373
980
612
540
417
851
464
155
445
423
850
574
982
916
338
41
934
473
61
320
423
781
546
486
329
377
835
979
86
725
451
299
405
494
899
158
348
652
888
542
74
667
874
380
250
362
397
370
583
130
245
666
691
321
845
255
208
144
982
193
136
822
177
619
10
334
55
424
228
670
743
588
179
356
564
51
554
675
48
294
419
643
142
896
143
89
618
345
599
205
317
628
893
749
937
411
789
52
454
657
179
622
494
548
817
84
400
825
605
467
527
286
26
746
271
569
668
881
270
44
497
124
674
385
634
176
72
660
48
316
917
406
786
376
339
218
916
647
253
775
912
684
310
418
379
901
671
183
292
808
877
981
333
673
377
92
815
757
866
567
808
913
338
68
53
537
45
835
991
690
821
993
240
387
521
147
330
245
734
664
680
841
406
898
768
178
520
893
193
616
962
641
414
343
885
18
464
772
675
416
104
658
343
250
533
275
699
73
791
497
604
103
770
482
926
644
796
958
785
945
370
233
873
222
310
553
29
129
454
692
989
946
486
963
159
732
511
373
690
507
453
410
617
545
553
730
548
625
390
98
980
409
735
439
967
279
948
523
298
973
965
149
487
997
815
315
565
94
690
653
482
639
818
565
526
510
824
516
202
268
695
434
927
800
196
327
797
972
844
93
851
754
735
83
741
404
941
437
834
463
140
338
322
864
911
15
995
847
683
407
36
220
3
344
502
671
579
161
362
560
137
184
989
608
809
222
21
153
540
445
741
248
136
346
286
399
678
969
859
19
93
610
840
255
924
250
255
59
954
942
385
901
365
257
244
575
765
464
503
938
679
631
91
75
617
921
372
529
976
786
679
358
4
96
94
475
562
421
47
22
485
65
307
843
956
606
826
744
533
122
35
686
652
65
804
836
889
749
214
591
239
233
940
640
863
565
479
33
410
909
136
88
516
680
877
47
642
117
960
74
960
480
748
861
94
595
884
166
538
412
172
41
789
30
221
773
82
726
208
534
805
990
780
992
195
831
43
924
560
659
993
652
239
634
820
256
106
910
529
827
266
490
666
13
935
611
731
417
674
367
360
771
493
236
794
178
622
434
87
589
27
377
616
667
557
279
167
810
584
75
701
622
105
274
331
40
343
151
957
606
682
508
318
875
816
565
293
19
808
890
698
245
433
911
742
279
266
390
464
489
225
653
69
479
959
298
111
28
503
794
464
589
431
246
76
988
862
87
430
745
210
715
248
165
5
757
374
84
598
597
9
802
997
211
996
581
829
784
969
952
702
441
394
976
986
227
468
50
506
838
556
688
484
574
65
689
118
17
571
312
143
522
728
530
938
176
376
739
509
480
983
812
256
398
378
709
182
635
137
637
785
126
282
986
311
390
910
731
866
401
995
232
284
19
694
625
207
105
860
220
300
730
973
777
650
309
987
519
99
87
746
791
807
724
776
500
910
252
832
337
231
155
592
56
581
706
436
466
447
955
9
689
960
557
173
708
714
469
202
423
13
400
987
61
97
304
811
188
545
494
695
724
602
752
92
440
676
979
741
114
723
274
200
659
491
101
595
720
458
106
61
587
520
274
229
76
471
543
471
312
145
443
281
927
548
592
343
487
10
778
26
423
872
512
607
109
895
598
341
391
333
104
842
474
717
303
16
843
273
957
688
909
767
969
214
586
800
260
552
478
31
637
619
525
823
593
824
630
270
395
415
820
266
646
347
320
292
670
697
938
206
940
239
506
167
116
171
26
108
278
979
160
926
240
0
461
434
46
572
674
472
260
389
258
152
577
293
156
499
217
383
647
251
955
572
495
460
581
282
348
986
566
551
183
939
808
782
220
510
864
447
45
471
591
489
171
647
637
901
577
622
869
960
343
141
375
363
474
852
888
628
907
102
344
26
365
102
751
728
929
755
703
222
858
390
245
921
458
149
80
792
598
569
838
663
333
973
10
670
858
788
710
711
287
750
79
375
833
960
348
218
749
907
521
715
969
632
73
764
974
112
698
354
173
383
931
85
573
693
692
529
569
269
233
988
597
790
434
812
47
53
684
671
370
166
51
224
617
333
492
517
709
247
215
501
280
974
75
500
380
53
276
539
629
864
53
301
24
498
221
888
715
730
354
869
977
141
250
116
224
725
723
505
0
690
234
824
398
506
281
478
819
308
274
510
627
123
126
786
350
779
312
450
683
899
881
266
935
638
562
308
528
750
260
424
898
885
284
908
286
924
665
433
880
897
943
532
425
286
1
332
264
209
229
833
179
235
713
654
204
980
152
36
145
617
0
497
342
655
54
870
138
24
827
852
101
187
969
437
692
63
884
452
671
874
643
866
923
580
118
764
243
231
243
362
150
586
0
642
751
231
617
642
777
917
863
609
626
811
496
734
534
574
290
26
912
33
121
532
78
280
903
604
571
895
98
191
647
320
429
177
600
156
809
9
916
272
154
874
611
565
78
31
559
773
49
203
851
449
537
673
140
19
261
780
786
760
614
601
387
470
278
709
787
134
428
570
96
12
906
853
751
810
486
406
498
83
739
758
353
122
468
494
22
651
258
841
568
568
653
63
175
303
10
266
382
509
200
490
19
107
246
257
327
512
234
844
831
167
92
854
99
365
593
654
595
168
64
99
418
450
592
137
459
765
28
757
972
294
109
994
680
433
354
450
7
127
361
577
265
473
107
800
643
892
68
77
23
538
470
369
710
158
138
134
235
324
166
666
601
771
868
148
449
254
267
731
4
407
560
204
274
22
155
451
772
886
286
653
4
235
849
207
90
907
558
403
749
869
285
746
962
272
261
184
385
513
991
351
967
651
989
696
708
787
186
261
526
234
499
909
65
831
303
696
191
16
263
921
118
16
539
340
648
977
135
270
548
984
363
802
568
424
514
291
258
308
267
217
583
159
572
137
276
224
830
96
338
414
728
0
473
789
714
561
484
213
982
793
610
50
199
159
600
350
657
685
291
879
359
2
96
819
152
601
219
641
115
132
771
155
318
707
477
847
675
137
471
966
515
696
282
569
732
804
498
482
517
681
902
235
355
440
756
167
30
38
56
726
994
433
683
68
556
493
785
422
847
289
936
795
135
590
277
42
395
812
855
868
696
348
149
23
351
480
592
273
592
230
65
183
672
859
271
308
955
126
919
169
832
546
102
884
589
472
164
713
242
35
568
235
854
794
626
115
884
621
416
965
986
522
272
344
123
974
964
424
364
368
68
559
159
235
995
813
594
472
397
72
628
71
437
269
377
247
882
179
542
438
607
814
839
291
711
257
279
396
871
448
9
992
418
192
533
696
128
227
142
126
79
898
410
247
276
655
177
403
481
137
332
590
562
25
559
641
240
789
113
734
290
838
998
21
560
774
428
195
83
13
941
359
240
10
352
459
788
675
128
971
187
71
824
69
13
415
163
583
956
573
873
477
626
591
744
479
563
175
175
275
859
302
540
372
775
590
232
406
519
99
226
799
319
736
443
265
304
382
103
75
825
432
7
678
569
822
706
265
803
818
511
786
520
529
258
167
311
92
642
197
823
985
856
399
179
155
129
868
35
527
850
247
866
131
294
195
497
172
778
634
798
916
122
419
166
760
180
973
624
851
469
431
588
917
262
477
832
477
703
821
985
207
537
23
760
771
765
860
658
747
946
439
792
850
163
750
814
105
919
45
368
497
964
846
160
666
506
207
318
497
337
635
426
470
283
960
328
912
405
890
384
215
78
825
649
351
404
514
711
391
531
267
160
712
58
581
487
334
980
479
792
568
299
461
327
407
335
651
728
797
695
297
636
949
640
534
216
485
64
978
303
750
597
352
827
503
290
602
221
557
877
91
970
238
376
786
494
87
255
663
703
415
682
957
338
259
361
404
906
109
365
560
455
888
703
609
630
827
305
457
579
845
626
123
822
757
234
664
679
114
964
943
613
740
674
759
770
403
486
661
568
57
112
24
582
330
235
494
374
560
155
626
211
918
258
485
323
388
208
993
751
494
46
890
991
305
914
264
466
252
675
44
185
272
883
699
831
773
281
573
919
934
654
754
807
261
6
49
179
227
596
994
709
977
158
270
129
929
803
112
645
708
404
316
875
706
236
775
942
194
484
60
374
721
867
776
937
635
963
783
1
875
49
362
561
532
352
255
776
645
231
237
925
934
370
799
477
22
428
347
775
654
710
313
919
777
729
678
716
648
178
616
143
945
28
833
26
628
552
402
67
817
264
699
332
18
743
881
874
40
208
824
563
70
770
931
904
656
66
955
212
268
976
575
951
362
648
900
108
349
333
334
179
993
997
580
44
381
660
201
571
62
918
384
813
90
523
875
651
656
47
901
683
920
19
365
863
111
439
511
301
836
891
140
722
962
893
881
7
59
354
19
251
968
449
850
388
988
730
839
80
88
214
386
472
509
495
848
168
182
0
44
214
731
676
601
861
440
665
260
57
637
903
724
104
658
868
988
22
522
193
627
368
659
397
764
891
294
668
732
751
538
369
390
798
475
544
865
555
107
286
545
82
207
552
654
694
556
108
145
880
8
539
640
559
655
784
92
10
439
378
284
987
180
953
626
192
860
766
479
848
591
320
305
332
695
755
291
818
431
368
589
14
924
493
690
430
467
684
899
152
450
881
509
743
64
227
420
854
683
874
734
158
414
646
448
557
308
575
579
71
436
854
268
133
425
467
976
531
194
429
635
509
884
251
839
435
724
533
602
783
779
900
545
653
829
145
623
623
895
227
274
160
869
993
979
580
29
740
209
845
989
174
735
959
378
732
663
843
780
594
868
359
647
705
66
464
547
424
299
913
162
381
921
264
67
815
703
570
555
703
18
562
134
372
711
567
593
738
369
985
21
68
598
677
70
106
922
648
352
568
983
294
91
769
213
437
208
227
570
537
307
960
305
534
62
41
88
634
800
3
754
80
984
767
985
453
431
20
850
274
566
351
300
92
293
397
265
435
199
666
382
721
833
426
345
93
781
835
821
484
561
768
846
576
746
856
391
863
291
441
57
604
747
585
211
871
152
979
427
391
461
920
195
389
431
149
890
449
331
404
382
548
864
166
316
288
434
922
962
128
604
778
81
27
512
968
21
100
771
567
311
191
474
554
676
890
505
14
914
345
195
998
741
384
884
184
393
728
103
627
590
429
924
335
739
33
805
187
746
666
661
994
835
783
819
905
453
628
32
651
860
879
738
109
237
466
990
101
286
659
647
724
724
148
757
514
576
744
626
115
738
303
943
598
646
240
134
697
557
4
112
555
601
265
261
262
460
20
748
893
980
1
468
141
200
739
662
778
782
81
412
815
38
856
744
264
62
904
351
387
326
797
335
533
96
630
465
944
0
479
974
294
408
566
968
208
136
535
309
32
927
357
580
338
262
399
459
29
59
670
11
168
970
726
632
970
334
690
507
420
679
97
497
379
187
300
55
844
349
352
238
282
238
449
621
54
981
279
339
370
842
606
41
183
674
500
967
464
577
873
940
380
79
892
462
881
452
464
492
530
255
194
952
867
703
820
276
326
672
730
859
359
980
868
34
571
950
256
180
532
730
162
759
789
262
675
362
647
660
231
411
820
482
398
146
214
109
636
610
723
183
376
207
533
10
300
982
104
709
938
213
886
818
164
764
241
614
877
299
280
780
310
656
768
854
265
562
928
674
788
227
887
591
964
910
284
202
905
651
971
357
785
772
812
865
683
228
872
40
455
537
336
648
560
979
43
637
490
190
619
981
747
842
751
230
578
42
944
540
589
78
807
697
380
775
984
456
830
42
16
146
477
429
638
352
816
528
453
516
557
891
206
394
215
648
814
865
625
853
857
837
147
131
819
563
464
503
676
412
634
895
926
322
218
731
143
220
249
555
258
909
358
991
254
874
917
264
709
160
899
797
78
433
816
552
330
419
729
961
85
357
253
613
495
672
291
351
890
584
613
898
335
760
774
166
643
479
220
861
418
980
442
989
110
438
71
832
929
370
905
812
432
92
611
714
610
260
752
193
461
305
785
136
101
219
997
417
772
428
852
265
742
38
851
64
350
212
299
614
810
497
462
737
837
835
156
463
12
715
954
140
559
177
864
97
808
795
16
634
188
542
171
141
814
227
695
626
788
34
826
113
855
180
12
989
501
271
514
930
116
855
656
952
37
4
545
661
944
323
519
248
870
373
955
765
759
522
227
401
520
679
207
535
772
159
904
122
579
352
130
576
684
800
690
894
597
475
560
309
296
886
304
70
236
500
53
684
25
732
404
178
416
720
494
96
862
157
222
469
800
434
662
502
962
289
56
84
41
222
722
598
571
621
219
551
157
683
141
492
612
101
387
151
139
265
897
258
964
29
946
889
105
597
268
623
465
523
510
74
219
8
983
551
100
437
24
688
125
785
753
390
364
75
136
631
477
47
586
322
264
943
906
191
357
397
55
151
377
204
280
609
287
401
135
367
880
970
973
836
137
779
592
785
528
311
333
113
722
83
47
37
688
492
165
950
453
670
778
431
903
907
168
497
221
534
403
358
872
893
185
143
757
472
201
787
114
233
95
799
447
288
642
176
513
236
411
194
741
657
145
241
715
667
877
228
451
339
574
361
664
748
379
357
782
882
372
130
949
709
469
554
505
557
37
572
668
796
157
522
416
820
517
10
366
348
978
504
731
819
619
593
83
744
753
447
621
180
971
975
501
343
552
221
846
725
252
835
538
109
453
907
367
382
793
195
730
959
545
994
309
492
264
695
251
468
314
367
371
55
630
293
853
760
617
121
890
170
652
593
604
794
604
842
286
751
229
479
927
663
793
178
81
28
400
454
302
643
758
89
351
901
77
35
910
533
633
194
298
580
18
29
390
425
784
172
500
634
502
137
313
448
738
213
600
66
994
238
991
737
149
795
693
380
68
581
64
964
787
327
887
602
304
998
844
392
582
618
737
252
225
220
855
887
56
139
8
440
984
831
928
223
261
491
770
532
871
759
113
367
422
191
903
899
959
97
775
724
653
962
531
596
950
181
573
124
975
295
192
578
803
19
927
453
510
862
247
745
494
398
353
341
792
455
454
259
876
593
912
137
513
292
623
760
908
611
587
430
589
434
970
304
325
753
501
441
505
708
586
815
42
952
823
408
718
549
624
385
960
445
306
943
250
691
224
99
67
519
445
139
977
111
636
841
748
185
427
292
806
698
878
885
989
563
719
480
955
807
598
186
892
117
726
801
902
255
829
840
486
884
322
964
618
520
526
599
575
669
875
497
287
376
519
48
104
572
5
238
163
768
278
995
931
257
458
172
552
324
348
76
226
990
628
965
61
242
822
731
195
614
543
270
305
160
183
278
260
109
347
736
390
545
998
109
592
383
80
612
603
478
409
435
837
560
475
358
618
623
915
263
294
182
649
780
524
430
443
831
743
210
947
858
773
757
629
371
573
995
823
966
36
434
389
466
65
578
378
759
940
616
665
709
252
571
914
675
907
290
697
47
905
991
76
862
897
309
424
936
278
334
345
655
153
861
915
439
849
601
373
94
340
974
748
375
808
41
879
218
522
813
913
151
234
361
433
1
670
206
563
226
794
552
580
953
789
624
972
689
82
475
982
881
974
602
255
6
14
386
467
432
124
937
456
446
533
610
821
162
123
293
72
466
308
90
953
267
231
985
887
924
148
10
812
429
95
213
220
965
300
753
940
215
848
843
457
51
253
908
909
87
241
80
665
33
286
270
152
916
792
825
881
325
300
183
421
92
31
921
729
930
880
491
401
119
866
916
114
521
689
592
385
395
148
384
444
740
375
502
38
781
642
124
386
818
196
826
655
400
802
964
976
718
265
317
724
156
279
79
15
185
85
39
786
497
304
634
855
936
683
346
584
6
247
884
789
852
714
27
943
16
371
179
841
70
880
860
754
499
416
217
512
183
365
741
241
698
358
902
939
814
14
565
462
563
6
33
903
497
967
88
43
567
166
817
981
462
240
224
374
871
143
734
397
813
756
79
285
857
40
419
522
786
750
598
787
614
944
531
276
755
262
998
161
123
990
785
871
692
185
48
547
977
207
538
869
93
654
578
182
838
582
601
108
988
746
991
753
391
736
961
697
326
83
208
393
160
363
470
281
363
342
691
410
329
863
525
404
446
940
355
483
219
470
983
150
499
564
768
97
837
760
636
274
350
393
487
917
95
219
885
801
897
296
902
409
365
725
720
229
600
383
38
954
755
577
774
291
998
594
675
373
944
707
122
175
279
221
482
701
353
436
91
82
25
719
717
364
145
218
560
677
517
164
917
130
919
145
384
243
152
595
243
146
981
623
582
943
857
40
3
625
372
125
127
833
731
984
983
705
20
535
211
161
562
821
925
56
478
907
568
914
615
225
936
39
251
938
540
34
428
13
208
499
156
471
481
161
551
615
945
881
525
752
426
184
484
564
96
8
540
969
756
624
936
804
770
941
124
985
639
774
431
443
128
725
186
75
455
703
936
381
243
447
623
990
265
397
595
662
210
716
990
650
276
593
738
744
184
368
90
633
476
412
528
352
862
298
661
687
998
474
478
767
967
524
843
110
747
920
373
296
498
349
709
206
62
651
936
607
775
536
411
47
399
127
358
422
659
738
534
645
995
794
961
207
578
699
508
760
985
167
722
507
38
461
519
814
996
22
154
846
776
397
445
389
906
967
111
868
135
656
710
548
205
596
218
34
965
236
998
370
129
661
891
723
946
266
420
739
388
461
62
595
445
536
143
613
644
171
450
902
123
381
697
576
208
563
54
648
385
286
717
400
396
920
692
531
851
123
757
520
540
475
112
446
321
913
826
100
548
305
727
750
504
29
251
904
189
113
598
954
915
235
996
699
332
598
134
62
795
795
366
387
537
597
672
143
874
561
368
463
217
174
850
889
763
27
132
274
434
179
961
997
375
461
618
879
376
79
896
331
47
406
778
508
413
665
406
662
985
164
621
574
246
519
334
174
537
268
330
963
928
429
778
899
408
980
825
171
846
278
716
441
71
7
623
170
313
124
303
836
491
421
188
273
886
197
694
364
259
46
729
527
844
558
119
385
427
498
563
257
762
417
849
819
305
664
732
997
491
271
97
84
127
805
123
742
932
197
356
413
597
529
368
721
393
916
988
439
172
443
372
549
321
845
796
337
337
221
938
246
658
848
326
884
836
449
994
752
233
662
263
186
808
975
890
210
782
751
948
361
265
77
27
516
130
900
28
74
520
769
516
854
373
401
758
357
585
648
885
687
321
516
212
663
470
673
732
636
335
498
97
957
811
957
903
38
163
381
325
670
686
896
535
201
940
636
613
804
154
409
139
770
973
677
394
191
43
761
772
196
767
137
291
292
444
734
448
483
198
77
53
946
758
962
678
111
955
114
533
569
470
77
639
644
156
148
966
285
325
465
51
248
119
992
215
600
460
795
837
670
68
617
343
519
704
810
287
38
959
548
676
891
147
897
626
164
982
127
682
997
323
588
978
681
695
928
656
409
57
770
542
659
23
869
247
318
309
444
921
429
362
234
314
652
44
287
97
324
450
659
143
448
372
763
445
420
135
375
399
706
756
30
320
955
344
877
520
496
240
984
123
184
351
965
820
45
315
398
750
26
160
227
271
0
541
159
648
916
472
997
645
660
618
266
170
679
807
343
857
525
337
487
956
228
281
876
463
571
246
404
192
116
879
993
874
404
99
518
319
490
791
686
503
22
473
992
940
884
949
401
541
861
358
403
282
118
254
989
681
904
895
584
53
12
845
316
54
287
336
808
472
634
837
896
245
598
853
957
595
576
84
849
112
683
208
391
421
414
523
871
580
222
55
524
728
818
796
735
21
908
183
596
50
94
409
139
903
292
966
129
320
964
786
592
402
264
78
329
441
705
618
992
367
613
906
870
81
622
756
115
701
644
464
1
341
124
426
470
990
239
274
416
901
717
953
114
612
575
58
932
803
18
751
880
950
472
725
30
159
654
27
534
400
68
426
798
787
757
797
735
654
346
6
426
142
845
337
177
223
402
701
417
59
546
928
972
488
144
230
96
534
199
282
993
920
278
82
963
199
389
25
159
688
884
5
911
79
876
126
151
461
752
229
157
667
447
885
173
133
164
682
584
753
562
489
954
180
540
476
380
857
842
471
900
847
344
698
866
553
839
385
426
109
255
378
278
966
574
330
762
922
242
230
395
620
197
824
796
733
589
207
832
689
987
512
520
408
138
355
902
118
402
255
504
314
191
83
188
84
269
965
509
804
936
164
276
18
576
936
298
199
874
332
969
539
972
524
871
712
324
479
628
445
657
292
371
305
735
432
98
731
534
981
571
95
578
339
484
614
872
514
796
239
933
924
594
877
40
100
208
405
723
248
747
185
161
569
44
996
506
174
162
315
672
326
952
754
110
205
140
385
393
681
677
443
383
859
735
517
398
319
218
503
227
490
76
777
128
665
333
284
409
191
565
769
547
91
186
216
702
192
25
401
33
686
548
323
191
491
968
264
933
325
292
166
420
27
298
481
710
317
406
817
125
87
955
636
954
929
954
154
126
982
318
17
415
474
444
84
352
355
690
704
92
80
329
569
103
350
896
516
99
907
536
468
178
404
611
834
925
134
799
191
318
433
519
992
119
438
374
712
863
491
21
461
279
282
798
507
529
235
287
207
170
659
199
558
514
187
102
172
759
478
111
218
254
92
171
17
882
171
706
278
842
674
165
744
549
904
496
523
469
971
989
170
621
174
880
88
919
953
218
338
201
165
204
725
67
955
680
76
773
485
95
969
648
744
939
70
187
717
921
65
365
614
897
551
751
524
376
140
558
402
998
124
502
300
5
237
773
223
688
959
722
578
736
496
912
43
217
548
897
726
790
976
724
490
170
405
258
701
728
709
351
579
874
469
569
579
94
426
528
103
828
127
405
539
219
365
553
987
535
362
580
583
14
484
773
629
120
689
101
159
100
634
750
595
905
325
205
926
359
673
893
546
233
90
153
81
204
710
276
737
492
559
811
42
243
527
765
164
518
392
193
359
607
978
262
750
947
642
115
407
880
569
218
694
701
705
655
458
53
520
257
548
735
698
385
501
998
895
638
72
6
10
841
950
282
316
267
306
306
281
11
448
13
339
342
533
669
648
356
211
244
480
180
381
995
164
380
475
121
270
763
25
906
251
24
726
343
854
335
823
291
941
184
974
65
655
945
50
721
206
235
320
471
46
53
821
322
322
226
840
539
855
824
96
180
264
894
481
813
459
342
356
623
617
60
245
457
304
600
880
288
568
876
281
315
520
527
287
164
683
230
767
760
190
983
325
499
781
937
913
785
755
930
648
381
910
545
352
86
65
997
80
179
495
83
436
826
766
611
398
883
748
942
698
60
53
386
545
348
636
964
458
545
30
501
245
139
594
703
307
170
838
705
733
877
530
616
565
750
971
561
924
433
945
344
678
842
883
881
87
669
752
385
625
503
514
389
665
399
391
57
678
103
268
757
571
433
946
505
244
108
348
600
777
562
534
757
638
591
748
335
564
254
958
505
615
594
428
852
947
686
903
711
369
291
410
108
663
729
994
913
922
831
616
598
198
100
278
109
441
631
825
669
336
408
592
615
564
275
836
640
579
685
352
525
455
112
388
426
300
331
741
725
432
587
488
879
49
517
587
480
536
384
135
94
372
195
88
417
968
768
988
352
733
249
617
244
132
304
684
351
121
366
471
322
415
796
815
617
119
452
621
648
449
519
963
27
310
250
493
432
541
62
56
602
711
893
41
538
86
239
537
127
435
204
245
85
105
98
727
74
533
767
718
858
787
775
468
515
341
253
293
994
893
808
784
999
56
578
192
712
807
3
612
473
487
716
287
700
695
135
746
690
604
817
658
232
200
55
999
408
32
905
595
976
506
733
918
294
656
383
928
913
225
217
553
551
597
16
896
881
757
693
354
689
980
401
916
340
202
239
359
702
337
344
655
311
8
894
132
220
698
232
3
801
149
807
198
131
814
544
487
425
197
632
841
0
249
651
64
212
703
290
750
341
734
282
815
645
422
157
824
58
956
720
653
354
603
209
867
925
942
133
897
437
198
777
334
54
590
489
386
893
530
83
919
822
661
250
552
642
661
962
354
54
301
269
959
933
819
822
384
431
604
862
779
33
338
884
408
708
854
611
284
149
623
144
657
68
320
231
312
404
762
504
75
238
679
216
852
373
819
698
653
978
865
242
968
167
83
635
744
980
676
79
470
638
972
765
745
552
513
90
279
743
383
903
377
271
854
843
806
361
221
327
993
201
135
865
696
240
100
398
478
654
851
326
689
84
482
898
827
891
796
344
573
376
188
523
155
659
848
705
491
457
308
528
53
803
889
969
385
764
387
157
584
89
419
438
405
348
861
507
776
427
189
666
328
66
431
573
311
166
226
887
120
69
434
624
701
539
374
390
0
114
425
102
106
163
824
929
847
173
624
764
450
728
583
650
389
668
7
10
639
525
795
727
165
694
138
769
995
13
546
370
567
824
203
196
310
628
417
787
361
967
571
669
779
887
971
253
438
724
357
802
189
971
491
449
826
286
55
159
758
104
21
579
167
341
841
187
65
90
338
36
609
266
229
56
45
722
202
785
469
531
702
544
78
404
45
764
824
639
9
895
186
537
90
679
769
545
688
956
939
26
112
527
664
955
547
6
649
992
310
84
216
496
536
516
704
370
253
140
224
591
232
543
564
994
381
502
28
411
416
522
17
655
604
584
800
297
837
813
654
429
995
813
778
824
409
459
371
97
329
720
394
968
607
316
16
917
365
335
333
769
727
327
840
321
906
103
785
673
905
999
708
408
256
703
283
811
991
541
80
112
304
691
122
181
699
904
567
430
138
36
644
147
466
349
165
971
568
305
135
560
981
815
15
656
767
626
766
832
591
851
624
755
223
466
911
446
899
238
616
300
997
529
310
231
958
520
239
346
442
492
689
848
974
736
435
895
996
600
272
167
888
401
928
928
944
716
216
327
763
887
627
845
766
9
453
166
504
693
953
964
552
269
666
45
522
926
655
434
161
282
498
691
632
293
390
512
198
116
922
167
284
371
349
857
557
867
576
379
190
556
592
103
763
904
18
274
237
145
56
244
436
440
772
715
516
617
296
898
942
61
685
514
989
938
33
407
986
577
172
688
256
578
725
358
231
160
993
682
981
430
721
508
341
722
741
630
284
113
445
504
176
268
705
530
814
588
509
881
62
636
752
432
994
907
649
858
844
350
537
40
925
902
636
505
653
171
919
43
24
22
413
873
975
375
293
898
451
431
827
640
697
527
820
888
732
63
945
81
247
973
732
107
708
52
774
698
501
953
389
732
514
757
844
270
982
523
398
403
86
612
596
263
615
220
426
365
478
389
544
566
304
388
902
564
422
798
192
185
34
279
150
420
233
274
122
102
204
14
264
342
533
365
902
106
934
517
753
828
178
660
828
785
582
685
951
478
82
469
861
735
840
287
526
834
261
436
925
232
191
695
36
334
210
353
996
753
696
613
8
582
919
924
813
263
668
114
129
831
934
393
251
10
894
685
951
470
745
888
95
555
136
373
962
317
958
766
945
787
910
443
300
255
21
153
853
659
332
958
900
121
333
421
727
726
160
481
631
216
177
558
720
631
58
729
911
338
176
528
0
419
221
485
384
876
697
212
690
696
299
853
454
308
983
978
937
844
56
664
784
712
495
782
595
323
56
504
244
190
44
784
509
927
221
831
962
473
742
429
204
735
779
853
727
270
718
23
684
301
504
240
998
618
676
415
187
111
344
242
503
782
988
331
963
720
158
767
308
56
655
725
518
917
612
449
219
813
674
23
938
872
483
135
274
713
134
742
633
794
312
106
209
837
27
452
805
730
590
134
205
315
222
920
407
649
913
517
449
196
720
588
59
291
532
251
538
85
486
515
510
185
900
196
486
331
212
161
293
375
813
862
60
679
415
304
582
802
289
441
664
666
52
553
936
380
963
486
973
539
245
47
47
57
454
279
600
715
145
402
102
874
997
330
159
524
121
142
420
251
936
604
776
9
628
489
515
320
900
96
264
366
912
183
336
127
328
336
641
27
559
386
616
58
29
387
299
504
658
580
751
270
151
443
986
832
109
553
61
723
74
537
362
187
495
588
298
756
434
286
245
101
725
448
297
896
868
732
34
800
294
211
421
856
413
487
192
122
759
212
830
746
780
720
849
56
960
890
291
775
438
273
109
625
807
924
990
403
491
38
550
683
945
590
332
407
680
974
157
133
847
341
691
851
697
41
214
703
830
365
447
325
859
769
60
976
803
322
18
820
358
210
987
267
70
699
412
293
583
323
589
756
349
607
887
997
214
216
693
497
627
695
527
428
646
322
800
36
368
36
372
700
978
699
23
530
448
704
975
524
76
308
822
664
404
654
4
236
265
704
323
262
31
179
638
732
111
951
855
292
986
870
178
184
731
634
249
967
736
125
827
316
400
262
276
17
31
859
576
738
579
108
520
939
24
577
891
642
240
716
242
343
940
898
67
385
718
876
84
18
146
369
153
529
211
173
112
677
426
753
50
696
840
410
679
544
521
35
973
266
861
875
430
74
732
858
892
641
870
199
619
950
518
811
215
608
662
458
382
932
663
202
870
252
112
655
908
867
780
980
752
667
654
766
332
736
308
7
122
632
7
137
238
72
289
701
160
770
688
761
753
351
109
457
562
842
115
646
994
948
558
523
228
577
684
381
79
160
565
925
521
168
526
952
733
371
463
54
132
37
534
831
803
833
724
113
578
886
311
384
126
82
517
767
748
228
521
79
411
419
403
456
850
99
669
477
551
236
438
417
539
1
835
67
58
864
23
517
4
756
743
465
796
941
617
70
12
573
942
813
699
430
619
868
977
533
179
864
761
285
511
17
877
329
449
277
835
385
418
746
589
989
94
313
891
96
156
673
315
895
134
828
550
374
600
604
411
165
289
515
899
444
871
275
95
60
539
701
970
385
277
437
343
215
448
651
412
725
967
155
27
67
862
408
455
948
432
142
249
997
358
782
963
186
811
911
668
673
355
561
940
385
802
862
818
134
584
384
771
513
791
110
353
280
683
864
313
702
407
227
861
997
779
344
894
236
336
851
638
769
994
654
38
197
551
569
761
161
26
151
754
216
646
180
499
989
202
386
723
803
818
20
999
642
396
199
593
404
941
486
477
409
737
220
630
945
79
438
928
753
734
91
138
692
920
254
44
346
25
281
773
922
681
561
21
968
622
54
235
774
85
676
636
948
55
176
484
479
631
875
571
379
901
682
550
49
528
500
885
192
470
415
591
92
694
551
954
518
214
342
592
569
596
806
352
33
771
626
834
60
558
591
479
868
103
660
397
409
411
939
674
160
675
3
321
222
144
873
315
196
408
865
95
690
376
268
973
169
488
636
645
6
11
99
814
729
422
101
58
824
390
124
689
986
904
611
552
94
721
499
570
752
499
91
246
34
716
929
376
839
815
300
598
699
526
690
788
512
447
667
34
653
299
808
416
661
836
411
610
301
790
35
380
165
195
893
682
324
930
864
391
453
437
303
144
739
923
207
761
628
538
849
940
401
506
127
396
776
202
646
356
624
698
754
999
235
521
363
274
220
860
431
104
44
36
302
807
111
779
111
55
26
697
650
240
615
621
446
805
334
223
94
72
969
800
251
365
477
250
200
449
742
898
290
893
434
729
567
662
815
512
475
478
389
191
962
627
617
575
823
433
161
334
172
141
817
99
750
993
363
39
286
772
315
86
929
134
474
3
216
953
199
913
260
790
198
28
47
78
896
730
966
74
144
854
740
414
834
883
286
964
554
496
178
926
413
974
401
294
475
133
912
869
111
236
275
914
177
979
470
862
690
406
212
164
999
443
982
213
159
246
507
521
925
482
350
642
38
228
720
393
989
236
458
622
29
803
100
723
661
7
652
716
346
75
63
317
943
372
631
705
115
600
414
680
579
660
768
31
561
483
734
847
653
560
9
824
211
431
228
638
114
235
81
16
877
586
535
101
228
75
73
451
710
23
411
839
939
751
458
264
917
72
816
960
516
249
164
752
155
693
713
312
954
935
818
577
827
918
419
998
960
115
953
724
298
240
732
14
181
679
274
886
606
28
102
760
596
92
86
908
227
75
852
980
563
452
647
923
814
374
210
619
717
523
602
326
76
892
911
228
567
545
720
341
950
392
268
591
460
817
97
303
462
41
612
88
658
593
955
531
318
109
226
924
596
173
982
450
313
880
612
805
806
141
409
688
708
458
853
994
216
24
47
651
998
576
504
789
506
727
988
217
772
414
629
392
285
328
683
666
321
136
746
82
211
311
494
865
203
592
426
149
341
219
310
868
468
998
526
697
74
102
715
715
277
959
313
159
202
550
357
715
689
201
918
117
946
986
547
385
404
777
212
845
692
459
802
170
703
812
624
279
219
739
718
344
381
399
440
43
781
574
705
697
570
975
287
687
305
785
965
672
1
534
861
997
540
999
729
93
304
234
79
988
242
57
912
278
549
470
306
689
509
142
719
731
539
567
867
749
219
465
828
61
410
414
522
93
422
465
400
772
644
401
132
119
725
715
378
976
777
443
424
142
446
225
596
363
574
468
507
403
583
595
276
631
735
672
364
735
475
220
234
289
215
534
96
829
449
2
647
569
194
786
815
128
87
826
616
313
146
38
614
765
469
298
60
632
997
201
796
901
913
112
845
112
786
604
301
630
780
858
114
700
285
398
620
535
288
721
851
797
795
305
274
582
697
98
24
896
239
234
325
131
483
101
897
943
38
388
525
458
455
451
713
52
27
187
285
318
847
949
755
438
113
446
643
399
661
613
380
905
173
907
219
228
717
258
248
485
282
210
792
582
375
364
84
377
381
277
513
454
825
794
740
829
903
958
564
282
836
456
710
984
536
891
101
998
961
846
55
913
124
727
386
680
957
18
737
13
871
800
143
702
140
172
622
108
901
732
186
571
727
347
427
632
425
71
75
99
389
452
356
821
356
785
135
233
822
71
741
557
371
248
516
673
302
926
83
277
880
973
482
737
703
160
662
122
895
271
150
54
432
962
767
305
512
939
740
350
465
170
926
193
1
141
917
562
349
519
147
901
725
529
318
359
624
846
514
383
806
869
149
953
801
309
296
575
62
939
800
739
933
789
265
649
712
303
36
672
297
365
175
879
846
173
314
786
207
685
315
358
186
570
410
861
405
215
527
44
551
824
335
814
628
684
367
323
928
727
777
386
923
24
661
404
560
303
422
196
250
486
891
154
938
617
353
902
194
423
166
973
191
263
633
617
363
684
805
581
642
819
962
735
31
567
34
976
497
511
770
957
20
730
216
857
914
435
137
452
122
477
158
66
411
627
113
747
101
104
100
775
274
846
145
320
133
722
51
632
923
552
722
97
802
687
517
82
3
262
527
40
101
777
549
615
996
752
582
199
894
144
560
638
146
719
486
455
993
91
403
669
243
602
450
34
466
352
177
285
598
153
861
465
194
70
723
417
550
999
78
27
868
64
220
119
2
87
521
876
28
614
125
675
686
359
485
880
46
428
800
178
466
921
84
426
500
455
575
692
508
368
570
578
162
59
818
840
625
363
137
272
906
860
708
630
755
318
222
783
331
143
643
249
986
943
13
257
252
713
957
201
444
705
986
779
650
470
122
238
61
655
190
6
256
721
721
100
644
768
742
291
602
843
28
596
99
683
178
19
888
106
370
32
103
40
993
301
379
924
51
45
620
771
446
90
275
555
58
631
159
417
914
9
896
613
217
19
791
18
337
701
406
289
344
248
912
782
579
985
936
933
585
114
87
231
122
180
383
160
946
931
443
540
853
145
535
264
806
377
230
309
534
320
928
740
210
95
315
372
482
901
329
822
173
767
715
214
3
651
401
288
48
922
464
745
464
585
980
284
216
136
366
177
333
342
463
459
198
846
459
760
497
899
752
433
308
296
851
599
627
126
841
555
113
934
623
338
180
684
623
387
140
333
142
652
306
991
497
465
609
469
719
145
762
56
394
451
65
505
667
464
418
911
49
89
428
326
205
140
276
321
829
353
366
848
816
775
803
657
449
778
749
589
933
781
535
66
156
887
91
626
127
523
735
540
549
947
80
730
947
979
705
675
270
722
819
83
55
647
24
746
397
371
118
792
438
18
119
53
145
419
831
931
921
980
804
772
738
933
291
49
329
745
815
841
504
149
464
487
477
334
553
607
290
105
2
123
629
556
461
99
699
263
976
816
135
152
350
565
387
946
872
871
722
817
596
707
383
338
763
734
815
123
781
756
474
133
909
605
943
383
393
617
530
151
215
301
948
866
79
180
201
93
719
80
875
573
242
683
486
949
704
446
302
322
438
528
943
399
334
148
452
163
70
199
624
671
755
796
215
249
662
530
417
562
133
914
312
220
18
370
443
983
674
18
668
976
654
517
350
494
265
362
252
203
482
506
778
680
34
111
848
998
440
154
172
992
507
230
980
142
832
535
170
560
144
962
202
615
169
946
912
250
318
673
836
277
165
195
859
942
296
271
939
294
608
902
648
690
912
390
362
814
370
199
617
687
734
928
285
586
126
326
424
619
903
425
717
443
635
275
719
716
469
215
955
938
775
859
20
923
846
591
798
901
564
606
444
862
446
627
119
983
941
232
143
345
832
52
582
569
555
470
954
330
980
978
730
694
87
322
56
455
713
554
681
767
500
329
508
928
535
999
826
350
329
242
604
35
196
333
934
79
389
246
955
125
883
276
67
851
365
241
338
662
166
397
785
72
777
119
954
485
288
448
833
922
358
742
539
547
441
506
888
36
614
120
540
698
125
11
664
769
791
639
566
450
655
311
388
592
746
811
763
144
291
458
356
151
955
909
233
155
985
658
402
281
460
429
572
119
219
69
621
341
14
164
298
966
101
743
497
815
571
173
286
587
374
174
4
258
933
376
592
216
344
666
340
836
938
414
218
107
644
221
316
959
883
704
186
97
925
702
818
774
262
435
493
864
334
35
80
791
308
839
258
549
535
406
289
455
861
53
305
722
543
209
98
444
237
336
423
157
29
426
270
273
423
887
969
319
142
234
289
240
113
256
355
883
289
746
276
352
616
87
438
818
656
169
967
81
29
982
610
527
808
252
675
501
99
452
627
635
534
640
461
579
573
187
386
749
506
897
570
509
75
988
195
166
988
697
809
480
701
638
382
495
369
26
671
51
366
994
364
614
209
523
775
337
260
647
738
973
381
607
740
788
455
109
174
934
451
895
865
67
592
431
614
221
344
866
283
536
196
773
649
348
930
298
595
142
709
622
255
7
177
904
211
96
35
940
297
666
720
168
981
78
901
124
666
212
901
288
372
848
545
647
387
619
22
213
274
16
825
122
633
126
857
401
349
31
181
251
234
718
459
237
970
366
83
317
195
103
758
101
157
501
958
824
909
660
415
895
151
491
974
183
150
149
786
180
317
192
951
266
554
832
782
177
465
501
962
575
891
831
650
937
140
936
430
464
795
616
250
378
708
51
311
697
922
660
492
729
828
595
958
394
487
121
377
839
454
620
856
687
916
678
212
794
927
298
612
528
273
142
504
708
630
835
451
855
294
430
924
716
777
170
11
114
561
714
542
865
788
746
847
882
935
775
724
797
861
839
903
325
265
578
886
737
770
811
14
68
344
165
185
876
814
501
143
740
0
919
176
681
359
375
173
343
387
782
911
799
737
479
34
595
152
300
13
982
592
84
866
937
936
286
713
242
378
196
287
12
680
778
464
399
311
278
711
413
132
149
727
835
104
163
747
62
381
235
677
53
867
183
290
279
362
272
989
187
483
909
690
908
632
552
214
998
115
52
25
990
323
216
42
562
217
934
17
884
488
808
503
804
317
902
97
472
506
927
214
593
665
328
906
798
249
113
37
883
410
761
745
131
100
961
287
653
287
350
144
331
731
272
621
321
757
718
761
300
158
581
612
615
622
761
338
67
428
719
363
566
267
944
784
901
857
487
572
623
555
14
378
876
704
918
356
346
712
140
311
462
248
297
995
68
439
353
702
199
373
684
355
140
965
220
372
299
710
320
220
521
716
202
944
273
3
753
282
273
557
194
21
616
852
415
219
74
803
829
494
715
429
523
400
436
715
735
163
758
317
384
120
585
390
604
732
89
527
641
680
840
577
541
247
14
232
473
337
899
738
718
613
220
593
183
518
243
44
757
285
613
513
268
956
50
322
303
383
106
898
94
858
712
707
12
922
25
54
354
894
883
302
895
521
435
771
428
207
389
898
50
109
792
831
578
275
645
234
313
598
962
287
623
644
880
239
588
380
90
919
380
249
606
257
46
449
308
952
434
347
193
209
711
430
924
391
487
7
364
556
712
213
905
758
551
778
144
792
449
594
193
215
97
577
18
110
694
941
921
648
268
981
735
717
384
868
77
438
964
200
750
961
553
84
695
393
129
283
34
759
302
15
768
848
661
191
220
673
420
610
937
375
894
3
99
625
963
896
177
861
593
285
36
337
769
807
265
108
783
602
20
298
915
718
613
8
380
108
765
599
314
76
392
453
313
835
568
540
505
93
127
349
33
333
41
892
372
543
566
269
221
234
579
376
300
77
563
550
71
511
620
573
231
918
970
472
735
150
894
339
565
690
57
470
486
273
727
676
63
231
761
319
401
326
179
463
384
194
673
377
139
260
228
382
914
901
53
436
32
356
466
638
194
270
732
242
861
456
465
779
426
825
813
198
947
887
492
344
288
912
991
130
55
422
484
795
518
193
603
682
480
28
226
584
578
503
662
414
973
292
622
215
449
676
915
370
91
124
882
587
971
945
739
76
603
563
947
77
645
526
777
66
467
951
29
554
143
805
537
861
155
811
55
395
483
84
117
224
568
905
734
858
380
974
156
905
631
126
855
155
728
522
595
582
116
38
333
139
815
604
666
208
780
787
319
26
302
229
635
678
863
178
792
380
944
233
307
851
411
35
817
297
515
390
891
179
328
256
487
719
867
974
238
447
737
99
726
543
806
895
397
238
323
969
980
448
552
203
388
502
168
379
649
827
608
278
349
2
164
185
677
786
107
321
390
543
47
711
102
869
951
388
868
542
811
860
775
644
400
318
503
842
393
429
274
250
452
175
750
446
475
768
378
556
424
438
703
150
623
961
676
286
216
224
187
968
722
511
28
479
971
136
99
539
181
13
752
686
985
234
404
119
84
838
685
922
513
390
811
447
520
474
185
742
206
883
548
732
253
715
125
96
625
670
90
595
946
151
290
567
648
869
164
299
64
552
74
101
940
164
251
457
954
430
892
33
191
814
39
574
363
582
766
554
361
688
418
215
691
134
943
798
421
811
904
735
347
455
569
356
660
681
381
34
494
829
826
378
360
912
102
523
982
837
215
111
200
831
958
819
42
410
483
2
430
256
247
496
921
167
993
488
748
219
285
524
289
451
317
646
866
692
438
204
696
146
447
981
847
632
515
55
406
808
964
35
120
112
152
338
76
43
136
938
58
896
909
84
480
906
819
580
772
44
34
235
565
191
699
212
989
468
181
75
168
106
141
942
58
841
288
549
844
476
909
823
147
179
2
604
473
483
948
774
183
206
816
697
377
598
295
922
182
647
586
574
863
748
155
742
712
20
644
194
49
874
100
336
284
337
474
315
84
601
270
942
964
426
570
909
167
99
528
117
698
24
236
245
273
790
725
883
723
243
472
942
855
262
713
884
898
736
290
827
693
839
58
253
530
33
117
149
522
518
854
946
250
116
349
639
594
199
696
144
807
296
263
469
914
928
452
677
951
959
697
518
852
131
745
567
327
870
792
229
83
148
314
35
749
911
860
910
961
120
580
948
811
986
987
932
507
211
200
294
559
500
992
204
663
774
568
170
970
797
817
741
664
69
781
406
567
559
407
269
481
492
169
225
802
43
798
732
278
749
297
750
952
927
735
202
497
669
442
83
639
689
161
72
573
535
845
864
868
784
93
198
485
257
740
633
247
205
59
784
106
111
273
162
325
943
971
1
306
700
630
465
525
810
991
610
486
674
714
669
538
471
688
527
830
985
170
601
536
685
855
747
917
642
552
25
486
819
847
4
476
159
334
278
85
118
745
73
836
764
300
687
70
891
902
197
66
832
733
449
705
597
413
68
754
548
49
452
845
419
991
360
361
427
806
139
846
336
607
609
313
669
210
954
695
754
567
716
342
257
850
462
788
209
131
276
971
999
303
551
975
873
332
778
702
892
164
602
200
440
970
725
287
930
194
382
57
95
561
88
763
804
667
85
629
345
31
454
369
748
280
934
255
384
50
749
97
164
542
885
389
572
289
875
133
49
282
304
991
807
3
896
995
586
420
783
48
455
595
488
22
965
587
336
864
30
686
575
158
435
513
931
925
317
580
458
864
717
812
745
837
951
300
490
389
455
349
608
435
97
799
764
865
598
501
725
895
97
156
256
281
512
651
895
77
50
365
899
416
292
349
110
245
434
466
169
429
121
948
463
835
302
266
533
411
955
117
697
752
171
231
303
720
418
446
478
737
37
757
198
864
698
655
748
687
383
452
411
525
630
456
617
402
404
942
489
351
956
764
744
989
316
648
742
927
685
485
342
103
471
937
544
51
352
100
817
743
273
935
417
512
478
495
762
88
576
713
949
517
266
920
650
445
740
273
419
677
464
808
29
771
410
555
514
494
865
483
867
741
820
582
392
760
150
431
515
854
590
208
236
499
122
808
337
116
411
639
965
556
119
927
76
469
689
473
373
814
939
466
957
966
671
119
874
999
916
13
19
354
636
289
776
539
349
512
203
319
443
347
235
377
439
466
878
833
845
11
13
283
36
445
463
192
873
60
330
876
689
615
840
717
99
183
532
670
710
947
945
432
559
590
196
575
334
563
154
476
540
563
574
402
48
520
520
623
160
86
712
217
865
719
295
192
229
378
719
430
433
440
986
289
148
555
945
610
656
452
509
35
784
250
100
742
422
438
696
881
617
570
479
438
78
719
253
244
271
992
51
289
745
279
870
941
422
452
304
399
322
162
871
324
455
538
124
206
405
544
963
336
461
484
523
44
893
979
773
647
718
393
83
823
114
111
4
956
600
597
873
665
740
430
953
723
641
98
292
869
401
164
976
123
32
259
258
160
849
613
891
694
957
429
515
984
527
804
970
949
945
477
985
182
661
232
313
435
54
402
728
127
383
658
283
159
318
948
996
473
381
197
40
708
501
257
212
803
756
327
625
479
58
527
632
353
432
22
241
675
734
618
383
733
25
504
411
255
447
567
873
318
738
323
623
711
254
385
918
153
202
590
379
101
503
211
92
818
406
54
445
989
61
48
869
668
328
285
97
963
830
338
596
699
467
419
13
105
881
893
920
491
256
8
236
601
181
931
353
396
621
155
526
677
648
778
137
623
461
252
263
15
10
261
799
478
903
582
100
158
447
453
874
946
19
670
775
737
338
233
972
485
862
882
55
759
392
252
657
524
13
187
123
9
272
557
623
357
707
727
180
469
146
814
481
760
93
467
281
483
493
380
15
888
628
649
239
437
348
451
747
182
318
397
128
312
904
857
442
95
428
924
112
878
292
76
819
620
617
90
507
418
275
480
139
85
201
31
632
90
231
488
67
481
250
326
628
582
647
284
244
981
373
114
652
226
644
805
778
243
599
335
462
159
208
791
818
321
107
338
386
361
274
606
18
310
236
414
115
870
104
400
440
487
306
82
802
827
66
203
111
120
878
781
917
272
605
955
331
846
238
244
559
409
479
277
602
245
830
502
512
962
319
111
650
106
189
644
302
788
773
163
521
538
643
322
715
409
755
384
754
113
456
433
428
319
635
908
347
941
598
370
330
512
928
429
876
532
453
864
220
590
524
347
60
500
475
552
24
932
352
296
945
447
948
391
301
784
773
534
989
824
808
82
1
187
779
551
407
230
489
232
392
502
447
163
641
92
196
984
335
849
615
737
554
4
951
989
360
723
257
549
294
888
226
10
292
491
57
331
229
762
114
855
206
491
484
535
637
569
592
867
784
420
279
593
204
234
140
314
891
612
31
102
58
894
735
536
818
665
50
266
205
424
669
473
665
712
9
849
155
702
854
914
234
300
555
318
135
823
247
412
533
898
788
976
72
215
739
922
72
533
871
689
895
744
52
451
1
167
118
40
432
23
316
369
571
531
76
191
807
902
423
830
20
934
458
998
44
164
308
270
298
821
537
957
546
455
117
770
43
718
383
684
669
963
755
706
614
313
806
509
314
961
459
991
541
614
859
816
111
538
393
966
188
8
71
603
647
381
712
322
713
594
308
399
318
911
503
674
946
968
3
293
369
743
166
613
713
194
618
466
395
806
287
421
556
545
376
536
600
971
357
110
479
92
655
971
352
884
569
451
955
277
342
684
661
255
592
595
842
996
366
352
748
783
427
817
161
941
924
419
745
355
345
529
336
814
382
276
547
419
707
236
190
790
384
544
922
425
208
360
389
585
625
63
165
528
471
601
946
98
682
133
346
882
357
313
796
826
165
721
281
110
183
170
547
353
245
422
728
678
734
290
580
108
794
25
844
377
866
135
821
391
298
989
416
743
448
988
792
116
290
737
663
680
578
41
920
707
229
489
19
220
856
47
963
144
913
773
187
235
896
210
751
367
58
584
908
517
197
624
105
761
215
923
814
47
990
885
416
296
224
516
696
442
280
786
280
584
600
296
555
157
461
694
858
312
402
419
334
152
71
613
926
453
46
960
278
449
351
700
980
826
93
441
519
692
274
612
885
322
547
889
861
374
649
26
306
892
879
113
486
386
779
874
814
192
303
403
325
820
308
643
893
803
864
906
468
375
547
263
423
818
696
538
406
999
538
335
735
435
105
987
240
894
988
787
37
662
360
526
935
708
678
713
737
217
862
653
379
665
884
156
162
777
442
516
95
57
782
77
105
359
454
312
261
735
811
588
144
957
960
859
694
519
526
878
778
286
218
198
843
435
914
719
307
920
87
940
117
76
8
167
815
939
256
666
971
192
495
451
526
752
82
568
565
205
153
514
75
492
923
568
599
876
701
900
73
1
980
424
854
857
456
588
490
706
191
537
161
293
886
907
193
3
328
828
184
522
699
63
204
221
130
366
980
81
442
491
47
58
658
137
747
590
932
997
203
205
902
274
426
942
638
772
533
942
950
757
429
215
822
936
260
985
83
479
571
632
514
885
72
815
299
408
245
712
100
262
503
825
670
404
756
113
278
999
374
532
699
553
841
280
337
794
115
621
785
88
355
357
99
491
543
14
909
819
38
880
635
363
569
303
771
6
693
490
600
572
335
533
838
847
933
162
168
201
905
791
618
599
321
556
479
41
993
164
640
979
148
563
758
275
794
900
231
807
338
826
501
989
560
856
353
583
199
967
574
728
651
60
879
364
407
33
376
915
551
698
139
66
508
298
990
112
691
326
199
57
264
845
127
549
692
624
983
538
39
287
226
970
914
526
44
233
6
619
819
561
459
813
690
612
975
27
16
313
123
15
477
978
400
35
709
825
688
529
304
319
606
937
704
367
403
24
233
594
880
854
899
557
898
354
40
685
572
835
128
904
910
484
930
984
59
141
665
705
478
150
188
937
856
734
992
334
559
474
147
197
197
880
349
987
382
629
227
283
716
806
99
721
436
702
427
617
681
94
92
378
625
424
369
806
450
158
619
515
11
294
928
762
403
287
427
907
893
735
961
454
343
745
108
475
711
338
302
536
863
662
112
258
570
53
71
947
644
123
228
255
277
772
708
501
500
23
419
840
416
312
446
186
9
816
648
626
522
145
204
955
348
806
802
259
259
536
845
961
824
281
473
530
174
142
237
940
102
15
592
168
579
55
993
961
10
937
258
599
20
136
348
330
310
738
591
484
114
446
220
248
68
71
694
544
278
777
45
352
753
813
180
692
245
231
235
179
133
425
379
446
188
633
378
437
590
172
291
38
284
946
942
706
393
500
961
98
819
189
466
611
607
865
848
190
840
642
650
973
311
904
799
3
784
410
850
294
575
958
311
350
725
371
883
935
664
738
4
532
472
543
90
960
910
545
399
781
574
737
957
234
380
773
3
63
813
808
795
119
855
440
640
447
867
82
82
287
143
240
821
13
213
35
376
923
435
123
364
26
445
620
685
860
374
81
66
570
5
841
357
487
512
118
722
865
932
169
331
331
254
925
72
104
584
749
347
164
315
678
777
761
951
85
535
933
589
73
246
138
601
968
261
784
850
255
918
767
942
126
549
112
719
411
426
987
218
898
142
783
564
47
732
468
872
8
681
308
875
344
414
606
781
514
937
521
321
531
723
906
31
291
180
326
58
822
71
737
665
94
455
892
780
672
970
622
370
442
956
747
632
472
274
261
732
677
903
629
955
814
654
142
314
131
422
519
949
862
947
39
22
201
414
729
912
621
828
988
970
662
292
493
971
505
680
53
425
426
707
42
271
659
52
129
55
628
745
974
124
689
52
653
695
981
675
790
341
267
558
473
806
472
319
666
562
713
953
216
912
878
175
726
597
455
266
869
581
20
756
887
624
138
574
590
360
729
921
237
2
838
489
906
347
997
243
37
589
433
667
784
511
381
471
100
696
98
362
411
803
876
934
947
405
120
524
911
178
26
715
651
716
316
508
97
999
562
438
542
804
426
890
970
865
71
850
456
564
997
478
289
846
723
326
637
889
838
757
344
272
754
47
137
787
570
302
946
591
910
0
429
822
250
946
427
3
273
210
872
898
142
584
759
36
259
230
561
680
491
529
365
804
568
938
648
490
865
487
85
251
840
999
513
688
641
853
820
167
408
778
543
60
872
351
676
479
607
363
797
159
232
277
82
90
706
118
811
135
925
146
253
637
231
898
522
841
592
806
725
989
568
968
443
517
689
76
353
27
94
941
166
42
92
339
31
936
287
25
168
409
86
155
947
123
419
981
768
436
663
834
851
76
656
835
921
535
483
398
317
565
12
758
425
884
916
692
207
754
72
735
736
665
765
125
884
828
869
650
183
559
120
852
649
18
245
712
972
45
488
877
84
990
396
149
521
567
153
108
401
322
939
386
382
357
563
446
295
550
746
568
92
286
824
848
167
617
409
669
612
673
427
269
538
560
315
808
146
951
852
137
665
841
155
309
57
787
872
364
458
341
750
445
354
337
748
418
265
694
264
491
195
976
157
400
398
370
380
278
746
604
190
44
299
881
951
669
482
762
58
61
647
597
470
879
601
981
741
729
616
28
698
84
860
493
263
238
239
730
730
408
458
777
422
796
269
934
483
710
979
594
787
729
114
707
646
947
659
386
752
191
196
694
304
148
152
605
790
97
452
653
597
555
382
572
706
478
53
191
867
382
719
771
606
0
479
599
241
21
549
97
905
718
352
332
230
890
462
827
140
610
992
32
272
629
68
482
231
119
945
712
686
255
185
141
204
880
391
212
307
281
72
206
706
744
3
135
97
875
654
406
388
871
521
120
4
95
110
892
21
811
249
502
897
230
682
132
909
833
970
993
49
192
149
32
416
910
737
194
499
275
493
279
489
954
79
77
224
41
342
802
885
576
518
610
876
809
863
306
293
981
760
94
530
356
219
75
77
344
928
33
944
855
851
538
816
945
605
865
896
389
70
837
369
900
282
815
388
927
346
36
764
515
431
480
117
343
749
885
424
215
475
83
544
553
900
25
508
309
656
442
996
879
824
671
293
725
879
174
980
617
988
24
178
130
104
240
128
820
246
21
360
418
905
509
784
498
589
909
33
698
760
737
941
336
267
721
456
59
161
923
841
916
306
637
451
518
598
208
423
111
121
978
400
748
194
717
526
809
642
355
59
602
704
182
293
175
416
208
304
320
987
524
323
965
799
856
705
883
285
47
749
299
101
777
594
134
182
668
837
349
668
435
15
497
84
885
526
532
617
455
18
668
336
12
129
599
306
819
756
308
44
207
726
741
903
596
267
322
554
640
881
804
243
301
189
130
924
92
525
852
651
833
987
872
518
991
530
907
525
278
218
276
559
846
596
480
413
761
658
494
179
393
473
413
35
165
683
121
55
13
286
687
219
581
266
540
378
83
560
8
917
453
157
634
58
610
376
180
16
335
647
284
273
418
349
71
15
341
154
889
858
591
54
897
314
731
580
254
367
492
902
517
720
449
575
703
840
673
802
262
428
501
122
664
437
597
845
894
907
487
291
437
746
13
540
911
447
963
673
999
919
491
241
863
750
533
143
156
476
324
579
307
810
725
301
292
642
278
294
31
632
90
774
295
189
314
69
843
465
496
763
282
78
260
996
27
556
118
813
687
39
937
211
962
411
153
538
39
189
338
102
292
473
800
653
901
830
857
106
635
63
213
48
932
661
79
91
902
941
940
602
673
495
386
358
851
570
328
468
526
398
843
491
343
990
866
635
119
515
466
374
470
46
151
441
796
46
721
291
55
152
807
61
133
137
345
748
977
694
773
822
28
639
196
569
7
140
168
284
19
385
700
629
546
393
865
742
816
836
732
597
542
254
489
417
503
120
884
668
411
295
782
390
993
480
669
580
384
476
288
52
772
404
1
251
932
296
459
41
68
802
419
306
97
970
467
45
126
309
51
895
391
596
845
136
412
344
394
190
745
544
452
288
735
430
687
452
870
902
122
211
601
110
702
468
910
816
707
554
205
872
114
122
612
583
379
966
927
98
93
562
235
480
715
938
967
289
983
420
262
763
772
731
518
145
106
365
662
85
18
723
374
177
168
265
931
661
184
937
436
91
288
382
484
96
58
498
194
552
964
482
340
9
293
443
238
161
115
681
393
210
641
865
119
86
458
504
600
547
505
13
352
45
580
763
966
961
157
994
462
542
983
212
754
34
336
857
953
465
676
853
355
934
514
180
273
632
752
984
72
93
504
920
97
506
107
333
788
818
358
246
61
182
101
749
342
662
347
488
591
491
797
366
154
86
190
733
912
924
936
214
713
450
211
426
495
703
295
396
570
645
683
717
991
926
566
834
117
11
771
374
30
977
62
504
106
160
792
60
121
707
964
975
241
512
951
535
314
74
552
353
245
607
869
823
511
854
405
838
14
764
855
659
576
340
688
586
182
693
171
815
493
679
289
928
749
133
391
951
148
335
308
987
509
828
247
604
970
136
67
98
585
781
150
501
478
10
281
187
619
373
49
122
204
557
363
764
119
895
746
986
297
968
495
867
835
780
661
290
316
273
221
280
59
510
760
46
283
139
329
245
184
363
407
854
264
368
211
783
40
581
795
104
729
419
740
955
315
674
907
662
80
816
221
124
871
300
86
506
200
61
835
41
718
359
694
102
617
328
575
631
620
877
103
474
596
830
603
463
662
17
972
447
96
467
908
505
328
74
842
366
332
730
431
179
291
631
693
827
270
512
695
518
371
424
445
450
563
593
553
720
383
583
896
533
315
319
497
336
572
700
450
950
809
417
662
221
313
79
988
920
912
752
533
78
833
99
410
257
965
406
635
235
337
837
562
502
167
474
346
195
567
532
136
790
542
536
468
595
521
773
980
211
921
150
545
338
147
927
574
750
361
553
109
703
508
569
646
775
386
515
701
320
821
126
967
687
823
751
592
596
204
885
49
365
796
932
371
490
520
970
346
710
981
3
723
553
634
316
243
676
405
7
768
936
620
705
766
836
183
869
765
793
401
209
56
500
704
860
123
57
456
237
895
904
227
634
666
595
45
572
870
275
676
158
53
911
118
859
961
59
538
66
316
418
257
566
319
935
433
5
943
496
929
95
383
834
244
684
302
528
473
909
281
69
317
655
338
889
430
846
351
289
756
928
627
651
435
5
489
346
200
793
725
392
758
344
361
818
905
8
900
367
982
781
170
205
950
478
749
265
451
377
383
729
357
864
620
15
248
134
711
758
886
592
231
843
207
791
477
346
667
888
231
8
289
878
33
665
115
885
563
881
309
860
416
568
93
284
319
859
832
571
34
971
96
700
648
899
291
718
879
239
171
281
218
527
959
877
261
786
223
375
559
453
620
726
795
760
611
677
624
116
45
691
774
481
443
675
902
571
449
766
455
768
36
323
511
800
924
702
32
726
706
793
631
483
930
196
377
715
804
543
696
921
854
60
502
121
706
301
63
527
81
373
400
808
514
167
113
106
836
426
123
567
292
139
435
70
819
901
921
510
436
734
772
900
461
585
541
633
981
120
991
759
99
366
719
265
559
720
501
917
961
263
940
357
989
951
768
187
653
239
28
549
33
999
980
299
918
811
720
276
107
937
248
431
626
153
693
644
603
500
797
45
777
885
46
478
729
725
983
631
987
8
801
178
772
220
757
355
777
838
965
521
306
834
73
135
210
890
432
954
354
384
101
150
618
651
360
652
131
499
275
966
184
107
161
342
891
280
493
70
388
604
16
345
487
11
757
587
375
681
953
558
378
218
466
771
507
864
402
601
760
331
973
133
568
816
858
136
383
31
266
103
595
822
576
632
757
847
481
921
709
142
414
917
89
71
307
268
472
357
642
77
115
286
526
33
897
498
333
709
141
383
260
640
790
384
88
986
904
245
547
108
14
122
970
338
102
960
701
57
145
485
666
846
401
396
337
739
254
459
772
504
989
991
400
426
78
809
881
602
652
685
103
947
397
631
212
395
487
894
378
916
121
439
471
553
507
821
635
780
161
416
970
949
782
316
998
506
537
459
353
539
563
379
904
604
584
559
984
423
718
153
214
865
87
975
131
154
163
285
377
458
43
752
977
487
78
865
834
641
664
755
163
267
646
733
93
835
294
409
386
869
335
114
847
646
196
371
130
872
833
342
936
343
188
150
16
4
944
463
769
601
229
329
686
247
348
346
244
689
47
730
540
336
702
277
231
52
539
902
405
371
948
42
464
151
336
343
768
177
815
879
109
167
487
707
532
352
560
637
751
616
0
919
452
736
25
328
859
126
632
636
469
378
588
205
424
19
931
790
154
97
360
345
815
502
20
276
486
883
841
537
393
235
9
384
319
645
554
149
577
879
929
993
354
556
50
524
951
460
636
295
492
877
441
438
118
73
60
478
112
968
204
109
934
389
944
483
522
746
343
960
581
574
913
407
747
586
862
405
315
624
20
224
569
224
737
441
106
88
465
833
664
92
755
363
474
583
262
90
584
24
987
335
963
924
864
73
145
770
852
763
216
261
343
958
325
882
820
736
435
942
43
724
668
421
747
802
697
297
594
173
851
781
893
701
796
989
522
527
756
400
302
435
525
275
459
280
705
656
272
252
383
962
47
494
569
910
494
661
238
153
981
829
319
948
789
554
311
209
795
988
671
150
184
368
276
630
29
551
374
977
915
936
524
384
34
55
558
996
542
113
578
99
670
679
290
112
447
488
292
55
274
937
934
700
399
404
48
261
494
909
665
654
715
466
476
524
141
869
774
815
915
810
40
170
346
504
741
534
26
654
782
729
735
713
951
85
517
315
637
323
767
444
655
447
334
717
17
866
939
778
905
310
761
642
410
262
938
78
487
597
921
616
711
726
210
904
565
817
994
80
431
831
904
262
277
727
990
28
793
644
799
273
448
584
463
417
631
562
582
370
892
111
799
592
478
261
52
247
395
199
382
288
125
590
140
258
733
856
734
237
512
916
320
170
921
133
292
522
769
746
38
760
98
655
344
231
284
755
143
468
971
706
26
532
643
179
236
626
492
811
462
250
996
374
637
162
891
512
544
766
72
59
417
816
897
955
658
272
385
27
933
855
432
665
256
896
244
701
232
941
29
814
752
238
962
796
989
8
787
685
982
43
309
620
494
883
446
889
127
149
925
616
258
910
579
733
227
651
777
544
615
7
785
675
626
848
837
231
15
930
238
125
567
430
517
417
190
314
299
486
218
42
603
350
84
10
285
93
556
455
218
878
671
129
467
428
516
486
277
771
176
949
834
895
140
46
435
652
231
81
42
276
580
89
151
291
968
677
590
328
984
879
273
154
319
836
702
57
761
274
48
598
817
779
180
903
227
675
802
456
287
314
666
246
498
564
661
337
479
326
173
112
153
670
846
473
403
865
789
720
580
200
36
831
330
260
632
542
409
676
114
928
59
731
496
587
908
924
283
806
746
855
584
56
406
868
379
726
744
710
31
188
298
891
508
699
452
269
537
312
284
779
606
61
802
157
113
62
987
752
149
362
489
199
591
676
694
743
319
298
423
337
972
166
45
711
594
375
428
984
112
631
383
341
876
654
498
189
909
719
850
774
558
533
435
591
846
652
991
511
300
110
100
731
451
260
692
560
998
368
55
14
240
581
879
133
694
913
604
265
584
797
890
86
79
672
869
222
583
340
792
423
368
107
707
198
940
860
907
472
450
499
710
470
245
426
21
859
10
710
309
691
29
542
245
295
234
285
926
764
8
473
753
715
639
818
643
645
86
395
724
878
859
934
668
754
415
294
69
634
891
417
346
537
502
785
240
604
125
93
384
496
434
259
172
673
14
211
526
286
901
0
863
941
944
926
963
898
729
336
686
877
41
487
289
966
103
465
455
615
629
788
600
685
719
884
968
288
978
92
56
384
834
315
267
179
145
24
278
718
29
544
495
770
773
92
72
607
933
470
208
690
220
414
143
583
950
409
217
653
296
222
133
903
103
267
159
968
331
738
607
376
596
635
926
629
131
469
914
824
170
32
306
122
832
832
66
611
835
524
815
627
765
507
639
317
103
919
606
744
802
382
140
825
123
239
189
856
741
401
325
587
875
853
318
781
468
893
305
859
467
900
697
355
680
319
13
73
763
935
850
177
526
484
740
349
847
356
19
630
480
185
797
737
952
565
455
922
212
496
582
449
421
809
162
195
914
573
559
3
820
843
440
983
336
533
878
976
106
966
242
125
574
159
691
341
606
843
164
856
44
357
447
584
314
52
205
221
880
741
15
636
819
232
271
932
235
849
706
975
404
697
506
861
613
867
27
934
375
370
495
904
748
998
777
859
967
75
542
730
885
406
806
322
791
312
350
455
268
797
332
475
676
871
86
587
410
192
916
388
841
590
158
474
434
692
497
47
200
819
945
458
639
768
406
747
413
813
996
665
352
320
480
230
318
154
651
641
371
879
294
204
410
936
864
794
69
465
763
631
480
431
124
115
985
929
178
288
205
422
185
324
127
179
174
509
622
811
586
964
123
803
414
547
529
622
654
838
558
114
800
526
468
78
282
701
367
608
293
508
756
380
305
229
523
475
886
486
437
268
187
859
905
823
287
226
201
132
953
234
389
997
595
397
144
696
478
884
565
847
305
375
357
182
552
871
667
512
843
475
855
115
926
790
471
490
215
923
365
371
506
347
629
909
797
373
248
172
339
911
103
224
585
892
255
807
826
966
643
483
262
804
178
669
312
749
60
581
428
340
668
913
929
355
550
111
625
419
290
35
171
752
133
760
775
533
963
565
608
804
989
688
172
180
12
675
766
473
838
52
965
574
48
37
357
332
505
541
130
557
885
942
717
241
643
142
551
932
951
306
51
908
730
940
226
266
905
50
135
166
792
40
653
949
484
822
173
509
787
402
261
548
322
916
16
210
46
133
977
579
125
876
196
729
358
430
411
567
777
130
259
804
627
214
463
422
940
216
413
92
252
704
453
969
564
775
110
11
24
766
89
287
46
751
858
822
266
405
91
712
793
15
310
824
234
629
38
552
312
889
987
178
838
957
196
210
808
979
169
110
17
212
472
861
460
21
639
264
974
881
231
406
402
812
681
328
640
630
456
578
176
125
389
987
510
508
85
887
924
925
572
845
810
548
801
83
610
770
247
510
635
384
838
612
627
323
959
412
43
863
106
7
583
909
689
874
958
445
710
25
648
965
757
112
217
933
102
690
65
389
11
483
792
515
143
539
376
520
869
495
227
385
283
614
534
245
84
195
463
257
669
232
344
352
823
712
55
903
737
636
163
948
160
400
901
138
810
827
486
164
691
146
847
820
667
218
8
281
423
853
453
788
715
593
25
27
409
658
267
460
403
611
234
801
646
379
269
176
396
39
625
46
109
102
855
367
52
128
341
583
638
14
689
603
732
261
346
95
625
394
387
154
753
662
434
356
975
794
675
910
905
870
377
309
801
746
799
161
255
463
165
463
840
947
212
412
183
107
13
245
32
159
660
30
246
432
168
521
674
749
348
669
854
632
547
224
183
593
160
221
487
842
27
265
450
367
638
563
444
85
141
49
247
857
824
693
716
871
675
775
115
697
850
409
22
969
337
12
229
805
684
922
726
888
914
342
971
695
284
827
644
379
106
71
782
36
853
923
39
441
791
609
839
181
643
50
306
285
135
293
15
871
160
304
183
717
608
748
217
752
496
900
125
561
536
61
978
180
375
425
225
582
457
677
553
963
772
812
528
549
698
29
88
791
737
752
704
239
898
863
816
91
346
363
908
227
36
29
100
940
583
802
759
355
562
425
148
479
312
481
820
26
548
110
366
926
533
580
312
879
897
546
741
139
261
219
291
758
230
128
310
77
253
520
684
258
234
402
654
126
330
190
798
329
995
815
159
830
464
456
269
332
108
450
232
94
80
143
389
713
61
703
657
248
814
228
771
872
985
808
819
438
404
277
883
796
434
357
557
358
556
460
839
349
182
369
395
827
276
428
543
313
628
143
209
510
445
834
513
995
604
740
588
111
553
451
212
182
174
184
208
217
406
194
574
9
918
135
716
565
588
323
436
925
269
803
851
599
981
897
940
975
582
249
47
960
308
710
298
225
625
621
672
865
947
918
598
892
644
808
974
158
838
499
303
249
367
620
846
842
67
308
199
509
759
503
708
162
318
667
201
415
492
226
594
90
388
242
355
727
316
302
313
85
360
431
592
175
658
70
927
762
713
298
647
972
898
918
401
702
28
896
631
365
321
847
188
421
690
972
870
703
122
962
805
391
286
408
820
872
316
879
339
67
777
680
449
75
310
465
324
759
520
577
204
171
817
895
469
877
494
288
277
588
781
512
666
531
252
969
147
839
351
397
160
644
366
677
747
362
245
519
806
945
145
835
577
150
693
983
328
242
380
180
285
578
186
191
28
485
383
992
918
53
653
973
509
260
870
287
889
564
628
35
77
949
132
774
259
487
996
717
767
415
423
138
301
438
718
433
691
642
49
352
72
819
398
258
80
687
827
92
156
955
976
806
310
224
26
921
819
782
656
872
554
16
346
548
874
980
212
843
965
291
496
648
44
869
231
325
712
782
18
864
103
467
511
486
981
365
510
531
482
381
10
41
761
682
556
942
160
518
52
941
732
129
465
911
749
99
470
781
542
177
551
786
200
586
384
124
387
282
851
194
355
121
164
198
823
19
107
666
266
813
710
695
26
814
412
703
563
865
938
48
501
897
832
917
91
114
757
121
932
795
337
388
531
784
871
985
740
723
456
340
80
265
560
882
954
39
446
95
151
439
52
824
290
106
403
321
495
664
116
893
858
322
509
651
750
55
714
688
15
278
866
805
657
93
737
34
751
478
953
976
539
430
229
870
670
128
837
487
45
24
104
785
273
378
896
94
758
978
441
314
599
206
669
87
365
752
307
970
463
485
356
768
429
909
435
740
685
636
779
458
580
26
302
586
420
492
175
607
371
607
984
199
404
298
617
939
450
341
528
594
768
158
801
680
156
610
677
561
116
399
334
991
425
632
204
891
994
494
941
333
862
733
563
217
746
586
73
286
45
306
322
628
676
450
598
574
579
856
474
243
159
468
167
491
879
519
726
666
428
991
829
509
482
80
897
616
78
355
191
758
751
483
475
631
763
810
652
338
293
980
461
567
629
690
643
140
870
586
734
812
668
727
795
926
77
684
235
430
100
937
691
545
53
92
850
540
341
861
519
399
735
403
209
959
804
203
321
449
781
666
455
86
199
519
142
159
750
807
803
479
143
807
548
959
216
595
184
354
846
12
716
665
715
838
546
744
838
20
796
297
698
564
735
366
591
632
624
645
200
493
699
949
933
727
523
12
573
142
599
223
74
314
175
959
361
493
575
504
968
963
87
991
863
745
737
437
892
236
15
113
544
424
12
969
596
467
114
86
141
183
3
968
687
720
156
423
145
50
886
331
65
145
646
593
146
526
253
222
660
311
73
589
665
904
529
69
849
562
663
153
573
922
115
216
37
947
284
500
697
957
881
20
413
507
861
235
641
660
536
994
574
182
56
898
329
686
254
845
908
17
853
994
935
732
32
491
743
251
775
40
828
882
36
298
432
425
614
847
632
946
438
245
607
721
662
643
128
668
314
913
809
541
718
417
173
786
706
742
195
579
373
265
720
372
712
887
237
293
990
656
719
289
611
248
168
392
819
987
679
4
685
430
159
514
139
569
45
806
277
8
139
226
241
709
775
425
527
880
248
668
133
322
598
893
690
141
152
451
569
925
425
186
889
75
265
465
601
811
542
508
661
475
630
736
578
118
910
131
376
428
268
867
921
625
0
312
671
840
489
666
991
25
372
75
959
349
15
12
529
329
349
44
798
621
215
679
979
836
465
531
713
457
200
680
971
471
96
254
739
532
144
378
569
192
627
682
913
114
317
275
848
293
358
432
876
274
806
781
806
609
64
212
546
549
779
522
196
468
121
969
926
247
568
497
997
176
14
318
67
140
659
922
320
44
733
744
894
789
489
368
383
262
22
110
452
433
55
441
325
102
1
721
646
97
224
306
178
764
818
644
774
67
66
435
569
940
813
374
40
664
466
735
25
994
327
565
284
951
531
135
405
599
457
517
354
34
147
106
794
818
629
663
679
712
242
958
907
256
170
659
80
363
640
523
261
675
33
257
735
34
774
582
974
134
630
756
832
872
457
848
454
81
542
1
109
212
804
170
19
67
644
251
264
938
971
738
496
221
207
203
641
8
762
541
106
375
370
238
70
279
257
545
644
776
339
340
293
28
151
333
967
770
764
602
799
924
766
284
225
971
785
749
70
709
156
434
38
924
603
322
594
26
158
886
665
458
638
958
687
832
474
572
909
75
872
370
90
549
878
345
21
422
416
867
355
796
831
35
311
426
82
324
394
453
145
69
770
143
120
380
24
901
794
409
927
987
720
359
152
296
80
751
64
816
428
345
564
408
623
999
97
177
372
84
282
555
472
236
770
825
44
281
986
952
349
493
55
563
303
490
787
47
414
740
399
608
530
700
814
721
796
730
574
901
723
659
898
177
933
187
186
82
714
122
303
263
972
729
688
391
922
400
116
950
785
221
262
419
127
57
173
861
315
693
46
496
803
673
814
227
137
343
405
558
950
154
269
149
339
285
906
136
665
789
663
810
512
226
599
227
433
776
133
150
37
21
64
852
50
269
855
967
678
398
116
955
638
196
486
290
286
602
794
503
121
68
819
156
381
895
543
521
299
994
489
526
491
283
967
808
611
999
175
671
813
802
763
210
227
30
785
476
947
934
419
854
975
601
763
100
875
957
810
22
414
531
973
12
124
185
443
828
737
836
122
462
58
435
206
446
589
526
698
54
229
325
756
351
546
666
369
177
698
266
791
537
747
638
588
550
672
775
686
990
733
817
266
731
242
890
342
985
730
837
906
909
520
378
159
707
955
593
259
484
827
89
562
185
918
285
209
806
795
823
340
315
33
360
534
388
783
266
404
648
784
389
764
758
156
947
844
995
140
926
678
531
234
685
98
868
393
671
961
253
179
84
383
472
764
283
513
894
909
433
982
855
334
465
844
466
776
974
206
603
523
661
155
566
317
849
478
663
104
807
614
371
167
70
835
447
884
184
343
514
323
549
206
988
691
479
699
593
638
537
449
168
733
276
601
317
3
399
515
669
868
132
174
497
222
494
24
253
279
890
819
727
889
365
490
426
800
161
978
400
486
282
567
862
100
289
621
90
259
440
527
605
800
123
367
983
949
964
309
115
541
588
542
874
476
859
270
774
280
107
380
639
493
787
678
864
17
219
338
645
606
733
43
120
585
24
436
147
170
868
590
590
645
77
234
130
161
813
578
763
778
342
563
343
264
972
233
393
202
127
726
594
70
110
626
117
25
371
4
287
538
400
709
101
699
141
194
759
225
781
49
788
922
984
608
258
514
147
189
976
240
285
95
147
333
820
306
952
502
827
677
672
630
494
255
146
565
555
719
698
784
696
224
844
545
837
357
929
687
382
46
712
270
946
159
666
836
181
442
912
552
422
648
696
219
603
833
908
783
701
466
292
534
648
887
284
942
974
206
220
970
888
859
468
514
11
834
850
837
142
938
284
851
606
915
17
557
732
897
54
425
77
233
481
452
920
908
493
797
930
957
998
726
279
636
888
183
934
262
379
510
57
626
898
235
633
874
950
814
431
241
516
898
743
365
42
329
840
351
144
71
304
811
893
934
963
860
630
632
589
198
108
390
748
826
421
250
767
71
603
213
160
973
900
484
495
535
822
271
373
744
209
631
886
815
316
657
67
489
781
688
497
238
675
261
323
574
463
449
728
838
400
467
3
821
205
371
973
579
273
248
84
81
39
152
253
664
135
70
108
154
581
124
573
937
65
43
71
137
211
304
635
814
24
501
420
173
521
336
563
445
996
555
256
617
504
613
38
71
904
989
623
419
849
521
637
324
905
713
440
779
275
460
227
75
778
875
816
672
940
480
328
663
700
733
534
921
566
557
73
721
112
665
652
228
952
522
408
177
373
2
152
1
58
96
530
434
582
429
195
953
726
297
172
590
909
24
572
154
126
3
842
415
363
311
498
590
394
922
22
719
378
801
432
690
159
997
804
109
132
401
914
32
40
230
865
833
233
963
157
481
84
403
292
509
407
7
860
429
9
941
593
312
84
314
642
778
861
754
302
987
564
356
304
544
459
60
486
650
856
910
997
657
530
629
415
398
378
349
248
587
929
947
68
848
562
534
281
345
646
779
751
379
214
955
551
900
341
155
593
798
524
911
464
633
940
966
126
372
294
231
47
753
951
793
705
671
665
633
978
814
988
519
251
867
302
122
536
406
355
613
703
381
917
251
741
78
28
731
462
554
363
793
440
428
331
719
108
542
40
277
345
558
174
916
539
126
874
79
289
949
280
217
790
749
516
626
861
853
523
564
677
283
706
784
988
284
182
74
144
28
601
262
502
367
308
229
903
316
82
913
541
408
610
142
10
919
711
485
807
797
475
954
650
340
584
319
754
56
728
881
430
704
62
546
195
591
505
211
710
789
971
629
349
501
730
609
418
858
188
425
431
172
166
608
259
302
194
595
0
578
517
992
505
712
622
108
6
231
755
713
498
340
196
57
42
517
332
752
898
724
479
413
17
38
866
676
141
475
817
56
136
525
529
56
437
825
864
180
992
183
572
236
557
833
28
5
262
336
111
531
564
204
351
762
317
211
581
508
720
493
108
880
337
186
155
881
812
1
359
504
70
784
155
42
933
923
856
258
593
298
437
466
811
228
920
540
176
521
984
439
489
542
509
222
328
333
258
605
409
831
561
676
183
164
631
525
274
781
655
95
988
772
334
251
372
165
780
509
71
889
418
579
432
489
760
968
340
534
936
838
328
893
950
758
912
419
284
794
658
549
81
618
253
453
201
583
682
864
384
788
906
14
116
157
42
652
794
152
114
973
347
649
132
409
866
531
171
379
118
942
458
883
228
204
413
918
739
366
736
679
550
260
680
226
374
732
401
382
239
182
490
567
757
811
424
30
268
89
257
526
855
815
219
788
490
402
2
362
760
460
423
3
575
178
53
973
563
902
236
822
323
554
588
99
432
564
618
353
999
194
137
206
464
30
871
319
622
366
397
480
13
845
416
968
179
169
845
95
991
29
595
234
371
679
962
756
367
701
28
383
893
724
519
825
813
380
671
546
863
928
960
400
188
900
735
370
530
718
612
998
292
485
654
104
671
288
613
475
762
163
580
291
871
701
385
567
837
882
573
13
133
527
39
656
259
997
599
705
826
509
190
747
560
154
45
560
473
710
619
63
339
645
138
618
874
184
202
223
937
626
967
210
449
370
159
335
712
481
731
262
179
560
876
954
630
877
617
278
854
152
824
670
240
314
326
799
824
114
591
88
70
616
843
604
980
789
349
863
32
3
951
914
440
881
629
214
282
716
977
447
975
314
507
155
207
375
997
767
228
432
585
530
496
29
604
801
580
26
371
26
518
516
841
855
759
710
721
127
851
25
543
652
862
668
324
192
144
274
32
693
941
5
821
49
108
592
790
9
951
905
597
991
549
380
358
829
73
901
959
691
648
213
638
811
385
86
972
380
153
444
354
61
170
632
784
705
985
612
139
240
175
66
179
650
67
983
998
508
1
476
796
411
725
130
756
181
316
14
564
97
714
303
550
389
493
280
594
929
637
905
349
597
197
947
691
840
463
470
768
58
579
110
901
470
484
916
625
484
510
654
756
367
467
453
477
529
312
382
70
729
383
660
784
82
306
778
6
410
405
522
645
834
846
627
260
749
824
878
694
679
621
947
393
443
467
408
210
452
831
895
962
671
486
660
645
672
739
752
129
33
424
29
862
961
237
270
393
555
73
613
349
353
7
464
178
706
626
854
940
964
726
902
974
874
742
869
26
688
503
159
375
197
587
328
74
263
770
851
110
258
226
164
72
676
412
0
390
785
233
644
65
240
992
40
767
857
955
208
809
360
419
764
634
37
169
490
294
62
426
333
151
640
738
104
496
104
249
144
5
9
266
949
322
549
259
55
324
33
193
192
337
462
589
397
317
661
904
280
526
346
67
621
468
126
752
175
524
622
904
913
176
736
348
430
819
348
308
88
789
493
651
370
26
743
502
612
17
874
767
527
966
521
56
191
745
424
215
91
310
733
478
61
863
389
576
333
769
331
248
921
440
685
92
559
353
637
225
383
802
338
882
941
767
682
711
189
831
212
466
850
817
747
832
945
928
630
296
411
207
336
741
760
20
913
189
481
909
971
325
796
106
551
605
378
292
740
703
859
727
945
678
331
153
761
291
207
494
170
587
385
205
362
899
701
433
221
849
752
232
738
800
218
308
663
464
766
183
324
49
32
24
10
427
338
123
285
444
843
580
755
289
324
620
950
636
946
32
779
829
722
889
764
425
54
576
430
550
25
671
545
477
388
876
70
879
712
320
346
929
233
754
930
353
341
13
720
625
148
396
292
712
90
180
326
575
668
902
638
257
119
559
353
304
885
367
893
214
187
415
157
175
651
640
17
845
98
184
717
219
692
903
202
390
68
648
744
653
686
527
96
214
5
791
817
533
960
607
729
178
325
634
963
725
769
926
876
589
538
78
242
831
776
870
713
506
244
422
831
633
380
850
272
14
431
868
698
941
784
765
583
45
797
392
885
790
956
518
332
353
649
119
116
173
886
913
539
648
318
173
20
793
360
832
73
338
252
990
454
791
389
843
913
774
861
424
134
884
96
703
553
218
236
81
167
821
931
251
830
385
261
264
251
500
691
269
197
473
643
15
733
958
699
381
281
469
290
3
255
687
247
120
426
442
808
953
205
990
982
862
730
544
349
786
805
769
863
936
978
856
738
47
302
441
596
434
393
949
115
275
69
859
91
119
51
569
436
146
989
326
791
574
88
490
419
566
587
236
23
20
500
93
823
363
976
2
431
59
547
59
712
64
993
595
881
334
224
669
758
267
24
250
202
589
827
921
968
254
960
975
767
20
497
510
988
198
737
178
111
791
70
152
80
557
941
314
332
196
395
279
29
689
182
873
155
872
480
944
479
255
832
241
830
843
32
748
383
411
956
597
656
792
693
221
976
956
315
379
387
475
255
151
324
12
607
53
904
750
593
32
329
948
221
495
415
50
922
264
565
72
351
744
647
905
371
660
436
936
955
372
806
378
292
441
991
955
596
450
523
614
950
950
638
223
759
307
734
64
170
317
36
537
323
689
947
431
687
698
22
863
510
869
797
612
356
26
315
418
785
989
922
364
448
279
547
822
229
357
751
182
236
451
72
115
876
345
409
192
579
974
438
906
297
25
773
133
777
88
424
633
901
292
270
780
305
894
741
55
701
963
946
308
790
134
116
930
672
886
894
478
364
203
322
491
76
745
994
850
496
228
480
724
376
146
939
822
603
218
603
285
69
548
751
155
871
237
294
843
36
830
914
683
714
643
690
302
862
69
554
911
311
120
964
239
354
659
860
624
155
757
530
700
236
349
405
687
683
914
458
820
85
238
768
114
219
278
955
958
954
202
198
546
330
404
929
955
155
196
456
575
131
367
554
668
265
704
24
588
274
814
484
518
605
337
760
794
70
545
180
520
345
625
192
167
171
883
352
205
449
684
607
207
866
700
974
289
856
195
615
729
68
244
437
228
458
800
994
263
150
172
229
258
474
458
123
562
409
566
657
690
493
814
612
732
170
121
570
960
243
240
143
528
904
637
215
733
981
913
995
759
795
517
785
550
92
776
582
198
539
452
355
957
707
588
727
232
751
484
132
544
188
653
890
678
366
703
535
927
128
988
31
730
729
317
451
772
55
362
103
206
976
190
11
176
850
658
611
526
307
445
81
921
912
625
957
193
107
471
68
401
94
248
29
150
432
570
661
834
498
419
866
694
476
50
157
579
983
538
240
746
894
666
637
430
246
957
715
971
235
287
201
781
277
824
402
433
757
84
81
0
855
99
374
274
143
404
772
547
935
367
963
4
456
274
906
900
187
346
621
848
190
629
979
118
664
680
683
895
55
641
964
836
549
39
807
232
295
33
659
556
215
359
835
266
501
317
249
600
530
426
998
492
136
388
849
126
442
458
372
989
818
526
380
588
538
557
729
53
55
730
808
401
811
905
411
488
955
464
696
688
394
344
359
441
3
420
337
837
888
385
998
819
131
219
109
507
151
598
193
51
753
138
996
854
499
130
194
686
235
112
175
454
934
69
196
361
181
884
560
220
653
981
197
937
626
707
374
627
479
192
516
435
632
278
745
670
869
756
352
486
182
912
370
458
656
269
625
162
512
854
173
621
631
150
475
58
754
45
396
391
744
8
400
507
481
229
755
858
353
136
460
895
36
104
713
506
866
466
395
697
844
938
755
90
41
479
757
745
769
15
873
683
43
859
99
772
27
582
399
974
524
595
952
995
156
802
784
73
327
75
721
388
899
943
501
55
663
585
661
528
823
395
19
777
798
979
647
258
214
896
246
562
111
236
220
702
110
94
29
170
290
156
414
76
248
818
800
112
123
123
429
663
733
979
417
668
809
947
270
208
904
840
274
92
177
816
94
439
385
987
402
837
581
423
97
33
75
28
277
319
544
983
558
413
478
463
812
263
560
657
261
652
675
298
673
761
368
530
363
855
558
509
369
433
428
596
244
549
25
374
770
136
83
905
469
668
724
581
571
850
508
660
199
694
541
827
911
710
80
267
446
993
823
820
985
919
640
65
678
941
253
244
818
414
256
576
636
5
492
814
992
707
601
501
458
957
110
347
36
120
654
26
382
947
469
381
874
673
568
100
424
47
927
775
985
505
196
122
571
844
689
975
953
981
996
435
168
328
734
395
520
886
124
944
150
912
120
397
880
519
307
453
399
78
747
57
952
852
918
169
186
862
390
461
867
923
777
355
717
695
605
747
469
517
231
17
359
175
707
380
509
694
966
146
815
102
160
662
449
186
371
913
205
534
421
455
33
636
112
426
913
344
348
386
394
606
237
585
317
661
217
621
776
946
836
388
749
199
895
378
816
569
656
624
942
432
241
566
151
635
935
676
931
525
594
647
398
819
808
439
672
920
691
105
77
686
9
100
778
587
150
462
177
393
345
698
304
957
645
599
508
310
356
804
602
406
947
281
253
525
413
362
560
771
912
54
358
536
439
812
387
124
926
46
626
177
664
106
895
347
595
73
871
721
759
58
537
216
436
267
516
500
591
783
863
895
595
779
421
873
446
30
822
43
937
150
552
144
758
201
64
96
396
320
217
789
285
777
839
261
832
176
935
844
522
919
28
200
944
767
815
722
521
154
131
891
737
341
344
70
903
302
773
903
525
47
393
265
749
14
486
902
324
568
595
864
569
819
929
304
161
992
320
96
866
529
171
34
101
943
720
15
54
776
316
906
141
745
1
507
738
651
176
23
729
788
148
676
264
443
245
442
902
698
571
606
734
770
106
995
114
940
451
917
371
502
471
970
104
685
12
270
621
812
16
950
75
858
488
42
160
739
98
536
167
534
986
173
162
599
560
529
957
666
326
16
5
741
615
907
600
124
484
451
819
213
401
487
387
908
149
181
435
452
792
440
30
650
429
559
627
831
619
538
795
396
809
338
868
764
569
290
410
48
478
961
439
360
30
939
809
703
899
495
347
552
359
38
61
415
961
140
964
446
9
432
578
185
437
53
847
897
60
640
641
540
259
255
287
989
757
518
303
140
658
549
676
384
202
791
311
92
949
527
86
222
944
105
15
264
209
842
602
675
922
107
62
526
895
278
142
34
676
982
112
354
282
770
734
4
704
208
917
577
523
207
136
826
326
481
771
36
935
731
674
307
937
398
636
172
213
212
74
13
730
133
810
131
593
50
943
347
979
634
431
361
688
0
496
235
135
519
89
935
671
752
82
107
389
303
786
587
531
195
508
977
358
936
646
819
531
847
305
807
511
654
248
539
627
372
586
54
527
128
90
204
434
462
667
80
793
552
592
115
315
62
18
706
941
890
184
633
379
486
564
477
53
878
513
643
202
657
852
541
404
276
480
401
703
787
456
934
172
648
668
930
294
881
3
823
949
316
176
229
198
454
966
738
553
422
840
143
10
115
498
330
39
40
913
429
236
467
654
682
402
209
59
891
743
934
74
907
494
870
888
25
147
285
130
978
774
255
40
209
405
994
686
503
841
944
666
464
459
908
220
322
618
834
519
490
923
256
68
751
546
210
678
242
161
138
387
997
636
947
439
127
876
186
82
26
770
365
693
571
410
22
8
805
148
7
81
784
835
634
418
349
961
277
320
243
694
767
381
324
755
780
765
450
36
127
877
822
953
243
482
250
901
730
184
281
978
485
855
126
379
31
574
829
160
785
456
581
136
928
553
651
611
782
833
189
965
219
891
213
382
858
126
200
521
790
881
352
642
692
691
984
899
960
122
933
753
634
61
383
726
300
137
206
802
846
812
439
647
581
481
823
864
109
5
929
857
258
358
964
83
574
358
672
348
808
883
498
347
852
983
793
873
21
861
801
60
942
784
516
83
159
215
281
997
616
388
7
293
13
101
46
830
907
823
715
315
432
828
174
506
383
17
176
479
632
41
243
501
26
972
695
27
382
879
551
496
923
557
909
588
644
407
590
548
491
640
65
993
734
729
541
425
17
278
657
674
840
985
895
621
969
141
747
790
857
523
533
939
475
458
139
706
826
981
89
982
465
21
965
71
803
735
613
427
757
723
234
494
576
16
435
970
797
334
684
642
511
580
144
358
430
855
868
37
577
50
354
342
503
247
261
147
361
378
578
674
689
261
19
931
771
748
414
402
627
219
768
230
468
959
291
882
428
326
68
756
599
784
248
681
465
479
363
703
801
992
288
4
594
373
332
958
498
617
366
29
42
916
53
613
459
271
165
261
477
190
153
79
762
511
131
981
306
0
139
342
616
633
932
346
723
763
417
796
941
297
736
132
168
500
498
62
258
66
762
103
731
19
668
0
516
855
722
897
698
259
300
402
357
468
359
502
419
867
840
385
632
89
647
326
279
593
566
691
645
925
44
598
43
211
570
785
251
486
88
24
758
301
12
78
669
936
209
569
986
54
122
138
30
756
4
23
552
299
943
409
825
664
155
716
898
25
768
228
503
562
464
341
783
647
476
733
942
792
32
193
746
818
856
561
958
577
890
315
16
693
558
208
938
706
821
115
570
814
182
125
821
960
581
230
911
479
488
392
232
51
862
233
102
622
583
95
496
700
717
149
730
395
447
908
364
828
122
247
327
845
610
247
936
486
754
953
803
672
98
690
711
120
112
44
310
505
241
757
685
816
667
594
208
246
961
87
613
811
250
50
41
269
505
866
177
234
598
586
468
706
635
244
626
937
940
808
656
737
189
742
348
630
856
30
500
22
134
58
707
448
807
635
427
861
87
226
326
963
511
469
911
214
214
566
954
722
70
156
837
865
210
531
596
134
580
65
879
413
779
567
592
926
556
785
961
396
761
98
560
803
631
932
161
644
422
180
662
987
35
590
625
90
413
67
37
368
458
763
386
829
404
215
783
154
409
408
683
90
752
977
817
785
370
672
601
148
98
398
65
292
610
13
537
603
91
601
62
966
359
775
812
820
70
714
568
615
127
800
838
869
521
394
785
834
5
325
884
166
617
413
299
339
440
263
366
891
578
563
53
477
267
259
328
18
486
29
141
965
844
669
616
107
892
454
152
356
782
230
358
215
972
706
901
784
762
37
764
590
829
702
77
551
193
941
693
818
661
263
71
281
659
264
805
42
64
23
55
293
579
787
143
831
727
237
529
463
651
636
35
763
871
76
112
864
526
833
260
487
524
155
934
795
621
843
131
921
87
715
508
349
813
15
373
967
560
126
250
503
11
365
302
851
541
276
350
254
681
875
375
585
930
178
394
868
636
738
417
571
423
305
442
769
106
606
643
601
698
176
171
951
198
285
123
202
887
303
283
975
81
382
4
768
626
669
456
804
529
865
758
424
947
417
396
749
618
128
109
941
747
730
93
809
943
290
719
237
416
799
741
590
821
523
857
488
363
608
706
842
616
890
85
130
173
797
663
885
913
512
406
634
665
497
704
987
403
962
437
227
633
68
740
669
713
632
638
346
19
393
188
349
854
123
484
942
120
235
959
627
372
456
272
413
205
98
662
427
195
742
245
435
425
859
327
571
367
635
457
873
275
114
978
128
200
594
491
681
403
648
570
76
571
860
910
195
261
961
649
727
611
41
777
88
52
450
852
658
331
374
568
322
111
924
545
471
430
26
408
652
764
426
765
273
781
241
759
25
23
720
415
519
430
871
718
386
204
166
670
364
671
382
460
455
423
224
356
372
855
635
553
99
97
304
279
165
543
766
923
682
137
42
753
610
205
812
623
932
765
773
777
433
307
846
712
101
887
388
272
208
698
374
454
466
453
628
344
994
981
599
191
922
308
38
320
515
920
906
159
94
759
351
280
960
575
600
583
91
846
740
67
213
30
908
347
996
469
154
682
843
797
105
491
514
301
160
186
482
172
678
612
765
942
236
568
226
477
476
766
396
646
932
850
953
726
794
616
312
75
465
836
483
513
156
60
571
635
684
32
440
788
728
862
182
521
23
595
388
695
680
343
569
496
34
887
291
262
240
131
780
676
785
17
456
142
323
591
288
30
309
650
229
84
823
524
938
869
491
152
646
936
121
543
637
354
553
715
733
456
858
250
759
679
258
254
541
236
965
360
992
220
998
132
421
467
442
291
908
107
746
190
870
139
468
914
741
530
132
821
282
767
377
49
278
408
950
434
920
26
84
653
431
354
701
939
473
909
640
792
629
993
197
109
316
204
379
337
12
600
107
693
305
42
874
874
224
203
417
130
356
365
836
141
864
296
232
882
133
487
650
509
148
111
332
786
599
526
457
114
975
614
339
782
479
533
358
519
765
393
932
27
745
830
409
377
194
638
93
553
62
688
311
103
971
543
66
507
86
806
427
854
115
564
118
254
375
514
509
431
761
918
704
493
271
489
289
507
308
923
603
581
39
803
301
816
5
484
274
464
348
725
717
459
919
808
838
948
107
95
333
285
503
284
466
433
454
479
898
259
351
9
804
171
591
94
518
747
811
620
580
59
489
821
251
534
862
626
96
120
501
942
617
456
141
811
338
825
212
456
201
633
123
729
308
504
379
22
85
493
25
455
281
51
10
891
69
611
294
288
897
730
144
184
469
793
175
0
159
889
176
868
871
580
833
948
766
113
953
653
15
818
791
450
87
284
214
826
707
703
856
153
847
241
920
151
553
685
479
535
69
364
574
699
612
244
917
348
427
46
479
832
236
105
28
596
569
12
257
749
504
869
965
783
658
389
451
636
84
287
165
269
790
319
930
533
401
846
805
280
848
959
534
669
259
434
478
543
232
592
168
646
933
18
417
560
740
555
176
549
350
236
447
573
666
665
433
628
253
685
345
67
81
721
717
708
462
622
80
177
497
699
817
200
167
94
474
88
454
285
860
86
526
490
75
280
155
705
167
784
595
130
319
64
637
440
286
873
10
41
507
356
683
473
102
975
23
194
388
50
165
81
859
156
177
273
846
97
455
148
261
232
692
129
94
801
929
348
804
161
159
396
214
661
492
790
72
823
238
229
753
40
510
944
503
526
415
982
806
441
313
922
603
82
757
539
904
452
7
223
550
690
736
765
465
308
344
409
591
481
411
999
759
12
611
212
646
710
766
166
712
17
746
525
959
787
280
405
281
460
745
57
813
726
656
94
633
104
423
90
526
53
590
766
841
913
224
218
262
160
674
669
400
640
498
962
575
466
352
815
273
258
75
995
310
864
743
189
95
450
397
242
674
484
293
100
206
213
473
628
72
817
895
545
491
47
578
985
827
522
729
293
178
196
503
656
526
729
1
860
585
899
144
667
904
313
771
385
97
881
51
994
936
53
185
100
329
792
716
518
688
0
593
228
809
678
929
674
452
982
577
192
30
742
936
722
717
922
41
198
855
256
624
535
231
946
262
630
183
283
828
734
908
468
195
764
361
344
726
786
498
878
739
903
957
63
838
410
20
962
316
564
836
36
388
2
384
58
419
664
691
253
66
641
743
290
193
997
517
519
145
688
502
50
740
584
268
173
837
922
906
269
668
585
499
228
969
528
935
20
409
873
561
47
667
390
833
947
265
557
51
671
761
792
630
531
104
307
252
944
769
345
453
307
589
313
483
164
721
334
794
919
70
40
489
154
988
554
767
253
774
636
473
627
22
94
908
607
561
389
801
389
907
75
16
455
242
876
794
757
460
554
790
58
102
363
997
660
841
495
558
931
328
664
381
676
527
7
630
60
379
433
857
406
853
147
750
730
986
247
421
468
132
907
180
247
809
633
964
377
289
291
813
488
264
84
502
138
56
694
266
335
979
768
511
247
558
594
457
675
966
858
744
278
697
333
330
567
195
296
564
939
533
403
754
910
802
889
898
265
597
769
743
8
470
716
622
953
361
301
752
443
702
287
554
232
564
285
955
97
792
52
419
289
92
479
687
135
981
265
531
708
706
673
273
572
735
791
183
57
501
109
482
520
680
246
298
201
122
674
118
328
385
529
111
336
652
368
350
116
977
502
611
833
215
691
542
105
231
759
208
731
806
459
995
977
913
272
743
429
174
652
593
674
554
297
455
927
841
732
493
528
100
102
580
110
531
462
259
191
149
783
196
829
345
249
124
992
344
104
121
86
83
192
837
271
668
609
926
570
357
790
627
905
725
380
887
348
605
36
367
534
999
196
917
78
378
493
672
339
998
810
486
921
164
412
31
608
334
269
581
687
85
160
360
23
350
420
825
885
754
794
804
754
71
462
9
250
363
122
480
412
615
732
799
567
277
378
763
187
922
130
522
937
622
287
546
604
134
311
497
513
706
396
892
449
825
140
901
186
188
82
693
635
863
241
292
687
426
659
73
7
316
303
610
51
560
543
439
150
782
140
110
222
402
321
9
820
786
568
785
858
290
809
791
148
770
866
656
50
897
291
191
683
888
469
296
373
809
984
364
984
540
335
856
772
622
579
912
976
618
755
398
655
833
296
672
654
628
68
963
505
738
8
294
91
217
763
529
257
236
831
944
553
744
134
346
584
836
195
802
815
597
683
286
604
165
761
880
571
383
631
402
47
307
738
64
895
434
456
520
47
637
282
553
509
379
48
708
853
446
297
118
370
297
283
757
615
373
457
988
82
222
651
162
776
625
171
984
79
713
153
840
900
625
796
900
887
96
662
48
912
745
728
421
515
66
720
777
108
931
90
764
392
375
73
583
506
822
982
265
904
746
977
411
587
292
108
113
547
971
549
686
46
678
272
979
768
745
744
395
83
614
101
916
350
398
641
155
380
141
133
80
570
39
108
364
10
308
846
278
498
110
778
610
730
495
202
498
150
581
165
251
621
768
252
762
379
57
586
428
93
548
859
674
933
905
80
50
46
170
585
437
439
469
833
284
749
161
418
327
194
784
12
130
178
817
582
315
346
410
683
834
675
485
332
566
728
7
469
496
947
948
871
924
345
146
451
802
125
547
249
539
54
136
557
320
603
700
493
798
208
616
439
809
380
75
94
597
504
698
634
855
453
607
487
421
625
587
342
855
820
33
597
254
354
357
640
766
784
263
121
768
84
646
38
736
552
385
840
918
697
683
748
848
660
605
981
131
136
865
103
825
458
647
260
227
960
814
657
885
534
835
265
222
349
67
858
853
778
441
734
674
391
306
433
91
779
456
253
583
76
81
394
568
746
768
567
5
393
8
490
9
947
732
195
315
160
33
653
963
354
558
563
970
209
340
498
174
606
142
336
991
16
124
439
766
670
10
687
583
425
672
287
781
655
888
462
816
814
585
663
136
78
550
988
818
943
619
700
616
296
904
260
763
299
915
991
490
77
734
813
365
829
948
568
626
745
696
689
71
384
9
614
37
557
791
260
417
996
996
602
557
520
261
404
895
836
69
215
990
879
479
573
958
126
357
530
220
201
427
245
375
629
150
984
443
806
411
79
243
46
747
674
350
731
378
750
252
124
552
585
472
466
622
292
757
715
855
39
637
174
639
391
546
855
173
378
212
4
185
847
192
206
275
735
145
604
71
214
937
708
518
404
889
438
543
701
840
407
59
344
521
403
420
715
633
698
702
357
427
478
880
551
265
553
749
263
672
877
185
525
742
938
503
410
135
769
370
110
193
792
184
320
67
433
925
481
430
131
154
523
103
569
33
248
680
440
43
290
189
245
664
495
931
176
272
258
404
988
83
417
15
882
22
420
732
990
205
90
880
746
463
880
568
646
935
553
940
159
460
910
843
265
763
575
634
581
467
311
161
859
944
759
791
528
265
495
587
192
516
301
820
826
909
511
179
778
251
472
913
694
808
899
463
316
239
563
902
796
733
655
721
984
17
763
435
934
73
925
125
293
856
812
934
375
192
936
501
721
567
960
410
491
339
168
203
425
12
211
106
986
107
429
477
664
547
165
227
384
394
52
658
830
766
901
262
252
866
564
638
546
623
118
601
658
92
790
699
351
351
108
559
820
424
994
483
650
257
796
359
522
16
746
574
349
670
562
3
345
69
415
461
30
248
249
749
226
895
721
906
440
454
401
55
688
560
161
34
320
885
780
886
810
902
450
289
286
646
164
494
506
366
815
411
812
693
524
877
229
963
220
319
165
711
336
558
548
966
959
41
624
565
640
200
153
35
681
312
141
260
277
631
810
227
12
649
746
993
935
132
788
864
142
701
44
405
378
642
96
592
803
184
258
445
775
630
591
63
673
478
801
961
177
999
804
273
311
694
332
586
298
591
67
743
124
961
660
346
699
607
890
350
969
152
258
747
756
141
826
418
505
878
591
633
872
555
782
187
258
682
9
865
252
193
687
780
958
577
22
258
345
166
401
752
670
471
321
585
154
65
72
983
983
533
282
621
512
247
764
2
287
170
581
273
769
922
694
349
345
215
386
538
171
316
898
994
308
795
792
487
544
577
995
653
704
799
513
807
591
547
446
948
488
421
806
841
655
900
577
705
391
529
973
281
280
775
438
643
944
165
9
163
943
654
415
624
634
474
262
196
498
885
492
154
931
995
276
786
226
561
370
36
891
957
795
272
872
51
444
832
817
610
552
177
300
987
369
372
293
422
658
518
100
988
691
126
287
577
917
937
567
339
782
170
785
222
701
101
348
372
597
705
494
530
312
468
952
6
927
113
306
738
346
353
45
732
98
170
83
71
460
218
643
479
259
479
428
916
807
742
835
721
874
202
366
602
635
586
511
349
97
49
80
783
776
996
176
791
429
36
709
724
896
285
319
694
214
159
594
157
104
137
882
877
378
191
805
522
641
833
288
13
867
796
15
38
974
836
845
322
465
897
146
962
841
945
983
437
475
842
134
895
338
476
933
708
391
702
654
810
3
48
751
254
357
45
527
132
830
69
740
342
639
357
125
368
888
300
459
940
249
202
53
374
554
372
297
992
631
787
163
967
681
530
359
480
7
45
856
920
515
869
443
223
20
256
554
634
257
647
387
323
72
762
516
338
40
987
714
474
924
377
17
313
406
30
966
229
117
499
756
48
504
340
431
577
525
765
981
298
554
139
961
643
36
99
817
205
271
96
809
115
393
808
457
93
658
68
659
508
645
520
23
603
421
953
673
691
776
925
707
663
957
980
775
529
184
820
179
886
376
333
933
163
493
62
281
209
403
304
809
106
622
678
268
143
633
785
266
551
885
566
409
213
399
109
435
360
75
112
249
792
933
478
214
364
198
141
342
345
376
23
682
549
187
31
622
443
911
60
940
163
308
492
795
974
332
241
101
349
571
699
224
72
296
662
140
893
361
185
446
609
666
26
952
838
176
490
766
859
653
633
706
825
694
153
412
201
168
8
154
58
234
869
25
247
198
403
214
95
967
403
688
535
149
943
127
930
597
230
146
300
847
938
81
359
216
853
480
732
343
26
504
919
113
490
41
276
269
777
293
60
949
214
573
921
317
300
983
274
132
683
406
963
77
7
816
517
845
502
488
734
243
943
889
91
791
476
386
28
180
884
110
653
729
121
116
850
574
856
616
775
492
524
909
38
85
799
98
383
446
176
530
12
242
920
823
101
843
536
259
595
353
11
732
114
989
628
892
748
741
695
369
598
434
367
264
81
84
73
734
522
783
470
265
64
323
406
611
486
407
142
206
354
189
495
489
244
164
328
380
214
669
697
248
715
809
874
373
955
842
907
200
573
38
742
213
381
925
172
622
844
216
806
849
982
45
304
140
40
555
995
632
916
285
293
349
617
187
558
483
963
272
565
109
855
598
966
354
431
911
454
345
847
578
244
913
193
767
167
0
501
137
201
150
501
543
942
72
700
995
724
299
245
997
681
646
98
336
709
404
861
691
684
651
640
423
848
285
422
323
361
231
512
334
753
742
495
667
386
894
808
988
772
659
28
420
596
0
409
650
690
116
273
70
147
168
862
154
529
584
424
701
958
906
630
238
389
895
173
86
576
49
765
176
768
335
158
365
159
29
336
95
413
972
524
199
153
424
927
314
88
366
933
283
331
647
184
506
279
766
369
663
18
220
757
978
777
223
278
305
914
456
642
701
64
161
169
794
455
798
508
986
707
808
158
714
722
567
198
16
530
457
682
516
676
967
397
434
111
989
213
65
809
349
563
778
308
784
754
163
681
208
272
558
341
588
642
7
705
166
38
446
697
202
411
198
316
70
676
516
970
166
302
821
692
586
194
838
97
521
896
60
121
566
521
716
515
670
540
296
987
468
675
667
723
525
966
388
660
403
742
892
277
586
604
278
429
172
111
746
888
941
91
103
506
133
300
327
39
939
810
5
342
876
330
806
684
41
845
890
236
455
219
499
323
434
717
624
630
54
235
770
706
692
56
505
626
725
715
13
993
421
540
888
56
972
855
385
3
821
855
377
105
570
299
987
378
408
457
680
203
780
369
414
113
598
163
847
195
46
141
652
276
303
931
9
324
984
562
640
664
660
713
614
841
197
453
68
365
694
757
621
979
132
951
411
748
314
208
617
170
308
454
434
871
183
212
315
211
100
878
735
445
431
312
49
113
926
428
933
800
396
756
875
59
201
233
116
144
719
487
544
275
303
507
40
173
978
565
611
400
113
3
214
367
390
943
684
42
376
477
620
215
782
299
254
881
476
239
817
968
156
516
728
28
207
486
710
983
98
906
579
37
604
678
404
925
180
991
233
187
973
846
969
769
557
171
109
132
850
21
405
650
182
4
998
355
483
734
851
306
28
232
78
404
264
180
808
146
26
83
306
704
579
564
475
479
930
532
464
248
736
184
449
202
288
886
464
166
594
643
857
56
266
365
62
251
247
649
604
421
873
992
834
302
393
272
889
966
399
448
201
779
506
577
772
651
182
528
564
458
494
845
347
614
722
587
450
537
283
328
693
368
312
751
82
249
919
499
326
295
585
956
860
114
609
491
670
327
203
952
903
869
430
994
482
5
317
659
185
403
623
277
631
439
91
162
977
116
687
776
846
389
364
79
234
986
760
432
204
77
603
776
9
686
716
937
371
905
790
969
356
893
46
13
120
941
163
759
709
962
335
625
556
421
449
311
694
913
565
943
296
256
705
754
869
502
666
583
96
119
794
160
204
579
231
819
800
302
499
998
608
625
862
671
957
481
439
344
278
794
626
838
319
637
729
327
363
381
250
212
977
174
812
712
498
185
747
132
799
946
661
279
216
893
170
562
765
649
881
455
436
396
391
308
467
595
62
329
389
325
179
823
354
814
234
65
621
22
298
304
425
34
184
13
135
172
851
215
308
352
745
606
479
77
516
868
65
983
168
252
392
4
156
945
877
810
940
239
768
962
202
637
257
355
434
565
180
235
767
581
374
234
716
400
556
46
968
763
626
440
216
733
922
427
99
80
729
676
292
717
851
435
75
536
746
55
283
835
565
485
534
944
201
659
174
350
720
172
806
353
932
164
568
391
82
829
582
389
470
400
733
655
310
209
948
927
889
102
304
525
988
986
735
87
671
479
531
941
484
491
593
333
402
657
523
43
758
680
901
776
499
45
384
151
803
845
599
955
305
250
458
808
196
885
181
448
385
538
176
58
910
767
710
640
490
881
952
536
744
724
0
903
494
311
603
33
919
960
460
45
213
51
945
573
987
215
304
917
163
768
340
465
356
274
731
648
224
124
507
862
657
941
223
752
915
489
351
634
608
117
638
569
771
251
736
104
617
235
531
21
32
287
471
620
544
836
137
15
77
889
48
464
873
234
951
146
718
952
602
236
63
259
90
202
787
807
672
208
161
457
429
711
958
913
583
2
735
482
919
751
252
939
174
986
705
661
267
330
886
576
495
500
228
800
962
926
227
211
383
710
710
545
568
230
61
874
480
531
693
938
622
111
55
20
50
381
312
62
637
523
876
248
432
839
435
850
519
868
999
957
858
185
270
711
958
809
379
773
238
971
43
638
607
940
632
78
570
208
749
235
246
455
722
697
853
364
894
917
134
669
272
919
494
636
377
927
554
381
465
640
320
937
759
681
415
956
533
772
829
828
801
792
6
204
852
889
787
74
371
853
996
14
261
672
70
319
480
494
780
23
199
107
685
529
468
71
765
81
949
943
513
475
195
975
172
837
365
117
824
921
487
557
783
258
417
293
26
368
645
746
429
139
179
976
314
190
435
661
663
850
397
573
72
105
852
748
244
243
829
412
118
618
259
174
622
83
880
147
540
65
875
365
963
949
142
245
202
302
11
550
45
92
606
178
704
409
787
22
829
204
656
875
73
843
152
990
698
51
369
84
305
220
406
638
547
367
152
144
858
398
598
840
986
728
439
330
296
767
575
981
545
779
278
505
665
582
430
377
827
869
274
176
484
9
108
920
423
137
296
926
218
618
635
949
489
151
42
125
12
89
825
293
740
361
194
371
643
760
618
535
728
582
253
570
520
352
405
859
544
210
244
283
145
80
692
995
397
241
870
766
380
227
886
659
430
41
808
174
541
428
81
223
527
284
226
454
909
208
487
191
426
702
535
721
660
678
990
492
861
919
591
340
897
343
105
160
73
509
907
106
582
588
730
430
562
229
757
215
579
860
670
707
138
56
690
531
758
156
269
959
889
773
456
925
739
38
4
457
724
379
755
766
777
121
879
932
93
501
544
267
103
423
500
213
369
88
939
615
535
342
627
559
31
338
419
751
466
384
957
837
761
202
406
707
929
352
16
128
121
37
531
933
901
478
443
929
251
583
815
532
509
636
90
958
851
731
275
474
511
652
414
723
399
462
367
750
504
404
523
865
735
910
661
919
161
738
534
195
375
920
394
519
474
276
769
188
492
951
54
450
168
718
850
819
744
655
640
64
517
690
30
359
997
576
386
550
660
866
985
576
742
182
375
526
672
173
41
450
704
303
681
671
415
828
804
93
356
897
23
414
923
398
341
848
659
524
32
633
624
548
438
861
970
881
424
918
842
572
283
929
770
709
728
149
361
529
960
342
744
293
21
103
32
243
986
442
371
347
80
796
109
765
826
122
907
15
158
395
194
692
110
408
131
611
375
796
793
371
505
704
308
110
150
528
511
325
461
52
189
440
746
602
626
645
621
642
294
805
738
698
125
863
19
456
636
791
185
439
188
387
297
960
342
693
95
796
801
473
271
964
675
96
415
823
353
877
269
327
813
831
164
957
40
935
769
611
229
323
316
10
602
293
503
935
479
614
493
91
567
395
482
891
937
977
226
788
124
391
931
116
436
399
205
225
110
909
473
759
641
942
800
703
448
130
879
671
284
597
913
734
633
845
999
521
481
369
887
288
352
867
590
238
143
422
684
371
571
214
871
459
794
164
461
950
101
758
306
170
854
286
627
900
175
270
883
845
273
631
622
456
706
392
968
556
279
530
539
230
363
996
323
308
975
842
556
554
33
518
48
839
155
717
315
747
25
55
107
908
595
47
450
828
232
959
47
443
318
251
229
16
867
747
633
617
880
960
938
551
298
920
157
756
635
137
468
479
778
106
519
399
127
296
998
418
138
969
802
873
709
355
51
17
124
817
982
496
801
165
242
441
171
110
641
94
52
879
883
503
781
525
975
777
310
934
787
767
581
146
31
604
528
481
257
172
56
279
425
121
116
584
603
409
603
884
633
564
39
418
963
749
534
44
754
262
513
171
407
369
43
461
108
509
427
765
394
553
827
913
644
767
789
894
991
446
205
501
589
399
156
654
314
661
755
804
145
676
641
799
846
670
580
491
486
833
826
271
990
273
231
987
500
380
455
637
870
538
433
444
392
354
101
358
458
343
71
952
179
575
789
10
541
0
829
574
94
449
179
246
789
158
647
700
961
613
627
359
322
937
712
957
838
830
736
264
308
776
258
292
888
621
642
373
591
76
605
382
145
626
939
375
664
140
903
804
380
230
106
195
183
17
943
795
41
332
120
934
849
254
992
19
898
954
30
984
617
228
759
322
903
494
986
413
407
37
534
833
276
629
608
924
993
830
731
361
599
458
16
285
532
762
462
525
398
229
188
176
833
525
976
308
248
544
140
996
912
717
515
482
974
786
462
257
438
379
355
704
40
568
886
82
96
833
536
451
734
473
267
245
178
309
70
254
536
147
229
40
869
733
369
848
446
504
954
83
868
105
464
402
803
86
591
356
353
599
37
491
549
52
659
194
201
894
758
346
800
830
543
809
372
836
624
770
755
244
729
266
451
355
164
117
918
109
11
397
932
459
730
665
994
87
497
118
900
937
848
584
198
822
371
164
436
969
627
512
453
14
617
589
44
414
538
789
184
151
260
991
377
939
594
945
42
735
265
426
469
498
2
69
37
102
302
584
980
216
471
640
905
975
651
596
369
574
693
648
167
395
823
332
398
702
778
340
269
358
909
191
102
641
548
486
347
504
894
699
872
975
211
154
205
348
160
890
718
891
457
925
906
515
430
57
903
568
556
675
314
426
277
988
404
388
153
192
683
969
557
739
59
873
59
247
675
616
136
117
772
298
429
461
535
195
43
981
916
84
779
79
230
994
837
978
476
794
690
442
476
24
928
365
220
321
281
641
360
162
469
341
922
749
398
696
94
180
520
973
139
317
297
489
912
343
765
577
221
190
827
820
407
252
493
642
763
941
183
657
656
316
700
560
82
821
567
208
243
832
661
723
467
382
521
191
712
478
803
434
252
145
380
568
262
774
915
486
149
344
233
958
488
602
304
195
540
635
465
748
6
869
299
626
676
692
117
549
149
207
931
353
565
132
633
32
426
688
329
562
744
968
978
621
684
293
4
545
575
175
152
931
607
506
933
909
445
858
291
934
291
687
797
535
789
679
304
447
435
927
169
969
783
548
445
241
68
275
195
84
793
642
271
973
705
933
736
456
801
479
556
910
909
290
82
237
182
887
762
536
50
394
773
122
880
859
15
510
233
308
136
643
824
510
70
391
992
703
254
726
631
965
163
937
380
238
925
601
6
909
388
512
525
100
224
316
120
146
299
245
261
714
539
954
166
904
409
58
268
129
448
877
754
284
855
849
970
224
501
901
356
952
427
941
323
724
986
895
222
299
995
932
452
778
318
947
371
339
178
587
455
93
132
977
376
97
126
700
93
565
804
118
11
621
587
161
551
480
10
16
872
667
639
951
480
357
689
423
432
462
263
453
508
45
910
15
384
750
898
927
111
425
687
532
375
994
746
840
775
43
809
25
456
828
23
856
811
319
924
130
126
663
740
881
313
85
397
597
361
606
357
565
387
536
545
553
615
805
629
724
810
537
430
945
328
916
284
586
16
6
973
936
689
258
307
163
889
766
20
464
421
657
634
435
979
635
440
686
375
619
266
336
429
638
392
762
533
889
387
626
211
143
73
646
584
841
6
521
191
771
435
196
473
550
904
432
360
166
281
606
923
179
857
744
489
813
995
103
440
850
912
339
448
615
468
615
273
306
588
127
972
20
70
699
674
681
100
291
978
324
762
210
821
277
190
935
800
319
961
348
201
955
311
502
663
984
781
627
605
117
731
463
692
574
475
520
568
605
390
619
663
641
567
761
924
273
885
312
683
412
947
797
37
7
507
439
23
598
964
576
700
499
807
819
520
956
649
890
410
745
571
367
30
729
795
366
529
519
51
300
689
401
104
766
494
874
146
626
289
189
772
95
926
935
755
154
172
311
42
494
530
628
719
106
255
548
478
533
648
913
541
347
59
729
723
629
936
388
826
161
977
647
932
69
947
574
140
774
337
590
222
427
860
46
95
3
930
563
557
219
462
985
114
873
186
323
102
685
540
420
125
406
942
957
391
156
257
301
137
783
645
687
241
491
769
303
221
159
965
536
317
187
333
229
115
287
523
997
788
196
454
74
146
917
890
297
136
291
90
61
259
450
917
417
23
82
978
303
124
946
182
638
20
825
814
949
141
77
920
880
529
434
124
942
409
450
622
35
626
314
786
331
790
648
68
784
688
785
320
4
782
975
862
769
649
690
240
498
284
464
960
897
887
592
760
344
330
677
47
896
905
418
960
322
484
581
281
635
733
670
920
342
271
909
588
72
414
101
864
137
119
118
234
980
762
201
867
731
221
919
753
853
422
961
200
402
385
548
143
515
267
163
576
311
877
700
496
317
586
242
672
243
428
661
41
756
891
428
420
526
581
413
187
844
26
800
399
682
840
275
951
385
316
731
825
552
277
246
719
946
109
319
717
863
464
40
846
483
813
287
147
342
556
982
487
462
902
195
930
424
804
156
523
766
533
831
115
155
651
155
645
420
308
539
713
120
225
352
35
762
442
267
61
420
289
282
265
420
376
682
652
975
758
903
55
842
356
764
934
421
685
500
653
467
89
681
707
975
709
763
7
979
82
463
177
380
775
190
766
574
416
596
904
647
570
193
795
503
849
380
440
898
643
813
807
901
245
55
447
728
768
852
331
782
336
426
841
902
13
364
731
27
900
807
221
706
338
537
572
61
348
78
745
140
142
736
892
248
794
444
568
235
9
127
613
190
577
457
480
684
410
518
184
550
867
998
454
399
641
539
19
996
663
193
846
517
255
538
501
756
615
285
602
396
191
265
519
553
436
57
692
126
154
398
356
634
24
573
459
836
400
767
409
855
40
420
266
231
396
173
664
191
521
25
758
371
493
688
91
743
539
336
439
688
568
121
403
597
232
471
538
999
42
752
333
580
576
24
760
653
648
551
545
356
456
428
196
35
986
196
319
651
352
204
244
815
325
162
947
649
9
671
946
546
430
727
709
553
72
252
378
475
577
630
276
473
292
172
206
182
41
347
318
687
634
504
660
574
60
46
925
476
846
879
708
690
535
819
276
358
60
637
497
483
289
955
553
746
990
48
428
110
190
716
180
336
80
58
286
764
456
690
291
185
651
228
268
657
233
798
259
225
757
913
315
256
400
619
322
725
690
663
241
967
300
487
570
970
212
162
558
493
227
96
576
778
29
279
423
748
627
777
252
782
552
367
729
165
83
24
711
740
54
811
426
992
74
87
371
146
321
212
511
239
735
261
669
649
687
124
912
269
239
883
546
429
96
995
688
508
302
51
649
767
938
534
499
69
100
608
768
694
10
488
898
205
709
786
996
593
737
86
498
180
433
712
23
718
864
103
823
867
736
794
734
565
963
664
42
506
897
850
999
446
626
69
848
747
908
578
444
308
987
124
808
464
912
183
719
119
93
84
920
44
506
654
501
458
868
457
360
638
117
511
468
240
325
532
291
996
832
184
840
325
822
649
556
239
888
80
852
159
220
275
137
439
637
834
866
255
271
177
58
363
54
508
770
645
125
112
341
832
94
553
854
213
840
598
542
778
400
146
492
518
64
615
860
142
495
450
226
698
445
922
73
328
335
649
453
778
400
802
226
758
653
872
175
323
447
888
479
331
39
179
930
49
809
103
828
647
337
600
315
878
998
665
760
599
357
646
856
773
637
102
541
386
586
298
707
559
382
915
396
431
903
692
901
818
806
110
802
646
588
981
583
890
888
420
50
811
543
127
681
515
509
107
945
798
976
816
892
949
960
395
804
187
651
507
792
330
475
236
343
907
239
328
727
224
874
921
506
216
878
536
490
886
325
221
105
228
185
159
102
174
425
88
366
922
465
480
314
493
716
418
420
42
172
599
208
198
612
223
197
163
206
921
554
26
519
456
228
183
655
467
217
597
913
994
140
983
792
970
803
866
166
251
988
546
500
981
74
92
556
570
320
8
131
528
778
884
382
380
910
901
985
533
429
349
509
389
125
117
88
146
57
649
945
840
831
162
168
424
643
704
225
487
207
945
777
192
798
466
706
141
178
16
726
336
226
659
830
625
390
648
850
860
839
237
714
779
730
419
566
497
659
273
986
742
533
370
810
362
270
71
335
242
208
595
149
854
573
339
869
216
82
621
962
471
10
248
458
205
105
973
167
649
302
245
598
975
119
839
395
985
115
787
611
396
111
272
30
667
258
27
574
940
79
156
904
474
73
516
633
649
855
172
966
725
307
429
143
539
442
13
300
217
809
352
622
602
633
244
606
554
836
911
569
531
863
511
7
413
439
151
802
646
675
762
977
601
834
764
654
875
108
520
147
137
681
730
890
498
278
265
154
59
608
993
895
968
930
231
304
728
792
543
758
520
205
951
432
118
166
413
683
618
39
801
674
259
380
176
254
817
612
919
16
168
681
23
659
737
197
797
68
701
225
916
462
338
536
720
642
319
722
908
574
383
786
337
371
323
240
725
997
648
373
238
126
557
614
83
603
438
213
577
223
629
384
836
771
739
795
566
267
418
400
905
284
23
851
592
509
490
307
535
781
718
957
973
17
61
160
558
651
128
785
164
933
2
708
373
997
710
133
147
941
246
384
855
938
635
792
880
671
792
206
441
426
239
261
667
262
564
415
618
272
900
74
74
604
724
168
610
572
765
30
149
147
655
147
835
366
87
6
273
552
777
541
627
211
165
864
476
462
935
419
932
992
592
548
187
56
674
845
206
2
222
67
524
905
193
85
19
450
804
912
107
784
114
569
931
731
687
611
265
154
285
913
697
675
293
3
229
570
558
241
995
734
216
850
200
731
455
692
815
830
450
273
938
105
805
0
532
808
789
212
104
669
578
896
48
164
601
51
655
341
840
704
198
588
881
856
494
951
457
141
298
378
148
350
608
506
897
440
194
540
226
88
734
282
38
480
387
568
398
6
455
267
557
830
668
53
9
586
52
396
941
153
46
100
508
332
563
237
306
269
189
517
294
115
860
216
129
540
192
388
0
326
338
798
519
609
294
682
77
316
132
251
11
363
99
670
862
385
529
557
551
342
791
404
565
634
232
39
351
116
403
12
16
923
792
475
327
590
257
53
494
355
677
255
370
87
342
201
918
51
435
37
720
915
89
963
842
616
649
406
594
342
478
873
674
673
398
57
28
354
80
520
630
976
30
584
687
94
966
947
154
710
369
179
56
389
684
527
556
989
26
524
900
861
980
340
372
262
712
257
909
660
376
535
397
311
760
237
77
732
914
35
589
663
764
161
345
280
368
979
971
472
555
991
999
386
819
570
86
607
769
17
304
356
647
498
325
677
433
683
377
929
65
918
584
264
626
328
701
241
406
23
703
214
985
45
916
451
434
757
450
212
740
190
669
483
87
513
389
192
219
408
564
423
442
69
157
423
283
306
230
891
472
182
69
372
603
816
722
30
706
32
640
797
591
987
140
138
577
847
587
906
544
247
432
976
811
155
463
816
112
379
140
259
100
527
225
744
930
308
882
846
544
108
347
355
231
665
820
589
238
457
711
973
30
760
999
115
395
818
44
400
887
576
583
97
479
209
221
85
510
706
622
866
12
436
422
530
90
187
215
933
61
778
860
152
680
138
414
478
278
276
563
921
315
861
754
665
182
24
256
669
355
779
409
532
12
202
477
486
167
447
64
312
336
480
650
45
636
429
215
649
446
455
639
850
481
356
57
350
853
597
879
611
876
145
925
231
898
624
951
479
117
378
701
661
791
26
977
947
294
949
857
530
376
195
375
686
881
238
989
716
815
879
291
663
409
8
170
274
148
140
277
277
368
466
484
637
145
972
189
225
251
825
854
238
692
419
192
344
271
457
962
109
434
318
459
793
242
548
667
602
87
514
184
161
144
695
198
839
951
184
606
462
290
161
734
678
965
513
193
488
30
471
17
889
189
437
264
147
250
931
929
758
899
985
654
387
562
442
375
751
71
977
921
836
494
595
117
255
398
559
840
446
509
437
426
728
751
901
126
927
840
989
224
393
35
661
555
890
160
242
919
933
292
700
573
181
448
67
273
943
328
845
231
658
617
428
110
911
505
153
210
686
445
977
253
105
841
0
674
726
372
836
113
109
510
971
293
655
787
124
699
412
513
48
149
982
964
85
7
152
803
108
156
65
5
279
457
278
339
562
782
415
513
467
579
930
703
940
756
95
605
224
947
862
69
716
64
527
808
884
444
535
221
250
347
513
401
276
226
893
80
745
514
901
221
970
325
612
426
713
623
63
795
610
809
765
977
637
807
691
913
847
388
28
491
810
497
803
341
335
570
647
954
36
296
644
936
671
188
99
807
715
31
443
279
791
710
518
350
994
680
558
471
474
75
735
225
287
668
997
162
526
781
235
613
976
360
403
24
396
116
536
566
616
545
244
986
258
141
631
773
70
357
823
40
993
690
925
864
48
79
851
345
653
934
0
899
552
50
93
411
27
667
367
630
277
860
884
7
776
550
944
572
725
125
15
269
994
542
105
775
691
213
553
483
110
445
798
448
505
187
880
108
649
413
47
663
172
688
885
830
693
712
780
916
481
556
901
389
399
265
309
880
455
394
495
990
471
589
885
926
57
137
366
109
905
61
640
758
334
966
753
235
716
497
884
456
615
52
14
641
115
232
793
171
725
103
716
633
528
17
804
986
297
67
410
747
0
677
898
74
554
845
364
59
857
28
189
655
391
332
767
500
79
292
327
894
729
708
550
292
975
603
467
218
222
656
329
647
592
114
364
593
643
814
849
126
223
658
89
146
131
591
692
587
28
566
358
687
801
983
767
626
622
308
678
277
304
989
469
288
309
507
204
970
582
530
303
951
992
580
411
45
78
684
156
286
67
765
773
32
89
777
442
89
587
190
59
971
166
397
645
978
731
682
311
581
529
658
546
900
349
849
754
132
473
54
26
710
361
157
474
440
583
880
426
964
847
19
879
471
797
75
941
194
160
567
787
384
302
998
696
565
405
50
4
651
952
225
462
367
136
636
533
951
872
620
719
906
463
609
555
979
260
889
489
156
507
972
39
10
541
817
75
565
93
538
21
653
916
223
754
77
648
222
281
146
213
797
324
159
523
609
878
394
72
903
141
674
130
119
435
66
142
41
789
993
117
32
624
937
90
529
387
396
448
773
71
237
960
761
808
978
762
953
148
611
291
146
188
699
215
246
491
324
665
975
387
612
899
591
191
876
220
250
792
714
807
274
458
955
344
46
235
63
272
864
593
653
684
808
726
883
552
193
802
835
174
12
805
432
190
427
754
566
989
303
813
304
942
641
460
894
854
880
926
244
282
536
338
867
868
436
291
993
380
560
21
919
929
179
974
178
763
729
985
483
238
484
341
273
243
699
917
796
942
284
711
777
596
370
727
804
442
56
136
726
410
229
363
514
338
89
752
89
379
782
133
933
811
11
825
270
488
462
582
845
832
229
888
706
843
189
861
215
60
536
974
807
224
739
319
753
322
968
450
691
508
332
111
485
183
978
16
510
994
790
702
197
193
142
986
944
607
557
591
611
889
628
476
819
355
850
579
383
180
876
324
840
501
719
257
18
181
257
731
979
445
547
75
751
548
426
333
638
501
683
750
112
951
329
316
997
294
183
180
150
220
528
222
331
245
667
443
211
400
798
445
103
887
424
697
851
185
809
805
785
532
432
898
214
112
901
531
16
251
906
450
614
989
674
233
339
16
7
833
53
360
768
596
989
247
763
99
704
824
694
686
690
910
63
946
887
16
556
940
595
239
228
690
121
527
680
152
722
987
971
714
592
162
355
335
179
448
91
189
464
738
733
686
541
310
707
124
664
730
708
952
555
820
761
111
212
304
895
885
24
621
91
957
585
541
824
369
498
886
24
969
82
420
198
18
47
755
954
375
716
19
742
765
292
971
592
957
137
603
778
759
649
930
705
439
422
477
958
200
181
411
865
554
776
247
986
208
437
395
317
289
187
925
416
491
617
973
835
699
775
843
43
683
857
996
869
717
946
409
798
186
194
621
366
518
335
793
518
399
899
162
481
427
112
173
959
379
173
797
888
705
480
15
236
467
477
538
801
174
637
795
347
758
875
116
661
163
208
602
57
391
596
231
467
546
295
79
889
563
896
841
845
290
595
697
408
529
77
342
721
30
241
760
231
441
493
824
594
174
985
740
626
495
496
31
454
982
626
602
872
806
504
663
923
531
876
193
48
7
775
665
274
182
52
386
277
924
661
82
410
411
398
991
439
903
737
592
759
752
199
680
159
676
737
405
187
88
722
536
381
123
380
932
981
920
280
881
35
512
662
694
713
315
787
934
939
442
848
603
912
523
787
781
692
488
788
967
110
858
615
489
885
266
638
713
856
335
557
697
463
913
270
114
209
250
182
391
625
625
565
824
190
878
10
215
503
896
226
594
73
656
27
0
579
82
101
130
363
35
805
137
79
270
403
397
311
668
295
919
748
569
174
690
838
220
503
338
56
73
224
329
784
587
790
926
136
669
1
623
13
570
900
758
750
833
542
324
76
854
553
247
50
395
882
818
729
541
76
376
122
294
499
463
675
209
895
359
48
0
591
536
337
573
910
522
942
824
663
271
94
898
552
518
987
895
980
478
695
156
935
862
452
384
222
998
30
285
290
11
688
459
331
628
185
718
693
634
404
639
460
672
762
968
702
779
521
770
362
678
896
47
602
27
948
473
484
965
161
939
449
529
803
960
405
780
497
624
82
843
851
281
916
34
201
426
666
305
527
238
864
814
346
246
662
690
206
455
13
131
795
245
354
597
597
437
831
842
257
105
613
48
353
876
448
700
101
786
305
522
881
365
315
330
368
234
847
337
232
538
268
754
749
145
10
725
988
564
422
833
861
948
385
720
325
865
580
635
492
300
417
838
801
387
936
740
710
452
268
625
426
187
873
599
553
576
857
904
995
757
928
919
900
638
556
569
112
739
496
504
861
640
105
230
997
982
67
516
412
140
229
831
178
704
767
514
666
383
674
452
930
928
351
58
840
654
623
183
11
748
985
631
572
911
339
377
53
60
654
95
907
362
628
236
414
734
879
342
915
833
814
456
798
940
743
666
865
457
639
739
324
589
552
217
114
68
347
880
812
708
979
838
916
647
301
251
109
14
938
200
481
276
283
631
557
4
790
744
228
348
538
808
906
949
85
344
244
601
787
166
374
181
583
486
678
661
538
794
345
390
982
192
823
161
593
160
676
10
8
623
939
906
43
5
260
609
289
119
709
30
789
605
983
855
692
477
968
887
557
241
650
945
753
601
730
284
984
648
260
568
79
780
346
731
329
166
165
806
923
191
124
779
90
132
781
828
946
192
447
928
890
630
992
299
351
405
754
207
367
210
212
811
525
135
431
355
494
503
132
980
23
653
237
574
841
981
656
394
50
637
442
840
396
848
581
734
379
838
261
965
125
160
977
676
386
59
946
648
197
102
987
294
133
778
948
929
698
429
963
611
740
278
395
344
240
931
973
876
634
478
129
694
413
969
976
128
216
708
753
916
724
379
476
748
766
330
366
409
241
492
838
809
804
504
876
824
18
297
701
345
411
365
865
757
782
616
684
58
157
849
497
599
523
726
287
266
716
544
637
335
749
404
74
683
632
538
151
537
863
426
521
853
766
468
720
740
485
892
389
400
118
395
956
231
801
576
500
715
899
542
724
892
190
440
240
625
246
363
837
219
188
546
982
738
179
288
242
862
157
901
259
367
199
581
516
107
714
90
437
113
303
575
430
747
414
976
997
136
522
363
369
26
8
767
495
675
271
523
5
69
197
628
226
217
582
961
774
140
471
439
969
957
199
980
746
823
560
708
405
658
596
961
218
693
658
960
126
253
963
994
986
880
53
967
561
179
406
76
183
921
410
790
828
914
850
844
360
888
398
967
149
484
571
463
141
386
594
556
962
420
301
983
901
792
306
301
197
580
325
488
96
853
950
323
44
972
202
755
598
505
520
476
576
239
863
822
382
855
271
461
399
930
259
343
167
756
677
307
566
579
734
870
664
103
60
560
314
510
701
36
457
773
271
59
449
385
2
555
424
421
106
116
176
440
590
649
215
229
111
73
290
290
870
962
843
517
17
42
322
210
923
151
567
641
81
955
727
513
221
486
160
374
516
797
433
16
750
307
603
261
950
69
985
200
151
500
322
162
578
61
103
582
772
293
927
59
645
887
318
767
106
861
685
68
668
173
972
937
347
706
357
972
657
825
49
874
748
995
641
859
35
366
41
122
166
737
917
65
710
512
636
766
928
786
810
975
437
376
450
783
290
521
2
678
660
53
919
15
803
227
910
743
588
925
895
740
106
936
591
398
687
703
584
910
582
611
631
929
416
101
8
709
992
216
770
745
743
993
150
762
704
785
518
299
212
353
2
730
84
127
38
67
510
496
155
448
219
304
834
524
694
921
509
466
665
170
337
341
228
885
248
884
456
743
722
66
57
645
943
760
963
689
928
9
348
883
658
517
914
275
667
656
911
371
261
481
881
825
292
996
195
987
287
995
646
703
402
520
273
645
927
355
792
993
318
85
321
971
205
927
816
754
359
31
62
695
187
994
98
450
917
988
575
127
254
894
898
274
995
539
660
237
540
47
99
314
819
805
314
963
140
597
773
622
509
848
2
912
961
836
327
890
25
205
555
355
13
734
284
323
87
784
166
724
349
493
724
893
219
761
879
36
937
465
58
64
443
992
759
114
951
958
250
486
793
293
312
222
783
649
799
888
932
480
139
579
991
465
965
191
747
849
757
651
271
591
540
290
753
389
201
695
168
851
794
977
941
874
706
485
337
493
544
450
465
472
130
754
880
313
138
934
180
309
91
743
292
184
761
646
783
698
234
169
366
313
231
814
256
739
886
45
533
790
581
627
421
270
964
642
114
812
86
68
446
614
821
244
860
30
796
767
736
948
323
1
797
628
502
759
902
430
521
231
980
501
724
55
585
57
64
995
219
881
323
202
313
366
399
427
587
239
826
77
229
611
489
334
958
19
685
597
801
690
121
841
263
409
855
752
325
94
691
659
971
665
764
940
633
376
70
135
536
347
533
857
134
74
629
508
324
833
19
522
367
332
390
733
475
693
246
622
854
833
611
908
758
28
419
197
177
672
898
273
264
322
798
946
929
406
718
62
907
810
38
504
770
418
265
256
493
557
959
579
451
838
175
274
376
77
756
391
337
796
240
301
189
893
120
424
616
498
611
368
725
25
730
75
631
590
171
162
647
710
328
656
1
283
649
280
628
910
190
721
303
365
214
335
706
327
242
107
708
440
801
346
247
286
613
932
726
114
773
405
856
163
350
183
827
812
63
399
947
107
724
294
683
812
34
237
523
386
191
882
705
578
992
662
280
275
500
529
424
354
288
273
20
800
752
808
184
814
434
310
741
535
200
692
421
851
160
673
85
114
258
583
23
165
338
232
263
321
10
326
742
210
228
988
844
541
393
574
775
884
480
978
708
256
481
775
50
743
693
667
928
147
792
687
956
72
216
552
8
494
96
100
293
856
722
841
994
557
202
689
6
495
944
594
593
598
906
326
944
202
146
95
978
555
751
185
70
0
73
7
79
599
679
466
533
796
526
116
529
180
516
519
695
701
841
76
856
183
827
663
932
986
199
356
37
147
171
748
318
446
220
273
133
189
21
480
994
348
383
179
508
186
624
310
214
646
395
332
22
468
965
728
715
21
859
571
691
727
695
168
829
968
95
627
522
73
113
734
435
855
402
195
550
567
599
804
759
679
959
370
618
307
237
885
422
511
971
197
666
638
535
383
795
919
755
380
670
380
117
672
485
157
117
345
260
50
10
122
199
255
943
985
441
145
938
250
628
687
64
114
520
650
208
51
709
135
0
954
281
729
174
370
905
958
429
244
102
950
180
491
47
770
108
700
996
283
258
755
890
36
489
588
843
368
962
181
844
917
77
180
332
400
719
686
751
583
407
349
575
293
425
192
766
541
504
627
436
237
155
736
802
241
159
883
957
545
360
942
570
475
703
758
806
308
797
510
988
741
427
923
916
450
131
868
712
281
868
639
665
95
153
660
726
874
693
831
315
584
520
55
317
972
551
540
794
889
405
103
490
28
93
378
565
748
459
174
798
260
794
427
980
147
440
410
387
138
846
968
315
680
364
477
437
597
966
925
258
188
348
843
406
15
72
373
392
802
693
151
870
47
944
918
513
553
904
406
274
902
920
746
505
261
207
966
146
883
16
938
150
907
533
487
672
535
733
476
689
561
874
352
505
255
72
24
245
89
120
818
451
755
471
990
925
753
77
419
56
286
162
27
189
661
837
122
517
11
406
3
826
411
434
563
290
54
894
674
56
285
388
543
569
906
692
9
539
492
959
720
838
659
742
478
988
309
271
455
563
441
148
267
95
244
30
667
558
991
533
911
818
859
53
399
241
828
778
538
466
374
240
516
159
809
304
204
332
877
716
487
258
128
477
280
571
639
512
715
866
762
872
640
615
257
35
611
726
248
32
649
9
11
995
700
52
745
718
907
230
313
936
98
216
515
451
954
394
600
708
502
482
476
846
265
963
743
321
224
697
542
778
661
515
958
267
902
299
412
730
545
915
422
775
121
407
248
927
563
219
499
710
868
216
528
530
358
556
231
96
311
264
101
564
775
48
383
489
943
88
149
64
667
494
941
258
737
843
891
134
747
409
403
57
573
479
523
968
11
59
721
998
155
102
429
138
802
3
892
906
412
325
401
92
800
131
646
995
799
308
724
200
362
807
75
942
825
197
925
404
353
431
689
359
923
118
605
998
896
551
125
780
602
336
89
591
558
721
622
724
785
420
729
981
618
46
898
537
207
714
122
484
416
991
670
882
231
130
259
768
555
905
752
962
117
964
19
755
964
575
939
531
889
71
50
524
201
614
919
523
861
129
895
805
819
436
142
633
700
3
654
819
258
769
720
935
932
742
687
630
64
138
728
195
748
633
376
960
716
351
954
659
923
896
573
690
614
193
487
367
277
587
267
884
600
556
418
165
812
127
201
307
269
233
185
628
223
231
273
400
888
968
268
393
819
517
784
401
948
25
457
266
50
894
253
596
65
139
459
255
963
786
167
855
185
405
337
648
652
571
753
728
36
537
924
677
505
991
49
981
103
161
793
845
851
826
851
717
763
728
399
437
997
712
613
874
912
59
409
334
871
715
723
771
765
675
380
36
728
381
571
221
919
216
815
956
35
970
920
386
531
74
709
652
432
521
576
618
194
400
411
308
117
964
653
127
76
754
736
462
334
887
808
210
872
246
467
777
0
61
834
364
39
582
696
158
430
973
704
427
788
200
429
441
506
552
485
334
956
759
670
171
533
186
782
3
731
256
646
623
39
287
226
109
647
143
559
74
519
816
955
59
164
122
432
850
342
68
633
326
720
55
695
758
490
647
184
710
210
433
466
41
39
580
249
46
313
649
125
670
336
815
472
652
153
350
696
324
438
290
76
881
421
960
49
631
192
405
686
411
631
40
496
742
97
528
379
843
268
747
199
290
958
977
146
81
933
853
117
683
99
685
790
567
863
591
804
663
287
455
783
443
857
617
557
961
906
255
586
419
939
152
288
361
372
58
625
846
82
563
528
887
350
58
674
424
220
724
553
640
769
733
674
972
44
609
777
305
532
276
441
795
669
319
8
25
921
90
703
874
250
189
221
733
282
449
832
600
90
154
843
210
986
318
522
992
330
840
409
9
143
577
155
279
373
421
591
196
377
939
414
355
817
938
350
593
700
367
705
770
49
184
707
378
75
765
382
194
93
497
784
87
899
112
522
33
334
721
49
373
200
444
268
721
307
369
507
194
953
954
50
659
418
433
793
33
826
747
420
124
380
551
61
280
502
579
952
284
466
831
28
249
186
139
944
244
443
119
143
510
635
819
366
864
76
268
620
958
493
956
169
712
648
377
232
195
772
376
108
620
822
298
242
683
5
599
954
409
920
324
571
753
973
800
276
618
251
396
577
744
193
999
734
960
377
815
991
359
664
259
396
406
398
353
986
561
899
938
234
806
593
314
503
314
445
360
426
774
302
818
788
607
964
597
118
24
898
92
116
591
687
465
222
100
852
550
477
894
949
924
499
790
404
918
764
537
31
653
682
721
443
730
585
835
649
3
439
528
15
290
642
800
182
815
832
868
979
222
868
820
417
47
240
815
968
428
791
287
334
527
799
617
134
184
685
18
212
247
239
482
819
790
568
590
429
688
505
133
387
952
320
939
541
500
906
775
4
608
670
435
526
545
893
523
553
43
597
212
299
348
868
153
226
905
416
709
726
713
735
928
217
739
286
676
918
13
788
103
834
222
938
888
475
571
863
772
380
602
326
375
934
586
732
426
422
662
808
738
409
976
794
452
972
637
308
897
669
32
630
233
191
444
257
928
549
354
272
865
230
259
793
643
827
599
288
520
830
509
742
73
541
854
495
896
457
285
482
55
86
190
592
123
752
22
924
968
31
711
562
19
831
100
113
869
777
665
908
426
415
754
799
646
142
811
421
615
195
771
737
467
81
561
130
639
689
8
321
794
769
718
970
998
734
173
995
470
40
166
759
709
894
616
434
925
219
778
829
165
732
973
274
349
591
687
345
444
742
672
776
253
231
842
810
372
322
228
699
552
220
5
355
150
699
403
497
255
598
133
446
205
652
311
827
286
216
362
229
502
400
801
81
817
142
952
465
54
450
743
786
800
94
207
591
572
171
203
135
177
127
764
679
775
803
833
47
602
275
76
585
234
35
852
712
105
969
736
636
944
923
685
710
460
627
358
683
471
665
157
766
906
193
126
126
850
470
271
632
300
198
565
753
672
476
33
429
111
714
12
583
898
350
193
667
566
878
438
962
329
229
784
944
740
682
559
898
727
21
217
516
428
49
386
949
785
258
446
954
621
963
269
905
772
91
988
575
616
20
272
332
183
499
44
678
759
167
924
905
826
551
12
400
130
610
662
761
117
624
760
929
921
47
760
686
767
536
805
932
553
300
340
839
933
936
367
33
931
516
616
810
376
345
264
110
871
780
952
693
456
449
312
164
884
235
512
849
221
533
51
123
801
559
377
0
119
681
951
919
528
808
649
835
46
89
571
604
548
209
471
720
168
391
83
437
911
436
465
564
264
164
343
73
143
551
504
386
815
573
79
272
785
385
192
891
664
701
915
883
338
318
957
558
455
251
124
743
988
235
550
437
320
543
741
209
360
184
322
505
494
751
896
825
807
496
906
988
46
940
159
833
365
439
630
784
482
100
811
706
712
414
685
502
684
25
358
14
817
128
514
186
418
529
214
614
86
649
862
281
361
398
341
353
838
55
185
276
11
236
254
975
160
401
215
138
634
895
498
489
913
810
641
398
562
1
651
878
443
491
514
24
937
976
321
540
639
402
631
395
628
482
958
183
223
471
353
148
897
583
934
935
362
686
931
880
18
985
715
989
343
784
971
489
341
483
819
505
595
996
258
395
768
735
535
166
257
770
268
170
205
331
153
183
440
12
522
440
955
220
149
729
130
286
194
802
731
764
751
147
616
704
897
178
938
461
176
627
626
684
747
748
304
239
235
185
80
612
507
425
8
426
130
862
893
424
521
784
954
127
285
438
652
226
460
12
865
913
859
728
410
524
843
149
907
490
868
76
999
521
285
330
264
844
880
730
366
557
60
815
13
832
1
991
588
206
17
131
187
384
977
270
372
180
204
511
621
704
65
807
408
878
899
366
719
825
729
517
450
814
280
919
183
759
453
687
554
387
817
234
296
40
405
424
735
712
753
953
553
155
239
598
425
283
439
413
938
620
295
154
488
690
138
2
416
310
775
715
163
894
678
667
962
806
177
886
980
958
221
962
500
142
796
243
941
714
931
923
660
638
694
720
416
213
627
327
744
427
295
433
235
671
109
493
636
637
740
666
83
428
70
862
169
660
276
853
857
941
516
216
293
295
208
735
332
467
465
590
916
352
67
420
838
511
352
840
540
850
886
721
291
68
767
14
696
334
736
497
619
901
939
727
257
67
972
870
299
774
457
496
273
412
810
69
115
466
388
258
819
109
118
447
366
289
792
979
192
866
105
946
754
2
566
663
531
566
78
424
423
1
96
147
920
573
539
555
112
336
343
191
995
12
759
382
891
719
268
978
939
144
645
406
657
714
156
771
572
656
614
137
809
171
224
301
199
1
697
663
850
565
370
997
3
114
399
234
979
36
250
405
907
444
126
257
278
616
817
573
361
629
953
328
30
790
634
920
196
185
758
3
206
822
503
206
303
265
206
159
490
890
675
85
446
360
934
382
434
157
123
950
21
509
226
961
517
443
430
951
56
921
49
190
530
981
103
648
620
624
859
172
689
881
911
38
43
897
555
447
400
347
791
817
399
174
860
975
235
292
942
342
199
752
457
847
592
485
491
290
263
389
791
392
274
81
789
197
86
489
680
222
150
138
857
691
869
94
658
612
216
231
823
664
903
635
208
999
995
582
857
570
646
554
888
815
613
311
157
558
734
749
626
150
928
488
774
99
6
71
125
9
393
292
544
955
391
2
448
66
20
622
729
775
873
337
985
700
700
594
814
797
698
468
180
573
435
815
984
234
869
644
485
953
85
887
485
326
398
743
507
863
9
627
976
628
702
800
627
587
745
815
532
452
567
677
408
636
512
133
907
161
64
190
122
407
793
678
713
743
672
303
47
988
639
18
53
577
481
453
35
956
482
63
787
565
564
457
634
324
860
250
655
899
984
268
222
89
89
850
978
815
748
472
276
637
830
301
672
545
12
348
650
583
238
255
612
678
742
275
424
159
205
551
428
795
841
708
351
9
847
208
184
168
554
970
237
550
955
763
358
7
681
540
308
982
272
115
206
43
866
474
828
901
792
511
792
766
357
467
566
386
418
191
324
861
436
17
11
588
648
774
683
528
868
113
207
551
322
607
654
822
888
878
880
2
962
143
45
291
76
205
360
612
869
578
219
710
802
297
993
122
845
650
166
78
177
674
168
167
90
391
514
116
914
506
433
546
686
440
577
401
850
122
71
163
120
272
6
929
125
655
990
280
870
601
864
829
472
627
539
385
371
994
100
164
461
102
981
305
196
956
278
136
171
577
192
114
440
545
293
406
581
444
499
548
844
344
191
475
980
750
811
562
970
576
413
229
781
810
987
289
316
479
712
831
144
354
414
513
855
450
910
129
367
273
146
237
770
699
280
536
33
91
132
460
198
463
451
655
870
202
820
376
43
40
253
698
904
458
903
215
966
626
383
517
323
140
909
995
731
111
179
146
784
670
72
809
730
897
69
573
986
329
625
994
266
71
470
648
733
809
750
593
385
406
758
874
199
262
446
594
817
709
550
501
80
515
749
686
835
433
354
238
872
686
34
71
179
735
511
124
762
319
310
175
777
347
973
404
945
935
88
360
682
447
238
566
153
538
484
156
147
474
263
96
983
726
397
508
911
650
522
431
998
537
422
761
553
1
166
869
649
68
889
85
583
891
549
138
583
583
351
599
964
571
244
774
200
173
654
689
749
188
220
684
407
76
575
418
797
626
961
978
498
855
909
612
501
548
92
536
217
414
365
968
61
954
976
682
744
486
732
139
898
56
412
365
729
317
453
264
752
974
698
122
66
572
208
551
19
411
893
112
731
828
482
678
901
94
762
250
626
200
100
474
580
383
775
207
133
42
758
927
877
36
639
532
478
860
264
71
947
637
796
225
210
964
972
740
669
498
578
214
834
876
245
787
476
323
414
770
894
435
863
989
207
35
97
149
578
803
475
986
713
919
773
273
199
566
862
802
274
638
57
222
559
188
101
115
572
681
291
235
895
834
18
276
443
357
898
925
54
676
989
754
566
812
726
607
266
905
367
601
936
766
90
316
479
870
544
671
9
909
402
234
330
534
249
345
118
697
920
472
663
646
507
391
363
199
848
873
564
952
957
557
584
389
579
659
810
85
694
450
91
313
918
418
847
11
134
804
861
650
223
22
946
610
881
0
542
771
282
378
937
519
477
319
220
617
425
267
954
962
419
509
882
357
687
802
418
919
585
631
986
774
249
205
222
317
8
165
441
468
7
751
314
922
786
232
82
88
375
373
957
605
154
450
562
87
484
342
131
110
366
917
339
476
973
373
263
564
149
434
689
519
516
219
231
454
94
424
40
391
609
756
277
801
608
999
768
960
428
468
611
140
444
853
882
362
377
22
211
615
794
190
772
299
545
146
403
472
354
702
88
130
705
856
207
507
899
81
362
216
821
248
695
852
909
608
515
491
203
592
162
214
704
112
442
488
935
186
891
506
113
964
348
194
765
536
158
851
849
956
318
447
731
356
569
532
93
137
59
73
548
416
515
934
64
920
292
441
232
913
36
846
362
270
614
40
833
379
819
538
929
98
705
46
319
984
671
702
226
788
500
571
146
219
674
220
112
461
245
160
913
727
878
479
865
518
30
812
661
790
739
866
492
595
643
713
691
368
302
459
449
423
674
178
102
347
264
28
666
487
821
99
133
778
853
288
173
988
416
161
641
690
409
191
634
123
124
319
865
927
101
509
687
426
609
866
843
589
858
146
453
879
998
133
162
109
887
600
949
510
503
800
509
5
110
846
996
804
167
925
815
150
710
715
820
617
411
974
209
998
607
648
59
949
670
115
515
730
388
470
838
974
871
925
127
260
368
508
447
793
90
191
937
931
794
534
552
759
618
922
872
690
683
9
37
205
596
184
179
936
423
122
708
791
604
378
725
121
368
960
862
776
479
241
180
354
477
401
815
799
179
696
514
836
105
721
871
903
582
348
428
85
730
50
234
609
837
795
365
151
598
773
559
714
131
120
642
878
331
439
142
312
210
897
876
32
263
957
532
863
198
522
767
81
124
373
739
79
477
553
47
136
248
150
818
933
463
264
13
903
291
359
327
52
498
832
987
119
928
241
114
687
609
832
298
589
41
698
60
401
305
256
569
828
460
993
804
448
11
457
991
418
828
232
859
61
51
955
4
335
28
409
189
323
886
113
833
376
805
516
289
53
900
977
751
46
662
104
827
654
952
191
911
187
507
279
894
539
61
698
304
353
56
742
139
489
313
876
882
365
950
8
846
386
423
688
202
982
525
22
626
0
323
787
332
961
826
302
379
906
123
847
373
695
248
301
31
561
672
814
826
487
219
679
504
150
44
714
522
566
763
489
631
892
448
360
47
35
8
46
673
925
994
994
89
908
595
162
698
817
673
46
405
462
402
847
655
999
342
6
435
26
137
148
620
917
75
75
856
247
724
542
747
321
996
84
635
700
828
299
469
795
143
828
360
949
105
315
160
878
739
381
349
967
64
476
398
210
561
849
7
22
993
274
517
31
891
520
772
629
661
4
105
879
439
58
525
987
754
384
330
161
546
887
93
660
964
655
316
428
20
248
182
897
46
11
455
187
331
551
896
959
964
827
475
511
584
189
825
991
676
622
541
517
310
569
730
790
789
450
752
360
873
733
857
537
620
772
859
658
188
736
38
970
576
79
616
913
380
609
796
790
831
287
417
771
632
225
733
326
484
116
273
984
604
641
114
492
329
798
792
866
115
139
603
270
90
293
166
560
467
797
485
782
66
342
968
140
678
849
520
551
516
72
829
475
58
288
367
601
164
974
937
3
780
218
751
367
167
818
921
296
446
663
148
477
47
944
785
151
939
964
636
749
138
910
310
397
288
684
475
628
620
219
257
478
631
650
15
681
138
18
593
288
101
962
615
138
680
283
643
855
295
141
109
541
249
340
465
834
71
817
278
250
50
524
701
746
421
594
755
617
743
43
540
441
398
775
764
445
276
356
166
255
505
604
462
709
751
727
400
831
753
146
34
260
977
222
659
580
539
427
355
914
77
867
764
754
377
292
634
401
961
713
648
77
778
154
676
229
916
207
612
97
535
278
295
977
346
80
605
352
492
92
994
631
201
785
341
570
115
356
402
996
382
747
791
889
664
556
158
822
529
56
367
879
291
142
634
357
145
13
840
921
967
801
251
434
998
984
958
890
530
29
427
958
753
919
111
800
603
925
416
284
369
127
742
366
727
663
882
877
716
111
228
279
474
635
916
806
494
728
718
155
51
894
952
41
582
785
506
392
104
140
129
772
977
671
765
579
6
62
26
416
442
464
342
213
897
756
634
781
915
590
148
932
225
441
894
272
731
214
214
591
926
191
841
841
988
718
322
213
233
11
871
50
151
160
385
449
734
11
614
953
443
655
110
419
580
335
622
673
480
218
253
394
268
184
167
986
188
686
887
249
35
89
841
631
426
683
558
524
479
442
641
312
448
764
955
36
77
520
14
451
424
375
117
125
751
39
484
901
769
986
304
695
251
198
785
574
675
712
64
79
926
432
173
87
638
139
288
716
3
238
969
633
78
589
365
846
315
273
222
171
949
300
597
817
708
26
744
13
529
752
548
459
466
288
237
162
745
219
159
9
855
894
808
39
340
4
525
772
435
59
992
311
313
420
282
612
20
314
371
480
984
364
602
783
381
186
704
770
72
133
229
532
436
404
595
554
738
358
108
853
870
155
552
162
446
817
634
585
774
655
986
414
290
909
782
364
840
364
400
777
441
263
376
353
86
679
94
611
423
873
24
163
745
438
594
922
590
375
676
501
746
930
634
880
933
347
879
765
890
135
172
230
931
515
892
406
779
424
368
522
318
427
879
259
231
477
353
802
65
51
622
828
419
854
479
958
989
213
759
811
81
781
557
193
256
554
698
922
683
181
295
645
704
181
564
614
238
73
755
471
206
949
468
734
272
926
539
989
577
42
443
132
433
301
134
39
646
952
11
458
992
70
386
75
557
610
689
367
443
617
602
254
819
280
769
460
377
778
568
752
70
734
750
657
509
239
843
720
782
130
400
746
564
520
810
96
935
625
184
130
36
317
522
225
451
223
945
578
996
194
508
316
911
169
745
622
967
10
745
457
158
291
13
459
680
625
894
885
463
116
40
745
797
6
247
705
581
715
16
83
76
659
868
328
71
781
77
612
823
610
592
731
504
808
448
234
111
693
544
443
113
621
410
93
646
241
575
315
243
168
734
11
310
480
411
90
434
160
933
986
668
414
722
847
317
697
610
509
765
979
515
504
694
453
359
567
950
513
104
171
365
16
104
396
240
506
354
303
136
974
342
800
482
901
55
862
97
903
8
383
7
916
335
660
165
863
259
362
274
377
884
110
492
215
131
604
125
407
778
83
934
701
997
983
967
341
17
257
608
163
88
627
945
475
414
868
336
897
469
278
364
199
598
142
981
764
816
480
489
934
830
502
541
247
104
964
959
399
779
847
155
823
640
607
669
668
653
240
448
415
979
38
830
614
124
187
975
42
347
315
305
42
513
944
695
291
465
163
18
940
175
591
468
758
613
780
743
422
255
903
115
273
549
114
863
476
577
601
855
338
32
623
195
786
400
929
20
235
951
828
152
588
688
728
497
794
402
664
798
876
638
71
329
368
948
57
877
433
52
763
756
224
54
643
35
406
258
919
298
433
926
972
978
988
942
38
143
139
431
950
827
189
539
89
886
967
750
379
193
966
893
408
439
672
75
221
620
555
533
308
819
767
730
61
114
421
630
252
351
83
806
216
160
503
149
164
247
370
763
643
320
547
884
541
625
659
646
329
752
647
122
211
501
937
235
850
502
255
599
257
380
520
811
13
523
235
162
346
591
27
355
736
816
239
475
897
300
241
773
510
964
283
703
332
863
684
286
228
877
661
673
973
208
285
690
353
580
352
146
18
211
970
495
595
291
328
658
965
505
810
792
328
410
865
938
689
143
271
97
836
76
278
247
747
483
995
717
11
408
731
561
502
619
24
865
786
973
212
194
692
69
814
322
712
465
416
559
997
200
658
481
717
838
113
674
687
101
397
843
966
453
206
841
703
78
144
679
312
61
725
453
653
68
251
915
908
665
957
197
913
299
956
253
65
707
490
350
520
729
866
357
506
35
722
933
847
645
976
390
305
538
865
209
599
980
665
225
476
486
570
925
654
295
531
598
788
626
68
313
990
967
579
82
52
979
436
414
83
83
504
649
298
763
920
88
825
682
46
177
210
746
641
950
283
52
537
149
804
976
485
364
103
287
80
707
140
769
162
945
254
579
207
74
28
307
798
980
674
498
234
997
437
483
427
63
797
324
942
697
492
155
377
593
468
370
642
61
216
846
718
627
829
517
93
226
54
667
401
167
276
793
151
878
106
197
207
100
754
535
874
815
450
973
385
631
504
209
229
872
577
899
192
467
942
867
908
740
232
864
558
148
175
487
822
243
258
756
86
539
166
442
458
534
857
656
852
259
750
507
846
239
426
837
76
318
677
849
924
311
823
415
159
178
123
969
242
388
198
588
415
279
502
211
144
278
293
375
490
336
642
853
716
136
677
914
164
768
205
194
610
178
983
798
429
79
597
161
16
687
351
436
214
120
821
201
7
2
804
457
70
359
490
132
479
392
252
645
773
417
869
241
221
775
268
878
674
727
701
368
554
714
465
950
229
102
133
729
297
403
495
833
280
748
606
348
165
866
549
291
542
571
700
58
725
318
302
311
907
19
276
153
200
888
308
956
568
663
699
351
508
426
376
598
326
150
613
353
748
772
509
529
190
177
460
160
41
19
980
15
750
170
605
200
792
855
834
962
290
162
635
700
212
576
579
685
250
36
118
496
588
886
594
854
870
12
371
720
273
743
447
999
8
712
91
707
862
767
479
401
474
995
283
425
547
174
97
688
918
709
549
463
68
639
218
542
975
267
831
105
751
586
690
637
132
533
623
885
279
892
447
454
104
468
187
581
284
283
784
445
356
883
944
663
751
416
298
292
226
195
749
690
375
965
57
536
497
157
742
37
332
171
35
11
990
195
626
480
243
38
695
161
933
985
591
546
865
842
933
560
900
652
96
578
945
718
702
539
562
383
290
982
808
871
932
537
795
707
85
609
408
74
767
25
804
333
446
96
833
407
372
126
289
452
428
982
26
922
279
659
715
902
939
50
201
905
589
929
93
952
819
380
897
514
645
36
115
532
191
331
182
786
698
15
865
638
188
103
192
860
924
398
643
353
318
695
385
30
36
855
331
66
366
469
483
565
809
537
882
275
351
681
288
584
621
235
518
680
962
329
355
852
689
377
778
225
375
658
749
960
105
961
925
927
761
404
536
639
65
147
627
760
961
735
462
310
329
197
504
660
798
105
340
387
9
982
462
960
461
197
688
950
949
910
340
684
273
949
140
761
860
656
697
319
697
50
965
879
88
382
98
211
7
878
931
329
763
811
688
692
523
380
834
895
894
470
953
679
225
851
131
4
41
434
265
282
700
151
601
422
28
721
359
652
10
489
464
948
670
704
435
900
149
527
616
285
473
723
663
28
24
137
973
75
648
295
678
57
50
990
24
516
173
18
144
764
436
306
840
181
883
543
785
143
271
599
466
769
893
528
840
911
141
114
76
833
842
402
538
236
383
571
32
100
49
37
102
506
990
521
420
378
229
222
587
611
819
290
133
903
994
898
347
287
986
148
752
75
698
65
637
829
72
756
658
666
285
663
697
526
993
84
82
170
426
882
605
969
894
923
3
305
884
978
230
44
666
60
619
944
960
506
13
242
189
617
846
140
101
189
199
485
453
273
39
977
97
474
847
397
166
277
796
562
714
646
203
182
583
402
33
894
824
396
399
711
917
909
956
257
540
116
547
732
481
914
232
273
395
698
744
965
266
25
421
775
624
44
361
653
608
648
507
560
871
473
698
697
487
533
580
397
288
994
186
73
209
273
300
78
440
993
675
719
633
284
512
526
831
973
597
759
207
10
376
297
742
526
196
499
470
208
916
1
155
346
784
868
739
126
106
36
495
518
330
272
751
930
49
417
109
71
68
357
237
151
634
84
945
490
180
191
451
102
63
186
699
741
308
179
161
712
810
882
837
924
925
526
324
829
818
348
347
499
90
610
949
22
729
301
534
410
359
191
441
312
878
13
115
780
823
850
242
665
847
338
374
760
935
621
285
543
464
497
947
261
753
157
383
611
744
122
134
896
225
429
168
619
391
745
598
830
255
97
434
160
747
617
406
621
547
89
699
549
287
3
256
73
223
191
84
456
969
127
234
201
699
952
635
391
501
239
912
743
476
210
100
844
464
76
31
350
492
210
233
207
538
605
156
848
30
244
967
192
667
822
218
396
32
459
247
123
727
374
806
93
403
942
523
874
444
145
847
3
797
260
53
154
538
877
103
831
935
521
536
761
323
644
412
573
683
826
483
309
421
712
661
752
758
881
31
246
5
324
560
169
526
773
867
526
18
254
977
823
3
20
312
275
393
105
503
325
296
308
429
270
339
596
963
164
152
581
586
905
918
518
123
495
342
48
708
240
175
732
889
245
131
249
149
421
134
584
716
988
416
559
500
909
978
488
875
471
552
195
520
802
748
849
897
187
167
193
339
95
788
472
892
116
811
588
411
995
585
228
686
839
656
465
598
964
75
628
404
126
294
561
461
541
887
96
34
674
170
368
927
241
85
956
181
818
608
733
782
580
104
428
142
382
124
827
303
397
126
311
118
698
110
323
52
596
983
535
396
848
640
984
289
55
632
639
343
924
396
270
832
903
570
35
741
768
687
847
190
593
222
726
193
239
353
941
66
58
3
48
939
747
601
988
117
152
168
298
266
877
729
358
893
840
559
648
553
195
967
214
77
369
797
724
693
41
289
139
299
19
899
40
189
623
590
499
342
486
280
281
486
64
722
782
273
243
45
604
352
177
258
551
602
494
219
25
628
818
905
371
71
135
566
569
628
988
18
418
305
221
772
664
471
752
545
766
27
233
870
46
973
858
650
531
151
356
723
32
507
589
849
94
986
984
607
796
999
206
936
279
453
767
949
26
654
217
396
254
389
123
32
704
305
190
998
496
875
354
389
139
712
19
826
992
313
479
316
981
480
223
353
182
976
208
202
554
801
813
561
181
114
325
29
670
670
794
718
825
395
125
318
576
3
763
167
540
536
650
411
660
843
264
156
839
848
180
896
548
298
760
915
949
143
449
836
647
67
6
680
229
921
569
135
726
686
901
293
383
579
182
642
47
536
887
729
316
878
866
33
821
923
137
52
702
194
741
79
429
692
706
874
870
487
681
66
371
423
397
685
86
964
124
532
487
73
662
247
807
191
117
518
341
61
840
563
924
906
100
963
520
836
855
823
898
340
346
696
845
554
145
449
370
74
21
552
294
725
235
155
78
524
251
584
767
888
326
214
304
970
363
80
938
176
739
526
497
943
794
458
798
224
978
461
29
588
221
688
893
533
754
800
786
576
343
994
454
993
54
112
617
774
886
561
957
342
38
743
885
161
992
880
607
780
839
90
42
898
321
943
277
673
721
957
474
692
462
677
434
776
369
296
518
838
233
491
51
436
900
809
178
615
729
278
850
390
315
908
203
865
789
918
13
451
62
231
966
164
155
267
443
82
190
535
260
147
984
12
386
168
125
217
28
411
288
979
190
883
568
51
306
867
567
450
350
516
780
510
732
86
412
570
388
690
950
389
299
241
309
332
528
563
681
900
551
384
386
773
735
54
787
299
181
417
503
246
129
590
155
462
459
483
812
869
979
833
162
10
528
800
569
548
593
401
364
869
411
196
780
285
270
536
268
618
449
599
490
653
810
697
275
100
652
934
990
365
276
987
53
619
132
880
752
15
973
469
303
573
630
928
463
354
501
21
253
651
228
866
29
50
220
346
804
165
728
809
474
438
665
451
126
152
129
850
791
233
703
924
886
378
201
110
541
282
462
464
363
850
635
885
436
674
890
906
758
937
415
721
353
195
626
877
59
746
392
251
778
595
787
693
90
441
228
475
810
248
301
175
821
828
623
70
88
578
969
191
231
905
133
393
73
711
55
496
461
93
943
376
114
286
701
473
894
976
865
431
484
254
891
246
717
431
274
467
353
957
373
421
244
16
192
271
33
177
427
22
999
525
59
41
786
248
785
498
986
181
805
454
829
13
762
521
637
9
525
587
648
375
625
944
453
30
638
920
812
574
854
785
543
310
815
491
145
725
58
542
87
771
558
876
712
107
935
850
785
695
980
736
856
753
755
318
868
846
359
453
981
313
573
57
881
192
969
625
866
454
811
927
65
55
73
37
532
169
784
79
380
586
349
454
261
278
942
559
909
171
895
985
63
482
305
277
750
742
6
463
846
778
448
199
956
624
515
472
725
417
902
809
588
833
484
362
571
660
65
448
850
832
796
29
719
585
13
674
245
939
462
1
760
774
604
930
943
882
870
835
619
486
472
8
616
134
170
976
971
185
219
321
417
32
163
222
703
148
160
917
184
910
285
374
848
646
656
347
123
426
355
904
569
81
28
858
498
364
497
608
872
202
386
32
114
401
990
612
579
49
998
238
778
820
350
272
569
892
327
804
399
399
287
16
689
641
375
128
325
561
706
607
761
415
685
537
412
688
87
863
954
821
690
365
899
857
50
550
123
650
684
706
1
996
287
801
515
395
178
105
825
84
777
16
897
852
978
841
759
820
334
552
105
153
336
640
536
669
342
91
129
884
281
745
364
290
86
216
262
103
644
256
771
836
185
614
894
478
552
586
357
827
888
577
390
502
871
268
978
486
468
24
785
870
926
423
828
607
649
643
293
516
890
798
184
953
268
683
106
721
18
35
479
712
276
127
670
736
489
629
807
677
253
283
636
58
721
445
12
21
381
826
568
599
410
276
207
972
339
271
937
25
734
343
795
642
923
602
39
748
637
300
103
360
146
941
196
188
966
805
879
625
98
974
904
175
562
482
704
859
713
896
314
546
271
156
934
542
981
102
530
885
631
494
403
302
402
437
33
878
111
601
735
43
309
23
667
613
954
324
13
138
452
958
15
950
380
670
195
930
215
569
164
136
34
152
340
975
61
263
456
447
143
152
35
303
798
48
641
757
736
792
585
801
916
444
157
916
682
832
398
16
731
774
265
620
493
911
642
299
457
140
928
382
464
428
596
119
737
408
540
525
577
230
232
490
228
83
117
840
440
818
286
206
603
355
211
84
376
25
588
295
821
799
285
538
985
269
383
53
720
866
659
856
536
598
382
93
692
151
584
691
942
901
559
85
382
8
16
843
460
551
328
303
507
110
916
629
234
325
935
484
683
600
866
758
518
970
992
581
568
719
976
686
684
510
49
482
315
413
393
96
856
118
210
394
762
849
407
9
878
743
380
226
324
606
581
370
975
541
847
95
831
644
891
615
442
766
429
11
503
630
870
877
914
930
522
337
42
507
318
911
493
800
161
951
288
3
932
104
392
543
789
620
944
173
559
630
778
986
104
578
271
598
903
95
883
457
893
455
555
799
687
715
292
247
248
481
798
753
335
387
912
813
328
86
581
581
288
531
356
726
250
240
858
19
279
864
580
285
73
718
25
98
775
634
242
371
910
945
36
131
995
2
294
830
134
950
625
697
988
287
312
54
925
179
875
255
90
54
122
965
119
280
294
689
409
66
779
725
998
752
338
396
769
366
74
415
305
794
145
763
335
775
835
514
834
341
400
643
143
359
267
675
478
131
124
828
863
413
711
753
773
592
255
434
458
351
557
120
543
693
500
90
942
873
720
47
969
344
435
86
360
228
28
878
444
643
503
584
489
30
886
895
214
522
256
92
73
693
508
564
753
717
39
102
666
811
106
224
615
752
108
200
834
275
705
462
583
518
641
518
104
579
334
973
32
10
415
10
1
785
245
486
589
438
788
998
625
622
956
340
647
156
660
281
61
433
828
323
606
342
653
658
281
581
661
467
418
106
449
939
102
379
734
471
327
764
330
824
441
874
183
49
98
39
745
552
48
468
470
349
620
524
659
400
907
88
755
271
468
910
443
282
381
877
25
310
735
301
585
750
243
138
38
685
483
833
2
975
418
702
632
11
32
271
905
464
312
359
650
577
868
743
166
225
559
805
800
71
220
663
509
955
276
549
961
935
624
353
157
61
742
938
740
321
907
364
882
141
369
142
75
765
877
515
962
288
111
540
169
712
781
122
97
12
806
149
122
827
997
629
568
263
751
320
435
338
583
32
322
52
648
799
57
662
191
962
56
47
203
419
392
234
515
738
613
628
517
969
592
328
553
2
335
507
408
959
316
698
654
921
36
403
960
542
589
478
672
688
273
718
287
53
19
271
929
572
630
564
913
11
838
187
834
452
185
290
813
424
729
489
876
231
27
607
946
968
409
420
306
301
724
7
435
317
405
241
650
167
792
301
310
43
597
957
763
337
27
840
886
875
200
334
107
726
269
865
918
827
564
100
545
490
137
429
858
152
428
670
353
552
939
619
511
373
141
561
959
62
355
49
91
457
957
96
438
48
578
530
690
560
343
229
524
559
788
726
376
986
115
248
614
51
397
719
885
623
64
561
288
174
82
847
103
360
767
95
646
28
258
70
22
314
921
871
231
569
826
373
311
855
573
760
217
684
114
222
964
90
214
893
705
689
812
485
265
260
128
799
618
233
476
740
124
891
693
240
359
889
462
526
319
313
836
955
25
526
984
635
556
240
275
418
411
907
725
124
993
441
861
757
327
211
525
137
707
273
487
261
122
201
445
125
242
271
261
382
56
708
159
201
196
554
405
532
183
399
902
898
343
206
750
152
587
120
974
947
448
550
298
541
329
591
334
682
869
605
269
232
705
172
407
191
175
264
30
414
186
424
182
279
650
454
945
331
163
122
32
951
967
150
657
723
521
871
177
477
464
31
60
910
138
44
997
211
460
703
744
21
431
214
853
135
552
711
528
801
805
782
991
498
872
543
34
711
875
786
128
155
445
641
975
168
106
324
918
235
137
345
28
827
869
108
357
436
150
873
562
342
384
824
489
813
478
921
660
67
328
885
795
455
896
985
766
446
264
727
0
293
543
309
226
489
683
319
548
80
628
296
768
796
926
127
756
393
75
149
32
258
735
109
427
830
681
109
698
893
83
114
172
415
375
864
501
580
491
729
691
29
577
787
414
614
142
635
9
304
892
26
11
986
253
863
423
497
368
289
807
644
940
571
648
344
898
619
272
88
303
684
124
334
426
814
834
28
684
50
847
471
760
956
980
462
472
828
314
362
725
284
529
83
726
886
501
762
721
321
626
991
838
683
387
817
72
561
810
426
380
403
144
748
749
809
527
605
601
639
691
292
572
361
827
30
360
40
536
56
464
535
106
509
681
446
593
294
546
898
181
373
216
875
874
661
506
295
564
407
338
297
23
466
839
576
350
979
311
52
933
974
756
207
502
855
594
183
713
445
42
786
171
887
134
126
470
980
445
244
97
137
432
48
55
715
606
146
115
642
863
309
819
166
292
500
396
943
354
114
243
244
153
397
529
624
252
668
38
536
464
106
289
423
552
127
443
475
869
270
147
356
18
651
362
240
262
914
688
533
422
679
56
589
817
328
330
89
296
749
283
516
432
123
569
804
923
564
376
150
168
684
519
730
674
38
629
404
511
684
28
795
862
822
800
61
515
128
514
520
808
529
441
190
592
457
745
45
185
889
314
589
364
217
637
2
427
547
904
590
129
844
922
266
697
386
985
262
242
549
924
990
883
647
862
684
763
478
525
335
620
424
653
895
370
924
933
121
730
488
84
394
992
944
570
136
647
930
964
881
823
948
109
350
555
333
718
260
813
280
697
956
185
188
749
640
956
497
725
719
531
259
469
615
639
608
66
797
453
582
815
195
217
701
734
741
838
336
508
290
417
956
504
57
551
195
339
885
214
106
947
92
630
141
438
173
777
904
615
166
623
660
729
125
156
579
554
389
234
188
614
262
267
400
263
292
208
838
453
682
221
937
882
635
890
9
956
656
876
69
148
595
624
753
824
921
42
839
842
839
747
671
848
479
327
412
436
75
377
64
345
105
226
667
845
613
510
396
913
807
281
152
476
271
994
746
450
135
944
224
218
563
822
600
501
780
225
149
506
924
832
19
761
446
805
535
492
26
147
959
21
127
588
602
896
643
622
49
172
992
380
356
20
333
313
772
324
882
554
238
218
343
885
962
942
707
14
485
854
412
970
591
732
662
579
323
893
84
616
287
134
691
584
307
927
425
726
889
525
566
699
617
423
87
367
529
326
815
576
208
304
587
354
841
911
87
611
802
542
855
637
246
497
214
153
857
909
81
121
572
578
832
447
823
707
881
69
400
908
902
870
467
253
584
296
605
311
359
181
831
183
246
903
819
804
354
358
308
338
895
343
395
732
512
204
452
880
686
277
383
497
190
965
889
157
393
965
122
982
644
362
868
336
737
150
378
588
835
369
503
648
422
477
970
983
423
824
927
789
407
899
865
130
756
281
650
775
165
336
153
191
513
62
215
896
246
249
660
10
383
419
393
711
121
541
703
493
689
174
11
584
964
115
163
578
647
864
827
230
750
357
240
687
451
887
614
181
574
668
988
803
45
199
306
617
605
940
846
233
214
58
213
45
258
696
98
710
594
865
279
880
806
148
134
842
44
861
103
596
105
26
622
749
926
685
121
686
460
17
723
941
367
230
908
319
297
769
414
601
832
312
164
437
462
388
82
967
849
870
191
577
403
773
919
238
859
42
937
400
278
675
180
283
122
84
15
156
30
659
233
64
565
616
504
224
468
531
30
946
504
776
186
543
702
883
664
623
812
357
128
569
693
704
190
737
944
436
409
131
842
670
9
289
351
354
192
988
937
218
612
616
359
735
547
610
277
316
550
211
301
36
389
795
407
171
888
438
919
648
438
528
970
519
620
329
312
745
236
678
496
979
485
559
688
663
502
586
546
970
838
992
577
384
213
642
144
626
169
992
931
96
638
657
278
402
248
530
699
767
554
50
587
439
761
600
994
518
686
371
106
368
539
211
130
749
834
508
552
988
531
618
175
984
215
698
399
448
114
611
534
555
776
711
452
445
809
924
570
309
173
285
640
876
502
602
658
41
744
448
35
123
107
674
381
898
426
449
449
569
442
445
800
787
453
401
109
14
788
835
803
3
225
46
690
782
361
448
284
274
50
550
636
823
168
528
777
500
28
733
704
638
911
970
245
262
734
937
158
893
834
389
45
935
561
947
923
436
892
441
942
816
129
157
634
438
544
572
920
892
428
492
248
601
85
347
868
16
160
734
981
36
471
200
359
526
760
970
801
198
906
817
699
216
579
127
360
777
893
790
275
703
219
171
478
703
59
434
423
368
852
896
132
168
455
753
542
725
572
296
930
464
903
366
272
399
93
213
283
126
124
118
45
704
519
475
656
469
976
459
496
792
317
254
542
871
529
92
234
862
855
293
700
990
954
71
524
884
219
108
818
787
351
743
54
102
641
501
849
430
567
302
582
357
820
474
389
13
811
187
703
860
544
336
906
283
901
624
498
852
135
368
147
380
426
584
767
215
489
720
536
987
189
202
993
93
885
504
844
968
709
26
592
239
137
708
717
912
502
441
511
422
343
68
578
104
449
464
597
216
426
627
929
864
997
322
489
238
249
711
253
352
91
878
238
644
49
565
527
553
437
902
585
335
178
452
220
85
746
431
166
827
470
51
118
707
609
803
942
386
309
881
393
548
780
510
349
809
829
304
318
402
125
477
578
723
489
436
987
948
96
843
571
322
304
627
369
639
299
329
757
802
793
719
829
920
726
289
488
359
779
179
314
416
34
357
818
430
883
993
148
290
276
283
414
586
245
590
267
949
760
825
879
242
835
224
5
347
298
836
695
350
524
340
893
669
947
628
931
902
839
822
757
661
283
296
75
551
375
933
192
281
861
839
554
29
545
728
794
2
19
110
401
415
295
642
552
584
778
463
778
561
890
271
123
989
170
980
890
357
359
331
472
318
917
167
826
448
238
567
655
724
422
232
753
208
442
21
971
804
799
158
897
564
363
336
382
164
121
341
755
35
543
283
863
902
74
762
282
868
455
205
861
73
731
816
364
3
777
282
650
538
373
701
852
918
719
902
48
135
705
137
845
446
600
482
633
108
750
849
752
634
401
759
370
700
506
68
119
968
935
166
424
718
486
6
671
550
503
888
405
927
938
164
997
260
166
741
401
81
635
511
346
960
424
99
901
910
254
476
251
122
549
253
168
368
686
297
129
277
143
992
45
777
220
957
54
397
946
525
157
598
122
837
155
367
320
458
967
593
805
455
48
768
960
344
635
159
542
275
84
962
925
60
878
527
819
959
816
443
245
99
22
537
976
152
952
923
457
842
600
485
385
314
861
428
446
422
435
531
758
806
969
590
135
374
51
317
598
46
409
127
192
449
26
277
86
690
155
286
531
546
331
648
452
608
967
223
160
952
355
325
479
574
938
501
252
130
464
505
485
731
188
247
469
953
356
116
763
798
52
64
308
841
800
454
197
877
206
161
803
691
41
594
558
15
229
436
740
136
144
835
118
988
678
862
863
255
679
660
737
375
71
333
934
907
371
412
713
723
733
267
586
641
633
466
862
586
261
541
953
531
320
4
781
713
888
660
888
785
70
971
34
605
822
511
602
174
824
425
731
911
552
744
651
154
921
971
519
272
509
170
605
442
898
550
384
126
328
908
455
212
821
133
300
55
898
88
445
748
18
483
799
696
302
923
467
670
46
564
846
160
869
448
904
740
340
827
34
943
101
901
321
30
553
387
246
836
79
372
82
707
184
617
149
58
193
183
277
357
690
637
411
332
174
963
296
211
452
486
977
713
659
445
484
307
264
737
355
100
945
643
244
667
883
966
877
472
217
988
25
518
740
520
174
953
635
731
312
608
787
618
358
54
60
396
831
249
270
935
279
634
651
13
567
667
891
133
269
8
679
589
897
457
896
824
897
638
433
32
490
39
489
329
437
146
629
663
769
343
836
822
711
772
684
591
543
362
467
681
450
979
668
912
400
463
260
609
444
768
130
242
315
692
764
990
423
775
614
962
333
698
534
30
888
415
47
240
913
206
405
992
809
914
101
964
290
757
548
104
914
126
955
641
313
594
173
110
637
154
179
203
12
156
518
292
306
731
123
336
955
851
281
187
109
906
496
922
687
489
36
171
321
556
117
995
415
511
600
96
292
358
834
914
724
813
686
67
709
826
286
157
385
799
838
581
986
105
193
541
342
246
230
990
327
148
696
84
838
292
629
363
494
897
214
545
684
818
603
980
805
52
583
938
106
224
138
985
67
789
522
332
352
336
31
270
597
363
186
56
92
856
704
83
529
494
19
495
377
862
573
56
707
257
103
45
528
937
524
353
959
832
46
834
589
952
241
394
624
945
132
566
390
947
633
681
605
228
931
904
79
631
885
461
670
227
96
183
626
327
541
880
286
967
391
609
806
712
975
314
566
591
255
155
105
994
478
456
431
474
811
997
555
251
143
627
636
187
318
590
68
351
170
954
698
230
475
778
218
365
604
897
137
779
306
158
821
877
530
794
284
822
936
899
816
958
253
261
479
406
299
572
939
245
12
649
870
679
180
276
186
235
323
232
536
912
774
201
492
555
548
339
397
9
597
104
305
554
668
954
317
880
11
611
589
382
771
973
237
400
924
24
865
182
980
5
296
528
850
684
125
172
518
469
602
107
960
720
770
587
726
36
174
325
857
676
861
534
81
852
776
844
232
582
982
822
180
576
862
604
937
861
509
200
805
609
560
254
662
282
410
721
591
62
599
379
543
839
814
591
999
405
807
675
718
697
163
674
585
949
214
629
620
939
784
250
118
81
185
731
534
558
441
322
164
213
314
940
223
418
547
136
493
597
862
57
548
821
729
621
885
476
425
368
856
370
396
968
288
498
861
738
863
539
488
757
393
806
126
581
28
135
191
297
881
334
781
241
6
670
410
467
74
199
290
147
239
39
603
227
286
692
607
94
713
676
903
975
973
318
730
259
196
769
201
364
601
957
345
242
99
228
759
450
308
902
941
167
436
235
82
741
539
127
988
125
37
331
644
572
48
637
891
760
455
564
773
884
653
970
275
871
447
507
226
197
724
183
162
551
256
381
273
654
341
374
944
309
688
608
661
573
72
658
217
354
116
860
472
423
254
311
280
807
325
77
585
178
731
952
73
498
46
787
968
422
492
113
934
734
758
172
280
676
91
843
45
385
37
389
260
501
250
464
484
257
379
799
355
420
50
727
621
898
582
389
304
910
303
362
100
207
769
123
788
141
136
237
685
452
500
56
129
111
272
548
462
272
948
759
570
930
445
17
832
99
41
900
712
298
354
743
679
703
175
487
425
884
403
192
252
686
912
352
710
339
778
769
14
907
587
865
832
749
919
939
252
824
963
636
510
775
751
437
538
565
629
178
639
461
553
370
714
106
545
595
308
445
883
91
117
318
408
924
826
735
558
90
606
240
783
828
745
83
575
606
825
407
400
391
90
924
182
238
778
906
403
140
876
104
532
895
929
410
529
397
688
829
658
616
143
816
766
106
792
741
324
923
144
55
99
236
82
451
475
976
606
863
947
244
693
257
861
91
0
827
7
681
660
310
871
927
926
308
408
944
952
894
669
755
98
307
560
913
118
102
411
440
524
188
207
576
384
833
598
963
149
918
538
35
868
980
800
540
777
928
655
508
924
95
888
511
247
694
277
27
629
767
346
719
38
643
941
71
913
34
312
173
287
666
668
274
864
190
607
832
591
444
427
220
349
45
801
731
62
230
128
367
106
713
317
395
937
76
57
798
227
369
148
774
783
508
486
544
990
154
777
563
593
290
533
428
876
786
829
411
379
189
123
623
290
397
164
538
343
725
10
354
426
466
263
407
863
895
490
556
672
623
579
203
784
593
249
821
283
389
642
282
705
601
152
461
955
647
903
226
660
848
213
108
384
905
558
861
384
546
916
217
719
679
157
126
575
529
792
730
396
505
130
304
190
920
937
47
442
412
33
480
591
576
711
125
382
162
905
61
523
92
216
927
251
234
260
272
449
789
961
206
499
937
91
97
594
577
136
550
756
967
748
523
633
70
419
68
474
782
860
868
433
891
547
12
118
539
83
49
485
55
655
500
578
93
283
701
103
876
623
667
805
971
720
877
970
779
896
782
665
147
754
393
853
866
224
942
380
246
493
868
197
111
448
272
560
448
384
227
477
65
948
605
350
590
259
109
619
889
4
250
395
780
215
127
195
727
20
458
340
709
891
563
764
181
567
436
788
476
94
717
218
736
353
316
684
590
896
997
735
912
890
394
288
598
504
917
268
622
121
242
386
484
182
407
927
674
392
940
740
135
874
987
365
123
469
351
638
150
41
153
516
876
123
793
614
252
385
665
941
636
852
580
729
279
857
232
628
420
166
100
428
774
608
885
552
196
821
557
50
88
241
440
855
980
469
11
247
824
238
240
845
560
143
730
182
696
402
829
635
716
462
429
964
39
862
235
857
551
461
299
117
158
11
983
616
328
893
937
768
223
858
54
733
54
227
179
246
185
72
544
258
254
355
96
385
60
9
583
544
834
711
226
611
204
760
370
498
232
832
560
67
966
931
614
749
791
100
796
931
352
731
935
962
132
405
842
495
798
31
544
769
600
18
309
851
206
300
86
200
513
626
31
480
903
553
642
737
560
850
557
497
874
40
670
928
530
450
922
983
470
576
867
852
928
504
207
430
268
739
467
624
28
928
204
931
447
91
769
857
419
153
140
160
662
442
312
289
149
27
697
535
486
382
515
831
291
699
225
550
332
894
390
825
412
924
756
629
897
662
995
552
332
720
753
484
492
582
942
557
290
188
276
522
197
381
156
111
742
538
980
578
163
83
808
419
170
252
302
879
13
38
794
321
942
917
300
884
210
634
103
780
462
179
471
952
410
270
447
415
419
63
999
325
569
325
764
806
424
738
658
353
35
338
925
658
318
224
416
483
138
753
881
947
797
649
163
354
361
909
15
499
636
660
746
653
903
725
700
420
1
425
224
398
290
664
799
212
499
249
295
189
712
753
636
74
163
960
114
348
1
550
451
710
67
479
418
459
662
17
67
938
140
597
668
24
141
17
9
663
679
524
798
494
759
385
139
834
132
499
427
915
912
534
836
394
614
875
751
991
145
549
545
901
891
40
462
256
946
825
867
199
934
794
678
246
583
245
954
604
562
797
309
197
758
795
822
804
130
502
170
57
476
537
570
545
318
865
687
977
302
993
420
707
723
667
842
618
876
382
244
678
111
264
129
258
360
977
504
15
621
863
738
493
871
218
719
188
221
507
122
48
900
945
700
955
382
18
87
400
281
555
375
524
31
747
169
535
18
290
477
159
201
633
607
787
983
853
845
8
438
321
597
174
792
824
324
195
233
91
710
798
963
381
308
436
699
427
760
372
73
514
917
759
298
317
973
844
587
524
613
522
771
702
98
541
537
223
657
122
475
312
778
77
557
755
273
121
640
780
520
645
59
525
714
470
368
618
139
655
984
272
591
293
585
33
615
40
296
729
495
122
537
633
982
215
986
282
831
308
216
36
385
91
245
204
255
902
288
555
859
562
899
95
388
707
67
488
152
945
29
638
397
376
772
173
174
495
270
344
257
633
714
136
249
131
108
820
333
508
40
727
628
555
279
956
738
430
870
820
915
491
316
899
86
504
316
168
234
839
668
788
281
653
533
583
515
198
899
719
399
771
242
894
926
364
936
200
438
217
180
512
746
773
648
248
934
714
317
349
133
644
681
887
59
830
509
197
221
179
633
84
827
96
390
157
863
513
60
628
480
173
287
379
791
428
394
552
866
799
568
101
16
752
704
863
169
518
735
902
504
658
396
663
35
229
92
0
785
135
942
931
195
670
687
184
322
166
238
787
160
134
796
313
89
768
28
375
612
446
954
577
338
948
307
183
191
17
535
408
622
936
87
744
584
151
295
109
605
262
630
504
917
180
648
265
714
135
65
35
500
684
728
880
471
788
226
404
66
380
198
792
790
116
570
304
118
139
370
78
446
432
52
980
96
122
423
129
215
150
254
869
100
778
534
423
682
90
747
789
389
794
274
791
337
55
308
396
630
634
410
337
147
269
570
947
821
739
31
877
217
797
899
349
691
570
218
626
82
238
156
965
977
69
470
434
706
902
106
251
35
241
23
946
243
538
482
68
577
847
196
498
239
75
125
633
216
207
662
336
942
583
476
6
139
518
974
139
572
80
455
404
646
289
145
426
121
182
7
554
268
125
143
80
155
639
727
66
88
966
591
115
944
205
547
69
606
806
102
276
572
391
645
650
831
466
153
173
765
145
853
90
158
256
485
944
599
904
80
715
333
456
810
708
787
24
522
258
818
635
274
510
704
83
264
884
31
483
554
923
675
657
217
984
579
72
396
49
693
279
573
295
28
274
582
724
155
198
852
474
142
775
826
150
713
37
25
282
637
235
49
131
299
33
617
611
140
673
877
773
205
325
466
784
537
802
191
560
134
277
583
178
854
307
589
176
399
528
560
324
55
853
196
341
400
220
933
490
80
139
903
224
933
849
445
445
829
472
502
429
555
811
52
673
592
227
223
5
243
211
428
283
375
292
456
601
415
732
25
224
902
624
457
141
231
337
269
41
772
946
21
52
302
457
494
1
316
334
999
953
610
644
954
296
352
574
833
240
679
89
962
942
606
388
223
494
880
58
98
339
495
271
743
808
889
123
594
666
495
307
199
945
610
331
772
642
928
805
753
255
682
560
159
321
17
410
318
689
86
408
579
465
963
903
255
911
721
963
300
914
884
65
360
935
830
431
314
286
358
850
908
114
668
208
628
306
733
460
55
522
792
905
798
839
453
300
166
706
999
528
684
731
836
100
27
560
226
913
202
427
449
176
394
366
986
688
486
16
788
305
27
934
227
478
543
733
513
890
537
124
692
9
847
286
772
844
621
115
858
530
899
864
703
24
771
659
648
245
169
404
956
575
218
981
933
873
785
636
855
154
913
491
847
416
754
449
390
34
59
821
108
359
998
579
943
78
937
699
151
900
889
956
780
886
939
840
549
55
134
413
288
237
43
443
117
201
526
819
741
4
449
578
66
803
866
797
963
172
691
991
188
653
826
840
283
410
594
444
718
768
302
124
32
865
494
311
585
801
389
499
860
514
666
869
291
789
44
892
834
886
656
747
375
173
827
281
913
552
355
761
301
315
895
275
503
686
352
494
813
755
905
290
737
857
351
29
147
45
773
93
168
578
852
759
649
273
986
882
897
999
586
173
972
713
330
102
274
140
357
643
984
162
190
131
316
309
197
416
483
560
531
124
188
250
346
353
989
869
881
834
647
706
196
366
794
447
107
171
26
652
222
455
296
441
568
371
98
34
791
670
805
717
319
840
761
115
773
208
943
798
313
562
807
983
608
369
73
742
889
66
339
42
722
525
351
638
411
299
361
813
996
415
660
604
30
585
885
338
209
387
535
528
351
335
322
266
16
646
65
852
122
363
146
279
741
748
844
450
308
256
319
121
564
644
970
744
196
263
239
348
565
807
18
102
278
283
501
105
418
212
542
872
525
57
360
964
833
83
276
623
899
929
269
994
799
806
99
937
331
826
362
407
836
129
214
291
87
516
940
33
748
604
925
889
618
144
674
81
478
610
822
793
896
343
411
463
895
448
671
314
384
543
888
148
959
919
165
161
451
484
445
588
568
936
231
417
181
307
309
789
240
981
99
83
393
519
931
808
676
664
735
299
640
382
929
77
892
132
245
759
283
847
759
629
687
663
593
960
340
220
398
767
630
745
74
724
224
488
636
489
726
30
26
926
944
500
802
905
685
42
45
571
715
147
238
504
596
435
515
118
716
168
29
11
602
282
306
503
266
553
526
278
203
200
228
687
641
27
949
361
306
196
91
984
695
686
11
362
187
966
714
24
675
894
264
789
363
936
579
496
819
851
22
331
965
277
592
741
426
613
579
63
569
390
781
155
699
714
104
957
371
38
530
492
681
887
454
816
367
240
411
128
218
971
584
620
896
901
945
951
998
735
401
948
68
935
690
93
129
631
629
719
680
451
711
598
259
119
937
773
605
40
90
403
638
16
216
155
810
567
232
281
142
859
621
354
506
558
921
217
247
455
961
74
719
856
470
116
263
53
162
600
620
775
316
56
259
471
431
321
218
933
701
513
963
720
750
718
111
889
259
419
892
829
686
677
931
356
547
348
256
728
650
450
410
235
461
495
873
215
413
464
981
900
583
339
507
962
414
720
213
616
79
913
528
497
74
826
768
234
827
774
473
688
498
966
592
331
979
718
163
600
541
21
696
767
762
168
63
210
824
555
824
124
27
105
579
444
843
865
312
70
325
334
218
397
130
519
209
518
145
730
260
123
526
706
765
140
651
345
847
573
756
509
185
535
73
699
253
67
346
376
352
89
439
522
656
594
676
436
917
955
864
456
152
773
20
205
757
474
27
483
736
903
563
274
841
198
39
762
107
860
899
830
205
456
815
388
49
418
252
521
193
230
835
969
990
386
294
45
543
602
402
44
704
947
713
578
305
178
177
948
80
216
957
47
782
474
807
641
515
564
343
734
834
365
94
322
478
912
541
785
551
313
299
962
613
610
272
936
305
19
758
263
349
227
388
332
711
977
731
840
552
727
483
656
289
378
816
68
304
647
833
688
473
417
254
878
548
125
330
175
370
101
764
320
55
509
193
925
563
285
919
302
646
391
383
814
283
147
235
131
661
654
86
779
900
381
253
570
945
633
515
384
443
252
201
343
286
390
395
577
697
238
344
859
751
584
257
107
786
487
807
204
535
600
318
305
431
173
494
919
103
725
459
918
5
315
22
109
966
493
214
902
835
547
773
31
762
691
950
270
873
382
419
103
7
700
973
769
357
420
761
479
805
48
205
183
880
224
994
965
203
665
566
65
139
104
583
188
847
609
305
652
353
498
332
98
963
96
313
654
762
414
848
430
888
20
74
548
966
626
88
808
645
787
552
935
887
124
250
518
4
960
397
861
650
788
170
936
740
442
146
361
348
635
720
150
797
699
745
739
590
828
641
886
410
732
510
726
901
748
629
260
344
667
337
958
457
270
239
334
769
957
644
105
375
54
755
404
803
270
143
692
373
866
726
76
364
832
205
719
898
135
72
641
860
119
969
954
784
426
955
894
408
473
433
283
939
388
229
914
30
806
235
531
844
730
314
592
872
813
235
195
311
335
116
842
542
420
134
440
874
700
979
763
715
525
535
757
558
735
627
661
40
254
676
166
809
811
192
671
470
933
907
74
11
922
208
281
641
798
389
814
782
354
603
766
670
880
647
849
735
602
475
778
393
187
431
783
593
0
422
542
407
98
164
100
15
578
884
896
780
252
354
76
805
942
779
978
969
775
296
543
981
941
231
259
810
286
19
13
517
755
378
249
213
182
832
175
271
387
237
676
791
61
749
813
934
365
476
267
65
630
325
805
149
177
150
469
900
262
354
524
736
189
412
980
965
330
63
291
442
196
923
137
304
924
426
977
318
450
797
764
767
423
806
792
569
272
74
493
399
901
345
130
527
972
682
206
49
373
780
471
218
681
56
249
286
911
271
276
820
274
766
964
36
118
700
520
678
43
6
932
183
537
103
133
399
882
216
829
367
179
824
522
622
757
964
60
345
131
183
511
899
590
896
226
91
474
968
469
519
831
621
405
81
230
44
638
921
852
778
860
56
219
667
747
386
575
51
750
604
399
607
209
401
196
534
212
160
339
549
56
495
242
440
633
491
910
618
317
934
517
556
322
538
538
882
243
543
696
496
774
819
879
492
667
943
876
638
575
79
974
550
793
562
825
532
238
261
75
531
771
282
462
353
214
15
720
443
336
355
292
301
251
577
342
385
899
45
732
704
150
106
76
766
379
394
121
706
85
483
739
145
266
174
915
270
475
695
828
302
968
541
203
753
750
615
845
17
887
479
551
159
944
249
452
810
517
19
476
838
812
136
169
366
840
326
214
952
906
583
21
51
389
901
807
871
500
43
101
950
886
106
304
688
901
667
442
560
118
14
903
998
228
595
201
473
643
347
96
426
812
381
90
0
228
754
254
961
467
629
534
407
473
504
543
794
671
44
173
391
180
638
700
851
363
990
45
583
250
767
648
323
335
35
195
749
978
103
736
422
651
401
607
898
386
435
125
452
711
286
614
468
502
957
396
431
796
431
238
756
906
484
696
215
491
560
796
797
862
215
840
698
33
175
756
598
629
574
659
255
223
292
672
596
958
576
612
777
889
974
210
191
618
509
388
98
133
555
955
522
149
709
229
310
328
349
767
675
937
758
362
250
729
709
158
862
58
950
938
612
925
458
478
418
768
204
131
784
540
28
184
280
174
710
757
529
258
794
637
181
718
202
402
0
522
528
265
938
276
150
681
636
286
503
651
703
748
766
531
15
948
59
593
826
131
771
355
943
519
461
831
859
33
591
195
635
136
391
499
830
405
48
273
966
782
368
327
71
968
96
568
625
482
115
129
165
603
716
986
121
50
348
603
741
379
871
649
106
887
955
583
36
996
951
823
607
618
686
32
315
651
492
219
644
432
759
674
346
31
181
449
492
27
783
307
213
152
801
582
264
291
951
947
122
297
659
198
287
921
334
698
218
766
741
828
84
796
108
502
17
611
875
575
898
140
223
953
620
684
48
381
881
446
979
165
322
104
937
328
879
140
917
36
682
747
558
756
408
760
134
281
683
718
311
992
492
40
60
417
300
53
615
628
828
582
653
517
336
259
553
709
109
651
995
568
359
728
997
499
512
625
929
16
704
461
388
418
312
308
894
666
396
681
976
361
344
124
864
152
791
793
613
335
945
651
140
708
621
289
838
899
753
862
946
550
616
363
25
633
181
782
607
853
989
732
773
719
488
833
77
874
736
888
797
206
208
771
665
426
935
671
215
730
595
806
429
113
625
172
802
504
269
694
48
886
456
252
33
190
468
145
358
152
422
94
178
238
476
963
108
268
16
797
860
12
522
978
524
724
335
766
443
603
776
178
328
297
759
424
578
783
609
839
182
509
853
870
429
576
981
60
262
656
752
919
626
973
23
372
264
154
584
985
988
473
531
761
52
735
71
97
229
513
40
705
928
184
3
987
730
398
267
48
863
696
794
547
540
197
730
924
776
657
203
606
861
539
920
78
749
668
84
199
700
934
463
394
613
632
132
869
915
527
599
117
993
430
63
328
686
623
251
451
189
891
342
325
517
608
522
867
900
904
555
71
708
83
790
983
557
642
17
527
303
56
484
867
697
815
335
708
852
631
33
6
839
43
186
510
8
976
615
676
883
630
933
480
574
941
334
307
650
73
579
629
220
392
794
241
69
298
58
644
889
121
735
786
334
501
92
46
128
578
209
158
908
669
53
885
797
183
988
408
501
42
220
128
365
743
273
279
650
563
286
881
645
215
871
922
909
484
333
916
568
745
321
48
538
760
377
813
807
311
705
117
34
609
513
436
193
689
270
689
360
188
649
841
208
396
624
770
591
641
38
910
589
43
765
8
75
487
399
151
654
477
277
379
510
891
715
132
798
966
388
634
427
893
152
483
137
298
268
308
993
167
894
15
848
411
212
866
712
491
429
951
781
44
784
87
747
127
301
339
460
230
792
288
977
893
640
63
213
789
465
933
464
369
775
397
389
41
601
274
548
319
879
868
996
6
381
160
836
306
391
117
367
566
978
2
764
64
811
844
86
865
734
915
276
21
7
667
334
900
524
555
136
204
241
670
556
766
5
917
952
171
675
743
216
409
368
528
339
623
982
535
803
201
457
240
811
218
67
873
163
829
435
953
703
894
427
609
794
603
968
822
491
636
202
145
353
945
809
368
339
968
85
849
419
761
935
635
44
114
112
789
906
175
878
571
846
787
520
826
582
274
165
903
229
781
15
174
767
750
667
409
935
681
199
938
13
868
37
452
402
125
975
34
443
381
735
349
601
455
366
315
55
557
932
294
725
737
252
132
738
397
893
993
473
12
594
901
656
665
853
920
410
47
582
578
256
777
458
111
266
652
185
394
895
531
171
208
459
435
904
440
442
535
105
463
950
117
638
803
298
878
819
323
167
69
747
745
547
864
329
604
731
818
260
596
426
722
188
945
141
515
91
769
272
192
722
255
511
666
142
837
746
117
347
902
823
394
137
845
334
596
649
459
165
734
889
153
637
227
40
540
568
756
536
754
183
42
828
485
470
752
343
729
57
941
789
560
818
586
132
963
896
523
281
589
178
612
955
887
407
69
458
187
964
912
466
771
613
829
616
166
15
462
205
263
439
513
472
436
698
89
393
387
137
288
323
81
618
384
628
881
836
825
994
568
605
554
570
552
944
811
930
419
883
965
552
314
355
942
983
765
458
849
466
410
972
982
117
491
773
709
350
834
256
744
108
904
445
468
133
678
421
966
758
727
669
970
904
922
475
896
517
229
849
18
774
55
882
137
176
63
123
311
484
637
835
514
355
776
348
738
101
226
234
655
355
698
41
856
169
882
367
30
912
972
187
532
372
60
314
110
449
904
581
935
869
224
207
397
345
505
464
973
564
408
364
193
164
74
247
905
685
448
568
477
245
989
373
829
207
142
866
482
70
475
957
507
426
261
261
855
431
802
261
105
981
370
32
993
231
924
589
692
622
542
46
148
99
508
751
124
901
59
526
198
666
839
952
642
555
115
149
313
658
61
702
122
389
407
898
795
824
737
46
420
367
134
823
445
89
471
770
232
203
608
49
611
210
849
118
346
630
233
929
695
538
802
713
645
312
56
426
808
486
117
590
233
276
148
870
993
709
720
999
535
850
540
113
574
142
49
682
33
12
687
523
114
903
913
104
803
97
222
601
143
875
278
551
771
997
516
838
553
660
199
873
784
342
898
169
698
289
50
533
68
597
279
723
207
809
456
257
145
669
915
899
484
74
713
46
595
755
397
659
950
706
788
281
967
906
898
591
91
796
433
771
55
378
558
895
453
917
919
223
1
419
748
477
929
873
741
944
25
850
562
375
883
299
905
665
1
17
902
875
574
378
714
490
631
341
563
412
487
505
318
699
764
292
559
690
814
927
77
803
809
595
984
555
437
703
852
706
685
726
196
22
905
663
641
130
759
967
910
424
102
652
219
106
419
617
903
346
321
670
397
605
421
813
957
597
581
310
767
489
626
463
848
287
672
776
263
782
267
526
651
976
741
293
536
736
854
715
195
124
907
430
265
450
948
640
765
606
385
816
372
425
778
35
859
845
369
504
844
587
81
250
686
99
68
256
838
801
746
7
628
716
465
395
505
309
467
454
915
606
112
699
71
991
533
941
755
485
910
43
165
304
78
656
175
532
109
153
717
425
946
114
551
560
244
107
237
740
809
419
809
12
50
558
765
931
138
933
500
49
447
957
909
271
450
723
737
814
883
972
808
291
983
37
380
234
879
448
268
119
673
528
701
278
552
493
287
173
937
500
389
674
896
865
36
74
970
732
981
985
262
889
650
428
419
986
613
648
269
222
244
935
750
267
261
674
302
347
740
407
748
156
96
68
231
317
602
47
426
653
204
79
974
260
527
48
668
848
163
601
147
885
107
81
65
410
796
267
217
373
821
110
987
832
705
126
853
708
242
408
462
651
626
207
972
649
145
228
185
248
113
299
739
283
132
917
784
891
833
161
350
979
224
97
479
343
532
521
580
857
631
918
447
365
255
689
500
91
850
723
762
831
430
719
677
642
886
794
105
842
352
443
794
744
397
254
143
513
316
860
706
202
68
883
791
252
490
231
11
726
446
171
248
821
502
60
33
527
436
695
28
296
231
2
776
218
307
60
117
322
510
243
35
779
613
251
308
363
282
988
958
915
685
245
39
352
658
73
588
241
127
528
658
453
63
620
171
794
896
996
101
508
76
855
238
947
733
577
118
412
808
146
401
66
599
939
479
652
594
483
981
421
427
434
608
339
893
994
212
905
986
660
242
825
526
586
121
74
651
592
761
23
711
550
965
383
502
693
964
153
19
993
310
908
146
993
750
936
254
498
946
530
683
774
414
119
350
161
8
1
603
159
927
679
562
888
311
547
877
973
544
82
845
844
736
819
869
721
945
102
51
41
247
390
91
954
306
906
67
307
556
429
673
528
224
355
355
104
442
306
231
277
592
469
595
13
931
311
452
30
19
478
553
41
567
808
980
843
1
552
910
605
542
389
34
709
693
705
591
612
465
666
312
10
428
555
586
789
217
420
904
543
87
908
939
918
295
261
873
475
439
990
71
188
875
771
536
452
239
269
636
232
242
936
107
429
793
473
898
583
158
609
646
109
537
18
427
10
330
413
51
190
218
287
855
85
568
877
638
7
132
764
407
787
991
493
683
768
612
643
66
277
488
371
478
333
588
950
214
611
715
962
663
110
514
197
71
252
368
696
922
27
292
682
45
265
686
296
131
842
974
167
343
825
320
416
975
904
946
552
421
636
664
11
977
21
281
932
338
503
256
62
495
742
484
321
414
363
353
550
855
541
157
89
144
767
231
924
513
676
417
414
809
561
761
266
714
368
477
941
508
438
531
736
929
493
110
41
818
929
634
81
852
397
825
170
154
822
557
130
357
370
857
415
215
788
124
452
385
285
578
276
174
761
151
11
441
143
76
275
162
633
418
779
426
280
74
245
136
906
828
850
376
436
228
646
187
416
452
222
391
38
908
318
455
850
629
323
22
560
5
340
843
51
329
988
648
541
579
289
139
680
373
102
56
645
866
380
332
827
727
448
618
220
299
7
909
668
786
277
253
710
858
886
297
291
848
576
279
999
334
88
617
170
702
680
23
320
635
121
29
334
215
941
356
381
395
341
369
343
841
349
664
977
514
742
817
948
485
836
554
772
562
908
303
76
123
290
295
406
913
384
510
215
985
621
382
94
277
200
822
826
83
718
78
368
613
572
290
674
348
897
363
308
803
271
91
962
689
289
939
157
541
488
993
52
321
242
543
956
118
628
938
655
104
122
247
921
670
492
465
978
158
896
0
440
809
596
573
146
70
327
771
875
411
813
678
286
226
164
121
168
284
781
616
218
285
955
674
720
419
851
300
319
552
302
406
756
283
600
101
680
19
507
210
353
347
153
366
334
395
665
453
835
772
14
742
616
670
295
499
761
721
372
62
198
595
129
475
608
352
344
907
33
940
998
622
320
609
369
475
194
977
138
637
648
335
56
358
962
588
817
532
266
735
798
991
765
37
675
180
83
612
63
104
430
859
751
208
543
847
737
168
226
727
158
492
482
619
891
755
940
371
347
201
731
957
500
134
699
458
156
830
73
442
846
702
686
137
689
152
970
144
843
440
19
711
828
932
770
534
229
49
88
421
376
73
892
826
451
318
120
545
513
691
92
698
693
138
666
682
360
982
759
992
688
108
952
883
959
813
68
626
48
812
966
772
684
251
86
681
698
979
781
141
913
901
90
833
799
976
93
939
194
201
828
77
587
426
283
649
570
528
597
64
404
895
79
63
88
671
775
826
411
516
267
450
217
363
703
170
941
309
570
525
402
38
476
695
73
906
909
842
246
660
654
886
222
279
462
279
806
879
23
145
884
998
815
800
100
526
593
836
495
234
93
850
257
395
894
708
848
350
689
799
634
991
847
997
879
178
233
826
934
562
929
998
331
591
567
518
200
105
966
680
454
232
576
52
894
441
597
285
30
299
936
729
978
948
125
300
16
215
155
97
627
520
325
967
313
631
811
341
795
467
974
336
961
946
866
995
287
989
636
42
569
932
961
201
119
829
350
879
515
420
281
290
265
454
853
728
741
993
68
184
417
957
350
866
842
441
153
185
59
238
782
129
280
276
36
508
571
642
621
859
849
785
127
381
400
732
984
463
289
672
145
455
782
449
902
13
500
526
78
61
469
807
825
367
235
326
286
778
353
67
486
396
832
380
294
732
111
928
142
499
607
853
109
265
268
897
972
392
845
440
514
917
61
451
916
505
697
951
796
512
850
96
359
365
420
785
421
851
617
606
100
73
212
688
311
590
775
374
303
535
41
475
789
979
157
107
21
452
708
810
328
522
506
837
698
757
586
669
143
621
564
332
144
954
199
420
451
715
293
85
776
605
881
870
129
326
0
222
718
471
992
454
342
420
466
555
445
541
828
860
105
129
289
102
759
315
787
516
292
816
673
683
407
731
397
625
521
85
148
198
160
85
354
404
673
500
227
255
481
708
174
709
431
871
263
689
867
551
47
614
335
107
593
205
610
899
130
417
732
594
428
570
603
14
956
263
279
77
837
455
283
491
156
127
957
606
595
21
938
257
208
731
225
337
383
987
137
312
777
739
485
931
153
712
107
982
274
412
491
31
232
593
440
393
380
690
774
595
53
70
508
655
619
944
339
732
6
46
176
413
465
985
859
382
719
87
235
200
878
336
632
21
955
44
395
853
386
850
877
359
239
471
76
903
881
272
727
709
637
668
677
676
97
743
25
869
514
914
254
354
153
511
440
213
629
746
134
813
137
738
908
145
506
782
259
588
667
698
620
104
433
76
146
182
268
597
117
661
706
311
984
311
523
584
673
848
675
155
131
892
917
10
38
419
847
978
207
576
454
393
667
29
552
80
57
193
674
638
109
765
719
245
899
281
425
39
839
370
716
210
865
400
541
576
859
955
97
609
696
364
603
499
211
337
729
1
176
51
834
749
746
942
359
943
572
547
366
644
10
389
169
918
422
839
780
316
143
698
907
219
563
726
819
256
172
575
489
848
2
210
244
470
598
953
717
774
859
238
964
679
958
283
864
295
831
442
484
785
69
443
465
917
789
461
491
749
527
129
73
142
915
209
680
15
68
14
722
27
212
157
394
585
520
202
683
440
157
290
513
61
417
896
574
945
128
915
546
301
318
623
692
250
688
960
967
997
630
909
927
847
700
695
736
792
37
872
524
785
195
428
991
916
332
368
161
669
839
228
790
440
615
768
991
969
371
839
68
385
19
878
900
739
398
420
165
185
617
331
437
894
871
187
956
65
984
313
965
859
554
413
781
667
260
315
70
994
576
640
352
550
538
986
324
671
103
311
390
232
421
769
695
827
570
142
254
192
88
62
230
301
655
986
288
161
952
911
861
298
575
361
818
752
904
915
316
632
164
429
338
682
886
374
140
862
150
506
665
98
604
140
417
884
227
427
839
507
426
120
788
585
646
526
846
357
824
614
282
979
615
296
991
763
85
386
801
220
757
283
973
821
872
212
387
119
323
950
492
477
86
799
430
878
136
730
566
424
161
689
454
286
320
509
693
912
231
943
243
274
390
599
195
982
215
943
793
371
632
529
167
579
202
846
623
310
853
430
207
291
167
351
791
57
225
634
712
59
605
403
143
160
626
360
608
433
568
540
358
556
262
202
403
534
111
95
389
624
513
678
144
203
516
44
703
348
463
980
449
699
781
458
775
435
537
292
575
363
576
980
620
80
150
83
147
755
651
307
856
421
745
86
365
757
617
279
594
883
363
28
608
201
273
665
365
961
419
85
71
978
108
360
950
544
875
684
562
388
539
951
214
883
129
966
857
98
924
305
582
106
57
582
664
810
48
882
497
310
793
469
73
392
500
357
607
417
584
517
770
876
394
196
327
212
77
454
257
10
899
588
890
76
426
414
889
324
50
988
973
587
944
434
343
73
635
207
239
515
605
400
848
852
328
657
19
974
773
100
876
802
200
833
551
908
97
586
768
593
915
596
680
788
420
85
189
160
665
403
789
747
329
518
520
540
338
299
215
459
73
353
141
954
758
711
833
42
993
811
44
587
153
314
540
555
918
337
101
246
795
48
731
705
251
221
872
794
240
119
598
926
774
71
709
621
440
276
47
771
289
905
632
709
441
900
81
127
502
714
967
782
356
485
608
951
475
323
326
311
781
205
857
313
34
37
121
865
384
287
533
899
957
780
27
40
349
872
860
671
508
934
134
213
392
837
299
508
724
415
392
704
580
872
827
304
967
218
22
487
67
786
460
89
423
538
797
362
11
219
216
802
43
973
885
870
686
808
635
375
303
21
663
497
236
243
836
654
210
916
309
310
377
831
596
931
946
740
338
304
63
687
809
310
647
80
195
714
902
815
121
110
618
941
404
169
753
358
370
766
422
473
663
353
971
388
844
992
653
848
308
356
638
348
900
443
229
601
74
856
192
540
773
378
189
177
125
15
326
165
198
945
381
289
548
755
20
238
146
36
237
420
991
810
572
86
138
343
376
11
879
216
652
552
825
345
15
271
776
621
729
237
874
531
61
704
667
970
123
588
377
636
524
972
225
278
666
465
839
761
478
273
51
642
56
582
734
923
474
937
460
941
326
758
158
251
199
381
230
695
33
532
106
966
550
344
794
566
790
878
620
608
373
713
856
401
122
747
259
710
20
689
764
79
435
789
602
367
448
778
199
719
437
991
345
36
899
178
471
461
334
29
996
18
822
999
187
260
366
91
821
586
584
756
384
861
590
82
694
302
947
315
363
957
885
482
155
992
54
797
20
676
839
733
431
928
947
42
766
981
445
832
985
459
344
347
887
714
757
183
306
553
357
923
85
627
359
276
489
280
555
719
435
125
217
129
656
356
807
480
186
290
101
426
300
633
776
232
898
155
913
315
213
848
642
227
772
16
841
107
295
122
420
690
921
905
44
455
625
176
435
646
627
187
37
739
668
611
765
828
91
487
204
218
784
624
217
461
466
985
328
203
936
521
511
493
597
872
75
785
933
406
632
115
439
616
642
431
495
700
478
302
167
263
170
803
243
771
468
999
353
700
986
540
767
611
709
121
451
99
612
111
75
811
803
675
552
508
529
82
722
48
84
594
677
416
459
947
898
185
947
170
334
237
604
238
406
425
519
446
689
596
382
15
586
546
857
970
652
713
728
484
777
202
884
39
59
699
483
500
562
136
851
374
850
963
507
90
424
157
220
500
315
189
488
866
353
617
668
189
563
191
567
187
808
545
714
668
829
843
537
968
848
281
923
728
489
29
952
398
514
818
398
304
876
254
885
528
107
267
710
839
947
467
293
230
518
118
40
942
795
397
683
806
829
521
52
102
130
432
457
456
731
149
808
234
938
628
491
560
710
297
947
805
132
814
990
866
687
3
600
283
75
908
713
424
991
984
524
235
860
436
661
842
44
47
675
167
795
714
598
890
538
252
371
254
304
373
666
258
927
142
355
39
681
464
239
883
98
51
581
996
161
211
602
641
247
860
178
344
859
764
294
484
998
547
214
564
226
995
499
394
989
241
174
507
902
546
884
982
247
359
94
267
444
634
336
269
937
615
703
689
505
21
883
242
493
975
793
170
900
792
543
540
213
852
795
971
163
973
318
375
822
250
787
853
778
119
931
999
749
666
347
314
419
91
13
596
991
312
283
824
89
927
926
910
194
15
820
300
17
408
881
568
336
444
542
354
747
298
790
60
457
354
613
337
954
864
476
526
202
759
569
5
360
428
591
230
421
904
110
860
253
198
443
446
344
241
537
29
775
694
87
606
614
708
265
833
858
569
634
403
761
769
316
72
66
50
908
712
663
932
941
213
696
517
512
793
563
176
148
161
935
187
357
552
74
431
386
461
260
306
242
203
49
835
78
4
66
823
951
384
100
895
537
413
629
648
374
913
514
977
392
917
270
268
680
776
479
662
460
735
57
722
859
781
569
311
290
615
332
233
797
636
453
218
299
907
771
174
963
54
814
996
975
416
646
69
753
672
474
346
620
42
601
909
741
872
826
675
812
410
953
233
809
979
8
507
950
824
590
809
252
265
240
734
272
937
609
137
101
139
492
638
437
363
651
489
465
304
714
371
581
29
754
751
88
529
678
711
953
651
528
25
623
82
238
117
995
498
991
769
64
269
956
393
671
863
365
628
571
590
511
290
9
2
324
182
261
973
417
156
752
965
563
75
231
703
427
691
206
742
100
422
438
695
975
853
4
827
854
242
204
751
105
173
155
462
125
240
917
19
629
924
579
767
992
73
573
383
518
156
386
573
815
610
289
851
328
182
208
68
197
759
381
182
406
55
602
482
592
931
228
142
654
816
10
678
700
964
758
87
412
950
429
905
746
89
74
262
394
964
990
157
516
265
718
963
639
689
229
771
535
678
841
698
709
927
193
939
98
809
693
700
889
850
51
280
195
954
688
149
460
913
9
203
438
230
769
13
189
189
397
960
621
537
949
59
535
909
305
189
71
603
127
947
91
265
345
990
149
370
270
723
967
322
188
937
873
366
740
551
487
266
378
916
592
995
292
237
941
625
211
67
553
54
977
590
743
827
476
997
272
625
606
507
102
47
706
287
971
988
640
15
265
880
282
387
400
169
294
8
567
236
964
729
602
459
536
125
665
782
271
606
820
247
663
456
334
723
411
853
533
939
39
126
917
419
520
902
149
132
246
349
364
262
268
910
328
156
821
851
928
615
498
251
99
142
514
803
860
131
314
393
126
806
169
717
509
461
676
88
732
372
804
724
300
516
95
192
125
87
84
996
228
831
495
531
409
221
62
70
918
992
581
344
42
702
481
797
480
367
394
942
185
151
828
298
886
587
398
188
740
214
508
447
548
756
907
717
138
67
905
320
367
188
323
342
779
229
93
891
987
22
41
218
130
148
421
346
563
444
192
748
530
218
672
228
938
547
818
355
218
658
734
350
984
699
582
870
662
552
741
641
36
912
948
446
661
406
587
75
616
456
784
730
747
385
547
82
179
558
919
258
52
575
79
909
540
585
171
267
256
921
978
841
660
657
782
185
776
583
142
23
940
777
164
418
905
713
198
259
576
378
85
841
452
398
567
182
819
713
828
755
510
395
941
83
495
11
103
210
975
43
563
793
941
555
574
596
140
257
908
549
220
404
823
798
587
447
283
95
629
475
650
20
546
236
504
84
145
891
499
709
162
827
713
823
222
875
628
73
764
997
979
82
94
440
620
920
538
281
862
857
445
837
531
430
34
532
440
568
203
132
111
792
375
281
784
554
413
252
610
205
880
508
927
451
483
753
278
577
688
696
443
186
451
284
191
815
703
210
435
525
523
372
401
262
798
427
834
868
34
827
916
287
168
507
378
74
285
470
251
723
213
845
449
533
276
706
971
66
367
788
517
822
996
317
78
437
966
32
64
299
865
628
22
312
696
472
479
933
281
517
531
354
664
721
442
973
674
749
826
874
444
702
474
412
841
59
808
437
555
134
424
571
887
60
501
291
501
306
706
855
850
560
558
682
372
689
217
830
819
575
735
973
804
839
214
70
493
239
889
298
165
507
295
198
141
544
927
591
32
282
918
201
791
288
499
857
258
852
379
811
334
113
577
211
923
412
157
671
121
312
413
633
760
646
711
736
117
75
710
637
73
6
104
306
334
295
713
854
45
762
924
370
372
580
714
695
568
847
301
197
83
860
833
87
823
203
373
471
188
545
108
282
401
250
522
199
163
675
95
259
522
98
205
945
296
805
115
891
78
515
893
648
460
862
783
536
125
478
477
527
446
970
274
484
993
993
769
348
374
604
637
529
826
239
168
32
965
427
985
98
212
837
473
279
870
961
566
999
749
298
337
161
914
816
493
362
967
558
297
344
479
751
615
206
366
682
371
557
97
901
365
175
147
910
434
461
10
881
708
479
797
862
192
342
2
445
435
397
222
205
759
267
854
110
767
483
750
416
962
1
938
217
926
152
893
291
415
54
557
565
105
41
844
938
27
554
437
720
834
675
13
984
123
421
851
535
969
804
500
950
302
122
583
839
377
607
791
829
236
326
158
241
965
326
715
115
977
745
154
693
495
87
448
815
306
131
790
676
173
572
140
182
367
643
71
410
644
853
177
977
837
619
743
303
548
821
251
437
446
795
571
938
43
429
220
248
743
913
426
686
254
898
121
700
23
387
594
571
803
701
83
8
817
446
328
36
336
717
550
954
692
349
241
310
541
432
720
503
350
425
848
492
959
12
843
113
606
271
542
667
349
234
824
591
435
41
745
228
992
581
34
61
697
861
408
779
66
798
210
286
564
929
847
60
536
61
565
637
463
242
454
368
541
91
907
799
159
306
364
426
266
196
892
804
686
818
749
526
72
641
670
930
967
389
746
59
584
613
496
278
659
791
580
824
793
630
383
511
464
271
770
155
29
625
995
70
0
554
493
691
823
267
403
679
80
532
662
869
750
495
832
916
315
827
139
900
981
130
500
547
521
866
838
722
681
22
93
578
6
290
978
293
287
67
827
874
26
322
311
867
635
555
966
292
45
228
70
29
23
364
310
641
795
285
809
969
875
27
28
47
584
121
619
431
928
276
775
37
687
948
136
636
285
135
930
798
333
630
461
159
524
557
49
846
374
358
235
998
656
446
324
114
88
515
730
791
452
76
542
718
208
881
206
551
63
233
690
119
319
948
498
155
767
814
539
791
286
796
669
418
826
264
759
195
65
148
409
109
598
771
414
941
735
726
883
332
534
428
550
266
649
221
583
343
894
930
277
286
430
473
949
975
596
191
383
8
75
131
626
628
684
977
559
665
374
294
720
238
264
713
608
941
989
263
785
479
970
230
620
67
684
222
802
707
67
974
759
871
214
338
503
311
794
197
5
878
475
9
933
270
544
139
209
453
503
814
827
253
165
552
498
761
711
562
265
307
873
943
127
440
884
932
217
448
330
405
665
606
541
626
94
691
620
897
383
251
706
200
805
655
322
758
319
387
976
851
579
892
260
835
837
704
74
471
400
559
745
697
268
904
574
493
852
951
105
343
429
918
856
810
31
640
328
181
148
135
587
947
430
961
751
207
415
221
271
343
14
361
796
795
86
851
215
34
919
774
114
538
165
856
762
649
80
732
951
514
493
924
82
868
753
531
26
126
681
165
633
628
756
439
112
695
966
642
591
324
769
926
147
892
804
627
960
65
505
566
632
603
368
84
369
813
927
945
320
522
383
824
27
362
487
772
666
580
428
304
373
256
267
823
602
751
797
158
97
629
815
179
386
809
158
985
659
82
789
368
724
864
676
852
374
382
103
848
429
790
101
105
45
757
159
791
708
403
828
891
599
228
7
698
61
33
502
854
846
889
302
107
661
923
855
540
77
903
180
172
732
449
955
524
79
442
76
693
280
922
326
972
90
887
447
816
854
986
654
11
413
539
288
325
908
954
94
527
620
255
975
347
544
785
716
474
741
738
584
742
418
357
325
225
132
164
372
774
816
327
948
907
891
823
936
765
795
515
958
665
744
494
672
563
309
611
117
935
934
296
36
227
951
521
390
303
98
260
305
301
575
457
491
633
262
128
207
483
914
478
428
624
445
602
292
878
259
234
147
363
782
776
622
166
619
548
742
189
408
711
706
995
601
357
390
779
952
968
539
909
455
466
374
177
316
714
736
663
570
870
204
358
258
231
755
906
174
34
386
129
451
474
99
83
885
965
779
609
65
232
403
972
677
535
467
598
717
741
575
829
536
602
285
649
520
676
694
327
243
704
725
514
296
276
80
292
752
959
909
746
848
502
133
379
182
512
77
95
279
639
376
368
150
52
912
592
576
82
891
615
781
950
630
609
263
758
832
398
512
154
950
126
402
751
328
275
756
612
761
994
611
297
475
450
35
377
163
749
776
994
351
334
579
204
236
489
402
949
708
351
184
588
730
631
238
635
842
934
839
49
740
242
609
574
524
269
282
957
834
865
653
323
912
919
636
133
547
779
779
405
588
338
409
766
374
375
671
620
580
141
576
647
265
610
650
111
502
558
652
292
233
617
392
620
649
612
252
777
563
413
136
255
622
294
971
659
22
290
577
395
125
482
474
698
181
546
482
377
544
814
664
152
732
78
253
95
654
60
759
746
231
888
272
256
103
221
584
105
308
304
618
627
197
696
905
394
556
344
451
659
896
695
41
376
457
834
201
46
856
542
408
733
311
1
355
713
576
740
532
885
107
448
41
640
600
316
367
605
83
879
939
512
313
242
608
399
819
318
837
877
690
437
212
210
673
373
28
389
114
610
986
957
666
104
677
604
119
526
379
883
573
864
190
242
165
888
699
959
994
762
934
648
552
579
949
723
269
659
279
389
375
389
239
47
32
722
676
527
349
399
144
267
916
827
390
463
333
986
748
706
286
448
751
903
245
117
530
261
165
347
230
155
787
819
895
914
348
235
751
51
83
768
194
582
490
892
254
758
412
413
322
837
550
366
93
845
722
187
812
789
72
532
308
341
285
677
869
730
102
946
217
565
519
469
909
740
46
60
980
851
538
501
387
745
750
120
864
810
535
690
800
791
256
899
71
8
174
706
141
47
770
986
401
531
530
746
418
649
949
995
765
793
728
922
84
987
152
51
643
428
716
119
219
823
9
948
0
413
796
422
857
539
14
934
266
774
845
312
884
895
714
228
134
593
409
900
458
204
930
518
489
78
39
741
16
980
32
929
449
509
670
86
510
321
670
967
373
313
667
929
247
658
391
691
333
909
271
827
317
196
985
365
17
882
456
308
258
587
126
871
853
784
272
588
340
749
485
733
265
180
825
550
724
153
79
950
377
852
692
518
863
313
426
676
40
911
185
94
725
556
654
788
833
473
142
699
849
155
237
617
854
324
524
339
823
31
548
596
868
471
112
918
566
787
702
148
67
552
14
599
852
975
862
466
169
476
798
53
267
763
151
740
69
436
660
260
619
519
868
449
727
243
185
781
237
319
436
16
623
75
312
909
644
996
652
973
941
58
453
66
359
378
927
728
319
927
349
488
887
445
775
514
900
145
631
774
949
315
609
635
934
179
634
747
290
271
125
410
211
414
101
348
340
194
400
768
710
83
461
2
993
434
420
68
144
887
890
604
717
679
231
670
79
95
253
482
503
927
150
729
257
161
531
935
901
34
368
73
424
490
500
771
887
87
615
242
786
126
634
463
763
358
858
951
376
720
234
979
251
11
79
591
671
320
503
762
255
823
546
146
968
871
149
500
897
804
842
202
697
503
456
660
958
944
617
878
538
160
317
397
74
547
519
19
960
19
995
138
622
952
928
388
778
666
93
521
507
99
803
161
458
111
962
481
582
782
834
307
490
367
52
952
338
923
604
135
177
632
572
880
338
511
886
38
747
537
486
620
878
17
351
228
139
738
421
183
331
744
916
704
761
974
76
65
111
374
683
96
399
444
802
255
103
728
649
762
413
571
705
706
918
616
945
938
471
669
124
306
665
556
258
288
294
93
857
392
454
344
906
618
913
637
598
782
304
989
144
504
556
508
820
814
295
34
456
443
229
147
343
54
837
398
583
466
970
320
201
82
658
574
842
919
196
105
852
127
213
729
860
522
443
674
583
536
494
536
350
448
463
558
644
558
928
406
108
833
662
822
995
775
960
406
363
912
421
143
986
979
213
423
303
771
617
881
671
770
503
743
772
412
379
188
753
179
259
808
252
494
294
786
389
226
423
843
777
917
791
315
646
17
508
407
516
597
457
337
562
146
630
348
758
961
424
849
118
320
919
575
223
373
840
677
101
584
161
845
201
755
237
673
841
175
511
51
862
777
32
893
614
735
945
617
758
227
171
500
211
507
480
879
320
660
605
326
864
398
730
267
762
85
961
626
141
588
735
675
475
649
796
827
315
657
22
980
795
471
639
703
64
69
968
526
312
963
87
188
88
164
159
36
858
231
951
664
642
376
112
698
20
735
661
933
473
161
825
609
821
47
329
766
285
580
306
23
603
248
368
751
624
67
488
47
848
966
746
503
209
331
79
957
883
242
3
459
925
685
556
593
94
212
447
698
802
624
918
966
524
255
780
527
421
476
754
857
801
358
394
687
668
689
585
778
671
575
446
593
861
922
59
564
402
754
297
777
718
224
112
227
200
747
124
374
970
966
190
574
780
185
468
894
56
131
597
417
342
276
912
151
942
75
96
766
761
194
33
501
384
370
238
823
792
437
849
442
469
446
483
971
823
196
388
470
930
719
154
957
903
174
319
995
525
793
159
522
943
979
124
553
667
454
912
118
403
165
390
413
693
357
775
770
392
198
29
536
865
705
69
737
394
110
238
355
69
953
152
288
109
599
952
684
416
390
536
162
267
258
325
738
137
433
667
558
471
97
360
394
404
294
30
781
849
205
827
634
389
796
976
513
997
604
912
2
669
42
816
817
875
675
662
114
844
4
542
502
810
689
668
725
109
588
921
759
635
681
601
203
2
268
905
466
726
733
593
906
166
457
522
303
308
47
498
110
469
849
595
670
262
213
205
875
177
620
779
666
967
161
998
672
226
156
695
537
950
24
42
52
310
64
882
22
90
8
547
978
808
140
650
915
506
787
510
617
650
458
969
514
904
863
143
489
16
846
997
315
244
466
421
686
119
461
490
278
496
637
539
91
765
609
991
631
140
366
471
823
206
731
542
221
69
193
654
745
669
567
781
776
394
577
719
488
271
16
386
552
160
402
15
352
468
597
832
5
51
345
333
950
7
414
347
880
108
336
148
563
230
262
210
229
648
92
458
383
370
970
878
597
585
569
89
775
907
576
463
281
169
61
834
241
12
78
370
663
106
407
742
938
359
457
36
208
313
209
326
391
618
76
44
81
126
792
366
901
244
212
732
197
346
103
524
446
551
976
918
182
635
500
588
286
310
283
566
319
201
26
255
189
817
998
385
438
96
906
5
642
288
32
472
81
620
168
728
748
268
376
308
524
368
879
610
547
340
287
519
445
212
949
62
16
39
844
414
542
610
789
306
637
808
147
536
687
909
582
877
577
456
450
351
652
390
165
521
459
349
975
487
442
162
980
56
675
441
260
717
420
304
218
968
577
402
593
814
453
912
240
734
242
502
687
107
120
616
814
745
63
499
56
506
947
135
161
980
705
400
229
164
921
818
794
495
225
441
551
93
152
113
921
469
808
521
411
286
982
796
368
51
202
585
738
425
267
121
250
932
740
630
549
395
651
399
250
25
963
989
593
61
189
620
171
172
578
177
752
592
683
8
293
391
936
372
325
282
967
325
744
589
508
587
189
867
114
707
208
780
910
205
88
809
368
838
789
675
225
373
192
842
784
755
846
974
969
572
150
871
839
804
360
646
627
348
846
342
802
187
457
530
378
273
904
630
683
111
372
515
528
240
880
822
853
367
721
166
465
977
831
377
9
39
633
528
738
246
536
727
517
437
428
527
653
269
914
524
725
170
379
359
888
960
70
966
859
801
950
451
143
120
9
712
571
404
598
864
41
221
835
311
377
964
667
298
400
956
987
410
749
887
55
272
303
163
910
709
515
723
421
73
826
114
992
763
73
400
175
253
104
930
396
761
392
335
881
423
358
4
480
210
717
661
99
694
347
384
287
301
964
903
778
691
871
143
163
703
838
249
181
714
510
123
917
903
95
222
414
433
81
76
45
96
323
622
87
868
250
744
131
202
204
428
65
92
455
372
498
872
869
945
824
373
656
801
128
643
755
637
578
45
615
77
440
988
873
374
535
324
746
9
201
614
632
398
253
700
459
324
303
254
289
185
349
180
903
931
113
203
976
78
229
487
727
54
755
576
684
661
912
227
667
430
624
16
231
545
154
224
585
737
13
15
773
594
20
510
890
270
497
381
626
229
905
756
976
585
560
923
143
978
935
947
442
194
114
210
203
335
747
535
119
922
813
601
56
318
696
524
779
812
781
561
684
744
652
987
524
438
639
733
168
556
293
350
425
844
303
351
125
197
211
512
343
747
451
125
255
793
245
655
412
979
299
449
178
421
551
674
315
694
526
476
908
253
376
983
875
590
630
718
848
278
741
573
560
515
806
414
83
450
856
694
275
576
642
97
944
379
804
914
226
747
339
354
5
325
320
266
546
921
765
226
391
317
815
730
455
579
315
854
606
414
291
921
63
559
535
481
320
759
519
503
157
421
212
223
276
793
444
679
900
707
279
333
510
138
164
216
380
737
519
307
23
985
347
589
236
987
255
991
383
913
61
447
898
149
403
163
847
278
846
944
698
898
134
393
221
969
893
301
589
888
937
336
494
373
837
666
658
956
78
642
132
270
151
528
623
423
229
573
459
737
659
610
753
254
851
878
421
851
271
848
596
618
443
58
124
908
740
748
597
122
806
824
580
343
718
522
115
867
438
227
768
554
233
240
701
50
986
268
792
282
254
984
521
660
656
359
728
359
631
734
20
32
992
162
658
95
426
611
929
965
601
570
593
789
623
85
40
145
898
240
396
692
498
317
358
139
692
975
169
324
770
940
824
550
306
633
616
753
990
286
523
696
310
459
291
898
126
157
852
887
701
93
188
921
832
621
982
444
819
649
397
821
852
603
617
281
867
523
203
305
96
208
976
451
344
797
80
784
391
674
397
48
226
126
744
656
131
654
466
336
228
696
180
110
625
307
920
812
223
920
434
443
241
158
917
124
31
666
787
849
32
14
485
823
948
154
212
924
639
109
696
473
406
694
541
7
687
356
416
828
313
640
968
295
683
745
342
461
428
210
8
387
710
236
493
449
787
897
710
388
953
678
452
826
565
488
854
652
920
340
130
110
823
131
526
119
701
154
873
397
61
862
535
667
696
653
370
424
973
28
951
203
704
237
771
252
129
323
2
467
463
81
195
594
540
691
237
897
158
91
310
539
30
887
574
57
216
696
100
764
515
823
590
53
720
235
188
853
797
835
940
934
831
783
275
292
895
310
57
58
574
472
831
888
856
181
402
596
581
283
561
474
648
100
813
256
78
635
237
378
759
751
223
86
58
178
539
397
944
753
240
653
351
278
211
245
481
741
49
266
581
670
406
822
319
40
579
432
588
967
9
317
776
141
35
432
535
295
786
413
753
212
275
476
761
175
408
398
393
594
198
748
744
722
506
368
987
711
335
912
190
446
597
130
544
461
943
501
335
558
346
543
153
395
253
202
897
918
369
87
769
952
280
312
25
147
767
526
954
876
488
656
595
228
600
732
71
323
759
848
882
31
657
993
195
542
915
223
576
535
985
234
403
51
916
106
658
81
90
647
267
307
920
767
651
315
501
831
301
514
949
697
636
96
147
898
825
937
292
866
677
250
607
688
561
206
847
475
436
451
239
384
262
288
602
825
567
289
49
131
93
112
991
701
843
79
119
39
238
310
524
622
320
290
455
733
677
396
513
483
799
950
511
487
573
530
727
231
867
742
20
414
561
468
774
148
745
75
604
758
844
384
92
357
209
720
191
978
843
536
787
697
479
99
16
171
410
575
743
155
36
297
594
162
486
365
989
66
165
595
896
872
958
913
675
402
961
679
812
542
327
286
851
957
651
132
468
218
515
8
597
214
721
28
294
333
256
815
222
386
309
373
281
525
908
928
399
744
818
914
493
995
603
932
961
873
750
187
512
835
123
488
465
275
71
964
95
237
242
122
611
906
474
846
253
449
704
955
110
588
677
449
539
289
573
359
238
920
454
780
943
383
294
456
241
135
190
703
656
727
207
198
404
617
430
427
367
786
682
129
677
482
278
144
495
537
289
430
370
723
800
760
987
248
64
329
884
238
268
511
9
548
512
332
75
165
251
264
481
426
534
825
133
80
405
892
100
626
831
656
224
886
224
809
817
242
483
541
92
918
631
747
639
819
726
13
651
743
621
28
136
951
351
262
646
235
951
652
980
241
868
69
913
836
720
41
660
634
846
846
419
128
426
448
133
368
155
131
540
82
794
880
915
97
669
634
544
846
112
306
569
367
931
112
55
489
204
348
917
512
912
314
644
668
762
401
981
784
847
422
793
141
817
374
326
507
252
756
51
34
828
984
331
974
82
29
860
736
226
68
292
990
623
147
252
95
847
556
61
959
182
16
609
258
288
933
823
0
942
412
442
105
481
816
758
993
556
929
260
589
93
772
52
82
847
963
986
313
617
974
632
802
249
760
218
309
614
100
145
333
355
34
362
104
246
52
904
37
8
935
788
594
159
903
842
464
883
989
647
454
981
38
914
161
19
226
574
855
473
38
594
552
443
236
935
355
672
801
49
854
347
635
895
508
259
672
7
371
342
853
598
287
795
176
558
288
238
730
777
779
66
149
203
164
642
882
184
403
876
157
482
142
574
169
403
731
971
438
305
882
466
336
914
281
757
888
566
236
73
101
566
545
931
73
891
857
495
708
354
108
698
277
883
45
944
976
182
663
178
653
491
889
735
399
709
797
85
596
782
272
546
170
152
390
651
506
25
391
837
315
656
652
475
214
687
283
595
661
181
65
763
869
822
761
652
350
88
284
934
613
784
646
740
829
992
77
403
828
297
793
927
174
162
819
152
83
118
2
886
81
851
29
896
826
739
201
534
350
451
740
761
58
974
919
333
172
770
807
244
455
636
254
948
815
225
630
297
555
341
0
143
825
824
969
919
613
978
586
526
232
495
555
489
412
543
697
58
23
69
257
984
215
594
10
663
750
935
980
29
880
343
270
320
471
317
531
617
745
764
8
867
68
6
105
563
306
545
316
3
619
799
540
92
166
105
28
317
134
381
562
476
402
541
151
760
926
154
163
456
561
996
436
667
943
393
126
161
488
934
722
379
340
900
701
941
187
587
488
810
902
329
194
88
496
694
845
519
160
918
917
173
699
407
575
326
147
734
168
858
462
261
304
347
693
216
470
367
834
616
231
899
743
591
313
103
120
313
106
295
295
497
93
646
380
375
713
275
123
253
96
61
219
492
401
943
174
38
437
206
169
758
223
662
356
483
629
602
773
283
473
919
584
711
804
390
846
341
965
884
838
733
607
537
766
836
374
472
349
525
698
789
889
499
858
648
912
464
986
603
554
520
623
402
58
356
837
513
997
312
231
379
539
952
746
4
949
75
562
294
647
490
666
30
813
603
323
73
925
968
844
272
946
707
835
989
362
486
382
468
511
176
530
574
153
478
945
341
957
619
917
199
268
290
939
728
845
189
310
492
685
871
750
18
724
79
164
394
977
313
759
29
237
199
729
465
538
966
315
0
968
276
95
113
99
460
253
447
587
729
886
796
761
525
748
17
188
641
139
746
686
421
549
526
493
100
418
734
166
804
13
744
173
725
762
826
152
2
950
887
608
947
520
711
54
507
812
448
840
191
901
752
850
120
643
320
1
729
837
45
935
584
764
617
247
763
742
316
537
216
401
494
654
900
155
548
791
436
869
536
96
203
845
901
894
914
873
212
41
985
311
111
560
587
867
132
163
325
357
736
473
817
290
856
21
73
983
84
295
386
774
856
591
563
255
32
601
398
411
929
893
376
977
916
288
783
285
844
743
892
402
94
860
362
93
829
446
832
905
617
35
266
908
288
787
648
64
612
738
852
628
945
286
649
616
665
729
262
791
303
335
876
894
489
370
544
621
603
514
218
814
219
349
362
970
248
532
339
420
33
312
940
25
819
323
627
244
314
858
970
432
986
224
11
722
451
498
858
548
554
498
246
742
164
85
764
423
23
877
367
972
436
784
727
950
762
500
95
518
55
335
284
207
662
791
347
71
848
714
467
334
442
334
599
856
42
830
848
220
838
505
522
916
303
482
687
341
964
480
630
739
46
246
956
523
288
423
305
466
580
541
453
49
321
143
492
734
537
915
772
401
621
187
448
276
130
164
607
189
133
772
869
915
663
895
174
385
973
123
273
296
785
946
406
524
629
413
210
632
819
908
242
630
350
280
887
805
682
671
75
210
257
879
571
302
878
851
528
42
649
980
585
848
70
333
288
216
534
236
217
422
126
345
517
38
872
582
268
427
807
694
882
953
856
265
70
973
692
233
179
785
401
535
288
47
444
665
102
535
489
708
393
761
313
254
818
768
225
901
134
295
842
235
526
915
961
428
270
14
242
667
355
303
466
438
565
79
533
107
171
667
803
727
23
61
81
841
644
313
973
164
867
639
609
903
990
581
575
697
283
492
475
620
824
336
413
431
642
457
135
426
714
48
56
756
364
982
938
12
339
274
455
507
251
901
575
708
216
959
45
812
193
360
178
833
664
568
669
51
317
340
805
260
153
105
375
323
521
956
803
476
336
435
375
800
669
75
677
832
120
691
845
251
702
524
639
462
259
393
273
28
372
311
521
381
783
525
823
1
290
947
235
60
798
870
863
502
146
649
897
596
405
613
329
810
318
980
355
289
445
862
962
574
495
890
426
351
511
103
117
520
784
707
149
540
646
284
649
870
293
799
262
599
511
611
741
946
634
917
504
991
29
48
552
832
855
960
234
346
139
250
404
103
734
154
691
563
530
324
833
859
228
767
821
414
101
995
146
862
915
79
108
673
304
841
584
851
137
264
891
576
544
324
590
685
547
201
746
127
475
8
708
68
269
827
287
934
716
83
667
771
405
693
793
897
265
412
782
302
489
895
871
369
616
373
522
591
22
722
205
511
121
145
701
679
863
514
431
99
129
839
104
536
137
625
64
857
636
642
552
851
939
687
620
878
556
141
774
342
829
580
887
203
471
931
346
857
675
826
743
634
235
560
882
199
690
261
836
677
539
640
785
112
961
796
991
245
230
704
698
556
307
912
885
715
366
711
956
413
881
353
139
134
954
553
467
103
144
950
242
922
425
864
781
579
90
356
342
918
764
949
883
945
949
407
269
566
651
786
854
998
664
179
95
976
387
6
283
616
603
176
611
350
443
760
598
660
475
781
191
871
625
322
600
896
816
946
140
769
348
951
633
26
228
567
580
752
662
274
420
530
234
453
11
156
78
708
928
402
396
145
853
916
523
364
854
611
760
488
559
314
319
707
221
534
621
525
230
960
61
236
801
469
364
32
727
451
796
223
804
19
282
436
137
562
162
316
673
896
658
221
583
493
317
570
786
387
551
473
627
527
146
180
174
404
471
754
78
169
345
922
668
970
525
361
987
315
357
264
353
932
626
273
379
2
636
466
779
414
886
529
824
509
31
152
539
19
844
393
978
656
859
35
39
66
166
752
856
173
907
194
871
294
467
643
747
573
650
84
129
230
322
977
281
655
647
756
402
755
152
267
625
39
295
170
320
185
714
589
921
467
319
850
848
55
531
33
546
326
10
757
136
720
671
400
796
868
74
979
94
612
511
373
226
685
518
318
808
183
744
817
986
363
724
497
918
217
679
887
253
676
815
225
875
99
898
230
180
27
987
591
806
451
393
224
892
935
111
933
896
80
207
399
433
231
945
39
7
504
460
220
881
709
41
402
826
170
326
293
285
58
440
613
830
24
176
323
595
713
692
464
680
869
735
583
905
697
501
55
29
243
597
322
495
629
911
165
801
925
293
415
279
35
878
160
255
425
775
936
690
431
692
253
35
17
895
896
37
659
741
659
818
574
955
858
816
575
733
89
118
698
673
570
934
407
637
57
137
380
527
455
789
279
579
359
605
585
474
811
593
841
314
185
936
308
201
162
638
223
109
475
275
405
622
719
706
405
631
271
548
788
134
515
859
10
669
516
910
189
399
172
650
915
797
949
503
322
122
301
715
606
896
388
556
106
960
593
466
623
763
648
17
786
235
867
406
174
370
522
740
893
532
155
783
450
806
420
582
145
293
603
815
90
138
97
856
787
148
926
601
368
705
601
918
892
754
172
602
315
929
749
408
596
181
548
112
834
230
83
386
52
830
474
528
878
179
525
422
738
655
941
891
928
672
957
900
687
93
277
572
113
721
76
410
881
902
888
148
90
960
424
189
337
552
57
254
807
570
853
746
130
342
519
554
635
67
536
286
336
475
135
30
151
133
845
754
175
708
908
810
659
67
613
793
711
94
278
998
935
816
410
525
150
622
172
140
415
163
635
34
998
595
712
278
264
854
301
425
8
541
497
720
558
948
424
661
918
230
280
305
496
225
975
30
87
254
194
518
392
403
254
287
443
926
385
707
608
669
971
536
452
571
350
27
72
375
183
504
228
576
404
864
65
423
89
799
365
550
793
492
696
859
458
456
956
449
283
649
514
613
766
690
146
957
613
766
211
227
556
48
284
55
219
862
258
513
759
844
571
285
636
694
436
690
750
564
794
329
398
832
484
528
965
349
838
604
717
899
434
780
561
923
453
5
968
958
431
773
126
999
179
365
50
460
494
759
847
510
929
316
506
849
505
184
216
905
365
397
5
718
779
808
961
906
98
796
699
493
831
719
79
597
738
956
828
419
515
292
133
542
468
899
53
218
283
60
765
870
309
46
327
87
859
690
584
320
400
102
225
774
629
780
490
573
235
397
901
793
541
245
879
98
695
378
924
564
815
366
746
373
58
569
196
311
781
726
693
282
947
740
403
732
699
97
411
371
481
480
316
394
914
675
517
945
177
721
564
198
551
363
241
921
647
147
875
573
349
293
526
625
922
899
919
226
144
820
559
951
546
836
802
3
478
220
557
822
723
793
431
236
289
981
999
800
370
73
250
821
588
745
853
390
228
287
112
159
995
620
368
183
181
912
464
709
683
141
821
199
487
825
713
566
275
17
938
709
623
234
232
868
508
163
549
365
770
182
141
124
671
793
689
776
413
469
109
998
992
332
677
532
481
374
563
927
893
449
237
34
485
497
773
992
607
214
74
235
717
256
966
552
732
641
155
695
997
122
48
144
611
142
132
599
323
753
755
1
402
783
47
972
332
922
218
625
708
115
698
962
808
850
937
551
770
146
750
401
237
956
926
610
546
62
866
701
38
865
635
862
538
567
497
866
714
241
730
637
627
701
169
177
717
17
444
940
56
323
914
594
256
186
731
510
811
632
553
274
773
730
56
759
157
912
698
256
376
854
971
698
70
621
662
438
619
487
911
746
422
745
933
7
957
389
427
183
549
738
102
875
89
174
413
88
465
469
660
548
435
9
13
586
512
56
7
950
417
927
455
227
373
247
647
646
177
431
201
633
810
272
824
387
613
810
946
262
698
289
65
756
891
168
246
883
674
502
778
724
595
511
917
763
499
923
561
872
310
158
804
549
236
829
660
987
585
452
681
693
773
954
162
126
482
901
674
699
92
765
803
370
118
766
389
985
902
889
740
356
243
600
851
776
286
903
863
469
77
37
971
121
375
485
172
582
810
289
242
369
480
787
385
217
64
416
803
149
774
989
870
575
949
130
52
671
508
583
948
286
328
707
185
375
143
601
620
497
20
775
221
591
947
556
419
333
127
893
512
357
845
820
73
404
345
34
162
449
886
667
695
421
576
297
109
503
466
430
80
705
202
165
220
421
140
449
748
696
633
509
625
963
239
690
994
959
581
376
721
840
931
785
270
83
272
462
625
751
387
199
255
329
160
420
66
393
744
934
67
241
452
747
365
474
146
256
367
757
576
553
667
871
487
787
69
547
51
999
778
665
813
857
626
999
183
2
774
294
197
202
830
772
585
931
697
656
207
23
988
737
930
715
198
681
567
279
422
379
152
237
678
256
45
194
528
558
379
724
941
40
131
461
752
133
746
330
485
659
634
957
644
11
576
429
103
790
572
796
641
841
202
505
636
792
533
103
531
619
865
141
87
77
3
634
65
85
237
937
261
192
775
378
101
529
715
326
534
118
650
205
227
477
776
494
83
246
940
537
533
547
249
122
447
840
962
485
755
302
902
961
201
646
339
413
686
289
482
234
154
95
659
715
183
53
819
904
293
973
401
363
419
260
283
756
961
649
678
204
664
645
472
228
893
707
544
872
567
510
418
26
124
754
678
693
266
505
31
890
279
779
668
33
965
754
177
326
274
253
23
245
649
922
205
100
626
675
31
924
780
408
968
366
846
291
640
534
840
928
192
818
0
98
76
324
759
622
189
281
667
685
934
525
358
795
184
376
108
668
272
417
926
766
140
599
972
136
517
89
799
36
459
557
392
499
522
441
457
79
361
803
636
850
781
542
515
338
928
976
230
32
139
79
292
857
962
418
215
936
122
692
715
82
246
623
449
705
123
968
82
430
97
604
692
624
756
702
714
171
24
961
233
75
263
811
31
33
457
523
942
623
519
873
320
271
266
858
381
516
688
914
546
716
780
814
492
836
614
895
245
215
965
922
949
819
297
206
159
95
103
857
373
941
261
187
714
510
531
17
922
586
591
202
145
131
941
855
33
197
512
424
279
553
270
214
853
105
634
106
873
351
48
412
411
885
641
191
402
331
923
949
977
40
389
676
543
21
750
788
870
175
542
814
930
293
939
731
894
341
203
609
516
158
942
478
32
965
465
490
419
416
128
670
610
782
364
93
587
814
617
291
397
12
69
592
187
431
176
308
729
951
35
905
676
606
602
464
561
452
624
715
738
799
488
887
298
16
980
615
787
415
265
646
203
100
813
135
306
623
871
378
995
761
638
694
635
829
325
549
829
401
298
522
502
82
828
462
580
794
101
346
287
932
583
768
1
710
540
440
515
699
182
941
743
579
519
589
141
867
36
801
377
220
500
79
426
328
375
776
231
154
60
824
406
832
938
860
213
470
100
186
902
42
442
762
547
861
438
31
544
41
104
813
449
950
639
187
805
492
978
457
102
311
959
548
469
149
909
700
490
86
852
34
797
755
683
766
842
865
729
229
0
532
583
775
720
59
262
712
247
468
479
711
926
442
312
745
757
355
67
120
333
952
468
851
782
1
877
463
647
429
995
379
492
5
79
88
225
564
896
856
516
562
628
827
680
685
876
814
853
623
104
908
708
536
83
699
530
812
962
458
547
348
817
365
415
245
973
876
168
195
375
839
570
458
591
837
774
213
63
766
137
794
175
927
786
807
121
943
679
79
585
189
993
923
855
849
356
223
836
671
668
714
143
888
876
535
172
279
909
294
627
959
277
486
999
704
475
881
111
608
124
166
508
779
714
870
692
337
150
893
811
264
454
975
306
469
577
988
914
151
860
320
15
122
420
152
462
330
610
769
53
666
864
947
237
978
111
949
95
253
202
604
422
124
692
119
983
144
408
502
432
200
666
512
284
160
986
917
73
110
494
825
679
457
518
869
783
90
761
296
742
911
544
205
972
181
564
337
129
487
447
745
275
620
221
453
533
908
409
959
973
8
314
113
216
60
982
837
19
597
236
554
725
601
325
698
908
848
59
70
359
567
765
343
579
722
403
84
860
240
96
846
706
748
556
936
644
573
114
648
112
754
541
246
765
560
972
283
285
782
615
175
408
71
80
281
316
716
738
189
21
739
919
572
680
559
95
933
100
773
465
469
140
666
231
567
266
315
32
919
867
566
785
668
237
569
469
541
910
763
868
38
84
544
421
558
753
370
537
257
47
799
171
963
764
465
575
432
622
261
87
144
871
670
828
432
637
352
658
546
631
830
476
179
364
132
676
915
415
23
204
716
318
29
137
397
75
766
778
159
794
8
322
594
527
829
271
909
700
41
662
68
342
303
831
858
232
669
899
980
381
603
263
567
34
462
207
614
343
373
428
169
791
57
884
373
689
674
545
838
701
38
375
626
852
607
419
763
682
441
479
15
497
497
527
714
77
217
427
627
731
750
919
608
839
320
485
459
372
294
388
454
269
36
101
24
332
122
881
449
804
982
949
23
305
207
278
782
902
282
391
388
289
735
826
639
544
72
178
540
865
106
555
287
771
835
967
531
279
41
188
974
946
59
654
432
134
394
961
971
503
204
865
738
851
576
637
395
907
286
748
675
601
151
28
145
553
942
222
690
425
598
730
260
26
307
678
363
947
277
65
530
157
570
430
87
736
761
616
898
789
764
351
327
969
994
451
101
871
595
315
147
334
241
85
730
264
64
411
991
265
155
90
690
146
284
269
604
874
545
917
88
517
439
195
282
369
98
825
194
722
613
655
82
102
384
577
523
93
455
89
432
435
477
588
63
701
464
426
453
645
917
790
375
817
758
407
702
305
713
226
590
309
699
493
136
229
659
1
921
678
671
291
69
842
828
717
441
528
386
406
674
707
96
822
315
835
121
927
107
705
682
793
763
734
500
30
463
78
682
290
200
520
834
208
341
962
812
387
474
184
958
316
367
922
567
739
197
466
906
771
823
431
138
181
479
180
556
140
298
102
88
785
335
572
654
143
705
239
906
48
988
433
190
956
373
769
475
621
567
732
993
972
624
381
573
684
928
654
984
525
395
271
948
982
666
135
272
153
48
523
56
144
242
13
519
91
404
777
606
274
332
797
413
202
964
360
774
904
611
404
260
861
83
360
970
373
572
947
639
930
614
533
325
213
502
706
193
242
734
172
211
53
12
393
948
365
427
924
430
644
859
506
261
421
5
400
86
718
702
465
285
364
393
822
968
331
524
814
413
275
923
794
843
812
724
785
962
783
893
58
145
805
602
926
388
537
927
432
126
271
566
178
615
510
45
253
887
458
570
94
968
134
400
450
336
181
602
853
300
2
20
888
297
892
452
894
700
104
208
750
822
297
36
207
446
547
533
532
459
364
90
591
54
42
103
12
554
838
300
868
49
834
60
826
895
862
56
758
948
989
452
605
224
95
83
177
708
352
201
587
567
32
115
952
230
19
46
632
575
815
224
735
312
998
686
53
999
898
606
303
172
399
912
99
282
159
924
391
154
251
192
283
76
309
635
722
980
505
668
939
682
137
431
540
828
49
383
411
111
755
807
240
990
632
633
334
746
896
810
962
993
416
70
789
15
541
125
742
595
171
89
320
295
133
187
388
211
768
381
979
230
706
360
315
718
302
969
613
33
314
354
160
531
68
351
505
278
596
90
834
334
294
591
493
397
932
602
239
746
186
402
216
430
973
267
687
438
225
59
913
853
427
81
262
23
434
590
993
849
637
744
127
254
910
594
537
161
692
906
129
273
809
540
943
176
293
613
618
599
96
429
849
300
458
361
545
499
972
993
822
691
402
571
25
783
798
986
316
805
423
423
43
153
550
172
534
21
611
752
426
794
530
639
223
264
167
221
708
740
773
564
135
288
996
200
943
135
674
509
799
381
90
710
478
392
997
296
547
224
85
904
183
724
235
41
412
258
422
896
191
745
324
424
579
161
212
717
460
828
772
502
228
661
53
463
811
361
954
200
722
999
699
476
463
675
723
333
199
956
5
925
817
711
926
779
132
427
322
542
650
511
142
490
110
753
655
977
157
657
479
570
619
53
821
755
423
618
662
445
452
952
659
799
478
43
732
313
319
550
707
679
738
821
43
974
211
1
520
626
46
542
550
587
861
914
947
901
744
186
167
488
886
246
11
10
413
372
86
531
737
101
347
801
594
759
809
979
676
127
191
893
227
745
685
330
428
430
25
988
781
927
356
298
303
189
313
372
351
248
453
908
104
265
996
350
853
512
728
782
193
3
841
824
579
775
36
121
42
113
108
481
842
532
989
429
803
371
708
136
445
512
791
486
999
869
152
161
180
12
465
326
724
596
139
24
332
28
101
412
204
240
68
31
801
91
19
898
580
111
380
236
447
513
211
531
679
636
810
922
859
989
211
780
187
133
860
820
103
864
162
667
665
361
927
641
972
887
685
532
695
275
343
643
233
344
723
110
765
895
971
704
654
404
692
673
195
623
897
637
589
858
378
163
640
957
76
476
486
54
56
372
719
750
122
356
298
514
751
673
296
710
293
716
889
352
430
649
877
524
628
219
302
970
945
979
678
483
252
434
953
387
554
162
862
961
321
500
762
926
786
603
141
190
107
252
252
454
172
566
433
577
160
535
795
637
352
559
581
650
42
409
720
619
678
806
797
525
863
910
906
919
520
830
729
374
816
319
448
498
259
542
385
558
332
877
88
191
45
366
552
532
186
60
607
797
240
546
539
416
217
618
701
34
701
177
610
170
919
90
325
58
429
811
998
411
384
821
707
633
54
245
167
784
392
902
754
328
392
57
688
313
471
714
636
68
985
647
859
155
431
360
837
611
257
638
357
59
585
540
136
822
242
177
628
112
330
257
763
87
68
510
76
786
140
233
936
734
116
333
713
588
507
386
761
350
755
307
371
66
931
23
285
694
608
487
685
241
18
508
38
762
870
295
550
700
795
648
542
112
270
15
447
125
156
412
989
719
505
415
492
177
276
236
851
944
879
542
593
259
634
573
328
954
19
601
141
429
399
402
48
974
886
328
360
998
699
497
552
765
311
179
484
144
785
58
488
962
995
871
287
834
109
999
993
215
329
130
460
567
567
714
766
29
283
170
980
169
254
963
440
355
827
850
203
634
60
163
813
515
800
975
901
793
59
368
458
362
341
500
797
30
10
658
936
980
785
433
468
520
258
907
718
633
727
850
955
637
230
236
837
298
19
952
876
524
762
28
118
535
997
544
856
775
308
503
91
288
93
200
520
834
440
163
544
956
410
922
748
139
102
783
428
379
194
114
251
670
968
799
677
132
913
562
542
991
675
987
731
802
7
648
889
399
275
181
497
181
865
733
879
79
320
417
964
330
28
500
772
871
89
321
72
836
757
451
53
374
547
702
433
901
350
971
531
146
875
219
40
916
796
160
470
716
89
863
161
80
784
689
89
425
452
759
706
240
136
819
959
510
274
640
831
996
887
121
241
256
187
989
761
806
38
480
966
913
151
840
890
844
731
147
984
995
393
543
265
600
418
436
399
366
492
847
728
193
711
505
309
33
41
719
191
825
55
80
150
135
76
69
755
934
704
989
58
145
975
763
374
8
329
547
336
749
354
635
34
542
760
837
825
371
794
276
605
72
850
503
605
222
857
392
346
18
56
228
676
797
67
666
765
624
974
402
677
881
481
608
370
213
399
204
367
782
998
80
564
934
972
757
902
496
558
807
516
921
722
948
695
774
185
610
966
887
157
584
225
706
690
170
27
736
773
597
511
673
103
514
235
634
40
331
801
617
507
42
749
145
960
97
773
610
372
500
357
720
611
36
371
517
24
73
737
335
294
596
801
257
22
387
481
271
633
161
481
504
592
487
877
845
517
273
283
184
697
510
677
176
684
441
275
916
79
461
705
288
585
474
747
117
65
873
975
308
267
174
782
18
696
599
450
10
451
488
826
435
337
141
341
171
714
798
60
318
994
383
646
342
845
75
477
177
603
233
687
206
184
194
383
685
784
121
42
669
33
60
548
420
505
437
279
930
748
293
573
791
728
664
662
595
554
545
788
280
722
714
191
545
580
567
66
190
367
542
190
456
816
956
159
287
800
539
550
762
999
794
170
312
644
760
322
125
240
694
496
17
945
805
760
263
115
214
569
185
500
418
9
896
187
933
608
902
504
919
457
80
699
579
901
433
642
417
18
912
889
308
382
622
874
69
522
527
34
192
124
117
328
280
955
167
191
175
32
916
761
850
466
344
243
515
355
682
692
878
930
647
263
805
72
85
640
693
55
871
176
32
4
786
191
412
424
529
440
44
789
456
907
959
518
870
162
249
894
616
988
513
683
48
346
821
973
733
344
548
980
18
616
613
834
200
917
577
660
308
745
562
48
380
484
422
599
70
802
58
686
424
398
394
967
623
759
695
134
463
115
189
197
479
697
643
279
300
629
22
773
557
411
271
3
715
879
62
282
333
270
127
280
492
455
277
490
344
342
466
131
625
177
867
546
319
975
240
936
702
360
816
821
280
595
718
609
439
523
188
878
711
621
815
721
460
480
276
78
607
425
237
577
33
223
535
524
561
641
369
246
300
381
865
643
488
968
941
489
804
408
531
202
858
359
856
934
942
153
274
945
605
123
943
377
231
517
416
491
768
482
320
993
735
971
44
505
570
464
138
483
673
31
126
222
657
102
348
61
575
963
82
135
964
845
224
83
577
558
579
639
515
373
582
858
483
617
52
563
667
586
809
348
204
956
167
682
245
715
737
682
768
175
409
657
228
895
382
905
536
323
48
274
949
909
897
617
977
72
735
815
653
808
120
60
100
469
170
911
18
874
508
102
825
805
881
464
629
194
241
248
344
782
380
343
609
557
919
471
686
338
215
155
823
170
470
445
3
601
342
185
646
615
558
943
995
622
438
395
896
724
168
525
80
394
11
569
405
14
19
227
986
973
773
179
500
530
223
501
547
842
728
673
506
169
803
537
280
494
698
543
121
573
834
432
239
918
913
158
107
143
260
624
771
508
8
334
582
394
318
679
687
571
377
271
593
743
492
104
613
109
287
449
77
540
587
893
555
485
721
389
120
224
737
187
870
57
693
275
298
627
862
394
250
42
968
241
492
30
124
387
982
310
887
921
823
476
199
400
247
857
383
551
735
231
207
767
901
730
434
733
732
146
522
670
375
733
420
748
710
879
207
924
962
69
411
308
617
346
731
513
381
383
627
984
265
281
343
904
216
418
221
982
466
528
478
943
7
699
346
836
865
340
690
284
121
297
843
11
603
854
667
44
323
115
283
517
667
857
603
371
691
273
119
558
4
876
494
110
324
897
182
231
42
526
321
848
280
474
388
974
102
816
233
934
276
863
441
600
976
770
344
364
596
254
239
619
744
992
926
430
254
739
815
496
246
917
519
822
500
882
217
83
705
18
584
279
761
617
461
894
816
204
89
965
221
459
283
682
491
250
832
549
610
157
671
236
567
671
710
402
47
26
683
601
405
359
491
827
367
261
876
125
895
688
363
417
601
493
183
142
990
969
974
769
386
837
739
2
649
921
101
535
702
652
378
603
217
102
378
949
679
393
368
921
459
667
623
665
710
223
989
756
481
562
364
292
987
948
33
865
181
654
516
786
959
987
404
17
727
656
58
356
461
185
224
498
644
641
199
409
802
760
871
594
644
117
591
476
444
872
983
898
371
963
461
320
450
192
430
108
791
853
716
433
12
857
638
709
802
292
906
811
836
792
382
93
954
321
189
579
971
146
67
817
220
767
912
507
80
866
240
576
900
990
261
843
553
847
946
945
54
740
672
838
560
34
885
445
237
671
164
949
267
720
68
664
105
316
76
230
446
271
977
862
349
155
194
559
358
244
602
185
876
748
237
143
46
775
256
222
753
706
496
390
257
506
428
695
158
685
389
325
947
469
315
297
776
390
641
294
879
12
698
511
862
976
227
115
453
638
813
687
208
399
486
189
509
158
792
38
265
723
799
81
677
679
549
548
177
847
133
776
976
133
595
138
602
832
901
446
581
909
98
263
987
288
887
141
124
836
469
989
255
133
872
53
734
331
609
152
515
103
982
519
333
690
484
35
977
197
567
196
538
934
809
659
826
767
856
756
707
515
366
153
633
246
617
856
619
890
534
376
797
233
493
822
799
828
885
547
464
308
462
459
847
669
820
741
375
867
542
43
558
595
3
577
657
616
646
531
480
610
969
9
378
496
427
54
668
14
929
129
59
670
265
802
603
561
488
130
83
991
401
242
116
478
616
690
16
750
52
277
572
705
87
584
197
35
718
617
979
440
152
419
834
89
798
643
356
286
638
355
53
179
567
954
491
189
655
772
999
65
369
532
836
817
908
664
961
723
438
364
535
696
426
844
152
724
845
49
412
875
120
435
981
806
101
931
848
739
50
828
693
102
133
570
350
982
468
97
995
46
626
611
121
90
932
111
334
141
882
112
41
264
360
896
269
871
700
484
899
550
982
331
415
459
67
169
917
246
715
283
999
330
953
890
372
973
451
945
785
452
118
617
201
539
742
969
879
283
547
872
512
69
916
789
778
722
78
465
727
217
822
407
661
507
467
876
57
700
556
680
767
496
13
537
343
862
860
674
903
457
212
580
769
968
167
578
675
478
671
89
410
975
768
573
416
196
744
981
854
792
822
329
40
725
163
61
396
984
972
970
59
681
11
459
348
385
272
974
294
583
784
942
122
868
92
411
62
972
329
128
217
866
209
866
631
594
375
684
559
851
937
58
909
261
853
213
333
499
319
651
844
487
881
807
251
933
587
353
434
706
917
173
65
935
372
654
481
341
69
833
863
796
192
144
518
303
286
108
504
679
218
69
195
459
676
729
163
56
75
23
389
290
617
118
96
460
320
647
95
830
604
893
845
949
725
401
136
519
400
717
996
183
320
625
266
768
1
190
974
34
581
223
501
651
256
801
264
715
90
857
398
423
280
380
979
131
795
660
0
174
849
409
185
496
599
431
989
58
649
498
519
484
134
519
4
361
959
468
680
991
946
578
974
164
905
882
532
63
881
260
766
233
417
504
36
969
310
54
294
579
862
811
659
872
704
395
51
763
553
180
419
531
539
370
667
314
50
628
233
277
802
827
489
159
586
444
319
454
226
664
492
907
407
833
48
991
320
261
49
783
807
976
145
942
560
192
708
968
320
309
919
65
17
360
383
2
130
719
681
20
104
157
535
767
129
767
384
541
92
239
590
203
694
866
745
676
805
261
941
347
593
248
517
657
494
304
92
491
602
492
609
308
353
91
29
743
411
363
527
800
392
566
84
105
653
521
283
710
441
636
815
537
910
846
511
846
253
22
460
218
502
608
331
286
228
608
51
236
156
542
756
197
269
645
873
62
841
477
833
675
912
947
973
54
705
684
893
672
829
386
603
603
642
767
820
539
816
263
619
281
490
392
739
689
786
50
139
465
869
996
60
180
574
116
323
245
633
900
907
102
12
350
557
230
743
192
826
196
91
977
870
949
594
867
858
345
662
456
129
712
240
194
313
394
659
218
708
1
253
83
826
715
108
858
405
608
747
514
580
886
930
716
736
25
659
372
37
46
374
581
171
238
434
270
677
977
470
870
736
296
463
511
498
904
954
31
67
741
664
827
649
62
147
871
318
207
883
687
158
386
782
142
207
352
978
953
935
766
715
565
136
478
773
190
718
537
372
940
905
118
794
222
208
660
847
701
477
472
45
690
640
843
587
56
474
398
594
664
460
383
937
809
174
562
157
989
493
554
640
601
517
342
617
33
803
804
463
806
333
111
930
551
880
519
87
666
514
849
737
299
434
392
259
407
578
694
458
553
223
881
292
218
374
562
827
643
329
469
765
229
698
913
911
427
290
709
54
346
976
776
56
797
396
772
246
522
142
925
56
65
343
564
282
658
346
372
408
543
461
5
685
995
894
438
203
158
347
213
706
240
253
356
185
399
896
277
678
63
602
806
483
833
80
814
169
683
145
73
510
88
749
969
179
140
416
418
634
142
348
986
253
250
657
130
151
262
443
118
235
285
906
538
438
463
965
986
389
438
66
481
511
520
542
709
357
65
417
104
788
805
6
797
942
841
633
863
664
976
383
658
59
116
546
790
703
608
868
710
462
348
809
915
187
916
364
324
792
714
925
282
606
48
240
435
58
805
400
122
470
228
953
17
682
351
648
503
573
172
810
353
506
773
962
190
681
765
472
409
204
655
657
467
574
722
307
655
871
555
368
44
289
452
726
108
172
406
806
137
316
114
671
243
841
24
863
498
332
15
223
509
934
896
880
266
35
834
813
328
351
341
378
354
739
798
691
680
337
5
363
718
892
441
624
837
816
474
809
743
440
110
317
113
274
321
122
151
724
658
258
870
477
433
949
26
764
157
972
297
872
871
464
378
358
106
572
848
810
429
652
341
175
200
345
99
413
621
564
252
331
505
118
89
711
607
201
228
516
31
734
585
289
555
351
226
442
839
109
873
711
227
194
90
935
690
10
849
499
951
468
87
887
715
992
827
954
362
508
744
986
258
121
150
281
661
135
536
410
369
272
283
320
834
647
620
22
814
960
4
901
238
975
807
890
830
307
39
390
573
522
178
770
830
725
404
226
87
694
660
784
576
11
911
911
793
396
672
96
547
235
518
929
615
301
369
22
671
82
782
161
437
214
268
723
626
529
612
816
923
279
162
200
995
324
415
791
271
166
722
897
609
775
851
194
616
516
178
77
841
650
354
502
386
549
893
258
812
986
803
302
309
494
316
563
641
679
935
355
367
805
526
66
96
687
132
657
969
253
435
369
767
883
670
432
103
929
524
291
765
761
21
719
428
289
912
434
640
572
132
679
808
635
310
751
739
184
468
235
549
982
383
667
273
86
36
390
173
170
570
887
135
430
779
656
674
753
219
665
906
950
11
461
65
759
752
831
817
985
816
233
103
934
745
143
955
797
231
262
516
967
446
657
556
170
8
823
881
591
626
584
381
124
727
959
181
489
519
310
211
783
551
848
151
842
808
106
274
680
347
914
354
746
6
550
817
793
910
211
583
78
383
402
443
825
282
405
301
427
941
708
195
40
1
836
242
200
194
367
576
717
459
226
627
454
228
791
759
955
658
488
93
329
127
939
264
320
438
574
328
365
320
796
653
483
360
621
944
582
234
276
558
697
436
104
173
131
723
69
989
71
507
240
244
842
843
715
71
731
829
361
547
21
36
355
867
270
558
57
252
145
169
468
888
743
598
296
110
245
680
313
150
219
822
942
602
255
226
558
362
767
449
66
234
845
427
435
159
795
481
354
753
295
878
678
267
864
969
827
403
663
522
475
878
255
805
160
438
660
913
856
50
555
224
351
415
501
966
825
335
588
243
576
919
186
702
1
122
295
564
34
832
801
888
934
890
147
134
552
526
337
920
819
123
347
354
424
233
391
57
185
19
806
780
564
277
307
940
446
67
64
939
818
489
964
219
893
306
162
963
524
992
304
183
545
171
712
162
673
676
354
998
263
496
892
532
453
411
673
977
573
659
354
431
129
163
198
543
927
290
546
983
846
573
733
90
113
422
975
134
947
172
619
896
516
108
347
567
982
993
482
90
936
686
832
390
546
894
563
859
921
961
121
255
112
651
306
743
682
33
912
479
699
493
441
233
150
925
880
366
381
370
983
192
195
467
237
568
641
329
467
730
189
854
709
227
320
486
972
611
160
589
290
383
370
372
867
351
711
274
696
212
599
818
441
732
326
678
23
893
365
428
453
194
58
500
113
546
725
973
184
67
690
686
478
233
113
439
901
504
801
813
507
530
846
561
536
175
310
234
475
585
486
48
562
510
492
669
392
59
503
375
926
994
129
881
537
117
534
652
334
599
504
125
81
325
68
997
635
36
384
256
804
577
995
983
572
303
727
990
864
536
79
870
10
579
671
413
14
872
908
920
233
818
143
14
771
479
695
195
742
17
200
463
285
20
808
89
104
220
943
276
699
77
661
410
971
31
379
705
554
834
371
270
521
536
250
274
555
667
806
134
760
608
593
950
39
720
589
952
910
560
133
231
601
563
283
249
685
744
56
920
791
374
229
316
110
129
630
919
959
93
988
558
232
55
107
746
287
947
490
112
392
263
860
433
77
5
783
623
573
897
584
873
351
389
529
280
106
252
111
239
685
203
782
814
227
186
217
158
473
153
946
909
204
686
113
938
316
551
874
977
381
309
470
198
262
476
633
111
626
310
658
399
524
164
949
580
578
98
710
915
892
259
615
256
985
782
584
140
18
657
232
505
647
10
559
470
533
612
194
714
832
62
200
728
172
440
882
263
74
576
300
743
604
375
986
974
496
124
598
507
212
907
631
174
277
125
338
879
141
864
92
213
800
634
142
862
920
255
351
708
479
278
445
835
246
970
284
833
768
395
236
380
151
432
140
91
220
0
359
164
649
982
81
938
435
638
701
358
999
149
540
140
648
261
883
968
29
51
625
157
356
62
386
235
451
904
304
563
351
964
146
437
31
799
733
901
364
839
486
656
458
322
640
354
330
840
676
828
463
199
550
439
941
132
130
525
666
464
924
162
356
774
577
654
98
708
511
734
114
86
420
293
462
30
316
852
169
10
719
63
55
682
952
911
669
976
334
143
238
345
236
140
187
570
570
380
242
866
197
291
394
307
572
970
47
229
515
847
579
834
143
695
744
755
998
221
369
515
696
603
675
306
80
53
758
639
401
800
200
91
651
872
887
364
226
27
572
39
819
896
812
151
126
126
20
437
694
137
704
846
813
333
408
811
441
48
642
25
526
885
677
996
901
67
262
818
304
676
453
146
54
226
707
834
402
993
102
150
564
724
931
170
163
505
70
122
176
304
774
255
743
715
532
864
809
52
873
898
452
403
295
166
911
275
576
815
429
594
402
269
559
76
787
432
821
522
234
572
786
528
504
941
275
120
503
894
951
625
833
953
228
196
551
830
383
513
995
278
748
268
497
604
446
8
129
540
847
58
155
566
110
925
472
935
26
106
948
882
844
871
466
657
788
276
881
621
494
770
155
376
521
927
890
230
12
657
248
897
513
937
158
318
430
78
275
759
729
634
269
628
231
523
465
244
882
677
583
591
559
784
49
775
391
845
387
588
3
627
648
991
935
365
719
884
461
934
479
909
158
571
76
692
323
577
861
548
640
721
785
451
736
962
998
70
577
553
770
174
320
913
556
631
82
267
412
901
992
280
601
472
261
92
28
850
806
984
957
679
208
880
968
21
439
686
785
967
272
76
549
721
965
585
730
252
752
18
699
63
667
188
402
545
141
663
340
495
883
567
832
434
320
334
999
590
252
867
193
623
786
556
558
282
977
389
802
0
163
998
466
579
835
44
812
71
940
49
264
226
551
437
955
694
157
899
177
4
257
131
870
682
473
597
113
870
517
592
381
625
206
454
401
653
565
247
449
333
264
602
750
979
914
946
31
310
385
108
353
431
771
369
66
237
530
587
257
977
774
33
790
534
292
377
488
411
470
309
953
928
852
124
91
565
688
38
792
328
712
198
368
949
640
12
338
550
534
990
205
223
240
301
365
922
229
426
556
236
742
620
557
722
353
401
489
728
529
395
714
25
718
705
578
446
963
927
590
467
116
952
45
640
743
800
466
742
566
737
642
110
629
408
15
801
426
997
30
228
808
538
599
405
27
986
594
404
948
729
781
586
575
97
190
269
37
804
232
575
705
315
245
2
598
896
851
210
242
190
166
159
580
928
625
30
871
278
402
384
223
632
191
120
450
290
615
809
842
720
724
12
269
422
664
667
39
634
459
497
254
49
693
61
134
75
886
403
2
220
824
204
383
177
726
759
752
880
437
753
45
157
607
516
745
369
155
567
352
316
631
627
130
312
93
563
531
269
395
385
510
74
201
160
787
644
277
454
674
264
701
823
939
840
319
864
618
677
171
958
135
115
429
358
564
425
720
826
572
516
284
488
149
139
925
838
499
885
891
526
145
227
890
60
939
752
455
768
193
793
395
195
308
15
937
130
711
194
383
959
708
529
409
472
901
315
31
515
177
682
796
74
831
350
642
930
317
683
713
276
79
522
7
511
702
391
259
686
586
108
963
626
528
357
695
119
136
698
570
887
213
245
529
938
459
62
425
976
941
358
487
312
653
569
944
685
933
861
195
72
480
375
995
929
747
597
603
786
808
485
11
979
821
319
24
694
912
280
829
106
952
713
325
613
753
972
446
936
631
115
611
494
686
41
865
739
859
190
568
686
634
84
769
362
142
680
539
842
71
104
659
154
36
227
957
336
527
799
166
215
531
197
884
448
653
348
532
4
34
848
157
450
273
741
428
469
893
151
779
430
231
70
661
538
168
529
631
63
105
68
464
355
556
806
446
950
724
922
608
544
670
441
705
824
436
289
176
875
837
468
463
484
547
406
106
279
781
712
305
548
312
445
996
454
545
328
207
68
144
885
47
590
452
634
953
0
672
236
386
286
370
170
630
382
651
18
915
854
236
14
635
909
482
233
868
219
525
580
934
770
705
142
56
899
928
599
691
662
13
635
665
376
452
481
474
111
699
329
137
379
565
896
145
757
710
640
221
846
853
666
136
829
586
326
710
861
360
3
89
38
587
295
28
468
868
783
289
871
105
107
612
379
664
776
375
378
20
907
246
392
30
565
339
453
929
869
914
784
425
595
237
947
200
262
197
563
309
643
226
619
94
700
152
291
14
560
975
665
271
651
218
342
580
405
614
333
302
938
999
194
719
316
561
159
516
960
564
309
654
672
88
724
504
294
101
908
746
167
250
640
552
809
913
229
176
584
970
107
655
232
146
881
381
597
648
721
486
910
490
604
38
84
674
402
721
878
129
277
785
789
312
286
125
628
895
128
761
997
833
381
22
972
476
427
571
246
576
817
236
155
240
944
496
417
104
98
595
882
120
943
664
883
682
94
179
54
801
289
483
696
615
0
445
90
88
94
778
613
806
139
331
515
947
695
970
29
605
515
702
527
653
608
780
390
588
181
276
263
60
663
141
324
990
689
124
384
127
526
131
502
898
235
332
667
954
805
399
945
374
352
930
448
65
102
920
81
859
97
935
543
588
135
3
801
17
1
808
445
800
330
40
673
16
984
158
97
235
170
452
453
911
946
886
271
44
479
647
72
507
159
581
184
962
191
0
156
195
235
556
871
283
507
149
459
222
666
66
720
923
731
20
854
179
559
62
825
583
201
571
413
958
66
225
275
148
211
403
155
289
147
846
732
878
876
232
688
621
609
209
223
902
750
573
904
938
740
251
424
922
844
556
240
524
54
527
300
939
502
289
86
533
477
535
882
524
841
525
859
643
748
936
654
967
157
392
374
109
37
867
475
372
324
538
997
510
884
65
102
416
199
280
384
660
378
989
923
711
311
958
404
924
143
265
187
789
469
302
732
960
516
536
540
618
948
322
77
668
339
690
178
212
612
88
431
806
394
490
644
285
313
968
851
683
193
775
471
462
856
77
648
564
62
141
450
842
25
370
563
766
471
394
44
901
51
956
201
654
987
655
458
247
658
500
28
235
800
184
346
705
184
233
698
718
824
929
371
696
858
168
468
420
787
444
16
905
594
563
189
486
910
761
750
527
18
270
148
546
232
416
991
814
270
795
448
744
495
364
436
416
730
880
723
615
505
277
882
129
134
181
747
211
196
40
869
847
622
320
942
253
719
338
664
819
187
69
886
703
0
711
400
886
219
293
92
527
51
85
993
344
562
839
22
895
62
328
975
292
997
143
672
30
809
892
945
547
810
259
96
552
289
180
605
999
660
447
669
34
602
1
814
338
875
35
39
773
939
784
453
141
9
873
713
163
69
475
582
446
244
971
867
230
312
196
563
541
936
9
594
802
646
151
259
127
835
3
914
256
758
919
225
470
416
974
858
663
550
448
513
535
481
128
396
902
948
538
737
906
68
68
80
828
391
799
251
363
242
244
526
716
614
176
120
4
427
961
995
160
698
526
753
801
769
23
997
771
313
672
918
258
299
122
34
41
79
126
363
251
744
566
901
674
799
576
890
97
786
396
923
3
118
624
113
110
171
127
315
519
713
441
580
978
63
128
421
28
208
728
415
562
632
944
180
657
612
534
563
839
218
147
416
371
874
282
335
211
881
152
642
956
771
103
955
662
808
593
662
141
386
9
517
73
118
298
697
216
527
365
267
791
25
112
423
15
821
728
213
69
444
898
896
987
385
393
559
779
609
790
572
974
230
540
111
655
912
824
875
911
706
448
596
34
469
542
811
224
252
395
494
259
807
476
916
347
134
186
215
779
71
149
185
180
621
532
582
90
242
416
280
685
741
995
88
785
988
327
25
59
771
35
545
608
980
895
247
573
173
109
443
824
508
322
700
997
941
559
358
554
42
662
178
591
457
157
702
818
467
885
804
695
181
235
720
197
207
847
980
402
588
683
410
688
299
878
880
680
459
293
617
372
851
841
383
261
978
206
49
137
173
926
56
380
404
672
802
857
503
188
254
650
719
768
531
624
410
997
566
480
673
322
28
46
662
573
137
606
210
489
950
214
350
67
383
52
43
733
644
424
698
189
39
98
630
937
271
472
735
818
232
642
349
483
616
201
301
721
927
880
371
939
757
371
350
376
267
159
229
154
456
700
654
771
285
367
824
703
693
584
272
452
610
224
233
717
889
206
781
139
150
712
68
843
671
829
344
292
420
675
884
459
507
589
976
2
693
578
58
971
156
79
527
980
409
962
227
239
216
558
460
56
192
773
823
730
307
169
561
40
488
102
149
741
670
446
418
450
456
259
357
17
90
211
25
968
65
372
279
935
630
729
96
207
740
740
800
902
72
979
325
40
888
850
893
520
831
796
368
365
56
853
747
372
875
650
286
351
901
988
839
243
486
310
585
711
298
105
933
215
688
288
65
968
628
136
705
150
204
967
421
736
215
258
745
76
687
851
164
930
185
72
850
800
746
112
99
821
709
95
538
852
797
693
468
499
181
331
735
600
885
477
263
308
363
972
351
422
258
314
679
283
154
809
784
608
233
962
8
15
441
567
894
744
418
894
592
804
86
591
733
308
478
447
469
906
315
881
49
681
990
90
44
123
124
159
624
196
379
580
305
696
643
273
797
699
331
67
641
118
197
889
911
99
200
818
192
85
680
917
680
216
188
382
290
522
479
505
559
401
679
843
517
912
762
993
194
838
308
631
216
480
657
673
886
321
895
638
841
771
688
437
599
853
913
55
664
623
443
198
236
566
278
389
475
615
765
544
519
0
128
578
239
137
647
384
354
410
739
159
231
544
456
186
581
589
221
270
646
513
736
924
254
371
489
304
967
965
556
255
935
555
744
715
633
981
241
588
585
259
592
126
379
964
963
965
305
362
446
97
988
495
729
252
779
907
176
955
858
374
719
988
41
550
611
849
243
314
725
981
192
779
351
724
719
639
369
850
101
63
301
653
753
233
554
421
425
809
752
396
902
986
426
139
834
76
188
85
888
273
656
720
186
922
84
221
837
560
945
63
116
503
458
930
719
254
649
432
970
164
936
592
766
110
30
323
735
588
404
180
737
956
763
73
514
327
736
619
842
729
595
241
668
346
693
703
740
87
806
388
795
197
216
942
998
147
389
675
582
726
570
37
977
360
496
393
387
844
13
812
961
4
560
92
558
599
360
788
285
886
608
88
786
293
895
321
130
563
196
706
637
667
965
580
243
345
929
262
689
682
691
16
85
137
955
892
659
671
105
930
661
81
420
632
90
94
584
450
713
731
565
339
899
24
134
748
830
230
844
747
299
759
514
895
287
820
604
469
465
158
43
100
294
928
802
278
645
696
581
923
765
914
746
823
384
97
919
709
929
117
569
630
450
307
862
102
182
138
292
620
992
652
988
650
673
877
284
553
478
648
579
310
103
711
764
494
143
885
810
145
813
339
858
496
298
668
747
666
811
503
824
874
532
153
565
532
445
336
881
280
17
611
312
7
519
796
376
523
779
434
6
602
766
902
919
142
58
450
403
586
68
383
232
503
938
722
363
968
714
131
544
342
740
331
718
617
719
427
808
823
99
926
703
302
224
391
577
215
454
510
134
151
42
141
854
359
565
466
834
979
843
500
281
747
572
696
675
950
795
981
786
230
697
482
923
354
535
639
582
367
310
585
394
337
920
658
630
537
341
879
574
88
265
746
359
887
388
526
690
363
462
472
728
557
268
191
458
978
750
231
909
824
186
925
491
462
55
821
5
833
102
762
900
527
295
647
293
785
427
995
166
91
875
955
832
599
352
538
222
842
728
690
122
955
129
728
54
108
508
492
286
257
329
867
13
264
629
878
247
693
422
5
462
16
138
435
920
107
539
527
438
462
445
496
575
632
797
312
722
274
110
463
683
525
789
859
389
564
981
329
462
667
753
711
577
708
64
252
780
263
263
445
592
877
497
877
596
575
946
797
567
226
451
658
873
398
79
821
623
554
555
197
342
203
412
108
54
928
416
889
523
220
876
710
220
152
22
330
625
130
456
895
948
890
568
630
213
103
312
130
966
154
859
755
775
765
163
925
934
651
413
334
856
562
992
541
657
354
744
204
991
206
383
500
626
792
968
669
444
27
925
843
659
737
294
967
924
520
82
811
875
533
513
560
196
859
57
753
671
565
515
172
423
283
282
801
848
432
376
247
653
964
385
824
906
482
840
763
397
20
588
125
648
3
532
507
44
677
953
362
80
631
783
771
197
268
695
27
214
356
328
799
883
212
424
420
330
624
569
549
182
450
159
707
354
829
964
460
975
937
707
314
454
274
443
42
116
173
414
115
559
607
224
83
208
104
976
644
510
721
144
187
753
157
356
242
482
866
406
780
980
459
867
180
876
123
479
994
284
207
168
87
433
160
872
616
508
671
390
294
98
301
914
947
629
337
437
855
143
58
484
736
877
694
969
435
972
315
312
793
952
920
385
241
779
623
593
346
437
663
864
338
394
76
233
827
244
155
173
181
196
528
361
901
269
976
610
26
843
829
742
724
507
52
310
429
408
532
698
979
85
920
365
332
837
164
970
531
568
705
801
503
393
367
124
336
527
368
724
229
713
704
515
978
91
831
684
665
864
389
830
451
192
728
442
483
645
4
769
359
458
998
83
442
296
982
697
961
436
894
548
469
814
107
38
90
824
908
114
123
753
302
823
649
690
259
457
528
538
954
462
914
317
169
708
696
925
386
88
928
666
330
597
988
616
823
11
276
620
323
842
481
489
758
443
593
740
930
446
951
518
905
724
23
571
865
758
717
827
292
325
939
888
282
707
244
767
576
740
815
930
61
342
722
298
784
927
393
560
865
327
417
741
581
832
750
611
658
500
797
456
260
377
799
248
559
299
315
599
342
563
340
136
28
133
458
125
490
245
159
892
973
664
615
110
284
279
39
147
735
945
147
559
264
119
543
585
824
450
386
239
913
710
218
972
647
585
542
389
115
584
965
69
524
791
160
342
45
909
413
0
28
12
592
845
53
779
162
445
392
914
199
19
485
532
181
15
275
303
37
771
115
994
643
800
630
220
171
902
422
274
594
919
868
340
670
133
829
898
55
3
216
441
126
554
168
754
725
977
547
711
198
526
572
229
727
690
763
715
766
495
859
81
525
137
961
685
700
982
865
794
563
916
219
743
67
825
43
764
70
987
15
277
908
691
723
554
154
783
311
193
196
274
408
714
954
111
209
649
489
71
769
525
208
686
52
60
707
814
918
849
4
904
614
487
288
504
900
345
338
979
297
315
247
359
321
517
578
265
621
34
517
782
665
760
8
117
162
804
822
653
43
840
178
479
216
979
979
859
546
565
18
626
627
580
778
610
866
344
365
910
893
843
260
984
940
666
148
846
617
986
92
127
146
705
730
995
707
864
255
782
704
680
905
274
121
73
783
545
887
278
154
767
927
601
970
436
41
832
564
991
16
868
588
384
544
273
694
445
440
826
341
836
11
708
112
535
26
197
858
119
503
589
632
318
345
874
673
406
292
324
256
668
771
139
869
896
99
515
839
330
958
191
227
570
582
101
555
665
798
210
223
729
512
420
14
606
534
768
146
802
39
516
537
343
446
940
549
974
636
291
17
663
436
703
246
863
784
940
349
555
914
619
149
872
821
670
520
112
581
864
595
522
680
856
236
780
549
917
537
998
407
997
411
913
825
153
78
619
242
139
982
261
233
27
754
82
69
502
868
83
298
611
393
762
584
366
722
748
363
590
959
985
56
727
62
476
966
322
361
394
683
2
762
79
65
346
779
371
623
682
742
507
557
732
409
928
42
902
555
195
498
415
437
628
156
67
529
50
109
641
527
191
328
311
728
727
832
747
42
987
748
951
776
877
900
517
386
557
377
171
737
934
918
632
809
206
392
680
584
779
135
316
79
156
745
516
819
841
224
603
803
105
552
976
524
375
316
853
507
604
620
4
799
809
577
969
839
358
990
825
425
47
661
789
25
56
661
217
583
44
352
52
5
993
66
197
380
314
120
174
749
494
23
21
512
993
405
161
930
180
865
946
494
924
186
48
976
826
448
726
985
4
958
594
917
103
445
127
502
894
637
399
926
0
100
479
157
161
767
214
69
478
604
567
72
693
355
703
957
475
454
359
610
562
166
285
327
68
546
773
555
533
218
131
285
388
282
998
86
53
855
198
930
539
512
161
662
60
293
285
67
602
271
753
266
168
567
805
31
269
972
544
417
639
374
779
997
685
275
499
729
503
629
528
476
288
864
304
113
717
705
317
342
545
337
676
160
632
862
47
68
381
403
989
839
138
644
318
324
149
388
131
380
648
31
228
805
502
499
780
347
327
812
947
98
819
709
45
185
965
443
944
499
360
942
366
545
721
636
193
730
378
520
507
301
503
155
557
258
632
762
86
219
983
453
56
661
219
778
656
958
128
203
268
3
974
386
690
57
886
9
473
7
177
176
797
260
224
437
469
838
324
330
200
334
95
413
700
654
296
197
100
606
917
573
885
695
723
549
418
126
196
709
69
851
743
745
291
116
683
529
126
833
886
110
48
155
858
576
73
308
503
735
616
252
109
954
842
603
160
36
376
755
400
935
511
953
913
504
748
181
322
476
522
41
886
62
646
744
782
915
449
687
68
495
860
902
280
579
918
159
109
398
773
650
744
262
293
510
463
547
923
778
354
608
533
537
798
511
203
616
471
596
389
843
828
712
797
956
366
574
970
360
593
399
154
246
833
536
791
997
984
28
288
347
190
450
449
469
764
486
593
799
328
397
964
249
524
641
212
150
902
198
958
127
700
424
479
729
615
155
373
746
920
184
19
447
509
131
940
109
621
846
922
582
17
399
519
420
132
292
153
838
400
811
73
577
586
262
413
319
104
103
556
821
718
31
134
906
365
193
332
706
898
619
637
610
742
980
779
711
406
718
498
302
157
993
641
629
97
677
635
838
257
782
537
491
331
763
37
834
955
627
734
502
915
43
94
599
196
543
242
483
799
628
765
67
601
698
452
114
502
488
399
363
474
541
687
452
578
58
526
636
973
2
615
476
528
703
685
571
707
802
490
472
58
784
779
837
678
809
174
808
710
985
317
941
539
158
660
727
601
430
639
615
165
894
28
845
109
947
666
780
188
50
863
667
755
487
867
1
357
76
903
917
295
704
11
901
388
565
96
385
917
685
179
685
229
907
507
62
174
507
933
719
385
726
206
379
500
839
577
606
375
412
932
554
404
780
315
190
350
908
666
699
780
336
72
52
859
124
713
929
543
152
694
860
637
569
452
651
926
944
609
793
603
698
23
943
688
597
203
980
464
591
631
724
567
882
591
370
359
656
206
310
117
522
786
166
158
311
781
30
801
958
439
416
34
848
327
898
50
49
223
938
59
386
638
679
725
428
627
353
58
393
945
809
181
179
797
80
216
204
878
965
876
106
352
853
439
200
299
663
923
230
873
317
583
540
251
172
239
555
976
818
493
60
997
512
695
980
67
853
728
130
795
659
691
677
402
999
315
600
904
771
382
562
711
650
512
964
871
736
472
846
104
45
110
529
324
880
987
788
258
821
213
947
722
173
935
430
212
114
736
634
381
593
991
875
841
187
509
156
326
171
393
230
192
981
714
171
267
178
659
284
605
824
268
651
997
148
255
401
104
359
193
694
477
971
435
414
107
618
681
743
228
163
431
876
860
857
517
216
244
235
871
536
943
252
233
984
218
214
544
408
935
309
46
614
143
236
876
474
199
514
243
865
379
793
107
479
709
886
743
991
619
209
39
234
240
257
373
627
264
19
562
165
375
25
132
190
425
200
790
201
885
302
420
387
72
982
373
387
378
814
738
757
154
559
288
686
277
233
651
75
194
274
60
386
11
450
615
597
400
242
974
947
431
245
374
684
472
596
37
810
981
468
761
794
231
1
113
172
564
963
381
848
890
343
754
237
510
874
408
80
87
616
694
976
987
863
36
30
282
644
656
182
709
514
688
469
368
683
929
920
295
520
381
60
201
317
564
117
641
230
214
57
805
934
854
342
281
745
518
230
512
796
350
214
710
805
557
938
946
243
199
683
902
575
408
242
39
553
143
636
915
275
605
637
540
912
576
453
438
632
385
518
18
887
65
786
799
404
645
380
865
989
409
5
81
765
673
207
581
174
155
258
240
7
362
375
212
938
249
802
184
826
716
619
116
335
209
673
907
298
140
830
132
420
169
588
508
156
760
640
105
433
503
633
412
895
466
310
264
817
852
762
816
148
11
758
683
850
844
339
162
844
21
331
531
687
264
927
984
34
298
368
603
325
623
921
967
69
146
402
857
56
319
7
162
656
115
835
365
938
727
986
314
355
565
635
386
278
733
818
208
876
158
886
815
143
971
784
264
635
776
126
122
956
876
34
483
250
121
511
851
77
888
963
361
964
341
504
321
444
972
382
637
295
667
516
501
621
72
979
372
758
859
379
181
137
791
483
214
278
694
162
14
898
253
228
540
227
836
824
570
953
228
192
538
24
531
537
748
36
458
471
13
720
771
85
421
595
310
1
586
95
477
982
340
913
767
212
135
75
723
772
58
28
224
493
738
421
688
800
89
414
508
721
706
710
766
632
669
280
790
58
836
703
160
857
160
624
807
726
886
923
70
222
641
736
478
880
787
347
100
802
44
699
699
987
471
219
889
222
878
356
64
65
732
609
765
309
218
368
133
818
413
16
652
190
23
144
715
988
348
595
771
855
370
407
989
600
665
481
90
815
379
388
664
568
471
23
246
283
114
763
675
933
401
237
229
537
650
733
818
477
282
685
568
242
73
402
401
518
358
84
897
637
645
335
392
182
897
13
11
892
99
938
552
113
608
275
361
560
315
241
145
786
219
570
182
201
840
717
86
142
929
900
607
276
312
320
319
843
660
43
412
616
441
481
414
444
621
906
869
389
936
164
681
962
48
65
441
500
648
86
369
556
851
164
295
155
435
393
126
980
659
463
226
790
48
835
754
706
268
614
508
488
875
78
650
208
828
351
719
473
842
57
896
449
409
197
175
274
148
624
452
772
924
39
717
628
197
297
830
259
121
431
620
953
495
756
930
19
352
554
705
570
73
730
976
793
212
627
321
216
455
816
643
630
138
795
943
794
901
121
665
511
434
152
39
56
434
351
427
637
153
784
445
821
164
474
679
115
923
692
435
918
680
184
971
253
411
556
657
562
110
130
430
151
325
219
62
317
354
828
753
897
529
591
92
249
264
679
986
780
501
773
463
745
357
166
609
531
231
154
164
126
697
530
161
29
720
78
632
901
41
128
402
739
806
297
73
762
125
771
738
409
764
284
689
616
980
95
280
552
622
912
950
951
656
177
115
500
140
790
340
632
248
599
840
332
309
842
284
221
181
653
113
24
29
30
68
175
946
729
832
994
283
44
180
841
383
153
617
984
735
402
301
804
723
398
476
661
334
605
789
797
710
671
192
222
134
908
291
508
785
533
540
909
927
100
760
917
813
982
47
807
222
104
158
847
13
156
544
446
847
439
116
78
560
577
443
676
540
308
372
84
946
210
288
680
507
838
37
271
685
430
916
372
744
506
796
253
872
629
250
184
830
626
460
870
790
43
901
988
281
74
604
332
537
926
958
797
320
461
511
680
382
781
256
163
473
953
217
988
581
946
649
909
651
768
154
316
609
306
96
6
177
349
588
898
152
907
935
943
834
129
17
307
995
268
429
192
498
393
655
100
970
170
460
332
737
872
397
872
606
536
412
792
848
581
804
829
766
924
152
494
254
785
431
607
459
613
519
755
960
368
490
541
662
758
940
341
119
880
343
160
97
373
686
91
715
398
242
794
649
162
51
613
758
155
376
314
947
617
242
991
567
487
797
131
231
345
525
224
502
133
848
664
366
397
444
179
884
115
913
345
991
487
743
672
292
19
104
537
69
590
371
724
477
510
38
230
709
858
863
873
108
846
745
167
574
792
347
916
569
945
147
257
194
582
370
671
76
207
673
578
446
578
885
946
218
473
323
850
740
873
446
857
225
567
479
954
952
123
549
813
847
119
435
793
662
231
165
924
895
430
231
356
497
492
271
693
461
720
279
507
727
563
438
153
664
304
511
995
384
55
191
923
345
46
968
462
397
781
957
575
904
262
147
639
591
457
726
322
619
979
346
982
390
949
0
932
742
669
4
544
18
451
820
337
126
19
867
277
210
737
377
760
607
576
997
866
726
611
271
475
177
53
109
891
843
710
769
252
391
729
821
603
832
603
474
197
972
848
625
806
457
875
568
622
492
270
357
725
951
242
160
983
897
588
66
867
363
868
573
741
198
453
942
335
838
0
237
76
859
950
992
105
117
398
464
842
650
891
256
550
228
634
694
56
632
998
205
381
654
788
950
124
647
516
570
48
63
509
204
87
492
924
579
993
340
886
153
623
824
821
523
572
715
689
709
856
988
811
315
55
709
109
181
217
303
8
327
426
131
416
876
681
536
910
113
279
844
321
378
844
862
823
353
712
663
154
679
169
558
536
843
41
808
523
70
457
34
610
248
502
681
86
9
285
107
842
749
411
932
220
101
665
249
266
432
860
686
825
953
228
815
308
830
549
582
649
272
236
972
68
200
25
993
524
899
560
235
399
915
651
115
112
724
64
612
143
325
699
607
833
887
532
659
86
679
513
272
942
22
203
226
692
746
589
399
92
85
607
113
815
172
263
199
693
188
475
886
984
566
405
612
280
476
122
546
972
625
822
262
617
473
388
126
806
59
560
683
484
325
334
194
193
818
820
119
100
610
518
859
287
426
983
51
84
779
128
361
347
568
854
12
839
471
515
523
776
650
107
433
178
674
911
407
318
18
401
205
11
998
441
841
831
923
657
521
608
795
611
928
92
420
25
283
926
670
859
227
792
867
424
29
12
360
125
206
151
632
742
361
168
289
78
982
616
442
697
491
294
33
38
942
853
802
770
339
680
55
551
229
545
314
317
395
310
20
68
105
957
604
880
761
447
516
671
581
850
242
510
284
452
172
823
629
190
431
616
142
587
17
704
748
866
148
59
67
892
935
538
567
326
712
971
448
493
248
8
96
252
191
453
166
991
92
213
854
721
95
523
843
916
63
810
797
801
350
166
921
103
466
863
966
987
960
644
649
674
431
806
389
284
539
722
436
465
394
22
216
294
603
836
90
558
234
669
568
185
956
327
628
59
997
118
722
52
467
624
904
576
652
771
998
517
661
770
31
199
472
230
754
434
746
657
737
458
803
578
260
985
597
235
45
582
790
932
853
895
4
872
937
6
691
81
758
315
503
157
296
278
766
409
26
869
951
745
50
398
272
367
670
595
246
389
431
714
966
1
828
403
800
459
384
104
320
10
647
713
386
480
588
376
570
845
925
426
136
518
376
401
521
538
743
104
997
776
825
682
383
864
601
446
723
372
941
251
239
167
784
917
81
110
107
938
279
436
204
989
222
742
581
466
471
52
656
924
507
461
270
148
616
758
789
359
799
241
862
278
790
931
338
55
857
803
399
594
519
714
413
932
983
309
966
476
683
516
83
960
62
444
216
328
147
325
60
583
149
834
77
967
899
790
341
256
212
396
5
601
488
869
128
452
723
653
109
316
256
347
698
837
668
661
59
484
142
932
921
162
219
762
587
862
256
273
812
848
988
87
648
297
580
970
95
997
656
738
526
264
415
196
485
281
197
297
92
956
96
688
692
982
324
511
202
566
327
133
822
490
582
906
834
315
880
702
647
342
846
734
216
294
132
33
553
904
807
737
971
217
89
490
677
740
714
937
919
451
597
283
998
614
701
552
147
346
999
15
230
925
751
841
381
20
441
644
432
288
691
630
276
867
552
817
217
879
856
587
117
675
512
142
206
396
759
176
576
134
540
360
495
573
696
980
628
267
923
426
474
356
728
141
125
21
739
410
348
750
337
729
599
561
169
263
396
483
104
25
839
454
701
967
363
896
586
559
238
633
456
527
474
704
942
121
14
844
627
812
916
304
544
802
109
49
134
805
968
565
541
247
815
638
823
163
117
593
589
21
644
495
861
461
829
917
927
289
136
715
365
312
304
955
348
261
823
717
420
3
51
653
696
795
309
733
224
89
680
887
608
620
80
903
789
760
949
787
489
399
684
264
736
705
923
37
789
495
549
6
855
100
74
537
868
964
73
536
426
127
81
296
152
688
61
376
319
623
76
343
460
796
802
255
673
107
917
713
639
979
612
834
224
576
664
858
833
664
764
54
42
801
460
219
549
677
941
198
396
711
951
197
914
354
315
889
726
478
451
847
928
811
242
618
291
734
337
784
970
70
405
58
244
631
320
292
970
733
242
104
917
357
929
13
637
270
221
869
729
107
285
360
833
407
307
772
909
479
455
516
265
66
711
952
517
99
277
567
538
118
109
52
1
595
701
138
736
507
759
927
555
594
787
946
36
349
767
169
796
873
509
521
105
455
662
509
404
257
634
247
673
334
820
921
648
870
689
693
900
284
541
256
123
790
801
234
563
244
97
986
118
811
426
226
282
162
635
637
215
256
535
277
794
982
644
64
287
49
90
62
254
841
947
33
551
595
288
326
720
545
127
138
86
626
926
583
300
926
289
630
916
774
12
921
609
468
688
310
837
701
401
95
654
990
288
701
279
744
276
152
1
705
696
789
142
792
606
145
468
191
522
281
336
51
136
1
76
69
600
672
246
1
162
547
276
748
996
223
287
282
884
704
980
981
957
949
284
751
605
532
351
534
204
615
966
394
725
847
89
411
770
787
354
701
598
684
8
17
848
280
342
48
435
832
1
2
197
356
610
528
18
416
721
322
962
163
273
779
633
542
496
475
892
516
23
582
234
400
163
560
110
855
236
677
402
557
249
587
828
832
558
894
635
456
341
731
939
328
694
192
702
919
731
521
455
103
748
723
778
106
503
131
49
420
353
23
806
245
172
459
278
804
663
474
362
105
48
123
860
207
400
20
636
272
952
523
176
372
613
804
537
849
588
653
899
160
16
30
693
598
666
297
329
849
502
47
523
598
592
62
425
809
125
793
570
44
15
17
383
941
366
620
807
594
359
4
916
772
315
828
762
636
582
232
900
323
523
181
646
740
783
92
387
359
842
74
384
263
101
157
381
484
292
751
40
760
65
590
627
366
292
253
909
724
881
177
612
190
771
294
25
235
427
317
887
47
867
788
997
385
687
599
127
184
673
459
851
540
813
367
792
363
741
189
116
528
385
87
770
582
122
106
391
904
798
581
413
649
238
92
525
849
349
490
181
919
895
474
855
704
433
541
649
560
414
275
656
253
124
706
50
203
259
981
876
195
868
816
641
696
724
871
605
265
114
830
591
718
973
548
568
334
708
545
578
307
215
977
889
241
909
252
333
372
648
14
506
951
559
955
65
772
684
50
955
674
630
508
917
616
625
353
366
602
499
805
87
532
589
984
792
683
120
94
473
922
809
365
914
218
906
383
740
862
437
948
633
750
531
984
500
997
903
939
85
596
983
458
946
668
480
859
715
151
616
398
466
316
895
756
318
226
51
890
124
762
219
132
990
809
610
368
766
740
269
490
384
823
145
684
362
484
389
593
550
759
773
531
103
783
407
812
187
835
453
59
106
86
121
837
366
257
696
55
508
120
576
988
172
124
180
620
145
463
53
884
667
740
623
193
248
695
31
116
127
698
307
103
496
471
8
993
856
53
677
301
352
408
174
94
173
420
98
37
381
941
862
302
127
454
834
309
616
941
607
531
351
729
886
54
663
628
862
76
65
534
843
54
95
749
135
793
978
52
292
630
59
327
391
710
158
516
118
314
970
962
591
191
679
455
583
970
561
875
773
895
150
638
441
252
290
130
870
895
822
227
20
821
844
557
387
820
698
734
249
432
997
721
492
935
524
581
481
222
431
830
698
256
493
462
857
664
651
65
765
754
943
841
106
520
436
836
308
78
167
341
942
894
776
134
448
20
192
796
870
564
230
724
530
500
204
359
419
36
823
356
873
296
569
518
463
930
567
985
33
788
727
896
934
224
928
152
558
244
490
781
723
382
557
496
993
785
101
765
128
273
39
247
350
274
602
718
932
464
518
227
383
374
448
416
679
59
704
489
296
252
628
400
44
911
996
979
708
877
119
955
89
103
337
71
38
589
417
825
760
607
40
520
952
356
103
44
541
801
659
779
231
256
445
475
282
971
429
956
436
464
416
860
108
516
855
807
881
143
491
628
450
959
826
814
162
93
629
255
343
536
478
176
904
603
554
16
897
901
979
638
900
287
284
375
806
469
290
153
551
358
316
949
768
718
722
405
556
7
747
89
696
546
260
278
950
197
680
745
852
83
962
792
894
208
921
732
561
920
528
352
200
21
188
793
383
913
257
180
321
843
164
95
803
742
344
423
772
119
269
519
162
358
649
473
7
8
465
233
936
43
862
355
490
450
45
971
896
696
863
353
747
492
963
964
855
162
597
117
611
998
749
289
100
90
468
803
922
125
838
13
507
184
509
582
864
481
340
999
326
884
901
653
674
735
581
887
662
470
470
319
879
579
552
960
156
261
301
91
679
727
547
35
731
714
524
687
58
741
560
780
272
90
618
688
914
132
257
834
776
535
964
401
29
356
455
590
192
278
805
765
43
118
612
24
755
134
778
385
570
803
35
323
623
599
690
806
684
413
648
392
585
211
115
315
335
625
891
704
706
271
63
203
608
283
728
801
970
774
128
110
106
222
541
208
324
522
674
656
998
250
490
96
326
520
950
615
972
674
747
263
661
588
276
155
224
359
480
898
397
496
748
508
713
890
969
946
135
280
127
669
419
463
994
465
499
212
478
434
107
681
287
794
245
749
895
970
73
570
560
645
920
633
191
851
178
982
883
5
228
297
184
548
256
968
613
490
178
793
43
282
77
202
810
994
488
633
334
802
227
357
768
306
986
780
519
637
690
869
451
326
944
446
287
794
455
862
234
140
161
16
639
916
593
827
337
385
394
817
212
677
917
995
39
685
51
41
949
166
321
927
428
98
858
234
964
600
989
479
386
780
47
816
949
382
281
798
867
85
170
87
5
230
943
435
372
342
945
620
632
415
597
401
912
475
787
409
260
36
191
354
633
169
693
165
872
232
433
406
920
343
361
20
659
533
828
72
89
378
202
373
898
988
334
374
870
716
54
417
918
708
187
228
172
437
680
898
169
36
519
827
990
140
240
26
400
604
962
188
230
123
237
990
378
155
157
589
870
633
363
647
181
298
470
69
308
685
714
272
191
201
904
287
593
613
961
363
406
568
988
311
18
560
531
601
812
405
615
717
273
262
699
335
41
634
960
257
897
512
10
800
921
608
234
367
427
910
478
206
350
332
937
936
150
676
580
812
879
60
826
33
380
220
383
663
504
713
399
6
864
606
819
164
823
133
564
903
826
606
57
929
405
987
605
808
948
859
30
783
965
950
736
786
484
116
468
963
792
354
20
111
969
967
985
646
969
616
909
244
198
853
961
874
583
717
397
536
71
48
552
336
332
505
398
824
741
907
700
441
342
548
642
994
29
763
711
929
966
827
885
337
115
661
300
659
258
422
938
702
575
825
425
510
405
71
221
325
862
833
205
596
412
721
582
68
908
318
952
153
488
14
650
281
308
107
942
13
749
413
410
805
429
493
357
833
408
751
530
816
548
306
88
909
249
758
382
807
500
773
957
62
528
542
33
220
508
480
736
228
965
109
832
781
902
261
848
416
80
507
10
104
491
60
19
880
177
163
221
352
432
615
967
105
647
448
120
262
626
617
735
215
499
370
253
741
753
1
509
100
944
936
850
87
400
715
794
528
48
52
40
715
318
880
122
974
763
130
627
269
152
525
270
250
10
745
530
122
234
218
472
502
523
595
639
61
540
838
77
110
127
572
502
565
248
647
545
839
454
935
652
439
181
699
376
634
478
619
766
103
189
780
497
148
786
390
717
219
62
95
430
846
232
957
776
343
139
118
462
108
233
646
432
212
963
205
623
947
514
640
809
375
405
890
678
35
133
639
8
951
493
417
142
166
555
537
507
722
504
903
944
598
187
580
508
465
511
210
449
931
91
683
686
888
800
772
391
912
53
940
652
509
193
379
858
745
696
932
425
586
680
163
198
725
13
381
48
904
7
870
586
245
303
827
192
681
384
568
656
669
439
256
489
538
978
22
342
934
820
920
344
466
207
979
803
414
411
619
969
205
463
213
844
892
286
10
425
614
405
665
928
902
395
42
811
194
190
680
963
426
861
214
748
608
759
556
344
457
896
877
214
708
589
348
502
857
49
332
839
671
254
62
965
987
356
311
82
86
50
727
477
711
179
36
853
464
987
416
943
653
5
843
23
246
593
130
495
524
953
903
409
785
382
623
391
224
596
229
236
470
887
208
622
487
24
695
192
557
105
612
386
363
190
295
168
768
401
454
198
583
648
596
466
335
245
862
886
577
486
721
697
220
768
415
989
149
298
287
638
712
362
689
185
178
889
407
102
941
405
256
925
235
841
519
105
243
619
725
961
449
47
254
323
747
978
518
754
395
375
568
263
109
19
482
49
629
557
327
294
614
613
33
56
926
710
731
343
397
488
687
739
130
545
341
876
926
696
92
223
556
12
52
931
919
330
188
55
424
797
703
206
877
310
846
247
852
648
647
993
636
77
315
963
437
260
614
956
844
488
301
324
330
741
98
569
213
573
357
173
348
882
951
714
273
374
998
163
742
240
234
859
182
897
703
561
496
206
315
460
171
155
167
480
397
786
804
701
62
167
896
712
276
614
59
631
16
631
402
428
811
589
953
995
821
266
73
301
99
917
51
395
787
853
590
96
150
462
504
225
880
362
563
50
330
134
774
295
805
760
405
121
976
29
161
251
367
631
598
648
355
734
344
789
494
267
220
323
912
820
63
924
520
408
499
626
847
589
146
160
601
162
481
580
574
147
676
875
81
821
631
648
233
571
750
956
390
791
413
863
300
962
536
121
942
623
458
644
230
75
953
970
349
13
215
609
314
900
92
371
828
8
157
10
214
27
877
12
178
359
33
585
240
905
837
242
831
242
975
198
98
576
260
439
996
228
669
888
828
320
643
277
274
80
453
62
805
165
939
815
722
843
878
540
690
985
181
782
173
94
307
313
665
706
751
431
261
55
576
575
653
769
698
114
931
638
634
517
538
685
731
62
410
404
839
72
589
869
97
221
363
970
149
41
603
805
498
905
685
579
223
86
553
89
872
229
729
759
5
727
60
786
233
36
555
103
803
177
186
785
670
708
639
951
327
444
701
990
72
8
161
315
382
430
840
882
109
577
972
275
558
726
587
404
862
275
590
946
278
115
581
746
21
318
209
194
71
975
208
337
508
119
526
506
445
588
220
662
52
411
880
684
157
871
546
989
10
757
310
990
525
865
552
552
106
574
67
384
482
647
462
942
967
376
839
542
576
396
869
179
282
143
416
990
332
418
489
239
240
152
527
702
546
412
439
935
468
114
439
176
428
120
665
934
720
111
472
849
902
638
262
778
570
884
511
75
482
805
434
873
921
317
132
938
536
672
961
681
113
541
552
641
696
115
275
450
452
875
587
691
993
168
476
338
866
126
359
95
917
422
484
716
869
528
272
783
903
546
206
825
179
482
309
186
221
363
517
964
511
244
111
805
525
955
918
868
198
119
694
462
700
150
896
376
374
388
421
770
16
438
902
352
547
96
556
637
318
727
327
34
102
420
339
583
661
586
924
928
584
500
871
682
113
174
76
335
581
956
320
751
849
425
296
993
738
70
164
775
268
662
638
172
888
693
127
713
387
131
36
240
554
818
465
875
451
153
399
108
318
77
432
393
868
168
819
826
536
513
146
901
796
863
912
428
286
829
490
351
930
734
333
701
3
317
173
455
583
438
180
126
740
348
252
884
843
259
583
282
35
358
29
519
286
701
848
43
565
391
926
162
917
447
91
209
131
867
385
19
699
921
453
244
32
56
547
904
424
598
216
975
487
764
361
785
755
417
101
782
553
161
158
825
442
486
850
478
590
17
927
467
120
328
601
255
589
674
570
44
296
331
117
453
319
388
686
825
702
35
236
725
598
438
324
726
671
238
669
430
817
415
604
320
749
791
983
245
415
353
561
960
73
761
483
281
519
451
384
996
662
354
184
144
138
528
456
173
821
864
909
725
69
891
950
215
68
859
638
20
104
892
143
146
170
64
66
688
335
775
113
271
781
422
762
677
11
646
939
67
446
488
873
43
769
129
85
554
45
336
858
877
357
494
202
865
107
866
132
905
93
496
946
774
789
365
426
314
74
172
108
103
591
48
336
579
751
865
161
284
810
952
95
284
161
938
448
629
911
599
510
121
376
809
928
346
630
299
157
489
529
389
754
499
417
646
282
911
58
192
637
737
446
286
254
760
372
762
41
949
718
381
161
589
646
996
321
226
729
497
511
532
201
615
719
629
795
241
257
815
418
347
929
128
395
735
757
226
744
214
140
362
737
645
880
296
32
751
551
121
585
617
270
149
111
597
779
825
33
731
449
995
284
628
854
574
567
452
139
818
587
507
783
133
892
229
144
618
146
951
632
480
205
383
11
118
233
507
928
517
977
648
786
695
194
372
833
219
604
461
417
732
611
865
200
232
815
573
11
357
640
267
768
455
931
767
600
633
36
87
205
769
762
971
102
554
832
115
932
379
248
655
444
919
508
156
324
738
859
722
317
439
882
746
382
388
243
881
741
829
741
515
254
726
725
307
520
860
211
245
263
32
205
227
769
187
390
131
468
481
541
146
206
181
801
509
661
158
815
991
127
257
843
261
86
294
616
132
379
434
679
359
525
495
61
694
540
680
167
36
954
523
115
253
606
769
902
521
625
709
924
956
798
288
505
874
562
597
613
186
428
770
183
690
946
126
429
676
391
256
310
611
937
851
1
712
155
153
412
987
340
369
890
749
133
380
240
768
531
481
493
619
377
266
671
701
678
522
506
205
952
179
577
343
899
448
880
952
15
635
469
938
558
7
476
290
18
286
276
151
810
565
127
64
144
652
151
206
701
907
299
84
45
280
613
732
308
187
372
617
402
63
686
402
746
263
355
377
339
514
958
250
574
532
83
727
542
266
364
725
169
301
285
609
12
77
374
697
305
340
734
328
855
4
94
658
46
869
43
627
145
781
31
673
733
706
472
964
709
787
675
882
624
55
972
571
877
224
506
586
809
410
305
271
216
59
219
570
511
95
889
280
62
341
230
599
57
786
798
387
812
723
993
278
961
786
703
322
9
855
790
182
468
822
71
775
694
235
874
569
719
605
749
798
553
17
522
122
834
348
350
100
321
37
13
452
337
594
828
109
829
217
129
397
546
344
72
658
389
764
574
552
129
552
662
573
489
548
403
702
98
982
221
352
322
55
735
152
27
486
468
25
701
215
899
565
595
339
239
420
150
971
115
380
280
779
636
519
91
786
370
695
18
963
866
266
55
304
553
3
607
398
245
607
462
313
790
297
2
986
786
934
135
516
335
314
603
874
219
498
291
760
698
806
395
376
161
913
262
949
629
526
133
268
764
550
632
954
432
98
849
515
906
58
150
854
18
848
463
656
486
452
926
468
797
10
330
265
735
37
646
223
601
512
288
955
368
407
387
154
256
99
765
441
828
242
584
594
672
104
225
9
679
822
566
64
999
834
633
511
339
26
93
548
25
912
199
406
31
924
524
631
144
428
661
831
912
624
351
897
508
176
394
163
546
246
277
900
590
291
777
364
776
10
597
411
297
416
852
57
448
181
328
320
585
674
716
513
463
208
347
410
601
557
417
415
130
64
137
572
271
293
905
995
278
801
618
433
206
737
334
183
975
658
881
965
821
98
235
996
668
855
597
82
22
628
152
638
15
216
832
424
437
375
173
777
520
171
249
668
178
1
759
515
527
700
237
426
558
524
300
560
619
626
395
717
445
60
650
494
413
328
699
323
98
393
312
999
933
150
300
688
931
576
703
952
948
763
549
30
886
775
536
281
656
187
285
836
168
606
207
790
616
428
560
374
903
106
46
369
906
508
317
274
425
105
738
899
512
630
213
712
28
565
837
110
887
295
187
898
105
415
911
859
525
875
253
899
579
296
111
180
237
775
242
89
307
160
407
382
788
604
165
727
498
695
138
190
393
534
556
395
18
869
185
678
512
898
431
786
23
316
211
768
399
702
593
714
631
830
864
573
276
5
577
453
200
838
440
877
243
778
554
807
481
883
626
513
327
205
361
105
113
563
22
430
742
484
643
763
226
609
682
475
203
483
207
806
829
180
731
786
261
308
614
711
142
599
289
489
577
204
996
922
517
280
851
623
590
344
634
884
200
703
659
32
28
730
849
951
544
399
320
371
386
330
139
766
464
761
655
273
609
775
892
631
446
562
724
820
712
979
800
552
222
787
977
542
893
636
160
306
538
267
642
944
784
712
684
222
619
584
511
411
689
663
97
16
249
822
504
635
992
412
732
169
364
140
615
674
31
822
416
804
465
297
708
940
250
348
469
275
585
69
671
900
151
829
816
195
276
876
958
876
994
221
46
142
549
553
772
765
985
237
104
350
171
535
719
951
823
300
755
595
160
231
935
626
870
699
444
951
147
151
728
395
773
362
298
841
582
532
824
718
312
145
535
659
901
34
130
305
384
686
536
716
3
922
109
263
310
857
807
369
929
813
595
815
823
243
460
233
707
869
287
18
371
990
784
164
617
639
273
556
751
38
639
581
566
955
383
827
71
860
176
967
976
509
373
915
271
98
218
748
907
649
399
724
663
396
676
202
676
445
561
205
638
162
389
834
198
991
779
31
851
834
552
487
746
359
374
182
757
325
541
666
797
246
727
689
736
170
750
556
437
321
705
879
118
947
575
149
429
681
62
721
566
415
175
590
391
479
400
887
238
907
695
495
553
143
957
991
543
238
186
39
399
318
900
972
305
374
632
728
974
279
698
464
331
869
128
374
672
414
560
755
708
459
650
212
768
962
247
53
342
986
688
731
895
360
462
360
371
330
282
626
45
203
827
973
991
957
671
463
388
395
53
799
183
183
681
118
724
808
798
18
491
481
999
503
804
811
961
687
652
116
595
722
991
572
372
964
555
851
153
31
401
987
397
207
860
296
380
915
974
354
627
675
648
176
594
711
48
826
733
553
343
650
257
219
108
69
606
288
52
243
764
677
400
952
804
540
686
393
338
355
997
118
648
687
731
868
11
850
944
869
14
619
517
318
176
927
891
454
499
465
557
106
939
877
591
83
658
738
561
411
248
360
589
48
510
324
561
876
232
547
136
437
218
141
836
653
348
509
814
671
990
642
429
592
44
949
746
772
384
955
40
756
73
169
216
232
735
214
610
533
579
51
341
676
665
220
867
828
141
565
350
950
637
99
955
138
794
246
868
48
167
114
503
111
49
383
518
763
95
323
427
288
825
761
113
159
861
637
694
239
842
741
881
86
744
945
611
363
766
39
505
305
746
928
209
265
744
700
206
777
525
845
166
362
514
180
945
247
571
142
567
485
595
763
993
944
161
805
588
887
184
636
885
3
364
483
224
811
882
624
569
654
582
177
784
791
631
46
496
154
685
483
647
100
421
652
742
334
732
19
105
498
296
125
472
748
262
637
555
516
223
925
662
962
347
482
273
63
888
190
230
438
367
526
417
202
862
496
692
684
2
504
904
912
435
781
90
66
730
23
688
197
967
924
107
475
256
416
216
582
885
963
492
146
180
31
590
832
583
476
681
922
287
585
709
891
789
81
348
785
159
748
15
48
944
719
447
597
205
214
28
697
160
682
214
600
202
947
962
701
711
442
234
996
503
533
451
171
653
50
625
478
823
158
432
23
241
577
630
214
28
15
552
306
381
837
994
398
823
183
531
497
99
269
640
878
103
790
860
310
861
393
643
260
548
794
856
437
413
318
617
125
154
551
470
165
81
804
693
166
442
901
134
85
119
819
907
853
934
810
433
932
559
444
102
621
615
948
419
912
522
330
247
139
96
600
68
271
797
521
603
185
176
833
40
115
658
325
975
64
848
913
785
988
353
791
878
687
467
896
543
998
133
52
67
738
453
973
274
95
53
343
371
835
8
935
7
426
761
104
193
352
504
530
427
745
310
124
174
605
477
179
249
638
690
588
939
382
11
273
480
547
542
593
831
713
132
878
59
413
358
463
114
343
368
931
905
238
11
837
757
108
694
735
731
918
757
835
111
907
115
507
576
197
883
94
495
586
576
839
147
123
720
326
550
623
791
670
355
766
530
625
733
62
258
182
719
998
456
727
160
449
238
748
689
661
404
996
91
588
573
631
665
337
995
521
639
889
859
151
717
920
911
627
926
10
800
621
470
687
103
298
80
836
894
776
485
113
723
175
393
643
828
251
385
347
975
392
87
95
900
4
705
773
939
300
951
511
424
851
668
361
410
635
572
719
542
981
952
937
711
981
464
374
677
811
686
155
214
404
361
620
881
759
684
125
347
875
52
350
342
401
916
743
569
362
983
718
551
249
170
463
703
327
831
677
433
644
374
981
135
658
218
294
404
938
223
696
823
857
739
939
221
27
511
639
521
628
372
295
692
547
462
468
226
673
800
465
422
783
554
595
10
88
364
865
804
795
738
449
719
130
366
814
841
520
239
569
90
887
621
287
750
792
785
500
629
166
958
163
84
866
366
988
830
163
614
45
647
728
166
688
929
503
113
447
68
737
810
908
260
641
607
184
708
957
747
280
313
728
581
186
18
108
458
463
329
768
186
446
649
46
344
651
573
356
540
498
753
15
190
202
933
938
201
655
745
661
639
976
900
962
666
539
638
626
358
790
770
975
787
516
586
543
435
966
753
118
220
908
560
711
374
761
440
631
483
407
205
246
751
992
624
768
669
503
736
734
234
2
654
504
254
604
681
600
42
3
260
858
596
971
291
471
540
601
632
208
234
633
868
126
762
755
486
169
890
553
115
307
532
337
810
44
97
966
951
253
382
377
858
5
118
594
659
119
762
350
446
691
626
867
71
896
735
270
453
351
827
323
855
437
213
146
224
962
862
46
848
482
169
442
534
265
767
211
989
531
886
52
523
666
393
304
827
286
135
500
838
329
0
569
55
326
910
729
631
76
397
815
156
800
343
463
680
453
981
523
328
441
30
992
953
476
140
173
137
645
925
741
12
597
402
312
38
136
57
517
287
831
946
298
205
707
980
434
614
892
932
811
504
392
836
345
377
964
808
288
263
202
373
876
554
320
80
207
223
90
221
243
299
426
846
939
391
208
945
938
193
145
630
789
949
809
468
991
505
973
152
859
513
57
965
294
604
464
412
72
108
192
792
716
157
910
316
705
19
993
321
552
753
447
898
376
259
871
88
128
852
400
221
480
63
616
32
439
433
954
507
299
705
839
879
158
265
504
468
465
81
73
812
24
380
761
372
774
678
511
150
404
287
944
131
152
888
616
4
360
0
168
575
975
382
687
13
64
391
846
727
902
575
716
968
895
918
817
887
842
303
309
876
784
331
272
731
887
585
604
198
912
301
684
52
207
279
127
945
37
88
212
447
335
372
631
725
620
433
947
404
240
471
254
351
83
279
535
715
145
599
497
835
479
576
114
414
298
186
26
79
338
654
990
533
924
193
176
786
253
949
865
467
324
311
877
692
111
288
837
342
267
569
88
80
883
205
988
280
853
781
383
421
57
946
539
217
241
155
66
991
329
241
917
894
961
590
109
995
781
659
637
878
730
826
567
839
534
445
596
418
203
897
291
255
34
941
743
263
657
366
745
990
456
464
4
833
554
589
923
956
893
598
694
394
918
145
369
757
58
709
295
618
956
870
915
929
958
955
560
689
910
249
460
185
9
553
940
675
43
985
809
609
621
882
831
898
914
558
15
685
875
530
88
974
895
16
560
281
991
648
631
818
563
864
763
687
858
43
790
181
113
748
326
662
981
929
370
216
239
405
981
225
875
625
537
704
678
224
996
850
272
362
560
510
881
403
551
569
877
213
243
817
467
290
296
860
725
153
234
937
427
336
207
568
478
558
698
704
340
535
476
913
25
186
865
984
712
597
279
800
411
331
492
922
111
617
655
664
338
624
245
308
628
274
479
748
974
782
586
374
96
92
337
547
443
405
348
762
168
115
283
723
747
175
72
204
683
991
917
794
837
298
202
125
602
936
185
951
749
6
794
664
24
996
359
9
0
323
662
287
210
162
729
214
11
947
420
974
955
436
227
210
406
395
701
579
260
75
206
782
566
35
324
438
802
852
337
311
492
128
225
95
7
412
848
750
660
33
416
337
853
266
564
712
439
885
635
764
60
596
67
913
906
425
365
109
767
626
526
9
138
350
817
474
229
761
866
12
151
771
507
676
558
417
101
545
509
226
490
26
265
131
642
685
197
53
221
541
51
951
193
539
815
595
976
739
323
282
700
356
207
413
924
951
974
121
296
525
965
19
589
130
599
154
73
71
985
34
213
809
727
315
718
448
237
122
748
391
670
98
178
28
60
686
37
161
446
850
483
891
192
121
650
212
101
643
573
829
890
386
129
203
808
813
4
792
200
833
79
505
239
850
462
527
331
633
798
216
812
447
628
640
70
411
545
196
302
792
448
218
938
242
792
321
319
253
175
103
731
511
583
213
340
400
314
565
178
93
707
837
710
898
634
762
976
152
810
104
890
814
209
343
302
764
692
717
870
439
253
85
923
631
589
938
221
969
829
571
100
932
896
898
928
131
938
239
840
500
530
673
28
141
21
607
460
617
15
733
759
167
606
564
678
865
100
760
603
288
513
26
633
165
644
124
494
451
520
546
680
985
611
192
690
742
30
911
822
492
22
334
505
268
229
82
804
331
865
437
139
631
48
835
56
402
810
363
849
278
747
613
109
434
423
638
795
40
310
495
171
243
202
277
279
748
415
925
458
251
551
437
848
103
966
613
65
555
50
833
655
215
710
7
403
166
442
260
951
682
469
56
592
17
225
134
390
42
709
489
445
291
444
775
612
451
873
705
131
596
934
269
186
19
952
295
485
348
378
653
831
478
456
265
703
780
267
317
842
495
521
454
912
265
797
44
861
953
661
448
174
674
805
652
55
112
250
135
818
784
190
594
583
858
924
663
101
460
428
637
678
674
901
658
827
727
69
486
440
710
601
421
195
221
808
464
167
887
374
543
294
279
755
198
867
359
562
663
998
27
216
356
934
242
704
381
351
909
261
989
185
256
462
402
250
233
298
386
987
241
306
654
183
229
886
260
275
66
708
442
627
770
300
851
293
39
139
541
256
808
855
985
952
168
428
81
24
408
57
541
578
53
972
26
396
878
140
238
216
612
141
984
84
663
619
532
157
569
788
881
358
430
818
493
656
223
79
362
720
579
696
923
833
369
509
79
284
930
758
508
294
217
416
292
140
1
718
679
39
97
298
554
913
578
552
829
936
570
909
377
701
311
336
263
579
101
370
995
744
110
624
432
358
307
638
512
687
820
480
86
143
401
560
805
619
124
606
264
888
590
732
100
225
260
105
92
663
741
525
210
973
740
246
680
905
370
773
832
262
554
80
823
227
595
563
430
923
798
424
852
918
663
682
91
240
777
522
983
300
937
109
5
302
318
893
965
175
2
519
75
512
924
783
413
361
838
661
894
580
736
810
997
130
417
23
127
999
879
218
325
972
55
785
410
577
799
661
8
215
94
317
199
412
910
898
637
627
817
66
273
186
635
807
240
911
241
456
468
899
305
811
764
399
800
64
684
879
122
530
174
408
696
847
443
271
661
425
52
990
626
702
487
341
106
977
371
925
730
15
571
689
426
634
816
524
294
817
339
336
804
103
758
408
827
0
508
102
399
859
909
683
473
578
377
603
694
444
778
799
93
412
852
547
971
119
508
635
596
545
784
86
375
395
496
799
985
881
207
883
833
810
109
373
556
142
859
666
662
211
536
311
843
925
493
298
35
246
678
369
39
178
505
633
327
312
740
878
159
934
536
45
417
138
34
261
344
748
94
992
610
174
898
97
716
517
414
50
488
841
685
950
551
136
640
63
922
117
653
139
114
932
238
152
634
998
34
471
118
936
501
102
89
905
261
488
608
94
513
765
8
829
163
720
571
58
947
446
548
27
350
415
475
538
199
246
547
557
437
12
376
965
913
699
628
710
889
69
669
526
886
597
573
778
616
528
205
139
176
171
576
506
908
923
142
31
380
463
64
841
302
943
488
471
599
655
164
244
980
86
180
370
807
110
107
38
173
785
741
372
61
157
11
512
395
544
671
962
728
675
135
56
916
404
533
708
470
623
226
928
785
998
372
939
432
616
889
580
44
43
131
657
964
98
86
972
30
840
386
929
585
472
718
263
677
664
214
166
359
677
739
335
909
36
417
143
725
999
271
229
288
13
566
423
692
702
105
876
53
120
249
151
531
68
623
890
619
36
248
247
562
244
765
212
981
18
302
885
405
142
474
753
636
221
283
141
754
858
683
56
584
963
6
641
181
248
903
354
959
983
911
195
296
557
412
284
918
781
145
342
790
663
641
508
227
651
562
362
800
671
359
755
745
641
207
494
281
942
720
509
549
967
769
131
915
214
180
220
333
94
295
589
244
236
51
996
23
971
650
437
648
810
221
405
439
232
885
657
397
205
976
456
232
796
471
461
178
779
450
880
45
779
607
79
434
318
690
945
451
595
38
511
932
224
389
145
68
627
460
92
389
502
713
577
291
849
937
719
147
761
29
57
253
789
176
765
538
669
917
886
959
887
43
341
772
350
703
629
837
512
339
33
17
770
667
559
949
333
794
966
390
513
209
124
206
877
172
98
903
338
868
482
939
242
648
736
884
177
147
847
349
752
295
877
484
125
413
236
392
929
459
692
35
40
388
671
884
296
780
6
406
163
920
781
447
379
159
919
881
30
776
888
92
65
75
121
686
996
445
68
35
642
699
279
879
118
598
10
183
838
396
129
82
433
82
247
218
797
430
676
455
275
34
588
989
568
422
616
349
625
683
86
336
573
248
275
360
244
566
998
282
46
640
667
953
955
19
369
52
928
263
515
1
868
617
459
883
459
21
101
229
487
473
974
456
449
348
719
403
26
50
485
849
392
922
499
912
548
100
921
725
465
346
757
939
974
155
661
118
84
671
546
196
463
608
69
239
165
220
841
817
489
787
162
146
521
739
589
721
547
793
484
467
737
563
263
897
340
247
316
62
265
423
174
974
328
781
22
714
550
433
744
667
65
858
978
218
825
669
392
968
1
946
372
919
514
686
84
545
539
995
234
888
409
910
200
936
152
143
150
29
962
55
58
462
965
47
114
668
336
444
663
923
733
36
449
916
142
206
862
877
836
252
91
251
331
800
650
486
177
359
220
969
232
700
636
573
490
573
851
379
447
163
160
460
27
1
301
524
691
379
212
143
414
673
992
364
674
936
275
472
841
378
340
983
280
86
221
916
901
681
378
595
11
631
423
67
453
206
666
956
618
692
139
659
768
325
710
91
266
96
746
404
89
828
527
154
451
771
622
40
894
962
959
228
508
325
754
76
559
471
351
21
583
835
914
630
491
796
161
557
822
600
826
931
128
443
219
366
113
639
744
477
471
396
430
389
85
957
82
361
535
10
18
477
618
129
394
591
910
114
420
657
861
445
834
750
866
484
970
167
148
52
789
71
293
425
718
181
892
897
609
395
348
146
816
242
393
796
546
926
553
927
892
650
424
682
715
241
991
980
799
415
156
846
249
412
734
69
513
85
999
305
254
42
335
939
455
71
783
915
78
503
26
717
5
265
777
918
917
87
170
286
654
975
911
489
250
226
148
915
371
901
592
203
393
72
491
70
474
637
27
622
448
135
271
128
413
153
684
94
701
685
252
92
180
736
485
19
241
720
112
558
357
522
911
629
523
759
129
906
837
454
331
318
328
172
451
84
322
670
193
121
346
17
755
409
125
568
777
296
852
546
878
659
468
906
457
649
23
180
137
856
942
85
562
612
408
909
222
392
414
634
134
724
695
430
703
587
928
611
360
42
750
528
256
245
383
23
164
256
12
532
769
461
208
389
521
255
708
374
328
766
246
710
714
921
327
462
171
416
797
154
736
672
522
330
886
713
774
810
333
154
984
338
822
407
410
143
23
310
194
854
565
97
623
288
503
387
544
267
857
606
368
925
467
208
745
648
343
821
652
478
669
546
278
207
179
877
470
96
309
386
447
11
167
689
593
411
214
295
669
626
448
441
623
74
568
745
261
354
456
29
861
72
208
583
761
645
378
192
177
195
848
510
214
680
280
11
643
507
925
874
753
128
291
170
880
756
145
732
241
649
232
577
339
366
977
179
30
898
720
609
724
369
769
539
622
848
916
170
250
121
879
193
956
964
552
44
771
165
144
750
541
286
454
927
609
133
875
127
308
216
936
768
968
273
596
71
99
939
828
355
876
494
279
209
466
728
707
40
499
104
661
274
953
744
318
201
285
409
990
272
231
828
699
129
175
128
75
156
644
598
360
401
632
502
280
873
688
99
260
685
216
731
572
152
865
958
728
141
232
594
617
732
400
814
441
328
109
491
648
573
507
720
663
847
748
71
891
181
867
854
686
590
387
950
610
888
697
589
739
783
683
3
579
994
46
143
273
13
944
821
905
51
979
85
116
725
787
525
156
730
421
181
875
848
502
104
925
138
92
823
536
719
755
213
554
465
53
427
745
121
726
866
280
732
75
114
822
806
515
898
112
440
513
247
472
307
423
439
20
200
7
569
38
169
490
969
711
127
876
697
835
442
908
296
963
829
290
286
277
348
634
133
493
641
399
502
49
603
778
301
330
197
498
180
805
987
771
74
190
640
554
204
882
350
866
932
59
880
27
572
238
872
393
782
802
113
621
353
222
898
837
134
74
48
8
768
523
473
709
622
636
178
925
316
997
277
524
640
666
396
236
944
773
582
420
179
281
884
402
137
430
645
84
341
400
283
754
610
135
825
165
937
160
982
968
151
832
243
489
355
513
796
406
471
2
649
15
794
195
174
145
200
14
344
666
247
503
284
328
141
237
124
766
199
857
407
213
141
835
101
669
996
223
602
791
909
221
602
461
790
68
707
796
444
637
293
724
950
648
453
172
805
373
151
64
138
973
841
308
58
296
60
770
183
897
362
744
515
268
937
926
60
150
278
435
288
707
200
773
730
472
532
982
235
739
504
50
931
896
991
380
709
980
973
998
833
961
184
62
211
688
602
989
127
400
996
327
971
989
860
86
934
76
52
319
939
682
169
278
680
244
600
396
44
173
547
855
912
208
193
996
961
59
337
277
744
594
708
547
994
797
458
197
15
985
82
66
858
464
709
33
242
922
727
251
497
30
252
895
804
709
178
269
647
892
839
896
856
55
806
171
219
430
995
598
845
767
161
503
115
134
185
332
984
106
417
227
238
934
58
973
763
347
842
619
131
603
349
594
817
176
860
126
790
815
436
37
497
784
720
709
121
288
275
761
89
794
999
329
359
243
137
360
497
381
113
961
564
878
292
138
849
181
432
885
178
94
928
113
389
153
680
478
560
934
648
983
469
714
788
599
70
547
414
490
535
397
250
136
874
151
413
580
829
635
370
920
731
259
483
683
435
668
411
511
44
957
446
345
448
830
478
814
866
608
232
273
682
465
972
64
271
542
946
185
937
285
812
948
879
183
693
452
410
192
707
670
687
682
109
440
560
607
43
184
234
341
590
513
736
958
69
117
684
90
181
630
689
973
270
316
164
120
793
635
605
219
609
966
301
399
642
924
589
941
488
395
523
934
325
314
20
56
346
63
360
228
640
405
517
977
398
18
900
278
907
945
888
139
758
806
622
146
373
751
246
167
766
173
997
716
872
758
509
175
335
449
71
242
491
423
327
148
554
339
501
704
82
628
167
753
969
501
435
734
805
240
539
63
362
890
228
940
799
139
387
939
864
309
774
61
188
97
979
594
186
458
420
425
119
516
619
873
2
757
917
990
349
299
9
211
596
544
706
958
827
795
909
980
553
105
905
663
861
794
997
630
238
204
220
669
879
843
640
870
186
469
656
522
356
211
20
481
999
745
532
841
379
869
542
193
460
782
343
229
911
643
125
337
1
257
276
23
829
280
59
366
219
242
337
507
699
912
137
422
864
53
289
141
954
611
260
902
707
756
832
890
883
189
854
884
821
148
757
135
519
984
642
537
696
691
851
364
33
772
29
949
166
425
211
581
616
860
150
460
120
664
823
885
815
377
258
684
911
627
717
835
852
922
972
32
692
816
692
620
535
37
395
133
218
547
333
347
686
261
976
467
186
295
478
279
742
928
803
388
220
352
613
534
392
161
762
677
261
913
772
862
669
279
45
208
455
959
782
493
222
802
850
787
894
16
383
642
677
717
132
597
286
955
624
791
498
243
647
719
335
582
658
430
43
867
284
453
632
922
573
200
346
615
97
962
561
774
749
203
165
783
609
317
578
604
374
407
42
454
516
750
402
722
170
785
275
94
314
49
256
639
542
227
554
499
797
350
333
732
27
777
306
984
460
832
293
670
174
123
848
518
782
765
143
4
561
701
662
87
515
452
873
345
812
474
454
273
88
362
469
910
343
571
97
938
366
640
622
273
542
895
276
892
646
404
100
103
144
952
208
261
610
704
630
565
320
796
457
223
345
944
344
586
336
181
349
185
811
216
218
284
931
553
812
48
830
764
394
922
688
821
120
296
251
11
2
810
43
754
501
818
210
390
659
988
984
448
130
695
889
768
7
240
101
774
454
21
311
426
838
220
437
397
237
279
37
403
967
291
630
937
133
244
489
417
179
640
891
358
880
973
495
434
371
272
20
334
952
441
656
439
98
814
799
889
509
410
276
989
661
195
256
186
947
886
895
978
347
878
501
108
173
659
464
585
676
165
572
597
884
943
855
464
506
653
770
873
683
244
953
681
101
112
516
34
639
691
926
333
452
803
983
577
853
353
131
479
364
162
734
181
834
66
668
509
999
746
87
982
50
254
697
829
844
168
64
983
824
318
233
485
254
264
798
198
797
116
513
71
720
680
340
287
620
646
573
593
907
886
773
224
564
280
354
690
627
273
193
690
883
464
671
16
857
260
901
515
559
597
482
381
474
966
969
984
802
927
448
374
357
182
141
977
201
721
935
457
213
377
175
225
316
427
777
659
886
179
464
51
602
85
298
863
16
577
792
552
996
322
671
716
17
796
743
431
375
340
138
763
250
481
327
688
581
938
550
725
82
873
173
478
807
963
739
54
395
348
52
348
584
539
806
879
809
467
471
575
884
691
326
587
736
693
247
577
133
969
266
723
229
665
811
293
634
128
491
477
719
28
868
138
972
347
735
667
893
549
287
82
639
321
344
375
405
220
667
583
958
148
75
861
49
870
632
203
227
601
309
966
729
558
244
254
324
82
749
348
624
497
184
145
314
112
120
493
715
685
317
179
2
265
195
79
37
218
38
463
205
624
173
711
602
452
141
743
843
203
621
873
641
322
261
773
559
926
165
345
530
633
339
860
576
84
722
509
680
152
527
133
910
180
716
896
112
972
943
755
856
977
314
451
921
134
101
967
975
803
230
814
644
628
470
625
380
418
10
401
678
251
574
984
526
449
975
233
768
492
312
126
292
588
249
117
536
469
662
303
518
208
446
48
737
281
618
300
147
845
772
199
220
494
259
593
312
712
555
329
103
973
823
757
626
604
822
389
383
637
142
138
216
569
287
389
814
898
647
336
103
102
581
393
614
875
115
608
568
818
0
768
906
258
885
909
348
43
168
605
257
276
798
149
728
823
682
916
951
252
888
700
612
781
508
623
102
926
325
859
19
962
108
20
64
187
125
482
634
613
917
568
885
620
340
359
377
888
862
48
89
722
331
911
900
197
909
743
82
974
9
92
588
259
886
630
912
304
766
664
548
185
785
777
756
887
332
105
579
867
185
139
661
214
126
953
170
643
604
354
769
678
24
873
930
78
107
914
97
235
789
784
248
348
927
920
101
313
216
695
580
562
935
728
223
581
87
849
625
639
426
848
324
177
704
935
382
685
356
294
458
116
423
638
293
874
503
261
332
528
702
250
13
904
914
882
576
298
2
368
399
73
844
596
955
738
981
550
644
632
98
100
398
945
545
289
701
658
276
667
378
683
388
174
863
731
503
866
764
111
574
681
150
649
499
790
619
704
71
889
918
389
570
720
777
887
391
239
862
23
662
172
758
836
470
465
730
345
495
403
695
510
388
788
892
475
223
917
685
149
400
133
478
797
562
373
544
702
568
948
268
671
648
484
935
950
307
863
860
91
184
121
173
320
320
253
390
235
279
564
78
358
195
144
930
873
14
236
61
594
493
414
574
569
550
148
526
209
64
873
432
855
274
509
958
992
799
91
901
369
481
601
535
672
700
699
728
550
456
32
344
782
717
514
320
943
592
385
886
946
281
894
108
233
789
302
407
866
933
720
27
370
414
598
147
485
362
210
732
360
318
925
946
28
740
774
963
414
254
243
112
123
774
853
671
864
743
262
140
641
882
389
971
650
689
777
829
226
676
549
162
405
984
694
28
252
661
493
161
543
531
907
219
36
996
131
638
343
524
589
70
973
557
683
103
944
357
74
780
150
160
172
185
598
248
409
210
421
866
325
262
783
976
805
276
4
384
473
524
441
220
217
411
269
757
9
653
2
977
778
33
477
19
618
587
895
331
388
29
973
34
251
441
408
330
772
410
882
593
328
141
642
832
172
305
548
999
232
388
564
416
842
425
638
716
391
678
174
925
876
731
158
440
867
67
903
817
253
649
432
859
621
744
893
507
879
346
762
650
808
983
558
659
204
647
189
487
972
438
473
764
352
194
124
842
772
950
853
38
544
113
794
114
749
556
452
301
364
294
28
224
119
447
655
228
99
499
872
392
683
533
815
627
638
5
390
149
139
9
998
572
707
95
147
553
882
656
388
649
744
5
56
659
543
581
167
284
818
584
810
858
421
128
633
758
413
866
141
455
454
709
818
964
177
895
109
346
770
244
327
824
555
815
684
52
864
381
171
772
443
24
861
370
447
522
746
78
406
950
71
822
625
47
593
751
240
143
300
601
954
147
792
717
69
147
669
159
120
391
55
277
487
287
758
566
807
647
450
333
844
103
302
114
683
751
113
218
344
815
808
510
788
21
980
749
105
968
612
891
117
920
360
172
109
634
414
755
509
406
75
692
672
474
705
252
377
18
448
771
331
533
162
726
97
939
416
408
256
48
578
905
242
872
811
338
413
570
385
39
651
607
642
101
796
942
534
144
839
683
604
85
467
224
164
470
88
273
429
455
455
665
549
765
462
484
72
312
14
421
771
101
210
390
42
879
278
866
49
99
477
896
535
170
489
287
322
499
680
174
996
750
156
583
770
274
706
430
491
908
78
387
874
298
398
359
260
456
321
743
964
74
952
427
48
237
526
473
539
439
624
535
958
489
155
149
185
104
155
94
313
354
855
25
462
808
871
540
629
101
649
339
815
653
285
95
234
933
155
545
124
149
768
936
938
614
559
45
687
474
98
126
82
154
997
467
620
776
739
92
122
835
98
856
33
44
81
525
206
235
146
286
296
952
410
621
58
247
739
536
191
403
711
88
456
772
213
493
979
237
709
637
121
193
263
287
915
577
315
522
469
646
534
777
693
232
148
306
60
667
411
697
749
453
701
403
820
682
200
278
290
134
332
572
491
411
272
648
870
414
146
715
792
19
296
842
533
770
569
359
176
65
169
831
681
1
714
507
620
586
706
531
479
975
631
83
103
281
16
478
461
983
812
328
461
976
223
73
914
138
260
772
889
607
44
943
101
857
421
212
74
821
414
228
771
754
44
78
388
663
887
943
685
951
508
159
932
570
950
711
207
931
841
896
806
955
477
586
273
315
204
459
681
655
919
405
143
287
831
250
660
636
825
783
437
60
599
645
368
917
679
705
121
334
677
962
23
435
108
561
393
910
709
651
353
33
422
261
355
798
147
339
350
128
408
239
455
362
471
100
148
210
778
609
872
284
255
388
665
414
806
398
947
144
540
301
731
989
683
98
210
84
586
901
490
858
376
121
636
202
728
159
132
658
223
824
161
529
53
909
791
228
327
22
629
827
570
626
105
467
750
644
864
941
437
597
438
934
818
749
547
938
489
705
174
222
797
563
333
595
209
320
132
27
143
285
238
777
68
965
806
609
539
194
330
82
121
450
707
226
108
829
958
345
677
566
594
988
487
380
774
568
4
296
893
431
613
241
76
724
575
794
471
897
172
986
11
777
478
967
849
356
964
533
165
55
629
851
92
154
819
992
150
894
884
585
378
596
360
292
863
561
566
606
612
998
381
139
312
145
370
682
206
91
887
267
242
146
218
475
69
695
525
61
820
643
479
855
576
3
553
708
913
592
424
517
531
40
973
825
795
686
77
232
596
468
649
723
38
480
990
5
455
34
228
651
254
27
679
234
909
223
361
232
283
514
365
396
637
663
115
293
15
99
679
850
665
742
282
323
136
223
171
846
497
452
408
957
300
348
416
935
448
242
242
154
504
509
657
446
496
596
334
958
2
526
348
869
471
356
610
483
991
819
393
553
88
990
906
973
264
606
774
737
331
197
529
845
522
548
348
124
747
921
771
476
743
4
769
978
182
92
372
436
792
918
982
413
909
242
163
941
952
55
755
537
778
59
428
27
878
956
645
48
887
560
291
786
327
591
562
763
415
210
77
28
52
869
388
819
826
986
109
528
362
735
875
754
212
69
285
115
485
52
967
143
669
796
376
926
391
679
393
756
864
566
825
116
235
411
578
568
684
550
463
551
940
327
257
109
347
239
535
337
837
337
961
814
675
325
658
122
613
223
252
297
618
88
356
497
567
932
186
942
479
606
309
12
230
932
1
625
330
375
374
765
563
955
753
49
148
477
704
128
248
145
400
975
739
553
36
381
204
897
143
911
617
614
420
975
892
183
873
400
982
981
756
64
987
983
389
836
321
202
98
687
188
952
891
394
595
487
474
806
300
813
967
42
460
815
60
695
111
216
20
453
335
29
0
360
25
718
857
150
710
558
336
381
696
146
547
695
39
517
884
727
596
734
917
876
412
314
539
45
921
122
625
515
715
282
621
365
691
204
573
662
625
875
550
765
485
495
330
59
705
760
516
913
712
318
257
373
762
803
299
398
339
828
823
551
83
928
763
96
129
948
114
43
896
327
883
616
652
419
131
919
226
862
133
253
383
332
68
636
690
171
750
650
237
490
162
817
7
539
959
969
871
490
709
282
198
223
367
268
418
848
68
262
911
651
434
96
949
929
84
111
497
863
163
226
92
519
840
993
997
908
303
120
854
458
569
916
570
626
37
854
0
337
579
521
723
746
689
832
147
459
773
249
663
427
855
818
311
766
665
728
794
722
65
983
764
729
29
26
627
771
415
996
82
353
484
197
859
225
892
592
859
934
167
333
870
399
365
2
903
210
904
560
9
560
67
137
363
708
550
908
382
231
930
707
349
292
546
362
414
693
391
258
164
889
703
569
212
703
314
551
598
436
403
61
944
386
374
432
448
213
188
682
352
462
6
621
922
537
122
387
306
430
877
496
262
96
242
178
103
687
32
650
252
871
500
274
574
253
479
582
690
100
544
697
824
285
800
194
396
330
451
186
881
265
397
315
224
320
725
209
160
200
349
254
738
655
294
300
483
376
838
53
738
255
598
8
476
656
709
286
88
896
770
751
202
137
514
689
513
546
916
126
106
55
384
838
241
895
857
914
355
340
224
99
574
703
163
529
62
223
605
554
406
925
355
256
191
292
379
916
171
700
465
392
361
292
675
538
165
60
746
968
307
956
130
533
272
481
613
319
586
990
367
713
367
593
709
116
66
572
988
218
589
66
522
800
594
659
692
283
310
331
677
632
537
971
764
288
223
33
38
537
423
604
438
298
394
99
577
542
974
50
683
951
306
510
911
673
76
28
85
505
181
54
793
258
814
158
836
930
924
830
941
176
367
594
183
930
992
810
387
765
503
959
66
86
475
605
966
20
9
687
189
219
300
260
988
183
181
675
31
358
433
591
70
533
451
474
263
926
720
122
876
730
97
763
75
191
318
442
639
277
787
178
180
323
137
18
91
974
20
94
774
4
702
639
645
50
212
446
91
698
125
182
957
140
368
328
184
493
780
63
20
938
688
283
826
978
195
319
88
630
184
863
56
311
712
903
620
366
836
178
923
504
513
437
30
854
788
279
119
701
174
435
638
671
154
709
276
412
421
994
737
108
855
440
459
278
899
937
433
776
329
239
783
924
987
739
294
266
404
316
681
273
619
472
814
623
184
663
591
536
768
279
142
524
416
922
9
468
924
504
955
16
118
963
145
486
915
491
341
152
185
472
880
462
899
947
232
716
370
707
834
890
333
8
966
918
114
225
376
181
246
313
63
931
429
847
304
989
333
435
563
470
190
960
202
340
42
907
173
802
101
795
809
475
766
64
248
119
743
484
0
675
661
890
722
129
284
998
865
312
303
436
705
48
529
770
24
439
769
6
334
625
708
110
932
600
174
333
684
402
75
915
752
593
170
288
94
995
329
604
648
53
720
157
695
496
525
576
397
763
339
367
158
551
706
949
102
866
770
619
239
40
565
297
747
74
924
751
131
253
848
107
935
863
75
842
287
532
489
513
446
432
549
419
13
566
777
668
597
515
823
55
815
675
426
974
309
791
899
967
172
177
375
739
262
841
245
227
847
479
835
466
316
65
964
97
411
879
96
345
730
720
274
854
605
502
434
190
221
758
308
611
305
507
678
1
888
240
667
984
72
567
586
144
421
792
323
873
16
880
687
993
869
872
652
337
505
60
606
455
966
827
728
550
233
988
635
251
212
84
8
83
52
209
942
232
767
882
680
605
391
889
700
57
418
9
824
258
42
196
942
407
169
935
221
987
996
387
285
772
366
217
139
676
848
589
386
482
251
12
302
913
875
695
122
88
989
757
229
56
707
406
903
338
26
682
153
377
743
342
332
358
24
942
878
548
645
600
725
683
816
225
359
12
336
415
594
680
934
540
805
549
527
157
958
865
872
963
188
719
272
20
554
385
354
890
376
259
984
374
925
563
832
714
166
126
809
615
519
453
841
996
383
236
17
155
116
204
286
363
276
756
455
958
351
229
899
611
582
439
925
142
19
237
499
863
600
592
929
990
608
873
680
551
668
436
710
178
263
15
459
16
770
708
722
635
291
550
958
730
675
844
701
567
573
175
898
763
996
458
390
344
120
685
188
702
686
441
655
287
996
483
863
201
908
453
960
790
712
313
433
984
544
471
231
821
37
712
59
483
64
116
244
398
747
689
126
686
157
34
867
982
837
990
658
15
352
751
784
735
931
180
144
791
446
11
27
592
112
780
790
363
824
241
361
87
565
554
897
472
971
54
962
925
457
531
888
328
324
940
249
723
688
19
212
424
540
47
5
830
697
797
814
568
550
645
128
820
582
721
670
487
871
750
379
202
131
420
837
620
690
563
855
668
987
379
484
38
710
375
381
768
449
172
629
418
405
659
422
755
801
959
961
692
596
281
415
513
798
851
30
766
938
696
931
340
125
909
876
813
181
5
634
172
695
444
55
516
265
265
174
401
323
741
558
636
772
235
329
474
93
338
382
176
129
552
980
300
582
999
645
475
860
165
979
79
958
896
93
566
803
841
965
372
518
646
938
95
640
404
875
805
736
571
883
910
859
502
553
129
286
916
158
345
609
181
897
816
91
820
900
870
719
573
282
459
619
926
636
991
987
10
139
757
435
961
746
543
707
564
665
330
587
622
947
624
389
190
558
339
918
487
966
168
900
353
243
573
63
137
121
13
936
651
830
819
53
855
265
85
793
293
665
459
782
774
737
1
331
772
673
690
714
632
716
280
97
250
584
414
896
937
969
526
971
190
872
113
355
701
797
445
82
405
363
1
909
227
936
404
968
249
455
816
490
484
831
658
366
730
1
442
406
866
212
261
556
509
588
956
32
842
28
258
48
455
189
404
870
164
564
236
426
921
351
656
78
864
568
136
94
901
591
834
540
650
765
274
82
766
397
441
523
151
680
234
600
855
653
691
969
522
786
660
16
113
348
846
190
915
498
988
275
191
939
504
829
696
963
331
154
419
158
82
614
940
277
259
452
50
102
880
430
508
732
926
790
128
410
661
263
699
853
832
557
910
1
928
105
99
144
690
660
245
928
534
73
753
105
779
629
205
41
683
986
724
734
238
114
84
757
938
380
271
407
319
679
867
376
913
389
363
414
810
695
550
609
320
352
320
15
611
842
317
969
692
809
103
558
40
370
731
16
156
729
576
154
167
240
928
59
830
848
634
396
533
574
366
193
639
922
620
201
532
941
990
467
559
353
867
987
41
16
169
527
594
409
956
701
122
344
484
277
369
595
752
15
274
331
298
580
222
448
211
341
953
928
158
112
163
29
385
831
600
583
818
629
94
918
412
532
726
616
347
7
373
724
258
218
559
306
797
838
361
280
382
533
247
368
212
868
68
640
684
223
845
890
993
20
183
615
476
889
162
434
801
209
477
72
668
838
869
464
690
302
975
273
797
379
978
919
638
817
455
464
273
828
252
386
416
162
513
74
811
845
151
129
779
391
701
656
898
304
336
789
373
623
178
714
125
846
301
489
194
835
575
618
445
48
188
914
183
869
222
409
322
703
414
274
491
905
309
855
540
78
938
738
712
485
417
188
940
111
516
352
881
6
766
167
97
305
82
327
978
947
845
834
398
15
222
515
471
16
439
67
922
687
38
24
275
202
932
62
205
688
8
115
800
7
980
185
1
732
401
997
599
924
936
376
793
948
20
378
790
422
413
339
237
397
565
948
697
805
169
965
540
759
803
440
643
40
559
133
127
625
427
503
913
123
982
408
533
715
167
985
470
863
741
220
654
662
204
758
167
407
171
661
77
148
106
946
181
304
216
941
283
904
682
668
401
543
729
678
527
824
228
873
602
730
359
793
425
894
99
13
946
731
651
812
485
427
64
307
356
126
578
620
974
815
11
419
906
19
626
67
742
622
518
624
598
905
436
640
551
841
74
512
687
219
349
336
90
917
798
733
879
481
29
642
730
500
432
966
843
282
12
886
995
141
294
266
411
157
712
468
611
525
786
550
307
45
510
171
875
669
749
974
25
495
638
290
258
833
470
353
995
144
605
182
407
835
154
829
462
243
153
242
689
665
3
287
195
919
150
673
61
375
64
448
178
464
29
198
594
736
530
288
57
510
690
42
77
736
997
361
415
583
553
352
739
373
626
107
593
799
416
592
233
441
90
42
53
759
303
630
953
417
574
544
781
387
423
56
880
512
821
197
58
803
715
480
885
240
361
114
237
941
157
745
815
358
989
57
797
200
285
268
842
777
614
558
801
657
372
1
412
449
706
127
396
540
171
405
753
351
408
804
81
164
787
671
830
816
627
406
583
482
901
118
349
110
885
775
538
311
773
796
519
574
882
854
811
664
554
310
9
966
770
628
44
644
616
526
734
763
267
627
336
710
655
267
841
754
262
409
408
478
661
981
128
201
930
843
138
940
430
740
127
112
978
400
151
628
511
125
917
60
755
693
929
448
42
51
438
55
90
978
573
650
401
121
204
498
620
188
128
211
332
909
121
944
644
43
484
314
254
336
608
561
314
659
566
834
790
159
826
595
676
526
236
757
500
626
792
851
746
257
650
822
686
231
902
616
498
131
536
271
143
710
510
490
571
81
893
511
972
964
409
606
749
861
850
585
337
428
486
916
51
827
207
228
371
11
838
816
94
304
129
378
10
732
751
608
274
597
550
839
87
365
716
571
462
783
581
718
243
938
289
584
931
622
307
328
910
699
483
303
484
314
278
263
674
342
777
822
474
653
188
706
849
743
853
470
272
717
672
955
738
434
80
11
903
95
893
307
509
414
698
696
435
981
499
764
146
631
335
682
540
459
966
439
310
877
807
292
53
808
403
865
162
397
485
193
68
823
635
945
523
902
724
548
819
757
5
879
516
119
483
691
855
756
286
188
121
875
423
588
997
911
580
379
117
188
394
712
828
89
265
641
689
44
262
369
619
185
926
556
168
153
994
18
264
868
74
387
980
570
323
827
650
56
312
294
534
493
698
48
617
389
370
728
712
94
435
5
65
801
920
615
584
162
483
129
83
81
414
569
940
160
84
290
32
923
0
382
223
742
54
711
123
388
377
0
652
749
826
530
211
144
778
291
943
263
482
100
297
348
669
450
498
492
317
59
766
477
729
659
169
463
218
785
837
618
641
508
371
436
724
628
773
227
472
623
291
482
331
290
396
480
791
247
146
774
152
710
583
910
514
994
665
302
2
709
957
448
233
495
665
44
4
35
104
827
856
636
84
146
845
948
882
620
484
96
94
171
893
521
964
855
522
282
150
356
868
45
943
75
611
53
769
721
541
244
715
873
733
924
777
741
618
167
33
730
79
744
845
427
452
940
476
276
702
976
361
54
31
895
521
419
858
640
221
274
765
250
548
658
965
56
535
719
432
213
371
602
522
613
903
9
585
256
57
61
425
608
626
297
734
555
805
944
419
392
14
440
341
999
477
274
286
464
816
492
707
985
195
40
317
810
659
259
88
633
609
747
286
896
308
31
522
599
42
245
464
975
210
298
197
379
948
609
795
161
229
304
650
651
402
789
115
457
719
856
712
115
673
392
374
727
220
817
188
813
514
168
873
500
340
756
765
675
33
749
266
918
939
495
464
58
72
593
744
345
631
325
418
434
589
557
162
983
966
821
761
212
290
876
4
388
270
569
717
813
766
359
459
305
160
238
392
784
844
21
469
215
464
190
878
324
614
226
716
537
941
4
417
10
974
258
911
305
712
395
201
140
879
427
815
87
627
453
639
817
108
584
573
321
349
937
584
785
550
109
597
89
738
519
286
437
457
99
778
710
993
453
605
277
896
727
273
150
899
625
39
205
683
471
938
898
706
730
612
94
351
523
238
770
465
136
845
479
262
2
831
891
233
419
611
623
339
563
598
250
530
192
116
326
743
594
966
983
957
403
588
802
632
774
671
932
972
942
215
848
17
348
615
280
726
69
806
445
563
261
553
405
764
582
601
221
91
558
176
883
107
301
875
331
150
739
765
509
728
837
355
566
985
596
859
217
961
940
468
24
45
200
902
710
516
125
533
348
989
548
689
773
940
152
851
968
918
582
358
709
539
288
647
704
874
601
70
81
963
182
332
756
969
422
446
219
698
287
917
217
180
695
883
670
568
16
954
180
76
148
331
432
719
228
156
36
853
915
58
62
960
527
83
135
405
696
483
628
454
962
295
411
214
602
763
672
258
965
500
27
603
925
509
19
679
182
71
632
705
470
931
62
953
848
152
548
173
846
496
672
471
414
926
401
200
149
79
602
295
866
236
764
154
700
660
531
206
305
521
51
148
521
843
343
213
796
714
313
430
656
23
751
450
666
243
94
206
583
534
146
932
261
825
405
409
325
888
331
5
657
688
915
909
251
321
146
98
754
281
74
185
613
59
377
349
76
510
600
518
743
979
250
230
870
460
336
594
566
985
328
959
973
76
275
171
413
235
594
109
499
623
530
454
270
916
189
771
966
449
713
872
216
245
309
587
853
992
174
284
746
330
229
731
825
819
824
285
856
931
358
929
199
285
872
856
947
166
639
934
162
334
872
732
535
774
74
837
186
562
27
615
719
443
143
278
322
982
947
98
801
837
996
52
540
338
337
408
880
577
594
887
659
579
930
498
489
521
947
947
418
860
993
656
208
981
497
160
968
464
981
489
260
489
44
638
796
413
471
887
169
812
514
572
590
957
701
144
718
151
88
258
471
767
88
20
408
32
689
725
855
373
96
861
890
981
328
762
807
20
715
460
776
869
617
560
162
330
67
919
621
684
384
922
242
34
452
118
983
927
415
363
546
314
649
861
891
319
669
383
652
477
508
266
151
961
467
435
500
271
531
369
297
763
305
59
990
36
992
237
874
916
221
192
118
406
591
990
102
536
707
634
663
406
411
815
147
236
316
955
449
72
122
387
653
171
838
264
860
930
914
3
394
960
237
343
804
40
733
110
446
355
279
480
223
82
449
898
65
251
791
514
471
955
430
60
763
904
809
652
699
202
783
138
525
500
577
133
761
724
486
930
972
526
483
942
789
802
569
574
443
596
482
176
282
312
293
599
500
473
93
344
860
398
921
793
799
302
975
764
922
527
342
56
173
497
777
115
460
972
869
892
953
262
892
43
273
846
390
534
636
606
210
821
691
359
117
169
754
395
510
837
498
169
155
588
751
112
106
17
259
685
562
33
409
133
2
280
499
613
211
744
425
94
492
842
590
389
690
958
229
471
264
680
760
596
196
45
126
620
967
665
691
763
222
55
437
577
307
510
644
186
997
80
190
896
341
884
271
750
61
881
136
53
347
727
455
87
214
952
21
938
963
339
634
128
158
292
345
500
541
128
590
87
321
742
112
222
309
54
498
982
662
828
562
897
137
132
623
411
728
566
423
120
446
633
341
885
88
878
272
916
306
376
249
584
638
518
806
532
287
144
32
36
732
249
195
673
836
617
454
141
859
72
598
672
713
574
951
853
314
986
556
115
364
738
572
849
522
284
784
39
974
360
972
827
326
781
51
821
588
680
935
657
205
537
412
2
463
215
944
72
628
464
615
93
26
608
890
178
269
655
215
304
700
694
263
333
414
3
665
13
245
679
905
794
624
809
986
832
230
392
841
411
157
809
426
457
539
722
593
507
898
868
234
925
127
843
245
311
307
954
717
195
213
113
23
60
923
868
526
775
986
966
890
573
11
968
810
707
914
225
195
253
980
724
524
936
177
605
590
931
195
221
901
332
934
33
885
520
305
340
692
184
776
238
693
141
186
349
394
9
305
449
777
118
70
897
124
240
46
398
826
74
466
477
817
205
411
192
892
164
954
162
317
435
974
131
223
658
951
503
103
401
870
21
854
213
456
845
584
491
62
559
699
21
374
762
901
625
495
143
531
805
628
646
837
888
332
109
486
437
157
543
716
931
418
647
415
564
592
977
865
751
672
365
703
741
838
25
205
276
644
98
299
66
937
279
336
717
154
105
12
529
634
317
369
794
594
93
462
189
787
649
19
126
936
843
721
714
83
145
541
17
705
889
775
467
739
482
89
293
954
739
913
848
625
493
57
763
961
852
470
548
449
629
409
149
64
496
528
83
606
152
268
273
667
37
871
987
200
152
259
412
222
303
295
805
445
573
329
737
205
299
692
534
738
709
60
337
725
288
952
632
639
653
342
578
502
954
751
812
157
100
25
502
828
895
655
911
392
436
5
777
419
624
653
57
447
491
513
609
900
658
953
373
236
216
931
785
270
439
228
338
659
345
422
818
674
703
201
570
522
269
54
782
263
810
395
996
949
964
894
933
348
762
193
556
911
434
130
603
725
413
869
710
162
597
206
371
29
37
866
496
415
300
958
370
84
899
514
642
333
11
557
827
313
147
662
708
516
866
937
862
849
905
83
495
654
554
811
563
647
102
10
123
278
903
285
376
736
217
533
271
883
223
759
867
338
691
358
1
284
728
960
566
892
875
517
416
303
373
785
236
500
216
270
822
973
937
110
549
877
678
847
989
632
759
828
551
535
620
723
439
903
439
80
562
75
155
137
507
70
666
16
62
239
9
116
520
323
235
733
774
885
927
699
584
914
81
70
995
318
976
812
242
990
461
880
589
519
713
469
559
305
444
485
713
299
298
739
600
365
537
145
358
72
707
226
178
879
957
916
223
853
104
515
11
150
143
698
233
441
828
904
520
488
469
70
864
445
994
591
545
209
457
838
624
524
950
681
850
619
396
435
350
158
774
350
508
702
451
538
416
335
105
487
670
886
82
74
197
599
782
596
919
188
399
526
200
604
669
416
663
162
391
534
455
653
358
310
317
905
685
167
341
520
918
611
207
342
1
906
576
429
782
409
629
154
187
900
914
715
645
801
409
0
406
587
969
743
826
83
659
596
691
475
12
596
120
258
69
993
807
57
643
763
361
254
517
901
446
132
129
365
387
252
279
363
351
109
989
346
108
480
844
723
248
916
496
614
879
650
442
115
577
16
79
356
649
558
395
824
204
410
264
760
782
33
306
724
959
572
190
408
586
29
545
34
689
715
132
583
479
770
171
205
424
654
538
580
978
902
465
795
478
474
806
513
827
381
711
308
846
720
70
560
879
650
553
761
118
951
936
617
947
290
545
143
423
759
528
779
257
138
40
109
603
43
307
966
221
747
21
438
949
202
920
78
775
716
402
657
899
535
473
454
981
946
966
640
612
973
158
246
524
880
965
252
417
711
368
195
736
378
887
917
139
239
749
786
606
654
142
898
3
30
497
223
49
909
297
755
558
492
17
76
471
926
590
427
326
549
43
468
848
900
914
504
118
235
170
267
6
343
925
401
259
16
91
984
226
615
877
14
326
9
433
744
635
602
666
503
100
972
327
664
55
569
268
595
53
50
179
59
430
458
533
42
168
883
4
824
783
621
724
709
801
595
243
65
755
802
337
655
906
105
305
623
393
26
283
183
197
888
490
654
849
855
667
251
742
299
457
948
804
841
384
105
91
39
293
227
274
998
412
642
348
519
38
382
7
577
735
56
391
863
433
422
339
941
419
368
481
455
33
333
385
423
396
849
21
326
904
923
812
338
932
548
593
651
172
602
734
89
863
394
966
297
881
450
325
103
169
191
367
503
882
842
895
630
822
782
821
158
905
892
468
807
295
344
20
774
775
965
476
960
872
242
84
422
207
365
921
685
671
44
100
826
364
897
590
725
123
731
254
418
957
512
208
200
384
160
312
134
595
516
151
701
247
167
540
753
648
458
841
65
384
158
825
820
709
732
825
598
155
116
36
462
71
965
566
193
886
785
939
3
446
308
215
85
429
960
497
490
434
745
509
989
571
870
649
365
261
422
412
379
767
367
783
903
956
137
377
180
753
946
248
287
164
840
290
784
50
713
529
691
657
673
593
959
191
45
103
75
539
314
345
918
101
827
627
642
853
949
772
590
655
883
925
797
701
474
322
399
895
736
3
199
695
931
417
650
139
800
816
93
833
636
612
686
513
588
245
77
921
15
674
557
8
881
221
412
532
513
309
432
127
461
23
241
141
321
331
737
312
684
790
419
370
998
203
758
314
965
32
598
508
364
110
388
563
657
965
256
108
470
383
108
264
516
353
397
473
989
617
726
101
929
716
638
263
473
534
104
991
452
586
741
434
709
872
807
137
998
123
943
23
826
206
939
969
602
879
728
964
601
219
778
586
101
570
363
193
646
448
614
599
902
630
912
710
497
542
24
869
887
175
130
519
672
680
193
83
651
651
180
969
851
20
327
198
506
393
487
261
249
54
829
816
275
418
935
55
118
288
126
312
623
759
122
210
82
130
593
26
238
191
322
819
838
649
380
308
840
457
675
882
499
670
477
415
566
718
40
569
246
466
325
75
27
606
510
621
749
194
475
832
205
869
854
946
717
273
104
492
653
936
642
456
432
591
786
281
842
953
336
868
631
559
864
964
923
981
92
158
663
753
924
858
743
719
534
808
966
109
442
455
877
569
781
965
262
581
594
591
884
125
431
827
415
34
851
558
7
295
241
484
380
479
199
429
227
13
14
82
974
318
697
521
843
672
614
40
170
720
111
746
994
379
718
257
555
546
285
778
529
328
861
505
178
701
305
12
151
912
642
395
299
532
345
499
620
214
673
708
148
648
352
649
155
641
419
203
636
380
327
859
745
590
617
335
11
875
737
189
16
969
537
853
762
472
21
202
745
243
604
788
804
150
174
945
287
490
733
881
536
224
104
548
94
808
18
360
708
854
536
25
468
865
548
343
671
570
421
460
852
169
609
609
201
727
528
539
735
922
388
737
124
477
176
39
307
940
252
668
801
969
564
815
943
115
177
894
682
176
351
404
969
911
720
263
42
119
311
872
322
232
821
766
51
772
70
821
773
786
333
377
229
5
53
262
914
848
974
490
841
314
387
905
504
545
579
751
556
273
931
339
972
867
980
578
228
4
797
667
390
737
488
739
123
904
948
563
692
39
616
592
278
176
381
630
724
189
765
887
289
41
206
534
631
788
773
413
22
347
1
365
176
136
272
7
706
13
233
851
773
115
37
580
647
561
254
859
587
425
923
773
169
628
244
557
153
257
435
931
582
216
392
385
641
707
290
473
643
414
430
371
723
436
929
704
402
181
184
222
796
777
240
160
944
195
382
352
561
398
250
854
477
569
54
720
982
933
151
185
687
751
19
790
936
738
72
882
159
246
622
99
60
475
349
417
326
229
500
913
919
881
908
995
536
218
857
187
246
733
335
643
776
221
315
514
307
158
205
345
454
969
58
700
37
203
682
582
195
332
852
94
129
986
8
445
500
810
829
186
28
367
155
926
256
392
760
370
13
592
224
40
222
945
5
350
240
159
660
8
775
85
332
571
373
371
178
249
899
7
191
729
759
494
410
939
602
27
43
98
26
754
189
4
50
618
960
738
666
992
609
432
204
877
390
984
880
879
211
21
34
983
719
930
353
152
730
232
20
46
869
383
573
110
748
659
990
989
56
309
524
980
59
871
46
537
393
212
676
218
158
481
313
829
395
583
744
191
482
729
248
894
901
624
926
892
766
195
110
977
810
489
714
914
831
419
917
940
202
557
60
728
408
134
948
381
590
368
417
419
238
737
557
715
54
6
905
632
599
238
680
517
316
551
225
685
492
629
851
41
538
816
724
5
558
78
486
501
835
82
926
593
42
238
251
590
184
645
774
289
314
912
215
765
196
351
177
229
855
780
598
332
555
289
721
994
955
199
152
810
411
919
510
339
904
959
471
721
669
271
575
331
887
643
753
259
681
277
106
141
873
256
378
644
298
555
328
128
800
783
799
784
904
294
586
19
837
332
102
300
900
376
614
267
666
887
292
809
630
442
834
120
224
681
692
560
90
284
38
544
357
911
592
334
112
630
172
560
760
702
841
124
883
744
784
807
28
313
17
843
637
143
556
334
544
739
113
595
98
128
767
375
121
37
186
911
147
445
548
259
971
197
479
494
500
659
102
737
830
574
486
139
980
816
944
377
583
577
213
63
950
312
31
6
650
707
942
54
401
177
568
226
962
219
123
266
124
945
390
684
526
134
729
725
212
944
916
267
786
263
808
110
302
355
619
70
169
475
111
780
941
179
355
218
732
75
474
839
742
512
864
88
861
401
596
42
418
135
877
116
334
874
255
11
815
165
783
214
672
294
891
64
964
777
759
819
648
807
707
773
106
820
491
404
352
184
79
721
291
896
762
796
928
855
584
455
267
580
558
371
649
769
157
934
481
890
500
740
519
816
969
65
701
648
674
320
77
669
142
392
479
372
327
830
49
259
59
267
73
785
445
857
170
84
140
640
272
838
215
453
668
725
546
884
263
818
284
938
585
694
210
192
629
691
346
310
842
241
83
420
488
713
987
472
447
894
174
369
292
205
565
180
242
127
119
113
333
6
443
932
429
49
938
20
11
237
411
851
441
17
529
183
84
27
693
685
536
254
786
656
838
64
783
630
214
797
680
644
923
8
816
374
158
811
742
555
321
311
594
600
615
266
47
936
434
323
225
818
245
663
70
218
511
706
644
513
599
654
468
784
12
753
294
525
710
930
357
811
690
938
738
364
758
300
686
859
39
604
762
383
975
964
174
565
786
453
791
286
704
197
868
938
340
947
972
819
782
653
319
431
722
928
484
420
82
98
650
1
653
410
531
848
915
864
977
500
139
442
869
817
787
193
628
461
736
208
410
997
566
254
81
462
529
137
549
217
217
789
4
826
512
470
383
730
555
202
779
882
69
632
978
864
608
77
803
138
389
667
761
281
802
316
413
730
573
204
847
229
978
264
17
376
681
997
994
180
14
928
23
745
101
637
393
651
559
576
746
228
95
407
687
309
932
251
858
40
267
951
827
431
200
853
78
925
446
403
319
954
457
270
44
628
10
628
757
796
599
945
439
976
91
198
993
344
291
606
105
637
603
851
311
733
456
394
770
966
604
443
482
673
178
684
248
174
117
69
799
75
833
56
651
665
221
740
548
901
203
955
165
365
304
925
312
261
539
246
888
456
817
123
396
700
280
579
419
217
97
239
765
9
629
801
453
901
437
445
148
418
631
216
457
179
235
134
47
834
449
58
118
605
428
368
647
459
350
98
764
924
207
711
85
214
799
694
472
875
382
889
305
176
680
260
888
317
507
740
0
348
691
762
229
169
526
976
588
672
6
831
367
520
852
783
355
733
199
570
736
255
557
664
505
880
1
469
621
220
487
555
459
577
385
854
595
433
97
885
459
102
161
283
316
462
100
192
29
908
516
607
38
956
805
945
721
439
641
406
584
514
561
19
384
20
6
201
544
922
288
876
579
628
19
958
12
84
846
724
404
527
870
691
394
152
28
804
880
967
322
607
502
272
82
526
959
207
893
35
180
207
663
352
621
993
875
541
594
317
589
305
355
449
998
468
501
478
728
662
106
576
683
708
398
889
977
447
546
202
471
72
460
960
494
603
74
805
509
338
772
775
544
992
387
399
340
338
272
675
225
951
752
644
734
722
677
531
858
697
463
294
902
173
354
745
942
477
206
141
269
873
577
372
720
96
750
60
689
343
42
856
579
772
287
883
874
478
788
602
167
135
209
678
115
574
375
111
632
640
313
709
694
916
165
861
233
428
442
262
398
72
429
49
295
643
623
675
170
686
633
301
416
777
47
551
968
336
742
48
299
215
663
691
309
961
281
667
782
277
130
656
823
947
831
611
647
483
887
364
520
900
771
440
438
267
308
600
588
885
440
463
780
294
490
91
469
612
889
942
934
772
313
533
948
432
588
105
692
665
899
557
853
890
640
363
414
2
93
806
117
570
147
265
89
46
822
498
147
138
862
839
660
100
116
517
13
360
675
985
455
149
662
326
495
600
19
432
958
79
374
701
140
275
637
316
69
716
309
368
184
341
789
879
280
974
567
569
573
772
949
497
862
999
979
6
128
943
89
345
695
726
474
784
319
294
88
630
923
703
436
876
581
325
289
173
705
576
225
257
160
946
645
903
438
690
745
168
465
787
897
478
869
756
269
880
221
323
226
864
184
403
726
425
63
658
740
772
740
677
406
102
361
664
732
867
99
727
98
762
573
267
454
56
171
507
639
75
900
534
485
32
466
920
253
764
317
365
928
46
854
284
254
506
722
145
502
715
415
102
380
558
884
496
765
22
845
876
985
975
354
368
620
409
699
188
235
261
983
822
404
270
560
739
123
490
359
188
685
121
718
508
916
372
816
190
316
530
102
29
254
729
5
19
250
520
225
312
631
819
418
563
600
896
469
212
427
599
351
349
861
731
767
636
493
755
44
20
376
438
704
764
101
81
276
158
738
560
988
23
480
211
327
191
465
78
609
953
138
283
833
638
708
547
407
150
259
705
912
694
177
412
556
16
292
29
645
573
301
723
545
838
821
861
149
900
791
432
727
904
803
179
37
162
629
527
125
964
234
604
245
20
58
583
118
416
743
145
527
944
874
426
459
953
243
2
11
652
0
192
45
31
222
769
144
373
368
861
168
43
24
96
287
65
234
580
749
869
259
240
628
594
205
102
782
544
228
617
767
355
825
47
866
0
534
612
742
769
203
253
302
59
675
972
196
394
424
914
401
264
210
91
597
613
262
473
26
898
468
756
228
250
42
436
429
508
57
639
53
336
496
333
998
757
699
654
966
885
870
372
490
62
810
668
391
957
679
948
258
690
237
576
195
496
553
808
791
366
235
760
115
986
677
31
662
761
292
91
736
659
422
711
207
195
737
113
526
228
403
67
533
165
855
981
712
356
858
723
458
687
927
606
52
548
617
510
603
170
470
797
307
81
820
597
594
760
879
598
457
383
715
587
815
8
229
560
269
817
717
775
756
31
302
955
236
856
872
360
768
116
71
677
423
745
313
40
62
794
118
971
66
218
434
829
323
784
863
829
605
780
706
392
312
585
915
110
862
170
779
113
396
976
844
250
798
297
979
787
412
200
206
45
195
438
460
149
203
430
407
771
85
469
307
639
447
742
958
624
923
287
918
87
629
726
277
36
51
527
755
838
157
58
898
925
913
187
308
942
625
821
572
557
415
41
118
207
241
0
29
74
789
830
292
890
343
545
515
611
956
733
555
927
833
860
485
167
400
299
361
39
849
814
174
460
975
940
125
608
55
895
199
929
22
11
499
530
877
414
992
592
487
601
842
679
180
864
291
680
135
851
42
789
539
646
318
507
197
769
199
759
536
8
650
308
687
958
722
980
718
815
956
311
285
462
454
516
876
220
320
200
41
29
241
228
758
53
905
491
187
44
150
522
512
250
402
301
731
733
282
393
858
515
885
421
433
958
148
348
382
874
37
513
244
773
698
177
487
551
22
865
278
270
259
87
769
480
55
407
212
414
363
766
930
459
601
983
860
798
724
471
904
638
516
904
200
958
707
584
236
512
728
216
793
826
736
960
325
803
751
284
474
495
469
814
618
187
960
683
5
90
537
812
313
167
510
677
6
940
238
37
29
483
653
521
406
579
723
832
815
761
78
694
295
811
746
602
763
643
91
934
660
573
90
117
352
916
309
618
442
476
864
10
939
729
248
676
353
851
35
587
140
690
590
198
810
860
874
780
587
350
247
949
665
841
73
540
493
413
46
301
302
143
816
996
407
165
391
394
370
79
342
690
665
883
55
335
151
488
939
504
606
242
716
195
131
700
450
812
845
422
638
357
206
333
427
786
922
483
777
706
417
703
690
149
714
213
130
443
788
343
821
44
596
839
141
282
793
337
577
444
654
203
28
544
396
363
341
943
914
371
360
895
489
286
358
9
880
151
769
743
197
525
506
418
266
945
269
243
819
456
675
159
209
925
941
617
891
683
206
498
932
863
834
745
383
986
735
84
28
79
733
488
944
422
834
59
387
770
370
378
531
164
604
681
257
790
700
428
187
442
963
992
61
96
980
214
785
100
720
472
391
736
572
647
957
910
250
530
83
427
900
901
883
592
397
404
857
116
988
754
418
409
878
271
430
405
53
830
408
43
17
429
594
316
691
584
318
653
870
879
409
735
752
810
627
394
10
666
595
405
36
879
109
678
912
555
200
396
991
477
747
757
529
516
12
584
306
709
575
990
701
388
508
607
274
685
965
647
167
481
208
26
365
244
878
496
451
187
822
733
728
919
915
327
325
761
989
152
15
790
966
998
711
113
990
753
859
326
290
819
945
544
71
929
110
275
157
268
717
14
430
57
220
883
695
624
359
133
898
253
18
329
11
44
896
746
849
891
53
619
656
503
516
227
995
7
184
766
203
844
788
285
567
836
721
848
96
632
12
471
986
373
767
690
604
827
126
74
807
19
545
39
35
478
135
869
821
131
353
369
150
486
284
455
209
37
87
119
602
442
740
736
180
927
331
652
214
122
71
623
647
226
692
193
159
136
16
469
2
178
999
661
286
660
966
23
603
443
595
164
914
793
555
339
230
756
164
376
126
574
415
720
68
319
191
958
575
315
401
838
956
702
211
310
195
173
636
84
429
38
991
560
421
509
785
699
500
596
358
470
7
846
86
289
805
857
279
902
450
331
819
836
556
555
16
97
480
8
453
616
902
617
4
300
820
612
168
634
60
608
231
386
8
809
999
559
84
847
130
788
145
403
508
43
40
418
361
668
32
830
659
95
677
972
145
232
841
32
615
936
922
208
30
885
40
168
411
70
614
983
514
682
765
831
827
292
940
199
770
629
647
978
270
941
385
821
470
446
892
954
649
952
15
174
318
105
467
231
951
243
883
29
0
378
781
986
81
530
900
491
252
865
241
979
789
240
556
130
283
200
445
137
276
767
674
303
628
971
532
25
980
597
399
357
934
322
915
423
687
623
657
977
100
48
971
827
256
542
816
490
138
300
560
406
190
155
966
637
270
829
807
951
137
564
428
559
165
684
505
756
82
126
249
806
596
317
637
320
763
823
436
60
438
673
944
114
948
195
602
63
537
46
817
963
466
97
17
761
805
43
475
385
443
277
864
190
766
613
937
784
445
55
719
111
955
258
643
444
988
135
378
985
790
968
773
195
46
102
470
889
919
114
632
819
547
489
954
253
348
845
50
695
247
193
907
220
514
809
942
480
805
156
551
157
288
948
231
92
851
396
779
92
683
529
944
606
363
83
242
174
763
392
944
297
874
564
152
721
53
941
496
655
174
445
755
899
789
267
505
575
185
804
179
867
112
824
349
443
702
883
334
557
171
863
371
430
750
976
505
47
793
538
81
489
372
804
358
776
343
290
91
563
103
410
470
199
248
978
499
167
831
546
705
895
68
313
724
671
128
125
550
708
563
520
43
152
616
752
578
225
140
653
206
325
68
923
866
418
211
454
617
611
805
17
559
315
763
656
565
980
702
225
314
687
285
359
290
719
995
387
84
220
670
332
743
950
942
114
253
530
635
83
597
222
546
255
545
864
223
124
573
335
466
883
318
707
193
489
204
516
917
693
440
245
745
51
674
525
564
855
220
400
737
651
120
771
86
438
644
781
581
691
244
961
921
343
792
165
868
999
572
684
158
543
497
719
209
250
606
572
897
186
936
444
552
615
784
767
380
249
819
564
241
579
919
99
845
521
375
458
525
758
790
82
673
671
162
657
241
445
412
832
357
23
340
631
931
98
120
996
658
65
765
730
981
448
426
623
651
204
226
400
238
781
208
978
946
887
381
197
935
882
364
193
202
921
443
465
943
284
423
55
273
131
110
122
449
896
309
201
842
138
211
592
581
160
305
684
774
637
379
475
113
209
60
90
564
88
822
426
316
637
585
131
599
352
34
681
3
290
905
74
721
538
513
981
61
680
692
445
261
500
392
420
339
201
933
267
339
545
801
178
230
729
22
189
401
518
630
700
997
682
269
642
394
547
438
81
182
976
599
94
123
869
280
487
886
427
448
811
744
877
543
56
961
742
803
447
557
879
123
988
830
654
219
656
599
39
959
797
599
0
732
190
502
347
721
25
2
373
710
849
247
909
912
30
958
42
334
271
199
227
456
243
1
780
884
80
400
775
17
255
142
262
66
444
560
35
588
210
754
747
604
262
73
662
50
958
712
660
657
422
246
457
255
20
816
600
865
445
66
326
526
849
130
354
644
667
762
313
676
202
628
929
897
464
677
263
738
208
502
896
251
849
353
541
64
92
773
32
835
177
586
578
767
827
532
798
809
492
662
260
438
422
806
693
979
946
964
62
314
950
162
223
467
35
221
308
891
634
30
859
12
508
354
815
702
347
285
79
820
399
965
530
691
7
798
36
375
870
119
904
351
541
296
777
597
23
503
76
926
829
236
71
891
112
204
38
630
229
492
195
45
96
972
296
504
753
105
858
812
606
467
239
865
605
472
653
534
42
601
943
857
838
232
655
309
493
903
721
92
696
354
432
231
729
346
578
723
583
375
874
839
224
736
953
27
539
33
156
461
513
306
37
577
879
40
776
447
426
444
352
636
733
792
286
939
585
879
640
878
28
451
672
678
231
143
575
50
306
443
784
966
9
251
726
524
118
336
899
158
479
553
423
668
283
976
666
969
39
227
970
434
425
854
450
425
264
846
984
657
473
596
19
94
595
546
272
709
241
742
172
758
632
540
907
827
729
690
677
386
381
582
637
341
883
559
805
239
883
583
442
614
60
696
690
287
974
666
449
223
621
342
815
990
535
768
673
342
103
313
881
739
902
179
572
409
26
679
630
645
372
841
782
803
475
996
937
810
772
867
14
599
621
57
910
447
507
44
797
273
433
75
175
667
168
906
117
733
526
283
331
936
741
482
444
746
625
18
284
880
125
190
800
892
984
66
357
552
399
491
280
452
897
357
927
836
845
146
395
231
665
943
638
632
274
687
460
906
317
14
682
446
628
473
697
485
8
811
799
827
274
581
737
776
751
906
139
971
868
387
911
336
954
907
75
337
708
75
77
621
931
682
298
595
838
821
552
738
214
15
533
430
297
183
202
452
776
204
150
487
822
127
766
101
101
958
318
156
245
357
790
300
809
837
554
155
228
524
938
776
736
757
748
206
903
60
633
759
793
280
130
858
501
297
506
107
399
189
745
38
307
263
494
16
447
396
862
302
82
339
335
488
930
105
163
732
309
685
718
595
969
521
4
479
138
48
715
466
313
536
541
487
365
421
408
646
757
601
563
765
626
421
201
990
263
383
6
892
996
488
547
855
581
998
485
268
230
952
48
205
305
794
444
229
44
325
833
677
50
311
241
456
388
945
161
526
381
168
694
178
983
380
780
532
132
866
438
177
373
899
924
505
120
6
5
114
767
342
605
644
123
174
856
414
175
407
44
445
227
569
529
117
535
751
734
779
694
376
796
457
331
754
558
402
435
605
662
116
528
635
990
523
672
597
628
819
320
886
261
896
138
899
98
172
424
11
935
810
292
642
60
311
525
125
573
577
329
734
7
118
134
988
814
132
401
619
760
543
463
552
497
199
797
75
331
998
741
901
303
384
36
431
288
330
233
710
546
929
315
903
980
58
185
669
325
505
598
618
626
614
90
132
945
790
728
22
351
855
605
73
858
315
663
770
596
589
799
124
837
179
948
992
614
578
628
774
320
43
99
511
216
944
545
292
844
743
400
883
152
306
15
157
206
524
23
877
299
493
145
576
175
29
861
857
757
137
210
315
814
846
739
981
836
349
264
95
815
300
438
980
349
33
593
475
877
818
945
455
19
845
449
58
488
683
342
551
399
804
835
717
203
361
810
15
243
6
548
294
33
413
879
5
761
908
881
276
56
893
458
106
37
345
635
209
315
178
489
380
432
834
768
589
955
1
136
922
35
246
962
732
530
221
751
124
50
720
998
212
60
288
725
790
454
912
336
651
219
302
376
219
749
745
463
157
454
826
212
866
594
478
516
598
443
218
481
437
722
83
356
898
630
564
661
942
811
70
313
675
920
549
608
70
943
1
137
867
15
187
794
40
998
771
194
326
249
350
875
538
319
106
911
274
972
14
505
111
122
75
252
649
175
483
755
646
543
496
921
988
436
713
810
662
939
669
717
10
968
408
820
581
232
646
117
664
325
33
414
27
740
653
837
684
783
251
952
791
894
782
912
216
590
765
149
972
235
925
616
887
401
805
111
969
40
764
705
877
917
727
431
180
127
99
358
269
144
914
709
919
115
502
43
431
695
406
193
586
67
127
185
187
460
667
472
194
397
585
325
601
958
99
458
480
237
748
964
535
227
149
524
114
327
995
208
757
448
786
432
322
121
663
302
591
947
226
304
339
543
236
602
804
211
725
627
865
603
939
980
257
275
325
969
397
158
145
198
499
426
375
963
430
334
982
563
616
195
467
817
123
436
70
209
72
205
104
976
344
750
592
102
436
849
537
814
169
693
17
128
411
101
422
397
537
114
592
88
891
826
977
4
403
78
13
712
553
21
827
226
198
603
16
152
4
452
505
77
105
741
30
493
838
447
944
107
751
668
795
735
112
878
62
679
33
678
106
432
307
370
803
124
440
718
642
456
407
353
728
998
3
683
130
944
341
812
788
28
525
943
840
476
425
900
726
88
215
837
246
762
401
635
234
532
140
899
935
750
270
867
91
807
805
647
336
349
272
735
463
367
365
875
202
190
454
482
175
542
262
596
810
490
238
392
262
912
834
23
744
692
770
421
818
803
932
371
877
281
501
30
476
357
162
220
506
505
370
784
478
832
885
657
51
976
458
765
68
521
993
473
73
459
144
249
928
788
364
589
628
425
48
228
771
144
707
9
391
224
179
969
670
523
288
585
716
591
718
762
369
545
174
932
691
473
913
414
231
450
861
173
31
133
511
6
934
307
499
233
620
747
517
249
986
334
296
446
371
367
102
837
219
896
730
311
178
572
699
124
766
718
952
221
577
387
54
745
134
81
123
923
701
268
969
241
27
189
754
643
930
937
108
35
69
85
797
649
178
191
375
116
542
236
314
347
1
399
452
914
215
637
692
270
862
298
500
67
64
185
917
615
974
659
381
392
998
426
921
368
886
282
999
95
958
423
663
320
976
197
304
473
28
877
625
768
601
793
427
562
221
425
878
273
464
714
718
552
602
967
891
902
124
124
788
245
831
118
444
944
891
553
682
361
679
104
829
618
393
666
916
906
954
478
735
317
48
301
557
902
890
118
816
739
144
410
232
524
956
851
764
116
632
874
447
492
840
456
862
689
729
427
689
335
488
139
87
398
525
631
836
489
931
936
544
851
538
764
340
700
448
973
154
980
499
640
597
468
336
745
488
933
312
203
20
398
936
365
926
488
903
225
610
754
583
114
87
102
734
428
750
342
377
477
416
173
118
851
162
311
296
126
396
817
889
614
738
31
527
289
443
108
751
890
967
514
244
194
730
170
837
936
510
690
834
837
790
53
467
93
284
42
691
365
504
312
250
356
560
802
767
341
77
359
545
33
790
150
889
223
75
309
628
463
847
497
817
446
971
107
672
621
346
65
4
821
26
408
276
727
802
669
257
953
279
874
817
186
365
782
419
964
441
826
48
717
700
326
588
839
503
874
230
158
644
43
51
788
379
834
410
455
866
711
219
18
14
208
902
634
166
409
573
75
422
915
474
809
530
33
889
801
673
423
811
515
738
448
386
491
928
864
327
399
228
59
826
766
194
731
207
867
890
299
182
163
947
729
401
780
830
442
583
671
500
940
76
266
767
675
633
626
440
598
864
472
871
959
471
447
926
358
371
263
910
717
502
869
413
606
90
325
140
459
160
418
759
619
872
555
432
594
742
722
745
634
762
375
175
391
251
657
654
899
573
570
278
655
985
984
32
50
341
198
870
608
706
685
660
264
574
967
19
763
280
256
185
207
530
794
216
525
659
271
16
575
20
588
964
458
117
584
516
99
923
462
617
426
499
957
222
596
392
439
79
31
344
86
187
422
362
612
48
490
856
693
337
717
43
560
570
949
86
314
592
66
416
98
813
362
50
41
394
211
501
826
171
479
63
582
965
919
258
899
588
937
667
284
973
539
166
22
429
62
772
68
138
228
43
660
16
595
458
295
803
430
875
489
107
701
722
100
19
828
565
446
769
990
550
773
598
162
359
121
123
124
203
552
453
915
809
329
549
303
118
340
89
852
739
287
995
225
950
360
366
789
939
605
448
686
990
750
560
808
868
209
625
392
796
959
433
326
729
262
912
969
910
417
878
409
934
50
563
382
744
460
637
247
828
513
403
421
387
793
947
618
422
660
509
571
339
709
283
290
399
109
546
313
902
462
553
402
587
265
400
139
456
30
815
471
524
505
850
617
340
535
696
568
648
750
964
294
677
599
637
665
287
77
192
662
661
920
551
461
172
613
588
317
558
78
243
221
425
890
38
31
42
392
104
336
593
460
147
265
650
943
813
743
554
513
385
217
861
786
711
815
337
581
741
480
748
776
798
484
83
595
146
93
150
242
188
369
988
73
273
393
554
817
200
768
880
257
855
993
185
575
339
615
47
690
157
366
581
269
826
618
842
79
937
866
878
251
361
353
132
645
281
438
294
986
448
852
547
432
402
705
393
682
516
600
658
519
525
134
348
143
770
167
29
912
399
908
938
699
138
924
617
952
647
807
998
634
492
727
551
661
336
738
24
970
23
485
345
21
783
504
233
434
958
153
145
949
622
534
298
637
401
474
419
746
671
954
355
739
472
281
772
52
69
622
680
682
567
481
11
925
282
315
318
386
141
433
918
88
654
305
377
891
802
305
193
166
717
438
482
5
984
798
651
846
318
676
330
486
894
358
726
670
674
739
910
329
147
410
599
549
646
434
345
523
533
751
568
368
876
924
407
886
708
598
213
471
684
507
610
228
94
857
914
996
681
573
728
211
84
505
175
664
88
732
370
471
88
263
27
388
285
351
741
821
348
535
589
383
464
968
112
891
773
972
86
558
275
709
358
305
213
141
663
163
894
36
980
930
882
89
349
806
157
304
766
846
166
958
850
921
685
494
36
411
491
486
347
965
514
627
116
312
147
345
323
58
644
631
971
684
685
330
723
268
312
498
975
338
625
341
191
958
262
619
210
294
907
361
449
357
331
344
1
606
697
444
503
119
810
530
722
179
837
463
474
33
613
954
842
368
667
326
709
43
69
941
212
360
880
918
977
295
521
778
894
943
295
80
30
308
581
580
967
604
579
892
790
403
389
79
718
409
185
629
111
258
510
863
600
304
535
600
822
633
607
918
565
198
569
280
237
261
895
135
675
189
727
458
53
64
889
227
933
685
518
767
962
393
427
678
648
552
93
915
59
97
762
188
821
850
918
431
79
613
723
370
331
719
388
782
198
478
552
360
238
161
824
561
741
73
168
594
392
374
310
117
610
718
698
50
976
765
872
164
509
915
89
214
255
887
902
173
502
262
488
741
510
820
306
815
485
399
822
157
431
7
596
505
793
750
619
550
454
289
684
428
443
175
465
431
899
176
204
234
766
915
310
563
124
995
34
678
140
879
564
457
6
690
45
855
672
528
720
412
95
861
435
888
753
557
61
115
58
322
309
43
128
511
865
28
620
207
796
529
256
826
594
132
504
992
500
843
626
301
761
147
151
573
569
442
83
38
837
791
345
406
232
994
990
253
715
387
756
293
591
233
648
889
579
764
320
766
905
782
248
612
507
357
226
434
743
583
768
552
841
783
912
934
742
48
604
967
433
578
711
438
725
462
859
253
105
235
760
859
592
739
987
866
966
800
994
600
860
975
336
27
537
754
123
111
278
304
374
171
65
481
483
459
533
965
860
985
739
334
887
79
761
58
725
592
664
725
300
128
564
417
797
104
427
460
510
425
376
635
974
733
333
196
475
311
660
667
927
827
789
356
602
107
706
574
655
303
579
577
971
250
818
734
493
704
908
572
477
303
792
624
785
743
391
451
140
781
150
391
590
225
441
421
243
589
401
329
144
80
36
460
553
612
884
295
982
688
539
468
739
648
800
121
958
175
947
141
152
231
857
235
461
422
674
59
367
14
423
306
530
685
230
711
655
506
138
399
210
775
754
132
181
598
128
284
905
13
385
245
607
935
752
72
253
757
400
342
91
242
237
404
253
863
330
603
195
835
369
521
294
947
324
401
450
502
308
120
10
176
268
342
792
883
74
129
215
584
607
120
246
419
232
215
67
624
103
472
735
25
176
111
871
290
586
720
373
895
55
730
686
601
500
242
463
518
567
278
739
221
302
82
730
120
851
351
705
973
233
602
802
0
388
441
216
559
768
382
917
586
977
526
5
247
337
964
782
518
371
214
970
575
614
373
9
233
934
95
276
778
52
394
652
222
581
334
186
264
570
474
908
180
707
456
611
644
277
131
334
391
657
402
955
247
302
934
570
868
336
15
934
237
165
172
900
317
336
990
405
432
950
420
456
196
145
922
505
36
403
318
918
608
719
160
891
915
396
772
693
853
833
640
482
787
605
729
197
614
657
536
705
411
244
13
508
343
834
208
477
235
372
338
29
828
520
156
556
337
353
169
292
135
291
147
455
674
279
749
882
349
871
597
650
42
143
811
291
560
82
379
468
949
256
610
84
989
118
57
627
228
694
322
91
560
165
8
774
225
212
13
95
843
148
263
202
349
422
848
614
575
861
631
583
263
987
13
792
428
127
475
245
268
685
664
733
46
247
439
279
473
378
842
455
559
654
351
68
820
821
4
111
153
749
838
857
807
546
154
752
275
693
368
332
298
311
559
615
486
762
258
4
156
769
938
582
924
538
562
646
265
451
70
866
689
920
417
619
665
56
67
239
209
568
506
731
227
283
148
704
806
461
518
248
487
394
190
723
685
760
554
917
450
483
29
234
528
784
168
695
905
828
167
667
542
454
952
495
362
473
793
971
206
12
701
777
564
233
369
975
505
406
316
908
0
913
900
223
957
221
501
74
845
977
439
406
735
904
692
871
77
267
69
565
57
713
60
140
15
774
501
153
966
593
381
314
870
995
77
472
228
699
740
883
162
311
804
196
684
127
191
772
989
616
30
923
176
316
986
995
312
162
201
507
947
209
415
315
569
964
724
176
482
852
720
693
922
676
605
342
233
883
958
983
526
264
559
804
172
189
159
605
175
701
960
614
935
764
716
596
598
296
747
288
779
836
937
322
12
637
463
783
133
2
144
664
708
336
949
689
324
165
532
842
473
558
588
992
130
801
655
657
805
491
364
892
560
565
179
152
275
55
410
604
120
883
957
907
539
779
551
991
3
374
893
405
368
564
690
810
887
303
228
154
326
823
258
169
12
157
390
966
27
127
909
376
591
895
53
574
308
996
66
265
879
231
73
647
455
405
529
786
53
59
843
331
720
518
648
794
640
13
611
123
383
109
145
647
772
254
443
278
785
30
736
521
906
723
552
301
618
662
813
844
571
649
119
847
294
527
800
260
981
461
86
14
644
593
844
466
309
55
398
562
255
492
286
743
384
304
167
190
711
611
259
456
933
73
240
275
624
156
96
950
675
411
461
575
397
767
252
189
819
626
265
518
519
341
638
968
923
929
501
422
252
505
9
861
318
750
832
300
390
656
260
933
853
147
812
572
361
518
721
827
141
243
708
718
965
930
727
918
419
857
355
422
740
534
511
905
940
862
65
436
274
321
726
423
963
20
13
416
188
475
533
240
610
957
28
212
857
524
277
524
621
561
457
616
760
246
540
26
101
143
508
49
484
305
133
28
944
535
913
142
840
428
447
638
320
256
42
778
672
425
594
485
461
864
244
68
473
15
598
428
413
590
613
89
904
491
859
653
179
291
946
223
561
18
349
390
67
815
839
425
278
163
787
450
809
778
327
29
916
962
480
381
596
747
434
376
310
74
906
679
438
878
917
200
367
474
869
738
312
509
745
699
4
655
120
277
360
913
525
706
130
845
567
954
573
184
647
761
650
360
577
637
963
853
353
90
6
5
897
458
871
433
112
494
49
785
469
464
458
331
440
392
119
346
406
67
628
132
154
804
988
932
662
248
794
861
97
134
139
510
99
340
916
228
16
961
1
142
428
200
332
448
933
628
85
649
982
187
60
797
554
957
308
159
624
41
975
184
33
761
247
382
657
37
504
390
316
221
255
234
933
233
701
334
240
704
357
847
419
598
400
81
23
522
304
241
11
797
60
370
219
151
292
346
987
658
913
828
364
241
614
465
257
233
545
741
890
903
655
272
40
553
765
699
922
487
715
9
137
909
79
60
759
993
415
282
113
263
594
679
520
190
913
952
55
891
615
281
43
959
1
739
726
789
725
929
733
871
671
604
299
297
460
224
364
599
472
571
464
382
704
145
659
60
209
527
745
496
210
370
402
659
333
472
917
2
626
401
8
973
859
873
66
131
891
340
554
340
419
738
61
547
218
969
738
797
534
401
769
401
868
517
835
715
362
775
874
724
86
49
498
95
748
18
986
803
61
105
734
768
690
9
764
827
553
486
46
327
607
16
205
799
249
391
27
590
626
483
30
741
418
89
414
858
91
935
22
991
272
945
606
376
228
26
23
231
187
292
49
239
702
853
955
773
210
959
222
598
357
780
8
623
757
182
928
301
427
386
683
40
474
678
400
546
62
207
935
143
865
458
205
830
208
414
95
3
718
739
953
50
701
829
620
902
309
298
18
970
83
777
303
52
904
591
431
323
515
879
819
59
636
397
588
715
564
947
584
592
262
714
940
756
521
674
747
770
374
438
790
950
20
189
543
995
444
950
162
650
174
35
428
673
50
304
132
64
378
507
307
78
901
703
567
747
690
66
602
858
792
196
704
581
155
177
86
291
487
167
740
13
357
496
648
417
394
255
669
767
997
431
90
362
808
304
867
816
320
737
398
174
621
983
10
9
821
585
747
888
706
901
42
431
485
353
667
4
755
442
712
779
277
740
503
823
79
213
397
397
236
569
80
921
678
956
371
394
914
121
479
2
648
134
348
137
937
345
467
320
606
385
139
387
200
88
233
828
500
773
746
481
343
337
84
998
45
273
185
425
722
780
340
475
139
646
457
110
854
592
851
201
93
985
156
443
808
45
875
2
319
66
308
308
491
714
237
138
203
195
381
548
117
789
179
778
768
672
863
674
581
30
186
75
148
192
378
508
552
955
885
631
428
105
527
611
839
343
26
468
661
546
164
311
865
783
984
658
797
571
576
867
38
44
899
9
912
165
776
548
857
284
762
144
303
902
616
597
404
42
494
91
492
387
375
219
642
628
734
770
859
441
495
891
482
992
13
356
79
773
18
76
426
363
874
412
969
160
705
597
531
390
789
835
791
55
492
944
693
356
739
208
278
143
7
752
619
942
259
572
777
103
969
30
190
590
66
296
398
129
927
181
759
608
880
148
349
336
542
845
69
219
147
689
998
569
335
919
916
390
998
198
73
34
781
694
195
682
679
863
273
789
143
230
604
671
439
778
910
134
660
27
270
124
932
72
151
1
631
606
158
934
179
865
644
331
577
286
464
558
41
656
666
544
474
277
265
26
532
581
56
920
377
570
901
917
256
481
628
3
719
636
448
787
82
398
644
372
674
100
869
942
226
368
87
827
353
779
269
889
965
505
652
861
178
882
315
926
709
650
874
737
276
248
55
994
587
60
764
867
23
633
663
536
383
674
493
231
623
561
882
795
58
339
916
721
852
897
609
334
955
471
495
712
996
35
555
456
422
974
651
995
453
272
990
769
906
52
36
989
756
437
177
101
128
437
474
940
510
27
436
30
487
999
966
924
599
699
326
706
111
743
603
19
730
422
79
402
372
613
175
164
605
313
811
955
926
249
504
568
835
468
587
141
238
882
713
120
679
121
128
467
37
785
487
725
743
357
793
789
809
852
557
238
715
17
994
242
82
201
976
770
691
907
338
484
412
528
725
173
770
505
436
935
367
625
745
546
862
753
224
978
635
852
601
959
525
612
320
492
307
942
688
715
553
426
240
793
503
166
654
318
416
21
628
546
550
668
82
651
944
220
115
147
454
765
282
634
202
476
920
912
482
755
937
384
358
205
869
11
134
966
759
372
58
144
246
472
384
493
830
531
478
38
734
698
269
174
219
576
42
39
245
801
459
143
329
175
352
46
843
24
634
919
757
34
328
739
540
946
844
324
430
475
335
181
206
890
169
331
802
988
422
755
916
778
595
597
741
954
368
522
228
429
756
491
695
120
280
530
442
499
606
49
641
52
593
793
988
152
740
737
847
903
483
662
583
552
634
462
586
400
250
382
354
503
555
139
387
795
597
621
761
866
494
831
193
779
640
6
887
304
267
246
284
540
805
759
320
519
117
818
258
159
500
627
128
838
503
173
120
201
172
937
504
553
225
211
439
154
441
447
593
143
946
692
98
863
377
585
452
441
541
798
880
980
26
381
330
365
546
273
635
516
443
817
781
931
277
931
506
48
329
964
553
949
981
541
844
264
299
584
840
457
440
816
222
923
301
36
966
929
968
797
619
958
156
825
627
995
322
51
101
965
940
839
900
648
197
813
988
181
495
95
333
122
833
937
917
944
882
205
168
180
306
296
888
73
359
739
487
347
384
213
324
598
574
672
652
690
711
407
590
517
389
373
918
679
824
425
744
868
682
386
585
500
20
780
685
386
365
911
163
720
364
731
187
880
887
681
421
34
327
330
990
300
410
930
29
368
744
163
544
860
355
632
461
455
104
610
702
623
478
323
154
910
325
903
649
259
185
321
62
202
750
411
66
822
342
901
850
789
804
838
919
792
387
284
986
351
715
139
549
137
330
630
215
902
324
979
304
436
791
843
297
818
274
972
694
356
913
765
606
196
171
838
495
55
445
954
819
445
835
954
573
845
993
816
32
551
587
464
68
403
217
819
684
977
147
679
796
202
182
692
375
78
884
989
632
528
195
827
894
419
182
833
869
416
382
70
519
830
45
814
135
20
888
211
974
217
292
609
503
490
173
211
771
704
544
662
9
662
924
767
32
949
224
214
995
819
843
186
78
541
201
370
669
815
471
610
349
237
925
865
304
269
164
868
344
104
293
158
522
102
459
710
541
617
209
288
824
876
808
375
423
327
873
48
682
896
269
199
572
935
793
239
145
437
631
383
516
3
541
961
364
741
328
291
504
176
972
424
938
898
760
243
556
505
668
184
317
726
55
763
827
104
2
432
467
115
457
790
343
54
84
577
213
677
681
151
840
272
721
363
577
397
724
963
791
73
393
225
921
425
324
426
259
92
671
73
634
217
27
419
794
778
402
984
533
101
346
988
333
415
437
800
950
8
302
181
343
346
43
813
356
477
171
257
377
614
759
459
346
491
8
288
280
415
855
2
171
234
704
159
686
81
559
819
55
312
719
358
479
997
443
889
934
66
698
777
86
414
338
735
853
969
748
633
653
965
540
257
182
732
14
9
56
423
703
113
445
870
968
467
209
617
636
492
3
81
859
287
196
801
558
672
256
902
634
446
29
612
388
900
150
38
918
898
473
442
904
239
320
873
387
315
932
743
12
784
861
106
481
343
774
898
912
651
223
46
879
366
808
98
116
519
754
678
555
937
409
397
518
601
754
286
774
404
790
469
965
400
300
299
956
609
524
785
15
55
567
379
620
130
37
237
156
680
220
386
721
734
336
480
844
352
81
554
288
598
441
58
660
730
863
324
990
855
502
428
100
341
451
162
993
915
748
779
693
128
563
313
176
603
99
175
695
321
60
219
751
819
3
578
728
124
635
357
445
51
424
966
395
676
460
198
421
331
766
650
480
665
686
115
475
408
591
191
223
226
386
802
767
26
516
144
697
218
267
372
122
935
247
177
419
979
304
49
65
522
982
115
993
612
640
719
713
769
717
614
118
292
492
228
7
574
122
876
769
919
813
813
702
0
886
908
136
257
658
260
519
88
409
516
591
249
185
967
599
955
324
30
986
40
895
420
380
806
515
968
67
857
759
858
392
805
545
897
932
81
782
868
29
528
414
979
221
769
801
928
604
852
732
604
580
697
718
333
472
664
465
988
8
688
674
984
652
265
735
419
672
218
855
597
120
817
796
637
410
467
482
160
511
857
466
662
939
288
304
124
452
276
195
466
787
738
234
175
408
667
928
714
240
166
705
497
758
572
435
175
295
275
344
774
342
573
236
805
459
203
575
493
819
327
64
631
880
431
336
622
191
537
13
354
397
519
109
704
902
468
124
847
613
74
604
534
245
541
47
138
441
779
992
226
806
48
201
882
522
33
180
698
132
969
297
387
550
373
439
324
145
804
481
631
56
285
139
64
164
839
746
571
554
284
572
581
973
881
945
759
888
482
208
200
605
889
556
611
59
211
857
696
172
925
750
962
114
891
977
752
72
663
283
474
795
358
44
6
77
778
978
568
822
564
928
747
568
91
356
374
690
619
509
194
272
71
107
824
505
805
850
130
861
232
656
28
356
269
127
390
412
967
599
904
26
300
57
308
240
912
0
485
876
16
686
74
338
303
127
701
906
483
156
427
221
881
659
723
729
215
901
534
254
373
607
498
136
604
571
923
202
858
446
644
504
380
415
245
702
493
824
275
790
632
632
641
381
80
813
155
779
39
106
567
796
139
179
51
591
352
476
325
798
519
428
652
977
891
895
944
281
921
256
466
148
327
439
193
504
556
531
853
795
24
28
275
317
153
458
64
756
445
614
851
685
307
108
759
181
676
746
145
982
58
873
684
228
895
525
789
749
610
533
338
847
892
114
959
378
478
373
475
563
513
602
920
271
572
88
239
609
911
899
648
24
917
342
892
574
521
839
444
565
73
625
366
367
590
209
69
406
328
807
750
905
12
946
156
347
68
222
763
279
416
790
13
157
76
459
855
6
275
592
902
303
309
485
917
909
660
827
61
247
789
559
626
5
343
156
0
139
503
266
181
802
61
797
255
970
570
57
715
225
644
610
79
922
944
235
337
772
793
543
899
24
859
992
338
127
460
896
150
703
411
496
324
657
758
425
982
293
321
321
669
617
973
594
425
910
462
895
336
447
906
34
535
298
641
82
36
225
213
998
128
193
345
587
648
274
528
153
770
660
168
774
979
569
872
548
972
693
679
937
854
833
706
34
890
604
820
278
933
822
623
24
180
714
366
710
694
289
870
328
93
214
524
896
233
275
214
699
784
155
983
396
794
263
931
609
357
384
35
364
164
463
865
756
935
775
836
435
529
512
17
793
311
421
122
880
48
725
128
411
502
680
633
794
474
736
235
957
802
571
160
180
607
749
1
202
264
173
399
980
739
292
14
758
555
650
495
552
258
394
71
225
734
998
59
143
662
580
936
819
650
732
611
570
491
74
771
283
777
432
219
929
375
277
407
738
115
107
560
36
473
447
379
225
147
879
119
767
833
945
306
828
259
376
387
964
665
203
115
946
951
658
75
592
348
941
604
309
115
764
139
338
439
985
927
197
807
930
83
563
157
636
133
99
717
825
135
62
487
334
91
857
247
276
87
537
487
114
796
382
431
841
666
769
556
971
740
394
495
609
978
153
230
733
103
254
810
635
132
650
655
239
209
972
946
944
313
378
145
93
806
603
512
816
909
782
397
586
509
685
3
448
611
625
950
319
559
829
101
75
0
931
698
820
655
601
210
72
964
5
348
729
134
247
225
621
685
241
884
483
652
236
138
17
232
895
444
716
589
345
670
458
507
556
893
357
300
24
126
926
152
698
831
69
465
228
72
149
772
708
482
28
507
918
59
828
396
55
13
616
976
111
507
502
686
265
332
89
736
332
276
388
367
982
692
958
67
345
999
445
622
70
966
501
895
301
823
426
97
940
871
224
633
620
358
196
501
44
112
837
335
678
109
410
505
424
436
608
799
347
205
526
519
765
356
401
576
872
500
351
79
872
64
531
403
228
169
568
567
56
867
984
272
393
900
934
215
165
412
435
740
983
181
783
811
681
783
502
100
365
514
916
263
566
90
765
481
41
483
204
12
708
809
585
825
496
6
343
688
679
747
896
525
624
777
493
889
855
482
609
75
98
640
220
870
940
789
411
943
721
768
817
709
770
979
264
140
948
735
353
150
556
350
187
382
417
421
429
715
946
909
962
426
955
911
458
579
302
654
603
623
375
292
500
233
656
471
749
122
213
654
272
180
476
800
915
762
501
753
29
111
47
663
420
457
179
392
339
779
887
702
277
620
391
910
831
84
211
447
682
335
768
257
367
113
423
875
698
752
241
146
615
290
657
37
621
877
368
749
658
134
184
82
304
667
724
951
682
494
438
704
795
938
195
615
174
427
185
5
539
674
272
211
897
337
533
166
269
176
230
581
595
803
402
412
684
61
859
781
63
859
748
357
98
240
623
183
332
548
486
839
862
202
819
642
83
645
204
270
219
789
668
791
395
917
846
115
1
82
853
750
788
271
370
673
183
602
274
660
556
954
382
225
978
50
714
110
730
421
35
864
986
640
338
698
178
332
49
315
474
610
568
316
307
577
274
654
650
75
649
758
141
39
892
369
176
722
11
339
185
515
235
491
703
94
65
882
117
520
615
331
537
355
1
96
918
19
444
400
428
68
980
505
699
182
155
648
865
836
290
434
120
726
107
192
365
369
549
524
882
802
971
237
469
251
727
885
542
670
450
465
704
836
71
666
417
541
305
840
848
321
680
993
728
868
492
994
574
171
94
890
21
627
320
183
842
206
594
301
774
156
40
107
742
271
663
838
75
123
545
197
32
584
518
491
482
938
551
773
940
968
325
700
393
722
705
573
608
990
588
568
218
216
278
41
632
13
840
596
626
263
769
143
439
474
539
566
886
852
988
597
934
649
989
102
859
0
833
839
427
101
560
97
315
590
560
849
488
501
190
124
683
241
466
467
189
321
298
843
502
185
536
657
88
294
909
679
151
121
759
572
829
399
245
630
530
845
661
585
852
657
778
46
872
654
99
692
966
231
86
863
3
444
939
437
54
839
567
806
931
523
950
422
746
715
92
585
541
53
46
993
610
428
926
126
603
700
593
208
723
117
745
681
202
338
734
666
469
494
124
740
611
314
682
899
361
453
939
298
125
713
957
813
432
206
754
855
401
430
252
528
222
387
576
242
525
631
302
930
146
104
478
907
799
576
483
794
472
788
93
954
266
866
7
561
635
104
225
307
17
419
823
474
607
427
435
298
475
976
533
383
795
112
638
346
507
182
705
859
644
943
237
232
559
969
180
658
35
777
756
727
453
270
996
271
762
613
574
337
133
896
882
137
677
905
522
555
952
456
147
944
567
419
181
764
553
370
847
782
773
11
553
708
375
995
422
311
339
934
860
178
101
95
292
696
645
716
951
990
540
199
573
960
150
743
355
237
432
189
144
119
605
581
761
314
321
168
770
998
549
186
873
718
877
332
192
164
954
477
408
21
387
517
209
380
222
855
455
210
863
760
161
816
258
811
320
233
398
62
289
363
94
699
422
21
726
336
915
135
586
268
444
759
281
610
753
827
301
965
688
251
940
985
17
482
72
230
713
352
863
563
888
984
801
918
484
821
739
149
873
754
647
339
791
225
47
47
595
110
6
693
238
522
941
226
658
952
463
797
635
991
952
577
697
41
681
884
679
486
205
814
793
455
223
308
823
667
921
312
245
399
543
68
770
583
988
660
945
191
236
511
752
26
370
785
824
280
626
607
246
983
158
76
439
431
487
548
901
997
622
712
496
787
74
226
372
143
883
225
788
442
300
339
319
631
226
918
884
117
781
300
577
375
544
9
833
810
884
564
165
841
169
57
560
178
184
316
219
958
133
899
776
834
863
300
416
42
238
644
568
937
15
447
330
572
354
629
244
50
396
753
149
840
8
562
682
805
87
445
531
467
780
666
904
4
657
283
780
473
192
640
687
632
915
665
439
18
500
123
332
536
199
732
605
488
248
174
717
318
408
463
672
707
386
853
523
791
402
556
648
475
793
683
725
754
796
777
903
762
130
222
744
136
658
172
555
809
967
948
246
164
26
775
352
599
669
42
406
604
331
812
96
107
730
650
151
932
514
85
923
265
905
273
314
694
26
845
844
778
617
539
850
610
116
318
481
780
622
346
470
393
575
897
388
972
651
997
485
629
461
298
524
830
685
61
90
541
750
478
434
409
36
608
532
817
868
924
25
299
335
629
214
190
474
249
250
562
304
680
414
27
664
407
410
883
942
913
234
182
666
852
381
422
703
417
58
13
390
446
362
141
231
949
114
38
437
413
164
511
12
23
975
26
784
286
170
816
174
80
685
284
159
874
935
813
501
99
86
760
204
945
582
593
723
69
505
567
766
501
626
135
888
967
718
209
518
456
791
53
254
77
24
452
966
706
918
748
230
757
556
652
559
30
699
809
211
99
589
409
882
868
300
512
936
187
384
343
618
967
2
887
89
559
840
102
598
384
483
534
634
447
297
99
561
750
938
401
659
374
939
237
956
721
558
305
668
484
497
510
685
713
816
659
710
505
811
426
389
547
645
953
118
179
399
541
562
742
957
71
238
242
767
638
147
268
237
556
68
325
149
799
35
7
583
449
708
749
395
882
368
338
270
725
96
706
431
767
396
256
266
819
597
564
375
479
614
157
24
821
389
39
819
82
793
967
885
946
131
515
754
410
161
839
444
992
202
662
825
540
442
599
632
282
144
284
264
502
675
751
591
877
366
742
750
846
54
700
319
159
279
999
453
254
407
577
815
261
66
321
960
41
630
920
80
236
490
182
705
442
163
452
643
428
60
533
177
666
419
189
764
829
56
832
349
24
185
810
724
630
173
670
516
579
422
498
979
833
442
248
641
350
612
266
316
147
819
174
407
32
921
386
102
985
609
897
372
540
406
73
502
500
814
293
855
64
142
30
802
509
140
849
720
894
725
854
434
786
323
140
485
619
263
893
607
158
383
341
622
537
947
568
677
814
192
478
548
886
890
403
146
913
235
873
559
725
80
107
398
343
746
895
82
890
613
64
647
118
20
52
991
777
746
731
267
991
569
770
623
136
267
828
943
319
759
140
9
51
142
810
863
638
626
32
357
449
478
13
720
399
41
850
25
50
973
888
130
850
54
357
811
990
670
940
822
162
221
783
909
656
944
201
383
401
560
345
400
667
682
74
152
236
187
423
166
513
576
798
663
639
743
341
829
290
410
522
535
970
142
825
602
923
467
953
761
957
977
593
780
264
487
221
41
543
227
702
275
1
193
479
636
452
56
277
80
495
823
94
480
252
512
781
288
590
517
195
562
429
849
615
692
128
882
186
667
918
209
255
546
213
346
545
268
691
286
256
38
251
242
566
975
845
459
150
715
721
991
218
544
598
491
645
95
0
284
118
149
272
232
938
509
52
109
463
927
457
99
61
189
339
128
141
605
101
488
312
941
141
699
452
932
465
706
768
501
22
31
786
524
44
742
528
931
938
240
769
686
927
966
89
371
281
862
806
529
920
973
132
930
843
364
234
95
712
269
307
179
774
295
983
317
187
289
893
967
827
688
285
562
319
151
888
494
122
57
884
887
891
136
275
826
740
458
660
385
242
855
673
254
250
893
336
893
17
628
389
97
501
231
411
892
646
40
888
411
719
965
399
587
992
43
11
422
242
601
387
27
287
593
749
93
246
75
83
498
478
484
674
529
507
202
32
481
137
719
300
105
576
151
172
848
248
786
676
891
834
734
117
305
195
236
511
133
216
280
98
468
632
662
620
999
651
19
993
636
202
624
34
747
394
844
557
34
853
592
194
754
883
353
491
212
841
746
260
584
932
947
407
393
924
213
219
61
673
83
772
314
427
365
676
754
432
26
646
558
624
203
328
536
252
659
848
891
489
555
842
246
209
779
582
550
14
464
114
787
797
125
110
232
315
98
968
766
621
96
100
25
918
714
317
577
981
331
801
474
857
990
645
314
994
853
401
826
651
217
838
807
436
347
939
642
960
511
763
156
523
387
838
469
73
467
326
322
346
613
473
620
957
165
439
406
652
104
258
442
993
393
289
559
697
20
227
145
917
784
889
869
787
599
967
562
654
644
152
86
152
784
401
26
580
448
998
21
637
863
156
858
96
924
66
78
735
661
486
33
992
796
549
124
956
945
945
375
721
659
135
515
858
547
830
251
979
876
545
872
810
114
203
473
563
526
465
111
161
155
866
240
993
474
565
445
880
58
457
768
350
694
608
558
422
852
869
338
177
550
565
79
157
163
242
568
843
7
21
740
519
209
400
958
529
220
285
651
582
557
474
652
940
88
184
397
546
733
336
590
151
80
923
748
276
110
599
147
991
43
767
914
629
306
282
297
532
110
233
226
300
637
214
982
798
842
171
847
142
551
732
915
905
166
415
503
80
68
876
453
411
200
493
131
772
620
872
897
117
315
954
215
312
976
483
57
792
690
451
820
717
157
39
842
760
689
809
664
692
58
988
528
943
126
312
643
477
648
388
298
609
417
493
812
230
732
882
120
932
240
732
556
411
421
248
258
50
865
598
899
426
966
284
385
845
708
232
794
127
599
204
925
721
590
83
953
689
822
724
536
573
732
550
325
800
328
201
767
920
440
114
501
121
946
213
405
418
908
297
407
63
383
297
114
304
107
115
726
812
390
862
433
249
453
190
745
851
544
854
55
814
480
143
410
922
653
930
760
506
81
210
89
893
482
601
252
201
679
490
719
805
466
262
73
306
107
808
243
455
573
601
198
182
963
598
286
189
796
490
808
837
370
229
427
977
354
748
521
590
924
528
929
161
395
927
149
432
582
369
966
751
268
587
701
953
771
393
209
944
100
456
707
195
946
507
444
579
351
89
338
243
301
693
897
524
293
591
386
844
366
496
245
387
585
575
486
775
659
810
898
104
616
737
912
914
451
130
956
944
646
216
474
348
777
85
684
695
667
195
532
239
192
418
445
841
533
460
182
287
743
606
454
648
98
496
456
458
779
105
813
406
566
850
228
536
660
760
35
184
688
755
268
726
994
809
471
280
268
199
861
531
680
125
874
491
875
722
180
88
817
654
57
22
984
389
43
1
932
484
521
118
766
365
702
41
567
947
621
270
519
769
383
821
58
596
751
612
201
96
535
858
677
90
187
636
871
227
376
317
639
576
285
47
40
498
220
986
149
488
201
797
467
884
450
712
969
706
517
430
828
270
552
583
734
81
782
116
352
600
212
643
620
298
799
10
195
367
853
657
459
673
330
707
606
338
871
614
887
468
545
668
602
340
410
801
570
28
520
631
290
899
203
655
696
936
125
189
901
701
972
487
636
472
962
218
233
877
638
392
906
91
501
597
632
0
810
407
272
186
692
263
740
157
363
687
243
990
383
648
264
693
391
972
948
603
686
982
8
921
849
272
600
831
673
291
851
363
945
794
28
733
569
707
558
958
597
756
946
11
476
361
478
326
456
888
786
731
99
182
113
433
118
80
706
352
308
96
572
677
426
659
667
465
570
263
344
107
753
175
972
690
221
178
865
776
141
557
770
62
562
739
35
591
453
12
518
181
700
965
354
43
680
485
252
861
695
688
813
400
332
892
570
266
762
133
446
283
996
941
170
789
338
911
239
629
683
374
721
841
227
470
822
850
993
88
436
311
717
760
857
850
863
893
451
563
770
556
922
173
240
83
613
778
136
303
569
309
898
304
140
303
892
329
688
226
313
638
783
493
702
205
347
175
293
614
943
422
24
151
111
605
497
925
95
236
895
39
697
917
986
329
740
220
470
49
896
777
122
768
725
188
435
475
120
83
446
869
757
672
96
387
918
323
852
720
61
443
752
63
247
134
840
294
279
786
162
984
885
175
866
821
337
728
290
371
758
483
864
56
691
464
182
803
790
191
482
654
368
651
265
206
23
901
704
765
102
745
121
267
47
126
860
529
991
577
236
96
345
724
618
763
410
383
677
161
573
238
850
362
366
69
518
195
260
760
595
560
549
331
315
896
546
180
618
863
26
58
298
623
503
875
562
65
504
455
741
135
410
307
658
552
577
333
193
694
246
111
727
563
901
509
213
308
327
800
215
861
453
12
324
936
41
773
576
813
694
321
144
55
464
668
783
165
964
198
84
579
878
947
204
389
783
236
528
251
97
753
582
953
209
828
506
349
503
919
429
941
113
403
488
261
723
229
706
694
541
953
688
134
793
762
391
396
543
257
847
821
668
960
63
308
627
558
398
347
824
797
220
661
989
102
302
790
176
155
68
469
467
495
101
278
372
433
657
992
780
720
595
229
749
803
377
726
998
817
368
28
524
620
189
791
140
450
89
844
209
752
625
798
793
773
344
618
984
236
922
457
619
414
907
904
875
42
809
872
724
328
104
40
144
312
746
657
730
135
10
384
407
890
784
272
227
746
179
486
8
47
430
763
642
752
942
502
622
699
876
91
127
727
51
133
763
999
735
690
830
505
908
368
677
762
445
67
826
865
15
679
792
20
940
153
497
983
952
245
269
573
77
673
255
166
536
271
613
333
17
606
445
726
917
146
116
909
821
714
768
369
731
356
844
14
319
624
434
987
318
73
39
800
378
91
719
704
313
253
122
752
22
652
514
965
952
475
604
274
254
798
368
403
694
593
612
356
90
99
399
233
153
712
824
651
710
9
941
912
880
39
603
342
426
400
752
416
322
584
387
653
701
380
983
869
249
186
548
715
20
691
873
422
764
166
455
703
92
889
551
684
865
117
467
370
854
974
278
440
108
170
158
556
178
544
879
75
69
215
651
14
194
983
136
728
105
57
794
489
594
786
66
925
410
971
423
888
989
888
371
177
572
249
987
783
254
662
33
546
243
968
266
638
417
887
461
474
491
816
434
405
319
745
280
101
506
360
121
578
458
351
858
795
52
752
936
404
511
646
977
845
644
872
311
845
728
440
206
73
298
521
852
536
844
24
328
315
955
628
200
637
957
83
773
155
210
20
434
725
11
596
9
30
663
628
227
716
76
747
559
203
596
715
334
976
684
917
254
984
3
988
517
654
359
36
818
920
590
758
418
53
792
377
454
225
747
723
610
275
162
565
422
671
245
114
813
903
878
314
867
128
168
927
924
478
414
230
671
103
589
98
597
217
930
171
816
244
409
347
96
630
129
133
272
966
588
73
370
48
405
940
301
938
626
368
784
340
7
130
811
274
44
882
499
943
223
976
562
807
195
806
836
179
821
385
947
37
812
391
591
695
31
899
42
492
682
890
41
189
23
986
634
821
908
919
190
487
597
869
400
690
670
578
835
541
844
612
291
295
409
752
952
847
981
219
921
915
591
885
217
681
859
183
205
248
735
525
81
103
62
224
558
803
834
970
377
64
545
2
957
146
412
910
81
580
225
873
961
2
329
189
753
406
94
584
390
657
321
133
895
169
211
261
732
147
621
240
752
651
387
140
877
62
970
17
558
145
308
299
982
778
511
715
134
716
542
509
375
829
297
300
169
155
686
165
417
714
947
706
728
390
657
926
828
683
289
416
751
773
410
712
540
795
577
831
370
621
736
930
878
974
14
474
415
756
746
616
972
724
180
758
322
67
896
704
333
464
139
35
461
763
570
971
390
384
760
922
498
836
486
759
64
500
261
817
514
769
204
786
300
330
640
371
968
560
835
270
401
961
96
923
653
71
380
976
591
488
355
981
207
521
747
439
449
897
105
339
421
610
889
893
321
750
358
101
488
137
109
622
517
304
983
580
332
5
23
664
602
626
80
796
267
204
399
671
607
415
304
387
815
198
310
794
937
803
695
664
309
408
5
414
547
861
574
789
207
257
233
14
279
623
476
110
915
743
757
413
86
391
621
50
178
607
197
931
316
782
32
739
337
328
611
14
545
850
888
657
262
636
649
910
123
925
646
78
219
739
276
284
825
438
240
57
682
306
776
269
986
575
235
555
407
840
134
922
622
795
687
376
946
827
504
103
361
263
606
127
308
122
557
666
867
945
932
702
522
861
584
402
982
675
238
523
209
335
371
334
521
147
558
215
319
207
159
7
292
205
981
458
694
868
633
0
226
46
320
574
714
310
824
660
101
508
609
328
283
697
826
742
458
458
125
986
284
48
618
6
224
462
245
3
458
46
226
526
824
166
346
305
914
228
784
956
775
431
783
316
584
847
871
162
795
149
379
468
697
910
303
513
577
567
796
936
910
856
845
291
888
92
851
223
651
319
431
44
338
897
211
812
800
996
822
807
518
822
955
542
792
919
827
282
539
820
569
994
47
853
623
332
717
486
155
919
994
281
563
758
268
903
431
519
87
430
32
257
46
767
70
350
196
111
37
596
180
371
21
121
50
945
971
122
384
5
285
119
506
550
929
588
937
989
888
395
20
283
981
472
428
11
108
464
31
806
86
585
98
690
671
90
452
502
184
548
915
260
273
115
966
284
753
165
207
145
674
241
472
770
418
751
29
475
955
554
375
562
518
4
82
121
989
739
966
10
985
266
931
419
291
354
16
614
876
529
438
650
53
9
124
826
910
518
705
837
835
167
609
491
227
964
261
348
847
146
398
92
369
237
167
479
243
600
619
694
213
565
308
340
822
839
391
221
877
286
574
170
560
140
952
564
332
905
251
467
765
295
881
852
931
698
369
984
465
587
916
998
138
620
271
832
39
977
431
343
572
198
736
472
793
240
649
30
157
240
90
530
346
591
32
588
652
454
652
551
264
160
115
568
827
500
516
846
178
24
80
575
673
456
875
265
686
76
330
840
731
4
508
113
504
644
474
279
347
646
490
392
325
666
214
378
80
558
76
903
757
203
83
722
266
606
25
369
156
384
582
229
402
562
524
564
480
186
990
402
911
301
507
523
967
555
72
664
882
810
559
79
181
882
562
382
515
387
412
870
219
907
295
43
785
427
750
848
585
966
473
574
541
773
860
255
879
569
27
503
877
668
389
472
316
652
761
492
865
557
897
424
347
203
105
484
472
684
805
40
523
648
198
422
902
949
83
551
144
866
767
139
987
479
55
209
776
714
901
616
213
795
835
144
716
128
4
837
821
848
349
803
256
608
506
100
177
661
905
212
375
644
458
41
242
557
50
228
98
229
857
355
403
25
155
453
366
590
258
631
248
426
407
58
375
260
756
105
762
600
196
812
865
447
770
696
292
34
40
741
287
486
998
282
342
243
141
391
740
686
938
389
346
13
746
680
767
338
361
933
673
535
97
262
376
678
679
571
574
35
379
44
860
948
995
24
150
385
699
718
780
537
358
335
844
575
133
547
976
401
139
544
365
700
309
69
606
398
485
44
236
154
434
971
611
982
183
587
392
511
367
154
217
30
431
783
813
444
252
862
261
504
368
153
825
250
494
370
424
118
828
768
53
497
188
871
271
911
536
454
296
646
305
87
727
585
969
316
223
539
760
233
619
142
327
322
960
422
940
866
62
668
308
226
566
981
348
996
987
900
744
628
333
556
354
282
511
669
389
919
62
172
542
989
169
599
484
662
200
335
809
329
585
229
141
539
518
581
169
845
90
345
377
892
152
453
14
578
386
205
514
117
227
193
333
301
70
878
128
73
815
28
91
439
220
374
565
163
580
458
241
547
992
579
603
483
676
824
522
967
669
105
109
729
978
147
413
930
222
433
150
901
329
868
877
197
218
609
966
201
608
135
236
727
694
566
497
61
801
569
111
480
687
27
217
426
939
579
181
923
612
672
418
923
382
112
528
609
713
566
120
920
502
687
799
933
503
172
680
173
170
484
718
863
533
281
668
797
341
904
185
286
825
637
766
517
398
46
415
228
310
380
455
739
479
621
584
80
14
532
117
60
215
377
827
975
213
281
198
371
14
901
842
13
482
519
133
665
184
382
885
153
161
952
824
533
885
299
881
51
900
666
106
446
556
953
238
703
329
38
783
253
441
734
332
180
539
539
468
806
515
741
933
163
572
410
586
214
897
992
738
884
307
560
721
502
657
546
797
677
708
888
80
625
895
427
243
795
82
443
47
330
644
472
419
852
319
86
212
325
692
540
993
318
957
496
220
447
187
775
130
391
140
269
415
532
262
509
641
619
632
706
622
591
26
485
218
526
441
489
776
309
521
146
932
128
649
426
372
763
963
2
895
482
929
856
771
923
724
404
61
558
168
911
692
655
15
44
768
161
551
964
902
276
871
599
2
326
804
2
976
854
602
362
891
835
810
92
533
207
857
142
188
478
303
394
624
981
755
958
148
184
521
648
183
351
764
147
82
905
5
106
547
329
966
785
478
519
558
607
472
16
339
348
478
672
544
213
571
772
558
866
768
310
69
754
802
346
763
280
207
784
66
741
229
248
779
490
239
223
938
438
14
98
639
646
982
906
628
281
454
671
273
81
351
3
350
743
825
572
639
421
783
608
764
33
124
456
709
303
380
298
21
784
197
167
923
143
869
725
680
747
152
694
222
726
51
915
501
139
257
546
375
654
382
413
777
14
630
207
211
333
279
664
323
802
705
386
518
597
810
912
212
722
737
749
731
251
725
291
300
608
875
54
984
372
927
346
964
179
759
101
268
580
842
206
683
721
67
954
95
432
678
819
621
635
581
746
345
719
792
319
18
290
804
136
671
743
296
588
928
173
511
207
637
495
241
713
315
686
933
384
181
252
682
297
845
600
156
837
730
813
764
381
43
626
45
387
862
370
853
259
56
105
882
494
853
637
585
475
233
465
650
326
277
736
792
172
518
235
73
131
509
301
116
40
331
74
229
45
702
865
178
896
680
240
591
701
666
733
688
288
540
257
385
505
872
615
418
623
209
926
780
791
582
873
436
394
136
928
154
941
215
228
199
549
157
964
729
444
504
20
768
92
953
355
222
956
380
589
213
161
750
255
433
988
907
719
116
687
425
633
582
114
510
647
896
22
437
289
273
651
973
807
959
403
169
354
126
767
590
665
665
308
577
177
493
609
32
29
434
102
821
918
394
432
967
233
493
86
138
742
197
730
970
593
170
617
74
897
701
710
995
384
426
817
537
279
190
279
997
718
238
116
639
371
297
713
933
689
596
545
623
383
7
100
232
861
255
485
458
971
233
506
971
259
699
743
759
582
768
584
792
604
202
802
367
967
72
962
788
279
727
542
960
913
236
458
921
91
732
482
74
224
453
245
354
878
654
864
504
888
465
648
735
138
911
71
175
52
394
4
43
919
398
971
551
355
429
108
700
299
235
566
403
776
930
155
259
716
217
294
706
666
620
858
555
304
654
660
918
395
911
612
156
325
37
426
739
670
671
707
761
793
678
226
724
86
206
494
3
19
597
202
824
212
273
278
369
500
921
222
416
499
525
851
244
988
215
359
567
655
794
884
496
22
764
784
569
607
693
234
138
888
928
56
418
205
550
316
674
63
959
464
655
190
213
628
898
702
562
821
315
238
537
560
534
273
552
634
747
460
453
345
325
114
382
154
503
387
818
107
614
588
148
115
819
716
139
587
652
10
119
472
516
379
841
826
847
612
37
112
492
429
180
806
111
290
209
812
968
712
588
214
796
150
609
338
539
675
973
682
576
967
818
687
401
229
890
71
470
234
830
298
555
866
11
583
705
250
384
928
139
17
908
703
511
87
765
803
815
6
638
525
534
106
820
376
927
65
234
703
892
806
80
383
477
155
444
866
527
701
193
993
90
196
483
947
991
698
632
406
214
210
762
182
122
762
251
471
327
186
109
890
276
705
260
32
165
921
367
217
560
92
708
562
954
152
411
646
530
168
74
505
739
930
915
576
855
939
83
516
889
824
895
829
926
273
736
587
763
764
692
277
571
227
105
571
941
78
263
573
130
502
543
403
266
73
772
981
597
230
737
303
190
637
241
16
594
661
674
102
66
38
418
637
890
648
686
935
711
402
700
115
464
619
966
298
355
913
898
938
369
288
145
551
313
924
492
875
471
694
720
721
784
739
146
49
392
721
175
340
501
890
112
132
575
739
163
150
477
6
767
396
743
68
464
763
414
463
44
932
811
528
456
942
92
422
847
10
216
53
820
497
761
161
647
283
859
334
637
519
294
622
886
622
898
500
97
922
90
414
813
650
554
565
639
964
136
648
867
275
235
174
936
611
12
943
399
774
513
595
554
303
156
892
966
342
552
46
188
193
245
745
337
161
40
379
209
995
71
235
324
413
58
92
854
586
88
660
604
397
3
928
159
713
912
364
224
432
929
582
360
854
100
71
161
460
252
213
522
771
726
830
290
488
242
656
891
501
842
424
136
805
743
960
726
960
253
280
838
944
575
85
130
297
115
848
945
686
598
868
988
405
860
78
220
26
576
31
332
52
515
230
130
361
485
544
580
57
129
84
248
312
803
640
550
117
179
166
378
286
492
847
674
112
25
766
479
598
695
63
794
463
219
818
938
977
395
505
30
831
421
552
347
915
544
316
90
82
968
636
108
266
949
879
324
29
287
177
637
178
956
429
336
817
881
908
263
371
342
89
424
184
917
80
501
149
437
373
485
399
517
482
317
465
801
735
867
899
740
929
567
641
293
302
14
261
938
818
816
443
987
509
124
205
509
772
51
370
201
393
803
877
390
294
672
150
884
986
4
568
547
430
811
587
454
59
54
433
302
721
399
883
980
620
13
787
251
69
711
726
166
583
506
922
456
251
752
912
661
624
931
436
693
869
251
680
676
246
394
996
482
165
90
121
480
244
843
324
444
902
86
16
873
943
162
775
202
126
374
419
928
365
392
520
753
77
708
160
442
41
504
218
505
115
218
662
952
617
89
762
621
540
387
831
183
927
802
105
453
891
370
12
362
255
610
693
347
455
832
659
802
643
499
983
78
217
346
641
616
998
892
329
361
674
786
156
851
337
252
139
266
586
961
227
65
387
44
40
925
205
955
560
65
362
932
416
83
273
911
296
498
197
669
739
853
682
850
613
727
625
796
124
230
25
906
151
411
772
582
275
959
227
921
230
457
932
214
839
481
626
951
750
226
982
84
699
753
634
583
216
884
672
280
735
780
594
471
618
740
608
751
320
430
75
926
328
470
890
113
54
832
753
142
305
788
657
917
900
141
799
95
987
711
275
167
142
867
778
162
143
817
463
571
480
11
710
956
36
613
724
405
700
270
350
866
424
766
864
427
593
139
764
297
406
561
276
662
412
504
817
71
807
20
858
924
829
665
117
923
945
508
285
194
421
656
778
219
938
400
65
939
643
233
773
925
40
420
985
409
31
62
192
200
454
538
262
419
172
992
885
909
114
614
276
818
653
767
890
172
183
821
643
538
60
102
29
131
474
560
849
415
404
12
660
934
110
770
511
50
316
105
274
861
300
996
201
842
820
404
632
240
877
960
686
905
53
61
482
612
345
497
132
628
85
470
924
630
664
241
282
574
109
200
434
954
60
674
108
526
632
35
682
812
256
449
463
203
986
349
538
559
990
692
813
393
418
949
363
188
281
36
307
224
368
818
348
196
311
395
841
959
355
198
41
809
231
322
238
455
59
387
955
328
91
472
872
316
809
695
161
491
963
439
142
927
88
919
239
861
96
196
328
570
387
174
164
305
78
248
325
535
27
679
760
223
694
169
991
865
824
143
48
988
416
617
107
423
389
615
853
757
948
778
915
702
589
695
496
43
361
465
693
39
921
622
277
634
360
414
407
354
19
449
874
967
347
224
204
250
997
704
527
667
530
999
923
561
696
889
399
35
440
809
397
742
895
582
626
158
150
484
868
446
553
346
211
460
882
628
249
741
761
27
480
495
358
546
697
649
677
825
679
796
289
618
599
416
840
706
398
856
91
544
203
110
770
732
749
833
786
465
353
218
20
147
810
263
443
686
515
415
161
209
157
881
458
371
120
157
966
655
77
880
333
556
212
794
723
382
103
943
80
650
239
715
320
538
294
526
971
216
661
310
305
750
172
729
787
808
59
167
11
557
88
406
396
954
481
923
996
398
222
424
634
609
806
240
998
42
506
490
695
557
966
26
364
637
368
496
348
715
76
223
655
968
126
454
838
319
464
103
287
495
896
385
259
817
340
642
901
352
721
464
696
190
514
120
242
353
488
230
589
85
864
564
552
300
811
819
873
28
106
73
807
741
422
883
271
808
375
249
676
116
540
202
700
620
623
310
880
995
978
191
624
402
5
294
915
102
249
256
722
18
12
949
240
859
375
473
638
346
824
814
192
565
263
6
447
988
168
536
501
699
258
204
997
589
4
453
159
134
435
244
567
505
870
991
466
403
467
979
325
356
386
765
494
784
365
98
775
320
719
389
613
328
193
899
66
914
428
885
624
552
841
105
560
558
178
405
676
815
548
372
609
452
535
977
670
47
64
350
229
187
949
755
346
710
867
630
586
90
478
721
742
332
766
664
265
392
679
873
554
335
748
449
513
861
108
932
429
365
683
870
786
871
858
690
210
194
99
468
780
518
283
45
724
601
414
86
153
700
626
908
674
194
720
904
658
389
710
258
356
76
166
50
760
417
641
146
274
762
327
444
629
292
26
149
678
980
504
830
125
910
484
999
691
304
70
230
271
555
556
619
345
381
316
186
995
470
360
961
494
251
15
110
868
162
798
799
27
348
241
1
901
694
229
657
385
807
73
385
654
788
874
252
883
386
332
905
779
943
33
359
52
855
6
423
272
985
95
915
857
313
222
870
570
514
831
101
806
241
426
68
971
591
915
966
810
788
658
328
633
48
377
514
186
66
886
878
562
24
768
394
607
714
283
295
171
412
56
47
796
44
879
479
507
950
307
5
538
263
883
562
776
289
969
521
535
203
181
153
518
263
222
103
297
480
495
704
631
524
128
592
168
731
276
695
554
565
562
411
497
733
866
900
807
854
100
641
16
601
898
127
752
233
393
632
852
384
848
855
121
527
821
689
514
602
656
701
232
332
346
679
150
406
910
370
693
175
738
720
769
359
978
215
562
607
494
445
809
997
622
405
726
870
707
869
787
920
446
700
904
800
652
16
864
912
254
863
250
286
848
362
700
76
78
499
365
970
510
870
872
462
74
64
411
927
490
928
388
997
682
95
246
372
108
932
378
69
497
424
23
606
427
880
292
739
220
221
141
95
568
825
474
442
927
348
763
266
45
683
558
720
918
49
448
560
980
27
78
468
969
822
828
640
194
731
895
452
751
800
312
110
121
247
447
328
131
480
198
692
743
229
986
557
450
266
448
654
779
10
841
183
605
970
255
100
239
287
763
311
29
882
549
723
159
796
331
126
568
304
500
508
985
460
477
712
549
348
747
257
346
608
129
788
135
580
942
855
243
553
875
139
991
810
268
613
263
186
330
815
210
836
980
675
287
574
943
466
790
98
897
485
95
350
731
550
781
96
787
809
906
589
243
599
888
472
612
388
154
199
609
865
383
484
190
26
22
263
924
307
620
895
830
714
392
244
747
86
731
518
304
620
30
655
34
711
525
642
567
41
637
25
480
255
132
929
840
159
146
26
434
269
623
320
740
330
532
933
128
248
3
92
715
552
25
141
287
844
415
682
484
161
58
190
6
470
585
150
2
580
277
708
45
302
184
699
240
450
977
716
382
632
27
78
777
749
199
642
363
532
400
440
683
637
945
4
575
578
584
876
382
374
387
86
874
985
155
974
326
44
226
585
68
261
739
205
933
695
860
647
382
768
541
28
854
550
523
534
966
980
551
496
552
6
934
757
398
731
100
653
4
509
512
22
378
848
191
198
646
503
377
987
975
509
539
445
752
320
368
418
167
879
321
828
490
390
833
816
523
542
49
773
613
179
220
978
358
577
986
497
484
399
417
3
717
250
907
416
333
461
423
646
801
186
639
558
683
764
289
337
225
14
101
125
328
690
418
725
851
158
849
571
624
51
816
999
451
501
20
49
878
800
728
609
960
725
96
379
183
954
231
562
427
751
855
864
226
858
483
851
844
169
648
785
789
712
931
908
928
5
125
520
440
97
844
82
23
96
659
966
646
814
159
116
935
510
689
720
414
907
67
4
644
431
543
410
828
180
539
628
315
985
956
740
457
499
389
60
742
306
148
815
712
371
654
486
500
374
246
705
486
102
909
934
786
474
926
963
609
461
784
164
202
385
253
984
977
935
354
842
55
297
486
595
53
807
913
524
754
386
43
765
695
845
426
568
105
956
564
766
550
795
131
629
474
654
73
33
539
561
859
493
771
509
917
92
352
706
918
54
659
540
694
446
196
488
335
930
282
813
78
113
944
886
89
559
832
700
75
368
919
889
897
242
597
299
860
784
799
948
571
184
960
581
526
794
546
685
94
535
455
173
216
440
246
848
94
401
517
656
857
833
60
940
772
924
242
437
372
277
638
386
44
454
913
495
708
250
654
358
11
73
881
292
406
675
241
121
381
19
672
225
152
173
546
858
719
242
866
116
760
80
219
20
64
233
553
342
533
398
200
310
497
554
32
54
993
39
92
277
889
216
371
446
761
289
843
308
943
151
174
262
10
178
16
792
671
835
686
655
518
829
718
795
655
260
571
241
421
331
297
398
593
61
928
471
200
810
457
108
719
504
790
587
856
207
830
431
389
232
303
848
998
48
876
75
222
308
23
982
280
314
226
235
52
346
49
741
847
625
610
605
494
605
707
30
835
953
485
285
573
170
409
585
371
135
86
142
20
198
588
999
883
412
898
101
607
571
762
5
696
746
30
2
225
860
514
498
543
304
850
481
385
643
898
51
4
582
2
681
246
185
72
230
10
471
465
967
34
115
811
260
511
40
824
391
351
668
213
359
191
523
909
732
666
264
825
824
873
499
579
104
918
683
173
279
419
665
976
441
323
730
111
136
591
908
798
289
210
619
761
452
626
364
700
588
70
790
312
668
396
141
728
664
974
370
5
212
73
598
805
804
774
98
114
911
529
349
394
315
501
426
587
420
590
895
101
241
891
975
747
43
253
258
170
578
985
346
747
431
547
755
818
564
252
840
916
280
73
284
196
838
654
863
134
920
573
659
114
253
44
739
286
510
588
263
297
696
704
646
263
78
482
619
416
325
819
754
635
480
569
672
459
166
470
324
943
30
619
711
434
199
598
493
890
890
834
594
82
172
204
364
809
836
215
283
772
982
594
106
563
911
250
670
353
295
877
514
991
488
63
951
358
511
218
10
277
232
135
298
578
541
688
413
574
121
178
566
651
69
517
27
626
614
850
432
466
204
319
748
99
635
764
412
383
914
894
551
570
454
976
674
540
941
79
792
995
582
831
394
20
641
689
205
33
65
248
872
643
671
459
206
129
212
933
691
127
672
676
832
461
549
269
662
273
611
300
820
124
245
775
575
814
788
228
910
3
149
496
139
121
481
350
497
524
363
469
397
186
208
703
807
944
795
734
299
287
682
172
289
756
586
237
477
309
972
689
638
490
55
198
108
847
196
99
614
555
487
950
119
77
331
521
875
147
623
998
138
177
858
113
369
958
696
188
738
126
173
569
624
484
661
628
226
470
716
891
746
632
238
771
37
445
866
142
761
489
808
592
516
859
509
470
515
378
554
580
619
442
980
420
592
501
740
344
103
832
813
442
942
971
479
743
238
923
688
993
980
967
173
633
930
188
590
823
144
610
538
476
695
6
666
894
809
493
978
105
220
34
341
190
605
298
496
751
943
914
856
282
173
985
332
274
995
243
762
613
2
250
351
706
358
605
17
388
854
289
531
284
420
681
240
592
954
508
820
878
140
196
734
856
702
434
86
108
571
606
246
933
301
64
31
79
975
212
381
498
923
511
919
819
192
816
547
552
69
478
269
869
694
639
314
426
161
168
584
365
327
862
374
362
210
295
650
117
375
179
914
25
5
546
250
511
502
197
122
897
984
983
83
689
562
171
79
932
852
804
675
393
453
479
228
570
160
594
886
667
844
542
563
790
693
395
820
589
920
200
516
68
0
222
815
549
298
866
448
575
161
243
480
660
541
496
220
381
409
683
190
176
711
849
284
261
291
49
382
823
473
591
963
655
632
545
680
259
877
749
665
110
699
993
703
657
616
126
502
757
542
587
89
318
838
412
580
421
190
63
195
701
699
127
587
553
37
875
823
282
284
419
154
316
346
393
498
355
183
785
422
420
887
60
239
258
846
943
534
788
407
557
383
142
7
194
42
346
471
33
181
14
708
588
976
768
889
987
729
858
59
787
29
783
366
643
204
361
249
192
840
394
94
34
985
317
970
354
925
518
667
143
111
374
594
265
747
221
734
737
406
965
580
695
402
506
790
949
708
554
652
505
425
61
680
485
398
891
757
810
318
150
6
317
419
355
557
617
111
510
804
159
543
993
110
753
556
225
837
419
24
82
718
326
518
399
567
101
991
560
287
562
198
870
489
526
958
523
348
864
747
69
653
927
446
943
138
987
47
669
972
832
813
89
315
994
630
277
115
614
386
702
912
571
607
812
372
784
252
560
498
758
93
920
77
35
969
288
670
122
372
224
797
431
569
491
876
986
945
51
93
708
927
553
248
637
185
557
403
194
539
286
126
885
583
775
487
985
974
678
613
19
319
113
612
676
467
868
277
576
784
739
267
584
673
555
133
396
573
508
8
616
579
776
777
285
566
149
653
333
391
957
23
558
18
408
585
330
714
282
51
643
542
281
914
879
745
956
951
423
441
539
895
165
408
585
187
403
259
869
796
191
493
810
402
542
783
940
942
75
776
886
92
318
703
794
978
943
421
942
669
898
412
563
793
969
943
822
996
805
346
778
888
464
560
525
293
629
412
925
803
559
67
501
80
271
66
368
442
100
492
909
763
245
596
272
131
687
66
714
756
145
328
596
983
593
300
941
729
993
921
823
275
898
323
985
656
783
368
852
969
178
354
551
558
159
93
856
98
253
846
245
431
377
937
371
228
830
707
396
685
206
117
821
427
754
735
991
442
723
179
225
453
800
746
200
475
591
454
996
767
454
208
432
402
598
21
991
843
753
864
645
512
340
806
610
337
273
495
644
191
427
235
612
887
401
480
836
15
661
942
503
659
672
468
212
518
247
771
303
656
981
656
872
652
925
388
409
435
768
725
252
238
166
957
737
212
617
620
633
827
614
922
606
61
572
329
986
390
525
384
735
683
712
892
269
660
485
129
898
419
55
926
923
272
948
157
504
991
423
673
926
384
762
681
46
147
375
938
217
678
551
990
715
447
419
479
468
199
349
974
196
296
244
381
725
941
325
358
321
311
173
620
82
380
517
727
717
720
212
46
866
123
68
692
977
534
22
918
253
220
157
864
714
489
346
460
301
501
979
112
565
37
927
385
495
741
569
521
906
625
175
377
444
504
584
870
569
368
372
930
113
907
669
292
522
190
230
406
647
212
554
217
909
235
617
137
586
154
471
483
178
268
897
864
697
15
488
622
447
226
172
444
140
18
407
373
616
271
475
729
483
819
103
94
491
32
852
328
251
273
879
285
322
873
43
916
307
727
903
588
179
215
907
884
866
377
743
934
809
960
476
574
206
534
623
814
540
254
185
839
270
200
38
262
788
969
903
358
670
444
36
643
58
801
206
762
855
841
287
32
348
161
682
955
809
880
295
216
831
372
137
905
715
242
204
783
919
733
636
42
565
223
913
619
368
33
334
95
135
221
209
185
209
123
808
709
473
616
889
342
930
780
319
971
263
226
814
126
356
273
13
912
884
694
378
591
347
826
977
693
420
740
873
287
718
691
280
329
907
557
252
652
421
754
577
521
596
127
46
476
543
624
168
615
664
741
657
638
748
95
497
940
712
556
140
533
372
773
598
611
524
487
760
790
879
370
587
430
731
773
978
747
854
192
540
456
949
658
836
104
802
96
568
460
135
991
359
896
430
922
388
598
244
919
128
547
630
641
815
8
589
878
494
143
543
64
609
235
689
673
16
626
377
179
970
292
619
157
70
758
40
422
348
855
60
215
143
986
858
854
792
702
490
865
912
222
706
625
840
692
234
501
434
189
198
338
316
469
573
222
978
421
907
552
623
481
173
1
367
484
340
542
275
19
483
391
570
580
200
409
591
632
235
923
916
870
688
458
106
145
927
57
564
70
40
99
390
748
505
418
538
935
793
434
444
573
30
351
612
970
360
372
147
373
494
11
594
286
871
431
169
604
485
318
538
947
284
315
435
631
130
788
7
679
911
599
528
112
20
944
577
70
194
505
362
20
43
269
573
19
40
563
757
917
152
674
707
212
713
27
841
839
637
864
934
794
429
815
250
35
554
865
123
304
138
217
157
860
317
50
992
130
731
803
859
667
149
675
378
326
82
419
222
336
801
506
845
897
452
109
180
191
976
359
577
511
255
44
251
137
809
17
283
350
35
783
473
212
124
727
295
36
702
911
422
37
40
223
312
745
508
994
721
159
370
190
913
31
108
952
219
473
557
816
612
897
794
165
567
330
762
818
1
956
945
378
663
340
946
408
864
908
79
222
503
981
25
41
660
410
802
684
235
423
742
574
939
523
597
297
785
122
364
971
557
950
467
276
830
595
610
758
570
985
607
861
834
401
468
520
583
8
492
676
603
464
554
355
811
36
710
725
134
639
13
575
679
684
732
640
769
593
672
560
554
178
599
264
587
428
341
503
411
628
977
478
380
547
89
137
135
204
188
668
114
25
365
246
19
764
642
527
632
147
840
122
872
632
942
240
695
693
637
821
700
42
455
328
555
800
770
91
822
560
277
489
480
282
551
301
154
498
477
788
620
446
510
904
784
383
77
131
899
440
204
997
10
710
561
314
531
404
492
377
527
835
345
651
88
604
309
734
123
226
483
700
414
721
452
692
238
128
597
963
917
918
988
435
269
942
784
502
151
985
508
561
900
267
729
357
413
157
861
802
198
98
366
915
680
106
674
206
804
675
425
230
910
841
673
633
950
465
314
879
407
226
503
912
888
555
918
771
471
254
567
97
851
727
980
767
582
826
480
473
261
899
192
213
951
769
298
701
85
491
105
198
623
51
5
28
818
831
45
790
223
783
446
371
639
252
425
64
797
205
477
181
122
376
624
950
499
25
397
716
438
645
524
197
215
328
962
132
305
459
445
276
155
355
363
415
823
815
312
224
654
280
890
805
642
141
541
476
529
924
763
15
395
600
997
750
708
803
172
137
634
380
476
737
669
869
745
164
584
785
363
778
841
123
399
283
138
506
384
296
366
84
73
506
402
89
653
133
959
458
961
98
402
108
338
556
218
54
701
802
272
124
489
344
413
121
452
589
140
56
713
100
550
114
437
649
856
502
949
94
139
132
153
520
915
107
569
134
700
546
20
557
537
543
444
177
636
505
328
901
44
942
409
489
217
751
882
527
64
46
39
765
572
634
213
634
244
786
253
437
762
891
793
725
614
412
130
499
251
369
492
332
740
973
493
474
785
374
970
223
123
622
644
315
466
452
475
605
55
18
779
551
55
129
306
289
999
976
278
250
379
200
496
150
86
455
316
379
364
305
614
705
682
333
481
845
597
539
722
807
39
496
247
180
312
873
913
645
725
276
137
65
587
129
593
621
758
618
986
563
648
652
333
868
127
832
86
184
123
571
697
491
420
762
348
674
215
233
602
0
288
537
471
415
655
134
560
155
933
11
702
882
152
49
465
515
905
595
988
628
48
537
534
80
65
368
333
907
352
504
95
818
669
818
876
679
756
793
3
825
983
783
1
903
530
133
333
965
879
323
679
341
975
76
224
537
886
817
324
273
739
464
482
607
629
299
135
599
879
304
669
793
934
669
794
106
341
543
854
250
85
189
586
112
809
711
107
5
331
890
797
452
451
634
70
336
828
341
343
372
602
377
217
455
527
242
805
935
883
958
557
45
705
597
937
291
518
474
835
875
808
372
728
322
159
703
374
647
533
820
487
82
925
172
600
260
350
733
780
169
359
882
679
835
281
618
29
93
726
854
762
556
999
773
31
630
38
40
64
436
101
271
334
914
716
902
656
237
899
927
219
241
136
557
843
841
110
267
727
335
734
93
227
458
104
938
212
484
822
788
429
264
954
819
745
160
734
892
993
218
144
604
848
976
97
830
287
621
487
823
381
830
462
990
982
964
594
715
740
862
895
283
132
694
912
890
239
46
37
869
533
154
515
121
205
265
137
806
671
368
314
231
753
659
601
185
987
102
89
951
903
767
302
528
105
926
9
344
583
861
891
62
236
999
685
231
869
728
132
505
69
833
801
146
209
438
501
786
38
520
836
890
222
992
700
379
657
471
737
445
717
84
448
455
175
552
154
765
198
836
89
640
754
335
647
375
396
806
38
334
216
120
399
490
461
395
381
632
943
46
992
545
45
820
753
715
686
477
19
201
833
234
601
566
432
61
35
154
229
525
305
343
647
396
750
417
168
268
567
506
116
316
749
360
616
817
161
882
825
596
930
611
360
510
518
959
886
137
206
567
694
575
351
29
947
423
773
278
902
474
509
722
410
967
15
986
126
853
583
469
393
249
987
93
839
277
247
607
997
360
631
458
623
590
378
855
620
442
780
942
523
547
612
351
561
799
99
417
169
527
517
206
307
233
907
202
216
581
24
376
309
165
242
678
931
246
582
470
818
226
502
804
218
931
548
543
218
776
714
377
801
84
233
726
745
326
721
289
664
605
510
475
341
456
857
329
554
455
321
293
691
109
217
378
226
833
671
621
68
143
257
113
541
858
850
482
280
612
958
832
752
892
996
715
962
855
927
897
499
479
826
213
142
762
686
42
324
550
105
850
783
651
807
994
598
762
922
575
925
705
242
27
972
717
23
454
696
45
27
379
484
254
32
614
411
878
497
543
819
996
739
192
948
934
841
673
577
808
464
867
624
324
560
638
372
431
499
111
655
508
653
303
681
98
443
148
445
754
207
641
183
214
88
221
995
939
289
42
699
233
357
147
851
425
38
546
133
850
301
123
723
265
459
527
55
332
439
796
294
945
598
626
254
528
996
48
20
478
338
972
189
438
439
167
770
878
269
858
584
952
883
668
378
547
571
209
728
22
582
140
18
448
506
205
456
376
962
239
509
799
578
461
621
979
139
61
969
290
298
733
20
460
726
783
531
765
795
748
246
135
958
578
70
742
465
829
236
925
653
778
146
584
233
757
819
364
356
824
959
297
465
653
812
60
503
124
579
30
372
283
87
137
195
566
720
362
163
504
108
876
202
394
768
443
264
290
858
319
33
913
900
427
322
544
949
904
942
172
5
815
401
127
292
189
48
142
88
108
987
980
26
944
746
206
594
696
284
962
20
594
857
622
745
269
933
859
867
990
534
136
419
34
713
162
177
808
442
944
520
429
56
428
719
240
942
834
745
603
82
308
555
658
53
683
57
351
323
763
270
998
373
155
503
926
460
506
252
916
462
145
596
399
742
827
10
83
907
553
190
898
538
106
957
846
789
960
790
250
474
726
416
607
968
76
915
998
150
35
906
913
802
302
303
803
177
174
223
540
93
47
559
83
79
495
775
113
458
560
893
516
599
873
504
5
911
321
508
578
629
470
905
345
887
182
65
187
842
77
296
876
182
896
721
286
740
741
121
368
51
152
452
258
283
825
437
577
35
526
710
932
980
374
315
743
423
566
864
827
623
176
493
242
170
36
165
725
408
598
386
357
290
605
663
61
901
71
564
818
611
815
31
837
385
605
327
343
789
77
196
593
828
573
723
115
342
784
438
901
147
471
702
984
657
806
945
354
306
68
352
424
328
920
926
769
558
614
509
78
394
100
818
488
0
948
386
564
556
397
185
497
490
670
10
985
804
5
877
363
309
403
782
538
44
29
661
519
633
816
273
205
513
8
878
223
185
276
388
818
466
343
579
612
683
464
200
491
383
888
880
280
87
898
20
406
263
916
492
347
107
186
198
145
406
707
764
808
891
199
844
651
322
241
927
38
185
536
665
887
608
519
316
65
778
396
398
268
262
478
87
595
982
232
848
70
140
191
633
579
75
897
74
528
587
681
857
888
692
459
112
950
321
604
963
928
364
600
813
57
199
260
150
713
666
292
553
674
558
562
521
159
46
870
260
667
154
280
901
23
105
843
884
893
305
523
610
588
329
91
750
977
986
53
43
691
23
206
821
373
460
806
349
923
451
10
169
743
269
107
788
922
554
497
579
421
195
73
365
569
272
399
336
660
942
126
863
793
594
633
934
842
908
188
173
242
981
315
164
606
461
412
176
991
970
151
504
651
696
931
793
14
712
423
654
415
841
208
477
215
167
991
385
282
358
49
710
334
856
957
66
691
683
867
808
962
262
685
264
407
340
869
3
908
124
579
275
814
883
847
873
708
935
111
808
157
423
476
121
683
254
683
207
551
250
164
695
419
835
959
666
345
142
422
422
608
746
9
640
450
617
407
888
274
898
952
415
652
503
799
987
280
836
800
71
292
784
773
820
439
886
729
519
444
636
683
230
283
418
43
107
289
943
791
92
154
301
690
845
356
948
503
319
251
314
31
736
745
822
572
94
323
220
940
164
270
158
839
263
473
612
299
818
332
989
240
66
941
922
770
298
615
459
416
704
544
551
86
426
84
848
550
917
467
139
707
166
284
260
628
495
736
326
0
996
349
365
620
607
801
393
293
840
880
534
608
608
498
405
62
835
986
971
189
350
699
218
95
698
391
973
67
850
857
954
26
422
187
615
22
984
617
797
929
203
883
614
785
619
188
451
257
407
140
850
111
954
568
847
43
257
929
49
180
266
661
678
367
766
171
741
834
62
405
550
478
463
649
439
623
617
163
795
854
743
216
383
703
270
993
699
332
172
796
829
792
848
211
584
103
661
289
622
693
807
613
444
136
34
41
395
139
498
721
317
634
302
80
234
996
666
95
134
293
901
315
431
629
830
143
607
417
806
529
119
583
561
385
471
993
322
624
374
474
255
619
952
368
963
741
307
40
810
113
107
523
944
720
684
428
667
995
482
595
767
462
912
30
827
904
240
613
873
391
438
384
974
666
765
902
634
4
125
583
501
698
357
648
13
501
55
531
67
67
913
628
263
334
346
544
654
921
72
82
207
255
991
302
195
646
79
755
173
664
364
380
727
10
93
50
954
707
139
150
389
883
716
460
285
467
719
400
734
37
58
926
210
127
244
607
956
115
819
765
510
665
563
809
462
971
156
273
979
556
805
678
16
408
91
329
268
802
800
529
246
495
4
587
191
716
839
550
605
605
599
41
391
46
353
89
891
209
664
740
239
415
648
38
387
745
523
6
844
203
513
368
381
892
549
174
49
714
786
754
47
289
743
11
181
556
538
657
848
795
216
647
542
774
37
999
733
563
317
776
145
426
135
195
341
131
194
189
989
158
696
343
191
151
276
90
865
794
98
184
795
408
839
204
354
271
208
635
687
818
266
767
892
704
914
442
612
577
923
388
606
990
551
713
86
317
855
93
110
42
584
146
879
746
146
466
789
230
954
624
86
465
953
641
873
381
180
170
896
615
807
388
121
120
882
457
489
88
673
566
392
570
748
194
763
309
915
950
872
419
932
774
272
193
338
850
3
369
729
324
116
299
286
11
441
937
782
161
957
447
524
41
642
762
101
978
704
987
322
413
862
389
177
55
974
843
532
903
928
431
754
196
598
503
987
546
316
824
687
953
259
165
41
829
818
789
587
68
21
557
755
691
204
821
532
755
829
973
595
644
102
372
543
22
246
801
166
336
999
432
39
164
955
280
204
792
447
723
240
806
432
211
826
166
209
684
669
486
661
534
209
574
565
776
293
598
786
493
133
706
853
661
721
671
255
593
587
544
715
337
531
138
663
135
848
344
201
152
108
952
949
356
956
320
50
935
194
726
731
703
353
157
495
522
92
301
312
974
520
114
64
789
326
823
385
863
880
745
641
520
212
504
106
103
116
352
165
844
655
603
251
955
724
593
233
627
526
67
333
390
659
457
195
499
459
898
132
366
322
190
568
684
727
610
939
178
290
384
71
142
38
205
676
848
60
679
883
176
245
957
239
859
692
404
913
621
789
371
605
536
498
345
261
450
894
180
844
888
91
151
371
118
962
857
206
65
920
879
406
425
625
856
65
554
983
174
317
425
458
455
426
326
764
39
636
602
839
302
923
887
250
587
390
610
775
319
225
928
209
952
871
709
882
279
771
903
669
483
294
463
61
609
340
238
147
871
116
255
942
569
816
18
162
35
799
876
525
584
421
633
615
232
876
436
903
269
726
754
903
898
403
317
614
691
947
702
792
153
311
236
677
7
67
582
983
862
454
570
47
811
387
633
785
270
496
444
51
508
396
423
115
331
866
42
995
239
865
189
209
597
822
231
448
926
527
97
286
512
864
466
214
294
238
619
422
797
864
900
246
877
632
224
2
905
297
474
598
279
389
399
877
223
671
197
746
89
846
319
107
411
28
924
51
97
717
397
757
206
255
691
490
647
4
764
276
54
742
237
124
958
72
663
325
843
950
748
451
106
468
116
866
169
746
221
897
53
703
406
52
798
975
948
430
612
88
319
933
36
804
497
812
160
344
866
667
793
276
933
580
351
968
415
119
634
797
15
596
353
991
629
900
212
489
981
138
704
734
930
810
163
272
141
639
709
607
607
612
922
728
948
242
147
277
777
427
544
276
859
749
606
212
515
559
56
449
939
708
766
70
58
238
806
255
629
861
312
48
292
440
155
471
825
732
721
458
886
531
78
886
834
705
557
407
949
569
805
772
874
696
603
681
753
81
512
850
782
317
181
623
371
906
670
218
493
867
939
618
424
306
908
704
243
312
2
0
926
689
946
446
752
86
511
271
664
772
836
394
907
412
168
980
934
84
505
954
479
788
715
682
986
122
380
299
311
665
869
480
124
740
928
337
45
208
380
747
249
917
929
563
231
204
73
733
85
350
182
740
419
491
149
720
816
286
214
310
56
81
874
826
917
788
295
575
924
249
596
219
390
2
353
201
661
936
518
780
293
224
495
442
364
366
976
799
833
145
663
301
381
682
639
906
32
817
7
707
789
671
385
317
776
312
24
165
635
961
298
904
534
452
76
375
872
718
714
329
695
251
201
929
326
571
107
1
151
871
635
743
857
857
991
759
561
223
228
945
481
253
673
102
483
336
642
501
599
948
817
572
759
269
682
949
358
331
883
34
317
542
116
917
703
786
484
717
886
781
647
162
626
378
925
152
325
304
40
942
906
986
237
220
657
303
236
593
309
213
395
977
909
896
324
394
145
865
342
537
775
785
313
480
986
476
263
884
148
518
379
14
953
651
632
647
386
215
127
584
752
241
322
230
73
467
451
269
262
740
224
950
626
985
975
962
424
476
705
623
890
660
290
652
159
976
993
901
676
434
207
450
903
775
999
113
992
913
548
407
433
307
599
370
631
263
476
614
51
382
929
751
764
715
931
560
64
436
595
313
744
968
543
61
39
419
80
194
828
318
694
405
833
798
108
106
81
199
198
364
90
452
10
694
251
614
491
855
239
993
962
695
424
23
855
103
308
945
885
102
362
599
126
328
740
486
437
922
936
58
83
215
797
876
150
657
173
46
881
936
554
899
193
140
656
558
104
863
712
182
147
82
109
720
544
426
658
996
585
651
210
455
318
175
301
420
387
266
465
668
327
619
739
620
560
915
703
578
161
912
976
288
113
49
973
885
985
812
813
378
847
736
441
880
90
999
469
803
404
838
156
208
779
424
273
390
866
914
635
28
556
311
311
753
177
132
927
176
41
732
863
736
288
48
614
263
261
444
272
539
547
728
241
124
123
20
374
254
875
865
294
845
155
886
920
764
851
858
95
509
730
181
329
536
842
148
2
277
953
777
603
107
485
548
523
833
797
132
937
462
224
723
148
694
685
780
438
789
413
822
659
16
324
484
266
808
100
394
684
393
545
796
861
269
463
238
680
367
724
18
411
488
493
405
791
417
17
989
214
271
788
470
566
616
522
407
903
977
123
49
738
611
559
908
616
166
370
304
459
895
965
168
217
663
985
278
839
555
988
501
508
282
309
737
827
442
709
373
428
506
967
224
834
583
807
94
368
964
334
70
512
793
242
495
429
56
943
236
481
423
661
260
491
560
218
132
362
967
960
688
347
346
835
397
898
235
126
216
446
533
733
596
882
220
781
694
733
834
520
125
982
265
727
241
589
34
140
587
881
266
872
205
306
210
527
421
174
815
311
294
398
912
723
869
848
663
378
505
851
757
750
231
110
48
90
252
381
180
781
111
180
442
235
113
46
48
804
417
227
39
3
864
36
56
541
558
122
635
69
489
177
87
416
571
43
417
75
828
959
151
496
516
399
872
271
270
903
914
384
767
819
640
800
301
962
447
537
664
970
984
243
432
670
437
328
329
998
767
970
63
636
188
320
400
102
490
563
379
173
401
824
136
131
952
406
167
57
267
567
809
689
641
555
110
173
480
556
708
300
715
427
379
92
433
712
573
53
446
481
218
431
489
352
800
956
544
72
740
816
187
329
148
168
631
497
444
13
205
837
519
360
466
907
231
652
43
354
292
664
70
966
554
318
660
620
902
936
515
156
220
929
193
953
83
36
112
463
733
889
886
156
7
584
621
760
293
510
586
861
256
356
67
500
881
280
192
563
256
919
719
636
749
546
196
474
227
501
795
50
938
391
111
739
249
490
435
910
535
516
526
243
31
279
880
653
392
173
970
240
84
898
56
197
452
834
628
452
680
510
69
679
724
441
651
110
575
631
744
7
277
578
696
748
835
103
394
954
24
317
836
164
70
34
788
712
469
592
311
926
333
306
503
299
665
288
963
709
845
182
14
615
843
653
312
923
556
268
894
802
537
902
769
932
911
870
234
936
41
426
59
242
766
563
300
209
750
782
556
567
916
534
500
136
23
194
167
439
838
300
340
669
287
379
26
705
547
539
422
784
383
676
538
467
145
455
233
144
889
786
368
502
824
259
49
343
996
687
536
958
63
755
681
574
405
488
246
149
901
867
557
691
668
426
650
903
733
848
172
627
613
804
443
301
720
924
664
852
696
727
592
521
550
233
23
209
785
169
570
83
276
481
319
12
72
263
252
965
880
833
97
854
357
631
564
77
286
951
500
536
749
805
223
381
261
182
187
879
836
919
551
157
736
260
173
444
136
235
239
723
952
739
520
485
451
815
66
453
435
824
776
111
802
743
316
348
593
588
971
121
53
219
263
633
745
79
134
634
447
2
421
247
633
170
931
659
588
770
953
802
739
22
233
669
132
465
230
904
892
502
456
680
660
541
763
149
274
900
920
996
732
118
976
627
625
636
574
958
85
437
450
898
863
479
989
602
22
535
217
225
941
622
675
541
337
638
660
851
455
3
964
988
181
267
217
308
527
684
834
744
475
358
773
589
186
880
163
108
876
249
30
332
837
592
546
468
800
521
717
820
921
672
683
216
819
266
98
197
234
254
155
320
591
988
806
973
277
948
859
925
513
922
54
301
189
488
552
389
725
687
506
962
191
985
38
90
455
240
375
496
286
594
213
943
58
34
215
687
677
135
448
341
5
98
433
980
905
304
106
437
222
304
105
456
263
165
488
676
372
888
822
178
762
374
809
733
619
743
532
250
228
340
135
12
643
779
46
18
783
363
646
701
410
95
858
865
458
380
448
597
997
933
236
317
957
221
657
716
472
857
244
763
962
903
109
230
755
921
491
6
760
656
675
540
442
144
591
121
113
428
654
95
209
593
125
18
108
227
509
885
536
436
583
310
10
898
231
329
837
245
873
290
483
446
569
409
700
5
531
961
993
218
57
698
906
726
384
940
246
299
952
20
874
737
485
248
44
21
316
215
411
327
541
428
729
256
977
941
640
492
55
472
401
343
7
161
826
613
35
716
516
750
8
428
913
463
699
571
209
654
473
262
350
768
757
772
666
8
721
648
594
977
993
513
814
921
313
803
836
307
821
520
930
648
551
890
138
39
937
982
157
434
678
280
5
946
867
303
767
391
832
175
944
833
14
752
120
408
697
406
387
68
426
877
707
911
193
508
642
385
109
377
405
719
247
752
609
390
142
716
109
888
383
804
721
307
774
757
798
571
221
658
392
219
535
507
116
156
650
742
354
387
99
502
618
70
653
847
145
291
460
200
403
689
899
31
998
223
148
247
385
742
687
740
677
98
556
780
26
84
987
676
788
598
610
409
235
67
897
346
845
658
576
669
124
63
684
645
839
35
469
897
397
82
461
925
983
865
669
432
235
61
638
548
485
512
30
515
509
325
285
701
834
751
694
740
598
533
236
622
887
43
562
220
734
99
619
876
684
839
86
268
401
140
749
362
564
241
40
85
526
767
797
863
161
643
395
989
219
943
212
252
960
699
969
998
348
97
318
57
141
655
901
954
652
82
630
129
724
421
641
314
100
837
187
325
79
973
191
753
386
420
142
749
400
702
940
602
139
144
599
712
400
67
817
526
756
56
410
881
701
412
825
626
118
800
138
319
537
685
370
23
952
687
207
157
649
336
392
383
222
135
839
49
311
215
451
557
714
655
459
956
814
510
652
620
225
351
465
507
994
853
30
567
443
145
272
997
306
63
11
56
920
247
699
920
190
901
751
141
281
94
578
784
94
617
249
912
125
5
337
302
414
939
604
639
952
904
467
744
471
83
357
578
613
989
540
945
399
284
839
936
322
794
277
684
616
463
274
628
599
359
640
821
539
682
366
663
290
841
482
587
887
697
504
239
647
516
906
295
443
579
716
958
74
357
929
485
353
710
832
539
248
208
746
231
862
232
988
722
391
579
483
801
491
439
988
804
543
68
906
110
484
704
780
533
222
971
236
314
725
59
120
82
714
299
55
162
739
291
513
987
889
447
665
715
97
773
471
870
764
246
271
219
22
864
948
580
954
634
421
339
905
698
892
587
439
93
200
384
196
878
907
125
891
609
86
390
744
328
397
454
872
690
688
842
211
674
944
905
313
791
730
918
809
584
12
753
765
413
364
658
256
364
263
537
668
258
328
114
938
526
684
793
816
778
265
967
673
923
416
968
251
962
647
203
908
165
753
572
555
181
643
242
817
543
709
750
879
741
310
781
63
472
293
903
494
326
257
992
736
567
253
949
21
62
908
782
733
221
798
297
218
209
99
500
197
552
283
132
258
27
994
813
680
509
231
399
489
258
470
169
910
545
388
420
54
545
267
928
884
672
556
480
486
755
519
958
368
41
387
703
437
780
817
523
326
134
149
252
645
702
32
547
985
726
254
297
270
76
226
52
577
966
170
246
648
929
375
934
932
924
718
74
473
851
682
782
374
145
928
798
499
276
295
229
114
937
91
809
959
765
568
680
194
564
108
663
466
781
53
298
575
20
182
86
257
486
83
934
716
81
611
292
107
402
896
249
790
853
69
324
796
404
842
311
627
782
34
38
784
228
154
739
258
910
843
771
687
795
1
678
733
480
266
371
604
389
756
3
42
293
669
818
446
696
396
666
109
551
773
761
585
465
473
713
297
355
312
222
14
222
946
252
986
159
705
653
618
173
782
419
938
300
378
896
412
60
490
913
480
393
315
353
650
609
774
849
286
565
30
591
382
925
21
257
580
508
599
573
880
925
574
565
606
530
281
858
979
369
301
650
361
800
353
495
758
392
106
398
935
103
299
155
573
12
449
158
304
142
377
332
498
950
672
5
562
815
463
347
641
45
754
404
836
763
562
143
477
210
460
907
837
747
79
626
425
297
704
977
814
359
68
483
352
341
599
314
386
554
641
196
82
252
151
72
150
574
63
746
86
138
327
270
174
897
113
970
193
66
252
733
569
545
223
268
239
679
79
200
54
162
365
458
621
489
175
70
236
697
718
646
854
273
745
516
438
663
430
638
996
686
54
299
38
822
495
165
679
484
969
729
101
388
845
635
734
594
984
83
666
903
293
286
919
401
32
425
926
262
409
453
567
742
633
814
941
362
775
245
522
626
664
182
675
57
479
650
521
775
785
190
36
83
837
99
323
160
280
288
907
591
507
762
764
288
512
392
823
884
921
517
483
784
586
881
733
724
893
418
854
816
534
480
909
892
658
949
545
704
809
536
420
338
725
251
739
65
192
749
667
868
104
315
482
373
767
763
238
311
844
559
689
606
528
145
414
897
428
406
461
653
475
372
826
423
107
898
858
514
156
526
257
518
44
945
975
808
991
460
631
176
995
7
844
852
158
42
591
301
763
815
373
924
641
715
524
560
918
196
657
686
157
651
473
10
474
493
159
669
651
332
403
342
947
303
480
925
930
498
152
401
819
642
958
190
864
543
426
117
272
646
13
727
665
988
460
967
565
81
427
721
609
553
583
923
404
999
629
731
231
323
14
489
564
163
412
142
504
802
547
285
434
380
464
238
202
117
175
369
125
855
200
205
991
531
433
937
583
535
186
806
843
46
2
358
779
663
580
602
386
556
140
650
406
434
771
632
791
974
512
893
346
362
337
899
852
497
296
252
235
653
143
566
494
725
549
983
369
455
798
27
396
325
498
153
302
70
442
522
238
418
918
583
616
687
70
565
821
809
274
943
468
545
798
594
324
833
414
478
375
529
386
558
219
265
481
198
750
278
877
179
251
314
10
695
402
510
38
408
48
546
935
741
19
780
635
99
595
538
658
163
83
977
990
569
823
400
745
89
991
268
38
926
235
528
877
362
167
334
897
656
656
997
951
829
859
422
667
24
653
687
893
532
343
815
231
500
661
154
928
119
862
599
848
590
778
15
882
401
249
879
681
378
898
997
295
639
296
550
822
554
905
657
860
180
3
279
983
383
755
657
409
236
287
821
412
254
567
137
861
256
520
860
790
590
470
154
59
513
549
920
812
745
17
430
322
356
776
546
561
455
344
479
409
572
83
982
236
940
750
182
520
202
768
313
100
21
685
900
442
154
423
353
925
230
134
518
979
942
956
704
441
695
97
203
773
685
489
50
798
694
189
383
767
440
160
275
595
103
179
821
11
112
907
622
500
941
898
664
38
168
85
564
632
139
758
765
198
316
795
846
710
535
992
240
952
476
234
211
914
928
678
388
454
987
750
158
964
63
473
672
722
20
827
468
271
427
15
188
973
701
467
383
279
375
524
755
802
121
406
994
645
841
893
70
259
219
224
690
181
658
185
632
577
348
580
674
946
148
244
939
700
980
201
31
132
953
414
651
850
378
729
236
568
295
969
579
229
510
827
195
260
41
509
315
25
573
715
171
87
274
626
335
671
341
876
983
7
607
358
284
450
618
519
438
544
477
758
790
161
29
954
107
645
909
445
804
591
792
509
853
214
286
810
193
886
552
137
558
1
806
997
309
887
183
891
683
881
344
45
292
528
212
63
941
194
188
908
844
422
755
293
757
714
797
98
983
864
611
372
299
876
666
761
502
254
209
441
626
582
139
551
184
995
42
774
884
143
428
129
390
242
813
394
404
948
841
161
596
712
0
822
341
572
557
266
847
909
678
33
987
140
797
228
150
476
455
992
73
62
842
623
988
64
823
46
495
586
371
578
237
883
755
283
235
603
94
515
128
20
993
377
246
202
662
873
230
78
506
639
301
966
280
635
469
576
771
985
150
659
254
409
216
22
168
529
808
263
693
118
469
592
763
66
797
73
62
834
434
219
155
181
175
837
419
255
127
878
677
484
335
97
835
502
499
283
281
80
707
442
984
344
61
529
542
65
853
0
650
500
602
945
23
792
737
163
187
719
976
763
191
84
47
446
737
402
102
177
901
464
362
758
663
324
485
346
503
8
222
982
31
179
224
702
588
398
836
350
724
25
622
150
128
128
456
551
940
904
691
880
798
417
822
723
355
603
242
737
292
67
152
162
130
738
388
56
805
244
700
371
145
934
541
268
638
814
234
235
227
135
857
704
296
349
320
735
780
610
32
191
141
279
762
554
868
204
563
497
851
751
349
579
538
688
862
202
319
1
213
133
502
932
606
123
654
456
181
89
603
825
541
566
171
975
258
367
979
923
940
804
800
349
594
129
236
527
821
366
253
50
683
396
355
785
150
150
359
158
832
298
142
161
778
255
480
381
493
182
76
858
494
653
914
821
814
632
6
842
959
274
767
479
185
598
252
294
500
161
462
663
850
85
68
985
438
574
802
443
820
518
347
684
679
64
276
883
60
62
699
603
714
717
682
862
482
773
877
584
427
812
461
107
824
251
626
78
60
345
86
868
536
380
874
562
450
706
268
432
373
967
341
493
777
553
817
813
882
206
523
810
892
410
788
255
783
205
608
702
519
963
199
304
726
916
36
891
66
617
505
672
245
984
933
359
114
218
478
934
395
739
693
710
910
736
810
508
576
687
439
505
274
345
216
274
808
564
664
885
258
959
510
762
774
167
313
218
267
244
325
982
53
755
747
118
995
357
85
813
756
194
207
683
672
136
147
630
399
328
474
856
936
333
762
422
817
338
231
403
572
594
717
575
414
13
178
461
413
878
121
765
675
875
39
690
635
949
234
710
521
454
377
410
91
176
823
370
342
626
404
132
878
358
366
214
814
145
783
677
846
716
133
157
213
318
645
3
267
171
979
675
582
430
399
944
400
190
803
960
656
346
699
559
362
301
675
719
984
406
340
45
601
216
134
665
627
314
464
927
929
761
254
174
599
539
87
264
599
359
574
709
512
560
288
859
869
393
374
912
869
61
972
421
55
605
953
173
970
158
646
931
183
17
753
608
999
279
666
816
271
632
165
729
980
376
99
923
246
797
876
530
326
830
828
2
80
776
510
254
883
453
34
19
363
969
305
265
361
549
154
521
518
981
136
477
100
317
789
379
865
228
131
455
342
41
678
120
26
690
740
912
126
289
794
43
357
208
341
95
928
60
452
642
200
855
905
823
323
408
195
410
905
629
176
901
805
318
119
483
417
797
846
443
104
558
864
518
460
709
427
805
472
487
874
947
85
978
199
486
21
510
521
104
978
893
333
659
22
969
349
618
247
417
590
358
809
166
790
746
755
433
8
727
990
20
960
431
396
311
176
505
997
929
819
421
648
832
741
165
676
423
505
605
139
572
596
766
661
104
658
859
674
953
453
681
883
943
676
333
158
515
517
555
5
850
47
338
503
838
203
910
59
618
76
444
201
301
903
282
146
813
915
23
564
260
480
928
769
343
232
558
742
817
792
255
260
71
679
348
171
258
861
409
452
912
207
334
732
869
449
336
831
520
111
917
805
456
260
486
837
34
202
174
732
827
26
746
202
465
671
839
142
993
332
942
68
300
855
245
7
667
480
749
761
91
497
831
844
160
958
495
98
603
440
360
153
962
883
479
468
531
113
566
76
659
98
711
320
51
106
365
321
910
330
99
511
812
425
388
311
815
493
498
157
798
307
674
803
954
191
288
445
286
213
557
915
840
967
450
803
711
254
449
675
305
508
319
580
433
636
733
566
578
814
980
94
964
508
918
433
522
353
110
188
373
550
455
711
157
122
590
370
577
362
650
482
603
724
344
190
383
152
875
396
818
329
414
165
691
690
20
637
664
292
852
825
175
163
480
298
69
14
394
995
875
520
668
75
666
718
881
596
243
95
682
329
722
799
834
992
84
69
154
709
252
594
13
221
300
916
485
990
406
933
860
549
964
940
765
787
663
777
409
822
454
712
439
784
761
614
533
420
108
412
924
332
352
714
762
857
806
843
432
267
280
604
874
935
496
693
638
194
737
969
23
136
568
659
200
637
751
868
579
664
387
519
624
707
124
170
408
461
532
863
652
300
614
40
298
444
774
334
961
464
143
418
306
960
632
539
529
878
343
322
329
35
334
928
434
962
150
980
604
812
855
529
245
698
834
773
606
329
430
739
972
598
314
783
478
203
491
163
914
250
430
229
853
644
460
509
240
43
302
697
537
732
92
953
9
788
780
359
15
717
136
237
416
433
143
884
205
529
881
842
814
322
774
52
971
424
648
12
852
719
779
521
839
174
229
119
894
331
73
118
116
657
69
659
60
825
126
380
581
438
456
96
335
96
514
47
896
907
349
730
449
221
586
304
495
463
20
644
759
734
731
323
348
855
557
476
902
968
228
593
637
87
609
477
166
515
848
219
564
998
515
545
304
596
787
59
743
862
963
875
841
594
386
955
582
144
331
156
906
419
906
564
560
704
277
891
958
155
694
989
917
257
293
339
724
453
989
426
12
635
466
219
792
638
268
882
964
498
48
570
116
782
249
493
913
598
355
423
64
518
531
811
945
237
319
360
82
254
594
846
117
837
512
590
971
13
915
520
83
826
241
499
862
209
621
802
665
47
505
880
687
719
265
797
558
354
53
347
294
48
433
688
635
572
910
913
980
153
98
413
561
192
582
743
241
464
201
245
444
797
916
177
518
840
49
679
312
29
675
939
906
806
547
189
50
300
6
352
836
10
167
743
683
119
183
864
622
494
655
914
581
397
440
265
940
805
871
689
737
869
965
684
684
108
407
146
75
76
460
231
452
97
976
658
510
518
402
793
698
66
156
647
32
296
115
625
425
661
65
675
311
850
450
234
419
957
464
186
753
70
598
568
6
381
109
60
875
816
87
411
513
538
843
346
808
934
478
708
950
722
626
740
206
213
66
628
263
974
875
42
807
716
24
868
683
396
152
695
644
689
384
722
832
122
952
862
570
450
382
734
175
369
329
270
42
936
889
688
354
152
278
290
627
522
880
427
448
599
745
881
760
695
728
478
846
265
701
106
550
157
682
245
379
743
987
288
477
983
270
784
417
632
350
155
913
868
118
27
490
755
109
952
586
995
569
379
621
671
646
634
198
880
97
581
880
669
962
882
543
163
550
821
524
117
63
108
293
458
488
559
233
146
81
698
297
296
868
667
923
892
613
506
328
268
914
201
343
510
377
474
298
496
287
121
155
344
418
521
856
819
658
102
678
925
798
466
131
524
424
533
793
868
865
639
251
558
13
386
764
587
479
663
779
220
733
248
12
757
883
467
544
839
49
179
467
714
580
638
563
909
301
782
275
419
33
644
730
64
298
516
636
127
33
489
180
252
751
322
679
315
432
609
493
195
198
316
881
227
246
291
589
472
183
997
268
412
794
664
115
257
699
427
382
68
808
110
428
827
592
194
113
603
397
137
692
174
999
472
247
186
861
532
372
326
950
882
644
93
770
300
950
466
384
60
9
146
648
513
800
659
351
981
505
44
581
112
505
781
445
286
403
133
741
672
64
58
851
441
642
466
515
946
926
872
391
233
508
164
144
859
244
491
404
785
473
158
818
748
869
619
880
727
864
615
857
783
207
36
389
289
462
322
72
826
810
71
63
971
53
400
16
607
435
300
707
153
123
645
366
404
226
926
571
380
262
225
508
791
755
238
901
786
822
504
516
240
11
369
948
781
538
516
857
432
422
435
765
785
760
752
489
606
650
80
882
880
641
72
903
13
287
620
239
603
631
985
911
825
918
116
493
675
374
790
674
472
522
900
414
521
122
886
323
535
468
121
192
670
256
695
81
432
773
282
203
107
618
990
102
436
310
297
130
873
418
353
428
31
8
713
611
702
282
691
341
293
985
161
253
866
301
826
787
469
457
474
276
205
279
147
881
721
856
293
404
247
870
999
622
958
347
381
848
742
428
714
770
686
964
250
706
837
957
840
436
473
788
930
441
680
161
965
954
962
250
441
768
667
14
806
489
671
539
451
436
493
369
345
211
997
5
418
658
221
425
278
44
518
89
158
883
936
999
258
126
921
451
739
118
877
400
853
588
337
374
22
11
152
315
631
148
959
868
637
476
408
61
391
237
25
270
797
884
606
622
356
829
323
813
682
366
6
204
138
463
884
398
230
371
185
912
993
3
304
377
443
254
50
209
177
890
881
560
42
910
811
695
59
970
516
117
791
738
537
896
503
616
946
543
584
485
764
435
186
718
293
759
474
44
399
481
945
708
136
508
453
786
400
91
391
834
842
336
65
646
339
839
758
378
359
154
572
107
960
936
564
668
158
189
400
885
506
99
422
196
283
981
529
542
145
0
724
36
650
199
798
82
878
440
796
309
740
511
709
147
994
411
449
253
534
85
886
949
102
490
272
421
9
823
129
36
961
459
216
558
616
83
233
893
789
447
872
735
372
690
996
423
40
513
461
719
309
456
724
431
491
758
187
323
47
525
574
942
917
924
165
854
94
175
145
100
984
29
303
776
441
700
644
522
333
513
509
71
345
42
626
353
972
450
667
454
486
133
313
979
286
310
852
294
751
638
260
11
932
797
493
51
955
848
631
560
127
665
798
1
689
74
244
849
762
316
711
682
666
489
923
338
6
421
814
945
757
740
809
756
483
915
222
115
438
84
743
999
635
950
81
695
238
701
317
977
222
258
512
872
156
135
280
394
314
400
205
641
446
781
985
612
344
837
24
782
543
288
782
52
895
363
51
517
278
863
56
851
563
328
798
478
546
761
617
26
901
336
566
358
645
948
47
995
273
466
864
895
799
462
414
504
968
294
723
825
556
249
947
559
215
361
525
770
995
776
569
946
673
704
166
294
822
107
839
284
174
43
657
270
247
135
60
442
514
205
432
830
264
618
894
512
221
227
691
921
185
571
942
481
433
688
43
535
992
655
47
240
162
232
325
862
675
564
596
778
69
972
804
434
530
809
138
508
944
519
315
82
196
191
100
884
989
596
780
234
430
74
688
673
103
400
749
34
154
746
636
47
677
285
640
354
248
550
518
962
862
661
138
189
899
615
221
128
209
248
681
508
831
260
259
578
275
980
716
191
766
255
640
972
819
492
173
190
237
247
960
964
478
107
424
922
861
261
146
864
769
963
428
960
797
588
211
45
260
233
439
382
257
784
489
978
615
463
497
420
669
905
794
464
214
521
46
771
810
316
857
79
575
14
982
811
222
192
734
224
146
887
404
336
251
87
177
46
745
154
542
382
484
381
298
344
383
284
103
510
836
669
152
147
157
569
766
993
514
980
936
867
373
696
216
910
258
973
265
427
341
607
354
952
192
203
941
894
803
421
420
748
440
973
915
129
433
135
78
812
28
181
266
988
210
590
143
120
874
787
909
55
243
884
53
873
451
442
936
849
686
977
31
942
395
923
632
209
66
329
999
289
233
960
350
175
987
192
651
561
804
636
859
571
884
794
936
14
735
119
558
972
69
341
516
536
107
330
664
713
786
645
159
866
818
864
481
382
277
432
894
169
919
702
572
150
360
623
612
791
514
8
946
660
927
278
702
262
634
946
499
864
629
444
158
496
335
401
978
49
927
218
558
808
812
425
999
876
658
515
775
706
828
980
535
396
989
697
637
13
435
161
696
521
451
139
959
410
482
64
570
475
843
464
382
698
16
300
779
538
655
684
672
262
269
608
259
37
363
24
199
285
142
961
724
49
440
708
677
293
831
28
506
638
963
835
975
632
555
553
528
325
225
823
788
330
966
258
640
629
400
804
345
23
80
953
687
299
369
567
628
702
320
744
266
543
220
166
359
783
137
884
771
597
782
614
41
664
87
500
394
848
177
324
566
739
768
65
71
282
915
518
782
588
56
185
412
423
658
214
384
120
514
595
280
74
209
631
29
274
818
69
899
7
930
435
360
634
738
471
923
524
906
224
29
885
361
438
458
203
122
719
275
133
684
381
391
312
25
274
779
794
851
273
836
758
172
102
879
854
792
405
889
157
893
196
27
449
378
921
527
892
889
805
716
461
418
834
312
842
869
23
785
349
786
175
91
240
342
578
512
566
413
309
747
68
648
248
483
491
218
901
306
557
227
697
999
72
869
273
943
980
600
509
924
646
276
888
263
744
813
49
914
519
141
589
821
881
546
684
482
794
875
585
771
839
98
611
566
890
387
451
233
43
64
566
126
926
688
755
903
938
392
877
623
978
845
810
904
187
205
742
524
662
20
652
184
466
351
91
860
195
716
521
801
106
906
373
721
48
885
972
878
978
80
208
65
338
965
597
791
476
812
581
830
831
447
115
867
182
885
733
347
729
233
907
816
13
892
49
946
579
984
518
303
511
216
809
365
322
52
495
429
963
299
951
303
927
240
25
522
989
773
856
801
731
329
252
268
586
974
345
397
323
234
691
225
476
753
397
480
66
704
318
729
612
373
977
220
924
558
783
492
431
0
942
163
135
259
456
753
328
985
172
899
434
654
639
661
32
422
893
39
716
76
903
553
122
745
742
691
947
439
352
158
911
580
175
876
14
217
379
692
268
942
486
250
438
61
142
681
915
472
409
716
451
171
730
962
51
930
854
359
632
976
805
8
613
101
411
814
932
858
126
138
118
626
924
765
869
523
269
872
98
996
265
513
952
147
365
221
591
544
881
513
392
271
620
276
980
100
424
598
954
807
630
872
98
466
571
813
760
417
647
710
420
167
638
259
462
472
252
916
731
923
935
268
449
849
96
403
77
302
198
538
340
916
976
13
266
508
468
384
777
412
772
541
674
963
114
83
86
827
555
107
506
259
982
345
203
371
501
64
482
907
223
829
229
917
290
352
336
160
845
24
190
823
472
97
36
384
224
200
324
597
498
570
657
741
70
716
202
881
978
717
545
842
169
326
623
983
201
31
771
723
698
108
595
181
992
592
980
34
851
726
247
351
902
627
850
164
0
205
485
753
685
502
817
326
329
631
238
909
592
798
67
626
374
105
458
505
286
33
191
693
373
341
60
846
544
103
570
356
229
603
807
179
92
6
898
15
627
945
33
828
892
945
628
850
779
495
56
331
56
911
221
964
503
452
313
121
701
251
56
125
621
45
57
244
596
545
625
246
256
949
602
761
127
580
699
744
794
641
824
67
296
772
752
773
756
859
707
627
188
696
331
847
516
993
500
629
50
254
490
736
64
623
478
453
839
430
445
783
350
622
540
17
626
342
114
579
999
792
243
116
840
144
606
365
512
424
639
569
829
848
279
395
257
894
281
602
654
947
784
199
538
901
350
286
315
896
840
262
527
558
660
146
266
389
203
571
979
912
521
256
642
732
1
896
188
517
854
987
945
52
32
828
27
441
764
760
380
672
261
774
15
746
150
345
759
135
597
337
435
839
637
534
835
928
603
162
300
284
546
600
391
140
807
832
523
693
698
702
17
983
547
820
114
372
293
889
41
731
722
321
688
489
985
259
104
260
868
231
672
990
260
526
650
720
368
522
597
475
195
740
533
160
884
394
818
823
730
41
732
853
666
370
672
176
675
927
520
607
191
459
34
492
338
843
583
105
187
722
357
822
9
763
570
237
92
72
697
786
402
880
580
619
720
702
679
507
151
701
416
154
21
263
875
886
578
832
822
407
904
242
268
23
408
674
519
738
478
808
220
708
802
274
513
309
600
794
343
781
188
527
827
820
824
419
188
309
722
194
520
613
226
588
872
288
594
481
692
747
226
604
301
10
202
31
635
363
256
651
587
980
938
36
898
870
647
381
902
235
549
793
694
974
992
773
473
563
795
623
472
465
295
865
849
972
898
36
950
495
390
410
791
267
558
959
146
466
164
125
513
160
326
467
648
117
390
180
289
872
91
418
191
717
703
2
623
560
965
66
679
43
571
201
169
512
902
274
991
553
153
441
626
53
981
893
59
446
994
869
833
14
995
544
821
569
752
156
479
657
7
248
778
651
551
321
569
621
30
516
115
675
372
36
450
72
549
91
233
446
377
694
542
234
440
763
658
522
929
210
455
677
98
33
685
657
191
346
305
657
467
472
522
571
0
113
967
371
307
8
199
142
132
299
992
706
196
257
719
957
247
562
767
774
124
306
229
586
474
793
839
130
17
329
266
265
229
756
522
330
463
727
706
984
249
34
264
344
219
309
166
159
556
242
521
363
890
49
441
155
81
940
212
431
153
416
880
752
874
114
697
507
887
698
24
979
623
930
25
997
988
877
383
795
919
225
104
422
462
383
429
43
340
9
990
249
352
60
861
680
922
416
317
138
358
157
822
89
78
780
603
331
81
976
827
712
206
483
330
489
891
533
743
90
635
453
394
470
311
714
167
27
817
576
973
794
826
754
215
870
432
749
162
288
755
363
792
672
687
333
237
822
677
245
365
704
209
110
97
247
780
961
819
577
966
457
735
702
21
446
452
470
541
175
955
202
576
25
395
276
425
15
41
592
208
775
997
293
330
841
419
555
201
230
447
571
843
188
915
956
413
641
183
500
343
983
512
262
412
871
627
454
341
188
72
791
746
672
597
69
937
180
12
408
644
730
662
556
109
380
407
369
708
494
382
804
233
638
119
713
858
271
156
223
835
852
564
871
415
979
760
939
335
267
593
180
873
510
145
549
258
486
491
824
973
538
834
190
200
467
514
460
693
457
543
846
969
633
210
484
571
34
128
307
463
76
530
143
621
422
856
641
349
324
132
162
337
319
348
509
626
355
496
781
49
496
157
223
315
183
547
57
158
138
445
836
740
727
678
711
418
336
396
588
633
694
758
804
508
92
394
666
881
269
71
358
31
565
197
192
283
178
333
486
588
822
742
255
626
711
877
63
286
992
14
315
493
767
559
23
943
58
822
632
323
383
315
817
588
569
331
239
604
599
295
524
118
410
257
646
894
576
468
336
492
657
525
559
254
438
907
157
712
501
206
900
529
657
400
280
93
930
709
170
379
751
929
604
224
182
258
35
105
962
288
158
444
854
129
503
827
585
757
588
240
496
780
989
610
590
673
216
218
628
962
217
70
699
771
775
671
727
875
88
521
212
307
381
38
929
328
938
920
676
359
695
684
615
470
856
849
664
624
126
536
202
372
629
74
705
665
478
248
158
656
228
196
519
691
894
504
749
990
806
929
162
447
427
978
873
777
509
623
377
412
463
471
467
442
320
83
40
311
682
188
494
36
108
507
496
778
796
193
334
281
759
538
684
657
439
187
208
429
705
969
42
824
433
419
570
794
279
559
967
677
531
347
351
303
655
243
476
509
745
735
758
591
605
956
297
493
229
994
192
65
786
563
365
75
506
29
997
204
894
981
879
221
577
77
691
340
29
299
792
5
719
499
372
852
646
321
740
851
194
376
556
23
428
389
83
347
337
864
753
243
91
609
259
825
769
358
381
558
725
399
283
204
806
476
190
152
421
26
608
461
56
633
249
481
914
376
646
148
624
508
312
151
577
568
197
621
174
323
810
579
827
70
552
201
182
20
476
588
646
330
266
112
707
159
124
45
867
983
517
5
880
73
994
350
53
521
988
852
720
659
921
226
302
248
449
418
622
836
649
751
503
27
781
968
202
620
269
333
933
94
589
844
807
609
201
700
531
384
911
968
836
139
289
74
473
887
713
597
225
412
927
960
104
710
484
66
484
15
516
598
778
574
285
38
657
739
887
22
739
210
512
101
122
112
618
412
639
273
354
884
685
809
537
402
653
101
841
507
214
373
923
787
161
400
214
95
698
948
895
330
323
756
23
928
541
540
595
837
587
818
262
965
817
76
830
2
956
568
346
57
877
504
959
844
867
438
264
10
57
102
880
243
715
848
99
77
970
455
111
170
221
307
630
768
42
46
649
54
155
480
753
898
93
529
865
390
123
292
840
762
920
381
818
640
368
274
613
423
656
371
69
664
672
455
706
368
474
908
117
837
378
979
496
668
89
309
748
912
217
117
165
404
28
633
934
285
27
654
657
851
665
189
628
379
593
824
913
966
12
33
197
474
8
774
238
745
209
650
472
822
151
875
304
694
374
147
547
897
557
545
65
405
659
440
855
242
568
655
742
39
101
875
374
173
239
660
676
372
466
52
181
379
155
468
906
684
935
793
65
70
596
256
863
720
265
354
917
611
141
575
35
625
416
642
558
362
489
867
720
669
363
423
788
795
319
752
977
839
339
548
367
831
741
632
935
699
551
831
767
863
774
829
21
149
723
433
807
43
702
669
244
749
115
909
548
78
393
325
239
790
556
26
566
813
931
432
196
384
693
131
88
556
422
391
528
178
454
612
881
478
905
975
395
304
639
143
713
550
641
221
805
25
936
179
818
936
775
924
926
327
931
447
350
60
260
852
851
279
95
284
85
213
251
865
385
262
255
821
749
106
796
905
646
299
481
273
845
397
714
257
422
459
845
30
466
793
838
427
133
600
791
162
297
988
802
338
170
893
162
140
171
812
624
947
476
695
670
72
366
590
932
822
57
788
208
26
857
724
482
619
276
440
964
926
518
996
26
438
911
216
457
713
924
17
99
770
1
683
75
639
325
594
210
645
859
728
987
197
97
643
916
405
196
965
174
352
609
611
111
470
302
589
460
872
424
821
184
80
400
377
15
950
760
93
850
355
497
909
79
697
872
466
836
242
107
250
566
665
90
523
551
412
898
521
244
19
867
242
979
494
981
357
959
809
130
350
556
582
990
914
936
643
36
930
583
786
714
73
252
568
383
550
349
816
120
293
521
87
338
319
380
704
931
220
545
556
996
293
35
977
965
321
594
819
140
708
665
441
662
246
581
797
599
69
623
163
564
7
97
178
586
524
975
61
156
544
305
649
13
754
191
905
388
543
216
872
950
854
197
211
919
356
74
576
929
985
371
220
711
90
591
927
336
100
811
182
252
309
931
393
504
12
839
802
709
508
255
702
740
549
476
185
291
944
395
35
71
732
609
375
927
503
641
576
211
636
769
493
115
556
293
819
733
176
199
622
370
505
515
171
485
976
165
360
905
124
592
849
736
790
898
44
841
61
283
939
516
135
153
452
520
120
744
844
485
685
628
525
858
487
890
740
181
26
295
262
246
992
524
422
279
250
997
138
823
39
650
61
323
177
897
72
367
283
348
785
816
645
673
791
12
678
624
806
696
432
359
958
66
785
885
972
328
556
458
855
702
908
873
988
437
263
386
147
542
693
31
679
231
753
74
889
698
485
473
476
582
39
12
160
286
34
777
840
963
156
506
543
659
959
539
949
654
933
598
945
901
649
943
412
143
38
383
194
510
627
364
576
7
975
243
781
546
239
811
580
591
465
39
206
522
415
846
391
496
719
647
200
775
585
67
234
650
902
774
739
96
335
890
272
164
853
205
769
152
870
733
20
959
604
438
894
191
638
563
85
605
239
206
8
898
569
520
352
118
391
778
759
217
558
899
567
182
654
758
375
230
163
606
723
835
479
469
705
842
38
822
756
163
713
873
57
336
979
918
466
847
970
538
716
412
637
262
60
231
262
6
89
989
990
222
119
972
931
18
969
269
907
159
810
944
681
799
49
429
192
275
768
107
279
5
466
335
524
692
303
844
18
635
225
736
419
798
742
588
593
11
680
33
81
516
609
81
553
583
60
407
807
458
320
644
764
741
623
354
952
995
546
761
911
285
495
264
866
874
344
130
731
465
396
33
845
945
512
643
933
821
380
989
837
114
416
346
802
922
436
783
528
515
684
872
314
164
286
378
619
316
147
665
11
851
79
623
293
575
420
217
647
355
136
926
137
916
240
654
659
413
514
214
889
777
990
149
576
780
848
695
650
386
549
817
697
46
246
168
796
839
264
910
119
706
976
845
709
589
267
120
868
439
38
495
764
953
708
470
826
516
126
333
125
262
45
753
120
852
900
931
462
739
977
99
495
873
864
175
369
265
693
64
340
234
596
543
193
243
606
376
417
400
724
797
971
710
586
821
85
130
192
170
558
362
888
793
449
791
364
995
480
147
288
118
607
835
279
261
605
604
780
353
184
867
327
364
739
116
28
254
881
146
312
615
164
404
51
94
706
887
845
872
635
955
985
311
543
394
500
129
523
690
263
669
312
676
243
695
420
475
692
373
650
184
120
824
938
824
931
977
107
543
949
969
487
845
537
717
611
127
248
746
818
306
980
131
623
92
890
701
289
896
148
434
371
891
999
412
727
340
148
568
911
946
29
949
184
350
60
19
920
890
663
537
158
121
64
717
383
395
409
3
933
772
199
938
896
2
571
238
312
624
216
587
992
641
403
486
455
449
757
650
681
918
670
603
391
492
795
241
271
846
389
527
724
969
208
304
129
17
15
755
658
991
708
965
732
833
493
393
78
808
833
752
658
220
939
582
668
808
911
39
951
428
58
240
633
687
827
112
795
990
809
334
40
785
851
773
993
953
840
639
567
180
908
932
343
119
221
616
990
84
258
712
286
859
194
121
138
958
258
792
374
934
538
314
684
582
137
691
989
150
369
752
781
415
80
921
31
359
110
137
345
468
259
263
542
775
128
609
616
951
340
472
839
663
117
24
274
469
381
172
358
213
460
389
915
334
8
658
89
323
897
740
333
95
778
650
269
19
805
159
953
278
979
181
416
72
195
456
753
878
782
679
713
537
700
674
798
932
905
839
405
17
143
28
469
570
336
432
942
856
223
649
152
625
763
663
119
524
589
538
290
350
12
204
880
196
80
270
805
618
338
591
500
506
757
907
393
32
528
599
872
574
277
506
402
113
597
648
701
500
849
957
64
119
905
569
132
531
800
602
154
157
821
480
102
916
859
199
494
887
824
372
697
550
794
578
491
918
935
689
349
844
146
899
720
879
469
372
811
414
290
957
224
263
1
549
559
980
544
611
636
803
558
948
207
714
774
968
677
523
530
320
916
937
97
28
311
962
346
489
659
526
839
564
448
187
358
730
501
949
929
709
289
648
117
618
993
535
8
523
125
142
1
366
255
320
469
198
180
965
213
545
488
778
844
301
576
144
103
365
611
588
161
992
453
858
542
910
868
939
473
547
840
79
224
837
117
827
636
138
151
855
672
645
26
242
378
358
179
484
400
411
245
794
500
333
946
566
278
161
440
531
362
132
627
79
616
373
36
479
383
955
806
892
723
967
822
178
263
495
208
569
444
810
108
915
430
924
248
164
847
298
519
910
475
19
426
803
262
471
791
247
407
573
147
840
275
300
439
905
568
171
99
270
472
721
643
518
590
401
499
551
992
898
788
354
550
306
347
113
753
865
314
625
890
818
200
114
435
776
307
596
690
896
528
643
637
827
136
792
714
529
477
741
331
558
103
140
320
566
737
539
180
261
162
632
375
30
647
23
985
721
742
410
856
254
415
153
556
306
5
51
942
421
697
677
83
380
798
405
34
705
331
239
828
579
766
285
18
533
446
251
137
510
315
617
350
478
330
910
519
834
151
271
4
390
831
568
681
360
931
225
154
863
696
110
171
25
28
192
589
485
44
544
195
728
476
695
992
953
382
122
936
212
142
901
90
350
161
158
492
364
914
51
240
177
193
496
595
610
738
731
376
597
526
919
285
770
691
308
805
33
295
97
955
225
652
615
208
44
814
309
85
645
389
807
797
790
535
435
249
290
495
52
223
988
873
997
457
696
503
50
113
88
848
200
137
1
70
323
761
73
607
305
386
637
146
678
14
871
598
687
667
46
21
29
820
727
189
956
582
149
184
241
216
13
218
154
798
686
512
807
443
619
44
60
433
433
16
506
627
9
944
793
492
332
588
849
92
694
675
949
869
201
304
576
139
371
843
851
920
341
17
25
649
129
475
481
855
836
216
705
563
13
381
633
16
247
570
883
363
333
997
968
283
67
771
896
90
712
326
423
96
418
811
303
110
460
178
317
721
303
962
39
487
549
96
13
190
510
546
539
631
592
90
51
34
484
934
690
87
999
120
403
252
449
958
223
173
884
505
525
300
590
749
383
615
426
407
845
611
696
543
104
781
365
300
842
273
360
519
235
70
766
715
113
346
214
674
608
107
143
31
577
621
804
450
271
333
964
347
209
794
640
333
954
486
846
885
994
898
344
171
343
201
950
108
591
193
963
969
38
235
355
43
145
892
566
575
819
771
947
938
573
603
881
162
364
197
954
769
661
746
376
80
496
96
673
64
655
736
99
764
111
99
157
380
296
81
30
209
472
546
95
278
324
958
637
55
167
55
327
193
320
45
552
290
193
846
213
334
706
869
554
480
805
710
666
305
716
212
193
235
904
700
881
293
882
551
438
115
182
406
856
254
586
274
529
902
921
183
373
767
730
680
104
730
857
873
702
169
43
200
250
558
702
980
33
993
112
429
825
485
628
162
465
423
418
180
440
9
506
614
152
677
606
105
615
194
491
925
649
121
6
888
388
701
564
759
726
496
318
658
416
173
521
187
533
319
136
568
574
488
476
181
838
514
100
574
936
528
243
932
971
884
100
529
609
290
991
141
143
990
257
124
516
945
376
761
742
322
648
424
593
218
768
11
586
673
641
193
299
279
298
58
908
652
345
647
218
578
369
86
768
83
476
399
377
570
808
201
211
867
508
46
207
664
852
893
588
696
752
739
379
908
561
977
886
113
689
188
549
987
206
409
588
602
660
574
819
250
734
505
585
364
193
903
391
568
47
403
886
254
44
571
436
492
888
268
808
229
457
910
568
694
306
330
306
188
948
679
890
919
348
33
670
216
982
215
512
424
781
29
457
997
185
190
800
723
414
943
439
233
880
502
214
634
155
486
461
289
331
719
143
584
143
756
939
913
66
103
387
73
964
523
639
444
596
807
304
766
581
43
647
818
194
793
234
124
520
610
896
127
441
906
500
452
107
229
30
902
511
719
920
51
770
354
904
740
875
973
502
584
881
620
431
150
52
330
641
206
36
921
966
930
238
735
181
276
415
4
322
289
728
41
889
155
116
148
714
694
732
480
699
608
779
42
739
539
41
694
730
906
888
69
336
651
28
571
602
204
513
545
68
510
661
841
508
719
526
89
95
820
19
277
862
333
444
756
684
251
175
307
31
595
719
843
108
73
911
862
258
276
776
25
762
929
309
183
230
39
235
765
633
665
992
941
757
810
485
996
77
253
491
394
953
594
475
5
964
615
461
932
418
365
137
805
396
358
701
836
781
583
384
99
266
943
271
266
736
928
512
489
628
84
860
587
595
108
805
562
528
278
761
555
624
601
144
309
693
654
552
796
528
560
651
523
674
718
358
522
824
154
82
607
539
790
356
123
332
192
219
259
335
397
674
466
803
724
675
437
833
880
610
889
321
177
674
900
467
33
719
611
844
524
495
710
302
589
948
992
823
967
112
541
567
154
630
812
81
358
92
931
186
627
533
281
98
458
357
218
762
439
174
518
253
314
865
432
719
435
142
744
760
401
463
168
627
120
211
392
923
312
866
669
754
951
84
911
892
687
351
877
504
979
943
560
38
417
331
453
748
878
439
311
419
512
959
874
74
673
12
951
263
434
691
252
261
563
735
138
439
203
286
23
902
662
373
918
185
138
559
244
952
368
739
498
269
875
992
998
147
21
433
9
361
777
73
316
815
425
795
476
626
569
135
298
524
108
493
448
774
148
26
241
467
880
65
356
270
410
938
754
603
566
565
593
3
24
88
922
650
411
669
546
381
440
764
567
987
957
270
496
710
868
919
608
10
356
123
813
139
868
895
356
933
981
471
186
909
237
376
320
986
445
228
180
102
699
113
502
691
88
644
562
277
494
130
607
216
18
366
59
991
853
834
276
659
208
679
576
850
797
379
965
615
659
507
47
169
295
789
803
42
881
251
78
613
715
296
922
477
659
441
152
73
423
95
751
435
730
576
549
339
319
208
192
678
743
994
595
107
474
454
375
200
69
543
64
660
68
964
302
136
825
687
396
874
5
665
331
566
906
457
882
963
218
481
741
733
183
905
532
820
731
877
148
531
686
494
928
598
550
458
469
450
875
110
43
409
902
983
146
964
730
86
994
905
261
556
282
718
361
75
765
162
790
426
321
325
99
365
337
915
397
728
213
812
549
506
486
38
941
443
176
958
156
989
205
592
763
683
260
367
637
708
987
784
660
912
947
236
683
105
109
673
580
762
653
699
478
139
538
76
682
445
863
29
497
324
233
722
907
595
944
926
719
13
645
208
622
476
681
766
866
707
200
19
545
751
918
886
736
505
59
595
667
426
55
847
449
392
673
676
95
740
228
744
575
794
805
410
933
769
279
773
738
172
102
110
389
208
167
222
430
526
275
424
290
770
526
978
23
51
194
85
302
729
751
932
648
420
130
55
688
279
309
903
186
806
971
391
266
319
117
899
652
11
100
9
488
188
855
231
546
888
795
516
370
519
784
49
319
104
370
937
617
797
110
228
790
705
730
244
197
441
61
256
637
991
647
402
907
132
805
603
746
406
30
653
284
693
430
219
972
763
595
435
652
408
742
916
386
972
827
574
754
543
431
475
863
715
71
446
60
718
877
204
89
355
584
562
205
83
458
406
160
200
824
410
398
82
48
61
395
644
177
649
522
871
412
79
268
204
628
762
573
339
95
65
505
809
428
80
490
365
871
907
82
198
330
525
671
760
606
452
585
917
733
943
309
855
573
862
695
760
902
261
234
870
349
946
781
999
562
729
963
584
73
621
229
271
509
528
789
663
482
493
290
368
465
870
63
118
650
925
843
113
390
118
147
355
324
476
699
672
533
287
539
486
938
243
291
204
370
738
758
442
273
869
523
760
517
898
665
52
863
39
825
966
843
49
804
593
903
35
247
339
484
984
349
364
675
716
360
464
203
576
464
304
206
959
870
267
725
450
964
586
755
477
885
749
298
650
764
870
884
189
947
743
687
698
498
662
932
761
139
546
366
362
453
395
223
980
965
594
789
505
854
734
542
346
427
563
508
987
490
813
650
806
415
268
957
142
113
899
958
699
792
57
180
158
244
648
818
787
797
328
740
611
53
957
326
51
519
114
665
350
908
709
318
173
285
780
221
661
545
969
929
789
380
962
399
561
730
726
673
658
659
257
692
862
465
265
278
897
467
810
823
308
645
564
719
844
168
454
597
733
480
115
940
372
48
175
160
836
210
87
650
987
325
181
460
476
289
498
482
763
743
484
354
906
373
786
880
437
914
14
950
633
618
208
653
369
207
969
597
74
709
911
697
573
991
855
232
620
149
512
491
565
959
589
909
26
683
134
528
902
389
946
389
635
16
261
862
557
129
420
441
135
666
24
261
22
589
141
108
717
207
522
188
841
474
542
111
141
182
506
661
309
811
696
638
985
722
875
777
46
170
441
647
391
329
327
399
429
20
108
493
516
68
695
106
422
46
265
524
325
332
904
767
181
530
678
248
698
79
55
32
259
511
836
997
931
890
173
71
88
644
172
542
121
384
588
603
744
126
293
929
932
749
553
308
538
674
878
279
781
519
316
75
415
130
807
498
512
471
984
970
351
957
450
312
506
467
994
343
322
427
470
614
247
544
860
154
13
993
149
551
399
73
312
666
960
765
119
937
444
223
983
720
477
25
540
375
502
191
508
599
362
537
848
116
758
445
170
449
995
397
301
393
554
933
273
893
98
49
112
250
20
200
582
335
151
629
130
436
231
491
16
579
475
448
363
498
576
894
867
832
54
314
754
125
420
525
946
39
445
564
638
886
40
357
673
670
783
958
455
164
366
204
761
396
77
658
802
623
633
147
118
700
321
73
730
365
252
910
417
102
720
223
136
503
207
476
640
673
125
926
404
54
185
254
707
111
505
860
907
435
417
632
962
732
767
12
106
160
377
642
787
343
848
252
953
628
151
632
709
203
565
892
812
729
966
434
96
660
819
567
248
817
371
20
718
333
895
87
154
333
733
288
529
163
386
784
428
149
794
408
129
261
49
143
691
764
596
22
662
345
789
840
55
827
445
370
120
346
608
380
89
627
303
291
140
762
636
465
788
987
105
402
155
488
100
391
966
639
811
868
57
265
810
212
252
915
553
323
802
881
834
513
687
257
854
390
780
320
532
724
849
78
609
12
313
91
870
675
112
336
871
57
713
726
968
5
209
747
780
730
495
598
967
406
622
125
185
672
461
440
733
750
487
0
159
876
609
160
790
578
34
321
611
792
344
91
965
98
404
971
75
20
771
335
511
598
854
915
806
86
576
844
755
258
517
124
638
325
665
107
240
816
635
847
612
725
425
444
20
503
682
6
400
169
613
375
56
199
394
631
982
923
958
20
253
158
10
247
967
279
260
933
2
938
833
906
144
521
250
809
66
53
643
331
293
985
337
364
696
522
530
322
626
457
332
719
566
329
161
745
341
981
140
1
23
357
991
344
8
327
402
377
241
468
892
384
655
876
370
750
235
125
447
590
307
333
57
630
870
490
788
592
887
504
146
145
244
410
602
596
493
683
730
785
708
135
651
275
422
387
14
938
158
78
297
208
489
86
163
506
794
619
290
106
719
870
651
332
367
294
836
62
799
918
964
949
277
666
701
560
29
635
403
2
47
978
468
643
733
151
143
742
479
778
534
250
391
753
911
255
483
368
333
927
603
719
169
630
710
917
990
192
617
456
336
997
911
916
824
787
858
592
72
802
540
153
177
383
285
106
193
929
317
567
97
345
765
858
814
416
628
997
589
297
163
205
511
38
194
493
453
442
656
972
230
511
925
850
967
122
702
173
368
392
883
46
293
69
368
810
963
284
518
201
999
46
932
802
264
818
471
466
245
473
441
522
105
422
993
261
638
115
677
920
744
907
947
388
746
641
887
225
479
680
498
501
498
13
634
119
293
956
415
625
264
11
735
790
797
903
95
739
47
262
637
833
872
113
598
8
690
232
676
681
570
759
985
897
845
307
155
939
924
611
958
334
870
646
894
198
565
511
229
958
952
994
929
679
580
997
307
564
299
56
228
845
187
681
272
311
347
428
411
884
711
150
509
919
457
716
622
671
818
536
11
478
663
156
196
93
778
819
580
499
411
658
420
753
86
759
267
972
711
659
165
883
235
952
759
400
689
187
48
680
754
344
614
33
295
870
881
326
770
560
487
131
294
7
802
573
899
639
432
621
464
606
345
454
472
644
212
195
302
994
776
973
249
423
410
121
826
234
133
987
647
819
81
950
787
707
262
893
925
124
930
224
191
785
307
185
998
412
939
212
52
469
373
238
815
281
928
311
530
460
702
356
788
482
27
214
982
321
84
599
806
63
748
200
979
485
208
602
36
285
68
695
67
85
119
504
697
545
927
276
953
903
167
312
541
449
140
14
29
701
718
804
803
203
830
686
321
659
330
387
217
304
627
913
186
874
107
769
311
690
342
569
516
558
550
964
189
602
67
114
715
917
710
249
148
627
386
205
671
833
667
708
963
327
519
676
383
221
161
563
107
868
992
527
238
995
445
670
478
186
500
284
548
780
862
539
191
383
459
334
179
886
994
151
272
641
847
522
628
667
217
301
90
552
596
240
749
175
295
83
507
465
532
659
849
457
128
340
541
763
260
250
202
433
308
50
801
87
612
859
407
913
29
514
913
536
108
205
843
481
555
398
804
572
238
897
388
741
430
336
835
476
662
997
604
543
857
498
454
925
453
360
238
925
833
101
50
374
792
476
402
717
842
355
299
287
910
65
559
689
533
903
777
307
973
356
922
786
895
757
798
959
745
164
932
163
180
345
430
579
985
590
615
602
292
64
733
521
760
380
49
412
688
863
920
413
657
940
913
213
637
696
398
702
992
122
5
207
523
169
409
702
311
175
618
126
434
69
78
771
694
91
941
588
334
540
371
227
737
646
796
747
561
63
596
277
884
177
357
882
289
554
337
746
57
93
854
946
417
938
703
905
648
431
408
521
741
728
704
195
362
522
321
896
560
224
292
122
26
301
547
909
344
351
481
226
192
564
407
152
666
641
594
984
429
877
123
672
730
575
408
64
259
96
610
371
362
279
614
768
92
594
47
349
375
916
416
713
166
551
659
610
426
435
299
932
947
393
615
879
862
736
496
15
833
250
382
431
593
668
288
548
27
27
19
81
438
543
860
256
708
791
374
674
81
286
127
424
21
564
151
658
343
998
326
635
649
5
335
764
63
290
383
112
339
757
432
894
638
299
119
211
479
462
513
625
163
262
457
327
401
298
908
511
292
559
922
523
687
605
27
396
999
73
646
422
536
158
418
368
258
420
997
675
214
180
657
982
534
900
324
604
521
107
865
479
924
617
629
757
876
191
52
190
406
66
421
542
172
613
36
182
216
676
557
232
959
358
622
100
932
49
164
205
225
784
855
277
771
335
387
217
610
385
674
873
364
615
816
540
92
838
784
503
711
79
284
883
365
415
910
82
152
317
390
265
267
94
497
223
657
683
975
165
913
202
945
964
22
626
536
117
779
918
937
4
751
53
580
76
649
758
782
257
118
169
856
787
983
567
943
198
413
312
965
858
440
366
545
863
386
238
297
793
449
30
70
180
170
244
219
96
831
715
753
864
179
266
994
769
823
546
462
758
1
439
576
783
711
219
851
278
865
30
938
106
142
490
511
746
199
387
803
473
583
179
539
166
62
540
981
33
440
813
996
607
136
882
572
922
544
285
0
929
889
535
346
487
317
639
808
708
375
841
170
687
353
660
934
967
504
169
579
461
67
980
805
308
427
83
526
633
159
545
395
962
295
156
803
188
861
699
348
958
973
321
571
28
357
156
492
853
743
494
760
41
127
940
151
256
877
211
537
250
178
432
778
74
980
130
836
733
362
253
707
479
409
694
803
81
263
216
898
605
245
794
796
981
329
484
843
535
22
660
547
750
960
141
876
84
39
979
258
837
220
209
66
166
329
251
798
986
459
868
896
625
435
565
776
164
480
529
123
895
703
904
853
677
179
62
975
88
442
241
996
639
677
246
784
436
168
481
413
199
818
593
244
390
977
436
192
248
483
319
80
174
642
221
736
951
190
482
183
213
594
319
825
43
813
144
377
74
639
328
989
708
92
123
784
911
206
723
962
401
175
74
860
442
951
915
431
982
15
327
908
975
261
972
408
632
788
74
226
275
690
602
697
679
855
145
615
71
365
954
613
647
856
639
496
838
763
724
525
837
571
621
350
678
180
299
250
711
184
62
37
481
506
947
909
121
179
158
504
314
323
0
420
91
176
76
575
756
729
599
380
285
584
15
157
107
834
572
204
346
166
929
639
542
870
914
131
859
763
888
507
632
821
736
635
527
889
109
503
690
695
323
802
509
668
76
502
13
78
905
707
468
195
808
489
929
473
48
737
918
11
442
480
170
267
398
83
186
631
553
820
320
515
381
988
760
797
264
889
92
193
503
670
545
870
504
117
659
11
883
225
975
947
801
498
845
89
435
49
389
641
984
571
528
19
797
5
434
523
90
237
240
321
572
709
783
526
108
389
659
260
655
352
614
799
501
642
280
487
516
107
838
300
15
12
842
266
314
871
181
500
877
194
866
639
411
65
78
421
277
440
916
664
334
335
875
612
216
12
742
841
440
15
964
534
585
268
218
129
329
560
78
938
46
457
920
625
711
783
377
201
231
428
618
920
695
332
531
170
70
762
714
106
405
40
714
786
241
361
907
509
153
579
269
333
950
257
282
189
966
546
397
779
781
353
396
159
778
293
712
864
138
162
473
985
313
147
143
452
423
936
685
316
983
206
450
905
527
90
19
848
830
303
732
276
927
414
81
825
472
528
239
566
385
731
918
65
543
230
799
351
384
656
91
47
384
120
94
61
304
509
415
281
534
837
924
69
596
821
399
921
984
359
96
991
308
251
510
321
912
35
194
343
370
951
875
465
51
429
410
677
389
943
476
442
542
85
498
576
954
605
697
177
444
469
523
977
734
527
416
831
661
822
377
153
587
571
378
410
934
247
922
561
416
176
768
976
116
512
832
561
270
63
898
161
550
551
151
439
502
720
330
955
371
878
416
942
958
365
428
3
78
923
668
110
251
784
419
247
774
153
853
13
568
755
524
906
21
908
336
20
430
712
99
907
638
115
847
318
429
260
825
937
196
144
779
192
675
940
645
836
150
250
613
414
24
133
65
876
826
372
271
619
782
692
192
632
592
943
347
790
696
229
909
658
46
106
828
639
92
582
503
823
257
125
767
766
288
865
889
0
681
144
410
225
505
22
783
991
965
598
393
225
808
16
920
456
159
270
202
569
208
928
986
376
281
907
410
776
50
567
66
881
163
629
455
236
344
732
540
180
230
923
479
210
945
167
410
467
219
239
147
880
18
833
447
107
808
948
173
655
329
675
803
811
120
502
352
273
891
316
675
430
44
591
743
121
98
689
585
274
89
598
473
812
302
765
57
583
816
368
612
682
225
38
925
123
302
224
262
382
39
395
595
590
704
28
265
939
605
792
9
965
364
112
84
801
216
740
257
852
433
695
456
304
55
755
601
460
927
36
389
768
78
488
461
464
551
794
664
101
499
479
254
674
893
834
177
523
58
737
210
12
137
828
177
477
983
467
63
871
620
828
505
134
608
5
460
648
163
526
358
553
160
991
382
416
790
651
144
767
604
823
12
224
469
618
650
342
347
82
991
381
846
300
698
884
808
530
702
162
907
192
56
851
875
438
958
623
87
250
535
348
122
108
659
45
360
67
291
800
528
588
51
483
258
11
1
484
914
63
388
294
848
257
559
951
951
133
241
968
842
222
986
926
362
656
677
564
68
749
74
805
938
105
594
327
596
19
329
410
357
418
492
106
876
907
612
115
400
179
879
474
787
984
529
350
750
742
218
705
276
192
979
24
410
532
453
66
845
837
801
295
628
162
196
438
19
400
159
824
972
185
657
313
377
24
883
80
396
174
854
26
967
383
985
142
567
127
812
671
473
732
800
858
957
974
838
139
24
149
813
5
57
379
239
859
79
252
950
214
502
733
726
426
273
103
138
94
323
7
399
989
351
450
364
33
28
317
836
166
930
750
101
840
771
758
392
167
864
230
498
421
565
821
610
339
414
801
698
190
484
788
818
87
270
929
747
546
324
797
117
466
47
722
72
292
154
648
707
940
603
421
189
721
533
255
591
577
722
603
834
286
133
540
604
942
912
380
697
566
913
978
310
285
366
653
360
416
290
659
296
112
648
3
409
549
419
77
54
299
536
426
379
362
496
725
479
676
926
479
223
598
42
234
181
576
709
704
127
292
614
30
429
893
346
502
234
20
119
450
101
564
263
907
455
101
816
604
118
251
954
613
24
243
172
879
992
497
835
952
674
213
449
355
253
737
255
299
951
905
824
806
374
506
941
649
20
52
829
536
986
514
157
965
582
229
258
752
687
55
319
307
118
433
725
721
746
245
478
260
813
837
85
546
512
813
284
576
477
396
236
518
383
749
582
849
743
85
442
619
246
968
233
914
695
524
673
840
798
354
331
776
44
713
820
511
787
128
223
25
942
473
305
849
114
911
223
47
224
750
197
463
365
576
690
179
631
984
352
288
58
727
765
673
586
519
417
540
272
628
72
100
192
441
100
836
328
46
819
761
575
43
508
169
921
210
484
117
137
708
358
291
624
341
709
134
132
357
409
780
256
559
401
490
363
711
754
917
338
175
909
88
107
819
182
544
907
782
335
434
853
36
135
480
820
183
371
2
67
0
628
906
190
335
823
882
465
381
622
620
748
629
784
92
883
327
582
547
908
557
40
299
372
534
845
215
231
85
602
708
37
48
899
917
134
76
276
646
911
310
124
970
966
48
567
280
188
439
265
583
844
334
139
543
366
916
273
36
283
188
349
106
945
516
581
667
479
57
549
497
544
265
458
860
227
981
382
532
261
516
635
23
592
597
404
631
713
478
473
624
927
483
226
83
787
610
285
4
657
478
50
481
262
250
294
355
988
620
43
387
224
250
549
885
802
485
699
977
635
397
107
227
952
796
733
623
563
166
810
626
616
99
670
161
564
410
437
981
909
556
823
796
149
692
766
73
166
496
723
24
465
473
35
744
296
353
979
609
205
912
510
613
756
994
496
630
355
236
297
945
223
305
982
460
446
933
589
978
499
187
999
576
246
578
245
596
642
555
33
87
30
683
360
341
80
531
970
595
78
495
514
17
983
137
682
801
783
417
321
433
650
977
63
200
998
161
460
251
636
836
208
911
697
89
293
215
901
592
68
719
580
36
683
814
628
408
904
88
379
714
262
56
561
333
188
770
442
170
0
97
572
502
757
401
162
969
42
82
637
689
815
949
939
312
628
547
42
288
249
287
55
578
463
600
113
977
480
410
189
793
415
765
110
62
809
256
710
252
153
707
570
24
74
868
427
322
603
755
816
905
937
749
408
72
94
944
429
557
583
407
983
392
996
246
305
478
376
846
370
458
880
888
100
240
698
92
100
894
849
160
509
240
64
671
282
952
38
417
332
770
302
217
230
560
391
646
690
374
208
413
936
297
216
744
571
108
879
699
906
702
875
447
37
885
599
601
967
894
395
441
41
377
704
137
735
789
737
546
753
481
98
229
943
925
374
520
307
695
262
398
813
243
765
812
197
296
743
55
408
192
589
213
854
421
387
244
331
560
503
895
46
110
746
966
956
691
772
630
853
584
611
936
294
948
159
828
456
423
73
687
979
1
28
547
563
494
420
912
541
119
762
938
862
889
609
831
40
710
638
746
661
845
683
646
792
950
712
387
204
189
715
514
972
536
304
322
618
180
166
79
187
533
498
492
587
959
961
773
827
63
229
835
825
822
336
230
748
988
663
842
516
640
13
166
102
606
564
420
204
647
835
14
687
267
737
967
266
345
65
683
541
459
373
582
255
803
729
74
789
766
622
916
472
714
898
56
695
822
190
835
625
73
782
676
171
585
725
328
168
493
549
91
296
910
726
349
935
81
519
141
367
427
15
387
30
439
774
926
378
190
559
194
656
180
581
938
944
193
461
874
148
874
354
708
706
698
648
975
717
804
283
432
925
307
233
935
12
445
993
499
378
1
617
348
312
386
861
560
340
280
723
383
200
841
21
869
992
212
722
76
874
821
555
790
23
768
669
874
74
519
553
176
869
527
970
744
477
639
585
650
105
169
295
940
718
907
770
632
548
296
651
420
873
555
937
77
380
158
659
869
589
13
275
626
740
686
693
861
688
585
267
897
369
786
355
867
576
236
528
980
860
768
528
442
807
930
195
696
115
264
798
433
975
759
498
885
639
209
493
388
585
219
694
432
885
685
384
627
714
997
688
665
917
138
240
393
236
82
772
449
509
108
842
403
324
388
144
578
942
743
751
617
943
131
997
175
413
655
237
957
899
346
616
744
409
512
865
320
201
382
416
593
824
42
642
899
266
826
750
962
690
720
326
911
625
430
228
797
0
99
842
253
7
50
281
532
526
133
829
879
535
983
421
924
44
836
25
0
631
304
603
674
483
318
496
750
940
51
307
736
204
378
283
757
341
981
335
482
425
846
50
537
52
184
431
631
420
530
313
540
582
658
952
110
143
975
912
18
780
637
38
793
792
428
676
828
941
65
263
961
64
256
390
7
420
585
449
671
975
669
306
713
980
56
769
335
908
125
809
13
121
118
399
533
661
812
589
929
42
372
761
524
810
146
873
614
247
2
648
537
598
276
272
373
274
436
58
791
883
961
847
966
325
803
304
749
66
510
946
87
699
919
931
822
56
606
371
169
244
24
786
814
664
915
170
624
838
76
952
295
126
696
884
489
209
814
169
9
762
969
646
453
966
965
670
818
849
97
239
817
424
845
895
159
202
937
52
770
708
419
999
641
201
646
990
529
55
239
598
526
340
613
703
945
863
356
754
88
816
672
140
99
885
923
27
440
197
901
367
685
383
895
672
817
880
722
688
473
693
913
571
318
48
559
376
147
920
559
723
386
746
995
428
704
436
66
400
941
531
108
38
63
845
507
27
502
963
42
195
564
636
140
365
269
193
827
174
351
983
222
886
944
916
436
177
580
250
285
885
960
257
385
744
7
885
395
345
823
890
661
324
762
454
67
786
542
908
881
760
994
240
963
118
349
563
797
799
259
404
979
509
647
953
737
281
756
390
562
663
587
210
202
736
159
190
189
2
146
37
19
373
83
709
942
181
216
455
945
575
38
258
211
490
874
104
96
940
721
774
165
270
785
957
978
300
43
398
873
498
503
562
411
974
436
23
947
624
209
101
437
508
578
768
798
134
158
133
26
235
572
670
445
947
707
753
965
403
616
532
908
577
675
646
544
376
969
260
115
977
613
449
579
335
125
596
926
565
300
566
799
81
606
813
784
671
110
32
856
672
447
134
1
967
732
677
394
776
161
502
904
616
312
978
745
975
471
300
20
756
899
751
169
73
308
770
680
445
212
670
859
353
412
681
93
681
291
844
914
158
518
156
77
746
422
10
870
358
241
130
413
918
944
943
451
180
966
269
257
564
331
325
825
233
684
169
341
246
832
832
62
71
107
985
138
447
885
726
879
277
333
199
712
521
577
423
515
575
409
118
478
356
586
597
826
711
190
445
246
277
245
557
133
467
976
658
595
624
311
206
797
272
920
809
327
509
990
262
269
296
675
521
398
81
301
21
524
549
816
135
968
966
795
705
879
994
741
736
304
752
651
94
937
269
272
701
865
417
788
136
256
280
689
954
580
18
92
280
959
575
889
518
176
242
282
282
520
528
122
338
770
866
883
715
395
557
995
446
100
926
713
546
971
364
636
952
288
667
792
423
666
497
866
521
440
102
816
381
777
83
783
980
9
909
265
260
460
940
264
816
362
911
737
721
487
63
117
46
892
656
600
697
539
438
707
164
672
415
642
134
389
264
474
862
823
232
119
4
560
283
344
698
961
543
835
834
150
129
100
936
590
604
435
801
944
263
467
259
648
525
367
995
664
687
59
697
929
326
999
49
800
388
343
294
886
898
418
612
39
660
290
358
878
387
43
622
331
865
783
750
906
239
567
393
256
302
122
795
801
118
516
820
534
791
965
816
767
423
704
34
345
500
523
838
192
370
592
371
548
618
914
132
242
292
181
956
119
947
841
389
423
336
729
855
699
117
550
464
106
259
173
177
976
554
472
717
136
534
16
424
541
365
764
698
76
923
232
240
689
648
19
147
225
127
761
455
140
881
422
470
58
833
741
162
539
561
612
999
322
622
31
121
860
340
68
880
329
719
895
189
575
262
914
690
427
894
100
813
18
601
791
90
867
252
987
708
192
827
336
979
830
328
509
442
940
390
632
577
606
2
744
260
116
286
979
861
868
794
633
79
402
707
457
604
502
819
911
751
679
316
905
597
32
806
745
338
450
667
778
828
696
818
574
822
148
635
812
937
465
338
876
182
696
655
693
612
368
681
492
692
841
222
65
775
613
149
932
323
217
762
267
510
835
659
226
14
837
835
165
666
880
891
533
224
943
888
878
884
633
102
792
755
534
852
758
825
563
590
760
728
451
576
259
411
488
207
554
532
351
547
493
399
601
592
418
155
945
537
860
94
638
215
501
627
127
859
976
47
27
455
181
95
722
413
256
151
405
495
317
996
894
837
608
515
581
179
457
946
978
174
547
953
226
937
416
328
0
935
520
64
545
281
237
689
449
349
851
732
611
585
645
388
406
722
245
622
555
791
503
759
20
656
629
697
172
980
734
815
362
976
890
573
998
376
128
979
956
202
186
142
686
907
32
60
755
715
562
422
172
516
685
938
549
967
767
683
187
627
891
106
912
496
723
680
91
303
388
80
669
142
807
425
79
589
34
993
220
351
721
98
237
615
261
435
690
552
200
821
31
784
905
517
181
737
917
115
454
618
890
312
958
990
799
180
21
835
441
947
37
502
3
658
915
973
197
721
644
390
803
143
146
675
379
565
118
765
829
144
667
902
417
596
226
63
625
861
34
671
955
893
72
305
830
4
283
949
952
715
902
355
325
683
408
271
389
119
961
613
739
665
424
466
700
727
696
524
367
384
490
425
362
531
350
746
880
438
716
545
470
281
932
707
829
345
89
294
173
809
169
141
274
677
799
72
231
948
688
343
494
928
337
70
579
523
124
917
769
204
936
740
750
329
591
176
516
18
733
875
693
274
795
597
645
100
140
417
977
826
122
849
111
965
290
814
911
554
900
170
267
612
115
794
297
72
304
135
22
447
690
529
94
11
871
748
589
559
254
477
646
161
297
179
543
31
724
202
1
541
420
310
36
5
748
118
815
905
978
509
350
98
458
327
407
96
445
390
65
461
406
194
514
73
461
968
31
857
804
779
406
840
674
758
599
523
726
611
134
970
561
392
571
821
585
507
317
182
307
970
708
51
22
427
558
857
448
764
446
869
444
301
446
789
863
829
754
770
839
436
981
809
356
567
535
207
86
335
441
421
381
750
73
525
160
500
613
388
955
757
414
322
578
926
571
615
10
574
261
393
321
658
489
737
191
806
970
955
470
260
991
491
402
833
640
258
26
297
87
405
839
916
191
979
8
736
824
491
111
472
5
968
557
718
456
667
92
267
533
273
958
196
724
673
209
799
958
452
15
720
674
222
600
284
690
647
822
624
263
412
883
992
882
363
684
603
184
834
895
46
638
79
300
859
55
535
896
548
797
445
340
516
221
320
641
842
929
559
512
527
398
981
134
792
102
133
500
410
502
544
724
242
79
166
310
428
388
548
782
930
164
501
454
813
663
25
560
627
702
48
614
27
530
379
667
129
870
319
540
568
201
748
375
140
134
882
575
168
817
557
589
411
155
375
566
761
254
740
865
913
684
251
339
152
420
898
355
218
532
903
779
785
683
581
650
504
34
555
417
592
838
550
687
574
340
546
542
261
332
946
722
626
444
800
775
906
532
332
758
400
959
57
235
695
173
890
60
429
507
725
959
245
425
465
707
199
331
862
566
292
208
179
153
56
25
138
670
143
858
756
820
778
116
218
29
175
573
119
444
399
953
298
534
924
625
915
960
98
47
182
34
819
739
136
579
946
722
613
932
332
57
379
137
254
249
153
424
471
410
835
546
155
708
391
116
276
556
452
493
962
47
216
795
616
505
350
536
360
497
739
853
813
332
790
884
926
185
387
937
453
945
346
222
967
885
274
989
206
484
684
458
802
466
493
215
913
984
161
483
571
666
813
614
878
663
968
982
28
668
896
119
700
503
412
536
980
546
563
818
795
560
738
990
876
908
844
676
776
147
7
670
402
623
219
276
743
161
968
376
660
222
617
814
578
549
162
381
807
15
301
328
924
890
232
495
952
881
942
324
320
964
925
44
977
303
749
65
836
806
778
350
295
237
230
974
473
504
794
245
781
482
105
447
277
44
201
958
825
643
354
156
724
178
576
471
747
257
781
136
459
340
879
650
640
177
184
399
866
292
945
324
285
801
491
535
382
525
894
606
375
975
715
879
611
811
502
149
755
402
933
598
686
5
516
892
971
44
222
4
414
830
970
130
54
925
44
792
526
160
263
540
994
384
795
632
682
848
529
119
988
905
410
630
248
422
196
817
34
801
31
803
230
995
485
954
970
144
181
717
649
880
208
165
323
950
423
372
676
891
680
806
728
362
301
617
817
535
853
341
304
606
673
416
409
691
786
129
917
184
878
139
678
481
320
649
587
582
126
65
159
216
716
658
764
576
647
910
352
961
246
58
900
364
99
49
568
289
310
145
623
329
521
922
918
425
820
872
579
261
437
430
292
507
259
672
72
25
391
59
738
376
585
147
341
732
436
135
860
243
483
487
578
758
76
73
763
257
50
28
861
672
775
351
949
154
764
348
995
743
222
99
143
556
599
938
537
44
75
436
856
589
252
969
709
952
483
167
158
485
912
850
959
333
701
398
32
65
926
636
701
302
815
613
647
732
465
38
991
436
51
200
409
560
993
224
84
549
591
205
9
865
942
100
201
850
105
20
979
424
390
713
576
611
573
695
607
251
315
141
922
356
468
823
807
312
789
287
818
455
55
271
375
513
144
792
625
253
91
993
551
200
29
186
757
541
409
734
227
67
338
286
170
851
514
377
147
315
511
408
796
582
485
482
58
209
413
492
900
842
842
156
570
235
469
240
618
949
473
737
429
103
128
276
555
25
770
985
541
245
479
814
790
611
53
297
817
877
198
834
237
585
657
122
853
681
451
118
721
314
946
80
890
383
966
212
273
637
499
329
348
9
754
859
119
20
677
811
464
754
454
584
166
989
235
925
34
385
555
576
880
327
392
753
461
857
753
704
57
308
237
355
916
261
409
226
832
964
870
449
173
220
676
65
178
47
831
162
418
435
661
743
829
479
996
381
498
102
650
72
35
38
663
838
22
889
406
909
353
146
373
734
452
411
532
208
7
28
112
80
582
974
348
833
6
616
57
913
629
614
896
331
572
915
375
423
871
396
293
256
842
656
634
939
413
946
250
670
595
791
282
773
518
253
811
239
251
41
78
535
664
79
627
916
374
374
15
737
89
446
506
161
561
19
57
92
345
768
156
71
356
471
50
860
704
823
485
149
949
729
417
241
108
194
566
937
57
218
911
924
138
820
999
151
174
883
691
590
328
118
916
901
945
108
354
925
817
362
401
785
391
448
129
616
758
248
711
681
512
419
900
954
506
820
982
954
5
600
808
102
720
462
904
143
624
950
938
22
20
618
330
817
230
83
25
270
659
960
523
852
161
113
400
53
938
208
667
135
997
341
152
12
508
625
15
708
298
917
976
727
175
680
320
887
103
1
87
471
771
474
487
313
667
160
140
225
844
216
776
806
657
670
221
122
74
160
815
667
604
766
756
503
576
940
758
83
349
461
268
931
591
520
639
374
215
7
819
551
261
640
73
695
952
541
609
168
689
430
966
78
344
606
170
697
494
843
560
901
10
992
851
90
168
791
11
220
38
244
70
986
974
369
698
706
726
957
151
444
574
63
261
95
970
931
682
691
318
489
958
949
158
734
518
549
990
422
431
129
581
694
825
188
53
600
48
753
101
835
373
221
143
442
72
747
905
42
482
120
918
287
693
948
596
753
284
984
914
442
51
363
344
50
835
23
374
370
648
156
559
539
17
818
207
758
85
876
255
554
758
975
502
296
404
809
530
111
30
162
236
870
192
983
620
61
496
316
552
310
747
492
825
520
807
112
933
256
476
203
301
677
343
560
243
521
292
426
436
152
382
728
838
468
201
741
995
401
920
555
325
273
589
63
447
418
416
850
697
799
325
690
286
898
21
944
312
51
30
667
973
926
912
559
813
800
561
670
123
777
711
858
310
277
807
204
304
500
794
911
581
958
436
608
293
676
805
71
18
984
853
638
350
720
115
190
642
971
463
675
229
945
832
971
485
615
297
729
429
692
973
754
750
881
310
150
939
40
640
532
786
543
255
771
947
261
460
394
513
393
370
414
939
407
173
808
792
591
490
939
761
977
508
672
584
857
226
756
124
695
615
683
569
933
636
693
151
700
503
266
272
903
219
403
336
600
176
558
936
744
70
813
848
295
890
321
840
346
924
422
795
846
143
293
607
241
623
32
221
493
597
389
24
379
222
190
268
318
904
906
746
684
662
401
704
719
767
506
501
693
127
977
681
808
493
307
318
653
620
951
226
192
355
814
541
972
953
688
999
881
788
866
258
942
250
390
226
107
367
279
526
273
215
189
8
380
301
636
736
5
605
289
357
966
63
224
155
313
218
106
689
739
183
95
799
808
436
271
715
40
713
684
582
325
513
727
432
483
442
195
324
430
168
729
409
28
958
656
701
647
870
1
697
457
766
700
216
839
606
418
797
725
122
819
477
75
37
883
684
831
947
832
858
986
918
306
608
841
285
303
855
438
46
813
880
75
816
419
768
445
276
362
131
803
774
858
672
288
37
560
526
104
22
263
201
223
559
876
563
64
689
904
429
730
451
627
266
668
488
989
361
45
727
550
47
663
983
641
951
896
606
192
963
448
731
1
811
532
449
983
1
280
582
671
714
155
196
584
41
475
270
427
340
850
276
266
323
402
926
194
577
493
733
285
358
491
921
382
436
276
138
56
529
373
134
759
591
271
839
622
480
986
4
69
431
644
245
232
821
664
804
440
908
234
645
959
613
786
221
102
160
941
807
288
80
484
951
946
577
770
586
792
67
17
503
974
609
874
269
87
349
24
241
232
168
643
642
236
278
46
889
775
940
819
471
898
327
277
267
658
737
355
23
15
158
570
128
209
206
685
439
691
901
656
266
225
280
449
326
402
869
847
869
684
454
14
104
889
362
977
991
709
621
516
131
947
553
206
283
938
276
701
215
290
355
908
824
232
740
209
408
490
344
329
90
431
518
715
241
288
266
563
503
439
67
252
613
445
288
178
535
389
629
132
277
181
624
849
855
31
981
975
459
601
944
980
56
444
688
163
140
497
239
846
283
678
963
250
344
639
949
200
4
385
884
465
335
126
142
120
508
267
984
617
795
595
699
93
355
369
217
200
640
260
103
324
887
448
179
710
278
719
864
822
125
671
536
675
300
35
760
50
146
830
999
448
107
632
399
980
1
737
243
412
343
206
405
772
147
610
861
966
457
129
942
959
564
874
648
829
398
366
732
997
436
277
647
865
530
570
429
429
167
360
619
287
819
714
264
323
689
873
549
894
133
195
595
101
581
302
58
270
948
406
929
956
42
646
828
399
531
382
291
409
286
212
472
8
868
764
713
231
827
632
34
982
65
133
118
560
121
130
983
520
75
999
964
997
564
317
895
163
384
708
802
762
853
49
868
846
512
659
97
514
854
139
581
684
552
409
730
764
972
415
760
605
135
977
191
749
196
215
377
329
864
207
759
409
781
771
61
550
437
675
485
246
220
221
228
298
517
597
497
216
46
599
317
289
788
731
353
348
539
778
496
121
543
375
975
930
59
981
297
746
913
365
828
370
260
181
0
568
962
980
620
24
290
332
434
600
664
865
956
65
288
125
691
721
441
67
865
518
721
310
660
301
998
38
18
918
510
639
594
172
591
769
788
421
593
937
729
910
487
709
502
216
475
799
170
998
489
278
979
61
33
484
253
487
907
806
439
959
975
71
310
724
741
846
837
117
981
728
292
524
232
70
361
797
601
243
875
431
514
186
203
603
774
839
527
162
286
337
257
977
421
792
106
682
237
892
245
575
540
935
186
247
810
545
93
154
170
202
32
509
494
437
441
667
946
959
508
22
813
688
945
203
68
384
503
260
990
585
373
305
850
256
530
817
573
281
125
352
60
931
739
675
798
478
595
778
300
484
693
278
225
971
975
189
52
383
845
44
936
59
683
460
507
69
852
377
768
28
775
470
759
786
414
121
849
884
308
337
291
502
483
415
193
384
978
834
817
309
177
48
535
152
709
262
610
641
742
960
278
180
175
166
276
514
741
612
764
397
633
495
835
704
994
785
371
366
323
144
480
348
637
911
337
74
93
481
998
285
406
193
990
415
579
790
42
826
393
245
154
503
296
776
479
233
84
81
348
102
478
371
895
281
346
302
762
458
762
131
590
174
254
50
750
895
80
665
888
150
901
299
896
638
741
744
82
739
891
865
303
169
253
77
335
737
181
450
772
550
117
643
488
115
767
477
878
522
640
322
509
396
788
554
529
516
132
772
222
522
67
916
691
159
168
593
233
577
778
172
474
678
685
622
641
728
643
778
254
241
667
550
445
384
826
144
409
541
306
176
266
815
966
8
797
207
834
629
501
383
618
755
860
121
425
137
956
960
979
919
198
7
540
36
365
55
851
790
314
455
154
161
800
9
732
597
34
151
640
65
160
59
174
576
194
954
665
463
616
807
908
821
325
704
643
499
696
73
625
887
593
339
881
550
136
878
803
868
387
187
325
49
618
917
125
655
700
116
8
578
169
699
852
350
556
577
584
329
360
549
87
256
817
181
217
711
952
947
748
320
496
608
208
400
703
237
991
454
146
874
791
474
250
112
732
667
4
11
725
964
472
63
177
437
272
524
467
872
370
819
566
215
75
295
84
25
182
55
634
453
238
380
804
292
376
253
373
910
57
133
175
717
775
352
53
922
954
34
129
215
20
213
815
888
866
949
524
519
752
857
189
713
686
412
313
411
519
219
153
103
474
170
374
491
163
465
287
711
969
539
489
217
222
945
623
46
984
577
780
168
150
463
315
801
297
680
699
572
685
744
469
956
63
300
269
870
806
922
445
484
708
25
145
322
144
921
116
345
716
203
737
796
397
655
932
883
513
893
405
587
29
662
80
693
421
926
729
601
927
718
433
392
267
109
846
274
472
261
16
958
635
885
878
657
970
13
752
13
248
145
392
470
329
81
587
949
16
400
98
527
392
521
468
719
0
850
646
570
330
447
74
221
729
850
833
779
416
793
731
780
934
869
362
635
702
566
147
229
939
328
985
960
724
942
522
503
19
190
705
852
668
399
467
114
471
644
5
322
960
910
453
500
938
60
901
733
235
441
350
803
174
496
818
160
505
338
426
465
434
283
126
437
631
108
375
593
925
157
993
623
413
252
541
90
184
995
478
138
525
797
890
904
150
383
717
612
560
502
115
791
86
319
885
957
540
418
462
729
897
505
365
312
216
717
740
651
795
989
550
230
449
782
608
17
189
965
375
121
123
589
754
928
438
256
90
32
255
771
644
902
662
30
365
803
792
21
931
390
755
171
399
453
580
676
264
52
908
37
333
1
865
361
561
448
106
404
113
999
455
313
740
455
684
557
596
729
773
264
909
30
113
739
206
627
807
531
790
505
441
699
636
9
720
47
277
635
186
523
63
485
533
25
532
291
809
854
381
436
888
35
542
317
443
189
252
219
366
338
665
852
836
231
219
803
126
198
199
718
625
197
737
792
390
443
898
217
0
913
297
795
509
328
627
84
628
259
953
42
530
425
628
672
511
822
751
286
546
447
577
748
738
315
686
237
495
645
166
143
58
449
501
930
802
443
150
976
174
776
606
215
227
795
904
284
969
838
472
321
536
75
522
764
665
40
813
435
686
38
70
180
791
801
119
664
819
540
598
40
351
961
331
992
303
709
651
747
224
267
626
602
758
208
837
714
910
387
388
796
851
36
758
193
41
568
758
431
990
129
910
441
872
667
667
390
228
457
179
677
669
801
267
247
827
535
482
86
460
112
636
199
801
811
993
499
390
39
116
860
433
586
677
193
156
532
431
375
722
161
737
672
360
82
979
266
883
648
268
724
825
117
796
97
776
359
209
483
489
720
421
656
136
59
45
443
553
708
564
764
960
324
695
66
413
710
879
160
220
990
975
759
255
913
972
900
904
489
999
447
863
927
235
880
539
10
687
276
606
450
99
296
154
309
570
887
158
28
233
138
462
452
450
392
533
935
274
941
568
104
231
799
846
667
791
454
482
318
741
392
933
473
283
16
258
92
847
297
825
607
670
975
740
401
634
187
509
336
699
897
493
496
199
277
864
523
596
626
747
274
524
779
830
787
15
504
418
357
942
690
18
421
322
452
431
979
310
888
639
223
737
752
410
14
704
160
275
815
741
485
67
630
795
495
918
567
965
486
362
538
66
677
805
858
485
833
645
60
500
500
843
183
634
570
999
73
151
419
81
677
300
358
93
495
389
591
720
959
214
761
838
937
979
132
715
304
817
454
172
70
530
880
880
563
172
801
257
212
870
429
737
750
921
603
530
87
976
843
642
743
296
156
253
644
338
445
72
59
436
63
925
958
8
532
963
931
477
469
966
553
660
53
554
189
110
792
188
219
893
152
911
997
257
607
912
379
870
38
491
192
232
661
365
795
69
281
148
25
962
52
217
868
724
835
307
655
59
866
10
117
58
810
69
556
999
788
352
733
613
354
65
809
11
474
975
61
421
13
924
986
308
831
391
43
568
871
209
304
730
705
740
295
375
302
829
21
596
692
65
888
608
830
180
462
955
618
180
954
182
361
799
453
193
887
91
219
299
523
72
620
619
764
919
822
279
827
693
989
242
55
452
684
626
976
816
230
44
851
779
672
513
115
296
731
592
614
261
19
750
991
738
366
48
262
962
451
269
191
942
132
402
743
391
872
744
413
42
3
272
997
950
176
63
677
756
697
441
826
581
702
294
185
162
103
723
257
945
777
18
893
349
819
824
129
609
704
490
656
390
579
736
239
620
532
804
323
975
39
81
100
542
667
817
853
67
840
398
273
954
875
586
899
489
146
431
661
4
720
309
258
138
902
227
743
724
66
317
915
43
98
382
29
506
360
377
684
604
268
599
910
352
267
713
380
965
863
757
457
638
142
893
978
105
909
820
127
914
446
761
386
781
735
192
760
812
563
149
86
184
836
163
259
896
394
744
905
109
48
681
617
479
529
951
371
890
618
832
746
312
27
807
937
217
900
789
464
572
804
103
553
285
161
621
653
868
322
731
652
463
588
679
62
822
638
730
196
189
981
9
902
827
510
303
834
142
844
199
805
924
238
958
181
842
864
53
922
864
438
26
330
601
339
447
646
289
948
464
640
536
3
359
477
966
906
822
89
886
235
289
531
176
257
532
286
296
590
294
385
470
314
437
403
818
162
820
853
156
786
559
145
92
998
440
5
948
537
746
682
940
689
958
330
101
341
468
841
424
855
354
294
441
191
314
407
336
27
833
680
529
546
364
114
99
692
591
910
119
469
524
960
198
718
252
574
338
978
292
445
150
192
220
941
373
810
435
841
478
971
380
728
427
248
359
10
961
202
709
303
932
430
851
397
789
414
839
909
19
788
528
280
950
128
927
450
496
244
959
472
724
480
834
77
791
644
93
517
888
22
183
437
615
213
762
822
313
962
590
149
290
353
168
779
585
292
646
254
696
605
86
11
396
430
709
977
955
467
941
967
168
446
390
386
209
975
361
488
154
740
889
997
367
884
57
285
502
935
901
635
215
741
221
790
606
942
545
48
950
94
257
681
112
167
16
652
958
336
378
780
274
255
501
848
719
192
474
182
899
616
595
29
433
756
671
859
236
10
165
591
222
293
524
441
937
182
376
309
316
249
98
100
998
478
438
932
97
750
682
751
369
109
45
845
321
762
513
82
17
157
242
499
146
83
94
858
434
44
715
870
453
922
787
773
996
272
569
477
841
356
928
928
677
797
284
668
509
380
990
457
456
365
59
285
598
541
692
510
484
207
114
740
484
445
809
628
684
177
22
541
625
321
887
14
840
744
755
760
607
809
818
980
697
824
974
444
655
890
388
381
199
391
597
336
872
785
26
52
684
981
681
177
226
243
367
315
545
413
242
129
464
873
795
160
416
419
8
306
340
960
429
431
924
777
60
647
678
968
647
485
665
776
2
825
944
256
268
667
686
946
6
279
586
61
758
337
540
824
919
324
662
459
301
166
40
981
66
735
980
311
571
134
463
807
14
393
697
58
774
474
762
154
499
489
792
24
360
409
355
524
847
656
823
424
133
441
930
278
511
554
745
785
882
384
921
563
316
295
127
135
632
625
181
105
179
461
612
451
58
167
846
486
472
509
495
104
978
61
951
683
613
63
343
374
823
806
777
206
963
764
366
544
378
465
398
382
257
679
932
402
783
420
428
865
641
297
506
407
688
941
414
241
576
134
946
5
509
700
442
456
615
183
264
887
113
377
511
179
519
44
908
14
392
275
607
86
521
757
89
910
365
547
569
561
641
157
1
983
373
770
955
788
958
869
341
918
654
257
851
360
397
485
795
286
431
414
986
903
860
312
384
906
845
528
362
787
3
203
939
799
719
635
859
356
73
463
751
484
621
806
883
925
282
756
292
231
559
951
617
102
738
39
632
636
427
221
303
162
649
213
982
841
589
757
70
592
725
5
661
92
9
508
999
726
420
473
579
239
843
473
434
933
163
507
701
698
6
316
559
353
814
325
654
113
460
709
633
829
121
798
225
160
757
926
779
927
105
466
454
937
842
52
135
522
738
851
384
743
741
235
882
44
3
328
820
546
432
186
895
439
995
256
478
155
418
2
193
538
521
615
446
133
985
692
305
984
744
879
727
373
621
22
682
32
534
43
537
225
826
49
803
276
66
695
977
675
535
13
111
860
685
83
67
347
803
655
924
112
699
134
132
647
743
8
487
322
702
732
628
639
716
358
764
851
639
465
287
210
943
617
846
416
862
748
95
611
929
468
104
922
310
984
59
63
823
422
31
986
580
663
814
189
643
841
815
677
286
500
184
113
532
214
913
472
165
771
832
374
814
789
194
101
371
644
738
579
897
741
657
13
187
116
464
174
591
104
117
763
421
705
596
215
555
287
156
532
311
393
798
349
188
122
369
295
168
965
222
494
964
567
699
605
53
693
471
673
940
625
662
149
243
821
492
470
680
756
742
1
2
366
558
870
169
221
703
851
864
117
287
191
796
356
346
474
217
351
761
79
206
128
24
620
668
480
721
958
152
830
291
599
916
43
552
603
915
372
120
341
661
292
328
601
790
727
38
160
373
354
202
902
14
943
11
407
443
943
553
230
622
535
908
630
380
291
212
50
265
34
737
941
363
729
116
94
465
648
594
990
182
880
323
706
324
109
317
422
596
682
90
109
321
529
556
382
878
295
373
721
308
859
488
592
875
208
583
646
309
811
932
18
275
984
899
846
652
849
983
905
701
49
930
965
756
950
332
314
465
977
638
300
775
908
710
974
614
834
421
20
772
280
388
497
592
849
515
117
484
930
102
428
988
518
614
425
571
891
115
639
955
807
764
388
959
411
736
311
168
509
805
971
928
664
952
441
866
763
429
939
466
574
850
68
148
987
182
216
303
912
397
230
39
471
397
936
591
798
400
58
849
227
516
500
26
31
250
632
361
435
708
988
435
243
162
929
126
987
920
168
923
332
711
785
938
535
853
660
183
634
284
441
583
785
770
421
112
709
240
267
190
955
333
572
399
38
583
655
420
558
926
67
181
193
809
791
41
744
526
629
15
960
812
408
744
53
217
912
976
635
329
671
429
25
703
130
920
802
290
101
464
698
598
438
310
957
628
825
932
206
203
666
395
434
70
518
841
277
958
122
540
898
802
179
15
471
808
529
957
627
920
917
654
493
214
966
805
805
387
641
656
385
208
590
434
885
847
800
591
223
547
573
901
487
152
694
548
443
604
537
849
243
799
87
430
121
985
951
653
793
267
647
752
185
540
575
262
186
338
155
267
775
636
939
175
330
35
879
583
580
907
519
984
526
429
256
71
573
292
752
345
597
142
65
494
47
15
818
68
92
272
612
10
737
106
537
873
831
622
286
199
478
155
307
400
881
149
980
936
180
275
154
815
405
344
760
670
489
785
337
249
142
868
186
441
41
284
361
875
555
462
790
838
920
187
30
681
784
737
831
371
430
576
652
915
908
294
254
554
918
84
395
72
781
518
692
918
728
869
274
189
725
530
815
819
434
128
429
990
966
836
312
49
772
219
645
300
851
356
318
470
119
990
867
849
254
609
61
211
490
539
340
277
161
439
219
656
739
20
471
733
900
317
167
423
328
202
824
903
318
38
915
191
561
162
893
653
887
563
802
486
879
426
742
834
651
884
226
800
371
778
141
265
368
662
926
543
645
567
860
309
717
276
789
181
390
492
869
561
836
941
861
588
888
575
894
738
527
156
221
910
636
968
290
778
557
140
520
128
575
475
859
126
821
839
215
910
233
688
649
401
555
381
732
144
135
985
64
619
580
378
310
757
883
578
692
156
384
613
5
973
262
817
274
1
997
735
506
810
84
644
93
844
806
451
308
520
594
937
577
679
292
238
262
170
196
998
340
845
333
26
68
956
95
89
919
921
802
79
301
264
704
922
807
478
28
646
956
663
517
209
916
426
33
910
309
427
380
798
906
138
299
688
997
666
184
878
748
251
398
368
888
104
844
12
674
977
971
197
123
394
89
637
813
58
839
392
509
987
805
474
668
983
968
171
199
739
142
179
947
746
929
799
36
366
815
199
995
272
594
822
80
863
710
572
348
625
409
762
615
787
982
560
775
705
877
624
235
670
224
10
600
610
270
362
235
615
317
754
159
490
549
132
717
230
324
493
58
582
276
767
117
341
939
665
344
201
439
103
151
122
492
395
646
472
782
605
26
635
105
213
352
520
101
634
663
667
668
498
808
975
842
615
654
858
190
29
349
417
472
380
973
26
990
583
272
452
713
403
978
648
615
267
991
622
673
727
91
804
383
723
891
806
850
414
321
95
203
475
528
823
981
70
538
903
765
194
249
246
848
386
104
89
601
263
420
887
388
495
206
594
666
911
590
500
847
876
995
968
89
284
920
381
999
962
536
134
74
267
122
422
715
806
884
566
489
718
768
547
104
906
315
609
366
18
499
29
524
932
75
168
710
999
381
247
150
862
427
727
206
552
337
717
259
995
169
892
315
248
367
369
635
386
973
157
689
997
476
7
384
578
315
714
983
573
446
76
776
544
725
591
223
416
871
320
349
869
800
261
649
315
132
83
953
462
962
375
891
231
55
3
769
314
946
634
229
106
767
672
204
358
723
359
808
562
544
573
881
676
437
40
384
165
643
926
535
65
724
190
119
139
216
66
550
396
167
859
490
427
320
739
91
931
930
241
92
494
385
445
407
524
649
752
675
138
204
944
729
731
894
738
400
115
651
4
259
335
497
631
165
82
365
99
844
484
442
571
302
843
201
431
606
622
938
581
590
471
120
614
848
809
148
918
557
925
16
631
991
576
915
847
626
410
842
393
138
464
23
952
172
137
550
100
859
457
996
92
960
69
140
203
224
800
132
481
383
443
301
571
925
432
808
481
944
772
2
283
33
212
465
645
997
580
708
567
695
720
170
515
540
915
211
738
398
896
749
241
350
451
787
335
158
105
865
774
590
668
282
195
143
185
973
739
837
865
830
784
422
291
168
212
80
657
619
794
630
461
836
619
401
543
81
28
275
52
43
587
649
208
872
58
957
320
566
428
918
270
635
709
224
754
221
751
829
91
593
377
296
843
127
892
402
385
875
394
520
366
567
98
546
845
408
942
32
41
49
832
68
364
110
189
996
565
476
933
653
443
291
91
86
95
219
195
803
75
24
163
598
403
630
337
886
188
681
731
394
156
627
357
877
573
785
848
515
331
182
726
838
89
999
164
237
929
264
824
596
304
575
909
449
772
955
47
930
231
653
273
452
845
216
466
196
447
382
39
653
171
875
872
122
639
69
395
0
957
936
548
177
607
498
773
166
525
323
444
884
916
635
521
404
500
782
364
85
338
189
72
554
411
374
91
879
759
759
927
49
145
883
574
662
293
515
867
294
678
937
587
225
389
871
444
228
605
859
557
557
691
638
832
14
994
930
637
205
646
769
809
992
405
476
837
512
78
551
562
642
417
752
538
912
232
389
161
659
423
987
9
663
763
690
599
912
453
69
388
165
578
708
564
993
141
858
219
454
982
144
296
817
221
933
173
889
978
239
91
58
531
553
189
192
614
402
46
840
457
157
5
656
876
211
908
379
148
684
274
283
187
394
472
611
312
221
112
702
729
296
525
820
357
985
691
9
412
988
510
879
969
813
77
771
878
454
951
51
352
487
782
623
549
559
205
650
261
106
9
65
637
797
659
352
284
80
461
705
250
878
880
961
452
10
815
580
379
665
573
17
880
419
65
105
157
575
371
255
216
277
732
332
419
763
910
135
609
738
547
600
588
99
463
864
646
487
405
418
808
439
95
348
516
885
663
749
959
245
284
543
976
488
125
857
581
738
445
977
658
440
279
12
362
321
167
182
375
220
599
515
11
86
48
740
203
390
924
891
308
967
50
691
758
970
39
568
215
407
660
147
793
800
728
146
334
200
934
552
937
758
85
201
326
181
373
692
53
49
723
549
531
22
733
496
876
950
1
227
359
151
692
957
749
281
945
995
787
367
655
366
524
24
395
103
921
163
756
534
220
674
361
404
599
316
434
616
203
542
386
696
885
121
886
708
373
637
309
796
519
667
542
311
212
744
384
214
759
48
530
412
538
973
668
221
836
256
187
353
913
941
91
341
337
21
63
381
51
8
583
440
431
347
336
928
874
157
724
600
716
461
8
179
442
488
481
222
900
949
594
696
316
831
925
5
192
651
721
870
732
73
765
966
5
809
693
205
269
963
253
582
530
294
908
954
59
421
840
512
708
420
67
918
992
940
614
302
939
815
336
476
669
502
147
356
162
447
106
311
48
7
692
573
64
557
518
710
587
38
239
701
883
964
340
658
33
920
938
286
671
899
948
789
769
916
770
83
356
79
300
75
285
674
98
569
409
311
756
869
598
860
166
663
624
701
227
940
260
947
43
123
940
769
910
339
802
414
991
581
627
58
360
696
573
401
649
750
450
447
920
909
318
863
108
909
518
845
335
996
764
787
400
145
129
152
615
949
637
400
684
639
164
165
600
964
275
716
264
117
715
325
278
290
333
546
129
859
330
79
700
701
517
907
320
959
102
200
75
158
860
881
358
16
585
740
890
469
155
298
871
920
143
689
964
960
49
105
263
429
536
190
241
848
664
199
937
547
353
91
942
42
944
835
482
445
509
741
802
426
984
393
836
232
685
711
919
796
349
289
619
613
692
954
249
21
315
214
401
237
625
934
150
219
388
480
740
972
324
653
751
453
948
284
678
856
121
536
102
498
518
933
773
448
459
890
18
551
521
798
701
454
728
177
159
903
186
610
957
863
917
665
796
424
797
298
242
989
401
613
608
854
519
880
758
185
159
314
456
333
552
582
245
675
201
655
316
853
337
74
751
815
457
13
563
677
99
892
852
311
105
399
19
795
459
234
272
818
225
788
104
942
897
810
302
277
409
196
84
467
195
199
185
391
728
794
326
445
670
187
373
985
449
350
927
868
918
777
419
329
980
643
691
692
352
52
871
307
397
442
101
753
319
838
853
708
609
258
682
958
340
824
292
114
759
149
519
620
747
986
206
673
645
933
63
356
793
447
10
772
30
276
905
641
49
554
746
810
760
806
220
81
899
239
799
821
553
478
336
207
79
392
76
100
206
947
836
86
486
916
186
828
452
896
361
27
226
494
758
649
696
896
403
717
613
38
335
144
355
390
841
221
947
627
635
963
492
774
199
997
150
216
53
285
357
992
912
502
695
613
29
763
172
72
105
688
763
45
469
229
615
663
693
832
61
217
495
446
46
163
566
511
197
4
748
421
136
398
978
211
918
421
150
649
879
579
78
823
882
552
875
610
407
206
379
616
215
616
793
131
557
808
22
319
675
26
760
333
633
977
112
641
626
859
578
920
902
715
359
179
985
899
110
676
40
589
802
496
755
914
972
1
209
682
720
584
900
854
256
879
108
559
441
226
651
884
900
304
478
474
68
885
180
537
597
972
234
615
807
944
650
890
599
864
532
464
82
211
975
532
464
982
287
241
360
5
63
275
991
147
943
577
650
202
726
28
214
148
859
612
619
992
637
736
92
801
65
536
665
585
171
112
299
526
502
383
220
671
168
363
739
259
708
927
52
134
885
387
180
937
868
207
223
827
257
368
492
168
217
164
94
70
624
598
670
611
521
963
943
194
848
452
195
96
254
793
346
874
164
569
633
432
179
519
528
568
133
503
658
205
759
427
399
544
626
243
60
482
770
109
609
370
22
896
594
171
327
587
857
352
392
887
329
967
424
480
940
724
439
63
396
872
424
108
281
222
280
327
295
280
863
895
147
666
484
829
186
866
641
544
5
982
108
802
357
259
895
374
485
978
564
558
774
788
650
996
831
939
49
111
73
793
412
649
655
990
930
786
512
650
107
755
229
191
18
13
745
400
477
740
784
74
176
350
602
774
647
149
165
447
747
119
384
483
556
592
302
808
475
835
188
506
390
40
220
215
188
852
295
1
221
774
511
677
459
813
717
610
834
382
292
290
789
256
557
105
125
436
512
939
271
646
470
42
26
787
986
464
309
39
282
207
803
130
32
37
650
146
271
480
822
410
620
796
984
51
302
868
4
158
832
321
473
194
589
99
310
669
26
82
478
960
973
78
325
655
419
681
633
721
698
701
611
108
452
617
560
441
845
635
399
379
343
571
640
746
834
804
849
341
358
594
960
120
564
785
917
659
871
440
450
438
186
420
429
492
721
375
966
690
845
866
308
659
562
17
115
481
12
269
428
864
874
546
608
560
445
874
578
256
966
292
483
536
991
836
852
185
743
531
109
626
578
146
295
512
952
557
775
933
484
470
197
861
219
664
727
991
294
791
155
572
313
705
212
926
733
391
423
590
828
126
0
200
218
170
979
957
335
751
294
297
687
799
432
203
12
775
470
753
420
708
886
655
271
219
570
587
205
947
460
199
73
773
902
564
596
558
213
98
171
472
175
282
614
340
989
337
376
542
908
160
793
78
989
219
298
406
58
797
71
214
911
396
150
889
896
613
14
221
425
236
436
124
4
467
946
233
300
829
619
904
704
618
49
580
430
687
771
500
484
832
1
300
73
315
537
85
157
169
762
948
243
702
60
637
506
278
134
478
506
300
385
912
555
870
498
740
193
107
86
708
287
334
373
133
397
591
458
749
156
866
378
308
728
456
367
845
468
8
861
347
217
748
394
773
573
469
525
788
436
7
680
846
641
34
703
119
503
863
122
229
757
206
748
312
929
43
678
426
526
732
470
895
174
206
214
138
183
342
517
301
344
361
850
875
701
386
817
702
704
98
763
563
527
731
676
989
417
115
602
818
484
237
288
566
387
792
782
51
535
629
429
593
350
731
93
998
371
63
310
208
267
789
392
335
384
375
51
518
411
713
197
591
269
658
506
261
478
162
898
4
543
742
292
491
332
385
319
713
658
87
487
216
325
236
817
569
781
918
861
835
166
537
902
732
57
246
205
805
23
351
900
724
437
608
985
782
968
880
276
740
121
81
729
91
372
207
264
265
45
79
953
755
696
874
580
657
177
422
322
606
301
619
519
532
89
469
585
455
646
328
54
568
377
57
111
296
319
814
654
147
11
176
630
676
982
626
893
450
249
599
751
494
978
250
215
646
850
760
854
815
265
307
981
233
656
758
304
512
149
413
117
31
404
57
653
460
625
157
927
824
556
377
535
452
406
388
401
185
478
673
714
128
839
911
986
961
622
254
305
658
989
331
611
995
703
625
948
211
267
161
973
352
191
826
529
652
918
257
455
800
492
374
327
343
698
226
416
174
59
619
393
604
512
217
795
355
568
44
148
735
533
850
173
745
638
983
648
661
11
440
447
712
282
702
763
52
40
983
245
317
600
957
411
116
315
987
198
380
41
724
944
985
917
703
468
175
68
236
299
691
903
121
703
634
323
457
304
919
934
261
561
421
121
188
80
899
341
549
520
349
930
959
814
106
563
473
145
66
542
361
277
499
577
203
963
438
345
63
698
166
862
871
210
678
448
598
864
298
998
772
760
124
116
786
714
279
658
360
280
531
35
948
915
79
139
867
688
718
144
905
224
270
747
794
864
400
713
182
25
622
912
694
968
41
273
257
723
640
741
57
185
985
903
351
894
845
829
328
629
739
843
79
38
370
725
150
384
233
165
974
441
899
955
37
393
162
346
561
670
771
982
354
503
759
336
866
782
175
981
437
317
613
763
608
47
826
241
742
137
845
239
739
407
894
968
516
74
717
733
688
762
241
707
772
124
3
967
487
960
400
980
489
561
595
546
188
331
913
944
623
334
849
81
735
164
599
452
157
991
805
93
560
316
702
643
572
298
434
258
178
51
104
266
977
336
835
269
878
717
885
848
177
228
462
323
612
109
735
588
365
860
747
804
404
708
351
33
257
301
579
892
234
247
79
299
687
542
768
793
872
949
80
278
719
73
168
215
318
352
877
629
428
448
575
445
160
852
342
810
648
483
870
403
911
4
841
178
927
79
393
280
280
581
970
265
425
748
87
599
60
409
840
163
877
186
127
415
14
562
898
667
58
216
536
384
475
233
178
797
416
425
865
335
383
198
370
928
269
992
868
544
193
312
317
39
287
679
440
95
473
462
133
646
503
24
449
446
435
867
303
882
96
579
724
670
733
284
918
900
695
497
415
308
252
889
915
817
995
221
248
722
906
111
529
957
531
383
541
24
950
156
307
403
109
147
210
83
218
740
986
523
479
902
684
514
749
376
413
3
989
681
680
516
389
812
181
453
864
743
755
644
924
52
228
703
371
512
965
321
624
740
112
682
594
166
983
653
398
285
288
160
962
639
266
923
825
867
21
865
785
718
594
205
920
328
644
313
952
473
286
141
100
653
218
343
468
830
717
966
225
974
261
896
969
460
959
29
111
650
49
93
31
324
549
793
957
738
848
903
954
746
112
968
817
668
899
602
787
843
220
543
260
203
278
564
6
555
292
833
950
256
610
493
852
748
692
518
524
236
636
237
983
683
812
920
310
371
681
192
450
409
109
787
592
718
370
973
909
618
558
135
381
423
53
733
713
389
111
780
690
344
353
630
607
252
673
765
678
21
656
720
182
255
866
344
514
476
323
535
240
839
21
679
74
47
987
539
493
655
911
805
88
9
684
591
189
50
488
140
750
512
110
330
230
75
635
231
504
470
653
5
134
935
854
585
67
770
804
799
879
543
855
20
647
106
965
83
57
532
9
931
406
234
558
419
630
324
905
652
821
192
765
296
368
593
315
399
769
641
609
648
84
763
668
925
856
595
66
259
252
3
505
958
263
224
525
836
141
992
752
38
733
949
144
720
901
129
897
67
527
656
832
225
251
385
877
408
673
951
982
330
425
247
488
249
566
449
482
853
558
18
38
987
281
338
410
153
669
714
67
572
229
478
918
44
18
842
417
67
300
370
537
971
962
858
860
221
553
541
233
143
774
395
275
92
321
973
746
994
845
469
919
96
120
554
778
964
974
129
404
778
649
756
995
809
403
217
349
297
157
878
790
50
934
658
318
976
766
414
890
513
214
978
485
551
876
680
87
153
535
681
438
849
773
204
803
984
449
57
842
81
325
356
498
882
501
970
801
949
99
512
325
18
826
76
324
238
1
937
5
935
633
719
69
11
856
445
497
429
647
251
316
456
27
272
489
884
585
111
96
182
585
177
125
570
160
771
54
11
689
414
459
225
709
782
339
291
51
120
121
35
626
205
322
568
717
857
230
957
283
919
521
910
516
762
912
47
903
914
633
216
439
988
644
895
324
59
963
347
20
466
895
201
934
123
163
205
829
900
416
175
341
593
400
510
143
228
995
321
546
142
127
215
97
316
638
233
493
211
503
425
199
577
247
394
711
831
273
293
661
927
720
316
192
467
818
971
1
295
221
632
516
65
312
692
522
88
347
230
545
250
389
259
38
419
525
480
45
376
61
102
530
268
39
591
599
629
334
302
611
409
147
863
309
501
335
327
162
727
34
774
394
759
95
492
828
34
207
417
398
258
736
146
143
605
92
676
388
811
122
473
860
171
858
607
58
421
708
428
294
920
763
710
855
556
655
825
632
428
134
528
292
57
901
200
377
934
816
900
671
107
656
89
946
404
889
450
757
704
498
944
754
243
265
556
150
950
247
472
137
237
127
909
192
152
823
976
999
944
390
389
724
51
366
913
789
73
664
170
40
237
226
138
628
826
801
771
544
338
347
680
768
540
272
889
842
160
320
403
824
63
346
305
909
371
821
638
578
240
230
85
997
352
36
95
539
289
699
897
673
659
737
841
522
935
102
432
28
352
152
805
185
452
852
696
335
334
933
341
1
834
875
605
350
58
318
659
161
545
719
607
425
998
380
271
704
984
611
20
49
471
868
752
158
240
411
868
693
658
294
113
826
710
563
440
812
519
559
463
855
662
158
458
901
231
410
962
583
963
344
519
838
65
697
661
813
87
931
975
802
401
831
445
659
625
953
851
915
981
354
777
60
106
283
179
18
980
181
755
672
90
265
442
592
267
232
506
657
566
101
569
735
451
263
152
797
333
409
740
464
999
435
255
603
179
174
602
443
505
276
848
331
940
134
195
710
714
645
880
289
813
616
411
419
733
682
281
138
505
952
569
245
40
157
22
487
472
912
685
996
624
312
194
239
552
518
994
557
524
487
845
503
608
902
795
537
460
38
235
654
244
891
988
900
973
795
338
866
328
967
340
326
793
80
850
763
257
746
231
549
410
349
660
131
182
859
344
219
610
103
486
424
428
89
597
411
252
401
556
663
38
117
205
716
657
479
384
73
169
937
157
150
945
229
789
692
856
284
606
661
276
544
718
485
201
63
888
26
252
581
767
389
366
777
573
1
0
260
187
711
383
490
431
435
684
611
106
517
287
852
407
890
874
506
555
455
635
985
764
336
858
908
70
827
939
178
680
248
621
172
436
916
425
621
432
741
220
537
801
406
371
379
202
806
230
789
259
338
212
892
238
659
448
956
672
227
721
922
672
88
797
182
356
493
871
299
786
892
811
513
24
904
631
793
914
748
586
575
631
459
708
360
823
201
365
673
679
640
612
191
174
899
62
990
484
153
352
420
843
119
660
984
54
747
93
287
650
111
985
728
614
656
683
709
424
637
16
772
423
393
319
250
226
38
897
512
494
10
855
273
181
4
359
968
76
733
926
558
167
415
826
858
47
662
847
854
21
223
442
522
633
483
9
304
48
839
430
927
52
685
285
639
764
809
756
484
542
902
382
97
677
345
692
995
963
758
260
994
986
505
296
262
402
314
845
800
719
190
487
761
803
398
117
539
564
167
813
802
772
416
946
380
469
42
794
554
623
982
658
176
173
229
459
259
634
943
14
770
470
759
532
715
625
188
958
848
222
510
848
316
853
137
470
284
74
630
937
139
558
105
742
206
598
451
382
117
470
214
23
112
297
669
626
971
711
704
650
318
698
724
93
771
789
310
842
165
746
534
486
998
624
86
260
734
791
472
231
419
717
652
722
725
174
473
143
357
990
312
145
712
801
333
583
839
4
95
832
960
563
552
992
686
103
987
579
225
492
3
503
643
366
732
297
50
862
661
476
226
898
401
82
561
607
435
944
108
650
781
891
888
188
176
40
800
710
997
118
418
826
133
175
319
106
745
229
165
593
245
716
566
310
600
811
781
338
706
20
598
56
613
461
603
361
629
886
470
60
518
829
366
810
562
175
109
399
663
106
999
588
986
411
333
277
55
202
384
198
90
232
427
934
141
839
527
275
609
544
888
3
903
396
743
465
581
335
804
420
383
979
562
423
190
437
72
61
890
537
833
586
920
619
683
285
243
17
678
223
216
322
655
307
728
598
447
849
395
609
964
678
112
412
183
643
678
15
326
5
748
929
246
857
56
992
907
296
10
832
488
489
946
427
163
292
275
324
597
89
656
100
756
166
92
43
227
708
328
543
768
437
113
879
179
264
74
595
670
276
240
53
970
312
273
575
307
835
815
912
322
526
362
73
430
680
94
403
116
789
617
682
631
543
965
364
105
269
286
485
260
743
290
239
918
250
959
503
49
871
925
450
838
982
450
242
155
574
231
381
663
894
648
530
26
249
595
545
491
615
121
534
613
896
734
145
97
221
812
686
449
111
934
190
967
850
159
693
151
406
377
444
866
41
274
652
864
478
241
213
707
912
350
983
545
586
925
356
515
525
121
791
49
457
896
40
801
989
97
990
548
106
35
285
132
22
108
719
505
720
818
951
282
132
936
961
64
291
36
505
659
570
801
907
873
347
338
466
350
599
956
111
873
917
230
782
451
542
481
25
412
188
370
784
618
872
315
551
132
36
32
522
111
586
736
677
138
409
450
752
600
130
924
862
552
27
356
262
128
423
264
411
467
450
816
520
952
868
537
750
779
878
383
263
398
402
827
266
258
590
388
284
705
76
308
965
270
152
167
649
744
978
691
244
755
210
765
161
373
989
721
446
737
853
52
20
755
189
513
886
945
247
290
589
653
964
396
624
161
591
805
831
249
768
355
804
661
484
412
849
482
543
708
528
660
748
497
714
104
605
285
514
747
576
287
110
571
537
28
16
652
767
910
747
906
427
543
906
507
58
128
544
279
489
380
431
159
696
991
502
977
626
111
742
501
172
987
61
127
833
367
833
752
45
533
458
608
736
88
464
729
658
605
901
88
968
761
230
689
912
907
494
438
911
135
34
904
848
603
427
196
175
366
641
594
427
340
319
764
721
346
322
284
340
220
24
198
43
363
991
288
890
858
47
910
619
376
137
642
891
379
355
916
938
127
815
247
124
41
723
298
105
958
481
763
270
359
594
403
947
787
137
447
137
341
596
19
3
495
56
222
326
592
678
211
59
205
111
916
774
775
285
128
776
74
713
499
994
131
240
583
399
968
378
812
797
67
339
959
197
885
187
958
899
35
175
386
616
165
355
456
47
2
842
911
781
222
80
638
615
500
766
831
536
299
744
110
176
493
874
587
556
580
376
320
175
144
666
519
38
925
16
346
944
572
239
471
20
171
764
142
139
457
213
144
236
778
950
644
730
518
137
667
271
319
977
703
581
290
621
939
716
802
153
794
161
692
904
284
481
541
683
555
815
167
776
289
639
235
475
889
245
811
937
632
153
755
502
50
658
786
596
796
928
621
269
59
664
713
862
912
352
347
727
230
234
243
690
588
591
752
40
357
386
334
490
909
377
800
950
72
938
328
297
988
435
423
214
535
47
493
733
946
921
978
704
171
246
701
20
623
543
309
532
245
643
732
515
610
21
816
79
664
223
175
752
187
774
715
136
179
290
722
658
925
29
505
977
906
506
803
311
817
395
293
84
51
200
937
59
950
836
744
608
661
375
220
53
548
328
450
614
183
232
407
661
941
619
144
413
867
122
487
430
972
788
589
640
212
801
868
91
945
222
795
179
744
558
426
203
949
441
379
599
67
859
702
117
548
785
389
467
274
412
32
788
771
708
376
490
342
144
193
185
900
668
706
498
525
78
268
182
263
309
953
152
347
884
383
747
21
782
750
665
775
95
374
135
34
198
741
399
702
746
394
11
952
304
749
528
14
296
507
431
621
779
501
992
96
105
731
165
685
894
369
377
131
511
727
298
1
554
120
13
882
844
699
431
489
37
936
330
486
981
541
938
292
572
506
13
58
688
448
331
919
957
694
75
6
954
144
415
836
424
612
705
699
311
604
907
936
188
627
451
818
639
718
986
281
690
427
769
299
74
944
814
944
887
913
435
603
599
7
883
934
181
309
405
523
939
759
275
498
458
376
522
742
804
15
308
704
836
152
878
147
329
748
714
287
979
10
254
670
739
734
637
393
689
373
50
24
744
736
505
4
633
192
425
635
793
882
242
957
292
789
783
533
893
403
647
158
619
669
654
405
512
70
619
835
159
219
491
661
795
995
755
841
623
36
44
150
501
287
521
56
689
832
198
188
552
133
24
809
962
415
976
55
834
175
222
397
701
461
670
618
516
56
252
99
473
693
287
941
670
642
234
771
940
766
240
370
874
713
136
485
673
602
774
957
66
652
35
987
672
29
677
67
597
885
542
344
90
548
826
484
686
818
1
264
115
32
102
959
28
212
647
999
135
367
897
569
657
950
974
461
571
136
694
412
84
766
662
371
135
182
185
548
485
814
940
467
852
91
35
21
89
980
584
148
540
858
574
601
820
935
26
324
226
705
685
722
911
157
580
850
553
157
494
183
857
522
731
695
252
139
266
325
54
122
508
987
478
844
789
917
822
708
242
14
502
81
788
780
496
162
117
822
354
265
407
27
780
545
67
212
943
157
64
924
630
422
779
83
689
121
52
97
722
29
243
798
734
558
236
221
142
233
758
996
707
102
817
65
305
636
651
451
221
728
475
461
52
660
849
771
39
854
791
105
746
369
421
262
814
816
19
214
543
809
165
438
575
320
865
896
175
144
992
690
86
517
521
208
376
70
7
962
299
869
402
632
206
668
332
96
329
854
605
73
960
264
509
126
492
402
449
867
576
361
825
982
886
736
21
881
271
798
937
911
366
590
782
685
667
323
587
647
116
879
945
113
643
513
965
970
256
597
612
592
874
747
299
82
442
515
779
309
867
132
464
340
234
300
707
440
585
643
456
450
447
64
800
22
194
633
754
218
788
79
584
378
839
522
359
113
860
67
401
296
498
542
608
836
401
735
851
273
963
869
736
260
210
50
492
644
194
262
576
833
996
413
592
283
596
285
40
882
28
934
333
396
539
885
146
509
783
824
775
238
568
421
837
428
853
218
817
493
492
785
475
596
578
913
837
470
153
628
452
419
8
761
998
142
340
769
825
210
755
21
836
794
331
827
935
356
437
965
622
322
197
397
908
841
227
346
27
355
475
541
385
214
547
405
847
506
231
496
777
175
58
322
87
266
167
375
447
28
480
815
940
568
60
659
839
725
29
4
984
713
928
796
249
495
791
66
363
433
439
637
329
152
803
779
528
354
443
100
772
539
940
55
241
328
797
643
112
253
962
763
415
945
274
297
394
200
149
761
468
206
498
956
94
403
676
545
792
378
334
35
208
900
57
83
910
21
903
220
517
982
467
544
569
687
735
600
809
533
835
577
867
145
176
376
68
556
297
792
649
28
90
672
306
481
313
112
114
436
530
442
546
662
695
179
935
829
784
573
267
687
14
489
497
243
51
634
818
111
503
873
696
198
102
633
753
611
196
636
227
64
554
809
565
696
566
885
16
920
578
445
558
962
684
363
855
764
64
144
99
631
456
841
400
587
762
614
22
226
457
211
317
164
975
639
547
54
547
754
640
486
940
239
583
718
681
820
883
200
577
277
97
458
644
207
545
193
536
744
234
852
750
833
116
505
278
494
565
777
69
360
133
663
478
22
409
967
303
438
31
730
450
333
215
487
722
750
570
836
439
953
836
214
560
837
4
379
776
936
589
793
691
131
453
358
295
973
169
590
555
572
244
89
283
444
161
656
988
995
605
555
314
803
511
749
563
186
717
314
563
672
506
487
383
546
587
450
114
196
762
813
414
570
560
193
765
791
130
726
850
146
453
778
731
404
621
334
881
396
588
436
459
99
645
600
624
299
918
611
784
427
855
462
76
382
391
413
387
228
818
498
780
929
546
771
474
695
595
519
335
912
332
100
527
320
711
978
582
539
682
838
343
987
858
708
621
86
509
177
243
329
764
8
44
635
690
671
728
339
421
706
2
676
157
243
737
838
831
790
73
338
284
18
820
737
281
368
268
63
993
1
130
397
56
305
598
34
731
108
778
822
836
450
838
194
587
881
732
864
551
453
503
156
96
579
296
923
851
420
537
678
771
324
563
841
853
291
966
155
522
845
559
371
250
470
6
472
992
241
230
180
7
588
594
855
704
967
745
582
626
650
452
85
458
852
555
928
610
758
726
59
551
184
724
149
444
542
631
660
87
815
574
238
169
836
640
359
470
626
674
581
779
473
597
506
13
326
526
132
979
953
592
207
944
941
606
991
6
719
724
137
314
804
149
430
623
754
455
768
752
511
498
215
678
887
717
682
14
499
550
0
102
89
686
750
129
708
629
328
413
398
178
431
246
931
283
152
967
943
843
446
780
766
653
444
87
972
623
680
944
842
264
244
418
401
585
886
870
125
449
386
950
28
249
636
617
812
148
940
300
110
544
734
405
59
813
469
714
622
968
701
923
240
145
279
200
858
896
476
463
780
745
258
478
705
716
786
709
952
421
684
222
546
423
976
860
855
231
957
869
845
493
650
233
361
117
983
225
391
691
630
763
476
477
260
583
334
7
566
783
496
887
625
477
232
471
312
630
355
55
915
692
70
0
808
468
12
479
824
39
683
92
31
695
69
522
908
387
60
377
70
565
570
805
260
880
450
523
71
771
635
962
860
727
346
70
42
762
146
261
211
426
293
508
686
503
274
914
773
509
379
460
505
107
815
677
380
216
587
552
664
43
707
3
178
441
635
16
964
376
205
668
927
879
434
372
317
282
625
83
450
127
767
607
836
504
299
295
559
234
278
743
829
157
75
15
599
610
530
242
173
146
729
27
501
239
680
543
318
968
552
988
489
59
876
142
598
295
886
437
946
443
634
367
728
274
227
177
599
222
842
238
339
401
753
390
610
745
24
370
178
574
675
974
892
513
39
319
863
607
88
779
646
40
869
355
334
988
819
441
731
483
728
584
261
162
83
566
597
138
0
235
449
443
332
766
170
428
866
666
274
570
125
237
32
157
155
737
346
320
693
663
626
910
536
804
321
226
734
276
565
971
102
132
764
1
815
443
665
599
537
2
201
287
48
226
871
900
231
333
401
677
346
948
914
786
815
864
551
719
902
279
521
331
402
897
533
468
201
799
838
178
224
764
939
374
63
239
316
95
807
805
91
959
47
389
515
298
877
824
317
490
864
722
357
592
960
630
999
19
912
18
142
906
229
406
78
432
304
838
889
661
118
706
902
796
137
212
343
255
1
265
270
519
610
498
324
442
856
727
733
203
103
476
730
847
357
787
442
518
571
232
900
150
616
814
663
485
748
258
658
231
92
322
208
542
175
283
264
62
681
128
383
203
369
113
599
254
658
110
710
888
746
487
762
339
229
278
622
728
27
17
236
861
190
352
171
494
893
529
989
837
314
139
483
172
361
895
972
976
334
384
639
936
867
523
271
7
180
995
685
410
637
859
360
138
464
512
612
894
990
437
87
71
175
458
668
619
531
826
981
750
424
584
35
527
349
2
639
818
601
908
204
478
4
798
613
137
764
987
130
172
700
238
129
332
201
223
616
377
383
137
141
148
962
319
819
854
959
642
149
694
852
33
234
412
198
509
925
282
851
651
150
659
919
982
646
769
851
69
143
815
519
15
73
110
78
766
423
33
923
12
457
404
246
654
294
658
839
813
803
747
160
753
8
952
361
503
677
521
498
148
590
563
688
565
515
876
949
701
479
80
488
932
746
405
271
336
253
320
971
148
15
696
752
186
858
316
828
572
384
610
248
326
495
595
163
32
585
186
317
223
551
619
892
411
588
833
2
426
424
136
1
409
381
207
292
349
849
28
704
498
373
579
904
496
693
939
985
728
443
212
450
563
416
112
703
160
814
526
777
298
80
887
575
488
9
284
37
929
930
604
179
265
773
844
187
291
419
121
249
269
879
205
88
454
324
782
285
972
984
993
451
776
376
537
638
426
774
977
970
269
399
755
762
837
932
19
143
656
171
903
36
876
778
683
228
563
337
201
749
915
23
54
421
298
797
917
454
650
848
610
891
468
974
782
478
681
90
800
995
553
631
232
69
738
179
800
460
604
523
673
611
919
777
303
690
388
784
777
284
231
951
142
346
648
749
250
18
611
38
309
796
102
411
324
472
403
302
162
832
656
552
400
741
784
718
328
228
519
354
563
319
581
308
55
423
995
169
800
271
513
481
496
923
350
904
810
947
864
459
114
405
419
766
322
342
8
986
901
639
234
514
324
358
141
899
436
665
208
47
300
796
111
803
809
357
877
812
401
695
618
406
161
212
198
858
683
794
622
947
327
36
388
326
855
739
451
766
132
360
181
721
876
964
992
555
39
692
794
857
429
285
413
144
627
225
356
646
492
101
687
614
661
452
927
340
934
374
80
886
916
867
550
494
122
283
438
331
257
942
504
389
460
781
44
108
806
536
492
310
145
627
393
292
45
705
314
312
57
980
76
962
104
356
977
597
282
202
135
899
158
607
859
0
995
555
870
163
149
938
337
194
591
215
938
615
128
156
189
491
860
46
713
624
492
574
519
150
508
551
836
58
798
602
499
238
754
172
263
920
531
581
538
591
41
112
824
386
763
308
679
606
370
978
423
693
324
973
582
147
356
425
317
776
431
696
948
145
697
955
966
413
820
85
908
624
499
297
385
155
538
720
879
422
600
909
996
793
286
688
222
750
669
362
552
776
256
70
687
654
72
282
665
188
473
179
16
594
703
935
286
851
384
71
95
435
976
545
866
72
144
336
708
968
302
133
81
20
222
507
90
786
156
815
208
589
435
577
663
707
252
419
745
732
290
144
797
618
623
684
83
419
78
426
632
533
906
401
574
608
494
654
146
595
313
991
712
248
421
793
956
831
751
268
873
680
546
16
815
242
802
134
204
259
891
816
324
328
772
340
461
773
131
294
758
827
694
536
767
199
979
218
256
828
239
594
249
581
209
630
438
818
362
490
317
625
738
705
617
893
613
651
947
655
752
402
763
936
160
129
997
3
849
544
993
5
882
883
369
430
751
923
498
682
393
92
969
54
719
392
464
601
604
361
722
559
80
285
991
632
2
492
370
202
616
294
352
995
313
779
52
444
114
335
187
777
631
11
192
195
986
621
897
985
992
836
679
537
702
224
284
936
909
105
258
649
516
94
354
424
234
683
524
62
551
512
486
986
334
156
952
577
386
616
954
31
636
994
473
745
835
940
642
832
964
531
392
373
923
239
915
388
776
815
622
168
457
832
794
61
867
837
904
233
375
830
123
871
853
494
839
513
504
977
675
75
878
544
139
479
199
447
768
29
764
784
66
486
566
579
350
847
29
886
913
755
207
332
291
319
325
909
208
65
100
372
223
474
704
913
510
468
670
522
605
239
229
759
440
954
999
97
664
135
649
839
40
67
168
366
911
593
541
811
641
890
672
243
476
792
786
520
822
394
168
577
360
821
37
969
124
303
221
343
651
230
275
793
521
606
473
3
572
257
879
674
783
411
881
980
466
201
34
615
522
994
811
5
923
444
58
723
284
942
110
738
125
64
308
388
637
714
321
234
298
336
221
619
540
364
264
125
207
900
86
651
997
880
292
573
592
178
220
78
425
419
992
718
411
622
725
498
57
242
513
745
667
568
840
423
723
520
296
665
719
973
919
23
153
437
488
967
903
530
238
44
608
262
170
309
647
841
438
490
768
832
680
953
626
589
789
249
198
228
863
43
834
347
734
383
833
195
183
166
33
860
265
666
49
365
99
634
790
222
165
430
24
959
697
865
265
468
756
667
652
210
42
490
523
533
698
530
244
461
742
282
964
686
623
390
163
663
158
16
178
141
289
205
321
799
776
643
291
96
782
505
713
117
11
459
62
610
568
887
58
186
769
317
763
444
147
987
240
409
593
660
484
873
229
809
757
636
159
306
860
238
117
441
702
524
770
241
510
959
452
80
801
453
410
415
896
614
323
680
750
216
369
138
476
983
966
695
658
329
842
414
909
886
395
904
875
670
50
766
957
803
759
470
575
732
162
596
834
222
399
209
352
646
976
219
926
925
830
861
442
944
405
162
785
295
840
856
836
161
127
369
35
659
553
860
427
239
154
826
78
746
389
342
101
685
854
233
920
856
915
548
989
852
659
39
655
933
612
268
576
144
633
449
451
952
667
831
29
868
500
152
868
905
301
689
97
656
313
917
190
901
933
398
478
287
617
10
362
255
535
106
535
809
964
655
189
338
470
800
783
600
143
222
914
844
75
114
405
802
229
783
580
921
221
685
535
864
272
174
401
557
761
838
719
619
154
296
832
278
374
724
348
542
591
236
905
992
933
268
384
835
162
230
421
128
122
471
770
679
736
190
994
76
77
728
291
334
22
274
185
176
864
281
294
642
287
946
624
199
42
953
314
514
613
131
715
499
887
776
741
309
892
257
688
287
773
374
321
104
498
810
531
745
368
196
630
58
873
134
528
211
875
577
259
965
213
978
332
113
445
311
5
230
842
959
82
126
849
159
498
799
364
455
856
188
414
833
694
487
969
357
153
929
17
591
764
498
905
585
921
135
523
722
955
930
425
101
290
709
558
730
741
618
148
695
689
974
524
750
613
801
515
723
410
564
169
532
244
9
493
764
448
514
757
920
924
928
611
183
318
468
960
663
781
122
285
760
583
307
513
189
949
498
422
622
894
639
292
174
870
829
135
775
225
936
75
768
929
365
547
602
21
716
537
80
60
928
882
725
505
30
27
952
367
875
890
765
744
520
316
864
649
879
182
591
947
65
313
865
165
913
826
194
364
541
183
887
578
525
233
52
637
471
628
445
104
40
246
578
493
813
341
508
615
371
921
45
174
985
559
285
980
801
598
728
550
625
48
886
468
554
958
607
72
996
591
830
594
162
663
387
303
788
494
259
188
629
880
43
222
927
843
808
387
575
46
79
402
244
454
594
953
1
624
710
436
283
436
681
407
155
584
758
89
41
151
56
974
258
779
70
66
731
489
17
302
666
525
346
982
513
464
741
714
773
163
71
91
209
773
115
802
142
674
853
885
711
702
605
248
555
332
731
699
35
900
763
513
512
0
472
565
89
364
932
185
528
621
977
923
876
978
800
547
849
598
273
200
558
218
55
820
609
143
764
54
570
622
975
849
977
604
344
939
982
36
194
800
568
312
650
120
822
654
424
678
332
390
986
217
106
438
432
439
705
40
497
250
45
795
854
826
907
53
592
331
207
129
176
643
938
257
529
807
983
392
496
851
596
139
63
610
907
705
994
879
835
739
698
893
323
293
593
343
361
676
980
495
372
889
223
419
812
706
193
523
84
947
407
966
889
9
917
877
972
994
202
732
175
831
573
667
258
619
681
930
555
468
553
901
684
480
835
391
933
813
626
259
625
625
434
1
454
251
507
414
449
257
398
412
331
319
865
254
19
105
837
922
733
233
654
112
194
804
570
353
750
755
911
934
198
190
785
446
16
411
746
361
278
867
43
716
676
262
417
838
113
942
245
5
855
481
928
399
780
904
245
908
195
704
844
196
108
78
793
453
528
798
272
43
344
754
225
577
907
575
723
527
530
561
661
315
896
271
849
179
56
373
216
387
109
48
591
76
233
524
413
594
673
269
109
902
691
279
460
628
352
560
676
207
405
979
44
253
19
622
801
52
823
40
180
13
188
815
93
977
727
401
127
122
582
945
88
363
238
731
289
431
433
41
308
535
71
450
527
634
730
299
176
107
310
507
566
28
496
680
510
550
182
379
591
448
520
54
826
52
607
46
305
703
660
182
208
23
995
437
878
112
245
122
623
627
866
702
632
132
943
110
307
12
211
8
953
475
480
758
320
519
294
621
460
61
72
984
287
48
745
243
206
80
236
779
477
299
542
483
138
268
824
667
625
472
233
157
307
401
905
996
504
364
92
820
201
443
31
905
42
942
761
244
549
762
395
307
173
772
599
603
475
755
30
721
438
952
765
660
118
464
438
526
128
254
752
879
311
784
361
323
80
231
783
440
342
943
970
202
743
166
926
490
559
254
531
849
99
124
762
930
925
962
242
5
373
913
705
994
917
366
3
113
470
390
464
156
610
804
805
668
186
984
629
667
475
41
878
686
564
697
531
672
51
203
520
98
159
61
240
342
380
696
586
802
819
653
98
199
683
33
700
767
709
83
935
871
735
141
830
620
819
316
867
406
429
71
421
417
142
551
555
763
956
698
637
409
125
175
926
427
904
339
646
689
185
335
478
679
698
650
48
502
619
723
910
317
231
747
729
286
162
511
262
268
534
888
946
309
591
642
994
142
762
243
838
343
154
41
427
214
88
977
123
83
993
433
631
354
701
77
674
207
565
618
306
861
743
93
496
846
324
217
425
913
280
149
827
867
303
712
707
988
902
835
733
532
783
512
864
249
617
184
457
23
921
584
740
791
175
45
203
650
832
387
820
799
946
331
74
626
221
741
790
330
743
113
511
264
770
890
743
600
898
58
94
566
49
366
892
995
770
654
375
773
140
402
847
154
60
34
889
641
942
111
943
437
749
22
400
575
3
990
363
738
746
248
185
131
955
702
61
879
826
493
88
810
592
47
670
720
422
332
594
29
72
436
613
494
790
502
652
762
152
297
876
608
416
699
158
123
454
14
224
424
617
951
697
31
804
665
76
495
941
395
709
289
649
429
715
55
200
638
914
676
122
297
962
155
904
36
164
379
940
587
585
423
472
294
769
216
979
661
553
322
721
173
959
840
384
401
689
971
176
333
842
376
92
168
933
53
781
38
994
21
726
535
733
845
125
233
250
161
557
496
955
586
790
951
770
696
854
741
946
603
889
506
815
479
100
587
409
778
985
40
930
182
544
440
427
666
152
713
946
516
741
768
468
275
695
654
199
711
742
511
779
943
774
954
861
522
544
455
458
660
789
141
152
912
505
664
242
856
219
473
638
793
845
903
481
12
508
694
963
359
310
718
531
913
38
231
121
368
415
142
573
276
850
78
51
410
349
619
18
19
102
516
136
419
888
121
546
124
322
872
288
555
905
216
732
304
212
933
490
876
906
22
11
510
281
312
942
314
660
258
388
566
710
951
86
140
27
207
510
432
637
135
165
708
916
417
323
321
729
561
887
961
33
798
685
387
804
63
892
351
951
70
726
734
303
93
874
231
202
646
730
91
768
659
447
508
992
689
202
163
67
845
422
39
492
628
748
277
771
542
769
356
953
972
687
998
503
17
142
848
52
0
12
979
697
494
962
528
999
495
810
911
447
165
737
313
758
649
626
677
443
446
417
328
871
98
939
646
691
807
225
162
455
403
618
3
552
222
970
489
573
62
450
466
335
327
410
73
963
808
118
412
47
380
784
969
156
250
933
2
223
580
587
907
108
335
609
699
321
853
548
906
924
740
271
463
447
634
629
701
146
979
409
358
335
848
457
292
998
423
702
202
222
849
261
519
204
70
6
982
373
278
183
768
400
56
42
854
622
520
971
994
744
989
420
488
640
729
786
921
392
583
43
345
763
646
798
629
626
48
674
974
98
977
802
124
230
419
677
370
297
641
971
562
340
587
672
208
148
555
158
561
428
65
162
564
832
702
948
891
993
65
184
179
968
626
950
509
874
522
943
109
724
279
550
276
491
876
85
49
2
151
221
344
613
89
935
638
735
133
477
204
871
723
926
810
981
332
364
622
935
893
597
450
562
545
435
355
984
324
773
536
713
109
454
303
799
912
957
348
577
533
401
644
542
902
638
996
896
571
278
346
35
22
828
351
888
153
668
397
139
544
202
467
392
45
75
203
512
850
803
677
234
306
900
741
383
599
771
170
17
482
319
172
650
658
189
95
720
777
134
499
31
413
984
872
631
443
57
196
374
426
862
17
58
317
794
312
187
935
230
144
427
469
194
463
233
986
198
890
152
54
141
403
554
544
861
710
117
728
449
501
902
78
298
321
566
681
545
953
960
994
354
404
319
991
750
905
572
946
228
758
368
792
399
880
242
555
29
86
510
502
397
89
590
801
473
671
156
836
64
930
203
552
606
163
69
660
790
855
855
223
667
430
742
708
803
37
941
568
711
376
380
988
465
503
448
70
618
607
613
963
800
596
717
480
60
586
54
691
609
448
508
243
170
858
373
973
996
975
70
818
76
114
665
397
89
732
266
525
669
954
588
260
25
539
634
792
781
116
497
831
610
902
671
252
167
384
748
707
807
100
838
39
899
350
505
855
694
836
255
71
724
999
949
205
994
373
25
286
390
851
967
349
619
896
500
994
743
181
38
416
382
348
570
866
503
858
559
156
596
613
601
89
968
272
487
854
424
568
240
267
131
64
777
586
654
609
282
122
789
678
114
503
385
474
787
234
848
829
706
594
258
470
391
56
814
253
1
880
368
415
981
162
92
289
798
97
663
306
853
102
293
386
122
425
866
920
44
891
342
609
148
375
351
6
553
71
306
523
246
88
302
325
203
842
554
65
541
859
43
514
907
360
562
578
793
850
822
380
535
779
228
399
398
929
619
257
500
995
709
855
834
652
342
300
927
250
642
751
342
391
854
680
864
618
264
851
730
843
254
944
542
30
736
583
159
507
809
917
488
224
495
918
818
611
928
332
163
499
281
414
466
600
254
615
986
101
804
174
233
203
599
393
341
591
29
303
278
250
908
865
127
823
132
55
122
729
314
13
11
326
250
105
180
600
290
518
90
180
647
842
553
180
526
888
163
393
147
463
232
897
800
553
706
118
642
889
418
978
245
829
674
248
173
850
407
395
845
46
220
779
526
41
777
119
99
246
319
761
667
560
755
511
898
844
458
210
323
343
374
402
422
195
167
847
699
136
900
405
459
768
42
977
815
799
635
194
517
250
632
355
673
153
312
336
758
491
853
55
933
169
721
186
984
596
697
100
980
373
54
248
900
548
758
262
571
484
108
965
990
834
75
819
743
363
816
964
304
224
860
743
64
773
107
373
827
258
205
679
867
520
16
542
43
228
243
336
3
519
977
466
460
230
904
306
934
590
284
491
34
830
813
936
345
361
910
280
707
941
19
95
135
468
768
821
781
629
277
737
132
766
710
520
356
257
12
191
181
930
627
196
407
742
519
296
354
808
272
314
182
20
542
115
649
576
650
588
101
257
533
294
101
274
778
101
414
458
485
985
782
604
535
436
181
495
469
840
647
577
585
906
524
106
511
276
260
711
470
432
161
616
674
593
213
912
424
494
86
47
8
35
56
902
557
149
636
369
577
310
625
505
882
505
626
391
84
78
244
367
964
174
871
15
755
4
517
318
207
791
73
52
99
547
325
541
178
482
769
726
197
647
207
704
395
142
869
259
766
870
972
449
847
370
752
636
150
117
483
529
495
287
297
572
684
257
463
124
139
263
159
857
473
436
344
826
172
140
892
613
272
200
346
571
875
134
834
615
765
658
926
347
487
343
566
127
183
957
14
367
537
821
840
510
513
269
920
30
421
605
788
462
312
646
220
65
757
456
816
278
185
595
13
851
295
401
382
584
982
734
174
684
785
468
639
16
436
477
353
778
524
455
273
322
143
117
643
45
330
367
137
97
790
225
506
451
451
804
558
422
301
250
197
701
195
984
139
206
11
969
345
173
859
973
975
836
521
79
981
922
867
946
717
864
632
428
276
450
744
785
189
63
89
49
314
999
569
613
798
18
735
531
295
714
96
246
219
457
948
207
394
943
97
678
323
320
781
428
817
782
354
435
335
755
818
562
788
450
529
399
709
623
102
153
457
158
969
195
428
181
673
66
976
647
9
150
44
552
213
219
132
241
436
574
787
587
539
316
746
55
547
628
885
796
121
922
825
233
266
212
382
224
615
210
355
917
120
695
339
218
721
600
490
955
709
949
763
735
27
902
134
971
226
953
470
681
718
728
901
691
488
549
534
713
944
381
8
382
102
730
23
251
252
665
325
328
783
67
113
571
386
373
331
701
384
502
157
815
706
288
862
242
403
342
595
319
334
601
102
812
706
206
701
433
836
630
791
5
578
724
618
220
131
537
479
851
264
768
975
389
379
974
99
513
852
910
698
551
760
339
377
539
875
977
591
985
628
268
268
312
419
537
551
454
720
489
797
354
217
13
213
600
352
174
369
22
553
957
826
149
97
750
542
303
647
215
978
194
182
835
293
284
314
771
562
549
143
686
389
221
902
16
781
644
598
363
193
631
539
965
685
364
470
933
246
944
814
911
680
335
413
90
121
710
639
863
838
274
278
437
595
210
42
416
421
760
680
564
351
153
574
373
572
73
883
929
577
324
569
75
44
330
68
243
349
716
981
431
332
630
11
306
860
689
746
812
947
729
699
139
450
82
21
914
22
850
322
151
819
104
681
478
457
741
849
67
727
472
975
629
498
418
73
173
786
520
70
180
924
534
415
522
209
822
24
486
181
386
455
57
339
102
69
712
256
968
379
974
732
228
970
498
594
199
577
397
553
598
345
41
902
362
26
849
534
298
903
646
411
185
510
83
881
366
113
274
267
435
464
755
113
817
931
357
109
67
878
458
684
836
342
192
732
619
589
224
334
820
339
336
536
293
602
893
840
536
871
318
324
278
439
769
950
458
599
224
70
455
212
845
914
793
847
308
632
63
730
906
756
758
189
983
550
982
98
641
307
718
523
831
214
181
262
170
484
641
109
597
480
477
415
489
520
89
191
423
577
947
299
924
543
867
242
939
83
782
568
896
84
70
169
732
400
347
545
922
389
299
990
913
578
262
633
130
919
639
529
994
814
449
405
86
803
131
609
260
4
731
409
204
109
510
252
871
459
649
670
834
612
5
987
923
546
984
24
715
363
85
618
459
260
74
767
415
867
61
16
49
385
777
447
600
526
156
139
528
905
705
761
931
501
193
337
874
668
103
922
767
919
130
79
177
971
769
840
138
920
283
977
33
840
480
743
549
538
22
181
262
844
562
742
844
974
73
604
593
676
706
847
845
418
104
573
920
560
39
33
297
935
999
170
236
972
539
805
822
526
834
472
423
351
940
308
570
914
58
661
313
793
802
820
517
384
872
160
552
742
538
270
872
137
921
691
110
450
391
88
577
635
447
526
269
106
709
519
506
670
610
375
325
813
931
266
65
331
374
530
801
162
294
224
89
121
787
123
251
467
55
567
492
172
840
788
886
853
39
391
997
634
475
472
983
801
188
708
968
716
829
516
458
618
415
818
772
243
353
626
906
197
116
313
461
464
247
722
815
305
441
867
539
456
529
83
861
654
193
214
70
832
221
167
464
674
864
693
204
273
531
595
663
690
404
545
890
90
414
499
678
687
654
771
447
739
212
317
721
159
104
91
769
536
983
369
350
566
141
306
787
925
250
57
355
728
534
659
318
13
594
468
962
802
168
910
127
160
314
26
338
565
590
334
154
982
529
795
585
525
62
962
268
295
440
993
136
438
391
360
452
77
950
440
155
676
163
644
21
230
196
433
302
560
440
826
159
629
975
5
375
83
729
873
242
881
552
546
672
542
259
212
613
405
133
406
317
636
54
110
891
262
326
477
908
573
603
149
947
445
217
881
427
192
141
789
156
669
226
486
123
341
909
84
56
695
505
86
631
796
833
994
224
249
589
815
594
725
211
145
536
29
93
216
83
843
765
572
409
365
756
372
508
631
199
313
233
972
845
488
765
764
522
394
915
269
50
61
384
88
837
439
667
946
369
939
915
642
81
613
993
61
426
130
121
187
904
881
718
947
793
973
678
464
514
413
249
641
337
524
58
953
991
991
548
727
790
173
410
412
945
377
478
136
4
771
218
126
560
34
951
983
726
762
490
797
225
447
41
61
304
69
564
144
660
551
331
638
434
48
896
488
535
83
17
825
489
960
728
917
356
473
337
915
269
427
576
872
249
19
559
281
71
507
977
751
942
164
584
199
15
825
954
8
2
327
538
322
487
17
540
359
742
423
518
518
531
255
778
524
558
846
3
258
799
757
924
906
657
976
975
458
438
126
600
43
980
409
9
93
755
89
123
97
57
64
891
906
81
62
416
975
133
66
766
797
396
870
984
860
41
688
569
173
983
218
891
519
428
353
972
881
376
515
25
737
705
561
999
228
143
547
549
699
765
640
612
452
623
596
988
15
586
680
335
734
693
399
92
301
41
363
135
492
487
559
602
888
940
987
399
291
9
350
112
392
215
452
395
313
282
920
411
837
892
91
935
808
819
724
334
376
966
263
123
385
522
506
243
490
591
834
841
325
847
21
735
577
660
555
338
286
231
349
500
813
413
763
470
742
461
656
271
343
783
3
431
364
885
837
904
415
466
190
467
925
527
237
313
45
950
742
989
381
445
96
904
173
930
249
34
475
815
551
636
228
405
453
416
665
840
782
185
439
450
346
131
916
104
359
700
566
220
407
621
563
982
743
708
67
495
235
128
560
937
379
299
715
942
226
417
468
142
309
268
925
996
792
148
679
212
258
179
574
684
909
221
408
950
449
625
793
520
880
89
731
517
150
59
204
282
840
496
852
164
309
61
427
519
383
10
932
549
103
663
959
391
210
949
411
294
870
605
616
162
373
483
613
226
265
514
611
813
520
336
719
477
903
380
23
686
185
324
208
36
704
915
131
414
324
798
585
44
931
425
260
968
743
410
768
487
569
633
620
633
855
14
989
957
930
608
267
495
682
360
8
52
727
666
623
912
8
134
3
522
146
374
120
749
653
590
993
909
494
332
32
314
338
620
655
85
24
571
368
183
718
524
563
657
514
452
117
961
270
2
446
246
684
35
668
823
585
710
184
70
131
130
794
861
181
590
593
496
933
297
935
901
719
904
481
78
590
494
466
934
784
629
914
907
219
509
111
412
928
820
169
644
320
801
691
202
770
203
590
57
831
337
422
279
792
684
474
464
761
276
380
455
426
20
958
974
669
214
757
214
523
212
644
170
957
6
691
500
800
721
232
193
694
825
531
394
775
625
237
753
50
986
575
80
715
990
29
891
435
47
229
595
867
226
69
114
809
696
808
592
29
157
616
164
506
217
781
841
209
384
465
13
478
125
12
840
341
486
842
414
722
749
150
951
669
255
28
224
436
912
642
896
103
319
342
227
710
916
803
617
273
512
870
527
874
134
62
232
726
906
6
271
41
566
58
743
998
100
234
908
69
929
620
180
534
299
534
919
230
987
558
335
657
704
544
904
117
83
79
788
7
987
432
893
861
954
354
307
830
431
883
548
187
37
798
138
497
974
127
911
962
12
30
482
432
396
950
5
490
161
247
130
959
82
750
933
751
282
793
59
29
404
903
229
656
906
32
192
220
594
131
963
718
386
758
182
763
541
217
944
339
631
945
459
436
533
540
578
337
828
951
888
777
326
517
710
61
76
947
705
621
455
78
643
137
345
10
168
990
727
691
2
555
523
308
579
715
655
554
232
89
824
235
611
323
992
415
538
989
661
260
736
891
858
996
376
18
321
553
12
186
517
849
948
898
293
45
877
6
360
188
720
830
568
330
307
507
431
78
223
964
524
956
948
23
848
65
712
47
720
604
556
418
90
852
644
18
765
811
192
881
367
854
373
177
471
207
161
607
731
865
500
920
175
411
450
460
425
857
146
76
338
462
375
513
152
286
798
487
98
824
997
231
143
633
367
241
104
382
777
751
123
411
734
368
263
950
320
337
184
291
159
675
973
502
679
274
955
491
897
681
396
357
456
854
61
985
850
400
337
61
527
546
850
342
777
452
542
373
893
941
712
375
690
853
817
954
766
163
613
689
324
65
779
871
352
873
583
592
64
345
840
317
915
553
673
645
596
701
361
533
617
543
722
307
906
548
645
753
534
405
944
837
698
149
364
755
589
897
651
968
519
638
32
146
730
241
288
838
306
370
101
456
844
207
655
239
520
842
206
588
338
226
417
473
23
541
77
457
37
83
150
260
721
308
256
88
943
719
493
370
578
951
829
70
258
137
423
642
719
492
611
74
82
12
41
232
633
327
751
541
818
623
788
375
356
500
365
926
332
655
478
845
902
263
73
407
679
898
687
246
836
499
462
525
639
395
16
974
452
591
443
962
67
175
973
933
325
623
986
971
270
518
905
37
991
70
213
493
872
82
651
239
671
229
594
617
382
874
228
779
771
806
101
486
692
98
729
2
90
803
411
830
407
4
135
187
826
116
34
91
718
818
38
595
659
888
597
147
344
267
301
482
770
693
369
790
880
93
570
933
807
511
415
219
358
361
16
821
150
179
128
167
243
747
474
690
851
471
182
708
494
461
608
827
217
213
418
214
136
660
997
101
556
497
206
444
718
648
700
747
76
950
86
577
717
529
744
17
238
981
341
755
973
647
861
409
584
542
69
176
854
506
351
93
784
551
311
609
666
150
852
404
109
572
887
240
388
30
198
422
6
756
725
241
311
509
566
677
222
716
725
518
274
697
518
662
852
596
761
683
182
135
798
650
529
226
697
468
890
895
599
769
120
419
371
973
598
730
759
467
682
430
508
432
730
84
856
116
836
25
50
624
211
356
735
99
837
405
935
136
902
254
792
789
290
15
777
319
314
170
652
708
638
249
262
993
373
676
855
8
745
428
149
965
268
392
829
527
820
473
583
792
458
469
912
621
356
629
595
860
404
61
74
686
979
667
430
444
690
323
542
190
938
831
490
726
953
678
951
502
703
779
946
754
544
600
849
279
533
627
48
405
348
836
396
97
968
135
825
518
736
13
229
110
221
637
29
265
629
724
744
953
212
384
890
451
420
209
330
557
740
810
301
331
761
357
150
27
307
458
816
886
978
728
920
890
687
940
223
67
817
739
952
898
545
889
824
617
373
606
484
951
913
975
818
697
890
121
783
486
722
453
316
710
613
524
487
245
570
985
298
360
592
883
270
989
393
209
810
489
673
872
772
181
870
370
730
264
566
74
101
967
632
154
536
461
468
120
995
143
323
396
871
281
277
5
521
581
217
803
537
377
340
659
336
785
521
357
631
516
35
290
609
283
144
438
424
975
522
897
110
324
590
580
920
440
53
770
512
934
675
591
779
118
370
839
413
305
606
538
72
585
456
331
564
213
461
482
33
918
314
665
246
253
167
309
488
902
926
743
710
330
484
545
102
956
359
911
46
9
623
147
130
459
981
628
189
465
649
191
480
45
465
735
553
989
71
873
57
263
212
49
849
670
622
437
243
333
908
889
736
823
708
409
924
586
119
99
378
55
637
671
63
505
887
885
723
239
213
195
601
620
37
729
413
259
805
793
30
837
659
602
459
867
568
365
110
913
422
138
297
288
101
995
422
245
155
214
620
594
788
728
531
525
219
628
837
741
57
935
446
307
493
49
746
932
768
930
800
325
250
62
33
122
182
490
581
809
397
816
300
262
856
35
234
570
180
455
177
164
46
918
972
836
87
248
483
63
653
103
539
879
836
220
496
631
784
166
789
402
244
609
881
431
608
39
357
671
43
343
202
996
236
168
418
732
946
509
491
539
616
76
877
199
155
905
14
472
376
746
788
187
100
254
674
171
209
837
9
462
900
865
868
858
874
879
383
433
61
998
240
848
93
233
172
324
153
198
810
122
904
642
22
385
229
992
256
419
689
218
525
506
289
278
417
805
353
347
288
364
899
409
946
723
884
396
413
326
725
185
994
959
482
642
550
620
14
209
635
195
562
744
755
816
301
559
280
231
570
730
391
920
183
891
194
408
867
209
232
809
597
999
230
196
957
924
55
581
654
101
83
379
292
488
499
445
349
282
283
369
25
960
931
807
576
300
757
520
680
189
447
504
828
943
113
3
845
806
137
444
406
701
388
273
611
445
554
534
222
201
327
825
923
841
637
999
642
103
172
749
548
286
60
829
609
240
540
992
525
861
738
665
206
371
83
353
215
555
160
620
139
673
597
637
505
219
710
877
740
962
799
205
72
93
345
353
594
882
43
802
208
619
184
584
409
668
490
223
332
152
534
409
403
331
848
392
853
590
319
46
397
164
763
857
201
922
493
250
693
400
236
443
823
56
298
176
445
544
393
614
647
4
876
292
548
416
333
558
712
619
879
517
523
423
551
573
826
599
610
82
963
984
710
526
764
505
85
323
888
675
407
447
69
961
424
931
480
999
700
583
178
267
30
72
715
608
775
861
793
135
593
171
343
517
161
242
678
835
366
527
15
368
144
762
454
89
722
303
425
293
935
162
169
338
983
971
209
667
800
787
799
557
11
429
283
337
740
492
462
810
126
968
902
87
568
488
971
850
827
845
842
282
404
581
149
875
291
767
173
44
604
942
998
743
509
95
367
597
703
303
999
493
27
797
836
863
302
444
72
368
704
203
28
7
345
884
610
236
698
677
266
37
578
255
588
855
90
265
615
389
759
834
350
190
730
277
625
206
488
237
898
862
466
556
14
837
152
353
996
851
798
993
413
889
811
518
303
257
702
88
895
471
84
767
982
633
427
517
414
889
516
482
252
970
784
310
506
237
378
91
852
25
699
367
374
480
133
795
281
780
385
485
20
679
682
979
13
230
242
930
229
438
135
879
269
83
173
544
284
258
599
277
359
866
976
645
132
760
706
572
653
684
718
325
52
117
779
202
182
922
941
785
226
734
322
308
510
747
592
38
401
100
443
52
490
446
765
317
976
490
359
180
505
950
981
487
504
753
133
252
164
166
642
40
800
980
56
366
290
154
960
17
108
946
335
130
467
675
442
501
308
82
149
938
263
845
960
325
119
332
815
943
616
550
216
430
259
700
480
710
377
182
661
279
133
975
993
72
655
759
795
103
64
290
587
249
548
229
473
401
763
297
455
285
672
425
870
954
774
626
531
764
643
440
924
912
615
498
450
108
305
993
322
796
749
744
859
959
945
344
982
750
150
378
362
838
663
4
694
668
371
372
907
651
784
693
703
452
548
664
865
738
778
799
443
954
957
944
547
253
890
780
882
318
238
542
899
658
184
173
765
246
204
900
253
130
349
587
707
478
714
892
399
990
439
302
178
394
686
285
622
868
777
136
430
736
871
751
689
27
855
571
651
712
638
309
439
178
637
207
418
648
358
348
625
857
506
812
57
225
686
136
602
728
428
102
614
296
737
69
321
889
645
940
651
800
734
612
739
649
557
639
118
753
848
268
703
989
873
700
726
91
420
538
25
369
180
289
351
273
947
821
204
534
765
491
378
727
654
615
805
756
862
85
424
953
396
237
476
300
947
323
95
787
15
455
345
615
748
698
135
796
238
228
577
749
188
681
713
956
76
160
195
745
377
821
317
866
764
500
129
676
593
997
700
369
614
493
667
674
240
477
530
28
917
639
266
163
706
0
231
715
18
170
130
478
161
97
143
794
227
944
540
884
345
356
375
464
97
703
70
927
560
934
531
752
862
132
458
88
625
689
111
797
404
105
768
362
887
256
503
49
403
540
113
371
546
820
400
814
387
738
568
209
184
621
267
577
677
450
114
744
373
959
264
843
697
449
76
23
861
302
202
736
610
383
928
400
911
366
731
221
489
133
311
670
769
59
645
669
125
746
569
776
364
668
980
898
689
430
930
569
954
859
281
167
805
608
36
22
389
287
875
90
125
511
546
738
56
398
719
49
905
136
885
806
870
990
923
890
197
573
565
337
313
779
688
4
374
667
142
237
664
693
532
38
996
761
620
687
178
467
948
298
322
349
378
214
980
783
251
958
434
436
88
324
877
5
504
730
196
42
380
41
763
954
517
275
761
125
689
277
607
612
8
690
583
17
312
821
72
948
618
944
74
105
481
530
695
468
18
949
972
287
959
931
500
74
408
422
739
969
445
397
320
138
108
871
67
384
670
285
444
238
912
938
544
897
234
212
770
628
120
134
16
837
541
515
233
334
295
549
66
753
465
450
655
896
407
95
878
76
993
111
850
148
54
42
994
991
937
168
559
548
298
853
464
989
399
49
659
494
134
656
729
418
272
491
294
353
286
188
95
467
768
837
96
946
597
281
256
716
770
249
409
553
32
450
445
972
218
441
480
942
358
362
980
283
794
637
287
738
558
256
205
744
185
656
831
203
466
882
579
58
199
778
344
760
691
581
676
862
28
25
804
349
395
483
568
85
550
427
210
514
825
447
45
522
892
172
729
12
972
283
501
980
526
773
339
507
558
193
464
741
456
360
587
760
200
203
615
749
541
690
21
152
701
832
217
919
834
417
241
76
382
606
586
144
609
456
112
213
87
314
426
839
139
546
550
144
161
962
265
751
765
456
202
434
25
154
564
243
472
895
802
60
138
656
44
118
362
262
225
122
757
773
707
571
966
429
502
797
708
668
653
634
897
602
357
920
556
346
613
936
334
861
20
159
271
846
151
225
746
843
216
375
634
10
993
137
586
377
30
658
918
151
307
198
950
490
206
338
949
272
800
643
482
785
784
460
601
965
548
74
525
34
501
750
996
449
869
843
22
682
787
20
55
264
782
242
370
659
649
516
210
386
880
65
274
113
349
27
752
481
475
661
987
189
949
288
608
926
738
721
204
603
316
608
676
114
146
470
865
640
738
999
745
450
969
368
819
109
317
5
290
583
420
77
765
96
240
967
663
294
784
600
136
920
794
180
73
294
297
450
570
379
529
181
666
246
589
124
735
251
687
917
56
736
650
708
749
290
882
96
73
629
574
262
675
608
737
607
366
681
736
447
350
780
248
48
933
55
952
694
384
752
104
264
564
836
955
481
643
887
456
335
96
425
986
939
345
526
353
913
867
226
27
528
900
535
810
502
693
610
843
78
73
577
554
58
348
647
861
670
690
598
304
882
716
642
381
266
430
255
375
407
229
495
566
19
503
714
244
3
657
163
243
560
613
27
689
642
903
491
696
465
339
83
229
977
264
491
383
579
196
52
354
233
208
211
847
307
14
962
103
953
962
627
8
130
899
25
853
486
820
933
636
772
983
367
498
685
810
45
672
66
846
613
334
668
538
385
421
413
374
837
801
499
905
40
28
285
10
445
313
993
936
205
738
108
66
386
442
987
487
712
448
372
847
478
819
974
684
657
102
674
606
622
434
882
305
548
980
473
947
358
206
969
463
452
683
131
312
728
932
569
56
70
55
345
366
99
179
350
533
33
686
966
745
510
544
126
643
533
772
690
467
442
850
611
861
256
840
786
520
378
624
91
889
42
170
987
228
388
221
62
453
797
372
582
308
996
840
360
77
820
302
974
541
873
507
553
959
226
191
51
170
539
302
383
343
872
732
998
808
456
222
712
641
787
325
138
856
766
695
838
530
490
277
870
914
929
138
282
673
813
755
691
396
435
160
802
875
32
368
870
256
889
474
538
97
858
147
693
22
847
935
334
662
459
533
28
789
407
128
778
469
593
108
149
196
803
966
909
523
852
405
133
433
546
460
247
220
538
576
695
931
353
378
432
865
141
54
407
672
787
820
223
688
287
599
238
278
658
31
958
34
673
579
521
671
753
930
774
514
729
373
126
104
978
166
154
638
556
585
983
43
971
758
77
568
718
928
447
276
800
709
60
814
808
996
991
402
110
827
899
808
796
892
46
605
363
278
451
317
972
41
543
975
655
14
3
913
814
222
706
623
154
404
359
702
918
185
158
540
555
495
197
462
975
222
54
88
913
438
765
502
79
440
907
626
659
943
753
817
560
367
457
817
469
387
868
945
730
808
211
144
511
612
790
800
165
847
964
401
441
293
536
554
892
269
379
245
171
743
979
788
700
62
7
158
168
191
581
605
998
210
506
521
318
878
536
121
243
707
12
690
435
361
39
363
126
98
585
782
323
744
274
47
59
313
915
685
648
329
224
103
932
27
927
247
550
27
907
676
437
876
661
324
511
135
61
247
194
115
274
435
362
461
659
730
828
175
720
757
255
222
852
984
638
638
293
625
404
720
34
676
438
146
676
520
64
335
827
629
629
530
627
230
725
476
537
103
362
771
704
562
940
414
921
590
15
987
946
633
492
130
645
655
116
882
33
407
67
318
179
766
963
889
480
284
585
654
490
720
529
671
679
199
573
559
478
503
427
792
265
795
328
416
870
696
186
693
266
276
536
39
777
130
964
383
33
941
964
679
231
997
896
411
483
386
904
968
381
941
266
913
748
613
120
529
389
552
743
538
415
620
746
44
385
884
389
844
877
530
339
355
341
683
652
47
406
971
939
745
955
569
150
172
406
467
4
120
336
800
428
39
128
685
697
888
329
947
648
305
778
381
353
116
687
393
191
879
564
671
844
581
485
912
383
650
760
546
229
325
654
419
164
676
658
104
305
454
186
195
918
835
1
11
812
223
375
870
360
13
744
156
40
898
866
983
132
992
826
471
402
216
25
161
299
625
495
44
526
214
294
638
44
848
243
995
370
27
918
749
469
644
322
229
301
48
768
687
931
593
452
870
518
268
709
205
502
774
256
42
517
432
250
552
280
34
299
997
967
814
911
749
659
121
883
609
166
658
99
999
715
305
386
117
91
964
374
799
405
991
180
247
228
672
451
929
369
581
199
867
423
873
963
964
630
265
217
679
306
709
137
343
845
714
71
360
34
831
522
552
290
346
137
932
237
927
181
556
902
976
728
695
3
466
431
613
146
301
450
368
338
120
396
144
893
963
9
190
356
413
557
854
552
428
925
875
893
873
677
259
789
359
359
353
731
492
668
616
624
570
655
114
511
168
638
280
276
524
793
633
996
623
259
371
366
777
512
445
57
237
274
48
5
899
115
309
976
109
840
493
561
634
71
722
776
179
497
606
305
869
930
702
576
465
800
821
842
632
333
476
523
919
621
242
385
954
406
422
235
876
528
439
655
80
491
929
615
443
964
267
331
831
821
475
775
252
398
160
177
634
993
722
520
17
364
167
795
969
811
726
415
904
659
81
106
29
748
18
214
173
803
482
470
562
302
261
226
556
38
705
93
570
613
591
264
649
352
44
316
609
566
389
797
173
846
873
929
325
405
932
81
684
530
111
859
998
356
523
56
730
576
762
149
204
633
550
782
478
785
269
471
549
140
732
340
782
63
761
934
525
521
8
251
618
390
993
545
359
246
109
16
830
956
21
563
331
750
779
724
70
283
90
959
669
772
52
439
890
176
363
506
321
694
290
191
576
461
786
189
587
214
511
441
508
546
739
304
41
434
144
119
785
295
973
758
840
266
622
819
228
997
228
480
125
531
135
863
874
956
92
219
196
70
341
158
822
357
974
266
518
825
34
281
664
889
402
719
287
288
132
974
300
866
105
45
124
660
925
353
203
940
784
709
781
268
876
508
157
52
908
292
754
467
28
46
514
262
746
544
906
231
383
733
904
143
663
748
315
8
53
350
578
830
427
602
486
980
530
754
200
976
910
303
268
411
442
775
767
385
558
57
910
73
812
131
310
171
579
105
44
67
948
780
286
328
23
389
562
471
256
457
910
377
962
151
554
660
912
714
787
332
883
357
984
946
994
584
231
651
197
596
119
712
77
738
14
762
100
37
912
515
56
75
536
171
186
373
74
644
104
573
245
822
946
593
210
250
673
524
705
811
714
536
345
210
813
976
226
136
10
169
589
244
691
265
671
961
394
309
616
589
214
65
101
312
453
281
47
946
876
297
94
880
504
655
74
696
453
241
872
80
603
63
113
600
371
993
2
569
485
525
81
168
155
185
253
898
556
554
770
859
839
54
879
574
626
398
586
131
702
760
242
359
914
618
294
209
53
146
712
318
811
623
882
612
868
640
984
57
418
832
742
140
704
752
917
499
771
947
798
161
477
258
664
172
259
842
988
455
504
154
953
178
15
777
761
861
758
882
569
332
412
378
512
21
168
345
232
876
828
543
995
497
841
282
664
336
197
929
76
409
83
167
203
485
921
817
240
968
145
515
512
201
329
481
544
675
954
888
378
733
503
814
220
142
682
24
331
368
446
548
497
196
165
60
90
18
108
209
876
4
521
151
218
546
666
620
206
275
407
641
379
806
511
648
97
532
488
365
450
309
270
525
78
288
796
400
45
997
779
98
989
703
601
197
891
429
452
156
783
233
53
273
306
495
582
689
429
322
409
913
198
473
720
917
192
553
107
541
271
492
745
987
250
406
777
33
168
74
648
489
67
288
555
516
150
458
227
180
120
573
360
883
178
168
964
14
415
895
296
663
267
852
172
605
924
345
230
899
552
555
270
338
640
625
151
628
942
837
91
639
927
236
173
642
660
35
325
794
167
22
959
142
371
534
171
453
727
640
126
749
772
920
607
600
61
603
202
549
402
350
150
861
500
119
466
790
758
433
864
263
285
43
518
524
247
820
457
772
898
817
885
290
856
264
987
358
523
561
721
93
921
81
888
829
91
267
479
978
939
815
106
46
853
939
399
904
886
138
546
563
827
517
981
158
123
618
309
379
834
617
223
149
318
364
140
484
683
109
601
568
208
282
742
851
67
180
812
17
841
925
523
879
867
487
222
405
779
414
717
430
538
721
732
200
226
640
666
389
644
592
364
976
548
838
672
241
915
776
124
403
526
674
819
526
544
916
862
918
216
948
435
398
480
461
318
866
344
388
512
718
792
687
308
606
807
462
85
837
7
36
635
25
727
267
748
446
895
638
169
767
279
461
763
998
915
498
399
275
947
711
851
330
807
842
228
638
391
522
781
19
316
975
358
201
110
125
545
432
343
462
893
649
593
784
898
139
496
229
609
384
652
684
728
39
977
89
417
295
997
36
546
740
107
829
685
460
774
23
772
782
512
946
837
277
31
956
199
230
854
99
876
924
95
410
607
543
360
363
1
619
124
99
536
264
728
147
415
833
680
249
346
660
770
920
2
662
860
984
461
547
250
174
778
928
966
298
77
776
133
364
553
157
705
79
115
494
983
642
759
785
985
223
385
582
920
803
86
120
636
816
426
593
140
529
281
220
357
664
371
250
688
369
949
352
26
877
355
243
403
600
80
777
658
360
31
577
123
198
481
250
509
722
24
169
845
863
376
455
473
35
382
161
210
193
457
631
486
974
580
588
77
666
414
675
51
579
643
419
803
830
950
371
142
161
350
29
835
155
587
968
25
733
8
529
843
380
570
780
165
378
352
676
117
375
589
611
267
899
919
500
164
880
759
254
16
831
16
377
731
940
631
768
304
770
475
446
83
851
803
395
386
308
526
230
561
107
511
35
68
147
322
225
59
49
556
233
37
276
779
481
961
411
102
648
174
87
146
41
577
729
369
77
453
592
493
565
307
54
940
261
344
645
80
568
600
192
426
751
447
98
185
852
668
523
410
182
698
160
384
738
861
281
460
233
961
782
669
927
202
280
492
519
563
178
190
259
599
301
837
348
217
400
629
174
758
182
552
483
121
971
172
153
690
77
558
5
506
367
526
29
496
822
477
894
224
489
444
97
750
109
489
446
136
125
477
918
481
861
810
971
378
502
458
886
305
81
154
14
831
954
607
258
569
485
991
713
649
356
546
659
382
583
811
528
221
997
438
516
427
872
130
904
741
657
547
418
105
844
203
600
240
185
116
309
104
113
51
168
919
508
616
742
146
271
532
548
720
813
152
24
807
550
889
756
246
911
992
274
662
832
993
241
121
581
861
386
219
202
251
71
974
785
198
541
847
219
423
503
382
619
795
582
793
87
806
667
214
922
587
684
444
559
439
972
8
9
733
94
962
996
537
492
109
269
991
661
840
418
722
916
132
505
107
925
820
372
806
597
542
568
472
115
46
505
812
253
391
854
589
478
869
888
182
94
60
251
716
803
204
921
670
399
259
207
721
832
220
865
269
383
789
377
829
854
860
773
561
963
458
662
682
166
928
337
364
319
665
655
223
786
697
758
356
670
843
192
324
840
666
746
964
827
386
804
281
226
561
565
528
197
683
67
667
965
252
850
584
168
495
539
608
294
497
996
529
65
272
191
176
715
943
523
313
887
761
986
533
521
299
780
183
339
51
383
427
816
914
354
93
510
252
901
187
696
533
226
352
614
377
508
206
555
993
77
476
434
565
50
140
626
203
598
191
764
937
644
896
682
853
502
599
402
950
822
441
867
561
724
555
695
870
779
691
905
179
145
363
516
480
247
932
76
128
538
484
629
941
637
476
472
577
505
697
410
342
530
535
892
23
580
518
871
691
651
313
459
59
345
485
720
330
515
85
517
278
411
419
354
216
595
849
121
843
915
735
567
852
766
936
878
418
76
47
408
927
283
26
45
119
288
488
93
329
202
477
353
608
407
620
591
604
520
804
159
862
370
151
136
986
269
591
246
431
469
793
919
879
570
502
545
324
413
986
69
985
850
885
935
781
779
614
100
719
554
502
895
213
18
640
149
549
188
48
755
908
658
739
858
704
551
163
398
861
56
5
982
790
198
710
502
130
140
847
579
79
328
587
208
145
910
370
172
833
933
743
230
934
722
753
400
85
2
807
915
894
509
279
954
722
811
957
679
613
662
685
89
981
672
530
213
540
99
441
122
591
700
209
834
203
21
136
926
995
717
88
405
682
259
513
316
877
790
512
677
654
478
144
87
584
49
92
131
535
968
322
628
57
717
416
606
704
660
853
747
29
29
208
352
293
501
459
977
531
773
809
904
496
204
31
960
932
180
794
110
701
203
368
891
392
231
347
573
945
353
890
140
423
173
85
814
71
387
693
872
38
404
415
291
637
117
718
812
421
315
89
998
108
90
164
360
328
275
346
615
571
256
209
335
686
359
264
432
893
364
365
862
502
887
562
90
917
536
812
511
637
132
591
144
707
341
692
79
447
264
925
472
781
587
515
153
842
426
896
211
380
355
302
923
164
193
786
612
524
954
420
792
528
752
160
257
440
491
47
629
169
311
195
413
393
6
237
726
548
261
818
105
266
668
851
692
137
787
898
19
276
53
853
33
668
835
688
873
186
784
337
846
454
45
973
714
463
745
655
428
451
724
310
235
861
891
284
272
421
734
300
486
717
948
888
758
369
221
504
482
933
85
229
172
561
361
331
964
919
686
345
189
805
978
699
933
325
486
227
542
85
317
684
876
548
80
159
46
670
434
190
972
747
337
805
895
590
159
460
52
383
263
357
678
905
260
892
264
549
209
806
111
365
367
838
447
871
692
923
349
268
250
272
376
751
896
166
448
605
949
731
815
447
465
546
416
406
811
910
973
49
525
164
988
731
504
1
603
430
388
181
528
208
450
43
759
718
323
521
630
693
855
842
281
265
271
228
860
670
67
813
183
124
315
24
717
292
966
572
574
15
770
497
186
408
198
853
661
814
104
43
849
453
586
580
125
414
302
374
666
42
55
398
851
922
748
362
885
181
231
888
835
256
644
34
589
682
143
433
448
69
6
688
365
6
947
496
188
963
273
546
249
562
699
724
752
432
384
37
220
436
828
895
402
549
155
608
217
767
711
50
784
449
241
825
90
849
995
939
349
721
70
339
185
64
757
133
295
962
708
707
8
718
246
888
599
157
538
352
66
22
891
979
878
480
465
171
324
402
797
258
391
439
891
427
163
298
951
739
943
255
698
802
226
505
294
242
356
489
355
543
30
53
591
506
958
783
839
101
179
312
900
403
245
552
605
990
770
196
532
313
276
825
143
886
760
283
155
106
417
283
540
215
280
646
936
749
166
551
522
894
665
57
603
85
420
629
186
195
276
668
6
246
764
204
371
43
795
798
416
219
90
773
499
795
405
885
359
303
356
478
905
239
618
254
620
642
916
75
887
452
101
642
141
883
886
720
477
476
543
759
415
498
910
13
532
122
967
795
529
668
101
488
509
356
294
628
353
858
672
60
913
148
956
886
776
954
839
445
528
111
651
367
751
941
226
603
564
682
722
118
864
730
317
91
841
133
233
910
800
819
287
683
36
462
383
216
942
740
48
35
449
119
693
889
300
277
956
149
219
588
132
505
128
543
117
973
920
849
57
922
489
488
488
286
558
59
880
371
582
827
929
332
110
854
702
885
806
595
311
988
961
914
932
347
996
784
297
306
858
607
563
909
368
592
165
869
527
33
159
417
754
119
16
251
0
23
362
737
836
421
444
442
476
396
582
708
240
979
784
578
244
101
553
969
389
59
850
251
685
687
135
681
328
224
625
727
307
406
317
37
775
58
406
69
298
479
558
524
830
700
173
86
736
23
801
952
707
982
918
798
613
315
927
772
190
368
408
547
995
900
306
296
164
127
474
28
384
535
617
949
639
364
128
466
282
796
426
918
291
561
420
563
562
640
170
236
286
152
727
967
245
354
71
549
797
90
116
83
662
47
299
381
173
210
185
801
796
587
670
200
205
358
782
291
759
452
375
902
941
904
692
88
510
930
499
154
684
759
344
672
92
295
640
428
841
23
363
126
53
346
37
510
850
749
327
982
686
424
244
106
443
614
257
122
755
767
650
299
250
2
409
444
270
39
818
410
144
155
575
830
881
458
463
322
718
213
492
670
145
699
363
442
462
35
809
924
693
685
208
712
775
236
249
47
617
561
478
863
273
645
186
958
88
475
433
386
206
339
316
474
378
428
395
7
343
666
677
62
879
544
37
338
323
969
899
241
553
366
270
609
483
542
453
850
588
840
458
765
833
352
544
839
397
19
48
714
986
503
362
851
654
296
199
757
174
615
407
432
537
484
619
118
387
801
81
302
709
176
330
664
286
141
590
296
596
327
196
157
435
912
90
735
503
821
571
68
829
692
929
895
542
830
127
245
238
272
717
403
241
963
121
523
919
218
737
723
688
198
465
440
687
210
830
710
956
745
435
908
842
136
4
235
197
364
163
45
863
191
509
191
756
160
969
589
490
333
756
96
907
134
316
872
620
779
166
375
612
738
402
60
687
9
354
131
111
557
213
778
585
528
104
402
576
831
667
244
723
4
47
38
40
455
123
563
518
631
241
488
481
796
105
636
815
98
938
58
711
511
468
543
500
456
253
433
438
289
764
955
175
291
831
730
617
100
784
22
52
270
740
34
914
157
207
126
338
4
450
346
996
742
672
668
185
929
576
523
374
205
801
616
534
374
264
601
761
236
853
737
804
839
70
101
290
985
723
250
577
659
83
504
741
851
572
618
504
676
951
546
853
187
683
885
97
509
343
451
979
886
666
81
567
841
41
898
324
873
52
690
931
751
536
73
85
421
277
736
486
698
938
686
6
380
396
411
939
219
766
462
13
973
392
593
8
579
852
57
305
800
578
214
532
156
850
793
492
270
335
8
474
251
932
969
519
535
502
943
145
233
479
269
99
577
237
857
749
444
578
81
511
550
619
250
303
124
591
668
420
706
235
46
591
900
222
371
223
672
676
234
525
998
633
111
797
982
979
103
49
60
479
545
915
924
782
811
223
310
977
142
424
937
151
826
271
583
474
508
78
432
295
735
388
703
852
256
57
350
542
395
727
889
217
921
660
972
762
626
334
979
779
571
164
417
832
447
837
213
600
197
944
892
67
70
462
486
925
346
93
82
600
314
853
447
623
523
231
29
513
477
960
794
651
626
498
490
155
833
918
154
693
718
503
579
247
907
779
983
134
86
532
977
257
211
155
863
351
18
377
842
742
261
55
672
257
283
445
831
227
467
541
656
132
888
321
148
961
323
614
437
380
431
197
319
286
907
703
582
170
951
30
730
221
311
779
67
584
212
675
526
463
568
274
103
486
898
675
211
889
317
27
444
841
898
576
655
619
77
874
59
355
290
509
137
379
162
604
151
402
748
178
938
266
116
66
793
536
478
286
6
4
407
430
921
991
320
710
174
361
430
27
793
246
609
840
656
810
297
322
374
388
499
521
97
356
105
724
444
754
436
367
372
133
568
966
36
264
217
491
20
515
464
721
549
105
752
230
684
663
559
187
742
104
262
39
346
492
460
967
767
113
355
98
176
434
818
136
454
501
164
156
774
405
646
1
649
666
912
627
789
662
659
632
405
949
858
71
48
736
958
696
693
620
291
733
506
415
780
993
268
436
517
709
24
728
764
674
426
991
164
410
551
228
271
567
71
514
544
55
434
784
645
486
51
150
446
260
988
543
172
209
1
565
848
250
118
366
843
666
982
410
967
862
457
863
721
216
835
76
249
111
172
149
714
98
577
313
67
541
851
966
725
657
122
924
705
777
575
552
68
44
511
263
373
799
535
243
454
429
234
160
258
433
964
207
422
588
294
176
386
591
442
905
427
227
976
586
185
415
179
683
830
133
436
234
654
951
556
653
966
960
352
728
787
824
853
707
862
24
20
157
618
22
302
269
649
133
56
117
947
296
887
754
128
460
16
238
375
750
620
696
340
475
803
62
79
475
187
192
379
780
114
396
631
643
825
939
767
136
396
214
813
833
562
76
360
437
653
364
504
473
707
729
265
611
44
172
192
383
352
802
616
11
3
268
35
794
399
569
786
256
98
161
614
920
859
987
670
405
170
138
205
303
458
194
871
648
348
916
746
270
231
687
182
597
753
370
168
338
308
174
120
924
487
139
119
584
148
661
235
15
381
367
939
585
501
490
946
164
415
527
181
682
679
294
797
777
956
739
102
672
240
248
781
288
994
196
693
29
686
616
152
325
818
274
775
73
358
814
60
360
702
376
287
836
538
836
603
865
526
697
914
989
630
14
446
46
909
585
719
297
165
649
208
534
889
352
397
896
630
535
495
337
251
446
485
687
216
351
300
126
640
436
908
225
243
990
307
582
778
239
899
701
240
232
334
93
880
254
771
639
37
453
696
586
502
494
201
928
431
470
118
648
593
545
329
109
33
336
746
47
130
888
657
951
162
594
683
949
585
567
829
293
515
642
171
839
34
655
441
60
265
391
342
358
702
971
605
918
740
833
160
726
330
766
269
75
195
537
436
971
516
55
760
0
678
856
69
163
34
4
726
598
429
92
294
592
580
515
381
113
139
739
960
39
771
94
846
645
460
478
725
508
290
992
245
283
914
686
828
489
940
187
802
490
371
198
117
852
168
831
318
913
156
806
329
813
398
632
830
590
112
967
887
781
453
292
151
877
845
375
94
645
49
213
633
134
664
22
969
167
945
961
41
584
151
527
117
875
700
172
603
874
338
892
412
436
173
720
108
700
122
19
79
11
879
769
721
17
11
371
819
166
849
789
556
465
314
646
652
937
155
226
859
354
829
248
763
329
219
285
749
101
410
969
533
83
106
369
67
730
318
959
816
542
82
102
669
936
799
492
935
956
400
651
625
641
256
731
441
772
766
946
59
751
537
412
337
856
797
636
869
717
283
310
613
265
61
905
460
608
827
101
959
519
745
336
992
615
230
297
261
427
923
874
881
214
37
293
46
155
400
960
226
45
41
903
868
343
188
229
306
644
28
59
152
230
335
767
51
682
662
367
650
231
554
343
378
646
131
521
926
639
772
416
307
544
677
983
907
631
136
855
6
282
697
647
216
938
679
84
404
692
428
578
540
856
736
128
465
291
375
101
750
968
333
649
53
753
846
880
26
290
935
356
844
304
28
654
782
236
418
285
679
997
849
686
705
57
494
998
453
805
819
220
374
541
933
992
469
991
348
422
940
561
541
19
426
317
467
977
243
633
87
890
722
661
864
706
286
27
240
87
932
130
361
779
898
431
574
685
871
352
415
408
720
958
96
763
972
43
911
794
463
396
941
743
864
966
968
261
365
208
166
801
951
410
598
696
766
35
226
300
91
933
210
852
94
31
576
317
151
497
47
816
808
758
604
136
596
606
87
246
668
587
846
555
493
713
907
119
554
915
715
673
640
160
796
419
448
790
631
292
156
115
859
428
533
668
880
232
239
879
62
984
477
872
405
949
781
772
490
769
210
790
247
9
987
834
989
354
634
102
206
932
904
684
666
639
271
190
667
49
874
239
554
751
66
448
756
609
931
937
891
423
796
187
590
353
983
82
88
977
758
556
882
826
665
30
627
442
714
800
660
732
281
250
19
271
358
765
878
845
184
846
250
627
693
613
564
843
640
494
247
244
985
273
140
355
328
937
800
495
890
471
375
493
726
495
206
689
639
26
861
785
439
117
578
465
69
448
329
432
800
966
26
900
133
609
442
190
705
900
560
458
200
856
454
732
133
565
420
840
763
134
377
63
940
176
80
438
17
634
988
647
158
674
781
60
955
282
140
923
976
325
332
920
64
90
307
995
441
609
660
378
108
655
491
585
423
249
240
602
508
980
588
211
549
714
515
866
240
214
673
822
827
921
132
905
936
932
566
760
925
394
149
753
112
444
319
890
940
503
319
630
555
448
969
736
549
701
357
273
291
35
468
806
399
267
1
285
335
98
708
917
716
871
335
868
580
474
848
671
309
205
111
558
78
583
135
402
371
584
915
879
219
383
112
372
259
477
777
918
818
154
294
2
247
468
18
105
635
54
92
595
300
579
847
406
323
29
996
543
217
685
505
57
189
49
999
420
349
374
454
782
449
225
973
422
228
228
260
922
868
833
496
996
75
123
666
158
599
923
647
625
240
124
429
836
708
36
9
898
609
380
6
585
787
10
294
815
705
776
480
532
23
843
690
331
165
847
391
799
434
337
115
546
622
284
294
79
484
274
169
932
53
68
476
885
85
838
467
824
296
589
516
986
240
55
422
936
846
208
416
401
431
46
931
800
548
525
652
496
946
574
431
722
683
283
157
588
492
939
320
84
804
857
927
747
186
39
747
417
737
600
993
941
428
562
663
283
792
762
941
892
446
209
67
665
528
467
715
177
903
621
175
211
137
182
584
150
653
676
902
430
608
292
108
928
822
375
103
872
197
102
52
17
417
558
26
246
637
273
160
822
625
873
737
910
121
28
642
728
929
39
335
782
131
697
586
840
998
555
801
436
833
729
934
268
419
135
713
667
131
829
966
199
133
854
877
314
169
408
595
52
912
260
908
677
539
109
995
423
231
964
451
267
378
634
185
645
6
164
291
749
326
59
498
332
158
907
860
275
130
987
757
331
189
457
518
159
182
270
799
564
895
934
390
603
435
845
786
873
178
618
556
788
74
988
561
242
478
853
199
910
559
190
33
127
425
553
438
607
942
136
105
635
582
232
648
344
210
140
778
632
94
168
44
155
986
591
983
172
522
98
91
887
693
11
199
512
444
47
750
321
61
287
651
211
813
266
857
19
625
449
933
981
11
420
80
221
673
970
996
774
133
891
425
166
930
940
628
22
207
49
758
69
560
33
283
784
788
695
935
200
712
457
771
190
787
517
606
599
711
256
154
999
269
119
79
226
28
712
784
647
706
292
236
550
55
531
346
233
964
109
850
444
179
256
871
598
508
871
700
329
152
0
458
790
527
338
60
716
452
984
693
851
360
650
889
789
803
342
282
982
629
412
339
376
798
785
586
653
167
991
998
919
875
56
953
695
307
479
599
47
924
735
60
211
347
389
247
555
119
482
398
904
301
529
851
682
961
193
504
20
710
353
811
654
130
22
23
427
564
458
815
621
502
982
467
354
737
434
786
800
313
88
367
622
250
583
47
475
434
159
848
255
238
227
143
739
146
326
77
554
680
906
485
328
36
874
118
637
213
468
350
630
644
358
413
218
286
531
197
640
98
395
714
469
176
205
328
372
78
568
866
525
477
581
636
746
44
104
961
730
549
849
477
659
346
282
509
895
747
755
171
526
497
984
101
50
31
202
465
172
491
12
190
373
244
313
894
514
216
956
711
226
118
876
419
771
332
955
506
308
351
973
721
284
822
884
755
784
51
450
95
971
346
118
322
697
170
211
723
600
837
334
91
54
875
468
675
290
715
599
989
175
630
329
819
188
349
26
640
664
314
928
641
973
38
638
435
652
993
917
366
965
455
702
736
226
306
43
425
202
281
42
45
380
594
331
311
906
379
282
512
604
918
190
699
689
604
683
323
544
140
644
107
294
484
689
589
847
585
355
654
117
842
32
471
992
756
595
116
724
686
861
342
23
574
793
676
802
826
3
534
983
218
683
903
581
308
695
325
976
219
502
546
979
622
94
744
830
269
892
747
214
694
917
674
424
493
105
891
715
605
786
511
4
209
653
207
107
580
764
755
869
653
561
386
244
53
828
20
738
753
689
770
427
980
183
587
724
660
719
895
727
287
379
335
744
449
93
118
110
918
155
175
151
169
295
772
695
811
372
685
645
690
411
295
588
94
889
993
920
379
840
598
199
139
251
308
918
360
99
21
924
849
705
446
844
985
922
53
515
403
736
205
253
973
834
867
397
562
177
736
561
59
838
634
992
357
861
260
952
170
15
74
940
112
356
837
526
163
161
871
160
506
314
452
482
52
983
264
379
901
157
447
593
378
997
722
270
829
141
705
789
819
365
205
5
688
537
762
506
224
680
207
812
583
564
940
431
243
495
927
607
494
918
641
35
829
25
217
790
905
343
0
459
354
799
758
493
122
132
747
879
382
684
946
631
934
807
151
115
778
290
356
466
52
342
583
743
285
976
43
178
341
612
322
765
439
480
15
585
162
754
956
649
994
834
939
331
437
908
40
935
818
292
209
507
986
542
349
984
880
882
671
1
639
768
449
910
899
395
471
997
395
115
489
927
509
666
916
467
731
719
465
237
961
629
98
770
186
241
659
362
709
683
138
270
622
968
164
946
214
29
591
7
57
777
877
786
997
565
833
882
694
345
507
856
968
759
997
437
202
180
507
578
670
562
683
440
931
879
508
904
790
133
670
513
454
938
87
926
721
357
604
130
155
863
810
63
594
374
942
49
764
811
685
956
925
143
653
249
991
101
155
101
187
528
243
602
557
674
163
574
35
919
525
602
137
219
885
650
222
529
498
534
572
272
319
371
820
525
876
312
932
990
124
499
7
266
261
836
773
293
900
520
634
719
683
589
875
972
852
353
970
408
335
469
811
424
102
465
944
599
854
433
675
812
925
32
201
95
386
158
357
866
332
594
335
962
6
635
501
369
65
660
20
142
355
87
325
621
130
840
727
726
996
947
409
715
26
852
764
48
131
754
551
264
392
386
483
867
60
723
371
866
561
85
425
274
914
400
602
430
174
963
827
513
984
731
67
883
145
952
293
263
123
330
351
158
170
491
861
930
105
746
686
925
5
298
873
628
553
357
978
886
476
618
124
74
708
696
998
857
233
203
188
647
708
29
751
472
727
976
348
793
466
323
555
667
794
996
254
554
313
526
998
489
7
657
470
610
777
23
480
275
141
788
531
727
888
101
506
413
627
151
486
302
151
597
498
733
821
60
81
332
114
192
44
592
751
419
876
668
985
102
295
355
317
806
14
156
875
856
633
114
663
13
242
35
417
236
473
307
400
11
57
412
508
1
89
350
216
23
332
144
790
192
451
433
203
722
342
308
165
588
381
110
897
725
944
27
804
177
445
750
698
73
587
792
563
718
116
519
121
528
820
100
301
151
173
281
261
692
175
68
189
463
933
68
163
457
135
847
548
487
436
102
262
993
393
253
951
206
480
764
113
284
362
53
255
146
842
810
759
997
126
55
754
605
960
165
129
397
374
881
604
125
462
513
402
834
463
498
713
316
255
557
786
172
200
980
45
197
796
367
365
293
537
785
377
998
866
363
978
327
490
67
334
782
363
661
434
191
173
774
744
643
534
765
418
621
278
843
122
269
419
796
968
402
19
462
970
603
588
45
980
117
990
69
23
556
158
545
82
228
297
119
154
243
129
246
863
138
744
305
86
179
312
485
655
497
79
413
218
275
400
361
67
207
663
296
359
295
896
718
300
549
667
525
493
363
610
387
391
565
853
921
190
839
605
242
580
829
803
57
321
98
515
247
919
980
231
851
178
588
674
765
480
267
624
329
409
749
469
316
565
739
918
976
970
299
749
321
837
278
529
495
596
305
480
364
57
686
900
835
329
299
682
102
742
166
356
425
6
492
885
789
835
81
699
102
386
719
266
630
31
924
251
79
41
531
576
569
655
675
388
174
121
627
618
923
86
146
194
802
449
450
91
524
665
789
430
16
652
886
208
881
843
730
995
346
510
97
699
595
218
443
886
63
61
939
792
477
104
583
142
234
469
687
80
92
581
839
962
343
851
121
515
356
290
668
908
308
108
57
327
759
99
586
168
343
227
287
757
496
622
960
125
714
354
349
290
483
660
128
593
622
977
868
585
150
189
238
714
422
596
221
136
807
744
969
998
200
830
21
761
482
534
114
573
642
162
978
889
311
572
791
301
596
795
681
194
485
367
148
361
831
134
439
342
343
930
182
696
570
965
896
773
349
607
675
30
482
683
955
759
507
913
236
895
905
722
692
757
33
122
277
778
87
421
479
178
141
420
516
688
641
9
352
334
392
322
111
431
528
723
849
287
327
377
430
659
566
344
15
549
808
613
243
43
657
418
519
126
802
618
90
470
549
453
500
277
484
74
99
22
544
523
936
630
391
801
791
133
85
531
735
474
568
822
488
385
954
139
23
514
937
314
524
921
817
984
5
465
822
944
399
439
34
357
11
371
956
753
672
593
216
834
451
774
962
416
510
851
722
726
610
789
174
987
473
561
103
721
389
267
767
627
432
480
766
840
103
952
323
614
84
119
332
467
202
501
989
337
363
624
482
861
282
976
23
165
255
468
285
373
45
517
315
179
407
245
398
246
492
400
231
882
697
194
218
647
455
165
818
963
487
260
0
113
758
176
160
319
502
64
686
59
25
23
897
358
622
354
830
277
826
893
302
265
728
337
260
801
280
302
895
347
3
579
479
203
288
629
71
885
75
692
937
837
522
673
231
923
47
443
955
786
298
822
414
302
754
874
498
673
675
1
834
8
11
793
649
293
928
896
701
885
748
149
548
598
608
72
15
651
81
234
432
378
123
552
447
930
808
168
719
103
769
166
560
620
148
793
329
291
495
335
605
371
131
502
799
732
922
516
848
468
706
62
188
730
214
628
197
958
571
655
822
441
706
822
940
964
666
226
520
343
104
132
94
175
699
820
81
150
306
542
827
972
319
935
849
130
36
642
86
693
581
71
253
191
781
49
15
96
793
574
763
64
671
672
847
576
396
982
520
281
573
866
135
374
997
771
282
487
548
505
917
990
203
768
23
749
549
998
734
86
710
660
493
2
103
763
786
810
833
677
253
319
129
851
60
949
78
490
854
529
471
348
191
875
550
449
943
706
291
143
712
571
352
700
94
920
355
688
517
211
872
772
741
326
162
267
739
426
697
976
854
305
711
893
603
724
98
617
880
559
270
561
569
211
525
734
819
722
6
135
836
233
330
184
610
586
679
460
337
300
7
553
84
464
398
111
239
332
127
386
849
979
856
18
331
284
17
317
795
192
827
810
242
225
857
280
740
149
134
110
107
922
705
62
230
246
180
171
409
107
755
543
369
921
823
433
600
335
304
455
730
217
158
552
701
339
836
788
136
869
639
670
937
363
722
211
975
240
306
39
518
42
47
741
978
140
258
987
522
231
237
215
332
957
805
409
54
828
31
211
808
354
69
268
853
133
403
281
523
59
833
224
678
393
44
171
115
950
238
226
830
43
596
959
642
824
331
342
324
327
840
428
489
90
221
422
360
818
900
297
389
620
314
364
105
803
721
197
959
734
919
897
976
649
593
12
512
404
147
695
434
5
462
890
774
868
239
325
285
758
413
264
560
205
688
605
397
348
592
251
128
777
207
916
167
60
541
91
38
21
167
249
717
347
360
961
233
360
365
40
877
159
602
835
394
36
58
321
916
480
491
656
711
330
405
602
243
3
916
800
197
169
634
949
420
961
121
299
144
935
38
721
376
440
730
212
840
709
633
811
368
128
65
961
536
171
406
616
96
441
50
141
536
165
557
159
508
511
347
849
588
520
484
233
856
292
27
917
837
8
721
314
994
909
408
451
406
499
208
124
957
280
1
898
454
275
782
439
142
16
180
3
796
564
83
802
533
498
738
870
555
513
669
829
789
609
55
206
873
780
859
280
276
857
936
428
998
908
875
872
722
419
746
603
321
655
575
815
981
506
243
80
949
134
793
562
157
185
249
574
747
700
857
93
993
766
624
9
743
306
465
525
934
897
951
689
318
611
495
663
811
531
175
456
838
293
574
807
808
333
458
694
249
39
363
786
152
990
591
199
823
194
393
274
469
248
412
268
348
765
226
943
273
824
582
240
44
921
135
414
778
943
301
154
898
440
474
420
281
458
903
698
761
222
892
867
751
713
833
92
857
876
349
62
365
141
566
789
849
610
37
167
700
363
200
380
656
194
258
257
407
583
311
228
13
458
392
290
911
755
87
756
302
138
15
861
912
648
442
870
597
981
316
465
825
210
435
532
362
572
797
918
762
921
832
193
589
888
807
101
641
807
707
132
630
818
362
834
335
415
279
787
70
431
730
179
699
294
34
343
470
424
938
221
289
295
258
794
190
445
884
101
909
245
188
248
370
364
337
571
403
698
648
241
847
308
460
799
997
59
190
735
814
28
607
961
250
425
448
281
217
772
476
683
451
559
85
153
463
183
360
631
791
35
835
55
127
851
487
158
736
440
722
683
827
727
961
729
500
123
949
771
729
538
229
908
442
282
909
573
899
416
173
734
402
239
687
838
739
895
553
500
434
532
419
747
709
531
90
560
843
467
126
692
712
765
871
836
631
316
402
795
643
711
849
757
834
335
859
278
935
770
961
649
592
476
853
418
49
978
740
849
129
205
225
279
24
52
20
424
738
953
816
83
436
303
630
5
126
479
184
793
221
661
178
872
600
786
131
374
901
955
282
803
996
812
46
834
940
740
836
793
950
52
658
312
132
197
801
204
997
485
644
470
78
527
973
109
124
377
547
378
952
769
1
546
603
717
977
28
828
647
589
34
484
414
298
874
989
160
724
659
849
426
616
125
37
64
165
171
391
883
650
828
737
29
913
100
956
692
690
316
649
949
659
593
895
606
528
112
865
335
261
527
740
729
230
175
982
389
311
982
762
678
708
730
358
771
472
998
595
84
540
899
305
45
449
621
357
963
460
281
411
632
11
523
485
253
437
775
585
918
996
681
256
835
692
849
109
143
306
763
73
342
106
319
931
541
877
397
111
999
177
720
794
104
703
613
416
89
260
345
570
807
593
616
973
226
196
201
983
226
708
564
78
64
753
228
55
316
62
449
878
458
770
115
400
959
109
485
568
122
460
593
98
605
626
386
974
143
686
791
901
713
626
911
547
145
949
980
306
524
113
786
880
814
347
230
742
269
421
146
137
320
685
44
695
443
657
356
252
367
263
894
470
551
824
993
294
849
953
524
606
964
478
147
180
61
553
695
51
674
505
992
977
923
440
8
806
90
241
761
541
217
144
941
259
598
189
486
264
601
783
82
967
250
653
655
901
163
437
808
768
720
792
627
544
892
88
336
120
653
964
503
576
57
862
229
228
4
894
668
451
439
571
773
499
304
349
893
740
825
21
246
64
711
977
941
221
238
929
471
886
329
807
566
845
26
368
729
278
44
595
770
719
598
281
405
45
246
565
623
499
732
709
795
85
248
473
119
355
554
144
337
111
79
780
953
827
417
797
197
621
83
756
710
100
656
892
873
596
434
439
218
79
801
843
329
793
678
683
787
392
300
740
266
588
151
800
216
90
988
878
839
608
693
129
320
398
540
473
501
892
134
855
927
868
836
462
265
295
870
925
321
284
443
190
941
802
105
232
145
212
896
586
832
397
878
875
406
927
931
53
792
590
91
803
792
158
189
590
384
434
20
618
139
73
117
845
853
786
529
349
520
668
119
496
901
182
506
765
810
895
587
238
522
822
604
549
177
161
208
849
949
450
382
26
922
517
857
56
81
173
146
482
677
487
490
162
416
120
195
788
919
661
679
162
975
588
578
808
930
123
479
371
64
344
320
515
101
39
489
149
699
476
379
616
775
636
189
305
329
109
43
565
36
138
154
706
101
930
545
980
454
987
994
722
672
597
25
773
34
43
503
472
176
14
191
819
477
600
500
60
535
809
429
587
212
533
272
714
59
691
695
618
457
459
801
505
159
122
526
741
29
445
863
688
842
139
870
368
771
415
137
670
339
289
204
810
444
457
892
879
734
703
339
969
110
969
104
953
378
353
881
822
120
231
684
438
609
917
532
67
591
361
636
219
222
130
911
843
647
687
767
173
158
12
115
643
267
983
776
436
605
168
18
399
374
187
2
748
637
620
608
801
751
633
396
135
334
653
261
582
90
505
621
88
808
897
904
730
670
368
597
482
924
368
265
50
993
292
436
844
622
279
632
342
500
510
18
795
474
366
734
742
309
250
103
12
928
109
372
892
670
549
793
682
424
394
350
122
441
923
933
522
721
26
133
287
446
308
687
382
590
677
803
748
618
209
44
770
4
813
408
613
384
99
383
793
49
850
525
617
310
692
164
144
48
167
443
794
55
370
940
22
677
17
118
897
770
643
777
332
455
82
635
692
506
292
499
518
303
50
535
291
619
649
243
188
554
709
748
734
285
369
908
515
62
291
236
156
683
623
920
222
881
412
320
401
654
979
723
939
446
869
634
184
41
633
479
526
118
988
361
945
561
989
835
887
810
745
61
199
66
916
386
341
977
48
580
34
751
108
621
95
621
373
411
108
158
134
762
811
605
795
506
396
942
33
350
84
265
308
593
151
529
38
678
501
276
699
513
837
31
792
290
825
724
201
825
543
157
24
281
876
956
998
259
967
957
227
19
709
372
3
752
644
298
208
877
891
322
956
878
339
671
775
878
814
664
699
70
127
817
768
47
545
843
901
220
991
4
631
834
64
376
453
99
918
320
724
689
392
541
548
762
913
112
340
696
527
209
866
952
472
378
953
405
542
290
425
270
212
157
769
926
316
275
667
487
790
223
87
292
695
848
20
843
629
502
42
550
642
160
980
340
620
981
717
435
70
413
527
423
264
358
267
354
608
75
255
214
52
648
639
443
462
42
421
669
24
232
913
567
900
93
601
194
417
638
267
72
515
721
195
949
435
338
780
751
564
112
431
568
358
687
100
977
683
83
907
832
147
613
149
633
265
427
705
550
99
154
419
415
902
193
275
756
814
592
459
666
12
208
584
819
656
55
933
332
268
450
114
337
15
900
53
97
35
854
640
592
216
606
644
610
874
694
204
947
244
40
832
668
284
933
550
226
569
800
706
886
929
829
475
63
824
464
231
703
341
271
471
462
703
830
696
549
839
196
256
154
853
942
328
118
26
585
932
235
540
463
150
76
536
12
430
488
416
136
856
356
831
854
733
143
560
770
720
803
131
612
14
915
342
234
542
787
32
714
116
870
530
517
60
93
451
298
553
51
795
378
662
893
26
946
845
706
934
376
479
590
262
345
188
222
153
615
697
599
442
849
21
307
994
691
905
395
991
46
707
669
183
454
48
920
833
76
251
85
826
506
28
536
427
480
290
392
787
816
953
927
610
225
101
250
175
694
59
246
910
169
862
781
382
99
794
592
198
783
914
941
81
784
798
115
193
103
882
468
480
695
193
329
981
872
247
774
419
509
608
102
71
534
621
912
591
994
365
168
80
670
873
600
749
327
697
354
374
329
672
449
876
625
480
224
93
602
222
804
747
766
807
616
653
319
565
479
235
585
798
375
667
684
642
829
699
703
834
889
33
832
929
288
489
483
107
800
657
592
570
150
523
164
346
32
516
950
323
269
131
714
284
67
203
763
377
956
891
490
397
781
30
640
785
440
513
284
828
12
567
597
678
138
673
392
318
580
506
675
164
325
154
782
701
392
118
889
783
670
977
948
193
453
710
222
364
833
751
5
944
84
853
753
460
380
513
735
713
331
304
141
132
638
605
100
583
554
996
601
15
510
191
729
802
48
112
912
383
501
725
893
966
793
112
917
401
642
928
889
264
195
863
644
761
140
544
770
390
661
506
477
462
374
237
338
403
561
199
801
194
551
15
207
925
483
884
870
387
148
352
514
44
607
381
903
254
339
902
478
195
869
881
255
961
999
681
968
634
925
376
543
122
43
88
453
423
955
117
583
368
113
985
526
695
707
550
385
87
337
842
575
270
312
703
331
22
807
619
250
194
78
511
279
558
263
207
694
211
57
437
807
993
965
67
285
815
551
263
304
947
257
87
202
552
360
990
864
826
723
75
92
699
852
765
873
224
810
576
541
873
960
895
722
797
444
214
304
731
506
805
3
797
793
356
588
547
386
221
707
330
999
529
943
969
246
206
710
515
473
144
667
478
726
30
415
297
879
53
931
617
49
334
545
192
1
665
887
11
601
960
190
29
560
162
385
921
548
948
129
206
392
915
824
643
113
978
324
499
423
806
488
521
777
98
553
247
751
599
820
826
159
670
11
444
688
653
138
392
865
169
149
965
374
133
205
374
961
295
661
709
619
102
572
512
399
175
988
664
773
585
758
728
71
246
402
532
197
445
30
91
78
548
219
264
110
861
22
210
621
674
244
209
462
871
34
823
106
122
176
879
166
108
782
619
244
250
332
727
286
66
725
423
18
536
729
584
401
552
678
219
565
870
952
704
266
725
438
634
82
25
302
9
748
797
481
451
195
735
992
297
755
834
148
165
783
484
928
84
480
69
832
606
878
828
177
645
955
6
222
893
299
929
779
961
335
662
345
699
78
772
685
320
932
374
991
942
916
885
239
267
347
747
838
874
714
641
338
517
333
783
717
391
478
1
513
517
412
546
769
945
865
341
278
902
76
637
803
635
381
736
920
811
827
897
580
844
979
99
538
112
211
848
650
609
33
951
106
992
46
686
167
659
721
784
71
735
638
964
293
514
488
323
214
436
720
822
876
432
957
581
205
694
4
350
847
504
655
236
978
107
803
859
906
356
309
893
870
116
50
707
827
707
71
581
819
486
641
51
266
852
466
777
773
357
420
850
120
223
654
245
545
940
556
12
851
728
748
69
834
583
988
986
97
931
558
511
719
741
629
732
371
593
297
850
519
923
34
836
970
650
689
519
299
369
53
959
508
108
670
268
353
40
733
599
243
748
95
600
776
678
766
991
470
801
485
95
141
365
813
13
677
845
746
162
538
617
624
277
666
147
913
336
278
641
581
375
939
154
657
776
892
765
714
403
73
6
271
113
757
336
564
576
458
922
524
146
478
684
856
281
742
681
993
16
988
339
103
121
637
466
560
176
962
277
837
385
765
260
512
600
427
472
118
634
432
693
95
881
258
410
268
784
77
857
707
521
856
155
7
629
679
204
82
160
618
123
734
893
939
955
427
562
124
3
82
189
766
666
294
198
352
495
293
388
490
889
13
182
952
34
854
423
640
928
745
713
481
736
713
369
724
481
875
134
624
723
450
490
410
560
589
829
238
661
710
375
892
580
187
665
824
337
465
111
265
577
581
451
973
399
896
355
245
776
651
717
606
78
238
858
104
782
775
905
810
186
570
766
713
954
559
744
105
66
79
36
350
196
387
739
525
193
587
880
41
572
927
960
298
340
319
619
525
569
409
773
403
765
99
434
531
217
571
712
453
145
236
343
960
416
502
661
705
326
562
133
380
234
523
487
794
475
384
282
56
728
568
515
10
967
901
273
121
15
745
910
873
57
14
416
77
851
909
668
250
639
979
202
699
113
934
307
263
836
14
681
967
532
113
484
269
899
257
161
642
273
760
205
244
753
276
237
653
382
842
354
814
345
236
718
962
392
575
577
724
107
610
902
88
61
948
48
575
236
436
958
928
725
7
333
509
328
778
162
748
381
957
898
860
747
522
775
639
902
550
650
958
159
562
280
178
800
366
830
261
139
277
840
324
646
374
224
982
985
229
864
989
668
870
440
846
464
634
374
142
872
654
711
69
615
474
170
93
148
970
455
849
965
366
882
602
983
984
343
225
414
348
681
163
230
451
579
383
514
280
411
780
732
158
404
107
940
596
513
317
752
864
345
134
204
788
325
199
755
228
78
384
691
181
9
132
170
964
34
134
234
651
811
256
979
532
736
864
503
451
114
713
319
276
749
286
526
868
535
688
461
301
54
455
885
327
427
144
153
439
834
196
849
266
990
606
523
311
149
822
169
203
360
400
642
701
580
995
662
507
278
758
941
430
612
684
530
742
804
157
200
638
551
492
906
744
265
959
442
587
151
560
660
718
520
539
866
125
871
138
1
290
960
394
276
857
352
188
434
187
804
411
679
533
112
64
513
304
927
696
878
402
180
101
865
473
215
682
221
354
824
152
549
642
222
540
573
975
700
978
837
869
421
272
357
739
102
311
237
558
211
38
795
29
176
52
194
466
260
222
388
326
585
464
498
949
543
175
72
565
578
230
972
326
65
853
70
769
692
226
351
262
602
770
6
698
402
576
698
908
875
123
348
177
598
487
793
814
198
899
678
102
518
88
985
435
595
963
967
604
743
454
898
713
35
265
686
976
542
845
435
370
836
899
722
567
873
885
483
514
505
300
387
956
204
6
649
699
601
204
501
804
303
403
95
697
438
935
389
140
427
214
290
31
791
725
799
412
263
773
596
493
994
377
636
603
543
551
157
498
275
418
361
78
569
429
767
574
984
69
92
609
271
796
618
810
918
991
48
98
419
597
613
746
388
811
616
237
593
809
790
51
122
920
422
41
744
900
304
354
265
274
930
706
742
771
150
291
954
247
958
275
556
804
443
290
971
852
751
230
226
866
687
889
152
324
567
950
880
584
339
871
182
924
325
962
309
666
720
922
186
708
351
490
470
604
613
250
570
692
312
816
186
340
700
19
560
886
530
252
421
147
475
168
789
235
476
156
31
282
527
328
51
481
863
455
199
387
901
539
863
111
28
58
50
5
603
636
335
757
454
207
332
36
592
309
988
927
991
622
54
652
245
406
161
171
410
590
873
339
875
261
776
290
726
20
498
728
2
950
991
487
248
283
516
135
937
959
672
620
234
953
583
921
999
238
626
336
595
263
645
764
122
419
596
280
922
998
943
354
798
701
757
752
928
282
18
497
48
615
663
239
484
18
210
940
761
941
783
503
24
256
434
517
77
204
863
815
751
306
369
560
703
553
750
942
852
210
913
734
588
644
989
20
522
289
172
997
789
563
220
611
692
630
267
370
264
968
62
974
13
477
423
273
900
599
890
893
223
670
300
853
272
119
969
373
357
913
876
156
779
909
985
866
437
917
186
648
183
630
352
20
521
682
285
816
971
968
424
586
828
771
286
133
707
834
53
510
30
639
468
796
538
666
425
144
470
352
95
807
827
622
737
134
36
52
477
807
841
538
477
849
416
467
303
345
492
908
119
320
303
422
680
717
367
818
675
908
9
343
600
457
116
421
299
708
690
526
808
719
883
548
223
150
83
455
133
295
769
669
261
586
910
697
494
873
702
437
518
655
351
831
216
687
564
635
636
873
35
800
568
338
275
636
266
364
843
883
230
514
501
819
164
184
688
234
839
769
119
446
953
112
241
739
436
644
63
202
184
223
729
443
38
739
49
131
332
650
302
998
79
113
619
850
135
73
225
235
992
322
351
935
954
190
279
69
232
381
303
483
744
708
187
803
61
684
497
885
260
927
686
524
671
250
595
282
830
436
20
689
465
296
683
116
767
353
318
865
155
257
760
197
873
548
865
162
505
186
872
79
939
50
741
230
605
149
961
235
44
714
250
206
778
316
985
824
623
462
867
366
813
371
329
103
652
762
985
132
766
170
214
536
116
677
393
4
947
424
931
887
514
704
607
562
47
587
659
342
84
812
733
773
509
879
47
98
650
256
349
992
589
426
758
831
390
625
438
131
172
909
832
108
904
597
685
445
313
986
967
45
413
202
672
357
917
84
132
622
496
331
332
737
842
32
910
31
251
790
633
330
598
676
75
557
865
835
690
93
185
304
22
673
608
362
333
937
544
116
21
251
133
777
850
714
638
102
286
523
303
723
190
138
791
813
85
259
971
288
11
979
970
930
582
96
391
342
600
212
169
192
346
777
117
783
473
282
178
441
542
391
938
96
558
817
41
370
651
49
197
253
467
613
0
21
51
626
515
520
898
102
444
830
131
584
955
689
607
212
64
950
242
895
636
502
727
958
527
326
236
760
285
630
281
906
482
689
503
415
276
435
814
610
673
674
107
438
943
173
648
595
563
6
691
335
98
503
998
501
430
686
13
923
429
147
246
317
273
951
345
971
822
532
604
981
815
460
432
54
477
635
784
822
552
440
711
434
262
641
840
472
75
240
693
665
293
238
68
103
596
212
535
748
719
895
524
825
610
305
143
220
173
636
492
401
97
983
845
884
232
87
946
595
539
134
656
586
731
859
925
724
829
983
943
847
806
396
659
988
331
348
869
802
779
910
627
142
428
73
260
273
945
160
82
847
141
988
942
391
362
796
43
993
735
681
728
47
253
134
408
375
171
713
548
789
85
953
319
162
185
478
760
950
466
508
859
560
578
659
294
880
216
185
197
366
231
222
498
955
579
406
772
460
230
661
726
887
832
967
703
159
589
952
294
182
304
822
674
442
980
139
899
735
781
572
510
324
794
267
583
949
812
382
489
528
29
131
905
983
689
778
341
874
840
190
287
133
645
223
53
944
530
973
854
947
326
50
876
791
820
228
691
994
939
473
503
432
557
545
477
953
986
986
309
959
779
304
627
918
937
370
826
227
663
886
241
294
347
958
202
346
280
291
128
227
613
176
77
487
55
473
473
268
86
657
146
163
937
428
838
93
577
495
269
995
543
184
867
791
452
465
730
785
288
890
450
392
19
4
289
788
641
922
22
864
158
469
691
739
1
688
489
574
620
475
748
249
974
963
483
515
245
670
539
692
764
948
428
725
684
160
533
789
802
738
417
648
527
875
762
862
388
483
126
196
42
586
586
312
497
937
635
196
431
996
130
657
366
365
18
333
380
890
871
759
428
558
443
927
803
13
72
345
319
400
746
260
69
201
119
906
214
811
164
358
421
852
289
659
287
723
260
425
42
130
120
336
911
619
789
479
891
595
493
510
89
478
258
742
951
829
815
504
26
773
771
877
212
72
678
1
941
112
883
216
404
420
981
93
585
295
878
824
954
496
174
756
130
988
645
370
129
276
373
546
897
856
249
684
459
539
89
245
74
249
32
298
99
184
216
242
149
813
787
292
87
875
838
292
105
593
861
759
312
378
772
130
229
114
342
480
542
847
563
729
557
326
953
235
73
546
611
221
412
770
572
247
146
877
317
554
826
164
423
309
886
954
712
677
550
531
318
251
413
589
103
994
236
42
639
475
847
709
188
417
141
46
688
466
741
298
321
760
587
915
980
710
598
115
521
131
763
700
498
191
284
222
750
987
247
76
440
88
633
47
255
464
17
791
311
891
479
129
802
745
632
694
519
752
532
914
118
332
838
663
226
542
408
461
544
430
790
245
372
678
899
191
788
665
823
968
602
625
666
616
454
130
896
684
884
452
582
960
466
964
663
905
318
176
377
716
418
737
40
345
849
286
32
375
830
283
859
157
767
722
936
962
210
210
190
997
368
636
391
974
716
469
733
557
363
590
757
773
515
701
42
631
628
40
814
817
717
112
69
968
363
743
697
205
337
751
393
496
676
788
418
531
223
108
701
571
666
211
393
936
50
686
536
871
105
845
133
633
230
948
0
761
427
826
824
453
381
746
550
722
585
550
224
777
428
116
593
0
441
242
237
900
589
124
380
564
364
44
956
223
453
521
732
165
263
813
465
968
593
143
22
858
505
142
466
637
69
320
689
520
599
313
248
958
864
218
710
943
372
371
530
428
310
264
709
441
461
304
809
549
697
987
650
187
416
890
16
873
157
754
872
616
626
495
367
591
1
958
322
96
52
195
78
675
21
708
264
128
234
553
915
834
221
627
10
379
503
697
778
11
89
179
633
200
397
829
436
86
464
401
706
2
83
358
379
904
131
600
55
766
367
984
342
735
33
638
181
843
484
123
174
343
880
574
879
148
753
245
841
159
801
139
257
202
905
668
447
69
855
322
763
904
721
911
461
823
587
584
257
613
906
103
408
518
333
994
878
36
729
669
927
730
969
783
614
163
340
215
650
811
511
551
664
311
184
579
41
173
172
505
773
834
378
502
415
549
121
578
498
27
421
360
899
965
609
246
497
722
106
289
5
364
342
715
713
169
79
32
938
873
860
180
88
265
633
881
453
759
338
10
471
142
911
764
661
749
658
608
553
792
891
264
699
354
67
692
314
137
164
870
836
592
314
278
254
432
654
395
412
619
728
246
409
647
932
285
913
119
671
961
16
36
258
933
126
568
435
376
993
147
630
60
970
669
656
24
893
700
317
628
913
327
715
341
1
215
174
552
613
921
4
982
973
672
137
844
615
14
942
998
530
555
11
129
888
129
517
304
429
576
316
6
242
379
624
347
776
604
14
565
365
926
561
563
966
506
374
918
869
471
138
974
252
39
127
585
368
319
766
405
602
511
474
963
266
931
787
237
943
164
385
497
903
426
252
7
101
935
28
537
624
8
124
596
991
24
410
466
829
610
254
687
645
635
94
636
78
271
936
296
823
534
3
275
736
776
323
887
308
462
892
203
956
513
389
369
213
991
426
267
563
252
339
919
159
320
587
898
379
932
892
76
463
354
921
665
578
487
476
965
564
985
882
482
881
909
505
249
964
764
842
275
155
931
579
449
971
305
621
690
529
141
583
78
30
833
442
91
508
491
21
51
570
89
338
753
607
115
616
810
439
325
84
55
808
824
476
235
603
111
736
275
187
357
691
21
65
184
483
123
772
896
160
538
672
391
41
914
496
216
401
178
355
875
49
518
160
326
397
245
192
232
504
657
371
169
938
616
138
768
901
561
680
475
870
294
880
196
318
129
705
231
655
823
861
118
331
707
909
527
736
822
442
551
792
584
704
253
495
651
164
83
265
326
280
371
304
134
89
285
147
411
615
710
937
850
372
258
29
692
992
106
937
916
933
325
284
608
961
239
365
162
900
517
202
359
140
923
764
434
881
567
679
604
791
247
15
885
695
159
351
905
2
502
399
830
562
272
85
631
637
66
354
992
236
576
682
376
356
33
184
862
963
287
941
161
477
984
749
500
754
716
50
655
653
825
60
713
647
477
825
513
280
202
435
568
562
25
41
315
414
939
883
167
309
485
478
152
458
440
285
283
758
182
918
323
278
666
230
948
905
408
685
138
970
38
65
372
244
40
150
318
137
696
446
534
550
691
460
388
613
904
5
311
964
966
414
101
93
860
189
342
791
552
897
279
174
277
93
279
124
138
858
5
998
824
717
37
840
174
473
147
137
784
603
320
57
863
544
818
504
678
877
795
697
663
608
487
410
409
818
30
947
463
287
224
933
597
637
619
947
263
905
478
311
646
620
347
827
369
929
968
516
216
420
509
14
223
172
353
489
259
46
755
4
769
952
646
739
252
185
845
497
539
795
566
462
873
970
751
484
772
93
527
849
617
725
432
26
671
453
932
914
10
716
265
540
705
595
682
789
433
1
713
253
999
476
143
709
487
456
132
193
213
470
665
251
170
953
193
849
265
18
194
383
741
159
125
822
345
294
927
436
781
771
434
233
12
655
170
672
183
956
546
851
879
161
871
350
897
257
923
891
378
482
374
194
556
95
123
485
392
925
385
354
399
617
526
315
839
537
768
55
426
313
788
953
723
490
283
323
842
381
212
34
783
360
70
338
255
22
589
666
593
186
486
560
66
709
111
671
972
996
254
169
565
650
288
373
798
116
939
612
461
557
807
34
595
93
461
853
13
26
731
894
305
130
567
902
293
734
841
926
771
645
959
140
545
805
209
214
996
146
667
375
426
280
337
830
506
707
226
362
106
312
200
787
292
959
444
421
171
455
947
202
788
344
276
803
846
77
21
794
112
175
262
690
140
837
224
610
53
258
92
152
663
117
879
316
459
704
612
852
458
314
82
960
414
306
389
975
970
700
347
155
217
831
925
826
734
142
143
993
609
390
860
812
571
706
103
526
986
47
510
488
192
498
882
32
499
800
307
569
67
423
190
666
8
535
221
224
694
331
75
974
667
748
536
737
47
12
136
615
164
342
931
828
863
307
52
552
575
546
662
511
458
739
326
330
436
144
543
400
221
994
319
873
784
873
684
814
537
96
760
6
391
842
525
344
153
838
422
610
539
148
200
30
999
250
768
475
890
625
234
473
239
600
939
209
150
757
532
903
828
216
93
270
596
863
368
852
802
680
858
790
587
739
494
885
479
757
785
463
551
79
727
367
805
536
206
705
130
249
167
113
716
702
730
138
156
3
609
711
509
566
166
683
439
966
730
114
921
333
384
175
709
530
175
679
982
667
389
788
311
225
70
151
735
554
728
535
886
555
364
688
697
304
131
107
155
913
901
481
928
109
822
822
255
557
759
600
199
397
171
6
705
140
294
609
977
389
733
173
37
19
830
766
725
502
543
460
183
752
264
831
465
136
623
836
426
116
452
498
414
676
707
343
743
941
66
254
983
877
168
219
315
109
908
254
610
278
913
123
714
66
358
471
896
288
873
91
213
757
590
745
216
868
815
930
508
33
496
202
306
631
82
93
147
925
829
53
78
338
805
653
241
748
833
222
546
327
703
264
55
170
842
992
246
440
474
728
1
841
798
587
666
181
92
822
705
622
165
597
885
839
810
784
234
343
215
563
709
178
110
446
100
430
813
860
727
628
272
621
17
14
393
732
437
720
256
282
152
328
570
555
659
240
891
463
275
501
786
949
921
891
247
422
818
961
199
663
80
147
294
270
895
194
306
564
81
394
38
930
849
281
547
148
86
590
689
877
144
263
158
564
97
604
29
607
617
46
560
344
61
974
710
180
252
170
759
605
96
480
405
344
629
9
260
628
772
772
927
418
687
272
448
257
78
601
116
952
887
508
128
265
651
719
320
442
809
551
189
997
95
753
4
613
255
599
186
585
811
838
97
311
166
486
47
652
351
808
72
686
676
206
339
673
866
967
220
417
649
235
679
443
61
953
358
1
305
401
21
393
464
818
278
133
462
765
572
378
55
409
367
576
807
730
605
245
29
541
463
302
609
537
464
429
91
297
871
960
70
409
130
992
863
16
601
199
145
482
421
628
223
394
480
306
302
686
752
931
923
741
842
976
811
338
984
871
212
470
484
535
961
637
531
28
293
447
272
267
644
559
295
732
279
839
746
167
253
631
245
974
57
10
276
279
167
527
997
410
814
840
296
924
70
112
894
901
415
167
887
968
453
628
799
582
862
380
417
732
50
512
428
344
694
832
508
439
345
153
341
551
614
61
678
148
52
805
366
233
236
344
611
330
668
956
769
913
276
375
215
272
737
399
681
592
559
465
456
794
603
660
153
878
113
14
7
221
368
708
990
301
716
146
705
251
119
77
693
945
489
854
85
423
231
834
135
785
801
204
657
541
204
931
487
676
264
333
496
625
446
580
740
84
187
978
540
669
345
977
294
524
57
505
828
788
565
203
120
210
296
335
428
828
282
631
44
194
575
409
574
201
507
443
371
15
841
644
131
419
36
834
345
380
717
441
364
708
210
181
619
563
700
172
99
221
596
432
716
6
534
976
466
444
617
696
420
741
612
231
985
120
371
625
758
250
804
973
690
193
659
116
168
479
257
179
151
819
596
267
662
879
256
366
414
982
997
843
975
493
632
652
79
726
864
877
623
58
982
994
14
411
585
564
770
326
293
699
864
241
436
519
213
501
789
666
613
403
96
647
661
313
45
609
926
255
543
567
591
207
71
430
80
240
11
420
934
259
84
851
56
917
199
49
467
640
606
832
120
840
711
456
13
774
469
448
471
680
992
951
425
429
702
798
556
238
726
638
171
969
66
242
837
110
962
716
163
915
971
818
880
7
918
503
6
9
97
38
244
296
597
84
538
809
248
874
495
150
277
500
154
809
244
905
921
154
409
676
454
761
334
854
876
198
896
317
253
965
730
321
831
954
896
704
407
300
563
357
964
666
666
315
892
41
317
641
718
492
863
20
152
209
511
11
632
874
476
864
772
403
961
12
395
54
805
418
912
241
350
534
686
504
98
160
559
304
857
919
82
635
347
670
646
36
864
601
726
771
242
288
56
573
493
55
225
90
108
918
764
499
426
642
840
472
85
963
356
367
49
75
178
274
522
700
573
823
133
279
306
878
156
723
289
61
395
95
680
868
88
139
467
275
439
594
972
78
952
7
515
657
520
61
679
574
668
513
449
771
61
913
334
884
564
349
296
261
545
298
21
338
287
453
761
941
719
10
881
751
489
533
141
221
173
191
283
461
430
2
556
564
625
935
693
848
243
618
552
846
296
54
360
917
514
274
448
850
123
529
109
247
794
454
908
83
220
352
373
688
480
364
773
307
540
14
391
188
578
184
615
612
185
43
939
974
398
23
529
523
889
281
971
563
542
51
288
596
938
927
309
925
197
140
484
402
396
210
790
787
285
987
183
547
404
608
154
179
353
668
296
311
560
417
105
285
297
955
856
331
530
335
912
298
799
522
384
63
639
798
999
345
84
892
10
925
101
369
802
30
792
349
278
131
860
301
485
735
820
861
561
127
824
184
873
764
661
373
83
677
855
631
511
178
199
922
853
420
374
249
621
41
569
193
294
431
431
932
56
682
529
675
641
196
889
846
26
573
595
7
78
32
191
979
318
904
559
383
132
692
67
282
908
304
589
920
826
955
224
36
614
728
438
211
552
731
803
702
17
243
673
382
424
823
72
205
39
731
925
460
83
105
693
598
597
758
595
4
673
406
929
472
582
489
796
470
711
554
879
258
806
930
693
383
216
133
153
462
24
759
719
994
328
594
893
513
687
794
804
677
114
507
272
700
225
901
998
831
45
205
652
571
432
904
180
765
623
18
164
598
101
287
207
558
845
899
570
278
897
294
587
11
753
580
555
594
737
612
498
811
337
588
273
608
128
968
958
254
195
261
838
2
37
604
663
500
244
214
460
169
573
280
415
665
411
531
662
530
462
669
417
603
399
31
573
330
834
383
700
730
836
604
112
508
276
355
489
95
369
412
88
762
522
166
193
76
585
642
569
430
401
866
142
420
861
60
998
672
54
367
882
505
579
533
841
68
694
663
140
495
126
557
255
124
734
465
702
71
308
219
295
372
390
91
310
100
575
746
989
2
719
244
385
603
557
810
801
319
655
44
785
444
293
960
429
196
635
276
383
82
330
349
610
759
315
734
434
628
243
790
785
923
627
649
74
889
947
808
220
379
354
124
554
457
544
412
594
703
217
429
893
684
112
867
189
410
223
924
55
439
56
798
230
661
476
633
18
629
657
222
650
108
103
943
796
591
644
991
394
318
953
206
85
51
15
528
261
575
412
905
77
262
966
317
295
339
282
99
543
635
686
227
179
526
947
702
572
601
87
461
211
391
568
544
83
109
617
235
192
286
419
617
174
53
682
370
786
473
351
415
607
854
947
169
230
324
708
335
413
823
904
86
756
299
496
128
300
171
898
475
757
110
484
230
55
783
452
879
999
699
418
743
428
785
930
647
822
863
742
657
524
310
731
202
384
639
169
188
239
338
409
255
607
689
272
432
840
788
25
787
571
263
992
511
902
150
807
991
869
394
774
625
128
679
376
912
857
743
390
381
526
235
521
242
938
90
601
883
360
572
281
718
123
48
177
396
701
402
536
48
1
222
626
915
841
858
803
640
242
875
987
888
400
811
701
579
940
487
191
852
130
79
769
149
655
421
340
533
687
898
815
946
645
652
475
554
271
939
834
337
444
977
983
774
406
434
960
759
180
190
699
873
495
259
939
402
1
807
227
674
858
266
985
651
484
208
697
124
524
96
824
779
942
483
312
46
509
423
360
499
708
889
350
618
588
380
745
611
280
280
686
751
312
485
48
454
254
850
281
245
888
742
700
611
232
11
25
132
45
500
168
954
523
836
345
238
460
14
120
614
474
522
72
184
535
70
963
369
454
193
669
4
123
556
121
920
251
52
230
116
340
315
143
707
781
761
420
454
734
634
130
868
646
571
598
467
835
873
609
706
717
161
730
666
978
810
390
726
546
807
792
935
997
39
319
793
196
577
784
941
631
700
590
848
109
169
93
677
81
103
549
932
84
223
441
312
939
290
574
470
846
633
995
860
602
177
575
955
350
70
991
635
175
647
691
26
289
736
335
284
965
665
567
745
6
797
959
932
749
717
490
517
942
613
357
569
263
214
261
189
93
663
44
32
760
640
127
711
437
991
686
481
831
109
910
28
220
244
506
272
847
740
615
301
774
692
240
482
460
686
419
45
904
601
932
122
522
254
443
351
757
418
680
685
202
988
347
920
749
66
73
294
397
287
541
401
657
81
826
265
885
191
661
922
993
149
635
908
633
903
773
69
170
211
203
575
316
171
87
354
178
640
212
183
28
645
64
471
607
419
890
967
191
989
920
596
374
326
369
757
820
5
736
601
206
574
833
128
634
483
552
422
24
32
755
935
918
989
860
642
569
728
46
287
483
994
149
638
4
124
726
424
688
433
859
758
351
527
756
188
639
18
45
648
313
187
621
930
195
686
55
867
567
629
659
217
682
826
25
39
635
180
109
730
14
727
785
274
735
777
446
959
581
644
508
41
912
367
636
350
729
362
36
237
402
46
174
359
492
397
902
773
205
586
523
514
180
710
884
658
558
226
513
745
559
155
849
53
553
312
54
255
425
70
582
986
91
510
828
897
676
506
356
220
996
187
234
790
883
386
986
182
237
55
656
755
346
302
90
773
723
699
750
125
129
668
743
161
93
552
291
480
544
923
668
20
355
249
504
36
523
981
641
457
594
63
595
196
792
961
963
523
210
281
638
613
863
220
327
470
21
633
242
487
794
978
713
74
520
309
810
397
615
868
763
119
273
885
655
956
476
962
112
272
74
856
673
214
258
969
467
990
817
500
734
392
932
91
327
971
588
266
655
189
965
30
556
635
800
976
727
692
635
982
636
768
517
227
84
509
485
233
487
413
224
455
934
840
82
178
592
945
973
248
78
957
210
277
296
183
715
396
61
623
399
71
507
273
895
629
97
186
959
265
918
550
952
160
388
970
571
842
332
610
437
984
496
641
686
836
716
857
143
841
523
179
146
105
641
569
217
906
758
819
324
428
227
122
687
312
783
995
660
675
121
936
947
291
274
448
106
569
938
590
71
855
707
642
894
214
934
870
511
549
152
167
45
74
600
836
837
595
256
805
576
352
278
821
751
43
21
966
80
160
899
734
151
381
23
942
54
415
622
63
301
400
575
518
685
211
150
953
207
221
265
902
144
722
792
530
778
195
812
507
604
359
867
365
210
668
214
726
47
794
598
162
827
169
434
971
548
243
958
799
158
816
868
485
684
630
923
211
419
783
102
380
395
50
235
308
191
904
407
74
758
689
388
268
954
100
674
641
21
262
767
673
263
788
96
478
400
599
664
605
802
305
188
483
754
79
212
36
402
863
434
986
805
408
519
919
752
59
197
776
83
276
751
567
741
770
485
754
296
517
84
592
823
632
194
248
214
595
648
865
404
714
33
283
609
932
40
5
679
963
594
807
27
333
534
249
568
170
114
656
190
244
853
879
46
680
770
984
199
434
454
829
526
626
411
872
848
799
32
627
483
586
155
925
762
887
330
856
778
586
506
68
664
465
836
421
63
522
28
542
635
443
709
703
879
337
513
258
646
887
619
373
768
284
134
11
69
728
470
409
721
301
50
800
356
458
52
818
776
695
66
231
135
131
129
14
788
65
367
224
762
301
144
55
960
153
503
784
340
969
605
891
184
428
745
630
523
165
50
15
943
685
327
569
607
867
86
502
246
464
123
400
263
828
56
822
8
338
719
31
833
353
301
161
869
125
383
934
458
919
320
495
71
465
838
375
415
746
562
174
519
180
532
662
453
71
996
213
657
476
834
799
926
181
995
918
777
324
564
228
803
808
554
546
942
651
370
388
368
585
680
734
458
70
22
648
445
652
488
372
115
410
771
258
525
410
929
993
875
368
219
251
923
726
187
977
473
400
147
681
860
573
465
156
828
52
335
155
283
564
728
400
388
672
294
351
431
22
547
780
525
833
878
196
88
364
211
926
415
993
989
214
938
981
660
453
46
429
564
733
787
116
411
941
261
2
707
736
515
425
568
720
280
375
115
829
328
441
910
877
858
530
243
207
108
18
885
472
330
319
979
708
746
396
159
579
236
812
225
350
182
822
548
851
372
178
778
976
713
816
449
817
306
532
828
795
272
356
652
964
331
596
333
114
659
723
270
144
781
0
884
735
831
540
383
660
889
320
616
863
724
929
149
386
556
800
292
605
917
614
903
553
827
821
127
863
137
453
928
881
885
274
221
533
848
667
291
290
161
333
559
783
277
936
884
300
662
691
280
734
647
133
615
100
138
71
20
719
955
55
452
239
205
288
712
310
62
879
612
926
844
701
609
590
296
295
49
335
982
5
712
81
430
663
678
919
851
294
26
52
425
224
118
784
103
459
493
386
850
196
549
870
65
422
738
761
967
776
453
730
903
549
846
946
840
83
88
780
305
363
142
792
971
316
395
139
206
481
275
316
448
231
381
658
275
343
542
38
51
226
20
553
475
611
282
395
319
802
356
495
686
54
375
406
622
106
240
100
622
552
885
320
124
136
112
804
824
268
326
878
23
30
785
758
746
493
638
109
803
852
981
603
182
670
465
461
613
124
737
194
321
646
501
799
284
540
448
2
601
827
657
703
307
358
846
475
360
284
393
227
271
190
943
151
307
678
423
372
163
461
104
470
860
52
270
69
801
193
272
727
748
739
998
784
862
381
374
95
665
68
458
214
912
264
183
907
773
124
654
91
709
341
406
740
791
771
239
402
744
557
821
518
582
326
718
816
244
839
59
404
250
378
691
194
200
752
490
398
889
782
568
902
623
898
291
35
127
409
119
437
896
949
734
85
438
723
328
525
173
660
295
214
846
968
494
110
858
680
11
937
744
23
52
449
684
519
764
813
296
764
295
397
960
22
290
134
505
753
719
827
4
673
351
573
329
768
993
480
696
5
764
139
66
722
759
655
462
324
851
496
269
549
45
918
214
642
867
133
496
438
515
567
802
637
214
987
510
944
376
44
745
58
759
854
824
858
127
431
258
696
638
644
578
832
366
252
638
545
524
977
846
546
596
48
301
939
800
106
926
255
163
359
658
339
744
825
203
460
758
742
966
654
370
702
979
865
114
827
586
669
664
227
256
890
299
31
470
382
243
373
5
916
216
211
981
912
425
335
38
554
357
386
542
756
680
750
945
302
766
467
246
472
687
454
220
381
88
79
48
398
528
371
277
756
617
281
731
651
258
921
229
793
490
847
790
38
734
180
423
661
301
314
165
443
143
374
950
70
4
123
562
593
761
867
177
109
536
567
470
298
833
579
465
496
793
789
974
621
708
45
497
900
289
967
462
575
228
512
776
905
61
769
761
91
387
803
6
581
962
315
156
908
579
471
852
589
445
45
362
298
667
530
824
187
27
234
776
520
747
157
764
429
794
459
972
827
308
465
362
717
789
612
890
666
626
97
392
675
261
725
785
547
995
781
61
421
283
444
895
476
567
316
537
131
561
965
836
697
122
224
684
216
59
42
556
237
414
404
960
15
797
16
582
101
790
687
642
509
620
981
913
111
34
423
63
734
130
11
840
711
509
618
939
859
254
435
561
831
670
67
585
878
913
398
174
999
922
544
944
875
861
889
664
835
35
574
114
640
899
143
371
907
820
83
587
325
569
14
968
8
711
119
754
101
689
522
738
114
725
985
356
424
694
119
220
544
334
632
615
130
598
672
914
845
775
729
850
319
85
175
308
757
677
61
940
718
830
765
802
762
984
454
388
964
780
268
976
908
591
128
60
143
550
25
629
918
309
241
541
725
372
808
100
189
475
766
876
865
885
958
372
918
471
107
349
917
381
926
899
37
396
512
395
268
155
303
496
174
340
801
40
53
382
351
519
769
740
387
389
637
354
225
992
471
517
266
762
889
176
90
377
940
257
52
453
615
620
715
916
899
234
893
839
848
432
834
159
484
340
684
4
887
482
306
378
699
867
24
803
170
766
769
900
806
259
382
197
536
38
855
54
374
348
261
708
737
531
700
942
694
588
228
119
450
818
70
681
480
453
438
275
225
707
937
570
717
56
237
225
130
632
617
618
594
979
192
504
992
289
783
316
870
653
485
898
833
926
619
766
231
631
114
324
281
727
848
609
540
57
622
93
337
31
171
994
514
736
678
295
825
283
782
709
977
378
846
181
710
529
532
365
761
443
899
780
27
534
717
9
181
840
260
647
887
372
346
919
816
50
160
296
705
918
804
128
33
869
812
926
824
799
986
806
921
920
266
628
520
621
878
723
796
941
351
917
285
121
553
832
427
286
760
68
484
40
775
22
556
678
231
173
248
128
407
834
696
782
253
454
893
412
624
210
820
469
560
202
548
420
0
678
696
813
947
901
129
592
590
273
79
692
637
310
416
368
194
360
822
789
510
739
82
341
306
61
634
807
192
240
819
873
34
972
332
506
371
308
885
977
463
977
81
215
774
808
348
855
66
538
159
562
230
634
756
752
344
355
40
431
139
635
917
70
685
937
31
355
669
628
939
165
745
694
504
466
849
71
632
789
642
679
299
852
722
471
216
995
816
944
899
443
946
202
640
483
305
179
496
905
42
943
813
850
527
912
866
735
445
149
350
743
204
636
169
113
355
571
230
851
710
361
989
825
847
102
433
51
826
86
790
684
533
246
961
734
561
508
904
927
836
314
912
317
808
878
605
641
880
69
985
172
71
665
75
709
777
72
771
901
19
855
705
646
324
783
525
998
341
73
156
499
702
359
874
695
205
940
967
947
149
785
63
590
760
686
647
874
353
514
407
19
802
834
972
436
851
811
775
207
478
359
332
972
492
749
593
494
221
318
789
533
338
274
508
59
126
385
29
112
97
287
801
743
398
483
895
143
541
171
164
667
39
548
463
409
41
71
512
593
533
320
389
642
994
891
822
986
632
212
828
678
354
680
661
339
499
574
480
567
393
337
105
566
834
284
102
514
472
794
243
796
145
587
944
509
489
81
521
705
763
469
813
459
900
45
962
751
880
872
621
392
609
329
825
967
34
169
860
928
781
607
208
63
742
675
816
815
478
693
139
511
557
408
618
127
997
779
700
827
252
266
222
553
47
932
142
74
475
588
289
789
487
432
584
555
256
168
103
264
662
236
794
343
968
92
387
388
864
934
650
495
682
945
428
54
469
845
287
45
270
461
96
20
474
59
212
646
391
591
390
390
896
993
292
152
482
817
629
926
732
994
741
295
97
722
722
577
760
835
569
340
722
986
823
653
258
915
178
674
758
820
565
481
603
962
20
143
730
894
699
507
691
673
343
971
343
484
794
337
886
569
143
326
553
736
815
516
821
565
345
916
100
551
698
111
157
515
544
793
615
874
990
796
626
592
560
831
776
761
20
677
583
143
919
568
449
539
145
332
418
771
125
256
23
712
24
529
445
849
859
105
382
541
813
928
726
44
935
720
266
485
924
815
651
343
692
830
553
571
298
171
628
990
65
765
647
270
152
266
342
197
166
773
550
756
686
533
577
512
821
448
166
561
412
525
285
569
595
385
705
291
903
637
46
329
642
769
131
806
973
166
481
157
118
307
447
561
562
382
439
488
310
185
690
301
73
325
415
526
111
622
832
720
168
91
365
246
694
779
314
334
498
380
316
53
517
760
753
232
375
341
790
325
649
111
689
320
839
577
814
788
44
495
155
929
393
364
74
879
36
376
83
145
496
705
288
130
787
202
718
8
82
270
214
913
449
364
935
429
582
303
747
983
697
199
347
708
137
649
631
882
896
103
528
551
809
716
149
135
58
943
223
877
927
257
283
625
99
16
172
200
743
459
210
380
786
221
804
450
571
905
439
841
3
394
959
411
975
276
971
677
510
164
18
529
393
618
12
103
602
136
942
308
707
6
301
134
373
372
44
815
490
503
875
643
980
450
57
707
226
652
211
861
553
853
574
663
701
680
854
90
691
9
325
24
397
391
487
461
551
374
786
718
522
214
408
172
71
106
389
581
39
792
989
184
214
755
373
74
102
667
233
162
642
908
793
986
98
578
264
105
161
619
854
568
772
522
329
919
943
683
369
31
240
813
793
52
117
365
531
228
298
389
747
621
393
548
401
785
93
504
850
320
810
106
608
359
790
178
856
47
998
144
568
519
25
135
91
549
505
264
616
116
581
244
615
610
893
616
422
664
940
386
621
396
793
203
764
494
710
53
79
121
217
344
852
69
948
486
948
302
882
301
322
808
643
290
995
445
937
679
855
798
533
518
154
490
982
877
773
694
136
470
934
452
352
298
873
507
124
333
379
886
686
868
959
262
389
612
608
405
323
9
287
916
195
968
249
521
284
148
793
773
582
975
857
20
763
674
678
261
698
347
516
583
446
463
998
434
216
401
905
66
181
628
966
343
839
194
692
615
926
361
98
912
904
198
872
424
374
317
58
732
372
694
718
783
832
409
598
499
922
859
10
792
90
810
985
608
45
607
604
429
714
334
319
527
923
218
839
208
746
52
598
391
502
342
11
410
765
929
952
583
107
968
371
512
306
734
707
174
435
236
850
213
370
343
31
855
269
996
531
186
74
936
589
400
183
216
785
48
347
248
944
216
364
158
103
466
353
756
92
747
330
377
626
946
338
43
191
195
194
749
676
597
244
750
230
254
149
943
278
926
20
907
40
540
421
703
984
727
132
962
249
861
879
848
280
684
198
939
700
732
645
943
359
36
839
48
174
673
970
596
530
475
238
480
363
352
6
420
230
282
141
661
986
617
552
312
222
152
653
654
560
582
823
950
639
288
372
912
461
169
962
73
463
50
720
654
303
215
129
465
743
647
384
442
772
858
250
860
370
389
965
111
137
658
982
865
493
921
836
321
672
245
154
679
736
564
547
504
431
877
256
153
250
301
957
879
913
354
622
771
458
224
869
318
872
464
186
712
555
755
384
178
756
687
413
537
20
963
193
724
850
892
577
62
470
54
817
638
746
128
342
472
509
158
515
909
428
602
473
457
43
645
550
730
884
334
208
893
737
918
598
31
987
220
209
783
46
930
951
357
584
986
977
179
455
162
563
230
275
137
394
786
112
797
804
753
433
196
802
331
472
142
524
985
373
718
628
131
356
291
125
36
730
453
557
804
32
144
998
794
10
270
714
402
629
694
3
78
319
26
327
550
943
230
397
423
281
817
622
912
256
816
112
416
997
953
693
952
803
679
256
477
893
683
403
923
435
20
609
339
696
516
632
432
551
169
582
350
54
851
682
302
923
258
387
752
852
332
663
728
320
647
763
538
571
222
337
894
284
563
992
710
623
743
325
1
514
71
689
638
322
258
1
883
954
366
894
203
612
718
120
604
789
649
484
253
346
194
307
482
148
721
540
194
579
913
723
755
606
486
704
922
123
910
549
215
88
306
731
68
35
588
39
282
568
650
204
45
553
637
792
519
709
518
426
771
444
699
45
879
8
292
833
118
936
584
580
485
945
838
341
304
237
820
795
349
336
549
55
260
200
689
114
278
953
228
617
678
53
170
227
423
953
463
421
90
956
597
810
425
868
607
474
258
363
498
757
46
245
755
289
886
594
881
225
615
41
431
424
919
724
61
499
728
730
775
230
112
139
922
891
47
92
283
371
998
593
276
147
593
166
155
852
878
746
246
208
206
518
489
560
869
186
257
122
834
999
555
77
892
815
731
40
73
950
795
959
482
617
164
375
379
832
10
723
603
492
496
226
958
611
327
775
624
576
633
700
561
946
595
612
279
698
422
270
75
953
239
436
851
289
535
647
65
682
407
887
949
728
734
216
264
204
59
344
331
152
457
428
657
887
516
60
669
909
335
317
310
106
845
61
667
456
604
824
94
42
49
252
670
482
181
224
322
165
667
90
664
975
932
997
456
781
907
111
683
523
746
473
787
833
314
925
709
220
861
495
718
35
859
7
416
791
400
73
557
843
487
802
958
839
966
748
37
146
17
578
309
901
695
166
416
931
759
677
274
120
213
790
700
544
299
403
467
422
546
47
718
392
464
467
92
547
228
91
920
736
487
921
963
419
663
765
164
369
600
421
584
813
415
526
242
343
134
165
600
860
696
180
330
438
616
409
308
573
468
604
592
263
691
705
26
608
89
471
208
511
746
377
780
675
698
273
653
977
344
818
862
359
986
776
187
65
78
277
979
236
534
580
968
558
954
9
497
693
284
112
72
581
449
568
124
386
284
270
228
354
572
649
985
16
306
661
502
339
19
700
703
290
867
726
667
165
677
552
675
996
778
472
940
377
769
812
366
402
378
829
93
282
815
769
428
142
78
122
45
185
299
938
569
891
982
86
22
715
837
458
393
93
421
118
760
289
66
486
992
36
771
104
668
512
607
62
130
357
996
314
438
197
673
485
123
845
456
581
990
651
986
887
217
732
619
319
564
701
254
683
325
303
884
725
217
777
167
934
735
50
940
662
743
660
288
71
641
979
564
240
791
506
796
862
720
831
892
430
100
838
467
518
95
959
375
338
309
536
99
649
410
743
679
19
715
967
415
860
253
708
159
533
172
336
726
944
303
614
163
450
860
239
24
815
83
487
742
866
638
616
193
941
868
707
271
527
192
625
645
466
994
598
788
955
530
262
729
83
573
319
408
54
731
931
443
626
614
799
605
671
895
291
804
139
806
231
14
203
659
50
857
404
730
525
459
776
252
740
881
647
786
966
31
40
854
452
606
758
665
210
298
573
670
355
804
11
37
425
85
929
774
921
72
926
394
621
635
192
518
140
509
437
290
985
4
652
163
765
591
133
978
294
344
749
962
143
707
842
702
380
933
165
806
331
161
316
226
18
532
166
459
386
815
814
174
988
564
194
709
430
151
191
663
617
430
910
251
198
869
608
691
431
69
327
184
233
891
544
439
209
835
326
244
124
735
695
652
523
770
17
987
322
176
537
850
797
849
153
881
513
538
523
518
81
66
256
835
78
940
442
526
765
620
31
656
30
397
393
368
332
827
895
872
74
67
253
266
712
178
99
72
875
345
616
177
636
887
154
555
953
600
542
993
168
12
724
362
787
409
993
963
501
801
507
105
290
328
224
464
913
232
382
707
803
813
686
985
327
626
866
421
640
183
317
593
480
211
163
251
826
917
512
444
728
836
726
588
55
502
360
47
688
922
690
45
3
370
200
807
876
793
300
88
633
809
638
384
465
200
992
852
962
285
964
918
440
612
144
330
867
991
256
194
906
177
894
346
928
201
254
765
361
965
634
113
943
750
419
592
396
766
768
141
235
397
71
667
889
319
3
769
725
190
749
757
852
874
152
190
562
256
371
516
593
777
367
528
844
553
77
86
885
680
603
612
279
524
555
328
44
262
982
811
456
463
505
405
804
931
461
687
272
459
112
389
313
104
293
509
893
385
228
875
324
700
889
560
315
495
393
107
119
446
866
315
766
91
330
699
897
102
84
680
158
310
112
737
677
154
51
980
367
15
192
737
716
664
461
670
137
837
653
944
730
213
418
349
252
65
927
145
45
688
726
376
605
200
487
405
138
786
332
209
922
390
122
21
576
322
567
778
457
158
247
97
757
952
665
76
563
564
45
536
680
575
574
914
896
858
566
346
482
417
649
413
581
713
926
646
699
581
511
240
168
277
907
471
371
139
547
591
264
490
347
289
379
437
211
731
504
47
75
396
844
258
173
333
314
574
345
267
769
351
537
773
17
497
930
850
533
861
990
306
272
262
266
115
314
297
9
431
872
737
92
130
99
374
485
777
387
334
543
678
751
322
594
932
589
617
47
882
78
449
488
580
370
967
955
562
532
689
11
509
262
942
684
130
865
111
140
314
358
628
181
568
489
178
982
494
944
567
227
884
42
174
317
510
622
450
880
768
475
60
648
21
875
877
903
504
932
878
850
32
43
462
597
926
262
867
3
476
90
568
429
695
79
732
949
434
253
489
837
982
99
881
244
924
887
865
705
765
518
842
137
431
562
730
772
635
679
456
100
241
753
229
960
739
74
939
975
443
110
881
342
521
508
254
820
546
871
68
4
19
69
137
282
994
393
153
258
919
156
132
263
253
830
819
647
281
856
200
812
126
656
482
16
351
708
713
559
21
436
457
266
197
764
198
810
160
198
965
59
993
387
541
390
453
914
240
192
532
391
461
991
514
636
430
769
148
343
590
594
551
578
796
60
308
758
893
317
341
145
241
950
161
637
996
232
361
993
339
997
423
316
406
150
859
442
367
150
14
301
174
241
561
958
80
332
590
894
132
569
343
195
21
300
222
509
390
741
360
946
307
814
735
546
5
150
544
479
76
538
295
867
816
471
300
135
96
424
628
871
276
840
526
407
646
158
588
494
999
415
198
127
769
731
508
133
736
735
328
853
786
190
551
784
886
990
479
838
382
136
448
328
888
458
166
311
928
570
850
927
983
525
923
241
943
204
224
978
99
407
80
282
9
208
528
285
633
474
543
88
672
972
878
304
120
648
662
170
324
841
107
153
189
848
194
89
996
89
945
295
155
455
328
777
813
765
94
899
911
818
901
304
41
647
988
227
449
563
95
308
986
59
935
353
400
955
889
401
749
182
823
922
282
693
938
991
95
761
378
145
74
133
818
216
959
355
399
98
597
442
508
441
335
981
474
821
856
425
492
374
849
617
970
318
499
772
656
664
103
706
981
992
303
353
836
974
838
741
67
933
172
205
955
351
81
107
484
251
450
407
587
709
747
8
758
770
622
456
150
565
811
629
951
439
513
703
853
412
444
43
648
356
538
320
651
361
834
672
27
326
954
240
363
247
509
266
885
516
261
47
316
408
348
100
19
42
722
550
544
117
264
461
812
491
166
64
575
23
443
579
604
109
114
617
681
386
760
180
983
671
276
172
493
636
123
511
707
635
210
756
999
261
657
496
111
770
821
626
168
326
753
973
201
464
656
394
905
611
229
883
480
591
457
442
699
912
474
330
13
539
121
784
407
526
110
6
543
424
805
558
94
742
361
201
765
231
67
516
641
63
846
224
730
118
85
166
434
484
359
691
197
519
706
147
774
469
693
620
730
25
26
689
264
237
670
376
626
116
244
266
6
646
779
335
157
363
284
891
204
745
834
668
322
85
517
965
327
948
107
282
973
280
32
285
450
441
517
576
822
998
891
249
98
590
404
197
628
524
47
35
260
537
326
309
699
200
739
868
421
429
65
239
927
821
787
955
698
610
505
502
138
632
661
295
669
805
908
364
155
530
620
918
517
372
948
678
192
405
918
277
357
573
449
871
221
838
813
196
779
330
633
415
555
454
504
269
462
334
513
433
993
207
842
495
388
955
225
513
799
59
232
461
911
973
343
630
520
461
382
910
972
700
336
348
316
358
707
621
668
589
182
712
425
164
369
362
413
984
749
208
735
734
293
147
854
554
996
74
173
489
434
970
957
67
91
95
467
48
884
791
539
245
480
639
983
218
489
211
628
78
500
692
262
353
33
316
208
182
132
410
607
52
513
746
880
96
359
227
932
123
297
975
269
3
220
972
667
496
79
662
698
280
736
829
81
999
376
732
435
76
952
82
997
435
401
902
878
903
844
521
646
110
774
434
775
920
751
312
449
188
304
445
933
759
693
256
390
885
914
382
474
55
65
78
189
586
540
470
712
117
341
343
426
893
209
190
374
97
489
12
396
52
821
859
136
653
274
929
51
640
79
504
40
619
70
640
831
846
844
993
998
561
425
336
331
234
17
857
810
112
309
417
391
864
899
859
756
766
377
498
225
873
338
434
341
317
673
379
166
717
595
566
544
860
509
487
625
311
780
720
923
313
425
227
507
421
23
391
376
397
159
971
555
462
152
526
295
229
939
670
448
710
632
399
448
853
191
536
252
298
714
645
44
908
13
793
699
344
867
160
521
606
984
819
741
927
928
535
112
626
94
41
699
943
409
491
461
438
866
79
133
630
996
98
661
781
293
614
379
764
509
285
904
171
13
525
436
268
465
650
6
639
493
52
859
97
801
36
841
673
112
536
26
453
302
3
959
17
240
218
190
910
39
427
393
803
820
992
847
569
630
346
969
91
468
17
143
176
176
325
100
199
365
676
16
300
577
399
796
952
486
214
190
963
626
272
401
311
85
54
865
540
880
977
154
557
842
409
472
450
491
277
269
588
187
921
930
559
27
880
83
948
82
77
547
103
855
747
202
924
68
579
440
736
460
48
476
774
912
276
701
323
884
777
688
840
216
718
112
858
994
747
323
684
688
62
505
219
104
190
998
926
565
508
576
196
43
740
834
142
156
306
195
831
752
926
790
153
877
842
394
874
464
340
112
690
494
722
190
774
118
136
830
455
945
761
872
376
514
607
205
401
452
645
15
786
255
336
569
467
865
917
122
576
817
350
811
582
811
39
804
49
920
937
908
556
372
456
310
203
532
334
425
407
728
199
368
427
753
658
971
469
529
498
797
279
158
634
476
709
376
359
414
672
379
446
356
390
407
18
675
636
855
414
868
882
576
455
187
132
837
270
817
622
87
189
99
927
102
979
949
353
483
205
260
35
348
386
717
146
371
331
59
211
126
62
351
418
706
903
344
236
721
957
584
258
590
671
187
232
199
462
482
467
897
204
943
296
957
827
57
7
62
381
93
909
597
356
803
113
586
658
434
612
8
120
707
522
139
982
440
628
292
209
915
413
960
716
275
988
714
721
197
774
159
407
670
854
949
573
765
448
74
216
442
956
196
958
191
695
64
967
617
259
866
925
729
324
276
331
41
118
859
866
830
340
174
851
428
642
160
56
332
839
484
232
839
900
874
503
686
878
508
453
156
278
145
398
578
99
105
0
110
548
671
684
421
527
236
918
407
852
540
630
530
229
454
230
360
685
405
387
210
158
678
654
38
954
471
952
571
401
465
701
920
498
421
465
905
956
360
174
83
446
707
240
603
626
316
518
514
448
189
906
471
219
394
892
466
194
837
322
469
579
576
575
344
279
175
945
576
960
930
295
827
967
748
198
545
497
985
243
400
539
763
324
77
689
729
433
633
433
102
760
237
977
264
558
56
891
369
296
711
13
511
495
522
615
930
982
426
674
799
777
787
244
785
507
221
840
590
17
751
551
462
99
860
748
591
491
574
371
552
786
796
989
587
199
445
219
690
947
22
627
424
603
977
497
256
512
496
241
680
480
13
161
437
871
609
882
650
286
777
902
334
481
52
720
703
237
774
66
659
719
8
259
513
613
883
637
885
578
274
36
550
691
165
979
307
998
756
434
705
306
275
438
140
626
542
445
587
221
826
419
875
903
449
12
450
43
97
461
447
170
136
737
543
499
362
166
340
402
264
808
808
816
171
249
926
394
898
694
428
427
104
950
918
21
942
947
171
505
986
660
709
434
139
946
947
592
297
854
565
846
160
816
359
504
642
885
149
257
166
20
279
150
525
956
664
173
517
692
587
304
90
19
829
672
564
761
901
364
276
422
852
9
656
69
551
613
193
587
351
777
747
343
993
59
888
519
807
248
495
595
618
397
50
324
584
903
503
308
607
307
123
96
105
484
460
110
315
311
108
349
563
722
123
204
792
840
825
602
136
565
274
240
380
898
339
127
116
2
743
557
51
993
526
420
435
375
625
933
737
540
95
715
965
612
603
738
870
445
189
182
581
659
909
956
703
483
639
793
532
519
833
318
260
678
316
687
567
761
41
595
365
403
972
848
67
749
211
944
221
868
479
941
249
924
814
102
328
789
482
865
778
70
189
419
81
330
47
191
543
989
895
325
741
835
520
890
677
587
898
130
479
843
920
444
591
171
205
491
783
128
171
137
76
866
894
97
97
840
636
718
462
137
529
38
664
841
845
672
478
389
369
76
442
635
91
19
856
577
457
343
820
299
342
768
66
666
413
320
819
23
686
458
457
791
661
278
739
128
98
428
345
181
13
299
420
779
253
307
300
877
955
786
119
193
486
930
366
722
141
435
318
207
645
569
327
932
230
882
783
788
576
258
809
774
57
816
128
181
576
740
507
619
928
113
920
70
302
847
337
573
630
398
523
530
448
768
648
920
870
981
156
905
990
590
359
865
463
619
930
433
592
159
775
570
667
760
611
62
395
835
752
109
491
114
994
225
44
521
634
860
475
710
701
196
965
598
691
953
791
516
327
975
508
299
728
711
713
289
98
223
213
566
883
308
147
909
617
19
688
70
233
891
23
933
648
235
194
841
917
685
536
912
558
813
872
739
847
479
536
339
8
303
732
892
337
436
729
478
205
732
935
974
46
212
287
244
172
60
595
34
201
568
639
353
906
968
723
1
989
561
873
689
428
187
414
705
132
602
216
765
505
766
794
626
71
189
180
698
544
894
430
283
70
964
365
349
732
212
453
993
600
764
301
339
300
965
631
173
722
371
537
509
508
937
181
289
475
155
488
21
403
828
602
580
16
605
645
791
583
840
288
880
118
758
690
236
72
452
778
647
725
490
641
273
770
348
823
889
780
674
301
237
992
604
530
538
734
59
676
598
543
668
913
446
746
851
172
495
362
284
968
113
586
49
757
116
93
678
607
819
85
411
472
860
839
627
281
138
563
75
149
97
449
101
242
733
11
663
679
414
20
881
471
704
765
657
591
88
688
298
406
746
124
538
678
296
614
582
236
209
299
540
711
711
619
13
398
526
454
390
609
559
347
819
454
405
447
457
399
194
574
449
402
583
149
122
224
106
654
311
329
250
110
727
44
546
668
360
423
210
162
249
782
975
558
853
323
688
291
551
979
266
36
999
985
364
142
236
4
203
759
659
103
240
30
908
861
527
322
924
55
441
332
322
957
454
214
59
279
591
48
164
75
686
612
817
687
343
808
97
610
379
111
818
932
316
315
432
731
45
75
567
44
872
779
605
409
728
583
159
823
431
343
576
364
162
423
705
45
681
767
611
21
395
358
353
851
175
312
394
164
721
547
718
960
647
192
599
685
169
420
762
642
73
432
504
307
624
78
990
651
415
792
189
262
311
265
616
46
158
490
96
887
825
653
517
156
91
320
703
811
490
14
135
6
741
918
279
793
323
988
803
939
371
183
273
367
575
429
146
114
17
689
236
910
64
850
343
539
264
175
326
796
790
633
895
783
284
195
740
524
652
834
352
412
527
425
834
782
527
274
222
86
749
318
540
175
968
865
950
5
798
490
389
330
995
154
112
234
723
374
462
110
100
865
72
75
735
47
804
928
483
670
350
382
815
268
123
161
212
528
93
460
303
243
256
970
811
760
91
216
346
805
333
185
979
6
306
234
301
839
463
322
204
329
203
946
523
148
826
974
68
745
812
743
86
861
442
715
126
727
941
481
716
469
674
302
557
487
228
482
418
855
455
608
593
855
930
712
733
889
12
368
763
6
598
419
825
503
779
159
30
116
207
488
648
611
264
411
719
461
581
358
305
428
545
539
318
54
181
657
817
787
903
705
696
629
241
42
9
122
354
686
633
975
960
512
602
87
34
466
37
989
444
496
896
430
572
203
826
738
165
597
994
808
849
35
948
816
239
441
434
498
615
353
820
343
546
354
460
228
892
947
367
793
285
319
898
288
369
5
730
400
305
975
466
321
811
4
870
63
666
128
243
391
870
438
358
23
85
390
228
882
200
651
309
709
348
135
762
47
54
727
265
361
368
30
48
585
6
913
926
54
666
155
9
139
481
500
937
268
11
982
88
431
545
665
330
218
425
874
895
811
140
544
444
151
523
575
710
839
563
907
995
284
369
644
146
965
168
169
574
169
574
335
539
797
349
792
595
341
319
401
181
692
266
988
42
435
944
610
0
344
138
167
79
588
776
112
830
634
563
898
620
765
360
74
855
848
971
926
968
787
673
540
927
457
121
244
958
713
653
668
409
697
185
695
463
291
938
970
941
975
647
996
553
791
258
782
691
160
537
339
346
238
723
119
588
242
136
608
999
267
555
894
964
868
450
443
315
180
411
914
913
80
596
772
284
919
602
472
620
28
638
351
531
832
159
478
539
185
365
649
328
11
679
261
925
230
696
274
978
147
191
696
835
617
396
6
663
555
338
90
879
480
966
813
224
617
972
136
395
346
357
611
501
761
559
878
93
749
627
984
432
390
655
923
976
431
81
58
123
164
706
402
612
263
628
788
713
750
412
607
82
74
31
505
192
265
489
218
143
199
384
316
498
335
99
89
589
935
255
32
628
921
375
865
359
672
950
240
206
455
471
724
657
331
235
778
992
599
727
634
943
309
599
880
845
663
646
272
104
178
937
482
437
812
633
391
480
677
629
664
746
505
362
547
407
814
612
880
980
795
517
510
67
376
489
611
734
339
600
225
76
298
514
921
829
968
673
123
495
7
237
1
387
520
177
876
46
393
227
21
691
857
21
173
337
722
38
978
963
45
307
501
323
370
28
132
125
587
942
114
518
107
211
26
333
148
227
813
139
367
331
98
496
394
155
400
325
493
260
24
318
924
875
832
87
592
880
502
733
875
419
881
760
164
880
119
529
980
203
367
610
985
686
862
779
745
193
482
529
477
127
953
922
707
395
433
109
877
650
135
578
739
562
967
858
392
125
995
492
915
91
254
328
114
732
505
728
217
51
446
440
409
3
792
949
480
985
194
492
928
603
144
946
602
378
85
72
640
628
684
795
897
466
231
115
491
666
117
777
101
102
627
704
700
22
385
257
631
192
923
121
950
385
235
110
647
464
184
816
699
246
173
651
340
150
154
323
104
212
576
381
497
165
818
158
579
285
325
575
242
695
409
250
223
274
236
143
422
478
727
352
197
259
642
43
821
331
772
112
997
484
50
829
780
279
257
422
151
509
733
47
671
305
193
808
517
250
342
709
529
691
329
619
292
979
240
980
649
509
529
767
148
275
453
409
319
362
39
307
743
964
659
15
249
420
951
691
753
296
203
175
670
120
32
373
429
621
935
84
628
341
279
200
703
519
636
970
631
784
258
388
500
526
476
590
933
274
26
497
659
932
488
34
264
231
990
721
488
549
3
22
982
198
463
940
347
877
13
860
234
438
541
239
373
733
534
684
287
602
219
364
10
988
734
792
205
832
83
931
238
500
108
435
153
507
658
931
972
341
205
589
430
546
67
538
685
825
287
413
494
227
362
136
206
697
813
954
598
503
703
522
995
763
190
547
2
267
522
93
475
11
185
396
60
175
576
29
446
102
407
224
355
114
223
374
364
320
968
839
643
361
631
650
118
239
145
323
165
432
886
589
806
902
632
137
349
297
185
983
736
849
840
306
784
405
244
951
98
663
491
185
126
149
740
228
476
440
733
651
66
577
256
602
646
290
94
832
643
418
319
261
762
484
45
956
213
358
259
103
195
112
642
929
73
853
96
193
410
701
685
797
512
319
244
116
873
452
584
142
358
141
156
570
917
992
739
164
352
288
750
692
638
113
82
968
42
386
893
360
60
433
440
541
711
562
297
185
636
94
690
545
750
686
463
636
729
790
117
524
689
54
446
724
636
778
642
721
139
420
69
806
256
594
98
826
944
320
533
401
966
272
349
509
841
817
530
321
252
321
487
635
711
634
667
563
678
993
89
62
982
639
397
765
238
129
816
909
797
427
191
269
871
898
790
429
238
188
132
798
884
971
459
33
931
61
378
835
537
780
221
854
247
648
443
625
458
220
94
787
699
653
446
678
176
504
313
38
823
248
134
859
243
154
197
541
753
2
769
311
512
231
520
185
422
756
728
467
82
735
511
25
968
223
941
286
428
829
858
943
737
669
792
517
879
601
446
845
454
101
231
177
791
434
776
159
144
38
661
547
885
910
348
647
214
952
992
937
325
907
417
550
118
522
682
415
697
406
704
862
511
128
939
553
765
363
726
808
612
477
346
792
867
293
431
425
515
958
374
735
656
479
640
531
985
343
102
796
508
730
98
824
189
990
970
544
697
262
392
548
7
352
693
219
292
433
847
438
191
282
878
431
542
632
294
842
928
979
759
17
967
621
307
554
71
727
753
460
72
321
204
493
567
983
579
41
420
156
896
604
302
960
961
466
252
677
655
387
25
666
334
700
679
793
57
115
766
225
855
946
127
323
271
932
439
514
659
591
106
891
437
750
621
449
658
592
42
787
843
42
664
460
316
173
982
745
575
566
636
207
333
703
489
894
710
857
407
462
45
55
499
467
93
785
948
551
108
876
38
18
347
84
553
937
358
998
998
68
383
989
631
613
558
85
517
663
13
175
738
767
171
7
415
452
342
8
796
850
964
442
709
895
152
886
141
120
78
446
723
254
344
187
934
436
592
854
575
77
702
784
24
299
332
118
142
945
613
767
470
12
480
412
434
386
334
260
325
98
383
509
131
968
984
737
196
753
464
275
354
971
838
75
386
211
978
294
31
159
369
477
296
458
863
177
303
939
446
619
584
785
263
564
865
959
406
887
790
53
330
357
793
635
105
820
701
731
671
509
777
412
69
306
544
388
632
333
936
837
112
141
398
818
999
89
949
788
505
346
397
639
465
503
625
536
442
247
563
486
609
331
540
37
453
102
217
992
50
446
211
524
418
892
480
546
845
951
905
336
689
591
38
904
357
766
332
262
609
960
263
786
26
43
350
761
611
87
163
713
737
325
44
548
278
643
190
390
658
914
50
738
472
502
333
566
387
516
554
929
867
786
433
321
790
182
715
905
149
614
745
18
15
358
274
999
688
210
403
906
512
506
87
598
119
631
761
718
707
83
370
694
423
787
382
382
870
462
601
104
506
798
482
23
638
299
306
918
446
785
536
681
529
784
62
983
923
902
169
983
720
517
173
708
600
772
325
474
107
592
247
630
380
209
741
153
702
57
877
85
644
589
493
902
749
524
929
872
717
999
5
711
263
402
400
290
660
100
27
594
869
147
246
710
346
201
75
771
171
14
33
536
885
987
649
996
47
444
375
767
424
773
747
87
233
270
869
175
610
499
228
626
978
909
526
328
581
708
531
977
766
371
850
223
813
107
372
333
281
546
930
509
589
132
305
777
574
194
755
409
942
783
167
960
821
220
273
358
738
201
825
898
238
537
795
503
725
675
596
592
876
620
9
730
977
267
745
932
238
590
67
284
69
874
340
790
504
971
468
545
618
972
591
135
300
535
952
684
395
630
534
432
758
975
15
956
439
534
870
170
500
430
837
637
847
277
900
278
105
727
99
539
346
637
236
149
563
52
623
677
439
224
389
832
471
34
714
683
969
123
549
607
970
903
188
794
771
470
591
209
688
827
890
96
175
390
614
563
596
121
291
836
136
713
352
432
2
607
238
810
92
300
851
126
956
259
422
308
472
899
840
136
410
314
389
993
552
600
235
911
847
792
253
151
65
909
255
582
303
602
8
583
9
623
81
801
885
63
233
670
601
552
414
167
949
800
325
583
181
140
521
50
71
337
156
579
902
576
604
271
254
781
909
852
886
802
641
554
44
354
353
410
868
235
962
726
604
587
793
614
56
727
500
374
146
134
633
657
928
979
714
106
352
145
969
750
476
579
992
394
823
481
809
594
739
870
249
55
959
670
997
723
228
146
860
900
489
124
863
195
372
814
731
281
420
522
199
21
80
467
841
218
994
430
742
901
870
478
817
84
468
667
592
853
527
208
577
264
221
959
865
413
814
226
42
711
233
344
727
28
367
544
446
831
478
129
65
806
345
344
978
298
355
169
665
866
257
897
822
154
661
863
340
948
224
359
686
452
537
676
290
780
765
488
174
751
112
308
43
555
154
519
204
516
344
661
724
841
291
332
338
43
902
798
867
135
565
810
671
261
494
751
346
15
303
330
809
220
154
755
196
216
674
453
44
455
783
47
781
816
243
692
569
501
281
895
657
736
679
473
502
886
603
148
999
800
574
879
204
241
380
623
6
771
2
45
63
56
915
568
908
419
472
344
387
60
604
413
980
530
532
149
335
808
948
214
681
294
66
454
129
37
851
519
24
214
942
77
345
780
226
573
332
206
329
688
882
607
634
66
190
895
850
170
96
292
430
130
188
345
954
115
240
112
52
704
79
507
141
996
436
994
897
27
251
857
883
842
526
91
20
414
939
560
330
232
203
760
392
612
459
340
763
32
559
280
127
513
0
453
960
862
275
828
834
848
377
920
951
606
476
848
570
782
303
785
888
472
926
671
645
874
173
276
38
156
448
152
528
743
494
371
344
147
517
185
850
898
259
719
723
249
790
580
841
531
999
8
748
931
106
333
428
739
902
881
853
209
660
84
58
74
978
164
814
299
96
773
401
211
365
995
26
984
408
146
329
566
372
884
707
791
667
644
28
407
515
217
974
334
188
694
187
935
348
895
526
335
884
572
738
578
879
836
403
787
653
900
22
758
160
36
149
387
329
489
174
574
596
421
42
791
66
205
348
745
693
32
642
673
503
671
15
730
910
535
278
15
963
946
205
840
954
953
314
960
491
448
737
518
221
157
2
931
275
33
3
264
783
875
889
869
529
997
642
79
517
525
37
72
744
273
13
506
655
487
235
453
152
630
760
846
886
181
774
328
365
873
407
964
107
555
914
407
457
694
26
166
146
526
776
731
655
987
914
753
63
158
102
92
262
316
497
687
197
43
39
62
727
283
363
873
407
956
181
310
579
648
954
838
754
739
650
767
809
277
847
260
755
154
435
352
118
452
638
7
118
305
145
923
857
392
22
453
572
329
214
54
35
834
42
665
710
569
73
490
806
896
621
402
970
861
878
468
22
161
507
200
592
709
914
821
716
353
708
621
70
112
609
69
722
928
783
629
287
426
741
471
485
272
921
827
413
808
532
7
323
127
201
81
560
640
660
403
361
471
264
208
143
509
39
195
886
999
213
671
133
935
27
625
900
782
440
966
284
332
305
364
790
915
232
37
985
848
865
839
427
398
469
707
102
353
860
753
859
972
290
21
795
199
790
865
666
591
784
19
674
290
809
807
795
56
775
767
409
206
561
695
44
446
230
882
445
52
954
919
652
702
167
918
371
616
866
242
630
260
604
22
299
750
595
625
252
951
269
225
986
216
628
276
973
370
500
554
952
398
11
245
758
376
35
377
619
375
916
49
770
771
283
76
56
556
193
41
987
124
212
179
171
118
804
97
506
567
454
856
813
760
856
18
362
525
805
228
210
412
63
893
404
736
609
26
638
993
112
247
376
95
991
181
659
234
355
758
421
949
270
974
421
669
722
851
602
797
536
864
162
133
694
273
419
434
357
404
486
219
29
782
14
957
803
543
43
546
710
454
527
379
542
632
16
346
460
862
645
559
819
847
950
905
94
555
852
50
15
439
219
333
263
735
646
708
838
971
340
938
893
157
16
81
249
810
822
797
289
144
482
881
948
154
846
422
722
426
665
708
718
653
313
963
447
406
206
492
516
541
41
783
906
43
973
584
150
745
824
992
497
964
195
872
791
997
567
98
153
44
803
667
862
695
50
964
128
228
343
472
663
635
99
676
525
403
129
235
883
624
263
507
558
439
220
384
704
139
687
410
585
842
399
808
592
935
470
160
63
415
160
16
350
984
635
987
555
331
695
635
80
563
400
13
678
791
575
126
89
888
754
946
657
680
842
160
252
627
703
520
417
442
771
276
527
11
772
967
925
955
191
247
429
177
262
552
398
473
550
679
985
7
151
742
142
178
353
477
270
801
588
146
859
449
383
932
407
38
232
169
589
970
888
330
513
278
469
758
336
404
515
163
50
127
440
527
894
154
991
785
600
936
966
407
642
382
475
209
333
185
748
958
108
323
972
732
484
644
489
325
695
709
505
444
944
607
791
536
556
133
707
683
912
64
379
573
496
753
724
137
927
994
533
662
579
921
397
78
764
803
424
149
908
86
332
903
757
411
841
613
791
946
982
660
700
609
728
23
50
486
924
459
185
894
472
703
888
54
390
7
357
297
259
723
583
45
895
988
625
600
773
153
521
258
643
624
198
281
665
160
120
678
358
106
76
126
367
575
82
52
532
726
879
185
718
323
979
157
814
664
50
186
309
426
263
598
349
241
823
532
548
632
704
711
281
282
836
787
927
901
837
452
324
171
602
384
493
799
50
815
589
323
173
40
592
526
725
639
286
224
32
423
191
101
307
323
604
786
302
228
650
90
472
601
975
300
750
989
382
24
30
496
107
234
431
289
123
900
613
314
196
252
669
721
263
229
506
650
630
139
876
888
598
500
18
909
499
652
766
934
384
621
129
237
118
560
267
219
589
814
892
424
228
551
523
707
512
463
890
538
856
174
50
353
273
590
288
828
595
71
828
131
229
719
692
855
273
158
124
165
261
40
885
889
57
375
264
338
376
323
859
515
482
846
693
356
617
396
954
611
156
146
587
879
831
119
932
503
525
314
845
597
915
297
599
856
80
526
77
420
894
997
479
266
828
209
970
194
851
808
783
247
898
738
643
113
733
207
377
672
694
386
371
943
297
404
95
131
191
704
348
648
992
215
134
713
695
833
419
717
220
825
493
836
304
822
77
609
678
781
979
677
755
258
418
742
738
277
535
411
570
460
83
701
668
456
556
398
118
554
965
661
332
822
792
934
966
248
815
134
325
169
461
378
740
803
764
438
10
747
493
554
312
263
617
203
106
789
693
674
186
64
607
806
297
665
630
613
387
700
25
999
376
975
192
402
363
890
549
25
581
973
854
84
737
922
407
613
354
624
114
884
468
527
389
799
176
379
421
909
649
525
36
720
567
710
791
858
859
749
411
868
300
964
923
6
63
253
177
85
345
137
163
687
20
459
79
925
519
298
100
504
691
946
90
310
780
286
535
481
265
237
287
179
176
286
895
376
413
323
516
302
296
320
388
362
862
14
220
619
264
611
217
96
752
148
119
880
962
381
48
181
430
321
590
733
732
559
431
797
187
956
31
477
413
869
829
267
339
484
372
45
627
204
338
320
707
624
521
209
793
17
610
139
289
976
390
693
408
480
266
954
494
651
801
688
765
578
605
529
257
722
480
892
739
492
337
763
703
215
287
701
316
829
521
8
972
359
476
370
316
180
168
996
377
790
224
768
328
486
167
706
856
256
884
597
863
88
623
928
72
587
615
476
447
295
170
146
52
240
836
226
793
790
201
540
213
998
614
295
375
376
334
101
818
901
954
20
51
46
46
895
6
817
783
816
107
728
662
964
368
963
753
920
42
593
399
877
748
198
60
840
7
922
412
198
256
481
86
122
721
24
234
476
781
485
955
577
429
650
63
421
261
631
881
756
492
536
137
214
228
790
638
657
36
376
361
222
64
252
213
691
904
454
634
803
281
713
103
466
734
583
847
106
333
825
462
445
346
696
520
655
956
997
518
681
894
65
400
305
671
580
851
74
487
64
532
431
26
185
379
178
830
437
715
868
550
771
328
827
503
464
146
57
660
126
811
186
691
858
124
338
344
320
371
422
64
832
292
554
229
596
281
180
526
647
739
147
75
745
860
599
550
503
551
573
388
356
626
635
942
62
559
904
730
667
205
956
884
194
857
83
648
467
455
764
648
208
137
556
765
185
662
992
882
225
904
772
662
999
465
214
566
505
410
142
663
669
823
625
773
376
468
114
313
171
155
74
766
872
808
47
675
86
638
873
507
854
276
363
440
86
947
659
496
60
455
836
266
633
121
866
956
445
796
395
395
227
204
4
639
697
418
78
548
648
658
425
275
145
47
184
50
570
433
381
889
907
929
227
663
631
865
379
841
743
56
577
517
595
284
415
133
250
12
11
558
129
838
187
61
331
819
931
247
70
570
755
43
247
793
940
800
300
576
134
308
609
300
489
939
150
376
135
304
475
581
842
360
694
818
423
299
589
362
562
521
204
162
628
249
893
158
710
781
737
30
851
319
991
562
744
458
71
230
757
545
852
506
817
157
609
587
365
306
985
689
544
633
451
5
819
966
128
616
558
134
566
262
285
222
886
811
23
254
892
620
263
592
770
498
427
719
84
609
277
143
45
969
446
558
725
644
43
967
685
336
841
724
331
564
417
124
576
913
716
706
244
190
602
883
80
278
945
144
363
398
520
22
642
373
406
406
606
558
714
196
608
919
424
335
235
680
144
17
792
864
701
691
510
61
523
869
714
917
515
499
764
747
229
926
88
355
436
582
931
540
420
826
32
967
719
533
356
463
833
515
669
134
953
595
456
519
22
773
495
366
35
417
428
527
761
601
977
378
698
991
229
376
915
212
67
851
689
956
50
160
774
84
350
304
410
412
575
434
395
383
601
357
491
415
663
480
279
138
660
687
440
288
757
539
511
518
482
702
713
255
635
434
2
803
80
658
922
410
930
148
885
510
900
969
561
734
782
740
678
243
608
463
69
841
251
89
192
311
136
586
842
626
383
290
661
82
645
114
355
809
629
544
87
552
152
335
696
639
181
768
45
543
757
484
671
74
12
484
297
672
410
361
775
933
615
842
423
573
588
646
790
954
978
965
564
205
413
97
292
775
231
956
706
149
593
93
662
776
565
709
777
435
814
484
612
379
540
996
155
519
205
193
584
568
861
88
28
695
491
197
592
242
491
332
596
647
728
957
642
53
858
54
223
25
286
646
620
517
281
514
840
558
521
270
435
333
840
183
650
711
63
208
700
446
980
921
688
505
16
596
600
771
689
951
35
621
127
464
189
422
162
67
977
866
191
25
953
779
571
262
625
512
180
392
519
788
773
820
707
451
895
864
95
233
625
391
242
143
544
541
987
62
897
636
49
585
15
525
938
834
387
533
573
908
615
569
555
522
667
988
125
529
561
200
597
945
797
478
97
954
349
804
750
462
183
17
64
566
218
645
364
639
190
602
771
620
298
894
547
184
324
759
360
315
908
799
426
654
759
389
324
259
107
717
596
57
548
633
247
348
62
806
394
90
394
345
892
782
150
483
293
856
854
513
141
967
170
167
333
40
688
700
483
97
519
935
378
122
814
529
857
810
701
282
920
541
727
535
803
436
201
1
5
172
601
122
590
501
862
783
996
979
151
743
54
810
942
615
276
435
480
293
524
917
506
367
924
71
591
410
10
413
773
618
719
852
33
233
676
219
872
265
633
540
879
803
188
423
545
794
586
62
43
99
597
620
77
197
739
388
237
540
419
125
554
777
545
823
713
554
399
99
414
923
67
322
642
205
165
371
2
455
895
971
905
11
660
922
109
918
224
551
297
752
882
397
654
807
383
15
711
405
62
638
63
895
696
719
59
335
470
707
645
753
718
336
421
926
229
993
479
967
92
644
988
101
642
429
607
53
571
362
787
882
187
424
450
153
507
319
337
426
993
570
732
228
108
339
469
298
932
882
490
268
510
212
986
250
620
211
792
736
21
71
734
994
71
261
695
523
593
611
816
90
261
63
679
717
325
380
165
378
595
172
371
975
299
225
660
103
703
300
769
352
397
477
299
236
10
531
792
229
453
418
224
506
628
889
332
888
9
451
951
14
881
848
668
860
447
647
282
632
200
676
139
625
335
462
514
670
531
231
36
686
212
572
518
592
735
382
773
230
885
657
205
694
999
126
452
705
71
841
8
466
901
683
765
156
622
59
383
134
317
775
671
118
80
914
562
926
809
290
272
365
858
729
233
663
515
160
827
735
105
957
215
716
958
700
996
375
0
358
946
754
191
559
949
326
365
56
735
285
768
93
973
7
131
255
411
161
269
294
494
322
300
23
519
464
624
727
747
327
387
72
833
456
843
369
507
143
634
450
762
669
291
320
469
813
258
976
959
821
203
679
508
834
579
446
701
322
922
820
960
709
164
27
247
812
767
208
672
926
353
302
531
204
435
776
124
673
348
539
730
858
612
548
112
431
917
667
957
84
343
842
113
684
515
841
101
64
881
94
449
826
711
216
191
554
353
514
616
823
314
489
70
930
771
630
675
907
644
844
915
178
968
4
448
833
112
304
419
775
369
234
145
51
173
340
656
716
948
738
23
748
868
323
4
186
69
607
62
346
451
348
237
159
633
965
485
897
267
290
948
393
323
723
82
329
426
977
500
252
850
909
61
823
466
551
567
357
835
452
477
277
631
18
752
926
112
726
105
330
794
18
973
701
172
972
131
544
202
789
1
378
746
728
795
288
667
917
298
823
173
998
831
39
22
819
705
531
125
306
434
370
589
821
174
282
253
407
773
57
841
657
685
206
588
879
978
832
378
907
345
305
780
376
562
161
561
47
443
990
20
534
39
584
606
44
296
620
391
493
37
40
656
832
247
250
981
938
553
465
626
487
90
547
428
151
204
809
874
861
255
356
42
640
832
327
574
335
493
615
974
947
410
766
228
328
117
411
249
768
80
319
673
233
648
454
891
983
294
670
138
693
480
191
876
912
647
313
543
120
125
960
494
92
87
682
604
331
902
9
17
673
850
189
473
659
601
532
59
149
705
374
901
441
544
491
240
684
562
450
105
421
452
86
914
250
26
771
144
631
834
997
717
14
2
632
788
17
852
210
149
194
263
421
109
218
850
581
679
280
543
834
909
567
654
925
295
239
89
576
644
887
728
197
649
316
723
975
32
40
402
608
174
722
230
242
132
53
921
877
900
774
426
246
290
526
858
806
102
737
149
464
382
684
540
807
660
172
289
170
85
428
561
596
928
639
797
210
69
705
411
570
882
267
186
560
291
711
789
6
81
863
47
557
579
636
809
170
247
240
15
425
419
824
704
731
802
750
414
988
66
692
44
97
876
713
365
290
196
829
579
830
511
604
822
371
523
779
692
114
216
387
404
603
390
802
794
622
48
605
234
56
811
256
166
983
709
423
291
269
157
25
960
862
751
330
938
397
718
588
931
136
943
789
829
12
631
431
679
828
174
809
261
212
121
915
708
980
647
683
198
506
776
238
363
573
817
770
326
386
81
467
523
64
933
670
883
450
407
806
989
203
519
999
730
43
606
359
108
219
597
616
718
200
326
654
244
776
292
371
373
579
29
713
731
292
777
43
763
368
526
661
608
589
360
132
304
137
506
559
870
365
641
999
111
762
963
593
712
614
864
691
657
121
512
791
908
249
818
413
253
583
234
868
659
93
901
1
353
607
896
973
855
286
703
572
357
399
906
233
879
402
482
527
522
961
494
800
539
166
47
978
918
906
424
836
349
224
99
178
283
158
624
766
28
780
30
511
597
752
589
534
648
992
497
244
868
864
263
180
832
189
4
493
891
985
429
925
112
964
699
401
171
944
343
109
835
525
65
753
719
232
456
770
347
71
767
669
288
636
826
768
483
759
779
42
708
876
81
440
930
559
646
962
887
771
495
375
122
61
862
826
457
451
27
975
132
770
623
986
755
301
801
580
381
549
997
409
310
104
882
894
338
958
660
211
261
232
267
244
640
994
309
944
787
883
358
931
784
516
40
780
844
549
804
421
707
15
618
768
62
185
220
380
746
631
507
386
843
296
646
776
57
929
65
547
730
312
796
871
63
654
334
740
238
428
234
631
388
324
980
569
811
865
426
360
269
766
457
79
88
786
278
660
995
965
311
869
884
709
375
12
375
226
600
696
600
339
861
206
471
721
343
751
77
201
913
902
587
153
429
895
308
165
420
781
777
376
195
956
489
695
435
355
846
176
298
363
668
822
450
523
947
273
893
445
640
234
347
252
721
887
547
166
540
159
858
299
96
812
749
579
276
823
882
281
15
348
93
432
807
958
413
959
936
7
40
533
200
211
409
933
127
395
953
748
749
640
429
659
463
242
32
288
665
642
134
476
677
402
806
287
151
68
178
493
444
646
324
22
202
367
160
413
517
241
345
205
724
504
808
323
76
962
393
547
26
78
225
106
583
464
906
788
43
503
55
266
512
774
891
61
639
596
602
97
276
927
899
188
420
484
113
909
927
964
162
683
257
29
726
750
482
242
283
929
241
263
16
741
465
614
105
320
4
628
962
172
757
287
862
824
368
869
577
964
178
235
118
747
889
849
207
988
759
110
215
515
666
587
203
304
444
148
469
865
76
84
326
530
851
176
755
353
198
803
780
810
474
25
119
23
81
835
11
634
388
253
304
184
874
359
339
741
278
216
403
892
779
941
717
541
757
427
386
904
731
500
128
274
307
592
236
824
83
345
584
432
474
602
724
301
993
630
464
930
111
482
776
922
963
625
61
114
190
545
773
708
953
503
773
436
1
338
393
192
489
371
407
214
423
779
881
612
602
418
522
374
249
116
810
934
613
507
852
398
778
736
566
797
172
583
182
17
30
934
873
643
409
526
279
238
218
489
600
770
842
670
691
287
606
399
264
848
718
406
451
621
878
142
16
701
782
174
816
117
612
177
806
910
789
547
243
800
176
298
335
923
387
280
246
541
635
91
784
100
837
903
505
40
897
581
579
721
430
297
515
511
483
349
138
441
393
388
344
578
628
430
565
80
139
614
832
57
215
304
172
171
68
689
630
977
677
459
656
14
565
173
813
465
742
269
867
885
828
694
697
799
297
158
937
712
698
603
563
939
454
971
986
517
203
30
845
147
397
217
798
412
625
445
308
201
31
710
552
24
470
496
503
387
946
467
496
895
318
615
249
171
684
243
349
881
865
585
737
953
185
829
585
749
602
965
871
850
304
393
470
559
198
755
764
356
643
394
21
233
462
827
36
65
176
482
170
777
58
126
261
799
951
24
729
483
717
439
241
110
97
889
709
554
816
640
351
984
400
693
173
137
970
619
736
970
660
295
680
547
544
321
576
934
995
669
646
3
400
483
329
597
514
362
271
81
389
816
120
665
106
706
242
147
841
995
407
922
152
128
681
331
776
33
971
428
272
167
682
647
468
350
159
459
702
959
494
999
441
261
475
479
443
536
959
3
650
48
771
577
301
827
672
935
667
31
617
466
128
642
388
481
605
416
298
529
604
146
699
573
361
69
290
703
80
512
725
62
773
852
255
887
990
592
941
590
169
892
545
535
817
871
569
383
16
903
940
979
139
121
274
312
923
590
177
654
561
959
676
630
934
631
33
406
188
657
702
418
629
782
959
821
628
274
378
454
499
177
233
428
244
760
681
18
482
89
612
588
850
142
15
865
754
551
409
269
165
212
441
410
9
740
13
762
433
517
888
172
564
226
838
982
246
447
90
924
414
21
64
593
69
412
583
873
718
248
246
719
827
163
53
384
922
107
478
493
373
156
997
760
632
623
237
12
332
74
848
938
102
982
831
537
690
643
704
13
272
696
839
105
295
356
605
811
739
76
166
607
857
290
146
339
609
954
476
749
639
169
639
96
587
951
358
874
692
959
361
531
752
73
229
336
84
921
163
219
958
580
453
540
297
646
174
737
715
534
266
791
925
42
783
249
30
519
919
434
631
590
483
342
555
524
64
972
74
322
946
551
849
540
988
617
4
597
246
923
831
718
270
743
329
250
987
627
535
245
768
508
400
115
979
600
350
802
877
572
151
956
881
338
423
144
118
510
159
632
880
896
241
334
508
524
142
107
482
951
432
808
375
977
899
182
563
36
761
502
909
482
796
452
873
475
956
885
705
36
243
899
286
470
63
411
589
59
978
279
652
431
999
723
20
980
320
925
944
339
418
434
961
993
916
667
34
742
835
774
68
695
898
122
413
950
485
470
442
419
592
181
729
779
503
469
657
786
69
6
978
294
232
570
361
382
390
62
342
567
966
591
735
624
814
728
811
43
928
523
6
758
899
511
826
954
437
629
640
73
409
536
75
343
775
621
924
493
895
411
156
938
456
382
954
537
333
837
587
850
979
366
25
648
812
513
747
805
193
977
287
731
848
262
129
297
163
536
276
88
664
182
456
893
464
14
959
918
502
163
351
602
236
175
550
552
452
957
937
285
159
858
787
786
280
146
218
647
298
106
860
904
568
894
354
890
434
273
637
30
545
687
940
524
682
859
799
496
537
877
580
983
967
356
122
887
300
245
246
569
161
350
711
403
973
440
570
992
814
918
828
599
302
495
383
251
767
310
280
303
649
53
233
79
336
61
395
71
635
146
39
166
838
7
580
573
212
360
869
251
830
824
992
844
128
761
775
58
787
696
149
964
325
25
93
507
906
685
639
710
57
693
695
702
122
426
184
889
625
434
389
339
912
772
281
260
337
545
646
367
488
617
419
135
286
661
488
299
595
230
85
604
467
494
405
794
478
287
393
493
706
566
476
528
369
946
307
464
557
792
420
280
168
753
341
458
619
222
884
558
249
822
471
713
673
557
279
59
553
930
798
45
833
633
122
196
147
79
800
582
170
816
517
570
786
885
361
99
117
27
123
718
625
668
150
667
222
143
712
106
406
365
47
394
7
739
380
554
127
970
471
220
952
750
815
689
750
545
740
974
513
524
431
357
559
262
143
490
978
415
189
811
74
398
540
277
773
709
867
592
697
680
45
631
40
710
649
372
574
936
900
453
661
205
883
776
978
793
857
126
665
106
988
672
6
797
734
587
548
137
105
678
925
616
364
58
22
700
664
324
917
108
430
631
840
730
355
250
433
707
117
777
127
767
476
430
195
918
677
662
890
475
608
930
173
767
167
365
719
490
85
493
458
261
152
97
424
408
72
505
732
145
188
627
242
413
237
967
516
338
284
673
56
907
495
618
611
11
865
266
88
268
174
760
839
660
705
0
171
977
653
462
446
211
76
791
960
617
479
883
794
520
153
969
893
412
328
218
909
204
154
588
611
221
700
45
280
190
613
492
216
594
95
682
615
769
163
740
623
988
21
375
271
21
579
105
434
376
907
393
73
470
903
518
923
191
992
983
440
758
993
905
457
548
915
988
501
862
397
571
100
172
27
540
291
430
601
303
936
123
591
450
697
574
260
109
897
245
559
840
744
840
965
882
245
941
456
416
255
763
695
541
728
827
556
876
748
474
922
354
944
375
963
445
692
815
723
444
413
629
542
183
432
320
448
974
333
215
655
228
135
111
180
644
329
200
644
826
872
193
444
398
495
735
280
279
544
306
490
832
166
121
182
349
13
206
200
945
996
384
487
592
570
369
434
897
553
189
144
194
200
132
17
55
429
639
713
57
975
836
211
494
434
648
879
706
132
661
903
993
297
13
787
811
568
467
861
344
24
20
702
109
152
763
932
82
214
90
176
876
932
242
731
508
247
831
195
300
601
279
208
124
765
165
707
51
865
792
68
924
881
530
279
36
978
977
39
426
321
14
316
395
474
797
846
612
269
560
177
745
395
828
306
544
976
668
260
530
143
89
919
654
728
319
818
816
471
245
698
470
423
435
281
823
11
761
682
881
835
38
123
738
580
428
317
972
859
99
708
421
27
459
139
197
917
275
537
573
18
10
963
327
290
96
305
941
160
225
283
137
502
809
350
405
881
992
22
765
211
768
922
542
589
339
514
18
947
304
761
179
718
47
489
66
734
506
216
581
752
16
39
589
648
569
433
941
263
459
980
552
683
914
793
707
359
635
76
930
563
831
470
355
235
615
702
580
65
180
56
404
646
764
940
257
627
229
86
437
38
999
53
385
272
447
685
707
195
304
761
369
688
756
923
614
925
355
438
144
93
705
950
385
637
918
380
550
637
969
690
109
226
51
618
428
556
44
20
832
842
343
606
754
178
635
528
744
694
573
369
374
987
17
836
67
324
126
295
619
955
340
946
580
303
315
798
422
788
609
421
141
908
167
894
776
291
116
977
715
670
662
108
124
514
20
525
661
753
761
239
656
765
365
422
220
901
255
379
153
84
590
588
124
392
397
589
246
824
664
739
372
458
953
952
179
832
643
304
712
295
137
795
749
426
978
27
798
334
130
629
659
531
840
362
105
38
836
817
339
969
443
762
707
967
226
833
633
358
138
463
82
563
706
425
450
928
712
202
81
606
373
627
274
713
55
656
456
843
665
421
801
753
63
955
423
920
781
68
862
392
266
98
943
405
984
467
468
591
419
631
14
290
451
357
14
188
448
288
312
104
107
578
802
808
792
102
22
138
702
261
203
70
384
707
817
541
491
374
94
475
584
525
70
139
748
566
300
377
710
19
647
583
683
162
10
484
769
361
328
796
837
892
18
881
69
204
439
744
98
710
794
366
181
82
353
147
592
182
77
491
188
357
879
738
552
139
63
9
426
172
960
251
524
883
999
469
747
583
21
579
611
303
967
928
987
898
8
910
505
233
97
268
497
831
673
59
289
812
977
754
42
626
79
965
423
575
502
775
915
188
140
449
74
481
238
398
249
109
866
144
859
135
15
126
860
29
519
816
398
54
858
919
61
610
753
358
560
575
548
77
869
29
479
242
239
833
923
896
338
247
888
272
238
915
574
779
936
840
285
641
134
671
123
259
689
0
126
713
554
54
409
291
579
924
940
691
3
782
445
679
325
399
244
693
483
609
88
820
285
546
75
199
57
618
998
255
148
291
154
768
589
904
115
308
340
952
643
664
47
646
203
488
589
53
296
184
311
711
886
722
112
423
899
818
112
599
238
994
407
861
988
90
395
531
701
302
422
479
620
809
956
884
526
344
533
70
471
357
35
359
286
376
296
240
902
54
775
313
751
266
738
846
452
654
205
899
835
887
599
953
793
775
412
208
210
715
655
93
80
1
698
305
823
251
711
226
98
695
533
912
792
795
382
542
8
467
842
334
553
85
298
79
334
246
423
213
114
285
808
807
664
180
680
864
516
843
361
25
29
636
294
358
175
729
291
662
804
485
222
832
133
532
227
336
178
557
202
85
80
440
667
678
727
66
20
77
348
392
91
435
190
839
212
841
67
705
876
761
978
136
340
342
226
126
725
48
168
516
18
228
541
177
285
972
219
35
690
312
235
785
28
134
401
221
468
210
726
665
432
164
269
72
202
97
995
101
890
370
351
432
225
170
584
22
79
747
551
587
798
218
622
268
778
259
319
603
85
425
672
852
251
171
40
684
820
734
348
468
129
275
805
711
994
126
131
526
268
302
453
833
105
927
679
284
568
853
571
230
231
358
310
546
248
524
305
434
661
665
247
704
845
180
469
414
429
222
337
936
739
702
85
388
840
702
233
546
761
203
873
841
556
72
244
512
531
231
269
959
796
682
678
979
790
692
418
702
807
597
943
931
510
218
428
973
530
75
410
953
408
5
811
32
543
749
584
190
84
939
24
522
331
448
18
685
520
255
748
819
939
338
919
747
463
966
777
435
880
274
382
823
876
84
88
591
533
497
574
852
388
765
128
144
724
585
202
31
377
24
124
593
919
174
40
483
78
853
82
338
114
614
224
102
518
187
385
2
836
18
870
941
973
947
137
756
14
456
774
365
538
305
104
878
445
230
901
828
128
130
226
625
246
162
652
132
27
711
281
160
204
921
878
290
28
995
125
536
169
183
286
5
798
259
922
410
335
80
410
107
494
620
637
954
779
293
548
850
320
358
727
948
676
145
359
528
733
878
174
776
344
612
768
374
755
279
652
417
402
406
413
568
101
194
979
372
418
319
136
245
642
57
701
631
796
119
636
181
241
987
302
884
187
151
950
60
39
471
775
544
270
595
642
539
159
696
485
248
46
755
116
216
449
655
341
226
770
918
969
794
324
670
559
357
882
471
348
846
417
241
367
898
422
48
910
513
356
360
662
751
684
72
871
466
699
730
283
694
779
740
75
626
816
451
886
502
826
521
825
314
409
859
135
536
641
524
818
387
271
781
311
398
183
651
291
730
118
497
28
807
609
586
727
713
186
109
99
550
560
701
106
903
595
813
811
721
334
908
849
891
680
518
154
386
904
946
128
484
276
337
790
840
933
732
839
818
511
370
600
64
311
269
997
875
164
675
736
845
964
163
928
577
165
13
743
882
13
816
350
575
945
300
876
364
766
846
92
472
261
861
193
998
93
917
568
8
275
988
912
108
654
994
149
124
657
463
403
782
730
589
875
763
745
716
420
587
862
703
956
465
89
575
278
719
996
158
648
966
224
802
666
568
926
546
293
672
685
841
983
870
156
132
69
880
517
78
284
388
334
29
833
567
972
164
246
303
175
895
506
484
396
209
609
486
888
98
136
510
72
779
424
396
551
296
45
619
507
43
56
498
581
700
814
111
993
397
213
331
808
492
504
503
626
356
674
39
42
650
619
165
390
786
654
357
109
789
241
929
357
270
804
637
532
404
972
445
469
958
904
891
660
506
171
415
131
836
90
61
907
985
244
553
941
355
232
559
27
276
216
665
406
295
661
152
910
404
148
740
273
280
73
491
93
436
522
611
539
590
737
580
865
726
97
957
159
686
76
978
580
979
112
184
427
824
402
950
746
660
339
915
488
59
540
979
247
561
316
441
328
324
804
822
854
843
838
189
873
686
765
333
142
573
570
95
138
229
124
597
142
201
266
693
86
566
672
632
14
788
190
512
677
826
730
150
106
924
402
339
928
549
425
76
898
926
509
859
367
693
884
991
131
93
445
84
350
321
186
1
593
154
771
876
751
669
826
829
662
592
606
366
826
348
497
559
877
465
937
983
587
826
386
629
498
411
94
461
781
523
858
607
571
257
264
388
440
264
95
496
951
407
590
855
641
728
14
872
493
469
466
544
709
880
389
256
961
124
115
982
768
686
506
499
96
483
52
361
424
968
176
717
534
623
278
586
439
626
843
83
588
159
965
991
477
894
76
151
742
650
4
720
946
706
223
579
856
514
100
5
789
611
305
471
89
551
654
678
366
169
443
239
365
874
425
859
245
361
216
795
814
711
964
96
619
139
155
283
557
76
135
963
650
126
214
821
557
333
799
838
218
525
641
326
224
46
159
432
347
361
403
954
497
891
356
558
181
888
922
72
647
154
718
561
871
60
674
420
548
714
191
404
2
722
229
623
998
997
365
117
651
135
877
532
360
682
132
238
948
396
33
619
231
905
379
504
430
703
871
63
15
232
897
831
890
0
937
565
480
124
672
431
839
345
443
382
181
440
282
808
714
577
100
754
905
20
655
820
149
108
913
781
746
244
904
913
192
842
800
746
800
134
510
961
229
881
830
408
178
361
78
141
103
331
503
293
151
41
397
645
538
592
185
148
881
131
556
971
223
816
298
115
632
38
756
420
531
973
437
588
352
653
65
31
744
416
706
86
305
946
189
680
162
766
734
981
617
848
407
594
240
252
382
300
271
822
327
638
615
610
772
210
293
647
646
184
78
793
660
719
888
396
528
749
830
148
12
460
997
68
358
194
187
432
806
22
393
103
567
201
801
886
721
53
987
927
723
450
128
791
867
100
184
595
175
721
863
717
867
3
879
847
954
813
97
192
97
167
484
859
799
844
911
239
329
742
443
737
757
619
355
268
997
225
740
411
322
63
846
602
693
35
855
245
496
537
404
613
259
51
400
164
535
930
919
128
367
831
797
154
726
325
847
47
686
592
131
680
391
787
70
838
45
92
298
742
243
472
497
63
377
702
372
87
367
668
616
459
963
100
617
571
754
866
102
102
255
808
49
835
880
360
455
745
249
221
491
230
321
166
107
877
715
907
571
269
271
729
215
62
545
370
490
719
400
588
257
447
503
825
484
658
959
185
885
746
890
235
663
251
236
322
251
278
471
618
39
374
621
107
258
865
610
142
562
330
821
582
304
627
647
566
166
662
689
182
466
508
58
746
746
804
39
365
231
715
678
190
268
144
629
444
343
823
432
207
75
249
482
247
480
747
855
724
190
260
586
73
859
762
725
139
689
320
503
735
337
781
571
807
66
1
979
713
230
548
224
440
760
485
971
406
336
64
647
275
880
590
919
48
551
236
306
461
476
474
953
750
314
794
65
176
520
78
349
713
936
383
715
796
449
8
37
528
392
135
22
340
667
578
700
986
526
43
954
830
320
812
729
296
376
637
491
708
27
779
178
990
816
275
885
756
628
21
602
342
33
860
245
251
66
262
399
750
635
322
35
107
306
40
2
127
297
162
319
199
105
904
666
276
462
630
602
130
628
801
267
959
513
646
935
270
106
655
53
570
22
113
161
940
457
628
200
863
816
618
449
664
406
374
434
708
727
677
264
320
869
477
289
361
375
108
159
394
151
133
232
291
778
0
548
481
572
471
351
64
831
387
818
697
416
160
635
564
914
719
426
674
236
730
290
779
943
490
668
575
319
835
118
761
28
763
704
58
210
496
480
786
147
917
466
782
312
487
463
714
793
353
428
279
409
715
496
912
469
460
441
865
146
61
815
34
622
386
69
336
786
602
611
720
732
180
750
904
152
8
777
594
221
831
115
553
438
305
220
760
447
857
166
784
451
921
758
415
162
921
777
444
910
69
727
794
50
102
50
158
505
968
496
90
230
449
287
844
464
980
479
744
972
909
654
255
595
671
551
60
255
247
644
790
649
43
938
159
941
814
539
979
579
57
904
989
49
338
808
943
943
357
397
73
29
257
343
911
500
561
231
661
306
484
152
833
646
964
380
725
872
164
804
607
283
725
310
167
687
402
178
935
499
340
164
143
266
76
595
955
249
983
568
117
901
23
389
43
701
204
683
458
366
581
976
728
751
683
568
723
143
164
337
869
129
58
945
88
480
104
911
122
359
57
488
102
810
488
361
621
70
525
348
75
13
713
810
806
335
559
943
31
907
992
580
396
33
882
535
602
499
798
207
263
342
426
583
47
997
234
688
655
289
948
910
303
211
908
536
418
38
445
381
613
653
134
912
704
381
724
544
927
602
967
472
749
965
622
570
199
589
843
344
614
375
295
416
572
836
47
541
60
154
997
875
305
203
776
673
960
268
595
729
149
346
303
791
851
305
868
725
727
771
516
35
700
67
255
185
767
306
677
285
353
616
735
684
91
659
123
893
494
835
193
419
877
332
955
890
429
665
773
86
261
704
65
231
933
151
733
592
339
325
20
897
529
976
304
559
691
902
709
465
274
927
610
991
359
551
646
669
663
637
186
1
691
158
306
478
422
898
189
623
487
84
287
787
995
422
463
103
967
941
866
615
813
168
852
625
896
759
18
279
763
745
185
520
415
774
796
473
227
404
973
232
741
586
959
883
654
666
227
72
589
213
764
716
476
448
295
831
216
401
839
207
669
909
358
655
291
840
665
136
97
541
707
467
372
382
709
854
173
22
497
519
969
222
821
873
135
297
857
905
365
398
748
527
58
244
667
476
83
951
336
770
288
344
307
510
933
762
315
44
696
234
207
787
771
522
439
846
43
2
36
877
191
530
80
756
473
258
922
319
368
334
774
686
850
330
762
171
58
642
658
204
53
489
416
592
179
476
791
521
193
74
893
134
823
233
178
296
484
795
270
150
365
283
876
355
250
278
263
96
712
622
379
90
369
87
161
23
627
751
547
739
0
607
831
439
115
108
551
436
365
8
216
217
130
613
656
521
179
990
626
327
672
34
4
483
901
64
692
58
520
510
828
571
894
34
654
785
308
345
564
549
999
252
216
929
740
725
756
689
978
165
478
842
722
739
307
648
681
9
956
959
166
400
194
970
692
685
366
701
301
672
511
766
83
236
612
852
503
572
646
425
380
479
983
246
298
519
985
301
873
175
49
279
702
924
837
926
203
596
792
539
869
325
331
970
152
308
921
765
714
620
334
319
434
134
535
924
722
214
680
235
656
472
303
486
823
194
561
711
910
628
525
464
369
941
60
312
577
428
609
660
157
276
463
897
116
809
991
662
714
504
654
540
736
33
974
299
647
590
212
160
477
783
561
804
334
955
548
583
944
173
375
652
909
952
445
110
981
540
222
714
471
356
551
926
175
590
869
306
249
112
323
401
982
403
331
916
509
962
668
594
160
29
911
235
143
222
425
887
856
319
603
718
154
650
424
953
924
166
806
138
863
985
518
811
832
716
139
464
18
503
31
675
15
724
15
397
763
137
437
908
184
429
177
655
4
738
458
165
705
810
697
842
600
972
254
78
978
454
506
725
721
374
977
264
446
38
298
979
821
110
681
945
607
871
564
34
405
79
554
195
113
663
645
991
435
71
747
101
715
722
407
29
653
402
662
786
432
854
280
592
313
793
396
823
618
35
293
158
931
704
158
72
441
542
853
956
178
951
3
718
217
166
626
384
333
514
175
437
379
895
986
111
987
553
503
406
422
754
980
592
443
673
353
491
262
221
423
783
364
848
860
683
593
555
244
505
200
335
275
33
655
739
900
353
0
577
375
534
637
509
625
8
6
659
232
747
648
622
208
23
635
37
587
466
39
917
359
132
141
561
184
403
744
397
514
462
668
999
713
485
465
228
230
85
243
518
841
494
205
461
98
530
626
153
376
583
825
155
5
331
30
779
818
162
41
508
384
978
710
812
7
922
70
803
472
920
824
61
301
508
879
95
450
642
714
332
481
378
550
33
366
743
188
951
136
441
20
363
238
513
666
316
729
699
192
914
540
670
407
555
794
267
126
724
590
275
908
778
498
629
776
417
777
786
545
752
495
632
414
211
682
935
905
862
459
470
523
881
515
754
728
854
539
272
978
382
927
582
257
700
891
318
951
22
875
611
915
505
905
972
1
421
529
457
606
316
864
813
864
453
300
606
141
985
17
638
716
28
382
35
281
265
546
166
586
955
382
797
292
929
534
982
540
68
566
210
30
346
578
593
220
65
765
741
322
592
609
316
518
411
580
6
716
290
49
650
591
633
856
905
474
570
440
13
602
640
624
351
994
334
724
612
740
491
988
17
27
972
110
38
762
726
654
17
195
235
266
167
34
293
698
178
300
817
886
800
574
35
107
18
28
729
387
93
175
780
665
353
826
199
12
566
619
155
504
880
411
625
392
198
735
244
6
445
307
238
518
270
197
34
634
592
104
306
231
554
991
601
40
816
221
246
663
149
321
274
382
488
963
751
432
935
773
802
328
239
532
112
553
790
595
953
696
255
105
599
542
752
714
266
683
505
756
944
226
906
78
434
186
673
467
440
599
102
181
912
403
910
298
255
328
371
174
78
228
697
910
828
517
927
727
967
512
377
397
420
179
562
123
411
479
876
483
965
997
418
230
219
824
300
179
719
580
866
190
574
793
560
24
953
989
434
698
492
378
232
951
38
431
253
659
851
850
108
683
916
39
918
168
793
680
270
61
165
735
569
227
343
463
215
810
80
254
973
607
782
395
790
824
351
871
274
526
148
817
620
741
399
728
174
344
426
567
885
497
391
62
320
821
499
572
27
697
933
9
765
281
359
992
388
663
894
139
304
783
919
117
525
287
989
568
405
190
303
607
324
787
712
248
912
204
605
941
601
123
883
535
729
742
309
797
1
331
273
782
900
787
186
802
744
279
884
954
507
691
253
208
33
976
966
46
824
85
41
573
370
675
772
845
755
532
13
172
673
35
10
130
835
933
923
70
950
191
56
290
207
329
352
395
134
507
828
397
403
858
823
88
133
974
685
74
894
256
977
137
112
169
503
612
887
605
301
441
650
279
932
707
886
905
301
456
37
420
609
327
232
706
335
954
213
419
558
244
88
232
925
80
354
234
433
653
304
226
464
538
470
486
259
848
960
185
535
111
384
747
74
117
156
942
728
981
159
194
740
110
758
959
842
70
394
179
615
603
750
399
781
630
570
189
855
56
813
996
516
885
154
332
963
949
402
838
76
118
958
933
276
513
266
122
496
692
307
802
614
978
590
475
501
492
700
380
911
405
572
958
556
974
871
267
469
84
374
852
903
241
747
521
23
639
628
309
474
544
470
63
366
411
484
393
769
944
12
973
849
799
106
546
538
708
768
78
573
505
134
726
698
865
97
777
83
276
162
32
461
962
221
842
904
105
32
165
750
521
158
86
283
758
615
337
674
196
392
842
649
80
945
15
780
425
174
795
313
992
120
548
968
999
892
757
165
423
927
907
514
291
264
693
314
576
613
294
389
745
556
449
879
423
185
528
399
174
634
12
198
826
459
389
428
106
906
197
658
402
744
513
666
272
625
864
91
699
869
951
767
137
495
823
72
656
538
265
50
543
242
692
511
939
737
826
926
574
687
281
315
920
721
815
765
554
145
47
754
615
173
707
638
980
886
472
53
122
266
93
491
405
59
651
762
733
354
743
854
92
197
782
174
756
253
943
137
776
533
474
916
347
202
226
261
817
447
779
275
991
653
257
996
26
901
306
654
878
425
63
487
784
802
112
691
545
982
55
261
875
313
227
13
254
977
428
479
675
490
530
382
889
253
949
496
749
589
726
179
325
782
255
679
977
183
281
609
800
405
895
83
307
169
649
580
362
830
175
834
387
827
156
328
418
563
64
365
407
446
418
426
861
510
622
718
991
104
674
410
630
487
318
61
820
678
739
444
587
618
245
335
880
244
442
99
28
601
599
472
536
207
857
714
311
714
244
476
615
489
822
313
229
466
785
652
792
849
180
954
637
668
842
98
172
8
71
604
108
270
689
248
837
626
205
614
372
866
995
909
970
222
84
306
750
224
633
118
44
87
848
596
213
496
43
892
764
257
848
314
449
182
551
933
341
382
414
253
89
543
962
709
454
17
61
401
572
747
822
909
892
384
676
383
517
806
712
928
274
542
673
311
716
507
298
179
547
811
914
79
416
323
38
5
722
823
343
608
138
377
429
168
595
396
417
79
182
130
379
951
207
150
731
538
754
448
692
691
957
575
13
909
507
17
600
790
665
845
660
870
806
927
363
379
999
816
988
946
492
663
222
174
268
243
58
671
23
173
27
467
206
913
691
218
426
382
461
170
763
497
474
781
9
116
510
841
773
454
687
720
873
806
228
909
910
320
377
36
602
352
216
914
87
1
249
89
872
360
849
42
647
8
188
280
141
220
837
795
992
172
247
55
318
88
246
975
700
656
346
204
504
733
353
499
232
891
369
424
646
317
103
227
187
94
500
233
20
974
34
103
125
198
738
100
63
7
684
39
921
67
628
923
137
415
445
956
308
165
450
286
507
326
834
780
784
74
127
630
357
193
275
515
84
573
274
371
447
42
376
493
865
134
953
766
357
311
332
973
752
605
488
591
350
779
830
768
676
579
135
944
468
630
478
7
954
57
972
484
558
397
319
209
951
146
490
385
44
16
518
614
76
984
692
1
479
307
616
850
562
582
821
553
634
29
109
620
989
599
525
230
772
914
345
639
201
810
262
392
207
152
395
495
862
823
616
140
245
727
617
378
26
709
192
928
190
511
254
389
465
11
928
843
589
178
422
687
528
779
205
285
907
140
887
707
803
491
787
964
771
563
847
891
456
934
423
845
674
529
131
767
573
517
113
728
171
269
753
79
79
651
434
218
135
541
396
460
954
154
408
631
942
548
331
573
135
243
415
238
699
310
716
918
676
100
259
791
717
782
286
77
114
117
547
661
60
755
493
866
403
303
962
2
548
450
472
469
932
219
588
870
325
165
828
533
700
276
911
835
57
902
919
48
132
282
743
722
596
549
679
194
213
218
43
369
478
540
877
638
20
319
162
447
160
551
497
757
956
932
755
681
148
405
380
938
68
741
529
18
809
905
543
332
999
938
589
813
893
738
55
711
970
339
279
986
342
146
222
680
458
171
914
543
231
463
580
328
226
833
45
488
652
150
429
58
320
646
284
880
7
81
543
172
378
848
504
977
441
664
179
426
353
156
289
294
769
14
794
501
913
696
991
793
884
411
12
758
191
680
363
622
884
745
391
784
169
631
779
66
231
362
700
800
432
722
407
685
529
79
586
637
597
706
14
104
286
310
661
282
410
336
870
166
929
92
91
652
826
589
869
61
625
444
563
574
924
830
59
271
436
285
789
33
231
76
458
611
856
138
657
257
622
699
670
144
885
130
187
644
35
322
852
54
585
465
668
327
700
715
74
272
998
232
339
521
265
89
74
716
222
618
841
633
230
554
761
805
643
620
820
826
355
357
804
82
348
395
402
447
358
739
30
898
370
117
274
540
698
334
489
526
326
434
114
799
43
533
59
275
356
710
786
108
607
358
796
433
312
869
794
562
571
724
910
23
303
185
613
322
123
208
120
985
428
892
455
159
609
83
236
821
188
371
123
283
624
900
82
924
394
876
322
603
951
385
703
113
612
486
998
861
483
41
682
108
425
452
133
549
263
14
522
340
199
800
386
15
840
748
16
103
789
183
665
281
170
721
35
951
549
377
323
553
187
641
154
673
841
663
762
801
136
987
219
992
790
274
312
236
957
545
612
493
313
954
221
434
782
411
699
601
539
439
347
639
257
788
369
543
877
367
377
526
612
866
10
207
926
985
217
756
525
582
136
162
913
99
181
152
772
545
558
462
965
251
509
748
538
683
157
891
503
967
729
276
42
189
876
759
880
244
640
665
629
630
663
280
439
219
114
928
40
434
180
758
556
71
909
614
124
13
375
1
297
436
5
181
321
575
113
810
68
866
822
720
731
815
751
977
426
39
599
641
246
131
793
922
292
276
729
830
388
938
444
746
219
124
956
584
354
455
640
763
347
349
623
11
719
724
395
683
598
588
401
653
447
612
92
920
751
992
782
363
136
23
105
558
263
728
862
841
213
138
299
55
192
956
688
934
781
215
421
470
124
2
762
438
932
193
32
314
813
963
231
929
865
961
9
102
836
773
200
425
248
117
822
83
621
552
762
826
937
366
17
891
104
298
224
789
69
157
125
292
333
614
744
455
881
86
80
71
475
856
452
80
165
627
498
715
46
533
564
741
900
96
119
631
557
526
642
601
17
537
466
928
224
931
87
481
711
347
75
235
404
179
998
249
855
91
811
833
886
132
969
81
110
68
934
333
631
398
572
630
404
85
934
583
713
340
881
551
929
567
677
30
691
882
26
257
628
949
833
271
28
757
573
535
684
474
838
752
341
781
351
635
161
299
490
632
396
381
605
198
693
786
776
446
921
523
147
85
480
5
450
473
74
443
159
815
966
166
476
375
316
279
994
150
660
724
480
669
569
727
480
336
643
855
127
21
64
445
245
854
604
772
801
828
368
757
262
414
653
69
122
554
407
135
276
440
70
26
586
784
970
178
751
769
849
619
106
783
526
686
758
342
953
44
757
594
413
575
616
37
574
220
108
154
61
287
880
765
81
20
89
175
465
334
30
475
503
829
13
37
383
307
366
424
919
821
455
171
147
705
555
466
575
205
412
304
877
137
567
374
864
447
780
519
362
382
157
842
908
742
462
970
157
530
757
435
978
510
81
581
445
499
311
795
936
24
620
979
625
386
725
789
374
299
991
171
7
918
654
231
487
667
378
299
510
33
855
909
120
275
141
755
777
747
386
831
478
660
442
146
485
518
248
272
713
779
5
210
101
366
355
138
339
414
393
502
170
795
401
448
865
833
60
349
631
330
529
314
341
877
968
106
837
41
403
298
330
933
973
651
835
522
725
654
925
199
286
332
223
40
698
954
259
424
18
894
610
660
80
74
996
145
120
67
126
164
811
705
572
856
118
297
673
250
212
135
101
559
915
429
553
559
583
40
732
975
162
361
35
560
948
595
729
290
812
660
451
16
179
663
531
867
147
71
559
469
413
273
452
177
897
903
332
88
227
977
10
47
893
811
524
32
118
645
708
749
119
223
390
612
881
754
472
646
206
858
215
285
942
643
991
375
678
391
816
555
41
300
645
113
579
828
730
661
465
973
64
739
306
527
408
755
559
448
326
745
360
383
828
491
925
24
135
766
168
149
316
421
666
32
774
775
926
692
497
391
121
105
853
66
488
47
58
8
371
556
196
348
877
117
53
468
832
824
837
222
275
644
387
448
998
852
895
981
913
834
837
284
360
429
905
140
606
532
385
757
273
397
481
89
613
401
958
465
46
241
535
967
234
475
527
244
315
747
240
829
315
222
710
75
824
873
164
26
434
265
990
704
239
12
443
321
380
777
104
301
986
346
0
87
175
355
117
596
586
799
466
840
938
735
159
777
728
376
657
307
727
241
494
444
816
98
60
647
650
927
63
161
791
745
507
462
813
633
485
131
375
205
784
641
90
186
922
493
255
243
569
367
421
337
97
404
545
223
843
888
202
306
220
750
726
673
158
294
670
886
180
185
881
829
898
29
817
179
96
102
966
4
963
894
720
104
41
733
698
437
80
249
592
292
879
593
915
20
406
793
150
451
673
775
624
240
175
82
577
364
782
142
47
569
101
651
911
925
94
203
483
821
784
107
955
782
244
754
277
214
960
12
960
147
754
47
277
752
747
312
199
520
340
466
809
68
305
936
918
703
367
306
124
963
266
246
570
507
463
465
149
835
870
206
284
582
8
563
846
928
925
498
87
332
670
680
669
203
590
566
484
581
239
678
568
661
244
641
756
14
238
258
809
452
511
128
68
136
537
595
772
36
60
71
349
86
681
99
52
773
561
63
799
817
806
116
400
716
126
183
893
288
920
314
224
610
346
361
287
461
820
977
83
777
343
432
74
68
14
840
65
244
658
487
821
137
672
134
648
916
14
801
845
414
366
176
938
961
615
312
378
592
233
24
2
126
223
538
294
868
719
393
758
140
695
432
976
204
453
172
532
398
472
517
75
661
757
929
793
881
543
77
821
269
887
215
531
251
425
985
212
17
758
207
435
592
475
58
87
536
611
972
816
382
182
887
665
190
298
260
289
250
590
253
520
31
342
167
624
718
829
10
694
629
153
155
685
805
147
762
412
833
834
736
23
26
477
197
346
840
665
141
797
506
972
484
197
601
74
408
660
472
828
451
238
132
150
235
860
227
691
917
483
716
293
907
468
663
736
594
327
141
629
231
238
998
366
326
8
461
263
550
982
962
328
596
261
529
552
555
865
687
534
585
212
799
579
520
69
769
58
985
350
768
490
973
41
184
877
198
344
147
179
897
946
498
653
875
621
516
132
491
263
409
21
355
16
250
264
43
242
427
418
503
948
564
372
820
427
398
137
388
419
766
227
908
282
783
459
17
546
943
250
669
938
130
539
559
229
254
255
261
531
853
944
905
377
829
454
89
53
955
991
796
711
537
407
806
428
299
864
231
41
397
393
64
31
245
72
259
786
302
273
854
372
556
661
510
895
269
911
137
365
658
908
616
866
670
46
595
934
278
984
238
774
125
578
148
494
377
218
537
698
704
840
745
37
540
187
629
783
785
124
283
460
669
486
348
372
414
852
610
906
562
433
825
327
33
700
612
29
379
936
609
886
585
806
958
123
81
526
704
662
858
530
793
166
587
37
806
843
800
893
327
93
282
515
395
885
137
336
726
722
399
295
644
132
478
984
216
394
741
724
808
191
109
808
710
167
121
455
555
386
874
71
398
429
830
220
473
129
931
189
785
547
641
818
993
255
928
739
325
530
93
819
226
276
594
703
146
374
779
182
140
503
495
268
194
220
658
58
662
1
164
46
443
697
423
879
239
427
296
786
13
655
449
998
528
392
206
251
971
19
288
938
802
356
564
104
337
887
801
940
980
631
458
550
337
611
412
988
231
606
400
290
875
99
386
514
328
474
376
368
689
852
350
607
56
921
968
645
787
816
89
452
851
864
470
193
237
544
837
929
774
160
328
857
579
983
502
727
395
99
503
332
214
912
755
425
609
814
618
689
118
105
503
871
391
448
347
520
516
909
292
85
309
320
662
313
186
691
123
603
125
807
123
129
301
963
512
632
741
719
940
154
902
31
277
374
979
619
464
656
266
355
274
542
104
781
647
231
925
771
72
464
122
673
814
705
619
399
415
951
411
129
488
727
810
630
714
714
958
284
389
738
225
528
642
872
524
701
604
329
494
736
563
635
402
884
529
582
568
12
143
336
965
891
888
829
272
336
816
907
955
696
824
128
880
535
935
250
861
946
279
490
806
800
186
557
19
669
514
905
946
930
852
802
660
110
129
863
988
259
158
7
792
357
769
470
777
337
371
942
328
139
842
723
347
342
465
221
967
639
398
201
973
588
47
854
566
67
531
341
123
159
544
566
938
695
35
510
128
580
486
952
48
392
395
933
224
842
64
171
226
286
414
984
317
890
346
741
749
597
562
391
765
616
512
227
335
655
722
898
682
8
631
462
785
272
319
561
866
925
368
12
20
883
496
658
434
351
367
503
813
141
977
212
932
522
611
87
16
330
535
466
698
426
8
590
306
565
658
74
638
548
712
961
894
4
446
556
297
619
302
141
358
431
556
294
837
212
683
445
652
834
464
194
120
450
992
310
427
871
124
983
752
818
626
840
989
766
232
393
881
43
554
337
513
199
63
956
156
779
308
985
285
800
683
346
245
99
35
909
152
278
631
912
668
633
844
804
297
115
990
496
563
691
650
609
501
897
96
157
391
943
664
918
276
276
458
390
685
455
613
138
34
94
952
965
223
411
320
14
699
398
402
907
725
408
519
370
949
531
412
743
802
87
808
238
994
189
621
801
605
531
23
292
286
400
14
111
322
928
368
352
259
888
541
414
727
193
871
450
937
391
796
542
363
186
753
767
496
280
187
380
975
690
942
508
772
916
440
485
448
724
141
490
214
426
99
435
83
48
792
236
453
637
783
143
61
517
777
400
770
190
642
948
709
677
90
726
441
840
152
600
385
838
183
610
495
5
718
295
338
941
650
628
962
670
782
864
589
242
425
167
162
999
160
225
758
243
205
579
991
158
38
949
300
447
598
845
275
414
492
601
478
448
489
557
502
35
181
277
960
217
656
701
446
23
615
215
968
172
83
222
42
602
37
773
335
388
251
550
774
653
483
967
180
860
509
575
59
981
869
120
159
443
869
917
964
673
720
532
210
252
311
656
966
834
592
239
380
49
303
256
334
198
808
328
578
372
701
962
402
386
395
483
123
366
879
264
546
353
543
541
793
347
748
43
478
826
949
389
797
365
306
450
890
222
608
217
981
545
713
6
424
258
767
336
259
673
174
709
898
186
694
153
861
877
173
19
521
309
728
170
980
376
397
387
55
341
427
85
930
768
517
852
860
238
179
466
30
550
788
309
640
225
355
496
345
517
189
811
510
450
395
489
326
393
941
966
881
381
491
61
940
283
356
248
253
509
654
132
493
357
682
233
852
119
775
909
245
398
588
888
487
639
43
602
714
399
137
502
367
357
736
601
161
525
766
384
192
453
510
647
77
915
967
359
291
181
705
655
461
58
360
193
423
787
412
226
501
346
880
552
284
534
262
972
670
594
196
509
102
587
701
941
280
858
261
341
990
157
355
357
674
633
605
12
518
818
710
598
324
71
159
661
741
663
621
724
630
47
392
888
134
984
928
229
186
965
737
307
560
869
916
250
421
233
661
798
610
429
103
716
171
480
783
962
186
381
438
656
233
616
836
279
980
517
729
877
468
945
884
755
575
955
973
556
242
629
477
519
130
245
699
835
22
188
726
523
148
198
884
589
102
302
452
765
647
66
802
760
6
244
280
451
377
948
4
988
452
766
645
980
187
222
298
226
198
226
311
775
814
401
922
317
183
627
816
582
331
182
268
974
529
388
114
266
529
959
546
705
340
812
867
377
736
988
239
764
636
406
771
506
516
46
379
175
277
102
622
709
134
940
168
770
781
211
446
9
392
40
716
246
96
189
621
272
88
723
566
103
932
42
665
94
354
787
412
447
135
111
678
157
477
712
373
659
652
510
454
154
608
121
54
130
848
349
556
297
954
441
799
304
779
176
10
105
496
915
957
505
358
509
628
614
304
762
23
98
474
326
431
810
982
275
148
922
335
53
624
292
224
333
274
975
593
800
444
597
88
796
302
329
505
217
82
291
920
928
631
31
604
299
357
903
709
794
994
780
840
843
765
977
639
581
20
76
936
406
169
677
245
660
225
76
742
994
474
370
770
209
712
998
842
984
108
861
997
79
57
996
688
748
364
410
911
921
352
181
177
612
727
68
666
63
834
36
770
392
500
975
760
638
838
659
689
767
516
395
531
26
618
58
234
634
53
322
869
525
25
44
791
228
842
947
272
600
480
147
924
457
594
44
276
911
483
761
696
759
873
110
827
377
347
262
446
447
443
974
123
470
947
561
268
911
293
151
651
405
364
789
489
885
31
889
458
276
99
523
247
449
476
727
309
229
238
806
272
615
387
207
216
335
967
80
499
432
271
606
49
448
176
443
72
221
22
738
833
842
768
40
699
821
104
972
959
613
187
170
946
668
788
0
640
429
378
25
834
282
43
1
529
439
256
963
302
840
284
661
690
599
682
832
259
141
237
37
259
812
475
198
953
962
330
29
570
786
954
817
125
494
972
944
647
607
936
585
408
830
760
556
280
714
990
764
315
970
495
763
822
506
604
18
763
330
212
205
932
259
994
14
175
570
636
945
49
28
637
512
882
111
444
914
238
478
952
891
992
522
930
778
590
685
944
953
452
487
662
514
508
228
343
760
121
175
109
227
271
594
749
781
850
388
473
110
396
584
152
653
988
245
471
183
879
290
870
12
566
799
153
179
711
935
382
666
688
586
65
833
461
493
518
51
852
395
989
542
446
792
638
922
105
774
836
719
119
869
225
91
497
66
838
750
991
709
324
272
319
848
345
690
420
210
671
741
860
672
649
714
64
810
702
235
946
465
948
317
409
437
259
523
573
281
351
197
149
998
561
826
655
250
700
194
211
452
378
720
977
243
891
878
265
582
77
667
227
191
244
937
253
81
457
408
310
303
987
29
178
578
372
819
116
663
207
156
965
532
554
685
849
765
363
245
717
501
432
90
797
821
526
607
699
641
964
483
234
400
410
3
944
718
833
108
558
259
813
346
46
62
61
889
335
722
597
166
76
167
954
209
467
585
100
790
254
380
164
351
222
8
494
919
141
639
417
454
310
900
638
126
364
21
32
171
18
46
286
416
384
950
620
123
846
914
227
171
200
827
443
660
178
526
264
247
144
713
91
676
951
748
69
442
931
596
938
523
54
586
405
47
782
28
852
329
344
506
294
821
823
312
518
904
984
308
111
970
361
906
896
311
290
456
177
210
394
335
699
877
792
919
609
617
387
530
596
674
820
986
132
334
972
211
573
457
569
865
636
503
992
585
667
69
439
432
650
559
498
825
848
374
106
461
104
703
659
982
651
111
813
665
564
598
466
854
796
120
537
953
573
940
53
511
495
293
586
917
926
573
891
633
881
737
215
989
244
935
786
421
138
534
37
764
640
652
380
219
122
64
220
119
749
99
774
818
200
375
242
156
25
796
143
842
963
423
469
870
23
193
419
751
532
267
280
859
966
794
426
853
323
953
367
97
39
512
428
915
590
912
492
925
137
423
573
166
714
227
895
710
520
551
788
293
980
649
877
839
351
654
8
648
52
706
235
273
425
281
5
175
524
135
873
564
652
565
474
353
742
585
221
99
720
964
444
876
227
445
634
332
64
250
474
628
512
925
422
387
314
875
17
960
331
742
13
419
136
129
945
876
956
159
874
466
542
239
886
729
127
594
201
485
429
960
125
858
492
237
99
8
735
456
443
412
791
317
890
368
790
906
235
168
995
766
959
832
172
3
362
59
25
770
240
689
602
183
827
95
319
841
934
564
857
587
580
461
153
704
385
131
761
240
130
986
141
598
148
342
309
564
83
208
660
704
321
90
718
614
905
949
974
893
418
774
821
910
834
892
59
822
390
621
132
50
247
344
970
804
710
845
519
482
976
713
755
831
550
932
645
269
988
490
697
106
87
918
269
289
142
258
727
460
843
945
957
633
555
116
226
801
208
328
710
371
233
8
643
48
815
908
711
762
210
497
934
486
539
446
281
227
206
363
330
590
880
865
618
800
917
250
806
705
426
923
661
863
405
330
960
802
197
709
184
169
881
425
67
544
536
846
734
54
565
23
288
272
208
567
805
537
621
575
772
119
746
464
278
514
693
375
539
954
998
139
425
540
793
47
302
232
730
668
832
838
634
567
609
548
963
189
89
561
682
910
883
945
743
81
26
846
621
621
688
809
397
291
873
720
745
729
926
928
841
204
628
948
809
873
495
360
451
936
343
503
97
573
256
176
604
320
488
379
138
70
774
39
844
914
916
391
183
129
940
232
230
600
689
3
18
55
859
839
608
116
880
158
649
557
506
48
198
111
836
107
220
469
542
721
70
635
96
941
734
218
902
284
333
994
972
155
184
383
393
778
357
61
911
136
799
20
655
250
497
195
29
473
898
941
129
889
384
432
449
787
120
938
488
489
588
956
588
883
5
715
833
399
580
315
26
848
992
680
685
500
292
280
82
818
832
352
606
996
989
958
443
337
991
944
89
638
776
355
206
720
89
35
397
318
857
987
374
349
643
172
644
212
958
578
247
437
897
635
82
612
415
34
132
161
675
15
730
177
929
728
168
783
880
824
874
887
973
518
853
782
181
106
266
49
698
11
187
339
418
533
451
658
93
563
976
705
117
305
447
647
686
866
897
112
807
73
11
317
568
818
618
538
272
757
190
327
803
749
33
653
303
267
977
252
766
29
557
10
841
897
356
462
850
114
263
14
127
891
906
715
342
271
964
594
139
255
805
991
59
895
999
782
19
378
499
173
583
645
609
895
848
78
165
827
50
139
947
715
343
466
261
776
377
451
564
57
752
370
690
872
496
567
149
457
993
386
596
147
963
96
701
837
376
502
226
898
163
390
821
949
364
76
802
870
112
202
886
188
193
343
579
264
974
879
433
743
91
344
154
307
993
446
690
992
782
869
710
704
200
849
870
256
947
662
225
445
679
275
171
766
625
179
925
822
718
401
283
164
877
581
606
403
546
573
767
979
363
437
158
840
833
759
77
808
850
268
384
5
460
643
898
978
781
729
821
613
0
4
251
167
269
767
225
532
255
968
801
574
172
958
417
979
824
96
629
3
769
827
815
686
183
36
381
360
578
118
709
17
381
687
684
728
157
24
305
107
144
940
797
723
502
636
589
838
51
421
948
8
338
78
454
152
755
343
262
284
101
368
578
256
886
169
473
475
864
853
369
993
268
388
333
64
835
521
407
482
368
968
458
808
503
803
295
191
838
822
42
412
912
632
699
653
57
557
864
512
716
349
685
60
296
970
992
471
382
770
593
123
651
142
187
668
256
203
562
706
65
211
948
644
692
574
333
739
775
771
284
711
755
974
433
141
541
229
983
791
371
997
141
278
568
265
385
28
962
73
323
393
639
898
627
205
890
535
220
37
785
853
377
631
475
841
686
450
484
454
607
439
898
43
147
378
617
47
934
326
366
8
630
831
877
297
160
175
991
68
996
656
126
881
367
743
677
61
359
755
184
45
317
41
369
42
979
663
154
372
826
844
693
766
376
698
240
122
178
640
754
440
897
336
997
864
164
244
331
112
620
401
831
440
532
66
77
656
431
369
131
85
646
573
544
613
187
762
612
134
885
145
543
422
474
225
126
693
135
430
521
233
507
393
961
167
605
865
395
878
993
236
377
205
843
95
49
98
791
176
847
319
912
401
745
299
320
631
935
964
631
717
302
787
847
853
507
689
37
871
738
412
980
862
320
934
139
818
585
594
50
555
739
37
571
362
332
809
19
752
201
721
271
248
374
338
31
161
833
951
654
111
288
59
133
79
886
26
123
821
714
186
758
451
626
621
727
773
684
970
325
8
881
421
386
33
475
846
7
901
803
328
53
608
687
972
428
4
815
380
227
924
440
174
397
489
442
556
410
641
483
610
969
190
126
770
478
757
397
489
448
697
473
897
709
3
565
311
119
831
711
704
400
517
479
648
125
714
136
652
402
527
217
295
101
387
167
907
73
537
669
588
413
823
226
724
855
125
870
584
833
212
159
463
443
350
639
835
546
282
547
855
56
224
314
155
911
228
984
35
460
418
939
999
344
140
973
65
391
146
505
591
180
387
10
867
157
489
161
646
623
921
969
112
454
83
682
408
310
150
569
576
572
314
207
13
107
754
622
52
808
637
7
229
435
725
197
133
742
137
338
626
840
947
955
660
878
908
906
121
806
161
338
993
984
814
610
642
557
732
743
521
950
261
285
251
629
981
929
771
791
469
314
334
80
846
207
563
812
500
248
321
268
827
434
441
517
310
712
931
631
173
704
330
893
294
968
438
214
904
422
131
237
733
730
445
373
811
424
520
209
754
470
841
507
417
177
771
218
770
848
646
615
864
471
850
927
780
943
835
321
846
672
253
214
401
98
991
373
10
777
942
44
484
42
421
842
830
476
70
89
526
508
624
830
882
894
860
73
242
433
556
451
383
251
485
2
994
31
453
424
470
277
567
572
25
359
136
259
381
326
754
886
14
457
920
377
460
443
700
560
154
738
792
337
16
949
17
126
127
814
599
876
521
111
397
954
308
430
799
868
285
272
643
197
899
958
830
590
311
670
574
199
157
744
779
23
514
357
521
228
578
354
66
712
699
936
907
320
645
872
759
152
489
308
291
258
985
124
24
500
824
984
128
313
994
682
380
719
271
840
373
543
925
894
232
794
138
828
711
187
632
799
701
574
88
406
64
133
196
503
494
860
512
931
53
414
213
660
826
88
486
342
563
973
20
603
173
920
60
15
888
917
314
805
109
285
131
695
599
577
468
144
414
909
470
27
540
174
846
258
399
979
311
520
404
830
223
355
38
980
552
378
211
805
728
434
216
867
177
345
863
435
156
54
754
12
147
109
45
839
340
908
43
376
944
85
486
687
857
159
840
58
525
225
765
395
11
494
314
877
37
170
160
540
471
813
15
318
956
579
684
922
553
255
645
818
191
457
682
434
372
303
189
644
864
838
819
3
459
571
551
865
679
89
543
645
704
236
423
443
409
788
214
385
419
871
998
796
886
400
932
503
45
418
979
502
469
237
148
558
370
518
238
744
428
363
930
805
336
773
297
483
621
65
474
351
627
841
346
819
112
856
557
857
232
778
652
609
624
901
240
45
655
45
205
348
396
17
776
940
63
981
829
502
203
401
616
485
189
478
813
829
446
30
768
946
317
362
490
614
918
508
667
603
655
647
291
861
718
969
644
894
189
357
878
939
353
205
860
531
709
641
679
671
994
272
609
209
525
530
642
722
739
397
990
528
50
841
785
934
841
839
71
410
809
863
639
656
789
954
245
399
545
899
9
341
540
756
541
533
9
514
339
387
628
27
626
24
432
88
293
423
920
665
574
890
407
33
120
812
84
183
244
875
282
182
193
191
691
582
445
528
454
281
664
620
381
753
489
124
133
899
694
208
23
438
984
771
621
565
607
686
997
99
449
107
168
358
395
371
577
830
546
17
813
677
650
15
627
910
92
617
880
737
739
436
805
777
364
148
311
922
211
779
573
406
154
999
125
337
164
170
680
804
837
824
309
872
919
747
120
974
685
577
344
350
459
401
522
88
489
200
401
72
258
786
584
476
971
570
693
676
41
740
129
608
747
81
182
104
41
0
140
853
858
734
637
650
76
188
36
552
424
783
873
139
286
41
977
263
330
455
66
646
647
182
894
444
623
251
529
573
722
270
517
965
448
544
313
863
176
250
218
680
391
219
172
236
102
322
149
798
883
753
512
380
699
458
565
631
137
247
478
602
979
799
942
344
271
73
639
654
377
166
16
738
54
260
707
829
44
330
976
176
7
883
220
34
756
740
639
647
319
103
792
222
516
281
3
355
359
294
301
109
152
772
65
438
580
393
586
413
257
814
221
915
930
296
422
935
371
172
531
554
499
262
133
967
685
11
438
542
836
78
647
859
803
563
482
631
981
464
47
976
263
465
639
399
856
675
792
824
161
251
371
999
705
93
947
533
937
562
442
726
289
692
961
406
78
495
801
874
993
119
449
20
109
99
953
94
236
384
1
870
310
708
346
358
570
100
98
968
214
206
459
426
369
975
635
477
20
700
30
198
668
802
217
386
418
893
869
545
276
851
100
497
41
996
250
485
874
720
422
388
17
492
414
836
827
627
88
552
734
612
542
529
292
521
679
129
835
113
509
401
125
891
715
972
358
475
983
90
404
474
380
593
137
421
710
360
786
827
227
531
633
711
28
646
710
499
998
773
43
110
77
964
431
267
380
77
688
735
139
763
616
304
231
176
561
498
151
473
703
263
169
103
752
604
113
214
22
465
308
170
430
828
309
610
703
529
998
967
669
349
911
788
70
163
174
988
741
357
542
463
146
637
954
622
641
858
891
369
557
683
256
493
123
636
87
165
519
451
544
417
178
5
351
954
451
950
949
136
457
275
508
766
167
266
327
811
355
414
646
111
204
959
353
236
505
188
501
867
638
655
405
897
618
809
555
44
733
757
440
218
178
182
970
111
538
227
945
922
459
886
868
502
377
535
985
628
631
185
357
785
511
315
341
190
975
141
124
903
115
192
705
12
868
905
214
886
321
360
177
407
470
917
460
950
859
8
946
892
456
186
530
981
136
509
977
213
844
907
891
201
482
578
812
192
553
756
523
160
480
627
711
147
732
627
295
521
616
891
325
238
306
66
200
745
356
31
646
44
324
576
749
891
834
875
749
351
834
491
291
625
741
484
759
688
52
365
793
625
805
656
331
346
104
859
871
448
889
483
431
101
46
456
956
345
491
688
736
732
91
118
253
469
669
961
437
86
338
19
660
617
282
391
390
616
136
500
652
555
153
590
768
871
208
890
136
566
358
64
363
121
952
456
842
304
263
321
513
190
69
464
464
13
997
737
273
243
2
351
247
427
691
39
281
563
763
898
339
943
685
486
342
348
924
516
909
51
910
622
14
500
208
865
576
56
941
626
373
874
143
800
290
302
495
547
127
456
550
272
954
318
419
27
104
83
905
892
531
125
881
728
399
617
177
999
670
881
412
817
584
602
665
111
988
40
965
722
807
949
922
835
573
659
863
512
887
988
612
615
702
601
266
148
118
664
866
808
477
824
20
405
183
502
322
197
365
29
752
930
140
622
148
115
363
84
153
863
864
492
714
763
401
155
125
235
981
597
848
18
391
754
889
460
54
392
562
970
430
664
832
800
234
228
156
86
271
956
731
675
513
246
209
925
218
765
984
123
831
897
573
326
60
638
797
616
597
829
820
505
576
467
884
746
605
232
75
323
752
605
357
975
747
769
600
475
18
987
682
550
284
221
780
530
849
326
485
557
158
89
242
445
975
457
900
223
930
521
473
812
363
573
882
318
825
852
935
236
383
304
561
282
73
442
525
88
137
714
230
293
481
841
534
507
744
630
209
457
230
612
570
694
952
280
569
225
596
37
833
678
754
556
279
286
498
475
129
850
766
342
476
542
844
158
874
167
771
346
423
573
439
727
336
680
169
935
981
102
291
998
160
262
633
155
278
344
509
355
734
197
228
663
894
79
857
398
617
846
519
990
84
782
475
570
940
856
389
82
831
742
159
877
198
734
291
661
332
955
809
707
725
927
610
568
817
436
443
460
750
506
915
600
839
225
191
62
61
583
791
129
511
110
724
453
822
945
316
740
858
435
661
567
513
73
180
277
785
52
363
358
299
609
234
391
555
787
128
363
496
374
994
523
989
528
4
878
370
903
376
443
276
564
280
786
813
273
448
44
352
604
776
697
452
353
237
538
748
1
660
521
408
490
598
627
572
702
769
961
737
831
616
213
736
396
417
3
578
440
487
895
583
331
122
165
978
777
89
813
642
724
340
99
713
524
896
140
587
679
411
416
759
473
987
852
196
287
267
464
782
809
381
328
957
491
962
733
288
410
84
699
105
956
882
578
922
63
184
919
286
576
238
915
182
819
461
826
919
206
180
653
699
471
988
287
691
996
752
586
622
585
879
626
700
811
469
569
77
85
524
577
112
942
923
11
46
981
989
831
719
974
927
978
46
803
758
796
418
836
717
565
991
62
258
284
938
657
322
804
439
15
978
16
612
935
527
882
635
848
503
474
909
844
939
158
105
671
873
638
398
221
869
446
537
872
26
325
153
316
199
217
128
544
47
714
848
853
246
372
655
109
227
601
563
710
892
294
36
738
848
370
209
224
931
296
729
396
48
40
908
592
939
555
48
167
805
200
645
841
174
266
629
845
986
27
750
227
426
59
376
256
797
60
135
660
654
460
561
505
0
357
189
713
724
302
996
422
114
425
406
509
264
821
548
150
146
488
884
707
643
3
197
415
947
583
330
931
683
688
198
5
238
543
18
975
444
152
707
855
6
667
8
39
488
88
777
504
503
333
861
155
590
678
426
225
377
212
308
676
603
485
308
875
14
887
504
143
876
491
106
679
214
948
317
459
134
711
397
968
106
511
268
758
483
190
496
29
629
736
479
157
180
923
44
562
109
284
937
380
531
725
190
500
377
229
631
450
461
917
520
167
756
935
151
254
695
580
378
116
271
775
155
335
280
830
177
975
491
553
282
30
685
936
892
184
383
463
323
683
660
309
950
179
678
368
339
645
883
11
991
265
662
45
217
50
153
975
594
417
752
15
935
447
213
832
607
919
117
62
554
548
71
53
670
69
807
223
918
614
626
731
484
230
483
920
172
750
10
987
719
127
826
443
456
969
272
176
877
595
454
680
246
935
694
48
772
801
625
473
189
158
315
230
891
221
541
42
664
694
916
424
82
289
66
20
39
657
710
273
93
644
315
487
61
753
41
570
508
377
8
289
319
464
244
998
835
62
133
343
439
270
324
112
193
105
889
336
113
898
582
577
750
805
84
637
186
427
78
696
619
520
716
923
213
813
433
510
433
561
760
451
454
975
591
831
241
526
259
825
692
998
159
602
643
213
113
353
387
330
100
689
91
843
771
840
449
997
461
505
855
963
583
218
24
486
918
281
714
320
625
90
959
160
82
848
399
243
168
749
63
453
133
847
713
882
717
277
772
814
421
45
496
97
275
711
269
797
843
994
495
682
465
342
310
358
400
39
384
476
950
880
788
926
130
792
696
343
989
828
436
605
691
582
707
752
22
268
29
887
566
335
375
96
672
520
275
490
452
249
534
52
445
301
172
723
613
458
776
157
352
485
222
684
43
220
364
585
466
410
697
518
23
972
58
631
853
19
190
755
83
960
7
358
124
516
479
6
861
638
558
6
4
806
944
17
847
90
302
714
486
841
229
101
406
612
281
347
557
147
820
916
470
56
369
439
424
734
445
825
687
73
314
515
427
599
655
32
128
480
919
241
395
574
95
604
401
325
589
293
859
172
854
155
578
198
644
595
467
263
916
716
137
67
194
682
388
334
409
305
759
313
77
624
513
810
607
939
76
509
77
178
687
548
929
90
305
274
991
179
488
471
167
691
333
782
738
551
879
931
11
113
818
323
212
395
851
422
551
16
104
544
828
568
169
917
960
21
797
523
884
486
580
307
520
822
30
757
674
688
462
288
574
754
790
151
461
324
588
671
236
640
881
614
991
766
320
341
208
342
178
239
874
94
77
485
174
546
304
853
115
520
873
195
122
163
836
553
353
954
954
530
600
165
173
284
256
887
206
888
739
84
854
958
127
252
936
984
908
363
644
785
174
870
569
841
753
332
312
611
467
76
857
1
241
812
451
181
613
598
822
30
670
932
228
612
591
213
652
901
756
761
905
332
701
920
672
536
977
308
875
8
392
551
799
238
793
234
365
162
292
288
705
598
837
222
573
211
974
672
138
452
992
663
622
733
244
105
906
626
917
426
593
849
401
85
918
958
484
346
769
125
657
813
530
735
236
430
726
757
55
115
860
850
250
435
970
758
764
804
308
416
785
166
645
771
975
335
242
649
813
226
656
821
480
857
320
144
177
383
305
423
995
296
538
691
102
157
553
539
117
261
322
35
5
388
661
356
272
91
666
9
213
31
692
828
857
660
478
517
263
562
72
50
158
784
287
524
123
759
768
909
293
329
969
239
680
591
141
307
529
928
543
606
984
661
953
186
579
810
106
736
446
531
120
570
894
532
498
996
16
590
728
145
250
231
154
982
256
801
998
348
947
975
429
255
765
567
926
418
328
595
113
992
875
391
531
145
905
201
762
840
305
176
693
121
646
837
788
432
425
190
959
437
744
246
378
852
612
369
917
585
263
906
704
16
168
414
734
281
457
391
932
894
93
632
786
474
969
383
552
422
566
861
137
208
302
536
304
478
126
360
659
695
477
972
766
643
667
775
276
740
228
369
201
949
691
388
139
441
15
13
235
29
604
249
194
230
831
971
751
660
424
696
45
204
638
682
639
771
622
360
655
229
244
10
621
101
1
947
435
700
853
954
444
495
831
374
738
822
678
157
947
206
60
551
205
35
29
540
427
457
869
126
605
895
809
586
855
24
843
312
832
640
995
290
174
353
306
76
538
122
619
695
178
108
513
827
437
914
856
359
292
190
804
802
664
890
571
851
868
287
758
550
367
967
294
269
727
309
302
797
150
896
498
41
954
426
86
628
991
29
272
578
134
394
453
751
176
949
947
994
146
177
177
495
153
595
451
820
673
347
462
284
860
478
832
730
170
898
816
822
456
800
418
403
742
715
497
12
306
962
19
292
373
725
77
293
624
805
224
755
859
348
606
54
305
585
64
279
949
190
305
548
243
471
458
449
432
231
70
970
797
749
879
736
698
213
595
675
51
761
438
152
997
9
794
351
222
411
806
897
865
404
202
371
669
208
927
881
616
324
639
679
28
785
562
553
697
226
423
359
253
494
410
129
246
18
454
949
910
656
85
577
680
971
373
96
968
875
925
203
982
103
760
623
992
882
379
503
900
309
827
8
75
834
324
135
966
880
589
548
852
951
600
697
141
783
927
337
743
256
293
284
313
303
209
401
32
195
308
318
524
910
711
72
662
455
233
832
392
539
741
927
343
157
600
6
955
662
190
700
208
224
52
148
592
973
70
637
286
219
443
579
168
112
480
141
323
443
192
902
428
143
775
55
716
826
728
802
329
52
174
950
728
695
360
690
63
513
437
611
729
334
299
643
740
356
25
969
482
308
813
44
971
486
819
663
465
623
772
116
985
934
760
221
732
593
92
787
684
58
581
256
649
6
812
58
940
529
61
973
43
275
83
170
84
867
262
973
368
732
358
60
599
510
319
204
54
810
613
451
588
431
387
855
198
503
811
945
494
843
50
739
925
230
392
969
137
72
12
275
579
600
503
206
104
628
918
185
59
996
267
18
963
504
775
174
238
321
22
10
197
645
134
482
150
865
713
498
514
354
906
424
20
365
477
663
98
626
905
289
542
517
14
720
152
478
79
434
550
142
914
461
466
632
220
131
350
723
489
770
101
136
3
331
552
771
596
462
80
946
132
750
157
692
80
321
973
467
428
652
444
66
124
660
801
628
487
625
24
343
372
908
250
333
91
17
338
395
944
135
547
732
176
498
129
556
798
365
844
890
861
109
303
42
111
47
951
986
859
625
575
279
46
436
724
122
633
89
626
22
618
800
832
419
557
38
177
238
619
880
257
670
783
749
823
368
93
635
576
989
591
592
180
465
285
214
164
119
638
522
726
479
762
427
391
84
423
893
128
521
426
836
185
150
249
627
840
769
89
573
973
280
622
403
488
194
745
642
190
713
355
79
348
515
330
454
13
472
480
435
755
180
253
464
266
761
562
381
997
323
556
644
834
8
850
218
943
947
421
893
472
667
25
860
40
680
135
633
584
377
42
881
29
674
620
711
186
244
360
212
818
763
943
567
285
70
782
40
548
147
721
716
518
981
444
287
875
205
913
445
995
472
320
164
584
972
875
0
301
201
827
808
859
278
543
536
481
856
540
462
604
856
631
14
436
36
182
865
812
645
700
199
593
248
371
335
872
343
938
540
451
539
83
475
637
758
317
298
891
17
894
342
424
926
533
853
334
837
523
136
856
287
812
938
620
501
87
341
866
111
927
131
364
665
680
201
416
823
304
207
383
834
152
654
190
231
532
367
960
238
82
574
551
417
810
891
12
752
304
465
432
815
114
124
211
486
757
576
110
738
960
885
672
149
565
402
917
995
367
28
947
188
678
476
539
168
546
159
795
79
279
349
297
458
639
612
635
868
248
629
64
61
366
332
403
200
842
622
76
311
324
235
16
183
150
220
0
266
578
953
790
233
105
751
344
251
871
773
55
406
117
619
393
166
769
538
670
133
845
634
902
566
919
95
850
154
786
20
575
202
217
119
607
285
559
767
154
698
923
997
737
379
310
510
836
27
569
855
326
84
314
307
373
853
158
834
985
314
717
325
127
860
8
840
653
758
908
82
981
282
569
968
547
495
674
156
79
870
426
804
665
94
699
467
293
37
380
490
766
79
163
114
375
997
508
65
786
61
520
31
416
411
88
751
159
543
841
81
524
131
857
439
815
417
890
202
827
650
887
881
239
347
336
5
966
446
737
503
183
48
852
468
917
106
355
886
947
299
116
102
148
97
83
830
764
456
529
26
548
666
260
836
851
392
203
288
298
370
694
79
373
706
31
798
806
185
997
815
819
322
840
454
691
280
4
383
352
63
403
189
285
180
585
528
833
818
783
820
512
987
806
305
856
216
380
148
351
300
684
463
753
408
451
937
773
181
799
388
603
169
735
367
601
505
340
205
475
864
820
913
820
696
203
938
789
994
366
727
289
863
924
390
255
830
871
154
347
816
767
630
990
719
873
61
935
681
985
494
681
799
91
350
220
258
101
42
654
886
921
934
440
932
445
681
891
757
666
604
602
190
731
85
857
748
489
620
117
456
169
592
599
308
226
930
44
357
606
576
229
51
705
887
545
547
335
89
868
149
664
447
556
973
645
359
604
472
878
853
826
514
530
304
713
147
93
107
638
499
316
155
884
489
983
8
690
95
590
348
74
600
368
228
168
263
597
938
178
31
144
483
588
52
721
98
703
465
298
182
174
913
476
614
858
908
889
892
747
764
797
355
610
692
673
388
340
791
599
102
377
744
306
968
932
593
959
763
59
591
402
907
114
328
318
487
262
544
133
866
276
553
944
91
673
847
793
287
432
632
179
506
335
870
139
527
649
342
890
314
673
454
39
373
93
632
36
244
974
172
123
402
486
872
612
634
285
497
920
644
485
223
683
503
266
183
160
845
806
420
475
563
773
899
170
353
606
220
333
559
379
585
836
440
994
750
370
597
839
956
440
64
608
406
478
627
820
858
724
40
243
641
81
34
48
622
794
36
93
832
730
405
950
894
460
254
533
822
185
270
150
353
824
981
183
890
179
265
461
980
378
538
505
898
461
346
95
27
678
24
73
36
258
687
25
427
704
885
103
979
77
759
996
109
873
287
104
562
498
127
199
632
516
117
795
59
420
822
569
218
988
478
647
985
595
153
43
534
687
509
808
681
603
320
596
512
267
115
674
289
119
963
364
94
709
72
523
944
557
910
820
727
999
210
626
883
19
288
796
395
112
40
230
273
37
889
184
820
24
949
87
966
67
724
340
361
295
453
380
335
747
268
894
410
868
148
674
679
333
126
719
665
888
833
954
291
891
829
979
414
599
48
470
1
479
203
364
365
544
41
957
569
150
531
222
752
334
486
600
818
499
658
503
205
874
930
100
348
794
764
630
71
282
296
533
689
930
540
506
92
112
358
713
128
707
909
845
149
625
452
836
582
674
739
305
611
869
409
907
537
942
422
514
604
774
13
858
762
74
923
477
285
951
814
776
968
599
22
295
553
151
942
817
619
673
665
129
25
321
706
77
54
307
69
160
522
925
287
562
425
174
965
99
950
630
855
815
366
124
395
736
822
450
907
401
317
856
338
894
775
367
111
465
785
41
830
162
8
748
369
200
404
133
891
540
841
899
674
987
413
166
901
733
707
384
402
259
343
898
76
354
398
89
873
362
963
817
518
496
453
291
408
784
530
426
188
488
289
216
519
827
38
528
876
519
236
266
434
173
543
915
4
574
3
481
823
1
143
6
731
318
138
951
286
502
45
804
462
696
471
382
87
901
109
693
459
809
650
50
489
79
318
307
534
788
122
183
395
449
21
219
927
400
688
850
118
712
287
657
141
195
63
508
221
205
648
2
301
748
37
453
152
513
372
362
677
776
916
275
699
59
301
943
38
146
924
761
752
795
50
567
107
274
123
126
352
406
474
108
653
743
410
44
376
583
97
334
767
641
715
885
600
227
779
366
741
307
18
78
320
751
76
699
441
624
695
278
72
598
413
562
357
851
465
945
904
918
122
73
894
189
718
827
184
158
814
605
111
621
70
532
9
825
615
187
409
62
804
581
11
916
869
122
432
537
229
532
339
668
315
112
436
91
294
432
183
361
152
101
333
296
151
825
107
599
265
626
384
120
956
191
927
172
482
123
337
177
985
332
183
461
169
490
429
824
331
204
278
501
6
605
740
511
812
631
560
270
61
166
815
107
415
952
233
856
957
408
450
732
624
838
772
131
914
739
36
461
941
267
651
367
373
382
39
462
601
918
45
352
318
445
210
308
815
736
344
526
421
435
405
902
628
226
5
539
890
689
177
494
291
524
369
11
793
79
154
119
655
322
564
613
192
491
152
853
606
869
3
840
695
735
79
339
764
367
238
247
580
427
935
110
575
582
374
726
278
976
683
7
187
52
532
645
190
676
799
397
452
220
707
806
921
379
407
74
930
579
452
350
174
534
313
180
838
715
749
441
744
695
513
158
887
585
498
633
929
637
184
428
130
636
271
256
411
465
862
443
991
415
424
542
887
971
349
29
587
934
488
711
9
603
412
347
976
223
708
112
674
891
363
881
395
463
774
899
662
673
284
812
778
702
723
834
173
214
524
932
682
81
367
432
860
261
99
327
823
657
33
88
473
354
716
859
37
734
497
678
953
851
517
227
930
820
545
238
431
347
537
84
465
557
393
659
504
619
654
177
94
827
421
787
179
24
43
703
874
345
672
234
462
13
707
829
820
371
547
190
0
168
450
538
175
792
344
327
505
907
839
932
227
986
7
58
698
267
274
707
547
334
870
781
540
552
630
790
653
607
16
728
460
962
91
547
343
965
255
144
316
913
168
554
72
774
976
559
200
625
282
86
392
678
485
108
775
858
486
606
537
762
257
185
560
249
607
939
650
261
792
598
360
248
745
705
454
753
499
269
258
52
702
986
598
846
711
927
442
49
393
150
957
545
490
122
261
933
623
416
228
375
767
358
970
783
908
982
689
886
240
992
280
552
143
962
982
381
255
75
454
123
389
603
21
552
823
213
499
606
714
118
785
205
176
603
856
799
1
991
73
618
9
343
68
660
627
234
385
6
26
850
67
90
340
622
608
185
298
35
660
4
161
356
36
401
805
224
146
661
922
920
847
181
399
958
740
876
470
236
613
355
790
894
59
685
348
493
718
559
157
616
175
459
643
841
820
495
761
276
234
295
111
275
95
993
534
752
930
523
299
716
38
467
30
122
377
8
699
796
846
187
969
543
692
944
752
839
935
206
209
311
468
796
325
792
972
97
306
835
175
50
499
159
661
488
131
79
353
972
737
814
542
261
457
318
498
525
36
156
75
875
430
937
731
7
626
909
547
766
721
746
1
304
158
199
359
246
224
828
662
940
783
763
663
986
900
873
159
913
855
460
62
330
887
475
603
69
48
308
600
876
720
309
933
273
297
745
395
200
935
275
73
396
943
808
981
576
826
784
546
471
723
534
720
415
728
186
277
300
149
913
298
209
204
421
670
49
893
363
556
327
786
493
110
801
885
297
587
930
566
770
526
582
538
97
746
129
198
930
127
391
251
177
793
44
206
675
153
737
92
973
664
518
530
712
438
719
288
373
437
950
661
526
576
410
759
714
401
727
318
235
930
264
0
812
209
81
140
935
750
258
543
535
609
573
990
825
876
543
432
573
109
586
270
9
802
367
68
222
27
323
285
671
964
734
13
601
680
669
827
458
889
663
240
759
697
791
218
36
562
99
976
387
487
588
350
924
99
327
334
199
741
38
822
390
665
863
208
524
163
381
157
572
40
881
975
743
59
285
848
96
190
38
414
393
22
995
524
101
251
990
424
947
572
490
53
655
241
32
806
887
666
490
386
484
114
376
389
35
155
788
434
722
927
337
144
361
597
209
764
541
789
277
897
117
747
174
262
363
653
64
873
261
144
686
263
639
279
185
320
469
811
808
44
478
820
580
176
711
499
821
473
314
280
350
155
931
537
883
39
655
963
614
473
711
456
64
610
193
47
604
169
117
909
127
996
597
473
535
409
172
636
575
73
900
753
203
781
275
259
718
280
891
374
768
936
527
747
495
1
121
486
113
735
636
997
503
255
791
127
969
437
119
300
493
747
356
821
28
753
417
969
281
939
130
232
497
776
218
95
328
368
761
375
356
615
187
604
586
568
297
593
312
120
182
357
283
727
929
505
384
761
716
714
250
516
924
228
958
162
611
13
506
508
810
160
581
238
445
167
283
108
834
535
663
912
964
820
353
163
770
856
355
656
497
893
691
605
142
650
876
666
369
853
965
378
143
64
46
792
811
187
716
812
818
381
693
53
821
651
986
34
392
632
236
500
377
547
614
450
885
940
177
279
154
576
62
710
796
134
664
449
121
875
265
707
682
441
726
532
783
209
406
548
829
617
88
281
423
117
518
648
906
472
643
735
127
752
382
873
426
113
85
35
39
468
899
166
871
2
451
788
817
357
994
614
668
359
705
434
534
995
7
488
589
831
871
534
445
449
989
607
667
611
637
206
483
327
101
603
121
161
471
964
939
173
980
112
125
194
621
539
789
182
123
455
734
301
352
357
673
935
472
967
927
151
312
653
804
464
828
422
590
475
128
151
933
525
387
258
193
89
758
757
590
105
273
892
684
787
986
676
269
345
90
868
117
415
301
951
664
587
689
903
527
878
875
151
476
829
254
411
841
291
904
970
218
918
636
690
303
551
494
809
117
282
673
533
882
472
174
471
134
188
5
158
324
48
98
76
451
512
849
556
660
640
871
983
987
187
140
589
177
266
824
566
511
250
48
851
591
2
614
774
418
278
22
189
969
891
12
316
842
247
479
796
881
65
276
296
852
693
391
121
908
832
380
696
852
693
87
441
721
195
792
687
602
771
240
694
344
883
59
697
102
123
858
558
317
239
892
655
313
747
971
999
521
376
775
838
592
856
126
819
329
777
91
39
491
364
83
115
491
430
701
270
982
746
307
986
364
764
442
276
899
417
638
714
562
648
750
547
325
746
193
981
783
814
607
83
842
147
379
552
185
733
444
635
674
183
923
850
677
492
902
59
563
550
736
213
99
253
344
168
120
88
263
588
105
952
604
656
940
96
349
406
409
30
589
812
928
735
199
59
826
8
462
437
851
510
853
857
825
247
657
284
515
587
575
809
205
254
752
210
567
302
276
154
262
460
78
227
272
395
302
432
563
167
375
94
976
448
921
659
193
611
753
135
768
146
302
272
730
13
457
631
288
283
707
695
330
30
672
948
669
452
462
723
316
416
720
534
973
936
131
473
427
923
561
699
178
389
469
448
735
924
360
836
690
227
270
779
132
138
533
745
305
485
206
82
669
974
25
212
424
560
881
886
412
836
837
266
857
848
171
681
271
198
791
894
752
872
485
687
759
295
119
925
344
274
12
266
651
76
73
222
262
834
171
534
327
285
291
285
264
780
659
754
105
64
187
826
207
571
23
729
258
907
733
80
249
114
634
900
275
409
200
994
777
570
190
890
84
471
724
357
34
273
569
310
919
922
824
974
745
417
761
546
643
298
137
595
791
749
301
50
756
679
576
602
19
83
395
283
242
98
446
773
244
347
30
983
581
707
268
355
316
669
706
473
747
550
696
77
880
733
88
762
627
343
721
939
821
959
747
308
451
815
810
999
696
8
184
809
26
662
331
645
571
311
409
22
777
785
459
584
80
943
559
261
869
977
205
51
153
188
689
734
990
772
541
735
152
69
0
853
946
127
684
963
74
881
652
869
707
253
761
306
757
597
517
10
22
561
773
340
711
139
346
754
965
983
378
778
451
31
62
678
852
459
755
881
381
27
93
226
999
66
325
50
635
752
162
177
218
877
536
857
750
260
472
647
279
663
395
409
542
722
414
803
303
320
538
890
718
609
876
337
632
222
797
214
525
166
554
691
937
418
431
362
288
562
647
28
981
501
999
240
933
642
977
390
981
918
29
171
81
902
273
550
820
842
854
374
565
551
427
383
420
933
492
29
148
437
202
912
545
729
975
152
240
848
874
168
18
416
537
719
275
744
141
665
873
941
391
1
390
455
875
486
362
745
73
755
450
113
540
114
117
130
58
139
263
903
564
889
27
276
913
724
377
564
344
366
83
104
829
18
716
907
621
391
795
695
223
135
444
639
255
6
773
771
193
859
27
874
993
496
835
257
184
391
976
635
703
306
508
458
47
674
500
887
351
940
234
424
380
294
80
481
125
810
791
975
581
951
54
508
216
843
258
591
250
495
302
988
644
98
208
160
479
728
335
488
519
572
176
198
784
879
670
161
712
252
525
895
844
4
771
104
825
742
576
11
341
772
347
181
585
353
366
665
433
194
65
698
460
34
562
407
980
481
474
557
367
806
691
629
258
984
343
331
756
46
193
776
0
185
130
240
604
721
818
456
164
5
89
994
715
983
521
339
705
406
512
543
283
603
103
845
438
622
983
350
661
653
223
275
349
661
659
77
872
365
556
21
340
531
533
505
798
182
717
290
708
689
785
841
390
145
180
90
474
67
455
76
770
595
791
568
570
828
976
788
86
619
780
991
152
154
100
377
728
630
928
995
379
460
396
476
510
217
570
584
940
146
328
466
497
2
806
376
303
627
389
360
211
759
150
487
840
805
270
703
818
538
175
308
316
877
617
879
475
715
455
529
811
152
333
76
658
47
816
202
507
241
963
35
901
83
366
954
515
933
829
306
517
865
814
810
536
466
285
817
112
137
267
968
882
584
908
370
4
140
164
453
926
463
23
709
566
215
780
685
281
339
265
360
163
910
959
560
536
205
478
39
65
764
599
284
35
841
554
641
370
405
655
523
46
574
139
746
998
907
784
546
853
313
410
776
166
28
677
64
330
483
928
375
327
749
925
280
330
64
851
471
816
609
830
316
474
42
779
357
837
877
347
543
338
22
534
241
830
844
426
816
640
996
378
61
747
768
858
741
867
843
535
39
797
761
818
162
853
148
552
69
683
693
804
293
121
715
852
70
905
673
57
707
966
819
295
877
623
852
799
986
374
523
134
481
608
818
922
900
643
890
504
386
687
700
383
701
282
220
903
408
655
514
480
1
603
687
543
429
985
3
830
536
50
475
247
753
987
927
216
207
902
469
827
515
278
921
981
680
209
586
471
414
787
419
522
350
27
854
974
292
137
423
990
752
398
853
299
606
614
432
6
60
183
228
281
467
232
980
688
768
979
400
684
27
105
899
831
801
736
434
774
741
500
659
16
8
9
403
778
352
166
941
61
642
450
807
646
694
300
324
994
781
170
857
519
846
281
163
926
733
982
707
853
638
243
125
788
554
424
586
16
119
249
333
470
329
416
472
206
826
39
405
317
247
6
737
582
776
15
707
569
794
953
981
788
911
528
73
346
215
583
715
138
511
191
485
504
285
291
345
833
186
174
449
472
602
839
933
543
26
876
366
51
274
171
923
767
368
775
222
234
36
112
877
354
900
144
202
898
559
882
858
746
526
71
422
615
107
604
860
130
176
381
371
676
267
662
595
599
513
179
124
944
620
359
993
654
674
229
926
458
597
485
871
728
480
747
120
632
596
929
824
659
859
170
298
554
911
980
453
834
593
500
728
223
348
534
367
138
350
741
706
35
57
431
298
135
802
87
510
329
659
575
43
682
796
458
663
786
470
968
693
972
538
774
23
552
143
390
702
617
91
854
260
416
764
526
727
602
193
735
486
376
927
444
474
463
895
528
156
841
902
677
541
60
510
576
18
807
687
898
670
126
208
36
712
722
939
363
705
642
998
929
146
632
106
318
252
296
691
271
132
7
624
958
783
886
469
730
104
841
159
868
604
906
120
346
572
86
725
463
483
733
509
506
223
306
901
869
365
961
923
859
672
24
318
673
736
425
215
444
946
279
621
645
212
293
518
856
653
73
849
587
592
975
888
990
588
81
55
794
115
90
107
44
770
705
884
489
995
700
707
457
773
949
64
518
839
764
324
728
557
302
568
218
292
579
305
366
962
755
807
974
405
18
579
380
135
652
50
634
231
743
510
29
606
55
814
733
96
115
224
41
368
884
862
347
706
487
921
596
430
836
862
146
892
314
945
344
994
985
688
28
220
311
501
241
562
423
408
370
762
944
320
629
319
643
626
539
785
926
835
262
286
515
412
44
705
120
698
856
840
963
572
320
976
448
210
99
672
786
207
34
54
217
330
97
233
113
36
918
571
433
235
658
357
123
186
194
518
41
611
682
72
674
462
279
901
348
476
623
305
3
793
272
540
979
489
751
554
577
918
751
176
463
729
351
737
176
914
954
820
352
586
904
165
42
427
569
756
358
1
144
63
950
581
822
298
245
609
583
579
295
233
173
846
337
733
661
866
587
61
726
67
835
590
142
181
145
598
966
377
403
331
528
691
943
975
729
522
818
394
826
647
766
625
627
611
993
683
899
240
172
896
613
257
285
988
255
991
513
380
909
138
79
782
867
728
2
292
745
904
98
583
66
381
547
555
357
652
156
67
5
120
832
436
957
314
87
888
465
426
258
690
274
564
710
429
961
996
816
836
542
259
212
288
89
582
113
609
139
233
257
194
334
146
756
376
892
105
909
289
973
844
694
483
894
403
661
983
153
570
908
506
445
141
472
538
510
98
456
93
600
673
614
797
29
23
98
411
661
693
678
888
716
472
683
529
685
711
629
905
553
682
984
115
429
486
527
303
776
59
402
221
620
476
956
605
439
389
241
272
626
891
249
754
521
301
89
369
246
730
437
554
159
620
981
588
589
230
850
940
262
961
107
89
701
916
357
767
970
263
143
563
148
261
907
544
133
438
546
340
367
566
808
905
415
948
434
558
633
893
664
14
421
413
111
947
97
302
483
548
871
269
542
614
223
388
546
74
41
723
655
402
322
674
693
358
834
309
380
781
970
757
809
297
913
482
21
56
991
827
327
295
520
734
23
481
54
42
258
283
635
427
604
68
368
988
148
267
264
808
723
801
569
289
65
554
280
967
209
725
158
796
397
825
278
829
272
229
120
115
974
912
387
205
259
57
598
992
984
337
586
900
873
183
421
979
198
223
416
148
807
190
275
259
873
528
373
786
619
541
579
660
402
837
189
218
788
950
388
39
406
793
270
32
366
814
358
276
358
987
261
235
384
531
409
589
750
803
594
167
860
250
559
807
222
162
398
274
480
236
581
356
800
964
64
183
871
796
214
89
342
172
44
567
744
18
291
616
373
339
112
658
560
742
214
646
757
988
432
845
765
517
332
831
745
930
805
225
619
159
687
859
720
812
324
504
391
423
957
610
440
840
800
490
888
55
842
86
398
768
264
576
607
737
649
130
587
343
410
938
802
537
770
132
762
95
885
433
478
447
401
231
430
287
536
11
292
735
927
97
373
233
946
798
256
445
4
281
296
515
234
57
991
644
364
180
141
978
531
370
698
678
469
609
190
158
554
731
517
338
506
728
634
862
511
980
683
307
397
861
927
410
570
261
941
22
270
232
916
838
225
668
315
960
901
488
347
959
237
300
73
756
755
200
57
490
393
357
297
139
699
811
265
240
560
543
760
831
411
973
581
194
175
298
845
42
643
706
862
408
835
640
33
674
834
754
115
926
115
250
18
491
318
72
434
376
783
946
534
708
829
92
859
172
586
570
222
614
811
966
833
835
333
248
848
595
440
197
569
698
900
65
81
321
817
841
19
279
64
508
338
712
33
711
628
107
42
365
753
172
649
582
782
958
326
645
636
367
289
218
122
313
453
821
578
496
960
924
444
471
272
81
73
933
684
873
442
191
700
346
733
951
385
767
600
600
882
50
865
805
877
945
208
788
392
291
324
20
581
475
356
891
79
145
714
878
832
306
677
682
493
521
141
715
929
897
438
478
921
36
552
871
746
892
668
299
919
239
433
702
121
3
524
858
164
53
477
338
115
558
780
515
145
523
422
813
499
23
809
74
487
304
380
144
876
651
713
183
537
187
132
888
730
770
940
227
455
154
541
349
739
235
163
839
299
658
917
122
887
221
267
206
307
389
829
334
559
346
404
908
181
631
816
511
84
717
737
750
720
294
568
840
492
96
166
944
580
883
393
273
759
952
253
90
369
112
529
176
749
241
309
899
625
531
880
415
98
484
121
738
974
951
946
340
347
856
848
508
89
869
534
328
778
316
43
35
282
766
894
955
653
760
10
270
3
642
43
502
84
792
330
61
839
496
861
147
613
146
209
253
930
231
546
142
35
381
528
103
160
338
676
39
539
850
403
971
619
586
779
575
901
381
644
522
54
233
60
255
820
915
149
497
34
135
123
900
115
744
509
618
704
512
181
915
400
498
666
787
551
263
821
877
990
93
441
848
265
295
257
889
101
751
593
824
770
381
105
42
531
831
136
205
581
208
525
268
550
703
812
688
303
360
832
192
432
255
73
111
759
388
908
590
169
131
564
72
656
971
330
495
300
430
295
937
161
948
200
42
234
842
634
774
325
574
374
537
278
597
16
369
931
726
942
621
994
653
931
275
674
459
102
885
94
659
126
248
585
154
208
474
230
568
565
252
323
77
453
344
202
383
89
548
820
434
957
107
252
185
110
409
791
557
593
24
324
762
331
929
800
129
803
191
268
498
30
627
154
976
501
932
446
201
415
734
79
118
204
960
915
636
214
403
231
219
755
556
95
835
13
237
665
523
661
577
627
182
235
360
329
626
731
25
695
449
334
405
126
53
934
862
979
983
229
740
258
846
307
956
397
471
778
564
933
405
649
435
912
119
672
115
104
863
709
176
512
97
110
890
48
874
527
802
591
616
429
381
568
170
484
654
360
415
135
857
721
804
275
664
91
927
377
266
858
298
398
805
648
782
611
9
580
81
731
204
88
43
435
247
334
375
720
776
544
824
112
309
756
174
901
744
780
322
983
474
299
824
559
883
489
607
711
21
229
781
744
911
596
437
848
170
665
439
631
232
73
168
544
177
383
72
393
361
447
143
362
936
778
567
849
913
553
117
938
262
284
779
750
850
268
491
760
183
633
113
3
918
112
483
494
296
37
349
414
301
347
444
657
308
818
582
527
741
984
44
25
379
467
10
726
357
710
808
955
243
757
64
837
50
324
70
344
514
140
836
839
91
486
133
389
195
706
994
162
44
139
379
716
733
591
199
832
106
154
797
638
687
847
896
304
676
295
988
651
528
606
345
204
290
776
724
558
666
980
919
609
345
944
32
74
794
927
97
528
448
107
599
420
361
445
2
456
331
821
869
445
493
507
262
975
509
695
911
342
360
669
368
532
23
806
397
280
188
114
491
124
277
829
810
407
294
634
355
608
20
978
406
330
6
108
495
0
813
768
430
775
365
170
115
889
937
449
318
711
780
725
234
577
303
987
983
638
641
123
950
592
31
818
475
67
223
160
523
532
774
762
742
64
688
915
878
448
166
56
311
595
364
269
568
438
554
378
220
29
674
272
878
168
272
841
427
729
78
704
254
817
0
361
618
229
119
976
550
99
211
804
648
753
937
489
173
854
96
99
975
336
628
55
307
935
755
901
614
798
764
543
351
188
166
29
849
398
77
939
505
512
462
339
905
113
388
634
367
669
84
533
236
860
854
300
773
866
640
38
80
4
174
252
340
128
296
116
843
373
912
61
326
701
62
320
843
553
795
193
97
636
927
54
996
700
69
650
591
568
30
218
353
88
899
49
274
304
551
131
986
217
888
747
811
596
141
237
264
889
971
573
490
449
515
307
997
123
798
784
931
912
436
241
862
191
194
630
945
435
314
717
187
814
335
639
49
362
295
289
547
285
329
58
137
804
810
189
75
106
73
860
929
346
248
830
32
839
905
156
246
183
277
790
86
288
322
608
899
603
817
133
715
55
437
781
283
930
666
571
280
678
310
239
613
669
590
763
151
39
359
547
778
426
606
900
739
18
780
116
326
712
344
636
678
664
434
493
211
272
62
950
660
6
108
857
905
872
369
454
795
943
862
238
253
217
159
828
387
751
148
913
796
286
280
957
612
34
592
537
258
338
617
947
14
638
850
480
789
83
517
209
512
515
687
217
636
586
917
222
308
458
84
157
344
189
342
664
952
457
544
644
30
818
620
299
678
780
847
438
101
316
823
339
156
980
301
690
483
284
367
392
585
476
948
114
531
501
727
179
0
560
810
572
243
737
382
436
759
879
747
657
179
954
626
740
798
310
281
110
965
693
890
675
717
395
717
546
487
305
324
873
116
586
37
42
696
767
830
197
825
207
276
900
424
278
433
415
502
312
525
481
195
278
697
232
365
981
293
400
877
976
398
954
709
755
120
884
113
263
648
636
617
240
581
131
762
25
754
845
35
116
807
650
964
335
21
149
344
128
530
145
627
786
735
750
722
252
369
764
51
58
807
633
948
316
501
932
719
565
116
765
725
576
141
112
245
184
149
244
722
780
871
461
41
537
229
476
43
188
581
890
379
192
946
447
809
76
732
686
532
139
390
930
801
943
533
356
926
440
197
822
615
293
888
128
773
748
280
665
571
86
551
506
615
901
378
527
324
515
320
883
67
750
794
958
918
330
713
352
767
217
972
674
713
4
330
246
970
434
154
773
457
387
135
680
835
488
294
934
386
295
503
833
146
952
700
718
893
95
725
310
921
780
825
970
258
31
569
445
706
38
558
755
910
273
53
535
21
568
897
617
148
317
673
892
545
317
23
829
40
728
460
608
487
310
282
178
272
646
14
588
347
415
675
869
196
480
594
549
588
169
90
591
907
605
955
472
662
868
281
233
26
316
1
498
391
260
18
639
944
573
823
551
728
960
610
461
256
885
753
197
458
480
515
358
505
344
808
362
739
677
259
332
259
688
551
661
758
876
240
177
74
810
831
296
862
112
661
555
309
55
954
954
573
918
840
224
216
305
677
812
187
271
672
818
42
86
336
683
174
274
939
529
694
391
601
469
575
245
289
432
894
25
571
887
860
727
398
464
488
655
657
48
993
497
168
589
325
768
144
607
71
836
689
727
251
733
296
673
851
163
977
879
360
694
984
268
951
802
559
512
319
237
23
739
464
108
37
725
144
156
12
535
891
302
668
571
85
970
425
247
592
259
854
509
512
215
987
714
341
606
857
646
429
330
291
937
576
610
723
967
85
491
906
158
164
75
280
810
874
928
138
722
547
422
786
219
525
479
284
572
864
545
86
153
14
525
87
684
277
769
699
596
857
78
553
532
347
392
199
401
694
696
958
79
262
550
198
152
858
618
269
956
929
907
377
382
827
72
93
858
86
492
975
361
336
526
605
740
145
642
329
880
328
748
316
822
577
14
707
502
552
425
436
493
260
882
915
30
223
827
122
870
464
321
172
10
505
534
324
762
849
748
310
978
399
114
813
719
822
491
989
842
655
510
141
911
896
684
29
574
244
118
322
699
21
753
358
400
275
405
514
32
352
697
23
689
207
677
13
770
580
826
186
500
262
478
55
498
17
877
451
831
470
682
305
530
427
683
989
652
415
980
612
697
161
470
115
823
185
966
185
686
343
134
640
910
499
654
546
809
548
187
877
754
583
501
28
329
671
97
837
180
781
3
408
672
501
322
804
197
790
385
265
889
762
942
975
938
591
275
110
863
890
737
558
394
549
130
164
661
485
34
834
914
104
328
86
973
947
429
723
716
894
310
747
979
339
827
293
170
2
793
721
681
802
709
96
615
576
712
747
64
634
551
936
423
527
427
362
703
306
646
6
634
383
885
244
122
973
362
167
408
62
849
478
339
345
765
906
18
239
442
137
272
542
759
277
969
114
712
640
871
715
409
222
854
58
673
2
235
462
313
856
369
649
318
985
197
331
870
722
998
31
858
966
919
632
982
976
387
9
249
228
868
274
952
134
14
306
229
531
440
355
557
33
990
20
742
415
345
287
427
337
570
256
699
95
656
446
422
398
905
219
306
952
330
842
849
301
783
705
874
185
662
548
635
754
792
161
434
23
21
253
940
987
526
229
640
866
466
450
234
550
91
969
943
69
779
620
558
955
172
73
745
99
180
365
649
5
870
305
197
698
81
343
925
74
855
716
805
546
88
79
172
626
70
357
846
60
664
684
638
526
206
549
781
841
660
320
679
499
501
624
633
998
267
772
925
955
857
28
855
377
267
166
39
266
309
22
190
256
377
94
421
861
527
765
976
359
694
241
145
354
143
76
180
318
890
815
469
332
390
144
224
248
580
944
11
318
120
942
618
218
622
213
109
882
546
138
529
372
881
29
413
146
561
970
0
475
287
408
106
972
618
690
329
89
831
277
531
270
929
962
267
105
693
852
76
599
977
721
389
266
429
346
354
87
338
545
320
693
453
543
869
848
879
750
917
273
746
519
75
814
459
611
22
251
848
560
736
49
510
794
834
389
152
295
280
930
881
396
489
316
149
442
857
165
45
965
674
568
859
155
671
507
385
498
5
759
434
220
357
485
483
824
422
504
191
541
625
549
625
924
382
826
620
941
856
64
422
683
252
521
151
272
294
348
240
462
782
631
901
678
769
599
130
46
90
281
143
544
171
352
235
782
690
481
171
285
495
292
708
5
681
655
61
729
965
303
380
14
384
990
167
923
589
402
917
651
146
376
269
394
403
909
946
672
475
256
453
766
930
677
480
466
122
618
50
173
920
396
844
223
131
678
365
866
437
157
773
403
163
354
391
555
41
945
833
285
868
193
115
946
510
684
894
854
491
759
433
613
871
678
289
279
278
322
340
15
485
296
299
410
332
708
917
653
700
546
978
86
114
132
456
751
524
991
265
470
352
907
680
760
191
240
643
74
39
14
345
850
649
404
741
870
954
243
846
211
388
651
166
905
848
807
899
846
180
56
479
731
70
826
227
587
572
3
749
84
166
626
331
711
29
689
75
958
221
107
585
898
176
771
957
524
773
531
300
623
982
420
544
142
343
830
232
39
198
905
589
515
985
470
925
722
491
57
49
744
774
689
668
204
142
553
761
684
569
529
914
538
801
676
442
275
316
167
589
370
270
232
994
577
134
817
99
836
121
744
218
506
919
636
853
900
366
984
264
660
758
26
826
953
762
249
346
521
941
940
687
239
786
615
634
254
587
284
501
138
679
112
370
66
226
87
934
940
679
556
988
92
791
112
757
545
473
458
390
636
116
318
53
880
75
523
902
968
970
59
939
841
86
994
646
889
339
623
704
481
66
924
918
637
243
35
499
332
266
481
840
897
309
949
446
164
498
513
529
200
308
596
975
681
432
897
900
221
661
577
263
657
750
543
20
377
747
978
521
792
524
547
592
512
810
18
482
822
797
596
310
402
929
146
5
397
669
133
724
289
552
403
672
999
105
7
783
137
849
754
589
960
105
851
351
317
482
569
762
726
822
81
741
990
764
557
761
440
571
547
49
428
469
423
173
702
811
652
785
132
903
203
113
934
882
484
704
366
65
695
186
569
427
682
398
942
949
579
856
378
696
872
452
557
972
584
509
268
825
16
832
689
411
838
868
366
260
348
769
310
724
57
829
240
325
790
103
685
984
422
266
150
427
535
161
114
809
902
432
644
470
623
356
555
265
46
986
292
8
132
332
156
224
197
795
440
673
191
808
73
277
596
731
458
577
197
170
346
428
364
663
663
297
867
659
827
976
843
528
507
738
198
683
565
210
491
190
711
961
134
13
37
8
103
380
978
839
305
275
884
350
56
251
546
622
174
895
934
663
336
273
736
761
296
897
267
782
824
350
697
28
307
151
193
414
381
737
639
270
876
975
872
60
37
365
567
295
547
789
806
628
124
922
968
263
364
470
654
63
248
894
264
436
679
679
791
506
466
146
541
364
704
398
882
242
71
399
31
141
882
249
112
109
568
864
84
987
811
376
446
709
535
974
752
769
643
558
279
822
205
998
210
598
555
23
204
664
301
341
563
379
684
936
630
832
71
148
949
614
343
607
973
613
975
501
746
432
832
242
586
722
495
356
902
192
730
348
836
53
815
389
197
59
34
301
134
784
860
593
987
925
63
290
331
631
699
657
18
275
434
135
379
877
894
739
888
866
92
476
565
23
31
472
308
770
433
415
238
18
232
896
984
128
132
162
54
854
819
631
991
245
860
274
736
194
786
424
286
640
614
502
858
405
919
803
795
838
548
887
102
469
361
953
957
593
251
592
718
439
646
24
10
523
854
220
310
781
235
692
157
791
64
373
123
562
338
83
74
103
59
670
772
878
488
953
297
742
221
323
394
693
533
520
910
931
722
781
63
597
122
726
947
265
535
5
822
367
37
247
402
220
950
429
783
320
58
335
232
677
706
346
404
297
251
620
277
372
169
390
571
516
414
572
612
376
417
307
315
708
113
33
632
130
591
703
395
37
345
775
672
226
582
525
932
193
726
244
26
807
310
822
370
417
607
352
236
689
969
934
84
43
55
15
288
729
874
185
598
499
25
68
68
270
930
193
984
323
442
174
758
480
953
199
154
767
205
289
706
240
622
431
117
706
193
880
364
690
566
736
823
134
862
141
743
712
641
698
561
775
860
940
197
198
776
130
489
337
850
660
64
228
499
712
543
802
364
900
981
568
87
222
136
370
569
128
642
166
969
616
468
18
479
754
942
915
596
823
398
267
671
529
499
527
78
334
131
502
83
952
991
610
11
211
915
550
885
721
195
332
914
423
880
538
956
668
575
91
645
781
420
221
553
798
378
17
614
796
783
926
231
813
596
898
735
586
597
771
314
289
511
750
632
588
986
9
241
574
648
365
520
141
994
953
845
495
972
63
489
970
392
63
687
557
689
699
965
722
816
754
524
713
197
943
386
83
647
741
763
167
693
683
958
61
7
938
751
220
863
54
79
153
81
822
934
394
246
835
434
684
375
18
355
509
267
37
201
36
709
882
953
341
546
683
497
619
12
895
158
799
431
755
66
391
257
357
3
185
196
573
94
495
928
867
834
607
490
287
157
58
229
383
635
400
306
56
722
843
888
220
148
60
444
667
994
236
549
228
863
769
831
72
215
42
741
520
396
663
306
596
237
127
88
164
424
862
850
248
353
469
697
746
508
153
935
647
588
113
148
798
666
290
330
307
997
496
140
197
726
95
580
24
12
105
784
227
598
535
988
976
232
344
293
520
548
482
512
860
377
411
144
708
183
960
293
21
823
582
481
237
438
252
26
435
105
406
994
144
352
425
563
150
104
414
61
151
334
980
281
476
648
309
66
803
189
278
455
653
507
134
339
828
984
30
403
715
798
566
166
913
188
774
421
148
752
384
165
554
406
209
654
208
576
436
745
883
6
650
961
229
23
906
329
463
613
865
58
635
459
555
8
459
810
334
256
51
623
967
812
435
682
270
25
45
817
847
281
471
564
143
374
727
272
166
495
599
160
293
363
273
535
608
930
66
546
578
716
584
14
628
808
864
199
734
695
204
888
785
522
922
759
289
56
767
749
351
45
622
93
233
350
264
755
883
196
994
406
955
1
325
741
693
293
2
539
800
299
4
538
432
970
717
500
163
815
804
745
487
651
814
464
80
165
152
108
438
729
995
954
499
184
706
681
702
877
437
62
471
801
207
392
949
893
168
699
909
985
870
832
533
880
686
606
38
102
442
576
455
8
405
369
717
247
299
395
247
607
494
150
742
466
654
978
823
296
440
234
138
516
20
33
320
191
822
696
184
856
325
501
298
214
912
514
803
101
420
812
47
198
696
721
402
120
492
316
308
766
579
104
851
51
188
890
120
276
62
429
887
595
678
68
756
370
215
651
923
296
637
372
109
785
642
480
63
875
485
742
481
199
135
78
254
827
904
306
563
872
881
886
284
87
349
156
69
303
426
133
812
321
530
191
370
980
698
382
998
803
493
772
27
955
692
20
135
794
580
72
239
694
54
54
370
93
208
442
610
853
724
55
128
252
763
515
657
121
158
87
990
815
890
687
2
274
353
826
10
977
439
839
264
122
405
848
506
864
781
720
462
415
257
585
27
99
169
459
864
903
465
185
62
67
149
825
708
755
510
426
356
878
466
441
827
384
202
301
144
44
638
673
156
42
602
87
341
81
216
343
288
361
532
95
458
8
523
970
331
304
620
446
402
999
597
59
879
355
170
912
741
398
968
648
264
10
22
770
458
35
431
919
256
823
506
161
443
40
555
94
171
486
897
810
373
8
349
266
99
461
442
254
519
823
402
843
892
827
415
160
655
856
607
834
388
184
933
18
463
998
811
574
43
844
763
970
766
85
452
669
388
31
177
51
808
926
738
722
221
674
613
359
877
303
941
399
88
59
707
749
757
238
495
376
169
975
930
224
539
717
292
585
20
835
860
993
816
240
135
58
955
219
879
299
736
700
831
300
56
190
882
253
688
914
824
994
274
430
131
401
260
233
560
668
891
430
831
341
670
570
969
909
263
665
599
264
94
138
449
179
859
590
867
741
868
15
149
739
598
838
782
643
722
271
893
867
570
92
702
830
996
820
257
487
810
440
706
682
642
158
561
613
272
890
254
346
415
836
17
437
538
383
238
729
49
320
698
109
140
841
76
522
828
72
112
155
415
216
26
777
679
394
518
136
366
567
486
609
151
479
728
258
501
678
672
301
799
458
490
546
652
367
846
54
621
608
865
690
504
927
443
213
260
241
658
178
536
993
883
194
839
375
50
56
764
146
46
29
891
378
604
713
564
992
663
120
863
147
405
573
22
263
630
509
409
589
803
534
562
17
295
448
604
916
701
97
66
639
693
656
586
453
91
373
262
14
744
237
152
13
802
945
278
506
863
872
749
124
767
761
171
777
585
745
626
885
151
965
750
220
38
967
69
325
486
313
287
989
278
129
994
886
722
367
842
808
107
131
108
616
212
345
17
943
888
927
561
161
970
331
905
556
583
609
890
565
214
959
658
177
333
878
563
682
743
972
728
590
819
377
281
981
833
172
44
937
691
28
602
645
155
820
226
326
642
860
730
300
141
700
284
233
6
373
77
643
757
826
322
897
960
329
699
943
145
60
279
645
301
668
814
769
547
369
285
350
363
349
79
760
325
182
310
257
128
241
448
134
365
973
88
526
454
780
19
91
25
497
860
652
602
118
508
392
83
781
578
827
252
33
694
426
403
474
221
781
709
339
762
296
52
378
457
313
779
574
428
162
903
196
108
225
814
438
50
568
580
850
947
601
309
154
564
599
326
163
517
518
322
867
354
964
973
534
463
819
47
222
336
901
318
698
312
68
511
958
778
934
907
345
159
568
868
75
22
84
704
723
543
300
818
478
677
156
352
920
267
200
526
47
115
494
427
844
435
692
975
112
332
819
436
325
698
783
147
129
499
861
548
180
136
164
164
802
849
759
730
562
531
886
857
295
423
429
856
777
225
510
730
81
651
266
497
304
997
482
980
385
990
446
277
122
314
712
743
540
598
760
872
789
339
891
146
940
117
752
283
170
328
147
265
623
512
316
626
174
71
807
207
264
975
36
51
332
840
960
503
678
280
175
808
897
81
421
844
790
162
737
114
843
640
729
402
512
7
660
118
291
249
429
712
323
369
46
67
592
26
867
81
454
458
802
499
638
573
750
690
745
407
993
152
578
401
77
494
756
148
271
22
747
277
258
584
903
254
787
541
899
924
795
924
213
927
670
76
495
476
221
764
818
294
126
169
684
68
531
894
137
362
772
573
656
117
999
695
464
31
5
553
80
425
799
952
534
948
350
394
80
409
505
464
944
999
731
357
688
336
480
146
52
433
142
241
169
633
542
85
269
147
462
442
194
990
377
677
316
638
630
616
683
192
684
597
417
750
310
547
234
240
626
350
439
164
77
318
582
421
810
451
122
840
404
576
190
724
697
249
127
24
791
830
486
238
456
254
381
848
501
320
610
191
964
137
102
165
352
954
527
714
621
800
689
243
414
499
687
547
3
865
689
964
176
103
802
555
774
550
709
983
977
910
735
285
693
406
226
926
126
227
920
838
308
721
106
60
62
739
805
637
841
161
135
725
884
947
738
994
218
497
464
603
854
715
633
854
619
732
566
795
309
256
707
518
102
550
890
780
201
297
88
852
530
319
411
593
204
373
43
298
82
455
714
597
108
472
405
308
958
299
405
435
55
417
314
278
986
923
628
175
149
218
251
90
212
76
468
59
184
768
743
141
801
149
542
877
583
317
195
647
368
861
362
587
978
163
337
772
11
908
567
469
857
655
637
912
262
156
66
576
628
678
6
747
681
848
961
826
113
750
644
853
559
233
326
822
746
666
484
957
846
801
769
353
770
799
939
902
743
725
966
322
478
318
55
866
417
266
246
330
170
777
430
549
679
615
992
233
103
235
102
37
260
393
915
274
233
924
93
967
956
999
787
125
699
179
770
127
688
369
368
942
936
913
139
849
769
933
223
764
579
778
398
248
863
7
764
638
49
452
82
544
965
662
496
542
899
23
509
163
762
629
208
931
979
208
748
697
292
130
388
351
483
922
377
924
173
420
913
684
902
842
678
588
456
384
21
122
571
646
197
928
668
535
794
634
951
327
602
66
891
690
40
209
702
524
652
116
474
849
687
726
487
476
467
510
47
869
774
834
924
408
513
713
456
619
402
473
417
712
986
507
959
381
856
108
729
601
492
628
423
570
37
712
351
488
91
535
513
827
479
354
786
677
18
279
293
559
57
470
697
318
272
662
103
473
350
48
644
218
229
427
116
374
690
851
667
586
457
646
341
740
977
87
547
111
307
455
312
845
380
72
378
864
130
858
491
323
376
365
804
488
827
202
872
189
863
360
705
299
776
391
756
749
104
343
788
587
57
920
170
602
689
704
764
360
404
890
910
877
709
866
511
574
98
5
208
218
67
28
949
653
747
897
497
936
521
442
188
473
503
972
73
831
705
820
346
593
709
328
396
424
487
462
74
232
75
525
86
834
520
871
937
378
81
913
372
288
420
896
990
851
584
770
331
679
356
802
957
555
906
838
918
298
482
939
139
330
113
516
137
411
914
717
836
362
727
722
435
458
231
972
514
870
90
65
345
95
140
959
719
349
266
701
439
530
556
195
293
190
660
381
631
269
552
619
745
975
472
37
920
817
919
54
113
804
721
193
944
177
629
280
75
222
551
966
373
264
910
194
895
899
896
999
448
381
500
946
497
626
645
841
161
837
630
404
777
278
886
531
464
639
177
600
309
879
74
456
550
890
543
931
649
647
714
553
547
246
15
5
252
574
841
582
48
525
124
602
313
247
135
769
132
989
539
20
872
767
258
79
517
418
553
531
828
789
287
648
194
893
386
742
936
835
394
376
735
800
381
311
459
181
161
709
581
453
890
912
264
501
509
427
609
24
654
258
458
901
43
285
81
31
659
760
399
518
722
785
988
932
93
435
414
340
844
441
631
629
406
11
554
457
964
8
528
976
676
63
35
3
345
434
316
283
884
424
941
11
937
120
632
277
677
291
792
6
511
984
257
371
85
201
541
25
412
356
212
110
460
270
75
790
804
261
276
66
346
166
497
726
916
569
694
269
17
510
96
909
950
605
756
610
694
928
750
281
231
324
769
50
267
846
249
544
27
296
573
308
958
566
824
294
758
84
413
419
440
865
823
308
140
277
229
267
175
296
790
728
765
380
137
294
258
706
743
504
515
197
352
415
369
337
642
126
205
697
136
638
538
528
156
593
499
928
950
223
863
288
398
544
691
322
224
61
26
643
802
545
317
181
616
573
393
290
783
634
697
458
2
436
336
285
548
798
230
105
910
772
56
851
540
196
226
810
899
698
340
574
491
205
90
372
148
389
720
521
891
321
800
431
397
205
161
784
687
607
840
127
754
160
823
896
69
926
435
102
350
495
830
552
847
857
507
551
916
275
538
360
577
66
67
540
143
781
821
977
36
156
364
835
964
184
281
961
77
430
130
795
287
907
725
266
35
594
835
617
807
352
448
472
926
278
715
393
289
960
973
437
75
799
752
86
197
559
190
353
134
589
924
244
161
292
899
408
355
396
383
987
764
460
693
138
900
397
574
376
885
897
217
378
5
548
172
355
812
460
412
349
426
263
195
590
921
66
909
717
245
508
265
849
392
153
104
516
317
245
667
882
411
750
406
330
521
367
660
704
543
398
329
396
926
472
192
9
659
346
46
500
907
381
834
893
377
687
639
903
42
506
891
820
570
265
764
980
703
47
735
967
768
879
468
644
272
850
103
585
748
247
82
187
204
362
396
119
154
877
134
543
183
178
851
427
828
537
112
355
327
482
101
828
549
258
676
304
795
305
143
551
923
462
425
446
923
739
399
543
219
669
68
267
979
169
34
246
184
248
23
219
156
918
637
180
945
185
468
372
540
165
71
380
345
420
14
523
477
896
852
561
472
782
96
526
422
377
841
770
805
778
870
19
240
111
948
247
117
907
939
699
30
544
604
7
73
565
821
486
893
103
481
417
956
783
284
778
720
477
128
554
961
287
745
791
132
759
808
655
646
711
766
52
633
69
515
222
948
579
372
949
270
49
41
484
320
642
362
501
526
784
743
189
324
145
631
422
775
129
750
258
938
287
321
477
468
199
827
65
306
370
281
788
798
843
862
8
741
152
52
702
276
30
298
583
58
442
645
217
715
688
10
966
527
457
918
423
712
582
686
276
825
523
640
105
162
889
125
596
798
831
522
775
467
435
284
525
876
977
964
186
577
401
731
26
810
306
872
45
221
307
501
682
292
895
309
152
443
984
585
829
691
522
652
334
385
140
264
36
832
738
295
283
484
4
730
909
464
695
515
293
342
470
471
762
31
120
219
122
666
983
921
926
281
67
351
505
170
508
441
117
985
496
682
510
678
889
602
696
924
93
855
308
303
249
956
454
779
106
131
140
115
444
236
785
916
12
994
356
949
794
370
304
99
812
324
40
295
904
521
808
957
845
776
70
250
494
33
115
69
242
40
936
787
270
850
11
499
99
996
934
215
806
387
995
250
722
688
523
620
768
39
297
503
210
112
512
461
511
345
570
154
977
61
512
78
617
901
422
442
40
27
751
266
214
970
934
929
0
502
305
179
141
545
656
416
999
646
513
948
118
379
934
668
850
673
119
260
581
651
46
130
439
672
886
834
935
852
54
598
672
449
238
276
597
940
390
92
573
288
927
427
742
397
306
660
951
584
102
775
496
644
907
514
536
536
139
490
254
709
349
860
220
685
332
467
13
198
537
48
496
421
837
496
963
303
323
608
176
131
544
36
52
840
738
381
601
609
849
526
563
673
457
575
255
276
109
89
171
895
260
213
230
951
409
973
123
465
613
686
76
929
630
248
190
782
692
128
242
206
696
335
935
361
139
437
979
162
36
357
827
587
885
98
338
519
530
104
203
245
124
71
625
7
486
322
590
832
929
259
777
302
119
798
593
964
948
975
30
984
644
824
901
931
923
787
941
382
116
358
39
286
273
559
48
90
78
599
1
425
299
292
436
281
170
232
246
497
258
823
600
262
347
473
260
580
486
473
295
373
478
811
487
742
648
258
692
89
630
134
137
698
289
749
806
138
731
270
793
617
270
328
982
185
704
552
144
290
117
760
954
0
890
988
462
818
67
754
87
756
217
353
567
130
23
873
303
688
12
340
845
591
728
605
49
793
895
706
699
983
606
476
211
747
235
952
899
850
174
911
134
315
359
835
186
855
220
431
985
382
4
26
867
543
223
363
765
416
79
352
728
54
197
160
83
75
790
654
612
13
613
101
977
278
243
884
411
407
820
999
275
272
863
836
960
660
79
835
771
962
408
476
656
918
19
310
620
507
992
880
540
830
661
597
604
282
67
362
809
383
444
30
250
17
229
140
145
356
21
385
588
235
202
528
838
599
905
911
671
299
625
179
338
385
426
765
334
181
593
425
200
565
415
941
155
152
379
762
390
272
982
773
419
1
873
180
87
918
531
889
246
461
319
298
9
894
671
378
484
556
757
658
538
185
272
939
309
344
875
999
484
570
75
706
17
788
265
993
567
546
914
36
124
615
318
930
602
678
504
5
369
218
517
972
274
208
258
834
954
198
778
522
626
666
171
759
889
974
498
511
123
203
451
385
986
696
923
323
475
101
677
431
135
805
855
122
318
214
228
912
184
344
468
974
756
806
110
525
903
631
206
202
838
605
42
49
150
525
72
751
329
536
885
490
666
28
569
488
428
371
631
710
327
147
114
639
783
951
343
80
991
386
970
924
610
276
741
665
507
88
958
700
435
843
429
253
561
861
592
127
668
985
787
944
938
499
559
713
251
262
973
356
717
227
985
960
807
917
162
536
662
166
379
666
863
91
549
320
777
959
658
837
823
711
485
590
529
250
811
738
957
789
2
487
687
929
860
678
901
444
99
284
591
803
89
215
539
56
169
180
21
577
858
16
287
848
475
905
798
745
975
385
924
539
958
539
609
450
456
437
46
921
582
556
883
228
25
969
265
746
208
958
384
119
915
577
418
522
1
324
853
455
671
100
70
860
353
70
792
832
285
748
731
708
36
867
495
80
514
274
977
879
782
926
812
756
656
830
258
148
93
499
572
777
278
929
56
871
490
498
540
277
673
550
698
966
847
462
701
863
412
712
177
812
114
701
373
344
379
926
125
78
786
316
650
812
223
927
607
542
316
203
525
83
139
865
974
63
727
999
978
833
88
146
69
145
693
798
336
166
594
48
209
620
274
299
978
577
227
892
141
498
620
582
486
603
48
638
500
94
500
578
63
149
836
28
942
753
648
345
820
778
741
992
6
392
684
673
526
146
468
594
443
98
661
593
709
876
504
893
261
188
166
601
25
281
79
844
312
934
487
847
510
990
600
997
940
455
835
142
496
337
936
998
917
145
645
658
881
986
607
711
565
115
570
134
751
190
512
724
84
289
377
500
640
994
71
948
15
610
609
354
357
31
528
623
91
296
373
93
747
581
920
951
428
244
537
760
357
621
812
20
803
184
558
126
548
866
826
828
973
610
544
518
446
927
443
813
684
927
888
946
866
60
627
705
747
146
980
462
916
849
0
401
854
80
562
400
8
625
598
324
419
123
29
721
788
850
106
197
497
942
927
74
870
325
979
78
429
763
883
574
81
563
824
852
826
498
211
927
347
881
127
930
0
412
281
19
744
124
125
515
92
589
670
325
94
827
85
827
186
225
787
252
875
742
89
656
302
394
165
56
630
403
806
609
463
368
699
686
306
755
163
586
860
507
788
858
534
77
83
460
134
952
383
179
940
798
881
543
880
46
748
63
116
807
645
534
504
707
128
0
42
525
272
6
350
138
59
127
789
507
550
299
372
182
458
411
623
499
568
25
163
37
562
627
227
452
234
336
386
906
404
233
85
209
52
480
751
411
433
281
214
676
599
840
22
123
315
676
479
474
308
497
331
101
948
45
45
975
446
997
272
635
746
200
478
251
962
30
937
750
991
247
304
799
170
40
24
410
947
55
297
345
41
226
749
689
299
51
388
573
344
298
781
517
685
118
696
126
297
923
909
994
402
502
281
357
50
771
151
206
672
734
494
25
840
696
377
448
193
569
168
84
231
978
34
668
446
980
8
49
651
118
169
802
974
106
193
527
624
12
687
348
802
701
970
287
32
965
575
598
32
751
64
346
991
840
426
837
229
948
162
532
539
428
944
782
247
691
498
539
201
264
782
968
103
759
191
960
572
373
77
786
651
39
548
78
39
544
171
403
357
362
58
647
877
442
336
788
928
483
773
898
341
857
35
986
703
113
111
213
27
530
426
123
431
952
263
716
536
398
222
679
60
265
234
382
192
82
967
70
698
314
36
754
510
398
713
334
399
723
722
57
224
578
58
290
50
25
544
917
451
349
863
23
118
531
703
304
81
914
677
732
483
558
797
399
13
34
366
28
544
861
900
872
165
994
263
439
849
180
787
303
81
87
324
600
104
986
406
640
66
654
524
204
502
405
771
768
572
320
786
980
454
872
518
434
188
450
194
456
962
673
607
780
983
114
913
789
908
61
946
838
812
774
228
659
577
345
823
882
887
270
17
890
206
43
468
61
444
849
97
842
16
265
570
255
560
424
707
653
113
654
979
523
514
819
9
94
809
556
265
617
501
546
807
653
777
428
425
735
781
44
586
246
573
578
845
520
239
855
143
403
98
810
321
148
271
748
836
626
443
432
653
206
177
216
630
620
508
819
737
593
808
545
82
615
617
601
75
645
626
351
644
982
474
263
923
437
888
637
194
265
938
884
931
502
623
445
701
687
918
144
406
515
694
202
730
925
846
372
118
473
62
276
855
93
580
488
637
768
818
449
962
993
634
931
473
472
331
981
52
423
7
232
166
156
383
33
315
49
281
966
112
141
878
973
516
86
613
165
199
978
712
970
357
745
679
367
177
118
301
202
221
14
278
156
107
695
697
442
665
294
84
770
196
620
506
729
630
932
366
470
50
597
11
276
414
189
958
847
277
447
555
0
575
5
107
251
727
175
484
673
623
604
286
693
774
654
282
282
226
579
73
616
666
353
637
113
404
279
482
31
432
980
869
492
694
965
248
214
154
772
326
434
119
903
218
517
26
722
58
210
325
620
989
310
354
171
447
412
530
597
427
668
533
17
545
44
274
912
418
965
862
434
330
379
154
861
251
31
120
332
286
406
702
581
495
331
868
359
882
419
290
245
716
838
850
200
422
624
847
528
454
483
392
764
426
510
906
56
848
699
32
749
543
460
429
977
44
498
328
394
276
108
857
581
42
442
21
229
265
846
837
985
622
396
790
204
500
735
611
462
237
972
985
970
219
585
99
150
86
635
192
352
970
551
510
284
102
89
631
274
926
897
678
595
467
59
696
456
624
706
808
890
970
691
539
817
273
740
423
98
905
945
421
550
957
781
389
518
355
531
444
321
567
470
882
21
389
94
791
173
452
428
896
875
214
935
367
644
979
158
78
883
409
175
479
859
303
453
660
547
887
84
312
526
247
88
809
650
802
302
319
331
821
1
783
207
200
745
603
873
860
125
386
934
210
292
602
951
448
583
540
821
700
615
219
854
318
255
586
850
354
209
862
7
66
361
965
318
838
91
367
977
789
244
299
702
374
389
908
428
937
513
423
969
415
756
526
412
835
799
501
297
845
755
598
709
309
449
265
245
307
413
305
619
720
748
950
272
598
207
442
307
134
696
857
399
724
296
73
19
727
56
356
574
200
315
137
127
545
194
415
646
983
3
268
295
393
965
728
891
499
807
398
356
566
845
992
626
305
617
897
582
605
156
134
349
43
374
488
752
796
979
100
916
387
986
416
670
269
732
914
305
695
817
113
364
431
595
662
734
658
722
325
34
775
856
337
304
88
626
659
217
947
174
520
494
401
308
848
361
659
946
147
986
9
358
253
979
308
16
64
327
454
503
56
77
342
780
353
629
344
966
748
962
673
141
688
275
827
356
692
361
137
698
910
459
988
827
974
685
448
21
385
307
236
352
156
351
788
95
833
844
119
21
295
701
966
345
415
410
939
752
642
717
645
480
146
449
854
458
682
435
912
538
689
547
933
680
609
795
689
800
316
462
258
332
829
394
732
447
633
960
69
361
457
181
249
424
538
290
883
474
688
227
802
690
350
409
170
207
434
393
702
970
367
486
660
217
943
938
427
101
60
225
867
207
246
333
252
892
415
53
609
706
685
657
701
540
449
977
966
231
303
496
882
32
8
319
146
447
728
714
968
10
520
30
493
386
202
711
683
776
505
105
400
788
534
255
163
700
382
557
6
434
673
326
633
102
914
632
970
720
577
679
663
371
547
473
70
721
975
875
205
313
941
764
938
636
809
657
102
841
750
851
608
606
543
202
227
585
472
443
624
348
828
219
83
806
774
341
0
675
168
88
635
368
562
555
403
889
912
311
638
256
422
268
9
385
21
718
606
14
508
533
388
372
586
210
778
830
323
579
327
92
192
652
498
19
64
725
670
564
711
704
783
710
354
111
635
133
407
861
363
786
299
402
476
157
680
483
25
908
583
797
134
155
527
861
790
410
222
939
977
91
295
616
928
439
512
389
877
743
8
6
781
301
864
846
768
647
383
25
132
355
377
808
876
671
488
275
800
412
460
286
165
271
304
723
242
5
226
108
489
33
855
864
294
828
770
667
275
945
210
550
984
800
746
456
312
679
283
249
184
953
278
844
204
622
186
361
254
12
549
141
852
411
151
827
562
458
710
575
128
95
574
933
942
777
479
825
882
355
261
970
52
432
62
210
452
463
308
90
216
326
594
310
572
754
599
36
628
509
133
673
908
786
377
805
357
508
723
926
671
490
944
228
863
786
866
485
673
930
152
326
466
676
711
293
681
520
75
312
550
377
763
651
318
508
873
411
790
221
235
499
748
308
727
765
849
756
773
743
467
511
331
455
615
374
844
847
792
551
600
166
606
751
948
59
325
413
264
871
862
661
731
811
563
777
911
870
663
255
589
530
804
278
638
475
352
82
690
330
623
767
590
495
361
325
27
574
593
965
520
899
265
823
114
781
587
242
30
479
751
989
859
845
606
137
101
345
585
637
363
106
368
869
821
600
545
225
737
906
74
694
556
670
962
62
753
573
994
729
500
457
595
409
648
928
168
233
743
361
393
415
952
925
962
331
588
148
482
122
894
548
375
459
382
821
485
38
328
941
170
239
389
7
182
706
580
526
212
576
35
726
496
160
426
806
812
710
14
649
349
88
88
202
582
914
658
433
551
289
833
783
640
136
218
430
511
682
91
898
422
535
539
58
93
992
803
642
608
444
498
958
144
362
67
825
260
191
756
904
532
372
985
551
958
787
896
96
858
857
873
916
977
351
955
560
610
693
354
392
799
527
596
997
898
615
620
588
990
399
203
646
353
102
611
584
597
739
561
27
585
373
865
168
312
617
863
246
163
661
479
646
5
225
223
751
258
584
793
593
951
267
417
540
666
463
688
610
811
40
108
665
734
980
922
47
208
208
174
337
836
92
286
119
651
89
811
79
412
130
859
406
946
118
834
776
174
448
603
560
446
482
621
426
56
848
273
542
133
836
273
106
883
800
135
314
610
432
278
324
977
188
249
89
707
478
565
458
682
633
817
182
970
522
557
799
219
135
994
316
18
646
544
953
195
880
913
102
17
461
841
167
496
392
809
536
836
571
730
381
606
862
369
119
267
465
840
601
69
787
470
795
312
593
677
535
700
745
300
275
264
688
797
56
283
76
539
350
809
995
723
565
128
439
614
98
860
585
242
858
603
982
233
465
237
781
528
373
883
478
302
280
711
917
561
959
819
463
842
485
253
976
679
176
258
20
914
677
195
764
610
985
511
631
658
843
898
541
569
288
320
689
190
851
551
534
254
228
211
950
809
206
613
263
874
578
231
136
329
131
608
630
783
66
214
325
967
929
852
633
675
267
384
775
440
790
367
511
12
329
176
484
674
762
938
143
236
338
458
751
723
38
481
838
257
985
610
457
594
239
476
378
377
29
142
658
416
71
855
183
379
705
506
812
558
638
444
574
917
958
605
125
256
603
721
757
199
292
999
432
663
519
989
24
421
884
795
312
441
398
414
899
314
52
480
281
17
791
285
66
152
6
423
219
492
447
945
253
882
852
781
198
666
402
342
717
683
825
326
235
344
471
733
92
694
294
979
586
986
829
969
686
656
739
63
704
537
768
9
819
687
14
184
765
995
723
64
283
626
14
102
521
331
657
204
108
263
934
924
762
694
243
788
796
651
994
760
470
433
880
456
518
735
905
821
583
212
652
79
378
168
335
48
667
306
24
608
609
167
542
340
91
44
496
370
292
4
123
211
890
882
496
640
497
171
227
683
653
336
464
75
380
953
335
134
335
464
570
173
257
866
663
250
87
827
732
819
37
703
750
998
78
348
886
207
112
13
541
753
437
845
720
269
537
440
277
153
26
530
223
728
240
179
994
96
896
575
234
123
141
249
985
980
952
665
864
845
62
913
155
514
778
810
394
337
60
98
15
141
83
732
64
299
972
892
601
679
120
931
385
426
327
34
945
578
696
858
153
394
244
358
825
38
499
103
934
555
53
895
411
961
999
391
607
153
960
210
909
952
69
223
411
699
730
452
664
401
497
190
1
123
425
296
492
885
918
222
829
936
67
292
850
857
302
223
912
696
782
945
509
4
694
700
59
565
845
309
542
415
530
700
96
678
282
252
592
474
772
457
631
434
989
96
274
54
367
52
891
625
416
691
298
749
870
976
216
874
631
647
56
854
879
68
612
171
571
885
113
531
630
756
907
238
116
343
433
263
200
266
63
188
831
32
569
124
642
704
440
124
817
415
133
202
718
152
619
224
710
421
394
9
793
427
828
263
959
231
541
307
519
659
583
888
922
757
304
275
661
741
17
595
266
156
296
183
352
417
903
837
957
163
889
508
562
137
43
374
954
971
544
502
369
389
463
58
370
822
986
756
578
235
571
379
79
223
601
510
367
951
286
75
621
975
93
731
852
620
294
388
52
461
696
763
213
846
621
154
640
396
863
506
261
490
735
565
623
858
244
486
36
185
93
909
120
774
388
61
632
499
94
199
343
861
654
203
471
983
696
770
530
612
658
592
92
999
42
691
426
744
204
68
118
26
798
405
307
896
122
560
620
623
136
59
927
537
513
923
65
370
77
890
468
358
245
648
4
566
516
804
345
610
914
18
207
868
222
749
655
485
251
978
756
814
932
952
590
538
917
559
866
18
700
287
374
516
680
486
963
786
746
112
338
751
52
839
274
284
2
30
445
719
76
630
715
282
901
538
411
597
198
393
598
350
437
511
633
502
75
240
38
858
649
718
947
192
35
731
780
781
538
26
792
106
964
44
467
924
774
671
484
925
742
666
634
103
497
200
124
224
692
591
442
605
258
114
62
281
803
15
957
633
631
262
730
9
370
838
200
309
833
471
248
393
85
272
817
728
171
399
302
642
285
784
61
599
410
653
229
794
897
219
231
223
12
16
342
794
431
574
560
24
956
656
136
740
806
404
978
35
736
583
407
919
416
748
619
578
777
96
181
763
608
389
83
994
84
840
319
70
497
273
608
520
972
758
285
79
181
740
345
464
37
470
169
10
12
284
223
210
535
451
607
575
493
56
888
399
320
72
462
717
420
505
443
106
529
568
763
487
621
88
498
364
11
418
391
854
313
130
453
613
800
752
272
29
99
525
24
975
692
684
428
814
730
508
340
856
123
191
675
575
312
723
875
152
356
704
511
231
116
834
302
423
110
572
779
605
909
6
379
431
583
589
188
131
390
495
181
748
965
803
723
687
984
767
438
18
243
111
24
993
657
40
137
858
124
516
147
584
530
349
0
383
578
850
220
264
487
741
310
490
620
837
441
221
478
244
307
843
748
135
905
318
330
750
726
697
634
413
929
81
352
906
402
331
340
573
503
924
806
333
487
500
23
163
409
801
15
820
826
351
883
646
11
657
898
779
672
346
562
177
953
830
720
774
842
763
874
616
438
851
981
898
122
700
716
853
493
344
22
545
440
622
807
326
570
776
581
25
811
883
757
709
661
525
828
277
985
632
30
613
940
867
290
714
18
357
295
697
280
356
81
858
173
307
916
483
304
618
137
149
707
325
69
697
469
71
206
820
494
567
672
244
228
159
982
657
331
1
217
425
135
753
798
202
568
965
556
96
568
641
811
468
579
679
220
864
628
126
983
264
51
631
46
986
520
795
367
96
473
486
96
582
662
491
35
347
983
676
210
497
532
40
311
180
966
365
632
98
973
540
16
799
78
580
698
423
312
165
185
253
52
252
414
332
149
27
664
509
603
75
377
426
184
999
996
273
785
558
803
93
84
934
737
919
254
210
12
586
593
582
259
856
788
211
488
848
240
767
763
950
938
121
422
423
958
954
14
148
491
261
178
615
713
731
108
466
779
241
181
383
805
471
272
441
143
325
479
297
944
46
95
41
759
674
723
760
49
566
193
657
179
264
354
540
406
331
897
951
213
296
358
788
14
111
63
538
814
111
191
249
748
60
135
661
878
349
91
794
496
165
59
112
146
748
591
849
748
410
56
59
160
581
65
149
511
293
101
95
820
319
406
274
537
722
801
740
392
312
679
34
885
849
302
124
276
100
372
538
717
710
574
143
130
15
152
244
212
372
82
357
265
732
997
742
991
653
96
86
860
850
115
823
164
595
997
24
641
38
135
293
32
590
257
359
641
26
711
482
856
255
538
157
340
911
79
48
379
319
975
443
469
331
617
124
28
558
485
905
197
292
111
263
315
969
833
692
929
709
551
966
656
434
776
97
661
268
279
776
478
803
157
840
211
908
946
110
853
35
86
758
930
637
173
810
405
21
74
803
629
227
221
333
863
874
557
12
460
614
836
460
842
58
396
720
514
692
870
25
666
305
558
839
102
45
844
989
303
265
737
994
561
730
466
358
453
67
618
182
400
65
649
118
393
790
975
173
933
676
990
370
503
483
50
182
792
222
737
664
459
51
209
399
642
914
854
523
737
841
125
332
247
938
544
76
410
533
900
380
426
823
199
218
969
998
427
488
919
567
813
711
80
494
760
156
300
817
379
627
110
257
820
697
815
247
510
540
118
100
220
703
498
979
617
172
811
816
539
556
39
437
612
872
186
987
588
528
717
185
20
255
845
903
532
70
978
977
909
889
25
781
663
128
749
334
509
561
580
69
877
507
232
160
738
590
857
546
469
511
423
542
827
190
900
338
222
580
316
974
421
96
334
845
392
485
697
695
823
953
281
25
830
722
251
792
482
469
755
546
32
213
973
515
525
252
645
886
841
97
285
715
171
765
689
0
247
629
431
295
340
199
95
715
588
642
373
502
956
24
659
991
879
563
484
752
578
592
314
412
38
684
671
140
18
67
201
638
835
310
160
762
241
381
919
290
714
565
892
116
983
413
543
276
503
386
15
172
453
589
710
772
109
15
850
148
879
489
547
340
947
449
549
286
102
900
696
767
918
318
487
221
515
973
408
166
573
105
853
188
197
843
765
250
609
619
97
932
73
268
380
461
374
244
282
703
629
813
520
685
372
86
80
112
550
122
369
355
945
73
782
317
597
4
681
713
554
444
993
191
364
523
571
736
473
68
736
85
968
153
824
569
340
99
30
277
381
192
379
499
725
50
613
780
558
616
310
381
252
235
751
567
910
154
474
245
56
988
140
996
20
77
657
204
91
547
891
406
708
346
945
865
936
637
97
180
588
434
502
475
55
341
110
773
771
689
823
514
634
844
851
371
301
333
814
558
336
73
213
487
261
711
592
671
482
732
250
190
379
247
14
996
362
238
989
311
728
871
233
463
590
17
911
900
52
532
538
910
394
174
709
919
823
314
141
322
841
320
422
962
902
189
157
369
508
215
964
221
867
961
841
807
186
893
589
667
549
851
836
608
277
538
853
699
743
56
981
492
575
824
462
618
239
467
619
308
160
435
105
284
781
889
514
174
509
235
295
495
747
152
282
559
309
340
409
178
479
821
119
995
394
300
926
375
171
2
945
601
867
890
77
908
997
773
461
359
272
206
919
857
176
956
882
781
163
340
661
94
0
130
933
230
856
201
696
403
175
710
53
683
189
409
533
994
594
520
979
571
941
816
508
726
809
320
762
222
285
350
818
578
484
488
166
957
196
719
41
902
82
296
483
930
391
406
206
261
795
385
974
169
864
888
376
813
97
692
474
14
222
371
999
800
925
458
163
541
158
671
220
910
650
373
225
629
822
672
565
748
603
47
82
989
699
613
37
93
765
71
252
625
642
799
412
233
808
267
136
880
544
886
484
401
629
178
575
282
112
908
315
375
462
339
945
859
196
711
460
525
637
669
325
506
803
516
384
619
673
706
710
407
824
860
458
593
337
185
195
148
483
461
761
44
374
820
370
185
937
17
141
50
892
65
63
306
969
568
723
331
24
159
942
748
95
233
472
659
724
440
434
560
812
733
210
615
722
255
133
609
668
42
886
764
908
121
476
55
39
878
752
868
476
739
114
871
591
184
156
951
890
295
798
330
995
566
830
452
315
919
934
274
231
238
261
698
993
909
238
119
852
119
615
704
640
870
494
131
936
450
912
658
780
86
558
796
729
656
3
944
287
756
750
564
88
966
149
737
736
128
892
716
658
696
625
762
828
500
867
912
149
73
290
434
167
970
642
312
860
227
56
393
23
868
892
254
437
997
443
473
830
463
21
980
842
467
342
631
510
944
817
575
209
47
981
448
233
365
739
464
566
160
644
123
771
952
310
970
976
889
388
387
273
916
141
701
187
543
423
607
820
250
313
286
984
662
657
579
237
150
786
910
16
623
250
929
673
910
13
844
355
499
214
699
48
153
741
529
978
612
394
493
212
326
801
587
752
280
661
217
703
409
540
330
966
466
692
279
472
80
707
646
972
153
111
773
197
74
656
847
782
195
897
309
996
666
90
658
287
514
192
296
542
241
160
411
21
816
901
92
282
661
496
801
318
909
500
969
643
310
227
877
588
61
24
925
509
26
471
401
213
824
647
728
406
917
479
622
648
924
134
74
949
315
276
282
364
254
881
510
534
178
259
362
120
434
616
385
835
610
504
33
312
511
291
878
575
691
24
523
450
191
920
623
786
601
507
228
219
787
989
409
217
131
616
488
314
101
824
596
732
840
940
953
426
267
316
361
38
96
89
962
48
302
654
24
85
566
199
712
946
936
354
356
948
15
183
132
457
566
647
58
337
465
780
238
537
766
749
91
384
23
287
480
268
688
600
828
600
823
270
238
166
245
202
831
244
878
250
205
832
379
712
815
353
957
648
24
509
669
102
892
741
989
541
381
69
480
797
691
148
822
941
88
904
158
598
776
95
469
227
999
149
904
730
26
821
627
618
2
0
171
150
940
784
248
832
815
597
615
745
881
517
964
831
371
106
772
299
266
422
704
350
760
264
779
627
546
493
700
59
459
670
199
759
289
690
107
675
462
556
405
397
331
898
799
441
831
545
271
557
311
792
967
584
743
225
685
530
148
741
981
750
660
36
657
332
936
710
222
335
502
790
576
809
18
785
218
224
138
557
871
131
327
842
372
444
656
987
58
830
51
176
513
723
870
186
893
460
407
949
937
339
524
631
582
853
372
237
315
13
476
394
553
579
441
672
76
900
285
787
57
263
555
18
681
423
211
491
969
717
106
337
959
101
956
981
433
353
585
373
446
724
925
110
756
712
330
708
84
702
301
257
326
290
247
340
506
871
853
536
247
554
662
799
913
749
184
884
599
794
985
306
360
2
215
940
486
599
687
800
5
562
67
155
652
349
765
266
484
161
522
848
461
868
512
362
668
249
608
133
909
391
915
348
644
161
607
837
619
807
914
143
336
374
132
450
83
715
762
731
769
278
276
695
757
445
836
993
69
976
481
272
392
510
518
60
823
837
70
689
929
61
402
682
111
848
492
401
297
288
805
370
281
458
130
158
496
589
986
842
351
683
63
105
530
577
254
296
234
766
52
95
471
173
148
949
244
759
102
837
679
610
802
733
230
473
854
552
188
445
580
432
363
714
514
13
948
21
33
548
841
252
525
407
986
370
555
367
370
26
83
615
139
681
519
544
650
363
0
788
264
698
247
298
17
637
364
858
709
377
559
466
959
987
539
971
803
505
152
859
720
717
97
938
475
809
718
623
291
407
488
526
970
921
457
76
931
668
567
702
828
131
658
514
398
202
343
841
382
888
149
208
512
131
848
904
965
507
677
479
816
174
701
19
797
603
726
406
803
261
129
506
621
766
74
345
190
41
113
471
223
847
953
287
199
745
96
829
821
309
882
184
982
561
426
198
102
327
841
20
142
419
561
988
953
832
311
572
319
913
200
484
446
178
397
628
697
918
145
60
314
955
244
746
630
584
475
440
764
706
794
699
538
915
680
42
578
5
632
265
278
946
945
567
809
58
880
495
584
404
77
995
395
987
913
872
354
701
354
745
137
138
611
713
595
333
790
547
632
98
436
910
543
48
114
123
859
666
908
885
880
555
799
111
392
561
133
714
248
921
671
658
236
959
362
398
437
695
584
365
966
106
753
226
479
298
527
643
27
243
53
333
204
293
501
454
658
142
218
894
502
434
43
409
247
692
367
245
663
488
631
709
496
56
949
442
471
513
198
795
166
441
897
693
252
392
832
946
791
737
573
34
617
174
523
286
701
28
323
450
311
501
529
308
862
144
550
596
426
98
697
751
611
98
519
55
828
981
446
912
607
167
303
357
43
55
796
322
424
455
342
127
919
539
644
594
584
486
576
918
632
95
505
560
623
522
896
624
57
216
75
733
857
15
967
625
67
531
786
789
35
349
511
669
625
109
176
83
357
405
357
614
150
687
621
53
732
106
434
131
694
846
496
445
307
935
698
59
747
265
714
521
544
798
213
351
428
323
917
568
649
917
440
400
886
145
937
935
302
789
992
523
48
342
326
969
580
313
877
766
301
846
878
229
333
402
218
527
187
953
279
596
536
914
567
794
338
813
56
361
918
205
875
557
542
917
835
288
16
986
501
202
2
589
59
629
822
392
598
169
868
406
784
591
977
367
110
816
191
347
913
156
208
914
946
308
253
954
421
454
740
374
341
103
127
719
208
364
536
723
297
203
434
117
890
789
23
710
101
891
394
138
266
818
517
646
580
651
493
635
176
719
118
501
599
337
457
132
379
651
467
624
692
635
168
42
265
880
924
959
817
549
968
741
233
679
865
681
606
667
51
387
747
529
606
17
478
236
382
234
879
994
464
236
414
602
986
123
944
857
977
566
144
449
112
914
447
424
273
923
212
511
792
625
433
654
473
140
328
910
899
876
196
505
548
730
311
668
762
469
211
629
177
751
836
208
286
819
235
193
696
734
578
56
880
536
871
198
825
547
43
100
327
298
241
323
974
939
504
691
390
279
952
618
53
639
350
334
855
490
757
48
659
393
169
186
535
701
232
839
732
263
306
544
84
347
501
336
247
994
864
198
165
758
822
958
885
252
137
202
370
444
873
173
194
933
377
945
993
258
572
38
369
135
282
945
434
559
759
573
99
229
217
431
205
589
48
335
385
699
428
189
453
0
871
381
539
309
513
157
641
275
348
140
894
777
700
516
7
603
43
577
781
831
529
383
182
801
642
173
903
477
579
352
178
227
486
901
993
61
191
745
236
690
844
841
571
264
364
767
25
778
398
624
934
992
749
238
672
811
357
357
992
219
686
700
78
852
586
75
399
329
303
478
466
90
449
472
385
763
947
768
297
947
525
44
781
299
301
374
465
79
762
933
826
961
179
264
414
837
710
198
575
293
559
770
970
432
259
631
62
353
127
934
207
826
436
825
663
636
704
598
962
988
118
58
881
242
45
115
465
346
348
673
604
245
548
936
632
370
618
878
913
421
815
804
659
884
239
616
213
772
138
230
888
270
293
441
548
179
977
537
88
42
1
797
46
399
813
370
707
829
391
867
455
367
649
999
549
692
806
48
987
307
837
790
178
905
541
963
177
199
57
158
40
744
626
885
390
321
471
542
280
180
47
949
678
970
871
537
239
57
802
94
280
912
77
911
58
57
499
470
821
820
681
616
653
286
209
678
833
524
941
10
929
733
915
590
411
923
443
260
673
603
934
290
171
500
624
532
797
43
522
727
460
907
325
147
200
451
603
164
502
842
264
544
263
595
989
920
998
14
642
381
286
382
718
719
854
828
617
335
75
732
88
746
341
227
32
655
796
763
624
701
118
21
490
277
241
892
291
124
920
624
18
29
600
674
7
122
503
106
870
394
37
881
981
69
895
939
126
842
672
942
243
90
599
694
554
604
382
857
634
189
751
50
503
345
131
227
767
656
639
300
696
117
372
664
102
945
737
913
884
542
72
833
553
690
678
837
81
85
836
883
839
782
623
773
341
384
362
699
198
126
394
159
329
712
611
282
393
283
631
167
37
285
612
551
261
995
297
24
482
733
569
920
30
344
716
979
657
16
668
299
80
853
290
757
601
61
683
750
613
957
307
602
643
171
600
603
195
985
533
311
140
840
337
978
457
208
674
181
9
138
124
390
34
183
659
636
327
614
181
58
701
411
737
412
252
443
912
597
45
247
777
928
498
884
948
330
832
758
857
980
425
644
978
38
737
712
488
962
475
621
867
700
9
274
150
905
343
106
578
645
421
15
907
340
71
303
791
519
919
796
332
929
914
570
46
967
93
80
247
983
44
863
950
923
756
860
877
140
596
660
175
507
228
376
858
607
510
807
257
595
424
703
333
443
639
624
262
464
658
985
451
690
556
118
60
154
826
607
79
809
924
944
164
123
963
980
152
659
487
625
597
898
969
197
37
474
118
813
321
845
634
339
249
537
42
863
243
353
773
604
737
948
546
701
53
928
907
901
614
451
43
90
12
584
764
544
281
651
639
841
168
902
734
877
462
569
917
951
33
832
692
496
86
169
869
60
618
369
905
842
673
497
543
580
619
460
672
555
274
456
493
750
187
665
489
228
977
258
214
374
380
240
634
282
443
665
760
170
515
769
614
32
12
931
472
970
892
353
561
884
386
668
456
116
55
185
812
730
449
645
774
442
990
681
137
607
961
341
329
579
662
818
456
645
489
982
61
732
654
354
185
207
427
773
250
60
635
119
119
874
858
214
54
168
373
526
646
555
195
559
17
461
774
495
461
631
182
274
427
455
431
9
893
681
297
657
932
553
502
148
400
9
497
448
824
85
566
259
369
405
29
241
862
300
16
695
864
116
339
438
299
636
458
537
722
637
73
22
435
87
17
276
26
701
233
662
219
685
132
405
725
156
234
171
566
68
813
230
222
353
220
181
283
958
739
844
899
827
907
899
255
328
769
716
732
266
947
689
853
960
377
756
395
754
832
372
181
923
878
25
307
54
894
825
354
264
303
995
928
489
216
971
41
701
474
760
9
161
985
90
295
745
972
839
754
478
571
946
265
926
253
989
781
470
455
272
604
82
411
420
609
238
198
960
963
99
837
53
601
192
527
143
907
893
219
304
390
983
846
124
855
656
458
299
367
927
180
219
382
35
740
421
577
709
618
276
907
485
533
417
208
791
260
663
183
604
660
423
102
681
704
505
785
495
830
816
685
218
194
662
70
774
214
465
287
818
378
775
744
481
872
806
814
155
487
139
601
879
374
646
439
420
205
481
310
105
772
655
933
344
747
405
2
582
194
963
202
373
866
53
952
275
725
182
849
81
729
557
73
919
492
130
473
116
330
6
438
549
191
779
674
41
9
210
858
484
375
675
647
148
789
86
422
843
23
358
585
831
762
562
570
175
959
272
54
465
378
146
491
379
514
543
258
904
217
915
770
194
235
653
668
318
799
868
163
590
518
279
633
160
724
663
540
160
512
927
4
528
752
598
626
187
733
84
99
296
185
434
591
81
949
173
167
901
417
23
856
389
363
514
650
754
795
726
657
799
532
723
748
138
832
92
369
159
316
172
683
138
503
102
330
247
342
632
284
93
840
323
96
333
306
737
573
248
782
661
676
385
962
698
93
337
204
954
89
427
413
531
442
790
222
255
492
544
187
872
363
558
218
610
631
614
668
261
584
344
65
180
654
688
63
951
489
147
148
651
428
62
610
175
3
885
949
620
282
369
273
149
219
794
896
470
916
145
321
329
182
975
349
735
808
458
372
832
850
874
476
717
121
723
655
422
602
604
89
740
958
622
102
803
498
482
16
604
989
288
283
408
675
633
664
916
827
116
798
271
557
496
193
878
33
90
301
290
499
899
780
807
931
999
796
15
674
393
266
720
266
404
866
467
728
416
130
745
176
262
114
390
772
359
127
671
876
180
784
198
805
747
328
885
197
490
35
625
420
699
313
303
849
450
353
385
917
262
628
748
93
114
779
201
190
947
208
709
196
233
32
532
631
941
481
547
899
406
827
676
773
138
506
579
778
835
621
713
77
297
302
318
678
186
736
567
141
616
493
660
526
615
116
803
114
148
568
565
899
722
920
931
739
260
724
671
13
689
619
284
338
221
100
238
355
231
114
911
850
537
752
732
967
452
697
452
247
632
701
757
793
514
630
275
891
438
661
675
970
556
363
18
89
888
102
159
332
631
797
474
192
59
813
167
764
824
31
335
813
170
128
229
185
622
270
623
498
292
248
457
58
811
100
222
885
25
440
495
93
620
315
585
194
863
742
855
86
168
815
836
757
482
703
301
896
609
93
90
993
281
122
595
333
590
29
262
572
542
544
350
320
282
823
635
764
895
464
242
752
296
720
454
430
429
117
83
670
833
965
732
285
308
806
534
458
158
372
173
476
737
12
811
37
361
990
813
516
945
715
240
370
867
762
212
321
291
832
408
221
302
228
220
73
942
305
716
879
688
280
8
86
683
970
434
505
56
221
483
25
250
501
17
119
695
46
334
944
163
14
471
442
657
661
95
682
35
441
224
205
574
225
526
641
986
603
943
421
561
4
171
57
604
341
516
370
52
795
271
647
251
448
301
363
725
844
74
744
913
75
793
214
610
46
644
266
184
961
737
594
808
471
257
686
652
289
686
375
68
471
601
391
726
968
573
471
518
357
19
948
259
222
234
787
333
783
406
933
436
234
34
725
177
795
675
552
907
151
446
448
311
670
3
429
680
247
685
427
275
242
367
283
793
397
834
562
344
131
271
350
249
520
332
665
987
235
701
640
133
833
618
86
82
124
984
933
605
932
997
628
125
377
508
609
345
504
60
825
3
873
342
41
908
770
287
164
148
381
612
938
961
907
95
419
887
652
346
943
742
80
34
435
958
51
202
244
829
901
539
193
238
701
309
309
96
21
34
178
57
566
732
894
177
385
570
722
830
276
405
8
503
687
659
508
647
407
237
306
577
656
285
583
500
121
713
967
89
242
543
476
758
952
294
599
310
187
762
910
911
502
893
649
402
44
864
407
982
902
418
935
591
139
22
967
339
497
63
362
911
87
124
166
710
469
116
48
818
660
687
295
605
803
673
120
815
826
397
15
339
988
498
900
909
550
63
253
699
177
370
922
262
598
309
992
478
558
676
38
447
244
841
694
623
525
967
297
977
441
452
954
201
390
160
633
284
44
686
731
705
282
770
273
86
402
655
944
51
851
732
822
346
85
647
1
292
877
593
300
144
982
634
25
232
712
685
604
998
190
334
806
582
292
114
691
252
686
159
227
190
333
239
100
176
91
868
442
73
391
496
84
118
487
745
688
966
660
393
379
571
747
244
965
221
230
375
67
539
982
384
489
910
579
222
890
862
371
559
852
400
116
649
469
122
768
82
842
100
225
980
736
857
664
483
672
713
844
127
800
700
381
774
34
323
357
95
55
301
194
88
379
936
775
167
405
106
606
547
227
145
157
5
22
297
810
687
439
384
339
724
216
167
886
323
536
99
219
17
974
598
698
168
77
970
580
419
468
899
100
517
923
64
737
227
346
599
580
890
322
546
241
274
421
836
171
842
188
581
131
276
362
88
382
582
217
688
949
886
951
609
798
871
998
527
353
269
956
106
629
41
270
609
862
246
369
602
298
113
153
29
772
635
981
640
365
118
580
460
701
917
38
485
179
662
942
800
506
320
661
98
838
557
605
266
985
295
595
177
935
67
256
132
168
330
890
299
837
232
39
202
225
437
495
683
91
430
690
402
329
344
803
603
876
167
242
526
370
854
218
958
532
653
127
379
879
798
453
81
86
226
695
871
613
514
396
135
509
111
690
371
437
661
259
253
901
824
424
404
526
668
900
463
937
227
327
757
302
547
547
386
577
86
440
84
815
456
900
568
216
478
476
214
408
711
332
205
445
325
543
590
252
806
631
78
996
335
363
460
418
394
632
799
28
986
302
585
111
962
884
977
0
366
442
887
362
268
237
972
122
891
222
982
855
60
235
443
702
88
940
63
771
537
681
657
97
41
592
190
363
418
939
452
360
581
816
453
686
404
658
139
988
162
949
986
225
596
894
96
584
381
962
828
832
837
425
123
618
685
138
828
8
644
501
305
397
168
663
29
431
695
59
489
447
985
517
226
91
509
558
789
112
978
369
353
364
390
876
353
698
435
56
424
528
766
854
917
597
185
390
749
840
41
758
107
808
677
537
51
297
473
257
904
347
47
966
820
363
843
870
240
429
784
78
16
882
973
3
984
50
406
195
379
457
874
200
606
710
192
767
996
494
649
818
313
148
169
837
187
304
236
617
459
494
92
560
831
131
780
634
790
979
385
60
298
439
325
652
833
700
624
434
561
376
925
368
880
748
550
787
450
769
810
215
910
334
827
714
967
886
82
865
165
991
193
25
29
689
379
919
306
161
541
342
780
173
393
639
542
422
371
27
732
285
473
848
149
821
485
72
587
407
301
811
659
361
316
131
160
141
736
481
974
705
450
107
923
858
783
792
872
593
269
201
968
707
542
626
431
272
999
263
340
687
823
773
59
558
731
506
954
976
912
595
223
257
127
717
910
387
754
723
272
284
135
495
598
623
64
977
645
501
757
853
899
86
74
798
529
590
463
586
179
566
902
689
149
548
753
685
307
729
898
429
450
530
751
661
559
987
5
163
941
934
102
890
514
47
546
366
445
529
38
717
587
693
384
183
909
608
831
502
910
351
951
779
187
974
837
273
238
990
326
76
990
263
267
347
429
92
257
586
810
475
866
369
33
778
303
416
586
682
356
679
323
322
932
376
935
579
534
749
880
852
804
889
697
138
670
368
150
71
308
783
419
367
405
385
462
361
209
420
738
588
369
941
863
874
526
337
255
586
483
464
874
392
441
356
515
259
691
145
829
871
968
547
231
488
422
702
711
90
931
639
22
131
652
260
490
655
671
871
615
743
709
614
840
172
60
268
862
709
383
525
581
202
928
30
427
141
674
521
196
671
98
312
729
185
970
817
490
142
847
378
817
638
81
797
175
378
885
815
146
793
498
590
648
861
581
873
960
489
738
217
228
567
433
37
468
278
449
152
632
633
256
386
408
841
939
880
696
612
137
958
632
908
805
96
540
330
707
388
770
93
612
505
901
208
436
417
885
394
357
531
394
731
429
247
252
858
694
794
510
872
866
169
370
484
367
814
415
801
654
612
879
198
922
187
410
716
925
759
951
974
439
259
661
879
782
170
599
773
676
866
206
203
528
213
212
601
814
612
133
86
677
415
257
278
934
995
962
975
93
496
695
889
48
774
444
861
77
857
689
133
882
953
408
259
23
531
813
543
502
163
92
940
385
672
839
885
948
973
512
284
31
84
815
299
804
580
93
265
187
517
145
883
454
507
961
932
0
794
241
353
147
598
712
835
552
763
452
382
763
627
615
676
345
338
416
327
752
442
699
223
767
779
199
808
309
308
616
808
466
634
694
160
32
120
221
290
862
513
492
844
640
568
966
465
635
162
110
767
13
993
914
628
459
852
222
502
685
997
333
87
3
637
607
428
239
60
275
726
692
850
637
706
765
574
263
37
169
977
294
265
797
993
193
557
261
251
854
445
603
930
960
450
706
139
130
327
37
924
625
507
547
908
10
823
647
967
884
381
341
450
701
589
907
8
892
593
793
330
15
579
738
566
765
988
134
909
578
515
550
439
425
987
316
340
205
327
791
491
394
330
286
191
877
862
419
870
963
583
362
699
275
331
386
597
708
519
387
690
380
674
140
84
352
530
46
279
238
887
505
482
126
129
379
707
708
647
799
93
451
649
190
627
453
107
883
626
920
731
569
827
668
40
666
845
900
792
297
358
824
415
617
78
424
708
599
798
566
213
886
329
175
631
311
144
328
963
527
429
324
889
699
555
363
563
957
759
741
428
237
883
532
850
664
258
469
204
564
615
357
89
790
780
987
106
811
351
410
55
328
637
784
645
622
502
444
152
695
111
736
978
518
838
901
579
948
353
519
653
309
522
450
644
424
610
364
478
263
129
394
84
171
36
791
862
276
938
883
339
464
405
142
550
433
236
564
913
321
713
646
861
153
579
18
527
627
883
841
231
114
100
666
548
249
801
407
111
9
186
276
983
614
464
353
47
214
240
749
940
357
580
583
319
727
770
45
53
660
364
451
940
309
200
547
335
324
871
620
520
544
219
882
421
829
887
889
611
873
844
204
209
832
641
100
874
587
411
228
16
445
8
536
156
510
670
553
264
666
269
488
215
871
457
322
729
597
437
866
545
125
566
360
609
534
776
965
87
946
210
202
878
765
975
518
309
10
654
870
304
378
748
139
971
526
426
933
147
562
239
892
802
349
626
503
937
872
662
501
347
662
344
156
333
938
661
939
271
257
67
794
718
581
579
676
214
409
106
884
205
574
241
272
420
293
332
537
657
853
163
856
843
871
740
538
948
891
706
742
219
730
813
547
394
326
327
266
76
438
569
621
27
627
645
94
824
174
454
65
754
465
85
62
725
525
658
846
604
296
98
698
742
448
636
589
579
866
594
132
243
959
768
829
628
953
795
308
431
756
535
705
132
916
597
501
787
233
767
723
334
550
573
451
502
674
343
818
958
132
887
428
641
330
644
965
972
180
498
606
402
550
15
866
677
346
637
677
268
648
854
242
68
443
160
799
658
178
616
975
86
964
729
17
58
686
924
250
642
716
993
826
756
322
520
555
594
977
936
124
737
882
741
619
685
305
219
442
419
448
460
695
950
599
697
163
411
333
228
647
175
963
938
825
267
806
594
652
770
451
4
861
275
664
243
435
708
903
379
953
204
782
59
40
797
331
911
719
636
832
200
819
841
223
242
992
798
394
947
501
120
871
665
911
66
663
429
224
992
657
889
109
205
954
934
35
181
312
265
343
370
963
463
770
12
291
723
241
227
615
508
43
401
951
155
639
809
813
8
727
459
560
393
306
107
986
745
744
396
817
573
158
779
868
542
37
206
580
253
312
825
630
558
453
304
351
483
61
167
78
829
86
500
699
721
444
40
149
600
145
656
696
390
696
952
447
839
35
740
911
238
525
13
159
460
620
619
514
772
28
219
41
343
747
893
461
459
363
195
877
989
825
174
405
802
985
285
443
124
971
103
902
341
955
592
704
448
445
211
919
627
737
848
659
288
517
341
325
822
853
808
329
757
799
687
813
233
39
241
283
504
139
742
964
64
718
718
465
823
914
223
999
829
975
693
53
732
219
536
29
106
760
571
816
381
85
329
797
487
656
691
29
570
710
929
978
30
919
439
189
138
888
910
349
733
17
888
133
213
142
751
783
81
101
386
841
303
282
188
375
272
399
10
850
151
709
574
59
807
552
836
99
880
698
747
958
374
503
216
788
222
195
684
316
747
659
509
363
238
142
632
501
504
380
18
657
9
446
597
600
608
273
483
455
246
861
628
964
920
309
573
598
340
283
650
38
856
207
33
881
932
245
749
807
518
284
114
172
900
621
702
93
468
897
746
152
928
687
986
894
412
411
275
631
573
930
57
869
903
750
934
78
281
116
939
251
99
522
700
503
205
351
547
764
935
892
918
89
516
83
858
715
892
674
782
838
661
627
872
509
269
706
69
559
594
263
434
962
496
948
187
749
305
839
311
628
892
980
268
494
335
390
879
28
798
933
724
467
124
189
224
472
538
650
927
78
92
875
268
435
236
268
720
154
722
699
384
575
101
131
982
696
109
451
780
723
216
704
901
663
257
416
300
519
756
872
221
8
628
771
384
286
189
429
48
818
49
69
643
658
416
920
88
238
188
485
573
13
6
818
809
821
24
768
125
359
224
950
161
185
668
742
464
931
495
827
298
705
619
684
85
480
695
59
0
791
728
990
569
286
9
196
949
717
932
819
957
623
362
745
46
706
745
684
111
166
528
721
192
986
952
154
171
69
686
559
102
414
195
526
222
949
472
562
323
845
175
249
861
679
268
126
582
86
831
174
555
598
873
667
670
757
58
809
929
129
523
15
266
712
869
923
854
288
926
39
970
301
449
834
295
682
608
553
2
446
941
721
532
937
726
753
209
493
759
244
869
977
335
217
99
446
86
966
323
771
997
20
220
957
146
296
444
521
219
631
164
573
54
904
461
332
946
893
910
860
100
8
0
126
287
468
198
68
202
687
668
402
508
863
739
774
285
309
650
971
425
809
890
927
388
330
871
519
76
582
336
660
86
784
525
673
232
159
728
680
636
115
744
832
388
840
893
752
791
366
997
285
502
508
630
838
556
848
402
602
535
686
961
402
791
678
178
510
370
254
105
539
80
953
285
831
737
152
49
97
999
689
340
174
483
664
787
814
400
753
429
92
160
50
927
720
863
659
755
243
612
163
706
171
834
35
49
745
124
633
229
983
507
39
267
5
716
9
706
809
291
994
267
805
806
18
95
116
564
191
518
479
96
314
934
506
474
356
90
128
366
852
123
718
377
262
397
39
189
973
84
561
822
44
991
576
921
26
868
157
935
313
598
236
376
932
293
389
232
889
879
266
971
912
200
129
800
869
399
905
289
397
636
785
993
317
526
83
165
82
640
104
632
